60a0604052738103b0a8a00be2ddc778e6e7eaa21791cd364625600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f474e34a077df58807dbe9c96d3c009b23b3c6d0cce433e59bbf5b34f823bc56c60001b600a55622625a0600b60006101000a81548163ffffffff021916908363ffffffff1602179055506003600b60046101000a81548161ffff021916908361ffff1602179055506001600b60066101000a81548163ffffffff021916908363ffffffff16021790555060405180608001604052806040518060800160405280605e8152602001620069c5605e913981526020016040518060a0016040528060618152602001620068c46061913981526020016040518060800160405280605e815260200162006866605e91398152602001604051806080016040528060608152602001620069656060913981525060119060046200017b92919062001076565b5060405180608001604052806040518060400160405280600381526020017f456c66000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600681526020017f4b6e69676874000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600381526020017f4f7263000000000000000000000000000000000000000000000000000000000081525081526020016040518060400160405280600581526020017f576974636800000000000000000000000000000000000000000000000000000081525081525060129060046200028392919062001076565b503480156200029157600080fd5b5060405162006a2338038062006a238339818101604052810190620002b79190620011ad565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518060400160405280600781526020017f52756e6e657273000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f52554e0000000000000000000000000000000000000000000000000000000000815250816000908162000357919062001459565b50806001908162000369919062001459565b5050508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550620004403360006200044760201b60201c565b50620020c7565b600081905060008160ff161015801562000465575060038160ff1611155b620004a7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200049e90620015a1565b60405180910390fd5b600060118381548110620004c057620004bf620015c3565b5b906000526020600020018054620004d79062001248565b80601f0160208091040260200160405190810160405280929190818152602001828054620005059062001248565b8015620005565780601f106200052a5761010080835404028352916020019162000556565b820191906000526020600020905b8154815290600101906020018083116200053857829003601f168201915b505050505090506013604051806080016040528060128681548110620005815762000580620015c3565b5b906000526020600020018054620005989062001248565b80601f0160208091040260200160405190810160405280929190818152602001828054620005c69062001248565b8015620006175780601f10620005eb5761010080835404028352916020019162000617565b820191906000526020600020905b815481529060010190602001808311620005f957829003601f168201915b505050505081526020018381526020016000815260200160008152509080600181540180825580915050600190039060005260206000209060040201600090919091909150600082015181600001908162000673919062001459565b5060208201518160010190816200068b919062001459565b50604082015181600201556060820151816003015550506000620006b660106200081760201b60201c565b90506000620007b060138381548110620006d557620006d4620015c3565b5b906000526020600020906004020160000160138481548110620006fd57620006fc620015c3565b5b90600052602060002090600402016001016200074760138681548110620007295762000728620015c3565b5b9060005260206000209060040201600201546200082560201b60201c565b6200078060138781548110620007625762000761620015c3565b5b9060005260206000209060040201600301546200082560201b60201c565b604051602001620007959493929190620019e5565b6040516020818303038152906040526200099e60201b60201c565b9050600081604051602001620007c7919062001b0a565b6040516020818303038152906040529050620007ea601062000b1460201b60201c565b620007fc878462000b2a60201b60201c565b6200080e838262000b5060201b60201c565b50505050505050565b600081600001549050919050565b6060600082036200086e576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905062000999565b600082905060005b60008214620008a65780806200088c9062001b5f565b915050600a826200089e919062001bdb565b915062000876565b60008167ffffffffffffffff811115620008c557620008c4620011ea565b5b6040519080825280601f01601f191660200182016040528015620008f85781602001600182028036833780820191505090505b5090505b60008514620009925760018262000914919062001c13565b9150600a8562000925919062001c4e565b603062000933919062001c86565b60f81b8183815181106200094c576200094b620015c3565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856200098a919062001bdb565b9450620008fc565b8093505050505b919050565b60606000825103620009c25760405180602001604052806000815250905062000b0f565b6000604051806060016040528060408152602001620069256040913990506000600360028551620009f4919062001c86565b62000a00919062001bdb565b600462000a0e919062001cc1565b67ffffffffffffffff81111562000a2a5762000a29620011ea565b5b6040519080825280601f01601f19166020018201604052801562000a5d5781602001600182028036833780820191505090505b509050600182016020820185865187015b8082101562000acb576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184536001840193505062000a6e565b505060038651066001811462000aea576002811462000afe5762000b06565b603d6001830353603d600283035362000b06565b603d60018303535b50505080925050505b919050565b6001816000016000828254019250508190555050565b62000b4c82826040518060200160405280600081525062000bca60201b60201c565b5050565b62000b618262000c3860201b60201c565b62000ba3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b9a9062001d82565b60405180910390fd5b8060066000848152602001908152602001600020908162000bc5919062001459565b505050565b62000bdc838362000ca460201b60201c565b62000bf1600084848462000e9d60201b60201c565b62000c33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c2a9062001e1a565b60405180910390fd5b505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000d16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d0d9062001e8c565b60405180910390fd5b62000d278162000c3860201b60201c565b1562000d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d619062001efe565b60405180910390fd5b62000d7e600083836200104160201b60201c565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000dd0919062001c86565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a462000e99600083836200104660201b60201c565b5050565b600062000ec68473ffffffffffffffffffffffffffffffffffffffff166200104b60201b60201c565b1562001034578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0262000ef86200106e60201b60201c565b8786866040518563ffffffff1660e01b815260040162000f1c949392919062001fe4565b6020604051808303816000875af192505050801562000f5b57506040513d601f19601f8201168201806040525081019062000f58919062002095565b60015b62000fe3573d806000811462000f8e576040519150601f19603f3d011682016040523d82523d6000602084013e62000f93565b606091505b50600081510362000fdb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000fd29062001e1a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505062001039565b600190505b949350505050565b505050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600033905090565b828054828255906000526020600020908101928215620010c3579160200282015b82811115620010c2578251829081620010b1919062001459565b509160200191906001019062001097565b5b509050620010d29190620010d6565b5090565b5b80821115620010fa5760008181620010f09190620010fe565b50600101620010d7565b5090565b5080546200110c9062001248565b6000825580601f1062001120575062001141565b601f01602090049060005260206000209081019062001140919062001144565b5b50565b5b808211156200115f57600081600090555060010162001145565b5090565b600080fd5b600067ffffffffffffffff82169050919050565b620011878162001168565b81146200119357600080fd5b50565b600081519050620011a7816200117c565b92915050565b600060208284031215620011c657620011c562001163565b5b6000620011d68482850162001196565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200126157607f821691505b60208210810362001277576200127662001219565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012e17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620012a2565b620012ed8683620012a2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200133a620013346200132e8462001305565b6200130f565b62001305565b9050919050565b6000819050919050565b620013568362001319565b6200136e620013658262001341565b848454620012af565b825550505050565b600090565b6200138562001376565b620013928184846200134b565b505050565b5b81811015620013ba57620013ae6000826200137b565b60018101905062001398565b5050565b601f8211156200140957620013d3816200127d565b620013de8462001292565b81016020851015620013ee578190505b62001406620013fd8562001292565b83018262001397565b50505b505050565b600082821c905092915050565b60006200142e600019846008026200140e565b1980831691505092915050565b60006200144983836200141b565b9150826002028217905092915050565b6200146482620011df565b67ffffffffffffffff81111562001480576200147f620011ea565b5b6200148c825462001248565b62001499828285620013be565b600060209050601f831160018114620014d15760008415620014bc578287015190505b620014c885826200143b565b86555062001538565b601f198416620014e1866200127d565b60005b828110156200150b57848901518255600182019150602085019450602081019050620014e4565b868310156200152b578489015162001527601f8916826200141b565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f696e76616c696420636861724964000000000000000000000000000000000000600082015250565b600062001589600e8362001540565b9150620015968262001551565b602082019050919050565b60006020820190508181036000830152620015bc816200157a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b7f7b226e616d65223a202200000000000000000000000000000000000000000000600082015250565b600062001635600a83620015f2565b91506200164282620015fd565b600a82019050919050565b600081546200165c8162001248565b620016688186620015f2565b945060018216600081146200168657600181146200169c57620016d3565b60ff1983168652811515820286019350620016d3565b620016a7856200127d565b60005b83811015620016cb57815481890152600182019150602081019050620016aa565b838801955050505b50505092915050565b7f222c226465736372697074696f6e223a2022436861696e6c696e6b2072756e6e60008201527f6572222c00000000000000000000000000000000000000000000000000000000602082015250565b60006200173a602483620015f2565b91506200174782620016dc565b602482019050919050565b7f22696d616765223a202200000000000000000000000000000000000000000000600082015250565b60006200178a600a83620015f2565b9150620017978262001752565b600a82019050919050565b7f222c2261747472696275746573223a205b000000000000000000000000000000600082015250565b6000620017da601183620015f2565b9150620017e782620017a2565b601182019050919050565b7f7b2274726169745f74797065223a202264697374616e6365222c000000000000600082015250565b60006200182a601a83620015f2565b91506200183782620017f2565b601a82019050919050565b7f2276616c7565223a200000000000000000000000000000000000000000000000600082015250565b60006200187a600983620015f2565b9150620018878262001842565b600982019050919050565b60005b83811015620018b257808201518184015260208101905062001895565b60008484015250505050565b6000620018cb82620011df565b620018d78185620015f2565b9350620018e981856020860162001892565b80840191505092915050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b60006200192d600183620015f2565b91506200193a82620018f5565b600182019050919050565b7f2c7b2274726169745f74797065223a2022726f756e64222c0000000000000000600082015250565b60006200197d601883620015f2565b91506200198a8262001945565b601882019050919050565b7f5d7d000000000000000000000000000000000000000000000000000000000000600082015250565b6000620019cd600283620015f2565b9150620019da8262001995565b600282019050919050565b6000620019f28262001626565b915062001a0082876200164d565b915062001a0d826200172b565b915062001a1a826200177b565b915062001a2882866200164d565b915062001a3582620017cb565b915062001a42826200181b565b915062001a4f826200186b565b915062001a5d8285620018be565b915062001a6a826200191e565b915062001a77826200196e565b915062001a84826200186b565b915062001a928284620018be565b915062001a9f826200191e565b915062001aac82620019be565b915081905095945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b600062001af2601d83620015f2565b915062001aff8262001aba565b601d82019050919050565b600062001b178262001ae3565b915062001b258284620018be565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062001b6c8262001305565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362001ba15762001ba062001b30565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062001be88262001305565b915062001bf58362001305565b92508262001c085762001c0762001bac565b5b828204905092915050565b600062001c208262001305565b915062001c2d8362001305565b925082820390508181111562001c485762001c4762001b30565b5b92915050565b600062001c5b8262001305565b915062001c688362001305565b92508262001c7b5762001c7a62001bac565b5b828206905092915050565b600062001c938262001305565b915062001ca08362001305565b925082820190508082111562001cbb5762001cba62001b30565b5b92915050565b600062001cce8262001305565b915062001cdb8362001305565b925082820262001ceb8162001305565b9150828204841483151762001d055762001d0462001b30565b5b5092915050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b600062001d6a602e8362001540565b915062001d778262001d0c565b604082019050919050565b6000602082019050818103600083015262001d9d8162001d5b565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600062001e0260328362001540565b915062001e0f8262001da4565b604082019050919050565b6000602082019050818103600083015262001e358162001df3565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600062001e7460208362001540565b915062001e818262001e3c565b602082019050919050565b6000602082019050818103600083015262001ea78162001e65565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600062001ee6601c8362001540565b915062001ef38262001eae565b602082019050919050565b6000602082019050818103600083015262001f198162001ed7565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062001f4d8262001f20565b9050919050565b62001f5f8162001f40565b82525050565b62001f708162001305565b82525050565b600081519050919050565b600082825260208201905092915050565b6000601f19601f8301169050919050565b600062001fb08262001f76565b62001fbc818562001f81565b935062001fce81856020860162001892565b62001fd98162001f92565b840191505092915050565b600060808201905062001ffb600083018762001f54565b6200200a602083018662001f54565b62002019604083018562001f65565b81810360608301526200202d818462001fa3565b905095945050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6200206f8162002038565b81146200207b57600080fd5b50565b6000815190506200208f8162002064565b92915050565b600060208284031215620020ae57620020ad62001163565b5b6000620020be848285016200207e565b91505092915050565b60805161477c620020ea6000396000818161085901526108ad015261477c6000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80638ac00021116100de578063a22cb46511610097578063c87b56dd11610071578063c87b56dd14610498578063d8a4676f146104c8578063e985e9c5146104f9578063fc2a88c31461052957610173565b8063a22cb46514610430578063a444f5e91461044c578063b88d4fde1461047c57610173565b80638ac0002114610359578063900fc8691461037757806395d89b41146103a757806398bdf6f5146103c5578063a1448194146103e3578063a168fa89146103ff57610173565b806342842e0e1161013057806342842e0e1461024a57806347e9907b146102665780636352211e1461029957806370a08231146102c9578063778c91ac146102f95780638796ba8c1461032957610173565b806301ffc9a71461017857806306fdde03146101a8578063081812fc146101c6578063095ea7b3146101f65780631fe543e31461021257806323b872dd1461022e575b600080fd5b610192600480360381019061018d91906128d6565b610547565b60405161019f919061291e565b60405180910390f35b6101b0610629565b6040516101bd91906129c9565b60405180910390f35b6101e060048036038101906101db9190612a21565b6106bb565b6040516101ed9190612a8f565b60405180910390f35b610210600480360381019061020b9190612ad6565b610740565b005b61022c60048036038101906102279190612c5e565b610857565b005b61024860048036038101906102439190612cba565b610917565b005b610264600480360381019061025f9190612cba565b610977565b005b610280600480360381019061027b9190612a21565b610997565b6040516102909493929190612d1c565b60405180910390f35b6102b360048036038101906102ae9190612a21565b610ae7565b6040516102c09190612a8f565b60405180910390f35b6102e360048036038101906102de9190612d6f565b610b98565b6040516102f09190612d9c565b60405180910390f35b610313600480360381019061030e9190612a21565b610c4f565b6040516103209190612d9c565b60405180910390f35b610343600480360381019061033e9190612a21565b610c67565b6040516103509190612d9c565b60405180910390f35b610361610c8b565b60405161036e9190612dda565b60405180910390f35b610391600480360381019061038c9190612a21565b610ca5565b60405161039e9190612d9c565b60405180910390f35b6103af610cc9565b6040516103bc91906129c9565b60405180910390f35b6103cd610d5b565b6040516103da9190612d9c565b60405180910390f35b6103fd60048036038101906103f89190612ad6565b610d67565b005b61041960048036038101906104149190612a21565b6110d1565b604051610427929190612df5565b60405180910390f35b61044a60048036038101906104459190612e4a565b61110f565b005b61046660048036038101906104619190612a21565b611125565b6040516104739190612d9c565b60405180910390f35b61049660048036038101906104919190612f3f565b6113db565b005b6104b260048036038101906104ad9190612a21565b61143d565b6040516104bf91906129c9565b60405180910390f35b6104e260048036038101906104dd9190612a21565b61144f565b6040516104f0929190613080565b60405180910390f35b610513600480360381019061050e91906130b0565b611458565b604051610520919061291e565b60405180910390f35b6105316114ec565b60405161053e9190612d9c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061061257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106225750610621826114f2565b5b9050919050565b6060600080546106389061311f565b80601f01602080910402602001604051908101604052809291908181526020018280546106649061311f565b80156106b15780601f10610686576101008083540402835291602001916106b1565b820191906000526020600020905b81548152906001019060200180831161069457829003601f168201915b5050505050905090565b60006106c68261155c565b610705576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fc906131c2565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061074b82610ae7565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b290613254565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107da6115c8565b73ffffffffffffffffffffffffffffffffffffffff1614806108095750610808816108036115c8565b611458565b5b610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f906132e6565b60405180910390fd5b61085283836115d0565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461090957337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f4000000000000000000000000000000000000000000000000000000008152600401610900929190613306565b60405180910390fd5b6109138282611689565b5050565b6109286109226115c8565b8261198b565b610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e906133a1565b60405180910390fd5b610972838383611a69565b505050565b610992838383604051806020016040528060008152506113db565b505050565b601381815481106109a757600080fd5b90600052602060002090600402016000915090508060000180546109ca9061311f565b80601f01602080910402602001604051908101604052809291908181526020018280546109f69061311f565b8015610a435780601f10610a1857610100808354040283529160200191610a43565b820191906000526020600020905b815481529060010190602001808311610a2657829003601f168201915b505050505090806001018054610a589061311f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a849061311f565b8015610ad15780601f10610aa657610100808354040283529160200191610ad1565b820191906000526020600020905b815481529060010190602001808311610ab457829003601f168201915b5050505050908060020154908060030154905084565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8690613433565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bff906134c5565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60146020528060005260406000206000915090505481565b600c8181548110610c7757600080fd5b906000526020600020016000915090505481565b600f60009054906101000a900467ffffffffffffffff1681565b600e8181548110610cb557600080fd5b906000526020600020016000915090505481565b606060018054610cd89061311f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d049061311f565b8015610d515780601f10610d2657610100808354040283529160200191610d51565b820191906000526020600020905b815481529060010190602001808311610d3457829003601f168201915b5050505050905090565b60108060000154905081565b600081905060008160ff1610158015610d84575060038160ff1611155b610dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dba90613531565b60405180910390fd5b600060118381548110610dd957610dd8613551565b5b906000526020600020018054610dee9061311f565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1a9061311f565b8015610e675780601f10610e3c57610100808354040283529160200191610e67565b820191906000526020600020905b815481529060010190602001808311610e4a57829003601f168201915b505050505090506013604051806080016040528060128681548110610e8f57610e8e613551565b5b906000526020600020018054610ea49061311f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ed09061311f565b8015610f1d5780601f10610ef257610100808354040283529160200191610f1d565b820191906000526020600020905b815481529060010190602001808311610f0057829003601f168201915b5050505050815260200183815260200160008152602001600081525090806001815401808255809150506001900390600052602060002090600402016000909190919091506000820151816000019081610f77919061372c565b506020820151816001019081610f8d919061372c565b50604082015181600201556060820151816003015550506000610fb06010611ccf565b9050600061108460138381548110610fcb57610fca613551565b5b906000526020600020906004020160000160138481548110610ff057610fef613551565b5b906000526020600020906004020160010161102f6013868154811061101857611017613551565b5b906000526020600020906004020160020154611cdd565b61105d6013878154811061104657611045613551565b5b906000526020600020906004020160030154611cdd565b6040516020016110709493929190613b8f565b604051602081830303815290604052611e3d565b90506000816040516020016110999190613c92565b60405160208183030381529060405290506110b46010611fa0565b6110be8784611fb6565b6110c88382611fd4565b50505050505050565b60076020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460ff16905082565b61112161111a6115c8565b8383612041565b5050565b60006111316010611ccf565b8210611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990613d00565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635d3b1d30600a54600f60009054906101000a900467ffffffffffffffff16600b60049054906101000a900461ffff16600b60009054906101000a900463ffffffff16600b60069054906101000a900463ffffffff166040518663ffffffff1660e01b8152600401611221959493929190613d75565b6020604051808303816000875af1158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112649190613ddd565b90506040518060600160405280600015158152602001600115158152602001600067ffffffffffffffff81111561129e5761129d612b1b565b5b6040519080825280602002602001820160405280156112cc5781602001602082028036833780820191505090505b508152506007600083815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff021916908315150217905550604082015181600101908051906020019061133f929190612800565b50905050600c81908060018154018082558091505060019003906000526020600020016000909190919091505580600d819055507fcc58b13ad3eab50626c6a6300b1d139cd6ebb1688a7cced9461c2f7e762665ee81600b60069054906101000a900463ffffffff166040516113b6929190613e0a565b60405180910390a1816014600083815260200190815260200160002081905550919050565b6113ec6113e66115c8565b8361198b565b61142b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611422906133a1565b60405180910390fd5b611437848484846121ad565b50505050565b606061144882612209565b9050919050565b60006060915091565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600d5481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661164383610ae7565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006116956010611ccf565b10156116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd90613e7f565b60405180910390fd5b6007600083815260200190815260200160002060000160019054906101000a900460ff16611739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173090613eeb565b60405180910390fd5b60016007600084815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600760008481526020019081526020016000206001019080519060200190611792929190612800565b5080600e90805190602001906117a9929190612800565b506000600a6001600a600e6000815481106117c7576117c6613551565b5b90600052602060002001546117dc9190613f3a565b6117e69190613f9a565b6117f09190613fce565b9050600060146000858152602001908152602001600020549050816013828154811061181f5761181e613551565b5b9060005260206000209060040201600201600082825461183f9190613f9a565b925050819055506013818154811061185a57611859613551565b5b9060005260206000209060040201600301600081548092919061187c90614010565b919050555060006119536013838154811061189a57611899613551565b5b9060005260206000209060040201600001601384815481106118bf576118be613551565b5b90600052602060002090600402016001016118fe601386815481106118e7576118e6613551565b5b906000526020600020906004020160020154611cdd565b61192c6013878154811061191557611914613551565b5b906000526020600020906004020160030154611cdd565b60405160200161193f9493929190613b8f565b604051602081830303815290604052611e3d565b90506000816040516020016119689190613c92565b60405160208183030381529060405290506119838382611fd4565b505050505050565b60006119968261155c565b6119d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cc906140ca565b60405180910390fd5b60006119e083610ae7565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a225750611a218185611458565b5b80611a6057508373ffffffffffffffffffffffffffffffffffffffff16611a48846106bb565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611a8982610ae7565b73ffffffffffffffffffffffffffffffffffffffff1614611adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad69061415c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b45906141ee565b60405180910390fd5b611b5983838361235a565b611b646000826115d0565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bb4919061420e565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c0b9190613f9a565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611cca83838361235f565b505050565b600081600001549050919050565b606060008203611d24576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611e38565b600082905060005b60008214611d56578080611d3f90614010565b915050600a82611d4f9190614242565b9150611d2c565b60008167ffffffffffffffff811115611d7257611d71612b1b565b5b6040519080825280601f01601f191660200182016040528015611da45781602001600182028036833780820191505090505b5090505b60008514611e3157600182611dbd919061420e565b9150600a85611dcc9190613f3a565b6030611dd89190613f9a565b60f81b818381518110611dee57611ded613551565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611e2a9190614242565b9450611da8565b8093505050505b919050565b60606000825103611e5f57604051806020016040528060008152509050611f9b565b60006040518060600160405280604081526020016147076040913990506000600360028551611e8e9190613f9a565b611e989190614242565b6004611ea49190613fce565b67ffffffffffffffff811115611ebd57611ebc612b1b565b5b6040519080825280601f01601f191660200182016040528015611eef5781602001600182028036833780820191505090505b509050600182016020820185865187015b80821015611f5b576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845360018401935050611f00565b5050600386510660018114611f775760028114611f8a57611f92565b603d6001830353603d6002830353611f92565b603d60018303535b50505080925050505b919050565b6001816000016000828254019250508190555050565b611fd0828260405180602001604052806000815250612364565b5050565b611fdd8261155c565b61201c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612013906142e5565b60405180910390fd5b8060066000848152602001908152602001600020908161203c919061372c565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a690614351565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516121a0919061291e565b60405180910390a3505050565b6121b8848484611a69565b6121c4848484846123bf565b612203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fa906143e3565b60405180910390fd5b50505050565b60606122148261155c565b612253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224a90614475565b60405180910390fd5b60006006600084815260200190815260200160002080546122739061311f565b80601f016020809104026020016040519081016040528092919081815260200182805461229f9061311f565b80156122ec5780601f106122c1576101008083540402835291602001916122ec565b820191906000526020600020905b8154815290600101906020018083116122cf57829003601f168201915b5050505050905060006122fd612546565b90506000815103612312578192505050612355565b60008251111561234757808260405160200161232f929190614495565b60405160208183030381529060405292505050612355565b6123508461255d565b925050505b919050565b505050565b505050565b61236e8383612604565b61237b60008484846123bf565b6123ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b1906143e3565b60405180910390fd5b505050565b60006123e08473ffffffffffffffffffffffffffffffffffffffff166127dd565b15612539578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124096115c8565b8786866040518563ffffffff1660e01b815260040161242b949392919061450e565b6020604051808303816000875af192505050801561246757506040513d601f19601f82011682018060405250810190612464919061456f565b60015b6124e9573d8060008114612497576040519150601f19603f3d011682016040523d82523d6000602084013e61249c565b606091505b5060008151036124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d8906143e3565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061253e565b600190505b949350505050565b606060405180602001604052806000815250905090565b60606125688261155c565b6125a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259e9061460e565b60405180910390fd5b60006125b1612546565b905060008151116125d157604051806020016040528060008152506125fc565b806125db84611cdd565b6040516020016125ec929190614495565b6040516020818303038152906040525b915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266a9061467a565b60405180910390fd5b61267c8161155c565b156126bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b3906146e6565b60405180910390fd5b6126c86000838361235a565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127189190613f9a565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46127d96000838361235f565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805482825590600052602060002090810192821561283c579160200282015b8281111561283b578251825591602001919060010190612820565b5b509050612849919061284d565b5090565b5b8082111561286657600081600090555060010161284e565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6128b38161287e565b81146128be57600080fd5b50565b6000813590506128d0816128aa565b92915050565b6000602082840312156128ec576128eb612874565b5b60006128fa848285016128c1565b91505092915050565b60008115159050919050565b61291881612903565b82525050565b6000602082019050612933600083018461290f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612973578082015181840152602081019050612958565b60008484015250505050565b6000601f19601f8301169050919050565b600061299b82612939565b6129a58185612944565b93506129b5818560208601612955565b6129be8161297f565b840191505092915050565b600060208201905081810360008301526129e38184612990565b905092915050565b6000819050919050565b6129fe816129eb565b8114612a0957600080fd5b50565b600081359050612a1b816129f5565b92915050565b600060208284031215612a3757612a36612874565b5b6000612a4584828501612a0c565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a7982612a4e565b9050919050565b612a8981612a6e565b82525050565b6000602082019050612aa46000830184612a80565b92915050565b612ab381612a6e565b8114612abe57600080fd5b50565b600081359050612ad081612aaa565b92915050565b60008060408385031215612aed57612aec612874565b5b6000612afb85828601612ac1565b9250506020612b0c85828601612a0c565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612b538261297f565b810181811067ffffffffffffffff82111715612b7257612b71612b1b565b5b80604052505050565b6000612b8561286a565b9050612b918282612b4a565b919050565b600067ffffffffffffffff821115612bb157612bb0612b1b565b5b602082029050602081019050919050565b600080fd5b6000612bda612bd584612b96565b612b7b565b90508083825260208201905060208402830185811115612bfd57612bfc612bc2565b5b835b81811015612c265780612c128882612a0c565b845260208401935050602081019050612bff565b5050509392505050565b600082601f830112612c4557612c44612b16565b5b8135612c55848260208601612bc7565b91505092915050565b60008060408385031215612c7557612c74612874565b5b6000612c8385828601612a0c565b925050602083013567ffffffffffffffff811115612ca457612ca3612879565b5b612cb085828601612c30565b9150509250929050565b600080600060608486031215612cd357612cd2612874565b5b6000612ce186828701612ac1565b9350506020612cf286828701612ac1565b9250506040612d0386828701612a0c565b9150509250925092565b612d16816129eb565b82525050565b60006080820190508181036000830152612d368187612990565b90508181036020830152612d4a8186612990565b9050612d596040830185612d0d565b612d666060830184612d0d565b95945050505050565b600060208284031215612d8557612d84612874565b5b6000612d9384828501612ac1565b91505092915050565b6000602082019050612db16000830184612d0d565b92915050565b600067ffffffffffffffff82169050919050565b612dd481612db7565b82525050565b6000602082019050612def6000830184612dcb565b92915050565b6000604082019050612e0a600083018561290f565b612e17602083018461290f565b9392505050565b612e2781612903565b8114612e3257600080fd5b50565b600081359050612e4481612e1e565b92915050565b60008060408385031215612e6157612e60612874565b5b6000612e6f85828601612ac1565b9250506020612e8085828601612e35565b9150509250929050565b600080fd5b600067ffffffffffffffff821115612eaa57612ea9612b1b565b5b612eb38261297f565b9050602081019050919050565b82818337600083830152505050565b6000612ee2612edd84612e8f565b612b7b565b905082815260208101848484011115612efe57612efd612e8a565b5b612f09848285612ec0565b509392505050565b600082601f830112612f2657612f25612b16565b5b8135612f36848260208601612ecf565b91505092915050565b60008060008060808587031215612f5957612f58612874565b5b6000612f6787828801612ac1565b9450506020612f7887828801612ac1565b9350506040612f8987828801612a0c565b925050606085013567ffffffffffffffff811115612faa57612fa9612879565b5b612fb687828801612f11565b91505092959194509250565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612ff7816129eb565b82525050565b60006130098383612fee565b60208301905092915050565b6000602082019050919050565b600061302d82612fc2565b6130378185612fcd565b935061304283612fde565b8060005b8381101561307357815161305a8882612ffd565b975061306583613015565b925050600181019050613046565b5085935050505092915050565b6000604082019050613095600083018561290f565b81810360208301526130a78184613022565b90509392505050565b600080604083850312156130c7576130c6612874565b5b60006130d585828601612ac1565b92505060206130e685828601612ac1565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061313757607f821691505b60208210810361314a576131496130f0565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006131ac602c83612944565b91506131b782613150565b604082019050919050565b600060208201905081810360008301526131db8161319f565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061323e602183612944565b9150613249826131e2565b604082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b60006132d0603883612944565b91506132db82613274565b604082019050919050565b600060208201905081810360008301526132ff816132c3565b9050919050565b600060408201905061331b6000830185612a80565b6133286020830184612a80565b9392505050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b600061338b603183612944565b91506133968261332f565b604082019050919050565b600060208201905081810360008301526133ba8161337e565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b600061341d602983612944565b9150613428826133c1565b604082019050919050565b6000602082019050818103600083015261344c81613410565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006134af602a83612944565b91506134ba82613453565b604082019050919050565b600060208201905081810360008301526134de816134a2565b9050919050565b7f696e76616c696420636861724964000000000000000000000000000000000000600082015250565b600061351b600e83612944565b9150613526826134e5565b602082019050919050565b6000602082019050818103600083015261354a8161350e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026135e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826135a5565b6135ec86836135a5565b95508019841693508086168417925050509392505050565b6000819050919050565b600061362961362461361f846129eb565b613604565b6129eb565b9050919050565b6000819050919050565b6136438361360e565b61365761364f82613630565b8484546135b2565b825550505050565b600090565b61366c61365f565b61367781848461363a565b505050565b5b8181101561369b57613690600082613664565b60018101905061367d565b5050565b601f8211156136e0576136b181613580565b6136ba84613595565b810160208510156136c9578190505b6136dd6136d585613595565b83018261367c565b50505b505050565b600082821c905092915050565b6000613703600019846008026136e5565b1980831691505092915050565b600061371c83836136f2565b9150826002028217905092915050565b61373582612939565b67ffffffffffffffff81111561374e5761374d612b1b565b5b613758825461311f565b61376382828561369f565b600060209050601f8311600181146137965760008415613784578287015190505b61378e8582613710565b8655506137f6565b601f1984166137a486613580565b60005b828110156137cc578489015182556001820191506020850194506020810190506137a7565b868310156137e957848901516137e5601f8916826136f2565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b7f7b226e616d65223a202200000000000000000000000000000000000000000000600082015250565b600061383f600a836137fe565b915061384a82613809565b600a82019050919050565b600081546138628161311f565b61386c81866137fe565b94506001821660008114613887576001811461389c576138cf565b60ff19831686528115158202860193506138cf565b6138a585613580565b60005b838110156138c7578154818901526001820191506020810190506138a8565b838801955050505b50505092915050565b7f222c226465736372697074696f6e223a2022436861696e6c696e6b2072756e6e60008201527f6572222c00000000000000000000000000000000000000000000000000000000602082015250565b60006139346024836137fe565b915061393f826138d8565b602482019050919050565b7f22696d616765223a202200000000000000000000000000000000000000000000600082015250565b6000613980600a836137fe565b915061398b8261394a565b600a82019050919050565b7f222c2261747472696275746573223a205b000000000000000000000000000000600082015250565b60006139cc6011836137fe565b91506139d782613996565b601182019050919050565b7f7b2274726169745f74797065223a202264697374616e6365222c000000000000600082015250565b6000613a18601a836137fe565b9150613a23826139e2565b601a82019050919050565b7f2276616c7565223a200000000000000000000000000000000000000000000000600082015250565b6000613a646009836137fe565b9150613a6f82613a2e565b600982019050919050565b6000613a8582612939565b613a8f81856137fe565b9350613a9f818560208601612955565b80840191505092915050565b7f7d00000000000000000000000000000000000000000000000000000000000000600082015250565b6000613ae16001836137fe565b9150613aec82613aab565b600182019050919050565b7f2c7b2274726169745f74797065223a2022726f756e64222c0000000000000000600082015250565b6000613b2d6018836137fe565b9150613b3882613af7565b601882019050919050565b7f5d7d000000000000000000000000000000000000000000000000000000000000600082015250565b6000613b796002836137fe565b9150613b8482613b43565b600282019050919050565b6000613b9a82613832565b9150613ba68287613855565b9150613bb182613927565b9150613bbc82613973565b9150613bc88286613855565b9150613bd3826139bf565b9150613bde82613a0b565b9150613be982613a57565b9150613bf58285613a7a565b9150613c0082613ad4565b9150613c0b82613b20565b9150613c1682613a57565b9150613c228284613a7a565b9150613c2d82613ad4565b9150613c3882613b6c565b915081905095945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000613c7c601d836137fe565b9150613c8782613c46565b601d82019050919050565b6000613c9d82613c6f565b9150613ca98284613a7a565b915081905092915050565b7f746f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b6000613cea601283612944565b9150613cf582613cb4565b602082019050919050565b60006020820190508181036000830152613d1981613cdd565b9050919050565b6000819050919050565b613d3381613d20565b82525050565b600061ffff82169050919050565b613d5081613d39565b82525050565b600063ffffffff82169050919050565b613d6f81613d56565b82525050565b600060a082019050613d8a6000830188613d2a565b613d976020830187612dcb565b613da46040830186613d47565b613db16060830185613d66565b613dbe6080830184613d66565b9695505050505050565b600081519050613dd7816129f5565b92915050565b600060208284031215613df357613df2612874565b5b6000613e0184828501613dc8565b91505092915050565b6000604082019050613e1f6000830185612d0d565b613e2c6020830184613d66565b9392505050565b7f596f75206d757374206d696e742061204e465400000000000000000000000000600082015250565b6000613e69601383612944565b9150613e7482613e33565b602082019050919050565b60006020820190508181036000830152613e9881613e5c565b9050919050565b7f72657175657374206e6f7420666f756e64000000000000000000000000000000600082015250565b6000613ed5601183612944565b9150613ee082613e9f565b602082019050919050565b60006020820190508181036000830152613f0481613ec8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f45826129eb565b9150613f50836129eb565b925082613f6057613f5f613f0b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613fa5826129eb565b9150613fb0836129eb565b9250828201905080821115613fc857613fc7613f6b565b5b92915050565b6000613fd9826129eb565b9150613fe4836129eb565b9250828202613ff2816129eb565b9150828204841483151761400957614008613f6b565b5b5092915050565b600061401b826129eb565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361404d5761404c613f6b565b5b600182019050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006140b4602c83612944565b91506140bf82614058565b604082019050919050565b600060208201905081810360008301526140e3816140a7565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614146602583612944565b9150614151826140ea565b604082019050919050565b6000602082019050818103600083015261417581614139565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006141d8602483612944565b91506141e38261417c565b604082019050919050565b60006020820190508181036000830152614207816141cb565b9050919050565b6000614219826129eb565b9150614224836129eb565b925082820390508181111561423c5761423b613f6b565b5b92915050565b600061424d826129eb565b9150614258836129eb565b92508261426857614267613f0b565b5b828204905092915050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b60006142cf602e83612944565b91506142da82614273565b604082019050919050565b600060208201905081810360008301526142fe816142c2565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061433b601983612944565b915061434682614305565b602082019050919050565b6000602082019050818103600083015261436a8161432e565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006143cd603283612944565b91506143d882614371565b604082019050919050565b600060208201905081810360008301526143fc816143c0565b9050919050565b7f45524337323155524953746f726167653a2055524920717565727920666f722060008201527f6e6f6e6578697374656e7420746f6b656e000000000000000000000000000000602082015250565b600061445f603183612944565b915061446a82614403565b604082019050919050565b6000602082019050818103600083015261448e81614452565b9050919050565b60006144a18285613a7a565b91506144ad8284613a7a565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b60006144e0826144b9565b6144ea81856144c4565b93506144fa818560208601612955565b6145038161297f565b840191505092915050565b60006080820190506145236000830187612a80565b6145306020830186612a80565b61453d6040830185612d0d565b818103606083015261454f81846144d5565b905095945050505050565b600081519050614569816128aa565b92915050565b60006020828403121561458557614584612874565b5b60006145938482850161455a565b91505092915050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006145f8602f83612944565b91506146038261459c565b604082019050919050565b60006020820190508181036000830152614627816145eb565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614664602083612944565b915061466f8261462e565b602082019050919050565b6000602082019050818103600083015261469381614657565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006146d0601c83612944565b91506146db8261469a565b602082019050919050565b600060208201905081810360008301526146ff816146c3565b905091905056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122003868a62eee65ac8dc68ba4e054e6539635aa5363952bef5b66df383ebd2722b64736f6c6343000813003368747470733a2f2f697066732e696f2f697066732f516d5731746f61705973374d3239727a4c5854454e6e33706276776538696f696b583150777a41437a6a666448503f66696c656e616d653d436861696e6c696e6b5f4f72632e706e6768747470733a2f2f697066732e696f2f697066732f516d5a47514139327269316a667a537536314a52614e5158596731624c754d37703859543833447a4641324b4c483f66696c656e616d653d436861696e6c696e6b5f4b6e696768742e706e674142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f68747470733a2f2f697066732e696f2f697066732f516d504d775174467045644b72556a70514a666f54655a533161565365754a54364d6f66377556323941635570463f66696c656e616d653d436861696e6c696e6b5f57697463682e706e6768747470733a2f2f697066732e696f2f697066732f516d5467716e6846424d6b665439733850484b636458426e3166356247335135686d426152345536686f547662313f66696c656e616d653d436861696e6c696e6b5f456c662e706e6700000000000000000000000000000000000000000000000000000000000016b0