0x6080604052600436106100a05760003560e01c80638da5cb5b116100645780638da5cb5b14610169578063a639eb4d14610187578063ace8a2fe146101a7578063b8619788146101c7578063c0323266146101fd578063f2fde38b1461024657600080fd5b80633009a609146100ac5780634451d89f146100d55780635d4d0e79146101125780636a8feb0314610134578063715018a61461015457600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100c260015481565b6040519081526020015b60405180910390f35b3480156100e157600080fd5b506004546100fa9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016100cc565b34801561011e57600080fd5b5061013261012d3660046109bd565b610266565b005b34801561014057600080fd5b5061013261014f366004610ab5565b61049f565b34801561016057600080fd5b50610132610634565b34801561017557600080fd5b506000546001600160a01b03166100fa565b34801561019357600080fd5b506101326101a23660046109bd565b61066a565b3480156101b357600080fd5b506101326101c23660046109bd565b6106c5565b3480156101d357600080fd5b506100c26101e23660046109bd565b6001600160a01b031660009081526002602052604090205490565b34801561020957600080fd5b506102366102183660046109bd565b6001600160a01b031660009081526003602052604090205460ff1690565b60405190151581526020016100cc565b34801561025257600080fd5b506101326102613660046109bd565b6108b6565b6000546001600160a01b031633146102995760405162461bcd60e51b815260040161029090610b75565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff16156102fb5760405162461bcd60e51b815260206004820152601660248201527515d85b1b195d08185b1c9958591e4818db185a5b595960521b6044820152606401610290565b6001600160a01b0381811660009081526002602052604090819020546004805492516370a0823160e01b815230918101919091529092610100909204909116906370a0823190602401602060405180830381865afa158015610361573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103859190610baa565b116103ee5760405162461bcd60e51b815260206004820152603360248201527f436f6e747261637420646f656e73277420686f6c6420656e6f75676820746f6b604482015272656e20666f7220796f7520746f20636c61696d60681b6064820152608401610290565b600480546001600160a01b038381166000818152600260205260409081902054905163a9059cbb60e01b8152948501919091526024840152610100909104169063a9059cbb906044016020604051808303816000875af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610bc3565b506001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146104c95760405162461bcd60e51b815260040161029090610b75565b60045460ff166104eb5760405162461bcd60e51b815260040161029090610be5565b60c8825111156105585760405162461bcd60e51b815260206004820152603260248201527f43616e206f6e6c7920736574203230302077616c6c657473207065722074786e6044820152712064756520746f20676173206c696d69747360701b6064820152608401610290565b60005b825181101561062f5781818151811061057657610576610c29565b6020026020010151670de0b6b3a76400006105919190610c55565b600260008584815181106105a7576105a7610c29565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506000600360008584815181106105eb576105eb610c29565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061062781610c74565b91505061055b565b505050565b6000546001600160a01b0316331461065e5760405162461bcd60e51b815260040161029090610b75565b6106686000610951565b565b6000546001600160a01b031633146106945760405162461bcd60e51b815260040161029090610b75565b6004805460ff196001600160a01b0390931661010002929092166001600160a81b0319909216919091176001179055565b6000546001600160a01b031633146106ef5760405162461bcd60e51b815260040161029090610b75565b60045460ff166107115760405162461bcd60e51b815260040161029090610be5565b600480546040516370a0823160e01b815230928101929092526000916101009091046001600160a01b0316906370a0823190602401602060405180830381865afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107879190610baa565b116107c05760405162461bcd60e51b81526020600482015260096024820152684e6f20746f6b656e7360b81b6044820152606401610290565b600480546040516370a0823160e01b815230928101929092526000916101009091046001600160a01b0316906370a0823190602401602060405180830381865afa158015610812573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108369190610baa565b6004805460405163a9059cbb60e01b81526001600160a01b0386811693820193909352602481018490529293506101009004169063a9059cbb906044016020604051808303816000875af1158015610892573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f9190610bc3565b6000546001600160a01b031633146108e05760405162461bcd60e51b815260040161029090610b75565b6001600160a01b0381166109455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610290565b61094e81610951565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146109b857600080fd5b919050565b6000602082840312156109cf57600080fd5b6109d8826109a1565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a1e57610a1e6109df565b604052919050565b600067ffffffffffffffff821115610a4057610a406109df565b5060051b60200190565b600082601f830112610a5b57600080fd5b81356020610a70610a6b83610a26565b6109f5565b82815260059290921b84018101918181019086841115610a8f57600080fd5b8286015b84811015610aaa5780358352918301918301610a93565b509695505050505050565b60008060408385031215610ac857600080fd5b823567ffffffffffffffff80821115610ae057600080fd5b818501915085601f830112610af457600080fd5b81356020610b04610a6b83610a26565b82815260059290921b84018101918181019089841115610b2357600080fd5b948201945b83861015610b4857610b39866109a1565b82529482019490820190610b28565b96505086013592505080821115610b5e57600080fd5b50610b6b85828601610a4a565b9150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610bbc57600080fd5b5051919050565b600060208284031215610bd557600080fd5b815180151581146109d857600080fd5b60208082526024908201527f436c61696d20546f6b656e2041646472657373206861736e2774206265656e2060408201526339b2ba1760e11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610c6f57610c6f610c3f565b500290565b600060018201610c8657610c86610c3f565b506001019056fea2646970667358221220e98f2707b77a07bb616f97383a9f5477fc55edfa47c006865ff6d1e67312053864736f6c634300080f0033
0x60806040526004805460ff1916905534801561001a57600080fd5b50604051610dc8380380610dc8833981016040819052610039916100c6565b61004233610076565b6004805460ff196001600160a01b0390931661010002929092166001600160a81b03199092169190911760011790556100f6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d857600080fd5b81516001600160a01b03811681146100ef57600080fd5b9392505050565b610cc3806101056000396000f3fe6080604052600436106100a05760003560e01c80638da5cb5b116100645780638da5cb5b14610169578063a639eb4d14610187578063ace8a2fe146101a7578063b8619788146101c7578063c0323266146101fd578063f2fde38b1461024657600080fd5b80633009a609146100ac5780634451d89f146100d55780635d4d0e79146101125780636a8feb0314610134578063715018a61461015457600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100c260015481565b6040519081526020015b60405180910390f35b3480156100e157600080fd5b506004546100fa9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016100cc565b34801561011e57600080fd5b5061013261012d3660046109bd565b610266565b005b34801561014057600080fd5b5061013261014f366004610ab5565b61049f565b34801561016057600080fd5b50610132610634565b34801561017557600080fd5b506000546001600160a01b03166100fa565b34801561019357600080fd5b506101326101a23660046109bd565b61066a565b3480156101b357600080fd5b506101326101c23660046109bd565b6106c5565b3480156101d357600080fd5b506100c26101e23660046109bd565b6001600160a01b031660009081526002602052604090205490565b34801561020957600080fd5b506102366102183660046109bd565b6001600160a01b031660009081526003602052604090205460ff1690565b60405190151581526020016100cc565b34801561025257600080fd5b506101326102613660046109bd565b6108b6565b6000546001600160a01b031633146102995760405162461bcd60e51b815260040161029090610b75565b60405180910390fd5b6001600160a01b03811660009081526003602052604090205460ff16156102fb5760405162461bcd60e51b815260206004820152601660248201527515d85b1b195d08185b1c9958591e4818db185a5b595960521b6044820152606401610290565b6001600160a01b0381811660009081526002602052604090819020546004805492516370a0823160e01b815230918101919091529092610100909204909116906370a0823190602401602060405180830381865afa158015610361573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103859190610baa565b116103ee5760405162461bcd60e51b815260206004820152603360248201527f436f6e747261637420646f656e73277420686f6c6420656e6f75676820746f6b604482015272656e20666f7220796f7520746f20636c61696d60681b6064820152608401610290565b600480546001600160a01b038381166000818152600260205260409081902054905163a9059cbb60e01b8152948501919091526024840152610100909104169063a9059cbb906044016020604051808303816000875af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610bc3565b506001600160a01b03166000908152600360205260409020805460ff19166001179055565b6000546001600160a01b031633146104c95760405162461bcd60e51b815260040161029090610b75565b60045460ff166104eb5760405162461bcd60e51b815260040161029090610be5565b60c8825111156105585760405162461bcd60e51b815260206004820152603260248201527f43616e206f6e6c7920736574203230302077616c6c657473207065722074786e6044820152712064756520746f20676173206c696d69747360701b6064820152608401610290565b60005b825181101561062f5781818151811061057657610576610c29565b6020026020010151670de0b6b3a76400006105919190610c55565b600260008584815181106105a7576105a7610c29565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506000600360008584815181106105eb576105eb610c29565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061062781610c74565b91505061055b565b505050565b6000546001600160a01b0316331461065e5760405162461bcd60e51b815260040161029090610b75565b6106686000610951565b565b6000546001600160a01b031633146106945760405162461bcd60e51b815260040161029090610b75565b6004805460ff196001600160a01b0390931661010002929092166001600160a81b0319909216919091176001179055565b6000546001600160a01b031633146106ef5760405162461bcd60e51b815260040161029090610b75565b60045460ff166107115760405162461bcd60e51b815260040161029090610be5565b600480546040516370a0823160e01b815230928101929092526000916101009091046001600160a01b0316906370a0823190602401602060405180830381865afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107879190610baa565b116107c05760405162461bcd60e51b81526020600482015260096024820152684e6f20746f6b656e7360b81b6044820152606401610290565b600480546040516370a0823160e01b815230928101929092526000916101009091046001600160a01b0316906370a0823190602401602060405180830381865afa158015610812573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108369190610baa565b6004805460405163a9059cbb60e01b81526001600160a01b0386811693820193909352602481018490529293506101009004169063a9059cbb906044016020604051808303816000875af1158015610892573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062f9190610bc3565b6000546001600160a01b031633146108e05760405162461bcd60e51b815260040161029090610b75565b6001600160a01b0381166109455760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610290565b61094e81610951565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146109b857600080fd5b919050565b6000602082840312156109cf57600080fd5b6109d8826109a1565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610a1e57610a1e6109df565b604052919050565b600067ffffffffffffffff821115610a4057610a406109df565b5060051b60200190565b600082601f830112610a5b57600080fd5b81356020610a70610a6b83610a26565b6109f5565b82815260059290921b84018101918181019086841115610a8f57600080fd5b8286015b84811015610aaa5780358352918301918301610a93565b509695505050505050565b60008060408385031215610ac857600080fd5b823567ffffffffffffffff80821115610ae057600080fd5b818501915085601f830112610af457600080fd5b81356020610b04610a6b83610a26565b82815260059290921b84018101918181019089841115610b2357600080fd5b948201945b83861015610b4857610b39866109a1565b82529482019490820190610b28565b96505086013592505080821115610b5e57600080fd5b50610b6b85828601610a4a565b9150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610bbc57600080fd5b5051919050565b600060208284031215610bd557600080fd5b815180151581146109d857600080fd5b60208082526024908201527f436c61696d20546f6b656e2041646472657373206861736e2774206265656e2060408201526339b2ba1760e11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610c6f57610c6f610c3f565b500290565b600060018201610c8657610c86610c3f565b506001019056fea2646970667358221220e98f2707b77a07bb616f97383a9f5477fc55edfa47c006865ff6d1e67312053864736f6c634300080f003300000000000000000000000050d012158fc0533ef2e9d65c0c9f5d3ae65868b0