*j
. / S Qr SSKrSrSrSr\\- rSr\S- S- rS rS
r \\- \ - \- r
SS jrSSKr
SSKJr 0 r " S
S5 r\R' 5 " S S5 rg))
ascii_lettersascii_lowercaseascii_uppercasecapwordsdigits hexdigits octdigits printablepunctuation
whitespace FormatterTemplate Nz
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789abcdefABCDEF01234567z !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~c U=( d SR [ [ R U R U5 5 5 $ )N )joinmapstr
capitalizesplit)sseps -/opt/alt/python313/lib64/python3.13/string.pyr r % s,
J3S>?? )ChainMapc | ^ \ rS rSrSrSrSr\R r U 4S jr
S rS r\
4S jr\
4S jrS
rS rSrU =r$ )
r
9 $z(?a:[_a-z][_a-z0-9]*)Nc | > [ TU ] 5 SU R ; a
U R nOZ[ R
" U R 5 nU R nU R =( d U R nSU SU SU SU S3 n[ R " XR [ R - 5 U l g )Npatternz
z(?:
(?PzC) | # Escape sequence of two delimiters
(?PzJ) | # delimiter and a Python identifier
{(?Pz)} | # delimiter and a braced identifier
(?P) # Other ill-formed delimiter exprs
)
)super__init_subclass____dict__r% _reescape delimiter idpatternbraceidpatterncompileflagsVERBOSE)clsr% delimidbid __class__s r r' Template.__init_subclass__E s
!#$kkGJJs}}-EB$$5
C
G ' " 5 !
G kk'99s{{+BCr c Xl g Ntemplate)selfr: s r __init__Template.__init__W s
r c UR S5 nU R S U R SS9nU( d SnSnO+U[ SR US S 5 5 -
n[ U5 n[ SXT4- 5 e)NinvalidT)keepends z.Invalid placeholder in string: line %d, col %d)startr:
splitlineslenr
ValueError)r; moilinescolnolinenos r _invalidTemplate._invalid\ s| HHY
bq!,,d,;EFBGGE#2J/00EZFI ) * *r c ^ ^ T[ L a UmOU( a [ UT5 mUU 4S jnT R R UT R 5 $ )Nc & > U R S5 =( d U R S5 nUb [ TU 5 $ U R S5 b TR $ U R S5 b TR U 5 [ STR
5 eNnamedbracedescapedr? #Unrecognized named group in pattern)groupr r+ rM rG r% rH rR mappingr; s r convert$Template.substitute..convertn s HHW%;();E 75>**xx ".~~%xx ".
b!B!\\+
+r _sentinel_dict _ChainMapr% subr: r; rX kwsrY s `` r
substituteTemplate.substituteh sA n$G
W-G
+ ||77r c ^ ^ T[ L a UmOU( a [ UT5 mUU 4S jnT R R UT R 5 $ )Nc f > U R S5 =( d U R S5 nUb [ TU 5 $ U R S5 b TR $ U R S5 b U R 5 $ [ STR
5 e! [ a U R 5 s $ f = frQ )rV r KeyErrorr+ rG r% rW s r rY )Template.safe_substitute..convert s HHW%;();E &wu~.. xx ".~~%xx ".xxz!B!\\+
+
&88:%&s
B B0/B0r[ r_ s `` r safe_substituteTemplate.safe_substitute{ sA n$G
W-G + ||77r c $ U R R U R 5 Hg nUR S5 b gUR S5 b M+ UR S5 b M? UR S5 b MS [ SU R 5 e g)Nr? FrR rS rT rU T)r% finditerr: rV rG )r; rH s r is_validTemplate.is_valid s| ,,''
6Bxx ".!)HHX&.HHY'/ !!FLL" " 7 r c l / nU R R U R 5 H nUR S5 =( d UR S5 nUb X1; a UR U5 MG Ub ML UR S5 b M` UR S5 b Mt [ SU R 5 e U$ )NrR rS r? rT rU )r% rj r: rV appendrG )r; idsrH rR s r get_identifiersTemplate.get_identifiers s ,,''
6BHHW%;();E U%5
5!-HHY'/HHY'/ !!FLL" " 7
r r9 )__name__
__module____qualname____firstlineno__r+ r, r- r)
IGNORECASEr/ r' r<