Ë
    Ì[;jB  ã                  óÒ  — d Z ddlmZ g d¢ZddlmZmZ ddlZerddlmZm	Z	 ddl
mZmZmZ 	 ddlZ	 d'ddœ	 	 	 	 	 	 	 d(d	„Zddœd)d
„Z	 ddlZ	 d'ddœ	 	 	 	 	 	 	 d(d„Zddœd)d„Z	 ddlmZ 	 d'ddœ	 	 	 	 	 	 	 d(d„Zddœd)d„Zddœd*d„Ze	 	 d+ddœ	 	 	 	 	 	 	 	 	 d,d„«       Ze	 d+ddœ	 	 	 	 	 	 	 	 	 d-d„«       Z	 	 d+ddœ	 	 	 	 	 	 	 	 	 d.d„Ze	 	 	 	 	 	 	 	 	 	 d,d„«       Ze	 	 	 	 	 	 	 	 	 	 d-d„«       Z	 	 d+ddœ	 	 	 	 	 	 	 	 	 d.d„Zedg dœ	 	 	 	 	 	 	 d/d„«       Zedg dœ	 	 	 	 	 	 	 d0d „«       Zedg dœ	 	 	 	 	 	 	 d1d!„«       Zdg dœ	 	 	 	 	 	 	 d2d"„Z	 d3ddœ	 	 	 	 	 	 	 	 	 	 	 d4d#„Zddd$œ	 	 	 	 	 	 	 	 	 d5d%„Z	 	 	 	 	 	 d6d&„Zy# e$ r 	 d'ddœ	 	 	 	 	 	 	 d(d„Zddœd)d„ZY �ŒVw xY w# e$ r 	 d'ddœ	 	 	 	 	 	 	 d(d„Zddœd)d„ZY �Œ]w xY w# e$ r 	 d'ddœ	 	 	 	 	 	 	 d(d„Zddœd)d„ZY �Œbw xY w)7a   Fallback imagecodecs codecs.

This module provides alternative, pure Python and NumPy implementations of
some functions of the `imagecodecs`_ package. The functions may raise
`NotImplementedError`.

.. _imagecodecs: https://github.com/cgohlke/imagecodecs

é    )Úannotations)Úbitorder_decodeÚdelta_decodeÚdelta_encodeÚfloat24_decodeÚlzma_decodeÚlzma_encodeÚpackbits_decodeÚpackints_decodeÚpackints_encodeÚzlib_decodeÚzlib_encodeÚzstd_decodeÚzstd_encode)ÚTYPE_CHECKINGÚoverloadN)ÚAnyÚLiteral)Ú	ArrayLikeÚ	DTypeLikeÚNDArray©Úoutc              ó„   — ~~t        | t        j                  «      r| j                  «       } t	        j
                  | «      S )z½Compress LZMA.

        Parameters:
            data: Data to compress.
            level: Compression level (currently unused).
            out: Output buffer (currently unused).

        )Ú
isinstanceÚnumpyÚndarrayÚtobytesÚlzmaÚcompress©ÚdataÚlevelr   s      ú^G:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\tifffile/_imagecodecs.pyr	   r	   H   s1   € ð �3Ü�dœEŸM™MÔ*Ø—<‘<“>ˆDÜ�}‰}˜TÓ"Ð"ó    c              ó.   — ~t        j                  | «      S )z…Decompress LZMA.

        Parameters:
            data: Compressed data.
            out: Output buffer (currently unused).

        )r   Ú
decompress©r"   r   s     r$   r   r   \   ó   € ð Ü�‰˜tÓ$Ð$r%   c              ó   — ~ ~~ddl }y©úRaise ImportError.r   Nr%   ©r   )r"   r#   r   r   s       r$   r	   r	   i   ó   € ð �%˜Ûàr%   c              ó   — ~ ~ddl }yr+   r-   )r"   r   r   s      r$   r   r   v   ó   € à�#Ûàr%   c              ó”   — ~t        | t        j                  «      r| j                  «       } t	        j
                  | |€d«      S |«      S )zÃCompress Zlib DEFLATE.

        Parameters:
            data: Data to compress.
            level: Compression level (0-9, default 6).
            out: Output buffer (currently unused).

        é   )r   r   r   r   Úzlibr    r!   s      r$   r   r   �   s=   € ð Ü�dœEŸM™MÔ*Ø—<‘<“>ˆDÜ�}‰}˜T¨¨ 1ÓAÐA¸5ÓAÐAr%   c              ó.   — ~t        j                  | «      S )z�Decompress Zlib DEFLATE.

        Parameters:
            data: Compressed data.
            out: Output buffer (currently unused).

        )r3   r'   r(   s     r$   r   r   •   r)   r%   c              ó   — ~ ~~ddl }yr+   ©r3   )r"   r#   r   r3   s       r$   r   r   £   r.   r%   c              ó   — ~ ~ddl }yr+   r6   )r"   r   r3   s      r$   r   r   °   r0   r%   ©Úzstdc              ó†   — ~t        | t        j                  «      r| j                  «       } t	        j
                  | |¬«      S )zªCompress ZSTD.

        Parameters:
            data: Data to compress.
            level: Compression level.
            out: Output buffer (currently unused).

        )r#   )r   r   r   r   r9   r    r!   s      r$   r   r   »   s1   € ð Ü�dœEŸM™MÔ*Ø—<‘<“>ˆDÜ�}‰}˜T¨Ô/Ð/r%   c              ó.   — ~t        j                  | «      S )z…Decompress ZSTD.

        Parameters:
            data: Compressed data.
            out: Output buffer (currently unused).

        )r9   r'   r(   s     r$   r   r   Ï   r)   r%   c              ó   — ~ ~~ddl m} y©r,   r   r8   r%   ©Úcompressionr9   )r"   r#   r   r9   s       r$   r   r   Ü   s   € ð �%˜Ý$àr%   c              ó   — ~ ~ddl m} yr=   r>   )r"   r   r9   s      r$   r   r   é   s   € à�#Ý$àr%   c              óü   — ~g }|j                   }d}	 	 t        | ||dz    «      dz   }|dz  }|dkD  r || ||dz    d|z
  z  «       |dz  }n|dk  r || |||z    «       ||z  }ŒQ# t        $ r Y t        |«      S w xY w)a  Decompress PackBits encoded byte string.

    Parameters:
        encoded: PackBits encoded byte string.
        out: Output buffer (currently unused).

    Returns:
        Decompressed byte string.

    Examples:
        >>> packbits_decode(b'\x80\x80')  # NOP
        b''
        >>> packbits_decode(b'\x02123')
        b'123'
        >>> packbits_decode(
        ...     b'\xfe\xaa\x02\x80\x00\x2a\xfd\xaa\x03\x80\x00\x2a\x22\xf7\xaa'
        ... )[:-5]
        b'\xaa\xaa\xaa\x80\x00*\xaa\xaa\xaa\xaa\x80\x00*"\xaa\xaa\xaa\xaa\xaa'

    r   é   é�   i  )ÚextendÚordÚ	TypeErrorÚbytes)Úencodedr   Ú
out_extendÚiÚns        r$   r
   r
   ñ   s·   € ð* 	Ø
€CØ—‘€JØ	€AðØÜ�G˜A  A¡Ð&Ó'¨!Ñ+ˆAØ�‰FˆAØ�3Šwá˜7 1 q¨1¡uÐ-°°q±Ñ9Ô:Ø�Q‘‘Ø�S’á˜7 1 q¨1¡uÐ-Ô.Ø�Q‘�ð øô ò ØÜ�‹:Ððús   “AA% Á%	A;Á:A;éÿÿÿÿc               ó   — y ©N© ©r"   ÚaxisÚdistr   s       r$   r   r     s   € ð r%   c               ó   — y rN   rO   rP   s       r$   r   r   &  ó   € ð r%   c              óH  — ~|dk7  rd|›d�}t        |«      ‚t        | t        t        f«      rdt	        j
                  | t        j                  ¬«      } t	        j                  | d¬«      }t	        j                  |d| d   «      j                  «       S | j                  }|j                  dk(  r*| j                  |j                  › d|j                  › �«      } t	        j                  | |¬«      }t        d	«      g| j                   z  }d||<   t	        j                  |d| t#        |«         |¬«      }| j                  j$                  s;|j'                  d
¬«      }|j                  |j                  j)                  «       «      }|j                  dk(  r|j                  |«      S |S )a¤  Encode Delta.

    Encode differences between consecutive samples along axis.

    Parameters:
        data: Data to encode.
        axis: Axis along which to compute differences (default -1).
        dist: Distance between samples (only dist=1 is supported).
        out: Output buffer (currently unused).

    Returns:
        Encoded data.
        Returns bytes for bytes/bytearray input, numpy array otherwise.

    rB   zdelta_encode with dist=ú# requires the 'imagecodecs' package©Údtyper   )rQ   ÚfÚuNT)Úinplace)ÚNotImplementedErrorr   rG   Ú	bytearrayr   Ú
frombufferÚuint8ÚdiffÚinsertr   rX   ÚkindÚviewÚ	byteorderÚitemsizeÚsliceÚndimÚtupleÚisnativeÚbyteswapÚnewbyteorder)r"   rQ   rR   r   Úmsgr`   rX   Úkeys           r$   r   r   ,  sW  € ð. 	Øˆq‚yØ( 4 'Ð)LÐMˆÜ! #Ó&Ð&Ü�$œ¤	Ð*Ô+Ü×Ñ ¬E¯K©KÔ8ˆÜ�z‰z˜$ QÔ'ˆÜ�|‰|˜D ! T¨!¡WÓ-×5Ñ5Ó7Ð7à�J‰J€EØ‡z�z�SÒØ�y‰y˜EŸO™OÐ,¨A¨e¯n©nÐ-=Ð>Ó?ˆÜ�:‰:�d Ô&€DÜ# D›k˜]¨T¯Y©YÑ6€CØ€Cˆ�IÜ�<‰<˜˜a ¤e¨C£jÑ!1¸Ô=€DØ�:‰:×ÒØ�}‰} Tˆ}Ó*ˆØ�y‰y˜Ÿ™×0Ñ0Ó2Ó3ˆØ‡z�z�SÒØ�y‰y˜ÓÐØ€Kr%   c               ó   — y rN   rO   rP   s       r$   r   r   [  s   € ð r%   c               ó   — y rN   rO   rP   s       r$   r   r   a  rT   r%   c              ó  — |dk7  rd|›d�}t        |«      ‚|�|j                  j                  sd}t        | t        t
        f«      rZt        j                  | t        j                  ¬«      } t        j                  | dt        j                  |¬«      j                  «       S | j                  j                  dk(  r¬| j                  j                  sd	| j                  ›d�}t        |«      ‚| j                  | j                  j                  › d
| j                  j                   › �«      }t        j                  |||j                  ¬«      }|j                  | j                  «      S t        j                  | || j                  |¬«      S )a¥  Decode Delta.

    Decode delta-encoded data by computing cumulative sum along axis.

    Parameters:
        data: Encoded data.
        axis: Axis along which to compute cumulative sum (default -1).
        dist: Distance between samples (only dist=1 is supported).
        out: Output buffer for results.

    Returns:
        Decoded data.
        Returns bytes for bytes/bytearray input, numpy array otherwise.

    rB   zdelta_decode with dist=rV   NrW   r   )rQ   rX   r   rY   zdelta_decode with rZ   )rQ   rX   )r\   ÚflagsÚ	writeabler   rG   r]   r   r^   r_   Úcumsumr   rX   rb   ri   rc   rd   re   )r"   rQ   rR   r   rl   rc   s         r$   r   r   g  sA  € ð. ˆq‚yØ( 4 'Ð)LÐMˆÜ! #Ó&Ð&Ø
€˜sŸy™y×2Ò2ØˆÜ�$œ¤	Ð*Ô+Ü×Ñ ¬E¯K©KÔ8ˆÜ�|‰|Ø�q¤§¡°ô
ç
‰'‹)ð	ð ‡z�z‡�˜#ÒØ�z‰z×"Ò"à$ T§Z¡Z Nð 35ð 5ð ô & cÓ*Ð*Ø�y‰y˜DŸJ™J×0Ñ0Ð1°°4·:±:×3FÑ3FÐ2GÐHÓIˆÜ�|‰|˜D t°4·:±:Ô>ˆØ�y‰y˜Ÿ™Ó$Ð$Ü�<‰<Ø�4˜tŸz™z¨sôð r%   )r   Ú	_bitorderc               ó   — y rN   rO   ©r"   r   rt   s      r$   r   r   —  s   € ð r%   c               ó   — y rN   rO   rv   s      r$   r   r   ¡  s   € ð r%   c               ó   — y rN   rO   rv   s      r$   r   r   «  s   € ð r%   c              óˆ  — ~|sH|j                  d«       |j                  t        j                  |d   t        j                  ¬«      «       t	        | t
        t        f«      r| j                  |d   «      S 	 | j                  d«      }t        j                  |d   ||¬«       | S # t        $ r}d}t        |«      |‚d}~ww xY w)	aé  Reverse bits in each byte of bytes or numpy array.

    Decode data where pixels with lower column values are stored in the
    lower-order bits of the bytes (TIFF FillOrder is LSB2MSB).

    Parameters:
        data:
            Data to be bit-reversed.
            If bytes type, a new bit-reversed bytes is returned.
            NumPy arrays are bit-reversed in-place.
        out:
            Output buffer (currently unused).
        _bitorder:
            Internal caching parameter (not for public use).

    Examples:
        >>> bitorder_decode(b'\x01\x64')
        b'\x80&'
        >>> data = numpy.array([1, 666], dtype='uint16')
        >>> _ = bitorder_decode(data)
        >>> data
        array([  128, 16473], dtype=uint16)

    s    €@À  `à�PÐ0°pðˆHÈ(¨hè˜XØ8¸xø„DÄ$¤dä”TÔ4´tôŒLÌ,¬lìœ\Ü<¼|ü‚BÂ"¢bâ’RÒ2²rò
ŠJÊ*ªjêšZÚ:ºzú†FÆ&¦fæ–VÖ6¶vöŽNÎ.®nîž^Þ>¾~þ�AÁ!¡aá‘QÑ1±qñ	‰IÉ)©ié™YÙ9¹yù…EÅ%¥eå•UÕ5µuõ�MÍ-­mí�]Ý=½}ýƒCÃ#£cã“SÓ3³só‹KË+«kë›[Û;»{û‡GÇ'§gç—W×7·w÷�OÏ/¯oïŸ_ß?¿ÿr   rW   r_   rB   r   z<bitorder_decode of slices requires the 'imagecodecs' packageN)Úappendr   r^   r_   r   rG   r]   Ú	translaterc   ÚtakeÚ
ValueErrorr\   )r"   r   rt   rc   Úexcrl   s         r$   r   r   µ  s¶   € ð> 	ÙØ×Ñð!ô	
ð  	×Ñœ×)Ñ)¨)°A©,¼e¿k¹kÔJÔKÜ�$œ¤	Ð*Ô+Ø�~‰~˜i¨™lÓ+Ð+ð0Ø�y‰y˜Ó!ˆÜ�
‰
�9˜Q‘< ¨4Õ0ð €Køô ò 0ØLˆÜ! #Ó&¨CÐ/ûð0ús   Á7,B% Â%	CÂ.B<Â<Cc              ó\  — ~|dk(  r|t        j                  | d«      }t        j                  |«      }|dkD  r;|dz  r6|j                  d|d|dz  z
  z   f«      }|dd…d|…f   j                  d«      }|j	                  |«      S |dv rt        j                  | |«      S d|› d	�}t        |«      ‚)
a®  Decompress bytes to array of integers.

    This implementation only handles itemsizes 1, 8, 16, 32, and 64 bits.
    Install the Imagecodecs package for decoding other integer sizes.

    Parameters:
        data:
            Data to decompress.
        dtype:
            Numpy boolean or integer type.
        bitspersample:
            Number of bits per integer.
        runlen:
            Number of consecutive integers after which to start at next byte.
        out:
            Output buffer (currently unused).

    Returns:
        Array of unpacked integers.

    Examples:
        >>> packints_decode(b'a', 'B', 1)
        array([0, 1, 1, 0, 0, 0, 0, 1], dtype=uint8)

    rB   z|Br   é   rL   N)r€   é   é    é@   zpackints_decode of z0-bit integers requires the 'imagecodecs' package)r   r^   Ú
unpackbitsÚreshapeÚastyper\   )r"   rX   ÚbitspersampleÚrunlenr   Ú
data_arrayrl   s          r$   r   r   ò  sÍ   € ðD 	Ø˜ÒÜ×%Ñ% d¨DÓ1ˆ
Ü×%Ñ% jÓ1ˆ
Ø�AŠ:˜& 1š*Ø#×+Ñ+¨R°¸1¸vÈ¹z¹>Ñ1JÐ,KÓLˆJØ#¢A w¨ w JÑ/×7Ñ7¸Ó;ˆJØ× Ñ  Ó'Ð'Ø˜Ñ'Ü×Ñ  eÓ,Ð,à
˜m˜_ð --ð 	-ð ô ˜cÓ
"Ð"r%   )rQ   r   c              ó   — d}t        |«      ‚)z÷Tightly pack integers.

    Parameters:
        data: Array of integers to pack.
        bitspersample: Number of bits per integer.
        axis: Axis along which to pack.
        out: Output buffer.

    Returns:
        Packed byte string.

    z2packints_encode requires the 'imagecodecs' package©r\   )r"   r‡   rQ   r   rl   s        r$   r   r   %  s   € ð( ?€CÜ
˜cÓ
"Ð"r%   c               ó   — d}t        |«      ‚)zæReturn float32 array from float24.

    Parameters:
        data: Bytes containing float24 values.
        byteorder: Byte order, either '>' (big-endian) or '<' (little-endian).

    Returns:
        Array of float32 values.

    z1float24_decode requires the 'imagecodecs' packager‹   )r"   rd   rl   s      r$   r   r   =  s   € ð >€CÜ
˜cÓ
"Ð"r%   rN   )r#   z
int | Noner"   úbytes | NDArray[Any]r   r   ÚreturnrG   )r"   rG   r   r   rŽ   rG   )rH   rG   r   r   rŽ   rG   )rL   rB   )
rQ   ÚintrR   r�   r"   úbytes | bytearrayr   r   rŽ   rG   )
rQ   r�   rR   r�   r"   úNDArray[Any]r   r   rŽ   r‘   )
rQ   r�   rR   r�   r"   ú bytes | bytearray | NDArray[Any]r   r   rŽ   r�   )r"   r]   r   r   rt   ú	list[Any]rŽ   r]   )r"   rG   r   r   rt   r“   rŽ   rG   )r"   r‘   r   r   rt   r“   rŽ   r‘   )r"   r’   r   r   rt   r“   rŽ   r’   )r   )rX   zDTypeLike | Noner‡   r�   rˆ   r�   r"   rG   r   r   rŽ   r‘   )
r"   r   r‡   r�   rQ   r�   r   r   rŽ   r�   )rd   zLiteral['>', '<']r"   rG   rŽ   r‘   ) Ú__doc__Ú
__future__r   Ú__all__Útypingr   r   r   r   r   Únumpy.typingr   r   r   r   r	   r   ÚImportErrorr3   r   r   r?   r9   r   r   r
   r   r   r   r   r   r   rO   r%   r$   Ú<module>rš      sx  ðñ@õ #ò€÷  +ã áß#ç:Ñ:ð6Ûð
 !ð#ð
 ñ#ð ð#Ø"ð#ð
 ð#ð 
ó#ð( 37õ 	%ðD7Ûð
 !ðBð
 ñBð ðBØ"ðBð
 ðBð 
óBð( 37õ 	%ðF6Ý ð
 !ð0ð
 ñ0ð ð0Ø"ð0ð
 ð0ð 
ó0ð( 37õ 	%ðD 6:õ 'ðT 
ð Øð	ð ñð ðð ð	Ø
ðð 
ðð òó 
ðð 
à78ðØHLñØ!$ðØ14ðØ
ðØBEðàòó 
ðð Øð	,ð ñ,ð ð,ð ð	,Ø
*ð,ð 
ð,ð ó,ð^ 
ðØ&)ðØ14ðØ
ðØ>Aðà
òó 
ðð
 
ðØ!$ðØ,/ðØ
ðØ9<ðàòó 
ðð Øð	-ð ñ-ð ð-ð ð	-Ø
*ð-ð 
ð-ð ó-ð` 
ð
 ØñØ
ðð 
ð	ð
 ðð òó 
ðð 
ð
 ØñØ
ðð 
ð	ð
 ðð òó 
ðð 
ð
 ØñØ
ðð 
ð	ð
 ðð òó 
ðð Øñ:Ø
*ð:ð 
ð	:ð
 ð:ð &ó:ðD ð0#ð ñ0#ð ð0#ð ð	0#ð
 ð0#Ø
ð0#ð 
ð0#ð ó0#ðp Øñ#Ø
ð#àð#ð
 ð#ð 
ð#ð ó#ð0#Ø0ð#Ø
ð#àô#øðm ò ð
 !ðð
 ñð ðØ"ðð
 ðð 
óð 37÷ ð ðûðr ò ð !ðð
 ñð ðØ"ðð
 ðð 
óð 37÷ ð ð!ûðt ò ð
 !ðð
 ñð ðØ"ðð
 ðð 
óð 37÷ ð ðús5   ®F  Á
F# Á&G Æ F ÆF Æ#GÇGÇG&Ç%G&