0x608060405234801561000f575f80fd5b506109048061001d5f395ff3fe608060405260043610610021575f3560e01c80631476e40f1461006557610061565b36610061577f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258743334604051610057929190610364565b60405180910390a1005b5f80fd5b61007f600480360381019061007a9190610449565b610095565b60405161008c919061060c565b60405180910390f35b60607f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587433346040516100c8929190610364565b60405180910390a15f8585905003610115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010c90610686565b60405180910390fd5b5f8585905067ffffffffffffffff811115610133576101326106a4565b5b60405190808252806020026020018201604052801561016657816020015b60608152602001906001900390816101515790505b5090505f5b868690508110156102c7575f8088888481811061018b5761018a6106d1565b5b90506020020160208101906101a09190610728565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101c9576101c86106d1565b5b905060200201356040516101dc90610780565b5f6040518083038185875af1925050503d805f8114610216576040519150601f19603f3d011682016040523d82523d5f602084013e61021b565b606091505b509150915081610299575f815103610291578888848181106102405761023f6106d1565b5b90506020020160208101906102559190610728565b6040517f6c544f3300000000000000000000000000000000000000000000000000000000815260040161028891906107c4565b60405180910390fd5b805160208201fd5b808484815181106102ad576102ac6106d1565b5b60200260200101819052505050808060010191505061016b565b507ff80d162d15dbc741a074425a6b3a10a7648ad3def18c7b4f86dfd09c6329c66686866040516102f99291906108ac565b60405180910390a180915050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103368261030d565b9050919050565b6103468161032c565b82525050565b5f819050919050565b61035e8161034c565b82525050565b5f6040820190506103775f83018561033d565b6103846020830184610355565b9392505050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126103b4576103b3610393565b5b8235905067ffffffffffffffff8111156103d1576103d0610397565b5b6020830191508360208202830111156103ed576103ec61039b565b5b9250929050565b5f8083601f84011261040957610408610393565b5b8235905067ffffffffffffffff81111561042657610425610397565b5b6020830191508360208202830111156104425761044161039b565b5b9250929050565b5f805f80604085870312156104615761046061038b565b5b5f85013567ffffffffffffffff81111561047e5761047d61038f565b5b61048a8782880161039f565b9450945050602085013567ffffffffffffffff8111156104ad576104ac61038f565b5b6104b9878288016103f4565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561052757808201518184015260208101905061050c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61054c826104f0565b61055681856104fa565b935061056681856020860161050a565b61056f81610532565b840191505092915050565b5f6105858383610542565b905092915050565b5f602082019050919050565b5f6105a3826104c7565b6105ad81856104d1565b9350836020820285016105bf856104e1565b805f5b858110156105fa57848403895281516105db858261057a565b94506105e68361058d565b925060208a019950506001810190506105c2565b50829750879550505050505092915050565b5f6020820190508181035f8301526106248184610599565b905092915050565b5f82825260208201905092915050565b7f746172676574206c656e677468206973203000000000000000000000000000005f82015250565b5f61067060128361062c565b915061067b8261063c565b602082019050919050565b5f6020820190508181035f83015261069d81610664565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6107078161032c565b8114610711575f80fd5b50565b5f81359050610722816106fe565b92915050565b5f6020828403121561073d5761073c61038b565b5b5f61074a84828501610714565b91505092915050565b5f81905092915050565b50565b5f61076b5f83610753565b91506107768261075d565b5f82019050919050565b5f61078a82610760565b9150819050919050565b5f82825260208201905092915050565b5f6107af5f83610794565b91506107ba8261075d565b5f82019050919050565b5f6040820190506107d75f83018461033d565b81810360208301526107e8816107a4565b905092915050565b5f82825260208201905092915050565b5f819050919050565b6108128161032c565b82525050565b5f6108238383610809565b60208301905092915050565b5f61083d6020840184610714565b905092915050565b5f602082019050919050565b5f61085c83856107f0565b935061086782610800565b805f5b8581101561089f5761087c828461082f565b6108868882610818565b975061089183610845565b92505060018101905061086a565b5085925050509392505050565b5f6020820190508181035f8301526108c5818486610851565b9050939250505056fea26469706673582212208ac836cb68d82d90063f0987e40f94b0dee5450c99d9f2673fea85b3f5306ada64736f6c63430008160033
0x608060405260043610610021575f3560e01c80631476e40f1461006557610061565b36610061577f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f885258743334604051610057929190610364565b60405180910390a1005b5f80fd5b61007f600480360381019061007a9190610449565b610095565b60405161008c919061060c565b60405180910390f35b60607f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587433346040516100c8929190610364565b60405180910390a15f8585905003610115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010c90610686565b60405180910390fd5b5f8585905067ffffffffffffffff811115610133576101326106a4565b5b60405190808252806020026020018201604052801561016657816020015b60608152602001906001900390816101515790505b5090505f5b868690508110156102c7575f8088888481811061018b5761018a6106d1565b5b90506020020160208101906101a09190610728565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101c9576101c86106d1565b5b905060200201356040516101dc90610780565b5f6040518083038185875af1925050503d805f8114610216576040519150601f19603f3d011682016040523d82523d5f602084013e61021b565b606091505b509150915081610299575f815103610291578888848181106102405761023f6106d1565b5b90506020020160208101906102559190610728565b6040517f6c544f3300000000000000000000000000000000000000000000000000000000815260040161028891906107c4565b60405180910390fd5b805160208201fd5b808484815181106102ad576102ac6106d1565b5b60200260200101819052505050808060010191505061016b565b507ff80d162d15dbc741a074425a6b3a10a7648ad3def18c7b4f86dfd09c6329c66686866040516102f99291906108ac565b60405180910390a180915050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103368261030d565b9050919050565b6103468161032c565b82525050565b5f819050919050565b61035e8161034c565b82525050565b5f6040820190506103775f83018561033d565b6103846020830184610355565b9392505050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126103b4576103b3610393565b5b8235905067ffffffffffffffff8111156103d1576103d0610397565b5b6020830191508360208202830111156103ed576103ec61039b565b5b9250929050565b5f8083601f84011261040957610408610393565b5b8235905067ffffffffffffffff81111561042657610425610397565b5b6020830191508360208202830111156104425761044161039b565b5b9250929050565b5f805f80604085870312156104615761046061038b565b5b5f85013567ffffffffffffffff81111561047e5761047d61038f565b5b61048a8782880161039f565b9450945050602085013567ffffffffffffffff8111156104ad576104ac61038f565b5b6104b9878288016103f4565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561052757808201518184015260208101905061050c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61054c826104f0565b61055681856104fa565b935061056681856020860161050a565b61056f81610532565b840191505092915050565b5f6105858383610542565b905092915050565b5f602082019050919050565b5f6105a3826104c7565b6105ad81856104d1565b9350836020820285016105bf856104e1565b805f5b858110156105fa57848403895281516105db858261057a565b94506105e68361058d565b925060208a019950506001810190506105c2565b50829750879550505050505092915050565b5f6020820190508181035f8301526106248184610599565b905092915050565b5f82825260208201905092915050565b7f746172676574206c656e677468206973203000000000000000000000000000005f82015250565b5f61067060128361062c565b915061067b8261063c565b602082019050919050565b5f6020820190508181035f83015261069d81610664565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6107078161032c565b8114610711575f80fd5b50565b5f81359050610722816106fe565b92915050565b5f6020828403121561073d5761073c61038b565b5b5f61074a84828501610714565b91505092915050565b5f81905092915050565b50565b5f61076b5f83610753565b91506107768261075d565b5f82019050919050565b5f61078a82610760565b9150819050919050565b5f82825260208201905092915050565b5f6107af5f83610794565b91506107ba8261075d565b5f82019050919050565b5f6040820190506107d75f83018461033d565b81810360208301526107e8816107a4565b905092915050565b5f82825260208201905092915050565b5f819050919050565b6108128161032c565b82525050565b5f6108238383610809565b60208301905092915050565b5f61083d6020840184610714565b905092915050565b5f602082019050919050565b5f61085c83856107f0565b935061086782610800565b805f5b8581101561089f5761087c828461082f565b6108868882610818565b975061089183610845565b92505060018101905061086a565b5085925050509392505050565b5f6020820190508181035f8301526108c5818486610851565b9050939250505056fea26469706673582212208ac836cb68d82d90063f0987e40f94b0dee5450c99d9f2673fea85b3f5306ada64736f6c63430008160033