0x6080604052348015600e575f5ffd5b50610a8f8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c806342842e0e1161005957806342842e0e146100e6578063b88d4fde14610102578063e985e9c51461011e578063f242432a1461014e5761007a565b8062fdd58e1461007e57806323b872dd146100ae5780632eb2c2d6146100ca575b5f5ffd5b610098600480360381019061009391906104df565b61016a565b6040516100a5919061052c565b60405180910390f35b6100c860048036038101906100c39190610545565b610194565b005b6100e460048036038101906100df919061064b565b610219565b005b61010060048036038101906100fb9190610545565b6102a3565b005b61011c6004803603810190610117919061085a565b610328565b005b610138600480360381019061013391906108da565b6103ae565b6040516101459190610932565b60405180910390f35b6101686004803603810190610163919061094b565b6103b9565b005b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905092915050565b71c6fbcc926fcd54d8e521632b52dbe7fe000073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020b90610a3b565b60405180910390fd5b505050565b71c6fbcc926fcd54d8e521632b52dbe7fe000073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161029090610a3b565b60405180910390fd5b5050505050505050565b71c6fbcc926fcd54d8e521632b52dbe7fe000073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161031a90610a3b565b60405180910390fd5b505050565b71c6fbcc926fcd54d8e521632b52dbe7fe000073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146103a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039f90610a3b565b60405180910390fd5b50505050565b5f6001905092915050565b71c6fbcc926fcd54d8e521632b52dbe7fe000073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043090610a3b565b60405180910390fd5b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61047b82610452565b9050919050565b61048b81610471565b8114610495575f5ffd5b50565b5f813590506104a681610482565b92915050565b5f819050919050565b6104be816104ac565b81146104c8575f5ffd5b50565b5f813590506104d9816104b5565b92915050565b5f5f604083850312156104f5576104f461044a565b5b5f61050285828601610498565b9250506020610513858286016104cb565b9150509250929050565b610526816104ac565b82525050565b5f60208201905061053f5f83018461051d565b92915050565b5f5f5f6060848603121561055c5761055b61044a565b5b5f61056986828701610498565b935050602061057a86828701610498565b925050604061058b868287016104cb565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126105b6576105b5610595565b5b8235905067ffffffffffffffff8111156105d3576105d2610599565b5b6020830191508360208202830111156105ef576105ee61059d565b5b9250929050565b5f5f83601f84011261060b5761060a610595565b5b8235905067ffffffffffffffff81111561062857610627610599565b5b6020830191508360018202830111156106445761064361059d565b5b9250929050565b5f5f5f5f5f5f5f5f60a0898b0312156106675761066661044a565b5b5f6106748b828c01610498565b98505060206106858b828c01610498565b975050604089013567ffffffffffffffff8111156106a6576106a561044e565b5b6106b28b828c016105a1565b9650965050606089013567ffffffffffffffff8111156106d5576106d461044e565b5b6106e18b828c016105a1565b9450945050608089013567ffffffffffffffff8111156107045761070361044e565b5b6107108b828c016105f6565b92509250509295985092959890939650565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61076c82610726565b810181811067ffffffffffffffff8211171561078b5761078a610736565b5b80604052505050565b5f61079d610441565b90506107a98282610763565b919050565b5f67ffffffffffffffff8211156107c8576107c7610736565b5b6107d182610726565b9050602081019050919050565b828183375f83830152505050565b5f6107fe6107f9846107ae565b610794565b90508281526020810184848401111561081a57610819610722565b5b6108258482856107de565b509392505050565b5f82601f83011261084157610840610595565b5b81356108518482602086016107ec565b91505092915050565b5f5f5f5f608085870312156108725761087161044a565b5b5f61087f87828801610498565b945050602061089087828801610498565b93505060406108a1878288016104cb565b925050606085013567ffffffffffffffff8111156108c2576108c161044e565b5b6108ce8782880161082d565b91505092959194509250565b5f5f604083850312156108f0576108ef61044a565b5b5f6108fd85828601610498565b925050602061090e85828601610498565b9150509250929050565b5f8115159050919050565b61092c81610918565b82525050565b5f6020820190506109455f830184610923565b92915050565b5f5f5f5f5f5f60a087890312156109655761096461044a565b5b5f61097289828a01610498565b965050602061098389828a01610498565b955050604061099489828a016104cb565b94505060606109a589828a016104cb565b935050608087013567ffffffffffffffff8111156109c6576109c561044e565b5b6109d289828a016105f6565b92509250509295509295509295565b5f82825260208201905092915050565b7f43616c6c6572206973206e6f7420616e206f776e6572000000000000000000005f82015250565b5f610a256016836109e1565b9150610a30826109f1565b602082019050919050565b5f6020820190508181035f830152610a5281610a19565b905091905056fea2646970667358221220a20d93ffe258b545909ffe3e2278bb8f4fa50ae2a9bb8ea2372749b54ba6585564736f6c634300081b0033