0x6101606040523480156200001257600080fd5b506040518060400160405280600781526020017f6c2e7477696e6e00000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f6c2e7477696e6e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4c544e00000000000000000000000000000000000000000000000000000000008152508160039081620000fd9190620013bd565b5080600490816200010f9190620013bd565b50505062000132620001266200023160201b60201c565b6200023960201b60201c565b6200014d600a83620002ff60201b620013931790919060201c565b610120818152505062000170600b82620002ff60201b620013931790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001af6200035c60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200022b3362000202620003b960201b60201c565b600a62000210919062001634565b6103e86200021f919062001685565b620003c260201b60201c565b62001cb4565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000325576200031d83620003dd60201b60201c565b905062000356565b826200033c836200044a60201b620013d71760201c565b60000190816200034d9190620013bd565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200039e95949392919062001741565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003d982826200045460201b620013e11760201c565b5050565b600080829050601f815111156200042d57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200042491906200182d565b60405180910390fd5b8051816200043b9062001883565b60001c1760001b915050919050565b6000819050919050565b6200046b82826200051260201b6200146e1760201c565b6200047b6200067f60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004a9620006a360201b60201c565b1115620004ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e49062001969565b60405180910390fd5b6200050c6010620006ad60201b620015c41783620006c560201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000584576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200057b90620019db565b60405180910390fd5b6200059860008383620009ea60201b60201c565b8060026000828254620005ac9190620019fd565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200065f919062001a38565b60405180910390a36200067b6000838362000a0760201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006bd9190620019fd565b905092915050565b60008060008580549050905060008082146200079557620006f0876001840362000a2460201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007d1565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200080484868860201c565b92506000821180156200083757506200082262000a3960201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008bf57620008538362000a5660201b620015da1760201c565b62000868886001850362000a2460201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009e0565b866040518060400160405280620008f8620008df62000a3960201b60201c565b65ffffffffffff1662000ac460201b620016451760201c565b63ffffffff168152602001620009198662000a5660201b620015da1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a0283838362000b1a60201b620016981760201c565b505050565b62000a1f83838362000c1360201b620017501760201c565b505050565b60008260005281602060002001905092915050565b600062000a514362000c6360201b6200177b1760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ab39062001acb565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b099062001b63565b60405180910390fd5b819050919050565b62000b3283838362000cbb60201b620017d01760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000b8e5762000b788262000cc060201b60201c565b62000b8862000d2360201b60201c565b62000c0e565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000bea5762000bd48362000cc060201b60201c565b62000be462000d2360201b60201c565b62000c0d565b62000bfb8362000cc060201b60201c565b62000c0c8262000cc060201b60201c565b5b5b505050565b62000c2b83838362000d4760201b620017d51760201c565b62000c5e62000c408462000d4c60201b60201c565b62000c518462000d4c60201b60201c565b8362000db560201b60201c565b505050565b600065ffffffffffff801682111562000cb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000caa9062001bfb565b60405180910390fd5b819050919050565b505050565b62000d20600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d148362000fd860201b60201c565b6200102060201b60201c565b50565b62000d45600662000d39620006a360201b60201c565b6200102060201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000df25750600081115b1562000fd357600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000ee55760008062000e8c600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620010ac60201b620017da1785620006c560201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000eda92919062001c1d565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000fd25760008062000f79600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006ad60201b620015c41785620006c560201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000fc792919062001c1d565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600062001032620010c460201b60201c565b9050806200104984600001620010e260201b60201c565b1015620010a75782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b60008183620010bc919062001c4a565b905092915050565b6000620010dd60086200113560201b620017f01760201c565b905090565b600080828054905003620010fa576000905062001130565b81600183805490506200110e919062001c4a565b8154811062001122576200112162001c85565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620011c557607f821691505b602082108103620011db57620011da6200117d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001206565b62001251868362001206565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200129e62001298620012928462001269565b62001273565b62001269565b9050919050565b6000819050919050565b620012ba836200127d565b620012d2620012c982620012a5565b84845462001213565b825550505050565b600090565b620012e9620012da565b620012f6818484620012af565b505050565b5b818110156200131e5762001312600082620012df565b600181019050620012fc565b5050565b601f8211156200136d576200133781620011e1565b6200134284620011f6565b8101602085101562001352578190505b6200136a6200136185620011f6565b830182620012fb565b50505b505050565b600082821c905092915050565b6000620013926000198460080262001372565b1980831691505092915050565b6000620013ad83836200137f565b9150826002028217905092915050565b620013c88262001143565b67ffffffffffffffff811115620013e457620013e36200114e565b5b620013f08254620011ac565b620013fd82828562001322565b600060209050601f83116001811462001435576000841562001420578287015190505b6200142c85826200139f565b8655506200149c565b601f1984166200144586620011e1565b60005b828110156200146f5784890151825560018201915060208501945060208101905062001448565b868310156200148f57848901516200148b601f8916826200137f565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562001532578086048111156200150a5762001509620014a4565b5b60018516156200151a5780820291505b80810290506200152a85620014d3565b9450620014ea565b94509492505050565b6000826200154d576001905062001620565b816200155d576000905062001620565b81600181146200157657600281146200158157620015b7565b600191505062001620565b60ff841115620015965762001595620014a4565b5b8360020a915084821115620015b057620015af620014a4565b5b5062001620565b5060208310610133831016604e8410600b8410161715620015f15782820a905083811115620015eb57620015ea620014a4565b5b62001620565b620016008484846001620014e0565b925090508184048111156200161a5762001619620014a4565b5b81810290505b9392505050565b600060ff82169050919050565b6000620016418262001269565b91506200164e8362001627565b92506200167d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200153b565b905092915050565b6000620016928262001269565b91506200169f8362001269565b9250828202620016af8162001269565b91508282048414831517620016c957620016c8620014a4565b5b5092915050565b6000819050919050565b620016e581620016d0565b82525050565b620016f68162001269565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200172982620016fc565b9050919050565b6200173b816200171c565b82525050565b600060a082019050620017586000830188620016da565b620017676020830187620016da565b620017766040830186620016da565b620017856060830185620016eb565b62001794608083018462001730565b9695505050505050565b600082825260208201905092915050565b60005b83811015620017cf578082015181840152602081019050620017b2565b60008484015250505050565b6000601f19601f8301169050919050565b6000620017f98262001143565b6200180581856200179e565b935062001817818560208601620017af565b6200182281620017db565b840191505092915050565b60006020820190508181036000830152620018498184620017ec565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200187a8251620016d0565b80915050919050565b6000620018908262001851565b826200189c846200185c565b9050620018a9816200186c565b92506020821015620018ec57620018e77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262001206565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620019516030836200179e565b91506200195e82620018f3565b604082019050919050565b60006020820190508181036000830152620019848162001942565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620019c3601f836200179e565b9150620019d0826200198b565b602082019050919050565b60006020820190508181036000830152620019f681620019b4565b9050919050565b600062001a0a8262001269565b915062001a178362001269565b925082820190508082111562001a325762001a31620014a4565b5b92915050565b600060208201905062001a4f6000830184620016eb565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600062001ab36027836200179e565b915062001ac08262001a55565b604082019050919050565b6000602082019050818103600083015262001ae68162001aa4565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600062001b4b6026836200179e565b915062001b588262001aed565b604082019050919050565b6000602082019050818103600083015262001b7e8162001b3c565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001be36026836200179e565b915062001bf08262001b85565b604082019050919050565b6000602082019050818103600083015262001c168162001bd4565b9050919050565b600060408201905062001c346000830185620016eb565b62001c436020830184620016eb565b9392505050565b600062001c578262001269565b915062001c648362001269565b925082820390508181111562001c7f5762001c7e620014a4565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e051610100516101205161014051614cb062001d0f6000396000610b6101526000610b2d01526000612a07015260006129e601526000611cd501526000611d2b01526000611d540152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80637ecebe001161010f5780639ab24eb0116100a2578063d505accf11610071578063d505accf14610611578063dd62ed3e1461062d578063f1127ed81461065d578063f2fde38b1461068d576101f0565b80639ab24eb014610565578063a457c2d714610595578063a9059cbb146105c5578063c3cda520146105f5576101f0565b806391ddadf4116100de57806391ddadf4146104ef57806395d89b411461050d5780639711715a1461052b578063981b24d014610535576101f0565b80637ecebe001461044d57806384b0196e1461047d5780638da5cb5b146104a15780638e539e8c146104bf576101f0565b806340c10f19116101875780635c19a95c116101565780635c19a95c146103c75780636fcfff45146103e357806370a0823114610413578063715018a614610443576101f0565b806340c10f191461032d5780634bf5d7e9146103495780634ee2cd7e14610367578063587cde1e14610397576101f0565b8063313ce567116101c3578063313ce567146102915780633644e515146102af57806339509351146102cd5780633a46b1a8146102fd576101f0565b806306fdde03146101f5578063095ea7b31461021357806318160ddd1461024357806323b872dd14610261575b600080fd5b6101fd6106a9565b60405161020a9190613273565b60405180910390f35b61022d6004803603810190610228919061332e565b61073b565b60405161023a9190613389565b60405180910390f35b61024b61075e565b60405161025891906133b3565b60405180910390f35b61027b600480360381019061027691906133ce565b610768565b6040516102889190613389565b60405180910390f35b610299610797565b6040516102a6919061343d565b60405180910390f35b6102b76107a0565b6040516102c49190613471565b60405180910390f35b6102e760048036038101906102e2919061332e565b6107af565b6040516102f49190613389565b60405180910390f35b6103176004803603810190610312919061332e565b6107e6565b60405161032491906133b3565b60405180910390f35b6103476004803603810190610342919061332e565b610889565b005b61035161089f565b60405161035e9190613273565b60405180910390f35b610381600480360381019061037c919061332e565b61092d565b60405161038e91906133b3565b60405180910390f35b6103b160048036038101906103ac919061348c565b61099d565b6040516103be91906134c8565b60405180910390f35b6103e160048036038101906103dc919061348c565b610a06565b005b6103fd60048036038101906103f8919061348c565b610a1a565b60405161040a9190613502565b60405180910390f35b61042d6004803603810190610428919061348c565b610a6e565b60405161043a91906133b3565b60405180910390f35b61044b610ab6565b005b6104676004803603810190610462919061348c565b610aca565b60405161047491906133b3565b60405180910390f35b610485610b1a565b6040516104989796959493929190613616565b60405180910390f35b6104a9610c1c565b6040516104b691906134c8565b60405180910390f35b6104d960048036038101906104d4919061369a565b610c46565b6040516104e691906133b3565b60405180910390f35b6104f7610cab565b60405161050491906136e8565b60405180910390f35b610515610cbb565b6040516105229190613273565b60405180910390f35b610533610d4d565b005b61054f600480360381019061054a919061369a565b610d60565b60405161055c91906133b3565b60405180910390f35b61057f600480360381019061057a919061348c565b610d91565b60405161058c91906133b3565b60405180910390f35b6105af60048036038101906105aa919061332e565b610e99565b6040516105bc9190613389565b60405180910390f35b6105df60048036038101906105da919061332e565b610f10565b6040516105ec9190613389565b60405180910390f35b61060f600480360381019061060a919061375b565b610f33565b005b61062b600480360381019061062691906137e8565b611037565b005b6106476004803603810190610642919061388a565b611179565b60405161065491906133b3565b60405180910390f35b610677600480360381019061067291906138f6565b611200565b60405161068491906139ab565b60405180910390f35b6106a760048036038101906106a2919061348c565b611310565b005b6060600380546106b8906139f5565b80601f01602080910402602001604051908101604052809291908181526020018280546106e4906139f5565b80156107315780601f1061070657610100808354040283529160200191610731565b820191906000526020600020905b81548152906001019060200180831161071457829003601f168201915b5050505050905090565b6000806107466117fe565b9050610753818585611806565b600191505092915050565b6000600254905090565b6000806107736117fe565b90506107808582856119cf565b61078b858585611a5b565b60019150509392505050565b60006012905090565b60006107aa611cd1565b905090565b6000806107ba6117fe565b90506107db8185856107cc8589611179565b6107d69190613a55565b611806565b600191505092915050565b60006107f0610cab565b65ffffffffffff168210610839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083090613ad5565b60405180910390fd5b610881600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611d88565b905092915050565b610891611ed0565b61089b8282611f4e565b5050565b6060436108aa610cab565b65ffffffffffff16146108f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e990613b41565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b600080600061097a84600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f5c565b91509150816109915761098c85610a6e565b610993565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610a17610a116117fe565b82612051565b50565b6000610a67600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611645565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610abe611ed0565b610ac8600061216b565b565b6000610b13600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206117f0565b9050919050565b600060608060008060006060610b5a600a7f000000000000000000000000000000000000000000000000000000000000000061223190919063ffffffff16565b610b8e600b7f000000000000000000000000000000000000000000000000000000000000000061223190919063ffffffff16565b46306000801b600067ffffffffffffffff811115610baf57610bae613b61565b5b604051908082528060200260200182016040528015610bdd5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610c50610cab565b65ffffffffffff168210610c99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9090613ad5565b60405180910390fd5b610ca4601083611d88565b9050919050565b6000610cb64361177b565b905090565b606060048054610cca906139f5565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf6906139f5565b8015610d435780601f10610d1857610100808354040283529160200191610d43565b820191906000526020600020905b815481529060010190602001808311610d2657829003601f168201915b5050505050905090565b610d55611ed0565b610d5d6122e1565b50565b6000806000610d70846006611f5c565b9150915081610d8657610d8161075e565b610d88565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610e7057600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001820381548110610e3557610e34613b90565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610e73565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610ea46117fe565b90506000610eb28286611179565b905083811015610ef7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eee90613c31565b60405180910390fd5b610f048286868403611806565b60019250505092915050565b600080610f1b6117fe565b9050610f28818585611a5b565b600191505092915050565b83421115610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d90613c9d565b60405180910390fd5b6000610fd8610fd07fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610fb59493929190613cbd565b60405160208183030381529060405280519060200120612337565b858585612351565b9050610fe38161237c565b8614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90613d4e565b60405180910390fd5b61102e8188612051565b50505050505050565b8342111561107a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107190613dba565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110a98c61237c565b896040516020016110bf96959493929190613dda565b60405160208183030381529060405280519060200120905060006110e282612337565b905060006110f282878787612351565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611162576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115990613e87565b60405180910390fd5b61116d8a8a8a611806565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112086131a5565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061125f5761125e613b90565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b611318611ed0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611387576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137e90613f19565b60405180910390fd5b6113908161216b565b50565b60006020835110156113af576113a8836123da565b90506113d1565b826113b9836113d7565b60000190816113c891906140e5565b5060ff60001b90505b92915050565b6000819050919050565b6113eb828261146e565b6113f3612442565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661141961075e565b111561145a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145190614229565b60405180910390fd5b61146860106115c483612466565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d490614295565b60405180910390fd5b6114e960008383612741565b80600260008282546114fb9190613a55565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115ac91906133b3565b60405180910390a36115c060008383612751565b5050565b600081836115d29190613a55565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111561163d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163490614327565b60405180910390fd5b819050919050565b600063ffffffff8016821115611690576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611687906143b9565b60405180910390fd5b819050919050565b6116a38383836117d0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116ed576116e082612761565b6116e86127b4565b61174b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117375761172a83612761565b6117326127b4565b61174a565b61174083612761565b61174982612761565b5b5b505050565b61175b8383836117d5565b6117766117678461099d565b6117708461099d565b836127c8565b505050565b600065ffffffffffff80168211156117c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bf9061444b565b60405180910390fd5b819050919050565b505050565b505050565b600081836117e8919061446b565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611875576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186c90614511565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db906145a3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516119c291906133b3565b60405180910390a3505050565b60006119db8484611179565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a555781811015611a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3e9061460f565b60405180910390fd5b611a548484848403611806565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611aca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac1906146a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3090614733565b60405180910390fd5b611b44838383612741565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611bca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc1906147c5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611cb891906133b3565b60405180910390a3611ccb848484612751565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d4d57507f000000000000000000000000000000000000000000000000000000000000000046145b15611d7a577f00000000000000000000000000000000000000000000000000000000000000009050611d85565b611d826129c1565b90505b90565b600080838054905090506000808290506005831115611dfe576000611dac84612a57565b84611db7919061446b565b905085611dc48883612b50565b60000160009054906101000a900463ffffffff1663ffffffff161115611dec57809150611dfc565b600181611df99190613a55565b92505b505b5b80821015611e5e576000611e138383612b65565b905085611e208883612b50565b60000160009054906101000a900463ffffffff1663ffffffff161115611e4857809150611e58565b600181611e559190613a55565b92505b50611dff565b60008114611ea457611e738660018303612b50565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611ea7565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611ed86117fe565b73ffffffffffffffffffffffffffffffffffffffff16611ef6610c1c565b73ffffffffffffffffffffffffffffffffffffffff1614611f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4390614831565b60405180910390fd5b565b611f5882826113e1565b5050565b60008060008411611fa2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f999061489d565b60405180910390fd5b611faa612b8b565b841115611fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe390614909565b60405180910390fd5b60006120048585600001612b9c90919063ffffffff16565b90508360000180549050810361202157600080925092505061204a565b600184600101828154811061203957612038613b90565b5b906000526020600020015492509250505b9250929050565b600061205c8361099d565b9050600061206984610a6e565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46121658284836127c8565b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b606060ff60001b831461224e5761224783612c55565b90506122db565b81805461225a906139f5565b80601f0160208091040260200160405190810160405280929190818152602001828054612286906139f5565b80156122d35780601f106122a8576101008083540402835291602001916122d3565b820191906000526020600020905b8154815290600101906020018083116122b657829003601f168201915b505050505090505b92915050565b60006122ed6008612cc9565b60006122f7612b8b565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb678160405161232891906133b3565b60405180910390a18091505090565b600061234a612344611cd1565b83612cdf565b9050919050565b600080600061236287878787612d20565b9150915061236f81612e02565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506123c9816117f0565b91506123d481612cc9565b50919050565b600080829050601f8151111561242757826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161241e9190613273565b60405180910390fd5b80518161243390614959565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600080600085805490509050600080821461252c576124888760018403612b50565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612568565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061259d84868863ffffffff16565b92506000821180156125c757506125b2610cab565b65ffffffffffff16816000015163ffffffff16145b15612638576125d5836115da565b6125e28860018503612b50565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612737565b86604051806040016040528061265c61264f610cab565b65ffffffffffff16611645565b63ffffffff168152602001612670866115da565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b61274c838383611698565b505050565b61275c838383611750565b505050565b6127b1600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206127ac83610a6e565b612f68565b50565b6127c660066127c161075e565b612f68565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128045750600081115b156129bc57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146128e25760008061288b600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206117da85612466565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516128d79291906149c0565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146129bb57600080612964600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206115c485612466565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516129b09291906149c0565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612a3c9594939291906149e9565b60405160208183030381529060405280519060200120905090565b6000808203612a695760009050612b4b565b60006001612a7684612fe3565b901c6001901b90506001818481612a9057612a8f614a3c565b5b048201901c90506001818481612aa957612aa8614a3c565b5b048201901c90506001818481612ac257612ac1614a3c565b5b048201901c90506001818481612adb57612ada614a3c565b5b048201901c90506001818481612af457612af3614a3c565b5b048201901c90506001818481612b0d57612b0c614a3c565b5b048201901c90506001818481612b2657612b25614a3c565b5b048201901c9050612b4781828581612b4157612b40614a3c565b5b046130c4565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612b769190614a6b565b828416612b839190613a55565b905092915050565b6000612b9760086117f0565b905090565b600080838054905003612bb25760009050612c4f565b600080848054905090505b80821015612c06576000612bd18383612b65565b905084612bde87836130dd565b600001541115612bf057809150612c00565b600181612bfd9190613a55565b92505b50612bbd565b600082118015612c2e575083612c2886600185612c23919061446b565b6130dd565b60000154145b15612c4957600182612c40919061446b565b92505050612c4f565b81925050505b92915050565b60606000612c62836130ff565b90506000602067ffffffffffffffff811115612c8157612c80613b61565b5b6040519080825280601f01601f191660200182016040528015612cb35781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612d5b576000600391509150612df9565b600060018787878760405160008152602001604052604051612d809493929190614a9c565b6020604051602081039080840390855afa158015612da2573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612df057600060019250925050612df9565b80600092509250505b94509492505050565b60006004811115612e1657612e15614ae1565b5b816004811115612e2957612e28614ae1565b5b0315612f655760016004811115612e4357612e42614ae1565b5b816004811115612e5657612e55614ae1565b5b03612e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8d90614b5c565b60405180910390fd5b60026004811115612eaa57612ea9614ae1565b5b816004811115612ebd57612ebc614ae1565b5b03612efd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef490614bc8565b60405180910390fd5b60036004811115612f1157612f10614ae1565b5b816004811115612f2457612f23614ae1565b5b03612f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f5b90614c5a565b60405180910390fd5b5b50565b6000612f72612b8b565b905080612f818460000161314f565b1015612fde5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c111561300557608083901c92506080810190505b6000604084901c111561302057604083901c92506040810190505b6000602084901c111561303b57602083901c92506020810190505b6000601084901c111561305657601083901c92506010810190505b6000600884901c111561307157600883901c92506008810190505b6000600484901c111561308c57600483901c92506004810190505b6000600284901c11156130a757600283901c92506002810190505b6000600184901c11156130bb576001810190505b80915050919050565b60008183106130d357816130d5565b825b905092915050565b600080836000528260206000200190506130f68161319b565b91505092915050565b60008060ff8360001c169050601f811115613146576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036131655760009050613196565b8160018380549050613177919061446b565b8154811061318857613187613b90565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561321d578082015181840152602081019050613202565b60008484015250505050565b6000601f19601f8301169050919050565b6000613245826131e3565b61324f81856131ee565b935061325f8185602086016131ff565b61326881613229565b840191505092915050565b6000602082019050818103600083015261328d818461323a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132c58261329a565b9050919050565b6132d5816132ba565b81146132e057600080fd5b50565b6000813590506132f2816132cc565b92915050565b6000819050919050565b61330b816132f8565b811461331657600080fd5b50565b60008135905061332881613302565b92915050565b6000806040838503121561334557613344613295565b5b6000613353858286016132e3565b925050602061336485828601613319565b9150509250929050565b60008115159050919050565b6133838161336e565b82525050565b600060208201905061339e600083018461337a565b92915050565b6133ad816132f8565b82525050565b60006020820190506133c860008301846133a4565b92915050565b6000806000606084860312156133e7576133e6613295565b5b60006133f5868287016132e3565b9350506020613406868287016132e3565b925050604061341786828701613319565b9150509250925092565b600060ff82169050919050565b61343781613421565b82525050565b6000602082019050613452600083018461342e565b92915050565b6000819050919050565b61346b81613458565b82525050565b60006020820190506134866000830184613462565b92915050565b6000602082840312156134a2576134a1613295565b5b60006134b0848285016132e3565b91505092915050565b6134c2816132ba565b82525050565b60006020820190506134dd60008301846134b9565b92915050565b600063ffffffff82169050919050565b6134fc816134e3565b82525050565b600060208201905061351760008301846134f3565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6135528161351d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61358d816132f8565b82525050565b600061359f8383613584565b60208301905092915050565b6000602082019050919050565b60006135c382613558565b6135cd8185613563565b93506135d883613574565b8060005b838110156136095781516135f08882613593565b97506135fb836135ab565b9250506001810190506135dc565b5085935050505092915050565b600060e08201905061362b600083018a613549565b818103602083015261363d818961323a565b90508181036040830152613651818861323a565b905061366060608301876133a4565b61366d60808301866134b9565b61367a60a0830185613462565b81810360c083015261368c81846135b8565b905098975050505050505050565b6000602082840312156136b0576136af613295565b5b60006136be84828501613319565b91505092915050565b600065ffffffffffff82169050919050565b6136e2816136c7565b82525050565b60006020820190506136fd60008301846136d9565b92915050565b61370c81613421565b811461371757600080fd5b50565b60008135905061372981613703565b92915050565b61373881613458565b811461374357600080fd5b50565b6000813590506137558161372f565b92915050565b60008060008060008060c0878903121561377857613777613295565b5b600061378689828a016132e3565b965050602061379789828a01613319565b95505060406137a889828a01613319565b94505060606137b989828a0161371a565b93505060806137ca89828a01613746565b92505060a06137db89828a01613746565b9150509295509295509295565b600080600080600080600060e0888a03121561380757613806613295565b5b60006138158a828b016132e3565b97505060206138268a828b016132e3565b96505060406138378a828b01613319565b95505060606138488a828b01613319565b94505060806138598a828b0161371a565b93505060a061386a8a828b01613746565b92505060c061387b8a828b01613746565b91505092959891949750929550565b600080604083850312156138a1576138a0613295565b5b60006138af858286016132e3565b92505060206138c0858286016132e3565b9150509250929050565b6138d3816134e3565b81146138de57600080fd5b50565b6000813590506138f0816138ca565b92915050565b6000806040838503121561390d5761390c613295565b5b600061391b858286016132e3565b925050602061392c858286016138e1565b9150509250929050565b61393f816134e3565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61397681613945565b82525050565b6040820160008201516139926000850182613936565b5060208201516139a5602085018261396d565b50505050565b60006040820190506139c0600083018461397c565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613a0d57607f821691505b602082108103613a2057613a1f6139c6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613a60826132f8565b9150613a6b836132f8565b9250828201905080821115613a8357613a82613a26565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613abf6019836131ee565b9150613aca82613a89565b602082019050919050565b60006020820190508181036000830152613aee81613ab2565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613b2b601d836131ee565b9150613b3682613af5565b602082019050919050565b60006020820190508181036000830152613b5a81613b1e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613c1b6025836131ee565b9150613c2682613bbf565b604082019050919050565b60006020820190508181036000830152613c4a81613c0e565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613c87601d836131ee565b9150613c9282613c51565b602082019050919050565b60006020820190508181036000830152613cb681613c7a565b9050919050565b6000608082019050613cd26000830187613462565b613cdf60208301866134b9565b613cec60408301856133a4565b613cf960608301846133a4565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613d386019836131ee565b9150613d4382613d02565b602082019050919050565b60006020820190508181036000830152613d6781613d2b565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000613da4601d836131ee565b9150613daf82613d6e565b602082019050919050565b60006020820190508181036000830152613dd381613d97565b9050919050565b600060c082019050613def6000830189613462565b613dfc60208301886134b9565b613e0960408301876134b9565b613e1660608301866133a4565b613e2360808301856133a4565b613e3060a08301846133a4565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000613e71601e836131ee565b9150613e7c82613e3b565b602082019050919050565b60006020820190508181036000830152613ea081613e64565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f036026836131ee565b9150613f0e82613ea7565b604082019050919050565b60006020820190508181036000830152613f3281613ef6565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613f9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613f5e565b613fa58683613f5e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613fe2613fdd613fd8846132f8565b613fbd565b6132f8565b9050919050565b6000819050919050565b613ffc83613fc7565b61401061400882613fe9565b848454613f6b565b825550505050565b600090565b614025614018565b614030818484613ff3565b505050565b5b818110156140545761404960008261401d565b600181019050614036565b5050565b601f8211156140995761406a81613f39565b61407384613f4e565b81016020851015614082578190505b61409661408e85613f4e565b830182614035565b50505b505050565b600082821c905092915050565b60006140bc6000198460080261409e565b1980831691505092915050565b60006140d583836140ab565b9150826002028217905092915050565b6140ee826131e3565b67ffffffffffffffff81111561410757614106613b61565b5b61411182546139f5565b61411c828285614058565b600060209050601f83116001811461414f576000841561413d578287015190505b61414785826140c9565b8655506141af565b601f19841661415d86613f39565b60005b8281101561418557848901518255600182019150602085019450602081019050614160565b868310156141a2578489015161419e601f8916826140ab565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006142136030836131ee565b915061421e826141b7565b604082019050919050565b6000602082019050818103600083015261424281614206565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061427f601f836131ee565b915061428a82614249565b602082019050919050565b600060208201905081810360008301526142ae81614272565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006143116027836131ee565b915061431c826142b5565b604082019050919050565b6000602082019050818103600083015261434081614304565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006143a36026836131ee565b91506143ae82614347565b604082019050919050565b600060208201905081810360008301526143d281614396565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006144356026836131ee565b9150614440826143d9565b604082019050919050565b6000602082019050818103600083015261446481614428565b9050919050565b6000614476826132f8565b9150614481836132f8565b925082820390508181111561449957614498613a26565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006144fb6024836131ee565b91506145068261449f565b604082019050919050565b6000602082019050818103600083015261452a816144ee565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061458d6022836131ee565b915061459882614531565b604082019050919050565b600060208201905081810360008301526145bc81614580565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006145f9601d836131ee565b9150614604826145c3565b602082019050919050565b60006020820190508181036000830152614628816145ec565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061468b6025836131ee565b91506146968261462f565b604082019050919050565b600060208201905081810360008301526146ba8161467e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061471d6023836131ee565b9150614728826146c1565b604082019050919050565b6000602082019050818103600083015261474c81614710565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006147af6026836131ee565b91506147ba82614753565b604082019050919050565b600060208201905081810360008301526147de816147a2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061481b6020836131ee565b9150614826826147e5565b602082019050919050565b6000602082019050818103600083015261484a8161480e565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b60006148876016836131ee565b915061489282614851565b602082019050919050565b600060208201905081810360008301526148b68161487a565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b60006148f3601d836131ee565b91506148fe826148bd565b602082019050919050565b60006020820190508181036000830152614922816148e6565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006149508251613458565b80915050919050565b600061496482614929565b8261496e84614934565b905061497981614944565b925060208210156149b9576149b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802613f5e565b831692505b5050919050565b60006040820190506149d560008301856133a4565b6149e260208301846133a4565b9392505050565b600060a0820190506149fe6000830188613462565b614a0b6020830187613462565b614a186040830186613462565b614a2560608301856133a4565b614a3260808301846134b9565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614a76826132f8565b9150614a81836132f8565b925082614a9157614a90614a3c565b5b828204905092915050565b6000608082019050614ab16000830187613462565b614abe602083018661342e565b614acb6040830185613462565b614ad86060830184613462565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614b466018836131ee565b9150614b5182614b10565b602082019050919050565b60006020820190508181036000830152614b7581614b39565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614bb2601f836131ee565b9150614bbd82614b7c565b602082019050919050565b60006020820190508181036000830152614be181614ba5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000614c446022836131ee565b9150614c4f82614be8565b604082019050919050565b60006020820190508181036000830152614c7381614c37565b905091905056fea2646970667358221220c11041a4e651adefae9263459bd2ec555f62ad6803e3a141c32db1fc285d111464736f6c63430008120033