60806040526103e86009556002600a5564174876e800600b5573541512c7380b932e1618261fdd15b3ed73b119f5600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60146101000a81548160ff0219169083151502179055503480156200009557600080fd5b50604051620034d7380380620034d78339818101604052810190620000bb9190620004b8565b8085858160029081620000cf9190620007e8565b508060039081620000e19190620007e8565b50620000f2620001b860201b60201c565b6000819055505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200016f5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001669190620008e0565b60405180910390fd5b6200018081620001bd60201b60201c565b5082600d9081620001929190620007e8565b5081600c60146101000a81548160ff0219169083151502179055505050505050620008fd565b600090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620002ec82620002a1565b810181811067ffffffffffffffff821117156200030e576200030d620002b2565b5b80604052505050565b60006200032362000283565b9050620003318282620002e1565b919050565b600067ffffffffffffffff821115620003545762000353620002b2565b5b6200035f82620002a1565b9050602081019050919050565b60005b838110156200038c5780820151818401526020810190506200036f565b60008484015250505050565b6000620003af620003a98462000336565b62000317565b905082815260208101848484011115620003ce57620003cd6200029c565b5b620003db8482856200036c565b509392505050565b600082601f830112620003fb57620003fa62000297565b5b81516200040d84826020860162000398565b91505092915050565b60008115159050919050565b6200042d8162000416565b81146200043957600080fd5b50565b6000815190506200044d8162000422565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004808262000453565b9050919050565b620004928162000473565b81146200049e57600080fd5b50565b600081519050620004b28162000487565b92915050565b600080600080600060a08688031215620004d757620004d66200028d565b5b600086015167ffffffffffffffff811115620004f857620004f762000292565b5b6200050688828901620003e3565b955050602086015167ffffffffffffffff8111156200052a576200052962000292565b5b6200053888828901620003e3565b945050604086015167ffffffffffffffff8111156200055c576200055b62000292565b5b6200056a88828901620003e3565b93505060606200057d888289016200043c565b92505060806200059088828901620004a1565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005f057607f821691505b602082108103620006065762000605620005a8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000631565b6200067c868362000631565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620006c9620006c3620006bd8462000694565b6200069e565b62000694565b9050919050565b6000819050919050565b620006e583620006a8565b620006fd620006f482620006d0565b8484546200063e565b825550505050565b600090565b6200071462000705565b62000721818484620006da565b505050565b5b8181101562000749576200073d6000826200070a565b60018101905062000727565b5050565b601f821115620007985762000762816200060c565b6200076d8462000621565b810160208510156200077d578190505b620007956200078c8562000621565b83018262000726565b50505b505050565b600082821c905092915050565b6000620007bd600019846008026200079d565b1980831691505092915050565b6000620007d88383620007aa565b9150826002028217905092915050565b620007f3826200059d565b67ffffffffffffffff8111156200080f576200080e620002b2565b5b6200081b8254620005d7565b620008288282856200074d565b600060209050601f8311600181146200086057600084156200084b578287015190505b620008578582620007ca565b865550620008c7565b601f19841662000870866200060c565b60005b828110156200089a5784890151825560018201915060208501945060208101905062000873565b86831015620008ba5784890151620008b6601f891682620007aa565b8355505b6001600288020188555050505b505050505050565b620008da8162000473565b82525050565b6000602082019050620008f76000830184620008cf565b92915050565b612bca806200090d6000396000f3fe60806040526004361061019c5760003560e01c8063715018a6116100ec578063b88d4fde1161008a578063d955c54311610064578063d955c5431461055f578063e5e01c1114610588578063e985e9c5146105b1578063f2fde38b146105ee5761019c565b8063b88d4fde146104db578063c87b56dd146104f7578063d5abeb01146105345761019c565b8063a0712d68116100c6578063a0712d6814610442578063a22cb4651461045e578063a2735dad14610487578063b733b4e7146104b25761019c565b8063715018a6146103d55780638da5cb5b146103ec57806395d89b41146104175761019c565b806320b1633e1161015957806342842e0e1161013357806342842e0e14610314578063612b1936146103305780636352211e1461035b57806370a08231146103985761019c565b806320b1633e146102b857806323b872dd146102e15780633ccfd60b146102fd5761019c565b806301ffc9a7146101a157806306fdde03146101de578063081812fc14610209578063095ea7b31461024657806315839b301461026257806318160ddd1461028d575b600080fd5b3480156101ad57600080fd5b506101c860048036038101906101c39190611ce0565b610617565b6040516101d59190611d28565b60405180910390f35b3480156101ea57600080fd5b506101f36106a9565b6040516102009190611dd3565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190611e2b565b61073b565b60405161023d9190611e99565b60405180910390f35b610260600480360381019061025b9190611ee0565b6107ba565b005b34801561026e57600080fd5b506102776108fe565b6040516102849190611d28565b60405180910390f35b34801561029957600080fd5b506102a2610911565b6040516102af9190611f2f565b60405180910390f35b3480156102c457600080fd5b506102df60048036038101906102da9190611f4a565b610928565b005b6102fb60048036038101906102f69190611f77565b610974565b005b34801561030957600080fd5b50610312610c96565b005b61032e60048036038101906103299190611f77565b610d4d565b005b34801561033c57600080fd5b50610345610d6d565b6040516103529190611f2f565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d9190611e2b565b610d73565b60405161038f9190611e99565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba9190611f4a565b610d85565b6040516103cc9190611f2f565b60405180910390f35b3480156103e157600080fd5b506103ea610e3d565b005b3480156103f857600080fd5b50610401610e51565b60405161040e9190611e99565b60405180910390f35b34801561042357600080fd5b5061042c610e7b565b6040516104399190611dd3565b60405180910390f35b61045c60048036038101906104579190611e2b565b610f0d565b005b34801561046a57600080fd5b5061048560048036038101906104809190611ff6565b611035565b005b34801561049357600080fd5b5061049c611140565b6040516104a99190611f2f565b60405180910390f35b3480156104be57600080fd5b506104d960048036038101906104d49190611e2b565b611146565b005b6104f560048036038101906104f0919061216b565b611158565b005b34801561050357600080fd5b5061051e60048036038101906105199190611e2b565b6111cb565b60405161052b9190611dd3565b60405180910390f35b34801561054057600080fd5b5061054961128e565b6040516105569190611f2f565b60405180910390f35b34801561056b57600080fd5b5061058660048036038101906105819190611e2b565b611294565b005b34801561059457600080fd5b506105af60048036038101906105aa919061224e565b6112a6565b005b3480156105bd57600080fd5b506105d860048036038101906105d3919061229b565b6112c4565b6040516105e59190611d28565b60405180910390f35b3480156105fa57600080fd5b5061061560048036038101906106109190611f4a565b611358565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061067257506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106a25750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546106b89061230a565b80601f01602080910402602001604051908101604052809291908181526020018280546106e49061230a565b80156107315780601f1061070657610100808354040283529160200191610731565b820191906000526020600020905b81548152906001019060200180831161071457829003601f168201915b5050505050905090565b6000610746826113de565b61077c576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107c582610d73565b90508073ffffffffffffffffffffffffffffffffffffffff166107e661143d565b73ffffffffffffffffffffffffffffffffffffffff1614610849576108128161080d61143d565b6112c4565b610848576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600c60149054906101000a900460ff1681565b600061091b611445565b6001546000540303905090565b61093061144a565b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061097f826114d1565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109e6576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806109f28461159d565b91509150610a088187610a0361143d565b6115c4565b610a5457610a1d86610a1861143d565b6112c4565b610a53576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610aba576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ac78686866001611608565b8015610ad257600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610ba085610b7c88888761160e565b7c020000000000000000000000000000000000000000000000000000000017611636565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841603610c265760006001850190506000600460008381526020019081526020016000205403610c24576000548114610c23578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610c8e8686866001611661565b505050505050565b610c9e61144a565b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610cc49061236c565b60006040518083038185875af1925050503d8060008114610d01576040519150601f19603f3d011682016040523d82523d6000602084013e610d06565b606091505b5050905080610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d41906123cd565b60405180910390fd5b50565b610d6883838360405180602001604052806000815250611158565b505050565b600b5481565b6000610d7e826114d1565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dec576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610e4561144a565b610e4f6000611667565b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610e8a9061230a565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb69061230a565b8015610f035780601f10610ed857610100808354040283529160200191610f03565b820191906000526020600020905b815481529060010190602001808311610ee657829003601f168201915b5050505050905090565b60646050600954610f1e919061241c565b610f28919061248d565b81610f31610911565b610f3b91906124be565b10610f6f576064600a600954610f51919061241c565b610f5b919061248d565b600954610f6891906124be565b6009819055505b600a5481111561102857600b54341015610fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb59061253e565b60405180910390fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015611026573d6000803e3d6000fd5b505b611032338261172d565b50565b806007600061104261143d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166110ef61143d565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111349190611d28565b60405180910390a35050565b600a5481565b61114e61144a565b80600b8190555050565b611163848484610974565b60008373ffffffffffffffffffffffffffffffffffffffff163b146111c55761118e8484848461174b565b6111c4576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b60606111d6826113de565b611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c906125d0565b60405180910390fd5b600c60149054906101000a900460ff1661125b57600d6112348361189b565b604051602001611245929190612710565b6040516020818303038152906040529050611289565b600d6112668361189b565b60405160200161127792919061273f565b60405160208183030381529060405290505b919050565b60095481565b61129c61144a565b80600a8190555050565b6112ae61144a565b8181600d91826112bf929190612905565b505050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61136061144a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113d25760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016113c99190611e99565b60405180910390fd5b6113db81611667565b50565b6000816113e9611445565b111580156113f8575060005482105b8015611436575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b600090565b6114526119fb565b73ffffffffffffffffffffffffffffffffffffffff16611470610e51565b73ffffffffffffffffffffffffffffffffffffffff16146114cf576114936119fb565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016114c69190611e99565b60405180910390fd5b565b600080829050806114e0611445565b11611566576000548110156115655760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611563575b6000810361155957600460008360019003935083815260200190815260200160002054905061152f565b8092505050611598565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611625868684611a03565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611747828260405180602001604052806000815250611a0c565b5050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261177161143d565b8786866040518563ffffffff1660e01b81526004016117939493929190612a2a565b6020604051808303816000875af19250505080156117cf57506040513d601f19601f820116820180604052508101906117cc9190612a8b565b60015b611848573d80600081146117ff576040519150601f19603f3d011682016040523d82523d6000602084013e611804565b606091505b506000815103611840576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600082036118e2576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506119f6565b600082905060005b600082146119145780806118fd90612ab8565b915050600a8261190d919061248d565b91506118ea565b60008167ffffffffffffffff8111156119305761192f612040565b5b6040519080825280601f01601f1916602001820160405280156119625781602001600182028036833780820191505090505b5090505b600085146119ef5760018261197b9190612b00565b9150600a8561198a9190612b34565b603061199691906124be565b60f81b8183815181106119ac576119ab612b65565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856119e8919061248d565b9450611966565b8093505050505b919050565b600033905090565b60009392505050565b611a168383611aa9565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611aa457600080549050600083820390505b611a56600086838060010194508661174b565b611a8c576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110611a43578160005414611aa157600080fd5b50505b505050565b60008054905060008203611ae9576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611af66000848385611608565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611b6d83611b5e600086600061160e565b611b6785611c64565b17611636565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b818114611c0e57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050611bd3565b5060008203611c49576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000819055505050611c5f6000848385611661565b505050565b60006001821460e11b9050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611cbd81611c88565b8114611cc857600080fd5b50565b600081359050611cda81611cb4565b92915050565b600060208284031215611cf657611cf5611c7e565b5b6000611d0484828501611ccb565b91505092915050565b60008115159050919050565b611d2281611d0d565b82525050565b6000602082019050611d3d6000830184611d19565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d7d578082015181840152602081019050611d62565b60008484015250505050565b6000601f19601f8301169050919050565b6000611da582611d43565b611daf8185611d4e565b9350611dbf818560208601611d5f565b611dc881611d89565b840191505092915050565b60006020820190508181036000830152611ded8184611d9a565b905092915050565b6000819050919050565b611e0881611df5565b8114611e1357600080fd5b50565b600081359050611e2581611dff565b92915050565b600060208284031215611e4157611e40611c7e565b5b6000611e4f84828501611e16565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e8382611e58565b9050919050565b611e9381611e78565b82525050565b6000602082019050611eae6000830184611e8a565b92915050565b611ebd81611e78565b8114611ec857600080fd5b50565b600081359050611eda81611eb4565b92915050565b60008060408385031215611ef757611ef6611c7e565b5b6000611f0585828601611ecb565b9250506020611f1685828601611e16565b9150509250929050565b611f2981611df5565b82525050565b6000602082019050611f446000830184611f20565b92915050565b600060208284031215611f6057611f5f611c7e565b5b6000611f6e84828501611ecb565b91505092915050565b600080600060608486031215611f9057611f8f611c7e565b5b6000611f9e86828701611ecb565b9350506020611faf86828701611ecb565b9250506040611fc086828701611e16565b9150509250925092565b611fd381611d0d565b8114611fde57600080fd5b50565b600081359050611ff081611fca565b92915050565b6000806040838503121561200d5761200c611c7e565b5b600061201b85828601611ecb565b925050602061202c85828601611fe1565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61207882611d89565b810181811067ffffffffffffffff8211171561209757612096612040565b5b80604052505050565b60006120aa611c74565b90506120b6828261206f565b919050565b600067ffffffffffffffff8211156120d6576120d5612040565b5b6120df82611d89565b9050602081019050919050565b82818337600083830152505050565b600061210e612109846120bb565b6120a0565b90508281526020810184848401111561212a5761212961203b565b5b6121358482856120ec565b509392505050565b600082601f83011261215257612151612036565b5b81356121628482602086016120fb565b91505092915050565b6000806000806080858703121561218557612184611c7e565b5b600061219387828801611ecb565b94505060206121a487828801611ecb565b93505060406121b587828801611e16565b925050606085013567ffffffffffffffff8111156121d6576121d5611c83565b5b6121e28782880161213d565b91505092959194509250565b600080fd5b600080fd5b60008083601f84011261220e5761220d612036565b5b8235905067ffffffffffffffff81111561222b5761222a6121ee565b5b602083019150836001820283011115612247576122466121f3565b5b9250929050565b6000806020838503121561226557612264611c7e565b5b600083013567ffffffffffffffff81111561228357612282611c83565b5b61228f858286016121f8565b92509250509250929050565b600080604083850312156122b2576122b1611c7e565b5b60006122c085828601611ecb565b92505060206122d185828601611ecb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061232257607f821691505b602082108103612335576123346122db565b5b50919050565b600081905092915050565b50565b600061235660008361233b565b915061236182612346565b600082019050919050565b600061237782612349565b9150819050919050565b7f5769746864726177206661696c65642e00000000000000000000000000000000600082015250565b60006123b7601083611d4e565b91506123c282612381565b602082019050919050565b600060208201905081810360008301526123e6816123aa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061242782611df5565b915061243283611df5565b925082820261244081611df5565b91508282048414831517612457576124566123ed565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061249882611df5565b91506124a383611df5565b9250826124b3576124b261245e565b5b828204905092915050565b60006124c982611df5565b91506124d483611df5565b92508282019050808211156124ec576124eb6123ed565b5b92915050565b7f496e73756666696369656e742076616c75652073656e74000000000000000000600082015250565b6000612528601783611d4e565b9150612533826124f2565b602082019050919050565b600060208201905081810360008301526125578161251b565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006125ba602f83611d4e565b91506125c58261255e565b604082019050919050565b600060208201905081810360008301526125e9816125ad565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461261d8161230a565b61262781866125f0565b9450600182166000811461264257600181146126575761268a565b60ff198316865281151582028601935061268a565b612660856125fb565b60005b8381101561268257815481890152600182019150602081019050612663565b838801955050505b50505092915050565b600061269e82611d43565b6126a881856125f0565b93506126b8818560208601611d5f565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b60006126fa6005836125f0565b9150612705826126c4565b600582019050919050565b600061271c8285612610565b91506127288284612693565b9150612733826126ed565b91508190509392505050565b600061274b8285612610565b91506127578284612693565b91508190509392505050565b600082905092915050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026127bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261277e565b6127c5868361277e565b95508019841693508086168417925050509392505050565b6000819050919050565b60006128026127fd6127f884611df5565b6127dd565b611df5565b9050919050565b6000819050919050565b61281c836127e7565b61283061282882612809565b84845461278b565b825550505050565b600090565b612845612838565b612850818484612813565b505050565b5b818110156128745761286960008261283d565b600181019050612856565b5050565b601f8211156128b95761288a816125fb565b6128938461276e565b810160208510156128a2578190505b6128b66128ae8561276e565b830182612855565b50505b505050565b600082821c905092915050565b60006128dc600019846008026128be565b1980831691505092915050565b60006128f583836128cb565b9150826002028217905092915050565b61290f8383612763565b67ffffffffffffffff81111561292857612927612040565b5b612932825461230a565b61293d828285612878565b6000601f83116001811461296c576000841561295a578287013590505b61296485826128e9565b8655506129cc565b601f19841661297a866125fb565b60005b828110156129a25784890135825560018201915060208501945060208101905061297d565b868310156129bf57848901356129bb601f8916826128cb565b8355505b6001600288020188555050505b50505050505050565b600081519050919050565b600082825260208201905092915050565b60006129fc826129d5565b612a0681856129e0565b9350612a16818560208601611d5f565b612a1f81611d89565b840191505092915050565b6000608082019050612a3f6000830187611e8a565b612a4c6020830186611e8a565b612a596040830185611f20565b8181036060830152612a6b81846129f1565b905095945050505050565b600081519050612a8581611cb4565b92915050565b600060208284031215612aa157612aa0611c7e565b5b6000612aaf84828501612a76565b91505092915050565b6000612ac382611df5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612af557612af46123ed565b5b600182019050919050565b6000612b0b82611df5565b9150612b1683611df5565b9250828203905081811115612b2e57612b2d6123ed565b5b92915050565b6000612b3f82611df5565b9150612b4a83611df5565b925082612b5a57612b5961245e565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220c823e2138f9440047dedd5ccbc2126ca978b4d99594b5d9a038807a0391163cd64736f6c6343000813003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000796cf15fb3b75271632f067655f456e940c67d39000000000000000000000000000000000000000000000000000000000000000d5368656570204c6567656e6473000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003534c4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043697066733a2f2f626166796265696475327677657a64797861677934636663336e666a7573657169786177357163356b7a6f6f6c333732356476676c76766a356a692f0000000000000000000000000000000000000000000000000000000000