403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /tmp/calpy/PIL/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /tmp/calpy/PIL/__pycache__/Jpeg2KImagePlugin.cpython-311.pyc
�

Υ=jG8���ddlmZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZdZerddl
mZddlmZGd	�d
��Zd&d�Zd'd�Zd(d�ZGd�de	j	��Zd)d�Zd*d#�Zejejee��ejeje��ejejgd$���ejejd%��dS)+�)�annotationsN)�cast�)�Image�	ImageFile�ImagePalette�_binaryF)�Callable)�IOc�L�eZdZdZddd	�Zdd�Zdd�Zdd�Zdd�Zdd�Z	dd�Z
dS)�	BoxReaderz}
    A small helper class to read fields stored in JPEG2000 header boxes
    and to easily step into and read sub-boxes.
    ����fp�	IO[bytes]�length�int�return�Nonec�F�||_|dk|_||_d|_dS)Nrr)r�
has_lengthr�remaining_in_box)�selfrrs   �H/tmp/claude-1015/pip-target-jmvfl800/lib/python/PIL/Jpeg2KImagePlugin.py�__init__zBoxReader.__init__%s)����� �A�+������ "������	num_bytes�boolc��|jr'|j���|z|jkrdS|jdkr||jkSdS)NFrT)rr�tellrr)rrs  r�	_can_readzBoxReader._can_read+sM���?�	�t�w�|�|�~�~�	�9�D�K�G�G��5�� �A�%�%��� 5�5�5��4r�bytesc�,�|�|��sd}t|���|j�|��}t	|��|kr%d|�dt	|���d�}t|���|jdkr|xj|zc_|S)NzNot enough data in headerzExpected to read z bytes but only got �.r)r �SyntaxErrorr�read�len�OSErrorr)rr�msg�datas    r�_read_byteszBoxReader._read_bytes5s����~�~�i�(�(�	#�-�C��c�"�"�"��w�|�|�I�&�&���t�9�9�y� � �Q�i�Q�Q�S��Y�Y�Q�Q�Q�C��#�,�,��� �1�$�$��!�!�Y�.�!�!��r�field_format�str�tuple[int | bytes, ...]c�~�tj|��}|�|��}tj||��S�N)�struct�calcsizer*�unpack)rr+�sizer)s    r�read_fieldszBoxReader.read_fieldsCs6����|�,�,������%�%���}�\�4�0�0�0rc�~�|j}|�|��}ttj|��|��Sr/)rr*r
�io�BytesIO)rr3r)s   r�
read_boxeszBoxReader.read_boxesHs7���$������%�%�����D�)�)�4�0�0�0rc�h�|jr*|j���|jz|jkSdS)NT)rrrrr)rs r�has_next_boxzBoxReader.has_next_boxMs0���?�	��7�<�<�>�>�D�$9�9�D�K�G�G��4rc���|jdkr*|j�|jtj��d|_ttttf|�	d����\}}|dkr1tt|�	d��d��}d}nd}||ks|�
||z
��sd}t|���||z
|_|S)	Nrrz>I4srz>Q��zInvalid header length)rr�seek�os�SEEK_CURr�tuplerr!r4r r$)r�lbox�tbox�hlenr(s     r�
next_box_typezBoxReader.next_box_typeSs���� �1�$�$��G�L�L��.���<�<�<� "����%��U�
�+�T�-=�-=�f�-E�-E�F�F�
��d��1�9�9���T�-�-�d�3�3�A�6�7�7�D��D�D��D��$�;�;�d�n�n�T�D�[�9�9�;�)�C��c�"�"�"� $�t�����rN)r)rrrrrr)rrrr)rrrr!)r+r,rr-)rr
)rr)rr!)�__name__�
__module__�__qualname__�__doc__rr r*r4r8r:rE�rrr
r
s���������
#�#�#�#�#���������1�1�1�1�
1�1�1�1�
���������rr
rrr�tuple[tuple[int, int], str]c��|�d��}tj|��}||�|dz
��z}tjd|��\}}}}}}}	}	}	}	}
||z
||z
f}|
dkr.tjd|d��}|ddzdzdkrd	}
n/d
}
n,|
dkrd}
n#|
dkrd
}
n|
dkrd}
nd}t|���||
fS)z�Parse the JPEG 2000 codestream to extract the size and component
    count from the SIZ marker segment, returning a PIL (size, mode) tuple.�z>HHIIIIIIIIHrz>B�&r�r=�I;16�L�LA��RGB��RGBAz"unable to determine J2K image mode)r%r	�i16ber0�unpack_fromr$)r�hdr�lsiz�siz�rsiz�xsiz�ysiz�xosiz�yosiz�_�csizr3�ssiz�moder(s               r�_parse_codestreamreis��
�'�'�!�*�*�C��=����D�

�����q��!�!�
!�C�=C�=O���>�>�:�D�$��d�E�5�!�Q��1�d�
�5�L�$��,�'�D��q�y�y��!�$��R�0�0����G�d�N�a��!�#�#��D�D��D�D�	
�������	
�������	
�������2���#������:�r�numr�denom�exp�float | Nonec�4�|dkrdSd|zd|zzd|zzS)z�Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution,
    calculated as (num / denom) * 10^exp and stored in dots per meter,
    to floating-point dots per inch.rN��
i'rJ)rfrgrhs   r�_res_to_dpirm�s.��
��z�z��t��#�I��S��!�e�e�m�4�4r�etuple[tuple[int, int], str, str | None, tuple[float, float] | None, ImagePalette.ImagePalette | None]c���t|��}d}d}|���rj|���}|dkr|���}n;|dkr!|�d��ddkrd}|����j|�J�d}d}d}d}d}	d}
d}|����r�|���}|dkr�|�d	��\}}
}}t|t��sJ�t|
t��sJ�t|t��sJ�|
|f}|d
kr
|dzdkrd
}�n�|d
krd}�n�|dkrd}�n�|dkrd}�n�|dkrd}�n�|dkrD|�d��\}}}}|d
kr"|dvrd}�n�|dkrd}|dkrd}�n�|dkrd}�n}|dk�rH|dv�rC|dv�r>|�d��\}}t|t��sJ�t|t��sJ�d}|�d d!|zz��D]!}t|t��sJ�||kr|}�"|dkr�|dkr|dkrdnd}nd}tj|��}
t|��D]p}g}|�d d!|zz��D].}t|t��sJ�|�	|���/|
�
t|�����q|dkrd"nd#}�n.|d$k�r'|���}|���r�|���}|d%kr�|�d&��\}}}}}} t|t��sJ�t|t��sJ�t|t��sJ�t|t��sJ�t|t��sJ�t| t��sJ�t||| ��}!t|||��}"|!�|"�|!|"f}	n|�����|������|�|�d'}#t|#���||||	|
fS)(z�Parse the JP2 header box to extract size, component count,
    color space information, and optionally DPI information,
    returning a (size, mode, mimetype, dpi) tuple.Nsjp2hsftypz>4srsjpx z	image/jpxsihdrz>IIHBrrOr=rPrQrMrRrSrTrUrVscolrz>BBBI)r��1��CMYK�spclr)rQrR)rqrQz>HB�>�B�P�PAsres srescz>HHHHBBzMalformed JP2 header)r
r:rEr8r4�
isinstancerr�range�append�getcolorrArmr$)$r�reader�header�mimetyperCr3rd�bpc�nc�dpi�palette�colr�height�width�methra�enumcs�ne�npc�max_bitdepth�bitdepth�palette_mode�i�color�value�res�tres�vrcn�vrcd�hrcn�hrcd�vrce�hrce�hres�vresr(s$                                    r�_parse_jp2_headerr��s6���r�]�]�F�
�F��H�
�
�
�
�
�'��#�#�%�%���7�?�?��&�&�(�(�F��
�W�_�_��!�!�%�(�(��+�w�6�6�&���
�
�
�
�'������D��D�
�C�	
�B�
�C��G��D�
�
�
�
�
�D��#�#�%�%���7�?�?�%+�%7�%7��%@�%@�"�F�E�2�s��f�c�*�*�*�*�*��e�S�)�)�)�)�)��c�3�'�'�'�'�'��6�?�D��Q�w�w�C�$�J�!�+�+�����q�������q�������q�������q������
�W�_�_�!'�!3�!3�G�!<�!<��D�!�Q���q�y�y��W�$�$��D�D��r�\�\�!�D��Q�w�w�%����r�\�\��D��
�W�_�_���!4�!4��Z�9O�9O��(�(��/�/�G�B���b�#�&�&�&�&�&��c�3�'�'�'�'�'��L�"�.�.�s�c�C�i�/@�A�A�
,�
,��!�(�C�0�0�0�0�0��l�*�*�#+�L���q� � ��!�8�8�-1�V�^�^�6�6��L�L�#(�L�&�3�L�A�A���r���3�3�A�')�E�!'�!3�!3�C�3��9�4E�!F�!F�,�,��)�%��5�5�5�5�5����U�+�+�+�+��$�$�U�5�\�\�2�2�2�2�"�c�k�k�s�s�t���
�W�_�_��#�#�%�%�C��"�"�$�$�
��(�(�*�*���7�?�?�9<����9S�9S�6�D�$��d�D�$�%�d�C�0�0�0�0�0�%�d�C�0�0�0�0�0�%�d�C�0�0�0�0�0�%�d�C�0�0�0�0�0�%�d�C�0�0�0�0�0�%�d�C�0�0�0�0�0�&�t�T�4�8�8�D�&�t�T�4�8�8�D��'�D�,<�#�T�l����"�"�$�$�
�m�
�
�
�
�D�L�|�t�|�$���#������x��g�-�-rc�r��eZdZdZdZdd�Zdd�Zed�fd���Zej	dd���Zdd
�Z
�xZS)�Jpeg2KImageFile�JPEG2000zJPEG 2000 (ISO 15444)rrc
��|j�J�|j�d��}|dkr>d|_t|j��\|_|_|����n||j�d��z}|dkr�d|_t|j��}|\|_|_|_}|_	|�
||j
d<|j�d���d	��rj|j�d
��}tj
|��}|j�|d
z
tj��|���nd}t#|���d|_d|_d
}d
}	|j���}tj|��j}n�#t.$r�d
}	|j���}|j�dt2j��|j���}|j�|��n#t.$rd
}YnwxYwYnwxYwt7jdd|jzd|j|j|j||f��g|_dS)NrU��O�Q�j2kr=�jP  
�
�jp2r�rrsjp2c�O�QrMznot a JPEG 2000 filerr�jpeg2k�rr)rr%�codecre�_size�_mode�_parse_commentr��custom_mimetyper��info�endswithr	rWr>r?r@r$�_reduce�layers�fileno�fstat�st_size�	Exceptionrr6�SEEK_ENDr�_Tiler3�tile)	r�sigr~r�rYrr(�fd�poss	         r�_openzJpeg2KImageFile._open
sd���w�"�"�"��g�l�l�1�o�o���%�%�%��D�J�%6�t�w�%?�%?�"�D�J��
����!�!�!�!������Q���'�C��=�=�=�"��
�*�4�7�3�3��RX�O��
�D�J��(<�c�4�<��?�'*�D�I�e�$��7�<�<��#�#�,�,�-D�E�E�*��'�,�,�q�/�/�C�$�]�3�/�/�F��G�L�L��!��R�[�9�9�9��'�'�)�)�)��,��!�#�&�&�&�������
����	�����!�!�B��X�b�\�\�)�F�F���	�	�	��B�
��g�l�l�n�n������Q���,�,�,������������S�!�!�!�!���
�
�
�����
������	����
�O�����"����T�\�4�;��F�C�	
�
�
��	�	�	s7�
2F=�=I�
A1H<�;I�<I�I�
I�I�Ic��|j�J�	|j�d��}|sdS|d}|dvrdS|j�d��}tj|��}|dkr/|j�|dz
��dd�|jd<dS|j�|dz
tj����)NTrMr)����d�comment)rr%r	rWr�r>r?r@)r�marker�typrYrs     rr�zJpeg2KImageFile._parse_comment?s����w�"�"�"�	6��W�\�\�!�_�_�F��
�����)�C��l�"�"����'�,�,�q�/�/�C��]�3�'�'�F��d�{�{�'+�w�|�|�F�Q�J�'?�'?����'C��	�)�$�������V�a�Z���5�5�5�	6r�VCallable[[int | tuple[int, int], tuple[int, int, int, int] | None], Image.Image] | intc�8��|jpt��jSr/)r��super�reduce)r�	__class__s �rr�zJpeg2KImageFile.reduceRs����|�-�u�w�w�~�-rr�rc��||_dSr/)r�)rr�s  rr�zJpeg2KImageFile.reduce^s
������r�Image.core.PixelAccess | Nonec�$�|jr�|jr�d|jz}|dz	}t|jd|z|z��t|jd|z|z��f|_|jd}t|dt��sJ�|dd|j|j|dd|ddf}tj	|dd|jz|d|��g|_tj�
|��S)NrrrSrUr�rM)r�r�rr3r�ryrAr�rr��load)r�power�adjust�t�t3s     rr�zJpeg2KImageFile.loadbs����9�	N���	N����%�E��a�Z�F��T�Y�q�\�F�*�e�3�4�4��T�Y�q�\�F�*�e�3�4�4��D�J��	�!��A��a��d�E�*�*�*�*�*��A�$�q�'�4�<���a��d�1�g�q��t�A�w�G�B�"���1��v��	�/A�1�Q�4��L�L�M�D�I��"�'�'��-�-�-r)rr)rr�)r�rrr)rr�)rFrGrH�format�format_descriptionr�r��propertyr��setterr��
__classcell__)r�s@rr�r�s��������
�F�0��3
�3
�3
�3
�j6�6�6�6�&�	.�	.�	.�	.�	.��X�	.��]�����]��.�.�.�.�.�.�.�.rr��prefixr!rc�,�|�d��S)N)r�r�)�
startswith)r�s r�_acceptr�ts�����F���r�im�Image.Image�filename�str | bytesrc�D�|j}t|t��r|���}|�d��s|�dd��rd}nd}|�dd��}|�dd��}|�dd��}|�d	d
��}|�dd��}	|	�Ft|	ttf��rtd�|	D����sd
}
t|
���|�dd��}|�dd��}|�dd��}
|�dd��}|�dd��}|�dd��}|�dd��}|�dd��}|�d��}t|t��r|���}|�dd��}d}t|d��r(	|���}n#t$rd}YnwxYw|||||	|||
||||||||f|_
tj||tjdd|jzd|��g��dS)Ns.j2k�no_jp2Fr�r��offset�tile_offset�	tile_size�quality_mode�rates�quality_layersc3�NK�|] }t|ttf��V��!dSr/)ryr�float)�.0�
quality_layers  r�	<genexpr>z_save.<locals>.<genexpr>�sA����
�
�8E�J�}�s�E�l�3�3�
�
�
�
�
�
rz,quality_layers must be a sequence of numbers�num_resolutionsr�codeblock_size�
precinct_size�irreversible�progression�LRCP�cinema_mode�no�mct�signedr��pltrr�r�r�)�encoderinforyr,�encoder��get�listrA�all�
ValueError�hasattrr�r��
encoderconfigr�_saver�r3)r�rr�r��kindr�r�r�r�r�r(r��	cblk_sizer�r�r�r�r�r�r�r�r�s                      rr�r�~s���
�>�D��(�C� � �%��?�?�$�$������!�!��T�X�X�h��%>�%>�������
�X�X�h��
%�
%�F��(�(�=�$�/�/�K�����d�+�+�I��8�8�N�G�4�4�L��X�X�.��5�5�N��!��>�D�%�=�1�1�"��
�
�IW�
�
�
�
�
�"�=����o�o���h�h�0�!�4�4�O����)�4�0�0�I��H�H�_�d�3�3�M��8�8�N�E�2�2�L��(�(�=�&�1�1�K��(�(�=�$�/�/�K�
�(�(�5�!�
�
�C�
�X�X�h��
&�
&�F��h�h�y�!�!�G��'�3���#��.�.�"�"��
�(�(�5�%�
 �
 �C�	�B��r�8����	������B�B���	�	�	��B�B�B�	����	�������������
���!�B��&�O�B��Y�_�X�v���7G��D�Q�Q�R�S�S�S�S�Ss�.I�I�I)z.jp2z.j2kz.jpcz.jpfz.jpxz.j2cz	image/jp2)rrrrK)rfrrgrrhrrri)rrrrn)r�r!rr)r�r�rrr�r�rr)�
__future__rr6r?r0�typingr�rrrr	�
TYPE_CHECKING�collections.abcr
rr
rermr�r�r�r��
register_openr��
register_save�register_extensions�
register_mimerJrr�<module>rs��� #�"�"�"�"�"�	�	�	�	�	�	�	�	�
�
�
�
�������5�5�5�5�5�5�5�5�5�5�5�5��
���(�(�(�(�(�(�������G�G�G�G�G�G�G�G�T����>5�5�5�5�n.�n.�n.�n.�jk.�k.�k.�k.�k.�i�)�k.�k.�k.�\����@T�@T�@T�@T�N���O�*�O�W�E�E�E����O�*�E�2�2�2������L�L�L�������O�*�K�8�8�8�8�8r

Youez - 2016 - github.com/yon3zu
LinuXploit