Caml1999T037Kn3$C)Odoc_scan*ocaml.text&_none_@@A Scanning of modules and elements. The class scanner defined in this module can be used to develop generators which perform controls on the elements and their comments. 5ocamldoc/odoc_scan.mlP77U@@@@@@3@@@@@@#intA;@@#intA@@@@@;@A@$charB;@@$charA@@@@@A@A@&stringQ;@@&stringA@@@@@G@@@%bytesC;@@%bytesA@@@@@M@@@%floatD;@@%floatA@@@@@S@@@$boolE;@@%falsec@@]@$trued@@c@@@A@@@@@d@A@$unitF;@@"()e@@n@@@A@@@@@o@A@ #exnG;@@@A@@@@@s@@@#effH;@@O@A@A@@@@@@|@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@@@@%arrayJ;@@R@A%arrayA@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@ @@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A!=ocaml.warn_on_literal_pattern%@&@0Division_by_zero]#@@@A+ . .@+End_of_file\#$@@@A366@'FailureY#,@'@@A<??@0Invalid_argumentX#5@0@@AE$H#H@-Match_failureV#>@@=@9@;@@a@@AV5Y4Y@)Not_foundZ#O@@@A^=a<a@-Out_of_memoryW#W@@@AfEiDi@.Stack_overflow^#_@@@AnMqLq@.Sys_blocked_io_#g@@@AvUyTy@)Sys_error[#o@j@@A^]@:Undefined_recursive_modulea#x@@w@s@u@@h@@Aon@:Continuation_already_takenb#@@@Awv@&Stdlib@@Р*Odoc_types*Odoc_typesWW@@ 3@@@@@A3@@@W@@ @/A@'scanner\\@'A&A%AБఠ$self(]]@AA]]@@*scan_valueA@*Odoc_value't_value@@@C@Y@@Z$unitF@@@({C@[@@\C@W@@XC@T-scan_type_preA@)Odoc_type&t_type@@@ C@@@@@@C@@@C@@@C@2scan_type_recfieldA@&t_type@@@C@ @@ @-,record_field@@@ "C@ @@ L@@@C@ @@ !C@ @@ C@ @@ C@ /scan_type_constA@*@@@C@ )@@ *@T3variant_constructor@@@ 1C@ -@@ .s@@@C@ /@@ 0C@ +@@ ,C@ '@@ (C@ $)scan_typeA@pQ@@@ .scan_exceptionA@.Odoc_exception+t_exception@@@ C@ @@ @@@(C@ @@ C@ @@ C@ .scan_attributeA@+t_attribute@@@ C@ @@ @@@!#C@ @@ C@ @@ C@ +scan_methodA@(t_method@@@ C@ @@ @@@!2C@ @@ C@ @@ C@ 4scan_included_moduleA@+Odoc_module/included_module@@@ 5C@ @@  @@@(VC@ @@ C@ @@ C@ 7scan_type_extension_preA@0t_type_extension@@@ @C@ <@@ =@@@C@ >@@ ?C@ :@@ ;C@ 7 scan_type_extension_constructorsA@0t_type_extension@@@ KC@ G@@ HX@@@(C@ I@@ JC@ E@@ FC@ B3scan_type_extensionA@0t_type_extension@@@ VC@ R@@ SC@ T@@ UC@ P@@ QC@ M2scan_class_commentA@$text@@@ aC@ ]@@ ^@@@C@ _@@ `C@ [@@ \C@ X.scan_class_preA@*Odoc_class't_class@@@C@ h@@ i@@@ HC@ j@@ kC@ f@@ gC@ c3scan_class_elementsA@*Odoc_class't_class@@@ C@@@@@@(aC@@@C@@@C@*scan_classA@C@@@C@@@C@@@C@7scan_class_type_commentA@?$text@@@C@@@@@@!DC@@@C@@@C@3scan_class_type_preA@i,t_class_type@@@C@@@@@@!C@@@C@@@C@8scan_class_type_elementsA@g,t_class_type@@@!C@@@+@@@(lC@@@C@@@C@/scan_class_typeA@C@@@C@@@C@@@C@3scan_module_commentA@$text@@@C@@@X@@@(C@@@C@@@C@/scan_module_preA@V(t_module@@@C@@@S@@@'IC@@@C@@@C@4scan_module_elementsA@+Odoc_module(t_module@@@'C@@@@@@+C@@@C@@@C@+scan_moduleA@C@@@C@@@C@ @@C@ 8scan_module_type_commentA@ $text@@@C@@@Q@@@'C@@@C@@@C@4scan_module_type_preA@-t_module_type@@@(C@$@@%@@@*C@&@@'C@"@@#C@9scan_module_type_elementsA@h-t_module_type@@@*C@/@@0@@@(GC@1@@2C@-@@.C@*0scan_module_typeA@C@9@@:C@;@@@@?@@C@5@6C@+@,C@ @!C@@C@ @ C@@C@@C@@C@@C@@C@@C@@C@@C@@C@ d@ eC@ Y@ ZC@ N@ OC@ C@ DC@ 8@ 9C@ @ C@ @ C@ @ C@ @ C@ ?@ @C@ 4@ 5C@ %@ &C@ @ C@@C@U@VC@Ld@@MC@R3@zi;@@@ApAouAtAAAAmAl8A7VAUAANAMlAkAAAPAOAgAfAAAAAA0A/NAMmAlPAOA@@+B@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+B@E@@F@@@@g\h#1#6@@@@@A#@Y@@@A@@@@J@@I@@H@@G@Ȱ@A@@@M@@L@@K@AB&@A@ @@@Q@@P@@O@@N@@A@@@T@@S@@R@A@A@@@@X@@W@@V@@U@@A@@@[@@Z@@Y@ABC@A@@@@_@@^@@]@@\@@A@@@b@@a@@`@A۰@A@@@@f@@e@@d@@c@B-@A@'@@@j@@i"@@h@@g@CDU@A@O@@@n@@mJ@@l@@k@@A@@@@r@@q@@p@@o@A@A@@@@v@@u @@t@@s@s@A@o@@ym@@x@@w@ABϰ@A@@@@}@@|@@{@@z@@A@@@@@@@~@@A@@@@@@@@ABϰ@A@@@@@@@@@@@<@A@8@@6@@@@@A@A@@@@@@@@@@@j@A@f@@_@@@@@A@A@@@@@@@@@@@BCDEF@A@@@@@@@@@@@@A@@@@ @@@@@@@@@@@@@A@@@@@@@@@@@ABA@A@;@@@@@8@@@@@h@A@b@@@@@_@@@@@AC@A@@@@@@@@@@@|@A@x@@@l@@@@@i@@@@@@@Aʰ@A@@@@@@@@@@@BDG'*undef*C@@@+B@I@@E#@@@J@@K@@;@@AA A dAc-A,MALAAAA6A5VAUAAXAWAzAyAAARAQA:A9AAAAAAA(A'@@,Z@,z@,{@,|@,}@,~@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,@,B@G@@H@@@@@@@@ @@@@)selfpat-*)BA:@:@6__@AA࣠@&self-1Aఠ&self-*SRA0EA@P3@_V@mn@Aqr@ʠ@AB@@A@hi@ABC23@RS@A@@ABHI@gh@A@@ABCDݠ@LM@A@bc@AB@@A@@ABC@  @A)*@HI@Afg@IJ@@ABCDEF@!1@tCA`A@m@wDA@@@SSJyFAK@I@@K@࣠@%paramA@m_n_@г*Odoc_value|_}_@__@@@@@@3@nt@r@q|@s@)@@ @@__@@@@@@ @@@@ภ"()__@;>@@@N@@@@A@@A@@@@@@@@@@ A@A@@@@@@@@@@@@-@ @@@@@@@@@@@@@@@@C@@_)@@װaa@AA࣠@&self-1AఠGA@3@@@@  ıHA@@@@࣠@zA@aa@г렡)Odoc_typeaa!@a"a(@@@@@@3@+9@@*3:@@(@@ @@aa)@@@ @@@ @@@@ภ$truea,a0@;@@@M@@@AB@@A(@@@ @@@@@  @ A@A@@@,@@@@@'@@@@.@ @@i@@#@;@@@"@@!6@@ @@@@C@b@=a*@@2Cc2=Dc2O@AA࣠@&self-1Aఠ<=;jIA<@3QPPQQQQQ@:@@@  >mJA?@@@?@࣠@"_tAcc2Pdc2R@|KA@@L3dccddddd@O@S@!@T@@@@@  @@A@sc2Ttc2U@гzM)Odoc_typec2Xc2a@Vc2bc2n@@@@@@E3@&2t@)@*@@ @@c2Sc2o@@@h@@@J @@@@ภc2rc2t@@@@@@@N@AA@E A@@@@@f@@@@e@@d@@c@@b@@aN@@@@@w@@@v@@@@u@@t@@s@@r@@q@@pC@ht@c26,@@dudu@AA࣠@&self-1AఠDZLA@3@@@@  ʱMA@@@@࣠@"_tAdudu@ NA@@3@-@@!.@@@@@@  @@A@du du@г)Odoc_type du du@ du du@@@@@@3        @&2@)@*@@ @@ du du@@@@@@ @@@@ภ )du *du@@@@@@@@AA@E A@@@@@@@@@@@@@@@@@N@@@}@@@@@@@@@@@@@@@@@@@C@t@ Uduy,@@ [e \e@AA࣠@&self-1AఠTUS OAT@3 i h h i i i i i@R@@@  V PAW@@@W@࣠@!tA {e |e@ QA@гe)Odoc_type e e@l e e@@@t@@@3        @|.@@-6@@+@@ @@ e e@@@/@@@ @@@@ ఐI$self f f@@@3        @@@@@@:@;@@@b  f@@@@@@@@@@@@ఐT!t f f@@@@@@F@F@$@@( @@%@ఐj!t g  g @0@@)Odoc_type&t_type@@@@=@)Odoc_type g  g &@'ty_kind g ' g .@@3'ty_kind@@@ )type_kind@@@ @@C#3'ty_name $$Name!t@@@ @@@ @A6ocamldoc/odoc_type.mliB > @B > Q@@*a@3'ty_info&optionL*Odoc_types$info@@@ @@@ A@A @AC R TC R }@@?b@3-ty_parameters.$listK@%Types)type_expr@@@ @ (Variance!t@@@ @@ @@@ @@BC@A9D ~ :D ~ @@bc@Q3*ty_privateQi,private_flag@@@ @@DN@ADF  EF  @@me@3+ty_manifest\Cx-type_manifest@@@ @@@ @@E^@ATG  UG  @@}f@3&ty_loclM(location@@@ A@Fj@A`H  aH  <@@g@3'ty_codex_&stringQ@@@ @@@ A@G{@AqI = ?rI = _@@h@@AuE  vE  @@d@@@@@@@Ġ)Odoc_type h4> h4G@-Type_abstract h4H h4U@@;-Type_abstract@@@@@@@BC@App@@@T@@@ @@@@@3        @@@@@@@@@@@ภ  h4Y h4[@@@@ g@@@!@Ġ)Odoc_type i\f i\o@,Type_variant i\p i\|@@;,Type_variant2@3variant_constructor@@@@@@@A@BC@Aqq@@@U@ఠ!lĠ i\} i\~@ RA@@@@@@@@3        @F@@@@@. @@@@@@@@@@@@@డ w$List$iter i\ i\@  i\ i\@@@@!a@m@@{ :@@@z@@y@@x@#@@@w@@v@@@u@@t@@s@(list.mli@@,Stdlib__ListU@)$@@@@@@@G@m@@q \@@@p@@o@@n@E@@@l@@k>@@@j@@i@@h3 N M M N N N N N@jc@d@e@@@@ ఐ$self bi\ ci\@G@@ @ gi\@@@ '@@@ @@@@@ @@@@"@@ఐ!t }i\ ~i\@˰@@ 9/@@ i\ i\@@@ 5@@@@@ 2@@9@@ఐ!l i\ i\@C@@`@@@H@H@N@@ @@O@Ġ)Odoc_type j j@+Type_record j j@@;+Type_record@,record_field@@@@@@@AABC@Arr@@@V@ఠ!lŠ j j@ SA@@@@@@@@&@@@- @@@@@*@@@@@-@@@డ V$List$iter j j@  j j@@߰@@@@ @@@G@@@ @@@@@@@@@@@@@@@@@@@@3        @^HA@B@C@@@@ ఐ$self j !j@@@ [@˰ %j@@@ @@@ @@@@@ @@@@"@@ఐà!t ;j m[A ?@ @@?@࣠@A@`q  /aq  0@г  *Odoc_valueoq  3pq  =@ sq  >tq  F@@@@@@3vuuvvvvv@a+ @e@*3 @f@(@@ @@q  .q  G@@@ @@@ @@@@ภq  Jq  L@@@@ @@@@A@ A@@@ @@@@@ @@@@'@ @@ @@@ @@@@@ @@@@@@C@[@q  $@@ Űr M Xr M l@AA࣠@&self-1Aఠ\A@ 3@@@@  ]A @ @@@࣠@gA@r M nr M o@г  ٠+Odoc_moduler M rr M }@ r M ~r M @@@@@@3@+ &@@*3 '@@(@@ @@r M mr M @@@ @@@ @@@@ภfr M r M @e@@@ \@@@ @A@ A@@@ @@@@@ @@@@'@ @@ O@@#@ "@@@"@@! @@ @@@@C@[@#r M Q$@@76: Scan of a type extension 3t  4t  @@@@@@@ +:z  ;z  @AA࣠@&self-1Aఠ342a^A3@ 3HGGHHHHH@1@@@  5d_A 6@ @@6@࣠@A@Wz  Xz  @г  A.Odoc_extensionfz  gz  @ Jjz  kz  @@@@@@73mllmmmmm@X+ @\@*3 @]@(@@ @@wz  xz  @@@ ^@@@< @@@@ภqz  z  @p@@@p@@@@@A@ A@@@ y@@@K@@J v@@I@@H'@ @@ @@X@ @@@W@@V @@U@@T@@SC@M[@z  $@)ocaml.doc Override this method to perform controls on the extension's type, private and info. This method is called before scanning the extensions's constructors. @return true if the extension's constructors must be scanned.v  y i @@@@@@@ } L W} L w@AA࣠@&self-1 Aఠ`A@3@@@@  aA@@@@࣠@!x!A} L y} L z@bA@г [ .Odoc_extension} L |} L @ } L } L @@@@@@l3@02@@/83@@-@@ @@} L x} L @@@ @@@q @@@@డ}$List$iter~  ~  @ ~  ~  @@@@@@ @@@E@z@@~A@@@}@@|@@{@ *@@@y@@x #@@@w@@v@@u332233333@?bU@@@p@\@]@@@@ ఐ$selfH~  I~  @ -@@@ M~  @@@ @@@@@ @@@@డ 6extension_constructors.Odoc_extensione~  f~  @ i~  j~  @@@.Odoc_extension0t_type_extension@@@ @@ $listK7t_extension_constructor@@@ @@@ @@ @;ocamldoc/odoc_extension.mlim}}m}@@X@&!@@@@@@@@@@@@@@@@c@@ఐɠ!x~  ~  @m@@9@@@G@G@w@@~  ~  @@ @@@F@G@@@ @@ C@#/C@C@@A@A@@@ @@@@@ @@@@@ @@@@@ @@@@@ @@@@@@C@ @} L P.@5퐠 A This method scans the constructors of the given type extension. |  |  K@@@@@@@ B  B  @AA࣠@&self-1#Aఠ "  cA @83@ @@@   dA; @;@@ @࣠@!x$AB  B  @*eA@г Š.Odoc_extension"B  #B  @ ΰ&B  'B  @@@@@@3)(()))))@ 0f@ @/8g@ @-@@ @@3B  4B  @@@ @@@ @@@@ ఐK$selfGC  HC  @ ,@@3GFFGGGGG@B5@@@@<@=@@@  RC  -@@@<@@@@@9@@@@ఐV!xdC  .eC  /@@@P@@@F@F@$@@( @@N%@ ఐ~$selfzC  5{C  9@ _@@3@ +C  Z@@@M@@@@@J@@=@@ఐ!xC  [C  \@G@@a@@@F@F@Q@@" @@_R@@C   @@aT@l A@pA@@@V@@@ @@ S@@ @@ @ @@@@@e@@@@@b@@@@@@C@@B  +@͐ Scan of a type extension. Should not be overridden. It calls [scan_type_extension_pre] and if [scan_type_extension_pre] returns [true], then it calls scan_type_extension_constructors.@  A Y @@@@@@@ސ2 Scan of a class. F _ aF _ x@@@@@@@I  I  @AA࣠@&self-1&Aఠ %  ڱ fA @)3@ @@@   ݱ gA, @,@@ @࣠@ 'A@I  I  @гo I   I  @@@@@.3        @ "I@ @!*J@ @@@  @@I  I  @@@@@@3 @@@@ภ "I  #I  @ @@@ @@@7@A@ A@@@@@@B@@A@@@@@?'@ @@r@@O@@@@N@@M@@L@@K@@JC@DR@FI  $@W # Scan of a comment inside a class. TH z ~UH z @@@@@@@[N\N@AA࣠@&self-1)Aఠ T( U ShA T@3ihhiiiii@ R@@@   ViA W@@@ W@࣠@ *A@xNyN@г*Odoc_classNN@NN@@@@@@c3@ y+@ }@*3@ ~@(@@ @@NN@@@@@@h @@@@ภ NN@ @@@ @@@l@A@ A@@@/@@@w@@v*@@u@@t'@ @@@@@>@@@@@9@@@@@@C@y[@N$@!ِ Override this method to perform controls on the class comment and params. This method is called before scanning the class elements. @return true if the class elements must be scanned.K  Mi@@@@@@@ERITRIg@AA࣠@&self-1,Aఠ +  ձjA @$3@ @@@   رkA' @'@@ @࣠@!c-ARIhRIi@lA@@_3@ ;@ @!<@ @@@@@  @@డ$List$iterSlrSlv@ SlwSl{@@@@@@-class_element@@@E@@@E@@@@@@@@.@@@@@'@@@@@@@376677777@:F@=@>@@@@࣠@#ele.AKT|LT|@dmA@@*3LKKLLLLL@@@@@@@ఐ#ele[U\U@9@@@@:3\[[\\\\\@&@@@Ġ*Odoc_classmVnV@/Class_attributerVsV@@;/Class_attributeP@@@ @*Odoc_value+t_attribute@@@@A@@C@A7ocamldoc/odoc_class.mliWW@@@B@ఠ!a/VV@nA@@@@@3@8@@@@@,@@t@@t@@@ ఐ$selfVV@ @@3@I@@@@@ V@@@@@@@@@@ @@ఐ.!aVV@@@@@@J@J@!@@% @@@@@%@Ġ*Odoc_classWW@,Class_methodWW@@;,Class_methodk@h(t_method@@@@AA@C@AfXgX@@@EC@ఠ!m0WW@oA@@@@@3@@@@@@&@@@@@@@ ఐ!$self W W@ @@D3      @@@@@@ հW$@@@5@@@@@2@@ @@ఐ.!m#W%$W&@@@I@@@J@J@!@@% @@e"@Ġ*Odoc_class:X'3;X'=@-Class_comment?X'>@X'K@@;-Class_comment@*Odoc_types$text@@@@AB@C@AYY4@@@D@ఠ!t1YX'LZX'M@rpA@@@@@@@@'@@<@@<@@@ ఐ$selflX'QmX'U@ Q@@3lkklllll@@@@@@ KtX'h@@@@@@@@ @@ @@ఐ-!tX'iX'j@@@"@@@J@J@!@@% @@"@@@AU @@@@@3@7@@@T|Ykt@@@}@@@@@@@F@F@V@@డ$.class_elements*Odoc_classZu~Zu@ ZuZu@@%trans&optionL$boolE@@@^@@@]@@\@0@@@[@@Z$listK@@@Y@@@X@@W@@V@]R  ^R  H@@@@@{@@ )@@@ (@@ '@@ &@@ %C@ ]@LRIM(@] ^ This method scans the elements of the given class. A VOIR : scan des classes heritees.ZP[QH@@@@@@@a^<Gb^<Q@AA࣠@&self-1AఠZ[YrAZ@3onnooooo@X@@@  \sA]@@@]@࣠@!cA^<R^<S@tA@@3@m@q@!@r@@@@@  @@ ఐ-$self^<Y^<]@~@@3@$@@@@@t^<l@@@ @@@ ?@@ >@@ = @@ఐ5!c^<m^<n@@@@@@@)@ ఐV$self^<t^<x@@@)@^<@@@*@@ L @@ K0@@ఐX!c^<^<@:@@=@@@@.>@@^<V@@0@@\A@` A@@@'@@ Z%@@ Y@@ Xb@@@#@@ e@3@@ d1@@ c@@ b@@ aC@ \@^<@@M Scan of a class. Should not be overridden. It calls [scan_class_pre] and if [scan_class_pre] returns [true], then it calls scan_class_elements.\];@@@@@@@7 Scan of a class type. ``@@@@@@@Rcc@AA࣠@&self-1AఠAuA@a3(''(((((@@@@  DvAd@d@@@࣠@A@7c8c@гhjBc Cc@@@@@ y3DCCDDDDD@/"@3@!*@4@@@  @@NcOc@@@|@@@ ~ @@@@ภZc[c@@@@@@@ @A@ A@@@@@@ @@ @@ @@ '@ @@@@ @@@@ @@ @@ @@ @@ C@ R@~c$@ ( Scan of a comment inside a class type. bb@@@@@@@hh@AA࣠@&self-1AఠwA@3@@@@  xA@@@@࣠@DA@hh@г/Ơ*Odoc_classhh!@ϰh"h.@@@@@@ 3@+@@*3@@(@@ @@hh/@@@@@@  @@@@ภʰh2h6@@@@@@@ @A@ A@@@@@@ @@ @@ @@ '@ @@,@@ @ @@@ @@  @@ @@ @@ C@ [@h$@Y Override this method to perform controls on the class type comment and form. This method is called before scanning the class type elements. @return true if the class type elements must be scanned.eg@@@@@@@ll@AA࣠@&self-1Aఠ J@!CJ@!B!@@% @@"@@@Ao @@@@@!3@@@@ns@@@I@@ @@@ @@ F@!F@!$@@డ(3class_type_elements*Odoc_classtt@ tt@@%trans@@@g@@@f@@e@@@@d@@c@@@b@@@a@@`@@_@ZU | |[U | @@9u@*%@@"$ @@@!@@@!@@!@@@@!@@!@@@!@@@!@@!@@!@;ภ@@B>@@@!@@@!@@!@@ఐ䠐"cttt@@@@@tt@@@@@ F@!G@!@@ @@C@#C@!C@ @A@A@@@,@@!%@@!@@!@@@q@@!@8@@!1@@!@@!@@!C@!@Bl(@ S c This method scans the elements of the given class type. A VOIR : scan des classes heritees.Pj8<Qkx@@@@@@@=WxXx@AA࣠@&self-1AఠPàQO~@AP@3eddeeeee@N@@@  RAAS@@@S@࣠@"ctAwxxx@BA@@W3xwwxxxxx@c@g@!@h@@@@@  @@ ఐ-$selfxx@t@@3@$q@@@@@bx@@@@@@!@@!@@! @@ఐ5"ctxx@@@@@@@@ ఐV$selfxx@@@)@x@@@@@!@@!0@@ఐX"ctxx!@:@@=@@@@>@@x@@@@\A@` A@@@@@"@@!@@!b@@@@@" @@@" @@" @@"@@"C@"@x@ C Scan of a class type. Should not be overridden. It calls [scan_class_type_pre] and if [scan_class_type_pre] returns [true], then it calls scan_class_type_elements.v  w`@@@@@@@  2 Scan of modules.  z#% z#<@@@@@@@}lw}l@AA࣠@&self-1Aఠ Ơ 7CA @W3@@@@   :DAZ @Z@@ @࣠@A@-}l.}l@г8}l9}l@@@@@"3:99:::::@%"w@)@!*x@*@@@  @@D}lE}l@@@@@@"$ @@@@ภP}lQ}l@@@@@@@"(@A@ A@@@)@@@"3@@"2'@@"1@@"0'@ @@@@"@@8@@@"?@@">6@@"=@@"<@@";C@"5R@t}lp$@  $ Scan of a comment inside a module. |>B|>k@@@@@@@Bmxm@AA࣠@&self-1AఠɠEA@3@@@@  FA@@@@࣠@:A@mm@гX+Odoc_modulemm@amm@@@@@@"T3@+@@*3@@(@@ @@mm@@@u@@@"Y @@@@ภmm@@@@@@@"]@A@ A@@@@@@"h@@"g@@"f@@"e'@ @@"@@"u@@@@"t@@"s@@"r@@"q@@"pC@"j[@mq$@ O Override this method to perform controls on the module comment and form. This method is called before scanning the module elements. @return true if the module elements must be scanned./l@@@@@@@   @AA࣠@&self-1Aఠ̠2GA@R3@@@@  5HAU@U@@@࣠@!mA+ , @DIA@@3,++,,,,,@i@@!j@@@@@@  @@డ$List$iterCD@ GH@@6@@@@.module_element@@@"E@"@@"s@@@"@@"@@"@\@@@"@@"U@@@"@@"@@"3eddeeeee@:F@=@>@@@@࣠@#eleAy+z.@JA@@*3zyyzzzzz@@@@@@@ఐ#ele2B2E@9@@@@:3@&@@@Ġ+Odoc_moduleKWKb@.Element_moduleKcKq@@;.Element_moduleP@@@ @:@@@ ~@A@@J@A8ocamldoc/odoc_module.mliYY@@@>L@ఠ!mРKrKs@KA@@N@@@"3@3@@@@@'@@o@@o@@@ ఐ$selfKwK{@@@3@D@@@@@K@@@O@@"M@@" @@ఐ+!mKK@@@`C@'GC@'HC@"@@ @@@@@" @Ġ+Odoc_module@3Element_module_type@@;3Element_module_typea@0@@@ @AA@J@A^Z_Z(@@@M@ఠ"mtѠ@/LA@@C@@@"3@@@@@@#@@@@@@@ ఐ$self*+@@@e3*))*****@@@@@@2@@@G@@"E@@" @@ఐ+"mtAB@@@XC@*C@*C@"@@ @@]@Ġ+Odoc_moduleVW@7Element_included_module[\@@;7Element_included_module@/included_module@@@ @AB@J@A[)+[)W@@@N@ఠ"imҠrs@MA@@@@@"3vuuvvvvv@@@@@@%@@(@@(@@@ ఐp$self @k@@3@@@@@@U$@@@@@@"@@"@@" @@ఐ."im%'@@@@@@"J@"J@"!@@% @@"@Ġ+Odoc_module(4(?@-Element_class(@(M@@;-Element_class@*Odoc_class't_class@@@ @AC@J@A\XZ\X@@@[O@ఠ!cӠ(N(O@NA@@@@@"3@P@@@@@(@@@@@@@ ఐԠ$self(S(W@ϰ@@%3@a@@@@@˰(b@@@7@@"5@@" @@ఐ+!c(c(d@@@bJ@#@@@@@Ġ+Odoc_moduleeqe|@2Element_class_typee}e@@;2Element_class_typex@\,t_class_type@@@ @AD@J@Ax]y]@@@P@ఠ"ctԠ0e1e@IOA@@@@@"343344444@@@@@@&@@@@@@@ ఐ.$selfDeEe@)@@3DCCDDDDD@@@@@@Le@@@-@@# +@@#  @@ఐ+"ct[e\e@@@UJ@#@@@@t@Ġ+Odoc_modulemn@-Element_valuers@@;-Element_value@*Odoc_value't_value@@@ @AE@J@A^^@@@Q@ఠ!vՠ@PA@@@@@"3@@@@@@(@@B@@B@@@ ఐ$self@@@3@@@@@@L@@@@@@#@@#@@# @@ఐ.!v@@@@@@#J@#J@#!@@% @@"@Ġ+Odoc_module@6Element_type_extension@@;6Element_type_extension6@.Odoc_extension0t_type_extension@@@ @AF@J@A8_9_@@@uR@ఠ!x֠@ QA@@@@@"3@j@@@@@(@@@@@@@ ఐ$self#@@@?3@{@@@@@ 7@@@@@@#%@@#$@@## @@ఐ.!x89@@@@@@#,J@#.J@#-!@@% @@<"@Ġ+Odoc_module5:F6:Q@1Element_exception::R;:c@@;1Element_exception@.Odoc_exception+t_exception@@@ @AG@J@A``K@@@S@ఠ!eנT:dU:e@mRA@@@@@"3XWWXXXXX@@@@@@(@@ @@ @@@ ఐR$selfh:ii:m@M@@3hgghhhhh@@@@@@:p:|@@@@@@#4@@#3@@#2 @@ఐ.!e:}:~@@@@@@#;J@#=J@#<!@@% @@"@Ġ+Odoc_module@,Element_type@@;,Element_type@)Odoc_type&t_type@@@ @AH@J@AaLNaLp@@@=T@ఠ!tؠ@SA@@@@@"3@2@@@@@(@@n@@n@@@ ఐ$self@@@3@C@@@@@@@@k@@@#C@@#Bi@@#A @@ఐ.!t@@@@@@#JJ@#LJ@#K!@@% @@"@Ġ+Odoc_module@6Element_module_comment@@;6Element_module_commentb@*Odoc_types$text@@@ @AI@J@Adbqsebq@@@U@ఠ!t٠@5TA@@@@@"@@@'@@@@@@@ ఐ$self/0@@@j3/../////@@@@@@7@@@@@@#R@@#Q@@#P @@ఐ-!tIJ@@@@@@#YJ@#^J@#]!@@% @@g"@@@AU2< @@o@@@&3VUUVVVVV@@@@[&\ @@@@@"~@@@"@@"F@&F@&@@డp/module_elements+Odoc_modulexy'@ |(}7@@%trans&optionL$boolE@@@ !@@@ @@ @(@@@ @@ $listKK@@@ @@@ @@ @@ @:@@4O@1,@@)'$@@@&@@@&@@&@I@@@&@@&!i@@@&@@@&@@&@@&Z@Bภ  @@EB@@@'@@@'@@'j@@ఐ!m89@t@@rw@@:@@@@@"F@'G@' @@ @@zC@( @@ఐ5!m q r@@@@@@@@ ఐV$self  @e@@)@E 3@@@@@'M@@'L0@@ఐX!m 4 5@:@@ =@@@@!>@@ @@#@@\A@` A@@@@@'[@@'Z@@'Yb@@@@@'f@&@@'e$@@'d@@'c@@'bC@']@ @  Ð Scan of a module. Should not be overridden. It calls [scan_module_pre] and if [scan_module_pre] returns [true], then it calls scan_module_elements. <@ @@@@@@@  Ԑ7 Scan of module types.  79 7U@@@@@@@E  @AA࣠@&self-1Aఠݠб XA@3        @@@@  ӱ!YA"@"@@@࣠@A@  @гe[]!!@@@@@'z3!!!!!!!!@"?@@!*@@@@@  @@! ! @@@o@@@' @@@@ภ!!@~@@@u@@@'@A@ A@@@@@@'@@'@@'@@''@ @@h@@'@@@@'@@'@@'@@'@@'C@'R@!<$@!M ) Scan of a comment inside a module type. !JW[!KW@@@@@@@!Q!R@AA࣠@&self-1AఠJKI!xZAJ@3!_!^!^!_!_!_!_!_@H@@@  L!{[AM@@@M@࣠@A@!n!o@гv+Odoc_module!}!~@!!@@@@@@'3!!!!!!!!@o+@s@*3@t@(@@ @@!!@@@@@@' @@@@ภ!!@@@@@@@'@A@ A@@@@@@'@@'@@'@@''@ @@@@'@@@@'@@'@@'@@'@@'C@'[@!$@!ϐ Override this method to perform controls on the module type comment and form. This method is called before scanning the module type elements. @return true if the module type elements must be scanned. !!\@@@@@@@!,7!,P@AA࣠@&self-1Aఠ˱!\A@ 3!!!!!!!!@@@@  α!]A @ @@@࣠@"mtA!,Q!,S@" ^A@@"3!!!!!!!!@ 1@@! 2@@@@@@  @@డ u$List$iter" V\" V`@ "Va"Ve@@@@@@@@@(E@'@@' 9@@@'@@'@@'@"@@@'@@'@@@'@@'@@'3"+"*"*"+"+"+"+"+@8D\@;@<@@@@࣠@#eleA"?fs"@fv@"X_A@@(3"@"?"?"@"@"@"@"@@@@@@@@ఐ#ele"Oz"Pz@7@@@@83"P"O"O"P"P"P"P"P@&@@@Ġ+Odoc_module"a"b@.Element_module"f"g@@Ơఠ!m"p"q@"`A@@@@@( 3"t"s"s"t"t"t"t"t@$@@@@@@@^@@^@@@ ఐ$self""@i@@ 3""""""""@5@@@@@O"@@@@@(5@@(4 @@ఐ+!m""@@@1J@(;@@@@ @@@(1@Ġ+Odoc_module""@3Element_module_type""@@ఠ"mt""@"aA@@@@@( 3""""""""@s@@@@@@@@@@@@ ఐ$self""@@@!3""""""""@@@@@@"@@@@@(@@@(? @@ఐ+"mt""@@@J@(F@@@@O@Ġ+Odoc_module")"4@7Element_included_module#5#L@@ఠ"im# M# O@#$bA@@@@@(3########@@@@@@@@@@@@@ ఐA$self#S# W@@@!Z3########@@@@@@#'l@@@ /@@@(L@@(K *@@(J @@ఐ."im#9m#:o@@@ C@@@(SJ@(UJ@(T!@@% @@"@Ġ+Odoc_module#Pp|#Qp@-Element_class#Up#Vp@@ఠ!c#_p#`p@#xcA@@@@@(3#c#b#b#c#c#c#c#c@@@@@@@@M@@M@@@ ఐ$self#sp#tp@X@@!3#s#r#r#s#s#s#s#s@$@@@@@T#{p@@@@@(Z@@(Y @@ఐ+!c#p#p@@@J@(`@@@@@Ġ+Odoc_module##@2Element_class_type##@@ఠ"ct##@#dA@@@@@(3########@_@@@@@@@@@@@@ ఐ᠐$self##@@@!3########@p@@@@@#@@@@@(e@@(d @@ఐ+"ct##@@@J@(k@@@@;@Ġ+Odoc_module# # @-Element_value# # @@{ఠ!v# # @$eA@@@@@(3########@@@@@@@@@@@@@ ఐ-$self$  !$  %@@@"F3$ $ $ $ $ $ $ $ @@@@@@$ 0@@@";@@@(q@@(p"6@@(o @@ఐ.!v$% 1$& 2@@@"O@@@(xJ@(zJ@(y!@@% @@"@Ġ+Odoc_module$< 3 ?$= 3 J@6Element_type_extension$A 3 K$B 3 a@@kఠ!x$K 3 b$L 3 c@$dfA@@s@@@(3$O$N$N$O$O$O$O$O@@@@@@@@9@@9@@@ ఐ$self$_ 3 g$` 3 k@D@@"3$_$^$^$_$_$_$_$_@@@@@@$g 3 @@@!@@@(@@(!@@(~ @@ఐ.!x$y 3 $z 3 @@@!-@@@(J@(J@(!@@% @@"@Ġ+Odoc_module$  $  @1Element_exception$  $  @@[ఠ!e$  $  @$gA@@c@@@(3$$$$$$$$@S@@@@@@@@@@@@ ఐՠ$self$  $  @@@"3$$$$$$$$@d@@@@@$  @@@"@@@(@@("@@( @@ఐ.!e$  $  @@@"-@@@(J@(J@(!@@% @@7"@Ġ+Odoc_module$  $  @,Element_type$  $  @@Kఠ!t$  $  @% hA@@S@@@("3$$$$$$$$@@@@@@@@@@@@@ ఐ)$self%  %  @@@#B3%%%%%%%%@@@@@@%  @@@"@@@(@@("@@( @@ఐ.!t%! !%" !@@@"@@@(J@(J@(!@@% @@"@Ġ+Odoc_module%8!!%9!!@6Element_module_comment%=!!%>!!0@@;ఠ!t%G!!1%H!!2@%`iA@@C@@@(%@@@@@4@@4@@@ ఐ|$self%Z!!6%[!!:@?@@#3%Z%Y%Y%Z%Z%Z%Z%Z@ @@@@@#%b!!N@@@!/@@@(@@(!-@@( @@ఐ-!t%t!!O%u!!P@@@!C@@@(J@(J@(!@@% @@"@@@A%z @@#@@@*m3%%%%%%%%@1@@@%fn%!Q!Z@@@u@@(#@@@'@@'F@*rF@*oP@@డ"4module_type_elements+Odoc_module%![!d%![!o@ %![!p%![!@@%trans+(@@@ @@@ @@ @ @@@ @@ & o@@@ @@@ @@ @@ @ } ~2g@@!XN@*%@@"K @@@*~@@@*}@@*|@!@@@*{@@*z @@@*y@@@*x@@*w@@*v@;ภ%@%@i>@@@*@@@*@@*@@ఐ"mt&![!&![!@Ұ@@!.@@&![!c&![!@@!@@@'F@*G@*@@ @@!5C@*C@'@ A@$A@@@!H@@*!A@@*@@*&@@@$Y@@*@!T@@*!M@@*@@*@@*C@*E@&*,0&@&; : This method scans the elements of the given module type. &8&9+@@@@@@@!Y&?"B"M&@"B"]@AA࣠@&self-1Aఠ897&fjA8@$3&M&L&L&M&M&M&M&M@6@@@  :&ikA$;@$@@;@࣠@"mtA&_"B"^&`"B"`@&xlA@@!s3&`&_&_&`&`&`&`&`@K$@O@!$@P@@@@@  @@ ఐ-$self&w"c"l&x"c"p@\@@$3&w&v&v&w&w&w&w&w@$!@@@@@2&"c"@@@!@@@*@@*!@@* @@ఐ5"mt&"c"&"c"@@@!@@@@!@ ఐV$self&"c"&"c"@@@$)@Y&"c"@@@!@@*!@@*0@@ఐX"mt&"c"&"c"@:@@!=@@@@!>@@&"c"i@@!@@\A@` A@@@!@@*!@@*@@*b@@@%@@*@!@@*!@@*@@*@@*C@*@&"B"F@+&㐠 Scan of a module type. Should not be overridden. It calls [scan_module_type_pre] and if [scan_module_type_pre] returns [true], then it calls scan_module_type_elements.&!!&!"A@@@@@@@&&7 Main scanning method. &""&""@@@@@@@!&""&"#@AA࣠@&self-1Aఠ'mA@%?3''''''''@@@@  '"nA%B@%B@@@࣠@!lA'"#'"#@'1oA@@"3''''''''@ %V@ @!%W@ @@@@@  @@డ%$List$iter'0"#'1"#@ '4"#'5"#@@#@@@@"5@@+%Y@@@+@@+@@*@"B"?@@@*@@*";@@@*@@*@@*3'K'J'J'K'K'K'K'K@3?"N@6@7@@@@ ఐZ$self']"#'^"#"@ B@@%@ %'b"#.@@@"@@+"@@+@@ఐ\!l'q"#/'r"#0@#@@"q&@@E@@"e'@^A@bA@@@"}@@+'"r@@+&@@+%d@@@%@@+2@"@@+1"~@@+0@@+/@@+.C@+)@'""@'9 Scan a list of modules. '""'""@@@@@@@@"1 }']"7@"4"@#@%A%%A%%A%%rA%q%MA%L%4A%3%A%$A$$A$$A$$A$$A$$xA$w$bA$a$IA$H$-A$,$A$$A$#A##A##A##A##A##rA#q#VA#U#FA#E#,A#+#A#"A""A" @- @-*@-)@-(@-'@-&@-%@-$@-#@-"@-!@- @-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@- "ˠ@@- @@%2@A@%,@@@,@@,%)@@,@@,@$@@A@$<@@,$:@@,@@,@AB$@A@$@@@,@@,$@@,@@,@$q@A@$m@@,$c@@,@@,@A$@A@$@@@,@@,$@@,@@,@$@A@#@@,#@@,@@,@ABC$Z@A@$T@@@,@@,$R@@,@@,@$0@A@$,@@,$%@@,@@,@A$S@A@$M@@@,@@,$J@@,@@,@B%@A@%@@@,@@,%@@,@@,@CD%Ͱ@A@%@@@,@@,%@@,@@,@%f@A@%`@@@,@@,%[@@,@@,@A%@A@%@@@,@@,%@@,@@,@#@A@#@@,#@@,@@,@AB$G@A@$A@@@,@@,$?@@,@@,@$@A@$@@,$@@,@@,@#@A@#@@,#@@,@@,@AB$G@A@$A@@@,@@,$>@@,@@,@#@A@#@@,#@@,@@,@A$@A@$@@@,@@,$@@,@@,@#@A@#@@,#@@,@@,@A$@A@#@@@,@@,#@@,@@,@BCDEF&\@A@&V@@@,@@,&T@@,@@,@&@A@&@@,@&@@@,@@,&@@,@@,@@,@%@A@%@@@,@@,%@@,@@,@AB%@A@%@@@,@@,%@@,@@,@%@A@%@@@,@@,%@@,@@,@AC'@A@'@@@-@@,&@@,@@,@&@A@&@@-@&@@@-@@-&@@-@@-@@-@A'B@A@'<@@@- @@- '7@@-@@-@BDG'g"v@#v). Class which defines the scanning of a list of modules and their elements. Inherit this class to develop your own scanner, by overriding some methods.)+Y),[@@@@@@@##@'y;@@$A'eA'd'FA'E')A'('A'&A&&A&&A&&A&&qA&p&WA&V&;A&:&!A& &A&%A%%A%%A%%A%%A%%wA%v%]A%\%DA%C%4A%3%A%%A%$A$$A$$A$$A$$A$$wA$v"w@-,@-J@-I@-H@-G@-F@-E@-D@-C@-B@-A@-@@-?@->@-=@-<@-;@-:@-9@-8@-7@-6@-5@-4@-3@-2@-1@-0@-/@-.@--'@@-+@@@@$@@@$ @$W$ $)WV@VV@@@V@V@''r'&v&[&@'M''$۠$$$%G$%-%e%&&'&%%%Ѡ%&!&&>%&@@$8$7@3))))))))@'@@@'#@@$=$:A@'#@x;@@$Aw@@@@$A@@@$>@$A$>A@';@@@A$@@@@$F@@@$CA@@3))))))))@$'#@$H'# @$O$L(#@$K(#@$Q$N(#@'A@''@@@.p@@.o'@@@-@@.n@@.m'A@''@@@.l@@.k'@@@-@@.j@@.i'A@''@@@-@@.h@''@@@.g@@.f(@@@-@@.e@@.d@@.c'A@''@@@-@@.b@''@@@.a@@.`(@@@-@@._@@.^@@.]'A@''@@@.\@@.[(-@@@-@@.Z@@.Y'A@''@@@.X@@.W(<@@@-|@@.V@@.U'A@''@@@.T@@.S(K@@@-w@@.R@@.Q'A@'x'w@@@.P@@.O(Z@@@-N@@.N@@.M'rA@'k'j@@@.L@@.K(i@@@-@@.J@@.I'eA@'^'[@@@.H@@.G(x@@@-@@.F@@.E'VA@'O'N@@@.D@@.C(f@@@-@@.B@@.A'IA@'B'A@@@.@@@.?(@@@-@@.>@@.='@@@-@@.@@.&A@&&z@@@-@@.)n@@@-@@.@@.&uA@@@. @@.@@.&jA@&cO@@@-@@.&\@@@-@@-@@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-@-&Y@@-@@(@A@((@@@-P@@-OB@@-M@@-L@'ϰ@A@@@-T@@-R@@-Q@AB(-@A@)('@@@-Z@@-Y@@-W@@-V@(@A@@@-]@@-\@@-[@A(&@A@( (@@@-b@@-a@@-_@@-^@'@A@@@-f@@-d@@-c@ABC'@A@*$'@@@-l@@-k@@-i@@-h@'°@A@@@-o@@-n@@-m@A'@A@''@@@-t@@-s@@-q@@-p@B)8@A@)2)/@@@-y@@-x@@-v@@-u@CD)a@A@)[)X@@@-~@@-}@@-{@@-z@(@A@((@@@-@@-@@-@@-@A)"@A@))@@@-@@-@@-@@-@'@A@@@-@@-@@-@AB'ް@A@*{'@@@-@@-@@-@@-@'@A@@@-@@-@@-@'&@A@@@-@@-@@-@AB'߰@A@''@@@-@@-@@-@@-@'M@A@@@-@@-@@-@A'@A@*'@@@-@@- @@-@@-@'|@A@@@-@@-@@-@A'@A@''@@@-@@-@@-@@-@BCDEF)@A@)*A@@@-@@-O@@-@@-@*,@A@t@@-@**@@@-@@-p@@-@@-@@-@)0@A@)*))@@@-@@-@@-@@-@AB)W@A@)Q)P@@@-@@-@@-@@-@)@A@)y)x@@@-@@-*@@-@@-@AC*@A@**@@@-@@-@@-@@-@*@A@@@-@**@@@-@@-@@-@@-@@-@A*@A@**@@@-@@-@@-@@-@BDG&@@@-K@']'Z+#@*A@**@@@/"@@/!*@@@/ @@/@@/*A@**@@@/@@/*@@@/@@/@@/*A@**@@@/@@/@**@@@/@@/+@@@/@@/@@/@@/*A@**@@@/@@/@**@@@/@@/ +*@@@/ @@/ @@/ @@/ *A@**@@@/@@/+9@@@/@@/@@/*A@**@@@/@@/+H@@@/@@/@@.*A@**@@@.@@.+W@@@.@@.@@.*A@**@@@.@@.+f@@@.@@.@@.*~A@*w*v@@@.@@.+u@@@.@@.@@.*qA@*j*g@@@.@@.+@@@.@@.@@.*bA@*[*Z@@@.@@.+r@@@.@@.@@.*UA@*N*M@@@.@@.+@@@.@@.@@.*HA@*A*@@@@.@@.@@.@@.*@@/=@@/<@A*@A@**@@@/B@@/A@@/@@@/?@B,D@A@,>,;@@@/F@@/E@@/D@@/C@CD,m@A@,g,d@@@/J@@/I@@/H@@/G@,@A@,+@@@/N@@/M@@/L@@/K@A,.@A@,(,'@@@/R@@/Q@@/P@@/O@*@A@@@/U@@/T@@/S@AB*@A@-*@@@/Y@@/X@@/W@@/V@*@A@@@/\@@/[@@/Z@*2@A@@@/_@@/^@@/]@AB*@A@**@@@/c@@/b@@/a@@/`@*Y@A@@@/f@@/e@@/d@A*@A@-*@@@/j@@/i @@/h@@/g@*@A@@@/m@@/l@@/k@A*@A@**@@@/q@@/p@@/o@@/n@BCDEF-@A@,-M@@@/u@@/tO@@/s@@/r@-8@A@t@@/{@-+-*@@@/z@@/yp@@/x@@/w@@/v@,<@A@,6,5@@@/@@/~@@/}@@/|@AB,c@A@,],\@@@/@@/@@/@@/@,@A@,,@@@/@@/*@@/@@/@AC-@A@--@@@/@@/@@/@@/@-@A@@@/@--@@@/@@/@@/@@/@@/@A-@A@--@@@/@@/@@/@@/@BDG;@@@A.A-A-A-A-yA-`A-DA-(A-A,A,Av,Ai,A\,AR,uAE,YA8,=A+,-A%,A+A +A+A+A+A+A+rA+XA+>A+%A+A@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.@.~@.}@.|@.{@.z@.y@.x@.w@.v@.u@.t@.s@.r@@.q@@@@*@@@*@**.Z;@@@A-_A@-X-W@@@0g@@0f.:@@@0e@@0d@@0c,qA@,,@@@0Z@@0b.I@@@0X@@0a@@0`,A@.,@@@0_@@0^.X@@@0]@@0\@@0[,A@@@0Y@@0W@@0V,A@,,@@@0U@@0T.N@@@0S@@0R@@0Q,BA@,,V@@@0H@@0P.~@@@0F@@0O@@0N,A@.,@@@0M@@0L.@@@0K@@0J@@0I,{A@@@0G@@0E@@0D,A@,,@@@0C@@0B.@@@0A@@0@@@0?-A@--@@@0>@@0=.@@@0<@@0;@@0:.#A@..@@@09@@08.@@@07@@06@@05-A@--@@@04@@03.@@@02@@01@@00-A@--@@@0/@@0..@@@0-@@0,@@0+,LA@,c,`@@@0@@0*.@@@0!@@0)@@0(,A@/L,@@@0'@@0&.@@@0%@@0$@@0#,A@@@0"@@0 @@0+A@+)@@@0@@0+@@@0@@0@@0,A@,,@@@0@@0/@@@0@@0@@0,+A@,,?@@@0 @@0/3@@@0 @@0@@0,A@/,@@@0@@0,@@@0@@0 @@0 ,dA@@@0 @@0@@0,A@,,@@@0@@0/8@@@0@@0@@0.A@./-@@@0@@0/h@@@/@@/@@//A@/=/<@@@/@@/@//@@@/@@//@@@/@@/@@/@@/.%A@..@@@/@@//@@@/@@/@@/.PA@.I.H@@@/@@/@@/@@/.xA@.q.p@@@/@@//@@@/@@/@@//A@//@@@/@@//@@@/@@/@@//A@//@@@/@@/@//@@@/@@//@@@/@@/@@/@@//A@//@@@/@@//@@@/@@/@@/@@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@/@@/@@@@,d@@@,a@@@,c)Odoc_scan@@@,g@,i@ H************************************************************************1A@@1A@L@ H 1BMM1BM@ H OCaml 1C1C@ H 1D1D3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt 1E441E4@ H 1F1F@ H Copyright 2001 Institut National de Recherche en Informatique et 1G1G@ H en Automatique. 2H2Hg@ H 2Ihh2Ih@ H All rights reserved. This file is distributed under the terms of 2 J2 J@ H the GNU Lesser General Public License version 2.1, with the 2K2KN@ H special exception on linking described in the file LICENSE. 2LOO2LO@ H 2M2M@ H************************************************************************2$N2%N5@ * Scanning of modules and elements. The class scanner defined in this module can be used to develop generators which perform controls on the elements and their comments. 2* * Class which defines the scanning of a list of modules and their elements. Inherit this class to develop your own scanner, by overriding some methods. ;* Scan of a type extension " * Override this method to perform controls on the extension's type, private and info. This method is called before scanning the extensions's constructors. @return true if the extension's constructors must be scanned."} B* This method scans the constructors of the given type extension. !L * Scan of a type extension. Should not be overridden. It calls [scan_type_extension_pre] and if [scan_type_extension_pre] returns [true], then it calls scan_type_extension_constructors. o3* Scan of a class.  a $* Scan of a comment inside a class. 렠 * Override this method to perform controls on the class comment and params. This method is called before scanning the class elements. @return true if the class elements must be scanned.l _* This method scans the elements of the given class. A VOIR : scan des classes heritees.렠 * Scan of a class. Should not be overridden. It calls [scan_class_pre] and if [scan_class_pre] returns [true], then it calls scan_class_elements.F8* Scan of a class type. 8 )* Scan of a comment inside a class type.   * Override this method to perform controls on the class type comment and form. This method is called before scanning the class type elements. @return true if the class type elements must be scanned.C d* This method scans the elements of the given class type. A VOIR : scan des classes heritees. * Scan of a class type. Should not be overridden. It calls [scan_class_type_pre] and if [scan_class_type_pre] returns [true], then it calls scan_class_type_elements._3* Scan of modules. Q %* Scan of a comment inside a module. ۠ * Override this method to perform controls on the module comment and form. This method is called before scanning the module elements. @return true if the module elements must be scanned.\ 6* This method scans the elements of the given module. K * Scan of a module. Should not be overridden. It calls [scan_module_pre] and if [scan_module_pre] returns [true], then it calls scan_module_elements.8* Scan of module types.  ** Scan of a comment inside a module type. " * Override this method to perform controls on the module type comment and form. This method is called before scanning the module type elements. @return true if the module type elements must be scanned.  ;* This method scans the elements of the given module type.  : * Scan of a module type. Should not be overridden. It calls [scan_module_type_pre] and if [scan_module_type_pre] returns [true], then it calls scan_module_type_elements. 8* Main scanning method.  :* Scan a list of modules.  @(./ocamlc)-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"-c22 9/builds/workspace/main/flambda/false/label/ocaml-linux-32 <10/.-,+*)('&%$#"! @@0V"gr{?322222222@2@@(Asttypes0eT$BbRM dc5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N (Location0nBɊOn?7~ؠ)Longident0wP q;ɡ$Misc0Bpg]?[q*Odoc_class0D:L%0>@ӽX4Id%0Lt.`?9:77$30/-05ɍM!W)Odoc_name0 d L_,.Odoc_parameter0n6sApT370ߏW6T~aFc}l\+20~b:x_B10ϸf%,e8+0FJ]\fѬ+Outcometree0BuG^)= 9c )Parsetree0v o[pY Y$Path0k.tbGmᠠ)Primitive0dU=\I/}%Shape0 M``ll&Stdlib0t0VoS%{<F:.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e,Stdlib__List0C|Z`>s䠠+Stdlib__Map0*4ɇ2ɠ.Type_immediacy00$ jbv\"k&%Types0"|Vȷ`X )Unit_info0'T Χ@aR(Warnings0Ef{&@@AAC@@@@@@@@.K2@@@@@@@@@P3ϓ@2 A.V@@@A2G@2H@AB@@