ó
    �®žjJS  ã                   ó¸   • S SK r S SKrS SKJr  S SKJs  Jr  \R                  r	\R                  " S\	5      rS r " S S5      rS rS rS rS	 rS
 rS rS rS rg)é    N)ÚgroupbyÚconsolidatec                   ó8   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrg)Úbcolorsé   z[95mz[94mz[96mz[92mz[93mz[91mz[0mz[1mz[4m© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚHEADERÚOKBLUEÚOKCYANÚOKGREENÚWARNINGÚFAILÚENDCÚBOLDÚ	UNDERLINEÚ__static_attributes__r   ó    Ú`/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docling_ibm_models/tableformer/otsl.pyr   r      s/   † Ø€FØ€FØ€FØ€GØ€GØ€DØ€DØ€DØƒIr   r   c                 óT   • / n/ SQnU  H  nX2;  d  M
  UR                  U5        M     U$ )N)z<pad>z<unk>z<start>z<end>)Úappend)Úrs_listÚnew_rs_listÚ	stop_listÚtags       r   Ú
otsl_cleanr      s2   € Ø€KÚ6€IÛˆØÕØ×Ñ˜sÖ#ñ ð Ðr   c                 óä  • [        U S 5       VVs/ s H  u  p4U(       a  M  [        U5      PM     nnnSn[        U5      S:”  Ga$  [        US   5      S-   n[        U5       H)  u  p‰U	R	                  S5        [        U	5      U:w  d  M'  SnM+     U(       aJ  U(       aA  [
        R                  SR                  [        R                  [        R                  5      5        U$ SU-   S	-   n
[
        R                  U
R                  [        R                  [        R                  5      5        [
        R                  S
R                  [        R                  [        R                  5      5        U$ s  snnf )Nc                 ó   • U S:H  $ ©NÚnlr   ©Úxs    r   Ú<lambda>Úotsl_sqr_chk.<locals>.<lambda>%   ó   € ¸qÀDºyr   Tr   é   r#   Fz{}*OK* Table is square! *OK*{}z{}*ERR* z *ERR*{}z${}*ERR* Table is not square! *ERR*{})r   ÚlistÚlenÚ	enumerater   ÚloggerÚdebugÚformatr   r   r   r   )r   ÚnameÚlogdebugÚkÚgroupÚrs_list_splitÚisSquareÚinit_tag_lenÚindÚlnÚerr_names              r   Úotsl_sqr_chkr:   #   s   € ä$+¨GÑ5HÔ$IôÚ$I™˜ÔQR‹ŒˆUŽÑ$Ið ñ ð €HÜ
ˆ=Ó˜AÔÜ˜=¨Ñ+Ó,¨qÑ0ˆÜ  Ö/‰GˆCØ�I‰I�dŒOÜ�2‹w˜,Õ&Ø ’ñ 0ö ÞÜ—‘Ø4×;Ñ;ÜŸ™¬¯©óôð €Oð " DÑ(¨:Ñ5ˆHÜ�L‰L˜Ÿ™¬¯©´w·|±|ÓDÔEÜ�L‰LØ6×=Ñ=Ü—L‘L¤'§,¡,óôð
 €Oùó3s
   ‘E,¢E,c                 ót  • / n[        U S 5       VVs/ s H  u  p4U(       a  M  [        U5      PM     nnnSn[        U5       H!  u  px[        U5      U:”  d  M  [        U5      nM#     [        U5       H;  u  pxX�/U[        U5      -
  -  -  nUR	                  S5        UR                  U5        M=     U$ s  snnf )Nc                 ó   • U S:H  $ r"   r   r$   s    r   r&   Ú!otsl_pad_to_sqr.<locals>.<lambda>C   r(   r   r   r#   )r   r*   r,   r+   r   Úextend)	r   Úpad_tagÚnew_listr2   r3   r4   Úmax_row_lenr7   r8   s	            r   Úotsl_pad_to_sqrrB   @   s²   € Ø€Hä$+¨GÑ5HÔ$IôÚ$I™˜ÔQR‹ŒˆUŽÑ$Ið ñ ð €KÜ˜]Ö+‰ˆÜˆr‹7�[Õ Ü˜b›'ŠKñ ,ô ˜]Ö+‰ˆØ
ˆi˜;¬¨R«Ñ0Ñ1Ñ1ˆØ
�	‰	�$ŒØ�‰˜Öñ ,ð €Oùós
   “B4¤B4c                 ót  • SnSnU  H  nUS;   d  M  US-  nM     U[        U5      :w  aŽ  SU-   S-   n[        R                  UR                  [        R
                  [        R                  5      5        Sn[        R                  UR                  [        R
                  [        R                  5      5        SnU$ )	Nr   T©ÚfcelÚchedÚrhedÚsrowÚecelr)   z	{}*!ERR* z	 *ERR!*{}z2{}*!ERR* Tags are not in sync with cells! *ERR!*{}F)r+   r-   r.   r/   r   r   r   )	r   Úcellsr0   r1   ÚcountCellTagsÚisGoodÚrsTagr9   Úerr_msgs	            r   Úotsl_tags_cells_sync_chkrO   P   s“   € Ø€MØ€FÛˆØÐ<Õ<Ø˜QÑŠMñ ð œ˜E›
Ó"Ø Ñ%¨Ñ3ˆÜ�‰�X—_‘_¤W§\¡\´7·<±<Ó@ÔAØFˆÜ�‰�W—^‘^¤G§L¡L´'·,±,Ó?Ô@ØˆØ€Mr   c                 ó¬   • SnSn/ SQnXE;  a<  U[        U 5      S-
  :  a*  US-  nUS-  nX   U   nXE;  a  U[        U 5      S-
  :  a  M*  XE;   a  US-  nU$ )Nr)   Úucel)rE   rF   rG   rH   rI   Úlcelr#   ©r+   ©Úrs_splitr%   ÚyÚdistanceÚelemÚgoodlists         r   Úotsl_check_downrZ   _   sr   € Ø€HØ€DÚE€HØ
Ó
 1¤s¨8£}°qÑ'8Ó#8Ø	ˆQ‰ˆØ�A‰ˆØ‰{˜1‰~ˆð Ó
 1¤s¨8£}°qÑ'8Õ#8ð ÓØ�A‰ˆØ€Or   c                 ó´   • SnSn/ SQnXE;  a@  U[        X   5      S-
  :  a,  US-  nUS-  nX   U   nXE;  a  U[        X   5      S-
  :  a  M,  XE;   a  US-  nU$ )Nr)   rR   )rE   rF   rG   rH   rI   rQ   r#   rS   rT   s         r   Úotsl_check_rightr\   l   sx   € Ø€HØ€DÚE€HØ
Ó
 1¬¨H©KÓ(8¸1Ñ(<Ó#=Ø	ˆQ‰ˆØ�A‰ˆØ‰{˜1‰~ˆð Ó
 1¬¨H©KÓ(8¸1Ñ(<Õ#=ð ÓØ�A‰ˆØ€Or   c                 ó®  • [        U 5      S:X  a  / $ U S   S;  a  U $ / nU(       aA  [        R                  SR                  [        R
                  [        R                  5      5        [        U SU5      (       dM  [        R                  SR                  [        R
                  [        R                  5      5        [        U S5      n [        U S 5       VVs/ s H  u  p4U(       a  M  [        U5      PM     nnnU(       a  [        R                  S5        / nS	n[        U5       GHà  u  p‰/ n
U(       d  S
XX   ;   a  U
R                  S5        SnU(       a  S
XX   ;  a  U
R                  S5        S	nU
R                  S5        [        XX   5       GHO  u  p¼US;   d  M  SnSnSnSnS	nUS-   [        XX   5      :  a  XX   US-      S:X  a  [        X[U5      nSnUS-   [        U5      :  a  XXS-      U   S:X  a  [        X[U5      nSnUS-   [        XX   5      :  aÔ  XX   US-      S:X  aÆ  [        X[U5      n[        X[U5      nSn[        X¿U-   5       H=  n[        UUU-   5       H'  n[!        U5      S-   [!        U5      -   nUU;   d  M%  S	nM)     M?     U(       aV  [        X¿U-   5       HD  n[        UUU-   5       H.  n[!        U5      S-   [!        U5      -   nUR                  U5        M0     MF     U(       aÈ  U
R                  S5        US:”  a   U
R                  S[!        U5      -   S-   5        US:”  a   U
R                  S[!        U5      -   S-   5        US:”  a@  U
R                  S[!        U5      -   S-   5        U
R                  S[!        U5      -   S-   5        U
R                  S5        U
R                  S5        GM-  U
R                  S5        U
R                  S5        GMR     U
R                  S5        UR#                  U
5        GMã     U(       a?  [        R                  S5        [        R                  U5        [        R                  S5        U$ s  snnf )Nr   rD   z{}*Reconstructing HTML...*{}z---z{}*Padding to square...*{}rR   c                 ó   • U S:H  $ r"   r   r$   s    r   r&   Úotsl_to_html.<locals>.<lambda>�   r(   r   Ú FrF   ú<thead>Tz</thead>z<tr>r)   rQ   ÚxcelÚ_ú<tdz
 colspan="Ú"z
 rowspan="Ú>z</td>ú<td>ú</tr>zD*********************** registry_2d_span ***************************zD********************************************************************)r+   r-   r.   r/   r   r   r   r:   rB   r   r*   r,   r   r\   rZ   ÚrangeÚstrr>   )r   r1   Ú
html_tabler2   r3   r4   Úregistry_2d_spanÚthead_presentÚ
rs_row_indÚrs_rowÚ	html_listÚrs_cell_indÚrs_cellÚrdistÚddistÚxrdistÚxddistÚspanr%   rV   Úreg2dinds                        r   Úotsl_to_htmlry   y   s  € Ü
ˆ7ƒ|�qÓØˆ	àˆq�zÐAÓAàˆØ€JÞÜ�‰Ø*×1Ñ1´'·/±/Ä7Ç<Á<ÓPô	
ô ˜ ¨×1Ñ1ä�‰Ð1×8Ñ8¼¿¹Ì'Ï,É,ÓWÔXÜ! '¨6Ó2ˆô %,¨GÑ5HÔ$IôÚ$I™˜ÔQR‹ŒˆUŽÑ$Ið ñ ö Ü�‰�RÔð Ðð
 €Mä'¨×6Ñˆ
Øˆ	æØ˜Ñ2Ó2Ø× Ñ  Ô+Ø $�æØ˜]Ñ6Ó6Ø× Ñ  Ô,Ø %�à×Ñ˜Ô Ü$-¨mÑ.G×$HÑ ˆKØÐBÕBØ�Ø�Ø�Ø�Ø�à ‘?¤S¨Ñ)BÓ%CÓCØ$Ñ0°¸q±ÑAÀVÓKÜ 0°ÈZÓ X˜Ø#˜à ‘>¤C¨Ó$6Ó6ð %°!¡^Ñ4°[ÑAÀVÓKÜ /°ÈJÓ W˜Ø#˜à ‘?¤S¨Ñ)BÓ%CÓCØ$Ñ0°¸q±ÑAÀVÓKÜ!1Ø)¸
ó"˜ô "1°ÈZÓ!X˜Ø#˜ô
 "' {¸[Ñ4HÖ!I˜AÜ%*¨:°vÀ
Ñ7JÖ%K Ü+.¨q«6°C©<¼#¸a»&Ñ+@ à#+Ð/?Õ#?à+0¢Dó &Lñ "Jö  ô &+¨;ÀÑ8LÖ%M Ü).¨z¸6ÀJÑ;NÖ)O AÜ/2°1«v¸©|¼cÀ!»fÑ/D HØ$4×$;Ñ$;¸HÖ$Eó *Pñ &Nö Ø×$Ñ$ UÔ+Ø˜q“yØ!×(Ñ(¨¼¸E»
Ñ)BÀSÑ)HÔIØ˜q“yØ!×(Ñ(¨¼¸E»
Ñ)BÀSÑ)HÔIØ “zØ!×(Ñ(¨¼¸F»Ñ)CÀcÑ)IÔJØ!×(Ñ(¨¼¸F»Ñ)CÀcÑ)IÔJØ×$Ñ$ SÔ)Ø×$Ñ$ W×-à×$Ñ$ VÔ,Ø×$Ñ$ W×-ñw %Iðx 	×Ñ˜Ô!Ø×Ñ˜)×$ñW 7öZ Ü�‰ØRô	
ô 	�‰Ð%Ô&Ü�‰ØRô	
ð ÐùóKs   ÃQÃ'Qc                 óH  • [         R                  " U S   S   5      nU nU(       a  XgS   S'   S/ 0US   S'   S/ 0US   S'   0 SS_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!_S"S#_S$S%_S&S'_S(S)S*.En0 S+S_S,S	_S-S_S.S_S/S_S0S_S1S_S2S_S3S_S4S_S5S_S6S_S7S_S8S!_S9S#_S:S%_S;S'_S(S)S<.En	/ n
/ n/ n0 nS=nS=nS=n/ n/ nU(       a@  [        R                  S>5        [        R                  S?R	                  U S@   U SA   5      5        S=nU(       aB  [        R                  SB5        [        R                  US   5        [        R                  SC5        U(       a?  [        R                  SD5        [        R                  SE5        [        R                  SD5        [        [        US   5      5       GHÑ  nUS   U   nS>nS>nUS=:”  a  US   USF-
     nU[        US   5      SF-
  :  a  US   USF-      nUSG;  d  MI  USH;   aË  US=:”  aÅ  U[        XÎSF-
     5      :¼  a  SI0 4s  $ XÎSF-
     U   nUSF   S=:”  a˜  US=   S=:X  a0  UR                  SJ5        UR                  S=USF   SF-
  /5        USF-  nOJ[        US=   5       H8  nUR                  SK5        UR                  US=   U-
  USF   SF-
  /5        USF-  nM:     XÎSF-
     U   nUSF   S=:”  a  M˜  USL;   aá  US=:”  aÛ  [        U5      n[        XÎSF-
     5      nUU:  aº  UU-
  SF-
  nUS=:”  a¬  U(       a$  [        R                  SMR	                  U5      5        [        U5       Hr  nXÎSF-
     UU-      nUS=   S=:X  a,  UR                  SJ5        UR                  S=USF   SF-
  /5        ME  UR                  SK5        UR                  US=   USF   SF-
  /5        Mt     USN;   Ga[  SOnSPU S   ;   a  U S   SP   U   S   nOSQn[        [        SR U5      5      n[        [        SS U5      5      n[        [        ST U5      5      n[        [        SU U5      5      n[        [        SV U5      5      n[        [        SW U5      5      n[        [        SX U5      5      n[        [        SY U5      5      n[        [        SZ U5      5      n[        U5      S=:”  a  SInU(       a3  / US   SP   U   S'   UR                  S[5        UR                  S=S=/5        O$UR                  S\5        UR                  S=S=/5        USF-  nUSF-  nUS]:X  aÊ  [        U5      U:”  a  [        U5      nUR                  S^5        U
R                  [         R                  " U5      5        UR                  [         R                  " U5      5        U(       a  [        U5        / nUR                  S_S_/5        UR                  [         R                  " U5      5        / nS=nUSF-  nUU;   ar  UU	;  al  UU	;  af  UU   n U SF/UUSF-
  '   U S=/U[        U5      SF-
  '   [        U SF-
  5       H2  nUR                  S`5        UR                  U U-
  SF-
  S=/5        USF-  nM4     UU	;   a1  UU;  a+  UU;  a%  U	U   n!SFU!/UUSF-
  '   S=U!SF-
  /U[        U5      SF-
  '   UU	;   d  GMë  U	U   n!UU;   ai  UU   n U U!/UUSF-
  '   U U!SF-
  /n"U"U[        U5      SF-
  '   [        U SF-
  5       H0  nUR                  SK5        UR                  U U-
  SF-
  U!SF-
  /5        M2     UU;   d  GMh  UU   n U U!/UUSF-
  '   U U!SF-
  /n"U"U[        U5      SF-
  '   [        U SF-
  5       H0  nUR                  SK5        UR                  U U-
  SF-
  U!SF-
  /5        M2     GMÔ     S?R	                  U S@   U SA   5      n#[        UU#U5      n$U$(       d  [        US\5      nSPUS   ;   a  [        X·S   SP   U#U5      n%/ n&U$(       a  [        X²5      n&U&US   S   S'   X·S   S   S'   X×Sa'   UUSb'   [        U
5      USc'   [        US   5      USd'   [        U5      USe'   U(       a  U$(       a  W%(       a  UR!                  U5        U(       a´  [        R                  SfR	                  ["        R$                  ["        R&                  5      5        [        R                  U&5        US   S   n'[        R                  SgR	                  ["        R(                  ["        R&                  5      5        [        R                  U'5        SOU4$ )hz•
Converts table structure from HTML to RS

Parameters
----------
table : json
    line from jsonl
writer : writer
    Writes lines into output jsonl
ÚhtmlÚ	structureÚhtml_structureÚtokensÚhtml_restored_structurez colspan="20"é   z colspan="19"é   z colspan="18"é   z colspan="17"é   z colspan="16"é   z colspan="15"é   z colspan="14"r   z colspan="13"é   z colspan="12"é   z colspan="11"é   z colspan="10"é
   z colspan="2"é   z colspan="3"é   z colspan="4"é   z colspan="5"é   z colspan="6"é   z colspan="7"é   é   é	   )z colspan="8"z colspan="9"z rowspan="20"z rowspan="19"z rowspan="18"z rowspan="17"z rowspan="16"z rowspan="15"z rowspan="14"z rowspan="13"z rowspan="12"z rowspan="11"z rowspan="10"z rowspan="2"z rowspan="3"z rowspan="4"z rowspan="5"z rowspan="6"z rowspan="7")z rowspan="8"z rowspan="9"r   r`   z*** {}: {} ***ÚsplitÚfilenamezB========================== Input HTML ============================zB==================================================================z********z* OTSL *r)   )ra   z<tbody>)rg   rd   rh   FrQ   rb   )rh   zExtra columns needed in row: {})rg   rd   TrJ   Úfc                 ó   • U S:g  $ )Nz<i>r   ©Úas    r   r&   Úhtml_to_otsl.<locals>.<lambda>¤  ó   € °A¸²Jr   c                 ó   • U S:g  $ )Nz<I>r   r–   s    r   r&   r˜   ¥  r™   r   c                 ó   • U S:g  $ )Nz<b>r   r–   s    r   r&   r˜   ¦  r™   r   c                 ó   • U S:g  $ )Nz<B>r   r–   s    r   r&   r˜   §  r™   r   c                 ó   • U S:g  $ )NÚ r   r–   s    r   r&   r˜   ¨  s   € °A¸²Hr   c                 ó   • U S:g  $ )Nz</b>r   r–   s    r   r&   r˜   ©  ó   € °A¸²Kr   c                 ó   • U S:g  $ )Nz</B>r   r–   s    r   r&   r˜   ª  r    r   c                 ó   • U S:g  $ )Nz</i>r   r–   s    r   r&   r˜   «  r    r   c                 ó   • U S:g  $ )Nz</I>r   r–   s    r   r&   r˜   ¬  r    r   rI   rE   rh   r#   éÿÿÿÿrR   Ú
otsl_spansÚcolsÚrowsÚhtml_lenÚrs_lenz{}Reconstructed HTML:{}z{}Original HTML:{})ÚcopyÚdeepcopyr-   r.   r/   ri   r+   r   r*   Úfilterr>   Úprintr:   rB   rO   ry   Úwriter   r   r   r   )(ÚtableÚwriterr1   Úextra_debugÚinclude_htmlÚ
use_writerÚtable_html_structureÚout_lineÚpos_colspansÚpos_rowspansÚt_cellsÚtl_cellsÚ	t_expandsÚtl_spansÚcurrent_lineÚcurrent_columnÚcurrent_html_cell_indÚcurrent_line_tagsÚcurrent_line_expandsÚcolnumÚiÚhtml_tagÚprev_html_tagÚnext_html_tagÚ	up_expandÚciÚcur_line_lenÚpre_line_lenÚextra_columnsÚclmÚcell_is_emptyÚcell_tokensÚcolspan_lenÚrowspan_lenÚnewexpÚt_namer5   rL   ÚrHTMLÚoHTMLs(                                           r   Úhtml_to_otslrÔ   ô   s!  € ô  Ÿ=š=¨¨v©°{Ñ)CÓDÐØ€HÞØ-A�ÑÐ)Ñ*Ø7?À°nˆ�ÑÐ2Ñ3à%-¨r N€HˆVÑ�[Ñ!ðØ˜ðà˜ðð 	˜ðð 	˜ð	ð
 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð  	˜ð!ð" 	˜ð#ð$ Øò'€Lð,Ø˜ðà˜ðð 	˜ðð 	˜ð	ð
 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð 	˜ðð  	˜ð!ð" 	˜ð#ð$ Øò'€Lð, €GØ€HØ€IØ€Hà€LØ€NØÐàÐØÐæÜ�‰�RÔÜ�‰Ð%×,Ñ,¨U°7©^¸UÀ:Ñ=NÓOÔPà€FæÜ�‰ØPô	
ô 	�‰Ð)¨(Ñ3Ô4Ü�‰ØPô	
ö Ü�‰�ZÔ Ü�‰�ZÔ Ü�‰�ZÔ ä”3Ð+¨HÑ5Ó6×7ˆØ'¨Ñ1°!Ñ4ˆØˆØˆØˆq‹5Ø0°Ñ:¸1¸q¹5ÑAˆMØŒsÐ'¨Ñ1Ó2°QÑ6Ó6Ø0°Ñ:¸1¸q¹5ÑAˆMàÐ1Õ1ð Ð3Ó3Ø !Ó#Ø%¬¨YÀaÑ7GÑ-HÓ)IÓIà$ b˜yÒ(Ø )¸Ñ*:Ñ ;¸NÑ K�Ià# A™,¨Ó*Ø$ Q™<¨1Ó,à-×4Ñ4°VÔ<Ø0×7Ñ7¸¸IÀa¹LÈ1Ñ<LÐ8MÔNØ*¨aÑ/™Nô ',¨I°a©LÖ&9 Ø 1× 8Ñ 8¸Ô @Ø 4× ;Ñ ;Ø%.¨q¡\°BÑ%6¸	À!¹ÀqÑ8HÐ$Iô!"ð !/°!Ñ 3¢ñ ':ð %.¸QÑ.>Ñ$?ÀÑ$O˜	ð $ A™,¨Õ*ð" ˜9Ó$Ø !Ó#Ü#&Ð';Ó#<�LÜ#& yÀÑ1AÑ'BÓ#C�Là# lÓ2Ø(4°|Ñ(CÀaÑ(G˜Ø(¨1Ó,Þ*Ü &§¡Ø$E×$LÑ$LØ(5ó%&ô!"ô (-¨]Ö'; Ø,5ÀQÑ6FÑ,GØ$0°3Ñ$6ñ-" 	ð $-¨Q¡<°1Ó#4à$5×$<Ñ$<¸VÔ$DØ$8×$?Ñ$?ÀÀIÈaÁLÐSTÑDTÐ@UÖ$Vð %6×$<Ñ$<¸VÔ$DØ$8×$?Ñ$?Ø)2°1©°yÀ±|ÀaÑ7GÐ(Hö%&ñ (<ð" ˜?Ô*à $�Ø˜e F™mÓ+Ø"'¨¡-°Ñ"8Ð9NÑ"OØ ñ#‘Kð #&�Kô #¤6Ñ*>ÀÓ#LÓM�Ü"¤6Ñ*>ÀÓ#LÓM�Ü"¤6Ñ*>ÀÓ#LÓM�Ü"¤6Ñ*>ÀÓ#LÓM�Ü"¤6Ñ*<¸kÓ#JÓK�Ü"¤6Ñ*?ÀÓ#MÓN�Ü"¤6Ñ*?ÀÓ#MÓN�Ü"¤6Ñ*?ÀÓ#MÓN�Ü"¤6Ñ*?ÀÓ#MÓN�ô �{Ó# aÓ'Ø$)�MÞ ØQS�H˜VÑ$ WÑ-Ð.CÑDÀXÑNØ%×,Ñ,¨VÔ4Ø(×/Ñ/°°A°Õ7à%×,Ñ,¨VÔ4Ø(×/Ñ/°°A°Ô7Ø%¨Ñ*Ð%Ø !Ñ#�ð ˜7Ó"ÜÐ(Ó)¨FÓ2Ü Ð!2Ó3�Fà!×(Ñ(¨Ô.Ø—‘œtŸ}š}Ð->Ó?Ô@Ø—‘¤§¢Ð.?Ó @ÔAÞÜÐ+Ô,Ø$&Ð!ð %×+Ñ+¨R°¨HÔ5à× Ñ ¤§¢Ð/CÓ!DÔEØ')Ð$à!"�Ø Ñ!�à˜<Ó'Ø ¨Ó4Ø$¨LÓ8Ø&2°8Ñ&<˜Ø?JÈAÐ>N˜Ð!6¸Ñ!:Ñ;à'ØðOÐ,¬SÐ1EÓ-FÈÑ-JÑKô #(¨°a©Ö"8˜BØ-×4Ñ4°VÔ<Ø0×7Ñ7¸ÀrÑ9IÈAÑ9MÈqÐ8QÔRØ*¨aÑ/šNñ #9ð ˜<Ó'Ø ¨Ó4Ø$¨LÓ8Ø&2°8Ñ&<˜Ø?@À+Ð>N˜Ð!6¸Ñ!:Ñ;àØ'¨!™OðOÐ,¬SÐ1EÓ-FÈÑ-JÑKð ˜<Ö'Ø*¨8Ñ4�Ø  LÓ0Ø".¨}Ñ"=�KØ;FÈÐ:T�HÐ2°QÑ6Ñ7Ø)¨;¸©?Ð;�FØJPÐ(¬Ð-AÓ)BÀQÑ)FÑGÜ# K°!¡OÖ4˜Ø)×0Ñ0°Ô8Ø,×3Ñ3Ø(¨2Ñ-°Ñ1°;À±?ÐCöñ 5ð
 ! LÖ0Ø".¨}Ñ"=�KØ;FÈÐ:T�HÐ2°QÑ6Ñ7Ø)¨;¸©?Ð;�FØJPÐ(¬Ð-AÓ)BÀQÑ)FÑGÜ# K°!¡OÖ4˜Ø)×0Ñ0°Ô8Ø,×3Ñ3Ø(¨2Ñ-°Ñ1°;À±?ÐCöô 5ñO 8ðZ ×$Ñ$ U¨7¡^°U¸:Ñ5FÓG€Fä˜H f¨hÓ7€HæÜ" 8¨VÓ4ˆà�(˜6Ñ"Ó"Ü)Ø˜vÑ& wÑ/°¸ó
ˆð €EÞÜ˜XÓ0ˆØ<A€HˆVÑÐ.Ñ/°Ñ9à.6ˆVÑ�[Ñ! (Ñ+Ø%ˆ\ÑØ€HˆVÑÜ˜7“|€HˆVÑÜÐ3°HÑ=Ó>€HˆZÑÜ˜X›€HˆXÑæÞÞØ—‘˜XÔ&æÜ�‰Ð.×5Ñ5´g·o±oÄwÇ|Á|ÓTÔUÜ�‰�UÔà˜Ñ Ð!1Ñ2ˆÜ�‰Ð)×0Ñ0´·±ÄÇÁÓNÔOÜ�‰�UÔà�ˆ>Ðr   )rª   ÚloggingÚ	itertoolsr   Ú'docling_ibm_models.tableformer.settingsÚtableformerÚsettingsÚsÚINFOÚ	LOG_LEVELÚget_custom_loggerr-   Ú
total_picsr   r   r:   rB   rO   rZ   r\   ry   rÔ   r   r   r   Ú<module>rß      si   ðÛ Û Ý ç 3Ð 3à�L‰L€	à	
×	Ò	˜]¨IÓ	6€à€
÷	ñ 	òòò:ò ò
ò
òxóvrr   