0x60806040525f60075534801562000014575f80fd5b50336040518060400160405280600e81526020017f546865204c6f73742044696172790000000000000000000000000000000000008152506040518060400160405280600581526020017f454e545259000000000000000000000000000000000000000000000000000000815250815f90816200009291906200060a565b508060019081620000a491906200060a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200011a575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000111919062000731565b60405180910390fd5b6200012b816200021360201b60201c565b506040518060600160405280603f815260200162003684603f9139600890816200015691906200060a565b50600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff167f17f5b635c984bd6bd0661fd547f6085ef1a0813ef0c42d24b12a06f6824b5e086001604051620001f5919062000768565b60405180910390a26200020d620002d660201b60201c565b62000783565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600160095f738af0ca326739093dbdc3d1d7c86efeb15c456e1373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550738af0ca326739093dbdc3d1d7c86efeb15c456e1373ffffffffffffffffffffffffffffffffffffffff167f17f5b635c984bd6bd0661fd547f6085ef1a0813ef0c42d24b12a06f6824b5e0860016040516200039c919062000768565b60405180910390a2565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200042257607f821691505b602082108103620004385762000437620003dd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200049c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200045f565b620004a886836200045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620004f2620004ec620004e684620004c0565b620004c9565b620004c0565b9050919050565b5f819050919050565b6200050d83620004d2565b620005256200051c82620004f9565b8484546200046b565b825550505050565b5f90565b6200053b6200052d565b6200054881848462000502565b505050565b5b818110156200056f57620005635f8262000531565b6001810190506200054e565b5050565b601f821115620005be5762000588816200043e565b620005938462000450565b81016020851015620005a3578190505b620005bb620005b28562000450565b8301826200054d565b50505b505050565b5f82821c905092915050565b5f620005e05f1984600802620005c3565b1980831691505092915050565b5f620005fa8383620005cf565b9150826002028217905092915050565b6200061582620003a6565b67ffffffffffffffff811115620006315762000630620003b0565b5b6200063d82546200040a565b6200064a82828562000573565b5f60209050601f83116001811462000680575f84156200066b578287015190505b620006778582620005ed565b865550620006e6565b601f19841662000690866200043e565b5f5b82811015620006b95784890151825560018201915060208501945060208101905062000692565b86831015620006d95784890151620006d5601f891682620005cf565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200071982620006ee565b9050919050565b6200072b816200070d565b82525050565b5f602082019050620007465f83018462000720565b92915050565b5f8115159050919050565b62000762816200074c565b82525050565b5f6020820190506200077d5f83018462000757565b92915050565b612ef380620007915f395ff3fe60806040526004361061014d575f3560e01c8063715018a6116100b5578063aa2fe91b1161006e578063aa2fe91b146104b5578063b88d4fde146104f1578063c87b56dd14610519578063e985e9c514610555578063ed58bad814610591578063f2fde38b146105b95761014e565b8063715018a6146103d35780638da5cb5b146103e957806395d89b4114610413578063990711901461043d578063a125c82414610465578063a22cb4651461048d5761014e565b806323b872dd1161010757806323b872dd146102a55780633a367a67146102cd57806342842e0e146102f75780636352211e1461031f5780636c8b703f1461035b57806370a08231146103975761014e565b80629a9b7b1461018957806301ffc9a7146101b357806306fdde03146101ef578063081812fc14610219578063095ea7b314610255578063162094c41461027d5761014e565b5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018090611fe2565b60405180910390fd5b348015610194575f80fd5b5061019d6105e1565b6040516101aa9190612018565b60405180910390f35b3480156101be575f80fd5b506101d960048036038101906101d49190612097565b6105e7565b6040516101e691906120dc565b60405180910390f35b3480156101fa575f80fd5b506102036106c8565b604051610210919061216f565b60405180910390f35b348015610224575f80fd5b5061023f600480360381019061023a91906121b9565b610757565b60405161024c9190612223565b60405180910390f35b348015610260575f80fd5b5061027b60048036038101906102769190612266565b610772565b005b348015610288575f80fd5b506102a3600480360381019061029e91906123d0565b610788565b005b3480156102b0575f80fd5b506102cb60048036038101906102c6919061242a565b61086c565b005b3480156102d8575f80fd5b506102e161096b565b6040516102ee919061216f565b60405180910390f35b348015610302575f80fd5b5061031d6004803603810190610318919061242a565b6109f7565b005b34801561032a575f80fd5b50610345600480360381019061034091906121b9565b610a16565b6040516103529190612223565b60405180910390f35b348015610366575f80fd5b50610381600480360381019061037c91906121b9565b610a27565b60405161038e919061216f565b60405180910390f35b3480156103a2575f80fd5b506103bd60048036038101906103b8919061247a565b610ac2565b6040516103ca9190612018565b60405180910390f35b3480156103de575f80fd5b506103e7610b78565b005b3480156103f4575f80fd5b506103fd610b8b565b60405161040a9190612223565b60405180910390f35b34801561041e575f80fd5b50610427610bb3565b604051610434919061216f565b60405180910390f35b348015610448575f80fd5b50610463600480360381019061045e91906124a5565b610c43565b005b348015610470575f80fd5b5061048b6004803603810190610486919061252d565b610d5e565b005b348015610498575f80fd5b506104b360048036038101906104ae919061259e565b610db0565b005b3480156104c0575f80fd5b506104db60048036038101906104d6919061247a565b610dc6565b6040516104e891906120dc565b60405180910390f35b3480156104fc575f80fd5b506105176004803603810190610512919061267a565b610de3565b005b348015610524575f80fd5b5061053f600480360381019061053a91906121b9565b610e00565b60405161054c919061216f565b60405180910390f35b348015610560575f80fd5b5061057b600480360381019061057691906126fa565b610f57565b60405161058891906120dc565b60405180910390f35b34801561059c575f80fd5b506105b760048036038101906105b2919061259e565b610fe5565b005b3480156105c4575f80fd5b506105df60048036038101906105da919061247a565b611093565b005b60075481565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106b157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106c157506106c082611117565b5b9050919050565b60605f80546106d690612765565b80601f016020809104026020016040519081016040528092919081815260200182805461070290612765565b801561074d5780601f106107245761010080835404028352916020019161074d565b820191905f5260205f20905b81548152906001019060200180831161073057829003601f168201915b5050505050905090565b5f61076182611180565b5061076b82611206565b9050919050565b610784828261077f61123f565b611246565b5050565b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890612805565b60405180910390fd5b80600a5f8481526020019081526020015f20908161082f91906129c0565b50817fda84ca2183491f179a603e877b2cb058e42195041c2b9c53d746427e519a34df82604051610860919061216f565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108dc575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016108d39190612223565b60405180910390fd5b5f6108ef83836108ea61123f565b611258565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610965578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161095c93929190612a8f565b60405180910390fd5b50505050565b6008805461097890612765565b80601f01602080910402602001604051908101604052809291908181526020018280546109a490612765565b80156109ef5780601f106109c6576101008083540402835291602001916109ef565b820191905f5260205f20905b8154815290600101906020018083116109d257829003601f168201915b505050505081565b610a1183838360405180602001604052805f815250610de3565b505050565b5f610a2082611180565b9050919050565b600a602052805f5260405f205f915090508054610a4390612765565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6f90612765565b8015610aba5780601f10610a9157610100808354040283529160200191610aba565b820191905f5260205f20905b815481529060010190602001808311610a9d57829003601f168201915b505050505081565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b33575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610b2a9190612223565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b80611463565b610b895f6114ea565b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610bc290612765565b80601f0160208091040260200160405190810160405280929190818152602001828054610bee90612765565b8015610c395780601f10610c1057610100808354040283529160200191610c39565b820191905f5260205f20905b815481529060010190602001808311610c1c57829003601f168201915b5050505050905090565b60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc390612805565b60405180910390fd5b60075f8154610cda90612af1565b919050819055505f610cef83836007546115ad565b905080600a5f60075481526020019081526020015f209081610d1191906129c0565b50610d1e846007546115e4565b6007547fda84ca2183491f179a603e877b2cb058e42195041c2b9c53d746427e519a34df82604051610d50919061216f565b60405180910390a250505050565b610d66611463565b8060089081610d7591906129c0565b507f89c0c59bf6f19f6df5909eebedfa7eca3e887d44db48734e3ee45575ce361e3681604051610da5919061216f565b60405180910390a150565b610dc2610dbb61123f565b83836116d7565b5050565b6009602052805f5260405f205f915054906101000a900460ff1681565b610dee84848461086c565b610dfa84848484611840565b50505050565b60605f600a5f8481526020019081526020015f208054610e1f90612765565b90501115610ec657600a5f8381526020019081526020015f208054610e4390612765565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6f90612765565b8015610eba5780601f10610e9157610100808354040283529160200191610eba565b820191905f5260205f20905b815481529060010190602001808311610e9d57829003601f168201915b50505050509050610f52565b60088054610ed390612765565b80601f0160208091040260200160405190810160405280929190818152602001828054610eff90612765565b8015610f4a5780601f10610f2157610100808354040283529160200191610f4a565b820191905f5260205f20905b815481529060010190602001808311610f2d57829003601f168201915b505050505090505b919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b610fed611463565b8060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f17f5b635c984bd6bd0661fd547f6085ef1a0813ef0c42d24b12a06f6824b5e088260405161108791906120dc565b60405180910390a25050565b61109b611463565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361110b575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016111029190612223565b60405180910390fd5b611114816114ea565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8061118b836119f2565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111fd57826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016111f49190612018565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b6112538383836001611a2b565b505050565b5f80611263846119f2565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146112a4576112a3818486611bea565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461132f576112e35f855f80611a2b565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146113ae57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b61146b61123f565b73ffffffffffffffffffffffffffffffffffffffff16611489610b8b565b73ffffffffffffffffffffffffffffffffffffffff16146114e8576114ac61123f565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016114df9190612223565b60405180910390fd5b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60606115b882611cad565b84846040516020016115cc93929190612d32565b60405160208183030381529060405290509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611654575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161164b9190612223565b60405180910390fd5b5f61166083835f611258565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116d2575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016116c99190612223565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361174757816040517f5b08ba1800000000000000000000000000000000000000000000000000000000815260040161173e9190612223565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161183391906120dc565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156119ec578273ffffffffffffffffffffffffffffffffffffffff1663150b7a0261188361123f565b8685856040518563ffffffff1660e01b81526004016118a59493929190612de0565b6020604051808303815f875af19250505080156118e057506040513d601f19601f820116820180604052508101906118dd9190612e3e565b60015b611961573d805f811461190e576040519150601f19603f3d011682016040523d82523d5f602084013e611913565b606091505b505f81510361195957836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016119509190612223565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146119ea57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016119e19190612223565b60405180910390fd5b505b50505050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8080611a6357505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b95575f611a7284611180565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611adc57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611aef5750611aed8184610f57565b155b15611b3157826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611b289190612223565b60405180910390fd5b8115611b9357838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611bf5838383611d77565b611ca8575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c6957806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611c609190612018565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611c9f929190612e69565b60405180910390fd5b505050565b60605f6001611cbb84611e37565b0190505f8167ffffffffffffffff811115611cd957611cd86122ac565b5b6040519080825280601f01601f191660200182016040528015611d0b5781602001600182028036833780820191505090505b5090505f82602001820190505b600115611d6c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611d6157611d60612e90565b5b0494505f8503611d18575b819350505050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e2e57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611def5750611dee8484610f57565b5b80611e2d57508273ffffffffffffffffffffffffffffffffffffffff16611e1583611206565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611e93577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611e8957611e88612e90565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611ed0576d04ee2d6d415b85acef81000000008381611ec657611ec5612e90565b5b0492506020810190505b662386f26fc100008310611eff57662386f26fc100008381611ef557611ef4612e90565b5b0492506010810190505b6305f5e1008310611f28576305f5e1008381611f1e57611f1d612e90565b5b0492506008810190505b6127108310611f4d576127108381611f4357611f42612e90565b5b0492506004810190505b60648310611f705760648381611f6657611f65612e90565b5b0492506002810190505b600a8310611f7f576001810190505b80915050919050565b5f82825260208201905092915050565b7f44696172793a20446f6573206e6f7420616363657074204554480000000000005f82015250565b5f611fcc601a83611f88565b9150611fd782611f98565b602082019050919050565b5f6020820190508181035f830152611ff981611fc0565b9050919050565b5f819050919050565b61201281612000565b82525050565b5f60208201905061202b5f830184612009565b92915050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61207681612042565b8114612080575f80fd5b50565b5f813590506120918161206d565b92915050565b5f602082840312156120ac576120ab61203a565b5b5f6120b984828501612083565b91505092915050565b5f8115159050919050565b6120d6816120c2565b82525050565b5f6020820190506120ef5f8301846120cd565b92915050565b5f81519050919050565b5f5b8381101561211c578082015181840152602081019050612101565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612141826120f5565b61214b8185611f88565b935061215b8185602086016120ff565b61216481612127565b840191505092915050565b5f6020820190508181035f8301526121878184612137565b905092915050565b61219881612000565b81146121a2575f80fd5b50565b5f813590506121b38161218f565b92915050565b5f602082840312156121ce576121cd61203a565b5b5f6121db848285016121a5565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61220d826121e4565b9050919050565b61221d81612203565b82525050565b5f6020820190506122365f830184612214565b92915050565b61224581612203565b811461224f575f80fd5b50565b5f813590506122608161223c565b92915050565b5f806040838503121561227c5761227b61203a565b5b5f61228985828601612252565b925050602061229a858286016121a5565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122e282612127565b810181811067ffffffffffffffff82111715612301576123006122ac565b5b80604052505050565b5f612313612031565b905061231f82826122d9565b919050565b5f67ffffffffffffffff82111561233e5761233d6122ac565b5b61234782612127565b9050602081019050919050565b828183375f83830152505050565b5f61237461236f84612324565b61230a565b9050828152602081018484840111156123905761238f6122a8565b5b61239b848285612354565b509392505050565b5f82601f8301126123b7576123b66122a4565b5b81356123c7848260208601612362565b91505092915050565b5f80604083850312156123e6576123e561203a565b5b5f6123f3858286016121a5565b925050602083013567ffffffffffffffff8111156124145761241361203e565b5b612420858286016123a3565b9150509250929050565b5f805f606084860312156124415761244061203a565b5b5f61244e86828701612252565b935050602061245f86828701612252565b9250506040612470868287016121a5565b9150509250925092565b5f6020828403121561248f5761248e61203a565b5b5f61249c84828501612252565b91505092915050565b5f805f606084860312156124bc576124bb61203a565b5b5f6124c986828701612252565b935050602084013567ffffffffffffffff8111156124ea576124e961203e565b5b6124f6868287016123a3565b925050604084013567ffffffffffffffff8111156125175761251661203e565b5b612523868287016123a3565b9150509250925092565b5f602082840312156125425761254161203a565b5b5f82013567ffffffffffffffff81111561255f5761255e61203e565b5b61256b848285016123a3565b91505092915050565b61257d816120c2565b8114612587575f80fd5b50565b5f8135905061259881612574565b92915050565b5f80604083850312156125b4576125b361203a565b5b5f6125c185828601612252565b92505060206125d28582860161258a565b9150509250929050565b5f67ffffffffffffffff8211156125f6576125f56122ac565b5b6125ff82612127565b9050602081019050919050565b5f61261e612619846125dc565b61230a565b90508281526020810184848401111561263a576126396122a8565b5b612645848285612354565b509392505050565b5f82601f830112612661576126606122a4565b5b813561267184826020860161260c565b91505092915050565b5f805f80608085870312156126925761269161203a565b5b5f61269f87828801612252565b94505060206126b087828801612252565b93505060406126c1878288016121a5565b925050606085013567ffffffffffffffff8111156126e2576126e161203e565b5b6126ee8782880161264d565b91505092959194509250565b5f80604083850312156127105761270f61203a565b5b5f61271d85828601612252565b925050602061272e85828601612252565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061277c57607f821691505b60208210810361278f5761278e612738565b5b50919050565b7f44696172793a204d696e74206d757374206265207472696767657265642062795f8201527f2041504900000000000000000000000000000000000000000000000000000000602082015250565b5f6127ef602483611f88565b91506127fa82612795565b604082019050919050565b5f6020820190508181035f83015261281c816127e3565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261287f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612844565b6128898683612844565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6128c46128bf6128ba84612000565b6128a1565b612000565b9050919050565b5f819050919050565b6128dd836128aa565b6128f16128e9826128cb565b848454612850565b825550505050565b5f90565b6129056128f9565b6129108184846128d4565b505050565b5b81811015612933576129285f826128fd565b600181019050612916565b5050565b601f8211156129785761294981612823565b61295284612835565b81016020851015612961578190505b61297561296d85612835565b830182612915565b50505b505050565b5f82821c905092915050565b5f6129985f198460080261297d565b1980831691505092915050565b5f6129b08383612989565b9150826002028217905092915050565b6129c9826120f5565b67ffffffffffffffff8111156129e2576129e16122ac565b5b6129ec8254612765565b6129f7828285612937565b5f60209050601f831160018114612a28575f8415612a16578287015190505b612a2085826129a5565b865550612a87565b601f198416612a3686612823565b5f5b82811015612a5d57848901518255600182019150602085019450602081019050612a38565b86831015612a7a5784890151612a76601f891682612989565b8355505b6001600288020188555050505b505050505050565b5f606082019050612aa25f830186612214565b612aaf6020830185612009565b612abc6040830184612214565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612afb82612000565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612b2d57612b2c612ac4565b5b600182019050919050565b5f81905092915050565b7f7b226e616d65223a2022656e74727920000000000000000000000000000000005f82015250565b5f612b76601083612b38565b9150612b8182612b42565b601082019050919050565b5f612b96826120f5565b612ba08185612b38565b9350612bb08185602086016120ff565b80840191505092915050565b7f222c20226465736372697074696f6e223a20227468697320697320616e20656e5f8201527f74727920696e20746865206c6f7374206469617279222c2022696d616765223a60208201527f2022000000000000000000000000000000000000000000000000000000000000604082015250565b5f612c3c604283612b38565b9150612c4782612bbc565b604282019050919050565b7f222c2022747261697473223a205b7b2274726169745f74797065223a202261725f8201527f74697374222c202276616c7565223a2022746a6f227d2c207b2274726169745f60208201527f74797065223a2022656e747279222c202276616c7565223a2022000000000000604082015250565b5f612cd2605a83612b38565b9150612cdd82612c52565b605a82019050919050565b7f227d5d7d000000000000000000000000000000000000000000000000000000005f82015250565b5f612d1c600483612b38565b9150612d2782612ce8565b600482019050919050565b5f612d3c82612b6a565b9150612d488286612b8c565b9150612d5382612c30565b9150612d5f8285612b8c565b9150612d6a82612cc6565b9150612d768284612b8c565b9150612d8182612d10565b9150819050949350505050565b5f81519050919050565b5f82825260208201905092915050565b5f612db282612d8e565b612dbc8185612d98565b9350612dcc8185602086016120ff565b612dd581612127565b840191505092915050565b5f608082019050612df35f830187612214565b612e006020830186612214565b612e0d6040830185612009565b8181036060830152612e1f8184612da8565b905095945050505050565b5f81519050612e388161206d565b92915050565b5f60208284031215612e5357612e5261203a565b5b5f612e6084828501612e2a565b91505092915050565b5f604082019050612e7c5f830185612214565b612e896020830184612009565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea264697066735822122069613b239dd1522b6e0445ad3ba4d8763f713944730c9de3dd7125782026b72f64736f6c6343000814003368747470733a2f2f617277656176652e6e65742f542d6e4d76647762303878396974324b32796c5939375862596558536e793649483044505a47333164694d