VULN_CHECK_I913V6 Gi ddlZddlZddlZddlmZddlmZddlm Z ddl m Z m Z ejjZGddZy)N) functions)commands) ConfigParserErrorcFeZdZdZdZdZdZdZdZdZ dZ d Z d Z y ) Variablesz8 Storage and processing of variables used in profiles cpt|_i|_i|_t j |_yN)r_cmd _lookup_re _lookup_envr Repository _functionsselfs =/usr/lib/python3.12/site-packages/tuned/profiles/variables.py__init__zVariables.__init__s*j$)$/$((*$/c8|j|dk(r|S||zS)Nr)find)rsprefixs r_add_env_prefixzVariables._add_env_prefixs!VVF^q 8 !rc.tjd|S)Nz\w+$)rematch)rvariables r _check_varzVariables._check_vars '( ##rc@|yt|}|j|stjd|zy|j |}||j dt j|zdz<||j|j|tj<y)Nz6variable definition '%s' contains unallowed charactersz (?rc Dtjj|stj d|zy t dddd}t |_t|5}|jdtjzdz|jz|ddd|jD]<}|j|D]&}|j!||j#||d (>y#1swYYxYw#t$rtj d |zYywxYw) Nz#unable to find variables_file: '%s'=#TF) delimitersinline_comment_prefixesallow_no_valuestrict[z] z"error parsing variables_file: '%s')raw)ospathexistsr"r#rr! optionxformopen read_stringr&MAGIC_HEADER_NAMEreadrsectionsoptionsr*get)rfilenameconfigfros r add_from_filezVariables.add_from_file+s  !99 2X =>  SCY]fk l66 X! sV555=H(S  ?? a NN1 qaAqd34     99 1H <=  s)%C;8C/C;/C84C;;!DDc|D]W}t|dk(r2|jtjj ||C|j |||Yy)Ninclude)r!rCr4r5normpathr*)rcfgitems r add_from_cfgzVariables.add_from_cfg;sMd $i9rww''D 23dCI& rcxtjdd|jj|j|S)Nz \\(\${\w+})z\1)rsubr multiple_re_replacer )rr(s r expand_staticzVariables.expand_staticCs+ tyy'D'DT__V['\ ]]rcr|y|jt|}|jj|Sr )rMr!rr$)rr(rs rr$zVariables.expandFs3 ]  U$!    ""rc|jSr )r rs rget_envzVariables.get_envNs  rN) __name__ __module__ __qualname____doc__rrrr*rCrIrMr$rPrrrr s6+  $ C5 '^#rr)r4r tuned.logstuned tuned.constsr&tuned.profilesrtuned.utils.commandsrtuned.utils.config_parserrrlogsr>r"rrUrrr]s6 $)9 jjnnDDr