+
    bIi                        Rt RtRt^ RIt ! R R 4      t]P
                  ! R4      t]P
                  ! R4      t ! R R]4      t]	R	8X  d   RR
 lt
]
! RR^RR7       ]
! RR^RR7       ]
! RRRRR7       ]
! RR^ RR7       ]
! RR^4       ]
! RR^4       ]
! RRR4       ]
! RR^ 4       ]
! RR^4       ]
! RR^4       ]
! RRR4       ]
! RR^ 4       R# R# ) 	FormatterDecimalFormatterz3.3.0z]
These help format numbers and dates in a user friendly way.
Used by the graphics framework.
Nc                   <   a  ] tR t^t o RtR tR tR tR tRt	V t
R# )r   z5Base formatter - simply applies python format stringsc                    Wn         R # Npattern)selfr   s   &&ځC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\reportlab/lib/formatters.py__init__Formatter.__init__   s        c                (    V P                   V,          # r   r   )r	   objs   &&r
   formatFormatter.format   s    ||c!!r   c                R    V P                   P                  : R V P                  : R2# )z('z'))	__class____name__r   r	   s   &r
   __repr__Formatter.__repr__   s    !^^44dllCCr   c                $    V P                  V4      # r   )r   )r	   xs   &&r
   __call__Formatter.__call__   s    {{1~r   r   N)r   
__module____qualname____firstlineno____doc__r   r   r   r   __static_attributes____classdictcell____classdict__s   @r
   r   r      s"     ;"D r   z^\d*\.z0+$c                   @   a  ] tR t^t o RtRR ltR tR tR tRt	V t
R# )	r   zlets you specify how to build a decimal.

A future NumberFormatter class will take Microsoft-style patterns
instead - "$#,##0.00" is WAY easier than this.Nc                t    VR 8X  d   V P                   V n        MWn        W n        W0n        W@n        WPn        R# )autoN)_calcPlaces
calcPlacesplacesdotcommaprefixsuffix)r	   r)   
decimalSepthousandSepr,   r-   s   &&&&&&r
   r   DecimalFormatter.__init__    s/    6>"..DO K 
r   c                    \        V Uu. uF?  p\        \        P                  R\        P                  R\        V4      4      4      4      NKA  	  up4      V n        R# u upi )zMcalled with the full set of values to be formatted so we can calculate places N)maxlen_tz_resub_ld_restrr)   )r	   Vvs   && r
   r'   DecimalFormatter._calcPlaces*   s?    aPa3vzz"VZZ3q6-BCDaPQPs   AAc                   V^ 8  pV'       d   V) pV P                   V P                  rCV^ 8*  pV'       d   V'       d   V) pR\        V4      ,           R,           V,          pV'       dD   VP                  R4      w  rgWG,           pV'       d    V'       d   VR,          RV39   d   VRR pK  MRpV P                  eD   RpV'       d8   V^ R	 VR	R rV	R8X  d
   W,           pMV P                  V
,           V,           pT	pK?  TpWg,           pV'       d
   RV,           pV P
                  '       d   V P
                  V,           pV P                  '       d   WP                  ,           pV# )
    z%.f.0Nr2   -)r)   r*   r8   splitr+   r,   r-   )r	   numsignr)   sepstripstrIntstrFracstrNewleftrightstrBodys   &&          r
   r   DecimalFormatter.format.   s#   U$Ckk488	evgVV$s*c1$ll3/OFmG'"+#c":gcrlGG::!F$QrlF23Ke2:"^F!ZZ%/&8FF"3=;;;kkG+G;;;+Gr   c           	         R V P                   P                  V P                  \        V P                  4      \        V P
                  4      \        V P                  4      \        V P                  4      3,          # )zB%s(places=%d, decimalSep=%s, thousandSep=%s, prefix=%s, suffix=%s))r   r   r)   reprr*   r+   r,   r-   r   s   &r
   r   DecimalFormatter.__repr__S   sX    SNN++KKN$%%W  	r   )r(   r+   r*   r)   r,   r-      r?   NNN)r   r   r   r   r   r   r'   r   r   r    r!   r"   s   @r
   r   r      s%     6R#J r   __main__c                     \        W#WEV4      pV! V 4      p\        R VP                  VP                  VP                  VP
                  VP                  YV8H  ;'       d    R;'       g    R3,          4       R# )zEplaces=%2d dot=%-4s comma=%-4s prefix=%-4s suffix=%-4s result=%10s %sOKBADN)r   printr)   r*   r+   r,   r-   )	nsr)   r.   r/   r,   r-   r>   rs	   &&&&&&&  r
   tr]   ^   s    
6[
GaDUXYX`X`bcbgbgijipiprsrzrz|}  }E  }E  FG  LM  IM  IV  IV  RV  I_  I_  Z_  X`  `  	ar   g33333G@z1,000.9,)r/   gG@z1,001.0z1,001z1000.9z1001.01001g@@z1000.1gfffffD@z1000.6g;OC@z1000.4gC@1000)r   r   rS   rB   )__all____version__r   rer   compiler7   r5   r   r   r]    r   r
   <module>rf      s  
 	)	 
	 	 
zz)	zz%@y @D Za fYqS)gic*ggbS)fWQ3'fXaghqgfRfVAfXaghqhxgfQ! r   