§
    ©²Åj³G  ã                   óL  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z	 d dlm
Z
 d dl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mZmZmZmZmZmZmZ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-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8 ddl9m:Z: ej;        j<         =                    ¦   «         rd d	lm>Z> d d
l"m?Z?m@Z@ d dlAmBZB  G d„ d¦  «        ZC G d„ d¦  «        ZDd„ ZEd„ ZFd„ ZGd„ ZHd„ ZId„ ZJd„ ZKd„ ZLd„ ZMd„ ZNde
ejO                 fd„ZPd„ ZQd„ ZRd!d„ZSd!d„ZTg d ¢ZUdS )"é    N)Údedent)ÚType)Ú_GeneratorTypeÚAnyTypeÚ	AwaitTypeÚBoolTypeÚComplexTypeÚDeviceObjTypeÚDictTypeÚEnumTypeÚ	FloatTypeÚ
FutureTypeÚInterfaceTypeÚIntTypeÚListTypeÚNoneTypeÚ
NumberTypeÚOptionalTypeÚStreamObjTypeÚ
StringTypeÚ
TensorTypeÚ	TupleTypeÚ	UnionType)Ú_AwaitÚ_qualified_nameÚAnyÚBroadcastingList1ÚBroadcastingList2ÚBroadcastingList3ÚDictÚFutureÚis_awaitÚis_dictÚ	is_futureÚis_ignored_fnÚis_listÚis_optionalÚis_tupleÚis_unionÚListÚOptionalÚTupleÚUnion)Úget_source_lines_and_fileé   )Ú_get_script_class)ÚRRefType)Úis_rrefÚRRef)ÚOpOverloadPacketc                   ó   — e Zd Zd„ Zd„ ZdS )ÚModulec                 ó"   — || _         || _        d S ©N)ÚnameÚmembers)Úselfr9   r:   s      úFC:\Projects\Historical\venv\Lib\site-packages\torch/jit/annotations.pyÚ__init__zModule.__init__H   s   € ØˆŒ	ØˆŒˆˆó    c                 óp   — 	 | j         |         S # t          $ r t          d| j        › d|› �¦  «        d ‚w xY w)NzModule z has no member called )r:   ÚKeyErrorÚRuntimeErrorr9   ©r;   r9   s     r<   Ú__getattr__zModule.__getattr__L   sY   € ð	Ø”< Ô%Ð%øÝð 	ð 	ð 	ÝØA˜$œ)ÐAÐA¸4ÐAÐAñô àðð	øøøs   ‚ �&5N)Ú__name__Ú
__module__Ú__qualname__r=   rC   © r>   r<   r6   r6   G   s2   € € € € € ðð ð ðð ð ð ð r>   r6   c                   óx   — e Zd Z eddej        i¦  «        ej         eddei¦  «        eeee	e
eedœ
Zd„ Zd„ ZdS )	ÚEvalEnvÚtorchÚTensorÚtypingr,   )
rJ   rK   rL   r,   r*   r    r+   r-   r!   ÚAwaitc                 ó|   — || _         t          j        j                             ¦   «         rt
          | j        d<   d S d S )Nr3   )ÚrcbrJ   ÚdistributedÚrpcÚis_availabler3   Úenv)r;   rO   s     r<   r=   zEvalEnv.__init__c   s?   € ØˆŒÝÔÔ ×-Ò-Ñ/Ô/ð 	$Ý#ˆDŒH�VÑÐÐð	$ð 	$r>   c                 ó’   — || j         v r| j         |         S | j        �|                      |¦  «        S t          t          |d ¦  «        S r8   )rS   rO   ÚgetattrÚbuiltinsrB   s     r<   Ú__getitem__zEvalEnv.__getitem__h   sE   € Ø�4”8ÐÐØ”8˜D”>Ð!ØŒ8ÐØ—8’8˜D‘>”>Ð!Ý•x  tÑ,Ô,Ð,r>   N)rD   rE   rF   r6   rJ   rK   r,   r*   r    r+   r-   r!   r   rS   r=   rW   rG   r>   r<   rI   rI   U   s‚   € € € € € à�˜ (¨E¬LÐ!9Ñ:Ô:Ø”,Ø�&˜ G¨UÐ#3Ñ4Ô4ØØØØØØØðð €Cð$ð $ð $ð
-ð -ð -ð -ð -r>   rI   c                 óŠ  — t          | t          ¦  «        rt          | j        |¦  «        }nt          | |¦  «        }|�|r|\  }}|dd …         }||f}|€nd\  }}	 t	          d                     t          | ¦  «        d         ¦  «        ¦  «        }t          |¦  «        }n# t          $ r Y nw xY w|�t          |||¦  «        }|S )Nr/   )NNÚ r   )
Ú
isinstancer4   Útry_real_annotationsÚopr   Újoinr.   Úget_type_lineÚ	TypeErrorÚparse_type_line)	ÚfnrO   ÚlocÚ	is_methodÚ	signatureÚparam_typesÚreturn_typeÚ	type_lineÚsources	            r<   Úget_signatureri   p   sï   € Ý�"Õ&Ñ'Ô'ð 2Ý(¨¬°Ñ4Ô4ˆ	ˆ	å(¨¨SÑ1Ô1ˆ	ØÐ Ðð
 $-Ñ ˆ�[Ø! ! " "”oˆØ  +Ð.ˆ	àÐØ&Ñˆ	�6ð	Ý˜BŸGšGÕ$=¸bÑ$AÔ$AÀ!Ô$DÑEÔEÑFÔFˆFÝ% fÑ-Ô-ˆIˆIøÝð 	ð 	ð 	ØˆDð	øøøð Ð Ý'¨	°3¸Ñ<Ô<ˆIàÐs   ÁAB  Â 
B-Â,B-c                 óR   — t          j        | ¦  «        pt          j        | ¦  «        S r8   )ÚinspectÚ
isfunctionÚismethod©Úthe_callables    r<   Úis_function_or_methodrp   �   s%   € õ Ô˜lÑ+Ô+ÐM­wÔ/?ÀÑ/MÔ/MÐMr>   c                 ó¤   — t          | ¦  «        st          | ¦  «        r| j        } t          | ¦  «        rt          j        | ¦  «        j        d uS dS )NF)rp   ÚcallableÚ__call__rk   ÚgetfullargspecÚvarargsrn   s    r<   Ú	is_varargrv   “   sY   € Ý  Ñ.Ô.ð -µ8¸LÑ3IÔ3Ið -ð $Ô,ˆå˜\Ñ*Ô*ð ÝÔ% lÑ3Ô3Ô;À4ÐGÐGàˆur>   c                 ót  — t          | t          ¦  «        r| j        } t          | ¦  «        s*t	          | ¦  «        rt          | j        ¦  «        r| j        } t          | ¦  «        r<t          | ¦  «        rt          j        | ¦  «        } t          j	        | ¦  «        j
        S d„ t          |¦  «        D ¦   «         S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS rG   )Ústr)Ú.0Úis     r<   ú
<listcomp>z#get_param_names.<locals>.<listcomp>²   s   € Ð.Ð.Ð.˜1•�A‘”Ð.Ð.Ð.r>   )rZ   r4   r\   rp   rr   rs   r%   rk   Úunwraprt   ÚargsÚrange)ra   Ún_argss     r<   Úget_param_namesr�   Ÿ   s¸   € Ý�"Õ&Ñ'Ô'ð ØŒUˆõ " "Ñ%Ô%ðå�R‰LŒLðõ " "¤+Ñ.Ô.ðð Œ[ˆå˜RÑ Ô ð /Ý˜ÑÔð 	$Ý” Ñ#Ô#ˆBÝÔ% bÑ)Ô)Ô.Ð.ð /Ð.¥ f¡¤Ð.Ñ.Ô.Ð.r>   c                 ó„  — 	 t          d                     t          | ¦  «        d         ¦  «        ¦  «        }n# t          t          f$ r Y d S w xY w|€d S t          j        |¦  «        }t          |j        ¦  «        dk    r^t          |j        d         t
          j
        ¦  «        r9t          j        j                             |d|j        d         j        › d�¦  «        ‚t          |j        ¦  «        dk    s%t          |j        d         t
          j        ¦  «        s%t          j        j                             |d¦  «        ‚d S )NrY   r   r/   zCannot instantiate class 'z' in a script functionz$Expected a single top-level function)r   r]   r.   ÚOSErrorr_   ÚastÚparseÚlenÚbodyrZ   ÚClassDefrJ   ÚjitÚfrontendÚFrontendErrorr9   ÚFunctionDef)ra   rb   rh   Úpy_asts       r<   Úcheck_fnrŽ   µ   s,  € ðÝ˜ŸšÕ 9¸"Ñ =Ô =¸aÔ @ÑAÔAÑBÔBˆˆøÝ•YÐð ð ð Øˆˆðøøøà€~ØˆåŒY�vÑÔ€FÝ
ˆ6Œ;ÑÔ˜1ÒÐ¥¨F¬K¸¬N½C¼LÑ!IÔ!IÐÝŒiÔ ×.Ò.ØØT¨¬°Q¬Ô)<ÐTÐTÐTñ
ô 
ð 	
õ ˆ6Œ;ÑÔ˜1ÒÐ¥J¨v¬{¸1¬~½s¼Ñ$OÔ$OÐÝŒiÔ ×.Ò.ØÐ7ñ
ô 
ð 	
ð Ðs   ‚58 ¸AÁAc                 ó®   — t          | dd¬¦  «        }t          j        |¦  «        D ]}d|j        v rt	          d| › d�¦  «        ‚Œt          |||¦  «        S )zLEvaluate statement as long as it does not contain any method/function calls.rY   Úeval)ÚmodeÚCALLz/Type annotation should not contain calls, but 'z' does)ÚcompileÚdisÚget_instructionsÚopnamerA   r�   )ÚstmtÚglobrb   ÚbytecodeÚinsns        r<   Ú_eval_no_callr›   Ê   sv   € å�t˜R fÐ-Ñ-Ô-€HÝÔ$ XÑ.Ô.ð ð ˆØ�T”[Ð Ð ÝØNÀ$ÐNÐNÐNñô ð ð !õ �˜$ Ñ$Ô$Ð$r>   c                 ó¼  ‡— t          | ¦  «        \  }}	 t          |i t          |¦  «        ¦  «        }n)# t          t          f$ r}t          d¦  «        |‚d}~ww xY wt          |t          ¦  «        s|f}	 t          |i t          |¦  «        ¦  «        }n)# t          t          f$ r}t          d¦  «        |‚d}~ww xY wˆfd„|D ¦   «         }|t          |‰¦  «        fS )z»Parse a type annotation specified as a comment.

    Example inputs:
        # type: (Tensor, torch.Tensor) -> Tuple[Tensor]
        # type: (Tensor, Tuple[Tensor, Tensor]) -> Tensor
    z6Failed to parse the argument list of a type annotationNz4Failed to parse the return type of a type annotationc                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS rG   )Úann_to_type)rz   Úannrb   s     €r<   r|   z#parse_type_line.<locals>.<listcomp>ï   s#   ø€ Ð:Ð:Ð:¨3•˜S #Ñ&Ô&Ð:Ð:Ð:r>   )	Úsplit_type_liner›   rI   Ú	NameErrorÚSyntaxErrorrA   rZ   Útuplerž   )	rg   rO   rb   Úarg_ann_strÚret_ann_strÚarg_annÚeÚret_annÚ	arg_typess	     `      r<   r`   r`   Õ   s  ø€ õ  /¨yÑ9Ô9Ñ€K�ðÝ ¨Rµ¸±´Ñ>Ô>ˆˆøÝ•{Ð#ð ð ð ÝØDñ
ô 
àð	øøøøðøøøõ
 �g�uÑ%Ô%ð Ø�*ˆðÝ ¨Rµ¸±´Ñ>Ô>ˆˆøÝ•{Ð#ð ð ð ÝØBñ
ô 
àð	øøøøðøøøð
 ;Ð:Ð:Ð:°'Ð:Ñ:Ô:€IØ•k '¨3Ñ/Ô/Ð/Ð/s-   •4 ´AÁAÁAÁ6B ÂB;Â&B6Â6B;c                 óî  ‡‡‡— dŠ|                       d¦  «        }t          t          |¦  «        ¦  «        }t          t          ˆfd„|¦  «        ¦  «        }t	          j        d¦  «        Št          t          ˆfd„|¦  «        ¦  «        }t          |¦  «        dk    r}t	          j        d¦  «        Št          t          ˆfd„|¦  «        ¦  «        }t          |¦  «        dk    r4t          d	t          |d         d         ¦  «        z   d
z   dz   dz   ¦  «        ‚dS t          |¦  «        dk    r |d         d          	                    ¦   «         S d}g }|D ](\  }}d|v r||f} n‰|v r| 
                    |¦  «         Œ)|€2t          dd                     d„ |D ¦   «         ¦  «        z   dz   ¦  «        ‚ˆfd„}t          ||¦  «        }	d                     |	¦  «        }
|d                              d|
¦  «        S )zCTry to find the line containing a comment with the type annotation.ú# type:ú
c                 ó   •— ‰| d         v S ©Nr/   rG   )ÚlineÚtype_comments    €r<   ú<lambda>zget_type_line.<locals>.<lambda>ù   s   ø€ ¨,¸$¸q¼'Ð*A€ r>   z!# type:\ ignore(\[[a-zA-Z-]+\])?$c                 ó<   •— ‰                      | d         ¦  «         S r®   ©Úsearch)r¯   Útype_patterns    €r<   r±   zget_type_line.<locals>.<lambda>  s   ø€ ¨l×.AÒ.AÀ$ÀqÄ'Ñ.JÔ.JÐ*J€ r>   r   z&#[	 ]*type[	 ]*(?!: ignore(\[.*\])?$):c                 ó:   •— ‰                      | d         ¦  «        S r®   r³   )r¯   Úwrong_type_patterns    €r<   r±   zget_type_line.<locals>.<lambda>  s   ø€ Ð 2× 9Ò 9¸$¸q¼'Ñ BÔ B€ r>   zThe annotation prefix in line z* is probably invalid.
It must be '# type:'zl
See PEP 484 (https://www.python.org/dev/peps/pep-0484/#suggested-syntax-for-python-2-7-and-straddling-code)z
for examplesNr/   z# type: (...) -> z_Return type line '# type: (...) -> ...' not found on multiline type annotation
for type lines:
c                 ó   — g | ]
}|d          ‘ŒS )r/   rG   )rz   r¯   s     r<   r|   z!get_type_line.<locals>.<listcomp>(  s   € Ð8Ð8Ð8 T˜˜aœÐ8Ð8Ð8r>   zl
(See PEP 484 https://www.python.org/dev/peps/pep-0484/#suggested-syntax-for-python-2-7-and-straddling-code)c                 ó†   •— | |                       ‰¦  «        t          ‰¦  «        z   d …         }|                     ¦   «         S r8   )Úfindr†   Ústrip)r¯   Ú	item_typer°   s     €r<   Úget_parameter_typez)get_type_line.<locals>.get_parameter_type,  s<   ø€ Ø˜Ÿš <Ñ0Ô0µ3°|Ñ3DÔ3DÑDÐFÐFÔGˆ	Ø�ŠÑ Ô Ð r>   z, z...)ÚsplitÚlistÚ	enumerateÚfilterÚrer“   r†   rA   ry   r»   Úappendr]   ÚmapÚreplace)rh   ÚlinesÚ
type_linesÚwrong_type_linesÚreturn_lineÚparameter_type_linesÚline_numr¯   r½   ÚtypesÚparameter_typesr°   rµ   r·   s              @@@r<   r^   r^   ó   sb  øøø€ à€Là�LŠL˜ÑÔ€EÝ•˜5Ñ!Ô!Ñ"Ô"€EÝ•fÐAÐAÐAÐAÀ5ÑIÔIÑJÔJ€Jõ ”:ÐDÑEÔE€LÝ•fÐJÐJÐJÐJÈJÑWÔWÑXÔX€Jå
ˆ:�„˜!ÒÐåœZÐ(TÑUÔUÐÝÝÐBÐBÐBÐBÀEÑJÔJñ
ô 
Ðõ ÐÑ Ô  1Ò$Ð$ÝØ0ÝÐ& qÔ)¨!Ô,Ñ-Ô-ñ.à?ñ@ð BñBð #ñ	#ñô ð ð ˆtÝ	ˆZ‰Œ˜AÒ	Ð	à˜!Œ}˜QÔ×%Ò%Ñ'Ô'Ð'ð €KØÐØ$ð .ð .‰ˆ�$Ø $Ð&Ð&Ø# TÐ*ˆKØˆEØ˜TÐ!Ð!Ø ×'Ò'¨Ñ-Ô-Ð-øØÐÝð1à�iŠiÐ8Ð8¨ZÐ8Ñ8Ô8Ñ9Ô9ñ:ð ~ñ~ñ
ô 
ð 	
ð!ð !ð !ð !ð !õ Ð"Ð$8Ñ9Ô9€EØ—i’i Ñ&Ô&€Oà�qŒ>×!Ò! %¨Ñ9Ô9Ð9r>   c                 ó   — t          d¦  «        }	 |                      d¦  «        }n# t          $ r t          d¦  «        d‚w xY w| ||…                              ¦   «         | |dz   d…                              ¦   «         fS )a  Split the comment with the type annotation into parts for argument and return types.

    For example, for an input of:
        # type: (Tensor, torch.Tensor) -> Tuple[Tensor, Tensor]

    This function will return:
        ("(Tensor, torch.Tensor)", "Tuple[Tensor, Tensor]")

    r«   z->z4Syntax error in type annotation (couldn't find `->`)Né   )r†   ÚindexÚ
ValueErrorrA   r»   )rg   Ústart_offsetÚ	arrow_poss      r<   r    r    6  s–   € õ �y‘>”>€LðØ—O’O DÑ)Ô)ˆ	ˆ	øÝð ð ð ÝØBñ
ô 
àð	ðøøøð �\ )Ð+Ô,×2Ò2Ñ4Ô4°iÀ	ÈAÁÀÀÔ6P×6VÒ6VÑ6XÔ6XÐXÐXs	   ‘' §Ac                 ób  ‡‡— 	 t          j        | ¦  «        Šn# t          $ r Y dS w xY w‰j        gd„ ‰j                             ¦   «         D ¦   «         z   }t          ˆfd„|D ¦   «         ¦  «        rdS ˆfd„‰j                             ¦   «         D ¦   «         }t          ‰j        ‰¦  «        }||fS )z8Try to use the Py3.5+ annotation syntax to get the type.Nc                 ó   — g | ]	}|j         ‘Œ
S rG   )Ú
annotation)rz   Úps     r<   r|   z(try_real_annotations.<locals>.<listcomp>T  s'   € ð ,ð ,ð ,ØˆŒð,ð ,ð ,r>   c              3   ó*   •K  — | ]}|‰j         u V — Œd S r8   )Úempty)rz   rŸ   Úsigs     €r<   ú	<genexpr>z'try_real_annotations.<locals>.<genexpr>W  s*   øè è € Ð
2Ð
2 ˆ3�#”)ÐÐ
2Ð
2Ð
2Ð
2Ð
2Ð
2r>   c                 ó:   •— g | ]}t          |j        ‰¦  «        ‘ŒS rG   )rž   rÖ   )rz   r×   rb   s     €r<   r|   z(try_real_annotations.<locals>.<listcomp>Z  s%   ø€ ÐQÐQÐQ°A•˜Qœ\¨3Ñ/Ô/ÐQÐQÐQr>   )rk   rd   rÑ   Úreturn_annotationÚ
parametersÚvaluesÚallrž   )ra   rb   Ú
all_annotsr©   rf   rÚ   s    `   @r<   r[   r[   J  së   øø€ ðõ Ô Ñ#Ô#ˆˆøÝð ð ð Øˆtˆtðøøøð Ô'Ð(ð ,ð ,Ø!œn×3Ò3Ñ5Ô5ð,ñ ,ô ,ñ €Jõ Ð
2Ð
2Ð
2Ð
2 zÐ
2Ñ
2Ô
2Ñ2Ô2ð ØˆtàQÐQÐQÐQ¸¼×9NÒ9NÑ9PÔ9PÐQÑQÔQ€IÝ˜cÔ3°SÑ9Ô9€KØ�kÐ!Ð!s   „ ™
'¦'r§   c                 óö   ‡— t          | ¦  «        }|st          d| j        › d�¦  «        ‚d„ |D ¦   «         }ˆfd„|D ¦   «         }t          j                             |¦  «        }|st          j        ¦   «         S |S )NzNo enum values defined for: 'ú'c                 ó6   — h | ]}t          |j        ¦  «        ’ŒS rG   )ÚtypeÚvalue)rz   Úvs     r<   ú	<setcomp>z&get_enum_value_type.<locals>.<setcomp>f  s    € Ð0Ð0Ð0˜q�T�!”'‰]Œ]Ð0Ð0Ð0r>   c                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS rG   ©Útry_ann_to_type)rz   Útrb   s     €r<   r|   z'get_enum_value_type.<locals>.<listcomp>g  s#   ø€ Ð7Ð7Ð7¨A•  3Ñ'Ô'Ð7Ð7Ð7r>   )r¿   rÑ   Ú	__class__rJ   Ú_CÚunify_type_listr   Úget)r§   rb   Úenum_valuesrÌ   Úir_typesÚress    `    r<   Úget_enum_value_typerô   a  s�   ø€ Ý#'¨¡7¤7€KØð IÝÐG¸¼ÐGÐGÐGÑHÔHÐHà0Ð0 KÐ0Ñ0Ô0€EØ7Ð7Ð7Ð7°Ð7Ñ7Ô7€Hõ Œ(×
"Ò
" 8Ñ
,Ô
,€CØð ÝŒ{‰}Œ}ÐØ€Jr>   c                 óP  — t          | t          j        ¦  «        rdS t          | t          j        t          j        t          j        t          j        t          j        t          j        t          j	        t          j
        t          j        f	¦  «        rt          j        d¦  «         dS dS )NTz¢TorchScript will treat type annotations of Tensor dtype-specific subtypes as if they are normal Tensors. dtype constraints are not enforced in compilation either.F)Ú
issubclassrJ   rK   Ú
LongTensorÚDoubleTensorÚFloatTensorÚ	IntTensorÚShortTensorÚ
HalfTensorÚ
CharTensorÚ
ByteTensorÚ
BoolTensorÚwarningsÚwarn)rŸ   s    r<   Ú	is_tensorr  s  s’   € Ý�#•u”|Ñ$Ô$ð ØˆtåØåÔÝÔÝÔÝŒOÝÔÝÔÝÔÝÔÝÔð
	
ñô ð õ 	ŒðHñ	
ô 	
ð 	
ð
 ˆtàˆ5r>   c                 ó   — d S r8   rG   )Úinps    r<   Ú	_fake_rcbr  �  s   € Øˆ4r>   c           	      ó:  ‡— t          j        | ¦  «        }| t          j        j        u rt          j        ¦   «         S | €t          j        ¦   «         S t          j	        | ¦  «        r"t          | ¦  «        rt          j        ¦   «         S t          | ¦  «        rIt          |¦  «        dk    r|d         dk    rt          g ¦  «        S t          ˆfd„|D ¦   «         ¦  «        S t          | ¦  «        r't          |d         ‰¦  «        }|rt!          |¦  «        S t#          | ¦  «        ršt          |d         ‰¦  «        }t          |d         ‰¦  «        }|€-t%          d|d         › d‰                     ¦   «         › �¦  «        ‚|€-t%          d|d         › d‰                     ¦   «         › �¦  «        ‚t)          ||¦  «        S t+          | ¦  «        r�t-          |d         t/          d ¦  «        ¦  «        r	|d         }n|d         }t          |‰¦  «        }d}	|sFJ |	                     t3          | ¦  «        t3          |¦  «        t3          ‰¦  «        ¦  «        ¦   «         ‚t5          |¦  «        S t7          | ¦  «        r÷t9          |¦  «        t:          t<          t>          hk    rtA          j        ¦   «         S g }
t          j        | ¦  «        D ]™}|€&|
 !                    t          j        ¦   «         ¦  «         t          |‰¦  «        }d}	|sFJ |	                     t3          | ¦  «        t3          |¦  «        t3          ‰¦  «        ¦  «        ¦   «         ‚|
 !                    |¦  «         ŒštE          |
¦  «        S tF          j$        j%         &                    ¦   «         r2tO          | ¦  «        r#tQ          t          |d         ‰¦  «        ¦  «        S tS          | ¦  «        r#tU          t          |d         ‰¦  «        ¦  «        S tW          | ¦  «        r:|rt          |d         ‰¦  «        ntY          j        ¦   «         }t[          |¦  «        S | t<          u rt]          j        ¦   «         S | t>          u rt_          j        ¦   «         S | t:          u s| tF          j0        u rtc          j        ¦   «         S | td          u rtg          j        ¦   «         S | th          u rtk          j        ¦   «         S | tl          u rtY          j        ¦   «         S | t/          d ¦  «        u rt          j        ¦   «         S t          j	        | ¦  «        r$to          | d¦  «        rtq          | j9        ¦  «        S | tF          j:        u rtw          j        ¦   «         S | tF          j<        u rt{          j        ¦   «         S | tF          j>        u rt          j        ¦   «         S | tF          j@        u rtc          j        ¦   «         S t          j	        | ¦  «        ržt-          | t‚          jB        ¦  «        r„t‡          | ¦  «        €:tF          jD        jE         F                    | ‰¦  «        }| G                    ¦   «         }nt‘          | ¦  «        }t“          |t•          | ‰¦  «        t—          | ¦  «        ¦  «        S t          j	        | ¦  «        rWt‡          | ¦  «        }|�|S tF          jL         M                    | ¦  «        r%tF          jD        jE         F                    | ‰¦  «        S |€tœ          }tF          jO         P                    | ‰|¦  «        S )	Nr/   r   rG   c                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS rG   rê   )rz   Úarb   s     €r<   r|   z#try_ann_to_type.<locals>.<listcomp>   s#   ø€ ÐDÐDÐD°a�/¨!¨SÑ1Ô1ÐDÐDÐDr>   úUnknown type annotation: 'ú' at zWUnsupported annotation {} could not be resolved because {} could not be resolved. At
{}Ú__torch_script_interface__)QrL   Úget_argsrk   Ú	SignaturerÙ   r   ÚgetInferredr   rð   Úisclassr  r(   r†   r   r&   rë   r   r#   rÑ   Ú	highlightr   r'   rö   rå   ÚformatÚreprr   r)   ÚsetÚintÚfloatÚcomplexr   rÃ   r   rJ   rP   rQ   rR   r2   r1   r$   r   r"   r   r   r   r	   ÚSymIntr   ry   r   Úboolr   r   Úhasattrr   r  Údevicer
   Ú	Generatorr   ÚStreamr   ÚdtypeÚenumÚEnumr0   r‰   Ú_scriptÚ_recursive_compile_classÚqualified_namer   r   rô   r¿   Ú_jit_internalÚcan_compile_classr  rî   Ú_resolve_type_from_object)rŸ   rb   rO   Úann_argsÚ	elem_typeÚkeyræ   Ú	containedÚ
valid_typeÚmsgÚinnerr  Ú
maybe_typeÚelementTypeÚscripted_classr9   Úmaybe_script_classs    `               r<   rë   rë   “  sA  ø€ ÝŒ˜sÑ#Ô#€Hà
�gÔÔ%Ð%Ð%ÝÔ%Ñ'Ô'Ð'Ø
€{ÝŒ|‰~Œ~ÐÝ„�sÑÔð  ¥	¨#¡¤ð  ÝŒ~ÑÔÐÝ��}„}ð Fåˆx‰=Œ=˜AÒÐ (¨1¤+°Ò"3Ð"3Ý˜R‘=”=Ð ÝÐDÐDÐDÐD¸8ÐDÑDÔDÑEÔEÐEÝˆs�|„|ð 'Ý# H¨Q¤K°Ñ5Ô5ˆ	Øð 	'Ý˜IÑ&Ô&Ð&Ýˆs�|„|ð $Ý˜h qœk¨3Ñ/Ô/ˆÝ ¨¤¨SÑ1Ô1ˆàˆ;ÝØP¨X°a¬[ÐPÐP¸s¿}º}¹¼ÐPÐPñô ð ð ˆ=ÝØP¨X°a¬[ÐPÐP¸s¿}º}¹¼ÐPÐPñô ð õ ˜˜UÑ#Ô#Ð#Ý�3ÑÔð (Ý�h˜q”k¥4¨¡:¤:Ñ.Ô.ð 	$Ø  œˆIˆIà  œˆIÝ$ Y°Ñ4Ô4ˆ
ØhˆØÐLÐL˜3Ÿ:š:¥d¨3¡i¤iµ°i±´Å$ÀsÁ)Ä)ÑLÔLÑLÔLˆzÝ˜JÑ'Ô'Ð'Ý��}„}ð  åˆx‰=Œ=�S¥%­Ð1Ò1Ð1Ý”>Ñ#Ô#Ð#Øˆõ ” Ñ%Ô%ð 	%ð 	%ˆAØˆyØ—’�Xœ\™^œ^Ñ,Ô,Ð,Ý(¨¨CÑ0Ô0ˆJØlˆCØÐQÐQ˜sŸzšz­$¨s©)¬)µT¸*Ñ5EÔ5EÅtÈCÁyÄyÑQÔQÑQÔQ�:Ø�LŠL˜Ñ$Ô$Ð$Ð$Ý˜ÑÔÐÝÔÔ×)Ò)Ñ+Ô+ð ;µ¸±´ð ;Ý�¨°¬°SÑ9Ô9Ñ:Ô:Ð:Ý��~„~ð =Ý�/¨(°1¬+°sÑ;Ô;Ñ<Ô<Ð<Ý��}„}ð &Ø;CÐV•o h¨q¤k°3Ñ7Ô7Ð7ÍÌÉÌˆÝ˜Ñ%Ô%Ð%Ø
�e€|€|ÝŒ}‰ŒÐØ
�g€~€~ÝŒÑ Ô Ð Ø
�c€z€z�S�EœLÐ(Ð(ÝŒ{‰}Œ}ÐØ
�c€z€zÝŒ~ÑÔÐØ
�d€{€{ÝŒ|‰~Œ~ÐØ
�c€z€zÝŒ{‰}Œ}ÐØ
�d�4‰jŒjÐÐÝŒ|‰~Œ~ÐÝ„�sÑÔð =¥¨Ð-IÑ JÔ Jð =Ý˜SÔ;Ñ<Ô<Ð<Ø
�eŒlÐÐÝÔ Ñ"Ô"Ð"Ø
�eŒoÐÐÝÔ!Ñ#Ô#Ð#Ø
�eŒlÐÐÝÔ Ñ"Ô"Ð"Ø
�eŒkÐÐÝŒ{‰}Œ}ÐÝ„�sÑÔð H¥
¨3µ´	Ñ :Ô :ð HÝ˜SÑ!Ô!Ð)Ý"œYÔ.×GÒGÈÈSÑQÔQˆNØ!×0Ò0Ñ2Ô2ˆDˆDå" 3Ñ'Ô'ˆDÝ˜Õ1°#°sÑ;Ô;½TÀ#¹Y¼YÑGÔGÐGÝ„�sÑÔð HÝ.¨sÑ3Ô3ÐØÐ)Ø%Ð%ÝÔ×0Ò0°Ñ5Ô5ð 	HÝ”9Ô$×=Ò=¸cÀ3ÑGÔGÐGð €{ÝˆÝŒ8×-Ò-¨c°3¸Ñ<Ô<Ð<r>   c                 óz   — t          | ||¦  «        }|�|S t          d| › d|                     ¦   «         › �¦  «        ‚)Nr	  r
  )rë   rÑ   r  )rŸ   rb   rO   Úthe_types       r<   rž   rž   þ  sE   € Ý˜s C¨Ñ-Ô-€HØÐØˆÝ
ÐM°#ÐMÐM¸C¿MºM¹O¼OÐMÐMÑ
NÔ
NÐNr>   )r   r*   r   r   r   r,   r(   r&   r    r#   r'   r)   r   r   r   r	   r   r   r   r   r   r6   ri   rŽ   r�   r`   r^   r    r[   rë   rž   r8   )Vr„   rV   r”   r  rk   rÂ   rL   r   Útextwrapr   r   rJ   Útorch._Cr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Útorch._jit_internalr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   Útorch._sourcesr.   Ú_stater0   rP   rQ   rR   r1   r2   r3   Ú
torch._opsr4   r6   rI   ri   rp   rv   r�   rŽ   r›   r`   r^   r    r[   r  rô   r  r  rë   rž   Ú__all__rG   r>   r<   ú<module>r:     s/  ðà 
€
€
€
Ø €€€Ø 
€
€
€
Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð.ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð, 5Ð 4Ð 4Ð 4Ð 4Ð 4à %Ð %Ð %Ð %Ð %Ð %ð 	ÔÔ×%Ò%Ñ'Ô'ð 2Ø!Ð!Ð!Ð!Ð!Ð!Ø1Ð1Ð1Ð1Ð1Ð1Ð1Ð1à 'Ð 'Ð 'Ð 'Ð 'Ð 'ðð ð ð ð ñ ô ð ð-ð -ð -ð -ð -ñ -ô -ð -ð6ð ð ð:Nð Nð Nð	ð 	ð 	ð/ð /ð /ð,
ð 
ð 
ð*%ð %ð %ð0ð 0ð 0ð<@:ð @:ð @:ðFYð Yð Yð("ð "ð "ð.˜4 ¤	œ?ð ð ð ð ð$ð ð ð8ð ð ðh=ð h=ð h=ð h=ðVOð Oð Oð Oð"ð "ð "€€€r>   