60806040526a52b7d2dcc80cd2e40000006007553480156200002057600080fd5b506040516200619938038062006199833981810160405281019062000046919062000fea565b6040518060400160405280600c81526020017f4368616e636520546f6b656e00000000000000000000000000000000000000008152506040518060400160405280600681526020017f4348414e43450000000000000000000000000000000000000000000000000000815250620000d2620000c66200073660201b60201c565b6200073e60201b60201c565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073aaf914afc58ab715bb9009c519b1ee2eee00d76073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060007339f8a30026e9f6b60f117f99a8604b3c65f0a23873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000735c0d9feccc59878039070c4abc6e9560a127a65a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073bcdfd687226ed19e9d8454a80cdd94b7424a238573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508160059081620002e6919062001296565b508060069081620002f8919062001296565b5050506200030c816200080260201b60201c565b6200031c620008a960201b60201c565b33601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506014600d819055506005600e819055506103e8601081905550600160118190555062000398620186a060075462000c9460201b90919060201c565b6012819055506001601760156101000a81548160ff021916908315150217905550620003d3620186a060075462000c9460201b90919060201c565b601881905550737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200049c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004c2919062000fea565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26040518363ffffffff1660e01b8152600401620005129291906200138e565b6020604051808303816000875af115801562000532573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000558919062000fea565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620005ce600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660075462000cac60201b60201c565b6001601460006101000a81548160ff02191690831515021790555043601581905550426016819055506200063d737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000de260201b60201c565b5062000692600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000de260201b60201c565b50620006da30737a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000e1560201b60201c565b6200072f30600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62000e1560201b60201c565b50620014ba565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663355295a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000917573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200093d919062000fea565b601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f9c83b86040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000a4e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a74919062000fea565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001806000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327459c476040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000c1b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c41919062000fea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b6000818362000ca4919062001419565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000ce657600080fd5b62000cfa6000838362000f7660201b60201c565b806004600082825462000d0e919062001451565b9250508190555080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000dc291906200149d565b60405180910390a362000dde6000838362000f7b60201b60201c565b5050565b60008062000df56200073660201b60201c565b905062000e0a81858562000e1560201b60201c565b600191505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000e4f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000e8957600080fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405162000f6991906200149d565b60405180910390a3505050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000fb28262000f85565b9050919050565b62000fc48162000fa5565b811462000fd057600080fd5b50565b60008151905062000fe48162000fb9565b92915050565b60006020828403121562001003576200100262000f80565b5b6000620010138482850162000fd3565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200109e57607f821691505b602082108103620010b457620010b362001056565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200111e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620010df565b6200112a8683620010df565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062001177620011716200116b8462001142565b6200114c565b62001142565b9050919050565b6000819050919050565b620011938362001156565b620011ab620011a2826200117e565b848454620010ec565b825550505050565b600090565b620011c2620011b3565b620011cf81848462001188565b505050565b5b81811015620011f757620011eb600082620011b8565b600181019050620011d5565b5050565b601f82111562001246576200121081620010ba565b6200121b84620010cf565b810160208510156200122b578190505b620012436200123a85620010cf565b830182620011d4565b50505b505050565b600082821c905092915050565b60006200126b600019846008026200124b565b1980831691505092915050565b600062001286838362001258565b9150826002028217905092915050565b620012a1826200101c565b67ffffffffffffffff811115620012bd57620012bc62001027565b5b620012c9825462001085565b620012d6828285620011fb565b600060209050601f8311600181146200130e5760008415620012f9578287015190505b62001305858262001278565b86555062001375565b601f1984166200131e86620010ba565b60005b82811015620013485784890151825560018201915060208501945060208101905062001321565b8683101562001368578489015162001364601f89168262001258565b8355505b6001600288020188555050505b505050505050565b620013888162000fa5565b82525050565b6000604082019050620013a560008301856200137d565b620013b460208301846200137d565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620014268262001142565b9150620014338362001142565b925082620014465762001445620013bb565b5b828204905092915050565b60006200145e8262001142565b91506200146b8362001142565b9250828201905080821115620014865762001485620013ea565b5b92915050565b620014978162001142565b82525050565b6000602082019050620014b460008301846200148c565b92915050565b614ccf80620014ca6000396000f3fe6080604052600436106103a65760003560e01c80637bdd04f7116101e7578063b6336caa1161010d578063dd62ed3e116100a0578063f5ac9db61161006f578063f5ac9db614610e01578063f887ea4014610e2c578063f9bcaa2714610e57578063fe9fbb8014610e8257610420565b8063dd62ed3e14610d49578063df20fd4914610d86578063f0b37c0414610daf578063f2fde38b14610dd857610420565b8063c734e968116100dc578063c734e96814610c9f578063ca4950d314610cc8578063cba8887214610cf3578063d7e96c0514610d1e57610420565b8063b6336caa14610c09578063b6a5d7de14610c34578063bc3a429b14610c5d578063c6d2577d14610c7457610420565b80639d4f3d1a11610185578063a8b098c011610154578063a8b098c014610b4b578063a9059cbb14610b76578063ad5c464814610bb3578063b3c5630f14610bde57610420565b80639d4f3d1a14610a8f5780639e6427c414610aba578063a457c2d714610ae3578063a8aa1b3114610b2057610420565b80638ae063e9116101c15780638ae063e9146109e35780638da5cb5b14610a0e5780638de890bd14610a3957806395d89b4114610a6457610420565b80637bdd04f71461098a5780638091f3bf146109a15780638a8c523c146109cc57610420565b8063313ce567116102cc57806358fa63ca1161026a57806368e79e891161023957806368e79e89146108e25780636b4904ca1461090b57806370a0823114610936578063715018a61461097357610420565b806358fa63ca1461083a5780635f84fcd21461086557806360535b431461088e57806366bb8ea7146108b957610420565b80633ea17e57116102a65780633ea17e571461077e5780633fe4b251146107a957806346a3408b146107e6578063571ac8b0146107fd57610420565b8063313ce567146106eb5780633268cc5614610716578063395093511461074157610420565b80630b8a6e2f116103445780631ca4a5d9116103135780631ca4a5d91461064357806323b872dd1461065a578063241d5f13146106975780632b112e49146106c057610420565b80630b8a6e2f146105855780630fae39b3146105c257806310389024146105ed57806318160ddd1461061857610420565b8063054949231161038057806305494923146104b557806306fdde03146104f2578063095ea7b31461051d5780630b163e791461055a57610420565b8063012439381461042257806303fd2a451461045f5780630445b6671461048a57610420565b3661042057600047111561041e57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561041c573d6000803e3d6000fd5b505b005b005b34801561042e57600080fd5b5061044960048036038101906104449190613f5b565b610ebf565b6040516104569190613fa1565b60405180910390f35b34801561046b57600080fd5b50610474610f2f565b6040516104819190613fcb565b60405180910390f35b34801561049657600080fd5b5061049f610f35565b6040516104ac9190613fa1565b60405180910390f35b3480156104c157600080fd5b506104dc60048036038101906104d79190614012565b610f3b565b6040516104e99190613fa1565b60405180910390f35b3480156104fe57600080fd5b50610507610f7e565b60405161051491906140f5565b60405180910390f35b34801561052957600080fd5b50610544600480360381019061053f9190614117565b611010565b6040516105519190614172565b60405180910390f35b34801561056657600080fd5b5061056f611033565b60405161057c919061424b565b60405180910390f35b34801561059157600080fd5b506105ac60048036038101906105a7919061426d565b6110d4565b6040516105b99190613fcb565b60405180910390f35b3480156105ce57600080fd5b506105d7611122565b6040516105e49190613fa1565b60405180910390f35b3480156105f957600080fd5b50610602611128565b60405161060f9190613fa1565b60405180910390f35b34801561062457600080fd5b5061062d6111c0565b60405161063a9190613fa1565b60405180910390f35b34801561064f57600080fd5b506106586111ca565b005b34801561066657600080fd5b50610681600480360381019061067c91906142ad565b611787565b60405161068e9190614172565b60405180910390f35b3480156106a357600080fd5b506106be60048036038101906106b99190614012565b611950565b005b3480156106cc57600080fd5b506106d56119ca565b6040516106e29190613fa1565b60405180910390f35b3480156106f757600080fd5b50610700611a0b565b60405161070d919061431c565b60405180910390f35b34801561072257600080fd5b5061072b611a14565b6040516107389190613fcb565b60405180910390f35b34801561074d57600080fd5b5061076860048036038101906107639190614117565b611a2c565b6040516107759190614172565b60405180910390f35b34801561078a57600080fd5b50610793611a63565b6040516107a09190613fa1565b60405180910390f35b3480156107b557600080fd5b506107d060048036038101906107cb9190614337565b611a6d565b6040516107dd9190613fa1565b60405180910390f35b3480156107f257600080fd5b506107fb611a92565b005b34801561080957600080fd5b50610824600480360381019061081f9190613f5b565b611b5b565b6040516108319190614172565b60405180910390f35b34801561084657600080fd5b5061084f611b8e565b60405161085c9190613fcb565b60405180910390f35b34801561087157600080fd5b5061088c600480360381019061088791906143a3565b611b93565b005b34801561089a57600080fd5b506108a3611bf6565b6040516108b09190613fa1565b60405180910390f35b3480156108c557600080fd5b506108e060048036038101906108db91906143e3565b611bfc565b005b3480156108ee57600080fd5b5061090960048036038101906109049190613f5b565b611c5d565b005b34801561091757600080fd5b50610920611d67565b60405161092d9190613fcb565b60405180910390f35b34801561094257600080fd5b5061095d60048036038101906109589190613f5b565b611d8d565b60405161096a9190613fa1565b60405180910390f35b34801561097f57600080fd5b50610988611dd6565b005b34801561099657600080fd5b5061099f611dea565b005b3480156109ad57600080fd5b506109b6611e19565b6040516109c39190614172565b60405180910390f35b3480156109d857600080fd5b506109e1611e2c565b005b3480156109ef57600080fd5b506109f8611ea7565b604051610a059190613fcb565b60405180910390f35b348015610a1a57600080fd5b50610a23611ecd565b604051610a309190613fcb565b60405180910390f35b348015610a4557600080fd5b50610a4e611ef6565b604051610a5b9190613fa1565b60405180910390f35b348015610a7057600080fd5b50610a79611efc565b604051610a8691906140f5565b60405180910390f35b348015610a9b57600080fd5b50610aa4611f8e565b604051610ab19190613fa1565b60405180910390f35b348015610ac657600080fd5b50610ae16004803603810190610adc91906143e3565b611f94565b005b348015610aef57600080fd5b50610b0a6004803603810190610b059190614117565b611ff5565b604051610b179190614172565b60405180910390f35b348015610b2c57600080fd5b50610b35612036565b604051610b429190613fcb565b60405180910390f35b348015610b5757600080fd5b50610b6061205c565b604051610b6d9190614172565b60405180910390f35b348015610b8257600080fd5b50610b9d6004803603810190610b989190614117565b6120ce565b604051610baa9190614172565b60405180910390f35b348015610bbf57600080fd5b50610bc86120e3565b604051610bd59190613fcb565b60405180910390f35b348015610bea57600080fd5b50610bf36120fb565b604051610c009190614172565b60405180910390f35b348015610c1557600080fd5b50610c1e61210e565b604051610c2b9190613fa1565b60405180910390f35b348015610c4057600080fd5b50610c5b6004803603810190610c569190613f5b565b612118565b005b348015610c6957600080fd5b50610c7261217a565b005b348015610c8057600080fd5b50610c8961255c565b604051610c969190613fa1565b60405180910390f35b348015610cab57600080fd5b50610cc66004803603810190610cc19190613f5b565b612562565b005b348015610cd457600080fd5b50610cdd6125b8565b604051610cea9190613fcb565b60405180910390f35b348015610cff57600080fd5b50610d086125de565b604051610d159190613fa1565b60405180910390f35b348015610d2a57600080fd5b50610d33612676565b604051610d409190613fcb565b60405180910390f35b348015610d5557600080fd5b50610d706004803603810190610d6b9190614410565b61269c565b604051610d7d9190613fa1565b60405180910390f35b348015610d9257600080fd5b50610dad6004803603810190610da89190614450565b612723565b005b348015610dbb57600080fd5b50610dd66004803603810190610dd19190613f5b565b612781565b005b348015610de457600080fd5b50610dff6004803603810190610dfa9190613f5b565b6127e4565b005b348015610e0d57600080fd5b50610e16612888565b604051610e239190614172565b60405180910390f35b348015610e3857600080fd5b50610e4161289b565b604051610e4e91906144ef565b60405180910390f35b348015610e6357600080fd5b50610e6c6128c1565b604051610e799190613fa1565b60405180910390f35b348015610e8e57600080fd5b50610ea96004803603810190610ea49190613f5b565b6128c7565b604051610eb69190614172565b60405180910390f35b6000610f28601254600b6000600a54815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461291d90919063ffffffff16565b9050919050565b61dead81565b60185481565b6000610f7582610f676064610f59878961293390919063ffffffff16565b61294990919063ffffffff16565b61291d90919063ffffffff16565b90509392505050565b606060058054610f8d90614539565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb990614539565b80156110065780601f10610fdb57610100808354040283529160200191611006565b820191906000526020600020905b815481529060010190602001808311610fe957829003601f168201915b5050505050905090565b60008061101b61295f565b9050611028818585612967565b600191505092915050565b6060600c6000600a5481526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156110ca57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611080575b5050505050905090565b600c60205281600052604060002081815481106110f057600080fd5b906000526020600020016000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663103890246040518163ffffffff1660e01b8152600401602060405180830381865afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb919061457f565b905090565b6000600454905090565b6111d3336128c7565b6111dc57600080fd5b60005b6001600a546111ee91906145db565b811161177c576000600c60008381526020019081526020016000208054905090505b6000811115611768576000600182611228919061460f565b9050600a54830361143a57600c6000808152602001908152602001600020600c6000858152602001908152602001600020828154811061126b5761126a614643565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60008481526020019081526020016000206000600c600086815260200190815260200160002083815481106113305761132f614643565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008081526020019081526020016000206000600c600087815260200190815260200160002084815481106113d0576113cf614643565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600a5461144991906145db565b830361165957600c600060018152602001908152602001600020600c6000858152602001908152602001600020828154811061148857611487614643565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60008481526020019081526020016000206000600c6000868152602001908152602001600020838154811061154d5761154c614643565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b6000600181526020019081526020016000206000600c60006001815260200190815260200160002084815481106115ef576115ee614643565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b60008481526020019081526020016000206000600c6000868152602001908152602001600020838154811061169357611692614643565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009055600c600084815260200190815260200160002080548061171f5761171e614672565b5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055508080611760906146a1565b915050611210565b508080611774906146ca565b9150506111df565b506000600a81905550565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461193c576118bb82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac490919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611947848484612ada565b90509392505050565b611959336128c7565b61196257600080fd5b600561196f848484610f3b565b11156119b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a79061475e565b60405180910390fd5b82600d8190555081600e8190555080601081905550505050565b6000611a066119d96000611d8d565b6119f86119e761dead611d8d565b600754612ac490919063ffffffff16565b612ac490919063ffffffff16565b905090565b60006012905090565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600080611a3761295f565b9050611a58818585611a49858961269c565b611a5391906145db565b612967565b600191505092915050565b6000601154905090565b600b602052816000526040600020602052806000526040600020600091509150505481565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b19906147ca565b60405180910390fd5b611b386001600a5461293390919063ffffffff16565b600a819055506000601c60156101000a81548160ff021916908315150217905550565b6000611b87827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611010565b9050919050565b600081565b611b9b612f59565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600e5481565b8060008111611c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3790614836565b60405180910390fd5b611c49336128c7565b611c5257600080fd5b816012819055505050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f9c83b86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cee919061486b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d52906148e4565b60405180910390fd5b611d6481612fa1565b50565b601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611dde612f59565b611de86000613048565b565b611df3336128c7565b611dfc57600080fd5b6000601c60156101000a81548160ff021916908315150217905550565b601460009054906101000a900460ff1681565b611e34612f59565b60001515601760149054906101000a900460ff16151514611e8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8190614950565b60405180910390fd5b6001601760146101000a81548160ff021916908315150217905550565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60155481565b606060068054611f0b90614539565b80601f0160208091040260200160405190810160405280929190818152602001828054611f3790614539565b8015611f845780601f10611f5957610100808354040283529160200191611f84565b820191906000526020600020905b815481529060010190602001808311611f6757829003601f168201915b5050505050905090565b600d5481565b8060008111611fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcf90614836565b60405180910390fd5b611fe1336128c7565b611fea57600080fd5b816011819055505050565b60008061200061295f565b9050600061200e828661269c565b90508381101561201d57600080fd5b61202a8286868403612967565b60019250505092915050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806120676125de565b1480156120815750601c60159054906101000a900460ff16155b80156120a557506000600c6000600a54815260200190815260200160002080549050115b80156120b8575060006120b6611128565b115b156120c657600190506120cb565b600090505b90565b60006120db338484612ada565b905092915050565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b601760159054906101000a900460ff1681565b6000601254905090565b612120612f59565b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663355295a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220b919061486b565b601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636f9c83b86040518163ffffffff1660e01b8152600401602060405180830381865afa15801561231b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061233f919061486b565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001806000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160136000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327459c476040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612509919061486b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550565b60165481565b61256b336128c7565b61257457600080fd5b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cba888726040518163ffffffff1660e01b8152600401602060405180830381865afa15801561264d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612671919061457f565b905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61272c336128c7565b61273557600080fd5b678ac7230489e80000811015801561275357506127506119ca565b81105b61275c57600080fd5b81601760156101000a81548160ff021916908315150217905550806018819055505050565b612789612f59565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6127ec612f59565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361282557600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061288581613048565b50565b601760149054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000818361292b919061499f565b905092915050565b6000818361294191906145db565b905092915050565b6000818361295791906149d0565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129a057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129d957600080fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612ab79190613fa1565b60405180910390a3505050565b60008183612ad2919061460f565b905092915050565b6000612ae461205c565b15612af257612af161310c565b5b601c60149054906101000a900460ff1615612b1957612b128484846131bd565b9050612f52565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612bb65750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b90506000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480612c555750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b9050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16141580612d025750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b8015612d1357508080612d125750815b5b15612d6857601760149054906101000a900460ff16612d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d5e90614a5e565b60405180910390fd5b5b6000612d7487876132f4565b612d7e5784612d89565b612d8887866134e5565b5b90508115612d9c57612d9b86866137f9565b5b828015612dad5750612dac613b1a565b5b15612dbb57612dba613bf1565b5b612e0d85600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac490919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ea281600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293390919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612f429190613fa1565b60405180910390a3600193505050505b9392505050565b612f6161295f565b73ffffffffffffffffffffffffffffffffffffffff16612f7f611ecd565b73ffffffffffffffffffffffffffffffffffffffff1614612f9f57600080fd5b565b80601960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e0c862896040518163ffffffff1660e01b81526004016020604051808303816000875af115801561317b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061319f919061457f565b506001601c60156101000a81548160ff021916908315150217905550565b600061321182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ac490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132a682600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293390919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509392505050565b6000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806133975750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1580156134dd5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806134485750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b806134925750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b806134dc5750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b5b905092915050565b600080613511601054613503600d548661294990919063ffffffff16565b61291d90919063ffffffff16565b90506000601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166327459c476040518163ffffffff1660e01b8152600401602060405180830381865afa158015613582573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135a6919061486b565b90506135fa82600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293390919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161369a9190613fa1565b60405180910390a360006136cd6010546136bf600e548861294990919063ffffffff16565b61291d90919063ffffffff16565b905061372181600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293390919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516137c19190613fa1565b60405180910390a36137ee816137e08588612ac490919063ffffffff16565b612ac490919063ffffffff16565b935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015613864575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61386d57600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806139085750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061395c5750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b613b16576000601c60159054906101000a900460ff1661397e57600a5461398e565b6001600a5461398d91906145db565b5b90506000600b600083815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403613a5d57600c6000828152602001908152602001600020839080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b613ac082600b600084815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461293390919063ffffffff16565b600b600083815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015613b875750601c60149054906101000a900460ff16155b8015613b9f5750601760159054906101000a900460ff165b8015613bec5750601854600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601c60146101000a81548160ff0219169083151502179055506000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600267ffffffffffffffff811115613c6d57613c6c614a7e565b5b604051908082528060200260200182016040528015613c9b5781602001602082028036833780820191505090505b5090503081600081518110613cb357613cb2614643565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110613d1657613d15614643565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84846040518363ffffffff1660e01b8152600401613daf929190614aad565b600060405180830381865afa158015613dcc573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613df59190614bf6565b600181518110613e0857613e07614643565b5b60200260200101519050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947848385601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401613e97959493929190614c3f565b600060405180830381600087803b158015613eb157600080fd5b505af1158015613ec5573d6000803e3d6000fd5b505050505050506000601c60146101000a81548160ff021916908315150217905550565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613f2882613efd565b9050919050565b613f3881613f1d565b8114613f4357600080fd5b50565b600081359050613f5581613f2f565b92915050565b600060208284031215613f7157613f70613ef3565b5b6000613f7f84828501613f46565b91505092915050565b6000819050919050565b613f9b81613f88565b82525050565b6000602082019050613fb66000830184613f92565b92915050565b613fc581613f1d565b82525050565b6000602082019050613fe06000830184613fbc565b92915050565b613fef81613f88565b8114613ffa57600080fd5b50565b60008135905061400c81613fe6565b92915050565b60008060006060848603121561402b5761402a613ef3565b5b600061403986828701613ffd565b935050602061404a86828701613ffd565b925050604061405b86828701613ffd565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b8381101561409f578082015181840152602081019050614084565b60008484015250505050565b6000601f19601f8301169050919050565b60006140c782614065565b6140d18185614070565b93506140e1818560208601614081565b6140ea816140ab565b840191505092915050565b6000602082019050818103600083015261410f81846140bc565b905092915050565b6000806040838503121561412e5761412d613ef3565b5b600061413c85828601613f46565b925050602061414d85828601613ffd565b9150509250929050565b60008115159050919050565b61416c81614157565b82525050565b60006020820190506141876000830184614163565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141c281613f1d565b82525050565b60006141d483836141b9565b60208301905092915050565b6000602082019050919050565b60006141f88261418d565b6142028185614198565b935061420d836141a9565b8060005b8381101561423e57815161422588826141c8565b9750614230836141e0565b925050600181019050614211565b5085935050505092915050565b6000602082019050818103600083015261426581846141ed565b905092915050565b6000806040838503121561428457614283613ef3565b5b600061429285828601613ffd565b92505060206142a385828601613ffd565b9150509250929050565b6000806000606084860312156142c6576142c5613ef3565b5b60006142d486828701613f46565b93505060206142e586828701613f46565b92505060406142f686828701613ffd565b9150509250925092565b600060ff82169050919050565b61431681614300565b82525050565b6000602082019050614331600083018461430d565b92915050565b6000806040838503121561434e5761434d613ef3565b5b600061435c85828601613ffd565b925050602061436d85828601613f46565b9150509250929050565b61438081614157565b811461438b57600080fd5b50565b60008135905061439d81614377565b92915050565b600080604083850312156143ba576143b9613ef3565b5b60006143c885828601613f46565b92505060206143d98582860161438e565b9150509250929050565b6000602082840312156143f9576143f8613ef3565b5b600061440784828501613ffd565b91505092915050565b6000806040838503121561442757614426613ef3565b5b600061443585828601613f46565b925050602061444685828601613f46565b9150509250929050565b6000806040838503121561446757614466613ef3565b5b60006144758582860161438e565b925050602061448685828601613ffd565b9150509250929050565b6000819050919050565b60006144b56144b06144ab84613efd565b614490565b613efd565b9050919050565b60006144c78261449a565b9050919050565b60006144d9826144bc565b9050919050565b6144e9816144ce565b82525050565b600060208201905061450460008301846144e0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061455157607f821691505b6020821081036145645761456361450a565b5b50919050565b60008151905061457981613fe6565b92915050565b60006020828403121561459557614594613ef3565b5b60006145a38482850161456a565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006145e682613f88565b91506145f183613f88565b9250828201905080821115614609576146086145ac565b5b92915050565b600061461a82613f88565b915061462583613f88565b925082820390508181111561463d5761463c6145ac565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60006146ac82613f88565b9150600082036146bf576146be6145ac565b5b600182039050919050565b60006146d582613f88565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614707576147066145ac565b5b600182019050919050565b7f5461782063616e6e6f7420657863656564203525000000000000000000000000600082015250565b6000614748601483614070565b915061475382614712565b602082019050919050565b600060208201905081810360008301526147778161473b565b9050919050565b7f4d757374206265206a61636b706f740000000000000000000000000000000000600082015250565b60006147b4600f83614070565b91506147bf8261477e565b602082019050919050565b600060208201905081810360008301526147e3816147a7565b9050919050565b7f4d75737420626520706f73697469766500000000000000000000000000000000600082015250565b6000614820601083614070565b915061482b826147ea565b602082019050919050565b6000602082019050818103600083015261484f81614813565b9050919050565b60008151905061486581613f2f565b92915050565b60006020828403121561488157614880613ef3565b5b600061488f84828501614856565b91505092915050565b7f4f6e6c792048616e646c65720000000000000000000000000000000000000000600082015250565b60006148ce600c83614070565b91506148d982614898565b602082019050919050565b600060208201905081810360008301526148fd816148c1565b9050919050565b7f416c726561647920656e61626c65640000000000000000000000000000000000600082015250565b600061493a600f83614070565b915061494582614904565b602082019050919050565b600060208201905081810360008301526149698161492d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149aa82613f88565b91506149b583613f88565b9250826149c5576149c4614970565b5b828204905092915050565b60006149db82613f88565b91506149e683613f88565b92508282026149f481613f88565b91508282048414831517614a0b57614a0a6145ac565b5b5092915050565b7f4e6f742073746172746564000000000000000000000000000000000000000000600082015250565b6000614a48600b83614070565b9150614a5382614a12565b602082019050919050565b60006020820190508181036000830152614a7781614a3b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000604082019050614ac26000830185613f92565b8181036020830152614ad481846141ed565b90509392505050565b600080fd5b614aeb826140ab565b810181811067ffffffffffffffff82111715614b0a57614b09614a7e565b5b80604052505050565b6000614b1d613ee9565b9050614b298282614ae2565b919050565b600067ffffffffffffffff821115614b4957614b48614a7e565b5b602082029050602081019050919050565b600080fd5b6000614b72614b6d84614b2e565b614b13565b90508083825260208201905060208402830185811115614b9557614b94614b5a565b5b835b81811015614bbe5780614baa888261456a565b845260208401935050602081019050614b97565b5050509392505050565b600082601f830112614bdd57614bdc614add565b5b8151614bed848260208601614b5f565b91505092915050565b600060208284031215614c0c57614c0b613ef3565b5b600082015167ffffffffffffffff811115614c2a57614c29613ef8565b5b614c3684828501614bc8565b91505092915050565b600060a082019050614c546000830188613f92565b614c616020830187613f92565b8181036040830152614c7381866141ed565b9050614c826060830185613fbc565b614c8f6080830184613f92565b969550505050505056fea2646970667358221220df5307455af3a5d6791ccfd321725416916bd39c21e640d328a977b33fdc23a464736f6c63430008130033000000000000000000000000a793087c5eb21452cde6b5ed12544f89e6d47fbd