Ë
    $täiaK  ã                  óÔ  — d dl mZ d dlmZ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mZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z# erd dl$m%Z%  ed e
 ee!«      «      «      Z& ed e
 ee"«      «      «      Z' e# ee«      «      Z( e# ee «      «      Z) e e# ee«      «      «      Z* e ee«      «      Z+ e ee"«      «      Z, G d„ de-«      Z.d	d	d
œ	 	 	 	 	 	 	 	 	 dd„Z/y)é    )Úannotations)ÚNoReturnÚTYPE_CHECKING)ÚArrayRefCTypeÚ	BaseCTypeÚBindingÚboolTÚConstRefCTypeÚdeviceTÚExprÚintArrayRefTÚiOptTensorListRefTÚlayoutTÚ	ListCTypeÚlongTÚmemoryFormatTÚMutRefCTypeÚ
NamedCTypeÚopmath_tÚOptionalCTypeÚoptionalIntArrayRefTÚoptionalScalarRefTÚoptionalSymIntArrayRefTÚoptionalTensorRefTÚscalar_tÚscalarTÚscalarTypeTÚSpecialArgNameÚsymIntArrayRefTÚSymIntTÚtensorOptionsTÚtensorTÚVectorCType)ÚSequenceÚoptionsÚoutc                  ó   — e Zd Zy)Ú
UnsatErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úe/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/torchgen/api/translate.pyr(   r(   R   s   „ Ør-   r(   F)ÚmethodÚallow_expensive_conversionsc               óf  ‡‡‡	‡
‡— g }| D ]T  }t        |t        «      r1|j                  t        |j                  |j
                  ¬«      «       ŒD|j                  |«       ŒV g Š	|D ]?  }t        |t        «      r‰	j                  |j
                  «       Œ/‰	j                  |«       ŒA i Š|D �]  }|j                  ‰|j                  <   |j                  }t        |t        «      rÈt        |j                  t        «      r®t        |j                  j                  t        «      rŠt        |j                  j                  j                  «      dk(  r^d|j                  › d|j                  › d�‰t        |j                  j                  j                  t        t        t        «      «      «      <   |j                  t        t        t        t        «      «      «      k(  rNd|j                  › d|j                  › d|j                  › d	�‰t        |j                  t        t        «      «      <   |j                  t        t        t         «      «      k(  r4d|j                  › d
�‰t        |j                  t        t"        «      «      <   |j                  t        t        t        t         «      «      «      k(  rAd|j                  › d|j                  › d�‰t        |j                  t        t$        «      «      <   |j                  t        t&        «      k(  r4d|j                  › d�‰t        |j                  t        t"        «      «      <   |j                  t        t)        t        t        t        «      «      «      «      k(  s�ŒÎd|j                  › d�‰t        |j                  t        t*        «      «      <   �Œ |rJd‰t        dt-        t        t        «      «      «      <   d‰t        dt        t        t        «      «      «      <   dˆfd„Šdˆˆˆ	ˆ
ˆfd„Š
‰	D �cg c]  }t         ‰
|d¬«      |«      ‘Œ c}S c c}w )N)ÚexprÚtypez
at::TensorÚ(z.has_value() ? *z : at::Tensor())z((z.has_value() && (*z&).defined()) ? at::OptionalTensorRef(*z) : at::OptionalTensorRef())z).to<opmath_t>()z'.has_value() ? at::OptionalScalarRef(&(z%.value())) : at::OptionalScalarRef())zstatic_cast<opmath_t>(Ú)zat::IOptTensorListRef(zconst_cast<Tensor&>(*this)Úselfc           	     óª   •— dj                  d„ ‰j                  «       D «       «      }t        d| j                  «       › d| j                  › d|› d�«      ‚)NÚ
c              3  óh   K  — | ]*  \  }}d |j                  «       › d|j                  › d|› �–— Œ, y­w)z  Ú z; // N)Úcpp_typeÚname)Ú.0ÚtÚes      r.   Ú	<genexpr>z+translate.<locals>.unsat.<locals>.<genexpr>Ó   s5   è ø€ ð 
Ù=H±T°Q¸ˆb�—‘“�˜a §¡˜x u¨Q¨CÔ0¹[ùs   ‚02z&
Failed to synthesize the expression "r:   zI".
When I failed, the following bindings were available in the context:

z~

This probably means there is a missing rule in the rules of torchgen.api.translate.
Check this module for more information.
)ÚjoinÚitemsr(   r;   r<   )ÚgoalÚctx_descÚctxs     €r.   Úunsatztranslate.<locals>.unsatÒ   se   ø€ Ø—9‘9ñ 
Ø=@¿Y¹Y¼[ó
ó 
ˆô ð&Ø&*§m¡m£oÐ%6°a¸¿	¹	°{ð Cð 
€
ð ð	ó

ð 
	
r-   c          
     ó  •— d&ˆfd„}| ‰v r‰|    S t        | j                  t        «      r<	  ‰t        | j                  t        | j                  j                  «      «      |¬«      S t        | j                  t
        «      r3	  ‰t        | j                  | j                  j                  «      |¬«      S | j                  t        t        t        «      «      k(  r+ ‰t        | j                  t        t        «      «      |¬«      S |r ‰| «       | t        dt        t        t        «      «      «      k(  rV |t        t        j                  t        t        t        «      «      «      «      }t         ‰v r|S 	  |t         «      }d|› d|› d�S | t        dt        t"        «      «      k(  r¯ |t        dt        t        t$        «      «      «      «      } |t        d	t        t        t&        «      «      «      «      } |t        d
t        t        t(        «      «      «      «      } |t        dt        t        t*        «      «      «      «      }d|› d|› d|› d|› d�	S | t        dt        t        t$        «      «      «      k(  r	  |t         «      }d|› d�S | t        dt        t        t*        «      «      «      k(  r	  |t         «      }|› d�S | t        d
t        t        t(        «      «      «      k(  r	  |t         «      }|› d�S | t        d	t        t        t&        «      «      «      k(  r	  |t         «      }|› d�S | j                  t        t        «      k(  r!	  |t        | j                  t.        «      «      S | j                  t        t0        «      k(  r0	  |t        | j                  t        t        «      «      «      }d|› d�S | j                  t        t4        «      k(  r) |t        | j                  t        t        «      «      «      S | j                  t        t        t4        «      «      k(  r: |t        | j                  t        t        t        «      «      «      «      }|› d|› d�S | j                  t        t        «      k(  r. |t        | j                  t        t4        «      «      «      }|› d�S | j                  t        t        t        «      «      k(  r: |t        | j                  t        t        t4        «      «      «      «      }|› d|› d�S | j                  t        t6        «      k(  r!	  |t        | j                  t8        «      «      S | j                  t        t:        «      k(  r1 |t        | j                  t        t6        «      «      «      }|› d!|› d�S | j                  t        t<        «      k(  r  |t        | j                  t>        «      «      S | j                  t        t@        «      k(  r  |t        | j                  tB        «      «      S ‰�r»| j                  tE        t        t        «      «      k(  r0t        | j                  t        t        «      «      } ||«      }|› d"�S | j                  tE        t        t4        «      «      k(  r0t        | j                  t        t0        «      «      } ||«      }|› d"�S | j                  t        tE        t        t        «      «      «      k(  r3t        | j                  t        t6        «      «      } ||«      }|› d|› d#�S | j                  t        t        tF        «      «      k(  r3t        | j                  t        t<        «      «      } ||«      }|› d|› d$�S | j                  t        t        tF        «      «      k(  r3t        | j                  t        t@        «      «      } ||«      }|› d|› d$�S | j                  t        t        tH        «      «      k(  r:t        | j                  t        t        tH        «      «      «      } ||«      }d%|› d�S  ‰| «       y # t        $ r Y �ŒÔw xY w# t        $ r Y �Œ—w xY w# t        $ r |cY S w xY w# t        $ r  |t,        «      }	|	› d�cY S w xY w# t        $ r  |t,        «      }	|	› d�cY S w xY w# t        $ r  |t,        «      }	|	› d�cY S w xY w# t        $ r  |t,        «      }	Y yw xY w# t        $ r2  |t        | j                  t        t0        «      «      «      }
d|
› d�cY S w xY w# t        $ r#  |t        | j                  t2        «      «      cY S w xY w# t        $ r4  |t        | j                  t        t:        «      «      «      }|› d |› d�cY S w xY w)'Nc                ó   •—  ‰| d¬«      S )NT©Údirectr,   )rC   Úsolves    €r.   Údirect_solvez.translate.<locals>.solve.<locals>.direct_solveê   s   ø€ Ù˜ dÔ+Ð+r-   rI   Úmemory_formatz:c10::impl::check_tensor_options_and_extract_memory_format(z, r5   r%   ÚdtypeÚ
pin_memoryÚdeviceÚlayoutzTensorOptions().dtype(z	).layout(z	).device(z).pinned_memory(zc10::optTypeMetaToScalarType(z.dtype_opt())z.scalar_type()z.layout_opt()z	.layout()z.device_opt()z	.device()z.pinned_memory_opt()z::std::nulloptzC10_AS_INTARRAYREF_SLOW(zc10::fromIntArrayRefSlow(z1.has_value() ? ::std::make_optional(c10::SymInt(*z)) : ::std::nulloptz.guard_int(__FILE__, __LINE__)z$.has_value() ? ::std::make_optional(z1->guard_int(__FILE__, __LINE__)) : ::std::nulloptz=.has_value() ? ::std::make_optional(C10_AS_INTARRAYREF_SLOW(*z>.has_value() ? ::std::make_optional(c10::fromIntArrayRefSlow(*z.vec()z->vec()) : ::std::nulloptz) : ::std::nulloptzconst_cast<Tensor&>()rC   r   ÚreturnÚstr)%Ú
isinstancer3   r
   r   r<   r   Úelemr(   r   r   r   r   r   r   r   Ú possibly_redundant_memory_formatÚoptions_ctyper!   r   r	   r   r   Úout_tensor_ctypeÚlongVec_ctyper   ÚlongSymVec_ctyper    r   ÚoptionalLongVec_ctyper   r   ÚoptionalScalar_ctyper   ÚoptionalTensor_ctyper#   r   r"   )rC   rJ   rL   rM   r%   rN   rO   rP   rQ   Ú
out_tensorÚsymIntArrayRef_typeÚrÚargnameÚsymInt_typeÚintArrayRef_ctypeÚsymIntArrayRef_ctypeÚoptionalIntArrayRef_ctypeÚoptionalScalarRef_ctypeÚoptionalTensorRef_ctypeÚconst_ref_tensor_ctyper0   rE   Úgoal_ctypesrK   rF   s                       €€€€€r.   rK   ztranslate.<locals>.solveé   s—  ø€ õ	,ð �3‰;à�t‘9Ðô �d—i‘i¤Ô/ðñ Ü˜tŸy™y¬+°d·i±i·n±nÓ*EÓFÈvôð ô �d—i‘i¤Ô-ðÙœZ¨¯	©	°4·9±9·>±>ÓBÈ6ÔRÐRð �9‰9œ¤i´Ó&6Ó7Ò7Ùœ D§I¡I¬y¼Ó/FÓGÐPVÔWÐWáÙ�$ŒKð ”:˜o¬}¼YÄ}Ó=UÓ/VÓWÒWÙ(ÜÜ"×CÑCÜ!¤)¬MÓ":Ó;óóˆMô  Ñ+Ø$Ð$ð%Ù&¤}Ó5�ØSÐT[ÐS\Ð\^Ð_lÐ^mÐmnÐoÐoð ”Z 	¬9´^Ó+DÓEÒEÙ Ü˜7¤M´)¼KÓ2HÓ$IÓJóˆEñ &Ü˜<¬´yÄÓ7GÓ)HÓIóˆJñ "Ü˜8¤]´9¼WÓ3EÓ%FÓGóˆFñ "Ü˜8¤]´9¼WÓ3EÓ%FÓGóˆFð ,¨E¨7°)¸F¸8À9ÈVÈHÐTdÐeoÐdpÐpqÐrÐrà”Z ¬´yÄÓ7MÓ)NÓOÒOð5Ù&¤}Ó5�Ø6°w°i¸}ÐMÐMð
 ”Z ¬-¼	Ä'Ó8JÓ*KÓLÒLð0Ù&¤}Ó5�Ø!˜ -Ð0Ð0ð
 ”Z ¬-¼	Ä'Ó8JÓ*KÓLÒLð0Ù&¤}Ó5�Ø!˜ -Ð0Ð0ð
 ”Z ¬m¼IÄeÓ<LÓ.MÓNÒNð(Ù&¤}Ó5�Ø!˜Ð"6Ð7Ð7ð �Y‰Yœ)¤LÓ1Ò1ðIÙ#¤J¨t¯y©y¼-Ó$HÓIÐIð �Y‰Yœ)¤OÓ4Ò4ðMÙ ¤¨D¯I©I´yÄÓ7NÓ!OÓP�Ø2°1°#°QÐ7Ð7ð �Y‰Yœ)¤GÓ,Ò,Ù¤
¨4¯9©9´iÄÓ6FÓ GÓHÐHØ�Y‰Yœ-¬	´'Ó(:Ó;Ò;Ù"Ü˜4Ÿ9™9¤m´I¼eÓ4DÓ&EÓFóˆGð �YÐOÐPWÈyÐXkÐlÐlØ�Y‰Yœ)¤EÓ*Ò*Ù&¤z°$·)±)¼YÄwÓ=OÓ'PÓQˆKØ!�]Ð"@ÐAÐAØ�Y‰Yœ-¬	´%Ó(8Ó9Ò9Ù"Ü˜4Ÿ9™9¤m´I¼gÓ4FÓ&GÓHóˆGð �YÐBÀ7À)ÐK|Ð}Ð}Ø�Y‰Yœ)Ô$8Ó9Ò9ð}Ù#¤J¨t¯y©yÔ:OÓ$PÓQÐQð �Y‰Yœ)Ô$;Ó<Ò<ñ #Ü˜4Ÿ9™9¤iÔ0DÓ&EÓFóˆGð �YÐ\Ð]dÐ\eÐexÐyÐyØ�Y‰Yœ)Ô$6Ó7Ò7Ù¤
¨4¯9©9Ô6JÓ KÓLÐLØ�Y‰Yœ)Ô$6Ó7Ò7Ù¤
¨4¯9©9Ô6JÓ KÓLÐLò 'Ø�y‰yœK¬	´%Ó(8Ó9Ò9Ü$.¨t¯y©y¼)ÄLÓ:QÓ$RÐ!Ù&Ð'8Ó9�Ø!˜ &Ð)Ð)Ø�y‰yœK¬	´'Ó(:Ó;Ò;Ü'1°$·)±)¼YÄÓ=WÓ'XÐ$Ù&Ð';Ó<�Ø!˜ &Ð)Ð)Ø—‘œm¬K¼	Ä%Ó8HÓ,IÓJÒJÜ,6Ø—I‘IœyÔ)=Ó>ó-Ð)ñ 'Ð'@ÓA�Ø!˜Ð"FÀwÀiÐOhÐiÐiØ—‘œm¬I´gÓ,>Ó?Ò?Ü*4Ø—I‘IœyÔ);Ó<ó+Ð'ñ 'Ð'>Ó?�Ø!˜Ð"FÀwÀiÐOaÐbÐbØ—‘œm¬I´gÓ,>Ó?Ò?Ü*4Ø—I‘IœyÔ);Ó<ó+Ð'ñ 'Ð'>Ó?�Ø!˜Ð"FÀwÀiÐOaÐbÐbð �9‰9œ¤I¬gÓ$6Ó7Ò7Ü%/Ø—	‘	œ=¬´7Ó);Ó<ó&Ð"ñ #Ð#9Ó:ˆGØ)¨'¨°!Ð4Ð4áˆd�øôs ò Úðûô ò Úðûô6 ò %Ø$Ò$ð%ûô* ò 5Ù)Ô*:Ó;�
Ø$˜ ^Ð4Ò4ð5ûô ò 0Ù)Ô*:Ó;�
Ø$˜ YÐ/Ò/ð0ûô ò 0Ù)Ô*:Ó;�
Ø$˜ YÐ/Ò/ð0ûô ò (ñ *Ô*:Ó;�
Ù'ð	(ûô ò Iá&2Ü˜tŸy™y¬)´OÓ*DÓEó'Ð#ð 2Ð2EÐ1FÀaÐHÒHðIûô ò MÙ#¤J¨t¯y©yÔ:JÓ$KÓLÒLðMûô( ò }Ù&Ü˜tŸy™y¬)Ô4KÓ*LÓMó�ð "˜Ð"_Ð`gÐ_hÐh{Ð|Ò|ð	}ús³   ¬:`/ Â1`? Å4a É:a  Ê2b  Ë)b  Ì c  Íc Î.d Ô$e à/	`<à;`<à?	aáaáaáaá a=á<a=â bâbâ b=â<b=ã cãcã8dädä)eåeå:fæfFrI   )rC   r   rR   r   )rC   r   rJ   ÚboolrR   rS   )rT   r   Úappendr   r<   Únctyper2   r3   r
   rU   r   r   rS   r   r"   r   r   r   r   r   r   r   r   )ÚbindingsÚgoalsr/   r0   Úbinding_exprsÚbÚgr>   rE   ri   rK   rF   s      `    @@@@r.   Ú	translaterr   g   sM  ü€ ð !#€MÛˆÜ�aœÔ!Ø× Ñ ÜØŸ™ØŸ™ôõð × Ñ  Õ#ð ð %'€KÛˆÜ�aœÔ!Ø×Ñ˜qŸx™xÕ(à×Ñ˜qÕ!ð	 ð "$€CÜˆØ—f‘fˆˆA�F‰F‰ð@ �F‰Fˆä�qœ-Ô(Ü˜1Ÿ6™6¤=Ô1Ü˜1Ÿ6™6Ÿ;™;¬	Ô2Ü�A—F‘F—K‘K×$Ñ$Ó%¨Ò5ð �A—F‘F�8Ð+¨A¯F©F¨8Ð3CÐDð ”
˜1Ÿ6™6Ÿ;™;×+Ñ+¬]¼9ÄWÓ;MÓ-NÓOÑPð �6‰6”]¤=´¼7Ó1CÓ#DÓEÒEà�Q—V‘V�HÐ.¨q¯v©v¨hÐ6\Ð]^×]cÑ]cÐ\dð  eAð  Bð ”
˜1Ÿ6™6¤9Ô-?Ó#@ÓAÑBð �6‰6”]¤9¬WÓ#5Ó6Ò6Ø=>¸q¿v¹v¸hÐFVÐ;WˆC”
˜1Ÿ6™6¤9¬XÓ#6Ó7Ñ8à�6‰6”]¤=´¼7Ó1CÓ#DÓEÒEà�A—F‘F�8ÐBÀ1Ç6Á6À(ÐJoÐpð ”
˜1Ÿ6™6¤9Ô-?Ó#@ÓAÑBð �6‰6”YœxÓ(Ò(à(¨¯©¨°Ð2ð ”
˜1Ÿ6™6¤9¬XÓ#6Ó7Ñ8ð
 �6‰6”]¤9¬]¼9ÄWÓ;MÓ-NÓ#OÓPÔPà(¨¯©¨°Ð2ð ”
˜1Ÿ6™6¤9Ô-?Ó#@ÓAÓBðA ñJ à(ð 	ŒJ�vœ{¬9´WÓ+=Ó>Ó?Ñ@ð )ð 	ŒJ�vœ}¬Y´wÓ-?Ó@ÓAÑBõ
÷.Jñ JñX 6AÓA±[°ŒD‘�q Ô'¨Õ+°[ÑAÐAùÒAs   ÐP.N)
rm   zSequence[Expr | Binding]rn   zSequence[NamedCType | Binding]r/   rj   r0   rj   rR   z
list[Expr])0Ú
__future__r   Útypingr   r   Útorchgen.api.typesr   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   r    r!   r"   r#   Úcollections.abcr$   rW   rX   rY   rZ   r[   r\   r]   ÚRuntimeErrorr(   rr   r,   r-   r.   Ú<module>rx      s  ðÝ "ç *÷÷ ÷ ÷ ÷ ÷ ÷ ÷ ñD Ý(ñ> ˜9¡m±I¸nÓ4MÓ&NÓO€á˜e¡]±9¸WÓ3EÓ%FÓGÐ á™I eÓ,Ó-€Ù™y¨Ó1Ó2Ð Ù%¡k±)¸EÓ2BÓ&CÓDÐ Ù$¡Y¨wÓ%7Ó8Ð Ù$¡Y¨wÓ%7Ó8Ð ô	�ô 	ð2 Ø(-ñNBØ&ðNBà)ðNBð ð	NBð
 "&ðNBð ôNBr-   