0x6080604052348015600e575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108088061005b5f395ff3fe60806040526004361061004d575f3560e01c806312065fe0146100585780632e1a7d4d146100825780638da5cb5b146100aa578063f2fde38b146100d4578063f4f3b200146100fc57610054565b3661005457005b5f80fd5b348015610063575f80fd5b5061006c610124565b60405161007991906104d4565b60405180910390f35b34801561008d575f80fd5b506100a860048036038101906100a3919061051b565b61012b565b005b3480156100b5575f80fd5b506100be6101ff565b6040516100cb9190610585565b60405180910390f35b3480156100df575f80fd5b506100fa60048036038101906100f591906105d9565b610222565b005b348015610107575f80fd5b50610122600480360381019061011d91906105d9565b6102f1565b005b5f47905090565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101af9061065e565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156101fb573d5f803e3d5ffd5b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102a69061065e565b60405180910390fd5b805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461037e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103759061065e565b60405180910390fd5b5f8190505f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103bc919061068b565b602060405180830381865afa1580156103d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103fb91906106b8565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016104389291906106e3565b6020604051808303815f875af1158015610454573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610478919061073f565b6104b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ae906107b4565b60405180910390fd5b505050565b5f819050919050565b6104ce816104bc565b82525050565b5f6020820190506104e75f8301846104c5565b92915050565b5f80fd5b6104fa816104bc565b8114610504575f80fd5b50565b5f81359050610515816104f1565b92915050565b5f602082840312156105305761052f6104ed565b5b5f61053d84828501610507565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61056f82610546565b9050919050565b61057f81610565565b82525050565b5f6020820190506105985f830184610576565b92915050565b5f6105a882610546565b9050919050565b6105b88161059e565b81146105c2575f80fd5b50565b5f813590506105d3816105af565b92915050565b5f602082840312156105ee576105ed6104ed565b5b5f6105fb848285016105c5565b91505092915050565b5f82825260208201905092915050565b7f63616c6c6572206973206e6f74206f776e6572000000000000000000000000005f82015250565b5f610648601383610604565b915061065382610614565b602082019050919050565b5f6020820190508181035f8301526106758161063c565b9050919050565b6106858161059e565b82525050565b5f60208201905061069e5f83018461067c565b92915050565b5f815190506106b2816104f1565b92915050565b5f602082840312156106cd576106cc6104ed565b5b5f6106da848285016106a4565b91505092915050565b5f6040820190506106f65f83018561067c565b61070360208301846104c5565b9392505050565b5f8115159050919050565b61071e8161070a565b8114610728575f80fd5b50565b5f8151905061073981610715565b92915050565b5f60208284031215610754576107536104ed565b5b5f6107618482850161072b565b91505092915050565b7f7472616e73666572206661696c656400000000000000000000000000000000005f82015250565b5f61079e600f83610604565b91506107a98261076a565b602082019050919050565b5f6020820190508181035f8301526107cb81610792565b905091905056fea2646970667358221220957fdb5e263a7ef6d567ab8e790ecb71219be68a6732167300d0d8dc4b3ae5ce64736f6c634300081a0033