B
    fd                 @   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ddgZee ed	< d
ZdZ	dddddddde
e e
e e
e e
e 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 )InitTakeoutSessiona|  Telegram API function.

    Details:
        - Layer: ``158``
        - ID: ``8EF3EAB0``

    Parameters:
        contacts (``bool``, *optional*):
            N/A

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

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

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

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

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

        file_max_size (``int`` ``64-bit``, *optional*):
            N/A

    Returns:
        :obj:`account.Takeout <pyrogram.raw.base.account.Takeout>`
    contactsmessage_usersmessage_chatsmessage_megagroupsmessage_channelsfilesfile_max_size	__slots__l   j z$functions.account.InitTakeoutSessionN)r   r   r   r   r   r   r   )r   r   r   r   r   r   r   returnc            C   s.   || _ || _|| _|| _|| _|| _|| _d S )N)r   r   r   r   r   r   r   )selfr   r   r   r   r   r   r    r   W/tmp/pip-unpacked-wheel-rcokkf2l/pyrogram/raw/functions/account/init_takeout_session.py__init__G   s    zInitTakeoutSession.__init__)bargsr   c       
   	   G   s   t | }|d@ rdnd}|d@ r&dnd}|d@ r6dnd}|d@ rFdnd}|d@ rVdnd}|d@ rfdnd}|d@ r|t| nd }	t|||||||	d	S )
N   TF                )r   r   r   r   r   r   r   )r   readr   r   )
r   r    flagsr   r   r   r   r   r   r   r   r   r   r'   P   s    
zInitTakeoutSession.read)r   c             G   s   t  }|t| jd d}|| jr(dndO }|| jr:dndO }|| jrLdndO }|| jr^dndO }|| jrpdndO }|| j	rdndO }|| j
d k	rdndO }|t| | j
d k	r|t| j
 | S )	NFr   r!   r"   r#   r$   r%   r&   )r   writer   IDr   r   r   r   r   r   r   r   getvalue)r   r    r   r(   r   r   r   r)   ^   s    
zInitTakeoutSession.write)__name__
__module____qualname____doc__r   r   str__annotations__r*   ZQUALNAMEr   boolintr   staticmethodr   r   r'   bytesr)   r   r   r   r   r   !   s   
J	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
   ,	