10 txs
11 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseURI
viewfunction baseURI() view returns (string)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
metadataLocked
viewfunction metadataLocked() view returns (bool)
mintOpen
viewfunction mintOpen() view returns (bool)
mintPrice
viewfunction mintPrice() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
PUBLIC_SUPPLY
viewfunction PUBLIC_SUPPLY() view returns (uint256)
RESERVED_TOKENS
viewfunction RESERVED_TOKENS() view returns (uint256)
royaltyFeeBasisPoints
viewfunction royaltyFeeBasisPoints() view returns (uint96)
royaltyInfo
viewfunction royaltyInfo(uint256 tokenId, uint256 salePrice) view returns (address receiver, uint256 amount)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokensOfOwner
viewfunction tokensOfOwner(address owner) view returns (uint256[])
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256 result)
approve
payablefunction approve(address to, uint256 tokenId) payable
lockMetadata
nonpayablefunction lockMetadata()
publicMint
payablefunction publicMint(uint256 quantity) payable
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
payablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data) payable
safeTransferFrom
payablefunction safeTransferFrom(address from, address to, uint256 tokenId) payable
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setMintPrice
nonpayablefunction setMintPrice(uint256 _newPrice)
setRoyaltyInfo
nonpayablefunction setRoyaltyInfo(address receiver)
setTokenURI
nonpayablefunction setTokenURI(string _uri)
toggleMint
nonpayablefunction toggleMint(bool _status)
transferFrom
payablefunction transferFrom(address from, address to, uint256 tokenId) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw()
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
ConsecutiveTransfer
event ConsecutiveTransfer(uint256 indexed fromTokenId, uint256 toTokenId, address indexed from, address indexed to)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
ApprovalCallerNotOwnerNorApproved
error ApprovalCallerNotOwnerNorApproved()
ApprovalQueryForNonexistentToken
error ApprovalQueryForNonexistentToken()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
ERC2981InvalidDefaultRoyalty
error ERC2981InvalidDefaultRoyalty(uint256 numerator, uint256 denominator)
ERC2981InvalidDefaultRoyaltyReceiver
error ERC2981InvalidDefaultRoyaltyReceiver(address receiver)
ERC2981InvalidTokenRoyalty
error ERC2981InvalidTokenRoyalty(uint256 tokenId, uint256 numerator, uint256 denominator)
ERC2981InvalidTokenRoyaltyReceiver
error ERC2981InvalidTokenRoyaltyReceiver(uint256 tokenId, address receiver)
MintERC2309QuantityExceedsLimit
error MintERC2309QuantityExceedsLimit()
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
NotCompatibleWithSpotMints
error NotCompatibleWithSpotMints()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
OwnershipNotInitializedForExtraData
error OwnershipNotInitializedForExtraData()
SequentialMintExceedsLimit
error SequentialMintExceedsLimit()
SequentialUpToTooSmall
error SequentialUpToTooSmall()
SpotMintTokenIdTooSmall
error SpotMintTokenIdTooSmall()
TokenAlreadyExists
error TokenAlreadyExists()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
URIQueryForNonexistentToken
error URIQueryForNonexistentToken()
creation bytecode
0x6080604052662386f26fc10000600c556064600d60006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506000600d600c6101000a81548160ff0219169083151502179055506000600f60006101000a81548160ff0219169083151502179055503480156200008457600080fd5b50336040518060400160405280601081526020017f5a657461204f726967696e2050617373000000000000000000000000000000008152506040518060400160405280600481526020017f5a455441000000000000000000000000000000000000000000000000000000008152508160029081620001039190620009e8565b508060039081620001159190620009e8565b50620001266200026560201b60201c565b6000819055506200013c6200026560201b60201c565b6200014c6200026a60201b60201c565b10156200016c576200016b63fed8210f60e01b6200029260201b60201c565b5b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001e35760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001da919062000b14565b60405180910390fd5b620001f4816200029c60201b60201c565b50620002083360146200036260201b60201c565b60405180608001604052806043815260200162003f6560439139600e9081620002329190620009e8565b506200025f33600d60009054906101000a90046bffffffffffffffffffffffff166200053460201b60201c565b62000bc0565b600090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b8060005260046000fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080549050600082036200038a576200038963b562e8dd60e01b6200029260201b60201c565b5b6200039f6000848385620006e460201b60201c565b620003d783620003b96000866000620006ea60201b60201c565b620003ca856200071a60201b60201c565b176200072a60201b60201c565b6004600083815260200190815260200160002081905550600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff1616905060008103620004985762000497632e07630060e01b6200029260201b60201c565b5b600083830190506000839050620004b46200026a60201b60201c565b600183031115620004d857620004d76381647e3a60e01b6200029260201b60201c565b5b5b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4818160010191508103620004d957816000819055505050506200052f60008483856200075560201b60201c565b505050565b6000620005466200075b60201b60201c565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115620005ae5781816040517f6f483d09000000000000000000000000000000000000000000000000000000008152600401620005a592919062000b93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620006235760006040517fb6d9900a0000000000000000000000000000000000000000000000000000000081526004016200061a919062000b14565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff16815250600960008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b50505050565b60008060e883901c905060e8620007098686846200076560201b60201c565b62ffffff16901b9150509392505050565b60006001821460e11b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000612710905090565b60009392505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007f057607f821691505b602082108103620008065762000805620007a8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000831565b6200087c868362000831565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620008c9620008c3620008bd8462000894565b6200089e565b62000894565b9050919050565b6000819050919050565b620008e583620008a8565b620008fd620008f482620008d0565b8484546200083e565b825550505050565b600090565b6200091462000905565b62000921818484620008da565b505050565b5b8181101562000949576200093d6000826200090a565b60018101905062000927565b5050565b601f821115620009985762000962816200080c565b6200096d8462000821565b810160208510156200097d578190505b620009956200098c8562000821565b83018262000926565b50505b505050565b600082821c905092915050565b6000620009bd600019846008026200099d565b1980831691505092915050565b6000620009d88383620009aa565b9150826002028217905092915050565b620009f3826200076e565b67ffffffffffffffff81111562000a0f5762000a0e62000779565b5b62000a1b8254620007d7565b62000a288282856200094d565b600060209050601f83116001811462000a60576000841562000a4b578287015190505b62000a578582620009ca565b86555062000ac7565b601f19841662000a70866200080c565b60005b8281101562000a9a5784890151825560018201915060208501945060208101905062000a73565b8683101562000aba578489015162000ab6601f891682620009aa565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000afc8262000acf565b9050919050565b62000b0e8162000aef565b82525050565b600060208201905062000b2b600083018462000b03565b92915050565b60006bffffffffffffffffffffffff82169050919050565b600062000b6a62000b6462000b5e8462000b31565b6200089e565b62000894565b9050919050565b62000b7c8162000b49565b82525050565b62000b8d8162000894565b82525050565b600060408201905062000baa600083018562000b71565b62000bb9602083018462000b82565b9392505050565b6133958062000bd06000396000f3fe6080604052600436106101fd5760003560e01c806370a082311161010d578063a22cb465116100a0578063e0df5b6f1161006f578063e0df5b6f146106da578063e985e9c514610703578063f2fde38b14610740578063f4a0a52814610769578063f881917c1461079257610204565b8063a22cb4651461062f578063ac88108014610658578063b88d4fde14610681578063c87b56dd1461069d57610204565b80638a4dcd85116100dc5780638a4dcd85146105995780638da5cb5b146105c257806395d89b41146105ed578063989bdbb61461061857610204565b806370a08231146104dd578063715018a61461051a5780638342083a146105315780638462151c1461055c57610204565b80632db11544116101905780636352211e1161015f5780636352211e146103f45780636817c76c1461043157806368fc68c71461045c57806369d2ceb1146104875780636c0360eb146104b257610204565b80632db115441461037a57806332cb6b0c146103965780633ccfd60b146103c157806342842e0e146103d857610204565b806318160ddd116101cc57806318160ddd146102ca57806323b872dd146102f557806324bbd049146103115780632a55205a1461033c57610204565b806301ffc9a71461020957806306fdde0314610246578063081812fc14610271578063095ea7b3146102ae57610204565b3661020457005b600080fd5b34801561021557600080fd5b50610230600480360381019061022b9190612225565b6107bd565b60405161023d919061226d565b60405180910390f35b34801561025257600080fd5b5061025b61085f565b6040516102689190612318565b60405180910390f35b34801561027d57600080fd5b5061029860048036038101906102939190612370565b6108f1565b6040516102a591906123de565b60405180910390f35b6102c860048036038101906102c39190612425565b61094f565b005b3480156102d657600080fd5b506102df61095f565b6040516102ec9190612474565b60405180910390f35b61030f600480360381019061030a919061248f565b6109ac565b005b34801561031d57600080fd5b50610326610c6d565b604051610333919061226d565b60405180910390f35b34801561034857600080fd5b50610363600480360381019061035e91906124e2565b610c80565b604051610371929190612522565b60405180910390f35b610394600480360381019061038f9190612370565b610db0565b005b3480156103a257600080fd5b506103ab610eb3565b6040516103b89190612474565b60405180910390f35b3480156103cd57600080fd5b506103d6610eb9565b005b6103f260048036038101906103ed919061248f565b610f11565b005b34801561040057600080fd5b5061041b60048036038101906104169190612370565b610f31565b60405161042891906123de565b60405180910390f35b34801561043d57600080fd5b50610446610f43565b6040516104539190612474565b60405180910390f35b34801561046857600080fd5b50610471610f49565b60405161047e9190612474565b60405180910390f35b34801561049357600080fd5b5061049c610f4e565b6040516104a9919061226d565b60405180910390f35b3480156104be57600080fd5b506104c7610f61565b6040516104d49190612318565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff919061254b565b610fef565b6040516105119190612474565b60405180910390f35b34801561052657600080fd5b5061052f611086565b005b34801561053d57600080fd5b5061054661109a565b6040516105539190612474565b60405180910390f35b34801561056857600080fd5b50610583600480360381019061057e919061254b565b6110ac565b6040516105909190612636565b60405180910390f35b3480156105a557600080fd5b506105c060048036038101906105bb9190612684565b6111ac565b005b3480156105ce57600080fd5b506105d76111d1565b6040516105e491906123de565b60405180910390f35b3480156105f957600080fd5b506106026111fb565b60405161060f9190612318565b60405180910390f35b34801561062457600080fd5b5061062d61128d565b005b34801561063b57600080fd5b50610656600480360381019061065191906126b1565b6112b2565b005b34801561066457600080fd5b5061067f600480360381019061067a919061254b565b6113bd565b005b61069b60048036038101906106969190612826565b6113ec565b005b3480156106a957600080fd5b506106c460048036038101906106bf9190612370565b61143e565b6040516106d19190612318565b60405180910390f35b3480156106e657600080fd5b5061070160048036038101906106fc919061294a565b6114ba565b005b34801561070f57600080fd5b5061072a60048036038101906107259190612993565b611525565b604051610737919061226d565b60405180910390f35b34801561074c57600080fd5b506107676004803603810190610762919061254b565b6115b9565b005b34801561077557600080fd5b50610790600480360381019061078b9190612370565b61163f565b005b34801561079e57600080fd5b506107a7611651565b6040516107b491906129fa565b60405180910390f35b60006380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108185750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108485750632a55205a60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061085857506108578261166f565b5b9050919050565b60606002805461086e90612a44565b80601f016020809104026020016040519081016040528092919081815260200182805461089a90612a44565b80156108e75780601f106108bc576101008083540402835291602001916108e7565b820191906000526020600020905b8154815290600101906020018083116108ca57829003601f168201915b5050505050905090565b60006108fc826116e9565b6109115761091063cf4700e460e01b611795565b5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61095b8282600161179f565b5050565b60006109696118ce565b600154600054030390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61099c6118d3565b146109a957600854810190505b90565b60006109b7826118fb565b905073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161693508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a2c57610a2b63a114810060e01b611795565b5b600080610a3884611a14565b91509150610a4e8187610a49611a3b565b611a43565b610a7957610a6386610a5e611a3b565b611525565b610a7857610a776359c896be60e01b611795565b5b5b610a868686866001611a87565b8015610a9157600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610b5f85610b3b888887611a8d565b7c020000000000000000000000000000000000000000000000000000000017611ab5565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841603610be55760006001850190506000600460008381526020019081526020016000205403610be3576000548114610be2578360046000838152602001908152602001600020819055505b5b505b600073ffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff161690508481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460008103610c5757610c5663ea553b3460e01b611795565b5b610c648787876001611ae0565b50505050505050565b600d600c9054906101000a900460ff1681565b6000806000600a6000868152602001908152602001600020905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008260000160149054906101000a90046bffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d6157600960000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150600960000160149054906101000a90046bffffffffffffffffffffffff1690505b6000610d6b611ae6565b6bffffffffffffffffffffffff16826bffffffffffffffffffffffff1688610d939190612aa4565b610d9d9190612b15565b9050828195509550505050509250929050565b600d600c9054906101000a900460ff16610dff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df690612b92565b60405180910390fd5b6103e881610e0b61095f565b610e159190612bb2565b1115610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d90612c32565b60405180910390fd5b80600c54610e649190612aa4565b341015610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9d90612c9e565b60405180910390fd5b610eb03382611af0565b50565b6103e881565b610ec1611c76565b610ec96111d1565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610f0e573d6000803e3d6000fd5b50565b610f2c838383604051806020016040528060008152506113ec565b505050565b6000610f3c826118fb565b9050919050565b600c5481565b601481565b600f60009054906101000a900460ff1681565b600e8054610f6e90612a44565b80601f0160208091040260200160405190810160405280929190818152602001828054610f9a90612a44565b8015610fe75780601f10610fbc57610100808354040283529160200191610fe7565b820191906000526020600020905b815481529060010190602001808311610fca57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361103557611034638f4eb60460e01b611795565b5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b61108e611c76565b6110986000611cfd565b565b60146103e86110a99190612cbe565b81565b606060006110b983610fef565b905060008167ffffffffffffffff8111156110d7576110d66126fb565b5b6040519080825280602002602001820160405280156111055781602001602082028036833780820191505090505b5090506000806111136118ce565b90505b61111e611dc3565b8110156111a0578573ffffffffffffffffffffffffffffffffffffffff1661114582610f31565b73ffffffffffffffffffffffffffffffffffffffff160361118d578083838061116d90612cf2565b9450815181106111805761117f612d3a565b5b6020026020010181815250505b808061119890612cf2565b915050611116565b50819350505050919050565b6111b4611c76565b80600d600c6101000a81548160ff02191690831515021790555050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606003805461120a90612a44565b80601f016020809104026020016040519081016040528092919081815260200182805461123690612a44565b80156112835780601f1061125857610100808354040283529160200191611283565b820191906000526020600020905b81548152906001019060200180831161126657829003601f168201915b5050505050905090565b611295611c76565b6001600f60006101000a81548160ff021916908315150217905550565b80600760006112bf611a3b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661136c611a3b565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516113b1919061226d565b60405180910390a35050565b6113c5611c76565b6113e981600d60009054906101000a90046bffffffffffffffffffffffff16611dcc565b50565b6113f78484846109ac565b60008373ffffffffffffffffffffffffffffffffffffffff163b146114385761142284848484611f6e565b6114375761143663d1a57ed660e01b611795565b5b5b50505050565b6060611449826116e9565b611488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147f90612db5565b60405180910390fd5b600e6114938361209d565b6040516020016114a4929190612ef5565b6040516020818303038152906040529050919050565b6114c2611c76565b600f60009054906101000a900460ff1615611512576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150990612f70565b60405180910390fd5b80600e90816115219190613127565b5050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115c1611c76565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116335760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161162a91906123de565b60405180910390fd5b61163c81611cfd565b50565b611647611c76565b80600c8190555050565b600d60009054906101000a90046bffffffffffffffffffffffff1681565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806116e257506116e1826120ed565b5b9050919050565b6000816116f46118ce565b1161178f576117016118d3565b82111561172b576117246004600084815260200190815260200160002054612157565b9050611790565b60005482101561178e5760005b60006004600085815260200190815260200160002054915081036117675782611760906131f9565b9250611738565b60007c01000000000000000000000000000000000000000000000000000000008216149150505b5b5b919050565b8060005260046000fd5b60006117aa83610f31565b90508180156117ec57508073ffffffffffffffffffffffffffffffffffffffff166117d3611a3b565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561181857611802816117fd611a3b565b611525565b6118175761181663cfb3b94260e01b611795565b5b5b836006600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b600090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000816119066118ce565b116119fe57600460008381526020019081526020016000205490506119296118d3565b82111561194e5761193981612157565b611a0f5761194d63df2d9b4260e01b611795565b5b600081036119d55760005482106119705761196f63df2d9b4260e01b611795565b5b5b600460008360019003935083815260200190815260200160002054905060008103156119d05760007c010000000000000000000000000000000000000000000000000000000082160315611a0f576119cf63df2d9b4260e01b611795565b5b611971565b60007c010000000000000000000000000000000000000000000000000000000082160315611a0f575b611a0e63df2d9b4260e01b611795565b5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611aa4868684612198565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000612710905090565b60008054905060008203611b0f57611b0e63b562e8dd60e01b611795565b5b611b1c6000848385611a87565b611b3c83611b2d6000866000611a8d565b611b36856121a1565b17611ab5565b6004600083815260200190815260200160002081905550600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff1616905060008103611bf457611bf3632e07630060e01b611795565b5b600083830190506000839050611c086118d3565b600183031115611c2357611c226381647e3a60e01b611795565b5b5b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4818160010191508103611c245781600081905550505050611c716000848385611ae0565b505050565b611c7e6121b1565b73ffffffffffffffffffffffffffffffffffffffff16611c9c6111d1565b73ffffffffffffffffffffffffffffffffffffffff1614611cfb57611cbf6121b1565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611cf291906123de565b60405180910390fd5b565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008054905090565b6000611dd6611ae6565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115611e3b5781816040517f6f483d09000000000000000000000000000000000000000000000000000000008152600401611e32929190613253565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ead5760006040517fb6d9900a000000000000000000000000000000000000000000000000000000008152600401611ea491906123de565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff16815250600960008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611f94611a3b565b8786866040518563ffffffff1660e01b8152600401611fb694939291906132d1565b6020604051808303816000875af1925050508015611ff257506040513d601f19601f82011682018060405250810190611fef9190613332565b60015b61204a573d8060008114612022576040519150601f19603f3d011682016040523d82523d6000602084013e612027565b606091505b5060008151036120425761204163d1a57ed660e01b611795565b5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b606060a060405101806040526020810391506000825281835b6001156120d857600184039350600a81066030018453600a81049050806120b6575b50828103602084039350808452505050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60007c0100000000000000000000000000000000000000000000000000000000821673ffffffffffffffffffffffffffffffffffffffff8316119050919050565b60009392505050565b60006001821460e11b9050919050565b600033905090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612202816121cd565b811461220d57600080fd5b50565b60008135905061221f816121f9565b92915050565b60006020828403121561223b5761223a6121c3565b5b600061224984828501612210565b91505092915050565b60008115159050919050565b61226781612252565b82525050565b6000602082019050612282600083018461225e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122c25780820151818401526020810190506122a7565b60008484015250505050565b6000601f19601f8301169050919050565b60006122ea82612288565b6122f48185612293565b93506123048185602086016122a4565b61230d816122ce565b840191505092915050565b6000602082019050818103600083015261233281846122df565b905092915050565b6000819050919050565b61234d8161233a565b811461235857600080fd5b50565b60008135905061236a81612344565b92915050565b600060208284031215612386576123856121c3565b5b60006123948482850161235b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123c88261239d565b9050919050565b6123d8816123bd565b82525050565b60006020820190506123f360008301846123cf565b92915050565b612402816123bd565b811461240d57600080fd5b50565b60008135905061241f816123f9565b92915050565b6000806040838503121561243c5761243b6121c3565b5b600061244a85828601612410565b925050602061245b8582860161235b565b9150509250929050565b61246e8161233a565b82525050565b60006020820190506124896000830184612465565b92915050565b6000806000606084860312156124a8576124a76121c3565b5b60006124b686828701612410565b93505060206124c786828701612410565b92505060406124d88682870161235b565b9150509250925092565b600080604083850312156124f9576124f86121c3565b5b60006125078582860161235b565b92505060206125188582860161235b565b9150509250929050565b600060408201905061253760008301856123cf565b6125446020830184612465565b9392505050565b600060208284031215612561576125606121c3565b5b600061256f84828501612410565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6125ad8161233a565b82525050565b60006125bf83836125a4565b60208301905092915050565b6000602082019050919050565b60006125e382612578565b6125ed8185612583565b93506125f883612594565b8060005b8381101561262957815161261088826125b3565b975061261b836125cb565b9250506001810190506125fc565b5085935050505092915050565b6000602082019050818103600083015261265081846125d8565b905092915050565b61266181612252565b811461266c57600080fd5b50565b60008135905061267e81612658565b92915050565b60006020828403121561269a576126996121c3565b5b60006126a88482850161266f565b91505092915050565b600080604083850312156126c8576126c76121c3565b5b60006126d685828601612410565b92505060206126e78582860161266f565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612733826122ce565b810181811067ffffffffffffffff82111715612752576127516126fb565b5b80604052505050565b60006127656121b9565b9050612771828261272a565b919050565b600067ffffffffffffffff821115612791576127906126fb565b5b61279a826122ce565b9050602081019050919050565b82818337600083830152505050565b60006127c96127c484612776565b61275b565b9050828152602081018484840111156127e5576127e46126f6565b5b6127f08482856127a7565b509392505050565b600082601f83011261280d5761280c6126f1565b5b813561281d8482602086016127b6565b91505092915050565b600080600080608085870312156128405761283f6121c3565b5b600061284e87828801612410565b945050602061285f87828801612410565b93505060406128708782880161235b565b925050606085013567ffffffffffffffff811115612891576128906121c8565b5b61289d878288016127f8565b91505092959194509250565b600067ffffffffffffffff8211156128c4576128c36126fb565b5b6128cd826122ce565b9050602081019050919050565b60006128ed6128e8846128a9565b61275b565b905082815260208101848484011115612909576129086126f6565b5b6129148482856127a7565b509392505050565b600082601f830112612931576129306126f1565b5b81356129418482602086016128da565b91505092915050565b6000602082840312156129605761295f6121c3565b5b600082013567ffffffffffffffff81111561297e5761297d6121c8565b5b61298a8482850161291c565b91505092915050565b600080604083850312156129aa576129a96121c3565b5b60006129b885828601612410565b92505060206129c985828601612410565b9150509250929050565b60006bffffffffffffffffffffffff82169050919050565b6129f4816129d3565b82525050565b6000602082019050612a0f60008301846129eb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a5c57607f821691505b602082108103612a6f57612a6e612a15565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612aaf8261233a565b9150612aba8361233a565b9250828202612ac88161233a565b91508282048414831517612adf57612ade612a75565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b208261233a565b9150612b2b8361233a565b925082612b3b57612b3a612ae6565b5b828204905092915050565b7f4d696e74696e67206e6f74206163746976650000000000000000000000000000600082015250565b6000612b7c601283612293565b9150612b8782612b46565b602082019050919050565b60006020820190508181036000830152612bab81612b6f565b9050919050565b6000612bbd8261233a565b9150612bc88361233a565b9250828201905080821115612be057612bdf612a75565b5b92915050565b7f45786365656473206d617820737570706c790000000000000000000000000000600082015250565b6000612c1c601283612293565b9150612c2782612be6565b602082019050919050565b60006020820190508181036000830152612c4b81612c0f565b9050919050565b7f496e73756666696369656e74207061796d656e74000000000000000000000000600082015250565b6000612c88601483612293565b9150612c9382612c52565b602082019050919050565b60006020820190508181036000830152612cb781612c7b565b9050919050565b6000612cc98261233a565b9150612cd48361233a565b9250828203905081811115612cec57612ceb612a75565b5b92915050565b6000612cfd8261233a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d2f57612d2e612a75565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f546f6b656e20646f6573206e6f74206578697374000000000000000000000000600082015250565b6000612d9f601483612293565b9150612daa82612d69565b602082019050919050565b60006020820190508181036000830152612dce81612d92565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154612e0281612a44565b612e0c8186612dd5565b94506001821660008114612e275760018114612e3c57612e6f565b60ff1983168652811515820286019350612e6f565b612e4585612de0565b60005b83811015612e6757815481890152600182019150602081019050612e48565b838801955050505b50505092915050565b6000612e8382612288565b612e8d8185612dd5565b9350612e9d8185602086016122a4565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000612edf600583612dd5565b9150612eea82612ea9565b600582019050919050565b6000612f018285612df5565b9150612f0d8284612e78565b9150612f1882612ed2565b91508190509392505050565b7f4d65746164617461206c6f636b65640000000000000000000000000000000000600082015250565b6000612f5a600f83612293565b9150612f6582612f24565b602082019050919050565b60006020820190508181036000830152612f8981612f4d565b9050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612fdd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612fa0565b612fe78683612fa0565b95508019841693508086168417925050509392505050565b6000819050919050565b600061302461301f61301a8461233a565b612fff565b61233a565b9050919050565b6000819050919050565b61303e83613009565b61305261304a8261302b565b848454612fad565b825550505050565b600090565b61306761305a565b613072818484613035565b505050565b5b818110156130965761308b60008261305f565b600181019050613078565b5050565b601f8211156130db576130ac81612de0565b6130b584612f90565b810160208510156130c4578190505b6130d86130d085612f90565b830182613077565b50505b505050565b600082821c905092915050565b60006130fe600019846008026130e0565b1980831691505092915050565b600061311783836130ed565b9150826002028217905092915050565b61313082612288565b67ffffffffffffffff811115613149576131486126fb565b5b6131538254612a44565b61315e82828561309a565b600060209050601f831160018114613191576000841561317f578287015190505b613189858261310b565b8655506131f1565b601f19841661319f86612de0565b60005b828110156131c7578489015182556001820191506020850194506020810190506131a2565b868310156131e457848901516131e0601f8916826130ed565b8355505b6001600288020188555050505b505050505050565b60006132048261233a565b91506000820361321757613216612a75565b5b600182039050919050565b600061323d613238613233846129d3565b612fff565b61233a565b9050919050565b61324d81613222565b82525050565b60006040820190506132686000830185613244565b6132756020830184612465565b9392505050565b600081519050919050565b600082825260208201905092915050565b60006132a38261327c565b6132ad8185613287565b93506132bd8185602086016122a4565b6132c6816122ce565b840191505092915050565b60006080820190506132e660008301876123cf565b6132f360208301866123cf565b6133006040830185612465565b81810360608301526133128184613298565b905095945050505050565b60008151905061332c816121f9565b92915050565b600060208284031215613348576133476121c3565b5b60006133568482850161331d565b9150509291505056fea2646970667358221220e60f564afe81d08de086c5b14a23e698a0e1e6931af76e7f8bb563746af00eaf64736f6c63430008140033697066733a2f2f62616679626569633273697568787a72636e34786969653433647877366f766e76697832696d6d6f72716b667a6f36777a743561796d7961757a792f