
    c                         d Z d ZdS )z1py2/py3 metaclass utility, from jinja2 via Bokeh.c                 F     i } G  fdd           } |dd|          S )a  Add metaclasses in both Python 2 and Python 3.

    Function from jinja2/_compat.py. License: BSD.
    Use it like this::

        class BaseForm(object):
            pass

        class FormType(type):
            pass

        class Form(with_metaclass(FormType, BaseForm)):
            pass

    This requires a bit of explanation: the basic idea is to make a
    dummy metaclass for one level of class instantiation that replaces
    itself with the actual metaclass.  Because of internal type checks
    we also need to make sure that we downgrade the custom metaclass
    for one level to something closer to type (that's why __call__ and
    __init__ comes back from type etc.).

    This has the advantage over six.with_metaclass of not introducing
    dummy classes into the final MRO.
    c                   8    e Zd Zej        Zej        Z fdZdS )!with_metaclass.<locals>.metaclassc                 \    |t                               | |d|          S  ||          S )N )type__new__)clsname
this_basesdbasesmetas       Clib/python3.11/site-packages/anaconda_project/internal/metaclass.pyr   z)with_metaclass.<locals>.metaclass.__new__+   s7     6||Cr15554eQ'''    N)__name__
__module____qualname__r   __call____init__r   )r   r   s   r   	metaclassr   '   sA        ==	( 	( 	( 	( 	( 	( 	( 	(r   r   temporary_classNr   )r   r   emptyr   s   ``  r   with_metaclassr      s[    4 E( ( ( ( ( ( ( (D ( ( ( 9&e444r   N)__doc__r   r   r   r   <module>r      s&    8 7%5 %5 %5 %5 %5r   