Home
last modified time | relevance | path

Searched refs:DBG (Results 1 - 25 of 409) sorted by relevance

12345678910>>...17

/third_party/backends/sanei/
H A Dsanei_pa4s2.c97 DBG(6, "sanei_pa4s2: interface called for" \
106 DBG(6, "%s: interface called for" \
268 DBG (6, "pa4s2_init: static int first_time = %u\n", first_time); in pa4s2_init()
272 DBG (5, "pa4s2_init: sanei already initialized\n"); in pa4s2_init()
277 DBG (5, "pa4s2_init: called for the first time\n"); in pa4s2_init()
283 DBG (4, "pa4s2_init: initializing libieee1284\n"); in pa4s2_init()
288 DBG (1, "pa4s2_init: initializing IEEE 1284 failed (%s)\n", in pa4s2_init()
295 DBG (3, "pa4s2_init: %d ports reported by IEEE 1284 library\n", pplist.portc); in pa4s2_init()
298 DBG (6, "pa4s2_init: port %d is `%s`\n", n, pplist.portv[n]->name); in pa4s2_init()
301 DBG ( in pa4s2_init()
[all...]
H A Dsanei_pp.c308 DBG( 4, "Supported Modes: %s\n", ct ); in pp_showcaps()
326 DBG( 4, "pp_probe: port 0x%04lx\n", port[fd].base ); in pp_probe()
334 DBG( 4, "pp_probe: nothing supported :-(\n" ); in pp_probe()
338 DBG( 4, "pp_probe: SPP port present\n" ); in pp_probe()
387 DBG( 4, "pp_probe: ECP with a %i byte FIFO present\n", i ); in pp_probe()
405 DBG( 4, "pp_probe: PS/2 bidirectional port present\n"); in pp_probe()
411 DBG( 4, "pp_probe: EPP not supported at this address\n" ); in pp_probe()
424 DBG( 2, "pp_probe: " in pp_probe()
429 DBG( 4, "pp_probe: Passed Intel bug check.\n" ); in pp_probe()
452 DBG( in pp_probe()
[all...]
H A Dsanei_wire.c60 DBG (3, "sanei_w_space: %lu bytes for wire %d\n", (u_long) howmuch, fd); in sanei_w_space()
63 DBG (2, "sanei_w_space: bigger than buffer (%lu bytes), " in sanei_w_space()
68 DBG (1, "sanei_w_space: wire is in invalid state %d\n", in sanei_w_space()
75 DBG (4, "sanei_w_space: free buffer size is %lu\n", in sanei_w_space()
82 DBG (4, "sanei_w_space: ENCODE: sending %lu bytes\n", in sanei_w_space()
89 DBG (1, "sanei_w_space: ENCODE: write failed (%d)\n", errno); in sanei_w_space()
98 DBG (4, "sanei_w_space: ENCODE: free buffer is now %lu\n", in sanei_w_space()
107 DBG (1, "sanei_w_space: DECODE: buffer underflow\n"); in sanei_w_space()
113 DBG (4, "sanei_w_space: DECODE: %lu bytes left in buffer\n", in sanei_w_space()
120 DBG ( in sanei_w_space()
[all...]
H A Dsanei_DomainOS.c60 DBG levels:
122 DBG(0, "Unrecoverable Domain/OS Error 0x%08x: %s\n", status.all, message); in DomainErrorCheck()
125 DBG(0, "%.*s (%.*s/%.*s)\n", code_length, code, subsystem_length, subsystem, module_length, module); in DomainErrorCheck()
139 DBG(1, "In fault handler, status is %08x\n", FaultStatusPtr->status.all); in FaultHandler()
147 DBG(0, "Unrecognized fault type %08x, exiting\n", FaultStatusPtr->status.all); in FaultHandler()
167 DBG(1, "DomainSCSIOpen: dev='%s', fd=%d\n", com->open_path, fd); in DomainSCSIOpen()
173 DBG(1, "DomainSCSIOpen: acquire failed, Domain/OS status is %08x\n", com->CommandStatus.all); in DomainSCSIOpen()
180 DBG(2, "DomainSCSIOpen: acquire OK, handle is %x\n", scsi_handle); in DomainSCSIOpen()
183 DBG(2, "DomainSCSIOpen: Data block name will be '%s'\n", com->open_path); in DomainSCSIOpen()
187 DBG( in DomainSCSIOpen()
[all...]
H A Dsanei_pio.c150 DBG (DL60, "wait on port 0x%03lx for %02x mask %02x\n", in pio_wait()
152 DBG (DL61, " BUSY %s\n", (mask & PIO_STAT_BUSY) ? in pio_wait()
154 DBG (DL61, " NACKNLG %s\n", in pio_wait()
163 DBG (DL60, "got %02x after %ld tries\n", stat, poll_count); in pio_wait()
164 DBG (DL61, " BUSY %s\n", stat & PIO_STAT_BUSY ? "on" : "off"); in pio_wait()
165 DBG (DL61, " NACKNLG %s\n", in pio_wait()
178 DBG (DL60, "got %02x aborting after %ld\n", stat, poll_count); in pio_wait()
179 DBG (DL61, " BUSY %s\n", stat & PIO_STAT_BUSY ? "on" : "off"); in pio_wait()
180 DBG (DL61, " NACKNLG %s\n", stat & PIO_STAT_NACKNLG ? "on" : "off"); in pio_wait()
181 DBG ( in pio_wait()
[all...]
/third_party/backends/backend/
H A Dmustek_scsi_pp.c99 DBG (5, "mustek_scsi_pp_select_register: selecting register %d on fd %d\n", in mustek_scsi_pp_select_register()
113 DBG (5, "mustek_scsi_pp_wait_for_valid_status: entering\n"); in mustek_scsi_pp_wait_for_valid_status()
121 DBG (2, in mustek_scsi_pp_wait_for_valid_status()
130 DBG (5, in mustek_scsi_pp_wait_for_valid_status()
137 DBG (2, "mustek_scsi_pp_wait_for_valid_status: timed out\n"); in mustek_scsi_pp_wait_for_valid_status()
147 DBG (5, "mustek_scsi_pp_wait_for_status_bit_5_set: entering\n"); in mustek_scsi_pp_wait_for_status_bit_5_set()
155 DBG (2, "mustek_scsi_pp_wait_for_status_bit_5_set: I/O error\n"); in mustek_scsi_pp_wait_for_status_bit_5_set()
160 DBG (5, in mustek_scsi_pp_wait_for_status_bit_5_set()
167 DBG (2, "mustek_scsi_pp_wait_for_status_bit_5_set: timed out\n"); in mustek_scsi_pp_wait_for_status_bit_5_set()
177 DBG ( in mustek_scsi_pp_wait_for_status_bit_5_clear()
[all...]
H A Depson2-commands.c38 DBG(8, "%s: x = %d, y = %d\n", __func__, x, y); in esci_set_zoom()
41 DBG(1, "%s: not supported\n", __func__); in esci_set_zoom()
65 DBG(8, "%s: x = %d, y = %d\n", __func__, x, y); in esci_set_resolution()
68 DBG(1, "%s: not supported\n", __func__); in esci_set_resolution()
99 DBG(8, "%s: x = %d, y = %d, w = %d, h = %d\n", in esci_set_scan_area()
103 DBG(1, "%s: not supported\n", __func__); in esci_set_scan_area()
283 DBG(8, "%s\n", __func__); in esci_set_color_correction_coefficients()
285 DBG(1, "%s: not supported\n", __func__); in esci_set_color_correction_coefficients()
308 DBG(11, "%s: %d,%d,%d %d,%d,%d %d,%d,%d\n", __func__, in esci_set_color_correction_coefficients()
327 DBG( in esci_set_gamma_table()
[all...]
H A Dmustek_usb_low.c60 DBG (7, "usb_low_init: start\n"); in usb_low_init()
68 DBG (3, "usb_low_init: couldn't malloc %ld bytes for chip\n", in usb_low_init()
156 DBG (7, "usb_low_init: exit\n"); in usb_low_init()
163 DBG (7, "usb_low_exit: chip = %p\n", (void *) chip); in usb_low_exit()
168 DBG (7, "usb_low_exit: freeing chip\n"); in usb_low_exit()
171 DBG (5, "usb_low_exit: read %d URBs, wrote %d URBs\n", in usb_low_exit()
173 DBG (7, "usb_low_exit: exit\n"); in usb_low_exit()
186 DBG (7, "usb_low_set_cmt_table: start\n"); in usb_low_set_cmt_table()
190 DBG (3, "usb_low_set_cmt_table: not opened yet\n"); in usb_low_set_cmt_table()
195 DBG ( in usb_low_set_cmt_table()
[all...]
H A Dhs2p-scsi.c72 DBG (DBG_error, "%3d: 0x%02x %d\n", i, *bp, *bp); in print_bytes()
85 DBG (DBG_info, "\n\n"); in ScannerDump()
86 DBG (DBG_info, ">> ScannerDump:\n"); in ScannerDump()
87 DBG (DBG_info, "SANE Device: '%s' Vendor: '%s' Model: '%s' Type: '%s'\n", in ScannerDump()
90 DBG (DBG_info, "Type: '%s' Vendor: '%s' Product: '%s' Revision: '%s'\n", in ScannerDump()
94 DBG (DBG_info, "Automatic Document Feeder: %s%s%s%s\n", in ScannerDump()
99 DBG (DBG_info, "Endorser :%s\n", in ScannerDump()
101 DBG (DBG_info, "Image Processing Unit:%s\n", in ScannerDump()
103 DBG (DBG_info, "Extended Board :%s\n", in ScannerDump()
106 DBG (DBG_inf in ScannerDump()
[all...]
H A Dkodak.c181 DBG (10, "sane_init: start\n"); in sane_init()
186 DBG (5, "sane_init: kodak backend %d.%d.%d, from %s\n", in sane_init()
189 DBG (10, "sane_init: finish\n"); in sane_init()
230 DBG (10, "sane_get_devices: start\n"); in sane_get_devices()
239 DBG (15, "sane_get_devices: reading config file %s\n", KODAK_CONFIG_FILE); in sane_get_devices()
267 DBG (5, "sane_get_devices: config option \"buffer-size\" \ in sane_get_devices()
273 DBG (5, "sane_get_devices: config option \"buffer-size\" \ in sane_get_devices()
277 DBG (15, "sane_get_devices: setting \"buffer-size\" to %d\n", in sane_get_devices()
282 DBG (5, "sane_get_devices: config option \"%s\" \ in sane_get_devices()
287 DBG (1 in sane_get_devices()
[all...]
H A Dcardscan.c277 DBG (10, "sane_init: start\n"); in sane_init()
284 DBG (5, "sane_init: cardscan backend %d.%d.%d, from %s\n", in sane_init()
287 DBG (10, "sane_init: finish\n"); in sane_init()
328 DBG (10, "sane_get_devices: start\n"); in sane_get_devices()
337 DBG (15, "sane_get_devices: reading config file %s\n", CONFIG_FILE); in sane_get_devices()
352 DBG (15, "sane_get_devices: looking for '%s'\n", lp); in sane_get_devices()
370 DBG (15, "sane_get_devices: setting \"has_cal_buffer\" to %d\n", in sane_get_devices()
382 DBG (15, in sane_get_devices()
389 DBG (15, "sane_get_devices: \"lines_per_block\" is %d\n", buf); in sane_get_devices()
394 DBG ( in sane_get_devices()
[all...]
H A Depsonds-cmd.c102 DBG(1, "UNKN reply code received\n"); in esci2_check_header()
104 DBG(1, "INVD reply code received\n"); in esci2_check_header()
106 DBG(1, "%c%c%c%c, unexpected reply code\n", buf[0], buf[1], buf[2], buf[3]); in esci2_check_header()
116 DBG(1, "unknown type in header: %c\n", buf[4]); in esci2_check_header()
122 DBG(1, "cannot decode length from header\n"); in esci2_check_header()
139 DBG(8, "%s: %4s len %lu, payload len: %lu\n", __func__, cmd, len, plen); in esci2_cmd()
146 DBG(1, "%s: command has wrong size (%lu != 12)\n", __func__, len); in esci2_cmd()
159 DBG(8, "buf = %s\n",buf); in esci2_cmd()
162 DBG(8, "buf = %s\n",buf); in esci2_cmd()
164 DBG( in esci2_cmd()
[all...]
H A Dcanon_pp.c145 DBG(2, ">> sane_init (version %s null, authorize %s null): " PACKAGE " " VERSION "\n", in sane_init()
152 DBG(2,"sane_init: >> ieee1284_find_ports\n"); in sane_init()
155 DBG(2,"sane_init: %d << ieee1284_find_ports\n", tmp); in sane_init()
159 DBG(1,"sane_init: Error trying to get port list\n"); in sane_init()
166 DBG(1,"sane_init: Error, no parallel ports found.\n"); in sane_init()
170 DBG(10,"sane_init: %i parallel port(s) found.\n", pl.portc); in sane_init()
174 DBG(10,"sane_init: port %s\n", pl.portv[i]->name); in sane_init()
195 DBG(100, "sane_init: >%s<\n", line); in sane_init()
205 DBG(40, "sane_init: calibrate line, %s\n", in sane_init()
214 DBG( in sane_init()
[all...]
H A Dhp3900_debug.c89 DBG (int level, const char *msg, ...) in DBG() function
155 DBG (DBG_FNC, " -> cph->p1 = %f\n", cph->p1); in dbg_sensorclock()
156 DBG (DBG_FNC, " -> cph->p2 = %f\n", cph->p2); in dbg_sensorclock()
157 DBG (DBG_FNC, " -> cph->ps = %i\n", cph->ps); in dbg_sensorclock()
158 DBG (DBG_FNC, " -> cph->ge = %i\n", cph->ge); in dbg_sensorclock()
159 DBG (DBG_FNC, " -> cph->go = %i\n", cph->go); in dbg_sensorclock()
162 DBG (DBG_FNC, " -> cph is NULL\n"); in dbg_sensorclock()
170 DBG (DBG_FNC, " -> mt->cdss[0] = %i\n", _B0 (mt->cdss[0])); in dbg_timing()
171 DBG (DBG_FNC, " -> mt->cdsc[0] = %i\n", _B0 (mt->cdsc[0])); in dbg_timing()
172 DBG (DBG_FN in dbg_timing()
[all...]
H A Dnet.c164 DBG (1, "add_device: adding backend %s\n", name); in add_device()
169 DBG (1, "add_device: already in list\n"); in add_device()
191 DBG (1, "add_device: error while getting address of host %s: %s\n", in add_device()
220 DBG (1, "add_device: not enough memory for Net_Device struct\n"); in add_device()
230 DBG (1, "add_device: not enough memory to duplicate name\n"); in add_device()
244 DBG (2, "add_device: backend %s added\n", name); in add_device()
257 DBG (1, "add_device: adding backend %s\n", name); in add_device()
262 DBG (1, "add_device: already in list\n"); in add_device()
273 DBG (1, "add_device: can't get address of host %s\n", name); in add_device()
279 DBG ( in add_device()
[all...]
H A Dmustek_usb_mid.c60 DBG (6, "usb_mid_n600_prepare_rgb_600_dpi: start\n"); in usb_mid_n600_prepare_rgb_600_dpi()
64 DBG (6, "usb_mid_n600_prepare_rgb_600_dpi: exit\n"); in usb_mid_n600_prepare_rgb_600_dpi()
73 DBG (6, "usb_mid_n600_prepare_rgb_400_dpi: start\n"); in usb_mid_n600_prepare_rgb_400_dpi()
77 DBG (6, "usb_mid_n600_prepare_rgb_400_dpi: exit\n"); in usb_mid_n600_prepare_rgb_400_dpi()
86 DBG (6, "usb_mid_n600_prepare_rgb_300_dpi: start\n"); in usb_mid_n600_prepare_rgb_300_dpi()
90 DBG (6, "usb_mid_n600_prepare_rgb_300_dpi: exit\n"); in usb_mid_n600_prepare_rgb_300_dpi()
99 DBG (6, "usb_mid_n600_prepare_rgb_200_dpi: start\n"); in usb_mid_n600_prepare_rgb_200_dpi()
103 DBG (6, "usb_mid_n600_prepare_rgb_200_dpi: exit\n"); in usb_mid_n600_prepare_rgb_200_dpi()
112 DBG (6, "usb_mid_n600_prepare_rgb_100_dpi: start\n"); in usb_mid_n600_prepare_rgb_100_dpi()
116 DBG ( in usb_mid_n600_prepare_rgb_100_dpi()
[all...]
H A Ddc240.c330 DBG (127, "send_pck<%x %x %x %x %x %x %x %x>\n", in send_pck()
338 DBG (1, "send_pck: error: write returned -1\n"); in send_pck()
346 DBG (1, "send_pck: error: read returned -1\n"); in send_pck()
350 DBG (127, "send_pck: read one byte result from camera = %x\n", r); in send_pck()
361 DBG (1, "DC-240 Backend 05/16/01\n"); in init_dc240()
375 DBG (1, "unsupported baud rate.\n"); in init_dc240()
384 DBG (1, "init_dc240: error: could not open %s for read/write\n", in init_dc240()
393 DBG (1, "init_dc240: error: could not get attributes\n"); in init_dc240()
436 DBG (1, "init_dc240: error: could not set attributes\n"); in init_dc240()
471 DBG (12 in init_dc240()
[all...]
H A Dfujitsu.c178 - split usb/scsi command DBG into 25 and 30
229 - move mode sense probe errors to DBG 35
775 DBG (10, "sane_init: start\n"); in sane_init()
780 DBG (5, "sane_init: fujitsu backend %d.%d.%d, from %s\n", in sane_init()
785 DBG (10, "sane_init: finish\n"); in sane_init()
829 DBG (10, "sane_get_devices: start\n"); in sane_get_devices()
845 DBG (15, "sane_get_devices: reading config file %s\n", in sane_get_devices()
874 DBG (5, "sane_get_devices: config option \"buffer-size\" (%d) is < 4096, ignoring!\n", buf); in sane_get_devices()
879 DBG (5, "sane_get_devices: config option \"buffer-size\" (%d) is > %d, warning!\n", buf, 64*1024); in sane_get_devices()
882 DBG (1 in sane_get_devices()
[all...]
H A Dplustek-usbcalfile.c110 DBG( _DBG_ERROR, "fseek: %s\n", strerror(errno)); in usb_ReadSpecLine()
374 DBG( _DBG_INFO, "usb_ReadAndSetCalData()\n" ); in usb_ReadAndSetCalData()
377 DBG( _DBG_INFO, "- we are in calibration mode!\n" ); in usb_ReadAndSetCalData()
382 DBG( _DBG_ERROR, "- No calibration filename set!\n" ); in usb_ReadAndSetCalData()
387 DBG( _DBG_INFO, "- Reading coarse calibration data from file\n"); in usb_ReadAndSetCalData()
388 DBG( _DBG_INFO, " %s\n", tmp ); in usb_ReadAndSetCalData()
392 DBG( _DBG_ERROR, "File %s not found\n", tmp ); in usb_ReadAndSetCalData()
398 DBG( _DBG_ERROR, "Could not find version info!\n" ); in usb_ReadAndSetCalData()
403 DBG( _DBG_INFO, "- Calibration file version: %s\n", tmp ); in usb_ReadAndSetCalData()
405 DBG( _DBG_ERRO in usb_ReadAndSetCalData()
[all...]
H A Dcanon_pp-io.c64 static void DBG(int level, const char *format, ...) in DBG() function
73 /* Fix problem with DBG macro definition having a - in the name */
146 DBG(40, "Scanner not ready (0x%x). Attempting to " in sanei_canon_pp_wake_scanner()
153 DBG(0, "WARNING: Don't know how to reset an FBx20P, you may " in sanei_canon_pp_wake_scanner()
200 DBG(10, "Had to reset scanner, waiting for the " in sanei_canon_pp_wake_scanner()
215 DBG(10,"Sending: "); in sanei_canon_pp_write()
218 DBG(10,"%02x ", data[count]); in sanei_canon_pp_write()
220 DBG(10,"\n "); in sanei_canon_pp_write()
222 if (count % 20 != 19) DBG(10,"\n"); in sanei_canon_pp_write()
225 DBG(10 in sanei_canon_pp_write()
[all...]
H A Dmustek_usb2_reflective.c77 DBG (DBG_FUNC, "Reflective_Reset: call in\n"); in Reflective_Reset()
81 DBG (DBG_FUNC, "Reflective_Reset: scanner has been opened\n"); in Reflective_Reset()
87 DBG (DBG_FUNC, "Reflective_Reset: Asic_Open return error\n"); in Reflective_Reset()
93 DBG (DBG_FUNC, "Reflective_Reset: Asic_Reset return error\n"); in Reflective_Reset()
99 DBG (DBG_FUNC, "Reflective_Reset: Asic_SetSource return error\n"); in Reflective_Reset()
105 DBG (DBG_FUNC, "Reflective_Reset: Asic_TurnLamp return error\n"); in Reflective_Reset()
111 DBG (DBG_FUNC, "Reflective_Reset: Asic_Close return error\n"); in Reflective_Reset()
134 DBG (DBG_FUNC, "Reflective_Reset: exit\n"); in Reflective_Reset()
158 DBG (DBG_FUNC, "Reflective_ScanSuggest: call in\n"); in Reflective_ScanSuggest()
162 DBG (DBG_FUN in Reflective_ScanSuggest()
[all...]
H A Dplustek-usbcal.c115 DBG( _DBG_ERROR, "cano_PrepareToReadWhiteCal() failed\n" ); in cano_PrepareToReadWhiteCal()
125 DBG( _DBG_ERROR, "cano_PrepareToReadWhiteCal() failed\n" ); in cano_PrepareToReadWhiteCal()
134 DBG( _DBG_ERROR, "cano_PrepareToReadWhiteCal() failed\n" ); in cano_PrepareToReadWhiteCal()
190 DBG( _DBG_ERROR, "cano_LampOnAfterCalibration() failed\n" ); in cano_LampOnAfterCalibration()
218 DBG(_DBG_INFO2, "* TOO BRIGHT --> reduce\n" ); in cano_adjLampSetting()
227 DBG(_DBG_INFO2, "* TOO DARK --> up\n" ); in cano_adjLampSetting()
235 DBG( _DBG_INFO, "* lamp off limited (0x%04x --> 0x3FFF)\n", *off); in cano_adjLampSetting()
269 DBG( _DBG_INFO, "cano_AdjustLightsource()\n" ); in cano_AdjustLightsource()
272 DBG( _DBG_INFO, "- function skipped, CCD device!\n" ); in cano_AdjustLightsource()
294 DBG( _DBG_INFO in cano_AdjustLightsource()
[all...]
H A Ddc210.c297 DBG (2, "send_pck: error: write returned -1\n"); in send_pck()
305 DBG (2, "send_pck: error: read returned -1\n"); in send_pck()
330 DBG (2, "unsupported baud rate.\n"); in init_dc210()
339 DBG (2, "init_dc210: error: could not open %s for read/write\n", in init_dc210()
348 DBG (2, "init_dc210: error: could not get attributes\n"); in init_dc210()
391 DBG (2, "init_dc210: error: could not set attributes\n"); in init_dc210()
432 DBG (3, "init_dc210: changing speed to %d\n", in init_dc210()
440 DBG (2, "init_dc210: error: could not set attributes\n"); in init_dc210()
451 DBG (2, "init_dc210: error: no suitable baud rate\n"); in init_dc210()
463 DBG ( in init_dc210()
[all...]
H A Dcanon-scsi.c50 DBG (31, ">> test_unit_ready\n"); in test_unit_ready()
55 DBG (31, "<< test_unit_ready\n"); in test_unit_ready()
65 DBG (31, ">> request_sense\n"); in request_sense()
72 DBG (31, "<< request_sense\n"); in request_sense()
82 DBG (31, ">> inquiry\n"); in inquiry()
91 DBG (31, "<< inquiry\n"); in inquiry()
101 DBG (31, ">> mode_select\n"); in mode_select()
113 DBG (31, "<< mode_select\n"); in mode_select()
123 DBG (31, ">> reserve_unit\n"); in reserve_unit()
129 DBG (3 in reserve_unit()
[all...]
/third_party/backends/frontend/
H A Dsaned.c313 #define DBG saned_debug_call macro
361 DBG (DBG_WARN, in auth_callback()
369 DBG(DBG_ERR, "auth_callback: bad status %d\n", wire.status); in auth_callback()
407 DBG (DBG_WARN, in auth_callback()
415 DBG(DBG_ERR, "auth_callback: bad status %d\n", wire.status); in auth_callback()
426 DBG(DBG_ERR, "auth_callback: bad status %d\n", wire.status); in auth_callback()
433 DBG (DBG_WARN, in auth_callback()
443 DBG(DBG_ERR, "auth_callback: bad status %d\n", wire.status); in auth_callback()
453 DBG (DBG_MSG, in auth_callback()
468 DBG (DBG_ER in quit()
[all...]

Completed in 24 milliseconds

12345678910>>...17