§
    Ë²Åj£  ã                   ó`   — d Z ddlZda G d„ d¦  «        Zdedefd„Zdedefd„Zdedefd	„ZdS )
z.Import mangling.
See mangling.md for details.
é    Nc                   ó<   — e Zd ZdZd	d„Zdefd„Zdedefd„Zd„ ZdS )
ÚPackageManglerzZ
    Used on import, to ensure that all modules imported have a shared mangle parent.
    ÚreturnNc                 óR   — t           | _         t           dz  a d| j         › d�| _        d S )Né   z<torch_package_ú>)Ú_mangle_indexÚ_mangle_parent©Úselfs    úHC:\Projects\Historical\venv\Lib\site-packages\torch/package/_mangling.pyÚ__init__zPackageMangler.__init__   s3   € å*ˆÔå˜Ñˆð F°Ô0BÐEÐEÐEˆÔÐÐó    c                 óF   — t          |¦  «        dk    sJ ‚| j        dz   |z   S )Nr   ú.)Úlenr
   )r   Únames     r   ÚmanglezPackageMangler.mangle   s(   € Ý�4‰yŒy˜AŠ~ˆ~ˆ~ˆ~ØÔ" SÑ(¨4Ñ/Ð/r   Úmangledc                 óv   — |                      | j        dz   ¦  «        r|                     d¦  «        d         S |S )z¿
        Note: This only demangles names that were mangled by this specific
        PackageMangler. It will pass through names created by a different
        PackageMangler instance.
        r   é   )Ú
startswithr
   Ú	partition)r   r   s     r   ÚdemanglezPackageMangler.demangle   sB   € ð ×Ò˜dÔ1°CÑ7Ñ8Ô8ð 	-Ø×$Ò$ SÑ)Ô)¨!Ô,Ð,ð ˆr   c                 ó   — | j         S )N)r
   r   s    r   Úparent_namezPackageMangler.parent_name*   s   € ØÔ"Ð"r   )r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   r   r   © r   r   r   r      s‚   € € € € € ðð ðFð Fð Fð Fð0˜cð 0ð 0ð 0ð 0ð
 ð 
¨ð 
ð 
ð 
ð 
ð#ð #ð #ð #ð #r   r   r   r   c                 óF   — t          t          j        d| ¦  «        ¦  «        S )Nz<torch_package_\d+>)ÚboolÚreÚmatch©r   s    r   Ú
is_mangledr(   .   s   € Ý•”Ð/°Ñ6Ô6Ñ7Ô7Ð7r   c                 ó„   — t          | ¦  «        r0|                      d¦  «        \  }}}t          |¦  «        dk    r|ndS | S )zŒ
    Note: Unlike PackageMangler.demangle, this version works on any
    mangled name, irrespective of which PackageMangler created it.
    r   r   Ú )r(   r   r   )r   Ú_firstÚsepÚlasts       r   r   r   2   sK   € õ
 �$ÑÔð -Ø ŸNšN¨3Ñ/Ô/Ñˆ��Tõ ˜3‘x”x 1’}�}ˆtˆt¨"Ð,Ø€Kr   c                 óZ   — t          | ¦  «        r|                      d¦  «        d         n| S )Nr   r   )r(   r   r'   s    r   Úget_mangle_prefixr/   ?   s+   € Ý%/°Ñ%5Ô%5Ð?ˆ4�>Š>˜#ÑÔ˜qÔ!Ð!¸4Ð?r   )	r    r%   r	   r   r!   r$   r(   r   r/   r"   r   r   ú<module>r0      sÂ   ððð ð 
€	€	€	ð €ð #ð  #ð  #ð  #ð  #ñ  #ô  #ð  #ðF8�Sð 8˜Tð 8ð 8ð 8ð 8ð
�3ð 
˜3ð 
ð 
ð 
ð 
ð@˜Cð @ Cð @ð @ð @ð @ð @ð @r   