UNPKG

@tokamak-network/thanos-contracts

Version:
1 lines 199 kB
{"abi":[{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"_owner","type":"address","indexed":true,"internalType":"address"},{"name":"_operator","type":"address","indexed":true,"internalType":"address"},{"name":"_approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true,"internalType":"address"},{"name":"_to","type":"address","indexed":true,"internalType":"address"},{"name":"_tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061147b806100206000396000f3fe6080604052600436106100dd5760003560e01c80636352211e1161007f578063a22cb46511610059578063a22cb4651461025f578063b88d4fde1461027f578063c87b56dd14610292578063e985e9c5146102b357600080fd5b80636352211e146101fc57806370a082311461021c57806395d89b411461024a57600080fd5b8063095ea7b3116100bb578063095ea7b3146101a157806323b872dd146101b657806342842e0e146101c95780634cd88b76146101dc57600080fd5b806301ffc9a7146100e257806306fdde0314610117578063081812fc14610139575b600080fd5b3480156100ee57600080fd5b506101026100fd366004610e1f565b610309565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b5061012c6103ee565b60405161010e9190610eae565b34801561014557600080fd5b5061017c610154366004610ec1565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b6101b46101af366004610efe565b610480565b005b6101b46101c4366004610f28565b6105cf565b6101b46101d7366004610f28565b6108c4565b3480156101e857600080fd5b506101b46101f7366004611047565b610a18565b34801561020857600080fd5b5061017c610217366004610ec1565b610ace565b34801561022857600080fd5b5061023c6102373660046110ab565b610b5f565b60405190815260200161010e565b34801561025657600080fd5b5061012c610c07565b34801561026b57600080fd5b506101b461027a3660046110c6565b610c16565b6101b461028d366004611102565b610cad565b34801561029e57600080fd5b5061012c6102ad366004610ec1565b50606090565b3480156102bf57600080fd5b506101026102ce36600461117e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061039c57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103e857507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103fd906111b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610429906111b1565b80156104765780601f1061044b57610100808354040283529160200191610476565b820191906000526020600020905b81548152906001019060200180831161045957829003601f168201915b5050505050905090565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104e3575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b61054e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff84811691161461065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff82166106dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610545565b3373ffffffffffffffffffffffffffffffffffffffff84161480610730575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b8061075e575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054916107f583611233565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080549161082b83611268565b90915550506000818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108cf8383836105cf565b813b15806109ad57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098991906112a0565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b505050565b60065460ff1615610a85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152606401610545565b6000610a91838261130b565b506001610a9e828261130b565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152606401610545565b919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610545565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103fd906111b1565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb88484846105cf565b823b1580610d8257506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610d1b903390899088908890600401611425565b6020604051808303816000875af1158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e91906112a0565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610de8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e1c57600080fd5b50565b600060208284031215610e3157600080fd5b8135610e3c81610dee565b9392505050565b6000815180845260005b81811015610e6957602081850181015186830182015201610e4d565b81811115610e7b576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610e3c6020830184610e43565b600060208284031215610ed357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b5a57600080fd5b60008060408385031215610f1157600080fd5b610f1a83610eda565b946020939093013593505050565b600080600060608486031215610f3d57600080fd5b610f4684610eda565b9250610f5460208501610eda565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115610fae57610fae610f64565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610ff457610ff4610f64565b8160405280935085815286868601111561100d57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261103857600080fd5b610e3c83833560208501610f93565b6000806040838503121561105a57600080fd5b823567ffffffffffffffff8082111561107257600080fd5b61107e86838701611027565b9350602085013591508082111561109457600080fd5b506110a185828601611027565b9150509250929050565b6000602082840312156110bd57600080fd5b610e3c82610eda565b600080604083850312156110d957600080fd5b6110e283610eda565b9150602083013580151581146110f757600080fd5b809150509250929050565b6000806000806080858703121561111857600080fd5b61112185610eda565b935061112f60208601610eda565b925060408501359150606085013567ffffffffffffffff81111561115257600080fd5b8501601f8101871361116357600080fd5b61117287823560208401610f93565b91505092959194509250565b6000806040838503121561119157600080fd5b61119a83610eda565b91506111a860208401610eda565b90509250929050565b600181811c908216806111c557607f821691505b6020821081036111fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008161124257611242611204565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361129957611299611204565b5060010190565b6000602082840312156112b257600080fd5b8151610e3c81610dee565b601f821115610a1357600081815260208120601f850160051c810160208610156112e45750805b601f850160051c820191505b81811015611303578281556001016112f0565b505050505050565b815167ffffffffffffffff81111561132557611325610f64565b6113398161133384546111b1565b846112bd565b602080601f83116001811461138c57600084156113565750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611303565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156113d9578886015182559484019460019091019084016113ba565b508582101561141557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526114646080830184610e43565b969550505050505056fea164736f6c634300080f000a","sourceMap":"381:7498:27:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100dd5760003560e01c80636352211e1161007f578063a22cb46511610059578063a22cb4651461025f578063b88d4fde1461027f578063c87b56dd14610292578063e985e9c5146102b357600080fd5b80636352211e146101fc57806370a082311461021c57806395d89b411461024a57600080fd5b8063095ea7b3116100bb578063095ea7b3146101a157806323b872dd146101b657806342842e0e146101c95780634cd88b76146101dc57600080fd5b806301ffc9a7146100e257806306fdde0314610117578063081812fc14610139575b600080fd5b3480156100ee57600080fd5b506101026100fd366004610e1f565b610309565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b5061012c6103ee565b60405161010e9190610eae565b34801561014557600080fd5b5061017c610154366004610ec1565b60009081526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b6101b46101af366004610efe565b610480565b005b6101b46101c4366004610f28565b6105cf565b6101b46101d7366004610f28565b6108c4565b3480156101e857600080fd5b506101b46101f7366004611047565b610a18565b34801561020857600080fd5b5061017c610217366004610ec1565b610ace565b34801561022857600080fd5b5061023c6102373660046110ab565b610b5f565b60405190815260200161010e565b34801561025657600080fd5b5061012c610c07565b34801561026b57600080fd5b506101b461027a3660046110c6565b610c16565b6101b461028d366004611102565b610cad565b34801561029e57600080fd5b5061012c6102ad366004610ec1565b50606090565b3480156102bf57600080fd5b506101026102ce36600461117e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260056020908152604080832093909416825291909152205460ff1690565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061039c57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806103e857507f5b5e139f000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6060600080546103fd906111b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610429906111b1565b80156104765780601f1061044b57610100808354040283529160200191610476565b820191906000526020600020905b81548152906001019060200180831161045957829003601f168201915b5050505050905090565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff16338114806104e3575073ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152604080832033845290915290205460ff165b61054e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a454400000000000000000000000000000000000060448201526064015b60405180910390fd5b60008281526004602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff84811691161461065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f57524f4e475f46524f4d000000000000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff82166106dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f524543495049454e540000000000000000000000000000006044820152606401610545565b3373ffffffffffffffffffffffffffffffffffffffff84161480610730575073ffffffffffffffffffffffffffffffffffffffff8316600090815260056020908152604080832033845290915290205460ff165b8061075e575060008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff1633145b6107c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e4f545f415554484f52495a45440000000000000000000000000000000000006044820152606401610545565b73ffffffffffffffffffffffffffffffffffffffff831660009081526003602052604081208054916107f583611233565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080549161082b83611268565b90915550506000818152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff8088167fffffffffffffffffffffffff000000000000000000000000000000000000000092831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6108cf8383836105cf565b813b15806109ad57506040517f150b7a020000000000000000000000000000000000000000000000000000000080825233600483015273ffffffffffffffffffffffffffffffffffffffff858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098991906112a0565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610a13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b505050565b60065460ff1615610a85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a4544000000000000000000000000006044820152606401610545565b6000610a91838261130b565b506001610a9e828261130b565b5050600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905550565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1680610b5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f4e4f545f4d494e544544000000000000000000000000000000000000000000006044820152606401610545565b919050565b600073ffffffffffffffffffffffffffffffffffffffff8216610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5a45524f5f4144445245535300000000000000000000000000000000000000006044820152606401610545565b5073ffffffffffffffffffffffffffffffffffffffff1660009081526003602052604090205490565b6060600180546103fd906111b1565b33600081815260056020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610cb88484846105cf565b823b1580610d8257506040517f150b7a02000000000000000000000000000000000000000000000000000000008082529073ffffffffffffffffffffffffffffffffffffffff85169063150b7a0290610d1b903390899088908890600401611425565b6020604051808303816000875af1158015610d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5e91906112a0565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b610de8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f554e534146455f524543495049454e54000000000000000000000000000000006044820152606401610545565b50505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610e1c57600080fd5b50565b600060208284031215610e3157600080fd5b8135610e3c81610dee565b9392505050565b6000815180845260005b81811015610e6957602081850181015186830182015201610e4d565b81811115610e7b576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610e3c6020830184610e43565b600060208284031215610ed357600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610b5a57600080fd5b60008060408385031215610f1157600080fd5b610f1a83610eda565b946020939093013593505050565b600080600060608486031215610f3d57600080fd5b610f4684610eda565b9250610f5460208501610eda565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff80841115610fae57610fae610f64565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610ff457610ff4610f64565b8160405280935085815286868601111561100d57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261103857600080fd5b610e3c83833560208501610f93565b6000806040838503121561105a57600080fd5b823567ffffffffffffffff8082111561107257600080fd5b61107e86838701611027565b9350602085013591508082111561109457600080fd5b506110a185828601611027565b9150509250929050565b6000602082840312156110bd57600080fd5b610e3c82610eda565b600080604083850312156110d957600080fd5b6110e283610eda565b9150602083013580151581146110f757600080fd5b809150509250929050565b6000806000806080858703121561111857600080fd5b61112185610eda565b935061112f60208601610eda565b925060408501359150606085013567ffffffffffffffff81111561115257600080fd5b8501601f8101871361116357600080fd5b61117287823560208401610f93565b91505092959194509250565b6000806040838503121561119157600080fd5b61119a83610eda565b91506111a860208401610eda565b90509250929050565b600181811c908216806111c557607f821691505b6020821081036111fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008161124257611242611204565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361129957611299611204565b5060010190565b6000602082840312156112b257600080fd5b8151610e3c81610dee565b601f821115610a1357600081815260208120601f850160051c810160208610156112e45750805b601f850160051c820191505b81811015611303578281556001016112f0565b505050505050565b815167ffffffffffffffff81111561132557611325610f64565b6113398161133384546111b1565b846112bd565b602080601f83116001811461138c57600084156113565750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555611303565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156113d9578886015182559484019460019091019084016113ba565b508582101561141557878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526114646080830184610e43565b969550505050505056fea164736f6c634300080f000a","sourceMap":"381:7498:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5354:332;;;;;;;;;;-1:-1:-1;5354:332:27;;;;;:::i;:::-;;:::i;:::-;;;611:14:416;;604:22;586:41;;574:2;559:18;5354:332:27;;;;;;;;671:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1927:120::-;;;;;;;;;;-1:-1:-1;1927:120:27;;;;;:::i;:::-;1998:7;2024:16;;;:12;:16;;;;;;;;;1927:120;;;;1760:42:416;1748:55;;;1730:74;;1718:2;1703:18;1927:120:27;1584:226:416;3106:301:27;;;;;;:::i;:::-;;:::i;:::-;;3632:693;;;;;;:::i;:::-;;:::i;4331:386::-;;;;;;:::i;:::-;;:::i;2706:212::-;;;;;;;;;;-1:-1:-1;2706:212:27;;;;;:::i;:::-;;:::i;1258:158::-;;;;;;;;;;-1:-1:-1;1258:158:27;;;;;:::i;:::-;;:::i;1422:177::-;;;;;;;;;;-1:-1:-1;1422:177:27;;;;;:::i;:::-;;:::i;:::-;;;4605:25:416;;;4593:2;4578:18;1422:177:27;4459::416;769:96:27;;;;;;;;;;;;;:::i;3413:213::-;;;;;;;;;;-1:-1:-1;3413:213:27;;;;;:::i;:::-;;:::i;4723:443::-;;;;;;:::i;:::-;;:::i;871:85::-;;;;;;;;;;-1:-1:-1;871:85:27;;;;;:::i;:::-;-1:-1:-1;939:13:27;;871:85;2053:161;;;;;;;;;;-1:-1:-1;2053:161:27;;;;;:::i;:::-;2173:24;;;;2150:4;2173:24;;;:17;:24;;;;;;;;:34;;;;;;;;;;;;;;;2053:161;5354:332;5439:4;5462:25;;;;;;:100;;-1:-1:-1;5537:25:27;;;;;5462:100;:175;;;-1:-1:-1;5612:25:27;;;;;5462:175;5455:182;5354:332;-1:-1:-1;;5354:332:27:o;671:92::-;719:13;751:5;744:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:92;:::o;3106:301::-;3194:13;3210:12;;;:8;:12;;;;;;;;3241:10;:19;;;:59;;-1:-1:-1;3264:24:27;;;;;;;:17;:24;;;;;;;;3289:10;3264:36;;;;;;;;;;3241:59;3233:86;;;;;;;6574:2:416;3233:86:27;;;6556:21:416;6613:2;6593:18;;;6586:30;6652:16;6632:18;;;6625:44;6686:18;;3233:86:27;;;;;;;;;3330:16;;;;:12;:16;;;;;;:26;;;;;;;;;;;;;;3372:28;;3330:16;;3372:28;;;;;;;3184:223;3106:301;;:::o;3632:693::-;3750:12;;;;:8;:12;;;;;;;3742:20;;;3750:12;;3742:20;3734:43;;;;;;;6917:2:416;3734:43:27;;;6899:21:416;6956:2;6936:18;;;6929:30;6995:12;6975:18;;;6968:40;7025:18;;3734:43:27;6715:334:416;3734:43:27;3796:16;;;3788:46;;;;;;;7256:2:416;3788:46:27;;;7238:21:416;7295:2;7275:18;;;7268:30;7334:19;7314:18;;;7307:47;7371:18;;3788:46:27;7054:341:416;3788:46:27;3866:10;:18;;;;;:57;;-1:-1:-1;3888:23:27;;;;;;;:17;:23;;;;;;;;3912:10;3888:35;;;;;;;;;;3866:57;:91;;;-1:-1:-1;3941:16:27;;;;:12;:16;;;;;;;;3927:10;:30;3866:91;3845:152;;;;;;;6574:2:416;3845:152:27;;;6556:21:416;6613:2;6593:18;;;6586:30;6652:16;6632:18;;;6625:44;6686:18;;3845:152:27;6372:338:416;3845:152:27;4173:16;;;;;;;:10;:16;;;;;:18;;;;;;:::i;:::-;;;;-1:-1:-1;;4202:14:27;;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;4229:12:27;;;;:8;:12;;;;;;;;:17;;;;;;;;;;;;;;;4264:12;:16;;;;;;4257:23;;;;;;;4296:22;;4238:2;;4229:17;;4296:22;;;;;;3632:693;;;:::o;4331:386::-;4437:26;4450:4;4456:2;4460;4437:12;:26::i;:::-;7811:18;;7856:14;;4495:173;;-1:-1:-1;4531:67:27;;4622:46;4531:67;;;4573:10;4531:67;;;8318:34:416;4531:41:27;8388:15:416;;;8368:18;;;8361:43;8420:18;;;8413:34;;;8483:3;8463:18;;;8456:31;-1:-1:-1;8503:19:416;;;8496:30;4622:46:27;;4531:41;;;;4622:46;;8543:19:416;;4531:67:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:137;;;4495:173;4474:236;;;;;;;9029:2:416;4474:236:27;;;9011:21:416;9068:2;9048:18;;;9041:30;9107:18;9087;;;9080:46;9143:18;;4474:236:27;8827:340:416;4474:236:27;4331:386;;;:::o;2706:212::-;2796:11;;;;2795:12;2787:44;;;;;;;9374:2:416;2787:44:27;;;9356:21:416;9413:2;9393:18;;;9386:30;9452:21;9432:18;;;9425:49;9491:18;;2787:44:27;9172:343:416;2787:44:27;2842:5;:13;2850:5;2842;:13;:::i;:::-;-1:-1:-1;2865:7:27;:17;2875:7;2865;:17;:::i;:::-;-1:-1:-1;;2893:11:27;:18;;;;2907:4;2893:18;;;-1:-1:-1;2706:212:27:o;1258:158::-;1325:13;1367:12;;;:8;:12;;;;;;1358:36;1367:12;;1350:59;;;;;;;12105:2:416;1350:59:27;;;12087:21:416;12144:2;12124:18;;;12117:30;12183:12;12163:18;;;12156:40;12213:18;;1350:59:27;11903:334:416;1350:59:27;1258:158;;;:::o;1422:177::-;1494:7;1521:19;;;1513:44;;;;;;;12444:2:416;1513:44:27;;;12426:21:416;12483:2;12463:18;;;12456:30;12522:14;12502:18;;;12495:42;12554:18;;1513:44:27;12242:336:416;1513:44:27;-1:-1:-1;1575:17:27;;;;;;:10;:17;;;;;;;1422:177::o;769:96::-;819:13;851:7;844:14;;;;;:::i;3413:213::-;3525:10;3507:29;;;;:17;:29;;;;;;;;;:39;;;;;;;;;;;;:50;;;;;;;;;;;;;3573:46;;586:41:416;;;3507:39:27;;3525:10;3573:46;;559:18:416;3573:46:27;;;;;;;3413:213;;:::o;4723:443::-;4884:26;4897:4;4903:2;4907;4884:12;:26::i;:::-;7811:18;;7856:14;;4942:175;;-1:-1:-1;4978:69:27;;5071:46;4978:69;;;5071:46;4978:41;;;;5071:46;;4978:69;;5020:10;;5032:4;;5038:2;;5042:4;;4978:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:139;;;4942:175;4921:238;;;;;;;9029:2:416;4921:238:27;;;9011:21:416;9068:2;9048:18;;;9041:30;9107:18;9087;;;9080:46;9143:18;;4921:238:27;8827:340:416;4921:238:27;4723:443;;;;:::o;14:177:416:-;99:66;92:5;88:78;81:5;78:89;68:117;;181:1;178;171:12;68:117;14:177;:::o;196:245::-;254:6;307:2;295:9;286:7;282:23;278:32;275:52;;;323:1;320;313:12;275:52;362:9;349:23;381:30;405:5;381:30;:::i;:::-;430:5;196:245;-1:-1:-1;;;196:245:416:o;638:531::-;680:3;718:5;712:12;745:6;740:3;733:19;770:1;780:162;794:6;791:1;788:13;780:162;;;856:4;912:13;;;908:22;;902:29;884:11;;;880:20;;873:59;809:12;780:162;;;960:6;957:1;954:13;951:87;;;1026:1;1019:4;1010:6;1005:3;1001:16;997:27;990:38;951:87;-1:-1:-1;1083:2:416;1071:15;1088:66;1067:88;1058:98;;;;1158:4;1054:109;;638:531;-1:-1:-1;;638:531:416:o;1174:220::-;1323:2;1312:9;1305:21;1286:4;1343:45;1384:2;1373:9;1369:18;1361:6;1343:45;:::i;1399:180::-;1458:6;1511:2;1499:9;1490:7;1486:23;1482:32;1479:52;;;1527:1;1524;1517:12;1479:52;-1:-1:-1;1550:23:416;;1399:180;-1:-1:-1;1399:180:416:o;1815:196::-;1883:20;;1943:42;1932:54;;1922:65;;1912:93;;2001:1;1998;1991:12;2016:254;2084:6;2092;2145:2;2133:9;2124:7;2120:23;2116:32;2113:52;;;2161:1;2158;2151:12;2113:52;2184:29;2203:9;2184:29;:::i;:::-;2174:39;2260:2;2245:18;;;;2232:32;;-1:-1:-1;;;2016:254:416:o;2275:328::-;2352:6;2360;2368;2421:2;2409:9;2400:7;2396:23;2392:32;2389:52;;;2437:1;2434;2427:12;2389:52;2460:29;2479:9;2460:29;:::i;:::-;2450:39;;2508:38;2542:2;2531:9;2527:18;2508:38;:::i;:::-;2498:48;;2593:2;2582:9;2578:18;2565:32;2555:42;;2275:328;;;;;:::o;2608:184::-;2660:77;2657:1;2650:88;2757:4;2754:1;2747:15;2781:4;2778:1;2771:15;2797:691;2862:5;2892:18;2933:2;2925:6;2922:14;2919:40;;;2939:18;;:::i;:::-;3073:2;3067:9;3139:2;3127:15;;2978:66;3123:24;;;3149:2;3119:33;3115:42;3103:55;;;3173:18;;;3193:22;;;3170:46;3167:72;;;3219:18;;:::i;:::-;3259:10;3255:2;3248:22;3288:6;3279:15;;3318:6;3310;3303:22;3358:3;3349:6;3344:3;3340:16;3337:25;3334:45;;;3375:1;3372;3365:12;3334:45;3425:6;3420:3;3413:4;3405:6;3401:17;3388:44;3480:1;3473:4;3464:6;3456;3452:19;3448:30;3441:41;;;;2797:691;;;;;:::o;3493:222::-;3536:5;3589:3;3582:4;3574:6;3570:17;3566:27;3556:55;;3607:1;3604;3597:12;3556:55;3629:80;3705:3;3696:6;3683:20;3676:4;3668:6;3664:17;3629:80;:::i;3720:543::-;3808:6;3816;3869:2;3857:9;3848:7;3844:23;3840:32;3837:52;;;3885:1;3882;3875:12;3837:52;3925:9;3912:23;3954:18;3995:2;3987:6;3984:14;3981:34;;;4011:1;4008;4001:12;3981:34;4034:50;4076:7;4067:6;4056:9;4052:22;4034:50;:::i;:::-;4024:60;;4137:2;4126:9;4122:18;4109:32;4093:48;;4166:2;4156:8;4153:16;4150:36;;;4182:1;4179;4172:12;4150:36;;4205:52;4249:7;4238:8;4227:9;4223:24;4205:52;:::i;:::-;4195:62;;;3720:543;;;;;:::o;4268:186::-;4327:6;4380:2;4368:9;4359:7;4355:23;4351:32;4348:52;;;4396:1;4393;4386:12;4348:52;4419:29;4438:9;4419:29;:::i;4641:347::-;4706:6;4714;4767:2;4755:9;4746:7;4742:23;4738:32;4735:52;;;4783:1;4780;4773:12;4735:52;4806:29;4825:9;4806:29;:::i;:::-;4796:39;;4885:2;4874:9;4870:18;4857:32;4932:5;4925:13;4918:21;4911:5;4908:32;4898:60;;4954:1;4951;4944:12;4898:60;4977:5;4967:15;;;4641:347;;;;;:::o;4993:667::-;5088:6;5096;5104;5112;5165:3;5153:9;5144:7;5140:23;5136:33;5133:53;;;5182:1;5179;5172:12;5133:53;5205:29;5224:9;5205:29;:::i;:::-;5195:39;;5253:38;5287:2;5276:9;5272:18;5253:38;:::i;:::-;5243:48;;5338:2;5327:9;5323:18;5310:32;5300:42;;5393:2;5382:9;5378:18;5365:32;5420:18;5412:6;5409:30;5406:50;;;5452:1;5449;5442:12;5406:50;5475:22;;5528:4;5520:13;;5516:27;-1:-1:-1;5506:55:416;;5557:1;5554;5547:12;5506:55;5580:74;5646:7;5641:2;5628:16;5623:2;5619;5615:11;5580:74;:::i;:::-;5570:84;;;4993:667;;;;;;;:::o;5665:260::-;5733:6;5741;5794:2;5782:9;5773:7;5769:23;5765:32;5762:52;;;5810:1;5807;5800:12;5762:52;5833:29;5852:9;5833:29;:::i;:::-;5823:39;;5881:38;5915:2;5904:9;5900:18;5881:38;:::i;:::-;5871:48;;5665:260;;;;;:::o;5930:437::-;6009:1;6005:12;;;;6052;;;6073:61;;6127:4;6119:6;6115:17;6105:27;;6073:61;6180:2;6172:6;6169:14;6149:18;6146:38;6143:218;;6217:77;6214:1;6207:88;6318:4;6315:1;6308:15;6346:4;6343:1;6336:15;6143:218;;5930:437;;;:::o;7400:184::-;7452:77;7449:1;7442:88;7549:4;7546:1;7539:15;7573:4;7570:1;7563:15;7589:196;7628:3;7656:5;7646:39;;7665:18;;:::i;:::-;-1:-1:-1;7712:66:416;7701:78;;7589:196::o;7790:195::-;7829:3;7860:66;7853:5;7850:77;7847:103;;7930:18;;:::i;:::-;-1:-1:-1;7977:1:416;7966:13;;7790:195::o;8573:249::-;8642:6;8695:2;8683:9;8674:7;8670:23;8666:32;8663:52;;;8711:1;8708;8701:12;8663:52;8743:9;8737:16;8762:30;8786:5;8762:30;:::i;9646:545::-;9748:2;9743:3;9740:11;9737:448;;;9784:1;9809:5;9805:2;9798:17;9854:4;9850:2;9840:19;9924:2;9912:10;9908:19;9905:1;9901:27;9895:4;9891:38;9960:4;9948:10;9945:20;9942:47;;;-1:-1:-1;9983:4:416;9942:47;10038:2;10033:3;10029:12;10026:1;10022:20;10016:4;10012:31;10002:41;;10093:82;10111:2;10104:5;10101:13;10093:82;;;10156:17;;;10137:1;10126:13;10093:82;;;10097:3;;;9646:545;;;:::o;10427:1471::-;10553:3;10547:10;10580:18;10572:6;10569:30;10566:56;;;10602:18;;:::i;:::-;10631:97;10721:6;10681:38;10713:4;10707:11;10681:38;:::i;:::-;10675:4;10631:97;:::i;:::-;10783:4;;10847:2;10836:14;;10864:1;10859:782;;;;11685:1;11702:6;11699:89;;;-1:-1:-1;11754:19:416;;;11748:26;11699:89;10333:66;10324:1;10320:11;;;10316:84;10312:89;10302:100;10408:1;10404:11;;;10299:117;11801:81;;10829:1063;;10859:782;9593:1;9586:14;;;9630:4;9617:18;;10907:66;10895:79;;;11072:236;11086:7;11083:1;11080:14;11072:236;;;11175:19;;;11169:26;11154:42;;11267:27;;;;11235:1;11223:14;;;;11102:19;;11072:236;;;11076:3;11336:6;11327:7;11324:19;11321:261;;;11397:19;;;11391:26;11498:66;11480:1;11476:14;;;11492:3;11472:24;11468:97;11464:102;11449:118;11434:134;;11321:261;-1:-1:-1;;;;;11628:1:416;11612:14;;;11608:22;11595:36;;-1:-1:-1;10427:1471:416:o;12583:512::-;12777:4;12806:42;12887:2;12879:6;12875:15;12864:9;12857:34;12939:2;12931:6;12927:15;12922:2;12911:9;12907:18;12900:43;;12979:6;12974:2;12963:9;12959:18;12952:34;13022:3;13017:2;13006:9;13002:18;12995:31;13043:46;13084:3;13073:9;13069:19;13061:6;13043:46;:::i;:::-;13035:54;12583:512;-1:-1:-1;;;;;;12583:512:416:o","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","initialize(string,string)":"4cd88b76","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"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\":\"_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\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"id\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"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\":\"id\",\"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\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol\",\"kind\":\"dev\",\"methods\":{\"initialize(string,string)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"name()\":{\"notice\":\"A descriptive name for a collection of NFTs in this contract\"},\"symbol()\":{\"notice\":\"An abbreviated name for NFTs in this contract\"}},\"notice\":\"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC721.sol\":\"MockERC721\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address","indexed":true},{"internalType":"address","name":"_approved","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"_owner","type":"address","indexed":true},{"internalType":"address","name":"_operator","type":"address","indexed":true},{"internalType":"bool","name":"_approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"_from","type":"address","indexed":true},{"internalType":"address","name":"_to","type":"address","indexed":true},{"internalType":"uint256","name":"_tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC721.sol":"MockERC721"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":33540,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_name","offset":0,"slot":"0","type":"t_string_storage"},{"astId":33542,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_symbol","offset":0,"slot":"1","type":"t_string_storage"},{"astId":33573,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_ownerOf","offset":0,"slot":"2","type":"t_mapping(t_uint256,t_address)"},{"astId":33577,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_balanceOf","offset":0,"slot":"3","type":"t_mapping(t_address,t_uint256)"},{"astId":33628,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_getApproved","offset":0,"slot":"4","type":"t_mapping(t_uint256,t_address)"},{"astId":33634,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"_isApprovedForAll","offset":0,"slot":"5","type":"t_mapping(t_address,t_mapping(t_address,t_bool))"},{"astId":33667,"contract":"lib/forge-std/src/mocks/MockERC721.sol:MockERC721","label":"initialized","offset":0,"slot":"6","type":"t_bool"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_bool)":{"encoding":"mapping","key":"t_address","label":"mapping(address => bool)","numberOfBytes":"32","value":"t_bool"},"t_mapping(t_address,t_mapping(t_address,t_bool))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => bool))","numberOfBytes":"32","value":"t_mapping(t_address,t_bool)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_mapping(t_uint256,t_address)":{"encoding":"mapping","key":"t_uint256","label":"mapping(uint256 => address)","numberOfBytes":"32","value":"t_address"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user","methods":{"name()":{"notice":"A descriptive name for a collection of NFTs in this contract"},"symbol()":{"notice":"An abbreviated name for NFTs in this contract"}},"notice":"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production."},"devdoc":{"version":1,"kind":"dev","details":"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}}},"ast":{"absolutePath":"lib/forge-std/src/mocks/MockERC721.sol","id":34151,"exportedSymbols":{"IERC721Metadata":[32763],"IERC721TokenReceiver":[34150],"MockERC721":[34136]},"nodeType":"SourceUnit","src":"32:7984:27","nodes":[{"id":33533,"nodeType":"PragmaDirective","src":"32:31:27","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":33535,"nodeType":"ImportDirective","src":"65:58:27","nodes":[],"absolutePath":"lib/forge-std/src/interfaces/IERC721.sol","file":"../interfaces/IERC721.sol","nameLocation":"-1:-1:-1","scope":34151,"sourceUnit":32792,"symbolAliases":[{"foreign":{"id":33534,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32763,"src":"73:15:27","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":34136,"nodeType":"ContractDefinition","src":"381:7498:27","nodes":[{"id":33540,"nodeType":"VariableDeclaration","src":"613:21:27","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"629:5:27","scope":34136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":33539,"name":"string","nodeType":"ElementaryTypeName","src":"613:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":33542,"nodeType":"VariableDeclaration","src":"641:23:27","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"657:7:27","scope":34136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":33541,"name":"string","nodeType":"ElementaryTypeName","src":"641:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"id":33551,"nodeType":"FunctionDefinition","src":"671:92:27","nodes":[],"body":{"id":33550,"nodeType":"Block","src":"734:29:27","nodes":[],"statements":[{"expression":{"id":33548,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33540,"src":"751:5:27","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":33547,"id":33549,"nodeType":"Return","src":"744:12:27"}]},"baseFunctions":[32748],"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"680:4:27","overrides":{"id":33544,"nodeType":"OverrideSpecifier","overrides":[],"src":"701:8:27"},"parameters":{"id":33543,"nodeType":"ParameterList","parameters":[],"src":"684:2:27"},"returnParameters":{"id":33547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33546,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33551,"src":"719:13:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33545,"name":"string","nodeType":"ElementaryTypeName","src":"719:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"718:15:27"},"scope":34136,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":33560,"nodeType":"FunctionDefinition","src":"769:96:27","nodes":[],"body":{"id":33559,"nodeType":"Block","src":"834:31:27","nodes":[],"statements":[{"expression":{"id":33557,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33542,"src":"851:7:27","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":33556,"id":33558,"nodeType":"Return","src":"844:14:27"}]},"baseFunctions":[32754],"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"778:6:27","overrides":{"id":33553,"nodeType":"OverrideSpecifier","overrides":[],"src":"801:8:27"},"parameters":{"id":33552,"nodeType":"ParameterList","parameters":[],"src":"784:2:27"},"returnParameters":{"id":33556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33560,"src":"819:13:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33554,"name":"string","nodeType":"ElementaryTypeName","src":"819:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"818:15:27"},"scope":34136,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":33569,"nodeType":"FunctionDefinition","src":"871:85:27","nodes":[],"body":{"id":33568,"nodeType":"Block","src":"954:2:27","nodes":[],"statements":[]},"baseFunctions":[32762],"functionSelector":"c87b56dd","implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"880:8:27","overrides":{"id":33564,"nodeType":"OverrideSpecifier","overrides":[],"src":"921:8:27"},"parameters":{"id":33563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33562,"mutability":"mutable","name":"id","nameLocation":"897:2:27","nodeType":"VariableDeclaration","scope":33569,"src":"889:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33561,"name":"uint256","nodeType":"ElementaryTypeName","src":"889:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"888:12:27"},"returnParameters":{"id":33567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33566,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33569,"src":"939:13:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33565,"name":"string","nodeType":"ElementaryTypeName","src":"939:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"938:15:27"},"scope":34136,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33573,"nodeType":"VariableDeclaration","src":"1152:45:27","nodes":[],"constant":false,"mutability":"mutable","name":"_ownerOf","nameLocation":"1189:8:27","scope":34136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":33572,"keyType":{"id":33570,"name":"uint256","nodeType":"ElementaryTypeName","src":"1160:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1152:27:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueType":{"id":33571,"name":"address","nodeType":"ElementaryTypeName","src":"1171:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"id":33577,"nodeType":"VariableDeclaration","src":"1204:47:27","nodes":[],"constant":false,"mutability":"mutable","name":"_balanceOf","nameLocation":"1241:10:27","scope":34136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":33576,"keyType":{"id":33574,"name":"address","nodeType":"ElementaryTypeName","src":"1212:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1204:27:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":33575,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":33601,"nodeType":"FunctionDefinition","src":"1258:158:27","nodes":[],"body":{"id":33600,"nodeType":"Block","src":"1340:76:27","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"id":33590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33586,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33583,"src":"1359:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":33587,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"1367:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33589,"indexExpression":{"id":33588,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33579,"src":"1376:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1367:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1359:20:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":33591,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1358:22:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1392:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33593,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1384:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33592,"name":"address","nodeType":"ElementaryTypeName","src":"1384:7:27","typeDescriptions":{}}},"id":33595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1384:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1358:36:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":33597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1396:12:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":33585,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1350:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1350:59:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33599,"nodeType":"ExpressionStatement","src":"1350:59:27"}]},"baseFunctions":[32656],"functionSelector":"6352211e","implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1267:7:27","overrides":{"id":33581,"nodeType":"OverrideSpecifier","overrides":[],"src":"1307:8:27"},"parameters":{"id":33580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33579,"mutability":"mutable","name":"id","nameLocation":"1283:2:27","nodeType":"VariableDeclaration","scope":33601,"src":"1275:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33578,"name":"uint256","nodeType":"ElementaryTypeName","src":"1275:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1274:12:27"},"returnParameters":{"id":33584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33583,"mutability":"mutable","name":"owner","nameLocation":"1333:5:27","nodeType":"VariableDeclaration","scope":33601,"src":"1325:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33582,"name":"address","nodeType":"ElementaryTypeName","src":"1325:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1324:15:27"},"scope":34136,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33624,"nodeType":"FunctionDefinition","src":"1422:177:27","nodes":[],"body":{"id":33623,"nodeType":"Block","src":"1503:96:27","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33610,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33603,"src":"1521:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1538:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1530:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33611,"name":"address","nodeType":"ElementaryTypeName","src":"1530:7:27","typeDescriptions":{}}},"id":33614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1530:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1521:19:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5a45524f5f41444452455353","id":33616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1542:14:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""},"value":"ZERO_ADDRESS"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71869b3729b99fadce3ee30cb1aa2a0d639e6a2d24158c1ae1ae0059e81b72af","typeString":"literal_string \"ZERO_ADDRESS\""}],"id":33609,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1513:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1513:44:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33618,"nodeType":"ExpressionStatement","src":"1513:44:27"},{"expression":{"baseExpression":{"id":33619,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33577,"src":"1575:10:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33621,"indexExpression":{"id":33620,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33603,"src":"1586:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1575:17:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":33608,"id":33622,"nodeType":"Return","src":"1568:24:27"}]},"baseFunctions":[32648],"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1431:9:27","overrides":{"id":33605,"nodeType":"OverrideSpecifier","overrides":[],"src":"1476:8:27"},"parameters":{"id":33604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33603,"mutability":"mutable","name":"owner","nameLocation":"1449:5:27","nodeType":"VariableDeclaration","scope":33624,"src":"1441:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33602,"name":"address","nodeType":"ElementaryTypeName","src":"1441:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1440:15:27"},"returnParameters":{"id":33608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33607,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33624,"src":"1494:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33606,"name":"uint256","nodeType":"ElementaryTypeName","src":"1494:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1493:9:27"},"scope":34136,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33628,"nodeType":"VariableDeclaration","src":"1793:49:27","nodes":[],"constant":false,"mutability":"mutable","name":"_getApproved","nameLocation":"1830:12:27","scope":34136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":33627,"keyType":{"id":33625,"name":"uint256","nodeType":"ElementaryTypeName","src":"1801:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1793:27:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueType":{"id":33626,"name":"address","nodeType":"ElementaryTypeName","src":"1812:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"id":33634,"nodeType":"VariableDeclaration","src":"1849:71:27","nodes":[],"constant":false,"mutability":"mutable","name":"_isApprovedForAll","nameLocation":"1903:17:27","scope":34136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":33633,"keyType":{"id":33629,"name":"address","nodeType":"ElementaryTypeName","src":"1857:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1849:44:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueType":{"id":33632,"keyType":{"id":33630,"name":"address","nodeType":"ElementaryTypeName","src":"1876:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1868:24:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":33631,"name":"bool","nodeType":"ElementaryTypeName","src":"1887:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"internal"},{"id":33647,"nodeType":"FunctionDefinition","src":"1927:120:27","nodes":[],"body":{"id":33646,"nodeType":"Block","src":"2007:40:27","nodes":[],"statements":[{"expression":{"baseExpression":{"id":33642,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33628,"src":"2024:12:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33644,"indexExpression":{"id":33643,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33636,"src":"2037:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2024:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":33641,"id":33645,"nodeType":"Return","src":"2017:23:27"}]},"baseFunctions":[32712],"functionSelector":"081812fc","implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"1936:11:27","overrides":{"id":33638,"nodeType":"OverrideSpecifier","overrides":[],"src":"1980:8:27"},"parameters":{"id":33637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33636,"mutability":"mutable","name":"id","nameLocation":"1956:2:27","nodeType":"VariableDeclaration","scope":33647,"src":"1948:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33635,"name":"uint256","nodeType":"ElementaryTypeName","src":"1948:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1947:12:27"},"returnParameters":{"id":33641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33647,"src":"1998:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33639,"name":"address","nodeType":"ElementaryTypeName","src":"1998:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1997:9:27"},"scope":34136,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33664,"nodeType":"FunctionDefinition","src":"2053:161:27","nodes":[],"body":{"id":33663,"nodeType":"Block","src":"2156:58:27","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":33657,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33634,"src":"2173:17:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33659,"indexExpression":{"id":33658,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33649,"src":"2191:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2173:24:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33661,"indexExpression":{"id":33660,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33651,"src":"2198:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2173:34:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":33656,"id":33662,"nodeType":"Return","src":"2166:41:27"}]},"baseFunctions":[32722],"functionSelector":"e985e9c5","implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"2062:16:27","overrides":{"id":33653,"nodeType":"OverrideSpecifier","overrides":[],"src":"2132:8:27"},"parameters":{"id":33652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33649,"mutability":"mutable","name":"owner","nameLocation":"2087:5:27","nodeType":"VariableDeclaration","scope":33664,"src":"2079:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33648,"name":"address","nodeType":"ElementaryTypeName","src":"2079:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33651,"mutability":"mutable","name":"operator","nameLocation":"2102:8:27","nodeType":"VariableDeclaration","scope":33664,"src":"2094:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33650,"name":"address","nodeType":"ElementaryTypeName","src":"2094:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2078:33:27"},"returnParameters":{"id":33656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33664,"src":"2150:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33654,"name":"bool","nodeType":"ElementaryTypeName","src":"2150:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2149:6:27"},"scope":34136,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33667,"nodeType":"VariableDeclaration","src":"2473:24:27","nodes":[],"constant":false,"documentation":{"id":33665,"nodeType":"StructuredDocumentation","src":"2401:67:27","text":"@dev A bool to track whether the contract has been initialized."},"mutability":"mutable","name":"initialized","nameLocation":"2486:11:27","scope":34136,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33666,"name":"bool","nodeType":"ElementaryTypeName","src":"2473:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":33694,"nodeType":"FunctionDefinition","src":"2706:212:27","nodes":[],"body":{"id":33693,"nodeType":"Block","src":"2777:141:27","nodes":[],"statements":[{"expression":{"arguments":[{"id":33677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2795:12:27","subExpression":{"id":33676,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33667,"src":"2796:11:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f494e495449414c495a4544","id":33678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2809:21:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""},"value":"ALREADY_INITIALIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_241395e6b20092ec3fd5dfc22ea70fc2615c08854b7fd10fb3028d965cf738f3","typeString":"literal_string \"ALREADY_INITIALIZED\""}],"id":33675,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2787:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2787:44:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33680,"nodeType":"ExpressionStatement","src":"2787:44:27"},{"expression":{"id":33683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33681,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33540,"src":"2842:5:27","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33682,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33670,"src":"2850:5:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2842:13:27","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":33684,"nodeType":"ExpressionStatement","src":"2842:13:27"},{"expression":{"id":33687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33685,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33542,"src":"2865:7:27","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33686,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33672,"src":"2875:7:27","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2865:17:27","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":33688,"nodeType":"ExpressionStatement","src":"2865:17:27"},{"expression":{"id":33691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":33689,"name":"initialized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33667,"src":"2893:11:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":33690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2907:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2893:18:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33692,"nodeType":"ExpressionStatement","src":"2893:18:27"}]},"documentation":{"id":33668,"nodeType":"StructuredDocumentation","src":"2504:197:27","text":"@dev To hide constructor warnings across solc versions due to different constructor visibility requirements and\n syntaxes, we add an initialization function that can be called only once."},"functionSelector":"4cd88b76","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"2715:10:27","parameters":{"id":33673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33670,"mutability":"mutable","name":"name_","nameLocation":"2740:5:27","nodeType":"VariableDeclaration","scope":33694,"src":"2726:19:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33669,"name":"string","nodeType":"ElementaryTypeName","src":"2726:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":33672,"mutability":"mutable","name":"symbol_","nameLocation":"2761:7:27","nodeType":"VariableDeclaration","scope":33694,"src":"2747:21:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":33671,"name":"string","nodeType":"ElementaryTypeName","src":"2747:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2725:44:27"},"returnParameters":{"id":33674,"nodeType":"ParameterList","parameters":[],"src":"2777:0:27"},"scope":34136,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":33736,"nodeType":"FunctionDefinition","src":"3106:301:27","nodes":[],"body":{"id":33735,"nodeType":"Block","src":"3184:223:27","nodes":[],"statements":[{"assignments":[33703],"declarations":[{"constant":false,"id":33703,"mutability":"mutable","name":"owner","nameLocation":"3202:5:27","nodeType":"VariableDeclaration","scope":33735,"src":"3194:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33702,"name":"address","nodeType":"ElementaryTypeName","src":"3194:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":33707,"initialValue":{"baseExpression":{"id":33704,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"3210:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33706,"indexExpression":{"id":33705,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33698,"src":"3219:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3210:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3194:28:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33709,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3241:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3241:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":33711,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33703,"src":"3255:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3241:19:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":33713,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33634,"src":"3264:17:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33715,"indexExpression":{"id":33714,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33703,"src":"3282:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3264:24:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33718,"indexExpression":{"expression":{"id":33716,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3289:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3289:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3264:36:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3241:59:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":33720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3302:16:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":33708,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3233:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3233:86:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33722,"nodeType":"ExpressionStatement","src":"3233:86:27"},{"expression":{"id":33727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":33723,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33628,"src":"3330:12:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33725,"indexExpression":{"id":33724,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33698,"src":"3343:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3330:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33726,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"3349:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3330:26:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33728,"nodeType":"ExpressionStatement","src":"3330:26:27"},{"eventCall":{"arguments":[{"id":33730,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33703,"src":"3381:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33731,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33696,"src":"3388:7:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33732,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33698,"src":"3397:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33729,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32631,"src":"3372:8:27","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3372:28:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33734,"nodeType":"EmitStatement","src":"3367:33:27"}]},"baseFunctions":[32696],"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3115:7:27","overrides":{"id":33700,"nodeType":"OverrideSpecifier","overrides":[],"src":"3175:8:27"},"parameters":{"id":33699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33696,"mutability":"mutable","name":"spender","nameLocation":"3131:7:27","nodeType":"VariableDeclaration","scope":33736,"src":"3123:15:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33695,"name":"address","nodeType":"ElementaryTypeName","src":"3123:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33698,"mutability":"mutable","name":"id","nameLocation":"3148:2:27","nodeType":"VariableDeclaration","scope":33736,"src":"3140:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33697,"name":"uint256","nodeType":"ElementaryTypeName","src":"3140:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3122:29:27"},"returnParameters":{"id":33701,"nodeType":"ParameterList","parameters":[],"src":"3184:0:27"},"scope":34136,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33761,"nodeType":"FunctionDefinition","src":"3413:213:27","nodes":[],"body":{"id":33760,"nodeType":"Block","src":"3497:129:27","nodes":[],"statements":[{"expression":{"id":33751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":33744,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33634,"src":"3507:17:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33748,"indexExpression":{"expression":{"id":33745,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3525:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3525:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3507:29:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33749,"indexExpression":{"id":33747,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33738,"src":"3537:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3507:39:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33750,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33740,"src":"3549:8:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3507:50:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":33752,"nodeType":"ExpressionStatement","src":"3507:50:27"},{"eventCall":{"arguments":[{"expression":{"id":33754,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3588:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3588:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33756,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33738,"src":"3600:8:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33757,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33740,"src":"3610:8:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":33753,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32640,"src":"3573:14:27","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":33758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3573:46:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33759,"nodeType":"EmitStatement","src":"3568:51:27"}]},"baseFunctions":[32704],"functionSelector":"a22cb465","implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"3422:17:27","overrides":{"id":33742,"nodeType":"OverrideSpecifier","overrides":[],"src":"3488:8:27"},"parameters":{"id":33741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33738,"mutability":"mutable","name":"operator","nameLocation":"3448:8:27","nodeType":"VariableDeclaration","scope":33761,"src":"3440:16:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33737,"name":"address","nodeType":"ElementaryTypeName","src":"3440:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33740,"mutability":"mutable","name":"approved","nameLocation":"3463:8:27","nodeType":"VariableDeclaration","scope":33761,"src":"3458:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33739,"name":"bool","nodeType":"ElementaryTypeName","src":"3458:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3439:33:27"},"returnParameters":{"id":33743,"nodeType":"ParameterList","parameters":[],"src":"3497:0:27"},"scope":34136,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":33840,"nodeType":"FunctionDefinition","src":"3632:693:27","nodes":[],"body":{"id":33839,"nodeType":"Block","src":"3724:601:27","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33772,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33763,"src":"3742:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":33773,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"3750:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33775,"indexExpression":{"id":33774,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33767,"src":"3759:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3750:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3742:20:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"57524f4e475f46524f4d","id":33777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3764:12:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""},"value":"WRONG_FROM"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f70366941d4d371c05a2457cbc0f4d05a3d6bc57ab01a7c3338bfed233eebe93","typeString":"literal_string \"WRONG_FROM\""}],"id":33771,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3734:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3734:43:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33779,"nodeType":"ExpressionStatement","src":"3734:43:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33781,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33765,"src":"3796:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3810:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3802:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33782,"name":"address","nodeType":"ElementaryTypeName","src":"3802:7:27","typeDescriptions":{}}},"id":33785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3802:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3796:16:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":33787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3814:19:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":33780,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3788:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3788:46:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33789,"nodeType":"ExpressionStatement","src":"3788:46:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33791,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3866:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3866:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":33793,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33763,"src":"3880:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3866:18:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"baseExpression":{"baseExpression":{"id":33795,"name":"_isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33634,"src":"3888:17:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":33797,"indexExpression":{"id":33796,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33763,"src":"3906:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3888:23:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":33800,"indexExpression":{"expression":{"id":33798,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3912:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3912:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3888:35:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3866:57:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33807,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":33802,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3927:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3927:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":33804,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33628,"src":"3941:12:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33806,"indexExpression":{"id":33805,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33767,"src":"3954:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3941:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3927:30:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3866:91:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f415554484f52495a4544","id":33809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3971:16:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""},"value":"NOT_AUTHORIZED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e7e213d5e2bee0acc2c7bf8bfda19ef0cae82e7b8c997e7e898919269971e7c4","typeString":"literal_string \"NOT_AUTHORIZED\""}],"id":33790,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3845:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3845:152:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33811,"nodeType":"ExpressionStatement","src":"3845:152:27"},{"expression":{"id":33815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"4173:18:27","subExpression":{"baseExpression":{"id":33812,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33577,"src":"4173:10:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33814,"indexExpression":{"id":33813,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33763,"src":"4184:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4173:16:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33816,"nodeType":"ExpressionStatement","src":"4173:18:27"},{"expression":{"id":33820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"4202:16:27","subExpression":{"baseExpression":{"id":33817,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33577,"src":"4202:10:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33819,"indexExpression":{"id":33818,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33765,"src":"4213:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4202:14:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33821,"nodeType":"ExpressionStatement","src":"4202:16:27"},{"expression":{"id":33826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":33822,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"4229:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33824,"indexExpression":{"id":33823,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33767,"src":"4238:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4229:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33825,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33765,"src":"4244:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4229:17:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33827,"nodeType":"ExpressionStatement","src":"4229:17:27"},{"expression":{"id":33831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4257:23:27","subExpression":{"baseExpression":{"id":33828,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33628,"src":"4264:12:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33830,"indexExpression":{"id":33829,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33767,"src":"4277:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4264:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33832,"nodeType":"ExpressionStatement","src":"4257:23:27"},{"eventCall":{"arguments":[{"id":33834,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33763,"src":"4305:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33835,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33765,"src":"4311:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33836,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33767,"src":"4315:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33833,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32622,"src":"4296:8:27","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4296:22:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33838,"nodeType":"EmitStatement","src":"4291:27:27"}]},"baseFunctions":[32688],"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3641:12:27","overrides":{"id":33769,"nodeType":"OverrideSpecifier","overrides":[],"src":"3715:8:27"},"parameters":{"id":33768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33763,"mutability":"mutable","name":"from","nameLocation":"3662:4:27","nodeType":"VariableDeclaration","scope":33840,"src":"3654:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33762,"name":"address","nodeType":"ElementaryTypeName","src":"3654:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33765,"mutability":"mutable","name":"to","nameLocation":"3676:2:27","nodeType":"VariableDeclaration","scope":33840,"src":"3668:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33764,"name":"address","nodeType":"ElementaryTypeName","src":"3668:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33767,"mutability":"mutable","name":"id","nameLocation":"3688:2:27","nodeType":"VariableDeclaration","scope":33840,"src":"3680:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33766,"name":"uint256","nodeType":"ElementaryTypeName","src":"3680:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3653:38:27"},"returnParameters":{"id":33770,"nodeType":"ParameterList","parameters":[],"src":"3724:0:27"},"scope":34136,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33880,"nodeType":"FunctionDefinition","src":"4331:386:27","nodes":[],"body":{"id":33879,"nodeType":"Block","src":"4427:290:27","nodes":[],"statements":[{"expression":{"arguments":[{"id":33851,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33842,"src":"4450:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33852,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33844,"src":"4456:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33853,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33846,"src":"4460:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33850,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33840,"src":"4437:12:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4437:26:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33855,"nodeType":"ExpressionStatement","src":"4437:26:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33875,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4495:16:27","subExpression":{"arguments":[{"id":33858,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33844,"src":"4508:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33857,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34135,"src":"4496:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":33859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4496:15:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33874,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33865,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4573:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4573:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33867,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33842,"src":"4585:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33868,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33846,"src":"4591:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":33869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4595:2:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":33862,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33844,"src":"4552:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33861,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"4531:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4531:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$34150","typeString":"contract IERC721TokenReceiver"}},"id":33864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"4531:41:27","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":33870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4531:67:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":33871,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"4622:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33872,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"4622:37:27","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":33873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"4622:46:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4531:137:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4495:173:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":33876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4682:18:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":33856,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4474:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4474:236:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33878,"nodeType":"ExpressionStatement","src":"4474:236:27"}]},"baseFunctions":[32678],"functionSelector":"42842e0e","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4340:16:27","overrides":{"id":33848,"nodeType":"OverrideSpecifier","overrides":[],"src":"4418:8:27"},"parameters":{"id":33847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33842,"mutability":"mutable","name":"from","nameLocation":"4365:4:27","nodeType":"VariableDeclaration","scope":33880,"src":"4357:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33841,"name":"address","nodeType":"ElementaryTypeName","src":"4357:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33844,"mutability":"mutable","name":"to","nameLocation":"4379:2:27","nodeType":"VariableDeclaration","scope":33880,"src":"4371:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33843,"name":"address","nodeType":"ElementaryTypeName","src":"4371:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33846,"mutability":"mutable","name":"id","nameLocation":"4391:2:27","nodeType":"VariableDeclaration","scope":33880,"src":"4383:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33845,"name":"uint256","nodeType":"ElementaryTypeName","src":"4383:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4356:38:27"},"returnParameters":{"id":33849,"nodeType":"ParameterList","parameters":[],"src":"4427:0:27"},"scope":34136,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33922,"nodeType":"FunctionDefinition","src":"4723:443:27","nodes":[],"body":{"id":33921,"nodeType":"Block","src":"4874:292:27","nodes":[],"statements":[{"expression":{"arguments":[{"id":33893,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33882,"src":"4897:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33894,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33884,"src":"4903:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33895,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33886,"src":"4907:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33892,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33840,"src":"4884:12:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4884:26:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33897,"nodeType":"ExpressionStatement","src":"4884:26:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4942:16:27","subExpression":{"arguments":[{"id":33900,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33884,"src":"4955:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33899,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34135,"src":"4943:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":33901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4943:15:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":33907,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5020:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":33908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"5020:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33909,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33882,"src":"5032:4:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33910,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33886,"src":"5038:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":33911,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33888,"src":"5042:4:27","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":33904,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33884,"src":"4999:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":33903,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"4978:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4978:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$34150","typeString":"contract IERC721TokenReceiver"}},"id":33906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"4978:41:27","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":33912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4978:69:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":33913,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"5071:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":33914,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"5071:37:27","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":33915,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"5071:46:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"4978:139:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4942:175:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":33918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5131:18:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":33898,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4921:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4921:238:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33920,"nodeType":"ExpressionStatement","src":"4921:238:27"}]},"baseFunctions":[32668],"functionSelector":"b88d4fde","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4732:16:27","overrides":{"id":33890,"nodeType":"OverrideSpecifier","overrides":[],"src":"4861:8:27"},"parameters":{"id":33889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33882,"mutability":"mutable","name":"from","nameLocation":"4757:4:27","nodeType":"VariableDeclaration","scope":33922,"src":"4749:12:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33881,"name":"address","nodeType":"ElementaryTypeName","src":"4749:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33884,"mutability":"mutable","name":"to","nameLocation":"4771:2:27","nodeType":"VariableDeclaration","scope":33922,"src":"4763:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33883,"name":"address","nodeType":"ElementaryTypeName","src":"4763:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33886,"mutability":"mutable","name":"id","nameLocation":"4783:2:27","nodeType":"VariableDeclaration","scope":33922,"src":"4775:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33885,"name":"uint256","nodeType":"ElementaryTypeName","src":"4775:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":33888,"mutability":"mutable","name":"data","nameLocation":"4800:4:27","nodeType":"VariableDeclaration","scope":33922,"src":"4787:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":33887,"name":"bytes","nodeType":"ElementaryTypeName","src":"4787:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4748:57:27"},"returnParameters":{"id":33891,"nodeType":"ParameterList","parameters":[],"src":"4874:0:27"},"scope":34136,"stateMutability":"payable","virtual":true,"visibility":"public"},{"id":33943,"nodeType":"FunctionDefinition","src":"5354:332:27","nodes":[],"body":{"id":33942,"nodeType":"Block","src":"5445:241:27","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":33936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33930,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33924,"src":"5462:11:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783031666663396137","id":33931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5477:10:27","typeDescriptions":{"typeIdentifier":"t_rational_33540519_by_1","typeString":"int_const 33540519"},"value":"0x01ffc9a7"},"src":"5462:25:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33933,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33924,"src":"5537:11:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783830616335386364","id":33934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5552:10:27","typeDescriptions":{"typeIdentifier":"t_rational_2158778573_by_1","typeString":"int_const 2158778573"},"value":"0x80ac58cd"},"src":"5537:25:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5462:100:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":33939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33937,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33924,"src":"5612:11:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783562356531333966","id":33938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5627:10:27","typeDescriptions":{"typeIdentifier":"t_rational_1532892063_by_1","typeString":"int_const 1532892063"},"value":"0x5b5e139f"},"src":"5612:25:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5462:175:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":33929,"id":33941,"nodeType":"Return","src":"5455:182:27"}]},"baseFunctions":[32510],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"5363:17:27","overrides":{"id":33926,"nodeType":"OverrideSpecifier","overrides":[],"src":"5421:8:27"},"parameters":{"id":33925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33924,"mutability":"mutable","name":"interfaceId","nameLocation":"5388:11:27","nodeType":"VariableDeclaration","scope":33943,"src":"5381:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":33923,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5381:6:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"5380:20:27"},"returnParameters":{"id":33929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":33943,"src":"5439:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":33927,"name":"bool","nodeType":"ElementaryTypeName","src":"5439:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5438:6:27"},"scope":34136,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":33993,"nodeType":"FunctionDefinition","src":"5880:338:27","nodes":[],"body":{"id":33992,"nodeType":"Block","src":"5936:282:27","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":33951,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33945,"src":"5954:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":33954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5968:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33953,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5960:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33952,"name":"address","nodeType":"ElementaryTypeName","src":"5960:7:27","typeDescriptions":{}}},"id":33955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5960:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5954:16:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f524543495049454e54","id":33957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5972:19:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""},"value":"INVALID_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5e7bf34c5f9e77c6f415365fc02ea1195419ccebda18d14265f0c098f3687483","typeString":"literal_string \"INVALID_RECIPIENT\""}],"id":33950,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5946:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5946:46:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33959,"nodeType":"ExpressionStatement","src":"5946:46:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":33968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":33961,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"6011:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33963,"indexExpression":{"id":33962,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33947,"src":"6020:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6011:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":33966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6035:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33965,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6027:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33964,"name":"address","nodeType":"ElementaryTypeName","src":"6027:7:27","typeDescriptions":{}}},"id":33967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6027:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6011:26:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"414c52454144595f4d494e544544","id":33969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6039:16:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""},"value":"ALREADY_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e3f56786f4dc15ea567a5bcea1aa6e11424106cac78b0acf41b1b7deccad9f1b","typeString":"literal_string \"ALREADY_MINTED\""}],"id":33960,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6003:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":33970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6003:53:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33971,"nodeType":"ExpressionStatement","src":"6003:53:27"},{"expression":{"id":33975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"6123:16:27","subExpression":{"baseExpression":{"id":33972,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33577,"src":"6123:10:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":33974,"indexExpression":{"id":33973,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33945,"src":"6134:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6123:14:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":33976,"nodeType":"ExpressionStatement","src":"6123:16:27"},{"expression":{"id":33981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":33977,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"6150:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":33979,"indexExpression":{"id":33978,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33947,"src":"6159:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6150:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":33980,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33945,"src":"6165:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6150:17:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":33982,"nodeType":"ExpressionStatement","src":"6150:17:27"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":33986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6200:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":33985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6192:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":33984,"name":"address","nodeType":"ElementaryTypeName","src":"6192:7:27","typeDescriptions":{}}},"id":33987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6192:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33988,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33945,"src":"6204:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":33989,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33947,"src":"6208:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":33983,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32622,"src":"6183:8:27","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":33990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6183:28:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":33991,"nodeType":"EmitStatement","src":"6178:33:27"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"5889:5:27","parameters":{"id":33948,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33945,"mutability":"mutable","name":"to","nameLocation":"5903:2:27","nodeType":"VariableDeclaration","scope":33993,"src":"5895:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33944,"name":"address","nodeType":"ElementaryTypeName","src":"5895:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":33947,"mutability":"mutable","name":"id","nameLocation":"5915:2:27","nodeType":"VariableDeclaration","scope":33993,"src":"5907:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33946,"name":"uint256","nodeType":"ElementaryTypeName","src":"5907:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5894:24:27"},"returnParameters":{"id":33949,"nodeType":"ParameterList","parameters":[],"src":"5936:0:27"},"scope":34136,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":34039,"nodeType":"FunctionDefinition","src":"6224:283:27","nodes":[],"body":{"id":34038,"nodeType":"Block","src":"6268:239:27","nodes":[],"statements":[{"assignments":[33999],"declarations":[{"constant":false,"id":33999,"mutability":"mutable","name":"owner","nameLocation":"6286:5:27","nodeType":"VariableDeclaration","scope":34038,"src":"6278:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":33998,"name":"address","nodeType":"ElementaryTypeName","src":"6278:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":34003,"initialValue":{"baseExpression":{"id":34000,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"6294:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":34002,"indexExpression":{"id":34001,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33995,"src":"6303:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6294:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6278:28:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":34010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34005,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33999,"src":"6325:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":34008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6342:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":34007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6334:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34006,"name":"address","nodeType":"ElementaryTypeName","src":"6334:7:27","typeDescriptions":{}}},"id":34009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6334:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6325:19:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e4f545f4d494e544544","id":34011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6346:12:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""},"value":"NOT_MINTED"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e904b298bc24890ae0c043938d840f08b90773c1635904efe1336d6f851f98ca","typeString":"literal_string \"NOT_MINTED\""}],"id":34004,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6317:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6317:42:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34013,"nodeType":"ExpressionStatement","src":"6317:42:27"},{"expression":{"id":34017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"6370:19:27","subExpression":{"baseExpression":{"id":34014,"name":"_balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33577,"src":"6370:10:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":34016,"indexExpression":{"id":34015,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33999,"src":"6381:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6370:17:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34018,"nodeType":"ExpressionStatement","src":"6370:19:27"},{"expression":{"id":34022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6400:19:27","subExpression":{"baseExpression":{"id":34019,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33573,"src":"6407:8:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":34021,"indexExpression":{"id":34020,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33995,"src":"6416:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6407:12:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34023,"nodeType":"ExpressionStatement","src":"6400:19:27"},{"expression":{"id":34027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"6430:23:27","subExpression":{"baseExpression":{"id":34024,"name":"_getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33628,"src":"6437:12:27","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":34026,"indexExpression":{"id":34025,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33995,"src":"6450:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6437:16:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34028,"nodeType":"ExpressionStatement","src":"6430:23:27"},{"eventCall":{"arguments":[{"id":34030,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33999,"src":"6478:5:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":34033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6493:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":34032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6485:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34031,"name":"address","nodeType":"ElementaryTypeName","src":"6485:7:27","typeDescriptions":{}}},"id":34034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6485:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":34035,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33995,"src":"6497:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34029,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32622,"src":"6469:8:27","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":34036,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6469:31:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34037,"nodeType":"EmitStatement","src":"6464:36:27"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"6233:5:27","parameters":{"id":33996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":33995,"mutability":"mutable","name":"id","nameLocation":"6247:2:27","nodeType":"VariableDeclaration","scope":34039,"src":"6239:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":33994,"name":"uint256","nodeType":"ElementaryTypeName","src":"6239:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6238:12:27"},"returnParameters":{"id":33997,"nodeType":"ParameterList","parameters":[],"src":"6268:0:27"},"scope":34136,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":34078,"nodeType":"FunctionDefinition","src":"6701:343:27","nodes":[],"body":{"id":34077,"nodeType":"Block","src":"6761:283:27","nodes":[],"statements":[{"expression":{"arguments":[{"id":34047,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34041,"src":"6777:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":34048,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34043,"src":"6781:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34046,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33993,"src":"6771:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":34049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6771:13:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34050,"nodeType":"ExpressionStatement","src":"6771:13:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":34073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6816:16:27","subExpression":{"arguments":[{"id":34053,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34041,"src":"6829:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34052,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34135,"src":"6817:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":34054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6817:15:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":34072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":34060,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6894:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":34061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"6894:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":34064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6914:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":34063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6906:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34062,"name":"address","nodeType":"ElementaryTypeName","src":"6906:7:27","typeDescriptions":{}}},"id":34065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6906:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":34066,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34043,"src":"6918:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":34067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6922:2:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"id":34057,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34041,"src":"6873:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34056,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"6852:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":34058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6852:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$34150","typeString":"contract IERC721TokenReceiver"}},"id":34059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"6852:41:27","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":34068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6852:73:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":34069,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"6949:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":34070,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"6949:37:27","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":34071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"6949:46:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"6852:143:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6816:179:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":34074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7009:18:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":34051,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6795:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6795:242:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34076,"nodeType":"ExpressionStatement","src":"6795:242:27"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"6710:9:27","parameters":{"id":34044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34041,"mutability":"mutable","name":"to","nameLocation":"6728:2:27","nodeType":"VariableDeclaration","scope":34078,"src":"6720:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34040,"name":"address","nodeType":"ElementaryTypeName","src":"6720:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34043,"mutability":"mutable","name":"id","nameLocation":"6740:2:27","nodeType":"VariableDeclaration","scope":34078,"src":"6732:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34042,"name":"uint256","nodeType":"ElementaryTypeName","src":"6732:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6719:24:27"},"returnParameters":{"id":34045,"nodeType":"ParameterList","parameters":[],"src":"6761:0:27"},"scope":34136,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":34119,"nodeType":"FunctionDefinition","src":"7050:364:27","nodes":[],"body":{"id":34118,"nodeType":"Block","src":"7129:285:27","nodes":[],"statements":[{"expression":{"arguments":[{"id":34088,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34080,"src":"7145:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":34089,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34082,"src":"7149:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":34087,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33993,"src":"7139:5:27","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":34090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7139:13:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34091,"nodeType":"ExpressionStatement","src":"7139:13:27"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":34114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7184:16:27","subExpression":{"arguments":[{"id":34094,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34080,"src":"7197:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34093,"name":"_isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34135,"src":"7185:11:27","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":34095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7185:15:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":34113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":34101,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7262:3:27","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":34102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"7262:10:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":34105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7282:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":34104,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7274:7:27","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":34103,"name":"address","nodeType":"ElementaryTypeName","src":"7274:7:27","typeDescriptions":{}}},"id":34106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7274:10:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":34107,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34082,"src":"7286:2:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":34108,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34084,"src":"7290:4:27","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":34098,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34080,"src":"7241:2:27","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":34097,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"7220:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":34099,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7220:24:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721TokenReceiver_$34150","typeString":"contract IERC721TokenReceiver"}},"id":34100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"7220:41:27","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":34109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7220:75:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":34110,"name":"IERC721TokenReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34150,"src":"7319:20:27","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721TokenReceiver_$34150_$","typeString":"type(contract IERC721TokenReceiver)"}},"id":34111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":34149,"src":"7319:37:27","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721TokenReceiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":34112,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"selector","nodeType":"MemberAccess","src":"7319:46:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"7220:145:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7184:181:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"554e534146455f524543495049454e54","id":34115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7379:18:27","typeDescriptions":{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""},"value":"UNSAFE_RECIPIENT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_91aca405bce635db2380c779628055bea528973696064aeec59f909f41accf6d","typeString":"literal_string \"UNSAFE_RECIPIENT\""}],"id":34092,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7163:7:27","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":34116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7163:244:27","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":34117,"nodeType":"ExpressionStatement","src":"7163:244:27"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"7059:9:27","parameters":{"id":34085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34080,"mutability":"mutable","name":"to","nameLocation":"7077:2:27","nodeType":"VariableDeclaration","scope":34119,"src":"7069:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34079,"name":"address","nodeType":"ElementaryTypeName","src":"7069:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34082,"mutability":"mutable","name":"id","nameLocation":"7089:2:27","nodeType":"VariableDeclaration","scope":34119,"src":"7081:10:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34081,"name":"uint256","nodeType":"ElementaryTypeName","src":"7081:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34084,"mutability":"mutable","name":"data","nameLocation":"7106:4:27","nodeType":"VariableDeclaration","scope":34119,"src":"7093:17:27","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":34083,"name":"bytes","nodeType":"ElementaryTypeName","src":"7093:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7068:43:27"},"returnParameters":{"id":34086,"nodeType":"ParameterList","parameters":[],"src":"7129:0:27"},"scope":34136,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":34135,"nodeType":"FunctionDefinition","src":"7599:278:27","nodes":[],"body":{"id":34134,"nodeType":"Block","src":"7663:214:27","nodes":[],"statements":[{"assignments":[34127],"declarations":[{"constant":false,"id":34127,"mutability":"mutable","name":"codeLength","nameLocation":"7681:10:27","nodeType":"VariableDeclaration","scope":34134,"src":"7673:18:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34126,"name":"uint256","nodeType":"ElementaryTypeName","src":"7673:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":34128,"nodeType":"VariableDeclarationStatement","src":"7673:18:27"},{"AST":{"nodeType":"YulBlock","src":"7783:56:27","statements":[{"nodeType":"YulAssignment","src":"7797:32:27","value":{"arguments":[{"name":"_addr","nodeType":"YulIdentifier","src":"7823:5:27"}],"functionName":{"name":"extcodesize","nodeType":"YulIdentifier","src":"7811:11:27"},"nodeType":"YulFunctionCall","src":"7811:18:27"},"variableNames":[{"name":"codeLength","nodeType":"YulIdentifier","src":"7797:10:27"}]}]},"evmVersion":"london","externalReferences":[{"declaration":34121,"isOffset":false,"isSlot":false,"src":"7823:5:27","valueSize":1},{"declaration":34127,"isOffset":false,"isSlot":false,"src":"7797:10:27","valueSize":1}],"id":34129,"nodeType":"InlineAssembly","src":"7774:65:27"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":34132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":34130,"name":"codeLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34127,"src":"7856:10:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":34131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7869:1:27","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7856:14:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":34125,"id":34133,"nodeType":"Return","src":"7849:21:27"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isContract","nameLocation":"7608:11:27","parameters":{"id":34122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34121,"mutability":"mutable","name":"_addr","nameLocation":"7628:5:27","nodeType":"VariableDeclaration","scope":34135,"src":"7620:13:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34120,"name":"address","nodeType":"ElementaryTypeName","src":"7620:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7619:15:27"},"returnParameters":{"id":34125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34135,"src":"7657:4:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":34123,"name":"bool","nodeType":"ElementaryTypeName","src":"7657:4:27","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7656:6:27"},"scope":34136,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":33537,"name":"IERC721Metadata","nodeType":"IdentifierPath","referencedDeclaration":32763,"src":"404:15:27"},"id":33538,"nodeType":"InheritanceSpecifier","src":"404:15:27"}],"canonicalName":"MockERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":33536,"nodeType":"StructuredDocumentation","src":"125:256:27","text":"@notice This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\n @dev Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol"},"fullyImplemented":true,"linearizedBaseContracts":[34136,32763,32723,32511],"name":"MockERC721","nameLocation":"390:10:27","scope":34151,"usedErrors":[]},{"id":34150,"nodeType":"ContractDefinition","src":"7881:134:27","nodes":[{"id":34149,"nodeType":"FunctionDefinition","src":"7918:95:27","nodes":[],"functionSelector":"150b7a02","implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"7927:16:27","parameters":{"id":34145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34138,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34149,"src":"7944:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34137,"name":"address","nodeType":"ElementaryTypeName","src":"7944:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34140,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34149,"src":"7953:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":34139,"name":"address","nodeType":"ElementaryTypeName","src":"7953:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":34142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34149,"src":"7962:7:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":34141,"name":"uint256","nodeType":"ElementaryTypeName","src":"7962:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":34144,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34149,"src":"7971:14:27","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":34143,"name":"bytes","nodeType":"ElementaryTypeName","src":"7971:5:27","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7943:43:27"},"returnParameters":{"id":34148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":34147,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":34149,"src":"8005:6:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":34146,"name":"bytes4","nodeType":"ElementaryTypeName","src":"8005:6:27","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"8004:8:27"},"scope":34150,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721TokenReceiver","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[34150],"name":"IERC721TokenReceiver","nameLocation":"7891:20:27","scope":34151,"usedErrors":[]}],"license":"MIT"},"id":27}