608060405260116006553480156200001657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000666009600a62000245565b6200007590620f42406200025d565b336000908152600160208190526040822092909255600390620000a06000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620000d03390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200010a6009600a62000245565b6200011990620f42406200025d565b60405190815260200160405180910390a36200027f565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620001875781600019048211156200016b576200016b62000130565b808516156200017957918102915b93841c93908002906200014b565b509250929050565b600082620001a0575060016200023f565b81620001af575060006200023f565b8160018114620001c85760028114620001d357620001f3565b60019150506200023f565b60ff841115620001e757620001e762000130565b50506001821b6200023f565b5060208310610133831016604e8410600b841016171562000218575081810a6200023f565b62000224838362000146565b80600019048211156200023b576200023b62000130565b0290505b92915050565b60006200025660ff8416836200018f565b9392505050565b60008160001904831182151516156200027a576200027a62000130565b500290565b611021806200028f6000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb146102ea578063abb810521461030a578063afbecb7614610343578063dd62ed3e1461036357600080fd5b806370a0823114610253578063715018a6146102895780638da5cb5b1461029e57806395d89b41146102bc57600080fd5b806323b872dd116100c657806323b872dd146101be578063313ce567146101de5780634dcec7bb146101fa57806356a060a21461023257600080fd5b806306fdde0314610103578063095ea7b314610149578063113717b71461017957806318160ddd1461019b57600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5060408051808201909152600b81526a576f6b65204469736e657960a81b60208201525b6040516101409190610c49565b60405180910390f35b34801561015557600080fd5b50610169610164366004610cba565b6103a9565b6040519015158152602001610140565b34801561018557600080fd5b50610199610194366004610cf4565b6103c0565b005b3480156101a757600080fd5b506101b061048f565b604051908152602001610140565b3480156101ca57600080fd5b506101696101d9366004610d27565b6104af565b3480156101ea57600080fd5b5060405160098152602001610140565b34801561020657600080fd5b5060075461021a906001600160a01b031681565b6040516001600160a01b039091168152602001610140565b34801561023e57600080fd5b5060075461016990600160a01b900460ff1681565b34801561025f57600080fd5b506101b061026e366004610d63565b6001600160a01b031660009081526001602052604090205490565b34801561029557600080fd5b50610199610518565b3480156102aa57600080fd5b506000546001600160a01b031661021a565b3480156102c857600080fd5b5060408051808201909152600581526415d3d2d15160da1b6020820152610133565b3480156102f657600080fd5b50610169610305366004610cba565b61058c565b34801561031657600080fd5b50610169610325366004610d63565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561034f57600080fd5b5061019961035e366004610d7e565b610599565b34801561036f57600080fd5b506101b061037e366004610da8565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006103b63384846105ee565b5060015b92915050565b6000546001600160a01b031633146103f35760405162461bcd60e51b81526004016103ea90610dc4565b60405180910390fd5b8161045f5760405162461bcd60e51b815260206004820152603660248201527f5472616465207374617475732073686f756c64206265206f70656e207768696c604482015275329030b23234b733903830b4b91030b2323932b9b99760511b60648201526084016103ea565b60078054921515600160a01b026001600160a81b03199093166001600160a01b0390921691909117919091179055565b600061049d6009600a610ef3565b6104aa90620f4240610f02565b905090565b60006104bc848484610712565b61050e843361050985604051806060016040528060288152602001610fc4602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a93565b6105ee565b5060019392505050565b6000546001600160a01b031633146105425760405162461bcd60e51b81526004016103ea90610dc4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103b6338484610712565b6000546001600160a01b031633146105c35760405162461bcd60e51b81526004016103ea90610dc4565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6001600160a01b0383166106505760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103ea565b6001600160a01b0382166106b15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103ea565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107785760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103ea565b6001600160a01b0383166107da5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103ea565b6000821161083c5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103ea565b600080546001600160a01b0386811691161480159061086957506000546001600160a01b03858116911614155b15610a7257600754600160a01b900460ff1661088457600080fd5b6001600160a01b03851660009081526003602052604090205460ff161580156108c657506001600160a01b03841660009081526003602052604090205460ff16155b156109a1576001600160a01b03851660009081526004602052604090205460ff1615801561090d57506001600160a01b03841660009081526004602052604090205460ff16155b61091657600080fd5b6007546000906001600160a01b0390811690871603610933575060015b8015610957576064610946856000610f02565b6109509190610f21565b915061099b565b60016000526005602052600080516020610fa48339815191525460ff16156109815783915061099b565b606461098e856000610f02565b6109989190610f21565b91505b50610a72565b6007546001600160a01b0390811690861603610a7257600080516020610fa4833981519152546001600160a01b03851660009081526003602052604090205460ff9182169116610a0d5760016000526005602052600080516020610fa48339815191525460ff16610a38565b600160008190526005602052600080516020610fa483398151915254610a389160ff90911690610f43565b60016000526005602052600080516020610fa4833981519152805460ff191660ff9283169081179091559082161015610a7057600a92505b505b610a8c8585858460065487610a879190610f68565b610acd565b5050505050565b60008184841115610ab75760405162461bcd60e51b81526004016103ea9190610c49565b506000610ac48486610f74565b95945050505050565b6001600160a01b038516600090815260016020526040902054610af09084610ba1565b6001600160a01b038616600090815260016020526040902055610b3f81610b39610b1a8686610ba1565b6001600160a01b03881660009081526001602052604090205490610bea565b90610bea565b6001600160a01b0380861660008181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610b898686610ba1565b60405190815260200160405180910390a35050505050565b6000610be383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a93565b9392505050565b600080610bf78385610f8b565b905083811015610be35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103ea565b600060208083528351808285015260005b81811015610c7657858101830151858201604001528201610c5a565b81811115610c88576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610cb557600080fd5b919050565b60008060408385031215610ccd57600080fd5b610cd683610c9e565b946020939093013593505050565b80358015158114610cb557600080fd5b60008060408385031215610d0757600080fd5b610d1083610ce4565b9150610d1e60208401610c9e565b90509250929050565b600080600060608486031215610d3c57600080fd5b610d4584610c9e565b9250610d5360208501610c9e565b9150604084013590509250925092565b600060208284031215610d7557600080fd5b610be382610c9e565b60008060408385031215610d9157600080fd5b610d9a83610c9e565b9150610d1e60208401610ce4565b60008060408385031215610dbb57600080fd5b610d1083610c9e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610e4a578160001904821115610e3057610e30610df9565b80851615610e3d57918102915b93841c9390800290610e14565b509250929050565b600082610e61575060016103ba565b81610e6e575060006103ba565b8160018114610e845760028114610e8e57610eaa565b60019150506103ba565b60ff841115610e9f57610e9f610df9565b50506001821b6103ba565b5060208310610133831016604e8410600b8410161715610ecd575081810a6103ba565b610ed78383610e0f565b8060001904821115610eeb57610eeb610df9565b029392505050565b6000610be360ff841683610e52565b6000816000190483118215151615610f1c57610f1c610df9565b500290565b600082610f3e57634e487b7160e01b600052601260045260246000fd5b500490565b600060ff821660ff84168060ff03821115610f6057610f60610df9565b019392505050565b6000610be38383610e52565b600082821015610f8657610f86610df9565b500390565b60008219821115610f9e57610f9e610df9565b50019056fe1471eb6eb2c5e789fc3de43f8ce62938c7d1836ec861730447e2ada8fd81017b45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201a58c3ad3c6eb1e8ddeb7f0c93b700a767cd87b94aa4b667114a9635539a662c64736f6c634300080e0033