ó
    ©Rj©  ã                  óT   • S SK Jr  S SKrS SKJr  S SKJrJrJr   " S S\\   5      r	g)é    )ÚannotationsN)ÚIterable)ÚIOÚAnyStrÚNoReturnc                  ó
  • \ rS rSrSrSS jrSS jrSS jr\R                  4SS jjr
SS jrSS jrSSS	 jjrSSS
 jjrSSS jjrSS jrS S jrS!S jrS"S#S jjrS$S jrS%S jrS$S jrS&S jrSS jrS'S jrS'S jrSrg)(ÚContainerIOé   za
A file object that provides read access to a part of an existing
file (for example a TAR file).
c                ól   • Xl         SU l        X l        X0l        U R                   R	                  U5        g)z…
Create file object.

:param file: Existing file.
:param offset: Start of region, in bytes.
:param length: Size of region, in bytes.
r   N)ÚfhÚposÚoffsetÚlengthÚseek)ÚselfÚfiler   r   s       Ú;D:\diplom_project\venv\Lib\site-packages\PIL/ContainerIO.pyÚ__init__ÚContainerIO.__init__   s*   € ð #ŒØˆŒØŒØŒØ�‰�‰�VÕó    c                ó   • g©NF© ©r   s    r   ÚisattyÚContainerIO.isatty.   ó   € Ør   c                ó   • g©NTr   r   s    r   ÚseekableÚContainerIO.seekable1   ó   € Ør   c                óT  • US:X  a  U R                   U-   U l         O!US:X  a  U R                  U-   U l         OXl         [        S[        U R                   U R                  5      5      U l         U R                  R                  U R                  U R                   -   5        U R                   $ )a  
Move file pointer.

:param offset: Offset in bytes.
:param mode: Starting position. Use 0 for beginning of region, 1
   for current offset, and 2 for end of region.  You cannot move
   the pointer outside the defined region.
:returns: Offset from start of region, in bytes.
é   é   r   )r   r   ÚmaxÚminr   r   r   )r   r   Úmodes      r   r   ÚContainerIO.seek4   sz   € ð �1‹9Ø—x‘x &Ñ(ˆD�HØ�Q‹YØ—{‘{ VÑ+ˆD�HàŒHä�qœ#˜dŸh™h¨¯©Ó4Ó5ˆŒØ�‰�‰�T—[‘[ 4§8¡8Ñ+Ô,Ø�x‰xˆr   c                ó   • U R                   $ )zM
Get current file pointer.

:returns: Offset from start of region, in bytes.
)r   r   s    r   ÚtellÚContainerIO.tellI   s   € ð �x‰xˆr   c                ó   • gr   r   r   s    r   ÚreadableÚContainerIO.readableQ   r"   r   c                ó,  • US:”  a#  [        XR                  U R                  -
  5      nOU R                  U R                  -
  nUS::  a  SU R                  R                  ;   a  S$ S$ U R                  U-   U l        U R                  R                  U5      $ )z‡
Read data.

:param n: Number of bytes to read. If omitted, zero or negative,
    read until end of region.
:returns: An 8-bit string.
r   Úbr   Ú )r'   r   r   r   r(   Úread)r   Úns     r   r3   ÚContainerIO.readT   sv   € ð ˆq‹5Ü�A—{‘{ T§X¡XÑ-Ó.‰Aà—‘˜dŸh™hÑ&ˆAØ�‹6Ø §¡§¡Ó-�3Ð5°2Ð5Ø—8‘8˜a‘<ˆŒØ�w‰w�|‰|˜A‹Ðr   c                óì   • SU R                   R                  ;   a  SOSnSU R                   R                  ;   a  SOSn U R                  S5      nU(       d   U$ X$-   nXC:X  d  [        U5      U:X  a   U$ M8  )z�
Read a line of text.

:param n: Number of bytes to read. If omitted, zero or negative,
    read until end of line.
:returns: An 8-bit string.
r1   r   r2   ó   
Ú
r$   )r   r(   r3   Úlen)r   r4   ÚsÚnewline_characterÚcs        r   ÚreadlineÚContainerIO.readlinee   st   € ð  $§'¡'§,¡,Ó.‘C°BˆØ%(¨D¯G©G¯L©LÓ%8™E¸dÐØØ—	‘	˜!“ˆAÞØð ˆð ‘ˆAØÓ%¬¨Q«°1«ØØˆñ r   c                ó†   • / n U R                  5       nU(       d   U$ UR                  U5        [        U5      U:X  a   U$ M?  )z§
Read multiple lines of text.

:param n: Number of lines to read. If omitted, zero, negative or None,
    read until end of region.
:returns: A list of 8-bit strings.
)r=   Úappendr9   )r   r4   Úlinesr:   s       r   Ú	readlinesÚContainerIO.readlinesx   sI   € ð ˆØØ—‘“ˆAÞØð ˆð �L‰L˜ŒOÜ�5‹z˜Q‹ØØˆñ r   c                ó   • gr   r   r   s    r   ÚwritableÚContainerIO.writableŠ   r   r   c                ó   • [        5       e©N©ÚNotImplementedError)r   r1   s     r   ÚwriteÚContainerIO.write�   ó   € Ü!Ó#Ð#r   c                ó   • [        5       erH   rI   )r   rA   s     r   Ú
writelinesÚContainerIO.writelines�   rM   r   Nc                ó   • [        5       erH   rI   )r   Úsizes     r   ÚtruncateÚContainerIO.truncate“   rM   r   c                ó   • U $ rH   r   r   s    r   Ú	__enter__ÚContainerIO.__enter__–   ó   € Øˆr   c                ó$   • U R                  5         g rH   )Úclose)r   Úargss     r   Ú__exit__ÚContainerIO.__exit__™   s   € Ø�
‰
�r   c                ó   • U $ rH   r   r   s    r   Ú__iter__ÚContainerIO.__iter__œ   rX   r   c                óN   • U R                  5       nU(       d  Sn[        U5      eU$ )Nzend of region)r=   ÚStopIteration)r   ÚlineÚmsgs      r   Ú__next__ÚContainerIO.__next__Ÿ   s%   € Ø�}‰}‹ˆÞØ!ˆCÜ Ó$Ð$Øˆr   c                ó6   • U R                   R                  5       $ rH   )r   Úfilenor   s    r   rh   ÚContainerIO.fileno¦   s   € Ø�w‰w�~‰~ÓÐr   c                ó8   • U R                   R                  5         g rH   )r   Úflushr   s    r   rk   ÚContainerIO.flush©   ó   € Ø�‰�‰�r   c                ó8   • U R                   R                  5         g rH   )r   rZ   r   s    r   rZ   ÚContainerIO.close¬   rm   r   )r   r   r   r   )r   z
IO[AnyStr]r   Úintr   rp   ÚreturnÚNone)rq   Úbool)r   rp   r(   rp   rq   rp   )rq   rp   )éÿÿÿÿ)r4   rp   rq   r   )r4   ú
int | Nonerq   zlist[AnyStr])r1   r   rq   r   )rA   zIterable[AnyStr]rq   r   rH   )rR   ru   rq   rp   )rq   zContainerIO[AnyStr])r[   Úobjectrq   rr   )rq   r   )rq   rr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r    ÚioÚSEEK_SETr   r+   r.   r3   r=   rB   rE   rK   rO   rS   rV   r\   r_   re   rh   rk   rZ   Ú__static_attributes__r   r   r   r	   r	      st   † ñô
ô"ôð -/¯K©Kö ô*ôöö"ö&ô$ô$ô$ö$ôôôôô ô÷r   r	   )
Ú
__future__r   r|   Úcollections.abcr   Útypingr   r   r   r	   r   r   r   Ú<module>r‚      s(   ðõ  #ã 	Ý $ß 'Ñ 'ôV�"�V‘*õ Vr   