
     f3                        U d dl mZmZmZmZmZmZmZ ddlT ddl	m
Z
mZ g dZ G d dee          Z G d	 d
ee          Z G d dee          Z G d dee          Z G d dee          Z G d dee          Z G d dee          Z G d dee          Z G d dee          Z G d dee          Z G d dee          Z G d dee          Z G d d ee          Zeee         eee         eeee         eee         ee         f         f         ee         f         f         f         Zeeeeeeieeeeeieeeieeeieeeiei ei ei ieeeee eeefeiee!ee ee!efee efeieeeeeieeeieeeieeeiei ei iiZ"ee#d!<   eeee         ee         f         eee         ee         f         f         Z$eefeeieefeeieefeeieefeeieefeeieefeeieefeeiiZ%e$e#d"<    G d# d$          Z&d%S )&    )castDictOptionalSetTupleTypeUnion   )*)LocalProtocolErrorSentinel)CLIENTSERVERIDLESEND_RESPONSE	SEND_BODYDONE
MUST_CLOSECLOSEDMIGHT_SWITCH_PROTOCOLSWITCHED_PROTOCOLERRORc                       e Zd ZdS )r   N__name__
__module____qualname__     M/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/h11/_state.pyr   r              Dr   r   )	metaclassc                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )r   Nr   r   r   r    r   r      r!   r   r   c                       e Zd ZdS )_SWITCH_UPGRADENr   r   r   r    r.   r.      r!   r   r.   c                       e Zd ZdS )_SWITCH_CONNECTNr   r   r   r    r0   r0      r!   r   r0   EVENT_TRIGGERED_TRANSITIONSSTATE_TRIGGERED_TRANSITIONSc            	          e Zd ZddZdee         ddfdZddZdee         ddfdZ	 ddee         d	ee	         d
e
ee                  ddfdZdee         d	eee	         eee	         ee         f         f         ddfdZddZddZdS )ConnectionStatereturnNc                 x    d| _         t                      | _        t          t          t
          t          i| _        d S )NT)
keep_alivesetpending_switch_proposalsr   r   r   statesselfs    r    __init__zConnectionState.__init__   s/    
  >AUU%=CT6SW<Xr   rolec                 L    t           | j        |<   |                                  d S N)r   r:   !_fire_state_triggered_transitions)r<   r>   s     r    process_errorzConnectionState.process_error  s&    !D..00000r   c                 <    d| _         |                                  d S )NF)r7   rA   r;   s    r    process_keep_alive_disabledz+ConnectionState.process_keep_alive_disabled  s!    ..00000r   switch_eventc                 b    | j                             |           |                                  d S r@   )r9   addrA   )r<   rE   s     r    process_client_switch_proposalz.ConnectionState.process_client_switch_proposal  s1    %)),777..00000r   
event_typeserver_switch_eventc                    |}|:|t           u sJ || j        vr"t          d                    |                    ||f}||t          u rt                      | _        |                     ||           |t          u r2|t          u sJ |                     t           t          t          f           | 	                                 d S )Nz3Received server {} event without a pending proposal)
r   r9   r   formatResponser8   !_fire_event_triggered_transitionsRequestr   rA   )r<   r>   rI   rJ   _event_types        r    process_eventzConnectionState.process_event  s     OY*6>>>>"$*GGG(IPP+   
 &':;K&;(+B+B,/EED)..t[AAA '!!6>>>>226GV;LMMM..00000r   c           	      0   | j         |         }	 t          |         |         |         }nc# t          $ rV t          t          t
                   |          }t          d                    |j        || j         |                             d w xY w|| j         |<   d S )Nz4can't handle event type {} when role={} and state={})	r:   r1   KeyErrorr   r   Eventr   rL   r   )r<   r>   rI   state	new_states        r    rN   z1ConnectionState._fire_event_triggered_transitions-  s    
 D!	3D9%@LII 	 	 	d5k:66J$FMM't{4/@   		 &Ds
   ) A B	c                 B   	 t          | j                  }| j        r-| j        t                   t          u rt
          | j        t          <   | j        s-| j        t                   t
          u rt          | j        t          <   | j        s4t          t          fD ]%}| j        |         t          u rt          | j        |<   &| j        t                   | j        t                   f}t          
                    |i           }| j                            |           | j        |k    rd S r@   )dictr:   r9   r   r   r   r7   r   r   r2   getupdate)r<   start_statesr>   joint_statechangess        r    rA   z1ConnectionState._fire_state_triggered_transitions>  s   $	,,L , @;v&$..*?DK'0 /;v&*???*.DK'? 7#V, 7 7D{4(D00,6D)  ;v.F0CDK155k2FFGKw'''{l**I$	r   c                     | j         t          t          t          t          ik    r't	          d                    | j                             | j        sJ | j        rJ t          t          t          t          i| _         d S )Nz'not in a reusable state. self.states={})	r:   r   r   r   r   rL   r7   r9   r   r;   s    r    start_next_cyclez ConnectionState.start_next_cyclef  sp    ;64666$9@@MM  
 0000tVT2r   )r5   Nr@   )r   r   r   r=   r   r   rB   rD   rH   rT   r   rQ   r	   r   rN   rA   r_   r   r   r    r4   r4      s^       Y Y Y Y1$x. 1T 1 1 1 11 1 1 114> 1d 1 1 1 1 9=	1 18n1 K1 &d8n5	1
 
1 1 1 14&8n& $u+uT%[$x.-H'IIJ& 
	& & & &"& & & &P	3 	3 	3 	3 	3 	3r   r4   N)'typingr   r   r   r   r   r   r	   _events_utilr   r   __all__r   r   r   r   r   r   r   r   r   r   r   r.   r0   rT   EventTransitionTyperO   ConnectionClosedDataEndOfMessagerM   InformationalResponser1   __annotations__StateTransitionTyper2   r4   r   r   r    <module>rk      sF  b A @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @     / / / / / / / /  	 	 	 	 	X 	 	 	 		 	 	 	 	X 	 	 	 	
	 	 	 	 	8x 	 	 	 		 	 	 	 	H 	 	 	 		 	 	 	 	H 	 	 	 		 	 	 	 	8x 	 	 	 		 	 	 	 	X 	 	 	 		 	 	 	 	X 	 	 	 		 	 	 	 	H 	 	 	 	
	 	 	 	 	H 	 	 	 		 	 	 	 	H 	 	 	 		 	 	 	 	h( 	 	 	 		 	 	 	 	h( 	 	 	 	 NXU4;d5k4>&A BBCT(^ST	V  w	#3V<D)\48(%v.!6*r2r	 fif}	
 	!=i"O46G'):	
 	D)\48(%v.!6*2r%4 0   B 	$x.$x.
()4XX0N+OO  -.9J0KTNVZ(TNVZ(
DMFJ'	6NVZ(	6NVZ(	5MFJ'4 0   v3 v3 v3 v3 v3 v3 v3 v3 v3 v3r   