0 txs
0 calls
constructor
constructor(address mamomeAddress)
functions
addressToImage
viewfunction addressToImage(address minter) view returns (string)
addressToPoints
purefunction addressToPoints(address addr) pure returns (tuple[20] ret)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
contractDescription
viewfunction contractDescription() view returns (string)
contractExternalURI
viewfunction contractExternalURI() view returns (bytes)
contractSealed
viewfunction contractSealed() view returns (bool)
contractURI
viewfunction contractURI() view returns (string)
costPerToken
viewfunction costPerToken() view returns (uint256)
exists
viewfunction exists(uint256 tokenId) view returns (bool)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getMinter
viewfunction getMinter(uint256 tokenId) view returns (address candidate)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
MaMoMeContract
viewfunction MaMoMeContract() view returns (address)
maxMintsPerTx
viewfunction maxMintsPerTx() view returns (uint256)
mintBatchSize
viewfunction mintBatchSize() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) 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)
tokenDescription
viewfunction tokenDescription() view returns (string)
tokenImage
viewfunction tokenImage(uint256 tokenId) view returns (string)
tokenURI
viewfunction tokenURI(uint256 id) view returns (string)
totalMintCost
purefunction totalMintCost(uint256 numTokens) pure returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
airdrop
payablefunction airdrop(address toAddress, uint256 numTokens) payable
approve
nonpayablefunction approve(address to, uint256 tokenId)
mint
payablefunction mint(uint256 numTokens) payable
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
sealContract
nonpayablefunction sealContract()
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setSVGRects
nonpayablefunction setSVGRects(string rects)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
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()
ApproveToCaller
error ApproveToCaller()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
InvalidCodeAtRange
error InvalidCodeAtRange(uint256 _size, uint256 _start, uint256 _end)
MintERC2309QuantityExceedsLimit
error MintERC2309QuantityExceedsLimit()
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
OwnershipNotInitializedForExtraData
error OwnershipNotInitializedForExtraData()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
URIQueryForNonexistentToken
error URIQueryForNonexistentToken()
WriteError
error WriteError()
creation bytecode
0x60a06040523480156200001157600080fd5b50604051620043a7380380620043a783398101604081905262000034916200036c565b6040518060400160405280600781526020016656616e6974617360c81b81525060405180604001604052806002815260200161564160f01b81525062000089620000836200017160201b60201c565b62000175565b6003620000978382620004ac565b506004620000a68282620004ac565b50600060015550506001600160a01b03811660809081526040805160a081018252601260608201818152711e3ab9b290343932b31e9111b8181110179f60711b9483019490945292815281518083018352838152711e3ab9b290343932b31e9111b8189110179f60711b6020828101919091528083019190915282518084018452938452711e3ab9b290343932b31e9111b8191110179f60711b90840152908101919091526200015b90600c9060036200025e565b506200016a306103e8620001c5565b5062000607565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6127106001600160601b0382161115620001fc5760405162461bcd60e51b8152600401620001f3906200057c565b60405180910390fd5b6001600160a01b038216620002255760405162461bcd60e51b8152600401620001f390620005cb565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600955565b828054828255906000526020600020908101928215620002a9579160200282015b82811115620002a95782518290620002989082620004ac565b50916020019190600101906200027f565b50620002b7929150620002bb565b5090565b80821115620002b7576000620002d28282620002dc565b50600101620002bb565b508054620002ea90620003c5565b6000825580601f10620002fb575050565b601f0160209004906000526020600020908101906200031b91906200031e565b50565b5b80821115620002b757600081556001016200031f565b60006001600160a01b0382165b92915050565b620003538162000335565b81146200031b57600080fd5b8051620003428162000348565b600060208284031215620003835762000383600080fd5b60006200039184846200035f565b949350505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052602260045260246000fd5b600281046001821680620003da57607f821691505b602082108103620003ef57620003ef620003af565b50919050565b600062000342620004038381565b90565b6200041183620003f5565b81546008840282811b60001990911b908116901990911617825550505050565b60006200044081848462000406565b505050565b8181101562000464576200045b60008262000431565b60010162000445565b5050565b601f82111562000440576000818152602090206020601f85010481016020851015620004915750805b620004a56020601f86010483018262000445565b5050505050565b81516001600160401b03811115620004c857620004c862000399565b620004d48254620003c5565b620004e182828562000468565b6020601f831160018114620005185760008415620004ff5750858201515b600019600886021c198116600286021786555062000574565b600085815260208120601f198616915b828110156200054a578885015182556020948501946001909201910162000528565b86831015620005675784890151600019601f89166008021c191682555b6001600288020188555050505b505050505050565b602080825281016200034281602a81527f455243323938313a20726f79616c7479206665652077696c6c206578636565646020820152692073616c65507269636560b01b604082015260600190565b602080825281016200034281601981527f455243323938313a20696e76616c696420726563656976657200000000000000602082015260400190565b608051613d6f62000638600039600081816102e201528181610cb801528181610fb801526117c90152613d6f6000f3fe6080604052600436106102285760003560e01c806368bd580e11610123578063b6501637116100ab578063d65bc71f1161006f578063d65bc71f14610636578063dc30158b1461064b578063e8a3d48514610661578063e985e9c514610676578063f2fde38b146106965761022f565b8063b65016371461059c578063b88d4fde146105b6578063c723aec7146105d6578063c87b56dd146105f6578063cf348425146106165761022f565b80638ba4cc3c116100f25780638ba4cc3c146105235780638da5cb5b1461053657806395d89b4114610554578063a0712d6814610569578063a22cb4651461057c5761022f565b806368bd580e146104d957806370a08231146104ee578063715018a61461050e578063872db889146103c65761022f565b806323b872dd116101b157806342842e0e1161017557806342842e0e146104395780634f558e79146104595780635b7121f8146104795780636205127e146104995780636352211e146104b95761022f565b806323b872dd146103a657806325e6f516146103c65780632a55205a146103db5780633ba523c7146104095780633ccfd60b146104245761022f565b806307b759d8116101f857806307b759d8146102d0578063081812fc14610311578063095ea7b31461033e578063131b745e1461036057806318160ddd1461038d5761022f565b806270cb321461023657806301ffc9a71461026c57806304b6d7ce1461029957806306fdde03146102ae5761022f565b3661022f57005b6060516080f35b34801561024257600080fd5b50610256610251366004612511565b6106b6565b604051610263919061253a565b60405180910390f35b34801561027857600080fd5b5061028c610287366004612563565b6106cf565b604051610263919061258c565b3480156102a557600080fd5b50610256601e81565b3480156102ba57600080fd5b506102c36106e9565b60405161026391906125f8565b3480156102dc57600080fd5b506103047f000000000000000000000000000000000000000000000000000000000000000081565b6040516102639190612639565b34801561031d57600080fd5b5061033161032c366004612511565b61077b565b6040516102639190612650565b34801561034a57600080fd5b5061035e610359366004612672565b6107bf565b005b34801561036c57600080fd5b5061038061037b3660046126af565b61085f565b604051610263919061273e565b34801561039957600080fd5b5060025460015403610256565b3480156103b257600080fd5b5061035e6103c136600461274d565b61091f565b3480156103d257600080fd5b506102c3610ab8565b3480156103e757600080fd5b506103fb6103f636600461279d565b610ad7565b6040516102639291906127bf565b34801561041557600080fd5b50610256662386f26fc1000081565b34801561043057600080fd5b5061035e610b83565b34801561044557600080fd5b5061035e61045436600461274d565b610c05565b34801561046557600080fd5b5061028c610474366004612511565b610c25565b34801561048557600080fd5b50610331610494366004612511565b610c30565b3480156104a557600080fd5b506102c36104b43660046126af565b610cb2565b3480156104c557600080fd5b506103316104d4366004612511565b610d6a565b3480156104e557600080fd5b5061035e610d75565b3480156104fa57600080fd5b506102566105093660046126af565b610daf565b34801561051a57600080fd5b5061035e610dfd565b61035e610531366004612672565b610e11565b34801561054257600080fd5b506000546001600160a01b0316610331565b34801561056057600080fd5b506102c3610e1b565b61035e610577366004612511565b610e2a565b34801561058857600080fd5b5061035e6105973660046127ed565b610e37565b3480156105a857600080fd5b50600e5461028c9060ff1681565b3480156105c257600080fd5b5061035e6105d1366004612914565b610ecf565b3480156105e257600080fd5b5061035e6105f1366004612992565b610f19565b34801561060257600080fd5b506102c3610611366004612511565b610f70565b34801561062257600080fd5b506102c3610631366004612511565b610fa0565b34801561064257600080fd5b506102c3611075565b34801561065757600080fd5b506102566103e881565b34801561066d57600080fd5b506102c3611091565b34801561068257600080fd5b5061028c6106913660046129cc565b611140565b3480156106a257600080fd5b5061035e6106b13660046126af565b61116e565b60006106c9662386f26fc1000083612a15565b92915050565b60006106da826111a5565b806106c957506106c9826111f3565b6060600380546106f890612a4a565b80601f016020809104026020016040519081016040528092919081815260200182805461072490612a4a565b80156107715780601f1061074657610100808354040283529160200191610771565b820191906000526020600020905b81548152906001019060200180831161075457829003601f168201915b5050505050905090565b600061078682611228565b6107a3576040516333d1c03960e21b815260040160405180910390fd5b506000908152600760205260409020546001600160a01b031690565b60006107ca82610d6a565b9050336001600160a01b03821614610803576107e68133611140565b610803576040516367d9dca160e11b815260040160405180910390fd5b60008281526007602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6108676124bf565b60008260405160200161087a9190612a98565b604051602081830303815290604052905060005b60148110156109185760008282815181106108ab576108ab612aad565b016020015160f81c9050600381900b60041d8483601481106108cf576108cf612aad565b602002015160039190910b9052600f81168483601481106108f2576108f2612aad565b6020908102919091015160039290920b910152508061091081612ac3565b91505061088e565b5050919050565b600061092a82611250565b9050836001600160a01b0316816001600160a01b03161461095d5760405162a1148160e81b815260040160405180910390fd5b60008281526007602052604090208054338082146001600160a01b038816909114176109aa5761098d8633611140565b6109aa57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166109d157604051633a954ecd60e21b815260040160405180910390fd5b80156109dc57600082555b6001600160a01b038681166000908152600660205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260056020526040812091909155600160e11b84169003610a6e57600184016000818152600560205260408120549003610a6c576001548114610a6c5760008181526005602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b6040518061032001604052806102f18152602001613a496102f1913981565b6000828152600a602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610b4c5750604080518082019091526009546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610b6b906001600160601b031687612a15565b610b759190612af3565b915196919550909350505050565b60004711610bac5760405162461bcd60e51b8152600401610ba390612b34565b60405180910390fd5b476000610bba600283612af3565b9050610bda73c2172a6315c1d7f6855768f843c420ebb36eda97826112be565b610c0173f98537696e2cf486f8f32604b2ca2cda120dbba8610bfc8385612b44565b6112be565b5050565b610c2083838360405180602001604052806000815250610ecf565b505050565b60006106c982611228565b6000610c3b82611228565b610c575760405162461bcd60e51b8152600401610ba390612b86565b506000818152600d60205260409020546001600160a01b0316815b6001600160a01b038216610cac57610c8b600182612b44565b6000818152600d60205260409020546001600160a01b031692509050610c72565b50919050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166357872769846040518263ffffffff1660e01b8152600401610d029190612650565b600060405180830381865afa158015610d1f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d479190810190612d37565b5090506000610d558461085f565b9050610d6282858361135a565b949350505050565b60006106c982611250565b610d7d611a55565b600e5460ff1615610da05760405162461bcd60e51b8152600401610ba390612dc4565b600e805460ff19166001179055565b60006001600160a01b038216610dd8576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600660205260409020546001600160401b031690565b610e05611a55565b610e0f6000611a7f565b565b610c018282611acf565b6060600480546106f890612a4a565b610e343382611acf565b50565b336001600160a01b03831603610e605760405163b06307db60e01b815260040160405180910390fd5b3360008181526008602090815260408083206001600160a01b038716808552925291829020805460ff191685151517905590519091907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190610ec390859061258c565b60405180910390a35050565b610eda84848461091f565b6001600160a01b0383163b15610f1357610ef684848484611bee565b610f13576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b610f21611a55565b600e5460ff1615610f445760405162461bcd60e51b8152600401610ba390612dc4565b610f4d81611cd9565b600b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060610f7b82611228565b610f975760405162461bcd60e51b8152600401610ba390612b86565b6106c982611d38565b6060610fab82611228565b610fb457600080fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166357872769610fee85610c30565b6040518263ffffffff1660e01b815260040161100a9190612650565b600060405180830381865afa158015611027573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261104f9190810190612d37565b509050600061106061037b85610c30565b9050610d628261106f86610c30565b8361135a565b6040518060600160405280602981526020016139e06029913981565b606060006110b273376aa0a284829bbb7a77a0d8a7afc6ccc6535159610cb2565b905061111b6040518061032001604052806102f18152602001613a496102f191396110dc83611e0e565b6040518060600160405280602981526020016139e06029913960405160200161110793929190612e2e565b604051602081830303815290604052611e0e565b60405160200161112b9190612ecc565b60405160208183030381529060405291505090565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b611176611a55565b6001600160a01b03811661119c5760405162461bcd60e51b8152600401610ba390612f48565b610e3481611a7f565b60006301ffc9a760e01b6001600160e01b0319831614806111d657506380ac58cd60e01b6001600160e01b03198316145b806106c95750506001600160e01b031916635b5e139f60e01b1490565b60006001600160e01b0319821663152a902d60e11b14806106c957506301ffc9a760e01b6001600160e01b03198316146106c9565b6000600154821080156106c9575050600090815260056020526040902054600160e01b161590565b6000816001548110156112a55760008181526005602052604081205490600160e01b821690036112a3575b8060000361129c57506000190160008181526005602052604090205461127b565b9392505050565b505b604051636f96cda160e11b815260040160405180910390fd5b804710156112de5760405162461bcd60e51b8152600401610ba390612f8c565b6000826001600160a01b0316826040516112f790612f9c565b60006040518083038185875af1925050503d8060008114611334576040519150601f19603f3d011682016040523d82523d6000602084013e611339565b606091505b5050905080610c205760405162461bcd60e51b8152600401610ba390612ffe565b60408051620320608101909152620320408152600060209091018181526060915061139e6040518060c001604052806095815260200161394b609591398290611f72565b6114a7856004815181106113b4576113b4612aad565b6020026020010151866001815181106113cf576113cf612aad565b6020026020010151876000815181106113ea576113ea612aad565b60200260200101518860058151811061140557611405612aad565b60200260200101518960068151811061142057611420612aad565b60200260200101518a60028151811061143b5761143b612aad565b60200260200101518b60068151811061145657611456612aad565b60200260200101518c60038151811061147157611471612aad565b60200260200101516040516020016114909897969594939291906130c9565b60408051601f198184030181529190528290611f72565b82518051600191906114ba9083906131a5565b60030b90525082516020018051600b91906114d69083906131a5565b60030b9052506009836001602002015180516114f39083906131a5565b60030b9052506004836001602002015160200181815161151391906131a5565b60030b905250600e836002602002015180516115309083906131a5565b60030b905250600d836002602002015160200181815161155091906131a5565b600390810b909152604080518281526080810190915260009250906020820160608036833701905050905060008160008151811061159057611590612aad565b602002602001019062ffffff16908162ffffff16815250506001816001815181106115bd576115bd612aad565b602002602001019062ffffff16908162ffffff16815250506002816002815181106115ea576115ea612aad565b62ffffff929092166020928302919091018201526040805160038082526080820190925260009290919082016060803683370190505085516020015190915061163490600b6131f7565b61163f9060186131f7565b8160008151811061165257611652612aad565b62ffffff929092166020928302919091018201528581015101516116779060046131f7565b6116829060186131f7565b8160018151811061169557611695612aad565b62ffffff92909216602092830291909101820152604086015101516116bb90600d6131f7565b6116c69060186131f7565b816002815181106116d9576116d9612aad565b602002602001019062ffffff16908162ffffff16815250506117598260008151811061170757611707612aad565b602002602001015162ffffff168360018151811061172757611727612aad565b602002602001015162ffffff168460028151811061174757611747612aad565b602002602001015162ffffff16611fb7565b6117af8160008151811061176f5761176f612aad565b602002602001015162ffffff168260018151811061178f5761178f612aad565b602002602001015162ffffff168360028151811061174757611747612aad565b6040516303a9fdf360e31b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631d4fef989061180090869086906004016132b6565b600060405180830381865afa15801561181d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261184591908101906132db565b5090506118d06118608760005b60200201515160030b611ffe565b6118788860005b60200201516020015160030b611ffe565b611883896001611852565b61188e8a6001611867565b6118998b6002611852565b6118a48c6002611867565b6040516020016118b996959493929190613380565b60408051601f198184030181529190528590611f72565b6040805180820190915260088152671e17b9ba3cb6329f60c11b60208201526118fa908590611f72565b600b5461191a90611913906001600160a01b031661204d565b8590611f72565b6119f1600c8260008151811061193257611932612aad565b602002602001015162ffffff168154811061194f5761194f612aad565b90600052602060002001805461196490612a4a565b80601f016020809104026020016040519081016040528092919081815260200182805461199090612a4a565b80156119dd5780601f106119b2576101008083540402835291602001916119dd565b820191906000526020600020905b8154815290600101906020018083116119c057829003601f168201915b505050505085611f7290919063ffffffff16565b611a09600c8260018151811061193257611932612aad565b611a21600c8260028151811061193257611932612aad565b6040805180820190915260068152651e17b9bb339f60d11b6020820152611a49908590611f72565b50919695505050505050565b6000546001600160a01b03163314610e0f5760405162461bcd60e51b8152600401610ba390613470565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008111611aef5760405162461bcd60e51b8152600401610ba3906134a8565b6103e8811115611b115760405162461bcd60e51b8152600401610ba3906134fc565b611b1a816106b6565b3414611b385760405162461bcd60e51b8152600401610ba390613535565b333214611b575760405162461bcd60e51b8152600401610ba390613571565b6000611b64601e83612af3565b90506000611b73601e84613581565b905033600d6000611b8360015490565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060005b82811015611bdd57611bcb85601e61205d565b80611bd581612ac3565b915050611bb8565b508015610f1357610f13848261205d565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611c23903390899088908890600401613595565b6020604051808303816000875af1925050508015611c5e575060408051601f3d908101601f19168201909252611c5b918101906135e4565b60015b611cbc573d808015611c8c576040519150601f19603f3d011682016040523d82523d6000602084013e611c91565b606091505b508051600003611cb4576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b600080611d0483604051602001611cf0919061360f565b60405160208183030381529060405261213d565b90508051602082016000f091506001600160a01b038216610cac5760405163046a55db60e11b815260040160405180910390fd5b60606000611d4583610fa0565b90506000611d5284610c30565b90506000611d5f85612153565b604051602001611d6f919061361a565b60408051601f1981840301815261032083019091526102f1808352909250611de5918391613a496020830139611da486611e0e565b6040518060600160405280602981526020016139e060299139611dd16001600160a01b0388166014612253565b6040516020016111079594939291906136ac565b604051602001611df59190612ecc565b6040516020818303038152906040529350505050919050565b60608151600003611e2d57505060408051602081019091526000815290565b6000604051806060016040528060408152602001613a096040913990506000600384516002611e5c91906137cb565b611e669190612af3565b611e71906004612a15565b90506000611e808260206137cb565b6001600160401b03811115611e9757611e97612820565b6040519080825280601f01601f191660200182016040528015611ec1576020820181803683370190505b509050818152600183018586518101602084015b81831015611f2d576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f8116850151825350600101611ed5565b600389510660018114611f475760028114611f5857611f64565b613d3d60f01b600119830152611f64565b603d60f81b6000198301525b509398975050505050505050565b601f1982015182518251603f19909201918290611f8f90836137cb565b1115611fad5760405162461bcd60e51b8152600401610ba390613822565b610f1384846123be565b610c20838383604051602401611fcf93929190613832565b60408051601f198184030181529190526020810180516001600160e01b03166339e0829d60e21b1790526123f4565b606060008212612011576106c982612153565b61202261201d8361385a565b612153565b6040516020016120329190613884565b6040516020818303038152906040529050919050565b919050565b60606106c9826001600019612415565b6001546001600160a01b03831661208657604051622e076360e81b815260040160405180910390fd5b816000036120a75760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020526040902080546801000000000000000185020190554260a01b6001841460e11b1717600082815260056020526040902055808281015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a48082106120f15760015550505050565b60608151826040516020016120329291906138b8565b60608160000361217a5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156121a4578061218e81612ac3565b915061219d9050600a83612af3565b915061217e565b6000816001600160401b038111156121be576121be612820565b6040519080825280601f01601f1916602001820160405280156121e8576020820181803683370190505b5090505b8415610d62576121fd600183612b44565b915061220a600a86613581565b6122159060306137cb565b60f81b81838151811061222a5761222a612aad565b60200101906001600160f81b031916908160001a90535061224c600a86612af3565b94506121ec565b60606000612262836002612a15565b61226d9060026137cb565b6001600160401b0381111561228457612284612820565b6040519080825280601f01601f1916602001820160405280156122ae576020820181803683370190505b509050600360fc1b816000815181106122c9576122c9612aad565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106122f8576122f8612aad565b60200101906001600160f81b031916908160001a905350600061231c846002612a15565b6123279060016137cb565b90505b600181111561239f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061235b5761235b612aad565b1a60f81b82828151811061237157612371612aad565b60200101906001600160f81b031916908160001a90535060049490941c93612398816138f1565b905061232a565b50831561129c5760405162461bcd60e51b8152600401610ba39061393a565b8051602082019150808201602084510184015b818410156123e95783518152602093840193016123d1565b505082510190915250565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b6060833b600081900361243857505060408051602081019091526000815261129c565b8084111561245657505060408051602081019091526000815261129c565b8383101561247d5780848460405163162544fd60e11b8152600401610ba393929190613832565b83830384820360008282106124925782612494565b815b60408051603f8301601f19168101909152818152955090508087602087018a3c505050509392505050565b6040518061028001604052806014905b60408051808201909152600080825260208201528152602001906001900390816124cf5790505090565b805b8114610e3457600080fd5b80356106c9816124f9565b60006020828403121561252657612526600080fd5b6000610d628484612506565b805b82525050565b602081016106c98284612532565b6001600160e01b031981166124fb565b80356106c981612548565b60006020828403121561257857612578600080fd5b6000610d628484612558565b801515612534565b602081016106c98284612584565b60005b838110156125b557818101518382015260200161259d565b83811115610f135750506000910152565b60006125d0825190565b8084526020840193506125e781856020860161259a565b601f01601f19169290920192915050565b6020808252810161129c81846125c6565b60006001600160a01b0382166106c9565b60006106c982612609565b60006106c98261261a565b61253481612625565b602081016106c98284612630565b61253481612609565b602081016106c98284612647565b6124fb81612609565b80356106c98161265e565b6000806040838503121561268857612688600080fd5b60006126948585612667565b92505060206126a585828601612506565b9150509250929050565b6000602082840312156126c4576126c4600080fd5b6000610d628484612667565b6125348160030b90565b805160408301906126eb84826126d0565b506020820151610f1360208501826126d0565b600061270a83836126da565b505060400190565b6014818060005b83811015610ab057815161272d87826126fe565b965060208301925050600101612719565b61050081016106c98284612712565b60008060006060848603121561276557612765600080fd5b60006127718686612667565b935050602061278286828701612667565b925050604061279386828701612506565b9150509250925092565b600080604083850312156127b3576127b3600080fd5b60006126948585612506565b604081016127cd8285612647565b61129c6020830184612532565b8015156124fb565b80356106c9816127da565b6000806040838503121561280357612803600080fd5b600061280f8585612667565b92505060206126a5858286016127e2565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171561285b5761285b612820565b6040525050565b600061286d60405190565b90506120488282612836565b60006001600160401b0382111561289257612892612820565b601f19601f83011660200192915050565b82818337506000910152565b60006128c26128bd84612879565b612862565b9050828152602081018484840111156128dd576128dd600080fd5b6128e88482856128a3565b509392505050565b600082601f83011261290457612904600080fd5b8135610d628482602086016128af565b6000806000806080858703121561292d5761292d600080fd5b60006129398787612667565b945050602061294a87828801612667565b935050604061295b87828801612506565b92505060608501356001600160401b0381111561297a5761297a600080fd5b612986878288016128f0565b91505092959194509250565b6000602082840312156129a7576129a7600080fd5b81356001600160401b038111156129c0576129c0600080fd5b610d62848285016128f0565b600080604083850312156129e2576129e2600080fd5b60006129ee8585612667565b92505060206126a585828601612667565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612a2f57612a2f6129ff565b500290565b634e487b7160e01b600052602260045260246000fd5b600281046001821680612a5e57607f821691505b602082108103610cac57610cac612a34565b60006106c98260601b90565b60006106c982612a70565b612534612a9382612609565b612a7c565b6000612aa48284612a87565b50601401919050565b634e487b7160e01b600052603260045260246000fd5b60006000198203612ad657612ad66129ff565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082612b0257612b02612add565b500490565b60138152600060208201724e6f7468696e6720746f20776974686472617760681b815291505b5060200190565b602080825281016106c981612b07565b600082821015612b5657612b566129ff565b500390565b6014815260006020820173151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b81529150612b2d565b602080825281016106c981612b5b565b60006001600160401b03821115612baf57612baf612820565b5060209081020190565b6000612bc76128bd84612879565b905082815260208101848484011115612be257612be2600080fd5b6128e884828561259a565b600082601f830112612c0157612c01600080fd5b8151610d62848260208601612bb9565b6000612c1f6128bd84612b96565b83815290506020808201908402830185811115612c3e57612c3e600080fd5b835b81811015612c7e5780516001600160401b03811115612c6157612c61600080fd5b808601612c6e8982612bed565b8552505060209283019201612c40565b5050509392505050565b600082601f830112612c9c57612c9c600080fd5b8151610d62848260208601612c11565b62ffffff81166124fb565b80516106c981612cac565b6000612cd06128bd84612b96565b83815290506020808201908402830185811115612cef57612cef600080fd5b835b81811015612c7e5780612d048882612cb7565b84525060209283019201612cf1565b600082601f830112612d2757612d27600080fd5b8151610d62848260208601612cc2565b60008060408385031215612d4d57612d4d600080fd5b82516001600160401b03811115612d6657612d66600080fd5b612d7285828601612c88565b92505060208301516001600160401b03811115612d9157612d91600080fd5b6126a585828601612d13565b601081526000602082016f21b7b73a3930b1ba1039b2b0b632b21760811b81529150612b2d565b602080825281016106c981612d9d565b607b60f81b81526000612ad6565b7f226e616d65223a2256616e69746173222c226465736372697074696f6e223a2281526000612b2d565b6000612e16825190565b612e2481856020860161259a565b9290920192915050565b6000612e3982612dd4565b9150612e4482612de2565b9150612e508286612e0c565b7f222c22696d616765223a22646174613a696d6167652f7376672b786d6c3b62618152641cd94d8d0b60da1b60208201526025019150612e908285612e0c565b7211161132bc3a32b93730b62fb634b735911d1160691b81526013019150612eb88284612e0c565b61227d60f01b815260020195945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000601d82015b915061129c8284612e0c565b602681526000602082017f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015291505b5060400190565b602080825281016106c981612f02565b601d81526000602082017f416464726573733a20696e73756666696369656e742062616c616e636500000081529150612b2d565b602080825281016106c981612f58565b6000816106c9565b603a81526000602082017f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d6179206861766520726576657274656400000000000060208201529150612f41565b602080825281016106c981612fa4565b692e63307b66696c6c3a2360b01b815260005b50600a0190565b6a7d2e63317b66696c6c3a2360a81b815260005b50600b0190565b6a7d2e63327b66696c6c3a2360a81b8152600061303c565b6a7d2e63337b66696c6c3a2360a81b8152600061303c565b6a7d2e63347b66696c6c3a2360a81b8152600061303c565b6a7d2e63357b66696c6c3a2360a81b8152600061303c565b6a7d2e63367b66696c6c3a2360a81b8152600061303c565b607d60f81b81526000612ad6565b60006130d48261300e565b91506130e0828b612e0c565b91506130eb82613028565b91506130f7828a612e0c565b915061310282613043565b915061310e8289612e0c565b91506131198261305b565b91506131258288612e0c565b915061313082613073565b915061313c8287612e0c565b91506131478261308b565b91506131538286612e0c565b915061315e826130a3565b915061316a8285612e0c565b6c38307d2e63377b66696c6c3a2360981b8152600d01915061318c8284612e0c565b9150613197826130bb565b9a9950505050505050505050565b60006131b18260030b90565b91506131bd8360030b90565b925082637fffffff19018212600084121516156131dc576131dc6129ff565b82637fffffff018213600084121615612b5657612b566129ff565b60006132038260030b90565b915061320f8360030b90565b925081637fffffff0383136000831215161561322d5761322d6129ff565b81637fffffff19038312600083121615613249576132496129ff565b500190565b62ffffff8116612534565b6000613265838361324e565b505060200190565b6000613277825190565b80845260209384019383018060005b838110156132ab57815161329a8882613259565b975060208301925050600101613286565b509495945050505050565b604080825281016132c7818561326d565b90508181036020830152610d62818461326d565b600080604083850312156132f1576132f1600080fd5b82516001600160401b0381111561330a5761330a600080fd5b612d7285828601612d13565b621c1e0b60ea1b815260005b5060030190565b7f7078297d2e70317b7472616e73666f726d3a7472616e736c6174652800000000815260005b50601c0190565b7f7078297d2e70327b7472616e73666f726d3a7472616e736c61746528000000008152600061334f565b7f2e70307b7472616e73666f726d3a7472616e736c617465280000000000000000815260180160006133b28289612e0c565b91506133bd82613316565b91506133c98288612e0c565b91506133d482613329565b91506133e08287612e0c565b91506133eb82613316565b91506133f78286612e0c565b915061340282613356565b915061340e8285612e0c565b915061341982613316565b91506134258284612e0c565b637078297d60e01b815260040198975050505050505050565b60208082527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657291019081526000612b2d565b602080825281016106c98161343e565b60118152600060208201704d696e74206174206c65617374206f6e6560781b81529150612b2d565b602080825281016106c981613480565b602781526000602082017f43616e2774206d696e742074686973206d616e7920696e206f6e65207472616e81526639b0b1ba34b7b760c91b60208201529150612f41565b602080825281016106c9816134b8565b60128152600060208201711399595908195e1858dd081c185e5b595b9d60721b81529150612b2d565b602080825281016106c98161350c565b601581526000602082017410dbdb9d1c9858dd1cc818d85b9b9bdd081b5a5b9d605a1b81529150612b2d565b602080825281016106c981613545565b60008261359057613590612add565b500690565b608081016135a38287612647565b6135b06020830186612647565b6135bd6040830185612532565b81810360608301526135cf81846125c6565b9695505050505050565b80516106c981612548565b6000602082840312156135f9576135f9600080fd5b6000610d6284846135d9565b6000808252612ad6565b6000612ef682613605565b6856616e69746173202360b81b8152600901600061129c8284612e0c565b701116113232b9b1b934b83a34b7b7111d1160791b815260005b5060110190565b70222c2261747472696275746573223a205b60781b81526000613652565b69113b30b63ab2911d101160b11b81526000613021565b601160f91b81526000612ad6565b627d5d7d60e81b81526000613322565b60006136b782612dd4565b67113730b6b2911d1160c11b815260080191506136d48288612e0c565b91506136df82613638565b91506136eb8287612e0c565b7f222c22696d6167655f64617461223a22646174613a696d6167652f7376672b788152691b5b0ed8985cd94d8d0b60b21b6020820152602a0191506137308286612e0c565b7111161132bc3a32b93730b62fbab936111d1160711b815260120191506137578285612e0c565b915061376282613659565b915061376d82612dd4565b7f2274726169745f74797065223a20224d696e746572222c0000000000000000008152601701915061379e82613677565b91506137aa8284612e0c565b91506137b58261368e565b91506137c08261369c565b979650505050505050565b60008219821115613249576132496129ff565b602781526000602082017f44796e616d69634275666665723a20417070656e64696e67206f7574206f66208152663137bab732399760c91b60208201529150612f41565b602080825281016106c9816137de565b606081016138408286612532565b61384d6020830185612532565b610d626040830184612532565b6000600160ff1b820361386f5761386f6129ff565b5060000390565b602d60f81b81526000612ad6565b6000612ef682613876565b606360f81b81526000612ad6565b60006106c98260e01b90565b61253463ffffffff821661389d565b60006138c38261388f565b91506138cf82856138a9565b6880600e6000396000f360b81b6004830152600d90910190610d628284612e0c565b600081613900576139006129ff565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e7491019081526000612b2d565b602080825281016106c98161390856fe3c7376672077696474683d223132303022206865696768743d2231323030222073686170652d72656e646572696e673d2263726973704564676573222076696577426f783d223020302032342032342220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f737667223e3c7374796c653e726563747b77696474683a3170783b6865696768743a3170787d68747470733a2f2f63617073756c6532312e636f6d2f636f6c6c656374696f6e732f76616e697461734142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f56616e697461732064726177732066726f6d2074687265652070726576696f75732043617073756c652032312070726f6a65637473e280946e616d656c79206d656d656d652c204d614d6f4d6520616e64205374696c6c204c69666573e28094627574206974206164647320736f6d657468696e67206e65773a20616464726573732d6465726976656420636f6d706f736974696f6e732e5c6e5c6e427920696e74657270726574696e672065616368206c6574746572206f6620796f757220626173652d313620457468657265756d20616464726573732061732061206e756d6265722030e2809331352c20796f757220343020636861726163746572206164647265737320646566696e65732074686520636f6f7264696e61746573206f6620323020706f696e7473206f6e206120313678313620677269642e5c6e5c6e496e2056616e69737461732c2074686520746872656520666972737420706f696e7473206f66207468697320323020617265207573656420746f206c6f63617465207468726565207374696c6c206c69666520656c656d656e74732028736b756c6c2c20626f74746c652e20616e64206369676172657474652920696e206120756e6971756520636f6d706f736974696f6e2e5c6e5c6e56616e69746173204e4654732063616e206265206d696e656420696e646566696e6974656c792c20627574207468652073616d6520455448206164647265737320616c77617973206c6561647320746f207468652073616d6520636f6c6f727320616e6420636f6d706f736974696f6e2e2043617073756c6520323120646973636c61696d7320616c6c206c696162696c69747920666f7220756e62616c616e63656420636f6d706f736974696f6e7320616e642074616b657320746865206669726d20706f736974696f6e207468617420746865792061726520736f6c656c7920746865206661756c7420616e6420726573706f6e736962696c697479206f6620746865206d696e74696e672045544820616464726573732ea26469706673582212207095f13f5dd5f93bf6518c069a1a827d2bd457faf26d0bcd0b62f0b9699a5f2064736f6c634300080f00330000000000000000000000007a87182ef777a499c081c4cc7c4643b15fb4ab22