60806040523480156200001157600080fd5b506040518060600160405280602a815260200162001261602a91396040518060400160405280600481526020016342434f5160e01b81525081600390805190602001906200006192919062000283565b5080516200007790600490602084019062000283565b50506005805460ff191660121790555060006200009362000109565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35062000103336d036c341e1f992f96840fe00000006200010d565b6200031f565b3390565b6001600160a01b03821662000169576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000177600083836200021c565b62000193816002546200022160201b620009891790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620001c69183906200098962000221821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b6000828201838110156200027c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002c657805160ff1916838001178555620002f6565b82800160010185558215620002f6579182015b82811115620002f6578251825591602001919060010190620002d9565b506200030492915062000308565b5090565b5b8082111562000304576000815560010162000309565b610f32806200032f6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d7146102e3578063a9059cbb1461031c578063dd62ed3e14610355578063f2fde38b14610390576100ea565b8063715018a6146102a05780638da5cb5b146102aa57806395d89b41146102db576100ea565b806323b872dd116100c857806323b872dd146101d3578063313ce56714610216578063395093511461023457806370a082311461026d576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101b9575b600080fd5b6100f76103c3565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a56004803603604081101561018257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610477565b604080519115158252519081900360200190f35b6101c1610494565b60408051918252519081900360200190f35b6101a5600480360360608110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561049a565b61021e61053b565b6040805160ff9092168252519081900360200190f35b6101a56004803603604081101561024a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610544565b6101c16004803603602081101561028357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661059f565b6102a86105c7565b005b6102b261067c565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100f761069d565b6101a5600480360360408110156102f957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561071c565b6101a56004803603604081101561033257600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610791565b6101c16004803603604081101561036b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166107a5565b6102a8600480360360208110156103a657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166107dd565b60038054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561046d5780601f106104425761010080835404028352916020019161046d565b820191906000526020600020905b81548152906001019060200180831161045057829003601f168201915b5050505050905090565b600061048b610484610a04565b8484610a08565b50600192915050565b60025490565b60006104a7848484610b4f565b610531846104b3610a04565b61052c85604051806060016040528060288152602001610e676028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600160205260408120906104fe610a04565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190610d1f565b610a08565b5060019392505050565b60055460ff1690565b600061048b610551610a04565b8461052c8560016000610562610a04565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c168152925290205490610989565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6105cf610a04565b73ffffffffffffffffffffffffffffffffffffffff166105ed61067c565b73ffffffffffffffffffffffffffffffffffffffff161461066f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b61067a61dead6107dd565b565b600554610100900473ffffffffffffffffffffffffffffffffffffffff1690565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561046d5780601f106104425761010080835404028352916020019161046d565b600061048b610729610a04565b8461052c85604051806060016040528060258152602001610ed86025913960016000610753610a04565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190610d1f565b600061048b61079e610a04565b8484610b4f565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6107e5610a04565b73ffffffffffffffffffffffffffffffffffffffff1661080361067c565b73ffffffffffffffffffffffffffffffffffffffff161461088557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166108f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610df96026913960400191505060405180910390fd5b60055460405173ffffffffffffffffffffffffffffffffffffffff80841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b6000828201838110156109fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610eb46024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610e1f6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610e8f6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216610c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610dd66023913960400191505060405180910390fd5b610c32838383610dd0565b610c7c81604051806060016040528060268152602001610e416026913973ffffffffffffffffffffffffffffffffffffffff86166000908152602081905260409020549190610d1f565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152602081905260408082209390935590841681522054610cb89082610989565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610dc8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d8d578181015183820152602001610d75565b50505050905090810190601f168015610dba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c4e900e85af2543a1dc1cad0892051c100f31bf5f75ee589179842e0034a9e1d64736f6c634300070000334261627920436f71496e75202d2068747470733a2f2f742e6d652f62616279636f71696e755f61766178