Caml1999I037 q )Odoc_misc)no_blanks@&stringQ@@@W@@X@@@Y@@Z@6ocamldoc/odoc_misc.mliUU@@@@@4input_file_as_string@@@@[@@\@@@]@@^@XXJ@@.A@@1split_with_blanks@-@@@_@@`$listK7@@@a@@@b@@c@2[3[@@JB@@3string_of_longident@)Longident!t@@@d@@eQ@@@f@@g@K^L^2@@cC@@.string_of_text@*Odoc_types$text@@@h@@ij@@@j@@k@daTTeaT@@|D@@5string_of_author_list@J@@@l@@@m@@n@@@o@@p@~dd@@E@@5string_of_version_opt@&optionL@@@q@@@r@@s@@@t@@u@g''g'Z@@F@@3string_of_since_opt@@@@v@@@w@@x@@@y@@z@jj@@G@@;string_of_raised_exceptions@@@@@|@w$text@@@{@@}@@@~@@@@@@@@mm[@@H@@-string_of_see@@'see_ref@@@@$text@@@@@@@@@@@@@pp@@I@@.string_of_sees@@'see_ref@@@@$text@@@@@@@@@@+@@@@@@%s  &s  j@@=J@@4string_of_return_opt@$text@@@@@@@@G@@@@@@Av  Bv  @@YK@@.string_of_info@$info@@@@@^@@@@@@Xy  Yy  M@@pL@@)apply_opt@@!a@@@!b@@@@@@@@@@@@@@@@@@@| } }| } @@M@@.string_of_date(absolute$boolE@@@@@@@@$hour@@@@@@@@@%floatD@@@@@@@@@@@@@@@@ , ,@ , p@@N@@,current_date@$unitF@@@@@@@@@@@E  E  1@@O@@6first_sentence_of_text@$text@@@@@$text@@@@@@J  J  @@P@@?first_sentence_and_rest_of_text@$text@@@@@@$text@@@@$text@@@@@@@@ P   Q9@@"Q@@5text_no_title_no_list@$text@@@@@$text@@@@@@#Tuu$Tu@@;R@@+text_concat@$text@@@@@@$text@@@@@@@@$text@@@@@@@@KXLXb@@cS@@2get_titles_in_text@$text@@@@@7@#intA@@@͠@|@@@@@@̠@!$text@@@@@@@@@@@\\$@@T@@2create_index_lists@f!a@@@@@@@@ @@@@@@@@@{@@@@@@@@@@@caaca@@U@@1remove_duplicates@@!a@@@@@@_@@@@@@@@@@@@@@@@@@@@@@@g33g3r@@V@@5remove_ending_newline@@@@@@@@@@@@jj@@W@@6search_string_backward#pat@@@@@!s@@@@@@@@@@@@@ nn@@%X@@-remove_option@%Types)type_expr@@@@@)type_expr@@@@@@(syy)sy@@@Z@@+is_optional@(Asttypes)arg_label@@@@@@@@@@@AvBv@@Y[@@*label_name@)arg_label@@@@@^@@@@@@XzrrYzr@@p\@@@Kޠ)Odoc_misc0b1э(Warnings0Ef{&)Unit_info0'T Χ@aR%Types0"|Vȷ`X .Type_immediacy00$ jbv\"k&-Stdlib__Uchar0=H^V9>ɠ+Stdlib__Sys0b'8=OIn+Stdlib__Set0ܔ@Z8XWaa2+Stdlib__Seq0?72#[O+Stdlib__Map0*4ɇ2.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Buffer0,I[?z&Stdlib0t0VoS%{<F:%Shape0 M``ll)Primitive0dU=\I/}$Path0k.tbGmᠠ)Parsetree0v o[pY Y+Outcometree0BuG^)= 9c *Odoc_types0ϸf%,e8)Longident0wP q;ɡ(Location0nBɊOn?7~ؠ,Identifiable0]/*N %Ident0>ЃzV)j⠠*Format_doc0uy@GmWUࠠ0CamlinternalLazy0zY# #4#-8CamlinternalFormatBasics0|.e1R$|o(Asttypes0eT$BbRM dc@@@Caml1999T037d@#;C)Odoc_misc*ocaml.text&_none_@@A9 Miscellaneous functions 6ocamldoc/odoc_misc.mliP77P7U@@@@@@3@@@@@@#intA;@@#intA@@@@@;@A@$charB;@@$charA@@@@@A@A@&stringQ;@@&stringA@@@@@G@@@%bytesC;@@%bytesA@@@@@M@@@%floatD;@@%floatA@@@@@S@@@$boolE;@@%falsec@@]@$trued@@c@@@A@@@@@d@A@$unitF;@@"()e@@n@@@A@@@@@o@A@ #exnG;@@@A@@@@@s@@@#effH;@@O@A@A@@@@@@|@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@@@@%arrayJ;@@R@A%arrayA@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@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\#$@@@A366@'FailureY#,@'@@A<??@0Invalid_argumentX#5@0@@AE$H#H@-Match_failureV#>@@=@9@;@@a@@AV5Y4Y@)Not_foundZ#O@@@A^=a<a@-Out_of_memoryW#W@@@AfEiDi@.Stack_overflow^#_@@@AnMqLq@.Sys_blocked_io_#g@@@AvUyTy@)Sys_error[#o@j@@A^]@:Undefined_recursive_modulea#x@@w@s@u@@h@@Aon@:Continuation_already_takenb#@@@Awv@&Stdlib@A)no_blanksUU@б@гl&stringUU@@ @@@{@@гy&stringUU@@ @@@|@@@@@}@@~ @@@U @)ocaml.docѐ b [no_blanks s] returns the given string without any blank characters, i.e. '\n' '\r' ' ' '\t'. RWWT@@@@@@@@@@@␠@@@@@@4input_file_as_stringX#X7@б@г&stringX:X@@@ @@@3@a:@A@@гƠ&stringXDXJ@@ @@@@@@@@@@ @@@ X @M 8 This function returns a file in the form of one string.WW@@@@@@@2A@@@]-@@@@@@31split_with_blanks0[1[@б@г&string;[<[@@ @@@3=<<=====@La8@A@@г$listJ[K[@г&stringT[U[@@ @@@@@@@@@ @@@&@@ @@#)@@@f[@ H [split_with_blanks s] splits the given string [s] according to blanks. sZLLtZL@@@@@@@B@@,@@@@@@@B3string_of_longident^^@б@г)Longident!t)Longident^^&@ ^'^(@@@@@@3@f{C@A @@гv&string^,^2@@ @@@@@@@@@@ @@@^ @ 4 This function creates a string from a Longident.t .]]@@@@@@@C@@@ ݐ@@@@@@3.string_of_text/aTXaTf@б@г*Odoc_types$text*Odoc_typesaTiaTs@ aTtaTx@@@@@@3@WwC@A @@г̠&stringaT|aT@@ @@@@@@@@@@ @@@aTT @S: get a string from a text `44 `4S@@@@@@@8D@@@c3@@@@@@35string_of_author_list06d7d@б@г$listAdBd@г&stringKdLd@@ @@@3MLLMMMMM@VvB@A@@@ @@@ @@г&&string_d`d@@ @@@@@@@@@@ @@@ld @ ' @return a string for an authors list. yczc@@@@@@@E@@@@@@@@@85string_of_version_opt1g'+g'@@б@г&optiong'Jg'P@гl&stringg'Cg'I@@ @@@3@[zB@A@@@ @@@ @@г&stringg'Tg'Z@@ @@@@@@@@@@ @@@g'' @ = @return a string for the given optional version information.ff&@@@@@@@F@@@琠@@@@@@83string_of_since_opt2jj@б@гI&optionjj@гƠ&stringjj@@ @@@3@[zB@A@@@ @@@ @@гڠ&stringjj@@ @@@@@@@@@@ @@@ j @a ; @return a string for the given optional since information.-i\\.i\@@@@@@@FG@@@qA@@@@@@8;string_of_raised_exceptions3DmEm/@б@г$listOmMPmQ@В@г$&string]m3^m9@@ @@@3_^^_____@_~F@A@@@г$text*Odoc_typesrm<smF@ vmGwmK@@@@@@ @@@@"@ @@!' @@@< @@@&m2:@@гX&stringmUm[@@ @@@4@@@@@@@9 @@@m @ߐ : @return a string for the given list of raised exceptions.ll@@@@@@@H@@@@@@@@@X-string_of_see4pp@б@В@г'see_ref*Odoc_typespp@ pp@@@@@@3@~E@A @@@г$text*Odoc_typespp@ pp@@@@@@ @@@@"@ @@!, @@гϠ&stringp p@@ @@@.@@@@@@@3> @@@p @V 5 @return a string for the given "see also" reference."o]]#o]@@@@@@@;I@@@f6@@@@@@R.string_of_sees59s  $:s  2@б@г$listDs  \Es  `@В@гg'see_ref*Odoc_typesVs  6Ws  @@ Zs  A[s  H@@@@@@3]\\]]]]]@O@A @@@г$text*Odoc_typesps  Kqs  U@ ts  Vus  Z@@@@@@ @@@@"@ @@!, @@@E @@@&s  5C@@гV&strings  ds  j@@ @@@4@@@@@@@9 @@@s   @ݐ > @return a string for the given list of "see also" references.rr @@@@@@@J@@@@@@@@@X4string_of_return_opt6v  v  @б@г&optionv  v  @г$text*Odoc_typesv  v  @ v  v  @@@@@@3@K@A @@@" @@@@@г&stringv  v  @@ @@@@@@@@@@$ @@@v   @@ < @return a string for the given optional return information. u l l u l @@@@@@@%K@@@P @@@@@@8.string_of_info7#y  #$y  1@б@гC$info*Odoc_types2y  43y  >@ 6y  ?7y  C@@@@@@398899999@ZA@A @@г &stringFy  GGy  M@@ @@@@@@@@@@ @@@Sy   @ . get a string from a Odoc_info.info structure `x  ax  @@@@@@@yL@@@t@@@@@@3)apply_opt8w| } x| } @б@б@А!a@A@3@Jh6@A| } | } @@А!b@A@ | } | } @@@@@ @@@@б@г&option| } | } @А!a)$| } | } @@@/@@@+ @@г &option| } | } @А!b19| } | } @@@7@@@@ @@@@@ @@E!@@@:@@ @@J| } @@@| } }@ ( Apply a function to an optional value. { O O{ O |@@@@@@@M@@+@$@@@@@@j.string_of_date9@ , 0@ , >@б(absoluteг$bool@ , K@ , O@@ @@@3@:@A@@б$hourг̠$bool@ , Y@ , ]@@ @@@@@б@г᠐%float&@ , a'@ , f@@ @@@"@@г&string3@ , j4@ , p@@ @@@/@@@@@@@4 @@2-@@@@@@@>H@ , S@@P J@@@@@@@HR@ , A@@ @U@ , ,"@ s Return a string representing a date given as a number of seconds since 1970. The hour is optionally displayed. b~  c  +@@@@@@@{N@@2@v@@@@@@h,current_date:yE  zE  @б@г($unitE  #E  '@@ @@@3@8@A@@гZ&stringE  +E  1@@ @@@@@@@@@@ @@@E   @@O@@@@6first_sentence_of_text;J  J  @б@г$text*Odoc_typesJ  J  @ J  J  @@@@@@3@<Q(@A @@г$text*Odoc_typesJ  J  @ J  J  @@@@@@ @@@ @@@@( @@@J  @% Return the first sentence (until the first dot) of a text. Don't stop in the middle of [Code], [Verbatim], [List], [Lnum], [Latex], [Link], or [Ref]. G 3 3I  @@@@@@@ P@@@5@@@@@@<?first_sentence_and_rest_of_text<P   P  @б@г($text*Odoc_typesQQ@ QQ@@@@@@3@^|A@A @@В@гD$text*Odoc_types3Q4Q"@ 7Q#8Q'@@@@@@ @@@г\$text*Odoc_typesKQ*LQ4@ OQ5PQ9@@@@@@4 @@@@ @ @@;* @@@C@@ @@@K@@@dP  @ Return the first sentence (until the first dot) of a text, and the remaining text after. Don't stop in the middle of [Code], [Verbatim], [List], [Lnum], [Latex], [Link], or [Ref]. qL  rO  @@@@@@@Q@@%@@@@@@@_5text_no_title_no_list=TuyTu@б@г$text*Odoc_typesTuTu@ TuTu@@@@@@ 3@A@A @@г$text*Odoc_typesTuTu@ TuTu@@@@@@  @@@ @@ @@ ( @@@Tuu@ 4 Return the given [text] without any title or list. S;;S;t@@@@@@@R@@@␠@@@@@@<+text_concat>XX%@б@г$text*Odoc_typesX(X2@ X3X7@@@@@@ 3@^|A@A @@б@г{$list XK XO@г)$text*Odoc_types X; XE@  XF XJ@@@@@@ $ @@@ @@@ )@@гD$text*Odoc_types 3XS 4X]@  7X^ 8Xb@@@@@@ ? @@@@@ @@ D+ @@@L@@  @@ IT@@@ JX@ [ [concat sep l] concats the given list of text [l], each separated with the text [sep].  WV XW@@@@@@@ pS@@#@ k@@@@@@h2get_titles_in_text? n\ o\@б@г$text*Odoc_types }\ ~\@  \ \@@@@@@ 3        @A@A @@г $list \  \$@В@г r#int \ \@@ @@@ @@@г &option \ \ @г &string \ \@@ @@@ 6@@@@@@ ; @@@г$text*Odoc_types \ \@  \ \@@@@@@ S @@@@>@#@ @@ \E@@@Z @@@ a \X@@@j@@  @@ gr]@@@ \`@2 b Return the list of titles in a [text]. A title is a title level, an optional label and a text. Zdd [@@@@@@@ T@@p@B @@@@@@2create_index_lists@ cae caw@б@г $list ca} !ca@А!a@ 'A@ 3 ( ' ' ( ( ( ( (@>@A .caz /ca|@@@ @@@  @@б@б@А!a =ca >ca@@г &string Fca Gca@@ @@@  @@@*@@ @@ % @@г ɠ$list Xca Yca@г Ӡ$list bca cca@А!aB= ica jca@@@H@@@ D @@@@@@ !I @@@-@@ " @@ #N zca"@@@O@@ $ @@ %TR'@@@ caa*@Ð 5 Take a sorted list of elements, a function to get the name of an element and return the list of list of elements, where each list group elements beginning by the same letter. Since the original list is sorted, elements whose name does not begin with a letter should be in the first returned list. ^&& b"`@@@@@@@ U@@:@ @@@@@@s1remove_duplicatesA g37 g3H@б@б@А!a@ 7A@ (3        @6@A g3L g3N@@б@А!a  g3R g3T@@г #int g3X g3[@@ @@@ )@@@#@@ *@@ + @@@(@@ , @@ -#!@@б@г R$list g3c g3g@А!a83 g3` g3b@@@>@@@ /: @@г g$list g3n g3r@А!aMH g3k g3m@@@S@@@ 1O @@@@@ 2 @@ 3T!@@@:@@ 4 @@ 5Y g3K@@@ g33@ R [remove_duplicates compare li] removes the duplicates in the input list, keeping the leftmost occurrence of each repeated element.  e f2@@@@@@@ 7V@@+@ b 2@@@@@@y5remove_ending_newlineB 5j 6j@б@г &string @j Aj@@ @@@ 83 B A A B B B B B@8@A@@г &string Oj Pj@@ @@@ 9@@@@@ :@@ ; @@@ \j @ L [remove_ending_newline s] returns [s] without the optional ending newline.  iitt jit@@@@@@@ W@@@  }@@@@@@36search_string_backwardC n n@б#patг T&string n n@@ @@@ <3        @Nc:@A@@б!sг g&string n n@@ @@@ =@@г #int n n@@ @@@ > @@@@ ?@@ @% n @@7.@@ A @@ B+ n@@@ n@  [search_string_backward pat s] searches backward string [pat] in string [s]. Return position in string [s] where [pat] appears, orelse raise [Not_found].  l mE@@@@@@@ X@@$@  ␠@@@@@@K-remove_option sy} sy@б@г%Types)type_expr%Types sy sy@  sy sy@@@@@@*3        @oC@A @@г)type_expr%Types sy sy@  sy sy@@@@@@+ @@@ @@,@@-( @@@ syy@ a Take a type and remove the option top constructor. This is useful when printing labels, we then remove the top option constructor for optional labels. -p .r_x@@@@@@@ FZ@@@ q A@@@@@@<+is_optional Dv Ev@б@г(Asttypes)arg_label(Asttypes Uv Vv@  Yv Zv @@@@@@b3 \ [ [ \ \ \ \ \@`C@A @@г $bool iv  jv@@ @@@c@@@@@d@@e @@@ vv @ . Return [true] if the given label is optional. u u@@@@@@@ [@@@  @@@@@@3*label_name  zrv zr@б@гV)arg_label(Asttypes zr zr@  zr zr@@@@@@f3        @UuA@A @@г &string zr zr@@ @@@g@@@@@h@@i @@@ zrr @ Y Return the label name for the given label, i.e. removes the beginning '?' if present. x yBq@@@@@@@ \@@@  될@@@@@@3@ R +@  @  @ h 4@  @  @ h 0@ @\@<@b@B@@1@@h@a&@@M@-@!@@r@@Y@9@@V@@3        @lX@A@ H************************************************************************ $A@@ %A@L@ H  *BMM +BM@ H OCaml  0C 1C@ H  6D 7D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt  * @return a string for the given optional version information. <* @return a string for the given optional since information. c ;* @return a string for the given list of raised exceptions.蠠 6* @return a string for the given "see also" reference.t ?* @return a string for the given list of "see also" references. =* @return a string for the given optional return information. /* get a string from a Odoc_info.info structure ? )* Apply a function to an optional value.   t* Return a string representing a date given as a number of seconds since 1970. The hour is optionally displayed. C Value returned by string_of_date for current time. * Uses environment variable SOURCE_DATE_EPOCH if set; falls back to * current timestamp otherwise.  B r r D  @ * Return the first sentence (until the first dot) of a text. Don't stop in the middle of [Code], [Verbatim], [List], [Lnum], [Latex], [Link], or [Ref].  * Return the first sentence (until the first dot) of a text, and the remaining text after. Don't stop in the middle of [Code], [Verbatim], [List], [Lnum], [Latex], [Link], or [Ref]. @ 5* Return the given [text] without any title or list. 栠 \* [concat sep l] concats the given list of text [l], each separated with the text [sep]. ` c* Return the list of titles in a [text]. A title is a title level, an optional label and a text. 6* Take a sorted list of elements, a function to get the name of an element and return the list of list of elements, where each list group elements beginning by the same letter. Since the original list is sorted, elements whose name does not begin with a letter should be in the first returned list.. * [remove_duplicates compare li] removes the duplicates in the input list, keeping the leftmost occurrence of each repeated element.  M* [remove_ending_newline s] returns [s] without the optional ending newline. Z * [search_string_backward pat s] searches backward string [pat] in string [s]. Return position in string [s] where [pat] appears, orelse raise [Not_found].  * Take a type and remove the option top constructor. This is useful when printing labels, we then remove the top option constructor for optional labels. /* Return [true] if the given label is optional.I Z* Return the label name for the given label, i.e. removes the beginning '?' if present.@(./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"-I(ocamldoc"-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"-c =/builds/workspace/precheck/flambda/false/label/ocaml-linux-32 <10/.-,+*)('&%$#"! @@0/vڳ(JN3"!!"""""@ @@(Asttypes0eT$BbRM dc8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N (Location0nBɊOn?7~ؠ 0wP q;ɡe0b1э d0ϸf%,e8+Outcometree0BuG^)= 9c )Parsetree0v o[pY Y$Path0k.tbGmᠠ)Primitive0dU=\I/}%Shape0 M``ll&Stdlib0t0VoS%{<F:.Stdlib__Buffer0,I[?z.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format0b HvkR/Stdlib__Hashtbl0(L%bԠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e+Stdlib__Map0*4ɇ2ɠ.Type_immediacy00$ jbv\"k&0"|Vȷ`X )Unit_info0'T Χ@aR(Warnings0Ef{&@0b1эA\Cn@^   @U@°Ӑkq  C@ ^ @@G@@@l@ 6 @Bp@@@v ʐ @  c $ k | @n@ՐU'u Ր = N  ΐ @@P@@