Caml1999I037g o)Odoc_misc)no_blanks@&stringQ@@@Z@@[@@@\@@]@6ocamldoc/odoc_misc.mliUU@@@@@4input_file_as_string@@@@^@@_@@@`@@a@XXJ@@.A@@1split_with_blanks@-@@@b@@c$listK7@@@d@@@e@@f@2[3[@@JB@@3string_of_longident@)Longident!t@@@g@@hQ@@@i@@j@K^L^2@@cC@@.string_of_text@*Odoc_types$text@@@k@@lj@@@m@@n@daTTeaT@@|D@@5string_of_author_list@J@@@o@@@p@@q@@@r@@s@~dd@@E@@5string_of_version_opt@&optionL@@@t@@@u@@v@@@w@@x@g''g'Z@@F@@3string_of_since_opt@@@@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@@@@E  E  )@@O@@6first_sentence_of_text@w$text@@@@@}$text@@@@@@J  J  @@P@@?first_sentence_and_rest_of_text@$text@@@@@@$text@@@@$text@@@@@@@@P  Q 1@@Q@@5text_no_title_no_list@$text@@@@@$text@@@@@@TmmTm@@1R@@+text_concat@$text@@@@@@ $text@@@@@@@@$text@@@@@@@@AXBXZ@@YS@@2get_titles_in_text@$text@@@@@-@#intA@@@͠@٠r@@@@@@̠@$text@@@@@@@@@@@v\w\@@T@@2create_index_lists@\!a@@@@@@@@ @@@@@@@@@qu@@@@@@@@@@@cYYcY@@U@@1remove_duplicates@@!a@@@@@@_@@@@@@@@@@@@@@@@@@@@@@@g++g+j@@V@@5remove_ending_newline@@@@@@@@@@@@jj@@W@@6search_string_backward#pat@@@@@!s@@@@@@@@@@@@@nn@@X@@-remove_option@%Types)type_expr@@@@@)type_expr@@@@@@sqqsq@@6Z@@+is_optional@(Asttypes)arg_label@@@@@@@@@@@7v8v @@O[@@*label_name@)arg_label@@@@@T@@@@@@NzjjOzj@@f\@@@Kޠ)Odoc_misc0+ʮd~aƓKd(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  @г<&stringrE  #sE  )@@ @@@3tttttttt@6@A@@@|E   @@O@@ @@6first_sentence_of_text;J  J  @б@г$text*Odoc_typesJ  J  @ J  J  @@@@@@3@*=(@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 + +I  @@@@@@@P@@@!ᐠ@@@@@@<?first_sentence_and_rest_of_text<P  P  @б@г$text*Odoc_typesQ  Q @ Q Q  @@@@@@3@^|A@A @@В@г0$text*Odoc_typesQ Q @ Q Q @@@@@@ @@@гH$text*Odoc_types'Q "(Q ,@ +Q -,Q 1@@@@@@4 @@@@ @ @@;* @@@C@@ @@@K@@@@P  @ 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]. ML  NO  @@@@@@@fQ@@%@a@@@@@@_5text_no_title_no_list=dTmqeTm@б@г$text*Odoc_typessTmtTm@ wTmxTm@@@@@@3zzzzzzzz@A@A @@г$text*Odoc_typesTmTm@ TmTm@@@@@@ @@@ @@@@ ( @@@Tmm@ 4 Return the given [text] without any title or list. S33S3l@@@@@@@R@@@@@@@@@<+text_concat>XX@б@г$text*Odoc_typesX X*@ X+X/@@@@@@ 3@^|A@A @@б@г_$listXCXG@г$text*Odoc_typesX3X=@ X>XB@@@@@@ $ @@@ @@@ )@@г0$text*Odoc_types XK XU@  XV XZ@@@@@@ ? @@@@@ @@ D+ @@@L@@  @@ IT@@@ &X@w [ [concat sep l] concats the given list of text [l], each separated with the text [sep].  3V 4W @@@@@@@ LS@@#@ G@@@@@@h2get_titles_in_text? J\ K\@б@гz$text*Odoc_types Y\ Z\@  ]\ ^\@@@@@@ 3 ` ` ` ` ` ` ` `@A@A @@г栐$list m\ n\@В@г O#int {\ |\@@ @@@ @@@г栐&option \ \@г ^&string \ \@@ @@@ 6@@@@@@ ; @@@г$text*Odoc_types \ \@  \ \@@@@@@ S @@@@>@#@ @@ \E@@@Z @@@ a \X@@@j@@  @@ gr]@@@ \`@ b Return the list of titles in a [text]. A title is a title level, an optional label and a text. Z\\ [@@@@@@@ T@@p@. @@@@@@2create_index_lists@ cY] cYo@б@г u$list cYu cYy@А!a@ $A@ 3        @>@A cYr cYt@@@ @@@  @@б@б@А!a cY~ cY@@г 점&string "cY #cY@@ @@@  @@@*@@ @@ % @@г $list 4cY 5cY@г $list >cY ?cY@А!aB= EcY FcY@@@H@@@ D @@@@@@ I @@@-@@  @@ N VcY}"@@@O@@ ! @@ "TR'@@@ ^cYY*@ 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. k^ lbX@@@@@@@ U@@:@ @@@@@@s1remove_duplicatesA g+/ g+@@б@б@А!a@ 4A@ %3        @6@A g+D g+F@@б@А!a  g+J g+L@@г x#int g+P g+S@@ @@@ &@@@#@@ '@@ ( @@@(@@ ) @@ *#!@@б@г 6$list g+[ g+_@А!a83 g+X g+Z@@@>@@@ ,: @@г K$list g+f g+j@А!aMH g+c g+e@@@S@@@ .O @@@@@ / @@ 0T!@@@:@@ 1 @@ 2Y g+C@@@ g++@ > [remove_duplicates compare li] removes the duplicates in the input list, keeping the leftmost occurrence of each repeated element.  e f*@@@@@@@ V@@+@ N @@@@@@y5remove_ending_newlineB j j@б@г 栐&string j j@@ @@@ 53        @8@A@@г &string +j ,j@@ @@@ 6@@@@@ 7@@ 8 @@@ 8j @ L [remove_ending_newline s] returns [s] without the optional ending newline.  Eill Fil@@@@@@@ ^W@@@  Y@@@@@@36search_string_backwardC \n ]n@б#patг 3&string in jn@@ @@@ 93 k k k k k k k k@Nc:@A@@б!sг F&string |n }n@@ @@@ :@@г ]#int n n@@ @@@ ; @@@@ <@@ =% n @@7.@@ > @@ ?+ 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 m=@@@@@@@ X@@$@  @@@@@@K-remove_option squ sq@б@г%Types)type_expr%Types sq sq@  sq sq@@@@@@'3        @oC@A @@г)type_expr%Types sq sq@  sq sq@@@@@@( @@@ @@)@@*( @@@ sqq@ M 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 rWp@@@@@@@ "Z@@@ ] @@@@@@<+is_optional v !v@б@г(Asttypes)arg_label(Asttypes 1v 2v@  5v 6v@@@@@@_3 8 8 8 8 8 8 8 8@`C@A @@г $bool Ev Fv @@ @@@`@@@@@a@@b @@@ Rv @ . Return [true] if the given label is optional. _u `u@@@@@@@ x[@@@  s@@@@@@3*label_name  vzjn wzjx@б@гV)arg_label(Asttypes zj{ zj@  zj zj@@@@@@c3        @UuA@A @@г c&string zj zj@@ @@@d@@@@@e@@f @@@ zjj @ Y Return the label name for the given label, i.e. removes the beginning '?' if present. x   y:i@@@@@@@ \@@@  ǐ@@@@@@3@ > @  @  t@ T @  @  t@ T @@H@(@N@.@@{@@}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  F F@ H Copyright 2001 Institut National de Recherche en Informatique et  $G %G@ H en Automatique.  *H +Hg@ H  0Ihh 1Ih@ H All rights reserved. This file is distributed under the terms of  6J 7J@ H the GNU Lesser General Public License version 2.1, with the  * @return a string for the given optional version information. <* @return a string for the given optional since information. O ;* @return a string for the given list of raised exceptions.Ԡ 6* @return a string for the given "see also" reference.` ?* @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. / 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  T/home/teraram/ci/builds/workspace/parallel-build/flambda/false/label/ocaml-manycores <10/.-,+*)('&%$#"! @@0 Ty]&3        @ @@(Asttypes0eT$BbRM dc8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N (Location0nBɊOn?7~ؠ 0wP q;ɡA0+ʮd~aƓKd P0ϸ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__Format00FClW/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{&@0+ʮd~aƓKdA\Cn@^  @U@°Ӑk]а  /@ J @@G@@@X@ " @B\@@q@v  @  O  W h @n@ՐU'u  ) :   @@P@@