§
    Æ‡tjb%  ã                   óÞ   — d dl Z d dlZ d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZmZmZmZmZ d dlmZ d dlmZmZmZmZ d	Zd
edefd„Z G d„ d¦  «        Z G d„ d¦  «        ZdS )é    N)ÚBytesIO)ÚBinaryIOÚLiteral)ÚJBIG2StreamReaderÚJBIG2StreamWriter)ÚLTImage)ÚLITERAL_DEVICE_CMYKÚLITERAL_DEVICE_GRAYÚLITERAL_DEVICE_RGBÚLITERAL_INLINE_DEVICE_GRAYÚLITERAL_INLINE_DEVICE_RGB)ÚPDFValueError)ÚLITERALS_DCT_DECODEÚLITERALS_FLATE_DECODEÚLITERALS_JBIG2_DECODEÚLITERALS_JPX_DECODEz¶Could not import Pillow. This dependency of pdfminer.six is not installed by default. You need it to to save jpg images to a file. Install it with `pip install 'pdfminer.six[image]'`ÚxÚreturnc                 ó   — | dz   dz  dz  S )Né   é   © )r   s    úL/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pdfminer/image.pyÚalign32r      s   € Ø�‰U�q‰L˜AÑÐó    c            
       ó>   — e Zd Zdededededdf
d„Zded	eddfd
„ZdS )Ú	BMPWriterÚfpÚbitsÚwidthÚheightr   Nc                 ón  — || _         || _        || _        || _        |dk    rd}n!|dk    rd}n|dk    rd}nt	          |¦  «        ‚t          | j        | j        z  dz   dz  ¦  «        | _        | j        | j        z  | _        d|d	z  z   }t          j	        d
d| j        | j        d| j        d| j        dd|d¦  «        }t          |¦  «        dk    s$J t          t          |¦  «        ¦  «        ¦   «         ‚t          j	        ddd|| j        z   dd|¦  «        }t          |¦  «        dk    s$J t          t          |¦  «        ¦  «        ¦   «         ‚| j                              |¦  «         | j                              |¦  «         |dk    r5dD ]1}	| j                              t          j	        d|	|	|	¦  «        ¦  «         Œ2nG|dk    rAt          d¦  «        D ]1}	| j                              t          j	        d|	|	|	¦  «        ¦  «         Œ2| j                              ¦   «         | _        | j        | j        z   | _        d S )Né   é   é   é   é   r   é   é6   r   z<IiiHHIIIIIIé(   z<ccIHHIó   Bó   Mé   )r   éÿ   ÚBBBx)r   r   r    r!   r   r   ÚlinesizeÚdatasizeÚstructÚpackÚlenÚstrÚwriteÚrangeÚtellÚpos0Úpos1)
Úselfr   r   r    r!   ÚncolsÚ
headersizeÚinfoÚheaderÚis
             r   Ú__init__zBMPWriter.__init__$   s2  € ØˆŒØˆŒ	ØˆŒ
ØˆŒØ�1Š9ˆ9ØˆEˆEØ�QŠYˆYØˆEˆEØ�RŠZˆZØˆEˆEå Ñ%Ô%Ð%Ý ¤¨d¬iÑ!7¸!Ñ!;ÀÑ AÑBÔBˆŒØœ¨¬Ñ3ˆŒØ˜u q™yÑ(ˆ
ÝŒ{ØØØŒJØŒKØØŒIØØŒMØØØØñ
ô 
ˆõ �4‰yŒy˜BŠˆˆ¥¥C¨¡I¤I¡¤‰ŒˆÝ”ØØØØ˜œÑ&ØØØñ
ô 
ˆõ �6‰{Œ{˜bÒ Ð Ð ¥#¥c¨&¡k¤kÑ"2Ô"2Ñ Ô Ð ØŒ�Š�fÑÔÐØŒ�Š�dÑÔÐØ�AŠ:ˆ:àð <ð <�Ø”—’�fœk¨&°!°Q¸Ñ:Ô:Ñ;Ô;Ð;Ð;ð<à�cŠ\ˆ\å˜3‘Z”Zð <ð <�Ø”—’�fœk¨&°!°Q¸Ñ:Ô:Ñ;Ô;Ð;Ð;Ø”G—L’L‘N”NˆŒ	Ø”I ¤Ñ-ˆŒ	ˆ	ˆ	r   ÚyÚdatac                 ó”   — | j                              | j        |dz   | j        z  z
  ¦  «         | j                              |¦  «         d S )Nr#   )r   Úseekr:   r0   r6   )r;   rB   rC   s      r   Ú
write_linezBMPWriter.write_lineZ   sB   € ØŒ�Š�T”Y ! a¡%¨4¬=Ñ!8Ñ8Ñ9Ô9Ð9ØŒ�Š�dÑÔÐÐÐr   )Ú__name__Ú
__module__Ú__qualname__r   ÚintrA   ÚbytesrF   r   r   r   r   r   #   su   € € € € € ð4.˜8ð 4.¨3ð 4.°sð 4.ÀCð 4.ÈDð 4.ð 4.ð 4.ð 4.ðl˜Cð  uð °ð ð ð ð ð ð r   r   c                   óæ   — e Zd ZdZdeddfd„Zdedefd„Zdedefd„Zdedefd	„Z	dedefd
„Z
dedededededefd„Zdedefd„Zdedefd„Zededefd„¦   «         Zdededeeef         fd„ZdS )ÚImageWriterzUWrite image to a file

    Supports various image types: JPEG, JBIG2 and bitmaps
    Úoutdirr   Nc                 ó’   — || _         t          j                             | j         ¦  «        st          j        | j         ¦  «         d S d S )N)rN   ÚosÚpathÚexistsÚmakedirs)r;   rN   s     r   rA   zImageWriter.__init__e   sC   € ØˆŒÝŒw�~Š~˜dœkÑ*Ô*ð 	%ÝŒK˜œÑ$Ô$Ð$Ð$Ð$ð	%ð 	%r   Úimagec                 ó°  — |j         \  }}|j                             ¦   «         }|s|                      |¦  «        }�n™|d         d         t          v r|                      |¦  «        }�nm|d         d         t          v r|                      |¦  «        }�nA|                      |¦  «        r|  	                    |¦  «        }�n|j
        dk    r%|                      ||||dz   dz  |j
        ¦  «        }nå|j
        dk    rAt          |j        v st          |j        v r%|                      ||||dz  |j
        dz  ¦  «        }n™|j
        dk    r;t          |j        v st           |j        v r|                      |||||j
        ¦  «        }nSt#          |¦  «        dk    r+|d         d         t$          v r|                      |¦  «        }n|                      |¦  «        }|S )zSave an LTImage to diskéÿÿÿÿr   r#   r(   r%   r   )ÚsrcsizeÚstreamÚget_filtersÚ_save_bytesr   Ú
_save_jpegr   Ú_save_jpeg2000Ú_is_jbig2_iamgeÚ_save_jbig2r   Ú	_save_bmpr   Ú
colorspacer   r
   r   r4   r   Ú	_save_raw)r;   rT   r    r!   ÚfiltersÚnames         r   Úexport_imagezImageWriter.export_imagej   sË  € àœ-‰ˆ�à”,×*Ò*Ñ,Ô,ˆàð 	)Ø×#Ò# EÑ*Ô*ˆD‰Dà�RŒ[˜Œ^Õ2Ð2Ð2Ø—?’? 5Ñ)Ô)ˆD‰Dà�RŒ[˜Œ^Õ2Ð2Ð2Ø×&Ò& uÑ-Ô-ˆD‰Dà×!Ò! %Ñ(Ô(ð 	)Ø×#Ò# EÑ*Ô*ˆD‰DàŒZ˜1Š_ˆ_Ø—>’> %¨°¸À¹ÀqÑ8HÈ%Ì*ÑUÔUˆDˆDàŒZ˜1Š_ˆ_Ý %Ô"2Ð2Ð2Ý(¨EÔ,<Ð<Ð<à—>’> %¨°¸À¹	À5Ä:ÐPQÁ>ÑRÔRˆDˆDàŒZ˜1Š_ˆ_Ý 5Ô#3Ð3Ð3Ý)¨UÔ-=Ð=Ð=à—>’> %¨°¸¸u¼zÑJÔJˆDˆDå�‰\Œ\˜QÒÐ 7¨1¤:¨a¤=Õ4IÐ#IÐ#IØ×#Ò# EÑ*Ô*ˆDˆDð —>’> %Ñ(Ô(ˆDàˆr   c                 ó,  — |j                              ¦   «         }|                      |d¦  «        \  }}t          |d¦  «        5 }t          |j        v r–	 ddlm}m} n'# t          $ r}t          t          ¦  «        |‚d}~ww xY wt          |¦  «        }	|                     |	¦  «        }
|                     |
¦  «        }|                     d¦  «        }|                     |d¦  «         n|                     |¦  «         ddd¦  «         n# 1 swxY w Y   |S )zSave a JPEG encoded imageú.jpgÚwbr   )ÚImageÚ
ImageChopsNÚRGBÚJPEG)rX   Úget_dataÚ_create_unique_image_nameÚopenr	   r`   ÚPILrh   ri   ÚImportErrorÚPIL_ERROR_MESSAGEr   ÚinvertÚconvertÚsaver6   )r;   rT   rC   rc   rQ   r   rh   ri   ÚerrÚifpÚimgÚinvertedÚrgb_imgs                r   r[   zImageWriter._save_jpeg“   sb  € àŒ|×$Ò$Ñ&Ô&ˆà×3Ò3°E¸6ÑBÔB‰
ˆˆdÝ�$˜ÑÔð 	 Ý" eÔ&6Ð6Ð6ðBØ5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5øÝ"ð Bð Bð BÝ%Õ&7Ñ8Ô8¸cÐAøøøøðBøøøõ ˜d‘m”m�Ø—j’j ‘o”o�Ø%×,Ò,¨SÑ1Ô1�Ø"×*Ò*¨5Ñ1Ô1�Ø—’˜R Ñ(Ô(Ð(Ð(à—’˜‘”�ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆs7   ÁD	ÁAÁD	Á
B Á&A;Á;B Â A=D	Ä	DÄDc                 óŒ  — |j                              ¦   «         }|                      |d¦  «        \  }}t          |d¦  «        5 }	 ddlm} n'# t          $ r}t          t          ¦  «        |‚d}~ww xY wt          |¦  «        }|                     |¦  «        }	|	 	                    |d¦  «         ddd¦  «         n# 1 swxY w Y   |S )zSave a JPEG 2000 encoded imagez.jp2rg   r   )rh   NÚJPEG2000)
rX   rl   rm   rn   ro   rh   rp   rq   r   rt   )
r;   rT   rC   rc   rQ   r   rh   ru   rv   r@   s
             r   r\   zImageWriter._save_jpeg2000©   s  € àŒ|×$Ò$Ñ&Ô&ˆà×3Ò3°E¸6ÑBÔB‰
ˆˆdÝ�$˜ÑÔð 	# ð>Ø%Ð%Ð%Ð%Ð%Ð%Ð%øÝð >ð >ð >Ý!Õ"3Ñ4Ô4¸#Ð=øøøøð>øøøõ ˜$‘-”-ˆCØ—
’
˜3‘”ˆAØ�FŠF�2�zÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð ˆs6   ÁB9ÁAÁB9Á
A0ÁA+Á+A0Á0=B9Â9B=Ã B=c                 óT  — |                       |d¦  «        \  }}t          |d¦  «        5 }t          ¦   «         }g }|j                             ¦   «         }|D ];\  }}	|t
          v r-|                     |	d                              ¦   «         ¦  «         Œ<t          |¦  «        dk    rd}
t          |
¦  «        ‚t          |¦  «        dk    r@| 
                    |d                              ¦   «                              d¦  «        ¦  «         | 
                    |j                             ¦   «         ¦  «         |                     d¦  «         t          |¦  «        }|                     ¦   «         }t!          |¦  «        }|                     |¦  «         ddd¦  «         n# 1 swxY w Y   |S )	zSave a JBIG2 encoded imagez.jb2rg   ÚJBIG2Globalsr#   zWThere should never be more than one JBIG2Globals associated with a JBIG2 embedded imager   ó   
N)rm   rn   r   rX   rY   r   ÚappendÚresolver4   r   r6   rl   ÚrstriprE   r   Úget_segmentsr   Ú
write_file)r;   rT   rc   rQ   r   Úinput_streamÚglobal_streamsrb   Úfilter_nameÚparamsÚmsgÚreaderÚsegmentsÚwriters                 r   r^   zImageWriter._save_jbig2½   sÕ  € à×3Ò3°E¸6ÑBÔB‰
ˆˆdÝ�$˜ÑÔð 	( Ý"™9œ9ˆLàˆNØ”l×.Ò.Ñ0Ô0ˆGØ'.ð Lð LÑ#�˜VØÕ"7Ð7Ð7Ø"×)Ò)¨&°Ô*@×*HÒ*HÑ*JÔ*JÑKÔKÐKøå�>Ñ"Ô" QÒ&Ð&ð=ð õ $ CÑ(Ô(Ð(Ý�>Ñ"Ô" aÒ'Ð'Ø×"Ò" >°!Ô#4×#=Ò#=Ñ#?Ô#?×#FÒ#FÀuÑ#MÔ#MÑNÔNÐNØ×Ò˜uœ|×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø×Ò˜aÑ Ô Ð Ý& |Ñ4Ô4ˆFØ×*Ò*Ñ,Ô,ˆHå& rÑ*Ô*ˆFØ×Ò˜hÑ'Ô'Ð'ð/	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð0 ˆs   ªE'FÆF!Æ$F!r    r!   Úbytes_per_liner   c           	      óT  — |                       |d¦  «        \  }}t          |d¦  «        5 }t          ||||¦  «        }	|j                             ¦   «         }
d}t          |¦  «        D ](}|	                     ||
|||z   …         ¦  «         ||z  }Œ)	 ddd¦  «         n# 1 swxY w Y   |S )zSave a BMP encoded imagez.bmprg   r   N)rm   rn   r   rX   rl   r7   rF   )r;   rT   r    r!   rŒ   r   rc   rQ   r   ÚbmprC   r@   rB   s                r   r_   zImageWriter._save_bmpÚ   sú   € ð ×3Ò3°E¸6ÑBÔB‰
ˆˆdÝ�$˜ÑÔð 	$ Ý˜B  e¨VÑ4Ô4ˆCØ”<×(Ò(Ñ*Ô*ˆDØˆAÝ˜6‘]”]ð $ð $�Ø—’˜q $ q¨1¨~Ñ+=Ð'=Ô">Ñ?Ô?Ð?Ø�^Ñ#��ð$ð		$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$ð ˆs   ªA&BÂB!Â$B!c                 óÆ  — |                       |d¦  «        \  }}|j        \  }}t          |j                             ¦   «         ¦  «        |z  |z  |j        dz  z  }t          |d¦  «        5 }	 ddlm}m	}	 n'# t          $ r}
t          t          ¦  «        |
‚d}
~
ww xY w|j        dk    rd}n;|j        dk    r	|dk    rd	}n'|j        dk    r	|d
k    rd}n|j        dk    r|dk    rd}|                     ||j        |j                             ¦   «         d¦  «        }|d	k    r|	                     |¦  «        }|                     |¦  «         ddd¦  «         n# 1 swxY w Y   |S )z*Save an image without encoding, just bytesrf   r%   rg   r   )rh   ÚImageOpsNr#   Ú1ÚLr   rj   r   ÚCMYKÚraw)rm   rW   r4   rX   rl   r   rn   ro   rh   r�   rp   rq   Ú	frombytesrr   rt   )r;   rT   rc   rQ   r    r!   Úchannelsr   rh   r�   ru   Úmoderw   s                r   rZ   zImageWriter._save_bytesí   sÕ  € à×3Ò3°E¸6ÑBÔB‰
ˆˆdØœ‰ˆˆvÝ�u”|×,Ò,Ñ.Ô.Ñ/Ô/°%Ñ7¸&Ñ@ÀEÄJÐQRÁNÑSˆÝ�$˜ÑÔð 	 ð>ðð ð ð ð ð ð ð ð øõ ð >ð >ð >Ý!Õ"3Ñ4Ô4¸#Ð=øøøøð>øøøð Œz˜QŠˆØ��Ø”˜q’� X°¢] ]Ø��Ø”˜q’� X°¢] ]Ø��Ø”˜q’� X°¢] ]Ø�à—/’/ $¨¬°u´|×7LÒ7LÑ7NÔ7NÐPUÑVÔVˆCØ�sŠ{ˆ{Ø—o’o cÑ*Ô*�à�HŠH�R‰LŒLˆLð/	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð2 ˆs7   Á+EÁ-A6Á5EÁ6
BÂ BÂBÂB0EÅEÅEc                 ó.  — d|j         › d|j        d         › d|j        d         › d�}|                      ||¦  «        \  }}t          |d¦  «        5 }|                     |j                             ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   |S )z#Save an image with unknown encodingú.r   r   r#   z.imgrg   N)r   rW   rm   rn   r6   rX   rl   )r;   rT   Úextrc   rQ   r   s         r   ra   zImageWriter._save_raw  sÒ   € àH�%”*ÐHÐH˜uœ}¨QÔ/ÐHÐH°%´-ÀÔ2BÐHÐHÐHˆØ×3Ò3°E¸3Ñ?Ô?‰
ˆˆdå�$˜ÑÔð 	. Ø�HŠH�U”\×*Ò*Ñ,Ô,Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.àˆs   Á-B
Â
BÂBc                 ó`   — | j                              ¦   «         }|D ]\  }}|t          v r dS ŒdS )NTF)rX   rY   r   )rT   rb   r†   Ú_paramss       r   r]   zImageWriter._is_jbig2_iamge  sF   € à”,×*Ò*Ñ,Ô,ˆØ$+ð 	ð 	Ñ ˆK˜ØÕ3Ð3Ð3Ø�t�tð 4àˆur   rš   c                 óX  — |j         |z   }t          j                             | j        |¦  «        }d}t          j                             |¦  «        rW|j         › d|› |› �}t          j                             | j        |¦  «        }|dz  }t          j                             |¦  «        °W||fS )Nr   r™   r#   )rc   rP   rQ   ÚjoinrN   rR   )r;   rT   rš   rc   rQ   Ú	img_indexs         r   rm   z%ImageWriter._create_unique_image_name  sž   € ØŒz˜CÑˆÝŒw�|Š|˜DœK¨Ñ.Ô.ˆØˆ	ÝŒg�nŠn˜TÑ"Ô"ð 	Ø”jÐ3Ð3 9Ð3¨cÐ3Ð3ˆDÝ”7—<’< ¤¨TÑ2Ô2ˆDØ˜‰NˆIõ Œg�nŠn˜TÑ"Ô"ð 	ð �TˆzÐr   )rG   rH   rI   Ú__doc__r5   rA   r   rd   r[   r\   r^   rJ   r_   rZ   ra   ÚstaticmethodÚboolr]   Útuplerm   r   r   r   rM   rM   _   s¼  € € € € € ðð ð
%˜sð % tð %ð %ð %ð %ð
' 'ð '¨cð 'ð 'ð 'ð 'ðR ð ¨Cð ð ð ð ð, Gð °ð ð ð ð ð( ð ¨Sð ð ð ð ð:àðð ðð ð	ð
 ðð ðð 
ðð ð ð ð& ð ¨Sð ð ð ð ð@˜wð ¨3ð ð ð ð ð ð˜wð ¨4ð ð ð ñ „\ðð¨wð ¸Sð ÀUÈ3ÐPSÈ8Ä_ð ð ð ð ð ð r   rM   )rP   Úos.pathr2   Úior   Útypingr   r   Úpdfminer.jbig2r   r   Úpdfminer.layoutr   Úpdfminer.pdfcolorr	   r
   r   r   r   Úpdfminer.pdfexceptionsr   Úpdfminer.pdftypesr   r   r   r   rq   rJ   r   r   rM   r   r   r   ú<module>r¬      s›  ðØ 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $à ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø #Ð #Ð #Ð #Ð #Ð #ðð ð ð ð ð ð ð ð ð ð ð ð ð ð 1Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð ð ð ð ð ð/ð ðˆsð �sð ð ð ð ð9ð 9ð 9ð 9ð 9ñ 9ô 9ð 9ðxGð Gð Gð Gð Gñ Gô Gð Gð Gð Gr   