§
    Ì²ÅjV  ã                   ó¶   — d dl mZmZmZ d dlmZmZmZmZm	Z	m
Z
mZmZmZmZmZ  G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d	„ d
¦  «        ZdS )é    )ÚAnyÚOptionalÚUnion)Ú
AnnotationÚArgumentÚ	ArgumentsÚBaseOperatorNameÚBaseTyÚBaseTypeÚCustomClassTypeÚFunctionSchemaÚListTypeÚOperatorNameÚReturnc                   ó|   — e Zd Zeej        eej        eej        eej        iZe	de
deeeef         fd„¦   «         ZdS )ÚTypeGenÚobjÚreturnc                 óÖ  — dd l }t          | |j        j        ¦  «        rt	          t
          j        ¦  «        S t          | |j        ¦  «        rt	          t
          j        ¦  «        S t          | |j        ¦  «        rt	          t
          j        ¦  «        S t          | |j        ¦  «        rt	          t
          j        ¦  «        S t          | |j	        ¦  «        r3t          |                      ¦   «                              ¦   «         ¦  «        S t          | t          t          f¦  «        rwt          | ¦  «        dk    sJ ‚d„ | D ¦   «         }t          t!          |¦  «        ¦  «        dk    rt#          d|› d�¦  «        ‚t%          |d         t          | ¦  «        ¦  «        S t'          | ¦  «        }|t(          j        vrt#          d|› �¦  «        ‚t	          t(          j        |         ¦  «        S )Nr   c                 óB   — g | ]}t                                |¦  «        ‘ŒS © )r   Úfrom_example)Ú.0Úxs     úJC:\Projects\Historical\venv\Lib\site-packages\torchgen/gen_schema_utils.pyú
<listcomp>z(TypeGen.from_example.<locals>.<listcomp>/   s&   € ÐAÐAÐA¸�G×0Ò0°Ñ3Ô3ÐAÐAÐAó    é   zFCannot generate schema for a seqeunce of args of heterogeneous types: zc. Consider unpacking the argument and give proper names to them if possible instead of using *args.zunsupported type )ÚtorchÚ
isinstanceÚfxÚGraphModuler   r
   ÚTensorÚSymIntÚSymBoolÚScriptObjectr   Ú_typeÚnameÚlistÚtupleÚlenÚsetÚRuntimeErrorr   Útyper   Úconvert_to_base_ty)r   r   Úall_base_tysÚtps       r   r   zTypeGen.from_example   s¸  € àˆˆˆå�c˜5œ8Ô/Ñ0Ô0ð 	7Ý�FÔ.Ñ/Ô/Ð/Ý˜˜Uœ\Ñ*Ô*ð 	7Ý�FœMÑ*Ô*Ð*Ý˜˜Uœ\Ñ*Ô*ð 	7Ý�FœMÑ*Ô*Ð*Ý˜˜Uœ]Ñ+Ô+ð 	7Ý�FœNÑ+Ô+Ð+Ý˜˜UÔ/Ñ0Ô0ð 	7Ý" 3§9¢9¡;¤;×#3Ò#3Ñ#5Ô#5Ñ6Ô6Ð6Ý˜�d¥E˜]Ñ+Ô+ð 		7Ý�s‘8”8˜a’<�<�<�<ØAÐA¸SÐAÑAÔAˆLÝ•3�|Ñ$Ô$Ñ%Ô%¨Ò)Ð)Ý"ð.Ð]ið .ð .ð .ñô ð õ
 ˜L¨œO­S°©X¬XÑ6Ô6Ð6Ý�#‰YŒYˆØ•WÔ/Ð/Ð/ÝÐ7°2Ð7Ð7Ñ8Ô8Ð8Ý�Ô2°2Ô6Ñ7Ô7Ð7r   N)Ú__name__Ú
__module__Ú__qualname__Úintr
   ÚfloatÚstrÚboolr/   Ústaticmethodr   r   r   r   r   r   r   r   r   r   r      sr   € € € € € àˆVŒZØˆvŒ|ØˆVŒZØˆfŒkð	Ðð ð8˜#ð 8 %¨°(¸OÐ(KÔ"Lð 8ð 8ð 8ñ „\ð8ð 8ð 8r   r   c            	       óN   — e Zd Zedee         dedee         defd„¦   «         Z	dS )Ú	ReturnGenr(   r   Ú
annotationr   c                 óT   — t          | t                               |¦  «        |¦  «        S ©N)r   r   r   )r(   r   r<   s      r   r   zReturnGen.from_example>   s$   € õ �d�G×0Ò0°Ñ5Ô5°zÑBÔBÐBr   N)
r2   r3   r4   r9   r   r7   r   r   r   r   r   r   r   r;   r;   =   se   € € € € € ØðCØ�sŒmðCØ"%ðCØ3;¸JÔ3GðCà	ðCð Cð Cñ „\ðCð Cð Cr   r;   c                   óR   — e Zd Zedededee         dee         def
d„¦   «         Z	dS )ÚArgumentGenr(   r   Údefaultr<   r   c                 óX   — t          | t                               |¦  «        ||¬¦  «        S )N)rA   r<   )r   r   r   )r(   r   rA   r<   s       r   r   zArgumentGen.from_exampleF   s2   € õ Ø•'×&Ò& sÑ+Ô+°WÈð
ñ 
ô 
ð 	
r   N)
r2   r3   r4   r9   r7   r   r   r   r   r   r   r   r   r@   r@   E   sc   € € € € € Øð
Øð
Øð
Ø&.¨s¤mð
ØAIÈ*ÔAUð
à	ð
ð 
ð 
ñ „\ð
ð 
ð 
r   r@   c            	       óf   — e Zd Zededeeeef         df         deedf         defd„¦   «         ZdS )ÚFunctionSchemaGenÚop_nameÚexample_inputs.Úexample_outputsr   c           
      ó®  — g }|D ]5\  }}|                      t                               ||d d ¦  «        ¦  «         Œ6t          t	          ¦   «         d t	          |¦  «        t	          ¦   «         d t	          ¦   «         t	          ¦   «         ¦  «        }t	          d„ |D ¦   «         ¦  «        }t          t          | ddd¦  «        d¦  «        } t          | ||¦  «        S )Nc              3   óN   K  — | ] }t                                d |d ¦  «        V — Œ!d S r>   )r;   r   )r   Úouts     r   ú	<genexpr>z1FunctionSchemaGen.from_example.<locals>.<genexpr>]   sE   è è € ð 
ð 
Ø8;�I×"Ò" 4¨¨dÑ3Ô3ð
ð 
ð 
ð 
ð 
ð 
r   FÚ )Úappendr@   r   r   r*   r   r	   r   )rE   rF   rG   Úargsr(   ÚinpÚ	argumentsÚreturnss           r   r   zFunctionSchemaGen.from_exampleP   sÚ   € ð ˆØ'ð 	Ið 	I‰IˆD�#Ø�KŠK�×0Ò0°°s¸DÀ$ÑGÔGÑHÔHÐHÐHåÝ‰GŒG�T�5 ™;œ;­©¬°µu±w´wÅÁÄñ
ô 
ˆ	õ ð 
ð 
Ø?Nð
ñ 
ô 
ñ 
ô 
ˆõ Õ/°¸ÀÀuÑMÔMÈrÑRÔRˆÝ˜g y°'Ñ:Ô:Ð:r   N)	r2   r3   r4   r9   r7   r*   r   r   r   r   r   r   rD   rD   O   sp   € € € € € Øð;Øð;à˜e C¨ Hœo¨sÐ2Ô3ð;ð ˜s C˜xœð;ð 
ð	;ð ;ð ;ñ „\ð;ð ;ð ;r   rD   N)Útypingr   r   r   Útorchgen.modelr   r   r   r	   r
   r   r   r   r   r   r   r   r;   r@   rD   r   r   r   ú<module>rT      sX  ðØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð(#8ð #8ð #8ð #8ð #8ñ #8ô #8ð #8ðLCð Cð Cð Cð Cñ Cô Cð Cð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;r   