@vechain/vebetterdao-contracts
Version:
Vebetter DAO smart contracts, including their addresses, ABIs, and interfaces.
548 lines (547 loc) • 29.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "MyERC721",
"sourceName": "contracts/mocks/MyERC721.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "initialOwner",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721IncorrectOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721InsufficientApproval",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"name": "ERC721InvalidApprover",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "ERC721InvalidOperator",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "ERC721InvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"name": "ERC721InvalidReceiver",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "ERC721InvalidSender",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ERC721NonexistentToken",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "approved",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "ApprovalForAll",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": true,
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeMint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "tokenURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b506040516200138538038062001385833981016040819052620000349162000128565b806040518060400160405280600781526020016626bcaa37b5b2b760c91b815250604051806040016040528060038152602001624d544b60e81b8152508160009081620000829190620001ff565b506001620000918282620001ff565b5050506001600160a01b038116620000c357604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b620000ce81620000d6565b5050620002cb565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000602082840312156200013b57600080fd5b81516001600160a01b03811681146200015357600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200018557607f821691505b602082108103620001a657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620001fa57600081815260208120601f850160051c81016020861015620001d55750805b601f850160051c820191505b81811015620001f657828155600101620001e1565b5050505b505050565b81516001600160401b038111156200021b576200021b6200015a565b62000233816200022c845462000170565b84620001ac565b602080601f8311600181146200026b5760008415620002525750858301515b600019600386901b1c1916600185901b178555620001f6565b600085815260208120601f198616915b828110156200029c578886015182559484019460019091019084016200027b565b5085821015620002bb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110aa80620002db6000396000f3fe608060405234801561001057600080fd5b50600436106100db5760003560e01c806301ffc9a7146100e057806306fdde0314610108578063081812fc1461011d578063095ea7b31461013d57806323b872dd1461015257806342842e0e146101655780636352211e1461017857806370a082311461018b578063715018a6146101ac5780638da5cb5b146101b457806395d89b41146101bc578063a1448194146101c4578063a22cb465146101d7578063b88d4fde146101ea578063c87b56dd146101fd578063e985e9c514610210578063f2fde38b14610223575b600080fd5b6100f36100ee366004610d07565b610236565b60405190151581526020015b60405180910390f35b610110610288565b6040516100ff9190610d74565b61013061012b366004610d87565b61031a565b6040516100ff9190610da0565b61015061014b366004610dd0565b61032f565b005b610150610160366004610dfa565b61033e565b610150610173366004610dfa565b6103d2565b610130610186366004610d87565b6103f2565b61019e610199366004610e36565b6103fd565b6040519081526020016100ff565b610150610445565b610130610459565b610110610468565b6101506101d2366004610dd0565b610477565b6101506101e5366004610e51565b610489565b6101506101f8366004610ea3565b610494565b61011061020b366004610d87565b6104ab565b6100f361021e366004610f7e565b610520565b610150610231366004610e36565b61054e565b60006001600160e01b031982166380ac58cd60e01b148061026757506001600160e01b03198216635b5e139f60e01b145b8061028257506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461029790610fb1565b80601f01602080910402602001604051908101604052809291908181526020018280546102c390610fb1565b80156103105780601f106102e557610100808354040283529160200191610310565b820191906000526020600020905b8154815290600101906020018083116102f357829003601f168201915b5050505050905090565b60006103258261058c565b50610282826105c4565b61033a8282336105df565b5050565b6001600160a01b038216610371576000604051633250574960e11b81526004016103689190610da0565b60405180910390fd5b600061037e8383336105ec565b9050836001600160a01b0316816001600160a01b0316146103cc576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610368565b50505050565b6103ed83838360405180602001604052806000815250610494565b505050565b60006102828261058c565b60006001600160a01b0382166104295760006040516322718ad960e21b81526004016103689190610da0565b506001600160a01b031660009081526003602052604090205490565b61044d6106e0565b6104576000610712565b565b6006546001600160a01b031690565b60606001805461029790610fb1565b61047f6106e0565b61033a8282610764565b61033a33838361077e565b61049f84848461033e565b6103cc84848484610814565b60606104b68261058c565b5060006104ce60408051602081019091526000815290565b905060008151116104ee5760405180602001604052806000815250610519565b806104f88461092b565b604051602001610509929190610feb565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6105566106e0565b6001600160a01b038116610580576000604051631e4fbdf760e01b81526004016103689190610da0565b61058981610712565b50565b600080610598836109bd565b90506001600160a01b03811661028257604051637e27328960e01b815260048101849052602401610368565b6000908152600460205260409020546001600160a01b031690565b6103ed83838360016109d8565b6000806105f8846109bd565b90506001600160a01b0383161561061457610614818486610ad5565b6001600160a01b03811615610652576106316000856000806109d8565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610681576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b336106e9610459565b6001600160a01b031614610457573360405163118cdaa760e01b81526004016103689190610da0565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61033a828260405180602001604052806000815250610b39565b6001600160a01b0382166107a75781604051630b61174360e31b81526004016103689190610da0565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156103cc57604051630a85bd0160e11b81526001600160a01b0384169063150b7a029061085690339088908790879060040161101a565b6020604051808303816000875af1925050508015610891575060408051601f3d908101601f1916820190925261088e91810190611057565b60015b6108f1573d8080156108bf576040519150601f19603f3d011682016040523d82523d6000602084013e6108c4565b606091505b5080516000036108e95783604051633250574960e11b81526004016103689190610da0565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146109245783604051633250574960e11b81526004016103689190610da0565b5050505050565b6060600061093883610b50565b60010190506000816001600160401b0381111561095757610957610e8d565b6040519080825280601f01601f191660200182016040528015610981576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461098b57509392505050565b6000908152600260205260409020546001600160a01b031690565b80806109ec57506001600160a01b03821615155b15610aa55760006109fc8461058c565b90506001600160a01b03831615801590610a285750826001600160a01b0316816001600160a01b031614155b8015610a3b5750610a398184610520565b155b15610a5b578260405163a9fbf51f60e01b81526004016103689190610da0565b8115610aa35783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610ae0838383610c26565b6103ed576001600160a01b038316610b0e57604051637e27328960e01b815260048101829052602401610368565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610368565b610b438383610c8c565b6103ed6000848484610814565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610b8f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310610bb9576904ee2d6d415b85acef8160201b830492506020015b662386f26fc100008310610bd757662386f26fc10000830492506010015b6305f5e1008310610bef576305f5e100830492506008015b6127108310610c0357612710830492506004015b60648310610c15576064830492506002015b600a83106102825760010192915050565b60006001600160a01b03831615801590610c845750826001600160a01b0316846001600160a01b03161480610c605750610c608484610520565b80610c845750826001600160a01b0316610c79836105c4565b6001600160a01b0316145b949350505050565b6001600160a01b038216610cb6576000604051633250574960e11b81526004016103689190610da0565b6000610cc4838360006105ec565b90506001600160a01b038116156103ed5760006040516339e3563760e11b81526004016103689190610da0565b6001600160e01b03198116811461058957600080fd5b600060208284031215610d1957600080fd5b813561051981610cf1565b60005b83811015610d3f578181015183820152602001610d27565b50506000910152565b60008151808452610d60816020860160208601610d24565b601f01601f19169290920160200192915050565b6020815260006105196020830184610d48565b600060208284031215610d9957600080fd5b5035919050565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114610dcb57600080fd5b919050565b60008060408385031215610de357600080fd5b610dec83610db4565b946020939093013593505050565b600080600060608486031215610e0f57600080fd5b610e1884610db4565b9250610e2660208501610db4565b9150604084013590509250925092565b600060208284031215610e4857600080fd5b61051982610db4565b60008060408385031215610e6457600080fd5b610e6d83610db4565b915060208301358015158114610e8257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610eb957600080fd5b610ec285610db4565b9350610ed060208601610db4565b92506040850135915060608501356001600160401b0380821115610ef357600080fd5b818701915087601f830112610f0757600080fd5b813581811115610f1957610f19610e8d565b604051601f8201601f19908116603f01168101908382118183101715610f4157610f41610e8d565b816040528281528a6020848701011115610f5a57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610f9157600080fd5b610f9a83610db4565b9150610fa860208401610db4565b90509250929050565b600181811c90821680610fc557607f821691505b602082108103610fe557634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610ffd818460208801610d24565b835190830190611011818360208801610d24565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061104d90830184610d48565b9695505050505050565b60006020828403121561106957600080fd5b815161051981610cf156fea264697066735822122057d0afda1e6b3c4a7fde7a11a6274bef05fd6a700ece8013d2fdf8a2631f5eb364736f6c63430008140033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100db5760003560e01c806301ffc9a7146100e057806306fdde0314610108578063081812fc1461011d578063095ea7b31461013d57806323b872dd1461015257806342842e0e146101655780636352211e1461017857806370a082311461018b578063715018a6146101ac5780638da5cb5b146101b457806395d89b41146101bc578063a1448194146101c4578063a22cb465146101d7578063b88d4fde146101ea578063c87b56dd146101fd578063e985e9c514610210578063f2fde38b14610223575b600080fd5b6100f36100ee366004610d07565b610236565b60405190151581526020015b60405180910390f35b610110610288565b6040516100ff9190610d74565b61013061012b366004610d87565b61031a565b6040516100ff9190610da0565b61015061014b366004610dd0565b61032f565b005b610150610160366004610dfa565b61033e565b610150610173366004610dfa565b6103d2565b610130610186366004610d87565b6103f2565b61019e610199366004610e36565b6103fd565b6040519081526020016100ff565b610150610445565b610130610459565b610110610468565b6101506101d2366004610dd0565b610477565b6101506101e5366004610e51565b610489565b6101506101f8366004610ea3565b610494565b61011061020b366004610d87565b6104ab565b6100f361021e366004610f7e565b610520565b610150610231366004610e36565b61054e565b60006001600160e01b031982166380ac58cd60e01b148061026757506001600160e01b03198216635b5e139f60e01b145b8061028257506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461029790610fb1565b80601f01602080910402602001604051908101604052809291908181526020018280546102c390610fb1565b80156103105780601f106102e557610100808354040283529160200191610310565b820191906000526020600020905b8154815290600101906020018083116102f357829003601f168201915b5050505050905090565b60006103258261058c565b50610282826105c4565b61033a8282336105df565b5050565b6001600160a01b038216610371576000604051633250574960e11b81526004016103689190610da0565b60405180910390fd5b600061037e8383336105ec565b9050836001600160a01b0316816001600160a01b0316146103cc576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610368565b50505050565b6103ed83838360405180602001604052806000815250610494565b505050565b60006102828261058c565b60006001600160a01b0382166104295760006040516322718ad960e21b81526004016103689190610da0565b506001600160a01b031660009081526003602052604090205490565b61044d6106e0565b6104576000610712565b565b6006546001600160a01b031690565b60606001805461029790610fb1565b61047f6106e0565b61033a8282610764565b61033a33838361077e565b61049f84848461033e565b6103cc84848484610814565b60606104b68261058c565b5060006104ce60408051602081019091526000815290565b905060008151116104ee5760405180602001604052806000815250610519565b806104f88461092b565b604051602001610509929190610feb565b6040516020818303038152906040525b9392505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6105566106e0565b6001600160a01b038116610580576000604051631e4fbdf760e01b81526004016103689190610da0565b61058981610712565b50565b600080610598836109bd565b90506001600160a01b03811661028257604051637e27328960e01b815260048101849052602401610368565b6000908152600460205260409020546001600160a01b031690565b6103ed83838360016109d8565b6000806105f8846109bd565b90506001600160a01b0383161561061457610614818486610ad5565b6001600160a01b03811615610652576106316000856000806109d8565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610681576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b336106e9610459565b6001600160a01b031614610457573360405163118cdaa760e01b81526004016103689190610da0565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61033a828260405180602001604052806000815250610b39565b6001600160a01b0382166107a75781604051630b61174360e31b81526004016103689190610da0565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156103cc57604051630a85bd0160e11b81526001600160a01b0384169063150b7a029061085690339088908790879060040161101a565b6020604051808303816000875af1925050508015610891575060408051601f3d908101601f1916820190925261088e91810190611057565b60015b6108f1573d8080156108bf576040519150601f19603f3d011682016040523d82523d6000602084013e6108c4565b606091505b5080516000036108e95783604051633250574960e11b81526004016103689190610da0565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146109245783604051633250574960e11b81526004016103689190610da0565b5050505050565b6060600061093883610b50565b60010190506000816001600160401b0381111561095757610957610e8d565b6040519080825280601f01601f191660200182016040528015610981576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461098b57509392505050565b6000908152600260205260409020546001600160a01b031690565b80806109ec57506001600160a01b03821615155b15610aa55760006109fc8461058c565b90506001600160a01b03831615801590610a285750826001600160a01b0316816001600160a01b031614155b8015610a3b5750610a398184610520565b155b15610a5b578260405163a9fbf51f60e01b81526004016103689190610da0565b8115610aa35783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610ae0838383610c26565b6103ed576001600160a01b038316610b0e57604051637e27328960e01b815260048101829052602401610368565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610368565b610b438383610c8c565b6103ed6000848484610814565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610b8f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b8310610bb9576904ee2d6d415b85acef8160201b830492506020015b662386f26fc100008310610bd757662386f26fc10000830492506010015b6305f5e1008310610bef576305f5e100830492506008015b6127108310610c0357612710830492506004015b60648310610c15576064830492506002015b600a83106102825760010192915050565b60006001600160a01b03831615801590610c845750826001600160a01b0316846001600160a01b03161480610c605750610c608484610520565b80610c845750826001600160a01b0316610c79836105c4565b6001600160a01b0316145b949350505050565b6001600160a01b038216610cb6576000604051633250574960e11b81526004016103689190610da0565b6000610cc4838360006105ec565b90506001600160a01b038116156103ed5760006040516339e3563760e11b81526004016103689190610da0565b6001600160e01b03198116811461058957600080fd5b600060208284031215610d1957600080fd5b813561051981610cf1565b60005b83811015610d3f578181015183820152602001610d27565b50506000910152565b60008151808452610d60816020860160208601610d24565b601f01601f19169290920160200192915050565b6020815260006105196020830184610d48565b600060208284031215610d9957600080fd5b5035919050565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114610dcb57600080fd5b919050565b60008060408385031215610de357600080fd5b610dec83610db4565b946020939093013593505050565b600080600060608486031215610e0f57600080fd5b610e1884610db4565b9250610e2660208501610db4565b9150604084013590509250925092565b600060208284031215610e4857600080fd5b61051982610db4565b60008060408385031215610e6457600080fd5b610e6d83610db4565b915060208301358015158114610e8257600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610eb957600080fd5b610ec285610db4565b9350610ed060208601610db4565b92506040850135915060608501356001600160401b0380821115610ef357600080fd5b818701915087601f830112610f0757600080fd5b813581811115610f1957610f19610e8d565b604051601f8201601f19908116603f01168101908382118183101715610f4157610f41610e8d565b816040528281528a6020848701011115610f5a57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610f9157600080fd5b610f9a83610db4565b9150610fa860208401610db4565b90509250929050565b600181811c90821680610fc557607f821691505b602082108103610fe557634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610ffd818460208801610d24565b835190830190611011818360208801610d24565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061104d90830184610d48565b9695505050505050565b60006020828403121561106957600080fd5b815161051981610cf156fea264697066735822122057d0afda1e6b3c4a7fde7a11a6274bef05fd6a700ece8013d2fdf8a2631f5eb364736f6c63430008140033",
"linkReferences": {},
"deployedLinkReferences": {}
}