ó
    Eñic  ã                  ó¨  • S r SSKJr  SSKrSSKrSSKJrJr  SSKJ	s  J
r
  SSKJ	s  Jr  SSKJ	s  Jr  SSKJr  \(       a  SSKJr  SSKJr  SSKJrJr   S#       S$S	 jjrS%S&S
 jjr  S'       S(S jjr   S)SS.           S*S jjjr S+       S,S jjr S+       S,S jjrSS.S-S jjrSSS.           S.S jjr  S/SSSS.           S0S jjjr!  S+SS.         S1S jjjr"S/S2S jjr#SS.     S3S jjr$S4S5S jjr S4     S5S jjr%S6S jr&\" \\
R8                  S 5        \" \\
R:                  5        \" \\
R<                  5        \" \5        \" \ 5        \" \!5        \" \"5        \" \#5        \" \$5        \" \\R                  S!5        \" \%\R                  S!5        \" \&\RL                  S"5        g)7a$  
The APIs in this file are exposed as `functorch.*`. They are thin wrappers
around the torch.func.* APIs that have deprecation warnings -- we're trying
to move people to the torch.func.* equivalents.

NB: We don't use *args, **kwargs in the signatures because that changes the
documentation.
é    )ÚannotationsN)ÚAnyÚTYPE_CHECKING)ÚCallable)Ú	argnums_t)Ú	in_dims_tÚ
out_dims_tFc                óZ   • Uc  SU  3nSU  SU S3nU(       a  UR                  SS5      nU$ )Nztorch.func.z[We've integrated functorch into PyTorch. As the final step of the 
integration, `functorch.zk` is deprecated as of PyTorch 
2.0 and will be deleted in a future version of PyTorch >= 2.3. 
Please use `z™` instead; see the PyTorch 2.0 release notes 
and/or the `torch.func` migration guide for more details 
https://pytorch.org/docs/main/func.migrating.htmlÚ
Ú )Úreplace)ÚapiÚnew_apiÚreplace_newlinesÚwarnings       ÚX/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_functorch/deprecated.pyÚget_warningr      sR   € ð �Ø ˜uÐ%ˆð#Ø#& %ð (à�ið  <ð	=ð ö Ø—/‘/ $¨Ó+ˆØ€Nó    c                óL   • [        XSS9n[        R                  " U[        SS9  g )NT)r   é   )Ú
stacklevel)r   ÚwarningsÚwarnÚFutureWarning)r   r   r   s      r   Úwarn_deprecatedr   /   s   € Ü˜#¸Ñ>€GÜ‡M‚M�'œ=°QÓ7r   c                óþ   • U R                   nUc  [        [        U5      nUR                  c  g [	        X25      nS[
        R                  " US5      -   n[
        R                  " US5      nUR                  U-   U l        g )Nz
.. warning::

z    )Ú__name__ÚgetattrÚ_implÚ__doc__r   ÚtextwrapÚindent)Úfunctorch_apiÚtorch_func_apiÚnew_api_nameÚapi_namer   Úwarning_notes         r   Ú
setup_docsr(   4   sr   € ð
 ×%Ñ%€HØÑÜ ¤¨Ó1ˆà×ÑÑ%Øä˜(Ó1€GØ'¬(¯/ª/¸'À6Ó*JÑJ€LÜ—?’? <°Ó8€LØ*×2Ñ2°\ÑA€MÕr   Úerror©Ú
chunk_sizec               óF   • [        SS5        [        R                  " XX#US9$ )NÚvmapú
torch.vmapr*   )r   Úapisr-   )ÚfuncÚin_dimsÚout_dimsÚ
randomnessr+   s        r   r-   r-   F   s!   € ô �F˜LÔ)Ü�9Š9�T HÀZÑPÐPr   c                óF   • [        S5        [        R                  " XU5      $ )NÚgrad)r   r/   r5   ©r0   ÚargnumsÚhas_auxs      r   r5   r5   R   s   € ô �FÔÜ�9Š9�T GÓ,Ð,r   c                óF   • [        S5        [        R                  " XU5      $ )NÚgrad_and_value)r   r/   r:   r6   s      r   r:   r:   Y   s    € ô Ð$Ô%Ü×Ò˜t¨gÓ6Ð6r   )r8   c               óL   • [        S5        [        R                  " U /UQ7SU06$ )NÚvjpr8   )r   r   r<   )r0   r8   Úprimalss      r   r<   r<   `   s#   € Ü�EÔÜ�9Š9�TÐ5˜GÒ5¨WÑ5Ð5r   ©Ústrictr8   c               óD   • [        S5        [        R                  " XX#US9$ )NÚjvpr>   )r   r   rA   )r0   r=   Útangentsr?   r8   s        r   rA   rA   e   s   € ô �EÔÜ�9Š9�T HÀWÑMÐMr   ©r8   r+   Ú_preallocate_and_copyc               óH   • [        S5        [        R                  " U UUUUS9$ )NÚjacrevrC   )r   r   rF   )r0   r7   r8   r+   rD   s        r   rF   rF   q   s,   € ô �HÔÜ�<Š<ØØØØØ3ñð r   ©r3   c               óB   • [        S5        [        R                  " XX#S9$ )NÚjacfwdrG   )r   r   rI   )r0   r7   r8   r3   s       r   rI   rI   ƒ   s   € ô �HÔÜ�<Š<˜ wÑFÐFr   c                ó@   • [        S5        [        R                  " XS9$ )NÚhessian)r7   )r   r   rK   )r0   r7   s     r   rK   rK   Ž   s   € Ü�IÔÜ�=Š=˜Ñ/Ð/r   Ú	mutations©Úremovec               ó@   • [        S5        [        R                  " XS9$ )NÚfunctionalizerM   )r   r   rP   )r0   rN   s     r   rP   rP   “   s   € ô �OÔ$Ü×Ò˜tÑ3Ð3r   c                óF   • [        SS5        [        R                  " X5      $ )NÚmake_functionalútorch.func.functional_call)r   Ú_nn_implrR   ©ÚmodelÚdisable_autograd_trackings     r   rR   rR   š   s   € ÜÐ%Ð'CÔDÜ×#Ò# EÓEÐEr   c                óF   • [        SS5        [        R                  " X5      $ )NÚmake_functional_with_buffersrS   )r   rT   rY   rU   s     r   rY   rY   Ÿ   s!   € ô Ð2Ð4PÔQÜ×0Ò0°ÓRÐRr   c                óF   • [        SS5        [        R                  " U 5      $ )NÚcombine_state_for_ensembleútorch.func.stack_module_state)r   rT   r[   )Úmodelss    r   r[   r[   ¦   s   € ÜÐ0Ð2QÔRÜ×.Ò.¨vÓ6Ð6r   r.   rS   r\   )NF)r   Ústrr   ú
str | Noner   ÚboolÚreturnr^   )N)r   r^   r   r_   ra   ÚNone)NN)r#   úCallable[..., Any]r$   zCallable[..., Any] | Noner%   r_   ra   rb   )r   r   r)   )r0   rc   r1   r   r2   r	   r3   r^   r+   ú
int | Nonera   rc   )r   F)r0   rc   r7   r   r8   r`   ra   rc   )r0   rc   r=   r   r8   r`   ra   r   )r0   rc   r=   r   rB   r   r?   r`   r8   r`   ra   r   )r   )r0   rc   r7   zint | tuple[int, ...]r8   r`   r+   rd   rD   r`   ra   rc   )
r0   rc   r7   r   r8   r`   r3   r^   ra   rc   )r0   rc   r7   Úintra   rc   )r0   rc   rN   r^   ra   rc   )F)rV   z	nn.ModulerW   r`   ra   r   )r]   zlist[nn.Module]ra   r   )'r    Ú
__future__r   r!   r   Útypingr   r   Útorch._functorch.apisÚ
_functorchr/   Ú!torch._functorch.eager_transformsÚeager_transformsr   Ú torch._functorch.make_functionalrR   rT   Útorch.nnÚnnÚcollections.abcr   r   Útorch._functorch.vmapr   r	   r   r   r(   r-   r5   r:   r<   rA   rF   rI   rK   rP   rY   r[   © r   r   Ú<module>rr      sB  ðñõ #ã Û ß %ç $Ð $ß 1Ð 1ß 3Ð 3Ý ö Ý(å;ß;ð DIðØ	ðØ!ðØ<@ðàõö$8ð 15Ø#ðBØ%ðBà-ðBð ðBð 
õ	Bð( ØØð		Qð "ñ	QØ
ð	Qàð	Qð ð	Qð ð		Qð ð	Qð ö	Qð GLð-Ø
ð-Ø'0ð-Ø?Cð-àõ-ð GLð7Ø
ð7Ø'0ð7Ø?Cð7àõ7ð BG÷ 6ð Øñ	NØ
ð	Nàð	Nð ð	Nð
 ð	Nð ð	Nð 	õ	Nð &'ðð Ø!Ø"'ñØ
ðà"ðð ð	ð
 ðð  ðð öð( ØðGð
 ñGØ
ðGàðGð ðGð
 ðGð öGö0ð 0;ñ4Ø
ð4Ø),ð4àõ4öFð 9>ðSØðSØ15ðSàõSô7ñ
 ˆ4�—‘˜LÔ )Ù 
ˆ4�—‘Ô Ù 
ˆ>˜4×.Ñ.Ô /Ù 
ˆ3„Ù 
ˆ3„Ù 
ˆ6Ô Ù 
ˆ6Ô Ù 
ˆ7Ô Ù 
ˆ=Ô Ù 
ˆ?˜H×4Ñ4Ð6RÔ SÙ 
Ø  (×":Ñ":Ð<Xôñ ØØ×'Ñ'Ø#õr   