
    N[i                     ~    d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZmZ  G d de      Zy)	    )BytesIO)	IntLongInt128Int256BoolBytesStringDoubleVector)TLObject)raw)ListOptionalAnyc                       e Zd ZU dZg dZee   ed<   dZdZ	ddddd	d
e
de
dee   dee   ddfdZedededd fd       ZdefdZy)GetFilea  Telegram API function.

    Details:
        - Layer: ``158``
        - ID: ``BE5335BE``

    Parameters:
        location (:obj:`InputFileLocation <pyrogram.raw.base.InputFileLocation>`):
            N/A

        offset (``int`` ``64-bit``):
            N/A

        limit (``int`` ``32-bit``):
            N/A

        precise (``bool``, *optional*):
            N/A

        cdn_supported (``bool``, *optional*):
            N/A

    Returns:
        :obj:`upload.File <pyrogram.raw.base.upload.File>`
    locationoffsetlimitprecisecdn_supported	__slots__l   5| zfunctions.upload.GetFileN)r   r   r   zraw.base.InputFileLocationr   r   r   r   returnc                J    || _         || _        || _        || _        || _        y )Nr   )selfr   r   r   r   r   s         Y/var/www/files/kim/lib/python3.12/site-packages/pyrogram/raw/functions/upload/get_file.py__init__zGetFile.__init__A   s&     
*    bargsc                     t        j                  |       }|dz  rdnd}|dz  rdnd}t        j                  |       }t        j                  |       }t        j                  |       }t	        |||||      S )N   TF   r   )r   readr   r   r   )r!   r"   flagsr   r   r   r   r   s           r   r&   zGetFile.readH   si     6*$ % 0e==#1ugerssr    c                    t               }|j                  t        | j                  d             d}|| j                  rdndz  }|| j
                  rdndz  }|j                  t        |             |j                  | j                  j                                |j                  t        | j                               |j                  t        | j                               |j                         S )NFr   r$   r%   )r   writer   IDr   r   r   r   r   r   getvalue)r   r"   r!   r'   s       r   r)   zGetFile.writeW   s    I	DGGU#$T\\&q0T//&Q6	E
	##%&	T[[!"	DJJ zz|r    )__name__
__module____qualname____doc__r   r   str__annotations__r*   QUALNAMEintr   boolr   staticmethodr   r   r&   bytesr)    r    r   r   r   !   s    4 WItCyV	B)Huy  \` +$@ +# +VY +dlmqdr +  KS  TX  KY +  ei + t t t	 t te r    r   N)ior   pyrogram.raw.core.primitivesr   r   r   r   r   r	   r
   r   r   pyrogram.raw.corer   pyrogramr   typingr   r   r   r   r7   r    r   <module>r=      s-   &  g g g &  & &Eh Er    