U
    h                     @   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r|ddlmZmZmZmZ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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"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/d0 d0eZ(G d1d2 d2eZ)G d3d4 d4eZ*G d5d6 d6eZ+G d7d8 d8eZ,G d9d: d:eZ-G d;d< d<eZ.G d=d> d>eZ/G d?d@ d@eZ0G dAdB dBeZ1G dCdD dDeZ2G dEdF dFeZ3G dGdH dHeZ4dS )IzBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeDataJSONTypeInputFileTypeInputGroupCallTypeInputPeerTypeInputPhoneCallTypeInputUserTypePhoneCallDiscardReasonTypePhoneCallProtocolc                   @   sB   e Zd ZdZdZdeddddZdd	 Zd
d Ze	dd Z
dS )AcceptCallRequesti;   O~) r   r   peerg_bprotocolc                 C   s   || _ || _|| _dS B
        :returns phone.PhoneCall: Instance of PhoneCall.
        Nr   )selfr   r   r    r   ?/tmp/pip-unpacked-wheel-c81u5j2r/telethon/tl/functions/phone.py__init__   s    zAcceptCallRequest.__init__c                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr   )_r   r   r   )
isinstancer   r   to_dictr   r   r   r   r   r   r       s
    zAcceptCallRequest.to_dictc                 C   s&   d d| j | | j| j fS )N    s   ;)joinr   _bytesserialize_bytesr   r   r!   r   r   r   r$   !   s    
zAcceptCallRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr   tgread_objecttgread_bytes)clsreader_peerZ_g_b	_protocolr   r   r   from_reader)   s    zAcceptCallRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesr   r    r$   classmethodr-   r   r   r   r   r      s   r   c                   @   sX   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd Zedd ZdS )CheckGroupCallRequestl   wy9k iq&Pr   callsourcesc                 C   s   || _ || _dS )zF
        :returns Vector<int>: This type has no constructors.
        Nr7   )r   r8   r9   r   r   r   r   5   s    zCheckGroupCallRequest.__init__c                    s   | | j| _d S Nget_input_group_callr8   r   clientutilsr   r   r   resolve<   s    zCheckGroupCallRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr6   )r   r8   r9   )r   r8   r   r    r9   r!   r   r   r   r    ?   s    zCheckGroupCallRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr"   s   w   ĵ<ic                 s   s   | ]}t d |V  qdS rB   Nstructpack.0xr   r   r   	<genexpr>J   s     z/CheckGroupCallRequest._bytes.<locals>.<genexpr>)r#   r8   r$   rE   rF   lenr9   r!   r   r   r   r$   F   s      zCheckGroupCallRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )Nr7   r'   read_intrangeappend)r)   r*   _call_sourcesr   _xr   r   r   r-   M   s    z!CheckGroupCallRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r   )rM   )rH   r   r*   r   r   
<listcomp>[   s     z5CheckGroupCallRequest.read_result.<locals>.<listcomp>)rM   rN   rS   r   rS   r   read_resultX   s    z!CheckGroupCallRequest.read_resultN)r/   r0   r1   r2   r3   r   intr   r@   r    r$   r5   r-   staticmethodrU   r   r   r   r   r6   1   s   

r6   c                   @   sD   e Zd ZdZdZdeeddddZdd	 Zd
d Z	e
dd ZdS )ConfirmCallRequesti".r   r   r   r   g_akey_fingerprintr   c                 C   s   || _ || _|| _|| _dS r   rY   )r   r   rZ   r[   r   r   r   r   r   b   s    zConfirmCallRequest.__init__c                 C   sD   dt | jtr| j n| j| j| jt | jtr:| j n| jdS )NrX   )r   r   rZ   r[   r   )r   r   r   r    rZ   r[   r   r!   r   r   r   r    k   s    zConfirmCallRequest.to_dictc              	   C   s2   d d| j | | jtd| j| j fS )Nr"   s   ".<q)	r#   r   r$   r%   rZ   rE   rF   r[   r   r!   r   r   r   r$   t   s    
zConfirmCallRequest._bytesc                 C   s0   |  }| }| }|  }| ||||dS )NrY   )r'   r(   	read_long)r)   r*   r+   Z_g_a_key_fingerprintr,   r   r   r   r-   }   s
    zConfirmCallRequest.from_readerN)r/   r0   r1   r2   r3   r4   rV   r   r    r$   r5   r-   r   r   r   r   rX   ^   s   			rX   c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )CreateConferenceCallRequestl   	? r   r   r   r[   c                 C   s   || _ || _dS r   r`   )r   r   r[   r   r   r   r      s    z$CreateConferenceCallRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr_   )r   r   r[   )r   r   r   r    r[   r!   r   r   r   r       s    z#CreateConferenceCallRequest.to_dictc                 C   s    d d| j td| jfS )Nr"   s   	r\   )r#   r   r$   rE   rF   r[   r!   r   r   r   r$      s
    z"CreateConferenceCallRequest._bytesc                 C   s   |  }| }| ||dS )Nr`   )r'   r]   )r)   r*   r+   r^   r   r   r   r-      s    z'CreateConferenceCallRequest.from_readerN)r/   r0   r1   r2   r3   rV   r   r    r$   r5   r-   r   r   r   r   r_      s   r_   c                   @   s\   e Zd ZdZdZddee eee ee	 dddZ
dd	 Zd
d Zdd Zedd ZdS )CreateGroupCallRequestiH   * Nr   r   rtmp_stream	random_idtitleschedule_datec                 C   s@   || _ || _|dk	r|ntjtdddd| _|| _|| _dS )
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N   bigTsigned)	r   rd   rV   
from_bytesosurandomre   rf   rg   )r   r   rd   re   rf   rg   r   r   r   r      s
    $zCreateGroupCallRequest.__init__c                    s   | || jI d H | _d S r:   get_input_peerget_input_entityr   r=   r   r   r   r@      s    zCreateGroupCallRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nra   )r   r   rd   re   rf   rg   )r   r   r   r    rd   re   rf   rg   r!   r   r   r   r       s    zCreateGroupCallRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j td	| j| jd ks| jdkrdn
| 	| j| jd ks| jdkrdn
| 
| jfS )
Nr"   s   H<IFr   ri         rB   )r#   rE   rF   rd   rf   rg   r   r$   re   r%   Zserialize_datetimer!   r   r   r   r$      s    Z""zCreateGroupCallRequest._bytesc                 C   sb   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }| |||||dS )Nri   rt   ru   rc   )rM   boolr'   tgread_stringZtgread_date)r)   r*   flagsZ_rtmp_streamr+   
_random_id_titleZ_schedule_dater   r   r   r-      s    

z"CreateGroupCallRequest.from_reader)NNNN)r/   r0   r1   r2   r3   r   rv   rV   strr	   r   r@   r    r$   r5   r-   r   r   r   r   ra      s   $


ra   c                   @   sL   e Zd ZdZdZddedeee dddZd	d
 Z	dd Z
edd ZdS )DiscardCallRequestl   Ae rb   Nr   r   r   durationreasonconnection_idvideoc                 C   s"   || _ || _|| _|| _|| _dS rh   Nr}   )r   r   r~   r   r   r   r   r   r   r      s
    zDiscardCallRequest.__init__c                 C   sH   dt | jtr| j n| j| jt | jtr6| j n| j| j| jdS )Nr|   )r   r   r~   r   r   r   )r   r   r   r    r~   r   r   r   r!   r   r   r   r       s    zDiscardCallRequest.to_dictc                 C   sV   d dtd| jd ks | jdkr$dnd| j td| j| j td| jfS )	Nr"   s   ˲rs   Fr   rt   rB   r\   )	r#   rE   rF   r   r   r$   r~   r   r   r!   r   r   r   r$      s    "zDiscardCallRequest._bytesc                 C   sF   |  }t|d@ }| }|  }| }| }| |||||dS )Nrt   r}   )rM   rv   r'   r]   )r)   r*   rx   _videor+   Z	_durationZ_reasonZ_connection_idr   r   r   r-      s    zDiscardCallRequest.from_reader)N)r/   r0   r1   r2   r3   rV   r   rv   r   r    r$   r5   r-   r   r   r   r   r|      s   


r|   c                   @   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 )DiscardGroupCallRequesti5qwzrb   r   r8   c                 C   s
   || _ dS r   r   r   r8   r   r   r   r     s    z DiscardGroupCallRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    zDiscardGroupCallRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r   r8   r   r8   r   r    r!   r   r   r   r      s    zDiscardGroupCallRequest.to_dictc                 C   s   d d| j fS )Nr"   s   5qwzr#   r8   r$   r!   r   r   r   r$     s    zDiscardGroupCallRequest._bytesc                 C   s   |  }| |dS Nr   r'   r)   r*   rP   r   r   r   r-   $  s    z#DiscardGroupCallRequest.from_readerNr/   r0   r1   r2   r3   r   r@   r    r$   r5   r-   r   r   r   r   r     s   r   c                
   @   sn   e Zd ZdZdZdddee ee ee ee ee ee dddZd	d
 Z	dd Z
dd Zedd ZdS )EditGroupCallParticipantRequestl   :NJ rb   Nr   r   r8   participantmutedvolume
raise_handvideo_stoppedvideo_pausedpresentation_pausedc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r   r   )	r   r8   r   r   r   r   r   r   r   r   r   r   r   .  s    z(EditGroupCallParticipantRequest.__init__c                    s,   | | j| _||| jI d H | _d S r:   )r<   r8   rq   rr   r   r=   r   r   r   r@   ;  s    z'EditGroupCallParticipantRequest.resolvec              
   C   sT   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	| j
d	S )Nr   )	r   r8   r   r   r   r   r   r   r   )r   r8   r   r    r   r   r   r   r   r   r   r!   r   r   r   r    ?  s    z'EditGroupCallParticipantRequest.to_dictc                 C   sH  d dtd| jd krdnd| jd ks0| jdkr4dndB | jd krFdndB | jd krXdnd	B | jd krjdnd
B | jd kr|dndB | j	
 | j
 | jd krdn| jrdnd| jd ks| jdkrdntd| j| jd krdn| jrdnd| jd krdn| jrdnd| jd krdn| jr"dnd| jd kr4dn| jr@dndf
S )Nr"   s   :'rs   r   rt   Fru   ri                ur   7yrB   )r#   rE   rF   r   r   r   r   r   r   r8   r$   r   r!   r   r   r   r$   L  s    |$z&EditGroupCallParticipantRequest._bytesc              
   C   s   |  }| }| }|d@ r*| }nd }|d@ r@|  }nd }|d@ rV| }nd }|d@ rl| }nd }|d@ r| }	nd }	|d@ r| }
nd }
| |||||||	|
dS )Nrt   ru   ri   r   r   r   r   )rM   r'   tgread_bool)r)   r*   rx   rP   Z_participant_mutedZ_volumeZ_raise_hand_video_stoppedZ_video_pausedZ_presentation_pausedr   r   r   r-   Z  s,    





z+EditGroupCallParticipantRequest.from_reader)NNNNNN)r/   r0   r1   r2   r3   r   rv   rV   r   r@   r    r$   r5   r-   r   r   r   r   r   *  s   6r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )EditGroupCallTitleRequesti
rb   r   r8   rf   c                 C   s   || _ || _dS r   r   )r   r8   rf   r   r   r   r     s    z"EditGroupCallTitleRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    z!EditGroupCallTitleRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r8   rf   )r   r8   r   r    rf   r!   r   r   r   r      s    z!EditGroupCallTitleRequest.to_dictc                 C   s   d d| j | | jfS )Nr"   s   
)r#   r8   r$   r%   rf   r!   r   r   r   r$     s
    
z EditGroupCallTitleRequest._bytesc                 C   s   |  }| }| ||dS )Nr   )r'   rw   )r)   r*   rP   rz   r   r   r   r-     s    z%EditGroupCallTitleRequest.from_readerN)r/   r0   r1   r2   r3   r{   r   r@   r    r$   r5   r-   r   r   r   r   r   {  s   r   c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ExportGroupCallInviteRequestl   dTM i;;Nr   r8   can_self_unmutec                 C   s   || _ || _dS )z^
        :returns phone.ExportedGroupCallInvite: Instance of ExportedGroupCallInvite.
        Nr   )r   r8   r   r   r   r   r     s    z%ExportGroupCallInviteRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    z$ExportGroupCallInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r8   r   )r   r8   r   r    r   r!   r   r   r   r      s    z$ExportGroupCallInviteRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr"   s   drs   Fr   rt   )r#   rE   rF   r   r8   r$   r!   r   r   r   r$     s
    "z#ExportGroupCallInviteRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrt   r   )rM   rv   r'   )r)   r*   rx   Z_can_self_unmuterP   r   r   r   r-     s    z(ExportGroupCallInviteRequest.from_reader)Nr/   r0   r1   r2   r3   r   rv   r   r@   r    r$   r5   r-   r   r   r   r   r     s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetCallConfigRequestiEUl   RZ c                 C   s   ddiS )Nr   r   r   r!   r   r   r   r      s     zGetCallConfigRequest.to_dictc                 C   s
   d dS )Nr"   )s   EU)r#   r!   r   r   r   r$     s    zGetCallConfigRequest._bytesc                 C   s   |  S r:   r   )r)   r*   r   r   r   r-     s    z GetCallConfigRequest.from_readerN)	r/   r0   r1   r2   r3   r    r$   r5   r-   r   r   r   r   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetGroupCallRequestiEiA0r   r8   limitc                 C   s   || _ || _dS )zB
        :returns phone.GroupCall: Instance of GroupCall.
        Nr   )r   r8   r   r   r   r   r     s    zGetGroupCallRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    zGetGroupCallRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r8   r   )r   r8   r   r    r   r!   r   r   r   r      s    zGetGroupCallRequest.to_dictc                 C   s    d d| j td| jfS )Nr"   s   ErB   )r#   r8   r$   rE   rF   r   r!   r   r   r   r$     s
    zGetGroupCallRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r'   rM   )r)   r*   rP   _limitr   r   r   r-     s    zGetGroupCallRequest.from_readerNr/   r0   r1   r2   r3   rV   r   r@   r    r$   r5   r-   r   r   r   r   r     s   r   c                   @   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 )GetGroupCallJoinAsRequestl   :!^ l   pni r   r   c                 C   s
   || _ dS )zF
        :returns phone.JoinAsPeers: Instance of JoinAsPeers.
        Nr   r   r   r   r   r   r     s    z"GetGroupCallJoinAsRequest.__init__c                    s   | || jI d H | _d S r:   rp   r=   r   r   r   r@     s    z!GetGroupCallJoinAsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r   r   r   r   r   r    r!   r   r   r   r      s    z!GetGroupCallJoinAsRequest.to_dictc                 C   s   d d| j fS )Nr"   s   :!|r#   r   r$   r!   r   r   r   r$     s    z GetGroupCallJoinAsRequest._bytesc                 C   s   |  }| |dS Nr   r   r)   r*   r+   r   r   r   r-     s    z%GetGroupCallJoinAsRequest.from_readerNr   r   r   r   r   r     s   r   c                   @   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 )!GetGroupCallStreamChannelsRequesti@l   E" r   r   c                 C   s
   || _ dS )z^
        :returns phone.GroupCallStreamChannels: Instance of GroupCallStreamChannels.
        Nr   r   r   r   r   r     s    z*GetGroupCallStreamChannelsRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@   "  s    z)GetGroupCallStreamChannelsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r   r   r!   r   r   r   r    %  s    z)GetGroupCallStreamChannelsRequest.to_dictc                 C   s   d d| j fS )Nr"   s   @r   r!   r   r   r   r$   +  s    z(GetGroupCallStreamChannelsRequest._bytesc                 C   s   |  }| |dS r   r   r   r   r   r   r-   1  s    z-GetGroupCallStreamChannelsRequest.from_readerNr   r   r   r   r   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS ) GetGroupCallStreamRtmpUrlRequestl   +g= l   # r   r   revokec                 C   s   || _ || _dS )z\
        :returns phone.GroupCallStreamRtmpUrl: Instance of GroupCallStreamRtmpUrl.
        Nr   )r   r   r   r   r   r   r   ;  s    z)GetGroupCallStreamRtmpUrlRequest.__init__c                    s   | || jI d H | _d S r:   rp   r=   r   r   r   r@   B  s    z(GetGroupCallStreamRtmpUrlRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r   r   )r   r   r   r    r   r!   r   r   r   r    E  s    z(GetGroupCallStreamRtmpUrlRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr"   s   r   r   )r#   r   r$   r   r!   r   r   r   r$   L  s
    z'GetGroupCallStreamRtmpUrlRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r'   r   )r)   r*   r+   Z_revoker   r   r   r-   S  s    z,GetGroupCallStreamRtmpUrlRequest.from_readerNr/   r0   r1   r2   r3   rv   r   r@   r    r$   r5   r-   r   r   r   r   r   7  s   r   c                   @   sV   e Zd ZdZdZded ee eedddZdd	 Z	d
d Z
dd Zedd ZdS )GetGroupParticipantsRequestl   X
 irr   r   r8   idsr9   offsetr   c                 C   s"   || _ || _|| _|| _|| _dS )zR
        :returns phone.GroupParticipants: Instance of GroupParticipants.
        Nr   )r   r8   r   r9   r   r   r   r   r   r   ^  s
    z$GetGroupParticipantsRequest.__init__c                    sD   | | j| _g }| jD ] }||||I d H  q|| _d S r:   )r<   r8   r   rO   rq   rr   r   r>   r?   Z_tmprR   r   r   r   r@   h  s
    
z#GetGroupParticipantsRequest.resolvec                 C   s`   dt | jtr| j n| j| jd kr*g ndd | jD | jd krFg n| jd d  | j| jdS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   r   r   r    rG   r   r   r   rT   t  s     z7GetGroupParticipantsRequest.to_dict.<locals>.<listcomp>)r   r8   r   r9   r   r   )r   r8   r   r    r   r9   r   r   r!   r   r   r   r    p  s    z#GetGroupParticipantsRequest.to_dictc                 C   sv   d d| j dtdt| jd dd | jD dtdt| jd dd | jD | | j	td| j
f
S )Nr"   s   XrA   rB   c                 s   s   | ]}|  V  qd S r:   r$   rG   r   r   r   rJ   ~  s     z5GetGroupParticipantsRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS rC   rD   rG   r   r   r   rJ     s     )r#   r8   r$   rE   rF   rK   r   r9   r%   r   r   r!   r   r   r   r$   z  s        
z"GetGroupParticipantsRequest._bytesc           	      C   s   |  }|  g }t| D ]}|  }|| q |  g }t| D ]}| }|| qP| }| }| |||||dS )Nr   )r'   rM   rN   rO   rw   )	r)   r*   rP   Z_idsr   rR   rQ   _offsetr   r   r   r   r-     s    z'GetGroupParticipantsRequest.from_readerN)r/   r0   r1   r2   r3   r   rV   r{   r   r@   r    r$   r5   r-   r   r   r   r   r   Z  s   


r   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 )InviteToGroupCallRequesti`19{rb   r   r   r8   usersc                 C   s   || _ || _dS r   r   )r   r8   r   r   r   r   r     s    z!InviteToGroupCallRequest.__init__c                    sD   | | j| _g }| jD ] }||||I d H  q|| _d S r:   )r<   r8   r   rO   get_input_userrr   r   r   r   r   r@     s
    
z InviteToGroupCallRequest.resolvec                 C   s>   dt | jtr| j n| j| jd kr*g ndd | jD dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   r   rG   r   r   r   rT     s     z4InviteToGroupCallRequest.to_dict.<locals>.<listcomp>)r   r8   r   )r   r8   r   r    r   r!   r   r   r   r      s    z InviteToGroupCallRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr"   s   `19{rA   rB   c                 s   s   | ]}|  V  qd S r:   r   rG   r   r   r   rJ     s     z2InviteToGroupCallRequest._bytes.<locals>.<genexpr>)r#   r8   r$   rE   rF   rK   r   r!   r   r   r   r$     s      zInviteToGroupCallRequest._bytesc                 C   sD   |  }|  g }t| D ]}|  }|| q | ||dS )Nr   rL   )r)   r*   rP   Z_usersr   rR   r   r   r   r-     s    z$InviteToGroupCallRequest.from_readerN)r/   r0   r1   r2   r3   r   r   r@   r    r$   r5   r-   r   r   r   r   r     s   r   c                	   @   sd   e Zd ZdZdZddddee ee ee ee ddd	Z	d
d Z
dd Zdd Zedd ZdS )JoinGroupCallRequestl   <, rb   Nr   r   r
   r8   join_asparamsr   r   invite_hashr[   c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r   r   )r   r8   r   r   r   r   r   r[   r   r   r   r     s    zJoinGroupCallRequest.__init__c                    s,   | | j| _||| jI d H | _d S r:   )r<   r8   rq   rr   r   r=   r   r   r   r@     s    zJoinGroupCallRequest.resolvec              	   C   sf   dt | jtr| j n| jt | jtr2| j n| jt | jtrL| j n| j| j| j| j| j	dS )Nr   )r   r8   r   r   r   r   r   r[   )
r   r8   r   r    r   r   r   r   r   r[   r!   r   r   r   r      s    zJoinGroupCallRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j | j	 | jd ks| jdkrdn
| 
| j| jd ks| jdkrdntd
| j| j fS )Nr"   s   rs   Fr   rt   ri   ru   r   r\   )r#   rE   rF   r   r   r   r[   r8   r$   r   r%   r   r!   r   r   r   r$     s    v"$zJoinGroupCallRequest._bytesc           
   	   C   sz   |  }t|d@ }t|d@ }| }| }|d@ rB| }nd }|d@ rX| }nd }| }	| |||	||||dS )Nrt   ri   ru   r   r   )rM   rv   r'   rw   r]   )
r)   r*   rx   r   r   rP   _join_asZ_invite_hashr^   _paramsr   r   r   r-     s    

z JoinGroupCallRequest.from_reader)NNNN)r/   r0   r1   r2   r3   r   rv   r{   rV   r   r@   r    r$   r5   r-   r   r   r   r   r     s   ,r   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 ) JoinGroupCallPresentationRequestl   k rb   r   r
   r8   r   c                 C   s   || _ || _dS r   r   )r   r8   r   r   r   r   r     s    z)JoinGroupCallPresentationRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    z(JoinGroupCallPresentationRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr   )r   r8   r   )r   r8   r   r    r   r!   r   r   r   r      s    z(JoinGroupCallPresentationRequest.to_dictc                 C   s   d d| j | j fS )Nr"   s   k)r#   r8   r$   r   r!   r   r   r   r$     s
    z'JoinGroupCallPresentationRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   r   )r)   r*   rP   r   r   r   r   r-      s    z,JoinGroupCallPresentationRequest.from_readerNr   r   r   r   r   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )LeaveGroupCallRequestiwPrb   r   r8   sourcec                 C   s   || _ || _dS r   r   )r   r8   r   r   r   r   r   +  s    zLeaveGroupCallRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@   2  s    zLeaveGroupCallRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r8   r   )r   r8   r   r    r   r!   r   r   r   r    5  s    zLeaveGroupCallRequest.to_dictc                 C   s    d d| j td| jfS )Nr"   s   wPrB   )r#   r8   r$   rE   rF   r   r!   r   r   r   r$   <  s
    zLeaveGroupCallRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r   )r)   r*   rP   _sourcer   r   r   r-   C  s    z!LeaveGroupCallRequest.from_readerNr   r   r   r   r   r   '  s   r   c                   @   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 )!LeaveGroupCallPresentationRequestiDPrb   r   r   c                 C   s
   || _ dS r   r   r   r   r   r   r   N  s    z*LeaveGroupCallPresentationRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@   T  s    z)LeaveGroupCallPresentationRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r   r   r!   r   r   r   r    W  s    z)LeaveGroupCallPresentationRequest.to_dictc                 C   s   d d| j fS )Nr"   s   DPr   r!   r   r   r   r$   ]  s    z(LeaveGroupCallPresentationRequest._bytesc                 C   s   |  }| |dS r   r   r   r   r   r   r-   c  s    z-LeaveGroupCallPresentationRequest.from_readerNr   r   r   r   r   r   J  s   r   c                   @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )ReceivedCallRequestiaO   gk r   r   c                 C   s
   || _ dS z?
        :returns Bool: This type has no constructors.
        Nr   r   r   r   r   r   m  s    zReceivedCallRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr   r   r   r!   r   r   r   r    s  s    zReceivedCallRequest.to_dictc                 C   s   d d| j fS )Nr"   s   aOr   r!   r   r   r   r$   y  s    zReceivedCallRequest._bytesc                 C   s   |  }| |dS r   r   r   r   r   r   r-     s    zReceivedCallRequest.from_readerN
r/   r0   r1   r2   r3   r   r    r$   r5   r-   r   r   r   r   r   i  s   r   c                   @   sZ   e Zd ZdZdZddedee ed eddd	Z	d
d Z
dd Zdd Zedd ZdS )RequestCallRequestl   `M r   Nr   r   r   user_idg_a_hashr   r   conference_callre   c                 C   sF   || _ || _|| _|| _|| _|dk	r*|ntjtdddd| _	dS )r   Nri   rj   Trk   )
r   r   r   r   r   rV   rm   rn   ro   re   )r   r   r   r   r   r   re   r   r   r   r     s    zRequestCallRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r:   )r   rr   r   r   r<   r=   r   r   r   r@     s    zRequestCallRequest.resolvec                 C   sb   dt | jtr| j n| j| jt | jtr6| j n| j| jt | jtrT| j n| j| jdS )Nr   )r   r   r   r   r   r   re   )	r   r   r   r    r   r   r   r   re   r!   r   r   r   r      s    zRequestCallRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j | jd ks`| jdkrddn| j td| j| | j	| j
 fS )	Nr"   s   `Ħrs   Fr   rt   ru   rB   )r#   rE   rF   r   r   r   r$   re   r%   r   r   r!   r   r   r   r$     s    > 
zRequestCallRequest._bytesc           	      C   s^   |  }t|d@ }| }|d@ r.| }nd }|  }| }| }| ||||||dS )Nrt   ru   r   )rM   rv   r'   r(   )	r)   r*   rx   r   Z_user_idZ_conference_callry   Z	_g_a_hashr,   r   r   r   r-     s    
zRequestCallRequest.from_reader)NNN)r/   r0   r1   r2   r3   r4   r   rv   rV   r   r@   r    r$   r5   r-   r   r   r   r   r     s   "r   c                   @   s@   e Zd ZdZdZdddddZdd	 Zd
d Zedd Z	dS )SaveCallDebugRequesti~z'r   r   r
   r   debugc                 C   s   || _ || _dS r   r   )r   r   r   r   r   r   r     s    zSaveCallDebugRequest.__init__c                 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SaveCallDebugRequest.to_dictc                 C   s   d d| j | j fS )Nr"   s   ~z')r#   r   r$   r   r!   r   r   r   r$     s
    zSaveCallDebugRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   r   )r)   r*   r+   _debugr   r   r   r-     s    z SaveCallDebugRequest.from_readerNr   r   r   r   r   r     s   r   c                   @   s@   e Zd ZdZdZdddddZdd	 Zd
d Zedd Z	dS )SaveCallLogRequesti$Ar   r   r   r   filec                 C   s   || _ || _dS r   r   )r   r   r   r   r   r   r     s    zSaveCallLogRequest.__init__c                 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SaveCallLogRequest.to_dictc                 C   s   d d| j | j fS )Nr"   s   $A)r#   r   r$   r   r!   r   r   r   r$     s
    zSaveCallLogRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   r   )r)   r*   r+   _filer   r   r   r-     s    zSaveCallLogRequest.from_readerNr   r   r   r   r   r     s   r   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 )!SaveDefaultGroupCallJoinAsRequesti^Wr   r   r   r   c                 C   s   || _ || _dS r   r   )r   r   r   r   r   r   r     s    z*SaveDefaultGroupCallJoinAsRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r:   )rq   rr   r   r   r=   r   r   r   r@   
  s    z)SaveDefaultGroupCallJoinAsRequest.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)SaveDefaultGroupCallJoinAsRequest.to_dictc                 C   s   d d| j | j fS )Nr"   s   ^W)r#   r   r$   r   r!   r   r   r   r$     s
    z(SaveDefaultGroupCallJoinAsRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   r   )r)   r*   r+   r   r   r   r   r-     s    z-SaveDefaultGroupCallJoinAsRequest.from_readerNr   r   r   r   r   r     s   r   c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )SendSignalingDataRequestl   ~ r   r   r   datac                 C   s   || _ || _dS r   r   )r   r   r   r   r   r   r   '  s    z!SendSignalingDataRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r   r   )r   r   r   r    r   r!   r   r   r   r    .  s    z SendSignalingDataRequest.to_dictc                 C   s   d d| j | | jfS )Nr"   s   z)r#   r   r$   r%   r   r!   r   r   r   r$   5  s
    
zSendSignalingDataRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r&   )r)   r*   r+   _datar   r   r   r-   <  s    z$SendSignalingDataRequest.from_readerNr.   r   r   r   r   r   #  s   r   c                   @   sJ   e Zd ZdZdZddeeee dddZ	dd	 Z
d
d Zedd ZdS )SetCallRatingRequesti'Yrb   Nr   r   ratingcommentuser_initiativec                 C   s   || _ || _|| _|| _dS r   r   )r   r   r   r   r   r   r   r   r   G  s    zSetCallRatingRequest.__init__c                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr   )r   r   r   r   r   )r   r   r   r    r   r   r   r!   r   r   r   r    P  s    zSetCallRatingRequest.to_dictc              	   C   sL   d dtd| jd ks | jdkr$dnd| j td| j| | jfS )Nr"   s   'Yrs   Fr   rt   rB   )	r#   rE   rF   r   r   r$   r   r%   r   r!   r   r   r   r$   Y  s    "
zSetCallRatingRequest._bytesc                 C   s<   |  }t|d@ }| }|  }| }| ||||dS )Nrt   r   )rM   rv   r'   rw   )r)   r*   rx   Z_user_initiativer+   Z_rating_commentr   r   r   r-   b  s    z SetCallRatingRequest.from_reader)N)r/   r0   r1   r2   r3   rV   r{   r   rv   r   r    r$   r5   r-   r   r   r   r   r   C  s   			r   c                   @   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 )StartScheduledGroupCallRequestiBVrb   r   r   c                 C   s
   || _ dS r   r   r   r   r   r   r   q  s    z'StartScheduledGroupCallRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@   w  s    z&StartScheduledGroupCallRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r   r   r!   r   r   r   r    z  s    z&StartScheduledGroupCallRequest.to_dictc                 C   s   d d| j fS )Nr"   s   BVr   r!   r   r   r   r$     s    z%StartScheduledGroupCallRequest._bytesc                 C   s   |  }| |dS r   r   r   r   r   r   r-     s    z*StartScheduledGroupCallRequest.from_readerNr   r   r   r   r   r   m  s   r   c                   @   s`   e Zd ZdZdZddee ee ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )ToggleGroupCallRecordRequestl   GQb rb   Nr   r8   startr   rf   video_portraitc                 C   s"   || _ || _|| _|| _|| _dS r   r   )r   r8   r   r   rf   r   r   r   r   r     s
    z%ToggleGroupCallRecordRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    z$ToggleGroupCallRecordRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr   )r   r8   r   r   rf   r   )r   r8   r   r    r   r   rf   r   r!   r   r   r   r      s    z$ToggleGroupCallRecordRequest.to_dictc              	   C   s  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtdddtd| jd ksp| jdkrtdnd| j d ks| j dkrdndB | jd ks| jdkrdnd	B | jd krdndB | j	 | jd ks| jdkrdn
| 
| j| jd krdn| jrd
ndfS )NFzQvideo, video_portrait parameters must all be False-y (like None) or all me True-yr"   s   (rs   r   rt   ri   ru   r   r   )r   r   AssertionErrorr#   rE   rF   r   rf   r8   r$   r%   r!   r   r   r   r$     s    Pl"z#ToggleGroupCallRecordRequest._bytesc                 C   sf   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }| |||||dS )Nrt   ri   ru   r   )rM   rv   r'   rw   r   )r)   r*   rx   _startr   rP   rz   Z_video_portraitr   r   r   r-     s    

z(ToggleGroupCallRecordRequest.from_reader)NNNN)r/   r0   r1   r2   r3   r   rv   r{   r   r@   r    r$   r5   r-   r   r   r   r   r     s   (


r   c                   @   sT   e Zd ZdZdZddee ee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleGroupCallSettingsRequesti=trb   Nr   r8   reset_invite_hash
join_mutedc                 C   s   || _ || _|| _dS r   r   )r   r8   r   r   r   r   r   r     s    z'ToggleGroupCallSettingsRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    z&ToggleGroupCallSettingsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr   )r   r8   r   r   )r   r8   r   r    r   r   r!   r   r   r   r      s
    z&ToggleGroupCallSettingsRequest.to_dictc              	   C   sb   d dtd| jd ks | jdkr$dnd| jd kr4dndB | j | jd krPdn| jrZdnd	fS )
Nr"   s   =trs   Fr   ru   rt   r   r   )r#   rE   rF   r   r   r8   r$   r!   r   r   r   r$     s    4z%ToggleGroupCallSettingsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nru   rt   r   )rM   rv   r'   r   )r)   r*   rx   Z_reset_invite_hashrP   Z_join_mutedr   r   r   r-     s    
z*ToggleGroupCallSettingsRequest.from_reader)NNr   r   r   r   r   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )'ToggleGroupCallStartSubscriptionRequesti4!rb   r   r8   
subscribedc                 C   s   || _ || _dS r   r   )r   r8   r   r   r   r   r     s    z0ToggleGroupCallStartSubscriptionRequest.__init__c                    s   | | j| _d S r:   r;   r=   r   r   r   r@     s    z/ToggleGroupCallStartSubscriptionRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r8   r   )r   r8   r   r    r   r!   r   r   r   r      s    z/ToggleGroupCallStartSubscriptionRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr"   s   4!r   r   )r#   r8   r$   r   r!   r   r   r   r$     s
    z.ToggleGroupCallStartSubscriptionRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r   )r)   r*   rP   Z_subscribedr   r   r   r-     s    z3ToggleGroupCallStartSubscriptionRequest.from_readerNr   r   r   r   r   r     s   r   )5__doc__Ztl.tlobjectr   r   typingr   r   r   r   rn   rE   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r6   rX   r_   ra   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sP   ($-( 7.Q#%##>-?##:  $ *7,