-                       printf("Total Reports: %d\r\n", HIDReportInfo.TotalDeviceReports);
-
-                       for (uint8_t i = 0; i < HIDReportInfo.TotalDeviceReports; i++)
-                       {
-                               HID_ReportSizeInfo_t* CurrReportIDInfo = &HIDReportInfo.ReportIDSizes[i];
-
-                               uint8_t ReportSizeInBits      = CurrReportIDInfo->ReportSizeBits[HID_REPORT_ITEM_In];
-                               uint8_t ReportSizeOutBits     = CurrReportIDInfo->ReportSizeBits[HID_REPORT_ITEM_Out];
-                               uint8_t ReportSizeFeatureBits = CurrReportIDInfo->ReportSizeBits[HID_REPORT_ITEM_Feature];
-
-                               /* Print out the byte sizes of each report within the device */
-                               printf_P(PSTR("  + Report ID %d - In: %d bytes, Out: %d bytes, Feature: %d bytes\r\n"),
-                                        CurrReportIDInfo->ReportID,
-                                        ((ReportSizeInBits      >> 3) + ((ReportSizeInBits      & 0x07) != 0)),
-                                        ((ReportSizeOutBits     >> 3) + ((ReportSizeOutBits     & 0x07) != 0)),
-                                        ((ReportSizeFeatureBits >> 3) + ((ReportSizeFeatureBits & 0x07) != 0)));
-                       }
-
-                       puts_P(PSTR("Mouse Enumerated.\r\n"));
-
-                       USB_HostState = HOST_STATE_Configured;
-                       break;
-               case HOST_STATE_Configured:
-                       /* Select and unfreeze mouse data pipe */
-                       Pipe_SelectPipe(MOUSE_DATA_IN_PIPE);
-                       Pipe_Unfreeze();
-
-                       /* Check to see if a packet has been received */
-                       if (Pipe_IsINReceived())
-                       {
-                               /* Check if data has been received from the attached mouse */
-                               if (Pipe_IsReadWriteAllowed())
-                               {
-                                       /* Create buffer big enough for the report */
-                                       uint8_t MouseReport[Pipe_BytesInPipe()];
-
-                                       /* Load in the mouse report */
-                                       Pipe_Read_Stream_LE(MouseReport, Pipe_BytesInPipe(), NULL);
+       /* Check to see if a packet has been received */
+       if (Pipe_IsINReceived())
+       {
+               /* Check if data has been received from the attached mouse */
+               if (Pipe_IsReadWriteAllowed())
+               {
+                       /* Create buffer big enough for the report */
+                       uint8_t MouseReport[Pipe_BytesInPipe()];