
    eg                        d Z dZ	 ddlmZ ddlZd Z		 i i fdZ
d Zed	k(  r?dd
lmZ i ZddZddlmZ ddiZdZdZ G d d      Z e ed             ddZ ed       yy# e$ r! ddlmZ ddlZ ej                  e      Z[[Y {w xY w)z3.3.0z.Apparently not used anywhere, purpose unknown!    )	tokenprog)TokenNc                 n    t        j                  | |      }|t        | |      ||j                         fS )N)r   match
ValueErrorend)textposr   s      T/var/www/django_project/virt/lib/python3.12/site-packages/reportlab/lib/extformat.py_matchorfailr      s4    	s	#	MD#..uyy{    c                 8   | }i }g }d}d}	 |j                  d|      }|dk  rn||dz      }	|	dk(  r|j                  |||        |dz   d}
}|
r>t        ||      \  }}|j                  d   \  }}||| }|dk(  r|
dz   }
n
|dk(  r|
dz
  }
|
r>d|z  }|dz  }t	        ||dz   |dz
   ||      ||<   |j                  d	|z         n!|dz   |	dk(  z   }|j                  |||        |}|t        |      k  r|j                  ||d         d
j                  |      |z  S )Nr      %(      )z__superformat_%dz%%(%s) )findappendr   regsevallenjoin)_formatLGformatSchunksr
   npcnextcharlevelr   tstarttendtokenvnamencs                    r   
dictformatr+      sd   

{{3"!VUBqD\(_	==B 1a3	fc*JE3::a=LFD6$E|U1WU	#uQwu 
 !5616"Q$s1u%a*1U8	==E!"
1hm2	==B 	3+ 	. #f+v}}VCD\2	Ar   c                 n    t        j                  d      }t        | |j                  |j                        S )z<Evaluate and substitute the appropriate parts of the string.r   )sys	_getframer+   f_locals	f_globals)r   frames     r   magicformatr2   :   s'    	q	6%..%//::r   __main__)DecimalFormatterc                 z    	 t         ||f   } ||       S # t        $ r t        |||      x}t         ||f<   Y ,w xY w)N)places
decimalSepthousandSep)_DFKeyErrorr4   )r"   dpdsts_dfs        r   dfr?   B   sN    O	RU3 
Q- 
 O&bB2NN3RUOs    "::)r2   abc)abcgOAgS@c                       e Zd ZdZy)dingor   N)__name__
__module____qualname__a r   r   rD   rD   N   s    !r   rD   z
$%%(df(x,dp=3))s --> $%(df(x,dp=3))s
$%%(df(x,dp=2,ds=',',ts='.'))s --> $%(df(x,dp=2,ds=',',ts='.'))s
%%(percent).2f%%%% --> %(percent).2f%%
%%(dingo.a)s --> %(dingo.a)s
%%(Z['abc'][0])s --> %(Z['abc'][0])s
c                     dd} |d       y )Nc                 ,    t        t        d             y )Nzbb=%(bb)s Z=%(Z)r)printr2   )bbs    r   func1zfunc0.<locals>.func1X   s    +)
*,r   BB)r   rI   )aarN   s     r   func0rQ   W   s    -+r   AA)r   .,)r   )__version____doc__tokenizer   ImportErrorr   recompiler-   r   r+   r2   rE   reportlab.lib.formattersr4   r9   r?   reportlab.lib.extformatZxpercentrD   rL   rQ   rI   r   r   <module>r`      s    < 

   D;
 Z6 1	:	   	  t9 q  
RZZ
B	s   A" "#BB