
    S j)                        S SK Jr  S SKJr  \" SS9 " S S5      5       r      SS jr      SS jr      SS	 jrSS
 jrg)    )annotations)	dataclassT)frozenc                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S	'   \      SS
 j5       r\    SS j5       rSS jrSr	g)SelectiveBuildOperator   strnameboolis_root_operatoris_used_for_traininginclude_all_overloadstuple[str, ...] | None_debug_infoc           
     J   1 Skn[        [        UR                  5       5      U-
  5      S:  aC  [        SR	                  SR                  [        UR                  5       5      U-
  5      5      5      eSU;   a  XS   :w  a  [        SU  SUS    35      eUR                  SS	5      n[        U[        5      (       d  [        S
[        U5       35      eUR                  SS	5      n[        U[        5      (       d  [        S[        U5       35      eUR                  SS	5      n[        U[        5      (       d  [        S[        U5       35      eS nSU;   aC  US   n[        U[        5      (       d  [        S[        U5       35      e[        S U 5       5      n[        U UUUUS9$ )N>   r
   
debug_infor   r   r   r   z!Got unexpected top level keys: {},r
   zop_name mismatch: z != r   Tz,Expected 'is_root_operator' to be bool, got r   z0Expected 'is_used_for_training' to be bool, got r   z1Expected 'include_all_overloads' to be bool, got r   z&Expected 'debug_info' to be list, got c              3  8   #    U  H  n[        U5      v   M     g 7fN)r	   ).0xs     r/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/torchgen/selective_build/operator.py	<genexpr>8SelectiveBuildOperator.from_yaml_dict.<locals>.<genexpr>f   s     7w!s1vvws   r
   r   r   r   r   )lensetkeys	ExceptionformatjoinAssertionErrorget
isinstancer   typelisttupler   )op_nameop_infoallowed_keysr   r   r   r   di_lists           r   from_yaml_dict%SelectiveBuildOperator.from_yaml_dict4   s   
 s7<<>"\12Q63::HHS0<?@  W&/)$(	gfo5FG  #;;'94@*D11 >tDT?U>VW   '{{+A4H.55 B4H\C]B^_  !(,CT J/66 CDI^D_C`a  .2
7"l+Ggt,,$<T']OL  7w77J%-!5"7"
 	
    c                    [        U SSSS S9$ )NTr   )r   )r
   s    r   *from_legacy_operator_name_without_overloadASelectiveBuildOperator.from_legacy_operator_name_without_overloadp   s      &!!%"&
 	
r.   c                    U R                   U R                  U R                  S.nU R                  b  U R                  US'   U$ )N)r   r   r   r   )r   r   r   r   )selfrets     r   to_dictSelectiveBuildOperator.to_dict|   sG     $ 5 5$($=$=%)%?%?"

 ' $ 0 0C
r.    N)r(   r	   r)   dict[str, object]returnr   )r
   r	   r9   r   )r9   r8   )
__name__
__module____qualname____firstlineno____annotations__staticmethodr,   r0   r5   __static_attributes__r7   r.   r   r   r      s}     I     ('9
9
09
	9
 9
v 	
	
		
 	
	r.   r   c                b    U c  Uc  g [        [        U =(       d    SU=(       d    S-   5      5      $ )Nr7   )r'   r   lhsrhss     r   merge_debug_inforE      s-    
 {s{ciRCI2./00r.   c           
        [        U R                  5      [        UR                  5      :w  a8  [        S[        U R                  5       S[        UR                  5       S35      e[        U R                  U R                  =(       d    UR                  U R
                  =(       d    UR
                  U R                  =(       d    UR                  [        U R                  UR                  5      S9$ )Nz8Expected both arguments to have the same name, but got 'z' and 'z	' insteadr   )	r	   r
   r   r   r   r   r   rE   r   rB   s     r   combine_operatorsrG      s     388}CHH%Fs388}oU\]`adaiai]j\kktu
 	
 "XX --E1E1E !55Q9Q9Q!77T3;T;T$S__cooF r.   c                    0 n[        U R                  5       5      [        UR                  5       5      -    H  u  p4UnX2;   a  [        X#   U5      nXRU'   M      U$ r   )r&   itemsrG   )rC   rD   	operatorsr(   opnew_ops         r   merge_operator_dictsrM      sZ     46ICIIK(4		+<<&y'92>F#' = r.   c                (    U R                  SSS9S   $ )N.   )maxsplitr   )split)r(   s    r   strip_operator_overload_namerS      s    ==q=)!,,r.   N)rC   r   rD   r   r9   r   )rC   r   rD   r   r9   r   )rC   !dict[str, SelectiveBuildOperator]rD   rT   r9   rT   )r(   r	   r9   r	   )	
__future__r   dataclassesr   r   rE   rG   rM   rS   r7   r.   r   <module>rW      s    " ! $x x xv1	1	1 1	&<.	*	* '-r.   