0x60806040526000805460ff60a01b1916905534801561001d57600080fd5b50600080546001600160a01b031916331790556108a48061003f6000396000f3fe60806040526004361061004e5760003560e01c806316114acd1461005a57806343cf6f241461007c5780638a8c523c146100af578063bcdb446b146100e0578063eb916900146100f557600080fd5b3661005557005b600080fd5b34801561006657600080fd5b5061007a6100753660046105ba565b610115565b005b34801561008857600080fd5b5061009c6100973660046105dc565b61024e565b6040519081526020015b60405180910390f35b3480156100bb57600080fd5b506000546100d090600160a01b900460ff1681565b60405190151581526020016100a6565b3480156100ec57600080fd5b5061007a610383565b34801561010157600080fd5b5061007a6101103660046105dc565b6103dc565b6000546001600160a01b031633146101485760405162461bcd60e51b815260040161013f9061076b565b60405180910390fd5b6040516370a0823160e01b815230600482015281906001600160a01b0382169063a9059cbb90339083906370a082319060240160206040518083038186803b15801561019357600080fd5b505afa1580156101a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cb919061070e565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b15801561021157600080fd5b505af1158015610225573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024991906106ec565b505050565b60408051600280825260608201835260009283929190602083019080368337019050509050848160008151811061028757610287610842565b60200260200101906001600160a01b031690816001600160a01b03168152505083816001815181106102bb576102bb610842565b6001600160a01b03928316602091820292909201015260405163d06ca61f60e01b815260009188169063d06ca61f906102fa90879086906004016107a0565b60006040518083038186803b15801561031257600080fd5b505afa158015610326573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261034e9190810190610627565b9050806001835161035f9190610815565b8151811061036f5761036f610842565b602002602001015192505050949350505050565b6000546001600160a01b031633146103ad5760405162461bcd60e51b815260040161013f9061076b565b60405133904780156108fc02916000818181858888f193505050501580156103d9573d6000803e3d6000fd5b50565b6000546001600160a01b031633146104065760405162461bcd60e51b815260040161013f9061076b565b60405163095ea7b360e01b81526001600160a01b0385811660048301526024820183905284169063095ea7b390604401602060405180830381600087803b15801561045057600080fd5b505af1158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906106ec565b5060408051600280825260608201835260009260208301908036833701905050905083816000815181106104be576104be610842565b60200260200101906001600160a01b031690816001600160a01b03168152505082816001815181106104f2576104f2610842565b6001600160a01b03928316602091820292909201015285166338ed173983600184306105204261012c6107fd565b6040518663ffffffff1660e01b81526004016105409594939291906107c1565b600060405180830381600087803b15801561055a57600080fd5b505af115801561056e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105969190810190610627565b505050505050565b80356001600160a01b03811681146105b557600080fd5b919050565b6000602082840312156105cc57600080fd5b6105d58261059e565b9392505050565b600080600080608085870312156105f257600080fd5b6105fb8561059e565b93506106096020860161059e565b92506106176040860161059e565b9396929550929360600135925050565b6000602080838503121561063a57600080fd5b825167ffffffffffffffff8082111561065257600080fd5b818501915085601f83011261066657600080fd5b81518181111561067857610678610858565b8060051b604051601f19603f8301168101818110858211171561069d5761069d610858565b604052828152858101935084860182860187018a10156106bc57600080fd5b600095505b838610156106df5780518552600195909501949386019386016106c1565b5098975050505050505050565b6000602082840312156106fe57600080fd5b815180151581146105d557600080fd5b60006020828403121561072057600080fd5b5051919050565b600081518084526020808501945080840160005b838110156107605781516001600160a01b03168752958201959082019060010161073b565b509495945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8281526040602082015260006107b96040830184610727565b949350505050565b85815284602082015260a0604082015260006107e060a0830186610727565b6001600160a01b0394909416606083015250608001529392505050565b600082198211156108105761081061082c565b500190565b6000828210156108275761082761082c565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220e806db9737de6ede79306d54a1d964a0de5f44fe9d40182d02643c417bbaefb464736f6c63430008070033