60806040526000600860146101000a81548160ff0219169083151502179055506108ae60095561022b600a556001600b556605543df729c000600c556028600d553480156200004d57600080fd5b50604051620037e6380380620037e6833981810160405281019062000073919062000488565b6040518060400160405280600c81526020017f61736369692064656d306e7300000000000000000000000000000000000000008152506040518060400160405280600381526020017f64656d00000000000000000000000000000000000000000000000000000000008152508160029081620000f0919062000724565b50806003908162000102919062000724565b50620001136200017f60201b60201c565b60008190555050506200013b6200012f6200018460201b60201c565b6200018c60201b60201c565b6200014b6200025260201b60201c565b6001600f60006101000a81548160ff02191690831515021790555080600e908162000177919062000724565b50506200080b565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000279733cc6cdda760b79bafa08df41ecfa224f810dceb660016200027b60201b60201c565b565b637d3e3dbe8260601b60601c925081620002aa5782620002a257634420e4869050620002aa565b63a0af290390505b8060e01b60005230600452826024526004600060446000806daaeb6d7670e522a718067333cd4e5af1620002eb578060005160e01c03620002ea57600080fd5b5b6000602452505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200035e8262000313565b810181811067ffffffffffffffff8211171562000380576200037f62000324565b5b80604052505050565b600062000395620002f5565b9050620003a3828262000353565b919050565b600067ffffffffffffffff821115620003c657620003c562000324565b5b620003d18262000313565b9050602081019050919050565b60005b83811015620003fe578082015181840152602081019050620003e1565b60008484015250505050565b6000620004216200041b84620003a8565b62000389565b90508281526020810184848401111562000440576200043f6200030e565b5b6200044d848285620003de565b509392505050565b600082601f8301126200046d576200046c62000309565b5b81516200047f8482602086016200040a565b91505092915050565b600060208284031215620004a157620004a0620002ff565b5b600082015167ffffffffffffffff811115620004c257620004c162000304565b5b620004d08482850162000455565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200052c57607f821691505b602082108103620005425762000541620004e4565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200056d565b620005b886836200056d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000605620005ff620005f984620005d0565b620005da565b620005d0565b9050919050565b6000819050919050565b6200062183620005e4565b6200063962000630826200060c565b8484546200057a565b825550505050565b600090565b6200065062000641565b6200065d81848462000616565b505050565b5b8181101562000685576200067960008262000646565b60018101905062000663565b5050565b601f821115620006d4576200069e8162000548565b620006a9846200055d565b81016020851015620006b9578190505b620006d1620006c8856200055d565b83018262000662565b50505b505050565b600082821c905092915050565b6000620006f960001984600802620006d9565b1980831691505092915050565b6000620007148383620006e6565b9150826002028217905092915050565b6200072f82620004d9565b67ffffffffffffffff8111156200074b576200074a62000324565b5b62000757825462000513565b6200076482828562000689565b600060209050601f8311600181146200079c576000841562000787578287015190505b62000793858262000706565b86555062000803565b601f198416620007ac8662000548565b60005b82811015620007d657848901518255600182019150602085019450602081019050620007af565b86831015620007f65784890151620007f2601f891682620006e6565b8355505b6001600288020188555050505b505050505050565b612fcb806200081b6000396000f3fe6080604052600436106101ee5760003560e01c80636c0360eb1161010d578063b7c0b8e8116100a0578063e985e9c51161006f578063e985e9c51461066d578063ea63f589146106aa578063ec6fa412146106d3578063f2fde38b146106ef578063fb796e6c14610718576101ee565b8063b7c0b8e8146105c0578063b88d4fde146105e9578063c87b56dd14610605578063d60fba9d14610642576101ee565b80638da5cb5b116100dc5780638da5cb5b1461051657806395d89b4114610541578063a22cb4651461056c578063aff1f57314610595576101ee565b80636c0360eb1461046e57806370a0823114610499578063715018a6146104d65780638ba4cc3c146104ed576101ee565b806332cb6b0c11610185578063463fff7911610154578063463fff79146103c657806355f804b3146103f15780635c975abb1461041a5780636352211e14610431576101ee565b806332cb6b0c14610351578063385f5de21461037c5780633ccfd60b1461039357806342842e0e146103aa576101ee565b806318160ddd116101c157806318160ddd146102b457806323b872dd146102df57806326e987d7146102fb5780632b2b632a14610326576101ee565b806301ffc9a7146101f357806306fdde0314610230578063081812fc1461025b578063095ea7b314610298575b600080fd5b3480156101ff57600080fd5b5061021a60048036038101906102159190612150565b610743565b6040516102279190612198565b60405180910390f35b34801561023c57600080fd5b506102456107d5565b6040516102529190612243565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d919061229b565b610867565b60405161028f9190612309565b60405180910390f35b6102b260048036038101906102ad9190612350565b6108e6565b005b3480156102c057600080fd5b506102c961091b565b6040516102d6919061239f565b60405180910390f35b6102f960048036038101906102f491906123ba565b610932565b005b34801561030757600080fd5b5061031061099d565b60405161031d919061239f565b60405180910390f35b34801561033257600080fd5b5061033b6109a3565b604051610348919061239f565b60405180910390f35b34801561035d57600080fd5b506103666109a9565b604051610373919061239f565b60405180910390f35b34801561038857600080fd5b506103916109af565b005b34801561039f57600080fd5b506103a86109c4565b005b6103c460048036038101906103bf91906123ba565b610a49565b005b3480156103d257600080fd5b506103db610ab4565b6040516103e8919061239f565b60405180910390f35b3480156103fd57600080fd5b5061041860048036038101906104139190612542565b610aba565b005b34801561042657600080fd5b5061042f610ad5565b005b34801561043d57600080fd5b506104586004803603810190610453919061229b565b610b09565b6040516104659190612309565b60405180910390f35b34801561047a57600080fd5b50610483610b1b565b6040516104909190612243565b60405180910390f35b3480156104a557600080fd5b506104c060048036038101906104bb919061258b565b610ba9565b6040516104cd919061239f565b60405180910390f35b3480156104e257600080fd5b506104eb610c61565b005b3480156104f957600080fd5b50610514600480360381019061050f9190612350565b610c75565b005b34801561052257600080fd5b5061052b610cac565b6040516105389190612309565b60405180910390f35b34801561054d57600080fd5b50610556610cd6565b6040516105639190612243565b60405180910390f35b34801561057857600080fd5b50610593600480360381019061058e91906125e4565b610d68565b005b3480156105a157600080fd5b506105aa610d9d565b6040516105b79190612198565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e29190612624565b610db0565b005b61060360048036038101906105fe91906126f2565b610dd5565b005b34801561061157600080fd5b5061062c6004803603810190610627919061229b565b610e42565b6040516106399190612243565b60405180910390f35b34801561064e57600080fd5b50610657610ee0565b604051610664919061239f565b60405180910390f35b34801561067957600080fd5b50610694600480360381019061068f9190612775565b610ee6565b6040516106a19190612198565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc919061229b565b610f7a565b005b6106ed60048036038101906106e8919061229b565b610f8c565b005b3480156106fb57600080fd5b506107166004803603810190610711919061258b565b6111c6565b005b34801561072457600080fd5b5061072d611249565b60405161073a9190612198565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061079e57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806107ce5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546107e4906127e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610810906127e4565b801561085d5780601f106108325761010080835404028352916020019161085d565b820191906000526020600020905b81548152906001019060200180831161084057829003601f168201915b5050505050905090565b60006108728261125c565b6108a8576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b816108f0816112bb565b61090c576108fc6112c2565b1561090b5761090a816112d9565b5b5b610916838361131d565b505050565b6000610925611461565b6001546000540303905090565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461098c5761096f336112bb565b61098b5761097b6112c2565b1561098a57610989336112d9565b5b5b5b610997848484611466565b50505050565b600a5481565b600d5481565b60095481565b6109b7611788565b6109c2336032611806565b565b6109cc611788565b6109d4610cac565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050610a47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3e90612861565b60405180910390fd5b565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610aa357610a86336112bb565b610aa257610a926112c2565b15610aa157610aa0336112d9565b5b5b5b610aae8484846119c1565b50505050565b600b5481565b610ac2611788565b80600e9081610ad19190612a2d565b5050565b610add611788565b600860149054906101000a900460ff1615600860146101000a81548160ff021916908315150217905550565b6000610b14826119e1565b9050919050565b600e8054610b28906127e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610b54906127e4565b8015610ba15780601f10610b7657610100808354040283529160200191610ba1565b820191906000526020600020905b815481529060010190602001808311610b8457829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c10576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610c69611788565b610c736000611aad565b565b610c7d611788565b60095481610c8961091b565b610c939190612b2e565b1115610c9e57600080fd5b610ca88282611b73565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610ce5906127e4565b80601f0160208091040260200160405190810160405280929190818152602001828054610d11906127e4565b8015610d5e5780601f10610d3357610100808354040283529160200191610d5e565b820191906000526020600020905b815481529060010190602001808311610d4157829003601f168201915b5050505050905090565b81610d72816112bb565b610d8e57610d7e6112c2565b15610d8d57610d8c816112d9565b5b5b610d988383611b91565b505050565b600860149054906101000a900460ff1681565b610db8611788565b80600f60006101000a81548160ff02191690831515021790555050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e2f57610e12336112bb565b610e2e57610e1e6112c2565b15610e2d57610e2c336112d9565b5b5b5b610e3b85858585611c9c565b5050505050565b6060610e4d8261125c565b610e83576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e8d611d0f565b90506000815103610ead5760405180602001604052806000815250610ed8565b80610eb784611da1565b604051602001610ec8929190612b9e565b6040516020818303038152906040525b915050919050565b600c5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610f82611788565b80600c8190555050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff190612c0e565b60405180910390fd5b600860149054906101000a900460ff16611040576040517ff28e00cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6009548161104c611df1565b6110569190612b2e565b111561108e576040517f3e0866c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600d548111156110ca576040517f35a9ba0a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110d261091b565b600a54106111245780600b54101561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111690612c7a565b60405180910390fd5b6111b9565b80600d541015611169576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116090612ce6565b60405180910390fd5b34600c54826111789190612d06565b146111b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111af90612d94565b60405180910390fd5b5b6111c33382611806565b50565b6111ce611788565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361123d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123490612e26565b60405180910390fd5b61124681611aad565b50565b600f60009054906101000a900460ff1681565b600081611267611461565b11158015611276575060005482105b80156112b4575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b6000919050565b6000600f60009054906101000a900460ff16905090565b69c617113400112233445560005230601a5280603a52600080604460166daaeb6d7670e522a718067333cd4e5afa611315573d6000803e3d6000fd5b6000603a5250565b600061132882610b09565b90508073ffffffffffffffffffffffffffffffffffffffff16611349611e04565b73ffffffffffffffffffffffffffffffffffffffff16146113ac5761137581611370611e04565b610ee6565b6113ab576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600090565b6000611471826119e1565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114d8576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000806114e484611e0c565b915091506114fa81876114f5611e04565b611e33565b6115465761150f8661150a611e04565b610ee6565b611545576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115ac576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b98686866001611e77565b80156115c457600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154600101919050819055506116928561166e888887611e7d565b7c020000000000000000000000000000000000000000000000000000000017611ea5565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036117185760006001850190506000600460008381526020019081526020016000205403611716576000548114611715578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46117808686866001611ed0565b505050505050565b611790611ed6565b73ffffffffffffffffffffffffffffffffffffffff166117ae610cac565b73ffffffffffffffffffffffffffffffffffffffff1614611804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fb90612e92565b60405180910390fd5b565b60008054905060008203611846576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118536000848385611e77565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506118ca836118bb6000866000611e7d565b6118c485611ede565b17611ea5565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b81811461196b57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050611930565b50600082036119a6576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506119bc6000848385611ed0565b505050565b6119dc83838360405180602001604052806000815250610dd5565b505050565b600080829050806119f0611461565b11611a7657600054811015611a755760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611a73575b60008103611a69576004600083600190039350838152602001908152602001600020549050611a3f565b8092505050611aa8565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611b8d828260405180602001604052806000815250611eee565b5050565b8060076000611b9e611e04565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611c4b611e04565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c909190612198565b60405180910390a35050565b611ca7848484610932565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611d0957611cd284848484611f8b565b611d08576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b6060600e8054611d1e906127e4565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4a906127e4565b8015611d975780601f10611d6c57610100808354040283529160200191611d97565b820191906000526020600020905b815481529060010190602001808311611d7a57829003601f168201915b5050505050905090565b606060a060405101806040526020810391506000825281835b600115611ddc57600184039350600a81066030018453600a8104905080611dba575b50828103602084039350808452505050919050565b6000611dfb611461565b60005403905090565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611e948686846120db565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b600033905090565b60006001821460e11b9050919050565b611ef88383611806565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611f8657600080549050600083820390505b611f386000868380600101945086611f8b565b611f6e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110611f25578160005414611f8357600080fd5b50505b505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611fb1611e04565b8786866040518563ffffffff1660e01b8152600401611fd39493929190612f07565b6020604051808303816000875af192505050801561200f57506040513d601f19601f8201168201806040525081019061200c9190612f68565b60015b612088573d806000811461203f576040519150601f19603f3d011682016040523d82523d6000602084013e612044565b606091505b506000815103612080576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60009392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61212d816120f8565b811461213857600080fd5b50565b60008135905061214a81612124565b92915050565b600060208284031215612166576121656120ee565b5b60006121748482850161213b565b91505092915050565b60008115159050919050565b6121928161217d565b82525050565b60006020820190506121ad6000830184612189565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121ed5780820151818401526020810190506121d2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612215826121b3565b61221f81856121be565b935061222f8185602086016121cf565b612238816121f9565b840191505092915050565b6000602082019050818103600083015261225d818461220a565b905092915050565b6000819050919050565b61227881612265565b811461228357600080fd5b50565b6000813590506122958161226f565b92915050565b6000602082840312156122b1576122b06120ee565b5b60006122bf84828501612286565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122f3826122c8565b9050919050565b612303816122e8565b82525050565b600060208201905061231e60008301846122fa565b92915050565b61232d816122e8565b811461233857600080fd5b50565b60008135905061234a81612324565b92915050565b60008060408385031215612367576123666120ee565b5b60006123758582860161233b565b925050602061238685828601612286565b9150509250929050565b61239981612265565b82525050565b60006020820190506123b46000830184612390565b92915050565b6000806000606084860312156123d3576123d26120ee565b5b60006123e18682870161233b565b93505060206123f28682870161233b565b925050604061240386828701612286565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61244f826121f9565b810181811067ffffffffffffffff8211171561246e5761246d612417565b5b80604052505050565b60006124816120e4565b905061248d8282612446565b919050565b600067ffffffffffffffff8211156124ad576124ac612417565b5b6124b6826121f9565b9050602081019050919050565b82818337600083830152505050565b60006124e56124e084612492565b612477565b90508281526020810184848401111561250157612500612412565b5b61250c8482856124c3565b509392505050565b600082601f8301126125295761252861240d565b5b81356125398482602086016124d2565b91505092915050565b600060208284031215612558576125576120ee565b5b600082013567ffffffffffffffff811115612576576125756120f3565b5b61258284828501612514565b91505092915050565b6000602082840312156125a1576125a06120ee565b5b60006125af8482850161233b565b91505092915050565b6125c18161217d565b81146125cc57600080fd5b50565b6000813590506125de816125b8565b92915050565b600080604083850312156125fb576125fa6120ee565b5b60006126098582860161233b565b925050602061261a858286016125cf565b9150509250929050565b60006020828403121561263a576126396120ee565b5b6000612648848285016125cf565b91505092915050565b600067ffffffffffffffff82111561266c5761266b612417565b5b612675826121f9565b9050602081019050919050565b600061269561269084612651565b612477565b9050828152602081018484840111156126b1576126b0612412565b5b6126bc8482856124c3565b509392505050565b600082601f8301126126d9576126d861240d565b5b81356126e9848260208601612682565b91505092915050565b6000806000806080858703121561270c5761270b6120ee565b5b600061271a8782880161233b565b945050602061272b8782880161233b565b935050604061273c87828801612286565b925050606085013567ffffffffffffffff81111561275d5761275c6120f3565b5b612769878288016126c4565b91505092959194509250565b6000806040838503121561278c5761278b6120ee565b5b600061279a8582860161233b565b92505060206127ab8582860161233b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127fc57607f821691505b60208210810361280f5761280e6127b5565b5b50919050565b7f4e6f742048617070656e696e6700000000000000000000000000000000000000600082015250565b600061284b600d836121be565b915061285682612815565b602082019050919050565b6000602082019050818103600083015261287a8161283e565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026128e37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826128a6565b6128ed86836128a6565b95508019841693508086168417925050509392505050565b6000819050919050565b600061292a61292561292084612265565b612905565b612265565b9050919050565b6000819050919050565b6129448361290f565b61295861295082612931565b8484546128b3565b825550505050565b600090565b61296d612960565b61297881848461293b565b505050565b5b8181101561299c57612991600082612965565b60018101905061297e565b5050565b601f8211156129e1576129b281612881565b6129bb84612896565b810160208510156129ca578190505b6129de6129d685612896565b83018261297d565b50505b505050565b600082821c905092915050565b6000612a04600019846008026129e6565b1980831691505092915050565b6000612a1d83836129f3565b9150826002028217905092915050565b612a36826121b3565b67ffffffffffffffff811115612a4f57612a4e612417565b5b612a5982546127e4565b612a648282856129a0565b600060209050601f831160018114612a975760008415612a85578287015190505b612a8f8582612a11565b865550612af7565b601f198416612aa586612881565b60005b82811015612acd57848901518255600182019150602085019450602081019050612aa8565b86831015612aea5784890151612ae6601f8916826129f3565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612b3982612265565b9150612b4483612265565b9250828201905080821115612b5c57612b5b612aff565b5b92915050565b600081905092915050565b6000612b78826121b3565b612b828185612b62565b9350612b928185602086016121cf565b80840191505092915050565b6000612baa8285612b6d565b9150612bb68284612b6d565b91508190509392505050565b7f536f72727920436f6e7472616374204d696e746f727300000000000000000000600082015250565b6000612bf86016836121be565b9150612c0382612bc2565b602082019050919050565b60006020820190508181036000830152612c2781612beb565b9050919050565b7f457863657373206d617820706572206672656520747800000000000000000000600082015250565b6000612c646016836121be565b9150612c6f82612c2e565b602082019050919050565b60006020820190508181036000830152612c9381612c57565b9050919050565b7f457863657373206d617820706572207061696420747800000000000000000000600082015250565b6000612cd06016836121be565b9150612cdb82612c9a565b602082019050919050565b60006020820190508181036000830152612cff81612cc3565b9050919050565b6000612d1182612265565b9150612d1c83612265565b9250828202612d2a81612265565b91508282048414831517612d4157612d40612aff565b5b5092915050565b7f496e76616c69642066756e64732070726f766964656400000000000000000000600082015250565b6000612d7e6016836121be565b9150612d8982612d48565b602082019050919050565b60006020820190508181036000830152612dad81612d71565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612e106026836121be565b9150612e1b82612db4565b604082019050919050565b60006020820190508181036000830152612e3f81612e03565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e7c6020836121be565b9150612e8782612e46565b602082019050919050565b60006020820190508181036000830152612eab81612e6f565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612ed982612eb2565b612ee38185612ebd565b9350612ef38185602086016121cf565b612efc816121f9565b840191505092915050565b6000608082019050612f1c60008301876122fa565b612f2960208301866122fa565b612f366040830185612390565b8181036060830152612f488184612ece565b905095945050505050565b600081519050612f6281612124565b92915050565b600060208284031215612f7e57612f7d6120ee565b5b6000612f8c84828501612f53565b9150509291505056fea2646970667358221220895f57b2132885d6483d433ea6c10857e811bc6f0029e75cd82f74299763121264736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d616d333256484a673362696a4d66335a69663876734c4c55715a5050323836426d72503153683668627437312f00000000000000000000