
    #jR                        d dl Z d dlmZmZmZmZ d dlmZmZm	Z	 d dl
mZmZ dedee         fdZee         Z G d d	          Z G d
 de          Z G d de          Zdedeeef         defdZdee         ddfdZdS )    N)CallableIteratorMutableSequenceSequence)AnyClassVarcast)PDFExceptionPDFValueErrordatareturnc              #      K   | E d {V  d S N )r   s    V/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/pdfminer/ccitt.py	get_bytesr      s      OOOOOOOOO    c            	           e Zd ZU eed<   eegef         dz  ed<   ddZedede	e
z  de
ddfd	            Zd
eddfdZdeddfdZdS )	BitParser_stateN_acceptr   c                     d| _         d S )Nr   )_posselfs    r   __init__zBitParser.__init__*   s    			r   rootvbitsc                     |}d }t          t          |                    D ]3}|dk    r|J ||         d d g||<   ||         }||         dk    rdnd}4|J |||<   d S )Nr   1   )rangelen)clsr   r   r   pbis          r   addzBitParser.add-   s     s4yy!! 	+ 	+A1uu}}}Q4< $<AaDaD!W^^AA}}}!r   r   c                 d    t          |          D ]}dD ]}|                     ||z              d S N   @                   r"   )r   
_parse_bitr   r   bytems       r   	feedbyteszBitParser.feedbytes;   sN    dOO 	* 	*D2 * *q))))*	* 	*r   xc                     |r| j         d         n| j         d         }| xj        dz  c_        t          |t                    r	|| _         d S | j        J |                     |          | _         d S Nr"   r   )r   r   
isinstancelistr   )r   r9   r   s      r   r4   zBitParser._parse_bit@   sk    3DKNNT[^		Q		a 	*DKKK<+++,,q//DKKKr   r   N)__name__
__module____qualname__BitParserState__annotations__r   r   r   classmethodintstrr)   bytesr8   objectr4   r   r   r   r   r   #   s          se^+,t3333    ~ #) 3 4    [*e * * * * *
*F *t * * * * * *r   r   c                   H.   e Zd ZU ddgZee         ed<   e                    edd           e                    edd           e                    edd           e                    ed	d
           e                    edd           e                    edd           e                    edd           e                    edd           e                    edd           e                    edd           e                    edd           e                    edd           e                    edd           e                    edd           e                    edd            e                    ed!d"           e                    ed#d$           e                    ed%d&           ddgZ	ee         ed'<   e                    e	dd(           e                    e	dd)           e                    e	dd*           e                    e	dd+           e                    e	d,d-           e                    e	d.d/           e                    e	d0d1           e                    e	d2d3           e                    e	d4d5           e                    e	d6d7           e                    e	d8d9           e                    e	d:d;           e                    e	d<d=           e                    e	d>d           e                    e	d?d@           e                    e	dAdB           e                    e	dCdD           e                    e	dEdF           e                    e	dGdH           e                    e	dIdJ           e                    e	dKdL           e                    e	dMdN           e                    e	dOd           e                    e	dPdQ           e                    e	dRdS           e                    e	dTdU           e                    e	dVdW           e                    e	dXdY           e                    e	dZd[           e                    e	d\d]           e                    e	d^d_           e                    e	d`da           e                    e	dbdc           e                    e	ddde           e                    e	dfdg           e                    e	dhdi           e                    e	djdk           e                    e	dldm           e                    e	dndo           e                    e	dpdq           e                    e	drds           e                    e	dtdu           e                    e	dvdw           e                    e	dxdy           e                    e	dzd{           e                    e	d|d}           e                    e	d~d           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	ddæ           e                    e	ddŦ           e                    e	ddǦ           e                    e	ddɦ           e                    e	dd˦           e                    e	ddͦ           e                    e	ddϦ           e                    e	ddѦ           e                    e	ddӦ           e                    e	ddզ           e                    e	ddצ           e                    e	dd٦           e                    e	ddۦ           e                    e	ddݦ           e                    e	ddߦ           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           e                    e	dd           ddgZ
ee         ed<   e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
d,d           e                    e
d.d           e                    e
d0d           e                    e
d2d           e                    e
d4d           e                    e
d6d           e                    e
d8dQ           e                    e
d:d           e                    e
d<d           e                    e
d>d}           e                    e
d?d           e                    e
dAd           e                    e
dCd           e                    e
dEd            e                    e
dGd           e                    e
dId           e                    e
dKd           e                    e
dMd           e                    e
dOd           e                    e
dPd           e                    e
dRd           e                    e
dTd           e                    e
dVd           e                    e
dXd	           e                    e
dZd
           e                    e
d\d           e                    e
d^d           e                    e
d`d           e                    e
dbd           e                    e
ddd           e                    e
dfd           e                    e
dhd           e                    e
djd           e                    e
dld           e                    e
dnd           e                    e
dpd           e                    e
drd           e                    e
dtd           e                    e
dvd           e                    e
dxd           e                    e
dzd           e                    e
d|d           e                    e
d~d           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd            e                    e
dd!           e                    e
dd"           e                    e
dd#           e                    e
dd$           e                    e
dd%           e                    e
dd&           e                    e
dd'           e                    e
dd(           e                    e
dd)           e                    e
dd*           e                    e
dd+           e                    e
dd,           e                    e
dd-           e                    e
dd           e                    e
dd.           e                    e
dd/           e                    e
dd0           e                    e
dd1           e                    e
dd2           e                    e
dd3           e                    e
dd4           e                    e
dd5           e                    e
dd6           e                    e
dd7           e                    e
dd8           e                    e
dd9           e                    e
dd:           e                    e
dd;           e                    e
dd<           e                    e
dd=           e                    e
dĐd>           e                    e
dƐd?           e                    e
dȐd@           e                    e
dʐdA           e                    e
d̐dB           e                    e
dΐdC           e                    e
dАdD           e                    e
dҐdE           e                    e
dԐdF           e                    e
d֐dG           e                    e
dd٦           e                    e
ddۦ           e                    e
ddݦ           e                    e
ddߦ           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd           e                    e
dd           ddgZee         edH<   e                    edd           e                    edIdI           e                    ed
d
           e                    edd           e                    edJdJ           e                    edKdL           e                    edMd_           e                    edNd]           e                    edOdP           e                    edQdR           e                    edSdT           e                    edUdV           e                    edWdX           e                    edYdZ            G d[ d\e          Z G d] d^e          Z G d_ d`e          Z G da dbe          Zeedc<   ddeedfedgdfdhZdiedgdfdjZdkedgefdlZdmedgefdnZdmedgefdoZdpedz  dgefdqZdgefdrZdsedgefdtZdduZdvedpe e         dgdfdwZ!ddxZ"ddyZ#dzedgdfd{Z$dd|Z%d}ed~edgdfdZ&dpedgdfdZ'dS (  CCITTG4ParserNMODEr   r!   r"   011010h001r&   0001r3   000011000010   00000110000010u
0000001111x1
0000001000x2
0000001001x3
0000001010x4
0000001011x5
0000001100x6
0000001101x7
0000001110e000000000001000000000001WHITE0011010100011101111000r2   1011   1100   1110   1111r1   10011	   10100
   00111   01000   001000      110100   110101r0   101010   101011   0100111   0001100   0001000   0010111      0000100   0101000   0101011   0010011   0100100   0011000   00000010   00000011   00011010r/   00011011!   00010010"   00010011#   00010100$   00010101%   00010110&   00010111'   00101000(   00101001)   00101010*   00101011+   00101100,   00101101-   00000100.   00000101/   000010100   000010111   010100102   010100113   010101004   010101015   001001006   001001017   010110008   010110019   01011010:   01011011;   01001010<   01001011=   00110010>   00110011?   00110100r.   11011r-   10010   010111   0110111i@  00110110i  00110111i  01100100i   01100101i@  01101000i  01100111i  	011001100i   	011001101i@  	011010010i  	011010011i  	011010100i   	011010101i@  	011010110i  	011010111i  	011011000i   	011011001i@  	011011010i  	011011011i  	010011000i   	010011001i@  	010011010i  011000i  	010011011i   00000001000i@  00000001100i  00000001101i  000000010010i   000000010011i@  000000010100i  000000010101i  000000010110i 	  000000010111i@	  000000011100i	  000000011101i	  000000011110i 
  000000011111BLACK
0000110111111000110010000110001010001000000101000011100000111	000011000
0000010111
00000110000000110011100001101000000011011000000011011100000101000000000101110000001100000001100101000001100101100001100110000001100110100000110100000000110100100000110101000000110101100001101001000001101001100001101010000001101010100001101011000001101011100000110110000000110110100001101101000001101101100000101010000000101010100000101011000000101011100000110010000000110010100000101001000000101001100000010010000000011011100000011100000000010011100000010100000000101100000000101100100000010101100000010110000000101101000000110011000000110011100001100100000001100100100000101101100000011001100000011010000000011010100000011011000000001101101000000100101000000010010110000001001100000000100110100000011100100000001110011000000111010000000011101010000001110110000000111011100000010100100000001010011000000101010000000010101010000001011010000000101101100000011001000000001100101UNCOMPRESSED010000100000000001T00T10T000	000000011T100	000000010T0000
0000000011T1000
0000000010T0000000000000011T1000000000000010c                       e Zd ZdS )CCITTG4Parser.CCITTExceptionNr?   r@   rA   r   r   r   CCITTExceptionrv  C          r   rx  c                       e Zd ZdS )CCITTG4Parser.EOFBNrw  r   r   r   EOFBr{  F  ry  r   r|  c                       e Zd ZdS )CCITTG4Parser.InvalidDataNrw  r   r   r   InvalidDatar~  I  ry  r   r  c                       e Zd ZdS )CCITTG4Parser.ByteSkipNrw  r   r   r   ByteSkipr  L  ry  r   r  _colorFwidth	bytealignr   c                 ~    t                               |            || _        || _        |                                  d S r   )r   r   r  r  reset)r   r  r  s      r   r   zCCITTG4Parser.__init__Q  s5    4   
"

r   r   c                     t          |          D ]U}	 dD ]}|                     ||z             !# | j        $ r | j        | _        | j        | _        Y E| j        $ r Y  d S w xY wd S r+   )r   r4   r  _parse_moder   rK   r   r|  r5   s       r   r8   zCCITTG4Parser.feedbytesW  s    dOO 	 	D6 . .AOOD1H----.= ( ( (#/"i9   	 	s   1"A#	A#"A#modec                    |dk    r/|                                   |                                  | j        S |dk    r(d| _        | j        | _        | j        r| j        S | j        S |dk    r| j	        | _        | j
        S |dk    r| j        t          |t                    r0|                     |           |                                  | j        S |                     |          )Nr&   rO   r   rY   ri   )_do_pass_flush_linerK   _n1_parse_horiz1r   r  rk   r  _parse_uncompressedrb  r|  r<   rE   _do_verticalr  )r   r  s     r   r  zCCITTG4Parser._parse_modeb  s    3;;MMOOO9S[[DH-DL{ "z!z!S[[3DL$$S[[)Oc"" 	)d###9""4(((r   nc                     || j         | xj        |z  c_        |dk     r"d| _        d| j        z
  | _        | j        | _        | j        r| j        S | j        S )Nr.   r   r"   )r  r  _n2r  _parse_horiz2r   rk   r  r   r  s     r   r  zCCITTG4Parser._parse_horiz1z  s`    9""Ar66DHdk/DK-DL; 	::r   c                    || j         | xj        |z  c_        |dk     rVd| j        z
  | _        | j        | _        |                     | j        | j                   |                                  | j        S | j        r| j	        S | j
        S )Nr.   r"   )r  r  r  r  r   _do_horizontalr  r  rK   rk   r  r  s     r   r  zCCITTG4Parser._parse_horiz2  s    9""Ar66dk/DK+DL$(3339[ 	::r   r   c                 
   |s| j         |                    d          rJ| j        | _        t	          |d                   | _        |                     |dd                     | j        S |                     |           | j        S )NTr"   r3   )	r  
startswithr  r   rE   r  _do_uncompressedrK   rb  )r   r   s     r   r  z!CCITTG4Parser._parse_uncompressed  s     	#""??3 	%+DLd1g,,DK!!$qrr(+++9!!$'''$$r   c                 d    d                     d | j        d | j                 D                       S )N c              3   4   K   | ]}t          |          V  d S r   rF   .0r'   s     r   	<genexpr>z*CCITTG4Parser._get_bits.<locals>.<genexpr>  s(      EE!s1vvEEEEEEr   )join_curline_curposr   s    r   	_get_bitszCCITTG4Parser._get_bits  s0    wwEEt}^t|^'DEEEEEEr   r(   c                    |dk     r'dd                     d | j        D                       z   S t          | j                  |k    r'd                     d | j        D                       dz   S d                     d | j        d |         D                       dz   t          | j        |                   z   dz   d                     d	 | j        |d
z   d          D                       z   S )Nr   z[]r  c              3   4   K   | ]}t          |          V  d S r   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s(      !@!@Q#a&&!@!@!@!@!@!@r   c              3   4   K   | ]}t          |          V  d S r   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s(      99a3q66999999r   c              3   4   K   | ]}t          |          V  d S r   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s(      ::1A::::::r   []c              3   4   K   | ]}t          |          V  d S r   r  r  s     r   r  z-CCITTG4Parser._get_refline.<locals>.<genexpr>  s(      AAQ#a&&AAAAAAr   r"   )r  _refliner$   rF   )r   r(   s     r   _get_reflinezCCITTG4Parser._get_refline  s    q55"''!@!@$-!@!@!@@@@@1$$77994=99999D@@ ::bqb(9:::::dmA&''(  ''AA$-A*@AAAAA	Br   c                     d| _         t          j        ddg| j        z            | _        |                                  | j        | _        | j        | _        d S )Nr   r'   r"   )	_yarrayr  r  _reset_liner  r   rK   r   r   s    r   r  zCCITTG4Parser.reset  sN    C!tz)9::'ir   yc                 `    t          |d                    d |D                                  d S )Nr  c              3   4   K   | ]}t          |          V  d S r   r  r  s     r   r  z,CCITTG4Parser.output_line.<locals>.<genexpr>  s(      ..AQ......r   )printr  )r   r  r   s      r   output_linezCCITTG4Parser.output_line  s3    a......./////r   c                     | j         | _        t          j        ddg| j        z            | _         d| _        d| _        d S )Nr'   r"   rM   )r  r  r  r  r  r  r   s    r   r  zCCITTG4Parser._reset_line  s9    C!tz)9::r   c                     | j         | j        k    rR|                     | j        | j                   | xj        dz  c_        |                                  | j        r	| j        d S d S Nr"   )r  r  r  r  r  r  r  r  r   s    r   r  zCCITTG4Parser._flush_line  sp    :%%TWdm444GGqLGG~ $m# &%$ $r   dxc                 R   | j         dz   }	 |dk    r#| j        dk    r| j        |         | j        k    rnOnH|t          | j                  k    s/| j        |dz
           | j        k    r| j        |         | j        k    rn|dz  }w||z  }t	          d| j                   }t	          dt          | j        |                    }||k     r#t          ||          D ]}| j        | j        |<   n(||k     r"t          ||          D ]}| j        | j        |<   || _         d| j        z
  | _        d S r;   )	r  r  r  r$   maxminr  r#   r  )r   r  r[   x0r9   s        r   r  zCCITTG4Parser._do_vertical  sH   \A		Qww;!##b(9T[(H(Hs4=))))b1f%44M"%44!GB		 	bDL!!C
B''((772r]] / /#';a  /"WW2r]] / /#';a  $+or   c                 V   | j         dz   }	 |dk    r#| j        dk    r| j        |         | j        k    rnOnH|t          | j                  k    s/| j        |dz
           | j        k    r| j        |         | j        k    rn|dz  }w	 |dk    r#| j        dk    r| j        |         | j        k    rnOnH|t          | j                  k    s/| j        |dz
           | j        k    r| j        |         | j        k    rn|dz  }wt	          | j         |          D ]}| j        | j        |<   || _         d S r;   )r  r  r  r$   r#   r  )r   r[   r9   s      r   r  zCCITTG4Parser._do_pass  sO   \A		Qww;!##b(9T[(H(Hs4=))))b1f%44M"%44!GB				Qww;!##b(9T[(H(Hs4=))))b1f%44M"%44!GB		 t|R(( 	+ 	+A#{DM!r   n1n2c                 L   | j         dk     rd| _         | j         }t          |          D ]0}t          | j                  |k    r n| j        | j        |<   |dz  }1t          |          D ]3}t          | j                  |k    r nd| j        z
  | j        |<   |dz  }4|| _         d S )Nr   r"   )r  r#   r$   r  r  )r   r  r  r9   _s        r   r  zCCITTG4Parser._do_horizontal  s    <!DLLr 	 	A4=!!Q&&#{DM!FAAr 	 	A4=!!Q&& 4;DM!FAAr   c                     |D ]B}t          |          | j        | j        <   | xj        dz  c_        |                                  Cd S r  )rE   r  r  r  )r   r   cs      r   r  zCCITTG4Parser._do_uncompressed  sT     	 	A*-a&&DM$,'LLALL	 	r   Fr>   )(r?   r@   rA   rK   r   rB   rC   r   r)   rk   r  rb  r
   rx  r|  r  r  rE   boolr   rG   r8   rH   r  r   r  r  rF   r  r  r  r  r   r  r  r  r  r  r  r  r   r   r   rJ   rJ   J   s        &*D\D(>
"111MM$3MM$E"""MM$E"""MM$U###MM$V$$$MM$H%%%MM$H%%%MM$I&&&MM$I&&&MM$\***MM$l+++MM$l+++MM$l+++MM$l+++MM$l+++MM$l+++MM$l+++MM$7888'+TlE8N#222MM%J'''MM%H%%%MM%F###MM%F###MM%F###MM%F###MM%F###MM%F###MM%G$$$MM%G$$$MM%W%%%MM%W%%%MM%X&&&MM%X&&&MM%X&&&MM%X&&&MM%X&&&MM%X&&&MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Y'''MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%Z(((MM%W%%%MM%g&&&MM%h'''MM%i(((MM%j)))MM%j)))MM%j)))MM%j)))MM%j)))MM%j)))MM%k***MM%k***MM%k***MM%k***MM%k***MM%{+++MM%{+++MM%{+++MM%{+++MM%{+++MM%{+++MM%{+++MM%{+++MM%{+++MM%{+++MM%x(((MM%{+++MM%}---MM%}---MM%}---MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...'+TlE8N#222MM%L)))MM%E"""MM%D!!!MM%D!!!MM%E"""MM%F###MM%F###MM%G$$$MM%H%%%MM%H%%%MM%Y'''MM%Y'''MM%Y'''MM%Z(((MM%Z(((MM%[)))MM%\***MM%\***MM%\***MM%]+++MM%]+++MM%]+++MM%]+++MM%]+++MM%]+++MM%]+++MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%^,,,MM%\***MM%n---MM%n---MM%n---MM%n---MM%n---MM%n---MM%o...MM%o...MM%o...MM%o...MM%o...MM%o...MM%o...MM%o...MM%///MM%///MM%///MM%///MM%///MM%///MM%///MM%///MM%///MM%///MM%///MM%///MM%}---MM%}---MM%}---MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~...MM%~....2D\L(>*999MM,S)))MM,d+++MM,u---MM,///MM,111MM,222MM,z222MM,z222MM,444MM,444MM,666MM,666MM,-888MM,-888           ~       n       >    KKK c d t    	e 	 	 	 	 	) )> ) ) ) )0s ~    s ~    
%d
 
%~ 
% 
% 
% 
%F3 F F F Fc c           0S 0 0$ 0 0 0 0   $ $ $ $&s &t & & & &0   4 # $     S T      r   rJ   c            	       X    e Zd Z	 	 ddedededdfdZdefdZd	ed
ee         ddfdZ	dS )CCITTFaxDecoderFr  r  reversedr   Nc                 \    t                               | ||           || _        d| _        d S )Nr  r   )rJ   r   r  _buf)r   r  r  r  s       r   r   zCCITTFaxDecoder.__init__  s1     	tUi@@@ 			r   c                     | j         S r   )r  r   s    r   closezCCITTFaxDecoder.close  s
    yr   r  r   c                 .   t          j         ddgt          |          dz   dz  z            }| j        rd |D             }t          |          D ]#\  }}|r||dz  xx         d|dz           z  cc<   $| xj        |                                z  c_        d S )NBr   ru   r1   c                     g | ]}d |z
  S )r"   r   r  s     r   
<listcomp>z/CCITTFaxDecoder.output_line.<locals>.<listcomp>%  s    (((aAE(((r   r,   )r  r$   r  	enumerater  tobytes)r   r  r   arrr(   r'   s         r   r  zCCITTFaxDecoder.output_line"  s    k#ss4yy1}&:;<<= 	)((4(((DdOO 	D 	DDAq DAF<QUCC		S[[]]"				r   )FF)
r?   r@   rA   rE   r  r   rG   r  r   r  r   r   r   r  r    s          	   	
 
   u    #S # #$ # # # # # #r   r  paramsc                    |                     d          }|dk    rt          t          |                     d                    }t          t          |                     d                    }t          t          |                     d                    }t	          |||          }nt          |          |                    |            |                                S )NKrM   ColumnsEncodedByteAlignBlackIs1)r  r  )getr	   rE   r  r  r   r8   r  )r   r  r  colsr  r  parsers          r   ccittfaxdecoder  ,  s    

3ABwwCI..//vzz*<==>>	fjj4455 XNNNA
T<<>>r   argvc                    | dd          sdd l }|                                 d S  G d dt                    }| dd          D ]}t          |d          5 }|                    d          \  }}}}}} |t          |                    }	|	                    |                                           |	                                 d d d            n# 1 swxY w Y   d S )Nr"   r   c                   L    e Zd ZddededdfdZdedee         ddfd	Zdd
ZdS )main.<locals>.ParserFr  r  r   Nc                     dd l }t                              | ||           |                    | j        df          | _        d S )Nr   r  i  )pygamerJ   r   Surfacer  img)r   r  r  r  s       r   r   zmain.<locals>.Parser.__init__B  sD    MMM""4)"DDD~~tz4&899DHHHr   r  r   c                     t          |          D ]B\  }}|r| j                            ||fd           %| j                            ||fd           Cd S )N)   r  r  )r   r   r   )r  r  set_at)r   r  r   r9   r'   s        r   r  z main.<locals>.Parser.output_lineH  sg    !$ 7 71 7HOOQFO<<<<HOOQFI6666	7 7r   c                 N    dd l }|j                            | j        d           d S )Nr   zout.bmp)r  imagesaver  )r   r  s     r   r  zmain.<locals>.Parser.closeO  s+    MMMLdh	22222r   r  r>   )	r?   r@   rA   rE   r  r   r   r  r  r   r   r   Parserr  A  s        	: 	:# 	:$ 	:4 	: 	: 	: 	:	7 	7HSM 	7d 	7 	7 	7 	7	3 	3 	3 	3 	3 	3r   r  rb.)	unittestmainrJ   opensplitrE   r8   readr  )
r  r  r  pathfpr  _kw_hr  s
             r   r  r  :  s5   8 3 3 3 3 3 3 3 3& QRR  $ 	#'::c?? Q2q"aVCFF^^FRWWYY'''LLNNN		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   A0CC	C	)r  collections.abcr   r   r   r   typingr   r   r	   pdfminer.pdfexceptionsr
   r   rG   rE   r   rB   r   rJ   r  dictrF   rH   r  r=   r  r   r   r   <module>r     s    I I I I I I I I I I I I          ? > > > > > > >E hsm    
 !%
$* $* $* $* $* $* $* $*NG G G G GI G G GT# # # # #m # # #0
 
S&[(9 
e 
 
 
 
tCy T      r   