ó
    IC˜j>  ã            	      ó|  • S SK Jr  S SKrS SKrS SKJrJrJr  S SKJ	r	  S SK
JrJrJrJrJr  S SKJrJrJr  \(       a  S SKJrJr  \" S\\\\\-  \\-  5      r\" S\\\S-  \\5      r\" S	\\\4   \\   5      r\R<                      SS
 j5       rSS jr SS jr!SS jr"    SS jr#    SS jr$    SS jr%g)é    )ÚannotationsN)ÚAnyÚTYPE_CHECKINGÚTypeVar)ÚBackendIndexÚDispatchKeyÚNativeFunctionÚNativeFunctionsGroupÚNativeFunctionsViewGroup)ÚcontextÚSÚT)ÚCallableÚIteratorÚFÚF2ÚF3c              #  óz  ^#   • [        U [        5      (       a  U R                  mO$[        U [        5      (       a  U R                  mOU m[        U4S j5         [        R                  " TR                  TR                  S9   S v •  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f7f)Nc                 ó<   >• ST R                    ST R                   3$ )Nzin native_functions.yaml line z:
  )ÚlocÚfunc)Úfs   €ÚžC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\torchgen/context.pyÚ<lambda>Ú)native_function_manager.<locals>.<lambda><   s   ø€ Ð9¸!¿%¹%¸ÀÀaÇfÁfÀXÑNó    )Ú!use_const_ref_for_mutable_tensorsÚuse_ilistref_for_tensor_lists)
Ú
isinstancer
   Úoutr   Úviewr   ÚlocalÚparametrizer   Úpart_of_structured_group)Úgr   s    @r   Únative_function_managerr&   -   s�   øé € ô �!Ô)×*Ñ*ð
 �E‰E‰Ü	�AÔ/×	0Ñ	0à�F‰F‰àˆÜ	ÔNÕ	OÜ×ÒØ./×.QÑ.QØ*+×*DÑ*Dó
ó ÷	
÷ 
PÐ	O÷
õ 
ú÷ 
PÕ	Oüs6   ƒAB;Á*B*ÂBÂB*Â	B;Â
B'	Â#B*Â*
B8Â4B;c                óJ   ^ • [         R                  " T 5      SU 4S jj5       nU$ )Nc                ó`   >• [        U 5         T" U 5      sS S S 5        $ ! , (       d  f       g = f©N©r&   )r   r   s    €r   ÚwrapperÚ%with_native_function.<locals>.wrapperJ   s   ø€ ä$ QÕ'Ù˜“7÷ (×'×'úó   �Ÿ
-)r   r   Úreturnr   ©Ú	functoolsÚwraps©r   r+   s   ` r   Úwith_native_functionr3   I   s%   ø€ Ü‡_‚_�TÓöó ðð €Nr   c                óJ   ^ • [         R                  " T 5      SU 4S jj5       nU$ )Nc                ó`   >• [        U 5         T" X5      sS S S 5        $ ! , (       d  f       g = fr)   r*   )r   Úf2r   s     €r   r+   Ú)with_native_function_and.<locals>.wrapperS   s    ø€ ô % QÕ'Ù˜“;÷ (×'×'úr-   )r   r   r6   r   r.   r   r/   r2   s   ` r   Úwith_native_function_andr8   R   s%   ø€ Ü‡_‚_�TÓöó ðð
 €Nr   c                óJ   ^ • [         R                  " T 5      SU 4S jj5       nU$ )Nc                ó`   >• [        U5         T" X5      sS S S 5        $ ! , (       d  f       g = fr)   r*   ©Úslfr   r   s     €r   r+   Ú,method_with_native_function.<locals>.wrapper]   s   ø€ ä$ QÕ'Ù˜“<÷ (×'×'úr-   )r<   r   r   r   r.   r   r/   r2   s   ` r   Úmethod_with_native_functionr>   \   s%   ø€ Ü‡_‚_�TÓö ó ð ð €Nr   c                óJ   ^ • [         R                  " T 5      SU 4S jj5       nU$ )Nc                óf   >• [        US   5         T" X5      sS S S 5        $ ! , (       d  f       g = f)Nr   r*   r;   s     €r   r+   Ú3method_with_nested_native_function.<locals>.wrapperh   s"   ø€ ä$ Q q¡TÕ*Ù˜“<÷ +×*×*ús   �"¢
0)r<   r   r   r   r.   r   r/   r2   s   ` r   Ú"method_with_nested_native_functionrB   e   s'   ø€ ô ‡_‚_�TÓö ó ð ð €Nr   c                óJ   ^ • [         R                  " T 5      SU 4S jj5       nU$ )Nc                ó`   >• [        U 5         T" X5      sS S S 5        $ ! , (       d  f       g = fr)   r*   )r   Úbackend_indexr   s     €r   r+   Ú/with_native_function_and_index.<locals>.wrapperu   s   ø€ ä$ QÕ'Ù˜Ó)÷ (×'×'úr-   )r   r   rE   r   r.   r   r/   r2   s   ` r   Úwith_native_function_and_indexrG   r   s'   ø€ ô ‡_‚_�TÓö*ó ð*ð €Nr   c                óJ   ^ • [         R                  " T 5      SU 4S jj5       nU$ )Nc                ó`   >• [        U 5         T" X5      sS S S 5        $ ! , (       d  f       g = fr)   r*   )r   Úbackend_indicesr   s     €r   r+   Ú1with_native_function_and_indices.<locals>.wrapper�   s   ø€ ä$ QÕ'Ù˜Ó+÷ (×'×'úr-   )r   r   rJ   zdict[DispatchKey, BackendIndex]r.   r   r/   r2   s   ` r   Ú with_native_function_and_indicesrL   ~   s'   ø€ ô ‡_‚_�TÓö,ó ð,ð €Nr   )r%   z@NativeFunctionsGroup | NativeFunctionsViewGroup | NativeFunctionr.   zIterator[None])r   úCallable[[F], T]r.   rM   )r   úCallable[[F, F2], T]r.   rN   )r   úCallable[[S, F], T]r.   rO   )r   úCallable[[S, F3], T]r.   rP   )r   úCallable[[F, BackendIndex], T]r.   rQ   )r   ú1Callable[[F, dict[DispatchKey, BackendIndex]], T]r.   rR   )&Ú
__future__r   Ú
contextlibr0   Útypingr   r   r   Útorchgen.localr"   Útorchgen.modelr   r   r	   r
   r   Útorchgen.utilsr   r   r   Úcollections.abcr   r   r   ÚboolÚstrr   ÚtupleÚlistr   Úcontextmanagerr&   r3   r8   r>   rB   rG   rL   © r   r   Ú<module>r`      s  ðÝ "ã Û ß .Ñ .å ÷õ ÷ )Ñ (ö ß2ñ
 ØØØØØÐ)Ñ)ØÐ-Ñ-ó€ñ ØØØØ�TÑØØó€ñ ˆT�5˜¨Ð,Ñ-¨t°NÑ/CÓD€ð ×ÑðØGðàóó ðô6ôôðØ
ðàôðØ
(ðà#ôðØ
;ðà6õr   