
    g5)                         d dl Z d dlmZ d dlmZmZ d dlmZ ddlm	Z	m
Z
 dZ ed      Zd	 Z ed
      Z ed      Z ed      Z ed      Z ed      Z ed      ZddZy)    N)StringIO)Lexer	TokenType)_lazy_re_compile   )TranslatorCommentWarningtrim_whitespaceTranslatorsz\Sc                 .    t         j                  ||       S )zg
    Change every non-whitespace character to the given char.
    Used in the templatize function.
    )dot_resub)srcchars     y/var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/utils/translation/template.pyblankoutr      s    
 ::dC      z.^\s+.*context\s+((?:"[^"]*?")|(?:'[^']*?'))\s*z^\s*trans(?:late)?\s+((?:"[^"]*?")|(?:'[^']*?'))(?:\s*\|\s*[^\s:]+(?::(?:[^\s'":]+|(?:"[^"]*?")|(?:'[^']*?')))?)*(\s+.*context\s+((?:"[^"]*?")|(?:'[^']*?')))?\s*zM^\s*blocktrans(?:late)?(\s+.*context\s+((?:"[^"]*?")|(?:'[^']*?')))?(?:\s+|$)z^\s*endblocktrans(?:late)?$z^\s*plural$z_\(((?:".*?")|(?:'.*?'))\)c                    t        d      }d}d}d}d}g }g }d}	g }
i }d}d}d)d}t        |       j                         D ]  }|	r|j                  t        j
                  k(  r|j                  dk(  rdj                  |
      }d}t        |j                  d            D ]+  \  }}|j                         j                  t              s*|}- t        |j                  d            D ]2  \  }}|||k\  r|j                  d|z         "|j                  d	       4 d}	g }
|
j                  |j                         |r|j                  t        j
                  k(  rt        j!                  |j                        }t"        j!                  |j                        }|r1|r|r3|j                  d
j%                  | |||       |||      |             n1|j                  dj%                   |||       |||      |             |D ]  }|j                  t'        |d              |D ]  }|j                  t'        |d              nx|r+|j                  dj%                  | |||      |             n)|j                  dj%                   |||      |             |D ]  }|j                  t'        |d              d}d}d}g }g }|rd}d}|rd|z  }t)        d|j                  ||j*                  fz        |j                  t        j,                  k(  rB|r |j                  d|j                  z         |j                  d|j                  z         #|j                  t        j.                  k(  sB|j                  j1                  dd      }|r|j                  |       s|j                  |       ||j*                  |j                  j3                  d      z   }||k(  rX|j                  t        j4                  k7  ra||   D ]-  }d}|rd|z  }d|||fz  }t7        j8                  |t:               / g ||<   n&|j                  ddj                  ||         z         d}|j                  t        j
                  k(  rMt<        j!                  |j                        }t>        j!                  |j                        }t@        jC                  |j                        }|r|d   }|d   dk(  r|jE                  d      }n|d   dk(  r|jE                  d      }|j1                  dd      }|d   rwtF        j!                  |d         } | d   }|d   dk(  r|jE                  d      }n|d   dk(  r|jE                  d      }|j                  dj%                  |||             d}x|j                  dj%                  ||             |rt@        jC                  |j                        D ]  }!|j                  d|!z          |d   rPtF        j!                  |d         } | d   }|d   dk(  r|jE                  d      }n|d   dk(  r|jE                  d      }d}d}d |jI                         v }g }g }G|r|D ]  }"|j                  d|"z          f|j                  d!k(  rd}	y|j                  t'        |j                  d"             |j                  t        j,                  k(  r|j                  jK                  d#      }#t@        j!                  |#d         }"|"r|j                  d|"d   z         |#dd D ]Y  }$|$jM                  d$      dk\  r(|j                  d%|$jK                  d&d      d   z         ?|j                  t'        |$d'             [ l|j                  t        j4                  k(  rr|j                  j                         j                  t              s|jO                  |j*                  g       j                  |j                         |j*                  }|j                  t'        |j                  d(             " |jQ                         S )*z
    Turn a Django template into something that is understood by xgettext. It
    does so by translating the Django translation tags into standard gettext
    function invocations.
     NFuc                 B    dj                  |       }|rt        |      }|S )Nr   )joinr	   )tokenstrimmessages      r   join_tokensztemplatize.<locals>.join_tokens;   s!    ''&/%g.Gr   
endcommentTz # %sz #
z, npgettext({p}{!r}, {p}{!r}, {p}{!r},count) )pz# ngettext({p}{!r}, {p}{!r}, count) SPz pgettext({p}{!r}, {p}{!r}) z gettext({p}{!r}) z	file %s, zDTranslation blocks must not include other block tags: %s (%sline %d)z%%(%s)s%z%%
zjThe translator-targeted comment '%s' (%sline %d) was ignored, because it wasn't the last item on the line.z# %sz | r   r   "'   z _(%s) trimmedcommentB|z:_(z %s :FX)F))r   r   tokenize
token_typer   BLOCKcontentsr   	enumerate
splitlineslstrip
startswithTRANSLATOR_COMMENT_MARKwriteappendendblock_rematch	plural_reformatr   SyntaxErrorlinenoVARTEXTreplacecountCOMMENTwarningswarnr   	inline_reblock_reconstant_refindallstrip
context_resplit_contentssplitfind
setdefaultgetvalue)%r   originoutmessage_contextintransinpluralr%   singularplural	incommentr&   lineno_comment_mapcomment_lineno_cache
raw_prefixr   tcontenttranslators_comment_startr<   line	endbmatchpluralmatchpartfilemsgr/   
cur_linenocwarn_msgimatchbmatchcmatchesgcontext_matchfmatchcmatchpartsr   s%                                        r   
templatizerm   '   s    2,COGHGHFIGJ 3Z  "||y.1::3M'''*,0)$-g.@.@.F$GLFD{{}//0GH4:1 %H %.g.@.@.F$GLFD1="&??		'D.1		&) %H "	qzz*||y.'--ajj9	'ooajj9*II N U U$3$/'$B$/$@&0	 !V !"  II E L L$/'$B$/$@&0 !M !" %-DIIhtS&9: %-$*DIIhtS&9: %+ +II > E E$3$/'$B&0 !F !"  II 4 ; ;$/'$B&0 !< !" %-DIIhtS&9: %-&*O#G$H!HF #H G"-"6%),-JJ+JK  .MM)ajj"89OOI

$:;/::--c48MM(+OOH- $/XX

(8(8(>>
':5||y'8'88!34H!IA&(G%*5*>!= "#G-A B	(CH
 %MM(4LM "J DF*+?@II,>?S,T!UU (,$||y."4!

3&..qzz:q	Ats{GGCL1GGCL		#t,Aay(2(8(8(C*7*:*1-4.=.C.CC.HO,Q/36.=.C.CC.HO		:AA /j B 
 +/		"6"="=a:"="NO"-"5"5ajj"A		)f"45 #Bay(2(8(8(C*7*:*1-4.=.C.CC.HO,Q/36.=.C.CC.HO"G$H'1+;+;+==G!HF"*		)f"45 #+ZZ9, $IIIhqzz378.

((-$**584IIi&)34qrAvve})		&1773?1+="=>		(1c"23	 #
 !2!22::$$&112IJ&11!((B?FFqzzR+,88(		(1::s34i #j <<>r   )N)rB   ior   django.template.baser   r   django.utils.regex_helperr   r   r   r	   r4   r   r   rI   rD   rE   r7   r9   rF   rm    r   r   <module>rr      s}      1 6 7' 	%	 ! ST
<	 X AB/0	@AOr   