0x60806040526b033b2e3c9fd0803ce800000060001962000020919062000ab8565b6000196200002f919062000b1f565b60015561dead600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506007601955601954601a556005601b55601b54601c556006601d55601d54601e556000601f55601f546020556000602155602154602255601f54601d54601b54601954620000c4919062000b5a565b620000d0919062000b5a565b620000dc919062000b5a565b6023556000602455600060255560006026556000602755600060285560076029556005602a556002602b556000602c556000602d556000602e556000602f60006101000a81548160ff0219169083151502179055506000602f60026101000a81548160ff0219169083151502179055506000602f60036101000a81548160ff02191690831515021790555060006200017962000a4e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600154600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506103e860196b033b2e3c9fd0803ce80000006200027b919062000b95565b62000287919062000be0565b60038190555061271060056b033b2e3c9fd0803ce8000000620002ab919062000b95565b620002b7919062000be0565b60048190555073d59f7d4d8a4a3ac42a51e1251cd5853cc6da977d600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550736344f90ddec1e57de4dd170b620391a22bd3584c600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507372318aa08afbd0fafafe0db02fe28e4cfcd9cc13600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620003cc62000a5660201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160106000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160006200049c62000a4e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260006200079b62000a4e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce800000060405162000a40919062000c29565b60405180910390a362000c46565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000ac58262000a7f565b915062000ad28362000a7f565b92508262000ae55762000ae462000a89565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000b2c8262000a7f565b915062000b398362000a7f565b925082820390508181111562000b545762000b5362000af0565b5b92915050565b600062000b678262000a7f565b915062000b748362000a7f565b925082820190508082111562000b8f5762000b8e62000af0565b5b92915050565b600062000ba28262000a7f565b915062000baf8362000a7f565b925082820262000bbf8162000a7f565b9150828204841483151762000bd95762000bd862000af0565b5b5092915050565b600062000bed8262000a7f565b915062000bfa8362000a7f565b92508262000c0d5762000c0c62000a89565b5b828204905092915050565b62000c238162000a7f565b82525050565b600060208201905062000c40600083018462000c18565b92915050565b615f1c8062000c566000396000f3fe60806040526004361061023f5760003560e01c80634a74bb021161012e578063a457c2d7116100ab578063d971c4f21161006f578063d971c4f214610897578063dd62ed3e146108d4578063e17c4c7414610911578063f2fde38b1461093a578063f5648a4f1461096357610246565b8063a457c2d7146107b4578063a9059cbb146107f1578063b74510e11461082e578063c791fc5414610845578063cf1e568d1461086e57610246565b8063715018a6116100f2578063715018a6146106df57806377468d06146106f65780638c3975fd146107335780638da5cb5b1461075e57806395d89b411461078957610246565b80634a74bb02146105fa5780634e6f29251461062557806360d1259e146106505780636656e9831461067957806370a08231146106a257610246565b8063288a0f21116101bc578063398d92bb11610180578063398d92bb1461051757806340ac48d314610540578063432f0d09146105695780634549b0391461059257806349bd5a5e146105cf57610246565b8063288a0f21146104205780632d83811914610449578063313ce5671461048657806333251a0b146104b157806339509351146104da57610246565b80631694505e116102035780631694505e1461033457806318160ddd1461035f5780631a3f193b1461038a578063203cb8f1146103ba57806323b872dd146103e357610246565b806306fdde031461024b578063095ea7b3146102765780631143021d146102b35780631255589b146102de57806314a4e63c1461030957610246565b3661024657005b600080fd5b34801561025757600080fd5b5061026061097a565b60405161026d9190614ccf565b60405180910390f35b34801561028257600080fd5b5061029d60048036038101906102989190614d8a565b6109b7565b6040516102aa9190614de5565b60405180910390f35b3480156102bf57600080fd5b506102c86109d5565b6040516102d59190614de5565b60405180910390f35b3480156102ea57600080fd5b506102f36109e8565b6040516103009190614de5565b60405180910390f35b34801561031557600080fd5b5061031e610eb7565b60405161032b9190614e21565b60405180910390f35b34801561034057600080fd5b50610349610edd565b6040516103569190614e9b565b60405180910390f35b34801561036b57600080fd5b50610374610f03565b6040516103819190614ec5565b60405180910390f35b34801561039657600080fd5b5061039f610f17565b6040516103b196959493929190614ee0565b60405180910390f35b3480156103c657600080fd5b506103e160048036038101906103dc9190614f41565b610f46565b005b3480156103ef57600080fd5b5061040a60048036038101906104059190614f6e565b61101d565b6040516104179190614de5565b60405180910390f35b34801561042c57600080fd5b5061044760048036038101906104429190614f41565b6110f6565b005b34801561045557600080fd5b50610470600480360381019061046b9190614fc1565b611224565b60405161047d9190614ec5565b60405180910390f35b34801561049257600080fd5b5061049b611292565b6040516104a8919061500a565b60405180910390f35b3480156104bd57600080fd5b506104d860048036038101906104d39190614f41565b61129b565b005b3480156104e657600080fd5b5061050160048036038101906104fc9190614d8a565b611372565b60405161050e9190614de5565b60405180910390f35b34801561052357600080fd5b5061053e60048036038101906105399190615025565b611425565b005b34801561054c57600080fd5b5061056760048036038101906105629190615065565b611518565b005b34801561057557600080fd5b50610590600480360381019061058b9190615025565b6115be565b005b34801561059e57600080fd5b506105b960048036038101906105b4919061510c565b6116c4565b6040516105c69190614ec5565b60405180910390f35b3480156105db57600080fd5b506105e4611752565b6040516105f1919061515b565b60405180910390f35b34801561060657600080fd5b5061060f611778565b60405161061c9190614de5565b60405180910390f35b34801561063157600080fd5b5061063a61178b565b6040516106479190614ec5565b60405180910390f35b34801561065c57600080fd5b5061067760048036038101906106729190614f41565b611791565b005b34801561068557600080fd5b506106a0600480360381019061069b9190614f41565b611868565b005b3480156106ae57600080fd5b506106c960048036038101906106c49190614f41565b611995565b6040516106d69190614ec5565b60405180910390f35b3480156106eb57600080fd5b506106f4611a80565b005b34801561070257600080fd5b5061071d60048036038101906107189190614f41565b611bba565b60405161072a9190614de5565b60405180910390f35b34801561073f57600080fd5b50610748611bda565b6040516107559190614de5565b60405180910390f35b34801561076a57600080fd5b50610773611bed565b604051610780919061515b565b60405180910390f35b34801561079557600080fd5b5061079e611c16565b6040516107ab9190614ccf565b60405180910390f35b3480156107c057600080fd5b506107db60048036038101906107d69190614d8a565b611c53565b6040516107e89190614de5565b60405180910390f35b3480156107fd57600080fd5b5061081860048036038101906108139190614d8a565b611d20565b6040516108259190614de5565b60405180910390f35b34801561083a57600080fd5b50610843611d3e565b005b34801561085157600080fd5b5061086c60048036038101906108679190615065565b611e3a565b005b34801561087a57600080fd5b5061089560048036038101906108909190614f41565b611ee0565b005b3480156108a357600080fd5b506108be60048036038101906108b99190614f41565b611fb7565b6040516108cb9190614de5565b60405180910390f35b3480156108e057600080fd5b506108fb60048036038101906108f69190615176565b611fd7565b6040516109089190614ec5565b60405180910390f35b34801561091d57600080fd5b5061093860048036038101906109339190614f41565b61205e565b005b34801561094657600080fd5b50610961600480360381019061095c9190614f41565b612135565b005b34801561096f57600080fd5b506109786122dd565b005b60606040518060400160405280600981526020017f536c656570794465760000000000000000000000000000000000000000000000815250905090565b60006109cb6109c46123ec565b84846123f4565b6001905092915050565b602f60009054906101000a900460ff1681565b60006109f26123ec565b73ffffffffffffffffffffffffffffffffffffffff16610a10611bed565b73ffffffffffffffffffffffffffffffffffffffff1614610a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5d90615228565b60405180910390fd5b602f60039054906101000a900460ff1615610ab6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aad90615294565b60405180910390fd5b6001602f60006101000a81548160ff0219169083151502179055506001602f60026101000a81548160ff0219169083151502179055506001602f60036101000a81548160ff02191690831515021790555043602e819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160126000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c1b30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166b033b2e3c9fd0803ce80000006123f4565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8a91906152c9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1591906152c9565b6040518363ffffffff1660e01b8152600401610d329291906152f6565b6020604051808303816000875af1158015610d51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7591906152c9565b600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160126000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060004711610e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6990615391565b60405180910390fd5b610e84610e7e30611995565b476125bd565b610eaf600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166126bd565b600191505090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006b033b2e3c9fd0803ce8000000905090565b600080600080600080602454602554602654602954602a54602b54955095509550955095509550909192939495565b610f4e6123ec565b73ffffffffffffffffffffffffffffffffffffffff16610f6c611bed565b73ffffffffffffffffffffffffffffffffffffffff1614610fc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb990615228565b60405180910390fd5b6001601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061102a84848461277b565b6110eb846110366123ec565b6110e685604051806060016040528060288152602001615e9a60289139600f60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061109c6123ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131469092919063ffffffff16565b6123f4565b600190509392505050565b6110fe6123ec565b73ffffffffffffffffffffffffffffffffffffffff1661111c611bed565b73ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990615228565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156111c957600080fd5b6001601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600060015482111561126b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611262906153fd565b60405180910390fd5b600061127561319b565b905061128a81846131c690919063ffffffff16565b915050919050565b60006012905090565b6112a36123ec565b73ffffffffffffffffffffffffffffffffffffffff166112c1611bed565b73ffffffffffffffffffffffffffffffffffffffff1614611317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130e90615228565b60405180910390fd5b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600061141b61137f6123ec565b8461141685600f60006113906123ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b6123f4565b6001905092915050565b61142d6123ec565b73ffffffffffffffffffffffffffffffffffffffff1661144b611bed565b73ffffffffffffffffffffffffffffffffffffffff16146114a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149890615228565b60405180910390fd5b60006064836114af30611995565b6114b9919061544c565b6114c391906154bd565b905060008111611508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ff9061553a565b60405180910390fd5b61151330838361277b565b505050565b6115206123ec565b73ffffffffffffffffffffffffffffffffffffffff1661153e611bed565b73ffffffffffffffffffffffffffffffffffffffff1614611594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158b90615228565b60405180910390fd5b84602481905550836025819055508260278190555081602681905550806028819055505050505050565b6115c66123ec565b73ffffffffffffffffffffffffffffffffffffffff166115e4611bed565b73ffffffffffffffffffffffffffffffffffffffff161461163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163190615228565b60405180910390fd5b600060648360185461164c919061544c565b61165691906154bd565b90506000811161169b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611692906155a6565b60405180910390fd5b6116a630838361277b565b80601860008282546116b891906155c6565b92505081905550505050565b60006b033b2e3c9fd0803ce8000000831115611715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170c90615646565b60405180910390fd5b81611735576000611725846131f2565b505050505090508091505061174c565b6000611740846131f2565b50505050915050809150505b92915050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b602f60029054906101000a900460ff1681565b602e5481565b6117996123ec565b73ffffffffffffffffffffffffffffffffffffffff166117b7611bed565b73ffffffffffffffffffffffffffffffffffffffff161461180d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180490615228565b60405180910390fd5b6001601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6118706123ec565b73ffffffffffffffffffffffffffffffffffffffff1661188e611bed565b73ffffffffffffffffffffffffffffffffffffffff16146118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db90615228565b60405180910390fd5b601360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661193a57600080fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a3057600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050611a7b565b611a78600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611224565b90505b919050565b611a886123ec565b73ffffffffffffffffffffffffffffffffffffffff16611aa6611bed565b73ffffffffffffffffffffffffffffffffffffffff1614611afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af390615228565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60136020528060005260406000206000915054906101000a900460ff1681565b602f60039054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600981526020017f536c656570794465760000000000000000000000000000000000000000000000815250905090565b6000611d16611c606123ec565b84611d1185604051806060016040528060258152602001615ec260259139600f6000611c8a6123ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131469092919063ffffffff16565b6123f4565b6001905092915050565b6000611d34611d2d6123ec565b848461277b565b6001905092915050565b611d466123ec565b73ffffffffffffffffffffffffffffffffffffffff16611d64611bed565b73ffffffffffffffffffffffffffffffffffffffff1614611dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db190615228565b60405180910390fd5b6000611dc530611995565b905061271060016b033b2e3c9fd0803ce8000000611de3919061544c565b611ded91906154bd565b811015611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e26906156fe565b60405180910390fd5b611e3761324e565b50565b611e426123ec565b73ffffffffffffffffffffffffffffffffffffffff16611e60611bed565b73ffffffffffffffffffffffffffffffffffffffff1614611eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ead90615228565b60405180910390fd5b8460298190555083602a8190555082602c8190555081602b8190555080602d819055505050505050565b611ee86123ec565b73ffffffffffffffffffffffffffffffffffffffff16611f06611bed565b73ffffffffffffffffffffffffffffffffffffffff1614611f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5390615228565b60405180910390fd5b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60146020528060005260406000206000915054906101000a900460ff1681565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6120666123ec565b73ffffffffffffffffffffffffffffffffffffffff16612084611bed565b73ffffffffffffffffffffffffffffffffffffffff16146120da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d190615228565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61213d6123ec565b73ffffffffffffffffffffffffffffffffffffffff1661215b611bed565b73ffffffffffffffffffffffffffffffffffffffff16146121b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a890615228565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612220576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221790615790565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6122e56123ec565b73ffffffffffffffffffffffffffffffffffffffff16612303611bed565b73ffffffffffffffffffffffffffffffffffffffff1614612359576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235090615228565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516123a1906157e1565b60006040518083038185875af1925050503d80600081146123de576040519150601f19603f3d011682016040523d82523d6000602084013e6123e3565b606091505b50508091505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245a90615842565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c9906158ae565b60405180910390fd5b80600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516125b09190614ec5565b60405180910390a3505050565b6125ea30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846123f4565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016126739695949392919061592a565b60606040518083038185885af1158015612691573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906126b691906159a0565b5050505050565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160116000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127e190615a65565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285090615af7565b60405180910390fd5b6000811161289c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289390615b89565b60405180910390fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156128f357600080fd5b602f60039054906101000a900460ff166129e857601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129a85750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6129e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129de90615bf5565b60405180910390fd5b5b60011515602f60009054906101000a900460ff161515148015612a555750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ab35760035481612a6784611995565b612a719190615c15565b1115612ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa990615cbb565b60405180910390fd5b5b612abb611bed565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612b295750612af9611bed565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612b625750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612bbc5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612bd55750602f60019054906101000a900460ff16155b15612cd457612be2611bed565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612c6b5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612cd357602e544303612cd2576001601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b6000612d01601754612cf36015546016546131dc90919063ffffffff16565b6131dc90919063ffffffff16565b90506000612d0e30611995565b905060006004548210159050602f60019054906101000a900460ff16158015612d435750602f60029054906101000a900460ff165b8015612d7957506000612d77600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611995565b115b8015612d855750600083115b8015612ddb5750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e315750601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e8a5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8015612e935750805b15612ea157612ea061324e565b5b600060019050601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f485750601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612f565760009050613131565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603612fe557612fb3613584565b602454601981905550602754601f81905550602554601b81905550602854602181905550602654601d81905550613130565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036130cf57613042613584565b602954601981905550602c54601f81905550602a54601b81905550602d54602181905550602b54601d81905550601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156130ca57605f6019819055505b61312f565b601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561312657600080fd5b61312e613584565b5b5b5b61313d8787878461361e565b50505050505050565b600083831115829061318e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131859190614ccf565b60405180910390fd5b5082840390509392505050565b60008060006131a861392f565b915091506131bf81836131c690919063ffffffff16565b9250505090565b600081836131d491906154bd565b905092915050565b600081836131ea9190615c15565b905092915050565b60008060008060008060008060006132098a613c0a565b92509250925060008060006132278d868661322261319b565b613c64565b9250925092508282828888889b509b509b509b509b509b5050505050505091939550919395565b6001602f60016101000a81548160ff021916908315150217905550600061327430611995565b9050600060165460175460155461328b9190615c15565b6132959190615c15565b905060006132af60026016546131c690919063ffffffff16565b905060006132da6018546132cc8487613ced90919063ffffffff16565b613ced90919063ffffffff16565b905060004790506132ea82613d03565b60006132ff8247613ced90919063ffffffff16565b9050600061332a8661331c60155485613f4690919063ffffffff16565b6131c690919063ffffffff16565b905060006133558761334760175486613f4690919063ffffffff16565b6131c690919063ffffffff16565b9050600061337e826133708587613ced90919063ffffffff16565b613ced90919063ffffffff16565b90506000601581905550600060178190555060006016819055506000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516133e0906157e1565b60006040518083038185875af1925050503d806000811461341d576040519150601f19603f3d011682016040523d82523d6000602084013e613422565b606091505b50509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161346c906157e1565b60006040518083038185875af1925050503d80600081146134a9576040519150601f19603f3d011682016040523d82523d6000602084013e6134ae565b606091505b5050809150506134be88836125bd565b6706f05b59d3b2000047111561355d57600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613514906157e1565b60006040518083038185875af1925050503d8060008114613551576040519150601f19603f3d011682016040523d82523d6000602084013e613556565b606091505b5050809150505b505050505050505050506000602f60016101000a81548160ff021916908315150217905550565b6000601d5414801561359857506000601954145b80156135a657506000601f54145b80156135b457506000601b54145b80156135c257506000602154145b61361c57601d54601e81905550601954601a81905550601b54601c81905550601f546020819055506021546022819055506000601d8190555060006019819055506000601b819055506000601f8190555060006021819055505b565b8061362c5761362b613584565b5b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156136cf5750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156136e4576136df848484613f5c565b61391b565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156137875750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561379c576137978484846141bc565b61391a565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156138405750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156138555761385084848461441c565b613919565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156138f75750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561390c576139078484846145e7565b613918565b61391784848461441c565b5b5b5b5b80613929576139286148dc565b5b50505050565b6000806000600154905060006b033b2e3c9fd0803ce8000000905060005b600c80549050811015613bb95782600d6000600c848154811061397357613972615cdb565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180613a61575081600e6000600c84815481106139f9576139f8615cdb565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15613a82576001546b033b2e3c9fd0803ce800000094509450505050613c06565b613b12600d6000600c8481548110613a9d57613a9c615cdb565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484613ced90919063ffffffff16565b9250613ba4600e6000600c8481548110613b2f57613b2e615cdb565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613ced90919063ffffffff16565b91508080613bb190615d0a565b91505061394d565b50613bdb6b033b2e3c9fd0803ce80000006001546131c690919063ffffffff16565b821015613bfd576001546b033b2e3c9fd0803ce8000000935093505050613c06565b81819350935050505b9091565b600080600080613c198561490b565b90506000613c268661493c565b90506000613c4f82613c41858a613ced90919063ffffffff16565b613ced90919063ffffffff16565b90508083839550955095505050509193909250565b600080600080613c7d8589613f4690919063ffffffff16565b90506000613c948689613f4690919063ffffffff16565b90506000613cab8789613f4690919063ffffffff16565b90506000613cd482613cc68587613ced90919063ffffffff16565b613ced90919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008183613cfb91906155c6565b905092915050565b6000600267ffffffffffffffff811115613d2057613d1f615d52565b5b604051908082528060200260200182016040528015613d4e5781602001602082028036833780820191505090505b5090503081600081518110613d6657613d65615cdb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e3191906152c9565b81600181518110613e4557613e44615cdb565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613eac30600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846123f4565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613f10959493929190615e3f565b600060405180830381600087803b158015613f2a57600080fd5b505af1158015613f3e573d6000803e3d6000fd5b505050505050565b60008183613f54919061544c565b905092915050565b600080600080600080613f6e876131f2565b955095509550955095509550613fcc87600e60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ced90919063ffffffff16565b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061406186600d60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ced90919063ffffffff16565b600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506140f685600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061414281614994565b61414c8483614c05565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516141a99190614ec5565b60405180910390a3505050505050505050565b6000806000806000806141ce876131f2565b95509550955095509550955061422c86600d60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ced90919063ffffffff16565b600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506142c183600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061435685600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506143a281614994565b6143ac8483614c05565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516144099190614ec5565b60405180910390a3505050505050505050565b60008060008060008061442e876131f2565b95509550955095509550955061448c86600d60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ced90919063ffffffff16565b600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061452185600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061456d81614994565b6145778483614c05565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516145d49190614ec5565b60405180910390a3505050505050505050565b6000806000806000806145f9876131f2565b95509550955095509550955061465787600e60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ced90919063ffffffff16565b600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506146ec86600d60008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613ced90919063ffffffff16565b600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061478183600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061481685600d60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061486281614994565b61486c8483614c05565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516148c99190614ec5565b60405180910390a3505050505050505050565b601a54601981905550601c54601b81905550602054601f81905550602254602181905550601e54601d81905550565b6000614935606461492760215485613f4690919063ffffffff16565b6131c690919063ffffffff16565b9050919050565b600061498d606461497f601d54601f54601b5460195461495c9190615c15565b6149669190615c15565b6149709190615c15565b85613f4690919063ffffffff16565b6131c690919063ffffffff16565b9050919050565b602354601954826149a5919061544c565b6149af91906154bd565b601560008282546149c09190615c15565b92505081905550602354601f54826149d8919061544c565b6149e291906154bd565b601860008282546149f39190615c15565b92505081905550602354601b5482614a0b919061544c565b614a1591906154bd565b60176000828254614a269190615c15565b92505081905550602354601d5482614a3e919061544c565b614a4891906154bd565b60166000828254614a599190615c15565b925050819055506000614a6a61319b565b90506000614a818284613f4690919063ffffffff16565b9050614ad581600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615614c0057614bbc83600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131dc90919063ffffffff16565b600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b614c1a82600154613ced90919063ffffffff16565b600181905550614c35816002546131dc90919063ffffffff16565b6002819055505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614c79578082015181840152602081019050614c5e565b60008484015250505050565b6000601f19601f8301169050919050565b6000614ca182614c3f565b614cab8185614c4a565b9350614cbb818560208601614c5b565b614cc481614c85565b840191505092915050565b60006020820190508181036000830152614ce98184614c96565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614d2182614cf6565b9050919050565b614d3181614d16565b8114614d3c57600080fd5b50565b600081359050614d4e81614d28565b92915050565b6000819050919050565b614d6781614d54565b8114614d7257600080fd5b50565b600081359050614d8481614d5e565b92915050565b60008060408385031215614da157614da0614cf1565b5b6000614daf85828601614d3f565b9250506020614dc085828601614d75565b9150509250929050565b60008115159050919050565b614ddf81614dca565b82525050565b6000602082019050614dfa6000830184614dd6565b92915050565b6000614e0b82614cf6565b9050919050565b614e1b81614e00565b82525050565b6000602082019050614e366000830184614e12565b92915050565b6000819050919050565b6000614e61614e5c614e5784614cf6565b614e3c565b614cf6565b9050919050565b6000614e7382614e46565b9050919050565b6000614e8582614e68565b9050919050565b614e9581614e7a565b82525050565b6000602082019050614eb06000830184614e8c565b92915050565b614ebf81614d54565b82525050565b6000602082019050614eda6000830184614eb6565b92915050565b600060c082019050614ef56000830189614eb6565b614f026020830188614eb6565b614f0f6040830187614eb6565b614f1c6060830186614eb6565b614f296080830185614eb6565b614f3660a0830184614eb6565b979650505050505050565b600060208284031215614f5757614f56614cf1565b5b6000614f6584828501614d3f565b91505092915050565b600080600060608486031215614f8757614f86614cf1565b5b6000614f9586828701614d3f565b9350506020614fa686828701614d3f565b9250506040614fb786828701614d75565b9150509250925092565b600060208284031215614fd757614fd6614cf1565b5b6000614fe584828501614d75565b91505092915050565b600060ff82169050919050565b61500481614fee565b82525050565b600060208201905061501f6000830184614ffb565b92915050565b6000806040838503121561503c5761503b614cf1565b5b600061504a85828601614d75565b925050602061505b85828601614d3f565b9150509250929050565b600080600080600060a0868803121561508157615080614cf1565b5b600061508f88828901614d75565b95505060206150a088828901614d75565b94505060406150b188828901614d75565b93505060606150c288828901614d75565b92505060806150d388828901614d75565b9150509295509295909350565b6150e981614dca565b81146150f457600080fd5b50565b600081359050615106816150e0565b92915050565b6000806040838503121561512357615122614cf1565b5b600061513185828601614d75565b9250506020615142858286016150f7565b9150509250929050565b61515581614d16565b82525050565b6000602082019050615170600083018461514c565b92915050565b6000806040838503121561518d5761518c614cf1565b5b600061519b85828601614d3f565b92505060206151ac85828601614d3f565b9150509250929050565b7f45524332304f776e61626c653a2063616c6c6572206973206e6f74207468652060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000615212602583614c4a565b915061521d826151b6565b604082019050919050565b6000602082019050818103600083015261524181615205565b9050919050565b7f4d61726b657420616c7265616479204f70656e21000000000000000000000000600082015250565b600061527e601483614c4a565b915061528982615248565b602082019050919050565b600060208201905081810360008301526152ad81615271565b9050919050565b6000815190506152c381614d28565b92915050565b6000602082840312156152df576152de614cf1565b5b60006152ed848285016152b4565b91505092915050565b600060408201905061530b600083018561514c565b615318602083018461514c565b9392505050565b7f4d757374206861766520455448206f6e20636f6e747261637420746f204f706560008201527f6e204d61726b6574210000000000000000000000000000000000000000000000602082015250565b600061537b602983614c4a565b91506153868261531f565b604082019050919050565b600060208201905081810360008301526153aa8161536e565b9050919050565b7f416d74206d757374206265206c657373207468616e20746f74207265666c0000600082015250565b60006153e7601e83614c4a565b91506153f2826153b1565b602082019050919050565b60006020820190508181036000830152615416816153da565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061545782614d54565b915061546283614d54565b925082820261547081614d54565b915082820484148315176154875761548661541d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006154c882614d54565b91506154d383614d54565b9250826154e3576154e261548e565b5b828204905092915050565b7f4d757374206861766520546f6b656e73206f6e20434100000000000000000000600082015250565b6000615524601683614c4a565b915061552f826154ee565b602082019050919050565b6000602082019050818103600083015261555381615517565b9050919050565b7f4d757374206861766520546f6b656e7320666f72204275726e206f6e20434100600082015250565b6000615590601f83614c4a565b915061559b8261555a565b602082019050919050565b600060208201905081810360008301526155bf81615583565b9050919050565b60006155d182614d54565b91506155dc83614d54565b92508282039050818111156155f4576155f361541d565b5b92915050565b7f416d74206d757374206265206c657373207468616e20737570706c7900000000600082015250565b6000615630601c83614c4a565b915061563b826155fa565b602082019050919050565b6000602082019050818103600083015261565f81615623565b9050919050565b7f43616e206f6e6c792073776170206261636b206966206d6f7265207468616e2060008201527f302e303125206f6620746f6b656e7320737475636b206f6e20636f6e7472616360208201527f7400000000000000000000000000000000000000000000000000000000000000604082015250565b60006156e8604183614c4a565b91506156f382615666565b606082019050919050565b60006020820190508181036000830152615717816156db565b9050919050565b7f45524332304f776e61626c653a206e6577206f776e657220697320746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b600061577a602b83614c4a565b91506157858261571e565b604082019050919050565b600060208201905081810360008301526157a98161576d565b9050919050565b600081905092915050565b50565b60006157cb6000836157b0565b91506157d6826157bb565b600082019050919050565b60006157ec826157be565b9150819050919050565b7f45524332303a20617070726f76652066726f6d207a65726f2061646472657373600082015250565b600061582c602083614c4a565b9150615837826157f6565b602082019050919050565b6000602082019050818103600083015261585b8161581f565b9050919050565b7f45524332303a20617070726f766520746f207a65726f20616464726573730000600082015250565b6000615898601e83614c4a565b91506158a382615862565b602082019050919050565b600060208201905081810360008301526158c78161588b565b9050919050565b6000819050919050565b60006158f36158ee6158e9846158ce565b614e3c565b614d54565b9050919050565b615903816158d8565b82525050565b600061591482614e68565b9050919050565b61592481615909565b82525050565b600060c08201905061593f600083018961514c565b61594c6020830188614eb6565b61595960408301876158fa565b61596660608301866158fa565b615973608083018561591b565b61598060a0830184614eb6565b979650505050505050565b60008151905061599a81614d5e565b92915050565b6000806000606084860312156159b9576159b8614cf1565b5b60006159c78682870161598b565b93505060206159d88682870161598b565b92505060406159e98682870161598b565b9150509250925092565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000615a4f602583614c4a565b9150615a5a826159f3565b604082019050919050565b60006020820190508181036000830152615a7e81615a42565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000615ae1602383614c4a565b9150615aec82615a85565b604082019050919050565b60006020820190508181036000830152615b1081615ad4565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000615b73602983614c4a565b9150615b7e82615b17565b604082019050919050565b60006020820190508181036000830152615ba281615b66565b9050919050565b7f4d61726b6574206973206e6f7420796574204f70656e21000000000000000000600082015250565b6000615bdf601783614c4a565b9150615bea82615ba9565b602082019050919050565b60006020820190508181036000830152615c0e81615bd2565b9050919050565b6000615c2082614d54565b9150615c2b83614d54565b9250828201905080821115615c4357615c4261541d565b5b92915050565b7f4d617820616d6f756e74206f6620746f6b656e7320666f722077616c6c65742060008201527f7265616368656421000000000000000000000000000000000000000000000000602082015250565b6000615ca5602883614c4a565b9150615cb082615c49565b604082019050919050565b60006020820190508181036000830152615cd481615c98565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000615d1582614d54565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615d4757615d4661541d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b615db681614d16565b82525050565b6000615dc88383615dad565b60208301905092915050565b6000602082019050919050565b6000615dec82615d81565b615df68185615d8c565b9350615e0183615d9d565b8060005b83811015615e32578151615e198882615dbc565b9750615e2483615dd4565b925050600181019050615e05565b5085935050505092915050565b600060a082019050615e546000830188614eb6565b615e6160208301876158fa565b8181036040830152615e738186615de1565b9050615e82606083018561514c565b615e8f6080830184614eb6565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220091ca0bf377f9af725ac5854c0e58aaf326686c2891346d963ae09a1501e8adc64736f6c63430008110033