Caml1999I031 L(Odoc_env#env8@@@A@@@@@,odoc_env.mliTT@@@@ @A@%empty@@@@WW@@A@-add_signature@@@@@&stringO@@@#rel&optionJ@@@@@@@%Types)signature@@@3@@@@@@@@@@@@@[!!A[!k@@JC@-add_extension@A@@@@)Odoc_name!t@@@N@@@@@@@@[\ll\\l@@eD@(add_type@\@@@@!t@@@g@@@@@@@@t]u]@@~E@)add_value@u@@@@4!t@@@@@@@@@@@^^@@F@*add_module@@@@@M!t@@@@@@@@@@@__@@G@/add_module_type@@@@@f!t@@@@@@@@@@@``G@@H@)add_class@@@@@!t@@@@@@@@@@@aHHaHq@@I@.add_class_type@@@@@!t@@@@@@@@@@@brrbr@@J@0full_module_name@@@@@!t@@@!t@@@@@@@@ ggN@@K@5full_module_type_name@@@@@!t@@@!t@@@@@@@@)j*j@@3L@?full_module_or_module_type_name@*@@@@!t@@@!t@@@@@@@@EnIIFnI@@OM@.full_type_name@F@@@@!t@@@ !t@@@@@@@@aqbq@@kN@/full_value_name@b@@@@!!t@@@'!t@@@@@@@@}t 5 5~t 5 l@@O@?full_extension_constructor_name@~@@@@=!t@@@C!t@@@@@@@@w  w  @@P@/full_class_name@@@@@Y!t@@@_!t@@@@@@@@z ' 'z ' ^@@Q@4full_class_type_name@@@@@u!t@@@{!t@@@@@@@@}  }  @@R@=full_class_or_class_type_name@@@@@!t@@@!t@@@@@@@@@  @  b@@S@*subst_type@@@@@)type_expr@@@)type_expr@@@@@@@@ E   E  @@T@1subst_module_type@ @@@@+module_type@@@+module_type@@@@@@@@%H L L&H L @@/U@0subst_class_type@&@@@@*class_type@@@*class_type@@@@@@@@AN 2 2BN 2 t@@KV@@x(Odoc_env0"C6I]V0]u(Warnings0zdͦkUe$%Types0lm?ƈ.Type_immediacy0dV^25b)̓ԆSj-Stdlib__Uchar0*Ujmyc6]]W+Stdlib__Set0.z9FX+Stdlib__Seq05"g1<)b+Stdlib__Map0kZ,ҷ'V.Stdlib__Lexing01'jh,-k4,Stdlib__Lazy0C 4 "$p1tU/Stdlib__Hashtbl04$*uկdD.Stdlib__Format0{hXsHW#ȼ.Stdlib__Either0&]XF.Stdlib__Buffer0K ɦb+Z8)#KH"&Stdlib0yӶ~*%Shape0H[DTċwToe@Q)Primitive0յ_9|br$Path0L%SsN|#Ɣj)Parsetree0`ⰧkRE+Outcometree0gCtr#envw]x]@@ @@@ !@@@@@ $@@@*@@ '- @@@]@@E@@@-)add_value^^@б@гb#env^^@@ @@@ 0@F[@A@@б@г!t)Odoc_name^^@@ @@@ @@г#env^^@@ @@@ !@@@@@ $@@@*@@ '- @@@^@@F@@@-*add_module__@б@г#env__@@ @@@ 0@F[@A@@б@г!t)Odoc_name__@@ @@@ @@гȠ#env__@@ @@@ !@@@@@ $@@@*@@ '- @@@_@@&G@@@-/add_module_type``+@б@г점#env%`.&`1@@ @@@ 0''''''''@F[@A@@б@г!t)Odoc_name9`5:`@@@ @@@ @@г #envF`DG`G@@ @@@ !@@@@@ $@@@*@@ '- @@@T`@@kH@@@-)add_class_aHL`aHU@б@г1#envjaHXkaH[@@ @@@ 0llllllll@F[@A@@б@г[!t)Odoc_name~aH_aHj@@ @@@ @@гR#envaHnaHq@@ @@@ !@@@@@ $@@@*@@ '- @@@aHH@@I@@@-.add_class_typebrvbr@б@гv#envbrbr@@ @@@ 0@F[@A@@б@г!t)Odoc_namebrbr@@ @@@ @@г#envbrbr@@ @@@ !@@@@@ $@@@*@@ '- @@@brr@@J@@@-󐠠 6 Retrieving fully qualified names from an environment dd@@@@@@0@=R@A0full_module_namegg*@б@г̠#envg-g0@@ @@@ @@б@г!t)Odoc_nameg4g?@@ @@@ ,@@г!t)Odoc_name'gC(gN@@ @@@ <@@@@@ ?@@@+@@ B. @@@5g@ 1 Get the fully qualified module name from a name.AfBf@@@@@@@YK@@U5full_module_type_nameMjNj@б@г#envXjYj@@ @@@ 0ZZZZZZZZ@ni,@A@@б@гI!t)Odoc_nameljmj@@ @@@ @@гY!t)Odoc_name|j}j@@ @@@ $@@@@@ '@@@-@@ *0 @@@j@M 6 Get the fully qualified module type name from a name.iPPiP@@@@@@@L@@=?full_module_or_module_type_namenIMnIl@б@гt#envnIonIr@@ @@@ 0@Vk,@A@@б@г!t)Odoc_namenIvnI@@ @@@ @@г!t)Odoc_namenInI@@ @@@ $@@@@@ '@@@-@@ *0 @@@nII@ x Get the fully qualified module or module type name from a name. We look for a module type if we don't find a module.lmH@@@@@@@M@@=.full_type_nameqq@б@гɠ#envqq@@ @@@ 0@Vk,@A@@б@г!t)Odoc_nameqq@@ @@@ @@г!t)Odoc_name&q'q@@ @@@ $@@@@@ '@@@-@@ *0 @@@4q@ / Get the fully qualified type name from a name.@pAp@@@@@@@XN@@=/full_value_nameLt 5 9Mt 5 H@б@г#envWt 5 KXt 5 N@@ @@@ 0YYYYYYYY@Vk,@A@@б@гH!t)Odoc_namekt 5 Rlt 5 ]@@ @@@ @@гX!t)Odoc_name{t 5 a|t 5 l@@ @@@ $@@@@@ '@@@-@@ *0 @@@t 5 5@L 0 Get the fully qualified value name from a name.ss 4@@@@@@@O@@=?full_extension_constructor_namew  w  @б@гs#envw  w  @@ @@@ 0@Vk,@A@@б@г!t)Odoc_namew  w  @@ @@@ @@г!t)Odoc_namew  w  @@ @@@ $@@@@@ '@@@-@@ *0 @@@w  @ 4 Get the fully qualified extension name from a name.v n nv n @@@@@@@P@@=/full_class_namez ' +z ' :@б@гȠ#envz ' =z ' @@@ @@@ 0@Vk,@A@@б@г!t)Odoc_namez ' Dz ' O@@ @@@ @@г!t)Odoc_name%z ' S&z ' ^@@ @@@ $@@@@@ '@@@-@@ *0 @@@3z ' '@ 0 Get the fully qualified class name from a name.?y  @y  &@@@@@@@WQ@@=4full_class_type_nameK}  L}  @б@г#envV}  W}  @@ @@@ 0XXXXXXXX@Vk,@A@@б@гG!t)Odoc_namej}  k}  @@ @@@ @@гW!t)Odoc_namez}  {}  @@ @@@ $@@@@@ '@@@-@@ *0 @@@}  @K 5 Get the fully qualified class type name from a name.| ` `| ` @@@@@@@R@@==full_class_or_class_type_name@  !@  >@б@гr#env@  A@  D@@ @@@ 0@Vk,@A@@б@г!t)Odoc_name@  H@  S@@ @@@ @@г!t)Odoc_name@  W@  b@@ @@@ $@@@@@ '@@@-@@ *0 @@@@  @ > Get the fully qualified class or class type name from a name.    @@@@@@@S@@=/ Substitutions B d dB d x@@@@@@0@Mb#@A*subst_typeE  E  @б@гؠ#envE  E  @@ @@@ @@б@гS)type_expr%Types#E  $E  @@ @@@ ,@@гc)type_expr%Types3E  4E  @@ @@@ <@@@@@ ?@@@+@@ B. @@@AE  @ D Replace the [Path.t] by a complete [Path.t] in a [Types.type_expr].MD z zND z @@@@@@@eT@@U1subst_module_typeYH L PZH L a@б@г+#envdH L deH L g@@ @@@ 0ffffffff@ni,@A@@б@г+module_type%TypesxH L kyH L |@@ @@@ @@г+module_type%TypesH L H L @@ @@@ $@@@@@ '@@@-@@ *0 @@@H L L@Y F Replace the [Path.t] by a complete [Path.t] in a [Types.module_type].G  G  K@@@@@@@U@@=0subst_class_typeN 2 6N 2 F@б@г#envN 2 IN 2 L@@ @@@ 0@Vk,@A@@б@г*class_type%TypesN 2 PN 2 `@@ @@@ @@г *class_type%TypesN 2 dN 2 t@@ @@@ $@@@@@ '@@@-@@ *0 @@@N 2 2@ Replace the [Path.t] by a complete [Path.t] in a [Types.class_type]. Also empty the structures to get only [object end] when the type is printed. J  M / 1@@@@@@@V@@=@A@@r @@@{?@8@@v@o3@@@w8@$@@~?@+@@F@!@@}>@@0$$$$$$$$@j@@A@ H************************************************************************-A@@.A@L@ H 3BMM4BM@ H OCaml 9C:C@ H ?D@D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt EE44FE4@ H KFLF@ H Copyright 2001 Institut National de Recherche en Informatique et QGRG@ H en Automatique. WHXHg@ H ]Ihh^Ih@ H All rights reserved. This file is distributed under the terms of cJdJ@ H the GNU Lesser General Public License version 2.1, with the iKjKN@ H special exception on linking described in the file LICENSE. oLOOpLO@ H uMvM@ H************************************************************************{N|N5@ >* Environment for finding complete names from relative names.  G* An environment of known names, from simple name to complete name. 99* The empty environment. ;* Extending an environment  7* Retrieving fully qualified names from an environment  2* Get the fully qualified module name from a name.O 7* Get the fully qualified module type name from a name. y* Get the fully qualified module or module type name from a name. We look for a module type if we don't find a module. 0* Get the fully qualified type name from a name.Y 1* Get the fully qualified value name from a name. 5* Get the fully qualified extension name from a name. 1* Get the fully qualified class name from a name.c 6* Get the fully qualified class type name from a name. ?* Get the fully qualified class or class type name from a name.0* Substitutions  E* Replace the [Path.t] by a complete [Path.t] in a [Types.type_expr].a G* Replace the [Path.t] by a complete [Path.t] in a [Types.module_type]. * Replace the [Path.t] by a complete [Path.t] in a [Types.class_type]. Also empty the structures to get only [object end] when the type is printed. @-../ocamlc.opt)-nostdlib"-I)../stdlib"-I(../utils"-I*../parsing"-I)../typing"-I)../driver"-I+../bytecomp"-I+../toplevel"-I)../stdlib"-I/../compilerlibs"-I0../otherlibs/str"-I4../otherlibs/dynlink"-I;../otherlibs/dynlink/native"-I1../otherlibs/unix(-absname"-w8+a-4-9-41-42-44-45-48-70+-warn-error"+A,-safe-string0-strict-sequence/-strict-formats*-bin-annot*-principal"-cڐ 4/home/barsac/ci/builds/workspace/sanitizers/ocamldoc )('&%$#"! @0w1Zr50@@@(Asttypes0'$O~78CamlinternalFormatBasics0cEXy