[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "minter", "type": "address" } ], "name": "AVAXCOOKSminted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenID", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenID", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenID", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenID", "type": "uint256" } ], "name": "burnToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenID", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "changeURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "flipPausedState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenID", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "string", "name": "uri", "type": "string" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "royalties", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenID", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenID", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newCost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "setRoyalties", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTreasuryAddress", "type": "address" } ], "name": "setTreasuryAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenID", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_address", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_tokenAddress", "type": "address" } ], "name": "withdrawERC20", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_nftAddress", "type": "address" }, { "internalType": "uint256", "name": "_tokenID", "type": "uint256" } ], "name": "withdrawERC721", "outputs": [], "stateMutability": "payable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60806040526001600860146101000a81548160ff0219169083151502179055506706f05b59d3b2000060095561012c600a557332bd2811fb91bc46756232a0b8c6b2902d7d8763600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200009357600080fd5b506040518060400160405280600a81526020017f4176617820436f6f6b73000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f41564158434f4f4b53000000000000000000000000000000000000000000000081525081600090805190602001906200011892919062000230565b5080600190805190602001906200013192919062000230565b50505060016007819055506200015c620001506200016260201b60201c565b6200016a60201b60201c565b62000345565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200023e906200030f565b90600052602060002090601f016020900481019282620002625760008555620002ae565b82601f106200027d57805160ff1916838001178555620002ae565b82800160010185558215620002ae579182015b82811115620002ad57825182559160200191906001019062000290565b5b509050620002bd9190620002c1565b5090565b5b80821115620002dc576000816000905550600101620002c2565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200032857607f821691505b602082108114156200033f576200033e620002e0565b5b50919050565b6145d980620003556000396000f3fe6080604052600436106101dc5760003560e01c80636605bfda11610102578063c87b56dd11610095578063f053dc5c11610064578063f053dc5c146106b4578063f2fde38b146106df578063f3e414f814610708578063f4f3b20014610724576101e3565b8063c87b56dd146105f5578063d0def52114610632578063da6af9711461064e578063e985e9c514610677576101e3565b806393eff851116100d157806393eff8511461056157806395d89b4114610578578063a22cb465146105a3578063b88d4fde146105cc576101e3565b80636605bfda146104a757806370a08231146104d05780637b47ec1a1461050d5780638da5cb5b14610536576101e3565b80632a55205a1161017a578063438b630011610149578063438b6300146103d957806344a0d68a146104165780635c975abb1461043f5780636352211e1461046a576101e3565b80632a55205a146103325780632b80183f146103705780633ccfd60b1461039957806342842e0e146103b0576101e3565b8063095ea7b3116101b6578063095ea7b31461028a57806313faede6146102b357806318160ddd146102de57806323b872dd14610309576101e3565b806301ffc9a7146101e557806306fdde0314610222578063081812fc1461024d576101e3565b366101e357005b005b3480156101f157600080fd5b5061020c60048036038101906102079190612c86565b610740565b6040516102199190612cce565b60405180910390f35b34801561022e57600080fd5b506102376107ba565b6040516102449190612d82565b60405180910390f35b34801561025957600080fd5b50610274600480360381019061026f9190612dda565b61084c565b6040516102819190612e48565b60405180910390f35b34801561029657600080fd5b506102b160048036038101906102ac9190612e8f565b6108d1565b005b3480156102bf57600080fd5b506102c86109e9565b6040516102d59190612ede565b60405180910390f35b3480156102ea57600080fd5b506102f36109ef565b6040516103009190612ede565b60405180910390f35b34801561031557600080fd5b50610330600480360381019061032b9190612ef9565b610a00565b005b34801561033e57600080fd5b5061035960048036038101906103549190612f4c565b610a60565b604051610367929190612f8c565b60405180910390f35b34801561037c57600080fd5b5061039760048036038101906103929190612dda565b610aac565b005b3480156103a557600080fd5b506103ae610b32565b005b3480156103bc57600080fd5b506103d760048036038101906103d29190612ef9565b610c7f565b005b3480156103e557600080fd5b5061040060048036038101906103fb9190612fb5565b610c9f565b60405161040d91906130a0565b60405180910390f35b34801561042257600080fd5b5061043d60048036038101906104389190612dda565b610daf565b005b34801561044b57600080fd5b50610454610e35565b6040516104619190612cce565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c9190612dda565b610e48565b60405161049e9190612e48565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612fb5565b610efa565b005b3480156104dc57600080fd5b506104f760048036038101906104f29190612fb5565b610fba565b6040516105049190612ede565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f9190612dda565b611072565b005b34801561054257600080fd5b5061054b611142565b6040516105589190612e48565b60405180910390f35b34801561056d57600080fd5b5061057661116c565b005b34801561058457600080fd5b5061058d611214565b60405161059a9190612d82565b60405180910390f35b3480156105af57600080fd5b506105ca60048036038101906105c591906130ee565b6112a6565b005b3480156105d857600080fd5b506105f360048036038101906105ee9190613263565b6112bc565b005b34801561060157600080fd5b5061061c60048036038101906106179190612dda565b61131e565b6040516106299190612d82565b60405180910390f35b61064c60048036038101906106479190613346565b611470565b005b34801561065a57600080fd5b50610675600480360381019061067091906133a6565b6115d4565b005b34801561068357600080fd5b5061069e60048036038101906106999190613406565b6116a3565b6040516106ab9190612cce565b60405180910390f35b3480156106c057600080fd5b506106c9611737565b6040516106d69190612ede565b60405180910390f35b3480156106eb57600080fd5b5061070660048036038101906107019190612fb5565b61173d565b005b610722600480360381019061071d9190612e8f565b611835565b005b61073e60048036038101906107399190612fb5565b611931565b005b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107b357506107b282611abb565b5b9050919050565b6060600080546107c990613475565b80601f01602080910402602001604051908101604052809291908181526020018280546107f590613475565b80156108425780601f1061081757610100808354040283529160200191610842565b820191906000526020600020905b81548152906001019060200180831161082557829003601f168201915b5050505050905090565b600061085782611b9d565b610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90613519565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108dc82610e48565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561094d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610944906135ab565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661096c611c09565b73ffffffffffffffffffffffffffffffffffffffff16148061099b575061099a81610995611c09565b6116a3565b5b6109da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d19061363d565b60405180910390fd5b6109e48383611c11565b505050565b60095481565b60006109fb600c611cca565b905090565b610a11610a0b611c09565b82611cd8565b610a50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a47906136cf565b60405180910390fd5b610a5b838383611db6565b505050565b600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600a5485610a97919061371e565b610aa191906137a7565b915091509250929050565b610ab4611c09565b73ffffffffffffffffffffffffffffffffffffffff16610ad2611142565b73ffffffffffffffffffffffffffffffffffffffff1614610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f90613824565b60405180910390fd5b80600a8190555050565b610b3a611c09565b73ffffffffffffffffffffffffffffffffffffffff16610b58611142565b73ffffffffffffffffffffffffffffffffffffffff1614610bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba590613824565b60405180910390fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051610bf690613875565b60006040518083038185875af1925050503d8060008114610c33576040519150601f19603f3d011682016040523d82523d6000602084013e610c38565b606091505b5050905080610c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c73906138fc565b60405180910390fd5b50565b610c9a838383604051806020016040528060008152506112bc565b505050565b60606000610cac83610fba565b905060008167ffffffffffffffff811115610cca57610cc9613138565b5b604051908082528060200260200182016040528015610cf85781602001602082028036833780820191505090505b50905060006001905060005b8381108015610d1a5750610d166109ef565b8211155b15610da3576000610d2a83610e48565b90508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d8f5782848381518110610d7457610d7361391c565b5b6020026020010181815250508180610d8b9061394b565b9250505b8280610d9a9061394b565b93505050610d04565b82945050505050919050565b610db7611c09565b73ffffffffffffffffffffffffffffffffffffffff16610dd5611142565b73ffffffffffffffffffffffffffffffffffffffff1614610e2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2290613824565b60405180910390fd5b8060098190555050565b600860149054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ef1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee890613a06565b60405180910390fd5b80915050919050565b610f02611c09565b73ffffffffffffffffffffffffffffffffffffffff16610f20611142565b73ffffffffffffffffffffffffffffffffffffffff1614610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d90613824565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290613a98565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61107a611c09565b73ffffffffffffffffffffffffffffffffffffffff16611098611142565b73ffffffffffffffffffffffffffffffffffffffff16146110ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e590613824565b60405180910390fd5b6110f781611b9d565b611136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112d90613b2a565b60405180910390fd5b61113f8161201d565b50565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611174611c09565b73ffffffffffffffffffffffffffffffffffffffff16611192611142565b73ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90613824565b60405180910390fd5b600860149054906101000a900460ff1615600860146101000a81548160ff021916908315150217905550565b60606001805461122390613475565b80601f016020809104026020016040519081016040528092919081815260200182805461124f90613475565b801561129c5780601f106112715761010080835404028352916020019161129c565b820191906000526020600020905b81548152906001019060200180831161127f57829003601f168201915b5050505050905090565b6112b86112b1611c09565b8383612070565b5050565b6112cd6112c7611c09565b83611cd8565b61130c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611303906136cf565b60405180910390fd5b611318848484846121dd565b50505050565b606061132982611b9d565b611368576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135f90613bbc565b60405180910390fd5b600060066000848152602001908152602001600020805461138890613475565b80601f01602080910402602001604051908101604052809291908181526020018280546113b490613475565b80156114015780601f106113d657610100808354040283529160200191611401565b820191906000526020600020905b8154815290600101906020018083116113e457829003601f168201915b505050505090506000611412612239565b905060008151141561142857819250505061146b565b60008251111561145d578082604051602001611445929190613c18565b6040516020818303038152906040529250505061146b565b61146684612250565b925050505b919050565b600260075414156114b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ad90613c88565b60405180910390fd5b6002600781905550600860149054906101000a900460ff161561150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150590613cf4565b60405180910390fd5b600954341015611553576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154a90613d60565b60405180910390fd5b61155d600c6122f7565b6115708361156b600c611cca565b61230d565b6115c761157d600c611cca565b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061232b565b6001600781905550505050565b6115dc611c09565b73ffffffffffffffffffffffffffffffffffffffff166115fa611142565b73ffffffffffffffffffffffffffffffffffffffff1614611650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164790613824565b60405180910390fd5b61169e8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061232b565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600a5481565b611745611c09565b73ffffffffffffffffffffffffffffffffffffffff16611763611142565b73ffffffffffffffffffffffffffffffffffffffff16146117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b090613824565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182090613df2565b60405180910390fd5b6118328161239f565b50565b61183d611c09565b73ffffffffffffffffffffffffffffffffffffffff1661185b611142565b73ffffffffffffffffffffffffffffffffffffffff16146118b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a890613824565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff166342842e0e306118db611142565b856040518463ffffffff1660e01b81526004016118fa93929190613e12565b600060405180830381600087803b15801561191457600080fd5b505af1158015611928573d6000803e3d6000fd5b50505050505050565b611939611c09565b73ffffffffffffffffffffffffffffffffffffffff16611957611142565b73ffffffffffffffffffffffffffffffffffffffff16146119ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a490613824565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119ed9190612e48565b602060405180830381865afa158015611a0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a2e9190613e5e565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb611a54611142565b836040518363ffffffff1660e01b8152600401611a72929190613eea565b6020604051808303816000875af1158015611a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ab59190613f28565b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b8657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611b965750611b9582612465565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611c8483610e48565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6000611ce382611b9d565b611d22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1990613fc7565b60405180910390fd5b6000611d2d83610e48565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611d9c57508373ffffffffffffffffffffffffffffffffffffffff16611d848461084c565b73ffffffffffffffffffffffffffffffffffffffff16145b80611dad5750611dac81856116a3565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611dd682610e48565b73ffffffffffffffffffffffffffffffffffffffff1614611e2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2390614059565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e93906140eb565b60405180910390fd5b611ea78383836124cf565b611eb2600082611c11565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f02919061410b565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f59919061413f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46120188383836124d4565b505050565b612026816124d9565b600060066000838152602001908152602001600020805461204690613475565b90501461206d5760066000828152602001908152602001600020600061206c9190612b37565b5b50565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d6906141e1565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516121d09190612cce565b60405180910390a3505050565b6121e8848484611db6565b6121f4848484846125f6565b612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a90614273565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606061225b82611b9d565b61229a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229190614305565b60405180910390fd5b60006122a4612239565b905060008151116122c457604051806020016040528060008152506122ef565b806122ce8461277e565b6040516020016122df929190613c18565b6040516020818303038152906040525b915050919050565b6001816000016000828254019250508190555050565b6123278282604051806020016040528060008152506128df565b5050565b61233482611b9d565b612373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236a90614397565b60405180910390fd5b8060066000848152602001908152602001600020908051906020019061239a929190612b77565b505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b505050565b60006124e482610e48565b90506124f2816000846124cf565b6124fd600083611c11565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461254d919061410b565b925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46125f2816000846124d4565b5050565b60006126178473ffffffffffffffffffffffffffffffffffffffff1661293a565b15612771578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612640611c09565b8786866040518563ffffffff1660e01b8152600401612662949392919061440c565b6020604051808303816000875af192505050801561269e57506040513d601f19601f8201168201806040525081019061269b919061446d565b60015b612721573d80600081146126ce576040519150601f19603f3d011682016040523d82523d6000602084013e6126d3565b606091505b50600081511415612719576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271090614273565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612776565b600190505b949350505050565b606060008214156127c6576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506128da565b600082905060005b600082146127f85780806127e19061394b565b915050600a826127f191906137a7565b91506127ce565b60008167ffffffffffffffff81111561281457612813613138565b5b6040519080825280601f01601f1916602001820160405280156128465781602001600182028036833780820191505090505b5090505b600085146128d35760018261285f919061410b565b9150600a8561286e919061449a565b603061287a919061413f565b60f81b8183815181106128905761288f61391c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856128cc91906137a7565b945061284a565b8093505050505b919050565b6128e9838361295d565b6128f660008484846125f6565b612935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292c90614273565b60405180910390fd5b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c490614517565b60405180910390fd5b6129d681611b9d565b15612a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0d90614583565b60405180910390fd5b612a22600083836124cf565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a72919061413f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b33600083836124d4565b5050565b508054612b4390613475565b6000825580601f10612b555750612b74565b601f016020900490600052602060002090810190612b739190612bfd565b5b50565b828054612b8390613475565b90600052602060002090601f016020900481019282612ba55760008555612bec565b82601f10612bbe57805160ff1916838001178555612bec565b82800160010185558215612bec579182015b82811115612beb578251825591602001919060010190612bd0565b5b509050612bf99190612bfd565b5090565b5b80821115612c16576000816000905550600101612bfe565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612c6381612c2e565b8114612c6e57600080fd5b50565b600081359050612c8081612c5a565b92915050565b600060208284031215612c9c57612c9b612c24565b5b6000612caa84828501612c71565b91505092915050565b60008115159050919050565b612cc881612cb3565b82525050565b6000602082019050612ce36000830184612cbf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612d23578082015181840152602081019050612d08565b83811115612d32576000848401525b50505050565b6000601f19601f8301169050919050565b6000612d5482612ce9565b612d5e8185612cf4565b9350612d6e818560208601612d05565b612d7781612d38565b840191505092915050565b60006020820190508181036000830152612d9c8184612d49565b905092915050565b6000819050919050565b612db781612da4565b8114612dc257600080fd5b50565b600081359050612dd481612dae565b92915050565b600060208284031215612df057612def612c24565b5b6000612dfe84828501612dc5565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612e3282612e07565b9050919050565b612e4281612e27565b82525050565b6000602082019050612e5d6000830184612e39565b92915050565b612e6c81612e27565b8114612e7757600080fd5b50565b600081359050612e8981612e63565b92915050565b60008060408385031215612ea657612ea5612c24565b5b6000612eb485828601612e7a565b9250506020612ec585828601612dc5565b9150509250929050565b612ed881612da4565b82525050565b6000602082019050612ef36000830184612ecf565b92915050565b600080600060608486031215612f1257612f11612c24565b5b6000612f2086828701612e7a565b9350506020612f3186828701612e7a565b9250506040612f4286828701612dc5565b9150509250925092565b60008060408385031215612f6357612f62612c24565b5b6000612f7185828601612dc5565b9250506020612f8285828601612dc5565b9150509250929050565b6000604082019050612fa16000830185612e39565b612fae6020830184612ecf565b9392505050565b600060208284031215612fcb57612fca612c24565b5b6000612fd984828501612e7a565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61301781612da4565b82525050565b6000613029838361300e565b60208301905092915050565b6000602082019050919050565b600061304d82612fe2565b6130578185612fed565b935061306283612ffe565b8060005b8381101561309357815161307a888261301d565b975061308583613035565b925050600181019050613066565b5085935050505092915050565b600060208201905081810360008301526130ba8184613042565b905092915050565b6130cb81612cb3565b81146130d657600080fd5b50565b6000813590506130e8816130c2565b92915050565b6000806040838503121561310557613104612c24565b5b600061311385828601612e7a565b9250506020613124858286016130d9565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61317082612d38565b810181811067ffffffffffffffff8211171561318f5761318e613138565b5b80604052505050565b60006131a2612c1a565b90506131ae8282613167565b919050565b600067ffffffffffffffff8211156131ce576131cd613138565b5b6131d782612d38565b9050602081019050919050565b82818337600083830152505050565b6000613206613201846131b3565b613198565b90508281526020810184848401111561322257613221613133565b5b61322d8482856131e4565b509392505050565b600082601f83011261324a5761324961312e565b5b813561325a8482602086016131f3565b91505092915050565b6000806000806080858703121561327d5761327c612c24565b5b600061328b87828801612e7a565b945050602061329c87828801612e7a565b93505060406132ad87828801612dc5565b925050606085013567ffffffffffffffff8111156132ce576132cd612c29565b5b6132da87828801613235565b91505092959194509250565b600080fd5b600080fd5b60008083601f8401126133065761330561312e565b5b8235905067ffffffffffffffff811115613323576133226132e6565b5b60208301915083600182028301111561333f5761333e6132eb565b5b9250929050565b60008060006040848603121561335f5761335e612c24565b5b600061336d86828701612e7a565b935050602084013567ffffffffffffffff81111561338e5761338d612c29565b5b61339a868287016132f0565b92509250509250925092565b6000806000604084860312156133bf576133be612c24565b5b60006133cd86828701612dc5565b935050602084013567ffffffffffffffff8111156133ee576133ed612c29565b5b6133fa868287016132f0565b92509250509250925092565b6000806040838503121561341d5761341c612c24565b5b600061342b85828601612e7a565b925050602061343c85828601612e7a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061348d57607f821691505b602082108114156134a1576134a0613446565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613503602c83612cf4565b915061350e826134a7565b604082019050919050565b60006020820190508181036000830152613532816134f6565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613595602183612cf4565b91506135a082613539565b604082019050919050565b600060208201905081810360008301526135c481613588565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613627603883612cf4565b9150613632826135cb565b604082019050919050565b600060208201905081810360008301526136568161361a565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b60006136b9603183612cf4565b91506136c48261365d565b604082019050919050565b600060208201905081810360008301526136e8816136ac565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061372982612da4565b915061373483612da4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561376d5761376c6136ef565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006137b282612da4565b91506137bd83612da4565b9250826137cd576137cc613778565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061380e602083612cf4565b9150613819826137d8565b602082019050919050565b6000602082019050818103600083015261383d81613801565b9050919050565b600081905092915050565b50565b600061385f600083613844565b915061386a8261384f565b600082019050919050565b600061388082613852565b9150819050919050565b7f41564158205472616e73616374696f6e3a204661696c656420746f207472616e60008201527f736665722066756e647320746f20746865206f776e65722077616c6c65742100602082015250565b60006138e6603f83612cf4565b91506138f18261388a565b604082019050919050565b60006020820190508181036000830152613915816138d9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061395682612da4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613989576139886136ef565b5b600182019050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006139f0602983612cf4565b91506139fb82613994565b604082019050919050565b60006020820190508181036000830152613a1f816139e3565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000613a82602a83612cf4565b9150613a8d82613a26565b604082019050919050565b60006020820190508181036000830152613ab181613a75565b9050919050565b7f4552433732313a206275726e206f66206e6f6e6578697374656e7420746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b14602183612cf4565b9150613b1f82613ab8565b604082019050919050565b60006020820190508181036000830152613b4381613b07565b9050919050565b7f45524337323155524953746f726167653a2055524920717565727920666f722060008201527f6e6f6e6578697374656e7420746f6b656e000000000000000000000000000000602082015250565b6000613ba6603183612cf4565b9150613bb182613b4a565b604082019050919050565b60006020820190508181036000830152613bd581613b99565b9050919050565b600081905092915050565b6000613bf282612ce9565b613bfc8185613bdc565b9350613c0c818560208601612d05565b80840191505092915050565b6000613c248285613be7565b9150613c308284613be7565b91508190509392505050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613c72601f83612cf4565b9150613c7d82613c3c565b602082019050919050565b60006020820190508181036000830152613ca181613c65565b9050919050565b7f4d696e74696e6720697320706175736564000000000000000000000000000000600082015250565b6000613cde601183612cf4565b9150613ce982613ca8565b602082019050919050565b60006020820190508181036000830152613d0d81613cd1565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b6000613d4a601283612cf4565b9150613d5582613d14565b602082019050919050565b60006020820190508181036000830152613d7981613d3d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ddc602683612cf4565b9150613de782613d80565b604082019050919050565b60006020820190508181036000830152613e0b81613dcf565b9050919050565b6000606082019050613e276000830186612e39565b613e346020830185612e39565b613e416040830184612ecf565b949350505050565b600081519050613e5881612dae565b92915050565b600060208284031215613e7457613e73612c24565b5b6000613e8284828501613e49565b91505092915050565b6000819050919050565b6000613eb0613eab613ea684612e07565b613e8b565b612e07565b9050919050565b6000613ec282613e95565b9050919050565b6000613ed482613eb7565b9050919050565b613ee481613ec9565b82525050565b6000604082019050613eff6000830185613edb565b613f0c6020830184612ecf565b9392505050565b600081519050613f22816130c2565b92915050565b600060208284031215613f3e57613f3d612c24565b5b6000613f4c84828501613f13565b91505092915050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613fb1602c83612cf4565b9150613fbc82613f55565b604082019050919050565b60006020820190508181036000830152613fe081613fa4565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614043602583612cf4565b915061404e82613fe7565b604082019050919050565b6000602082019050818103600083015261407281614036565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006140d5602483612cf4565b91506140e082614079565b604082019050919050565b60006020820190508181036000830152614104816140c8565b9050919050565b600061411682612da4565b915061412183612da4565b925082821015614134576141336136ef565b5b828203905092915050565b600061414a82612da4565b915061415583612da4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561418a576141896136ef565b5b828201905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006141cb601983612cf4565b91506141d682614195565b602082019050919050565b600060208201905081810360008301526141fa816141be565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061425d603283612cf4565b915061426882614201565b604082019050919050565b6000602082019050818103600083015261428c81614250565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006142ef602f83612cf4565b91506142fa82614293565b604082019050919050565b6000602082019050818103600083015261431e816142e2565b9050919050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000614381602e83612cf4565b915061438c82614325565b604082019050919050565b600060208201905081810360008301526143b081614374565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006143de826143b7565b6143e881856143c2565b93506143f8818560208601612d05565b61440181612d38565b840191505092915050565b60006080820190506144216000830187612e39565b61442e6020830186612e39565b61443b6040830185612ecf565b818103606083015261444d81846143d3565b905095945050505050565b60008151905061446781612c5a565b92915050565b60006020828403121561448357614482612c24565b5b600061449184828501614458565b91505092915050565b60006144a582612da4565b91506144b083612da4565b9250826144c0576144bf613778565b5b828206905092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614501602083612cf4565b915061450c826144cb565b602082019050919050565b60006020820190508181036000830152614530816144f4565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061456d601c83612cf4565b915061457882614537565b602082019050919050565b6000602082019050818103600083015261459c81614560565b905091905056fea264697066735822122020422d7ea4d678fe4181676b946efbcd157572228d8373ad5fbe3200625e80a564736f6c634300080b0033