Ë
    zñ�jB   ã                   ó@   — d dl Z d dlZd dlmZmZmZmZ  G d„ d«      Zy)é    N)Ú	x80000000Úo700Úo70Ú	xffffffffc                   ó„   — e Zd ZdZdZdZdZdZeZ	d„ Z
edd„«       Zd	„ Zedd
„«       Zd„ Zd„ Zd„ Zedd„«       Zd„ Zd„ Zy)ÚSFTPAttributesai  
    Representation of the attributes of a file (or proxied file) for SFTP in
    client or server mode.  It attempts to mirror the object returned by
    `os.stat` as closely as possible, so it may have the following fields,
    with the same meanings as those returned by an `os.stat` object:

        - ``st_size``
        - ``st_uid``
        - ``st_gid``
        - ``st_mode``
        - ``st_atime``
        - ``st_mtime``

    Because SFTP allows flags to have other arbitrary named attributes, these
    are stored in a dict named ``attr``.  Occasionally, the filename is also
    stored, in ``filename``.
    é   é   é   é   c                 ót   — d| _         d| _        d| _        d| _        d| _        d| _        d| _        i | _        y)zX
        Create a new (empty) SFTPAttributes object.  All fields will be empty.
        r   N)Ú_flagsÚst_sizeÚst_uidÚst_gidÚst_modeÚst_atimeÚst_mtimeÚattr©Úselfs    úS/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/paramiko/sftp_attr.pyÚ__init__zSFTPAttributes.__init__1   s<   € ð ˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆŒØˆ�	ó    Nc                 óò   —  | «       }|j                   |_         |j                  |_        |j                  |_        |j                  |_        |j                  |_        |j
                  |_        |�||_        |S )a`  
        Create an `.SFTPAttributes` object from an existing ``stat`` object (an
        object returned by `os.stat`).

        :param object obj: an object returned by `os.stat` (or equivalent).
        :param str filename: the filename associated with this file.
        :return: new `.SFTPAttributes` object with the same attribute fields.
        )r   r   r   r   r   r   Úfilename)ÚclsÚobjr   r   s       r   Ú	from_statzSFTPAttributes.from_stat>   s_   € ñ ‹uˆØ—{‘{ˆŒØ—j‘jˆŒØ—j‘jˆŒØ—{‘{ˆŒØŸ™ˆŒØŸ™ˆŒØÐØ$ˆDŒMØˆr   c                 ó@   — dj                  | j                  «       «      S )Nz<SFTPAttributes: {}>)ÚformatÚ
_debug_strr   s    r   Ú__repr__zSFTPAttributes.__repr__S   s   € Ø%×,Ñ,¨T¯_©_Ó->Ó?Ð?r   c                 óZ   —  | «       }|j                  |«       |�||_        |�||_        |S ©N)Ú_unpackr   Úlongname)r   Úmsgr   r'   r   s        r   Ú	_from_msgzSFTPAttributes._from_msgW   s4   € á‹uˆØ�‰�SÔØÐØ$ˆDŒMØÐØ$ˆDŒMØˆr   c                 ó¼  — |j                  «       | _        | j                  | j                  z  r|j                  «       | _        | j                  | j
                  z  r*|j                  «       | _        |j                  «       | _        | j                  | j                  z  r|j                  «       | _	        | j                  | j                  z  r*|j                  «       | _        |j                  «       | _        | j                  | j                  z  rL|j                  «       }t        |«      D ]-  }|j                  «       | j                   |j                  «       <   Œ/ y y r%   )Úget_intr   Ú	FLAG_SIZEÚ	get_int64r   ÚFLAG_UIDGIDr   r   ÚFLAG_PERMISSIONSr   ÚFLAG_AMTIMEr   r   ÚFLAG_EXTENDEDÚrangeÚ
get_stringr   )r   r(   ÚcountÚis       r   r&   zSFTPAttributes._unpacka   sô   € Ø—k‘k“mˆŒØ�;‰;˜Ÿ™Ò'ØŸ=™=›?ˆDŒLØ�;‰;˜×)Ñ)Ò)ØŸ+™+›-ˆDŒKØŸ+™+›-ˆDŒKØ�;‰;˜×.Ñ.Ò.ØŸ;™;›=ˆDŒLØ�;‰;˜×)Ñ)Ò)ØŸK™K›MˆDŒMØŸK™K›MˆDŒMØ�;‰;˜×+Ñ+Ò+Ø—K‘K“MˆEÜ˜5“\ò ?�Ø.1¯n©nÓ.>�—	‘	˜#Ÿ.™.Ó*Ò+ñ?ð ,r   c                 óp  — d| _         | j                  �| xj                   | j                  z  c_         | j                  �+| j                  �| xj                   | j
                  z  c_         | j                  �| xj                   | j                  z  c_         | j                  �+| j                  �| xj                   | j                  z  c_         t        | j                  «      dkD  r| xj                   | j                  z  c_         |j                  | j                   «       | j                   | j                  z  r|j                  | j                  «       | j                   | j
                  z  r6|j                  | j                  «       |j                  | j                  «       | j                   | j                  z  r|j                  | j                  «       | j                   | j                  z  rH|j                  t!        | j                  «      «       |j                  t!        | j                  «      «       | j                   | j                  z  rh|j                  t        | j                  «      «       | j                  j#                  «       D ]'  \  }}|j%                  |«       |j%                  |«       Œ) y )Nr   )r   r   r,   r   r   r.   r   r/   r   r   r0   Úlenr   r1   Úadd_intÚ	add_int64ÚintÚitemsÚ
add_string)r   r(   ÚkeyÚvals       r   Ú_packzSFTPAttributes._packr   sÖ  € ØˆŒØ�<‰<Ð#Ø�KŠK˜4Ÿ>™>Ñ)�KØ�K‰KÐ#¨$¯+©+Ð*AØ�KŠK˜4×+Ñ+Ñ+�KØ�<‰<Ð#Ø�KŠK˜4×0Ñ0Ñ0�KØ�M‰MÐ%¨D¯M©MÐ,EØ�KŠK˜4×+Ñ+Ñ+�KÜˆt�y‰y‹>˜AÒØ�KŠK˜4×-Ñ-Ñ-�KØ�‰�D—K‘KÔ Ø�;‰;˜Ÿ™Ò'Ø�M‰M˜$Ÿ,™,Ô'Ø�;‰;˜×)Ñ)Ò)Ø�K‰K˜Ÿ™Ô$Ø�K‰K˜Ÿ™Ô$Ø�;‰;˜×.Ñ.Ò.Ø�K‰K˜Ÿ™Ô%Ø�;‰;˜×)Ñ)Ò)à�K‰Kœ˜DŸM™MÓ*Ô+Ø�K‰Kœ˜DŸM™MÓ*Ô+Ø�;‰;˜×+Ñ+Ò+Ø�K‰Kœ˜DŸI™I›Ô'Ø ŸI™IŸO™OÓ-ò $‘��SØ—‘˜sÔ#Ø—‘˜sÕ#ð$ð 	r   c                 ó@  — d}| j                   �|dj                  | j                   «      z  }| j                  �5| j                  �)|dj                  | j                  | j                  «      z  }| j                  �|dt        | j                  «      z   dz   z  }| j                  �5| j                  �)|dj                  | j                  | j                  «      z  }| j                  j                  «       D ]#  \  }}|dj                  t        |«      |«      z  }Œ% |dz  }|S )	Nz[ zsize={} zuid={} gid={} zmode=ú zatime={} mtime={} z
"{}"={!r} ú])r   r!   r   r   r   Úoctr   r   r   r;   Ústr)r   ÚoutÚkÚvs       r   r"   zSFTPAttributes._debug_str‘   sþ   € ØˆØ�<‰<Ð#Ø�:×$Ñ$ T§\¡\Ó2Ñ2ˆCØ�K‰KÐ#¨$¯+©+Ð*AØÐ#×*Ñ*¨4¯;©;¸¿¹ÓDÑDˆCØ�<‰<Ð#Ø�7œS §¡Ó.Ñ.°Ñ4Ñ4ˆCØ�M‰MÐ%¨D¯M©MÐ,EØÐ'×.Ñ.¨t¯}©}¸d¿m¹mÓLÑLˆCØ—I‘I—O‘OÓ%ò 	2‰DˆAˆqØ�<×&Ñ&¤s¨1£v¨qÓ1Ñ1‰Cð	2àˆs‰
ˆØˆ
r   c                 óv   — |rd}d| dz	     d| dz	  dz     z   }|r|d|| dz  z      z  }|S |d|| dz  z      z  }|S )Nr
   z-rz-wr	   z-xTtz-xSs© )ÚnÚsuidÚstickyrE   s       r   Ú_rwxzSFTPAttributes._rwx    sh   € áØˆDØ�1˜‘6‰l˜T 1¨¡6¨Q¡,Ñ/Ñ/ˆÙØ�6˜$ ! a¡%™.Ñ)Ñ)ˆCð ˆ
ð �6˜$ ! a¡%™.Ñ)Ñ)ˆCØˆ
r   c                 óê  — | j                   ��‚t        j                  | j                   «      }|t        j                  k(  rd}n†|t        j                  k(  rd}np|t        j
                  k(  rd}nZ|t        j                  k(  rd}nD|t        j                  k(  rd}n.|t        j                  k(  rd}n|t        j                  k(  rd}nd}|| j                  | j                   t        z  d	z	  | j                   t        j                  z  «      z  }|| j                  | j                   t        z  d
z	  | j                   t        j                  z  «      z  }|| j                  | j                   dz  | j                   t        j                  z  d«      z  }nd}| j                   �| j                   t"        k(  rd}nyt%        j&                  | j                   «      }t)        t%        j$                  «       | j                   z
  «      dkD  rt%        j*                  d|«      }nt%        j*                  d|«      }t-        | dd«      }| j.                  }| j0                  }| j2                  }|€d}|€d}|€d}d||||||fz  S )z=create a unix-style long description of the file (like ls -l)ÚpÚcÚdÚbú-ÚlÚsú?é   é   é   Tz
?---------z(unknown date)i Ní z%d %b %Yz%d %b %H:%Mr   r   z%s   1 %-8d %-8d %8d %-12s %s)r   ÚstatÚS_IFMTÚS_IFIFOÚS_IFCHRÚS_IFDIRÚS_IFBLKÚS_IFREGÚS_IFLNKÚS_IFSOCKrM   r   ÚS_ISUIDr   ÚS_ISGIDÚS_ISVTXr   r   ÚtimeÚ	localtimeÚabsÚstrftimeÚgetattrr   r   r   )	r   ÚkindÚksÚdatestrÚ
time_tupler   ÚuidÚgidÚsizes	            r   Ú__str__zSFTPAttributes.__str__«   s  € à�<‰<Ñ#Ü—;‘;˜tŸ|™|Ó,ˆDØ”t—|‘|Ò#Ø‘ØœŸ™Ò%Ø‘ØœŸ™Ò%Ø‘ØœŸ™Ò%Ø‘ØœŸ™Ò%Ø‘ØœŸ™Ò%Ø‘ØœŸ™Ò&Ø‘à�Ø�$—)‘)Ø—‘¤Ñ$¨Ñ*¨D¯L©L¼4¿<¹<Ñ,Góñ ˆBð �$—)‘)Ø—‘¤Ñ#¨Ñ)¨4¯<©<¼$¿,¹,Ñ+Fóñ ˆBð �$—)‘)Ø—‘˜qÑ  $§,¡,´·±Ñ"=¸tóñ ‰Bð ˆBà�M‰MÐ! t§}¡}¼	Ò'Aà&‰GäŸ™¨¯©Ó6ˆJÜ”4—9‘9“; §¡Ñ.Ó/°*Ò<äŸ-™-¨
°JÓ?‘äŸ-™-¨°zÓB�Ü˜4 ¨SÓ1ˆð �k‰kˆØ�k‰kˆØ�|‰|ˆØˆ;ØˆCØˆ;ØˆCØˆ<ØˆDð
 /ØØØØØØð2
ñ 
ð 	
r   c                 ó4   — t        | «      j                  «       S r%   )rD   Úencoder   s    r   ÚasbyteszSFTPAttributes.asbytesî   s   € Ü�4‹y×ÑÓ!Ð!r   r%   )NN)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r,   r.   r/   r0   r   r1   r   Úclassmethodr   r#   r)   r&   r?   r"   ÚstaticmethodrM   rr   ru   rI   r   r   r   r      s…   „ ñð$ €IØ€KØÐØ€KØ€Mòð òó ðò(@ð òó ðò?ò"ò>ð òó ðòA
óF"r   r   )rZ   rf   Úparamiko.commonr   r   r   r   r   rI   r   r   ú<module>r}      s   ðó& Û ß ;Ó ;÷W"ò W"r   