60806040526402540be400600a553480156200001a57600080fd5b50604051806040016040528060078152602001664374726c2b463360c81b81525060405180604001604052806004815260200163212aa92760e11b81525060006200006a6200013f60201b60201c565b600080546001600160a01b0383166001600160a01b031991821681178355600180549092168117909155604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508151620000d6906006906020850190620002c6565b508051620000ec906007906020840190620002c6565b505060088054600960ff199091168117610100600160a81b03191662dead0017909155600090555062000139336200012362000143565b60ff16600a0a600a54026200014c60201b60201c565b62000362565b3390565b60085460ff1690565b6001600160a01b038216620001a8576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620001b6600083836200025f565b620001d2816005546200026460201b620008791790919060201c565b6005556001600160a01b038216600090815260036020908152604090912054620002079183906200087962000264821b17901c565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620002bf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030957805160ff191683800117855562000339565b8280016001018555821562000339579182015b82811115620003395782518255916020019190600101906200031c565b50620003479291506200034b565b5090565b5b808211156200034757600081556001016200034c565b610f2980620003726000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a08231116100975780639d8a9279116100665780639d8a9279146102dd578063a5d73a96146102e5578063a9059cbb14610302578063dd62ed3e1461032e57610100565b806370a0823114610283578063715018a6146102a95780638da5cb5b146102b157806395d89b41146102d557610100565b806323b872dd116100d357806323b872dd146101f9578063313ce5671461022f578063395093511461024d57806368405fcd1461027957610100565b8063066548811461010557806306fdde0314610136578063095ea7b3146101b357806318160ddd146101df575b600080fd5b6101226004803603602081101561011b57600080fd5b503561035c565b604080519115158252519081900360200190f35b61013e610377565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610178578181015183820152602001610160565b50505050905090810190601f1680156101a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610122600480360360408110156101c957600080fd5b506001600160a01b03813516906020013561040d565b6101e761042a565b60408051918252519081900360200190f35b6101226004803603606081101561020f57600080fd5b506001600160a01b03813581169160208101359091169060400135610430565b6102376104b7565b6040805160ff9092168252519081900360200190f35b6101226004803603604081101561026357600080fd5b506001600160a01b0381351690602001356104c0565b61028161050e565b005b6101e76004803603602081101561029957600080fd5b50356001600160a01b0316610678565b610281610693565b6102b9610747565b604080516001600160a01b039092168252519081900360200190f35b61013e610756565b6102b96107b7565b610281600480360360208110156102fb57600080fd5b50356107cb565b6101226004803603604081101561031857600080fd5b506001600160a01b03813516906020013561083a565b6101e76004803603604081101561034457600080fd5b506001600160a01b038135811691602001351661084e565b600061036f6103696108da565b836108e9565b506001919050565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b600061042161041a6109db565b84846109df565b50600192915050565b60055490565b600061043d848484610acb565b6104ad846104496109db565b6104a885604051806060016040528060288152602001610e60602891396001600160a01b038a166000908152600460205260408120906104876109db565b6001600160a01b031681526020810191909152604001600020549190610cfb565b6109df565b5060019392505050565b60085460ff1690565b60006104216104cd6109db565b846104a885600460006104de6109db565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610879565b6105166109db565b6001546001600160a01b03908116911614610578576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001546001600160a01b031633146105c15760405162461bcd60e51b8152600401808060200182810382526023815260200180610ed16023913960400191505060405180910390fd5b6002544211610617576040805162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c2037206461797300604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b031660009081526003602052604090205490565b61069b6109db565b6001546001600160a01b039081169116146106fd576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104035780601f106103d857610100808354040283529160200191610403565b60085461010090046001600160a01b031681565b6107d36109db565b6001546001600160a01b03908116911614610835576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600955565b60006104216108476109db565b8484610acb565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000828201838110156108d3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001546001600160a01b031690565b6001600160a01b038216610944576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61095060008383610d92565b60055461095d9082610879565b6005556001600160a01b0382166000908152600360205260409020546109839082610879565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3390565b6001600160a01b038316610a245760405162461bcd60e51b8152600401808060200182810382526024815260200180610ead6024913960400191505060405180910390fd5b6001600160a01b038216610a695760405162461bcd60e51b8152600401808060200182810382526022815260200180610e186022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610b105760405162461bcd60e51b8152600401808060200182810382526025815260200180610e886025913960400191505060405180910390fd5b6001600160a01b038216610b555760405162461bcd60e51b8152600401808060200182810382526023815260200180610df56023913960400191505060405180910390fd5b610b60838383610d92565b610b9d81604051806060016040528060268152602001610e3a602691396001600160a01b0386166000908152600360205260409020549190610cfb565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610bcc9082610879565b6001600160a01b0383166000908152600360205260409020819055600954610bf991906064840402610d97565b6001600160a01b0383811660009081526003602052604080822084905560095460085461010090049093168252902054610c37916064850402610879565b600880546001600160a01b03610100918290048116600090815260036020908152604080832096909655935492909204811680835291849020548451818152945190949293918916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a3836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b60008184841115610d8a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d4f578181015183820152602001610d37565b50505050905090810190601f168015610d7c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b505050565b600082821115610dee576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6f636ba2646970667358221220a18920e4a6ebab8680a89e81c2152635fc1a84a47defb55f4fbb2b0c4ec49c8764736f6c634300060c0033