§
    KŠtj¥G  ã            
      ó
  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZ erddlmZmZ dd	l m!Z!m"Z" dd
l#m$Z$m%Z%m&Z&  G d„ d¦  «        Z' e'¦   «         Z(dZ)de*d<   d`d„Z+dad„Z, ed¦  «        Z- ed¦  «        Z. e/¦   «         Z0 G d„ dee-e.f         ¦  «        Z1 G d„ d e1e2e2f         ¦  «        Z3 G d!„ d"e1e2e2f         ¦  «        Z4 G d#„ d$e1e5e5f         ¦  «        Z6 G d%„ d&e1e7e7f         ¦  «        Z8 ed'¦  «        Z9 G d(„ d)ee9         e1eee9                  eee9                  f         ¦  «        Z:e
 G d*„ d+¦  «        ¦   «         Z; G d,„ d-e1e2e;f         ¦  «        Z< G d.„ d/e1ee2         ee2         f         ¦  «        Z= G d0„ d1e1¦  «        Z> e
d¬2¦  «         G d3„ d4¦  «        ¦   «         Z? G d5„ d6e¦  «        Z@ ed7d8¬9¦  «        ZA G d:„ d8¦  «        ZB G d;„ d<e¦  «        ZC G d=„ d>eB¦  «        ZD G d?„ d@eB¦  «        ZEdAe*dB<    G dC„ dAeB¦  «        ZF G dD„ dEeB¦  «        ZG G dF„ dGeB¦  «        ZH G dH„ dIe¦  «        ZI G dJ„ dKe¦  «        ZJ edLe¬9¦  «        ZK G dM„ dNeeK         ¦  «        ZLeMee2e7f                  ZN G dO„ dPe¦  «        ZO G dQ„ dRe¦  «        ZP G dS„ dTe¦  «        ZQ G dU„ dVeB¦  «        ZR G dW„ dXeB¦  «        ZS G dY„ dZeB¦  «        ZT G d[„ d\eB¦  «        ZU G d]„ d^eB¦  «        ZV eD¦   «         ZW eE¦   «         ZX eF¦   «         ZY eG¦   «         ZZ eH¦   «         Z[ eR¦   «         Z\ eS¦   «         Z] eT¦   «         Z^ eU¦   «         Z_ eV¦   «         Z`d_„ ZadS )bé    )ÚannotationsN)Ú	dataclass)Úcontextmanager)ÚcastÚAnyÚCallableÚ	GeneratorÚGenericÚOptionalÚProtocolÚTypeÚTypeVarÚ	TypedDictÚTYPE_CHECKINGÚUnion)ÚgetenvÚgetenv_boolé   )ÚCacheManagerÚRemoteCacheBackend)ÚJitFunctionInfoÚKernelParam)Ú	ASTSourceÚLazyDictÚIRSourcec                  ó   — e Zd ZdS )ÚEnvN)Ú__name__Ú
__module__Ú__qualname__© ó    úJ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/triton/knobs.pyr   r      s   € € € € € Ø€Dr"   r   TÚboolÚpropagate_envÚkeyÚstrÚvalueúOptional[str]ÚreturnÚNonec                óx   — t           sd S |�|t          j        | <   d S | t          j        v rt          j        | = d S d S ©N)r%   ÚosÚenviron)r&   r(   s     r#   Úsetenvr0       sF   € Ýð ØˆàÐØ�Œ
�3‰ˆˆØ	•”
Ð	Ð	ÝŒJ�sˆOˆOˆOð 
Ð	r"   Úvalr   ú!Union[None, tuple[Optional[str]]]c                ó–   — | €dS t          | ¦  «        }|t          u r| rdndfS |t          u r| fS |t          u rt          | ¦  «        fS d S )Nr-   Ú1Ú0)Útyper$   r'   Úint)r1   Úts     r#   Útoenvr9   *   s^   € Ø
€{ØˆxåˆS‰	Œ	€AØ�D€y€yØÐ#�� Ð&Ð&à�C€x€xØˆwˆà�C€x€xÝ�C‘”ˆ|Ðàˆ4r"   ÚSetTypeÚGetTypec                  óF   — e Zd Zdd„Zdd	„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dS ) Úenv_baser&   r'   r*   r+   c                ó   — || _         d S r-   )r&   )Úselfr&   s     r#   Ú__init__zenv_base.__init__E   s   € ØˆŒˆˆr"   ÚobjclassúType[object]Únamec                ó   — || _         d S r-   )rC   )r?   rA   rC   s      r#   Ú__set_name__zenv_base.__set_name__H   s   € ØˆŒ	ˆ	ˆ	r"   ÚobjúOptional[object]úOptional[Type[object]]r;   c                ó°   — |j                              | j        t          ¦  «        }|t          u r|                      ¦   «         S |                      |¦  «        S r-   )Ú__dict__ÚgetrC   Ú_NOTHINGÚ	transform)r?   rF   rA   Úpy_vals       r#   Ú__get__zenv_base.__get__K   sF   € Ø”×!Ò! $¤)­XÑ6Ô6ˆØ•XÐÐØ—8’8‘:”:ÐØ�~Š~˜fÑ%Ô%Ð%r"   c                ó   — t          ¦   «         ‚r-   )ÚNotImplementedError©r?   s    r#   rK   zenv_base.getQ   s   € Ý!Ñ#Ô#Ð#r"   Úobjectr(   úUnion[SetType, Env]c                óî   — t          |t          ¦  «        r"|j                             | j        d ¦  «         d S ||j        | j        <   t          |¦  «        x}rt          | j        |d         ¦  «         d S d S )Nr   )Ú
isinstancer   rJ   ÚpoprC   r9   r0   r&   )r?   rF   r(   Úenv_vals       r#   Ú__set__zenv_base.__set__T   s{   € Ý�e�SÑ!Ô!ð 	-ØŒL×Ò˜TœY¨Ñ-Ô-Ð-Ð-Ð-à&+ˆCŒL˜œÑ#Ý ™,œ,Ð&ˆwð -Ý�t”x ¨¤Ñ,Ô,Ð,Ð,Ð,ð-ð -r"   c                óF   — |j                              | j        d ¦  «         d S r-   )rJ   rW   rC   )r?   rF   s     r#   Ú
__delete__zenv_base.__delete__\   s"   € ØŒ×Ò˜œ DÑ)Ô)Ð)Ð)Ð)r"   r1   r:   c                ó,   — t          t          |¦  «        S r-   )r   r;   )r?   r1   s     r#   rM   zenv_base.transform_   s   € õ •G˜SÑ!Ô!Ð!r"   N)r&   r'   r*   r+   )rA   rB   rC   r'   r*   r+   )rF   rG   rA   rH   r*   r;   )r*   r;   )rF   rS   r(   rT   r*   r+   )rF   rS   r*   r+   )r1   r:   r*   r;   )
r   r   r    r@   rE   rO   rK   rY   r[   rM   r!   r"   r#   r=   r=   C   s    € € € € € ðð ð ð ðð ð ð ð&ð &ð &ð &ð$ð $ð $ð $ð-ð -ð -ð -ð*ð *ð *ð *ð"ð "ð "ð "ð "ð "r"   r=   c                  ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )	Úenv_strr&   r'   Údefaultc                óX   •— t          ¦   «                              |¦  «         || _        d S r-   ©Úsuperr@   r_   ©r?   r&   r_   Ú	__class__s      €r#   r@   zenv_str.__init__g   ó&   ø€ Ý‰Œ×Ò˜ÑÔÐØˆŒˆˆr"   r*   c                ó6   — t          | j        | j        ¦  «        S r-   )r   r&   r_   rR   s    r#   rK   zenv_str.getk   s   € Ý�d”h ¤Ñ-Ô-Ð-r"   )r&   r'   r_   r'   ©r*   r'   ©r   r   r    r@   rK   Ú__classcell__©rd   s   @r#   r^   r^   e   sQ   ø€ € € € € ðð ð ð ð ð ð.ð .ð .ð .ð .ð .ð .ð .r"   r^   c                  ó(   ‡ — e Zd Zdˆ fd„Zd	d„Zˆ xZS )
Úenv_str_callable_defaultr&   r'   Údefault_factoryúCallable[[], str]c                óX   •— t          ¦   «                              |¦  «         || _        d S r-   )rb   r@   rm   )r?   r&   rm   rd   s      €r#   r@   z!env_str_callable_default.__init__q   s)   ø€ Ý‰Œ×Ò˜ÑÔÐØ.ˆÔÐÐr"   r*   c                óZ   — t          | j        ¦  «        }|€|                      ¦   «         S |S r-   )r   r&   rm   )r?   rX   s     r#   rK   zenv_str_callable_default.getu   s-   € Ý˜œÑ"Ô"ˆØˆ?Ø×'Ò'Ñ)Ô)Ð)Øˆr"   )r&   r'   rm   rn   rg   rh   rj   s   @r#   rl   rl   o   sQ   ø€ € € € € ð/ð /ð /ð /ð /ð /ðð ð ð ð ð ð ð r"   rl   c                  ó*   ‡ — e Zd Zd
dˆ fd„Zdd	„Zˆ xZS )Úenv_boolFr&   r'   r_   r$   r*   r+   c                óX   •— t          ¦   «                              |¦  «         || _        d S r-   ra   rc   s      €r#   r@   zenv_bool.__init__~   re   r"   c                ó6   — t          | j        | j        ¦  «        S r-   )r   r&   r_   rR   s    r#   rK   zenv_bool.get‚   s   € Ý˜4œ8 T¤\Ñ2Ô2Ð2r"   ©F)r&   r'   r_   r$   r*   r+   )r*   r$   rh   rj   s   @r#   rr   rr   |   sV   ø€ € € € € ðð ð ð ð ð ð ð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r"   rr   c                  ó*   ‡ — e Zd Zd
dˆ fd„Zdd	„Zˆ xZS )Úenv_intr   r&   r'   r_   r7   r*   r+   c                óX   •— t          ¦   «                              |¦  «         || _        d S r-   ra   rc   s      €r#   r@   zenv_int.__init__ˆ   re   r"   c                ó¸   — t          | j        ¦  «        }|€| j        S 	 t          |¦  «        S # t          $ r!}t          d| j        › d|› d�¦  «        |‚d }~ww xY w)NzUnable to use ú=z: expected int)r   r&   r_   r7   Ú
ValueErrorÚRuntimeError)r?   r1   Úexcs      r#   rK   zenv_int.getŒ   sy   € Ý�T”XÑÔˆØˆ;Ø”<Ðð	YÝ�s‘8”8ˆOøÝð 	Yð 	Yð 	YÝÐN°´ÐNÐN¸3ÐNÐNÐNÑOÔOÐUXÐXøøøøð	Yøøøs   Ÿ. ®
A¸AÁA)r   )r&   r'   r_   r7   r*   r+   ©r*   r7   rh   rj   s   @r#   rw   rw   †   s^   ø€ € € € € ðð ð ð ð ð ð ðYð Yð Yð Yð Yð Yð Yð Yr"   rw   Ú	ClassTypec                  ó(   ‡ — e Zd Zd	ˆ fd„Zd
d„Zˆ xZS )Ú	env_classr&   r'   r6   r*   r+   c                óX   •— t          ¦   «                              |¦  «         || _        d S r-   )rb   r@   r6   )r?   r&   r6   rd   s      €r#   r@   zenv_class.__init__›   s&   ø€ Ý‰Œ×Ò˜ÑÔÐàˆŒ	ˆ	ˆ	r"   úOptional[Type[ClassType]]c           	     óø  ‡ — t          ‰ j        ¦  «        }|€d S |                     dd¦  «        }t          |¦  «        dk    rt	          d‰ j        › d|› d�¦  «        ‚t          t          j        |d         ¦  «        |d         ¦  «        }t          ˆ fd„| 	                    ¦   «         D ¦   «         ¦  «        s#t	          d	|› d
‰ j        › d‰ j
        › d�¦  «        ‚t          t          t                   |¦  «        S )Nú:r   é   zUnable to read z: 'z ' isn't of the form MODULE:CLASSr   c              3  ó8   •K  — | ]}|j         ‰j        k    V — Œd S r-   )r   r6   )Ú.0Úcr?   s     €r#   ú	<genexpr>z env_class.get.<locals>.<genexpr>©   s,   øè è € Ð?Ð?°�A”J $¤)Ò+Ð?Ð?Ð?Ð?Ð?Ð?r"   zUnable to use 'z' from z: not of type 'ú')r   r&   ÚsplitÚlenr|   ÚgetattrÚ	importlibÚimport_moduleÚanyÚmror6   r   r   r   )r?   r1   ÚcompsÚclss   `   r#   rK   zenv_class.get    sö   ø€ Ý�T”XÑÔˆØˆ;Ø�4Ø—	’	˜#˜qÑ!Ô!ˆÝˆu‰:Œ:˜Š?ˆ?ÝÐc°´ÐcÐc¸cÐcÐcÐcÑdÔdÐdÝ•iÔ-¨e°A¬hÑ7Ô7¸¸q¼ÑBÔBˆåÐ?Ð?Ð?Ð?°S·W²W±Y´YÐ?Ñ?Ô?Ñ@Ô@ð 	dÝÐb°ÐbÐb¸T¼XÐbÐbÐVZÔV_ÐbÐbÐbÑcÔcÐcå•D�”O SÑ)Ô)Ð)r"   )r&   r'   r6   r'   r*   r+   )r*   rƒ   rh   rj   s   @r#   r�   r�   ™   sQ   ø€ € € € € ðð ð ð ð ð ð
*ð *ð *ð *ð *ð *ð *ð *r"   r�   c                  óV   — e Zd ZU ded<   ded<   eej        dd„¦   «         ¦   «         ZdS )	Ú
NvidiaToolr'   ÚpathÚversionr*   úOptional[NvidiaTool]c                ó8  — 	 t          j        | dgt           j        ¬¦  «        }t          j        d|                     d¦  «        t          j        ¬¦  «        }|€d S t          | |                     d¦  «        ¦  «        S # t           j	        t          f$ r Y d S w xY w)Nz	--version)Ústderrz.*release (\d+\.\d+).*zutf-8)Úflagsr   )Ú
subprocessÚcheck_outputÚSTDOUTÚreÚsearchÚdecodeÚ	MULTILINEr–   ÚgroupÚCalledProcessErrorÚFileNotFoundError)r—   Úresultr˜   s      r#   Ú	from_pathzNvidiaTool.from_path´   sœ   € ð	ÝÔ,¨d°KÐ-@ÍÔIZÐ[Ñ[Ô[ˆFÝ”iÐ 9¸6¿=º=ÈÑ;QÔ;QÕY[ÔYeÐfÑfÔfˆGØˆØ�tÝ˜d G§M¢M°!Ñ$4Ô$4Ñ5Ô5Ð5øÝÔ-Õ/@ÐAð 	ð 	ð 	Ø�4�4ð	øøøs   ‚AA? Á"A? Á?BÂBN)r—   r'   r*   r™   )r   r   r    Ú__annotations__ÚstaticmethodÚ	functoolsÚ	lru_cacher¨   r!   r"   r#   r–   r–   ¯   sT   € € € € € € à€I€I�IØ€L€L�LàØÔðð ð ñ Ôñ „\ðð ð r"   r–   c                  ó0   ‡ — e Zd Zd
ˆ fd„Zdd„Zdd	„Zˆ xZS )Úenv_nvidia_toolÚbinaryr'   r*   r+   c                ón  •— |t          j        d¦  «        z  }|| _        t          j                             t          j                             t          ¦  «        ddd|¦  «        | _        t          ¦   «          
                    d|                     ¦   «                              dd¦  «        › d�¦  «         d S )	NÚEXEÚbackendsÚnvidiaÚbinÚTRITON_ú-Ú_Ú_PATH)Ú	sysconfigÚget_config_varr¯   r.   r—   ÚjoinÚdirnameÚ__file__Údefault_pathrb   r@   ÚupperÚreplace)r?   r¯   rd   s     €r#   r@   zenv_nvidia_tool.__init__Ã   s�   ø€ Ø•)Ô*¨5Ñ1Ô1Ñ1ˆØˆŒÝœGŸLšL­¬¯ª½Ñ)BÔ)BÀJÐPXÐZ_ÐagÑhÔhˆÔå‰Œ×ÒÐJ 6§<¢<¡>¤>×#9Ò#9¸#¸sÑ#CÔ#CÐJÐJÐJÑKÔKÐKÐKÐKr"   r–   c                óP   — |                       t          | j        ¦  «        ¦  «        S r-   )rM   r   r&   rR   s    r#   rK   zenv_nvidia_tool.getÊ   s   € Ø�~Š~�f T¤XÑ.Ô.Ñ/Ô/Ð/r"   r—   c                ó¢   — |�
|| j         g}n| j         g}|D ]"}t                               |¦  «        x}r|c S Œ#t          d| j        › �¦  «        ‚)NzCannot find )r¾   r–   r¨   r|   r¯   )r?   r—   ÚpathsÚtools       r#   rM   zenv_nvidia_tool.transformÍ   sw   € ð ÐØ˜4Ô,Ð-ˆEˆEàÔ&Ð'ˆEàð 	ð 	ˆDÝ!×+Ò+¨DÑ1Ô1Ð1ˆtð Ø���ðõ Ð7¨$¬+Ð7Ð7Ñ8Ô8Ð8r"   )r¯   r'   r*   r+   )r*   r–   )r—   r'   r*   r–   )r   r   r    r@   rK   rM   ri   rj   s   @r#   r®   r®   Á   sk   ø€ € € € € ðLð Lð Lð Lð Lð Lð0ð 0ð 0ð 0ð9ð 9ð 9ð 9ð 9ð 9ð 9ð 9r"   r®   c                  ó   — e Zd Zdd„ZdS )Úenv_opt_strr*   r)   c                ó*   — t          | j        ¦  «        S r-   )r   r&   rR   s    r#   rK   zenv_opt_str.getß   s   € Ý�d”hÑÔÐr"   N©r*   r)   ©r   r   r    rK   r!   r"   r#   rÆ   rÆ   Ý   s(   € € € € € ð ð  ð  ð  ð  ð  r"   rÆ   c                  ó   — e Zd Zdd„ZdS )Úenv_opt_boolr*   r)   c                ó,   — t          | j        d ¦  «        S r-   )r   r&   rR   s    r#   rK   zenv_opt_bool.getå   s   € Ý˜4œ8 TÑ*Ô*Ð*r"   NrÈ   rÉ   r!   r"   r#   rË   rË   ã   s(   € € € € € ð+ð +ð +ð +ð +ð +r"   rË   )Úfrozenc                  ób   — e Zd ZU dZded<   ded<   ded<   edd„¦   «         Zedd	„¦   «         Zd
S )ÚCompileTimeszm
    Model holding timing information for an invocation of the compiler.

    All times in microseconds.
    r7   Úir_initializationzlist[tuple[str, int]]Úlowering_stagesÚstore_resultsr*   c                ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3  ó&   K  — | ]}|d          V — ŒdS )r   Nr!   )rˆ   Ústages     r#   rŠ   z.CompileTimes.total_lowering.<locals>.<genexpr>ý   s&   è è € Ð?Ð? �E˜!”HÐ?Ð?Ð?Ð?Ð?Ð?r"   )ÚsumrÑ   rR   s    r#   Útotal_loweringzCompileTimes.total_loweringû   s"   € åÐ?Ð?¨$Ô*>Ð?Ñ?Ô?Ñ@Ô@Ð@r"   c                ó0   — | j         | j        z   | j        z   S r-   )rÐ   r×   rÒ   rR   s    r#   ÚtotalzCompileTimes.totalÿ   s   € àÔ%¨Ô(;Ñ;¸dÔ>PÑPÐPr"   Nr~   )r   r   r    Ú__doc__r©   Úpropertyr×   rÙ   r!   r"   r#   rÏ   rÏ   é   s’   € € € € € € ðð ð ÐÐÑð +Ð*Ð*Ñ*ð ÐÐÑàðAð Að Añ „XðAð ðQð Qð Qñ „XðQð Qð Qr"   rÏ   c                  ó   — e Zd Zdd„ZdS )ÚCompilationListenerÚsrcúUnion[ASTSource, IRSource]Úmetadataúdict[str, Any]Úmetadata_groupúdict[str, str]ÚtimesrÏ   Ú	cache_hitr$   r*   r+   c               ó   — d S r-   r!   )r?   rÞ   rà   râ   rä   rå   s         r#   Ú__call__zCompilationListener.__call__  ó   € àˆr"   N)rÞ   rß   rà   rá   râ   rã   rä   rÏ   rå   r$   r*   r+   ©r   r   r    rç   r!   r"   r#   rÝ   rÝ     ó(   € € € € € ðð ð ð ð ð r"   rÝ   Ú
knobs_typeÚ
base_knobs)Úboundc                  óf   — e Zd Zedd„¦   «         Zedd„¦   «         Zdd„Zdd	„Zedd„¦   «         Z	dS )rì   r*   údict[str, env_base]c                ób   — d„ t          | ¦  «        j                             ¦   «         D ¦   «         S )Nc                óD   — i | ]\  }}t          |t          ¦  «        ¯||“ŒS r!   )rV   r=   )rˆ   ÚkÚvs      r#   ú
<dictcomp>z/base_knobs.knob_descriptors.<locals>.<dictcomp>  s@   € ð 
ð 
ð 
ñ ��1Ý˜!�XÑ&Ô&ð	
Øˆqð
ð 
ð 
r"   )r6   rJ   ÚitemsrR   s    r#   Úknob_descriptorszbase_knobs.knob_descriptors  s:   € ð
ð 
õ ˜T™
œ
Ô+×1Ò1Ñ3Ô3ð
ñ 
ô 
ð 	
r"   rá   c                óN   ‡ — ˆ fd„‰ j                              ¦   «         D ¦   «         S )Nc                ó2   •— i | ]}|t          ‰|¦  «        “ŒS r!   )rŽ   )rˆ   rò   r?   s     €r#   rô   z$base_knobs.knobs.<locals>.<dictcomp>  s%   ø€ ÐJÐJÐJ¨�•7˜4 Ñ#Ô#ÐJÐJÐJr"   )rö   ÚkeysrR   s   `r#   Úknobszbase_knobs.knobs  s,   ø€ àJÐJÐJÐJ¨TÔ-B×-GÒ-GÑ-IÔ-IÐJÑJÔJÐJr"   r?   rë   c                ór   —  t          | ¦  «        ¦   «         }|j                             | j        ¦  «         |S r-   )r6   rJ   Úupdate)r?   Úress     r#   Úcopyzbase_knobs.copy  s0   € Ø�d�4‰jŒj‰lŒlˆØŒ×Ò˜DœMÑ*Ô*Ð*Øˆ
r"   c                ó^   — | j                              ¦   «         D ]}t          | |¦  «         Œ| S r-   )rö   rù   Údelattr)r?   Úknobs     r#   Úresetzbase_knobs.reset"  s8   € ØÔ)×.Ò.Ñ0Ô0ð 	 ð 	 ˆDÝ�D˜$ÑÔÐÐØˆr"   úGenerator[None, None, None]c              #  ót  K  — 	 d„ | j                              ¦   «         D ¦   «         }t          | j        ¦  «        }d V — | j                             ¦   «          | j                             |¦  «         |                     ¦   «         D ]2\  }}|�|t          j        |<   Œ|t          j        v rt          j        |= Œ3d S # | j                             ¦   «          | j                             |¦  «         |                     ¦   «         D ]2\  }}|�|t          j        |<   Œ|t          j        v rt          j        |= Œ3w xY w)Nc                óB   — i | ]}|j         t          |j         ¦  «        “ŒS r!   )r&   r   )rˆ   r  s     r#   rô   z$base_knobs.scope.<locals>.<dictcomp>*  s&   € ÐaÐaÐa¸$˜4œ8¥V¨D¬HÑ%5Ô%5ÐaÐaÐar"   )	rö   ÚvaluesÚdictrJ   Úclearrü   rõ   r.   r/   )r?   Úinitial_envÚorigrò   ró   s        r#   Úscopezbase_knobs.scope'  s:  è è € ð	&ØaÐaÀ$ÔBW×B^ÒB^ÑB`ÔB`ÐaÑaÔaˆKÝ˜œÑ&Ô&ˆDØˆEˆEˆEàŒM×ÒÑ!Ô!Ð!ØŒM× Ò  Ñ&Ô&Ð&à#×)Ò)Ñ+Ô+ð &ð &‘��1Ø�=Ø$%•B”J˜q‘M�MØ�"œ*�_�_Ýœ
 1˜øð	&ð &øð ŒM×ÒÑ!Ô!Ð!ØŒM× Ò  Ñ&Ô&Ð&à#×)Ò)Ñ+Ô+ð &ð &‘��1Ø�=Ø$%•B”J˜q‘M�MØ�"œ*�_�_Ýœ
 1˜øð	&øøøs   „;B; Â;A<D7N)r*   rï   )r*   rá   )r?   rë   r*   rë   )r*   r  )
r   r   r    rÛ   rö   rú   rþ   r  r   r  r!   r"   r#   rì   rì     sž   € € € € € àð
ð 
ð 
ñ „Xð
ð ðKð Kð Kñ „XðKðð ð ð ð
ð ð ð ð
 ð&ð &ð &ñ „^ð&ð &ð &r"   c                  ó   — e Zd Zdd
„ZdS )Ú	BuildImplrC   r'   rÞ   ÚsrcdirÚlibrary_dirsú	list[str]Úinclude_dirsÚ	librariesr*   c               ó   — d S r-   r!   )r?   rC   rÞ   r  r  r  r  s          r#   rç   zBuildImpl.__call__:  rè   r"   N)rC   r'   rÞ   r'   r  r'   r  r  r  r  r  r  r*   r'   ré   r!   r"   r#   r  r  8  rê   r"   r  c                  óš   — e Zd ZU dZ ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<   d	Z	d
ed<   e
dd„¦   «         Zd	S )Úbuild_knobsz<Configuration controlling how the native compiler is invokedÚCCrÆ   ÚccÚTRITON_CUDACRT_PATHÚcudacrt_pathÚTRITON_CUDART_PATHÚcudart_pathNzOptional[BuildImpl]Úimplr*   úset[str]c                ó2   — d„ | j         | j        fD ¦   «         S )Nc                ó   — h | ]}|®|’ŒS r-   r!   )rˆ   r—   s     r#   ú	<setcomp>z+build_knobs.backend_dirs.<locals>.<setcomp>J  s   € Ð[Ð[Ð[˜È$ÐJZ�ÐJZÐJZÐJZr"   )r  r  rR   s    r#   Úbackend_dirszbuild_knobs.backend_dirsH  s!   € à[Ð[ $Ô"3°TÔ5EÐ!FÐ[Ñ[Ô[Ð[r"   )r*   r  )r   r   r    rÚ   rÆ   r  r©   r  r  r  rÛ   r!  r!   r"   r#   r  r  ?  s¤   € € € € € € ØFÐFØ!�k $Ñ'Ô'€BÐ'Ð'Ð'Ñ'à + Ð,AÑ BÔ B€LÐBÐBÐBÑBØ*˜{Ð+?Ñ@Ô@€KÐ@Ð@Ð@Ñ@à $€DÐ$Ð$Ð$Ñ$àð\ð \ð \ñ „Xð\ð \ð \r"   r  c                  óv   — e Zd ZU  edd¦  «        Zded<    edd¦  «        Zded<    edd	¦  «        Zd
ed<   dS )Úredis_knobsÚTRITON_REDIS_KEY_FORMATztriton:{key}:{filename}r^   Ú
key_formatÚTRITON_REDIS_HOSTÚ	localhostÚhostÚTRITON_REDIS_PORTië  rw   ÚportN)	r   r   r    r^   r%  r©   r(  rw   r*  r!   r"   r#   r#  r#  M  sm   € € € € € € Ø!˜'Ð";Ð=VÑWÔW€JÐWÐWÐWÑWØ�GÐ/°Ñ=Ô=€DÐ=Ð=Ð=Ñ=Ø�GÐ/°Ñ6Ô6€DÐ6Ð6Ð6Ñ6Ð6Ð6r"   r#  Úcache_knobsÚcachec                  óü   — e Zd ZU  edej                             d¦  «        ¦  «        Zded<    e	dd„ ¦  «        Z
 e	dd„ ¦  «        Z e	d	d
„ ¦  «        Z edd¦  «        Zded<    edd¦  «        Zded<   dd„ZdS )r+  ÚTRITON_HOMEz~/r^   Úhome_dirÚTRITON_DUMP_DIRc                 ó6   — t                                d¦  «        S )NÚdump©r,  Úget_triton_dirr!   r"   r#   ú<lambda>zcache_knobs.<lambda>Y  s   € Å5×CWÒCWÐX^ÑC_ÔC_€ r"   ÚTRITON_OVERRIDE_DIRc                 ó6   — t                                d¦  «        S )NÚoverrider3  r!   r"   r#   r5  zcache_knobs.<lambda>Z  s   € Í5×K_ÒK_Ð`jÑKkÔKk€ r"   ÚTRITON_CACHE_DIRc                 ó6   — t                                d¦  «        S )Nr,  r3  r!   r"   r#   r5  zcache_knobs.<lambda>[  s   € ½u×?SÒ?SÐT[Ñ?\Ô?\€ r"   ÚTRITON_CACHE_MANAGERr   zenv_class[CacheManager]Úmanager_classÚTRITON_REMOTE_CACHE_BACKENDr   zenv_class[RemoteCacheBackend]Úremote_manager_classr¼   r'   r*   c                óN   — t           j                             | j        d|¦  «        S )Nz.triton)r.   r—   r»   r/  )r?   r¼   s     r#   r4  zcache_knobs.get_triton_dir`  s   € ÝŒw�|Š|˜DœM¨9°gÑ>Ô>Ð>r"   N)r¼   r'   r*   r'   )r   r   r    r^   r.   r—   Ú
expanduserr/  r©   rl   Údump_dirÚoverride_dirÚdirr�   r<  r>  r4  r!   r"   r#   r+  r+  V  sÚ   € € € € € € Ø˜ ¨r¬w×/AÒ/AÀ$Ñ/GÔ/GÑHÔH€HÐHÐHÐHÑHà'Ð'Ð(9Ð;_Ð;_Ñ`Ô`€HØ+Ð+Ð,AÐCkÐCkÑlÔl€LØ
"Ð
"Ð#5Ð7\Ð7\Ñ
]Ô
]€Cà-6¨YÐ7MÈ~Ñ-^Ô-^€MÐ^Ð^Ð^Ñ^Ø:C¸)ÐDaÐcwÑ:xÔ:xÐÐxÐxÐxÑxð?ð ?ð ?ð ?ð ?ð ?r"   c                  ó¤  — e Zd ZU  ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded	<    ed
¦  «        Z	ded<    e
d¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    edd¦  «                             ¦   «         Zded<   dZded<   dS )Úcompilation_knobsÚTRITON_KERNEL_OVERRIDErr   r8  ÚTRITON_KERNEL_DUMPÚdump_irÚLLVM_EXTRACT_DI_LOCAL_VARIABLESÚ"dump_ir_extract_di_local_variablesÚTRITON_STORE_BINARY_ONLYÚstore_binary_onlyÚTRITON_ALWAYS_COMPILEÚalways_compileÚ
USE_IR_LOCrÆ   Ú
use_ir_locÚTRITON_ENABLE_ASANÚenable_asanÚTRITON_DISABLE_LINE_INFOÚdisable_line_infoÚTRITON_FRONT_END_DEBUGGINGÚfront_end_debuggingÚ"TRITON_ALLOW_NON_CONSTEXPR_GLOBALSÚallow_non_constexpr_globalsÚTRITON_INSTRUMENTATION_MODEÚ r'   Úinstrumentation_modeNz Union[CompilationListener, None]Úlistener)r   r   r    rr   r8  r©   rH  rJ  rL  rN  rÆ   rP  rR  rT  rV  rX  r^   rK   r[  r\  r!   r"   r#   rE  rE  d  sl  € € € € € € Ø!˜Ð":Ñ;Ô;€HÐ;Ð;Ð;Ñ;Ø ˜Ð!5Ñ6Ô6€GÐ6Ð6Ð6Ñ6Ø3;°8Ð<]Ñ3^Ô3^Ð&Ð^Ð^Ð^Ñ^Ø"* (Ð+EÑ"FÔ"FÐÐFÐFÐFÑFØ'˜xÐ(?Ñ@Ô@€NÐ@Ð@Ð@Ñ@à)˜k¨,Ñ7Ô7€JÐ7Ð7Ð7Ñ7Ø$˜HÐ%9Ñ:Ô:€KÐ:Ð:Ð:Ñ:Ø"* (Ð+EÑ"FÔ"FÐÐFÐFÐFÑFØ$, HÐ-IÑ$JÔ$JÐÐJÐJÐJÑJØ,4¨HÐ5YÑ,ZÔ,ZÐÐZÐZÐZÑZð !( Ð(EÀrÑ JÔ J× NÒ NÑ PÔ PÐÐPÐPÐPÑPØ15€HÐ5Ð5Ð5Ñ5Ð5Ð5r"   rE  c                  óP   — e Zd ZU  ed¦  «        Zded<    ed¦  «        Zded<   dS )Úautotuning_knobsÚTRITON_CACHE_AUTOTUNINGrr   r,  ÚTRITON_PRINT_AUTOTUNINGÚprintN)r   r   r    rr   r,  r©   ra  r!   r"   r#   r^  r^  v  sJ   € € € € € € Ø�hÐ8Ñ9Ô9€EÐ9Ð9Ð9Ñ9Ø�hÐ8Ñ9Ô9€EÐ9Ð9Ð9Ñ9Ð9Ð9r"   r^  c                  ó   — e Zd ZdZdd„ZdS )	Ú
LaunchHookz3Hook invoked before and after kernel launching
    rà   r   r*   r+   c                ó   — d S r-   r!   )r?   rà   s     r#   rç   zLaunchHook.__call__  ó   € Øˆr"   N)rà   r   r*   r+   ©r   r   r    rÚ   rç   r!   r"   r#   rc  rc  {  s2   € € € € € ðð ðð ð ð ð ð r"   rc  c                  ó   — e Zd ZdZdd„ZdS )ÚInitHandleHookz}Hook invoked around kernel binary/module loading.
    module/function can be None for the *start* hook (before loading).
    ÚmodulerG   ÚfunctionúOptional[Callable]rC   r'   râ   rã   Úhashr*   r+   c                ó   — d S r-   r!   )r?   ri  rj  rC   râ   rl  s         r#   rç   zInitHandleHook.__call__ˆ  s	   € ð 	ˆr"   N)ri  rG   rj  rk  rC   r'   râ   rã   rl  r'   r*   r+   rf  r!   r"   r#   rh  rh  ƒ  s2   € € € € € ðð ðð ð ð ð ð r"   rh  ÚFc                  ó2   — e Zd ZdZddd„Zdd
„Zdd„Zd„ ZdS )Ú	HookChainz?A chain of hooks of the same type F to be called in order.
    FÚreversedr$   c                ó"   — g | _         || _        d S r-   )Úcallsrq  )r?   rq  s     r#   r@   zHookChain.__init__š  s   € Ø ˆŒ
Ø ˆŒˆˆr"   Úfuncrn  r*   r+   c                óP   — || j         vr| j                              |¦  «         d S d S r-   )rs  Úappend©r?   rt  s     r#   ÚaddzHookChain.addž  s3   € Ø�t”zÐ!Ð!ØŒJ×Ò˜dÑ#Ô#Ð#Ð#Ð#ð "Ð!r"   c                óP   — || j         v r| j                              |¦  «         d S d S r-   )rs  Úremoverw  s     r#   rz  zHookChain.remove¢  s3   € Ø�4”:ÐÐØŒJ×Ò˜dÑ#Ô#Ð#Ð#Ð#ð Ðr"   c                ó`   — | j         s| j        nt          | j        ¦  «        D ]
} ||i |¤Ž Œd S r-   )rq  rs  )r?   ÚargsÚkwargsÚcalls       r#   rç   zHookChain.__call__¦  sJ   € Ø&*¤mÐM�D”J�J½À$Ä*Ñ9MÔ9Mð 	"ð 	"ˆDØˆD�$Ð!˜&Ð!Ð!Ð!Ð!ð	"ð 	"r"   Nru   )rq  r$   )rt  rn  r*   r+   )r   r   r    rÚ   r@   rx  rz  rç   r!   r"   r#   rp  rp  –  sn   € € € € € ðð ð!ð !ð !ð !ð !ð$ð $ð $ð $ð$ð $ð $ð $ð"ð "ð "ð "ð "r"   rp  c                  ó’   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   dS )ÚJITHookCompileInfor'   r&   zdict[KernelParam, str]Ú	signaturer7   Údevicer+   Ú	constantsÚ	num_warpsÚnum_ctasÚ
num_stagesr$   Úenable_fp_fusionÚlaunch_cooperative_gridztuple[tuple[str, str], ...]Úextern_libsz-list[dict[tuple[int, ...], list[KernelAttr]]]ÚconfigsÚspecialization_dataÚ	is_warmupN)r   r   r    r©   r!   r"   r#   r€  r€  °  s—   € € € € € € Ø€H€H�HØ%Ð%Ð%Ñ%Ø€K€K�KØ€O€O�OØ€N€N�NØ€M€M�MØ€O€O�OØÐÐÑØ!Ð!Ð!Ñ!Ø,Ð,Ð,Ñ,Ø:Ð:Ð:Ñ:ØÐÐÑØ€O€O�O€O€Or"   r€  c                  ó   — e Zd Zdd„ZdS )ÚJITHookr&   r'   ÚreprÚfnr   Úcompiler€  Úis_manual_warmupr$   Úalready_compiledr*   úOptional[bool]c               ó   — d S r-   r!   )r?   r&   r�  r�  r‘  r’  r“  s          r#   rç   zJITHook.__call__Â  rè   r"   N)r&   r'   r�  r'   r�  r   r‘  r€  r’  r$   r“  r$   r*   r”  ré   r!   r"   r#   rŽ  rŽ  À  rê   r"   rŽ  c                  ó   — e Zd Zd„ ZdS )ÚPipelineStagesHookc                ó   — d S r-   r!   )r?   ÚstagesÚoptionsÚlanguageÚ
capabilitys        r#   rç   zPipelineStagesHook.__call__É  re  r"   Nré   r!   r"   r#   r—  r—  Ç  s#   € € € € € ðð ð ð ð r"   r—  c                  ó>  — e Zd ZU  ed¦  «        Zded<    ed¦  «                             ¦   «         Zded<    ed¦  «        Z	ded	<    e
¦   «         Zd
ed<    e
d¬¦  «        Zd
ed<    e
¦   «         Zded<    e
d¬¦  «        Zded<   dZded<   dZded<   dZded<   dS )Úruntime_knobsÚTRITON_INTERPRETrr   Ú	interpretÚTRITON_DEBUGr$   ÚdebugÚTRITON_OVERRIDE_ARCHrÆ   Úoverride_archzHookChain[LaunchHook]Úlaunch_enter_hookT)rq  Úlaunch_exit_hookzHookChain[InitHandleHook]Úkernel_load_start_hookÚkernel_load_end_hookNzOptional[JITHook]Újit_cache_hookÚjit_post_compile_hookzOptional[PipelineStagesHook]Úadd_stages_inspection_hook)r   r   r    rr   r   r©   rK   r¢  rÆ   r¤  rp  r¥  r¦  r§  r¨  r©  rª  r«  r!   r"   r#   rž  rž  Í  s  € € € € € € Ø"˜(Ð#5Ñ6Ô6€IÐ6Ð6Ð6Ñ6ð �(˜>Ñ*Ô*×.Ò.Ñ0Ô0€EÐ0Ð0Ð0Ñ0Ø!, Ð-CÑ!DÔ!D€MÐDÐDÐDÑDà/8¨y©{¬{ÐÐ:Ð:Ð:Ñ:Ø.7¨iÀÐ.FÑ.FÔ.FÐÐFÐFÐFÑFØ8A¸	¹¼ÐÐCÐCÐCÑCØ6?°iÈÐ6NÑ6NÔ6NÐÐNÐNÐNÑNð )-€NÐ,Ð,Ð,Ñ,ð 04ÐÐ3Ð3Ð3Ñ3ð @DÐÐCÐCÐCÑCÐCÐCr"   rž  c                  óR   — e Zd ZU  ed¦  «        Zded<    edd¦  «        Zded<   dS )	Úlanguage_knobsÚTRITON_F32_DEFAULTrÆ   Úfp32_defaultÚTRITON_DEFAULT_FP_FUSIONTrr   Údefault_fp_fusionN)r   r   r    rÆ   r¯  r©   rr   r±  r!   r"   r#   r­  r­  ã  sM   € € € € € € Ø + Ð,@Ñ AÔ A€LÐAÐAÐAÑAØ"* (Ð+EÀtÑ"LÔ"LÐÐLÐLÐLÑLÐLÐLr"   r­  c                  óp  — e Zd ZU  ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    e	d¦  «        Z
ded	<    e	d
¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    e	d¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<   dS )Únvidia_knobsÚ	cuobjdumpr®   ÚnvdisasmÚptxaszptxas-blackwellÚptxas_blackwellÚNVPTX_ENABLE_DUMPrr   Ú
dump_nvptxÚDISABLE_PTXAS_OPTÚdisable_ptxas_optÚPTXAS_OPTIONSrÆ   Úptxas_optionsÚTRITON_MOCK_PTX_VERSIONÚmock_ptx_versionÚTRITON_DUMP_PTXAS_LOGÚdump_ptxas_logÚTRITON_LIBDEVICE_PATHÚlibdevice_pathÚTRITON_LIBCUDA_PATHÚlibcuda_pathN)r   r   r    r®   r´  r©   rµ  r¶  r·  rr   r¹  r»  rÆ   r½  r¿  rÁ  rÃ  rÅ  r!   r"   r#   r³  r³  è  sD  € € € € € € Ø!0 °Ñ!=Ô!=€IÐ=Ð=Ð=Ñ=Ø / °
Ñ ;Ô ;€HÐ;Ð;Ð;Ñ;Ø,˜_¨WÑ5Ô5€EÐ5Ð5Ð5Ñ5Ø'6 Ð7HÑ'IÔ'I€OÐIÐIÐIÑIà#˜8Ð$7Ñ8Ô8€JÐ8Ð8Ð8Ñ8Ø"* (Ð+>Ñ"?Ô"?ÐÐ?Ð?Ð?Ñ?Ø!, ¨_Ñ!=Ô!=€MÐ=Ð=Ð=Ñ=Ø$/ KÐ0IÑ$JÔ$JÐÐJÐJÐJÑJØ'˜xÐ(?Ñ@Ô@€NÐ@Ð@Ð@Ñ@à"- +Ð.EÑ"FÔ"F€NÐFÐFÐFÑFØ + Ð,AÑ BÔ B€LÐBÐBÐBÑBÐBÐBr"   r³  c                  óv  — e Zd ZU  edd¦  «        Zded<    edd¦  «        Zded<    edd¦  «        Zded	<    ed
¦  «        Zded<    e	d¦  «        Z
ded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    e	d¦  «        Zded<    e	d¦  «        Zded<   dS )Ú	amd_knobsÚAMDGCN_USE_BUFFER_OPSTrr   Úuse_buffer_opsÚAMDGCN_USE_BUFFER_ATOMICSÚuse_buffer_atomicsÚ!AMDGCN_ANALYZE_SMALL_TENSOR_RANGEFÚ%buffer_ops_analyze_small_tensor_rangeÚAMDGCN_ENABLE_DUMPÚdump_amdgcnÚTRITON_LIBHIP_PATHrÆ   Úlibhip_pathÚTRITON_HIP_USE_BLOCK_PINGPONGrË   Úuse_block_pingpongÚ"TRITON_HIP_USE_IN_THREAD_TRANSPOSEÚuse_in_thread_transposeÚTRITON_HIP_USE_ASYNC_COPYÚuse_async_copyÚAMDGCN_SCALARIZE_PACKED_FOPSÚscalarize_packed_fopsÚTRITON_DUMP_MIRÚdump_mirÚTRITON_SWAP_MIRÚswap_mirN)r   r   r    rr   rÉ  r©   rË  rÍ  rÏ  rÆ   rÑ  rË   rÓ  rÕ  r×  rÙ  rÛ  rÝ  r!   r"   r#   rÇ  rÇ  ø  sV  € € € € € € Ø'˜xÐ(?ÀÑFÔF€NÐFÐFÐFÑFà#+ 8Ð,GÈÑ#NÔ#NÐÐNÐNÐNÑNà6>°hÐ?bÐdiÑ6jÔ6jÐ)ÐjÐjÐjÑjØ$˜HÐ%9Ñ:Ô:€KÐ:Ð:Ð:Ñ:Ø*˜{Ð+?Ñ@Ô@€KÐ@Ð@Ð@Ñ@ð (4 |Ð4SÑ'TÔ'TÐÐTÐTÐTÑTØ,8¨LÐ9]Ñ,^Ô,^ÐÐ^Ð^Ð^Ñ^Ø#/ <Ð0KÑ#LÔ#L€NÐLÐLÐLÑLà&. hÐ/MÑ&NÔ&NÐÐNÐNÐNÑNð (˜KÐ(9Ñ:Ô:€HÐ:Ð:Ð:Ñ:à'˜KÐ(9Ñ:Ô:€HÐ:Ð:Ð:Ñ:Ð:Ð:r"   rÇ  c                  ó.  — e Zd ZU  edd¦  «        Zded<    ed e ej	        e
¦  «        j                             ¦   «         dz  dz  dz  d	z  ¦  «        ¦  «        Zd
ed<    edd¦  «        Zded<    edd¦  «        Zded<    edd¦  «        Zded<   dS )Úproton_knobsÚTRITON_PROTON_DISABLEFrr   ÚdisableÚTRITON_CUPTI_LIB_PATHr²   r³   ÚlibÚcuptir^   Úcupti_lib_dirÚTRITON_PROFILE_BUFFER_SIZEi   rw   Úprofile_buffer_sizeÚTRITON_ENABLE_NVTXTÚenable_nvtxÚTRITON_ENABLE_HW_TRACEÚenable_hw_traceN)r   r   r    rr   rá  r©   r^   r'   ÚpathlibÚPathr½   ÚparentÚabsoluterå  rw   rç  ré  rë  r!   r"   r#   rß  rß    sû   € € € € € € Ø ˜Ð!8¸%Ñ@Ô@€GÐ@Ð@Ð@Ñ@Ø$˜WØØˆˆLˆGŒL˜Ñ"Ô"Ô)×2Ò2Ñ4Ô4°zÑAÀHÑLÈuÑTÐW^Ñ^Ñ_Ô_ñaô a€Mð að að añ að $+ 7Ð+GÐIYÑ#ZÔ#ZÐÐZÐZÐZÑZØ$˜HÐ%9¸4Ñ@Ô@€KÐ@Ð@Ð@Ñ@ð$ !) Ð)AÀ5Ñ IÔ I€OÐIÐIÐIÑIÐIÐIr"   rß  c                 ó´   — t          d¦  «                             ¦   «         t          _        t	          dd¦  «                             ¦   «         t
          _        d S )Nr¡  rY  rZ  )rr   rK   Úruntimer¢  r^   Úcompilationr[  r!   r"   r#   Úrefresh_knobsró  5  sB   € Ý˜^Ñ,Ô,×0Ò0Ñ2Ô2…G„MÝ'.Ð/LÈbÑ'QÔ'Q×'UÒ'UÑ'WÔ'W…KÔ$Ð$Ð$r"   )r&   r'   r(   r)   r*   r+   )r1   r   r*   r2   )bÚ
__future__r   r«   r�   r.   r    r�   r¹   rì  Údataclassesr   Ú
contextlibr   Útypingr   r   r   r	   r
   r   r   r   r   r   r   r   Útriton._C.libtritonr   r   Úruntime.cacher   r   Úruntime.jitr   r   Úcompiler.compilerr   r   r   r   Úenvr%   r©   r0   r9   r:   r;   rS   rL   r=   r'   r^   rl   r$   rr   r7   rw   r   r�   r–   r®   rÆ   rË   rÏ   rÝ   rë   rì   r  r  r#  r+  rE  r^  rc  rh  rn  rp  ÚlistÚ
KernelAttrr€  rŽ  r—  rž  r­  r³  rÇ  rß  ÚbuildÚredisr,  rò  Ú
autotuningrñ  r›  r³   ÚamdÚprotonró  r!   r"   r#   ú<module>r     s“  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€à !Ð !Ð !Ð !Ð !Ð !Ø %Ð %Ð %Ð %Ð %Ð %Ø ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3àð AØ?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ø9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 
€c�e„e€à€Ð Ð Ð Ñ ðð ð ð ðð ð ð ð& ˆ'�)Ñ
Ô
€Ø
ˆ'�)Ñ
Ô
€àˆ6‰8Œ8€ð"ð "ð "ð "ð "ˆw�w Ð'Ô(ñ "ô "ð "ðD.ð .ð .ð .ð .ˆh�s˜C�xÔ ñ .ô .ð .ð
ð 
ð 
ð 
ð 
˜x¨¨S¨Ô1ñ 
ô 
ð 
ð3ð 3ð 3ð 3ð 3ˆx˜˜d˜
Ô#ñ 3ô 3ð 3ðYð Yð Yð Yð Yˆh�s˜C�xÔ ñ Yô Yð Yð  ˆG�KÑ Ô €	ð*ð *ð *ð *ð *�˜	Ô" H¨X°d¸9´oÔ-FÈÐQUÐV_ÔQ`ÔHaÐ-aÔ$bñ *ô *ð *ð, ðð ð ð ð ñ ô ñ „ðð"9ð 9ð 9ð 9ð 9�h˜s J˜Ô/ñ 9ô 9ð 9ð8 ð  ð  ð  ð  �(˜8 Cœ=¨(°3¬-Ð7Ô8ñ  ô  ð  ð+ð +ð +ð +ð +�8ñ +ô +ð +ð €�$ÐÑÔðQð Qð Qð Qð Qñ Qô Qñ ÔðQð4ð ð ð ð ˜(ñ ô ð ð ˆW�\¨Ð6Ñ6Ô6€
ð'&ð '&ð '&ð '&ð '&ñ '&ô '&ð '&ðTð ð ð ð �ñ ô ð ð\ð \ð \ð \ð \�*ñ \ô \ð \ð7ð 7ð 7ð 7ð 7�*ñ 7ô 7ð 7ð Ð Ð Ñ ð?ð ?ð ?ð ?ð ?�*ñ ?ô ?ð ?ð6ð 6ð 6ð 6ð 6˜
ñ 6ô 6ð 6ð$:ð :ð :ð :ð :�zñ :ô :ð :ð
ð ð ð ð �ñ ô ð ðð ð ð ð �Xñ ô ð ð  €GˆC�xÐ Ñ Ô €ð"ð "ð "ð "ð "�˜”
ñ "ô "ð "ð. �%˜˜S˜”/Ô"€
ðð ð ð ð ˜ñ ô ð ð ð ð ð ð ˆhñ ô ð ðð ð ð ð ˜ñ ô ð ðDð Dð Dð Dð D�Jñ Dô Dð Dð,Mð Mð Mð Mð M�Zñ Mô Mð Mð
Cð Cð Cð Cð C�:ñ Cô Cð Cð ;ð ;ð ;ð ;ð ;�
ñ ;ô ;ð ;ð,Jð Jð Jð Jð J�:ñ Jô Jð Jð6 	ˆ‰Œ€Øˆ‰Œ€Øˆ‰Œ€ØÐÑ!Ô!€ØÐÑÔ€
Ø
ˆ-‰/Œ/€Øˆ>ÑÔ€Ø	ˆ‰Œ€Ø€i�k„k€Ø	ˆ‰Œ€ðXð Xð Xð Xð Xr"   