
    M
                     "    S SK Jr  S SKrSS jrg)    )absolute_importNc                 "   ^ ^^ S mUU U4S jnU$ )zAdd wrapped versions of the `api` member's methods to the class.

Any methods passed in `blacklist` are not added.
Additionally, any methods explicitly defined on the wrapped class are
not added.
c                    ^  [        U[        [        45      (       a+  U 4S jn[        [        R                  " T 5      " U5      5      $ U 4S jn[        R                  " T 5      " U5      $ )z5Wrap a GAPIC method; preserve its name and docstring.c                     > T" U 0 UD6$ N )akw
wrapped_fxs     0lib/third_party/google/cloud/pubsub_v1/_gapic.py<lambda>+add_methods.<locals>.wrap.<locals>.<lambda>%   s    *a"62"6    c                 0   > T" U R                   /UQ70 UD6$ r   )api)selfr	   r
   r   s      r   r   r   (   s    
488(Fa(F2(Fr   )
isinstanceclassmethodstaticmethod	functoolswraps)r   	lookup_fxfxs   `  r   wrapadd_methods.<locals>.wrap   sN     i+|!<==6B	
 ;B ?@@FB??:.r22r   c                    > [        T5       Hd  nUR                  S5      (       a  M  UT;   a  M#  [        TU5      n[        U5      (       d  MA  TR                  U   nT" X#5      n[        XU5        Mf     U $ )N_)dir
startswithgetattrcallable__dict__setattr)clsnameattrr   r   	blacklistsource_classr   s        r   actual_decorator%add_methods.<locals>.actual_decorator+   sz     %Ds## y  <.DD>> %--d3Id&BCr"% &* 
r   r   )r(   r'   r)   r   s   `` @r   add_methodsr+      s    38 r   )r   )
__future__r   r   r+   r   r   r   <module>r-      s    ' 3r   