0x608060405260405162000fc738038062000fc78339818101604052810190620000299190620002e2565b82817f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c38060001b1462000085577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b62000096826200019360201b60201c565b6000815111156200011d5760008273ffffffffffffffffffffffffffffffffffffffff1682604051620000ca9190620003af565b600060405180830381855af49150503d806000811462000107576040519150601f19603f3d011682016040523d82523d6000602084013e6200010c565b606091505b50509050806200011b57600080fd5b505b50507f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b8060001b1462000179577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6200018a826200021a60201b60201c565b505050620005b9565b620001a9816200024960201b6200041e1760201c565b620001eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001e290620003c8565b60405180910390fd5b60007f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360001b90508181555050565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60001b90508181555050565b6000813b60008111915050919050565b6000620002706200026a8462000413565b620003ea565b9050828152602081018484840111156200028957600080fd5b62000296848285620004a4565b509392505050565b600081519050620002af816200059f565b92915050565b600082601f830112620002c757600080fd5b8151620002d984826020860162000259565b91505092915050565b600080600060608486031215620002f857600080fd5b600062000308868287016200029e565b93505060206200031b868287016200029e565b925050604084015167ffffffffffffffff8111156200033957600080fd5b6200034786828701620002b5565b9150509250925092565b60006200035e8262000449565b6200036a818562000454565b93506200037c818560208601620004a4565b80840191505092915050565b600062000397603b836200045f565b9150620003a48262000550565b604082019050919050565b6000620003bd828462000351565b915081905092915050565b60006020820190508181036000830152620003e38162000388565b9050919050565b6000620003f662000409565b9050620004048282620004da565b919050565b6000604051905090565b600067ffffffffffffffff82111562000431576200043062000510565b5b6200043c826200053f565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b60006200047d8262000484565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015620004c4578082015181840152602081019050620004a7565b83811115620004d4576000848401525b50505050565b620004e5826200053f565b810181811067ffffffffffffffff8211171562000507576200050662000510565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60008201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000602082015250565b620005aa8162000470565b8114620005b657600080fd5b50565b6109fe80620005c96000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100675780634f1ef286146100905780635c60da1b146100ac5780638f283970146100d7578063f851a440146101005761005d565b3661005d5761005b61012b565b005b61006561012b565b005b34801561007357600080fd5b5061008e6004803603810190610089919061068c565b610145565b005b6100aa60048036038101906100a591906106b5565b61019a565b005b3480156100b857600080fd5b506100c1610269565b6040516100ce91906107c3565b60405180910390f35b3480156100e357600080fd5b506100fe60048036038101906100f9919061068c565b6102c1565b005b34801561010c57600080fd5b506101156103c6565b60405161012291906107c3565b60405180910390f35b61013361042e565b61014361013e6104ae565b6104df565b565b61014d610505565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018981610536565b610197565b61019661012b565b5b50565b6101a2610505565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025b576101de83610536565b60008373ffffffffffffffffffffffffffffffffffffffff1683836040516102079291906107aa565b600060405180830381855af49150503d8060008114610242576040519150601f19603f3d011682016040523d82523d6000602084013e610247565b606091505b505090508061025557600080fd5b50610264565b61026361012b565b5b505050565b6000610273610505565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102b5576102ae6104ae565b90506102be565b6102bd61012b565b5b90565b6102c9610505565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103ba57600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561036c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036390610827565b60405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610395610505565b826040516103a49291906107de565b60405180910390a16103b581610585565b6103c3565b6103c261012b565b5b50565b60006103d0610505565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156104125761040b610505565b905061041b565b61041a61012b565b5b90565b6000813b60008111915050919050565b610436610505565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156104a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049b90610807565b60405180910390fd5b6104ac6105b4565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360001b9050805491505090565b3660008037600080366000845af43d6000803e8060008114610500573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60001b9050805491505090565b61053f816105b6565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60001b90508181555050565b565b6105bf8161041e565b6105fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f590610847565b60405180910390fd5b60007f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360001b90508181555050565b60008135905061063c816109b1565b92915050565b60008083601f84011261065457600080fd5b8235905067ffffffffffffffff81111561066d57600080fd5b60208301915083600182028301111561068557600080fd5b9250929050565b60006020828403121561069e57600080fd5b60006106ac8482850161062d565b91505092915050565b6000806000604084860312156106ca57600080fd5b60006106d88682870161062d565b935050602084013567ffffffffffffffff8111156106f557600080fd5b61070186828701610642565b92509250509250925092565b61071681610883565b82525050565b60006107288385610867565b93506107358385846108b5565b82840190509392505050565b600061074e603283610872565b9150610759826108c4565b604082019050919050565b6000610771603683610872565b915061077c82610913565b604082019050919050565b6000610794603b83610872565b915061079f82610962565b604082019050919050565b60006107b782848661071c565b91508190509392505050565b60006020820190506107d8600083018461070d565b92915050565b60006040820190506107f3600083018561070d565b610800602083018461070d565b9392505050565b6000602082019050818103600083015261082081610741565b9050919050565b6000602082019050818103600083015261084081610764565b9050919050565b6000602082019050818103600083015261086081610787565b9050919050565b600081905092915050565b600082825260208201905092915050565b600061088e82610895565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b82818337600083830152505050565b7f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260008201527f6f6d207468652070726f78792061646d696e0000000000000000000000000000602082015250565b7f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f60008201527f787920746f20746865207a65726f206164647265737300000000000000000000602082015250565b7f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60008201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000602082015250565b6109ba81610883565b81146109c557600080fd5b5056fea2646970667358221220b19e98ed56f7105d9dba7a9a58dd948e28cf216e3bcd6e9150295d65848fcd0464736f6c634300080400330000000000000000000000003a4a31cc21c49dd45f18af293191314b3881d57500000000000000000000000066acaf662822dbfd66a5240788ec528b743885e6000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c44cd88b7600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f4d65746120417065732052656c6963000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034d4152000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000