Ë
    g^(h6  ã                   ó†   — d dl Z d dlZd dlmZ d dlmZ ddlmZ g Ze G d„ d«      «       Z	 G d„ d	«      Z
d
„ Zi Zdd„Zd„ Zy)é    N)Ú	dataclass)ÚUnioné   )ÚDimListc                   ó&   — e Zd ZU eed<   dZeed<   y)Ú	LevelInfoÚlevelTÚaliveN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__r
   Úbool© ó    úO/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/functorch/dim/dim.pyr   r      s   … àƒJØ€Eˆ4Ôr   r   c                   ó~   — e Zd Zd
dededef   fd„Zd„ Zed„ «       Z	e	j                  defd„«       Z	ed„ «       Zd	„ Zy)ÚDimNÚnameÚsizec                 óB   — || _         d | _        d | _        |�|| _        y y ©N)r   Ú_sizeÚ_vmap_levelr   )Úselfr   r   s      r   Ú__init__zDim.__init__   s*   € ØˆŒ	ØˆŒ
ØˆÔØÐØˆD�Ið r   c                 óV  — | j                   ��dt        | j                     _        t        d   j                  sqt        «       t        d   j                  k(  rRt        «        t        j                  «        t        d   j                  s t        «       t        d   j                  k(  rŒPy y y y y )NFéÿÿÿÿ)	r   Ú_vmap_active_levelsÚ_vmap_stackr
   Ú_vmap_levelsÚcurrent_levelr	   Ú_vmap_decrement_nestingÚpop©r   s    r   Ú__del__zDim.__del__   sˆ   € Ø×ÑÐ'Ø:?Ô × 0Ñ 0Ñ1Ô7ä  Ñ$×*Ò*¬}«Ä,ÈrÑBR×BXÑBXÒ/Xä'Ô)Ü× Ñ Ô"ô ! Ñ$×*Ò*¬}«Ä,ÈrÑBR×BXÑBXÔ/XÐ*Ð/XÐ*ð (r   c                 ó6   — | j                   sJ ‚| j                  S r   )Úis_boundr   r&   s    r   r   zDim.size(   s   € à�}Š}Ðˆ}Ø�z‰zÐr   c                 ó&  — ddl m} | j                  €U|| _        t        |d«      | _        t        t        «      | _        t        j                  t        | j                  «      «       y | j                  |k7  r |d| › d| j                  › d|› �«      ‚y )Nr   )ÚDimensionBindErrorÚsamezDim 'z*' previously bound to a dimension of size z$ cannot bind to a dimension of size )
Ú r+   r   Ú_vmap_increment_nestingr   Úlenr"   r!   Úappendr   )r   r   r+   s      r   r   zDim.size-   s‡   € å(à�:‰:ÐØˆDŒJÜ6°t¸VÓDˆDÔÜ"¤<Ó0ˆDÔÜ×Ñ¤	¨$×*:Ñ*:Ó ;Õ<à�Z‰Z˜4ÒÙ$Ø˜�vÐGÈÏ
É
À|ÐSwÐx|Ðw}Ð~óð ð  r   c                 ó   — | j                   d uS r   )r   r&   s    r   r)   zDim.is_bound<   s   € à�z‰z Ð%Ð%r   c                 ó   — | j                   S r   ©r   r&   s    r   Ú__repr__zDim.__repr__@   s   € Ø�y‰yÐr   r   )r   r   r   Ústrr   r   r   r'   Úpropertyr   Úsetterr)   r4   r   r   r   r   r      so   „ ñ˜Sð ¨¨d°C¨iÑ(8ó ò#ð ñó ðð 
‡[�[ð˜ò ó ðð ñ&ó ð&ór   r   c                 óZ   — | j                   dk(  s| j                   dk(  sJ ‚| j                  S )NÚ
STORE_FASTÚ
STORE_NAME)ÚopnameÚargval)Úinsts    r   Úextract_namer>   D   s)   € Ø�;‰;˜,Ò&¨$¯+©+¸Ò*EÐEÐEØ�;‰;Ðr   c                 óh  ‡‡	‡
‡‡‡— t        j                  «       }|€J ‚|j                  }|€J ‚|j                  |j                  }}||f}|t
        vrÔ|dz  dz   Š	t        t        j                  |j                  «      «      Š‰‰	   }|j                  dk(  s|j                  dk(  r+|j                  Š| dk(  rt        nt        Šˆˆfd„t
        |<   nV|j                  dk(  sJ ‚|j                  }t        ˆ	ˆfd„t        |«      D «       «      Št        ‰«      | z
  Š
ˆ
ˆfd	„t
        |<   t        |   «       S )
Né   r   r9   r:   r   c                  ó   •—  ‰ ‰¬«      S )Nr3   r   )Úctorr   s   €€r   ú<lambda>zdims.<locals>.<lambda>\   s   ø€ ¡$¨D¤/€ r   ÚUNPACK_SEQUENCEc              3   óF   •K  — | ]  }t        ‰‰d z   |z      «      –— Œ y­w)r   N)r>   )Ú.0ÚiÚfirstÚinstructionss     €€r   ú	<genexpr>zdims.<locals>.<genexpr>`   s(   øè ø€ ò Ø>?”˜\¨%°!©)°a©-Ñ8×9ñùs   ƒ!c                  ó>   •— t        ˆ fd„t        ‰«      D «       «      S )Nc              3   ó\   •K  — | ]#  \  }}|‰k  rt        |«      nt        |¬ «      –— Œ% y­w)r3   N)r   r   )rF   rG   ÚnÚ
first_lists      €r   rJ   z)dims.<locals>.<lambda>.<locals>.<genexpr>d   s0   øè ø€ ò (á�A�qð ˜jš.”�A”¬g¸1¬oÓ=ñ(ùs   ƒ),)ÚtupleÚ	enumerate)rN   Únamess   €€r   rC   zdims.<locals>.<lambda>d   s   ø€ ¤%ó (ä% eÓ,ô(ó #€ r   )ÚinspectÚcurrentframeÚf_backÚf_codeÚf_lastiÚ_cacheÚlistÚdisÚget_instructionsr;   r<   r   r   rO   Úranger/   )ÚlistsÚframeÚcalling_frameÚcodeÚlastiÚkeyÚunpackÚndimsrB   rH   rN   rI   r   rQ   s           @@@@@@r   Údimsrd   L   s   ý€ Ü× Ñ Ó"€EØÐÐÐØ—L‘L€MØÐ$Ð$Ð$Ø×&Ñ&¨×(=Ñ(=ˆ%€DØ�ˆ-€CØ
”&ÑØ˜‘
˜Q‘ˆÜœC×0Ñ0°×1EÑ1EÓFÓGˆØ˜eÑ$ˆà�=‰=˜LÒ(¨F¯M©M¸\Ò,Ià—=‘=ˆDØ 1š*•3¬'ˆDÜ1ŒF�3ŠKà—=‘=Ð$5Ò5Ð5Ð5Ø—M‘MˆEÜô ÜCHÈÃ<ôó ˆEô ˜U› eÑ+ˆJôŒF�3‰Kô �#‰;‹=Ðr   c                 ó~   ‡ ‡— ˆ fd„Š|€‰ S t        |t        t        f«      st        ˆfd„|D «       «      S  ‰|«      fS )Nc                 óV   •— t        | t        «      r| S t        | t        «      sJ ‚‰|    S r   )Ú
isinstancer   r   )ÚaÚ
positionals    €r   Úconvertz_dim_set.<locals>.convertl   s,   ø€ Ü�aœÔØˆHä˜a¤Ô%Ð%Ð%Ø˜a‘=Ð r   c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr   r   )rF   rh   rj   s     €r   rJ   z_dim_set.<locals>.<genexpr>v   s   øè ø€ Ò- A‘W˜Q—ZÑ-ùs   ƒ)rg   r   r   rO   )ri   Úargrj   s   ` @r   Ú_dim_setrm   k   s@   ù€ ô!ð €{ØÐÜ˜œc¤3˜ZÔ(ÜÓ-¨Ô-Ó-Ð-á˜“ˆÐr   )r   )rY   rR   Údataclassesr   Útypingr   r-   r   r"   r   r   r>   rW   rd   rm   r   r   r   ú<module>rp      sW   ðó Û Ý !Ý å ð €ð ÷ð ó ð÷
*ñ *òZð
 
€óó>r   