Caml1999I031 2R(Odoc_depӠ&ModuleA+Odoc_module@+odoc_dep.mlRYYRYt@@@@Ӡ$TypeA)Odoc_type@SuuSu@A@@Ӡ&StringA$Misc&Stdlib&String@T T@-B@@+set_to_list@#Set!t@@@$listI #elt@@@@@@@@@?V@V@@MC@1impl_dependencies@)Parsetree)structure@@@ +*@@@@@@@@@[[ \[ !@@iG@1intf_dependencies@)Parsetree)signature@@@<GF9@@@@@@@@@w`x`@@I@Ӡ#Dep@"id8@@@A&stringO@@@@@@@hh@@@@KA@+set_to_list@nml@@@kvuh@@@@@@@@@jj@@L@$node8@@"id @4@@@p"p+@@Q$near A#Set!t@@@q,4q,Q@@R#far A"@@@#Set!t@@@@@@@@riqri@@S&reflex@$boolE@@@ss@@T@@A@@@@@o uel@@@@PA@%graph8@@@A̠Y@@@@@@@@@@wnrwn@@@@UA@)make_node@^@@@@$listI @@@@@@@@@@@!y"y@@/V@(get_node@.@@@@@@@@@@ @@@@@9E  :E  @@GZ@-trans_closure@E@@@@@@@#"!@@@@ @@@@@@@TJ  UJ  '@@b^@2node_trans_closure@3`@@@@@@@f@@@$unitF@@@@@@@@qU c krU c }@@d@5compute_trans_closure@e~@@@@@@$unitF@@@@@@_ o w_ o @@j@*prune_node@i@@@@@@@@@@6@@@@@@@@b  b  @@l@&kernel@3@@@@@@@@@~.6~.<@@w@@@fqq@y@@)type_deps@&t_type@@@&stringO@@@@@@@@@\`\i@@z@6kernel_deps_of_modules@d(t_module@@@@@@f@@@@@@OSOi@@P@-deps_of_types&kernel&optionJ@@@@@@@F@@@@@@ @@@@@@@@@@@@@@@@#$@@1X@@9(Odoc_dep0^ogσ/\ji(Warnings0zdͦkUe$%Types0lm?ƈ.Type_immediacy0dV^25b)̓ԆSj#Str0QLceL`y--Stdlib__Uchar0*Ujmyc6]]W.Stdlib__String0I3UK# +Stdlib__Set0.z9FX+Stdlib__Seq05"g1<)b+Stdlib__Map0kZ,ҷ'V,Stdlib__List0"%BTAT;9d.Stdlib__Lexing01'jh,-k4,Stdlib__Lazy0C 4 "$p1tU/Stdlib__Hashtbl04$*uկdD.Stdlib__Format0{hXsHW#ȼ.Stdlib__Either0&]XF.Stdlib__Digest0aI]2t*x4%".Stdlib__Buffer0K ɦb+Z8)#KH"&Stdlib0yӶ~*%Shape0H[DTċwToe@Q)Primitive0յ_9|br$Path0L%SsN|#Ɣj)Parsetree0`ⰧkRE+Outcometree0gCtr@E@=+@@ภ"[](W)W@8yŐ@@R@@@@AA@A;@@@@@CE@H>@@2 @@N?@@4W @@డ#Set$iter&StringFXGX@@@@@@$unitF@@@@@@@@@ @@@@@@@@'set.mli||@@+Stdlib__SetR @@@@@@E@@@E@@E@@@@E@~@@E@}@E@|@E@{0uuuuuuuu@@@E@@@@@!e(XX@@@@@G@@@డg":=XX@@!a@{@@@w@$unitF@@@v@@u@@t*%setfield0BA@@@@ddd@@԰@@@Ԡ  @@F@F@@@F@@ @@F@@F@@F@0@QI@@@@C@F@@@@ఐ!lXX@a@@'@@G@G@G@@@ภ"::XX@8|@zB@AA@A@@tఐt!eXX@1@@D4@డ!!XX@@&!a@~@@@s@@r'%field0AA@@@@@1Ӱ@@@9rF@@@G@G@G@@@G@ @G@c@@ఐU!l.5X@0@@V@@H@H@H@w@@: @@x@@H @@F@{@@k@@@@F@F@@@AJXKX@@@@@F@@@F@@F@F@0SSSSSSSS@@@@@ఐ!saXbX@m@@@@@@@@D@E@@డCnpsYtY @m@@@D@@@D@@D@(@@ఐ!l@@@@@E@E@E@;@@@@<@M@@=@`@@D@:@@AA@@@@0@@@@@@@ݠ@ࠠ1impl_dependenciesU[ [ !@@@@)Parsetree)structure@@@ bD@@@@ |@@@ {D@@@D@0@'!@"@C@@@@#astW[ "[ %@@@$0@0[  ^@@@@@డJL\(F\(H@I@@@&Depend&String#Set!t@@E@ E@@@E@@S@@E@@E@@E@0@-9S@0@H@@@@డ&Depend4free_structure_names&Depend\(*\(E@&Stdlib#ref0@@@@@@@2parsing/depend.mli__@@2G@@DC@@F@F@!F@0@@డ#Set%empty&String=\(I>\(Y@@@@@J c gJ c s@@E  @@@@E@N@@<@@@@D@E@T@డQ,add_use_file&Depend_][]`][p@@w)bound_map@@@ @$listI)Parsetree/toplevel_phrase@@@ @@@$unitF@@@@@@@@af^^bf^@@J&%@@@#@@E@@!@@E@@@E@@@E@@E@@E@@@డ,#Map%empty&String][q][@#Map!t!a@@@@8@'map.mliI  I  @@+Stdlib__MapE@@(map_tree@@F@JF@DF@=@@F@<@@ภ][][Aภ)Parsetree(Ptop_def ][@8(Ptop_def1/toplevel_phrase@@@ L@7@@@ J@A@@B@A5parsing/parsetree.mli!8@@@;oఐ-#ast][][@@@M@@)@@@@F@F@UF@ a@ภ5A@6A@@@F@VF@ l@@][>@@@@F@F@T@@E@@@@D@ oE@ @ఐ+set_to_list&^'^@f@@@@@D@ t|y@@D@ s@@D@ r@D@ q8@@డ;=@^A^@:@@@`_@@E@ E@ @@E@ @E@ Q@@డM4free_structure_names&Depend@I@@{@@F@ F@ F@ g@@%@@h@@@@@i@@@j@X@@D@m@@AA@@@@ 0jjjjjjjj@@@@@@@@ࠠ1intf_dependenciesz`{`@@@@)signature@@@ D@ ٠@@@ @@@ D@ @@ D@ 0@@@G@@@@#ast``@@@"0@.`cDn@@@@@డaa@@@@Ӡ@@E@ E@ @@E@ @@@E@ @E@ @E@ 0@$0H@'@J@@@@డ4free_structure_names&Dependaa@ǰ@@&@@F@ F@ F@ @@డx#Set%empty&Stringaa@@@M@@E@ 2@@"@@@@D@ E@ 8@డ-add_signature&Depend b b-@@@@@@@@@@@@ @@ @@ @hh@@/K@@@@@E@ @@@E@ @@E@ @E@ @E@ i@@డ#Map%empty&String?b.@b>@@@@@F@ F@ F@ @@F@ @@ఐ#astYb?ZbB@@@@@Q@@@@D@ E@ @ఐ̠+set_to_listkcDFlcDQ@@@@@@D@ @@D@ @@D@ @D@ @@డUcDRcDS@@@@@@E@!E@ @@E@ @E@ @@డ4free_structure_names&Depend@@@@@F@!F@!F@!@@%@@@@@@@ @@@!@@@$D@ @@AA@@1)@@!0@@@@@ @  @"#DepzDfqxfq{@@БA("idEhh@@8@@@A8@@@!@@@@hh@@@@K@@Aг &stringh @@0@Pmg@h@I8@@@A$@@F@!F@!@@@@@@@@@@@@@@0@@@@ࠠ+set_to_listjj@@@@\@@@!GF@!WV@@@!pF@!.@@@!F@!@@!F@!0@2LF@@@@!sjj@@@0@@@@@@ࠠ!l,k-k@@@L-@@@!/G@!'@@@!,G@!#088888888@*'<@@TM@@@డ#refHkIk@G@@@h@@G@!&@G@!%@@ภ2YkZk@1@@@(G@!0#@@@@.$@@`k@@డ#Set$iter&Stringrlsl@,@@@@@@G@!:,@@G@!9@G@!8@@@G@!7)@@G@!6@G@!5@G@!40@Ma[@\@N@@@@@!e ll@@@@@I@!S@@డvll@@@@Ơ@@H@!hH@![@@H@!\@ @@H@!Z@H@!Y@H@!X0@4,@@@!R@&@O@@@@ఐ!lll@D@@'@@I@!fI@!iI@!g@@ภll@ఐS!ell@-@@0@డll@@@@H@!k@@I@!oI@!~I@!s@@I@!t @I@!rK@@ఐ㠐!ll@@@0@@J@!yJ@!|J@!z_@@' @@`@@4 @@mH@!nc@@S@@@@H@!H@!i@@A$l%l@@@r@@H@!J@@H@!I@H@!HH@!0--------@@@@@ఐ!!s;lri@@:@@г&String Iri Jri@@F@@@G@@@H Nri@@@H@!L@yyt Us@@Ш@г|$bool ^s _s@@[@@@H@!^@@A@r@@rq@0 a a a a a a a a@^@@A(%graphG nwnw own|@@8@@@A @@@!@@@!@@@@ |wnr }wn@@@@ U@@Aг$list wn @г$node wn wn@@0        @)8@@@A0@@H@!H@!@@@@ @@@@@ @@@*  @@"@@"!@0        @ @@@ࠠ)make_node y y@@@@,@@@%]H@!@$listII@%@@@%H@!O@@@%[H@!@@!H@!@@!H@!0        @;c]@@@@!s y y@@@)0        @5 y C  @@@@@@(children y y@@@30        @ ?@@ W@@@@@ࠠ#set z z@@@X@@@%OI@!0        @#L@@ X@@@డ$List*fold_right z z@@@!a@#@!b@#@@$B@@$A@j@@@$@@  @@$?@@$>@@$=@(list.mlihhh@@,Stdlib__List\! @@@@@@H@%PI@%-@AI@%+@I@%/@I@%.@@@I@%,@  @I@%*@I@%)@I@%(F@@డ#Set#add&String Y{ Z{@@@@@@@@@@@@@@@@@ S 9 = S 9 S@@ H@@@@@J@%K@@@J@%J@@J@%I@J@%H@J@%Gx@@ఐ(children | |@@@@@డ #Set%empty&String } } @[@@@@I@%T@@@@`@@ z@@, @@@!"@@,AA@A ,AB@A,@C@A@A"@"id   !   #@ఐ蠐!s   &   '@ΰ@@ 0        @@@ Y@@@$near @ ) 1 @ ) 5@డ _#Set&remove&String @ ) 8 @ ) I@@ &@@@@ ;@@@ >@@@@@@@@\  \  @@J@@@ 8@@I@%m@ M@@I@%l P@@I@%k@I@%j@I@%i=@@ఐ2!s @ ) J @ ) K@@@WJ@@ఐ#set @ ) L @ ) O@T@@ q@@J@%|J@%J@%^@@D @@ u@@I@%{b@v#far &A R Z 'A R ]@ภ  -A R ` .A R b@ @@@@@I@%~@@I@%@I@%@@I@%I@%@&reflex FB e m GB e s@డ !$List#mem TB e v UB e ~@@!a@"@ @@@$$boolE@@@$@@$@@$@<#&&=#&'@@;f@@@@@@I@%@@I@%@I@%@I@%@@ఐ!s B e  B e @@@@@ఐ(children B e  B e @@@@@@@@@@I@%I@%J@%@@@   @@H@!@@@@@AA@H@!0        @@@@@AA@@@@%0        @@@@@@@ޠ@ࠠ(get_nodeT E   E  @@@@@@@%H@%@@@%H@%@F@@@& H@%H@%@@%H@%@@%H@%0        @.(@)@ V@@@@%graphV E   E  @@@(0        @4 E   H  @@@@@@!sW E   E  @@@+0        @ >@@ [@@@@డ $List$find F   F  @@@!a@"@@@$@@$@\ @@@$@@$@@$@1((1((?@@h@@@@e@@H@%@H@%@nm@@H@%n@H@%@H@%0 , , , , , , , ,@:Fg@=@ H\@@@@@!nX @F   AF  @@@@@డ != LF   MF  @@!a@@$boolE@@@'@@&@@%&%equalBA O@@@@ Oy Py@@ |Q@@@H@&#H@%I@%@@@I@%@I@%@I@%0 p p p p p p p p@E=@4@ ]@@@@ఐG!n F   F  @@@@"id F   F  @ @@"@@ఐ!s F   F  @h@@'@@@@@@I@&I@&-@@A F   F  @@@@@I@%@I@%I@&0        @{@@@@ఐ٠%graph F   F  @@@@@@@@Ġ)Not_found G   G  @8)Not_found#exnG@@@@@@  A@A&_none_@@A@@ I@@@@ '@@K@& +@@ఐ4)make_node H   H  @ @@@\@@I@&@,@@I@&%@@I@&@I@&@I@&E@@ఐ !s H   H  @ʰ@@1R@@ภ ݰ H  @ @@@L>@@J@&J@&)b@@/%@@NH@&H@&g@@ F  +@@RH@%k@@A#.A@OH@%0        @"@@@@A:2A@@aU@@&/0        @9@@@@7@76@LAࠠ-trans_closureY )J   *J  '@@@@sl@@@&@@@&H@&1@ @@@&H@&2@H@&3 H@&4@@&:@@&9@H@&80 @ @ @ @ @ @ @ @@r@@ \Z@@@@%graphZ QJ  ( RJ  -@@@&0 Q Q Q Q Q Q Q Q@1@-@$@@@&5@@&6@@&7I@&0@4@ u^@@@@@#acc[ jJ  . kJ  1@@@ @@H@&H@&>0 o o o o o o o o@+G@"@ _@@@@@!n\ J  2 J  3@@@TH@&H@&D0        @'@@ `@@@@డ "#Set#mem&String K 6 ? K 6 M@@ @@@@ @@@$boolE@@@@@@@@ PP   QP  @@ OG@@@ @@H@&O@ @@H@&N@@H@&M@H@&L@H@&K0        @;KA@B@ a@@@@ఐU!n K 6 N K 6 O@@@Q@"id K 6 P K 6 R@5 @@T@@I@&_@@ఐ#acc K 6 S K 6 V@a@@~*@@P@@ @@H@&lI@&Y1@ఐ#acc L \ d L \ g@r@@;@డ #Set$fold&String O   O  @@@ [@@@@!a@N@@@@@ v@@@@  @@@@@@@  @@ T@@@@ t@@H@&u@H@&q@H@&t@H@&s@ @@H@&r@@H@&p@H@&o@H@&nx@@@%child]FP  GP  @@@ @@J@&@@@$acc2^VP  WP  @@@"H@&0XXXXXXXX@ @@@&@@wb@@@@ఐB-trans_closurekQ  lQ  @@@@B@9@42@I@&@I@&@I@&0qqqqqqqq@(@@c@@@@ఐ5%graphQ  Q  @@@W@@ఐ=$acc2Q  Q  @@@9@@ఐꠐ(get_nodeQ  Q  @[@@@@@J@&@@J@&@%@@J@& @J@&@J@&;@@ఐl%graphQ  Q  $@G@@H@@ఐ%childQ  %Q  *@k@@ @@K@&X@@Q  Q  +@@[@@e@@H@&H@&`@@AP  @@@@I@&I@&0@@@@@AP  Q  ,@@@ *@@I@&@@I@&@I@&I@&0@&@@@@ఐx!nR - 7R - 8@3@@t6@$nearR - 9R - =@S @@ Z@@I@&I@&I@&D@@డ #Set#add&StringS > IS > W@@@@ d@@I@&@ y@@I@& |@@I@&@I@&@I@&f@@ఐ!n3S > X4S > Y@r@@u@"id:S > Z;S > \@ @@@@J@&@@ఐ䠐#accJS > ]KS > `@ð@@@@NS > HOS > a@@@@E@@ j@RK 6 <@@H@&Im@@AA@H@&FH@&C0VVVVVVVV@@@@@A A@(H@&@H@&=0\\\\\\\\@@@@@AA@@5,@@'0````````@@@@@eJ  @@@$@ࠠ2node_trans_closure_rU c ksU c }@@@@@@@'nH@'e@@@'gH@' @@@@'H@' (@@@'H@'@@'H@'@@'H@' >@@%graphaU c ~U c @@@&0@L2U c g] [ m@@@@@@!nbU c U c @@@*0@ <@@e@@@@@ࠠ#farcV  V  @@@ I@@@'fI@'p.@@@'sI@'q@@'rI@'@@@'+I@'0@)5U@,@f@@@డ$List#mapV  V  @@@!a@#B!b@#@@@$@?@@@$;@@@$@@$@@$@@@U@@@@?I@' F@I@'!@@@I@'PO@@I@'@I@'@I@'0@?@@@@@%childd'W  (W  @@@@@@ࠠ#sete4X  5X  @@@@@@'KK@'3099999999@c2@@Uh@@@ఐ -trans_closureIX  JX  @@@@@@K@'9@@K@':@@@K@'8@ @K@'7@K@'6@K@'5 @@ఐΠ%graphfX  gX  @@@-@@డ#Set%empty&StringyX  zX  @ <@@@@L@'SL@'RE@@ఐ٠(get_nodeX  X  @J@@@ՠ@@L@'Y@@L@'[@@@L@'Z @L@'X@L@'Wb@@ఐ%graphX  X  @@@2o@@ఐ%childX  X  @y@@|@@X  X  @@=@@s@@@@X  @@ఐ%childY  Y  @@@0@@@i@@@ఐ#setY  "Y  %@ @@@@Y  Y  &@@Ӡ @J@'t@%@@I@'2@@AW  Z ' 2@@@"@J@'-J@'v@@ఐ +set_to_list[ 3 >[ 3 I@@@@T@@J@'{MJ@@J@'z@@J@'y@J@'x@@ఐg!n[ 3 J[ 3 K@8@@@$near[ 3 L[ 3 P@q @@x@@K@'K@'K@' @@$[ 3 =%[ 3 Q@@/ @@J@',J@'J@'@@E @@jU@@0V   @@ఐ!n:] [ a;] [ b@`@@0::::::::@d}@~@Vg@@@#farE] [ cF] [ f@ఐ#farN] [ j@@@@@I@'@@I@'@I@'@@I@'I@'I@'%@)@@&@4@@H@'@@AA@H@'0ffffffff@@@@@AA@@@@'0jjjjjjjj@@@@@@@@ࠠ5compute_trans_closurefz_ o w{_ o @@@@Ǡ@@@'H@'@@@'H@'$unitF@@@'H@'@@'H@'0@B)#@$@d@@@@%graphh_ o _ o @@@%0@1_ o s`  @@@@@డ$List$iter`  `  @@@!a@#Q4@@@$@@$@F @@@$>@@@$@@$@@$@EEEo@@S@@@@R@@H@'@H@'@[Z@@H@'S@@H@'@H@'@H@'0@@Lg@C@k@@@@ఐ2node_trans_closure`  `  @`@@@=6@@J@'@@J@'@<@@J@'@@J@'@J@'@J@'$@@ఐt%graph`  `  @.@@1@@`  `  @@@T@@I@'@@I@'@I@'<@@ఐ%graph+`  @E@@H@@v@@H@'K@@AA@@@@'000000000@@@@@@@@ࠠ*prune_nodei@b  Ab  @@@@@@@)H@) @@@)H@'@@@@*H@'@@@* H@'@@'H@'@@'H@'0]]]]]]]]@@@yj@@@@%graphknb  ob  @@@*0nnnnnnnn@6ub  v|",@@@@@@$nodelb  b  @@@.0@ @@@m@@@@డ#Set$iter&Stringc  c  @S@@@@@@I@(S@@I@(@I@(@@@I@(P@@I@'@I@'@I@'0@+7[@.@n@@@@@%childmd  d  @@@ @@K@(@@@ࠠ.set_reachablesne  !e  /@@@,@@@(rK@( 0@*""@@@(@@o@@@డ$List)fold_lefte  2e  @@@@!a@# @!b@# @@$<@@$;@ @ C @@@$:@@$9@@$8@@$7@@@[@@@@;K@(%@`@@K@(XK@(Cv@@K@(qK@(D@K@(EK@('@K@()@K@((@@&@@K@(&@K@($@K@(#@K@("0&&&&&&&&@R@@@@@#acco7f A T8f A W@@@-@@@%paramrࠠ"chpIf A `Jf A b@@@60IIIIIIII@vB@@eq@@@ࠠ*reachablesqWf A dXf A n@@@>@@[f A _\f A o@@JE@N@(F@@డ; "kg s lg s @@@@ZL@(O@@@L@(N@L@(M@L@(L0tttttttt@-5e@0@r)a@$@s@@@@ఐ͠%childg s g s @@@s@@ఐL"chg s g s @@@!@@@@@@L@(\M@(W'@ఐr#acch  h  @Y@@1@డ>#Set%union&Stringj  j  @@@@@@@@@@@@@@@@@ibjb@@hK@@@'@@L@(b@,@@L@(a/@@L@(`@L@(_@L@(^c@@ఐ#accj  j  @@@p@@ఐ*reachablesj  j  @w@@}@@=@@M@@K@(p@g s @@K@(J@@Af A [ @@@@L@(L@(0@@@@@Af A Ok @@@@@L@(8@L@(7L@(4@@డ#Set%empty&Stringll!@ް@@v@@K@(@@ఐ$node-m"0.m"4@@@@#far4m"55m"8@  @@<-@@L@(6L@(L@(@@V @@3i@@Ae   @@@ࠠ#setsLoFTMoFW@@@@@@(K@(0QQQQQQQQ@~@@mp@@@డ#Set&remove&StringgoFZhoFk@ @@@@@K@(@@@K@(@@K@(@K@(@K@(#@@ఐ$nodeoFloFp@հ@@02@"idoFqoFs@  @@ @@L@(<@@ఐˠ.set_reachablesoFtoF@F@@@@L@(L@(L@(P@@> @@TQ@@oFP @@డ>#Set&exists&Stringpp@@@@@@@@@@@@ @@@"@@@@@@@@pq*@@oV@@@@ @@J@(@@J@(@J@(@8@@J@(@@J@(@J@(@J@(0@@@t@@@@@"n2tpp@@@B@@L@(@@డ#Set#mem&String p p@p@@@Y@@K@(@n@@K@(p@@K@(@K@(@K@(0@7/g@@@(@)@8u@@@@ఐr%child-p.p@V@@|@@L@(L@(L@(@@ఐ (get_nodeEpFp@@@@  @@M@)@@M@)@ @@M@) @M@(@M@(:@@ఐ%graph`pap@ܰ@@G@@ఐz"n2mpnp@Q@@@@N@)W@@tpup@@*Z@$nearzp{p@ Ұ @@@@L@(L@)L@)h@@y @@@@K@)"K@)!n@@App@@@@@K@(@@K@(@K@(K@)$0@@@@@ఐV#setpp@@@@@K@(K@)*K@))@@ @@@@J@),K@(@ఐ@$noderr@@@j)@$nearrr @ డ[#Set&remove&Stringrr!@ @@@"@@L@);@7@@L@)::@@L@)9@L@)8@L@)7N@@ఐ4%childr"r'@@@>@@M@)KM@)QM@)Pb@@ఐ$noder(r,@W@@q@$near r- r1@ d @@k@@M@)JM@)WM@)U@@B @@o@@L@)I@^@@@@J@)`K@)^@ఐ$node)s4A*s4E@{@@@#far0s4F1s4I@ డ $List&filter>s4M?s4X@@@!a@" @@@$@@$@ @@@$ @@@$@@$@@$@ ,G** -G**@@ +k @@@@ @@K@)n @@K@)o@K@)mK@)K@)K@)t)@@K@)w@K@)v@(@@K@)u'@@K@)s@K@)r@K@)q@@@Hvࠠ"chus4_s4a@@@@@K@)K@)@@s4bs4c@@4K@)K@)K@) @@s4^s4d@@ @N@)@@డ"<>s4ks4m@@!a@@ g@@@*@@)@@()%notequalBA@@@@@@R@@@;K@)@@@L@)@L@)@L@)0@JD@E@v@@@@ఐR"chs4hs4j@@@R@@ఐ4%childs4ns4s@@@]@@@@@@L@)L@)$@@As4Ys4t@@@@@L@)@L@)L@)0@@@@@ఐ$nodes4us4y@a@@{@#fars4zs4}@ m @@Π@@L@)L@)L@)@@ @@t@@K@)lK@)K@)(@@@@@J@)J@).@1q2t~@@1@ภ"():v;v@8@@@U@@@@A@@AN@@@ @@J@)C@Fp @@E@ @@@@@@@J@)J@)w@@AOd  Pw@@@@@J@(@@J@(@J@(J@)0XXXXXXXX@@@@@ఐ렐$nodehxix@@@@$nearoxpx@ ǰ @@@@J@(J@)J@)@@ @@@@H@)I@($@ఐ $nodeyy@ܰ@@72@&reflexyy@  @@ @@H@)H@)>@ఐ%$nodezz@@@OJ@$nearzz@ డ@#Set#add&Stringzz@ a@@@@@I@)@@@I@)@@I@)@I@)@I@)o@@ఐY$nodezz @(@@~@"idz z @ : @@Y@@J@)@@ఐr$nodez z@A@@@$nearzz@ N @@U@@J@)J@*J@*@@G @@Y@@I@)@c@@@ภҰ |"*@@@@H@*@y@@@y@@H@'@@AA@H@'0@@@@@AA@@@@*0@@@@@@@@ࠠ&kernelw(~.6)~.<@@@@o@@@*cI@*4@@@*BH@* H@*@@*H@*099999999@@@Ul@@@@%graphyJ~.=K~.B@@@0JJJJJJJJ@*Q~.2R@@@@@ఐ䠐5compute_trans_closure^lr_l@@@@@@I@*@@I@*@@I@*@I@*0jjjjjjjj@!-A@$@x@@@@ఐ5%graph{l|l@@@O@@!@@@@H@*-I@*&@డ_$List$iter@ڰ@@@@e@@I@*6@I@*5@m@@I@*3@@I@*2@I@*1@I@*08@@ఐq*prune_node@u@@@ @@K@*L@@K@*K@@@K@*J[@@K@*I@K@*H@K@*GX@@ఐ%graph@b@@e@@@@@@@J@*`s@@J@*_@J@*^p@@ఐ%graph@z@@}@@Y@@@@H@*gI@*A@ఐ%graph@@@@h@@@@@H@*@@AA@@@@*i0@@@@@@@@<6A@@A@A@f 8@ ^ @  @ {@@@@@/w@@0@@@g~@0@?@@@@"fqq@@@ࠠ)type_deps{/\`0\i@@@@&t_type@@@2H@*k&stringO@@@,J@*}@@@3vH@*l@@*mH@*j0KKKKKKKK@n@A@_N@A@A@ @  @ ; @ @@*(@DP@@@G~y@@@@!t}s\jt\k@@@@0ssssssss@)Lz\\{@@@@@!T~Jn{n|@AРM)Odoc_typenn@@U0@']@@{@@@@ࠠ!l@@@f@@@*~K@*v@@@*{K@*r0@0Av@.|@@@డ#ref@@@@۠@@K@*u@K@*t@@ภ@@@@)K@*$@@@@/%@@@@@ࠠ"re@@@#Str®exp@@@+K@*0@?SM@N@}@@@డ#Str®exp#Str@@@@@+)#@@@+(@@+'@'str.mliZZ@@&A@@@@@K@+1@@K@+@K@+,@@ 5\([A-Z]\([a-zA-Z_'0-9]\)*\.\)+\([a-z][a-zA-Z_'0-9]*\) @@"#@@&@@L@+L@+L@+@@@/ @@IA@@- @@@ࠠ!f89@@@@@@@+K@+@@@,K@+@@+K@+0GGGGGGGG@`rl@m@c~@@@@!sXY@@@0XXXXXXXX@(_`=C@@@@@@ࠠ"s2k l@@@)@@@+L@+0pppppppp@%7@@@@@@డ.matched_string#Str#@@G@@@+TD@@@+S@@+R@yiiyi@@J@@@T@@L@+Q@@L@+@L@+(@@ఐQ!s$%@2@@i5@@&@@96@@@@డ )/)1@@@@ՠ }@@L@,L@+@@L@+@ @@L@+@L@+@L@+0@Wd^@_@A@@@@ఐ9!l)-).@@@$@@M@+M@,M@+@@ภ)5)7@ఐ"s2)2)4@*@@-@డ)8)9@@@@L@,@@M@,M@,M@, @@M@,  @M@, H@@ఐ}!l):@/@@<@@N@,N@,N@,\@@' @@]@@4 @@jL@,`@@S@@@@K@,L@+f@ఐˠ"s26=A@l@@o@b@@p@@@K@+@@AA@@@@,0<<<<<<<<@@@@@@@ࠠ"tyJIOKIQ@@@@%Types)type_expr@@@,SK@,@@@0K@,@@, K@,0^^^^^^^^@/)@*@z@@@@!toIRpIS@@@!0oooooooo@-vIKw@@@@@@ࠠ!sV^V_@@@&stringO@@@,RL@,$0@(?@@C@@@డ*Odoc_print3string_of_type_expr*Odoc_printVbV@@Q@@@,: @@@,9@@,8@.odoc_print.mliTT@@*Odoc_printA@@@`@@L@,L/@@L@,K@L@,J,@@ఐX!tVV@6@@u9@@(@@@:@@VZ@@డ&ignore@@!a@~@@@f@@e'%ignoreAAР@@@iiii@@v@@@@@K@0K@0@@K@0@K@00@fvp@q@ D@@@@డ 1global_substitute#Str@@'@@@+|@@@@@+{@@@+z@@+y@@@@+x4@@@+w@@+v@@+u@@+t@$$$%&@@>R"!@@@F@@L@0@@@@L@0@@L@0@L@0@@@L@0P@@L@0@L@0@L@0@L@0L@@ఐj"reHI@@@l@@M@0M@0M@0`@@ఐ$!f\]@@@@ @@M@0@@M@0@M@0u@@ఐ!sqr@@@]@@M@0M@0M@0@@|@@@@@@!@@@$K@,#@@A A@@3)@@00@@@@@@ఐ#!t@@@_0@5QK@L@B@@@!T'ty_kind@,'ty_kind(k@@@1])type_kind@@@1V@C ,'ty_name $Name!t@@@1N@@ @A,odoc_type.ml@  @  @@)Odoc_type_,'ty_info&optionJ*Odoc_types$info@@@1P@@@1OAA!@AA  A  @@`,-ty_parameters1$listI%Types)type_expr@@@1S$boolE@@@1T@@@1U@@1R@@@1Q@BE@A;B  <B  ,@@:aU,*ty_privateUU,private_flag@@@1W@DP@AFE  GE  @@Ec,+ty_manifest`Dd-type_manifest@@@1Y@@@1X@E`@AVF  WF  @@Ud,&ty_locpN(location@@@1ZAFl@AbG  cG  @@ae,'ty_code|`&stringO@@@1\@@@1[AG}@AsH  tH  *@@rf@AwD z ~xD z @@vb@@@@@1^@Ġ!T-Type_abstractBC@8-Type_abstract@@@1A@@@@BB@Amy}my@@@S@@  @@@@N@10OOOOOOOO@@@@@@@ภXY@@@@@@J@2K@1K@1@Ġ!T,Type_variantno@8,Type_variant,@3variant_constructor@@@1>@@@1=@A@BB@Ann@@@Tࠠ"cl(@@@@@@1@@@10@@@@@@' @@@@N@1@@@@డq$List$iter@ @@@@6@@L@1L@1 @@L@1@L@1@ 2 @@L@1 *@@L@1@L@1@L@10@(93@4@F@@@@@!c* @@@%@@ఐ!c$5$6@3@@G@@50@%@@@!T'vc_args$7$@@,'vc_argsu@@@1;L0constructor_args@@@16@A,'vc_name @@@15@@@ADeEe@@CN,&vc_retB()type_expr@@@18@@@17@B@AUgVg@@TP,'vc_text&SQ$info@@@1:@@@19AC)@Afhgh@@eQ@Ajfkf@@iOK=@@7@@@1I@Ġ!T*Cstr_tuple5FS6F_@8*Cstr_tupleJ@@@13@id)type_expr@@@12@@@11@AA@B@AaaB@@@Lࠠ!l+TF`UFa@@@@@@2@@@20[[[[[[[[@~@@@@@+ @@q@@P@2@@@@డ<$List$iteroFepFn@ @@@@%@@N@22N@2 @@N@2@N@2@  @@N@2 @@N@2@N@2@N@20@93@4@H@@@@ఐK"tyFoFq@@@@G@@O@2/@@@O@2.@O@2-@@ఐV!lFrFs@#@@ .>@@O@2&O@25O@23.@@G @@ @@N@2sN@284@Ġ!T+Cstr_recordtt@8+Cstr_record@-,record_field@@@10@@@1/@A@@B@A `!`@@@Kࠠ!l,tt@@@@@@2 @@@2  @@@& @@@@P@2@@@@డ$List$itertt@ D@@@@5@@N@2dN@2? E@@N@2A@N@2@@  @@N@2> @@N@2=@N@2<@N@2;0@582@3@-I@@@@@!r-%t&t@@@%@@ఐ砐"ty1t2t@@@@@@O@2Z@@O@2Y@O@2X099999999@)!<@@UJ@@@@ఐ+!rLtMt@@@L@!T'rf_typeUtVt@,'rf_type@@@1-)type_expr@@@1*@B,'rf_name B@@@1(@@@AY$(Y$:@@F,*rf_mutable@@@1)@A@AZ;?Z;R@@G ,'rf_text $info@@@1,@@@1+AC"@A\\@@I@A[jn[j@@HA7@@>@@P@2aP@2eP@2cX@@d?@@ @@O@2iO@2h^@@Att@@@ @@O@2O@O@2NO@2k0@@@@@ఐ͠!ltt@@@3@@O@2MO@2oO@2m@@ @@N@2r@@A$/@@ @@M@2M@2~0@@@@@A@@@! @@M@1@M@1M@20@@@@@ఐQ"cl@@@^9@@M@1M@2M@2)@@B @@K@1K@1@Ġ!T+Type_record@8+Type_record@'/@@@1@@@@1?@AABB@AMpNp@@@LUࠠ"rl)  @@@E@@@1@@@1@@@$ @@r@@N@1@@@@డ$List$iter ) *@q@@@@b@@L@2L@2r@@L@2@L@2@ @@L@2@@L@2@L@2@L@20 > > > > > > > >@82@3@ ZK@@@@@!r. R S@@@%@@ఐ"ty ^ _@ɰ@@@@@M@2 @@M@2@M@20 f f f f f f f f@)!<@@ L@@@@ఐ+!r y z@@@L@!T'rf_type  @- @@6@@N@2N@2N@2#@@/ @@@@M@2M@2)@@A  @@@i@@M@2@M@2M@20        @[@@@@ఐ"rl  @f@@+@@M@2M@2M@2q@@ @@ZK@2K@2@Ġ!T)Type_open  #@8)Type_open@@@ABB@Ar%'r%2@@@V@@  @@%@@N@1;@@;@@ภ  ' )@ @@@K@2K@2G@@A  *-@@K@0@ఐ!t 09 0:@^@@@!T+ty_manifest 0; 0H@ @@@@@2@@@2@Ġ$None! NR! NV@8   @@T@@@@AA@A!@@ @@ @@@@N@2@@N@20!!!!!!!!@@@@ @@@ภ !!NZ!"N\@ @@@@@J@3kK@3K@3@Ġ$Some!5]a!6]e@8 *@ A@AA@A!E@@ Ġ!T+Object_type!B]g!C]t@8+Object_type?@@@1L@v,object_field@@@1K@@@1J@AA@B@A| 4 6| 4 X@@@]ࠠ&fields/!`]u!a]{@@@@@@2@@@20!g!g!g!g!g!g!g!g@@@@@@!l]f!m]|@@g@@N@2@@@=@@on@@N@2@@N@2@@@@డ R$List$iter!!@Ͱ@@@@@@@L@35L@3@@L@3@L@3@ @@L@3 @@L@3@L@3 @L@3 0!!!!!!!!@ C=@>@!M@@@@@!r1!!@@@%@@ఐp"ty!!@%@@@l@@M@3+e@@M@3*@M@3)0!!!!!!!!@)!<@@!N@@@@ఐ+!r!!@@@L@!T'of_type!!@,'of_type@@@1G)type_expr@@@1D@A,'of_name @@@1C@@@A;uJL@@ @@K@3K@3 @Ġ$Some"H"I@Ġ!T%Other"S"T@8%Other@{)type_expr@@@1I@A@@B@A{{@@@\ࠠ!e0"j"k@@@@@@2@@@"q"r@@l@@N@3$@@@/@@ts@@N@3@@N@3,@@,@@ఐ="ty""@@@@9@@L@3F2@@L@3E@L@3D0""""""""@.(@)@"O@@@@ఐ6!e""@@@T@@M@3MM@3OM@3N@@$ @@K@3LK@3B@@A"02"@@K@2@డ!""@@@@ ܠ J@3n@@J@3o@J@3m@@ఐ 3!l V@ W@@ @@K@3tK@3wK@3u@@ `@@@, a@@@ b@@@h c@@}@ d@@@ e@@@  f@@ 4@"np h@@ H@*p0""""""""@ U@@@@A t lA@@  @@3z0""""""""@ s@@@L Q [type_deps t] returns the list of fully qualified type names [t] depends on. ""F[@@@@@@@ ~@ ~ }@ @ࠠ6kernel_deps_of_modules2#OS#Oi@@@@!(t_module@@@:H@:=@@@:KH@3|@@@:JH@3}@@3~H@3{0########@   @ @#6z@@@@'modules4#+Oj#,Oq@@@$0#+#+#+#+#+#+#+#+@0#2OO#3@@@@@@ࠠ%graph5#>tz#?t@@@~@@@3I@3@@@3I@30#K#K#K#K#K#K#K#K@!-G@$@#gQ@@@డ"+$List#map#^t#_t@t@@@@XH@:I@3#@I@3@p @@I@3,@@I@3@I@3@I@30#p#p#p#p#p#p#p#p@%@@@@@!m6##@@@@@డ)make_node#Dep##@@M@@@3@ߠ @@@3W@@@3@@3@@3@@Ͱ@@@@@J@3@@@J@3f@@J@3@J@3@J@30########@d:O@1@#S@@@@ఐD!m##@@@_@&Module&m_name##@,&m_name@@@5$Name!t@@@5{@@, ,&m_type %Types+module_type@@@5|AA @A.odoc_module.mlH X \H X @@+Odoc_modulek,&m_info&optionJ*Odoc_types$info@@@5~@@@5}AB"@AI  I  @@l,.m_is_interface2$boolE@@@5@C.@A#J  $J  @@"m,&m_file>&stringO@@@5@D:@A/K  0K  @@.n,&m_kindJ+module_kind@@@5AEE@A:L = A;L = _@@9o,%m_locU2(location@@@5AFQ@AFM ` dGM ` @@Ep,*m_top_depsa$listId!t@@@5@@@5AGc@AXN  YN  @@Wq,&m_codesV9@@@5@@@5AHr@AgO  hO @@fr,+m_code_intfeH@@@5@@@5AI@AvP48wP4]@@us,+m_text_only_@@@5@J@AQQ@@t@AG B FG B W@@j@@@@K@6@@ఐ!m${$|@ʰ@@@&Module*m_top_deps$$@Y @@Ϡ@@K@3@@K@3K@:K@:@@@@MI@3@@A$$@@@7V@J@3J@:$N@@ఐ'modules$$@X@@6@@L@@g\@@$tv@@@ࠠ!k$$@@@8v@@@:2@@@:1I@:'0$$$$$$$$@u@@$R@@@డ&kernel#Dep$$@@T@@@3@@@3@@3@ @ Ű  @@@^@@I@:+@@I@:*@I@:)&@@ఐ%graph$$@0@@>J@:5J@:37@@(@@?8@@$ @@డ#$List$iter%%  @P@@@@L@@H@:?@H@:>@@@H@:<@@H@:;@H@::@H@:90%%%%%%%%@Zke@f@%4T@@@@@!m%, %- @@@ @@@ࠠ$node%9#%:'@@@@@@:eJ@:U0%>%>%>%>%>%>%>%>@'5@@%ZU@@@డ(get_node#Dep%Q*%R6@@@@@3@@@3@@@@3 @@3@@3@@@@@ @@J@:Y@@J@:[@@@J@:Z @J@:X@J@:W0@@ఐŠ!k%{7%|8@`@@ŠG@@K@:gK@:jK@:hE@@ఐj!m%9%:@Q@@T@&Module&m_name%;%H@Ѱ @@@@K@:o`@@Q@@da@@%@@ఐ!m%LR%LS@l@@0%%%%%%%%@p}w@x@%V@@@&Module*m_top_deps%LT%Le@డ$$List&filter%iq%i|@@@@@$@@J@:J@:@@J@:@J@:@ @@J@:@@J@:@J@:@J@:1@@@"m2%i%i@@@"A@@డ$#Set#mem&String&i&i@d@@@$M@@K@:@$b@@K@:d@@K@:@K@:@K@:0& & & & & & & & @a,D@#@&)W@@@@ఐ4"m2&i&i@@@R@@ఐ$node&-i&.i@}@@@@L@:@:%@#Dep$near&;i&<i@,@@@3@@@3AA, @@@3@@@A@,@@@3@@@3@@3@@@3AB@A,@@@3@C@A}p@A4%@@$@@L@:L@:L@:X@@i-@@"@@K@:K@:^@@A&oi}&pi@@@,@@K@:@K@:K@:0&u&u&u&u&u&u&u&u@@@@@ఐ]!m&i&i@D@@y@&Module*m_top_deps&i&i@c @@F@@K@:K@:K@:@@ @@ol@@J@:@@J@:J@:J@:-@@@@@I@:I@:3@ @@@@I@:I@:p@@A& &i@@@@@I@:M@I@:LI@:0&&&&&&&&@@@@@ఐ'modules&@w@@@@@@@@@@ @@H@3@@AA@@@@:0&&&&&&&&@@@@3 i Modify the module dependencies of the given list of modules, to get the minimum transitivity kernel. &&!N@@@@@@@@@ @ࠠ-deps_of_types&&@@@&kernel&s @@@;=H@:@@@:H@:@ % @@@%*opt*'B'7'8A@DC@@I@:0':':':':':':':':@X'A'B@@@@@@ࠠXY'L@@@WH@:H@:0'N'N'N'N'N'N'N'N@$_^@@@:@"@'nY@@@ఐ/0'l 'a A@ml@@@:0'c'c'c'c'c'c'c'c@@@@Ġ(*predef*$Some'~;ࠠ%*sth*''yB@@M@:@@@@@@L@:@@@@ఐ' @@'[@;H@:0''''''''@9@@@Ġ$$None'@@@@@L@:2@ @2@@ภ%false%f@8'l'v@@@N@@@@B@@A'@@'o@,@VI@:@@@Ap@XU@@'@@%types ''@@@0''''''''@clh@i@'Z@@@@@ࠠ(deps_preà''@@@I@;%&!@@@;4@@@;3I@;&@@;'I@;@@@;I@; 0''''''''@)5@,@'\@@@డ&$List#map''@@@@@&H@;I@;,@I@;@@@I@;65@@I@;@I@;@I@; 0''''''''@$@@@@@!tĠ(  ( @@@@@ఐ!t((@+@@(3^@@-0((((((((@E@@@ఐ)type_deps(+(,@@@@@@J@;,&@@J@;+@@J@;*@J@;)@@ఐ;!t(D(E@*@@U(@@@@u)@@(I(J@@I@;$.@@A(N(O@@@b@J@;J@;:y@@ఐ%types(^ (_%@@@^b@@w@@@@(c@@ఐ &kernel(m).(n)4@@@"0(m(m(m(m(m(m(m(m@@@(]@@@@ࠠ%graphŠ(~@J(@O@@@@@@@;lI@;C@@@;PI@;>0((((((((@@@@డ'f$List#map(@R(@Z@@@@@I@;U@@I@;n@@I@;mI@;V@I@;WI@;E+@I@;F@@@I@;D4@@I@;B@I@;A@I@;@0((((((((@K@@@@@Ƞࠠ!tƠ([k([l@@@+@ࠠ%namesǠ([n([s@@@2@@([j([t@@;9@L@;X&@@డ".)make_node#Dep([x([@]@@@]@@J@;b@;@@J@;a@@J@;`@J@;_@J@;^0((((((((@8]@3@)`0\@+@)a@@@@ఐD!t)[)[@@@o@$Type'ty_name)[)[@, n@@@; p o@@@;@@  , i  h e b@@@;@@@;AA @A a@ ^, ] \ Y V@@@; U@@@; R@@@;@@;@@@;@B@A Q@ N, ': @@@;@C#@A @ , R,? Q@@@;@D(@A P@ M, L1 KG J@@@;@@@;@E1@A I@ F, E: D C@@@;AF6@A B@ ?, >? = <@@@;@@@;AG>@A 9@ 6@A @ SI@@D@@K@;i@@ఐ%names)q[)r[@p@@v@@@@I@;\y@@A)x[e)y[@@@@J@;RJ@<@@ఐǠ(deps_pre))@@@@@J@;QJ@< J@<@@ @@@@)@F @@@ࠠ!kɠ))@@@"`@@@<@@@<I@<0))))))))@=4.@/@)_@@@డ"&kernel#Dep))@@@@>|@@I@<@@I@<@I@<@@ఐT%graph))@&@@4J@< J@<-@@@@5.@@) @@డ($List#map))@@@@@@H@<*@@@H@<(0@@H@<&@H@<%@H@<$0))))))))@N_Y@Z@*b@@@@@!tʠ* * @@@@@@ࠠ$nodeˠ* *@@@@@@!@@ఐ!k*J*K@Q@@8@@K@*~2?@^@@x0*}*}*}*}*}*}*}*}@boi@j@*d@@@డ#+set_to_list#Dep*2A*2P@@(((@@@3(|@@@3@@@3@@3@#@!@@@@@I@*x}@@l@ఐ?(deps_pre+@@@H@<~x@+)+@@z@@@H@; .@@AZA@@ @H@<0+ + + + + + + + @Y@@@@H@:(#default+@+ @@A@%! @@@<@@<0++++++++@@@@"} Return the list of dependencies between the given types, in the form of a list [(type, names of types it depends on)]. @param kernel indicates if we must keep only the transitivity kernel of the dependencies. Default is [false]. +&+'@@@@@@@@@@)A)@))@@)A)@))@@)A)@))p@@)'r@'%@%$U@$@@@@@@@[U@V@+XX@@0+@+@+@+@+@+@+@+@@_@@@ H************************************************************************+IA@@+JA@L@ H +OBMM+PBM@ H OCaml +UC+VC@ H +[D+\D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt +aE44+bE4@ H +gF+hF@ H Copyright 2001 Institut National de Recherche en Informatique et +mG+nG@ H en Automatique. +sH+tHg@ H +yIhh+zIh@ H All rights reserved. This file is distributed under the terms of +J+J@ H the GNU Lesser General Public License version 2.1, with the +K+KN@ H special exception on linking described in the file LICENSE. +LOO+LO@ H +M+M@ H************************************************************************+N+N5@<* Top modules dependencies. +2* direct children " .* indirect children, from which children path "Π {* reflexive or not, we keep information here to remove the node itself from its direct children " 4 potential optimisation: use far field if nonempty? +N s {+N s @< compute transitive closure +EK+Ek@ * remove edges to keep a transitive kernel ++@ R* [type_deps t] returns the list of fully qualified type names [t] depends on. Ơ j* Modify the module dependencies of the given list of modules, to get the minimum transitivity kernel. ⠠ * Return the list of dependencies between the given types, in the form of a list [(type, names of types it depends on)]. @param kernel indicates if we must keep only the transitivity kernel of the dependencies. Default is [false]. @/../ocamlopt.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++ AVO00++++++++@+@@(Asttypes0'$O~75Build_path_prefix_map0xөvĠ8CamlinternalFormatBasics0cEXy@#%@yJn+z+@!.@ @!#<'T)A@+(+Y@@o@&'p@+]+@#q#t@ @@@@P- @&@B@@@@A!T@@@B#A#@@C&BA&6@@@@@A#n@!B@@B$A$&@@@@@@@@ABC&+@$@@ @@@ADE@A+B++@+B+p@+++B+B@AB+B++@]@@@A)@'@@'@&i@@ O@%@@ABC+@)@@*@ 8@@ADE