ERC-20
Gaming
Overview
Max Total Supply
14,084,651 MCP
Holders
722 (0.00%)
Market
Price
$0.00 @ 0.000000 ETH
Onchain Market Cap
$9,657.14
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
1,130.081580424141094813 MCPValue
$0.77 ( ~0.000314507534153778 Eth) [0.0080%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MCPToken
Compiler Version
v0.8.0+commit.c7dfd78e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-21 */ /** *Submitted for verification at Etherscan.io on 2020-12-21 */ // File: contracts\open-zeppelin-contracts\token\ERC20\IERC20.sol pragma solidity ^0.8.0; /** * @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); } // File: contracts\open-zeppelin-contracts\math\SafeMath.sol pragma solidity ^0.8.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { 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; } } // File: contracts\open-zeppelin-contracts\token\ERC20\ERC20.sol pragma solidity ^0.8.0; /** * @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 override view returns (uint256) { return _totalSupply; } /** * @dev See `IERC20.balanceOf`. */ function balanceOf(address account) public override 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 override returns (bool) { _transfer(msg.sender, recipient, amount); return true; } /** * @dev See `IERC20.allowance`. */ function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } /** * @dev See `IERC20.approve`. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public override 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 override 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 Destroys `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)); } } // File: contracts\ERC20\ERC20Vestable.sol pragma solidity ^0.8.0; contract ERC20Vestable is ERC20 { using SafeMath for uint256; // tokens vest according to the division percentage and claim frequency. Can't claim funds until claim frequency is reached mapping(address => uint256) public _vestingAllowances; mapping(address => uint256) public _claimFrequency; mapping(address => uint256) public _claimAmounts; mapping(address => uint256) public _lastClaimed; function _grantFunds(address beneficiary) internal { require( _vestingAllowances[beneficiary] > 0 && _vestingAllowances[beneficiary] >= _claimAmounts[beneficiary], "Entire allowance already claimed, or no initial aloowance" ); _vestingAllowances[beneficiary] = _vestingAllowances[beneficiary].sub( _claimAmounts[beneficiary] ); _mint( beneficiary, _claimAmounts[beneficiary].mul(10**uint256(18)) ); } // internal function only ever called from constructor function _addBeneficiary(address beneficiary, uint256 amount, uint8 divide, uint256 claimFrequency) internal { _vestingAllowances[beneficiary] = amount; _claimFrequency[beneficiary] = claimFrequency; _claimAmounts[beneficiary] = amount.div(divide); _lastClaimed[beneficiary] = block.timestamp; // beneficiary gets first division of funds immediately _grantFunds(beneficiary); } function _addBeneficiaryWithoutInitialGrant(address beneficiary, uint256 amount, uint8 divide, uint256 claimFrequency) internal { _vestingAllowances[beneficiary] = amount; _claimFrequency[beneficiary] = claimFrequency; _claimAmounts[beneficiary] = amount.div(divide); _lastClaimed[beneficiary] = block.timestamp; // beneficiary gets first division of funds immediately } function claimFunds() public { address teamReserved = 0xF4485355cd625ac15EC86E79F7A070C7aD3d20aD; require( _lastClaimed[msg.sender] != 0 && block.timestamp >= _lastClaimed[msg.sender].add(_claimFrequency[msg.sender]), "Allowance cannot be claimed more than once in a cycle. Please check last claimed time." ); if(msg.sender == teamReserved){ _claimFrequency[msg.sender] = 90 days; } _lastClaimed[msg.sender] = block.timestamp; _grantFunds(msg.sender); } } /** * @title MCPToken * @author MyCryptoPlay (visit https://mycryptoplay.com) * * @dev Standard ERC20 token with burning and optional functions implemented. * For full specification of ERC-20 standard see: * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md */ pragma solidity ^0.8.0; contract MCPToken is ERC20,ERC20Vestable { using SafeMath for uint256; string private _name; string private _symbol; uint8 private _decimals; /** * @dev Constructor. * @param name name of the token * @param symbol symbol of the token, 3-4 chars is recommended * @param totalSupply total supply of tokens in lowest units (depending on decimals) * @param tokenOwnerAddress address that gets 100% of token supply */ constructor(string memory name, string memory symbol, uint256 totalSupply, address payable feeReceiver, address tokenOwnerAddress, address development, address teamReserved, address mcpStaking, address marketing, address privateSale) public payable { _name = name; _symbol = symbol; _decimals = 18; // set tokenOwnerAddress as owner of all tokens _mint(tokenOwnerAddress, totalSupply.mul(10**uint256(_decimals))); // allocation and vesting of various funds _addBeneficiary(development, 6000000, 25, 28 days); _addBeneficiaryWithoutInitialGrant(teamReserved, 6000000, 25, 730 days); _addBeneficiary(mcpStaking, 8000000, 25, 28 days); //Transfering Marketing and Private sale funds to their respective addresses uint256 marketingFunds = 4000000; uint256 privateSaleAllocation = 2000000; _mint(marketing,marketingFunds.mul(10**uint256(_decimals))); _mint(privateSale,privateSaleAllocation.mul(10**uint256(_decimals))); // pay the service fee for contract deployment feeReceiver.transfer(msg.value); } /** * @dev Burns a specific amount of tokens. * @param value The amount of lowest token units to be burned. */ function burn(uint256 value) public { _burn(msg.sender, value); } // optional functions from ERC20 stardard /** * @return the name of the token. */ function name() public view returns (string memory) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns (string memory) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns (uint8) { return _decimals; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"address payable","name":"feeReceiver","type":"address"},{"internalType":"address","name":"tokenOwnerAddress","type":"address"},{"internalType":"address","name":"development","type":"address"},{"internalType":"address","name":"teamReserved","type":"address"},{"internalType":"address","name":"mcpStaking","type":"address"},{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"privateSale","type":"address"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_claimAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_claimFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_lastClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_vestingAllowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052604051620036af380380620036af833981810160405281019062000029919062000ba0565b89600790805190602001906200004192919062000a39565b5088600890805190602001906200005a92919062000a39565b506012600960006101000a81548160ff021916908360ff160217905550620000c286620000b6600960009054906101000a900460ff1660ff16600a620000a19190620010fc565b8b6200021460201b62000a6c1790919060201c565b6200029860201b60201c565b620000dd85625b8d8060196224ea006200043360201b60201c565b620000f984625b8d8060196303c267006200057660201b60201c565b6200011483627a120060196224ea006200043360201b60201c565b6000623d090090506000621e848090506200016f8462000163600960009054906101000a900460ff1660ff16600a6200014e9190620010fc565b856200021460201b62000a6c1790919060201c565b6200029860201b60201c565b620001ba83620001ae600960009054906101000a900460ff1660ff16600a620001999190620010fc565b846200021460201b62000a6c1790919060201c565b6200029860201b60201c565b8873ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801562000201573d6000803e3d6000fd5b50505050505050505050505050620014aa565b60008083141562000229576000905062000292565b6000828462000239919062001239565b90508284826200024a919062001069565b146200028d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002849062000f11565b60405180910390fd5b809150505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200030b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003029062000f55565b60405180910390fd5b6200032781600254620006a860201b62000ae71790919060201c565b60028190555062000385816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620006a860201b62000ae71790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000427919062000f77565b60405180910390a35050565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620004d88260ff16846200070b60201b62000b451790919060201c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000570846200076e60201b60201c565b50505050565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200061b8260ff16846200070b60201b62000b451790919060201c565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050565b6000808284620006b991906200100c565b90508381101562000701576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006f89062000eab565b60405180910390fd5b8091505092915050565b600080821162000752576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007499062000eef565b60405180910390fd5b6000828462000762919062001069565b90508091505092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156200083c5750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b6200087e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008759062000f33565b60405180910390fd5b62000916600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620009d560201b62000ba31790919060201c565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620009d281620009c66012600a620009729190620010fc565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200021460201b62000a6c1790919060201c565b6200029860201b60201c565b50565b60008282111562000a1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a149062000ecd565b60405180910390fd5b6000828462000a2d91906200129a565b90508091505092915050565b82805462000a47906200135d565b90600052602060002090601f01602090048101928262000a6b576000855562000ab7565b82601f1062000a8657805160ff191683800117855562000ab7565b8280016001018555821562000ab7579182015b8281111562000ab657825182559160200191906001019062000a99565b5b50905062000ac6919062000aca565b5090565b5b8082111562000ae557600081600090555060010162000acb565b5090565b600062000b0062000afa8462000fc8565b62000f94565b90508281526020810184848401111562000b1957600080fd5b62000b2684828562001327565b509392505050565b60008151905062000b3f816200145c565b92915050565b60008151905062000b568162001476565b92915050565b600082601f83011262000b6e57600080fd5b815162000b8084826020860162000ae9565b91505092915050565b60008151905062000b9a8162001490565b92915050565b6000806000806000806000806000806101408b8d03121562000bc157600080fd5b60008b015167ffffffffffffffff81111562000bdc57600080fd5b62000bea8d828e0162000b5c565b9a505060208b015167ffffffffffffffff81111562000c0857600080fd5b62000c168d828e0162000b5c565b995050604062000c298d828e0162000b89565b985050606062000c3c8d828e0162000b45565b975050608062000c4f8d828e0162000b2e565b96505060a062000c628d828e0162000b2e565b95505060c062000c758d828e0162000b2e565b94505060e062000c888d828e0162000b2e565b93505061010062000c9c8d828e0162000b2e565b92505061012062000cb08d828e0162000b2e565b9150509295989b9194979a5092959850565b600062000cd1601b8362000ffb565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600062000d13601e8362000ffb565b91507f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006000830152602082019050919050565b600062000d55601a8362000ffb565b91507f536166654d6174683a206469766973696f6e206279207a65726f0000000000006000830152602082019050919050565b600062000d9760218362000ffb565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600062000dff60398362000ffb565b91507f456e7469726520616c6c6f77616e636520616c726561647920636c61696d656460008301527f2c206f72206e6f20696e697469616c20616c6f6f77616e6365000000000000006020830152604082019050919050565b600062000e67601f8362000ffb565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b62000ea5816200131d565b82525050565b6000602082019050818103600083015262000ec68162000cc2565b9050919050565b6000602082019050818103600083015262000ee88162000d04565b9050919050565b6000602082019050818103600083015262000f0a8162000d46565b9050919050565b6000602082019050818103600083015262000f2c8162000d88565b9050919050565b6000602082019050818103600083015262000f4e8162000df0565b9050919050565b6000602082019050818103600083015262000f708162000e58565b9050919050565b600060208201905062000f8e600083018462000e9a565b92915050565b6000604051905081810181811067ffffffffffffffff8211171562000fbe5762000fbd62001420565b5b8060405250919050565b600067ffffffffffffffff82111562000fe65762000fe562001420565b5b601f19601f8301169050602081019050919050565b600082825260208201905092915050565b600062001019826200131d565b915062001026836200131d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200105e576200105d62001393565b5b828201905092915050565b600062001076826200131d565b915062001083836200131d565b925082620010965762001095620013c2565b5b828204905092915050565b6000808291508390505b6001851115620010f357808604811115620010cb57620010ca62001393565b5b6001851615620010db5780820291505b8081029050620010eb856200144f565b9450620010ab565b94509492505050565b600062001109826200131d565b915062001116836200131d565b9250620011457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200114d565b905092915050565b6000826200115f576001905062001232565b816200116f576000905062001232565b81600181146200118857600281146200119357620011c9565b600191505062001232565b60ff841115620011a857620011a762001393565b5b8360020a915084821115620011c257620011c162001393565b5b5062001232565b5060208310610133831016604e8410600b8410161715620012035782820a905083811115620011fd57620011fc62001393565b5b62001232565b620012128484846001620010a1565b925090508184048111156200122c576200122b62001393565b5b81810290505b9392505050565b600062001246826200131d565b915062001253836200131d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200128f576200128e62001393565b5b828202905092915050565b6000620012a7826200131d565b9150620012b4836200131d565b925082821015620012ca57620012c962001393565b5b828203905092915050565b6000620012e282620012fd565b9050919050565b6000620012f682620012fd565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015620013475780820151818401526020810190506200132a565b8381111562001357576000848401525b50505050565b600060028204905060018216806200137657607f821691505b602082108114156200138d576200138c620013f1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008160011c9050919050565b6200146781620012d5565b81146200147357600080fd5b50565b6200148181620012e9565b81146200148d57600080fd5b50565b6200149b816200131d565b8114620014a757600080fd5b50565b6121f580620014ba6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806342966c68116100a2578063a457c2d711610071578063a457c2d7146102f4578063a6c428b314610324578063a9059cbb14610354578063ac30777314610384578063dd62ed3e1461038e5761010b565b806342966c681461025a57806370a0823114610276578063729b47e6146102a657806395d89b41146102d65761010b565b806323b872dd116100de57806323b872dd146101ac578063244fa3ac146101dc578063313ce5671461020c578063395093511461022a5761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e5780631ee001111461017c575b600080fd5b6101186103be565b6040516101259190611bb2565b60405180910390f35b61014860048036038101906101439190611676565b610450565b6040516101559190611b97565b60405180910390f35b610166610467565b6040516101739190611d54565b60405180910390f35b610196600480360381019061019191906115c2565b610471565b6040516101a39190611d54565b60405180910390f35b6101c660048036038101906101c19190611627565b610489565b6040516101d39190611b97565b60405180910390f35b6101f660048036038101906101f191906115c2565b61053a565b6040516102039190611d54565b60405180910390f35b610214610552565b6040516102219190611d6f565b60405180910390f35b610244600480360381019061023f9190611676565b610569565b6040516102519190611b97565b60405180910390f35b610274600480360381019061026f91906116b2565b61060e565b005b610290600480360381019061028b91906115c2565b61061b565b60405161029d9190611d54565b60405180910390f35b6102c060048036038101906102bb91906115c2565b610663565b6040516102cd9190611d54565b60405180910390f35b6102de61067b565b6040516102eb9190611bb2565b60405180910390f35b61030e60048036038101906103099190611676565b61070d565b60405161031b9190611b97565b60405180910390f35b61033e600480360381019061033991906115c2565b6107b2565b60405161034b9190611d54565b60405180910390f35b61036e60048036038101906103699190611676565b6107ca565b60405161037b9190611b97565b60405180910390f35b61038c6107e1565b005b6103a860048036038101906103a391906115eb565b6109e5565b6040516103b59190611d54565b60405180910390f35b6060600780546103cd906120b4565b80601f01602080910402602001604051908101604052809291908181526020018280546103f9906120b4565b80156104465780601f1061041b57610100808354040283529160200191610446565b820191906000526020600020905b81548152906001019060200180831161042957829003601f168201915b5050505050905090565b600061045d338484610c02565b6001905092915050565b6000600254905090565b60066020528060005260406000206000915090505481565b6000610496848484610dcd565b61052f843361052a85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b610c02565b600190509392505050565b60046020528060005260406000206000915090505481565b6000600960009054906101000a900460ff16905090565b600061060433846105ff85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b610c02565b6001905092915050565b610618338261103d565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60056020528060005260406000206000915090505481565b60606008805461068a906120b4565b80601f01602080910402602001604051908101604052809291908181526020018280546106b6906120b4565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050905090565b60006107a833846107a385600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b610c02565b6001905092915050565b60036020528060005260406000206000915090505481565b60006107d7338484610dcd565b6001905092915050565b600073f4485355cd625ac15ec86e79f7a070c7ad3d20ad90506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141580156108da57506108d6600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b4210155b610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091090611cb4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610995576276a700600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b42600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109e2336111c5565b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080831415610a7f5760009050610ae1565b60008284610a8d9190611f9e565b9050828482610a9c9190611dfc565b14610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390611c74565b60405180910390fd5b809150505b92915050565b6000808284610af69190611da6565b905083811015610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3290611c14565b60405180910390fd5b8091505092915050565b6000808211610b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8090611c54565b60405180910390fd5b60008284610b979190611dfc565b90508091505092915050565b600082821115610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90611c34565b60405180910390fd5b60008284610bf69190611ff8565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6990611cf4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990611bf4565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dc09190611d54565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611cd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490611bd4565b60405180910390fd5b610efe816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f91816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110309190611d54565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490611c94565b60405180910390fd5b6110c281600254610ba390919063ffffffff16565b600281905550611119816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111b99190611d54565b60405180910390a35050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156112925750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b6112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890611d14565b60405180910390fd5b611362600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061140d816114086012600a6113ba9190611e80565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a6c90919063ffffffff16565b611410565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147790611d34565b60405180910390fd5b61149581600254610ae790919063ffffffff16565b6002819055506114ec816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158c9190611d54565b60405180910390a35050565b6000813590506115a781612191565b92915050565b6000813590506115bc816121a8565b92915050565b6000602082840312156115d457600080fd5b60006115e284828501611598565b91505092915050565b600080604083850312156115fe57600080fd5b600061160c85828601611598565b925050602061161d85828601611598565b9150509250929050565b60008060006060848603121561163c57600080fd5b600061164a86828701611598565b935050602061165b86828701611598565b925050604061166c868287016115ad565b9150509250925092565b6000806040838503121561168957600080fd5b600061169785828601611598565b92505060206116a8858286016115ad565b9150509250929050565b6000602082840312156116c457600080fd5b60006116d2848285016115ad565b91505092915050565b6116e48161203e565b82525050565b60006116f582611d8a565b6116ff8185611d95565b935061170f818560208601612081565b61171881612173565b840191505092915050565b6000611730602383611d95565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611796602283611d95565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117fc601b83611d95565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061183c601e83611d95565b91507f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006000830152602082019050919050565b600061187c601a83611d95565b91507f536166654d6174683a206469766973696f6e206279207a65726f0000000000006000830152602082019050919050565b60006118bc602183611d95565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611922602183611d95565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611988605683611d95565b91507f416c6c6f77616e63652063616e6e6f7420626520636c61696d6564206d6f726560008301527f207468616e206f6e636520696e2061206379636c652e20506c6561736520636860208301527f65636b206c61737420636c61696d65642074696d652e000000000000000000006040830152606082019050919050565b6000611a14602583611d95565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a7a602483611d95565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ae0603983611d95565b91507f456e7469726520616c6c6f77616e636520616c726561647920636c61696d656460008301527f2c206f72206e6f20696e697469616c20616c6f6f77616e6365000000000000006020830152604082019050919050565b6000611b46601f83611d95565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b611b828161206a565b82525050565b611b9181612074565b82525050565b6000602082019050611bac60008301846116db565b92915050565b60006020820190508181036000830152611bcc81846116ea565b905092915050565b60006020820190508181036000830152611bed81611723565b9050919050565b60006020820190508181036000830152611c0d81611789565b9050919050565b60006020820190508181036000830152611c2d816117ef565b9050919050565b60006020820190508181036000830152611c4d8161182f565b9050919050565b60006020820190508181036000830152611c6d8161186f565b9050919050565b60006020820190508181036000830152611c8d816118af565b9050919050565b60006020820190508181036000830152611cad81611915565b9050919050565b60006020820190508181036000830152611ccd8161197b565b9050919050565b60006020820190508181036000830152611ced81611a07565b9050919050565b60006020820190508181036000830152611d0d81611a6d565b9050919050565b60006020820190508181036000830152611d2d81611ad3565b9050919050565b60006020820190508181036000830152611d4d81611b39565b9050919050565b6000602082019050611d696000830184611b79565b92915050565b6000602082019050611d846000830184611b88565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611db18261206a565b9150611dbc8361206a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611df157611df06120e6565b5b828201905092915050565b6000611e078261206a565b9150611e128361206a565b925082611e2257611e21612115565b5b828204905092915050565b6000808291508390505b6001851115611e7757808604811115611e5357611e526120e6565b5b6001851615611e625780820291505b8081029050611e7085612184565b9450611e37565b94509492505050565b6000611e8b8261206a565b9150611e968361206a565b9250611ec37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ecb565b905092915050565b600082611edb5760019050611f97565b81611ee95760009050611f97565b8160018114611eff5760028114611f0957611f38565b6001915050611f97565b60ff841115611f1b57611f1a6120e6565b5b8360020a915084821115611f3257611f316120e6565b5b50611f97565b5060208310610133831016604e8410600b8410161715611f6d5782820a905083811115611f6857611f676120e6565b5b611f97565b611f7a8484846001611e2d565b92509050818404811115611f9157611f906120e6565b5b81810290505b9392505050565b6000611fa98261206a565b9150611fb48361206a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611fed57611fec6120e6565b5b828202905092915050565b60006120038261206a565b915061200e8361206a565b925082821015612021576120206120e6565b5b828203905092915050565b60006120378261204a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561209f578082015181840152602081019050612084565b838111156120ae576000848401525b50505050565b600060028204905060018216806120cc57607f821691505b602082108114156120e0576120df612144565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61219a8161202c565b81146121a557600080fd5b50565b6121b18161206a565b81146121bc57600080fd5b5056fea264697066735822122096172cda278328f98aa0526d3cf7103019a0190fde4ad8262d81e103d8d7845b64736f6c63430008000033000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000d59f800000000000000000000000003d82f748ed2700b99c2fe17ed71d4a139c8c8ba90000000000000000000000003d82f748ed2700b99c2fe17ed71d4a139c8c8ba9000000000000000000000000fa5287b1a6dfc711048c16ca753bd2c60e1a2594000000000000000000000000f4485355cd625ac15ec86e79f7a070c7ad3d20ad0000000000000000000000006bb20755704c28f6ee281901f7580d8cff37cb18000000000000000000000000a13a36af3e319c14f09cf4b5b0190eb2d44cc33f000000000000000000000000dd5d584189b4b07a452d3976448d0839920950df000000000000000000000000000000000000000000000000000000000000000c4d7943727970746f506c6179000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d43500000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806342966c68116100a2578063a457c2d711610071578063a457c2d7146102f4578063a6c428b314610324578063a9059cbb14610354578063ac30777314610384578063dd62ed3e1461038e5761010b565b806342966c681461025a57806370a0823114610276578063729b47e6146102a657806395d89b41146102d65761010b565b806323b872dd116100de57806323b872dd146101ac578063244fa3ac146101dc578063313ce5671461020c578063395093511461022a5761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e5780631ee001111461017c575b600080fd5b6101186103be565b6040516101259190611bb2565b60405180910390f35b61014860048036038101906101439190611676565b610450565b6040516101559190611b97565b60405180910390f35b610166610467565b6040516101739190611d54565b60405180910390f35b610196600480360381019061019191906115c2565b610471565b6040516101a39190611d54565b60405180910390f35b6101c660048036038101906101c19190611627565b610489565b6040516101d39190611b97565b60405180910390f35b6101f660048036038101906101f191906115c2565b61053a565b6040516102039190611d54565b60405180910390f35b610214610552565b6040516102219190611d6f565b60405180910390f35b610244600480360381019061023f9190611676565b610569565b6040516102519190611b97565b60405180910390f35b610274600480360381019061026f91906116b2565b61060e565b005b610290600480360381019061028b91906115c2565b61061b565b60405161029d9190611d54565b60405180910390f35b6102c060048036038101906102bb91906115c2565b610663565b6040516102cd9190611d54565b60405180910390f35b6102de61067b565b6040516102eb9190611bb2565b60405180910390f35b61030e60048036038101906103099190611676565b61070d565b60405161031b9190611b97565b60405180910390f35b61033e600480360381019061033991906115c2565b6107b2565b60405161034b9190611d54565b60405180910390f35b61036e60048036038101906103699190611676565b6107ca565b60405161037b9190611b97565b60405180910390f35b61038c6107e1565b005b6103a860048036038101906103a391906115eb565b6109e5565b6040516103b59190611d54565b60405180910390f35b6060600780546103cd906120b4565b80601f01602080910402602001604051908101604052809291908181526020018280546103f9906120b4565b80156104465780601f1061041b57610100808354040283529160200191610446565b820191906000526020600020905b81548152906001019060200180831161042957829003601f168201915b5050505050905090565b600061045d338484610c02565b6001905092915050565b6000600254905090565b60066020528060005260406000206000915090505481565b6000610496848484610dcd565b61052f843361052a85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b610c02565b600190509392505050565b60046020528060005260406000206000915090505481565b6000600960009054906101000a900460ff16905090565b600061060433846105ff85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b610c02565b6001905092915050565b610618338261103d565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60056020528060005260406000206000915090505481565b60606008805461068a906120b4565b80601f01602080910402602001604051908101604052809291908181526020018280546106b6906120b4565b80156107035780601f106106d857610100808354040283529160200191610703565b820191906000526020600020905b8154815290600101906020018083116106e657829003601f168201915b5050505050905090565b60006107a833846107a385600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b610c02565b6001905092915050565b60036020528060005260406000206000915090505481565b60006107d7338484610dcd565b6001905092915050565b600073f4485355cd625ac15ec86e79f7a070c7ad3d20ad90506000600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141580156108da57506108d6600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b4210155b610919576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091090611cb4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610995576276a700600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b42600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109e2336111c5565b50565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080831415610a7f5760009050610ae1565b60008284610a8d9190611f9e565b9050828482610a9c9190611dfc565b14610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390611c74565b60405180910390fd5b809150505b92915050565b6000808284610af69190611da6565b905083811015610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3290611c14565b60405180910390fd5b8091505092915050565b6000808211610b89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8090611c54565b60405180910390fd5b60008284610b979190611dfc565b90508091505092915050565b600082821115610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90611c34565b60405180910390fd5b60008284610bf69190611ff8565b90508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6990611cf4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd990611bf4565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610dc09190611d54565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490611cd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490611bd4565b60405180910390fd5b610efe816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f91816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110309190611d54565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490611c94565b60405180910390fd5b6110c281600254610ba390919063ffffffff16565b600281905550611119816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111b99190611d54565b60405180910390a35050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180156112925750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b6112d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c890611d14565b60405180910390fd5b611362600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ba390919063ffffffff16565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061140d816114086012600a6113ba9190611e80565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a6c90919063ffffffff16565b611410565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147790611d34565b60405180910390fd5b61149581600254610ae790919063ffffffff16565b6002819055506114ec816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ae790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161158c9190611d54565b60405180910390a35050565b6000813590506115a781612191565b92915050565b6000813590506115bc816121a8565b92915050565b6000602082840312156115d457600080fd5b60006115e284828501611598565b91505092915050565b600080604083850312156115fe57600080fd5b600061160c85828601611598565b925050602061161d85828601611598565b9150509250929050565b60008060006060848603121561163c57600080fd5b600061164a86828701611598565b935050602061165b86828701611598565b925050604061166c868287016115ad565b9150509250925092565b6000806040838503121561168957600080fd5b600061169785828601611598565b92505060206116a8858286016115ad565b9150509250929050565b6000602082840312156116c457600080fd5b60006116d2848285016115ad565b91505092915050565b6116e48161203e565b82525050565b60006116f582611d8a565b6116ff8185611d95565b935061170f818560208601612081565b61171881612173565b840191505092915050565b6000611730602383611d95565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611796602283611d95565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117fc601b83611d95565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b600061183c601e83611d95565b91507f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006000830152602082019050919050565b600061187c601a83611d95565b91507f536166654d6174683a206469766973696f6e206279207a65726f0000000000006000830152602082019050919050565b60006118bc602183611d95565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611922602183611d95565b91507f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008301527f73000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611988605683611d95565b91507f416c6c6f77616e63652063616e6e6f7420626520636c61696d6564206d6f726560008301527f207468616e206f6e636520696e2061206379636c652e20506c6561736520636860208301527f65636b206c61737420636c61696d65642074696d652e000000000000000000006040830152606082019050919050565b6000611a14602583611d95565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a7a602483611d95565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611ae0603983611d95565b91507f456e7469726520616c6c6f77616e636520616c726561647920636c61696d656460008301527f2c206f72206e6f20696e697469616c20616c6f6f77616e6365000000000000006020830152604082019050919050565b6000611b46601f83611d95565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b611b828161206a565b82525050565b611b9181612074565b82525050565b6000602082019050611bac60008301846116db565b92915050565b60006020820190508181036000830152611bcc81846116ea565b905092915050565b60006020820190508181036000830152611bed81611723565b9050919050565b60006020820190508181036000830152611c0d81611789565b9050919050565b60006020820190508181036000830152611c2d816117ef565b9050919050565b60006020820190508181036000830152611c4d8161182f565b9050919050565b60006020820190508181036000830152611c6d8161186f565b9050919050565b60006020820190508181036000830152611c8d816118af565b9050919050565b60006020820190508181036000830152611cad81611915565b9050919050565b60006020820190508181036000830152611ccd8161197b565b9050919050565b60006020820190508181036000830152611ced81611a07565b9050919050565b60006020820190508181036000830152611d0d81611a6d565b9050919050565b60006020820190508181036000830152611d2d81611ad3565b9050919050565b60006020820190508181036000830152611d4d81611b39565b9050919050565b6000602082019050611d696000830184611b79565b92915050565b6000602082019050611d846000830184611b88565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611db18261206a565b9150611dbc8361206a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611df157611df06120e6565b5b828201905092915050565b6000611e078261206a565b9150611e128361206a565b925082611e2257611e21612115565b5b828204905092915050565b6000808291508390505b6001851115611e7757808604811115611e5357611e526120e6565b5b6001851615611e625780820291505b8081029050611e7085612184565b9450611e37565b94509492505050565b6000611e8b8261206a565b9150611e968361206a565b9250611ec37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611ecb565b905092915050565b600082611edb5760019050611f97565b81611ee95760009050611f97565b8160018114611eff5760028114611f0957611f38565b6001915050611f97565b60ff841115611f1b57611f1a6120e6565b5b8360020a915084821115611f3257611f316120e6565b5b50611f97565b5060208310610133831016604e8410600b8410161715611f6d5782820a905083811115611f6857611f676120e6565b5b611f97565b611f7a8484846001611e2d565b92509050818404811115611f9157611f906120e6565b5b81810290505b9392505050565b6000611fa98261206a565b9150611fb48361206a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611fed57611fec6120e6565b5b828202905092915050565b60006120038261206a565b915061200e8361206a565b925082821015612021576120206120e6565b5b828203905092915050565b60006120378261204a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561209f578082015181840152602081019050612084565b838111156120ae576000848401525b50505050565b600060028204905060018216806120cc57607f821691505b602082108114156120e0576120df612144565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b61219a8161202c565b81146121a557600080fd5b50565b6121b18161206a565b81146121bc57600080fd5b5056fea264697066735822122096172cda278328f98aa0526d3cf7103019a0190fde4ad8262d81e103d8d7845b64736f6c63430008000033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000d59f800000000000000000000000003d82f748ed2700b99c2fe17ed71d4a139c8c8ba90000000000000000000000003d82f748ed2700b99c2fe17ed71d4a139c8c8ba9000000000000000000000000fa5287b1a6dfc711048c16ca753bd2c60e1a2594000000000000000000000000f4485355cd625ac15ec86e79f7a070c7ad3d20ad0000000000000000000000006bb20755704c28f6ee281901f7580d8cff37cb18000000000000000000000000a13a36af3e319c14f09cf4b5b0190eb2d44cc33f000000000000000000000000dd5d584189b4b07a452d3976448d0839920950df000000000000000000000000000000000000000000000000000000000000000c4d7943727970746f506c6179000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d43500000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): MyCryptoPlay
Arg [1] : symbol (string): MCP
Arg [2] : totalSupply (uint256): 14000000
Arg [3] : feeReceiver (address): 0x3D82F748eD2700b99c2fE17ED71D4a139C8c8ba9
Arg [4] : tokenOwnerAddress (address): 0x3D82F748eD2700b99c2fE17ED71D4a139C8c8ba9
Arg [5] : development (address): 0xfa5287B1a6DFc711048c16Ca753bd2C60e1A2594
Arg [6] : teamReserved (address): 0xF4485355cd625ac15EC86E79F7A070C7aD3d20aD
Arg [7] : mcpStaking (address): 0x6Bb20755704C28f6Ee281901f7580D8CFf37cb18
Arg [8] : marketing (address): 0xA13a36AF3e319C14f09CF4b5b0190eb2d44cc33F
Arg [9] : privateSale (address): 0xdD5D584189B4b07A452d3976448D0839920950df
-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000140
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 0000000000000000000000000000000000000000000000000000000000d59f80
Arg [3] : 0000000000000000000000003d82f748ed2700b99c2fe17ed71d4a139c8c8ba9
Arg [4] : 0000000000000000000000003d82f748ed2700b99c2fe17ed71d4a139c8c8ba9
Arg [5] : 000000000000000000000000fa5287b1a6dfc711048c16ca753bd2c60e1a2594
Arg [6] : 000000000000000000000000f4485355cd625ac15ec86e79f7a070c7ad3d20ad
Arg [7] : 0000000000000000000000006bb20755704c28f6ee281901f7580d8cff37cb18
Arg [8] : 000000000000000000000000a13a36af3e319c14f09cf4b5b0190eb2d44cc33f
Arg [9] : 000000000000000000000000dd5d584189b4b07a452d3976448d0839920950df
Arg [10] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [11] : 4d7943727970746f506c61790000000000000000000000000000000000000000
Arg [12] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [13] : 4d43500000000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
17693:2340:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19637:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9231:157;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8218:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15209:47;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9859:265;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15097:50;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19949:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10533:206;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19446:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8381:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15154:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19785:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11242:216;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15037:53;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8713:165;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16794:577;;;:::i;:::-;;8941:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19637:81;19674:13;19705:5;19698:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19637:81;:::o;9231:157::-;9305:4;9322:36;9331:10;9343:7;9352:5;9322:8;:36::i;:::-;9376:4;9369:11;;9231:157;;;;:::o;8218:100::-;8271:7;8298:12;;8291:19;;8218:100;:::o;15209:47::-;;;;;;;;;;;;;;;;;:::o;9859:265::-;9957:4;9974:36;9984:6;9992:9;10003:6;9974:9;:36::i;:::-;10021:73;10030:6;10038:10;10050:43;10086:6;10050:11;:19;10062:6;10050:19;;;;;;;;;;;;;;;:31;10070:10;10050:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;10021:8;:73::i;:::-;10112:4;10105:11;;9859:265;;;;;:::o;15097:50::-;;;;;;;;;;;;;;;;;:::o;19949:81::-;19990:5;20013:9;;;;;;;;;;;20006:16;;19949:81;:::o;10533:206::-;10613:4;10630:79;10639:10;10651:7;10660:48;10697:10;10660:11;:23;10672:10;10660:23;;;;;;;;;;;;;;;:32;10684:7;10660:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;10630:8;:79::i;:::-;10727:4;10720:11;;10533:206;;;;:::o;19446:77::-;19491:24;19497:10;19509:5;19491;:24::i;:::-;19446:77;:::o;8381:119::-;8447:7;8474:9;:18;8484:7;8474:18;;;;;;;;;;;;;;;;8467:25;;8381:119;;;:::o;15154:48::-;;;;;;;;;;;;;;;;;:::o;19785:85::-;19824:13;19855:7;19848:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19785:85;:::o;11242:216::-;11327:4;11344:84;11353:10;11365:7;11374:53;11411:15;11374:11;:23;11386:10;11374:23;;;;;;;;;;;;;;;:32;11398:7;11374:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;11344:8;:84::i;:::-;11446:4;11439:11;;11242:216;;;;:::o;15037:53::-;;;;;;;;;;;;;;;;;:::o;8713:165::-;8791:4;8808:40;8818:10;8830:9;8841:6;8808:9;:40::i;:::-;8866:4;8859:11;;8713:165;;;;:::o;16794:577::-;16834:20;16857:42;16834:65;;16960:1;16932:12;:24;16945:10;16932:24;;;;;;;;;;;;;;;;:29;;:126;;;;;17001:57;17030:15;:27;17046:10;17030:27;;;;;;;;;;;;;;;;17001:12;:24;17014:10;17001:24;;;;;;;;;;;;;;;;:28;;:57;;;;:::i;:::-;16982:15;:76;;16932:126;16910:262;;;;;;;;;;;;:::i;:::-;;;;;;;;;17200:12;17186:26;;:10;:26;;;17183:94;;;17258:7;17228:15;:27;17244:10;17228:27;;;;;;;;;;;;;;;:37;;;;17183:94;17314:15;17287:12;:24;17300:10;17287:24;;;;;;;;;;;;;;;:42;;;;17340:23;17352:10;17340:11;:23::i;:::-;16794:577;:::o;8941:143::-;9022:7;9049:11;:18;9061:5;9049:18;;;;;;;;;;;;;;;:27;9068:7;9049:27;;;;;;;;;;;;;;;;9042:34;;8941:143;;;;:::o;4766:470::-;4824:7;5073:1;5068;:6;5064:47;;;5098:1;5091:8;;;;5064:47;5123:9;5139:1;5135;:5;;;;:::i;:::-;5123:17;;5168:1;5163;5159;:5;;;;:::i;:::-;:10;5151:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;5227:1;5220:8;;;4766:470;;;;;:::o;3875:181::-;3933:7;3953:9;3969:1;3965;:5;;;;:::i;:::-;3953:17;;3994:1;3989;:6;;3981:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;4047:1;4040:8;;;3875:181;;;;:::o;5704:333::-;5762:7;5861:1;5857;:5;5849:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;5904:9;5920:1;5916;:5;;;;:::i;:::-;5904:17;;6028:1;6021:8;;;5704:333;;;;:::o;4331:184::-;4389:7;4422:1;4417;:6;;4409:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;4469:9;4485:1;4481;:5;;;;:::i;:::-;4469:17;;4506:1;4499:8;;;4331:184;;;;:::o;14045:335::-;14155:1;14138:19;;:5;:19;;;;14130:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14236:1;14217:21;;:7;:21;;;;14209:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14320:5;14290:11;:18;14302:5;14290:18;;;;;;;;;;;;;;;:27;14309:7;14290:27;;;;;;;;;;;;;;;:35;;;;14357:7;14341:31;;14350:5;14341:31;;;14366:5;14341:31;;;;;;:::i;:::-;;;;;;;;14045:335;;;:::o;11948:429::-;12064:1;12046:20;;:6;:20;;;;12038:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12148:1;12127:23;;:9;:23;;;;12119:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12223:29;12245:6;12223:9;:17;12233:6;12223:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;12203:9;:17;12213:6;12203:17;;;;;;;;;;;;;;;:49;;;;12286:32;12311:6;12286:9;:20;12296:9;12286:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12263:9;:20;12273:9;12263:20;;;;;;;;;;;;;;;:55;;;;12351:9;12334:35;;12343:6;12334:35;;;12362:6;12334:35;;;;;;:::i;:::-;;;;;;;;11948:429;;;:::o;13299:306::-;13393:1;13374:21;;:7;:21;;;;13366:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13461:23;13478:5;13461:12;;:16;;:23;;;;:::i;:::-;13446:12;:38;;;;13516:29;13539:5;13516:9;:18;13526:7;13516:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;13495:9;:18;13505:7;13495:18;;;;;;;;;;;;;;;:50;;;;13587:1;13561:36;;13570:7;13561:36;;;13591:5;13561:36;;;;;;:::i;:::-;;;;;;;;13299:306;;:::o;15265:541::-;15383:1;15349:18;:31;15368:11;15349:31;;;;;;;;;;;;;;;;:35;:117;;;;;15440:13;:26;15454:11;15440:26;;;;;;;;;;;;;;;;15405:18;:31;15424:11;15405:31;;;;;;;;;;;;;;;;:61;;15349:117;15327:224;;;;;;;;;;;;:::i;:::-;;;;;;;;;15596:87;15646:13;:26;15660:11;15646:26;;;;;;;;;;;;;;;;15596:18;:31;15615:11;15596:31;;;;;;;;;;;;;;;;:35;;:87;;;;:::i;:::-;15562:18;:31;15581:11;15562:31;;;;;;;;;;;;;;;:121;;;;15694:104;15714:11;15740:47;15783:2;15771;:15;;;;:::i;:::-;15740:13;:26;15754:11;15740:26;;;;;;;;;;;;;;;;:30;;:47;;;;:::i;:::-;15694:5;:104::i;:::-;15265:541;:::o;12658:308::-;12753:1;12734:21;;:7;:21;;;;12726:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;12819:24;12836:6;12819:12;;:16;;:24;;;;:::i;:::-;12804:12;:39;;;;12875:30;12898:6;12875:9;:18;12885:7;12875:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;12854:9;:18;12864:7;12854:18;;;;;;;;;;;;;;;:51;;;;12942:7;12921:37;;12938:1;12921:37;;;12951:6;12921:37;;;;;;:::i;:::-;;;;;;;;12658:308;;:::o;7:139:1:-;;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;;;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;;;;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:262::-;;2057:2;2045:9;2036:7;2032:23;2028:32;2025:2;;;2073:1;2070;2063:12;2025:2;2116:1;2141:53;2186:7;2177:6;2166:9;2162:22;2141:53;:::i;:::-;2131:63;;2087:117;2015:196;;;;:::o;2217:109::-;2298:21;2313:5;2298:21;:::i;:::-;2293:3;2286:34;2276:50;;:::o;2332:364::-;;2448:39;2481:5;2448:39;:::i;:::-;2503:71;2567:6;2562:3;2503:71;:::i;:::-;2496:78;;2583:52;2628:6;2623:3;2616:4;2609:5;2605:16;2583:52;:::i;:::-;2660:29;2682:6;2660:29;:::i;:::-;2655:3;2651:39;2644:46;;2424:272;;;;;:::o;2702:367::-;;2865:67;2929:2;2924:3;2865:67;:::i;:::-;2858:74;;2962:34;2958:1;2953:3;2949:11;2942:55;3028:5;3023:2;3018:3;3014:12;3007:27;3060:2;3055:3;3051:12;3044:19;;2848:221;;;:::o;3075:366::-;;3238:67;3302:2;3297:3;3238:67;:::i;:::-;3231:74;;3335:34;3331:1;3326:3;3322:11;3315:55;3401:4;3396:2;3391:3;3387:12;3380:26;3432:2;3427:3;3423:12;3416:19;;3221:220;;;:::o;3447:325::-;;3610:67;3674:2;3669:3;3610:67;:::i;:::-;3603:74;;3707:29;3703:1;3698:3;3694:11;3687:50;3763:2;3758:3;3754:12;3747:19;;3593:179;;;:::o;3778:328::-;;3941:67;4005:2;4000:3;3941:67;:::i;:::-;3934:74;;4038:32;4034:1;4029:3;4025:11;4018:53;4097:2;4092:3;4088:12;4081:19;;3924:182;;;:::o;4112:324::-;;4275:67;4339:2;4334:3;4275:67;:::i;:::-;4268:74;;4372:28;4368:1;4363:3;4359:11;4352:49;4427:2;4422:3;4418:12;4411:19;;4258:178;;;:::o;4442:365::-;;4605:67;4669:2;4664:3;4605:67;:::i;:::-;4598:74;;4702:34;4698:1;4693:3;4689:11;4682:55;4768:3;4763:2;4758:3;4754:12;4747:25;4798:2;4793:3;4789:12;4782:19;;4588:219;;;:::o;4813:365::-;;4976:67;5040:2;5035:3;4976:67;:::i;:::-;4969:74;;5073:34;5069:1;5064:3;5060:11;5053:55;5139:3;5134:2;5129:3;5125:12;5118:25;5169:2;5164:3;5160:12;5153:19;;4959:219;;;:::o;5184:452::-;;5347:67;5411:2;5406:3;5347:67;:::i;:::-;5340:74;;5444:34;5440:1;5435:3;5431:11;5424:55;5510:34;5505:2;5500:3;5496:12;5489:56;5576:24;5571:2;5566:3;5562:12;5555:46;5627:2;5622:3;5618:12;5611:19;;5330:306;;;:::o;5642:369::-;;5805:67;5869:2;5864:3;5805:67;:::i;:::-;5798:74;;5902:34;5898:1;5893:3;5889:11;5882:55;5968:7;5963:2;5958:3;5954:12;5947:29;6002:2;5997:3;5993:12;5986:19;;5788:223;;;:::o;6017:368::-;;6180:67;6244:2;6239:3;6180:67;:::i;:::-;6173:74;;6277:34;6273:1;6268:3;6264:11;6257:55;6343:6;6338:2;6333:3;6329:12;6322:28;6376:2;6371:3;6367:12;6360:19;;6163:222;;;:::o;6391:389::-;;6554:67;6618:2;6613:3;6554:67;:::i;:::-;6547:74;;6651:34;6647:1;6642:3;6638:11;6631:55;6717:27;6712:2;6707:3;6703:12;6696:49;6771:2;6766:3;6762:12;6755:19;;6537:243;;;:::o;6786:329::-;;6949:67;7013:2;7008:3;6949:67;:::i;:::-;6942:74;;7046:33;7042:1;7037:3;7033:11;7026:54;7106:2;7101:3;7097:12;7090:19;;6932:183;;;:::o;7121:118::-;7208:24;7226:5;7208:24;:::i;:::-;7203:3;7196:37;7186:53;;:::o;7245:112::-;7328:22;7344:5;7328:22;:::i;:::-;7323:3;7316:35;7306:51;;:::o;7363:210::-;;7488:2;7477:9;7473:18;7465:26;;7501:65;7563:1;7552:9;7548:17;7539:6;7501:65;:::i;:::-;7455:118;;;;:::o;7579:313::-;;7730:2;7719:9;7715:18;7707:26;;7779:9;7773:4;7769:20;7765:1;7754:9;7750:17;7743:47;7807:78;7880:4;7871:6;7807:78;:::i;:::-;7799:86;;7697:195;;;;:::o;7898:419::-;;8102:2;8091:9;8087:18;8079:26;;8151:9;8145:4;8141:20;8137:1;8126:9;8122:17;8115:47;8179:131;8305:4;8179:131;:::i;:::-;8171:139;;8069:248;;;:::o;8323:419::-;;8527:2;8516:9;8512:18;8504:26;;8576:9;8570:4;8566:20;8562:1;8551:9;8547:17;8540:47;8604:131;8730:4;8604:131;:::i;:::-;8596:139;;8494:248;;;:::o;8748:419::-;;8952:2;8941:9;8937:18;8929:26;;9001:9;8995:4;8991:20;8987:1;8976:9;8972:17;8965:47;9029:131;9155:4;9029:131;:::i;:::-;9021:139;;8919:248;;;:::o;9173:419::-;;9377:2;9366:9;9362:18;9354:26;;9426:9;9420:4;9416:20;9412:1;9401:9;9397:17;9390:47;9454:131;9580:4;9454:131;:::i;:::-;9446:139;;9344:248;;;:::o;9598:419::-;;9802:2;9791:9;9787:18;9779:26;;9851:9;9845:4;9841:20;9837:1;9826:9;9822:17;9815:47;9879:131;10005:4;9879:131;:::i;:::-;9871:139;;9769:248;;;:::o;10023:419::-;;10227:2;10216:9;10212:18;10204:26;;10276:9;10270:4;10266:20;10262:1;10251:9;10247:17;10240:47;10304:131;10430:4;10304:131;:::i;:::-;10296:139;;10194:248;;;:::o;10448:419::-;;10652:2;10641:9;10637:18;10629:26;;10701:9;10695:4;10691:20;10687:1;10676:9;10672:17;10665:47;10729:131;10855:4;10729:131;:::i;:::-;10721:139;;10619:248;;;:::o;10873:419::-;;11077:2;11066:9;11062:18;11054:26;;11126:9;11120:4;11116:20;11112:1;11101:9;11097:17;11090:47;11154:131;11280:4;11154:131;:::i;:::-;11146:139;;11044:248;;;:::o;11298:419::-;;11502:2;11491:9;11487:18;11479:26;;11551:9;11545:4;11541:20;11537:1;11526:9;11522:17;11515:47;11579:131;11705:4;11579:131;:::i;:::-;11571:139;;11469:248;;;:::o;11723:419::-;;11927:2;11916:9;11912:18;11904:26;;11976:9;11970:4;11966:20;11962:1;11951:9;11947:17;11940:47;12004:131;12130:4;12004:131;:::i;:::-;11996:139;;11894:248;;;:::o;12148:419::-;;12352:2;12341:9;12337:18;12329:26;;12401:9;12395:4;12391:20;12387:1;12376:9;12372:17;12365:47;12429:131;12555:4;12429:131;:::i;:::-;12421:139;;12319:248;;;:::o;12573:419::-;;12777:2;12766:9;12762:18;12754:26;;12826:9;12820:4;12816:20;12812:1;12801:9;12797:17;12790:47;12854:131;12980:4;12854:131;:::i;:::-;12846:139;;12744:248;;;:::o;12998:222::-;;13129:2;13118:9;13114:18;13106:26;;13142:71;13210:1;13199:9;13195:17;13186:6;13142:71;:::i;:::-;13096:124;;;;:::o;13226:214::-;;13353:2;13342:9;13338:18;13330:26;;13366:67;13430:1;13419:9;13415:17;13406:6;13366:67;:::i;:::-;13320:120;;;;:::o;13446:99::-;;13532:5;13526:12;13516:22;;13505:40;;;:::o;13551:169::-;;13669:6;13664:3;13657:19;13709:4;13704:3;13700:14;13685:29;;13647:73;;;;:::o;13726:305::-;;13785:20;13803:1;13785:20;:::i;:::-;13780:25;;13819:20;13837:1;13819:20;:::i;:::-;13814:25;;13973:1;13905:66;13901:74;13898:1;13895:81;13892:2;;;13979:18;;:::i;:::-;13892:2;14023:1;14020;14016:9;14009:16;;13770:261;;;;:::o;14037:185::-;;14094:20;14112:1;14094:20;:::i;:::-;14089:25;;14128:20;14146:1;14128:20;:::i;:::-;14123:25;;14167:1;14157:2;;14172:18;;:::i;:::-;14157:2;14214:1;14211;14207:9;14202:14;;14079:143;;;;:::o;14228:848::-;;;14320:6;14311:15;;14344:5;14335:14;;14358:712;14379:1;14369:8;14366:15;14358:712;;;14474:4;14469:3;14465:14;14459:4;14456:24;14453:2;;;14483:18;;:::i;:::-;14453:2;14533:1;14523:8;14519:16;14516:2;;;14948:4;14941:5;14937:16;14928:25;;14516:2;14998:4;14992;14988:15;14980:23;;15028:32;15051:8;15028:32;:::i;:::-;15016:44;;14358:712;;;14301:775;;;;;;;:::o;15082:285::-;;15166:23;15184:4;15166:23;:::i;:::-;15158:31;;15210:27;15228:8;15210:27;:::i;:::-;15198:39;;15256:104;15293:66;15283:8;15277:4;15256:104;:::i;:::-;15247:113;;15148:219;;;;:::o;15373:1073::-;;15618:8;15608:2;;15639:1;15630:10;;15641:5;;15608:2;15667:4;15657:2;;15684:1;15675:10;;15686:5;;15657:2;15753:4;15801:1;15796:27;;;;15837:1;15832:191;;;;15746:277;;15796:27;15814:1;15805:10;;15816:5;;;15832:191;15877:3;15867:8;15864:17;15861:2;;;15884:18;;:::i;:::-;15861:2;15933:8;15930:1;15926:16;15917:25;;15968:3;15961:5;15958:14;15955:2;;;15975:18;;:::i;:::-;15955:2;16008:5;;;15746:277;;16132:2;16122:8;16119:16;16113:3;16107:4;16104:13;16100:36;16082:2;16072:8;16069:16;16064:2;16058:4;16055:12;16051:35;16035:111;16032:2;;;16188:8;16182:4;16178:19;16169:28;;16223:3;16216:5;16213:14;16210:2;;;16230:18;;:::i;:::-;16210:2;16263:5;;16032:2;16303:42;16341:3;16331:8;16325:4;16322:1;16303:42;:::i;:::-;16288:57;;;;16377:4;16372:3;16368:14;16361:5;16358:25;16355:2;;;16386:18;;:::i;:::-;16355:2;16435:4;16428:5;16424:16;16415:25;;15433:1013;;;;;;:::o;16452:348::-;;16515:20;16533:1;16515:20;:::i;:::-;16510:25;;16549:20;16567:1;16549:20;:::i;:::-;16544:25;;16737:1;16669:66;16665:74;16662:1;16659:81;16654:1;16647:9;16640:17;16636:105;16633:2;;;16744:18;;:::i;:::-;16633:2;16792:1;16789;16785:9;16774:20;;16500:300;;;;:::o;16806:191::-;;16866:20;16884:1;16866:20;:::i;:::-;16861:25;;16900:20;16918:1;16900:20;:::i;:::-;16895:25;;16939:1;16936;16933:8;16930:2;;;16944:18;;:::i;:::-;16930:2;16989:1;16986;16982:9;16974:17;;16851:146;;;;:::o;17003:96::-;;17069:24;17087:5;17069:24;:::i;:::-;17058:35;;17048:51;;;:::o;17105:90::-;;17182:5;17175:13;17168:21;17157:32;;17147:48;;;:::o;17201:126::-;;17278:42;17271:5;17267:54;17256:65;;17246:81;;;:::o;17333:77::-;;17399:5;17388:16;;17378:32;;;:::o;17416:86::-;;17491:4;17484:5;17480:16;17469:27;;17459:43;;;:::o;17508:307::-;17576:1;17586:113;17600:6;17597:1;17594:13;17586:113;;;17685:1;17680:3;17676:11;17670:18;17666:1;17661:3;17657:11;17650:39;17622:2;17619:1;17615:10;17610:15;;17586:113;;;17717:6;17714:1;17711:13;17708:2;;;17797:1;17788:6;17783:3;17779:16;17772:27;17708:2;17557:258;;;;:::o;17821:320::-;;17902:1;17896:4;17892:12;17882:22;;17949:1;17943:4;17939:12;17970:18;17960:2;;18026:4;18018:6;18014:17;18004:27;;17960:2;18088;18080:6;18077:14;18057:18;18054:38;18051:2;;;18107:18;;:::i;:::-;18051:2;17872:269;;;;:::o;18147:180::-;18195:77;18192:1;18185:88;18292:4;18289:1;18282:15;18316:4;18313:1;18306:15;18333:180;18381:77;18378:1;18371:88;18478:4;18475:1;18468:15;18502:4;18499:1;18492:15;18519:180;18567:77;18564:1;18557:88;18664:4;18661:1;18654:15;18688:4;18685:1;18678:15;18705:102;;18797:2;18793:7;18788:2;18781:5;18777:14;18773:28;18763:38;;18753:54;;;:::o;18813:102::-;;18902:5;18899:1;18895:13;18874:34;;18864:51;;;:::o;18921:122::-;18994:24;19012:5;18994:24;:::i;:::-;18987:5;18984:35;18974:2;;19033:1;19030;19023:12;18974:2;18964:79;:::o;19049:122::-;19122:24;19140:5;19122:24;:::i;:::-;19115:5;19112:35;19102:2;;19161:1;19158;19151:12;19102:2;19092:79;:::o
Swarm Source
ipfs://96172cda278328f98aa0526d3cf7103019a0190fde4ad8262d81e103d8d7845b
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.