0x6080604052600436106100fd575f3560e01c806370a08231116100925780638da5cb5b116100625780638da5cb5b1461029257806395d89b41146102b8578063a52fdab1146102e7578063a9059cbb146102fc578063dd62ed3e1461031b575f80fd5b806370a0823114610222578063715018a61461025657806372f07ee71461026a578063751039fc1461027e575f80fd5b80631fd29756116100cd5780631fd29756146101b357806323b872dd146101c9578063313ce567146101e85780634817754614610203575f80fd5b806306fdde031461010857806308c1b9481461014d578063095ea7b31461017057806318160ddd1461019f575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b5060408051808201909152600b81526a2b34ba30b934b596b9b0b760a91b60208201525b604051610144919061148b565b60405180910390f35b348015610158575f80fd5b50610162600a5481565b604051908152602001610144565b34801561017b575f80fd5b5061018f61018a3660046114eb565b61035f565b6040519015158152602001610144565b3480156101aa575f80fd5b50610162610375565b3480156101be575f80fd5b506101c7610395565b005b3480156101d4575f80fd5b5061018f6101e3366004611515565b61074a565b3480156101f3575f80fd5b5060405160098152602001610144565b34801561020e575f80fd5b506101c761021d366004611553565b6107bb565b34801561022d575f80fd5b5061016261023c366004611553565b6001600160a01b03165f908152600d602052604090205490565b348015610261575f80fd5b506101c761080f565b348015610275575f80fd5b506101c7610880565b348015610289575f80fd5b506101c76108dd565b34801561029d575f80fd5b505f546040516001600160a01b039091168152602001610144565b3480156102c3575f80fd5b506040805180820190915260078152665669746172696b60c81b6020820152610137565b3480156102f2575f80fd5b50610162600b5481565b348015610307575f80fd5b5061018f6103163660046114eb565b610908565b348015610326575f80fd5b5061016261033536600461156e565b6001600160a01b039182165f908152600e6020908152604080832093909416825291909152205490565b5f61036b338484610914565b5060015b92915050565b5f6103826009600a611699565b61039090633b9aca006116a7565b905090565b5f546001600160a01b031633146103c75760405162461bcd60e51b81526004016103be906116be565b60405180910390fd5b601154600160a01b900460ff16156104215760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103be565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117825561046e9130919061045b90600a611699565b61046990633b9aca006116a7565b610914565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e291906116f3565b6001600160a01b031663c9c653963060095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610541573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056591906116f3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d391906116f3565b601180546001600160a01b039283166001600160a01b03199091161790556009541663f305d719473061061a816001600160a01b03165f908152600d602052604090205490565b5f8061062d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610693573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106b8919061170e565b50506011805462ff00ff60a01b1981166201000160a01b1790915560095460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610723573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107479190611739565b50565b5f610756848484610a37565b6107608484610cc5565b156107b1576107b184336104698560405180606001604052806028815260200161192d602891396001600160a01b038a165f908152600e602090815260408083203384529091529020549190610d27565b5060019392505050565b335f908152600f602052604090205460ff166107d5575f80fd5b600180546001600160a01b039092166001600160a01b0319909216821781555f918252600f6020526040909120805460ff19169091179055565b5f546001600160a01b031633146108385760405162461bcd60e51b81526004016103be906116be565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108a95760405162461bcd60e51b81526004016103be906116be565b5f47116108b4575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610747573d5f803e3d5ffd5b5f546001600160a01b031633146109065760405162461bcd60e51b81526004016103be906116be565b565b5f61036b338484610a37565b6001600160a01b0383166109765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103be565b6001600160a01b0382166109d75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103be565b6001600160a01b038381165f818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103be565b6001600160a01b038216610afd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103be565b5f8111610b5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103be565b5f610b6a848484610d5f565b6001600160a01b0385165f908152600d6020526040902054909150610b8f9083610fce565b6001600160a01b0385165f908152600d6020526040902055610bd2610bb48383610fce565b6001600160a01b0385165f908152600d602052604090205490611016565b6001600160a01b0384165f908152600d60205260409020558015610c6257305f908152600d6020526040902054610c099082611016565b305f818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c599085815260200190565b60405180910390a35b6001600160a01b03831661dead14610cbf576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cad8585610fce565b60405190815260200160405180910390a35b50505050565b335f908152600f602052604081205460ff1615610cf55750335f908152600f602052604090205460ff161561036f565b6011546001600160a01b0384811691161480610d1c57506001600160a01b03821661dead14155b61036b57505f61036f565b5f8184841115610d4a5760405162461bcd60e51b81526004016103be919061148b565b505f610d568486611758565b95945050505050565b5f80610d725f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610da057505f546001600160a01b03858116911614155b8015610db557506001600160a01b0385163014155b8015610dca57506001600160a01b0384163014155b15610fc657601154600160a81b900460ff16610e0f57610e0c6064610e0660065460085411610dfb57600454610dff565b6005545b8690611074565b906110f2565b90505b6011546001600160a01b038681169116148015610e3a57506009546001600160a01b03858116911614155b8015610e5e57506001600160a01b0384165f908152600f602052604090205460ff16155b8015610e7857506001546001600160a01b03858116911614155b15610e925760088054905f610e8c8361176b565b91905055505b305f908152600d602052604081205490546001600160a01b03878116911614801590610ec85750601154600160a81b900460ff16155b8015610ee157506011546001600160a01b038681169116145b8015610efb57506001546001600160a01b03878116911614155b8015610f105750601154600160b01b900460ff165b8015610f1f5750600754600854115b15610fc457601354431115610f33575f6012555b610f3c84611133565b601254610f499190611783565b6012819055600b541015610f905760405162461bcd60e51b815260206004820152600e60248201526d13585e081cddd85c081b1a5b5a5d60921b60448201526064016103be565b600a54811115610fb457610fb484600a5411610fae57600a546112a2565b846112a2565b47610fbe47611424565b50436013555b505b949350505050565b5f61100f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d27565b9392505050565b5f806110228385611783565b90508381101561100f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103be565b5f825f0361108357505f61036f565b5f61108e83856116a7565b90508261109b8583611796565b1461100f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103be565b5f61100f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145f565b6040805160028082526060820183525f928392919060208301908036833701905050905030815f8151811061116a5761116a6117c9565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e591906116f3565b816001815181106111f8576111f86117c9565b6001600160a01b03928316602091820292909201015260095460405163d06ca61f60e01b81525f92919091169063d06ca61f9061123b9087908690600401611820565b5f60405180830381865afa158015611255573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261127c9190810190611838565b905080600181518110611291576112916117c9565b602002602001015192505050919050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112e8576112e86117c9565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136391906116f3565b81600181518110611376576113766117c9565b6001600160a01b03928316602091820292909201015260095461139c9130911684610914565b600954601080546001600160a01b0319166001600160a01b03909216918217905560405163791ac94760e01b815263791ac947906113e69085905f908690309042906004016118f1565b5f604051808303815f87803b1580156113fd575f80fd5b505af115801561140f573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561145b573d5f803e3d5ffd5b5050565b5f818361147f5760405162461bcd60e51b81526004016103be919061148b565b505f610d568486611796565b5f602080835283518060208501525f5b818110156114b75785810183015185820160400152820161149b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610747575f80fd5b5f80604083850312156114fc575f80fd5b8235611507816114d7565b946020939093013593505050565b5f805f60608486031215611527575f80fd5b8335611532816114d7565b92506020840135611542816114d7565b929592945050506040919091013590565b5f60208284031215611563575f80fd5b813561100f816114d7565b5f806040838503121561157f575f80fd5b823561158a816114d7565b9150602083013561159a816114d7565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115f357815f19048211156115d9576115d96115a5565b808516156115e657918102915b93841c93908002906115be565b509250929050565b5f826116095750600161036f565b8161161557505f61036f565b816001811461162b576002811461163557611651565b600191505061036f565b60ff841115611646576116466115a5565b50506001821b61036f565b5060208310610133831016604e8410600b8410161715611674575081810a61036f565b61167e83836115b9565b805f1904821115611691576116916115a5565b029392505050565b5f61100f60ff8416836115fb565b808202811582820484141761036f5761036f6115a5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611703575f80fd5b815161100f816114d7565b5f805f60608486031215611720575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611749575f80fd5b8151801515811461100f575f80fd5b8181038181111561036f5761036f6115a5565b5f6001820161177c5761177c6115a5565b5060010190565b8082018082111561036f5761036f6115a5565b5f826117b057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b838110156118155781516001600160a01b0316875295820195908201906001016117f0565b509495945050505050565b828152604060208201525f610fc660408301846117dd565b5f6020808385031215611849575f80fd5b825167ffffffffffffffff80821115611860575f80fd5b818501915085601f830112611873575f80fd5b815181811115611885576118856117b5565b8060051b604051601f19603f830116810181811085821117156118aa576118aa6117b5565b6040529182528482019250838101850191888311156118c7575f80fd5b938501935b828510156118e5578451845293850193928501926118cc565b98975050505050505050565b85815284602082015260a060408201525f61190f60a08301866117dd565b6001600160a01b039490941660608301525060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203e04f2a0ef2e112d8284da8d4994910337554047e69f3da8e3b29f56a463886764736f6c63430008180033
0x6080604052600a600255600a60035560146004555f600555600260065560026007555f60085560646009600a62000037919062000371565b6200004790633b9aca0062000388565b620000539190620003a2565b600a90815567d02ab486cedc0000600b55600c556011805461ffff60a81b191690555f6012819055601381905580546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031916331790556064620000e16009600a62000371565b620000f190633b9aca0062000388565b620000fe90600262000388565b6200010a9190620003a2565b335f908152600d60205260409020556064620001296009600a62000371565b6200013990633b9aca0062000388565b6200014690606262000388565b620001529190620003a2565b305f908152600d6020908152604080832093909355600f90528181208054600160ff19918216811790925581546001600160a01b031683529290912080549092161790556200019e3390565b6001600160a01b03165f5f8051602062001d5a8339815191526064620001c76009600a62000371565b620001d790633b9aca0062000388565b620001e490600262000388565b620001f09190620003a2565b60405190815260200160405180910390a3305f5f8051602062001d5a8339815191526064620002226009600a62000371565b6200023290633b9aca0062000388565b6200023f90606262000388565b6200024b9190620003a2565b60405190815260200160405180910390a3620003c2565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002b657815f19048211156200029a576200029a62000262565b80851615620002a857918102915b93841c93908002906200027b565b509250929050565b5f82620002ce575060016200036b565b81620002dc57505f6200036b565b8160018114620002f55760028114620003005762000320565b60019150506200036b565b60ff84111562000314576200031462000262565b50506001821b6200036b565b5060208310610133831016604e8410600b841016171562000345575081810a6200036b565b62000351838362000276565b805f190482111562000367576200036762000262565b0290505b92915050565b5f6200038160ff841683620002be565b9392505050565b80820281158282048414176200036b576200036b62000262565b5f82620003bd57634e487b7160e01b5f52601260045260245ffd5b500490565b61198a80620003d05f395ff3fe6080604052600436106100fd575f3560e01c806370a08231116100925780638da5cb5b116100625780638da5cb5b1461029257806395d89b41146102b8578063a52fdab1146102e7578063a9059cbb146102fc578063dd62ed3e1461031b575f80fd5b806370a0823114610222578063715018a61461025657806372f07ee71461026a578063751039fc1461027e575f80fd5b80631fd29756116100cd5780631fd29756146101b357806323b872dd146101c9578063313ce567146101e85780634817754614610203575f80fd5b806306fdde031461010857806308c1b9481461014d578063095ea7b31461017057806318160ddd1461019f575f80fd5b3661010457005b5f80fd5b348015610113575f80fd5b5060408051808201909152600b81526a2b34ba30b934b596b9b0b760a91b60208201525b604051610144919061148b565b60405180910390f35b348015610158575f80fd5b50610162600a5481565b604051908152602001610144565b34801561017b575f80fd5b5061018f61018a3660046114eb565b61035f565b6040519015158152602001610144565b3480156101aa575f80fd5b50610162610375565b3480156101be575f80fd5b506101c7610395565b005b3480156101d4575f80fd5b5061018f6101e3366004611515565b61074a565b3480156101f3575f80fd5b5060405160098152602001610144565b34801561020e575f80fd5b506101c761021d366004611553565b6107bb565b34801561022d575f80fd5b5061016261023c366004611553565b6001600160a01b03165f908152600d602052604090205490565b348015610261575f80fd5b506101c761080f565b348015610275575f80fd5b506101c7610880565b348015610289575f80fd5b506101c76108dd565b34801561029d575f80fd5b505f546040516001600160a01b039091168152602001610144565b3480156102c3575f80fd5b506040805180820190915260078152665669746172696b60c81b6020820152610137565b3480156102f2575f80fd5b50610162600b5481565b348015610307575f80fd5b5061018f6103163660046114eb565b610908565b348015610326575f80fd5b5061016261033536600461156e565b6001600160a01b039182165f908152600e6020908152604080832093909416825291909152205490565b5f61036b338484610914565b5060015b92915050565b5f6103826009600a611699565b61039090633b9aca006116a7565b905090565b5f546001600160a01b031633146103c75760405162461bcd60e51b81526004016103be906116be565b60405180910390fd5b601154600160a01b900460ff16156104215760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103be565b600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117825561046e9130919061045b90600a611699565b61046990633b9aca006116a7565b610914565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104e291906116f3565b6001600160a01b031663c9c653963060095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610541573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061056591906116f3565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d391906116f3565b601180546001600160a01b039283166001600160a01b03199091161790556009541663f305d719473061061a816001600160a01b03165f908152600d602052604090205490565b5f8061062d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610693573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106b8919061170e565b50506011805462ff00ff60a01b1981166201000160a01b1790915560095460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610723573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107479190611739565b50565b5f610756848484610a37565b6107608484610cc5565b156107b1576107b184336104698560405180606001604052806028815260200161192d602891396001600160a01b038a165f908152600e602090815260408083203384529091529020549190610d27565b5060019392505050565b335f908152600f602052604090205460ff166107d5575f80fd5b600180546001600160a01b039092166001600160a01b0319909216821781555f918252600f6020526040909120805460ff19169091179055565b5f546001600160a01b031633146108385760405162461bcd60e51b81526004016103be906116be565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108a95760405162461bcd60e51b81526004016103be906116be565b5f47116108b4575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610747573d5f803e3d5ffd5b5f546001600160a01b031633146109065760405162461bcd60e51b81526004016103be906116be565b565b5f61036b338484610a37565b6001600160a01b0383166109765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103be565b6001600160a01b0382166109d75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103be565b6001600160a01b038381165f818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103be565b6001600160a01b038216610afd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103be565b5f8111610b5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103be565b5f610b6a848484610d5f565b6001600160a01b0385165f908152600d6020526040902054909150610b8f9083610fce565b6001600160a01b0385165f908152600d6020526040902055610bd2610bb48383610fce565b6001600160a01b0385165f908152600d602052604090205490611016565b6001600160a01b0384165f908152600d60205260409020558015610c6257305f908152600d6020526040902054610c099082611016565b305f818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c599085815260200190565b60405180910390a35b6001600160a01b03831661dead14610cbf576001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610cad8585610fce565b60405190815260200160405180910390a35b50505050565b335f908152600f602052604081205460ff1615610cf55750335f908152600f602052604090205460ff161561036f565b6011546001600160a01b0384811691161480610d1c57506001600160a01b03821661dead14155b61036b57505f61036f565b5f8184841115610d4a5760405162461bcd60e51b81526004016103be919061148b565b505f610d568486611758565b95945050505050565b5f80610d725f546001600160a01b031690565b6001600160a01b0316856001600160a01b031614158015610da057505f546001600160a01b03858116911614155b8015610db557506001600160a01b0385163014155b8015610dca57506001600160a01b0384163014155b15610fc657601154600160a81b900460ff16610e0f57610e0c6064610e0660065460085411610dfb57600454610dff565b6005545b8690611074565b906110f2565b90505b6011546001600160a01b038681169116148015610e3a57506009546001600160a01b03858116911614155b8015610e5e57506001600160a01b0384165f908152600f602052604090205460ff16155b8015610e7857506001546001600160a01b03858116911614155b15610e925760088054905f610e8c8361176b565b91905055505b305f908152600d602052604081205490546001600160a01b03878116911614801590610ec85750601154600160a81b900460ff16155b8015610ee157506011546001600160a01b038681169116145b8015610efb57506001546001600160a01b03878116911614155b8015610f105750601154600160b01b900460ff165b8015610f1f5750600754600854115b15610fc457601354431115610f33575f6012555b610f3c84611133565b601254610f499190611783565b6012819055600b541015610f905760405162461bcd60e51b815260206004820152600e60248201526d13585e081cddd85c081b1a5b5a5d60921b60448201526064016103be565b600a54811115610fb457610fb484600a5411610fae57600a546112a2565b846112a2565b47610fbe47611424565b50436013555b505b949350505050565b5f61100f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d27565b9392505050565b5f806110228385611783565b90508381101561100f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103be565b5f825f0361108357505f61036f565b5f61108e83856116a7565b90508261109b8583611796565b1461100f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103be565b5f61100f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061145f565b6040805160028082526060820183525f928392919060208301908036833701905050905030815f8151811061116a5761116a6117c9565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156111c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111e591906116f3565b816001815181106111f8576111f86117c9565b6001600160a01b03928316602091820292909201015260095460405163d06ca61f60e01b81525f92919091169063d06ca61f9061123b9087908690600401611820565b5f60405180830381865afa158015611255573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261127c9190810190611838565b905080600181518110611291576112916117c9565b602002602001015192505050919050565b6011805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112e8576112e86117c9565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561133f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136391906116f3565b81600181518110611376576113766117c9565b6001600160a01b03928316602091820292909201015260095461139c9130911684610914565b600954601080546001600160a01b0319166001600160a01b03909216918217905560405163791ac94760e01b815263791ac947906113e69085905f908690309042906004016118f1565b5f604051808303815f87803b1580156113fd575f80fd5b505af115801561140f573d5f803e3d5ffd5b50506011805460ff60a81b1916905550505050565b6001546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561145b573d5f803e3d5ffd5b5050565b5f818361147f5760405162461bcd60e51b81526004016103be919061148b565b505f610d568486611796565b5f602080835283518060208501525f5b818110156114b75785810183015185820160400152820161149b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610747575f80fd5b5f80604083850312156114fc575f80fd5b8235611507816114d7565b946020939093013593505050565b5f805f60608486031215611527575f80fd5b8335611532816114d7565b92506020840135611542816114d7565b929592945050506040919091013590565b5f60208284031215611563575f80fd5b813561100f816114d7565b5f806040838503121561157f575f80fd5b823561158a816114d7565b9150602083013561159a816114d7565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115f357815f19048211156115d9576115d96115a5565b808516156115e657918102915b93841c93908002906115be565b509250929050565b5f826116095750600161036f565b8161161557505f61036f565b816001811461162b576002811461163557611651565b600191505061036f565b60ff841115611646576116466115a5565b50506001821b61036f565b5060208310610133831016604e8410600b8410161715611674575081810a61036f565b61167e83836115b9565b805f1904821115611691576116916115a5565b029392505050565b5f61100f60ff8416836115fb565b808202811582820484141761036f5761036f6115a5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611703575f80fd5b815161100f816114d7565b5f805f60608486031215611720575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611749575f80fd5b8151801515811461100f575f80fd5b8181038181111561036f5761036f6115a5565b5f6001820161177c5761177c6115a5565b5060010190565b8082018082111561036f5761036f6115a5565b5f826117b057634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b838110156118155781516001600160a01b0316875295820195908201906001016117f0565b509495945050505050565b828152604060208201525f610fc660408301846117dd565b5f6020808385031215611849575f80fd5b825167ffffffffffffffff80821115611860575f80fd5b818501915085601f830112611873575f80fd5b815181811115611885576118856117b5565b8060051b604051601f19603f830116810181811085821117156118aa576118aa6117b5565b6040529182528482019250838101850191888311156118c7575f80fd5b938501935b828510156118e5578451845293850193928501926118cc565b98975050505050505050565b85815284602082015260a060408201525f61190f60a08301866117dd565b6001600160a01b039490941660608301525060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203e04f2a0ef2e112d8284da8d4994910337554047e69f3da8e3b29f56a463886764736f6c63430008180033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef