
    h                     <    S SK Jr  S SKJr  S SKJr       SS jrg)    )Decimal)settings)	mark_safeNc           	      <   U b  U S:X  a  [        U 5      $ Uc  SnU=(       a    [        R                  nU=(       d    UnU=(       a    US:g  n[        U [        5      (       a  U(       d  U(       d  [        U 5      $ Sn[        U [
        5      (       a1  S[        U 5      R                  5       ;   a  [        [        U 5      5      n [        U [        5      (       a  Ub8  [        SSR                  US5      -   5      n	[        U 5      U	:  a  [        S5      n U R                  5       u  pn[        U5      [        U5      -   S	:  aF  S
R                  U 5      n U R                  S5      u  p[        UUUUUUU5      nSR                  X5      $ SR                  U 5      nO[        U 5      nUS   S:X  a  SnUSS nSU;   a  UR                  S5      u  nnUb  USU nOUSnnUb  USU[        U5      -
  -  -  nU=(       a    UU-   nU(       a}   [        U5      nUR#                  S5      nSnSnUSSS2    HH  nU(       a4  UU:X  a.  U(       a  UR#                  S5      =(       d    UnUUSSS2   -  nSnUU-  nUS-  nMJ     USSS2   nX-   U-   $ ! [          a    US/n Nf = f)a,  
Get a number (as a number or string), and return it as a string,
using formats defined as arguments:

* decimal_sep: Decimal separator symbol (for example ".")
* decimal_pos: Number of decimal positions
* grouping: Number of digits in every group limited by thousand separator.
    For non-uniform digit grouping, it can be a sequence with the number
    of digit group sizes following the format used by the Python locale
    module in locale.localeconv() LC_NUMERIC grouping (e.g. (3, 2, 0)).
* thousand_sep: Thousand separator symbol (for example ",")
N Tr   ez0.10   z{:e}z{}e{}z{:f}-   .)r   r   USE_THOUSAND_SEPARATOR
isinstanceintfloatstrlowerr   rjustabsas_tuplelenformatsplitlist	TypeErrorpop)numberdecimal_sepdecimal_posgroupingthousand_sepforce_groupinguse_l10nuse_groupingsigncutoff_digitsexponentcoefficient
str_numberint_partdec_part	intervalsactive_intervalint_part_gdcntdigits                         K/var/www/html/env/lib/python3.13/site-packages/django/utils/numberformat.pyr   r      s   * ~2  ? ? ?L1>L1HML&#|K  D&%  SCK,=,=,?%?V%&'""" TCIIk3$??@F6{V#  %oo/8x=3v;&,]]6*F$*LL$5!K K >>+88v.J[
!}^

j'--c2("-H'(C;X6772K(2H	&XI $--*dd^Eso-&/mmA&6&I/O|DbD115 K1HC $ tt$?X%%  	&!1I	&s   J
 
JJ)Nr   r   FN)decimalr   django.confr   django.utils.safestringr   r        r5   <module>r;      s%       - b&r:   