0x608060405234801561001057600080fd5b506040516111a33803806111a38339818101604052602081101561003357600080fd5b5051600061003f6100be565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100996100946100be565b6100c2565b600480546001600160a01b0319166001600160a01b0392909216919091179055610220565b3390565b6100ca6100be565b6000546001600160a01b0390811691161461012c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610187576040805162461bcd60e51b815260206004820152601a60248201527f6f70657261746f723a206e6f74207a65726f2061646472657373000000000000604482015290519081900360640190fd5b6001600160a01b0381166000818152600160208181526040808420805460ff1916841790556002805493840181559093527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180546001600160a01b03191684179055815192835290517f4c141abccf173677929dea054f218ed87362117834a8869ec9f68d8bdaaea1dc9281900390910190a150565b610f748061022f6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b146101a35780639870d7fe146101c7578063a231a84f146101ed578063ac8a584a146101f5578063f2fde38b1461021b578063f5d82b6b14610241576100b4565b806318160ddd146100b957806326ffee08146100d35780634456eda214610101578063570ca7351461011d57806370a0823114610175578063715018a61461019b575b600080fd5b6100c161026d565b60408051918252519081900360200190f35b6100ff600480360360408110156100e957600080fd5b506001600160a01b038135169060200135610273565b005b61010961033e565b604080519115158252519081900360200190f35b61012561036e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610161578181015183820152602001610149565b505050509050019250505060405180910390f35b6100c16004803603602081101561018b57600080fd5b50356001600160a01b03166103d0565b6100ff6103eb565b6101ab61048d565b604080516001600160a01b039092168252519081900360200190f35b6100ff600480360360208110156101dd57600080fd5b50356001600160a01b031661049c565b6101ab6105e5565b6100ff6004803603602081101561020b57600080fd5b50356001600160a01b03166105f4565b6100ff6004803603602081101561023157600080fd5b50356001600160a01b03166108bd565b6100ff6004803603604081101561025757600080fd5b506001600160a01b0381351690602001356109b5565b60055490565b6001600061027f610a7a565b6001600160a01b0316815260208101919091526040016000205460ff166102d75760405162461bcd60e51b8152600401808060200182810382526024815260200180610ef16024913960400191505060405180910390fd5b6004546102ee906001600160a01b03163383610a7e565b6001600160a01b0382166000908152600360205260409020546103119082610ad5565b6001600160a01b0383166000908152600360205260409020556005546103379082610ad5565b6005555050565b60006001600061034c610a7a565b6001600160a01b0316815260208101919091526040016000205460ff16905090565b606060028054806020026020016040519081016040528092919081815260200182805480156103c657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a8575b5050505050905090565b6001600160a01b031660009081526003602052604090205490565b6103f3610a7a565b6000546001600160a01b03908116911614610443576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6104a4610a7a565b6000546001600160a01b039081169116146104f4576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b6001600160a01b03811661054c576040805162461bcd60e51b815260206004820152601a6024820152796f70657261746f723a206e6f74207a65726f206164647265737360301b604482015290519081900360640190fd5b6001600160a01b0381166000818152600160208181526040808420805460ff1916841790556002805493840181559093527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180546001600160a01b03191684179055815192835290517f4c141abccf173677929dea054f218ed87362117834a8869ec9f68d8bdaaea1dc9281900390910190a150565b6004546001600160a01b031681565b6105fc610a7a565b6000546001600160a01b0390811691161461064c576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b6001600160a01b0381166106a4576040805162461bcd60e51b815260206004820152601a6024820152796f70657261746f723a206e6f74207a65726f206164647265737360301b604482015290519081900360640190fd5b6002546106f5576040805162461bcd60e51b815260206004820152601a6024820152796f70657261746f723a206e6f74207a65726f206164647265737360301b604482015290519081900360640190fd5b600254610749576040805162461bcd60e51b815260206004820181905260248201527f6f70657261746f723a206e6f206f70657261746f722063616e2072656d6f7665604482015290519081900360640190fd5b6000805b60025481101561079957826001600160a01b03166002828154811061076e57fe5b6000918252602090912001546001600160a01b0316141561079157809150610799565b60010161074d565b50816001600160a01b0316600282815481106107b157fe5b6000918252602090912001546001600160a01b0316146107d157506108ba565b6002805460001981019081106107e357fe5b600091825260209091200154600280546001600160a01b03909216918390811061080957fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600280548061084257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03841680835260018252604092839020805460ff19169055825190815291517f6b4be2dd49eba45ba43390fbe7da13e2b965d255db41d6a0fcf6d2e15ac1fccb9281900390910190a1505b50565b6108c5610a7a565b6000546001600160a01b03908116911614610915576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b6001600160a01b03811661095a5760405162461bcd60e51b8152600401808060200182810382526026815260200180610eab6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600160006109c1610a7a565b6001600160a01b0316815260208101919091526040016000205460ff16610a195760405162461bcd60e51b8152600401808060200182810382526024815260200180610ef16024913960400191505060405180910390fd5b600454610a31906001600160a01b0316333084610b1e565b6001600160a01b038216600090815260036020526040902054610a549082610b7e565b6001600160a01b0383166000908152600360205260409020556005546103379082610b7e565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ad0908490610bd8565b505050565b6000610b1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c89565b9392505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610b78908590610bd8565b50505050565b600082820183811015610b17576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6060610c2d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d209092919063ffffffff16565b805190915015610ad057808060200190516020811015610c4c57600080fd5b5051610ad05760405162461bcd60e51b815260040180806020018281038252602a815260200180610f15602a913960400191505060405180910390fd5b60008184841115610d185760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cdd578181015183820152602001610cc5565b50505050905090810190601f168015610d0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060610d2f8484600085610d37565b949350505050565b6060610d4285610ea4565b610d93576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610dd25780518252601f199092019160209182019101610db3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610e34576040519150601f19603f3d011682016040523d82523d6000602084013e610e39565b606091505b50915091508115610e4d579150610d2f9050565b805115610e5d5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610cdd578181015183820152602001610cc5565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657261746f725361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220d07ed2bc28db14026d81c9c79f13ce9c76ac28ed359a34e1dcfd3278c90c6afd64736f6c634300060c00330000000000000000000000004d16e639fd1feeaedd3861a31a809aed24580548
0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b146101a35780639870d7fe146101c7578063a231a84f146101ed578063ac8a584a146101f5578063f2fde38b1461021b578063f5d82b6b14610241576100b4565b806318160ddd146100b957806326ffee08146100d35780634456eda214610101578063570ca7351461011d57806370a0823114610175578063715018a61461019b575b600080fd5b6100c161026d565b60408051918252519081900360200190f35b6100ff600480360360408110156100e957600080fd5b506001600160a01b038135169060200135610273565b005b61010961033e565b604080519115158252519081900360200190f35b61012561036e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610161578181015183820152602001610149565b505050509050019250505060405180910390f35b6100c16004803603602081101561018b57600080fd5b50356001600160a01b03166103d0565b6100ff6103eb565b6101ab61048d565b604080516001600160a01b039092168252519081900360200190f35b6100ff600480360360208110156101dd57600080fd5b50356001600160a01b031661049c565b6101ab6105e5565b6100ff6004803603602081101561020b57600080fd5b50356001600160a01b03166105f4565b6100ff6004803603602081101561023157600080fd5b50356001600160a01b03166108bd565b6100ff6004803603604081101561025757600080fd5b506001600160a01b0381351690602001356109b5565b60055490565b6001600061027f610a7a565b6001600160a01b0316815260208101919091526040016000205460ff166102d75760405162461bcd60e51b8152600401808060200182810382526024815260200180610ef16024913960400191505060405180910390fd5b6004546102ee906001600160a01b03163383610a7e565b6001600160a01b0382166000908152600360205260409020546103119082610ad5565b6001600160a01b0383166000908152600360205260409020556005546103379082610ad5565b6005555050565b60006001600061034c610a7a565b6001600160a01b0316815260208101919091526040016000205460ff16905090565b606060028054806020026020016040519081016040528092919081815260200182805480156103c657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103a8575b5050505050905090565b6001600160a01b031660009081526003602052604090205490565b6103f3610a7a565b6000546001600160a01b03908116911614610443576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6104a4610a7a565b6000546001600160a01b039081169116146104f4576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b6001600160a01b03811661054c576040805162461bcd60e51b815260206004820152601a6024820152796f70657261746f723a206e6f74207a65726f206164647265737360301b604482015290519081900360640190fd5b6001600160a01b0381166000818152600160208181526040808420805460ff1916841790556002805493840181559093527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180546001600160a01b03191684179055815192835290517f4c141abccf173677929dea054f218ed87362117834a8869ec9f68d8bdaaea1dc9281900390910190a150565b6004546001600160a01b031681565b6105fc610a7a565b6000546001600160a01b0390811691161461064c576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b6001600160a01b0381166106a4576040805162461bcd60e51b815260206004820152601a6024820152796f70657261746f723a206e6f74207a65726f206164647265737360301b604482015290519081900360640190fd5b6002546106f5576040805162461bcd60e51b815260206004820152601a6024820152796f70657261746f723a206e6f74207a65726f206164647265737360301b604482015290519081900360640190fd5b600254610749576040805162461bcd60e51b815260206004820181905260248201527f6f70657261746f723a206e6f206f70657261746f722063616e2072656d6f7665604482015290519081900360640190fd5b6000805b60025481101561079957826001600160a01b03166002828154811061076e57fe5b6000918252602090912001546001600160a01b0316141561079157809150610799565b60010161074d565b50816001600160a01b0316600282815481106107b157fe5b6000918252602090912001546001600160a01b0316146107d157506108ba565b6002805460001981019081106107e357fe5b600091825260209091200154600280546001600160a01b03909216918390811061080957fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600280548061084257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03841680835260018252604092839020805460ff19169055825190815291517f6b4be2dd49eba45ba43390fbe7da13e2b965d255db41d6a0fcf6d2e15ac1fccb9281900390910190a1505b50565b6108c5610a7a565b6000546001600160a01b03908116911614610915576040805162461bcd60e51b81526020600482018190526024820152600080516020610ed1833981519152604482015290519081900360640190fd5b6001600160a01b03811661095a5760405162461bcd60e51b8152600401808060200182810382526026815260200180610eab6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600160006109c1610a7a565b6001600160a01b0316815260208101919091526040016000205460ff16610a195760405162461bcd60e51b8152600401808060200182810382526024815260200180610ef16024913960400191505060405180910390fd5b600454610a31906001600160a01b0316333084610b1e565b6001600160a01b038216600090815260036020526040902054610a549082610b7e565b6001600160a01b0383166000908152600360205260409020556005546103379082610b7e565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ad0908490610bd8565b505050565b6000610b1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c89565b9392505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610b78908590610bd8565b50505050565b600082820183811015610b17576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6060610c2d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d209092919063ffffffff16565b805190915015610ad057808060200190516020811015610c4c57600080fd5b5051610ad05760405162461bcd60e51b815260040180806020018281038252602a815260200180610f15602a913960400191505060405180910390fd5b60008184841115610d185760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cdd578181015183820152602001610cc5565b50505050905090810190601f168015610d0a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6060610d2f8484600085610d37565b949350505050565b6060610d4285610ea4565b610d93576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610dd25780518252601f199092019160209182019101610db3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610e34576040519150601f19603f3d011682016040523d82523d6000602084013e610e39565b606091505b50915091508115610e4d579150610d2f9050565b805115610e5d5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610cdd578181015183820152602001610cc5565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657261746f725361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220d07ed2bc28db14026d81c9c79f13ce9c76ac28ed359a34e1dcfd3278c90c6afd64736f6c634300060c0033