608060405261015e600b55661c6bf526340000600c55603c600d556001600e556096600f5560006010553480156200003657600080fd5b5060405162003a5e38038062003a5e83398181016040528101906200005c919062000688565b733cc6cdda760b79bafa08df41ecfa224f810dceb660016040518060400160405280600f81526020017f436f7a7920556e646572776174657200000000000000000000000000000000008152506040518060400160405280600281526020017f43550000000000000000000000000000000000000000000000000000000000008152508160029080519060200190620000f79291906200043b565b508060039080519060200190620001109291906200043b565b50620001216200036860201b60201c565b600081905550505060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156200031e578015620001e4576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b8152600401620001aa9291906200071e565b600060405180830381600087803b158015620001c557600080fd5b505af1158015620001da573d6000803e3d6000fd5b505050506200031d565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146200029e576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b8152600401620002649291906200071e565b600060405180830381600087803b1580156200027f57600080fd5b505af115801562000294573d6000803e3d6000fd5b505050506200031c565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b8152600401620002e791906200074b565b600060405180830381600087803b1580156200030257600080fd5b505af115801562000317573d6000803e3d6000fd5b505050505b5b5b505062000340620003346200036d60201b60201c565b6200037560201b60201c565b60016009819055508060119080519060200190620003609291906200043b565b5050620007cc565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620004499062000797565b90600052602060002090601f0160209004810192826200046d5760008555620004b9565b82601f106200048857805160ff1916838001178555620004b9565b82800160010185558215620004b9579182015b82811115620004b85782518255916020019190600101906200049b565b5b509050620004c89190620004cc565b5090565b5b80821115620004e7576000816000905550600101620004cd565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005548262000509565b810181811067ffffffffffffffff821117156200057657620005756200051a565b5b80604052505050565b60006200058b620004eb565b905062000599828262000549565b919050565b600067ffffffffffffffff821115620005bc57620005bb6200051a565b5b620005c78262000509565b9050602081019050919050565b60005b83811015620005f4578082015181840152602081019050620005d7565b8381111562000604576000848401525b50505050565b6000620006216200061b846200059e565b6200057f565b90508281526020810184848401111562000640576200063f62000504565b5b6200064d848285620005d4565b509392505050565b600082601f8301126200066d576200066c620004ff565b5b81516200067f8482602086016200060a565b91505092915050565b600060208284031215620006a157620006a0620004f5565b5b600082015167ffffffffffffffff811115620006c257620006c1620004fa565b5b620006d08482850162000655565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200070682620006d9565b9050919050565b6200071881620006f9565b82525050565b60006040820190506200073560008301856200070d565b6200074460208301846200070d565b9392505050565b60006020820190506200076260008301846200070d565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007b057607f821691505b602082108103620007c657620007c562000768565b5b50919050565b61328280620007dc6000396000f3fe6080604052600436106101e35760003560e01c80636c0360eb116101025780639cb57d2011610095578063c87b56dd11610064578063c87b56dd14610648578063de314a5914610685578063e985e9c5146106b0578063f2fde38b146106ed576101e3565b80639cb57d20146105bc578063a0712d68146105e7578063a22cb46514610603578063b88d4fde1461062c576101e3565b80638da5cb5b116100d15780638da5cb5b1461051457806391b7f5ed1461053f57806392910eec1461056857806395d89b4114610591576101e3565b80636c0360eb1461047e57806370a08231146104a9578063715018a6146104e65780637c69e207146104fd576101e3565b806323b872dd1161017a57806342842e0e1161014957806342842e0e146103d157806355f804b3146103ed5780635e1c4b60146104165780636352211e14610441576101e3565b806323b872dd146103555780633ccfd60b1461037157806341c66d0a1461037b57806341f43434146103a6576101e3565b8063095ea7b3116101b6578063095ea7b3146102b85780630afb04db146102d457806318160ddd146102ff57806322f4596f1461032a576101e3565b806301ffc9a7146101e85780630387da421461022557806306fdde0314610250578063081812fc1461027b575b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a9190612399565b610716565b60405161021c91906123e1565b60405180910390f35b34801561023157600080fd5b5061023a6107a8565b6040516102479190612415565b60405180910390f35b34801561025c57600080fd5b506102656107ae565b60405161027291906124c9565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190612517565b610840565b6040516102af9190612585565b60405180910390f35b6102d260048036038101906102cd91906125cc565b6108bf565b005b3480156102e057600080fd5b506102e96108d8565b6040516102f69190612415565b60405180910390f35b34801561030b57600080fd5b506103146108de565b6040516103219190612415565b60405180910390f35b34801561033657600080fd5b5061033f6108f5565b60405161034c9190612415565b60405180910390f35b61036f600480360381019061036a919061260c565b6108fb565b005b61037961094a565b005b34801561038757600080fd5b506103906109db565b60405161039d9190612415565b60405180910390f35b3480156103b257600080fd5b506103bb6109e1565b6040516103c891906126be565b60405180910390f35b6103eb60048036038101906103e6919061260c565b6109f3565b005b3480156103f957600080fd5b50610414600480360381019061040f919061280e565b610a42565b005b34801561042257600080fd5b5061042b610a64565b6040516104389190612415565b60405180910390f35b34801561044d57600080fd5b5061046860048036038101906104639190612517565b610a6a565b6040516104759190612585565b60405180910390f35b34801561048a57600080fd5b50610493610a7c565b6040516104a091906124c9565b60405180910390f35b3480156104b557600080fd5b506104d060048036038101906104cb9190612857565b610b0a565b6040516104dd9190612415565b60405180910390f35b3480156104f257600080fd5b506104fb610bc2565b005b34801561050957600080fd5b50610512610bd6565b005b34801561052057600080fd5b50610529610c4d565b6040516105369190612585565b60405180910390f35b34801561054b57600080fd5b5061056660048036038101906105619190612517565b610c77565b005b34801561057457600080fd5b5061058f600480360381019061058a9190612517565b610c89565b005b34801561059d57600080fd5b506105a6610c9b565b6040516105b391906124c9565b60405180910390f35b3480156105c857600080fd5b506105d1610d2d565b6040516105de9190612415565b60405180910390f35b61060160048036038101906105fc9190612517565b610d33565b005b34801561060f57600080fd5b5061062a600480360381019061062591906128b0565b610f7a565b005b61064660048036038101906106419190612991565b610f93565b005b34801561065457600080fd5b5061066f600480360381019061066a9190612517565b610fe4565b60405161067c91906124c9565b60405180910390f35b34801561069157600080fd5b5061069a611060565b6040516106a79190612415565b60405180910390f35b3480156106bc57600080fd5b506106d760048036038101906106d29190612a14565b611066565b6040516106e491906123e1565b60405180910390f35b3480156106f957600080fd5b50610714600480360381019061070f9190612857565b6110cb565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061077157506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107a15750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600c5481565b6060600280546107bd90612a83565b80601f01602080910402602001604051908101604052809291908181526020018280546107e990612a83565b80156108365780601f1061080b57610100808354040283529160200191610836565b820191906000526020600020905b81548152906001019060200180831161081957829003601f168201915b5050505050905090565b600061084b8261114e565b610881576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b816108c9816111ad565b6108d383836112aa565b505050565b600a5481565b60006108e86113ee565b6001546000540303905090565b600b5481565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461093957610938336111ad565b5b6109448484846113f3565b50505050565b610952611715565b61095a611793565b60003373ffffffffffffffffffffffffffffffffffffffff164760405161098090612ae5565b60006040518083038185875af1925050503d80600081146109bd576040519150601f19603f3d011682016040523d82523d6000602084013e6109c2565b606091505b50509050806109d057600080fd5b506109d96117e2565b565b60105481565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a3157610a30336111ad565b5b610a3c8484846117ec565b50505050565b610a4a611715565b8060119080519060200190610a6092919061228a565b5050565b600f5481565b6000610a758261180c565b9050919050565b60118054610a8990612a83565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab590612a83565b8015610b025780601f10610ad757610100808354040283529160200191610b02565b820191906000526020600020905b815481529060010190602001808311610ae557829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b71576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610bca611715565b610bd460006118d8565b565b610bde611715565b601054600a6000828254610bf29190612b29565b925050819055507f8d8664e4328cbcd16b52db004cff5622d17995140cefada9f4578b857f9b204e610c2261199e565b600a54601054604051610c3793929190612b7f565b60405180910390a1610c4b336010546119a6565b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c7f611715565b80600c8190555050565b610c91611715565b80600f8190555050565b606060038054610caa90612a83565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd690612a83565b8015610d235780601f10610cf857610100808354040283529160200191610d23565b820191906000526020600020905b815481529060010190602001808311610d0657829003601f168201915b5050505050905090565b600e5481565b6000600c54905060006001600f54610d4b9190612b29565b83610d546108de565b610d5e9190612b29565b108015610db75750600e5483601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610db49190612b29565b11155b80610df45750610dc5610c4d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b90508015610e0157600091505b8183610e0d9190612bb6565b341015610e4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4690612c5c565b60405180910390fd5b6001601054600b54610e619190612c7c565b610e6b9190612b29565b83610e746108de565b610e7e9190612b29565b10610ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb590612cfc565b60405180910390fd5b6001600d54610ecd9190612b29565b8310610f0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0590612d68565b60405180910390fd5b8015610f6b5782601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f639190612b29565b925050819055505b610f7533846119a6565b505050565b81610f84816111ad565b610f8e83836119c4565b505050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fd157610fd0336111ad565b5b610fdd85858585611acf565b5050505050565b6060610fef8261114e565b61102e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102590612dfa565b60405180910390fd5b601161103983611b42565b60405160200161104a929190612f36565b6040516020818303038152906040529050919050565b600d5481565b600073f849de01b080adc3a814fabe1e2087475cf2e35473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110b857600090506110c5565b6110c28383611c10565b90505b92915050565b6110d3611715565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113990612fd7565b60405180910390fd5b61114b816118d8565b50565b6000816111596113ee565b11158015611168575060005482105b80156111a6575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156112a7576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401611224929190612ff7565b602060405180830381865afa158015611241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112659190613035565b6112a657806040517fede71dcc00000000000000000000000000000000000000000000000000000000815260040161129d9190612585565b60405180910390fd5b5b50565b60006112b582610a6a565b90508073ffffffffffffffffffffffffffffffffffffffff166112d6611ca4565b73ffffffffffffffffffffffffffffffffffffffff161461133957611302816112fd611ca4565b611066565b611338576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b60006113fe8261180c565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611465576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061147184611cac565b915091506114878187611482611ca4565b611cd3565b6114d35761149c86611497611ca4565b611066565b6114d2576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611539576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115468686866001611d17565b801561155157600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001019190508190555061161f856115fb888887611d1d565b7c020000000000000000000000000000000000000000000000000000000017611d45565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036116a557600060018501905060006004600083815260200190815260200160002054036116a35760005481146116a2578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461170d8686866001611d70565b505050505050565b61171d61199e565b73ffffffffffffffffffffffffffffffffffffffff1661173b610c4d565b73ffffffffffffffffffffffffffffffffffffffff1614611791576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611788906130ae565b60405180910390fd5b565b6002600954036117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf9061311a565b60405180910390fd5b6002600981905550565b6001600981905550565b61180783838360405180602001604052806000815250610f93565b505050565b6000808290508061181b6113ee565b116118a1576000548110156118a05760006004600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082160361189e575b6000810361189457600460008360019003935083815260200190815260200160002054905061186a565b80925050506118d3565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6119c0828260405180602001604052806000815250611d76565b5050565b80600760006119d1611ca4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611a7e611ca4565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611ac391906123e1565b60405180910390a35050565b611ada8484846108fb565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611b3c57611b0584848484611e13565b611b3b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b606060006001611b5184611f63565b01905060008167ffffffffffffffff811115611b7057611b6f6126e3565b5b6040519080825280601f01601f191660200182016040528015611ba25781602001600182028036833780820191505090505b509050600082602001820190505b600115611c05578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611bf957611bf861313a565b5b04945060008503611bb0575b819350505050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611d348686846120b6565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b611d8083836120bf565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611e0e57600080549050600083820390505b611dc06000868380600101945086611e13565b611df6576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110611dad578160005414611e0b57600080fd5b50505b505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611e39611ca4565b8786866040518563ffffffff1660e01b8152600401611e5b94939291906131be565b6020604051808303816000875af1925050508015611e9757506040513d601f19601f82011682018060405250810190611e94919061321f565b60015b611f10573d8060008114611ec7576040519150601f19603f3d011682016040523d82523d6000602084013e611ecc565b606091505b506000815103611f08576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611fc1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611fb757611fb661313a565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611ffe576d04ee2d6d415b85acef81000000008381611ff457611ff361313a565b5b0492506020810190505b662386f26fc10000831061202d57662386f26fc1000083816120235761202261313a565b5b0492506010810190505b6305f5e1008310612056576305f5e100838161204c5761204b61313a565b5b0492506008810190505b612710831061207b5761271083816120715761207061313a565b5b0492506004810190505b6064831061209e57606483816120945761209361313a565b5b0492506002810190505b600a83106120ad576001810190505b80915050919050565b60009392505050565b600080549050600082036120ff576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61210c6000848385611d17565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612183836121746000866000611d1d565b61217d8561227a565b17611d45565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b81811461222457808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001810190506121e9565b506000820361225f576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506122756000848385611d70565b505050565b60006001821460e11b9050919050565b82805461229690612a83565b90600052602060002090601f0160209004810192826122b857600085556122ff565b82601f106122d157805160ff19168380011785556122ff565b828001600101855582156122ff579182015b828111156122fe5782518255916020019190600101906122e3565b5b50905061230c9190612310565b5090565b5b80821115612329576000816000905550600101612311565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61237681612341565b811461238157600080fd5b50565b6000813590506123938161236d565b92915050565b6000602082840312156123af576123ae612337565b5b60006123bd84828501612384565b91505092915050565b60008115159050919050565b6123db816123c6565b82525050565b60006020820190506123f660008301846123d2565b92915050565b6000819050919050565b61240f816123fc565b82525050565b600060208201905061242a6000830184612406565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561246a57808201518184015260208101905061244f565b83811115612479576000848401525b50505050565b6000601f19601f8301169050919050565b600061249b82612430565b6124a5818561243b565b93506124b581856020860161244c565b6124be8161247f565b840191505092915050565b600060208201905081810360008301526124e38184612490565b905092915050565b6124f4816123fc565b81146124ff57600080fd5b50565b600081359050612511816124eb565b92915050565b60006020828403121561252d5761252c612337565b5b600061253b84828501612502565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061256f82612544565b9050919050565b61257f81612564565b82525050565b600060208201905061259a6000830184612576565b92915050565b6125a981612564565b81146125b457600080fd5b50565b6000813590506125c6816125a0565b92915050565b600080604083850312156125e3576125e2612337565b5b60006125f1858286016125b7565b925050602061260285828601612502565b9150509250929050565b60008060006060848603121561262557612624612337565b5b6000612633868287016125b7565b9350506020612644868287016125b7565b925050604061265586828701612502565b9150509250925092565b6000819050919050565b600061268461267f61267a84612544565b61265f565b612544565b9050919050565b600061269682612669565b9050919050565b60006126a88261268b565b9050919050565b6126b88161269d565b82525050565b60006020820190506126d360008301846126af565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61271b8261247f565b810181811067ffffffffffffffff8211171561273a576127396126e3565b5b80604052505050565b600061274d61232d565b90506127598282612712565b919050565b600067ffffffffffffffff821115612779576127786126e3565b5b6127828261247f565b9050602081019050919050565b82818337600083830152505050565b60006127b16127ac8461275e565b612743565b9050828152602081018484840111156127cd576127cc6126de565b5b6127d884828561278f565b509392505050565b600082601f8301126127f5576127f46126d9565b5b813561280584826020860161279e565b91505092915050565b60006020828403121561282457612823612337565b5b600082013567ffffffffffffffff8111156128425761284161233c565b5b61284e848285016127e0565b91505092915050565b60006020828403121561286d5761286c612337565b5b600061287b848285016125b7565b91505092915050565b61288d816123c6565b811461289857600080fd5b50565b6000813590506128aa81612884565b92915050565b600080604083850312156128c7576128c6612337565b5b60006128d5858286016125b7565b92505060206128e68582860161289b565b9150509250929050565b600067ffffffffffffffff82111561290b5761290a6126e3565b5b6129148261247f565b9050602081019050919050565b600061293461292f846128f0565b612743565b9050828152602081018484840111156129505761294f6126de565b5b61295b84828561278f565b509392505050565b600082601f830112612978576129776126d9565b5b8135612988848260208601612921565b91505092915050565b600080600080608085870312156129ab576129aa612337565b5b60006129b9878288016125b7565b94505060206129ca878288016125b7565b93505060406129db87828801612502565b925050606085013567ffffffffffffffff8111156129fc576129fb61233c565b5b612a0887828801612963565b91505092959194509250565b60008060408385031215612a2b57612a2a612337565b5b6000612a39858286016125b7565b9250506020612a4a858286016125b7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612a9b57607f821691505b602082108103612aae57612aad612a54565b5b50919050565b600081905092915050565b50565b6000612acf600083612ab4565b9150612ada82612abf565b600082019050919050565b6000612af082612ac2565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b34826123fc565b9150612b3f836123fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b7457612b73612afa565b5b828201905092915050565b6000606082019050612b946000830186612576565b612ba16020830185612406565b612bae6040830184612406565b949350505050565b6000612bc1826123fc565b9150612bcc836123fc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c0557612c04612afa565b5b828202905092915050565b7f506c656173652073656e642074686520657861637420616d6f756e742e000000600082015250565b6000612c46601d8361243b565b9150612c5182612c10565b602082019050919050565b60006020820190508181036000830152612c7581612c39565b9050919050565b6000612c87826123fc565b9150612c92836123fc565b925082821015612ca557612ca4612afa565b5b828203905092915050565b7f536f6c64206f7574210000000000000000000000000000000000000000000000600082015250565b6000612ce660098361243b565b9150612cf182612cb0565b602082019050919050565b60006020820190508181036000830152612d1581612cd9565b9050919050565b7f4d61782070657220545820726561636865642e00000000000000000000000000600082015250565b6000612d5260138361243b565b9150612d5d82612d1c565b602082019050919050565b60006020820190508181036000830152612d8181612d45565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000612de4602f8361243b565b9150612def82612d88565b604082019050919050565b60006020820190508181036000830152612e1381612dd7565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154612e4781612a83565b612e518186612e1a565b94506001821660008114612e6c5760018114612e7d57612eb0565b60ff19831686528186019350612eb0565b612e8685612e25565b60005b83811015612ea857815481890152600182019150602081019050612e89565b838801955050505b50505092915050565b6000612ec482612430565b612ece8185612e1a565b9350612ede81856020860161244c565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000612f20600583612e1a565b9150612f2b82612eea565b600582019050919050565b6000612f428285612e3a565b9150612f4e8284612eb9565b9150612f5982612f13565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612fc160268361243b565b9150612fcc82612f65565b604082019050919050565b60006020820190508181036000830152612ff081612fb4565b9050919050565b600060408201905061300c6000830185612576565b6130196020830184612576565b9392505050565b60008151905061302f81612884565b92915050565b60006020828403121561304b5761304a612337565b5b600061305984828501613020565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061309860208361243b565b91506130a382613062565b602082019050919050565b600060208201905081810360008301526130c78161308b565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613104601f8361243b565b915061310f826130ce565b602082019050919050565b60006020820190508181036000830152613133816130f7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b600061319082613169565b61319a8185613174565b93506131aa81856020860161244c565b6131b38161247f565b840191505092915050565b60006080820190506131d36000830187612576565b6131e06020830186612576565b6131ed6040830185612406565b81810360608301526131ff8184613185565b905095945050505050565b6000815190506132198161236d565b92915050565b60006020828403121561323557613234612337565b5b60006132438482850161320a565b9150509291505056fea264697066735822122010f834644da2bc558a63a6b0edd4509b072419c712624cf2bcb5430372850da664736f6c634300080d003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000