0x60806040526004361061014f5760003560e01c806353d6fd59116100b65780638bcea9391161006f5780638bcea939146103d257806395d89b41146103f2578063a9059cbb14610421578063dd62ed3e14610441578063e7a547e314610487578063f2fde38b146104a757600080fd5b806353d6fd59146103005780636c0a24eb1461032057806370a082311461033557806374755c851461036b5780637d1db4a51461038b578063893d20e8146103a057600080fd5b8063293230b811610108578063293230b81461023b5780632e86474a146102505780632f54bf6e14610265578063313ce567146102945780633f4218e0146102b057806350dc03b1146102e057600080fd5b806306fdde031461015b578063095ea7b31461019c57806318160ddd146101cc5780631f976b7e146101ef57806323b872dd14610204578063288520f31461022457600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600681526543616e646c6560d01b60208201525b6040516101939190611643565b60405180910390f35b3480156101a857600080fd5b506101bc6101b73660046116a9565b6104c7565b6040519015158152602001610193565b3480156101d857600080fd5b506101e16104de565b604051908152602001610193565b3480156101fb57600080fd5b506101e161054f565b34801561021057600080fd5b506101bc61021f3660046116d5565b610573565b34801561023057600080fd5b506102396105dd565b005b34801561024757600080fd5b5061023961069e565b34801561025c57600080fd5b506102396106dd565b34801561027157600080fd5b506101bc610280366004611716565b6000546001600160a01b0391821691161490565b3480156102a057600080fd5b5060405160128152602001610193565b3480156102bc57600080fd5b506101bc6102cb366004611716565b60076020526000908152604090205460ff1681565b3480156102ec57600080fd5b506102396102fb366004611733565b610732565b34801561030c57600080fd5b5061023961031b366004611755565b61079e565b34801561032c57600080fd5b506101e16107f3565b34801561034157600080fd5b506101e1610350366004611716565b6001600160a01b031660009081526005602052604090205490565b34801561037757600080fd5b50610239610386366004611793565b610803565b34801561039757600080fd5b506101e16108e9565b3480156103ac57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610193565b3480156103de57600080fd5b506009546103ba906001600160a01b031681565b3480156103fe57600080fd5b5060408051808201909152600681526543414e444c4560d01b6020820152610186565b34801561042d57600080fd5b506101bc61043c3660046116a9565b6108f9565b34801561044d57600080fd5b506101e161045c3660046117c5565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561049357600080fd5b506102396104a23660046117f3565b610906565b3480156104b357600080fd5b506102396104c2366004611716565b610a50565b60006104d4338484610ace565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261054a9290916105449190610bf2565b90610bf2565b905090565b6000600f5460035461055f6104de565b6105699190611835565b61054a919061184c565b6000610580848484610bfe565b6105d284336105cd85604051806060016040528060288152602001611959602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610d19565b610ace565b5060015b9392505050565b6000546001600160a01b031633146106105760405162461bcd60e51b81526004016106079061186e565b60405180910390fd5b600954600160a01b900460ff16156106595760405162461bcd60e51b815260206004820152600c60248201526b3a3930b234b7339037b832b760a11b6044820152606401610607565b60fa600a8190556032600b8190556106709161188e565b600c8190556106809060c861188e565b600d556101f4600e556009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106c85760405162461bcd60e51b81526004016106079061186e565b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107075760405162461bcd60e51b81526004016106079061186e565b6000600a819055600b819055600c819055600d819055600e55600f5460028190556003819055600455565b6000546001600160a01b0316331461075c5760405162461bcd60e51b81526004016106079061186e565b61077e620186a061077884600154610d4590919063ffffffff16565b90610d51565b60115560015461079790620186a0906107789084610d45565b6012555050565b6000546001600160a01b031633146107c85760405162461bcd60e51b81526004016106079061186e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000600f5460045461055f6104de565b6000546001600160a01b0316331461082d5760405162461bcd60e51b81526004016106079061186e565b600a849055600b839055610841838561188e565b600c81905561085190839061188e565b600d55600e819055600f54600c54118015906108715750600f54600d5411155b6108e35760405162461bcd60e51b815260206004820152603860248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201527f6f7265207468616e207468652064656e6f6d696e61746f7200000000000000006064820152608401610607565b50505050565b6000600f5460025461055f6104de565b60006104d4338484610bfe565b6000546001600160a01b031633146109305760405162461bcd60e51b81526004016106079061186e565b6000600f548461093e6104de565b6109489190611835565b610952919061184c565b90506000600f54846109626104de565b61096c9190611835565b610976919061184c565b90506000600f54846109866104de565b6109909190611835565b61099a919061184c565b600287905560038690556004859055905060006109c66103e861077860056109c06104de565b90610d45565b90508084101580156109d85750808310155b80156109e45750808210155b610a475760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610607565b50505050505050565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016106079061186e565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610b305760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610607565b6001600160a01b038216610b915760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610607565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105d682846118a1565b610c09838383610d5d565b610c138383610f0c565b610c1e838383610fa1565b610c29838383611092565b610c3383836111c9565b6001600160a01b038316600090815260056020526040902054610c569082610bf2565b6001600160a01b038416600090815260056020526040812091909155610c7c84846111e0565b610c865781610c91565b610c91848484611226565b6001600160a01b038416600090815260056020526040902054909150610cb790826112e5565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0b9085815260200190565b60405180910390a350505050565b60008184841115610d3d5760405162461bcd60e51b81526004016106079190611643565b505050900390565b60006105d68284611835565b60006105d6828461184c565b6001600160a01b038316610dc15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610607565b6001600160a01b038216610e235760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610607565b60008111610e855760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610607565b6001600160a01b038316600090815260056020526040902054811115610f075760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610607565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610f4e57506001600160a01b03811660009081526007602052604090205460ff16155b15610f9d57600954600160a01b900460ff16610f9d5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610607565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610fe357506001600160a01b03821660009081526007602052604090205460ff16155b8015610ffd57506009546001600160a01b03838116911614155b801561101457506001600160a01b03821661dead14155b15610f07576110216107f3565b6001600160a01b03831660009081526005602052604090205461104490836112e5565b1115610f075760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610607565b6009546001600160a01b03848116911614611138576110af61054f565b811115806110d557506001600160a01b03831660009081526007602052604090205460ff165b806110f857506001600160a01b03821660009081526007602052604090205460ff165b6111385760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610607565b6111406108e9565b8111158061116657506001600160a01b03831660009081526007602052604090205460ff165b8061118957506001600160a01b03821660009081526007602052604090205460ff165b610f075760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610607565b6111d382826112f1565b15610f9d57610f9d611387565b6001600160a01b03821660009081526007602052604081205460ff161580156105d65750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611233858561149e565b11156112de576000611256611248868661149e565b600f546109c0908690610d51565b3060009081526005602052604090205490915061127390826112e5565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c49085815260200190565b60405180910390a36112d68382610bf2565b9150506105d6565b5092915050565b60006105d6828461188e565b601154306000908152600560205260408120546010549192111590610100900460ff16158015611323575060105460ff165b80156113385750600954600160a01b900460ff165b801561135d57506001600160a01b03841660009081526007602052604090205460ff16155b801561137657506009546001600160a01b038481169116145b801561137f5750805b949350505050565b6010805461ff00191661010017905530600090815260056020526040812054905060006113cc600b546113c66001600a546112e590919063ffffffff16565b906112e5565b90506113d7826114e9565b4760006113e48284610d51565b905060006113fd600a5483610d4590919063ffffffff16565b905080156114485760405173a216c848f6befde42cbb2a279a3786db2ac147f99082156108fc029083906000818181858888f19350505050158015611446573d6000803e3d6000fd5b505b47801561148b576013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611489573d6000803e3d6000fd5b505b50506010805461ff001916905550505050565b6009546000906001600160a01b03908116908316036114c05750600d546104d8565b6009546001600160a01b03908116908416036114df5750600c546104d8565b50600e5492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061151e5761151e6118b4565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159b91906118ca565b816001815181106115ae576115ae6118b4565b6001600160a01b0392831660209182029290920101526008546115d49130911684610ace565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061160d9085906000908690309042906004016118e7565b600060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561167057858101830151858201604001528201611654565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116a657600080fd5b50565b600080604083850312156116bc57600080fd5b82356116c781611691565b946020939093013593505050565b6000806000606084860312156116ea57600080fd5b83356116f581611691565b9250602084013561170581611691565b929592945050506040919091013590565b60006020828403121561172857600080fd5b81356105d681611691565b6000806040838503121561174657600080fd5b50508035926020909101359150565b6000806040838503121561176857600080fd5b823561177381611691565b91506020830135801515811461178857600080fd5b809150509250929050565b600080600080608085870312156117a957600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156117d857600080fd5b82356117e381611691565b9150602083013561178881611691565b60008060006060848603121561180857600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104d8576104d861181f565b60008261186957634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b808201808211156104d8576104d861181f565b818103818111156104d8576104d861181f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118dc57600080fd5b81516105d681611691565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119375784516001600160a01b031683529383019391830191600101611912565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f649ecd607a8d70c50b224d7c4ac10b50ca65f5977e6fe2699a6519b5f1d40b64736f6c63430008130033
0x6080604052620000126012600a62000447565b6200002290633b9aca006200045f565b60018181556014600281905560038190556004556009805460ff60a01b191690556000600a818155600b829055600c829055600d829055600e919091556103e8600f556010805460ff1916909217909155620186a09162000083916200045f565b6200008f919062000479565b601155620186a0600154600a620000a791906200045f565b620000b3919062000479565b601255348015620000c357600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa1580156200012b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015191906200049c565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200019f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c591906200049c565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023991906200049c565b600880546001600160a01b038086166001600160a01b0319928316179092556009805492841692909116919091179055600b54600a549192506200027d91620004c7565b600c55601380546001600160a01b03191633908117909155306000908152600760209081526040808320805460ff1990811660019081179092557f1f5eb03085d9e5a7dfd5a11295f3da798853d0f1cda3fdc6bca3be504ccf7a168054821683179055858552828520805490911682179055546005835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050620004dd565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003895781600019048211156200036d576200036d62000332565b808516156200037b57918102915b93841c93908002906200034d565b509250929050565b600082620003a25750600162000441565b81620003b15750600062000441565b8160018114620003ca5760028114620003d557620003f5565b600191505062000441565b60ff841115620003e957620003e962000332565b50506001821b62000441565b5060208310610133831016604e8410600b84101617156200041a575081810a62000441565b62000426838362000348565b80600019048211156200043d576200043d62000332565b0290505b92915050565b60006200045860ff84168362000391565b9392505050565b808202811582820484141762000441576200044162000332565b6000826200049757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004af57600080fd5b81516001600160a01b03811681146200045857600080fd5b8082018082111562000441576200044162000332565b6119b680620004ed6000396000f3fe60806040526004361061014f5760003560e01c806353d6fd59116100b65780638bcea9391161006f5780638bcea939146103d257806395d89b41146103f2578063a9059cbb14610421578063dd62ed3e14610441578063e7a547e314610487578063f2fde38b146104a757600080fd5b806353d6fd59146103005780636c0a24eb1461032057806370a082311461033557806374755c851461036b5780637d1db4a51461038b578063893d20e8146103a057600080fd5b8063293230b811610108578063293230b81461023b5780632e86474a146102505780632f54bf6e14610265578063313ce567146102945780633f4218e0146102b057806350dc03b1146102e057600080fd5b806306fdde031461015b578063095ea7b31461019c57806318160ddd146101cc5780631f976b7e146101ef57806323b872dd14610204578063288520f31461022457600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5060408051808201909152600681526543616e646c6560d01b60208201525b6040516101939190611643565b60405180910390f35b3480156101a857600080fd5b506101bc6101b73660046116a9565b6104c7565b6040519015158152602001610193565b3480156101d857600080fd5b506101e16104de565b604051908152602001610193565b3480156101fb57600080fd5b506101e161054f565b34801561021057600080fd5b506101bc61021f3660046116d5565b610573565b34801561023057600080fd5b506102396105dd565b005b34801561024757600080fd5b5061023961069e565b34801561025c57600080fd5b506102396106dd565b34801561027157600080fd5b506101bc610280366004611716565b6000546001600160a01b0391821691161490565b3480156102a057600080fd5b5060405160128152602001610193565b3480156102bc57600080fd5b506101bc6102cb366004611716565b60076020526000908152604090205460ff1681565b3480156102ec57600080fd5b506102396102fb366004611733565b610732565b34801561030c57600080fd5b5061023961031b366004611755565b61079e565b34801561032c57600080fd5b506101e16107f3565b34801561034157600080fd5b506101e1610350366004611716565b6001600160a01b031660009081526005602052604090205490565b34801561037757600080fd5b50610239610386366004611793565b610803565b34801561039757600080fd5b506101e16108e9565b3480156103ac57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610193565b3480156103de57600080fd5b506009546103ba906001600160a01b031681565b3480156103fe57600080fd5b5060408051808201909152600681526543414e444c4560d01b6020820152610186565b34801561042d57600080fd5b506101bc61043c3660046116a9565b6108f9565b34801561044d57600080fd5b506101e161045c3660046117c5565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561049357600080fd5b506102396104a23660046117f3565b610906565b3480156104b357600080fd5b506102396104c2366004611716565b610a50565b60006104d4338484610ace565b5060015b92915050565b60056020527f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc5461dead60009081527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba54600154919261054a9290916105449190610bf2565b90610bf2565b905090565b6000600f5460035461055f6104de565b6105699190611835565b61054a919061184c565b6000610580848484610bfe565b6105d284336105cd85604051806060016040528060288152602001611959602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610d19565b610ace565b5060015b9392505050565b6000546001600160a01b031633146106105760405162461bcd60e51b81526004016106079061186e565b60405180910390fd5b600954600160a01b900460ff16156106595760405162461bcd60e51b815260206004820152600c60248201526b3a3930b234b7339037b832b760a11b6044820152606401610607565b60fa600a8190556032600b8190556106709161188e565b600c8190556106809060c861188e565b600d556101f4600e556009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106c85760405162461bcd60e51b81526004016106079061186e565b6009805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107075760405162461bcd60e51b81526004016106079061186e565b6000600a819055600b819055600c819055600d819055600e55600f5460028190556003819055600455565b6000546001600160a01b0316331461075c5760405162461bcd60e51b81526004016106079061186e565b61077e620186a061077884600154610d4590919063ffffffff16565b90610d51565b60115560015461079790620186a0906107789084610d45565b6012555050565b6000546001600160a01b031633146107c85760405162461bcd60e51b81526004016106079061186e565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000600f5460045461055f6104de565b6000546001600160a01b0316331461082d5760405162461bcd60e51b81526004016106079061186e565b600a849055600b839055610841838561188e565b600c81905561085190839061188e565b600d55600e819055600f54600c54118015906108715750600f54600d5411155b6108e35760405162461bcd60e51b815260206004820152603860248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201527f6f7265207468616e207468652064656e6f6d696e61746f7200000000000000006064820152608401610607565b50505050565b6000600f5460025461055f6104de565b60006104d4338484610bfe565b6000546001600160a01b031633146109305760405162461bcd60e51b81526004016106079061186e565b6000600f548461093e6104de565b6109489190611835565b610952919061184c565b90506000600f54846109626104de565b61096c9190611835565b610976919061184c565b90506000600f54846109866104de565b6109909190611835565b61099a919061184c565b600287905560038690556004859055905060006109c66103e861077860056109c06104de565b90610d45565b90508084101580156109d85750808310155b80156109e45750808210155b610a475760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610607565b50505050505050565b6000546001600160a01b03163314610a7a5760405162461bcd60e51b81526004016106079061186e565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610b305760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610607565b6001600160a01b038216610b915760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610607565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105d682846118a1565b610c09838383610d5d565b610c138383610f0c565b610c1e838383610fa1565b610c29838383611092565b610c3383836111c9565b6001600160a01b038316600090815260056020526040902054610c569082610bf2565b6001600160a01b038416600090815260056020526040812091909155610c7c84846111e0565b610c865781610c91565b610c91848484611226565b6001600160a01b038416600090815260056020526040902054909150610cb790826112e5565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0b9085815260200190565b60405180910390a350505050565b60008184841115610d3d5760405162461bcd60e51b81526004016106079190611643565b505050900390565b60006105d68284611835565b60006105d6828461184c565b6001600160a01b038316610dc15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610607565b6001600160a01b038216610e235760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610607565b60008111610e855760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610607565b6001600160a01b038316600090815260056020526040902054811115610f075760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610607565b505050565b6001600160a01b03821660009081526007602052604090205460ff16158015610f4e57506001600160a01b03811660009081526007602052604090205460ff16155b15610f9d57600954600160a01b900460ff16610f9d5760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610607565b5050565b6001600160a01b03831660009081526007602052604090205460ff16158015610fe357506001600160a01b03821660009081526007602052604090205460ff16155b8015610ffd57506009546001600160a01b03838116911614155b801561101457506001600160a01b03821661dead14155b15610f07576110216107f3565b6001600160a01b03831660009081526005602052604090205461104490836112e5565b1115610f075760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610607565b6009546001600160a01b03848116911614611138576110af61054f565b811115806110d557506001600160a01b03831660009081526007602052604090205460ff165b806110f857506001600160a01b03821660009081526007602052604090205460ff165b6111385760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610607565b6111406108e9565b8111158061116657506001600160a01b03831660009081526007602052604090205460ff165b8061118957506001600160a01b03821660009081526007602052604090205460ff165b610f075760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610607565b6111d382826112f1565b15610f9d57610f9d611387565b6001600160a01b03821660009081526007602052604081205460ff161580156105d65750506001600160a01b031660009081526007602052604090205460ff1615919050565b600080611233858561149e565b11156112de576000611256611248868661149e565b600f546109c0908690610d51565b3060009081526005602052604090205490915061127390826112e5565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c49085815260200190565b60405180910390a36112d68382610bf2565b9150506105d6565b5092915050565b60006105d6828461188e565b601154306000908152600560205260408120546010549192111590610100900460ff16158015611323575060105460ff165b80156113385750600954600160a01b900460ff165b801561135d57506001600160a01b03841660009081526007602052604090205460ff16155b801561137657506009546001600160a01b038481169116145b801561137f5750805b949350505050565b6010805461ff00191661010017905530600090815260056020526040812054905060006113cc600b546113c66001600a546112e590919063ffffffff16565b906112e5565b90506113d7826114e9565b4760006113e48284610d51565b905060006113fd600a5483610d4590919063ffffffff16565b905080156114485760405173a216c848f6befde42cbb2a279a3786db2ac147f99082156108fc029083906000818181858888f19350505050158015611446573d6000803e3d6000fd5b505b47801561148b576013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611489573d6000803e3d6000fd5b505b50506010805461ff001916905550505050565b6009546000906001600160a01b03908116908316036114c05750600d546104d8565b6009546001600160a01b03908116908416036114df5750600c546104d8565b50600e5492915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061151e5761151e6118b4565b6001600160a01b03928316602091820292909201810191909152600854604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159b91906118ca565b816001815181106115ae576115ae6118b4565b6001600160a01b0392831660209182029290920101526008546115d49130911684610ace565b60085460405163791ac94760e01b81526001600160a01b039091169063791ac9479061160d9085906000908690309042906004016118e7565b600060405180830381600087803b15801561162757600080fd5b505af115801561163b573d6000803e3d6000fd5b505050505050565b600060208083528351808285015260005b8181101561167057858101830151858201604001528201611654565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116a657600080fd5b50565b600080604083850312156116bc57600080fd5b82356116c781611691565b946020939093013593505050565b6000806000606084860312156116ea57600080fd5b83356116f581611691565b9250602084013561170581611691565b929592945050506040919091013590565b60006020828403121561172857600080fd5b81356105d681611691565b6000806040838503121561174657600080fd5b50508035926020909101359150565b6000806040838503121561176857600080fd5b823561177381611691565b91506020830135801515811461178857600080fd5b809150509250929050565b600080600080608085870312156117a957600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156117d857600080fd5b82356117e381611691565b9150602083013561178881611691565b60008060006060848603121561180857600080fd5b505081359360208301359350604090920135919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104d8576104d861181f565b60008261186957634e487b7160e01b600052601260045260246000fd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b808201808211156104d8576104d861181f565b818103818111156104d8576104d861181f565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156118dc57600080fd5b81516105d681611691565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119375784516001600160a01b031683529383019391830191600101611912565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f649ecd607a8d70c50b224d7c4ac10b50ca65f5977e6fe2699a6519b5f1d40b64736f6c63430008130033