0 txs
0 calls
constructor
constructor(string _name, string _symbol, address royaltyReceiver)
functions
balanceOf
viewfunction balanceOf(address account, uint256 id) view returns (uint256)
balanceOfBatch
viewfunction balanceOfBatch(address[] accounts, uint256[] ids) view returns (uint256[])
currentTokenID
viewfunction currentTokenID() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
dollar
viewfunction dollar() view returns (address)
dontDieMemePool
viewfunction dontDieMemePool() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address account, address operator) view returns (bool)
JUICING_ROLE
viewfunction JUICING_ROLE() view returns (bytes32)
juicingStatus
viewfunction juicingStatus(uint256 tokenId) view returns (bool juicing, uint256 start, uint256 task)
lockedPina
viewfunction lockedPina(uint256) view returns (uint256)
maxSupply
viewfunction maxSupply(uint256 _id) view returns (uint256)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
royaltyInfo
viewfunction royaltyInfo(uint256 _tokenId, uint256 _salePrice) view returns (address, uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenMaxSupply
viewfunction tokenMaxSupply(uint256) view returns (uint256)
tokenSupply
viewfunction tokenSupply(uint256) view returns (uint256)
totalSupply
viewfunction totalSupply(uint256 _id) view returns (uint256)
uri
viewfunction uri(uint256 _tokenid) view returns (string)
burn
nonpayablefunction burn(address account, uint256 id, uint256 value)
create
nonpayablefunction create(uint256 _maxSupply) returns (uint256 tokenId)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
mint
nonpayablefunction mint(address _to, uint256 _tokenID) returns (uint256)
redeem
nonpayablefunction redeem(uint256 _tokenID, uint256 _amount)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeBatchTransferFrom
nonpayablefunction safeBatchTransferFrom(address from, address to, uint256[] ids, uint256[] amounts, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 id, uint256 amount, bytes data)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseTokenURI
nonpayablefunction setBaseTokenURI(string _baseTokenURI)
setLockedPina
nonpayablefunction setLockedPina(uint256 _tokenID, uint256 _lockedPina)
setLockedPina
nonpayablefunction setLockedPina(uint256[] _tokenID, uint256[] _lockedPina)
toggleJuicing
nonpayablefunction toggleJuicing(uint256[] tokenIds, bool juicing, uint256 taskId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
ApprovalForAll
event ApprovalForAll(address indexed account, address indexed operator, bool approved)
Juiced
event Juiced(uint256 indexed tokenId, uint256 indexed taskId)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TransferBatch
event TransferBatch(address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values)
TransferSingle
event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value)
UnJuiced
event UnJuiced(uint256 indexed tokenId, uint256 indexed taskId)
URI
event URI(string value, uint256 indexed id)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b50604051620035e9380380620035e98339810160408190526200003491620004ed565b604051806060016040528060308152602001620035b9603091396200005981620000b5565b506200006533620000ce565b82516200007a9060089060208601906200037a565b508151620000909060099060208501906200037a565b506200009f816101f462000120565b620000ac60003362000225565b505050620005b7565b8051620000ca9060069060208401906200037a565b5050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b0382161115620001945760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b038216620001ec5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c69642072656365697665720000000000000060448201526064016200018b565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600255565b6200023c82826200026860201b6200108b1760201c565b6000828152600160209081526040909120620002639183906200110f62000308821b17901c565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620000ca576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002c43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006200031f836001600160a01b03841662000328565b90505b92915050565b6000818152600183016020526040812054620003715750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000322565b50600062000322565b82805462000388906200057a565b90600052602060002090601f016020900481019282620003ac5760008555620003f7565b82601f10620003c757805160ff1916838001178555620003f7565b82800160010185558215620003f7579182015b82811115620003f7578251825591602001919060010190620003da565b506200040592915062000409565b5090565b5b808211156200040557600081556001016200040a565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200044857600080fd5b81516001600160401b038082111562000465576200046562000420565b604051601f8301601f19908116603f0116810190828211818310171562000490576200049062000420565b81604052838152602092508683858801011115620004ad57600080fd5b600091505b83821015620004d15785820183015181830184015290820190620004b2565b83821115620004e35760008385830101525b9695505050505050565b6000806000606084860312156200050357600080fd5b83516001600160401b03808211156200051b57600080fd5b620005298783880162000436565b945060208601519150808211156200054057600080fd5b506200054f8682870162000436565b604086015190935090506001600160a01b03811681146200056f57600080fd5b809150509250925092565b600181811c908216806200058f57607f821691505b60208210811415620005b157634e487b7160e01b600052602260045260246000fd5b50919050565b612ff280620005c76000396000f3fe608060405234801561001057600080fd5b50600436106102515760003560e01c8063780900dc11610146578063bb62115e116100c3578063d547741f11610087578063d547741f146105c6578063e985e9c5146105d9578063f242432a14610615578063f2fde38b14610628578063f36ee74b1461063b578063f5298aca1461065b57600080fd5b8063bb62115e14610533578063bd85b0391461053c578063be77ccf51461055c578063ca15c8731461058c578063d53913931461059f57600080fd5b806391d148541161010a57806391d14854146104ea57806394ac9968146104fd57806395d89b4114610510578063a217fddf14610518578063a22cb4651461052057600080fd5b8063780900dc146104805780637cbc237314610493578063869f7594146104a65780638da5cb5b146104c65780639010d07c146104d757600080fd5b806330176e13116101d45780634640734e116101985780634640734e146103f75780634b89950f1461040a5780634e1273f41461043d57806351adeb571461045d578063715018a61461047857600080fd5b806330176e1314610384578063356ea6c61461039757806336568abe146103be57806340c10f19146103d1578063440a5a39146103e457600080fd5b8063248a9ca31161021b578063248a9ca3146102e75780632693ebf21461030a5780632a55205a1461032a5780632eb2c2d61461035c5780632f2ff15d1461037157600080fd5b80624221f014610256578062fdd58e1461028957806301ffc9a71461029c57806306fdde03146102bf5780630e89341c146102d4575b600080fd5b610276610264366004612474565b600c6020526000908152604090205481565b6040519081526020015b60405180910390f35b6102766102973660046124a9565b61066e565b6102af6102aa3660046124e9565b610709565b6040519015158152602001610280565b6102c7610714565b6040516102809190612562565b6102c76102e2366004612474565b6107a2565b6102766102f5366004612474565b60009081526020819052604090206001015490565b610276610318366004612474565b600b6020526000908152604090205481565b61033d610338366004612575565b610800565b604080516001600160a01b039093168352602083019190915201610280565b61036f61036a3660046126ea565b6108ae565b005b61036f61037f366004612793565b6108fa565b61036f6103923660046127bf565b610924565b6102767f84f866be4904f319a18e8cf4db8f4b76d6ec7d27860173c125ec640353a62a7981565b61036f6103cc366004612793565b610942565b6102766103df3660046124a9565b6109c0565b61036f6103f2366004612853565b610b7d565b61036f610405366004612575565b610bf6565b61042573e0be1793539378cb87b6d4217e7878d53567bcfb81565b6040516001600160a01b039091168152602001610280565b61045061044b3660046128be565b610c14565b60405161028091906129c3565b6104257302814f435dd04e254be7ae69f61fca19881a780d81565b61036f610d3d565b61027661048e366004612474565b610d51565b61036f6104a1366004612575565b610db8565b6102766104b4366004612474565b6000908152600c602052604090205490565b6007546001600160a01b0316610425565b6104256104e5366004612575565b610e57565b6102af6104f8366004612793565b610e6f565b61036f61050b3660046129e6565b610e98565b6102c7610f01565b610276600081565b61036f61052e366004612a41565b610f0e565b610276600e5481565b61027661054a366004612474565b6000908152600b602052604090205490565b61056f61056a366004612474565b610f19565b604080519315158452602084019290925290820152606001610280565b61027661059a366004612474565b610f4e565b6102767f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61036f6105d4366004612793565b610f65565b6102af6105e7366004612a6b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61036f610623366004612a95565b610f8a565b61036f610636366004612af9565b610fcf565b610276610649366004612474565b600d6020526000908152604090205481565b61036f610669366004612b14565b611048565b60006001600160a01b0383166106de5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526004602090815260408083206001600160a01b03861684529091529020545b92915050565b600061070382611124565b6008805461072190612b47565b80601f016020809104026020016040519081016040528092919081815260200182805461074d90612b47565b801561079a5780601f1061076f5761010080835404028352916020019161079a565b820191906000526020600020905b81548152906001019060200180831161077d57829003601f168201915b505050505081565b606060006107ae611164565b905060008151116107ce57604051806020016040528060008152506107f9565b806107d8846111f6565b6040516020016107e9929190612b7c565b6040516020818303038152906040525b9392505050565b60008281526003602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916108755750604080518082019091526002546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610894906001600160601b031687612bc1565b61089e9190612be0565b91519350909150505b9250929050565b6001600160a01b0385163314806108ca57506108ca85336105e7565b6108e65760405162461bcd60e51b81526004016106d590612c02565b6108f3858585858561128a565b5050505050565b60008281526020819052604090206001015461091581611478565b61091f8383611482565b505050565b600061092f81611478565b815161091f90600a9060208501906123db565b6001600160a01b03811633146109b25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016106d5565b6109bc82826114a4565b5050565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109ec81611478565b6000838152600c6020908152604080832054600b9092529091205410610a495760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b60448201526064016106d5565b6000838152600d60205260409020548015610b2f576040516340c10f1960e01b81523060048201526024810182905273e0be1793539378cb87b6d4217e7878d53567bcfb906340c10f1990604401600060405180830381600087803b158015610ab157600080fd5b505af1158015610ac5573d6000803e3d6000fd5b5050604051630852cd8d60e31b8152600481018490527302814f435dd04e254be7ae69f61fca19881a780d92506342966c689150602401600060405180830381600087803b158015610b1657600080fd5b505af1158015610b2a573d6000803e3d6000fd5b505050505b610b4b85856001604051806020016040528060008152506114c6565b6000848152600b6020526040902054610b659060016115e2565b6000858152600b602052604090205550919392505050565b6000610b8881611478565b8360005b81811015610bed57848482818110610ba657610ba6612c50565b90506020020135600d6000898985818110610bc357610bc3612c50565b9050602002013581526020019081526020016000208190555080610be690612c66565b9050610b8c565b50505050505050565b6000610c0181611478565b506000918252600d602052604090912055565b60608151835114610c795760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016106d5565b600083516001600160401b03811115610c9457610c94612597565b604051908082528060200260200182016040528015610cbd578160200160208202803683370190505b50905060005b8451811015610d3557610d08858281518110610ce157610ce1612c50565b6020026020010151858381518110610cfb57610cfb612c50565b602002602001015161066e565b828281518110610d1a57610d1a612c50565b6020908102919091010152610d2e81612c66565b9050610cc3565b509392505050565b610d456115ee565b610d4f6000611648565b565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d7d81611478565b6000610d8761169a565b9050610d916116b0565b6000818152600b60209081526040808320839055600c909152902084905591505b50919050565b610dc3338383611048565b6000828152600d6020526040902054801561091f577302814f435dd04e254be7ae69f61fca19881a780d6340c10f1933610dfd84866116c3565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610e4357600080fd5b505af1158015610bed573d6000803e3d6000fd5b60008281526001602052604081206107f990836116cf565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b7f84f866be4904f319a18e8cf4db8f4b76d6ec7d27860173c125ec640353a62a79610ec281611478565b8360005b81811015610bed57610ef1878783818110610ee357610ee3612c50565b9050602002013586866116db565b610efa81612c66565b9050610ec6565b6009805461072190612b47565b6109bc3383836117d1565b6000818152600f602090815260408083205460109092528220548115610f425760019250610f47565b600092505b9193909250565b6000818152600160205260408120610703906118b2565b600082815260208190526040902060010154610f8081611478565b61091f83836114a4565b6001600160a01b038516331480610fa65750610fa685336105e7565b610fc25760405162461bcd60e51b81526004016106d590612c02565b6108f385858585856118bc565b610fd76115ee565b6001600160a01b03811661103c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106d5565b61104581611648565b50565b6001600160a01b038316331480611064575061106483336105e7565b6110805760405162461bcd60e51b81526004016106d590612c02565b61091f8383836119f8565b6110958282610e6f565b6109bc576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556110cb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006107f9836001600160a01b038416611b8c565b60006001600160e01b03198216636cdb3d1360e11b148061115557506001600160e01b031982166303a24d0760e21b145b80610703575061070382611bdb565b6060600a805461117390612b47565b80601f016020809104026020016040519081016040528092919081815260200182805461119f90612b47565b80156111ec5780601f106111c1576101008083540402835291602001916111ec565b820191906000526020600020905b8154815290600101906020018083116111cf57829003601f168201915b5050505050905090565b6060600061120383611c00565b60010190506000816001600160401b0381111561122257611222612597565b6040519080825280601f01601f19166020018201604052801561124c576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461128557610d35565b611256565b81518351146112ec5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016106d5565b6001600160a01b0384166113125760405162461bcd60e51b81526004016106d590612c81565b33611321818787878787611cd8565b60005b845181101561140a57600085828151811061134157611341612c50565b60200260200101519050600085838151811061135f5761135f612c50565b60209081029190910181015160008481526004835260408082206001600160a01b038e1683529093529190912054909150818110156113b05760405162461bcd60e51b81526004016106d590612cc6565b60008381526004602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906113ef908490612d10565b925050819055505050508061140390612c66565b9050611324565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161145a929190612d28565b60405180910390a4611470818787878787611d64565b505050505050565b6110458133611ecf565b61148c828261108b565b600082815260016020526040902061091f908261110f565b6114ae8282611f28565b600082815260016020526040902061091f9082611f8d565b6001600160a01b0384166115265760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016106d5565b33600061153285611fa2565b9050600061153f85611fa2565b905061155083600089858589611cd8565b60008681526004602090815260408083206001600160a01b038b16845290915281208054879290611582908490612d10565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4610bed83600089898989611fed565b60006107f98284612d10565b6007546001600160a01b03163314610d4f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106d5565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600e546000906116ab9060016115e2565b905090565b600e546116be9060016115e2565b600e55565b60006107f98284612bc1565b60006107f983836120b7565b811561172e576000838152600f60209081526040808320429055601090915280822083905551829185917f365c7d7284755ed19e809683dfd787da1e8115e86c37612909e022f8ec85126f9190a3505050565b60008381526010602052604090205481146117845760405162461bcd60e51b8152602060048201526016602482015275135153514c4c4d4d4e881ddc9bdb99c81d185cdada5960521b60448201526064016106d5565b6000838152600f60209081526040808320839055601090915280822082905551829185917f29461b419f1938cf901704b3e90c50de5ce021544424551b5d65869b605f9dc69190a3505050565b816001600160a01b0316836001600160a01b031614156118455760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016106d5565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000610703825490565b6001600160a01b0384166118e25760405162461bcd60e51b81526004016106d590612c81565b3360006118ee85611fa2565b905060006118fb85611fa2565b905061190b838989858589611cd8565b60008681526004602090815260408083206001600160a01b038c1684529091529020548581101561194e5760405162461bcd60e51b81526004016106d590612cc6565b60008781526004602090815260408083206001600160a01b038d8116855292528083208985039055908a1682528120805488929061198d908490612d10565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46119ed848a8a8a8a8a611fed565b505050505050505050565b6001600160a01b038316611a5a5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b60648201526084016106d5565b336000611a6684611fa2565b90506000611a7384611fa2565b9050611a9383876000858560405180602001604052806000815250611cd8565b60008581526004602090815260408083206001600160a01b038a16845290915290205484811015611b125760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b60648201526084016106d5565b60008681526004602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052610bed565b6000818152600183016020526040812054611bd357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610703565b506000610703565b60006001600160e01b0319821663152a902d60e11b14806107035750610703826120e1565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611c3f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611c6b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611c8957662386f26fc10000830492506010015b6305f5e1008310611ca1576305f5e100830492506008015b6127108310611cb557612710830492506004015b60648310611cc7576064830492506002015b600a83106107035760010192915050565b60005b8351811015610bed57600f6000858381518110611cfa57611cfa612c50565b6020026020010151815260200190815260200160002054600014611d545760405162461bcd60e51b81526020600482015260116024820152704d454d45313135353a206a756963696e6760781b60448201526064016106d5565b611d5d81612c66565b9050611cdb565b6001600160a01b0384163b156114705760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611da89089908990889088908890600401612d56565b602060405180830381600087803b158015611dc257600080fd5b505af1925050508015611df2575060408051601f3d908101601f19168201909252611def91810190612db4565b60015b611e9f57611dfe612dd1565b806308c379a01415611e385750611e13612ded565b80611e1e5750611e3a565b8060405162461bcd60e51b81526004016106d59190612562565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016106d5565b6001600160e01b0319811663bc197c8160e01b14610bed5760405162461bcd60e51b81526004016106d590612e76565b611ed98282610e6f565b6109bc57611ee681612106565b611ef1836020612118565b604051602001611f02929190612ebe565b60408051601f198184030181529082905262461bcd60e51b82526106d591600401612562565b611f328282610e6f565b156109bc576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006107f9836001600160a01b0384166122b3565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611fdc57611fdc612c50565b602090810291909101015292915050565b6001600160a01b0384163b156114705760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906120319089908990889088908890600401612f33565b602060405180830381600087803b15801561204b57600080fd5b505af192505050801561207b575060408051601f3d908101601f1916820190925261207891810190612db4565b60015b61208757611dfe612dd1565b6001600160e01b0319811663f23a6e6160e01b14610bed5760405162461bcd60e51b81526004016106d590612e76565b60008260000182815481106120ce576120ce612c50565b9060005260206000200154905092915050565b60006001600160e01b03198216635a05180f60e01b14806107035750610703826123a6565b60606107036001600160a01b03831660145b60606000612127836002612bc1565b612132906002612d10565b6001600160401b0381111561214957612149612597565b6040519080825280601f01601f191660200182016040528015612173576020820181803683370190505b509050600360fc1b8160008151811061218e5761218e612c50565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106121bd576121bd612c50565b60200101906001600160f81b031916908160001a90535060006121e1846002612bc1565b6121ec906001612d10565b90505b6001811115612264576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061222057612220612c50565b1a60f81b82828151811061223657612236612c50565b60200101906001600160f81b031916908160001a90535060049490941c9361225d81612f78565b90506121ef565b5083156107f95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106d5565b6000818152600183016020526040812054801561239c5760006122d7600183612f8f565b85549091506000906122eb90600190612f8f565b905081811461235057600086600001828154811061230b5761230b612c50565b906000526020600020015490508087600001848154811061232e5761232e612c50565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061236157612361612fa6565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610703565b6000915050610703565b60006001600160e01b03198216637965db0b60e01b148061070357506301ffc9a760e01b6001600160e01b0319831614610703565b8280546123e790612b47565b90600052602060002090601f016020900481019282612409576000855561244f565b82601f1061242257805160ff191683800117855561244f565b8280016001018555821561244f579182015b8281111561244f578251825591602001919060010190612434565b5061245b92915061245f565b5090565b5b8082111561245b5760008155600101612460565b60006020828403121561248657600080fd5b5035919050565b80356001600160a01b03811681146124a457600080fd5b919050565b600080604083850312156124bc57600080fd5b6124c58361248d565b946020939093013593505050565b6001600160e01b03198116811461104557600080fd5b6000602082840312156124fb57600080fd5b81356107f9816124d3565b60005b83811015612521578181015183820152602001612509565b83811115612530576000848401525b50505050565b6000815180845261254e816020860160208601612506565b601f01601f19169290920160200192915050565b6020815260006107f96020830184612536565b6000806040838503121561258857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156125d2576125d2612597565b6040525050565b60006001600160401b038211156125f2576125f2612597565b5060051b60200190565b600082601f83011261260d57600080fd5b8135602061261a826125d9565b60405161262782826125ad565b83815260059390931b850182019282810191508684111561264757600080fd5b8286015b84811015612662578035835291830191830161264b565b509695505050505050565b60006001600160401b0383111561268657612686612597565b60405161269d601f8501601f1916602001826125ad565b8091508381528484840111156126b257600080fd5b83836020830137600060208583010152509392505050565b600082601f8301126126db57600080fd5b6107f98383356020850161266d565b600080600080600060a0868803121561270257600080fd5b61270b8661248d565b94506127196020870161248d565b935060408601356001600160401b038082111561273557600080fd5b61274189838a016125fc565b9450606088013591508082111561275757600080fd5b61276389838a016125fc565b9350608088013591508082111561277957600080fd5b50612786888289016126ca565b9150509295509295909350565b600080604083850312156127a657600080fd5b823591506127b66020840161248d565b90509250929050565b6000602082840312156127d157600080fd5b81356001600160401b038111156127e757600080fd5b8201601f810184136127f857600080fd5b6128078482356020840161266d565b949350505050565b60008083601f84011261282157600080fd5b5081356001600160401b0381111561283857600080fd5b6020830191508360208260051b85010111156108a757600080fd5b6000806000806040858703121561286957600080fd5b84356001600160401b038082111561288057600080fd5b61288c8883890161280f565b909650945060208701359150808211156128a557600080fd5b506128b28782880161280f565b95989497509550505050565b600080604083850312156128d157600080fd5b82356001600160401b03808211156128e857600080fd5b818501915085601f8301126128fc57600080fd5b81356020612909826125d9565b60405161291682826125ad565b83815260059390931b850182019282810191508984111561293657600080fd5b948201945b8386101561295b5761294c8661248d565b8252948201949082019061293b565b9650508601359250508082111561297157600080fd5b5061297e858286016125fc565b9150509250929050565b600081518084526020808501945080840160005b838110156129b85781518752958201959082019060010161299c565b509495945050505050565b6020815260006107f96020830184612988565b803580151581146124a457600080fd5b600080600080606085870312156129fc57600080fd5b84356001600160401b03811115612a1257600080fd5b612a1e8782880161280f565b9095509350612a319050602086016129d6565b9396929550929360400135925050565b60008060408385031215612a5457600080fd5b612a5d8361248d565b91506127b6602084016129d6565b60008060408385031215612a7e57600080fd5b612a878361248d565b91506127b66020840161248d565b600080600080600060a08688031215612aad57600080fd5b612ab68661248d565b9450612ac46020870161248d565b9350604086013592506060860135915060808601356001600160401b03811115612aed57600080fd5b612786888289016126ca565b600060208284031215612b0b57600080fd5b6107f98261248d565b600080600060608486031215612b2957600080fd5b612b328461248d565b95602085013595506040909401359392505050565b600181811c90821680612b5b57607f821691505b60208210811415610db257634e487b7160e01b600052602260045260246000fd5b60008351612b8e818460208801612506565b835190830190612ba2818360208801612506565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612bdb57612bdb612bab565b500290565b600082612bfd57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612c7a57612c7a612bab565b5060010190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60008219821115612d2357612d23612bab565b500190565b604081526000612d3b6040830185612988565b8281036020840152612d4d8185612988565b95945050505050565b6001600160a01b0386811682528516602082015260a060408201819052600090612d8290830186612988565b8281036060840152612d948186612988565b90508281036080840152612da88185612536565b98975050505050505050565b600060208284031215612dc657600080fd5b81516107f9816124d3565b600060033d1115612dea5760046000803e5060005160e01c5b90565b600060443d1015612dfb5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715612e2a57505050505090565b8285019150815181811115612e425750505050505090565b843d8701016020828501011115612e5c5750505050505090565b612e6b602082860101876125ad565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612ef6816017850160208801612506565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612f27816028840160208801612506565b01602801949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090612f6d90830184612536565b979650505050505050565b600081612f8757612f87612bab565b506000190190565b600082821015612fa157612fa1612bab565b500390565b634e487b7160e01b600052603160045260246000fdfea26469706673582212209cb9f64218657c2315e932e79b3eb9acc1c535d79a59a40dab0138da84c01edd64736f6c6343000809003368747470733a2f2f6170692e646f6e746469656d656d652e636f6d2f6e66742f6172746973742f313135352f7b69647d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006e26579bb9b04ea358524f2aaefaf3a82defdae5000000000000000000000000000000000000000000000000000000000000000b446f6e744469654d656d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000344444d0000000000000000000000000000000000000000000000000000000000