0x608060405234801561000f575f80fd5b50604051610c95380380610c9583398181016040528101906100319190610193565b805f908161003f91906103e7565b50506104b6565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100a58261005f565b810181811067ffffffffffffffff821117156100c4576100c361006f565b5b80604052505050565b5f6100d6610046565b90506100e2828261009c565b919050565b5f67ffffffffffffffff8211156101015761010061006f565b5b61010a8261005f565b9050602081019050919050565b8281835e5f83830152505050565b5f610137610132846100e7565b6100cd565b9050828152602081018484840111156101535761015261005b565b5b61015e848285610117565b509392505050565b5f82601f83011261017a57610179610057565b5b815161018a848260208601610125565b91505092915050565b5f602082840312156101a8576101a761004f565b5b5f82015167ffffffffffffffff8111156101c5576101c4610053565b5b6101d184828501610166565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061022857607f821691505b60208210810361023b5761023a6101e4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261029d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610262565b6102a78683610262565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102eb6102e66102e1846102bf565b6102c8565b6102bf565b9050919050565b5f819050919050565b610304836102d1565b610318610310826102f2565b84845461026e565b825550505050565b5f90565b61032c610320565b6103378184846102fb565b505050565b5b8181101561035a5761034f5f82610324565b60018101905061033d565b5050565b601f82111561039f5761037081610241565b61037984610253565b81016020851015610388578190505b61039c61039485610253565b83018261033c565b50505b505050565b5f82821c905092915050565b5f6103bf5f19846008026103a4565b1980831691505092915050565b5f6103d783836103b0565b9150826002028217905092915050565b6103f0826101da565b67ffffffffffffffff8111156104095761040861006f565b5b6104138254610211565b61041e82828561035e565b5f60209050601f83116001811461044f575f841561043d578287015190505b61044785826103cc565b8655506104ae565b601f19841661045d86610241565b5f5b828110156104845784890151825560018201915060208501945060208101905061045f565b868310156104a1578489015161049d601f8916826103b0565b8355505b6001600288020188555050505b505050505050565b6107d2806104c35f395ff3fe608060405234801561000f575f80fd5b5060043610610055575f3560e01c8063368b877214610059578063c2d3665814610075578063c5ced03614610093578063ccc2bb29146100af578063e21f37ce146100cd575b5f80fd5b610073600480360381019061006e9190610403565b6100eb565b005b61007d6100fd565b60405161008a91906104aa565b60405180910390f35b6100ad60048036038101906100a89190610403565b610189565b005b6100b761019c565b6040516100c491906104aa565b60405180910390f35b6100d561022b565b6040516100e291906104aa565b60405180910390f35b805f90816100f991906106cd565b5050565b6001805461010a906104f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610136906104f7565b80156101815780601f1061015857610100808354040283529160200191610181565b820191905f5260205f20905b81548152906001019060200180831161016457829003601f168201915b505050505081565b806001908161019891906106cd565b5050565b60605f80546101aa906104f7565b80601f01602080910402602001604051908101604052809291908181526020018280546101d6906104f7565b80156102215780601f106101f857610100808354040283529160200191610221565b820191905f5260205f20905b81548152906001019060200180831161020457829003601f168201915b5050505050905090565b5f8054610237906104f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610263906104f7565b80156102ae5780601f10610285576101008083540402835291602001916102ae565b820191905f5260205f20905b81548152906001019060200180831161029157829003601f168201915b505050505081565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610315826102cf565b810181811067ffffffffffffffff82111715610334576103336102df565b5b80604052505050565b5f6103466102b6565b9050610352828261030c565b919050565b5f67ffffffffffffffff821115610371576103706102df565b5b61037a826102cf565b9050602081019050919050565b828183375f83830152505050565b5f6103a76103a284610357565b61033d565b9050828152602081018484840111156103c3576103c26102cb565b5b6103ce848285610387565b509392505050565b5f82601f8301126103ea576103e96102c7565b5b81356103fa848260208601610395565b91505092915050565b5f60208284031215610418576104176102bf565b5b5f82013567ffffffffffffffff811115610435576104346102c3565b5b610441848285016103d6565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61047c8261044a565b6104868185610454565b9350610496818560208601610464565b61049f816102cf565b840191505092915050565b5f6020820190508181035f8301526104c28184610472565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061050e57607f821691505b602082108103610521576105206104ca565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610548565b61058d8683610548565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105d16105cc6105c7846105a5565b6105ae565b6105a5565b9050919050565b5f819050919050565b6105ea836105b7565b6105fe6105f6826105d8565b848454610554565b825550505050565b5f90565b610612610606565b61061d8184846105e1565b505050565b5b81811015610640576106355f8261060a565b600181019050610623565b5050565b601f8211156106855761065681610527565b61065f84610539565b8101602085101561066e578190505b61068261067a85610539565b830182610622565b50505b505050565b5f82821c905092915050565b5f6106a55f198460080261068a565b1980831691505092915050565b5f6106bd8383610696565b9150826002028217905092915050565b6106d68261044a565b67ffffffffffffffff8111156106ef576106ee6102df565b5b6106f982546104f7565b610704828285610644565b5f60209050601f831160018114610735575f8415610723578287015190505b61072d85826106b2565b865550610794565b601f19841661074386610527565b5f5b8281101561076a57848901518255600182019150602085019450602081019050610745565b868310156107875784890151610783601f891682610696565b8355505b6001600288020188555050505b50505050505056fea26469706673582212204721e97bddde1b733133bb567f75a43ceae9ff276297c9218a07230ccfdb85c764736f6c634300081a00330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000a6675636b7363726f6c6c00000000000000000000000000000000000000000000