0x608060405260043610610108575f3560e01c8063751039fc1161009257806395d89b411161006257806395d89b41146102e5578063a9059cbb14610310578063bf474bed1461032f578063c9567bf914610344578063dd62ed3e14610358575f80fd5b8063751039fc1461028b5780637d1db4a51461029f5780638da5cb5b146102b45780638f9a55c0146102d0575f80fd5b806323b872dd116100d857806323b872dd146101d0578063313ce567146101ef57806349bd5a5e1461020a57806370a0823114610241578063715018a614610275575f80fd5b806306fdde0314610113578063095ea7b31461016a5780630faee56f1461019957806318160ddd146101bc575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201909152601981527f50656f706c652773204c656e64696e672050726f746f636f6c0000000000000060208201525b6040516101619190611484565b60405180910390f35b348015610175575f80fd5b506101896101843660046114e6565b61039c565b6040519015158152602001610161565b3480156101a4575f80fd5b506101ae60115481565b604051908152602001610161565b3480156101c7575f80fd5b506101ae6103b2565b3480156101db575f80fd5b506101896101ea366004611510565b6103d2565b3480156101fa575f80fd5b5060405160098152602001610161565b348015610215575f80fd5b50601354610229906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b34801561024c575f80fd5b506101ae61025b36600461154e565b6001600160a01b03165f9081526001602052604090205490565b348015610280575f80fd5b50610289610439565b005b348015610296575f80fd5b506102896104b3565b3480156102aa575f80fd5b506101ae600e5481565b3480156102bf575f80fd5b505f546001600160a01b0316610229565b3480156102db575f80fd5b506101ae600f5481565b3480156102f0575f80fd5b506040805180820190915260038152620504c560ec1b6020820152610154565b34801561031b575f80fd5b5061018961032a3660046114e6565b610564565b34801561033a575f80fd5b506101ae60105481565b34801561034f575f80fd5b50610289610570565b348015610363575f80fd5b506101ae610372366004611569565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a8338484610945565b5060015b92915050565b5f6103bf6009600a611694565b6103cd90633b9aca006116a2565b905090565b5f6103de848484610a68565b61042f843361042a8560405180606001604052806028815260200161184b602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110dd565b610945565b5060019392505050565b5f546001600160a01b0316331461046b5760405162461bcd60e51b8152600401610462906116b9565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104dc5760405162461bcd60e51b8152600401610462906116b9565b6104e86009600a611694565b6104f690633b9aca006116a2565b600e556105056009600a611694565b61051390633b9aca006116a2565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105436009600a611694565b61055190633b9aca006116a2565b60405190815260200160405180910390a1565b5f6103a8338484610a68565b5f546001600160a01b031633146105995760405162461bcd60e51b8152600401610462906116b9565b601354600160a01b900460ff16156105f35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610462565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561063c90309061062e6009600a611694565b61042a90633b9aca006116a2565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b091906116ee565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073391906116ee565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561077d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a191906116ee565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306107e8816001600160a01b03165f9081526001602052604090205490565b5f806107fb5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610861573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108869190611709565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff9190611734565b50601280546001600160a01b03191673f33206fcb9c480e5a8e4f55e8629c94ea3c139a7179055601380546201000160a01b62ff00ff60a01b1990911617905543600555565b6001600160a01b0383166109a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610462565b6001600160a01b038216610a085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610462565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610acc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610462565b6001600160a01b038216610b2e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610462565b5f8111610b8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610462565b5f80546001600160a01b03858116911614801590610bba57505f546001600160a01b03848116911614155b15610ef857610beb6064610be5600a54600d5411610bda57600654610bde565b6008545b8590611115565b9061119a565b6013549091506001600160a01b038581169116148015610c285750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03841614155b8015610c4c57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d5357600e54821115610ca35760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610462565b600f5482610cc5856001600160a01b03165f9081526001602052604090205490565b610ccf9190611753565b1115610d1d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b436005546003610d2d9190611753565b1115610d3e57823b15610d3e575f80fd5b600d8054905f610d4d83611766565b91905055505b6013546001600160a01b03848116911614801590610d8957506001600160a01b0383165f9081526003602052604090205460ff16155b15610e0857600f5482610db0856001600160a01b03165f9081526001602052604090205490565b610dba9190611753565b1115610e085760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b6013546001600160a01b038481169116148015610e2e57506001600160a01b0384163014155b15610e5b57610e586064610be5600b54600d5411610e4e57600754610bde565b6009548590611115565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610e9157506013546001600160a01b038581169116145b8015610ea65750601354600160b01b900460ff165b8015610eb3575060105481115b8015610ec25750600c54600d54115b15610ef657610ee4610edf84610eda846011546111db565b6111db565b6111ef565b478015610ef457610ef44761137e565b505b505b816001600160a01b0385163014801590610f1b57506001600160a01b0384163014155b15610f9f576012546040516380ee43f560e01b8152600481018590526001600160a01b0387811660248301528681166044830152909116906380ee43f5906064016020604051808303815f875af1158015610f78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9c919061177e565b90505b811561101757305f90815260016020526040902054610fbe90836113b9565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061100e9086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546110399082611417565b6001600160a01b0386165f9081526001602052604090205561107c61105e8484611417565b6001600160a01b0386165f90815260016020526040902054906113b9565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110c58686611417565b60405190815260200160405180910390a35050505050565b5f81848411156111005760405162461bcd60e51b81526004016104629190611484565b505f61110c8486611795565b95945050505050565b5f825f0361112457505f6103ac565b5f61112f83856116a2565b90508261113c85836117a8565b146111935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610462565b9392505050565b5f61119383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611458565b5f8183116111e95782611193565b50919050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352737a250d5630b4cf539739df2c5dacb4c659f2488d925f92919060208301908036833701905050905030815f8151811061124d5761124d6117c7565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112cd91906116ee565b816001815181106112e0576112e06117c7565b60200260200101906001600160a01b031690816001600160a01b03168152505061130b308385610945565b60405163791ac94760e01b81526001600160a01b0383169063791ac9479061133f9086905f908690309042906004016117db565b5f604051808303815f87803b158015611356575f80fd5b505af1158015611368573d5f803e3d5ffd5b50506013805460ff60a81b191690555050505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156113b5573d5f803e3d5ffd5b5050565b5f806113c58385611753565b9050838110156111935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610462565b5f61119383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110dd565b5f81836114785760405162461bcd60e51b81526004016104629190611484565b505f61110c84866117a8565b5f6020808352835180828501525f5b818110156114af57858101830151858201604001528201611493565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114e3575f80fd5b50565b5f80604083850312156114f7575f80fd5b8235611502816114cf565b946020939093013593505050565b5f805f60608486031215611522575f80fd5b833561152d816114cf565b9250602084013561153d816114cf565b929592945050506040919091013590565b5f6020828403121561155e575f80fd5b8135611193816114cf565b5f806040838503121561157a575f80fd5b8235611585816114cf565b91506020830135611595816114cf565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115ee57815f19048211156115d4576115d46115a0565b808516156115e157918102915b93841c93908002906115b9565b509250929050565b5f82611604575060016103ac565b8161161057505f6103ac565b816001811461162657600281146116305761164c565b60019150506103ac565b60ff841115611641576116416115a0565b50506001821b6103ac565b5060208310610133831016604e8410600b841016171561166f575081810a6103ac565b61167983836115b4565b805f190482111561168c5761168c6115a0565b029392505050565b5f61119360ff8416836115f6565b80820281158282048414176103ac576103ac6115a0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156116fe575f80fd5b8151611193816114cf565b5f805f6060848603121561171b575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611744575f80fd5b81518015158114611193575f80fd5b808201808211156103ac576103ac6115a0565b5f60018201611777576117776115a0565b5060010190565b5f6020828403121561178e575f80fd5b5051919050565b818103818111156103ac576103ac6115a0565b5f826117c257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118295784516001600160a01b031683529383019391830191600101611804565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220964ceedfc6133aec991b8c6303adb056865d8e80d18ccb26c062de81a799149c64736f6c63430008140033
0x60806040525f6006555f6007555f6008555f600955600f600a55600f600b556018600c555f600d556103e86009600a6200003a919062000382565b6200004a90633b9aca0062000399565b6200005790601e62000399565b620000639190620003b3565b600e556103e8620000776009600a62000382565b6200008790633b9aca0062000399565b6200009490601e62000399565b620000a09190620003b3565b600f556064620000b36009600a62000382565b620000c390633b9aca0062000399565b620000cf9190620003b3565b6010556064620000e26009600a62000382565b620000f290633b9aca0062000399565b620000fe9190620003b3565b6011556013805461ffff60a81b191690553480156200011b575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916331790556200017c6009600a62000382565b6200018c90633b9aca0062000399565b305f908152600160208190526040822092909255600390620001b55f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620002133390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200024c6009600a62000382565b6200025c90633b9aca0062000399565b60405190815260200160405180910390a3620003d3565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002c757815f1904821115620002ab57620002ab62000273565b80851615620002b957918102915b93841c93908002906200028c565b509250929050565b5f82620002df575060016200037c565b81620002ed57505f6200037c565b8160018114620003065760028114620003115762000331565b60019150506200037c565b60ff84111562000325576200032562000273565b50506001821b6200037c565b5060208310610133831016604e8410600b841016171562000356575081810a6200037c565b62000362838362000287565b805f190482111562000378576200037862000273565b0290505b92915050565b5f6200039260ff841683620002cf565b9392505050565b80820281158282048414176200037c576200037c62000273565b5f82620003ce57634e487b7160e01b5f52601260045260245ffd5b500490565b6118a880620003e15f395ff3fe608060405260043610610108575f3560e01c8063751039fc1161009257806395d89b411161006257806395d89b41146102e5578063a9059cbb14610310578063bf474bed1461032f578063c9567bf914610344578063dd62ed3e14610358575f80fd5b8063751039fc1461028b5780637d1db4a51461029f5780638da5cb5b146102b45780638f9a55c0146102d0575f80fd5b806323b872dd116100d857806323b872dd146101d0578063313ce567146101ef57806349bd5a5e1461020a57806370a0823114610241578063715018a614610275575f80fd5b806306fdde0314610113578063095ea7b31461016a5780630faee56f1461019957806318160ddd146101bc575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201909152601981527f50656f706c652773204c656e64696e672050726f746f636f6c0000000000000060208201525b6040516101619190611484565b60405180910390f35b348015610175575f80fd5b506101896101843660046114e6565b61039c565b6040519015158152602001610161565b3480156101a4575f80fd5b506101ae60115481565b604051908152602001610161565b3480156101c7575f80fd5b506101ae6103b2565b3480156101db575f80fd5b506101896101ea366004611510565b6103d2565b3480156101fa575f80fd5b5060405160098152602001610161565b348015610215575f80fd5b50601354610229906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b34801561024c575f80fd5b506101ae61025b36600461154e565b6001600160a01b03165f9081526001602052604090205490565b348015610280575f80fd5b50610289610439565b005b348015610296575f80fd5b506102896104b3565b3480156102aa575f80fd5b506101ae600e5481565b3480156102bf575f80fd5b505f546001600160a01b0316610229565b3480156102db575f80fd5b506101ae600f5481565b3480156102f0575f80fd5b506040805180820190915260038152620504c560ec1b6020820152610154565b34801561031b575f80fd5b5061018961032a3660046114e6565b610564565b34801561033a575f80fd5b506101ae60105481565b34801561034f575f80fd5b50610289610570565b348015610363575f80fd5b506101ae610372366004611569565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103a8338484610945565b5060015b92915050565b5f6103bf6009600a611694565b6103cd90633b9aca006116a2565b905090565b5f6103de848484610a68565b61042f843361042a8560405180606001604052806028815260200161184b602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906110dd565b610945565b5060019392505050565b5f546001600160a01b0316331461046b5760405162461bcd60e51b8152600401610462906116b9565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104dc5760405162461bcd60e51b8152600401610462906116b9565b6104e86009600a611694565b6104f690633b9aca006116a2565b600e556105056009600a611694565b61051390633b9aca006116a2565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105436009600a611694565b61055190633b9aca006116a2565b60405190815260200160405180910390a1565b5f6103a8338484610a68565b5f546001600160a01b031633146105995760405162461bcd60e51b8152600401610462906116b9565b601354600160a01b900460ff16156105f35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610462565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561063c90309061062e6009600a611694565b61042a90633b9aca006116a2565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561068c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106b091906116ee565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061073391906116ee565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561077d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a191906116ee565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306107e8816001600160a01b03165f9081526001602052604090205490565b5f806107fb5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610861573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108869190611709565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ff9190611734565b50601280546001600160a01b03191673f33206fcb9c480e5a8e4f55e8629c94ea3c139a7179055601380546201000160a01b62ff00ff60a01b1990911617905543600555565b6001600160a01b0383166109a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610462565b6001600160a01b038216610a085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610462565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610acc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610462565b6001600160a01b038216610b2e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610462565b5f8111610b8f5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610462565b5f80546001600160a01b03858116911614801590610bba57505f546001600160a01b03848116911614155b15610ef857610beb6064610be5600a54600d5411610bda57600654610bde565b6008545b8590611115565b9061119a565b6013549091506001600160a01b038581169116148015610c285750737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03841614155b8015610c4c57506001600160a01b0383165f9081526003602052604090205460ff16155b15610d5357600e54821115610ca35760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610462565b600f5482610cc5856001600160a01b03165f9081526001602052604090205490565b610ccf9190611753565b1115610d1d5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b436005546003610d2d9190611753565b1115610d3e57823b15610d3e575f80fd5b600d8054905f610d4d83611766565b91905055505b6013546001600160a01b03848116911614801590610d8957506001600160a01b0383165f9081526003602052604090205460ff16155b15610e0857600f5482610db0856001600160a01b03165f9081526001602052604090205490565b610dba9190611753565b1115610e085760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610462565b6013546001600160a01b038481169116148015610e2e57506001600160a01b0384163014155b15610e5b57610e586064610be5600b54600d5411610e4e57600754610bde565b6009548590611115565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610e9157506013546001600160a01b038581169116145b8015610ea65750601354600160b01b900460ff165b8015610eb3575060105481115b8015610ec25750600c54600d54115b15610ef657610ee4610edf84610eda846011546111db565b6111db565b6111ef565b478015610ef457610ef44761137e565b505b505b816001600160a01b0385163014801590610f1b57506001600160a01b0384163014155b15610f9f576012546040516380ee43f560e01b8152600481018590526001600160a01b0387811660248301528681166044830152909116906380ee43f5906064016020604051808303815f875af1158015610f78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f9c919061177e565b90505b811561101757305f90815260016020526040902054610fbe90836113b9565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061100e9086815260200190565b60405180910390a35b6001600160a01b0385165f908152600160205260409020546110399082611417565b6001600160a01b0386165f9081526001602052604090205561107c61105e8484611417565b6001600160a01b0386165f90815260016020526040902054906113b9565b6001600160a01b038086165f8181526001602052604090209290925586167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110c58686611417565b60405190815260200160405180910390a35050505050565b5f81848411156111005760405162461bcd60e51b81526004016104629190611484565b505f61110c8486611795565b95945050505050565b5f825f0361112457505f6103ac565b5f61112f83856116a2565b90508261113c85836117a8565b146111935760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610462565b9392505050565b5f61119383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611458565b5f8183116111e95782611193565b50919050565b6013805460ff60a81b1916600160a81b179055604080516002808252606082018352737a250d5630b4cf539739df2c5dacb4c659f2488d925f92919060208301908036833701905050905030815f8151811061124d5761124d6117c7565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112cd91906116ee565b816001815181106112e0576112e06117c7565b60200260200101906001600160a01b031690816001600160a01b03168152505061130b308385610945565b60405163791ac94760e01b81526001600160a01b0383169063791ac9479061133f9086905f908690309042906004016117db565b5f604051808303815f87803b158015611356575f80fd5b505af1158015611368573d5f803e3d5ffd5b50506013805460ff60a81b191690555050505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156113b5573d5f803e3d5ffd5b5050565b5f806113c58385611753565b9050838110156111935760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610462565b5f61119383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110dd565b5f81836114785760405162461bcd60e51b81526004016104629190611484565b505f61110c84866117a8565b5f6020808352835180828501525f5b818110156114af57858101830151858201604001528201611493565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146114e3575f80fd5b50565b5f80604083850312156114f7575f80fd5b8235611502816114cf565b946020939093013593505050565b5f805f60608486031215611522575f80fd5b833561152d816114cf565b9250602084013561153d816114cf565b929592945050506040919091013590565b5f6020828403121561155e575f80fd5b8135611193816114cf565b5f806040838503121561157a575f80fd5b8235611585816114cf565b91506020830135611595816114cf565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156115ee57815f19048211156115d4576115d46115a0565b808516156115e157918102915b93841c93908002906115b9565b509250929050565b5f82611604575060016103ac565b8161161057505f6103ac565b816001811461162657600281146116305761164c565b60019150506103ac565b60ff841115611641576116416115a0565b50506001821b6103ac565b5060208310610133831016604e8410600b841016171561166f575081810a6103ac565b61167983836115b4565b805f190482111561168c5761168c6115a0565b029392505050565b5f61119360ff8416836115f6565b80820281158282048414176103ac576103ac6115a0565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156116fe575f80fd5b8151611193816114cf565b5f805f6060848603121561171b575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611744575f80fd5b81518015158114611193575f80fd5b808201808211156103ac576103ac6115a0565b5f60018201611777576117776115a0565b5060010190565b5f6020828403121561178e575f80fd5b5051919050565b818103818111156103ac576103ac6115a0565b5f826117c257634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156118295784516001600160a01b031683529383019391830191600101611804565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220964ceedfc6133aec991b8c6303adb056865d8e80d18ccb26c062de81a799149c64736f6c63430008140033