0x608060405233600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a2611065806100976000396000f3fe6080604052600436106100555760003560e01c806303dfcafe1461005757806313af403514610096578063688dad95146100bf5780637a9e5e4b146100fc5780638da5cb5b14610125578063bf7e214f14610150575b005b34801561006357600080fd5b5061007e60048036036100799190810190610a26565b61017b565b60405161008d93929190610e8b565b60405180910390f35b3480156100a257600080fd5b506100bd60048036036100b89190810190610a26565b610292565b005b3480156100cb57600080fd5b506100e660048036036100e19190810190610aa1565b6103a8565b6040516100f39190610e70565b60405180910390f35b34801561010857600080fd5b50610123600480360361011e9190810190610a78565b6104b7565b005b34801561013157600080fd5b5061013a6105cb565b6040516101479190610d43565b60405180910390f35b34801561015c57600080fd5b506101656105f1565b6040516101729190610d95565b60405180910390f35b60008060008060608573ffffffffffffffffffffffffffffffffffffffff166040516024016040516020818303038152906040527f0902f1ac000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161022a9190610d2c565b600060405180830381855afa9150503d8060008114610265576040519150601f19603f3d011682016040523d82523d6000602084013e61026a565b606091505b5091509150808060200190516102839190810190610af0565b94509450945050509193909250565b6102c0336000357fffffffff0000000000000000000000000000000000000000000000000000000016610616565b6102ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f690610dd0565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b6000806000806103b78661017b565b9250925092506000831180156103cd5750600082115b61040c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040390610e50565b60405180910390fd5b600080600061041a8861017b565b9250925092506000831180156104305750600082115b61046f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046690610df0565b60405180910390fd5b600061047c8b88886107ca565b9050600061048b8c8587610849565b905060006104a282846108bb90919063ffffffff16565b90508099505050505050505050509392505050565b6104e5336000357fffffffff0000000000000000000000000000000000000000000000000000000016610616565b610524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051b90610dd0565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561065557600190506107c4565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106b457600190506107c4565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561071357600090506107c4565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b815260040161077193929190610d5e565b60206040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107c19190810190610a4f565b90505b92915050565b6000806107f46103e86107e6878761090b90919063ffffffff16565b61090b90919063ffffffff16565b9050600061081f6103e561081188876108bb90919063ffffffff16565b61090b90919063ffffffff16565b905061083e600182848161082f57fe5b0461096d90919063ffffffff16565b925050509392505050565b6000806108616103e58661090b90919063ffffffff16565b90506000610878848361090b90919063ffffffff16565b905060006108a3836108956103e88961090b90919063ffffffff16565b61096d90919063ffffffff16565b90508082816108ae57fe5b0493505050509392505050565b6000828284039150811115610905576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fc90610db0565b60405180910390fd5b92915050565b600080821480610928575082828385029250828161092557fe5b04145b610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e90610e10565b60405180910390fd5b92915050565b60008282840191508110156109b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ae90610e30565b60405180910390fd5b92915050565b6000813590506109cc81610fc6565b92915050565b6000815190506109e181610fdd565b92915050565b6000813590506109f681610ff4565b92915050565b600081359050610a0b8161100b565b92915050565b600081519050610a208161100b565b92915050565b600060208284031215610a3857600080fd5b6000610a46848285016109bd565b91505092915050565b600060208284031215610a6157600080fd5b6000610a6f848285016109d2565b91505092915050565b600060208284031215610a8a57600080fd5b6000610a98848285016109e7565b91505092915050565b600080600060608486031215610ab657600080fd5b6000610ac4868287016109fc565b9350506020610ad5868287016109bd565b9250506040610ae6868287016109bd565b9150509250925092565b600080600060608486031215610b0557600080fd5b6000610b1386828701610a11565b9350506020610b2486828701610a11565b9250506040610b3586828701610a11565b9150509250925092565b610b4881610ee9565b82525050565b610b5781610f07565b82525050565b6000610b6882610ec2565b610b728185610ecd565b9350610b82818560208601610f93565b80840191505092915050565b610b9781610f6f565b82525050565b6000610baa601583610ed8565b91507f64732d6d6174682d7375622d756e646572666c6f7700000000000000000000006000830152602082019050919050565b6000610bea601483610ed8565b91507f64732d617574682d756e617574686f72697a65640000000000000000000000006000830152602082019050919050565b6000610c2a600383610ed8565b91507f30723200000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000610c6a601483610ed8565b91507f64732d6d6174682d6d756c2d6f766572666c6f770000000000000000000000006000830152602082019050919050565b6000610caa601483610ed8565b91507f64732d6d6174682d6164642d6f766572666c6f770000000000000000000000006000830152602082019050919050565b6000610cea600383610ed8565b91507f30723100000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b610d2681610f65565b82525050565b6000610d388284610b5d565b915081905092915050565b6000602082019050610d586000830184610b3f565b92915050565b6000606082019050610d736000830186610b3f565b610d806020830185610b3f565b610d8d6040830184610b4e565b949350505050565b6000602082019050610daa6000830184610b8e565b92915050565b60006020820190508181036000830152610dc981610b9d565b9050919050565b60006020820190508181036000830152610de981610bdd565b9050919050565b60006020820190508181036000830152610e0981610c1d565b9050919050565b60006020820190508181036000830152610e2981610c5d565b9050919050565b60006020820190508181036000830152610e4981610c9d565b9050919050565b60006020820190508181036000830152610e6981610cdd565b9050919050565b6000602082019050610e856000830184610d1d565b92915050565b6000606082019050610ea06000830186610d1d565b610ead6020830185610d1d565b610eba6040830184610d1d565b949350505050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b6000610ef482610f45565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000610f3e82610ee9565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610f7a82610f81565b9050919050565b6000610f8c82610f45565b9050919050565b60005b83811015610fb1578082015181840152602081019050610f96565b83811115610fc0576000848401525b50505050565b610fcf81610ee9565b8114610fda57600080fd5b50565b610fe681610efb565b8114610ff157600080fd5b50565b610ffd81610f33565b811461100857600080fd5b50565b61101481610f65565b811461101f57600080fd5b5056fea365627a7a7231582087011cb7229d8e4f052ed530e2bce0c20effe36684067fbc42c48e0927b980c76c6578706572696d656e74616cf564736f6c63430005110040