ERC-20
Overview
Max Total Supply
1,000,000,000,000,000 SHIB
Holders
13
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SHIBA
Compiler Version
v0.5.10+commit.5a6ea5b1
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-05-22 */ /* `` `oyyys+:. `-/+syyy- oyyyyyyyys/. ``...------------...`` `:oyyyyyyyyy` .yyyyyyyyyyyyo- `.--:::////////////////////:::--.`` -oyyyyyyyyyyyy/ -yyyyyyyyyyyyyys:` `.-::://///////////////////////////////::-.` `/syyyyyyyyyyyyyyo :yyyyyyyyyyyyyyyys/:///////////////////////////////////////////+yyyyyyyyyyyyyyyyys :yyyssssyyyyyyyyyyys+////////////////////////////////////////+yyyyyyyyyyyssssyyyys :yyysssssssyyyyyyyyyys+////////////////////////////////////+syyyyyyyyyyssssssyyyy+ -yyysssssssssyyyyyyyyyys////++oosssyyyyyyyyyyyysssoo++////oyyyyyyyyyyssssssssyyyy: `yyyssssssssssyyyyyyyyyyyssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssyyyyyyyyyssssssssssyyyy. syyyssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssssyyys /yyysssssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssssyyyy: .yyysssssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysssssssssyyyy. `:syyyssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssssssyyyyo:. .:/+yyyysssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssssyyyy///- .:///syyyssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssyyyyo////- .:////+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy//////- `://////oyyyyyyyyyyyyyyhddmdhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhddddhhyyyyyyyyyyyyyy+///////. :////////syyyyyyyyyyyhmNMMMMMNdyyyyyyyyyyyyyyyyyyyyyyyyyyyhmNMMMMMNdyyyyyyyyyyyys/////////` -/////////+yyyyyyyyyyymMMMMMMMMMdyyyyyyyyyyyyyyyyyyyyyyyyyyNMMMMMMMMMhyyyyyyyyyyy+/////////: `://///////syyyyyyyyyyymMMMMMMMMMmyyyyyyyyyyyyyyyyyyyyyyyyyyNMMMMMMMMMhyyyyyyyyyyyy//////////. -/////////syyyyyyyyyyyyyddddddddhyyyyyyyyyyyyyyyyyyyyyyyyyyyhhdddddddhyyyyyyyyyyyyyy/////////: :////////oyyyyyyyyyyyyoosyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyso+oyyyyyyyyyyys/////////` `////////+yyyyyyyyyyyy+ .:+yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyys/-` yyyyyyyyyyyyo////////- .////////yyyyyyyyyyyyy/ -/syyyyyyyyyyyyyyyyyyyyyyyyyyyyyo:. syyyyyyyyyyyy+///////: -///////oyyyyyyyyyyyyys. ./syyyyyyyyyyyyyyyyyyyyyyyo:` :yyyyyyyyyyyyys///////: -///////yyyyyyyyyyyyyyyys/-` -syyyyyyyyyyyyyyyyyyyo. `:+yyyyyyyyyyyyyyyy+/////// -//////oyyyyyyyyyyyyyyyyyyyys+/:-.` .yyyyyyyyyyyyyyyyyyy` ``.-:/oyyyyyyyyyyyyyyyyyyyys//////: .//////syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhdmmNNMMMMMNNmdhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy//////: `//////yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhdNMMMMMMMMMMMMMMMMMmdhyyyyyyyyyyyyyyyyyyyyyyyyyyyyy//////- :////+yyyyyyyyyyyyyyyyyyyyyyyyyyyyhmMMMMMMMMMMMMMMMMMMMMMMNdhyyyyyyyyyyyyyyyyyyyyyyyyyyy+/////. -////odmmmmmmmmdddhyyyyyyyyyyyyyydMMMMMMMMh/::::::::/yMMMMMMNhyyyyyyyyyyyyyhhdddmmmmmmddo////: `////sMMMMMMMMMMMMMNNmhhyyyyyyyhNMMMMMMMMM` dMMMMMMMdyyyyyyyyhdmNMMMMMMMMMMMMMo////- -////NMMMMMMMMMMMMMMMMNmhyyyyhNMMMMMMMMMM` dMMMMMMMMdyyyyhmNMMMMMMMMMMMMMMMMN////:` `:///sMMMMMMMMMMMMMMMMMMMNdhhNMMMMMMMMMMMs` -MMMMMMMMMMhydNMMMMMMMMMMMMMMMMMMMs////. .////yMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMmo-` .oNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMh////- .////sNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNmo /dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy////: -////+dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh oMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNs////:` -/////smMMMMMMMMMMMMMMMMMMMMMMMMmsoohdddds. `/ddddyoosMMMMMMMMMMMMMMMMMMMMMMMd+////:` .://///ymMMMMMMMMMMMMMMMMMMMMMMM+ :o+/::--::/+os. /MMMMMMMMMMMMMMMMMMMMMms/////-` `://////smMMMMMMMMMMMMMMMMMMMMMNy +MMo+y:-o+sMMM-`hNMMMMMMMMMMMMMMMMMMMms/////:. `-://////odNMMMMMMMMMMMMMMMMMMMM+oMMMMMdhMMMMMM+yMMMMMMMMMMMMMMMMMMNdo//////:` `:///////+smNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNmy+//////:. .:////////+ydNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNmyo///////:-` .://///////+shNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNds+////////:-` .-://////////+shmNMMMMMMMMMMMMMMMMMMMMMMMMMMMNNdyo//////////:.` `.::///////////+oyhmNNMMMMMMMMMMMMMMMNNmhyo+///////////:-` `.:://////////////+osyyhhddhhhysso+/////////////::-. `.-::////////////////////////////////////::-.` `.-:://////////////////////////::-..` ``..---:::::::::::::--..` */ pragma solidity 0.5.10; /* * SHIBA TOKEN - The Dogecoin Killer * * https://shibatoken.com * Telegram Group 1: https://t.me/ShibaInuTheDogecoinKiller * Telegram Group 2: https://t.me/ShibaInuTheDogecoinKiller2 * Telegram Group 3: https://t.me/ShibaInuTheDogecoinKiller3 * * Decentralized Meme Tokens that grew into a vibrant ecosystem * ShibaSwap. Fun tokens. Artist incubator. * Growing 999k+ Community & more on the horizon! * * SHIB is an experiment in decentralized spontaneous community building. * SHIB token is our first token and allows users to hold Billions or even Trillions of them. * Nicknamed the DOGECOIN KILLER, this ERC-20 ONLY token can remain well under a penny and still outpace Dogecoin in a small amount of time (relatively speaking). * * We locked the 50% of the total supply to Uniswap and threw away the keys! * The remaining 50% was burned to Vitalik Buterin and we were the first project following this path, so everyone has to buy on the open market, ensuring a fair and complete distribution where devs don't own team tokens they can dump on the community. */ /** * @title SafeMath * @dev Unsigned math operations with safety checks that revert on error. */ library SafeMath { function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address internal _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() internal { _owner = msg.sender; emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "Caller is not the owner"); _; } function isOwner(address account) public view returns (bool) { return account == _owner; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "New owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } function add(Role storage role, address account) internal { require(!has(role, account), "Roles: account already has role"); role.bearer[account] = true; } function remove(Role storage role, address account) internal { require(has(role, account), "Roles: account does not have role"); role.bearer[account] = false; } 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]; } } /** * @title MinterRole * @dev role for addresses who has permission to mint tokens. */ contract MinterRole is Ownable { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; modifier onlyMinter() { require(isMinter(msg.sender), "Caller has no permission"); _; } function isMinter(address account) public view returns (bool) { return(_minters.has(account) || isOwner(account)); } function addMinter(address account) public onlyOwner { _minters.add(account); emit MinterAdded(account); } function removeMinter(address account) public onlyOwner { _minters.remove(account); emit MinterRemoved(account); } } /** * @title HalterRole * @dev role for addresses who has permission to pause any token movement. */ contract HalterRole is Ownable { using Roles for Roles.Role; event HalterAdded(address indexed account); event HalterRemoved(address indexed account); Roles.Role private _halters; modifier onlyHalter() { require(isHalter(msg.sender), "Caller has no permission"); _; } function isHalter(address account) public view returns (bool) { return(_halters.has(account) || isOwner(account)); } function addHalter(address account) public onlyOwner { _halters.add(account); emit HalterAdded(account); } function removeHalter(address account) public onlyOwner { _halters.remove(account); emit HalterRemoved(account); } } /** * @title ERC20 interface * @dev see https://eips.ethereum.org/EIPS/eip-20 */ interface IERC20 { function transfer(address to, uint256 value) external returns (bool); function approve(address spender, uint256 value) external returns (bool); function transferFrom(address from, address to, uint256 value) external returns (bool); function totalSupply() external view returns (uint256); function balanceOf(address who) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * See https://eips.ethereum.org/EIPS/eip-20 */ contract ERC20 is IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowed; uint256 private _totalSupply; function totalSupply() public view returns (uint256) { return _totalSupply; } function balanceOf(address owner) public view returns (uint256) { return _balances[owner]; } function allowance(address owner, address spender) public view returns (uint256) { return _allowed[owner][spender]; } function transfer(address to, uint256 value) public returns (bool) { _transfer(msg.sender, to, value); return true; } function approve(address spender, uint256 value) public returns (bool) { _approve(msg.sender, spender, value); return true; } function transferFrom(address from, address to, uint256 value) public returns (bool) { _transfer(from, to, value); _approve(from, msg.sender, _allowed[from][msg.sender].sub(value)); return true; } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue)); return true; } function _transfer(address from, address to, uint256 value) internal { require(to != address(0)); _balances[from] = _balances[from].sub(value); _balances[to] = _balances[to].add(value); emit Transfer(from, to, value); } function _mint(address account, uint256 value) internal { require(account != address(0)); _totalSupply = _totalSupply.add(value); _balances[account] = _balances[account].add(value); emit Transfer(address(0), account, value); } function _approve(address owner, address spender, uint256 value) internal { require(spender != address(0)); require(owner != address(0)); _allowed[owner][spender] = value; emit Approval(owner, spender, value); } function _burn(address account, uint256 amount) internal { require(account != address(0)); _balances[account] = _balances[account].sub(amount); _totalSupply = _totalSupply.sub(amount); emit Transfer(account, address(0), amount); } function _burnFrom(address account, uint256 amount) internal { _burn(account, amount); _approve(account, msg.sender, _allowed[account][msg.sender].sub(amount)); } } /** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for. */ contract ERC20Burnable is ERC20 { function burn(uint256 amount) public { _burn(msg.sender, amount); } function burnFrom(address account, uint256 amount) public { _burnFrom(account, amount); } } /** * @dev Extension of {ERC20} that adds a set of accounts with the {MinterRole}, * which have permission to mint (create) new tokens as they see fit. */ contract ERC20Mintable is ERC20Burnable, MinterRole { function mint(address account, uint256 amount) public onlyMinter returns (bool) { _mint(account, amount); return true; } } /** * @dev Extension of {ERC20} that adds a possibility to temporary prevent any token movements. */ contract ERC20Haltable is ERC20Mintable, HalterRole { bool public paused; event Paused(address by); event Unpaused(address by); modifier notPaused() { require(!paused); _; } function pause() public onlyHalter { paused = true; emit Paused(msg.sender); } function unpause() public onlyHalter { paused = false; emit Unpaused(msg.sender); } function _transfer(address from, address to, uint256 value) internal notPaused { super._transfer(from, to, value); } function _mint(address account, uint256 value) internal notPaused { super._mint(account, value); } function _burn(address account, uint256 amount) internal notPaused { super._burn(account, amount); } } /** * @title ApproveAndCall Interface. * @dev ApproveAndCall system allows to communicate with smart-contracts. */ interface IApproveAndCallFallBack { function receiveApproval(address from, uint256 amount, address token, bytes calldata extraData) external; } /** * @title The main project contract. */ contract SHIBA is ERC20Haltable { string private _name = "SHIBA INU"; string private _symbol = "SHIB"; uint8 private _decimals = 18; uint256 internal constant _emission = 1000000000000000 * (10 ** 18); mapping (address => bool) private _contracts; bool public mintingFinished; mapping (address => uint256) internal holderMap; address[] public holderList; modifier onlyMinter() { if (mintingFinished) { revert(); } require(isMinter(msg.sender), "Caller has no permission"); _; } constructor() public { _addHolder(address(0)); } function _transfer(address from, address to, uint256 value) internal { if (value != 0) { if (holderMap[to] == 0) { _addHolder(to); } if (balanceOf(from).sub(value) == 0) { _removeHolder(from); } } super._transfer(from, to, value); } function _mint(address account, uint256 value) internal { require(totalSupply().add(value) <= _emission); if (value != 0 && holderMap[account] == 0) { _addHolder(account); } super._mint(account, value); } function _burn(address account, uint256 amount) internal { if (balanceOf(account).sub(amount) == 0) { _removeHolder(account); } super._burn(account, amount); } function _addHolder(address account) internal { holderList.push(account); holderMap[account] = holderList.length.sub(1); } function _removeHolder(address account) internal { if (holderList.length > 1) { holderList[holderMap[account]] = holderList[holderList.length.sub(1)]; holderMap[holderList[holderList.length.sub(1)]] = holderMap[account]; } holderMap[account] = 0; holderList.length = holderList.length.sub(1); } function approveAndCall(address spender, uint256 amount, bytes memory extraData) public returns (bool) { require(approve(spender, amount)); IApproveAndCallFallBack(spender).receiveApproval(msg.sender, amount, address(this), extraData); return true; } function transfer(address to, uint256 value) public returns (bool) { if (_contracts[to]) { approveAndCall(to, value, new bytes(0)); } else { super.transfer(to, value); } return true; } function registerContract(address addr) public onlyOwner { require(isContract(addr)); _contracts[addr] = true; } function unregisterContract(address addr) external onlyOwner { _contracts[addr] = false; } function finishMinting() external onlyMinter { mintingFinished = true; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function isRegistered(address addr) public view returns (bool) { return _contracts[addr]; } function isContract(address addr) internal view returns (bool) { uint size; assembly { size := extcodesize(addr) } return size > 0; } function amountOfHolders() public view returns (uint256) { return holderList.length.sub(1); } function holders() public view returns (address[] memory) { return holderList; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"holderList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"registerContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isHalter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","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":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"holders","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeHalter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amountOfHolders","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"addr","type":"address"}],"name":"isRegistered","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addHalter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"amount","type":"uint256"},{"name":"extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"unregisterContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"by","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"by","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"HalterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"HalterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"MinterRemoved","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":"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"}]
Contract Creation Code
60806040526040518060400160405280600981526020017f534849424120494e55000000000000000000000000000000000000000000000081525060079080519060200190620000519291906200028d565b506040518060400160405280600481526020017f5348494200000000000000000000000000000000000000000000000000000000815250600890805190602001906200009f9291906200028d565b506012600960006101000a81548160ff021916908360ff160217905550348015620000c957600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36200019a6000620001a060201b60201c565b6200033c565b600d8190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620002266001600d805490506200026c60201b620023601790919060201c565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000828211156200027c57600080fd5b600082840390508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002d057805160ff191683800117855562000301565b8280016001018555821562000301579182015b8281111562000300578251825591602001919060010190620002e3565b5b50905062000310919062000314565b5090565b6200033991905b80821115620003355760008160009055506001016200031b565b5090565b90565b613059806200034c6000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806379cc679011610125578063a74baaa4116100ad578063c440b5f61161007c578063c440b5f614610ae2578063cae9ca5114610b26578063dd62ed3e14610c23578063f2fde38b14610c9b578063fac2c62114610cdf5761021c565b8063a74baaa4146109a6578063a9059cbb146109c4578063aa271e1a14610a2a578063c3c5a54714610a865761021c565b80638da5cb5b116100f45780638da5cb5b146107eb57806395d89b4114610835578063983b2d56146108b8578063a1e8b4f1146108fc578063a457c2d7146109405761021c565b806379cc67901461072a5780637d64bcb4146107785780638188f71c146107825780638456cb59146107e15761021c565b8063313ce567116101a857806342966c681161017757806342966c681461061c5780635c975abb1461064a5780635fe0a0181461066c57806370a08231146106c8578063715018a6146107205761021c565b8063313ce5671461052257806339509351146105465780633f4ba83a146105ac57806340c10f19146105b65761021c565b806318160ddd116101ef57806318160ddd1461039a57806322a5dde4146103b857806323b872dd146103fc5780632f54bf6e146104825780633092afd5146104de5761021c565b806305d2035b1461022157806306fdde0314610243578063095ea7b3146102c657806316ad42ad1461032c575b600080fd5b610229610d23565b604051808215151515815260200191505060405180910390f35b61024b610d36565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610312600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dd8565b604051808215151515815260200191505060405180910390f35b6103586004803603602081101561034257600080fd5b8101908080359060200190929190505050610def565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103a2610e2b565b6040518082815260200191505060405180910390f35b6103fa600480360360208110156103ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e35565b005b6104686004803603606081101561041257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1d565b604051808215151515815260200191505060405180910390f35b6104c46004803603602081101561049857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fce565b604051808215151515815260200191505060405180910390f35b610520600480360360208110156104f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611028565b005b61052a6110fd565b604051808260ff1660ff16815260200191505060405180910390f35b6105926004803603604081101561055c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611114565b604051808215151515815260200191505060405180910390f35b6105b46111b9565b005b610602600480360360408110156105cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112b4565b604051808215151515815260200191505060405180910390f35b6106486004803603602081101561063257600080fd5b810190808035906020019092919050505061135f565b005b61065261136c565b604051808215151515815260200191505060405180910390f35b6106ae6004803603602081101561068257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137f565b604051808215151515815260200191505060405180910390f35b61070a600480360360208110156106de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ac565b6040518082815260200191505060405180910390f35b6107286113f4565b005b6107766004803603604081101561074057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611530565b005b61078061153e565b005b61078a6115f0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107cd5780820151818401526020810190506107b2565b505050509050019250505060405180910390f35b6107e961167e565b005b6107f3611779565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61083d6117a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087d578082015181840152602081019050610862565b50505050905090810190601f1680156108aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108fa600480360360208110156108ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611845565b005b61093e6004803603602081101561091257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061191a565b005b61098c6004803603604081101561095657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119ef565b604051808215151515815260200191505060405180910390f35b6109ae611a94565b6040518082815260200191505060405180910390f35b610a10600480360360408110156109da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ab4565b604051808215151515815260200191505060405180910390f35b610a6c60048036036020811015610a4057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b63565b604051808215151515815260200191505060405180910390f35b610ac860048036036020811015610a9c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b90565b604051808215151515815260200191505060405180910390f35b610b2460048036036020811015610af857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611be6565b005b610c0960048036036060811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610b8357600080fd5b820183602082011115610b9557600080fd5b80359060200191846001830284011164010000000083111715610bb757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611cbb565b604051808215151515815260200191505060405180910390f35b610c8560048036036040811015610c3957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e1b565b6040518082815260200191505060405180910390f35b610cdd60048036036020811015610cb157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea2565b005b610d2160048036036020811015610cf557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612080565b005b600b60009054906101000a900460ff1681565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b5050505050905090565b6000610de5338484612156565b6001905092915050565b600d8181548110610dfc57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b610e3e33610fce565b610eb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b610eb9816122b5565b610ec257600080fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610f2a8484846122c8565b610fc38433610fbe85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b612156565b600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b61103133610fce565b6110a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6110b781600461238090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000600960009054906101000a900460ff16905090565b60006111af33846111aa85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b612156565b6001905092915050565b6111c23361137f565b611234576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b6000600660006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600b60009054906101000a900460ff16156112d057600080fd5b6112d933611b63565b61134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b611355838361245c565b6001905092915050565b61136933826124fd565b50565b600660009054906101000a900460ff1681565b600061139582600561253890919063ffffffff16565b806113a557506113a482610fce565b5b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113fd33610fce565b61146f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61153a8282612616565b5050565b600b60009054906101000a900460ff161561155857600080fd5b61156133611b63565b6115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b6001600b60006101000a81548160ff021916908315150217905550565b6060600d80548060200260200160405190810160405280929190818152602001828054801561167457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161162a575b5050505050905090565b6116873361137f565b6116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b6001600660006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561183b5780601f106118105761010080835404028352916020019161183b565b820191906000526020600020905b81548152906001019060200180831161181e57829003601f168201915b5050505050905090565b61184e33610fce565b6118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6118d48160046126bd90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61192333610fce565b611995576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6119a981600561238090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f4aea7d7b9f1c782799f10f55c8dd49fbe23c0824d22887043ec8cb631e9289e560405160405180910390a250565b6000611a8a3384611a8585600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b612156565b6001905092915050565b6000611aaf6001600d8054905061236090919063ffffffff16565b905090565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b4d57611b47838360006040519080825280601f01601f191660200182016040528015611b415781602001600182028038833980820191505090505b50611cbb565b50611b59565b611b578383612798565b505b6001905092915050565b6000611b7982600461253890919063ffffffff16565b80611b895750611b8882610fce565b5b9050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611bef33610fce565b611c61576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b611c758160056126bd90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fc3957472ba41ba0725d850fd85857b6c5ea0070f71229e02b17fb370eb0abba760405160405180910390a250565b6000611cc78484610dd8565b611cd057600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611da9578082015181840152602081019050611d8e565b50505050905090810190601f168015611dd65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611df857600080fd5b505af1158015611e0c573d6000803e3d6000fd5b50505050600190509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611eab33610fce565b611f1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4e6577206f776e657220697320746865207a65726f206164647265737300000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61208933610fce565b6120fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561219057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121ca57600080fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080823b905060008111915050919050565b60008114612350576000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561232257612321826127af565b5b600061233f82612331866113ac565b61236090919063ffffffff16565b141561234f5761234e83612874565b5b5b61235b838383612aa8565b505050565b60008282111561236f57600080fd5b600082840390508091505092915050565b61238a8282612538565b6123df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fe26021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008082840190508381101561245257600080fd5b8091505092915050565b6d314dc6448d9338c15b0a0000000061248582612477610e2b565b61243d90919063ffffffff16565b111561249057600080fd5b600081141580156124e057506000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156124ef576124ee826127af565b5b6124f98282612ad2565b5050565b600061251a8261250c856113ac565b61236090919063ffffffff16565b141561252a5761252982612874565b5b6125348282612afa565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806130036022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61262082826124fd565b6126b982336126b484600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b612156565b5050565b6126c78282612538565b1561273a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006127a53384846122c8565b6001905092915050565b600d8190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061282e6001600d8054905061236090919063ffffffff16565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6001600d805490501115612a3957600d61289d6001600d8054905061236090919063ffffffff16565b815481106128a757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548154811061291e57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c6000600d6129c56001600d8054905061236090919063ffffffff16565b815481106129cf57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a976001600d8054905061236090919063ffffffff16565b600d81612aa49190612f90565b5050565b600660009054906101000a900460ff1615612ac257600080fd5b612acd838383612b22565b505050565b600660009054906101000a900460ff1615612aec57600080fd5b612af68282612cec565b5050565b600660009054906101000a900460ff1615612b1457600080fd5b612b1e8282612e3e565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b5c57600080fd5b612bad816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c40816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d2657600080fd5b612d3b8160025461243d90919063ffffffff16565b600281905550612d92816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e7857600080fd5b612ec9816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f208160025461236090919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b815481835581811115612fb757818360005260206000209182019101612fb69190612fbc565b5b505050565b612fde91905b80821115612fda576000816000905550600101612fc2565b5090565b9056fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a265627a7a72305820f72bc9ad26052e779969e48bbde324972ea19346f0fcd9714900b1301acd30d064736f6c634300050a0032
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061021c5760003560e01c806379cc679011610125578063a74baaa4116100ad578063c440b5f61161007c578063c440b5f614610ae2578063cae9ca5114610b26578063dd62ed3e14610c23578063f2fde38b14610c9b578063fac2c62114610cdf5761021c565b8063a74baaa4146109a6578063a9059cbb146109c4578063aa271e1a14610a2a578063c3c5a54714610a865761021c565b80638da5cb5b116100f45780638da5cb5b146107eb57806395d89b4114610835578063983b2d56146108b8578063a1e8b4f1146108fc578063a457c2d7146109405761021c565b806379cc67901461072a5780637d64bcb4146107785780638188f71c146107825780638456cb59146107e15761021c565b8063313ce567116101a857806342966c681161017757806342966c681461061c5780635c975abb1461064a5780635fe0a0181461066c57806370a08231146106c8578063715018a6146107205761021c565b8063313ce5671461052257806339509351146105465780633f4ba83a146105ac57806340c10f19146105b65761021c565b806318160ddd116101ef57806318160ddd1461039a57806322a5dde4146103b857806323b872dd146103fc5780632f54bf6e146104825780633092afd5146104de5761021c565b806305d2035b1461022157806306fdde0314610243578063095ea7b3146102c657806316ad42ad1461032c575b600080fd5b610229610d23565b604051808215151515815260200191505060405180910390f35b61024b610d36565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610312600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dd8565b604051808215151515815260200191505060405180910390f35b6103586004803603602081101561034257600080fd5b8101908080359060200190929190505050610def565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103a2610e2b565b6040518082815260200191505060405180910390f35b6103fa600480360360208110156103ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e35565b005b6104686004803603606081101561041257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f1d565b604051808215151515815260200191505060405180910390f35b6104c46004803603602081101561049857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fce565b604051808215151515815260200191505060405180910390f35b610520600480360360208110156104f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611028565b005b61052a6110fd565b604051808260ff1660ff16815260200191505060405180910390f35b6105926004803603604081101561055c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611114565b604051808215151515815260200191505060405180910390f35b6105b46111b9565b005b610602600480360360408110156105cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112b4565b604051808215151515815260200191505060405180910390f35b6106486004803603602081101561063257600080fd5b810190808035906020019092919050505061135f565b005b61065261136c565b604051808215151515815260200191505060405180910390f35b6106ae6004803603602081101561068257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061137f565b604051808215151515815260200191505060405180910390f35b61070a600480360360208110156106de57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ac565b6040518082815260200191505060405180910390f35b6107286113f4565b005b6107766004803603604081101561074057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611530565b005b61078061153e565b005b61078a6115f0565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156107cd5780820151818401526020810190506107b2565b505050509050019250505060405180910390f35b6107e961167e565b005b6107f3611779565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61083d6117a3565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087d578082015181840152602081019050610862565b50505050905090810190601f1680156108aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108fa600480360360208110156108ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611845565b005b61093e6004803603602081101561091257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061191a565b005b61098c6004803603604081101561095657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119ef565b604051808215151515815260200191505060405180910390f35b6109ae611a94565b6040518082815260200191505060405180910390f35b610a10600480360360408110156109da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ab4565b604051808215151515815260200191505060405180910390f35b610a6c60048036036020811015610a4057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b63565b604051808215151515815260200191505060405180910390f35b610ac860048036036020811015610a9c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b90565b604051808215151515815260200191505060405180910390f35b610b2460048036036020811015610af857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611be6565b005b610c0960048036036060811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610b8357600080fd5b820183602082011115610b9557600080fd5b80359060200191846001830284011164010000000083111715610bb757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611cbb565b604051808215151515815260200191505060405180910390f35b610c8560048036036040811015610c3957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e1b565b6040518082815260200191505060405180910390f35b610cdd60048036036020811015610cb157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ea2565b005b610d2160048036036020811015610cf557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612080565b005b600b60009054906101000a900460ff1681565b606060078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dce5780601f10610da357610100808354040283529160200191610dce565b820191906000526020600020905b815481529060010190602001808311610db157829003601f168201915b5050505050905090565b6000610de5338484612156565b6001905092915050565b600d8181548110610dfc57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b610e3e33610fce565b610eb0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b610eb9816122b5565b610ec257600080fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610f2a8484846122c8565b610fc38433610fbe85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b612156565b600190509392505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b61103133610fce565b6110a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6110b781600461238090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000600960009054906101000a900460ff16905090565b60006111af33846111aa85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b612156565b6001905092915050565b6111c23361137f565b611234576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b6000600660006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600b60009054906101000a900460ff16156112d057600080fd5b6112d933611b63565b61134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b611355838361245c565b6001905092915050565b61136933826124fd565b50565b600660009054906101000a900460ff1681565b600061139582600561253890919063ffffffff16565b806113a557506113a482610fce565b5b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113fd33610fce565b61146f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61153a8282612616565b5050565b600b60009054906101000a900460ff161561155857600080fd5b61156133611b63565b6115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b6001600b60006101000a81548160ff021916908315150217905550565b6060600d80548060200260200160405190810160405280929190818152602001828054801561167457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161162a575b5050505050905090565b6116873361137f565b6116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f43616c6c657220686173206e6f207065726d697373696f6e000000000000000081525060200191505060405180910390fd5b6001600660006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561183b5780601f106118105761010080835404028352916020019161183b565b820191906000526020600020905b81548152906001019060200180831161181e57829003601f168201915b5050505050905090565b61184e33610fce565b6118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6118d48160046126bd90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61192333610fce565b611995576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6119a981600561238090919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f4aea7d7b9f1c782799f10f55c8dd49fbe23c0824d22887043ec8cb631e9289e560405160405180910390a250565b6000611a8a3384611a8585600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b612156565b6001905092915050565b6000611aaf6001600d8054905061236090919063ffffffff16565b905090565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b4d57611b47838360006040519080825280601f01601f191660200182016040528015611b415781602001600182028038833980820191505090505b50611cbb565b50611b59565b611b578383612798565b505b6001905092915050565b6000611b7982600461253890919063ffffffff16565b80611b895750611b8882610fce565b5b9050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611bef33610fce565b611c61576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b611c758160056126bd90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fc3957472ba41ba0725d850fd85857b6c5ea0070f71229e02b17fb370eb0abba760405160405180910390a250565b6000611cc78484610dd8565b611cd057600080fd5b8373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611da9578082015181840152602081019050611d8e565b50505050905090810190601f168015611dd65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611df857600080fd5b505af1158015611e0c573d6000803e3d6000fd5b50505050600190509392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611eab33610fce565b611f1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4e6577206f776e657220697320746865207a65726f206164647265737300000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61208933610fce565b6120fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561219057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121ca57600080fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080823b905060008111915050919050565b60008114612350576000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561232257612321826127af565b5b600061233f82612331866113ac565b61236090919063ffffffff16565b141561234f5761234e83612874565b5b5b61235b838383612aa8565b505050565b60008282111561236f57600080fd5b600082840390508091505092915050565b61238a8282612538565b6123df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fe26021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008082840190508381101561245257600080fd5b8091505092915050565b6d314dc6448d9338c15b0a0000000061248582612477610e2b565b61243d90919063ffffffff16565b111561249057600080fd5b600081141580156124e057506000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b156124ef576124ee826127af565b5b6124f98282612ad2565b5050565b600061251a8261250c856113ac565b61236090919063ffffffff16565b141561252a5761252982612874565b5b6125348282612afa565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806130036022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61262082826124fd565b6126b982336126b484600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b612156565b5050565b6126c78282612538565b1561273a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006127a53384846122c8565b6001905092915050565b600d8190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061282e6001600d8054905061236090919063ffffffff16565b600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6001600d805490501115612a3957600d61289d6001600d8054905061236090919063ffffffff16565b815481106128a757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548154811061291e57fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c6000600d6129c56001600d8054905061236090919063ffffffff16565b815481106129cf57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a976001600d8054905061236090919063ffffffff16565b600d81612aa49190612f90565b5050565b600660009054906101000a900460ff1615612ac257600080fd5b612acd838383612b22565b505050565b600660009054906101000a900460ff1615612aec57600080fd5b612af68282612cec565b5050565b600660009054906101000a900460ff1615612b1457600080fd5b612b1e8282612e3e565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b5c57600080fd5b612bad816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c40816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d2657600080fd5b612d3b8160025461243d90919063ffffffff16565b600281905550612d92816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461243d90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e7857600080fd5b612ec9816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f208160025461236090919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b815481835581811115612fb757818360005260206000209182019101612fb69190612fbc565b5b505050565b612fde91905b80821115612fda576000816000905550600101612fc2565b5090565b9056fe526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373a265627a7a72305820f72bc9ad26052e779969e48bbde324972ea19346f0fcd9714900b1301acd30d064736f6c634300050a0032
Deployed Bytecode Sourcemap
16145:3719:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16145:3719:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16431:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19087:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19087:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12011:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12011:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16523:27;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16523:27:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11511:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18738:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18738:135:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12167:228;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12167:228:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7427:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7427:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9390:137;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9390:137:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;19273:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12403:203;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12403:203:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15327:106;;;:::i;:::-;;14730:143;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14730:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14306:81;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14306:81:0;;;;;;;;;;;;;;;;;:::i;:::-;;15049:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9971:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9971:130:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11610:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11610:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7539:140;;;:::i;:::-;;14395:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14395:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;18993:86;;;:::i;:::-;;19765:94;;;:::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;19765:94:0;;;;;;;;;;;;;;;;;15218:101;;;:::i;:::-;;7225:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19178:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;19178:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9253:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9253:129:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10246:137;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10246:137:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12614:213;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12614:213:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19650:107;;;:::i;:::-;;;;;;;;;;;;;;;;;;;18473:257;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18473:257:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9115:130;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9115:130:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19364:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19364:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10109:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10109:129:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;18179:286;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18179:286:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;18179:286:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;18179:286:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;18179:286:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;18179:286:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11724:131;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11724:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7687:227;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7687:227:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;18881:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18881:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;16431:27;;;;;;;;;;;;;:::o;19087:83::-;19124:13;19157:5;19150:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19087:83;:::o;12011:148::-;12076:4;12093:36;12102:10;12114:7;12123:5;12093:8;:36::i;:::-;12147:4;12140:11;;12011:148;;;;:::o;16523:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11511:91::-;11555:7;11582:12;;11575:19;;11511:91;:::o;18738:135::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18814:16;18825:4;18814:10;:16::i;:::-;18806:25;;;;;;18861:4;18842:10;:16;18853:4;18842:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;18738:135;:::o;12167:228::-;12246:4;12263:26;12273:4;12279:2;12283:5;12263:9;:26::i;:::-;12300:65;12309:4;12315:10;12327:37;12358:5;12327:8;:14;12336:4;12327:14;;;;;;;;;;;;;;;:26;12342:10;12327:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;12300:8;:65::i;:::-;12383:4;12376:11;;12167:228;;;;;:::o;7427:104::-;7482:4;7517:6;;;;;;;;;;;7506:17;;:7;:17;;;7499:24;;7427:104;;;:::o;9390:137::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9457:24;9473:7;9457:8;:15;;:24;;;;:::i;:::-;9511:7;9497:22;;;;;;;;;;;;9390:137;:::o;19273:83::-;19314:5;19339:9;;;;;;;;;;;19332:16;;19273:83;:::o;12403:203::-;12483:4;12500:76;12509:10;12521:7;12530:45;12564:10;12530:8;:20;12539:10;12530:20;;;;;;;;;;;;;;;:29;12551:7;12530:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;12500:8;:76::i;:::-;12594:4;12587:11;;12403:203;;;;:::o;15327:106::-;9894:20;9903:10;9894:8;:20::i;:::-;9886:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15384:5;15375:6;;:14;;;;;;;;;;;;;;;;;;15405:20;15414:10;15405:20;;;;;;;;;;;;;;;;;;;;;;15327:106::o;14730:143::-;14804:4;16596:15;;;;;;;;;;;16592:56;;;16628:8;;;16592:56;16666:20;16675:10;16666:8;:20::i;:::-;16658:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14821:22;14827:7;14836:6;14821:5;:22::i;:::-;14861:4;14854:11;;14730:143;;;;:::o;14306:81::-;14354:25;14360:10;14372:6;14354:5;:25::i;:::-;14306:81;:::o;15049:18::-;;;;;;;;;;;;;:::o;9971:130::-;10027:4;10051:21;10064:7;10051:8;:12;;:21;;;;:::i;:::-;:41;;;;10076:16;10084:7;10076;:16::i;:::-;10051:41;10044:49;;9971:130;;;:::o;11610:106::-;11665:7;11692:9;:16;11702:5;11692:16;;;;;;;;;;;;;;;;11685:23;;11610:106;;;:::o;7539:140::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7638:1;7601:40;;7622:6;;;;;;;;;;;7601:40;;;;;;;;;;;;7669:1;7652:6;;:19;;;;;;;;;;;;;;;;;;7539:140::o;14395:103::-;14464:26;14474:7;14483:6;14464:9;:26::i;:::-;14395:103;;:::o;18993:86::-;16596:15;;;;;;;;;;;16592:56;;;16628:8;;;16592:56;16666:20;16675:10;16666:8;:20::i;:::-;16658:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19067:4;19049:15;;:22;;;;;;;;;;;;;;;;;;18993:86::o;19765:94::-;19805:16;19841:10;19834:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19765:94;:::o;15218:101::-;9894:20;9903:10;9894:8;:20::i;:::-;9886:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15273:4;15264:6;;:13;;;;;;;;;;;;;;;;;;15293:18;15300:10;15293:18;;;;;;;;;;;;;;;;;;;;;;15218:101::o;7225:79::-;7263:7;7290:6;;;;;;;;;;;7283:13;;7225:79;:::o;19178:87::-;19217:13;19250:7;19243:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19178:87;:::o;9253:129::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9317:21;9330:7;9317:8;:12;;:21;;;;:::i;:::-;9366:7;9354:20;;;;;;;;;;;;9253:129;:::o;10246:137::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10313:24;10329:7;10313:8;:15;;:24;;;;:::i;:::-;10367:7;10353:22;;;;;;;;;;;;10246:137;:::o;12614:213::-;12699:4;12716:81;12725:10;12737:7;12746:50;12780:15;12746:8;:20;12755:10;12746:20;;;;;;;;;;;;;;;:29;12767:7;12746:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;12716:8;:81::i;:::-;12815:4;12808:11;;12614:213;;;;:::o;19650:107::-;19698:7;19725:24;19747:1;19725:10;:17;;;;:21;;:24;;;;:::i;:::-;19718:31;;19650:107;:::o;18473:257::-;18534:4;18557:10;:14;18568:2;18557:14;;;;;;;;;;;;;;;;;;;;;;;;;18553:144;;;18588:39;18603:2;18607:5;18624:1;18614:12;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;18614:12:0;;;;18588:14;:39::i;:::-;;18553:144;;;18660:25;18675:2;18679:5;18660:14;:25::i;:::-;;18553:144;18716:4;18709:11;;18473:257;;;;:::o;9115:130::-;9171:4;9195:21;9208:7;9195:8;:12;;:21;;;;:::i;:::-;:41;;;;9220:16;9228:7;9220;:16::i;:::-;9195:41;9188:49;;9115:130;;;:::o;19364:105::-;19421:4;19445:10;:16;19456:4;19445:16;;;;;;;;;;;;;;;;;;;;;;;;;19438:23;;19364:105;;;:::o;10109:129::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10173:21;10186:7;10173:8;:12;;:21;;;;:::i;:::-;10222:7;10210:20;;;;;;;;;;;;10109:129;:::o;18179:286::-;18276:4;18301:24;18309:7;18318:6;18301:7;:24::i;:::-;18293:33;;;;;;18363:7;18339:48;;;18388:10;18400:6;18416:4;18423:9;18339:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;18339:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18339:94:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18339:94:0;;;;18453:4;18446:11;;18179:286;;;;;:::o;11724:131::-;11796:7;11823:8;:15;11832:5;11823:15;;;;;;;;;;;;;;;:24;11839:7;11823:24;;;;;;;;;;;;;;;;11816:31;;11724:131;;;;:::o;7687:227::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7788:1;7768:22;;:8;:22;;;;7760:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7869:8;7840:38;;7861:6;;;;;;;;;;;7840:38;;;;;;;;;;;;7898:8;7889:6;;:17;;;;;;;;;;;;;;;;;;7687:227;:::o;18881:104::-;7352:19;7360:10;7352:7;:19::i;:::-;7344:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18972:5;18953:10;:16;18964:4;18953:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;18881:104;:::o;13382:254::-;13494:1;13475:21;;:7;:21;;;;13467:30;;;;;;13533:1;13516:19;;:5;:19;;;;13508:28;;;;;;13576:5;13549:8;:15;13558:5;13549:15;;;;;;;;;;;;;;;:24;13565:7;13549:24;;;;;;;;;;;;;;;:32;;;;13613:7;13597:31;;13606:5;13597:31;;;13622:5;13597:31;;;;;;;;;;;;;;;;;;13382:254;;;:::o;19477:165::-;19534:4;19551:9;19602:4;19590:17;19582:25;;19633:1;19626:4;:8;19619:15;;;19477:165;;;:::o;16813:352::-;16906:1;16897:5;:10;16893:220;;16945:1;16928:9;:13;16938:2;16928:13;;;;;;;;;;;;;;;;:18;16924:73;;;16967:14;16978:2;16967:10;:14::i;:::-;16924:73;17045:1;17015:26;17035:5;17015:15;17025:4;17015:9;:15::i;:::-;:19;;:26;;;;:::i;:::-;:31;17011:91;;;17067:19;17081:4;17067:13;:19::i;:::-;17011:91;16893:220;17125:32;17141:4;17147:2;17151:5;17125:15;:32::i;:::-;16813:352;;;:::o;6440:150::-;6498:7;6531:1;6526;:6;;6518:15;;;;;;6544:9;6560:1;6556;:5;6544:17;;6581:1;6574:8;;;6440:150;;;;:::o;8288:183::-;8368:18;8372:4;8378:7;8368:3;:18::i;:::-;8360:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8458:5;8435:4;:11;;:20;8447:7;8435:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;8288:183;;:::o;6598:150::-;6656:7;6676:9;6692:1;6688;:5;6676:17;;6717:1;6712;:6;;6704:15;;;;;;6739:1;6732:8;;;6598:150;;;;:::o;17173:262::-;16340:29;17248:24;17266:5;17248:13;:11;:13::i;:::-;:17;;:24;;;;:::i;:::-;:37;;17240:46;;;;;;17312:1;17303:5;:10;;:37;;;;;17339:1;17317:9;:18;17327:7;17317:18;;;;;;;;;;;;;;;;:23;17303:37;17299:89;;;17357:19;17368:7;17357:10;:19::i;:::-;17299:89;17400:27;17412:7;17421:5;17400:11;:27::i;:::-;17173:262;;:::o;17443:206::-;17549:1;17515:30;17538:6;17515:18;17525:7;17515:9;:18::i;:::-;:22;;:30;;;;:::i;:::-;:35;17511:90;;;17567:22;17581:7;17567:13;:22::i;:::-;17511:90;17613:28;17625:7;17634:6;17613:11;:28::i;:::-;17443:206;;:::o;8481:203::-;8553:4;8597:1;8578:21;;:7;:21;;;;8570:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8656:4;:11;;:20;8668:7;8656:20;;;;;;;;;;;;;;;;;;;;;;;;;8649:27;;8481:203;;;;:::o;13925:185::-;13997:22;14003:7;14012:6;13997:5;:22::i;:::-;14030:72;14039:7;14048:10;14060:41;14094:6;14060:8;:17;14069:7;14060:17;;;;;;;;;;;;;;;:29;14078:10;14060:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;14030:8;:72::i;:::-;13925:185;;:::o;8102:178::-;8180:18;8184:4;8190:7;8180:3;:18::i;:::-;8179:19;8171:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8268:4;8245;:11;;:20;8257:7;8245:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;8102:178;;:::o;11863:140::-;11924:4;11941:32;11951:10;11963:2;11967:5;11941:9;:32::i;:::-;11991:4;11984:11;;11863:140;;;;:::o;17657:145::-;17714:10;17730:7;17714:24;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;17714:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17770;17792:1;17770:10;:17;;;;:21;;:24;;;;:::i;:::-;17749:9;:18;17759:7;17749:18;;;;;;;;;;;;;;;:45;;;;17657:145;:::o;17810:361::-;17894:1;17874:10;:17;;;;:21;17870:206;;;17945:10;17956:24;17978:1;17956:10;:17;;;;:21;;:24;;;;:::i;:::-;17945:36;;;;;;;;;;;;;;;;;;;;;;;;;17912:10;17923:9;:18;17933:7;17923:18;;;;;;;;;;;;;;;;17912:30;;;;;;;;;;;;;;;;:69;;;;;;;;;;;;;;;;;;18046:9;:18;18056:7;18046:18;;;;;;;;;;;;;;;;17996:9;:47;18006:10;18017:24;18039:1;18017:10;:17;;;;:21;;:24;;;;:::i;:::-;18006:36;;;;;;;;;;;;;;;;;;;;;;;;;17996:47;;;;;;;;;;;;;;;:68;;;;17870:206;18107:1;18086:9;:18;18096:7;18086:18;;;;;;;;;;;;;;;:22;;;;18139:24;18161:1;18139:10;:17;;;;:21;;:24;;;;:::i;:::-;18119:10;:44;;;;;:::i;:::-;;17810:361;:::o;15441:130::-;15183:6;;;;;;;;;;;15182:7;15174:16;;;;;;15531:32;15547:4;15553:2;15557:5;15531:15;:32::i;:::-;15441:130;;;:::o;15579:112::-;15183:6;;;;;;;;;;;15182:7;15174:16;;;;;;15656:27;15668:7;15677:5;15656:11;:27::i;:::-;15579:112;;:::o;15699:114::-;15183:6;;;;;;;;;;;15182:7;15174:16;;;;;;15777:28;15789:7;15798:6;15777:11;:28::i;:::-;15699:114;;:::o;12835:262::-;12937:1;12923:16;;:2;:16;;;;12915:25;;;;;;12971:26;12991:5;12971:9;:15;12981:4;12971:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;12953:9;:15;12963:4;12953:15;;;;;;;;;;;;;;;:44;;;;13024:24;13042:5;13024:9;:13;13034:2;13024:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;13008:9;:13;13018:2;13008:13;;;;;;;;;;;;;;;:40;;;;13079:2;13064:25;;13073:4;13064:25;;;13083:5;13064:25;;;;;;;;;;;;;;;;;;12835:262;;;:::o;13105:269::-;13199:1;13180:21;;:7;:21;;;;13172:30;;;;;;13230:23;13247:5;13230:12;;:16;;:23;;;;:::i;:::-;13215:12;:38;;;;13285:29;13308:5;13285:9;:18;13295:7;13285:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;13264:9;:18;13274:7;13264:18;;;;;;;;;;;;;;;:50;;;;13351:7;13330:36;;13347:1;13330:36;;;13360:5;13330:36;;;;;;;;;;;;;;;;;;13105:269;;:::o;13644:273::-;13739:1;13720:21;;:7;:21;;;;13712:30;;;;;;13776;13799:6;13776:9;:18;13786:7;13776:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;13755:9;:18;13765:7;13755:18;;;;;;;;;;;;;;;:51;;;;13832:24;13849:6;13832:12;;:16;;:24;;;;:::i;:::-;13817:12;:39;;;;13898:1;13872:37;;13881:7;13872:37;;;13902:6;13872:37;;;;;;;;;;;;;;;;;;13644:273;;:::o;16145:3719::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://f72bc9ad26052e779969e48bbde324972ea19346f0fcd9714900b1301acd30d0
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.