Loading
[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_initBaseURI", "type": "string" }, { "internalType": "address", "name": "_payments", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "claimReflectionRewards", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "claimReward", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "currentRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devIssued", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "devMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "devroyalty", "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": "user", "type": "address" } ], "name": "getMyTokens", "outputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "uint256", "name": "refBalance", "type": "uint256" } ], "internalType": "struct RACEXFENFT.RenderToken[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getReflectionBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getReflectionBalances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "maxDevSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "minter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "reflectBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reflectionBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reflectroyalty", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "removeWhitelistUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "royaltyValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseExtension", "type": "string" } ], "name": "setBaseExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newCost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_pause", "type": "bool" } ], "name": "setPaused", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_payments", "type": "address" } ], "name": "setPayments", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setRoyalties", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_royaltyContractAddress", "type": "address" } ], "name": "setRoyaltyContractAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxDevMint", "type": "uint256" } ], "name": "setmaxDevMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxMintAmount", "type": "uint256" } ], "name": "setmaxMintAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxSupply", "type": "uint256" } ], "name": "setmaxSupply", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "splitBalance", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenMinter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensMinted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDividend", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "whitelistUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60c06040526005608081905264173539b7b760d91b60a090815262000028916015919062000343565b50671bc16d674ec80000601655610bb8601781905560185560006019556014601a55610190601b556102bc601c556004601d556003601e55601f80547439aeaf2f808bd4e3383fcfa914fb91c9133d9df9006001600160a81b0319909116179055602080546001600160a01b0319167339aeaf2f808bd4e3383fcfa914fb91c9133d9df9179055348015620000bc57600080fd5b506040516200383838038062003838833981016040819052620000df91620004a0565b835184908490620000f890600090602085019062000343565b5080516200010e90600190602084019062000343565b5050506200012b62000125620001ba60201b60201c565b620001be565b620001368262000210565b6040805160208101918290526000908190526200015691600e9162000343565b5081516200016c90600f90602085019062000343565b506200018181601c546200027860201b60201c565b601f805460ff196001600160a01b0390931661010002929092166001600160a81b031990921691909117600117905550620005a6915050565b3390565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600c546001600160a01b031633146200025f5760405162461bcd60e51b815260206004820181905260248201526000805160206200381883398151915260448201526064015b60405180910390fd5b80516200027490601490602084019062000343565b5050565b600c546001600160a01b03163314620002c35760405162461bcd60e51b8152602060048201819052602482015260008051602062003818833981519152604482015260640162000256565b6200027482826127108111156200031d5760405162461bcd60e51b815260206004820152601a60248201527f45524332393831526f79616c746965733a20546f6f2068696768000000000000604482015260640162000256565b600a80546001600160a01b0319166001600160a01b039390931692909217909155600b55565b828054620003519062000553565b90600052602060002090601f016020900481019282620003755760008555620003c0565b82601f106200039057805160ff1916838001178555620003c0565b82800160010185558215620003c0579182015b82811115620003c0578251825591602001919060010190620003a3565b50620003ce929150620003d2565b5090565b5b80821115620003ce5760008155600101620003d3565b600082601f830112620003fb57600080fd5b81516001600160401b038082111562000418576200041862000590565b604051601f8301601f19908116603f0116810190828211818310171562000443576200044362000590565b816040528381526020925086838588010111156200046057600080fd5b600091505b8382101562000484578582018301518183018401529082019062000465565b83821115620004965760008385830101525b9695505050505050565b60008060008060808587031215620004b757600080fd5b84516001600160401b0380821115620004cf57600080fd5b620004dd88838901620003e9565b95506020870151915080821115620004f457600080fd5b6200050288838901620003e9565b945060408701519150808211156200051957600080fd5b506200052887828801620003e9565b606087015190935090506001600160a01b03811681146200054857600080fd5b939692955090935050565b600181811c908216806200056857607f821691505b602082108114156200058a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61326280620005b66000396000f3fe6080604052600436106103b75760003560e01c80635c975abb116101f2578063a086d50a1161010d578063c6682862116100a0578063da3ef23f1161006f578063da3ef23f14610aca578063e985e9c514610aea578063f2fde38b14610b33578063f9f8bdb714610b5357600080fd5b8063c668286214610a4f578063c87b56dd14610a64578063d5abeb0114610a84578063d936547e14610a9a57600080fd5b8063af231a58116100dc578063af231a58146109d9578063b88d4fde146109f9578063c376036614610a19578063c49162de14610a3957600080fd5b8063a086d50a1461094d578063a22cb46514610963578063ac8d856c14610983578063ae169a50146109b957600080fd5b8063749cc27d116101855780638c7ea24b116101545780638c7ea24b146108e45780638da5cb5b1461090457806395d89b411461092257806398d9eea01461093757600080fd5b8063749cc27d146108585780637c57d9471461086e5780637f00c7a6146108a457806381294e56146108c457600080fd5b80636c0360eb116101c15780636c0360eb146107f95780636de9f32b1461080e57806370a0823114610823578063715018a61461084357600080fd5b80635c975abb146107895780635fc20588146107a3578063627804af146107b95780636352211e146107d957600080fd5b806324f0fdb0116102e257806342842e0e116102755780634a4c560d116102445780634a4c560d146107135780634b6acafb146107335780634f6ccce71461074957806355f804b31461076957600080fd5b806342842e0e1461069d57806342966c68146106bd57806344a0d68a146106dd57806348bbb71b146106fd57600080fd5b80633ccfd60b116102b15780633ccfd60b1461064c57806340c10f19146106545780634131ff9914610667578063413bcb241461067d57600080fd5b806324f0fdb0146105a05780632a55205a146105cd5780632f745c591461060c57806330cc7ae01461062c57600080fd5b80630fc6b2b51161035a57806318160ddd1161032957806318160ddd14610535578063228025e81461054a578063239c70ae1461056a57806323b872dd1461058057600080fd5b80630fc6b2b5146104dd57806313faede6146104f257806316c38b3c14610441578063175165921461050857600080fd5b806302329a291161039657806302329a291461044157806306fdde0314610463578063081812fc14610485578063095ea7b3146104bd57600080fd5b8062fe50c6146103bc57806301eb99ec146103fc57806301ffc9a714610411575b600080fd5b3480156103c857600080fd5b506103e96103d7366004612d46565b60009081526012602052604090205490565b6040519081526020015b60405180910390f35b34801561040857600080fd5b506103e9610b68565b34801561041d57600080fd5b5061043161042c366004612cc3565b610bc7565b60405190151581526020016103f3565b34801561044d57600080fd5b5061046161045c366004612ca8565b610be7565b005b34801561046f57600080fd5b50610478610c2d565b6040516103f39190612f2f565b34801561049157600080fd5b506104a56104a0366004612d46565b610cbf565b6040516001600160a01b0390911681526020016103f3565b3480156104c957600080fd5b506104616104d8366004612c7e565b610d54565b3480156104e957600080fd5b50610461610e6a565b3480156104fe57600080fd5b506103e960165481565b34801561051457600080fd5b50610528610523366004612b4e565b610ec1565b6040516103f39190612eae565b34801561054157600080fd5b506008546103e9565b34801561055657600080fd5b50610461610565366004612d46565b610fda565b34801561057657600080fd5b506103e9601a5481565b34801561058c57600080fd5b5061046161059b366004612b9c565b611009565b3480156105ac57600080fd5b506103e96105bb366004612d46565b60126020526000908152604090205481565b3480156105d957600080fd5b506105ed6105e8366004612d5f565b61103a565b604080516001600160a01b0390931683526020830191909152016103f3565b34801561061857600080fd5b506103e9610627366004612c7e565b611084565b34801561063857600080fd5b50610461610647366004612b4e565b61111a565b610461611165565b610461610662366004612c7e565b6111c9565b34801561067357600080fd5b506103e960105481565b34801561068957600080fd5b50610461610698366004612d46565b6113eb565b3480156106a957600080fd5b506104616106b8366004612b9c565b61141a565b3480156106c957600080fd5b506104616106d8366004612d46565b611435565b3480156106e957600080fd5b506104616106f8366004612d46565b611484565b34801561070957600080fd5b506103e9601d5481565b34801561071f57600080fd5b5061046161072e366004612b4e565b6114c6565b34801561073f57600080fd5b506103e960115481565b34801561075557600080fd5b506103e9610764366004612d46565b611514565b34801561077557600080fd5b50610461610784366004612cfd565b6115a7565b34801561079557600080fd5b50601f546104319060ff1681565b3480156107af57600080fd5b506103e9601c5481565b3480156107c557600080fd5b506104616107d4366004612c7e565b6115e4565b3480156107e557600080fd5b506104a56107f4366004612d46565b6117d7565b34801561080557600080fd5b5061047861184e565b34801561081a57600080fd5b506103e96118dc565b34801561082f57600080fd5b506103e961083e366004612b4e565b6118ec565b34801561084f57600080fd5b50610461611973565b34801561086457600080fd5b506103e960195481565b34801561087a57600080fd5b506104a5610889366004612d46565b6000908152601360205260409020546001600160a01b031690565b3480156108b057600080fd5b506104616108bf366004612d46565b6119a7565b3480156108d057600080fd5b506104316108df366004612d46565b6119d6565b3480156108f057600080fd5b506104616108ff366004612c7e565b6119e9565b34801561091057600080fd5b50600c546001600160a01b03166104a5565b34801561092e57600080fd5b50610478611a1d565b34801561094357600080fd5b506103e960185481565b34801561095957600080fd5b506103e9601b5481565b34801561096f57600080fd5b5061046161097e366004612c54565b611a2c565b34801561098f57600080fd5b506104a561099e366004612d46565b6013602052600090815260409020546001600160a01b031681565b3480156109c557600080fd5b506104616109d4366004612d46565b611af1565b3480156109e557600080fd5b506104616109f4366004612b4e565b611b87565b348015610a0557600080fd5b50610461610a14366004612bd8565b611bd9565b348015610a2557600080fd5b50610461610a34366004612b4e565b611c0b565b348015610a4557600080fd5b506103e9601e5481565b348015610a5b57600080fd5b50610478611c5f565b348015610a7057600080fd5b50610478610a7f366004612d46565b611c6c565b348015610a9057600080fd5b506103e960175481565b348015610aa657600080fd5b50610431610ab5366004612b4e565b60216020526000908152604090205460ff1681565b348015610ad657600080fd5b50610461610ae5366004612cfd565b611d4a565b348015610af657600080fd5b50610431610b05366004612b69565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b348015610b3f57600080fd5b50610461610b4e366004612b4e565b611d87565b348015610b5f57600080fd5b506103e9611e1f565b600080610b74336118ec565b90506000805b82811015610bc0576000610b8e3383611084565b600081815260126020526040902054909150610baa90846130b0565b9250508080610bb890613179565b915050610b7a565b5092915050565b6000610bd282611e44565b80610be15750610be182611e94565b92915050565b600c546001600160a01b03163314610c1a5760405162461bcd60e51b8152600401610c119061302a565b60405180910390fd5b601f805460ff1916911515919091179055565b606060008054610c3c9061313e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c689061313e565b8015610cb55780601f10610c8a57610100808354040283529160200191610cb5565b820191906000526020600020905b815481529060010190602001808311610c9857829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b0316610d385760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610c11565b506000908152600460205260409020546001600160a01b031690565b6000610d5f826117d7565b9050806001600160a01b0316836001600160a01b03161415610dcd5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610c11565b336001600160a01b0382161480610de95750610de98133610b05565b610e5b5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610c11565b610e658383611eb9565b505050565b6000610e75336118ec565b90506000805b82811015610e65576000610e8f3383611084565b600081815260126020526040902054909150610eab90846130b0565b9250508080610eb990613179565b915050610e7b565b60606000610ece836118ec565b90506000610edd8260016130b0565b67ffffffffffffffff811115610ef557610ef5613200565b604051908082528060200260200182016040528015610f4a57816020015b610f3760405180606001604052806000815260200160608152602001600081525090565b815260200190600190039081610f135790505b50905060005b82811015610fd2576000610f648683611084565b90506000610f7182611c6c565b60008381526012602052604081205491925050604051806060016040528084815260200183815260200182815250858581518110610fb157610fb16131ea565b60200260200101819052505050508080610fca90613179565b915050610f50565b509392505050565b600c546001600160a01b031633146110045760405162461bcd60e51b8152600401610c119061302a565b601755565b6110133382611f27565b61102f5760405162461bcd60e51b8152600401610c119061305f565b610e6583838361201e565b6000806000612710600b5485670de0b6b3a764000061105991906130dc565b61106391906130dc565b61106d91906130c8565b600a546001600160a01b0316969095509350505050565b600061108f836118ec565b82106110f15760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610c11565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600c546001600160a01b031633146111445760405162461bcd60e51b8152600401610c119061302a565b6001600160a01b03166000908152602160205260409020805460ff19169055565b600c546001600160a01b0316331461118f5760405162461bcd60e51b8152600401610c119061302a565b601f546040516001600160a01b0361010090920491909116904780156108fc02916000818181858888f193505050506111c757600080fd5b565b60006111d4600d5490565b9050816016546111e491906130dc565b34146112025760405162461bcd60e51b8152600401610c1190612fe3565b601f5460ff16156112705760405162461bcd60e51b815260206004820152603260248201527f556e61626c6520746f206d696e74207269676874206e6f77202d204d696e74696044820152711b99c81a185cc81899595b8814185d5cd95960721b6064820152608401610c11565b600082116112c05760405162461bcd60e51b815260206004820181905260248201527f4d696e74206d6f756e742068617320746f206265206d6f7265207468616e20306044820152606401610c11565b601a5482111561131d5760405162461bcd60e51b815260206004820152602260248201527f596f752063616e6e6f74206d696e74206d6f7265207468616e203230204e4654604482015261277360f01b6064820152608401610c11565b60175461132a83836130b0565b11156113485760405162461bcd60e51b8152600401610c1190612f42565b600c546001600160a01b031633146113a3573360009081526021602052604090205460ff1615156001146113a3578160165461138491906130dc565b3410156113a35760405162461bcd60e51b8152600401610c1190612fe3565b60015b8281116113e5576113bb600d80546001019055565b60006113c6600d5490565b90506113d285826121c9565b50806113dd81613179565b9150506113a6565b50505050565b600c546001600160a01b031633146114155760405162461bcd60e51b8152600401610c119061302a565b601855565b610e6583838360405180602001604052806000815250611bd9565b600c546001600160a01b0316331461145f5760405162461bcd60e51b8152600401610c119061302a565b600081815260126020526040902054611477826121e3565b6114808161228a565b5050565b600c546001600160a01b031633146114ae5760405162461bcd60e51b8152600401610c119061302a565b6114c081670de0b6b3a76400006130dc565b60165550565b600c546001600160a01b031633146114f05760405162461bcd60e51b8152600401610c119061302a565b6001600160a01b03166000908152602160205260409020805460ff19166001179055565b600061151f60085490565b82106115825760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610c11565b60088281548110611595576115956131ea565b90600052602060002001549050919050565b600c546001600160a01b031633146115d15760405162461bcd60e51b8152600401610c119061302a565b8051611480906014906020840190612a13565b600c546001600160a01b0316331461160e5760405162461bcd60e51b8152600401610c119061302a565b6000611619600d5490565b90506018546019541061166e5760405162461bcd60e51b815260206004820152601d60248201527f4d617820646576204e4654732068617665206265656e206973737565640000006044820152606401610c11565b600082116116be5760405162461bcd60e51b815260206004820181905260248201527f4d696e74206d6f756e742068617320746f206265206d6f7265207468616e20306044820152606401610c11565b6017546116cb83836130b0565b11156116e95760405162461bcd60e51b8152600401610c1190612f42565b601854826019546116fa91906130b0565b11156117185760405162461bcd60e51b8152600401610c1190612f42565b600c546001600160a01b031633146117845760405162461bcd60e51b815260206004820152602960248201527f596f7520617265206e6f7420617070726f76656420666f72207468697320747260448201526830b739b0b1ba34b7b760b91b6064820152608401610c11565b60015b8281116113e55761179c600d80546001019055565b60006117a7600d5490565b90506117b385826121c9565b6019546117c19060016130b0565b60195550806117cf81613179565b915050611787565b6000818152600260205260408120546001600160a01b031680610be15760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610c11565b6014805461185b9061313e565b80601f01602080910402602001604051908101604052809291908181526020018280546118879061313e565b80156118d45780601f106118a9576101008083540402835291602001916118d4565b820191906000526020600020905b8154815290600101906020018083116118b757829003601f168201915b505050505081565b60006118e7600d5490565b905090565b60006001600160a01b0382166119575760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610c11565b506001600160a01b031660009081526003602052604090205490565b600c546001600160a01b0316331461199d5760405162461bcd60e51b8152600401610c119061302a565b6111c76000612303565b600c546001600160a01b031633146119d15760405162461bcd60e51b8152600401610c119061302a565b601a55565b60006119e18261228a565b506001919050565b600c546001600160a01b03163314611a135760405162461bcd60e51b8152600401610c119061302a565b6114808282612355565b606060018054610c3c9061313e565b6001600160a01b038216331415611a855760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610c11565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b33611afb826117d7565b6001600160a01b03161480611b20575033611b1582610cbf565b6001600160a01b0316145b611b7d5760405162461bcd60e51b815260206004820152602860248201527f4f6e6c79206f776e6572206f7220617070726f7665642063616e20636c61696d604482015267207265776172647360c01b6064820152608401610c11565b6000526012602052565b600c546001600160a01b03163314611bb15760405162461bcd60e51b8152600401610c119061302a565b601f80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b611be33383611f27565b611bff5760405162461bcd60e51b8152600401610c119061305f565b6113e5848484846123cd565b600c546001600160a01b03163314611c355760405162461bcd60e51b8152600401610c119061302a565b602080546001600160a01b0319166001600160a01b038316179055611c5c816102bc6119e9565b50565b6015805461185b9061313e565b6000818152600260205260409020546060906001600160a01b0316611ceb5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610c11565b6000611cf5612400565b90506000815111611d155760405180602001604052806000815250611d43565b80611d1f8461240f565b6015604051602001611d3393929190612dad565b6040516020818303038152906040525b9392505050565b600c546001600160a01b03163314611d745760405162461bcd60e51b8152600401610c119061302a565b8051611480906015906020840190612a13565b600c546001600160a01b03163314611db15760405162461bcd60e51b8152600401610c119061302a565b6001600160a01b038116611e165760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c11565b611c5c81612303565b6000611e2a60085490565b611e345750600090565b6008546010546118e791906130c8565b60006001600160e01b031982166380ac58cd60e01b1480611e7557506001600160e01b03198216635b5e139f60e01b145b80610be157506301ffc9a760e01b6001600160e01b0319831614610be1565b60006001600160e01b0319821663152a902d60e11b1480610be15750610be18261250d565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611eee826117d7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316611fa05760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610c11565b6000611fab836117d7565b9050806001600160a01b0316846001600160a01b03161480611fe65750836001600160a01b0316611fdb84610cbf565b6001600160a01b0316145b8061201657506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316612031826117d7565b6001600160a01b0316146120995760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610c11565b6001600160a01b0382166120fb5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610c11565b612106838383612532565b612111600082611eb9565b6001600160a01b038316600090815260036020526040812080546001929061213a9084906130fb565b90915550506001600160a01b03821660009081526003602052604081208054600192906121689084906130b0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b61148082826040518060200160405280600081525061253d565b60006121ee826117d7565b90506121fc81600084612532565b612207600083611eb9565b6001600160a01b03811660009081526003602052604081208054600192906122309084906130fb565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600061229560085490565b61229f90836130c8565b905060006122ac60085490565b905060005b818110156113e55760006122c482611514565b6000818152601260205260409020549091506122e19085906130b0565b60009182526012602052604090912055806122fb81613179565b9150506122b1565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127108111156123a75760405162461bcd60e51b815260206004820152601a60248201527f45524332393831526f79616c746965733a20546f6f20686967680000000000006044820152606401610c11565b600a80546001600160a01b0319166001600160a01b039390931692909217909155600b55565b6123d884848461201e565b6123e484848484612570565b6113e55760405162461bcd60e51b8152600401610c1190612f91565b606060148054610c3c9061313e565b6060816124335750506040805180820190915260018152600360fc1b602082015290565b8160005b811561245d578061244781613179565b91506124569050600a836130c8565b9150612437565b60008167ffffffffffffffff81111561247857612478613200565b6040519080825280601f01601f1916602001820160405280156124a2576020820181803683370190505b5090505b8415612016576124b76001836130fb565b91506124c4600a86613194565b6124cf9060306130b0565b60f81b8183815181106124e4576124e46131ea565b60200101906001600160f81b031916908160001a905350612506600a866130c8565b94506124a6565b60006001600160e01b0319821663780e9d6360e01b1480610be15750610be182611e44565b610e6583838361267d565b6125478383612735565b6125546000848484612570565b610e655760405162461bcd60e51b8152600401610c1190612f91565b60006001600160a01b0384163b1561267257604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906125b4903390899088908890600401612e71565b602060405180830381600087803b1580156125ce57600080fd5b505af19250505080156125fe575060408051601f3d908101601f191682019092526125fb91810190612ce0565b60015b612658573d80801561262c576040519150601f19603f3d011682016040523d82523d6000602084013e612631565b606091505b5080516126505760405162461bcd60e51b8152600401610c1190612f91565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612016565b506001949350505050565b6001600160a01b0383166126d8576126d381600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6126fb565b816001600160a01b0316836001600160a01b0316146126fb576126fb8382612883565b6001600160a01b03821661271257610e6581612920565b826001600160a01b0316826001600160a01b031614610e6557610e6582826129cf565b6001600160a01b03821661278b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610c11565b6000818152600260205260409020546001600160a01b0316156127f05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610c11565b6127fc60008383612532565b6001600160a01b03821660009081526003602052604081208054600192906128259084906130b0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006001612890846118ec565b61289a91906130fb565b6000838152600760205260409020549091508082146128ed576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090612932906001906130fb565b6000838152600960205260408120546008805493945090928490811061295a5761295a6131ea565b90600052602060002001549050806008838154811061297b5761297b6131ea565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806129b3576129b36131d4565b6001900381819060005260206000200160009055905550505050565b60006129da836118ec565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b828054612a1f9061313e565b90600052602060002090601f016020900481019282612a415760008555612a87565b82601f10612a5a57805160ff1916838001178555612a87565b82800160010185558215612a87579182015b82811115612a87578251825591602001919060010190612a6c565b50612a93929150612a97565b5090565b5b80821115612a935760008155600101612a98565b600067ffffffffffffffff80841115612ac757612ac7613200565b604051601f8501601f19908116603f01168101908282118183101715612aef57612aef613200565b81604052809350858152868686011115612b0857600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b0381168114612b3957600080fd5b919050565b80358015158114612b3957600080fd5b600060208284031215612b6057600080fd5b611d4382612b22565b60008060408385031215612b7c57600080fd5b612b8583612b22565b9150612b9360208401612b22565b90509250929050565b600080600060608486031215612bb157600080fd5b612bba84612b22565b9250612bc860208501612b22565b9150604084013590509250925092565b60008060008060808587031215612bee57600080fd5b612bf785612b22565b9350612c0560208601612b22565b925060408501359150606085013567ffffffffffffffff811115612c2857600080fd5b8501601f81018713612c3957600080fd5b612c4887823560208401612aac565b91505092959194509250565b60008060408385031215612c6757600080fd5b612c7083612b22565b9150612b9360208401612b3e565b60008060408385031215612c9157600080fd5b612c9a83612b22565b946020939093013593505050565b600060208284031215612cba57600080fd5b611d4382612b3e565b600060208284031215612cd557600080fd5b8135611d4381613216565b600060208284031215612cf257600080fd5b8151611d4381613216565b600060208284031215612d0f57600080fd5b813567ffffffffffffffff811115612d2657600080fd5b8201601f81018413612d3757600080fd5b61201684823560208401612aac565b600060208284031215612d5857600080fd5b5035919050565b60008060408385031215612d7257600080fd5b50508035926020909101359150565b60008151808452612d99816020860160208601613112565b601f01601f19169290920160200192915050565b600084516020612dc08285838a01613112565b855191840191612dd38184848a01613112565b8554920191600090600181811c9080831680612df057607f831692505b858310811415612e0e57634e487b7160e01b85526022600452602485fd5b808015612e225760018114612e3357612e60565b60ff19851688528388019550612e60565b60008b81526020902060005b85811015612e585781548a820152908401908801612e3f565b505083880195505b50939b9a5050505050505050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612ea490830184612d81565b9695505050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612f2157603f19898403018552815160608151855288820151818a870152612f0382870182612d81565b92890151958901959095525094870194925090860190600101612ed5565b509098975050505050505050565b602081526000611d436020830184612d81565b6020808252602f908201527f546865726520617265206e6f7420656e6f756768204e4654277320746f20667560408201526e363334b6103cb7bab91037b93232b960891b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526027908201527f506c6561736520656e737572652074686520636f7272656374207072696365206040820152661a5cc81cd95b9d60ca1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b600082198211156130c3576130c36131a8565b500190565b6000826130d7576130d76131be565b500490565b60008160001904831182151516156130f6576130f66131a8565b500290565b60008282101561310d5761310d6131a8565b500390565b60005b8381101561312d578181015183820152602001613115565b838111156113e55750506000910152565b600181811c9082168061315257607f821691505b6020821081141561317357634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561318d5761318d6131a8565b5060010190565b6000826131a3576131a36131be565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114611c5c57600080fdfea2646970667358221220d1214c079c7a44a8a9207296d56e2626b81afbc74aa8d94e5ba82197e09d663064736f6c634300080700334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000a08b00b6dc72412c50e9487c8ac72c6c683007ac0000000000000000000000000000000000000000000000000000000000000013526163655820466f726d756c612045204e465400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000752616365584645000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d64374a614b726a3172454d73564e4d7564714b4b594e6f34584a43513769787554595179587238766638624e2f00000000000000000000