60806040526200001a6103e867016345785d8a000062000324565b60045562000032606467016345785d8a000062000324565b600555601460068190556007556008805461ffff60a01b1916600160a81b17905560646200006a67016345785d8a0000600262000344565b62000076919062000324565b600c5534801562000085575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600980546001600160a01b03199081163317909155600b8054737a250d5630b4cf539739df2c5dacb4c659f2488d9216821790555f819052600160208181527f12d4ae10b86c0fdfdbbd2bb2dffa7d211f4b1a0678afa5427bf6325849448125805460ff19169092179091556040805163c45a015560e01b8152905163c45a0155926004808401939192918290030181865afa15801562000169573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200018f91906200036e565b6001600160a01b031663c9c6539630600b5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200021591906200036e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000260573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200028691906200036e565b600880546001600160a01b0319166001600160a01b039283161790555f80549091168152600160208181526040808420805460ff1990811685179091553085528185208054909116909317909255338084526002825282842067016345785d8a000090819055925192835292917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200039d565b5f826200033f57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176200036857634e487b7160e01b5f52601160045260245ffd5b92915050565b5f602082840312156200037f575f80fd5b81516001600160a01b038116811462000396575f80fd5b9392505050565b61130780620003ab5f395ff3fe60806040526004361061017e575f3560e01c806370a08231116100cd578063a9059cbb11610087578063dd62ed3e11610062578063dd62ed3e14610461578063e01af92c146104a5578063f4991335146104c4578063ffb54a99146104d9575f80fd5b8063a9059cbb1461040f578063c02466681461042e578063da0b06821461044d575f80fd5b806370a0823114610354578063715018a614610388578063751039fc1461039c5780638da5cb5b146103b05780639299f294146103cc57806395d89b41146103e1575f80fd5b8063313ce567116101385780635d0044ca116101135780635d0044ca146102e25780635eba7fcc146103015780636f268a9914610316578063706cdb5e14610335575f80fd5b8063313ce567146102915780633804c73d146102ac5780635cf70f1c146102c1575f80fd5b806306fdde0314610189578063095ea7b3146101c957806310133c08146101f85780631694505e1461022f57806318160ddd1461024e57806323b872dd14610272575f80fd5b3661018557005b5f80fd5b348015610194575f80fd5b5060408051808201909152600681526514159410995d60d21b60208201525b6040516101c09190610fd0565b60405180910390f35b3480156101d4575f80fd5b506101e86101e3366004611033565b6104f2565b60405190151581526020016101c0565b348015610203575f80fd5b50600a54610217906001600160a01b031681565b6040516001600160a01b0390911681526020016101c0565b34801561023a575f80fd5b50600b54610217906001600160a01b031681565b348015610259575f80fd5b5067016345785d8a00005b6040519081526020016101c0565b34801561027d575f80fd5b506101e861028c36600461105d565b610508565b34801561029c575f80fd5b50604051600981526020016101c0565b3480156102b7575f80fd5b50610264600d5481565b3480156102cc575f80fd5b506102e06102db36600461109b565b61056f565b005b3480156102ed575f80fd5b506102e06102fc3660046110b6565b6105c3565b34801561030c575f80fd5b5061026460075481565b348015610321575f80fd5b50600954610217906001600160a01b031681565b348015610340575f80fd5b506102e061034f36600461109b565b610665565b34801561035f575f80fd5b5061026461036e36600461109b565b6001600160a01b03165f9081526002602052604090205490565b348015610393575f80fd5b506102e06106b0565b3480156103a7575f80fd5b506102e0610721565b3480156103bb575f80fd5b505f546001600160a01b0316610217565b3480156103d7575f80fd5b5061026460065481565b3480156103ec575f80fd5b5060408051808201909152600681526514159410915560d21b60208201526101b3565b34801561041a575f80fd5b506101e8610429366004611033565b610758565b348015610439575f80fd5b506102e06104483660046110e1565b610764565b348015610458575f80fd5b506102e06107b7565b34801561046c575f80fd5b5061026461047b366004611114565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b3480156104b0575f80fd5b506102e06104bf36600461114b565b6107f3565b3480156104cf575f80fd5b50610264600c5481565b3480156104e4575f80fd5b50600e546101e89060ff1681565b5f6104fe33848461083a565b5060015b92915050565b5f61051484848461089a565b6105658433610560856040518060600160405280602881526020016112aa602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190610c83565b61083a565b5060019392505050565b5f546001600160a01b031633146105a15760405162461bcd60e51b815260040161059890611164565b60405180910390fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146105ec5760405162461bcd60e51b815260040161059890611164565b6106006101f467016345785d8a00006111ad565b8110156106605760405162461bcd60e51b815260206004820152602860248201527f4d61782077616c6c65742073697a652063616e2774206265206c6f776572207460448201526768616e20302e322560c01b6064820152608401610598565b600c55565b5f546001600160a01b0316331461068e5760405162461bcd60e51b815260040161059890611164565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146106d95760405162461bcd60e51b815260040161059890611164565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461074a5760405162461bcd60e51b815260040161059890611164565b67016345785d8a0000600c55565b5f6104fe33848461089a565b5f546001600160a01b0316331461078d5760405162461bcd60e51b815260040161059890611164565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107e05760405162461bcd60e51b815260040161059890611164565b600e805460ff1916600117905543600d55565b5f546001600160a01b0316331461081c5760405162461bcd60e51b815260040161059890611164565b60088054911515600160a81b0260ff60a81b19909216919091179055565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383165f9081526001602052604081205460ff161580156108da57506001600160a01b0383165f9081526001602052604090205460ff16155b15610b4657600e5460ff166109285760405162461bcd60e51b81526020600482015260146024820152735472616465206973206e6f74206f70656e65642160601b6044820152606401610598565b610948606461094260065485610cbb90919063ffffffff16565b90610d40565b6008549091506001600160a01b038481169116146109d057600c5482610982856001600160a01b03165f9081526002602052604090205490565b61098c91906111cc565b11156109d05760405162461bcd60e51b81526020600482015260136024820152724d61782077616c6c657420726561636865642160681b6044820152606401610598565b6008546001600160a01b0390811690851603610a5657600c5482610a08856001600160a01b03165f9081526002602052604090205490565b610a1291906111cc565b1115610a565760405162461bcd60e51b81526020600482015260136024820152724d61782077616c6c657420726561636865642160681b6044820152606401610598565b6008546001600160a01b0390811690841603610a8957610a86606461094260075485610cbb90919063ffffffff16565b90505b305f90815260026020526040902054600854600160a01b900460ff16158015610abf57506008546001600160a01b038581169116145b8015610ad45750600854600160a81b900460ff165b8015610ae1575060045481115b15610b4457610b03610afe84610af984600554610d81565b610d81565b610d95565b478015610b42576009546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610b40573d5f803e3d5ffd5b505b505b505b8015610bbe57305f90815260026020526040902054610b659082610f05565b305f81815260026020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb59085815260200190565b60405180910390a35b6001600160a01b0384165f90815260026020526040902054610be09083610f63565b6001600160a01b0385165f90815260026020526040902055610c23610c058383610f63565b6001600160a01b0385165f9081526002602052604090205490610f05565b6001600160a01b038085165f8181526002602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610c6c8585610f63565b60405190815260200160405180910390a350505050565b5f8184841115610ca65760405162461bcd60e51b81526004016105989190610fd0565b505f610cb284866111df565b95945050505050565b5f825f03610cca57505f610502565b5f610cd583856111f2565b905082610ce285836111ad565b14610d395760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610598565b9392505050565b5f610d3983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610fa4565b5f818311610d8f5782610d39565b50919050565b6008805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ddb57610ddb611209565b6001600160a01b03928316602091820292909201810191909152600b54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e56919061121d565b81600181518110610e6957610e69611209565b6001600160a01b039283166020918202929092010152600b54610e8f913091168461083a565b600b5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ec79085905f90869030904290600401611238565b5f604051808303815f87803b158015610ede575f80fd5b505af1158015610ef0573d5f803e3d5ffd5b50506008805460ff60a01b1916905550505050565b5f80610f1183856111cc565b905083811015610d395760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610598565b5f610d3983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c83565b5f8183610fc45760405162461bcd60e51b81526004016105989190610fd0565b505f610cb284866111ad565b5f602080835283518060208501525f5b81811015610ffc57858101830151858201604001528201610fe0565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611030575f80fd5b50565b5f8060408385031215611044575f80fd5b823561104f8161101c565b946020939093013593505050565b5f805f6060848603121561106f575f80fd5b833561107a8161101c565b9250602084013561108a8161101c565b929592945050506040919091013590565b5f602082840312156110ab575f80fd5b8135610d398161101c565b5f602082840312156110c6575f80fd5b5035919050565b803580151581146110dc575f80fd5b919050565b5f80604083850312156110f2575f80fd5b82356110fd8161101c565b915061110b602084016110cd565b90509250929050565b5f8060408385031215611125575f80fd5b82356111308161101c565b915060208301356111408161101c565b809150509250929050565b5f6020828403121561115b575f80fd5b610d39826110cd565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f826111c757634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561050257610502611199565b8181038181111561050257610502611199565b808202811582820484141761050257610502611199565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561122d575f80fd5b8151610d398161101c565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156112885784516001600160a01b031683529383019391830191600101611263565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200e0a51ff00ffc759000e0e64b4c73cfff632c5a866fa8728949a8873520731f064736f6c63430008170033