Caml1999T037 tC,Test_ld_confР'Harness&Import'Harness?testsuite/tools/test_ld_conf.mlOO@ OO@@ @3@@@@#intA;@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@!@$trued@@'@@@A@@@@@(@A@$unitF;@@"()e@@2@@@A@@@@@3@A@ #exnG;@@@A@@@@@7@@@#effH;@@O@A@A@@@@@@@@@@,continuationI;@@Q@@P@B A@nY@@@@@@O@@@%arrayJ;@@R@AA@@@@@@Y@@@ $listK;@@S@A"[]f@@f@"::g@@@T@@s@ @@A@Y@@@@@v@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AA@Y@@@@@@@@ 5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@AA@Y@@@@@@@@ *atomic_locU;@@Z@AA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A۠=ocaml.warn_on_literal_patternߐ@@0Division_by_zero]#@@@A堰  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A$#@-Match_failureV#>@@=@9@;@@a@@A54@)Not_foundZ#O@@@A=<@-Out_of_memoryW#W@@@A E#D#@.Stack_overflow^#_@@@A(M+L+@.Sys_blocked_io_#g@@@A0U3T3@)Sys_error[#o@j@@A9^<]<@:Undefined_recursive_modulea#x@@w@s@u@@h@@AJoMnM@:Continuation_already_takenb#@@@ARwUvU@&Stdlib@@@@A3@@@O@@@3@@@A+,ld_conf_test AR49R4E@@;@@+description"@@j@@@SJLSJ`@@CA4caml_ld_library_path#@@+var_setting!A@@@!U|~U|@@DA(ocamllib$@@@@@$YwyYw@@EA'camllib%@@@@@'];=];R@@FA&stdlib&@@K@@@*@@@,aa+@@GA'outcome'@@\@@@/@@@1dd@@HA@@A@@@@@R44f"#@@@@ AA@#YYTSJW@S@@Ш@г\&stringSJYSJ_@@d3@}s;@@@A@@@@@@@@Z;@@@A@@@@@g$$g$X@@@@&BA@@ @@r@@@n@#jjcU|@b@@Ш@гm+var_setting"U|#U|@@u@@x@@" @r@#nni+Yw@h@@Ш@гq+var_setting4Yw5Yw@@y/@@|@@%2@x@#tto=];D@n@@Ш@гw+var_settingF];FG];Q@@A@@@@(D@~@#zzpOa@o@@Ш@г}$listXa&Ya*@г&stringaaba%@@\@@@] @@@@-`@@#{kd@z@@Ш@г$listtdud@г&string}d~d@@x@@@y @@@@2|@@@A@@+ӠӰg$(g$3@@;@@%Unset(@@g$6g$;@@IA%Empty)@@g$<g$C@@JA#Set*n@@@4@@@6@@g$D@@KA@@A@@@@@@@@@#%%#"@!@@@%@#!!g$>@@@@"@#g$Fg$I@@г $listg$T@г$&stringg$Mg$S@@,̰@@@1Ͱ@@@@)@@A@@@@3@J@@@ఠ%tests+jj@LA@@@@@\B@Y@+Environment!t@@@ B@^tn@@@@@@B@_@@`B@Z@@[B@X3@}Xsm@@@࣠@'_config-Ajj@,MA@@/3@<j,,@@@@@  @@#env.A)j*j@@NA@@;3########@!F@@@@@@@@@ఠ0if_ld_conf_found/@?@@@@ఐ#envo x o x @Y@@@@2@@d@@@G@@ภ"[]p  p  @;"+@@U@@@@AA@A@@$@@@x%@ఐn'outcomer  c@,d@@/@o x |f@@1@pgA@E@n@A@k@@ఠ$baseGt  t  @QA@@@@@E@3@@@@@@3F@@@WH@@@3?>@@A@A8@5321@@B@A-@*3'&@@C@A"@3@@D@A@3   @@E@A@@AJ@G+descriptionu  u  @ u  @@u  u  @@`@@@E@&@4caml_ld_library_path v   v  @ภ%Unsetv  v  @;h@@@V@@@@BA@A@@@ @@p@@@E@B@6(ocamllib(v  )v  @ภ%Unset0v  1v  @@@@x@@@E@X@K'camllib>v  ?v  $@ภ%UnsetFv  'Gv  ,@2@@@@@@E@n@`&stdlibTw . 3Uw . 9@ภ[w . <\w . >@@@@@@@@@@E@@x'outcomemw . @nw . G@ภtw . Juw . L@@@@@@@@@@E@@@@u  w . M@@@A@t  @@@ఠ%testsH{  {  @RA@@@@@%@@@$E@3@@@@@@@@ఠ$mainI|  |  @SA@@@@@F@@@@F@ @@ఠ,main_outcomeJ|  |  @TA@@)&stringQ@@@@@@F@8@@ఠ/main_outcome_crK|  |  @UA@@A@@@F@J@@: @@@:@%@@@S@@ఠ&libdirL}  }  @VA@@&stringQ@@@G@i@డ*is_renamed+Environment~  ~  +@ ~  ,~  6@@@@@*@@@ @@@ @@ @@ఐ#env.~  7/~  :@@@?@@@@@@@H@@డ&libdir+EnvironmentD @ JE @ U@ H @ VI @ \@@@Z@@@3R@@@2@@1@v  v  *@@_H@@@@g@@@_@@@@@@@ఐE#envk @ ]l @ `@@@|@@+@@p@డ&Config0standard_library&Config}A n x~A n ~@ A n A n @@&stringQ@@@|@0utils/config.mli]99]9U@@&ConfigB@@@G@@~  @@@A@}  @@@ఠ!/B  B  @WA@@@&stringQ@@@ @@@@  @@@ @@ @@ G@3@@@@@@డ8(Filename&concatB  B  @ B  B  @@@(@@@ E@%@@@ D$@@@ C@@ B@@ A@,filename.mli^^@@0Stdlib__FilenameC@@@<*@A@B  @@@ఠ$dataC  C  @XA@@@@@@ G@ @@@@ G@ @h@@@ >G@ @@@ G@ @@ G@ @@@ G@ 3@a~w@x@y@@@ภ"::#E  $YA;m@B@AA@A@@@!/1E  2E  @@4E  @@4@@!/<E  =E  @@?E  @E  @@9'@@ภ$NoneIE  JE  @;=@@W@@@@AA@A@@@@@DG@ 9@@1 @@[G@ <@ภ:\F  9A8@"//gF  hF  @@jF  !@@lG@ S@@"//tF  $uF  &@@wF  #xF  '@@sG@ a@@ภ$NoneF  )F  -@:@@@yG@ n@@-@@G@ q@ภoH ` hnAm@!.H ` iH ` j@@H ` k@@G@ @@!.H ` nH ` o@@H ` mH ` p@@G@ @@ภ$NoneH ` rH ` v@o@@@G@ @@-@@G@ @ภI x A@"..I x I x @@I x @@G@ @@"..I x I x @@I x I x @@G@ @@ภ$NoneI x I x @@@@G@ @@-@@G@ @ภٰL % -Aנ@ఐh!/ L % 1 L % 2@@@@e@@@ @b@@@ a@@@ @@ @@ @@!."L % .#L % /@@*%L % 0@@@@@ H@ H@ @@ 5L % 4@@7L % 38L % 5@@@@@ H@ H@ &@@F @@BH@ )@@ఐ!/NL % ;OL % <@4@@@@@@ @@@@ @@@ @@ @@ D@@!.fL % 8gL % 9@@iL % 7jL % :@@@@@ 'H@ )H@ (X@@ zL % >@@|L % =}L % ?@@@@@ &H@ +H@ *k@@ @@H@ %n@@ภ$NoneL % AL % E@G@@@G@ /{@@@@G@ 0~@ภ|M G O{Az@ఐ !/M G TM G U@@@@@@@ A@@@@ @@@@ ?@@ >@@ =@@"..M G PM G R@@*M G S@@#@@@ MH@ OH@ N@@ M G W@@M G VM G X@@.@@@ LH@ QH@ P@@F @@H@ K@@ఐO!/M G _M G `@װ@@@L@@@ W@I@@@ VH@@@ U@@ T@@ S@@".. M G [ M G ]@@ M G Z M G ^@@h@@@ cH@ eH@ d@@ M G b@@M G a M G c@@s@@@ bH@ gH@ f@@ @@#H@ a@@ภ$None3M G e4M G i@@@@)G@ k@@@@@G@ l!@ภAP  A@ఐ!/PP  QP  @6@@@@@@ }@@@@ |@@@ {@@ z@@ yF@@!.hP  iP  @@*kP  @@@@@ H@ H@ Y@@(stublibs{P  |P  @@~P  P  @@@@@ H@ H@ m@@G @@H@ p@@ఐ!/P  P  @{@@@@@@ @@@@ @@@ @@ @@ @@!.P  P  @@P  P  @@ @@@ H@ H@ @@(stublibsP  P @@P  P @@@@@ H@ H@ @@ @@H@ @@ภ$NoneP P  @@@@G@ @@@@G@ @ภİQ A @ఐS!/Q Q @۰@@@P@@@ @M@@@ L@@@ @@ @@ @@".. Q  Q @@* Q @@k@@@ H@ H@ @@(stublibs Q  !Q $@@ #Q  $Q %@@w@@@ H@ H@ @@G @@.H@ @@ఐ!/ :Q , ;Q -@ @@@@@@ @@@@ @@@ @@ @@ 0@@".. RQ ( SQ *@@ UQ ' VQ +@@@@@ H@ H@ D@@(stublibs fQ / gQ 7@@ iQ . jQ 8@@@@@ H@ H@ X@@ @@mH@ [@@ภ$None }Q : ~Q >@4@@@sG@ h@@@@G@ k@ภi ThAg@(stublibs T T@@ T@@G@ @@(stublibs T T@@ T T@@G@ @@ภ$None T T@i@@@G@ @@-@@G@ @ภ UA@).stublibs U U@@ U@@G@ @@).stublibs U U @@ U U@@G@ @@ภ$None U U@@@@G@ @@-@@G@ @ภӰ VAѠ@*..stublibs V V)@@ V*@@G@ @@*..stublibs V- V7@@ V, V8@@ G@ @@ภ$None V: V>@@@@G@ @@-@@)G@  @ภ *W@HA@ఐ>&libdir  7W@N@|@@:G@ &!@@ఐK&libdir DW@P EW@V@@@AG@ '/@@ภ$None QW@X RW@\@@@@GG@ +<@@-@@^G@ ,?@ภ= _X^fYA@@@@ @ @@@ G@ I@ x@@@ G@ @@@ G@ J@  G@ @@@ G@ K@@ LG@ F@@%G@ V@G@ W@X G@ c@@@ bG@ X@@ YG@ S@v=@@@ G@ @~<@@@ G@ @7@@@ G@ @@ G@ T@@ UG@ G@@ HG@ E3 ~ ~ ~ ~ ~ ~ ~ ~@o@@@@@࣠@%paramA@ఠ$main Z Z@ ZA@@k3        @~ Z d.@@@@@ఠ,main_outcome Z Z@ [A@@t@@ఠ/main_outcome_cr Z Z@ \A@@s@@ Z Z@@@@@~@@ N)@@  @@=A@ఠ$line Z Z@ ]A@@3        @?H@B@C7@1@2,@&@'@@@@ఠ'outcome Z Z@ ^A@@@@ఠ"cr Z Z@ _A@@@@ Z Z@@@@@@@ [*@@  @@@ఠ"cr [ [@ )`A@@G@ `3        @>G@A@B5@/@0*@$@%@@@ఐ0"cr '[ ([@ @@3        @@@@Ġ$Some 5\  6\ @ఠ"cr >\  ?\ @ UaA@@@@@@@@@@@@ఐ "cr J\ ! K\ #@@ @ @@83 D D D D D D D D@8@@@Ġ$None Z]$. []$2@@@@@3@@3@@@డ #Sys%win32 j_ k_@  n_ o_@@$boolE@@@ @@'sys.mli@@+Stdlib__SysZ@@@@@@ L@ Z@ఐ'outcome ` `@q@@-d@డ !^ b b@@@@@T@@@@S@@@R@@Q@@P@*stdlib.mli^2^2^2^X@@&Stdlibq@@@@@@@ @@@@ @@@ @@ @@ @@ఐݠ'outcome b b@@@j@@!  b b@@ b b@@:@@@ M@ M@ @@ @@M@ @ _ @@@@@A [@@@A@ [@@@ภϰ d d@Πఐ#$line d @ @@3        @@@@@@ఐl$main d@)@@ @@@@ @@@ @@ภ d  d @ఐ5'outcome d @ @@%@ఐ|,main_outcome *d@J@@/@@ @@ /@@@ 4@@ภ 8d 9d@ఐ0"cr Bd @D @@.G@ఐ/main_outcome_cr@j@@P@@ @@ P@@@ U@@X@@@L@,@ @@ ^@u@@ E@A@2G@ @A@@డ $List)fold_left lf8> mf8B@  pf8C qf8L@@@@#acc@7@!a@9 @@s@@r@ @$listK@@@q@@p@@o@@n@(list.mli333r@@,Stdlib__List]@(#@@@@@@ڠ@@@F@F@@@@ᠠ@@@@@@F@@@@@@@2@@@$@@@@@@3        @5@@@@@@ఐ$fold f8M f8Q@ @@@@ 1 @@@@ 7 @@@@@@@ @ @@@@@@@ 5@@@@@@@@  D@@@@ %@@@@ +@@@@@@@@@K@@@ภ ^f8Sf8U@ ]@@@ eF@\@@ภ jf8W f8Y@ i@@@ ZF@h@@ภ v+f8[,f8]@ u@@@ NF@t@@1f8R2f8^@@F@y@@డ $List#revEf8`Ff8d@ If8eJf8h@@@ɠ!a@@@@Ҡ @@@@@ @ee@@M@@@@F@G@@@@@@@@@@@ఐ$datazf8i{f8m@@@2@@@H@H@@@f8_f8n@@@@@G@H@@@% @@@ @@ @w @@y@ @@@@@ @A@|  @@@ఠ%tests\hv~hv@bA@@  @@@IF@@@@F@3@   @ @   @ @   @ @ @@@@ఠ'outcome]jj@cA@@& @@@@@@G@@డ K#Sys%win32mhsmhv@ mhwmh|@@q@@ 9@@@G@8@ఐ +,main_outcomenn@<@@+B@ภְpp@ՠ!.pp@@pp@@=G@W@ఐ K,main_outcomepp@\@@uQG@@@@G@G@l@@ @@XG@o@ mhp@@Zq@A@"j@@ภ (r)t)_A  H+description4r5r@1Base ld.conf test;r<r@@>r?r@@ @@@F@ 3;;;;;;;;@@@@@@ ] @@@@F@>@ c @@@DF@B@ i @@@HF@F@ o&stdlibcsds@ภ Hjs ks"@ G rs@@tsus@@ @@@F@F@F@:@ఐ ڠ$mains#s'@հ@@@@@F@!F@M@@ @@ @@@F@T@ 'outcomet);t)B@ఐ n0if_ld_conf_foundt)Et)U@ ʰ@@@  @@@+F@9F@6F@/@@@. @@-w@@ఐ'outcomet)Vt)]@@@ @@@*G@4G@7G@5@@* @@@@ఐ $baserr@ @@@ @@@OF@LF@;@t)^@@>@ภ 9A 6@A@PJ@@@F@T@@r@@ P@@@@@@L@A@hvz@@@ఠ%tests^uck ucp@dA@@  @@@F@@@@F@U3        @h|u@v@w@@@@ఠ&stdlib_$w%w@;eA@@+@@@Z@@@YG@V@డ#Sys%win32>x?x@ BxCx@@԰@@ @@@XG@W4@ఐ $mainR{S{@@@+>@ภ 9[}\}@ 8 c}@@e}f}@@@@ఠ'entriese @kA@@@@@@ H@@"#@@@H@ @@@ H@@@H@@@@H@j@ภ /0A @("quoted";<@ @@@(@@ภ &HIA %("quoted"PQ@  U@@1@ภA@A@?@@@H@@@d@@GH@@@9@@WH@@ภ NpfpAA L@.quote"in"entry{fr|f@ f@@jH@!@@ภ hffA g.quote"in"entryff@  f@@uH@(@ภ A@ A@H@#@@@'H@-@@f @@H@&@@>#@@H@.@ภ  A @+one";"entry @ @@H@9 @@ภ 0A $one"!@  #@@H@@ @ภ İ%A  &"entry'-@  /@@H@H5@ภF *AC@ +A@]I@B@@@GH@MD@@4A@fH@;@@@?H@FM@@>@@H@>Q@@\A@@H@NT@ภ A @0one";"two";three%&@ *@@H@Ym@@ภ45A$one"<=@  A@@H@`@ภ(JA&%"two"QR@  V@@4H@h@ภ=_+A;%threefg@@ i@@GH@p@ภ =A@ >A@ԠUI@j@@@oH@u@@GA@ݠ^I@b@@@gH@n@@;PA@gH@[@@@_H@f@@Z@@qH@^@@x]@@H@v@ภkA@lA@I@P@@@UH@{@@uA@I@0@@@5H@T@@~A@I@@@@H@4@@GA@@@@H@@@@@@@@@A@@@@@ఠ$testf@lA@@@@@H@@@@H@}3@#@@@@@@ఠ/windows_outcomeg@mA@@m@@@@@@H@@@@H@~@@/@@@/@@@&@డ$List%split@ @@@@!a@ @!b@ @@R@@@Q@_@@@O@I@@@P@@N@@M@=*=*=*=Y@@@@0+@@@(@r@Y@@@@@@~|@@@@hg@@@@@@@}@@ఐa'entriesij#@@@Q@@@@@@@I@I@@@f@@@@@@I@@A@@@డ#Sys%win32/:/=@ />/C@@ (@@@@@G@3@@@@@@@@@ఐܠ$testISIW@@@@@డ1$List'flattenIYI]@ I^Ie@@@EI!a@@@@'@@@& @@@%@@$@PQ5@@OR@!@@@@@@@@@@@@@@Q@@ఐ /windows_outcomeIfIu@Y@@65@@@@@@H@H@j@@I@@k@@\@@@8@$@@r@@ఐJ$test@}@@KG@@@ఐX$test+,@@@CG@@@@@(G@@4/7 @@*@ @@+T@s @@,w@A@8 @@ภ>?@^+descriptionJK@ *Base ld.conf + quoted CAML_LD_LIBRARY_PATHQR@@TU@@@@@F@3QQQQQQQQ@@@|u@v@w@@@u4caml_ld_library_pathfg@ภ#Setno@ؠఐ4caml_ld_library_pathxy.@@@ܠ@@@@@@F@F@+@@@@@@@F@1@@@@,F@*@@@@0F@.@&stdlib0A0G@ఐ$main0J0N@@@٠@@@@@@F@Z@ơ'outcomePaPh@డ9!@@ڰ@@@ڠ@@@F@#F@F@@@@@ܠ@@@۠@@@@@@@@@ఐ@@@7F@4F@%@DE@@@ఐF%testsNO@@@@@@F@:F@8@@ @@\@@@@'@@@A@`@@@ఠ%testshkl@nA@@st@@@F@L@@@NF@;3pppppppp@@@@@@@ఠ'outcomei(/@oA@@@@@@@@@?G@<@డ#Sys%win32@ @@ 7@@@@@>G@=4@ఐ٠/main_outcome_cr@ @@+>@ภ  @!   @@  @@=G@GS@ఐ/main_outcome_cr  @ !@@;QG@B@@@FG@JG@Hh@@ @@XG@Ek@@@Zm@A@$@@ภ̰    @ˠ+description ) : ) E@>Base ld.conf with CRLF endings ) I ) g@@ ) H ) h@@e@@@YF@Z3@@@@@@#c@@@F@@)\@@@F@@/W@@@F@@5&stdlib) j {* j @డ$List#map8 j 9 j @ < j = j @@@@!a@m!b@k@@L@ Ƞ@@@K ͠@@@J@@I@@H@  @@ W@% @@@@@@@F@k@@@dF@F@F@i@@l@#@@@j"@@@h@@g@@fn@@డ#Fun$flip j  j @  j  j @@@@!a@@!b@!c@@@@@@ @@@@@@@@'fun.mliee@@+Stdlib__FunC@% @@@@@@@H@@ @@@H@ @@@H@@@@@@ @ @@@@@@@@డD!^ j  j @ 9@@@ @@@@ 9@@@ 8@@@@@@@@@!  j  j @@ j  j @@5I@@@ j  j @@@(@@@ R@@@@@@@ภ j  j @   j @@  j  j @@G@@ఐl$main j  j @ g@@H@@@@G@G@@@' j ( j @@ݠ@@@wG@$@@@@]@@@cG@v+@G'outcome<  =  @ఐ 0if_ld_conf_foundG  H  @g@@@Nk@@@F@ F@F@@@@ @@N@@ఐܠ'outcomec  d  @X@@@@@G@G@G@e@@* @@f@@ఐ$basey ) 0z ) 4@ݰ@@~@@@ F@F@ x@ ) /  @@{@ఐݠ%tests    @@@$@@@PF@#F@!@@ @@)@@@O@@@%@A@@@ఐ=%tests    @<@=@>@@3@3G@@@@@5@P@@@ @@ @  @@ @  @@@A@{   @@@ఠ%testsq!B!H!B!M@pA@@Ǡ@@@@@@E@&3@1C<@=@>@@@@ఠ%testsr!P!X!P!]@qA@@@@@F@<@@@>F@'@@ఠ@@=@@ఐ|`%"%Na%"%XA='ld.confh%"%Oi%"%V@@ k%"%W@@@ภA@A@Ԡ%I@\@@@aH@g'@@{%"%M@@ o@@@MG@hH@ZH@`3@@<&@@ 4@@T'@@q@@@:G@L;@@ఐ$base$M$T$M$X@@@@@@~F@{F@lM@$M$S%"%Y@@P@ఐҠ%tests%"%]%"%b@@@@@@F@F@c@@ @@@@@h@@@@A@#I#M@@@ఠ%testsv%f%n%f%s@uA@@Р@@@F@@@@F@3@-A:@;@<@@@ภ&&&&@+description%&%&@-Empty CAMLLIB%&%&"@@%&%&#@@V@@@F@%@4caml_ld_library_path&%&6&%&J@ภ#Set &%&M &%&P@ tภ&%&R&%&XA#env&%&S&%&V@@ &%&W@@}@@@F@F@F@P@ภxAu@A@@@@F@]@@5&%&Q#@@@@@F@e@@3*@@@@@F@k@V@@@F@@\'camllibO&Z&kP&Z&r@ภ%EmptyW&Z&uX&Z&z@@@@@@@F@@q&stdlibe&|&f&|&@ภJl&|&m&|&AI-masked-stdlibt&|&u&|&@@ w&|&@@@@@F@F@F@@ภҰA@A@@@@F@@@&|&#@@@@@F@@'outcome&&&&@ภ&&&&A#env&&&&@@ &&@@@@@F@F@F@@ภ A@A@ @@@F@@@&&#@@@@@F@@@ఐ$base%%%&@9@@@@@F@F@@%%&&@@ @ఐN%tests&&&&@@@P#@@@F@F@@@ @@(@@@#@A@%f%j@@@ఠ%testsw&&&&@vA@@@@@F@ @@@ F@ 3        @?SL@M@N@@@ภ(1(K(1(M@=+description)'z'*'z'@.Empty OCAMLLIB0'z'1'z'@@3'z'4'z'@@@@@F@%@O4caml_ld_library_path@''A''@ภ#SetH''I''@ ภ.P''Q''A-#envX''Y''@@ [''@@@@@$F@,F@/F@.P@ภA@A@͠@@@-F@5]@@s''#@@Ӡ@@@#F@+e@@3*@@@@@F@"k@(ocamllib''''@ภ%Empty''''@ @@@@@@;F@?@'camllib''''@ภ#Set''''@ภ'''( A.masked-camllib'''( @@ '( @@@@@LF@TF@WF@V@ภA@A@)@@@UF@]@@''#@@/@@@KF@S@@3*@@@@@DF@J@&stdlib((((@ภǰ((((/AƠ-masked-stdlib(( ((-@@ ((.@@"@@@fF@nF@qF@p@ภOAL@A@f@@@oF@w@@ ((#@@:@@@eF@m@$'outcome (1(8 (1(?@ภ (1(C !(1(IA#env ((1(D )(1(G@@  +(1(H@@H@@@F@F@F@ @ภA@A@@@@F@-@@ C(1(B#@@`@@@F@5@@@ K'z' L(1(J@@>8@ఐ%tests U(1(N V(1(S@@@@P@@@F@F@K@@ @@cU@@@P@A@ f&&@@ఐh%tests n(W([ o(W(`@g@h@i@@3 h h h h h h h h@^r@@@@@`@{@@@@@@ @@@A@ y!B!D @@@ఠ%testsx (( ((@ wA@@@@@@@@E@3        @@@@@@@ఠ%testsy (( ((@ xA@@@@@F@@@@F@@ภ )* )*@ҡ+description ))% ))0@1$OCAMLLIB/ld.conf ))4 ))E@@ ))3 ))F@@)@@@F@>@䡠4caml_ld_library_path )H)O )H)c@ภ#Set )H)f )H)i@Gภð )H)k )H)qA #env )H)l )H)o@@  )H)p@@P@@@F@F@F@i@ภKAH@A@ b@@@F@v@@!)H)j#@@h@@@F@~@@3*@@c@@@F@@)(ocamllib!)s)z!)s)@ภ#Set!#)s)!$)s)@ภ !+)s)!,)s)A)ocamllib!3)s)!4)s)@@ !6)s)@@@@@F@F@F@@ภ$!F)s)A"&hidden!M)s)!N)s)@@ !P)s)@@F@F@F@@ภ 1A@2A@ @@@F@@@9A@ Ơ/@@@F@@@!l)s)A@@̠5@@@F@@@QH@@@@@F@@'camllib!))!))@ภ#Set!))!))@ภm!))!))Al(camllib!))!))@@ !))@@@@@F@F@F@@ภ!))A&hidden!))!))@@ !))@@F@F@F@*@ภ  1A @2A@!#@@@F@7@@9A@!*/@@@F@>@@!))A@@05@@@F@F@@QH@@ @@@F@L@&stdlib!))!))@ภȰ!))!))AǠ&libdir!))!))@@ !))@@ #@@@"F@*F@-F@,n@ภPAM@A@!g@@@+F@3{@@" ))#@@ ;@@@!F@)@%'outcome"))"))@ภ"!)*"")*A#env"))*"*)*@@ ",)*@@ I@@@+m" +>+o@ǡ+description"*v*"*v*@0$CAMLLIB/ld.conf"*v*"*v*@@"*v*"*v*@@!@@@lF@m%@١4caml_ld_library_path"**"**@ภ#Set"**"**@<ภ"**"**A#env"**"**@@ "**@@ E@@@|F@F@F@P@ภ@A=@A@"W@@@F@]@@"**#@@ ]@@@{F@e@@3*@@!X@@@tF@zk@!Q@@@F@@$'camllib#**#**@ภ#Set#**# **@ภ#'**#(*+A(camllib#/**#0*+ @@ #2*+ @@ @@@F@F@F@@ภ #B*+ A&hidden#I*+#J*+@@ #L*+@@F@F@F@@ภ 1A@2A@"@@@F@@@9A@" /@@@F@@@#h**A@@ Ƞ5@@@F@@@QH@@!@@@F@@&stdlib#{++)#|++/@ภ`#++3#+++O# +>+V@ภ# +>+Z# +>+kA#env# +>+[# +>+^@@ # +>+_@@!@@@F@F@F@/@ภ# +>+aA'camllib# +>+b# +>+i@@ # +>+j@@F@F@F@F@ภ 6 1A 3@2A@#M@@@F@S@@9A@#T/@@@F@Z@@# +>+YA@@"5@@@F@b@@ఐ 2$base$ *v*}$ *v*@m@@!@@@ F@ F@t@$*v*|$ +>+l@@}w@ఐ%tests$ +>+p$ +>+u@@@#@@@cF@F@ @@ @@!,@@@b@A@$/*#*'@@@ఠ%tests{$: +y+$; +y+@$QzA@@!B!C@@@F@@@@F@3$?$?$?$?$?$?$?$?@@@@@@ภ/$Q,H,{$R,H,}@. q+description$] ++$^ ++@*EOF-at-EOF$d ++$e ++@@$g ++$h ++@@"@@@F@ %@ "@@@xF@v@ "@@@|F@z@ "@@@F@~@ &stdlib$ +, $ +,@డ##Sys%win32$ +,$ +,@ $ +,$ +,@@.@@ @@@,F@+\@ภ$ +,&$ +,3A(libdir $ +,'$ +,1@@ $ +,2@@"@@@*F@4F@7F@6v@ภ!A! @A@$'@@@5F@=@@$ +,%#@@"@@@)F@3@ภ$ +,:$ +,EA'libdir $ +,;$ +,C@@ $ +,D@@2F@FF@IF@H@ภ!= A!:@A@$T@@@GF@O@@$ +,9 @@/F@E@$ +,$ +,F@@2@!'outcome%,H,T%,H,[@ఐ!ՠ0if_ld_conf_found%,H,^%,H,n@!1@@@"#5@@@YF@qF@jF@]@@@\ @@[@@ภ %+,H,p%,,H,yA&libdir%3,H,q%4,H,w@@ %6,H,x@@@ภ!A!@A@$*H@d@@@iG@o@@%F,H,o@@#e/@@@XG@bG@h@@?$@@@@ఐ!$base%X ++%Y ++@ @@"]@@@F@F@s@%c ++%d,H,z@@"@ఐݠ%tests%m,H,~%n,H,@$@@$Ӡ4@@@F@F@/@@ @@"{9@@@4@A@%~ +y+}@@ఐL%tests%,,%,,@K@L@M@@3%%%%%%%%@BV@@@@@D@_@@@ @@@A@%(( @@ఐ%tests%,,"{@@@"}@@"3%%%%%%%%@ @@@"@@" @&"@@" @ "@@"!@!"@@"!@"?"@@""U@""A@"B@"@A@"@""@"@ఠ=compile_ld_conf_test_programs|%&11%&12@%{A@@@'Harness&Import&config@@@)B@@"@@@B@@"ؠ@'runtime$boolE@@@)@ @@@)@""@(@@@)@$@@@)@%\W&String!t@@@)@@@)@@)A@)A@)A@)@# @@@)#@@@)@@)@@)B@)@@@)B@)@$listK&stringQ@@@)@@@)B@)@@)B@@@B@@@B@3&&&&&&&&@#"#L#E@#F@#G@@@࣠@&config~A&6&12&7&12 @&M|A@@3&0&0&0&0&0&0&0&0@&>&11&?MM@@@@@  @@#envA&J&12&K&12@&a}A@@3&D&D&D&D&D&D&D&D@!@@@@@@@@@ఠ9write_ld_conf_test_driver&]'22&^'223@&t~A@@@&@@@E@$unitF@@@E@@@E@3&i&i&i&i&i&i&i&i@&2@)@*@@@࣠@AĠ"()&'224&'226@;&"@@@N@@@@A@@A&V@@&$@@@@%3&&&&&&&&@2&'22&>5b5e@@@@@@@డ%+Out_channel.with_open_text&(292=&(292H@ &(292I&(292W@@@&stringQ@@@F@@+Out_channel!t@@@E!a@@@D@@C@@B@/out_channel.mliH  H  @@@3Stdlib__Out_channelQ@&!@@@@@@@@@@@fG@@@@@@@3&&&&&&&&@I@@@@6test_install_script.ml&(292Y&(292o@@&(292X&(292p@@<@@@H@H@^@@࣠@"ocA&(292v&(292x@' A@@G@@@s@@@@డ%{-output_string')2|2' )2|2@@ +out_channel@@@@"G@@@@@@@@@@@q&&r&W@@p@@@@@@@@@@@@@@@@@@3'#'#'#'#'#'#'#'#@@}@@@@:@;@@@@ఐJ"oc'=)2|2'>)2|2@@@@@@@@  (* Known issue: Sys.getenv processes blank environment variables differently from _wgetenv. We therefore do not expect to observe the empty values for CAMLLIB or OCAMLLIB. *) let () = if Sys.win32 then assert (Sys.getenv_opt "CAMLLIB" <> Some "" && Sys.getenv_opt "OCAMLLIB" <> Some "") let () = let print s = (* Known issue: ocamlrun -config suppresses blank lines on Windows, but displays them as "." on other platforms. Do a similar transformation here, but suppress the lines entirely on Windows. *) if s <> "" then print_endline s else if not Sys.win32 then print_endline "." in Dll.init_compile false; List.iter print (Dll.search_path ()) 'K)2|2'L>5b5b@ 'P)2|2'Q>5b5d@@B@@@J@J@,@@R @@-@'[(292q@@@@@@@@H@H@@@@@@A@E@@A@@@ఠ4compile_test_program's@5k5q't@5k5@'@A@@@$mode@@@E@@&l@@@J@}@@@E@@v@@@E@@@@@!5E@@@@@@(U@@@@(T@$$t@(S@@@(R@&@@@(P@'',E@"{@@@(Q@@(OA@(NA@(MA@(L@$@@@(K$נ @@@(J@@(I@@(HE@(E@ S@@@(VE@(F@@(GE@@@E@@@E@@@E@@@E@3''''''''@o@@@@@࣠@$modeA'@5k5'@5k5@(AA@@x3''''''''@'@5k5m'LgLu@@@@@  @@%filesA(@5k5(@5k5@(BA@@3''''''''@!@@@@@@@@,test_programA(@5k5(@5k5@(+CA@@3((((((((@@@@@@@@@+descriptionA(%@5k5(&@5k5@(<DA@@3((((((((@@@@@@@@@@ఠ,test_program(8C6C6K(9C6C6W@(OEA@@U@@@ J@3(7(7(7(7(7(7(7(7@%@@@@@డ$,in_test_root+Environment(QD6Z6`(RD6Z6k@ (UD6Z6l(VD6Z6x@@@%g@@@L@#a@@@K{@@@J@@I@@H@$J  $J  D@@%rM@@@@%z@@@@@@@@@@@@@@8@@ఐ<#env(D6Z6y(D6Z6|@@@E@@డ(#exe'Harness(D6Z6~(D6Z6@ (D6Z6(D6Z6@@@ @@@@@@@@@;testsuite/tools/harness.mliNN7@@`@@@@@@@@@@@@t@@ఐ,test_program(D6Z6(D6Z6@@@-@@(D6Z6}(D6Z6@@i@@@ @L@@@| @@@A@(C6C6G @@@ఠ(compiler(E66(E66@(FA@@#@@@9J@3((((((((@@@@@@డ%})tool_path+Environment(E66(E66@ (E66(E66@@@& @@@?@'Harness&Import$mode@@@>@$@@@=@$@@@<9@@@;@@:@@9@@8@@7@%|  %|  @@&&J@-(@@@&.@@@'@%@@@&@@@@%@@@@$U@@@#@@"@@!@@ @@T@@ఐ#env)AE66)BE66@ΰ@@{a@@ఐb$mode)NE66)OE66@G@@n@@&ocamlc)YE66)ZE66@@)\E66)]E66@@T@@@;K@AK@@@@(ocamlopt)mE66)nE66@@)pE66)qE66@@b@@@:K@CK@B@@ @@@A@){E66 @@@ఠ$args)F66)F66@)GA@@&(@@@KJ@F@@@HJ@D3))))))))@@@@@@ภ#{)G66)J77A#z"-I)G66)G66@@ )G66@@@ภ#)G67A#.+compiler-libs)G67)G67@@ )G67@@+J@S'@ภ#)H77%A#డ)#lib'Harness)H77 @ )H77!)H77$@@@$mode@@@@@@@@@@@@@@@BZMMCZMo@@,c@,@@@@@@`@@@@_@@@^@@]@@\f@@ఐ$mode*H77%*H77)@@@s@@+ocamlcommon*H77+*H776@@*H77**H777@@8@@@kK@oK@n@@[ @@K@j@ภ$*%H779A$డ*6#lib'Harness*4H77@@ *7H77A*8H77D@@c@@@c@@@|@a@@@{`@@@z@@y@@x@@ఐf$mode*RH77E*SH77I@K@@@@-ocamlbytecomp*]H77K*^H77X@@*`H77J*aH77Y@@@@@K@K@@@E @@K@@ภ$P*rI7[7aA$N"-o*yI7[7b*zI7[7d@@ *|I7[7e@@J@@ภ$c*I7[7gA$aఐV,test_program *I7[7s@ @@J@@ภ$v*I7[7uA$t6test_install_script.ml*I7[7v*I7[7@@ *I7[7@@J@@ภ&*J77A&@A@*#K@@@@J@ @@A@*,K@@@@J@)@@:!A@* 5K@@@@J@2@@V*A@*)>K@q@@@vJ@;@@3A@*2GK@U@@@ZJ@uD@@@@@I@@H@@G(%sequandBA @@@@~@@}]@@@@@@@@@@@V@@@@@@@6@@డ)!=+FN828=+GN828>@@!a@@p@@@'@@&@@%&%equalBA3@@@@yy@@Q@@@@E@E@K@@@@@@@@@g@@ఐ$mode+uN8288+vN828<@n@@t@@ภ(Bytecode+N828?+N828G@;(Bytecode$mode@@@@@@@B@@All@@@S@@@@/L@@@@@@@@@L@@@డ+9ocamlc_fails_after_rename'Harness+N828K+N828R@ +N828S+N828l@@@&config@@@$boolE@@@@@@iiE@@f@@@@@@@@@@@@@@ఐ&config+N828m+N828s@@@ @@0@@@@@@L@@@m @@@A@+M8 8$ @@@ఠ&stdlib+Q88+Q88@,IA@@+@@@J@3++++++++@@@@@@ภ$true,Q88,Q88@;+@@@M@@@AB@@A+@@+@@@@@@@A@, Q88 @@@@@,R89,R89@@#intA@@@:J@3,,,,,,,,@+:3@4@5@@@@ఠ&output,-R89,.R89 @,DJA@@$listK':@@@<@@@;J@@@,?R89,@R89 @@@+@@@%@డ(+run_process+Environment,TS99,US99 @ ,XS99!,YS99,@@'runtime&optionL(@@@|@@@{%stubs(@@@z@@@y&stdlib(@@@x@@@w4prefix_path_with_cwd')@@@v@@@u%quiet3)@@@t@@@s%fails?)@@@r@@@q@)@@@p@'@@@o%argv0V'@@@n@@@m@'@@@l@@@k@@@@h@@@@j@@@i@@g@@f@@e@@d@@c@@b@@a@@`@@_@@^@@]@)N`)Oc@@)R@@@}@@@@@@|z@@@@@@yw@@@@@@vt@@@@@@sq@@@@@@pn@@@@@@@*"@@@@m@@@lj@@@@@@@ih@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ภ$Some-"ఐU'runtime-PS99.-QS995@X@@@@@NK@PK@O8@@@, @@@Q=@ภ$None-4'@-4@@@@S@@@RL@ภ.-B"ఐ&stdlib-}S997-~S99=@[@@@@@JK@UK@Te@@@- @@@Vi@ภ,-_'G@-_@2 @@@X@@@Ww@ ภ:-m'U@-m@@ @@@Z@@@Y@ ภH-{'c@-{@N@@@\@@@[@@ఐx#env-S99>-S99A@L@@@@ఐ(compiler-S99B-S99J@7@@%@@@AK@_K@^@$ภw-'@-@}'@@@a@@@`@@ఐh$args-S99K-S99O@@@54@@@>@@@=K@dK@b@@@@@頠@@@fK@9@A@.R88@@ డ*.display_output+Environment.T9S9W.T9S9b@ .T9S9c.T9S9q@@@)%@@@@@@$unitF@@@@@@*  * ! @@+:T@@@@@@@l@@@k@@@j@@i3.6.6.6.6.6.6.6.6@@@@@@@ఐ &output.MT9S9r.NT9S9x@ @@43@@@u@@@tK@xK@v@@F@@.@@@zJ@s"@@ఠ%files.lU9z9.mU9z9@.KA@@+t@@@J@{3.l.l.l.l.l.l.l.l@6@@@ภ(Z.|U9z9.}U9z9@(YఐN,test_program.U9z9.U9z9@@@E@E@E@@ఐ%files.U9z9.U9z9@~@@#@@@@+@@@(@A@.U9z9~ @@@ఠ%files.V99.V99@.LA@@&@@@J@3........@uNG@H@I@@@డ-5|~.Y::%.Y::&@{@@@eJ@@y@@@@@@@@@ఐ렐$mode.Y:: .Y::$@а@@_&@@ภ&Native.Y::'.Y::-@;&Nativeb@@@AB@@AAn Bn @@@ +T@@  @@K@;@@ @@+F@@@K@A@డ/)files_for'Harness/Z:3:;/Z:3:B@ /Z:3:C/Z:3:L@@.source_and_cmi&optionL[@@@@@@@@@@@@@@@  @@@@@@  @@@@@@@@@@@@@@@^_)@@ yd@94@@1/,@@@@@@@@@@@+@@@@*)@@@@@@ < 9@@@@@@@@@@@@@@@Tภ/2$ݠภ%false/lZ:3:]/mZ:3:b@;/k@@@@B@@A/=@@/@@@_@@@K@@@@@@@@@ఐ$mode/Z:3:c/Z:3:g@}@@ @@3test_install_script/Z:3:i/Z:3:|@@/Z:3:h/Z:3:}@@x@@@K@K@@@ఐ9%files/Z:3:~/Z:3:@@@"@@@K@K@@@ @@@ఐM%files/\::/\::@@@J@ @/Y::@@ @A@/V99@@@ఠ'runtime/a;;/a;;@/MA@@ @@@J@3////////@"1*@+@,@@@డ.TѠӰ/c;;/c;;@а@@@@@@@@@@ @@@@@@@@@డ.o/b;;/b;;@@@@K@@@@@@@@@2@@ఐ%$mode0b;;0b;;@ @@?@@ภ(Bytecode0b;;0b;;@@@@L@M@@@@@@@@L@U@@డ.#not06c;;07c;;@@ Z@@@F ^@@@E@@D(%boolnotAA!@@@#LL#Lt@@#\@@@@@@@@@@@@@@ఐ -&config0`c;;0ac;;@ @@ @ %target_launcher_searches_for_ocamlrun0gc;;0hc;;@3 %target_launcher_searches_for_ocamlrun @@@@@@@@E#3,has_ocamlnat @@@@@@@As f js f }@@ V@3,has_ocamlopt@@@@@A@Au  u  @@ W@33has_relative_libdir{ l@@@@@@@@B @Aw  !w  D@@ X@32has_runtime_search-@@@@@@@@C/@Ay p ty p @@ Y@3>launcher_searches_for_ocamlrun<@@@@@D9@A{  {  @@ Z@F3Z>j2Kr>Z>l@@ n@@@P@ t@@@O x@@@N@@M@@L'%sequorBA;@@@@%%@@%^@@@@@@@8@@@@7@@@6@@5@@46@@డ0pr2q>">52q>">7@o@@@o@@@J@n@@@I @@@H@@G@@FQ@@డ1UW2p=>2p=>@T@@@0@@@eO@[@U@@@Z@@Y@@Xk@@ఐ^$test2p=> 2p=>@@@@z@'camllib2p=>2p=>@.а @@@@ภ%Empty2p=>2p=>!@F@@@,P@i@@@@@@@V@jP@c@@డ1T#not2q>">82q>">;@@@@@@@n@@@m@@l@@డ/*is_renamed+Environment2q>">=2q>">H@ 3q>">I3q>">S@@/@@@0@@@y/@@@x@@w@@ఐ Ϡ#env3q>">T3q>">W@ @@ P@@3q>"><3q>">X@@@@@u@Q@@@C @@ @@@U@P@t@@3,p=> 3-q>">Y@@@@@D@O@T@@డ13@r>Z>{3Ar>Z>|@@@@1@@@N@@@@@@@@@@@ఐ$test3[r>Z>m3\r>Z>q@@@1 @(ocamllib3br>Z>r3cr>Z>z@/w @@'@@ภ%Empty3nr>Z>}3or>Z>@@@@,O@5@@@@#@@@C@O@=@@3|p=> 3}r>Z>@@/@@@N@BE@@ఠ&unmask3s>>3s>>@3TA@@@&stringQ@@@N@`@@@N@@@N@@࣠@!sA3s>>3s>>@3UA@@333333333@)3s>>3s>>@@@@@  @@డ25#not3s>>3s>>@@@@@@@@@@@@333333333@);@ @!@@@@డ2P&String+starts_with3s>>3s>>@ 3s>>3s>>@@&prefixU@@@q@[@@@p$boolE@@@o@@n@@m@*string.mli%@@.Stdlib__StringM@"@@@@@@r@@@@@@@@@@B@''masked-4s>>4s>>@@4s>>4s>>@@4@@@Q@Q@V@@ఐ!s4-s>>4.s>>@`@@c@@41s>>|@@@@@@Q@l@@x@@m@A@N@@A@@@ఠ&lines'4Gt>>4Ht>>@4^VA@@&Ǡ J@ J@ NJ@ J@ N@@@@N@34R4R4R4R4R4R4R4R@@@@@@డ2$List&filter4lt>>4mt>>@ 4pt>>4qt>>@@@@!a@ $boolE@@@@@@&@@@<@@@@@@@@'^-)-)'^-)-X@@&o@&!@@@@E@@@@@@M@@@RQ@@@@@@@G@@ఐ &unmask4t>>4t>?@Q@@@@@@v@@@@@\@@ఐB%lines4t>?4t>? @@@i@@Z@@yj@A@4t>>@@డ3F  4y@?@V4y@?@W@ @@@J@ J@ J@ J@ J@M@@  @@@@@@@344444444@@@@@@@ఐt%lines4y@?@P4y@?@U@@@@@ఐ&lines'5y@?@X5y@?@^@@@-J@@@@@1]@@@N@%@ภ.5z@d@~5z@d@@.(poisoned5z@d@u5z@d@}@@5z@d@t @@6@ఐ%lines5%z@d@@K@@@@@ @@IA@ఐ預&lines'50|@@51|@@@I@@XM@M@ P@58y@?@M@@ZR@s @@[@ @@\@ఐà%lines5C~@@5D~@@@j@@&#@5Gp=>@@i%@ఐР%lines5P@@5Q@@@w@@30@5To==@@v2@A@5Vi6CC6CC@@!a@@0@@@*@@)@@()%notequalBA @@@@)p~QQ)q~Q@@)oR@@@@DP@ 9@@@@ 8@@ 7@@ 6@@ఐ0%lines62CC63CC@̰@@/@@ภ26=CC6>CC@2@@@cJ@ E@@@@ ,@@@ 1@ FQ@ A@@i @@2@@@ GP@ 0@ภ036UCC6VCC@02! 6]CC6^CC@@6`CC6aCC@@ @డ4$List#map6pCC6qCC@ 6tCC6uCC@@8@@@@)O@ U+O@ O@ S@@ V@6 @@@ T5 @@@ R@@ Q@@ P&@@డ5 #Fun$flip6CC6CC@ 6CC6CC@@@@@@1@@@ Q@ i@*@@@ Q@ j*@@@ Q@ h@@ l@@ k@ @ @@ g@@ f@@ eW@@డ5:!^6CC6CC@*/@@@1@@@ @*/@@@ *.@@@ @@ @@ q@@! 6CC6CC@@6CC6CC@@5R@ @@6CC6CC@@@2@@@ *H@@@ @@ @@డ5q$List"tl7CC7CC@ 7CC7CD@@@)!a@@@@) @@@@@@)Q V V)Q V q@@)J@@@@J@ @@@ @@@ @@ @@ఐ1%lines73CD74CD@Ͱ@@0@@77CC78CD@@@@@ aP@ Q@ @@ @@6M@ I@@@ MO@ P@ `@@@@@@7SDD7TDD@@55@@@ @@@ @ @55@@@ @@@ @@@ఐh%lines7jDD'7kDD,@@@@@@A7nClCv@@  @A@7pAA @@@ఠ%lines7{D8DD7|D8DI@7XA@@kM@ 37v7v7v7v7v7v7v7v@%@@ @@@డ6DF7EPE]7EPE_@C@@@C@@@ @B@@@ A@@@ @@ @@ @@డ6 c e7E EG7E EH@ b@@@6@@@ N@ @ c@@@ @@ @@ 7@@ఐl$test7E E-7E E1@N@@F@4caml_ld_library_path7E E27E EF@3 @@M@@ภ#Set7E EI7E EL@&@ภ4)7E EM7E EO@4(@@@5@5?@@@ @@@ O@ j@@ @@>O@ m@@+@@@@@ @ O@ u@@డ6t  8EPEz8EPE{@ @@@6X@@@ N@ @ @@@ @@ @@ @@ఐĠ$test8EPE`8EPEd@@@@4caml_ld_library_path8"EPEe8#EPEy@48 @@@@ภ%Empty8.EPE|8/EPE@@@@,O@ @@@@@@@ @ O@ @@y @@4@@@ N@ @ภ2$8FEE8GEE@2#!.8NEE8OEE@@8QEE8REE@@@ఐ%lines8[EE8\EE@۰@@@@@@M@ఐ%lines8gEE8hEE@@@@8kE E*@@Z@A@8mD8D@@@@ఠ%lines8xFIFU8yFIFZ@8YA@@^M@ 38s8s8s8s8s8s8s8s@@@@@@డ6#not8F]Fj8F]Fm@U@@@U@@@ T@@@ @@ @@డ7#Sys%win328F]Fn8F]Fq@ 8F]Fr8F]Fw@@,:@@u@@@ N@ N@ 6@@) @@5 @@@ N@ <@ఐE%lines8F}F8F}F@C@@DF@డ7A$List*drop_while8FF8FF@ 8FF8FF@@@@!a@ pe@@@@@@+a@@@+f@@@@@@@@+d11+e12%@@+cu@% @@@@[M@!@@@!@@!@ @@@!@@@!@@!@@!@@డ7&String%equal9FF9FF@ 9FF9FF@@@#@@@g@(@@@f6@@@e@@d@@c@4rr5r@@3K@@@@6@@@!@;@@@!@@@!@@!@@!@@!.9IFF9JFF@@9LFF9MFF@@P@@@!+P@!*@@9TFF9UFF@@@X@@@!20@@@!1@@!0@@ఐ%lines9hFF9iFF@@@@@@@XJ@!@9oF]Fg@@@A@9qFIFQ @@@ఠ%lines9|FF9}FF@9ZA@@`M@!939w9w9w9w9w9w9w9w@@ @ @@@@ఠ.includes_nulls9HH9HH@9[A@@;@@@!N@!:@@ఠ.includes_nulls9H!H19H!H?@9\A@@@5@@@!?O@!< @@@!IO@!=@@!>O@!;2@@Ġ%Unset9HKHY9HKH^@5@@@@399999999@C'9H!H-9HpH@@@@Ġ%Empty9HKHa9HKHf@M@@@@)@@@@*@@@ภ m9HKHj9HKHo@ l@@@-@Ġ#Set9HpH~9HpH@(Mఠ!l 9HpH9HpH@:]A@@7M7L@@@!E@@@!D399999999@4@@@@@ @@P@@@డ8v$List&exists:HpH:HpH@ : HpH: HpH@@@@!a@ @@@@@@,@@@@@@@@@@@,$$,$$@@,e@$@@@@@@@!Q@!P@@@!R@@!Q@@@@!O@@@!N@@!M@@!L3:6:6:6:6:6:6:6:6@~ZS@T@U@@@@డ8#Fun$flip:SHpH:THpH@ :WHpH:XHpH@@!ʰ@@@@1@@@!S@!g@$charB@@@!S@!h{@@@!S@!f@@!j@@!i@@ @@!e@@!d@@!c8@@డ8&String(contains:HpH:HpH@ :HpH:HpH@@@`@@@@-@@@(@@@@@@@@000U@@Q@@@@r@@@!@?@@@!:@@@!@@!@@!~m@@@:HpH:HpH@@PT@!x@@:HpH:HpH@@@@@@!P@@@!@@!@@ఐ᠐!l:HpH@@@@@@!^R@!R@!@@@@*@@A/I :H!HB@@@@@7O@!@A@@డ9Z:HH:HH@@@@@@@!@@@@!@@@!@@!@@!3::::::::@v[T@U@V@@@@ఐd.includes_nulls;HH;HH@@@@6@@@!@@@!@@!@@ఐ Š$test;HH;HH@ @@ )@(ocamllib;#HH;$HH@78 @@7@@@!P@!P@!7@@) @@@@@!@!P@!?@@ఐ.includes_nulls;AHH;BHI@K@@@7/@@@!U@@@!@@!V@@ఐ $test;XHI;YHI@ @@ .e@'camllib;_HI;`HI @7s @@7O@@@!P@!P@!s@@) @@ @@@!@!P@!{@@m@@|@@@@A@;tHH @@ఐ.includes_nulls;~II(;II6@@@@@7@@@!M@!3;};};};};};};};}@ @@@@ఠ*strip_null ;I<IL;I<IV@;^A@@@@@@" N@!N@!@@!N@!3;;;;;;;;@@@@࣠@!s A;I<IW;I<IX@;_A@@3;;;;;;;;@-%;I<IH;IJ@@@@@  @@డ::&String%index;I[Io;I[Iu@ ;I[Iv;I[I{@@@=@@@@r@@@#intA@@@@@@@@J--J--@@f@@@@@@@!@@@@!@@@!@@!@@!3;;;;;;;;@DP^@G@H@@@@ఐW!s<I[I|<I[I}@ @@k@@@< I[I~<I[I@@9@@@!Q@!Q@! @@M @@9@@@!$@ఠ%index<$II<%II@<;`A@@J@@@!5@@M@@@!8@@@డ:&String#sub<;II<<II@ =@JJJ_=AJJJa@:@@@ -M@":@8@@@"9@@"8@@"73=B=B=B=B=B=B=B=B@ark@l@m@@@@ఐ᠐%lines=YJJJY=ZJJJ^@ذ@@@@ఐ&lines'=fJJJb=gJJJh@@@ QJ@"C@@@@9@@@"DN@"B%@డ;$List&filter=~JnJ|=JnJ@ =JnJ=JnJ@@ @@@@M@"I @@@"L@@"K@  @@@"J H@@@"H@@"G@@"FM@@డ<"<>=JnJ=JnJ@@@@<@@@"iO@"`@@@@"_@@"^@@"]h@@&hidden=JnJ=JnJ@@=JnJ=JnJ@@u@@=JnJ=JnJ@@@<@@@"l@@@"k@@"j@@ఐ&lines'=JnJ=JnJ@@@ YV@@@"XN@"qN@"p@@d @@ @ภ7ư=K~K=K~K@7Š(poisoned=K~K=K~K@@=K~K=K~K@@VJ@"x@ఐ%lines=K~K>K~K@~@@@@@@ M@"v@>JJJV@@ @@@ @R @@ f@ఐ%lines>KK>KK@@@q@>II%@@ s@@@ @A@>FF@@ภ7>KK>KK@7ఐ+description>(KK>)KK@@@3>!>!>!>!>!>!>!>!@@@@@@ఐ%lines>6KK>7KK@ @@@@@@ @#@@ @@@ @@@ @@@ @@@  @డ>O,fail_because'Harness>MKK>NKL@ >QKL>RKL@@@&Stdlib'format4!a@$unitF@@@J@@@!b@@@@@@@eVVeV@@e@-(@@@%@&stringQ@@@( [J@"}L@"L@'@@(L@"+@@@"(@@@" @@@"@@" u@@ภ8CamlinternalFormatBasics>o&Format>q>KL>KL5A;&Format8CamlinternalFormatBasics'format6!a@"!b@"!c@"!d@"!e@"!f@"@@@'@'#fmt$ @@@'Y@@@'@B@@A@A&String>K;&String!!x@#!b@#!c@#!d@#!e@#!f@#@@@&!a@#@o'padding)@@@@&@@&@@@&U0,($ @@@&@BBAYAANOZ|@@@b@ภ?*No_padding? ;*No_padding&!a@&'@@@&@@@@@ABAAgehe@@@j@@@6N@'@@@(M@( 1@ภ?(.String_literal?*;.String_literal!a@#!b@#!c@#!d@#!e@#!f@#@@@'"@@@@'#'#@@@'$@BKAYAA$}$}$%@@@k@ is expected to exit with code 0@@@@@( M@(#M@(" }@ภ?t-End_of_format?v;-End_of_format۠!f@$!b@$!c@$!e@$@@@'`@@@@AYAA.../!@@@y@@%@EN@(r@@@"M@'M@(M@(u@@@"M@'M@(M@(  ]N@(@@@(!M@(- @@E@ejN@'@@@(M@( @@R@(|N@'Ӡ) !"xN@'@@@'M@( @ "%s is expected to exit with code 0e@e@1@@@'M@(1M@(0 @@lk@@A8@@@"M@' @@ఐ점,test_program@$L6LS@@@@M@(@@@@@L@"@@+h<[`o@@@(@@^@@@(@@ʠn@@@(@@@(@@(A@(A@(A@(@>u@@@(>|@@@(@@(@@(G@(3AtAtAtAtAtAtAtAt@k@@@@ఠ%files+ALLALL@AdA@@ro@@@(@@@(G@(@@K @@@K@@@(@ఐ14compile_test_programALMALM@,@@@,@@@(@A @@@(@@@(@ @@@(@@@@(@@@@@(@@@@(@>Ӡ@@@(@@@@@(Ġ@A=%@@@(@@(ÐA@(A@(A@(@>@@@(>1@@@(@@(@@(@ՠB@@@(@@(@@(@@(@@(@@(v@@ภ(BytecodeALMALM @|@@@@@@)H@)@@ఐ%filesBLM!BLM&@@@Au@@@)H@) H@)@@1test_ld_conf.byteB"LM(B#LM9@@B%LM'B&LM:@@@@@)H@) H@) @@+ocamlc.byteB6LM<B7LMG@@B9LM;B:LMH@@=@@@)H@)@@@@@@@@)H@(@A@BJLL@@ఐ#&configBVMNMSBWMNMY@@@3BOBOBOBOBOBOBOBO@H@@@@@@@,has_ocamloptBbMNMZBcMNMf@@@>@@@)F@)@@@ఠ#opt,BxMlMtByMlMw@BeA@@@@@@)h@@@@)g@?B@)2@@@)f@A@@@)d@A@@@)^@@@)e@@)cA@)bA@)aA@)`@?@@@)_?@@@)]@@)\@@)[G@)3BBBBBBBB@U@@@@ఠ%files-BMlMyBMlM~@BfA@@@@@)j@@@)iG@)@@M @@@M@@@)@ఐa4compile_test_programBMMBMM@\@@@\@@@)9@B=@@@)6@@@)8@P@@@)7@@@@))@@@@@)4@@@@)3@@u@@@)1@B@@@)/@Bm%@@@)0@@).A@)-A@),A@)+@@@@@)*@1@@@)(@@)'@@)&@B@@@)5@@)%@@)$@@)#@@)"@@)!v@@ภ&NativeC-MMC.MM@J@@@@@@)mH@)q@@ఐ%filesC?MMC@MM@@@B@@@)lH@)tH@)r@@0test_ld_conf.optCRMMCSMM@@CUMMCVMM@@@@@)kH@)wH@)v@@*ocamlc.optCfMMCgMM@@CiMMCjMM@@m@@@){H@)z@@@@@@@@)H@)Z@A@CzMlMp@@@ภ=bCMMCMMA=aఐD$byte CMM@3 @@3CCCCCCCC@9@@@@@@@ภ=yCMMA=wఐ,#opt CMM@ @@@@@@)@@@@)@@(@@@)@B@@@)@C @@@)@@@)@@)A@)A@)A@)@@@@@)@Ҡ@@@)@@)@@)D@ภ@%6UA@"@7VA@C<G@)@@@)F@)S@@I_A@CE@@@)F@)Z@@CMMg@@@@@@)`@@ఐB%filesCMMCMM@g@@l@@@@@@@@)s@ @@V@@ภ=DMMDMMA=ఐΠ$byte DMM@ @@@?=@@@)@:@@@)@A*9@@@)@C(@@@)@C8@@@)@@@)@@)A@)A@)A@)@A?@@@)AF@@@)@@)@@)@ภ@6?A@@7@A@C{B@)@@@)F@* @@DXMMJ@@oF@)@@ఐݠ%filesDdMM&@'@@MB@* @@*@@nF@* @DlMNMP.@@p@$/@@@@@ADoLL1@@@u2@@@{3@@@4@@@>5A@B@*<@A@9@98@O@ఠ0remove_if_exists.DNNDNN@DgA@@@&stringQ@@@*0B@*6@@@*2B@*@@*B@*3DDDDDDDD@p@@@@@࣠@$file0ADNNDNN@DhA@@3DDDDDDDD@,DNNDN<NO@@@@@  @@డC0#Sys+file_existsDNN"DNN%@ DNN&DNN1@@@>@@@ 8\@@@ @@ 4caml_sys_file_existsAA @@@8_mjj8`mj@@8^C@@@@@@@*@@@*@@*3DDDDDDDD@<H]@?@@@@@@ఐO$fileDNN2DNN6@ @@j@@5@@AK@@@*%D@*"@డCw#Sys&removeEN<N@EN<NC@ E N<NDE N<NJ@@@@@@ $unitF@@@ @@ /caml_sys_removeAAH@@@8~  8~  @@8F@@@@@@@*)@@@*(@@*'G@@ఐ$fileE5N<NK@P@@S@@1@@D@*/V@@E;NN@@X@A@B@*4@A@@@@ఠ/ocamlrun_config1EKOOELOO$@EbiA@@@Ba@@@*PB@*6@'runtimep@@@*cB@*Y@@n@@@*eB@*\@ByDz@@@*lB@*g@@@*iB@*_@#intA@@@,B@*S@7C R@@@, B@,P@@@,XB@*T@@*rB@*`A@*aB@*]A@*^B@*ZA@*[B@*;@@@*CB@*@BD@@@,dB@,_@@@,bB@*A@@*BB@*<@@*=B@*7@@*8B@*53EEEEEEEE@5.@/@0@@@࣠@#env3AEOO%EOO(@EjA@@p3EEEEEEEE@}EOOEQVQ@@@@@  @@+run_process4AEOO)EOO4@EkA@@{3EEEEEEEE@!@@@@@@@@%_test5AEOO5EOO:@ElA@@F3EEEEEEEE@@@@@@@@@@ఠ(ocamlrun6EO=OCEO=OK@FmA@@@@@*OF@*E3EEEEEEEE@%a@@@@@డB(ocamlrun+EnvironmentFO=ONFO=OY@ FO=OZFO=Ob@@@C&@@@B@@@A@@@@BA  BA  @@C+K@@@@C3@@@*I@@@*H@@*G-@@ఐ{#envF7O=OcF8O=Of@`@@:@@+@@>;@A@F<O=O?@@@@ఠ$code7FKOjOpFLOjOt@FbnA@@3FEFEFEFEFEFEFEFE@P^W@X@Y@@@@ఠ%lines8FZOjOvF[OjO{@FqoA@@@@@@@ݠ@@@*W@ఐ+run_processFnO~OFoO~O@@@"@ภFyO~OFzO~O@ @@@@@@*d0@@ఐ(ocamlrunFO~OFO~O@:@@=@@ภ@rFO~OFO~OA@q'-configFO~OFO~O@@ FO~O@@$Q@ภBAB@A@F2@@@*kG@*q^@@FO~O@@C8@@@*jd@@F@@4e@A@FOjOl!@@డE4{}FOOFOO@z@@@AB@*B@*w@y@@@*v@@*u@@*t3FFFFFFFF@K@@{B@u@v@@@@ఐ$codeFOOFOO@@@Y@@@FOOFOO@@!@@ @@C?@@@*F@*!@@ఠ%strip9FOOFOO@GpA@@@ @@@+F@* j@@@+F@*@@*F@*3GGGGGGGG@=@@@࣠@!s;AGOOGOO@G-qA@@3GGGGGGGG@N'GOOGPP@@@@@  @@@ఠ#len<G,OOG-OO@GCrA@@ T@@@*H@*3G,G,G,G,G,G,G,G,@)9@ @!@@@డE&String&lengthGFOOGGOO@ GJOOGKOO@@@@@@A"@@@@@@?.%string_lengthAA @@@aa((ba(Z@@`D@@@@@@@*4@@@*@@*3@@ఐ`!sGsOOGtOO@=@@v@@@1@@EA@A@GxOO@@డE:<GOPGOP@9@@@9@@@*@8@@@*7@@@*@@*@@*3GGGGGGGG@^mf@g@h@@@@డF!<GOP GOP @@!a@@!@@@-@@,@@+)%lessthanBA@@@@; ;  @@; S@@@@@@@*H@*@@@@*@@*@@*4@@ఐ#lenGOPGOP @>@@A@@BGOP GOP @@ I@*L@@@@@@@*@*I@*T@@డFfGOPGOP @@@@@@@*@@@@*@@@*@@*@@*o@@డF"<>HOPHOP@@@@ @@@*I@*@ @@@*@@*@@*@@డF&String#getGGH/OPH0OPA@@@@F@ \@@@E)@@@D@@C@@B0%string_safe_getBA@@@@KdLd@@JE@A@@@@@*@@@@*@@@@*@@*@@*@@ఐO!s3HbOP@+5@@d@@@HkOPHlOP@@7@@@*K@*K@*@@FE@@`@@`H|OPH}OP@@kJ@*@@R@@6@@@*@*J@*@@డG"<>HOP'HOP)@@@@@@@+ I@*@@@@*@@*@@*@@డG#H}H~HOP!HOP&AA@@@@@*@@@@*@@@*@@*@@*/@@ఐ!sHOP"@@@;@@AHOP$HOP%@@@@@+ K@+K@+ K@@-,@@DL@@`HOP*HOP-@@OJ@+W@@9@@@@@*@+J@*_@@ @@@@@*@+I@*g@@*@@EQ@@@+H@*m@డI,fail_because'HarnessI P3P;IP3PB@ IP3PCIP3PO@@ @@@ @ F@+F@+} G@+G@+h@@+|G@+ @@@+ @@@+ @@@+@@+@@ภ I II:P3PPI;P3P}A ภ I I  )Unexpected output from ocamlrun -config: @@ @@@+dH@+gH@+f@ภ I$+Caml_stringI& ;+Caml_string !x@#!b@#!c@#!d@#!e@#!f@#@@@&!a@#@ j'@ @@@&@@&@@@& /+'#@@@&@BCAYAA }} $@@@ c@ภ Ip iIqk h@k@ I@+j@@@+{H@+@ภ I I{ @{@  \@@@+!H@+PH@+bH@+y _@@@+"H@+QH@+cH@+z  I@+o@@@+~H@+@@@@ I@+UI@+Z@@@+eH@+xN@@@ I@+5*!"#I@+:@@@+RH@+a\@ +Unexpected output from ocamlrun -config: %S@@ @@@+SH@+H@+h@@@@ B9@@@+ H@+Or@@ఐ!sJP3P~JP3P@ٰ@@@@@@G@+$@డH&String#subJ"PPJ#PP@ J&PPJ'PP@@ @@@ @@@+@ @@@+@ @@@+@@@+@@+@@+@@+@@ఐ3!sJFPPJGPP@@@I@@BJPPPJQPP@@ @@@+H@+H@+@@డH!-JePPJfPP@@#intA@@@@@@@ @@@@@@@'%subintBAX@@@@=5,~,~=5,~,@@=o@@@@@@@+@@@@+@@@+@@+@@+@@ఐo#lenJPPJPP@@@8@@@+I@+I@+@@BJPPJPP@@@@@@+I@+I@+"@@JPP@@j@@@+@+I@++@@@@,@JOP@@.@J@@@A@F@+@A@@@ఠ%lines=JPPJPP@JsA@@=O<@@@, @@@, F@+3JJJJJJJJ@@@@@@డI_$List'rev_mapJQ QJQ Q@ JQ QJQ Q!@@@@!a@]!b@[@@X@=@@@W5@@@V@@U@@T@=,,=,Z@@=Y@$@@@@@@@,H@+@@@,H@+@@+@@@@+R@@@+@@+@@+N@@ఐ=%stripK5Q Q"K6Q Q'@X@@@@@@+@@@+@@+c@@R @@@>/@@@+r.@@@+@@+n@@డI$List*take_whileK]PPK^PP@ KaPPKbPP@@@@!a@ w@@@@@ @=@@@ =@@@ @@ @@ @=1818=181k@@=t@% @@@@J@@@,CI@,@@@, @@,@ @@@,@@@,@@,@@,@@డJ"<>KPPKPP@@@@J@@@,=K@,4@@@@,3@@,2@@,1@@1shared_libs_path:KPPKPQ @@KPPKPQ @@@@KPPKPQ @@@J@@@,@@@@,?@@,>@@o @@@[K@@@,,ZO@@@,+@@,*@@డJV$List#revKPPKPP@ KPPKPP@@=@@@=^@@@,Q=b@@@,O@@,N@@ఐ%linesLPPLPP@3@@u(@@ @@zB@,]B@,K@@@,LH@,ZI@,W4@@,P@@@@@, G@,\H@,J=@@5@@F>@A@LPP@@ภFL"Q/QFL#Q/QH@E0ocamlrun -configL*Q/Q4L+Q/QD@@L-Q/Q3L.Q/QE@@3L%L%L%L%L%L%L%L%@Sf_@`@a@@@ఐk%linesL:Q/QIL;Q/QN@ @@K@@@,cE@,gE@,e@@ @@@+ @@j@* @@>@డLX,fail_because'HarnessLVQVQZLWQVQa@ LZQVQbL[QVQn@@ @@@ @B@,aE@,nE@,@@,E@,j @@@,l@@@,m @@@,k@@,il@@ภ LL LMLQVQoLQVQA ܠภ LW /LX  .5Unexpected exit code @@ @@@,F@,F@,@ภ Lk#IntLm ;#Int Ҡ!x@#!b@#!c@#!d@#!e@#!f@#@@@&!y@#!a@#@%(int_conv@@@& 2@@@&1)precision@Z@@@&@@&@@@&!A=951@@@&@DDAYAA%%@@@Gd@ภ[Lɠ%Int_dL~;%Int_d2@@@&8@@@@P@@A#U$U@@@ZE@@@<@@@,F@,@ภsL L @@ G@,E@,F@,@@@,F@,@ภL,No_precisionL;,No_precisionQ!a@&@@@&N@@@@BAAATlLNUlLq@@@o@@@a"@@@,F@,6@ภM M 6 from ocamlrun -config@@ @@@,F@,F@,J@ภM( M) @@G@,@@@,vF@,F@,F@,F@, @@@,wF@,F@,F@,F@,  G@,@@@,F@-v@@@!#G@,@@@,F@,@@ @/G@,-"#$1G@,@@@,F@,@@@͠=G@,9./0?G@,@@@,F@,@ -Unexpected exit code %d from ocamlrun -config.@.@@@@,F@- F@- @@54@@aXQFU@@@,uF@,@@ఐ~$codeMQVQ@@@E@@v@@cE@,y@MOO@@'@@@(@ @@)@ A@B@-@A@@ @$@ఠ/display_results>MQQMQQ@MtA@@@@'&Format)formatter@@@6+H@6l@J@8:H@6h$unitF@@@6,H@6k@@6y@@6xB@.@55@@@8FE@8#@@@8/B@.@@@: B@.@@.B@.@@.B@-3N N N N N N N N @g@@@@@@ఠ*pad_column?N$QQN%QQ@N;uA@@@5@@@.D@.@@@.C@-!5A@@@.D@.@@@.C@-"@@-#C@- +@࣠@!lAANMQQNNQQ@NdvA@@%3NGNGNGNGNGNGNGNG@;2NUQQNVRR@@@@@  @@@ఠ#maxBNcQRNdQR@NzwA@@#intA@@@.:E@-&3NeNeNeNeNeNeNeNe@+F@"@#@@@డL$List)fold_leftNR RNR R@ NR RNR R@@A@@@@$E@-+@`C@.FE@--@@-/@@-.@ @A @@@-,@@-*@@-)@@-(3NNNNNNNN@,@@@@࣠@!aCANR R$NR R%@NxA@@#?@@@@!sDANR R&NR R'@NyA@@-3NNNNNNNN@N4@@@@@@@@డM>#Int#maxNR R+NR R.@ NR R/NR R2@@@o@@@.@t@@@.x@@@.@@.@@.@'int.mlitYYtYt@@+Stdlib__IntY@@@@@@@..@@@@.-@@@.,@@.+@@.*3NNNNNNNN@>Jm@A@B@@@@ఐ_!aOR R3OR R4@J@@~@@డM&String&lengthOR R6OR R<@ OR R=OR RC@@Ӱ@@@@@@.?@@@.>@@.=0@@ఐ~!sO3R RDO4R RE@:@@=@@O7R R5O8R RF@@`@@@.9@.HJ@.EG@@s @@I@.8J@ODR ROER RG@@@@@@->@@-=F@.OF@.M@@@OUR RHOVR RI@@F@.Q@@ఐ!lOcR RJOdR RK@@@:@@@@@A@OhQR@@@ఠ!fdOsRSR[OtRSR\@OzA@@@-@@@.E@.TB@@@.hE@.U@@.VE@.S3O{O{O{O{O{O{O{O{@(!@"@#@@@࣠@!sfAORSR]ORSR^@O{A@@3OOOOOOOO@)ORSRWORSR@@@@@  @@డN!^ORSRcORSRd@C@@@J@@@.^@C@@@.]C@@@.\@@.[@@.Z3OOOOOOOO@".@@%@&@@@@ఐ5!sORSRaORSRb@ @@M@@డNG!^ORSRORSR@C<@@@K @@@.q@C<@@@.pC;@@@.o@@.n@@.m,@@డNd&String$makeORSReORSRk@ ORSRlORSRp@@@ @@@6@@@@5q@@@4@@3@@2@N  N  =@@A@@@@@@@.@@@@.@@@.@@.@@.f@@డNŠǰP)RSRvP*RSRw@İ@@@@@@.@@@@.@@@.@@.@@.@@ఐࠐ#maxPCRSRrPDRSRu@@@@@@.J@.J@.@@డN&String&lengthP]RSRxP^RSR~@ PaRSRPbRSR@@ @@@ @@@. 8@@@.@@.@@ఐ砐!sPwRSRPxRSR@@@@@@@ @@@.@.K@.@@PRSRqPRSR@@@@@.@.J@.@@`PRSRPRSR@@@@@.I@.I@.@@ @@K@@@.}@.I@.@@# | PRSRPRSR@@PRSR@@D@@@.|H@.H@.@@@@D@@@.i@.H@.{@@$@@>@.%A@JE@.,@A@)@డO@$List#mapPRRPRR@ PRRPRR@@8@@@@@@.@8@@@.8@@@.@@.@@.3PPPPPPPP@byr@s@t@@@@ఐ!fPRRPRR@ @@@ @@@.DU@@@.@@.@@ఐ!lQRR@@@$@@;@@%@q@@@@@@A@C@.@A@@࣠@'pp_pathgAQRRQRR@Q2|A@@73QQQQQQQQ@ @@@@@@@@'columnshAQ,RRQ-RR@QC}A@@*3Q&Q&Q&Q&Q&Q&Q&Q&@K@@@@@@@@  డO"<>QBRRQCRR@<@@@EB@8SB@.B@.@=@@@.@@.@@.3QGQGQGQGQGQGQGQG@".N@%@&@@@@ఐ5'columnsQ^RRQ_RR@ @@[@@ภMQiRRQjRR@M@@@%B@.@@QoRRQpRR@@M@@@.F@.%@QwRR@@#@@@.E@.,@@ఠ'columnsiQRRQRR@Q~A@@9:9?@@@8NG@88@@@8EE@8!@@@8.E@.3QQQQQQQQ@K@@@@ఠ-format_stringjQRRQRS @QA@@@B@61F@.@@@7F@.@@.F@.@࣠@!slAQRS QRS@QA@@3QQQQQQQQ@v$QRRQSlS@@@@@  @@@ఠ!smQSSQSS@QA@@&stringQ@@@6-H@/3QQQQQQQQ@+8@"@#@@@డPd&Format(asprintfQSS!QSS'@ QSS(QSS0@@@&Stdlib'format4!a@/F@@@5@@@55@@@5@@@5@@5@*format.mli&@@.Stdlib__Format@*%@@@"@?H@6.@|QH@62@@63H@6/@@60H@6D@@@6 :@@@6!\@@@6"@@@6@@6Z@@ภRRRISS1RJSS5AภR%AlphaR! ;%Alpha@@!b@$5@!x@$1!c@$4@@'8@@'7@ !a@$0@@'6@@'5 !d@$6!e@$7!f@$8@@@'4@+"@@@'9@AOAYAA''(.(j@@@o@ภRfRgR@R@̠vH@6aH@6H@6gH@6`J@6mJ@6n @@@6I@6@@f@J@6CH@6_@@@6bI@6z@"%ay@y@@@@6cI@6I@6@@@@͠Ԡ@@@6*I@6^@@ఐĠ'pp_pathRSS6RSS=@@@@@ఐ*!sRSS>RSS?@@@=@@@@ @A@RSS@@@ఠ!sRSCSORSCSP@SA@@&stringQ@@@7`H@63RRRRRRRR@"3,@-@.@@@డQ&Printf'sprintfSSCSSSSCSY@ SSCSZSSCSa@@@&Stdlib&format!a@6$unitF@@@74@@@7@@@7@@7@*printf.mli@@.Stdlib__PrintfC@)$@@@!@ @@@7OH@7H@7@@7H@7T#@@@7VT@@@7W@@@7U@@7SR@@ภS-S.SbSCSbScSCSfAภS8 S9  ภS@9SA8@@^6J@76@@@7I@7w@ภSPSQ#@#@?b@@@7_I@7I@7HH@7@@@7I@7@@6@ɠYJ@7xSTUV@@@7I@7@"%SG@G@@@@7I@7I@7@@NM@@r(@@@7^I@7@@ఐꠐ!sSSCSgSSCSh@@@I@7@@@@|H@7b@A@SSCSK@@డRH&String#subSSlStSSlSz@ SSlS{SSlS~@@@@@@@@7@@@@7@@@@7R@@@7@@7@@7@@73SSSSSSSS@@@@@@@ఐ!sSSlSTSlS@ @@@@@7H@7H@7@@ATSlSTSlS@@@@@7H@7H@7'@@డR  °T$SlST%SlS@ @@@ @@@7@ @@@7 @@@7@@7@@7B@@డR&String&lengthTDSlSTESlS@ THSlSTISlS@@ @@@ @@@8  @@@8 @@8 b@@ఐe!sT^SlST_SlS@l@@ @@@8J@8J@8v@@% @@ @@@8 @8J@8~@@BTwSlSTxSlS@@ @@@8I@8I@8@@TSlS@@5@@@7@8I@8@@@@@@@@@@@A@F@8@A@@డS $List#mapTSSTSS@ TSSTSS@@@@@8L@8@,5@@@8@@8@@8@@ఐE"tlW UUW UU@'@@,@@ภSW UUW UU@S@@@#L@89@@@@S@@@8M@8?@ఐ)rightmostWU#U6WU#U?@@@$K@ภQWUEUXWUEU[AQ WUEUY@@ WUEUZ@@:[@ภTAT@A@W-@@@8L@8h@@WUEUW@@nj@ภQWUqUWUqUAQడVY!^WUqUWUqU@KN@@@S@@@8@KN@@@8KM@@@8@@8@@8@@డVv&String$make,XUqU@X UqUX UqU@2@3@@@@@@8@@@@8@@@8@@8@@8@@డV  ðX%UqUX&UqU@ @@@ @@@8@ @@@8 @@@8@@8@@8@@డV&String&lengthXEUqUXFUqU@ XIUqUXJUqU@@@@@@@@8 @@@8@@8@@ఐ"hdX_UqUX`UqU@@@@@@@ @@@8@9P@9@@BXqUqUXrUqU@@@@@8O@9 O@9 @@X{UqUX|UqU@@@@@8@9 O@8@@`XUqUXUqU@@@@@8N@9 N@9 *@@ @@S@@@8@9N@82@@"| XUqUXUqU@@XUqUXUqU@@L @@@8M@9M@9F@@ @@(M@8I@ภUAU@A@X6L@8@@@8L@9X@@XUqU@@`L@8\@XU#U3@@b^@ఐ"tlXUUXUU@d@@qL@8L@9l@X UU@@rn@A@X TT @@@@ภRŰXUUXUU@RĠఐ"hdXUU @ @@3XXXXXXXX@@@@@@ఐ#rowXUU@߰@@| @@@@V{@@@9"@@ภ)Y UUY UV@)@@@-@@@9'@@డW. .YUVYUV@. @@@. @@@9-@. @@@9,3H@@@9+@@9*@@9)9@@ఐ5(finishedY6UVY7UV @@@F@@డW-.YDUVYEUV@-@@@X @@@9HL@9?@.@@@9>@@9=@@9<a@@ఐ"tlY^UVY_UV@@@n@@ภUYiUVYjUV@U@@@#L@9L{@@@@.X@@@98@9MM@9G@@A @@@@YxUUYyUV@@@}@q@@@9N@@ఐ+$nextYUV@@@@@@@@@@@9P@@@+@@AN1YT}T@@@A@H@9_@A@@డX$List-fold_left_mapYV+V3YV+V7@ YV+V8YV+VE@@@@#acc@@@!a@D@@!b@B@@m@@l@@k@@@@@j@ @@@@i@@h@@g@@f@@e@LMUULNi@@LL\@72@@@@@נ@ʠ@@@9G@9G@9e@"@@@@9l@@9k@@9j@@0/@@@9h@ @@@@9f@@9d@@9c@@9b@@9a3YYYYYYYY@@@@@@@ఐ!fZV+VFZV+VG@ @@@@Y~Y @@@9@@@9@V|@@@9@/@@@9@@9@W4@@@9@@W@@@@9@.P@@@9@4h@@@9@@9@WP/@@@9@@9@@9@@9I@@@ภVZ^V+VIZ_V+VK@V@@@MG@9Z@@ภ.jZjV+VMZkV+VQ@.i@@@JG@9f@@ภ.vZvV+VSZwV+VW@.u@@@EG@9r@@Z|V+VHZ}V+VX@@G@9w@@ఐ+rev_columnsZV+VYZV+Vd@p@@@@@@@@F@@9H@9|@ @@ }@A@ZTQTW@@ డW2.display_output+EnvironmentZVnVtZVnV@ ZVnVZVnV@@,@@@,,@@@9@@@9,@@@9@@93ZZZZZZZZ@@@@@zs@t@u@@@@ภTZVnVZVnVATడYK&String&concatZVnV@ZVnVZVnV@@@'M@@@]@$listK@@@\@@@[']@@@Z@@Y@@X@&ss&s@@&I@2@@@@@@9@1@@@9@@@9@@@9@@9@@9R@@ [VnV@@[VnV[VnV@@:@@@9I@9I@9e@@ఐ#row[+VnV[,VnV@m@@H_@@@9I@9I@9z@@l @@-@@@9H@9@9I@9@ภWzAW@{A@Z@@@9H@9@@[NVnV@@-1@@@9H@9@@@@,@@@9G@9@డY#not[fVV[gVV@+0@@@+0@@@9+/@@@9@@9@@ఐK(finished[{VV[|VV@@@+G@@@:G@:G@:@@  @@W@@@:G@:@ఐѠ'display[VV[VV@@@@@@: @@ఐW+rev_columns[VV[VV@@@E@: @@@@@@[VV@@@@@@ @@@ A@@@@:E@:@@@[T/T3@@ఐ'display[VV[VV@Ȱ@@@XǠ@@@:@@@:@@@:-o@@@:@@:3[[[[[[[[@@@@@ภU[VV[VV@Uఐ%right[VV[VV@@@X@@@:#@@@:"E@:,E@:1E@:/#@డZq$List#map\VV\VV@ \VW\VW@@Cɰ@@@@C@@@:V@@@:UE@:92E@:\E@:SE@:7@@::@CР@@@:8CϠ@@@:6@@:5@@:4V@@ఐ *pad_column\0VW\1VW@ @@@C@@@:Q@@@:PCO@@@:O@@@:N@@:Ms@@ఐ$rest\MVW\NVW@j@@DJ@@@:EF@:ZF@:W@@X @@[v@@@:.E@:[F@:D@@\bVV\cVW@@}@@@:!E@:+@@@@W@ @@X@ @@Y$@E @@Z @  @@[ @\pRR@@B@:a T@@@]@A@\uQQ@@@`@ఠ(run_test3\!WpWt\!WpW|@\A@@,ocamllib_dirW@@@=B@:c+camllib_dirW@@@=}B@:h@Y@@@?B@:m@D_@'runtimeY5@@@=@W@@@=@0W@@@=@@@=@0@@@=Ơ@0W@@@=@@@=@@=@@=@@=@@=J@=@Y@@@@'J@=DW@@@@K@?@@@?J@=A@=J@=A@=J@=@@@=B@:r@B@:w.@@@@,B@:x@@:yB@:s@@:tB@:n@@:oB@:i@@:jB@:d@@:eB@:b3\\\\\\\\@*#@$@%@@@࣠5A]!WpW~]!WpW@](A@@3] ] ] ] ] ] ] ] @]!WpWp]Z`i`@@@@@]!WpW} @6A]%!WpW]&!WpW@]<A@@3]]]]]]]]@ @@@@@@]-!WpW@@#env7A]7!WpW]8!WpW@]NA@@3]1]1]1]1]1]1]1]1@@@@@@@@@(programs8A]H!WpW]I!WpW@]_A@@3]B]B]B]B]B]B]B]B@@@@@@@@@$test9A]Y!WpW]Z!WpW@]pA@@_3]S]S]S]S]S]S]S]S@@@@@@@@@@ఠ.libdir_ld_conf:]l"WW]m"WW@]A@@Xs@@@:H@:|3]l]l]l]l]l]l]l]l@&{@@@@@డZ)in_libdir+Environment]"WW]"WW@ ]"WW]"WW@@@Z@@@G@X@@@F'@@@E@@D@@C@ZD : :ZD : _@@ZL@@@@Z@@@:@@@@:9@@@:@@:@@:~8@@ఐ#env]"WW]"WW@l@@E@@'ld.conf]"WW]"WW@@]"WW]"WW@@7@@@:I@:I@:Y@@J @@^Z@A@]"WW @@ డ\Q&Printf&printf]#WW]#WW@ ]#WW]#WW@@@ &format!a@6 +out_channel@@@7  @@@7 @@@7 @@7 @  @@ A@$@@@@@@@;/@@@;FH@:H@:H@:@@;H@:&@@@:$@@@:@@@:@@:3^^^^^^^^@@@@@@@ภ]]^1#WW^2#WXAภ^^ ޠ"- @@@@@:I@:I@:$@ภ^a^`ภ^#^$'@'@ARJ@:R@@@;I@;<@ภ^3,Char_literal^58;,Char_literal!a@#!b@$!c@$!d@$!e@$!f@$@@@'%@$charB@@@'&à)%!@@@''@BLAYAA%%%%@@@l@Ju@@@@;I@;"I@;!@ภ ^ ^ @@H@:H@;H@;J@;@@@:I@:I@:I@;I@;@@@; I@;,@@@ Š@@@;I@;@@@ J@:ޠ%&'(@@@:I@;@@@ J@:(ݠޠߠ@@@:I@:@%- %s @@ !@@@:I@;/I@;.@@@@>@@@:I@:@@ఐ$test_#WX_#WX@@@@+description_#WX_#WX@[7 @@I@;D@@A@@H@:@డ]3ꠐ3_/'XX_0'XX@3@@@]a]`@@@;W@@@;VH@;L@ 3@@@;K@@;J@@;I@@ఐ$test_N'XX_O'XX@ذ@@S.@&stdlib_U'XX_V'XX@[h @@"5@@ภ[_`'XX_a'XX@[@@@/H@;\B@@@@[@@@;]I@;TH@ఐ0remove_if_exists_t(XX_u(XX@ð@@@@@@;a1@@@;`@@;_\@@ఐ.libdir_ld_conf_(XX_(XX@f@@@@@;hI@;jI@;ip@@  @@16@@@;gt@డ^+Out_channel-with_open_bin_*XX_*XX@ _*XX_*XX@@@9@@@A@@9@@@@!a@@@?@@>@@=@9C % %9C % R@@8P@@@@@@@;q@@9@@@;p=H@;n@@;o@@;m@@;l@@ఐo.libdir_ld_conf_*XX_*XX@@@3@@@;}I@;I@;~3________@@@@@࣠@"oc;A_*XY_*XY@` A@@9E@@@;@@@@డ^y-output_string`+Y Y`+Y Y @8@@@8@@@;@8@@@;9@@@;@@;@@;3` ` ` ` ` ` ` ` @+9f@@@;@%@&@@@@ఐ5"oc`&+Y Y!`'+Y Y#@@@9v@@@;@@డ^&String&concat`<+Y Y%`=+Y Y+@ `@+Y Y,`A+Y Y2@@b@@@b@@@;@a x@@@;@@@;^@@@;@@;@@;?@@! `]+Y Y4`^+Y Y6@@``+Y Y3`a+Y Y7@@@@@;L@;L@;S@@ఐ$test`u+Y Y8`v+Y Y<@@@zb@&stdlib`|+Y Y=`}+Y YC@\ @@ @@@;@@@;L@;L@;t@@`+Y Y$`+Y YD@@9}@@@;@;L@;~@@ @@H@;@`*XY`+Y YE@@@9@@@;|@@;{I@;I@;@@ @@@`'XX @@@Ġ:-`&XzX`&XzX@:,@@@@2S@@@;@@2V@@@;@@@@ఠ+process_env<`/YY`/YY@`A@@@[!@@@;J@;@\@@@;J@;ZʠJ@<@@@A`/YY`/YY@aA@@&3````````@3`/YY`<[/[;@@@@@  @@'setting?A`/YYa/YY@aA@@13````````@!=@@@@@@@@@ఠ'ld_conf@a0YYa0YY@a)A@@[b@@@;M@;3aaaaaaaa@%L@@@@@డ_(Filename&concata+0YYa,0YY@ a/0YYa00YY@@[c@@@[@@@;@[@@@;[@@@;@@;@@;%@@ఐb#diraJ0YYaK0YY@G@@2@@'ld.confaU0YYaV0YY@@aX0YYaY0YY@@[@@@;N@;N@;F@@7 @@JG@A@ac0YY @@ఐq'settingam1YZan1YZ @R@@3afafafafafafafaf@Vd]@^@_@@@Ġ#Seta}2ZZa~2ZZ@Oఠ$dirsAa2ZZa2ZZ@aA@@^^@@@;@@@;!@@@ @@"@@"@@@ డ`66a3Z!Z6a3Z!Z8@6@@@6@@@;@6@@@;;@@@;@@;@@;3aaaaaaaa@?.'@(@)@@@@డ`06w6ya3Z!Z1a3Z!Z2@6v@@@_ _@@@<@@@<P@<@ 6{@@@<@@<@@<!@@ఐS$dirsa3Z!Z,a3Z!Z0@+@@.@@ภ^/a3Z!Z3a3Z!Z5@^.@@@&P@<;@@@@6@@@<@<Q@<C@@డ`q#Sys+file_existsb3Z!Z9b3Z!Z<@ b3Z!Z=b3Z!ZH@@A@@@A@@@<@@@@<@@<c@@ఐ 'ld_confb3Z!ZIb3Z!ZP@@@X@@@<"Q@<$Q@<#w@@% @@7@@@<@<%Q@@dA@@^ҠNB@=B@=@@@3exexexexexexexex@KeG\i\keI\]@@@@@eG\i\{ @@'programJAeG\i\eG\i\@eA@@J3eeeeeeee@!V@@@@@@@@$argsKAeG\i\eG\i\@eA@@R3eeeeeeee@^@@@@@@@@డbD9run_process_with_test_env+EnvironmenteH\\eH\\@ eH\\eH\\@@'runtime9f @@@@@@4caml_ld_library_path9q9`@@@@@@@@@(ocamllib9 Y@@@@@@'camllib9 Y@@@@@@%quiet9by@@@@@@%fails9b@@@@@@@c@@@@ V@@@%argv09a!@@@@@@@ a `@@@@@@@ _@@@@ ^ ]@@@@@@@@@@@@@@@@@@@@@@@@@@~@@}@b&&b@@cIS@@@9 @@@=8@@@=7}|{@@@=6@@@=5@@@=4zx @@@=3@@@=2wu @@@=1@@@=0t: r@@@=/@@@=.q:o@@@=-@@@=,@c@@@=+@ @@@=*n:)l@@@=)@@@=(@ ̠ @@@='@@@=&@ @@@=#@ ɠ @@@=%@@@=$@@="@@=!@@= @@=@@=@@=@@=@@=@@=@@=@@=3ffffffff@V@@@@@ภ9lf\+ఐ?'runtimefI\\fI\\@$@@z@@@9d}@@@=@ఐ4caml_ld_library_pathfI\\fI\\@E@@@@@=@@@=@@@=N@=N@=5@ఐn(ocamllibfI\\fI\\@@@  d@@@=~N@=N@=J@ఐ"'camllibfI\\fI\\@@@ m@@@=|N@=N@=_@ภ9f`@f@:@@@=@@@=m@ภ9f`@f@:@@@=@@@={@@ఐ #envg.I\\g/I\\@ @@ @@ఐ'programg;I\\g<I\]@@@@%ภ9g`@g@:(@@@=@@@=@@ఐ$argsgVI\]@@@@@@@@A@J@=@A@@డe$List#mapgkL]B]JglL]B]N@ goL]B]OgpL]B]R@@O3@@@@  B@=@@=@O, @@@=O+ @@@=@@=@@=3gxgxgxgxgxgxgxgx@LE@F@G@@@@࣠@!fLAgL]B]XgL]B]Y@gA@@ 3gggggggg@@@@@@@ఐ!fgL]B]]gL]B]^@ @@@@ 3gggggggg@&@@@@ఐw+run_processgL]B]_gL]B]j@1@@ @@ఐ j$testgL]B]kgL]B]o@ J@@ @@!@@ @gL]B]SgL]B]p@@@ V@@=K@=K@=6@@ఐ (programsgL]B]qgL]B]y@ z@@ /X@@p@@Og@@@=H@Ġd3gM]]gM]]@d2@@@@Ow@@@=3gggggggg@m@@@@O|@@@=@@@ ภ8gM]]gM]]@8@@@< @@@=@hM]]@@ @ĠahN]]hN]]@aఠ(ocamlrunMhN]] @h-A @@ 9B@@B@@+B@?,B@?HB@?JM@=@ఠ$restNh,N]]@hBA @@gB@=@@@=L@=@@@h7N]]h8N]]@@O@@@=@'resultsOhAN]]hBN]]@hXAeF@@@=ް@@@@O@@@=@@@@ఠ'pp_pathPhWO]]hXO]]@hnA@@@&Stdlib&Format)formatter@@@>@ y@@@>:E@@@>@@=@@=L@=3hhhhhhhhhhhhhhhh@c]@^@_OI@J@K;5@9@6@@@డe'pp_path+EnvironmenthO]]hO]]@ hO]]hO]]@@@e@@@S@6@@@R@ @@@Q/@@@P@@O@@N@@M@eN  eN  @@eN@@@@e@@@=@M@@@=@ @@@=F@@@=@@=@@=@@=E@@ఐ #envhO]]hO]]@ u@@ "R@@?@@hS@A@hO]]@@డgF$List&existshQ^+^4hQ^+^8@ hQ^+^9hQ^+^?@@.а@@@@B@? B@? B@>kB@>B@>EK@> .@@@> @@> @.֠@@@> .@@@>@@>@@>3hhhhhhhh@@@@@@@࣠@!rQAi Q^+^Ei Q^+^F@i!A@@,3iiiiiiii@@@@@@@డg"<>iQ^+^[iQ^+^]@3@@@2  8B@??B@>~B@>0@@@>7M@>$@3@@@>#@@>"@@>!3i&i&i&i&i&i&i&i&@8/Q@&@'@@@@డg$List"tliCQ^+^JiDQ^+^N@ iGQ^+^OiHQ^+^Q@@2B@@@2B,@@@>12=0@@@>/@@>.%@@ఐH(ocamlruni_Q^+^Ri`Q^+^Z@@@H2@@ @@B3@@డg$List"tlisQ^+^^itQ^+^b@ iwQ^+^cixQ^+^e@@2r@@@2r^K@>=@@@>>2o@@@><@@>;W@@ఐ!riQ^+^fiQ^+^g@a@@d@@"@@vM@>Dg@@U@@/@@@>GN@>,m@iQ^+^@iQ^+^h@@@/@@@>@@>L@>KL@>I@@ఐ$restiQ^+^iiQ^+^m@>@@/@@@>L@>NL@>M@@ @@f@@@>OL@>@ ఐ/display_resultsiR^y^iR^y^@ ˰@@@@@@@>[@L@>W@@@>Z@@>Y@@>X@QQ @@@>V@@@>U;@@@>T@@>S@@>R@@ఐ'pp_pathiR^y^iR^y^@@@@@@@>z@ @@@>y@@@>x@@>w@@>v@@ఐР'resultsjR^y^jR^y^@@@Qʠ3@@@>jM@>M@>@@N @@;@@@>L@>i@డj1,fail_because'Harnessj/S^^j0S^^@ j3S^^j4S^^@@+@@@+ =K@>+@@@>+@@@> IK@>@@@> @@>;@@ภ+j+j jTS^^jUS^^A+ภ+j*+j+ + -All mechanisms should produce the same output@@*@@@>L@>L@>\@ภ+j>*j?*@@+3M@>à,@@@>L@>L@>Р,@@@>L@>L@>Ѡ HM@>@@@>L@>@@<@+M@>VM@>@@@>L@>@?N@N@+@@@>L@>L@>@@UT@@,Tr1*k@@@>L@>@@^@@w@jQ^+^sjU_&_/@@z@డi5"<>jU_&_IjU_&_K@4@@@3B@?@@@? K@>@ 4@@@>@@>@@>@@డiT$List"tljU_&_8jU_&_<@ jU_&_=jU_&_?@@3@@@3%@@@?3ޠ)@@@?@@?@@ఐ預(ocamlrunkU_&_@kU_&_H@@@@@ @@;@@ఐ $testkU_&_LkU_&_P@ @@@'outcomekU_&_QkU_&_X@g) @@SK@? @@9@@gs@@@?L@>@ ఐM/display_resultsk-V_d_lk.V_d_{@)@@@@F@@@?@L@??@@@?@@?@@?@RR @@@?@@@?<@@@?@@?@@?=@@ఐ'pp_pathkUV_d_|kVV_d_@\@@@@@@?;@m@@@?:@@@?9@@?8@@?7W@@ภeKkmV_d_knV_d_AeJఐ`(ocamlrun kwV_d_@ @@_k@ภe]kV_d_Ae[ภedkV_d_kV_d_@ec0Expected outcomekV_d_kV_d_@@ @@kM@?[@ఐG$testkV_d_@&@@@'outcomekV_d_kV_d_@g@@k N@?U@@@?ZM@?`M@?]@@2 @@B@?RM@?Y@ภhMAh@NA@k@@@?SM@?f@@DUA@k$@@@?IM@?Q@@kV_d_]@@S@@@?+M@?G@@d@@=v@@@?hL@?*@డk,fail_because'HarnesskW__kW__@ kW__kW__@@-@@@-K@?k-@@@?m-@@@?nK@?o@@@?l @@?j@@ภ-fkԠ-ekհl W__l W__A-dภ-qkߠ,k , (Output differs from the expected results@@,@@@?L@?L@?@ภ-k,k,~@@-Y3M@?-@@@?wL@?L@?-@@@?xL@?L@? HM@?@@@?L@?6@@<@-vM@?VM@?@@@?L@?D@?N@N@-~@@@?L@?L@?O@@UT@@. r1*k@@@?vL@?Y@@^@@wZ@liU_&_^ljY`:`C@@z]@డi'verbose+Environmentl{Y`:`Ll|Y`:`W@ lY`:`XlY`:`_@@@i@@@Vi@@@U@@T@iQ**iQ*A@@iO@@@@i@@@?@@@?@@?@@ఐo#envlY`:``lY`:`c@W@@@@,@@h@@@?L@?@ఐՠ/display_resultslZ`i`qlZ`i`@@@@@@@@?@@@@?@@?@@?@TxT{@@@?@@@?>p@@@?@@?@@?@@ఐ'pp_pathlZ`i`lZ`i`@@@@@@@@ @@@@@ z@@@@ @@@ @@@ @@ภfѰlZ`i`lZ`i`@fРภfٰlZ`i`lZ`i`@fؠ0Expected outcomemZ`i`mZ`i`@@mZ`i` @@L@@#@ఐ$testmZ`i`@@@@'outcomemZ`i`mZ`i`@i+ @@l3M@@@@@@"L@@(L@@%@@m'Z`i`5@@L@@!@ఐ'results>m2Z`i`@@@@l@@@@L@@*L@@).@@m=Z`i`$@@TV@@@?L@@6@@+@@FL@?9@@mHY`:`I/@@;@mJU_&_51@@Z=@mLQ^+^13@@?@4@@O@@@AmOL]B]D6@@Qa@7@@R@!8@@Sj@9@@T@:@@U @ b;@@V v@@@AmV&XzX|=@@X x@w>@@Y y@?@@Z@>@A@B@@FG@A@D@DC@Y@ఠ#runRmhab.b2miab.b5@mA@@@G@@@@B@@H@j@@@E+B@@M$unitF@@@EB@@N@@@OB@@I@@@JB@@G3m|m|m|m|m|m|m|m|@ @@@@@࣠@&configTAmab.b6mab.b<@mA@@(3mmmmmmmm@5mab.b.mkk$@@@@@  @@#envUAmab.b=mab.b@@mA@@33mmmmmmmm@!?@@@@@@@@@ఠ'pp_pathVmbbCbImbbCbP@mA@@@d@@@@j@@@@@i]@@@@h@@@g@@@fE@@R3mmmmmmmm@#/X@&@'@@@డjh'pp_path+EnvironmentmbbCbSmbbCb^@ mbbCb_mbbCbf@@X@@@j@@@@Z@@@@@Y@@@@@X@@@@W@@@V@@@U@@@T*@@ఐ]#envnbbCbgnbbCbj@4@@7@@(@@E8@A@nbbCbE@@ డl-print_endlinencbnbpncbnb}@@iK@@@G@@@@@@avAssawAss@@au@@@@@@@@q@@@@p@@@o3n#n#n#n#n#n#n#n#@`xq@r@s@@@@> Testing processing of ld.confn8cbnbn9cbnb@@n;cbnb~n<cbnb@@)@@@@xF@@zF@@y@@2 @@?@@@@{E@@w@@@ఠ(programsWnXjdWd]nYjdWde@noA@@k`@HH@@@@@H@@@@@kq@@@DD@ED@AD@@@@@@@mx@@@@@mH@@@@@@@@@@@A@@A@@A@@@k@@@@k@@@@@@@@@@@@@@E@@}3nnnnnnnn@l@@@@ఠ%filesXnjdWdgnjdWdl@nA@@HH@@@@@@@@E@@~@@X @@@X@@@@@ఐI=compile_ld_conf_test_programsnjdWdonjdWd@*(@@@I @@@@@k@@@@@kҠ@HH@@@@@H@@@@@kr@@@@@m@@@@@nMH@@@@@@@@@@@A@@A@@A@@@k@@@@k@@@@@@@@@@@@@@@HH@@@@@@@@@@@@@@@@@r@@ఐ&configojdWdojdWd@i@@@@ఐ}#envo"jdWdo#jdWd@T@@@@g@@@Р@@@@F@@@A@o/jdWdY @@@ఠ(programsYo:lddo;ldd@oQA@@lB@)CU@@@A@)@@@A@lU@@@A@)@@@A@aIe@AIg;@ @AE@A@@AE@A@@@A@@AA@AA@@A@@@lv@@@AE@@l}E@@@@@@@@@@@@E@@@@@@E@@3oxoxoxoxoxoxoxox@W1*@+@,@@@@@ภijolddoldd@iiఐ*M/ocamlrun_configolddoldd@!@@@l@@@@@*DC@@@@@*<@@@@@ln@@@@@@@@@*1@@@@ݠ@ao3|@@@@@@@@@@@ܐA@@ېA@@ڐA@@@Tl̠n@@@@@@@@@@@@@@@@@O@@ఐ6#envolddoldd@ @@e\@@G@@]@ఐ(programsolddoldd@d@@oM@@@@E@AE@A p@@[ @@l@@@@u@A@oldd@@@ఠ1backed_up_ld_confZpmdepmde@pA@@@@@A-E@A3pppppppp@@@@@@డl)in_libdir+Environmentpmdepmde@ p mde p!mde)@@@@@m2@@@A#@@@@A"@@@A!@@A @@A%@@ఐ#envp;mde*p<mde-@m@@2@@+ld.conf.bakpFmde/pGmde:@@pImde.pJmde;@@@@@A.F@A2F@A1F@@7 @@JG@A@pTmdd @@@ఠ.libdir_ld_conf[p_ne?eEp`ne?eS@pvA@@@@@ACE@A33p^p^p^p^p^p^p^p^@]kd@e@f@@@డm)in_libdir+Environmentpxne?eVpyne?ea@ p|ne?ebp}ne?ek@@@@@m@@@A9@@@@A8@@@A7@@A6@@A5%@@ఐ#envpne?elpne?eo@ɰ@@!2@@'ld.confpne?eqpne?ex@@pne?eppne?ey@@@@@ADF@AHF@AGF@@7 @@JG@A@pne?eA @@@ఠ,ocamllib_dir\poe}epoe}e@pA@@J@@@AYE@AI3pppppppp@]kd@e@f@@@డm^,in_test_root+Environmentpoe}epoe}e@ poe}epoe}e@@H@@@m@@@AO@H@@@ANJ@@@AM@@AL@@AK%@@ఐN#envpoe}epoe}e@%@@}2@@(ocamllibpoe}epoe}e@@qoe}eqoe}e@@H@@@AZF@A^F@A]F@@7 @@JG@A@q oe}e @@@ఠ+camllib_dir]qpeeqpee@q.A@@K4@@@AoE@A_3qqqqqqqq@]kd@e@f@@@డm,in_test_root+Environmentq0peeq1pee@ q4peeq5pee@@H߰@@@nF@@@Ae@H@@@AdKY@@@Ac@@Ab@@Aa%@@ఐ#envqOpeeqPpee@@@2@@'camllibqZpeeq[pee@@q]peeq^pee@@I@@@ApF@AtF@AsF@@7 @@JG@A@qhpee @@@ఠ*ensure_dir^qsqefqtqef @qA@@@,@@@AE@Av,o@@@AE@Aw@@AxE@Au3q}q}q}q}q}q}q}q}@hvo@p@q@@@࣠@#dir`Aqqef qqef@qA@@3qqqqqqqq@+qqeeqwff@@@@@  @@డp#notqrffqrff@Av@@@Av@@@A~Au@@@A}@@A|3qqqqqqqq@+?@"@#@@@@డp:#Sys+file_existsqrffqrff!@ qrff"qrff-@@- @@@- @@@A- @@@A@@A#@@ఐR#dirqrff.qrff1@-@@l0@@qrffqrff2@@A@@@A@AH@A:@@F @@nH@@@AG@A@@డpt#Sys%mkdirrsf8f>rsf8fA@ rsf8fBr sf8fG@@@@@@ ,@#intA@@@ +@@@ *@@ )@@ (.caml_sys_mkdirBA-J@@@@esesV@@eM@"@@@@@@A@@@@A@@@A@@A@@A|@@ఐ#dirr=sf8fHr>sf8fK@@@@@rGsf8fLrHsf8fQ@@:@@@AG@AG@A@@M @@@డp#notr]tfRf^r^tfRfa@B'@@@B'@@@AB&@@@A@@A@@డp#Sys,is_directoryrxtfRfcrytfRff@ r|tfRfgr}tfRfs@@@-@@@ f@@@ @@ 5caml_sys_is_directoryAA-@@@fpfp @@fD@@@@@@@A@@@A@@A@@ఐ#dirrtfRftrtfRfw@@@-@@rtfRfbrtfRfx@@Bt@@@A@AH@A@@V @@o @@@AG@A@ డq7#Sys%rmdirruffruff@ ruffruff@@@.E@@@ /-@@@ .@@ -.caml_sys_rmdirAA.@@@feyffy@@fdN@@@@@@@A@@@A@@A3@@ఐb#dirruffruff@=@@|@@@1@@D@@@AG@AF@డqz#Sys%mkdirs vffs vff@ svffsvff@@@@@@@@A@@@@A@@@A@@A@@Ah@@ఐ#dirs)vffs*vff@r@@u@@s3vffs4vff@@&@@@AG@AG@A@@3 @@G@A@s@tfRf~@@@@sBtfRf[@@@sDrff@@@A@E@A@A@@@ఠ'restoreasRyffsSyff@siA@@@L@@@AE@AE@@@C7E@A@@AE@A3sZsZsZsZsZsZsZsZ@@@@@@@ఠ(restoredbsqzffsrzff@sA@@Mv#refG@@@AF@A@@@AF@A@డq#refszffszff@@!a@@@@g@@f,%makemutableAAHv@@@fddfd@@f@@@@',*@@@A@@AC@@ภDDszffszff@DC@@@6G@AP@@*@@>Q@A@szff@@࣠@h,cAĠMAs{ffs{ff@M@@@@@k3ssssssss@bZS@T@U@@@@@@డrH#nots|fgs|fg @C@@@C@@@AC@@@A@@A@@డr_!!s|fg s|fg @@z!a@@@@i@@h'%field0AAHנ@@@gSgT@@gR@@@@C@@@BH@BH@B@@@B @@BJ@@ఐ(restored,t|fg@S.@@@@@BI@BI@B^@@8 @@_@@P @@p{@@@BH@Be@ డr":=t5}g g1t6}g g3@@à!a@@@@m@M@@@l@@k@@j*%setfield0BAI&@@@@gg@@g@@@@ݠHe@@@B&H@B@@@B@@@@B@@B@@B@@ఐ(restoredtl}g g(tm}g g0@@@@@@B$I@B'I@B%@@ภHt}g g4t}g g8@H~@@@+I@B*@@@@F)@@@B+H@B#@ డs &Format&printft~g:gBt~g:gH@ t~g:gIt~g:gO@@@"&format!a@/V&@@@5ؠ&@@@5@@@5@@5@"w"w)@@"@"@@@@@&@@@B:H@B@@@@CH@B?H@BF|@@@CH@B;H@B@@B@@BH@B<@@@!H@B@@@@CH@BEH@BH@B@@B@@BH@BB@ "H@BF@@BGH@BC@@BDH@B@@@BAH@B=@@B>H@B/'@@@B1Q@@@B2@AbJO'format4N@BI@BJ@BK@AO'format6`@BN'@BO&@BP+@BQ@A8CamlinternalFormatBasics'format6y@BT@@BU?@BVB@BWE@BXH@BY@@BZ@BS6@BR@BMI@BL@BH@@B0@@B.@@ภ6u$6u%uY~g:gPuZ~g:gfA6ภ6u/6u0 6*Restoring @@5@@@BI@BI@B@ภ6uC#$uD##ภ6uK6#uL'6"$ to ,@,@6@@@BI@BI@B@ภ6u_#@u`;#?ภ6ug4uhC3JG@@@@BI@BI@B@ภ7 uz6u{V6@V@6H@B}H@BH@BJ@B٠H@B|H@BH@BJ@BڠJ@B۠J@BܠJ@BݠJ@B@@@BI@B @@w@7!H@B %J@BȠ(J@Bɠ+J@B@@@BI@B@@@7J@B.J@B9J@Bgh"@y@@D@@@C1H@C6H@C5@@X @@H@C0@ @@@@@@wM|fgwNh#h,@@@@wP|fg@@ @wR{ff@@E@C:@@@@A@wWyff @@ ఐ*ensure_dirwchlhnwdhlhx@@@@@@@C?@@@C>@@C=3wdwdwdwdwdwdwdwd@ "@@@@@@ఐ,ocamllib_dirw{hlhyw|hlh@[@@@@@CFF@CHF@CG@@# @@I*@@@CIE@CE@ ఐ#*ensure_dirwhhwhh@2@@@@@@CN@@@CM@@CL3@@ఐ+camllib_dirwhhwhh@$@@5@@@CUF@CWF@CVG@@  @@IZ@@@CXE@CTM@ డv:&Format&printfwhhwhh@ whhwhh@@1@@@1@@)@@@CgE@C@@@@D5E@ClE@CI@@@D>E@ChE@C@@C@@CE@Ci@@@!E@C@@@@D;E@CrE@CE@C@@C@@CE@Co@ "E@Cs@@CtE@Cp@@CqE@Cm@@CnE@Cj@@CkE@C\*'@@@C^h@@@C_@AyJL@Cv@Cw@Cx@A#\@C{#@C|"@C}'@C~@A%p@C7@C6@C9@C<@C?@C@@C@C/@C@Cz@@Cy@Cu@@C]@@C[@@ภ9x29x3xghhxhhhA9 ภ9x=9x> 9+Backing up @@8@@@CF@CF@C@ภ9xQ&2xR&1ภ9xY91xZ'90$ to ,@,@9@@@CF@CF@C+@ภ9xm&Nxn;&Mภ:xuBxvCAJG@%@@@DF@DF@DF@ภ:x9xV9@V@9E@CE@CE@CG@DE@CE@CE@CG@DG@DG@D G@D G@D @@@DF@Do@@w@:!E@C۠%G@C(G@C+G@C@@@DF@D@@@:!G@Cݠ.G@Cޠ9G@Cߠ.libdir_ld_confyhhyhh@ٰ@@F@D74@@ఐ 'pp_pathyhiyhi@ @@E@D8C@@ఐ 1backed_up_ld_confyhiyhi!@ S@@F@D=R@@@@S@ డx@#Sys&renameyi#i%yi#i(@ yi#i)yi#i/@@@@@@@@DE@@@@DD@@@DC@@DB@@DAw@@ఐ .libdir_ld_confyi#i0yi#i>@ +@@@@@DQF@DSF@DR@@ఐ 1backed_up_ld_confzi#i?zi#iP@ @@ @@@DPF@DUF@DT@@> @@K@@@DVE@DO@ డx'at_exitziizii@@@S@@@S@@@@@S@@@@@@m3m3@@m@@@@@@@@D]@@@D\@@D[@@@DZ@@DY@@ఐ'restorezMiizNii@߰@@@S@@@DoK@@@Dn@@Dm@@; @@K@@@DsE@De@ డx$List$iterzmiiznii@ zqiizrii@@@@!a@| @@@?@@>@l@@@= @@@<@@;@@:@ll@@lU@#@@@@w@@@E E@Dz@@@D|@@D{@ @@@Dy "@@@Dx@@Dw@@Dv7@@ఐ/(run_testziizii@ +@@,(@@@D%!@@@D@w@@@D@bw@@@@D@@@@D@@@@D@@@D@@@@D@  @@@D@@@D@@D@@D@@D@@D@w@@@Db@@@D@@@DA@DA@D@@@D@L@@@D@@D@@D@@D@@D@@D@yఐ P,ocamllib_dir{ ii{ ii@ @@@@@DH@DH@D@ఐ +camllib_dir{ii{ ii@ @@@@@DH@DH@D@@ఐ #env{3ii{4ii@ e@@ @@ఐ (programs{@ii{Aii@ 4@@b@@@@D@@@@D@ @@@D@@@@D֠@Uj@AUl @@EH@E@@DH@D@@@D@@D@@D@@D@@D@xu@@@Dc,H@D@@@DА@@Dϐ@@D@@@DH@DH@D@@{ii{ii@@@x@@@E M-@@@E@@E @@డz$List#rev{ii{ij@ {ij{ij@@mY@@@mYF@E*F@E@@@EmX@@@E@@EF@@ఐxޠ%tests{ij {ij@U@@@UG@E@x@@@ExΠx@@@E@@@E@@E@@Ee@@ఐL&config{ij{ij@1@@pr@@ఐE#env{ij{ij@@@t@@{ij{ij@@mL@@@EG@E-H@E)@@{ii{ij@@|n@@@DF@E.G@E@@ @@M@@@E/E@D@ ఐ70remove_if_exists|jFjH|jFjX@6c@@@7@@@E4M@@@E3@@E2@@డz(Filename&concat|/jFjZ|0jFjb@ |3jFjc|4jFji@@vg@@@v@@@EA@v@@@E@v@@@E?@@E>@@E=@@ఐ ,ocamllib_dir|NjFjj|OjFjv@ .@@v@@@EMG@EOG@EN@@'ld.conf|`jFjx|ajFj@@|cjFjw|djFj@@v@@@ELG@EQG@EP@@|mjFjY|njFj@@7@@@E;@ERG@EK@@c @@N@@@ESE@E:@ ఐ80remove_if_exists|jj|jj@6ְ@@@8@@@EXN1@@@EW@@EV$@@డ{(Filename&concat|jj|jj@ |jj|jj@@vڰ@@@w@@@Ee@v@@@Edv@@@Ec@@Eb@@EaI@@ఐ +camllib_dir|jj|jj@ :@@w@@@EqG@EsG@Er]@@'ld.conf|jj|jj@@|jj|jj@@w*@@@EpG@EuG@Etq@@|jj|jj@@8Z@@@E_@EvG@Eo{@@c @@N@@@EwE@E^@ డ{n#Sys%rmdir|jj|jj@ }jj}jj@@ 7@@@ 7@@@E| 6@@@E{@@Ez@@ఐ ],ocamllib_dir}jj}jj@ @@ N@@@EF@EF@E@@% @@N@@@EE@E@ డ{#Sys%rmdir}7jj}8jj@ };jj}<jj@@ p@@@ p@@@E o@@@E@@E@@ఐ :+camllib_dir}Qjj}Rjj@ ʰ@@ @@@EF@EF@E@@% @@O@@@EE@E@ ఐ 'restore}ljj}mjj@@@@W @@@EO@@@E@@E @@ภV}jj}jj@V@@@W@@@EF@E@@@@O,@@@EE@E@డ| $List$iter}kk}kk@ }kk}kk @@-@@@@W@@@ED@E/@@@E@@E@.@@@E5@@@E@@E@@EJ@@డ}*erase_file'Harness}kk }kk@ }kk}kk@@@(@@@?o@@@@@@U0VU1V@@Xb@@@@6@@@E@@@E@@Ev@@ఐL%files}kkR@iS@@qQ@@@EE@EE@E@@_\@@y@]@@z@^@@{@_@@|@v`@@}@a@@~@b@@@c@@@1d@@@8e@@@mf@@@g@@@h@@ @ ii@@ @ j@@ @ k@@ D@ Yl@@ @ m@@ @n@@@o@@s@p@@t@q@@@@{rA@B@Ey@A@v@vu@@|}|wA@|d{B@{:W@Xm9@98i@80@0D!@!@@@@@3~~~~~~~~@@@@,Test_ld_confA@@ H************************************************************************~/A@@~0A@L@ H ~5BMM~6BM@ H OCaml ~;C~v@ [Set l] causes the entries of [l] to be written to an ld.conf in a directory whose location is put in OCAMLIB. [Empty] only sets OCAMLLIB to [""]. ~Z~\+:@ As for ocamllib, but using the CAMLLIB environment variable directory. A different temporary directory is used from OCAMLLIB (i.e. both CAMLLIB and OCAMLLIB can be set). ~^SW~`@ As for ocamllib and camllib, but for the ld.conf in the Standard Library directory (the file is erased if the list is empty). ~b,0~c|@ F The expect result from [ocamlrun -config] / [Dll.init_compile false] ~e~e!@ , Set of tests to run in a given environment ~iZZ~iZ@ e Convenience function - [if_ld_conf_found outcome] returns the empty list in the Renamed phase. ~k~l @ ? ocamlrun can't find ld.conf after the prefix has been renamed ~n 0 4~n 0 w@ l Batch 1: various interesting kinds of line, tested when read through CAML_LD_LIBRARY_PATH and ld.conf ~y S U~z  @ ' Root directory (both forms) preserved ~D  ~D  @ $ Current and Parent directory names ~G / 7~G / _@ Current and Parent directory names with OS-default trailing separator (i.e. ./ and ../ on Unix and .\ and ..\ on Windows) ~J  ~K  $@ b "stublibs" relative to the Current and Parent directory (using OS- default separator) ~N k s~O  @ { Other cases - implicit and absolute entries, and entries beginning with the Current and Parent directory names ~R@H~S@ < Windows opens ld.conf in text mode, so the \r are stripped ~^6B~^6@ F Various test lines above all fed via ld.conf in the Standard Library ~i~i@ p Known issue: Windows strips out the blank entries in the search path (somewhat counterintuitively!) ~k~l;g@ A As first, but with the same entries in CAML_LD_LIBRARY_PATH too ~vsy~vs@ Known issue: Windows ignores empty entries in the search path, and it's slightly easier to test this only once in this test ~y~z<@ " Part of the outcome from ld.conf ~~@ / Part of the outcome from CAML_LD_LIBRARY_PATH msm@ ? No blank entry at the start: Windows returns the same entries 7@ V Unix displays "." for the blank, but otherwise returns the same entries  T^@ t As first, but with entries in CAML_LD_LIBRARY_PATH including quotes and separators. No effect on Unix, as the colon separator is always expressly prohibited in PATH-like environment variables, but the semi- colon separator in Windows PATH-like environment variables is permitted and quoting rules are actively used on Windows systems. ;~@ Quote characters should be stripped (it's a common misconception on Windows systems, but space characters do not require quoting in PATH-like variables, but often are. Result should be: quoted @ a Quote characters should be stripped internally too. Result should be: quoteinentry  7e@ V Quote characters should protect separators. Result should be: one;entry %&@ U The final quote character is optional. Result should be: one;two;three +2<,f@ 1 As first, but with a CR at the end of each line 12@ ~ Windows opens ld.conf in text mode, so the line with just \r is read as an empty string and consequently stripped 72:8}@ < Batch 2: effects of empty (vs unset) environment variables = !> !A@ T Empty CAML_LD_LIBRARY_PATH should add "." to the start of the search path C!`!fD!!@ n Embedded empty entries in CAML_LD_LIBRARY_PATH should add equivalent "." entries to the search path I#Y#_J##@ t An empty CAMLLIB should cause ld.conf in the Standard Library to be ignored, but not CAML_LD_LIBRARY PATH O%v%|P%%@ An empty OCAMLLIB should cause ld.conf in both the Standard Library and CAMLLIB to be ignored, but not CAML_LD_LIBRARY_PATH U&&V':'y@ C Batch 3: load priority, embedded NUL characters, EOL-at-EOF, etc. [(f(h\(f(@ E OCAMLLIB should have priority over CAMLLIB and the Standard Library a((b()@ 8 CAMLLIB should have priority over the Standard Library g*3*9h*3*u@ < EOL-at-EOF should not add a blank entry to the search path m ++n ++@ A [compile_ld_conf_test_programs config env] produces a program intended to print out the contents of [Dll.init_compile false; Dll.search_path ()]. Because of the various differences between ocamlrun and ocamlc's implementations of ld.conf handling, and because of the vagaries of various platforms, in order to "simplify" the testing, the output has various corrections applied (note that if the underlying behaviours were harmonised, then these corrections will correctly cause the tests to fail - i.e. the "corrections" being applied really are testing the behaviours). The test program is returned as a function which takes a partially-applied version of Environment.run_process_with_test_env which has only the ~runtime, program and args parameters remaining along with a test record and which runs the test program using that function. The function returns a the possibly-corrected output of the program with the driver's description as the first line. When native compilation is available, the test program is compiled with both ocamlc.byte and ocamlc.opt. [compile_ld_conf_test_programs] returns a pair where [fst] is the list of functions (either one or two elements) for running the tests and [snd] is the list of files which need deleting when the test programs are finished with. s,,t%11@ The test driver simply calls Dll.init_compile to trigger the processing and then prints the resulting search path to standard output. yA55zB56B@ For bytecode-only installations, ocamlc will be ocamlc.byte and so need to be invoked via ocamlrun in the Renamed phase K77L78@ ` In the Renamed phase, Config.standard_library will still point to the Original location O8w8{P88@ Y The bytecode version is always built; add the native files if it's being built W99X9:@ In the Renamed phase, the test driver will need to be launched with ocamlrun, unless executables produced by the compiler are capable of searching for the runtime (as the Windows executable launcher does) ^::`;;;@ K Known issue: Sys.getenv processes blank environment variables differently from _wgetenv which in the tests will cause it load ld.conf files. The tests have been written to allow for this by having the lines which are _not_ expected to appear on Unix be prefixed with "masked-". j<<n==@  If Windows behaviour has been harmonised, then the filtered list of lines would be the same as the unfiltered list. If this happens, insert an extra line to "poison" the test output to prevent this behaviour from being silently fixed. u? ?x?@>@ H Known issue: ocamlc opens ld.conf in text mode on Cygwin but ocamlrun opens it in binary mode (the default). This means that ocamlrun will return lines ending with \r, but ocamlc will both strip the \r and ignore a line consisting of just \r (because that appears blank in text mode). This is mitigated by ensuring that the \r line is always first in the test, and then adding back the \r to the output on Cygwin. This will clearly fail if the behaviour of ocamlrun and ocamlc is harmonised. AAC9Ck@ Known issue: Misc.split_path_contents ignores empty strings where caml_decompose_path does not. Mitigate it by detecting the environment setting and simulating the line. DLDVDE@ p Known issue: Windows strips out the blank entries in the search path (somewhat counterintuitively!) EEFFH@  Known issue: Dll.ld_conf_contents preserves NUL characters in lines where caml_parse_ld_conf terminates processing. This is mitigated in the test by putting a single line "hidden" after the line with an embedded NUL. FFGH@ As with empty environment variables above, if this behaviour appears to have been fixed, poison the output of the test so that doesn't happen silently. JJKLK}@ Produces a function with the same signature as those returned by [compile_ld_conf_test_programs] but calling [ocamlrun -config] instead. The output is returned in the same format. NQNQNO@ ' Formats a string list list as a table QQQQ@ U Run a single test, using scratch directories [~ocamllib_dir] and [~camllib_dir]. WW WZWo@ ^ The main ld.conf is backed up at the start of the test - set its content (or delete it) $XX%XcXy@ S [process_env dir setting] creates ld.conf in [dir] if [setting] requires one -YKYM.YY@ " Set-up the environment variables >[A[C>[A[i@ 0 Now run the test for all the supplied programs K] ] K] ]A@ 8 First check that each program returned the same output P]]P]^*@ , Then check that the output was as expected T^^T^_%@ 5 If called with --verbose, display the output anyway X_`X_`9@ q This test tests the processing of ld.conf by ocamlrun (which processes it in order to load stub libraries referenced by a bytecode image's DLLS section) and ocamlc (which processes it in order to determine the primitives made available by stub libraries referenced by .cma files). The test ensures that both implementations are producing the same results. \```ab-@  ld.conf is picked up from $OCAMLLIB, $CAMLLIB or from the pre-configured default location of the standard library (this is why the test can only be performed in-prefix). During the test, temporary directories are created to be used for $OCAMLLIB and $CAMLLIB to point to if needed which can then have temporary ld.conf files placed in them. The ld.conf in libdir is backed up and restored after the test. dbbid(dV@ $ ocamlrun must be first in the list  kdd kdd@ 3 Create the scratch directories and backup ld.conf h2h4h2hk@ 1 Ensure ld.conf is restored even if a test fails iRiTiRi@/ Run the tests iiii@ " Clean-up the scratch directories !jj"jjE@@../ocamlopt.opt)-nostdlib"-I(./stdlib"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I/testsuite/tools"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-I/testsuite/tools"-I/testsuite/tools2-function-sections"-cab ;/builds/workspace/main/flambda/false/label/ocaml-freebsd-64 A6543210/.-,+*)('&%$#"! @@0H*ߴ>3wwwwwwww@v@@8CamlinternalFormatBasics0%FU(Q/Tu{0aϊsD@L㏠}0T?A5P*=0,t~1lZ㠠&Stdlib0Lku]8_٠0Stdlib__Bigarray0=Jb^%+Stdlib__Int0̵#&*ȇO7,Stdlib__List0MYm 7R3Stdlib__Out_channel0ws36eQۑP鉻ʠ.Stdlib__Printf0)5h Ԝ΀Q +Stdlib__Seq0nwzG&amg.Stdlib__String0>@YY@wϰ}D}N@G|Gp!p+|(|2@ekeu~C~M@  +֑+XX@g;gElBlj@@ґܰgZgd@\]C@>$MMWW@+IOOܰii@gg@"S@ii@GGɰMMp‘p@#/Б/ڰnQn[@@$ّ$@;f;p@~#~-@{{ɰ~~@@33RS[[@VtV~^^|f@  ++||@P ;@dn@3nEEO~O@~~@@66==AA)UU@*.*8+D[4[>@3o3ylf@ޑ@)3RRffn@K..DƑD@@qqrr@Zd@$D$Naabb@+@+J;^UU!@@vv{ϑ{@2N2XHGHQ@:͑:װLfLp@33qquuŰ@/0<<@@,|@@@P@|@y@@@A@@