0x608060405234801561000f575f80fd5b5060405161086a38038061086a83398181016040528101906100319190610114565b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505061013f565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100e3826100ba565b9050919050565b6100f3816100d9565b81146100fd575f80fd5b50565b5f8151905061010e816100ea565b92915050565b5f60208284031215610129576101286100b6565b5b5f61013684828501610100565b91505092915050565b61071e8061014c5f395ff3fe608060405260043610610042575f3560e01c80630a0a05e6146100555780638da5cb5b1461007d5780638feb1b8b146100a7578063b269681d146100cf57610051565b366100515761004f6100f9565b005b5f80fd5b348015610060575f80fd5b5061007b600480360381019061007691906104c1565b61015e565b005b348015610088575f80fd5b5061009161022f565b60405161009e91906104fb565b60405180910390f35b3480156100b2575f80fd5b506100cd60048036038101906100c891906104c1565b610254565b005b3480156100da575f80fd5b506100e3610440565b6040516100f091906104fb565b60405180910390f35b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561015b573d5f803e3d5ffd5b50565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101e49061056e565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102da9061056e565b60405180910390fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161032191906104fb565b602060405180830381865afa15801561033c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061036091906105bf565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016103bc9291906105f9565b6020604051808303815f875af11580156103d8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103fc9190610655565b61043b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610432906106ca565b60405180910390fd5b505050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61049082610467565b9050919050565b6104a081610486565b81146104aa575f80fd5b50565b5f813590506104bb81610497565b92915050565b5f602082840312156104d6576104d5610463565b5b5f6104e3848285016104ad565b91505092915050565b6104f581610486565b82525050565b5f60208201905061050e5f8301846104ec565b92915050565b5f82825260208201905092915050565b7f4e6f742074686520636f6e7472616374206f776e6572000000000000000000005f82015250565b5f610558601683610514565b915061056382610524565b602082019050919050565b5f6020820190508181035f8301526105858161054c565b9050919050565b5f819050919050565b61059e8161058c565b81146105a8575f80fd5b50565b5f815190506105b981610595565b92915050565b5f602082840312156105d4576105d3610463565b5b5f6105e1848285016105ab565b91505092915050565b6105f38161058c565b82525050565b5f60408201905061060c5f8301856104ec565b61061960208301846105ea565b9392505050565b5f8115159050919050565b61063481610620565b811461063e575f80fd5b50565b5f8151905061064f8161062b565b92915050565b5f6020828403121561066a57610669610463565b5b5f61067784828501610641565b91505092915050565b7f546f6b656e207472616e73666572206661696c656400000000000000000000005f82015250565b5f6106b4601583610514565b91506106bf82610680565b602082019050919050565b5f6020820190508181035f8301526106e1816106a8565b905091905056fea2646970667358221220898e963e28f4cc19adb7c55152e4bb8a4a0ac6849fa678d93343f87972b9475d64736f6c634300081a003300000000000000000000000058b699fc551314282126fff02b62d2f3e71d8723