Caml1999T031ya^<*Odoc_printР&Stdlib&Format-odoc_print.mlP7<P7B@@ 0@@@@%arrayH8@@M@A@A@@@@@@&_none_@@A@@@ $boolE8@@%false^@@ @$true_@@@@@A@@@@@@A@$charB8@@@A@@@@@@A@#exnG8@@AA@@@@@@@@5extension_constructorP8@@@A@@@@@ @@@%floatD8@@@A@@@@@$@@@*floatarrayQ8@@@A@@@@@(@@@#intA8@@@A@@@@@,@A@%int32L8@@@A@@@@@0@@@%int64M8@@@A@@@@@4@@@&lazy_tN8=@O@A@A@Y@@@@@<@@@$listI8E@P@A"[]a@@H@"::b@@@Q@@U@ @@A@Y@@@@@X@@@)nativeintK8@@@A@@@@@\@@@&optionJ8e@S@A$Nonec@@h@$Somed@@o@@@A@Y@@@@@r@@@&stringO8@@@A@@@@@v@@@$unitF8@@"()`@@@@@A@@@@@@A@ .Assert_failure\ m@@@@Jj@@@@@@V@@A=ocaml.warn_on_literal_pattern@0Division_by_zeroY @@@A @+End_of_fileX  @@@A@'FailureU (@$@@A@0Invalid_argumentT 1@-@@A#@-Match_failureR :@956@@\@@AƠ1@ )Not_foundV H@@@AΠ9@-Out_of_memoryS P@@@A֠A@.Stack_overflowZ X@@@AޠI@.Sys_blocked_io[ `@@@A栰Q@)Sys_errorW h@d@@AZ@:Undefined_recursive_module] q@plm@@c@@Ah@ %bytesC8@@@A@@@@@@@@9@@@@A0--------@-<@@5P774@@5@022222222@1@@@Ġ"()CQCGDQCI@8@@@U@@@@A@@A@@@@ @@@@@ 0JJJJJJJJ@@@@డ(Printtyp.Naming_context&enable(PrinttypaQCLbQCj@@$boolE@@@$unitF@@@@@@3typing/printtyp.mlizz @@(PrinttypU@@@@@A@@@A@@A@2@@ภ%falseQCkQCp@8U_@@@N@@@@B@@Ae@@X@ @@/@@B@B@I@@8@@OB@L@@QCC@@@O@ࠠ'new_fmtSrvSr}@@@@l@@@A@&Stdlib&Format)formatter@@@A@@@@@&stringO@@@@@A@@@A@@@A@@@%param栰ĠSr~Sr@@@@@20@>Srr\<J@@@@@@ࠠ#bufTT@@@;&Buffer!t@@@5C@0@@@@డ &Buffer&create T T@@#intA@@@@@@@@@*buffer.mlidd @@.Stdlib__BufferA@@@@@C@.@@C@@C@*@@/T0T@@%@@D@6D@:D@9:@@. @@B;@@:T @@@ࠠ#fmt?EUFU@@@@@@]C@<0HHHHHHHH@la[@\@bA@@@డ^3formatter_of_bufferZU[U@@&Stdlib&Buffer!t@@@ d@@@ c@@ b@*format.mli@@.Stdlib__Format@@@@@C@@@@C@?@C@>.@@ఐ#bufUU@8@@-@@D@^D@dD@cB@@6 @@FC@@U @@@ࠠ%flushVV@@@@_@@@jC@g@@@C@h@@iC@f0@anh@i@B@@@@堰ĠyVV@x@@@@0@@@@@డ.pp_print_flushWW@@@@@ @$unitF@@@ @@@ @@ @@ @rl66sl66@@qf@@@)@@E@s@@@E@r@@E@q@E@p@E@o2@@ఐ#fmtWW@M@@E@@F@F@F@F@@ภʰ W W@@@@=@@F@~F@V@@K@@v@@D@E@}]@@ࠠ!s%X&X@@@\@@@E@@డ:&Buffer(contents9X:X@@G@@@s@@@@@@+r  ,r  @@*B@@@T@@E@@@E@@E@@@ఐi#buf[X\X@@@k@@F@F@F@@@- @@<@@gX @@డw&Buffer%resetvYwY*@@@@@$unitF@@@@@@kV  lV  @@jI@@@@@E@@@E@@E@0@rl@m@D@@@@ఐ#bufY+Y.@R@@@@F@F@F@@@4 @@@@D@E@@ఐ!sZ15Z16@%@@(@D@@)@T@@@@@C@l@@AA@@@@@@V @@ఐ#fmt\<?\<B@ @@0@$:4@5@C@@@ఐ@%flush\<D\<I@ @@@@\<>@@(@B@@$@@9@V@@@@@3A@@@A A@@=8@@@@@@@ࠠ(type_fmt^LQ^LY@@@E@@@A@0@a[@\@@@@@ࠠ.flush_type_fmt^L[^Li@@@@@@@K@@@@@A@@@^LP^Lj@@#@@@ఐ'new_fmt,^Lm-^Lt@(@@@@@A@{@@A@Ǡ@@@A@r@@A@@A@@A@@A@?@@ภ K^LuL^Lw@@@@ @@B@B@O@@(@@7A@R@@W^LL @@ @U@@`_x|a_x}@@@@@A@0cccccccc@fsm@n@~Eb\@]@F@@@@ࠠ'outfunsy`z`@@@7formatter_out_functions@@@B@@డ>pp_get_formatter_out_functions``@@@@@ ;@@@@ :@@@ 9@@ 8@@ 7@1doo2e@@0q@@@@@B@@@@B@.@@B@@B@@B@G@@ఐ(type_fmt``@P@@@@C@C@C@[@@ภ``@@@@:@@C@C@k@@H@@Vl@@` @@డ>pp_set_formatter_out_functionsaa@@(@@@ 3@k@@@ 2@@@ 1@@ 0@@ /@RS@@o@@@:@@A@@}@@A@@@A@@A@@A@0@@@G@@@@ఐ(type_fmtaa@@@Z@@B@B@B@@@Р,*out_string@@@ .@&stringO@@@ !@#intA@@@ @@@@ g@@@ @@ @@ @@ @@ ,)out_flush @p@@@ $t@@@ #@@ "@A @A4|j|l4|j|@@k,+out_newline0@@@@ '@@@ &@@ %@B@A5||5||@@l,*out_spaces@@5@@@ *@@@ )@@ (@C-@A6||6||@@m,*out_indentP@E@@@ -@@@ ,@@ +@D=@A7||7||@@n@A3|=|?3|=|i@@j@b@@B@p@_@@B@o@\@@B@n[@@B@m@B@l@B@k@B@jB@bZ@[@@B@yZ@@B@x@B@wB@sV+out_newlinebb@@꠰Ġub b@t@@@@f@@F@0@@ఐO'outfunsbb@ǰ@@O@@F@=@5@*out_stringbb$@@@@@@D@<@@@D@;@@@D@:@@D@9@D@8@D@7@D@6@@# b&b*@@b%b+@@@@E@NE@PE@O@@@b,b-@@@@E@ME@RE@Q @@Cb.b/@@@@E@LE@TE@S@@V @@@@D@XD@W"@@A$b@@@@@C@&@@C@%@C@$C@\.@А@@@B@@@B@@B@B@̐@@@B@@@B@@B@B@@ఐ֠'outfunsObPb@N@@@@B@B@B@aX@Zb[b0@@@@B@B@`@@@@a@@@@@d_xx @@ @@ࠠ+modtype_fmttd27ud2B@@@@@@A@0wwwwwwww@@@@ࠠ1flush_modtype_fmtd2Dd2U@@@@E@@@@@@@@A@@@d26d2V@@ @@@ఐ'new_fmtd2Yd2`@@@@`@@A@@@A@@l@@A@@@A@@A@@A@@A@<@@ภ~d2ad2c@}@@@@@B@B@L@@(@@7A@O@@d22 @@ @R@ࠠ3string_of_type_exprihlih@@@@%Types)type_expr@@@A@@@@ @A@@@A@0@|@}@Htn@o@I@@@@!tihih@@@#0@/ihhk@@@@@డ2shared_type_scheme(Printtypjj@@&Stdlib&Format)formatter@@@@F@@@@@@@@@@@@@k@@@@@B@@Y@@B@@@B@@B@@B@0<<<<<<<<@?Kd@B@VK@@@@ఐS(type_fmtOjPj@@@:@@C@C@C@@@ఐg!tcjdj@"@@%@@P@@R@@A@ 6B@+@ఐf.flush_type_fmtukvk@ @@@4@@A@ :@@A@ 9@A@ 8?@@ภFk@D@@@F@@B@ AB@ EN@@@@O@z@@A@R@@AA@@@@ H0@@@@@@@(Use_codeZAmm@ @ @@@ I@@Amm@@M@г &stringm @@0@@@J@@@@@@@@@@ࠠ1simpl_module_type[u9=u9N@@@$codeM4@@@ B@ O@@@ PB@ L@%Types+module_type@@@!-B@ X B@ Y@@ ZB@ M@@ NB@ K0@7SM@@@""]'u9Pu9T@@@('@@C@ T0@<u99E  @@@@@@!t^u9Uu9V@@@10@#BA@@@ S@@,O@@@@Р%Types%Types'vYd(vYi@@ 0&&&&&&&&@%L@@@P@@@@A0********@@@2vY_ @@Aࠠ$iter_=wmw>wm{@@@@`@@@ C@ `C@ a@C@ c0DDDDDDDD@@@@@!t`Twm|Uwm}@@@0RRRRRRRR@) @@@ bD@ _@@pQ@@@@ఐ!thxix@)@@}R@@+0hhhhhhhh@#@@@Ġ)Mty_ident{y|y@8)Mty_ident@@@@$Path!t@@@z@A@@D@A0typing/types.mliBMMBMM@@@@yy@@@@G@ j0@,@@@@@ @@Y@@Y@Ġ)Mty_aliaszz@8)Mty_alias(@%!t@@@~@AC@D@A#EN<N>$EN<NS@@@ @zz@@@@G@ m"@@@@@z#@@z#@@B@@{$@@ఐt!tzz@\@@C@ hC@ 1@Ġ-Mty_signature{{@8-Mty_signatureY@)signature@@@{@AA@D@ASCMMTCMN@@@ @{{@@@@F@ p0@~@@@@@@@@@@@ఐ$code}}@@@%$@@@ @Ġ$None ~  ~ @8w@@T@@@@AA@A@@z@@ @@<;@@G@ {@@{@@ภ-Mty_signature ~  ~ @Fภ"[] #~  $~ @8@@R@@@@AA@A@@@ @@U@@E@ E@ @@@@mC@ C@ @Ġ$Some @  % A  )@89@A@AA@A @@ࠠ!se K  * L  +@@@xB@ H@ f@@@@@~}@@G@ k@@k@@డ b%raise _  / `  4@@#exnG@@@!a@@@&%raiseAA @@@*stdlib.mli^BB^Bg@@@@@@@@E@ NC@ E@ @E@ 0 } } } } } } } }@=7@8@ S@@@@ภ(Use_code   6   >@8@@@ J@A@@A@@ఐT!s   ?   @@@@T @@   5   A@@C@@F@ F@ (@@L@@+)@@A | @ B K@@|C@ @Ġ+Mty_functor A L R A L ]@8+Mty_functor?@1functor_parameter@@@|@@@}@BB@D@A=DN N >DN N;@@@ Ġ$Unit A L _ A L c@8$Unit@@@@@@@AA@APHNmNoQHNmNu@@@ @@  @@"@@F@ v0        @w@@@ࠠ"mta A L e A L g@@@ @@@ w@@@9 A L h@@@@@@ภ+Mty_functor A L l A L w@@ภ$Unit A L y A L }@/@@@I@@D@ D@ 0        @%@ @ T@@@ఐܠ$iter A L  A L @°@@@@D@ @@ఐ<"mt (A L  )A L @@@dE@ "@@@@#@@5 /A L @@kC@ C@ )@Ġ+Mty_functor >B   ?B  @Ġ%Named GB   HB  @8%Nameds@&optionJ%Ident!t@@@@@@x@@@@B@AA@AINvNxINvN@@@{ ࠠ$nameb kB   lB  @@@"@@@ @@@ @ࠠ#mt1c |B   }B  @@@@@@ @@@< B  @@@@F@ @ࠠ#mt2d B   B  @@@@@@ '@@@W B  @@T)@@T)@@ภ+Mty_functor C   C  @ภ%Named C   C  @^ఐD$name C   C  @D@E@ U@@li@@D@ @@D@ D@ D@ 0        @U\KE@F@ V;5@6@ W@@@ఐ$iter C   C  @z@@@@D@ @@ఐd#mt1 C   C  @@@E@ &@@@@'@@B C  @@+@@D@ D@ .@ఐ$iter C   C  @@@@@D@ =@@ఐx#mt2 C   C  @C@@BE@ L@@@@M@@q C  @@IC@ C@ S@@A x@@MC@ f}@@A A@@@@!$0        @@@@@ wmo@@ఐ蠐$iter %E   &E  @ΰ@@@F@@B@!(@B@!'@@ఐ+!t 7E  3@ 4@@W@@5@@V@ 6@@W@  > > > > > > >@0@@@@A Eu9OAA@xts@@@!4n@@!30 G G G G G G G G@L@@@)ocaml.doc $ R Return the given module type where methods and vals have been removed from the signatures. Used when we don't want to print a too long module type. @param code when the code is given, we raise the [Use_code] exception if we encounter a signature, so that the calling function can use the code rather than the "emptied" type.  Zo [t68@@@@@@@Y@YX@o@ࠠ5string_of_module_typef hG   iG  @@@$code@@@!B@!9@@@!:B@!6(complete [@@@!pB@!E@@@!FB@!B@+module_type@@@!B@!i @@@!B@!j@@!kB@!C@@!DB@!7@@!8B@!50        @@@ N@@@55h: G   G  @@@ڠ;@@C@!>0        @O G   M  @@@@@:%*opt*i  G   G  *A@@@@C@!J0        @&X@@@!=@"@ Y@@@@@ࠠVjW G  $@@@VB@!`B@!N0        @& ]@@@!I@$@ Z@@@ఐ12   G  8A@k@@@!P0        @@@@Ġ(*predef*$Some ࠠ%*sth*k ذ G  %D@@G@!T@@@@5@@F@!U@@@@ఐ  @@ %\@;B@!]0        @9@@@Ġ$$None @@@M@@F@!Z2@ @2@@ภ $g@ @%@OC@!^9@@Ak@QN@@ @@!tl 6G  , 7G  -@@@0 4 4 4 4 4 4 4 4@\ea@b@ N[@@@@@ࠠ"t2m II 6 > JI 6 @@@@B@!B@!o0 J J J J J J J J@#@@ d]@@@ఐ(complete \I 6 F ]I 6 N@#@@@ఐ4!t fI 6 T gI 6 U@@@@ఐ1simpl_module_type sI 6 [ tI 6 l@հ@@@@C@!v@@C@!u@@@C@!t@C@!s@C@!r5@ఐ栐$code I 6 n I 6 r@ư@@ @@D@!D@!D@!J@@ఐq!t I 6 s I 6 t@T@@W@@4@@[B@!Y@ I 6 C@@[@@ I 6 :@@డ ]'modtype(Printtyp J x | J x @@)formatter@@@@3@@@ ^@@@@@@@@ \%% ]%R@@ [v@@@@@C@!@F@@C@!@@C@!@C@!@C@!0        @@@ ^@@@@ఐz+modtype_fmt J x  J x @@@6@@D@!D@!D@!@@ఐ"t2 J x  J x @"@@%@@L@@ @@B@!C@!+@ఐ1flush_modtype_fmt K   K  @"@@@ @@B@! N@@B@!@B@!?@@ภ  'K   (K  @ @@@ @@C@!C@!O@@@@P@w @@Q@ @@@Ġ(Use_code :M   ;M  @ࠠ!sn CM   DM  @@@@@@!@@@@@ @@E@!@@ఐ!s TM  @@@ h_@@B@!B@!0 W W W W W W W W@ @@@@ _H 0 2@@B@!n0 ] ] ] ] ] ] ] ]@@@@@A.A@@@B@!0 a a a a a a a a@-@@@z@B@!M(#default @@ A@@A@B@!A0 k k k k k k k k@@@@@A rG  A@@@@!@@!0 t t t t t t t t@@@@@@@ݠ@ࠠ0simpl_class_typeo Q m q Q m @@@@*class_type@@@+]B@!B@!@@!B@!0        @4.@/@ X@@@@!tq Q m  Q m @@@0        @& Q m m k8@@@@@@Aࠠ$iterr R   R  @@@@/@@@*C@!C@!@C@!0        @)9@ @ a@@@@!ts R   R  @@@0        @#@@@!D@!@"@ b@@@@Р%Types S   S  @@ 0        @#1@@ c@@@@A0        @@@ S   @@ఐ.!t T   T  @@@B@Ġ*Cty_constrU   U  @8*Cty_constr}@@@b@!t@@@Z$listI9)type_expr@@@\@@@[@@@]@C@@C@A"JJ"JK@@@C@/U  0U  @@!@@F@!0////////@F@@@@ @ @@F@!@@F@! @@@@@F@!@@@<@@@@@@ఐ~!tKU  LU  @a@@C@!C@!@Ġ-Cty_signature[V  \V  @8-Cty_signatureS@|/class_signature@@@^@AA@C@A#KK #KK+@@@ࠠ"cstqV  rV  @@@@@@!0rrrrrrrr@@@@@@@@@@@@@ࠠ(self_rowxY Z dY Z l@@@.transient_expr@@@"YE@!0@"@@d@@@డ.Transient_expr&createZ o wZ o @@)type_desc@@@"!%level#intA@@@" %scope @@@""id@@@"9@@@"@@"@@"@@"@@"@8""9"# @@q,+@@@)@@E@"G'%@@E@"F" @@E@"E@@E@"DU@@E@"C@E@"B@E@"A@E@"@@E@"?S@@ภ$TnilZ o Z o @8$TnilK@@@@@@@AL@Aeifhfifn@@@ N@  @@V@@F@"]F@"an@T@[  [  @@]@@F@"\F@"cF@"b~@Zడ%Btype,lowest_level%Btype[  [  @#intA@@@$@0typing/btype.mli@@%BtypeR@@y@@F@"[F@%{F@%z@x@8[  9[  @@@@F@"ZF@%}F@%|@@ @@@@CY Z ` @@@ࠠ%tselfѠN]  O]  @@@@@@%E@%0QQQQQQQQ@@@ke@@@@ࠠ!tҠd^  e^  @@@L@@@%F@%@ఐ"csu^  v^  @@@@@F@%@%'@)csig_self^  ^  @,)csig_self%@@@k@@@ @@ ,-csig_self_row q@@@ AA@A6B6F6B6g@@,)csig_vars$Vars!t(Asttypes,mutable_flag@@@ ,virtual_flag@@@@@@@@@@@ AB)@A(6h6l)6h6@@,*csig_meths5%Meths!t.method_privacy@@@),virtual_flag@@@@@@@@@@@ACI@AH66I66@@@AL6(6,M6(6A@@h[@@t@@^  ]@@@ࠠ$descӠ_  _  @@@L@@@%F@%0@@@g@@@ภ'Tobject_  _  @8'Tobject@@@@&Stdlib#ref!t@@@@@@@@@@@@@@@@@@BDAL@AS  S 2@@@@LడO.Transient_expr)type_expr6_  7_  4@@@@@"6!@@@"5@@"4@####@@\v@@@@@F@%.@@F@%@F@%]@@ఐՠ(self_rowX_  5Y_  =@@@@@G@%G@%G@%q@@- @@J@@F@%F@%G@%y@డw#reft_  ?u_  B@@!a@#ref @@@q@@p,%makemutableAA@@@,,,X@@Ұ@@@@@F@%@@F@%@@F@%@F@%@@F@%F@%F@%F@%)@@F@%@F@%@@ภ$None_  C_  G@@@@(F@%@@E@@,@@F@%F@%F@%@@_  H@@!@@@%@@_  @@డ.Transient_expr&create` L T` L i@7@@@7@@E@%53@@E@%0.@@E@%-+@@E@%c@@E@%@E@%@E@%@E@%@E@%0@ @@h@@@@ఐ$desc` L j` L n@@@a@@F@%F@%F@%@_డ-)get_levela o a o @@@@@=o@@@<@@;@!1!1!1!P@@ 9i@@@@@F@%@@F@%@F@%=@@ఐѠ!t5a o 6a o @D@@@@G@%G@%G@%Q@@@a o Aa o @@@@F@%F@%G@%[@డp)get_scopeUa o Va o @@=@@@@@@@?@@>@!Q!Q!Q!p@@ |j@@@K@@F@%@@F@%@F@%@@ఐ!txa o ya o @@@b@@G@%G@%G@%@@a o a o @@@@F@%F@%G@%@Ӑడ&get_ida o a o @@@@@C@@@B@@A@ !q!q !q!@@ k@@@@@F@%@@F@%@F@%@@ఐW!ta o a o @ʰ@@@@G@&G@&G@&@@a o a o @@@@F@%F@&G@&@@ @@}@  @@~@ @@|@@]   @@ภ%Types-Cty_signaturec  c  @`)csig_selfc  c  @డ.Transient_expr)type_exprc  c  @@@@s@@E@&@@E@&@E@&0@@@f@@@@ఐ%tselfc  c @@@@@F@&F@&!F@& @@$ @@@@E@&E@&#F@& @-csig_self_row'd#(d0@డN.Transient_expr)type_expr5d36dK@@@@@@E@&- @@E@&,@E@&+?@@ఐǠ(self_rowJdLKdT@@@@@F@&4F@&6F@&5S@@  @@<@@E@&)E@&8F@&3[@ȡ)csig_varsbeVtceV}@డ$Vars%emptyneVoeV@!t!a@'|@@@'@'map.mliI  I  @@+Stdlib__MapE@@@@E@&H@@E@&Iw@@E@&J@E@&G@@E@&FE@(E@(@ᡠ*csig_methsff@డ%Meths%emptyff@<;@)@@@)@8@4  @@@@E@(@@E@(@@E@(@E@(@@E@(E@*E@*@@@c  f@@o@@D@&D@*@@@@D@@D@& @ @@@ @@C@& C@!O@Ġ%Types)Cty_arrowgg@8)Cty_arrow@L)arg_label@@@_@@@`h@@@a@CB@C@A o$K,K. p$K,K_@@@ ࠠ!lugg@@@@@@!@ࠠ$texpvgg@@@@@@!+@ࠠ"ctw g!g@@@@@@!8@@@?'g@@l:@@l:@@@ࠠ&new_ct(2h3h@@@vC@+!C@*033333333@M:4@5@Oi/)@*@Qj$@@Sk@@@ఐ$iterKhLh@w@@@@E@*@@ఐ:"ctZh [h @@@F@*'@@@@(@@ah@@ภ)Cty_arrowhiii @ఐl!lri"si#@8@@@@D@*D@+D@+0wwwwwwww@EPJ@K@l@@@ఐu$texpi%i)@L@@r@@D@*D@+ D@+@ఐh&new_cti+i1@@@h!@@6i2@@@@D@*&@B@@WC@*C@*o@@AT   @@[C@!w@S  @@0@@@@@AA@@@@+T0@@@@@R  @@ఐ$iterk8:k8>@@@@3@@B@+X@B@+W@@ఐ/!tk8?$@ %@@D@@&@@C@ '@@FB@!@@A2*A@@KD@@+a0@1@@@ Return the given class type where methods and vals have been removed from the signatures. Used when we don't want to print a too long class type.O  P  l@@@@@@@<@<;@Q@ࠠ4string_of_class_type6mBFmBZ@@@(complete )y@@@+B@+f@@@+gB@+c@ **class_type@@@+B@+E@@@+B@+@@+B@+d@@+eB@+b0@@@+`@@@#b8g#mB]$mBkA@ Q(@@C@+k0$$$$$$$$@<-mBB.q.@@@@@@ࠠ<9=8mBe@@@*Su}Ck.Type_immediacy0dV^25b)̓ԆSj%Types0lm?ƈ(Warnings0zdͦkUe$@@AK@@@@@@  kN@kڰc@@n@@J ۰]@@@@@ @@P{@@@@A @ @@B@@@C