Ë
    .²j×  ã                  óê  — U 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
 er2ddlmZ eee   eedf   ej                  ej                  f   Zeedf   ZdZdFd„ZdGd	„Zd
„ ZdHdId„ZdJd„Zd„ ZdKd„Zi dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d!“d#d$“d%d$“d&d'“d(d)“d)d*d*d+d,d-d-d.d/d0d1d2d3d4œ¥Z eej9                  «       «      D ]  Zeee<   Œ	 d5„ Zd6„ Zi d7D � ci c]  } d8| › �| “Œ
 c} ¥d7D � ci c]  } d9| › �| “Œ
 c} ¥d:D � ci c]  } d;| › �| “Œ
 c} ¥d<D �ci c]  }d=|› �d>“Œ
 c}¥d?d d@œ¥Z dAe!dB<   ejE                  «       D ]  \  Z#Ze e   e e#<   Œ dLdC„Z$dD„ Z%dE„ Z&yc c} w c c} w c c} w c c}w )Mé    )Úannotations©Úreduce)ÚAnyÚCallableÚTYPE_CHECKINGÚUnionÚListÚDicté   ©Úcore.i   c                ó   — t        d„ || «      S )Nc                ó   — | |   S ©N© )ÚaÚidxs     úL/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/triton/_utils.pyú<lambda>z#get_iterable_path.<locals>.<lambda>   s
   €   3¡€ ó    r   )ÚiterableÚpaths     r   Úget_iterable_pathr      s   € ÜÑ'¨¨xÓ8Ð8r   c                óÈ   — ddl m} t        |«      dk7  sJ ‚t        |«      dk(  r| nt        | |d d «      }t	        ||j
                  «      sJ ‚|j                  |d   |«       y )Nr   r   r   éÿÿÿÿ)Úlanguager   Úlenr   Ú
isinstanceÚtupleÚ_setitem)r   r   Úvalr   Úprevs        r   Úset_iterable_pathr$      sZ   € ÝÜˆt‹9˜Š>Ðˆ>Ü˜4“y A’~‰8Ô+<¸XÀtÈCÈRÀyÓ+Q€DÜ�d˜DŸJ™JÔ'Ð'Ð'Ø‡M�M�$�r‘(˜CÕ r   c                óf   — ddl m} t        | t        t        |j                  |j
                  f«      S )Nr   r   )r   r   r   Úlistr    Ú
tuple_type)Úxr   s     r   Úis_iterabler)      s#   € ÝÜ�aœ$¤ t§z¡z°4·?±?ÐCÓDÐDr   Nc                ó‚   — |€d}t        | «      r't        | «      D ]  \  }}t        ||g |¢|‘­¬«       Œ y  ||| «       y )Nr   )Ú_path)r)   Ú	enumerateÚapply_with_path)ÚvalueÚfnr+   r   Úitems        r   r-   r-      sL   € Ø€}Øˆä�5ÔÜ" 5Ó)ò 	;‰IˆC�Ü˜D "¨M¨e¨M°S©MÖ:ñ	;ñ 	ˆ5�%Õr   c                ó`   ‡‡‡— i Šdˆˆˆfd„Š ‰d| «       t        ‰j                  «       «      S )Nc                ó~   •— t        |«      r"t        |«      D ]  \  }} ‰g | ¢|‘­|«       Œ y  ‰| |«      rd ‰| <   y y r   )r)   r,   )r   Úcurrentr   r0   Ú_implÚpredÚrets       €€€r   r4   zfind_paths_if.<locals>._impl.   sM   ø€ Ü�wÔÜ& wÓ/ò *‘	��TÙ�l˜�l˜c‘l DÕ)ñ*á�$˜Ô ØˆC�ŠIð !r   r   )r   útuple[int, ...]r3   r   )r&   Úkeys)r   r5   r4   r6   s    `@@r   Úfind_paths_ifr9   *   s*   ú€ à!€C÷ñ 
ˆ"ˆhÔä�—‘“
ÓÐr   c                ó   — | | dz
  z  dk(  S )Nr   r   r   )r(   s    r   Úis_power_of_twor;   :   s   € Ø��Q‘‰K˜AÑÐr   c           	     ó  — d}t        | «      D ]O  \  }}t        |t        «      st        d|› dt	        |«      › d�«      ‚t        |«      st        d|› d�«      ‚||z  }ŒQ |t        kD  rt        d|› dt        › d�«      ‚|S )	Nr   zShape element z1 must have type `constexpr[int]`, got `constexpr[ú]z must be a power of 2znumel (z') exceeds triton maximum tensor numel (ú))r,   r   ÚintÚ	TypeErrorÚtyper;   Ú
ValueErrorÚTRITON_MAX_TENSOR_NUMEL)ÚshapeÚnumelÚiÚds       r   Úvalidate_block_shaperH   >   s¡   € Ø€EÜ˜%Ó ò ‰ˆˆ1Ü˜!œSÔ!Ü˜n¨Q¨CÐ/`ÔaeÐfgÓahÐ`iÐijÐkÓlÐlÜ˜qÔ!Ü˜~¨a¨SÐ0EÐFÓGÐGØ�‰
‰ðð Ô&Ò&Ü˜7 5 'Ð)PÔQhÐPiÐijÐkÓlÐlØ€Lr   ÚboolÚu1Úint1Úuint1Úi1Ú
float8e4nvÚfp8e4nvÚfloat8e5Úfp8e5Úfloat8e4b15Úfp8e4b15Úfloat8_e4m3fnÚ
float8e4b8Úfp8e4b8Úfloat8_e4m3fnuzÚfloat8_e5m2Úfloat8e5b16Úfp8e5b16Úfloat8_e5m2fnuzÚhalfÚfp16Úfloat16Úbfloat16Úbf16ÚfloatÚfp32Úfp64Úi8Úi16Úi32Úi64Úu8Úu16Úu32Úu64Úvoid)Úfloat32ÚdoubleÚfloat64Úint8Úint16r?   Úint32Úint64Úuint8Úuint16Úuint32Úuint64rl   c                óN   — t        | «      j                  d«      d   }t        |   S )Nú.r   )ÚstrÚsplitÚtype_canonicalisation_dict)ÚdtypeÚ	dtype_strs     r   Úcanonicalize_dtyper   u   s&   € Ü�E“
× Ñ  Ó% bÑ)€IÜ% iÑ0Ð0r   c                ó(   — |rdnd› t        | «      › �S )Nz*kÚ*)r   )r}   Úis_consts     r   Úcanonicalize_ptr_dtyperƒ   z   s   € Ù‰d CÐ(Ô);¸EÓ)BÐ(CÐDÐDr   )r   é   é   é    é@   ÚurF   )r…   r†   r‡   Úfp)Úe4nvÚe4b15Úe4b8Úe5Úe5b16Úfp8r„   r…   )r`   rl   zDict[str, int]ÚBITWIDTH_DICTc                ó   — t         |    S r   )r�   )r}   s    r   Úget_primitive_bitwidthr’   �   s   € Ü˜ÑÐr   c                ób   — t        | t        «      xr t        | t        «      xr t	        | d«      S ©NÚ_fields)r   rA   Ú
issubclassr    Úhasattr)r"   s    r   Úis_namedtupler˜   “   s'   € Ü�cœ4Ó ÒW¤Z°´UÓ%;ÒWÄÈÈYÓ@WÐWr   c                óX   — t        | d«      r t        | «      |Ž S  t        | «      |«      S r”   )r—   rA   )ÚargÚcontentss     r   Ú_tuple_createrœ   —   s.   € ô $+¨3°	Ô#:ˆ9Œ4�‹9�hÐÐSÀ	ÄÀSÃ	È(Ó@SÐSr   )r   ÚIterableTyper   ÚObjPathÚreturnr   )r   r�   r   r7   r"   r   r   )r.   r   r/   zCallable[[ObjPath, Any], None]rŸ   ÚNone)r   zUnion[IterableType, Any]r5   zCallable[[ObjPath, Any], bool]rŸ   zlist[ObjPath])rD   z	List[int])r}   rz   rŸ   r?   )'Ú
__future__r   Ú	functoolsr   Útypingr   r   r   r	   r
   r   r   r   r&   r    r'   r�   r?   rž   rC   r   r$   r)   r-   r9   r;   rH   r|   ÚvaluesÚvr   rƒ   r�   Ú__annotations__ÚitemsÚkr’   r˜   rœ   )ÚnÚsuffixs   00r   ú<module>r«      sµ  ðÞ "å ß B× BáÝØ˜˜c™ E¨#¨s¨(¡O°T·Z±ZÀÇÁÐPÑQ€LØ�C˜�H‰o€Gà!Ð ó9ó!òEô
óò óð#à
ˆDð#ð ˆDð#ð ˆTð	#ð
 	ˆ$ð#ð �)ð#ð �ð#ð �:ð#ð �Yð#ð �)ð#ð �yð#ð �7ð#ð �:ð#ð �zð#ð  ˆFð!#ð" ˆvð##ð$ �ð%#ð& ˆVð'#ð( ØØàØØØØàØØØØòE#Ð ñJ 
Ð(×/Ñ/Ó1Ó	2ò &€AØ$%Ð˜qÒ!ð&ò1ò
Eð!à"ö$Øð 
ˆ1ˆ#€w��zò $ð!ð #ö$Øð 
ˆ1ˆ#€w��zò $ð!ð öØð 
ˆAˆ3€x��{ò ð!ð >ö?Øð 
ˆVˆH€~�qÑò ?ð!ð Øò!€ˆ~ó ð '×,Ñ,Ó.ò (�D€A€qØ$ QÑ'€M�!Òð(ó òXóTùò1$ùò$ùòùò?s   ÃE!Ã3E&ÄE+ÄE0