6080604052601380546001600160a01b03191661dead1790556019805460ff19166001179055601b805461ffff19166101001790553480156200004157600080fd5b506040516200588638038062005886833981016040819052620000649162000ffd565b604080518082018252600580825264434f52455360d81b6020808401828152855180870190965292855284015281518a938a93929091620000a89160039162000ded565b508051620000be90600490602084019062000ded565b5050506000620000d3620009aa60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508051825114620001935760405162461bcd60e51b815260206004820152603260248201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726044820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b60648201526084015b60405180910390fd5b6000825111620001e65760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f2070617965657300000000000060448201526064016200018a565b60005b825181101562000252576200023d8382815181106200020c576200020c620010fa565b6020026020010151838381518110620002295762000229620010fa565b6020026020010151620009ae60201b60201c565b80620002498162001126565b915050620001e9565b505050846000815181106200026b576200026b620010fa565b6020026020010151601060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555084600181518110620002af57620002af620010fa565b6020026020010151601160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555084600281518110620002f357620002f3620010fa565b6020908102919091010151601280546001600160a01b0319166001600160a01b0392831617905560105416158015906200033757506011546001600160a01b031615155b620003935760405162461bcd60e51b815260206004820152602560248201527f465554555220262052455741524420414444524553532043414e4e4f54204245604482015264205a45524f60d81b60648201526084016200018a565b6001600160a01b038116620003eb5760405162461bcd60e51b815260206004820152601560248201527f524f555445522043414e4e4f54204245205a45524f000000000000000000000060448201526064016200018a565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000431573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000457919062001144565b6001600160a01b031663c9c6539630846001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004cb919062001144565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000519573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200053f919062001144565b600e80546001600160a01b038086166001600160a01b031992831617909255600f80549284169290911691909117905590506200057e81600162000b9c565b84600081518110620005945762000594620010fa565b6020026020010151600014158015620005cb575084600181518110620005be57620005be620010fa565b6020026020010151600014155b8015620005f6575084600281518110620005e957620005e9620010fa565b6020026020010151600014155b801562000621575084600381518110620006145762000614620010fa565b6020026020010151600014155b6200066f5760405162461bcd60e51b815260206004820152601460248201527f434f4e5354523a204665657320657175616c203000000000000000000000000060448201526064016200018a565b84600081518110620006855762000685620010fa565b602002602001015160168190555084600181518110620006a957620006a9620010fa565b602002602001015160148190555084600281518110620006cd57620006cd620010fa565b602002602001015160158190555084600381518110620006f157620006f1620010fa565b602002602001015160188190555084600481518110620007155762000715620010fa565b6020026020010151601a819055506200075c6016546200074860155460145462000c8760201b620031fb1790919060201c565b62000c8760201b620031fb1790919060201c565b60175586511580159062000771575060008651115b620007e55760405162461bcd60e51b815260206004820152603860248201527f434f4e5354523a20616464726573736573206172726179206c656e677468206d60448201527f7573742062652067726561746572207468616e207a65726f000000000000000060648201526084016200018a565b8551875114620008495760405162461bcd60e51b815260206004820152602860248201527f434f4e5354523a2061646472657373657320617272617973206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016200018a565b60005b8751811015620008c457620008af8882815181106200086f576200086f620010fa565b60200260200101518883815181106200088c576200088c620010fa565b6020026020010151670de0b6b3a7640000620008a9919062001162565b62000cf1565b80620008bb8162001126565b9150506200084c565b5060025469d3c21bcecceda100000014620009315760405162461bcd60e51b815260206004820152602660248201527f434f4e5354523a20746f74616c537570706c79206d75737420657175616c2035604482015265030302c3030360d41b60648201526084016200018a565b60008411620009835760405162461bcd60e51b815260206004820152601d60248201527f434f4e5354523a205377617020616d6f756e7420696e636f727265637400000060448201526064016200018a565b6200099784670de0b6b3a764000062001162565b601c5550620011dc975050505050505050565b3390565b6001600160a01b03821662000a1b5760405162461bcd60e51b815260206004820152602c60248201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060448201526b7a65726f206164647265737360a01b60648201526084016200018a565b6000811162000a6d5760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a2073686172657320617265203000000060448201526064016200018a565b6001600160a01b0382166000908152600860205260409020541562000ae95760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960448201526a206861732073686172657360a81b60648201526084016200018a565b600a8054600181019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b038416908117909155600090815260086020526040902081905560065462000b5390829062001184565b600655604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b6001600160a01b0382166000908152601e602052604090205460ff161515811515141562000c335760405162461bcd60e51b815260206004820152603d60248201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260448201527f20697320616c72656164792073657420746f20746861742076616c756500000060648201526084016200018a565b6001600160a01b0382166000818152601e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b60008062000c96838562001184565b90508381101562000cea5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200018a565b9392505050565b6001600160a01b03821662000d495760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200018a565b62000d658160025462000c8760201b620031fb1790919060201c565b6002556001600160a01b0382166000908152602081815260409091205462000d98918390620031fb62000c87821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b82805462000dfb906200119f565b90600052602060002090601f01602090048101928262000e1f576000855562000e6a565b82601f1062000e3a57805160ff191683800117855562000e6a565b8280016001018555821562000e6a579182015b8281111562000e6a57825182559160200191906001019062000e4d565b5062000e7892915062000e7c565b5090565b5b8082111562000e78576000815560010162000e7d565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171562000ed45762000ed462000e93565b604052919050565b60006001600160401b0382111562000ef85762000ef862000e93565b5060051b60200190565b80516001600160a01b038116811462000f1a57600080fd5b919050565b600082601f83011262000f3157600080fd5b8151602062000f4a62000f448362000edc565b62000ea9565b82815260059290921b8401810191818101908684111562000f6a57600080fd5b8286015b8481101562000f905762000f828162000f02565b835291830191830162000f6e565b509695505050505050565b600082601f83011262000fad57600080fd5b8151602062000fc062000f448362000edc565b82815260059290921b8401810191818101908684111562000fe057600080fd5b8286015b8481101562000f90578051835291830191830162000fe4565b600080600080600080600060e0888a0312156200101957600080fd5b87516001600160401b03808211156200103157600080fd5b6200103f8b838c0162000f1f565b985060208a01519150808211156200105657600080fd5b620010648b838c0162000f9b565b975060408a01519150808211156200107b57600080fd5b620010898b838c0162000f1f565b965060608a0151915080821115620010a057600080fd5b620010ae8b838c0162000f9b565b955060808a0151915080821115620010c557600080fd5b50620010d48a828b0162000f9b565b93505060a08801519150620010ec60c0890162000f02565b905092959891949750929550565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156200113d576200113d62001110565b5060010190565b6000602082840312156200115757600080fd5b62000cea8262000f02565b60008160001904831182151516156200117f576200117f62001110565b500290565b600082198211156200119a576200119a62001110565b500190565b600181811c90821680620011b457607f821691505b60208210811415620011d657634e487b7160e01b600052602260045260246000fd5b50919050565b61469a80620011ec6000396000f3fe60806040526004361061046c5760003560e01c80637b7703921161024a578063b62496f511610139578063dd62ed3e116100b6578063f5a072561161007a578063f5a0725614610e0e578063f74c993414610e23578063f7b9f94314610e43578063f9afc76314610e58578063fb0a749414610e6d57600080fd5b8063dd62ed3e14610d64578063e06fc51914610daa578063e33b7de314610dc4578063ee1afdbf14610dd9578063f2fde38b14610dee57600080fd5b8063d0f77474116100fd578063d0f7747414610cc4578063d79779b214610ce4578063d892934214610d1a578063da41b33314610d3a578063db3ad6b514610d4f57600080fd5b8063b62496f514610c09578063b96392c114610c39578063bdf24a5314610c59578063c5ca7d6d14610c6e578063ce7c2ac214610c8e57600080fd5b806395d89b41116101c7578063a457c2d71161018b578063a457c2d714610b7e578063a5021a1714610b9e578063a538ddf214610bb3578063a9059cbb14610bd3578063ab57476114610bf357600080fd5b806395d89b4114610ade5780639852595c14610af35780639a7a23d614610b295780639c82751c14610b49578063a0a8fe6514610b6957600080fd5b80638b83209b1161020e5780638b83209b14610a405780638bc9c7b014610a605780638da5cb5b14610a805780638f0ba4ca14610a9e5780639349c47d14610abe57600080fd5b80637b770392146109ab5780638013858b146109cb57806385141a77146109eb5780638743ef6d14610a0b57806388c41d7c14610a2057600080fd5b806348b750441161036657806365bfe430116102e35780636d9ae0be116102a75780636d9ae0be146108fa5780636f4a2cd01461091057806370a0823114610940578063715018a6146109765780637628b3d71461098b57600080fd5b806365bfe4301461085a578063665a11ca1461087a5780636770474b1461089a5780636815a91c146108ba5780636c4b2076146108da57600080fd5b8063583bd7a61161032a578063583bd7a6146107cf57806359640ed9146107ef5780635b0d46741461080f5780635f1c31821461082457806365b8dbc01461083a57600080fd5b806348b750441461074f57806348e5642b1461076f57806349bd5a5e1461078457806354557973146107a457806354f12f1f146107b957600080fd5b806319165587116103f457806339509351116103b857806339509351146106945780633a98ef39146106b4578063406072a9146106c95780634195fbf31461070f57806342bc9fca1461072f57600080fd5b806319165587146105f25780631cdd3be31461061257806323b872dd146106425780632bb14e1d14610662578063313ce5671461067857600080fd5b80630c08f3001161043b5780630c08f3001461055a57806313114a9d1461057a578063138a634a146105905780631694505e146105a557806318160ddd146105dd57600080fd5b806306fdde03146104ba578063084a6bff146104e5578063095ea7b31461050757806309a69f571461053757600080fd5b366104b5577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b3480156104c657600080fd5b506104cf610e8d565b6040516104dc9190613f88565b60405180910390f35b3480156104f157600080fd5b50610505610500366004613f9b565b610f1f565b005b34801561051357600080fd5b50610527610522366004613fcc565b610f79565b60405190151581526020016104dc565b34801561054357600080fd5b5061054c610f90565b6040519081526020016104dc565b34801561056657600080fd5b50610505610575366004613ff8565b6110c4565b34801561058657600080fd5b5061054c60175481565b34801561059c57600080fd5b506104cf611110565b3480156105b157600080fd5b50600e546105c5906001600160a01b031681565b6040516001600160a01b0390911681526020016104dc565b3480156105e957600080fd5b5060025461054c565b3480156105fe57600080fd5b5061050561060d366004613ff8565b611244565b34801561061e57600080fd5b5061052761062d366004613ff8565b601d6020526000908152604090205460ff1681565b34801561064e57600080fd5b5061052761065d366004614015565b611372565b34801561066e57600080fd5b5061054c60145481565b34801561068457600080fd5b50604051601281526020016104dc565b3480156106a057600080fd5b506105276106af366004613fcc565b6113dc565b3480156106c057600080fd5b5060065461054c565b3480156106d557600080fd5b5061054c6106e4366004614056565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561071b57600080fd5b5061050561072a366004613f9b565b611412565b34801561073b57600080fd5b5061050561074a366004613f9b565b611485565b34801561075b57600080fd5b5061050561076a366004614056565b6114c9565b34801561077b57600080fd5b5061054c6116a2565b34801561079057600080fd5b50600f546105c5906001600160a01b031681565b3480156107b057600080fd5b506105056116ec565b3480156107c557600080fd5b5061054c60155481565b3480156107db57600080fd5b506105056107ea36600461409d565b611a21565b3480156107fb57600080fd5b5061050561080a366004613f9b565b611a65565b34801561081b57600080fd5b506104cf611af1565b34801561083057600080fd5b5061054c601c5481565b34801561084657600080fd5b50610505610855366004613ff8565b611bbd565b34801561086657600080fd5b50610505610875366004613f9b565b611e2c565b34801561088657600080fd5b506012546105c5906001600160a01b031681565b3480156108a657600080fd5b506105056108b5366004613f9b565b612153565b3480156108c657600080fd5b506105056108d5366004613f9b565b612182565b3480156108e657600080fd5b506105056108f536600461409d565b6121b1565b34801561090657600080fd5b5061054c60185481565b34801561091c57600080fd5b506109256121ee565b604080519384526020840192909252908201526060016104dc565b34801561094c57600080fd5b5061054c61095b366004613ff8565b6001600160a01b031660009081526020819052604090205490565b34801561098257600080fd5b506105056122a3565b34801561099757600080fd5b50600d546105c5906001600160a01b031681565b3480156109b757600080fd5b506105056109c6366004613f9b565b612317565b3480156109d757600080fd5b506105056109e6366004613f9b565b612372565b3480156109f757600080fd5b506013546105c5906001600160a01b031681565b348015610a1757600080fd5b506105056123cd565b348015610a2c57600080fd5b50610505610a3b366004613f9b565b612446565b348015610a4c57600080fd5b506105c5610a5b366004613f9b565b61248a565b348015610a6c57600080fd5b50610505610a7b366004613f9b565b6124ba565b348015610a8c57600080fd5b506005546001600160a01b03166105c5565b348015610aaa57600080fd5b50610505610ab9366004614129565b6124e9565b348015610aca57600080fd5b50610505610ad9366004613ff8565b6129a6565b348015610aea57600080fd5b506104cf6129f2565b348015610aff57600080fd5b5061054c610b0e366004613ff8565b6001600160a01b031660009081526009602052604090205490565b348015610b3557600080fd5b50610505610b443660046141a9565b612a01565b348015610b5557600080fd5b50610505610b64366004613f9b565b612acb565b348015610b7557600080fd5b5061054c612b26565b348015610b8a57600080fd5b50610527610b99366004613fcc565b612b70565b348015610baa57600080fd5b5061054c612bbf565b348015610bbf57600080fd5b506010546105c5906001600160a01b031681565b348015610bdf57600080fd5b50610527610bee366004613fcc565b612c09565b348015610bff57600080fd5b5061054c60165481565b348015610c1557600080fd5b50610527610c24366004613ff8565b601e6020526000908152604090205460ff1681565b348015610c4557600080fd5b5061054c610c54366004613ff8565b612c16565b348015610c6557600080fd5b506104cf612cb2565b348015610c7a57600080fd5b506011546105c5906001600160a01b031681565b348015610c9a57600080fd5b5061054c610ca9366004613ff8565b6001600160a01b031660009081526008602052604090205490565b348015610cd057600080fd5b50610505610cdf36600461409d565b612d7e565b348015610cf057600080fd5b5061054c610cff366004613ff8565b6001600160a01b03166000908152600b602052604090205490565b348015610d2657600080fd5b50610505610d353660046141a9565b612dda565b348015610d4657600080fd5b5061054c612e2f565b348015610d5b57600080fd5b5061054c612e79565b348015610d7057600080fd5b5061054c610d7f366004614056565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610db657600080fd5b506019546105279060ff1681565b348015610dd057600080fd5b5060075461054c565b348015610de557600080fd5b506104cf612ec3565b348015610dfa57600080fd5b50610505610e09366004613ff8565b612f8f565b348015610e1a57600080fd5b5061054c61307a565b348015610e2f57600080fd5b5061054c610e3e366004613ff8565b6130c4565b348015610e4f57600080fd5b5061054c6130f7565b348015610e6457600080fd5b50610527613141565b348015610e7957600080fd5b50610505610e88366004613ff8565b6131af565b606060038054610e9c906141d7565b80601f0160208091040260200160405190810160405280929190818152602001828054610ec8906141d7565b8015610f155780601f10610eea57610100808354040283529160200191610f15565b820191906000526020600020905b815481529060010190602001808311610ef857829003601f168201915b5050505050905090565b6005546001600160a01b03163314610f525760405162461bcd60e51b8152600401610f4990614212565b60405180910390fd5b6014819055601654601554610f739190610f6d9084906131fb565b906131fb565b60175550565b6000610f8633848461325a565b5060015b92915050565b600033610faf5760405162461bcd60e51b8152600401610f4990614247565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611005573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110299190614275565b6110455760405162461bcd60e51b8152600401610f4990614292565b600d546001600160a01b031663619a635e336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561109b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bf91906142b9565b905090565b6005546001600160a01b031633146110ee5760405162461bcd60e51b8152600401610f4990614212565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b60603361112f5760405162461bcd60e51b8152600401610f4990614247565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a99190614275565b6111c55760405162461bcd60e51b8152600401610f4990614292565b600d546001600160a01b031663334de3a2335b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381865afa15801561121c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110bf91908101906142d2565b6001600160a01b0381166000908152600860205260409020546112795760405162461bcd60e51b8152600401610f4990614340565b600061128460075490565b61128e904761439c565b905060006112bb83836112b6866001600160a01b031660009081526009602052604090205490565b61337f565b9050806112da5760405162461bcd60e51b8152600401610f49906143b4565b6001600160a01b0383166000908152600960205260408120805483929061130290849061439c565b92505081905550806007600082825461131b919061439c565b9091555061132b905083826133c5565b604080516001600160a01b0385168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a1505050565b600061137f8484846134de565b6113d184336113cc85604051806060016040528060288152602001614618602891396001600160a01b038a16600090815260016020908152604080832033845290915290205491906136ca565b61325a565b5060015b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610f869185906113cc90866131fb565b6005546001600160a01b0316331461143c5760405162461bcd60e51b8152600401610f4990614212565b478111156114475750475b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611481573d6000803e3d6000fd5b5050565b6005546001600160a01b031633146114af5760405162461bcd60e51b8152600401610f4990614212565b6015819055601654601454610f739190610f6d90846131fb565b6001600160a01b0381166000908152600860205260409020546114fe5760405162461bcd60e51b8152600401610f4990614340565b6001600160a01b0382166000908152600b60205260408120546040516370a0823160e01b81523060048201526001600160a01b038516906370a0823190602401602060405180830381865afa15801561155b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157f91906142b9565b611589919061439c565b905060006115c283836112b687876001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b9050806115e15760405162461bcd60e51b8152600401610f49906143b4565b6001600160a01b038085166000908152600c602090815260408083209387168352929052908120805483929061161890849061439c565b90915550506001600160a01b0384166000908152600b60205260408120805483929061164590849061439c565b909155506116569050848483613704565b604080516001600160a01b038581168252602082018490528616917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a250505050565b600d54604080516345193f5560e11b815290516000926001600160a01b031691638a327eaa9160048083019260209291908290030181865afa15801561109b573d6000803e3d6000fd5b338061174e5760405162461bcd60e51b815260206004820152602b60248201527f4d414e494120435348543a20206372656174696f6e2066726f6d20746865207a60448201526a65726f206164647265737360a81b6064820152608401610f49565b6001600160a01b0381166000908152601d602052604090205460ff16156117b75760405162461bcd60e51b815260206004820152601f60248201527f4d414e494120435348543a20426c61636b6c69737465642061646472657373006044820152606401610f49565b6010546001600160a01b038281169116148015906117e357506011546001600160a01b03828116911614155b6118555760405162461bcd60e51b815260206004820152603860248201527f4d414e494120435348543a20667574757220616e642072657761726473506f6f60448201527f6c2063616e6e6f7420636173686f7574207265776172647300000000000000006064820152608401610f49565b600d546040516330cd31af60e11b81526001600160a01b038381166004830152600092169063619a635e90602401602060405180830381865afa1580156118a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c491906142b9565b9050600081116119335760405162461bcd60e51b815260206004820152603460248201527f4d414e494120435348543a20596f7520646f6e2774206861766520656e6f75676044820152731a081c995dd85c99081d1bc818d85cda081bdd5d60621b6064820152608401610f49565b601b54610100900460ff161561199557601854600090156119875761196e60646119686018548561375690919063ffffffff16565b906137d5565b601054909150611987906001600160a01b031682613817565b61199181836143ff565b9150505b6011546119ac906001600160a01b03168383613866565b600d5460405163170a62c760e21b81526001600160a01b03848116600483015290911690635c298b1c906024016020604051808303816000875af11580156119f8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c91906142b9565b505050565b6005546001600160a01b03163314611a4b5760405162461bcd60e51b8152600401610f4990614212565b601b80549115156101000261ff0019909216919091179055565b6005546001600160a01b03163314611a8f5760405162461bcd60e51b8152600401610f4990614212565b600d54604051631df3773160e31b8152600481018390526001600160a01b039091169063ef9bb988906024015b600060405180830381600087803b158015611ad657600080fd5b505af1158015611aea573d6000803e3d6000fd5b5050505050565b606033611b105760405162461bcd60e51b8152600401610f4990614247565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015611b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8a9190614275565b611ba65760405162461bcd60e51b8152600401610f4990614292565b600d546001600160a01b0316634a389fae336111d8565b6005546001600160a01b03163314611be75760405162461bcd60e51b8152600401610f4990614212565b600e546001600160a01b0382811691161415611c565760405162461bcd60e51b815260206004820152602860248201527f544b4e3a2054686520726f7574657220616c7265616479206861732074686174604482015267206164647265737360c01b6064820152608401610f49565b600e546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600e80546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa158015611ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d119190614416565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d979190614416565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015611de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e089190614416565b600f80546001600160a01b0319166001600160a01b03929092169190911790555050565b3380611e885760405162461bcd60e51b815260206004820152602560248201527f435348543a20206372656174696f6e2066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610f49565b6001600160a01b0381166000908152601d602052604090205460ff1615611ef15760405162461bcd60e51b815260206004820152601f60248201527f4d414e494120435348543a20426c61636b6c69737465642061646472657373006044820152606401610f49565b6010546001600160a01b03828116911614801590611f1d57506011546001600160a01b03828116911614155b611f845760405162461bcd60e51b815260206004820152603260248201527f435348543a20667574757220616e642072657761726473506f6f6c2063616e6e6044820152716f7420636173686f7574207265776172647360701b6064820152608401610f49565b600d546040516329b8573160e21b81526001600160a01b03838116600483015260248201859052600092169063a6e15cc490604401602060405180830381865afa158015611fd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ffa91906142b9565b9050600081116120635760405162461bcd60e51b815260206004820152602e60248201527f435348543a20596f7520646f6e2774206861766520656e6f756768207265776160448201526d1c99081d1bc818d85cda081bdd5d60921b6064820152608401610f49565b601b54610100900460ff16156120bf57601854600090156120b15761209860646119686018548561375690919063ffffffff16565b6010549091506120b1906001600160a01b031682613817565b6120bb81836143ff565b9150505b6011546120d6906001600160a01b03168383613866565b600d5460405163376db80160e11b81526001600160a01b0384811660048301526024820186905290911690636edb7002906044016020604051808303816000875af1158015612129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214d91906142b9565b50505050565b6005546001600160a01b0316331461217d5760405162461bcd60e51b8152600401610f4990614212565b601c55565b6005546001600160a01b031633146121ac5760405162461bcd60e51b8152600401610f4990614212565b601855565b6005546001600160a01b031633146121db5760405162461bcd60e51b8152600401610f4990614212565b6019805460ff1916911515919091179055565b600554600090819081906001600160a01b0316331461221f5760405162461bcd60e51b8152600401610f4990614212565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b81526004016060604051808303816000875af1158015612274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122989190614433565b925092509250909192565b6005546001600160a01b031633146122cd5760405162461bcd60e51b8152600401610f4990614212565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146123415760405162461bcd60e51b8152600401610f4990614212565b600d546040516318df5db960e31b8152600481018390526001600160a01b039091169063c6faedc890602401611abc565b6005546001600160a01b0316331461239c5760405162461bcd60e51b8152600401610f4990614212565b600d5460405163cece91eb60e01b8152600481018390526001600160a01b039091169063cece91eb90602401611abc565b600d60009054906101000a90046001600160a01b03166001600160a01b03166388fe65536040518163ffffffff1660e01b81526004016060604051808303816000875af1158015612422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1c9190614433565b6005546001600160a01b031633146124705760405162461bcd60e51b8152600401610f4990614212565b6016819055601554601454610f73918391610f6d916131fb565b6000600a828154811061249f5761249f614461565b6000918252602090912001546001600160a01b031692915050565b6005546001600160a01b031633146124e45760405162461bcd60e51b8152600401610f4990614212565b601a55565b600381511180156124fb575060208151105b6125475760405162461bcd60e51b815260206004820181905260248201527f4e4f4445204352454154494f4e3a204e414d452053495a4520494e56414c49446044820152606401610f49565b33806125ac5760405162461bcd60e51b815260206004820152602e60248201527f4e4f4445204352454154494f4e3a20206372656174696f6e2066726f6d20746860448201526d65207a65726f206164647265737360901b6064820152608401610f49565b6001600160a01b0381166000908152601d602052604090205460ff16156126205760405162461bcd60e51b815260206004820152602260248201527f4e4f4445204352454154494f4e3a20426c61636b6c6973746564206164647265604482015261737360f01b6064820152608401610f49565b6010546001600160a01b0382811691161480159061264c57506011546001600160a01b03828116911614155b6126be5760405162461bcd60e51b815260206004820152603760248201527f4e4f4445204352454154494f4e3a20667574757220616e64207265776172647360448201527f506f6f6c2063616e6e6f7420637265617465206e6f64650000000000000000006064820152608401610f49565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b89160048083019260209291908290030181865afa158015612708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061272c91906142b9565b90508061274e836001600160a01b031660009081526020819052604090205490565b10156127b15760405162461bcd60e51b815260206004820152602c60248201527f4e4f4445204352454154494f4e3a2042616c616e636520746f6f206c6f77206660448201526b37b91031b932b0ba34b7b71760a11b6064820152608401610f49565b30600090815260208190526040902054601c54811080159081906127dc5750601b54610100900460ff165b80156127eb5750601b5460ff16155b801561280557506005546001600160a01b03858116911614155b801561282a57506001600160a01b0384166000908152601e602052604090205460ff16155b1561293057601b805460ff1916600117905560165460009061285490606490611968908690613756565b60105490915061286d906001600160a01b031682613817565b600061288960646119686014548761375690919063ffffffff16565b905060006128a76064611968601a548561375690919063ffffffff16565b6011549091506128c0906001600160a01b031682613817565b6011546128e19030906001600160a01b03166128dc858561396f565b613866565b60006128fd60646119686015548961375690919063ffffffff16565b9050612908816139b1565b3060009081526020819052604090205461292190613a38565b5050601b805460ff1916905550505b61293b843085613866565b600d546040516312b8603f60e01b81526001600160a01b03909116906312b8603f9061296d9087908990600401614477565b600060405180830381600087803b15801561298757600080fd5b505af115801561299b573d6000803e3d6000fd5b505050505050505050565b6005546001600160a01b031633146129d05760405162461bcd60e51b8152600401610f4990614212565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b606060048054610e9c906141d7565b6005546001600160a01b03163314612a2b5760405162461bcd60e51b8152600401610f4990614212565b600f546001600160a01b0383811691161415612ac15760405162461bcd60e51b815260206004820152604960248201527f544b4e3a2054686520547261646572204a6f6520706169722063616e6e6f742060448201527f62652072656d6f7665642066726f6d206175746f6d617465644d61726b65744d606482015268616b6572506169727360b81b608482015260a401610f49565b6114818282613b92565b6005546001600160a01b03163314612af55760405162461bcd60e51b8152600401610f4990614212565b600d5460405163d1871a8960e01b8152600481018390526001600160a01b039091169063d1871a8990602401611abc565b600d546040805163b8527aef60e01b815290516000926001600160a01b03169163b8527aef9160048083019260209291908290030181865afa15801561109b573d6000803e3d6000fd5b6000610f8633846113cc85604051806060016040528060258152602001614640602591393360009081526001602090815260408083206001600160a01b038d16845290915290205491906136ca565b600d5460408051631e3fd85760e31b815290516000926001600160a01b03169163f1fec2b89160048083019260209291908290030181865afa15801561109b573d6000803e3d6000fd5b6000610f863384846134de565b6005546000906001600160a01b03163314612c435760405162461bcd60e51b8152600401610f4990614212565b600d546040516330cd31af60e11b81526001600160a01b0384811660048301529091169063619a635e906024015b602060405180830381865afa158015612c8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8a91906142b9565b606033612cd15760405162461bcd60e51b8152600401610f4990614247565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015612d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d4b9190614275565b612d675760405162461bcd60e51b8152600401610f4990614292565b600d546001600160a01b031663c92819ce336111d8565b6005546001600160a01b03163314612da85760405162461bcd60e51b8152600401610f4990614212565b600d54604051636d58441560e11b815282151560048201526001600160a01b039091169063dab0882a90602401611abc565b6005546001600160a01b03163314612e045760405162461bcd60e51b8152600401610f4990614212565b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b600d546040805163fb10d6fb60e01b815290516000926001600160a01b03169163fb10d6fb9160048083019260209291908290030181865afa15801561109b573d6000803e3d6000fd5b600d546040805163613ff46f60e01b815290516000926001600160a01b03169163613ff46f9160048083019260209291908290030181865afa15801561109b573d6000803e3d6000fd5b606033612ee25760405162461bcd60e51b8152600401610f4990614247565b600d546001600160a01b03166341ac82b0336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015612f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5c9190614275565b612f785760405162461bcd60e51b8152600401610f4990614292565b600d546001600160a01b0316635759fb02336111d8565b6005546001600160a01b03163314612fb95760405162461bcd60e51b8152600401610f4990614212565b6001600160a01b03811661301e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610f49565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600d54604080516327b3bf1160e01b815290516000926001600160a01b0316916327b3bf119160048083019260209291908290030181865afa15801561109b573d6000803e3d6000fd5b600d5460405163112469f960e21b81526001600160a01b0383811660048301526000921690634491a7e490602401612c71565b600d5460408051636f60a39360e11b815290516000926001600160a01b03169163dec147269160048083019260209291908290030181865afa15801561109b573d6000803e3d6000fd5b600d54604080516385c44d9d60e01b815290516000926001600160a01b0316916385c44d9d9160048083019260209291908290030181865afa15801561318b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110bf9190614275565b6005546001600160a01b031633146131d95760405162461bcd60e51b8152600401610f4990614212565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600080613208838561439c565b9050838110156113d55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610f49565b6001600160a01b0383166132bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610f49565b6001600160a01b03821661331d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610f49565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6006546001600160a01b038416600090815260086020526040812054909183916133a9908661449b565b6133b391906144ba565b6133bd91906143ff565b949350505050565b804710156134155760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610f49565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613462576040519150601f19603f3d011682016040523d82523d6000602084013e613467565b606091505b5050905080611a1c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610f49565b6001600160a01b0383166135045760405162461bcd60e51b8152600401610f49906144dc565b6001600160a01b03821661352a5760405162461bcd60e51b8152600401610f4990614521565b6001600160a01b0383166000908152601d602052604090205460ff1615801561356c57506001600160a01b0382166000908152601d602052604090205460ff16155b6135ae5760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610f49565b60195460ff1680156135cd5750600f546001600160a01b038381169116145b80156135e757506012546001600160a01b03848116911614155b801561360157506010546001600160a01b03848116911614155b801561361b57506011546001600160a01b03848116911614155b801561363057506001600160a01b0383163014155b156136bf57600d5460405163041ac82b60e41b81526001600160a01b038581166004830152909116906341ac82b090602401602060405180830381865afa15801561367f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136a39190614275565b6136bf5760405162461bcd60e51b8152600401610f4990614292565b611a1c838383613866565b600081848411156136ee5760405162461bcd60e51b8152600401610f499190613f88565b5060006136fb84866143ff565b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611a1c908490613c7b565b60008261376557506000610f8a565b6000613771838561449b565b90508261377e85836144ba565b146113d55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610f49565b60006113d583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613d4d565b4761382182613a38565b600061382d478361396f565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015611aea573d6000803e3d6000fd5b6001600160a01b03831661388c5760405162461bcd60e51b8152600401610f49906144dc565b6001600160a01b0382166138b25760405162461bcd60e51b8152600401610f4990614521565b6138ef816040518060600160405280602681526020016145f2602691396001600160a01b03861660009081526020819052604090205491906136ca565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461391e90826131fb565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101613372565b60006113d583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506136ca565b60006139be8260026137d5565b905060006139cc838361396f565b9050476139d883613a38565b60006139e4478361396f565b90506139f08382613d7b565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110613a6d57613a6d614461565b6001600160a01b03928316602091820292909201810191909152600e54604080516339d94ae160e11b8152905191909316926373b295c29260048083019391928290030181865afa158015613ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613aea9190614416565b81600181518110613afd57613afd614461565b6001600160a01b039283166020918202929092010152600e54613b23913091168461325a565b600e54604051633b158ab160e11b81526001600160a01b039091169063762b156290613b5c908590600090869030904290600401614564565b600060405180830381600087803b158015613b7657600080fd5b505af1158015613b8a573d6000803e3d6000fd5b505050505050565b6001600160a01b0382166000908152601e602052604090205460ff1615158115151415613c275760405162461bcd60e51b815260206004820152603d60248201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260448201527f20697320616c72656164792073657420746f20746861742076616c75650000006064820152608401610f49565b6001600160a01b0382166000818152601e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6000613cd0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e259092919063ffffffff16565b805190915015611a1c5780806020019051810190613cee9190614275565b611a1c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610f49565b60008183613d6e5760405162461bcd60e51b8152600401610f499190613f88565b5060006136fb84866144ba565b600e54613d939030906001600160a01b03168461325a565b600e54604051637c8d9fb960e11b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f91b3f7290839060c40160606040518083038185885af1158015613e00573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611aea9190614433565b60606133bd848460008585843b613e7e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f49565b600080866001600160a01b03168587604051613e9a91906145d5565b60006040518083038185875af1925050503d8060008114613ed7576040519150601f19603f3d011682016040523d82523d6000602084013e613edc565b606091505b5091509150613eec828286613ef7565b979650505050505050565b60608315613f065750816113d5565b825115613f165782518084602001fd5b8160405162461bcd60e51b8152600401610f499190613f88565b60005b83811015613f4b578181015183820152602001613f33565b8381111561214d5750506000910152565b60008151808452613f74816020860160208601613f30565b601f01601f19169290920160200192915050565b6020815260006113d56020830184613f5c565b600060208284031215613fad57600080fd5b5035919050565b6001600160a01b0381168114613fc957600080fd5b50565b60008060408385031215613fdf57600080fd5b8235613fea81613fb4565b946020939093013593505050565b60006020828403121561400a57600080fd5b81356113d581613fb4565b60008060006060848603121561402a57600080fd5b833561403581613fb4565b9250602084013561404581613fb4565b929592945050506040919091013590565b6000806040838503121561406957600080fd5b823561407481613fb4565b9150602083013561408481613fb4565b809150509250929050565b8015158114613fc957600080fd5b6000602082840312156140af57600080fd5b81356113d58161408f565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156140f9576140f96140ba565b604052919050565b600067ffffffffffffffff82111561411b5761411b6140ba565b50601f01601f191660200190565b60006020828403121561413b57600080fd5b813567ffffffffffffffff81111561415257600080fd5b8201601f8101841361416357600080fd5b803561417661417182614101565b6140d0565b81815285602083850101111561418b57600080fd5b81602084016020830137600091810160200191909152949350505050565b600080604083850312156141bc57600080fd5b82356141c781613fb4565b915060208301356140848161408f565b600181811c908216806141eb57607f821691505b6020821081141561420c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526014908201527353454e4445522043414e2754204245205a45524f60601b604082015260600190565b60006020828403121561428757600080fd5b81516113d58161408f565b6020808252600d908201526c2727902727a2229027aba722a960991b604082015260600190565b6000602082840312156142cb57600080fd5b5051919050565b6000602082840312156142e457600080fd5b815167ffffffffffffffff8111156142fb57600080fd5b8201601f8101841361430c57600080fd5b805161431a61417182614101565b81815285602083850101111561432f57600080fd5b6136fb826020830160208601613f30565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082198211156143af576143af614386565b500190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b60008282101561441157614411614386565b500390565b60006020828403121561442857600080fd5b81516113d581613fb4565b60008060006060848603121561444857600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03831681526040602082018190526000906133bd90830184613f5c565b60008160001904831182151516156144b5576144b5614386565b500290565b6000826144d757634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156145b45784516001600160a01b03168352938301939183019160010161458f565b50506001600160a01b03969096166060850152505050608001529392505050565b600082516145e7818460208701613f30565b919091019291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204c4abbc7451b5d1d1ca81bfe8d07ebddd9a8ca8b2e1f15accc7d92fcd63587b264736f6c634300080c003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d40000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a0bac6ceb16d82610ba9a4248359e32548ce82e3000000000000000000000000458280ec191c3d041e509682cbfa6ffd303491fd00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000030000000000000000000000007d600ca0237fded6d790497f919e788094364d2100000000000000000000000090c25f55d5349950cebec08575cba3f4cac8b6d2000000000000000000000000d89135731f7a9a963fc1684610d98d71541d697b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000009c4000000000000000000000000000000000000000000000000000000000000e7ef0000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001e