0x608060405234801561001057600080fd5b5061002d61002261003260201b60201c565b61003a60201b60201c565b6100fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610a398061010d6000396000f3fe60806040526004361061004e5760003560e01c806349df728c146100ac578063715018a6146100d55780638da5cb5b146100ec5780638ed1010d14610117578063f2fde38b14610133576100a7565b366100a757600061005d61015c565b90508073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156100a5573d6000803e3d6000fd5b005b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce91906106c6565b610185565b005b3480156100e157600080fd5b506100ea610352565b005b3480156100f857600080fd5b5061010161015c565b60405161010e9190610702565b60405180910390f35b610131600480360381019061012c919061075b565b6103da565b005b34801561013f57600080fd5b5061015a600480360381019061015591906106c6565b6104a0565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61018d610597565b73ffffffffffffffffffffffffffffffffffffffff166101ab61015c565b73ffffffffffffffffffffffffffffffffffffffff1614610201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f8906107e5565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016102419190610702565b602060405180830381865afa15801561025e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610282919061083b565b9050600081116102c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102be906108b4565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6102eb61015c565b836040518363ffffffff1660e01b81526004016103099291906108e3565b6020604051808303816000875af1158015610328573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034c9190610944565b50505050565b61035a610597565b73ffffffffffffffffffffffffffffffffffffffff1661037861015c565b73ffffffffffffffffffffffffffffffffffffffff16146103ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c5906107e5565b60405180910390fd5b6103d8600061059f565b565b6103e2610597565b73ffffffffffffffffffffffffffffffffffffffff1661040061015c565b73ffffffffffffffffffffffffffffffffffffffff1614610456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044d906107e5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801561049c573d6000803e3d6000fd5b5050565b6104a8610597565b73ffffffffffffffffffffffffffffffffffffffff166104c661015c565b73ffffffffffffffffffffffffffffffffffffffff161461051c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610513906107e5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361058b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610582906109e3565b60405180910390fd5b6105948161059f565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061069382610668565b9050919050565b6106a381610688565b81146106ae57600080fd5b50565b6000813590506106c08161069a565b92915050565b6000602082840312156106dc576106db610663565b5b60006106ea848285016106b1565b91505092915050565b6106fc81610688565b82525050565b600060208201905061071760008301846106f3565b92915050565b600061072882610668565b9050919050565b6107388161071d565b811461074357600080fd5b50565b6000813590506107558161072f565b92915050565b60006020828403121561077157610770610663565b5b600061077f84828501610746565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006107cf602083610788565b91506107da82610799565b602082019050919050565b600060208201905081810360008301526107fe816107c2565b9050919050565b6000819050919050565b61081881610805565b811461082357600080fd5b50565b6000815190506108358161080f565b92915050565b60006020828403121561085157610850610663565b5b600061085f84828501610826565b91505092915050565b7f4e6f20746f6b656e7320746f2077697468647261770000000000000000000000600082015250565b600061089e601583610788565b91506108a982610868565b602082019050919050565b600060208201905081810360008301526108cd81610891565b9050919050565b6108dd81610805565b82525050565b60006040820190506108f860008301856106f3565b61090560208301846108d4565b9392505050565b60008115159050919050565b6109218161090c565b811461092c57600080fd5b50565b60008151905061093e81610918565b92915050565b60006020828403121561095a57610959610663565b5b60006109688482850161092f565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006109cd602683610788565b91506109d882610971565b604082019050919050565b600060208201905081810360008301526109fc816109c0565b905091905056fea264697066735822122061d40c629ba8ecd7d3ab7ca1014f6d6518c13fdbcabc9c789cbe4c92022c5b8b64736f6c63430008120033