Ë
    1²jý+  ã                   ó@  — d dl Z d dlZd dlZd dlmZmZ d dlmZmZm	Z	 d dl
Z
d dlZd dlZd dlZd dlmZmZ  G d„ de«      Z G d„ de«      Z G d	„ d
«      Z G d„ de«      Z G d„ de«      Zd„ Zdefd„Zdefd„Zdefd„Zd„ Z ej6                  «       d„ «       Zd„ Zy)é    N)ÚABCÚabstractmethod)ÚDictÚListÚOptional)Ú__version__Úknobsc                   ó–   — e Zd Zd
d„Zedee   fd„«       Zeddefd„«       Zededee	eef      fd„«       Z
edede	eef   fd„«       Zy	)ÚCacheManagerc                  ó   — y ©N© ©ÚselfÚkeyÚoverrideÚdumps       úS/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/triton/runtime/cache.pyÚ__init__zCacheManager.__init__   ó   € Øó    Úreturnc                  ó   — y r   r   ©r   Úfilenames     r   Úget_filezCacheManager.get_file   ó   € àr   c                  ó   — y r   r   ©r   Údatar   Úbinarys       r   ÚputzCacheManager.put   r   r   r   c                  ó   — y r   r   r   s     r   Ú	get_groupzCacheManager.get_group   r   r   Úgroupc                  ó   — y r   r   )r   r   r%   s      r   Ú	put_groupzCacheManager.put_group   r   r   N©FF©T)Ú__name__Ú
__module__Ú__qualname__r   r   r   Ústrr   r"   r   r$   r'   r   r   r   r   r      sš   „ óð ð H¨S¡Mò ó ðð ñ°#ò ó ðð ð #ð ¨(°4¸¸S¸±>Ñ*Bò ó ðð ð #ð ¨d°3¸°8©nò ó ñr   r   c                   óŠ   — e Zd Zdd„Zdefd„Zdefd„Zdee   fd„Z	dedee
eef      fd„Zdede
eef   defd	„Zddefd
„Zy)ÚFileCacheManagerc                 óª  — || _         d | _        |r©t        j                  j                  | _        t        j                  j                  | j
                  | j                   «      | _        t        j                  j                  | j
                  d«      | _        t        j                  | j
                  d¬«       y |rYt        j                  j                  | _        t        j                  j                  | j
                  | j                   «      | _        y t        j                  j                  | _        | j
                  rŠt        j                  j                  | j
                  | j                   «      | _        t        j                  j                  | j
                  d«      | _        t        j                  | j
                  d¬«       y t        d«      ‚)NÚlockT©Úexist_okú$Could not create or locate cache dir)r   Ú	lock_pathr	   ÚcacheÚdump_dirÚ	cache_dirÚosÚpathÚjoinÚmakedirsÚoverride_dirÚdirÚRuntimeErrorr   s       r   r   zFileCacheManager.__init__&   s  € ØˆŒØˆŒÙÜ"Ÿ[™[×1Ñ1ˆDŒNÜŸW™WŸ\™\¨$¯.©.¸$¿(¹(ÓCˆDŒNÜŸW™WŸ\™\¨$¯.©.¸&ÓAˆDŒNÜ�K‰K˜Ÿ™°Ö6ÙÜ"Ÿ[™[×5Ñ5ˆDŒNÜŸW™WŸ\™\¨$¯.©.¸$¿(¹(ÓCˆD�Nô #Ÿ[™[Ÿ_™_ˆDŒNØ�~Š~Ü!#§¡§¡¨d¯n©n¸d¿h¹hÓ!G�”Ü!#§¡§¡¨d¯n©n¸fÓ!E�”Ü—‘˜DŸN™N°TÖ:ä"Ð#IÓJÐJr   r   c                 óV   — t         j                  j                  | j                  |«      S r   )r9   r:   r;   r8   r   s     r   Ú
_make_pathzFileCacheManager._make_path;   s   € Ü�w‰w�|‰|˜DŸN™N¨HÓ5Ð5r   c                 óŒ   — | j                   st        d«      ‚t        j                  j	                  | j                  |«      «      S )Nr4   )r8   r?   r9   r:   ÚexistsrA   r   s     r   Úhas_filezFileCacheManager.has_file>   s1   € Ø�~Š~ÜÐEÓFÐFÜ�w‰w�~‰~˜dŸo™o¨hÓ7Ó8Ð8r   c                 óH   — | j                  |«      r| j                  |«      S y r   )rD   rA   r   s     r   r   zFileCacheManager.get_fileC   s    € Ø�=‰=˜Ô"Ø—?‘? 8Ó,Ð,àr   r   c                 óˆ  — d|› �}| j                  |«      sy | j                  |«      }	 t        |«      5 }t        j                  |«      }d d d «       j                  dd «      }|€y i }|j                  «       D ]*  \  }}	t        j                  j                  |	«      sŒ&|	||<   Œ, |S # 1 sw Y   Œ_xY w# t
        $ r Y y w xY w©NÚ__grp__Úchild_paths)rD   rA   ÚopenÚjsonÚloadÚ	ExceptionÚgetÚitemsr9   r:   rC   )
r   r   Úgrp_filenameÚgrp_filepathÚfÚgrp_datarI   ÚresultÚcÚps
             r   r$   zFileCacheManager.get_groupI   sÉ   € Ø   
Ð+ˆØ�}‰}˜\Ô*ØØ—‘ |Ó4ˆð	Ü�lÓ#ð ( qÜŸ9™9 Q›<�÷(ð
 —l‘l =°$Ó7ˆàÐØØˆØ×%Ñ%Ó'ò 	‰DˆAˆqÜ�w‰w�~‰~˜aÕ Ø��q’	ð	ð ˆ÷(ð (ûäò 	áð	ús(   ªB5 µB)ÁB5 Â)B2Â.B5 Â5	CÃ Cr%   c                 ó�   — | j                   st        d«      ‚t        j                  d|i«      }d|› �}| j	                  ||d¬«      S )Nr4   rI   rH   F©r!   )r8   r?   rK   Údumpsr"   ©r   r   r%   Úgrp_contentsrP   s        r   r'   zFileCacheManager.put_group_   sI   € Ø�~Š~ÜÐEÓFÐFÜ—z‘z =°%Ð"8Ó9ˆØ   
Ð+ˆØ�x‰x˜ l¸5ˆxÓAÐAr   c                 ó¢  — | j                   st        d«      ‚t        |t        «      }|st	        |«      }| j
                  €J ‚| j                  |«      }t	        t        j                  «       «      }t        j                  «       }t        j                  j                  | j                   d|› d|› �«      }t        j                  |d¬«       t        j                  j                  ||«      }|rdnd}	t        ||	«      5 }
|
j                  |«       d d d «       t        j                   ||«       t        j"                  |«       |S # 1 sw Y   Œ6xY w)Nr4   ztmp.pid_Ú_Tr2   ÚwbÚw)r8   r?   Ú
isinstanceÚbytesr-   r5   rA   ÚuuidÚuuid4r9   Úgetpidr:   r;   r<   rJ   ÚwriteÚreplaceÚ
removedirs)r   r    r   r!   ÚfilepathÚrnd_idÚpidÚtemp_dirÚ	temp_pathÚmoderR   s              r   r"   zFileCacheManager.putf   s  € Ø�~Š~ÜÐEÓFÐFÜ˜D¤%Ó(ˆÙÜ�t“9ˆDØ�~‰~Ð)Ð)Ð)Ø—?‘? 8Ó,ˆä”T—Z‘Z“\Ó"ˆä�i‰i‹kˆä—7‘7—<‘< §¡°(¸3¸%¸qÀÀÐ0IÓJˆÜ
�‰�H tÕ,Ü—G‘G—L‘L ¨8Ó4ˆ	á‰t 3ˆÜ�)˜TÓ"ð 	 aØ�G‰G�DŒM÷	ô 	�
‰
�9˜hÔ'Ü
�‰�hÔØˆ÷	ð 	ús   Ã>EÅENr(   r)   )r*   r+   r,   r   r-   rA   ÚboolrD   r   r   r   r$   r'   r"   r   r   r   r/   r/   $   s‚   „ óKð*6 có 6ð9 Dó 9ð
 H¨S¡Mó ð #ð ¨(°4¸¸S¸±>Ñ*Bó ð,B #ð B¨d°3¸°8©nð BÀó Bñ°#ô r   r/   c                   ó`   — e Zd ZdZdefd„Zedee   deee	f   fd„«       Z
edede	fd	„«       Zy
)ÚRemoteCacheBackendzL
    A backend implementation for accessing a remote/distributed cache.
    r   c                  ó   — y r   r   )r   r   s     r   r   zRemoteCacheBackend.__init__†   r   r   Ú	filenamesr   c                  ó   — y r   r   )r   rr   s     r   rN   zRemoteCacheBackend.get‰   r   r   r   r    c                  ó   — y r   r   ©r   r   r    s      r   r"   zRemoteCacheBackend.put�   r   r   N)r*   r+   r,   Ú__doc__r-   r   r   r   r   ra   rN   r"   r   r   r   rp   rp   �   sd   „ ñð˜Có ð ð˜T #™Yð ¨4°°U°
Ñ+;ò ó ðð ð˜Cð  uò ó ñr   rp   c                   ó`   — e Zd Zd„ Zdedefd„Zdee   deeef   fd„Zdede	deee	f   fd„Z
y	)
ÚRedisRemoteCacheBackendc                 ó$  — dd l }|| _        t        j                  j                   j                  | _        |j                  t        j                  j                   j                  t        j                  j                   j                  ¬«      | _	        y )Nr   )ÚhostÚport)
ÚredisÚ_keyr	   r6   Ú
key_formatÚ_key_fmtÚRedisrz   r{   Ú_redis)r   r   r|   s      r   r   z RedisRemoteCacheBackend.__init__”   s^   € ÛØˆŒ	ÜŸ™×)Ñ)×4Ñ4ˆŒØ—k‘kÜ—‘×"Ñ"×'Ñ'Ü—‘×"Ñ"×'Ñ'ð "ó 
ˆ�r   r   r   c                 óP   — | j                   j                  | j                  |¬«      S )N)r   r   )r   Úformatr}   r   s     r   Ú_get_keyz RedisRemoteCacheBackend._get_key�   s    € Ø�}‰}×#Ñ#¨¯	©	¸HÐ#ÓEÐEr   rr   c                 óÎ   — | j                   j                  |D �cg c]  }| j                  |«      ‘Œ c}«      }t        ||«      D ��ci c]  \  }}|€Œ	||“Œ c}}S c c}w c c}}w r   )r�   Úmgetr„   Úzip)r   rr   rR   Úresultsr   rT   s         r   rN   zRedisRemoteCacheBackend.get    s[   € Ø—+‘+×"Ñ"¸iÖ#H¸ D§M¡M°!Õ$4Ò#HÓIˆÜ9<¸YÈÓ9P×gÑ%5 X¨vÐTZÑTf�˜&Ñ ÓgÐgùò $IùÛgs   šAÁ
A!ÁA!r    c                 óZ   — | j                   j                  | j                  |«      |«       y r   )r�   Úsetr„   ru   s      r   r"   zRedisRemoteCacheBackend.put¤   s   € Ø�‰�‰˜Ÿ™ hÓ/°Õ6r   N)r*   r+   r,   r   r-   r„   r   r   rN   ra   r"   r   r   r   rx   rx   ’   sb   „ ò
ðF ð F¨ó Fðh˜T #™Yð h¨4°°S°©>ó hð7˜Cð 7 uð 7°°c¸5°jÑ1Aô 7r   rx   c                   ó†   — e Zd Zdd„Zdedefd„Zdedee   fd„Zddedefd„Z	dedee
eef      fd„Zded	e
eef   fd
„Zy)ÚRemoteCacheManagerc                 ó®   — t         j                  j                  }|st        d«      ‚ ||«      | _        || _        || _        t        |||¬«      | _        y )NzdUnable to instantiate RemoteCacheManager, TRITON_REMOTE_CACHE_BACKEND doesn't point to a valid class)r   r   )	r	   r6   Úremote_manager_classr?   Ú_backendÚ	_overrideÚ_dumpr/   Ú_file_cache_manager)r   r   r   r   Úremote_cache_clss        r   r   zRemoteCacheManager.__init__ª   sU   € ä Ÿ;™;×;Ñ;ÐÙÜØvóxð xá(¨Ó-ˆŒà!ˆŒØˆŒ
ô $4°CÀ(ÐQUÔ#VˆÕ r   r   r    c                 ó>   — | j                   j                  ||d¬«      S )NTrX   )r’   r"   ru   s      r   Ú_materializezRemoteCacheManager._materialize¸   s    € à×'Ñ'×+Ñ+¨D°(À4Ð+ÓHÐHr   r   c                 ó  — | j                   s| j                  r| j                  j                  |«      S | j                  j                  |g«      }t        |«      dk(  ry |j                  «       \  \  }}| j                  ||«      S )Nr   )	r‘   r�   r’   r   r�   rN   ÚlenrO   r•   )r   r   rˆ   r]   r    s        r   r   zRemoteCacheManager.get_file¼   sq   € à�:Š:˜ŸšØ×+Ñ+×4Ñ4°XÓ>Ð>ð
 —-‘-×#Ñ# X JÓ/ˆÜˆw‹<˜1ÒØØ—]‘]“_‰
‰	ˆˆDØ× Ñ  ¨4Ó0Ð0r   c                 ó  — | j                   s| j                  r| j                  j                  |||¬«      S t	        |t
        «      st        |«      j                  d«      }| j                  j                  ||«       | j                  ||«      S )NrX   úutf-8)
r‘   r�   r’   r"   r`   ra   r-   Úencoder�   r•   r   s       r   r"   zRemoteCacheManager.putÊ   sr   € à�:Š:˜ŸšØ×+Ñ+×/Ñ/°°hÀvÐ/ÓNÐNä˜$¤Ô&Ü�t“9×#Ñ# GÓ,ˆDØ�‰×Ñ˜( DÔ)Ø× Ñ  ¨4Ó0Ð0r   c                 óä  — | j                   s| j                  r| j                  j                  |«      S d|› �}| j	                  |«      }|€y 	 t        |«      5 }t        j                  |«      }d d d «       j                  dd «      }d }|�Hi }| j                  j                  |«      j                  «       D ]  \  }}	| j                  ||	«      ||<   Œ |S # 1 sw Y   ŒixY w# t        $ r Y y w xY wrG   )r‘   r�   r’   r$   r   rJ   rK   rL   rM   rN   r�   rO   r•   )
r   r   rP   rQ   rR   rS   rI   rT   Ú
child_pathr    s
             r   r$   zRemoteCacheManager.get_groupÔ   sû   € à�:Š:˜ŸšØ×+Ñ+×5Ñ5°hÓ?Ð?à   
Ð+ˆØ—}‘} \Ó2ˆØÐØð	Ü�lÓ#ð ( qÜŸ9™9 Q›<�÷(ð
 —l‘l =°$Ó7ˆàˆð Ð"ØˆFØ$(§M¡M×$5Ñ$5°kÓ$B×$HÑ$HÓ$Jò IÑ �
˜DØ%)×%6Ñ%6°zÀ4Ó%H��zÒ"ðIð ˆ÷(ð (ûäò 	áð	ús*   ÁC# ÁCÁ/C# ÃC ÃC# Ã#	C/Ã.C/r%   c           	      ó  — | j                   s| j                  r| j                  j                  ||«      S t	        j
                  dt        t        |j                  «       «      «      i«      }d|› �}| j                  ||«      S )NrI   rH   )
r‘   r�   r’   r'   rK   rY   ÚsortedÚlistÚkeysr"   rZ   s        r   r'   zRemoteCacheManager.put_groupï   sh   € à�:Š:˜ŸšØ×+Ñ+×5Ñ5°hÀÓFÐFä—z‘z =´&¼¸e¿j¹j»lÓ9KÓ2LÐ"MÓNˆØ   
Ð+ˆØ�x‰x˜ lÓ3Ð3r   Nr(   r)   )r*   r+   r,   r   r-   ra   r•   r   r   r"   r   r$   r'   r   r   r   rŒ   rŒ   ¨   sƒ   „ óWðI Sð I°ó Ið1 ð 1¨°#©ó 1ñ1 #ð 1°só 1ð #ð ¨(°4¸¸S¸±>Ñ*Bó ð64 #ð 4¨d°3¸°8©nô 4r   rŒ   c                 óŽ   — t        j                  t        j                  | «      «      j	                  d«      j                  d«      S )Nr™   ú=)Úbase64Ú	b32encodera   ÚfromhexÚdecodeÚrstrip)r   s    r   Ú_base32r¨   ù   s2   € ä×ÑœEŸM™M¨#Ó.Ó/×6Ñ6°wÓ?×FÑFÀsÓKÐKr   r   c                 óh   — t         j                  j                  xs t        } |t	        | «      «      S r   ©r	   r6   Úmanager_classr/   r¨   ©r   Úclss     r   Úget_cache_managerr®   þ   s&   € Ü
�+‰+×
#Ñ
#Ò
7Ô'7€CÙŒw�s‹|ÓÐr   c                 ól   — t         j                  j                  xs t        } |t	        | «      d¬«      S )NT)r   rª   r¬   s     r   Úget_override_managerr°     s(   € Ü
�+‰+×
#Ñ
#Ò
7Ô'7€CÙŒw�s‹| dÔ+Ð+r   c                 ól   — t         j                  j                  xs t        } |t	        | «      d¬«      S )NT)r   rª   r¬   s     r   Úget_dump_managerr²     s(   € Ü
�+‰+×
#Ñ
#Ò
7Ô'7€CÙŒw�s‹| $Ô'Ð'r   c                 óp  — |j                  «       D ��ci c]  \  }}||d   dk(  rdn|“Œ }}}| › ddj                  |j                  «       «      › d|› d|› �}|D ]  }|› d|j                  |«      › �}Œ t	        j
                  |j                  d«      «      j                  «       }t        |«      S c c}}w )Nr   Ú*Úptrú-Ú r™   )	rO   r;   ÚvaluesrN   ÚhashlibÚsha256rš   Ú	hexdigestr¨   )	Úversion_hashÚ	signatureÚ	constantsÚidsÚkwargsÚkÚvr   Úkws	            r   Úmake_so_cache_keyrÄ     s¸   € à<E¿O¹OÓ<M×N±D°A°q�˜Q˜q™T Sš[‘E¨aÑ/ÐN€IÑNØˆN˜!˜BŸG™G I×$4Ñ$4Ó$6Ó7Ð8¸¸)¸ÀAÀcÀUÐ
K€CØò (ˆØ��Q�v—z‘z "“~Ð&Ð'‰ð(ä
�.‰.˜Ÿ™ GÓ,Ó
-×
7Ñ
7Ó
9€CÜ�3‹<Ðùó Os   ”B2c                  óŠ  — dd l } t        j                  j                  t        j                  j                  t        j                  j	                  t
        «      «      «      }g }t        t
        d«      5 }|t        j                  |j                  «       «      j                  «       gz  }d d d «       t        j                  j                  |d«      dft        j                  j                  |d«      dfg}|D ]•  \  }}| j                  |g|¬«      D ]y  }t        |j                  j                  |j                  «      j                   d«      5 }|t        j                  |j                  «       «      j                  «       gz  }d d d «       Œ{ Œ— t        j                  «       }t#        j$                  d«      j'                  d	«      d
   }	t        t        j                  j                  |dd|	› �«      d«      5 }	 |j                  d«      }
|
sn|j)                  |
«       Œ&	 d d d «       |j+                  |j                  «       «       t        j                  j                  |d«      }| j                  |gd¬«      D ]y  }t        |j                  j                  |j                  «      j                   d«      5 }|t        j                  |j                  «       «      j                  «       gz  }d d d «       Œ{ t,        › dj                  |«      z   S # 1 sw Y   �ŒjxY w# 1 sw Y   �ŒxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÅxY w)Nr   ÚrbÚcompilerztriton.compiler.Úbackendsztriton.backends.)ÚprefixÚ
EXT_SUFFIXú.éÿÿÿÿÚ_Cz
libtriton.i   Úlanguageztriton.language.r¶   )Úpkgutilr9   r:   ÚdirnameÚabspathÚ__file__rJ   r¹   rº   Úreadr»   r;   Úwalk_packagesÚmodule_finderÚ	find_specÚnameÚoriginÚ	sysconfigÚget_config_varÚsplitÚupdateÚappendr   )rÏ   ÚTRITON_PATHÚcontentsrR   Úpath_prefixesr:   rÉ   ÚlibÚlibtriton_hashÚextÚchunkÚlanguage_paths               r   Ú
triton_keyræ     sº  € ãÜ—'‘'—/‘/¤"§'¡'§/¡/´"·'±'·/±/Ä(Ó2KÓ"LÓM€KØ€Hä	Œh˜Ó	ð ; Ø”W—^‘^ A§F¡F£HÓ-×7Ñ7Ó9Ð:Ñ:ˆ÷;ô 
�‰�‰�k :Ó	.Ð0BÐCÜ	�‰�‰�k :Ó	.Ð0BÐCð€Mð &ò C‰ˆˆfØ×(Ñ(¨$¨¸Ð(Ó?ò 	CˆCÜ�c×'Ñ'×1Ñ1°#·(±(Ó;×BÑBÀDÓIð CÈQØœWŸ^™^¨A¯F©F«HÓ5×?Ñ?ÓAÐBÑB�÷Cð Cñ	CðCô —^‘^Ó%€NÜ
×
"Ñ
" <Ó
0×
6Ñ
6°sÓ
;¸BÑ
?€CÜ	Œb�g‰g�l‰l˜;¨°
¸3¸%Ð.@ÓAÀ4Ó	Hð )ÈAØØ—F‘F˜7“OˆEÙØØ×!Ñ! %Ô(ð	 ð ÷	)ð ‡O�O�N×,Ñ,Ó.Ô/ä—G‘G—L‘L ¨jÓ9€MØ×$Ñ$ m _Ð=OÐ$ÓPò ?ˆÜ�#×#Ñ#×-Ñ-¨c¯h©hÓ7×>Ñ>ÀÓEð 	?ÈØœŸ™¨¯©«Ó1×;Ñ;Ó=Ð>Ñ>ˆH÷	?ð 	?ð?ô ˆ]˜cŸh™h xÓ0Ñ0Ð0÷7;ñ ;ú÷Cñ Cú÷)ñ )ú÷	?ð 	?ús0   Á46LÅ6LÇ9(L,Ê96L9ÌLÌL)Ì,L6Ì9M	c                 óÊ   — t        «       › d| j                  «       › d|j                  «       › d|j                  «       › dt        t        |j	                  «       «      «      › �	}|S )Nr¶   )ræ   Úhashr-   rž   rO   )ÚsrcÚbackendÚbackend_optionsÚenv_varsr   s        r   Úget_cache_keyrí   ;  sZ   € Ü‹\ˆN˜!˜CŸH™H›J˜< q¨¯©«Ð(8¸¸/×:NÑ:NÓ:PÐ9QÐQRÔSVÔW]Ð^f×^lÑ^lÓ^nÓWoÓSpÐRqÐ
r€CØ€Jr   )rK   r9   rb   Úabcr   r   Útypingr   r   r   r£   r¹   Ú	functoolsrÙ   Útritonr   r	   r   r/   rp   rx   rŒ   r¨   r®   r°   r²   rÄ   Ú	lru_cacheræ   rí   r   r   r   ú<module>ró      s»   ðÛ Û 	Û ß #ß 'Ñ 'Û Û Û Û ç %ô�3ô ô,Z�|ô Z÷zñ ô"7Ð0ô 7ô,N4˜ô N4òbLð
˜ló ð
, ó ,ð
(˜\ó (ò
ð €×ÑÓñ 1ó ð 1óFr   