JFIF$        dd7 

Viewing File: /opt/imunify360/venv/lib/python3.11/site-packages/attr/__pycache__/_next_gen.cpython-311.pyc

�

ۑ��ک�����dZddlmZddlmZddlmZddlmZ	ddl
mZmZm
Z
mZmZddlmZ	dd	d	d	d	d	d
dd
dd	ddd
d	dd
d	d	d	d
d�d
�ZeZeed
d	���Zed	d
d	d
d	d	d	d	dd	d	d	d	d�d�Zd
d	d	d�d�Zd
d	d�d�Zd	S)z]
These are keyword-only APIs that call `attr.s` and `attr.ib` with different
default values.
�)�partial�)�setters)�asdict)�astuple)�NOTHING�_frozen_setattrs�_ng_default_on_setattr�attrib�attrs)�UnannotatedAttributeErrorNTF)�these�repr�unsafe_hash�hash�init�slots�frozen�weakref_slot�str�auto_attribs�kw_only�
cache_hash�auto_exc�eq�order�auto_detect�getstate_setstate�
on_setattr�field_transformer�
match_argsc����������	�
���
�����������
��������������	���fd���
���fd�}|�|S||��S)a�
    Define an *attrs* class.

    Differences to the classic `attr.s` that it uses underneath:

    - Automatically detect whether or not *auto_attribs* should be `True` (c.f.
      *auto_attribs* parameter).
    - If *frozen* is `False`, run converters and validators when setting an
      attribute by default.
    - *slots=True*

      .. caution::

         Usually this has only upsides and few visible effects in everyday
         programming. But it *can* lead to some suprising behaviors, so please
         make sure to read :term:`slotted classes`.
    - *auto_exc=True*
    - *auto_detect=True*
    - *order=False*
    - Some options that were only relevant on Python 2 or were kept around for
      backwards-compatibility have been removed.

    Please note that these are all defaults and you can change them as you
    wish.

    :param Optional[bool] auto_attribs: If set to `True` or `False`, it behaves
       exactly like `attr.s`. If left `None`, `attr.s` will try to guess:

       1. If any attributes are annotated and no unannotated `attrs.fields`\ s
          are found, it assumes *auto_attribs=True*.
       2. Otherwise it assumes *auto_attribs=False* and tries to collect
          `attrs.fields`\ s.

    For now, please refer to `attr.s` for the rest of the parameters.

    .. versionadded:: 20.1.0
    .. versionchanged:: 21.3.0 Converters are also run ``on_setattr``.
    .. versionadded:: 22.2.0
       *unsafe_hash* as an alias for *hash* (for :pep:`681` compliance).
    c���tdid|�d��d��d�	�d��d�
�d��d��d	��d
��d|�d��d
��d��d��d��d��dd�d��d�
�d��d���S)N�	maybe_clsrrrrrrrrrrrrrrrr�collect_by_mroTrrr r!�)r)�clsrrrrrr rrrrrr!rrrrrrrrs  ��������������������n/builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib/python3.11/site-packages/attr/_next_gen.py�do_itzdefine.<locals>.do_itYs ����
�
�
��c�
��%�
���
���	
�
$��
���

��%�
��6�
�&��
���
�&��
��G�
�"�z�
��X�
��r�
� �%�!
�"$��#
�$ �4�%
�&0�/�'
�("�z�)
�*0�/�+
�,"�z�-
�	
�c����dtjfv}�dur	��t�|jD]/}|jt
ur|rt
d���tj�n�0���|���S	�|d��S#t$r�|d��cYSwxYw)z�
        Making this a wrapper ensures this code runs during class creation.

        We also ensure that frozen-ness of classes is inherited.
        NFz@Frozen classes can't use on_setattr (frozen-ness was inherited).T)r�NO_OPr
�	__bases__�__setattr__r	�
ValueErrorr
)r'�had_on_setattr�base_clsrr)rrs   ����r(�wrapzdefine.<locals>.wrapss����$�D�'�-�+@�@���U�?�?�z�1�/�J��
�		�		�H��#�'7�7�7�!��$�7����
%�]�
���8��#��5��l�+�+�+�	%��5��d�#�#�#��(�	%�	%�	%��5��e�$�$�$�$�$�	%���s�%A1�1B
�	B
r&)r$rrrrrrrrrrrrrrrrrrr r!r2r)s ```````````````````` @r(�definer3s������������������������B
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�4!%�!%�!%�!%�!%�!%�!%�!%�J�����t�I���r*)rr��default�	validatorrrr�metadata�type�	converter�factoryrrrr�aliasc�<�t||||||||||	|
|||
���S)a,
    Identical to `attr.ib`, except keyword-only and with some arguments
    removed.

    .. versionadded:: 23.1.0
       The *type* parameter has been re-added; mostly for
       {func}`attrs.make_class`. Please note that type checkers ignore this
       metadata.
    .. versionadded:: 20.1.0
    r4)rr4s              r(�fieldr=�sE��6���
�
�
��
����
�������r*)�recurse�filter�value_serializerc�*�t||||d���S)z�
    Same as `attr.asdict`, except that collections types are always retained
    and dict is always used as *dict_factory*.

    .. versionadded:: 21.3.0
    T)�instr>r?r@�retain_collection_types)�_asdict)rBr>r?r@s    r(rr�s*���
���)� $����r*)r>r?c�(�t|||d���S)z�
    Same as `attr.astuple`, except that collections types are always retained
    and `tuple` is always used as the *tuple_factory*.

    .. versionadded:: 21.3.0
    T)rBr>r?rC)�_astuple)rBr>r?s   r(rr�s$���
�7�6�4����r*)N)�__doc__�	functoolsr�r�_funcsrrDrrF�_makerr	r
rr�
exceptionsr
r3�mutablerr=r&r*r(�<module>rNs�����������������%�%�%�%�%�%�'�'�'�'�'�'���������������2�1�1�1�1�1��C��	
��	
�	
�
���
����
��
������-C�C�C�C�C�L��	�����	6�	6�	6��

��	
�	
�	
�
�	
�����
��
�*�*�*�*�*�Z!���
�
�
�
�
� "�$�	�	�	�	�	�	�	r*
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg