§
    oF§j  ã                  ó  — U d dl mZ d dlmZmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlZd dlZd dlmZ  ej        ¦   «         Zdad	ed
<   dZd4d„Zd5d„Zd6d„Zd7d„Zd8d„Zd9d!„Zd:d%„Zd;d<d,„Zd=d.„Zd>d/„Zd?d1„Z d@d2„Z!dAd3„Z"dS )Bé    )Úannotations)ÚMappingÚSequence)ÚfieldsÚis_dataclass)Údatetime)ÚEnum)ÚPathN)ÚAnyúPath | NoneÚ	_LOG_PATHzdata:Úfolderústr | os.PathLike[str] | NoneÚreturnc                óö  — t           5  | sd a	 d d d ¦  «         d S t          | ¦  «                             ¦   «                              ¦   «         }|                     dd¬¦  «         t          j        ¦   «                              d¦  «        }|d|› dt          j
        ¦   «         › d�z  at                               dd¬	¦  «         t          d
t          › �¦  «         t          cd d d ¦  «         S # 1 swxY w Y   d S )NT)ÚparentsÚexist_okz%Y%m%d_%H%M%S_%fÚllm_io_Ú_z.logzúWanGP LLM I/O transcript
Text is preserved verbatim. Non-text content is written using its known type/name, token IDs, or numeric values.
Binary media is represented by source, media type, dimensions, and size; encoded binary bodies are not dumped.

úutf-8)Úencodingz![LLM I/O] Logging LLM traffic to )Ú_LOCKr   r
   Ú
expanduserÚresolveÚmkdirr   ÚnowÚstrftimeÚosÚgetpidÚ
write_textÚprint)r   ÚtargetÚstamps      ú&C:\Users\johnn\Wan2GP\shared\llm_io.pyÚconfigure_llm_ior%      sa  € å	ð ð Øð 	ØˆIØðð ð ñ ô ð ð ð õ �f‘”×(Ò(Ñ*Ô*×2Ò2Ñ4Ô4ˆØ�Š˜T¨DˆÑ1Ô1Ð1Ý”‘”×'Ò'Ð(:Ñ;Ô;ˆØÐ@ uÐ@Ð@­r¬y©{¬{Ð@Ð@Ð@Ñ@ˆ	Ý×ÒðAð ð	 	ñ 	
ô 	
ð 	
õ 	Ð=µ)Ð=Ð=Ñ>Ô>Ð>Ýðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s   ˆC.›CC.Ã.C2Ã5C2c                 óR   — t           5  t          cd d d ¦  «         S # 1 swxY w Y   d S ©N©r   r   © ó    r$   Úget_llm_io_pathr+   &   so   € Ý	ð ð Ýðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s   ˆœ £ Úboolc                 óV   — t           5  t          d ucd d d ¦  «         S # 1 swxY w Y   d S r'   r(   r)   r*   r$   Úllm_io_enabledr.   +   st   € Ý	ð %ð %Ý Ð$ð%ð %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   ˆ	ž"¥"Ú	directionÚstrÚengineÚstreamÚpayloadr   ÚmetadataÚNonec           	     ó  — t           5  t          €	 d d d ¦  «         d S t          | pd¦  «                             ¦   «                              ¦   «         }|dk    rdn	|dk    rdn|}dt          j        ¦   «                              ¦   «                              d¬¦  «        › d	|› d
|› d|› �}d|dg}|r7| 	                    t          |¦  «        ¦  «         |                     d¦  «         | 	                    t          |¦  «        ¦  «         t                               ddd¬¦  «        5 }	|	                     d                     |¦  «        dz   ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NÚ ÚOUTu   OUT â†’ LLMÚINu
   IN â†� LLMú[Úmilliseconds)Útimespecz] [z	] engine=z stream=zd====================================================================================================zd----------------------------------------------------------------------------------------------------Úar   Ú
)r   Únewlinez

)r   r   r0   ÚstripÚupperr   r   Ú
astimezoneÚ	isoformatÚextendÚ_renderÚappendÚopenÚwriteÚjoin)
r/   r1   r2   r3   r4   Údirection_keyÚdirection_labelÚheaderÚlinesÚwriters
             r$   Ú
log_llm_iorO   0   s=  € Ý	ð 4ð 4ÝÐØð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4õ ˜I˜O¨Ñ,Ô,×2Ò2Ñ4Ô4×:Ò:Ñ<Ô<ˆØ+8¸EÒ+AÐ+A˜-˜-ÐWdÐhlÒWlÐWlÀ|À|Ðrˆð K•X”\‘^”^×.Ò.Ñ0Ô0×:Ò:ÀNÐ:ÑSÔSð  Kð  KÐXgð  Kð  KÐrxð  Kð  Kð  CIð  Kð  KˆØ˜F IÐ.ˆØð 	$Ø�LŠL� Ñ*Ô*Ñ+Ô+Ð+Ø�LŠL˜Ñ#Ô#Ð#Ø�Š•W˜WÑ%Ô%Ñ&Ô&Ð&Ý�^Š^˜C¨'¸4ˆ^Ñ@Ô@ð 	4ÀFØ�LŠL˜Ÿš 5Ñ)Ô)¨FÑ2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s;   ˆ	E7žD	E7Ä',EÅE7ÅE#	Å#E7Å&E#	Å'E7Å7E;Å>E;Úmediaúdict[str, Any]c                ó^  — t          | d¦  «        r½t          | d¦  «        r­t          | t          t          j        f¦  «        sŒ| j        \  }}t          t          | dd¦  «        pd¦  «        t          t          | dd¦  «        pt          | ¦  «        j        ¦  «        t          |¦  «        t          |¦  «        t          | j
        ¦  «        dœS t          | ¦  «                             ¦   «         }t          |¦  «        |                     ¦   «         j        dœ}	 d	d
lm} |                     |¦  «        5 }|                     |                     ¦   «         p|j        pd|j        |j        |j
        dœ¦  «         d d d ¦  «         n# 1 swxY w Y   n# t.          t0          f$ r d|d<   Y nw xY w|S )NÚsizeÚmodeÚfilenamer7   z<in-memory image>Úformat)ÚsourceÚ
media_typeÚwidthÚheightrT   )rW   Úbytesr   )ÚImageÚimage)rX   rY   rZ   rT   ÚfilerX   )ÚhasattrÚ
isinstancer0   r   ÚPathLikerS   ÚgetattrÚtypeÚ__name__ÚintrT   r
   r   ÚstatÚst_sizeÚPILr\   rG   ÚupdateÚget_format_mimetyperV   rY   rZ   ÚImportErrorÚOSError)rP   rY   rZ   rW   Ú
descriptorr\   r]   s          r$   Úmedia_descriptorrn   @   s  € Ýˆu�fÑÔð 
¥'¨%°Ñ"8Ô"8ð 
ÅÈEÕTWÕY[ÔYdÐSeÑAfÔAfð 
Øœ
‰ˆˆvå�' %¨°RÑ8Ô8ÐOÐ<OÑPÔPÝ�g e¨X°rÑ:Ô:ÐR½dÀ5¹k¼kÔ>RÑSÔSÝ˜‘Z”ZÝ˜&‘k”kÝ˜œ
‘O”Oð
ð 
ð 	
õ �%‰[Œ[× Ò Ñ"Ô"€FÝ,/°©K¬KÀ&Ç+Â+Á-Ä-ÔBWÐ!XÐ!X€Jð*ØÐÐÐÐÐà�ZŠZ˜ÑÔð 	h 5Ø×Ò¨U×-FÒ-FÑ-HÔ-HÐ-cÈEÌLÐ-cÐ\cÐnsÔnyð  FKô  FRð  \aô  \fð  gð  gñ  hô  hð  hð	hð 	hð 	hñ 	hô 	hð 	hð 	hð 	hð 	hð 	hð 	høøøð 	hð 	hð 	hð 	høøå�Ð!ð *ð *ð *Ø#)ˆ
�<Ñ Ð Ð ð*øøøàÐs7   ÄF Ä4AFÅ9F ÆF	Æ	F ÆF	ÆF ÆF*Æ)F*Ú	tokenizerúdict[str, dict[str, Any]]c                ó  — i }dD ]…}t          | |› d�d ¦  «        }|€Œt          | |› d�d ¦  «        }|€2t          | d¦  «        r"|                      t          |¦  «        ¦  «        }t          |¦  «        t	          |p|¦  «        dœ||<   Œ†|S )N)ÚbosÚeosÚpadÚunkÚsepÚclsÚmaskÚ	_token_idÚ_tokenÚconvert_ids_to_tokens©ÚidÚname)rb   r_   r{   re   r0   )ro   Úresultr~   Útoken_idÚ
token_names        r$   Úknown_token_idsr‚   V   s¬   € Ø€FØBð Nð NˆÝ˜9¨Ð&8Ð&8Ð&8¸$Ñ?Ô?ˆØÐØÝ˜Y¨4¨¨¨¸Ñ>Ô>ˆ
ØÐ¥'¨)Ð5LÑ"MÔ"MÐØ"×8Ò8½¸X¹¼ÑGÔGˆJÝ! (™mœmµS¸Ð9KÀtÑ5LÔ5LÐMÐMˆˆt‰ˆØ€Mr*   r€   ú
int | Noneúdict[str, Any] | Nonec                ó´   — |€d S t          | d¦  «        r"|                      t          |¦  «        ¦  «        nd}t          |¦  «        t          |pd¦  «        dœS )Nr{   r7   z	<unknown>r|   )r_   r{   re   r0   )ro   r€   r�   s      r$   Útoken_id_descriptorr†   c   s]   € ØÐØˆtÝCJÈ9ÐVmÑCnÔCnÐv�×0Ò0µ°X±´Ñ?Ô?Ð?Ðtv€JÝ�h‘-”-­¨ZÐ-F¸;Ñ)GÔ)GÐHÐHÐHr*   ÚvalueÚindentre   Úseenúset[int] | Noneú	list[str]c                óê  ‡— d‰z  }|€t          ¦   «         n|}t          | ¦  «        } t          | t          ¦  «        rt	          | |¦  «        S | �"t          | t
          t          t          f¦  «        r|t          | ¦  «        z   gS t          | ¦  «        }||v r|dt          | ¦  «        j
        › d�z   gS t          | t          ¦  «        �r>|                     |¦  «         g }|                      ¦   «         D ]õ\  }}t          ||¦  «        }|t          |¦  «        z   dz   }t          |¦  «        r€t!          |d|¦  «        }	t#          |	¦  «        dk    r"|                     |dz   |	d         z   ¦  «         Œ|                     |dz   ¦  «         |                     ˆfd„|	D ¦   «         ¦  «         Œ¹|                     |¦  «         |                     t!          |‰d	z   |¦  «        ¦  «         Œö|                     |¦  «         |p|d
z   gS t          | t*          ¦  «        rÆt          | t          t,          t.          f¦  «        s¤|                     |¦  «         g }| D ]m}t!          |‰d	z   |¦  «        }
|                     |dz   |
rd|
d                              ¦   «         z   ndz   ¦  «         |                     |
dd …         ¦  «         Œn|                     |¦  «         |p|dz   gS |t          | ¦  «        z   gS )NÚ Ú<z: recursive reference>ú:r   é   z |c              3  ó.   •K  — | ]}d ‰dz   z  |z   V — ŒdS )r�   é   Nr)   )Ú.0Úlinerˆ   s     €r$   ú	<genexpr>z_render.<locals>.<genexpr>�   s1   øè è € Ð PÐ P¸t ¨°©
Ñ!3°dÑ!:Ð PÐ PÐ PÐ PÐ PÐ Pr*   r’   z<empty mapping>Ú-r7   z<empty sequence>)ÚsetÚ_plain_valuer`   r0   Ú_render_textr,   re   Úfloatr}   rc   rd   r   ÚaddÚitemsÚ_binary_descriptorÚ
_is_scalarrE   ÚlenrF   rD   Úremover   r[   Ú	bytearrayÚlstrip)r‡   rˆ   r‰   ÚprefixÚidentityrM   ÚkeyÚitemÚlabelÚrenderedÚ
item_liness    `         r$   rE   rE   j   s  ø€ Ø�6‰\€FØ�L�3‰5Œ5ˆ5 d€DÝ˜ÑÔ€EÝ�%�ÑÔð +Ý˜E 6Ñ*Ô*Ð*Ø€}�
 5­4µµeÐ*<Ñ=Ô=€}Ø�˜U™œÑ#Ð$Ð$Ý�%‰yŒy€HØ�4ÐÐØÐI�T %™[œ[Ô1ÐIÐIÐIÑIÐJÐJÝ�%�Ñ!Ô!ñ 5Ø�Š�ÑÔÐØˆØŸš™œð 	>ð 	>‰IˆC�Ý% c¨4Ñ0Ô0ˆDØ�S ™XœXÑ%¨Ñ+ˆEÝ˜$ÑÔð 	>Ý" 4¨¨DÑ1Ô1�Ý�x‘=”= AÒ%Ð%Ø—L’L ¨¡¨x¸¬{Ñ!:Ñ;Ô;Ð;Ð;à—L’L ¨¡Ñ.Ô.Ð.Ø—L’LÐ PÐ PÐ PÐ PÀxÐ PÑ PÔ PÑPÔPÐPÐPà—’˜UÑ#Ô#Ð#Ø—’�W T¨6°A©:°tÑ<Ô<Ñ=Ô=Ð=Ð=Ø�Š�HÑÔÐØÐ4˜Ð"3Ñ3Ð4Ð4Ý�%�Ñ"Ô"ð 6­:°e½cÅ5Í)Ð=TÑ+UÔ+Uð 6Ø�Š�ÑÔÐØˆØð 	)ð 	)ˆDÝ   v°¡z°4Ñ8Ô8ˆJØ�LŠL˜ #™È:Ð)]¨#°
¸1´×0DÒ0DÑ0FÔ0FÑ*FÐ*FÐ[]Ñ^Ñ_Ô_Ð_Ø�LŠL˜ A B BœÑ(Ô(Ð(Ð(Ø�Š�HÑÔÐØÐ5˜Ð"4Ñ4Ð5Ð5Ø•S˜‘Z”ZÑÐ Ð r*   r£   c                ó^   ‡— d| vr‰| z   gS ˆfd„|                       ¦   «         D ¦   «         p‰gS )Nr>   c                ó   •— g | ]}‰|z   ‘ŒS r)   r)   )r“   r”   r£   s     €r$   ú
<listcomp>z _render_text.<locals>.<listcomp>–   s   ø€ Ð9Ð9Ð9˜dˆF�T‰MÐ9Ð9Ð9r*   )Ú
splitlines)r‡   r£   s    `r$   r™   r™   “   sH   ø€ Ø�5ÐÐØ˜‘ÐÐØ9Ð9Ð9Ð9 e×&6Ò&6Ñ&8Ô&8Ð9Ñ9Ô9ÐE¸f¸XÐEr*   c                ó´  ‡ — t          ‰ t          ¦  «        r't          ‰ ¦  «        j        › d‰ j        › d‰ j        › d�S t          ‰ t          ¦  «        rt          ‰ ¦  «        S t          ‰ t          t          t          f¦  «        r)dt          ‰ ¦  «        j        › dt          ‰ ¦  «        d›d�S t          ‰ ¦  «        rFt          ‰ t          ¦  «        s1dt          ‰ ¦  «        j        iˆ fd	„t          ‰ ¦  «        D ¦   «         ¥S t          ‰ d
¦  «        rut          ‰ d¦  «        ret          ‰ ¦  «        j        t          ‰ j        ¦  «        t          ‰ j        ¦  «        dœ}t          ‰ d¦  «        rt          ‰ j        ¦  «        |d<   |S t          ‰ d¦  «        rAdt          ‰ ¦  «        j        id„ t'          ‰ ¦  «                             ¦   «         D ¦   «         ¥S ‰ S )Nú.z (ú)rŽ   z: Ú,z bytes>Úcontent_typec                óF   •— i | ]}|j         t          ‰|j         ¦  «        “ŒS r)   )r~   rb   )r“   Úfieldr‡   s     €r$   ú
<dictcomp>z _plain_value.<locals>.<dictcomp>¡   s,   ø€ Ð8{Ð8{Ð8{Ðdi¸¼ÅWÈUÐTYÔT^ÑE_ÔE_Ð8{Ð8{Ð8{r*   ÚshapeÚdtype)r²   r¶   r·   ÚdeviceÚ__dict__c                óD   — i | ]\  }}|                      d ¦  «        °||“ŒS )r   )Ú
startswith)r“   r¥   r¦   s      r$   rµ   z _plain_value.<locals>.<dictcomp>¨   sT   € ð  9Dð  9Dð  9DÁyÀsÈDÐor×o}Òo}ð  Bñ  pCô  pCð  9D¸¸dð  9Dð  9Dð  9Dr*   )r`   r	   rc   rd   r~   r‡   r
   r0   r[   r¡   Ú
memoryviewrŸ   r   r   r_   Útupler¶   r·   r¸   Úvarsrœ   )r‡   rm   s   ` r$   r˜   r˜   ™   sì  ø€ Ý�%�ÑÔð FÝ�u‘+”+Ô&ÐEÐE¨¬ÐEÐE°u´{ÐEÐEÐEÐEÝ�%�ÑÔð Ý�5‰zŒzÐÝ�%�%¥­JÐ7Ñ8Ô8ð AØ@•4˜‘;”;Ô'Ð@Ð@­3¨u©:¬:Ð@Ð@Ð@Ð@Ð@Ý�EÑÔð }¥:¨eµTÑ#:Ô#:ð }Ø¥ U¡¤Ô 4Ð|Ð8{Ð8{Ð8{Ð8{ÕmsÐtyÑmzÔmzÐ8{Ñ8{Ô8{Ð|Ð|Ýˆu�gÑÔð ¥7¨5°'Ñ#:Ô#:ð Ý&*¨5¡k¤kÔ&:ÅUÈ5Ì;ÑEWÔEWÕbeÐfkÔfqÑbrÔbrÐsÐsˆ
Ý�5˜(Ñ#Ô#ð 	5Ý#& u¤|Ñ#4Ô#4ˆJ�xÑ ØÐÝˆu�jÑ!Ô!ð EØ¥ U¡¤Ô 4ð  Eð  9Dð  9DÕTXÐY^ÑT_ÔT_×TeÒTeÑTgÔTgð  9Dñ  9Dô  9Dð  Eð  	EØ€Lr*   r¥   c                ó¨  — t          | ¦  «                             ¦   «         }t          |t           ¦  «        rJ|                     t          ¦  «        r0|                     d¦  «        \  }}}d|› dt          |¦  «        d›d�S |dk    rKt          |t           ¦  «        r6t          |¦  «        dk    r#t          |¦  «        rdt          |¦  «        d›d�S |S )	Nr±   rŽ   z; encoded characters=Ú>Údataé   z<encoded content: z characters>)r0   Úcasefoldr`   r»   Ú_DATA_URI_PREFIXÚ	partitionrŸ   Ú_looks_like_encoded_binary)r¥   r‡   Úkey_nameÚmedia_headerr   Úencodeds         r$   r�   r�   ¬   sÕ   € Ý�3‰xŒx× Ò Ñ"Ô"€HÝ�%�ÑÔð H %×"2Ò"2Õ3CÑ"DÔ"Dð HØ#(§?¢?°3Ñ#7Ô#7Ñ ˆ�a˜ØG�<ÐGÐGµc¸'±l´lÐGÐGÐGÐGÐGØ�6ÒÐ�j¨µÑ4Ô4Ð½¸U¹¼ÀcÒ9IÐ9IÕNhÐinÑNoÔNoÐ9IØ>¥C¨¡J¤JÐ>Ð>Ð>Ð>Ð>Ø€Lr*   c                ó´   — |                       dd¦  «                              dd¦  «        }t          |¦  «        dz  dk    ot          d„ |D ¦   «         ¦  «        S )Núr7   r>   é   r   c              3  óF   K  — | ]}|                      ¦   «         p|d v V — ŒdS )z+/=N)Úisalnum)r“   Ú	characters     r$   r•   z-_looks_like_encoded_binary.<locals>.<genexpr>¸   s9   è è € Ð(lÐ(lÐW`¨×):Ò):Ñ)<Ô)<Ð)RÀ	ÈUÐ@RÐ(lÐ(lÐ(lÐ(lÐ(lÐ(lr*   )ÚreplacerŸ   Úall)r‡   Úcompacts     r$   rÆ   rÆ   ¶   sX   € Ø�mŠm˜D "Ñ%Ô%×-Ò-¨d°BÑ7Ô7€GÝˆw‰<Œ<˜!Ñ˜qÒ Ðl¥SÐ(lÐ(lÐdkÐ(lÑ(lÔ(lÑ%lÔ%lÐlr*   c                óx   — t          | ¦  «        } | d u p't          | t          t          t          t
          f¦  «        S r'   )r˜   r`   r0   r,   re   rš   )r‡   s    r$   rž   rž   »   s1   € Ý˜ÑÔ€EØ�Dˆ=ÐF�J u­sµD½#½uÐ.EÑFÔFÐFr*   )r   r   r   r   )r   r   )r   r,   )r/   r0   r1   r0   r2   r0   r3   r   r4   r   r   r5   )rP   r   r   rQ   )ro   r   r   rp   )ro   r   r€   rƒ   r   r„   )r   N)r‡   r   rˆ   re   r‰   rŠ   r   r‹   )r‡   r0   r£   r0   r   r‹   )r‡   r   r   r   )r¥   r   r‡   r   r   r   )r‡   r0   r   r,   )r‡   r   r   r,   )#Ú
__future__r   Úcollections.abcr   r   Údataclassesr   r   r   Úenumr	   Úpathlibr
   r   Ú	threadingÚtypingr   ÚRLockr   r   Ú__annotations__rÄ   r%   r+   r.   rO   rn   r‚   r†   rE   r™   r˜   r�   rÆ   rž   r)   r*   r$   ú<module>rÝ      sõ  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð ð 	ˆ	ŒÑÔ€Ø€	Ð Ð Ð Ñ ØÐ ðð ð ð ð(ð ð ð ð
%ð %ð %ð %ð
4ð 4ð 4ð 4ð ð ð ð ð,
ð 
ð 
ð 
ðIð Ið Ið Ið&!ð &!ð &!ð &!ð &!ðRFð Fð Fð Fðð ð ð ð&ð ð ð ðmð mð mð mð
Gð Gð Gð Gð Gð Gr*   