[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "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" }, { "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": "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": [], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintingEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "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": "string", "name": "baseURI", "type": "string" } ], "name": "setBaseURI", "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": [], "name": "toggleMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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" } ]
60806040523480156200001157600080fd5b50336040518060400160405280600a81526020017f44424b47656e65736973000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f44424b47656e657369730000000000000000000000000000000000000000000081525081600090816200009091906200048d565b508060019081620000a291906200048d565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011a5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001119190620005b9565b60405180910390fd5b6200012b816200014d60201b60201c565b506000600860006101000a81548160ff021916908315150217905550620005d6565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200029557607f821691505b602082108103620002ab57620002aa6200024d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002d6565b620003218683620002d6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200036e62000368620003628462000339565b62000343565b62000339565b9050919050565b6000819050919050565b6200038a836200034d565b620003a2620003998262000375565b848454620002e3565b825550505050565b600090565b620003b9620003aa565b620003c68184846200037f565b505050565b5b81811015620003ee57620003e2600082620003af565b600181019050620003cc565b5050565b601f8211156200043d576200040781620002b1565b6200041284620002c6565b8101602085101562000422578190505b6200043a6200043185620002c6565b830182620003cb565b50505b505050565b600082821c905092915050565b6000620004626000198460080262000442565b1980831691505092915050565b60006200047d83836200044f565b9150826002028217905092915050565b620004988262000213565b67ffffffffffffffff811115620004b457620004b36200021e565b5b620004c082546200027c565b620004cd828285620003f2565b600060209050601f831160018114620005055760008415620004f0578287015190505b620004fc85826200046f565b8655506200056c565b601f1984166200051586620002b1565b60005b828110156200053f5784890151825560018201915060208501945060208101905062000518565b868310156200055f57848901516200055b601f8916826200044f565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005a18262000574565b9050919050565b620005b38162000594565b82525050565b6000602082019050620005d06000830184620005a8565b92915050565b61275e80620005e66000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063715018a6116100ad578063a22cb46511610071578063a22cb465146102f7578063b88d4fde14610313578063c87b56dd1461032f578063e985e9c51461035f578063f2fde38b1461038f5761012c565b8063715018a6146102895780637d55094d146102935780638da5cb5b1461029d57806395d89b41146102bb5780639fd6db12146102d95761012c565b806323b872dd116100f457806323b872dd146101d557806342842e0e146101f157806355f804b31461020d5780636352211e1461022957806370a08231146102595761012c565b806301ffc9a71461013157806306fdde0314610161578063081812fc1461017f578063095ea7b3146101af5780631249c58b146101cb575b600080fd5b61014b60048036038101906101469190611acb565b6103ab565b6040516101589190611b13565b60405180910390f35b61016961048d565b6040516101769190611bbe565b60405180910390f35b61019960048036038101906101949190611c16565b61051f565b6040516101a69190611c84565b60405180910390f35b6101c960048036038101906101c49190611ccb565b61053b565b005b6101d3610551565b005b6101ef60048036038101906101ea9190611d0b565b61060e565b005b61020b60048036038101906102069190611d0b565b610710565b005b61022760048036038101906102229190611e93565b610730565b005b610243600480360381019061023e9190611c16565b61074b565b6040516102509190611c84565b60405180910390f35b610273600480360381019061026e9190611edc565b61075d565b6040516102809190611f18565b60405180910390f35b610291610817565b005b61029b61082b565b005b6102a561085f565b6040516102b29190611c84565b60405180910390f35b6102c3610889565b6040516102d09190611bbe565b60405180910390f35b6102e161091b565b6040516102ee9190611b13565b60405180910390f35b610311600480360381019061030c9190611f5f565b61092e565b005b61032d60048036038101906103289190612040565b610944565b005b61034960048036038101906103449190611c16565b610961565b6040516103569190611bbe565b60405180910390f35b610379600480360381019061037491906120c3565b6109ca565b6040516103869190611b13565b60405180910390f35b6103a960048036038101906103a49190611edc565b610a5e565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061047657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610486575061048582610ae4565b5b9050919050565b60606000805461049c90612132565b80601f01602080910402602001604051908101604052809291908181526020018280546104c890612132565b80156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b600061052a82610b4e565b5061053482610bd6565b9050919050565b61054d8282610548610c13565b610c1b565b5050565b600860009054906101000a900460ff166105a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610597906121af565b60405180910390fd5b6105a933610c2d565b6105e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105df90612241565b60405180910390fd5b600760008154809291906105fb90612290565b919050555061060c33600754610c65565b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036106805760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016106779190611c84565b60405180910390fd5b6000610694838361068f610c13565b610c83565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461070a578382826040517f64283d7b000000000000000000000000000000000000000000000000000000008152600401610701939291906122d8565b60405180910390fd5b50505050565b61072b83838360405180602001604052806000815250610944565b505050565b610738610e9d565b806009908161074791906124bb565b5050565b600061075682610b4e565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107d05760006040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016107c79190611c84565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61081f610e9d565b6108296000610f24565b565b610833610e9d565b600860009054906101000a900460ff1615600860006101000a81548160ff021916908315150217905550565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461089890612132565b80601f01602080910402602001604051908101604052809291908181526020018280546108c490612132565b80156109115780601f106108e657610100808354040283529160200191610911565b820191906000526020600020905b8154815290600101906020018083116108f457829003601f168201915b5050505050905090565b600860009054906101000a900460ff1681565b610940610939610c13565b8383610fea565b5050565b61094f84848461060e565b61095b84848484611159565b50505050565b606061096c82610b4e565b506000610977611310565b9050600081511161099757604051806020016040528060008152506109c2565b806109a1846113a2565b6040516020016109b29291906125c9565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610a66610e9d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ad85760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610acf9190611c84565b60405180910390fd5b610ae181610f24565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080610b5a83611470565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bcd57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610bc49190611f18565b60405180910390fd5b80915050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b610c2883838360016114ad565b505050565b60003273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610c7f828260405180602001604052806000815250611672565b5050565b600080610c8f84611470565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610cd157610cd081848661168e565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d6257610d136000856000806114ad565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610de5576001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846002600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b610ea5610c13565b73ffffffffffffffffffffffffffffffffffffffff16610ec361085f565b73ffffffffffffffffffffffffffffffffffffffff1614610f2257610ee6610c13565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610f199190611c84565b60405180910390fd5b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361105b57816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016110529190611c84565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161114c9190611b13565b60405180910390a3505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b111561130a578273ffffffffffffffffffffffffffffffffffffffff1663150b7a0261119d610c13565b8685856040518563ffffffff1660e01b81526004016111bf9493929190612642565b6020604051808303816000875af19250505080156111fb57506040513d601f19601f820116820180604052508101906111f891906126a3565b60015b61127f573d806000811461122b576040519150601f19603f3d011682016040523d82523d6000602084013e611230565b606091505b50600081510361127757836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161126e9190611c84565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461130857836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016112ff9190611c84565b60405180910390fd5b505b50505050565b60606009805461131f90612132565b80601f016020809104026020016040519081016040528092919081815260200182805461134b90612132565b80156113985780601f1061136d57610100808354040283529160200191611398565b820191906000526020600020905b81548152906001019060200180831161137b57829003601f168201915b5050505050905090565b6060600060016113b184611752565b01905060008167ffffffffffffffff8111156113d0576113cf611d68565b5b6040519080825280601f01601f1916602001820160405280156114025781602001600182028036833780820191505090505b509050600082602001820190505b600115611465578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611459576114586126d0565b5b04945060008503611410575b819350505050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806114e65750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561161a5760006114f684610b4e565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561156157508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611574575061157281846109ca565b155b156115b657826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016115ad9190611c84565b60405180910390fd5b811561161857838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b61167c83836118a5565b6116896000848484611159565b505050565b61169983838361199e565b61174d57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361170e57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016117059190611f18565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016117449291906126ff565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106117b0577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816117a6576117a56126d0565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106117ed576d04ee2d6d415b85acef810000000083816117e3576117e26126d0565b5b0492506020810190505b662386f26fc10000831061181c57662386f26fc100008381611812576118116126d0565b5b0492506010810190505b6305f5e1008310611845576305f5e100838161183b5761183a6126d0565b5b0492506008810190505b612710831061186a5761271083816118605761185f6126d0565b5b0492506004810190505b6064831061188d5760648381611883576118826126d0565b5b0492506002810190505b600a831061189c576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119175760006040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161190e9190611c84565b60405180910390fd5b600061192583836000610c83565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119995760006040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016119909190611c84565b60405180910390fd5b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a5657508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a175750611a1684846109ca565b5b80611a5557508273ffffffffffffffffffffffffffffffffffffffff16611a3d83610bd6565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611aa881611a73565b8114611ab357600080fd5b50565b600081359050611ac581611a9f565b92915050565b600060208284031215611ae157611ae0611a69565b5b6000611aef84828501611ab6565b91505092915050565b60008115159050919050565b611b0d81611af8565b82525050565b6000602082019050611b286000830184611b04565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611b68578082015181840152602081019050611b4d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611b9082611b2e565b611b9a8185611b39565b9350611baa818560208601611b4a565b611bb381611b74565b840191505092915050565b60006020820190508181036000830152611bd88184611b85565b905092915050565b6000819050919050565b611bf381611be0565b8114611bfe57600080fd5b50565b600081359050611c1081611bea565b92915050565b600060208284031215611c2c57611c2b611a69565b5b6000611c3a84828501611c01565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c6e82611c43565b9050919050565b611c7e81611c63565b82525050565b6000602082019050611c996000830184611c75565b92915050565b611ca881611c63565b8114611cb357600080fd5b50565b600081359050611cc581611c9f565b92915050565b60008060408385031215611ce257611ce1611a69565b5b6000611cf085828601611cb6565b9250506020611d0185828601611c01565b9150509250929050565b600080600060608486031215611d2457611d23611a69565b5b6000611d3286828701611cb6565b9350506020611d4386828701611cb6565b9250506040611d5486828701611c01565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611da082611b74565b810181811067ffffffffffffffff82111715611dbf57611dbe611d68565b5b80604052505050565b6000611dd2611a5f565b9050611dde8282611d97565b919050565b600067ffffffffffffffff821115611dfe57611dfd611d68565b5b611e0782611b74565b9050602081019050919050565b82818337600083830152505050565b6000611e36611e3184611de3565b611dc8565b905082815260208101848484011115611e5257611e51611d63565b5b611e5d848285611e14565b509392505050565b600082601f830112611e7a57611e79611d5e565b5b8135611e8a848260208601611e23565b91505092915050565b600060208284031215611ea957611ea8611a69565b5b600082013567ffffffffffffffff811115611ec757611ec6611a6e565b5b611ed384828501611e65565b91505092915050565b600060208284031215611ef257611ef1611a69565b5b6000611f0084828501611cb6565b91505092915050565b611f1281611be0565b82525050565b6000602082019050611f2d6000830184611f09565b92915050565b611f3c81611af8565b8114611f4757600080fd5b50565b600081359050611f5981611f33565b92915050565b60008060408385031215611f7657611f75611a69565b5b6000611f8485828601611cb6565b9250506020611f9585828601611f4a565b9150509250929050565b600067ffffffffffffffff821115611fba57611fb9611d68565b5b611fc382611b74565b9050602081019050919050565b6000611fe3611fde84611f9f565b611dc8565b905082815260208101848484011115611fff57611ffe611d63565b5b61200a848285611e14565b509392505050565b600082601f83011261202757612026611d5e565b5b8135612037848260208601611fd0565b91505092915050565b6000806000806080858703121561205a57612059611a69565b5b600061206887828801611cb6565b945050602061207987828801611cb6565b935050604061208a87828801611c01565b925050606085013567ffffffffffffffff8111156120ab576120aa611a6e565b5b6120b787828801612012565b91505092959194509250565b600080604083850312156120da576120d9611a69565b5b60006120e885828601611cb6565b92505060206120f985828601611cb6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061214a57607f821691505b60208210810361215d5761215c612103565b5b50919050565b7f4d696e74696e67206973206e6f7420656e61626c656400000000000000000000600082015250565b6000612199601683611b39565b91506121a482612163565b602082019050919050565b600060208201905081810360008301526121c88161218c565b9050919050565b7f4d696e74696e67206973206f6e6c7920616c6c6f77656420666f7220454f412060008201527f6164647265737365730000000000000000000000000000000000000000000000602082015250565b600061222b602983611b39565b9150612236826121cf565b604082019050919050565b6000602082019050818103600083015261225a8161221e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061229b82611be0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036122cd576122cc612261565b5b600182019050919050565b60006060820190506122ed6000830186611c75565b6122fa6020830185611f09565b6123076040830184611c75565b949350505050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026123717fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612334565b61237b8683612334565b95508019841693508086168417925050509392505050565b6000819050919050565b60006123b86123b36123ae84611be0565b612393565b611be0565b9050919050565b6000819050919050565b6123d28361239d565b6123e66123de826123bf565b848454612341565b825550505050565b600090565b6123fb6123ee565b6124068184846123c9565b505050565b5b8181101561242a5761241f6000826123f3565b60018101905061240c565b5050565b601f82111561246f576124408161230f565b61244984612324565b81016020851015612458578190505b61246c61246485612324565b83018261240b565b50505b505050565b600082821c905092915050565b600061249260001984600802612474565b1980831691505092915050565b60006124ab8383612481565b9150826002028217905092915050565b6124c482611b2e565b67ffffffffffffffff8111156124dd576124dc611d68565b5b6124e78254612132565b6124f282828561242e565b600060209050601f8311600181146125255760008415612513578287015190505b61251d858261249f565b865550612585565b601f1984166125338661230f565b60005b8281101561255b57848901518255600182019150602085019450602081019050612536565b868310156125785784890151612574601f891682612481565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b60006125a382611b2e565b6125ad818561258d565b93506125bd818560208601611b4a565b80840191505092915050565b60006125d58285612598565b91506125e18284612598565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b6000612614826125ed565b61261e81856125f8565b935061262e818560208601611b4a565b61263781611b74565b840191505092915050565b60006080820190506126576000830187611c75565b6126646020830186611c75565b6126716040830185611f09565b81810360608301526126838184612609565b905095945050505050565b60008151905061269d81611a9f565b92915050565b6000602082840312156126b9576126b8611a69565b5b60006126c78482850161268e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006040820190506127146000830185611c75565b6127216020830184611f09565b939250505056fea2646970667358221220d5ae5dc995b0669d91d3dea78c744c3105a071b3221e8ff7f8da086f9de72e8c64736f6c63430008140033