Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/PIL/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/PIL/__pycache__/MspImagePlugin.cpython-312.pyc

�

&ٜg����ddlmZddlZddlZddlmZddlmZmZddl	m
Zddl	mZ
dd�ZGd	�d
ej�ZGd�dej �Zej$d
e�dd�Zej(ej*ee�ej,ej*e�ej.ej*d�y)�)�annotationsN)�IO�)�Image�	ImageFile)�i16le)�o16lec��|dddvS)N�)�DanMsLinS�)�prefixs �=/usr/local/lib/python3.12/site-packages/PIL/MspImagePlugin.py�_acceptr's���"�1�:�+�+�+�c��eZdZdZdZdd�Zy)�MspImageFile�MSPz
Windows Paintc���|j�J�|jjd�}t|�s
d}t|��d}t	ddd�D]}|t||�z}�|dk7r
d}t|��d|_t|d�t|d�f|_|ddd	k(r,tjd
d|jzdd�g|_ytjdd|jzd�g|_y)
N� znot an MSP filer�zbad MSP checksum�1r�r�raw�rrr)�fp�readr�SyntaxError�range�i16�_mode�_sizer�_Tile�size�tile)�self�s�msg�checksum�is     r�_openzMspImageFile._open4s����w�w�"�"�"��G�G�L�L�����q�z�#�C��c�"�"����q�"�a��A��#�a��)�+�H�!��q�=�$�C��c�"�"���
���A�Y��A�q�	�)��
��R�a�5�G��"��������0B�B��L�M�D�I�"��������0B�B�G�H�D�IrN)�return�None)�__name__�
__module__�__qualname__�format�format_descriptionr+r
rrrr0s��
�F�(��Irrc��eZdZdZdd�Zy)�
MspDecoderTc� �|j�J�tj�}td|jj
dzdzz�}	|jj
d�tjd|jj�d�|jj|jjdz��}t|�D]�\}}	|d	k(r|j|��|jj|�}	t|	�|k7rd
|�d|��}t|��d	}
|
|krg|	|
}|
dz
}
|d	k(r4tjd
|	|
�\}}
|j|
|z�|
dz
}
n|}|j|	|
|
|z�|
|z
}
|
|kr�g��|j!|j#�d�y#tj$r}d}t|�|�d}~wwxYw#tj$r}d|��}t|�|�d}~wwxYw)N)���r�<�HrzTruncated MSP file in row maprzTruncated MSP file, expected z bytes on row r�BczCorrupted MSP file in row r)���r)�fd�io�BytesIO�	bytearray�state�xsize�seek�struct�unpack_from�ysizer�error�OSError�	enumerate�write�len�
set_as_raw�getvalue)r&�buffer�img�
blank_line�rowmap�er(�x�rowlen�row�idx�runtype�runcount�runvals              r�decodezMspDecoder.decodess����w�w�"�"�"��j�j�l���w�4�:�:�+;�+;�a�+?�A�*E�F�G�
�	&��G�G�L�L����'�'��D�J�J�$�$�%�Q�'������d�j�j�6F�6F��6J�)K��F�#�6�*�I�A�v�
*��Q�;��I�I�j�)���g�g�l�l�6�*���s�8�v�%�9�&���PQ�s�S�C�!�#�,�&����F�l�!�#�h�G��1�H�C��!�|�-3�-?�-?��c�3�-O�*��6��	�	�&�8�"3�4��q���#*���	�	�#�c�C�(�N�";�<��x����F�l��+�4	
��������,���A�|�|�	&�1�C��#�,�A�%��	&��4�<�<�
*�2�1�#�6���c�l��)��
*�s8�A9F;�G$�.B)G$�;G!�G�G!�$H
�7H�H
N)rNz$bytes | Image.SupportsArrayInterfacer,ztuple[int, int])r.r/r0�	_pulls_fdrZr
rrr4r4Ns��F�I�*rr4rc
��|jdk7rd|j�d�}t|��dgdz}td�td�c|d<|d<|j\|d	<|d
<d\|d<|d
<d\|d<|d<|j\|d<|d<d}|D]}||z}�	||d<|D]}|j	t|���t
j||t
jdd|jzdd�g�y)Nrzcannot write mode z as MSPr�sDasnMrr�)rrr�rr7r8�	�rrr)	�moderHr r$rJ�o16r�_saver#)�imr�filenamer(�headerr)�hs       rrdrd�s��	�w�w�#�~�"�2�7�7�)�7�3���c�l���S�2�X�F��u�:�s�5�z��F�1�I�v�a�y��7�7��F�1�I�v�a�y���F�1�I�v�a�y���F�1�I�v�a�y��7�7��F�1�I�v�a�y��H�
���a�<����F�2�J���
����Q�����O�O�B��Y�_�_�U�F�R�W�W�4D�b�#�N�O�Prz.msp)r�bytesr,�bool)rezImage.Imagerz	IO[bytes]rfzstr | bytesr,r-)�
__future__rr>rD�typingr�rr�_binaryrr r	rcrr�	PyDecoderr4�register_decoderrd�
register_openr1�
register_save�register_extensionr
rr�<module>rts���2#�	�
���!�!�,�I�9�&�&�I�<O��$�$�O�d����u�j�)�Q�<����L�'�'��w�?�����L�'�'��/������,�,�f�5r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists