U
    ;g                     @   sx   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 deZdS )	    )BytesIO)	IntLongInt128Int256BoolBytesStringDoubleVector)TLObject)raw)ListOptionalAnyc                   @   s   e Zd ZU dZdddddgZee ed< dZd	Z	d
d
dde
e
ee ee d
dddZeeed dddZedddZd
S )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   zraw.base.InputFileLocation)r   r   r   r   r   returnc                C   s"   || _ || _|| _|| _|| _d S )Nr   r   r   r   r   )selfr   r   r   r   r    r   f/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/pyrogram/raw/functions/upload/get_file.py__init__A   s
    zGetFile.__init__)bargsr   c                 G   sZ   t | }|d@ rdnd}|d@ r&dnd}t| }t| }t | }t|||||dS )N   TF   r   )r   readr   r   r   )r   r   flagsr   r   r   r   r   r   r   r   r"   H   s    



zGetFile.read)r   c                 G   s   t  }|t| jd d}|| jr(dndO }|| jr:dndO }|t| || j  |t| j |t| j	 |
 S )NFr   r    r!   )r   writer   IDr   r   r   r   r   r   getvalue)r   r   r   r#   r   r   r   r$   W   s    zGetFile.write)__name__
__module____qualname____doc__r   r   str__annotations__r%   ZQUALNAMEintr   boolr   staticmethodr   r   r"   bytesr$   r   r   r   r   r   !   s   
(r   N)ior   Zpyrogram.raw.core.primitivesr   r   r   r   r   r   r	   r
   r   Zpyrogram.raw.corer   Zpyrogramr   typingr   r   r   r   r   r   r   r   <module>   s
   ,	