0x608060405234801561001057600080fd5b5060405161098f38038061098f83398101604081905261002f91610107565b610038336100b7565b6001600160a01b0381166100925760405162461bcd60e51b815260206004820152601560248201527f696e76616c696420746f6b656e20616464726573730000000000000000000000604482015260640160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055610137565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561011957600080fd5b81516001600160a01b038116811461013057600080fd5b9392505050565b610849806101466000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b6b55f251161005b578063b6b55f25146100eb578063d4b73972146100fe578063f2fde38b1461011e578063fc0c546a1461013157600080fd5b806342966c681461008d5780635d16660a146100a2578063715018a6146100be5780638da5cb5b146100c6575b600080fd5b6100a061009b36600461070e565b610144565b005b6100ab60025481565b6040519081526020015b60405180910390f35b6100a06101f5565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016100b5565b6100a06100f936600461070e565b610209565b6100ab61010c366004610727565b60036020526000908152604090205481565b6100a061012c366004610727565b6102e0565b6001546100d3906001600160a01b031681565b61014c610359565b600081116101a15760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e203000000060448201526064015b60405180910390fd5b600180546001600160a01b0316906101bb908290846103b3565b60405182815233907f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7906020015b60405180910390a25050565b6101fd610359565b610207600061041b565b565b600081116102595760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610198565b6001546001600160a01b03166102718133308561046b565b3360009081526003602052604081208054849290610290908490610757565b9250508190555081600260008282546102a99190610757565b909155505060405182815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020016101e9565b6102e8610359565b6001600160a01b03811661034d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610198565b6103568161041b565b50565b6000546001600160a01b031633146102075760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610198565b6040516001600160a01b03831660248201526044810182905261041690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526104a9565b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526104a39085906323b872dd60e01b906084016103df565b50505050565b60006104fe826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661057e9092919063ffffffff16565b905080516000148061051f57508080602001905181019061051f919061077e565b6104165760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610198565b606061058d8484600085610595565b949350505050565b6060824710156105f65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610198565b600080866001600160a01b0316858760405161061291906107c4565b60006040518083038185875af1925050503d806000811461064f576040519150601f19603f3d011682016040523d82523d6000602084013e610654565b606091505b509150915061066587838387610670565b979650505050505050565b606083156106df5782516000036106d8576001600160a01b0385163b6106d85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610198565b508161058d565b61058d83838151156106f45781518083602001fd5b8060405162461bcd60e51b815260040161019891906107e0565b60006020828403121561072057600080fd5b5035919050565b60006020828403121561073957600080fd5b81356001600160a01b038116811461075057600080fd5b9392505050565b8082018082111561077857634e487b7160e01b600052601160045260246000fd5b92915050565b60006020828403121561079057600080fd5b8151801515811461075057600080fd5b60005b838110156107bb5781810151838201526020016107a3565b50506000910152565b600082516107d68184602087016107a0565b9190910192915050565b60208152600082518060208401526107ff8160408501602087016107a0565b601f01601f1916919091016040019291505056fea2646970667358221220d45c80317c7ed3428bd07ab2fd5fbf9acd3fe8e5d23412bcb9a851fd520677b964736f6c63430008110033000000000000000000000000a1d6df714f91debf4e0802a542e13067f31b8262