0 txs
0 calls
constructor
No constructor.
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
exists
viewfunction exists(uint256 tokenId) view returns (bool)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getBookmarkCreationTime
viewfunction getBookmarkCreationTime(uint256 tokenId) view returns (uint256)
getBookmarkCreator
viewfunction getBookmarkCreator(uint256 tokenId) view returns (address)
getBookmarkMetadata
viewfunction getBookmarkMetadata(uint256 tokenId) view returns (string title, string creator, string metadataURI)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
name
viewfunction name() view returns (string)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
UPGRADER_ROLE
viewfunction UPGRADER_ROLE() view returns (bytes32)
approve
nonpayablefunction approve(address to, uint256 tokenId)
grantMinterRole
nonpayablefunction grantMinterRole(address minter)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize()
mintBookmark
nonpayablefunction mintBookmark(string metadataURI, string title, string creator) returns (uint256)
mintBookmarkFor
nonpayablefunction mintBookmarkFor(address to, string metadataURI, string title, string creator) returns (uint256)
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeMinterRole
nonpayablefunction revokeMinterRole(address minter)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
unpause
nonpayablefunction unpause()
updateBookmarkMetadata
nonpayablefunction updateBookmarkMetadata(uint256 tokenId, string metadataURI)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BatchMetadataUpdate
event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
BookmarkCreated
event BookmarkCreated(uint256 indexed tokenId, address indexed creator, string title, string contentCreator, string metadataURI)
BookmarkMetadataUpdated
event BookmarkMetadataUpdated(uint256 indexed tokenId, string metadataURI)
Initialized
event Initialized(uint8 version)
MetadataUpdate
event MetadataUpdate(uint256 _tokenId)
Paused
event Paused(address account)
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)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a060405230608052348015601357600080fd5b5060805161361361004b60003960008181610a2601528181610a6601528181610d2801528181610d680152610e0201526136136000f3fe6080604052600436106102305760003560e01c80635fa1cfd01161012e5780639b943891116100ab578063c87b56dd1161006f578063c87b56dd14610674578063d539139314610694578063d547741f146106b6578063e985e9c5146106d6578063f72c0d8b1461071f57600080fd5b80639b943891146105d0578063a217fddf146105f0578063a22cb46514610605578063b88d4fde14610625578063bff796831461064557600080fd5b80638129fc1c116100f25780638129fc1c146105515780638456cb59146105665780638726f3e81461057b57806391d148541461059b57806395d89b41146105bb57600080fd5b80635fa1cfd0146104af5780636352211e146104cf57806369e2f0fb146104ef57806370a082311461050f57806375b238fc1461052f57600080fd5b80633659cfe6116101bc5780634f1ef286116101805780634f1ef2861461042e5780634f558e791461044157806352d1902d14610461578063561e920a146104765780635c975abb1461049657600080fd5b80633659cfe6146103995780633dd1eb61146103b95780633f4ba83a146103d957806342842e0e146103ee578063485feda01461040e57600080fd5b806318160ddd1161020357806318160ddd146102e657806323b872dd14610309578063248a9ca3146103295780632f2ff15d1461035957806336568abe1461037957600080fd5b806301ffc9a71461023557806306fdde031461026a578063081812fc1461028c578063095ea7b3146102c4575b600080fd5b34801561024157600080fd5b50610255610250366004612bc4565b610753565b60405190151581526020015b60405180910390f35b34801561027657600080fd5b5061027f610764565b6040516102619190612c31565b34801561029857600080fd5b506102ac6102a7366004612c44565b6107f6565b6040516001600160a01b039091168152602001610261565b3480156102d057600080fd5b506102e46102df366004612c79565b61081d565b005b3480156102f257600080fd5b506102fb610937565b604051908152602001610261565b34801561031557600080fd5b506102e4610324366004612ca3565b610948565b34801561033557600080fd5b506102fb610344366004612c44565b600090815260c9602052604090206001015490565b34801561036557600080fd5b506102e4610374366004612ce0565b610979565b34801561038557600080fd5b506102e4610394366004612ce0565b61099e565b3480156103a557600080fd5b506102e46103b4366004612d0c565b610a1c565b3480156103c557600080fd5b506102e46103d4366004612d0c565b610afb565b3480156103e557600080fd5b506102e4610b2b565b3480156103fa57600080fd5b506102e4610409366004612ca3565b610b4b565b34801561041a57600080fd5b506102fb610429366004612dd1565b610b66565b6102e461043c366004612e73565b610d1e565b34801561044d57600080fd5b5061025561045c366004612c44565b610dea565b34801561046d57600080fd5b506102fb610df5565b34801561048257600080fd5b506102fb610491366004612ec0565b610ea8565b3480156104a257600080fd5b506101915460ff16610255565b3480156104bb57600080fd5b506102ac6104ca366004612c44565b610fd6565b3480156104db57600080fd5b506102ac6104ea366004612c44565b61101a565b3480156104fb57600080fd5b506102e461050a366004612d0c565b61107a565b34801561051b57600080fd5b506102fb61052a366004612d0c565b6110aa565b34801561053b57600080fd5b506102fb6000805160206135be83398151915281565b34801561055d57600080fd5b506102e4611130565b34801561057257600080fd5b506102e461130f565b34801561058757600080fd5b506102e4610596366004612f51565b61132f565b3480156105a757600080fd5b506102556105b6366004612ce0565b61144b565b3480156105c757600080fd5b5061027f611476565b3480156105dc57600080fd5b506102fb6105eb366004612c44565b611485565b3480156105fc57600080fd5b506102fb600081565b34801561061157600080fd5b506102e4610620366004612f81565b6114c3565b34801561063157600080fd5b506102e4610640366004612fbd565b6114ce565b34801561065157600080fd5b50610665610660366004612c44565b611506565b6040516102619392919061300c565b34801561068057600080fd5b5061027f61068f366004612c44565b611723565b3480156106a057600080fd5b506102fb60008051602061359e83398151915281565b3480156106c257600080fd5b506102e46106d1366004612ce0565b61172e565b3480156106e257600080fd5b506102556106f1366004613045565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561072b57600080fd5b506102fb7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b600061075e82611753565b92915050565b6060606580546107739061306f565b80601f016020809104026020016040519081016040528092919081815260200182805461079f9061306f565b80156107ec5780601f106107c1576101008083540402835291602001916107ec565b820191906000526020600020905b8154815290600101906020018083116107cf57829003601f168201915b5050505050905090565b600061080182611778565b506000908152606960205260409020546001600160a01b031690565b60006108288261101a565b9050806001600160a01b0316836001600160a01b03160361089a5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806108b657506108b681336106f1565b6109285760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610891565b61093283836117c8565b505050565b60006109436101c35490565b905090565b6109523382611836565b61096e5760405162461bcd60e51b8152600401610891906130a9565b6109328383836118b5565b600082815260c9602052604090206001015461099481611a19565b6109328383611a23565b6001600160a01b0381163314610a0e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610891565b610a188282611aa9565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a645760405162461bcd60e51b8152600401610891906130f6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610aad600080516020613557833981519152546001600160a01b031690565b6001600160a01b031614610ad35760405162461bcd60e51b815260040161089190613142565b610adc81611b10565b60408051600080825260208201909252610af891839190611b3a565b50565b6000805160206135be833981519152610b1381611a19565b610a1860008051602061359e83398151915283610979565b6000805160206135be833981519152610b4381611a19565b610af8611ca5565b610932838383604051806020016040528060008152506114ce565b600060008051602061359e833981519152610b8081611a19565b610b88611cf8565b610b90611d53565b6001600160a01b038616610bf75760405162461bcd60e51b815260206004820152602860248201527f426f6f6b6d61726b4e46543a2043616e6e6f74206d696e7420746f207a65726f604482015267206164647265737360c01b6064820152608401610891565b6000610c036101c35490565b9050610c146101c380546001019055565b610c1e8782611d9c565b610c288187611db6565b60408051608081018252868152602080820187905281830189905242606083015260008481526101c49091529190912081518190610c6690826131dc565b5060208201516001820190610c7b90826131dc565b5060408201516002820190610c9090826131dc565b506060919091015160039091015560008181526101c560205260409081902080546001600160a01b0319166001600160a01b038a16908117909155905182907f9839d69a45f3faa68c2aa4cb618a0d8d6e918c11e2e282c3e653e73fef17282890610d0090899089908c9061300c565b60405180910390a39150610d15600161015f55565b50949350505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d665760405162461bcd60e51b8152600401610891906130f6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610daf600080516020613557833981519152546001600160a01b031690565b6001600160a01b031614610dd55760405162461bcd60e51b815260040161089190613142565b610dde82611b10565b610a1882826001611b3a565b600061075e82611e7a565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e955760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610891565b5060008051602061355783398151915290565b6000610eb2611cf8565b610eba611d53565b6000610ec66101c35490565b9050610ed76101c380546001019055565b610ee13382611d9c565b610eeb8186611db6565b60408051608081018252858152602080820186905281830188905242606083015260008481526101c49091529190912081518190610f2990826131dc565b5060208201516001820190610f3e90826131dc565b5060408201516002820190610f5390826131dc565b506060919091015160039091015560008181526101c560205260409081902080546001600160a01b03191633908117909155905182907f9839d69a45f3faa68c2aa4cb618a0d8d6e918c11e2e282c3e653e73fef17282890610fba90889088908b9061300c565b60405180910390a39050610fcf600161015f55565b9392505050565b6000610fe182611e7a565b610ffd5760405162461bcd60e51b81526004016108919061329a565b5060009081526101c560205260409020546001600160a01b031690565b6000818152606760205260408120546001600160a01b03168061075e5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610891565b6000805160206135be83398151915261109281611a19565b610a1860008051602061359e8339815191528361172e565b60006001600160a01b0382166111145760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610891565b506001600160a01b031660009081526068602052604090205490565b600054610100900460ff16158080156111505750600054600160ff909116105b8061116a5750303b15801561116a575060005460ff166001145b6111cd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610891565b6000805460ff1916600117905580156111f0576000805461ff0019166101001790555b61123a6040518060400160405280600c81526020016b109bdbdadb585c9ac813919560a21b815250604051806040016040528060048152602001631093919560e21b815250611e97565b611242611ec8565b61124a611ec8565b611252611ec8565b61125a611eef565b611262611f1e565b61126d600033611a23565b6112856000805160206135be83398151915233611a23565b6112af7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333611a23565b6112c760008051602061359e83398151915233611a23565b8015610af8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6000805160206135be83398151915261132781611a19565b610af8611f4d565b611337611cf8565b61133f611d53565b61134882611e7a565b6113645760405162461bcd60e51b81526004016108919061329a565b60008281526101c560205260409020546001600160a01b031633146113e15760405162461bcd60e51b815260206004820152602d60248201527f426f6f6b6d61726b4e46543a204f6e6c792063726561746f722063616e20757060448201526c64617465206d6574616461746160981b6064820152608401610891565b6113eb8282611db6565b60008281526101c46020526040902060020161140782826131dc565b50817fba763c1b85a1516a945f9fa06d7a0b986999441d204bc5012b93e7b07b4b985b826040516114389190612c31565b60405180910390a2610a18600161015f55565b600091825260c9602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060606680546107739061306f565b600061149082611e7a565b6114ac5760405162461bcd60e51b81526004016108919061329a565b5060009081526101c4602052604090206003015490565b610a18338383611f8b565b6114d83383611836565b6114f45760405162461bcd60e51b8152600401610891906130a9565b61150084848484612059565b50505050565b606080606061151484611e7a565b6115305760405162461bcd60e51b81526004016108919061329a565b60008481526101c460205260408082208151608081019092528054829082906115589061306f565b80601f01602080910402602001604051908101604052809291908181526020018280546115849061306f565b80156115d15780601f106115a6576101008083540402835291602001916115d1565b820191906000526020600020905b8154815290600101906020018083116115b457829003601f168201915b505050505081526020016001820180546115ea9061306f565b80601f01602080910402602001604051908101604052809291908181526020018280546116169061306f565b80156116635780601f1061163857610100808354040283529160200191611663565b820191906000526020600020905b81548152906001019060200180831161164657829003601f168201915b5050505050815260200160028201805461167c9061306f565b80601f01602080910402602001604051908101604052809291908181526020018280546116a89061306f565b80156116f55780601f106116ca576101008083540402835291602001916116f5565b820191906000526020600020905b8154815290600101906020018083116116d857829003601f168201915b5050509183525050600391909101546020918201528151908201516040909201519097919650945092505050565b606061075e8261208c565b600082815260c9602052604090206001015461174981611a19565b6109328383611aa9565b60006001600160e01b03198216637965db0b60e01b148061075e575061075e82612194565b61178181611e7a565b610af85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610891565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906117fd8261101a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806118428361101a565b9050806001600160a01b0316846001600160a01b0316148061188957506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806118ad5750836001600160a01b03166118a2846107f6565b6001600160a01b0316145b949350505050565b826001600160a01b03166118c88261101a565b6001600160a01b0316146118ee5760405162461bcd60e51b8152600401610891906132de565b6001600160a01b0382166119505760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610891565b826001600160a01b03166119638261101a565b6001600160a01b0316146119895760405162461bcd60e51b8152600401610891906132de565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610af881336121b9565b611a2d828261144b565b610a1857600082815260c9602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611a653390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611ab3828261144b565b15610a1857600082815260c9602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610a1881611a19565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611b6d5761093283612212565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611bc7575060408051601f3d908101601f19168201909252611bc491810190613323565b60015b611c2a5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610891565b6000805160206135578339815191528114611c995760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610891565b506109328383836122ae565b611cad6122d3565b610191805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600261015f5403611d4b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610891565b600261015f55565b6101915460ff1615611d9a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610891565b565b610a1882826040518060200160405280600081525061231d565b611dbf82611e7a565b611e225760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610891565b6000828152609760205260409020611e3a82826131dc565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b600161015f55565b6000908152606760205260409020546001600160a01b0316151590565b600054610100900460ff16611ebe5760405162461bcd60e51b81526004016108919061333c565b610a188282612350565b600054610100900460ff16611d9a5760405162461bcd60e51b81526004016108919061333c565b600054610100900460ff16611f165760405162461bcd60e51b81526004016108919061333c565b611d9a612390565b600054610100900460ff16611f455760405162461bcd60e51b81526004016108919061333c565b611d9a6123b7565b611f55611d53565b610191805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611cdb3390565b816001600160a01b0316836001600160a01b031603611fec5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610891565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6120648484846118b5565b612070848484846123eb565b6115005760405162461bcd60e51b815260040161089190613387565b606061209782611778565b600082815260976020526040812080546120b09061306f565b80601f01602080910402602001604051908101604052809291908181526020018280546120dc9061306f565b80156121295780601f106120fe57610100808354040283529160200191612129565b820191906000526020600020905b81548152906001019060200180831161210c57829003601f168201915b50505050509050600061214760408051602081019091526000815290565b90508051600003612159575092915050565b81511561218b5780826040516020016121739291906133d9565b60405160208183030381529060405292505050919050565b6118ad846124ec565b60006001600160e01b03198216632483248360e11b148061075e575061075e8261255f565b6121c3828261144b565b610a18576121d0816125af565b6121db8360206125c1565b6040516020016121ec929190613408565b60408051601f198184030181529082905262461bcd60e51b825261089191600401612c31565b6001600160a01b0381163b61227f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610891565b60008051602061355783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6122b78361275c565b6000825111806122c45750805b1561093257611500838361279c565b6101915460ff16611d9a5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610891565b61232783836127c1565b61233460008484846123eb565b6109325760405162461bcd60e51b815260040161089190613387565b600054610100900460ff166123775760405162461bcd60e51b81526004016108919061333c565b606561238383826131dc565b50606661093282826131dc565b600054610100900460ff16611e725760405162461bcd60e51b81526004016108919061333c565b600054610100900460ff166123de5760405162461bcd60e51b81526004016108919061333c565b610191805460ff19169055565b60006001600160a01b0384163b156124e157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061242f90339089908890889060040161347d565b6020604051808303816000875af192505050801561246a575060408051601f3d908101601f19168201909252612467918101906134b0565b60015b6124c7573d808015612498576040519150601f19603f3d011682016040523d82523d6000602084013e61249d565b606091505b5080516000036124bf5760405162461bcd60e51b815260040161089190613387565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506118ad565b506001949350505050565b60606124f782611778565b600061250e60408051602081019091526000815290565b9050600081511161252e5760405180602001604052806000815250610fcf565b806125388461292e565b6040516020016125499291906133d9565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b148061259057506001600160e01b03198216635b5e139f60e01b145b8061075e57506301ffc9a760e01b6001600160e01b031983161461075e565b606061075e6001600160a01b03831660145b606060006125d08360026134e3565b6125db9060026134fa565b6001600160401b038111156125f2576125f2612d27565b6040519080825280601f01601f19166020018201604052801561261c576020820181803683370190505b509050600360fc1b816000815181106126375761263761350d565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106126665761266661350d565b60200101906001600160f81b031916908160001a905350600061268a8460026134e3565b6126959060016134fa565b90505b600181111561270d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106126c9576126c961350d565b1a60f81b8282815181106126df576126df61350d565b60200101906001600160f81b031916908160001a90535060049490941c9361270681613523565b9050612698565b508315610fcf5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610891565b61276581612212565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060610fcf8383604051806060016040528060278152602001613577602791396129c0565b6001600160a01b0382166128175760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610891565b61282081611e7a565b1561286d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610891565b61287681611e7a565b156128c35760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610891565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6060600061293b83612a38565b60010190506000816001600160401b0381111561295a5761295a612d27565b6040519080825280601f01601f191660200182016040528015612984576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461298e57509392505050565b6060600080856001600160a01b0316856040516129dd919061353a565b600060405180830381855af49150503d8060008114612a18576040519150601f19603f3d011682016040523d82523d6000602084013e612a1d565b606091505b5091509150612a2e86838387612b10565b9695505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612a775772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612aa3576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612ac157662386f26fc10000830492506010015b6305f5e1008310612ad9576305f5e100830492506008015b6127108310612aed57612710830492506004015b60648310612aff576064830492506002015b600a831061075e5760010192915050565b60608315612b7f578251600003612b78576001600160a01b0385163b612b785760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610891565b50816118ad565b6118ad8383815115612b945781518083602001fd5b8060405162461bcd60e51b81526004016108919190612c31565b6001600160e01b031981168114610af857600080fd5b600060208284031215612bd657600080fd5b8135610fcf81612bae565b60005b83811015612bfc578181015183820152602001612be4565b50506000910152565b60008151808452612c1d816020860160208601612be1565b601f01601f19169290920160200192915050565b602081526000610fcf6020830184612c05565b600060208284031215612c5657600080fd5b5035919050565b80356001600160a01b0381168114612c7457600080fd5b919050565b60008060408385031215612c8c57600080fd5b612c9583612c5d565b946020939093013593505050565b600080600060608486031215612cb857600080fd5b612cc184612c5d565b9250612ccf60208501612c5d565b929592945050506040919091013590565b60008060408385031215612cf357600080fd5b82359150612d0360208401612c5d565b90509250929050565b600060208284031215612d1e57600080fd5b610fcf82612c5d565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612d4e57600080fd5b8135602083016000806001600160401b03841115612d6e57612d6e612d27565b50604051601f19601f85018116603f011681018181106001600160401b0382111715612d9c57612d9c612d27565b604052838152905080828401871015612db457600080fd5b838360208301376000602085830101528094505050505092915050565b60008060008060808587031215612de757600080fd5b612df085612c5d565b935060208501356001600160401b03811115612e0b57600080fd5b612e1787828801612d3d565b93505060408501356001600160401b03811115612e3357600080fd5b612e3f87828801612d3d565b92505060608501356001600160401b03811115612e5b57600080fd5b612e6787828801612d3d565b91505092959194509250565b60008060408385031215612e8657600080fd5b612e8f83612c5d565b915060208301356001600160401b03811115612eaa57600080fd5b612eb685828601612d3d565b9150509250929050565b600080600060608486031215612ed557600080fd5b83356001600160401b03811115612eeb57600080fd5b612ef786828701612d3d565b93505060208401356001600160401b03811115612f1357600080fd5b612f1f86828701612d3d565b92505060408401356001600160401b03811115612f3b57600080fd5b612f4786828701612d3d565b9150509250925092565b60008060408385031215612f6457600080fd5b8235915060208301356001600160401b03811115612eaa57600080fd5b60008060408385031215612f9457600080fd5b612f9d83612c5d565b915060208301358015158114612fb257600080fd5b809150509250929050565b60008060008060808587031215612fd357600080fd5b612fdc85612c5d565b9350612fea60208601612c5d565b92506040850135915060608501356001600160401b03811115612e5b57600080fd5b60608152600061301f6060830186612c05565b82810360208401526130318186612c05565b90508281036040840152612a2e8185612c05565b6000806040838503121561305857600080fd5b61306183612c5d565b9150612d0360208401612c5d565b600181811c9082168061308357607f821691505b6020821081036130a357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b601f82111561093257806000526020600020601f840160051c810160208510156131b55750805b601f840160051c820191505b818110156131d557600081556001016131c1565b5050505050565b81516001600160401b038111156131f5576131f5612d27565b61320981613203845461306f565b8461318e565b6020601f82116001811461323d57600083156132255750848201515b600019600385901b1c1916600184901b1784556131d5565b600084815260208120601f198516915b8281101561326d578785015182556020948501946001909201910161324d565b508482101561328b5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b60208082526024908201527f426f6f6b6d61726b4e46543a20426f6f6b6d61726b20646f6573206e6f7420656040820152631e1a5cdd60e21b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60006020828403121561333557600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600083516133eb818460208801612be1565b8351908301906133ff818360208801612be1565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613440816017850160208801612be1565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613471816028840160208801612be1565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612a2e90830184612c05565b6000602082840312156134c257600080fd5b8151610fcf81612bae565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761075e5761075e6134cd565b8082018082111561075e5761075e6134cd565b634e487b7160e01b600052603260045260246000fd5b600081613532576135326134cd565b506000190190565b6000825161354c818460208701612be1565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65649f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775a264697066735822122049af42830ac4e434998dcc3672899ac59bea0a77ca09d4fcfe31b0255d1072fa64736f6c634300081c0033