
    NgSV                        d Z ddlZddlZddlmZmZmZmZmZ ddl	Z	ddl	m
Z
 ddl	mZ ddl	mZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$ ddl#m%Z% ddl#m&Z& ddl#m'Z' ddl#m(Z( ddl#m)Z) ddl#m*Z* dd l+m,Z, d!-                    ej.                  Z/ej0        d         d"k     rd#eej1                 fd$Z2nd#eej1                 fd%Z2d&e$d'ee	j3                 fd(Z4 G d) d*          Z5 G d+ d,e5ej6                  Z6 G d- d.e5ej7                  Z7 G d/ d0e5ej8                  Z8 G d1 d2e5ej9                  Z9 G d3 d4ej:                  Z:	 	 	 d;d5e;d6ee$         d'ee	j3                 d7eee                  fd8Z<	 	 	 d;d5e;d9e	j=        d6ee$         d'ee	j3                 d7eee                  f
d:Z>dS )<z6Invocation-side implementation of gRPC Asyncio Python.    N)AnyIterableListOptionalSequence)_common)_compression)_grpcio_metadata)cygrpc   )
_base_call)_base_channel)StreamStreamCall)StreamUnaryCall)UnaryStreamCall)UnaryUnaryCall)ClientInterceptor)InterceptedStreamStreamCall)InterceptedStreamUnaryCall)InterceptedUnaryStreamCall)InterceptedUnaryUnaryCall)StreamStreamClientInterceptor)StreamUnaryClientInterceptor)UnaryStreamClientInterceptor)UnaryUnaryClientInterceptor)Metadata)ChannelArgumentType)DeserializingFunction)MetadataType)RequestIterableType)RequestType)ResponseType)SerializingFunction)_timeout_to_deadlinezgrpc-python-asyncio/{}   returnc                  >    t           j                                        S N)asyncioTask	all_tasks     M/var/www/html/ai-engine/env/lib/python3.11/site-packages/grpc/aio/_channel.py
_all_tasksr/   7   s    |%%'''r-   c                  (    t          j                    S r(   )r)   r+   r,   r-   r.   r/   r/   <   s     """r-   base_optionscompressionc                     t          j        |          }t          j        j        t
          ff}t          |           |z   |z   S r(   )r	   create_channel_optionr   ChannelArgKeyprimary_user_agent_string_USER_AGENTtuple)r1   r2   compression_channel_argumentuser_agent_channel_arguments       r.   _augment_channel_argumentsr;   @   sW     $0#E$ $ 
  :	
# 	l
&	'
%	&r-   c                   R   e Zd ZU dZej        ed<   ej        ed<   e	ed<   e
ed<   eed<   eee                  ed<   ee         ed<   ej        ed<   d	ej        d
e	de
dedeee                  dee         dej        ddfdZe	 	 ddee         deej                 defd            ZdS )_BaseMultiCallablezrBase class of all multi callable objects.

    Handles the initialization logic and stores common attributes.
    _loop_channel_method_request_serializer_response_deserializer_interceptors_referenceschannelmethodrequest_serializerresponse_deserializerinterceptors
referencesloopr&   Nc                 h    || _         || _        || _        || _        || _        || _        || _        d S r(   )r>   r?   r@   rA   rB   rC   rD   )selfrE   rF   rG   rH   rI   rJ   rK   s           r.   __init__z_BaseMultiCallable.__init__c   s?     
#5 &;#)%r-   metadatar2   c                     | pt                      } t          | t                     s)t          | t                    rt          j        |           } |rt          t	          j        | |           } | S )zBased on the provided values for <metadata> or <compression> initialise the final
        metadata, as it should be used for the current call.
        )r   
isinstancer8   
from_tupler	   augment_metadata)rO   r2   s     r.   _init_metadataz!_BaseMultiCallable._init_metadatau   sn     )xzz(H-- 	5*Xu2M2M 	5*844H 	.xEEH r-   )NN)__name__
__module____qualname____doc__r)   AbstractEventLoop__annotations__r   
AioChannelbytesr#   r   r   r   r   r   r   rN   staticmethodr   grpcCompressionr   rT   r,   r-   r.   r=   r=   S   s`         
 $$$$NNN,,,,1111H%678888c$$$$&"& & 0	&
  5& x(9:;& I& '& 
& & & &$ +/26 <(d./ 
   \  r-   r=   c                       e Zd Zdddddddedee         dee         deej                 dee	         deej
                 d	ej        eef         fd
ZdS )UnaryUnaryMultiCallableNtimeoutrO   credentialswait_for_readyr2   requestrc   rO   rd   re   r2   r&   c                ,   |                      ||          }| j        s?t          |t          |          |||| j        | j        | j        | j        | j        
  
        }n7t          | j        |||||| j        | j        | j        | j        | j                  }|S r(   )
rT   rC   r   r$   r?   r@   rA   rB   r>   r   rM   rf   rc   rO   rd   re   r2   calls           r.   __call__z UnaryUnaryMultiCallable.__call__   s     &&x==! 	!$W--(+
 DD -"(+
 D r-   )rU   rV   rW   r!   r   floatr   r^   CallCredentialsboolr_   r   r   r"   rj   r,   r-   r.   ra   ra      s         $(+/6:)-26' ' '' %	'
 <(' d23' !' d./' 
	";#<	=' ' ' ' ' 'r-   ra   c                       e Zd Zdddddddedee         dee         deej                 dee	         deej
                 d	ej        eef         fd
ZdS )UnaryStreamMultiCallableNrb   rf   rc   rO   rd   re   r2   r&   c                ,   |                      ||          }| j        s?t          |t          |          |||| j        | j        | j        | j        | j        
  
        }n7t          | j        |||||| j        | j        | j        | j        | j                  }|S r(   )
rT   rC   r   r$   r?   r@   rA   rB   r>   r   rh   s           r.   rj   z!UnaryStreamMultiCallable.__call__   s     &&x==! 	"$W--(+
 DD ."(+
 D r-   )rU   rV   rW   r!   r   rk   r   r^   rl   rm   r_   r   r   r"   rj   r,   r-   r.   ro   ro      s         $(+/6:)-26( ( (( %	(
 <(( d23( !( d./( 
	#K$=	>( ( ( ( ( (r-   ro   c                       e Zd Z	 	 	 	 	 	 d
dee         dee         dee         deej                 dee	         deej
                 dej        fd	ZdS )StreamUnaryMultiCallableNrequest_iteratorrc   rO   rd   re   r2   r&   c                 ,   |                      ||          }| j        s?t          |t          |          |||| j        | j        | j        | j        | j        
  
        }n7t          | j        |||||| j        | j        | j        | j        | j                  }|S r(   )
rT   rC   r   r$   r?   r@   rA   rB   r>   r   rM   rs   rc   rO   rd   re   r2   ri   s           r.   rj   z!StreamUnaryMultiCallable.__call__   s     &&x==! 	" $W--(+
 DD ." (+
 D r-   NNNNNN)rU   rV   rW   r   r    rk   r   r^   rl   rm   r_   r   r   rj   r,   r-   r.   rr   rr      s        
 ;?#'+/6:)-26' '"#67' %' <(	'
 d23' !' d./' 
	#' ' ' ' ' 'r-   rr   c                       e Zd Z	 	 	 	 	 	 d
dee         dee         dee         deej                 dee	         deej
                 dej        fd	ZdS )StreamStreamMultiCallableNrs   rc   rO   rd   re   r2   r&   c                 ,   |                      ||          }| j        s?t          |t          |          |||| j        | j        | j        | j        | j        
  
        }n7t          | j        |||||| j        | j        | j        | j        | j                  }|S r(   )
rT   rC   r   r$   r?   r@   rA   rB   r>   r   ru   s           r.   rj   z"StreamStreamMultiCallable.__call__  s     &&x==! 	# $W--(+
 DD /" (+
 D r-   rv   )rU   rV   rW   r   r    rk   r   r^   rl   rm   r_   r   r   rj   r,   r-   r.   rx   rx     s        
 ;?#'+/6:)-26' '"#67' %' <(	'
 d23' !' d./' 
	$' ' ' ' ' 'r-   rx   c                      e Zd ZU ej        ed<   ej        ed<   ee	         ed<   ee
         ed<   ee         ed<   ee         ed<   deded	eej                 d
eej                 deee                  f
dZd Zd Zd Zd$dee         fdZd Z	 d%dedej        fdZdej        ddfdZd&dZ dede!fdZ"	 	 	 d'dedee#         dee$         dee         de%f
d Z&	 	 	 d'dedee#         dee$         dee         de'f
d!Z(	 	 	 d'dedee#         dee$         dee         de)f
d"Z*	 	 	 d'dedee#         dee$         dee         de+f
d#Z,dS )(Channelr>   r?   _unary_unary_interceptors_unary_stream_interceptors_stream_unary_interceptors_stream_stream_interceptorstargetoptionsrd   r2   rI   c                    g | _         g | _        g | _        g | _        |g|D ]c}t	          |t
                    r| j                             |           3t	          |t                    r| j                            |           ct	          |t                    r| j                            |           t	          |t                    r| j                            |           t          d                    |          d                    t
          j                  z   d                    t          j                  z   d                    t          j                  z   d                    t          j                  z             t          j                    | _        t          j        t#          j        |          t'          ||          || j                  | _        dS )a  Constructor.

        Args:
          target: The target to which to connect.
          options: Configuration options for the channel.
          credentials: A cygrpc.ChannelCredentials or None.
          compression: An optional value indicating the compression method to be
            used over the lifetime of the channel.
          interceptors: An optional list of interceptors that would be used for
            intercepting any RPC executed with that channel.
        NzInterceptor {} must be z{} or z{}. )r|   r}   r~   r   rQ   r   appendr   r   r   
ValueErrorformatrU   r   get_working_loopr>   r[   r   encoder;   r?   )rM   r   r   rd   r2   rI   interceptors          r.   rN   zChannel.__init__D  s   & *,&*,'*,'+-(#+  k+FGG 299+FFFF-IJJ 3::;GGGG-IJJ 3::;GGGG-JKK 	4;;KHHHH$188EE"//*E*NOOP"//*F*OPPQ #//*F*OPPQ !--(E(NOO	P   ,..
)N6""&w<<J	
 
r-   c                 
   K   | S r(   r,   rM   s    r.   
__aenter__zChannel.__aenter__w  s      r-   c                 @   K   |                      d            d {V  d S r(   _close)rM   exc_typeexc_valexc_tbs       r.   	__aexit__zChannel.__aexit__z  s0      kk$r-   c                 X  K   | j                                         rd S | j                                          t                      }g }g }|D ]}	 |                    d          }n)# t
          $ r}dt          |          v rY d }~; d }~ww xY w|sG|d         }|j                            d          }	|	t          |	t          j                  rt          |	d          r|	j         | j         urn<t          |	d          r|	j        j         | j         urnt          j        d|	           |                    |	           |                    |           |r|rt#          j        ||	           d {V  |D ]}
|
                                 | j                                          d S )
Nr   )limitframer   rM   r?   _cython_callzUnrecognized call object: )rc   )r?   closedclosingr/   	get_stackAttributeErrorstrf_localsgetrQ   r   Callhasattrr   r   InternalErrorr   r)   waitcancelclose)rM   gracetaskscalls
call_taskstaskstackattribute_errorr   	candidateri   s              r.   r   zChannel._close}  s     =!! 	F 	 
 2	, 2	,DQ//!    c/2222HHHH%*   !HE**622I $i99 ,y*55 $-T]BB$ C N;; $1:$-OO$ P %2DDD   LL+++%%d+++  	:Z 	:,z59999999999  	 	DKKMMMM 	s   A&&
B0BBBNr   c                 @   K   |                      |           d {V  d S r(   r   )rM   r   s     r.   r   zChannel.close  s0      kk%           r-   c                     t          | d          r4| j                                        s| j                                         d S d S d S )Nr?   )r   r?   r   r   r   s    r.   __del__zChannel.__del__  sX    4$$ 	&='')) &##%%%%%	& 	&& &r-   Ftry_to_connectr&   c                 Z    | j                             |          }t          j        |         S r(   )r?   check_connectivity_stater   1CYGRPC_CONNECTIVITY_STATE_TO_CHANNEL_CONNECTIVITY)rM   r   results      r.   	get_statezChannel.get_state  s'     77GGHPPr-   last_observed_statec                 f   K   | j                             |j        d         d            d {V sJ d S )Nr   )r?   watch_connectivity_statevalue)rM   r   s     r.   wait_for_state_changezChannel.wait_for_state_change  sa       ];;%a($
 
 
 
 
 
 
 
 	
 	
 	
 	
 	
r-   c                    K   |                      d          }|t          j        j        k    rH|                     |           d {V  |                      d          }|t          j        j        k    Fd S d S )NT)r   )r   r^   ChannelConnectivityREADYr   )rM   states     r.   channel_readyzChannel.channel_ready  s      d33t/555,,U333333333NN$N77E t/5555555r-   rF   c                     d S r(   r,   )rM   rF   s     r.   _get_registered_call_handlez#Channel._get_registered_call_handle  s    r-   rG   rH   _registered_methodc           	      p    t          | j        t          j        |          ||| j        | g| j                  S r(   )ra   r?   r   r   r|   r>   rM   rF   rG   rH   r   s        r.   unary_unaryzChannel.unary_unary  s>     'MN6""!*FJ
 
 	
r-   c           	      p    t          | j        t          j        |          ||| j        | g| j                  S r(   )ro   r?   r   r   r}   r>   r   s        r.   unary_streamzChannel.unary_stream   >     (MN6""!+FJ
 
 	
r-   c           	      p    t          | j        t          j        |          ||| j        | g| j                  S r(   )rr   r?   r   r   r~   r>   r   s        r.   stream_unaryzChannel.stream_unary  r   r-   c           	      p    t          | j        t          j        |          ||| j        | g| j                  S r(   )rx   r?   r   r   r   r>   r   s        r.   stream_streamzChannel.stream_stream(  s>     )MN6""!,FJ
 
 	
r-   r(   )F)r&   N)NNF)-rU   rV   rW   r)   rY   rZ   r   r[   r   r   r   r   r   r   r   r   r^   ChannelCredentialsr_   r   r   rN   r   r   r   rk   r   r   rm   r   r   r   r   intr   r#   r   ra   r   ro   r   rr   r   rx   r   r,   r-   r.   r{   r{   <  sk        $$$$#$?@@@@ $%A BBBB $%A BBBB!%&C!DDDD1
1
 %1
 d56	1

 d./1
 x(9:;1
 1
 1
 1
f       I I IV! !% ! ! ! !& & & &+Q Q"Q		!Q Q Q Q
!5
 

 
 
 
8 8 8 8# #     =AAE-2
 

 %%89
  ((=>	

 %TN
 
!
 
 
 
. =AAE-2
 

 %%89
  ((=>	

 %TN
 
"
 
 
 
. =AAE-2
 

 %%89
  ((=>	

 %TN
 
"
 
 
 
. =AAE-2
 

 %%89
  ((=>	

 %TN
 
#
 
 
 
 
 
r-   r{   r   r   rI   c                 0    t          | |dn|d||          S )a  Creates an insecure asynchronous Channel to a server.

    Args:
      target: The server address
      options: An optional list of key-value pairs (:term:`channel_arguments`
        in gRPC Core runtime) to configure the channel.
      compression: An optional value indicating the compression method to be
        used over the lifetime of the channel.
      interceptors: An optional sequence of interceptors that will be executed for
        any call executed with this channel.

    Returns:
      A Channel.
    Nr,   )r{   )r   r   r2   rI   s       r.   insecure_channelr   :  s-    ( o7  r-   rd   c                 :    t          | |dn||j        ||          S )a<  Creates a secure asynchronous Channel to a server.

    Args:
      target: The server address.
      credentials: A ChannelCredentials instance.
      options: An optional list of key-value pairs (:term:`channel_arguments`
        in gRPC Core runtime) to configure the channel.
      compression: An optional value indicating the compression method to be
        used over the lifetime of the channel.
      interceptors: An optional sequence of interceptors that will be executed for
        any call executed with this channel.

    Returns:
      An aio.Channel.
    Nr,   )r{   _credentials)r   rd   r   r2   rI   s        r.   secure_channelr   W  s0    , o7   r-   )NNN)?rX   r)   systypingr   r   r   r   r   r^   r   r	   r
   grpc._cythonr    r   r   _callr   r   r   r   _interceptorr   r   r   r   r   r   r   r   r   	_metadatar   _typingr   r   r   r    r!   r"   r#   _utilsr$   r   __version__r7   version_infor*   r/   r_   r;   r=   ra   ro   rr   rx   r{   r   r   r   r   r,   r-   r.   <module>r      s   = <  



 : : : : : : : : : : : : : :              ! ! ! ! ! !                   # # # # # # " " " " " " " " " " " " ! ! ! ! ! ! + + + + + + 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 7 7 7 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 5 5 5 5 5 5       ( ( ( ( ( ( * * * * * * ! ! ! ! ! ! ( ( ( ( ( (             ! ! ! ! ! ! ( ( ( ( ( ( ( ( ( ( ( (&--.>.JKKA(. ( ( ( ( (
#. # # # #%4<T=M4N   &1 1 1 1 1 1 1 1h* * * * *=* * *Z+ + + + +>+ + +\* * * * *>* * *Z* * * * *?* * *Z{
 {
 {
 {
 {
m# {
 {
 {
@ .2.2:>	 )* $*+ 8$567	   @ .2.2:> ( )* $*+	
 8$567     r-   