+
    "Ý³j³6  ã                   ó¢  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	H
t
HtHtHt ^ RIt^ RIHt ^RIHt ]P&                  ! R4      tR R lt ! R	 R
4      t ! R R4      tR R ltR R ltR tR R ltR R ltR R ltR R ltR R ltR R lt RRR RR!R/R" R# llt! ! R$ R%4      t"] PF                  R!RR&R/R' R( ll4       t$R# ))é    N)ÚOrderedDict)ÚAnyÚDictÚIteratorÚOptionalÚSequence©ÚLogBar©Úenv_flagz\x1b\[[0-9;]*mc                ó$   € V ^8„  d   QhR\         /# ©é   Úreturn©Úbool)Úformats   "ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/logger.pyÚ__annotate__r      s   € ÷ +ñ +œDñ +ó    c                 ó   € \        R4      # )zØCheck env at call time so flags can be toggled without restarting.

Per-module timing is intentionally opt-in via GPTQMODEL_LOG_TIMES;
QuantizationRegionTimer aggregates are always recorded and flushed
periodically.
ÚGPTQMODEL_LOG_TIMESr   © r   r   Ú_log_times_enabledr      s   € ô Ð)Ó*Ð*r   c                   ó�   a € ] tR t^"t o RtRR ltR tR tR tR t	R t
R	 tR
 tRV 3R lR lltR tRV 3R lR lltR tRtV tR# )Ú_SilentProgressz@Minimal no-op progress handle for non-interactive test sessions.Nc                ó.   € Ve   TMRV n         ^ V n        R # )Nr   ©Ú	_iterableÚcurrent_iter_step)ÚselfÚiterables   &&r   Ú__init__Ú_SilentProgress.__init__%   s   € Ø%-Ò%9™¸rˆŒØ!"ˆÖr   c                ó¨   € \        V P                  \        4      '       d   \        \	        V P                  4      4      # \        V P                  4      # ©N)Ú
isinstancer   ÚintÚiterÚrange©r!   s   &r   Ú__iter__Ú_SilentProgress.__iter__)   s6   € Ü�d—n‘n¤c×*Ò*Üœ˜dŸn™nÓ-Ó.Ð.Ü�D—N‘NÓ#Ð#r   c                ó„   € \        V P                  \        4      '       d   V P                  # \        V P                  4      # r&   )r'   r   r(   Úlenr+   s   &r   Ú__len__Ú_SilentProgress.__len__.   s,   € Ü�d—n‘n¤c×*Ò*Ø—>‘>Ð!Ü�4—>‘>Ó"Ð"r   c                ó   € V # r&   r   ©r!   Ú_argsÚ_kwargss   &*,r   ÚattachÚ_SilentProgress.attach3   ó   € Øˆr   c                ó   € V # r&   r   r+   s   &r   ÚmanualÚ_SilentProgress.manual6   r8   r   c                ó   € V # r&   r   )r!   r5   s   &,r   ÚsetÚ_SilentProgress.set9   r8   r   c                ó   € V # r&   r   r3   s   &*,r   ÚtitleÚ_SilentProgress.title<   r8   r   c                ó   € V # r&   r   r3   s   &*,r   ÚsubtitleÚ_SilentProgress.subtitle?   r8   r   c                ó    <€ V ^8„  d   QhRS[ /# )r   Úforcer   )r   Ú__classdict__s   "€r   r   Ú_SilentProgress.__annotate__B   s   ø€ ÷ ñ ™$ñ r   c                ó   € V # r&   r   )r!   rF   s   &&r   ÚdrawÚ_SilentProgress.drawB   r8   r   c                ó   € V # r&   r   r+   s   &r   ÚrefreshÚ_SilentProgress.refreshE   r8   r   c                ó    <€ V ^8„  d   QhRS[ /# )r   Ústep)r(   )r   rG   s   "€r   r   rH   H   s   ø€ ÷ ñ ™ñ r   c                óJ   € V ;P                   \        V4      ,          un         V # r&   )r    r(   )r!   rP   s   &&r   ÚnextÚ_SilentProgress.nextH   s   € Ø×Ò¤# d£)Õ+ÕØˆr   c                ó   € R # r&   r   r+   s   &r   ÚcloseÚ_SilentProgress.closeL   s   € Ùr   r   r&   )F)é   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r#   r,   r0   r6   r:   r=   r@   rC   rJ   rM   rR   rU   Ú__static_attributes__Ú__classdictcell__©rG   s   @r   r   r   "   sS   ø‡ € ÙJô#ò$ò
#ò
òòòò÷ò ò÷ò ÷ð r   r   c                   óx   a € ] tR t^Pt o RtV 3R lR ltRR/V 3R lR lltRRR	R
^/V 3R lR llltR tRt	V t
R# )Ú_AdaptiveLoggerProxyzLProxy that keeps structured logs while adapting live rendering at call time.c                ó    <€ V ^8„  d   QhRS[ /# ©r   Úloggerr	   )r   rG   s   "€r   r   Ú!_AdaptiveLoggerProxy.__annotate__S   s   ø€ ÷ ñ ™vñ r   c                ó   € Wn         R # r&   ©Ú_logger©r!   rd   s   &&r   r#   Ú_AdaptiveLoggerProxy.__init__S   s   € ØŽr   Úoutput_intervalNc                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r   rk   )r   r(   )r   rG   s   "€r   r   re   V   s   ø€ ÷ Jñ J©x¹­}ñ Jr   c               óp   € \        4       '       d   \        V4      # V P                  P                  WR 7      # ))rk   )Ú_suppress_live_renderablesr   rh   Úpb)r!   r"   rk   s   &&$r   ro   Ú_AdaptiveLoggerProxy.pbV   s+   € Ü%×'Ò'Ü" 8Ó,Ð,Ø�|‰|�‰˜xˆÓIÐIr   Úintervalg      à?Útail_lengthc                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r   r@   rq   rr   )ÚstrÚfloatr(   )r   rG   s   "€r   r   re   [   s'   ø€ ÷ ]ñ ]™Sð ]±Eð ]Écñ ]r   c               óp   € \        4       '       d   \        4       # V P                  P                  WVR 7      # ))r@   rq   rr   )rn   r   rh   Úspinner)r!   r@   rq   rr   s   &&$$r   rw   Ú_AdaptiveLoggerProxy.spinner[   s/   € Ü%×'Ò'Ü"Ó$Ð$Ø�|‰|×#Ñ#¨%ÐP[Ð#Ó\Ð\r   c                ó®   € VR 8X  g/   VP                  R4      '       d#   VP                  R4      '       d   \        V4      h\        V P                  V4      # )rh   Ú__)Ú
startswithÚendswithÚAttributeErrorÚgetattrrh   )r!   Únames   &&r   Ú__getattr__Ú _AdaptiveLoggerProxy.__getattr__`   sD   € ð �9Ô §¡°×!6Ò!6¸4¿=¹=È×;NÒ;NÜ  Ó&Ð&Ü�t—|‘| TÓ*Ð*r   rg   ©Ú )rX   rY   rZ   r[   r\   r#   ro   rw   r€   r]   r^   r_   s   @r   ra   ra   P   sM   ø‡ € ÙV÷ð ðJ¸t÷ Jò Jñ
]¸Cð ]ÐTU÷ ]ó ]÷
+ð +r   ra   c                ó$   € V ^8„  d   QhR\         /# r   r   )r   s   "r   r   r   p   s   € ÷ 	ñ 	¤Dñ 	r   c                 óœ   € R\         P                  9  d   R#  \        P                  P	                  4       '       * #   \
         d     R# i ; i)zCDisable live progress redraws under non-interactive pytest capture.ÚPYTEST_CURRENT_TESTFT)ÚosÚenvironÚsysÚstdoutÚisattyÚ	Exceptionr   r   r   rn   rn   p   s@   € ð ¤B§J¡JÔ.ÙðÜ—:‘:×$Ñ$Ó&Ô&Ð&øÜô Úðús   ™"< ¼AÁ
Ac                ó$   € V ^8„  d   QhR\         /# r   r   )r   s   "r   r   r   |   s   € ÷ (ñ (¤Tñ (r   c                 ó   € \        4       # )zHReport whether redraw-based progress should be replaced by durable logs.)rn   r   r   r   Úlive_renderables_suppressedr�   |   s   € ô &Ó'Ð'r   c                  ó>   € \        \        P                  ! 4       4      # r&   )ra   r
   Úsharedr   r   r   Úsetup_loggerr’   ‚   s   € Ü¤§¢£Ó0Ð0r   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\        /# )r   ÚvalueÚfloatfmtr   )r   r   rt   )r   s   "r   r   r   †   s%   € ÷ ñ œCð ¬8´C­=ð ¼Sñ r   c                 ó  € V f   R# \        V \        4      '       d   \        V 4      # VeV   \        V \        P                  4      '       d6   \        V \        P
                  4      '       g   \        \        V 4      V4      # \        V 4      # )Nrƒ   )r'   r   rt   ÚnumbersÚRealÚIntegralr   ru   )r”   r•   s   &&r   Ú_table_cell_textrš   †   sf   € Ø‚}ÙÜ�%œ×ÒÜ�5‹zÐØÒ¤
¨5´'·,±,× ?Ò ?Ì
ÐSXÔZa×ZjÑZj×HkÒHkÜ”e˜E“l HÓ-Ð-Üˆu‹:Ðr   c                ó0   € V ^8„  d   QhR\         R\        /# )r   r”   r   ©rt   r(   )r   s   "r   r   r   �   s   € ÷ /ñ /œ#ð /¤#ñ /r   c                 ó@   € \        \        P                  R V 4      4      # r‚   )r/   Ú_ANSI_ESCAPE_REÚsub)r”   s   &r   Ú_visible_widthr    �   s   € ÜŒ×"Ñ" 2 uÓ-Ó.Ð.r   c                ó<   € V ^8„  d   QhR\         R\        R\         /# )r   r”   Úwidthr   rœ   )r   s   "r   r   r   ”   s&   € ÷ Añ Aœ3ð A¤sð A¬sñ Ar   c           	      óV   € V R \        ^ V\        V 4      ,
          4      ,          ,           # )Ú )Úmaxr    )r”   r¢   s   &&r   Ú_pad_table_cellr¦   ”   s#   € Ø�Cœ#˜a ¬¸Ó)>Õ!>Ó?Õ?Õ@Ð@r   c                ó    € V ^8„  d   QhR\         \        ,          R\         \         \        ,          ,          R\         \        ,          R\        /# ©r   ÚheadersÚrowsÚwidthsr   ©r   rt   r(   )r   s   "r   r   r   ˜   s=   € ÷ 
ñ 
¤¬¥ð 
´X¼hÄs½mÕ5Lð 
ÔV^Ô_bÕVcð 
Ôhkñ 
r   c                 óØ   aa€ R  V3R llpR V3R lloV! 4       S! V 4      V! 4       .pVP                  V3R lV 4       4       VP                  V! 4       4       RP                  V4      # )c                ó$   € V ^8„  d   QhR\         /# r   )rt   )r   s   "r   r   Ú(_render_grid_table.<locals>.__annotate__™   s   € ÷ Kñ K”Cñ Kr   c                  óP   <€ R R P                  R S  4       4      ,           R ,           # )Ú+c              3   óB   "  € T F  pR V^,           ,          x € K  	  R# 5i©Ú-Nr   ©Ú.0r¢   s   & r   Ú	<genexpr>Ú5_render_grid_table.<locals>.border.<locals>.<genexpr>š   s   é € ÐD¹V°E˜c U¨Q¥Y×/Ò/»Vùs   ‚)Újoin)r«   s   €r   ÚborderÚ"_render_grid_table.<locals>.border™   s"   ø€ Ø�S—X‘XÑD¹VÓDÓDÕDÀsÕJÐJr   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# ©r   Úvaluesr   ©r   rt   )r   s   "r   r   r¯   œ   ó"   € ÷ qñ qœ¤#�ð q¬3ñ qr   c                 óh   <€ R RP                  V3R l\        V 4       4       4      ,           R,           # )ú| ú | c              3   óN   <"  € T F  w  r\        VSV,          4      x € K  	  R # 5ir&   ©r¦   ©r¶   Úidxr”   r«   s   &  €r   r·   Ú7_render_grid_table.<locals>.row_line.<locals>.<genexpr>�   ó#   øé € Ð iÑWhÉÈ¤°¸¸s½×!DÐ!DÓWhùó   ƒ"%ú |©r¹   Ú	enumerate©r¾   r«   s   &€r   Úrow_lineÚ$_render_grid_table.<locals>.row_lineœ   ó*   ø€ Ø�e—j‘jÔ iÔW`ÐagÔWhÓ iÓiÕiÐlpÕpÐpr   c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir&   r   ©r¶   ÚrowrÏ   s   & €r   r·   Ú%_render_grid_table.<locals>.<genexpr>    ó   øé € Ð/©$ 3‘˜#—�«$ùó   ƒÚ
)ÚextendÚappendr¹   )r©   rª   r«   rº   ÚlinesrÏ   s   &&f  @r   Ú_render_grid_tablerÜ   ˜   sa   ù€ ÷Kð K÷qð qñ ‹X‘x Ó(©&«(Ð3€EØ	‡L�LÔ/©$Ó/Ô/Ø	‡L�L‘“ÔØ�9‰9�UÓÐr   c                ó    € V ^8„  d   QhR\         \        ,          R\         \         \        ,          ,          R\         \        ,          R\        /# r¨   r¬   )r   s   "r   r   r   ¥   ó=   € ÷ ñ ¤(¬3¥-ð ´xÄÌÅÕ7Nð ÔX`ÔadÕXeð Ôjmñ r   c                 óÐ   aa€ R  V3R lloRRP                  R S 4       4      ,           R,           pS! V 4      V.pVP                  V3R lV 4       4       RP                  V4      # )c                óF   € V ^8„  d   QhR\         \        ,          R\        /# r½   r¿   )r   s   "r   r   Ú*_render_github_table.<locals>.__annotate__¦   rÀ   r   c                 óh   <€ R RP                  V3R l\        V 4       4       4      ,           R,           # )rÂ   rÃ   c              3   óN   <"  € T F  w  r\        VSV,          4      x € K  	  R # 5ir&   rÅ   rÆ   s   &  €r   r·   Ú9_render_github_table.<locals>.row_line.<locals>.<genexpr>§   rÉ   rÊ   rË   rÌ   rÎ   s   &€r   rÏ   Ú&_render_github_table.<locals>.row_line¦   rÑ   r   rÂ   rÃ   c              3   ó4   "  € T F  pR V,          x € K  	  R# 5ir³   r   rµ   s   & r   r·   Ú'_render_github_table.<locals>.<genexpr>©   s   é € Ð!B¹6°% #¨§+¢+»6ùó   ‚rË   c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir&   r   rÓ   s   & €r   r·   rç   «   rÖ   r×   rØ   ©r¹   rÙ   ©r©   rª   r«   Ú	separatorrÛ   rÏ   s   &&f  @r   Ú_render_github_tablerí   ¥   s_   ù€ ÷qð qð �u—z‘zÑ!B¹6Ó!BÓBÕBÀTÕI€IÙ�gÓ 	Ð*€EØ	‡L�LÔ/©$Ó/Ô/Ø�9‰9�UÓÐr   c                ó    € V ^8„  d   QhR\         \        ,          R\         \         \        ,          ,          R\         \        ,          R\        /# r¨   r¬   )r   s   "r   r   r   ¯   rÞ   r   c                 ó´   aa€ R  V3R lloRP                  R S 4       4      pS! V 4      V.pVP                  V3R lV 4       4       RP                  V4      # )c                óF   € V ^8„  d   QhR\         \        ,          R\        /# r½   r¿   )r   s   "r   r   Ú*_render_simple_table.<locals>.__annotate__°   s"   € ÷ bñ bœ¤#�ð b¬3ñ br   c                 óL   <€ R P                  V3R l\        V 4       4       4      # )ú  c              3   óN   <"  € T F  w  r\        VSV,          4      x € K  	  R # 5ir&   rÅ   rÆ   s   &  €r   r·   Ú9_render_simple_table.<locals>.row_line.<locals>.<genexpr>±   s#   øé € ÐaÑO`ÁÀœ¨°°sµ×<Ð<ÓO`ùrÊ   rÌ   rÎ   s   &€r   rÏ   Ú&_render_simple_table.<locals>.row_line°   s   ø€ Ø�y‰yÔaÌyÐY_ÔO`ÓaÓaÐar   ró   c              3   ó4   "  € T F  pR V,          x € K  	  R# 5ir³   r   rµ   s   & r   r·   Ú'_render_simple_table.<locals>.<genexpr>³   s   é € Ð:±6¨%˜# Ÿ+š+³6ùrè   c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir&   r   rÓ   s   & €r   r·   rø   µ   rÖ   r×   rØ   rê   rë   s   &&f  @r   Ú_render_simple_tablerú   ¯   sU   ù€ ÷bð bð —	‘	Ñ:±6Ó:Ó:€IÙ�gÓ 	Ð*€EØ	‡L�LÔ/©$Ó/Ô/Ø�9‰9�UÓÐr   ÚtablefmtÚgridr•   rd   c                óÎ   € V ^8„  d   QhR\         \         \        ,          ,          R\         \        ,          R\        R\        \        ,          R\        \        ,          R\        /# )r   rª   r©   rû   r•   rd   r   )r   r   rt   r   r
   )r   s   "r   r   r   ¹   s\   € ÷ '=ñ '=Ü
”8œC•=Õ
!ð'=ô ”c�]ð'=ô ð	'=ô
 ”s�mð'=ô ”VÕð'=ô 	ñ'=r   c          
     óð  € V Uu. uF  p\        V4      NK  	  pp. pV  Ft  p\        V4      p	\        V	4      \        V4      8w  d$   \        R\        V	4       R\        V4       24      hTP	                  V	 U
u. uF  p
\        W£4      NK  	  up
4       Kv  	  V Uu. uF  p\        V4      NK  	  ppV'       d    T;'       g    \        P                  ! 4       P                  V Uu. uF	  pRVRR/NK  	  up^R7      pV F  pVP                  P                  ! V!   K  	  \        VP                  4       UUu. uF  w  rÞ\        W½,          V4      NK  	  pppV F4  p\        V4       F"  w  rß\        W½,          \        V4      4      W½&   K$  	  K6  	  T;'       g    RP                  4       pVR8X  d   \!        WgV4      # VR	8X  d   \#        WgV4      # \%        WgV4      # u upi u up
i u upi u upi u uppi )
zFRender a small diagnostic table using LogBar-compatible column sizing.zRow length z does not match header length Úlabelr¢   Úfit©ÚcolsÚpaddingrü   ÚgithubÚsimple)rt   Úlistr/   Ú
ValueErrorrÚ   rš   r    r
   r‘   ÚcolumnsÚinfoÚsimulaterÍ   r«   r¥   Úlowerrí   rú   rÜ   )rª   r©   rû   r•   rd   ÚheaderÚheader_textÚrow_textrÔ   r¾   r”   r«   r  rÇ   r¢   ÚcellÚtablefmt_normalizeds   &$$$$            r   Úrender_tabler  ¹   sÐ  € ñ .5Ó5©W 6”3�v–;©W€KÐ5Ø "€HÛˆÜ�c“ˆÜˆv‹;œ#˜kÓ*Ô*ÜØœc &›k˜]Ð*HÌÈ[ÓIYÐHZÐ[óð ð 	�‰ÉÓOÉ¸uÔ)¨%Ö:ÉÑOÖPñ ñ 4?Ó?±;¨Œn˜VÖ$±;€FÐ?ßØ×,Ð,œVŸ]š]›_×5Ñ5ÙBMÓNÁ+¸�7˜F G¨UÓ3Á+ÑNØð 6ó 
ˆó ˆCØ�L‰L×!Ò! 3Ô'ñ ä<EÀgÇnÁnÔ<UÔVÑ<U©j¨c”#�f•k 5Ö)Ñ<UˆÑVãˆÜ" 3ž‰IˆCÜ˜f�k¬>¸$Ó+?Ó@ˆF‹Kó (ñ ð $×-Ð- v×4Ñ4Ó6ÐØ˜hÔ&Ü# K¸6ÓBÐBØ˜hÔ&Ü# K¸6ÓBÐBÜ˜k°VÓ<Ð<ùò; 6ùò Pùâ?ùò Oùó
 Ws   …GÁ8G#
ÂG(Ã%G-Ä8G2c                   ó   a € ] tR t^ãt o Rt. ROtRV 3R lR lltV 3R lR ltV 3R lR ltV 3R	 lR
 lt	RR/V 3R lR llt
V 3R lR ltV 3R lR lt]P                  RR/V 3R lR ll4       tV 3R lR ltRtV tR# )ÚQuantizationRegionTimerzDAggregate and display timing statistics for key quantization stages.Nc                ó0   <€ V ^8„  d   QhRS[ S[,          /# rc   )r   r
   )r   rG   s   "€r   r   Ú$QuantizationRegionTimer.__annotate__ö   s   ø€ ÷ ñ ™x©Õ/ñ r   c                ó  € T;'       g    \        4       V n        \        P                  ! 4       V n        R V n        RV n        \        V P                  4      V n	        \        4       V n
        RV n        V P                  4        R # )NF)r’   rd   Ú	threadingÚLockÚ_lockÚ_columnsÚ_header_printedr   ÚDEFAULT_REGIONSÚ_region_labelsÚ_statsÚ_pending_refreshÚresetri   s   &&r   r#   Ú QuantizationRegionTimer.__init__ö   s]   € Ø×.Ð.¤£ˆŒÜ—^’^Ó%ˆŒ
ØˆŒØ$ˆÔÜ7BÀ4×CWÑCWÓ7XˆÔÜOZË}ˆŒØ %ˆÔØ�
‰
Žr   c                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr   )r   rG   s   "€r   r   r     s   ø€ ÷ *ñ *�tñ *r   c                óê   a € S P                   ;_uu_ 4        \        V 3R lS P                  P                  4        4       4      S n        RS n        RS n        RRR4       R#   + '       g   i     R# ; i)zReset accumulated timing data.c              3   óF   <"  € T F  qSP                  4       3x € K  	  R # 5ir&   )Ú_fresh_stat)r¶   Úregionr!   s   & €r   r·   Ú0QuantizationRegionTimer.reset.<locals>.<genexpr>  s!   øé € ð &Ù;U°˜×)Ñ)Ó+Õ,Ó;Uùs   ƒ!FN)r  r   r  Úkeysr  r  r  r+   s   fr   r   ÚQuantizationRegionTimer.reset   sR   ø€ à�Z�Z‹ZÜ%ô &Ø;?×;NÑ;N×;SÑ;SÔ;Uó&ó ˆDŒKð $)ˆDÔ Ø$)ˆDÔ!÷ �Z�ZŠZús   –AA!Á!A2	c                óT   <€ V ^8„  d   QhRS[ S[S[S[,          R,          3,          /# r#  ©r   rt   ru   r(   )r   rG   s   "€r   r   r  	  s*   ø€ ÷ Gñ G™T¡#¡u©s¥{°TÕ'9Ð"9Õ:ñ Gr   c                ó   € R RR^ RRRR/# ©Útotalç        ÚcountÚlastÚsourceNr   r+   s   &r   r&  Ú#QuantizationRegionTimer._fresh_stat	  s   € Ø˜˜g q¨&°#°xÀÐFÐFr   c                ó   <€ V ^8„  d   QhRR/# r#  r   )r   rG   s   "€r   r   r    s   ø€ ÷ 
ñ 
¨ñ 
r   c           
     ó
  € V P                   e   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/.pV P                  P                  V^R7      V n         V P                   P                  P	                  RRRRRRR4       R # )Nrÿ   r'  r¢   r   r1  Úlast_sÚavg_sÚtotal_sÚpctr3  r  Ú
model_loadÚ1z0.001z100.0%zlayer.0)r  rd   r  r	  r
  )r!   Úcolumn_specss   & r   Ú_ensure_columns_lockedÚ.QuantizationRegionTimer._ensure_columns_locked  s°   € Ø�=‰=Ò$Ùð �h ¨Ð/Ø�g˜w¨Ð.Ø�h ¨Ð/Ø�g˜w¨Ð.Ø�i ¨%Ð0Ø�e˜W eÐ,Ø�h ¨Ð/ð
ˆð Ÿ™×+Ñ+°ÀqÐ+ÓIˆŒØ�‰×Ñ×#Ñ#Ø˜#˜w¨°¸(ÀIö	
r   r3  c                ó@   <€ V ^8„  d   QhRS[ RS[RS[S[ ,          RR/# )r   r'  Údurationr3  r   N)rt   ru   r   )r   rG   s   "€r   r   r    s.   ø€ ÷ )ñ )™Sð )©Eð )¹hÁs½mð )ÐW[ñ )r   c               ó‚  € Vf   R#  \        V4      pT^ 8  d   RpT P                  ;_uu_ 4        YP                  9  d[   YP
                  9  d.   TP                  RR4      P                  4       T P
                  T&   T P                  4       T P                  T&   T P                  T,          p\        TP                  RR4      4      T,           TR&   \        TP                  R^ 4      4      ^,           TR&   YER&   Te   Y5R&   R	T n        RRR4       R#   \        \        3 d     R# i ; i  + '       g   i     R# ; i)
z@Record a timing sample for a region and emit an updated summary.Nr0  Ú_r¤   r/  r1  r2  r3  T)ru   Ú	TypeErrorr  r  r  r  Úreplacer@   r&  Úgetr(   r  )r!   r'  rA  r3  Úduration_valueÚstats   &&&$  r   ÚrecordÚQuantizationRegionTimer.record  s  € ð ÒÙð	Ü" 8›_ˆNð ˜AÔØ ˆNà�Z�Z‹ZØŸ[™[Ô(Ø×!4Ñ!4Ô4Ø28·.±.ÀÀcÓ2J×2PÑ2PÓ2R�D×'Ñ'¨Ñ/Ø&*×&6Ñ&6Ó&8�—‘˜FÑ#à—;‘;˜vÕ&ˆDÜ! $§(¡(¨7°CÓ"8Ó9¸NÕJˆD�‰MÜ §¡¨°!Ó 4Ó5¸Õ9ˆD�‰MØ)�‰LØÒ!Ø!'�X‘à$(ˆDÔ!÷ ‰Zøô œ:Ð&ô 	Úð	ú÷ �ZˆZús   ˆD °CD-ÄD*Ä)D*Ä-D>	c                ó   <€ V ^8„  d   QhRR/# r#  r   )r   rG   s   "€r   r   r  <  s   ø€ ÷ *ñ *�tñ *r   c                óÐ   € V P                   ;_uu_ 4        V P                  '       g    RRR4       R# V P                  4        RV n        RRR4       R#   + '       g   i     R# ; i)z;Emit the current summary if new measurements were recorded.NF)r  r  Ú_print_summary_lockedr+   s   &r   ÚflushÚQuantizationRegionTimer.flush<  sC   € à�Z�Z‹ZØ×(×(Ð(Ø÷ ‰Zð ×&Ñ&Ô(Ø$)ˆDÔ!÷	 �Z�ZŠZús   •A³AÁA%	c                ó   <€ V ^8„  d   QhRR/# r#  r   )r   rG   s   "€r   r   r  D  s   ø€ ÷ )ñ ) tñ )r   c           
     óŽ  € V P                  4        V P                  P                  4        UUu. uF"  w  rVP                  R ^ 4      '       g   K  W3NK$  	  pppV'       g   R# \	        R V 4       4      pV^ 8:  d   RpVP                  R RR7       V P                  '       g,   V P                  P                  P                  4        RV n        V Fê  w  rV P                  P                  W4      p\        VP                  RR4      4      p\        VP                  R ^ 4      4      p\        VP                  RR4      4      pV'       d	   Wg,          MRp	V^ 8”  d   Wd,          R	,          MRp
VP                  R
4      ;'       g    RpV P                  P                  V\        V4      VR V	R VR V
R R2V4       Kì  	  R# u uppi )r1  Nc              3   ó\   "  € T F"  w  r\        VP                  R R4      4      x € K$  	  R# 5i)r/  r0  N©ru   rF  )r¶   rC  rH  s   &  r   r·   Ú@QuantizationRegionTimer._print_summary_locked.<locals>.<genexpr>Q  s%   é € ÐSÉ¹g¸aœE $§(¡(¨7°CÓ"8×9Ð9Ëùs   ‚*,r0  c                 óF   € \        V ^,          P                  RR4      4      # )rW   r/  r0  rS  )Úitems   &r   Ú<lambda>Ú?QuantizationRegionTimer._print_summary_locked.<locals>.<lambda>V  s   € ¬¨d°1­g¯k©k¸'À3Ó.GÔ(Hr   T)ÚkeyÚreverser/  r2  g      Y@r3  rƒ   ú.3fz.1fÚ%)r>  r  ÚitemsrF  ÚsumÚsortr  r  r	  r  r  ru   r(   rt   )r!   r'  rH  Ú	populatedÚoverall_totalÚdisplay_namer/  r1  r2  Úavgr:  r3  s   &           r   rM  Ú-QuantizationRegionTimer._print_summary_lockedD  s�  € Ø×#Ñ#Ô%ð
 !%§¡× 1Ñ 1Ô 3ô
á 3‘�Ø�x‰x˜ ×#ô ˆV‹NÙ 3ð 	ñ 
÷ ÙäÑSÉÓSÓSˆØ˜AÔØˆMð 	�‰ÑHÐRVˆÔWà×#×#Ð#Ø�M‰M×Ñ×%Ñ%Ô'Ø#'ˆDÔ ã%‰LˆFØ×.Ñ.×2Ñ2°6ÓBˆLÜ˜$Ÿ(™( 7¨CÓ0Ó1ˆEÜ˜Ÿ™ ¨!Ó,Ó-ˆEÜ˜Ÿ™ &¨#Ó.Ó/ˆDß#(�%–-¨cˆCØ5BÀQÔ5F�5Õ(¨5Ö0ÈCˆCØ—X‘X˜hÓ'×-Ð-¨2ˆFà�M‰M×ÑØÜ�E“
Ø˜�*Ø�s�)Ø˜�+Ø�s�)˜1�Øöó &ùó)
s   ®GÁGc                óJ   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[R,          /# )r   r'  r3  r   N)rt   r   r   )r   rG   s   "€r   r   r  p  s+   ø€ ÷ 9ñ 9™cð 9©h±s­mð 9ÁxÐPTÅ~ñ 9r   c             #  ó  "  € \         P                  ! 4       p R x € \         P                  ! 4       V,
          pV P                  WVR7       R #   \         P                  ! 4       T,
          pT P                  YTR7       i ; i5i)N)r3  )ÚtimeÚperf_counterrI  )r!   r'  r3  ÚstartrA  s   &&$  r   ÚmeasureÚQuantizationRegionTimer.measureo  sd   é € ä×!Ò!Ó#ˆð	9Ûä×(Ò(Ó*¨UÕ2ˆHØ�K‰K˜°ˆKÖ8øô ×(Ò(Ó*¨UÕ2ˆHØ�K‰K˜°ˆKÕ8üs   ‚B™A �1BÁ1A?Á?Bc                óz   <€ V ^8„  d   QhRS[ S[S[ S[S[S[,          S[,          R,          3,          3,          /# r#  r,  )r   rG   s   "€r   r   r  x  s6   ø€ ÷ 
ñ 
™$™s¡D©©e±c­k¹CÕ.?À$Õ.FÐ)FÕ$GÐGÕHñ 
r   c                ó–  € V P                   ;_uu_ 4        V P                  P                  4        UUu/ uFj  w  rVR \        VP	                  R R4      4      R\        VP	                  R^ 4      4      R\        VP	                  RR4      4      RVP	                  R4      /bKl  	  uppuuRRR4       # u uppi   + '       g   i     R# ; ir.  )r  r  r]  ru   rF  r(   )r!   r'  rH  s   &  r   ÚsnapshotÚ QuantizationRegionTimer.snapshotx  s¨   € Ø�Z�Z‹Zð %)§K¡K×$5Ñ$5Ô$7ôñ %8‘L�Fð ØœU 4§8¡8¨G°SÓ#9Ó:ØœS §¡¨'°1Ó!5Ó6ØœE $§(¡(¨6°3Ó"7Ó8Ø˜dŸh™h xÓ0ð	ò ñ %8ò÷ ŠZùó÷ �ZˆZús   •B7³A0B1
Â#B7Â1B7Â7C	)r  r  r  r  r  r  rd   ))r;  z
Model load)Úmodel_reloadzTurtle reload)Úcapture_inputszCapture inputs)Úforward_hookzForward hook)Úpre_quant_forwardzPre-quant forward)Úprocess_quantzProcess quant)Úpost_quant_forwardzPost-quant replay)Úsubmodule_finalizezSubmodule finalize)Úsubmodule_finalize_createzFinalize create)Úsubmodule_finalize_packzFinalize pack)Úsubmodule_finalize_offloadzFinalize offload)Úprocess_finalizezProcess finalize)Ú
model_savez
Model saver&   )rX   rY   rZ   r[   r\   r  r#   r   r&  r>  rI  rN  rM  Ú
contextlibÚcontextmanagerrj  rn  r]   r^   r_   s   @r   r  r  ã   s�   ø‡ € ÙNò€O÷ ò ÷*ð *÷Gð G÷
ð 
ð&)Èd÷ )ò )÷:*ð *÷)ð )ðV ×Ñð9¸d÷ 9ñ 9ó ð9÷
ö 
r   r  Úmodule_namec          	      ó‚   € V ^8„  d   QhR\         R\        \        ,          R\        \         ,          R\        R,          /# )r   Ú
block_namerd   r~  r   N)rt   r   r
   r   )r   s   "r   r   r   †  sE   € ÷ @ñ @Üð@ô ”VÕð@ô œ#•ð	@ô
 ˆd…^ñ@r   c          	   #  óÊ  "  € Vf   \        4       p\        P                  ! 4       p Rx € \        4       '       dJ   \        P                  ! 4       V,
          pV'       d	   V  RV R2MT pVP	                  RV RVR R24       R# R#   \        4       '       dI   \        P                  ! 4       T,
          pT'       d	   T  RT R2MT pTP	                  RT RTR R24       i i ; i5i)z5Log the elapsed time of a block to the shared logger.Nz (Ú)z[time] z took r[  Ús)r’   rg  rh  r   r	  )r€  rd   r~  ri  rA  rÿ   s   &$$   r   Úlog_time_blockr„  …  sÓ   é € ð ‚~Ü“ˆä×ÒÓ€Eð@Ûä×ÒÜ×(Ò(Ó*¨UÕ2ˆHß7B�z�l " [ M°Ñ3È
ˆEØ�K‰K˜' % ¨¨x¸¨n¸AÐ>Ö?ñ  øÔ×ÒÜ×(Ò(Ó*¨UÕ2ˆHß7B�z�l " [ M°Ñ3È
ˆEØ�K‰K˜' % ¨¨x¸¨n¸AÐ>Õ?ð  üs'   ‚$C#§B «3C#Á'C#Â4C Â;%C Ã C#)%r|  r—   r‡   r‰   r  rg  Úcollectionsr   Útypingr   r   r   r   r   ÚpcreÚlogbarr
   Úenvr   Úcompilerž   r   r   ra   rn   r�   r’   rš   r    r¦   rÜ   rí   rú   r  r  r}  r„  r   r   r   Ú<module>r‹     sè   ðó Û Û 	Û 
Û Û Ý #ß :Õ :ã Ý å ð —,’,Ð0Ó1€õ+÷+ñ +÷\+ñ +õ@	õ(ò1õõ/õAõ
õõð'=ð ð	'=ð
 #ð'=ð  $÷'=÷T_ñ _ðD ×Ñð@ð  $ð@ð "&ö	@ó ò@r   