0x6101606040523480156200001257600080fd5b506040518060400160405280600781526020017f50616e646f726500000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f50616e646f7265000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f50445200000000000000000000000000000000000000000000000000000000008152508160039081620000fd9190620013bf565b5080600490816200010f9190620013bf565b50505062000132620001266200023360201b60201c565b6200023b60201b60201c565b6200014d600a836200030160201b620013d81790919060201c565b610120818152505062000170600b826200030160201b620013d81790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001af6200035e60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200022d3362000202620003bb60201b60201c565b600a62000210919062001636565b633b9aca0062000221919062001687565b620003c460201b60201c565b62001cb6565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000327576200031f83620003df60201b60201c565b905062000358565b826200033e836200044c60201b6200141c1760201c565b60000190816200034f9190620013bf565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003a095949392919062001743565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003db82826200045660201b620014261760201c565b5050565b600080829050601f815111156200042f57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200042691906200182f565b60405180910390fd5b8051816200043d9062001885565b60001c1760001b915050919050565b6000819050919050565b6200046d82826200051460201b620014b31760201c565b6200047d6200068160201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004ab620006a560201b60201c565b1115620004ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e6906200196b565b60405180910390fd5b6200050e6010620006af60201b620016091783620006c760201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000586576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057d90620019dd565b60405180910390fd5b6200059a60008383620009ec60201b60201c565b8060026000828254620005ae9190620019ff565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000661919062001a3a565b60405180910390a36200067d6000838362000a0960201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006bf9190620019ff565b905092915050565b60008060008580549050905060008082146200079757620006f2876001840362000a2660201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007d3565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200080684868860201c565b92506000821180156200083957506200082462000a3b60201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008c157620008558362000a5860201b6200161f1760201c565b6200086a886001850362000a2660201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009e2565b866040518060400160405280620008fa620008e162000a3b60201b60201c565b65ffffffffffff1662000ac660201b6200168a1760201c565b63ffffffff1681526020016200091b8662000a5860201b6200161f1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a0483838362000b1c60201b620016dd1760201c565b505050565b62000a2183838362000c1560201b620017951760201c565b505050565b60008260005281602060002001905092915050565b600062000a534362000c6560201b620017c01760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000abe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab59062001acd565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b0b9062001b65565b60405180910390fd5b819050919050565b62000b3483838362000cbd60201b620018151760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b905762000b7a8262000cc260201b60201c565b62000b8a62000d2560201b60201c565b62000c10565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000bec5762000bd68362000cc260201b60201c565b62000be662000d2560201b60201c565b62000c0f565b62000bfd8362000cc260201b60201c565b62000c0e8262000cc260201b60201c565b5b5b505050565b62000c2d83838362000d4960201b6200181a1760201c565b62000c6062000c428462000d4e60201b60201c565b62000c538462000d4e60201b60201c565b8362000db760201b60201c565b505050565b600065ffffffffffff801682111562000cb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cac9062001bfd565b60405180910390fd5b819050919050565b505050565b62000d22600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d168362000fda60201b60201c565b6200102260201b60201c565b50565b62000d47600662000d3b620006a560201b60201c565b6200102260201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000df45750600081115b1562000fd557600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000ee75760008062000e8e600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620010ae60201b6200181f1785620006c760201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000edc92919062001c1f565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000fd45760008062000f7b600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006af60201b620016091785620006c760201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000fc992919062001c1f565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600062001034620010c660201b60201c565b9050806200104b84600001620010e460201b60201c565b1015620010a95782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60008183620010be919062001c4c565b905092915050565b6000620010df60086200113760201b620018351760201c565b905090565b600080828054905003620010fc576000905062001132565b816001838054905062001110919062001c4c565b8154811062001124576200112362001c87565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620011c757607f821691505b602082108103620011dd57620011dc6200117f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012477fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001208565b62001253868362001208565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620012a06200129a62001294846200126b565b62001275565b6200126b565b9050919050565b6000819050919050565b620012bc836200127f565b620012d4620012cb82620012a7565b84845462001215565b825550505050565b600090565b620012eb620012dc565b620012f8818484620012b1565b505050565b5b81811015620013205762001314600082620012e1565b600181019050620012fe565b5050565b601f8211156200136f576200133981620011e3565b6200134484620011f8565b8101602085101562001354578190505b6200136c6200136385620011f8565b830182620012fd565b50505b505050565b600082821c905092915050565b6000620013946000198460080262001374565b1980831691505092915050565b6000620013af838362001381565b9150826002028217905092915050565b620013ca8262001145565b67ffffffffffffffff811115620013e657620013e562001150565b5b620013f28254620011ae565b620013ff82828562001324565b600060209050601f83116001811462001437576000841562001422578287015190505b6200142e8582620013a1565b8655506200149e565b601f1984166200144786620011e3565b60005b8281101562001471578489015182556001820191506020850194506020810190506200144a565b868310156200149157848901516200148d601f89168262001381565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001534578086048111156200150c576200150b620014a6565b5b60018516156200151c5780820291505b80810290506200152c85620014d5565b9450620014ec565b94509492505050565b6000826200154f576001905062001622565b816200155f576000905062001622565b81600181146200157857600281146200158357620015b9565b600191505062001622565b60ff841115620015985762001597620014a6565b5b8360020a915084821115620015b257620015b1620014a6565b5b5062001622565b5060208310610133831016604e8410600b8410161715620015f35782820a905083811115620015ed57620015ec620014a6565b5b62001622565b620016028484846001620014e2565b925090508184048111156200161c576200161b620014a6565b5b81810290505b9392505050565b600060ff82169050919050565b600062001643826200126b565b9150620016508362001629565b92506200167f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200153d565b905092915050565b600062001694826200126b565b9150620016a1836200126b565b9250828202620016b1816200126b565b91508282048414831517620016cb57620016ca620014a6565b5b5092915050565b6000819050919050565b620016e781620016d2565b82525050565b620016f8816200126b565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200172b82620016fe565b9050919050565b6200173d816200171e565b82525050565b600060a0820190506200175a6000830188620016dc565b620017696020830187620016dc565b620017786040830186620016dc565b620017876060830185620016ed565b62001796608083018462001732565b9695505050505050565b600082825260208201905092915050565b60005b83811015620017d1578082015181840152602081019050620017b4565b60008484015250505050565b6000601f19601f8301169050919050565b6000620017fb8262001145565b620018078185620017a0565b935062001819818560208601620017b1565b6200182481620017dd565b840191505092915050565b600060208201905081810360008301526200184b8184620017ee565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200187c8251620016d2565b80915050919050565b6000620018928262001853565b826200189e846200185e565b9050620018ab816200186e565b92506020821015620018ee57620018e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262001208565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600062001953603083620017a0565b91506200196082620018f5565b604082019050919050565b60006020820190508181036000830152620019868162001944565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620019c5601f83620017a0565b9150620019d2826200198d565b602082019050919050565b60006020820190508181036000830152620019f881620019b6565b9050919050565b600062001a0c826200126b565b915062001a19836200126b565b925082820190508082111562001a345762001a33620014a6565b5b92915050565b600060208201905062001a516000830184620016ed565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600062001ab5602783620017a0565b915062001ac28262001a57565b604082019050919050565b6000602082019050818103600083015262001ae88162001aa6565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600062001b4d602683620017a0565b915062001b5a8262001aef565b604082019050919050565b6000602082019050818103600083015262001b808162001b3e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001be5602683620017a0565b915062001bf28262001b87565b604082019050919050565b6000602082019050818103600083015262001c188162001bd6565b9050919050565b600060408201905062001c366000830185620016ed565b62001c456020830184620016ed565b9392505050565b600062001c59826200126b565b915062001c66836200126b565b925082820390508181111562001c815762001c80620014a6565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161500462001d116000396000610ba601526000610b7201526000612a4c01526000612a2b01526000611d1a01526000611d7001526000611d9901526150046000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806379cc67901161011a578063981b24d0116100ad578063c3cda5201161007c578063c3cda5201461061c578063d505accf14610638578063dd62ed3e14610654578063f1127ed814610684578063f2fde38b146106b4576101fb565b8063981b24d01461055c5780639ab24eb01461058c578063a457c2d7146105bc578063a9059cbb146105ec576101fb565b80638e539e8c116100e95780638e539e8c146104e657806391ddadf41461051657806395d89b41146105345780639711715a14610552576101fb565b806379cc6790146104585780637ecebe001461047457806384b0196e146104a45780638da5cb5b146104c8576101fb565b806342966c68116101925780635c19a95c116101615780635c19a95c146103d25780636fcfff45146103ee57806370a082311461041e578063715018a61461044e576101fb565b806342966c68146103385780634bf5d7e9146103545780634ee2cd7e14610372578063587cde1e146103a2576101fb565b8063313ce567116101ce578063313ce5671461029c5780633644e515146102ba57806339509351146102d85780633a46b1a814610308576101fb565b806306fdde0314610200578063095ea7b31461021e57806318160ddd1461024e57806323b872dd1461026c575b600080fd5b6102086106d0565b60405161021591906134a3565b60405180910390f35b6102386004803603810190610233919061355e565b610762565b60405161024591906135b9565b60405180910390f35b610256610785565b60405161026391906135e3565b60405180910390f35b610286600480360381019061028191906135fe565b61078f565b60405161029391906135b9565b60405180910390f35b6102a46107be565b6040516102b1919061366d565b60405180910390f35b6102c26107c7565b6040516102cf91906136a1565b60405180910390f35b6102f260048036038101906102ed919061355e565b6107d6565b6040516102ff91906135b9565b60405180910390f35b610322600480360381019061031d919061355e565b61080d565b60405161032f91906135e3565b60405180910390f35b610352600480360381019061034d91906136bc565b6108b0565b005b61035c6108c4565b60405161036991906134a3565b60405180910390f35b61038c6004803603810190610387919061355e565b610952565b60405161039991906135e3565b60405180910390f35b6103bc60048036038101906103b791906136e9565b6109c2565b6040516103c99190613725565b60405180910390f35b6103ec60048036038101906103e791906136e9565b610a2b565b005b610408600480360381019061040391906136e9565b610a3f565b604051610415919061375f565b60405180910390f35b610438600480360381019061043391906136e9565b610a93565b60405161044591906135e3565b60405180910390f35b610456610adb565b005b610472600480360381019061046d919061355e565b610aef565b005b61048e600480360381019061048991906136e9565b610b0f565b60405161049b91906135e3565b60405180910390f35b6104ac610b5f565b6040516104bf9796959493929190613873565b60405180910390f35b6104d0610c61565b6040516104dd9190613725565b60405180910390f35b61050060048036038101906104fb91906136bc565b610c8b565b60405161050d91906135e3565b60405180910390f35b61051e610cf0565b60405161052b9190613918565b60405180910390f35b61053c610d00565b60405161054991906134a3565b60405180910390f35b61055a610d92565b005b610576600480360381019061057191906136bc565b610da5565b60405161058391906135e3565b60405180910390f35b6105a660048036038101906105a191906136e9565b610dd6565b6040516105b391906135e3565b60405180910390f35b6105d660048036038101906105d1919061355e565b610ede565b6040516105e391906135b9565b60405180910390f35b6106066004803603810190610601919061355e565b610f55565b60405161061391906135b9565b60405180910390f35b6106366004803603810190610631919061398b565b610f78565b005b610652600480360381019061064d9190613a18565b61107c565b005b61066e60048036038101906106699190613aba565b6111be565b60405161067b91906135e3565b60405180910390f35b61069e60048036038101906106999190613b26565b611245565b6040516106ab9190613bdb565b60405180910390f35b6106ce60048036038101906106c991906136e9565b611355565b005b6060600380546106df90613c25565b80601f016020809104026020016040519081016040528092919081815260200182805461070b90613c25565b80156107585780601f1061072d57610100808354040283529160200191610758565b820191906000526020600020905b81548152906001019060200180831161073b57829003601f168201915b5050505050905090565b60008061076d611843565b905061077a81858561184b565b600191505092915050565b6000600254905090565b60008061079a611843565b90506107a7858285611a14565b6107b2858585611aa0565b60019150509392505050565b60006012905090565b60006107d1611d16565b905090565b6000806107e1611843565b90506108028185856107f385896111be565b6107fd9190613c85565b61184b565b600191505092915050565b6000610817610cf0565b65ffffffffffff168210610860576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085790613d05565b60405180910390fd5b6108a8600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611dcd565b905092915050565b6108c16108bb611843565b82611f15565b50565b6060436108cf610cf0565b65ffffffffffff1614610917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090e90613d71565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b600080600061099f84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f23565b91509150816109b6576109b185610a93565b6109b8565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610a3c610a36611843565b82612018565b50565b6000610a8c600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061168a565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ae3612132565b610aed60006121b0565b565b610b0182610afb611843565b83611a14565b610b0b8282611f15565b5050565b6000610b58600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611835565b9050919050565b600060608060008060006060610b9f600a7f000000000000000000000000000000000000000000000000000000000000000061227690919063ffffffff16565b610bd3600b7f000000000000000000000000000000000000000000000000000000000000000061227690919063ffffffff16565b46306000801b600067ffffffffffffffff811115610bf457610bf3613d91565b5b604051908082528060200260200182016040528015610c225781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610c95610cf0565b65ffffffffffff168210610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590613d05565b60405180910390fd5b610ce9601083611dcd565b9050919050565b6000610cfb436117c0565b905090565b606060048054610d0f90613c25565b80601f0160208091040260200160405190810160405280929190818152602001828054610d3b90613c25565b8015610d885780601f10610d5d57610100808354040283529160200191610d88565b820191906000526020600020905b815481529060010190602001808311610d6b57829003601f168201915b5050505050905090565b610d9a612132565b610da2612326565b50565b6000806000610db5846006611f23565b9150915081610dcb57610dc6610785565b610dcd565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610eb557600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610e7a57610e79613dc0565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610eb8565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610ee9611843565b90506000610ef782866111be565b905083811015610f3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3390613e61565b60405180910390fd5b610f49828686840361184b565b60019250505092915050565b600080610f60611843565b9050610f6d818585611aa0565b600191505092915050565b83421115610fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb290613ecd565b60405180910390fd5b600061101d6110157fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610ffa9493929190613eed565b6040516020818303038152906040528051906020012061237c565b858585612396565b9050611028816123c1565b8614611069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106090613f7e565b60405180910390fd5b6110738188612018565b50505050505050565b834211156110bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b690613fea565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110ee8c6123c1565b896040516020016111049695949392919061400a565b60405160208183030381529060405280519060200120905060006111278261237c565b9050600061113782878787612396565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e906140b7565b60405180910390fd5b6111b28a8a8a61184b565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61124d6133d5565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106112a4576112a3613dc0565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61135d612132565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c390614149565b60405180910390fd5b6113d5816121b0565b50565b60006020835110156113f4576113ed8361241f565b9050611416565b826113fe8361141c565b600001908161140d9190614315565b5060ff60001b90505b92915050565b6000819050919050565b61143082826114b3565b611438612487565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661145e610785565b111561149f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149690614459565b60405180910390fd5b6114ad6010611609836124ab565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611522576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611519906144c5565b60405180910390fd5b61152e60008383612786565b80600260008282546115409190613c85565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115f191906135e3565b60405180910390a361160560008383612796565b5050565b600081836116179190613c85565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611682576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167990614557565b60405180910390fd5b819050919050565b600063ffffffff80168211156116d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cc906145e9565b60405180910390fd5b819050919050565b6116e8838383611815565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361173257611725826127a6565b61172d6127f9565b611790565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361177c5761176f836127a6565b6117776127f9565b61178f565b611785836127a6565b61178e826127a6565b5b5b505050565b6117a083838361181a565b6117bb6117ac846109c2565b6117b5846109c2565b8361280d565b505050565b600065ffffffffffff801682111561180d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118049061467b565b60405180910390fd5b819050919050565b505050565b505050565b6000818361182d919061469b565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b190614741565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611929576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611920906147d3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a0791906135e3565b60405180910390a3505050565b6000611a2084846111be565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a9a5781811015611a8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a839061483f565b60405180910390fd5b611a99848484840361184b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b06906148d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7590614963565b60405180910390fd5b611b89838383612786565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c06906149f5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cfd91906135e3565b60405180910390a3611d10848484612796565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d9257507f000000000000000000000000000000000000000000000000000000000000000046145b15611dbf577f00000000000000000000000000000000000000000000000000000000000000009050611dca565b611dc7612a06565b90505b90565b600080838054905090506000808290506005831115611e43576000611df184612a9c565b84611dfc919061469b565b905085611e098883612b95565b60000160009054906101000a900463ffffffff1663ffffffff161115611e3157809150611e41565b600181611e3e9190613c85565b92505b505b5b80821015611ea3576000611e588383612baa565b905085611e658883612b95565b60000160009054906101000a900463ffffffff1663ffffffff161115611e8d57809150611e9d565b600181611e9a9190613c85565b92505b50611e44565b60008114611ee957611eb88660018303612b95565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611eec565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611f1f8282612bd0565b5050565b60008060008411611f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6090614a61565b60405180910390fd5b611f71612bee565b841115611fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611faa90614acd565b60405180910390fd5b6000611fcb8585600001612bff90919063ffffffff16565b905083600001805490508103611fe8576000809250925050612011565b600184600101828154811061200057611fff613dc0565b5b906000526020600020015492509250505b9250929050565b6000612023836109c2565b9050600061203084610a93565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461212c82848361280d565b50505050565b61213a611843565b73ffffffffffffffffffffffffffffffffffffffff16612158610c61565b73ffffffffffffffffffffffffffffffffffffffff16146121ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a590614b39565b60405180910390fd5b565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b606060ff60001b83146122935761228c83612cb8565b9050612320565b81805461229f90613c25565b80601f01602080910402602001604051908101604052809291908181526020018280546122cb90613c25565b80156123185780601f106122ed57610100808354040283529160200191612318565b820191906000526020600020905b8154815290600101906020018083116122fb57829003601f168201915b505050505090505b92915050565b60006123326008612d2c565b600061233c612bee565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb678160405161236d91906135e3565b60405180910390a18091505090565b600061238f612389611d16565b83612d42565b9050919050565b60008060006123a787878787612d83565b915091506123b481612e65565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061240e81611835565b915061241981612d2c565b50919050565b600080829050601f8151111561246c57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161246391906134a3565b60405180910390fd5b80518161247890614b89565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000806000858054905090506000808214612571576124cd8760018403612b95565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250506125ad565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506125e284868863ffffffff16565b925060008211801561260c57506125f7610cf0565b65ffffffffffff16816000015163ffffffff16145b1561267d5761261a8361161f565b6126278860018503612b95565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555061277c565b8660405180604001604052806126a1612694610cf0565b65ffffffffffff1661168a565b63ffffffff1681526020016126b58661161f565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b6127918383836116dd565b505050565b6127a1838383611795565b505050565b6127f6600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206127f183610a93565b612fcb565b50565b61280b6006612806610785565b612fcb565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128495750600081115b15612a0157600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612927576000806128d0600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061181f856124ab565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161291c929190614bf0565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a00576000806129a9600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611609856124ab565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516129f5929190614bf0565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612a81959493929190614c19565b60405160208183030381529060405280519060200120905090565b6000808203612aae5760009050612b90565b60006001612abb84613046565b901c6001901b90506001818481612ad557612ad4614c6c565b5b048201901c90506001818481612aee57612aed614c6c565b5b048201901c90506001818481612b0757612b06614c6c565b5b048201901c90506001818481612b2057612b1f614c6c565b5b048201901c90506001818481612b3957612b38614c6c565b5b048201901c90506001818481612b5257612b51614c6c565b5b048201901c90506001818481612b6b57612b6a614c6c565b5b048201901c9050612b8c81828581612b8657612b85614c6c565b5b04613127565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612bbb9190614c9b565b828416612bc89190613c85565b905092915050565b612bda8282613140565b612be8601061181f836124ab565b50505050565b6000612bfa6008611835565b905090565b600080838054905003612c155760009050612cb2565b600080848054905090505b80821015612c69576000612c348383612baa565b905084612c41878361330d565b600001541115612c5357809150612c63565b600181612c609190613c85565b92505b50612c20565b600082118015612c91575083612c8b86600185612c86919061469b565b61330d565b60000154145b15612cac57600182612ca3919061469b565b92505050612cb2565b81925050505b92915050565b60606000612cc58361332f565b90506000602067ffffffffffffffff811115612ce457612ce3613d91565b5b6040519080825280601f01601f191660200182016040528015612d165781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612dbe576000600391509150612e5c565b600060018787878760405160008152602001604052604051612de39493929190614ccc565b6020604051602081039080840390855afa158015612e05573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612e5357600060019250925050612e5c565b80600092509250505b94509492505050565b60006004811115612e7957612e78614d11565b5b816004811115612e8c57612e8b614d11565b5b0315612fc85760016004811115612ea657612ea5614d11565b5b816004811115612eb957612eb8614d11565b5b03612ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef090614d8c565b60405180910390fd5b60026004811115612f0d57612f0c614d11565b5b816004811115612f2057612f1f614d11565b5b03612f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f5790614df8565b60405180910390fd5b60036004811115612f7457612f73614d11565b5b816004811115612f8757612f86614d11565b5b03612fc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fbe90614e8a565b60405180910390fd5b5b50565b6000612fd5612bee565b905080612fe48460000161337f565b10156130415782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c111561306857608083901c92506080810190505b6000604084901c111561308357604083901c92506040810190505b6000602084901c111561309e57602083901c92506020810190505b6000601084901c11156130b957601083901c92506010810190505b6000600884901c11156130d457600883901c92506008810190505b6000600484901c11156130ef57600483901c92506004810190505b6000600284901c111561310a57600283901c92506002810190505b6000600184901c111561311e576001810190505b80915050919050565b60008183106131365781613138565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036131af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a690614f1c565b60405180910390fd5b6131bb82600083612786565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613241576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323890614fae565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516132f491906135e3565b60405180910390a361330883600084612796565b505050565b60008083600052826020600020019050613326816133cb565b91505092915050565b60008060ff8360001c169050601f811115613376576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b60008082805490500361339557600090506133c6565b81600183805490506133a7919061469b565b815481106133b8576133b7613dc0565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561344d578082015181840152602081019050613432565b60008484015250505050565b6000601f19601f8301169050919050565b600061347582613413565b61347f818561341e565b935061348f81856020860161342f565b61349881613459565b840191505092915050565b600060208201905081810360008301526134bd818461346a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134f5826134ca565b9050919050565b613505816134ea565b811461351057600080fd5b50565b600081359050613522816134fc565b92915050565b6000819050919050565b61353b81613528565b811461354657600080fd5b50565b60008135905061355881613532565b92915050565b60008060408385031215613575576135746134c5565b5b600061358385828601613513565b925050602061359485828601613549565b9150509250929050565b60008115159050919050565b6135b38161359e565b82525050565b60006020820190506135ce60008301846135aa565b92915050565b6135dd81613528565b82525050565b60006020820190506135f860008301846135d4565b92915050565b600080600060608486031215613617576136166134c5565b5b600061362586828701613513565b935050602061363686828701613513565b925050604061364786828701613549565b9150509250925092565b600060ff82169050919050565b61366781613651565b82525050565b6000602082019050613682600083018461365e565b92915050565b6000819050919050565b61369b81613688565b82525050565b60006020820190506136b66000830184613692565b92915050565b6000602082840312156136d2576136d16134c5565b5b60006136e084828501613549565b91505092915050565b6000602082840312156136ff576136fe6134c5565b5b600061370d84828501613513565b91505092915050565b61371f816134ea565b82525050565b600060208201905061373a6000830184613716565b92915050565b600063ffffffff82169050919050565b61375981613740565b82525050565b60006020820190506137746000830184613750565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6137af8161377a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137ea81613528565b82525050565b60006137fc83836137e1565b60208301905092915050565b6000602082019050919050565b6000613820826137b5565b61382a81856137c0565b9350613835836137d1565b8060005b8381101561386657815161384d88826137f0565b975061385883613808565b925050600181019050613839565b5085935050505092915050565b600060e082019050613888600083018a6137a6565b818103602083015261389a818961346a565b905081810360408301526138ae818861346a565b90506138bd60608301876135d4565b6138ca6080830186613716565b6138d760a0830185613692565b81810360c08301526138e98184613815565b905098975050505050505050565b600065ffffffffffff82169050919050565b613912816138f7565b82525050565b600060208201905061392d6000830184613909565b92915050565b61393c81613651565b811461394757600080fd5b50565b60008135905061395981613933565b92915050565b61396881613688565b811461397357600080fd5b50565b6000813590506139858161395f565b92915050565b60008060008060008060c087890312156139a8576139a76134c5565b5b60006139b689828a01613513565b96505060206139c789828a01613549565b95505060406139d889828a01613549565b94505060606139e989828a0161394a565b93505060806139fa89828a01613976565b92505060a0613a0b89828a01613976565b9150509295509295509295565b600080600080600080600060e0888a031215613a3757613a366134c5565b5b6000613a458a828b01613513565b9750506020613a568a828b01613513565b9650506040613a678a828b01613549565b9550506060613a788a828b01613549565b9450506080613a898a828b0161394a565b93505060a0613a9a8a828b01613976565b92505060c0613aab8a828b01613976565b91505092959891949750929550565b60008060408385031215613ad157613ad06134c5565b5b6000613adf85828601613513565b9250506020613af085828601613513565b9150509250929050565b613b0381613740565b8114613b0e57600080fd5b50565b600081359050613b2081613afa565b92915050565b60008060408385031215613b3d57613b3c6134c5565b5b6000613b4b85828601613513565b9250506020613b5c85828601613b11565b9150509250929050565b613b6f81613740565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613ba681613b75565b82525050565b604082016000820151613bc26000850182613b66565b506020820151613bd56020850182613b9d565b50505050565b6000604082019050613bf06000830184613bac565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c3d57607f821691505b602082108103613c5057613c4f613bf6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613c9082613528565b9150613c9b83613528565b9250828201905080821115613cb357613cb2613c56565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613cef60198361341e565b9150613cfa82613cb9565b602082019050919050565b60006020820190508181036000830152613d1e81613ce2565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613d5b601d8361341e565b9150613d6682613d25565b602082019050919050565b60006020820190508181036000830152613d8a81613d4e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613e4b60258361341e565b9150613e5682613def565b604082019050919050565b60006020820190508181036000830152613e7a81613e3e565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613eb7601d8361341e565b9150613ec282613e81565b602082019050919050565b60006020820190508181036000830152613ee681613eaa565b9050919050565b6000608082019050613f026000830187613692565b613f0f6020830186613716565b613f1c60408301856135d4565b613f2960608301846135d4565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613f6860198361341e565b9150613f7382613f32565b602082019050919050565b60006020820190508181036000830152613f9781613f5b565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000613fd4601d8361341e565b9150613fdf82613f9e565b602082019050919050565b6000602082019050818103600083015261400381613fc7565b9050919050565b600060c08201905061401f6000830189613692565b61402c6020830188613716565b6140396040830187613716565b61404660608301866135d4565b61405360808301856135d4565b61406060a08301846135d4565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006140a1601e8361341e565b91506140ac8261406b565b602082019050919050565b600060208201905081810360008301526140d081614094565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061413360268361341e565b915061413e826140d7565b604082019050919050565b6000602082019050818103600083015261416281614126565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026141cb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261418e565b6141d5868361418e565b95508019841693508086168417925050509392505050565b6000819050919050565b600061421261420d61420884613528565b6141ed565b613528565b9050919050565b6000819050919050565b61422c836141f7565b61424061423882614219565b84845461419b565b825550505050565b600090565b614255614248565b614260818484614223565b505050565b5b818110156142845761427960008261424d565b600181019050614266565b5050565b601f8211156142c95761429a81614169565b6142a38461417e565b810160208510156142b2578190505b6142c66142be8561417e565b830182614265565b50505b505050565b600082821c905092915050565b60006142ec600019846008026142ce565b1980831691505092915050565b600061430583836142db565b9150826002028217905092915050565b61431e82613413565b67ffffffffffffffff81111561433757614336613d91565b5b6143418254613c25565b61434c828285614288565b600060209050601f83116001811461437f576000841561436d578287015190505b61437785826142f9565b8655506143df565b601f19841661438d86614169565b60005b828110156143b557848901518255600182019150602085019450602081019050614390565b868310156143d257848901516143ce601f8916826142db565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600061444360308361341e565b915061444e826143e7565b604082019050919050565b6000602082019050818103600083015261447281614436565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006144af601f8361341e565b91506144ba82614479565b602082019050919050565b600060208201905081810360008301526144de816144a2565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600061454160278361341e565b915061454c826144e5565b604082019050919050565b6000602082019050818103600083015261457081614534565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006145d360268361341e565b91506145de82614577565b604082019050919050565b60006020820190508181036000830152614602816145c6565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600061466560268361341e565b915061467082614609565b604082019050919050565b6000602082019050818103600083015261469481614658565b9050919050565b60006146a682613528565b91506146b183613528565b92508282039050818111156146c9576146c8613c56565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061472b60248361341e565b9150614736826146cf565b604082019050919050565b6000602082019050818103600083015261475a8161471e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006147bd60228361341e565b91506147c882614761565b604082019050919050565b600060208201905081810360008301526147ec816147b0565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614829601d8361341e565b9150614834826147f3565b602082019050919050565b600060208201905081810360008301526148588161481c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006148bb60258361341e565b91506148c68261485f565b604082019050919050565b600060208201905081810360008301526148ea816148ae565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061494d60238361341e565b9150614958826148f1565b604082019050919050565b6000602082019050818103600083015261497c81614940565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006149df60268361341e565b91506149ea82614983565b604082019050919050565b60006020820190508181036000830152614a0e816149d2565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b6000614a4b60168361341e565b9150614a5682614a15565b602082019050919050565b60006020820190508181036000830152614a7a81614a3e565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b6000614ab7601d8361341e565b9150614ac282614a81565b602082019050919050565b60006020820190508181036000830152614ae681614aaa565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614b2360208361341e565b9150614b2e82614aed565b602082019050919050565b60006020820190508181036000830152614b5281614b16565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000614b808251613688565b80915050919050565b6000614b9482614b59565b82614b9e84614b64565b9050614ba981614b74565b92506020821015614be957614be47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261418e565b831692505b5050919050565b6000604082019050614c0560008301856135d4565b614c1260208301846135d4565b9392505050565b600060a082019050614c2e6000830188613692565b614c3b6020830187613692565b614c486040830186613692565b614c5560608301856135d4565b614c626080830184613716565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614ca682613528565b9150614cb183613528565b925082614cc157614cc0614c6c565b5b828204905092915050565b6000608082019050614ce16000830187613692565b614cee602083018661365e565b614cfb6040830185613692565b614d086060830184613692565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614d7660188361341e565b9150614d8182614d40565b602082019050919050565b60006020820190508181036000830152614da581614d69565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614de2601f8361341e565b9150614ded82614dac565b602082019050919050565b60006020820190508181036000830152614e1181614dd5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e7460228361341e565b9150614e7f82614e18565b604082019050919050565b60006020820190508181036000830152614ea381614e67565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f0660218361341e565b9150614f1182614eaa565b604082019050919050565b60006020820190508181036000830152614f3581614ef9565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f9860228361341e565b9150614fa382614f3c565b604082019050919050565b60006020820190508181036000830152614fc781614f8b565b905091905056fea26469706673582212200c438b95a4952fcab7e7f8f278dced00c2992a2e7e378a491db220d9db5624f164736f6c63430008120033