§
    �ŠtjÁ  ã            
      óÞ   — d dl mZ d dlZd dlZd dlZd dlmZ erd dlmZm	Z	  G d„ d¦  «        Z
edk    r7 e
d¦  «        Z ee                     d	d
gddgddddgg ¬¦  «        ¦  «         dS dS )é    )ÚannotationsN)ÚTYPE_CHECKING)ÚMappingÚSequencec                  ó‚   — e Zd ZU dZ ej        eej        ¦  «        Zded<   ded<   e	dd„¦   «         Z
ddd	„Z	 ddd„Zd
S )ÚCodeTemplatez-(^[^\n\S]*)?\$([^\d\W]\w*|\{,?[^\d\W]\w*\,?})ÚstrÚpatternÚfilenameÚreturnc                ó˜   — t          | ¦  «        5 }t          |                     ¦   «         | ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S ©N)Úopenr   Úread)r   Úfs     úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/code_template.pyÚ	from_filezCodeTemplate.from_file   s„   € å�(‰^Œ^ð 	4˜qÝ §¢¡¤¨(Ñ3Ô3ð	4ð 	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   �"?¿AÁAÚ ÚNonec                ó"   — || _         || _        d S r   )r
   r   )Úselfr
   r   s      r   Ú__init__zCodeTemplate.__init__#   s   € ØˆŒØ ˆŒˆˆó    NÚenvúMapping[str, object] | NoneÚkwargsÚobjectc                óv   ‡‡‡‡— ‰€i Šdˆˆfd„Šdd„Šdˆˆfd„}| j                              || j        ¦  «        S )NÚvr	   r   r   c                óN   •— ‰€t          d¦  «        ‚| ‰v r‰|          n‰|          S )Nzenv must be non-None)ÚAssertionError)r   r   r   s    €€r   Úlookupz'CodeTemplate.substitute.<locals>.lookup-   s1   ø€ Øˆ{Ý$Ð%;Ñ<Ô<Ð<Ø ! V  �6˜!”9�9°°Q´Ð7r   ÚindentúSequence[object]c                óH  — d                      t          j                             d„ |D ¦   «         ¦  «        ¦  «        }t	          j        || ¬¦  «        }d                      t          t          j        | 	                    ¦   «         ¦  «        ¦  «                             ¦   «         S )Nú
c              3  óX   K  — | ]%}t          |¦  «                             ¦   «         V — Œ&d S r   )r	   Ú
splitlines)Ú.0Úes     r   ú	<genexpr>z@CodeTemplate.substitute.<locals>.indent_lines.<locals>.<genexpr>4   s4   è è € Ð-MÐ-MÀa­c°!©f¬f×.?Ò.?Ñ.AÔ.AÐ-MÐ-MÐ-MÐ-MÐ-MÐ-Mr   )Úprefix)
ÚjoinÚ	itertoolsÚchainÚfrom_iterableÚtextwrapr#   Úmapr	   Úrstripr(   )r#   r   Úcontents      r   Úindent_linesz-CodeTemplate.substitute.<locals>.indent_lines2   sƒ   € Ø—i’iÝ”×-Ò-Ð-MÐ-MÈ1Ð-MÑ-MÔ-MÑMÔMñô ˆGõ ”o g°fÐ=Ñ=Ô=ˆGà—9’9�S¥¤¨W×-?Ò-?Ñ-AÔ-AÑBÔBÑCÔC×JÒJÑLÔLÐLr   Úmatchúre.Match[str]c                ó  •— |                       d¦  «        }|                       d¦  «        }d}d}|d         dk    r:|dd…         }|d         dk    rd}|dd …         }|d         dk    rd}|d d…         } ‰|¦  «        }|�$t          |t          ¦  «        s|g} ‰||¦  «        S t          |t          ¦  «        r<d                     d	„ |D ¦   «         ¦  «        }t	          |¦  «        dk    r|S ||z   |z   S t          |¦  «        S )
Né   é   r   r   Ú{éÿÿÿÿú,z, c                ó,   — g | ]}t          |¦  «        ‘ŒS © )r	   )r)   Úxs     r   ú
<listcomp>z<CodeTemplate.substitute.<locals>.replace.<locals>.<listcomp>M   s   € Ð#6Ð#6Ð#6¨q¥C¨¡F¤FÐ#6Ð#6Ð#6r   )ÚgroupÚ
isinstanceÚlistr-   Úlenr	   )	r6   r#   ÚkeyÚcomma_beforeÚcomma_afterr   Úmiddler5   r"   s	          €€r   Úreplacez(CodeTemplate.substitute.<locals>.replace:   s"  ø€ Ø—[’[ ‘^”^ˆFØ—+’+˜a‘.”.ˆCØˆLØˆKØ�1Œv˜Š}ˆ}Ø˜!˜B˜$”i�Ø�q”6˜S’=�=Ø#'�LØ˜a˜b˜bœ'�CØ�r”7˜c’>�>Ø"&�KØ˜c˜r˜cœ(�CØ��s‘”ˆAØÐ!Ý! !¥TÑ*Ô*ð Ø˜�AØ#�| F¨AÑ.Ô.Ð.Ý˜A�tÑ$Ô$ð ØŸšÐ#6Ð#6°AÐ#6Ñ#6Ô#6Ñ7Ô7�Ý�q‘6”6˜Q’;�;Ø!�MØ# fÑ,¨{Ñ:Ð:å˜1‘v”v�r   )r   r	   r   r   )r#   r	   r   r$   r   r	   )r6   r7   r   r	   )ÚsubstitutionÚsubr
   )r   r   r   rJ   r5   r"   s    `` @@r   Ú
substitutezCodeTemplate.substitute'   s�   øøøø€ ð ˆ;ØˆCð	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð
	Mð 	Mð 	Mð 	Mð	ð 	ð 	ð 	ð 	ð 	ð 	ð4 Ô ×$Ò$ W¨d¬lÑ;Ô;Ð;r   )r   r	   r   r   )r   )r
   r	   r   r	   r   r   r   )r   r   r   r   r   r	   )Ú__name__Ú
__module__Ú__qualname__Úsubstitution_strÚreÚcompileÚ	MULTILINErK   Ú__annotations__Ústaticmethodr   r   rM   r?   r   r   r   r      s™   € € € € € € ØGÐØ�2”:Ð.°´Ñ=Ô=€Là€L€L�LØ€M€M�Màð4ð 4ð 4ñ „\ð4ð!ð !ð !ð !ð !ð
 26ð-<ð -<ð -<ð -<ð -<ð -<ð -<r   r   Ú__main__zŽ    int foo($args) {

        $bar
            $bar
        $a+$b
    }
    int commatest(int a${,stuff})
    int notest(int a${,empty,})
    Úhié   Úwhaté   é   é   z	things...Úothers)ÚargsÚbarÚaÚbÚstuffÚempty)Ú
__future__r   r.   rR   r1   Útypingr   Úcollections.abcr   r   r   rN   ÚcÚprintrM   r?   r   r   ú<module>rj      s  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 	€	€	€	Ø €€€Ø  Ð  Ð  Ð  Ð  Ð  ð ð 2Ø1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ð=<ð =<ð =<ð =<ð =<ñ =<ô =<ð =<ð@ ˆzÒÐØˆð		ñ	ô 	€Að 
€EØ	�ŠØ˜�Ø˜�ØØØ Ð)Øð 	ñ 	
ô 	
ñ	ô 	ð 	ð 	ð 	ð Ðr   