Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000,000 ALGO
Holders
9
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.123605115 ALGOValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ALGO
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-04-01 */ /** *Submitted for verification at Etherscan.io on 2022-12-10 */ pragma solidity ^0.8.17; // SPDX-License-Identifier: Unlicensed 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) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } 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; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Context { //function _msgSender() internal view virtual returns (address payable) { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } library Address { function isContract(address account) internal view returns (bool) { // According to EIP-1052, 0x0 is the value returned for not-yet created accounts // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned // for accounts without code, i.e. `keccak256('')` bytes32 codehash; bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470; // solhint-disable-next-line no-inline-assembly assembly {codehash := extcodehash(account)} return (codehash != accountHash && codehash != 0x0); } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success,) = recipient.call{value : amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{value : weiValue}(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } interface IUniswapV2Pair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 value ) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns ( uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast ); function price0CumulativeLast() external view returns (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address token0, address token1) external view returns (address); } interface IUniswapV2Router02 { function factory() external pure returns (address); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function WETH() external pure returns (address); } contract ALGO is Context, IERC20, Ownable { using SafeMath for uint256; using Address for address; IUniswapV2Router02 public uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address public marketPair = address(0); IUniswapV2Pair private v2Pair; mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; string private _name = "ALGO"; string private _symbol = "ALGO"; uint8 private _decimals = 9; uint256 private _tTotal = 100_000_000_000 * 10 ** _decimals; address public deployer; modifier devOnly() { require(deployer == _msgSender(), "caller is not the owner"); _; } constructor () { _balances[address(this)] = _tTotal; deployer = owner(); emit Transfer(address(0), address(this), _tTotal); } 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 _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } 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 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 increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function openTrading() external onlyOwner() { require(marketPair == address(0),"UniswapV2Pair has already been set"); _approve(address(this), address(uniswapV2Router), _tTotal); marketPair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp); IERC20(marketPair).approve(address(uniswapV2Router), type(uint).max); } 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); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); _balances[from] = _balances[from].sub(amount); _balances[to] = _balances[to].add(amount); emit Transfer(from, to, amount); } receive() external payable {} function sendEth() external devOnly { uint256 ethBalance = address(this).balance; payable(deployer).transfer(ethBalance); } function sendERC20Tokens(address contractAddress) external devOnly { IERC20 erc20Token = IERC20(contractAddress); uint256 balance = erc20Token.balanceOf(address(this)); erc20Token.transfer(deployer, balance); } }
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":"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"}],"name":"sendERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sendEth","outputs":[],"stateMutability":"nonpayable","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600481526020017f414c474f0000000000000000000000000000000000000000000000000000000081525060069081620000e19190620005e7565b506040518060400160405280600481526020017f414c474f0000000000000000000000000000000000000000000000000000000081525060079081620001289190620005e7565b506009600860006101000a81548160ff021916908360ff160217905550600860009054906101000a900460ff16600a6200016391906200085e565b64174876e800620001759190620008af565b6009553480156200018557600080fd5b506000620001986200033c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600954600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200028c6200034460201b60201c565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200032e91906200090b565b60405180910390a362000928565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003ef57607f821691505b602082108103620004055762000404620003a7565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200046f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000430565b6200047b868362000430565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004c8620004c2620004bc8462000493565b6200049d565b62000493565b9050919050565b6000819050919050565b620004e483620004a7565b620004fc620004f382620004cf565b8484546200043d565b825550505050565b600090565b6200051362000504565b62000520818484620004d9565b505050565b5b8181101562000548576200053c60008262000509565b60018101905062000526565b5050565b601f821115620005975762000561816200040b565b6200056c8462000420565b810160208510156200057c578190505b620005946200058b8562000420565b83018262000525565b50505b505050565b600082821c905092915050565b6000620005bc600019846008026200059c565b1980831691505092915050565b6000620005d78383620005a9565b9150826002028217905092915050565b620005f2826200036d565b67ffffffffffffffff8111156200060e576200060d62000378565b5b6200061a8254620003d6565b620006278282856200054c565b600060209050601f8311600181146200065f57600084156200064a578287015190505b620006568582620005c9565b865550620006c6565b601f1984166200066f866200040b565b60005b82811015620006995784890151825560018201915060208501945060208101905062000672565b86831015620006b95784890151620006b5601f891682620005a9565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200075c57808604811115620007345762000733620006ce565b5b6001851615620007445780820291505b80810290506200075485620006fd565b945062000714565b94509492505050565b6000826200077757600190506200084a565b816200078757600090506200084a565b8160018114620007a05760028114620007ab57620007e1565b60019150506200084a565b60ff841115620007c057620007bf620006ce565b5b8360020a915084821115620007da57620007d9620006ce565b5b506200084a565b5060208310610133831016604e8410600b84101617156200081b5782820a905083811115620008155762000814620006ce565b5b6200084a565b6200082a84848460016200070a565b92509050818404811115620008445762000843620006ce565b5b81810290505b9392505050565b600060ff82169050919050565b60006200086b8262000493565b9150620008788362000851565b9250620008a77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000765565b905092915050565b6000620008bc8262000493565b9150620008c98362000493565b9250828202620008d98162000493565b91508282048414831517620008f357620008f2620006ce565b5b5092915050565b620009058162000493565b82525050565b6000602082019050620009226000830184620008fa565b92915050565b6126b080620009386000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb146103e4578063c9567bf914610421578063d5f3948814610438578063dd62ed3e14610463578063f2fde38b146104a05761012a565b806370a08231146102fd578063715018a61461033a5780638da5cb5b1461035157806395d89b411461037c578063a457c2d7146103a75761012a565b806318160ddd116100e757806318160ddd1461020257806323b872dd1461022d578063313ce5671461026a578063395093511461029557806350faa48f146102d25761012a565b806306e99fef1461012f57806306fdde0314610146578063095ea7b314610171578063139196f7146101ae5780631694505e146101d75761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104c9565b005b34801561015257600080fd5b5061015b6105d1565b6040516101689190611ae0565b60405180910390f35b34801561017d57600080fd5b5061019860048036038101906101939190611b9b565b610663565b6040516101a59190611bf6565b60405180910390f35b3480156101ba57600080fd5b506101d560048036038101906101d09190611c11565b610681565b005b3480156101e357600080fd5b506101ec610841565b6040516101f99190611c9d565b60405180910390f35b34801561020e57600080fd5b50610217610867565b6040516102249190611cc7565b60405180910390f35b34801561023957600080fd5b50610254600480360381019061024f9190611ce2565b610871565b6040516102619190611bf6565b60405180910390f35b34801561027657600080fd5b5061027f61094a565b60405161028c9190611d51565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190611b9b565b610961565b6040516102c99190611bf6565b60405180910390f35b3480156102de57600080fd5b506102e7610a14565b6040516102f49190611d7b565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190611c11565b610a3a565b6040516103319190611cc7565b60405180910390f35b34801561034657600080fd5b5061034f610a83565b005b34801561035d57600080fd5b50610366610bd6565b6040516103739190611d7b565b60405180910390f35b34801561038857600080fd5b50610391610bff565b60405161039e9190611ae0565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c99190611b9b565b610c91565b6040516103db9190611bf6565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190611b9b565b610d5e565b6040516104189190611bf6565b60405180910390f35b34801561042d57600080fd5b50610436610d7c565b005b34801561044457600080fd5b5061044d611250565b60405161045a9190611d7b565b60405180910390f35b34801561046f57600080fd5b5061048a60048036038101906104859190611d96565b611276565b6040516104979190611cc7565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c29190611c11565b6112fd565b005b6104d16114be565b73ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055790611e22565b60405180910390fd5b6000479050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105cd573d6000803e3d6000fd5b5050565b6060600680546105e090611e71565b80601f016020809104026020016040519081016040528092919081815260200182805461060c90611e71565b80156106595780601f1061062e57610100808354040283529160200191610659565b820191906000526020600020905b81548152906001019060200180831161063c57829003601f168201915b5050505050905090565b60006106776106706114be565b84846114c6565b6001905092915050565b6106896114be565b73ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f90611e22565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107589190611d7b565b602060405180830381865afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190611eb7565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016107f8929190611ee4565b6020604051808303816000875af1158015610817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083b9190611f39565b50505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600061087e84848461168f565b61093f8461088a6114be565b61093a8560405180606001604052806028815260200161262e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108f06114be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119449092919063ffffffff16565b6114c6565b600190509392505050565b6000600860009054906101000a900460ff16905090565b6000610a0a61096e6114be565b84610a05856005600061097f6114be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a890919063ffffffff16565b6114c6565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a8b6114be565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90611fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054610c0e90611e71565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3a90611e71565b8015610c875780601f10610c5c57610100808354040283529160200191610c87565b820191906000526020600020905b815481529060010190602001808311610c6a57829003601f168201915b5050505050905090565b6000610d54610c9e6114be565b84610d4f856040518060600160405280602581526020016126566025913960056000610cc86114be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119449092919063ffffffff16565b6114c6565b6001905092915050565b6000610d72610d6b6114be565b848461168f565b6001905092915050565b610d846114be565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0890611fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9990612044565b60405180910390fd5b610ed130600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009546114c6565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f629190612079565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100f9190612079565b6040518363ffffffff1660e01b815260040161102c9291906120a6565b6020604051808303816000875af115801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190612079565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110f830610a3a565b600080611103610bd6565b426040518863ffffffff1660e01b81526004016111259695949392919061210a565b60606040518083038185885af1158015611143573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611168919061216b565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161120a929190611ee4565b6020604051808303816000875af1158015611229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124d9190611f39565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113056114be565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138990611fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612230565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152c906122c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90612354565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116829190611cc7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f5906123e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361176d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176490612478565b60405180910390fd5b600081116117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a79061250a565b60405180910390fd5b61180281600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a0690919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061189781600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a890919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119379190611cc7565b60405180910390a3505050565b600083831115829061198c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119839190611ae0565b60405180910390fd5b506000838561199b9190612559565b9050809150509392505050565b60008082846119b7919061258d565b9050838110156119fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f39061260d565b60405180910390fd5b8091505092915050565b6000611a4883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611944565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a8a578082015181840152602081019050611a6f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ab282611a50565b611abc8185611a5b565b9350611acc818560208601611a6c565b611ad581611a96565b840191505092915050565b60006020820190508181036000830152611afa8184611aa7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b3282611b07565b9050919050565b611b4281611b27565b8114611b4d57600080fd5b50565b600081359050611b5f81611b39565b92915050565b6000819050919050565b611b7881611b65565b8114611b8357600080fd5b50565b600081359050611b9581611b6f565b92915050565b60008060408385031215611bb257611bb1611b02565b5b6000611bc085828601611b50565b9250506020611bd185828601611b86565b9150509250929050565b60008115159050919050565b611bf081611bdb565b82525050565b6000602082019050611c0b6000830184611be7565b92915050565b600060208284031215611c2757611c26611b02565b5b6000611c3584828501611b50565b91505092915050565b6000819050919050565b6000611c63611c5e611c5984611b07565b611c3e565b611b07565b9050919050565b6000611c7582611c48565b9050919050565b6000611c8782611c6a565b9050919050565b611c9781611c7c565b82525050565b6000602082019050611cb26000830184611c8e565b92915050565b611cc181611b65565b82525050565b6000602082019050611cdc6000830184611cb8565b92915050565b600080600060608486031215611cfb57611cfa611b02565b5b6000611d0986828701611b50565b9350506020611d1a86828701611b50565b9250506040611d2b86828701611b86565b9150509250925092565b600060ff82169050919050565b611d4b81611d35565b82525050565b6000602082019050611d666000830184611d42565b92915050565b611d7581611b27565b82525050565b6000602082019050611d906000830184611d6c565b92915050565b60008060408385031215611dad57611dac611b02565b5b6000611dbb85828601611b50565b9250506020611dcc85828601611b50565b9150509250929050565b7f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b6000611e0c601783611a5b565b9150611e1782611dd6565b602082019050919050565b60006020820190508181036000830152611e3b81611dff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e8957607f821691505b602082108103611e9c57611e9b611e42565b5b50919050565b600081519050611eb181611b6f565b92915050565b600060208284031215611ecd57611ecc611b02565b5b6000611edb84828501611ea2565b91505092915050565b6000604082019050611ef96000830185611d6c565b611f066020830184611cb8565b9392505050565b611f1681611bdb565b8114611f2157600080fd5b50565b600081519050611f3381611f0d565b92915050565b600060208284031215611f4f57611f4e611b02565b5b6000611f5d84828501611f24565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f9c602083611a5b565b9150611fa782611f66565b602082019050919050565b60006020820190508181036000830152611fcb81611f8f565b9050919050565b7f556e69737761705632506169722068617320616c7265616479206265656e207360008201527f6574000000000000000000000000000000000000000000000000000000000000602082015250565b600061202e602283611a5b565b915061203982611fd2565b604082019050919050565b6000602082019050818103600083015261205d81612021565b9050919050565b60008151905061207381611b39565b92915050565b60006020828403121561208f5761208e611b02565b5b600061209d84828501612064565b91505092915050565b60006040820190506120bb6000830185611d6c565b6120c86020830184611d6c565b9392505050565b6000819050919050565b60006120f46120ef6120ea846120cf565b611c3e565b611b65565b9050919050565b612104816120d9565b82525050565b600060c08201905061211f6000830189611d6c565b61212c6020830188611cb8565b61213960408301876120fb565b61214660608301866120fb565b6121536080830185611d6c565b61216060a0830184611cb8565b979650505050505050565b60008060006060848603121561218457612183611b02565b5b600061219286828701611ea2565b93505060206121a386828701611ea2565b92505060406121b486828701611ea2565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061221a602683611a5b565b9150612225826121be565b604082019050919050565b600060208201905081810360008301526122498161220d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006122ac602483611a5b565b91506122b782612250565b604082019050919050565b600060208201905081810360008301526122db8161229f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061233e602283611a5b565b9150612349826122e2565b604082019050919050565b6000602082019050818103600083015261236d81612331565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123d0602583611a5b565b91506123db82612374565b604082019050919050565b600060208201905081810360008301526123ff816123c3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612462602383611a5b565b915061246d82612406565b604082019050919050565b6000602082019050818103600083015261249181612455565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006124f4602983611a5b565b91506124ff82612498565b604082019050919050565b60006020820190508181036000830152612523816124e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061256482611b65565b915061256f83611b65565b92508282039050818111156125875761258661252a565b5b92915050565b600061259882611b65565b91506125a383611b65565b92508282019050808211156125bb576125ba61252a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006125f7601b83611a5b565b9150612602826125c1565b602082019050919050565b60006020820190508181036000830152612626816125ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200fdeb397557a9fc8e6516407cd37a5ac2cbdec11885a882262c7d6fee427c5eb64736f6c63430008110033
Deployed Bytecode
0x6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb146103e4578063c9567bf914610421578063d5f3948814610438578063dd62ed3e14610463578063f2fde38b146104a05761012a565b806370a08231146102fd578063715018a61461033a5780638da5cb5b1461035157806395d89b411461037c578063a457c2d7146103a75761012a565b806318160ddd116100e757806318160ddd1461020257806323b872dd1461022d578063313ce5671461026a578063395093511461029557806350faa48f146102d25761012a565b806306e99fef1461012f57806306fdde0314610146578063095ea7b314610171578063139196f7146101ae5780631694505e146101d75761012a565b3661012a57005b600080fd5b34801561013b57600080fd5b506101446104c9565b005b34801561015257600080fd5b5061015b6105d1565b6040516101689190611ae0565b60405180910390f35b34801561017d57600080fd5b5061019860048036038101906101939190611b9b565b610663565b6040516101a59190611bf6565b60405180910390f35b3480156101ba57600080fd5b506101d560048036038101906101d09190611c11565b610681565b005b3480156101e357600080fd5b506101ec610841565b6040516101f99190611c9d565b60405180910390f35b34801561020e57600080fd5b50610217610867565b6040516102249190611cc7565b60405180910390f35b34801561023957600080fd5b50610254600480360381019061024f9190611ce2565b610871565b6040516102619190611bf6565b60405180910390f35b34801561027657600080fd5b5061027f61094a565b60405161028c9190611d51565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190611b9b565b610961565b6040516102c99190611bf6565b60405180910390f35b3480156102de57600080fd5b506102e7610a14565b6040516102f49190611d7b565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190611c11565b610a3a565b6040516103319190611cc7565b60405180910390f35b34801561034657600080fd5b5061034f610a83565b005b34801561035d57600080fd5b50610366610bd6565b6040516103739190611d7b565b60405180910390f35b34801561038857600080fd5b50610391610bff565b60405161039e9190611ae0565b60405180910390f35b3480156103b357600080fd5b506103ce60048036038101906103c99190611b9b565b610c91565b6040516103db9190611bf6565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190611b9b565b610d5e565b6040516104189190611bf6565b60405180910390f35b34801561042d57600080fd5b50610436610d7c565b005b34801561044457600080fd5b5061044d611250565b60405161045a9190611d7b565b60405180910390f35b34801561046f57600080fd5b5061048a60048036038101906104859190611d96565b611276565b6040516104979190611cc7565b60405180910390f35b3480156104ac57600080fd5b506104c760048036038101906104c29190611c11565b6112fd565b005b6104d16114be565b73ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055790611e22565b60405180910390fd5b6000479050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156105cd573d6000803e3d6000fd5b5050565b6060600680546105e090611e71565b80601f016020809104026020016040519081016040528092919081815260200182805461060c90611e71565b80156106595780601f1061062e57610100808354040283529160200191610659565b820191906000526020600020905b81548152906001019060200180831161063c57829003601f168201915b5050505050905090565b60006106776106706114be565b84846114c6565b6001905092915050565b6106896114be565b73ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070f90611e22565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107589190611d7b565b602060405180830381865afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190611eb7565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016107f8929190611ee4565b6020604051808303816000875af1158015610817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083b9190611f39565b50505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600954905090565b600061087e84848461168f565b61093f8461088a6114be565b61093a8560405180606001604052806028815260200161262e60289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006108f06114be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119449092919063ffffffff16565b6114c6565b600190509392505050565b6000600860009054906101000a900460ff16905090565b6000610a0a61096e6114be565b84610a05856005600061097f6114be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a890919063ffffffff16565b6114c6565b6001905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a8b6114be565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90611fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060078054610c0e90611e71565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3a90611e71565b8015610c875780601f10610c5c57610100808354040283529160200191610c87565b820191906000526020600020905b815481529060010190602001808311610c6a57829003601f168201915b5050505050905090565b6000610d54610c9e6114be565b84610d4f856040518060600160405280602581526020016126566025913960056000610cc86114be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119449092919063ffffffff16565b6114c6565b6001905092915050565b6000610d72610d6b6114be565b848461168f565b6001905092915050565b610d846114be565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0890611fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9990612044565b60405180910390fd5b610ed130600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009546114c6565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f629190612079565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100f9190612079565b6040518363ffffffff1660e01b815260040161102c9291906120a6565b6020604051808303816000875af115801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190612079565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110f830610a3a565b600080611103610bd6565b426040518863ffffffff1660e01b81526004016111259695949392919061210a565b60606040518083038185885af1158015611143573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611168919061216b565b505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161120a929190611ee4565b6020604051808303816000875af1158015611229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124d9190611f39565b50565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113056114be565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138990611fb2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f890612230565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152c906122c2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90612354565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116829190611cc7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f5906123e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361176d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176490612478565b60405180910390fd5b600081116117b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a79061250a565b60405180910390fd5b61180281600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a0690919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061189781600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a890919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119379190611cc7565b60405180910390a3505050565b600083831115829061198c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119839190611ae0565b60405180910390fd5b506000838561199b9190612559565b9050809150509392505050565b60008082846119b7919061258d565b9050838110156119fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f39061260d565b60405180910390fd5b8091505092915050565b6000611a4883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611944565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a8a578082015181840152602081019050611a6f565b60008484015250505050565b6000601f19601f8301169050919050565b6000611ab282611a50565b611abc8185611a5b565b9350611acc818560208601611a6c565b611ad581611a96565b840191505092915050565b60006020820190508181036000830152611afa8184611aa7565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611b3282611b07565b9050919050565b611b4281611b27565b8114611b4d57600080fd5b50565b600081359050611b5f81611b39565b92915050565b6000819050919050565b611b7881611b65565b8114611b8357600080fd5b50565b600081359050611b9581611b6f565b92915050565b60008060408385031215611bb257611bb1611b02565b5b6000611bc085828601611b50565b9250506020611bd185828601611b86565b9150509250929050565b60008115159050919050565b611bf081611bdb565b82525050565b6000602082019050611c0b6000830184611be7565b92915050565b600060208284031215611c2757611c26611b02565b5b6000611c3584828501611b50565b91505092915050565b6000819050919050565b6000611c63611c5e611c5984611b07565b611c3e565b611b07565b9050919050565b6000611c7582611c48565b9050919050565b6000611c8782611c6a565b9050919050565b611c9781611c7c565b82525050565b6000602082019050611cb26000830184611c8e565b92915050565b611cc181611b65565b82525050565b6000602082019050611cdc6000830184611cb8565b92915050565b600080600060608486031215611cfb57611cfa611b02565b5b6000611d0986828701611b50565b9350506020611d1a86828701611b50565b9250506040611d2b86828701611b86565b9150509250925092565b600060ff82169050919050565b611d4b81611d35565b82525050565b6000602082019050611d666000830184611d42565b92915050565b611d7581611b27565b82525050565b6000602082019050611d906000830184611d6c565b92915050565b60008060408385031215611dad57611dac611b02565b5b6000611dbb85828601611b50565b9250506020611dcc85828601611b50565b9150509250929050565b7f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b6000611e0c601783611a5b565b9150611e1782611dd6565b602082019050919050565b60006020820190508181036000830152611e3b81611dff565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611e8957607f821691505b602082108103611e9c57611e9b611e42565b5b50919050565b600081519050611eb181611b6f565b92915050565b600060208284031215611ecd57611ecc611b02565b5b6000611edb84828501611ea2565b91505092915050565b6000604082019050611ef96000830185611d6c565b611f066020830184611cb8565b9392505050565b611f1681611bdb565b8114611f2157600080fd5b50565b600081519050611f3381611f0d565b92915050565b600060208284031215611f4f57611f4e611b02565b5b6000611f5d84828501611f24565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611f9c602083611a5b565b9150611fa782611f66565b602082019050919050565b60006020820190508181036000830152611fcb81611f8f565b9050919050565b7f556e69737761705632506169722068617320616c7265616479206265656e207360008201527f6574000000000000000000000000000000000000000000000000000000000000602082015250565b600061202e602283611a5b565b915061203982611fd2565b604082019050919050565b6000602082019050818103600083015261205d81612021565b9050919050565b60008151905061207381611b39565b92915050565b60006020828403121561208f5761208e611b02565b5b600061209d84828501612064565b91505092915050565b60006040820190506120bb6000830185611d6c565b6120c86020830184611d6c565b9392505050565b6000819050919050565b60006120f46120ef6120ea846120cf565b611c3e565b611b65565b9050919050565b612104816120d9565b82525050565b600060c08201905061211f6000830189611d6c565b61212c6020830188611cb8565b61213960408301876120fb565b61214660608301866120fb565b6121536080830185611d6c565b61216060a0830184611cb8565b979650505050505050565b60008060006060848603121561218457612183611b02565b5b600061219286828701611ea2565b93505060206121a386828701611ea2565b92505060406121b486828701611ea2565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061221a602683611a5b565b9150612225826121be565b604082019050919050565b600060208201905081810360008301526122498161220d565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006122ac602483611a5b565b91506122b782612250565b604082019050919050565b600060208201905081810360008301526122db8161229f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061233e602283611a5b565b9150612349826122e2565b604082019050919050565b6000602082019050818103600083015261236d81612331565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006123d0602583611a5b565b91506123db82612374565b604082019050919050565b600060208201905081810360008301526123ff816123c3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612462602383611a5b565b915061246d82612406565b604082019050919050565b6000602082019050818103600083015261249181612455565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006124f4602983611a5b565b91506124ff82612498565b604082019050919050565b60006020820190508181036000830152612523816124e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061256482611b65565b915061256f83611b65565b92508282039050818111156125875761258661252a565b5b92915050565b600061259882611b65565b91506125a383611b65565b92508282019050808211156125bb576125ba61252a565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006125f7601b83611a5b565b9150612602826125c1565b602082019050919050565b60006020820190508181036000830152612626816125ea565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200fdeb397557a9fc8e6516407cd37a5ac2cbdec11885a882262c7d6fee427c5eb64736f6c63430008110033
Deployed Bytecode Sourcemap
11503:4641:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15745:146;;;;;;;;;;;;;:::i;:::-;;12430:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13263:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15899:242;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11619:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12707:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13432:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12616:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13753:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11732:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12810:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6577:148;;;;;;;;;;;;;:::i;:::-;;6363:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12521:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13979:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12937:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14256:623;;;;;;;;;;;;;:::i;:::-;;12113:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13112:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6733:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15745:146;12198:12;:10;:12::i;:::-;12186:24;;:8;;;;;;;;;;;:24;;;12178:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;15792:18:::1;15813:21;15792:42;;15853:8;;;;;;;;;;;15845:26;;:38;15872:10;15845:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15781:110;15745:146::o:0;12430:83::-;12467:13;12500:5;12493:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12430:83;:::o;13263:161::-;13338:4;13355:39;13364:12;:10;:12::i;:::-;13378:7;13387:6;13355:8;:39::i;:::-;13412:4;13405:11;;13263:161;;;;:::o;15899:242::-;12198:12;:10;:12::i;:::-;12186:24;;:8;;;;;;;;;;;:24;;;12178:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;15977:17:::1;16004:15;15977:43;;16031:15;16049:10;:20;;;16078:4;16049:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16031:53;;16095:10;:19;;;16115:8;;;;;;;;;;;16125:7;16095:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15966:175;;15899:242:::0;:::o;11619:106::-;;;;;;;;;;;;;:::o;12707:95::-;12760:7;12787;;12780:14;;12707:95;:::o;13432:313::-;13530:4;13547:36;13557:6;13565:9;13576:6;13547:9;:36::i;:::-;13594:121;13603:6;13611:12;:10;:12::i;:::-;13625:89;13663:6;13625:89;;;;;;;;;;;;;;;;;:11;:19;13637:6;13625:19;;;;;;;;;;;;;;;:33;13645:12;:10;:12::i;:::-;13625:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;13594:8;:121::i;:::-;13733:4;13726:11;;13432:313;;;;;:::o;12616:83::-;12657:5;12682:9;;;;;;;;;;;12675:16;;12616:83;:::o;13753:218::-;13841:4;13858:83;13867:12;:10;:12::i;:::-;13881:7;13890:50;13929:10;13890:11;:25;13902:12;:10;:12::i;:::-;13890:25;;;;;;;;;;;;;;;:34;13916:7;13890:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;13858:8;:83::i;:::-;13959:4;13952:11;;13753:218;;;;:::o;11732:38::-;;;;;;;;;;;;;:::o;12810:119::-;12876:7;12903:9;:18;12913:7;12903:18;;;;;;;;;;;;;;;;12896:25;;12810:119;;;:::o;6577:148::-;6500:12;:10;:12::i;:::-;6490:22;;:6;;;;;;;;;;:22;;;6482:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6684:1:::1;6647:40;;6668:6;::::0;::::1;;;;;;;;6647:40;;;;;;;;;;;;6715:1;6698:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;6577:148::o:0;6363:79::-;6401:7;6428:6;;;;;;;;;;;6421:13;;6363:79;:::o;12521:87::-;12560:13;12593:7;12586:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12521:87;:::o;13979:269::-;14072:4;14089:129;14098:12;:10;:12::i;:::-;14112:7;14121:96;14160:15;14121:96;;;;;;;;;;;;;;;;;:11;:25;14133:12;:10;:12::i;:::-;14121:25;;;;;;;;;;;;;;;:34;14147:7;14121:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;14089:8;:129::i;:::-;14236:4;14229:11;;13979:269;;;;:::o;12937:167::-;13015:4;13032:42;13042:12;:10;:12::i;:::-;13056:9;13067:6;13032:9;:42::i;:::-;13092:4;13085:11;;12937:167;;;;:::o;14256:623::-;6500:12;:10;:12::i;:::-;6490:22;;:6;;;;;;;;;;:22;;;6482:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14341:1:::1;14319:24;;:10;;;;;;;;;;;:24;;;14311:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14392:58;14409:4;14424:15;;;;;;;;;;;14442:7;;14392:8;:58::i;:::-;14492:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14474:55;;;14538:4;14545:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14474:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14461:10;;:107;;;;;;;;;;;;;;;;;;14579:15;;;;;;;;;;;:31;;;14618:21;14663:4;14683:24;14701:4;14683:9;:24::i;:::-;14722:1;14738::::0;14754:7:::1;:5;:7::i;:::-;14776:15;14579:213;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14810:10;;;;;;;;;;;14803:26;;;14838:15;;;;;;;;;;;14856:14;14803:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;14256:623::o:0;12113:23::-;;;;;;;;;;;;;:::o;13112:143::-;13193:7;13220:11;:18;13232:5;13220:18;;;;;;;;;;;;;;;:27;13239:7;13220:27;;;;;;;;;;;;;;;;13213:34;;13112:143;;;;:::o;6733:244::-;6500:12;:10;:12::i;:::-;6490:22;;:6;;;;;;;;;;:22;;;6482:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6842:1:::1;6822:22;;:8;:22;;::::0;6814:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;6932:8;6903:38;;6924:6;::::0;::::1;;;;;;;;6903:38;;;;;;;;;;;;6961:8;6952:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;6733:244:::0;:::o;2705:98::-;2758:7;2785:10;2778:17;;2705:98;:::o;14889:337::-;14999:1;14982:19;;:5;:19;;;14974:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15080:1;15061:21;;:7;:21;;;15053:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15164:6;15134:11;:18;15146:5;15134:18;;;;;;;;;;;;;;;:27;15153:7;15134:27;;;;;;;;;;;;;;;:36;;;;15202:7;15186:32;;15195:5;15186:32;;;15211:6;15186:32;;;;;;:::i;:::-;;;;;;;;14889:337;;;:::o;15234:464::-;15338:1;15322:18;;:4;:18;;;15314:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15415:1;15401:16;;:2;:16;;;15393:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15485:1;15476:6;:10;15468:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15569:27;15589:6;15569:9;:15;15579:4;15569:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;15551:9;:15;15561:4;15551:15;;;;;;;;;;;;;;;:45;;;;15623:25;15641:6;15623:9;:13;15633:2;15623:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;15607:9;:13;15617:2;15607:13;;;;;;;;;;;;;;;:41;;;;15679:2;15664:26;;15673:4;15664:26;;;15683:6;15664:26;;;;;;:::i;:::-;;;;;;;;15234:464;;;:::o;1177:192::-;1263:7;1296:1;1291;:6;;1299:12;1283:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1323:9;1339:1;1335;:5;;;;:::i;:::-;1323:17;;1360:1;1353:8;;;1177:192;;;;;:::o;844:181::-;902:7;922:9;938:1;934;:5;;;;:::i;:::-;922:17;;963:1;958;:6;;950:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1016:1;1009:8;;;844:181;;;;:::o;1033:136::-;1091:7;1118:43;1122:1;1125;1118:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1111:50;;1033:136;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:329::-;3505:6;3554:2;3542:9;3533:7;3529:23;3525:32;3522:119;;;3560:79;;:::i;:::-;3522:119;3680:1;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3651:117;3446:329;;;;:::o;3781:60::-;3809:3;3830:5;3823:12;;3781:60;;;:::o;3847:142::-;3897:9;3930:53;3948:34;3957:24;3975:5;3957:24;:::i;:::-;3948:34;:::i;:::-;3930:53;:::i;:::-;3917:66;;3847:142;;;:::o;3995:126::-;4045:9;4078:37;4109:5;4078:37;:::i;:::-;4065:50;;3995:126;;;:::o;4127:152::-;4203:9;4236:37;4267:5;4236:37;:::i;:::-;4223:50;;4127:152;;;:::o;4285:183::-;4398:63;4455:5;4398:63;:::i;:::-;4393:3;4386:76;4285:183;;:::o;4474:274::-;4593:4;4631:2;4620:9;4616:18;4608:26;;4644:97;4738:1;4727:9;4723:17;4714:6;4644:97;:::i;:::-;4474:274;;;;:::o;4754:118::-;4841:24;4859:5;4841:24;:::i;:::-;4836:3;4829:37;4754:118;;:::o;4878:222::-;4971:4;5009:2;4998:9;4994:18;4986:26;;5022:71;5090:1;5079:9;5075:17;5066:6;5022:71;:::i;:::-;4878:222;;;;:::o;5106:619::-;5183:6;5191;5199;5248:2;5236:9;5227:7;5223:23;5219:32;5216:119;;;5254:79;;:::i;:::-;5216:119;5374:1;5399:53;5444:7;5435:6;5424:9;5420:22;5399:53;:::i;:::-;5389:63;;5345:117;5501:2;5527:53;5572:7;5563:6;5552:9;5548:22;5527:53;:::i;:::-;5517:63;;5472:118;5629:2;5655:53;5700:7;5691:6;5680:9;5676:22;5655:53;:::i;:::-;5645:63;;5600:118;5106:619;;;;;:::o;5731:86::-;5766:7;5806:4;5799:5;5795:16;5784:27;;5731:86;;;:::o;5823:112::-;5906:22;5922:5;5906:22;:::i;:::-;5901:3;5894:35;5823:112;;:::o;5941:214::-;6030:4;6068:2;6057:9;6053:18;6045:26;;6081:67;6145:1;6134:9;6130:17;6121:6;6081:67;:::i;:::-;5941:214;;;;:::o;6161:118::-;6248:24;6266:5;6248:24;:::i;:::-;6243:3;6236:37;6161:118;;:::o;6285:222::-;6378:4;6416:2;6405:9;6401:18;6393:26;;6429:71;6497:1;6486:9;6482:17;6473:6;6429:71;:::i;:::-;6285:222;;;;:::o;6513:474::-;6581:6;6589;6638:2;6626:9;6617:7;6613:23;6609:32;6606:119;;;6644:79;;:::i;:::-;6606:119;6764:1;6789:53;6834:7;6825:6;6814:9;6810:22;6789:53;:::i;:::-;6779:63;;6735:117;6891:2;6917:53;6962:7;6953:6;6942:9;6938:22;6917:53;:::i;:::-;6907:63;;6862:118;6513:474;;;;;:::o;6993:173::-;7133:25;7129:1;7121:6;7117:14;7110:49;6993:173;:::o;7172:366::-;7314:3;7335:67;7399:2;7394:3;7335:67;:::i;:::-;7328:74;;7411:93;7500:3;7411:93;:::i;:::-;7529:2;7524:3;7520:12;7513:19;;7172:366;;;:::o;7544:419::-;7710:4;7748:2;7737:9;7733:18;7725:26;;7797:9;7791:4;7787:20;7783:1;7772:9;7768:17;7761:47;7825:131;7951:4;7825:131;:::i;:::-;7817:139;;7544:419;;;:::o;7969:180::-;8017:77;8014:1;8007:88;8114:4;8111:1;8104:15;8138:4;8135:1;8128:15;8155:320;8199:6;8236:1;8230:4;8226:12;8216:22;;8283:1;8277:4;8273:12;8304:18;8294:81;;8360:4;8352:6;8348:17;8338:27;;8294:81;8422:2;8414:6;8411:14;8391:18;8388:38;8385:84;;8441:18;;:::i;:::-;8385:84;8206:269;8155:320;;;:::o;8481:143::-;8538:5;8569:6;8563:13;8554:22;;8585:33;8612:5;8585:33;:::i;:::-;8481:143;;;;:::o;8630:351::-;8700:6;8749:2;8737:9;8728:7;8724:23;8720:32;8717:119;;;8755:79;;:::i;:::-;8717:119;8875:1;8900:64;8956:7;8947:6;8936:9;8932:22;8900:64;:::i;:::-;8890:74;;8846:128;8630:351;;;;:::o;8987:332::-;9108:4;9146:2;9135:9;9131:18;9123:26;;9159:71;9227:1;9216:9;9212:17;9203:6;9159:71;:::i;:::-;9240:72;9308:2;9297:9;9293:18;9284:6;9240:72;:::i;:::-;8987:332;;;;;:::o;9325:116::-;9395:21;9410:5;9395:21;:::i;:::-;9388:5;9385:32;9375:60;;9431:1;9428;9421:12;9375:60;9325:116;:::o;9447:137::-;9501:5;9532:6;9526:13;9517:22;;9548:30;9572:5;9548:30;:::i;:::-;9447:137;;;;:::o;9590:345::-;9657:6;9706:2;9694:9;9685:7;9681:23;9677:32;9674:119;;;9712:79;;:::i;:::-;9674:119;9832:1;9857:61;9910:7;9901:6;9890:9;9886:22;9857:61;:::i;:::-;9847:71;;9803:125;9590:345;;;;:::o;9941:182::-;10081:34;10077:1;10069:6;10065:14;10058:58;9941:182;:::o;10129:366::-;10271:3;10292:67;10356:2;10351:3;10292:67;:::i;:::-;10285:74;;10368:93;10457:3;10368:93;:::i;:::-;10486:2;10481:3;10477:12;10470:19;;10129:366;;;:::o;10501:419::-;10667:4;10705:2;10694:9;10690:18;10682:26;;10754:9;10748:4;10744:20;10740:1;10729:9;10725:17;10718:47;10782:131;10908:4;10782:131;:::i;:::-;10774:139;;10501:419;;;:::o;10926:221::-;11066:34;11062:1;11054:6;11050:14;11043:58;11135:4;11130:2;11122:6;11118:15;11111:29;10926:221;:::o;11153:366::-;11295:3;11316:67;11380:2;11375:3;11316:67;:::i;:::-;11309:74;;11392:93;11481:3;11392:93;:::i;:::-;11510:2;11505:3;11501:12;11494:19;;11153:366;;;:::o;11525:419::-;11691:4;11729:2;11718:9;11714:18;11706:26;;11778:9;11772:4;11768:20;11764:1;11753:9;11749:17;11742:47;11806:131;11932:4;11806:131;:::i;:::-;11798:139;;11525:419;;;:::o;11950:143::-;12007:5;12038:6;12032:13;12023:22;;12054:33;12081:5;12054:33;:::i;:::-;11950:143;;;;:::o;12099:351::-;12169:6;12218:2;12206:9;12197:7;12193:23;12189:32;12186:119;;;12224:79;;:::i;:::-;12186:119;12344:1;12369:64;12425:7;12416:6;12405:9;12401:22;12369:64;:::i;:::-;12359:74;;12315:128;12099:351;;;;:::o;12456:332::-;12577:4;12615:2;12604:9;12600:18;12592:26;;12628:71;12696:1;12685:9;12681:17;12672:6;12628:71;:::i;:::-;12709:72;12777:2;12766:9;12762:18;12753:6;12709:72;:::i;:::-;12456:332;;;;;:::o;12794:85::-;12839:7;12868:5;12857:16;;12794:85;;;:::o;12885:158::-;12943:9;12976:61;12994:42;13003:32;13029:5;13003:32;:::i;:::-;12994:42;:::i;:::-;12976:61;:::i;:::-;12963:74;;12885:158;;;:::o;13049:147::-;13144:45;13183:5;13144:45;:::i;:::-;13139:3;13132:58;13049:147;;:::o;13202:807::-;13451:4;13489:3;13478:9;13474:19;13466:27;;13503:71;13571:1;13560:9;13556:17;13547:6;13503:71;:::i;:::-;13584:72;13652:2;13641:9;13637:18;13628:6;13584:72;:::i;:::-;13666:80;13742:2;13731:9;13727:18;13718:6;13666:80;:::i;:::-;13756;13832:2;13821:9;13817:18;13808:6;13756:80;:::i;:::-;13846:73;13914:3;13903:9;13899:19;13890:6;13846:73;:::i;:::-;13929;13997:3;13986:9;13982:19;13973:6;13929:73;:::i;:::-;13202:807;;;;;;;;;:::o;14015:663::-;14103:6;14111;14119;14168:2;14156:9;14147:7;14143:23;14139:32;14136:119;;;14174:79;;:::i;:::-;14136:119;14294:1;14319:64;14375:7;14366:6;14355:9;14351:22;14319:64;:::i;:::-;14309:74;;14265:128;14432:2;14458:64;14514:7;14505:6;14494:9;14490:22;14458:64;:::i;:::-;14448:74;;14403:129;14571:2;14597:64;14653:7;14644:6;14633:9;14629:22;14597:64;:::i;:::-;14587:74;;14542:129;14015:663;;;;;:::o;14684:225::-;14824:34;14820:1;14812:6;14808:14;14801:58;14893:8;14888:2;14880:6;14876:15;14869:33;14684:225;:::o;14915:366::-;15057:3;15078:67;15142:2;15137:3;15078:67;:::i;:::-;15071:74;;15154:93;15243:3;15154:93;:::i;:::-;15272:2;15267:3;15263:12;15256:19;;14915:366;;;:::o;15287:419::-;15453:4;15491:2;15480:9;15476:18;15468:26;;15540:9;15534:4;15530:20;15526:1;15515:9;15511:17;15504:47;15568:131;15694:4;15568:131;:::i;:::-;15560:139;;15287:419;;;:::o;15712:223::-;15852:34;15848:1;15840:6;15836:14;15829:58;15921:6;15916:2;15908:6;15904:15;15897:31;15712:223;:::o;15941:366::-;16083:3;16104:67;16168:2;16163:3;16104:67;:::i;:::-;16097:74;;16180:93;16269:3;16180:93;:::i;:::-;16298:2;16293:3;16289:12;16282:19;;15941:366;;;:::o;16313:419::-;16479:4;16517:2;16506:9;16502:18;16494:26;;16566:9;16560:4;16556:20;16552:1;16541:9;16537:17;16530:47;16594:131;16720:4;16594:131;:::i;:::-;16586:139;;16313:419;;;:::o;16738:221::-;16878:34;16874:1;16866:6;16862:14;16855:58;16947:4;16942:2;16934:6;16930:15;16923:29;16738:221;:::o;16965:366::-;17107:3;17128:67;17192:2;17187:3;17128:67;:::i;:::-;17121:74;;17204:93;17293:3;17204:93;:::i;:::-;17322:2;17317:3;17313:12;17306:19;;16965:366;;;:::o;17337:419::-;17503:4;17541:2;17530:9;17526:18;17518:26;;17590:9;17584:4;17580:20;17576:1;17565:9;17561:17;17554:47;17618:131;17744:4;17618:131;:::i;:::-;17610:139;;17337:419;;;:::o;17762:224::-;17902:34;17898:1;17890:6;17886:14;17879:58;17971:7;17966:2;17958:6;17954:15;17947:32;17762:224;:::o;17992:366::-;18134:3;18155:67;18219:2;18214:3;18155:67;:::i;:::-;18148:74;;18231:93;18320:3;18231:93;:::i;:::-;18349:2;18344:3;18340:12;18333:19;;17992:366;;;:::o;18364:419::-;18530:4;18568:2;18557:9;18553:18;18545:26;;18617:9;18611:4;18607:20;18603:1;18592:9;18588:17;18581:47;18645:131;18771:4;18645:131;:::i;:::-;18637:139;;18364:419;;;:::o;18789:222::-;18929:34;18925:1;18917:6;18913:14;18906:58;18998:5;18993:2;18985:6;18981:15;18974:30;18789:222;:::o;19017:366::-;19159:3;19180:67;19244:2;19239:3;19180:67;:::i;:::-;19173:74;;19256:93;19345:3;19256:93;:::i;:::-;19374:2;19369:3;19365:12;19358:19;;19017:366;;;:::o;19389:419::-;19555:4;19593:2;19582:9;19578:18;19570:26;;19642:9;19636:4;19632:20;19628:1;19617:9;19613:17;19606:47;19670:131;19796:4;19670:131;:::i;:::-;19662:139;;19389:419;;;:::o;19814:228::-;19954:34;19950:1;19942:6;19938:14;19931:58;20023:11;20018:2;20010:6;20006:15;19999:36;19814:228;:::o;20048:366::-;20190:3;20211:67;20275:2;20270:3;20211:67;:::i;:::-;20204:74;;20287:93;20376:3;20287:93;:::i;:::-;20405:2;20400:3;20396:12;20389:19;;20048:366;;;:::o;20420:419::-;20586:4;20624:2;20613:9;20609:18;20601:26;;20673:9;20667:4;20663:20;20659:1;20648:9;20644:17;20637:47;20701:131;20827:4;20701:131;:::i;:::-;20693:139;;20420:419;;;:::o;20845:180::-;20893:77;20890:1;20883:88;20990:4;20987:1;20980:15;21014:4;21011:1;21004:15;21031:194;21071:4;21091:20;21109:1;21091:20;:::i;:::-;21086:25;;21125:20;21143:1;21125:20;:::i;:::-;21120:25;;21169:1;21166;21162:9;21154:17;;21193:1;21187:4;21184:11;21181:37;;;21198:18;;:::i;:::-;21181:37;21031:194;;;;:::o;21231:191::-;21271:3;21290:20;21308:1;21290:20;:::i;:::-;21285:25;;21324:20;21342:1;21324:20;:::i;:::-;21319:25;;21367:1;21364;21360:9;21353:16;;21388:3;21385:1;21382:10;21379:36;;;21395:18;;:::i;:::-;21379:36;21231:191;;;;:::o;21428:177::-;21568:29;21564:1;21556:6;21552:14;21545:53;21428:177;:::o;21611:366::-;21753:3;21774:67;21838:2;21833:3;21774:67;:::i;:::-;21767:74;;21850:93;21939:3;21850:93;:::i;:::-;21968:2;21963:3;21959:12;21952:19;;21611:366;;;:::o;21983:419::-;22149:4;22187:2;22176:9;22172:18;22164:26;;22236:9;22230:4;22226:20;22222:1;22211:9;22207:17;22200:47;22264:131;22390:4;22264:131;:::i;:::-;22256:139;;21983:419;;;:::o
Swarm Source
ipfs://0fdeb397557a9fc8e6516407cd37a5ac2cbdec11885a882262c7d6fee427c5eb
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.