0x608060405234801562000010575f80fd5b5060405180602001604052805f81525062000031816200007260201b60201c565b5062000052620000466200008760201b60201c565b6200008e60201b60201c565b5f600360146101000a81548160ff02191690831515021790555062000499565b8060029081620000839190620003b5565b5050565b5f33905090565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620001cd57607f821691505b602082108103620001e357620001e262000188565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200020a565b6200025386836200020a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200029d6200029762000291846200026b565b62000274565b6200026b565b9050919050565b5f819050919050565b620002b8836200027d565b620002d0620002c782620002a4565b84845462000216565b825550505050565b5f90565b620002e6620002d8565b620002f3818484620002ad565b505050565b5b818110156200031a576200030e5f82620002dc565b600181019050620002f9565b5050565b601f82111562000369576200033381620001e9565b6200033e84620001fb565b810160208510156200034e578190505b620003666200035d85620001fb565b830182620002f8565b50505b505050565b5f82821c905092915050565b5f6200038b5f19846008026200036e565b1980831691505092915050565b5f620003a583836200037a565b9150826002028217905092915050565b620003c08262000151565b67ffffffffffffffff811115620003dc57620003db6200015b565b5b620003e88254620001b5565b620003f58282856200031e565b5f60209050601f8311600181146200042b575f841562000416578287015190505b62000422858262000398565b86555062000491565b601f1984166200043b86620001e9565b5f5b8281101562000464578489015182556001820191506020850194506020810190506200043d565b8683101562000484578489015162000480601f8916826200037a565b8355505b6001600288020188555050505b505050505050565b613fc280620004a75f395ff3fe608060405234801561000f575f80fd5b5060043610610134575f3560e01c80636b20c454116100b6578063a22cb4651161007a578063a22cb4651461030e578063bd85b0391461032a578063e985e9c51461035a578063f242432a1461038a578063f2fde38b146103a6578063f5298aca146103c257610134565b80636b20c454146102a4578063715018a6146102c0578063731133e9146102ca5780638456cb59146102e65780638da5cb5b146102f057610134565b80632eb2c2d6116100fd5780632eb2c2d6146102005780633f4ba83a1461021c5780634e1273f4146102265780634f558e79146102565780635c975abb1461028657610134565b8062fdd58e1461013857806301ffc9a71461016857806302fe5305146101985780630e89341c146101b45780631f7fdffa146101e4575b5f80fd5b610152600480360381019061014d9190612557565b6103de565b60405161015f91906125a4565b60405180910390f35b610182600480360381019061017d9190612612565b6104a1565b60405161018f9190612657565b60405180910390f35b6101b260048036038101906101ad91906127ac565b610582565b005b6101ce60048036038101906101c991906127f3565b610596565b6040516101db9190612898565b60405180910390f35b6101fe60048036038101906101f99190612a1a565b610628565b005b61021a60048036038101906102159190612ad2565b610642565b005b6102246106e3565b005b610240600480360381019061023b9190612c5d565b6106f5565b60405161024d9190612d8a565b60405180910390f35b610270600480360381019061026b91906127f3565b61080c565b60405161027d9190612657565b60405180910390f35b61028e61081f565b60405161029b9190612657565b60405180910390f35b6102be60048036038101906102b99190612daa565b610835565b005b6102c86108d2565b005b6102e460048036038101906102df9190612e32565b6108e5565b005b6102ee6108ff565b005b6102f8610911565b6040516103059190612ec1565b60405180910390f35b61032860048036038101906103239190612f04565b610939565b005b610344600480360381019061033f91906127f3565b61094f565b60405161035191906125a4565b60405180910390f35b610374600480360381019061036f9190612f42565b610969565b6040516103819190612657565b60405180910390f35b6103a4600480360381019061039f9190612f80565b6109f7565b005b6103c060048036038101906103bb9190613013565b610a98565b005b6103dc60048036038101906103d7919061303e565b610b1a565b005b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361044d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610444906130fe565b60405180910390fd5b5f808381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061056b57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061057b575061057a82610bb7565b5b9050919050565b61058a610c20565b61059381610c9e565b50565b6060600280546105a590613149565b80601f01602080910402602001604051908101604052809291908181526020018280546105d190613149565b801561061c5780601f106105f35761010080835404028352916020019161061c565b820191905f5260205f20905b8154815290600101906020018083116105ff57829003601f168201915b50505050509050919050565b610630610c20565b61063c84848484610cb1565b50505050565b61064a610ed1565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610690575061068f8561068a610ed1565b610969565b5b6106cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c6906131e9565b60405180910390fd5b6106dc8585858585610ed8565b5050505050565b6106eb610c20565b6106f36111e6565b565b6060815183511461073b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073290613277565b60405180910390fd5b5f835167ffffffffffffffff81111561075757610756612688565b5b6040519080825280602002602001820160405280156107855781602001602082028036833780820191505090505b5090505f5b8451811015610801576107d18582815181106107a9576107a8613295565b5b60200260200101518583815181106107c4576107c3613295565b5b60200260200101516103de565b8282815181106107e4576107e3613295565b5b602002602001018181525050806107fa906132ef565b905061078a565b508091505092915050565b5f806108178361094f565b119050919050565b5f600360149054906101000a900460ff16905090565b61083d610ed1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148061088357506108828361087d610ed1565b610969565b5b6108c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b9906131e9565b60405180910390fd5b6108cd838383611248565b505050565b6108da610c20565b6108e35f611503565b565b6108ed610c20565b6108f9848484846115c6565b50505050565b610907610c20565b61090f611769565b565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61094b610944610ed1565b83836117cc565b5050565b5f60045f8381526020019081526020015f20549050919050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6109ff610ed1565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610a455750610a4485610a3f610ed1565b610969565b5b610a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7b906131e9565b60405180910390fd5b610a918585858585611933565b5050505050565b610aa0610c20565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b05906133a6565b60405180910390fd5b610b1781611503565b50565b610b22610ed1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610b685750610b6783610b62610ed1565b610969565b5b610ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9e906131e9565b60405180910390fd5b610bb2838383611bbc565b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610c28610ed1565b73ffffffffffffffffffffffffffffffffffffffff16610c46610911565b73ffffffffffffffffffffffffffffffffffffffff1614610c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c939061340e565b60405180910390fd5b565b8060029081610cad91906135c9565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1690613708565b60405180910390fd5b8151835114610d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5a90613796565b60405180910390fd5b5f610d6c610ed1565b9050610d7c815f87878787611df0565b5f5b8451811015610e2f57838181518110610d9a57610d99613295565b5b60200260200101515f80878481518110610db757610db6613295565b5b602002602001015181526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e1591906137b4565b925050819055508080610e27906132ef565b915050610d7e565b508473ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610ea69291906137e7565b60405180910390a4610ebc815f87878787611e0e565b610eca815f87878787611e16565b5050505050565b5f33905090565b8151835114610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390613796565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f819061388c565b60405180910390fd5b5f610f93610ed1565b9050610fa3818787878787611df0565b5f5b8451811015611143575f858281518110610fc257610fc1613295565b5b602002602001015190505f858381518110610fe057610fdf613295565b5b602002602001015190505f805f8481526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561107c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110739061391a565b60405180910390fd5b8181035f808581526020019081526020015f205f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461112891906137b4565b925050819055505050508061113c906132ef565b9050610fa5565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516111ba9291906137e7565b60405180910390a46111d0818787878787611e0e565b6111de818787878787611e16565b505050505050565b6111ee611fec565b5f600360146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611231610ed1565b60405161123e9190612ec1565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ad906139a8565b60405180910390fd5b80518251146112fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f190613796565b60405180910390fd5b5f611303610ed1565b905061132181855f868660405180602001604052805f815250611df0565b5f5b8351811015611462575f8482815181106113405761133f613295565b5b602002602001015190505f84838151811061135e5761135d613295565b5b602002602001015190505f805f8481526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f190613a36565b60405180910390fd5b8181035f808581526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050808061145a906132ef565b915050611323565b505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114d99291906137e7565b60405180910390a46114fd81855f868660405180602001604052805f815250611e0e565b50505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611634576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162b90613708565b60405180910390fd5b5f61163d610ed1565b90505f61164985612035565b90505f61165585612035565b9050611665835f89858589611df0565b845f808881526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116bf91906137b4565b925050819055508673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62898960405161173c929190613a54565b60405180910390a4611752835f89858589611e0e565b611760835f898989896120ad565b50505050505050565b611771612283565b6001600360146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586117b5610ed1565b6040516117c29190612ec1565b60405180910390a1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361183a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183190613aeb565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516119269190612657565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036119a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119989061388c565b60405180910390fd5b5f6119aa610ed1565b90505f6119b685612035565b90505f6119c285612035565b90506119d2838989858589611df0565b5f805f8881526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905085811015611a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5b9061391a565b60405180910390fd5b8581035f808981526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550855f808981526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611b1091906137b4565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a604051611b8d929190613a54565b60405180910390a4611ba3848a8a86868a611e0e565b611bb1848a8a8a8a8a6120ad565b505050505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c21906139a8565b60405180910390fd5b5f611c33610ed1565b90505f611c3f84612035565b90505f611c4b84612035565b9050611c6983875f858560405180602001604052805f815250611df0565b5f805f8781526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905084811015611cfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf290613a36565b60405180910390fd5b8481035f808881526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051611dc3929190613a54565b60405180910390a4611de784885f868660405180602001604052805f815250611e0e565b50505050505050565b611df8612283565b611e068686868686866122cd565b505050505050565b505050505050565b611e358473ffffffffffffffffffffffffffffffffffffffff1661248f565b15611fe4578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611e7b959493929190613b5b565b6020604051808303815f875af1925050508015611eb657506040513d601f19601f82011682018060405250810190611eb39190613bd5565b60015b611f5b57611ec2613c0c565b806308c379a003611f1e5750611ed6613c2b565b80611ee15750611f20565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f159190612898565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5290613d2a565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611fe2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd990613db8565b60405180910390fd5b505b505050505050565b611ff461081f565b612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a90613e20565b60405180910390fd5b565b60605f600167ffffffffffffffff81111561205357612052612688565b5b6040519080825280602002602001820160405280156120815781602001602082028036833780820191505090505b50905082815f8151811061209857612097613295565b5b60200260200101818152505080915050919050565b6120cc8473ffffffffffffffffffffffffffffffffffffffff1661248f565b1561227b578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401612112959493929190613e3e565b6020604051808303815f875af192505050801561214d57506040513d601f19601f8201168201806040525081019061214a9190613bd5565b60015b6121f257612159613c0c565b806308c379a0036121b5575061216d613c2b565b8061217857506121b7565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ac9190612898565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e990613d2a565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612279576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227090613db8565b60405180910390fd5b505b505050505050565b61228b61081f565b156122cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c290613ee0565b60405180910390fd5b565b6122db8686868686866124b1565b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612387575f5b83518110156123855782818151811061232c5761232b613295565b5b602002602001015160045f86848151811061234a57612349613295565b5b602002602001015181526020019081526020015f205f82825461236d91906137b4565b925050819055508061237e906132ef565b9050612310565b505b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612487575f5b8351811015612485575f8482815181106123d9576123d8613295565b5b602002602001015190505f8483815181106123f7576123f6613295565b5b602002602001015190505f60045f8481526020019081526020015f2054905081811015612459576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245090613f6e565b60405180910390fd5b81810360045f8581526020019081526020015f20819055505050508061247e906132ef565b90506123bc565b505b505050505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124f3826124ca565b9050919050565b612503816124e9565b811461250d575f80fd5b50565b5f8135905061251e816124fa565b92915050565b5f819050919050565b61253681612524565b8114612540575f80fd5b50565b5f813590506125518161252d565b92915050565b5f806040838503121561256d5761256c6124c2565b5b5f61257a85828601612510565b925050602061258b85828601612543565b9150509250929050565b61259e81612524565b82525050565b5f6020820190506125b75f830184612595565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6125f1816125bd565b81146125fb575f80fd5b50565b5f8135905061260c816125e8565b92915050565b5f60208284031215612627576126266124c2565b5b5f612634848285016125fe565b91505092915050565b5f8115159050919050565b6126518161263d565b82525050565b5f60208201905061266a5f830184612648565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126be82612678565b810181811067ffffffffffffffff821117156126dd576126dc612688565b5b80604052505050565b5f6126ef6124b9565b90506126fb82826126b5565b919050565b5f67ffffffffffffffff82111561271a57612719612688565b5b61272382612678565b9050602081019050919050565b828183375f83830152505050565b5f61275061274b84612700565b6126e6565b90508281526020810184848401111561276c5761276b612674565b5b612777848285612730565b509392505050565b5f82601f83011261279357612792612670565b5b81356127a384826020860161273e565b91505092915050565b5f602082840312156127c1576127c06124c2565b5b5f82013567ffffffffffffffff8111156127de576127dd6124c6565b5b6127ea8482850161277f565b91505092915050565b5f60208284031215612808576128076124c2565b5b5f61281584828501612543565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561285557808201518184015260208101905061283a565b5f8484015250505050565b5f61286a8261281e565b6128748185612828565b9350612884818560208601612838565b61288d81612678565b840191505092915050565b5f6020820190508181035f8301526128b08184612860565b905092915050565b5f67ffffffffffffffff8211156128d2576128d1612688565b5b602082029050602081019050919050565b5f80fd5b5f6128f96128f4846128b8565b6126e6565b9050808382526020820190506020840283018581111561291c5761291b6128e3565b5b835b8181101561294557806129318882612543565b84526020840193505060208101905061291e565b5050509392505050565b5f82601f83011261296357612962612670565b5b81356129738482602086016128e7565b91505092915050565b5f67ffffffffffffffff82111561299657612995612688565b5b61299f82612678565b9050602081019050919050565b5f6129be6129b98461297c565b6126e6565b9050828152602081018484840111156129da576129d9612674565b5b6129e5848285612730565b509392505050565b5f82601f830112612a0157612a00612670565b5b8135612a118482602086016129ac565b91505092915050565b5f805f8060808587031215612a3257612a316124c2565b5b5f612a3f87828801612510565b945050602085013567ffffffffffffffff811115612a6057612a5f6124c6565b5b612a6c8782880161294f565b935050604085013567ffffffffffffffff811115612a8d57612a8c6124c6565b5b612a998782880161294f565b925050606085013567ffffffffffffffff811115612aba57612ab96124c6565b5b612ac6878288016129ed565b91505092959194509250565b5f805f805f60a08688031215612aeb57612aea6124c2565b5b5f612af888828901612510565b9550506020612b0988828901612510565b945050604086013567ffffffffffffffff811115612b2a57612b296124c6565b5b612b368882890161294f565b935050606086013567ffffffffffffffff811115612b5757612b566124c6565b5b612b638882890161294f565b925050608086013567ffffffffffffffff811115612b8457612b836124c6565b5b612b90888289016129ed565b9150509295509295909350565b5f67ffffffffffffffff821115612bb757612bb6612688565b5b602082029050602081019050919050565b5f612bda612bd584612b9d565b6126e6565b90508083825260208201905060208402830185811115612bfd57612bfc6128e3565b5b835b81811015612c265780612c128882612510565b845260208401935050602081019050612bff565b5050509392505050565b5f82601f830112612c4457612c43612670565b5b8135612c54848260208601612bc8565b91505092915050565b5f8060408385031215612c7357612c726124c2565b5b5f83013567ffffffffffffffff811115612c9057612c8f6124c6565b5b612c9c85828601612c30565b925050602083013567ffffffffffffffff811115612cbd57612cbc6124c6565b5b612cc98582860161294f565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d0581612524565b82525050565b5f612d168383612cfc565b60208301905092915050565b5f602082019050919050565b5f612d3882612cd3565b612d428185612cdd565b9350612d4d83612ced565b805f5b83811015612d7d578151612d648882612d0b565b9750612d6f83612d22565b925050600181019050612d50565b5085935050505092915050565b5f6020820190508181035f830152612da28184612d2e565b905092915050565b5f805f60608486031215612dc157612dc06124c2565b5b5f612dce86828701612510565b935050602084013567ffffffffffffffff811115612def57612dee6124c6565b5b612dfb8682870161294f565b925050604084013567ffffffffffffffff811115612e1c57612e1b6124c6565b5b612e288682870161294f565b9150509250925092565b5f805f8060808587031215612e4a57612e496124c2565b5b5f612e5787828801612510565b9450506020612e6887828801612543565b9350506040612e7987828801612543565b925050606085013567ffffffffffffffff811115612e9a57612e996124c6565b5b612ea6878288016129ed565b91505092959194509250565b612ebb816124e9565b82525050565b5f602082019050612ed45f830184612eb2565b92915050565b612ee38161263d565b8114612eed575f80fd5b50565b5f81359050612efe81612eda565b92915050565b5f8060408385031215612f1a57612f196124c2565b5b5f612f2785828601612510565b9250506020612f3885828601612ef0565b9150509250929050565b5f8060408385031215612f5857612f576124c2565b5b5f612f6585828601612510565b9250506020612f7685828601612510565b9150509250929050565b5f805f805f60a08688031215612f9957612f986124c2565b5b5f612fa688828901612510565b9550506020612fb788828901612510565b9450506040612fc888828901612543565b9350506060612fd988828901612543565b925050608086013567ffffffffffffffff811115612ffa57612ff96124c6565b5b613006888289016129ed565b9150509295509295909350565b5f60208284031215613028576130276124c2565b5b5f61303584828501612510565b91505092915050565b5f805f60608486031215613055576130546124c2565b5b5f61306286828701612510565b935050602061307386828701612543565b925050604061308486828701612543565b9150509250925092565b7f455243313135353a2061646472657373207a65726f206973206e6f74206120765f8201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b5f6130e8602a83612828565b91506130f38261308e565b604082019050919050565b5f6020820190508181035f830152613115816130dc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061316057607f821691505b6020821081036131735761317261311c565b5b50919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e5f8201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b5f6131d3602e83612828565b91506131de82613179565b604082019050919050565b5f6020820190508181035f830152613200816131c7565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e6774685f8201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b5f613261602983612828565b915061326c82613207565b604082019050919050565b5f6020820190508181035f83015261328e81613255565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6132f982612524565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361332b5761332a6132c2565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613390602683612828565b915061339b82613336565b604082019050919050565b5f6020820190508181035f8301526133bd81613384565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6133f8602083612828565b9150613403826133c4565b602082019050919050565b5f6020820190508181035f830152613425816133ec565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026134887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261344d565b613492868361344d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6134cd6134c86134c384612524565b6134aa565b612524565b9050919050565b5f819050919050565b6134e6836134b3565b6134fa6134f2826134d4565b848454613459565b825550505050565b5f90565b61350e613502565b6135198184846134dd565b505050565b5b8181101561353c576135315f82613506565b60018101905061351f565b5050565b601f821115613581576135528161342c565b61355b8461343e565b8101602085101561356a578190505b61357e6135768561343e565b83018261351e565b50505b505050565b5f82821c905092915050565b5f6135a15f1984600802613586565b1980831691505092915050565b5f6135b98383613592565b9150826002028217905092915050565b6135d28261281e565b67ffffffffffffffff8111156135eb576135ea612688565b5b6135f58254613149565b613600828285613540565b5f60209050601f831160018114613631575f841561361f578287015190505b61362985826135ae565b865550613690565b601f19841661363f8661342c565b5f5b8281101561366657848901518255600182019150602085019450602081019050613641565b86831015613683578489015161367f601f891682613592565b8355505b6001600288020188555050505b505050505050565b7f455243313135353a206d696e7420746f20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136f2602183612828565b91506136fd82613698565b604082019050919050565b5f6020820190508181035f83015261371f816136e6565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e677468205f8201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b5f613780602883612828565b915061378b82613726565b604082019050919050565b5f6020820190508181035f8301526137ad81613774565b9050919050565b5f6137be82612524565b91506137c983612524565b92508282019050808211156137e1576137e06132c2565b5b92915050565b5f6040820190508181035f8301526137ff8185612d2e565b905081810360208301526138138184612d2e565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613876602583612828565b91506138818261381c565b604082019050919050565b5f6020820190508181035f8301526138a38161386a565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f5f8201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b5f613904602a83612828565b915061390f826138aa565b604082019050919050565b5f6020820190508181035f830152613931816138f8565b9050919050565b7f455243313135353a206275726e2066726f6d20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613992602383612828565b915061399d82613938565b604082019050919050565b5f6020820190508181035f8301526139bf81613986565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c5f8201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b5f613a20602483612828565b9150613a2b826139c6565b604082019050919050565b5f6020820190508181035f830152613a4d81613a14565b9050919050565b5f604082019050613a675f830185612595565b613a746020830184612595565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c207374617475735f8201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b5f613ad5602983612828565b9150613ae082613a7b565b604082019050919050565b5f6020820190508181035f830152613b0281613ac9565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f613b2d82613b09565b613b378185613b13565b9350613b47818560208601612838565b613b5081612678565b840191505092915050565b5f60a082019050613b6e5f830188612eb2565b613b7b6020830187612eb2565b8181036040830152613b8d8186612d2e565b90508181036060830152613ba18185612d2e565b90508181036080830152613bb58184613b23565b90509695505050505050565b5f81519050613bcf816125e8565b92915050565b5f60208284031215613bea57613be96124c2565b5b5f613bf784828501613bc1565b91505092915050565b5f8160e01c9050919050565b5f60033d1115613c285760045f803e613c255f51613c00565b90505b90565b5f60443d10613cb757613c3c6124b9565b60043d036004823e80513d602482011167ffffffffffffffff82111715613c64575050613cb7565b808201805167ffffffffffffffff811115613c825750505050613cb7565b80602083010160043d038501811115613c9f575050505050613cb7565b613cae826020018501866126b5565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d455243313135355f8201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b5f613d14603483612828565b9150613d1f82613cba565b604082019050919050565b5f6020820190508181035f830152613d4181613d08565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a656374655f8201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b5f613da2602883612828565b9150613dad82613d48565b604082019050919050565b5f6020820190508181035f830152613dcf81613d96565b9050919050565b7f5061757361626c653a206e6f74207061757365640000000000000000000000005f82015250565b5f613e0a601483612828565b9150613e1582613dd6565b602082019050919050565b5f6020820190508181035f830152613e3781613dfe565b9050919050565b5f60a082019050613e515f830188612eb2565b613e5e6020830187612eb2565b613e6b6040830186612595565b613e786060830185612595565b8181036080830152613e8a8184613b23565b90509695505050505050565b7f5061757361626c653a20706175736564000000000000000000000000000000005f82015250565b5f613eca601083612828565b9150613ed582613e96565b602082019050919050565b5f6020820190508181035f830152613ef781613ebe565b9050919050565b7f455243313135353a206275726e20616d6f756e74206578636565647320746f745f8201527f616c537570706c79000000000000000000000000000000000000000000000000602082015250565b5f613f58602883612828565b9150613f6382613efe565b604082019050919050565b5f6020820190508181035f830152613f8581613f4c565b905091905056fea26469706673582212209694aa3721cba57aec6c2fcaf9d8dba0cc14ce724e01ffbecdc378a36a28b63b64736f6c63430008140033