608060405267016345785d8a0000600c556000600d60006101000a81548160ff0219169083151502179055503480156200003857600080fd5b506040518060400160405280600a81526020017f537061636520446f6765000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f53504143450000000000000000000000000000000000000000000000000000008152508160029080519060200190620000bd929190620001ff565b508060039080519060200190620000d6929190620001ff565b505050620000f9620000ed6200013160201b60201c565b6200013960201b60201c565b604051806080016040528060528152602001620036cd60529139600b90805190602001906200012a929190620001ff565b5062000314565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200020d90620002af565b90600052602060002090601f0160209004810192826200023157600085556200027d565b82601f106200024c57805160ff19168380011785556200027d565b828001600101855582156200027d579182015b828111156200027c5782518255916020019190600101906200025f565b5b5090506200028c919062000290565b5090565b5b80821115620002ab57600081600090555060010162000291565b5090565b60006002820490506001821680620002c857607f821691505b60208210811415620002df57620002de620002e5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6133a980620003246000396000f3fe60806040526004361061019c5760003560e01c80638da5cb5b116100ec578063b88d4fde1161008a578063dbd30ae011610064578063dbd30ae014610591578063e8a3d485146105a8578063e985e9c5146105d3578063f2fde38b146106105761019c565b8063b88d4fde14610500578063c87b56dd14610529578063daa81cdd146105665761019c565b806395d89b41116100c657806395d89b4114610465578063a035b1fe14610490578063a0712d68146104bb578063a22cb465146104d75761019c565b80638da5cb5b146103e857806391b7f5ed14610413578063938e3d7b1461043c5761019c565b806332cb6b0c116101595780636352211e116101335780636352211e1461034057806370a082311461037d578063715018a6146103ba578063853828b6146103d15761019c565b806332cb6b0c146102c357806342842e0e146102ee57806355f804b3146103175761019c565b806301ffc9a7146101a157806306fdde03146101de578063081812fc14610209578063095ea7b31461024657806318160ddd1461026f57806323b872dd1461029a575b600080fd5b3480156101ad57600080fd5b506101c860048036038101906101c3919061290d565b610639565b6040516101d59190612c38565b60405180910390f35b3480156101ea57600080fd5b506101f361071b565b6040516102009190612c53565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906129b0565b6107ad565b60405161023d9190612bd1565b60405180910390f35b34801561025257600080fd5b5061026d600480360381019061026891906128cd565b610829565b005b34801561027b57600080fd5b50610284610934565b6040516102919190612d35565b60405180910390f35b3480156102a657600080fd5b506102c160048036038101906102bc91906127b7565b610942565b005b3480156102cf57600080fd5b506102d8610952565b6040516102e59190612d35565b60405180910390f35b3480156102fa57600080fd5b50610315600480360381019061031091906127b7565b610958565b005b34801561032357600080fd5b5061033e60048036038101906103399190612967565b610978565b005b34801561034c57600080fd5b50610367600480360381019061036291906129b0565b610a0e565b6040516103749190612bd1565b60405180910390f35b34801561038957600080fd5b506103a4600480360381019061039f919061274a565b610a24565b6040516103b19190612d35565b60405180910390f35b3480156103c657600080fd5b506103cf610af4565b005b3480156103dd57600080fd5b506103e6610b7c565b005b3480156103f457600080fd5b506103fd610c38565b60405161040a9190612bd1565b60405180910390f35b34801561041f57600080fd5b5061043a600480360381019061043591906129b0565b610c62565b005b34801561044857600080fd5b50610463600480360381019061045e9190612967565b610ce8565b005b34801561047157600080fd5b5061047a610d7e565b6040516104879190612c53565b60405180910390f35b34801561049c57600080fd5b506104a5610e10565b6040516104b29190612d35565b60405180910390f35b6104d560048036038101906104d091906129b0565b610e16565b005b3480156104e357600080fd5b506104fe60048036038101906104f9919061288d565b610f27565b005b34801561050c57600080fd5b506105276004803603810190610522919061280a565b61109f565b005b34801561053557600080fd5b50610550600480360381019061054b91906129b0565b6110f2565b60405161055d9190612c53565b60405180910390f35b34801561057257600080fd5b5061057b61119a565b6040516105889190612c38565b60405180910390f35b34801561059d57600080fd5b506105a66111ad565b005b3480156105b457600080fd5b506105bd611255565b6040516105ca9190612c53565b60405180910390f35b3480156105df57600080fd5b506105fa60048036038101906105f59190612777565b6112e7565b6040516106079190612c38565b60405180910390f35b34801561061c57600080fd5b506106376004803603810190610632919061274a565b61137b565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061070457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610714575061071382611473565b5b9050919050565b60606002805461072a90612fe5565b80601f016020809104026020016040519081016040528092919081815260200182805461075690612fe5565b80156107a35780601f10610778576101008083540402835291602001916107a3565b820191906000526020600020905b81548152906001019060200180831161078657829003601f168201915b5050505050905090565b60006107b8826114dd565b6107ee576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061083482610a0e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561089c576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108bb611517565b73ffffffffffffffffffffffffffffffffffffffff16141580156108ed57506108eb816108e6611517565b6112e7565b155b15610924576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61092f83838361151f565b505050565b600060015460005403905090565b61094d8383836115d1565b505050565b611f2b81565b6109738383836040518060200160405280600081525061109f565b505050565b610980611517565b73ffffffffffffffffffffffffffffffffffffffff1661099e610c38565b73ffffffffffffffffffffffffffffffffffffffff16146109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90612cf5565b60405180910390fd5b80600a9080519060200190610a0a92919061251b565b5050565b6000610a1982611ac2565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a8c576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b610afc611517565b73ffffffffffffffffffffffffffffffffffffffff16610b1a610c38565b73ffffffffffffffffffffffffffffffffffffffff1614610b70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6790612cf5565b60405180910390fd5b610b7a6000611d3e565b565b610b84611517565b73ffffffffffffffffffffffffffffffffffffffff16610ba2610c38565b73ffffffffffffffffffffffffffffffffffffffff1614610bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bef90612cf5565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050610c3657600080fd5b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610c6a611517565b73ffffffffffffffffffffffffffffffffffffffff16610c88610c38565b73ffffffffffffffffffffffffffffffffffffffff1614610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612cf5565b60405180910390fd5b80600c8190555050565b610cf0611517565b73ffffffffffffffffffffffffffffffffffffffff16610d0e610c38565b73ffffffffffffffffffffffffffffffffffffffff1614610d64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5b90612cf5565b60405180910390fd5b80600b9080519060200190610d7a92919061251b565b5050565b606060038054610d8d90612fe5565b80601f0160208091040260200160405190810160405280929190818152602001828054610db990612fe5565b8015610e065780601f10610ddb57610100808354040283529160200191610e06565b820191906000526020600020905b815481529060010190602001808311610de957829003601f168201915b5050505050905090565b600c5481565b600d60009054906101000a900460ff16610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90612cb5565b60405180910390fd5b611f2b81610e71610934565b610e7b9190612e1a565b1115610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb390612d15565b60405180910390fd5b600a811115610eca57600080fd5b80600c54610ed89190612ea1565b341015610f1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1190612cd5565b60405180910390fd5b610f243382611e04565b50565b610f2f611517565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f94576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000610fa1611517565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661104e611517565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516110939190612c38565b60405180910390a35050565b6110aa8484846115d1565b6110b684848484611e22565b6110ec576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60606110fd826114dd565b61113c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113390612c75565b60405180910390fd5b6000611146611fb0565b90506000815114156111675760405180602001604052806000815250611192565b8061117184612042565b604051602001611182929190612ba2565b6040516020818303038152906040525b915050919050565b600d60009054906101000a900460ff1681565b6111b5611517565b73ffffffffffffffffffffffffffffffffffffffff166111d3610c38565b73ffffffffffffffffffffffffffffffffffffffff1614611229576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122090612cf5565b60405180910390fd5b600d60009054906101000a900460ff1615600d60006101000a81548160ff021916908315150217905550565b6060600b805461126490612fe5565b80601f016020809104026020016040519081016040528092919081815260200182805461129090612fe5565b80156112dd5780601f106112b2576101008083540402835291602001916112dd565b820191906000526020600020905b8154815290600101906020018083116112c057829003601f168201915b5050505050905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611383611517565b73ffffffffffffffffffffffffffffffffffffffff166113a1610c38565b73ffffffffffffffffffffffffffffffffffffffff16146113f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ee90612cf5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145e90612c95565b60405180910390fd5b61147081611d3e565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000805482108015611510575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b60006115dc82611ac2565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff16611603611517565b73ffffffffffffffffffffffffffffffffffffffff16148061163657506116358260000151611630611517565b6112e7565b5b8061167b5750611644611517565b73ffffffffffffffffffffffffffffffffffffffff16611663846107ad565b73ffffffffffffffffffffffffffffffffffffffff16145b9050806116b4576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161461171d576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611784576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61179185858560016121a3565b6117a1600084846000015161151f565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836004600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600085815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600184019050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611a5257600054811015611a515782600001516004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082602001516004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b50828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611abb85858560016121a9565b5050505050565b611aca6125a1565b6000829050600054811015611d07576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151611d0557600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611be9578092505050611d39565b5b600115611d0457818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611cff578092505050611d39565b611bea565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611e1e8282604051806020016040528060008152506121af565b5050565b6000611e438473ffffffffffffffffffffffffffffffffffffffff166121c1565b15611fa3578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611e6c611517565b8786866040518563ffffffff1660e01b8152600401611e8e9493929190612bec565b602060405180830381600087803b158015611ea857600080fd5b505af1925050508015611ed957506040513d601f19601f82011682018060405250810190611ed6919061293a565b60015b611f53573d8060008114611f09576040519150601f19603f3d011682016040523d82523d6000602084013e611f0e565b606091505b50600081511415611f4b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611fa8565b600190505b949350505050565b6060600a8054611fbf90612fe5565b80601f0160208091040260200160405190810160405280929190818152602001828054611feb90612fe5565b80156120385780601f1061200d57610100808354040283529160200191612038565b820191906000526020600020905b81548152906001019060200180831161201b57829003601f168201915b5050505050905090565b6060600082141561208a576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061219e565b600082905060005b600082146120bc5780806120a590613048565b915050600a826120b59190612e70565b9150612092565b60008167ffffffffffffffff8111156120d8576120d761317e565b5b6040519080825280601f01601f19166020018201604052801561210a5781602001600182028036833780820191505090505b5090505b60008514612197576001826121239190612efb565b9150600a856121329190613091565b603061213e9190612e1a565b60f81b8183815181106121545761215361314f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856121909190612e70565b945061210e565b8093505050505b919050565b50505050565b50505050565b6121bc83838360016121e4565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612251576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084141561228c576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61229960008683876121a3565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600081905060005b858110156124fe57818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48380156124b257506124b06000888488611e22565b155b156124e9576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81806001019250508080600101915050612437565b50806000819055505061251460008683876121a9565b5050505050565b82805461252790612fe5565b90600052602060002090601f0160209004810192826125495760008555612590565b82601f1061256257805160ff1916838001178555612590565b82800160010185558215612590579182015b8281111561258f578251825591602001919060010190612574565b5b50905061259d91906125e4565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b808211156125fd5760008160009055506001016125e5565b5090565b600061261461260f84612d75565b612d50565b9050828152602081018484840111156126305761262f6131b2565b5b61263b848285612fa3565b509392505050565b600061265661265184612da6565b612d50565b905082815260208101848484011115612672576126716131b2565b5b61267d848285612fa3565b509392505050565b60008135905061269481613317565b92915050565b6000813590506126a98161332e565b92915050565b6000813590506126be81613345565b92915050565b6000815190506126d381613345565b92915050565b600082601f8301126126ee576126ed6131ad565b5b81356126fe848260208601612601565b91505092915050565b600082601f83011261271c5761271b6131ad565b5b813561272c848260208601612643565b91505092915050565b6000813590506127448161335c565b92915050565b6000602082840312156127605761275f6131bc565b5b600061276e84828501612685565b91505092915050565b6000806040838503121561278e5761278d6131bc565b5b600061279c85828601612685565b92505060206127ad85828601612685565b9150509250929050565b6000806000606084860312156127d0576127cf6131bc565b5b60006127de86828701612685565b93505060206127ef86828701612685565b925050604061280086828701612735565b9150509250925092565b60008060008060808587031215612824576128236131bc565b5b600061283287828801612685565b945050602061284387828801612685565b935050604061285487828801612735565b925050606085013567ffffffffffffffff811115612875576128746131b7565b5b612881878288016126d9565b91505092959194509250565b600080604083850312156128a4576128a36131bc565b5b60006128b285828601612685565b92505060206128c38582860161269a565b9150509250929050565b600080604083850312156128e4576128e36131bc565b5b60006128f285828601612685565b925050602061290385828601612735565b9150509250929050565b600060208284031215612923576129226131bc565b5b6000612931848285016126af565b91505092915050565b6000602082840312156129505761294f6131bc565b5b600061295e848285016126c4565b91505092915050565b60006020828403121561297d5761297c6131bc565b5b600082013567ffffffffffffffff81111561299b5761299a6131b7565b5b6129a784828501612707565b91505092915050565b6000602082840312156129c6576129c56131bc565b5b60006129d484828501612735565b91505092915050565b6129e681612f2f565b82525050565b6129f581612f41565b82525050565b6000612a0682612dd7565b612a108185612ded565b9350612a20818560208601612fb2565b612a29816131c1565b840191505092915050565b6000612a3f82612de2565b612a498185612dfe565b9350612a59818560208601612fb2565b612a62816131c1565b840191505092915050565b6000612a7882612de2565b612a828185612e0f565b9350612a92818560208601612fb2565b80840191505092915050565b6000612aab601f83612dfe565b9150612ab6826131d2565b602082019050919050565b6000612ace602683612dfe565b9150612ad9826131fb565b604082019050919050565b6000612af1601d83612dfe565b9150612afc8261324a565b602082019050919050565b6000612b14601d83612dfe565b9150612b1f82613273565b602082019050919050565b6000612b37600583612e0f565b9150612b428261329c565b600582019050919050565b6000612b5a602083612dfe565b9150612b65826132c5565b602082019050919050565b6000612b7d601683612dfe565b9150612b88826132ee565b602082019050919050565b612b9c81612f99565b82525050565b6000612bae8285612a6d565b9150612bba8284612a6d565b9150612bc582612b2a565b91508190509392505050565b6000602082019050612be660008301846129dd565b92915050565b6000608082019050612c0160008301876129dd565b612c0e60208301866129dd565b612c1b6040830185612b93565b8181036060830152612c2d81846129fb565b905095945050505050565b6000602082019050612c4d60008301846129ec565b92915050565b60006020820190508181036000830152612c6d8184612a34565b905092915050565b60006020820190508181036000830152612c8e81612a9e565b9050919050565b60006020820190508181036000830152612cae81612ac1565b9050919050565b60006020820190508181036000830152612cce81612ae4565b9050919050565b60006020820190508181036000830152612cee81612b07565b9050919050565b60006020820190508181036000830152612d0e81612b4d565b9050919050565b60006020820190508181036000830152612d2e81612b70565b9050919050565b6000602082019050612d4a6000830184612b93565b92915050565b6000612d5a612d6b565b9050612d668282613017565b919050565b6000604051905090565b600067ffffffffffffffff821115612d9057612d8f61317e565b5b612d99826131c1565b9050602081019050919050565b600067ffffffffffffffff821115612dc157612dc061317e565b5b612dca826131c1565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000612e2582612f99565b9150612e3083612f99565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e6557612e646130c2565b5b828201905092915050565b6000612e7b82612f99565b9150612e8683612f99565b925082612e9657612e956130f1565b5b828204905092915050565b6000612eac82612f99565b9150612eb783612f99565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ef057612eef6130c2565b5b828202905092915050565b6000612f0682612f99565b9150612f1183612f99565b925082821015612f2457612f236130c2565b5b828203905092915050565b6000612f3a82612f79565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612fd0578082015181840152602081019050612fb5565b83811115612fdf576000848401525b50505050565b60006002820490506001821680612ffd57607f821691505b6020821081141561301157613010613120565b5b50919050565b613020826131c1565b810181811067ffffffffffffffff8211171561303f5761303e61317e565b5b80604052505050565b600061305382612f99565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613086576130856130c2565b5b600182019050919050565b600061309c82612f99565b91506130a783612f99565b9250826130b7576130b66130f1565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f53616c652069732063757272656e746c79206e6f74206163746976652e000000600082015250565b7f45746865722073656e74206973206e6f742073756666696369656e742e000000600082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5175616e74697479206e6f7420617661696c61626c6500000000000000000000600082015250565b61332081612f2f565b811461332b57600080fd5b50565b61333781612f41565b811461334257600080fd5b50565b61334e81612f4d565b811461335957600080fd5b50565b61336581612f99565b811461337057600080fd5b5056fea2646970667358221220560cccc8416c9d5cea9c126ebe476f3f0467bc8175d7a64e589f1ea488e410b264736f6c63430008070033697066733a2f2f516d62504d635151476234645a645174664e7159646965636832777a4450384671387672426a6555754a794264452f73706163655f646f67655f636f6e74726163745f7572692e6a736f6e