ERC-20
Stablecoin
Overview
Max Total Supply
150,000 DZAR
Holders
208 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
2.192192 DZARValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DZARToken
Compiler Version
v0.5.8+commit.23d335f2
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-11-22 */ pragma solidity 0.5.8; /* * DigitalRand.sol * DZAR token smart contract * 2019-11-22 * https://digitalrand.co.za **/ 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) { require(b <= a, "SafeMath: subtraction overflow"); 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-solidity/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) { // Solidity only automatically asserts when dividing by 0 require(b > 0, "SafeMath: division by zero"); 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) { require(b != 0, "SafeMath: modulo by zero"); return a % b; } } /** * @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]; } } contract PauserRole { using Roles for Roles.Role; event PauserAdded(address indexed account); event PauserRemoved(address indexed account); Roles.Role private _pausers; constructor () internal { _addPauser(msg.sender); } modifier onlyPauser() { require(isPauser(msg.sender), "PauserRole: caller does not have the Pauser role"); _; } function isPauser(address account) public view returns (bool) { return _pausers.has(account); } function addPauser(address account) public onlyPauser { _addPauser(account); } function renouncePauser() public { _removePauser(msg.sender); } function _addPauser(address account) internal { _pausers.add(account); emit PauserAdded(account); } function _removePauser(address account) internal { _pausers.remove(account); emit PauserRemoved(account); } } /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ contract Pausable is PauserRole { /** * @dev Emitted when the pause is triggered by a pauser (`account`). */ event Paused(address account); /** * @dev Emitted when the pause is lifted by a pauser (`account`). */ event Unpaused(address account); bool private _paused; /** * @dev Initializes the contract in unpaused state. Assigns the Pauser role * to the deployer. */ constructor () internal { _paused = false; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view returns (bool) { return _paused; } /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!_paused, "Pausable: paused"); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(_paused, "Pausable: not paused"); _; } /** * @dev Called by a pauser to pause, triggers stopped state. */ function pause() public onlyPauser whenNotPaused { _paused = true; emit Paused(msg.sender); } /** * @dev Called by a pauser to unpause, returns to normal state. */ function unpause() public onlyPauser whenPaused { _paused = false; emit Unpaused(msg.sender); } } /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be aplied to your functions to restrict their use to * the owner. */ contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner(), "Ownable: caller is not the owner"); _; } /** * @dev Returns true if the caller is the current owner. */ function isOwner() public view returns (bool) { return msg.sender == _owner; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * > Note: Renouncing ownership will leave the contract without an owner, * thereby removing any functionality that is only available to the owner. */ function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public onlyOwner { _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). */ function _transferOwnership(address newOwner) internal { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @dev Interface of the ERC20 standard as defined in the EIP. Does not include * the optional functions; to access them see `ERC20Detailed`. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through `transferFrom`. This is * zero by default. * * This value changes when `approve` or `transferFrom` are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * > Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an `Approval` event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a `Transfer` event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to `approve`. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Implementation of the `IERC20` interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using `_mint`. * For a generic mechanism see `ERC20Mintable`. * * *For a detailed writeup see our guide [How to implement supply * mechanisms](https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226).* * * We have followed general OpenZeppelin guidelines: functions revert instead * of returning `false` on failure. This behavior is nonetheless conventional * and does not conflict with the expectations of ERC20 applications. * * Additionally, an `Approval` event is emitted on calls to `transferFrom`. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. * * Finally, the non-standard `decreaseAllowance` and `increaseAllowance` * functions have been added to mitigate the well-known issues around setting * allowances. See `IERC20.approve`. */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 private _totalSupply; /** * @dev See `IERC20.totalSupply`. */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @dev See `IERC20.balanceOf`. */ function balanceOf(address account) public view returns (uint256) { return _balances[account]; } /** * @dev See `IERC20.transfer`. * * Requirements: * * - `recipient` cannot be the zero address. * - the caller must have a balance of at least `amount`. */ function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @dev See `IERC20.allowance`. */ function allowance(address owner, address spender) public view returns (uint256) { return _allowances[owner][spender]; } /** * @dev See `IERC20.approve`. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); return true; } /** * @dev See `IERC20.transferFrom`. * * Emits an `Approval` event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of `ERC20`; * * Requirements: * - `sender` and `recipient` cannot be the zero address. * - `sender` must have a balance of at least `value`. * - the caller must have allowance for `sender`'s tokens of at least * `amount`. */ function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount)); return true; } /** * @dev Atomically increases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. */ function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue)); return true; } /** * @dev Atomically decreases the allowance granted to `spender` by the caller. * * This is an alternative to `approve` that can be used as a mitigation for * problems described in `IERC20.approve`. * * Emits an `Approval` event indicating the updated allowance. * * Requirements: * * - `spender` cannot be the zero address. * - `spender` must have allowance for the caller of at least * `subtractedValue`. */ function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue)); return true; } /** * @dev Moves tokens `amount` from `sender` to `recipient`. * * This is internal function is equivalent to `transfer`, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a `Transfer` event. * * Requirements: * * - `sender` cannot be the zero address. * - `recipient` cannot be the zero address. * - `sender` must have a balance of at least `amount`. */ function _transfer(address sender, address recipient, uint256 amount) internal { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); _balances[sender] = _balances[sender].sub(amount); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); } /** @dev Creates `amount` tokens and assigns them to `account`, increasing * the total supply. * * Emits a `Transfer` event with `from` set to the zero address. * * Requirements * * - `to` cannot be the zero address. */ function _mint(address account, uint256 amount) internal { require(account != address(0), "ERC20: mint to the zero address"); _totalSupply = _totalSupply.add(amount); _balances[account] = _balances[account].add(amount); emit Transfer(address(0), account, amount); } /** * @dev Destoys `amount` tokens from `account`, reducing the * total supply. * * Emits a `Transfer` event with `to` set to the zero address. * * Requirements * * - `account` cannot be the zero address. * - `account` must have at least `amount` tokens. */ function _burn(address account, uint256 value) internal { require(account != address(0), "ERC20: burn from the zero address"); _totalSupply = _totalSupply.sub(value); _balances[account] = _balances[account].sub(value); emit Transfer(account, address(0), value); } /** * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens. * * This is internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an `Approval` event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. */ function _approve(address owner, address spender, uint256 value) internal { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = value; emit Approval(owner, spender, value); } /** * @dev Destoys `amount` tokens from `account`.`amount` is then deducted * from the caller's allowance. * * See `_burn` and `_approve`. */ function _burnFrom(address account, uint256 amount) internal { _burn(account, amount); _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount)); } } contract BlackListableToken is Ownable, ERC20 { /////// Getters to allow the same blacklist to be used also by other contracts (including upgraded Tether) /////// function getBlackListStatus(address _maker) external view returns (bool) { return isBlackListed[_maker]; } mapping (address => bool) public isBlackListed; function addBlackList(address _evilUser) public onlyOwner { require(!isBlackListed[_evilUser], "_evilUser is already in black list"); isBlackListed[_evilUser] = true; emit AddedBlackList(_evilUser); } function removeBlackList(address _clearedUser) public onlyOwner { require(isBlackListed[_clearedUser], "_clearedUser isn't in black list"); isBlackListed[_clearedUser] = false; emit RemovedBlackList(_clearedUser); } function destroyBlackFunds(address _blackListedUser) public onlyOwner { require(_blackListedUser != address(0x0), "_blackListedUser is the zero address"); require(isBlackListed[_blackListedUser], "_blackListedUser isn't in black list"); uint256 dirtyFunds = balanceOf(_blackListedUser); super._burn(_blackListedUser, dirtyFunds); emit DestroyedBlackFunds(_blackListedUser, dirtyFunds); } event DestroyedBlackFunds(address indexed _blackListedUser, uint256 _balance); event AddedBlackList(address indexed _user); event RemovedBlackList(address indexed _user); } contract UpgradedStandardToken is ERC20 { // those methods are called by the legacy contract // and they must ensure msg.sender to be the contract address function transferByLegacy(address from, address to, uint256 value) public returns (bool); function transferFromByLegacy(address sender, address from, address to, uint256 value) public returns (bool); function approveByLegacy(address owner, address spender, uint256 value) public returns (bool); function increaseAllowanceByLegacy(address owner, address spender, uint256 addedValue) public returns (bool); function decreaseAllowanceByLegacy(address owner, address spender, uint256 subtractedValue) public returns (bool); } contract DZARToken is ERC20, Pausable, BlackListableToken { string public name; string public symbol; uint8 public decimals; address public upgradedAddress; bool public deprecated; // The contract can be initialized with a number of tokens // All the tokens are deposited to the owner address // // @param _balance Initial supply of the contract // @param _name Token Name // @param _symbol Token symbol // @param _decimals Token decimals constructor(uint256 _initialSupply, string memory _name, string memory _symbol, uint8 _decimals) public { name = _name; symbol = _symbol; decimals = _decimals; deprecated = false; super._mint(msg.sender, _initialSupply); } // Forward ERC20 methods to upgraded contract if this one is deprecated function transfer(address _to, uint256 _value) public whenNotPaused returns (bool success) { require(!isBlackListed[msg.sender], "can't transfer token from address in black list"); require(!isBlackListed[_to], "can't transfer token to address in black list"); if (deprecated) { success = UpgradedStandardToken(upgradedAddress).transferByLegacy(msg.sender, _to, _value); require(success, "failed to call upgraded contract"); return true; } else { return super.transfer(_to, _value); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool success) { require(!isBlackListed[_from], "can't transfer token from address in black list"); require(!isBlackListed[_to], "can't transfer token to address in black list"); if (deprecated) { success = UpgradedStandardToken(upgradedAddress).transferFromByLegacy(msg.sender, _from, _to, _value); require(success, "failed to call upgraded contract"); return true; } else { return super.transferFrom(_from, _to, _value); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function balanceOf(address who) public view returns (uint256) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).balanceOf(who); } else { return super.balanceOf(who); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function approve(address _spender, uint256 _value) public whenNotPaused returns (bool success) { if (deprecated) { success = UpgradedStandardToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value); require(success, "failed to call upgraded contract"); return true; } else { return super.approve(_spender, _value); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function increaseAllowance(address _spender, uint256 _addedValue) public whenNotPaused returns (bool success) { if (deprecated) { success = UpgradedStandardToken(upgradedAddress).increaseAllowanceByLegacy(msg.sender, _spender, _addedValue); require(success, "failed to call upgraded contract"); return true; } else { return super.increaseAllowance(_spender, _addedValue); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function decreaseAllowance(address _spender, uint256 _subtractedValue) public whenNotPaused returns (bool success) { if (deprecated) { success = UpgradedStandardToken(upgradedAddress).decreaseAllowanceByLegacy(msg.sender, _spender, _subtractedValue); require(success, "failed to call upgraded contract"); return true; } else { return super.decreaseAllowance(_spender, _subtractedValue); } } // Forward ERC20 methods to upgraded contract if this one is deprecated function allowance(address _owner, address _spender) public view returns (uint256 remaining) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).allowance(_owner, _spender); } else { return super.allowance(_owner, _spender); } } // deprecate current contract in favour of a new one function deprecate(address _upgradedAddress) public onlyOwner { require(_upgradedAddress != address(0x0), "_upgradedAddress is a zero address"); require(!deprecated, "this contract has been deprecated"); deprecated = true; upgradedAddress = _upgradedAddress; emit Deprecate(_upgradedAddress); } function totalSupply() public view returns (uint256) { if (deprecated) { return UpgradedStandardToken(upgradedAddress).totalSupply(); } else { return super.totalSupply(); } } // Issue a new amount of tokens // these tokens are deposited into the owner address // // @param _amount Number of tokens to be issued function issue(uint256 amount) public onlyOwner whenNotPaused { require(!deprecated, "this contract has been deprecated"); super._mint(msg.sender, amount); emit Issue(amount); } // Redeem tokens. // These tokens are withdrawn from the owner address // if the balance must be enough to cover the redeem // or the call will fail. // @param _amount Number of tokens to be issued function redeem(uint256 amount) public onlyOwner whenNotPaused { require(!deprecated, "this contract has been deprecated"); super._burn(msg.sender, amount); emit Redeem(amount); } // Called when new token are issued event Issue(uint256 amount); // Called when tokens are redeemed event Redeem(uint256 amount); // Called when contract is deprecated event Deprecate(address indexed newAddress); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_upgradedAddress","type":"address"}],"name":"deprecate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deprecated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradedAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isBlackListed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_initialSupply","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_blackListedUser","type":"address"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"}]
Contract Creation Code
60806040523480156200001157600080fd5b50604051620048c9380380620048c9833981018060405260808110156200003757600080fd5b810190808051906020019092919080516401000000008111156200005a57600080fd5b828101905060208101848111156200007157600080fd5b81518560018202830111640100000000821117156200008f57600080fd5b50509291906020018051640100000000811115620000ac57600080fd5b82810190506020810184811115620000c357600080fd5b8151856001820283011164010000000082111715620000e157600080fd5b50509291906020018051906020019092919050505062000107336200026960201b60201c565b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548160ff0219169083151502179055508260079080519060200190620001f8929190620006e3565b50816008908051906020019062000211929190620006e3565b5080600960006101000a81548160ff021916908360ff1602179055506000600960156101000a81548160ff0219169083151502179055506200025f3385620002ca60201b6200321e1760201c565b5050505062000792565b620002848160006200049660201b62003dad1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200036e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6200038a816004546200057a60201b62003c681790919060201c565b600481905550620003e981600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200057a60201b62003c681790919060201c565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b620004a882826200060360201b60201c565b156200051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080828401905083811015620005f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200068c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620048a76022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200072657805160ff191683800117855562000757565b8280016001018555821562000757579182015b828111156200075657825182559160200191906001019062000739565b5b5090506200076691906200076a565b5090565b6200078f91905b808211156200078b57600081600090555060010162000771565b5090565b90565b61410580620007a26000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063a9059cbb116100a2578063e47d606011610071578063e47d606014610922578063e4997dc51461097e578063f2fde38b146109c2578063f3bdc22814610a06576101e5565b8063a9059cbb146107e8578063cc872b661461084e578063db006a751461087c578063dd62ed3e146108aa576101e5565b80638da5cb5b116100de5780638da5cb5b146106935780638f32d59b146106dd57806395d89b41146106ff578063a457c2d714610782576101e5565b806370a08231146105e3578063715018a61461063b57806382dc1ec4146106455780638456cb5914610689576101e5565b806326976e3f1161018757806346fbf68e1161015657806346fbf68e146104ff57806359bf1abe1461055b5780635c975abb146105b75780636ef8d66d146105d9576101e5565b806326976e3f14610421578063313ce5671461046b578063395093511461048f5780633f4ba83a146104f5576101e5565b80630e136b19116101c35780630e136b19146103175780630ecb93c01461033957806318160ddd1461037d57806323b872dd1461039b576101e5565b806306fdde03146101ea5780630753c30c1461026d578063095ea7b3146102b1575b600080fd5b6101f2610a4a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102af6004803603602081101561028357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae8565b005b6102fd600480360360408110156102c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf0565b604051808215151515815260200191505060405180910390f35b61031f610f33565b604051808215151515815260200191505060405180910390f35b61037b6004803603602081101561034f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f46565b005b610385611101565b6040518082815260200191505060405180910390f35b610407600480360360608110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d0565b604051808215151515815260200191505060405180910390f35b61042961158f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104736115b5565b604051808260ff1660ff16815260200191505060405180910390f35b6104db600480360360408110156104a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115c8565b604051808215151515815260200191505060405180910390f35b6104fd61180b565b005b6105416004803603602081101561051557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061196b565b604051808215151515815260200191505060405180910390f35b61059d6004803603602081101561057157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611988565b604051808215151515815260200191505060405180910390f35b6105bf6119de565b604051808215151515815260200191505060405180910390f35b6105e16119f5565b005b610625600480360360208110156105f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a00565b6040518082815260200191505060405180910390f35b610643611b09565b005b6106876004803603602081101561065b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c44565b005b610691611cae565b005b61069b611e0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106e5611e39565b604051808215151515815260200191505060405180910390f35b610707611e91565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074757808201518184015260208101905061072c565b50505050905090810190601f1680156107745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107ce6004803603604081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f2f565b604051808215151515815260200191505060405180910390f35b610834600480360360408110156107fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612172565b604051808215151515815260200191505060405180910390f35b61087a6004803603602081101561086457600080fd5b81019080803590602001909291905050506124fb565b005b6108a86004803603602081101561089257600080fd5b81019080803590602001909291905050506126a2565b005b61090c600480360360408110156108c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612849565b6040518082815260200191505060405180910390f35b6109646004803603602081101561093857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612988565b604051808215151515815260200191505060405180910390f35b6109c06004803603602081101561099457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129a8565b005b610a04600480360360208110156109d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b7f565b005b610a4860048036036020811015610a1c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c05565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae05780601f10610ab557610100808354040283529160200191610ae0565b820191906000526020600020905b815481529060010190602001808311610ac357829003601f168201915b505050505081565b610af0611e39565b610b62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613f216022913960400191505060405180910390fd5b600960159054906101000a900460ff1615610c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613eac6021913960400191505060405180910390fd5b6001600960156101000a81548160ff02191690831515021790555080600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e60405160405180910390a250565b6000600560009054906101000a900460ff1615610d75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff1615610f2057600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610e6757600080fd5b505af1158015610e7b573d6000803e3d6000fd5b505050506040513d6020811015610e9157600080fd5b8101908080519060200190929190505050905080610f17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b60019050610f2d565b610f2a8383612e10565b90505b92915050565b600960159054906101000a900460ff1681565b610f4e611e39565b610fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061402a6022913960400191505060405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc60405160405180910390a250565b6000600960159054906101000a900460ff16156111c257600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118057600080fd5b505afa158015611194573d6000803e3d6000fd5b505050506040513d60208110156111aa57600080fd5b810190808051906020019092919050505090506111cd565b6111ca612e27565b90505b90565b6000600560009054906101000a900460ff1615611255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613fce602f913960400191505060405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180613ffd602d913960400191505060405180910390fd5b600960159054906101000a900460ff161561157a57600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050602060405180830381600087803b1580156114c157600080fd5b505af11580156114d5573d6000803e3d6000fd5b505050506040513d60208110156114eb57600080fd5b8101908080519060200190929190505050905080611571576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b60019050611588565b611585848484612e31565b90505b9392505050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900460ff1681565b6000600560009054906101000a900460ff161561164d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff16156117f857600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f4584a733385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561173f57600080fd5b505af1158015611753573d6000803e3d6000fd5b505050506040513d602081101561176957600080fd5b81019080805190602001909291905050509050806117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b60019050611805565b6118028383612ee2565b90505b92915050565b6118143361196b565b611869576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613ef16030913960400191505060405180910390fd5b600560009054906101000a900460ff166118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000611981826000612f8790919063ffffffff16565b9050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600560009054906101000a900460ff16905090565b6119fe33613065565b565b6000600960159054906101000a900460ff1615611af857600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ab657600080fd5b505afa158015611aca573d6000803e3d6000fd5b505050506040513d6020811015611ae057600080fd5b81019080805190602001909291905050509050611b04565b611b01826130bf565b90505b919050565b611b11611e39565b611b83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611c4d3361196b565b611ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613ef16030913960400191505060405180910390fd5b611cab81613108565b50565b611cb73361196b565b611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613ef16030913960400191505060405180910390fd5b600560009054906101000a900460ff1615611d8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f275780601f10611efc57610100808354040283529160200191611f27565b820191906000526020600020905b815481529060010190602001808311611f0a57829003601f168201915b505050505081565b6000600560009054906101000a900460ff1615611fb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff161561215f57600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aed6cc6e3385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156120a657600080fd5b505af11580156120ba573d6000803e3d6000fd5b505050506040513d60208110156120d057600080fd5b8101908080519060200190929190505050905080612156576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b6001905061216c565b6121698383613162565b90505b92915050565b6000600560009054906101000a900460ff16156121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561229a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613fce602f913960400191505060405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180613ffd602d913960400191505060405180910390fd5b600960159054906101000a900460ff16156124e857600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561242f57600080fd5b505af1158015612443573d6000803e3d6000fd5b505050506040513d602081101561245957600080fd5b81019080805190602001909291905050509050806124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b600190506124f5565b6124f28383613207565b90505b92915050565b612503611e39565b612575576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600560009054906101000a900460ff16156125f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff161561265e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613eac6021913960400191505060405180910390fd5b612668338261321e565b7fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6126aa611e39565b61271c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600560009054906101000a900460ff161561279f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff1615612805576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613eac6021913960400191505060405180910390fd5b61280f33826133db565b7f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600960159054906101000a900460ff161561297557600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561293357600080fd5b505afa158015612947573d6000803e3d6000fd5b505050506040513d602081101561295d57600080fd5b81019080805190602001909291905050509050612982565b61297f838361357b565b90505b92915050565b60066020528060005260406000206000915054906101000a900460ff1681565b6129b0611e39565b612a22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612ae1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f636c6561726564557365722069736e277420696e20626c61636b206c69737481525060200191505060405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c60405160405180910390a250565b612b87611e39565b612bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612c0281613602565b50565b612c0d611e39565b612c7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612d05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140b66024913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613ecd6024913960400191505060405180910390fd5b6000612db282611a00565b9050612dbe82826133db565b8173ffffffffffffffffffffffffffffffffffffffff167f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6826040518082815260200191505060405180910390a25050565b6000612e1d338484613748565b6001905092915050565b6000600454905090565b6000612e3e84848461393f565b612ed78433612ed285600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b613748565b600190509392505050565b6000612f7d3384612f7885600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c6890919063ffffffff16565b613748565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561300e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fac6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b613079816000613cf090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61311c816000613dad90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60006131fd33846131f885600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b613748565b6001905092915050565b600061321433848461393f565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6132d681600454613c6890919063ffffffff16565b60048190555061332e81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c6890919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061404c6021913960400191505060405180910390fd5b61347681600454613bdf90919063ffffffff16565b6004819055506134ce81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613688576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613f436026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156137ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140926024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613854576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613f696022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156139c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061406d6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613e896023913960400191505060405180910390fd5b613a9d81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613b3281600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c6890919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115613c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015613ce6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b613cfa8282612f87565b613d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f8b6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b613db78282612f87565b15613e2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573737468697320636f6e747261637420686173206265656e20646570726563617465645f626c61636b4c6973746564557365722069736e277420696e20626c61636b206c697374506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c655f7570677261646564416464726573732069732061207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737363616e2774207472616e7366657220746f6b656e2066726f6d206164647265737320696e20626c61636b206c69737463616e2774207472616e7366657220746f6b656e20746f206164647265737320696e20626c61636b206c6973745f6576696c5573657220697320616c726561647920696e20626c61636b206c69737445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735f626c61636b4c69737465645573657220697320746865207a65726f2061646472657373a165627a7a723058201735f21b6456c2db09172339df5376af3b45874ac46fdbfd3ad080f7ef0381970029526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373000000000000000000000000000000000000000000000000000000746a528800000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4469676974616c2052616e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004445a415200000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101e55760003560e01c806370a082311161010f578063a9059cbb116100a2578063e47d606011610071578063e47d606014610922578063e4997dc51461097e578063f2fde38b146109c2578063f3bdc22814610a06576101e5565b8063a9059cbb146107e8578063cc872b661461084e578063db006a751461087c578063dd62ed3e146108aa576101e5565b80638da5cb5b116100de5780638da5cb5b146106935780638f32d59b146106dd57806395d89b41146106ff578063a457c2d714610782576101e5565b806370a08231146105e3578063715018a61461063b57806382dc1ec4146106455780638456cb5914610689576101e5565b806326976e3f1161018757806346fbf68e1161015657806346fbf68e146104ff57806359bf1abe1461055b5780635c975abb146105b75780636ef8d66d146105d9576101e5565b806326976e3f14610421578063313ce5671461046b578063395093511461048f5780633f4ba83a146104f5576101e5565b80630e136b19116101c35780630e136b19146103175780630ecb93c01461033957806318160ddd1461037d57806323b872dd1461039b576101e5565b806306fdde03146101ea5780630753c30c1461026d578063095ea7b3146102b1575b600080fd5b6101f2610a4a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102af6004803603602081101561028357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae8565b005b6102fd600480360360408110156102c757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cf0565b604051808215151515815260200191505060405180910390f35b61031f610f33565b604051808215151515815260200191505060405180910390f35b61037b6004803603602081101561034f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f46565b005b610385611101565b6040518082815260200191505060405180910390f35b610407600480360360608110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111d0565b604051808215151515815260200191505060405180910390f35b61042961158f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104736115b5565b604051808260ff1660ff16815260200191505060405180910390f35b6104db600480360360408110156104a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115c8565b604051808215151515815260200191505060405180910390f35b6104fd61180b565b005b6105416004803603602081101561051557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061196b565b604051808215151515815260200191505060405180910390f35b61059d6004803603602081101561057157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611988565b604051808215151515815260200191505060405180910390f35b6105bf6119de565b604051808215151515815260200191505060405180910390f35b6105e16119f5565b005b610625600480360360208110156105f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a00565b6040518082815260200191505060405180910390f35b610643611b09565b005b6106876004803603602081101561065b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c44565b005b610691611cae565b005b61069b611e0f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106e5611e39565b604051808215151515815260200191505060405180910390f35b610707611e91565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074757808201518184015260208101905061072c565b50505050905090810190601f1680156107745780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107ce6004803603604081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611f2f565b604051808215151515815260200191505060405180910390f35b610834600480360360408110156107fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612172565b604051808215151515815260200191505060405180910390f35b61087a6004803603602081101561086457600080fd5b81019080803590602001909291905050506124fb565b005b6108a86004803603602081101561089257600080fd5b81019080803590602001909291905050506126a2565b005b61090c600480360360408110156108c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612849565b6040518082815260200191505060405180910390f35b6109646004803603602081101561093857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612988565b604051808215151515815260200191505060405180910390f35b6109c06004803603602081101561099457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129a8565b005b610a04600480360360208110156109d857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b7f565b005b610a4860048036036020811015610a1c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c05565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae05780601f10610ab557610100808354040283529160200191610ae0565b820191906000526020600020905b815481529060010190602001808311610ac357829003601f168201915b505050505081565b610af0611e39565b610b62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613f216022913960400191505060405180910390fd5b600960159054906101000a900460ff1615610c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613eac6021913960400191505060405180910390fd5b6001600960156101000a81548160ff02191690831515021790555080600960016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e60405160405180910390a250565b6000600560009054906101000a900460ff1615610d75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff1615610f2057600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015610e6757600080fd5b505af1158015610e7b573d6000803e3d6000fd5b505050506040513d6020811015610e9157600080fd5b8101908080519060200190929190505050905080610f17576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b60019050610f2d565b610f2a8383612e10565b90505b92915050565b600960159054906101000a900460ff1681565b610f4e611e39565b610fc0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061402a6022913960400191505060405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc60405160405180910390a250565b6000600960159054906101000a900460ff16156111c257600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118057600080fd5b505afa158015611194573d6000803e3d6000fd5b505050506040513d60208110156111aa57600080fd5b810190808051906020019092919050505090506111cd565b6111ca612e27565b90505b90565b6000600560009054906101000a900460ff1615611255576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156112f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613fce602f913960400191505060405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561139b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180613ffd602d913960400191505060405180910390fd5b600960159054906101000a900460ff161561157a57600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338686866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050602060405180830381600087803b1580156114c157600080fd5b505af11580156114d5573d6000803e3d6000fd5b505050506040513d60208110156114eb57600080fd5b8101908080519060200190929190505050905080611571576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b60019050611588565b611585848484612e31565b90505b9392505050565b600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900460ff1681565b6000600560009054906101000a900460ff161561164d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff16156117f857600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f4584a733385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561173f57600080fd5b505af1158015611753573d6000803e3d6000fd5b505050506040513d602081101561176957600080fd5b81019080805190602001909291905050509050806117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b60019050611805565b6118028383612ee2565b90505b92915050565b6118143361196b565b611869576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613ef16030913960400191505060405180910390fd5b600560009054906101000a900460ff166118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5061757361626c653a206e6f742070617573656400000000000000000000000081525060200191505060405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000611981826000612f8790919063ffffffff16565b9050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600560009054906101000a900460ff16905090565b6119fe33613065565b565b6000600960159054906101000a900460ff1615611af857600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611ab657600080fd5b505afa158015611aca573d6000803e3d6000fd5b505050506040513d6020811015611ae057600080fd5b81019080805190602001909291905050509050611b04565b611b01826130bf565b90505b919050565b611b11611e39565b611b83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611c4d3361196b565b611ca2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613ef16030913960400191505060405180910390fd5b611cab81613108565b50565b611cb73361196b565b611d0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180613ef16030913960400191505060405180910390fd5b600560009054906101000a900460ff1615611d8f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611f275780601f10611efc57610100808354040283529160200191611f27565b820191906000526020600020905b815481529060010190602001808311611f0a57829003601f168201915b505050505081565b6000600560009054906101000a900460ff1615611fb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff161561215f57600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aed6cc6e3385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156120a657600080fd5b505af11580156120ba573d6000803e3d6000fd5b505050506040513d60208110156120d057600080fd5b8101908080519060200190929190505050905080612156576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b6001905061216c565b6121698383613162565b90505b92915050565b6000600560009054906101000a900460ff16156121f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561229a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180613fce602f913960400191505060405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561233d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180613ffd602d913960400191505060405180910390fd5b600960159054906101000a900460ff16156124e857600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561242f57600080fd5b505af1158015612443573d6000803e3d6000fd5b505050506040513d602081101561245957600080fd5b81019080805190602001909291905050509050806124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f6661696c656420746f2063616c6c20757067726164656420636f6e747261637481525060200191505060405180910390fd5b600190506124f5565b6124f28383613207565b90505b92915050565b612503611e39565b612575576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600560009054906101000a900460ff16156125f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff161561265e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613eac6021913960400191505060405180910390fd5b612668338261321e565b7fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6126aa611e39565b61271c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600560009054906101000a900460ff161561279f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5061757361626c653a207061757365640000000000000000000000000000000081525060200191505060405180910390fd5b600960159054906101000a900460ff1615612805576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613eac6021913960400191505060405180910390fd5b61280f33826133db565b7f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600960159054906101000a900460ff161561297557600960019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561293357600080fd5b505afa158015612947573d6000803e3d6000fd5b505050506040513d602081101561295d57600080fd5b81019080805190602001909291905050509050612982565b61297f838361357b565b90505b92915050565b60066020528060005260406000206000915054906101000a900460ff1681565b6129b0611e39565b612a22576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612ae1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5f636c6561726564557365722069736e277420696e20626c61636b206c69737481525060200191505060405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c60405160405180910390a250565b612b87611e39565b612bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b612c0281613602565b50565b612c0d611e39565b612c7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612d05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140b66024913960400191505060405180910390fd5b600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613ecd6024913960400191505060405180910390fd5b6000612db282611a00565b9050612dbe82826133db565b8173ffffffffffffffffffffffffffffffffffffffff167f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6826040518082815260200191505060405180910390a25050565b6000612e1d338484613748565b6001905092915050565b6000600454905090565b6000612e3e84848461393f565b612ed78433612ed285600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b613748565b600190509392505050565b6000612f7d3384612f7885600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c6890919063ffffffff16565b613748565b6001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561300e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613fac6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b613079816000613cf090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e60405160405180910390a250565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61311c816000613dad90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b60006131fd33846131f885600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b613748565b6001905092915050565b600061321433848461393f565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156132c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6132d681600454613c6890919063ffffffff16565b60048190555061332e81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c6890919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061404c6021913960400191505060405180910390fd5b61347681600454613bdf90919063ffffffff16565b6004819055506134ce81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415613688576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613f436026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156137ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806140926024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613854576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180613f696022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156139c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061406d6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613a4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613e896023913960400191505060405180910390fd5b613a9d81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613bdf90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613b3281600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613c6890919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115613c57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015613ce6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b613cfa8282612f87565b613d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180613f8b6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b613db78282612f87565b15613e2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573737468697320636f6e747261637420686173206265656e20646570726563617465645f626c61636b4c6973746564557365722069736e277420696e20626c61636b206c697374506175736572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652050617573657220726f6c655f7570677261646564416464726573732069732061207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737363616e2774207472616e7366657220746f6b656e2066726f6d206164647265737320696e20626c61636b206c69737463616e2774207472616e7366657220746f6b656e20746f206164647265737320696e20626c61636b206c6973745f6576696c5573657220697320616c726561647920696e20626c61636b206c69737445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735f626c61636b4c69737465645573657220697320746865207a65726f2061646472657373a165627a7a723058201735f21b6456c2db09172339df5376af3b45874ac46fdbfd3ad080f7ef0381970029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000746a528800000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c4469676974616c2052616e6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004445a415200000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _initialSupply (uint256): 500000000000
Arg [1] : _name (string): Digital Rand
Arg [2] : _symbol (string): DZAR
Arg [3] : _decimals (uint8): 6
-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000746a528800
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [5] : 4469676974616c2052616e640000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 445a415200000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
22425:6200:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22425:6200:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22492:18;;;:::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;22492:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26968:346;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26968:346:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;25000:414;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25000:414:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22609:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20570:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20570:234:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;27322:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;23964:623;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23964:623:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22572:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22544:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;25499:459;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25499:459:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6989:118;;;:::i;:::-;;4571:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4571:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20387:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20387:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6198:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4788:77;;;:::i;:::-;;24672:243;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24672:243:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8739:140;;;:::i;:::-;;4688:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4688:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6778:116;;;:::i;:::-;;7928:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8294:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;22517:20;;;:::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;22517:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26043:474;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26043:474:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;23292:587;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23292:587:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;27718:211;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27718:211:0;;;;;;;;;;;;;;;;;:::i;:::-;;28160:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;28160:213:0;;;;;;;;;;;;;;;;;:::i;:::-;;26602:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26602:300:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;20515:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20515:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;20812:249;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20812:249:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9034:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9034:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;21069:439;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;21069:439:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;22492:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;26968:346::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27077:3;27049:32;;:16;:32;;;;27041:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27140:10;;;;;;;;;;;27139:11;27131:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27214:4;27201:10;;:17;;;;;;;;;;;;;;;;;;27247:16;27229:15;;:34;;;;;;;;;;;;;;;;;;27289:16;27279:27;;;;;;;;;;;;26968:346;:::o;25000:414::-;25081:12;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25110:10;;;;;;;;;;;25106:301;;;25169:15;;;;;;;;;;;25147:54;;;25202:10;25214:8;25224:6;25147:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25147:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25147:84:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25147:84:0;;;;;;;;;;;;;;;;25137:94;;25254:7;25246:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25320:4;25313:11;;;;25106:301;25364:31;25378:8;25388:6;25364:13;:31::i;:::-;25357:38;;6474:1;25000:414;;;;:::o;22609:22::-;;;;;;;;;;;;;:::o;20570:234::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20648:13;:24;20662:9;20648:24;;;;;;;;;;;;;;;;;;;;;;;;;20647:25;20639:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20751:4;20724:13;:24;20738:9;20724:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;20786:9;20771:25;;;;;;;;;;;;20570:234;:::o;27322:232::-;27366:7;27390:10;;;;;;;;;;;27386:161;;;27446:15;;;;;;;;;;;27424:50;;;:52;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27424:52:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27424:52:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;27424:52:0;;;;;;;;;;;;;;;;27417:59;;;;27386:161;27516:19;:17;:19::i;:::-;27509:26;;27322:232;;:::o;23964:623::-;24060:12;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24094:13;:20;24108:5;24094:20;;;;;;;;;;;;;;;;;;;;;;;;;24093:21;24085:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24186:13;:18;24200:3;24186:18;;;;;;;;;;;;;;;;;;;;;;;;;24185:19;24177:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24269:10;;;;;;;;;;;24265:315;;;24328:15;;;;;;;;;;;24306:59;;;24366:10;24378:5;24385:3;24390:6;24306:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24306:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24306:91:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24306:91:0;;;;;;;;;;;;;;;;24296:101;;24420:7;24412:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24486:4;24479:11;;;;24265:315;24530:38;24549:5;24556:3;24561:6;24530:18;:38::i;:::-;24523:45;;6474:1;23964:623;;;;;:::o;22572:30::-;;;;;;;;;;;;;:::o;22544:21::-;;;;;;;;;;;;;:::o;25499:459::-;25595:12;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25624:10;;;;;;;;;;;25620:331;;;25683:15;;;;;;;;;;;25661:64;;;25726:10;25738:8;25748:11;25661:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25661:99:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25661:99:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;25661:99:0;;;;;;;;;;;;;;;;25651:109;;25783:7;25775:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25849:4;25842:11;;;;25620:331;25893:46;25917:8;25927:11;25893:23;:46::i;:::-;25886:53;;6474:1;25499:459;;;;:::o;6989:118::-;4470:20;4479:10;4470:8;:20::i;:::-;4462:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:7;;;;;;;;;;;6626:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7058:5;7048:7;;:15;;;;;;;;;;;;;;;;;;7079:20;7088:10;7079:20;;;;;;;;;;;;;;;;;;;;;;6989:118::o;4571:109::-;4627:4;4651:21;4664:7;4651:8;:12;;:21;;;;:::i;:::-;4644:28;;4571:109;;;:::o;20387:120::-;20454:4;20478:13;:21;20492:6;20478:21;;;;;;;;;;;;;;;;;;;;;;;;;20471:28;;20387:120;;;:::o;6198:78::-;6237:4;6261:7;;;;;;;;;;;6254:14;;6198:78;:::o;4788:77::-;4832:25;4846:10;4832:13;:25::i;:::-;4788:77::o;24672:243::-;24725:7;24749:10;;;;;;;;;;;24745:163;;;24805:15;;;;;;;;;;;24783:48;;;24832:3;24783:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24783:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24783:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;24783:53:0;;;;;;;;;;;;;;;;24776:60;;;;24745:163;24876:20;24892:3;24876:15;:20::i;:::-;24869:27;;24672:243;;;;:::o;8739:140::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8838:1;8801:40;;8822:6;;;;;;;;;;;8801:40;;;;;;;;;;;;8869:1;8852:6;;:19;;;;;;;;;;;;;;;;;;8739:140::o;4688:92::-;4470:20;4479:10;4470:8;:20::i;:::-;4462:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4753:19;4764:7;4753:10;:19::i;:::-;4688:92;:::o;6778:116::-;4470:20;4479:10;4470:8;:20::i;:::-;4462:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6848:4;6838:7;;:14;;;;;;;;;;;;;;;;;;6868:18;6875:10;6868:18;;;;;;;;;;;;;;;;;;;;;;6778:116::o;7928:79::-;7966:7;7993:6;;;;;;;;;;;7986:13;;7928:79;:::o;8294:92::-;8334:4;8372:6;;;;;;;;;;;8358:20;;:10;:20;;;8351:27;;8294:92;:::o;22517:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;26043:474::-;26144:12;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26173:10;;;;;;;;;;;26169:341;;;26232:15;;;;;;;;;;;26210:64;;;26275:10;26287:8;26297:16;26210:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26210:104:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26210:104:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26210:104:0;;;;;;;;;;;;;;;;26200:114;;26337:7;26329:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26403:4;26396:11;;;;26169:341;26447:51;26471:8;26481:16;26447:23;:51::i;:::-;26440:58;;6474:1;26043:474;;;;:::o;23292:587::-;23369:12;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23403:13;:25;23417:10;23403:25;;;;;;;;;;;;;;;;;;;;;;;;;23402:26;23394:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23500:13;:18;23514:3;23500:18;;;;;;;;;;;;;;;;;;;;;;;;;23499:19;23491:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23583:10;;;;;;;;;;;23579:293;;;23642:15;;;;;;;;;;;23620:55;;;23676:10;23688:3;23693:6;23620:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23620:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23620:80:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;23620:80:0;;;;;;;;;;;;;;;;23610:90;;23723:7;23715:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23789:4;23782:11;;;;23579:293;23833:27;23848:3;23853:6;23833:14;:27::i;:::-;23826:34;;6474:1;23292:587;;;;:::o;27718:211::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27800:10;;;;;;;;;;;27799:11;27791:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27861:31;27873:10;27885:6;27861:11;:31::i;:::-;27908:13;27914:6;27908:13;;;;;;;;;;;;;;;;;;27718:211;:::o;28160:213::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6435:7;;;;;;;;;;;6434:8;6426:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28243:10;;;;;;;;;;;28242:11;28234:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28304:31;28316:10;28328:6;28304:11;:31::i;:::-;28351:14;28358:6;28351:14;;;;;;;;;;;;;;;;;;28160:213;:::o;26602:300::-;26676:17;26710:10;;;;;;;;;;;26706:189;;;26766:15;;;;;;;;;;;26744:48;;;26793:6;26801:8;26744:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26744:66:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26744:66:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;26744:66:0;;;;;;;;;;;;;;;;26737:73;;;;26706:189;26850:33;26866:6;26874:8;26850:15;:33::i;:::-;26843:40;;26602:300;;;;;:::o;20515:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;20812:249::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20895:13;:27;20909:12;20895:27;;;;;;;;;;;;;;;;;;;;;;;;;20887:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21002:5;20972:13;:27;20986:12;20972:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;21040:12;21023:30;;;;;;;;;;;;20812:249;:::o;9034:109::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9107:28;9126:8;9107:18;:28::i;:::-;9034:109;:::o;21069:439::-;8140:9;:7;:9::i;:::-;8132:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21186:3;21158:32;;:16;:32;;;;21150:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21250:13;:31;21264:16;21250:31;;;;;;;;;;;;;;;;;;;;;;;;;21242:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21335:18;21356:27;21366:16;21356:9;:27::i;:::-;21335:48;;21394:41;21406:16;21424:10;21394:11;:41::i;:::-;21471:16;21451:49;;;21489:10;21451:49;;;;;;;;;;;;;;;;;;8197:1;21069:439;:::o;14713:148::-;14778:4;14795:36;14804:10;14816:7;14825:5;14795:8;:36::i;:::-;14849:4;14842:11;;14713:148;;;;:::o;13736:91::-;13780:7;13807:12;;13800:19;;13736:91;:::o;15332:256::-;15421:4;15438:36;15448:6;15456:9;15467:6;15438:9;:36::i;:::-;15485:73;15494:6;15502:10;15514:43;15550:6;15514:11;:19;15526:6;15514:19;;;;;;;;;;;;;;;:31;15534:10;15514:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;15485:8;:73::i;:::-;15576:4;15569:11;;15332:256;;;;;:::o;15997:206::-;16077:4;16094:79;16103:10;16115:7;16124:48;16161:10;16124:11;:23;16136:10;16124:23;;;;;;;;;;;;;;;:32;16148:7;16124:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;16094:8;:79::i;:::-;16191:4;16184:11;;15997:206;;;;:::o;3946:203::-;4018:4;4062:1;4043:21;;:7;:21;;;;4035:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4121:4;:11;;:20;4133:7;4121:20;;;;;;;;;;;;;;;;;;;;;;;;;4114:27;;3946:203;;;;:::o;5003:130::-;5063:24;5079:7;5063:8;:15;;:24;;;;:::i;:::-;5117:7;5103:22;;;;;;;;;;;;5003:130;:::o;13890:110::-;13947:7;13974:9;:18;13984:7;13974:18;;;;;;;;;;;;;;;;13967:25;;13890:110;;;:::o;4873:122::-;4930:21;4943:7;4930:8;:12;;:21;;;;:::i;:::-;4979:7;4967:20;;;;;;;;;;;;4873:122;:::o;16706:216::-;16791:4;16808:84;16817:10;16829:7;16838:53;16875:15;16838:11;:23;16850:10;16838:23;;;;;;;;;;;;;;;:32;16862:7;16838:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;16808:8;:84::i;:::-;16910:4;16903:11;;16706:216;;;;:::o;14213:156::-;14282:4;14299:40;14309:10;14321:9;14332:6;14299:9;:40::i;:::-;14357:4;14350:11;;14213:156;;;;:::o;18122:308::-;18217:1;18198:21;;:7;:21;;;;18190:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18283:24;18300:6;18283:12;;:16;;:24;;;;:::i;:::-;18268:12;:39;;;;18339:30;18362:6;18339:9;:18;18349:7;18339:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;18318:9;:18;18328:7;18318:18;;;;;;;;;;;;;;;:51;;;;18406:7;18385:37;;18402:1;18385:37;;;18415:6;18385:37;;;;;;;;;;;;;;;;;;18122:308;;:::o;18751:306::-;18845:1;18826:21;;:7;:21;;;;18818:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18913:23;18930:5;18913:12;;:16;;:23;;;;:::i;:::-;18898:12;:38;;;;18968:29;18991:5;18968:9;:18;18978:7;18968:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;18947:9;:18;18957:7;18947:18;;;;;;;;;;;;;;;:50;;;;19039:1;19013:36;;19022:7;19013:36;;;19043:5;19013:36;;;;;;;;;;;;;;;;;;18751:306;;:::o;14432:134::-;14504:7;14531:11;:18;14543:5;14531:18;;;;;;;;;;;;;;;:27;14550:7;14531:27;;;;;;;;;;;;;;;;14524:34;;14432:134;;;;:::o;9249:229::-;9343:1;9323:22;;:8;:22;;;;9315:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9433:8;9404:38;;9425:6;;;;;;;;;;;9404:38;;;;;;;;;;;;9462:8;9453:6;;:17;;;;;;;;;;;;;;;;;;9249:229;:::o;19497:335::-;19607:1;19590:19;;:5;:19;;;;19582:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19688:1;19669:21;;:7;:21;;;;19661:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19772:5;19742:11;:18;19754:5;19742:18;;;;;;;;;;;;;;;:27;19761:7;19742:27;;;;;;;;;;;;;;;:35;;;;19809:7;19793:31;;19802:5;19793:31;;;19818:5;19793:31;;;;;;;;;;;;;;;;;;19497:335;;;:::o;17412:429::-;17528:1;17510:20;;:6;:20;;;;17502:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17612:1;17591:23;;:9;:23;;;;17583:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17687:29;17709:6;17687:9;:17;17697:6;17687:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;17667:9;:17;17677:6;17667:17;;;;;;;;;;;;;;;:49;;;;17750:32;17775:6;17750:9;:20;17760:9;17750:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;17727:9;:20;17737:9;17727:20;;;;;;;;;;;;;;;:55;;;;17815:9;17798:35;;17807:6;17798:35;;;17826:6;17798:35;;;;;;;;;;;;;;;;;;17412:429;;;:::o;841:184::-;899:7;932:1;927;:6;;919:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;979:9;995:1;991;:5;979:17;;1016:1;1009:8;;;841:184;;;;:::o;385:181::-;443:7;463:9;479:1;475;:5;463:17;;504:1;499;:6;;491:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;557:1;550:8;;;385:181;;;;:::o;3668:183::-;3748:18;3752:4;3758:7;3748:3;:18::i;:::-;3740:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3838:5;3815:4;:11;;:20;3827:7;3815:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;3668:183;;:::o;3410:178::-;3488:18;3492:4;3498:7;3488:3;:18::i;:::-;3487:19;3479:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3576:4;3553;:11;;:20;3565:7;3553:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;3410:178;;:::o
Swarm Source
bzzr://1735f21b6456c2db09172339df5376af3b45874ac46fdbfd3ad080f7ef038197
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.