0x60806040526004361061007f5760003560e01c8063a08767be1161004e578063a08767be14610134578063ea84bfee14610154578063f2fde38b14610174578063fcf97c441461019457600080fd5b8063715018a61461008b57806387ff319f146100a25780638da5cb5b146100e25780638e8b0e151461011457600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100a06101ca565b005b3480156100ae57600080fd5b506100cf6100bd366004610a2a565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b3480156100ee57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016100d9565b34801561012057600080fd5b506001546100fc906001600160a01b031681565b34801561014057600080fd5b506100a061014f366004610a55565b6101de565b34801561016057600080fd5b506100cf61016f366004610aa8565b6103bb565b34801561018057600080fd5b506100a061018f366004610a2a565b610544565b3480156101a057600080fd5b506100cf6101af366004610a2a565b6001600160a01b031660009081526002602052604090205490565b6101d26105bd565b6101dc6000610617565b565b336001600160a01b037f00000000000000000000000027b4f74ec7c81d26168feff0f153c6f92301a506161461022f5760405162461bcd60e51b815260040161022690610ae1565b60405180910390fd5b801561029157814710156102795760405162461bcd60e51b8152602060048201526011602482015270139bdd08195b9bdd59da081c995dd85c99607a1b6044820152606401610226565b61028c6001600160a01b03841683610667565b610360565b6040516370a0823160e01b815230600482015282906001600160a01b038616906370a082319060240160206040518083038186803b1580156102d257600080fd5b505afa1580156102e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030a9190610b25565b101561034c5760405162461bcd60e51b8152602060048201526011602482015270139bdd08195b9bdd59da081c995dd85c99607a1b6044820152606401610226565b6103606001600160a01b0385168484610785565b61036a84826103bb565b506040805183815282151560208201526001600160a01b0380861692908716917f9e5c493e7063a39646349bc839ef5df37c016f4faf53bde5a67230b3169cdd2b910160405180910390a350505050565b6000336001600160a01b037f00000000000000000000000027b4f74ec7c81d26168feff0f153c6f92301a50616146104055760405162461bcd60e51b815260040161022690610ae1565b6001600160a01b0383166000908152600260205260409020548215610444576001600160a01b03841660009081526002602052604090204790556104d5565b6040516370a0823160e01b81523060048201526001600160a01b038516906370a082319060240160206040518083038186803b15801561048357600080fd5b505afa158015610497573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bb9190610b25565b6001600160a01b0385166000908152600260205260409020555b6001600160a01b038416600090815260026020908152604091829020548251848152918201527f8ecf343d22d1934aea3fb34b7332371552b19286c5bc696adae16c7690a90d54910160405180910390a15050506001600160a01b031660009081526002602052604090205490565b61054c6105bd565b6001600160a01b0381166105b15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610226565b6105ba81610617565b50565b6000546001600160a01b031633146101dc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610226565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b804710156106b75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610226565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610704576040519150601f19603f3d011682016040523d82523d6000602084013e610709565b606091505b50509050806107805760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610226565b505050565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261078092869291600091610815918516908490610892565b80519091501561078057808060200190518101906108339190610b3e565b6107805760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610226565b60606108a184846000856108ab565b90505b9392505050565b60608247101561090c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610226565b6001600160a01b0385163b6109635760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610226565b600080866001600160a01b0316858760405161097f9190610b8b565b60006040518083038185875af1925050503d80600081146109bc576040519150601f19603f3d011682016040523d82523d6000602084013e6109c1565b606091505b50915091506109d18282866109dc565b979650505050505050565b606083156109eb5750816108a4565b8251156109fb5782518084602001fd5b8160405162461bcd60e51b81526004016102269190610ba7565b6001600160a01b03811681146105ba57600080fd5b600060208284031215610a3c57600080fd5b81356108a481610a15565b80151581146105ba57600080fd5b60008060008060808587031215610a6b57600080fd5b8435610a7681610a15565b93506020850135610a8681610a15565b9250604085013591506060850135610a9d81610a47565b939692955090935050565b60008060408385031215610abb57600080fd5b8235610ac681610a15565b91506020830135610ad681610a47565b809150509250929050565b60208082526024908201527f4f6e6c79205374616b696e672063616e2063616c6c20746869732066756e637460408201526334b7b71760e11b606082015260800190565b600060208284031215610b3757600080fd5b5051919050565b600060208284031215610b5057600080fd5b81516108a481610a47565b60005b83811015610b76578181015183820152602001610b5e565b83811115610b85576000848401525b50505050565b60008251610b9d818460208701610b5b565b9190910192915050565b6020815260008251806020840152610bc6816040850160208701610b5b565b601f01601f1916919091016040019291505056fea26469706673582212201192019bdd9e15618852c03d77d663f4e3a266a4460fe49d7b3b76fcab45c5a164736f6c63430008090033