0x60806040526000600860146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405162003e6238038062003e628339818101604052810190620000529190620003e0565b6040518060400160405280601181526020017f4472616b655761727320447261676f6e730000000000000000000000000000008152506040518060400160405280600381526020017f44574400000000000000000000000000000000000000000000000000000000008152508282828160009081620000d291906200067c565b508060019081620000e491906200067c565b50505062000107620000fb6200017f60201b60201c565b6200018760201b60201c565b6000600860146101000a81548160ff02191690831515021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600990816200017491906200067c565b505050505062000763565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620002b6826200026b565b810181811067ffffffffffffffff82111715620002d857620002d76200027c565b5b80604052505050565b6000620002ed6200024d565b9050620002fb8282620002ab565b919050565b600067ffffffffffffffff8211156200031e576200031d6200027c565b5b62000329826200026b565b9050602081019050919050565b60005b838110156200035657808201518184015260208101905062000339565b60008484015250505050565b600062000379620003738462000300565b620002e1565b90508281526020810184848401111562000398576200039762000266565b5b620003a584828562000336565b509392505050565b600082601f830112620003c557620003c462000261565b5b8151620003d784826020860162000362565b91505092915050565b600060208284031215620003f957620003f862000257565b5b600082015167ffffffffffffffff8111156200041a57620004196200025c565b5b6200042884828501620003ad565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200048457607f821691505b6020821081036200049a57620004996200043c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004c5565b620005108683620004c5565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200055d62000557620005518462000528565b62000532565b62000528565b9050919050565b6000819050919050565b62000579836200053c565b62000591620005888262000564565b848454620004d2565b825550505050565b600090565b620005a862000599565b620005b58184846200056e565b505050565b5b81811015620005dd57620005d16000826200059e565b600181019050620005bb565b5050565b601f8211156200062c57620005f681620004a0565b6200060184620004b5565b8101602085101562000611578190505b620006296200062085620004b5565b830182620005ba565b50505b505050565b600082821c905092915050565b6000620006516000198460080262000631565b1980831691505092915050565b60006200066c83836200063e565b9150826002028217905092915050565b620006878262000431565b67ffffffffffffffff811115620006a357620006a26200027c565b5b620006af82546200046b565b620006bc828285620005e1565b600060209050601f831160018114620006f45760008415620006df578287015190505b620006eb85826200065e565b8655506200075b565b601f1984166200070486620004a0565b60005b828110156200072e5784890151825560018201915060208501945060208101905062000707565b868310156200074e57848901516200074a601f8916826200063e565b8355505b6001600288020188555050505b505050505050565b6136ef80620007736000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063715018a6116100c3578063b88d4fde1161007c578063b88d4fde146103d9578063bb35783b146103f5578063c87b56dd14610425578063d0ebdbe714610455578063e985e9c514610485578063f2fde38b146104b557610158565b8063715018a61461033d5780638da5cb5b1461034757806392ff0d311461036557806395d89b41146103835780639cd23707146103a1578063a22cb465146103bd57610158565b806342842e0e1161011557806342842e0e1461024357806342966c681461025f578063481c6a751461028f57806349f2553a146102ad5780636352211e146102dd57806370a082311461030d57610158565b806301ffc9a71461015d57806306fdde031461018d578063081812fc146101ab578063095ea7b3146101db57806323b872dd146101f757806340c10f1914610213575b600080fd5b61017760048036038101906101729190612414565b6104d1565b604051610184919061245c565b60405180910390f35b6101956105b3565b6040516101a29190612507565b60405180910390f35b6101c560048036038101906101c0919061255f565b610645565b6040516101d291906125cd565b60405180910390f35b6101f560048036038101906101f09190612614565b61068b565b005b610211600480360381019061020c9190612654565b610740565b005b61022d60048036038101906102289190612614565b6107f7565b60405161023a919061245c565b60405180910390f35b61025d60048036038101906102589190612654565b6108f5565b005b6102796004803603810190610274919061255f565b610915565b604051610286919061245c565b60405180910390f35b610297610a11565b6040516102a491906125cd565b60405180910390f35b6102c760048036038101906102c291906127dc565b610a3b565b6040516102d4919061245c565b60405180910390f35b6102f760048036038101906102f2919061255f565b610a5e565b60405161030491906125cd565b60405180910390f35b61032760048036038101906103229190612825565b610ae4565b6040516103349190612861565b60405180910390f35b610345610b9b565b005b61034f610baf565b60405161035c91906125cd565b60405180910390f35b61036d610bd9565b60405161037a919061245c565b60405180910390f35b61038b610bf0565b6040516103989190612507565b60405180910390f35b6103bb60048036038101906103b691906128a8565b610c82565b005b6103d760048036038101906103d291906128d5565b610ca7565b005b6103f360048036038101906103ee91906129b6565b610d5c565b005b61040f600480360381019061040a9190612654565b610e15565b60405161041c919061245c565b60405180910390f35b61043f600480360381019061043a919061255f565b610f15565b60405161044c9190612507565b60405180910390f35b61046f600480360381019061046a9190612825565b610f7d565b60405161047c919061245c565b60405180910390f35b61049f600480360381019061049a9190612a39565b611040565b6040516104ac919061245c565b60405180910390f35b6104cf60048036038101906104ca9190612825565b6110d4565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061059c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806105ac57506105ab82611157565b5b9050919050565b6060600080546105c290612aa8565b80601f01602080910402602001604051908101604052809291908181526020018280546105ee90612aa8565b801561063b5780601f106106105761010080835404028352916020019161063b565b820191906000526020600020905b81548152906001019060200180831161061e57829003601f168201915b5050505050905090565b6000610650826111c1565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806106f35750600860149054906101000a900460ff165b610732576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072990612b25565b60405180910390fd5b61073c828261120c565b5050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107a85750600860149054906101000a900460ff165b6107e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107de90612b25565b60405180910390fd5b6107f2838383611323565b505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108a25750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6108e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d890612b91565b60405180910390fd5b6108eb8383611383565b6001905092915050565b61091083838360405180602001604052806000815250610d5c565b505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109c05750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612b91565b60405180910390fd5b610a08826115a0565b60019050919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610a456116ee565b8160099081610a549190612d5d565b5060019050919050565b600080610a6a8361176c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad290612e7b565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4b90612f0d565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ba36116ee565b610bad60006117a9565b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600860149054906101000a900460ff16905090565b606060018054610bff90612aa8565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2b90612aa8565b8015610c785780601f10610c4d57610100808354040283529160200191610c78565b820191906000526020600020905b815481529060010190602001808311610c5b57829003601f168201915b5050505050905090565b610c8a6116ee565b80600860146101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d0f5750600860149054906101000a900460ff165b610d4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4590612b25565b60405180910390fd5b610d58828261186f565b5050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610dc45750600860149054906101000a900460ff165b610e03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfa90612b25565b60405180910390fd5b610e0f84848484611885565b50505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ec05750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690612b91565b60405180910390fd5b610f0a8484846118e7565b600190509392505050565b6060610f20826111c1565b6000610f2a611be0565b90506000815111610f4a5760405180602001604052806000815250610f75565b80610f5484611c72565b604051602001610f65929190612f69565b6040516020818303038152906040525b915050919050565b6000610f876116ee565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ff6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fed90612fd9565b60405180910390fd5b81600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060019050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6110dc6116ee565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361114b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111429061306b565b60405180910390fd5b611154816117a9565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6111ca81611d40565b611209576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120090612e7b565b60405180910390fd5b50565b600061121782610a5e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127e906130fd565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166112a6611d81565b73ffffffffffffffffffffffffffffffffffffffff1614806112d557506112d4816112cf611d81565b611040565b5b611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130b9061318f565b60405180910390fd5b61131e8383611d89565b505050565b61133461132e611d81565b82611e42565b611373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136a90613221565b60405180910390fd5b61137e8383836118e7565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e99061328d565b60405180910390fd5b6113fb81611d40565b1561143b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611432906132f9565b60405180910390fd5b611449600083836001611ed7565b61145281611d40565b15611492576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611489906132f9565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461159c600083836001611edd565b5050565b60006115ab82610a5e565b90506115bb816000846001611ed7565b6115c482610a5e565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46116ea816000846001611edd565b5050565b6116f6611d81565b73ffffffffffffffffffffffffffffffffffffffff16611714610baf565b73ffffffffffffffffffffffffffffffffffffffff161461176a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176190613365565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61188161187a611d81565b8383611ee3565b5050565b611896611890611d81565b83611e42565b6118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc90613221565b60405180910390fd5b6118e18484848461204f565b50505050565b8273ffffffffffffffffffffffffffffffffffffffff1661190782610a5e565b73ffffffffffffffffffffffffffffffffffffffff161461195d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611954906133f7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c390613489565b60405180910390fd5b6119d98383836001611ed7565b8273ffffffffffffffffffffffffffffffffffffffff166119f982610a5e565b73ffffffffffffffffffffffffffffffffffffffff1614611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a46906133f7565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611bdb8383836001611edd565b505050565b606060098054611bef90612aa8565b80601f0160208091040260200160405190810160405280929190818152602001828054611c1b90612aa8565b8015611c685780601f10611c3d57610100808354040283529160200191611c68565b820191906000526020600020905b815481529060010190602001808311611c4b57829003601f168201915b5050505050905090565b606060006001611c81846120ab565b01905060008167ffffffffffffffff811115611ca057611c9f6126b1565b5b6040519080825280601f01601f191660200182016040528015611cd25781602001600182028036833780820191505090505b509050600082602001820190505b600115611d35578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611d2957611d286134a9565b5b04945060008503611ce0575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611d628361176c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611dfc83610a5e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611e4e83610a5e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e905750611e8f8185611040565b5b80611ece57508373ffffffffffffffffffffffffffffffffffffffff16611eb684610645565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b50505050565b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4890613524565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612042919061245c565b60405180910390a3505050565b61205a8484846118e7565b612066848484846121fe565b6120a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209c906135b6565b60405180910390fd5b50505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612109577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816120ff576120fe6134a9565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612146576d04ee2d6d415b85acef8100000000838161213c5761213b6134a9565b5b0492506020810190505b662386f26fc10000831061217557662386f26fc10000838161216b5761216a6134a9565b5b0492506010810190505b6305f5e100831061219e576305f5e1008381612194576121936134a9565b5b0492506008810190505b61271083106121c35761271083816121b9576121b86134a9565b5b0492506004810190505b606483106121e657606483816121dc576121db6134a9565b5b0492506002810190505b600a83106121f5576001810190505b80915050919050565b600061221f8473ffffffffffffffffffffffffffffffffffffffff16612385565b15612378578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612248611d81565b8786866040518563ffffffff1660e01b815260040161226a949392919061362b565b6020604051808303816000875af19250505080156122a657506040513d601f19601f820116820180604052508101906122a3919061368c565b60015b612328573d80600081146122d6576040519150601f19603f3d011682016040523d82523d6000602084013e6122db565b606091505b506000815103612320576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612317906135b6565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061237d565b600190505b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6123f1816123bc565b81146123fc57600080fd5b50565b60008135905061240e816123e8565b92915050565b60006020828403121561242a576124296123b2565b5b6000612438848285016123ff565b91505092915050565b60008115159050919050565b61245681612441565b82525050565b6000602082019050612471600083018461244d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124b1578082015181840152602081019050612496565b60008484015250505050565b6000601f19601f8301169050919050565b60006124d982612477565b6124e38185612482565b93506124f3818560208601612493565b6124fc816124bd565b840191505092915050565b6000602082019050818103600083015261252181846124ce565b905092915050565b6000819050919050565b61253c81612529565b811461254757600080fd5b50565b60008135905061255981612533565b92915050565b600060208284031215612575576125746123b2565b5b60006125838482850161254a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125b78261258c565b9050919050565b6125c7816125ac565b82525050565b60006020820190506125e260008301846125be565b92915050565b6125f1816125ac565b81146125fc57600080fd5b50565b60008135905061260e816125e8565b92915050565b6000806040838503121561262b5761262a6123b2565b5b6000612639858286016125ff565b925050602061264a8582860161254a565b9150509250929050565b60008060006060848603121561266d5761266c6123b2565b5b600061267b868287016125ff565b935050602061268c868287016125ff565b925050604061269d8682870161254a565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6126e9826124bd565b810181811067ffffffffffffffff82111715612708576127076126b1565b5b80604052505050565b600061271b6123a8565b905061272782826126e0565b919050565b600067ffffffffffffffff821115612747576127466126b1565b5b612750826124bd565b9050602081019050919050565b82818337600083830152505050565b600061277f61277a8461272c565b612711565b90508281526020810184848401111561279b5761279a6126ac565b5b6127a684828561275d565b509392505050565b600082601f8301126127c3576127c26126a7565b5b81356127d384826020860161276c565b91505092915050565b6000602082840312156127f2576127f16123b2565b5b600082013567ffffffffffffffff8111156128105761280f6123b7565b5b61281c848285016127ae565b91505092915050565b60006020828403121561283b5761283a6123b2565b5b6000612849848285016125ff565b91505092915050565b61285b81612529565b82525050565b60006020820190506128766000830184612852565b92915050565b61288581612441565b811461289057600080fd5b50565b6000813590506128a28161287c565b92915050565b6000602082840312156128be576128bd6123b2565b5b60006128cc84828501612893565b91505092915050565b600080604083850312156128ec576128eb6123b2565b5b60006128fa858286016125ff565b925050602061290b85828601612893565b9150509250929050565b600067ffffffffffffffff8211156129305761292f6126b1565b5b612939826124bd565b9050602081019050919050565b600061295961295484612915565b612711565b905082815260208101848484011115612975576129746126ac565b5b61298084828561275d565b509392505050565b600082601f83011261299d5761299c6126a7565b5b81356129ad848260208601612946565b91505092915050565b600080600080608085870312156129d0576129cf6123b2565b5b60006129de878288016125ff565b94505060206129ef878288016125ff565b9350506040612a008782880161254a565b925050606085013567ffffffffffffffff811115612a2157612a206123b7565b5b612a2d87828801612988565b91505092959194509250565b60008060408385031215612a5057612a4f6123b2565b5b6000612a5e858286016125ff565b9250506020612a6f858286016125ff565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ac057607f821691505b602082108103612ad357612ad2612a79565b5b50919050565b7f7472616e73666572206973206e6f7420616c6c6f776564000000000000000000600082015250565b6000612b0f601783612482565b9150612b1a82612ad9565b602082019050919050565b60006020820190508181036000830152612b3e81612b02565b9050919050565b7f6973206e6f7420616c6c6f776564000000000000000000000000000000000000600082015250565b6000612b7b600e83612482565b9150612b8682612b45565b602082019050919050565b60006020820190508181036000830152612baa81612b6e565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612c137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612bd6565b612c1d8683612bd6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612c5a612c55612c5084612529565b612c35565b612529565b9050919050565b6000819050919050565b612c7483612c3f565b612c88612c8082612c61565b848454612be3565b825550505050565b600090565b612c9d612c90565b612ca8818484612c6b565b505050565b5b81811015612ccc57612cc1600082612c95565b600181019050612cae565b5050565b601f821115612d1157612ce281612bb1565b612ceb84612bc6565b81016020851015612cfa578190505b612d0e612d0685612bc6565b830182612cad565b50505b505050565b600082821c905092915050565b6000612d3460001984600802612d16565b1980831691505092915050565b6000612d4d8383612d23565b9150826002028217905092915050565b612d6682612477565b67ffffffffffffffff811115612d7f57612d7e6126b1565b5b612d898254612aa8565b612d94828285612cd0565b600060209050601f831160018114612dc75760008415612db5578287015190505b612dbf8582612d41565b865550612e27565b601f198416612dd586612bb1565b60005b82811015612dfd57848901518255600182019150602085019450602081019050612dd8565b86831015612e1a5784890151612e16601f891682612d23565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612e65601883612482565b9150612e7082612e2f565b602082019050919050565b60006020820190508181036000830152612e9481612e58565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612ef7602983612482565b9150612f0282612e9b565b604082019050919050565b60006020820190508181036000830152612f2681612eea565b9050919050565b600081905092915050565b6000612f4382612477565b612f4d8185612f2d565b9350612f5d818560208601612493565b80840191505092915050565b6000612f758285612f38565b9150612f818284612f38565b91508190509392505050565b7f696e76616c6964206d616e616765722061646472657373000000000000000000600082015250565b6000612fc3601783612482565b9150612fce82612f8d565b602082019050919050565b60006020820190508181036000830152612ff281612fb6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613055602683612482565b915061306082612ff9565b604082019050919050565b6000602082019050818103600083015261308481613048565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006130e7602183612482565b91506130f28261308b565b604082019050919050565b60006020820190508181036000830152613116816130da565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613179603d83612482565b91506131848261311d565b604082019050919050565b600060208201905081810360008301526131a88161316c565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b600061320b602d83612482565b9150613216826131af565b604082019050919050565b6000602082019050818103600083015261323a816131fe565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613277602083612482565b915061328282613241565b602082019050919050565b600060208201905081810360008301526132a68161326a565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006132e3601c83612482565b91506132ee826132ad565b602082019050919050565b60006020820190508181036000830152613312816132d6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061334f602083612482565b915061335a82613319565b602082019050919050565b6000602082019050818103600083015261337e81613342565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006133e1602583612482565b91506133ec82613385565b604082019050919050565b60006020820190508181036000830152613410816133d4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613473602483612482565b915061347e82613417565b604082019050919050565b600060208201905081810360008301526134a281613466565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061350e601983612482565b9150613519826134d8565b602082019050919050565b6000602082019050818103600083015261353d81613501565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006135a0603283612482565b91506135ab82613544565b604082019050919050565b600060208201905081810360008301526135cf81613593565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006135fd826135d6565b61360781856135e1565b9350613617818560208601612493565b613620816124bd565b840191505092915050565b600060808201905061364060008301876125be565b61364d60208301866125be565b61365a6040830185612852565b818103606083015261366c81846135f2565b905095945050505050565b600081519050613686816123e8565b92915050565b6000602082840312156136a2576136a16123b2565b5b60006136b084828501613677565b9150509291505056fea26469706673582212201e5ac737dc5ee105f14e4213029ad65e27cfc6180ce9200f6636058340216d0764736f6c634300081300330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002968747470733a2f2f6472616b65776172732e636f6d2f6170692f76312f647261676f6e732f6e66742f0000000000000000000000000000000000000000000000