U
    Gwi"                     @   s   d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ erlddlmZmZmZmZ G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeBirthdayTypeInputDocumentTypeInputUserTypeSecureValueErrorc                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetFullUserRequestl   Yl l    r   idc                 C   s
   || _ dS )z@
        :returns users.UserFull: Instance of UserFull.
        Nr   selfr    r   ?/tmp/pip-unpacked-wheel-v4xsjwr6/telethon/tl/functions/users.py__init__   s    zGetFullUserRequest.__init__c                    s   | || jI d H | _d S Nget_input_userget_input_entityr   r   clientutilsr   r   r   resolve   s    zGetFullUserRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   _r   )
isinstancer   r   to_dictr   r   r   r   r!      s    zGetFullUserRequest.to_dictc                 C   s   d d| j fS )N    s   Y)joinr   _bytesr"   r   r   r   r%       s    zGetFullUserRequest._bytesc                 C   s   |  }| |dS Nr   tgread_object)clsreader_idr   r   r   from_reader&   s    zGetFullUserRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDr   r   r!   r%   classmethodr,   r   r   r   r   r      s   r   c                   @   sJ   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd ZdS )GetRequirementsToContactRequestl   51 i#&2r   r   c                 C   s
   || _ dS )zW
        :returns Vector<RequirementToContact>: This type has no constructors.
        Nr   r   r   r   r   r   0   s    z(GetRequirementsToContactRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r   r   appendr   r   r   r   r   Z_tmp_xr   r   r   r   6   s    
z'GetRequirementsToContactRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nr4   c                 S   s"   g | ]}t |tr| n|qS r   r    r   r!   .0xr   r   r   
<listcomp>@   s     z;GetRequirementsToContactRequest.to_dict.<locals>.<listcomp>r   r   r"   r   r   r   r!   =   s    z'GetRequirementsToContactRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr#   s      ĵ<ic                 s   s   | ]}|  V  qd S r   r%   r:   r   r   r   	<genexpr>F   s     z9GetRequirementsToContactRequest._bytes.<locals>.<genexpr>r$   structpacklenr   r"   r   r   r   r%   C   s      z&GetRequirementsToContactRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r&   read_intranger(   r6   r)   r*   r+   r   r8   r   r   r   r,   I   s    z+GetRequirementsToContactRequest.from_readerNr.   r/   r0   r1   r2   r   r   r   r!   r%   r3   r,   r   r   r   r   r4   ,   s   r4   c                   @   sL   e Zd ZdZdZdeeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetSavedMusicRequestix   7.'p r   r   offsetlimithashc                 C   s   || _ || _|| _|| _dS zb
        :returns users.SavedMusic: Instance of either SavedMusicNotModified, SavedMusic.
        NrM   )r   r   rN   rO   rP   r   r   r   r   X   s    zGetSavedMusicRequest.__init__c                    s   | || jI d H | _d S r   r   r   r   r   r   r   a   s    zGetSavedMusicRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )NrK   )r   r   rN   rO   rP   )r    r   r   r!   rN   rO   rP   r"   r   r   r   r!   d   s    zGetSavedMusicRequest.to_dictc              
   C   s8   d d| j td| jtd| jtd| jfS )Nr#   s   xr?   z<q)r$   r   r%   rC   rD   rN   rO   rP   r"   r   r   r   r%   m   s    zGetSavedMusicRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )NrM   )r(   rG   Z	read_long)r)   r*   r+   _offsetZ_limit_hashr   r   r   r,   v   s
    z GetSavedMusicRequest.from_readerN)r.   r/   r0   r1   r2   intr   r   r!   r%   r3   r,   r   r   r   r   rK   T   s   			rK   c                   @   sL   e Zd ZdZdZded dddZdd	 Zd
d Zdd Z	e
dd ZdS )GetSavedMusicByIDRequestisurL   r   r   r   	documentsc                 C   s   || _ || _dS rQ   rV   )r   r   rW   r   r   r   r      s    z!GetSavedMusicByIDRequest.__init__c                    sD   | || jI d H | _g }| jD ]}||| q$|| _d S r   )r   r   r   rW   r6   Zget_input_documentr7   r   r   r   r      s
    
z GetSavedMusicByIDRequest.resolvec                 C   s>   dt | jtr| j n| j| jd kr*g ndd | jD dS )NrU   c                 S   s"   g | ]}t |tr| n|qS r   r9   r:   r   r   r   r=      s     z4GetSavedMusicByIDRequest.to_dict.<locals>.<listcomp>)r   r   rW   )r    r   r   r!   rW   r"   r   r   r   r!      s    z GetSavedMusicByIDRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr#   s   sur>   r?   c                 s   s   | ]}|  V  qd S r   r@   r:   r   r   r   rA      s     z2GetSavedMusicByIDRequest._bytes.<locals>.<genexpr>)r$   r   r%   rC   rD   rE   rW   r"   r   r   r   r%      s      zGetSavedMusicByIDRequest._bytesc                 C   sD   |  }|  g }t| D ]}|  }|| q | ||dS )NrV   r(   rG   rH   r6   )r)   r*   r+   Z
_documentsr   r8   r   r   r   r,      s    z$GetSavedMusicByIDRequest.from_readerNrJ   r   r   r   r   rU      s   rU   c                   @   sJ   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd ZdS )GetUsersRequestiHiMr   r   c                 C   s
   || _ dS )zG
        :returns Vector<User>: This type has no constructors.
        Nr   r   r   r   r   r      s    zGetUsersRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r   r5   r7   r   r   r   r      s    
zGetUsersRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )NrY   c                 S   s"   g | ]}t |tr| n|qS r   r9   r:   r   r   r   r=      s     z+GetUsersRequest.to_dict.<locals>.<listcomp>r   r   r"   r   r   r   r!      s    zGetUsersRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr#   s   Hr>   r?   c                 s   s   | ]}|  V  qd S r   r@   r:   r   r   r   rA      s     z)GetUsersRequest._bytes.<locals>.<genexpr>rB   r"   r   r   r   r%      s      zGetUsersRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r&   rF   rI   r   r   r   r,      s    zGetUsersRequest.from_readerNrJ   r   r   r   r   rY      s   rY   c                   @   sL   e Zd ZdZdZded dddZdd	 Zd
d Zdd Z	e
dd ZdS )SetSecureValueErrorsRequestl   ! l   gk r   r   r   errorsc                 C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        Nr[   )r   r   r\   r   r   r   r      s    z$SetSecureValueErrorsRequest.__init__c                    s   | || jI d H | _d S r   r   r   r   r   r   r      s    z#SetSecureValueErrorsRequest.resolvec                 C   s>   dt | jtr| j n| j| jd kr*g ndd | jD dS )NrZ   c                 S   s"   g | ]}t |tr| n|qS r   r9   r:   r   r   r   r=      s     z7SetSecureValueErrorsRequest.to_dict.<locals>.<listcomp>)r   r   r\   )r    r   r   r!   r\   r"   r   r   r   r!      s    z#SetSecureValueErrorsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr#   s   Ȑr>   r?   c                 s   s   | ]}|  V  qd S r   r@   r:   r   r   r   rA      s     z5SetSecureValueErrorsRequest._bytes.<locals>.<genexpr>)r$   r   r%   rC   rD   rE   r\   r"   r   r   r   r%      s      z"SetSecureValueErrorsRequest._bytesc                 C   sD   |  }|  g }t| D ]}|  }|| q | ||dS )Nr[   rX   )r)   r*   r+   _errorsr   r8   r   r   r   r,      s    z'SetSecureValueErrorsRequest.from_readerNrJ   r   r   r   r   rZ      s   rZ   c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )SuggestBirthdayRequestl   r3x l   * r   r
   r   birthdayc                 C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr_   )r   r   r`   r   r   r   r      s    zSuggestBirthdayRequest.__init__c                    s   | || jI d H | _d S r   r   r   r   r   r   r     s    zSuggestBirthdayRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr^   )r   r   r`   )r    r   r   r!   r`   r"   r   r   r   r!   
  s    zSuggestBirthdayRequest.to_dictc                 C   s   d d| j | j fS )Nr#   s   r3S)r$   r   r%   r`   r"   r   r   r   r%     s
    zSuggestBirthdayRequest._bytesc                 C   s   |  }|  }| ||dS )Nr_   r'   )r)   r*   r+   Z	_birthdayr   r   r   r,     s    z"SuggestBirthdayRequest.from_readerNr-   r   r   r   r   r^      s   r^   )__doc__Ztl.tlobjectr   r   typingr   r   r   r   osrC   r	   Ztl.typesr
   r   r   r   r   r4   rK   rU   rY   rZ   r^   r   r   r   r   <module>   s   (+-((