Caml1999I037 O$-Stdlib__Uchar!t/;@@@A@@@@@)uchar.mliTddUkx@)immediateUkn Ukw@@ Ukk @@A@@@A@#min0@@@@]pp]p{@@#A@@#max1 @@@@$`%`@@/B@@#bom2@@@@0c1c@@;C@@#rep3%@@@@@@@@@@J x xJ x @@J@@'is_char:@@@@J@@@@@@M  M  @@K@@'of_char;@$charB@@@@@@@@@P  P  4@@L@@'to_char<@@@@@@@@@@S h hS h @@M@@.unsafe_to_char=@@@@)@@@@@@Y  Y  @@N@@%equal>@@@@@@@@@@@@@@@@ \ * * \ * D@@O@@'compare?@@@@@@@@@@@@@@@@#_ g g$_ g @@.P@@+seeded_hash@@@@@@ @@@@@@@@@@@;b  <b  @@FQ@@$hashA@2@@@@@@@@@Mi  Ni  @@XR@@*utf_decodeB;@@@A@@@@@Wu==Xu=Z@)immediate^u=P_u=Y@@bu=M @@A@lS@A@3utf_decode_is_validC@@@@@@@@@@tyuy@@T@@0utf_decode_ucharD@@@@n@@@@@@}jj}j@@U@@1utf_decode_lengthE@$@@@*@@@@@@D@@V@@*utf_decodeF@9@@@@@@@?@@@@@@@@@@W@@2utf_decode_invalidG@P@@@Q@@@@@@@@X@@;utf_8_decode_length_of_byteH@@@@f@@@@@@@@Y@@7max_utf_8_decode_lengthIs@@@@ @@Z@@1utf_8_byte_lengthJ@@@@@@@@@@@@[@@2utf_16_byte_lengthK@@@@@@@@@@   -@@\@@@k:.-Stdlib__Uchar056uf4[_&Stdlib0Lku]8_٠8CamlinternalFormatBasics0%FU(Q/Tu@@@Caml1999T037X9 83O.C-Stdlib__Uchar*ocaml.text&_none_@@A & Unicode characters. @since 4.03 )uchar.mliP77RPb@@@@@@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@AA+!tATdiTdj@@;@@@A@@@@@TddUkx@)immediateUknUkw@@Ukk @)ocaml.doc The type for Unicode characters. A value of this type represents a Unicode {{:http://unicode.org/glossary/#unicode_scalar_value}scalar value} which is an integer in the ranges [0x0000]...[0xD7FF] or [0xE000]...[0x10FFFF]. Vyy[Qn@@@@@@@A@@@@@A@@ѐ@@@@@@@ɰ-,@#min]pt]pw@гC!t]pz]p{@@ @@@3@NH@A@@@]pp @=2 [min] is U+0000. ^||^|@@@@@@@A@@@M @@@@@@!#max ` `@гz!t``@@ @@@3@8K6@A@@@` @t4 [max] is U+10FFFF. ,a-a@@@@@@@EB@@@@@@@@@@!#bomCcDc@г!tLcMc@@ @@@3NMMNNNNN@8K6@A@@@Vc @ [bom] is U+FEFF, the {{:http://unicode.org/glossary/#byte_order_mark}byte order mark} (BOM) character. @since 4.06 cddh<N@@@@@@@|C@@@w@@@@@@!#repzjPT{jPW@г蠐!tjPZjP[@@ @@@3@8K6@A@@@jPP @␠ } [rep] is U+FFFD, the {{:http://unicode.org/glossary/#replacement_character}replacement} character. @since 4.06 k\\o@@@@@@@D@@@@@@@@@!$succqq@б@г!!tqq@@ @@@3@:M8@A@@г0!tqq@@ @@@@@@@@@@@q @+ [succ u] is the scalar value after [u] in the set of Unicode scalar values. @raise Invalid_argument if [u] is {!max}. ruGw@@@@@@@E@@@;@@@@@@1$predwy}wy@б@гj!twywy@@ @@@3@J_8@A@@гy!twywy@@ @@@@@@@@@@@wyy @t [pred u] is the scalar value before [u] in the set of Unicode scalar values. @raise Invalid_argument if [u] is {!min}. ,x-{@@@@@@@EF@@@@@@@@@@1(is_validC}D}@б@г!#intN}"O}%@@ @@@3POOPPPPP@J_8@A@@г$bool]})^}-@@ @@@@@@@@@@@h} @ [is_valid n] is [true] if and only if [n] is a Unicode scalar value (i.e. in the ranges [0x0000]...[0xD7FF] or [0xE000]...[0x10FFFF]).u~..vv@@@@@@@G@@@@@@@@@1&of_intAA@б@гj#intAA@@ @@@3@J_8@A@@г !tAA@@ @@@@@@@@@@@A @ m [of_int i] is [i] as a Unicode character. @raise Invalid_argument if [i] does not satisfy {!is_valid}. BD  H@@@@@@@H@@@Ґ@@@@@@1ߐ"/*F J JF J Q@@@@@@3@CX1@A-unsafe_of_intG R VG R c@б@гƠ#intG R fG R i@@ @@@@@гe!tG R mG R n@@ @@@'@@@@@*@@@ G R R @@#I@@ @@0! "/*H o oH o v@@@@@@3@B=@A&to_int)J x |*J x @б@г!t4J x 5J x @@ @@@@@г#intAJ x BJ x @@ @@@'@@@@@*@@@LJ x x @ " [to_int u] is [u] as an integer. YK  ZK  @@@@@@@rJ@@@m@@@@@@I'is_charpM  qM  @б@гࠐ!t{M  |M  @@ @@@3}||}}}}}@b]8@A@@г?$boolM  M  @@ @@@@@@@@@@@M   @ꐠ G [is_char u] is [true] if and only if [u] is a latin1 OCaml character. N  N  @@@@@@@K@@@@@@@@@1'of_charP  !P  (@б@г$charP  +P  /@@ @@@3@J_8@A@@г8!tP  3P  4@@ @@@@@@@@@@@P   @3 , [of_char c] is [c] as a Unicode character. Q 5 5Q 5 f@@@@@@@L@@@C@@@@@@1'to_charS h lS h s@б@гr!t S h vS h w@@ @@@3@J_8@A@@г預$charS h {S h @@ @@@@@@@@@@@'S h h @| s [to_char u] is [u] as an OCaml latin1 character. @raise Invalid_argument if [u] does not satisfy {!is_char}. 4T  5V  @@@@@@@MM@@@H@@@@@@1VU"/*RX  SX  @@@@@@3QPPQQQQQ@CX1@A.unsafe_to_char ^Y  _Y  @б@гΠ!tiY  jY  @@ @@@@@гC$charvY  wY  @@ @@@'@@@@@*@@@Y   @@N@@ @@0"/*Z ! !Z ! (@@@@@@3@B=@A%equal!\ * .\ * 3@б@г!t\ * 6\ * 7@@ @@@@@б@г!t\ * ;\ * <@@ @@@)@@г{$bool\ * @\ * D@@ @@@6@@@@@9@@@%@@<( @@@\ * *@); [equal u u'] is [u = u']. ] E E] E e@@@@@@@O@@@9@@@@@@['compare"_ g k_ g r@б@гh!t_ g u_ g v@@ @@@3@to8@A@@б@гy!t_ g z_ g {@@ @@@@@г#int!_ g "_ g @@ @@@@@@@@!@@@'@@$* @@@/_ g g@ * [compare u u'] is [Stdlib.compare u u']. <`  =`  @@@@@@@UP@@@P@@@@@@C+seeded_hash#Sb  Tb  @б@г1#int^b  _b  @@ @@@3`__`````@\q8@A@@б@гԠ!tob  pb  @@ @@@@@гO#int|b  }b  @@ @@@@@@@@!@@@'@@$* @@@b  @ߐ [seeded_hash seed u] A seeded hash function with the same output value as {!Hashtbl.seeded_hash}. This function allows this module to be passed as an argument to the functor {!Hashtbl.MakeSeeded}. @since 5.3 c  g  @@@@@@@Q@@@@@@@@@C$hash$i  i  @б@г!ti  i  @@ @@@3@\q8@A@@г#inti  i  @@ @@@@@@@@@@@i   @( 5 An unseeded hash function with the same output value as {!Hashtbl.hash}. This function allows this module to be passed as an argument to the functor {!Hashtbl.Make}. @before 5.3 The hashing algorithm was different. Use [Hashtbl.rebuild] for stored tables which used this hashing function j  o  @@@@@@@R@@@8@@@@@@1 + {1:utf UTF codecs tools} @since 4.14 q  s);@@@@@@3@CX1@AA+*utf_decode%B u=B u=L@@;@@pA@@@@@u==u=Z@)immediateu=Pu=Y@@u=M @o The type for UTF decode results. Values of this type represent the result of a Unicode Transformation Format decoding attempt. 'v[[(w@@@@@@@A@@S@@@A@@>@@@@@@@9+*@3utf_decode_is_valid&ByCy@б@гB*utf_decodeMyNy @@ @@@3ONNOOOOO@SMG@A@@г$bool\y]y@@ @@@@@@@@@@@gy @ P [utf_decode_is_valid d] is [true] if and only if [d] holds a valid decode. tzu{Zh@@@@@@@T@@@@@@@@@10utf_decode_uchar'}jn}j~@б@г*utf_decode}j}j@@ @@@3@J_8@A@@г !t}j}j@@ @@@@@@@@@@@}jj @ [utf_decode_uchar d] is the Unicode character decoded by [d] if [utf_decode_is_valid d] is [true] and {!Uchar.rep} otherwise. ~@@@@@@@U@@@ѐ@@@@@@11utf_decode_length(0@б@гԠ*utf_decode3=@@ @@@3@J_8@A@@г#intAD@@ @@@@@@@@@@@ @N I [utf_decode_length d] is the number of elements from the source that were consumed by the decode [d]. This is always strictly positive and smaller or equal to [4]. The kind of source elements depends on the actual decoder; for the decoders of the standard library this function always returns a length in bytes. EEU@@@@@@@V@@@^@@@@@@1*utf_decode)@б@г#int()@@ @@@3*))*****@J_8@A@@б@г!t9:@@ @@@@@г;*utf_decodeFG@@ @@@@@@@@!@@@'@@$* @@@T@ [utf_decode n u] is a valid UTF decode for [u] that consumed [n] elements from the source for decoding. [n] must be positive and smaller or equal to [4] (this is not checked by the module). abF@@@@@@@zW@@@u@@@@@@C2utf_decode_invalid*xy@б@гV#int@@ @@@3@\q8@A@@г*utf_decode@@ @@@@@@@@@@@ @򐠠  [utf_decode_invalid n] is an invalid UTF decode that consumed [n] elements from the source to error. [n] must be positive and smaller or equal to [4] (this is not checked by the module). The resulting decode has {!rep} as the decoded Unicode character. @@@@@@@X@@@@@@@@@1;utf_8_decode_length_of_byte+@б@г$char@@ @@@3@J_8@A@@г#int@@ @@@@@@@@@@@ @; [utf_8_decode_length_of_byte byte] is the number of bytes, from 1 to {!max_utf_8_decode_length}, that a valid UTF-8 decode starting with byte [byte] would consume or [0] if [byte] cannot start a valid decode. @since 5.4 @@@@@@@ Y@@@K @@@@@@17max_utf_8_decode_length,  @г栐#int   @@ @@@3        @H]6@A@@@  @r [max_utf_8_decode_length] is [4], the maximal number of bytes a valid or invalid UTF-8 decode can consume. @since 5.4  *   +@@@@@@@ CZ@@@ >@@@@@@!1utf_8_byte_length- A B@б@г!t L M@@ @@@3 N M M N N N N N@:M8@A@@г .#int [ \@@ @@@@@@@@@@@ f @ Q [utf_8_byte_length u] is the number of bytes needed to encode [u] in UTF-8.  s t @@@@@@@ [@@@ @@@@@@12utf_16_byte_length.    "@б@г!t  %  &@@ @@@3        @J_8@A@@г w#int  *  -@@ @@@@@@@@@@@    @ S [utf_16_byte_length u] is the number of bytes needed to encode [u] in UTF-16.  .. q@@@@@@@ \@@@ А@@@@@@1@60A@@@@_J@*@@u@U.@@@wP@0 @@j@P@@g@G @A@@pI@)@@b@B@@@X@@3        @lZ@A@ H************************************************************************ A@@ A@L@ H  BMM BM@ H OCaml  C C@ H  D D3@ H Daniel C. Buenzli  #E44 $E4@ H  )F *F@ H Copyright 2014 Institut National de Recherche en Informatique et  /G 0G@ H en Automatique.  5H 6Hg@ H  ;Ihh xȐMB| H o@Z#]@(  =@@ W@pz@@$@@_@@ @@P@@