Ë
    g^(hTk  ã                   ó>  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlZd dlmZ ej                   G d„ d«      «       Z
 e
«       Z	 	 	 	 	 	 dd„Zdeeef   fd„Ze j                   d	„ «       Zd
„ Z G d„ d«      Zdd„Zdd„Zdd„Zd„ Zd„ Zd„ Zddœd„Zddœd„Zddœd„Zy)é    N)ÚAnyÚOptional)Úinfc                   óZ   — e Zd ZU dZeed<   dZeed<   dZeed<   dZ	eed<   d	Z
ee   ed
<   y	)Ú__PrinterOptionsé   Ú	precisionéè  Ú	thresholdé   Ú	edgeitemséP   Ú	linewidthNÚsci_mode)Ú__name__Ú
__module__Ú__qualname__r	   ÚintÚ__annotations__r   Úfloatr   r   r   r   Úbool© ó    úO/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/_tensor_str.pyr   r      s8   … à€IˆsÓØ€IˆuÓØ€IˆsÓØ€IˆsÓØ#€Hˆh�t‰nÔ#r   r   c                 ó¸  — |�™|dk(  r-dt         _        dt         _        dt         _        dt         _        ng|dk(  r-dt         _        dt         _        dt         _        dt         _        n5|d	k(  r0dt         _        t
        t         _        dt         _        dt         _        | �| t         _        |�|t         _        |�|t         _        |�|t         _        |t         _        y)
a  Set options for printing. Items shamelessly taken from NumPy

    Args:
        precision: Number of digits of precision for floating point output
            (default = 4).
        threshold: Total number of array elements which trigger summarization
            rather than full `repr` (default = 1000).
        edgeitems: Number of array items in summary at beginning and end of
            each dimension (default = 3).
        linewidth: The number of characters per line for the purpose of
            inserting line breaks (default = 80). Thresholded matrices will
            ignore this parameter.
        profile: Sane defaults for pretty printing. Can override with any of
            the above options. (any one of `default`, `short`, `full`)
        sci_mode: Enable (True) or disable (False) scientific notation. If
            None (default) is specified, the value is defined by
            `torch._tensor_str._Formatter`. This value is automatically chosen
            by the framework.

    Example::

        >>> # Limit the precision of elements
        >>> torch.set_printoptions(precision=2)
        >>> torch.tensor([1.12345])
        tensor([1.12])
        >>> # Limit the number of elements shown
        >>> torch.set_printoptions(threshold=5)
        >>> torch.arange(10)
        tensor([0, 1, 2, ..., 7, 8, 9])
        >>> # Restore defaults
        >>> torch.set_printoptions(profile='default')
        >>> torch.tensor([1.12345])
        tensor([1.1235])
        >>> torch.arange(10)
        tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

    NÚdefaultr   r
   r   r   Úshorté   Úfull)Ú
PRINT_OPTSr	   r   r   r   r   r   )r	   r   r   r   Úprofiler   s         r   Úset_printoptionsr"      sÃ   € ðZ ÐØ�iÒØ#$ŒJÔ Ø#'ŒJÔ Ø#$ŒJÔ Ø#%ŒJÕ Ø˜ÒØ#$ŒJÔ Ø#'ŒJÔ Ø#$ŒJÔ Ø#%ŒJÕ Ø˜ÒØ#$ŒJÔ Ü#&ŒJÔ Ø#$ŒJÔ Ø#%ŒJÔ àÐØ(Œ
ÔØÐØ(Œ
ÔØÐØ(Œ
ÔØÐØ(Œ
ÔØ"„JÕr   Úreturnc                  ó4   — t        j                  t        «      S )zyGets the current options for printing, as a dictionary that
    can be passed as ``**kwargs`` to set_printoptions().
    )ÚdataclassesÚasdictr    r   r   r   Úget_printoptionsr'   b   s   € ô ×ÑœjÓ)Ð)r   c               +   óv   K  — t        «       }t        di | ¤Ž 	 d–— t        di |¤Ž y# t        di |¤Ž w xY w­w)zyContext manager that temporarily changes the print options.  Accepted
    arguments are same as :func:`set_printoptions`.Nr   )r'   r"   )ÚkwargsÚ
old_kwargss     r   Úprintoptionsr+   i   s:   è ø€ ô "Ó#€JÜÑ�vÒð'ÛäÑ&˜:Ó&øÔÑ&˜:Ó&üs   ‚9™) �9©6¶9c                 óü   — | j                   s?| j                  rCt        j                  j	                  | j
                  «      j                  st        j                  nt        j                  }| j                  |¬«      S )N)Údtype)
Úis_mpsÚis_xpuÚtorchÚxpuÚget_device_propertiesÚdeviceÚhas_fp64r   ÚdoubleÚto)Útr-   s     r   Útensor_totyper8   u   sW   € ð �HŠHØ—’¤§¡×!@Ñ!@ÀÇÁÓ!J×!SÒ!Sô 	�Šô
 �\‰\ð 
ð �4‰4�eˆ4ÓÐr   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú
_Formatterc                 ó,  — |j                   j                  | _        d| _        d| _        d| _        t        j                  «       5  |j                  d«      }d d d «       | j                  s0D ])  }|› }t        | j
                  t        |«      «      | _        Œ+ �nGt        j                  t        j                  |«      |j                  d«      z  «      }|j                  «       dk(  ry |j                   t        j                  k(  r|j!                  «       }t#        |j%                  «       «      }t#        |j'                  «       «      }t#        |j                  «       «      }|D ]#  }|t        j(                  |«      k7  sŒd| _         n | j                  r–||z  dkD  s|dkD  rVd| _        |D ]I  }dt*        j,                  › d	�j/                  |«      }t        | j
                  t        |«      «      | _        ŒK né|D ]-  }|d
›}t        | j
                  t        |«      dz   «      | _        Œ/ n¶||z  dkD  s
|dkD  s|dk  rVd| _        |D ]I  }dt*        j,                  › d	�j/                  |«      }t        | j
                  t        |«      «      | _        ŒK nN|D ]I  }dt*        j,                  › d�j/                  |«      }t        | j
                  t        |«      «      | _        ŒK t*        j                  �t*        j                  | _        y y # 1 sw Y   �Œ´xY w)NTFé   éÿÿÿÿr   g     @�@g    „×—Aú{:.úe}ú.0fg-Cëâ6?úf})r-   Úis_floating_pointÚfloating_dtypeÚint_moder   Ú	max_widthr0   Úno_gradÚreshapeÚmaxÚlenÚmasked_selectÚisfiniteÚneÚnumelÚfloat8_e8m0fnur   r8   ÚabsÚminÚceilr    r	   Úformat)	ÚselfÚtensorÚtensor_viewÚvalueÚ	value_strÚnonzero_finite_valsÚnonzero_finite_absÚnonzero_finite_minÚnonzero_finite_maxs	            r   Ú__init__z_Formatter.__init__‚   sß  € Ø$Ÿl™l×<Ñ<ˆÔØˆŒØˆŒØˆŒä�]‰]‹_ñ 	-Ø Ÿ.™.¨Ó,ˆK÷	-ð ×"Ò"Ø$ò E�Ø$˜g�	Ü!$ T§^¡^´S¸³^Ó!D�•òEô
 #(×"5Ñ"5ØœUŸ^™^¨KÓ8¸;¿>¹>È!Ó;LÑLó#Ðð #×(Ñ(Ó*¨aÒ/àà�|‰|œu×3Ñ3Ò3ð ':×&?Ñ&?Ó&AÐ#ô "/Ð/B×/FÑ/FÓ/HÓ!IÐÜ!.Ð/A×/EÑ/EÓ/GÓ!HÐÜ!.Ð/A×/EÑ/EÓ/GÓ!HÐà,ò �ØœEŸJ™J uÓ-Ó-Ø$)�D”MÙðð
 �}Š}ð 'Ð);Ñ;¸fÒDØ)¨EÒ1à$(�D”MØ!4ò M˜Ø&*¬:×+?Ñ+?Ð*@ÀÐ$D×$KÑ$KÈEÓ$R˜	Ü),¨T¯^©^¼SÀ»^Ó)L˜�ñMð "5ò Q˜Ø',¨S k˜	Ü),¨T¯^©^¼SÀ»^ÈaÑ=OÓ)P˜�ñQð 'Ð);Ñ;¸fÒDØ)¨EÒ1Ø)¨FÒ2à$(�D”MØ!4ò M˜Ø&*¬:×+?Ñ+?Ð*@ÀÐ$D×$KÑ$KÈEÓ$R˜	Ü),¨T¯^©^¼SÀ»^Ó)L˜�ñMð "5ò M˜Ø&*¬:×+?Ñ+?Ð*@ÀÐ$D×$KÑ$KÈEÓ$R˜	Ü),¨T¯^©^¼SÀ»^Ó)L˜�ðMô ×ÑÐ*Ü&×/Ñ/ˆD�Mð +÷I	-ñ 	-ús   ÁL	Ì	Lc                 ó   — | j                   S ©N)rE   )rS   s    r   Úwidthz_Formatter.widthÏ   s   € Ø�~‰~Ðr   c                 óž  — | j                   r¡| j                  r1d| j                  › dt        j                  › d�j                  |«      }ng| j                  r4|d›}t        j                  |«      sBt        j                  |«      s-|dz  }n'dt        j                  › d�j                  |«      }n|› }| j                  t        |«      z
  dz  |z   S )Nz{:ú.r?   r@   r>   rA   ú )rC   r   rE   r    r	   rR   rD   ÚmathÚisinfÚisnanrI   )rS   rV   Úrets      r   rR   z_Formatter.formatÒ   s±   € Ø×ÒØ�}Š}Ø˜DŸN™NÐ+¨1¬Z×-AÑ-AÐ,BÀ#ÐF×MÑMÈeÓT‘Ø—’Ø˜s˜�ÜŸ
™
 5Ô)¬T¯Z©Z¸Ô->Ø˜3‘J‘CàœZ×1Ñ1Ð2°#Ð6×=Ñ=¸eÓD‘à�GˆCØ—‘¤ S£Ñ)¨SÑ0°3Ñ6Ð6r   N)r   r   r   r\   r_   rR   r   r   r   r:   r:   �   s   „ òK0òZó7r   r:   c                 óø   — |�Zt        | j                  |«      }t        | j                  |«      dz   j                  «       }|d   dk(  s|d   dk(  r||z   S |dz   |z   S |j	                  | j                  «       «      S ©NÚjr   ú+ú-)Ú_scalar_strÚrealÚimagÚlstriprR   Úitem)rS   Ú
formatter1Ú
formatter2Úreal_strÚimag_strs        r   rl   rl   á   s~   € ØÐÜ˜tŸy™y¨*Ó5ˆÜ §	¡	¨:Ó6¸Ñ<×DÑDÓFˆà�A‰;˜#Ò ¨!¡°Ò!3Ø˜hÑ&Ð&à˜c‘> HÑ,Ð,à× Ñ  §¡£Ó-Ð-r   c           	      ó~  — |j                  «       dz   }|�||j                  «       dz   z  }t        dt        t        j                  t
        j                  |z
  |z  «      «      «      }||fd„}|rt
        j                  sdg}n»|r–| j                  d«      dt
        j                  z  kD  rq| d t
        j                   j                  «       D �	cg c]
  }	 ||	«      ‘Œ c}	dgz   | t
        j                   d  j                  «       D �	cg c]
  }	 ||	«      ‘Œ c}	z   }n#| j                  «       D �	cg c]
  }	 ||	«      ‘Œ }}	t        dt        |«      |«      D �
cg c]
  }
||
|
|z    ‘Œ }}
|D �cg c]  }dj                  |«      ‘Œ }}dd	d
|dz   z  z   j                  |«      z   dz   S c c}	w c c}	w c c}	w c c}
w c c}w )Nr   r<   c                 óð   — |�d|j                  | j                  «      }|j                  | j                  «      dz   j                  «       }|d   dk(  s|d   dk(  r||z   S |dz   |z   S |j                  | «      S rh   )rR   rm   rn   ro   )Úvalrq   rr   rs   rt   s        r   Ú_val_formatterz#_vector_str.<locals>._val_formatterù   s€   € ØÐ!Ø!×(Ñ(¨¯©Ó2ˆHØ"×)Ñ)¨#¯(©(Ó3°cÑ9×AÑAÓCˆHà˜‰{˜cÒ! X¨a¡[°CÒ%7Ø (Ñ*Ð*à #‘~¨Ñ0Ð0à×$Ñ$ SÓ)Ð)r   ú...r   z ...ú, ú[ú,
rb   ú])r_   rH   r   rc   Úfloorr    r   r   ÚsizeÚtolistÚrangerI   Újoin)rS   ÚindentÚ	summarizerq   rr   Úelement_lengthÚelements_per_linerx   Údatarw   ÚiÚ
data_linesÚlineÚliness                 r   Ú_vector_strrŒ   î   s¿  € à×%Ñ%Ó'¨!Ñ+€NØÐà˜*×*Ñ*Ó,¨qÑ0Ñ0ˆäØ	Œ3Œt�z‰zœ:×/Ñ/°&Ñ8¸^ÑLÓMÓNóÐð (2¸jó 
*ñ œ×-Ò-àˆw‰Ù	�t—y‘y “| a¬*×*>Ñ*>Ñ&>Ò>à,0Ð1G´:×3GÑ3GÐ,H×,OÑ,OÓ,QÖR S‰^˜CÕ ÒRØˆhñà.2´J×4HÑ4HÐ3HÐ3JÐ.K×.RÑ.RÓ.TÖU s‰~˜cÕ"ÒUñVñ 	ð 04¯{©{«}Ö=¨‘˜sÕ#Ð=ˆÐ=ô 27°q¼#¸d»)ÐEVÓ1WöØ,-ˆˆQ�Ð&Ñ&Ò'ð€Jð ð *4Ö4 ˆT�Y‰Y�t�_Ð4€EÐ4Ø�*˜s f¨q¡jÑ1Ñ1×7Ñ7¸Ó>Ñ>ÀÑDÐDùò SùâUùò >ùòùò 5s   ÃF&ÄF+Ä.F0ÅF5Å,F:c                 óÈ  — | j                  «       }|dk(  rt        | ||«      S |dk(  rt        | ||||«      S |r¶| j                  d«      dt        j
                  z  kD  r‘t        dt        j
                  «      D �cg c]  }t        | |   |dz   |||«      ‘Œ c}dgz   t        t        | «      t        j
                  z
  t        | «      «      D �cg c]  }t        | |   |dz   |||«      ‘Œ c}z   }n;t        d| j                  d«      «      D �cg c]  }t        | |   |dz   |||«      ‘Œ }}dd|dz
  z  z   d|dz   z  z   j                  |«      }d|z   d	z   S c c}w c c}w c c}w )
Nr   r<   r   ry   ú,ú
rb   r{   r}   )
Údimrl   rŒ   r   r    r   r�   Ú_tensor_str_with_formatterrI   r‚   )	rS   rƒ   r„   rq   rr   r�   rˆ   ÚslicesÚ
tensor_strs	            r   r‘   r‘     s�  € Ø
�(‰(‹*€Cà
ˆa‚xÜ˜4 ¨ZÓ8Ð8à
ˆa‚xÜ˜4 ¨°JÀ
ÓKÐKá�T—Y‘Y˜q“\ A¬
×(<Ñ(<Ñ$<Ò<ô ˜q¤*×"6Ñ"6Ó7ö	ð ô +Ø˜‘G˜V a™Z¨°JÀ
õòð ˆgñô œs 4›y¬:×+?Ñ+?Ñ?ÄÀTÃÓKö	ð ô +Ø˜‘G˜V a™Z¨°JÀ
õòññ 	ô( ˜1˜dŸi™i¨›lÓ+ö	
ð ô 'Ø�Q‘˜ !™ Y°
¸Jõð
ˆð 
ð ˜  a¡Ñ(Ñ(¨3°&¸1±*Ñ+=Ñ=×CÑCÀFÓK€JØ�Ñ˜cÑ!Ð!ùò/ùòùò
s   Á:EÃEÄEc                 óH  — | j                  «       dk(  ry| j                  «       r| j                  d «      } | j                  «       t        j                  kD  }| j                  «       r| j                  «       } | j                  «       r| j                  «       } | j                  t        j                  t        j                  t        j                  t        j                  fv r| j                  «       } | j                  j                   rw| j#                  «       } t%        |rt'        | j(                  «      n| j(                  «      }t%        |rt'        | j*                  «      n| j*                  «      }t-        | ||||«      S t%        |rt'        | «      n| «      }t-        | |||«      S )Nr   ú[])rM   Ú	has_namesÚrenamer    r   Ú_is_zerotensorÚcloneÚis_negÚresolve_negr-   r0   Úfloat8_e5m2Úfloat8_e5m2fnuzÚfloat8_e4m3fnÚfloat8_e4m3fnuzÚhalfÚ
is_complexÚresolve_conjr:   Úget_summarized_datarm   rn   r‘   )rS   rƒ   r„   Úreal_formatterÚimag_formatterÚ	formatters         r   Ú_tensor_strr§   @  sS  € Ø‡z�zƒ|�qÒØà‡~�~Ôð �{‰{˜4Ó ˆà—
‘
“œz×3Ñ3Ñ3€Ià×ÑÔØ�z‰z‹|ˆð ‡{�{„}Ø×ÑÓ!ˆð ‡z�zÜ×ÑÜ×ÑÜ×ÑÜ×Ñð	ñ ð �y‰y‹{ˆà‡z�z×Òà× Ñ Ó"ˆÜ#Ù.7Ô §	¡	Ô*¸T¿Y¹Yó
ˆô $Ù.7Ô §	¡	Ô*¸T¿Y¹Yó
ˆô *Ø�&˜) ^°^ó
ð 	
ô ¹IÔ2°4Ô8È4ÓPˆ	Ü)¨$°¸	À9ÓMÐMr   c                 ób  — | g}t        | «      | j                  d«      z
  dz   }|D ]f  }t        |«      }|s||z   dz   t        j                  kD  r"|j	                  dd|z  z   |z   «       ||z   }d}ŒK|j	                  d|z   «       ||dz   z  }Œh |j	                  d«       d	j                  |«      S )
Nr�   r<   r   r|   rb   Frz   ú)Ú )rI   Úrfindr    r   Úappendr‚   )r“   Úsuffixesrƒ   Úforce_newlineÚtensor_strsÚlast_line_lenÚsuffixÚ
suffix_lens           r   Ú_add_suffixesr³   o  sÃ   € Ø�,€KÜ˜
“O j×&6Ñ&6°tÓ&<Ñ<¸qÑ@€MØò ,ˆÜ˜“[ˆ
Ù˜M¨JÑ6¸Ñ:¼Z×=QÑ=QÒQØ×Ñ˜u s¨V¡|Ñ3°fÑ<Ô=Ø" ZÑ/ˆMØ!‰Mà×Ñ˜t f™}Ô-Ø˜Z¨!™^Ñ+‰Mð,ð ×Ñ�sÔØ�7‰7�;ÓÐr   c                 ó\  — | j                  «       }|dk(  r| S |dk(  ra| j                  d«      dt        j                  z  kD  r:t	        j
                  | d t        j                   | t        j                   d  f«      S | S t        j                  s#| j                  dg| j                  «       z  «      S | j                  d«      dt        j                  z  kD  r˜t        dt        j                  «      D �cg c]  }| |   ‘Œ	 }}t        t        | «      t        j                  z
  t        | «      «      D �cg c]  }| |   ‘Œ	 }}t	        j                  ||z   D �cg c]  }t        |«      ‘Œ c}«      S t	        j                  | D �cg c]  }t        |«      ‘Œ c}«      S c c}w c c}w c c}w c c}w )Nr   r<   r   )r�   r   r    r   r0   ÚcatÚ	new_emptyr�   rI   Ústackr£   )rS   r�   rˆ   ÚstartÚendÚxs         r   r£   r£     sb  € Ø
�(‰(‹*€CØ
ˆa‚xØˆØ
ˆa‚xØ�9‰9�Q‹<˜!œj×2Ñ2Ñ2Ò2Ü—9‘9ØÐ,œ
×,Ñ,Ð-¨t´Z×5IÑ5IÐ4IÐ4KÐ/LÐMóð ð ˆKÜ×ÒØ�~‰~˜q˜c D§H¡H£JÑ.Ó/Ð/Ø	�‰�1‹˜œJ×0Ñ0Ñ0Ò	0Ü"'¨¬:×+?Ñ+?Ó"@ÖA˜Q��a“ÐAˆÐAÜ %¤c¨$£i´*×2FÑ2FÑ&FÌÈDË	Ó RÖS˜1ˆt�A‹wÐSˆÐSÜ�{‰{¸UÀS¹[ÖJ°qÔ/°Õ2ÒJÓKÐKä�{‰{¸DÖA°qÔ/°Õ2ÒAÓBÐBùò	 BùÚSùÚJùâAs   Ã2FÄ1FÅF$ÆF)©Útensor_contentsc          	      ó$  ‡!‡"— t         j                  j                  j                  | «      rt	        | |¬«      S t        | «      t         j                  u xs% t        | «      t         j                  j                  u }| j                  rd}n|rd}nt        | «      j                  › d�}t        |«      Š!g }|d u}|r|}t         j                  j                  j                  | «      \  }}|j                  j
                  t         j                  j!                  «       k7  sg|j                  j
                  dk(  r5t         j"                  j%                  «       |j                  j&                  k7  s|j                  j
                  dk(  r*|j)                  dt+        |j                  «      z   dz   «       |j                  j
                  d	v r|j-                  d
«      }t        j.                  «       t         j0                  k(  rt         j2                  nt         j4                  }	|j6                  t        j.                  «       |	t         j8                  t         j:                  fv }
|j<                  �r®|j)                  dt+        t?        |j@                  «      «      z   «       ddl!m"} |jF                  xs tI        ||«      }|s+|j)                  dt+        |jK                  «       «      z   «       |
s'|j)                  dt+        |j6                  «      z   «       |�	s—d}|jM                  «       jO                  «       }|rd}ntQ        |‰!t        |«      z   «      }|s|jS                  «       dk(  r$|dt+        t?        |j@                  «      «      z   z  }d}|jU                  «       jO                  «       }|rd}ntQ        |‰!t        |«      z   «      }|s|jS                  «       dk(  r$|dt+        t?        |j@                  «      «      z   z  }||z   dz   d‰!z  z   |z   |z   dz   }�n’|jV                  t         jX                  t         jZ                  t         j\                  t         j^                  hv �r�ddl!m"} |j)                  dt+        t?        |j@                  «      «      z   «       |jF                  xs tI        ||«      }|s+|j)                  dt+        |jK                  «       «      z   «       |
s'|j)                  dt+        |j6                  «      z   «       |�sžt         jX                  t         j                  j`                  t         j                  jb                  ft         jZ                  t         j                  jd                  t         j                  jf                  ft         j\                  t         j                  j`                  t         j                  jb                  ft         j^                  t         j                  jd                  t         j                  jf                  fi|jV                     \  }}|jV                  t         jX                  t         j\                  hv rd\  }}nd\  }}d|d d › d�} ||«      jO                  «       }|rd}ntQ        |‰!t        |«      z   «      }|jS                  «       dk(  s|r$|dt+        t?        |j@                  «      «      z   z  }|d d › d�} ||«      jO                  «       }|rd}ntQ        |‰!t        |«      z   «      }|jS                  «       dk(  s|r$|dt+        t?        |j@                  «      «      z   z  }d}|ji                  «       jO                  «       }|rd}ntQ        |‰!t        |«      z   «      }|jS                  «       dk(  s|r$|dt+        t?        |j@                  «      «      z   z  }||z   dz   d‰!z  z   |z   |z   dz   d‰!z  z   |z   |z   dz   }�nÆ|jj                  �r |j)                  dt+        t?        |j@                  «      «      z   «       |
s'|j)                  dt+        |j6                  «      z   «       |j)                  dt+        |jm                  «       «      z   «       |jm                  «       t         jn                  k(  s!|jm                  «       t         jp                  k(  rW|j)                  dt+        |js                  «       «      z   «       |j)                  dt+        |ju                  «       «      z   «       nä|jm                  «       t         jv                  k(  sB|jm                  «       t         jx                  k(  s!|jm                  «       t         jz                  k(  r�|j)                  dt+        |j}                  «       «      z   «       |j)                  dt+        |j                  «       «      z   «       |j)                  dt+        |j�                  «       «      z   «       |�sµtQ        |jƒ                  «       ‰!«      }�n™|j                  r[|�sŠd „ Š"d!j…                  ˆ!ˆ"fd"„t         j†                  jˆ                  jŠ                  j�                  |d«      D «       «      }d#|› d$�}�n2t        jŽ                  |«      r"d%}t‘        t        j’                  |«      «      }�nûddl!m"} |jF                  stI        ||«      r|j)                  dt+        t?        |j@                  «      «      z   «       |j6                  t        j.                  «       k7  r'|j)                  dt+        |j6                  «      z   «       |�sbd}�n^|jS                  «       dk(  rœ|j<                  s�|j•                  «       d&k7  r0|j)                  dt+        t?        |j@                  «      «      z   «       |j6                  t        j.                  «       k7  r'|j)                  dt+        |j6                  «      z   «       |s²d'}n¯t–        j˜                  s0|j)                  dt+        t?        |j@                  «      «      z   «       |
s'|j)                  dt+        |j6                  «      z   «       |sD|jV                  t         jš                  k7  rtQ        |j�                  «       ‰!«      }ntQ        |‰!«      }|jV                  t         jš                  k7  r'|j)                  d(t+        |jV                  «      z   «       d }	 | jž                  }|€?�=t        |«      j                  }|d*k(  r#|j£                  «       j¥                  d+d&«      d,   }|�|j)                  d-|› d.�«       n| j¦                  r|j)                  d/«       |j©                  «       r|j)                  d0|jª                  › �«       |�|j)                  d1|› �«       t­        |z   |‰!|j<                  ¬2«      } tI        |t         j                  j                  «      r|sd3| › d�} | S # t         $ r d)}Y �Œw xY w)4Nr»   znested_tensor(ztensor(ú(ÚcudaÚmpszdevice='ú')ÚxlaÚlazyÚipuÚmtiaÚcpuzsize=r   )Ú
FakeTensorznnz=zdtype=zindices=tensor(ry   z, size=zvalues=tensor(z),
rb   r©   )ÚrowÚcolumn)rÉ   rÈ   Úcr   z_indices=tensor(zquantization_scheme=zscale=zzero_point=zaxis=c                 óP   — dj                  d„ | j                  d«      D «       «      S )Nr�   c              3   ó&   K  — | ]	  }d |› �–— Œ y­w)z  Nr   )Ú.0rŠ   s     r   ú	<genexpr>z4_str_intern.<locals>.indented_str.<locals>.<genexpr>J  s   è ø€ Ò G° 2 d V¤Ñ Gùs   ‚)r‚   Úsplit)Úsrƒ   s     r   Úindented_strz!_str_intern.<locals>.indented_strI  s   € Ø—y‘yÑ G¸¿¹À»Ô GÓGÐGr   r|   c              3   óH   •K  — | ]  } ‰t        |«      ‰d z   «      –— Œ y­w)r<   N)Ústr)rÍ   r7   rƒ   rÑ   s     €€r   rÎ   z_str_intern.<locals>.<genexpr>L  s(   øè ø€ ò àñ œS ›V V¨a¡Z×0ñùs   ƒ"z[
z
]z_to_functional_tensor(r<   r•   zlayout=ÚInvalidÚCppFunctionz::r=   z	grad_fn=<ú>zrequires_grad=Trueznames=ztangent=)r®   z
Parameter()Wr0   Ú_CÚ
_functorchÚis_functorch_wrapped_tensorÚ_functorch_wrapper_str_internÚtypeÚTensorÚnnÚ	ParameterÚ	is_nestedr   rI   ÚautogradÚ
forward_adÚunpack_dualr3   Ú_get_default_devicer¿   Úcurrent_deviceÚindexr¬   rÓ   r6   Úget_default_dtyper5   ÚcdoubleÚcfloatr-   Úint64r   Ú	is_sparseÚtupleÚshapeÚtorch._subclasses.fake_tensorrÇ   Úis_metaÚ
isinstanceÚ_nnzÚ_indicesÚdetachr§   rM   Ú_valuesÚlayoutÚ
sparse_csrÚ
sparse_cscÚ
sparse_bsrÚ
sparse_bscÚcrow_indicesÚcol_indicesÚccol_indicesÚrow_indicesÚvaluesÚis_quantizedÚqschemeÚper_tensor_affineÚper_tensor_symmetricÚq_scaleÚq_zero_pointÚper_channel_affineÚper_channel_symmetricÚ per_channel_affine_float_qparamsÚq_per_channel_scalesÚq_per_channel_zero_pointsÚq_per_channel_axisÚ
dequantizer‚   ÚopsÚatenÚunbindr   Ú_is_functional_tensorÚreprÚ_from_functional_tensorr�   r    r   ÚstridedÚto_denseÚgrad_fnÚRuntimeErrorÚnameÚrsplitÚrequires_gradr–   Únamesr³   )#Úinpr¼   Úis_plain_tensorÚprefixr­   Úcustom_contents_providedr“   rS   ÚtangentÚ_default_complex_dtypeÚhas_default_dtyperÇ   rî   Úindices_prefixÚindicesÚindices_strÚvalues_prefixrý   Ú
values_strÚcompressed_indices_methodÚplain_indices_methodÚcdimnameÚpdimnameÚcompressed_indices_prefixÚcompressed_indicesÚcompressed_indices_strÚplain_indices_prefixÚplain_indicesÚplain_indices_strÚstrsÚgrad_fn_namer  Ústring_reprrƒ   rÑ   s#                                    @@r   Ú_str_internr2  ”  sR  ù€ Ü‡x�x×Ñ×6Ñ6°sÔ;Ü,¨SÀ/ÔRÐRÜ˜3“i¤5§<¡<Ð/ÒR´4¸³9ÄÇÁ×@RÑ@RÐ3R€OØ
‡}‚}Ø!‰Ù	Ø‰ä˜“I×&Ñ&Ð' qÐ)ˆÜ�‹[€FØ€HØ.°dÐ:ÐÙØ$ˆ
ô
 —N‘N×-Ñ-×9Ñ9¸#Ó>�M€Dˆ'ð 	�‰×ÑœEŸH™H×8Ñ8Ó:Ò:à�K‰K×Ñ Ò&Ü—
‘
×)Ñ)Ó+¨t¯{©{×/@Ñ/@Ò@à�K‰K×Ñ Ò%à�‰˜
¤S¨¯©Ó%5Ñ5¸Ñ;Ô<ð
 ‡{�{×ÑÐ9Ñ9Ø�w‰w�u‹~ˆô ×0Ñ0Ó2´e·l±lÒBŒ�ŠÌÏÉð ð Ÿ
™
Ü×ÑÓ!ØÜ�‰Ü�
‰
ð	'ð Ðð ‡~ƒ~Ø�‰˜¤#¤e¨D¯J©JÓ&7Ó"8Ñ8Ô9Ý<à—,‘,Ò>¤*¨T°:Ó">ˆÙØ�O‰O˜F¤S¨¯©«Ó%5Ñ5Ô6Ù Ø�O‰O˜H¤s¨4¯:©:£Ñ6Ô7Ú'Ø.ˆNØ—m‘m“o×,Ñ,Ó.ˆGÙØ#‘ä)¨'°6¼CÀÓ<OÑ3OÓP�Ù˜'Ÿ-™-›/¨QÒ.Ø˜y¬3¬u°W·]±]Ó/CÓ+DÑDÑD�Ø,ˆMØ—\‘\“^×*Ñ*Ó,ˆFÙØ"‘
ä(¨°¼#¸mÓ:LÑ1LÓM�
Ù˜&Ÿ,™,›.¨AÒ-Ø˜i¬#¬e°F·L±LÓ.AÓ*BÑBÑB�
àØñàñð ˜‘,ñð  ñ	 ð
 ñð ñò ð 
�‰Ü×ÑÜ×ÑÜ×ÑÜ×Ñð	ò 
õ 	=à�‰˜¤#¤e¨D¯J©JÓ&7Ó"8Ñ8Ô9Ø—,‘,Ò>¤*¨T°:Ó">ˆÙØ�O‰O˜F¤S¨¯©«Ó%5Ñ5Ô6Ù Ø�O‰O˜H¤s¨4¯:©:£Ñ6Ô7Ú'ä× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"WÜ× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"WÜ× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"WÜ× Ñ ¤5§<¡<×#<Ñ#<¼e¿l¹l×>VÑ>VÐ"Wð	?ð
 �k‰kñ?Ñ;Ð%Ð';ð �{‰{œu×/Ñ/´×1AÑ1AÐBÑBØ%4Ñ"�™(à%4Ñ"�˜(Ø*+¨H°R°a¨L¨>Ð9IÐ(JÐ%Ù!:¸4Ó!@×!GÑ!GÓ!IÐÙØ).Ñ&ä)4Ø&¨´Ð5NÓ1OÑ(Oó*Ð&ð "×'Ñ'Ó)¨QÒ.±'Ø&¨)´cÜÐ,×2Ñ2Ó3ó7ñ +ñ Ð&ð '/¨r° l ^Ð3CÐ#DÐ Ù0°Ó6×=Ñ=Ó?ˆMÙØ$)Ñ!ä$/Ø! 6¬CÐ0DÓ,EÑ#Eó%Ð!ð ×"Ñ"Ó$¨Ò)©WØ! Y´´U¸=×;NÑ;NÓ5OÓ1PÑ%PÑPÐ!Ø,ˆMØ—[‘[“]×)Ñ)Ó+ˆFÙØ"‘
ä(¨°¼#¸mÓ:LÑ1LÓM�
Ø�|‰|‹~ Ò"¡gØ˜i¬#¬e°F·L±LÓ.AÓ*BÑBÑB�
à)Ø(ñ)àñð ˜‘,ñð 'ñ	'ð
 $ñ$ð ñð ˜‘,ñð  ñ ð ñ	ð ñ
ò ð 
×	Ó	Ø�‰˜¤#¤e¨D¯J©JÓ&7Ó"8Ñ8Ô9Ù Ø�O‰O˜H¤s¨4¯:©:£Ñ6Ô7Ø�‰Ð.´°T·\±\³^Ó1DÑDÔEà�L‰L‹Nœe×5Ñ5Ò5Ø�|‰|‹~¤×!;Ñ!;Ò;à�O‰O˜H¤s¨4¯<©<«>Ó':Ñ:Ô;Ø�O‰O˜M¬C°×0AÑ0AÓ0CÓ,DÑDÕEà�L‰L‹Nœe×6Ñ6Ò6Ø�|‰|‹~¤×!<Ñ!<Ò<Ø�|‰|‹~¤×!GÑ!GÒGà�O‰O˜H¤s¨4×+DÑ+DÓ+FÓ'GÑGÔHØ�O‰O˜M¬C°×0NÑ0NÓ0PÓ,QÑQÔRØ�O‰O˜G¤c¨$×*AÑ*AÓ*CÓ&DÑDÔEÚ'Ü$ T§_¡_Ó%6¸Ó?ŠJØ	�ŠÚ'òHð —:‘:ô äŸ™Ÿ™×.Ñ.×2Ñ2°4¸Ó;ôó ˆDð ˜t˜f C˜ŠJÜ	×	$Ñ	$ TÔ	*Ø)ˆÜœ%×7Ñ7¸Ó=Ó>Š
õ 	=à�<Š<œ: d¨JÔ7Ø�O‰O˜G¤c¬%°·
±
Ó*;Ó&<Ñ<Ô=Ø�z‰zœU×4Ñ4Ó6Ò6Ø—‘ ¬3¨t¯z©z«?Ñ :Ô;ò ,Ø"’
à�z‰z‹|˜qÒ ¨¯ªà—8‘8“: ’?Ø—O‘O G¬c´%¸¿
¹
Ó2CÓ.DÑ$DÔEð —:‘:¤×!8Ñ!8Ó!:Ò:Ø—O‘O H¬s°4·:±:«Ñ$>Ô?Ù/Ø!%‘Jä!×+Ò+Ø—O‘O G¬c´%¸¿
¹
Ó2CÓ.DÑ$DÔEá(Ø—O‘O H¬s°4·:±:«Ñ$>Ô?á/Ø—{‘{¤e§m¡mÒ3Ü%0°·±³À&Ó%I™
ä%0°°vÓ%>˜
à‡{�{”e—m‘mÒ#Ø�‰˜	¤C¨¯©Ó$4Ñ4Ô5ð €Lð!Ø—+‘+ˆð Ð Ð 3Ü˜G“}×-Ñ-ˆØ˜=Ò(Ø"Ÿ<™<›>×0Ñ0°°qÓ9¸"Ñ=ˆLàÐØ�‰˜) L >°Ð3Õ4Ø	×	Ò	Ø�‰Ð,Ô-à‡~�~ÔØ�‰˜& §¡ Ð-Ô.àÐØ�‰˜( 7 )Ð,Ô-äØ�ÑØØØ—n‘nô	€Kô �$œŸ™×*Ñ*Ô+±OØ" ; -¨qÐ1ˆàÐøôI ò !ð !‹ð	!ús   ó0x  ø xøxc                ó  — t         j                  j                  j                  | «      }|dk7  sJ ‚t         j                  j                  j	                  | «      rt        j
                  | «       t         j                  j                  j                  | «      }t        |«      }t        j                  |d«      }t         j                  j                  j                  | «      r<t         j                  j                  j                  | «      }|dk7  sJ ‚d|› d|› d|› d�S t         j                  j                  j                  | «      r	d|› d|› d�S t         j                  j                  j	                  | «      r	d|› d	|› d
�S t        d«      ‚)Nr=   z    zBatchedTensor(lvl=z, bdim=z	, value=
z
)zGradTrackingTensor(lvl=zFunctionalTensor(lvl=z
, value=\
r©   z8We don't know how to print this, please file us an issue)r0   r×   rØ   Úmaybe_get_levelÚis_functionaltensorÚ_syncÚget_unwrappedr  Útextwraprƒ   Úis_batchedtensorÚmaybe_get_bdimÚis_gradtrackingtensorÚ
ValueError)rT   r¼   ÚlevelrV   Ú
value_reprÚindented_value_reprÚbdims          r   rÚ   rÚ   ¨  sJ  € Ü�H‰H×Ñ×/Ñ/°Ó7€EØ�BŠ;Ðˆ;ä‡x�x×Ñ×.Ñ.¨vÔ6ô 	�‰�FÔä�H‰H×Ñ×-Ñ-¨fÓ5€EÜ�e“€Jä"Ÿ/™/¨*°gÓ>ÐÜ‡x�x×Ñ×+Ñ+¨FÔ3Ü�x‰x×"Ñ"×1Ñ1°&Ó9ˆØ�rŠzÐˆzà    w¨t¨f°JÐ?RÐ>SÐSVÐWð	
ô ‡x�x×Ñ×0Ñ0°Ô8Ø(¨¨¨zÐ:MÐ9NÈcÐRÐRÜ‡x�x×Ñ×.Ñ.¨vÔ6Ø& u g¨\¸*¸ÀQÐGÐGä
ÐOÓ
PÐPr   c                ó:  — t        j                  «       5  t         j                  j                  j	                  «       5  t         j
                  j                  «       }t        | |¬«      cd d d «       cd d d «       S # 1 sw Y   nxY wd d d «       y # 1 sw Y   y xY w)Nr»   )r0   rF   ÚutilsÚ_python_dispatchÚ_disable_current_modesr×   Ú_DisableFuncTorchr2  )rS   r¼   Úguards      r   Ú_strrG  Ã  st   € Ü	�‰‹ñ Bœ%Ÿ+™+×6Ñ6×MÑMÓOñ BÜ—‘×*Ñ*Ó,ˆÜ˜4°ÔA÷B÷ B÷ Bó Bú÷ B÷ Bñ Bús"   •)B¾+A<Á)	BÁ<B	ÂBÂB)NNNNNNr^   )Ú
contextlibr%   rc   r8  Útypingr   r   r0   r   Ú	dataclassr   r    r"   ÚdictrÓ   r'   Úcontextmanagerr+   r8   r:   rl   rŒ   r‘   r§   r³   r£   r2  rÚ   rG  r   r   r   ú<module>rM     så   ðã Û Û Û ß  ã Ý ð ×Ñ÷$ð $ó ð$ñ Ó€
ð
 ØØØØØóF#ðR*˜$˜s C˜x™.ó *ð ×Ññ'ó ð'ò	÷]7ñ ]7ó@
.ó'EóZ""òJ,Nò^ ò Cð* )-ô Qðh >Bô Qð6 #'õ Br   