+
    –°³j*  ã                   ó–  a € R" t)0 t ^ RIHtHt ^ RIHt ^ RIHtHtH	t	H
t
Ht ^ RIt^ RIHu Ht ^ RIHtHt ^ RIHt ^ RIHtHtHtHt Rt] ^ k . R#OtR
 R ltR R ltR R ltR$R R lltR R lt R$R R llt!]! RRR7      t"]! RRR7      t# ! R R	]	]"]#3,          4      t$ ! R R]$]"]#3,          ]%4      t&R%R R llt'R%R  R! llt(R# )&é    )ÚCallableÚSequence)Úupdate_wrapper)ÚAnyÚFinalÚGenericÚoverloadÚTypeVarN)ÚSymIntÚTensor©Úis_tensor_like)Ú_dtypeÚ_NumberÚDeviceÚNumberg¶oüŒxâ?Úlazy_propertyc                ó`   € V ^8„  d   QhR\         \        ,          R\        \         R3,          /# )é   ÚvaluesÚreturn.)r   r   Útuple)Úformats   "ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributions/utils.pyÚ__annotate__r      s'   € ÷  ,ñ  ,œ6¤F�?ð  ,¬u´V¸S°[Õ/Añ  ,ó    c                 ó¢  € \         ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       g   \        R4      h\         ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       g¹   \        \        P                  ! 4       R7      pV  FF  p\        V\        P                  4      '       g   K%  \        VP                  VP                  R7      p M	  V  Uu. uF-  p\        V4      '       d   TM\        P                  ! V3/ VB NK/  	  pp\        P                  ! V!  # \        P                  ! V !  # u upi )aœ  
Given a list of values (possibly containing numbers), returns a list where each
value is broadcasted based on the following rules:

- `torch.*Tensor` instances are broadcasted as per :ref:`broadcasting-semantics`.
- Number instances (scalars) are upcast to tensors having
  the same size and type as the first tensor passed to `values`.  If all the
  values are scalars, then they are upcasted to scalar Tensors.

Args:
    values (list of `Number`, `torch.*Tensor` or objects implementing __torch_function__)

Raises:
    ValueError: if any of the values is not a `Number` instance,
        a `torch.*Tensor` instance, or an instance implementing __torch_function__
c              3   óh   "  € T F(  p\        V4      ;'       g    \        V\        4      x € K*  	  R # 5i©N)r   Ú
isinstancer   ©Ú.0Úvs   & r   Ú	<genexpr>Ú broadcast_all.<locals>.<genexpr>,   s'   é € ÐKÁF¸qŒ~˜aÓ ×:Ð:¤J¨q´'Ó$:Ô:ÃFùs   ‚2™2FTziInput arguments must all be instances of Number, torch.Tensor or objects implementing __torch_function__.c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r   r!   s   & r   r$   r%   1   s   é € Ð1©& QŒ~˜a× Ð «&ùs   ‚)Údtype©r'   Údevice)ÚallÚ
ValueErrorÚdictÚtorchÚget_default_dtyper    r   r'   r)   r   ÚtensorÚbroadcast_tensors)r   ÚoptionsÚvaluer#   Ú
new_valuess   *    r   Úbroadcast_allr4      s  € ÷" ‹3ÑKÁFÓK�3�3Š3ÑKÁFÓK×KÒKÜðGó
ð 	
÷ ‹3Ñ1©&Ó1�3�3Š3Ñ1©&Ó1×1Ò1Ü"&¬U×-DÒ-DÓ-FÔ"GˆÛˆEÜ˜%¤§¡×.Ô.Ü U§[¡[¸¿¹ÔF�Ùñ ñ
 MSó
ÙLRÀq” ×"Ò"‰A¬¯ª°QÑ(B¸'Ñ(BÒBÉFð 	ð 
ô ×&Ò&¨
Ñ3Ð3Ü×"Ò" FÑ+Ð+ùò	
s   Ã/3Ec                ó�   € V ^8„  d   QhR\         \        \        ,          ,          R\        R,          R\        R,          R\
        /# )r   Úshaper'   Nr)   r   )r   Úintr   r   r   r   )r   s   "r   r   r   >   sG   € ÷ Dñ DÜ”Cœ&•LÕ!ðDä�D�=ðDô �T�MðDô ñ	Dr   c           	      ó  € \         P                  P                  4       '       dD   \         P                  ! \         P                  ! WVR 7      \         P
                  ! WVR 7      4      # \         P                  ! WVR 7      P                  4       # )r(   )r-   Ú_CÚ_get_tracing_stateÚnormalÚzerosÚonesÚemptyÚnormal_)r6   r'   r)   s   &&&r   Ú_standard_normalr@   >   s`   € ô
 ‡x�x×"Ñ"×$Ò$ä�|Š|Ü�KŠK˜°6Ô:Ü�JŠJ�u°&Ô9ó
ð 	
ô �;Š;�u°&Ô9×AÑAÓCÐCr   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   r2   Údimr   ©r   r7   )r   s   "r   r   r   L   s!   € ÷ 1ñ 1œ&ð 1¤sð 1¬vñ 1r   c                ó‚   € V^ 8X  d   V # V P                   RV)  R,           pV P                  V4      P                  R4      # )zº
Sum out ``dim`` many rightmost dimensions of a given tensor.

Args:
    value (Tensor): A tensor of ``.dim()`` at least ``dim``.
    dim (int): The number of rightmost dims to sum out.
Néÿÿÿÿ)rE   )r6   ÚreshapeÚsum)r2   rB   Úrequired_shapes   && r   Ú_sum_rightmostrI   L   sA   € ð ˆa„xØˆØ—[‘[  3 $Ð'¨%Õ/€NØ�=‰=˜Ó(×,Ñ,¨RÓ0Ð0r   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   ÚlogitsÚ	is_binaryr   ©r   Úbool)r   s   "r   r   r   Z   s!   € ÷ 	%ñ 	%œFð 	%¬tð 	%Äñ 	%r   c                ón   € V'       d   \         P                  ! V 4      # \        P                  ! V RR7      # )zý
Converts a tensor of logits into probabilities. Note that for the
binary case, each value denotes log odds, whereas for the
multi-dimensional case, the values along the last dimension denote
the log probabilities (possibly unnormalized) of the events.
)rB   rE   )r-   ÚsigmoidÚFÚsoftmax)rK   rL   s   &&r   Úlogits_to_probsrS   Z   s'   € ÷ Ü�}Š}˜VÓ$Ð$Ü�9Š9�V Ô$Ð$r   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úprobsr   )r   )r   s   "r   r   r   f   s   € ÷ -ñ -”vð -¤&ñ -r   c                óŠ   € \         P                  ! V P                  4      P                  pV P	                  V^V,
          R7      # )ah  Clamps the probabilities to be in the open interval `(0, 1)`.

The probabilities would be clamped between `eps` and `1 - eps`,
and `eps` would be the smallest representable positive number for the input data type.

Args:
    probs (Tensor): A tensor of probabilities.

Returns:
    Tensor: The clamped probabilities.

Examples:
    >>> probs = torch.tensor([0.0, 0.5, 1.0])
    >>> clamp_probs(probs)
    tensor([1.1921e-07, 5.0000e-01, 1.0000e+00])

    >>> probs = torch.tensor([0.0, 0.5, 1.0], dtype=torch.float64)
    >>> clamp_probs(probs)
    tensor([2.2204e-16, 5.0000e-01, 1.0000e+00], dtype=torch.float64)

)ÚminÚmax)r-   Úfinfor'   ÚepsÚclamp)rU   rZ   s   & r   Úclamp_probsr\   f   s3   € ô, �+Š+�e—k‘kÓ
"×
&Ñ
&€CØ�;‰;˜3 A¨¥Gˆ;Ó,Ð,r   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   rU   rL   r   rM   )r   s   "r   r   r   €   s!   € ÷ 
!ñ 
!œ6ð 
!¬dð 
!¼vñ 
!r   c                ó¸   € \        V 4      pV'       d3   \        P                  ! V4      \        P                  ! V) 4      ,
          # \        P                  ! V4      # )a  
Converts a tensor of probabilities into logits. For the binary case,
this denotes the probability of occurrence of the event indexed by `1`.
For the multi-dimensional case, the values along the last dimension
denote the probabilities of occurrence of each of the events.
)r\   r-   ÚlogÚlog1p)rU   rL   Ú
ps_clampeds   && r   Úprobs_to_logitsrb   €   s?   € ô ˜UÓ#€JßÜ�yŠy˜Ó$¤u§{¢{°J°;Ó'?Õ?Ð?Ü�9Š9�ZÓ Ð r   ÚTT)ÚcontravariantÚR)Ú	covariantc                   óŒ   a € ] tR t^‘t o RtV 3R lR lt]RV 3R lR ll4       t]RV 3R lR ll4       tRV 3R	 lR
 lltRtV t	R# )r   zä
Used as a decorator for lazy loading of class attributes. This uses a
non-data descriptor that calls the wrapped method to compute the property on
first call; thereafter replacing the wrapped method into an instance
attribute.
c                ó<   <€ V ^8„  d   QhRS[ S[.S[3,          RR/# ©r   Úwrappedr   N©r   rc   re   )r   Ú__classdict__s   "€r   r   Úlazy_property.__annotate__™   s&   ø€ ÷ &ñ &¡©!¨©a¨Õ 0ð &°Tñ &r   c                ó(   € Wn         \        W4       R # r   )rj   r   ©Úselfrj   s   &&r   Ú__init__Úlazy_property.__init__™   s   € Ø)0ŒÜ�tÖ%r   Nc                ó(   <€ V ^8„  d   QhRRRS[ RR/# )r   ÚinstanceNÚobj_typer   z!_lazy_property_and_property[T, R])r   )r   rl   s   "€r   r   rm   ž   s%   ø€ ÷ 2ñ 2Øð2Ù(+ð2à	,ñ2r   c                ó   € R # r   © ©rp   rt   ru   s   &&&r   Ú__get__Úlazy_property.__get__�   s   € ñ /2r   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r   rt   ru   r   )rc   r   re   )r   rl   s   "€r   r   rm   £   s   ø€ ×BÑB¡ÐB©SÐB¹AÑBr   c                ó   € R # r   rw   rx   s   &&&r   ry   rz   ¢   s   € Ù?Br   c                ó8   <€ V ^8„  d   QhRS[ R,          RS[RR/# )r   rt   Nru   r   z%R | _lazy_property_and_property[T, R])rc   r   )r   rl   s   "€r   r   rm   ¥   s)   ø€ ÷ ñ Ù˜D�ðÙ,/ðà	0ñr   c                ó  € Vf   \        V P                  4      # \        P                  ! 4       ;_uu_ 4        V P                  V4      pR R R 4       \	        WP                  P
                  X4       V#   + '       g   i     L2; ir   )Ú_lazy_property_and_propertyrj   r-   Úenable_gradÚsetattrÚ__name__)rp   rt   ru   r2   s   &&& r   ry   rz   ¥   s]   € ð ÒÜ.¨t¯|©|Ó<Ð<Ü×Ò× Õ Ø—L‘L Ó*ˆE÷ !ä�Ÿ,™,×/Ñ/°Ô7Øˆ÷ !× ús   ·A3Á3B	)rj   r   )
r‚   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rq   r	   ry   Ú__static_attributes__Ú__classdictcell__©rl   s   @r   r   r   ‘   sO   ø‡ € ñ÷&ð &ð ÷2ñ 2ó ð2ð ßBÑBó ØB÷÷ ð r   c                   ó6   a € ] tR t^°t o RtV 3R lR ltRtV tR# )r   z’We want lazy properties to look like multiple things.

* property when Sphinx autodoc looks
* lazy_property when Distribution validate_args looks
c                ó<   <€ V ^8„  d   QhRS[ S[.S[3,          RR/# ri   rk   )r   rl   s   "€r   r   Ú(_lazy_property_and_property.__annotate__·   s&   ø€ ÷ )ñ )¡©!¨©a¨Õ 0ð )°Tñ )r   c                ó0   € \         P                  W4       R # r   )Úpropertyrq   ro   s   &&r   rq   Ú$_lazy_property_and_property.__init__·   s   € Ü×Ñ˜$Ö(r   rw   N)r‚   rƒ   r„   r…   r†   rq   r‡   rˆ   r‰   s   @r   r   r   °   s   ø‡ € ñ÷)ö )r   r   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   ÚmatÚdiagr   rC   )r   s   "r   r   r   »   s!   € ÷ ñ œFð ¬#ð ´fñ r   c           	     ód  € V P                   R,          p\        P                  P                  4       '       g+   W) 8  g   W8¼  d   \	        RV RV)  RV^,
           R24      h\        P
                  ! W P                  R7      pW3P                  R^4      V^,           ,           8  pV RV3,          pV# )z”
Convert a `D x D` matrix or a batch of matrices into a (batched) vector
which comprises of lower triangular elements from the matrix in row order.
zdiag (z) provided is outside [z, z].©r)   .rE   )r6   r-   r9   r:   r+   Úaranger)   Úview)r‘   r’   Únr•   Ú	tril_maskÚvecs   &&    r   Útril_matrix_to_vecrš   »   s–   € ð
 	�	‰	�"�€AÜ�8‰8×&Ñ&×(Ò(¨d°R¬i¸4¼9Ü˜6 $ Ð'>À¸r¸dÀ"ÀQÈÅUÀGÈ2ÐNÓOÐOÜ�\Š\˜!§J¡JÔ/€FØŸ™ R¨Ó+¨t°a­xÕ8Ñ8€IØ
ˆc�9ˆnÕ
€CØ€Jr   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   r™   r’   r   rC   )r   s   "r   r   r   É   s!   € ÷ ñ œFð ¬#ð ´fñ r   c                óª  € ^^V,          ,           ) ^^V,          ,           ^,          ^V P                   R,          ,          ,           ^\        V4      ,          V^,           ,          ,           R,          ,           ^,          p\        P                  ! V P                  4      P
                  p\        P                  P                  4       '       g?   \        V4      V,
          V8”  d(   \        RV P                   R,           R2R,           4      h\        V\        P                  4      '       d   \        VP                  4       4      M
\        V4      pV P                  V P                   RR \        P                  ! W"34      ,           4      p\        P                  ! W P                   R7      pWUP#                  R^4      V^,           ,           8  pWRV3&   V# )	z‰
Convert a vector or a batch of vectors into a batched `D x D`
lower triangular matrix containing elements from the vector in row order.
g      à?zThe size of last dimension is z which cannot be expressed as z3the lower triangular part of a square D x D matrix.Nr”   .rE   )r6   Úabsr-   rY   r'   rZ   r9   r:   Úroundr+   r    r   ÚitemÚ	new_zerosÚSizer•   r)   r–   )r™   r’   r—   rZ   r‘   r•   r˜   s   &&     r   Úvec_to_tril_matrixr¢   É   sT  € ð ˆa�$�h�,ˆØ��D•�L˜QÕ  S§Y¡Y¨r¥]Õ!2Õ2°Q¼¸T»µ]ÀdÈQÅhÕ5OÕOÐTWÕ
Wõ	Xà	õ	
€Aô �+Š+�c—i‘iÓ
 ×
$Ñ
$€CÜ�8‰8×&Ñ&×(Ò(¬e°A«h¸­l¸SÔ.@ÜØ,¨S¯Y©Y°r­]¨OÐ;YÐZØCõDó
ð 	
ô & a¬¯©×6Ò6Œˆa�f‰f‹hŒ¼EÀ!»H€AØ
�-‰-˜Ÿ	™	 # 2˜¬¯ª°Q°FÓ);Õ;Ó
<€CÜ�\Š\˜!§J¡JÔ/€FØŸ™ R¨Ó+¨t°a­xÕ8Ñ8€IØˆˆYˆÑØ€Jr   c                óV   € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   # )r   Úeuler_constant)Ú__conditional_annotations__r   Úfloat)r   s   "r   r   r      s   € × .Ñ .÷ 6Ò 5””e•Ñ 5ò /r   )r4   rS   r\   rb   r   rš   r¢   )F)r   )*r¥   Úcollections.abcr   r   Ú	functoolsr   Útypingr   r   r   r	   r
   r-   Útorch.nn.functionalÚnnÚ
functionalrQ   r   r   Útorch.overridesr   Útorch.typesr   r   r   r   r¤   Ú__all__r4   r@   rI   rS   r\   rb   rc   re   r   rŽ   r   rš   r¢   r   )r¥   s   @r   Ú<module>r°      s¯   øðß .Ô .Ý $ß 9Õ 9ã ß Ð ß  Ý *ß 7Ó 7ð  6€Ó 5ò€õ ,õFDõ1÷	%õ-÷4
!ñ ˆC˜tÔ$€ÙˆC˜4Ô €ô�G˜A˜q˜D•Mô ô>) -°°1°Õ"5°xô )÷÷ñ r   