Caml1999T037]9ZC.Input_handlingР$Unix$Unix:debugger/input_handling.mlSS@@ 3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .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@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@@@A3@@@S@@@3@@@Р*Primitives*PrimitivesTT@@ 3@@@@@A3@@@T@@ @3@@@@ఠ,active_filesY%)Y%5@@A@@&Stdlib#refC@*file_descr@@@z@@@E*io_channel@@@~@@@}@@|@P*io_channel@@@@@{@@y@@@xA@N@@@SA@J3@H@@@డi#refZ8:Z8=@@!a@D@@@g@@f,%makemutableAA @@@*stdlib.mliddd@@M@@@@MUP@@@M@@L(@@ภ"[](Z8?)Z8A@;@@U@@@@AA@A@@@ @гd$list:Z8w;Z8{@В@гijFZ8EGZ8O@@p@@@TT@@@В@б@гopYZ8TZZ8^@@v@@@Ug@@гu$uniteZ8bfZ8f@@}@@@Vs@@@@@Wv@@@гuZ8jvZ8t@@@@@X@@@@@ @@YZ8S @@@@?@@@ZDZ8u@@@ @@@\Z8DV@@Z8>Z8|@@@@@@@@A@Y%%@@@@ఠ(add_file]]@AA@@@@@@A@@@@@@@@@@@A@$unitF@@@A@@@A@@@A@3@ @@@@@࣠@$fileA]]@BA@@-3@:]^ @@@@@  @@*controllerA]]@CA@@83@!D@@@@@@@@డb":=^^@@9!a@@@@m@I@@@l@@k@@j*%setfield0BA@@@@@@J@@@@RM@L@@@@@w@@@@@@@@C@@@@@s@@@@@@@310011111@KW@N@O@@@@ఐ,active_filesC^D^@}@@2@@@D@D@@@ภ"::W^X^@;/@B@AA@A+@@@ఐ$filei^j^@}@@6@%io_fdp^q^@3%io_fd*Primitives*io_channel@@@B$Unix*file_descr@@@A@@B3%io_in&Stdlib*in_channel@@@?@@@ @A7debugger/primitives.mli| I K| I ^@@K@3&io_out"+out_channel@@@@@@A@A } _ a } _ v@@&L@-@A~ w y~ w @@*M@;3@@D@p@@@ఐΠ*controller^^@}@@@@ఐ$file^^@Ӱ@@@@^^@@C@@@^r@@C@@డ=!!}^@@!a@@@@i@@h'%field0AAӠ@@@@@@@@@&OC@@@@D@D@@@@ @@@@ఐD,active_files/'@<0(@@C@@@E@E@@@1@@@@G2@@C@@@5@@R@?6A@lA@=@A@:@:9@P@ఠ+remove_file!aCG"aCR@4DA@@@@@@A@p@@@A@@@A@3.--.....@n@@@@@࣠@$fileAAaCSBaCW@TEA@@3@??@@@@@@)IaCCJbZ@@@@@  @@డ\^UbZiVbZk@[@@@@@@@砠@@@@@@@@@@@頠@@@@@@@@@@@B@@@@@#@@@@@@@3~}}~~~~~@?K]@B@C@@@@ఐР,active_filesbZ\bZh@ʰ@@Ѡ=@@@C@C@@@డ$List,remove_assocbZlbZp@ bZqbZ}@@@!a@=@$listK@@!b@>@@V@@@U@@@@T@@@S@@R@@Q@(list.mli;;;;@@,Stdlib__List~@3.@@@~B@C@@+@ @B@C@@@@@@(@@@@@@@@@@@{@@ఐ̠$file bZ~ bZ@@@@%io_fdbZbZ@ @@2@@డKMbZ bZ@K@@@^p@R@E@@@@@D@D@@@@@@@@ఐ,active_files @x!@@!@@@E@E@@@+@@#@@@@B@@@@@@A@*A@ @A@ @ @@ఠ1change_controllerL]e^e@pFA@@@w@@@A@@@@@@@@@@@A@@@@A@@@A@@@A@3xwwxxxxx@Kb[@\@]@@@࣠@$fileNAee@GA@@*3@7ef@@@@@  @@*controllerOAee@HA@@53@!A@@@@@@@@ ఐ+remove_fileff@6@@@D@@@@@@@@3@(S@@ @@@@ఐC$fileff@(@@i@@@@w@@@D@@ఐ;(add_fileff @@@@@@@@@@@@@@@@@0@@@@@@@5@@ఐu$filef f@Z@@B@@ఐn*controller fw@Kx@@N@@/y@@O@[z@@P@{A@A@@A@@~@@ఠ2current_controllerPi`di`v@0IA@@@@@@A@@I@@@/G@@@.@@-A@@@A@3/../////@@@@@@࣠@$fileRABi`wCi`{@UJA@@!3A@@AAAAA@.Ji``Kj~@@@@@  @@డ#fstWj~Xj~@@@!a@{@!b@}@@| @@{'%field0AA\@@@[mm\mm@@~@@@@@OB@@@@@0B@@@ @@3}||}}}}}@=I`@@@A@@@@డ$List%assocj~j~@ j~j~@@@!a@h@@@!b@e@@8@@@7@@6@@5@6r6r6r6@@x@$@@@A@@@C@@@@@Z@X@@ C@4C@@@@@@ @@ @@ T@@ఐ$filej~j~@`@@c@%io_fdj~j~@y @@/j@@డ`#%j~j~@#@@@6^@O@A@@@@@D@2D@!@@@"@@ @@ఐX,active_files j~@Q"@@X"@@@'E@1E@(@@, @@$@@$j~@@Z@@@@@A@A@6@A@@@@ఠ=execute_with_other_controllerS5n 6n +@HKA@@@@\@@@rZ@@@q@@pA@8@]@@@A@=@@$unitF@@@@@CA@@@A@B@@DA@>@@?A@9@@:A@73]\\]]]]]@/KD@E@F@@@࣠@*controllerUApn ,qn 6@LA@@73onnooooo@Dxn  yr@@@@@  @@$fileVAn 7n ;@MA@@=3@!N@@@@@@@@%functWAn <n A@NA@@E3@Q@@@@@@@@@ఠ.old_controllerXoDJoDX@OA@@@@@@X@@@W@@VE@G3@*e@!@"@@@ఐ2current_controlleroD[oDm@`@@@S@@@M@@@@L@@@K@@J@@I@@ఐ[$fileoDnoDr@C@@)@@@@2*@A@oDF@@ ఐ1change_controllerpvzpv@@@@@@@c@@@@@b@@@a@@`?@@@_@@^@@]3@M`Y@Z@[@@@@ఐ$filepvpv@v@@@@ఐ*controllerpvpv@@@@@3@@Q@@@vE@o#@@ఠ'finallyY/q0q@BPA@@@@@@{E@x@@@E@y@@zE@w3=<<=====@@@@@࣠@%param[AĠ"()PqQq@;@@@N@@@@A@@A'@@@@@@!3SRRSSSSS@W.\q]q@@@@@@@ఐ 1change_controlleriqjq@5@@@~@@@@@@@@@@@@@@@@@@@@~&@@ఐ$fileqq@@@@3@@ఐ.old_controllerq9@:@@@@@@@@@@@G@@7C@@aH@QDA@nE@K@A@H@డ#Fun'protectrr@ rr@@'finally@f@@@j@@@@@@@r@@@!a@@@@@@@@'fun.mliooI@@+Stdlib__FunE@(#@@ @@@@@@@@@@@@@@@@@@@@3@@@@@@4ఐǠ'finallyrr@ @@@@@@>@@@@@@@ఐy%funct r@T@@$@@^@@%@@@@#@@@0@@[@A@A@ @A@@@@ఠ2continue_main_loopc v   !v  ,@ 3QA@@`@@@A@@@@A@ 3 + * * + + + + +@@@@@@డ#ref 7@డjl >   ?  @j@@@}E@A@@@B@@@J@@ఐ32continue_main_loop S  @ڰ@@@@@GF@JF@H^@@  @@_@A@ _   @@࣠@kAĠ k@   l@  @@@@@U3 i h h i i i i i@pG@@A@B@@@@@@డ {@   |@  !@@@@Z@@@aF@T@@@U@@@@S@@R@@Q @@ఐx2continue_main_loop @   @  @ @@٠@@@_G@bG@`5@@ఐ)old_state @  " @  +@?@@-G@cD@@@@E@ @  @@D@fI@Y @@@A@ ~   @@డ .#Fun'protect B 1 5 B 1 8@  B 1 9 B 1 @@@@@@@@@{@@@z@@y@@@@@xC@v@@w@@u@@t3        @@@@@@/ఐࠐ'finally B 1 B B 1 I@ @@@@@@9@@@@@@@4 @@@@@@@"@@"@@ @@࣠@pAĠð B 1 Q B 1 S@@@@@@@@3        @4@@@@@@ డ ,. %C W p &C W r@+@@@ d@@@G@@@@@u@@@@@@@T@@ఐ"2continue_main_loop BC W ] CC W o@ʰ@@ @@@H@H@i@@ภ UC W s VC W w@@@@+H@v@@@@@@@G@|@ డ  jD y  kD y @@@@  -@@@F@F@@@@ @@@@ఐe2continue_main_loop D y @ @@ Š@@@G@G@@@& @@@@@ఠ%inputl F   F  @ VA@@$listK$Unix*file_descr@@@@@@H@@@@ F   F  @@@@@@@@H@@@@ F   F  @@'%@@@@@@H@@@ F   F  @@@8@#@@@@డ &select G   G  @@HF@@@ @@@ @RP@@@ @@@ @\Z@@@ @@@ @%floatD@@@ @pm@@@ @@@ @bv@@@ @@@ @[@@@ @@@ @@ @@ @@ @@ @@ @(unix.mliDF M@@@LK@@@I@@@@@@@H@@@@@@@G@@@@@@@F@@@@@@@@@@٠@@@@@@@۠@@@@@@@@@@@@@@@@@Z@@డ $List#map G   G  @  G   G  @@@@!a@}!b@{@@\@ݠ@@@[@@@Z@@Y@@X@@@W@% @@@@@ @@@ I@>I@5I@$@@@ @@@9 @@@8@@7@ @@@:@@6I@&@@(I@I@@@@:*@@@9 @@@@@@@@@డ L#fst G   G  @@@@@@@!J@'@@డ _ " $ G   G  @ "@@@ 5jZ@@@ J@@@@QD@^D@T@@@U@@S7@@ఐ䠐,user_channel<@x=@@@@@ZE@]E@[J@@$F@@K@@;G@@`L@PHA@lA@aO@A@L@LK@a@ఠ1resume_user_input|e  e  @aA@@@ @@@fA@c @@@kA@d@@eA@b3@@@@@@࣠@ AĠ e  e  @ @@@@3@(e  l@@@@@  @@డx#notf  f  @@$boolE@@@F@@@E@@D(%boolnotAA@@@LLLt@@\\@@@@@@@k@@@j@@i3@@డ$List)mem_assoc@f  Af  @ Df  Ef  @@@!a@M@ @@!b@N@@K@@@J$boolE@@@I@@H@@G@ :O:O :O:{@@ |@*%@@@@@@D@y@#@@@@@@@@@@@@@@@@@@D@z@@x@@@w1@@@v@@u@@t@@డ ̠ΰf  f  @̰@@@ߠ8@@@@F@@@@@@@@ఐޠ,user_channelf  @s@@@@@G@G@@@% @@@%io_fdf  f  @Y,@@^@@డ@f  f  @@@@@~@p@@@@@E@E@@@@@@@@ఐ8,active_files f  @1"@@8"@@@F@F@@@, @@$@@f  f  @@@@@r@E@@@ @@@@@D@q@ డ"&& g !g @@@@@K@@@@J@@@I@@H@@G(%sequandBA%@@@@%&@@q]@@@@@@@@@@@@@@@@@@M@@డUg Vg @@@@<@@@E@E@@@@@@h@@ఐ*interactifog  @°@@@@@F@F@|@@% @@}@@డg g @@@@Ġf@@@E@E@@@@@@@@డ*Parameters&prompt*Parametersg @ g g #@%@&Stdlib#ref$boolE@@@@@@@7debugger/parameters.mliX<<X<Q@@*ParametersE@<@@<@@@F@F@@@F"@@>@@w#@@X@@@E@@ డD,print_stringh/5h/A@@&stringQ@@@'@@@@@@1qq1qr@@$@@@@@@@@@@@@@@డl/1h/Bh/C@/@@@B.@@@ F@-F@#@@@$@@"@@ఐ.current_prompth/Q@1@@]@@@)G@,G@**@@% @@+@@M @@Z@@@.E@1@డ%flush7iSY8iS^@@v+out_channel@@@@@@@@@2ff3f@@~@@@@@@@2@@@1@@0U@@డ&stdout&Stdlib`iS_aiSe@ diSfeiSl@@,@@@@X%ppY%pp@@@ @@8@@@9E@;E@:z@@A@@@@@=D@A@@?A@L@ H DBMMEBM@ H OCaml JCKC@ H PDQD3@ H Jerome Vouillon, projet Cristal, INRIA Rocquencourt VE44WE4@ H OCaml port by John Malecki and Xavier Leroy \F]F@ H bGcG@ H Copyright 1996 Institut National de Recherche en Informatique et hHiHg@ H en Automatique. nIhhoIh@ H tJuJ@ H All rights reserved. This file is distributed under the terms of zK{KN@ H the GNU Lesser General Public License version 2.1, with the LOOLO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@ E*************************** Input control ***************************QQ@4** Actives files. **VV@< List of the actives files. XX$@ * Add a file to the list of actives files. \~~\~@ / Remove a file from the list of actives files. ``B@ + Change the controller for the given file. dd@ = Return the controller currently attached to the given file. hh_@ : Execute a function with `controller' attached to `file'. ll@; ### controller file funct mm @5** The "Main Loop" **tt @ : Handle active files until `continue_main_loop' is false. | q q| q @:** Managing user inputs **R  R  @> Are we in interactive mode ? T " "T " D@ ! Where the user input come from. Y } }Y } @: Stop reading user input. ` # #` # A@< Resume reading user input. d x xd x @@#(./ocamlc)-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)-for-pack*ocamldebug"-I(debugger"-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.otherlibs/unix"-I1otherlibs/dynlink"-I.otherlibs/unix"-I1otherlibs/dynlink"-I.otherlibs/unix"-I1otherlibs/dynlink"-c;< 9/builds/workspace/main/flambda/false/label/ocaml-linux-32 J=<;:9876543210/.-,+*)('&%$#@@0mzžFO6>3ZYYZZZZZ@X@@8CamlinternalFormatBasics0%FU(Q/Tuw0'73RDoD4rȐ0)qH ˷ǐ0{pn] &Stdlib0Lku]8_٠0Stdlib__Bigarray0=Jb^%,Stdlib__List0MYm 7R+Stdlib__Seq0nwzG&amg+Stdlib__Sys0 -ռ鱦s5/0ŀ (?@@AVCAK@ đ ΰ ; Euq{@  @@ԑްԑް  @  @  @@!@eo@@@@fp",@*4@@@Pޓ@3@0@@@A@@@@A@>@@@A@@@@BC }@ z@@@@@@@A @ @@@@@@@AB@@@@ @@@@A@@@@B$@!@@@CDE@@