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;@@A@@@@@9@A@$charB;@@A@@@@@>@A@&stringQ;@@A@@@@@C@@@%bytesC;@@A@@@@@H@@@%floatD;@@A@@@@@M@@@$boolE;@@%falsec@@W@$trued@@]@@@A@@@@@^@A@$unitF;@@"()e@@h@@@A@@@@@i@A@ #exnG;@@@A@@@@@m@@@#effH;@@O@A@A@@@@@@v@@@,continuationI;@@Q@@P@B A@nY@@@@@@@@@%arrayJ;@@R@AA@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&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@@A5$8#8@-Match_failureV#>@@=@9@;@@a@@AF5I4I@)Not_foundZ#O@@@AN=Q<Q@-Out_of_memoryW#W@@@AVEYDY@.Stack_overflow^#_@@@A^MaLa@.Sys_blocked_io_#g@@@AfUiTi@)Sys_error[#o@j@@Ao^r]r@:Undefined_recursive_modulea#x@@w@s@u@@h@@Aon@:Continuation_already_takenb#@@@Awv@&Stdlib@A)no_blanksUU@б@г_&stringUU@@ @@@{@@гl&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. W W@@@@@@@"A@@@]@@@@@@31split_with_blanks [![@б@г&string+[,[@@ @@@3--------@La8@A@@г$list:[;[@г&stringD[E[@@ @@@@@@@@@ @@@&@@ @@#)@@@V[@ H [split_with_blanks s] splits the given string [s] according to blanks. cZLLdZL@@@@@@@|B@@,@w@@@@@@B3string_of_longidentz^{^@б@г)Longident!t)Longident^^&@ ^'^(@@@@@@3@f{C@A @@гi&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@@@@@@@(D@@@c#@@@@@@35string_of_author_list0&d'd@б@г$list1d2d@г&string;d @@@p @V 5 @return a string for the given "see also" reference.o]]o]@@@@@@@+I@@@f&@@@@@@R.string_of_sees5)s  $*s  2@б@г$list4s  \5s  `@В@гg'see_ref*Odoc_typesFs  6Gs  @@ Js  AKs  H@@@@@@3MMMMMMMM@O@A @@@г$text*Odoc_types`s  Kas  U@ ds  Ves  Z@@@@@@ @@@@"@ @@!, @@@E @@@&ws  5C@@гI&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 lu l @@@@@@@K@@@P@@@@@@8.string_of_info7y  #y  1@б@гC$info*Odoc_types"y  4#y  >@ &y  ?'y  C@@@@@@3))))))))@ZA@A @@г&string6y  G7y  M@@ @@@@@@@@@@ @@@Cy   @ . get a string from a Odoc_info.info structure Px  Qx  @@@@@@@iL@@@d@@@@@@3)apply_opt8g| } h| } @б@б@А!a@A@3rrrrrrrr@Jh6@Ax| } y| } @@А!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@@ @@@"@@г&string#@ , j$@ , p@@ @@@/@@@@@@@4 @@2-@@@@@@@>8@ , S@@P J@@@@@@@HB@ , A@@ @E@ , ,"@ s Return a string representing a date given as a number of seconds since 1970. The hour is optionally displayed. R~  S  +@@@@@@@kN@@2@f@@@@@@h,current_date:iE  jE  @б@г$unittE  #uE  '@@ @@@3vvvvvvvv@8@A@@гM&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@  Q Q@@@@@@3@^|A@A @@В@гD$text*Odoc_types#Q$Q"@ 'Q#(Q'@@@@@@ @@@г\$text*Odoc_types;Q*<Q4@ ?Q5@Q9@@@@@@4 @@@@ @ @@;* @@@C@@ @@@K@@@TP  @ 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]. aL  bO  @@@@@@@zQ@@%@u@@@@@@_5text_no_title_no_list=xTuyyTu@б@г$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 @@б@гs$listXKXO@г)$text*Odoc_types X; XE@  XF XJ@@@@@@ $ @@@ @@@ )@@гD$text*Odoc_types #XS $X]@  'X^ (Xb@@@@@@ ? @@@@@ @@ D+ @@@L@@  @@ IT@@@ :X@ [ [concat sep l] concats the given list of text [l], each separated with the text [sep].  GV HW@@@@@@@ `S@@#@ [@@@@@@h2get_titles_in_text? ^\ _\@б@г$text*Odoc_types m\ n\@  q\ r\@@@@@@ 3 t t t t t t t t@A@A @@г$list \  \$@В@г c#int \ \@@ @@@ @@@г&option \ \ @г r&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 6ca 7ca@@ @@@  @@@*@@ @@ % @@г $list Hca Ica@г ˠ$list Rca Sca@А!aB= Yca Zca@@@H@@@ D @@@@@@ !I @@@-@@ " @@ #N jca"@@@O@@ $ @@ %TR'@@@ rcaa*@Ð 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[@@ @@@ )@@@#@@ *@@ + @@@(@@ , @@ -#!@@б@г J$list g3c g3g@А!a83 g3` g3b@@@>@@@ /: @@г _$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@@@@@@@ 'V@@+@ b "@@@@@@y5remove_ending_newlineB %j &j@б@г &string 0j 1j@@ @@@ 83 2 2 2 2 2 2 2 2@8@A@@г &string ?j @j@@ @@@ 9@@@@@ :@@ ; @@@ Lj @ L [remove_ending_newline s] returns [s] without the optional ending newline.  Yitt Zit@@@@@@@ rW@@@  m@@@@@@36search_string_backwardC pn qn@б#patг G&string }n ~n@@ @@@ <3        @Nc:@A@@б!sг Z&string n n@@ @@@ =@@г q#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@@@@@@@ 6Z@@@ q 1@@@@@@<+is_optional 4v 5v@б@г(Asttypes)arg_label(Asttypes Ev Fv@  Iv Jv @@@@@@b3 L L L L L L L L@`C@A @@г $bool Yv  Zv@@ @@@c@@@@@d@@e @@@ fv @ . Return [true] if the given label is optional. su tu@@@@@@@ [@@@  @@@@@@3*label_name  zrv zr@б@гV)arg_label(Asttypes zr zr@  zr zr@@@@@@f3        @UuA@A @@г w&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  C !C@ H  &D 'D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt  ,E44 -E4@ H  2F 3F@ H Copyright 2001 Institut National de Recherche en Informatique et  8G 9G@ H en Automatique.  >H ?Hg@ H  DIhh EIh@ H All rights reserved. This file is distributed under the terms of  JJ KJ@ H the GNU Lesser General Public License version 2.1, with the  PK QKN@ H special exception on linking described in the file LICENSE.  VLOO WLO@ H  \M ]M@ H************************************************************************ bN cN5@:* Miscellaneous functions  h c* [no_blanks s] returns the given string without any blank characters, i.e. '\n' '\r' ' ' '\t'.  9* This function returns a file in the form of one string. e I* [split_with_blanks s] splits the given string [s] according to blanks.   5* This function creates a string from a Longident.t . ;* get a string from a text  h (* @return a string for an authors list.   >* @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.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(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  J/home/ci/builds/workspace/precheck/flambda/false/label/ocaml-ubuntu-latest <10/.-,+*)('&%$#"! @@0/vڳ(JN3@@@(Asttypes0eT$BbRM dc8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N (Location0nBɊOn?7~ؠ 0wP q;ɡU0b1э 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@@