§
    �Štj  ã                   ó®   — d dl 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)Ú
AnnotationÚArgumentÚ	ArgumentsÚBaseOperatorNameÚBaseTyÚBaseTypeÚCustomClassTypeÚFunctionSchemaÚListTypeÚOperatorNameÚReturnc                   óv   — e Zd Zeej        eej        eej        eej        iZe	de
deez  ez  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¦  «        r„t          | ¦  «        dk    rt!          d¦  «        ‚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   zlist/tuple must be non-emptyc                 óB   — g | ]}t                                |¦  «        ‘ŒS © )r   Úfrom_example)Ú.0Úxs     úW/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/gen_schema_utils.pyú
<listcomp>z(TypeGen.from_example.<locals>.<listcomp>0   s&   € ÐAÐAÐA¸�G×0Ò0°Ñ3Ô3ÐAÐAÐAó    é   zFCannot generate schema for a sequence 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ÚAssertionErrorÚ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Ý�3‰xŒx˜1Š}ˆ}Ý$Ð%CÑDÔDÐDØ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      sp   € € € € € àˆVŒZØˆvŒ|ØˆVŒZØˆfŒkð	Ðð ð8˜#ð 8 (¨XÑ"5¸Ñ"Gð 8ð 8ð 8ñ „\ð8ð 8ð 8r   r   c            	       óB   — e Zd Zededz  dededz  defd„¦   «         ZdS )Ú	ReturnGenr&   Nr   Ú
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   )	r1   r2   r3   r8   r6   r   r   r   r   r   r   r   r:   r:   >   se   € € € € € ØðCØ�D‰jðCØ"ðCØ0:¸TÑ0AðCà	ðCð Cð Cñ „\ðCð Cð Cr   r:   c                   óF   — e Zd Zededededz  dedz  def
d„¦   «         ZdS )ÚArgumentGenr&   r   ÚdefaultNr;   r   c                 óX   — t          | t                               |¦  «        ||¬¦  «        S )N)r@   r;   )r   r   r   )r&   r   r@   r;   s       r   r   zArgumentGen.from_exampleG   s2   € õ Ø•'×&Ò& sÑ+Ô+°WÈð
ñ 
ô 
ð 	
r   )	r1   r2   r3   r8   r6   r   r   r   r   r   r   r   r?   r?   F   sc   € € € € € Øð
Øð
Øð
Ø&)¨D¡jð
Ø>HÈ4Ñ>Oð
à	ð
ð 
ð 
ñ „\ð
ð 
ð 
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   )rD   rE   rF   Úargsr&   ÚinpÚ	argumentsÚreturnss           r   r   zFunctionSchemaGen.from_exampleQ   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)	r1   r2   r3   r8   r6   r(   r   r   r   r   r   r   rC   rC   P   sp   € € € € € Øð;Øð;à˜e C¨ Hœo¨sÐ2Ô3ð;ð ˜s C˜xœð;ð 
ð	;ð ;ð ;ñ „\ð;ð ;ð ;r   rC   N)Útypingr   Útorchgen.modelr   r   r   r   r   r	   r
   r   r   r   r   r   r:   r?   rC   r   r   r   ú<module>rS      sL  ðØ Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð($8ð $8ð $8ð $8ð $8ñ $8ô $8ð $8ðNCð Cð Cð Cð Cñ Cô Cð Cð
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð;ð ;ð ;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;r   