60c06040526019600b556001600c60006101000a81548160ff021916908315150217905550610e10600d55610708600f556001601160006101000a81548160ff0219169083151502179055506000601160016101000a81548160ff0219169083151502179055506000601160026101000a81548160ff0219169083151502179055506001601360006101000a81548160ff021916908315150217905550348015620000a957600080fd5b506040518060400160405280600581526020017f434f5252550000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f434f525255000000000000000000000000000000000000000000000000000000815250816003908162000127919062000d80565b50806004908162000139919062000d80565b5050506200015c62000150620005c760201b60201c565b620005cf60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001888160016200069560201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000208573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022e919062000ed1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000296573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002bc919062000ed1565b6040518363ffffffff1660e01b8152600401620002db92919062000f14565b6020604051808303816000875af1158015620002fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000321919062000ed1565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200036960a05160016200069560201b60201c565b6200037e60a05160016200077f60201b60201c565b600060039050600080600190506000600390506000806001905060006b033b2e3c9fd0803ce800000090506a108b2a2c280290940000006008819055506a18d0bf423c03d8de000000600a81905550612710600582620003df919062000f70565b620003eb919062001000565b6009819055508660158190555085601681905550846017819055506017546016546015546200041b919062001038565b62000427919062001038565b6014819055508360198190555082601a8190555081601b81905550601b54601a5460195462000457919062001038565b62000463919062001038565b60188190555073e7fd65e0b2b6ad0a834829be9e7c19384c1a4e0e600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e7fd65e0b2b6ad0a834829be9e7c19384c1a4e0e600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000535620005276200082060201b60201c565b60016200084a60201b60201c565b620005483060016200084a60201b60201c565b6200055d61dead60016200084a60201b60201c565b6200057f620005716200082060201b60201c565b60016200069560201b60201c565b620005923060016200069560201b60201c565b620005a761dead60016200069560201b60201c565b620005b933826200098460201b60201c565b5050505050505050620011f2565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620006a5620005c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620006cb6200082060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000724576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200071b90620010f6565b60405180910390fd5b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200085a620005c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620008806200082060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620008d9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008d090620010f6565b60405180910390fd5b80601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000978919062001135565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009ed90620011a2565b60405180910390fd5b62000a0a6000838362000afc60201b60201c565b806002600082825462000a1e919062001038565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a75919062001038565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000adc9190620011d5565b60405180910390a362000af86000838362000b0160201b60201c565b5050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b8857607f821691505b60208210810362000b9e5762000b9d62000b40565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000bc9565b62000c14868362000bc9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c6162000c5b62000c558462000c2c565b62000c36565b62000c2c565b9050919050565b6000819050919050565b62000c7d8362000c40565b62000c9562000c8c8262000c68565b84845462000bd6565b825550505050565b600090565b62000cac62000c9d565b62000cb981848462000c72565b505050565b5b8181101562000ce15762000cd560008262000ca2565b60018101905062000cbf565b5050565b601f82111562000d305762000cfa8162000ba4565b62000d058462000bb9565b8101602085101562000d15578190505b62000d2d62000d248562000bb9565b83018262000cbe565b50505b505050565b600082821c905092915050565b600062000d556000198460080262000d35565b1980831691505092915050565b600062000d70838362000d42565b9150826002028217905092915050565b62000d8b8262000b06565b67ffffffffffffffff81111562000da75762000da662000b11565b5b62000db3825462000b6f565b62000dc082828562000ce5565b600060209050601f83116001811462000df8576000841562000de3578287015190505b62000def858262000d62565b86555062000e5f565b601f19841662000e088662000ba4565b60005b8281101562000e325784890151825560018201915060208501945060208101905062000e0b565b8683101562000e52578489015162000e4e601f89168262000d42565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e998262000e6c565b9050919050565b62000eab8162000e8c565b811462000eb757600080fd5b50565b60008151905062000ecb8162000ea0565b92915050565b60006020828403121562000eea5762000ee962000e67565b5b600062000efa8482850162000eba565b91505092915050565b62000f0e8162000e8c565b82525050565b600060408201905062000f2b600083018562000f03565b62000f3a602083018462000f03565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000f7d8262000c2c565b915062000f8a8362000c2c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000fc65762000fc562000f41565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200100d8262000c2c565b91506200101a8362000c2c565b9250826200102d576200102c62000fd1565b5b828204905092915050565b6000620010458262000c2c565b9150620010528362000c2c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200108a576200108962000f41565b5b828201905092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620010de60208362001095565b9150620010eb82620010a6565b602082019050919050565b600060208201905081810360008301526200111181620010cf565b9050919050565b60008115159050919050565b6200112f8162001118565b82525050565b60006020820190506200114c600083018462001124565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200118a601f8362001095565b9150620011978262001152565b602082019050919050565b60006020820190508181036000830152620011bd816200117b565b9050919050565b620011cf8162000c2c565b82525050565b6000602082019050620011ec6000830184620011c4565b92915050565b60805160a051615bc26200127a600039600081816113ed01528181611bfd01528181612745015281816127fc0152818161282901528181612e6801528181613f6a015281816140230152614050015260008181610f9001528181612e10015281816141c6015281816142a7015281816142ce0152818161436a01526143910152615bc26000f3fe6080604052600436106103b15760003560e01c80638da5cb5b116101e7578063bbc0c7421161010d578063dd62ed3e116100a0578063f2fde38b1161006f578063f2fde38b14610e03578063f637434214610e2c578063f8b45b0514610e57578063fe72b27a14610e82576103b8565b8063dd62ed3e14610d45578063e2f4560514610d82578063e884f26014610dad578063f11a24d314610dd8576103b8565b8063c876d0b9116100dc578063c876d0b914610c87578063c8c8ebe414610cb2578063d257b34f14610cdd578063d85ba06314610d1a576103b8565b8063bbc0c74214610be1578063c024666814610c0c578063c17b5b8c14610c35578063c18bc19514610c5e576103b8565b80639ec22c0e11610185578063a4c82a0011610154578063a4c82a0014610b13578063a9059cbb14610b3e578063aacebbe314610b7b578063b62496f514610ba4576103b8565b80639ec22c0e14610a555780639fccce3214610a80578063a0d82dc514610aab578063a457c2d714610ad6576103b8565b8063924de9b7116101c1578063924de9b7146109ad57806395d89b41146109d65780639a7a23d614610a015780639c3b4fdc14610a2a576103b8565b80638da5cb5b1461092c5780638ea5220f146109575780639213691314610982576103b8565b8063313ce567116102d7578063715018a61161026a57806375f0a8741161023957806375f0a874146108965780637bce5a04146108c15780638095d564146108ec5780638a8c523c14610915576103b8565b8063715018a614610802578063730c188814610819578063751039fc146108425780637571336a1461086d576103b8565b80634fbee193116102a65780634fbee193146107325780636a486a8e1461076f5780636ddd17131461079a57806370a08231146107c5576103b8565b8063313ce56714610674578063395093511461069f57806349bd5a5e146106dc5780634a62bb6514610707576103b8565b8063199ffc721161034f57806323b872dd1161031e57806323b872dd146105b657806327c8f835146105f35780632c3e486c1461061e5780632e82f1a014610649576103b8565b8063199ffc721461050c5780631a8145bb146105375780631f3fed8f14610562578063203e727e1461058d576103b8565b80631694505e1161038b5780631694505e1461046257806318160ddd1461048d5780631816467f146104b8578063184c16c5146104e1576103b8565b806306fdde03146103bd578063095ea7b3146103e857806310d5de5314610425576103b8565b366103b857005b600080fd5b3480156103c957600080fd5b506103d2610ebf565b6040516103df91906144d9565b60405180910390f35b3480156103f457600080fd5b5061040f600480360381019061040a9190614594565b610f51565b60405161041c91906145ef565b60405180910390f35b34801561043157600080fd5b5061044c6004803603810190610447919061460a565b610f6f565b60405161045991906145ef565b60405180910390f35b34801561046e57600080fd5b50610477610f8e565b6040516104849190614696565b60405180910390f35b34801561049957600080fd5b506104a2610fb2565b6040516104af91906146c0565b60405180910390f35b3480156104c457600080fd5b506104df60048036038101906104da919061460a565b610fbc565b005b3480156104ed57600080fd5b506104f66110f8565b60405161050391906146c0565b60405180910390f35b34801561051857600080fd5b506105216110fe565b60405161052e91906146c0565b60405180910390f35b34801561054357600080fd5b5061054c611104565b60405161055991906146c0565b60405180910390f35b34801561056e57600080fd5b5061057761110a565b60405161058491906146c0565b60405180910390f35b34801561059957600080fd5b506105b460048036038101906105af91906146db565b611110565b005b3480156105c257600080fd5b506105dd60048036038101906105d89190614708565b61121f565b6040516105ea91906145ef565b60405180910390f35b3480156105ff57600080fd5b50610608611317565b604051610615919061476a565b60405180910390f35b34801561062a57600080fd5b5061063361131d565b60405161064091906146c0565b60405180910390f35b34801561065557600080fd5b5061065e611323565b60405161066b91906145ef565b60405180910390f35b34801561068057600080fd5b50610689611336565b60405161069691906147a1565b60405180910390f35b3480156106ab57600080fd5b506106c660048036038101906106c19190614594565b61133f565b6040516106d391906145ef565b60405180910390f35b3480156106e857600080fd5b506106f16113eb565b6040516106fe919061476a565b60405180910390f35b34801561071357600080fd5b5061071c61140f565b60405161072991906145ef565b60405180910390f35b34801561073e57600080fd5b506107596004803603810190610754919061460a565b611422565b60405161076691906145ef565b60405180910390f35b34801561077b57600080fd5b50610784611478565b60405161079191906146c0565b60405180910390f35b3480156107a657600080fd5b506107af61147e565b6040516107bc91906145ef565b60405180910390f35b3480156107d157600080fd5b506107ec60048036038101906107e7919061460a565b611491565b6040516107f991906146c0565b60405180910390f35b34801561080e57600080fd5b506108176114d9565b005b34801561082557600080fd5b50610840600480360381019061083b91906147e8565b611561565b005b34801561084e57600080fd5b506108576116a1565b60405161086491906145ef565b60405180910390f35b34801561087957600080fd5b50610894600480360381019061088f919061483b565b611741565b005b3480156108a257600080fd5b506108ab611818565b6040516108b8919061476a565b60405180910390f35b3480156108cd57600080fd5b506108d661183e565b6040516108e391906146c0565b60405180910390f35b3480156108f857600080fd5b50610913600480360381019061090e919061487b565b611844565b005b34801561092157600080fd5b5061092a611943565b005b34801561093857600080fd5b506109416119fe565b60405161094e919061476a565b60405180910390f35b34801561096357600080fd5b5061096c611a28565b604051610979919061476a565b60405180910390f35b34801561098e57600080fd5b50610997611a4e565b6040516109a491906146c0565b60405180910390f35b3480156109b957600080fd5b506109d460048036038101906109cf91906148ce565b611a54565b005b3480156109e257600080fd5b506109eb611aed565b6040516109f891906144d9565b60405180910390f35b348015610a0d57600080fd5b50610a286004803603810190610a23919061483b565b611b7f565b005b348015610a3657600080fd5b50610a3f611c97565b604051610a4c91906146c0565b60405180910390f35b348015610a6157600080fd5b50610a6a611c9d565b604051610a7791906146c0565b60405180910390f35b348015610a8c57600080fd5b50610a95611ca3565b604051610aa291906146c0565b60405180910390f35b348015610ab757600080fd5b50610ac0611ca9565b604051610acd91906146c0565b60405180910390f35b348015610ae257600080fd5b50610afd6004803603810190610af89190614594565b611caf565b604051610b0a91906145ef565b60405180910390f35b348015610b1f57600080fd5b50610b28611d9a565b604051610b3591906146c0565b60405180910390f35b348015610b4a57600080fd5b50610b656004803603810190610b609190614594565b611da0565b604051610b7291906145ef565b60405180910390f35b348015610b8757600080fd5b50610ba26004803603810190610b9d919061460a565b611dbe565b005b348015610bb057600080fd5b50610bcb6004803603810190610bc6919061460a565b611efa565b604051610bd891906145ef565b60405180910390f35b348015610bed57600080fd5b50610bf6611f1a565b604051610c0391906145ef565b60405180910390f35b348015610c1857600080fd5b50610c336004803603810190610c2e919061483b565b611f2d565b005b348015610c4157600080fd5b50610c5c6004803603810190610c57919061487b565b612052565b005b348015610c6a57600080fd5b50610c856004803603810190610c8091906146db565b612151565b005b348015610c9357600080fd5b50610c9c612260565b604051610ca991906145ef565b60405180910390f35b348015610cbe57600080fd5b50610cc7612273565b604051610cd491906146c0565b60405180910390f35b348015610ce957600080fd5b50610d046004803603810190610cff91906146db565b612279565b604051610d1191906145ef565b60405180910390f35b348015610d2657600080fd5b50610d2f6123ce565b604051610d3c91906146c0565b60405180910390f35b348015610d5157600080fd5b50610d6c6004803603810190610d6791906148fb565b6123d4565b604051610d7991906146c0565b60405180910390f35b348015610d8e57600080fd5b50610d9761245b565b604051610da491906146c0565b60405180910390f35b348015610db957600080fd5b50610dc2612461565b604051610dcf91906145ef565b60405180910390f35b348015610de457600080fd5b50610ded612501565b604051610dfa91906146c0565b60405180910390f35b348015610e0f57600080fd5b50610e2a6004803603810190610e25919061460a565b612507565b005b348015610e3857600080fd5b50610e416125fe565b604051610e4e91906146c0565b60405180910390f35b348015610e6357600080fd5b50610e6c612604565b604051610e7991906146c0565b60405180910390f35b348015610e8e57600080fd5b50610ea96004803603810190610ea491906146db565b61260a565b604051610eb691906145ef565b60405180910390f35b606060038054610ece9061496a565b80601f0160208091040260200160405190810160405280929190818152602001828054610efa9061496a565b8015610f475780601f10610f1c57610100808354040283529160200191610f47565b820191906000526020600020905b815481529060010190602001808311610f2a57829003601f168201915b5050505050905090565b6000610f65610f5e6128e2565b84846128ea565b6001905092915050565b602080528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b610fc46128e2565b73ffffffffffffffffffffffffffffffffffffffff16610fe26119fe565b73ffffffffffffffffffffffffffffffffffffffff1614611038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102f906149e7565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b600b5481565b601d5481565b601c5481565b6111186128e2565b73ffffffffffffffffffffffffffffffffffffffff166111366119fe565b73ffffffffffffffffffffffffffffffffffffffff161461118c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611183906149e7565b60405180910390fd5b670de0b6b3a76400006103e860016111a2610fb2565b6111ac9190614a36565b6111b69190614abf565b6111c09190614abf565b811015611202576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f990614b62565b60405180910390fd5b670de0b6b3a7640000816112169190614a36565b60088190555050565b600061122c848484612ab3565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006112776128e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90614bf4565b60405180910390fd5b61130b856113036128e2565b8584036128ea565b60019150509392505050565b61dead81565b600d5481565b600c60009054906101000a900460ff1681565b60006012905090565b60006113e161134c6128e2565b84846001600061135a6128e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546113dc9190614c14565b6128ea565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b601160009054906101000a900460ff1681565b6000601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60185481565b601160029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6114e16128e2565b73ffffffffffffffffffffffffffffffffffffffff166114ff6119fe565b73ffffffffffffffffffffffffffffffffffffffff1614611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c906149e7565b60405180910390fd5b61155f6000613848565b565b6115696128e2565b73ffffffffffffffffffffffffffffffffffffffff166115876119fe565b73ffffffffffffffffffffffffffffffffffffffff16146115dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d4906149e7565b60405180910390fd5b610258831015611622576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161990614cdc565b60405180910390fd5b6103e88211158015611635575060008210155b611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90614d6e565b60405180910390fd5b82600d8190555081600b8190555080600c60006101000a81548160ff021916908315150217905550505050565b60006116ab6128e2565b73ffffffffffffffffffffffffffffffffffffffff166116c96119fe565b73ffffffffffffffffffffffffffffffffffffffff161461171f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611716906149e7565b60405180910390fd5b6000601160006101000a81548160ff0219169083151502179055506001905090565b6117496128e2565b73ffffffffffffffffffffffffffffffffffffffff166117676119fe565b73ffffffffffffffffffffffffffffffffffffffff16146117bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b4906149e7565b60405180910390fd5b80602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b61184c6128e2565b73ffffffffffffffffffffffffffffffffffffffff1661186a6119fe565b73ffffffffffffffffffffffffffffffffffffffff16146118c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b7906149e7565b60405180910390fd5b8260158190555081601681905550806017819055506017546016546015546118e89190614c14565b6118f29190614c14565b601481905550600b601454111561193e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193590614dda565b60405180910390fd5b505050565b61194b6128e2565b73ffffffffffffffffffffffffffffffffffffffff166119696119fe565b73ffffffffffffffffffffffffffffffffffffffff16146119bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b6906149e7565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055506001601160026101000a81548160ff02191690831515021790555042600e81905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b611a5c6128e2565b73ffffffffffffffffffffffffffffffffffffffff16611a7a6119fe565b73ffffffffffffffffffffffffffffffffffffffff1614611ad0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ac7906149e7565b60405180910390fd5b80601160026101000a81548160ff02191690831515021790555050565b606060048054611afc9061496a565b80601f0160208091040260200160405190810160405280929190818152602001828054611b289061496a565b8015611b755780601f10611b4a57610100808354040283529160200191611b75565b820191906000526020600020905b815481529060010190602001808311611b5857829003601f168201915b5050505050905090565b611b876128e2565b73ffffffffffffffffffffffffffffffffffffffff16611ba56119fe565b73ffffffffffffffffffffffffffffffffffffffff1614611bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf2906149e7565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8090614e6c565b60405180910390fd5b611c93828261390e565b5050565b60175481565b60105481565b601e5481565b601b5481565b60008060016000611cbe6128e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7290614efe565b60405180910390fd5b611d8f611d866128e2565b858584036128ea565b600191505092915050565b600e5481565b6000611db4611dad6128e2565b8484612ab3565b6001905092915050565b611dc66128e2565b73ffffffffffffffffffffffffffffffffffffffff16611de46119fe565b73ffffffffffffffffffffffffffffffffffffffff1614611e3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e31906149e7565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60216020528060005260406000206000915054906101000a900460ff1681565b601160019054906101000a900460ff1681565b611f356128e2565b73ffffffffffffffffffffffffffffffffffffffff16611f536119fe565b73ffffffffffffffffffffffffffffffffffffffff1614611fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa0906149e7565b60405180910390fd5b80601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161204691906145ef565b60405180910390a25050565b61205a6128e2565b73ffffffffffffffffffffffffffffffffffffffff166120786119fe565b73ffffffffffffffffffffffffffffffffffffffff16146120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c5906149e7565b60405180910390fd5b8260198190555081601a8190555080601b81905550601b54601a546019546120f69190614c14565b6121009190614c14565b601881905550600b601854111561214c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214390614dda565b60405180910390fd5b505050565b6121596128e2565b73ffffffffffffffffffffffffffffffffffffffff166121776119fe565b73ffffffffffffffffffffffffffffffffffffffff16146121cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c4906149e7565b60405180910390fd5b670de0b6b3a76400006103e860056121e3610fb2565b6121ed9190614a36565b6121f79190614abf565b6122019190614abf565b811015612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90614f90565b60405180910390fd5b670de0b6b3a7640000816122579190614a36565b600a8190555050565b601360009054906101000a900460ff1681565b60085481565b60006122836128e2565b73ffffffffffffffffffffffffffffffffffffffff166122a16119fe565b73ffffffffffffffffffffffffffffffffffffffff16146122f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ee906149e7565b60405180910390fd5b620186a06001612305610fb2565b61230f9190614a36565b6123199190614abf565b82101561235b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235290615022565b60405180910390fd5b6103e86005612368610fb2565b6123729190614a36565b61237c9190614abf565b8211156123be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b5906150b4565b60405180910390fd5b8160098190555060019050919050565b60145481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b600061246b6128e2565b73ffffffffffffffffffffffffffffffffffffffff166124896119fe565b73ffffffffffffffffffffffffffffffffffffffff16146124df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d6906149e7565b60405180910390fd5b6000601360006101000a81548160ff0219169083151502179055506001905090565b60165481565b61250f6128e2565b73ffffffffffffffffffffffffffffffffffffffff1661252d6119fe565b73ffffffffffffffffffffffffffffffffffffffff1614612583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257a906149e7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036125f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e990615146565b60405180910390fd5b6125fb81613848565b50565b601a5481565b600a5481565b60006126146128e2565b73ffffffffffffffffffffffffffffffffffffffff166126326119fe565b73ffffffffffffffffffffffffffffffffffffffff1614612688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267f906149e7565b60405180910390fd5b600f546010546126989190614c14565b42116126d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d0906151b2565b60405180910390fd5b6103e882111561271e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271590615244565b60405180910390fd5b4260108190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401612780919061476a565b602060405180830381865afa15801561279d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c19190615279565b905060006127ec6127106127de86856139af90919063ffffffff16565b6139c590919063ffffffff16565b90506000811115612825576128247f000000000000000000000000000000000000000000000000000000000000000061dead836139db565b5b60007f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561289257600080fd5b505af11580156128a6573d6000803e3d6000fd5b505050507f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb60405160405180910390a160019350505050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295090615318565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bf906153aa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612aa691906146c0565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b199061543c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612b91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b88906154ce565b60405180910390fd5b60008103612baa57612ba5838360006139db565b613843565b601160009054906101000a900460ff161561326d57612bc76119fe565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612c355750612c056119fe565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612c6e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612ca8575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612cc15750600560149054906101000a900460ff16155b1561326c57601160019054906101000a900460ff16612dbb57601f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612d7b5750601f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612db19061553a565b60405180910390fd5b5b601360009054906101000a900460ff1615612f8357612dd86119fe565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612e5f57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612eb757507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612f825743601260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612f3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f34906155f2565b60405180910390fd5b43601260003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156130265750602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156130cd57600854811115613070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161306790615684565b60405180910390fd5b600a5461307c83611491565b826130879190614c14565b11156130c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130bf906156f0565b60405180910390fd5b61326b565b602160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156131705750602060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156131bf576008548111156131ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b190615782565b60405180910390fd5b61326a565b602060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661326957600a5461321c83611491565b826132279190614c14565b1115613268576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325f906156f0565b60405180910390fd5b5b5b5b5b5b600061327830611491565b90506000600954821015905080801561329d5750601160029054906101000a900460ff165b80156132b65750600560149054906101000a900460ff16155b801561330c5750602160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156133625750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156133b85750601f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156133fc576001600560146101000a81548160ff0219169083151502179055506133e0613c5a565b6000600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff161580156134625750602160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b801561347a5750600c60009054906101000a900460ff165b80156134955750600d54600e546134919190614c14565b4210155b80156134eb5750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156134fa576134f8613f41565b505b6000600560149054906101000a900460ff16159050601f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806135b05750601f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156135ba57600090505b6000811561383357602160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561361d57506000601854115b156136ea5761364a606461363c601854886139af90919063ffffffff16565b6139c590919063ffffffff16565b9050601854601a548261365d9190614a36565b6136679190614abf565b601d60008282546136789190614c14565b92505081905550601854601b54826136909190614a36565b61369a9190614abf565b601e60008282546136ab9190614c14565b92505081905550601854601954826136c39190614a36565b6136cd9190614abf565b601c60008282546136de9190614c14565b9250508190555061380f565b602160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561374557506000601454115b1561380e576137726064613764601454886139af90919063ffffffff16565b6139c590919063ffffffff16565b9050601454601654826137859190614a36565b61378f9190614abf565b601d60008282546137a09190614c14565b92505081905550601454601754826137b89190614a36565b6137c29190614abf565b601e60008282546137d39190614c14565b92505081905550601454601554826137eb9190614a36565b6137f59190614abf565b601c60008282546138069190614c14565b925050819055505b5b6000811115613824576138238730836139db565b5b808561383091906157a2565b94505b61383e8787876139db565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80602160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600081836139bd9190614a36565b905092915050565b600081836139d39190614abf565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a419061543c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ab0906154ce565b60405180910390fd5b613ac4838383614107565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b4190615848565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613bdd9190614c14565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613c4191906146c0565b60405180910390a3613c5484848461410c565b50505050565b6000613c6530611491565b90506000601e54601c54601d54613c7c9190614c14565b613c869190614c14565b9050600080831480613c985750600082145b15613ca557505050613f3f565b6014600954613cb49190614a36565b831115613ccd576014600954613cca9190614a36565b92505b6000600283601d5486613ce09190614a36565b613cea9190614abf565b613cf49190614abf565b90506000613d0b828661411190919063ffffffff16565b90506000479050613d1b82614127565b6000613d30824761411190919063ffffffff16565b90506000613d5b87613d4d601c54856139af90919063ffffffff16565b6139c590919063ffffffff16565b90506000613d8688613d78601e54866139af90919063ffffffff16565b6139c590919063ffffffff16565b90506000818385613d9791906157a2565b613da191906157a2565b90506000601d819055506000601c819055506000601e81905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613e0190615899565b60006040518083038185875af1925050503d8060008114613e3e576040519150601f19603f3d011682016040523d82523d6000602084013e613e43565b606091505b505080985050600087118015613e595750600081115b15613ea657613e688782614364565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601d54604051613e9d939291906158ae565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613eec90615899565b60006040518083038185875af1925050503d8060008114613f29576040519150601f19603f3d011682016040523d82523d6000602084013e613f2e565b606091505b505080985050505050505050505050505b565b600042600e8190555060003073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401613fa5919061476a565b602060405180830381865afa158015613fc2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fe69190615279565b90506000614013612710614005600b54856139af90919063ffffffff16565b6139c590919063ffffffff16565b9050600081111561404c5761404b7f000000000000000000000000000000000000000000000000000000000000000061dead836139db565b5b60007f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156140b957600080fd5b505af11580156140cd573d6000803e3d6000fd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b505050565b505050565b6000818361411f91906157a2565b905092915050565b6000600267ffffffffffffffff811115614144576141436158e5565b5b6040519080825280602002602001820160405280156141725781602001602082028036833780820191505090505b509050308160008151811061418a57614189615914565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561422f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142539190615958565b8160018151811061426757614266615914565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506142cc307f0000000000000000000000000000000000000000000000000000000000000000846128ea565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161432e959493929190615a7e565b600060405180830381600087803b15801561434857600080fd5b505af115801561435c573d6000803e3d6000fd5b505050505050565b61438f307f0000000000000000000000000000000000000000000000000000000000000000846128ea565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b81526004016143f696959493929190615ad8565b60606040518083038185885af1158015614414573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906144399190615b39565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561447a57808201518184015260208101905061445f565b83811115614489576000848401525b50505050565b6000601f19601f8301169050919050565b60006144ab82614440565b6144b5818561444b565b93506144c581856020860161445c565b6144ce8161448f565b840191505092915050565b600060208201905081810360008301526144f381846144a0565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061452b82614500565b9050919050565b61453b81614520565b811461454657600080fd5b50565b60008135905061455881614532565b92915050565b6000819050919050565b6145718161455e565b811461457c57600080fd5b50565b60008135905061458e81614568565b92915050565b600080604083850312156145ab576145aa6144fb565b5b60006145b985828601614549565b92505060206145ca8582860161457f565b9150509250929050565b60008115159050919050565b6145e9816145d4565b82525050565b600060208201905061460460008301846145e0565b92915050565b6000602082840312156146205761461f6144fb565b5b600061462e84828501614549565b91505092915050565b6000819050919050565b600061465c61465761465284614500565b614637565b614500565b9050919050565b600061466e82614641565b9050919050565b600061468082614663565b9050919050565b61469081614675565b82525050565b60006020820190506146ab6000830184614687565b92915050565b6146ba8161455e565b82525050565b60006020820190506146d560008301846146b1565b92915050565b6000602082840312156146f1576146f06144fb565b5b60006146ff8482850161457f565b91505092915050565b600080600060608486031215614721576147206144fb565b5b600061472f86828701614549565b935050602061474086828701614549565b92505060406147518682870161457f565b9150509250925092565b61476481614520565b82525050565b600060208201905061477f600083018461475b565b92915050565b600060ff82169050919050565b61479b81614785565b82525050565b60006020820190506147b66000830184614792565b92915050565b6147c5816145d4565b81146147d057600080fd5b50565b6000813590506147e2816147bc565b92915050565b600080600060608486031215614801576148006144fb565b5b600061480f8682870161457f565b93505060206148208682870161457f565b9250506040614831868287016147d3565b9150509250925092565b60008060408385031215614852576148516144fb565b5b600061486085828601614549565b9250506020614871858286016147d3565b9150509250929050565b600080600060608486031215614894576148936144fb565b5b60006148a28682870161457f565b93505060206148b38682870161457f565b92505060406148c48682870161457f565b9150509250925092565b6000602082840312156148e4576148e36144fb565b5b60006148f2848285016147d3565b91505092915050565b60008060408385031215614912576149116144fb565b5b600061492085828601614549565b925050602061493185828601614549565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061498257607f821691505b6020821081036149955761499461493b565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006149d160208361444b565b91506149dc8261499b565b602082019050919050565b60006020820190508181036000830152614a00816149c4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614a418261455e565b9150614a4c8361455e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614a8557614a84614a07565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614aca8261455e565b9150614ad58361455e565b925082614ae557614ae4614a90565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000614b4c602f8361444b565b9150614b5782614af0565b604082019050919050565b60006020820190508181036000830152614b7b81614b3f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000614bde60288361444b565b9150614be982614b82565b604082019050919050565b60006020820190508181036000830152614c0d81614bd1565b9050919050565b6000614c1f8261455e565b9150614c2a8361455e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614c5f57614c5e614a07565b5b828201905092915050565b7f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e20746860008201527f616e206576657279203130206d696e7574657300000000000000000000000000602082015250565b6000614cc660338361444b565b9150614cd182614c6a565b604082019050919050565b60006020820190508181036000830152614cf581614cb9565b9050919050565b7f4d75737420736574206175746f204c50206275726e2070657263656e7420626560008201527f747765656e20302520616e642031302500000000000000000000000000000000602082015250565b6000614d5860308361444b565b9150614d6382614cfc565b604082019050919050565b60006020820190508181036000830152614d8781614d4b565b9050919050565b7f4d757374206b656570206665657320617420313125206f72206c657373000000600082015250565b6000614dc4601d8361444b565b9150614dcf82614d8e565b602082019050919050565b60006020820190508181036000830152614df381614db7565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000614e5660398361444b565b9150614e6182614dfa565b604082019050919050565b60006020820190508181036000830152614e8581614e49565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614ee860258361444b565b9150614ef382614e8c565b604082019050919050565b60006020820190508181036000830152614f1781614edb565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000614f7a60248361444b565b9150614f8582614f1e565b604082019050919050565b60006020820190508181036000830152614fa981614f6d565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b600061500c60358361444b565b915061501782614fb0565b604082019050919050565b6000602082019050818103600083015261503b81614fff565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b600061509e60348361444b565b91506150a982615042565b604082019050919050565b600060208201905081810360008301526150cd81615091565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061513060268361444b565b915061513b826150d4565b604082019050919050565b6000602082019050818103600083015261515f81615123565b9050919050565b7f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e697368600082015250565b600061519c60208361444b565b91506151a782615166565b602082019050919050565b600060208201905081810360008301526151cb8161518f565b9050919050565b7f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60008201527f6b656e7320696e204c5000000000000000000000000000000000000000000000602082015250565b600061522e602a8361444b565b9150615239826151d2565b604082019050919050565b6000602082019050818103600083015261525d81615221565b9050919050565b60008151905061527381614568565b92915050565b60006020828403121561528f5761528e6144fb565b5b600061529d84828501615264565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061530260248361444b565b915061530d826152a6565b604082019050919050565b60006020820190508181036000830152615331816152f5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061539460228361444b565b915061539f82615338565b604082019050919050565b600060208201905081810360008301526153c381615387565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061542660258361444b565b9150615431826153ca565b604082019050919050565b6000602082019050818103600083015261545581615419565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006154b860238361444b565b91506154c38261545c565b604082019050919050565b600060208201905081810360008301526154e7816154ab565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061552460168361444b565b915061552f826154ee565b602082019050919050565b6000602082019050818103600083015261555381615517565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006155dc60498361444b565b91506155e78261555a565b606082019050919050565b6000602082019050818103600083015261560b816155cf565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b600061566e60358361444b565b915061567982615612565b604082019050919050565b6000602082019050818103600083015261569d81615661565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006156da60138361444b565b91506156e5826156a4565b602082019050919050565b60006020820190508181036000830152615709816156cd565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b600061576c60368361444b565b915061577782615710565b604082019050919050565b6000602082019050818103600083015261579b8161575f565b9050919050565b60006157ad8261455e565b91506157b88361455e565b9250828210156157cb576157ca614a07565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061583260268361444b565b915061583d826157d6565b604082019050919050565b6000602082019050818103600083015261586181615825565b9050919050565b600081905092915050565b50565b6000615883600083615868565b915061588e82615873565b600082019050919050565b60006158a482615876565b9150819050919050565b60006060820190506158c360008301866146b1565b6158d060208301856146b1565b6158dd60408301846146b1565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061595281614532565b92915050565b60006020828403121561596e5761596d6144fb565b5b600061597c84828501615943565b91505092915050565b6000819050919050565b60006159aa6159a56159a084615985565b614637565b61455e565b9050919050565b6159ba8161598f565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6159f581614520565b82525050565b6000615a0783836159ec565b60208301905092915050565b6000602082019050919050565b6000615a2b826159c0565b615a3581856159cb565b9350615a40836159dc565b8060005b83811015615a71578151615a5888826159fb565b9750615a6383615a13565b925050600181019050615a44565b5085935050505092915050565b600060a082019050615a9360008301886146b1565b615aa060208301876159b1565b8181036040830152615ab28186615a20565b9050615ac1606083018561475b565b615ace60808301846146b1565b9695505050505050565b600060c082019050615aed600083018961475b565b615afa60208301886146b1565b615b0760408301876159b1565b615b1460608301866159b1565b615b21608083018561475b565b615b2e60a08301846146b1565b979650505050505050565b600080600060608486031215615b5257615b516144fb565b5b6000615b6086828701615264565b9350506020615b7186828701615264565b9250506040615b8286828701615264565b915050925092509256fea264697066735822122020ad9b18f71e82041945ccc1f59dc7ba9b0d8dbd50845b58473e2807038ff64664736f6c634300080f0033