
    Mh                     &    d  Z  G d d          ZdS )c                      dd fd
}|S )z{
    Decorator for allowing to use method as normal method or with
    context manager for auto-indenting code blocks.
    T)optimizec                    | j         } | |g|R i |}|r||k    r| j                                         || _         t          | |          S N)_indent_last_line_codepopIndent)selfliner   argskwds	last_linefuncs         U/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/fastjsonschema/indent.pywrapperzindent.<locals>.wrapper   sj    *	tD$......  		T))JNN!%dD!!!     )r   r   s   ` r   indentr      s2    
 -1 " " " " " " " Nr   c                        e Zd Zd Zd Zd ZdS )r	   c                 "    || _         || _        d S r   )instancer   )r
   r   r   s      r   __init__zIndent.__init__   s     			r   c                 0    | j         xj        dz  c_        d S N   )r   _indent)r
   s    r   	__enter__zIndent.__enter__   s    "r   c                 R    | j         xj        dz  c_        | j        | j         _        d S r   )r   r   r   r   )r
   type_value	tracebacks       r   __exit__zIndent.__exit__   s*    "*.)'''r   N)__name__
__module____qualname__r   r   r"   r   r   r   r	   r	      sA          # # #4 4 4 4 4r   r	   N)r   r	   r   r   r   <module>r&      sF     "
4 
4 
4 
4 
4 
4 
4 
4 
4 
4r   