[ { "inputs": [ { "components": [ { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "uint256", "name": "total", "type": "uint256" }, { "internalType": "uint256", "name": "startTime", "type": "uint256" }, { "internalType": "uint256", "name": "endTime", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "address", "name": "factoryAddress", "type": "address" }, { "internalType": "uint8", "name": "currencyType", "type": "uint8" }, { "internalType": "address", "name": "farm", "type": "address" }, { "internalType": "address", "name": "moneyHandler", "type": "address" }, { "internalType": "address", "name": "treasury", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "stone", "type": "address" }, { "internalType": "address", "name": "operatorSubscription", "type": "address" } ], "internalType": "struct CollectionData", "name": "collecData", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyRevoked", "type": "error" }, { "inputs": [], "name": "OnlyOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "OperatorNotAllowed", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "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": false, "internalType": "uint256", "name": "endTime", "type": "uint256" } ], "name": "NewEndTime", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "startTime", "type": "uint256" } ], "name": "NewStartTime", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "NewUsdAmount", "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": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentShared", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentTreasure", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "address", "name": "stone", "type": "address" }, { "indexed": false, "internalType": "address", "name": "treasury", "type": "address" }, { "indexed": false, "internalType": "address", "name": "moneyHandler", "type": "address" } ], "name": "SetAddresses", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Sold", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "buyer", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "SoldWithStones", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "OPERATOR_FILTER_REGISTRY", "outputs": [ { "internalType": "contract IOperatorFilterRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_stone", "type": "address" }, { "internalType": "address", "name": "_treasury", "type": "address" }, { "internalType": "address", "name": "_moneyHandler", "type": "address" } ], "name": "addExternalAddresses", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "amount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "available", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "buyer", "type": "address" }, { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "buy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cType", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "endTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ernTreasure", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "facAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCardPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getTokenPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isOperatorFilterRegistryRevoked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amount_", "type": "uint256[]" } ], "name": "mintBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "moneyHand", "outputs": [ { "internalType": "contract MoneyHandler", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "percent", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "recoverToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "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": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newAmount", "type": "uint256" } ], "name": "setAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_endTime", "type": "uint256" } ], "name": "setEndTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setOperatorFilterEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_starTime", "type": "uint256" } ], "name": "setStarTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "stone", "outputs": [ { "internalType": "contract FarmV2", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "total", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162003eae38038062003eae833981016040819052620000349162000888565b80516101c08201516001620000493362000266565b6daaeb6d7670e522a718067333cd4e3b156200018e578015620000dc57604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b158015620000bd57600080fd5b505af1158015620000d2573d6000803e3d6000fd5b505050506200018e565b6001600160a01b038216156200012d5760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af290390604401620000a2565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b1580156200017457600080fd5b505af115801562000189573d6000803e3d6000fd5b505050505b506200019c905081620002b6565b506080810151600a556020810151600c819055600e556040810151600f55606081015160105560a0810151600b5560e0810151601180546001600160a01b0390921661010002610100600160a81b031990921691909117905560c08101516200020890600090620002cf565b601154620002279060009061010090046001600160a01b0316620002cf565b60c0810151620002379062000266565b6200025f816101800151826101a00151836101600151846101400151620002db60201b60201c565b5062000b5e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8051620002cb906003906020840190620006ad565b5050565b620002cb828262000381565b6000620002e88162000425565b600780546001600160a01b038781166001600160a01b031992831681179093556008805488831690841681179091556009805487841690851681179091556012805493891693909416831790935560408051948552602085019190915283015260608201527faaa9fbd44f151f33e813cad14b3227af4d0b1ec931d5dd2bc2c7e1f8925043a99060800160405180910390a15050505050565b60008281526004602090815260408083206001600160a01b038516845290915290205460ff16620002cb5760008281526004602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620003e13390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b62000431813362000434565b50565b60008281526004602090815260408083206001600160a01b038516845290915290205460ff16620002cb576200047581620004cf60201b620014de1760201c565b6200048b836020620014f0620004ed821b17811c565b6040516020016200049e929190620009f1565b60408051601f198184030181529082905262461bcd60e51b8252620004c69160040162000a6a565b60405180910390fd5b6060620004e76001600160a01b0383166014620004ed565b92915050565b60606000620004fe83600262000ab5565b6200050b90600262000ad7565b6001600160401b0381111562000525576200052562000753565b6040519080825280601f01601f19166020018201604052801562000550576020820181803683370190505b509050600360fc1b816000815181106200056e576200056e62000af2565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110620005a057620005a062000af2565b60200101906001600160f81b031916908160001a9053506000620005c684600262000ab5565b620005d390600162000ad7565b90505b600181111562000655576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106200060b576200060b62000af2565b1a60f81b82828151811062000624576200062462000af2565b60200101906001600160f81b031916908160001a90535060049490941c936200064d8162000b08565b9050620005d6565b508315620006a65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620004c6565b9392505050565b828054620006bb9062000b22565b90600052602060002090601f016020900481019282620006df57600085556200072a565b82601f10620006fa57805160ff19168380011785556200072a565b828001600101855582156200072a579182015b828111156200072a5782518255916020019190600101906200070d565b50620007389291506200073c565b5090565b5b808211156200073857600081556001016200073d565b634e487b7160e01b600052604160045260246000fd5b6040516101e081016001600160401b03811182821017156200078f576200078f62000753565b60405290565b60005b83811015620007b257818101518382015260200162000798565b83811115620007c2576000848401525b50505050565b600082601f830112620007da57600080fd5b81516001600160401b0380821115620007f757620007f762000753565b604051601f8301601f19908116603f0116810190828211818310171562000822576200082262000753565b816040528381528660208588010111156200083c57600080fd5b6200084f84602083016020890162000795565b9695505050505050565b80516001600160a01b03811681146200087157600080fd5b919050565b805160ff811681146200087157600080fd5b6000602082840312156200089b57600080fd5b81516001600160401b0380821115620008b357600080fd5b908301906101e08286031215620008c957600080fd5b620008d362000769565b825182811115620008e357600080fd5b620008f187828601620007c8565b8252506020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526200093460c0840162000859565b60c08201526200094760e0840162000859565b60e082015261010091506200095e82840162000876565b8282015261012091506200097482840162000859565b8282015261014091506200098a82840162000859565b828201526101609150620009a082840162000859565b828201526101809150620009b682840162000859565b828201526101a09150620009cc82840162000859565b828201526101c09150620009e282840162000859565b91810191909152949350505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162000a2b81601785016020880162000795565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162000a5e81602884016020880162000795565b01602801949350505050565b602081526000825180602084015262000a8b81604085016020870162000795565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000ad25762000ad262000a9f565b500290565b6000821982111562000aed5762000aed62000a9f565b500190565b634e487b7160e01b600052603260045260246000fd5b60008162000b1a5762000b1a62000a9f565b506000190190565b600181811c9082168062000b3757607f821691505b60208210810362000b5857634e487b7160e01b600052602260045260246000fd5b50919050565b6133408062000b6e6000396000f3fe608060405234801561001057600080fd5b50600436106102735760003560e01c8063715018a611610151578063cce7ec13116100c3578063e985e9c511610087578063e985e9c514610558578063ecba222a14610594578063ed7ba898146105a6578063f242432a146105c5578063f2fde38b146105d8578063fc0c546a146105eb57600080fd5b8063cce7ec13146104f0578063d539139314610503578063d547741f1461052a578063d79d63be1461053d578063d81d0a151461054557600080fd5b80639be65a60116101155780639be65a601461048e578063a217fddf146104a1578063a22cb465146104a9578063aa8c217c146104bc578063ca405ce0146104c5578063ccb98ffc146104dd57600080fd5b8063715018a61461044657806378e979251461044e5780638b9fa7b5146104575780638da5cb5b1461046a57806391d148541461047b57600080fd5b8063303c6433116101ea57806348a0d754116101ae57806348a0d754146103e65780634b94f50e146103ef5780634e1273f4146103f75780634f9b1b4014610417578063548307711461042a57806370ba11131461043d57600080fd5b8063303c64331461038f5780633197cbb6146103a257806336568abe146103ab57806340c10f19146103be57806341f43434146103d157600080fd5b8063205396c71161023c578063205396c714610315578063248a9ca31461032a578063271f88b41461034d5780632ddbd13a146103605780632eb2c2d6146103695780632f2ff15d1461037c57600080fd5b8062fdd58e146102785780630167eb851461029e57806301ffc9a7146102c957806302c7e7af146102ec5780630e89341c146102f5575b600080fd5b61028b6102863660046127aa565b6105fe565b6040519081526020015b60405180910390f35b6008546102b1906001600160a01b031681565b6040516001600160a01b039091168152602001610295565b6102dc6102d73660046127ec565b610699565b6040519015158152602001610295565b61028b600d5481565b610308610303366004612809565b6106a4565b604051610295919061287a565b61032861032336600461289b565b610738565b005b61028b610338366004612809565b60009081526004602052604090206001015490565b61032861035b366004612809565b610781565b61028b600e5481565b610328610377366004612a04565b6107c9565b61032861038a366004612ab2565b6108c1565b6012546102b1906001600160a01b031681565b61028b60105481565b6103286103b9366004612ab2565b6108eb565b6103286103cc3660046127aa565b610969565b6102b16daaeb6d7670e522a718067333cd4e81565b61028b600c5481565b61028b610a1e565b61040a610405366004612ae2565b610b84565b6040516102959190612bea565b610328610425366004612bfd565b610cae565b610328610438366004612809565b610d52565b61028b600b5481565b610328610d92565b61028b600f5481565b6009546102b1906001600160a01b031681565b6000546001600160a01b03166102b1565b6102dc610489366004612ab2565b610da6565b61032861049c366004612c59565b610dd1565b61028b600081565b6103286104b7366004612c76565b610ebb565b61028b600a5481565b6011546102b19061010090046001600160a01b031681565b6103286104eb366004612809565b610f98565b6103286104fe3660046127aa565b610fd8565b61028b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610328610538366004612ab2565b6111cd565b61028b6111f2565b610328610553366004612ca4565b611244565b6102dc610566366004612d1a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b600054600160a01b900460ff166102dc565b6011546105b39060ff1681565b60405160ff9091168152602001610295565b6103286105d3366004612d48565b61137a565b6103286105e6366004612c59565b611465565b6007546102b1906001600160a01b031681565b60006001600160a01b03831661066e5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526001602090815260408083206001600160a01b03861684529091529020545b92915050565b60006106938261168c565b6060600380546106b390612db1565b80601f01602080910402602001604051908101604052809291908181526020018280546106df90612db1565b801561072c5780601f106107015761010080835404028352916020019161072c565b820191906000526020600020905b81548152906001019060200180831161070f57829003601f168201915b50505050509050919050565b6000546001600160a01b0316331461076357604051635fc483c560e01b815260040160405180910390fd5b60008054911515600160a01b0260ff60a01b19909216919091179055565b600061078c816116b1565b600a8290556040518281527feb18ff59fd68414f119b648d3eaab6e6b3ed437e66c28ec8f3a59dedb8f6a750906020015b60405180910390a15050565b6000548590600160a01b900460ff161580156107f357506daaeb6d7670e522a718067333cd4e3b15155b156108ac57336001600160a01b0382160361081a5761081586868686866116bb565b6108b9565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190612deb565b6108ac57604051633b79c77360e21b8152336004820152602401610665565b6108b986868686866116bb565b505050505050565b6000828152600460205260409020600101546108dc816116b1565b6108e68383611700565b505050565b6001600160a01b038116331461095b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610665565b6109658282611786565b5050565b6000610974816116b1565b61097f6005836117ed565b1561099c5760405162461bcd60e51b815260040161066590612e08565b6000600c54116109be5760405162461bcd60e51b815260040161066590612e38565b6109da8383600160405180602001604052806000815250611805565b6001600c60008282546109ed9190612e70565b925050819055506001600d6000828254610a079190612e87565b90915550610a1890506005836118e1565b50505050565b600080601160019054906101000a90046001600160a01b03166001600160a01b031663fca513a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190612e9f565b6007546040516316b8e73160e01b81526001600160a01b039182166004820152919250600091908316906316b8e73190602401602060405180830381865afa158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c9190612e9f565b6040516344a11f6560e01b81526001600160a01b0380831660048301529192506000918416906344a11f6590602401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c9190612ebc565b949350505050565b60608151835114610be95760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610665565b6000835167ffffffffffffffff811115610c0557610c056128b8565b604051908082528060200260200182016040528015610c2e578160200160208202803683370190505b50905060005b8451811015610ca657610c79858281518110610c5257610c52612ed5565b6020026020010151858381518110610c6c57610c6c612ed5565b60200260200101516105fe565b828281518110610c8b57610c8b612ed5565b6020908102919091010152610c9f81612eeb565b9050610c34565b509392505050565b6000610cb9816116b1565b600780546001600160a01b038781166001600160a01b031992831681179093556008805488831690841681179091556009805487841690851681179091556012805493891693909416831790935560408051948552602085019190915283015260608201527faaa9fbd44f151f33e813cad14b3227af4d0b1ec931d5dd2bc2c7e1f8925043a99060800160405180910390a15050505050565b6000610d5d816116b1565b600f8290556040518281527fb1c3fe1bc33e06477df816d42ac9d600e037c768df5fbd04b622391bdd9b451c906020016107bd565b610d9a6118ed565b610da46000611947565b565b60009182526004602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610ddc816116b1565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e479190612ebc565b60405163a9059cbb60e01b8152336004820152602481018290529091506001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610e97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a189190612deb565b6000548290600160a01b900460ff16158015610ee557506daaeb6d7670e522a718067333cd4e3b15155b15610f8e57604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610f42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f669190612deb565b610f8e57604051633b79c77360e21b81526001600160a01b0382166004820152602401610665565b6108e68383611997565b6000610fa3816116b1565b60108290556040518281527f18c072bc98b0b73c93817369c5f408345da097127acc038ec75ad73c261c265a906020016107bd565b60115461010090046001600160a01b031633146110545760405162461bcd60e51b815260206004820152603460248201527f546869732066756e6374696f6e2063616e206f6e6c792062652063616c6c656460448201527308189e48199858dd1bdc9e4818dbdb9d1c9858dd60621b6064820152608401610665565b61105f6005826117ed565b1561107c5760405162461bcd60e51b815260040161066590612e08565b6000600c541161109e5760405162461bcd60e51b815260040161066590612e38565b42600f54111580156110b1575042601054115b6110f65760405162461bcd60e51b815260206004820152601660248201527514d85b1948191a59081b9bdd081cdd185c9d081e595d60521b6044820152606401610665565b6008546001600160a01b03161561111557611110826119a2565b61111e565b61111e82611b6e565b61113a8282600160405180602001604052806000815250611805565b6001600c600082825461114d9190612e70565b925050819055506001600d60008282546111679190612e87565b9091555061117890506005826118e1565b5080826001600160a01b0316306001600160a01b03167f16dd16959a056953a63cf14bf427881e762e54f03d86b864efea8238dd3b822f600a546040516111c191815260200190565b60405180910390a45050565b6000828152600460205260409020600101546111e8816116b1565b6108e68383611786565b6000806111fd610a1e565b9050600061121382670de0b6b3a7640000612f04565b600a546112339072047bf19673df52e37f2410011d100000000000612f04565b61123d9190612f23565b9392505050565b600061124f816116b1565b8251600c54116112715760405162461bcd60e51b815260040161066590612e38565b60005b83518110156112d9576112aa84828151811061129257611292612ed5565b602002602001015160056117ed90919063ffffffff16565b156112c75760405162461bcd60e51b815260040161066590612e08565b806112d181612eeb565b915050611274565b506112f584848460405180602001604052806000815250611eb6565b8251600c60008282546113089190612e70565b90915550508251600d8054600090611321908490612e87565b90915550600090505b83518110156113735761136084828151811061134857611348612ed5565b602002602001015160056118e190919063ffffffff16565b508061136b81612eeb565b91505061132a565b5050505050565b6000548590600160a01b900460ff161580156113a457506daaeb6d7670e522a718067333cd4e3b15155b1561145857336001600160a01b038216036113c6576108158686868686612002565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015611415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114399190612deb565b61145857604051633b79c77360e21b8152336004820152602401610665565b6108b98686868686612002565b61146d6118ed565b6001600160a01b0381166114d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610665565b6114db81611947565b50565b60606106936001600160a01b03831660145b606060006114ff836002612f04565b61150a906002612e87565b67ffffffffffffffff811115611522576115226128b8565b6040519080825280601f01601f19166020018201604052801561154c576020820181803683370190505b509050600360fc1b8160008151811061156757611567612ed5565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061159657611596612ed5565b60200101906001600160f81b031916908160001a90535060006115ba846002612f04565b6115c5906001612e87565b90505b600181111561163d576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115f9576115f9612ed5565b1a60f81b82828151811061160f5761160f612ed5565b60200101906001600160f81b031916908160001a90535060049490941c9361163681612f45565b90506115c8565b50831561123d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610665565b60006001600160e01b03198216637965db0b60e01b1480610693575061069382612047565b6114db8133612097565b6001600160a01b0385163314806116d757506116d78533610566565b6116f35760405162461bcd60e51b815260040161066590612f5c565b61137385858585856120f0565b61170a8282610da6565b6109655760008281526004602090815260408083206001600160a01b03851684529091529020805460ff191660011790556117423390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6117908282610da6565b156109655760008281526004602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000818152600183016020526040812054151561123d565b6001600160a01b03841661182b5760405162461bcd60e51b815260040161066590612faa565b33600061183785612287565b9050600061184485612287565b905060008681526001602090815260408083206001600160a01b038b16845290915281208054879290611878908490612e87565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46118d8836000898989896122d2565b50505050505050565b600061123d838361242d565b6000546001600160a01b03163314610da45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610665565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61096533838361247c565b6008546040516375c7e97360e01b81526001600160a01b03838116600483015260009216906375c7e97390602401602060405180830381865afa1580156119ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a119190612ebc565b9050600a54811015611a655760405162461bcd60e51b815260206004820152601f60248201527f596f7520646f206e6f74206861766520656e6f75676820706f696e74732021006044820152606401610665565b600854600a546040516367a09c2360e01b81526001600160a01b03858116600483015260248201929092529116906367a09c23906044016020604051808303816000875af1158015611abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611adf9190612deb565b611b2b5760405162461bcd60e51b815260206004820152601860248201527f5061796d656e742077617320756e7375636365737366756c00000000000000006044820152606401610665565b600a54604080516001600160a01b038516815260208101929092527ff2114d57b88c404287ba909c1d52f75395208c6b1a20716ae4b37c19435b29af91016107bd565b6000611b786111f2565b6007546040516370a0823160e01b81526001600160a01b0385811660048301529293508392909116906370a0823190602401602060405180830381865afa158015611bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611beb9190612ebc565b1015611c495760405162461bcd60e51b815260206004820152602760248201527f496e73756666696369656e742066756e64733a2043616e6e6f742062757920746044820152661a1a5cc813919560ca1b6064820152608401610665565b6000611c5782600b5461255c565b90506000611c658383612588565b6007546040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018790529293509116906323b872dd906064016020604051808303816000875af1158015611cc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce49190612deb565b5060075460125460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810185905291169063a9059cbb906044016020604051808303816000875af1158015611d3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5e9190612deb565b5060075460095460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015611db4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd89190612deb565b50600954604051631e4ee01b60e01b8152306004820152602481018390526001600160a01b0390911690631e4ee01b90604401600060405180830381600087803b158015611e2557600080fd5b505af1158015611e39573d6000803e3d6000fd5b505060408051308152602081018690527fcc512fe50bbacd531b448f7ffd7e933d0fa429d8f015bb9210336e04fc366e65935001905060405180910390a160408051308152602081018390527f8712441e414e4ca707b96817466a67d017d2daa9a139049258cbd3a67bb3a539910160405180910390a150505050565b6001600160a01b038416611edc5760405162461bcd60e51b815260040161066590612faa565b8151835114611efd5760405162461bcd60e51b815260040161066590612feb565b3360005b8451811015611f9a57838181518110611f1c57611f1c612ed5565b602002602001015160016000878481518110611f3a57611f3a612ed5565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b031681526020019081526020016000206000828254611f829190612e87565b90915550819050611f9281612eeb565b915050611f01565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611feb929190613033565b60405180910390a461137381600087878787612594565b6001600160a01b03851633148061201e575061201e8533610566565b61203a5760405162461bcd60e51b815260040161066590612f5c565b611373858585858561264f565b60006001600160e01b03198216636cdb3d1360e11b148061207857506001600160e01b031982166303a24d0760e21b145b8061069357506301ffc9a760e01b6001600160e01b0319831614610693565b6120a18282610da6565b610965576120ae816114de565b6120b98360206114f0565b6040516020016120ca929190613058565b60408051601f198184030181529082905262461bcd60e51b82526106659160040161287a565b81518351146121115760405162461bcd60e51b815260040161066590612feb565b6001600160a01b0384166121375760405162461bcd60e51b8152600401610665906130cd565b3360005b845181101561222157600085828151811061215857612158612ed5565b60200260200101519050600085838151811061217657612176612ed5565b60209081029190910181015160008481526001835260408082206001600160a01b038e1683529093529190912054909150818110156121c75760405162461bcd60e51b815260040161066590613112565b60008381526001602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290612206908490612e87565b925050819055505050508061221a90612eeb565b905061213b565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612271929190613033565b60405180910390a46108b9818787878787612594565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106122c1576122c1612ed5565b602090810291909101015292915050565b6001600160a01b0384163b156108b95760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612316908990899088908890889060040161315c565b6020604051808303816000875af1925050508015612351575060408051601f3d908101601f1916820190925261234e918101906131a1565b60015b6123fd5761235d6131be565b806308c379a00361239657506123716131da565b8061237c5750612398565b8060405162461bcd60e51b8152600401610665919061287a565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610665565b6001600160e01b0319811663f23a6e6160e01b146118d85760405162461bcd60e51b815260040161066590613264565b600081815260018301602052604081205461247457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610693565b506000610693565b816001600160a01b0316836001600160a01b0316036124ef5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610665565b6001600160a01b03838116600081815260026020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b600080612569848461277d565b9050600061257f82670de0b6b3a7640000612789565b95945050505050565b600061123d8284612e70565b6001600160a01b0384163b156108b95760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906125d890899089908890889088906004016132ac565b6020604051808303816000875af1925050508015612613575060408051601f3d908101601f19168201909252612610918101906131a1565b60015b61261f5761235d6131be565b6001600160e01b0319811663bc197c8160e01b146118d85760405162461bcd60e51b815260040161066590613264565b6001600160a01b0384166126755760405162461bcd60e51b8152600401610665906130cd565b33600061268185612287565b9050600061268e85612287565b905060008681526001602090815260408083206001600160a01b038c168452909152902054858110156126d35760405162461bcd60e51b815260040161066590613112565b60008781526001602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612712908490612e87565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612772848a8a8a8a8a6122d2565b505050505050505050565b600061123d8284612f04565b600061123d8284612f23565b6001600160a01b03811681146114db57600080fd5b600080604083850312156127bd57600080fd5b82356127c881612795565b946020939093013593505050565b6001600160e01b0319811681146114db57600080fd5b6000602082840312156127fe57600080fd5b813561123d816127d6565b60006020828403121561281b57600080fd5b5035919050565b60005b8381101561283d578181015183820152602001612825565b83811115610a185750506000910152565b60008151808452612866816020860160208601612822565b601f01601f19169290920160200192915050565b60208152600061123d602083018461284e565b80151581146114db57600080fd5b6000602082840312156128ad57600080fd5b813561123d8161288d565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff811182821017156128f4576128f46128b8565b6040525050565b600067ffffffffffffffff821115612915576129156128b8565b5060051b60200190565b600082601f83011261293057600080fd5b8135602061293d826128fb565b60405161294a82826128ce565b83815260059390931b850182019282810191508684111561296a57600080fd5b8286015b84811015612985578035835291830191830161296e565b509695505050505050565b600082601f8301126129a157600080fd5b813567ffffffffffffffff8111156129bb576129bb6128b8565b6040516129d2601f8301601f1916602001826128ce565b8181528460208386010111156129e757600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215612a1c57600080fd5b8535612a2781612795565b94506020860135612a3781612795565b9350604086013567ffffffffffffffff80821115612a5457600080fd5b612a6089838a0161291f565b94506060880135915080821115612a7657600080fd5b612a8289838a0161291f565b93506080880135915080821115612a9857600080fd5b50612aa588828901612990565b9150509295509295909350565b60008060408385031215612ac557600080fd5b823591506020830135612ad781612795565b809150509250929050565b60008060408385031215612af557600080fd5b823567ffffffffffffffff80821115612b0d57600080fd5b818501915085601f830112612b2157600080fd5b81356020612b2e826128fb565b604051612b3b82826128ce565b83815260059390931b8501820192828101915089841115612b5b57600080fd5b948201945b83861015612b82578535612b7381612795565b82529482019490820190612b60565b96505086013592505080821115612b9857600080fd5b50612ba58582860161291f565b9150509250929050565b600081518084526020808501945080840160005b83811015612bdf57815187529582019590820190600101612bc3565b509495945050505050565b60208152600061123d6020830184612baf565b60008060008060808587031215612c1357600080fd5b8435612c1e81612795565b93506020850135612c2e81612795565b92506040850135612c3e81612795565b91506060850135612c4e81612795565b939692955090935050565b600060208284031215612c6b57600080fd5b813561123d81612795565b60008060408385031215612c8957600080fd5b8235612c9481612795565b91506020830135612ad78161288d565b600080600060608486031215612cb957600080fd5b8335612cc481612795565b9250602084013567ffffffffffffffff80821115612ce157600080fd5b612ced8783880161291f565b93506040860135915080821115612d0357600080fd5b50612d108682870161291f565b9150509250925092565b60008060408385031215612d2d57600080fd5b8235612d3881612795565b91506020830135612ad781612795565b600080600080600060a08688031215612d6057600080fd5b8535612d6b81612795565b94506020860135612d7b81612795565b93506040860135925060608601359150608086013567ffffffffffffffff811115612da557600080fd5b612aa588828901612990565b600181811c90821680612dc557607f821691505b602082108103612de557634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612dfd57600080fd5b815161123d8161288d565b602080825260169082015275151a1a5cc818d85c9908185b1c9958591e481cdbdb1960521b604082015260600190565b60208082526008908201526714dbdb190813dd5d60c21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015612e8257612e82612e5a565b500390565b60008219821115612e9a57612e9a612e5a565b500190565b600060208284031215612eb157600080fd5b815161123d81612795565b600060208284031215612ece57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b600060018201612efd57612efd612e5a565b5060010190565b6000816000190483118215151615612f1e57612f1e612e5a565b500290565b600082612f4057634e487b7160e01b600052601260045260246000fd5b500490565b600081612f5457612f54612e5a565b506000190190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b6040815260006130466040830185612baf565b828103602084015261257f8185612baf565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613090816017850160208801612822565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516130c1816028840160208801612822565b01602801949350505050565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906131969083018461284e565b979650505050505050565b6000602082840312156131b357600080fd5b815161123d816127d6565b600060033d11156131d75760046000803e5060005160e01c5b90565b600060443d10156131e85790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561321857505050505090565b82850191508151818111156132305750505050505090565b843d870101602082850101111561324a5750505050505090565b613259602082860101876128ce565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906132d890830186612baf565b82810360608401526132ea8186612baf565b905082810360808401526132fe818561284e565b9897505050505050505056fea2646970667358221220fbe3fee3b91f5ab84e923e42c53274b0396a4c3491c964674d337ce20399977f64736f6c634300080d0033000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000064834926000000000000000000000000000000000000000000000000000000006483492700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000c7d713b49da0000000000000000000000000000b9d5c93ec9aba93180ddd00a628e8facc31030390000000000000000000000002791eb71c88a36dcbcf3aa772aaf4e4122cb716c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000edfe9ac42a511e1c523e067db8345711419d4f14000000000000000000000000fbbb0db0b33dc38c65443e4f3aeae2b79a0d35f6000000000000000000000000b9d5c93ec9aba93180ddd00a628e8facc31030390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000edfe9ac42a511e1c523e067db8345711419d4f140000000000000000000000003cc6cdda760b79bafa08df41ecfa224f810dceb6000000000000000000000000000000000000000000000000000000000000003f697066733a2f2f516d4e686b5172773676777979735453527a634a41765a7033794d314537794d645033475068475a434d73334e502f7b69647d2e6a736f6e00