L i ddlmZddlZddlZddlZddlmZerddlmZm Z GddZ e dk(r,e dZ e e jd d gd d gd dddggyy)) annotationsN) TYPE_CHECKING)MappingSequenceceZdZUdZej eej Zded<ded<e d dZ d d dZ d d dZ y) CodeTemplatez-(^[^\n\S]*)?\$([^\d\W]\w*|\{,?[^\d\W]\w*\,?})strpatternfilenamecxt|5}t|j|cdddS#1swYyxYwN)openrread)r fs \/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/torchgen/code_template.py from_filezCodeTemplate.from_files0 (^ 4q(3 4 4 4s09c ||_||_yr )r r )selfr r s r__init__zCodeTemplate.__init__#s   Nc idfd dddfd }|jj||jS)Nc(J|vr|S|Sr )venvkwargss rlookupz'CodeTemplate.substitute..lookup-s&? "? !V 6!9 7Q 7rc$djtjjd|D}t j ||}djt tj|jjS)N c3NK|]}t|jywr )r splitlines).0es r z@CodeTemplate.substitute..indent_lines..3s-Mac!f.?.?.A-Ms#%)prefix) join itertoolschain from_iterabletextwrapindentmapr rstripr!)r+rcontents r indent_linesz-CodeTemplate.substitute..indent_lines1sfii---M1-MMGoogf=G99SW-?-?-ABCJJL Lrc|jd}|jd}d}d}|ddk(r#|dd}|ddk(rd}|dd}|ddk(rd}|dd} |}|t|ts|g}||St|tr@dj|Dcgc] }t |c}}t |dk(r|S||z|zSt |Scc}w) Nr{,z, )group isinstancelistr&r len) matchr+key comma_before comma_afterrxmiddler/rs rreplacez(CodeTemplate.substitute..replace9s[[^F++a.CLK1v}!Biq6S=#'Lab'Cr7c>"&Kcr(Cs A!!!T*A#FA..At$A#6qCF#67q6Q;!M#f,{::1v $7sC)rr returnobject)r+r rzSequence[object]rBr )r;z re.Match[str]rBr ) substitutionsubr )rrrrAr/rs `` @@r substitutezCodeTemplate.substitute's> ;C 8 M 4  $$Wdll;;r)r r rBr)r3)r r r r rBNoner )rzMapping[str, object] | NonerrCrBr ) __name__ __module__ __qualname__substitution_strrecompile MULTILINErD__annotations__ staticmethodrrrFrrrrrsbG2::. =L LM44! 26,<.,rds"  1<<<<~ z  A   )   r