§
    Ó˜ºhß¾ ã                  ó  — U d dl mZ d dlZd dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
mZmZ d dlmZ d dlmZmZ erd dlmZmZ  ed	¬
¦  «         G d„ d¦  «        ¦   «         Z G d„ de¦  «        ZdZd                     ¦   «         Zg d¢Zdgd„ eD ¦   «         z   ZddhZ G d„ de¦  «        Z G d„ de¦  «        Zdpd„ZeD ]>Z eD ]9Z! e"ee e!z   ¦  «        s( e¦   «         Z# e$e#¦  «          e%de › e!› de#› �¦  «        ‚Œ:Œ?ej&        ej'        ej(        ej)        ej*        hZ+ej'        ej(        hZ,ej(        ej-        ej.        ej/        ej'        ej&        ej)        ej0        ej1        ej2        ej3        ej4        ej5        ej6        ej7        ej8        ej9        ej:        ej;        ej<        ej=        ej>        ej?        ej@        ejA        ejB        ejC        ej*        gZDdqd!„ZEdqd"„ZFdqd#„ZGdqd$„ZHdqd%„ZIeFd&eGd'iZJ G d(„ d)e¦  «        ZKi ZLd*eMd+<    eeKjN        eKjO        eKjP        eKjQ        eKjR        g¦  «        eLd,<    eeKjS        eKjT        g¦  «        eLd-<    eeKjU        eKjV        g¦  «        eLd.<   eLd,         eLd-         z  eLd/<   eLd/         eLd.         z  eLd0<   eLd-         eLd.         z  eLd1<    G d2„ d3e¦  «        ZW G d4„ d5e¦  «        ZX G d6„ d7e¦  «        ZY ed	¬
¦  «         G d8„ d9¦  «        ¦   «         ZZ G d:„ d;e¦  «        Z[ ed	¬
¦  «         G d<„ d=¦  «        ¦   «         Z\ ed	¬
¦  «         G d>„ d?¦  «        ¦   «         Z] ed	¬
¦  «         G d@„ dA¦  «        ¦   «         Z^ ed	¬
¦  «         G dB„ dC¦  «        ¦   «         Z_ ed	¬
¦  «         G dD„ dE¦  «        ¦   «         Z` ed	¬
¦  «         G dF„ dG¦  «        ¦   «         Za ed	¬
¦  «         G dH„ dI¦  «        ¦   «         Zb G dJ„ dKe¦  «        Zc ed	¬
¦  «         G dL„ dMeb¦  «        ¦   «         Zd ed	¬
¦  «         G dN„ dOeb¦  «        ¦   «         Ze ed	¬
¦  «         G dP„ dQeb¦  «        ¦   «         Zf ed	¬
¦  «         G dR„ dSeb¦  «        ¦   «         Zg ed	¬
¦  «         G dT„ dU¦  «        ¦   «         Zh ed	¬
¦  «         G dV„ dW¦  «        ¦   «         Zi ed	¬
¦  «         G dX„ dY¦  «        ¦   «         Zj ed	¬
¦  «         G dZ„ d[¦  «        ¦   «         Zk ed	¬
¦  «         G d\„ d]¦  «        ¦   «         Zlg d^¢Zm ed	¬
¦  «         G d_„ d`¦  «        ¦   «         Zn ed	¬
¦  «         G da„ db¦  «        ¦   «         Zodrdf„Zp ed	¬
¦  «         G dg„ dh¦  «        ¦   «         Zqdsdi„Zrdtdj„Zsdudm„Zt ed	¬
¦  «         G dn„ do¦  «        ¦   «         ZudS )vé    )ÚannotationsN)Ú	dataclass)ÚautoÚEnum)ÚCallableÚOptionalÚTYPE_CHECKING)Úassert_never)ÚNamespaceHelperÚ
OrderedSet)ÚIteratorÚSequenceT)Úfrozenc                  ó,   — e Zd ZU ded<   ded<   dd„ZdS )	ÚLocationÚstrÚfileÚintÚlineÚreturnc                ó$   — | j         › d| j        › �S )Nú:)r   r   ©Úselfs    úV/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/torchgen/model.pyÚ__str__zLocation.__str__1   s   € Ø”)Ð)Ð)˜dœiÐ)Ð)Ð)ó    N©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   © r   r   r   r   ,   s<   € € € € € € à€I€I�IØ€I€I�Ið*ð *ð *ð *ð *ð *r   r   c                  ó6   — e Zd Z e¦   «         Z e¦   «         ZdS )ÚVariantN)r   r    r!   r   ÚfunctionÚmethodr#   r   r   r%   r%   6   s$   € € € € € Øˆt‰vŒv€HØˆT‰VŒV€F€F€Fr   r%   z
at::nativezVCPU CUDA HIP XLA MTIA MPS IPU XPU HPU VE Lazy Meta PrivateUse1 PrivateUse2 PrivateUse3)Ú Ú	QuantizedÚSparseÚ	SparseCsrÚNestedTensorÚAutogradÚAutogradNestedTensorc                ó   — g | ]}d |z   ‘ŒS )r-   r#   )Ú.0Ú	components     r   ú
<listcomp>r2   K   s*   € ð ,ð ,ð ,Ø(€J�Ñð,ð ,ð ,r   Ú	quantizedÚquantized_decomposedc                  ó  — e Zd ZdZeZ e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z  e¦   «         Z! e¦   «         Z" e¦   «         Z# e¦   «         Z$ e¦   «         Z% e¦   «         Z& e¦   «         Z' e¦   «         Z( e¦   «         Z) e¦   «         Z* e¦   «         Z+ e¦   «         Z, e¦   «         Z- e¦   «         Z. e¦   «         Z/ e¦   «         Z0 e¦   «         Z1 e¦   «         Z2 e¦   «         Z3 e¦   «         Z4 e¦   «         Z5 e¦   «         Z6 e¦   «         Z7 e¦   «         Z8 e¦   «         Z9 e¦   «         Z: e¦   «         Z; e¦   «         Z< e¦   «         Z= e¦   «         Z> e¦   «         Z? e¦   «         Z@ e¦   «         ZA e¦   «         ZB e¦   «         ZC e¦   «         ZD e¦   «         ZE e¦   «         ZF e¦   «         ZG e¦   «         ZH e¦   «         ZI e¦   «         ZJ e¦   «         ZK e¦   «         ZL e¦   «         ZM e¦   «         ZN e¦   «         ZO e¦   «         ZP e¦   «         ZQ e¦   «         ZR e¦   «         ZS e¦   «         ZT e¦   «         ZU e¦   «         ZV e¦   «         ZW e¦   «         ZX e¦   «         ZY e¦   «         ZZ e¦   «         Z[ e¦   «         Z\ e¦   «         Z] e¦   «         Z^ e¦   «         Z_ e¦   «         Z` e¦   «         Za e¦   «         Zb e¦   «         Zc e¦   «         Zd e¦   «         Ze e¦   «         Zf e¦   «         Zg e¦   «         Zh e¦   «         Zi e¦   «         Zj e¦   «         Zk e¦   «         Zl e¦   «         Zm e¦   «         Zn e¦   «         Zo e¦   «         Zp e¦   «         Zq e¦   «         Zr e¦   «         Zs e¦   «         Zt e¦   «         Zu e¦   «         Zv e¦   «         Zw e¦   «         Zx e¦   «         Zy e¦   «         Zz e¦   «         Z{ e¦   «         Z| e¦   «         Z} e¦   «         Z~ e¦   «         Z e¦   «         Z€ e¦   «         Z� e¦   «         Z‚ e¦   «         Zƒ e¦   «         Z„ e¦   «         Z… e¦   «         Z† e¦   «         Z‡ e¦   «         Zˆ e¦   «         Z‰ e¦   «         ZŠ e¦   «         Z‹ e¦   «         ZŒ e¦   «         Z� e¦   «         ZŽ e¦   «         Z�d	d„Z�d	d„Z‘e’d
d„¦   «         Z“dS )ÚDispatchKeyr   r   r   c                ó   — | j         S ©N©Únamer   s    r   r   zDispatchKey.__str__è   ó
   € ØŒyÐr   c                óD   — t          | ¦  «                             ¦   «         S r8   )r   Úlowerr   s    r   r=   zDispatchKey.lowerë   s   € Ý�4‰yŒy�ŠÑ Ô Ð r   Úvaluec                ó‚   — t           j                             ¦   «         D ]\  }}|| k    r|c S Œt          d| › �¦  «        ‚)Nzunknown dispatch key )r6   Ú__members__ÚitemsÚAssertionError©r>   ÚkÚvs      r   ÚparsezDispatchKey.parseî   sR   € åÔ+×1Ò1Ñ3Ô3ð 	ð 	‰DˆAˆqØ�EŠzˆzØ���ð åÐ<°UÐ<Ð<Ñ=Ô=Ð=r   Nr   )r>   r   r   r6   )”r   r    r!   Ú	UndefinedÚCatchAllr   ÚFPGAÚMAIAÚVulkanÚMetalÚMKLDNNÚOpenGLÚOpenCLÚIDEEPÚCustomRNGKeyIdÚ	MkldnnCPUr*   r+   r,   ÚDenseÚPythonTLSSnapshotÚPreDispatchÚPythonDispatcherÚPythonÚFuncTorchDynamicLayerBackModeÚ
ZeroTensorÚ	ConjugateÚNegativeÚBackendSelectÚNamedÚAutogradOtherÚAutogradFunctionalityr.   ÚTracerÚAutocastÚAutocastCPUÚAutocastCUDAÚBatchedÚVmapModeÚFuncTorchGradWrapperÚFuncTorchBatchedÚBatchedNestedTensorÚFuncTorchVmapModeÚFuncTorchDynamicLayerFrontModeÚFunctionalizeÚTESTING_ONLY_GenericWrapperÚTESTING_ONLY_GenericModeÚADInplaceOrViewr-   ÚCompositeImplicitAutogradÚ%CompositeImplicitAutogradNestedTensorÚCompositeExplicitAutogradÚ&CompositeExplicitAutogradNonFunctionalÚFuncTorchBatchedDecompositionÚCPUÚCUDAÚHIPÚXLAÚMTIAÚMPSÚIPUÚXPUÚHPUÚVEÚLazyÚMetaÚPrivateUse1ÚPrivateUse2ÚPrivateUse3ÚQuantizedCPUÚQuantizedCUDAÚQuantizedHIPÚQuantizedXLAÚQuantizedMTIAÚQuantizedMPSÚQuantizedIPUÚQuantizedXPUÚQuantizedHPUÚQuantizedVEÚQuantizedLazyÚQuantizedMetaÚQuantizedPrivateUse1ÚQuantizedPrivateUse2ÚQuantizedPrivateUse3Ú	SparseCPUÚ
SparseCUDAÚ	SparseHIPÚ	SparseXLAÚ
SparseMTIAÚ	SparseMPSÚ	SparseIPUÚ	SparseXPUÚ	SparseHPUÚSparseVEÚ
SparseLazyÚ
SparseMetaÚSparsePrivateUse1ÚSparsePrivateUse2ÚSparsePrivateUse3ÚSparseCsrCPUÚSparseCsrCUDAÚSparseCsrHIPÚSparseCsrXLAÚSparseCsrMTIAÚSparseCsrMPSÚSparseCsrIPUÚSparseCsrXPUÚSparseCsrHPUÚSparseCsrVEÚSparseCsrLazyÚSparseCsrMetaÚSparseCsrPrivateUse1ÚSparseCsrPrivateUse2ÚSparseCsrPrivateUse3ÚNestedTensorCPUÚNestedTensorCUDAÚNestedTensorHIPÚNestedTensorXLAÚNestedTensorMTIAÚNestedTensorMPSÚNestedTensorIPUÚNestedTensorXPUÚNestedTensorHPUÚNestedTensorVEÚNestedTensorLazyÚNestedTensorMetaÚNestedTensorPrivateUse1ÚNestedTensorPrivateUse2ÚNestedTensorPrivateUse3ÚAutogradCPUÚAutogradCUDAÚAutogradHIPÚAutogradXLAÚAutogradMTIAÚAutogradMPSÚAutogradIPUÚAutogradXPUÚAutogradHPUÚ
AutogradVEÚAutogradLazyÚAutogradMetaÚAutogradPrivateUse1ÚAutogradPrivateUse2ÚAutogradPrivateUse3r   r=   ÚstaticmethodrF   r#   r   r   r6   r6   T   sz  € € € € € Ø€IØ€Hàˆ4‰6Œ6€DØˆ4‰6Œ6€DØˆT‰VŒV€FØˆD‰FŒF€EØˆT‰VŒV€FØˆT‰VŒV€FØˆT‰VŒV€FØˆD‰FŒF€EØ�T‘V”V€NØ�‘”€IØˆT‰VŒV€FØ�‘”€IØ�4‘6”6€LØˆD‰FŒF€Eà˜™œÐØ�$‘&”&€KØ�t‘v”vÐØˆT‰VŒV€FØ$( D¡F¤FÐ!Ø�‘”€JØ�‘”€IØˆt‰vŒv€HØ�D‘F”F€MØˆD‰FŒF€EØ�D‘F”F€MØ ˜D™FœFÐØ˜4™6œ6ÐØˆT‰VŒV€FØˆt‰vŒv€HØ�$‘&”&€KØ�4‘6”6€LØˆd‰fŒf€GØˆt‰vŒv€HØ˜4™6œ6ÐØ�t‘v”vÐØ˜$™&œ&ÐØ˜™œÐØ%) T¡V¤VÐ"Ø�D‘F”F€MØ"& $¡&¤&ÐØ#˜t™vœvÐà�d‘f”f€OØˆt‰vŒv€HØ $ ¡¤ÐØ,0¨D©F¬FÐ)Ø $ ¡¤ÐØ-1¨T©V¬VÐ*Ø$( D¡F¤FÐ!ð ˆ$‰&Œ&€CØˆ4‰6Œ6€DØ
ˆ$‰&Œ&€CØ
ˆ$‰&Œ&€CØˆ4‰6Œ6€DØ
ˆ$‰&Œ&€CØ
ˆ$‰&Œ&€CØ
ˆ$‰&Œ&€CØ
ˆ$‰&Œ&€CØ	ˆ‰Œ€BØˆ4‰6Œ6€DØˆ4‰6Œ6€DØ�$‘&”&€KØ�$‘&”&€KØ�$‘&”&€KØ�4‘6”6€LØ�D‘F”F€MØ�4‘6”6€LØ�4‘6”6€LØ�D‘F”F€MØ�4‘6”6€LØ�4‘6”6€LØ�4‘6”6€LØ�4‘6”6€LØ�$‘&”&€KØ�D‘F”F€MØ�D‘F”F€MØ˜4™6œ6ÐØ˜4™6œ6ÐØ˜4™6œ6ÐØ�‘”€IØ�‘”€JØ�‘”€IØ�‘”€IØ�‘”€JØ�‘”€IØ�‘”€IØ�‘”€IØ�‘”€IØˆt‰vŒv€HØ�‘”€JØ�‘”€JØ˜™œÐØ˜™œÐØ˜™œÐØ�4‘6”6€LØ�D‘F”F€MØ�4‘6”6€LØ�4‘6”6€LØ�D‘F”F€MØ�4‘6”6€LØ�4‘6”6€LØ�4‘6”6€LØ�4‘6”6€LØ�$‘&”&€KØ�D‘F”F€MØ�D‘F”F€MØ˜4™6œ6ÐØ˜4™6œ6ÐØ˜4™6œ6ÐØ�d‘f”f€OØ�t‘v”vÐØ�d‘f”f€OØ�d‘f”f€OØ�t‘v”vÐØ�d‘f”f€OØ�d‘f”f€OØ�d‘f”f€OØ�d‘f”f€OØ�T‘V”V€NØ�t‘v”vÐØ�t‘v”vÐØ"˜d™fœfÐØ"˜d™fœfÐØ"˜d™fœfÐØ�$‘&”&€KØ�4‘6”6€LØ�$‘&”&€KØ�$‘&”&€KØ�4‘6”6€LØ�$‘&”&€KØ�$‘&”&€KØ�$‘&”&€KØ�$‘&”&€KØ�‘”€JØ�4‘6”6€LØ�4‘6”6€LØ˜$™&œ&ÐØ˜$™&œ&ÐØ˜$™&œ&Ððð ð ð ð!ð !ð !ð !ð ð>ð >ð >ñ „\ð>ð >ð >r   r6   c                  óJ   — e Zd Z e¦   «         Z e¦   «         Z e¦   «         ZdS )Ú_TorchDispatchModeKeyN)r   r    r!   r   ÚFAKEÚPROXYÚ
FUNCTIONALr#   r   r   rÐ   rÐ   ö   s/   € € € € € Øˆ4‰6Œ6€DØˆD‰FŒF€EØ�‘”€J€J€Jr   rÐ   r   r   c                 ó’   ‡— g } t           D ](Š|                      ˆfd„t          D ¦   «         ¦  «         Œ)d                     | ¦  «        S )Nc              3  ó(   •K  — | ]}d ‰› |› d�V — ŒdS )z    z	 = auto()Nr#   )r0   ÚbcÚfks     €r   ú	<genexpr>z.codegen_per_backend_entries.<locals>.<genexpr>ÿ   s4   øè è € ÐGÐG¨bÐ)˜Ð)˜BÐ)Ð)Ð)ÐGÐGÐGÐGÐGÐGr   ú
)ÚFUNCTIONALITY_KEYSÚextendÚBACKEND_COMPONENTSÚjoin)Úrr×   s    @r   Úcodegen_per_backend_entriesrß   ü   sT   ø€ Ø€AÝ ð Hð HˆØ	�ŠÐGÐGÐGÐGÕ4FÐGÑGÔGÑGÔGÐGÐGØ�9Š9�Q‰<Œ<Ðr   zMissing zL from DispatchKey enum.  Here is the autogenerated list we expect to have:

ÚdkÚboolc                ób   — | t           j        t           j        t           j        t           j        hv S r8   ©r6   rq   rr   ro   rp   ©rà   s    r   Úis_generic_dispatch_keyrå   ;  s,   € ØÝÔ-ÝÔ:ÝÔ-ÝÔ9ð	ð ð r   c                óŽ   — | t           j        t           j        t           j        t           j        t           j        t           j        hv S r8   )r6   ru   r„   r“   r¢   r±   rÀ   rä   s    r   Úis_cuda_dispatch_keyrç   E  s8   € ØÝÔÝÔ!ÝÔÝÔ!ÝÔ$ÝÔ ðð ð r   c                óŽ   — | t           j        t           j        t           j        t           j        t           j        t           j        hv S r8   )r6   r{   rŠ   r™   r¨   r·   rÆ   rä   s    r   Úis_xpu_dispatch_keyré   Q  s7   € ØÝŒÝÔ ÝÔÝÔ ÝÔ#ÝÔðð ð r   c                ó   — | t           v S r8   )ÚSTRUCTURED_DISPATCH_KEYSrä   s    r   Úis_structured_dispatch_keyrì   ^  s   € ØÕ)Ð)Ð)r   c                ó   — | t           v S r8   )ÚUFUNC_DISPATCH_KEYSrä   s    r   Úis_ufunc_dispatch_keyrï   b  s   € àÕ$Ð$Ð$r   ÚcudaÚxpuc                  óÆ  — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Zdd„Zedd„¦   «         Zedd„¦   «         Zedd
„¦   «         ZdS )Ú
ScalarTyper   r   c                ó   — | j         S r8   r9   r   s    r   r   zScalarType.__str__  r;   r   r>   úScalarType | Nonec                ób   — t           j                             ¦   «         D ]\  }}|| k    r|c S Œd S r8   )ró   r@   rA   rC   s      r   Úmaybe_parsezScalarType.maybe_parse‚  s@   € åÔ*×0Ò0Ñ2Ô2ð 	ð 	‰DˆAˆqØ�EŠzˆzØ���ð àˆtr   c                óX   — t                                | ¦  «        }|€J d| › �¦   «         ‚|S )Nzunknown dtype )ró   r÷   )r>   Úmb_rs     r   rF   zScalarType.parse‰  s7   € å×%Ò% eÑ,Ô,ˆØÐÐÐ!9°%Ð!9Ð!9ÑÔÐØˆr   ÚvaluesúOrderedSet[ScalarType]c                ó   — t          ¦   «         }|                      d¦  «        D ]Y}|t          v r!|                     t          |         ¦  «         Œ,|                     t
                               |¦  «        ¦  «         ŒZ|S )Nú, )r   ÚsplitÚDTYPE_CLASSESÚupdateÚaddró   rF   )rú   Údtypesr>   s      r   Ú	parse_setzScalarType.parse_set�  ss   € å)3©¬ˆØ—\’\ $Ñ'Ô'ð 	4ð 	4ˆEØ�Ð%Ð%Ø—’�m¨EÔ2Ñ3Ô3Ð3Ð3à—
’
�:×+Ò+¨EÑ2Ô2Ñ3Ô3Ð3Ð3Øˆr   Nr   )r>   r   r   rõ   )r>   r   r   ró   )rú   r   r   rû   )r   r    r!   r   ÚByteÚCharÚShortÚIntÚLongÚHalfÚFloatÚDoubleÚComplexHalfÚComplexFloatÚComplexDoubleÚBoolÚBFloat16ÚFloat8_e5m2ÚFloat8_e5m2fnuzÚFloat8_e4m3fnÚFloat8_e4m3fnuzÚFloat8_e8m0fnur   rÎ   r÷   rF   r  r#   r   r   ró   ró   k  sN  € € € € € Øˆ4‰6Œ6€DØˆ4‰6Œ6€DØˆD‰FŒF€EØ
ˆ$‰&Œ&€CØˆ4‰6Œ6€DØˆ4‰6Œ6€DØˆD‰FŒF€EØˆT‰VŒV€FØ�$‘&”&€KØ�4‘6”6€LØ�D‘F”F€MØˆ4‰6Œ6€DØˆt‰vŒv€HØ�$‘&”&€KØ�d‘f”f€OØ�D‘F”F€MØ�d‘f”f€OØ�T‘V”V€Nðð ð ð ð ðð ð ñ „\ðð ðð ð ñ „\ðð
 ðð ð ñ „\ðð ð r   ró   z!dict[str, OrderedSet[ScalarType]]rÿ   ÚIntegralÚFloatingÚComplexÚAllÚAllAndComplexÚFloatingAndComplexc                  óº   — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
dd„Zedd„¦   «         ZdS )	ÚUfuncKeyr   r   c                ó   — | j         S r8   r9   r   s    r   r   zUfuncKey.__str__Ä  r;   r   r>   c                ó‚   — t           j                             ¦   «         D ]\  }}|| k    r|c S Œt          d| › �¦  «        ‚)Nzunknown ufunc key )r  r@   rA   rB   rC   s      r   rF   zUfuncKey.parseÇ  sR   € åÔ(×.Ò.Ñ0Ô0ð 	ð 	‰DˆAˆqØ�EŠzˆzØ���ð åÐ9°%Ð9Ð9Ñ:Ô:Ð:r   Nr   )r>   r   r   r  )r   r    r!   r   ÚCUDAFunctorÚCUDAFunctorOnOtherÚCUDAFunctorOnSelfÚ	CPUScalarÚ	CPUVectorÚ
ScalarOnlyÚGenericr   rÎ   rF   r#   r   r   r  r  µ  s›   € € € € € ð �$‘&”&€KØ˜™œÐØ˜™œÐà�‘”€IØ�‘”€Ið �‘”€JØˆd‰fŒf€Gðð ð ð ð ð;ð ;ð ;ñ „\ð;ð ;ð ;r   r  c                  ó   — e Zd ZdZdZdS )ÚDeviceCheckTyper   é   N)r   r    r!   ÚNoCheckÚ	ExactSamer#   r   r   r(  r(  Ï  s   € € € € € Ø€GØ€I€I€Ir   r(  c                  óJ   — e Zd Z e¦   «         Z e¦   «         Z e¦   «         ZdS )ÚViewSchemaKindN)r   r    r!   r   ÚaliasingÚaliasing_inplaceÚnon_aliasingr#   r   r   r-  r-  Ô  s0   € € € € € Øˆt‰vŒv€HØ�t‘v”vÐØ�4‘6”6€L€L€Lr   r-  c                  ó¤  — e Zd ZU ded<   ded<   ded<   ded<   ded	<   d
ed<   d
ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   d
ed<   ded<   ded<   ded<   ded <   ded!<   ded"<   ded#<   ded$<   e	 d7d8d-„¦   «         Zd9d/„Zd9d0„Zed:d1„¦   «         Z	ed:d2„¦   «         Z
ed;d4„¦   «         Zed<d5„¦   «         Zed:d6„¦   «         Zd%S )=ÚNativeFunctionr   Ú	namespaceÚFunctionSchemaÚfuncrá   Ú!use_const_ref_for_mutable_tensorsÚdevice_guardr(  Údevice_checkú
str | NoneÚpython_moduleÚcategory_overridezset[Variant]ÚvariantsÚmanual_kernel_registrationÚmanual_cpp_bindingr   Úloczlist[OperatorName]Úautogenzdict[UfuncKey, UfuncInnerLoop]Úufunc_inner_loopÚ
structuredzOperatorName | NoneÚstructured_delegateÚstructured_inheritszPrecompute | NoneÚprecomputedúset[str]Úcpp_no_default_argsÚis_abstractÚ&has_composite_implicit_autograd_kernelÚ4has_composite_implicit_autograd_nested_tensor_kernelÚ&has_composite_explicit_autograd_kernelÚ5has_composite_explicit_autograd_non_functional_kernelÚtagsNÚeiúdict[str, object]Ú
valid_tagsÚignore_keysúset[DispatchKey] | Noner   úMtuple[NativeFunction, dict[DispatchKey, dict[OperatorName, BackendMetadata]]]c                ó²  ‡7— |                       ¦   «         }|                     d¦  «        }t          |t          ¦  «        sJ d|› �¦   «         ‚t	          j        |d¬¦  «        }|                     d¬¦  «        }t                               |j	        ¦  «        Š7|                     dg ¦  «        }t          |t          ¦  «        sJ ‚t          |¦  «        }	|                     dd	¦  «        }
t          |
t          ¦  «        sJ ‚|
r‰7j        j        r
J d
¦   «         ‚|                     dd¦  «        }t          |t          ¦  «        sJ ‚t          ¦   «         }|                     d¦  «        D ]_}|dk    r |                     t"          j        ¦  «         Œ(|dk    r |                     t"          j        ¦  «         ŒNt)          d|› �¦  «        ‚|                     dd	¦  «        }t          |t          ¦  «        sJ d|› �¦   «         ‚|                     dd	¦  «        }t          |t          ¦  «        sJ d|› �¦   «         ‚|                     dd¦  «        }t          |t          ¦  «        sJ d|› �¦   «         ‚|                     dd¦  «        }|�"t          |t          ¦  «        sJ d|› �¦   «         ‚|�|t*          j        v sJ d|› �¦   «         ‚|€t*          j        }nt*          |         }|                     dd	¦  «        }t          |t          ¦  «        sJ d|› �¦   «         ‚|                     dd¦  «        }|�"t          |t          ¦  «        sJ d|› �¦   «         ‚|�d|vs
J d¦   «         ‚d}|�t0                               |¦  «        }|                     dd¦  «        }|�"t          |t          ¦  «        sJ d|› �¦   «         ‚|�d|vs
J d¦   «         ‚|                     dd¦  «        }|�"t          |t          ¦  «        sJ d|› �¦   «         ‚|�t"          j        |vs
J d¦   «         ‚|                     d d¦  «        }|�"t          |t          ¦  «        sJ d|› �¦   «         ‚|                     d!d¦  «        }|�|du sJ ‚|rt2                               |¦  «        nd}|                     d"g ¦  «        }t          |t          ¦  «        r|g}t          |t          ¦  «        sJ ‚|dk    rd#|v r|                     d#¦  «         t          ¦   «         }|D ]B}t7          |¦  «        d$k    sJ ‚||v r|                     |¦  «         Œ1t)          d%|› �¦  «        ‚d$d&lm} |                     d'd¦  «        }|�t          |t<          ¦  «        s
J |¦   «         ‚i } d$}!|��ü|r
J d(¦   «         ‚d	}"|                     ¦   «         D �]B\  }#}|#d)k    rŒt          |#t          ¦  «        sJ d*|#› d+|› �¦   «         ‚t          |t          ¦  «        sJ d,|› d+|› �¦   «         ‚|#                     d-¦  «        D ]Õ}$t@                               |$ !                    ¦   «         ¦  «        }%|!dz  }!|r|%|v rŒ:|%tD          v sJ d.|%› d/|› d0�¦   «         ‚t	          j        |d1¬2¦  «        }|                     d3¬¦  «        }&tG          |j	        |otI          |%¦  «        |&d4z   ¬5¦  «        | |%<   |%t@          j%        u r|| &                    ‰7¦  «        k    rd}"ŒÖ�ŒD|!dk    r|"r
J d6¦   «         ‚|s�|  '                    ¦   «         t@          j%        hk    s^| t@          j%                  (                    ¦   «         s:|!dk    s4J d7| &                    ‰7¦  «        › d8| t@          j%                 › d9�¦   «         ‚n±|s¯|€­t          ‰7j&        j&        ¦  «        }'|' )                    d:¦  «        s:|' *                    d;¦  «        s%‰7j        j+        r'‰7j         ,                    ¦   «         sJ d<|'› d=�¦   «         ‚tG          | &                    ‰7¦  «        d	tZ          ¬>¦  «        | t@          j%        <   d?„ | D ¦   «         }(t7          |(¦  «        dk    s9t7          |(¦  «        d@k    rt@          j.        |(vrt@          j/        |(v s
J dA¦   «         ‚|                     dBdC¦  «        })t          |)t          ¦  «        sJ ‚|)dCk    rg ndD„ |)                     d¦  «        D ¦   «         }*|                     dEi ¦  «        }+i },t          |+t          ¦  «        r3t`                               |+tb          j2        ¦  «        |,tb          j2        <   nÅt          |+t<          ¦  «        rž|+                     ¦   «         D ]ˆ\  }$}-|$d)k    rŒt          |$t          ¦  «        sJ dF|$› �¦   «         ‚t          |-t          ¦  «        sJ dG|› �¦   «         ‚tb                               |$¦  «        }.t`                               |-|.¦  «        |,|.<   Œ‰nt)          dH|+› �¦  «        ‚|,r^|s
J dI¦   «         ‚d$dl3m4c m5}/ tl          D ]A}%|%| vsJ dJ|%› �¦   «         ‚tG          |/ 7                    ‰7|%¦  «        dtZ          ¬5¦  «        | |%<   ŒB|rd}0nt|  '                    ¦   «         t@          j%        hk    oP|  '                    ¦   «         t@          j/        hk    o-|  '                    ¦   «         t@          j%        t@          j/        hk    }0t@          j%        | v }1t@          j/        | v }2t@          j8        | v }3t@          j.        | v }4ˆ7fdK„|                      ¦   «         D ¦   «         }5|                     d)d¦  «         |rJ dL|› �¦   «         ‚|�tr          D ]}6|6| vsJ dM|6› dN�¦   «         ‚Œtu          dVi d‰7“d|
“d|“d|“d|“d|“d!|“dB|*“dE|,“d|“d|“d|“d |“d|“d|“dO|“d|	“dP|0“dQ|1“dR|2“dS|3“dT|4“d"|“dU|“Ž|5fS )Wzp
        Parse a NativeFunction from a dictionary as directly parsed
        from native_functions.yaml
        r5  znot a str: r)  )Únamespaced_entityÚ	max_levelÚaten)ÚdefaultrG  r6  Fz4see https://github.com/pytorch/pytorch/issues/145522r<  r&   rý   r'   zillegal variant r=  znot a bool: r>  r7  Tr8  Nzillegal device_check: rB  rC  ú::zbnamespace is not supported in structured delegate, using the same namespace as the native functionrD  zbnamespace is not supported in structured inherits, using the same namespace as the native functionr:  z&functions in modules cannot be methodsr;  rE  rM  Úpt2_compliant_tagr   zillegal tag )ÚcppÚdispatchzncannot specify both manual_kernel_registration and dispatch; with manual registration, dispatch has no effect!Ú__line__zillegal dispatch key 'z' in zillegal dispatch value 'ú,zDispatch key z of kernel z! is not a supported dispatch key.é   )rV  Úatz::native)ÚkernelrB  Úcpp_namespacezSunnecessary dispatch table for this function; just delete the dispatch key entirelyzQunexpected name for singleton CompositeImplicitAutograd dispatch entry: expected z	 but got zR.  Rename your implementation to the expected name, then delete the dispatch tableÚnew_Ú_likez	expected zÂ to have a CompositeExplicitAutograd dispatch entry, but there was no dispatch table.  Factory functions should not have implicit dispatch as they should not be decomposed for __torch_dispatch__)rB  rb  c                ó’   — g | ]D}|t           j        k    s0|t           j        k    s |t           j        k    s|t           j        k    ¯B|‘ŒES r#   rã   )r0   Úds     r   r2   z,NativeFunction.from_yaml.<locals>.<listcomp>;  s]   € ð "
ð "
ð "
àØ•KÔ9Ò9Ð9Ø•KÔFÒFÐFØ•KÔ9Ò9Ð9Ø•KÔEÒEÐEð ð
 FÐEÐEr   é   aH  cannot specify more than one of CompositeExplicitAutograd, CompositeExplicitAutogradNonFunctional, or CompositeImplicitAutograd on a single kernel; each strictly subsumes the other.  If you wanted to provide an explicit autograd implementation, specify CompositeExplicitAutograd; otherwise specify CompositeImplicitAutograd onlyr@  r(   c                óB   — g | ]}t                                |¦  «        ‘ŒS r#   )ÚOperatorNamerF   ©r0   Úxs     r   r2   z,NativeFunction.from_yaml.<locals>.<listcomp>Z  s&   € ÐIÐIÐI¨A•,×$Ò$ QÑ'Ô'ÐIÐIÐIr   rA  z#ufunc_inner_loop key is not a str: z%ufunc_inner_loop value is not a str: z"ufunc_inner_loop not str or dict: zufunc must be structuredz2ufunc should not have explicit dispatch entry for c                ó*   •— i | ]\  }}|‰j         |i“ŒS r#   r9   )r0   rD   rE   r5  s      €r   ú
<dictcomp>z,NativeFunction.from_yaml.<locals>.<dictcomp>¡  s%   ø€ ÐKÐKÐK±$°!°Q˜A ¤	¨1˜~ÐKÐKÐKr   zleftover entries: z+if structured_delegate, then must not have z* in dispatch dictionary (it is delegated!)r?  rH  rI  rJ  rK  rL  r3  r#   );ÚcopyÚpopÚ
isinstancer   r   Úfrom_namespaced_entityÚget_cpp_namespacer4  rF   Úentity_nameÚlistÚsetrá   Ú	argumentsÚoutrþ   r  r%   r&   r'   rB   r(  r@   r+  ri  Ú
PrecomputeÚappendÚlenÚtorchgen.apir[  ÚdictrA   r6   ÚstripÚdispatch_keysÚBackendMetadatarì   ro   r:   ÚkeysÚsupports_symintÚ
startswithÚendswithÚtensor_optionsÚhas_tensor_argÚDEFAULT_KERNEL_NAMESPACErr   rp   ÚUfuncInnerLoopr  r&  Útorchgen.api.ufuncÚapiÚufuncrî   Úschema_kernel_namerq   rë   r2  )8rN  r?  rP  rQ  ÚeÚfuncsÚnamespace_helperr3  Úcpp_no_default_args_listrG  r6  Ú
variants_sr<  rE   r=  r>  r7  Údevice_check_sr8  rB  Ústructured_delegate_srC  rD  r:  r;  Úprecomputed_dictrE  Útags_inprM  Útr[  Úraw_dispatchr\  Únum_dispatch_keysÚ%redundant_composite_implicit_autogradÚksrD   Údispatch_keyÚkernel_namespacer:   Úcomposites_in_dispatchÚautogen_strr@  Úraw_ufunc_inner_looprA  ÚvoÚ	ufunc_keyrŠ  rH  rI  rJ  rK  rL  Úbackend_metadataÚkeyr5  s8                                                          @r   Ú	from_yamlzNativeFunction.from_yaml\  s’  ø€ ð �GŠG‰IŒIˆà—’�f‘”ˆÝ˜%¥Ñ%Ô%Ð<Ð<Ð'<°UÐ'<Ð'<Ñ<Ô<Ð<å*ÔAØ#¨qð
ñ 
ô 
Ðð %×6Ò6¸vÐ6ÑFÔFˆ	Ý×#Ò#Ð$4Ô$@ÑAÔAˆà#$§5¢5Ð)>ÀÑ#CÔ#CÐ ÝÐ2µDÑ9Ô9Ð9Ð9Ð9Ý!Ð":Ñ;Ô;Ðà,-¯EªEØ/°ñ-
ô -
Ð)õ Ð;½TÑBÔBÐBÐBÐBà,ð 	Ø”~Ô)ð ð ØFñô ð ð —U’U˜: zÑ2Ô2ˆ
Ý˜*¥cÑ*Ô*Ð*Ð*Ð*Ý!$¡¤ˆØ×!Ò! $Ñ'Ô'ð 	=ð 	=ˆAØ�JŠˆØ—’�WÔ-Ñ.Ô.Ð.Ð.Ø�h’�Ø—’�Wœ^Ñ,Ô,Ð,Ð,å$Ð%;¸Ð%;Ð%;Ñ<Ô<Ð<à%&§U¢UÐ+GÈÑ%OÔ%OÐ"ÝÐ4µdÑ;Ô;ð 	
ð 	
Ø7Ð5Ð7Ð7ñ	
ô 	
ð 	
ð ŸUšUÐ#7¸Ñ?Ô?ÐÝÐ,­dÑ3Ô3ÐXÐXÐ5XÐDVÐ5XÐ5XÑXÔXÐXà—u’u˜^¨TÑ2Ô2ˆÝ˜,­Ñ-Ô-ÐLÐLÐ/L¸lÐ/LÐ/LÑLÔLÐLàŸš˜~¨tÑ4Ô4ˆØÐ%­°NÅCÑ)HÔ)HÐ%Ð%Ø*˜.Ð*Ð*ñ &Ô%Ð%ð Ð" n½Ô8SÐ&SÐ&SÐ&SØ4 NÐ4Ð4ñ 'TÔ&SÐ&Sð Ð!Ý*Ô4ˆLˆLå*¨>Ô:ˆLà—U’U˜<¨Ñ/Ô/ˆ
Ý˜*¥dÑ+Ô+ÐHÐHÐ-H¸JÐ-HÐ-HÑHÔHÐHà !§¢Ð&;¸TÑ BÔ BÐØ$Ð,µ
Ø!¥3ñ1
ô 1
Ð,Ð,à0Ð.Ð0Ð0ñ -Ô,Ð,ð %Ð,°Ð<QÐ0QÐ0QÐ0Qð?ñ 1RÔ0QÐ0Qð 48ÐØ Ð,Ý".×"4Ò"4Ð5JÑ"KÔ"KÐàŸešeÐ$9¸4Ñ@Ô@ÐØ"Ð*­jÐ9LÍcÑ.RÔ.RÐ*Ð*Ø/Ð-Ð/Ð/ñ +Ô*Ð*ð #Ð*¨dÐ:MÐ.MÐ.MÐ.Mð?ñ /NÔ.MÐ.Mð
 Ÿš˜o¨tÑ4Ô4ˆØÐ$­
°=Å#Ñ(FÔ(FÐ$Ð$Ø)˜-Ð)Ð)ñ %Ô$Ð$ð Ð$­¬¸hÐ(FÐ(FÐ(FØ4ñ )GÔ(FÐ(Fð ŸEšEÐ"5°tÑ<Ô<ÐØ Ð(­JÐ7HÍ#Ñ,NÔ,NÐ(Ð(Ø-Ð+Ð-Ð-ñ )Ô(Ð(ð Ÿ5š5 °Ñ5Ô5ÐØÐ'¨:¸Ð+=Ð+=Ð+=Ð+=Ø<LÐV•j×&Ò&Ð'7Ñ8Ô8Ð8ÐRVˆà—5’5˜ Ñ$Ô$ˆÝ�h¥Ñ$Ô$ð 	"Ø �zˆHÝ˜(¥DÑ)Ô)Ð)Ð)Ð)ð ˜ÒÐÐ#6¸*Ð#DÐ#DØ�OŠOÐ/Ñ0Ô0Ð0å™œˆØð 	9ð 	9ˆAÝ�z‘?”? QÒ&Ð&Ð&Ð&à�JˆˆØ—’˜‘”��å$Ð%7°AÐ%7Ð%7Ñ8Ô8Ð8à$Ð$Ð$Ð$Ð$Ð$à—u’u˜Z¨Ñ.Ô.ˆØÐ#¥z°,ÅÑ'EÔ'EÐ#Ð#ÀqÑ#Ô#Ð#Ø79ˆØ!"ÐØÑ#Ø1ð ð ð?ñô ð ð 5:Ð1Ø%×+Ò+Ñ-Ô-ð &Eñ &E‘��AØ˜Ò#Ð#ØÝ! "¥cÑ*Ô*ð ð ØD¨RÐDÐD°lÐDÐDñô ð õ " !¥SÑ)Ô)ð ð ØE¨qÐEÐE°|ÐEÐEñô ð ð Ÿš #™œð Eð E�AÝ#.×#4Ò#4°Q·W²W±Y´YÑ#?Ô#?�LØ%¨Ñ*Ð%à"ð ! |°{Ð'BÐ'BØ Ø'­=Ð8Ð8Ð8ð;¨ð ;ð ;Àð ;ð ;ð ;ñ 9Ô8Ð8õ (7Ô'MØ Qð(ñ (ô (Ð$ð (8×'IÒ'IÐRVÐ'IÑ'WÔ'WÐ$õ .=Ø/Ô;Ø#-ð $EÝ6°|ÑDÔDØ'7¸*Ñ'Dð	.ñ .ô .�H˜\Ñ*ð %­Ô(MÐMÐMØ §¢¨$¡¤Ò/Ð/à@DÐ=øñ;EðF " QÒ&Ð&Ð+PÐ&Ð&ðñ 'Ô&Ð&ð $ð	à—=’=‘?”?¥{Ô'LÐ&MÒMÐMØ�KÔAÔB×RÒRÑTÔTð Nà$¨Ò)Ð)Ð)ð7Ðdg×dlÒdlÐmqÑdrÔdrð 7ð 7Ø#¥KÔ$IÔJð7ð 7ð 7ñ *Ô)Ð)øð ð 	Ð 3Ð ;Ý�t”y”~Ñ&Ô&ˆDà—’ Ñ'Ô'ðà—=’= Ñ)Ô)ðð
 ”NÔ1ðð !œN×9Ò9Ñ;Ô;ðð ð)˜Dð )ð )ð )ñô ð õ ?NØ—’˜‘”¨5Õ@Xð?ñ ?ô ?ˆH•[Ô:Ñ;ð"
ð "
àð"
ñ "
ô "
Ðõ Ð)Ñ*Ô*¨aÒ/Ð/ÝÐ&Ñ'Ô'¨1Ò,Ð,åÔBØ-ð.ð .õ ÔAØ)ð*ð *ð *ðrñ	*ô *ð *ð —e’e˜I rÑ*Ô*ˆÝ˜+¥sÑ+Ô+Ð+Ð+Ð+ð ˜bÒ Ð ð ˆBàIÐI°×1BÒ1BÀ4Ñ1HÔ1HÐIÑIÔIð 	ð  !ŸušuÐ%7¸Ñ<Ô<ÐØÐÝÐ*­CÑ0Ô0ð 	Ý1?×1EÒ1EØ$¥hÔ&6ñ2ô 2Ð�XÔ-Ñ.Ð.õ Ð,­dÑ3Ô3ð 	Ø-×3Ò3Ñ5Ô5ð Rð R‘��2Ø˜
’?�?ØÝ! !¥SÑ)Ô)ÐTÐTÐ+TÐQRÐ+TÐ+TÑTÔTÐTÝ! "¥cÑ*Ô*ÐWÐWÐ,WÐTUÐ,WÐ,WÑWÔWÐWÝ$ŸNšN¨1Ñ-Ô-�	Ý.<×.BÒ.BÀ2ÀyÑ.QÔ.QÐ  Ñ+Ð+ðRõ !ØKÐ5IÐKÐKñô ð ð ð 	ØÐ9Ð9Ð9Ñ9Ô9Ð9ð /Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.å 3ð ð �Ø#¨8Ð3Ð3Ð3ØWÈÐWÐWñ 4Ô3Ð3õ *9Ø ×3Ò3°D¸,ÑGÔGØ#Ý":ð*ñ *ô *�˜Ñ&Ð&ð ð 	àˆKˆKð —’‘”¥KÔ$IÐ#JÒJð Ø—M’M‘O”OÝÔEÐFòGðð —M’M‘O”OåÔ9ÝÔEðòð	 õ Ô1°XÐ=ð 	/õ Ô=ÀÐIð 	=õ Ô1°XÐ=ð 	/õ Ô>À(ÐJð 	>ð LÐKÐKÐK¸(¿.º.Ñ:JÔ:JÐKÑKÔKÐð 	
�Šˆj˜$ÑÔÐØÐ.Ð.Ð.¨1Ð.Ð.Ñ.Ô.Ð.ð Ð*Ý/ð ð �Ø (Ð*Ð*Ð*ð)À#ð )ð )ð )ñ +Ô*Ð*Ð*õ ð ð ð Ø�Tðà2SÐ2Sðð "˜ðð &˜:ð	ð
 %8Ð$7ðð %8Ð$7ðð (˜Kðð  ˜ðð "2Ð!1ðð ,FÐ+Eðð $6Ð#5ðð ,˜mðð #4Ð"3ðð *˜\ðð *˜\ðð  �Cð!ð" %8Ð$7ð#ð$ (˜Kð%ð& 8^Ð7]ð'ð( FzÐEyð)ð* 8^Ð7]ð+ð, G|ÐF{ð-ð. �Tð/ð0 $˜)ð1ð4 ð7
ð 	
r   ÚNonec                óJ   — | j         r
J d¦   «         ‚| j        s
J d¦   «         ‚d S )NzMThis function is structured, but there was no valid functional variant of it.z’This function delegates to another structured out function, but no valid function was found (the delegate may not exist, or it has the wrong type)©rB  rC  r   s    r   Úvalidate_unstructuredz$NativeFunction.validate_unstructuredÎ  sX   € ð ”?ð 	
ð 	
ð1ñ	
ô 	
ð 	
ð Ô'ð 	
ð 	
ðeñ	
ô 	
ð 	
ð 	
ð 	
r   c                ó  — | j         j        j        r | j        t          j        hk    s
J d¦   «         ‚| j        rB| j                              ¦   «         t          j        k    s
J d¦   «         ‚| j	        s
J d¦   «         ‚| j
        rB| j                              ¦   «         t          j        k    s
J d¦   «         ‚| j	        s
J d¦   «         ‚| j        r| j
        r
J d¦   «         ‚d„ | j                              ¦   «         D ¦   «         }t                               | j        |¦  «        }t          |¦  «        dk    sJ d|› �¦   «         ‚| j        �| j        s
J d	¦   «         ‚t#          | j         j        ¦  «                             d
¦  «        r| j        t*          j        k    s
J d¦   «         ‚dt#          | j         j        ¦  «        v sœdt#          | j         j        ¦  «        v s(t/          d„ | j         j        j        D ¦   «         ¦  «        r;dt#          | j         j        ¦  «        vr t#          | j         j        j        ¦  «        dvs| j         j                             ¦   «         r,d| j        v s!J t#          | j         j        ¦  «        ¦   «         ‚d S d S )NzëNative functions with out arguments MUST be declared with only function variant; e.g., variants: function; otherwise you will tickle a Python argument binding bug (which usually manifests itself as the result variable being undefined.)zYPut structured field on the out= variant of a function; did you mean structured_delegate?z:device_guard: False is not respected by structured kernelszQstructured_delegate field not allowed on out= functions; did you mean structured?z?Cannot have both structured and structured_delegate on functionc                ó*   — h | ]}|j         ®	|j        ’ŒS r8   )rX  r:   ©r0   Úas     r   ú	<setcomp>z/NativeFunction.__post_init__.<locals>.<setcomp>þ  s(   € ð 
ð 
ð 
ØÀ!Ä)ÐBWˆAŒFÐBWÐBWÐBWr   r   zInvalid cpp_no_default_args: z4structured_inherits must also imply structured: TrueÚ_foreachzsforeach kernels fall back to slow path when tensor are on different devices, device_check not allowed to be enabledÚrandÚdropoutc              3  ó(   K  — | ]}d |j         v V — ŒdS )r¯  Nr9   ©r0   Úargs     r   rØ   z/NativeFunction.__post_init__.<locals>.<genexpr>  s:   è è € ð ð Ø25˜	 S¤XÐ-ðð ð ð ð ð r   Úbackward)Ú_cudnn_init_dropout_stateÚnondeterministic_seeded)r5  rv  rw  r<  r%   r&   rB  ÚkindÚ
SchemaKindr7  rC  Úschema_order_argumentsru  Ú
differencerG  rz  rD  r   r:   r‚  r8  r(  r*  ÚanyÚflat_allÚhas_generator_argrM  )r   Údefaulted_argumentsÚinvalid_argss      r   Ú__post_init__zNativeFunction.__post_init__á  sñ  € ØŒ9ÔÔ"ð 	Ø”=¥WÔ%5Ð$6Ò6Ð6Ð6ð[ñ 7Ô6Ð6ð Œ?ð 	Ø”9—>’>Ñ#Ô#¥z¤~Ò5Ð5Ð5ðKñ 6Ô5Ð5ð Ô$ð ð ØLñô ð ð Ô#ð 	Ø”9—>’>Ñ#Ô#¥z¤~Ò5Ð5Ð5ð>ñ 6Ô5Ð5ð Ô$ð ð ØLñô ð ð
 ”Oð 	
¨Ô(@ð 	
ð 	
ØMñ	
ô 	
ð 	
ð
ð 
Ø œI×<Ò<Ñ>Ô>ð
ñ 
ô 
Ðõ —~’~ dÔ&>Ð@SÑTÔTˆÝ�<Ñ Ô  AÒ%Ð%Ð%Ð'UÀ|Ð'UÐ'UÑ%Ô%Ð%ØÔ#Ð/Ø”?ð ð ØFñô ð õ ˆtŒyŒ~ÑÔ×)Ò)¨*Ñ5Ô5ð 	ØÔ$­Ô(?Ò?Ð?Ð?ð9ñ @Ô?Ð?ð •c˜$œ)œ.Ñ)Ô)Ð)Ð)ð ¥ T¤Y¤^Ñ!4Ô!4Ð4Ð4Ýð ð Ø9=¼Ô9LÔ9Uðñ ô ñ ô ð 5ð ¥c¨$¬)¬.Ñ&9Ô&9Ð9Ð9Ý˜œ	œÔ+Ñ,Ô,Ð4QÐQÐQàŒyÔ"×4Ò4Ñ6Ô6ð Rð -°´	Ð9Ð9Ð9½3¸t¼y¼~Ñ;NÔ;NÑ9Ô9Ð9Ð9Ð9ð	 RÐQr   c                óH   — | j         p| j        p| j        p| j         o| j        S r8   )rI  rK  rL  rJ  r   s    r   Úhas_composite_kernelz#NativeFunction.has_composite_kernel   s@   € ð Ô7ð JØÔ:ðJàÔIð
ð
 Ô7ð JØÔIð	
r   c                ód  — | j         j        }t          |¦  «        dk    ot          d„ |D ¦   «         ¦  «        }d| j        v o9t          | j         j        ¦  «        dk    ot          | j         j        ¦  «        dk    }t          d„ | j                              ¦   «         D ¦   «         ¦  «        }|p|p|S )Nr   c              3  óB   K  — | ]}|j         d uo|j         j         V — Œd S r8   ©Ú
annotationÚis_write©r0   rÞ   s     r   rØ   z,NativeFunction.is_view_op.<locals>.<genexpr>.  sG   è è € ð 5
ð 5
ØGHˆAŒL Ð$ÐB¨Q¬\Ô-BÐ)Bð5
ð 5
ð 5
ð 5
ð 5
ð 5
r   Úinplace_viewÚresize_Ú
resize_as_c              3  óD   K  — | ]}|j         d uod|j         j        v V — Œd S )NÚ*)rÅ  Úalias_set_after)r0   Úinps     r   rØ   z,NativeFunction.is_view_op.<locals>.<genexpr>7  sL   è è € ð 
ð 
àð ŒN $Ð&ÐP¨3°#´.Ô2PÐ+Pð
ð 
ð 
ð 
ð 
ð 
r   )r5  Úreturnsrz  rº  rM  r   r:   r¸  )r   ÚretsÚis_non_mutating_viewÚis_inplace_viewÚis_wildcard_views        r   Ú
is_view_opzNativeFunction.is_view_op+  sÛ   € àŒyÔ ˆÝ" 4™yœy¨1š}ð  
µð 5
ð 5
ØLPð5
ñ 5
ô 5
ñ 2
ô 2
Ðð
 ˜dœiÐ'ð 4Ý�D”I”NÑ#Ô# yÒ0ð4å�D”I”NÑ#Ô# |Ò3ð 	õ
 ð 
ð 
à”y×7Ò7Ñ9Ô9ð
ñ 
ô 
ñ 
ô 
Ðð $ÐJ ÐJÐ:JÐJr   r-  c                ó¨   — | j         r-| j        j        j        j        rd| j        v sJ ‚t
          j        S | j         rt
          j        S t
          j        S )NrÈ  )	rÔ  r5  r:   ÚinplacerM  r-  r/  r.  r0  r   s    r   Úview_schema_kindzNativeFunction.view_schema_kind=  sU   € àŒ?ð 	3˜tœyœ~Ô2Ô:ð 	3Ø! T¤YÐ.Ð.Ð.Ð.Ý!Ô2Ð2ØŒ?ð 	/Ý!Ô*Ð*å!Ô.Ð.r   c                ó.   — | j         j        j        j        S r8   )r5  r:   Úbaser   s    r   Ú	root_namezNativeFunction.root_nameG  s   € àŒyŒ~Ô"Ô'Ð'r   c                ó"   — | j         p| j        d uS r8   r¦  r   s    r   Úpart_of_structured_groupz'NativeFunction.part_of_structured_groupK  s   € àŒÐF $Ô":À$Ð"FÐFr   r8   )
rN  rO  r?  r   rP  rF  rQ  rR  r   rS  ©r   r¤  ©r   rá   )r   r-  r   )r   r    r!   r"   rÎ   r£  r§  r¿  ÚpropertyrÁ  rÔ  r×  rÚ  rÜ  r#   r   r   r2  r2  æ  s^  € € € € € € ð €N€N�Nð ÐÐÑð ,Ð+Ð+Ñ+ð ÐÐÑð "Ð!Ð!Ñ!ð ÐÐÑð "Ð!Ð!Ñ!ð ÐÐÑð
 %Ð$Ð$Ñ$ð ÐÐÑð €M€M�Mð  ÐÐÑð 5Ð4Ð4Ñ4ð ÐÐÑð -Ð,Ð,Ñ,ð $Ð#Ð#Ñ#ð #Ð"Ð"Ñ"ð "Ð!Ð!Ñ!ð ÐÐÑð 1Ð0Ð0Ñ0Ø>Ð>Ð>Ñ>Ø0Ð0Ð0Ñ0Ø?Ð?Ð?Ñ?ð €N€N�Nð ð
 04ð	o
ð o
ð o
ð o
ñ „\ðo
ðb

ð 

ð 

ð 

ð&=Oð =Oð =Oð =Oð~ ð
ð 
ð 
ñ „Xð
ð ðKð Kð Kñ „XðKð" ð/ð /ð /ñ „Xð/ð ð(ð (ð (ñ „Xð(ð ðGð Gð Gñ „XðGð Gð Gr   r2  c                  ór   — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         ZdS )r·  N)	r   r    r!   r   Ú
functionalrÖ  rw  ÚmutableÚscratchr#   r   r   r·  r·  P  sE   € € € € € Ø�‘”€JØˆd‰fŒf€GØ
ˆ$‰&Œ&€CØˆd‰fŒf€GØˆd‰fŒf€G€G€Gr   r·  c                  ó˜   — e Zd ZU ded<   ded<   ded<   ded<   edd	„¦   «         Zdd„Zdd„Zdd„Zedd„¦   «         Z	e
dd„¦   «         ZdS )ÚNativeFunctionsGroupr2  rá  úNativeFunction | NonerÖ  râ  rw  r   rá   c                ó   — | j         j        S r8   )rw  rB  r   s    r   rB  zNativeFunctionsGroup.structurede  s   € ð ŒxÔ"Ð"r   r¤  c           
     ó–  — | j         j                             ¦   «         }|                      ¦   «         D ]‰}||j                             ¦   «         k    r,t	          d|› d|j                             ¦   «         › �¦  «        ‚| j        |j        k    r.t	          d| j        j        j        › d|j        j        › �¦  «        ‚ŒŠ| j         j         	                    ¦   «         t          j         k    sJ ‚| j        j         	                    ¦   «         t          j        k    sJ ‚| j         j        | j        j        k    sJ ‚| j        �J| j        j         	                    ¦   «         t          j        k    sJ ‚| j        j        | j         j        k    sJ ‚| j        �g| j        j         	                    ¦   «         t          j        k    sJ ‚| j        j        | j         j        k    sJ ‚| j         j        j        j        j        sJ ‚| j        r›| j        j        s| j        j        rJ ‚| j         j        | j        j        j        k    s:J | j         j        j        › d| j         j        › d| j        j        j        › �¦   «         ‚| j        �!| j        j        | j        j        j        k    sJ ‚t%          d„ |                      ¦   «         D ¦   «         ¦  «        }d                     d	„ |D ¦   «         ¦  «        }t)          ¦   «         }|                      ¦   «         D ]&}|                     d
„ |j        D ¦   «         ¦  «         Œ'd                     d„ t%          |¦  «        D ¦   «         ¦  «        }t/          |¦  «        dk    rBt/          |¦  «        dk    r/t1          d|› d|› dt3          |j        j        ¦  «        › �¦  «        ‚||k    rt1          d|› d|› d|› d�¦  «        ‚d S )Nz_NativeFunctionsGroup constructed from two NativeFunctions that don't have matching signatures: ú != zMNativeFunctionsGroup constructed from structured and unstructured functions: ú and z delegates to z but its actual delegate is c                óR   — g | ]$}d |j         v ¯t          |j        j        ¦  «        ‘Œ%S )Ú	generated)rM  r   r5  r:   )r0   Úfs     r   r2   z6NativeFunctionsGroup.__post_init__.<locals>.<listcomp>•  s0   € ÐQÐQÐQ !¸;È!Ì&Ð;PÐ;P�S�””ÑÔÐ;PÐ;PÐ;Pr   rý   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r8   ©r   rj  s     r   rØ   z5NativeFunctionsGroup.__post_init__.<locals>.<genexpr>—  s(   è è € Ð%DÐ%D°¥c¨!¡f¤fÐ%DÐ%DÐ%DÐ%DÐ%DÐ%Dr   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r8   rï  )r0   Úops     r   rØ   z5NativeFunctionsGroup.__post_init__.<locals>.<genexpr>š  s(   è è € Ð)FÐ)F°b­#¨b©'¬'Ð)FÐ)FÐ)FÐ)FÐ)FÐ)Fr   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r8   rï  rj  s     r   rØ   z5NativeFunctionsGroup.__post_init__.<locals>.<genexpr>›  s9   è è € ð /
ð /
Ø�C�‰FŒFð/
ð /
ð /
ð /
ð /
ð /
r   r   z,The codegen expects to be able to generate 'zv'. In order to generate them however, we expect them to be called out explicitly in the yaml. Please add an 'autogen: z' line to the entry for z*'. To do so, it expects a line: 'autogen: z'. Instead, it found 'autogen: ú')rá  r5  Ú	signatureÚ	functionsrB   rB  rÜ  rw  r:   r¶  r·  r3  rÖ  râ  Úfunctional_overloadrI  rJ  rC  ÚsortedrÝ   ru  r   r@  rz  ÚRuntimeErrorr   )r   Útest_sigrí  Úgenerated_fnsÚgenerated_fns_strÚexpected_generated_fnsÚexpected_generated_fns_strs          r   r¿  z"NativeFunctionsGroup.__post_init__j  se  € Ø#'¤?Ô#7×#AÒ#AÑ#CÔ#CˆØ—’Ñ!Ô!ð 	ð 	ˆAØ˜1œ6×+Ò+Ñ-Ô-Ò-Ð-Ý$ð_Ø<Dð_ð _ØJKÌ&×JZÒJZÑJ\ÔJ\ð_ð _ñô ð ð
 Œ !Ô"<Ò<Ð<Ý$ðIØ"&¤(¤-Ô"4ðIð IØ;<¼6¼;ðIð Iñô ð ð =ð
 ŒÔ#×(Ò(Ñ*Ô*­jÔ.CÒCÐCÐCÐCØŒxŒ}×!Ò!Ñ#Ô#¥z¤~Ò5Ð5Ð5Ð5ØŒÔ(¨D¬HÔ,>Ò>Ð>Ð>Ð>ØŒ<Ð#Ø”<Ô$×)Ò)Ñ+Ô+­zÔ/AÒAÐAÐAÐAØ”<Ô)¨T¬_Ô-FÒFÐFÐFÐFàŒ<Ð#Ø”<Ô$×)Ò)Ñ+Ô+­zÔ/AÒAÐAÐAÐAØ”<Ô)¨T¬_Ô-FÒFÐFÐFÐFà”?Ô'Ô,Ô1ÔEÐEÐEÐEàŒ?ð 	Nð ”HÔCðàœÔUðð ð ð
 ”?Ô6¸$¼(¼-Ô:LÒLÐLÐLØ”?Ô'Ô,ð Cð C¸D¼OÔ<_ð Cð CØ.2¬h¬mÔ.@ðCð Cñ MÔLÐLð Œ|Ð'Ø”|Ô7¸4¼8¼=Ô;MÒMÐMÐMÐMåØQÐQ t§~¢~Ñ'7Ô'7ÐQÑQÔQñ
ô 
ˆð !ŸIšIÐ%DÐ%D°mÐ%DÑ%DÔ%DÑDÔDÐÝ+.©5¬5ÐØ—’Ñ!Ô!ð 	Gð 	GˆAØ"×)Ò)Ð)FÐ)F¸A¼IÐ)FÑ)FÔ)FÑFÔFÐFÐFØ%)§Y¢Yð /
ð /
Ý"Ð#9Ñ:Ô:ð/
ñ /
ô /
ñ &
ô &
Ð"õ Ð%Ñ&Ô&¨!Ò+Ð+µ°MÑ0BÔ0BÀQÒ0FÐ0FÝðjÐ?Pð jð jà,=ðjð jåWZÐ[\Ô[aÔ[fÑWgÔWgðjð jñô ð ð
 &Ð):Ò:Ð:ÝðNÐ?Pð Nð NØ;LðNð Nà0JðNð Nð Nñô ð ð ;Ð:r   r4  c                ó>   — | j         j                             ¦   «         S r8   )rw  r5  rô  r   s    r   rô  zNativeFunctionsGroup.signature«  s   € ØŒxŒ}×&Ò&Ñ(Ô(Ð(r   úIterator[NativeFunction]c              #  ór   K  — | j         V — | j        V — | j        �	| j        V — | j        �| j        V — d S d S r8   )rá  rw  rÖ  râ  r   s    r   rõ  zNativeFunctionsGroup.functions®  sY   è è € ØŒoÐÐÐØŒhˆˆˆØŒ<Ð#Ø”,ÐÐÐØŒ<Ð#Ø”,ÐÐÐÐÐð $Ð#r   r   c                ó   — | j         j        S r8   )rá  rÚ  r   s    r   rÚ  zNativeFunctionsGroup.root_name¶  s   € àŒÔ(Ð(r   rf  ú dict[SchemaKind, NativeFunction]úNativeFunctionsGroup | Nonec                ó�  — | sJ ‚t          | ¦  «        dk    rd S t          | ¦  «        } |                      t          j        d ¦  «        }|                      t          j        d ¦  «        }|                      t          j        d ¦  «        }|                      t          j        d ¦  «        }| rJ ‚|€J ‚|€d S t          ||||¬¦  «        S )Nr)  )rá  rÖ  râ  rw  )	rz  r|  ro  r·  rá  rÖ  râ  rw  rå  )rf  rá  rÖ  râ  rw  s        r   Ú	from_dictzNativeFunctionsGroup.from_dictº  sÅ   € àˆˆˆÝˆq‰6Œ6�QŠ;ˆ;Ø�4Ý�‰GŒGˆØ—U’U�:Ô0°$Ñ7Ô7ˆ
Ø—%’%�
Ô*¨DÑ1Ô1ˆØ—%’%�
Ô*¨DÑ1Ô1ˆØ�eŠe•J”N DÑ)Ô)ˆØˆˆˆØÐ%Ð%Ð%ð ˆ;Ø�4å#Ø!ØØØð	
ñ 
ô 
ð 	
r   NrÞ  rÝ  ©r   r4  )r   rÿ  r   )rf  r  r   r  )r   r    r!   r"   rß  rB  r¿  rô  rõ  rÚ  rÎ   r  r#   r   r   rå  rå  ^  sá   € € € € € € àÐÐÑØ"Ð"Ð"Ñ"Ø"Ð"Ð"Ñ"ØÐÐÑàð#ð #ð #ñ „Xð#ð?ð ?ð ?ð ?ðB)ð )ð )ð )ðð ð ð ð ð)ð )ð )ñ „Xð)ð ð
ð 
ð 
ñ „\ð
ð 
ð 
r   rå  c                  ó6   — e Zd ZU ded<   ded<   ded<   d	d„ZdS )
r  r   ra  rá   rB  rb  r   c                ó   — d| j         v S )NÚ_symint)ra  r   s    r   r�  zBackendMetadata.supports_symintæ  s   € Ø˜DœKÐ'Ð'r   NrÞ  )r   r    r!   r"   r�  r#   r   r   r  r  Ó  sQ   € € € € € € ð €K€K�Kð
 ÐÐÑð ÐÐÑð(ð (ð (ð (ð (ð (r   r  c                  óF   — e Zd ZU ded<   ded<   ded<   edd	„¦   «         Zd
S )r‡  r   r:   rû   Úsupported_dtypesr  r   r>   r   c                ó&  — |                       dd¦  «        \  }}|d         dk    sJ ‚|d         dk    sJ ‚t          ¦   «         }|dd…                               d¦  «        D ]}|t                               |¦  «        z  }Œ t	          |||¬¦  «        S )	Nú r)  r   ú(éÿÿÿÿú)rý   )r:   r  r   )rþ   r   ró   r  r‡  )r>   r   r:   Úsupported_dtypes_strr  rD   s         r   rF   zUfuncInnerLoop.parseò  s²   € à%*§[¢[°°aÑ%8Ô%8Ñ"ˆÐ"Ø# AÔ&¨#Ò-Ð-Ð-Ð-Ø# BÔ'¨3Ò.Ð.Ð.Ð.Ý3=±<´<ÐØ% a¨ dÔ+×1Ò1°$Ñ7Ô7ð 	8ð 	8ˆAØ¥
× 4Ò 4°QÑ 7Ô 7Ñ7ÐÐÝØÐ(8ÀIð
ñ 
ô 
ð 	
r   N)r>   r   r   r  r   r‡  )r   r    r!   r"   rÎ   rF   r#   r   r   r‡  r‡  ê  sW   € € € € € € à€I€I�IØ,Ð,Ð,Ñ,ð ÐÐÑàð	
ð 	
ð 	
ñ „\ð	
ð 	
ð 	
r   r‡  c                  óz   — e Zd ZU ded<   ded<   ded<   ded<   ded<   edd„¦   «         Zdd„Zdd„Zdd„Zdd„Z	dS )ÚBackendIndexr6   rš  rá   Úuse_out_as_primaryr7  Úexternalz#dict[OperatorName, BackendMetadata]ÚindexÚparent_indexú6dict[DispatchKey, dict[OperatorName, BackendMetadata]]Úchild_indexr   r¤  c                ó¸   — |                      ¦   «         D ]D\  }}|                      ¦   «         D ]*\  }}|| |         vsJ d|› d|› �¦   «         ‚|| |         |<   Œ+ŒEd S )Nzduplicate operator z for dispatch key )rA   )r  r  rD   rE   Úop_nameÚmetadatas         r   Ú
grow_indexzBackendIndex.grow_index  s‘   € ð
  ×%Ò%Ñ'Ô'ð 	4ð 	4‰DˆAˆqØ%&§W¢W¡Y¤Yð 4ð 4Ñ!�˜Ø l°1¤oÐ5Ð5Ð5ØH¨'ÐHÐHÀQÐHÐHñ 6Ô5Ð5ð ,4�˜Q” Ñ(Ð(ð	4ð	4ð 	4r   Úgrå  r2  c                ó,   — | j         r|j        S |j        S r8   )r  rw  rá  )r   r  s     r   ÚprimaryzBackendIndex.primary!  s   € ØÔ"ð 	 Ø”5ˆLà”<Ðr   ú%NativeFunction | NativeFunctionsGroupc                ó4   — |                       |¦  «        }|d uS r8   )Ú
get_kernel)r   r  Úms      r   Ú
has_kernelzBackendIndex.has_kernel'  s   € Ø�OŠO˜AÑÔˆØ˜ˆ}Ðr   úBackendMetadata | Nonec                óþ   — t          |t          ¦  «        r|}n:t          |t          ¦  «        r|                      |¦  «        }nt	          |¦  «         |j        j        | j        vrd S | j        |j        j                 S r8   )rp  r2  rå  r   r
   r5  r:   r  )r   r  rí  s      r   r#  zBackendIndex.get_kernel+  ss   € õ �a�Ñ(Ô(ð 	ØˆAˆAÝ˜Õ/Ñ0Ô0ð 	Ø—’˜Q‘”ˆAˆAå˜‰OŒOˆOØŒ6Œ;˜dœjÐ(Ð(Ø�4ØŒz˜!œ&œ+Ô&Ð&r   r9  c                óB   — | j         rt          | j        ¦  «        › d�S d S )NÚNativeFunctions)r  r   rš  r   s    r   Únative_function_class_namez'BackendIndex.native_function_class_name8  s-   € ØŒ=ð 	Ý˜$Ô+Ñ,Ô,Ð=Ð=Ð=Ð=ð
 �4r   N)r  r  r  r  r   r¤  )r  rå  r   r2  )r  r!  r   rá   )r  r!  r   r&  )r   r9  )
r   r    r!   r"   rÎ   r  r   r%  r#  r*  r#   r   r   r  r    sÁ   € € € € € € àÐÐÑð ÐÐÑð ÐÐÑà€N€N�Nà.Ð.Ð.Ñ.àð	4ð 	4ð 	4ñ „\ð	4ð ð  ð  ð  ðð ð ð ð'ð 'ð 'ð 'ðð ð ð ð ð r   r  c                  ó   — e Zd ZU ded<   ded<   ded<   ed%d	„¦   «         Zd&d„Z ej        d¦  «        Z	e
d'd„¦   «         Zd%d„Zd(d„Zd%d„Zd%d„Zd)d„Zd*d„Zddddœd+d„Zd,d„Zd-d „Zed%d!„¦   «         Zd%d"„Zd.d#„Zd$S )/r4  ri  r:   Ú	Argumentsrv  útuple[Return, ...]rÏ  r   rá   c                óV   ‡— dd„Št          ˆfd„| j        j        D ¦   «         ¦  «        S )Nr²  ÚArgumentr   rá   c                ó,   — | j         €dS | j         j        S ©NFrÄ  )r²  s    r   rÆ  z+FunctionSchema.is_mutable.<locals>.is_writeƒ  s   € ØŒ~Ð%Ø�uØ”>Ô*Ð*r   c              3  ó.   •K  — | ]} ‰|¦  «        V — Œd S r8   r#   )r0   r«  rÆ  s     €r   rØ   z,FunctionSchema.is_mutable.<locals>.<genexpr>Š  s+   øè è € Ð@Ð@ 1�8�8˜A‘;”;Ð@Ð@Ð@Ð@Ð@Ð@r   )r²  r/  r   rá   )rº  rv  r»  )r   rÆ  s    @r   Ú
is_mutablezFunctionSchema.is_mutable�  sA   ø€ ð	+ð 	+ð 	+ð 	+õ Ð@Ð@Ð@Ð@¨¬Ô(?Ð@Ñ@Ô@Ñ@Ô@Ð@r   úIterator[Argument]c                ój   — t          j        | j        j        | j        j        | j        j        ¦  «        S r8   )Ú	itertoolsÚchainrv  Úflat_positionalÚflat_kwarg_onlyrw  r   s    r   r¸  z%FunctionSchema.schema_order_argumentsŒ  s.   € ÝŒØŒNÔ*ØŒNÔ*ØŒNÔñ
ô 
ð 	
r   z3(?P<name>[^\(]+)\((?P<args>.*)\) -> (?P<returns>.*)r5  r   c                ó¤  — t           j                             | ¦  «        }t          |¦  «        dk    sJ d| › �¦   «         ‚|d         \  }}}t                               |¦  «        }t                               |¦  «        }t          |¦  «        }t          |||¬¦  «        }t          |¦  «        | k    sJ t          |¦  «        › d| › �¦   «         ‚|S )Nr)  zInvalid function schema: r   ©r:   rv  rÏ  ré  )	r4  Údecl_reÚfindallrz  ri  rF   r,  Úparse_returnsr   )	r5  ÚdeclsÚopsÚargsÚreturn_declr:   rv  rÏ  rÞ   s	            r   rF   zFunctionSchema.parse•  sÃ   € õ Ô&×.Ò.¨tÑ4Ô4ˆÝ�5‰zŒz˜QŠˆˆÐ B¸DÐ BÐ B‰ŒˆØ!& q¤ÑˆˆT�;Ý×!Ò! #Ñ&Ô&ˆÝ—O’O DÑ)Ô)ˆ	Ý Ñ,Ô,ˆÝ °	À7ÐKÑKÔKˆÝ�1‰vŒv˜Š~ˆ~ˆ~¥# a¡&¤&Ð4Ð4¨dÐ4Ð4‰~Œ~ˆ~Øˆr   c                ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3  ó@   K  — | ]}|j         ®	|j         j        ¯|V — Œd S r8   rÄ  rÇ  s     r   rØ   z5FunctionSchema.returns_are_aliased.<locals>.<genexpr>¤  s@   è è € ð 
ð 
àØŒ|Ð'¨A¬LÔ,AÐ'ð à'Ð'Ð'Ð'ð
ð 
r   )rº  rÏ  r   s    r   Úreturns_are_aliasedz"FunctionSchema.returns_are_aliased¢  s2   € åð 
ð 
à”\ð
ñ 
ô 
ñ 
ô 
ð 	
r   r¤  c                ód  ‡‡— t          | j        j        | j        ¦  «        D ]\  }Š|j        ‰j        k    s
J d¦   «         ‚Œ | j        j        D ]<Št          ˆfd„| j        D ¦   «         ¦  «        rJ dt          | ¦  «        › �¦   «         ‚Œ=t          | j        j        ¦  «        d„ | j        j	        D ¦   «         z   }d„ | j        D ¦   «         }d„ | j        D ¦   «         }t          |¦  «        dk    s-t          |¦  «        dk    sJ dt          | ¦  «        › �¦   «         ‚|D ]'Št          ˆfd	„|D ¦   «         ¦  «        s
J d
¦   «         ‚Œ(| j        j        r‰t          d„ | j        j        D ¦   «         ¦  «        r#t          | j        ¦  «        dk    s
J d¦   «         ‚nCt          d„ | j        j        D ¦   «         ¦  «        t          | j        ¦  «        k    s
J d¦   «         ‚| j        j        j        r©| j        j        }|r|j        j        r|j        j        j        sJ ‚|j        j        t#          t$          j        ¦  «        k    r;t          | j        ¦  «        dk    r | j        d         j        |j        j        k    sJ ‚nt          | j        ¦  «        dk    sJ ‚| j        j        �<|                      ¦   «         t,          j        k    sJ dt          | ¦  «        › �¦   «         ‚|                      ¦   «         r<|                      ¦   «         t,          j        k    sJ dt          | ¦  «        › �¦   «         ‚d S d S )NzsOut arguments must have matching return Tensor; furthermore, the ith-argument needs to correspond to the ith returnc              3  ó8   •K  — | ]}‰j         |j         k    V — Œd S r8   ©rÅ  ©r0   rÞ   r«  s     €r   rØ   z/FunctionSchema.__post_init__.<locals>.<genexpr>³  s,   øè è € ÐNÐN¸A˜1œ<¨1¬<Ò7ÐNÐNÐNÐNÐNÐNr   z^If you have a schema with mutable positional args, we expect them to not be returned. schema: c                ó(   — g | ]}|j         d k    ¯|‘ŒS r   r9   r±  s     r   r2   z0FunctionSchema.__post_init__.<locals>.<listcomp>º  s+   € ð 3
ð 3
ð 3
Ø¸S¼XÈÒ=OÐ=OˆCÐ=OÐ=OÐ=Or   c                ó8   — g | ]}|j         ®	|j         j        ¯|‘ŒS r8   rÄ  ©r0   Úrets     r   r2   z0FunctionSchema.__post_init__.<locals>.<listcomp>½  s4   € ð 
ð 
ð 
àØŒ~Ð)¨c¬nÔ.EÐ)ð à)Ð)Ð)r   c                ó8   — g | ]}|j         �|j         j        °|‘ŒS r8   rÄ  rL  s     r   r2   z0FunctionSchema.__post_init__.<locals>.<listcomp>Â  s4   € ð 
ð 
ð 
àØŒ~Ð%¨S¬^Ô-DÐ%ð à%Ð%Ð%r   r   zYNativeFunctions must have either only mutable returns, or only immutable returns. Found: c              3  ó8   •K  — | ]}‰j         |j         k    V — Œd S r8   rH  )r0   r²  rM  s     €r   rØ   z/FunctionSchema.__post_init__.<locals>.<genexpr>Ð  s,   øè è € ÐPÐP¸C�s”~¨¬Ò7ÐPÐPÐPÐPÐPÐPr   z‡All mutable returns must be aliased either to a keyword argument, or to "self". Did you forget to mark an out argument as keyword-only?c              3  óZ   K  — | ]&}|j         t          t          j        ¦  «        k    V — Œ'd S r8   )ÚtypeÚBaseTypeÚBaseTyÚTensorrª  s     r   rØ   z/FunctionSchema.__post_init__.<locals>.<genexpr>Ú  s3   è è € ÐQÐQ¸�1”6�X¥f¤mÑ4Ô4Ò4ÐQÐQÐQÐQÐQÐQr   z3out= ops that accept tensor lists as out arguments c                óF   — g | ]}|j                              d ¦  «        °|‘ŒS ©Ú	_scratch_©r:   r‚  r±  s     r   r2   z0FunctionSchema.__post_init__.<locals>.<listcomp>ã  s>   € ð ð ð àØ"œx×2Ò2°;Ñ?Ô?ðØðð ð r   zMMust return as many arguments as there are out arguments, or no return at allr)  z·Found an operator that is not functional or out variant, but has tensor options arguments.This is not allowed- tensor options arguments are only allowed for factory functions.schema: z³Found an operator that is not functional, but its overload contains the string 'functional'.This is a special keyword in the codegen, please use a different overload name.schema: )Úziprv  rw  rÏ  rÅ  Úpost_self_positional_mutablerº  r   rt  r8  rz  r:   rÖ  Úself_argÚargumentrÆ  rQ  rR  rS  rT  r„  r¶  r·  rá  Úis_functional_fn)r   r²  Úout_and_selfÚmutable_returnsÚimmutable_returnsÚself_ar«  rM  s         @@r   r¿  zFunctionSchema.__post_init__ª  s   øø€ Ý˜DœNÔ.°´Ñ=Ô=ð 	ð 	‰HˆC�Ø”> S¤^Ò3Ð3Ð3ðIñ 4Ô3Ð3Ð3ð ”Ô<ð 	ð 	ˆAÝÐNÐNÐNÐNÀÄÐNÑNÔNÑNÔNð ð Ø|ÕqtÐuyÑqzÔqzÐ|Ð|ñô ð ð õ ˜DœNÔ.Ñ/Ô/ð 3
ð 3
Øœ>Ô9ð3
ñ 3
ô 3
ñ 
ˆð
ð 
à”|ð
ñ 
ô 
ˆð

ð 
à”|ð
ñ 
ô 
Ðõ �?Ñ#Ô# qÒ(Ð(­CÐ0AÑ,BÔ,BÀaÒ,GÐ,GÐ,GØsÕhkÐlpÑhqÔhqÐsÐsñ -HÔ,GÐ,Gð #ð 	ð 	ˆCÝÐPÐPÐPÐPÀ<ÐPÑPÔPÑPÔPð ð ðJñô ð ð ð Œ>Ôð 	õ ÐQÐQ¸d¼nÔ>PÐQÑQÔQÑQÔQð Ý˜4œ<Ñ(Ô(¨AÒ-Ð-Ð-ØIñ .Ô-Ð-ð cõ ðð à#'¤>Ô#5ðñ ô ñô õ ˜œÑ&Ô&ò'ð 'ð 'ð dñ'ô 'ð 'ð Œ9Œ>Ô!ð 	.Ø”^Ô,ˆFàðà”OÔ.ðð ”OÔ.Ô7ðð ð ð
 ŒÔ#¥xµ´Ñ'>Ô'>Ò>Ð>õ ˜œÑ%Ô%¨Ò*Ð*Øœ QœÔ2°f´oÔ6PÒPÐPÐPÐPÐPõ
 ˜4œ<Ñ(Ô(¨AÒ-Ð-Ð-Ð-àŒ>Ô(Ð4Ø—9’9‘;”;¥*Ô"7Ò7Ð7Ð7ð'å˜t™9œ9ð'ð 'ñ 8Ô7Ð7ð
 × Ò Ñ"Ô"ð 	Ø—9’9‘;”;¥*Ô"7Ò7Ð7Ð7ð'å˜t™9œ9ð'ð 'ñ 8Ô7Ð7ð	ð 	Ø7Ð7r   c                ó   — d| j         j        v S )Nrá  ©r:   Úoverload_namer   s    r   r]  zFunctionSchema.is_functional_fn  s   € Ø˜tœyÔ6Ð6Ð6r   c                ó4   — t          | j        j        ¦  «        S r8   )rá   rv  rw  r   s    r   Ú	is_out_fnzFunctionSchema.is_out_fn  s   € õ6 �D”NÔ&Ñ'Ô'Ð'r   r·  c                ó¦  — t          | j        j        ¦  «        }t          d„ | j        j        D ¦   «         ¦  «        }| j        j        j        }t          d„ | j        j        D ¦   «         ¦  «        }|r|rJ ‚|rt          j        S |r|s
J d¦   «         ‚t          j        S |r|r
J d¦   «         ‚t          j        S |rt          j	        S t          j
        S )a	  
        What kind of schema is this?  A functional schema is one
        that returns a newly allocated output; an inplace schema
        modifies the self argument inplace; an out schema writes
        the result into an explicitly provided out argument.
        c                óF   — g | ]}|j                              d ¦  «        ¯|‘ŒS rV  rX  r±  s     r   r2   z'FunctionSchema.kind.<locals>.<listcomp>5  s-   € ÐSÐSÐS�S°#´(×2EÒ2EÀkÑ2RÔ2RÐSˆSÐSÐSÐSr   c              3  ó@   K  — | ]}|j         d uo|j         j        V — Œd S r8   rÄ  rª  s     r   rØ   z&FunctionSchema.kind.<locals>.<genexpr>8  sG   è è € ð 
ð 
àð ŒL Ð$Ð>¨¬Ô)>ð
ð 
ð 
ð 
ð 
ð 
r   zFinvariant: all scratch operators are expected to be out= operators toozjWe should not categorize a scratch op as an out variant. Check if the order of if statements are expected!)rá   rv  rw  r:   rÖ  rº  Úpost_self_positionalr·  rã  râ  rá  )r   Úis_outÚ
is_scratchÚ
is_inplacer3  s        r   r¶  zFunctionSchema.kind,  s  € õ �d”nÔ(Ñ)Ô)ˆÝØSÐS˜DœNÔ.ÐSÑSÔSñ
ô 
ˆ
ð ”Y”^Ô+ˆ
Ýð 
ð 
à”^Ô8ð
ñ 
ô 
ñ 
ô 
ˆ
ð Ð*˜zÐ*Ð*Ð*ð ð 	)ÝÔ%Ð%Øð 	)Øð ð ØXñô ð õ Ô%Ð%Øð 	)Ø!ð ð Ø|ñô ð õ ”>Ð!Øð 	)ÝÔ%Ð%åÔ(Ð(r   úlist[str | None]c                ó|  ‡— g }| j         D ]°Šˆfd„| j        j        D ¦   «         }t          |¦  «        dk    r|                     d ¦  «         ŒCt          |¦  «        dk    r!|                     |d         j        ¦  «         Œwd                     d„ |D ¦   «         ¦  «        }t          d‰j        › d|› d�¦  «        ‚|S )	Nc                óB   •— g | ]}|j         ®	|j         ‰j         k    ¯|‘ŒS r8   rH  )r0   r«  rÞ   s     €r   r2   z7FunctionSchema.aliased_return_names.<locals>.<listcomp>\  s9   ø€ ð ð ð àØ”<Ð+°´ÀÄÒ0LÐ0Lð à0LÐ0LÐ0Lr   r   r)  rý   c              3  ó$   K  — | ]}|j         V — Œd S r8   r9   rª  s     r   rØ   z6FunctionSchema.aliased_return_names.<locals>.<genexpr>f  s$   è è € Ð)GÐ)G°Q¨!¬&Ð)GÐ)GÐ)GÐ)GÐ)GÐ)Gr   zFound a return (z)that aliases multiple inputs (r  )rÏ  rv  r»  rz  ry  r:   rÝ   rB   )r   ÚoutsÚaliased_argsÚaliased_namesrÞ   s       @r   Úaliased_return_namesz#FunctionSchema.aliased_return_namesY  sð   ø€ Ø!#ˆØ”ð 	ð 	ˆAðð ð ð àœÔ0ðñ ô ˆLõ
 �<Ñ Ô  AÒ%Ð%Ø—’˜DÑ!Ô!Ð!Ð!Ý�\Ñ"Ô" aÒ'Ð'Ø—’˜L¨œOÔ0Ñ1Ô1Ð1Ð1à $§	¢	Ð)GÐ)G¸,Ð)GÑ)GÔ)GÑ GÔ G�Ý$Ø^ q¤vÐ^Ð^ÈmÐ^Ð^Ð^ñô ð ð ˆr   F)Ústrip_defaultÚstrip_view_copy_nameÚkeep_return_namesrv  rw  rx  c          	     óT  ‡ ‡— dˆfd„}‰ j         j         j        }|rW|                     d¦  «        r|                     dd¦  «        }n+|                     d¦  «        r|                     dd	¦  «        }t	          ˆˆ fd
„t          j        ‰ j        j        �‰ j        j        j	        gng ‰ j        j
        ‰ j        j        ¦  «        D ¦   «         ¦  «        }t	          t          |‰ j        ¦  «        ¦  «        }||z   }‰ j                             |¬¦  «        }	t          ‰ j         ¦  «        dk    r;t                                t          |	¦  «                             dd¦  «        ¦  «        }	t%          t'          t)          |d‰ j         j         j        ¬¦  «        d¬¦  «        |	|¬¦  «        S )aö
  
                Certain schemas are 'related', in that they are simply
                inplace/out/functional versions of the same function.  This method
                factors these schemas into the "core" functional signature which
                is equal across all versions.

                Here is what normalization happens to the schema to convert
                it to a signature:
                - The overload name is stripped (name is retained, since
                  it expresses semantic content about what the function does)
                - Inplace is set False
                - Out arguments are stripped
                - Mutable post_self_positional args are converted to returns
                - Mutability annotations are stripped  (this is sound
                  because you cannot overload on mutability annotation)
                - Return names are stripped since they are not overloadable and
                  some variants have return names but some not
                - TensorOptions are dropped
                  because out= variants of factory functions don't include them
                  (and we want to be able to pair up factory functions with their out variants)

                Finally, we want to be able to pair up related "view" and their
                corresponding "view_copy" operators. We do this by optionally
                stripping the trailing "_copy" from the base name.

                Example of a mutable op before and after:

                f.func (Mutable operator):
        _fused_moving_avg_obs_fq_helper(Tensor self, Tensor observer_on, Tensor fake_quant_on, Tensor(a!) running_min, Tensor(b!) running_max, Tensor(c!) scale, Tensor(d!) zero_point, float averaging_const, int quant_min, int quant_max, int ch_axis, bool per_row_fake_quant=False, bool symmetric_quant=False) -> (Tensor output, Tensor mask)  # noqa: B950

                f.func (Corresponding functional operator):
        _fused_moving_avg_obs_fq_helper.functional(Tensor self, Tensor observer_on, Tensor fake_quant_on, Tensor running_min, Tensor running_max, Tensor scale, Tensor zero_point, float averaging_const, int quant_min, int quant_max, int ch_axis, bool per_row_fake_quant=False, bool symmetric_quant=False) -> (Tensor output, Tensor mask, Tensor running_min_out, Tensor running_max_out, Tensor scale_out, Tensor zero_point_out)  # noqa: B950

                f.func.signature() output:
        _fused_moving_avg_obs_fq_helper(Tensor self, Tensor observer_on, Tensor fake_quant_on, Tensor running_min, Tensor running_max, Tensor scale, Tensor zero_point, float averaging_const, int quant_min, int quant_max, int ch_axis, bool per_row_fake_quant=False, bool symmetric_quant=False) -> (Tensor, Tensor, Tensor, Tensor, Tensor, Tensor)  # noqa: B950
        rÞ   ÚReturnr   c                óD   •— t          ‰r| j        nd | j        d ¬¦  «        S )N©r:   rQ  rÅ  )rz  r:   rQ  )rÞ   rx  s    €r   Ústrip_ret_annotationz6FunctionSchema.signature.<locals>.strip_ret_annotation˜  s0   ø€ ÝØ0Ð:�Q”V�V°dØ”VØðñ ô ð r   Ú_copyr(   Ú_scatterÚscatterÚinversec              3  óÆ   •‡K  — | ]ZŠ‰j         ®	‰j         j        ¯t          ˆfd„‰j        D ¦   «         ¦  «        °5t	          ‰r
‰j        › d�nd ‰j        d ¬¦  «        V — Œ[d S )Nc              3  ó8   •K  — | ]}‰j         |j         k    V — Œd S r8   rH  rI  s     €r   rØ   z5FunctionSchema.signature.<locals>.<genexpr>.<genexpr>½  s,   øè è € ÐKÐK¸˜œ¨¬Ò4ÐKÐKÐKÐKÐKÐKr   Ú_outr|  )rÅ  rÆ  rº  rÏ  rz  r:   rQ  )r0   r«  rx  r   s    @€€r   rØ   z+FunctionSchema.signature.<locals>.<genexpr>§  s�   øøè è € ð ,
ð ,
ð ð Œ|Ð'Ø”Ô%ð (åÐKÐKÐKÐK¸d¼lÐKÑKÔKÑKÔKð (õ! Ø(9ÐC˜œ�_�_�_�_¸tØ”VØðñ ô ð  (Ð'Ð'Ð'ð),
ð ,
r   N©rv  zbernoulli.pzfloat pzfloat p=0.5F©rÙ  rÖ  Údunder_methodrc  r;  )rÞ   rz  r   rz  )r:   rÙ  rƒ  ÚreplaceÚtupler6  r7  rv  r[  r\  rw  rj  ÚmaprÏ  rô  r   r,  rF   r4  ri  ÚBaseOperatorNamer‡  )
r   rv  rw  rx  r}  Ú	base_nameÚreturns_from_mutable_inputsÚoriginal_returnsrÏ  Úargs_sigs
   `  `      r   rô  zFunctionSchema.signaturel  sä  øø€ ðX	ð 	ð 	ð 	ð 	ð 	ð ”I”NÔ'ˆ	Øð 	DØ×!Ò! 'Ñ*Ô*ð DØ%×-Ò-¨g°rÑ:Ô:�	�	Ø×#Ò# JÑ/Ô/ð DØ%×-Ò-¨i¸ÑCÔC�	õ ',ð ,
ð ,
ð ,
ð ,
ð ,
õ ”_ð
 ”~Ô.Ð:ð ”^Ô,Ô5Ð6Ð6àà”Ô"Ø”Ô3ñ
ô 
ð,
ñ ,
ô ,
ñ '
ô '
Ð#õ0 !¥Ð%9¸4¼<Ñ!HÔ!HÑIÔIÐà"Ð%@Ñ@ˆà”>×+Ò+¸-Ð+ÑHÔHˆåˆtŒy‰>Œ>˜]Ò*Ð*Ý —’¥s¨8¡}¤}×'<Ò'<¸YÈÑ'VÔ'VÑWÔWˆHåÝÝ%Ø"Ø!Ø"&¤)¤.Ô">ðñ ô ð
 !ðñ ô ð Øð
ñ 
ô 
ð 	
r   c                ó.   — |                       d¬¦  «        S )NT©rw  )rô  r   s    r   Úview_signaturezFunctionSchema.view_signatureÕ  s   € Ø�~Š~°4ˆ~Ñ8Ô8Ð8r   c                ó:   — t          || j        | j        ¬¦  «        S )Nr;  )r4  rv  rÏ  )r   r:   s     r   Ú	with_namezFunctionSchema.with_nameØ  s&   € ÝØØ”nØ”Lð
ñ 
ô 
ð 	
r   c                óp   — |                       ¦   «         t          j        t          j        t          j        fv S r8   )r¶  r·  rÖ  rw  râ  r   s    r   Úmodifies_argumentsz!FunctionSchema.modifies_argumentsß  s$   € à�yŠy‰{Œ{�zÔ1µ:´>Å:ÔCUÐVÐVÐVr   c                ó4   — | j                              ¦   «         S r8   )rv  Úhas_symint_argr   s    r   Ú
has_symintzFunctionSchema.has_symintã  s   € ØŒ~×,Ò,Ñ.Ô.Ð.r   c                ó  — t          | j        ¦  «        }t          | j        ¦  «        dk    rt          | j        d         ¦  «        }n3dd                     t          t           | j        ¦  «        ¦  «        z   dz   }| j        › d|› d|› �S )Nr)  r   r  rý   r  z) -> )r   rv  rz  rÏ  rÝ   rŠ  r:   )r   Úall_arguments_strrÏ  s      r   r   zFunctionSchema.__str__æ  s‚   € Ý ¤Ñ/Ô/ÐÝˆtŒ|ÑÔ Ò!Ð!Ý˜$œ, qœ/Ñ*Ô*ˆGˆGà˜DŸIšI¥c­#¨t¬|Ñ&<Ô&<Ñ=Ô=Ñ=ÀÑCˆGØ”)Ð?Ð?Ð/Ð?Ð?°gÐ?Ð?Ð?r   NrÞ  )r   r4  )r5  r   r   r4  rÝ  )r   r·  )r   rn  )rv  rá   rw  rá   rx  rá   r   r4  r  )r:   ri  r   r4  r   )r   r    r!   r"   rß  r3  r¸  ÚreÚcompiler<  rÎ   rF   rE  r¿  r]  rf  r¶  ru  rô  r’  r”  r–  r™  r   r#   r   r   r4  r4  w  sÎ  € € € € € € ð ÐÐÑàÐÐÑð  ÐÐÑàðAð Að Añ „XðAð
ð 
ð 
ð 
ð ˆbŒjÐOÑPÔP€Gàð
ð 
ð 
ñ „\ð
ð
ð 
ð 
ð 
ð`ð `ð `ð `ðD7ð 7ð 7ð 7ð(ð (ð (ð (ð:')ð ')ð ')ð ')ðZð ð ð ð, $Ø%*Ø"'ðg
ð g
ð g
ð g
ð g
ð g
ðR9ð 9ð 9ð 9ð
ð 
ð 
ð 
ð ðWð Wð Wñ „XðWð/ð /ð /ð /ð@ð @ð @ð @ð @ð @r   r4  c                  óN   — e Zd ZU ded<   ded<   ded<   edd	„¦   «         Zdd
„ZdS )Ú
Annotationztuple[str, ...]Ú	alias_setrá   rÆ  rÍ  Úannr   r   c                óö  — t          j        d| ¦  «        }|€J d| › �¦   «         ‚|                     d¦  «        |                     d¦  «        r|                     d¦  «        ndz   }t          |                     d¦  «        ¦  «        }|                     d¦  «        dk    }|r!t          |¦  «        dk    rJ d	| › d
�¦   «         ‚|                     d¦  «        r5t          |                     d¦  «                             d¦  «        ¦  «        nd}t          |¦  «        dk    r!t          |¦  «        dk    rJ d| › d
�¦   «         ‚t          |||¬¦  «        }t          |¦  «        | k    sJ |› d| › �¦   «         ‚|S )Nz2^([a-z])(\|[a-z])*(!?)( -> (\*|[a-z](\|[a-z])*))?$zunrecognized alias annotation r)  rg  r(   ú|r_  ú!z,alias set larger than 1 is not mutable, got z	 instead.é   r#   zSbefore alias set and after alias set cannot be larger than 1 at the same time, got )r   rÆ  rÍ  ré  )rœ  ÚmatchÚgroupr‰  rþ   rz  rŸ  r   )r¡  r$  Úbefore_aliasr   rÆ  Ú	after_setrÞ   s          r   rF   zAnnotation.parseÿ  s…  € õ  ŒHÐJÈCÑPÔPˆàˆ}ˆ}ÐD¸sÐDÐD‰}Œ}ˆ}Ø—w’w˜q‘z”z°1·7²7¸1±:´:Ð%E Q§W¢W¨Q¡Z¤Z ZÀ2ÑFˆÝ˜,×,Ò,¨SÑ1Ô1Ñ2Ô2ˆ	Ø—7’7˜1‘:”: Ò$ˆØð 	
¥ Y¡¤°!Ò!3Ð!3Ð!3ØI¸3ÐIÐIÐIñ "4Ô!3Ð!3ð 56·G²G¸A±J´JÐF•E˜!Ÿ'š' !™*œ*×*Ò*¨3Ñ/Ô/Ñ0Ô0Ð0ÀBˆ	Ý˜Ñ%Ô%¨Ò)Ð)­c°)©n¬n¸qÒ.@Ð.@Ð.@ØpÐbeÐpÐpÐpñ /AÔ.@Ð.@õ Ø¨(ÀIð
ñ 
ô 
ˆõ �1‰vŒv˜Š}ˆ}ˆ} ˜o˜o¨˜o˜o‰}Œ}ˆ}Øˆr   c                ó˜   — d                      | j        ¦  «        }| j        r|› d�}d                      | j        ¦  «        }|r|› d|› �}|S )Nr£  r¤  ú -> )rÝ   r   rÆ  rÍ  )r   r   rÍ  s      r   r   zAnnotation.__str__"  s_   € Ø—H’H˜Tœ^Ñ,Ô,ˆ	ØŒ=ð 	(Ø$˜˜˜ˆIØŸ(š( 4Ô#7Ñ8Ô8ˆØð 	<Ø$Ð;Ð;¨/Ð;Ð;ˆIØÐr   N)r¡  r   r   rŸ  r   )r   r    r!   r"   rÎ   rF   r   r#   r   r   rŸ  rŸ  ÷  sl   € € € € € € ð ÐÐÑØ€N€N�NØ$Ð$Ð$Ñ$àð ð  ð  ñ „\ð ðDð ð ð ð ð r   rŸ  c                  óv   — e Zd Zedd„¦   «         Zedd„¦   «         Zdd„Zdd
„Zdd„Zdd„Z	dd„Z
dd„Zdd„ZdS )ÚTyper•  r   r   c                ó~   — t                                | ¦  «        }t          |¦  «        | k    sJ |› d| › �¦   «         ‚|S )Nré  )r­  Ú_parser   )r•  rÞ   s     r   rF   z
Type.parse4  s9   € å�KŠK˜‰NŒNˆÝ�1‰vŒv˜Š{ˆ{ˆ{˜q˜M˜M a˜M˜M‰{Œ{ˆ{Øˆr   c                ó®  — t          j        d| ¦  «        }|�:t          t                               |                     d¦  «        ¦  «        ¦  «        S t          j        d| ¦  «        }|�u|                     d¦  «        �"t          |                     d¦  «        ¦  «        nd }t          t                               |                     d¦  «        ¦  «        |¬¦  «        S t          j        d| ¦  «        }|�"t          |                     d¦  «        ¦  «        S 	 t          t          |          ¦  «        S # t          $ r}t          d| › �¦  «        |‚d }~ww xY w)Nz^(.+)\?$r)  z^(.+)\[([0-9]+)?\]$rg  )ÚelemÚsizez-^__torch__\.torch\.classes\.([a-zA-Z0-9_.]+)$zunrecognized type )rœ  r¦  ÚOptionalTyper­  rF   r§  r   ÚListTypeÚCustomClassTyperR  rS  ÚKeyErrorrø  )r•  r$  r²  rŒ  s       r   r¯  zType._parse:  s)  € åŒH�[ !Ñ$Ô$ˆØˆ=Ý¥§
¢
¨1¯7ª7°1©:¬:Ñ 6Ô 6Ñ7Ô7Ð7ÝŒHÐ+¨QÑ/Ô/ˆØˆ=Ø&'§g¢g¨a¡j¤jÐ&<•3�q—w’w˜q‘z”z‘?”?�?À$ˆDÝ¥§¢¨A¯GªG°A©J¬JÑ!7Ô!7¸dÐCÑCÔCÐCõ ŒHÐEÀqÑIÔIˆØˆ=Ý" 1§7¢7¨1¡:¤:Ñ.Ô.Ð.ð	@Ý�F 1œIÑ&Ô&Ð&øÝð 	@ð 	@ð 	@ÝÐ7°AÐ7Ð7Ñ8Ô8¸aÐ?øøøøð	@øøøs   ÄD2 Ä2
EÄ<EÅEc                ó   — t           ‚r8   ©ÚNotImplementedErrorr   s    r   r   zType.__str__M  ó   € Ý!Ð!r   Úbase_tyrS  rá   c                ó   — t           ‚r8   r¸  ©r   r»  s     r   Úis_base_ty_likezType.is_base_ty_likeU  rº  r   c                ó@   — |                       t          j        ¦  «        S r8   )r¾  rS  rT  r   s    r   Úis_tensor_likezType.is_tensor_likeX  ó   € Ø×#Ò#¥F¤MÑ2Ô2Ð2r   c                ó@   — |                       t          j        ¦  «        S r8   )r¾  rS  Ú	Generatorr   s    r   Úis_generator_likezType.is_generator_like[  s   € Ø×#Ò#¥FÔ$4Ñ5Ô5Ð5r   c                ó@   — |                       t          j        ¦  «        S r8   )r¾  rS  ÚSymIntr   s    r   Úis_symint_likezType.is_symint_like^  rÁ  r   c                ó   — t           ‚r8   r¸  r   s    r   Úis_nullablezType.is_nullablea  rº  r   úListType | Nonec                ó   — t           ‚r8   r¸  r   s    r   Úis_list_likezType.is_list_liked  rº  r   N)r•  r   r   r­  r   ©r»  rS  r   rá   rÞ  ©r   rÊ  )r   r    r!   rÎ   rF   r¯  r   r¾  rÀ  rÄ  rÇ  rÉ  rÌ  r#   r   r   r­  r­  2  sâ   € € € € € àðð ð ñ „\ðð
 ð@ð @ð @ñ „\ð@ð$"ð "ð "ð "ð"ð "ð "ð "ð3ð 3ð 3ð 3ð6ð 6ð 6ð 6ð3ð 3ð 3ð 3ð"ð "ð "ð "ð"ð "ð "ð "ð "ð "r   r­  c                  óž  — e Zd Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z	 e¦   «         Z
 e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         Z e¦   «         ZdS )rS  N)r   r    r!   r   rÃ  ró   rT  r   ÚDimnameÚ	DimVectorÚfloatr   rá   ÚLayoutÚDeviceÚDeviceIndexÚScalarÚMemoryFormatÚQSchemeÚStorageÚStreamrÆ  ÚSymBoolÚGraphModuler#   r   r   rS  rS  i  sê   € € € € € Ø�‘”€IØ�‘”€JØˆT‰VŒV€FØ
ˆ$‰&Œ&€CØˆd‰fŒf€GØ�‘”€IØˆD‰FŒF€EØ
ˆ$‰&Œ&€CØˆ4‰6Œ6€DØˆT‰VŒV€FØˆT‰VŒV€FØ�$‘&”&€KØˆT‰VŒV€FØ�4‘6”6€LØˆd‰fŒf€GØˆd‰fŒf€GØˆT‰VŒV€FØˆT‰VŒV€FØˆd‰fŒf€GØ�$‘&”&€K€K€Kr   rS  c                  óB   — e Zd ZU ded<   dd„Zdd„Zdd	„Zdd„Zdd„ZdS )rR  rS  r:   r   r   c                ó   — | j         j         › S r8   r9   r   s    r   r   zBaseType.__str__„  s   € Ø”)”.Ð"Ð"r   r»  rá   c                ó   — | j         |k    S r8   r9   r½  s     r   r¾  zBaseType.is_base_ty_like‡  s   € ØŒy˜GÒ#Ð#r   c                ó   — dS r1  r#   r   s    r   rÉ  zBaseType.is_nullableŠ  ó   € Øˆur   rÊ  c                ó   — d S r8   r#   r   s    r   rÌ  zBaseType.is_list_like�  ó   € Øˆtr   c                ó,   — | j         t          j        k    S r8   )r:   rS  rÆ  r   s    r   rÇ  zBaseType.is_symint_like�  s   € ØŒy�FœMÒ)Ð)r   Nr   rÍ  rÞ  rÎ  )	r   r    r!   r"   r   r¾  rÉ  rÌ  rÇ  r#   r   r   rR  rR  €  sƒ   € € € € € € à€L€L�Lð#ð #ð #ð #ð$ð $ð $ð $ðð ð ð ðð ð ð ð*ð *ð *ð *ð *ð *r   rR  c                  óB   — e Zd ZU ded<   dd„Zdd	„Zdd
„Zdd„Zdd„ZdS )r³  r­  r±  r   r   c                ó   — | j         › d�S )Nú?)r±  r   s    r   r   zOptionalType.__str__™  s   € Ø”)ˆˆˆÐr   r»  rS  rá   c                ó6   — | j                              |¦  «        S r8   ©r±  r¾  r½  s     r   r¾  zOptionalType.is_base_ty_likeœ  ó   € ØŒy×(Ò(¨Ñ1Ô1Ð1r   c                ó4   — | j                              ¦   «         S r8   ©r±  rÇ  r   s    r   rÇ  zOptionalType.is_symint_likeŸ  ó   € ØŒy×'Ò'Ñ)Ô)Ð)r   c                ó   — dS )NTr#   r   s    r   rÉ  zOptionalType.is_nullable¢  rã  r   rÊ  c                ó4   — | j                              ¦   «         S r8   )r±  rÌ  r   s    r   rÌ  zOptionalType.is_list_like¥  s   € ØŒy×%Ò%Ñ'Ô'Ð'r   Nr   rÍ  rÞ  rÎ  ©	r   r    r!   r"   r   r¾  rÇ  rÉ  rÌ  r#   r   r   r³  r³  •  sƒ   € € € € € € à€J€J�Jðð ð ð ð2ð 2ð 2ð 2ð*ð *ð *ð *ðð ð ð ð(ð (ð (ð (ð (ð (r   r³  c                  óB   — e Zd ZU ded<   dd„Zdd„Zdd	„Zdd
„Zdd„ZdS )rµ  r   Ú
class_namer   c                ó   — d| j         › �S )zK
        Return the class name will prefix __torch__.torch.classes
        z__torch__.torch.classes.)rò  r   s    r   r   zCustomClassType.__str__®  s   € ð <¨$¬/Ð;Ð;Ð;r   r»  rS  rá   c                ó   — dS r1  r#   r½  s     r   r¾  zCustomClassType.is_base_ty_like´  rá  r   c                ó   — dS r1  r#   r   s    r   rÇ  zCustomClassType.is_symint_like·  rá  r   c                ó   — dS )z8
        Assume a custom class is not nullable.
        Fr#   r   s    r   rÉ  zCustomClassType.is_nullableº  s	   € ð ˆur   rÊ  c                ó   — d S r8   r#   r   s    r   rÌ  zCustomClassType.is_list_likeÀ  rã  r   Nr   rÍ  rÞ  rÎ  rð  r#   r   r   rµ  rµ  ª  sƒ   € € € € € € à€O€O�Oð<ð <ð <ð <ðð ð ð ðð ð ð ðð ð ð ðð ð ð ð ð r   rµ  c                  óL   — e Zd ZU ded<   ded<   dd„Zdd„Zdd„Zdd„Zdd„ZdS )r´  r­  r±  z
int | Noner²  r   r   c                ó>   — | j         r| j         › nd}| j        › d|› d�S )Nr(   ú[ú])r²  r±  )r   r²  s     r   r   zListType.__str__Ð  s/   € Ø!%¤Ð2�$”)ˆ~ˆ~°ˆØ”)Ð%Ð%˜dÐ%Ð%Ð%Ð%r   r»  rS  rá   c                ó6   — | j                              |¦  «        S r8   ré  r½  s     r   r¾  zListType.is_base_ty_likeÔ  rê  r   c                ó4   — | j                              ¦   «         S r8   rì  r   s    r   rÇ  zListType.is_symint_like×  rí  r   c                ó4   — | j                              ¦   «         S r8   )r±  rÉ  r   s    r   rÉ  zListType.is_nullableÚ  s   € ØŒy×$Ò$Ñ&Ô&Ð&r   rÊ  c                ó   — | S r8   r#   r   s    r   rÌ  zListType.is_list_likeÝ  s   € Øˆr   Nr   rÍ  rÞ  rÎ  rð  r#   r   r   r´  r´  Ë  s�   € € € € € € à€J€J�JØÐÐÑð&ð &ð &ð &ð2ð 2ð 2ð 2ð*ð *ð *ð *ð'ð 'ð 'ð 'ðð ð ð ð ð r   r´  c                  óˆ   — e Zd ZU ded<   ded<   ded<   ded<   edd
„¦   «         Zedd„¦   «         Zedd„¦   «         Zdd„Z	dS )r/  r   r:   r­  rQ  r9  rX  úAnnotation | NonerÅ  r   c                ó   — | j         S r8   rH  r   s    r   Ú
alias_infozArgument.alias_infoÿ  ó
   € àŒÐr   r²  c                óè  — d| v sJ d| › d�¦   «         ‚d| v r`|                       d¦  «        dk    sJ d| › d�¦   «         ‚|                      d¦  «        \  }}|                     dd¦  «        \  }}|› d|› �}n|                      dd¦  «        \  }}|}d }t          j        d|¦  «        }|rg|                     d¦  «        d	v s
J d
¦   «         ‚d|                     d¦  «        z   }t                               |                     d¦  «        ¦  «        }n|}d }t                               |¦  «        }	t          ||	||¬¦  «        }
t          |
¦  «        | k    sJ t          |
¦  «        › d| › �¦   «         ‚|
S )Nr  zillegal argument 'ró  ú=r)  z&illegal argument with default value: 'úTensor\((.+)\)(.*)rg  ©r(   rç  z[]ú,unrecognized alias analysis form with TensorrT  ©r:   rQ  rX  rÅ  ré  )Úcountrþ   Úrsplitrœ  r¦  r§  rŸ  rF   r­  r/  r   )r²  Útype_and_annot_and_namerX  Útype_and_annotr:   Úname_and_defaultr¦  Útype_srÅ  rQ  rÞ   s              r   rF   zArgument.parse  s¸  € ð �cˆzˆzˆzÐ6°Ð6Ð6Ð6‰zŒzˆzØ�#ˆ:ˆ:Ø—9’9˜S‘>”> QÒ&Ð&Ð&Ð(WÐQTÐ(WÐ(WÐ(WÑ&Ô&Ð&Ø/2¯yªy¸©~¬~Ñ,Ð# WØ#:×#AÒ#AÀ#ÀqÑ#IÔ#IÑ ˆN˜DØ"&Ð2Ð2¨Ð2Ð2ÐÐà/2¯zªz¸#¸qÑ/AÔ/AÑ,ˆNÐ,Ø#ˆDØˆGå”Ð.°Ñ?Ô?ˆàð 	à—;’;˜q‘>”>ð &ð ð ð ð >ñ	ô ð ð
  §¢¨A¡¤Ñ.ˆFÝ#×)Ò)¨%¯+ª+°a©.¬.Ñ9Ô9ˆJˆJà#ˆFØˆJÝ�zŠz˜&Ñ!Ô!ˆÝØØØØ!ð	
ñ 
ô 
ˆõ �1‰vŒv˜Š}ˆ}ˆ}¥ Q¡¤Ð2Ð2¨SÐ2Ð2‰}Œ}ˆ}Øˆr   rá   c                ó,   — | j         d uo| j         j        S r8   rÄ  r   s    r   rÆ  zArgument.is_write*  ó   € àŒ dÐ*ÐG¨t¬Ô/GÐGr   c                ó¾   — | j         › }| j        r%|dv sJ ‚|                     dd| j        › d�¦  «        }| j        €|S d}| j        r
d| j        › �}|› d| j        › |› �S )N©rT  zTensor?zTensor[]rT  úTensor(r  r(   r  r  )rQ  rÅ  rˆ  r:   rX  )r   rQ  Ú
mb_defaults      r   r   zArgument.__str__.  s�   € Ø”)ˆ~ˆØŒ?ð 	HØÐ<Ð<Ð<Ð<Ð<Ø—<’< Ð*F°D´OÐ*FÐ*FÐ*FÑGÔGˆDØŒ9ÐØˆKàˆJØŒ|ð 0Ø/ ¤Ð/Ð/�
ØÐ4Ð4˜TœYÐ4¨
Ð4Ð4Ð4r   N©r   r  )r²  r   r   r/  rÞ  r   ©
r   r    r!   r"   rß  r  rÎ   rF   rÆ  r   r#   r   r   r/  r/  á  s»   € € € € € € ð
 €I€I�IØ€J€J�JØÐÐÑð* "Ð!Ð!Ñ!àðð ð ñ „Xðð ð$ð $ð $ñ „\ð$ðL ðHð Hð Hñ „XðHð5ð 5ð 5ð 5ð 5ð 5r   r/  c                  ó~   — e Zd ZU ded<   ded<   ded<   edd„¦   «         Zedd„¦   «         Zedd„¦   «         Zdd„Z	dS )rz  r9  r:   r­  rQ  r  rÅ  r   c                ó   — | j         S r8   rH  r   s    r   r  zReturn.alias_infoB  r  r   r²  r   c                ó  — d| v r|                       dd¦  «        \  }}n| }d }t          j        d|¦  «        }|rg|                     d¦  «        dv s
J d¦   «         ‚d|                     d¦  «        z   }t                               |                     d¦  «        ¦  «        }n|}d }t                               |¦  «        }t          |||¬¦  «        }t          |¦  «        | k    sJ t          |¦  «        › d	| › �¦   «         ‚|S )
Nr  r)  r  rg  r  r	  rT  r|  ré  )	r  rœ  r¦  r§  rŸ  rF   r­  rz  r   )r²  r  r:   r¦  r  rÅ  rQ  rÞ   s           r   rF   zReturn.parseF  s!  € ð �#ˆ:ˆ:Ø#&§:¢:¨c°1Ñ#5Ô#5Ñ ˆN˜D˜Dà ˆNØˆDÝ”Ð.°Ñ?Ô?ˆàð 	à—;’;˜q‘>”>ð &ð ð ð ð >ñ	ô ð ð
  §¢¨A¡¤Ñ.ˆFÝ#×)Ò)¨%¯+ª+°a©.¬.Ñ9Ô9ˆJˆJà#ˆFØˆJÝ�zŠz˜&Ñ!Ô!ˆÝØØØ!ð
ñ 
ô 
ˆõ
 �1‰vŒv˜Š}ˆ}ˆ}¥ Q¡¤Ð2Ð2¨SÐ2Ð2‰}Œ}ˆ}Øˆr   rá   c                ó,   — | j         d uo| j         j        S r8   rÄ  r   s    r   rÆ  zReturn.is_writee  r  r   c                ó”   — | j         › }| j        r%|dv sJ ‚|                     dd| j        › d�¦  «        }| j        €|S |› d| j        › �S )Nr  rT  r  r  r  )rQ  rÅ  rˆ  r:   )r   rQ  s     r   r   zReturn.__str__i  sl   € Ø”)ˆ~ˆØŒ?ð 	HØÐ<Ð<Ð<Ð<Ð<Ø—<’< Ð*F°D´OÐ*FÐ*FÐ*FÑGÔGˆDØŒ9ÐØˆKàÐ(Ð(˜TœYÐ(Ð(Ð(r   Nr  )r²  r   r   rz  rÞ  r   r  r#   r   r   rz  rz  <  s­   € € € € € € àÐÐÑØ€J€J�JØ!Ð!Ð!Ñ!àðð ð ñ „Xðð ðð ð ñ „\ðð< ðHð Hð Hñ „XðHð)ð )ð )ð )ð )ð )r   rz  c                  ó   — e Zd ZU ded<   dS )ÚSelfArgumentr/  r\  N)r   r    r!   r"   r#   r   r   r  r  u  s   € € € € € € àÐÐÑÐÐr   r  c                  ó@   — e Zd ZU ded<   ded<   ded<   ded<   d
d„Zd	S )ÚTensorOptionsArgumentsr/  ÚdtypeÚlayoutÚdeviceÚ
pin_memoryr   úSequence[Argument]c                ó6   — | j         | j        | j        | j        gS r8   ©r"  r#  r$  r%  r   s    r   ÚallzTensorOptionsArguments.all„  s   € Ø”
˜DœK¨¬°d´oÐFÐFr   N©r   r&  )r   r    r!   r"   r)  r#   r   r   r!  r!  }  s]   € € € € € € à€O€O�OØÐÐÑØÐÐÑØÐÐÑðGð Gð Gð Gð Gð Gr   r!  c                  ó¬  — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ed0d„¦   «         Zed0d„¦   «         Zed0d„¦   «         Zed0d„¦   «         Zed0d„¦   «         Z	ed1d„¦   «         Z
ed2d„¦   «         Zed3d„¦   «         Zed1d„¦   «         Zd4d„Zd5d„Zd5d„Zd5d„Zdd œd6d"„Zd7d#„Zd8d&„Zed9d*„¦   «         Zed:d+„¦   «         Zd;d,„Zd<d.„Zd/S )=r,  ztuple[Argument, ...]Úpre_self_positionalzSelfArgument | Noner[  rj  Úpre_tensor_options_kwarg_onlyzTensorOptionsArguments | Noner„  Úpost_tensor_options_kwarg_onlyrw  r   r&  c                ór   — g }|                      | j        ¦  «         |                      | j        ¦  «         |S r8   )rÛ   r8  r9  ©r   rM  s     r   Úflat_non_outzArguments.flat_non_outŸ  s6   € à ˆØ�
Š
�4Ô'Ñ(Ô(Ð(Ø�
Š
�4Ô'Ñ(Ô(Ð(Øˆ
r   c                ó¾   — g }|                      | j        ¦  «         | j        �|                     | j        j        ¦  «         |                      | j        ¦  «         |S r8   )rÛ   r,  r[  ry  r\  rj  r0  s     r   r8  zArguments.flat_positional¦  sU   € à ˆØ�
Š
�4Ô+Ñ,Ô,Ð,ØŒ=Ð$Ø�JŠJ�t”}Ô-Ñ.Ô.Ð.Ø�
Š
�4Ô,Ñ-Ô-Ð-Øˆ
r   c                ó$   — d„ | j         D ¦   «         S )Nc                ó    — g | ]}|j         ¯	|‘ŒS r#   )rÆ  rª  s     r   r2   z:Arguments.post_self_positional_mutable.<locals>.<listcomp>±  s   € ÐCÐCÐC�a¸¼
ÐC�ÐCÐCÐCr   )rj  r   s    r   rZ  z&Arguments.post_self_positional_mutable¯  s   € àCÐC˜4Ô4ÐCÑCÔCÐCr   c                óØ   — g }|                      | j        ¦  «         | j        �,|                      | j                             ¦   «         ¦  «         |                      | j        ¦  «         |S r8   )rÛ   r-  r„  r)  r.  r0  s     r   r9  zArguments.flat_kwarg_only´  s`   € à ˆØ�
Š
�4Ô5Ñ6Ô6Ð6ØÔÐ*Ø�JŠJ�tÔ*×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø�
Š
�4Ô6Ñ7Ô7Ð7Øˆ
r   c                ó¦   — g }|                      | j        ¦  «         |                      | j        ¦  «         |                      | j        ¦  «         |S r8   )rÛ   r8  r9  rw  r0  s     r   r»  zArguments.flat_all½  sJ   € à ˆØ�
Š
�4Ô'Ñ(Ô(Ð(Ø�
Š
�4Ô'Ñ(Ô(Ð(Ø�
Š
�4”8ÑÔÐØˆ
r   ú:Sequence[Argument | SelfArgument | TensorOptionsArguments]c                ór   — g }|                      | j        ¦  «         |                      | j        ¦  «         |S r8   )rÛ   Ú
positionalÚ
kwarg_onlyr0  s     r   Únon_outzArguments.non_outÅ  s8   € ð GIˆØ�
Š
�4”?Ñ#Ô#Ð#Ø�
Š
�4”?Ñ#Ô#Ð#Øˆ
r   ú!Sequence[Argument | SelfArgument]c                ó´   — g }|                      | j        ¦  «         | j        �|                     | j        ¦  «         |                      | j        ¦  «         |S r8   )rÛ   r,  r[  ry  rj  r0  s     r   r9  zArguments.positionalÎ  sR   € à-/ˆØ�
Š
�4Ô+Ñ,Ô,Ð,ØŒ=Ð$Ø�JŠJ�t”}Ñ%Ô%Ð%Ø�
Š
�4Ô,Ñ-Ô-Ð-Øˆ
r   ú+Sequence[Argument | TensorOptionsArguments]c                ó´   — g }|                      | j        ¦  «         | j        �|                     | j        ¦  «         |                      | j        ¦  «         |S r8   )rÛ   r-  r„  ry  r.  r0  s     r   r:  zArguments.kwarg_only×  sT   € à79ˆØ�
Š
�4Ô5Ñ6Ô6Ð6ØÔÐ*Ø�JŠJ�tÔ*Ñ+Ô+Ð+Ø�
Š
�4Ô6Ñ7Ô7Ð7Øˆ
r   c                ó¦   — g }|                      | j        ¦  «         |                      | j        ¦  «         |                      | j        ¦  «         |S r8   )rÛ   r9  r:  rw  r0  s     r   r)  zArguments.allà  sH   € àFHˆØ�
Š
�4”?Ñ#Ô#Ð#Ø�
Š
�4”?Ñ#Ô#Ð#Ø�
Š
�4”8ÑÔÐØˆ
r   ú	list[str]c                ó$   — d„ | j         D ¦   «         S )Nc                óB   — g | ]}|j         ®	|j         j        ¯|j        ‘ŒS r8   )rÅ  rÆ  r:   rª  s     r   r2   z/Arguments.mutable_arg_names.<locals>.<listcomp>é  s6   € ð 
ð 
ð 
àØŒ|Ð'¨A¬LÔ,AÐ'ð ŒFà'Ð'Ð'r   )r»  r   s    r   Úmutable_arg_nameszArguments.mutable_arg_namesè  s%   € ð
ð 
à”]ð
ñ 
ô 
ð 	
r   rá   c                ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3  óH   K  — | ]}|j                              ¦   «         V — Œd S r8   )rQ  rÀ  rª  s     r   rØ   z+Arguments.has_tensor_arg.<locals>.<genexpr>ð  ó0   è è € ÐFÐF¨q�1”6×(Ò(Ñ*Ô*ÐFÐFÐFÐFÐFÐFr   ©rº  r1  r   s    r   r…  zArguments.has_tensor_argï  ó"   € ÝÐFÐF°DÔ4EÐFÑFÔFÑFÔFÐFr   c                ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3  óH   K  — | ]}|j                              ¦   «         V — Œd S r8   )rQ  rÇ  rª  s     r   rØ   z+Arguments.has_symint_arg.<locals>.<genexpr>ó  rG  r   rH  r   s    r   r˜  zArguments.has_symint_argò  rI  r   c                ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3  óH   K  — | ]}|j                              ¦   «         V — Œd S r8   )rQ  rÄ  rª  s     r   rØ   z.Arguments.has_generator_arg.<locals>.<genexpr>ö  s0   è è € ÐIÐI°!�1”6×+Ò+Ñ-Ô-ÐIÐIÐIÐIÐIÐIr   rH  r   s    r   r¼  zArguments.has_generator_argõ  s"   € ÝÐIÐI°tÔ7HÐIÑIÔIÑIÔIÐIr   Fr…  rv  c               ó”  ‡— dˆfd„}t          t          t          || j        ¦  «        ¦  «        | j        �"t           || j        j        ¦  «        ¦  «        nd t          t          || j        ¦  «        ¦  «        t          t          || j        ¦  «        ¦  «        t          t          || j	        ¦  «        ¦  «        z   d dd¬¦  «        S )Nr«  r/  r   c                óP   •— t          | j        | j        ‰s| j        nd d ¬¦  «        S )Nr
  )r/  r:   rQ  rX  )r«  rv  s    €r   Ústrip_arg_annotationz1Arguments.signature.<locals>.strip_arg_annotationû  s5   ø€ ÝØ”VØ”VØ)6Ð@˜œ	˜	¸DØð	ñ ô ð r   r#   ©r,  r[  rj  r-  r„  r.  rw  )r«  r/  r   r/  )
r,  r‰  rŠ  r,  r[  r  r\  rj  r-  r.  )r   rv  rP  s    ` r   rô  zArguments.signatureø  sð   ø€ ð	ð 	ð 	ð 	ð 	ð 	õ Ý %ÝÐ(¨$Ô*BÑCÔCñ!ô !ð
 ”=Ð,õ Ð1Ð1°$´-Ô2HÑIÔIÑJÔJÐJàå!&ÝÐ(¨$Ô*CÑDÔDñ"ô "õ
 +0ÝÐ(¨$Ô*LÑMÔMñ+ô +õ •CÐ,¨dÔ.QÑRÔRÑSÔSñ+Tð  Ø+-àð/
ñ 
ô 
ð 	
r   c           	     ó–   — | j         €J ‚t          j        | t          t          j        | j         j        d ¬¦  «        ¦  «        ¬¦  «        S )NrH  )r[  )r[  Údataclassesrˆ  r  r\  r   s    r   Úremove_self_annotationz Arguments.remove_self_annotation	  sR   € ØŒ}Ð(Ð(Ð(ÝÔ"ØÝ!ÝÔ# D¤MÔ$:ÀtÐLÑLÔLñô ð
ñ 
ô 
ð 	
r   rr  úlist[Argument]c                ó|   — t          | j        ¦  «        dk    sJ ‚t          j        | t	          |¦  «        ¬¦  «        S )Nr   )rw  )rz  rw  rS  rˆ  r‰  )r   rr  s     r   Úwith_out_argszArguments.with_out_args&	  sA   € Ý�4”8‰}Œ} Ò!Ð!Ð!Ð!ÝÔ"ØÝ�d‘”ð
ñ 
ô 
ð 	
r   rA  r   ú5tuple[list[Argument], list[Argument], list[Argument]]c                ó(  — g }g }g }|}|                       d¦  «        D ]p}|sŒ|dk    r||u s
J d¦   «         ‚|}Œt                               |¦  «        }|j        �|j        j        r||u rn||u r|}n||usJ ‚|                     |¦  «         Œq|||fS )Nrý   rÌ  z:invalid syntax: kwarg-only specifier * can only occur once)rþ   r/  rF   rÅ  rÆ  ry  )rA  r9  r:  rw  Úarguments_accr²  Úpargs          r   Ú	_preparsezArguments._preparse-	  sæ   € à%'ˆ
Ø%'ˆ
Ø ˆØ"ˆð —:’:˜dÑ#Ô#ð 	'ð 	'ˆCØð ØØ�cŠzˆzØ$¨
Ð2Ð2Ð2ØPñ 3Ô2Ð2ð !+�ØÝ—>’> #Ñ&Ô&ˆDð ŒÐ*¨t¬Ô/GÐ*Ø  JÐ.Ð.ØØ" jÐ0Ð0Ø$'�Møà$¨CÐ/Ð/Ð/Ð/Ø× Ò  Ñ&Ô&Ð&Ð&à˜: sÐ*Ð*r   c                óÈ  — t                                | ¦  «        \  }}}d}t          |¦  «        D ]\  }}|j        dk    r|} nŒ|�-|d|…         }t	          ||         ¦  «        }||dz   d…         }	ng }d}|}	g }
d}g }|
}dd
„} |dt
                               d¦  «        ¦  «         |dt
                               d¦  «        ¦  «         |dt
                               d¦  «        ¦  «         |dt
                               d¦  «        ¦  «        g}d}|t          |¦  «        k     rä|t          |¦  «        t          |¦  «        z
  k    rŽt          d„ t          ||||t          |¦  «        z   …         ¦  «        D ¦   «         ¦  «        rO||
u sJ ‚t          ||         ||dz            ||dz            ||dz            ¬¦  «        }|t          |¦  «        z  }|}ŒÄ|                     ||         ¦  «         |dz  }|t          |¦  «        k     °ät          t          |¦  «        |t          |	¦  «        t          |
¦  «        |t          |¦  «        t          |¦  «        ¬¦  «        S )z.
        Input: 'int x, int y, int z'
        Nr   r)  r:   r   Útyr­  r   úCallable[[Argument], bool]c                ó   ‡ ‡— ˆ ˆfd„S )Nc                óJ   •— | j         ‰k    o| j        ‰t          ‰¦  «        fv S r8   )r:   rQ  r³  )r«  r:   r^  s    €€r   ú<lambda>z/Arguments.parse.<locals>.pred.<locals>.<lambda>w	  s&   ø€ ˜QœV tš^ÐP°´¸2½|ÈBÑ?OÔ?OÐ:PÐ0P€ r   r#   )r:   r^  s   ``r   ÚpredzArguments.parse.<locals>.predv	  s   øø€ ØPÐPÐPÐPÐPÐPr   r"  ró   r#  rÓ  r$  rÔ  r%  rá   r   c              3  ó2   K  — | ]\  }} ||¦  «        V — Œd S r8   r#   )r0   Úpr«  s      r   rØ   z"Arguments.parse.<locals>.<genexpr>…	  sB   è è € ð ð á˜˜1ð �A�a‘D”Dðð ð ð ð ð r   rg  r_  r(  rQ  )r:   r   r^  r­  r   r_  )r,  r\  Ú	enumerater:   r  r­  rF   rz  r)  rY  r!  ry  r‰  )rA  r9  r:  rw  Úself_ixÚir«  r,  r[  rj  r-  r„  r.  Úkwarg_only_accrc  Ú
predicatess                   r   rF   zArguments.parseQ	  sË  € õ '0×&9Ò&9¸$Ñ&?Ô&?Ñ#ˆ
�J ð ˆÝ˜jÑ)Ô)ð 	ð 	‰DˆAˆqØŒv˜ÒÐØ�Ø�ð  ð ÐØ",¨X¨g¨XÔ"6ÐÝ# J¨wÔ$7Ñ8Ô8ˆHØ#-¨g¸©k¨m¨mÔ#<Ð Ð à"$ÐØˆHØ#-Ð ð 9;Ð%Ø8<ˆØ9;Ð&Ø6ˆð	Qð 	Qð 	Qð 	Qð ˆD��$Ÿ*š* \Ñ2Ô2Ñ3Ô3ØˆD��4Ÿ:š: hÑ/Ô/Ñ0Ô0ØˆD��4Ÿ:š: hÑ/Ô/Ñ0Ô0ØˆD��tŸzšz¨&Ñ1Ô1Ñ2Ô2ð	
ˆ
ð ˆØ•#�j‘/”/Ò!Ð!à•C˜
‘O”O¥c¨*¡o¤oÑ5Ò5Ð5åð ð å # J°
¸1¸qÅ3ÀzÁ?Ä?Ñ?RÐ;RÔ0SÑ TÔ Tðñ ô ñ ô ð ð *Ð-JÐJÐJÐJÐJå%;Ø(¨œmØ)¨!¨a©%Ô0Ø)¨!¨a©%Ô0Ø#-¨a°!©eÔ#4ð	&ñ &ô &�Nð �˜Z™œÑ(�AØ%C�NØØ×!Ò! *¨Q¤-Ñ0Ô0Ð0Ø�‰FˆAð) •#�j‘/”/Ò!Ð!õ, Ý %Ð&9Ñ :Ô :ØÝ!&Ð';Ñ!<Ô!<Ý*/Ð0MÑ*NÔ*NØ)Ý+0Ð1OÑ+PÔ+PÝ�c‘
”
ð
ñ 
ô 
ð 	
r   c                ó„  — g }|                      t          t          | j        ¦  «        ¦  «         | j        s| j        r|                     d¦  «         |                      t          t          | j        ¦  «        ¦  «         |                      t          t          | j        ¦  «        ¦  «         d                     |¦  «        S )NrÌ  rý   )rÛ   rŠ  r   r8  r9  rw  ry  rÝ   )r   Úall_argumentss     r   r   zArguments.__str__¡	  s£   € Ø#%ˆØ×Ò�S¥ dÔ&:Ñ;Ô;Ñ<Ô<Ð<ØÔð 	& 4¤8ð 	&Ø× Ò  Ñ%Ô%Ð%Ø×Ò�S¥ dÔ&:Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�S¥ d¤hÑ/Ô/Ñ0Ô0Ð0Ø�yŠy˜Ñ'Ô'Ð'r   r¤  c                ó¢   — | j         €	| j        rJ ‚| j        €	| j        rJ ‚d„ | j        D ¦   «         }t	          |¦  «        dk    s
J d¦   «         ‚d S )Nc                ó8   — g | ]}|j         ®	|j         j        ¯|‘ŒS r8   rÄ  rª  s     r   r2   z+Arguments.__post_init__.<locals>.<listcomp>´	  s4   € ð (
ð (
ð (
àØŒ|Ð'¨A¬LÔ,AÐ'ð à'Ð'Ð'r   r   zOmutable pre_self_positional arguments are not currently supported in the schema)r[  r,  r„  r.  rz  )r   Úmutable_pre_self_positionalss     r   r¿  zArguments.__post_init__ª	  s‚   € ð Œ=Ð ØÔ/Ð/Ð/Ð/ØÔÐ&ØÔ:Ð:Ð:Ð:ð(
ð (
àÔ-ð(
ñ (
ô (
Ð$õ
 Ð/Ñ0Ô0°AÒ5Ð5Ð5Ø]ñ 6Ô5Ð5Ð5Ð5r   Nr*  )r   r7  )r   r<  )r   r>  ©r   rA  rÞ  )rv  rá   r   r,  )r   r,  )rr  rU  r   r,  )rA  r   r   rX  )rA  r   r   r,  r   rÝ  )r   r    r!   r"   rß  r1  r8  rZ  r9  r»  r;  r9  r:  r)  rD  r…  r˜  r¼  rô  rT  rW  rÎ   r\  rF   r   r¿  r#   r   r   r,  r,  ˆ  s¨  € € € € € € ð
 .Ð-Ð-Ñ-Ø!Ð!Ð!Ñ!Ø.Ð.Ð.Ñ.à7Ð7Ð7Ñ7Ø1Ð1Ð1Ñ1ð 9Ð8Ð8Ñ8ð ÐÐÑàðð ð ñ „Xðð ðð ð ñ „Xðð ðDð Dð Dñ „XðDð ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð ðð ð ñ „Xðð
ð 
ð 
ð 
ðGð Gð Gð GðGð Gð Gð GðJð Jð Jð Jð 27ð #
ð #
ð #
ð #
ð #
ð #
ðJ
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð ð!+ð !+ð !+ñ „\ð!+ðF ðM
ð M
ð M
ñ „\ðM
ð^(ð (ð (ð (ð
ð 
ð 
ð 
ð 
ð 
r   r,  )r  ÚsubÚmulÚdivÚmodÚpowÚlshiftÚrshiftÚandÚxorÚorc                  ój   — e Zd ZU ded<   ded<   ded<   dZded<   dZd	ed
<   edd„¦   «         Zdd„ZdS )r‹  r   rÙ  rá   rÖ  r‡  Frö  NzOptional[str]r3  rñ  r   c                óô  ‡
— | dk    sJ ‚|                       d¦  «        r
J d¦   «         ‚t          j        d| ¦  «        }|r|                     d¦  «        nd}|r|                     d¦  «        n| }t          j        d|¦  «        }|�Ud}|                     d¦  «        Š
t	          ˆ
fd	„t
          D ¦   «         ¦  «        rd}‰
dd …         Š
n0d
}‰
d         dk    sJ ‚nd
}|Š
‰
d         dk    rd}‰
d d…         Š
nd
}d}‰
                      |¦  «        r!d}‰
d t          |¦  «         …         Š
|s|rJ ‚nd
}t          ‰
||||¬¦  «        }	t          |	¦  «        | k    sJ t          |	¦  «        › d| › �¦   «         ‚|	S )Nr(   r„  zs_out suffix is reserved and not permitted for operator names; did you mean to specify an out overload name instead?z^(?:(.*)::)?(.*)$r)  rg  z^__([^_]+)__$Tc              3  ó*   •K  — | ]}‰d |› �k    V — ŒdS )rh  Nr#   )r0   ÚnrÙ  s     €r   rØ   z)BaseOperatorName.parse.<locals>.<genexpr>
  s-   øè è € ÐGÐG q�4˜7˜q˜7˜7’?ÐGÐGÐGÐGÐGÐGr   Fr   rh  r  Ú_Ú_functional)rÙ  rÖ  r‡  rö  r3  ré  )	rƒ  rœ  r¦  r§  rº  ÚAUGMENTED_ASSIGNMENT_NAMESrz  r‹  r   )rñ  r¦  r3  Úop_without_nsr$  r‡  rÖ  Úfunctional_suffixrö  rÞ   rÙ  s             @r   rF   zBaseOperatorName.parseö	  sã  ø€ à�RŠxˆxˆxˆxØ—;’;˜vÑ&Ô&ð 	
ð 	
ðDñ	
ô 	
ð 	
õ ”Ð-¨rÑ2Ô2ˆØ&+Ð3�E—K’K ‘N”N�N°ˆ	Ø*/Ð7˜Ÿš A™œ˜°RˆÝŒHÐ% }Ñ5Ô5ˆØˆ=Ø ˆMØ—7’7˜1‘:”:ˆDÝÐGÐGÐGÐGÕ,FÐGÑGÔGÑGÔGð 	&Ø�Ø˜A˜B˜B”x��à�ð
 ˜A”w #’~�~�~�~�~à!ˆMØ ˆDØ�BŒx˜3ŠˆØ�Ø˜C˜R˜C”y��à�ð *ÐØ�=Š=Ð*Ñ+Ô+ð 	(Ø"&ÐØÐ1�3Ð0Ñ1Ô1Ð1Ð1Ô2ˆDð %Ð4¨WÐ4Ð4Ð4Ð4à"'ÐåØØØ'Ø 3Øð
ñ 
ô 
ˆõ �1‰vŒv˜Š|ˆ|ˆ|¥ A¡¤Ð0Ð0¨BÐ0Ð0‰|Œ|ˆ|Øˆr   c                ó¬   — | j         r
| j         › d�nd}| j        r| j        rdnd}|› d|› | j        › d�S | j        rdn
| j        rdnd}|› | j        › |› �S )NrY  r(   rh  Ú__r  r€  )r3  r‡  rÖ  rÙ  rö  )r   Únamespace_prefixrh  s      r   r   zBaseOperatorName.__str__/
  s›   € Ø48´NÐJ˜dœnÐ0Ð0Ð0Ð0ÈÐØÔð 	7Ø”|Ð+��¨ˆAØ&Ð:Ð:¨!Ð:¨T¬YÐ:Ð:Ð:Ð:ð ”<ð��ð Ô+ð�]�]àð ð 'Ð6¨¬	Ð6°1Ð6Ð6Ð6r   )rñ  r   r   r‹  r   )	r   r    r!   r"   rö  r3  rÎ   rF   r   r#   r   r   r‹  r‹  Ö	  sŽ   € € € € € € à€I€I�IØ€M€M�MØÐÐÑð( !&ÐÐ%Ð%Ð%Ñ%ð  $€IÐ#Ð#Ð#Ñ#àð6ð 6ð 6ñ „\ð6ðp7ð 7ð 7ð 7ð 7ð 7r   r‹  c                  ó\   — e Zd ZU ded<   ded<   edd„¦   «         Zdd„Zdd	„Zdd
„Zdd„Z	dS )ri  r‹  r:   r   rd  r  r   c                óú   — d| v r|                       dd¦  «        \  }}n| }d}t          t                               |¦  «        |¬¦  «        }t	          |¦  «        | k    sJ t	          |¦  «        › d| › �¦   «         ‚|S )Nú.r)  r(   rc  ré  )rþ   ri  r‹  rF   r   )r  r:   rd  rÞ   s       r   rF   zOperatorName.parseF
  sˆ   € à�'ˆ>ˆ>Ø")§-¢-°°QÑ"7Ô"7ÑˆD�-�-àˆDØˆMÝÕ.×4Ò4°TÑ:Ô:È-ÐXÑXÔXˆÝ�1‰vŒv˜Ò Ð Ð ¥S¨¡V¤VÐ":Ð":°Ð":Ð":Ñ Ô Ð Øˆr   c                óB   — | j         r| j        › d| j         › �S | j        › S )Nr‰  ©rd  r:   r   s    r   r   zOperatorName.__str__Q
  ó0   € ØÔð 	"Ø”iÐ6Ð6 $Ô"4Ð6Ð6Ð6à”i�>Ð!r   c                óB   — | j         r| j        › d| j         › �S | j        › S )Nr  r‹  r   s    r   Úunambiguous_namezOperatorName.unambiguous_name\
  rŒ  r   c                óv   — t          t          | j        j        d| j        j        ¬¦  «        | j        ¬¦  «        S ©NFr†  rc  )ri  r‹  r:   rÙ  r‡  rd  r   s    r   Úremove_inplacezOperatorName.remove_inplaceb
  sE   € ÝÝ!Ø”Y”^ØØ"œiÔ5ðñ ô ð
 Ô,ð
ñ 
ô 
ð 	
r   Úoverloadc                ól   — t          t          | j        j        d| j        j        ¬¦  «        |¬¦  «        S r�  )ri  r‹  r:   rÙ  r‡  )r   r’  s     r   Úwith_overloadzOperatorName.with_overloadl
  sB   € ÝÝ!Ø”Y”^ØØ"œiÔ5ðñ ô ð
 #ð
ñ 
ô 
ð 	
r   N)r  r   r   ri  r   )r   ri  )r’  r   r   ri  )
r   r    r!   r"   rÎ   rF   r   rŽ  r‘  r”  r#   r   r   ri  ri  A
  sœ   € € € € € € àÐÐÑØÐÐÑàðð ð ñ „\ðð"ð "ð "ð "ð"ð "ð "ð "ð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 
ð 
r   ri  rí  r  Úbc                ó¬   — | j                              ¦   «         t          j        uo/|                     | ¦  «         o|                     |j        ¦  «        S r8   )r5  r¶  r·  rá  r%  )rí  r  r•  s      r   Ú"gets_generated_out_inplace_wrapperr—  w
  sI   € ð 	
Œ�Š‰Œ�ZÔ2Ð2ð 	'Ø—’˜Q‘”Ðð	'à�LŠL˜œÑ&Ô&ðr   c                  ót   — e Zd ZU ded<   ded<   ded<   dd„Zd	d
œdd„Zedd„¦   «         Zedd„¦   «         ZdS )ÚNativeFunctionsViewGroupr2  Úviewræ  Ú	view_copyÚview_inplacer   r¤  c                óŒ  — | j         j        sJ ‚| j        €St          | j         ¦  «        r>J t	          | j         j        j        ¦  «        › dt          | j         ¦  «        ›d�¦   «         ‚nÂ| j        j        j        j        j         	                    d¦  «        sJ ‚| j         j         
                    ¦   «         | j        j         
                    d¬¦  «        k    sJ ‚d| j        j        v sBJ t	          | j        j        j        ¦  «        t	          | j         j        ¦  «        f› d�¦   «         ‚| j        �@| j         j         
                    ¦   «         | j        j         
                    ¦   «         k    sJ ‚| j         j        r[| j        �T| j        j        sHJ t	          | j         j        j        ¦  «        › dt	          | j        j        j        ¦  «        › d	�¦   «         ‚| j         j        r[| j        �V| j        j        sLJ t	          | j         j        j        ¦  «        › dt	          | j        j        j        ¦  «        › d
�¦   «         ‚d S d S d S )Nz‰ appears to be a new operator that aliases its inputs. The codegen expects you to add a corresponding operator to native_functions.yaml: z3. See Note [view_copy NativeFunctions] for details.)r~  r  Tr‘  r›  zÀ appears to be a view_copy operator. The codegen expects view_copy operators to be annotated with the 'view_copy' tag in native_functions.yaml. See Note [view_copy NativeFunction] for details.rê  z] must either both have CompositeImplicitAutograd kernels, or both not have composite kernels.zi must either both have CompositeImplicitAutogradNestedTensor kernels, or both not have composite kernels.)rš  rÔ  r›  Úgets_generated_view_copyr   r5  r:   Úget_view_copy_namerÙ  rƒ  rô  rM  rœ  rI  rJ  r   s    r   r¿  z&NativeFunctionsViewGroup.__post_init__–
  s›  € ØŒyÔ#Ð#Ð#Ð#ØŒ>Ð!Ý/°´	Ñ:Ô:ð ð Ý�t”y”~Ô*Ñ+Ô+ð Eð Eå& t¤yÑ1Ô1ðEð Eð Eñô ð ð ð ”>Ô&Ô+Ô0Ô5×>Ò>Ð?TÑUÔUÐUÐUÐUØ”9”>×+Ò+Ñ-Ô-°´Ô1D×1NÒ1NØ%)ð 2Oñ 2ô 2ò ð ð ð ð  $¤.Ô"5Ð5Ð5Ð5Ý�t”~Ô*Ô/Ñ0Ô0µ#°d´i´nÑ2EÔ2EÐFð Dð Dð Dñ 6Ô5Ð5ð
 ÔÐ(Ø”9”>×+Ò+Ñ-Ô-°Ô1BÔ1G×1QÒ1QÑ1SÔ1SÒSÐSÐSÐSàŒ9Ô;ð 	ØÔ Ð,ØÔ(ÔOð ð Ý˜4œ9œ>Ô.Ñ/Ô/ð hð hµc¸$Ô:KÔ:PÔ:UÑ6VÔ6Vð hð hð hñô ð ð Œ9ÔIð 	ØÔ Ð,ØÔ(Ô]ð ð Ý˜4œ9œ>Ô.Ñ/Ô/ð tð tµc¸$Ô:KÔ:PÔ:UÑ6VÔ6Vð tð tð tñô ð ð	ð 	Ø,Ð,ðð r   T)Úinclude_copyr   rá   rÿ  c             #  óh   K  — | j         V — | j        �	| j        V — | j        �|r| j        V — d S d S d S r8   )rš  rœ  r›  )r   r   s     r   rõ  z"NativeFunctionsViewGroup.functions¹
  sX   è è € ØŒiˆˆˆØÔÐ(ØÔ#Ð#Ð#Ð#ØŒ>Ð%¨,Ð%Ø”.Ð Ð Ð Ð Ð ð &Ð%Ð%Ð%r   r   c                ó   — | j         j        S r8   )rš  rÚ  r   s    r   rÚ  z"NativeFunctionsViewGroup.root_nameÀ
  s   € àŒyÔ"Ð"r   c                ó   — | j         j        S r8   )rš  rI  r   s    r   Ú	compositez"NativeFunctionsViewGroup.compositeÄ
  s   € ð ŒyÔ?Ð?r   NrÝ  )r   rá   r   rÿ  r   rÞ  )	r   r    r!   r"   r¿  rõ  rß  rÚ  r¤  r#   r   r   r™  r™  Œ
  sº   € € € € € € àÐÐÑð %Ð$Ð$Ñ$à'Ð'Ð'Ñ'ð!ð !ð !ð !ðF 15ð !ð !ð !ð !ð !ð !ð ð#ð #ð #ñ „Xð#ð ð@ð @ð @ñ „Xð@ð @ð @r   r™  c                ó–   — | j         sdS | j        rdS d| j        v rdS | j        j        j        j                             d¦  «        rdS dS )NFrÈ  Ú_inverseT)rÔ  rI  rM  r5  r:   rÙ  rƒ  )rí  s    r   rž  rž  Ë
  sa   € àŒ<ð Øˆuð 	Ô/ð Øˆuà˜œÐÐØˆuð 	„v„{ÔÔ×%Ò% jÑ1Ô1ð ØˆuØˆ4r   c                ó  — dg}t          | j        j        ¦  «        |vrt          | ¦  «        sJ ‚| j        j        j        j        › d�}t          t          |d| j        j        j        j        ¬¦  «        | j        j        j        ¬¦  «        }|S )NÚnarrowr~  Fr†  rc  )	r   r5  r:   rž  rÙ  ri  r‹  r‡  rd  )rí  Ú-list_of_ops_with_explicit_view_copy_operatorsrŒ  Úview_copy_names       r   rŸ  rŸ  â
  s›   € ð 6>°JÐ1Ý
ˆ1Œ6Œ;ÑÔÐLÐLÐLÝ'¨Ñ*Ô*Ð*Ð*Ð*à”6”;Ô#Ô(Ð/Ð/Ð/€IÝ!ÝØ E¸¼¼Ô9IÔ9Wð
ñ 
ô 
ð ”f”kÔ/ð	ñ ô €Nð Ðr   rB  r-  c                ó®   — | dk    rdS | d         dk    r| d         dk    r
| dd…         } t          d„ |                      d	¦  «        D ¦   «         ¦  «        S )
z$
    Input: '()'
    Output: []
    z()r#   r   r  r  r  r)  c              3  óJ   K  — | ]}t                                |¦  «        V — Œd S r8   )rz  rF   r±  s     r   rØ   z parse_returns.<locals>.<genexpr>  s.   è è € ÐFÐF s•—’˜cÑ"Ô"ÐFÐFÐFÐFÐFÐFr   rý   )r‰  rþ   )rB  s    r   r>  r>  ú
  sj   € ð
 �dÒÐØˆrØ�1„~˜ÒÐ ¨R¤°CÒ!7Ð!7Ø! ! B $Ô'ˆÝÐFÐF¨k×.?Ò.?ÀÑ.EÔ.EÐFÑFÔFÑFÔFÐFr   c                  óL   — e Zd ZU ded<   ded<   edd„¦   «         Zdd
„Zdd„ZdS )rx  zdict[str, list[Argument]]rˆ  rU  r  ÚsrcÚobjectr   c                ó  — t          | t          ¦  «        sJ ‚g }d| d         vr1| d                              d¦  «        }d„ |D ¦   «         }| d d…         } i }| D ]w}t          |t          ¦  «        sJ ‚d|v s
J d¦   «         ‚|                     d¦  «        \  }}d|vsJ d|› d�¦   «         ‚|                     d¦  «        }d	„ |D ¦   «         }|||<   Œxt	          ||¬
¦  «        }	|	                     ¦   «         | k    s
J d¦   «         ‚|	S )Nr«  r  r^  c                óf   — g | ].}t                                |                     ¦   «         ¦  «        ‘Œ/S r#   ©r/  rF   r}  ©r0   r:   s     r   r2   z$Precompute.parse.<locals>.<listcomp>  s,   € ÐJÐJÐJ¸�Ÿš t§z¢z¡|¤|Ñ4Ô4ÐJÐJÐJr   zLprecomputed parameters without replacement are allowed only in the last liner  zillegal kernel param name 'z' in precomputed parameters'c                óf   — g | ].}t                                |                     ¦   «         ¦  «        ‘Œ/S r#   r²  r³  s     r   r2   z$Precompute.parse.<locals>.<listcomp>/  s,   € ÐQÐQÐQ¸t�hŸnšn¨T¯ZªZ©\¬\Ñ:Ô:ÐQÐQÐQr   )rˆ  r  zr.to_list() != src)rp  rt  rþ   r   rx  Úto_list)
r®  Úadd_argsÚadd_listrˆ  Úraw_replace_itemr²  Úwith_list_rawÚ	with_listÚwith_list_argsrÞ   s
             r   rF   zPrecompute.parse  sV  € å˜#�tÑ$Ô$Ð$Ð$Ð$ð ˆØ˜˜RœÐ Ð Ø˜2”w—}’} SÑ)Ô)ˆHØJÐJÀÐJÑJÔJˆHØ�c�r�c”(ˆCàˆØ #ð 	*ð 	*ÐÝÐ.µÑ4Ô4Ð4Ð4Ð4ØÐ-Ð-Ð-Ð-ð5ñ .Ô-Ð-ð
 "2×!7Ò!7¸Ñ!?Ô!?ÑˆC�Ø˜c�>�>�>ØO¨cÐOÐOÐOñ "”>�>ð &×+Ò+¨CÑ0Ô0ˆIØQÐQÀyÐQÑQÔQˆNØ)ˆG�C‰LˆLå˜w¨HÐ5Ñ5Ô5ˆØ�yŠy‰{Œ{˜cÒ!Ð!Ð!Ð#7Ñ!Ô!Ð!Øˆr   r¤  c                óì   — | j         D ]&}|j                             ¦   «         |j        k    sJ ‚Œ'| j                             ¦   «         D ]+}|D ]&}|j                             ¦   «         |j        k    sJ ‚Œ'Œ,d S r8   )r  r:   Úupperrˆ  rú   )r   r«  rA  s      r   r¿  zPrecompute.__post_init__6  s�   € ð ”ð 	,ð 	,ˆAØ”6—<’<‘>”> Q¤VÒ+Ð+Ð+Ð+Ð+Ø”L×'Ò'Ñ)Ô)ð 	0ð 	0ˆDØð 0ð 0�Ø”v—|’|‘~”~¨¬Ò/Ð/Ð/Ð/Ð/ð0ð	0ð 	0r   rA  c                óº   — g }| j                              ¦   «         D ]>\  }}d                     d„ |D ¦   «         ¦  «        }|                     |› d|› �¦  «         Œ?|S )Nrý   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r8   rï  )r0   Úparams     r   rØ   z%Precompute.to_list.<locals>.<genexpr>B  s(   è è € Ð$PÐ$P°E¥S¨¡Z¤ZÐ$PÐ$PÐ$PÐ$PÐ$PÐ$Pr   r«  )rˆ  rA   rÝ   ry  )r   Úreplace_listÚkernel_paramÚreplacement_paramsÚreplacementss        r   rµ  zPrecompute.to_list?  sx   € ØˆØ04´×0BÒ0BÑ0DÔ0Dð 	Eð 	EÑ,ˆLÐ,ØŸ9š9Ð$PÐ$PÐ=OÐ$PÑ$PÔ$PÑPÔPˆLØ×Ò <Ð CÐ C°\Ð CÐ CÑDÔDÐDÐDàÐr   N)r®  r¯  r   rx  rÝ  rp  )r   r    r!   r"   rÎ   rF   r¿  rµ  r#   r   r   rx  rx  	  sw   € € € € € € ð 'Ð&Ð&Ñ&àÐÐÑàð"ð "ð "ñ „\ð"ðH0ð 0ð 0ð 0ðð ð ð ð ð r   rx  r   )rà   r6   r   rá   )rí  r2  r  rå  r•  r  r   rá   )rí  r2  r   rá   )rí  r2  r   ri  )rB  r   r   r-  )vÚ
__future__r   rS  r6  rœ  r   Úenumr   r   Útypingr   r   r	   Útyping_extensionsr
   Útorchgen.utilsr   r   Úcollections.abcr   r   r   r%   r†  rþ   rÜ   rÚ   ÚAUTOGRAD_KEYSÚFRAGMENT_NAMESPACESr6   rÐ   rß   r×   rÖ   ÚhasattrrÞ   Úprintrø  ry   ru   rt   r{   rx   rë   rî   r’   r¡   rR   r™   r¨   r“   r¢   rƒ   r„   ro   rp   rq   rr   r°   r±   r·   r¸   r   r�   r¬   rŽ   r»   rY   r~  rå   rç   ré   rì   rï   Údispatch_device_mapró   rÿ   r"   r  r  r  r  r  r
  r  r  r  r  r(  r-  r2  r·  rå  r  r‡  r  r4  rŸ  r­  rS  rR  r³  rµ  r´  r/  rz  r  r!  r,  r�  r‹  ri  r—  r™  rž  rŸ  r>  rx  r#   r   r   ú<module>rÐ     s  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ð ð 3Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ð: €�$ÐÑÔð*ð *ð *ð *ð *ñ *ô *ñ Ôð*ðð ð ð ð ˆdñ ô ð ð (Ð ð n×sÒsÑuÔuÐ ðð ð Ð ð (Ð(ð ,ð ,Ø,>ð,ñ ,ô ,ñ €ð #Ð$:Ð;Ð ð
_>ð _>ð _>ð _>ð _>�$ñ _>ô _>ð _>ðDð ð ð ð ˜Dñ ô ð ðð ð ð ð ð ð €BØ ð ð ˆØˆw�{ B¨¡GÑ,Ô,ð 	Ø+Ð+Ñ-Ô-ˆAØˆE�!‰HŒHˆHØ�,Øt˜2Ðt˜rÐtÐtÐqrÐtÐtñô ð ð	ðð „OØÔØ„OØ„OØÔðÐ ð #Ô'¨¬Ð9Ð ð „OØÔØÔØÔØÔØ„OØ„OØÔØÔØÔØÔØÔØÔØÔ)ØÔ5ØÔ)ØÔ6ØÔØÔ ØÔØÔð ÔØÔØÔØÔØÔ ØÔØÔð=€ðHð ð ð ðð ð ð ðð ð ð ð*ð *ð *ð *ð%ð %ð %ð %ð
 ,¨VÐ5HÈ%ÐPÐ ð,ð ,ð ,ð ,ð ,�ñ ,ô ,ð ,ð^ 46€Ð 5Ð 5Ð 5Ñ 5à&˜JàŒØŒØŒØŒØÔðñô €ˆjÑ ð '˜J¨
Ô(8¸*Ô:KÐ'LÑMÔM€ˆjÑ Ø%˜:ØÔ˜jÔ6Ð7ñô €ˆiÑ ð % ZÔ0°=ÀÔ3LÑL€ˆeÑ Ø!.¨uÔ!5¸ÀiÔ8PÑ!P€ˆoÑ à�*Ô ¨iÔ 8Ñ8ð Ð"Ñ #ð;ð ;ð ;ð ;ð ;ˆtñ ;ô ;ð ;ð4ð ð ð ð �dñ ô ð ð
ð ð ð ð �Tñ ô ð ð$ €�$ÐÑÔðf	Gð f	Gð f	Gð f	Gð f	Gñ f	Gô f	Gñ Ôðf	GðRð ð ð ð �ñ ô ð ð €�$ÐÑÔðq
ð q
ð q
ð q
ð q
ñ q
ô q
ñ Ôðq
ðh €�$ÐÑÔð(ð (ð (ð (ð (ñ (ô (ñ Ôð(ð, €�$ÐÑÔð
ð 
ð 
ð 
ð 
ñ 
ô 
ñ Ôð
ð6 €�$ÐÑÔð8ð 8ð 8ð 8ð 8ñ 8ô 8ñ Ôð8ð` €�$ÐÑÔðt@ð t@ð t@ð t@ð t@ñ t@ô t@ñ Ôðt@ð~ €�$ÐÑÔð1ð 1ð 1ð 1ð 1ñ 1ô 1ñ Ôð1ðt €�$ÐÑÔð2"ð 2"ð 2"ð 2"ð 2"ñ 2"ô 2"ñ Ôð2"ðlð ð ð ð ˆTñ ô ð ð. €�$ÐÑÔð*ð *ð *ð *ð *ˆtñ *ô *ñ Ôð*ð( €�$ÐÑÔð(ð (ð (ð (ð (�4ñ (ô (ñ Ôð(ð( €�$ÐÑÔðð ð ð ð �dñ ô ñ Ôðð@ €�$ÐÑÔðð ð ð ð ˆtñ ô ñ Ôðð* €�$ÐÑÔðW5ð W5ð W5ð W5ð W5ñ W5ô W5ñ ÔðW5ðt €�$ÐÑÔð4)ð 4)ð 4)ð 4)ð 4)ñ 4)ô 4)ñ Ôð4)ðp €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð €�$ÐÑÔðGð Gð Gð Gð Gñ Gô Gñ ÔðGð €�$ÐÑÔðr
ð r
ð r
ð r
ð r
ñ r
ô r
ñ Ôðr
ðp	ð ð Ð ð* €�$ÐÑÔðe7ð e7ð e7ð e7ð e7ñ e7ô e7ñ Ôðe7ðT €�$ÐÑÔð2
ð 2
ð 2
ð 2
ð 2
ñ 2
ô 2
ñ Ôð2
ðjð ð ð ð* €�$ÐÑÔð;@ð ;@ð ;@ð ;@ð ;@ñ ;@ô ;@ñ Ôð;@ð|ð ð ð ð.ð ð ð ð0	Gð 	Gð 	Gð 	Gð €�$ÐÑÔð;ð ;ð ;ð ;ð ;ñ ;ô ;ñ Ôð;ð ;ð ;r   