0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f74756c6573000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f74756c65730000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f54545400000000000000000000000000000000000000000000000000000000008152508160039081620000fd9190620013bc565b5080600490816200010f9190620013bc565b50505062000132620001266200023060201b60201c565b6200023860201b60201c565b6200014d600a83620002fe60201b620014151790919060201c565b610120818152505062000170600b82620002fe60201b620014151790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001af6200035b60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200022a3362000202620003b860201b60201c565b600a62000210919062001633565b60126200021e919062001684565b620003c160201b60201c565b62001cb3565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000324576200031c83620003dc60201b60201c565b905062000355565b826200033b836200044960201b620014591760201c565b60000190816200034c9190620013bc565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200039d95949392919062001740565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003d882826200045360201b620014631760201c565b5050565b600080829050601f815111156200042c57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200042391906200182c565b60405180910390fd5b8051816200043a9062001882565b60001c1760001b915050919050565b6000819050919050565b6200046a82826200051160201b620014f01760201c565b6200047a6200067e60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004a8620006a260201b60201c565b1115620004ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e39062001968565b60405180910390fd5b6200050b6010620006ac60201b620016461783620006c460201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000583576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057a90620019da565b60405180910390fd5b6200059760008383620009e960201b60201c565b8060026000828254620005ab9190620019fc565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200065e919062001a37565b60405180910390a36200067a6000838362000a0660201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006bc9190620019fc565b905092915050565b60008060008580549050905060008082146200079457620006ef876001840362000a2360201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007d0565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200080384868860201c565b92506000821180156200083657506200082162000a3860201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008be57620008528362000a5560201b6200165c1760201c565b62000867886001850362000a2360201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009df565b866040518060400160405280620008f7620008de62000a3860201b60201c565b65ffffffffffff1662000ac360201b620016c71760201c565b63ffffffff168152602001620009188662000a5560201b6200165c1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a0183838362000b1960201b6200171a1760201c565b505050565b62000a1e83838362000c1260201b620017d21760201c565b505050565b60008260005281602060002001905092915050565b600062000a504362000c6260201b620017fd1760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000abb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab29062001aca565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b089062001b62565b60405180910390fd5b819050919050565b62000b3183838362000cba60201b620018521760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b8d5762000b778262000cbf60201b60201c565b62000b8762000d2260201b60201c565b62000c0d565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000be95762000bd38362000cbf60201b60201c565b62000be362000d2260201b60201c565b62000c0c565b62000bfa8362000cbf60201b60201c565b62000c0b8262000cbf60201b60201c565b5b5b505050565b62000c2a83838362000d4660201b620018571760201c565b62000c5d62000c3f8462000d4b60201b60201c565b62000c508462000d4b60201b60201c565b8362000db460201b60201c565b505050565b600065ffffffffffff801682111562000cb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ca99062001bfa565b60405180910390fd5b819050919050565b505050565b62000d1f600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d138362000fd760201b60201c565b6200101f60201b60201c565b50565b62000d44600662000d38620006a260201b60201c565b6200101f60201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000df15750600081115b1562000fd257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000ee45760008062000e8b600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620010ab60201b6200185c1785620006c460201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000ed992919062001c1c565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000fd15760008062000f78600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006ac60201b620016461785620006c460201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000fc692919062001c1c565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600062001031620010c360201b60201c565b9050806200104884600001620010e160201b60201c565b1015620010a65782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60008183620010bb919062001c49565b905092915050565b6000620010dc60086200113460201b620018721760201c565b905090565b600080828054905003620010f957600090506200112f565b81600183805490506200110d919062001c49565b8154811062001121576200112062001c84565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620011c457607f821691505b602082108103620011da57620011d96200117c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012447fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001205565b62001250868362001205565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200129d62001297620012918462001268565b62001272565b62001268565b9050919050565b6000819050919050565b620012b9836200127c565b620012d1620012c882620012a4565b84845462001212565b825550505050565b600090565b620012e8620012d9565b620012f5818484620012ae565b505050565b5b818110156200131d5762001311600082620012de565b600181019050620012fb565b5050565b601f8211156200136c576200133681620011e0565b6200134184620011f5565b8101602085101562001351578190505b620013696200136085620011f5565b830182620012fa565b50505b505050565b600082821c905092915050565b6000620013916000198460080262001371565b1980831691505092915050565b6000620013ac83836200137e565b9150826002028217905092915050565b620013c78262001142565b67ffffffffffffffff811115620013e357620013e26200114d565b5b620013ef8254620011ab565b620013fc82828562001321565b600060209050601f8311600181146200143457600084156200141f578287015190505b6200142b85826200139e565b8655506200149b565b601f1984166200144486620011e0565b60005b828110156200146e5784890151825560018201915060208501945060208101905062001447565b868310156200148e57848901516200148a601f8916826200137e565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200153157808604811115620015095762001508620014a3565b5b6001851615620015195780820291505b80810290506200152985620014d2565b9450620014e9565b94509492505050565b6000826200154c57600190506200161f565b816200155c57600090506200161f565b81600181146200157557600281146200158057620015b6565b60019150506200161f565b60ff841115620015955762001594620014a3565b5b8360020a915084821115620015af57620015ae620014a3565b5b506200161f565b5060208310610133831016604e8410600b8410161715620015f05782820a905083811115620015ea57620015e9620014a3565b5b6200161f565b620015ff8484846001620014df565b92509050818404811115620016195762001618620014a3565b5b81810290505b9392505050565b600060ff82169050919050565b6000620016408262001268565b91506200164d8362001626565b92506200167c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200153a565b905092915050565b6000620016918262001268565b91506200169e8362001268565b9250828202620016ae8162001268565b91508282048414831517620016c857620016c7620014a3565b5b5092915050565b6000819050919050565b620016e481620016cf565b82525050565b620016f58162001268565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200172882620016fb565b9050919050565b6200173a816200171b565b82525050565b600060a082019050620017576000830188620016d9565b620017666020830187620016d9565b620017756040830186620016d9565b620017846060830185620016ea565b6200179360808301846200172f565b9695505050505050565b600082825260208201905092915050565b60005b83811015620017ce578082015181840152602081019050620017b1565b60008484015250505050565b6000601f19601f8301169050919050565b6000620017f88262001142565b6200180481856200179d565b935062001816818560208601620017ae565b6200182181620017da565b840191505092915050565b60006020820190508181036000830152620018488184620017eb565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620018798251620016cf565b80915050919050565b60006200188f8262001850565b826200189b846200185b565b9050620018a8816200186b565b92506020821015620018eb57620018e67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262001205565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620019506030836200179d565b91506200195d82620018f2565b604082019050919050565b60006020820190508181036000830152620019838162001941565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620019c2601f836200179d565b9150620019cf826200198a565b602082019050919050565b60006020820190508181036000830152620019f581620019b3565b9050919050565b600062001a098262001268565b915062001a168362001268565b925082820190508082111562001a315762001a30620014a3565b5b92915050565b600060208201905062001a4e6000830184620016ea565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600062001ab26027836200179d565b915062001abf8262001a54565b604082019050919050565b6000602082019050818103600083015262001ae58162001aa3565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600062001b4a6026836200179d565b915062001b578262001aec565b604082019050919050565b6000602082019050818103600083015262001b7d8162001b3b565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001be26026836200179d565b915062001bef8262001b84565b604082019050919050565b6000602082019050818103600083015262001c158162001bd3565b9050919050565b600060408201905062001c336000830185620016ea565b62001c426020830184620016ea565b9392505050565b600062001c568262001268565b915062001c638362001268565b925082820390508181111562001c7e5762001c7d620014a3565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161504f62001d0e6000396000610be301526000610baf01526000612a9701526000612a7601526000611d5701526000611dad01526000611dd6015261504f6000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806379cc67901161011a578063981b24d0116100ad578063c3cda5201161007c578063c3cda52014610643578063d505accf1461065f578063dd62ed3e1461067b578063f1127ed8146106ab578063f2fde38b146106db57610206565b8063981b24d0146105835780639ab24eb0146105b3578063a457c2d7146105e3578063a9059cbb1461061357610206565b80638e539e8c116100e95780638e539e8c1461050d57806391ddadf41461053d57806395d89b411461055b5780639711715a1461057957610206565b806379cc67901461047f5780637ecebe001461049b57806384b0196e146104cb5780638da5cb5b146104ef57610206565b806340c10f191161019d578063587cde1e1161016c578063587cde1e146103c95780635c19a95c146103f95780636fcfff451461041557806370a0823114610445578063715018a61461047557610206565b806340c10f191461034357806342966c681461035f5780634bf5d7e91461037b5780634ee2cd7e1461039957610206565b8063313ce567116101d9578063313ce567146102a75780633644e515146102c557806339509351146102e35780633a46b1a81461031357610206565b806306fdde031461020b578063095ea7b31461022957806318160ddd1461025957806323b872dd14610277575b600080fd5b6102136106f7565b60405161022091906134ee565b60405180910390f35b610243600480360381019061023e91906135a9565b610789565b6040516102509190613604565b60405180910390f35b6102616107ac565b60405161026e919061362e565b60405180910390f35b610291600480360381019061028c9190613649565b6107b6565b60405161029e9190613604565b60405180910390f35b6102af6107e5565b6040516102bc91906136b8565b60405180910390f35b6102cd6107ee565b6040516102da91906136ec565b60405180910390f35b6102fd60048036038101906102f891906135a9565b6107fd565b60405161030a9190613604565b60405180910390f35b61032d600480360381019061032891906135a9565b610834565b60405161033a919061362e565b60405180910390f35b61035d600480360381019061035891906135a9565b6108d7565b005b61037960048036038101906103749190613707565b6108ed565b005b610383610901565b60405161039091906134ee565b60405180910390f35b6103b360048036038101906103ae91906135a9565b61098f565b6040516103c0919061362e565b60405180910390f35b6103e360048036038101906103de9190613734565b6109ff565b6040516103f09190613770565b60405180910390f35b610413600480360381019061040e9190613734565b610a68565b005b61042f600480360381019061042a9190613734565b610a7c565b60405161043c91906137aa565b60405180910390f35b61045f600480360381019061045a9190613734565b610ad0565b60405161046c919061362e565b60405180910390f35b61047d610b18565b005b610499600480360381019061049491906135a9565b610b2c565b005b6104b560048036038101906104b09190613734565b610b4c565b6040516104c2919061362e565b60405180910390f35b6104d3610b9c565b6040516104e697969594939291906138be565b60405180910390f35b6104f7610c9e565b6040516105049190613770565b60405180910390f35b61052760048036038101906105229190613707565b610cc8565b604051610534919061362e565b60405180910390f35b610545610d2d565b6040516105529190613963565b60405180910390f35b610563610d3d565b60405161057091906134ee565b60405180910390f35b610581610dcf565b005b61059d60048036038101906105989190613707565b610de2565b6040516105aa919061362e565b60405180910390f35b6105cd60048036038101906105c89190613734565b610e13565b6040516105da919061362e565b60405180910390f35b6105fd60048036038101906105f891906135a9565b610f1b565b60405161060a9190613604565b60405180910390f35b61062d600480360381019061062891906135a9565b610f92565b60405161063a9190613604565b60405180910390f35b61065d600480360381019061065891906139d6565b610fb5565b005b61067960048036038101906106749190613a63565b6110b9565b005b61069560048036038101906106909190613b05565b6111fb565b6040516106a2919061362e565b60405180910390f35b6106c560048036038101906106c09190613b71565b611282565b6040516106d29190613c26565b60405180910390f35b6106f560048036038101906106f09190613734565b611392565b005b60606003805461070690613c70565b80601f016020809104026020016040519081016040528092919081815260200182805461073290613c70565b801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b5050505050905090565b600080610794611880565b90506107a1818585611888565b600191505092915050565b6000600254905090565b6000806107c1611880565b90506107ce858285611a51565b6107d9858585611add565b60019150509392505050565b60006012905090565b60006107f8611d53565b905090565b600080610808611880565b905061082981858561081a85896111fb565b6108249190613cd0565b611888565b600191505092915050565b600061083e610d2d565b65ffffffffffff168210610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087e90613d50565b60405180910390fd5b6108cf600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611e0a565b905092915050565b6108df611f52565b6108e98282611fd0565b5050565b6108fe6108f8611880565b82611fde565b50565b60604361090c610d2d565b65ffffffffffff1614610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b90613dbc565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b60008060006109dc84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611fec565b91509150816109f3576109ee85610ad0565b6109f5565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610a79610a73611880565b826120e1565b50565b6000610ac9600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506116c7565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b20611f52565b610b2a60006121fb565b565b610b3e82610b38611880565b83611a51565b610b488282611fde565b5050565b6000610b95600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611872565b9050919050565b600060608060008060006060610bdc600a7f00000000000000000000000000000000000000000000000000000000000000006122c190919063ffffffff16565b610c10600b7f00000000000000000000000000000000000000000000000000000000000000006122c190919063ffffffff16565b46306000801b600067ffffffffffffffff811115610c3157610c30613ddc565b5b604051908082528060200260200182016040528015610c5f5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610cd2610d2d565b65ffffffffffff168210610d1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1290613d50565b60405180910390fd5b610d26601083611e0a565b9050919050565b6000610d38436117fd565b905090565b606060048054610d4c90613c70565b80601f0160208091040260200160405190810160405280929190818152602001828054610d7890613c70565b8015610dc55780601f10610d9a57610100808354040283529160200191610dc5565b820191906000526020600020905b815481529060010190602001808311610da857829003601f168201915b5050505050905090565b610dd7611f52565b610ddf612371565b50565b6000806000610df2846006611fec565b9150915081610e0857610e036107ac565b610e0a565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610ef257600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610eb757610eb6613e0b565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610ef5565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610f26611880565b90506000610f3482866111fb565b905083811015610f79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7090613eac565b60405180910390fd5b610f868286868403611888565b60019250505092915050565b600080610f9d611880565b9050610faa818585611add565b600191505092915050565b83421115610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef90613f18565b60405180910390fd5b600061105a6110527fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016110379493929190613f38565b604051602081830303815290604052805190602001206123c7565b8585856123e1565b90506110658161240c565b86146110a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109d90613fc9565b60405180910390fd5b6110b081886120e1565b50505050505050565b834211156110fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f390614035565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861112b8c61240c565b8960405160200161114196959493929190614055565b6040516020818303038152906040528051906020012090506000611164826123c7565b90506000611174828787876123e1565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111db90614102565b60405180910390fd5b6111ef8a8a8a611888565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61128a613420565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106112e1576112e0613e0b565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61139a611f52565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611409576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140090614194565b60405180910390fd5b611412816121fb565b50565b60006020835110156114315761142a8361246a565b9050611453565b8261143b83611459565b600001908161144a9190614360565b5060ff60001b90505b92915050565b6000819050919050565b61146d82826114f0565b6114756124d2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661149b6107ac565b11156114dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d3906144a4565b60405180910390fd5b6114ea6010611646836124f6565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361155f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155690614510565b60405180910390fd5b61156b600083836127d1565b806002600082825461157d9190613cd0565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161162e919061362e565b60405180910390a3611642600083836127e1565b5050565b600081836116549190613cd0565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b6906145a2565b60405180910390fd5b819050919050565b600063ffffffff8016821115611712576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170990614634565b60405180910390fd5b819050919050565b611725838383611852565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361176f57611762826127f1565b61176a612844565b6117cd565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b9576117ac836127f1565b6117b4612844565b6117cc565b6117c2836127f1565b6117cb826127f1565b5b5b505050565b6117dd838383611857565b6117f86117e9846109ff565b6117f2846109ff565b83612858565b505050565b600065ffffffffffff801682111561184a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611841906146c6565b60405180910390fd5b819050919050565b505050565b505050565b6000818361186a91906146e6565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ee9061478c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195d9061481e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a44919061362e565b60405180910390a3505050565b6000611a5d84846111fb565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ad75781811015611ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac09061488a565b60405180910390fd5b611ad68484848403611888565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b439061491c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb2906149ae565b60405180910390fd5b611bc68383836127d1565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4390614a40565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d3a919061362e565b60405180910390a3611d4d8484846127e1565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611dcf57507f000000000000000000000000000000000000000000000000000000000000000046145b15611dfc577f00000000000000000000000000000000000000000000000000000000000000009050611e07565b611e04612a51565b90505b90565b600080838054905090506000808290506005831115611e80576000611e2e84612ae7565b84611e3991906146e6565b905085611e468883612be0565b60000160009054906101000a900463ffffffff1663ffffffff161115611e6e57809150611e7e565b600181611e7b9190613cd0565b92505b505b5b80821015611ee0576000611e958383612bf5565b905085611ea28883612be0565b60000160009054906101000a900463ffffffff1663ffffffff161115611eca57809150611eda565b600181611ed79190613cd0565b92505b50611e81565b60008114611f2657611ef58660018303612be0565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611f29565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611f5a611880565b73ffffffffffffffffffffffffffffffffffffffff16611f78610c9e565b73ffffffffffffffffffffffffffffffffffffffff1614611fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc590614aac565b60405180910390fd5b565b611fda8282611463565b5050565b611fe88282612c1b565b5050565b60008060008411612032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202990614b18565b60405180910390fd5b61203a612c39565b84111561207c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207390614b84565b60405180910390fd5b60006120948585600001612c4a90919063ffffffff16565b9050836000018054905081036120b15760008092509250506120da565b60018460010182815481106120c9576120c8613e0b565b5b906000526020600020015492509250505b9250929050565b60006120ec836109ff565b905060006120f984610ad0565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46121f5828483612858565b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b606060ff60001b83146122de576122d783612d03565b905061236b565b8180546122ea90613c70565b80601f016020809104026020016040519081016040528092919081815260200182805461231690613c70565b80156123635780601f1061233857610100808354040283529160200191612363565b820191906000526020600020905b81548152906001019060200180831161234657829003601f168201915b505050505090505b92915050565b600061237d6008612d77565b6000612387612c39565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516123b8919061362e565b60405180910390a18091505090565b60006123da6123d4611d53565b83612d8d565b9050919050565b60008060006123f287878787612dce565b915091506123ff81612eb0565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061245981611872565b915061246481612d77565b50919050565b600080829050601f815111156124b757826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016124ae91906134ee565b60405180910390fd5b8051816124c390614bd4565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146125bc576125188760018403612be0565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250506125f8565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061262d84868863ffffffff16565b92506000821180156126575750612642610d2d565b65ffffffffffff16816000015163ffffffff16145b156126c8576126658361165c565b6126728860018503612be0565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506127c7565b8660405180604001604052806126ec6126df610d2d565b65ffffffffffff166116c7565b63ffffffff1681526020016127008661165c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b6127dc83838361171a565b505050565b6127ec8383836117d2565b505050565b612841600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061283c83610ad0565b613016565b50565b61285660066128516107ac565b613016565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128945750600081115b15612a4c57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146129725760008061291b600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061185c856124f6565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612967929190614c3b565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a4b576000806129f4600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611646856124f6565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612a40929190614c3b565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612acc959493929190614c64565b60405160208183030381529060405280519060200120905090565b6000808203612af95760009050612bdb565b60006001612b0684613091565b901c6001901b90506001818481612b2057612b1f614cb7565b5b048201901c90506001818481612b3957612b38614cb7565b5b048201901c90506001818481612b5257612b51614cb7565b5b048201901c90506001818481612b6b57612b6a614cb7565b5b048201901c90506001818481612b8457612b83614cb7565b5b048201901c90506001818481612b9d57612b9c614cb7565b5b048201901c90506001818481612bb657612bb5614cb7565b5b048201901c9050612bd781828581612bd157612bd0614cb7565b5b04613172565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612c069190614ce6565b828416612c139190613cd0565b905092915050565b612c25828261318b565b612c33601061185c836124f6565b50505050565b6000612c456008611872565b905090565b600080838054905003612c605760009050612cfd565b600080848054905090505b80821015612cb4576000612c7f8383612bf5565b905084612c8c8783613358565b600001541115612c9e57809150612cae565b600181612cab9190613cd0565b92505b50612c6b565b600082118015612cdc575083612cd686600185612cd191906146e6565b613358565b60000154145b15612cf757600182612cee91906146e6565b92505050612cfd565b81925050505b92915050565b60606000612d108361337a565b90506000602067ffffffffffffffff811115612d2f57612d2e613ddc565b5b6040519080825280601f01601f191660200182016040528015612d615781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612e09576000600391509150612ea7565b600060018787878760405160008152602001604052604051612e2e9493929190614d17565b6020604051602081039080840390855afa158015612e50573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e9e57600060019250925050612ea7565b80600092509250505b94509492505050565b60006004811115612ec457612ec3614d5c565b5b816004811115612ed757612ed6614d5c565b5b03156130135760016004811115612ef157612ef0614d5c565b5b816004811115612f0457612f03614d5c565b5b03612f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3b90614dd7565b60405180910390fd5b60026004811115612f5857612f57614d5c565b5b816004811115612f6b57612f6a614d5c565b5b03612fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa290614e43565b60405180910390fd5b60036004811115612fbf57612fbe614d5c565b5b816004811115612fd257612fd1614d5c565b5b03613012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161300990614ed5565b60405180910390fd5b5b50565b6000613020612c39565b90508061302f846000016133ca565b101561308c5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c11156130b357608083901c92506080810190505b6000604084901c11156130ce57604083901c92506040810190505b6000602084901c11156130e957602083901c92506020810190505b6000601084901c111561310457601083901c92506010810190505b6000600884901c111561311f57600883901c92506008810190505b6000600484901c111561313a57600483901c92506004810190505b6000600284901c111561315557600283901c92506002810190505b6000600184901c1115613169576001810190505b80915050919050565b60008183106131815781613183565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036131fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f190614f67565b60405180910390fd5b613206826000836127d1565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561328c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161328390614ff9565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161333f919061362e565b60405180910390a3613353836000846127e1565b505050565b6000808360005282602060002001905061337181613416565b91505092915050565b60008060ff8360001c169050601f8111156133c1576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036133e05760009050613411565b81600183805490506133f291906146e6565b8154811061340357613402613e0b565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561349857808201518184015260208101905061347d565b60008484015250505050565b6000601f19601f8301169050919050565b60006134c08261345e565b6134ca8185613469565b93506134da81856020860161347a565b6134e3816134a4565b840191505092915050565b6000602082019050818103600083015261350881846134b5565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061354082613515565b9050919050565b61355081613535565b811461355b57600080fd5b50565b60008135905061356d81613547565b92915050565b6000819050919050565b61358681613573565b811461359157600080fd5b50565b6000813590506135a38161357d565b92915050565b600080604083850312156135c0576135bf613510565b5b60006135ce8582860161355e565b92505060206135df85828601613594565b9150509250929050565b60008115159050919050565b6135fe816135e9565b82525050565b600060208201905061361960008301846135f5565b92915050565b61362881613573565b82525050565b6000602082019050613643600083018461361f565b92915050565b60008060006060848603121561366257613661613510565b5b60006136708682870161355e565b93505060206136818682870161355e565b925050604061369286828701613594565b9150509250925092565b600060ff82169050919050565b6136b28161369c565b82525050565b60006020820190506136cd60008301846136a9565b92915050565b6000819050919050565b6136e6816136d3565b82525050565b600060208201905061370160008301846136dd565b92915050565b60006020828403121561371d5761371c613510565b5b600061372b84828501613594565b91505092915050565b60006020828403121561374a57613749613510565b5b60006137588482850161355e565b91505092915050565b61376a81613535565b82525050565b60006020820190506137856000830184613761565b92915050565b600063ffffffff82169050919050565b6137a48161378b565b82525050565b60006020820190506137bf600083018461379b565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6137fa816137c5565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61383581613573565b82525050565b6000613847838361382c565b60208301905092915050565b6000602082019050919050565b600061386b82613800565b613875818561380b565b93506138808361381c565b8060005b838110156138b1578151613898888261383b565b97506138a383613853565b925050600181019050613884565b5085935050505092915050565b600060e0820190506138d3600083018a6137f1565b81810360208301526138e581896134b5565b905081810360408301526138f981886134b5565b9050613908606083018761361f565b6139156080830186613761565b61392260a08301856136dd565b81810360c08301526139348184613860565b905098975050505050505050565b600065ffffffffffff82169050919050565b61395d81613942565b82525050565b60006020820190506139786000830184613954565b92915050565b6139878161369c565b811461399257600080fd5b50565b6000813590506139a48161397e565b92915050565b6139b3816136d3565b81146139be57600080fd5b50565b6000813590506139d0816139aa565b92915050565b60008060008060008060c087890312156139f3576139f2613510565b5b6000613a0189828a0161355e565b9650506020613a1289828a01613594565b9550506040613a2389828a01613594565b9450506060613a3489828a01613995565b9350506080613a4589828a016139c1565b92505060a0613a5689828a016139c1565b9150509295509295509295565b600080600080600080600060e0888a031215613a8257613a81613510565b5b6000613a908a828b0161355e565b9750506020613aa18a828b0161355e565b9650506040613ab28a828b01613594565b9550506060613ac38a828b01613594565b9450506080613ad48a828b01613995565b93505060a0613ae58a828b016139c1565b92505060c0613af68a828b016139c1565b91505092959891949750929550565b60008060408385031215613b1c57613b1b613510565b5b6000613b2a8582860161355e565b9250506020613b3b8582860161355e565b9150509250929050565b613b4e8161378b565b8114613b5957600080fd5b50565b600081359050613b6b81613b45565b92915050565b60008060408385031215613b8857613b87613510565b5b6000613b968582860161355e565b9250506020613ba785828601613b5c565b9150509250929050565b613bba8161378b565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613bf181613bc0565b82525050565b604082016000820151613c0d6000850182613bb1565b506020820151613c206020850182613be8565b50505050565b6000604082019050613c3b6000830184613bf7565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c8857607f821691505b602082108103613c9b57613c9a613c41565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cdb82613573565b9150613ce683613573565b9250828201905080821115613cfe57613cfd613ca1565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613d3a601983613469565b9150613d4582613d04565b602082019050919050565b60006020820190508181036000830152613d6981613d2d565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613da6601d83613469565b9150613db182613d70565b602082019050919050565b60006020820190508181036000830152613dd581613d99565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613e96602583613469565b9150613ea182613e3a565b604082019050919050565b60006020820190508181036000830152613ec581613e89565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613f02601d83613469565b9150613f0d82613ecc565b602082019050919050565b60006020820190508181036000830152613f3181613ef5565b9050919050565b6000608082019050613f4d60008301876136dd565b613f5a6020830186613761565b613f67604083018561361f565b613f74606083018461361f565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613fb3601983613469565b9150613fbe82613f7d565b602082019050919050565b60006020820190508181036000830152613fe281613fa6565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b600061401f601d83613469565b915061402a82613fe9565b602082019050919050565b6000602082019050818103600083015261404e81614012565b9050919050565b600060c08201905061406a60008301896136dd565b6140776020830188613761565b6140846040830187613761565b614091606083018661361f565b61409e608083018561361f565b6140ab60a083018461361f565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006140ec601e83613469565b91506140f7826140b6565b602082019050919050565b6000602082019050818103600083015261411b816140df565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061417e602683613469565b915061418982614122565b604082019050919050565b600060208201905081810360008301526141ad81614171565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026142167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826141d9565b61422086836141d9565b95508019841693508086168417925050509392505050565b6000819050919050565b600061425d61425861425384613573565b614238565b613573565b9050919050565b6000819050919050565b61427783614242565b61428b61428382614264565b8484546141e6565b825550505050565b600090565b6142a0614293565b6142ab81848461426e565b505050565b5b818110156142cf576142c4600082614298565b6001810190506142b1565b5050565b601f821115614314576142e5816141b4565b6142ee846141c9565b810160208510156142fd578190505b614311614309856141c9565b8301826142b0565b50505b505050565b600082821c905092915050565b600061433760001984600802614319565b1980831691505092915050565b60006143508383614326565b9150826002028217905092915050565b6143698261345e565b67ffffffffffffffff81111561438257614381613ddc565b5b61438c8254613c70565b6143978282856142d3565b600060209050601f8311600181146143ca57600084156143b8578287015190505b6143c28582614344565b86555061442a565b601f1984166143d8866141b4565b60005b82811015614400578489015182556001820191506020850194506020810190506143db565b8683101561441d5784890151614419601f891682614326565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600061448e603083613469565b915061449982614432565b604082019050919050565b600060208201905081810360008301526144bd81614481565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006144fa601f83613469565b9150614505826144c4565b602082019050919050565b60006020820190508181036000830152614529816144ed565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600061458c602783613469565b915061459782614530565b604082019050919050565b600060208201905081810360008301526145bb8161457f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600061461e602683613469565b9150614629826145c2565b604082019050919050565b6000602082019050818103600083015261464d81614611565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006146b0602683613469565b91506146bb82614654565b604082019050919050565b600060208201905081810360008301526146df816146a3565b9050919050565b60006146f182613573565b91506146fc83613573565b925082820390508181111561471457614713613ca1565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614776602483613469565b91506147818261471a565b604082019050919050565b600060208201905081810360008301526147a581614769565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614808602283613469565b9150614813826147ac565b604082019050919050565b60006020820190508181036000830152614837816147fb565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614874601d83613469565b915061487f8261483e565b602082019050919050565b600060208201905081810360008301526148a381614867565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614906602583613469565b9150614911826148aa565b604082019050919050565b60006020820190508181036000830152614935816148f9565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614998602383613469565b91506149a38261493c565b604082019050919050565b600060208201905081810360008301526149c78161498b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614a2a602683613469565b9150614a35826149ce565b604082019050919050565b60006020820190508181036000830152614a5981614a1d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614a96602083613469565b9150614aa182614a60565b602082019050919050565b60006020820190508181036000830152614ac581614a89565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b6000614b02601683613469565b9150614b0d82614acc565b602082019050919050565b60006020820190508181036000830152614b3181614af5565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b6000614b6e601d83613469565b9150614b7982614b38565b602082019050919050565b60006020820190508181036000830152614b9d81614b61565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000614bcb82516136d3565b80915050919050565b6000614bdf82614ba4565b82614be984614baf565b9050614bf481614bbf565b92506020821015614c3457614c2f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026141d9565b831692505b5050919050565b6000604082019050614c50600083018561361f565b614c5d602083018461361f565b9392505050565b600060a082019050614c7960008301886136dd565b614c8660208301876136dd565b614c9360408301866136dd565b614ca0606083018561361f565b614cad6080830184613761565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614cf182613573565b9150614cfc83613573565b925082614d0c57614d0b614cb7565b5b828204905092915050565b6000608082019050614d2c60008301876136dd565b614d3960208301866136a9565b614d4660408301856136dd565b614d5360608301846136dd565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614dc1601883613469565b9150614dcc82614d8b565b602082019050919050565b60006020820190508181036000830152614df081614db4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614e2d601f83613469565b9150614e3882614df7565b602082019050919050565b60006020820190508181036000830152614e5c81614e20565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614ebf602283613469565b9150614eca82614e63565b604082019050919050565b60006020820190508181036000830152614eee81614eb2565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f51602183613469565b9150614f5c82614ef5565b604082019050919050565b60006020820190508181036000830152614f8081614f44565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614fe3602283613469565b9150614fee82614f87565b604082019050919050565b6000602082019050818103600083015261501281614fd6565b905091905056fea264697066735822122015a8c8cec45ee97d65aa0c3e39da75d046e095bea22e68e964cc42bd154299e164736f6c63430008120033