
    ΅il                     Z    S SK r SSKJr   " S S\ R                  5      r\R
                  rg)    N   )_resolve_namec                      ^  \ rS rSrSr\S\S\S\\\\S-  4      4S j5       r	U 4S jr
S	\S
\S\4S jrS rS rS rS rS rSrU =r$ )_ExtractModuleReferences   zJ
Extract the list of global variables a block of code will read and write
srcpackagereturnNc                     U " U5      n[         R                  " U5      nUR                  U5        [        UR                  R                  5       5      $ N)astparsevisitlist
referenceskeys)clsr   r	   visitortrees        ^/home/james-whalen/.local/lib/python3.13/site-packages/torch/package/find_file_dependencies.pyrun_ExtractModuleReferences.run   s>    g,yy~dG&&++-..    c                 <   > [         TU ]  5         Xl        0 U l        g r   )super__init__r	   r   )selfr	   	__class__s     r   r   !_ExtractModuleReferences.__init__   s    r   module_namelevelc                 >    US:  a  [        XR                  U5      $ U$ )Nr   )r   r	   )r   r    r!   s      r   
_absmodule#_ExtractModuleReferences._absmodule   s     19 llEBBr   c                 `    UR                    H  nSU R                  UR                  S 4'   M      g )NT)namesr   name)r   nodealiass      r   visit_Import%_ExtractModuleReferences.visit_Import   s'    ZZE26DOOUZZ./  r   c                    U R                  UR                  UR                  c  SOUR                  5      nUR                   H@  nUR                  S:w  a  SU R
                  X#R                  4'   M/  SU R
                  US 4'   MB     g )Nr   *T)r#   moduler!   r&   r'   r   )r   r(   r'   r)   s       r   visit_ImportFrom)_ExtractModuleReferences.visit_ImportFrom!   sh    t{{1CATZZE zzS 6:zz 2304t-  r   c                     UR                   $ r   valuer   r(   s     r   _grab_node_int'_ExtractModuleReferences._grab_node_int,       zzr   c                     UR                   $ r   r2   r4   s     r   _grab_node_str'_ExtractModuleReferences._grab_node_str/   r7   r   c                 ~  ^  [        UR                  S5      (       Ga  UR                  R                  S:X  Ga   T R                  UR                  S   5      n/ nSn[        UR                  5      S:  a3  UR                  U 4S jUR                  S   R                   5       5        Oe[        US5      (       aT  UR                   HD  nUR                  S:X  d  M  UR                  U 4S jUR                  R                   5       5        MF     [        UR                  5      S	:  a  T R                  UR                  S	   5      nOQ[        US5      (       a@  UR                   H0  nUR                  S
:X  d  M  T R                  UR                  5      nM2     U/ :X  aM  ST R                  US 4'   UR                  SSS9S   nXb:w  a#  T R                  Xd5      nST R                  US 4'   g g T R                  X$5      nU H,  nUS:w  a  ST R                  X'4'   M  ST R                  US 4'   M.     g g g ! [         a     g f = f)Nid
__import__r      c              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   r9   .0vr   s     r   	<genexpr>6_ExtractModuleReferences.visit_Call.<locals>.<genexpr>:   s!     #VDUqD$7$7$:$:DU   !keywordsfromlistc              3   F   >#    U  H  nTR                  U5      v   M     g 7fr   r@   rA   s     r   rD   rE   >   s#      ,@R1 3 3A 6 6@RrF      r!   T.r   )maxsplitr-   )hasattrfuncr<   r9   argslenextendeltsrG   argr3   r5   r   rsplitr#   	Exception)r   r(   r'   rH   r!   keywordtop_namer)   s   `       r   
visit_Call#_ExtractModuleReferences.visit_Call2   s   499d##		(D'**499Q<8&(tyy>A%OO#VDIIaLDUDU#VVT:..#'==";;*4$OO ,@G@R@R,  $1
 tyy>A% //		!=ET:..#'==";;'1$($7$7$FE $1 r>
 59DOOT4L1#{{3{;A>H'#'??8#C<@4(89 (  ??47D!) !C<=ADOOTM:<@DOOT4L9 "*? )E#N  s'   BH/ BH/ 7A0H/ )AH/ /
H<;H<)r	   r   )__name__
__module____qualname____firstlineno____doc__classmethodstrr   tupler   r   intr#   r*   r/   r5   r9   rX   __static_attributes____classcell__)r   s   @r   r   r      s     /c /C /DsC$J1G,H / /
c # # 
7	5* *r   r   )r   
_importlibr   NodeVisitorr   r   find_files_source_depends_on r   r   <module>ri      s,    
 %Us Up  8;; r   