0x60806040523480156200001157600080fd5b5060405162000e2338038062000e238339818101604052810190620000379190620000b7565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550603c8162000086919062000140565b42620000939190620000e3565b60018190555050620001f4565b600081519050620000b181620001da565b92915050565b600060208284031215620000ca57600080fd5b6000620000da84828501620000a0565b91505092915050565b6000620000f082620001a1565b9150620000fd83620001a1565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620001355762000134620001ab565b5b828201905092915050565b60006200014d82620001a1565b91506200015a83620001a1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620001965762000195620001ab565b5b828202905092915050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b620001e581620001a1565b8114620001f157600080fd5b50565b610c1f80620002046000396000f3fe60806040526004361061007b5760003560e01c80635ec2c7bf1161004e5780635ec2c7bf1461012a578063d57bde7914610155578063ecfc7ecc14610181578063fe67a54b1461018b5761007b565b806312fa6feb1461008057806326b387bb146100ab5780633ccfd60b146100e85780634b449cba146100ff575b600080fd5b34801561008c57600080fd5b506100956101a2565b6040516100a29190610a1e565b60405180910390f35b3480156100b757600080fd5b506100d260048036038101906100cd919061081e565b6101b5565b6040516100df9190610ad9565b60405180910390f35b3480156100f457600080fd5b506100fd6101cd565b005b34801561010b57600080fd5b50610114610371565b6040516101219190610ad9565b60405180910390f35b34801561013657600080fd5b5061013f610377565b60405161014c91906109da565b60405180910390f35b34801561016157600080fd5b5061016a61039b565b6040516101789291906109f5565b60405180910390f35b6101896103cd565b005b34801561019757600080fd5b506101a06105fa565b005b600460009054906101000a900460ff1681565b60056020528060005260406000206000915090505481565b600460009054906101000a900460ff1661021c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021390610a59565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541161029e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029590610a39565b60405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561036d573d6000803e3d6000fd5b5050565b60015481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b600460009054906101000a900460ff161561041d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041490610ab9565b60405180910390fd5b6002600101543411610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90610a79565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461053e5760026001015460056000600260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105369190610b05565b925050819055505b60405180604001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200134815250600260008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507ff4757a49b326036464bec6fe419a4ae38c8a02ce3e68bf0809674f6aab8ad30033346040516105f09291906109f5565b60405180910390a1565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067f90610a99565b60405180910390fd5b600460009054906101000a900460ff16156106d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cf90610ab9565b60405180910390fd5b60015442101561071d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071490610a59565b60405180910390fd5b6001600460006101000a81548160ff0219169083151502179055507fdaec4582d5d9595688c8c98545fdd1c696d41c6aeaeb636737e84ed2f5c00eda600260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166002600101546040516107939291906109f5565b60405180910390a160008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002600101549081150290604051600060405180830381858888f19350505050158015610806573d6000803e3d6000fd5b50565b60008135905061081881610bd2565b92915050565b60006020828403121561083057600080fd5b600061083e84828501610809565b91505092915050565b61085081610b5b565b82525050565b61085f81610b6d565b82525050565b6000610872601583610af4565b91507f4e6f2066756e647320746f2077697468647261772e00000000000000000000006000830152602082019050919050565b60006108b2601e83610af4565b91507f5468652061756374696f6e20686173206e6f742079657420656e6465642e00006000830152602082019050919050565b60006108f2601a83610af4565b91507f5468652062696420616d6f756e7420697320746f6f206c6f772e0000000000006000830152602082019050919050565b6000610932602c83610af4565b91507f4f6e6c79207468652061756374696f6e6565722063616e20706572666f726d2060008301527f7468697320616374696f6e2e00000000000000000000000000000000000000006020830152604082019050919050565b6000610998601e83610af4565b91507f5468652061756374696f6e2068617320616c726561647920656e6465642e00006000830152602082019050919050565b6109d481610b99565b82525050565b60006020820190506109ef6000830184610847565b92915050565b6000604082019050610a0a6000830185610847565b610a1760208301846109cb565b9392505050565b6000602082019050610a336000830184610856565b92915050565b60006020820190508181036000830152610a5281610865565b9050919050565b60006020820190508181036000830152610a72816108a5565b9050919050565b60006020820190508181036000830152610a92816108e5565b9050919050565b60006020820190508181036000830152610ab281610925565b9050919050565b60006020820190508181036000830152610ad28161098b565b9050919050565b6000602082019050610aee60008301846109cb565b92915050565b600082825260208201905092915050565b6000610b1082610b99565b9150610b1b83610b99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610b5057610b4f610ba3565b5b828201905092915050565b6000610b6682610b79565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b610bdb81610b5b565b8114610be657600080fd5b5056fea26469706673582212201bbbd40481fd2f52a419020690acd7c9964cfa2cd3f918a6226300d7712efd2c64736f6c6343000800003300000000000000000000000000000000000000000000000000000000000003e8