
    ΅i                     z   S SK Jr  S SKJr  S SKJr  S\\-  S\\   4S jr	S\\   S\\   S	\
\   S\4S
 jr SS\S\\   \\   -  \-  S-  S\4S jjr\S:X  aa  S SKr\" \R                   5      S:  a+  \" S\R                   S     S35        \R$                  " S5        \" \" \R                   S   5      5        gg)    )Sequence)Path)matchfnamereturnc                 l    [        U SS9 nUR                  5       sS S S 5        $ ! , (       d  f       g = f)Nzutf-8)encoding)open	readlines)r   fs     X/home/james-whalen/.local/lib/python3.13/site-packages/torch/utils/_cpp_embed_headers.py	read_filer      s#    	eg	&!{{} 
'	&	&s   %
3contentinclude_dirsprocessed_filesc                    [        U 5       H  u  p4UR                  S5      (       a  SX'   M!  [        SU5      nUc  M2  U Hh  nXeS   -  nUR                  5       (       d  M!  [	        U5      U;   a  SX'   M6  UR                  [	        U5      5        [        [        U5      X5      X'     M     M     SR                  U 5      $ )Nz#pragma once z^\s*#include\s*[<"]([^>"]+)[>"]   )		enumerate
startswith_matchexistsstradd_embed_headersr   join)r   r   r   line_idxcur_lineminclude_dirpaths           r   r   r      s     (0~.. "G6A9'K1%D;;==4yO+$&!D	* .$!G  ( 1( 777    Nc                 &   Uc7  [        [        5      R                  R                  R                  nX"S-  S-  /nO=[        U[        5      (       a  [        U5      /nOU Vs/ s H  n[        U5      PM     nn[        [        U 5      X15      $ s  snf )Natensrc)r   __file__parent
isinstancer   r   r   )r   r   base_dirxs       r   embed_headersr+   %   s     >((//66 V"3e";<	L#	&	&\*+)56AQ6)E*L'BB 7s   !B__main__   zUsage:
 z	 filenamer   )N)collections.abcr   pathlibr   rer   r   r   listr   setr   r+   __name__syslenargvprintexit r"   r   <module>r:      s    $  TCZ DI 
#Y&*4jCFs86 MQCC&smhtn<sBTICC z
388}q	#((1+i01	-
$% r"   