o
    "j                     @  sv  U d dl mZ d dlZd dlmZ d dlmZmZmZ ddl	m
Z
 er2eeegef Zeegef Zejdejfejdejfejd	ejfejd
ejfejdejfejdejfejdejfejdejfejdejfejdej fej!dej"fej#dej$fej%dej&fej'dej(fiZ)de*d< i ejdejdej+dej,dej-dejdej.dej/dej0dej1d ejd!ej2d"ejd#ejd$ejd%ej3d&ejd'ej d(ej"d)ej$d*ej&d+ej(d,iZ4d-e*d.< ej5d/ej6d0ej7d1ej8d2ej9d3ej:d4ej6d0ej;d5ej7d1ej<d6e=d6e8d2e>d7e?d8e@d9iZAd:e*d;< eBe)C ZDeBe4C ZEeDeEB ZFeBeAC ZGeG d<d= d=ZHdDdBdCZIdS )E    )annotationsN)	dataclass)TYPE_CHECKINGAnyCallable   )hashable__iadd____iand____iconcat____ifloordiv____ilshift____imatmul____imod____imul____ior____ipow____irshift____isub____itruediv____ixor__z$dict[BinaryOp, tuple[str, BinaryOp]]!INPLACE_BINARY_OPS_TO_MAGIC_NAMES)__add____radd__)__and____rand__)__contains__N)__delitem__N)__eq__r   )__floordiv____rfloordiv__)__ge____le__)__getitem__N)__gt____lt__)r"   r!   )
__lshift____rlshift__)r%   r$   )
__matmul____rmatmul__)__mod____rmod__)__mul____rmul__)__ne__r.   )__or____ror__)__pow____rpow__)
__rshift____rrshift__)__sub____rsub__)__truediv____rtruediv__)__xor____rxor__z&dict[BinaryOp, tuple[str, str | None]]%NON_INPLACE_BINARY_OPS_TO_MAGIC_NAMES__neg__
__invert____pos____abs__	__index____inv____not____bool__	__float____len____int__zdict[UnaryOp, str]UNARY_OPS_TO_MAGIC_NAMESc                   @  s.   e Zd ZU ded< dZded< dZded< dS )MagicMethodstrnameFbool
is_inplace
is_reverseN)__name__
__module____qualname____annotations__rL   rM    rR   rR   c/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/paddle/jit/sot/utils/magic_methods.pyrH   d   s   
 rH   fnBinaryOp | UnaryOpreturnlist[MagicMethod]c                 C  s   t | sg S | tv rt|  \}}t|ddgt| S | tv r9t|  \}}t|g}|d ur7|t|dd |S | tv rFt	|  }t|gS g S )NT)rL   )rM   )
r   INPLACE_BINARY_OPSr   rH   magic_method_builtin_dispatchNON_INPLACE_BINARY_OPSr;   append	UNARY_OPSrG   )rT   Zinplace_magic_nameZnon_inplace_opZ
magic_nameZreverse_magic_nameZmagic_methodsrR   rR   rS   rY   k   s0   



rY   )rT   rU   rV   rW   )J
__future__r   operatordataclassesr   typingr   r   r   utilsr   ZBinaryOpUnaryOpiaddaddiandand_iconcatconcat	ifloordivfloordivilshiftlshiftimatmulmatmulimodmodimulmulioror_ipowpowirshiftrshiftisubsubitruedivtruedivixorxorr   rQ   containsdelitemeqgegetitemgtleltner;   neginvertposabsindexinvnot_truthrK   floatlenintrG   setkeysrX   rZ   Z
BINARY_OPSr\   rH   rY   rR   rR   rR   rS   <module>   s   	

