0x60806040523480156200001157600080fd5b50604051806040016040528060078152602001661554119493d39560ca1b815250604051806040016040528060078152602001661554119493d39560ca1b81525060126000610bb8846005908051906020019062000071929190620002e9565b50835162000087906006906020870190620002e9565b50600783905560048290556000600255620000a933600a85900a83026200016f565b5050600060038190559250620000c19150506200027e565b600880546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060006200011b6200027e565b600980546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f5e935a0fc03d597192bc9c182e5261cd65e9c7e65d4489c91f5e1c6c08cc25c0908290a35062000385565b6001600160a01b038216620001cb576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620001d96000838362000282565b620001f5816002546200028760201b62000ae91790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200022891839062000ae962000287821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3390565b505050565b600082820183811015620002e2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032c57805160ff19168380011785556200035c565b828001600101855582156200035c579182015b828111156200035c5782518255916020019190600101906200033f565b506200036a9291506200036e565b5090565b5b808211156200036a57600081556001016200036f565b61140e80620003956000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806355d0a1d0116100c3578063a457c2d71161007c578063a457c2d714610378578063a9059cbb146103a4578063bed99850146103d0578063cf86a95a146103d8578063dd62ed3e146103fe578063f2fde38b1461042c5761014d565b806355d0a1d01461032a57806370a0823114610332578063715018a6146103585780638da5cb5b1461036057806395d89b411461036857806399789548146103705761014d565b8063313ce56711610115578063313ce5671461028357806333e49e731461028b57806339509351146102ad57806340c10f19146102d957806342966c6814610305578063483a3dcf146103225761014d565b806306fdde031461015257806307546172146101cf578063095ea7b3146101f357806318160ddd1461023357806323b872dd1461024d575b600080fd5b61015a610452565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d76104e8565b604080516001600160a01b039092168252519081900360200190f35b61021f6004803603604081101561020957600080fd5b506001600160a01b0381351690602001356104f7565b604080519115158252519081900360200190f35b61023b610515565b60408051918252519081900360200190f35b61021f6004803603606081101561026357600080fd5b506001600160a01b0381358116916020810135909116906040013561051b565b61023b6105a2565b6102ab600480360360208110156102a157600080fd5b503560ff166105a8565b005b61021f600480360360408110156102c357600080fd5b506001600160a01b03813516906020013561061e565b6102ab600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561066c565b61021f6004803603602081101561031b57600080fd5b50356106ce565b6102ab6106e9565b61023b6106f0565b61023b6004803603602081101561034857600080fd5b50356001600160a01b03166106f6565b6102ab610711565b6101d76107c5565b61015a6107d4565b6102ab610835565b61021f6004803603604081101561038e57600080fd5b506001600160a01b03813516906020013561083c565b61021f600480360360408110156103ba57600080fd5b506001600160a01b0381351690602001356108a4565b61023b6108b8565b6102ab600480360360208110156103ee57600080fd5b50356001600160a01b03166108be565b61023b6004803603604081101561041457600080fd5b506001600160a01b03813581169160200135166109b3565b6102ab6004803603602081101561044257600080fd5b50356001600160a01b03166109de565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104de5780601f106104b3576101008083540402835291602001916104de565b820191906000526020600020905b8154815290600101906020018083116104c157829003601f168201915b5050505050905090565b6009546001600160a01b031690565b600061050b610504610b4a565b8484610b4e565b5060015b92915050565b60025490565b6000610528848484610c3a565b61059884610534610b4a565b610593856040518060600160405280602881526020016112d8602891396001600160a01b038a16600090815260016020526040812090610572610b4a565b6001600160a01b031681526020810191909152604001600020549190610e21565b610b4e565b5060019392505050565b60075490565b6105b0610b4a565b6008546001600160a01b03908116911614610612576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61061b81610eb8565b50565b600061050b61062b610b4a565b84610593856001600061063c610b4a565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610ae9565b610674610b4a565b6009546001600160a01b039081169116146106c05760405162461bcd60e51b81526004018080602001828103825260228152602001806113216022913960400191505060405180910390fd5b6106ca8282610ec0565b5050565b60006106e16106db610b4a565b83610fb0565b506001919050565b6000600455565b60035490565b6001600160a01b031660009081526020819052604090205490565b610719610b4a565b6008546001600160a01b0390811691161461077b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6008546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600880546001600160a01b0319169055565b6008546001600160a01b031690565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104de5780601f106104b3576101008083540402835291602001916104de565b605a600455565b600061050b610849610b4a565b84610593856040518060600160405280602581526020016113b46025913960016000610873610b4a565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e21565b600061050b6108b1610b4a565b8484610c3a565b60045490565b6108c6610b4a565b6009546001600160a01b039081169116146109125760405162461bcd60e51b81526004018080602001828103825260228152602001806113216022913960400191505060405180910390fd5b6001600160a01b0381166109575760405162461bcd60e51b81526004018080602001828103825260288152602001806113686028913960400191505060405180910390fd5b6009546040516001600160a01b038084169216907f5e935a0fc03d597192bc9c182e5261cd65e9c7e65d4489c91f5e1c6c08cc25c090600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6109e6610b4a565b6008546001600160a01b03908116911614610a48576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610a8d5760405162461bcd60e51b81526004018080602001828103825260268152602001806112496026913960400191505060405180910390fd5b6008546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610b43576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610b935760405162461bcd60e51b81526004018080602001828103825260248152602001806113906024913960400191505060405180910390fd5b6001600160a01b038216610bd85760405162461bcd60e51b815260040180806020018281038252602281526020018061126f6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c7f5760405162461bcd60e51b81526004018080602001828103825260258152602001806113436025913960400191505060405180910390fd5b6001600160a01b038216610cc45760405162461bcd60e51b81526004018080602001828103825260238152602001806112046023913960400191505060405180910390fd5b6000610ce66064610ce0600454856110bc90919063ffffffff16565b90611115565b90506000610cf48383611157565b90508181018314610d41576040805162461bcd60e51b8152602060048201526012602482015271109d5c9b881d985b1d59481a5b9d985b1a5960721b604482015290519081900360640190fd5b610d4b8583610fb0565b809250610d59858585611199565b610d9683604051806060016040528060268152602001611291602691396001600160a01b0388166000908152602081905260409020549190610e21565b6001600160a01b038087166000908152602081905260408082209390935590861681522054610dc59084610ae9565b6001600160a01b038086166000818152602081815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35050505050565b60008184841115610eb05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e75578181015183820152602001610e5d565b50505050905090810190601f168015610ea25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60ff16600455565b6001600160a01b038216610f1b576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610f2760008383611199565b600254610f349082610ae9565b6002556001600160a01b038216600090815260208190526040902054610f5a9082610ae9565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610ff55760405162461bcd60e51b81526004018080602001828103825260218152602001806113006021913960400191505060405180910390fd5b61100182600083611199565b61103e81604051806060016040528060228152602001611227602291396001600160a01b0385166000908152602081905260409020549190610e21565b6001600160a01b0383166000908152602081905260409020556002546110649082611157565b6002556003546110749082610ae9565b6003556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6000826110cb5750600061050f565b828202828482816110d857fe5b0414610b435760405162461bcd60e51b81526004018080602001828103825260218152602001806112b76021913960400191505060405180910390fd5b6000610b4383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061119e565b6000610b4383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e21565b505050565b600081836111ed5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e75578181015183820152602001610e5d565b5060008385816111f957fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f20616464726573734d696e7461626c653a2063616c6c6572206973206e6f7420746865206d696e74657245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573734d696e7461626c653a206e6577206d696e74657220697320746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ff0196216862bafde15d18da5719095aa5149a36eb2b0b10001c7f2e83a17d2764736f6c634300060c0033