60806040526012600a620000149190620008be565b6301312d006200002591906200090f565b600555600060075560006008556002600b556000600e60146101000a81548160ff02191690831515021790555060326012600a620000649190620008be565b633b9aca006200007591906200090f565b62000081919062000989565b600f553480156200009157600080fd5b506000620000a46200071c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350736bded42c6da8fbf0d2ba55b2fa120c5e0c8d7891600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000205573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022b919062000a2b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db919062000a2b565b6040518363ffffffff1660e01b8152600401620002fa92919062000a6e565b6020604051808303816000875af11580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000340919062000a2b565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073bd1bfd93f7a91a553a5439d3a38584aee0703cb9600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620003e59190620008be565b633b9aca00620003f691906200090f565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600073bd1bfd93f7a91a553a5439d3a38584aee0703cb973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200068f6200071c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620006ee9190620008be565b633b9aca00620006ff91906200090f565b6040516200070e919062000aac565b60405180910390a362000ac9565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620007b2578086048111156200078a576200078962000724565b5b60018516156200079a5780820291505b8081029050620007aa8562000753565b94506200076a565b94509492505050565b600082620007cd5760019050620008a0565b81620007dd5760009050620008a0565b8160018114620007f65760028114620008015762000837565b6001915050620008a0565b60ff84111562000816576200081562000724565b5b8360020a91508482111562000830576200082f62000724565b5b50620008a0565b5060208310610133831016604e8410600b8410161715620008715782820a9050838111156200086b576200086a62000724565b5b620008a0565b62000880848484600162000760565b925090508184048111156200089a576200089962000724565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620008cb82620008a7565b9150620008d883620008b1565b9250620009077fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007bb565b905092915050565b60006200091c82620008a7565b91506200092983620008a7565b92508282026200093981620008a7565b9150828204841483151762000953576200095262000724565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200099682620008a7565b9150620009a383620008a7565b925082620009b657620009b56200095a565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009f382620009c6565b9050919050565b62000a0581620009e6565b811462000a1157600080fd5b50565b60008151905062000a2581620009fa565b92915050565b60006020828403121562000a445762000a43620009c1565b5b600062000a548482850162000a14565b91505092915050565b62000a6881620009e6565b82525050565b600060408201905062000a85600083018562000a5d565b62000a94602083018462000a5d565b9392505050565b62000aa681620008a7565b82525050565b600060208201905062000ac3600083018462000a9b565b92915050565b61303a8062000ad96000396000f3fe6080604052600436106101c65760003560e01c80638a8c523c116100f7578063ac1d060911610095578063d8b6004011610064578063d8b6004014610607578063dd62ed3e14610630578063f2fde38b1461066d578063f99031a714610696576101cd565b8063ac1d06091461055d578063cc1776d314610586578063cd03425c146105b1578063d00efb2f146105dc576101cd565b80639036ed4d116100d15780639036ed4d146104a357806395d89b41146104cc578063a21e876e146104f7578063a9059cbb14610520576101cd565b80638a8c523c146104365780638c0b5e221461044d5780638da5cb5b14610478576101cd565b80634f7041a51161016457806370d8c9ec1161013e57806370d8c9ec146103b4578063715018a6146103dd578063751039fc146103f457806375f0a8741461040b576101cd565b80634f7041a5146103235780635d098b381461034e57806370a0823114610377576101cd565b806318160ddd116101a057806318160ddd1461026557806323b872dd14610290578063313ce567146102cd57806349bd5a5e146102f8576101cd565b806306fdde03146101d2578063095ea7b3146101fd578063111a46511461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106d3565b6040516101f4919061213a565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190612204565b610710565b604051610231919061225f565b60405180910390f35b34801561024657600080fd5b5061024f61072e565b60405161025c919061225f565b60405180910390f35b34801561027157600080fd5b5061027a610741565b6040516102879190612289565b60405180910390f35b34801561029c57600080fd5b506102b760048036038101906102b291906122a4565b610765565b6040516102c4919061225f565b60405180910390f35b3480156102d957600080fd5b506102e261081d565b6040516102ef9190612313565b60405180910390f35b34801561030457600080fd5b5061030d610826565b60405161031a919061233d565b60405180910390f35b34801561032f57600080fd5b5061033861084c565b6040516103459190612289565b60405180910390f35b34801561035a57600080fd5b5061037560048036038101906103709190612358565b610852565b005b34801561038357600080fd5b5061039e60048036038101906103999190612358565b61092b565b6040516103ab9190612289565b60405180910390f35b3480156103c057600080fd5b506103db60048036038101906103d69190612385565b610974565b005b3480156103e957600080fd5b506103f2610a13565b005b34801561040057600080fd5b50610409610b66565b005b34801561041757600080fd5b50610420610c43565b60405161042d91906123d3565b60405180910390f35b34801561044257600080fd5b5061044b610c69565b005b34801561045957600080fd5b50610462610d22565b60405161046f9190612289565b60405180910390f35b34801561048457600080fd5b5061048d610d28565b60405161049a919061233d565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906123ee565b610d51565b005b3480156104d857600080fd5b506104e1610e49565b6040516104ee919061213a565b60405180910390f35b34801561050357600080fd5b5061051e600480360381019061051991906125a2565b610e86565b005b34801561052c57600080fd5b5061054760048036038101906105429190612204565b610fb0565b604051610554919061225f565b60405180910390f35b34801561056957600080fd5b50610584600480360381019061057f91906125fe565b610fce565b005b34801561059257600080fd5b5061059b61110c565b6040516105a89190612289565b60405180910390f35b3480156105bd57600080fd5b506105c6611112565b6040516105d39190612289565b60405180910390f35b3480156105e857600080fd5b506105f1611118565b6040516105fe9190612289565b60405180910390f35b34801561061357600080fd5b5061062e60048036038101906106299190612385565b61111e565b005b34801561063c57600080fd5b506106576004803603810190610652919061263e565b6111ea565b6040516106649190612289565b60405180910390f35b34801561067957600080fd5b50610694600480360381019061068f9190612358565b611271565b005b3480156106a257600080fd5b506106bd60048036038101906106b89190612358565b611312565b6040516106ca919061225f565b60405180910390f35b60606040518060400160405280600881526020017f4465657a4e757473000000000000000000000000000000000000000000000000815250905090565b600061072461071d611332565b848461133a565b6001905092915050565b600a60009054906101000a900460ff1681565b60006012600a61075191906127e0565b633b9aca00610760919061282b565b905090565b6000610772848484611503565b6108128461077e611332565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107c8611332565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461080d919061286d565b61133a565b600190509392505050565b60006012905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b61085a611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108de906128ed565b60405180910390fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61097c611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a00906128ed565b60405180910390fd5b80600b8190555050565b610a1b611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f906128ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b6e611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf2906128ed565b60405180910390fd5b6012600a610c0991906127e0565b633b9aca00610c18919061282b565b6005819055506012600a610c2c91906127e0565b633b9aca00610c3b919061282b565b600f81905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c71611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf5906128ed565b60405180910390fd5b6001600e60146101000a81548160ff02191690831515021790555043600981905550565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610d59611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd906128ed565b60405180910390fd5b600a8211158015610df85750600a8111155b610e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2e90612959565b60405180910390fd5b81600781905550806008819055505050565b60606040518060400160405280600881526020017f446565736e757473000000000000000000000000000000000000000000000000815250905090565b610e8e611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f12906128ed565b60405180910390fd5b60005b8251811015610fab578160046000858481518110610f3f57610f3e612979565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fa3906129a8565b915050610f1e565b505050565b6000610fc4610fbd611332565b8484611503565b6001905092915050565b610fd6611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a906128ed565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fc551bbb22d0406dbfb8b6b7740cc521bcf44e1106029cf899c19b6a8e4c99d5182604051611100919061225f565b60405180910390a25050565b60085481565b600f5481565b60095481565b611126611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111aa906128ed565b60405180910390fd5b80600f81905550807fc9a07d0106b62dd0f2706dab6a7aee4c4d0dc35078c994bf5c08d5d85861d46b60405160405180910390a250565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611279611332565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fd906128ed565b60405180910390fd5b61130f81611871565b50565b60106020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a090612a62565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90612af4565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114f69190612289565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156990612b86565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806116135750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611625576000600681905550611861565b600e60149054906101000a900460ff16611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90612bf2565b60405180910390fd5b6005548111156116b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b090612c5e565b60405180910390fd5b6000600954141580156116d95750600a60009054906101000a900460ff16155b1561171357600b546009546116ee9190612c7e565b43116117095760636007819055506063600881905550611712565b61171161199d565b5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361177657600754600681905550611860565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118565760006117d63061092b565b90506012600a6117e691906127e0565b620493e06117f4919061282b565b811115611847576012600a61180991906127e0565b626acfc0611817919061282b565b81111561183d576012600a61182c91906127e0565b626acfc061183a919061282b565b90505b61184681611b19565b5b6008546006819055505061185f565b60006006819055505b5b5b61186c838383611d7e565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d790612d24565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6010600b546009546119af9190612c7e565b6119b99190612c7e565b43116119cb576119ca601480612098565b5b6010600b546009546119dd9190612c7e565b6119e79190612c7e565b43118015611a105750601d600b54600954611a029190612c7e565b611a0c9190612c7e565b4311155b15611a2157611a20600f80612098565b5b601d600b54600954611a339190612c7e565b611a3d9190612c7e565b43118015611a6657506027600b54600954611a589190612c7e565b611a629190612c7e565b4311155b15611a7757611a76600a80612098565b5b6027600b54600954611a899190612c7e565b611a939190612c7e565b43118015611abc5750602e600b54600954611aae9190612c7e565b611ab89190612c7e565b4311155b15611acd57611acc600580612098565b5b602e600b54600954611adf9190612c7e565b611ae99190612c7e565b431115611b1757611afb600380612098565b6001600a60006101000a81548160ff0219169083151502179055505b565b6000600267ffffffffffffffff811115611b3657611b35612433565b5b604051908082528060200260200182016040528015611b645781602001602082028036833780820191505090505b5090503081600081518110611b7c57611b7b612979565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c479190612d59565b81600181518110611c5b57611c5a612979565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cc230600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461133a565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac94783600084600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b8152600401611d48959493929190612ede565b600060405180830381600087803b158015611d6257600080fd5b505af1158015611d76573d6000803e3d6000fd5b505050505050565b6000606460065483611d90919061282b565b611d9a9190612f67565b905060008183611daa919061286d565b905082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611df7919061286d565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e859190612c7e565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f139190612c7e565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661202c57600f54600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561202b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202290612fe4565b60405180910390fd5b5b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120899190612289565b60405180910390a35050505050565b81600781905550806008819055505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156120e45780820151818401526020810190506120c9565b60008484015250505050565b6000601f19601f8301169050919050565b600061210c826120aa565b61211681856120b5565b93506121268185602086016120c6565b61212f816120f0565b840191505092915050565b600060208201905081810360008301526121548184612101565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061219b82612170565b9050919050565b6121ab81612190565b81146121b657600080fd5b50565b6000813590506121c8816121a2565b92915050565b6000819050919050565b6121e1816121ce565b81146121ec57600080fd5b50565b6000813590506121fe816121d8565b92915050565b6000806040838503121561221b5761221a612166565b5b6000612229858286016121b9565b925050602061223a858286016121ef565b9150509250929050565b60008115159050919050565b61225981612244565b82525050565b60006020820190506122746000830184612250565b92915050565b612283816121ce565b82525050565b600060208201905061229e600083018461227a565b92915050565b6000806000606084860312156122bd576122bc612166565b5b60006122cb868287016121b9565b93505060206122dc868287016121b9565b92505060406122ed868287016121ef565b9150509250925092565b600060ff82169050919050565b61230d816122f7565b82525050565b60006020820190506123286000830184612304565b92915050565b61233781612190565b82525050565b6000602082019050612352600083018461232e565b92915050565b60006020828403121561236e5761236d612166565b5b600061237c848285016121b9565b91505092915050565b60006020828403121561239b5761239a612166565b5b60006123a9848285016121ef565b91505092915050565b60006123bd82612170565b9050919050565b6123cd816123b2565b82525050565b60006020820190506123e860008301846123c4565b92915050565b6000806040838503121561240557612404612166565b5b6000612413858286016121ef565b9250506020612424858286016121ef565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61246b826120f0565b810181811067ffffffffffffffff8211171561248a57612489612433565b5b80604052505050565b600061249d61215c565b90506124a98282612462565b919050565b600067ffffffffffffffff8211156124c9576124c8612433565b5b602082029050602081019050919050565b600080fd5b60006124f26124ed846124ae565b612493565b90508083825260208201905060208402830185811115612515576125146124da565b5b835b8181101561253e578061252a88826121b9565b845260208401935050602081019050612517565b5050509392505050565b600082601f83011261255d5761255c61242e565b5b813561256d8482602086016124df565b91505092915050565b61257f81612244565b811461258a57600080fd5b50565b60008135905061259c81612576565b92915050565b600080604083850312156125b9576125b8612166565b5b600083013567ffffffffffffffff8111156125d7576125d661216b565b5b6125e385828601612548565b92505060206125f48582860161258d565b9150509250929050565b6000806040838503121561261557612614612166565b5b6000612623858286016121b9565b92505060206126348582860161258d565b9150509250929050565b6000806040838503121561265557612654612166565b5b6000612663858286016121b9565b9250506020612674858286016121b9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612704578086048111156126e0576126df61267e565b5b60018516156126ef5780820291505b80810290506126fd856126ad565b94506126c4565b94509492505050565b60008261271d57600190506127d9565b8161272b57600090506127d9565b8160018114612741576002811461274b5761277a565b60019150506127d9565b60ff84111561275d5761275c61267e565b5b8360020a9150848211156127745761277361267e565b5b506127d9565b5060208310610133831016604e8410600b84101617156127af5782820a9050838111156127aa576127a961267e565b5b6127d9565b6127bc84848460016126ba565b925090508184048111156127d3576127d261267e565b5b81810290505b9392505050565b60006127eb826121ce565b91506127f6836122f7565b92506128237fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461270d565b905092915050565b6000612836826121ce565b9150612841836121ce565b925082820261284f816121ce565b915082820484148315176128665761286561267e565b5b5092915050565b6000612878826121ce565b9150612883836121ce565b925082820390508181111561289b5761289a61267e565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128d76020836120b5565b91506128e2826128a1565b602082019050919050565b60006020820190508181036000830152612906816128ca565b9050919050565b7f45524332303a2077726f6e67207461782076616c756521000000000000000000600082015250565b60006129436017836120b5565b915061294e8261290d565b602082019050919050565b6000602082019050818103600083015261297281612936565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006129b3826121ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036129e5576129e461267e565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a4c6024836120b5565b9150612a57826129f0565b604082019050919050565b60006020820190508181036000830152612a7b81612a3f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ade6022836120b5565b9150612ae982612a82565b604082019050919050565b60006020820190508181036000830152612b0d81612ad1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b706025836120b5565b9150612b7b82612b14565b604082019050919050565b60006020820190508181036000830152612b9f81612b63565b9050919050565b7f576169742074696c6c206c61756e636800000000000000000000000000000000600082015250565b6000612bdc6010836120b5565b9150612be782612ba6565b602082019050919050565b60006020820190508181036000830152612c0b81612bcf565b9050919050565b7f4d6178205478416d6f756e74203225206174206c61756e636800000000000000600082015250565b6000612c486019836120b5565b9150612c5382612c12565b602082019050919050565b60006020820190508181036000830152612c7781612c3b565b9050919050565b6000612c89826121ce565b9150612c94836121ce565b9250828201905080821115612cac57612cab61267e565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612d0e6026836120b5565b9150612d1982612cb2565b604082019050919050565b60006020820190508181036000830152612d3d81612d01565b9050919050565b600081519050612d53816121a2565b92915050565b600060208284031215612d6f57612d6e612166565b5b6000612d7d84828501612d44565b91505092915050565b6000819050919050565b6000819050919050565b6000612db5612db0612dab84612d86565b612d90565b6121ce565b9050919050565b612dc581612d9a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e0081612190565b82525050565b6000612e128383612df7565b60208301905092915050565b6000602082019050919050565b6000612e3682612dcb565b612e408185612dd6565b9350612e4b83612de7565b8060005b83811015612e7c578151612e638882612e06565b9750612e6e83612e1e565b925050600181019050612e4f565b5085935050505092915050565b6000612ea4612e9f612e9a84612170565b612d90565b612170565b9050919050565b6000612eb682612e89565b9050919050565b6000612ec882612eab565b9050919050565b612ed881612ebd565b82525050565b600060a082019050612ef3600083018861227a565b612f006020830187612dbc565b8181036040830152612f128186612e2b565b9050612f216060830185612ecf565b612f2e608083018461227a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f72826121ce565b9150612f7d836121ce565b925082612f8d57612f8c612f38565b5b828204905092915050565b7f4f766572204d617820486f6c64696e6720416d6f756e74000000000000000000600082015250565b6000612fce6017836120b5565b9150612fd982612f98565b602082019050919050565b60006020820190508181036000830152612ffd81612fc1565b905091905056fea26469706673582212205394a20f4ecffe7110d14b38b611a8e78b0eecbed7229ac6d0f429b560634f2f64736f6c63430008120033