0x6080604052348015600e575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108078061005b5f395ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c80638da5cb5b14610038578063e19c225314610056575b5f80fd5b610040610072565b60405161004d919061047f565b60405180910390f35b610070600480360381019061006b9190610556565b610095565b005b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5b8686905081101561016f575f8989838181106100b6576100b561063a565b5b90506020020160208101906100cb9190610691565b90506101618888848181106100e3576100e261063a565b5b90506020020160208101906100f89190610691565b87878581811061010b5761010a61063a565b5b90506020020160208101906101209190610691565b8686868181106101335761013261063a565b5b905060200201358473ffffffffffffffffffffffffffffffffffffffff1661017a909392919063ffffffff16565b508080600101915050610097565b505050505050505050565b6101f6848573ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040516024016101af939291906106d4565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506101fc565b50505050565b5f610226828473ffffffffffffffffffffffffffffffffffffffff1661029190919063ffffffff16565b90505f81511415801561024a575080806020019051810190610248919061073e565b155b1561028c57826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401610283919061047f565b60405180910390fd5b505050565b606061029e83835f6102a6565b905092915050565b6060814710156102ed57306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016102e4919061047f565b60405180910390fd5b5f808573ffffffffffffffffffffffffffffffffffffffff16848660405161031591906107bb565b5f6040518083038185875af1925050503d805f811461034f576040519150601f19603f3d011682016040523d82523d5f602084013e610354565b606091505b509150915061036486838361036f565b925050509392505050565b6060826103845761037f826103fc565b6103f4565b5f82511480156103aa57505f8473ffffffffffffffffffffffffffffffffffffffff163b145b156103ec57836040517f9996b3150000000000000000000000000000000000000000000000000000000081526004016103e3919061047f565b60405180910390fd5b8190506103f5565b5b9392505050565b5f8151111561040e5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61046982610440565b9050919050565b6104798161045f565b82525050565b5f6020820190506104925f830184610470565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126104c1576104c06104a0565b5b8235905067ffffffffffffffff8111156104de576104dd6104a4565b5b6020830191508360208202830111156104fa576104f96104a8565b5b9250929050565b5f8083601f840112610516576105156104a0565b5b8235905067ffffffffffffffff811115610533576105326104a4565b5b60208301915083602082028301111561054f5761054e6104a8565b5b9250929050565b5f805f805f805f806080898b03121561057257610571610498565b5b5f89013567ffffffffffffffff81111561058f5761058e61049c565b5b61059b8b828c016104ac565b9850985050602089013567ffffffffffffffff8111156105be576105bd61049c565b5b6105ca8b828c016104ac565b9650965050604089013567ffffffffffffffff8111156105ed576105ec61049c565b5b6105f98b828c016104ac565b9450945050606089013567ffffffffffffffff81111561061c5761061b61049c565b5b6106288b828c01610501565b92509250509295985092959890939650565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6106708161045f565b811461067a575f80fd5b50565b5f8135905061068b81610667565b92915050565b5f602082840312156106a6576106a5610498565b5b5f6106b38482850161067d565b91505092915050565b5f819050919050565b6106ce816106bc565b82525050565b5f6060820190506106e75f830186610470565b6106f46020830185610470565b61070160408301846106c5565b949350505050565b5f8115159050919050565b61071d81610709565b8114610727575f80fd5b50565b5f8151905061073881610714565b92915050565b5f6020828403121561075357610752610498565b5b5f6107608482850161072a565b91505092915050565b5f81519050919050565b5f81905092915050565b8281835e5f83830152505050565b5f61079582610769565b61079f8185610773565b93506107af81856020860161077d565b80840191505092915050565b5f6107c6828461078b565b91508190509291505056fea26469706673582212201f37f2dd382ad5d25bc90762bf319894a86acec31e681a421b451d00ed29ac9864736f6c634300081a0033