ELF>'@x@8@    $$PtdhhhQtdRtd HHGNUE1K?ϠHwn, %< @@2 $@@"@@PP R E8!  <=>?@BDEFHIJLNPSVWYZ\^acdhijlmq1o9dч;Jy;]le[~< {cXű]Ui)t!='JKfA~w~.x/@n1fMMaqX,)f|qI7J>=#,WÝ ъz9A"fNBEe]Q`_I ,J܉v-go _ ($3i" L)DjKxz} 'S I ZK@R[ [2 CL" BD h h Z Phz <U C3 5ah! ,! h/! + 4  p8z `4"R ?d!4 0,' ,a!0 + / PH , By `_ w D( B <X! PEHP! + B# 7 p+ +- @9 + . 5X! pB% `g* 1 0B=  ] + @7HD  + ($x +o `+__gmon_start___fini_ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_Jv_RegisterClassessane_initsane_test_initsane_get_devicessane_test_get_devicessane_opensane_test_opensane_get_option_descriptorsane_test_get_option_descriptorsane_control_optionsane_test_control_optionsane_get_parameterssane_test_get_parameterssane_startsane_test_startsane_readsane_test_readsane_set_io_modesane_test_set_io_modesane_get_select_fdsane_test_get_select_fdsane_cancelsane_test_cancelsane_closesane_test_closesane_exitsane_test_exitsanei_debug_msgstderrfilenoisfdtype__fprintf_chk__vfprintf_chkstrlenmalloc__sprintf_chk__vsyslog_chkfree__syslog_chksanei_debug_sanei_debugsanei_init_debug__ctype_toupper_locgetenvstrtol__stack_chk_failsanei_check_valuestrncmpsanei_constrain_valuestrncasecmpstrcpystrcmpmemcpysanei_debug_sanei_configsanei_config_get_paths__strdupsanei_config_open__snprintf_chkfopenstrchrsanei_config_skip_whitespace__ctype_b_locsanei_config_get_string__strndupsanei_config_readfgetssanei_configure_attachstrtodfclosesane_strstatussanei_debug_sanei_threadpthread_setcancelstatepthread_setcanceltypepthread_exitsanei_thread_initsanei_thread_is_forkedsanei_thread_is_invalidsanei_thread_killpthread_cancelsanei_thread_beginsigactionpthread_createusleepsigemptysetsanei_thread_sendsigpthread_killsanei_thread_waitpidpthread_joinpthread_detachsanei_thread_get_statussanei_debug_test__errno_locationstrerror__strcat_chkmemsetwritetimesrandpipefcntllibpthread.so.0libc.so.6_edata__bss_start_endlibsane-test.so.1GLIBC_2.2.5GLIBC_2.14GLIBC_2.4GLIBC_2.3.4GLIBC_2.3 ui _+kii vui _ti ii   + *!!@!%H!P!X!`!Lp!x!!!!!!!!"!%!(! !!!!!! !!(!$0!'8!*@!-H!0P!X!3`!6h!9p!<x!?!B!E!H!K!N!Q!T!W!Z!]!`!c!f!i!l!o!r!u !(!0!@!%H!-P!EX![`!sh!p!x!!!ӻ!!!!!x!!!!! !(!@!LH! L  $ C E 0 3 O 6 :! !(!0!8!@!H!P! X! `! h! p!x!!!!!!!!!!!!!!!!!! !!!"!# !$(!%0!&8!'@!(H!)P!*X!+`!,h!-p!.x!/!1!2!4!5!6!7!8!9!;HH Ht3H5 % @% h% h% h% h% h% h% h%z hp%r h`%j h P%b h @%Z h 0%R h %J h %B h%: h%2 h%* h%" h% h% h% h% h% hp% h`% hP% h@% h0% h % h% h% h% h % h!% h"% h#% h$% h%% h&%z h'p%r h(`%j h)P%b h*@%Z h+0%R h, %J h-%B h.%: h/%2 h0%* h1%" h2% h3% h4% h5AWAVL5AUL-ATU1SHHdH%(H$1IH5‰11THS(H511@HS0H511,HS8H511C@HGt:H+t.H<t"H@tHEt LIEH5~11CDHXtJH:t>HMt2HOt&HPtHRtH[IEH5)11XSHH5)11ED{L$AtH5LAtH5LAtH5LAtH5LAtH5LA tH5LA@tH5LH51L1wCPHt&HatHtHIEH5̈11H8-4H$dH3%(tDNHHA9A-E9EA#CD,IcHHl$XHHiH5ZlMcDDHD$PA 1Nt;]HUHL1EAgfffMIă HA)9thA~bMt$MȻCA9ljINA)~)‰HLLL$I!ILL$IA9MoAEDIcHHl$XHHPH5)mADDHD$P1McEFHH߾UgfffND+M1ۃ6)9AAMl$LALAAY)‰H$@1A ~yA DHHDL$LD$AIHLD$DL$HE9~QAFA9DINDEuH$)@1A  D닃 D|DI܉MDHcHH\$XzHIH5jHD$PA D1E1E1HھUL%AADOAG1EDD$A9DEE@AAAAAڿH $1 L$DMcM@AEA H9~uEH9AFD^DvHDNVH9}IA)EuE11E1E1EuDDwD_HWDOH9|Al$$D9d$D$D$lD$$~EDIcHHl$XHHH5gDHD$PAD1EAgfff HUH[AE1AADAD)A9A~{IcAӿLTAG A9~oA A4:)EtA ~B11A~11EL~@r@jHD9|IA9EM11EA)DHcHH\$XHIH5eHD$PA D1E1E1HھUL4E1AAENE~zIcDE1LAE9DDD@AH1@@0H@xHD9|A4AAEC΃HE9AEA bIfDAAEADEDDD@ޅA~jDHcHH\$XEHIH5BcHD$PA D1EHھLIcHD$D$HD$E1|$AEE9~IH\$Hl$IcE1LH)HAD$Jt5HA9HNL)1AIE9ЃD$HD$HD$|$ ufAVAUATUSHH=QH H5P dH%(H$ 1xL TH5Ug11AHts H=SHIHS4H5]gH\$Ll$11EDLH@HLHHD$CHL$HH99#PH5g1HىH H50SHmuH H5THJRH K H5RH'/H $ H5RH H = H5RHH ޡ H5RHH H5RHH H5RHxH e H5iTHU]H > H5SH2:H c H5 HHI@H= ǃ8ǃ<ǃ@H HFǃDǃHHǃPH(H?ǃ ǃpǃtH0HDHXHFH`H]Hh[H xǃ|ǃHcH˶HH kH5, HܴHDH (DǃǃǃH= HHEHH Fǃ%ǃHHS^HǃHH 2_ǃHS HǃH Cǃǃ H}EǃHǃǃHH=Eǃǃ ǃ(HHA^H   $H H0u HEH8HDHpH DǃPǃTH@HN^ǃXHxH ^^ǃ\HH Hǃ`Hǃhǃ ǃǃǃ ǃǃHy Ht HDHHDHH]HoH x ǃǃHcH߳HH H58 HHxAǃǃǃǃHHCǃǃ0ǃ4HH]ǃ8ǃ<ǃ@HHk HǃHǃhǃlH7 ǃpǃtǃxHǃ H@HHBH H]]H(ܒ  Hl@HPHBHXH]H` HC@HHB-u ǃǃHH]ǃǃǃH* Hǃǃǃǃ( H?ǃǃHǃHHA0 ǃǃHH]ǃǃǃ HHAHǃ(ǃ8 HHAHHAHH9H0HAH8H9H@HAǃHǃLǃPHhHgAǃTǃXHǃ`HpH\ǃ@ ǃǃHxH ǃǃǃH ǃǃǃǃH H@ǃǃHH@HH\HH H P Hq@HHh@HH\HHˋ ǃǃǃH ǃǃ(ǃ,ǃ0X H?ǃ4ǃ8ǃ`HH?ǃdǃhǃl@HHc[ǃpHǃxǃh H H ǃǃǃH@ ` H6HHHD?HPH6HXH:?HHZHH[HǃEH?ǃeǃHǃǃp HH3[ǃǃǃHH/[ǃfǃHǃHH>ǃx ǃǃ HH>ǃǃbǃHHr[Hǃ ǃ ǃ@HHM>ǃDǃHǃLdH(H2>ǃPHǃXH0H[H8H8\ǃ ǃxǃ|H`H4\ǃǃmǃHhH8\Hǃǃ ǃHpHs\ǃǃǃuHHo\HH\HHM4ǃHǃǃ HH=ǃǃǃHH3ǃ@ǃHǃHH<ǃ ǃ ǃ$HH<ǃ(ǃ,EHHE\Hz H<ǃ,eǃ0Hǃ8ǃ *H@H^<ǃXǃ\ǃ`HHH\ǃdeǃhǃ HPHV ǃǃǃHpH;ǃeǃǃ *HxH[ǃǃǃHH[ǃeǃHǃHHY HH{;HH;HH[HH H H\ǃ ǃ ǃ HH\ǃ eǃ ǃ8 HH \ǃ< ǃ@ ǃD eHHۄ H H! H HC\H He\H( H\H0 HI ǃH ǃp ǃt HP H ǃx ǃ| @ǃ H H0Hǃ ǃ ǃ HX H:ǃ ǃ ǃ EH` H`0Hh H9H H9H H[H OH9ǃ eǃ Hǃ ǃ *H H9ǃ ǃ ǃ H H[ǃ eǃ ǃ z)H H ǃ ǃ ǃ H HK9ǃ$ eH H[H H[H HI ǃ( ǃ *ǃP aH0 H.ǃT ǃX ǃ\ H8 H8ǃ` Hǃh ǃ H@ H.ǃ ǃ ǃ aHH H8ǃ Hǃ Hp Hq8Hx H7[H   蕥HH 5HThis is Hents of @`HHthe contHPHHHthe striHng optioHHHn. Fill HP HH(Hsome morHe words HP0HH8Hto see hHow the fHP@Hrontend HHHHbehaves.HPPHHXH7H= ǃ ǃ H HbZH H|ZH  ǃ Hc  H H YHH HFirst en@tryH= HH?Zǃ ǃ H HEZH HgZH K ǃ Hc  H H 责HH THFirst en@tryHH ,ǃ0 ǃ4 ǃ8 H H96ǃ< ǃ@ HǃH H H+ǃ ǃh ǃl H( H5ǃp ǃx Hǃ HP H5ǃ ǃDǃHHX HpYǃLǃPǃ@H` ǃ0 ǃTt 1f.H []A\A]H4ǃ Hǃ ǃ *ǃ H Hc4ǃ ǃ ǃ EH HfVǃ ǃ z)ǃ H H} ǃ ǃ ǃ$ EH H3H HVH HVH H3ǃ0Hǃ8ǃ *ǃXH@H2ǃ\ǃ`ǃdEHHHRǃhǃ ǃHPH| ǃǃǃEHpH{2ǃǃ *ǃHxHRǃǃǃEHHtRǃHǃHH{ HH 2HH2HHoRHHq{ H HRHHRǃ ǃ ǃ HHRǃ Eǃ ǃ8 HH{ ǃ< ǃ@ ǃD EH Hz H HRH HRH( HSH0 H/0ǃHǃǃp ǃHHELǃǃǃFHHALǃHǃǃx HH/ǃǃ ǃHH/ǃBǃHǃ HHLǃ ǃ@ǃDHH_/ǃHǃLDǃPH(HD/HǃXǃ H0HLH8HJMH`HdMǃxǃ|ǃHhHhMǃMǃHǃHpHMǃ ǃǃHHMǃǃUHHMHSH5/H1HF(} t\H } Hu.fDHHt H9uDtEǃD[DHH5S[1f[H5@S1̺HH5ZS[1鵺DUHcH5}SH1SHH茺n| tyHS| HuL@HHt@H9uDtg3wyHDŽ( HH)HD+(H[]fDH5SH1H1[]H5S11H5;S1߹1H5LS1ȹ1@AWI1AVMAUAATAUH͉H5SSHH(L$AHD$y5[{ H<{ Hu f.HHH9ÐuDH2A3EMcB( OJLHH)H QL Jy@]AAWA"lH5T1萸!fH5R1mH([]A\A]A^A_fH5XH1:H([]A\A]A^A_fDH5R1 H([]A\A]A^A_fH5yR1ݷkH5R1NH5R1裷1H5R1膷H5R1iH5R1LtHT$H|(HˢA3H=_DHcHH5W1DA1)H_DHcHJLJ HHH)L,IcUH֗IM(H5+VID1艶Mt$tA6@L| t&1fDDŽ, HH=uL*HM H *@H*HDȃH5VVHD11B JIL*H5TI)D*I߉EADHW*IO(LDY_诵!B L(H5|TDEHLEJII)1JL;(`JF IH5TDI)1JL;(DE%J H谔JIH5TIDI)1JL;(UH5WSE441迴1H5{T1觴5H5>P1芴JU9 to H5|QDMk8*EY ^JL;(d߃ uHH5LI1Dd  H5#11HP H5)M31rE9  L$$ }HSHLJH51L LD1蜮JU9  }HLH5KDLE1Mk8JL;(IN HL'Mk8HL躍H5KID1JL;(n$HH5J 1̭>E9  L$H3}HL&H5 KLD1xE9 t~ L$te }HH8LH5JLD1HH5I1jH8H5I1ˬ=}HHHL?H5&JLD1葬fff.UHHH5MH1SHH[D ǃ pǃ DUH5iH1SHHaD Bi EH"i HuHH H9ÐuD DHEt )H H=u F0TH5P1T貦H H=T颋.)B9H5I1YH5H18H[]H5qIH1 H[]@H51H[]1ǃHǃLǃPǃ@H&H5uHtxH$H=ߪHމ$D$ 觢HHA1 茅ǃ DH5u1ǃHH[]H H=cH51誤mH5nG뛋0H5F1u88 OH5H¿1I 迃8 #H5LGH¿1AWIA1IAVAUATAHUHSHHH5UGHD<D4ɣ=e #He Hu:f.HH$I9ǐuHM H=<L'A HfADALAPVAH_A$HIc謃HH^Ic@HDAHH9BH+E@H5H1DHAE@蟢1H5AF1腢H[]A\A]A^A_ÐH5dL1ZH[]A\A]A^A_fDH5FL1LD$%LD$H=L8|H=Lư8[H=Lư8:H=Lư8H=LH571]A A9H5DEʿ1L$*L$AH5WE1 H51dH51ѠGH5 E1贠-H58E1蜠H5n1L藤Au^I H=ALJP)u!A uA0QNA0HG蛚H5DH¿1Dmh8 ȁH5DH¿1Ÿ 8H=LƸ8H5LLD$`LD$H5L=LD$H5LLD$ H5LLD$ H5L¸ eyH5C1@Ϟ1HSH5H1H覞5` Hi` Hurf.HHt`H9uDLHteHeǃLǃHǃPǃ0[HH5D[1[H5pC1@[H5C1ԝ[H51[H5hC1鬝fff.UH5CH1SHH} __ H@_ HufDHHH9uDH1 u[$1ҁ|1y4H5C@H5)C1ŜH[]fH5CH1蚜H[]fDH51uH[]fH5B1MfDUHH HHSHHHH5CHD1 ] tOH] Hu aHHtXH9uDtqH( u%$E1H5B1蝛H[]ÐH5CH1zH[]fDH51UH[]fH5B1-HH[sanei_debug] malloc() failed Setting debug level of %s to %d. [%s] %s[%s] sanei_debugsanei_configSANE_CONFIG_DIR%s%c%ssanei_configure_attach: exit optiontruefalsesanei_config_get_paths: using config directories %s sanei_config_open: could not find config file `%s' sanei_config_open: using file `%s' sanei_config_open: attempting to open `%s' sanei_configure_attach: start sanei_configure_attach: couldn't access %s sanei_configure_attach: couldn't find a string to parsesanei_configure_attach: couldn't find a valid boolean valuesanei_configure_attach: couldn't find a string value to parsesanei_configure_attach: incorrect type %d for option %s, skipping option ... sanei_configure_attach: failed to parse option '%s', line '%s' sanei_configure_attach: trying to attach with '%s' @SuccessOperation not supportedOperation was cancelledDevice busyInvalid argumentEnd of file reachedDocument feeder jammedScanner cover is openError during device I/OOut of memoryUnknown SANE status code %dDocument feeder out of documentsAccess to resource has been deniedTdtđԑsanei_threadfunc() done - status = %d setting SIGPIPE to SIG_IGN sanei_thread_waitpid() - %ld * thread has been canceled! * result = %d (%p) * detaching thread(%ld) restoring SIGPIPE to SIG_DFL thread started, calling func() now... sanei_thread_kill() will kill %ld pthread_create() failed with %d pthread_create() created thread %ld sanei_thread_sendsig() %d to thread (id=%ld) testSANE_TYPE_INTSANE_TYPE_BOOLSANE_TYPE_FIXEDSANE_TYPE_STRINGSANE_TYPE_BUTTONunknownSANE_TYPE_GROUPSANE_UNIT_PIXELSANE_UNIT_NONESANE_UNIT_BITSANE_UNIT_MMSANE_UNIT_DPISANE_UNIT_PERCENTSANE_UNIT_MICROSECONDSANE_CONSTRAINT_RANGESANE_CONSTRAINT_NONESANE_CONSTRAINT_WORD_LISTSANE_CONSTRAINT_STRING_LIST-----> number: %d name: `%s' title: `%s' description: `%s' type: %s unit: %s size: %d SANE_CAP_SOFT_SELECT SANE_CAP_HARD_SELECT SANE_CAP_SOFT_DETECT SANE_CAP_EMULATED SANE_CAP_AUTOMATIC SANE_CAP_INACTIVE SANE_CAP_ADVANCED capabilities: %s constraint type: %s finish_pass: test_device=%p finish_pass: closing pipe finish_pass: pipe closed reader_task started reader_task started (forked) Solid blackSolid whiteGridsane-backends 1.0.23test.confnumber_of_deviceshand-scannerthree-passthree-pass-orderresolution_minresolution_maxresolution_quantscan-sourcetest-pictureinvert-endianessread-limit-sizeread-delay-durationread-status-codeppl-lossfuzzy-parametersnon-blockingselect-fdenable-test-optionsgeometry_mingeometry_maxgeometry_quanttl_xtl_ybr_xbr_yNonamevirtual devicefrontend-testersane_exit sane_exit: freeing device %s sane_open: handle == 0 init_options: test_device=%p Number of optionsScan ModeScan modeBit depthHand-scanner simulationThree-pass simulationColorSet the order of framesScan resolutionScan sourceSpecial OptionsSelect the test pictureInvert endiannessRead limitSize of read-limitRead delayDuration of read-delayread-return-valueReturn-value of sane_readLoss of pixels per lineFuzzy parametersUse non-blocking IOOffer select file descriptorEnable test optionsprint-optionsPrint optionsPrint a list of all options.Geometrytl-xTop-left xtl-yTop-left ybr-xBottom-right xbr-yBottom-right yBool test optionsbool-soft-select-soft-detectbool-hard-select-soft-detectbool-hard-select(3/6) Bool hard selectbool-soft-detect(4/6) Bool soft detectInt test optionsint(1/6) Intint-constraint-range(2/6) Int constraint rangeint-constraint-word-listint-constraint-array(4/6) Int arrayFixed test optionsfixed(1/3) Fixedfixed-constraint-range(2/3) Fixed constraint rangefixed-constraint-word-listString test optionsstring(1/3) Stringstring-constraint-string-listButton test optionsbutton(1/1) Buttonsane_close: handle=%p mmdpireload_optionsreload_parametersinexactYes! You pressed me! grayrgbredgreenblueGraysane_start: handle=%p sane_start: not open sane_start: already scanning sane_start: scanning page %d Automatic Document Feedersane_start: lines == 0 sane_start: pipe failed (%s) sane_read: length == NULL DefaultSANE_STATUS_UNSUPPORTEDSANE_STATUS_CANCELLEDSANE_STATUS_DEVICE_BUSYSANE_STATUS_INVALSANE_STATUS_EOFSANE_STATUS_JAMMEDSANE_STATUS_NO_DOCSSANE_STATUS_COVER_OPENSANE_STATUS_IO_ERRORSANE_STATUS_NO_MEMSANE_STATUS_ACCESS_DENIEDsane_read: data == NULL sane_read: not open sane_read: EOF reached sane_read: handle %p unknown sane_cancel: handle = %p sane_cancel: not open sane_set_io_mode: not open !=sane_get_select_fd: not open FlatbedRGBFirst entrySecond entry101112131415161718192021222425262728293031323334353637383940414243444546Color patternRBGGBRGRBBRGBGRread_option: option `%s' requires parameter read_option: option `%s' requires parameter `true' or `false' read_option: set option `%s' to %s read_option: option `%s': can't parse parameter `%s' (%s) read_option: set option `%s' to %d read_option: set option `%s' to %.0f read_option: set option `%s' to `%s' read_option: unknown param_type %d finish_pass: terminating reader process %ld finish_pass: sanei_thread_waitpid failed, already terminated? (%s) finish_pass: reader process terminated with status: %s finish_pass: closing reader pipe finish_pass: reader pipe closed reader_task started (as thread) (child) reader_process: test_device=%p, fd=%d (child) init_picture_buffer test_device=%p, buffer=%p, buffer_size=%p (child) init_picture_buffer: couldn't malloc buffer (child) init_picture_buffer: drawing solid black test picture %d bytes (child) init_picture_buffer: drawing solid white test picture %d bytes (child) init_picture_buffer: drawing grid test picture %d bytes, %d bpl, %d ppl, %d lines (child) init_picture_buffer: drawing b/w test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing 8 bit gray test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing 16 bit gray test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing color lineart test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing color lineart three-pass test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing 8 bit color test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing 8 bit color three-pass test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing 16 bit color test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: drawing 16 bit color three-pass test picture %d bytes, %d bpl, %d lines (child) init_picture_buffer: unknown mode (child) reader_process: write returned %s (child) reader_process: wrote %ld bytes of %lu (%d total) (child) reader_process: finished, wrote %d bytes, expected %d bytes, now waiting (child) reader_process: finished, wrote %d bytes, expected %d bytes (child) reader_task: reader_process finished (%s) (child) reader_process: buffer=%p, buffersize=%lu sane_init: SANE test backend version %d.%d.%d from %s sane_init: warning: already inited sane_init: reading config file `%s' sane_init: config file line %3d: ignoring empty line sane_init: config file line %3d: ignoring comment line sane_init: config file line %3d: `%s' sane-init: I don't know how to handle option `%s' sane_init: couldn't find config file (%s), using default settings sane_init: new device: `%s' is a %s %s %s sane_exit: not inited, call sane_init() first sane_exit: freeing device list sane_get_devices: device_list=%p, local_only=%d sane_get_devices: not inited, call sane_init() first sane_get_devices: device_list == 0 sane_open: devicename = "%s", handle=%p sane_open: not inited, call sane_init() first sane_open: device name NULL or empty sane_open: device `%s' not found sane_open: device `%s' already open sane_open: opening device `%s', handle = %p Read-only option that specifies how many options a specific devices supports.Selects the scan mode (e.g., lineart, monochrome, or color).Number of bits per sample, typical values are 1 for "line-art" and 8 for multibit scans.Simulate a hand-scanner. Hand-scanners do not know the image height a priori. Instead, they return a height of -1. Setting this option allows to test whether a frontend can handle this correctly. This option also enables a fixed width of 11 cm.Simulate a three-pass scanner. In color mode, three frames are transmitted.Set the order of frames in three-pass color mode.Sets the resolution of the scanned image.If Automatic Document Feeder is selected, the feeder will be 'empty' after 10 scans.Select the kind of test picture. Available options: Solid black: fills the whole scan with black. Solid white: fills the whole scan with white. Color pattern: draws various color test patterns depending on the mode. Grid: draws a black/white grid with a width and height of 10 mm per square.Exchange upper and lower byte of image data in 16 bit modes. This option can be used to test the 16 bit modes of frontends, e.g. if the frontend uses the correct endianness.Limit the amount of data transferred with each call to sane_read().The (maximum) amount of data transferred with each call to sane_read().Delay the transfer of data to the pipe.How long to wait after transferring each buffer of data through the pipe.Select the return-value of sane_read(). "Default" is the normal handling for scanning. All other status codes are for testing how the frontend handles them.The number of pixels that are wasted at the end of each line.Return fuzzy lines and bytes per line when sane_parameters() is called before sane_start().Use non-blocking IO for sane_read() if supported by the frontend.Offer a select filedescriptor for detecting if sane_read() will return data.Enable various test options. This is for testing the ability of frontends to view and modify all the different SANE option types.Top-left x position of scan area.Top-left y position of scan area.Bottom-right x position of scan area.Bottom-right y position of scan area.(1/6) Bool soft select soft detect(1/6) Bool test option that has soft select and soft detect (and advanced) capabilities. That's just a normal bool option.(2/6) Bool hard select soft detect(2/6) Bool test option that has hard select and soft detect (and advanced) capabilities. That means the option can't be set by the frontend but by the user (e.g. by pressing a button at the device).(3/6) Bool test option that has hard select (and advanced) capabilities. That means the option can't be set by the frontend but by the user (e.g. by pressing a button at the device) and can't be read by the frontend.(4/6) Bool test option that has soft detect (and advanced) capabilities. That means the option is read-only.bool-soft-select-soft-detect-emulated(5/6) Bool soft select soft detect emulated(5/6) Bool test option that has soft select, soft detect, and emulated (and advanced) capabilities.bool-soft-select-soft-detect-auto(6/6) Bool soft select soft detect auto(6/6) Bool test option that has soft select, soft detect, and automatic (and advanced) capabilities. This option can be automatically set by the backend.(1/6) Int test option with no unit and no constraint set.(2/6) Int test option with unit pixel and constraint range set. Minimum is 4, maximum 192, and quant is 2.(3/6) Int constraint word list(3/6) Int test option with unit bits and constraint word list set.(4/6) Int test option with unit mm and using an array without constraints.int-constraint-array-constraint-range(5/6) Int array constraint range(5/6) Int test option with unit dpi and using an array with a range constraint. Minimum is 4, maximum 192, and quant is 2.int-constraint-array-constraint-word-list(6/6) Int array constraint word list(6/6) Int test option with unit percent and using an array with a word list constraint.(1/3) Fixed test option with no unit and no constraint set.(2/3) Fixed test option with unit microsecond and constraint range set. Minimum is -42.17, maximum 32767.9999, and quant is 2.0.(3/3) Fixed constraint word list(3/3) Fixed test option with no unit and constraint word list set.(1/3) String test option without constraint.(2/3) String constraint string list(2/3) String test option with string list constraint.string-constraint-long-string-list(3/3) String constraint long string list(3/3) String test option with string list constraint. Contains some more entries...(1/1) Button test option. Prints some text...sane_close: not inited, call sane_init() first sane_close: handle %p not open sane_close: handle %p unknown sane_get_option_descriptor: handle=%p, option = %d sane_get_option_descriptor: not inited, call sane_init() first sane_get_option_descriptor: not open sane_get_option_descriptor: option < 0 || option > num_options sane_get_option_descriptor: handle %p unknown sane_control_option: handle=%p, opt=%d, act=%d, val=%p, info=%p sane_control_option: not inited, call sane_init() first sane_control_option: not open sane_control_option: is scanning sane_control_option: option < 0 || option > num_options sane_control_option: option not loaded sane_control_option: option is inactive sane_control_option: option is a group sane_control_option: option is not setable sane_control_option: option is not automatically setable sane_control_option: set option %d (%s) automatically to %s sane_control_option: trying to automatically set unexpected option sane_control_option: sanei_constrain_value returned %s sane_control_option: option %d (%s) not changed sane_control_option: set option %d (%s) to %.0f %s sane_control_option: set option %d (%s) to %.0f sane_control_option: set option %d (%s) to %d sane_control_option: set option %d (%s) to %s sane_control_option: set option %d (%s) to `%s' sane_control_option: set option %d (%s) to %p sane_control_option: set option %d (%s) sane_control_option: trying to set unexpected option sane_control_option: get option 0, value = %d sane_control_option: get option %d (%s), value=%.1f %s sane_control_option: get option %d (%s), value=%s sane_control_option: get option %d (%s), value=`%s' sane_control_option: get option %d (%s), value=%d sane_control_option: get option %d (%s), value=%p sane_control_option: trying to get unexpected option sane_control_option: trying unexpected action %d sane_control_option: finished, info=%s %s %s sane_control_option: handle %p unknown sane_get_parameters: handle=%p, params=%p sane_get_parameters: not inited, call sane_init() first sane_get_parameters: handle %p not open sane_get_parameters: format=%s sane_get_parameters: last_frame=%s sane_get_parameters: lines=%d sane_get_parameters: depth=%d sane_get_parameters: pixels_per_line=%d sane_get_parameters: bytes_per_line=%d sane_get_parameters: handle %p unknown sane_start: not inited, call sane_init() first sane_start: already in last pass of three sane_start: Document feeder is out of documents! sane_start: pixels_per_line == 0 sane_start: bytes_per_line == 0 sane_start: sanei_thread_begin failed (%s) sane_start: handle %p unknown sane_read: handle=%p, data=%p, max_length = %d, length=%p sane_read: not inited, call sane_init() first sane_read: setting return status to %s sane_read: limiting max_scan_length to %d bytes sane_read: scan was cancelled sane_read: No more data available, sending EOF sane_read: not scanning (call sane_start first) sane_read: finish_pass returned `%s' sane_read: no data available, try again sane_read: read returned error: %s sane_read: read %ld bytes of %d, total %d sane_cancel: not inited, call sane_init() first sane_cancel: scan already cancelled sane_cancel: scan is already finished sane_cancel: handle %p unknown sane_set_io_mode: handle = %p, non_blocking = %d sane_set_io_mode: not inited, call sane_init() first sane_set_io_mode: not scanning sane_set_io_mode: can't set io modesane_set_io_mode: handle %p unknown sane_get_select_fd: handle = %p, fd %s 0 sane_get_select_fd: not inited, call sane_init() first sane_get_select_fd: not scanning sane_get_select_fd: handle %p unknown This is the very long third entry. Maybe the frontend has an idea how to display it0YZZY8Yҧҧ?zҧE;i;;EExҧҧEҧҧҧEEҧ;;;ҧ\\;ҧҧ.RbbRbbbbbbbRRRbbRbbbR<<$@ffffff9@?A[@@e@;84X8;<(<@(?A`HDD(F0Gx(HII0PQXRRSS(S XS@xTTUUV(YxZx[ op w x hy H 8 xx x ( 8 X  zRx $2pFJ w?;*3$"D9\9t9999999949L9d9l|x9'RBD D(G0C (D AJBI a (D ABBF \(G ABB8:G4 :BID G  AABA LD;BBD A(D0s (F ABBE t (C ABBD |0=BBB B(G0A8DP 8A0A(B BBBH  8C0A(B BBBB V 8A0A(B BDEK `?G,4?"BAA c AIG Dd@BBE A(A0G  0A(A BBBA $XBHAAG yDALBBBD A(D0U (D ABBE } (D ABBJ <$CBBA A(G0 (D ABBH LdCBBL B(A0A8O! 8A0A(B BBBH J\KGKhAAI0 K=Dx$L<L TL#A]DtLBIF Gy  AABK \  HABI $L3AQL IFA<M(BGD K(O (D ABBF $M<MGL\xNBBE E(D0A8D`{ 8A0A(B BBBD ,HQKADD x DAA L/BBI I(A0C8Jw8A0A(B BBB$,QWAX  CF LTPR~BKB B(A0A8G 8C0A(B BBBA DfBBB A(A0Q@% 0A(A BBBJ 48nAOD  AAH DMA$$nzAw H Y G YtLHo/!BJK I(D0 (A ABBF W (F ABBF z (F ABBK t (F ABBA ,AY F P P A S P4ARL ` AAG Z CAA |, 84 BGE E(D0M8G`1 8A0A(B BBBJ Z 8F0A(B BBBG W 8F0A(B BBBJ T ASL  AAB Z FAG Z FAA  CAB T hAML02 CAH _ CAE \ CAH  CAA d\ HBMB B(G0D8QPe 8A0A(B BBBB Z 8F0A(B BBBG 4 A D P H A W A S A S AD ZAQL  AAJ Z FAG W FAJ DD AUL  AAB Z FAG W FAJ +*+M ($ <  o`  !` ooooS f$v$$$$$$$$$%%&%6%F%V%f%v%%%%%%%%%&&&&6&F&V&f&v&&&&&&&&&''&'6'F'V'f'v'''''!2dP**0\*[@L * *@{@ %L"%( !$'*-0369<?BEHKNQTWZ]`cfiloru%-E[sӻxL31f6cc4b3f83f8c9cfa0a548776e8c2cba0ad6.debugk.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.jcr.dynamic.got.got.plt.data.bss.gnu_debuglink $o(  0``8oEoT``^ h($($cP$P$pn''zt<< zHH Ehh88      P!!x `!X X4