§
    OŠtj¢  ã                   óø   — d dl Z d dlZd dlZd dlZd dlZ ej        d¦  «        Z ej        d¦  «        Z ej        d¦  «        Z ej        d¦  «        Z	d„ Z
d„ Z e j        ¦   «         dd„¦   «         Zd	„ Zd
„ ZdS )é    Nz1\s*/\*\w{4}\*/\s*([^;]*;)\s*/\* 0x(\w{16}) \*/\s*z\s*/\* 0x(\w{16}) \*/\s*z\s*Function : (\w+)\s*z(.*BRA(?:\.U)? )(0x\w+);c           
      ór  — t          t                               | ¦  «                             d¦  «        d¦  «        }|dz	  dz  }|dz	  dz  }|dz	  dz  }|dz	  dz  }|d	z	  d
z  }|dk    rdnd}|dk    rdnt	          |¦  «        }|dk    rdnt	          |¦  «        }	|dk    rdn|d›}
|
› d|	› d|› d|› d|d›�	S )Né   é   é)   é   é-   é.   é   é1   é4   é?   r   ÚYú-z--Ú02dú:Úx)ÚintÚSLINE_REÚmatchÚgroupÚstr)ÚslineÚencÚstallÚyldÚwrtdbÚreadbÚwatdbÚyld_strÚ	wrtdb_strÚ	readb_strÚ	watdb_strs              úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/triton/tools/disasm.pyÚ	parseCtrlr$   #   sô   € Ý
�h�nŠn˜UÑ#Ô#×)Ò)¨!Ñ,Ô,¨bÑ
1Ô
1€CØ�B‰Y˜#Ñ€EØ�"‰9˜Ñ
€CØ�B‰Y˜#Ñ€EØ�B‰Y˜#Ñ€EØ�B‰Y˜$Ñ€Eà˜A’X�Xˆcˆc 3€GØ ’z�z��¥s¨5¡z¤z€IØ ’z�z��¥s¨5¡z¤z€IØ š
˜
��¨5¨¨€IØÐEÐE˜)ÐEÐE iÐEÐE°'ÐEÐE¸EÐEÐEÐEÐEó    c                 ó¢  — t                                | ¦  «                             d¦  «        }|                     d¦  «        r|d d…         dz   }t	          |¦  «        }t
                               |¦  «        �Rt          t
                               |¦  «                             d¦  «        d¦  «        }||v rnt          |¦  «        ||<   |› |› fS )Nr   z ;éþÿÿÿú;é   r   )ÚFLINE_REr   r   Úendswithr$   ÚBRA_REr   Úlen)Úfliner   ÚlabelsÚasmÚctrlÚtargets         r#   ÚprocessSassLinesr3   2   sº   € Ý
�.Š.˜Ñ
Ô
×
%Ò
% aÑ
(Ô
(€Cà
‡|‚|�DÑÔð Ø�#�2�#Œh˜‰nˆÝ�UÑÔ€Då‡|‚|�CÑÔÐ$Ý•V—\’\ #Ñ&Ô&×,Ò,¨QÑ/Ô/°Ñ4Ô4ˆØ�VÐÐØå  ™[œ[ˆF�6‰NØˆI˜#�xÐ Ð r%   c                 ó*  — t          j        ¦   «         \  }}	 t          |d¦  «        5 }|                     | ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          ||¦  «        }t          j        |¦  «         n# t          j        |¦  «         w xY w|S )NÚwb)ÚtempfileÚmkstempÚopenÚwriteÚextractÚosÚremove)Ú	cubin_asmÚfunÚfdÚpathÚcubinÚsasss         r#   Úget_sassrC   B   sÀ   € åÔÑ!Ô!�H€BˆðÝ�"�d‰^Œ^ð 	#˜uØ�KŠK˜	Ñ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#å�t˜SÑ!Ô!ˆå
Œ	�$‰Œˆˆø�Œ	�$‰ŒˆˆøøøØ€Ks-   ˜A: ¨A
¾A: Á
AÁA: ÁAÁA: Á:Bc                  ó0   — ddl m}  | j        j        j        S )Nr   ©Úknobs)ÚtritonrF   ÚnvidiaÚ	cuobjdumpr@   rE   s    r#   Úpath_to_cuobjdumprJ   N   s"   € ØÐÐÐÐÐØŒ<Ô!Ô&Ð&r%   c                 óŒ  — t          ¦   «         }|€t          j        |d| g¦  «        }nt          j        |d|d| g¦  «        }|                     ¦   «         }d}|t	          |¦  «        k     �rX||                              ¦   «         }t                               |¦  «        €O|dz  }|t	          |¦  «        k     r||                              ¦   «         }nd S t                               |¦  «        ®Ot                               |¦  «                             d¦  «        }d}|d|› d�z  }|dz  }||                              ¦   «         }i }	g }
t                               |¦  «        �–||                              ¦   «         }|dz  }||                              ¦   «         }|dz  }|
 
                    t          |||	¦  «        ¦  «         ||                              ¦   «         }t                               |¦  «        ­–t          |
¦  «        D ]³\  }\  }}|d	z  }||	v rd
|	|         › �}||› d�z  }||dz   z  }t                               |¦  «        ret          t                               |¦  «                             d¦  «        d	¦  «        }d
|	|         › �}t                               d|› d�|¦  «        }||dz   z  }Œ´|dz  }|S d S )Nz-sassz-funr   r   Ú z	Function:ú
r)   r   ÚLBBz:
ú	z\1r(   )rJ   Ú
subprocessÚcheck_outputÚ
splitlinesr-   ÚdecodeÚFNAME_REr   r   r*   Úappendr3   Ú	enumerater,   r   Úsub)Ú	file_pathr>   rI   Úsass_strÚ
sass_linesÚline_idxÚlineÚfnameÚretr/   Ú
asm_bufferr.   r   Úidxr1   r0   ÚoffsetÚ
label_namer2   Útarget_names                       r#   r:   r:   S   sà  € Ý!Ñ#Ô#€IØ
€{ÝÔ*¨I°wÀ	Ð+JÑKÔKˆˆåÔ*¨I°v¸sÀGÈYÐ+WÑXÔXˆØ×$Ò$Ñ&Ô&€JØ€HØ
•S˜‘_”_Ò
$Ñ
$Ø˜(Ô#×*Ò*Ñ,Ô,ˆõ �nŠn˜TÑ"Ô"Ð*Ø˜‰MˆHØ�#˜j™/œ/Ò)Ð)Ø! (Ô+×2Ò2Ñ4Ô4��à�õ �nŠn˜TÑ"Ô"Ð*õ —’˜tÑ$Ô$×*Ò*¨1Ñ-Ô-ˆØˆØÐ$˜5Ð$Ð$Ð$Ñ$ˆØ�A‰ˆØ˜(Ô#×*Ò*Ñ,Ô,ˆàˆð ˆ
Ý�nŠn˜TÑ"Ô"Ð.à˜xÔ(×/Ò/Ñ1Ô1ˆEØ˜‰MˆHà˜xÔ(×/Ò/Ñ1Ô1ˆEØ˜‰MˆHØ×ÒÕ.¨u°e¸VÑDÔDÑEÔEÐEà˜hÔ'×.Ò.Ñ0Ô0ˆDõ �nŠn˜TÑ"Ô"Ð.õ !*¨*Ñ 5Ô 5ð 	ð 	ÑˆC‘�$˜à˜2‘XˆFØ˜ÐÐØ3 6¨&¤>Ð3Ð3�
Ø˜*Ð)Ð)Ð)Ñ)�Ø�4˜$‘;ÑˆCå�|Š|˜CÑ Ô ð <Ý�VŸ\š\¨#Ñ.Ô.×4Ò4°QÑ7Ô7¸Ñ<Ô<�Ø4 F¨6¤NÐ4Ð4�Ý—j’jÐ!5 {Ð!5Ð!5Ð!5°sÑ;Ô;�Ø�3˜‘:ÑˆCˆCØˆt‰ˆØˆ
ði %Ð
$r%   )N)Ú	functoolsr;   ÚrerP   r6   Úcompiler*   r   rT   r,   r$   r3   Ú	lru_cacherC   rJ   r:   © r%   r#   ú<module>ri      s÷   ðð. Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ø €€€àˆ2Œ:ÐJÑKÔK€Øˆ2Œ:Ð1Ñ2Ô2€Øˆ2Œ:Ð/Ñ0Ô0€Ø	ˆŒÐ/Ñ	0Ô	0€ðFð Fð Fð!ð !ð !ð  €ÔÑÔðð ð ñ Ôðð'ð 'ð 'ð
<ð <ð <ð <ð <r%   