ERC-721
Overview
Max Total Supply
0 SIXNFIVE
Holders
26
Market
Volume (24H)
N/A
Min Price (24H)
N/A
Max Price (24H)
N/A
Other Info
Token Contract
Balance
0 SIXNFIVELoading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EternalWaitWrapper
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-09-30 */ /** * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .*** XXXXXXXXXXXXXXXXXX * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ,********* XXXXXXXXXXXXXXXX * XXXXXXXXXXXXXXXXXXXXXXXXXXXX *************** XXXXXXXXXXXXX * XXXXXXXXXXXXXXXXXXXXXXXXX .******************* XXXXXXXXXXX * XXXXXXXXXXXXXXXXXXXXXXX *********** ********** XXXXXXXX * XXXXXXXXXXXXXXXXXXXX *********** *********** XXXXXX * XXXXXXXXXXXXXXXXXX *********** *************** XXX * XXXXXXXXXXXXXXXX *********** **** ********* XX * XXXXXXXXXXXXXXXX ********* *** *** ********* X * XXXXXXXXXXXXXXXX ********** ***** *********** XXX * XXXXXXXXXXXX /////.************* *********** XXXX * XXXXXXXXX /////////...*********** ************ XXXXXX * XXXXXXX/ ///////////..... ///////// /////////// XXXXXXXX * XXXXXX / //////........./////////////////// XXXXXXXXXX * XXXXXXXXXX .///////...........////////////// XXXXXXXXXXXXX * XXXXXXXXX .///////.....//..//// ///////// XXXXXXXXXXXXXXXX * XXXXXXX# ///////////////////// XXXXXXXXXXXXXXXXXXXXXXXXXXXX * XXXXX //////////////////// XXXXXXXXXXXXXXXXXXXXXXXXXXXXX * XX ////////////// ////// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */ interface IEternalWait { function _dateTimeContract() external pure returns (address); function _defaultOwner() external pure returns (address); function _getFinalized(uint256 niftyType) external pure returns (bool); function _id() external pure returns (uint256); function _mintCount(uint256 niftyType) external view returns (uint256); function _typeCount() external view returns (uint256); function ownerOf(uint256 tokenId) external view returns (address); function balanceOf(address owner) external view returns (uint256); function creator() external pure returns (string memory); function name() external view returns (string memory); function supportsInterface(bytes4 interfaceId) external view returns (bool); function symbol() external view returns (string memory); function tokenIPFSHash(uint256 tokenId) external view returns (string memory); function tokenName(uint256 tokenId) external view returns (string memory); function tokenURI(uint256 tokenId) external view returns (string memory); function isApprovedForAll(address owner, address operator) external view returns (bool); function transferFrom(address from, address to, uint256 tokenId) external; } interface IDateTime { function getHour(uint timestamp) external view returns (uint8); } interface IERC721Receiver { function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4); } interface INiftyRegistry { function isValidNiftySender(address sending_key) external view returns (bool); } contract EternalWaitWrapper { IEternalWait _eternalWait; address internal _eternalWaitContract; mapping (uint256 => address) internal _owners; mapping (address => uint256) internal _balances; mapping (uint256 => address) private _tokenApprovals; mapping (address => mapping (address => bool)) private _operatorApprovals; event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); event ApprovalForAll(address indexed owner, address indexed operator, bool approved); constructor() { _eternalWaitContract = 0x1d57A4C1D91F617E42D1B103895a673A60631abF; _eternalWait = IEternalWait(_eternalWaitContract); } function _dateTimeContract() public view returns (address) { return _eternalWait._dateTimeContract(); } function _defaultOwner() public view returns (address) { return _eternalWait._defaultOwner(); } function _getFinalized(uint256 niftyType) public view returns (bool) { return _eternalWait._getFinalized(niftyType); } function _id() public view returns (uint256) { return _eternalWait._id(); } function _mintCount(uint256 niftyType) public view returns (uint256) { return _eternalWait._mintCount(niftyType); } function _typeCount() public view returns (uint256) { return _eternalWait._typeCount(); } function balanceOf(address owner) public view virtual returns (uint256) { return _eternalWait.balanceOf(owner); } function creator() public view virtual returns (string memory) { return _eternalWait.creator(); } function getApproved(uint256 tokenId) public view virtual returns (address) { require(_exists(tokenId), "ERC721: approved query for nonexistent token"); return _tokenApprovals[tokenId]; } function isApprovedForAll(address owner, address operator) public view virtual returns (bool) { return _operatorApprovals[owner][operator]; } function name() public view virtual returns (string memory) { return _eternalWait.name(); } function ownerOf(uint256 tokenId) public view virtual returns (address) { address owner = _owners[tokenId]; require(owner != address(0), "ERC721: owner query for nonexistent token"); return owner; } function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) { return _eternalWait.supportsInterface(interfaceId); } function symbol() public view virtual returns (string memory) { return _eternalWait.symbol(); } function tokenIPFSHash(uint256 tokenId) external view returns (string memory) { uint8 hour = IDateTime(_dateTimeContract()).getHour(block.timestamp); if(hour == 5){ // State 02 return "QmRoeT1xbRhJjVCpFDC3mmHaA8eCEXNaGn1oBAwEyT7e3q"; } return _eternalWait.tokenIPFSHash(tokenId); } function tokenName(uint256 tokenId) external view returns (string memory) { return _eternalWait.tokenName(tokenId); } function tokenURI(uint256 tokenId) external view returns (string memory) { return _eternalWait.tokenURI(tokenId); } function approve(address to, uint256 tokenId) public virtual { address owner = ownerOf(tokenId); require(to != owner, "ERC721: approval to current owner"); require(_msgSender() == owner || isApprovedForAll(owner, _msgSender()), "ERC721: approve caller is not owner nor approved for all" ); _tokenApprovals[tokenId] = to; emit Approval(ownerOf(tokenId), to, tokenId); } function burn(uint256 tokenId) public { address owner = ownerOf(tokenId); // Clear approvals approve(address(0), tokenId); _balances[owner] -= 1; delete _owners[tokenId]; emit Transfer(owner, address(0), tokenId); } function safeTransferFrom(address from, address to, uint256 tokenId) public virtual { safeTransferFrom(from, to, tokenId, ""); } function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public virtual { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); require(ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); require(to != address(0), "ERC721: transfer to the zero address"); // Clear approvals from the previous owner approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } function _exists(uint256 tokenId) internal view virtual returns (bool) { return _owners[tokenId] != address(0); } function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { require(_exists(tokenId), "ERC721: operator query for nonexistent token"); address owner = ownerOf(tokenId); return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); } function setApprovalForAll(address operator, bool approved) public virtual { require(operator != _msgSender(), "ERC721: approve to caller"); _operatorApprovals[_msgSender()][operator] = approved; emit ApprovalForAll(_msgSender(), operator, approved); } function transferFrom(address from, address to, uint256 tokenId) public virtual { //solhint-disable-next-line max-line-length require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); require(ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); require(to != address(0), "ERC721: transfer to the zero address"); // Clear approvals from the previous owner approve(address(0), tokenId); _balances[from] -= 1; _balances[to] += 1; _owners[tokenId] = to; emit Transfer(from, to, tokenId); } function _msgSender() internal view virtual returns (address) { return msg.sender; } function isContract(address account) internal view returns (bool) { uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data) private returns (bool) { if (isContract(to)) { try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { return retval == IERC721Receiver(to).onERC721Received.selector; } catch (bytes memory reason) { if (reason.length == 0) { revert("ERC721: transfer to non ERC721Receiver implementer"); } else { // solhint-disable-next-line no-inline-assembly assembly { revert(add(32, reason), mload(reason)) } } } } else { return true; } } modifier onlyValidSender() { address registry = 0x6e53130dDfF21E3BC963Ee902005223b9A202106; require(INiftyRegistry(registry).isValidNiftySender(msg.sender), "NiftyEntity: Invalid msg.sender"); _; } function mintNifty(uint256 tokenId) public { require(!_exists(tokenId), "EternalWaitWrapper: tokenId already minted"); address holder = _eternalWait.ownerOf(tokenId); address sender = _msgSender(); if(sender == holder){ _mint(sender, address(this), tokenId); } } function _mint(address sender, address caller, uint256 tokenId) internal { bool permitted = _eternalWait.isApprovedForAll(sender, caller); require(permitted, "EternalWaitWrapper: set approval on EternalWait"); address burner = 0x000000000000000000000000000000000000dEaD; _eternalWait.transferFrom(sender, burner, tokenId); _owners[tokenId] = sender; _balances[sender] += 1; emit Transfer(address(0), sender, tokenId); } function mintNifty() public onlyValidSender { address omnibus = 0xE052113bd7D7700d623414a0a4585BCaE754E9d5; for(uint tokenId = 100010001; tokenId <= 100010080; tokenId++) { address holder = _eternalWait.ownerOf(tokenId); if(holder == omnibus){ _mint(msg.sender, address(this), tokenId); } } } }
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":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_dateTimeContract","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_defaultOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"}],"name":"_getFinalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_id","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"niftyType","type":"uint256"}],"name":"_mintCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_typeCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","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":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintNifty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"mintNifty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","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":"tokenIPFSHash","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenName","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"}]
Contract Creation Code
608060405234801561001057600080fd5b50600180546001600160a01b0319908116731d57a4c1d91f617e42d1b103895a673a60631abf9081179092556000805490911690911790556120e3806100576000396000f3fe608060405234801561001057600080fd5b50600436106101a25760003560e01c80635f2ef9dc116100ee578063b88d4fde11610097578063d371663011610071578063d371663014610333578063d891463814610346578063e725f8771461034e578063e985e9c51461036157600080fd5b8063b88d4fde146102fa578063b9eb03fd1461030d578063c87b56dd1461032057600080fd5b806395d89b41116100c857806395d89b41146102d7578063a22cb465146102df578063a2af30e1146102f257600080fd5b80635f2ef9dc1461029e5780636352211e146102b157806370a08231146102c457600080fd5b8063095ea7b31161015057806323b872dd1161012a57806323b872dd1461026557806342842e0e1461027857806342966c681461028b57600080fd5b8063095ea7b314610240578063139fed7c146102555780632276f3f21461025d57600080fd5b8063051802371161018157806305180237146101f757806306fdde031461020d578063081812fc1461021557600080fd5b8062cd587c146101a757806301ffc9a7146101cf57806302d05d3f146101e2575b600080fd5b6101ba6101b5366004611e60565b61039d565b60405190151581526020015b60405180910390f35b6101ba6101dd366004611daf565b610438565b6101ea6104a4565b6040516101c69190611f1d565b6101ff610542565b6040519081526020016101c6565b6101ea6105c9565b610228610223366004611e60565b610626565b6040516001600160a01b0390911681526020016101c6565b61025361024e366004611d66565b6106d1565b005b610228610870565b6101ff6108f7565b610253610273366004611c48565b610946565b610253610286366004611c48565b610b83565b610253610299366004611e60565b610ba3565b6101ff6102ac366004611e60565b610c4b565b6102286102bf366004611e60565b610ce2565b6101ff6102d2366004611bd5565b610d6d565b6101ea610db9565b6102536102ed366004611d38565b610e16565b610253610edb565b610253610308366004611c89565b6110a1565b61025361031b366004611e60565b61135d565b6101ea61032e366004611e60565b611484565b6101ea610341366004611e60565b61151f565b61022861168b565b6101ea61035c366004611e60565b6116da565b6101ba61036f366004611c0f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600080546040517ecd587c000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b039091169062cd587c906024015b60206040518083038186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104329190611d92565b92915050565b600080546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000841660048201526001600160a01b03909116906301ffc9a7906024016103e2565b60008054604080517f02d05d3f00000000000000000000000000000000000000000000000000000000815290516060936001600160a01b03909316926302d05d3f9260048082019391829003018186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053d9190810190611de9565b905090565b60008060009054906101000a90046001600160a01b03166001600160a01b031663051802376040518163ffffffff1660e01b815260040160206040518083038186803b15801561059157600080fd5b505afa1580156105a5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053d9190611e79565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290516060936001600160a01b03909316926306fdde039260048082019391829003018186803b15801561050157600080fd5b6000818152600260205260408120546001600160a01b03166106b55760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006106dc82610ce2565b9050806001600160a01b0316836001600160a01b031614156107665760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106ac565b336001600160a01b03821614806107825750610782813361036f565b6107f45760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106ac565b6000828152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516908117909155829061083682610ce2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663139fed7c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053d9190611bf2565b60008060009054906101000a90046001600160a01b03166001600160a01b0316632276f3f26040518163ffffffff1660e01b815260040160206040518083038186803b15801561059157600080fd5b6109503382611725565b6109c25760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656400000000000000000000000000000060648201526084016106ac565b826001600160a01b03166109d582610ce2565b6001600160a01b031614610a515760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e000000000000000000000000000000000000000000000060648201526084016106ac565b6001600160a01b038216610ab35760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b610abe6000826106d1565b6001600160a01b0383166000908152600360205260408120805460019290610ae7908490611fa1565b90915550506001600160a01b0382166000908152600360205260408120805460019290610b15908490611f89565b9091555050600081815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610b9e838383604051806020016040528060008152506110a1565b505050565b6000610bae82610ce2565b9050610bbb6000836106d1565b6001600160a01b0381166000908152600360205260408120805460019290610be4908490611fa1565b9091555050600082815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff19169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600080546040517f5f2ef9dc000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690635f2ef9dc906024015b60206040518083038186803b158015610caa57600080fd5b505afa158015610cbe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104329190611e79565b6000818152600260205260408120546001600160a01b0316806104325760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e000000000000000000000000000000000000000000000060648201526084016106ac565b600080546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152909116906370a0823190602401610c92565b60008054604080517f95d89b4100000000000000000000000000000000000000000000000000000000815290516060936001600160a01b03909316926395d89b419260048082019391829003018186803b15801561050157600080fd5b6001600160a01b038216331415610e6f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106ac565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6040517fe37ce6fa000000000000000000000000000000000000000000000000000000008152336004820152736e53130ddff21e3bc963ee902005223b9a20210690819063e37ce6fa9060240160206040518083038186803b158015610f4057600080fd5b505afa158015610f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f789190611d92565b610fc45760405162461bcd60e51b815260206004820152601f60248201527f4e69667479456e746974793a20496e76616c6964206d73672e73656e6465720060448201526064016106ac565b73e052113bd7d7700d623414a0a4585bcae754e9d56305f608115b6305f608608111610b9e57600080546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e9060240160206040518083038186803b15801561102f57600080fd5b505afa158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190611bf2565b9050826001600160a01b0316816001600160a01b0316141561108e5761108e33308461182d565b508061109981611fe4565b915050610fdf565b6110ab3383611725565b61111d5760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656400000000000000000000000000000060648201526084016106ac565b836001600160a01b031661113083610ce2565b6001600160a01b0316146111ac5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e000000000000000000000000000000000000000000000060648201526084016106ac565b6001600160a01b03831661120e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b6112196000836106d1565b6001600160a01b0384166000908152600360205260408120805460019290611242908490611fa1565b90915550506001600160a01b0383166000908152600360205260408120805460019290611270908490611f89565b9091555050600082815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387811691821790925591518593918816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46112e584848484611a63565b6113575760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016106ac565b50505050565b6000818152600260205260409020546001600160a01b0316156113e85760405162461bcd60e51b815260206004820152602a60248201527f457465726e616c57616974577261707065723a20746f6b656e496420616c726560448201527f616479206d696e7465640000000000000000000000000000000000000000000060648201526084016106ac565b600080546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e9060240160206040518083038186803b15801561142d57600080fd5b505afa158015611441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114659190611bf2565b9050336001600160a01b038216811415610b9e57610b9e81308561182d565b6000546040517fc87b56dd000000000000000000000000000000000000000000000000000000008152600481018390526060916001600160a01b03169063c87b56dd906024015b60006040518083038186803b1580156114e357600080fd5b505afa1580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104329190810190611de9565b6060600061152b61168b565b6040517f3e239e1a0000000000000000000000000000000000000000000000000000000081524260048201526001600160a01b039190911690633e239e1a9060240160206040518083038186803b15801561158557600080fd5b505afa158015611599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bd9190611e92565b90508060ff16600514156115eb576040518060600160405280602e8152602001612080602e91399392505050565b6000546040517fd3716630000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063d37166309060240160006040518083038186803b15801561164857600080fd5b505afa15801561165c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116849190810190611de9565b9392505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663d89146386040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bf57600080fd5b6000546040517fe725f877000000000000000000000000000000000000000000000000000000008152600481018390526060916001600160a01b03169063e725f877906024016114cb565b6000818152600260205260408120546001600160a01b03166117af5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084016106ac565b60006117ba83610ce2565b9050806001600160a01b0316846001600160a01b031614806117f55750836001600160a01b03166117ea84610626565b6001600160a01b0316145b8061182557506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b600080546040517fe985e9c50000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015285811660248301529091169063e985e9c59060440160206040518083038186803b15801561189457600080fd5b505afa1580156118a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cc9190611d92565b9050806119415760405162461bcd60e51b815260206004820152602f60248201527f457465726e616c57616974577261707065723a2073657420617070726f76616c60448201527f206f6e20457465726e616c57616974000000000000000000000000000000000060648201526084016106ac565b6000546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015261dead60248301819052604483018690529216906323b872dd90606401600060405180830381600087803b1580156119b157600080fd5b505af11580156119c5573d6000803e3d6000fd5b5050506000848152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038b16908117909155835260039091528120805460019350909190611a1f908490611f89565b909155505060405183906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050505050565b6000833b15611bca57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611a9e903390899088908890600401611ee1565b602060405180830381600087803b158015611ab857600080fd5b505af1925050508015611ae8575060408051601f3d908101601f19168201909252611ae591810190611dcc565b60015b611b98573d808015611b16576040519150601f19603f3d011682016040523d82523d6000602084013e611b1b565b606091505b508051611b905760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016106ac565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000016630a85bd0160e11b149050611825565b506001949350505050565b600060208284031215611be757600080fd5b81356116848161202b565b600060208284031215611c0457600080fd5b81516116848161202b565b60008060408385031215611c2257600080fd5b8235611c2d8161202b565b91506020830135611c3d8161202b565b809150509250929050565b600080600060608486031215611c5d57600080fd5b8335611c688161202b565b92506020840135611c788161202b565b929592945050506040919091013590565b60008060008060808587031215611c9f57600080fd5b8435611caa8161202b565b93506020850135611cba8161202b565b925060408501359150606085013567ffffffffffffffff811115611cdd57600080fd5b8501601f81018713611cee57600080fd5b8035611d01611cfc82611f61565b611f30565b818152886020838501011115611d1657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611d4b57600080fd5b8235611d568161202b565b91506020830135611c3d81612043565b60008060408385031215611d7957600080fd5b8235611d848161202b565b946020939093013593505050565b600060208284031215611da457600080fd5b815161168481612043565b600060208284031215611dc157600080fd5b813561168481612051565b600060208284031215611dde57600080fd5b815161168481612051565b600060208284031215611dfb57600080fd5b815167ffffffffffffffff811115611e1257600080fd5b8201601f81018413611e2357600080fd5b8051611e31611cfc82611f61565b818152856020838501011115611e4657600080fd5b611e57826020830160208601611fb8565b95945050505050565b600060208284031215611e7257600080fd5b5035919050565b600060208284031215611e8b57600080fd5b5051919050565b600060208284031215611ea457600080fd5b815160ff8116811461168457600080fd5b60008151808452611ecd816020860160208601611fb8565b601f01601f19169290920160200192915050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611f136080830184611eb5565b9695505050505050565b6020815260006116846020830184611eb5565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f5957611f59612015565b604052919050565b600067ffffffffffffffff821115611f7b57611f7b612015565b50601f01601f191660200190565b60008219821115611f9c57611f9c611fff565b500190565b600082821015611fb357611fb3611fff565b500390565b60005b83811015611fd3578181015183820152602001611fbb565b838111156113575750506000910152565b6000600019821415611ff857611ff8611fff565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461204057600080fd5b50565b801515811461204057600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461204057600080fdfe516d526f655431786252684a6a564370464443336d6d48614138654345584e61476e316f42417745795437653371a264697066735822122035344acae1d8b585f99ba9433c69f619ef7c491b789cece528b969d65971ca6364736f6c63430008060033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101a25760003560e01c80635f2ef9dc116100ee578063b88d4fde11610097578063d371663011610071578063d371663014610333578063d891463814610346578063e725f8771461034e578063e985e9c51461036157600080fd5b8063b88d4fde146102fa578063b9eb03fd1461030d578063c87b56dd1461032057600080fd5b806395d89b41116100c857806395d89b41146102d7578063a22cb465146102df578063a2af30e1146102f257600080fd5b80635f2ef9dc1461029e5780636352211e146102b157806370a08231146102c457600080fd5b8063095ea7b31161015057806323b872dd1161012a57806323b872dd1461026557806342842e0e1461027857806342966c681461028b57600080fd5b8063095ea7b314610240578063139fed7c146102555780632276f3f21461025d57600080fd5b8063051802371161018157806305180237146101f757806306fdde031461020d578063081812fc1461021557600080fd5b8062cd587c146101a757806301ffc9a7146101cf57806302d05d3f146101e2575b600080fd5b6101ba6101b5366004611e60565b61039d565b60405190151581526020015b60405180910390f35b6101ba6101dd366004611daf565b610438565b6101ea6104a4565b6040516101c69190611f1d565b6101ff610542565b6040519081526020016101c6565b6101ea6105c9565b610228610223366004611e60565b610626565b6040516001600160a01b0390911681526020016101c6565b61025361024e366004611d66565b6106d1565b005b610228610870565b6101ff6108f7565b610253610273366004611c48565b610946565b610253610286366004611c48565b610b83565b610253610299366004611e60565b610ba3565b6101ff6102ac366004611e60565b610c4b565b6102286102bf366004611e60565b610ce2565b6101ff6102d2366004611bd5565b610d6d565b6101ea610db9565b6102536102ed366004611d38565b610e16565b610253610edb565b610253610308366004611c89565b6110a1565b61025361031b366004611e60565b61135d565b6101ea61032e366004611e60565b611484565b6101ea610341366004611e60565b61151f565b61022861168b565b6101ea61035c366004611e60565b6116da565b6101ba61036f366004611c0f565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600080546040517ecd587c000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b039091169062cd587c906024015b60206040518083038186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104329190611d92565b92915050565b600080546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000841660048201526001600160a01b03909116906301ffc9a7906024016103e2565b60008054604080517f02d05d3f00000000000000000000000000000000000000000000000000000000815290516060936001600160a01b03909316926302d05d3f9260048082019391829003018186803b15801561050157600080fd5b505afa158015610515573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053d9190810190611de9565b905090565b60008060009054906101000a90046001600160a01b03166001600160a01b031663051802376040518163ffffffff1660e01b815260040160206040518083038186803b15801561059157600080fd5b505afa1580156105a5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053d9190611e79565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290516060936001600160a01b03909316926306fdde039260048082019391829003018186803b15801561050157600080fd5b6000818152600260205260408120546001600160a01b03166106b55760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006106dc82610ce2565b9050806001600160a01b0316836001600160a01b031614156107665760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016106ac565b336001600160a01b03821614806107825750610782813361036f565b6107f45760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016106ac565b6000828152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038516908117909155829061083682610ce2565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663139fed7c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053d9190611bf2565b60008060009054906101000a90046001600160a01b03166001600160a01b0316632276f3f26040518163ffffffff1660e01b815260040160206040518083038186803b15801561059157600080fd5b6109503382611725565b6109c25760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656400000000000000000000000000000060648201526084016106ac565b826001600160a01b03166109d582610ce2565b6001600160a01b031614610a515760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e000000000000000000000000000000000000000000000060648201526084016106ac565b6001600160a01b038216610ab35760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b610abe6000826106d1565b6001600160a01b0383166000908152600360205260408120805460019290610ae7908490611fa1565b90915550506001600160a01b0382166000908152600360205260408120805460019290610b15908490611f89565b9091555050600081815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610b9e838383604051806020016040528060008152506110a1565b505050565b6000610bae82610ce2565b9050610bbb6000836106d1565b6001600160a01b0381166000908152600360205260408120805460019290610be4908490611fa1565b9091555050600082815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff19169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600080546040517f5f2ef9dc000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690635f2ef9dc906024015b60206040518083038186803b158015610caa57600080fd5b505afa158015610cbe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104329190611e79565b6000818152600260205260408120546001600160a01b0316806104325760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e000000000000000000000000000000000000000000000060648201526084016106ac565b600080546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152909116906370a0823190602401610c92565b60008054604080517f95d89b4100000000000000000000000000000000000000000000000000000000815290516060936001600160a01b03909316926395d89b419260048082019391829003018186803b15801561050157600080fd5b6001600160a01b038216331415610e6f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016106ac565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6040517fe37ce6fa000000000000000000000000000000000000000000000000000000008152336004820152736e53130ddff21e3bc963ee902005223b9a20210690819063e37ce6fa9060240160206040518083038186803b158015610f4057600080fd5b505afa158015610f54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f789190611d92565b610fc45760405162461bcd60e51b815260206004820152601f60248201527f4e69667479456e746974793a20496e76616c6964206d73672e73656e6465720060448201526064016106ac565b73e052113bd7d7700d623414a0a4585bcae754e9d56305f608115b6305f608608111610b9e57600080546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e9060240160206040518083038186803b15801561102f57600080fd5b505afa158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190611bf2565b9050826001600160a01b0316816001600160a01b0316141561108e5761108e33308461182d565b508061109981611fe4565b915050610fdf565b6110ab3383611725565b61111d5760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f76656400000000000000000000000000000060648201526084016106ac565b836001600160a01b031661113083610ce2565b6001600160a01b0316146111ac5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e000000000000000000000000000000000000000000000060648201526084016106ac565b6001600160a01b03831661120e5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016106ac565b6112196000836106d1565b6001600160a01b0384166000908152600360205260408120805460019290611242908490611fa1565b90915550506001600160a01b0383166000908152600360205260408120805460019290611270908490611f89565b9091555050600082815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387811691821790925591518593918816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46112e584848484611a63565b6113575760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016106ac565b50505050565b6000818152600260205260409020546001600160a01b0316156113e85760405162461bcd60e51b815260206004820152602a60248201527f457465726e616c57616974577261707065723a20746f6b656e496420616c726560448201527f616479206d696e7465640000000000000000000000000000000000000000000060648201526084016106ac565b600080546040516331a9108f60e11b8152600481018490526001600160a01b0390911690636352211e9060240160206040518083038186803b15801561142d57600080fd5b505afa158015611441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114659190611bf2565b9050336001600160a01b038216811415610b9e57610b9e81308561182d565b6000546040517fc87b56dd000000000000000000000000000000000000000000000000000000008152600481018390526060916001600160a01b03169063c87b56dd906024015b60006040518083038186803b1580156114e357600080fd5b505afa1580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104329190810190611de9565b6060600061152b61168b565b6040517f3e239e1a0000000000000000000000000000000000000000000000000000000081524260048201526001600160a01b039190911690633e239e1a9060240160206040518083038186803b15801561158557600080fd5b505afa158015611599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bd9190611e92565b90508060ff16600514156115eb576040518060600160405280602e8152602001612080602e91399392505050565b6000546040517fd3716630000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b039091169063d37166309060240160006040518083038186803b15801561164857600080fd5b505afa15801561165c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116849190810190611de9565b9392505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663d89146386040518163ffffffff1660e01b815260040160206040518083038186803b1580156108bf57600080fd5b6000546040517fe725f877000000000000000000000000000000000000000000000000000000008152600481018390526060916001600160a01b03169063e725f877906024016114cb565b6000818152600260205260408120546001600160a01b03166117af5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084016106ac565b60006117ba83610ce2565b9050806001600160a01b0316846001600160a01b031614806117f55750836001600160a01b03166117ea84610626565b6001600160a01b0316145b8061182557506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b600080546040517fe985e9c50000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015285811660248301529091169063e985e9c59060440160206040518083038186803b15801561189457600080fd5b505afa1580156118a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cc9190611d92565b9050806119415760405162461bcd60e51b815260206004820152602f60248201527f457465726e616c57616974577261707065723a2073657420617070726f76616c60448201527f206f6e20457465726e616c57616974000000000000000000000000000000000060648201526084016106ac565b6000546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015261dead60248301819052604483018690529216906323b872dd90606401600060405180830381600087803b1580156119b157600080fd5b505af11580156119c5573d6000803e3d6000fd5b5050506000848152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038b16908117909155835260039091528120805460019350909190611a1f908490611f89565b909155505060405183906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050505050565b6000833b15611bca57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611a9e903390899088908890600401611ee1565b602060405180830381600087803b158015611ab857600080fd5b505af1925050508015611ae8575060408051601f3d908101601f19168201909252611ae591810190611dcc565b60015b611b98573d808015611b16576040519150601f19603f3d011682016040523d82523d6000602084013e611b1b565b606091505b508051611b905760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e746572000000000000000000000000000060648201526084016106ac565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000016630a85bd0160e11b149050611825565b506001949350505050565b600060208284031215611be757600080fd5b81356116848161202b565b600060208284031215611c0457600080fd5b81516116848161202b565b60008060408385031215611c2257600080fd5b8235611c2d8161202b565b91506020830135611c3d8161202b565b809150509250929050565b600080600060608486031215611c5d57600080fd5b8335611c688161202b565b92506020840135611c788161202b565b929592945050506040919091013590565b60008060008060808587031215611c9f57600080fd5b8435611caa8161202b565b93506020850135611cba8161202b565b925060408501359150606085013567ffffffffffffffff811115611cdd57600080fd5b8501601f81018713611cee57600080fd5b8035611d01611cfc82611f61565b611f30565b818152886020838501011115611d1657600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060408385031215611d4b57600080fd5b8235611d568161202b565b91506020830135611c3d81612043565b60008060408385031215611d7957600080fd5b8235611d848161202b565b946020939093013593505050565b600060208284031215611da457600080fd5b815161168481612043565b600060208284031215611dc157600080fd5b813561168481612051565b600060208284031215611dde57600080fd5b815161168481612051565b600060208284031215611dfb57600080fd5b815167ffffffffffffffff811115611e1257600080fd5b8201601f81018413611e2357600080fd5b8051611e31611cfc82611f61565b818152856020838501011115611e4657600080fd5b611e57826020830160208601611fb8565b95945050505050565b600060208284031215611e7257600080fd5b5035919050565b600060208284031215611e8b57600080fd5b5051919050565b600060208284031215611ea457600080fd5b815160ff8116811461168457600080fd5b60008151808452611ecd816020860160208601611fb8565b601f01601f19169290920160200192915050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611f136080830184611eb5565b9695505050505050565b6020815260006116846020830184611eb5565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f5957611f59612015565b604052919050565b600067ffffffffffffffff821115611f7b57611f7b612015565b50601f01601f191660200190565b60008219821115611f9c57611f9c611fff565b500190565b600082821015611fb357611fb3611fff565b500390565b60005b83811015611fd3578181015183820152602001611fbb565b838111156113575750506000910152565b6000600019821415611ff857611ff8611fff565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461204057600080fd5b50565b801515811461204057600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461204057600080fdfe516d526f655431786252684a6a564370464443336d6d48614138654345584e61476e316f42417745795437653371a264697066735822122035344acae1d8b585f99ba9433c69f619ef7c491b789cece528b969d65971ca6364736f6c63430008060033
Deployed Bytecode Sourcemap
2996:9105:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4035:129;;;;;;:::i;:::-;;:::i;:::-;;;7059:14:1;;7052:22;7034:41;;7022:2;7007:18;4035:129:0;;;;;;;;5482:148;;;;;;:::i;:::-;;:::i;4640:108::-;;;:::i;:::-;;;;;;;:::i;4172:86::-;;;:::i;:::-;;;12965:25:1;;;12953:2;12938:18;4172:86:0;12920:76:1;5134:102:0;;;:::i;4756:207::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5576:55:1;;;5558:74;;5546:2;5531:18;4756:207:0;5513:125:1;6347:442:0;;;;;;:::i;:::-;;:::i;:::-;;3921:106;;;:::i;4400:100::-;;;:::i;8774:652::-;;;;;;:::i;:::-;;:::i;7085:142::-;;;;;;:::i;:::-;;:::i;6797:280::-;;;;;;:::i;:::-;;:::i;4266:126::-;;;;;;:::i;:::-;;:::i;5244:230::-;;;;;;:::i;:::-;;:::i;4508:124::-;;;;;;:::i;:::-;;:::i;5638:106::-;;;:::i;8482:284::-;;;;;;:::i;:::-;;:::i;11710:386::-;;;:::i;7235:755::-;;;;;;:::i;:::-;;:::i;10852:339::-;;;;;;:::i;:::-;;:::i;6213:126::-;;;;;;:::i;:::-;;:::i;5752:317::-;;;;;;:::i;:::-;;:::i;3799:114::-;;;:::i;6077:128::-;;;;;;:::i;:::-;;:::i;4971:155::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5083:25:0;;;5059:4;5083:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4971:155;4035:129;4098:4;4119:12;;:37;;;;;;;;12965:25:1;;;-1:-1:-1;;;;;4119:12:0;;;;:26;;12938:18:1;;4119:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4112:44;4035:129;-1:-1:-1;;4035:129:0:o;5482:148::-;5558:4;5579:12;;:43;;;;;7260:66:1;7248:79;;5579:43:0;;;7230:98:1;-1:-1:-1;;;;;5579:12:0;;;;:30;;7203:18:1;;5579:43:0;7185:149:1;4640:108:0;4718:12;;;:22;;;;;;;;4688:13;;-1:-1:-1;;;;;4718:12:0;;;;:20;;:22;;;;;;;;;;;:12;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4718:22:0;;;;;;;;;;;;:::i;:::-;4711:29;;4640:108;:::o;4172:86::-;4208:7;4232:12;;;;;;;;;-1:-1:-1;;;;;4232:12:0;-1:-1:-1;;;;;4232:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5134:102::-;5209:12;;;:19;;;;;;;;5179:13;;-1:-1:-1;;;;;5209:12:0;;;;:17;;:19;;;;;;;;;;;:12;:19;;;;;;;;;;4756:207;4823:7;8087:16;;;:7;:16;;;;;;-1:-1:-1;;;;;8087:16:0;4840:73;;;;-1:-1:-1;;;4840:73:0;;11018:2:1;4840:73:0;;;11000:21:1;11057:2;11037:18;;;11030:30;11096:34;11076:18;;;11069:62;11167:14;11147:18;;;11140:42;11199:19;;4840:73:0;;;;;;;;;-1:-1:-1;4931:24:0;;;;:15;:24;;;;;;-1:-1:-1;;;;;4931:24:0;;4756:207::o;6347:442::-;6419:13;6435:16;6443:7;6435;:16::i;:::-;6419:32;;6476:5;-1:-1:-1;;;;;6470:11:0;:2;-1:-1:-1;;;;;6470:11:0;;;6462:57;;;;-1:-1:-1;;;6462:57:0;;12201:2:1;6462:57:0;;;12183:21:1;12240:2;12220:18;;;12213:30;12279:34;12259:18;;;12252:62;12350:3;12330:18;;;12323:31;12371:19;;6462:57:0;12173:223:1;6462:57:0;9514:10;-1:-1:-1;;;;;6540:21:0;;;;:62;;-1:-1:-1;6565:37:0;6582:5;9514:10;4971:155;:::i;6565:37::-;6532:154;;;;-1:-1:-1;;;6532:154:0;;9356:2:1;6532:154:0;;;9338:21:1;9395:2;9375:18;;;9368:30;9434:34;9414:18;;;9407:62;9505:26;9485:18;;;9478:54;9549:19;;6532:154:0;9328:246:1;6532:154:0;6697:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;6697:29:0;-1:-1:-1;;;;;6697:29:0;;;;;;;;:24;;6751:16;6697:24;6751:7;:16::i;:::-;-1:-1:-1;;;;;6742:39:0;;;;;;;;;;;6408:381;6347:442;;:::o;3921:106::-;3967:7;3991:12;;;;;;;;;-1:-1:-1;;;;;3991:12:0;-1:-1:-1;;;;;3991:26:0;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4400:100::-;4443:7;4467:12;;;;;;;;;-1:-1:-1;;;;;4467:12:0;-1:-1:-1;;;;;4467:23:0;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8774:652;8926:41;9514:10;8959:7;8926:18;:41::i;:::-;8918:103;;;;-1:-1:-1;;;8918:103:0;;12603:2:1;8918:103:0;;;12585:21:1;12642:2;12622:18;;;12615:30;12681:34;12661:18;;;12654:62;12752:19;12732:18;;;12725:47;12789:19;;8918:103:0;12575:239:1;8918:103:0;9060:4;-1:-1:-1;;;;;9040:24:0;:16;9048:7;9040;:16::i;:::-;-1:-1:-1;;;;;9040:24:0;;9032:78;;;;-1:-1:-1;;;9032:78:0;;11431:2:1;9032:78:0;;;11413:21:1;11470:2;11450:18;;;11443:30;11509:34;11489:18;;;11482:62;11580:11;11560:18;;;11553:39;11609:19;;9032:78:0;11403:231:1;9032:78:0;-1:-1:-1;;;;;9129:16:0;;9121:65;;;;-1:-1:-1;;;9121:65:0;;8184:2:1;9121:65:0;;;8166:21:1;8223:2;8203:18;;;8196:30;8262:34;8242:18;;;8235:62;-1:-1:-1;;;8313:18:1;;;8306:34;8357:19;;9121:65:0;8156:226:1;9121:65:0;9251:28;9267:1;9271:7;9251;:28::i;:::-;-1:-1:-1;;;;;9292:15:0;;;;;;:9;:15;;;;;:20;;9311:1;;9292:15;:20;;9311:1;;9292:20;:::i;:::-;;;;-1:-1:-1;;;;;;;9323:13:0;;;;;;:9;:13;;;;;:18;;9340:1;;9323:13;:18;;9340:1;;9323:18;:::i;:::-;;;;-1:-1:-1;;9352:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;9352:21:0;-1:-1:-1;;;;;9352:21:0;;;;;;;;;9391:27;;9352:16;;9391:27;;;;;;;8774:652;;;:::o;7085:142::-;7180:39;7197:4;7203:2;7207:7;7180:39;;;;;;;;;;;;:16;:39::i;:::-;7085:142;;;:::o;6797:280::-;6846:13;6862:16;6870:7;6862;:16::i;:::-;6846:32;;6919:28;6935:1;6939:7;6919;:28::i;:::-;-1:-1:-1;;;;;6960:16:0;;;;;;:9;:16;;;;;:21;;6980:1;;6960:16;:21;;6980:1;;6960:21;:::i;:::-;;;;-1:-1:-1;;6999:16:0;;;;:7;:16;;;;;;6992:23;;-1:-1:-1;;6992:23:0;;;7033:36;7007:7;;6999:16;-1:-1:-1;;;;;7033:36:0;;;;;6999:16;;7033:36;6835:242;6797:280;:::o;4266:126::-;4326:7;4350:12;;:34;;;;;;;;12965:25:1;;;-1:-1:-1;;;;;4350:12:0;;;;:23;;12938:18:1;;4350:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5244:230::-;5307:7;5343:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5343:16:0;5378:19;5370:73;;;;-1:-1:-1;;;5370:73:0;;10197:2:1;5370:73:0;;;10179:21:1;10236:2;10216:18;;;10209:30;10275:34;10255:18;;;10248:62;10346:11;10326:18;;;10319:39;10375:19;;5370:73:0;10169:231:1;4508:124:0;4571:7;4595:12;;:29;;;;;-1:-1:-1;;;;;5576:55:1;;;4595:29:0;;;5558:74:1;4595:12:0;;;;:22;;5531:18:1;;4595:29:0;5513:125:1;5638:106:0;5715:12;;;:21;;;;;;;;5685:13;;-1:-1:-1;;;;;5715:12:0;;;;:19;;:21;;;;;;;;;;;:12;:21;;;;;;;;;;8482:284;-1:-1:-1;;;;;8576:24:0;;9514:10;8576:24;;8568:62;;;;-1:-1:-1;;;8568:62:0;;8589:2:1;8568:62:0;;;8571:21:1;8628:2;8608:18;;;8601:30;8667:27;8647:18;;;8640:55;8712:18;;8568:62:0;8561:175:1;8568:62:0;9514:10;8641:32;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8641:42:0;;;;;;;;;;;;:53;;-1:-1:-1;;8641:53:0;;;;;;;;;;8710:48;;7034:41:1;;;8641:42:0;;9514:10;8710:48;;7007:18:1;8710:48:0;;;;;;;8482:284;;:::o;11710:386::-;10733:55;;;;;10777:10;10733:55;;;5558:74:1;10672:42:0;;;;10733:43;;5531:18:1;;10733:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10725:99;;;;-1:-1:-1;;;10725:99:0;;11841:2:1;10725:99:0;;;11823:21:1;11880:2;11860:18;;;11853:30;11919:33;11899:18;;;11892:61;11970:18;;10725:99:0;11813:181:1;10725:99:0;11783:42:::1;11857:9;11838:251;11879:9;11868:7;:20;11838:251;;11918:14;11935:12:::0;;:29:::1;::::0;-1:-1:-1;;;11935:29:0;;::::1;::::0;::::1;12965:25:1::0;;;-1:-1:-1;;;;;11935:12:0;;::::1;::::0;:20:::1;::::0;12938:18:1;;11935:29:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11918:46;;11994:7;-1:-1:-1::0;;;;;11984:17:0::1;:6;-1:-1:-1::0;;;;;11984:17:0::1;;11981:97;;;12021:41;12027:10;12047:4;12054:7;12021:5;:41::i;:::-;-1:-1:-1::0;11890:9:0;::::1;::::0;::::1;:::i;:::-;;;;11838:251;;7235:755:::0;7358:41;9514:10;7391:7;7358:18;:41::i;:::-;7350:103;;;;-1:-1:-1;;;7350:103:0;;12603:2:1;7350:103:0;;;12585:21:1;12642:2;12622:18;;;12615:30;12681:34;12661:18;;;12654:62;12752:19;12732:18;;;12725:47;12789:19;;7350:103:0;12575:239:1;7350:103:0;7502:4;-1:-1:-1;;;;;7482:24:0;:16;7490:7;7482;:16::i;:::-;-1:-1:-1;;;;;7482:24:0;;7474:78;;;;-1:-1:-1;;;7474:78:0;;11431:2:1;7474:78:0;;;11413:21:1;11470:2;11450:18;;;11443:30;11509:34;11489:18;;;11482:62;11580:11;11560:18;;;11553:39;11609:19;;7474:78:0;11403:231:1;7474:78:0;-1:-1:-1;;;;;7571:16:0;;7563:65;;;;-1:-1:-1;;;7563:65:0;;8184:2:1;7563:65:0;;;8166:21:1;8223:2;8203:18;;;8196:30;8262:34;8242:18;;;8235:62;-1:-1:-1;;;8313:18:1;;;8306:34;8357:19;;7563:65:0;8156:226:1;7563:65:0;7693:28;7709:1;7713:7;7693;:28::i;:::-;-1:-1:-1;;;;;7734:15:0;;;;;;:9;:15;;;;;:20;;7753:1;;7734:15;:20;;7753:1;;7734:20;:::i;:::-;;;;-1:-1:-1;;;;;;;7765:13:0;;;;;;:9;:13;;;;;:18;;7782:1;;7765:13;:18;;7782:1;;7765:18;:::i;:::-;;;;-1:-1:-1;;7794:16:0;;;;:7;:16;;;;;;:21;;-1:-1:-1;;7794:21:0;-1:-1:-1;;;;;7794:21:0;;;;;;;;;7833:27;;7794:16;;7833:27;;;;;;;7879:48;7902:4;7908:2;7912:7;7921:5;7879:22;:48::i;:::-;7871:111;;;;-1:-1:-1;;;7871:111:0;;7765:2:1;7871:111:0;;;7747:21:1;7804:2;7784:18;;;7777:30;7843:34;7823:18;;;7816:62;7914:20;7894:18;;;7887:48;7952:19;;7871:111:0;7737:240:1;7871:111:0;7235:755;;;;:::o;10852:339::-;8063:4;8087:16;;;:7;:16;;;;;;-1:-1:-1;;;;;8087:16:0;:30;10908:72;;;;-1:-1:-1;;;10908:72:0;;10607:2:1;10908:72:0;;;10589:21:1;10646:2;10626:18;;;10619:30;10685:34;10665:18;;;10658:62;10756:12;10736:18;;;10729:40;10786:19;;10908:72:0;10579:232:1;10908:72:0;10993:14;11010:12;;:29;;-1:-1:-1;;;11010:29:0;;;;;12965:25:1;;;-1:-1:-1;;;;;11010:12:0;;;;:20;;12938:18:1;;11010:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10993:46;-1:-1:-1;9514:10:0;-1:-1:-1;;;;;11103:16:0;;;;11100:84;;;11135:37;11141:6;11157:4;11164:7;11135:5;:37::i;6213:126::-;6301:12;;:30;;;;;;;;12965:25:1;;;6271:13:0;;-1:-1:-1;;;;;6301:12:0;;:21;;12938:18:1;;6301:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6301:30:0;;;;;;;;;;;;:::i;5752:317::-;5815:13;5838:10;5861:19;:17;:19::i;:::-;5851:55;;;;;5890:15;5851:55;;;12965:25:1;-1:-1:-1;;;;;5851:38:0;;;;;;;12938:18:1;;5851:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5838:68;;5917:4;:9;;5925:1;5917:9;5914:98;;;5948:55;;;;;;;;;;;;;;;;;;5752:317;-1:-1:-1;;;5752:317:0:o;5914:98::-;6026:12;;:35;;;;;;;;12965:25:1;;;-1:-1:-1;;;;;6026:12:0;;;;:26;;12938:18:1;;6026:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6026:35:0;;;;;;;;;;;;:::i;:::-;6019:42;5752:317;-1:-1:-1;;;5752:317:0:o;3799:114::-;3849:7;3873:12;;;;;;;;;-1:-1:-1;;;;;3873:12:0;-1:-1:-1;;;;;3873:30:0;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6077:128;6166:12;;:31;;;;;;;;12965:25:1;;;6136:13:0;;-1:-1:-1;;;;;6166:12:0;;:22;;12938:18:1;;6166:31:0;12920:76:1;8133:341:0;8226:4;8087:16;;;:7;:16;;;;;;-1:-1:-1;;;;;8087:16:0;8243:73;;;;-1:-1:-1;;;8243:73:0;;8943:2:1;8243:73:0;;;8925:21:1;8982:2;8962:18;;;8955:30;9021:34;9001:18;;;8994:62;9092:14;9072:18;;;9065:42;9124:19;;8243:73:0;8915:234:1;8243:73:0;8327:13;8343:16;8351:7;8343;:16::i;:::-;8327:32;;8389:5;-1:-1:-1;;;;;8378:16:0;:7;-1:-1:-1;;;;;8378:16:0;;:51;;;;8422:7;-1:-1:-1;;;;;8398:31:0;:20;8410:7;8398:11;:20::i;:::-;-1:-1:-1;;;;;8398:31:0;;8378:51;:87;;;-1:-1:-1;;;;;;5083:25:0;;;5059:4;5083:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;8433:32;8370:96;8133:341;-1:-1:-1;;;;8133:341:0:o;11199:503::-;11283:14;11300:12;;:45;;;;;-1:-1:-1;;;;;5896:15:1;;;11300:45:0;;;5878:34:1;5948:15;;;5928:18;;;5921:43;11300:12:0;;;;:29;;5790:18:1;;11300:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11283:62;;11364:9;11356:69;;;;-1:-1:-1;;;11356:69:0;;9781:2:1;11356:69:0;;;9763:21:1;9820:2;9800:18;;;9793:30;9859:34;9839:18;;;9832:62;9930:17;9910:18;;;9903:45;9965:19;;11356:69:0;9753:237:1;11356:69:0;11438:14;11508:12;:50;;;;;-1:-1:-1;;;;;6256:15:1;;;11508:50:0;;;6238:34:1;11455:42:0;6288:18:1;;;6281:43;;;6340:18;;;6333:34;;;11455:42:0;11508:12;;:25;;6150:18:1;;11508:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11583:16:0;;;;:7;:16;;;;;;;;:25;;-1:-1:-1;;11583:25:0;-1:-1:-1;;;;;11583:25:0;;;;;;;;11619:17;;:9;:17;;;;;:22;;-1:-1:-1;;;11619:17:0;;11583:16;11619:22;;-1:-1:-1;;11619:22:0;:::i;:::-;;;;-1:-1:-1;;11657:37:0;;11686:7;;-1:-1:-1;;;;;11657:37:0;;;11674:1;;11657:37;;11674:1;;11657:37;11272:430;;11199:503;;;:::o;9779:828::-;9891:4;9716:20;;9755:8;9908:692;;9947:72;;-1:-1:-1;;;9947:72:0;;-1:-1:-1;;;;;9947:36:0;;;;;:72;;9514:10;;9998:4;;10004:7;;10013:5;;9947:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9947:72:0;;;;;;;;-1:-1:-1;;9947:72:0;;;;;;;;;;;;:::i;:::-;;;9943:602;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10193:13:0;;10189:341;;10236:60;;-1:-1:-1;;;10236:60:0;;7765:2:1;10236:60:0;;;7747:21:1;7804:2;7784:18;;;7777:30;7843:34;7823:18;;;7816:62;7914:20;7894:18;;;7887:48;7952:19;;10236:60:0;7737:240:1;10189:341:0;10480:6;10474:13;10465:6;10461:2;10457:15;10450:38;9943:602;10070:55;;-1:-1:-1;;;10070:55:0;;-1:-1:-1;10063:62:0;;9908:692;-1:-1:-1;10584:4:0;9779:828;;;;;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:1016::-;1471:6;1479;1487;1495;1548:3;1536:9;1527:7;1523:23;1519:33;1516:2;;;1565:1;1562;1555:12;1516:2;1604:9;1591:23;1623:31;1648:5;1623:31;:::i;:::-;1673:5;-1:-1:-1;1730:2:1;1715:18;;1702:32;1743:33;1702:32;1743:33;:::i;:::-;1795:7;-1:-1:-1;1849:2:1;1834:18;;1821:32;;-1:-1:-1;1904:2:1;1889:18;;1876:32;1931:18;1920:30;;1917:2;;;1963:1;1960;1953:12;1917:2;1986:22;;2039:4;2031:13;;2027:27;-1:-1:-1;2017:2:1;;2068:1;2065;2058:12;2017:2;2104;2091:16;2129:48;2145:31;2173:2;2145:31;:::i;:::-;2129:48;:::i;:::-;2200:2;2193:5;2186:17;2240:7;2235:2;2230;2226;2222:11;2218:20;2215:33;2212:2;;;2261:1;2258;2251:12;2212:2;2316;2311;2307;2303:11;2298:2;2291:5;2287:14;2274:45;2360:1;2355:2;2350;2343:5;2339:14;2335:23;2328:34;2381:5;2371:15;;;;;1506:886;;;;;;;:::o;2397:382::-;2462:6;2470;2523:2;2511:9;2502:7;2498:23;2494:32;2491:2;;;2539:1;2536;2529:12;2491:2;2578:9;2565:23;2597:31;2622:5;2597:31;:::i;:::-;2647:5;-1:-1:-1;2704:2:1;2689:18;;2676:32;2717:30;2676:32;2717:30;:::i;2784:315::-;2852:6;2860;2913:2;2901:9;2892:7;2888:23;2884:32;2881:2;;;2929:1;2926;2919:12;2881:2;2968:9;2955:23;2987:31;3012:5;2987:31;:::i;:::-;3037:5;3089:2;3074:18;;;;3061:32;;-1:-1:-1;;;2871:228:1:o;3104:245::-;3171:6;3224:2;3212:9;3203:7;3199:23;3195:32;3192:2;;;3240:1;3237;3230:12;3192:2;3272:9;3266:16;3291:28;3313:5;3291:28;:::i;3354:245::-;3412:6;3465:2;3453:9;3444:7;3440:23;3436:32;3433:2;;;3481:1;3478;3471:12;3433:2;3520:9;3507:23;3539:30;3563:5;3539:30;:::i;3604:249::-;3673:6;3726:2;3714:9;3705:7;3701:23;3697:32;3694:2;;;3742:1;3739;3732:12;3694:2;3774:9;3768:16;3793:30;3817:5;3793:30;:::i;3858:635::-;3938:6;3991:2;3979:9;3970:7;3966:23;3962:32;3959:2;;;4007:1;4004;3997:12;3959:2;4040:9;4034:16;4073:18;4065:6;4062:30;4059:2;;;4105:1;4102;4095:12;4059:2;4128:22;;4181:4;4173:13;;4169:27;-1:-1:-1;4159:2:1;;4210:1;4207;4200:12;4159:2;4239;4233:9;4264:48;4280:31;4308:2;4280:31;:::i;4264:48::-;4335:2;4328:5;4321:17;4375:7;4370:2;4365;4361;4357:11;4353:20;4350:33;4347:2;;;4396:1;4393;4386:12;4347:2;4409:54;4460:2;4455;4448:5;4444:14;4439:2;4435;4431:11;4409:54;:::i;:::-;4482:5;3949:544;-1:-1:-1;;;;;3949:544:1:o;4498:180::-;4557:6;4610:2;4598:9;4589:7;4585:23;4581:32;4578:2;;;4626:1;4623;4616:12;4578:2;-1:-1:-1;4649:23:1;;4568:110;-1:-1:-1;4568:110:1:o;4683:184::-;4753:6;4806:2;4794:9;4785:7;4781:23;4777:32;4774:2;;;4822:1;4819;4812:12;4774:2;-1:-1:-1;4845:16:1;;4764:103;-1:-1:-1;4764:103:1:o;4872:273::-;4940:6;4993:2;4981:9;4972:7;4968:23;4964:32;4961:2;;;5009:1;5006;4999:12;4961:2;5041:9;5035:16;5091:4;5084:5;5080:16;5073:5;5070:27;5060:2;;5111:1;5108;5101:12;5150:257;5191:3;5229:5;5223:12;5256:6;5251:3;5244:19;5272:63;5328:6;5321:4;5316:3;5312:14;5305:4;5298:5;5294:16;5272:63;:::i;:::-;5389:2;5368:15;-1:-1:-1;;5364:29:1;5355:39;;;;5396:4;5351:50;;5199:208;-1:-1:-1;;5199:208:1:o;6378:511::-;6572:4;-1:-1:-1;;;;;6682:2:1;6674:6;6670:15;6659:9;6652:34;6734:2;6726:6;6722:15;6717:2;6706:9;6702:18;6695:43;;6774:6;6769:2;6758:9;6754:18;6747:34;6817:3;6812:2;6801:9;6797:18;6790:31;6838:45;6878:3;6867:9;6863:19;6855:6;6838:45;:::i;:::-;6830:53;6581:308;-1:-1:-1;;;;;;6581:308:1:o;7339:219::-;7488:2;7477:9;7470:21;7451:4;7508:44;7548:2;7537:9;7533:18;7525:6;7508:44;:::i;13001:275::-;13072:2;13066:9;13137:2;13118:13;;-1:-1:-1;;13114:27:1;13102:40;;13172:18;13157:34;;13193:22;;;13154:62;13151:2;;;13219:18;;:::i;:::-;13255:2;13248:22;13046:230;;-1:-1:-1;13046:230:1:o;13281:186::-;13329:4;13362:18;13354:6;13351:30;13348:2;;;13384:18;;:::i;:::-;-1:-1:-1;13450:2:1;13429:15;-1:-1:-1;;13425:29:1;13456:4;13421:40;;13338:129::o;13472:128::-;13512:3;13543:1;13539:6;13536:1;13533:13;13530:2;;;13549:18;;:::i;:::-;-1:-1:-1;13585:9:1;;13520:80::o;13605:125::-;13645:4;13673:1;13670;13667:8;13664:2;;;13678:18;;:::i;:::-;-1:-1:-1;13715:9:1;;13654:76::o;13735:258::-;13807:1;13817:113;13831:6;13828:1;13825:13;13817:113;;;13907:11;;;13901:18;13888:11;;;13881:39;13853:2;13846:10;13817:113;;;13948:6;13945:1;13942:13;13939:2;;;-1:-1:-1;;13983:1:1;13965:16;;13958:27;13788:205::o;13998:135::-;14037:3;-1:-1:-1;;14058:17:1;;14055:2;;;14078:18;;:::i;:::-;-1:-1:-1;14125:1:1;14114:13;;14045:88::o;14138:184::-;-1:-1:-1;;;14187:1:1;14180:88;14287:4;14284:1;14277:15;14311:4;14308:1;14301:15;14327:184;-1:-1:-1;;;14376:1:1;14369:88;14476:4;14473:1;14466:15;14500:4;14497:1;14490:15;14516:154;-1:-1:-1;;;;;14595:5:1;14591:54;14584:5;14581:65;14571:2;;14660:1;14657;14650:12;14571:2;14561:109;:::o;14675:118::-;14761:5;14754:13;14747:21;14740:5;14737:32;14727:2;;14783:1;14780;14773:12;14798:177;14883:66;14876:5;14872:78;14865:5;14862:89;14852:2;;14965:1;14962;14955:12
Swarm Source
ipfs://35344acae1d8b585f99ba9433c69f619ef7c491b789cece528b969d65971ca63
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.