Caml1999I037,Stdlib__Pair!t;!a@!b@@B@A@@ @@YY@@@@@@(pair.mliW{{W{@@@@!@@A@$make@!a@@!b@@@ @@@@@@@ZZ@@@A@&stringQ;@@ A@@@@@B@@@%bytesC;@@ A@@@@@F@@@%floatD;@@A@@@@@J@@@$boolE;@@%falsec@@T@$trued@@Z@@@A@@@@@[@A@$unitF;@@"()e@@e@@@A@@@@@f@A@ #exnG;@@@A@@@@@j@@@#effH;@@O@A@A@@@@@@s@@@,continuationI;@@Q@@P@B@A@nY@@@@@@@@@%arrayJ;@@R@A@A@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@A=ocaml.warn_on_literal_pattern @ @0Division_by_zero]#@@@A  @+End_of_file\#$@@@A@'FailureY#,@'@@A!$$@0Invalid_argumentX#5@0@@A*$-#-@-Match_failureV#>@@=@9@;@@a@@A;5>4>@)Not_foundZ#O@@@AC=F<F@-Out_of_memoryW#W@@@AKENDN@.Stack_overflow^#_@@@ASMVLV@.Sys_blocked_io_#g@@@A[U^T^@)Sys_error[#o@j@@Ad^g]g@:Undefined_recursive_modulea#x@@w@s@u@@h@@Auoxnx@:Continuation_already_takenb#@@@A}wv@&Stdlib@Ax1 {1:pairs Pairs} UccUcy@@@@@@A+!tAW{W{@А!a@3@;@@@@@B@A@@@@@@@@GG@BB@@@W{{W{@)ocaml.docʐ5 The type for pairs. XX@@@@@@@@@@@@AW{W{@@BAА!b@;W{W{@@ @;C @B@A@LB@@B@@@YY@@@@@@63@@#@@AВ@А!aYW{W{@@@А!baW{F@@@ c G@@IFED@DD@@@D@D@@TS@$makeZZ@б@А!a@B@3@H@A"Z#Z@@б@А!b@B@/Z0Z@@В@А!a9Z:Z@@@А!b!AZBZ@@@@-@ @@*@@@# @@- @@@5@@0.@@@RZ@ " [make a b] is the pair [(a, b)]. _[`[@@@@@@@xA@@!@s@@@@@@O#fstv]w]@б@В@А!a@B@3@hy8@A]]@@@А!b@B@]]@@@@@@@@@А!a!] ]@@@&@@!@@@]@򐠠6 [fst (a, b)] is [a]. ^^*@@@@@@@B@@@ː@@@@@@@#snd`,0`,3@б@В@А!a@B@3@Yn8@A`,5`,7@@@А!b@B@`,:`,<@@@@@@@@@А!b`,@`,B@@@@@!@@@`,,@J6 [snd (a, b)] is [b]. aCCaC^@@@@@@@(C@@@Z#@@@@@@@$swap&c`d'c`h@б@В@А!a@B@332233333@Yn8@A9c`j:c`l@@@А!b@B@Fc`oGc`q@@@@@@@@@В@А!b Wc`uXc`w@@@А!a-(_c`z`c`|@@@@%@6@@1@@@" @@42 @@@mc``@< [swap (a, b)] is [(b, a)]. zd}}{d}@@@@@@@D@@@@@@@@@S5 {1:iters Iterators} ff@@@@@@3@ez1@A$foldhh@б@б@А!a@B@hh@@б@А!b@B@%hh@@А!c@B@0hh@@@ @@5@@@%@@8 @@б@В@А!a/Bhh@@@А!b*Jhh@@@@>@3@@S@@А!c,Whh@@@1@@\@@@)@@_h@@@h @E - [fold f (a, b)] applies [f] to [a] and [b].  i i@@@@@@@#E@@@U@@@@@@#map!k "k#@б@б@А!a@B@3,++,,,,,@6@A2k&3k(@@А!c@B@ =k,>k.@@@ @@@@б@б@А!b@B@Ok4Pk6@@А!d@B@*Zk:[k<@@@ @@/@@б@В@А!a>9ikAjkC@@@А!b'AqkFrkH@@@@M@0@@J@@В@А!cJRkLkN@@@А!d5ZkQkS@@@@Y@>@@c@@@" @@f- @@@<@@ik3@@@]@@mk%@@@k@萠 5 [map f g (a, b)] applies [f] to [a] and [g] to [b]. lTTlT@@@@@@@F@@&@@@@@@@$iternn@б@б@А!a@ B@3@6@Ann@@г$unitnn@@ @@@@@@@@@@б@б@А!b@ B@!nn@@г$unitnn@@ @@@0@@@@@3@@б@В@А!aB=nn@@@А!b)Enn@@@@Q@2@@N@@гՠ$unit(n)n@@ @@@[@@@@@^!@@@0@@a4n @@@S@@e8n@@@;n@ B [iter f g (a, b)] first applies [f] to [a], and then [g] to [b]. HoIo@@@@@@@aG@@#@\@@@@@@'map_fst_q`q@б@б@А!a@B@ 3jiijjjjj@6@Apq!qq#@@А!c@B@ {q'|q)@@@ @@@@б@В@А!a!q.q0@@@А!b@B@)q3q5@@@@5@@@2@@В@А!c2:q9q;@@@А!bBq>q@@@@@A@'@@K@@@" @@N2 @@@A@@Qq @@@q@ 5 [map_fst f p] applies [f] to [p]'s first component. rAArA{@@@@@@@H@@"@㐠@@@@@@q'map_sndt}t}@б@б@А!b@&B@3@6@At}t}@@А!c@(B@ t}t}@@@ @@@@б@В@А!a@$B@!t}t}@@@А!b.)t}t}@@@@@7@@2@@В@А!a:/t}0t}@@@А!c:B7t}8t}@@@@-@C@@ K@@@" @@!N- @@@A@@"QFt}@@@It}}@ 6 [map_snd f p] applies [f] to [p]'s second component. VuWu@@@@@@@oI@@"@j@@@@@@qxw & {1:preds Predicates and comparisons} twuw@@@@@@3srrsssss@1@A%equalyy@б@б@А!a@9B@)z #z %@@б@А!a  z )z +@@г^$boolz /z 3@@ @@@*/@@@@@+2@@@"@@,5 @@б@б@А!b@;B@-Bz 9z ;@@б@А!b Jz ?z A@@г$boolz Ez I@@ @@@.Y@@@@@/\@@@"@@0_ @@б@В@А!aViz Nz P@@@А!b4qz Sz U@@@@e@=@@1z@@б@В@А!aqz Yz [@@@А!bOz ^z `@@@@@X@@2@@гѠ$boolz dz h@@ @@@3@@@@@4!@@@4@@5? @@@N@@6"z 8@@@|@@7&z "@@@)y@q m [equal eqa eqb (a1, b1) (a2, b2)] is [true] if and only if [eqa a1 a2] and [eqb b1 b2] are both [true]. 6{ii7|@@@@@@@OJ@@&@J@@@@@@'compareM~N~@б@б@А!a@LB@<3XWWXXXXX@6@A^_@@б@А!a fg@@гB#intop@@ @@@=@@@!@@>@@@$@@? @@б@б@А!b@NB@@,  @@б@А!b 4  @@гl#int  @@ @@@AC@@@@@BF@@@"@@CI @@б@В@А!aXS  @@@А!b4[  @@@@g@=@@Dd@@б@В@А!asn ! #@@@А!bOv & (@@@@@X@@E@@г#int , /@@ @@@F@@@@@G!@@@4@@H? @@@N@@I @@@|@@J@@@~@@ [compare cmpa cmpb] is a total order on pairs using [cmpa] to compare the first component, and [cmpb] to compare the second component. It is implemented by a lexicographic order. @ 0 0B  @@@@@@@K@@&@P@@@@@@@=A@ @r@R@@%@@d@f@F@@6@@3)(()))))@8@A@ H************************************************************************2A@@3A@L@ H 8BMM9BM@ H OCaml >C?C@ H DDED3@ H The OCaml programmers JE44KE4@ H PFQF@ H Copyright 2024 Institut National de Recherche en Informatique et VGWG@ H en Automatique. \H]Hg@ H bIhhcIh@ H All rights reserved. This file is distributed under the terms of hJiJ@ H the GNU Lesser General Public License version 2.1, with the nKoKN@ H special exception on linking described in the file LICENSE. tLOOuLO@ H zM{M@ H************************************************************************NN5@ %* Operations on pairs. @since 5.4 2* {1:pairs Pairs} 6* The type for pairs. Š #* [make a b] is the pair [(a, b)]. 07* [fst (a, b)] is [a]. ۠7* [snd (a, b)] is [b]. =* [swap (a, b)] is [(b, a)]. 6* {1:iters Iterators}  .* [fold f (a, b)] applies [f] to [a] and [b].  6* [map f g (a, b)] applies [f] to [a] and [g] to [b].  C* [iter f g (a, b)] first applies [f] to [a], and then [g] to [b]. \ 6* [map_fst f p] applies [f] to [p]'s first component. ؠ 7* [map_snd f p] applies [f] to [p]'s second component. T '* {1:preds Predicates and comparisons} 9 n* [equal eqa eqb (a1, b1) (a2, b2)] is [true] if and only if [eqa a1 a2] and [eqb b1 b2] are both [true]. z * [compare cmpa cmpb] is a total order on pairs using [cmpa] to compare the first component, and [cmpb] to compare the second component. It is implemented by a lexicographic order. @?)../ocamlc0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal"-o0stdlib__Pair.cmi"-c D/builds/workspace/precheck/flambda/false/label/ocaml-linux-32/stdlib @@0.H4wh} x 3@@@8CamlinternalFormatBasics0%FU(Q/Tu&Stdlib0Lku]8_٠0C [ U?@0C [ U?ALC@@@@Ր@հY@(9Ͱِ"@r@@@5~@@@@Rv@@@P@@