
    @hg                        d 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
Z
d	d
lmZ d	dlmZ d	dlmZ d	dlmZ edeef   Z	 	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 	 	 ddZy)z
Call loop machinery
    )annotations)	Generator)Mapping)Sequence)cast)NoReturnN   )HookImpl)HookCallError)Result)PluggyTeardownRaisedWarningc              #    K   t        t         | j                  |       }	 t        |       	 d}t        |d      }	 |j                  |       t        |d       |j                          |j                         S # t        $ r t        |d       Y fw xY w# t        $ r}t        d|      }Y d}~sd}~ww xY w# t        $ r Y ht        $ r}t        || |        d}~ww xY w# |j                          w xY ww)zT
    backward compatibility wrapper to run a old style hookwrapper as a wrapper
    did not yieldNhas second yield)r   TeardownfunctionnextStopIteration_raise_wrapfailr   BaseExceptionsend_warn_teardown_exceptionclose
get_result)	hook_impl	hook_nameargsteardownresresultexces           Z/var/www/html/Telegram-Engagement-Pod-/env/lib/python3.12/site-packages/pluggy/_callers.pyrun_old_style_hookwrapperr$      s      h(:	(:(:D(ABH3X#T"
f 	"45%  3/23
  #c"#    Iq9 	s   C6A; B B8 C!  C6;BC6BC6	B5B0+C60B55C68	CC! CCCC! !C33C6c           
         | j                   }t        d|j                  d|j                   d|j                   d|       )Nzwrap_controller at  :)gi_codeRuntimeErrorco_nameco_filenameco_firstlineno)wrap_controllermsgcos      r#   r   r   8   sK     
	 	 B

bjj^1R^^,<Ab>O>O=PPQRUQVW     c                    d}|d|j                    d|  dz  }|t        |      j                   d| dz  }|dz  }t        j                  t        |      d       y )	NzGA plugin raised an exception during an old-style hookwrapper teardown.
zPlugin: z, Hook: 
z: zvFor more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning   )
stacklevel)plugin_nametype__name__warningswarnr   )r   r   r"   r.   s       r#   r   r   B   sq     UCXi++,HYKrBBCd1gr!B''C  D  DCMM-c2qAr0   c                R   d}g }d}	 g }	 t        |      D ]  }	 |j                  D 	cg c]  }	||	   	 }
}	|j                  r*t        || 
      }t        |       |j                  |       V|j                  rK	  |j                  
 }t        t        dt        t        f   |      }t        |       |j                  |        |j                  
 }||j                  |       |s n |r
|r|d   nd}n|}t        |      D ]E  }	 |	 |j!                  |       n|j+                  |       |j)                          t        |d       G 	 |||S c c}	w # t        $ r/}|j                  D ]  }	|	|vst        d|	      | Y d}~Vd}~ww xY w# t        $ r t        d       Y w xY w# t        $ r}|}Y d}~d}~ww xY w# t"        $ r9}t%        |t              r#|j&                  |u r|j)                          Y d}~ d}~ww xY w# t        $ r}|j,                  }d}Y d}~%d}~wt        $ r}|}Y d}~9d}~ww xY w# |r
|r|d   nd}n|}t              D ]  }	 |X	 |j!                  |       nV# t"        $ r9}t%        |t              r#|j&                  |u r|j)                          Y d}~U d}~ww xY w|j+                  |       |j)                          n7# t        $ r}|j,                  }d}Y d}~d}~wt        $ r}|}Y d}~d}~ww xY wt        |d        w xY w)zExecute a call into multiple python functions/methods and return the
    result(s).

    ``caller_kwargs`` comes from HookCaller.__call__().
    TNz hook call must provide argument r   r   r   )reversedargnamesKeyErrorr   hookwrapperr$   r   appendwrapperr   r   r   objectr   r   r   throwr)   
isinstance	__cause__r   r   value)r   
hook_implscaller_kwargsfirstresult__tracebackhide__results	exception	teardownsr   argnamer   r"   function_genr   r!   r    r   resis                      r#   
_multicallrQ   L   sB    GIJ:$&	#	%j1	%BKBTBTUBTwM'2BTDU ((#<Y	SW#XL&$$\2&&G 1i00$7'+IdFF6J,KS'Q\*!((6 -),,d3Cs+&!A 2H #*WQZFF !+H(" y1 MM&)   H&89; ,> U V %#,#5#5"-7"/"B7+ N##$% $6%, ) G'oFG  	I	 ( 
" 'y-@ "	 9$NN,$!
"" !  	  	A #*WQZFF !+H(" y1' 
" 'y-@ "	 9$NN,$!
" MM&)     	  	 H&89; ,sd  I F0 EEEAF0 9A	FF0 F0 )F0 	HG"HE	F"F6FF0 FF0 F-)F0 ,F--F0 0	G9G ;I  GI 	H
.H?HHH

H	IH**I6H>>IL&$K 'I98K 9	J;	.J6	0K 4L&5J6	6J;	;$K L& 	L	)K<	7L&<L	L	
L&L	L&)r   r
   r   strr   zSequence[object]returnr   )r-   zGenerator[None, object, object]r.   rR   rS   r   )r   rR   r   r
   r"   r   rS   None)
r   rR   rF   zSequence[HookImpl]rG   zMapping[str, object]rH   boolrS   zobject | list[object])__doc__
__future__r   collections.abcr   r   r   typingr   r   r8   _hooksr
   _resultr   r   	_warningsr   rA   r   r$   r   r   rQ    r0   r#   <module>r^      s    # % # $     "  2
 T66)*$'/?>4	 BB'B,9B	B]]"] (] 	]
 ]r0   