608060405233600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600a60006101000a81548160ff021916908360038111156200006e576200006d620005c8565b5b02179055503480156200008057600080fd5b50604051806060016040528060268152602001620065a160269139620000ac816200033860201b60201c565b50620000cd620000c16200034d60201b60201c565b6200035560201b60201c565b6120d060086000808152602001908152602001600020819055506105dc6008600060018152602001908152602001600020819055506032600860006002815260200190815260200160002081905550600a60086000600381526020019081526020016000208190555060016008600060048152602001908152602001600020819055506001600860006005815260200190815260200160002081905550600160086000600681526020019081526020016000208190555060016008600060078152602001908152602001600020819055506001600860006008815260200190815260200160002081905550600160086000600981526020019081526020016000208190555067016345785d8a00006009600080815260200190815260200160002081905550670429d069189e0000600960006001815260200190815260200160002081905550670c7d713b49da00006009600060028152602001908152602001600020819055506729a2241af62c0000600960006003815260200190815260200160002081905550678ac7230489e8000060096000600481526020019081526020016000208190555068062f74a178e81200006009600060058152602001908152602001600020819055506803b328b56560690000600960006006815260200190815260200160002081905550680253145ccfe0c0000060096000600781526020019081526020016000208190555067c7d713b49da00000600960006008815260200190815260200160002081905550674fefa17b7240000060096000600981526020019081526020016000208190555062000332336101f46200041b60201b60201c565b62000a73565b806002908162000349919062000871565b5050565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200042b620005be60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156200048c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200048390620009df565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004f59062000a51565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600360008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000612710905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200067957607f821691505b6020821081036200068f576200068e62000631565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006f97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006ba565b620007058683620006ba565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620007526200074c62000746846200071d565b62000727565b6200071d565b9050919050565b6000819050919050565b6200076e8362000731565b620007866200077d8262000759565b848454620006c7565b825550505050565b600090565b6200079d6200078e565b620007aa81848462000763565b505050565b5b81811015620007d257620007c660008262000793565b600181019050620007b0565b5050565b601f8211156200082157620007eb8162000695565b620007f684620006aa565b8101602085101562000806578190505b6200081e6200081585620006aa565b830182620007af565b50505b505050565b600082821c905092915050565b6000620008466000198460080262000826565b1980831691505092915050565b600062000861838362000833565b9150826002028217905092915050565b6200087c82620005f7565b67ffffffffffffffff81111562000898576200089762000602565b5b620008a4825462000660565b620008b1828285620007d6565b600060209050601f831160018114620008e95760008415620008d4578287015190505b620008e0858262000853565b86555062000950565b601f198416620008f98662000695565b60005b828110156200092357848901518255600182019150602085019450602081019050620008fc565b868310156200094357848901516200093f601f89168262000833565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b6000620009c7602a8362000958565b9150620009d48262000969565b604082019050919050565b60006020820190508181036000830152620009fa81620009b8565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000a3960198362000958565b915062000a468262000a01565b602082019050919050565b6000602082019050818103600083015262000a6c8162000a2a565b9050919050565b615b1e8062000a836000396000f3fe6080604052600436106102665760003560e01c80634e1273f411610144578063c051e38a116100b6578063ec8c89041161007a578063ec8c890414610911578063f242432a14610928578063f26f917b14610951578063f2fde38b1461098e578063f9b35d31146109b7578063fc7f562a146109e257610266565b8063c051e38a1461083c578063c887f2ad14610867578063e404fa8a14610892578063e6a7e933146108bd578063e985e9c5146108d457610266565b8063739c066411610108578063739c06641461073e57806376c64c62146107695780638212c1d1146107805780638da5cb5b146107ab578063a22cb465146107d6578063bc31c1c1146107ff57610266565b80634e1273f41461065b57806355f804b31461069857806360d486d2146106c157806367b8706a146106ea578063715018a61461072757610266565b80632a55205a116101dd5780633307ce84116101a15780633307ce8414610573578063342107741461059c5780633512639c146105c55780633c08e927146105ee5780633ccfd60b1461061957806341776d9c1461063057610266565b80632a55205a1461048d5780632a6bd12b146104cb5780632ba29d38146104f65780632baf2acb146105215780632eb2c2d61461054a57610266565b80630e89341c1161022f5780630e89341c1461036457806310a10871146103a15780631b2ef1ca146103cc578063261152c9146103e8578063261775661461042557806326f1a1fd1461045057610266565b8062fdd58e1461026b578063017043a5146102a857806301ffc9a7146102bf5780630225d2a2146102fc57806305a3b80914610327575b600080fd5b34801561027757600080fd5b50610292600480360381019061028d919061372b565b610a0d565b60405161029f919061377a565b60405180910390f35b3480156102b457600080fd5b506102bd610ad5565b005b3480156102cb57600080fd5b506102e660048036038101906102e191906137ed565b610b0a565b6040516102f39190613835565b60405180910390f35b34801561030857600080fd5b50610311610b84565b60405161031e919061377a565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190613850565b610b89565b60405161035b9190613835565b60405180910390f35b34801561037057600080fd5b5061038b6004803603810190610386919061387d565b610bdf565b6040516103989190613943565b60405180910390f35b3480156103ad57600080fd5b506103b6610c5d565b6040516103c3919061377a565b60405180910390f35b6103e660048036038101906103e19190613965565b610c62565b005b3480156103f457600080fd5b5061040f600480360381019061040a919061387d565b610eef565b60405161041c919061377a565b60405180910390f35b34801561043157600080fd5b5061043a610f17565b604051610447919061377a565b60405180910390f35b34801561045c57600080fd5b506104776004803603810190610472919061387d565b610f1c565b604051610484919061377a565b60405180910390f35b34801561049957600080fd5b506104b460048036038101906104af9190613965565b610f34565b6040516104c29291906139b4565b60405180910390f35b3480156104d757600080fd5b506104e061111e565b6040516104ed919061377a565b60405180910390f35b34801561050257600080fd5b5061050b611123565b60405161051891906139dd565b60405180910390f35b34801561052d57600080fd5b50610548600480360381019061054391906139f8565b61114d565b005b34801561055657600080fd5b50610571600480360381019061056c9190613c48565b6111f2565b005b34801561057f57600080fd5b5061059a60048036038101906105959190613850565b611293565b005b3480156105a857600080fd5b506105c360048036038101906105be9190613d9e565b6112df565b005b3480156105d157600080fd5b506105ec60048036038101906105e79190613e54565b61138c565b005b3480156105fa57600080fd5b506106036115c6565b604051610610919061377a565b60405180910390f35b34801561062557600080fd5b5061062e6115cb565b005b34801561063c57600080fd5b506106456115fe565b604051610652919061377a565b60405180910390f35b34801561066757600080fd5b50610682600480360381019061067d9190613fac565b611603565b60405161068f91906140e2565b60405180910390f35b3480156106a457600080fd5b506106bf60048036038101906106ba919061415a565b61171c565b005b3480156106cd57600080fd5b506106e860048036038101906106e391906139f8565b611775565b005b3480156106f657600080fd5b50610711600480360381019061070c919061387d565b611890565b60405161071e919061377a565b60405180910390f35b34801561073357600080fd5b5061073c6118bf565b005b34801561074a57600080fd5b506107536118d3565b604051610760919061377a565b60405180910390f35b34801561077557600080fd5b5061077e6118d8565b005b34801561078c57600080fd5b5061079561190d565b6040516107a2919061377a565b60405180910390f35b3480156107b757600080fd5b506107c0611912565b6040516107cd91906139dd565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f891906141a7565b61193c565b005b34801561080b57600080fd5b506108266004803603810190610821919061387d565b611952565b604051610833919061377a565b60405180910390f35b34801561084857600080fd5b5061085161196a565b60405161085e919061425e565b60405180910390f35b34801561087357600080fd5b5061087c61197d565b6040516108899190613943565b60405180910390f35b34801561089e57600080fd5b506108a76119b6565b6040516108b4919061377a565b60405180910390f35b3480156108c957600080fd5b506108d26119bb565b005b3480156108e057600080fd5b506108fb60048036038101906108f69190614279565b6119f0565b6040516109089190613835565b60405180910390f35b34801561091d57600080fd5b50610926611a84565b005b34801561093457600080fd5b5061094f600480360381019061094a91906142b9565b611b60565b005b34801561095d57600080fd5b506109786004803603810190610973919061387d565b611c01565b604051610985919061377a565b60405180910390f35b34801561099a57600080fd5b506109b560048036038101906109b09190613850565b611c1f565b005b3480156109c357600080fd5b506109cc611ca2565b6040516109d9919061377a565b60405180910390f35b3480156109ee57600080fd5b506109f7611ca7565b604051610a04919061377a565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a74906143c2565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610add611cac565b6003600a60006101000a81548160ff02191690836003811115610b0357610b026141e7565b5b0217905550565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b7d5750610b7c82611d2a565b5b9050919050565b600881565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b606081610beb81611da4565b610bf56000611dea565b610bfe84611e7e565b6040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250604051602001610c469392919061441e565b604051602081830303815290604052915050919050565b600681565b3360006003811115610c7757610c766141e7565b5b600a60009054906101000a900460ff166003811115610c9957610c986141e7565b5b03610cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd09061449b565b60405180910390fd5b600380811115610cec57610ceb6141e7565b5b600a60009054906101000a900460ff166003811115610d0e57610d0d6141e7565b5b03610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4590614507565b60405180910390fd5b60026003811115610d6257610d616141e7565b5b600a60009054906101000a900460ff166003811115610d8457610d836141e7565b5b1480610dd95750600b60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0f90614573565b60405180910390fd5b8282610e248282611fde565b6000846009600088815260200190815260200160002054610e4591906145c2565b905080341015610e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8190614668565b60405180910390fd5b803414610ecc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec3906146d4565b60405180910390fd5b610ee7338787604051806020016040528060008152506120a9565b505050505050565b600081610efb81611da4565b6008600084815260200190815260200160002054915050919050565b600281565b60086020528060005260406000206000915090505481565b6000806000600460008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16036110c95760036040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b60006110d36120e0565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff16866110ff91906145c2565b6111099190614723565b90508160000151819350935050509250929050565b600581565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611155611cac565b81816111618282611fde565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036111d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c7906147a0565b60405180910390fd5b6111eb858585604051806020016040528060008152506120a9565b5050505050565b6111fa6120ea565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480611240575061123f8561123a6120ea565b6119f0565b5b61127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690614832565b60405180910390fd5b61128c85858585856120f2565b5050505050565b61129b611cac565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112e7611cac565b60005b838390508110156113865781600b600086868581811061130d5761130c614852565b5b90506020020160208101906113229190613850565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061137e90614881565b9150506112ea565b50505050565b611394611cac565b8181905084849050146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390614915565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361144b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611442906147a0565b60405180910390fd5b60005b848490508110156114a85761149585858381811061146f5761146e614852565b5b9050602002013584848481811061148957611488614852565b5b90506020020135611fde565b80806114a090614881565b91505061144e565b5060005b848490508110156115215761150e8383838181106114cd576114cc614852565b5b90506020020135600760008888868181106114eb576114ea614852565b5b90506020020135815260200190815260200160002061241390919063ffffffff16565b808061151990614881565b9150506114ac565b506115bf85858580806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506040518060200160405280600081525061247c565b5050505050565b600181565b6115d3611cac565b6115fc473373ffffffffffffffffffffffffffffffffffffffff166126a890919063ffffffff16565b565b600381565b60608151835114611649576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611640906149a7565b60405180910390fd5b6000835167ffffffffffffffff81111561166657611665613a50565b5b6040519080825280602002602001820160405280156116945781602001602082028036833780820191505090505b50905060005b8451811015611711576116e18582815181106116b9576116b8614852565b5b60200260200101518583815181106116d4576116d3614852565b5b6020026020010151610a0d565b8282815181106116f4576116f3614852565b5b6020026020010181815250508061170a90614881565b905061169a565b508091505092915050565b611724611cac565b61177182828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061279c565b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611805576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fc90614a13565b60405180910390fd5b828073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614611874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186b90614aa5565b60405180910390fd5b8261187e81611da4565b6118898585856127af565b5050505050565b60008161189c81611da4565b6118b76007600085815260200190815260200160002061280b565b915050919050565b6118c7611cac565b6118d16000612819565b565b600781565b6118e0611cac565b6002600a60006101000a81548160ff02191690836003811115611906576119056141e7565b5b0217905550565b600981565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61194e6119476120ea565b83836128df565b5050565b60096020528060005260406000206000915090505481565b600a60009054906101000a900460ff1681565b6040518060400160405280600581526020017f2e6a736f6e00000000000000000000000000000000000000000000000000000081525081565b600081565b6119c3611cac565b6001600a60006101000a81548160ff021916908360038111156119e9576119e86141e7565b5b0217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611a8c611cac565b6000611aaa600760006004815260200190815260200160002061280b565b14611aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae190614b11565b60405180910390fd5b611b07336000600a604051806020016040528060008152506120a9565b611b243360016003604051806020016040528060008152506120a9565b611b413360026001604051806020016040528060008152506120a9565b611b5e3360046001604051806020016040528060008152506120a9565b565b611b686120ea565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480611bae5750611bad85611ba86120ea565b6119f0565b5b611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490614832565b60405180910390fd5b611bfa8585858585612a4b565b5050505050565b60076020528060005260406000206000915090508060000154905081565b611c27611cac565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8d90614ba3565b60405180910390fd5b611c9f81612819565b50565b600481565b600a81565b611cb46120ea565b73ffffffffffffffffffffffffffffffffffffffff16611cd2611912565b73ffffffffffffffffffffffffffffffffffffffff1614611d28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1f90614c0f565b60405180910390fd5b565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d9d5750611d9c82612ce6565b5b9050919050565b600a8110611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde90614c7b565b60405180910390fd5b50565b606060028054611df990614cca565b80601f0160208091040260200160405190810160405280929190818152602001828054611e2590614cca565b8015611e725780601f10611e4757610100808354040283529160200191611e72565b820191906000526020600020905b815481529060010190602001808311611e5557829003601f168201915b50505050509050919050565b606060008203611ec5576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611fd9565b600082905060005b60008214611ef7578080611ee090614881565b915050600a82611ef09190614723565b9150611ecd565b60008167ffffffffffffffff811115611f1357611f12613a50565b5b6040519080825280601f01601f191660200182016040528015611f455781602001600182028036833780820191505090505b5090505b60008514611fd257600182611f5e9190614cfb565b9150600a85611f6d9190614d2f565b6030611f799190614d60565b60f81b818381518110611f8f57611f8e614852565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611fcb9190614723565b9450611f49565b8093505050505b919050565b611fe782611da4565b6000811161202a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202190614e02565b60405180910390fd5b806120466007600085815260200190815260200160002061280b565b6120509190614d60565b600860008481526020019081526020016000205410156120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c90614e6e565b60405180910390fd5b5050565b6120ce826007600086815260200190815260200160002061241390919063ffffffff16565b6120da84848484612dc8565b50505050565b6000612710905090565b600033905090565b8151835114612136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212d90614f00565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036121a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219c90614f92565b60405180910390fd5b60006121af6120ea565b90506121bf818787878787612f78565b60005b84518110156123705760008582815181106121e0576121df614852565b5b6020026020010151905060008583815181106121ff576121fe614852565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156122a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229790615024565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123559190614d60565b925050819055505050508061236990614881565b90506121c2565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516123e7929190615044565b60405180910390a46123fd818787878787612f80565b61240b818787878787612f88565b505050505050565b6000826000015490508160001961242a9190614cfb565b81111561246c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612463906150c7565b60405180910390fd5b8181018360000181905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036124eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e290615159565b60405180910390fd5b815183511461252f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252690614f00565b60405180910390fd5b60006125396120ea565b905061254a81600087878787612f78565b60005b84518110156126035783818151811061256957612568614852565b5b602002602001015160008087848151811061258757612586614852565b5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546125e99190614d60565b9250508190555080806125fb90614881565b91505061254d565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161267b929190615044565b60405180910390a461269281600087878787612f80565b6126a181600087878787612f88565b5050505050565b804710156126eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e2906151c5565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161271190615216565b60006040518083038185875af1925050503d806000811461274e576040519150601f19603f3d011682016040523d82523d6000602084013e612753565b606091505b5050905080612797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278e9061529d565b60405180910390fd5b505050565b80600290816127ab9190615469565b5050565b806127ba8484610a0d565b10156127fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f2906155ad565b60405180910390fd5b61280683838361315f565b505050565b600081600001549050919050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361294d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129449061563f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612a3e9190613835565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab190614f92565b60405180910390fd5b6000612ac46120ea565b90506000612ad1856133a5565b90506000612ade856133a5565b9050612aee838989858589612f78565b600080600088815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905085811015612b85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7c90615024565b60405180910390fd5b85810360008089815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560008089815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612c3a9190614d60565b925050819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628a8a604051612cb792919061565f565b60405180910390a4612ccd848a8a86868a612f80565b612cdb848a8a8a8a8a61341f565b505050505050505050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612db157507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612dc15750612dc0826135f6565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2e90615159565b60405180910390fd5b6000612e416120ea565b90506000612e4e856133a5565b90506000612e5b856133a5565b9050612e6c83600089858589612f78565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ecb9190614d60565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051612f4992919061565f565b60405180910390a4612f6083600089858589612f80565b612f6f8360008989898961341f565b50505050505050565b505050505050565b505050505050565b612fa78473ffffffffffffffffffffffffffffffffffffffff16613660565b15613157578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401612fed9594939291906156dd565b6020604051808303816000875af192505050801561302957506040513d601f19601f82011682018060405250810190613026919061575a565b60015b6130ce57613035615794565b806308c379a00361309157506130496157b6565b806130545750613093565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130889190613943565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c5906158b8565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161314c9061594a565b60405180910390fd5b505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036131ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131c5906159dc565b60405180910390fd5b60006131d86120ea565b905060006131e5846133a5565b905060006131f2846133a5565b905061321283876000858560405180602001604052806000815250612f78565b600080600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050848110156132a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132a090615a6e565b60405180910390fd5b84810360008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62898960405161337692919061565f565b60405180910390a461339c84886000868660405180602001604052806000815250612f80565b50505050505050565b60606000600167ffffffffffffffff8111156133c4576133c3613a50565b5b6040519080825280602002602001820160405280156133f25781602001602082028036833780820191505090505b509050828160008151811061340a57613409614852565b5b60200260200101818152505080915050919050565b61343e8473ffffffffffffffffffffffffffffffffffffffff16613660565b156135ee578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401613484959493929190615a8e565b6020604051808303816000875af19250505080156134c057506040513d601f19601f820116820180604052508101906134bd919061575a565b60015b613565576134cc615794565b806308c379a00361352857506134e06157b6565b806134eb575061352a565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351f9190613943565b60405180910390fd5b505b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355c906158b8565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146135ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135e39061594a565b60405180910390fd5b505b505050505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006136c282613697565b9050919050565b6136d2816136b7565b81146136dd57600080fd5b50565b6000813590506136ef816136c9565b92915050565b6000819050919050565b613708816136f5565b811461371357600080fd5b50565b600081359050613725816136ff565b92915050565b600080604083850312156137425761374161368d565b5b6000613750858286016136e0565b925050602061376185828601613716565b9150509250929050565b613774816136f5565b82525050565b600060208201905061378f600083018461376b565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6137ca81613795565b81146137d557600080fd5b50565b6000813590506137e7816137c1565b92915050565b6000602082840312156138035761380261368d565b5b6000613811848285016137d8565b91505092915050565b60008115159050919050565b61382f8161381a565b82525050565b600060208201905061384a6000830184613826565b92915050565b6000602082840312156138665761386561368d565b5b6000613874848285016136e0565b91505092915050565b6000602082840312156138935761389261368d565b5b60006138a184828501613716565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156138e45780820151818401526020810190506138c9565b838111156138f3576000848401525b50505050565b6000601f19601f8301169050919050565b6000613915826138aa565b61391f81856138b5565b935061392f8185602086016138c6565b613938816138f9565b840191505092915050565b6000602082019050818103600083015261395d818461390a565b905092915050565b6000806040838503121561397c5761397b61368d565b5b600061398a85828601613716565b925050602061399b85828601613716565b9150509250929050565b6139ae816136b7565b82525050565b60006040820190506139c960008301856139a5565b6139d6602083018461376b565b9392505050565b60006020820190506139f260008301846139a5565b92915050565b600080600060608486031215613a1157613a1061368d565b5b6000613a1f868287016136e0565b9350506020613a3086828701613716565b9250506040613a4186828701613716565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613a88826138f9565b810181811067ffffffffffffffff82111715613aa757613aa6613a50565b5b80604052505050565b6000613aba613683565b9050613ac68282613a7f565b919050565b600067ffffffffffffffff821115613ae657613ae5613a50565b5b602082029050602081019050919050565b600080fd5b6000613b0f613b0a84613acb565b613ab0565b90508083825260208201905060208402830185811115613b3257613b31613af7565b5b835b81811015613b5b5780613b478882613716565b845260208401935050602081019050613b34565b5050509392505050565b600082601f830112613b7a57613b79613a4b565b5b8135613b8a848260208601613afc565b91505092915050565b600080fd5b600067ffffffffffffffff821115613bb357613bb2613a50565b5b613bbc826138f9565b9050602081019050919050565b82818337600083830152505050565b6000613beb613be684613b98565b613ab0565b905082815260208101848484011115613c0757613c06613b93565b5b613c12848285613bc9565b509392505050565b600082601f830112613c2f57613c2e613a4b565b5b8135613c3f848260208601613bd8565b91505092915050565b600080600080600060a08688031215613c6457613c6361368d565b5b6000613c72888289016136e0565b9550506020613c83888289016136e0565b945050604086013567ffffffffffffffff811115613ca457613ca3613692565b5b613cb088828901613b65565b935050606086013567ffffffffffffffff811115613cd157613cd0613692565b5b613cdd88828901613b65565b925050608086013567ffffffffffffffff811115613cfe57613cfd613692565b5b613d0a88828901613c1a565b9150509295509295909350565b600080fd5b60008083601f840112613d3257613d31613a4b565b5b8235905067ffffffffffffffff811115613d4f57613d4e613d17565b5b602083019150836020820283011115613d6b57613d6a613af7565b5b9250929050565b613d7b8161381a565b8114613d8657600080fd5b50565b600081359050613d9881613d72565b92915050565b600080600060408486031215613db757613db661368d565b5b600084013567ffffffffffffffff811115613dd557613dd4613692565b5b613de186828701613d1c565b93509350506020613df486828701613d89565b9150509250925092565b60008083601f840112613e1457613e13613a4b565b5b8235905067ffffffffffffffff811115613e3157613e30613d17565b5b602083019150836020820283011115613e4d57613e4c613af7565b5b9250929050565b600080600080600060608688031215613e7057613e6f61368d565b5b6000613e7e888289016136e0565b955050602086013567ffffffffffffffff811115613e9f57613e9e613692565b5b613eab88828901613dfe565b9450945050604086013567ffffffffffffffff811115613ece57613ecd613692565b5b613eda88828901613dfe565b92509250509295509295909350565b600067ffffffffffffffff821115613f0457613f03613a50565b5b602082029050602081019050919050565b6000613f28613f2384613ee9565b613ab0565b90508083825260208201905060208402830185811115613f4b57613f4a613af7565b5b835b81811015613f745780613f6088826136e0565b845260208401935050602081019050613f4d565b5050509392505050565b600082601f830112613f9357613f92613a4b565b5b8135613fa3848260208601613f15565b91505092915050565b60008060408385031215613fc357613fc261368d565b5b600083013567ffffffffffffffff811115613fe157613fe0613692565b5b613fed85828601613f7e565b925050602083013567ffffffffffffffff81111561400e5761400d613692565b5b61401a85828601613b65565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614059816136f5565b82525050565b600061406b8383614050565b60208301905092915050565b6000602082019050919050565b600061408f82614024565b614099818561402f565b93506140a483614040565b8060005b838110156140d55781516140bc888261405f565b97506140c783614077565b9250506001810190506140a8565b5085935050505092915050565b600060208201905081810360008301526140fc8184614084565b905092915050565b60008083601f84011261411a57614119613a4b565b5b8235905067ffffffffffffffff81111561413757614136613d17565b5b60208301915083600182028301111561415357614152613af7565b5b9250929050565b600080602083850312156141715761417061368d565b5b600083013567ffffffffffffffff81111561418f5761418e613692565b5b61419b85828601614104565b92509250509250929050565b600080604083850312156141be576141bd61368d565b5b60006141cc858286016136e0565b92505060206141dd85828601613d89565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60048110614227576142266141e7565b5b50565b600081905061423882614216565b919050565b60006142488261422a565b9050919050565b6142588161423d565b82525050565b6000602082019050614273600083018461424f565b92915050565b600080604083850312156142905761428f61368d565b5b600061429e858286016136e0565b92505060206142af858286016136e0565b9150509250929050565b600080600080600060a086880312156142d5576142d461368d565b5b60006142e3888289016136e0565b95505060206142f4888289016136e0565b945050604061430588828901613716565b935050606061431688828901613716565b925050608086013567ffffffffffffffff81111561433757614336613692565b5b61434388828901613c1a565b9150509295509295909350565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b60006143ac602a836138b5565b91506143b782614350565b604082019050919050565b600060208201905081810360008301526143db8161439f565b9050919050565b600081905092915050565b60006143f8826138aa565b61440281856143e2565b93506144128185602086016138c6565b80840191505092915050565b600061442a82866143ed565b915061443682856143ed565b915061444282846143ed565b9150819050949350505050565b7f4d696e74206973206e6f74206163746976650000000000000000000000000000600082015250565b60006144856012836138b5565b91506144908261444f565b602082019050919050565b600060208201905081810360008301526144b481614478565b9050919050565b7f4d696e7420697320656e64656400000000000000000000000000000000000000600082015250565b60006144f1600d836138b5565b91506144fc826144bb565b602082019050919050565b60006020820190508181036000830152614520816144e4565b9050919050565b7f416c6c6f776c6973746564206f6e6c7900000000000000000000000000000000600082015250565b600061455d6010836138b5565b915061456882614527565b602082019050919050565b6000602082019050818103600083015261458c81614550565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006145cd826136f5565b91506145d8836136f5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561461157614610614593565b5b828202905092915050565b7f4e6f7420656e6f756768206574682073656e7400000000000000000000000000600082015250565b60006146526013836138b5565b915061465d8261461c565b602082019050919050565b6000602082019050818103600083015261468181614645565b9050919050565b7f546f6f206d756368206574682073656e74000000000000000000000000000000600082015250565b60006146be6011836138b5565b91506146c982614688565b602082019050919050565b600060208201905081810360008301526146ed816146b1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061472e826136f5565b9150614739836136f5565b925082614749576147486146f4565b5b828204905092915050565b7f43616e2774206d696e7420746f20307830000000000000000000000000000000600082015250565b600061478a6011836138b5565b915061479582614754565b602082019050919050565b600060208201905081810360008301526147b98161477d565b9050919050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206e6f7220617070726f7665640000000000000000000000000000000000602082015250565b600061481c602f836138b5565b9150614827826147c0565b604082019050919050565b6000602082019050818103600083015261484b8161480f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061488c826136f5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148be576148bd614593565b5b600182019050919050565b7f4d6973736d6174636820696e2061727261797300000000000000000000000000600082015250565b60006148ff6013836138b5565b915061490a826148c9565b602082019050919050565b6000602082019050818103600083015261492e816148f2565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b60006149916029836138b5565b915061499c82614935565b604082019050919050565b600060208201905081810360008301526149c081614984565b9050919050565b7f4552433131353552656465656d61626c653a2052656465656d6572206f6e6c79600082015250565b60006149fd6020836138b5565b9150614a08826149c7565b602082019050919050565b60006020820190508181036000830152614a2c816149f0565b9050919050565b7f4552433131353552656465656d61626c653a204f6e6c7920636c61696d65722060008201527f63616e20696e69746961746520726564656d7074696f6e000000000000000000602082015250565b6000614a8f6037836138b5565b9150614a9a82614a33565b604082019050919050565b60006020820190508181036000830152614abe81614a82565b9050919050565b7f416c726561647920726573657276656400000000000000000000000000000000600082015250565b6000614afb6010836138b5565b9150614b0682614ac5565b602082019050919050565b60006020820190508181036000830152614b2a81614aee565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614b8d6026836138b5565b9150614b9882614b31565b604082019050919050565b60006020820190508181036000830152614bbc81614b80565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614bf96020836138b5565b9150614c0482614bc3565b602082019050919050565b60006020820190508181036000830152614c2881614bec565b9050919050565b7f546f6b656e20646f6573206e6f74206578697374000000000000000000000000600082015250565b6000614c656014836138b5565b9150614c7082614c2f565b602082019050919050565b60006020820190508181036000830152614c9481614c58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614ce257607f821691505b602082108103614cf557614cf4614c9b565b5b50919050565b6000614d06826136f5565b9150614d11836136f5565b925082821015614d2457614d23614593565b5b828203905092915050565b6000614d3a826136f5565b9150614d45836136f5565b925082614d5557614d546146f4565b5b828206905092915050565b6000614d6b826136f5565b9150614d76836136f5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614dab57614daa614593565b5b828201905092915050565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b6000614dec601d836138b5565b9150614df782614db6565b602082019050919050565b60006020820190508181036000830152614e1b81614ddf565b9050919050565b7f4e6f7420656e6f75676820746f6b656e73206c65667400000000000000000000600082015250565b6000614e586016836138b5565b9150614e6382614e22565b602082019050919050565b60006020820190508181036000830152614e8781614e4b565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000614eea6028836138b5565b9150614ef582614e8e565b604082019050919050565b60006020820190508181036000830152614f1981614edd565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614f7c6025836138b5565b9150614f8782614f20565b604082019050919050565b60006020820190508181036000830152614fab81614f6f565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b600061500e602a836138b5565b915061501982614fb2565b604082019050919050565b6000602082019050818103600083015261503d81615001565b9050919050565b6000604082019050818103600083015261505e8185614084565b905081810360208301526150728184614084565b90509392505050565b7f436f756e7465723a20696e6372656d656e74206f766572666c6f770000000000600082015250565b60006150b1601b836138b5565b91506150bc8261507b565b602082019050919050565b600060208201905081810360008301526150e0816150a4565b9050919050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006151436021836138b5565b915061514e826150e7565b604082019050919050565b6000602082019050818103600083015261517281615136565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b60006151af601d836138b5565b91506151ba82615179565b602082019050919050565b600060208201905081810360008301526151de816151a2565b9050919050565b600081905092915050565b50565b60006152006000836151e5565b915061520b826151f0565b600082019050919050565b6000615221826151f3565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000615287603a836138b5565b91506152928261522b565b604082019050919050565b600060208201905081810360008301526152b68161527a565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261531f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826152e2565b61532986836152e2565b95508019841693508086168417925050509392505050565b6000819050919050565b600061536661536161535c846136f5565b615341565b6136f5565b9050919050565b6000819050919050565b6153808361534b565b61539461538c8261536d565b8484546152ef565b825550505050565b600090565b6153a961539c565b6153b4818484615377565b505050565b5b818110156153d8576153cd6000826153a1565b6001810190506153ba565b5050565b601f82111561541d576153ee816152bd565b6153f7846152d2565b81016020851015615406578190505b61541a615412856152d2565b8301826153b9565b50505b505050565b600082821c905092915050565b600061544060001984600802615422565b1980831691505092915050565b6000615459838361542f565b9150826002028217905092915050565b615472826138aa565b67ffffffffffffffff81111561548b5761548a613a50565b5b6154958254614cca565b6154a08282856153dc565b600060209050601f8311600181146154d357600084156154c1578287015190505b6154cb858261544d565b865550615533565b601f1984166154e1866152bd565b60005b82811015615509578489015182556001820191506020850194506020810190506154e4565b868310156155265784890151615522601f89168261542f565b8355505b6001600288020188555050505b505050505050565b7f4552433131353552656465656d61626c653a20416d6f756e742065786365656460008201527f732062616c616e63650000000000000000000000000000000000000000000000602082015250565b60006155976029836138b5565b91506155a28261553b565b604082019050919050565b600060208201905081810360008301526155c68161558a565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b60006156296029836138b5565b9150615634826155cd565b604082019050919050565b600060208201905081810360008301526156588161561c565b9050919050565b6000604082019050615674600083018561376b565b615681602083018461376b565b9392505050565b600081519050919050565b600082825260208201905092915050565b60006156af82615688565b6156b98185615693565b93506156c98185602086016138c6565b6156d2816138f9565b840191505092915050565b600060a0820190506156f260008301886139a5565b6156ff60208301876139a5565b81810360408301526157118186614084565b905081810360608301526157258185614084565b9050818103608083015261573981846156a4565b90509695505050505050565b600081519050615754816137c1565b92915050565b6000602082840312156157705761576f61368d565b5b600061577e84828501615745565b91505092915050565b60008160e01c9050919050565b600060033d11156157b35760046000803e6157b0600051615787565b90505b90565b600060443d10615843576157c8613683565b60043d036004823e80513d602482011167ffffffffffffffff821117156157f0575050615843565b808201805167ffffffffffffffff81111561580e5750505050615843565b80602083010160043d03850181111561582b575050505050615843565b61583a82602001850186613a7f565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b60006158a26034836138b5565b91506158ad82615846565b604082019050919050565b600060208201905081810360008301526158d181615895565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b60006159346028836138b5565b915061593f826158d8565b604082019050919050565b6000602082019050818103600083015261596381615927565b9050919050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006159c66023836138b5565b91506159d18261596a565b604082019050919050565b600060208201905081810360008301526159f5816159b9565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000615a586024836138b5565b9150615a63826159fc565b604082019050919050565b60006020820190508181036000830152615a8781615a4b565b9050919050565b600060a082019050615aa360008301886139a5565b615ab060208301876139a5565b615abd604083018661376b565b615aca606083018561376b565b8181036080830152615adc81846156a4565b9050969550505050505056fea2646970667358221220edfd8d69e5e48638171fd487f303674c6ad733e0b8f8b89e4294a725e4d319ef64736f6c634300080f003368747470733a2f2f6d6574612e626c75656c696768742e696e632f7469746c652d646565642f