+
    Pjt                         ^ RI HtHtHt ^RIHtHtHtHtH	t	 ^RI
HtHt R R ltR R ltR R	 ltR
 R lt]tR R ltR R ltR# )    )ListSequenceTuple)EinopsError	ReductionTensor_apply_recipe_array_api_prepare_transformation_recipe)analyze_patternprodc          
      T    V ^8  d   QhR\         R\        R\        R\        R\         /# )   tensorpattern	reductionaxes_lengthsreturn)r   strr   int)formats   "i/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/einops/array_api.py__annotate__r      s0     9 96 9C 9I 9s 9W] 9    c                 X   \        V \        4      '       dE   \        V 4      ^ 8X  d   \        R4      hV ^ ,          P	                  4       pVP                  V 4      p MV P	                  4       p \        VP                  4       4      p\        W\        V4      V P                  R7      p\        VVV VVR7      #   \         di   pRT RT R2p\        T \        4      '       g   TRT P                   R2,          pM	TR	,          pTR
T R2,          p\        TRT 2,           4      RhRp?ii ; i)r   z(Einops can't be applied to an empty list)
axes_namesndim)reciper   reduction_typer   z Error while processing z-reduction pattern "z".z
 Input tensor shape: z. z
 Input is list. zAdditional info: .z
 N)
isinstancelistlen	TypeError__array_namespace__stacktupleitemsr
   r   r	   r   shape)	r   r   r   r   xphashable_axes_lengthsr   emessages	   &&&,     r   reducer-      s)   &$v;!FGGAY**,&!'')9 %l&8&8&: ;/uUaObioititu&$.
 	
  9,YK7KG9TVW&$''0bAAG++G&|nA66'c!I-.D89s   ,A	B6 6D)A#D$$D)c                <    V ^8  d   QhR\         R\        R\         /# r   r   r   r   r   r   )r   s   "r   r   r   #   s&     G G6 GC GF Gr   c                     \        W3R R/VB # )r   repeatr-   r   r   r   s   &&,r   r2   r2   #   s    &FXFFFr   c                <    V ^8  d   QhR\         R\        R\         /# r/   r0   )r   s   "r   r   r   '   s&     J Jf Js Jv Jr   c                     \        W3R R/VB # )r   	rearranger3   r4   s   &&,r   r7   r7   '   s    &I[ILIIr   c                $    V ^8  d   QhR\         /# )r   r   )r   )r   s   "r   r   r   +   s     " "F "r   c                 ,    ^ RI pVP                  V 4      # )r   N)numpyfrom_dlpack)r   nps   & r   asnumpyr=   +   s    >>&!!r   c          	          V ^8  d   QhR\         \        ,          R\        R\        \        \        \
        ,          3,          /# )r   tensorsr   r   )r   r   r   r   r   Shape)r   s   "r   r   r   4   s9     J J(6" JS JU64;;N5O Jr   c                    \        VR 4      w  r#pV ^ ,          P                  4       p. p. p\        V 4       F  w  rV	P                  p
\	        V
4      V8  d   \        RV RV
 RV RV R2	4      h\	        V
4      V,
          pVP                  WV 4       VP                  VP                  V	. V
RV ORNWR O54      4       K  	  VP                  WbR7      V3# )	packzpacked tensor #z' (enumeration starts with 0) has shape z, while pattern z assumes at least z axesN)axis)	r   r$   	enumerater(   r"   r   appendreshapeconcat)r?   r   n_axes_beforen_axes_aftermin_axesr)   reshaped_tensorspacked_shapesir   r(   axis_after_packed_axess   &&          r   rB   rB   4   s    ,;GV,L)M		'	'	)B%'!#Mw'	u: !!$KE7 S!!(	);H:UL  "%Ul!:U1GHI

63pU>M5J3pB3pQVWnQo3p qr ( 99%9:MIIr   c          	      t    V ^8  d   QhR\         R\        \        ,          R\        R\        \         ,          /# )r   r   rM   r   r   )r   r   r@   r   )r   s   "r   r   r   H   s0     5 56 5$u+ 5 5V 5r   c                    V P                  4       p\        VR R7      w  rEpV P                  p\        V4      V^,           V,           8w  d   \	        RV RV 24      hTpV U	u. uF  p	RV	9   d   RM
\        V	4      NK  	  p
p	\        R V
 4       4      pV^8  d   \	        RV RV R24      h^ .\        V4      ,          Wx,          .,           pV^ 8X  d1   \        V
RR 4       F  w  rW,          V,           W^,           &   K  	  MV
P                  R4      p\        V4       F!  pW,          W,          ,           W^,           &   K#  	  \        V^,           \        V
4      4      RRR1,           F$  pVV^,           ,          V
V,          ,
          VV&   K&  	  VRV pWx^,           R p\        RR4      3V,          p \        V4       UUu. uFJ  w  ppVP                  V . VO\        W,          W^,           ,          4      NRN5,          . VOVOVO54      NKL  	  upp# u up	i u uppi   \         d"   p\        R	T R
TR,           RT 24      ThRp?ii ; i)unpack)opnamezunpack(..., z)) received input of wrong dim with shape c              3   *   "   T F	  qR8H  x  K  	  R# 5i)   NrD    ).0xs   & r   	<genexpr>unpack.<locals>.<genexpr>U   s     !L3Kar'3Ks   z) received more than one -1 in z and can't infer dimensionsN.zError during unpack(..., "z!"): could not split axis of size z into requested rD   )r$   r   r(   r"   r   r   sumrE   indexrangeslicerG   	ExceptionRuntimeError)r   rM   r   r)   rI   rJ   rK   input_shapeunpacked_axisp_shapelengths_of_composed_axesn_unknown_composed_axessplit_positionsrN   rX   unknown_composed_axisjshape_start	shape_endslice_fillerelement_shaper+   s   &&&                   r   rR   rR   H   s   		#	#	%B,;GH,U)M ,,K
;=1,|;;L	1Z[fZghii&Man*oanV]w2DM+Qan*o!!L3K!LL"7)#B=/Qlm
 	
 cC..+2L1MMO!#6s;<DA%4%7!%;OE" = &>%C%CB%G,-A%4%7:R:U%UOE" .,q0#6N2OPQUSUQUVVA!0Q!7:RST:U!UOA W n}-KA-/0I$%'-7L %.m$<
 %= = JJ^^u_-?UVQVAW'X^Z]^_:+::	:
 %=
 	
; +p:
  (	1RSbceSfRg}o/
 	s1   "H8H% AHH% H% %I0IIN)typingr   r   r   einopsr   r   r   r	   r
   packingr   r   r-   r2   r7   r=   r@   rB   rR   rV   r   r   <module>rp      s<    ( ( k k *98GJ" 	J(5r   