Feature Tip: Add private address tag to any address under My Name Tag !
ERC-721
Overview
Max Total Supply
0 SUN_NWOI
Holders
125
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
1 SUN_NWOILoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SUN
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-03-18 */ // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; /** * @title SUN * @author 0xSumo * The project SUN is backed by PBADAO */ abstract contract ERC721TokenReceiver { function onERC721Received(address, address, uint256, bytes calldata) external virtual returns (bytes4) { return ERC721TokenReceiver.onERC721Received.selector; } } abstract contract ERC721 { event Transfer(address indexed from_, address indexed to_, uint256 indexed tokenId_); event Approval(address indexed owner_, address indexed spender_, uint256 indexed id_); event ApprovalForAll(address indexed owner_, address indexed operator_, bool approved_); string public name; string public symbol; string public baseTokenURI; string public baseTokenURI_EXT; struct TokenData { address owner; } struct BalanceData { uint32 balance; } mapping(uint256 => TokenData) public _tokenData; mapping(address => BalanceData) public _balanceData; function balanceOf(address owner_) public virtual view returns (uint256) { require(owner_ != address(0), "balanceOf to 0x0"); return _balanceData[owner_].balance; } function ownerOf(uint256 tokenId_) public virtual view returns (address) { address _owner = _tokenData[tokenId_].owner; require(_owner != address(0), "ownerOf token does not exist!"); return _owner; } mapping(uint256 => address) public getApproved; mapping(address => mapping(address => bool)) public isApprovedForAll; constructor(string memory name_, string memory symbol_) { name = name_; symbol = symbol_; } function _mint(address to_, uint256 tokenId_) internal virtual { unchecked { require(to_ != address(0), "_mint to 0x0"); require(_tokenData[tokenId_].owner == address(0), "_mint token exists"); _tokenData[tokenId_].owner = to_; _balanceData[to_].balance++; emit Transfer(address(0), to_, tokenId_); }} function _burn(uint256 tokenId_) internal virtual { unchecked { address _owner = ownerOf(tokenId_); // will revert on 0x0 _balanceData[_owner].balance--; delete _tokenData[tokenId_]; delete getApproved[tokenId_]; emit Transfer(_owner, address(0), tokenId_); }} function _transfer(address from_, address to_, uint256 tokenId_, bool checkApproved_) internal virtual { unchecked { require(to_ != address(0), "_transfer to 0x0"); address _owner = ownerOf(tokenId_); require(from_ == _owner, "_transfer not from owner"); if (checkApproved_) require(_isApprovedOrOwner(_owner, msg.sender, tokenId_), "_transfer not approved"); delete getApproved[tokenId_]; _tokenData[tokenId_].owner = to_; _balanceData[from_].balance--; _balanceData[to_].balance++; emit Transfer(from_, to_, tokenId_); }} function transferFrom(address from_, address to_, uint256 tokenId_) public virtual { _transfer(from_, to_, tokenId_, true); } function safeTransferFrom(address from_, address to_, uint256 tokenId_, bytes memory data_) public virtual { transferFrom(from_, to_, tokenId_); require(to_.code.length == 0 || ERC721TokenReceiver(to_) .onERC721Received(msg.sender, from_, tokenId_, data_) == ERC721TokenReceiver.onERC721Received.selector, "safeTransferFrom to unsafe address"); } function safeTransferFrom(address from_, address to_, uint256 tokenId_) public virtual { safeTransferFrom(from_, to_, tokenId_, ""); } function approve(address spender_, uint256 tokenId_) public virtual { address _owner = ownerOf(tokenId_); require(msg.sender == _owner || isApprovedForAll[_owner][msg.sender], "approve not authorized!"); getApproved[tokenId_] = spender_; emit Approval(_owner, spender_, tokenId_); } function setApprovalForAll(address operator_, bool approved_) public virtual { isApprovedForAll[msg.sender][operator_] = approved_; emit ApprovalForAll(msg.sender, operator_, approved_); } function _isApprovedOrOwner(address owner_, address spender_, uint256 tokenId_) internal virtual view returns (bool) { return (owner_ == spender_ || getApproved[tokenId_] == spender_ || isApprovedForAll[owner_][spender_]); } function supportsInterface(bytes4 id_) public virtual view returns (bool) { return id_ == 0x01ffc9a7 || id_ == 0x80ac58cd || id_ == 0x5b5e139f; } function _setBaseTokenURI(string memory uri_) internal virtual { baseTokenURI = uri_; } function _setBaseTokenURIEXT(string memory uri_) internal virtual { baseTokenURI_EXT = uri_; } function _toString(uint256 value_) internal pure virtual returns (string memory _str) { assembly { let m := add(mload(0x40), 0xa0) mstore(0x40, m) _str := sub(m, 0x20) mstore(_str, 0) let end := _str for { let temp := value_ } 1 {} { _str := sub(_str, 1) mstore8(_str, add(48, mod(temp, 10))) temp := div(temp, 10) if iszero(temp) { break } } let length := sub(end, _str) _str := sub(_str, 0x20) mstore(_str, length) } } function _getURI(uint256 tokenId_) internal virtual view returns (string memory) { return string(abi.encodePacked(baseTokenURI, _toString(tokenId_), baseTokenURI_EXT)); } function tokenURI(uint256 tokenId_) public virtual view returns (string memory) {} } abstract contract OwnControll { event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); address public owner; mapping(address => bool) public admin; constructor() { owner = msg.sender; } modifier onlyOwner { require(owner == msg.sender, "Not Owner");_; } modifier onlyAdmin { require(admin[msg.sender], "Not Admin"); _; } function setAdmin(address address_, bool bool_) external onlyOwner { admin[address_] = bool_; } function transferOwnership(address new_) external onlyOwner { address _old = owner; owner = new_; emit OwnershipTransferred(_old, new_); } } interface IMetadata { function tokenURI(uint256 tokenId_) external view returns (string memory); } interface IOperatorFilterRegistry { function isOperatorAllowed(address registrant, address operator) external view returns (bool); function register(address registrant) external; function registerAndSubscribe(address registrant, address subscription) external; function registerAndCopyEntries(address registrant, address registrantToCopy) external; function unregister(address addr) external; function updateOperator(address registrant, address operator, bool filtered) external; function updateOperators(address registrant, address[] calldata operators, bool filtered) external; function updateCodeHash(address registrant, bytes32 codehash, bool filtered) external; function updateCodeHashes(address registrant, bytes32[] calldata codeHashes, bool filtered) external; function subscribe(address registrant, address registrantToSubscribe) external; function unsubscribe(address registrant, bool copyExistingEntries) external; function subscriptionOf(address addr) external returns (address registrant); function subscribers(address registrant) external returns (address[] memory); function subscriberAt(address registrant, uint256 index) external returns (address); function copyEntriesOf(address registrant, address registrantToCopy) external; function isOperatorFiltered(address registrant, address operator) external returns (bool); function isCodeHashOfFiltered(address registrant, address operatorWithCode) external returns (bool); function isCodeHashFiltered(address registrant, bytes32 codeHash) external returns (bool); function filteredOperators(address addr) external returns (address[] memory); function filteredCodeHashes(address addr) external returns (bytes32[] memory); function filteredOperatorAt(address registrant, uint256 index) external returns (address); function filteredCodeHashAt(address registrant, uint256 index) external returns (bytes32); function isRegistered(address addr) external returns (bool); function codeHashOf(address addr) external returns (bytes32); } abstract contract OperatorFilterer { error OperatorNotAllowed(address operator); IOperatorFilterRegistry constant operatorFilterRegistry = IOperatorFilterRegistry(0x000000000000AAeB6D7670E522A718067333cd4E); constructor(address subscriptionOrRegistrantToCopy, bool subscribe) { if (address(operatorFilterRegistry).code.length > 0) { if (subscribe) { operatorFilterRegistry.registerAndSubscribe(address(this), subscriptionOrRegistrantToCopy); } else { if (subscriptionOrRegistrantToCopy != address(0)) { operatorFilterRegistry.registerAndCopyEntries(address(this), subscriptionOrRegistrantToCopy); } else { operatorFilterRegistry.register(address(this)); } } } } modifier onlyAllowedOperator(address from) virtual { if (address(operatorFilterRegistry).code.length > 0) { if (from == msg.sender) { _; return ; } if (!(operatorFilterRegistry.isOperatorAllowed(address(this), msg.sender) && operatorFilterRegistry.isOperatorAllowed(address(this), from))) { revert OperatorNotAllowed(msg.sender); }}_; } } contract SUN is ERC721, OwnControll, OperatorFilterer { address public metadata; bool public useMetadata; bool public active; uint256 public mintPrice = 0.2 ether; modifier onlySender() { require(msg.sender == tx.origin, "No smart contract");_; } constructor() ERC721("A new world of imagination by YOSHIROTTEN", "SUN_NWOI") OperatorFilterer(address(0x3cc6CddA760b79bAfa08dF41ECFA224f810dCeB6), true) {} function ownerMint(address[] calldata address_, uint256[] calldata tokenId_) external onlyAdmin { require(_isSameLength(address_.length, tokenId_.length)); for (uint256 i = 0; i < address_.length; i++) { require(tokenId_[i] > 0 && tokenId_[i] < 366, "365 days"); _mint(address_[i], tokenId_[i]); } } function mintSUN(uint256 tokenId_) public payable onlySender { require(tokenId_ > 0 && tokenId_ < 366, "365 days"); require(active, "Inactive"); require(msg.value == mintPrice, "Value sent is not correct"); _mint(msg.sender, tokenId_); } function burn(uint256 tokenId_) external onlyAdmin { _burn(tokenId_); } function setBaseTokenURI(string calldata uri_) external onlyOwner { _setBaseTokenURI(uri_); } function setBaseTokenURIEXT(string calldata uri_) external onlyOwner { _setBaseTokenURIEXT(uri_); } function setMetadata(address address_) external onlyOwner { metadata = address_; } function setUseMetadata(bool bool_) external onlyOwner { useMetadata = bool_; } function setPrice(uint256 newPrice) external onlyOwner { mintPrice = newPrice; } function setActive() public onlyOwner { active = !active; } function tokenURI(uint256 tokenId_) public view override returns (string memory) { if (!useMetadata) { return _getURI(tokenId_); } else { return IMetadata(metadata).tokenURI(tokenId_); } } function withdraw() public onlyOwner { uint balance = address(this).balance; payable(msg.sender).transfer(balance); } function _isSameLength(uint256 a, uint256 b) internal pure returns (bool) { return a == b; } function transferFrom(address from, address to, uint256 tokenId) public override onlyAllowedOperator(from) { super.transferFrom(from, to, tokenId); } function safeTransferFrom(address from, address to, uint256 tokenId) public override onlyAllowedOperator(from) { super.safeTransferFrom(from, to, tokenId); } function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public override onlyAllowedOperator(from) { super.safeTransferFrom(from, to, tokenId, data); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"OperatorNotAllowed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner_","type":"address"},{"indexed":true,"internalType":"address","name":"spender_","type":"address"},{"indexed":true,"internalType":"uint256","name":"id_","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner_","type":"address"},{"indexed":true,"internalType":"address","name":"operator_","type":"address"},{"indexed":false,"internalType":"bool","name":"approved_","type":"bool"}],"name":"ApprovalForAll","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":true,"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balanceData","outputs":[{"internalType":"uint32","name":"balance","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_tokenData","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"admin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender_","type":"address"},{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseTokenURI_EXT","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"metadata","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"mintSUN","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"address_","type":"address[]"},{"internalType":"uint256[]","name":"tokenId_","type":"uint256[]"}],"name":"ownerMint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"},{"internalType":"bool","name":"bool_","type":"bool"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator_","type":"address"},{"internalType":"bool","name":"approved_","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"uri_","type":"string"}],"name":"setBaseTokenURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"uri_","type":"string"}],"name":"setBaseTokenURIEXT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"address_","type":"address"}],"name":"setMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"bool_","type":"bool"}],"name":"setUseMetadata","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"id_","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId_","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"new_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"useMetadata","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526702c68af0bb140000600b553480156200001d57600080fd5b50733cc6cdda760b79bafa08df41ecfa224f810dceb66001604051806060016040528060298152602001620025276029913960408051808201909152600881526753554e5f4e574f4960c01b602082015260006200007c838262000292565b5060016200008b828262000292565b5050600880546001600160a01b03191633179055506daaeb6d7670e522a718067333cd4e3b15620001e55780156200013357604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b1580156200011457600080fd5b505af115801562000129573d6000803e3d6000fd5b50505050620001e5565b6001600160a01b03821615620001845760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af290390604401620000f9565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b158015620001cb57600080fd5b505af1158015620001e0573d6000803e3d6000fd5b505050505b50506200035e565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200021857607f821691505b6020821081036200023957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200028d57600081815260208120601f850160051c81016020861015620002685750805b601f850160051c820191505b81811015620002895782815560010162000274565b5050505b505050565b81516001600160401b03811115620002ae57620002ae620001ed565b620002c681620002bf845462000203565b846200023f565b602080601f831160018114620002fe5760008415620002e55750858301515b600019600386901b1c1916600185901b17855562000289565b600085815260208120601f198616915b828110156200032f578886015182559484019460019091019084016200030e565b50858210156200034e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6121b9806200036e6000396000f3fe6080604052600436106102045760003560e01c80636352211e116101185780639a5bb0ef116100a0578063d547cfb71161006f578063d547cfb71461062b578063e985e9c514610640578063eaf8eb951461067b578063f2fde38b1461069b578063f3cb8385146106bb57600080fd5b80639a5bb0ef146105ab578063a22cb465146105cb578063b88d4fde146105eb578063c87b56dd1461060b57600080fd5b806370a08231116100e757806370a0823114610521578063760a8c2a146105415780638da5cb5b1461055657806391b7f5ed1461057657806395d89b411461059657600080fd5b80636352211e1461048d57806363a846f8146104ad5780636817c76c146104dd57806369f7d2f21461050157600080fd5b80632c2cdd601161019b57806342842e0e1161016a57806342842e0e146103d257806342966c68146103f25780634b0bddd2146104125780634f88703c146104325780635266069d1461044557600080fd5b80632c2cdd601461034757806330176e131461037d578063392f37e91461039d5780633ccfd60b146103bd57600080fd5b8063083ad1a6116101d7578063083ad1a6146102cf578063095ea7b3146102e45780630bbcf0ec1461030657806323b872dd1461032757600080fd5b806301ffc9a71461020957806302fb0c5e1461023e57806306fdde031461025f578063081812fc14610281575b600080fd5b34801561021557600080fd5b50610229610224366004611a36565b6106db565b60405190151581526020015b60405180910390f35b34801561024a57600080fd5b50600a5461022990600160a81b900460ff1681565b34801561026b57600080fd5b5061027461072d565b6040516102359190611aaa565b34801561028d57600080fd5b506102b761029c366004611abd565b6006602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610235565b3480156102db57600080fd5b506102746107bb565b3480156102f057600080fd5b506103046102ff366004611aed565b6107c8565b005b34801561031257600080fd5b50600a5461022990600160a01b900460ff1681565b34801561033357600080fd5b50610304610342366004611b17565b6108bc565b34801561035357600080fd5b506102b7610362366004611abd565b6004602052600090815260409020546001600160a01b031681565b34801561038957600080fd5b50610304610398366004611b53565b610a18565b3480156103a957600080fd5b50600a546102b7906001600160a01b031681565b3480156103c957600080fd5b50610304610a85565b3480156103de57600080fd5b506103046103ed366004611b17565b610ade565b3480156103fe57600080fd5b5061030461040d366004611abd565b610c2f565b34801561041e57600080fd5b5061030461042d366004611bd3565b610c86565b610304610440366004611abd565b610cdb565b34801561045157600080fd5b50610478610460366004611c0a565b60056020526000908152604090205463ffffffff1681565b60405163ffffffff9091168152602001610235565b34801561049957600080fd5b506102b76104a8366004611abd565b610e05565b3480156104b957600080fd5b506102296104c8366004611c0a565b60096020526000908152604090205460ff1681565b3480156104e957600080fd5b506104f3600b5481565b604051908152602001610235565b34801561050d57600080fd5b5061030461051c366004611c71565b610e6a565b34801561052d57600080fd5b506104f361053c366004611c0a565b610fa5565b34801561054d57600080fd5b50610304611012565b34801561056257600080fd5b506008546102b7906001600160a01b031681565b34801561058257600080fd5b50610304610591366004611abd565b61105d565b3480156105a257600080fd5b5061027461108c565b3480156105b757600080fd5b506103046105c6366004611cdd565b611099565b3480156105d757600080fd5b506103046105e6366004611bd3565b6110e1565b3480156105f757600080fd5b50610304610606366004611d69565b61114d565b34801561061757600080fd5b50610274610626366004611abd565b6112a5565b34801561063757600080fd5b50610274611338565b34801561064c57600080fd5b5061022961065b366004611e14565b600760209081526000928352604080842090915290825290205460ff1681565b34801561068757600080fd5b50610304610696366004611b53565b611345565b3480156106a757600080fd5b506103046106b6366004611c0a565b6113ae565b3480156106c757600080fd5b506103046106d6366004611c0a565b61142a565b60006301ffc9a760e01b6001600160e01b03198316148061070c57506380ac58cd60e01b6001600160e01b03198316145b806107275750635b5e139f60e01b6001600160e01b03198316145b92915050565b6000805461073a90611e47565b80601f016020809104026020016040519081016040528092919081815260200182805461076690611e47565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b505050505081565b6003805461073a90611e47565b60006107d382610e05565b9050336001600160a01b038216148061080f57506001600160a01b038116600090815260076020908152604080832033845290915290205460ff165b6108605760405162461bcd60e51b815260206004820152601760248201527f617070726f7665206e6f7420617574686f72697a65642100000000000000000060448201526064015b60405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b826daaeb6d7670e522a718067333cd4e3b15610a0757336001600160a01b038216036108f2576108ed848484611476565b610a12565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109659190611e81565b80156109e85750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa1580156109c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e89190611e81565b610a0757604051633b79c77360e21b8152336004820152602401610857565b610a12848484611476565b50505050565b6008546001600160a01b03163314610a425760405162461bcd60e51b815260040161085790611e9e565b610a8182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061148892505050565b5050565b6008546001600160a01b03163314610aaf5760405162461bcd60e51b815260040161085790611e9e565b6040514790339082156108fc029083906000818181858888f19350505050158015610a81573d6000803e3d6000fd5b826daaeb6d7670e522a718067333cd4e3b15610c2457336001600160a01b03821603610b0f576108ed848484611494565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610b5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b829190611e81565b8015610c055750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c059190611e81565b610c2457604051633b79c77360e21b8152336004820152602401610857565b610a12848484611494565b3360009081526009602052604090205460ff16610c7a5760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610857565b610c83816114af565b50565b6008546001600160a01b03163314610cb05760405162461bcd60e51b815260040161085790611e9e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b333214610d1e5760405162461bcd60e51b8152602060048201526011602482015270139bc81cdb585c9d0818dbdb9d1c9858dd607a1b6044820152606401610857565b600081118015610d2f575061016e81105b610d665760405162461bcd60e51b8152602060048201526008602482015267333635206461797360c01b6044820152606401610857565b600a54600160a81b900460ff16610daa5760405162461bcd60e51b8152602060048201526008602482015267496e61637469766560c01b6044820152606401610857565b600b543414610dfb5760405162461bcd60e51b815260206004820152601960248201527f56616c75652073656e74206973206e6f7420636f7272656374000000000000006044820152606401610857565b610c83338261154e565b6000818152600460205260408120546001600160a01b0316806107275760405162461bcd60e51b815260206004820152601d60248201527f6f776e65724f6620746f6b656e20646f6573206e6f74206578697374210000006044820152606401610857565b3360009081526009602052604090205460ff16610eb55760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610857565b808314610ec157600080fd5b60005b83811015610f9e576000838383818110610ee057610ee0611ec1565b90506020020135118015610f0d575061016e838383818110610f0457610f04611ec1565b90506020020135105b610f445760405162461bcd60e51b8152602060048201526008602482015267333635206461797360c01b6044820152606401610857565b610f8c858583818110610f5957610f59611ec1565b9050602002016020810190610f6e9190611c0a565b848484818110610f8057610f80611ec1565b9050602002013561154e565b80610f9681611ed7565b915050610ec4565b5050505050565b60006001600160a01b038216610ff05760405162461bcd60e51b815260206004820152601060248201526f062616c616e63654f6620746f203078360841b6044820152606401610857565b506001600160a01b031660009081526005602052604090205463ffffffff1690565b6008546001600160a01b0316331461103c5760405162461bcd60e51b815260040161085790611e9e565b600a805460ff60a81b198116600160a81b9182900460ff1615909102179055565b6008546001600160a01b031633146110875760405162461bcd60e51b815260040161085790611e9e565b600b55565b6001805461073a90611e47565b6008546001600160a01b031633146110c35760405162461bcd60e51b815260040161085790611e9e565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b836daaeb6d7670e522a718067333cd4e3b1561129957336001600160a01b038216036111845761117f8585858561166d565b610f9e565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa1580156111d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f79190611e81565b801561127a5750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015611256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127a9190611e81565b61129957604051633b79c77360e21b8152336004820152602401610857565b610f9e8585858561166d565b600a54606090600160a01b900460ff166112c25761072782611764565b600a5460405163c87b56dd60e01b8152600481018490526001600160a01b039091169063c87b56dd90602401600060405180830381865afa15801561130b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107279190810190611efe565b919050565b6002805461073a90611e47565b6008546001600160a01b0316331461136f5760405162461bcd60e51b815260040161085790611e9e565b610a8182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061179b92505050565b6008546001600160a01b031633146113d85760405162461bcd60e51b815260040161085790611e9e565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6008546001600160a01b031633146114545760405162461bcd60e51b815260040161085790611e9e565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b61148383838360016117a7565b505050565b6002610a818282611fc3565b6114838383836040518060200160405280600081525061114d565b60006114ba82610e05565b6001600160a01b0381166000818152600560209081526040808320805463ffffffff19811663ffffffff918216600019019091161790558683526004825280832080546001600160a01b0319908116909155600690925280832080549092169091555192935084929091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0382166115935760405162461bcd60e51b815260206004820152600c60248201526b05f6d696e7420746f203078360a41b6044820152606401610857565b6000818152600460205260409020546001600160a01b0316156115ed5760405162461bcd60e51b81526020600482015260126024820152715f6d696e7420746f6b656e2065786973747360701b6044820152606401610857565b600081815260046020908152604080832080546001600160a01b0387166001600160a01b031990911681179091558084526005909252808320805463ffffffff8082166001011663ffffffff19909116179055518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6116788484846108bc565b6001600160a01b0383163b158061170d5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a02906116be903390899088908890600401612083565b6020604051808303816000875af11580156116dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170191906120c0565b6001600160e01b031916145b610a125760405162461bcd60e51b815260206004820152602260248201527f736166655472616e7366657246726f6d20746f20756e73616665206164647265604482015261737360f01b6064820152608401610857565b6060600261177183611969565b600360405160200161178593929190612150565b6040516020818303038152906040529050919050565b6003610a818282611fc3565b6001600160a01b0383166117f05760405162461bcd60e51b815260206004820152601060248201526f05f7472616e7366657220746f203078360841b6044820152606401610857565b60006117fb83610e05565b9050806001600160a01b0316856001600160a01b03161461185e5760405162461bcd60e51b815260206004820152601860248201527f5f7472616e73666572206e6f742066726f6d206f776e657200000000000000006044820152606401610857565b81156118b45761186f8133856119ad565b6118b45760405162461bcd60e51b815260206004820152601660248201527517dd1c985b9cd9995c881b9bdd08185c1c1c9bdd995960521b6044820152606401610857565b600083815260066020908152604080832080546001600160a01b03199081169091556004835281842080549091166001600160a01b038981169182179092559089168085526005909352818420805463ffffffff1980821663ffffffff928316600019018316179092558286528386208054928316928216600101909116919091179055905186939192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a45050505050565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a9004806119835750819003601f19909101908152919050565b6000826001600160a01b0316846001600160a01b031614806119e857506000828152600660205260409020546001600160a01b038481169116145b80611a1857506001600160a01b0380851660009081526007602090815260408083209387168352929052205460ff165b949350505050565b6001600160e01b031981168114610c8357600080fd5b600060208284031215611a4857600080fd5b8135611a5381611a20565b9392505050565b60005b83811015611a75578181015183820152602001611a5d565b50506000910152565b60008151808452611a96816020860160208601611a5a565b601f01601f19169290920160200192915050565b602081526000611a536020830184611a7e565b600060208284031215611acf57600080fd5b5035919050565b80356001600160a01b038116811461133357600080fd5b60008060408385031215611b0057600080fd5b611b0983611ad6565b946020939093013593505050565b600080600060608486031215611b2c57600080fd5b611b3584611ad6565b9250611b4360208501611ad6565b9150604084013590509250925092565b60008060208385031215611b6657600080fd5b823567ffffffffffffffff80821115611b7e57600080fd5b818501915085601f830112611b9257600080fd5b813581811115611ba157600080fd5b866020828501011115611bb357600080fd5b60209290920196919550909350505050565b8015158114610c8357600080fd5b60008060408385031215611be657600080fd5b611bef83611ad6565b91506020830135611bff81611bc5565b809150509250929050565b600060208284031215611c1c57600080fd5b611a5382611ad6565b60008083601f840112611c3757600080fd5b50813567ffffffffffffffff811115611c4f57600080fd5b6020830191508360208260051b8501011115611c6a57600080fd5b9250929050565b60008060008060408587031215611c8757600080fd5b843567ffffffffffffffff80821115611c9f57600080fd5b611cab88838901611c25565b90965094506020870135915080821115611cc457600080fd5b50611cd187828801611c25565b95989497509550505050565b600060208284031215611cef57600080fd5b8135611a5381611bc5565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d3957611d39611cfa565b604052919050565b600067ffffffffffffffff821115611d5b57611d5b611cfa565b50601f01601f191660200190565b60008060008060808587031215611d7f57600080fd5b611d8885611ad6565b9350611d9660208601611ad6565b925060408501359150606085013567ffffffffffffffff811115611db957600080fd5b8501601f81018713611dca57600080fd5b8035611ddd611dd882611d41565b611d10565b818152886020838501011115611df257600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611e2757600080fd5b611e3083611ad6565b9150611e3e60208401611ad6565b90509250929050565b600181811c90821680611e5b57607f821691505b602082108103611e7b57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611e9357600080fd5b8151611a5381611bc5565b6020808252600990820152682737ba1027bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611ef757634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215611f1057600080fd5b815167ffffffffffffffff811115611f2757600080fd5b8201601f81018413611f3857600080fd5b8051611f46611dd882611d41565b818152856020838501011115611f5b57600080fd5b611f6c826020830160208601611a5a565b95945050505050565b601f82111561148357600081815260208120601f850160051c81016020861015611f9c5750805b601f850160051c820191505b81811015611fbb57828155600101611fa8565b505050505050565b815167ffffffffffffffff811115611fdd57611fdd611cfa565b611ff181611feb8454611e47565b84611f75565b602080601f831160018114612026576000841561200e5750858301515b600019600386901b1c1916600185901b178555611fbb565b600085815260208120601f198616915b8281101561205557888601518255948401946001909101908401612036565b50858210156120735787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906120b690830184611a7e565b9695505050505050565b6000602082840312156120d257600080fd5b8151611a5381611a20565b600081546120ea81611e47565b60018281168015612102576001811461211757612146565b60ff1984168752821515830287019450612146565b8560005260208060002060005b8581101561213d5781548a820152908401908201612124565b50505082870194505b5050505092915050565b600061215c82866120dd565b845161216c818360208901611a5a565b612178818301866120dd565b97965050505050505056fea2646970667358221220e8e7e6410fa68c9392bea98b02f67870801d6ec783c8fd807ce5fae4f61b3fe164736f6c6343000813003341206e657720776f726c64206f6620696d6167696e6174696f6e20627920594f534849524f5454454e
Deployed Bytecode
0x6080604052600436106102045760003560e01c80636352211e116101185780639a5bb0ef116100a0578063d547cfb71161006f578063d547cfb71461062b578063e985e9c514610640578063eaf8eb951461067b578063f2fde38b1461069b578063f3cb8385146106bb57600080fd5b80639a5bb0ef146105ab578063a22cb465146105cb578063b88d4fde146105eb578063c87b56dd1461060b57600080fd5b806370a08231116100e757806370a0823114610521578063760a8c2a146105415780638da5cb5b1461055657806391b7f5ed1461057657806395d89b411461059657600080fd5b80636352211e1461048d57806363a846f8146104ad5780636817c76c146104dd57806369f7d2f21461050157600080fd5b80632c2cdd601161019b57806342842e0e1161016a57806342842e0e146103d257806342966c68146103f25780634b0bddd2146104125780634f88703c146104325780635266069d1461044557600080fd5b80632c2cdd601461034757806330176e131461037d578063392f37e91461039d5780633ccfd60b146103bd57600080fd5b8063083ad1a6116101d7578063083ad1a6146102cf578063095ea7b3146102e45780630bbcf0ec1461030657806323b872dd1461032757600080fd5b806301ffc9a71461020957806302fb0c5e1461023e57806306fdde031461025f578063081812fc14610281575b600080fd5b34801561021557600080fd5b50610229610224366004611a36565b6106db565b60405190151581526020015b60405180910390f35b34801561024a57600080fd5b50600a5461022990600160a81b900460ff1681565b34801561026b57600080fd5b5061027461072d565b6040516102359190611aaa565b34801561028d57600080fd5b506102b761029c366004611abd565b6006602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610235565b3480156102db57600080fd5b506102746107bb565b3480156102f057600080fd5b506103046102ff366004611aed565b6107c8565b005b34801561031257600080fd5b50600a5461022990600160a01b900460ff1681565b34801561033357600080fd5b50610304610342366004611b17565b6108bc565b34801561035357600080fd5b506102b7610362366004611abd565b6004602052600090815260409020546001600160a01b031681565b34801561038957600080fd5b50610304610398366004611b53565b610a18565b3480156103a957600080fd5b50600a546102b7906001600160a01b031681565b3480156103c957600080fd5b50610304610a85565b3480156103de57600080fd5b506103046103ed366004611b17565b610ade565b3480156103fe57600080fd5b5061030461040d366004611abd565b610c2f565b34801561041e57600080fd5b5061030461042d366004611bd3565b610c86565b610304610440366004611abd565b610cdb565b34801561045157600080fd5b50610478610460366004611c0a565b60056020526000908152604090205463ffffffff1681565b60405163ffffffff9091168152602001610235565b34801561049957600080fd5b506102b76104a8366004611abd565b610e05565b3480156104b957600080fd5b506102296104c8366004611c0a565b60096020526000908152604090205460ff1681565b3480156104e957600080fd5b506104f3600b5481565b604051908152602001610235565b34801561050d57600080fd5b5061030461051c366004611c71565b610e6a565b34801561052d57600080fd5b506104f361053c366004611c0a565b610fa5565b34801561054d57600080fd5b50610304611012565b34801561056257600080fd5b506008546102b7906001600160a01b031681565b34801561058257600080fd5b50610304610591366004611abd565b61105d565b3480156105a257600080fd5b5061027461108c565b3480156105b757600080fd5b506103046105c6366004611cdd565b611099565b3480156105d757600080fd5b506103046105e6366004611bd3565b6110e1565b3480156105f757600080fd5b50610304610606366004611d69565b61114d565b34801561061757600080fd5b50610274610626366004611abd565b6112a5565b34801561063757600080fd5b50610274611338565b34801561064c57600080fd5b5061022961065b366004611e14565b600760209081526000928352604080842090915290825290205460ff1681565b34801561068757600080fd5b50610304610696366004611b53565b611345565b3480156106a757600080fd5b506103046106b6366004611c0a565b6113ae565b3480156106c757600080fd5b506103046106d6366004611c0a565b61142a565b60006301ffc9a760e01b6001600160e01b03198316148061070c57506380ac58cd60e01b6001600160e01b03198316145b806107275750635b5e139f60e01b6001600160e01b03198316145b92915050565b6000805461073a90611e47565b80601f016020809104026020016040519081016040528092919081815260200182805461076690611e47565b80156107b35780601f10610788576101008083540402835291602001916107b3565b820191906000526020600020905b81548152906001019060200180831161079657829003601f168201915b505050505081565b6003805461073a90611e47565b60006107d382610e05565b9050336001600160a01b038216148061080f57506001600160a01b038116600090815260076020908152604080832033845290915290205460ff165b6108605760405162461bcd60e51b815260206004820152601760248201527f617070726f7665206e6f7420617574686f72697a65642100000000000000000060448201526064015b60405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b826daaeb6d7670e522a718067333cd4e3b15610a0757336001600160a01b038216036108f2576108ed848484611476565b610a12565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610941573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109659190611e81565b80156109e85750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa1580156109c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e89190611e81565b610a0757604051633b79c77360e21b8152336004820152602401610857565b610a12848484611476565b50505050565b6008546001600160a01b03163314610a425760405162461bcd60e51b815260040161085790611e9e565b610a8182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061148892505050565b5050565b6008546001600160a01b03163314610aaf5760405162461bcd60e51b815260040161085790611e9e565b6040514790339082156108fc029083906000818181858888f19350505050158015610a81573d6000803e3d6000fd5b826daaeb6d7670e522a718067333cd4e3b15610c2457336001600160a01b03821603610b0f576108ed848484611494565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610b5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b829190611e81565b8015610c055750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c059190611e81565b610c2457604051633b79c77360e21b8152336004820152602401610857565b610a12848484611494565b3360009081526009602052604090205460ff16610c7a5760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610857565b610c83816114af565b50565b6008546001600160a01b03163314610cb05760405162461bcd60e51b815260040161085790611e9e565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b333214610d1e5760405162461bcd60e51b8152602060048201526011602482015270139bc81cdb585c9d0818dbdb9d1c9858dd607a1b6044820152606401610857565b600081118015610d2f575061016e81105b610d665760405162461bcd60e51b8152602060048201526008602482015267333635206461797360c01b6044820152606401610857565b600a54600160a81b900460ff16610daa5760405162461bcd60e51b8152602060048201526008602482015267496e61637469766560c01b6044820152606401610857565b600b543414610dfb5760405162461bcd60e51b815260206004820152601960248201527f56616c75652073656e74206973206e6f7420636f7272656374000000000000006044820152606401610857565b610c83338261154e565b6000818152600460205260408120546001600160a01b0316806107275760405162461bcd60e51b815260206004820152601d60248201527f6f776e65724f6620746f6b656e20646f6573206e6f74206578697374210000006044820152606401610857565b3360009081526009602052604090205460ff16610eb55760405162461bcd60e51b81526020600482015260096024820152682737ba1020b236b4b760b91b6044820152606401610857565b808314610ec157600080fd5b60005b83811015610f9e576000838383818110610ee057610ee0611ec1565b90506020020135118015610f0d575061016e838383818110610f0457610f04611ec1565b90506020020135105b610f445760405162461bcd60e51b8152602060048201526008602482015267333635206461797360c01b6044820152606401610857565b610f8c858583818110610f5957610f59611ec1565b9050602002016020810190610f6e9190611c0a565b848484818110610f8057610f80611ec1565b9050602002013561154e565b80610f9681611ed7565b915050610ec4565b5050505050565b60006001600160a01b038216610ff05760405162461bcd60e51b815260206004820152601060248201526f062616c616e63654f6620746f203078360841b6044820152606401610857565b506001600160a01b031660009081526005602052604090205463ffffffff1690565b6008546001600160a01b0316331461103c5760405162461bcd60e51b815260040161085790611e9e565b600a805460ff60a81b198116600160a81b9182900460ff1615909102179055565b6008546001600160a01b031633146110875760405162461bcd60e51b815260040161085790611e9e565b600b55565b6001805461073a90611e47565b6008546001600160a01b031633146110c35760405162461bcd60e51b815260040161085790611e9e565b600a8054911515600160a01b0260ff60a01b19909216919091179055565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b836daaeb6d7670e522a718067333cd4e3b1561129957336001600160a01b038216036111845761117f8585858561166d565b610f9e565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa1580156111d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f79190611e81565b801561127a5750604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015611256573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127a9190611e81565b61129957604051633b79c77360e21b8152336004820152602401610857565b610f9e8585858561166d565b600a54606090600160a01b900460ff166112c25761072782611764565b600a5460405163c87b56dd60e01b8152600481018490526001600160a01b039091169063c87b56dd90602401600060405180830381865afa15801561130b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107279190810190611efe565b919050565b6002805461073a90611e47565b6008546001600160a01b0316331461136f5760405162461bcd60e51b815260040161085790611e9e565b610a8182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061179b92505050565b6008546001600160a01b031633146113d85760405162461bcd60e51b815260040161085790611e9e565b600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6008546001600160a01b031633146114545760405162461bcd60e51b815260040161085790611e9e565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b61148383838360016117a7565b505050565b6002610a818282611fc3565b6114838383836040518060200160405280600081525061114d565b60006114ba82610e05565b6001600160a01b0381166000818152600560209081526040808320805463ffffffff19811663ffffffff918216600019019091161790558683526004825280832080546001600160a01b0319908116909155600690925280832080549092169091555192935084929091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0382166115935760405162461bcd60e51b815260206004820152600c60248201526b05f6d696e7420746f203078360a41b6044820152606401610857565b6000818152600460205260409020546001600160a01b0316156115ed5760405162461bcd60e51b81526020600482015260126024820152715f6d696e7420746f6b656e2065786973747360701b6044820152606401610857565b600081815260046020908152604080832080546001600160a01b0387166001600160a01b031990911681179091558084526005909252808320805463ffffffff8082166001011663ffffffff19909116179055518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6116788484846108bc565b6001600160a01b0383163b158061170d5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a02906116be903390899088908890600401612083565b6020604051808303816000875af11580156116dd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170191906120c0565b6001600160e01b031916145b610a125760405162461bcd60e51b815260206004820152602260248201527f736166655472616e7366657246726f6d20746f20756e73616665206164647265604482015261737360f01b6064820152608401610857565b6060600261177183611969565b600360405160200161178593929190612150565b6040516020818303038152906040529050919050565b6003610a818282611fc3565b6001600160a01b0383166117f05760405162461bcd60e51b815260206004820152601060248201526f05f7472616e7366657220746f203078360841b6044820152606401610857565b60006117fb83610e05565b9050806001600160a01b0316856001600160a01b03161461185e5760405162461bcd60e51b815260206004820152601860248201527f5f7472616e73666572206e6f742066726f6d206f776e657200000000000000006044820152606401610857565b81156118b45761186f8133856119ad565b6118b45760405162461bcd60e51b815260206004820152601660248201527517dd1c985b9cd9995c881b9bdd08185c1c1c9bdd995960521b6044820152606401610857565b600083815260066020908152604080832080546001600160a01b03199081169091556004835281842080549091166001600160a01b038981169182179092559089168085526005909352818420805463ffffffff1980821663ffffffff928316600019018316179092558286528386208054928316928216600101909116919091179055905186939192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a45050505050565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a9004806119835750819003601f19909101908152919050565b6000826001600160a01b0316846001600160a01b031614806119e857506000828152600660205260409020546001600160a01b038481169116145b80611a1857506001600160a01b0380851660009081526007602090815260408083209387168352929052205460ff165b949350505050565b6001600160e01b031981168114610c8357600080fd5b600060208284031215611a4857600080fd5b8135611a5381611a20565b9392505050565b60005b83811015611a75578181015183820152602001611a5d565b50506000910152565b60008151808452611a96816020860160208601611a5a565b601f01601f19169290920160200192915050565b602081526000611a536020830184611a7e565b600060208284031215611acf57600080fd5b5035919050565b80356001600160a01b038116811461133357600080fd5b60008060408385031215611b0057600080fd5b611b0983611ad6565b946020939093013593505050565b600080600060608486031215611b2c57600080fd5b611b3584611ad6565b9250611b4360208501611ad6565b9150604084013590509250925092565b60008060208385031215611b6657600080fd5b823567ffffffffffffffff80821115611b7e57600080fd5b818501915085601f830112611b9257600080fd5b813581811115611ba157600080fd5b866020828501011115611bb357600080fd5b60209290920196919550909350505050565b8015158114610c8357600080fd5b60008060408385031215611be657600080fd5b611bef83611ad6565b91506020830135611bff81611bc5565b809150509250929050565b600060208284031215611c1c57600080fd5b611a5382611ad6565b60008083601f840112611c3757600080fd5b50813567ffffffffffffffff811115611c4f57600080fd5b6020830191508360208260051b8501011115611c6a57600080fd5b9250929050565b60008060008060408587031215611c8757600080fd5b843567ffffffffffffffff80821115611c9f57600080fd5b611cab88838901611c25565b90965094506020870135915080821115611cc457600080fd5b50611cd187828801611c25565b95989497509550505050565b600060208284031215611cef57600080fd5b8135611a5381611bc5565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611d3957611d39611cfa565b604052919050565b600067ffffffffffffffff821115611d5b57611d5b611cfa565b50601f01601f191660200190565b60008060008060808587031215611d7f57600080fd5b611d8885611ad6565b9350611d9660208601611ad6565b925060408501359150606085013567ffffffffffffffff811115611db957600080fd5b8501601f81018713611dca57600080fd5b8035611ddd611dd882611d41565b611d10565b818152886020838501011115611df257600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611e2757600080fd5b611e3083611ad6565b9150611e3e60208401611ad6565b90509250929050565b600181811c90821680611e5b57607f821691505b602082108103611e7b57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611e9357600080fd5b8151611a5381611bc5565b6020808252600990820152682737ba1027bbb732b960b91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611ef757634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215611f1057600080fd5b815167ffffffffffffffff811115611f2757600080fd5b8201601f81018413611f3857600080fd5b8051611f46611dd882611d41565b818152856020838501011115611f5b57600080fd5b611f6c826020830160208601611a5a565b95945050505050565b601f82111561148357600081815260208120601f850160051c81016020861015611f9c5750805b601f850160051c820191505b81811015611fbb57828155600101611fa8565b505050505050565b815167ffffffffffffffff811115611fdd57611fdd611cfa565b611ff181611feb8454611e47565b84611f75565b602080601f831160018114612026576000841561200e5750858301515b600019600386901b1c1916600185901b178555611fbb565b600085815260208120601f198616915b8281101561205557888601518255948401946001909101908401612036565b50858210156120735787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906120b690830184611a7e565b9695505050505050565b6000602082840312156120d257600080fd5b8151611a5381611a20565b600081546120ea81611e47565b60018281168015612102576001811461211757612146565b60ff1984168752821515830287019450612146565b8560005260208060002060005b8581101561213d5781548a820152908401908201612124565b50505082870194505b5050505092915050565b600061215c82866120dd565b845161216c818360208901611a5a565b612178818301866120dd565b97965050505050505056fea2646970667358221220e8e7e6410fa68c9392bea98b02f67870801d6ec783c8fd807ce5fae4f61b3fe164736f6c63430008130033
Deployed Bytecode Sourcemap
9985:2882:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4573:160;;;;;;;;;;-1:-1:-1;4573:160:0;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;4573:160:0;;;;;;;;10108:18;;;;;;;;;;-1:-1:-1;10108:18:0;;;;-1:-1:-1;;;10108:18:0;;;;;;688;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1481:46::-;;;;;;;;;;-1:-1:-1;1481:46:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1481:46:0;;;;;;-1:-1:-1;;;;;1697:32:1;;;1679:51;;1667:2;1652:18;1481:46:0;1533:203:1;774:30:0;;;;;;;;;;;;;:::i;3760:340::-;;;;;;;;;;-1:-1:-1;3760:340:0;;;;;:::i;:::-;;:::i;:::-;;10078:23;;;;;;;;;;-1:-1:-1;10078:23:0;;;;-1:-1:-1;;;10078:23:0;;;;;;12318:163;;;;;;;;;;-1:-1:-1;12318:163:0;;;;;:::i;:::-;;:::i;928:47::-;;;;;;;;;;-1:-1:-1;928:47:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;928:47:0;;;11174:107;;;;;;;;;;-1:-1:-1;11174:107:0;;;;;:::i;:::-;;:::i;10048:23::-;;;;;;;;;;-1:-1:-1;10048:23:0;;;;-1:-1:-1;;;;;10048:23:0;;;12056:140;;;;;;;;;;;;;:::i;12489:171::-;;;;;;;;;;-1:-1:-1;12489:171:0;;;;;:::i;:::-;;:::i;11081:85::-;;;;;;;;;;-1:-1:-1;11081:85:0;;;;;:::i;:::-;;:::i;6252:95::-;;;;;;;;;;-1:-1:-1;6252:95:0;;;;;:::i;:::-;;:::i;10795:278::-;;;;;;:::i;:::-;;:::i;982:51::-;;;;;;;;;;-1:-1:-1;982:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3916:10:1;3904:23;;;3886:42;;3874:2;3859:18;982:51:0;3742:192:1;1241:232:0;;;;;;;;;;-1:-1:-1;1241:232:0;;;;;:::i;:::-;;:::i;6020:37::-;;;;;;;;;;-1:-1:-1;6020:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;10133:36;;;;;;;;;;;;;;;;;;;4085:25:1;;;4073:2;4058:18;10133:36:0;3939:177:1;10430:357:0;;;;;;;;;;-1:-1:-1;10430:357:0;;;;;:::i;:::-;;:::i;1042:187::-;;;;;;;;;;-1:-1:-1;1042:187:0;;;;;:::i;:::-;;:::i;11721:73::-;;;;;;;;;;;;;:::i;5993:20::-;;;;;;;;;;-1:-1:-1;5993:20:0;;;;-1:-1:-1;;;;;5993:20:0;;;11619:94;;;;;;;;;;-1:-1:-1;11619:94:0;;;;;:::i;:::-;;:::i;714:20::-;;;;;;;;;;;;;:::i;11516:95::-;;;;;;;;;;-1:-1:-1;11516:95:0;;;;;:::i;:::-;;:::i;4108:211::-;;;;;;;;;;-1:-1:-1;4108:211:0;;;;;:::i;:::-;;:::i;12668:196::-;;;;;;;;;;-1:-1:-1;12668:196:0;;;;;:::i;:::-;;:::i;11802:246::-;;;;;;;;;;-1:-1:-1;11802:246:0;;;;;:::i;:::-;;:::i;741:26::-;;;;;;;;;;;;;:::i;1534:68::-;;;;;;;;;;-1:-1:-1;1534:68:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;11289:113;;;;;;;;;;-1:-1:-1;11289:113:0;;;;;:::i;:::-;;:::i;6353:138::-;;;;;;;;;;-1:-1:-1;6353:138:0;;;;;:::i;:::-;;:::i;11410:98::-;;;;;;;;;;-1:-1:-1;11410:98:0;;;;;:::i;:::-;;:::i;4573:160::-;4641:4;-1:-1:-1;;;;;;;;;4666:17:0;;;;:38;;-1:-1:-1;;;;;;;;;;4687:17:0;;;4666:38;:59;;;-1:-1:-1;;;;;;;;;;4708:17:0;;;4666:59;4658:67;4573:160;-1:-1:-1;;4573:160:0:o;688:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;774:30::-;;;;;;;:::i;3760:340::-;3839:14;3856:17;3864:8;3856:7;:17::i;:::-;3839:34;-1:-1:-1;3892:10:0;-1:-1:-1;;;;;3892:20:0;;;;:60;;-1:-1:-1;;;;;;3916:24:0;;;;;;:16;:24;;;;;;;;3941:10;3916:36;;;;;;;;;;3892:60;3884:113;;;;-1:-1:-1;;;3884:113:0;;7865:2:1;3884:113:0;;;7847:21:1;7904:2;7884:18;;;7877:30;7943:25;7923:18;;;7916:53;7986:18;;3884:113:0;;;;;;;;;4008:21;;;;:11;:21;;;;;;:32;;-1:-1:-1;;;;;;4008:32:0;-1:-1:-1;;;;;4008:32:0;;;;;;;;;4056:36;;4008:21;;4056:36;;;;;;;3828:272;3760:340;;:::o;12318:163::-;12419:4;8895:42;9642:43;:47;9638:331;;9718:10;-1:-1:-1;;;;;9710:18:0;;;9706:39;;12436:37:::1;12455:4;12461:2;12465:7;12436:18;:37::i;:::-;9735:8:::0;;9706:39;9765:67;;-1:-1:-1;;;9765:67:0;;9814:4;9765:67;;;8227:34:1;9821:10:0;8277:18:1;;;8270:43;8895:42:0;;9765:40;;8162:18:1;;9765:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:132;;;;-1:-1:-1;9836:61:0;;-1:-1:-1;;;9836:61:0;;9885:4;9836:61;;;8227:34:1;-1:-1:-1;;;;;8297:15:1;;8277:18;;;8270:43;8895:42:0;;9836:40;;8162:18:1;;9836:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9759:209;;9926:30;;-1:-1:-1;;;9926:30:0;;9945:10;9926:30;;;1679:51:1;1652:18;;9926:30:0;1533:203:1;9759:209:0;12436:37:::1;12455:4;12461:2;12465:7;12436:18;:37::i;:::-;12318:163:::0;;;;:::o;11174:107::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;11251:22:::1;11268:4;;11251:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;11251:16:0::1;::::0;-1:-1:-1;;;11251:22:0:i:1;:::-;11174:107:::0;;:::o;12056:140::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;12151:37:::1;::::0;12119:21:::1;::::0;12159:10:::1;::::0;12151:37;::::1;;;::::0;12119:21;;12104:12:::1;12151:37:::0;12104:12;12151:37;12119:21;12159:10;12151:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;12489:171:::0;12594:4;8895:42;9642:43;:47;9638:331;;9718:10;-1:-1:-1;;;;;9710:18:0;;;9706:39;;12611:41:::1;12634:4;12640:2;12644:7;12611:22;:41::i;9706:39::-:0;9765:67;;-1:-1:-1;;;9765:67:0;;9814:4;9765:67;;;8227:34:1;9821:10:0;8277:18:1;;;8270:43;8895:42:0;;9765:40;;8162:18:1;;9765:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:132;;;;-1:-1:-1;9836:61:0;;-1:-1:-1;;;9836:61:0;;9885:4;9836:61;;;8227:34:1;-1:-1:-1;;;;;8297:15:1;;8277:18;;;8270:43;8895:42:0;;9836:40;;8162:18:1;;9836:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9759:209;;9926:30;;-1:-1:-1;;;9926:30:0;;9945:10;9926:30;;;1679:51:1;1652:18;;9926:30:0;1533:203:1;9759:209:0;12611:41:::1;12634:4;12640:2;12644:7;12611:22;:41::i;11081:85::-:0;6215:10;6209:17;;;;:5;:17;;;;;;;;6201:39;;;;-1:-1:-1;;;6201:39:0;;9113:2:1;6201:39:0;;;9095:21:1;9152:1;9132:18;;;9125:29;-1:-1:-1;;;9170:18:1;;;9163:39;9219:18;;6201:39:0;8911:332:1;6201:39:0;11143:15:::1;11149:8;11143:5;:15::i;:::-;11081:85:::0;:::o;6252:95::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6321:15:0;;;::::1;;::::0;;;:5:::1;:15;::::0;;;;:23;;-1:-1:-1;;6321:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6252:95::o;10795:278::-;10208:10;10222:9;10208:23;10200:53;;;;-1:-1:-1;;;10200:53:0;;9450:2:1;10200:53:0;;;9432:21:1;9489:2;9469:18;;;9462:30;-1:-1:-1;;;9508:18:1;;;9501:47;9565:18;;10200:53:0;9248:341:1;10200:53:0;10886:1:::1;10875:8;:12;:30;;;;;10902:3;10891:8;:14;10875:30;10867:51;;;::::0;-1:-1:-1;;;10867:51:0;;9796:2:1;10867:51:0::1;::::0;::::1;9778:21:1::0;9835:1;9815:18;;;9808:29;-1:-1:-1;;;9853:18:1;;;9846:38;9901:18;;10867:51:0::1;9594:331:1::0;10867:51:0::1;10937:6;::::0;-1:-1:-1;;;10937:6:0;::::1;;;10929:27;;;::::0;-1:-1:-1;;;10929:27:0;;10132:2:1;10929:27:0::1;::::0;::::1;10114:21:1::0;10171:1;10151:18;;;10144:29;-1:-1:-1;;;10189:18:1;;;10182:38;10237:18;;10929:27:0::1;9930:331:1::0;10929:27:0::1;10988:9;;10975;:22;10967:60;;;::::0;-1:-1:-1;;;10967:60:0;;10468:2:1;10967:60:0::1;::::0;::::1;10450:21:1::0;10507:2;10487:18;;;10480:30;10546:27;10526:18;;;10519:55;10591:18;;10967:60:0::1;10266:349:1::0;10967:60:0::1;11038:27;11044:10;11056:8;11038:5;:27::i;1241:232::-:0;1305:7;1342:20;;;:10;:20;;;;;:26;-1:-1:-1;;;;;1342:26:0;;1379:62;;;;-1:-1:-1;;;1379:62:0;;10822:2:1;1379:62:0;;;10804:21:1;10861:2;10841:18;;;10834:30;10900:31;10880:18;;;10873:59;10949:18;;1379:62:0;10620:353:1;10430:357:0;6215:10;6209:17;;;;:5;:17;;;;;;;;6201:39;;;;-1:-1:-1;;;6201:39:0;;9113:2:1;6201:39:0;;;9095:21:1;9152:1;9132:18;;;9125:29;-1:-1:-1;;;9170:18:1;;;9163:39;9219:18;;6201:39:0;8911:332:1;6201:39:0;12296:6;;;10537:56:::1;;;::::0;::::1;;10609:9;10604:176;10624:19:::0;;::::1;10604:176;;;10687:1;10673:8;;10682:1;10673:11;;;;;;;:::i;:::-;;;;;;;:15;:36;;;;;10706:3;10692:8;;10701:1;10692:11;;;;;;;:::i;:::-;;;;;;;:17;10673:36;10665:57;;;::::0;-1:-1:-1;;;10665:57:0;;9796:2:1;10665:57:0::1;::::0;::::1;9778:21:1::0;9835:1;9815:18;;;9808:29;-1:-1:-1;;;9853:18:1;;;9846:38;9901:18;;10665:57:0::1;9594:331:1::0;10665:57:0::1;10737:31;10743:8;;10752:1;10743:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;10756:8;;10765:1;10756:11;;;;;;;:::i;:::-;;;;;;;10737:5;:31::i;:::-;10645:3:::0;::::1;::::0;::::1;:::i;:::-;;;;10604:176;;;;10430:357:::0;;;;:::o;1042:187::-;1106:7;-1:-1:-1;;;;;1134:20:0;;1126:49;;;;-1:-1:-1;;;1126:49:0;;11549:2:1;1126:49:0;;;11531:21:1;11588:2;11568:18;;;11561:30;-1:-1:-1;;;11607:18:1;;;11600:46;11663:18;;1126:49:0;11347:340:1;1126:49:0;-1:-1:-1;;;;;;1193:20:0;;;;;:12;:20;;;;;:28;;;;1042:187::o;11721:73::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;11780:6:::1;::::0;;-1:-1:-1;;;;11770:16:0;::::1;-1:-1:-1::0;;;11780:6:0;;;::::1;;;11779:7;11770:16:::0;;::::1;;::::0;;11721:73::o;11619:94::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;11685:9:::1;:20:::0;11619:94::o;714:20::-;;;;;;;:::i;11516:95::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;11583:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;11583:19:0::1;-1:-1:-1::0;;;;11583:19:0;;::::1;::::0;;;::::1;::::0;;11516:95::o;4108:211::-;4213:10;4196:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;4196:39:0;;;;;;;;;;;;:51;;-1:-1:-1;;4196:51:0;;;;;;;;;;4263:48;;540:41:1;;;4196:39:0;;4213:10;4263:48;;513:18:1;4263:48:0;;;;;;;4108:211;;:::o;12668:196::-;12792:4;8895:42;9642:43;:47;9638:331;;9718:10;-1:-1:-1;;;;;9710:18:0;;;9706:39;;12809:47:::1;12832:4;12838:2;12842:7;12851:4;12809:22;:47::i;:::-;9735:8:::0;;9706:39;9765:67;;-1:-1:-1;;;9765:67:0;;9814:4;9765:67;;;8227:34:1;9821:10:0;8277:18:1;;;8270:43;8895:42:0;;9765:40;;8162:18:1;;9765:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:132;;;;-1:-1:-1;9836:61:0;;-1:-1:-1;;;9836:61:0;;9885:4;9836:61;;;8227:34:1;-1:-1:-1;;;;;8297:15:1;;8277:18;;;8270:43;8895:42:0;;9836:40;;8162:18:1;;9836:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9759:209;;9926:30;;-1:-1:-1;;;9926:30:0;;9945:10;9926:30;;;1679:51:1;1652:18;;9926:30:0;1533:203:1;9759:209:0;12809:47:::1;12832:4;12838:2;12842:7;12851:4;12809:22;:47::i;11802:246::-:0;11899:11;;11868:13;;-1:-1:-1;;;11899:11:0;;;;11894:147;;11934:17;11942:8;11934:7;:17::i;11894:147::-;12001:8;;11991:38;;-1:-1:-1;;;11991:38:0;;;;;4085:25:1;;;-1:-1:-1;;;;;12001:8:0;;;;11991:28;;4058:18:1;;11991:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11991:38:0;;;;;;;;;;;;:::i;11894:147::-;11802:246;;;:::o;741:26::-;;;;;;;:::i;11289:113::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;11369:25:::1;11389:4;;11369:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;11369:19:0::1;::::0;-1:-1:-1;;;11369:25:0:i:1;6353:138::-:0;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;6430:5:::1;::::0;;-1:-1:-1;;;;;6437:12:0;;::::1;-1:-1:-1::0;;;;;;6437:12:0;::::1;::::0;::::1;::::0;;;6456:32:::1;::::0;6430:5;::::1;::::0;6437:12;6430:5;;6456:32:::1;::::0;6415:12:::1;::::0;6456:32:::1;6413:78;6353:138:::0;:::o;11410:98::-;6136:5;;-1:-1:-1;;;;;6136:5:0;6145:10;6136:19;6128:41;;;;-1:-1:-1;;;6128:41:0;;;;;;;:::i;:::-;11480:8:::1;:19:::0;;-1:-1:-1;;;;;;11480:19:0::1;-1:-1:-1::0;;;;;11480:19:0;;;::::1;::::0;;;::::1;::::0;;11410:98::o;3027:139::-;3121:37;3131:5;3138:3;3143:8;3153:4;3121:9;:37::i;:::-;3027:139;;;:::o;4741:87::-;4806:12;:19;4821:4;4806:12;:19;:::i;3604:148::-;3702:42;3719:5;3726:3;3731:8;3702:42;;;;;;;;;;;;:16;:42::i;2092:310::-;2165:14;2182:17;2190:8;2182:7;:17::i;:::-;-1:-1:-1;;;;;2232:20:0;;;;;;:12;:20;;;;;;;;:30;;-1:-1:-1;;2232:30:0;;;;;;-1:-1:-1;;2232:30:0;;;;;;;2280:20;;;:10;:20;;;;;2273:27;;-1:-1:-1;;;;;;2273:27:0;;;;;;2318:11;:21;;;;;;2311:28;;;;;;;;2355:38;2232:20;;-1:-1:-1;2280:20:0;;2232;;;2355:38;;2232:20;;2355:38;2144:257;2092:310;:::o;1733:351::-;-1:-1:-1;;;;;1827:17:0;;1819:42;;;;-1:-1:-1;;;1819:42:0;;14751:2:1;1819:42:0;;;14733:21:1;14790:2;14770:18;;;14763:30;-1:-1:-1;;;14809:18:1;;;14802:42;14861:18;;1819:42:0;14549:336:1;1819:42:0;1918:1;1880:20;;;:10;:20;;;;;:26;-1:-1:-1;;;;;1880:26:0;:40;1872:71;;;;-1:-1:-1;;;1872:71:0;;15092:2:1;1872:71:0;;;15074:21:1;15131:2;15111:18;;;15104:30;-1:-1:-1;;;15150:18:1;;;15143:48;15208:18;;1872:71:0;14890:342:1;1872:71:0;1954:20;;;;:10;:20;;;;;;;;:32;;-1:-1:-1;;;;;1954:32:0;;-1:-1:-1;;;;;;1954:32:0;;;;;;;;1997:17;;;:12;:17;;;;;;:27;;;;;;1954:32;1997:27;;-1:-1:-1;;1997:27:0;;;;;;2040:35;1965:8;;1954:20;2040:35;;1954:20;;2040:35;1733:351;;:::o;3174:422::-;3292:34;3305:5;3312:3;3317:8;3292:12;:34::i;:::-;-1:-1:-1;;;;;3345:15:0;;;:20;;:190;;-1:-1:-1;3382:91:0;;-1:-1:-1;;;3382:91:0;;;3490:45;-1:-1:-1;;;;;3382:55:0;;;3490:45;;3382:91;;3438:10;;3450:5;;3457:8;;3467:5;;3382:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3382:153:0;;3345:190;3337:251;;;;-1:-1:-1;;;3337:251:0;;16187:2:1;3337:251:0;;;16169:21:1;16226:2;16206:18;;;16199:30;16265:34;16245:18;;;16238:62;-1:-1:-1;;;16316:18:1;;;16309:32;16358:19;;3337:251:0;15985:398:1;5585:184:0;5651:13;5708:12;5722:19;5732:8;5722:9;:19::i;:::-;5743:16;5691:69;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5677:84;;5585:184;;;:::o;4834:94::-;4902:16;:23;4921:4;4902:16;:23;:::i;2410:609::-;-1:-1:-1;;;;;2544:17:0;;2536:46;;;;-1:-1:-1;;;2536:46:0;;17791:2:1;2536:46:0;;;17773:21:1;17830:2;17810:18;;;17803:30;-1:-1:-1;;;17849:18:1;;;17842:46;17905:18;;2536:46:0;17589:340:1;2536:46:0;2593:14;2610:17;2618:8;2610:7;:17::i;:::-;2593:34;;2655:6;-1:-1:-1;;;;;2646:15:0;:5;-1:-1:-1;;;;;2646:15:0;;2638:52;;;;-1:-1:-1;;;2638:52:0;;18136:2:1;2638:52:0;;;18118:21:1;18175:2;18155:18;;;18148:30;18214:26;18194:18;;;18187:54;18258:18;;2638:52:0;17934:348:1;2638:52:0;2705:14;2701:103;;;2729:48;2748:6;2756:10;2768:8;2729:18;:48::i;:::-;2721:83;;;;-1:-1:-1;;;2721:83:0;;18489:2:1;2721:83:0;;;18471:21:1;18528:2;18508:18;;;18501:30;-1:-1:-1;;;18547:18:1;;;18540:52;18609:18;;2721:83:0;18287:346:1;2721:83:0;2822:21;;;;:11;:21;;;;;;;;2815:28;;-1:-1:-1;;;;;;2815:28:0;;;;;;2854:10;:20;;;;;:32;;;;;-1:-1:-1;;;;;2854:32:0;;;;;;;;;2897:19;;;;;;:12;:19;;;;;;:29;;-1:-1:-1;;2897:29:0;;;;;;;-1:-1:-1;;2897:29:0;;;;;;;2937:17;;;;;;:27;;;;;;;;-1:-1:-1;2937:27:0;;;;;;;;;;2980:30;;2822:21;;2854:32;;2897:19;2980:30;;;2515:503;2410:609;;;;:::o;4936:641::-;5002:18;5083:4;5076;5070:11;5066:22;5115:1;5109:4;5102:15;5146:4;5143:1;5139:12;5131:20;;;5178:1;5172:4;5165:15;5205:4;5241:6;5223:223;5292:1;5286:4;5282:12;5274:20;;5344:2;5338:4;5334:13;5330:2;5326:22;5320:4;5312:37;5385:2;5375:13;;5406:25;5223:223;5406:25;-1:-1:-1;5474:14:0;;;-1:-1:-1;;5510:15:0;;;5539:20;;;5510:15;4936:641;-1:-1:-1;4936:641:0:o;4327:238::-;4438:4;4473:8;-1:-1:-1;;;;;4463:18:0;:6;-1:-1:-1;;;;;4463:18:0;;:55;;;-1:-1:-1;4485:21:0;;;;:11;:21;;;;;;-1:-1:-1;;;;;4485:33:0;;;:21;;:33;4463:55;:93;;;-1:-1:-1;;;;;;4522:24:0;;;;;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;4463:93;4455:102;4327:238;-1:-1:-1;;;;4327:238:0:o;14:131:1:-;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:1:o;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:1;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:1;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:1:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:1;;1348:180;-1:-1:-1;1348:180:1:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:1;;1848:42;;1838:70;;1904:1;1901;1894:12;1919:254;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:1:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:592::-;2582:6;2590;2643:2;2631:9;2622:7;2618:23;2614:32;2611:52;;;2659:1;2656;2649:12;2611:52;2699:9;2686:23;2728:18;2769:2;2761:6;2758:14;2755:34;;;2785:1;2782;2775:12;2755:34;2823:6;2812:9;2808:22;2798:32;;2868:7;2861:4;2857:2;2853:13;2849:27;2839:55;;2890:1;2887;2880:12;2839:55;2930:2;2917:16;2956:2;2948:6;2945:14;2942:34;;;2972:1;2969;2962:12;2942:34;3017:7;3012:2;3003:6;2999:2;2995:15;2991:24;2988:37;2985:57;;;3038:1;3035;3028:12;2985:57;3069:2;3061:11;;;;;3091:6;;-1:-1:-1;2511:592:1;;-1:-1:-1;;;;2511:592:1:o;3108:118::-;3194:5;3187:13;3180:21;3173:5;3170:32;3160:60;;3216:1;3213;3206:12;3231:315;3296:6;3304;3357:2;3345:9;3336:7;3332:23;3328:32;3325:52;;;3373:1;3370;3363:12;3325:52;3396:29;3415:9;3396:29;:::i;:::-;3386:39;;3475:2;3464:9;3460:18;3447:32;3488:28;3510:5;3488:28;:::i;:::-;3535:5;3525:15;;;3231:315;;;;;:::o;3551:186::-;3610:6;3663:2;3651:9;3642:7;3638:23;3634:32;3631:52;;;3679:1;3676;3669:12;3631:52;3702:29;3721:9;3702:29;:::i;4121:367::-;4184:8;4194:6;4248:3;4241:4;4233:6;4229:17;4225:27;4215:55;;4266:1;4263;4256:12;4215:55;-1:-1:-1;4289:20:1;;4332:18;4321:30;;4318:50;;;4364:1;4361;4354:12;4318:50;4401:4;4393:6;4389:17;4377:29;;4461:3;4454:4;4444:6;4441:1;4437:14;4429:6;4425:27;4421:38;4418:47;4415:67;;;4478:1;4475;4468:12;4415:67;4121:367;;;;;:::o;4493:773::-;4615:6;4623;4631;4639;4692:2;4680:9;4671:7;4667:23;4663:32;4660:52;;;4708:1;4705;4698:12;4660:52;4748:9;4735:23;4777:18;4818:2;4810:6;4807:14;4804:34;;;4834:1;4831;4824:12;4804:34;4873:70;4935:7;4926:6;4915:9;4911:22;4873:70;:::i;:::-;4962:8;;-1:-1:-1;4847:96:1;-1:-1:-1;5050:2:1;5035:18;;5022:32;;-1:-1:-1;5066:16:1;;;5063:36;;;5095:1;5092;5085:12;5063:36;;5134:72;5198:7;5187:8;5176:9;5172:24;5134:72;:::i;:::-;4493:773;;;;-1:-1:-1;5225:8:1;-1:-1:-1;;;;4493:773:1:o;5271:241::-;5327:6;5380:2;5368:9;5359:7;5355:23;5351:32;5348:52;;;5396:1;5393;5386:12;5348:52;5435:9;5422:23;5454:28;5476:5;5454:28;:::i;5517:127::-;5578:10;5573:3;5569:20;5566:1;5559:31;5609:4;5606:1;5599:15;5633:4;5630:1;5623:15;5649:275;5720:2;5714:9;5785:2;5766:13;;-1:-1:-1;;5762:27:1;5750:40;;5820:18;5805:34;;5841:22;;;5802:62;5799:88;;;5867:18;;:::i;:::-;5903:2;5896:22;5649:275;;-1:-1:-1;5649:275:1:o;5929:186::-;5977:4;6010:18;6002:6;5999:30;5996:56;;;6032:18;;:::i;:::-;-1:-1:-1;6098:2:1;6077:15;-1:-1:-1;;6073:29:1;6104:4;6069:40;;5929:186::o;6120:888::-;6215:6;6223;6231;6239;6292:3;6280:9;6271:7;6267:23;6263:33;6260:53;;;6309:1;6306;6299:12;6260:53;6332:29;6351:9;6332:29;:::i;:::-;6322:39;;6380:38;6414:2;6403:9;6399:18;6380:38;:::i;:::-;6370:48;;6465:2;6454:9;6450:18;6437:32;6427:42;;6520:2;6509:9;6505:18;6492:32;6547:18;6539:6;6536:30;6533:50;;;6579:1;6576;6569:12;6533:50;6602:22;;6655:4;6647:13;;6643:27;-1:-1:-1;6633:55:1;;6684:1;6681;6674:12;6633:55;6720:2;6707:16;6745:48;6761:31;6789:2;6761:31;:::i;:::-;6745:48;:::i;:::-;6816:2;6809:5;6802:17;6856:7;6851:2;6846;6842;6838:11;6834:20;6831:33;6828:53;;;6877:1;6874;6867:12;6828:53;6932:2;6927;6923;6919:11;6914:2;6907:5;6903:14;6890:45;6976:1;6971:2;6966;6959:5;6955:14;6951:23;6944:34;6997:5;6987:15;;;;;6120:888;;;;;;;:::o;7013:260::-;7081:6;7089;7142:2;7130:9;7121:7;7117:23;7113:32;7110:52;;;7158:1;7155;7148:12;7110:52;7181:29;7200:9;7181:29;:::i;:::-;7171:39;;7229:38;7263:2;7252:9;7248:18;7229:38;:::i;:::-;7219:48;;7013:260;;;;;:::o;7278:380::-;7357:1;7353:12;;;;7400;;;7421:61;;7475:4;7467:6;7463:17;7453:27;;7421:61;7528:2;7520:6;7517:14;7497:18;7494:38;7491:161;;7574:10;7569:3;7565:20;7562:1;7555:31;7609:4;7606:1;7599:15;7637:4;7634:1;7627:15;7491:161;;7278:380;;;:::o;8324:245::-;8391:6;8444:2;8432:9;8423:7;8419:23;8415:32;8412:52;;;8460:1;8457;8450:12;8412:52;8492:9;8486:16;8511:28;8533:5;8511:28;:::i;8574:332::-;8776:2;8758:21;;;8815:1;8795:18;;;8788:29;-1:-1:-1;;;8848:2:1;8833:18;;8826:39;8897:2;8882:18;;8574:332::o;10978:127::-;11039:10;11034:3;11030:20;11027:1;11020:31;11070:4;11067:1;11060:15;11094:4;11091:1;11084:15;11110:232;11149:3;11170:17;;;11167:140;;11229:10;11224:3;11220:20;11217:1;11210:31;11264:4;11261:1;11254:15;11292:4;11289:1;11282:15;11167:140;-1:-1:-1;11334:1:1;11323:13;;11110:232::o;11692:648::-;11772:6;11825:2;11813:9;11804:7;11800:23;11796:32;11793:52;;;11841:1;11838;11831:12;11793:52;11874:9;11868:16;11907:18;11899:6;11896:30;11893:50;;;11939:1;11936;11929:12;11893:50;11962:22;;12015:4;12007:13;;12003:27;-1:-1:-1;11993:55:1;;12044:1;12041;12034:12;11993:55;12073:2;12067:9;12098:48;12114:31;12142:2;12114:31;:::i;12098:48::-;12169:2;12162:5;12155:17;12209:7;12204:2;12199;12195;12191:11;12187:20;12184:33;12181:53;;;12230:1;12227;12220:12;12181:53;12243:67;12307:2;12302;12295:5;12291:14;12286:2;12282;12278:11;12243:67;:::i;:::-;12329:5;11692:648;-1:-1:-1;;;;;11692:648:1:o;12471:545::-;12573:2;12568:3;12565:11;12562:448;;;12609:1;12634:5;12630:2;12623:17;12679:4;12675:2;12665:19;12749:2;12737:10;12733:19;12730:1;12726:27;12720:4;12716:38;12785:4;12773:10;12770:20;12767:47;;;-1:-1:-1;12808:4:1;12767:47;12863:2;12858:3;12854:12;12851:1;12847:20;12841:4;12837:31;12827:41;;12918:82;12936:2;12929:5;12926:13;12918:82;;;12981:17;;;12962:1;12951:13;12918:82;;;12922:3;;;12471:545;;;:::o;13192:1352::-;13318:3;13312:10;13345:18;13337:6;13334:30;13331:56;;;13367:18;;:::i;:::-;13396:97;13486:6;13446:38;13478:4;13472:11;13446:38;:::i;:::-;13440:4;13396:97;:::i;:::-;13548:4;;13612:2;13601:14;;13629:1;13624:663;;;;14331:1;14348:6;14345:89;;;-1:-1:-1;14400:19:1;;;14394:26;14345:89;-1:-1:-1;;13149:1:1;13145:11;;;13141:24;13137:29;13127:40;13173:1;13169:11;;;13124:57;14447:81;;13594:944;;13624:663;12418:1;12411:14;;;12455:4;12442:18;;-1:-1:-1;;13660:20:1;;;13778:236;13792:7;13789:1;13786:14;13778:236;;;13881:19;;;13875:26;13860:42;;13973:27;;;;13941:1;13929:14;;;;13808:19;;13778:236;;;13782:3;14042:6;14033:7;14030:19;14027:201;;;14103:19;;;14097:26;-1:-1:-1;;14186:1:1;14182:14;;;14198:3;14178:24;14174:37;14170:42;14155:58;14140:74;;14027:201;-1:-1:-1;;;;;14274:1:1;14258:14;;;14254:22;14241:36;;-1:-1:-1;13192:1352:1:o;15237:489::-;-1:-1:-1;;;;;15506:15:1;;;15488:34;;15558:15;;15553:2;15538:18;;15531:43;15605:2;15590:18;;15583:34;;;15653:3;15648:2;15633:18;;15626:31;;;15431:4;;15674:46;;15700:19;;15692:6;15674:46;:::i;:::-;15666:54;15237:489;-1:-1:-1;;;;;;15237:489:1:o;15731:249::-;15800:6;15853:2;15841:9;15832:7;15828:23;15824:32;15821:52;;;15869:1;15866;15859:12;15821:52;15901:9;15895:16;15920:30;15944:5;15920:30;:::i;16388:722::-;16438:3;16479:5;16473:12;16508:36;16534:9;16508:36;:::i;:::-;16563:1;16580:18;;;16607:133;;;;16754:1;16749:355;;;;16573:531;;16607:133;-1:-1:-1;;16640:24:1;;16628:37;;16713:14;;16706:22;16694:35;;16685:45;;;-1:-1:-1;16607:133:1;;16749:355;16780:5;16777:1;16770:16;16809:4;16854:2;16851:1;16841:16;16879:1;16893:165;16907:6;16904:1;16901:13;16893:165;;;16985:14;;16972:11;;;16965:35;17028:16;;;;16922:10;;16893:165;;;16897:3;;;17087:6;17082:3;17078:16;17071:23;;16573:531;;;;;16388:722;;;;:::o;17115:469::-;17336:3;17364:38;17398:3;17390:6;17364:38;:::i;:::-;17431:6;17425:13;17447:65;17505:6;17501:2;17494:4;17486:6;17482:17;17447:65;:::i;:::-;17528:50;17570:6;17566:2;17562:15;17554:6;17528:50;:::i;:::-;17521:57;17115:469;-1:-1:-1;;;;;;;17115:469:1:o
Swarm Source
ipfs://e8e7e6410fa68c9392bea98b02f67870801d6ec783c8fd807ce5fae4f61b3fe1
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.