
    ~f                         d  Z  G d d      Zy)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|i |}|r||k(  r| j                  j                          || _         t        | |      S N)_indent_last_line_codepopIndent)selfliner   argskwds	last_linefuncs         P/var/www/cvtools/html/venv/lib/python3.12/site-packages/fastjsonschema/indent.pywrapperzindent.<locals>.wrapper   sS    **	D$... 	T)JJNN!%dD!!     )r   r   s   ` r   indentr      s    
 -1 " Nr   c                       e Zd Zd Zd Zd Zy)r	   c                      || _         || _        y r   )instancer   )r
   r   r   s      r   __init__zIndent.__init__   s     	r   c                 B    | j                   xj                  dz  c_        y N   )r   _indent)r
   s    r   	__enter__zIndent.__enter__   s    "r   c                 x    | j                   xj                  dz  c_        | j                  | j                   _        y 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	      s    #4r   r	   N)r   r	   r   r   r   <module>r&      s   "
4 
4r   