xp-UTP55.5.0+dev0-2025-04-28/*Format_docӱ#DocA@(box_typeB;@@!H@@:../../utils/format_doc.mlid<@d<C@@*Format_docA@!V@@ eDH eDK@@ B@"HV@@fLPfLT@@C@#HoV@@gUYgU^@@D@!B@@&h_c'h_f@@%E@@@A@@@@@*c*,@@A@(@@A@$stagC;@@@A&StdlibQ&Format$stag@@@ @@@@>jhj?jh@@@@=F@A@'elementcD;@@$Textd&stringR@@@@@TnUn@@SH@)With_sizee#intS@@@@@doeo@@cI@(Open_boxf$kindg@@*Format_docT#Doc(box_type@@@װ{p|p!@@zJ@&indenth@@%U@@@ڰp"p,@@K@@@pp.@@L@)Close_boxi@@q/3q/>@@M@(Open_tagj&StdlibV&Format$stag@@@@@r?Cr?\@@N@)Close_tagk@@s]as]l@@O@)Open_tboxl@@tmqtm|@@P@)Tab_breakm%widthn@@jW@@@ްu}u}@@Q@&offseto@@wX@@@u}u}@@R@@@u}u}@@S@'Set_tabp@@vv@@T@*Close_tboxq@@ww@@U@,Simple_breakr&spacess@@Y@@@xx@@V@&indentt@@Z@@@xx@@W@@@xx @@X@%Breaku$fitsv@@@^@@@렠@_@@@젠@`@@@@@F@9y  :y  6@@8Y@&breaksw@@!E@Cy  7Dy  B@@BZ@@@Gy  Hy  D@@F[@%Flushx'newliney@@$boola@@@Zz E V[z E b@@Y\@@@^z E I_z E d@@]]@'Newlinez@@g{ e ih{ e r@@f^@*If_newline{@@p| s wq| s @@o_@*Deprecated|@&Stdlibb&Format)formatter@@@$unitc@@@@@@@~  ~  @@`@@@A@@@@@m@@@@G@A@!t}E;@@fA@@@@@D  D  @@@@z@A@#fmt~F;!a@[!b@\@ByA&Stdlibf'format4G@]*Format_docd#Doc!t@@@^*Format_doce#Doc!t@@@_(G@`@@@eO@@@@@@F  F  @@@@{@A@(printer0G;@@A@*Format_docg#Doc!t@@@*Format_doch#Doc!t@@@@@@@@@H  H  @@@@|@A@'printerH;!a@@AA@ I@*Format_doci#Doc(printer0@@@@@n@@@@@I  I  @@@@}@A@%empty*Format_docj#Doc!t@@@@&M  'M  +@@%~@@&format@&Stdlibk&Format)formatter@@@@*Format_docl#Doc!t@@@m@@@@@@@@LQ  MQ  @@K@@$fold@@#acc@(I@@*Format_docn#Doc'element@@@ @@!@@"@@*Format_doco#Doc!t@@@# @@$@@%@@&@yT  zT  7@@x@@@#msg@*Format_docq#Doc#fmt!a@0I@)*Format_docp#Doc!t@@@*@@@-@@.@X  X  @@A@@$kmsg@@*Format_docr#Doc!t@@@1!b@=I@2@@3@*Format_docs#Doc#fmt!a@;I@4@@@7@@8@@9@Y  Y  @@B@@&printf@*Format_docu#Doc#fmt!a@EI@>*Format_doct#Doc(printer0@@@?@@@B@@C@] ; =] ; a@@C@@'kprintf@@*Format_docv#Doc!t@@@F!b@TI@G@@H@*Format_docx#Doc#fmt!a@RI@I@*Format_docw#Doc!t@@@J%@@K@@@N@@O@@P@5^ b d6^ b @@4D@@(open_box@*Format_docy#Doc(box_type@@@U@z@@@V*Format_doc{#Doc(printer0@@@W@@X@@Y@[b\b1@@ZE@@)close_box*Format_doc|#Doc(printer0@@@Z@nc24oc2K@@mF@@$text*Format_doc~#Doc'printer3}@@@[@@@]@eMOeMg@@G@@&string*Format_doc#Doc'printerL@@@^@@@`@fhjfh@@H@@%bytes*Format_doc#Doc'printer%bytes@@@a@@@c@gg@@I@@)with_size*Format_doc#Doc'printero@@@d@@@f@hh@@J@@#int*Format_doc#Doc'printer@@@g@@@i@jj@@K@@%float*Format_doc#Doc'printer%float@@@j@@@l@kk@@L@@$char*Format_doc#Doc'printer$char@@@m@@@o@ l!l@@M@@$bool*Format_doc#Doc'printer@@@p@@@r@9m  :m !@@8N@@%space*Format_doc#Doc(printer0@@@s@Lo#%Mo#8@@KO@@#cut*Format_doc#Doc(printer0@@@t@_p9;`p9L@@^P@@%break&spaces@@@u&indent@@@v*Format_doc#Doc(printer0@@@w@@x@@y@qMOqM~@@Q@@,custom_break$fits@I@@@{@@@@@|@W@@@}@@~I@z&breaks*Format_doc#Doc(printer0@@@@@@@@st@@R@@-force_newline*Format_doc#Doc(printer0@@@@uu@@S@@*if_newline*Format_doc#Doc(printer0@@@@vv @@T@@%flush*Format_doc#Doc(printer0@@@@xx#@@U@@*force_stop*Format_doc#Doc(printer0@@@@y$&y$>@@V@@)open_tbox*Format_doc#Doc(printer0@@@@{@B{@Y@@W@@'set_tab*Format_doc#Doc(printer0@@@@*|Z\+|Zq@@)X@@#tab*Format_doc#Doc(printer0@@@@=}rt>}r@@<Y@@)tab_break%width@@@&offset@@@*Format_doc#Doc(printer0@@@@@@@@b~c~@@aZ@@*close_tbox*Format_doc#Doc(printer0@@@@uv@@t[@@(open_tag*Format_doc#Doc'printer*Format_doc#Doc$stag@@@@@@@@@\@@)close_tag*Format_doc#Doc(printer0@@@@ @@]@@$list#sep&optionL*Format_doc#Doc(printer0@@@@@@@*Format_doc#Doc'printer!a@I@@@@*Format_doc#Doc'printer$list@@@@@@@@@@@I@@^@@$iter#sepC*Format_doc#Doc(printer0@@@@@@$iter@@!a@I@@@@@@@!b@I@@@@@@@@@*Format_doc#Doc'printer$@@@*Format_doc#Doc'printer"@@@@@@@@@@<JL=@@;_@@%array#sep*Format_doc#Doc(printer0@@@@@@@*Format_doc#Doc'printer!a@I@@@@*Format_doc#Doc'printer%array@@@@@@@@@@@|}@@{`@@#seq#sep֠*Format_doc#Doc(printer0@@@@@@@*Format_doc#Doc'printer!a@I@@@@*Format_doc#Doc'printer&Stdlib#Seq!t@@@@@@@@@@@#@@a@@&option$none*Format_doc#Doc(printer0@@@@@@@*Format_doc#Doc'printer!a@I@@@@*Format_doc#Doc'printerE@@@@@@@@@@@%'%d@@b@@&result"ok*Format_doc#Doc'printer!a@I@@@@%error*Format_doc#Doc'printer!e@I@@@@*Format_doc#Doc'printer&Stdlib&result.@@@@@@ @@ @@ @FegGe@@Ec@@&either$left*Format_doc#Doc'printer!a@I@@@@%right*Format_doc#Doc'printer!b@I@@@@*Format_doc#Doc'printer&Stdlib&Either!t0@@@@@@@@@@@@@d@@,align_prefix@ @*Format_doc#Doc!t@@@@R@@@@@@@@Ġ*Format_doc#Doc!t@@@@@@@@@@@e@@-align_prefix2@@*Format_doc#Doc!t@@@@@@@ @@ @@*Format_doc#Doc!t@@@ @@@@ @@ @*Format_doc#Doc!t@@@@*Format_doc#Doc!t@@@@@@@@@@C@@f@@@@^EH@g@@@#docI;@@A*Format_doc#Doc!t@@@@@@@/0@@@@.h@A@!tJ;@@A*Format_doc#doc@@@@@@@AB@@@@@n@A@)formatterK;@@A@@@@@JK@@@@Io@A@'printerL;!a@@A&A@*Format_doc)formatter@@@@M@@@@@@@@n@@@@@no@@@@mp@A@)formatter@&Stdlib#ref*Format_doc#doc@@@ @@@ *Format_doc)formatter@@@ @@ @@@q@@.format_printerM;!a@ @AnA@&Stdlib&Format)formatter@@@ @N@ +@@@ @@ @@ n@@@@@@@@@r@A@&compat@*Format_doc'printer!a@ 2N@ +@@@ -*Format_doc.format_printer@@@ /@@ 0@@@s@@'compat1@@"p1@ ?N@ 3*Format_doc'printer!a@ =N@ 4@@@ 6@@ 7@*Format_doc.format_printer@@@ 9@@ :@@ ;@  N@@ t@@'compat2@@"p1@ ON@ @@"p2@ QN@ A*Format_doc'printer!a@ MN@ B@@@ D@@ E@@ F@@*Format_doc.format_printer@@@ H@@ I@@ J@@ K@ ?OO @O@@ >u@@2deprecated_printer@@&Stdlib&Format)formatter@@@ R@@@ S@@ T@*Format_doc)formatter@@@ U@@@ V@@ W@@ X@ j11 k1x@@ iv@@*deprecated@*Format_doc.format_printer!a@ `N@ Y@@@ [*Format_doc'printer@@@ ]@@ ^@ yy y@@ w@@+deprecated1 @@"p1@ mN@ a*Format_doc.format_printer!a@ kN@ b@@@ d@@ e@*Format_doc'printer@@@ g@@ h@@ i@  @@ x@@'fprintf!@*Format_doc)formatter@@@ n@&Stdlib&format!a@ yN@ o*Format_doc)formatter@@@ pa@@@ q@@@ u@@ v@@ w@  Q@@ y@@(kfprintf"@@*Format_doc)formatter@@@ z!a@ N@ {@@ |@*Format_doc)formatter@@@ }@&Stdlib'format4!b@ N@ ~*Format_doc)formatter@@@ @@@ 0@@@ @@ @@ @@ @ 3RR 4@@ 2z@@(asprintf#@&Stdlib'format4!a@ N@ *Format_doc)formatter@@@ @@@  @@@ @@@ @@ @ b c@@ a{@@)kasprintf$@@ !@@@ !a@ N@ @@ @&Stdlib'format4!b@ N@ *Format_doc)formatter@@@  @@@ &@@@ @@ @@ @  4@@ |@@'dprintf%@&Stdlib'format4!a@ N@ *Format_doc)formatter@@@  8@@@ @*Format_doc)formatter@@@  H@@@ @@ @@@ &@@ @ 77 7{@@ }@@(kdprintf&@@@*Format_doc)formatter@@@  e@@@ @@ !a@ N@ @@ @&Stdlib'format4!b@ N@ *Format_doc)formatter@@@  @@@ &@@@ @@ @@ @ || @@ ~@@*doc_printf'@&Stdlib'format4!a@ N@ ˠ*Format_doc)formatter@@@ ̠ @@@ ͠*Format_doc#doc@@@ @@@ @@ @ I JR@@ H@@+kdoc_printf(@@*Format_doc#doc@@@ !r@ N@ @@ @&Stdlib'format4!a@ N@ ڠ*Format_doc)formatter@@@ ۠ @@@ ܠ&@@@ @@ @@ @ SS S@@ @@+doc_printer)@*Format_doc'printer!a@ N@ @@@ *Format_doc#Doc'printer@@@ @@ @  @@ @@&pp_doc**Format_doc'printer*Format_doc#doc@@@ @@@ @  @@ @@/pp_print_string+*Format_doc 'printer  @@@ @@@ @ RR Ru@@ @@2pp_print_substring,#pos  @@@ #len  @@@ *Format_doc'printer  @@@ @@@ @@ @@ @ vv v@@ @@-pp_print_text-*Format_doc'printer @@@ @@@ @  @@ @@.pp_print_bytes.*Format_doc'printery@@@!@@@!@ 2 3@@ 1@@+pp_print_as/@*Format_doc)formatter@@@!@ @@@!@ @@@! @@@!@@!@@!@@! @ X Y+@@ W@@5pp_print_substring_as0#pos @@@! #len @@@! @*Format_doc)formatter@@@! @ !@@@! @ 8@@@! @@@!@@!@@!@@!@@!@@!@ ,, G@@ @@-pp_print_char1*Format_doc'printer@@@!@@@!@  @@ @@,pp_print_int2*Format_doc 'printer Z@@@!@@@!@  @@ @@.pp_print_float3*Format_doc"'printer!@@@!@@@!@  @@ @@-pp_print_bool4*Format_doc$'printer #@@@!@@@! @  &@@ @@0pp_print_nothing5*Format_doc&'printer w%@@@!!@@@!#@ '' 'I@@ @@-pp_print_iter6&pp_sep]*Format_doc('printer '@@@!$@@@!&@@@!4@@@!a@!7N@!' )@@@!(@@!)@!b@!9N@!* *@@@!+@@!,@@!-@*Format_doc+'printer"@@@!/*Format_doc,'printer@@@!1@@!2@@!3@@!5@ Tkk U@@ S@@-pp_print_list7&pp_sep*Format_doc.'printer -@@@!:@@@!<@@@!E@*Format_doc/'printer!a@!HN@!=@@@!?*Format_doc1'printer0@@@!A@@@!C@@!D@@!F@  @@ @@.pp_print_array8&pp_sep*Format_doc3'printer %2@@@!I@@@!K@@@!T@*Format_doc4'printer!a@!WN@!L@@@!N*Format_doc6'printerW5@@@!P@@@!R@@!S@@!U@  g@@ @@,pp_print_seq9&pp_sep,*Format_doc8'printer d7@@@!X@@@!Z@@@!c@*Format_doc9'printer!a@!fN@![@@@!]*Format_doc;'printer&Stdlib:#Seq!t@@@!_@@@!a@@!b@@!d@hhh@@@@/pp_print_option:$nonep*Format_doc='printer <@@@!g@@@!i@@@!r@*Format_doc>'printer!a@!uN@!j@@@!l*Format_doc?'printer@@@!n@@@!p@@!q@@!s@TU@@S@@/pp_print_result;"ok*Format_doc@'printer!a@!N@!v@@@!x%error*Format_docA'printer!e@!N@!y@@@!{*Format_docC'printer&StdlibB&result*@@@!~@@@!@@!@@!@ M@@@@/pp_print_either<$left*Format_docD'printer!a@!N@!@@@!%right*Format_docE'printer!b@!N@!@@@!*Format_docG'printer&StdlibF&Either!t,@@@!@@@!@@!@@!@ N N c @@@@,pp_open_stag=*Format_docI'printer&StdlibH&Format$stag@@@!@@@!@    @@@@-pp_close_stag>*Format_docK'printer J@@@!@@@!@    !@@ @@+pp_open_box?*Format_docM'printerL@@@!@@@!@$! ! %! !%@@#@@,pp_close_box@*Format_docO'printer N@@@!@@@!@;!&!&<!&!D@@:@@.pp_print_spaceA*Format_docQ'printer P@@@!@@@!@R!^!^S!^!~@@Q@@,pp_print_cutB*Format_docS'printer R@@@!@@@!@i!!j!!@@h@@.pp_print_breakC@*Format_docT)formatter@@@!@ U@@@!@'V@@@!W@@@!@@!@@!@@!@!!!!@@@@5pp_print_custom_breakD@*Format_docX)formatter@@@!$fits@^Y@@@!@UZ@@@!@l[@@@!@@!N@!&breaks=\@@@!@@!@@!@@!@!!!"3@@@@,pp_open_tboxE*Format_doc^'printerS]@@@!@@@!@"M"M"M"k@@@@-pp_close_tboxF*Format_doc`'printerj_@@@!@@@!@"l"l"l"@@@@*pp_set_tabG*Format_docb'printera@@@!@@@!@ """"@@ @@,pp_print_tabH*Format_docd'printerc@@@!@@@!@$ ""% ""@@#@@/pp_print_tbreakI@*Format_doce)formatter@@@!@f@@@!@g@@@!h@@@!@@!@@!@@!@J ""K ""@@I@@3pp_print_if_newlineJ*Format_docj'printeri@@@!@@@!@a# # b# #E@@`@@0pp_force_newlineK*Format_docl'printerk@@@!@@@!@x#F#Fy#F#h@@w@@.pp_print_flushL*Format_docn'printerm@@@!@@@!@#i#i#i#@@@@0pp_print_newlineM*Format_docp'printero@@@!@@@!@####@@@@%commaN*Format_docr'printer1q@@@!@@@!@###$@@@@)semicolonO*Format_doct'printerHs@@@!@@@!@$$$$ @@@@.pp_two_columnsP#sep .u@@@!@@@!)max_lines ;v@@@!@@@!@*Format_docw)formatter@@@!@ "z@x@@@!堠@y@@@!@@!@@@!{@@@!@@!@@!@@!@@!@$>$>$v$@@@@@3 produce a printer from a format string and its argument@@@@@@@@@@@@@V@@@@ @@^@ay@@@@]7Format_doc.Doc.open_box3;The functions below mirror &Format@@7 printers, without the )pp_print_? prefix naming convention@@@@@@@@@@@@j@|k@b@@@@U8Format_doc.Doc.close_box@P@@@@H3Format_doc.Doc.text@C@@@@55Format_doc.Doc.string@0@@@@"4Format_doc.Doc.bytes@@@@@8Format_doc.Doc.with_size@ @@@@2Format_doc.Doc.int@@@@@蠕4Format_doc.Doc.float@@@@@Ԡ3Format_doc.Doc.char@@@@@3Format_doc.Doc.bool@@@@@4Format_doc.Doc.space@@@@@2Format_doc.Doc.cut@@@@@4Format_doc.Doc.break@@@@@@@z;Format_doc.Doc.custom_break@u@ut@[w@@@@R...@}" tag box by inserting spaces at the beginning of boxes. Those function do nothing if the tag box appears after a break hint.@@@@@@@@@@@@ '@ (@@@@ @@@@ 26Format_doc.pp_print_as@ -@< .@? '@B #@@@@  Format_doc.pp_print_substring_as@ @  @  @Q @T @W @@@@C@8Primitive type printers @@8Format_doc.pp_print_char@@@@@7Format_doc.pp_print_int@@@@@ݠ9Format_doc.pp_print_float@@@@@̠8Format_doc.pp_print_bool@@@@@;Format_doc.pp_print_nothing@@@@@C@4Printer combinators @@8Format_doc.pp_print_iter@@@@@@@@o8Format_doc.pp_print_list@j@ji@X@@@@<9Format_doc.pp_print_array@7@76@%@@@@ 7Format_doc.pp_print_seq@@@@@@@Ѡ:Format_doc.pp_print_option@@@@@@@:Format_doc.pp_print_result@@@@@@@i:Format_doc.pp_print_either@d@dc@TS@@@@1C@/Boxes and tags @@7Format_doc.pp_open_stag@3@@@@"8Format_doc.pp_close_stag@@@@@6Format_doc.pp_open_box@ @@@@7Format_doc.pp_close_box@@@@@C@+Break hints@@9Format_doc.pp_print_space@@@@@堕7Format_doc.pp_print_cut@@@@@Ԡ9Format_doc.pp_print_break@@@@@@@@ Format_doc.pp_print_custom_break@@$@@@@@@C@,Tabulations @@7Format_doc.pp_open_tbox@@@@@8Format_doc.pp_close_tbox@@@@@x5Format_doc.pp_set_tab@s@@@@g7Format_doc.pp_print_tab@b@@@@V:Format_doc.pp_print_tbreak@Q@RR@UK@XG@@@@?C@6Newlines and flushing @@>Format_doc.pp_print_if_newline@A@@@@5;Format_doc.pp_force_newline@0@@@@$9Format_doc.pp_print_flush@@@@@;Format_doc.pp_print_newline@@@@@A@