ó
    “’¤jR²  ã                   ó¢  • S SK r S SKrS SKJr  S SKrS SKrS SKrS SKrS SK	r	S SK
rS SKr
S SKr
S SKr
S SKJr  S SKrS SKJrJr  S SKrS SKJrJrJrJr  S SKJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  S SK+J,r,   SS	K-J.r.  SS
K.J/r/J0r0  \Rz                  " \>5      r?\#R€                  S\#R‚                  S\#R„                  S\#R†                  S\#Rˆ                  S\#RŠ                  S\#RŒ                  S0rG\S 5       rH0 rIS\ R”                  " 5       R–                  -   rLS rMS0S jrN " S S\!5      rO " S S\5      rP " S S \5      rQ " S! S"\ \R¤                  5      rSS# rT\Rª                  " \P5       " S$ S%\R¬                  5      5       rW " S& S'\"\R¤                  5      rX\Rª                  " \P5       " S( S)\R²                  5      5       rZ\Rª                  " \P5       " S* S+\R¶                  5      5       r\\Rª                  " \P5       " S, S-\Rº                  5      5       r^\Xr_\S\Ql`        \X\Qla        \RÄ                   " S. S/\5      5       rcg! \1 aƒ  r2\3" \2SS5      r4\3" \4SS5      r5\6" \4\15      (       a[  \6" \5\75      (       aM  S\8" \55      ;   aA  S\Rr                  Ru                  \	Rv                  5      ;   r<\<(       a	  \1" S5      \2e\1" S5      \2ee Sr2C2ff = f)1é    N)Úcontextmanager)ÚSimpleDialog)ÚImageÚImageTk)Ú_apiÚbackend_toolsÚcbookÚ_c_internal_utils)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚNavigationToolbar2Ú	TimerBaseÚToolContainerBaseÚcursorsÚ_ModeÚMouseButtonÚ
CloseEventÚKeyEventÚLocationEventÚ
MouseEventÚResizeEvent)ÚGcfé   )Ú_tkagg)ÚTK_PHOTO_COMPOSITE_OVERLAYÚTK_PHOTO_COMPOSITE_SETÚ	__cause__z&'_tkinter' has no attribute '__file__'z
/uv/pythonzñFailed to import tkagg backend. You appear to be using an outdated version of uv's managed Python distribution which is not compatible with Tk. Please upgrade to the latest uv version, then update Python with: `uv python upgrade --reinstall`a  Failed to import tkagg backend. This is likely caused by using a Python executable based on python-build-standalone, which is not compatible with Tk. Recent versions of python-build-standalone should be compatible with Tk. Please update your python version or select another backend.ÚfleurÚhand2ÚarrowÚ	crosshairÚwatchÚsb_h_double_arrowÚsb_v_double_arrowc               #   ó&  #   • [         R                  " 5       n  S v •  U (       a0  [        R                  S   (       a  [         R                  " U 5        g g g ! U (       a0  [        R                  S   (       a  [         R                  " U 5        f f f = f7f)Nztk.window_focus)r
   ÚWin32_GetForegroundWindowÚmplÚrcParamsÚWin32_SetForegroundWindow)Ú
foregrounds    Ú­C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\matplotlib/backends/_backend_tk.pyÚ!_restore_foreground_window_at_endr-   E   sd   é € ä"×<Ò<Ó>€JðDÛæœ#Ÿ,™,Ð'8×9Ü×7Ò7¸
ÕCð :ˆ:øŽ:œ#Ÿ,™,Ð'8×9Ü×7Ò7¸
ÕCð :ˆ:üs   ‚B™A �8BÁ9BÂBÚ	mpl_blit_c                 óò   • [         R                  U 5      u  pp4nUR                  R                  SSU5      (       d  g[        R
                  " UR                  R                  5       [        U5      X%UU5        g)z½
Thin wrapper to blit called via tkapp.call.

*argsid* is a unique string identifier to fetch the correct arguments from
the ``_blit_args`` dict, since arguments cannot be passed directly.
ÚinfoÚcommandsN)Ú
_blit_argsÚpopÚtkÚcallr   ÚblitÚ
interpaddrÚstr)ÚargsidÚ
photoimageÚdataÚoffsetsÚbboxÚ	comp_rules         r,   Ú_blitr?   T   s]   € ô 2<·±ÀÓ1GÑ.€J�g YØ�=‰=×Ñ˜f j°*×=Ñ=ØÜ
‡K‚K�
—‘×(Ñ(Ó*¬C°
«O¸TÈgØõó    c                 ó:  • [         R                  " U5      nUR                  SS u  pVUb­  UR                  5       u  u  pxu  pš[	        [
        R                  " U5      S5      n[        [
        R                  " U	5      U5      n	[	        [
        R                  " U5      S5      n[        [
        R                  " U
5      U5      n
Xy:”  d  XŠ:”  a  gXyXŠ4n[        nOSUSU4n[        nXX+U4n[        [        U5      5      nU[        U'    U R                  R                  [         U5        g! [        R"                   a^  nS[        U5      ;  a  e U R                  R%                  [         [&        5        U R                  R                  [         U5         SnAgSnAff = f)a–  
Blit *aggimage* to *photoimage*.

*offsets* is a tuple describing how to fill the ``offset`` field of the
``Tk_PhotoImageBlock`` struct: it should be (0, 1, 2, 3) for RGBA8888 data,
(2, 1, 0, 3) for little-endian ARBG32 (i.e. GBRA8888) data and (1, 2, 3, 0)
for big-endian ARGB32 (i.e. ARGB8888) data.

If *bbox* is passed, it defines the region that gets blitted. That region
will be composed with the previous data according to the alpha channel.
Blitting will be clipped to pixels inside the canvas, including silently
doing nothing if the *bbox* region is entirely outside the canvas.

Tcl events must be dispatched to trigger a blit from a non-Tcl thread.
Né   r   zinvalid command name)ÚnpÚasarrayÚshapeÚ	__array__ÚmaxÚmathÚfloorÚminÚceilr   r   r8   Úidr2   r4   r5   Ú_blit_tcl_nameÚTclErrorÚcreatecommandr?   )r:   Úaggimager<   r=   r;   ÚheightÚwidthÚx1Úy1Úx2Úy2Úbboxptrr>   Úargsr9   Úes                   r,   r6   r6   b   sJ  € ô  �:Š:�hÓ€DØ—J‘J˜r �N�M€FØÑØ!Ÿ^™^Ó-Ñ‰ˆ‘(�2Ü”—’˜B“ Ó#ˆÜ”—’˜2“ Ó&ˆÜ”—’˜B“ Ó#ˆÜ”—’˜2“ Ó'ˆØ‹G˜›ØØ˜2Ð"ˆÜ.‰	à�e˜Q Ð'ˆÜ*ˆ	ð ˜W¨yÐ8€Dô ”�D“‹]€FØ„JˆvÑð3Ø�‰×Ñœ>¨6Õ2øÜ�;‰;ó 3Ø!¬¨Q«Ó/ØØ�‰×#Ñ#¤N´EÔ:Ø�‰×Ñœ>¨6×2Ñ2ûð	3ús   Ä D( Ä(FÄ<AFÆFc                   óD   ^ • \ rS rSrSrU 4S jrS rS rU 4S jrSr	U =r
$ )ÚTimerTké˜   z<Subclass of `backend_bases.TimerBase` using Tk timer events.c                 ó@   >• S U l         [        TU ]  " U0 UD6  Xl        g ©N)Ú_timerÚsuperÚ__init__Úparent)Úselfrb   rX   ÚkwargsÚ	__class__s       €r,   ra   ÚTimerTk.__init__›   s!   ø€ ØˆŒÜ‰Ò˜$Ð) &Ò)Ø�r@   c                 óŽ   • U R                  5         U R                  R                  U R                  U R                  5      U l        g r^   )Ú_timer_stoprb   ÚafterÚ	_intervalÚ	_on_timerr_   ©rc   s    r,   Ú_timer_startÚTimerTk._timer_start    s.   € Ø×ÑÔØ—k‘k×'Ñ'¨¯©¸¿¹ÓGˆ�r@   c                 óv   • U R                   b%  U R                  R                  U R                   5        S U l         g r^   )r_   rb   Úafter_cancelrl   s    r,   rh   ÚTimerTk._timer_stop¤   s)   € Ø�;‰;Ñ"Ø�K‰K×$Ñ$ T§[¡[Ô1Øˆ�r@   c                 óL  >^ • [         TT ]  5         T R                  (       d|  T R                  (       ak  T R                  S:”  a6  T R
                  R                  T R                  T R                  5      T l        g T R
                  R                  U 4S j5      T l        g S T l        g )Nr   c                  ód   >• T R                   R                  T R                  T R                  5      $ r^   )rb   ri   rj   rk   rl   s   €r,   Ú<lambda>Ú#TimerTk._on_timer.<locals>.<lambda>¸   s   ø€ ˜DŸK™K×-Ñ-¨d¯n©n¸d¿n¹nÔMr@   )r`   rk   Ú_singler_   rj   rb   ri   Ú
after_idle)rc   re   s   `€r,   rk   ÚTimerTk._on_timer©   sm   ù€ Ü‰ÑÔð
 �|�| §§Ø�~‰~ Ó!Ø"Ÿk™k×/Ñ/°·±ÀÇÁÓO�•ð #Ÿk™k×4Ñ4ÜMó�•ð ˆD�Kr@   )r_   rb   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ra   rm   rh   rk   Ú__static_attributes__Ú__classcell__©re   s   @r,   r[   r[   ˜   s    ø† ÙFõò
Hò÷
ó r@   r[   c                   ó  ^ • \ rS rSrSr\R                  " S 5      rS U 4S jjrS!S jr	S r
S rS	 rS
 rS rS rS rS rS"S jrS rS rS rS r\S 5       r\SS.S j5       rS rS rS rS rS rS#S jrS r S r!Sr"U =r#$ )$ÚFigureCanvasTké¾   r4   c                 ó   • [         $ r^   )ÚFigureManagerTk)Úclss    r,   rt   ÚFigureCanvasTk.<lambda>À   s   € µ?r@   Nc           	      ó  >^	^
^^• [         TU ]  U5        S U l        S U l        U R	                  SS9u  p4[
        R                  " USX4SSS9U l        [
        R                  " U R                  X4S9U l	        U R                  R                  US-  US-  U R                  S9U l        U R                  R                  S	U R                  5        U R                  R                  S
U R                  5        U R                  R                  SU R                  5        U R                  R                  SU R                   5        U R                  R                  SU R"                  5        U R                  R                  SU R$                  5        U R                  R                  SU R&                  5        S H(  nU R                  R                  XPR(                  5        M*     S H(  nU R                  R                  XPR*                  5        M*     S H(  nU R                  R                  XPR,                  5        M*     S H(  nU R                  R                  XPR.                  5        M*     U R                  R1                  5       n[2        R4                  " U 5      m[2        R4                  " U5      mU
UU4S jnUR                  SUS5      m
U	UU4S jnUR                  SUS5      m	U R                  R7                  5         S U l        S U l        g )NT©ÚphysicalÚwhiter   )ÚmasterÚ
backgroundrR   rQ   ÚborderwidthÚhighlightthickness)rŒ   rR   rQ   rB   ©Úimagez<Configure>z<Map>z<Key>z<Motion>ú<Enter>ú<Leave>z<KeyRelease>)z
<Button-1>z
<Button-2>z
<Button-3>)z<Double-Button-1>z<Double-Button-2>z<Double-Button-3>)z<ButtonRelease-1>z<ButtonRelease-2>z<ButtonRelease-3>)z
<Button-4>z
<Button-5>c                 ót   >• T" 5       nUc  T" 5       nUb  UR                  ST5        g UR                  U 5      $ )Nú<MouseWheel>)ÚunbindÚscroll_event_windows)Úeventrc   ÚrootÚscroll_event_windows_idÚweakrootÚweakselfs      €€€r,   r—   Ú5FigureCanvasTk.__init__.<locals>.scroll_event_windowsë   s?   ø€ Ù“:ˆDØ‰|Ù“z�ØÑ#Ø—K‘K Ð0GÔHØØ×,Ñ,¨UÓ3Ð3r@   r•   Ú+c                 ó¼   >• T" 5       nUc  T" 5       nUb  UR                  ST5        g U R                  UR                  L a  [        SU5      R	                  5         g g )Nú	<Destroy>Úclose_event)r–   ÚwidgetÚ	_tkcanvasr   Ú_process)r˜   rc   r™   Úfilter_destroy_idr›   rœ   s      €€€r,   Úfilter_destroyÚ/FigureCanvasTk.__init__.<locals>.filter_destroy÷   sV   ø€ Ù“:ˆDØ‰|Ù“z�ØÑ#Ø—K‘K Ð->Ô?ØØ�|‰|˜tŸ~™~Ò-Ü˜=¨$Ó/×8Ñ8Õ:ð .r@   r    )r`   ra   Ú_idle_draw_idÚ_event_loop_idÚget_width_heightr4   ÚCanvasr£   Ú
PhotoImageÚ_tkphotoÚcreate_imageÚ_tkcanvas_image_regionÚbindÚresizeÚ_update_device_pixel_ratioÚ	key_pressÚmotion_notify_eventÚenter_notify_eventÚleave_notify_eventÚkey_releaseÚbutton_press_eventÚbutton_dblclick_eventÚbutton_release_eventÚscroll_eventÚwinfo_toplevelÚweakrefÚrefÚ	focus_setÚ_rubberband_rect_blackÚ_rubberband_rect_white)rc   ÚfigurerŒ   ÚwÚhÚnamer™   r—   r¦   r¥   rš   r›   rœ   re   s            @@@@€r,   ra   ÚFigureCanvasTk.__init__Â   si  ü€ Ü‰Ñ˜Ô Ø!ˆÔØ"ˆÔØ×$Ñ$¨dÐ$Ð3‰ˆÜŸšØ gØ¨1ÀñDˆŒô ŸšØ—>‘>¨ñ6ˆŒà&*§n¡n×&AÑ&AØˆq‰D�!�Q‘$˜dŸm™mð 'Bð '-ˆÔ#à�‰×Ñ˜M¨4¯;©;Ô7Ø�‰×Ñ˜G T×%DÑ%DÔEØ�‰×Ñ˜G T§^¡^Ô4Ø�‰×Ñ˜J¨×(@Ñ(@ÔAØ�‰×Ñ˜I t×'>Ñ'>Ô?Ø�‰×Ñ˜I t×'>Ñ'>Ô?Ø�‰×Ñ˜N¨D×,<Ñ,<Ô=Û>ˆDØ�N‰N×Ñ ×&=Ñ&=Ö>ñ ?óOˆDà�N‰N×Ñ ×&@Ñ&@ÖAñOóOˆDà�N‰N×Ñ ×&?Ñ&?Ö@ñOó
 /ˆDØ�N‰N×Ñ ×&7Ñ&7Ö8ñ /ð �~‰~×,Ñ,Ó.ˆô —;’;˜tÓ$ˆÜ—;’;˜tÓ$ˆ÷	4ð #'§)¡)¨NÐ<PÐRUÓ"VÐ÷	;ð !ŸI™I k°>À3ÓGÐà�‰× Ñ Ô"à&*ˆÔ#Ø&*ˆÕ#r@   c                 ó
  • S n[         R                  S:X  a4  [        U R                  R                  R                  SS5      S-  S5      nO2[         R                  S:X  a  U R                  R                  S5      S-  nUb„  U R                  U5      (       am  U R                  S	S
9u  p4U R                  R                  X4S9  U R                  U R                  R                  5       U R                  R                  5       5        g g g )NÚwin32r4   ÚscalinggUUUUUUõ?rB   ÚlinuxÚ1ié`   Tr‰   ©rR   rQ   )ÚsysÚplatformÚroundr£   r4   r5   Úwinfo_fpixelsÚ_set_device_pixel_ratiorª   Ú	configureÚ_resize_figure_for_canvas_sizeÚwinfo_widthÚwinfo_height)rc   r˜   ÚratiorÃ   rÄ   s        r,   r²   Ú)FigureCanvasTk._update_device_pixel_ratio  sÛ   € ØˆÜ�<‰<˜7Ó"ô ˜$Ÿ.™.×+Ñ+×0Ñ0°°yÓAÀWÑMÈqÓQ‰EÜ�\‰\˜WÓ$Ø—N‘N×0Ñ0°Ó6¸Ñ;ˆEØÑ ×!=Ñ!=¸e×!DÑ!Dð ×(Ñ(°$Ð(Ð7‰DˆAØ�N‰N×$Ñ$¨1Ð$Ñ7Ø×/Ñ/Ø—‘×*Ñ*Ó,Ø—‘×+Ñ+Ó-õ/ð "EÐr@   c                 óP   • U R                  UR                  UR                  5        g r^   )rÔ   rR   rQ   ©rc   r˜   s     r,   r±   ÚFigureCanvasTk.resize  s   € Ø×+Ñ+¨E¯K©K¸¿¹ÕFr@   c                 ó  • US::  d  US::  a  gU R                   R                  nX-  nX#-  nU R                   R                  XESS9  U R                  R	                  U R
                  5        U R                  R                  [        U5      [        U5      S9  U R                  R                  [        US-  5      [        US-  5      U R                  S9U l        [        SU 5      R                  5         U R                  5         g)	z;Update figure size and redraw based on a given canvas size.r   NF)ÚforwardrÍ   rB   r�   Úresize_event)rÂ   ÚdpiÚset_size_inchesr£   Údeleter¯   r­   rÓ   Úintr®   r   r¤   Ú	draw_idle)rc   rR   rQ   ÚdpivalÚwinchÚhinchs         r,   rÔ   Ú-FigureCanvasTk._resize_figure_for_canvas_size  sÓ   € à�A‹:˜ 1›Øð —‘—‘ˆØ‘ˆØ‘ˆØ�‰×#Ñ# E¸%Ð#Ñ@à�‰×Ñ˜d×9Ñ9Ô:Ø�‰×Ñ¤c¨%£j¼¸V»ÐÑEØ&*§n¡n×&AÑ&AÜ�˜‘	‹NœC ¨¡
›O°4·=±=ð 'Bð 'BˆÔ#ä�N DÓ)×2Ñ2Ô4Ø�‰Õr@   c                 óv   ^ • T R                   (       a  g U 4S jnT R                  R                  U5      T l         g )Nc                  óN   >•  TR                  5         S Tl        g ! S Tl        f = fr^   )Údrawr¨   ©rX   rc   s    €r,   Ú	idle_drawÚ+FigureCanvasTk.draw_idle.<locals>.idle_draw6  s"   ø€ ð*Ø—	‘	”à%)�Õ"ø T�Õ"ús   ƒ ›	$)r¨   r£   rw   )rc   rì   s   ` r,   rã   ÚFigureCanvasTk.draw_idle1  s-   ø€ à××Øõ	*ð "Ÿ^™^×6Ñ6°yÓAˆÕr@   c                 ó   • U R                   $ )zŸ
Return the Tk widget used to implement FigureCanvasTkAgg.

Although the initial implementation uses a Tk canvas,  this routine
is intended to hide that fact.
)r£   rl   s    r,   Úget_tk_widgetÚFigureCanvasTk.get_tk_widget>  s   € ð �~‰~Ðr@   c                 ó¾   • U R                  SS9S   nU R                  R                  UR                  5      X R                  R	                  UR
                  5      -
  4$ )NTr‰   r   )rª   r£   ÚcanvasxÚxÚcanvasyÚy)rc   r˜   rQ   s      r,   Ú_event_mpl_coordsÚ FigureCanvasTk._event_mpl_coordsG  sU   € ð ×&Ñ&°Ð&Ð5°aÑ8ˆØ—‘×&Ñ& u§w¡wÓ/àŸ™×/Ñ/°·±Ó8Ñ8ð:ð 	:r@   c                 óž   • [        SU /U R                  U5      Q7U R                  U5      U R                  U5      US.6R	                  5         g )Nr´   )ÚbuttonsÚ	modifiersÚguiEvent)r   r÷   Ú_mpl_buttonsÚ_mpl_modifiersr¤   rÚ   s     r,   r´   Ú"FigureCanvasTk.motion_notify_eventO  sO   € ÜÐ(¨$ð 	#Ø×*Ñ*¨5Ó1ñ	#à×,Ñ,¨UÓ3Ø!×0Ñ0°Ó7Ø!ò		#÷ $,¡8¥:r@   c                 ó~   • [        SU /U R                  U5      Q7U R                  U5      US.6R                  5         g )NÚfigure_enter_event©rû   rü   ©r   r÷   rþ   r¤   rÚ   s     r,   rµ   Ú!FigureCanvasTk.enter_notify_eventV  óA   € ÜÐ*¨Dð 	&Ø×-Ñ-¨eÓ4ñ	&à $× 3Ñ 3°EÓ :Ø$ò	&÷ '/¡h¥jr@   c                 ó~   • [        SU /U R                  U5      Q7U R                  U5      US.6R                  5         g )NÚfigure_leave_eventr  r  rÚ   s     r,   r¶   Ú!FigureCanvasTk.leave_notify_event\  r  r@   c                 ó"  • U R                   R                  5         [        USS 5      n[        R                  S:X  a  SSS.R                  X35      n[        SU /U R                  U5      QUP7UU R                  U5      US.6R                  5         g )NÚnumÚdarwiné   rB   ©rB   r  r¸   )Údblclickrû   rü   )
r£   r¿   ÚgetattrrÎ   rÏ   Úgetr   r÷   rþ   r¤   )rc   r˜   r  r
  s       r,   r¸   Ú!FigureCanvasTk.button_press_eventb  sŠ   € à�‰× Ñ Ô"ä�e˜U DÓ)ˆÜ�<‰<˜8Ó#Ø˜A‘,×"Ñ" 3Ó,ˆCÜÐ'¨ð 	#Ø×*Ñ*¨5Ó1ð	#Ø36ñ	#ØAIØ!×0Ñ0°Ó7Ø!ò	#÷ $,¡8¥:r@   c                 ó$   • U R                  USS9  g )NT)r  )r¸   rÚ   s     r,   r¹   Ú$FigureCanvasTk.button_dblclick_eventn  s   € Ø×Ñ °ÐÒ5r@   c                 óì   • [        USS 5      n[        R                  S:X  a  SSS.R                  X"5      n[	        SU /U R                  U5      QUP7U R                  U5      US.6R                  5         g )Nr
  r  r  rB   r  rº   r  )r  rÎ   rÏ   r  r   r÷   rþ   r¤   )rc   r˜   r
  s      r,   rº   Ú#FigureCanvasTk.button_release_eventq  sw   € Ü�e˜U DÓ)ˆÜ�<‰<˜8Ó#Ø˜A‘,×"Ñ" 3Ó,ˆCÜÐ)¨4ð 	#Ø×*Ñ*¨5Ó1ð	#Ø36ñ	#à!×0Ñ0°Ó7Ø!ò	#÷ $,¡8¥:r@   c                 ó¾   • [        USS 5      nUS:X  a  SO	US:X  a  SOSn[        SU /U R                  U5      Q7UU R                  U5      US.6R	                  5         g )	Nr
  é   r   é   éÿÿÿÿr   r»   ©Ústeprû   rü   )r  r   r÷   rþ   r¤   )rc   r˜   r
  r  s       r,   r»   ÚFigureCanvasTk.scroll_eventz  sf   € Ü�e˜U DÓ)ˆØ˜1“H‰q¨¨q«¡"°aˆÜ�> 4ð 	#Ø×*Ñ*¨5Ó1ñ	#Ø8<Ø!×0Ñ0°Ó7Ø!ò	#÷ $,¡8¥:r@   c           
      óô  • UR                   R                  UR                  UR                  5      nX R                  :w  a  gU R                  R                  UR                  UR                  5       -
  5      nU R                  SS9S   U R                  R                  UR                  UR                  5       -
  5      -
  nUR                  S-  n[        SU X4XPR                  U5      US9R                  5         g)zMouseWheel event processorNTr‰   r   éx   r»   r  )r¢   Úwinfo_containingÚx_rootÚy_rootr£   ró   Úwinfo_rootxrª   rõ   Úwinfo_rootyÚdeltar   rþ   r¤   )rc   r˜   rÃ   rô   rö   r  s         r,   r—   Ú#FigureCanvasTk.scroll_event_windows‚  sÅ   € ð �L‰L×)Ñ)¨%¯,©,¸¿¹ÓEˆØ—‘ÓØØ�N‰N×"Ñ" 5§<¡<°!·-±-³/Ñ#AÓBˆØ×"Ñ"¨DÐ"Ð1°!Ñ4Ø�~‰~×%Ñ% e§l¡l°Q·]±]³_Ñ&DÓEñFˆà�{‰{˜SÑ ˆÜ�> 4Ø˜d×.AÑ.AÀ%Ó.HØ!ñ	#ç#+¡8¥:r@   c                 óì  • [         R                  S:X  aW  [        R                  S4[        R                  S4[        R
                  S4[        R                  S4[        R                  S4/OV[        R                  S4[        R
                  S4[        R                  S4[        R                  S4[        R                  S4/nU VVs/ s H  u  p#U R                  U-  (       d  M  UPM     snn$ s  snnf )Nr  é   i   i   i   i   )	rÎ   rÏ   r   ÚLEFTÚRIGHTÚMIDDLEÚBACKÚFORWARDÚstate)r˜   rû   rÅ   Úmasks       r,   rý   ÚFigureCanvasTk._mpl_buttons�  sÖ   € ô �\‰\˜XÓ%ô ×Ñ˜vÐ&Ü×Ñ Ð'Ü×Ñ Ð)Ü×Ñ˜wÐ'Ü× Ñ  'Ð*ñ
ô ×Ñ˜vÐ&Ü×Ñ Ð(Ü×Ñ Ð(Ü×Ñ˜wÐ'Ü× Ñ  'Ð*ð,
ð 	ñ  (1ÔG¢y™˜°E·K±KÀ$Õ4F—¡yÒGÐGùÓGs   ÃC0Ã&C0©Úexcludec                óæ   • [         R                  S:X  a  / SQO[         R                  S:X  a  / SQO/ SQnU VVVs/ s H%  u  p4nU R                  U-  (       d  M  X:w  d  M#  UPM'     snnn$ s  snnnf )NrÈ   )©Úctrlr  Úcontrol)Úalti   r6  ©Úshiftr   r8  r  )r3  )r6  é   r6  r7  )Úcmdé   r:  )r3  )r6  r;  r6  r7  )r`   é@   r`   )rÎ   rÏ   r-  )r˜   r1  rû   rÅ   r.  Úkeys         r,   rþ   ÚFigureCanvasTk._mpl_modifiers¦  sq   € ô �\‰\˜WÓ$ó	
ô �\‰\˜XÓ%ó+
ò
,
ð 	ñ -6õ :ªI™˜ SØ—;‘; Õ%ó Ø*1©.÷ ©Ió :ð 	:ùô :s   »A,ÁA,Á!A,c                 óæ   • UR                   n[        R                  " X!R                  5      nUbB  U R	                  XS9nSU;   a  U(       a  UR                  S5        SR                  / UQUP5      $ g )Nr0  r8  rž   )Úcharr	   Ú_unikey_or_keysym_to_mplkeyÚkeysymrþ   ÚremoveÚjoin)rc   r˜   Úunikeyr=  Úmodss        r,   Ú_get_keyÚFigureCanvasTk._get_keyÀ  sh   € Ø—‘ˆÜ×/Ò/°¿¹ÓEˆØ‰?Ø×&Ñ& uÐ&Ð:ˆDà˜$‹¦6Ø—‘˜GÔ$Ø—8‘8˜L˜d˜L C˜LÓ)Ð)ð r@   c                 ó~   • [        SU U R                  U5      /U R                  U5      Q7SU06R                  5         g )NÚkey_press_eventrü   ©r   rG  r÷   r¤   rÚ   s     r,   r³   ÚFigureCanvasTk.key_pressÊ  s=   € ÜÐ" DØ—‘˜uÓ%ð	!Ø(,×(>Ñ(>¸uÓ(Eò	!àñ	!ç!)¡¥r@   c                 ó~   • [        SU U R                  U5      /U R                  U5      Q7SU06R                  5         g )NÚkey_release_eventrü   rK  rÚ   s     r,   r·   ÚFigureCanvasTk.key_releaseÏ  s=   € ÜÐ$ dØ—‘˜uÓ%ð	!Ø(,×(>Ñ(>¸uÓ(Eò	!àñ	!ç!)¡¥r@   c                 ó4   • [        U R                  /UQ70 UD6$ r^   )r[   r£   )rc   rX   rd   s      r,   Ú	new_timerÚFigureCanvasTk.new_timerÔ  s   € ä�t—~‘~Ð7¨Ò7°Ñ7Ð7r@   c                 ó8   • U R                   R                  5         g r^   )r£   Úupdaterl   s    r,   Úflush_eventsÚFigureCanvasTk.flush_eventsØ  s   € à�‰×ÑÕr@   c                 ó  • US:”  ai  [        SU-  5      nUS:”  a+  U R                  R                  X R                  5      U l        O*U R                  R                  U R                  5      U l        U R                  R                  5         g )Nr   iè  )râ   r£   ri   Ústop_event_loopr©   rw   Úmainloop)rc   ÚtimeoutÚmillisecondss      r,   Ústart_event_loopÚFigureCanvasTk.start_event_loopÜ  sq   € à�Q‹;Ü˜t g™~Ó.ˆLØ˜aÓØ&*§n¡n×&:Ñ&:Ø ×"6Ñ"6ó'8�Õ#ð '+§n¡n×&?Ñ&?Ø×(Ñ(ó'*�Ô#à�‰×ÑÕ!r@   c                 ó²   • U R                   (       a,  U R                  R                  U R                   5        S U l         U R                  R                  5         g r^   )r©   r£   rp   Úquitrl   s    r,   rX  ÚFigureCanvasTk.stop_event_loopè  s;   € à××Ø�N‰N×'Ñ'¨×(;Ñ(;Ô<Ø"&ˆDÔØ�‰×ÑÕr@   c                 óz   •  U R                   R                  [        U   S9  g ! [        R                   a     g f = f)N)Úcursor)r£   rÓ   ÚcursordÚtkinterrN   )rc   rb  s     r,   Ú
set_cursorÚFigureCanvasTk.set_cursorï  s8   € ð	Ø�N‰N×$Ñ$¬G°F©OÐ$Ò<øÜ×Ñó 	Ùð	ús   ‚ # £:¹:)r©   r¨   rÀ   rÁ   r£   r¯   r­   )NNr^   )F)r   )$ry   rz   r{   r|   Úrequired_interactive_frameworkr   ÚclasspropertyÚmanager_classra   r²   r±   rÔ   rã   rð   r÷   r´   rµ   r¶   r¸   r¹   rº   r»   r—   Ústaticmethodrý   rþ   rG  r³   r·   rQ  rU  r\  rX  re  r~   r   r€   s   @r,   r‚   r‚   ¾   sÃ   ø† Ø%)Ð"Ø×&Ò&Ñ'BÓC€M÷C+ôJ/ò*Gòò$Bòò:ò.ò1ò1ô
.ò6ò.ò.ò.ð ñHó ðHð* Ø)-ô :ó ð:ò2*ò,ò
,ò
8ò ô
"ò÷ð r@   r‚   c                   ó€   ^ • \ rS rSrSrSrU 4S jr\S 5       r\S 5       r	S r
S rS	 rU 4S
 jrS rS rS rSrU =r$ )r…   iö  zÁ
Attributes
----------
canvas : `FigureCanvas`
    The FigureCanvas instance
num : int or str
    The Figure number
toolbar : tk.Toolbar
    The tk.Toolbar
window : tk.Window
    The tk.Window
Fc                 ó.  >• X0l         [        TU ]	  X5        U R                   R                  5         U R                  R
                  R                  [        R                  [        R                  SS9  [        UR                  5       S5      n[        R                  " USSU 3S9U l        SU l        [        R                   " XCR                  R#                  5       5      (       a+  U R                  R%                  SU R&                  5      U l        S	U l        g )
Nr   )ÚsideÚfillÚexpandr9  rÌ   Ú
window_dpi)rŒ   ÚvaluerÅ   Ú ÚwriteF)Úwindowr`   ra   ÚwithdrawÚcanvasr£   Úpackr4   ÚTOPÚBOTHrâ   Úwm_frameÚIntVarÚ_window_dpiÚ_window_dpi_cbnamer   Úenable_dpi_awarenessr7   Ú	trace_addÚ_update_window_dpiÚ_shown)rc   rv  r
  rt  Úwindow_framere   s        €r,   ra   ÚFigureManagerTk.__init__  sÖ   ø€ ØŒÜ‰Ñ˜Ô%Ø�‰×ÑÔð 	�‰×Ñ×"Ñ"¬¯©´R·W±WÀQÐ"ÑGô
 ˜6Ÿ?™?Ó,¨bÓ1ˆÜŸ9š9¨F¸"Ø,6°|°nÐ*EñGˆÔà"$ˆÔÜ×&Ò& |·Y±Y×5IÑ5IÓ5K×LÑLØ&*×&6Ñ&6×&@Ñ&@Ø˜×0Ñ0ó'2ˆDÔ#ð ˆ�r@   c                 óš  • [        5          [        R                  " 5       c*  [        R                  " 5         [        R
                  " 5         [        R                  " SS9nUR                  5         [        [        R                  " S5      5      n[        R                  " XTS9n[        [        R                  " S5      5      n[        R                  " XtS9nUR                  SX†5        U" X$S9n	U " X“U5      n
[        R                  " 5       (       a   U
R!                  5         U	R#                  5         U
sS S S 5        $ ! , (       d  f       g = f)NÚ
matplotlib)Ú	classNamezimages/matplotlib.png)ÚfilerŒ   zimages/matplotlib_large.pngF©rŒ   )r-   r	   Ú"_get_running_interactive_frameworkÚ_setup_new_guiappr
   Ú Win32_SetProcessDpiAwareness_maxr4   ÚTkru  r8   Ú_get_data_pathr   r¬   Ú	iconphotor(   Úis_interactiveÚshowrã   )r†   Úcanvas_classrÂ   r
  rt  Ú
icon_fnameÚicon_imgÚicon_fname_largeÚicon_img_largerv  Úmanagers              r,   Úcreate_with_canvasÚ"FigureManagerTk.create_with_canvas  sþ   € ô /Õ0Ü×7Ò7Ó9ÑAÜ×'Ò'Ô)Ü!×BÒBÔDÜ—U’U \Ñ2ˆFØ�O‰OÔô œU×1Ò1Ø'ó)ó *ˆJä×)Ò)¨zÑIˆHä"¤5×#7Ò#7Ø-ó$/ó  0Ðä$×/Ò/Ø%ñ6ˆNð ×Ñ˜U NÔ=á! &Ñ8ˆFÙ˜& vÓ.ˆGÜ×!Ò!×#Ñ#Ø—‘”Ø× Ñ Ô"Ø÷; 1×0×0ús   ‹D'D<Ä<
E
c                 óì   • [         R                  " 5       nU(       aL  US   n[        U5      nUR                  (       a  g SUl         UR                  R                  5         SUl        g g ! SUl        f = f)Nr   TF)r   Úget_all_fig_managersÚtypeÚ_owns_mainlooprt  rY  )r†   ÚmanagersÚfirst_managerri  s       r,   Ústart_main_loopÚFigureManagerTk.start_main_loop=  sj   € ä×+Ò+Ó-ˆÞØ$ Q™KˆMÜ  Ó/ˆMØ×+×+ØØ+/ˆMÔ(ð5Ø×$Ñ$×-Ñ-Ô/à/4�Õ,ð øð 05�Õ,ús   ÁA* Á*	A3c                 ó8  • U R                   R                  5       nU R                  R                  SSUS-  5        U R                  (       a5  [        U R                  S5      (       a  U R                  R                  5         U R                  R                  5         g )Nr4   rÉ   éH   Ú_rescale)	r|  r  rt  r5   ÚtoolbarÚhasattrr£  rv  r²   )rc   rX   Únewdpis      r,   r€  Ú"FigureManagerTk._update_window_dpiK  sg   € Ø×!Ñ!×%Ñ%Ó'ˆØ�‰×Ñ˜˜y¨&°2©+Ô6Ø�<�<œG D§L¡L°*×=Ñ=Ø�L‰L×!Ñ!Ô#Ø�‰×.Ñ.Õ0r@   c           	      ó´   • SnX:”  d  X#:”  a)  [         R                  S:X  a  [        SU SU SU S35      eU R                  R                  R                  XS9  g )NiÀ\ rÊ   z/You have requested to resize the Tk window to (z, z), one of which is bigger than zÔ.  At larger sizes xorg will either exit with an error on newer versions (~1.20) or cause corruption on older version (~1.19).  We do not expect a window over a million pixel wide or tall to be intended behavior.rÍ   )rÎ   rÏ   Ú
ValueErrorrv  r£   rÓ   )rc   rR   rQ   Úmax_sizes       r,   r±   ÚFigureManagerTk.resizeR  sk   € ØˆàÓ Ó 1´s·|±|ÀwÓ7NÜð!Ø!&  r¨&¨ð 2"Ø"* ð ,+ð+ó,ð ,ð 	�‰×Ñ×'Ñ'¨eÐ'ÒCr@   c                 ód  ^ • [        5          T R                  (       da  U 4S jnT R                  R                  SU5        T R                  R	                  5         T R
                  R                  R                  5         OT R
                  R                  5         [        R                  S   (       a`  T R
                  R                  R                  R                  SS5        T R
                  R                  R                  R                  SS5        ST l        S S S 5        g ! , (       d  f       g = f)Nc                  ó2   >• [         R                  " T5        g r^   )r   Údestroyrë   s    €r,   r®  Ú%FigureManagerTk.show.<locals>.destroyc  s   ø€ Ü—K’K Õ%r@   ÚWM_DELETE_WINDOWzfigure.raise_windowz-topmostr   r   T)r-   r�  rt  ÚprotocolÚ	deiconifyrv  r£   r¿   rã   r(   r)   r–  Ú
attributes)rc   r®  s   ` r,   r�  ÚFigureManagerTk.show`  sÀ   ø€ Ü.Õ0Ø—;—;õ&à—‘×$Ñ$Ð%7¸ÔAØ—‘×%Ñ%Ô'Ø—‘×%Ñ%×/Ñ/Õ1à—‘×%Ñ%Ô'Ü�|‰|Ð1×2Ø—‘×#Ñ#×*Ñ*×5Ñ5°jÀ!ÔDØ—‘×#Ñ#×*Ñ*×5Ñ5°jÀ!ÔDØˆDŒK÷ 1×0Ö0ús   ŒDD!Ä!
D/c                 óÆ  >^ • T R                   R                  (       a9  T R                   R                  R                  T R                   R                  5        T R                   R                  (       a9  T R                   R                  R                  T R                   R                  5        T R
                  (       a&  T R                  R                  ST R
                  5        U 4S jn[        R                  " 5       S:X  a2  T R                  R                  T R                  R                  SU5        O!T R                  R                  5         U" 5         [        TT ]=  5         g )Nrs  c                  óÈ   >• T R                   R                  5         T R                  (       a6  [        R                  " 5       (       d  T R                   R                  5         g g g r^   )rt  r®  rœ  r   Úget_num_fig_managersr_  rl   s   €r,   Údelayed_destroyÚ0FigureManagerTk.destroy.<locals>.delayed_destroy|  sC   ø€ Ø�K‰K×ÑÔ!à×"×"¬3×+CÒ+C×+EÑ+EØ—‘× Ñ Õ"ð ,FÐ"r@   r4   r   )rv  r¨   r£   rp   r©   r}  r|  Útrace_remover	   r‰  rt  rw   ri   rT  r`   r®  )rc   rX   r¸  re   s   `  €r,   r®  ÚFigureManagerTk.destroyo  sÞ   ù€ Ø�;‰;×$×$Ø�K‰K×!Ñ!×.Ñ.¨t¯{©{×/HÑ/HÔIØ�;‰;×%×%Ø�K‰K×!Ñ!×.Ñ.¨t¯{©{×/IÑ/IÔJØ×"×"Ø×Ñ×)Ñ)¨'°4×3JÑ3JÔKõ	#ô ×3Ò3Ó5¸Ó=à�K‰K×"Ñ" 4§;¡;×#4Ñ#4°a¸ÕIà�K‰K×ÑÔ ÙÔÜ‰‰Õr@   c                 ó6   • U R                   R                  5       $ r^   ©rt  Úwm_titlerl   s    r,   Úget_window_titleÚ FigureManagerTk.get_window_titleŠ  s   € Ø�{‰{×#Ñ#Ó%Ð%r@   c                 ó:   • U R                   R                  U5        g r^   r½  )rc   Útitles     r,   Úset_window_titleÚ FigureManagerTk.set_window_title�  s   € Ø�‰×Ñ˜UÕ#r@   c                 óŽ   • [        U R                  R                  S5      5      nU R                  R                  SU(       + 5        g )Nz-fullscreen)Úboolrt  r³  )rc   Úis_fullscreens     r,   Úfull_screen_toggleÚ"FigureManagerTk.full_screen_toggle�  s2   € Ü˜TŸ[™[×3Ñ3°MÓBÓCˆØ�‰×Ñ˜}°-Ô.?Õ@r@   )r�  r|  r}  rt  )ry   rz   r{   r|   r}   rœ  ra   Úclassmethodr—  rŸ  r€  r±   r�  r®  r¿  rÃ  rÈ  r~   r   r€   s   @r,   r…   r…   ö  sh   ø† ñð €Nõð* ñó ððB ñ5ó ð5ò1òDòõò6&ò$÷Að Ar@   r…   c                   ó‚   ^ • \ rS rSrSSS.S jjrS rS rU 4S jrU 4S jrS	 r	S
 r
S rS rS rS rS rS rSrU =r$ )ÚNavigationToolbar2Tki•  T)Úpack_toolbarc                ó.  • Uc  UR                  5       R                  n[        R                  R	                  XSUR                  5       S   SS9  U R                  S5        0 U l        U R                   Hy  u  pEpgUc  U R                  5         M  U R                  U[        [        R                  " SU S35      5      US	;   [        X5      S
9=U R                  U'   nUc  Mn  [        X…5        M{     [         R"                  R%                  USS9U l        [        R(                  " X R&                  SS9n	U	R+                  [        R,                  S9  [        R.                  " U S9U l        [        R(                  " X R&                  U R0                  [        R,                  S9U l        U R2                  R+                  [        R,                  S9  [4        R                  " X5        U(       a-  U R+                  [        R6                  [        R8                  S9  gg)a«  
Parameters
----------
canvas : `FigureCanvas`
    The figure canvas on which to operate.
window : tk.Window
    The tk.Window which owns this toolbar.
pack_toolbar : bool, default: True
    If True, add the toolbar to the parent's pack manager's packing
    list during initialization with ``side="bottom"`` and ``fill="x"``.
    If you want to use the toolbar with a different layout manager, use
    ``pack_toolbar=False``.
NrB   r   é2   )rŒ   rŽ   rR   rQ   Fzimages/ú.png)ÚzoomÚpan)ÚtoggleÚcommandé
   )r™   Úsizeõ   Â 
Â ©rŒ   ÚfontÚtext©rm  rˆ  )rŒ   rÙ  ÚtextvariableÚjustify©rm  rn  )rð   rŒ   r4   ÚFramera   rª   Úpack_propagateÚ_buttonsÚ	toolitemsÚ_SpacerÚ_Buttonr8   r	   r�  r  Úadd_tooltiprd  rÙ  ÚFontÚ_label_fontÚLabelrw  r)  Ú	StringVarÚmessageÚ_message_labelr   ÚBOTTOMÚX)
rc   rv  rt  rÍ  rÚ  Útooltip_textÚ
image_fileÚcallbackÚbuttonÚlabels
             r,   ra   ÚNavigationToolbar2Tk.__init__–  sµ  € ð ‰>Ø×)Ñ)Ó+×2Ñ2ˆFÜ
�‰×Ñ˜$¸1Ø &× 7Ñ 7Ó 9¸!Ñ <ÀRð 	ñ 	Ið 	×Ñ˜EÔ"àˆŒØ8<¿¼Ñ4ˆD 
Ø‰|à—‘–à/3¯|©|ØÜœ×,Ò,¨w°z°lÀ$Ð-GÓHÓIØ# Ñ6Ü# DÓ3ð	 0<ð 0ð �—‘˜dÑ# fð  Ó+Ü Ö5ñ 9Gô #Ÿ<™<×,Ñ,°&¸rÐ,ÐBˆÔô —’ ×+;Ñ+;ØFñHˆà�
‰
œŸ™ˆ
Ñ!ä—|’|¨4Ñ0ˆŒÜ Ÿhšh¨d×9IÑ9IØ48·L±LÜ/1¯x©xñ9ˆÔð 	×Ñ× Ñ ¤b§h¡hÐ Ñ/ä×#Ò# DÔ1ÞØ�I‰Iœ2Ÿ9™9¬2¯4©4ˆIÒ0ð r@   c                 ó  • U R                  5        HÜ  n[        U[        R                  [        R                  45      (       a*  [        US5      (       a  [        R                  X5        MZ  M\  [        U[        R                  5      (       a   UR                  SS9  UR                  SS9  M›  [        U[        R                  5      (       a  M¼  [        R                  SUR                  5        MÞ     U R                  R                  SS9  g	)
at  
Scale all children of the toolbar to current DPI setting.

Before this is called, the Tk scaling setting will have been updated to
match the new DPI. Tk widgets do not update for changes to scaling, but
all measurements made after the change will match the new scaling. Thus
this function re-applies all the same sizes in points, which Tk will
scale correctly to pixels.
Ú_image_fileÚ18p)rQ   Ú3p)ÚpadxzUnknown child class %srÕ  ©rÖ  N)Úwinfo_childrenÚ
isinstancer4   ÚButtonÚCheckbuttonr¥  rÌ  Ú_set_image_for_buttonrß  rÓ   Úpack_configurerè  Ú_logÚwarningÚwinfo_classrç  )rc   r¢   s     r,   r£  ÚNavigationToolbar2Tk._rescaleÕ  sÆ   € ð ×)Ñ)Ö+ˆFÜ˜&¤2§9¡9¬b¯n©nÐ"=×>Ñ>Ü˜6 =×1Ñ1ä(×>Ñ>¸tÖLñ Ü˜F¤B§H¡H×-Ñ-Ø× Ñ ¨Ð Ñ.Ø×%Ñ%¨4Ð%Ó0Ü˜F¤B§H¡H×-Ñ-Ùä—‘Ð5°v×7IÑ7IÖJñ ,ð 	×Ñ×"Ñ"¨Ð"Ò+r@   c                 ó  • S[         R                  4S[         R                  44 Hb  u  pXR                  ;   d  M  U R                  U:X  a  U R                  U   R                  5         ME  U R                  U   R                  5         Md     g )NÚZoomÚPan)r   ÚZOOMÚPANrá  ÚmodeÚselectÚdeselect)rc   rÚ  r	  s      r,   Ú_update_buttons_checkedÚ,NavigationToolbar2Tk._update_buttons_checkedð  sf   € à"¤E§J¡JÐ/°%¼¿¹Ð1CÓD‰JˆDØ—}‘}Õ$Ø—9‘9 Ó$Ø—M‘M $Ñ'×.Ñ.Ö0à—M‘M $Ñ'×0Ñ0Ö2ò Er@   c                 ó@   >• [         TU ]  " U6   U R                  5         g r^   )r`   rÒ  r  ©rc   rX   re   s     €r,   rÒ  ÚNavigationToolbar2Tk.panù  s   ø€ Ü‰Š�TÑØ×$Ñ$Õ&r@   c                 ó@   >• [         TU ]  " U6   U R                  5         g r^   )r`   rÑ  r  r  s     €r,   rÑ  ÚNavigationToolbar2Tk.zoomý  s   ø€ Ü‰Š�dÑØ×$Ñ$Õ&r@   c                 ó:   • U R                   R                  U5        g r^   )rê  Úset©rc   Úss     r,   Úset_messageÚ NavigationToolbar2Tk.set_message  s   € Ø�‰×Ñ˜Õr@   c           	      ón  • U R                   R                  (       a9  U R                   R                  R                  U R                   R                  5        U R                   R                  (       a9  U R                   R                  R                  U R                   R                  5        U R                   R                  SS9S   nXc-
  nXe-
  nU R                   R                  R                  X#XESS9U R                   l        U R                   R                  R                  X#XESSS9U R                   l        g )	NTr‰   r   Úblack)Úoutliner‹   )r  r  )r  Údash)rv  rÁ   r£   rá   rÀ   rª   Úcreate_rectangle)rc   r˜   Úx0Úy0rS   rT   rQ   s          r,   Údraw_rubberbandÚ$NavigationToolbar2Tk.draw_rubberband  sî   € à�;‰;×-×-Ø�K‰K×!Ñ!×(Ñ(¨¯©×)KÑ)KÔLØ�;‰;×-×-Ø�K‰K×!Ñ!×(Ñ(¨¯©×)KÑ)KÔLØ—‘×-Ñ-°tÐ-Ð<¸QÑ?ˆØ‰[ˆØ‰[ˆà�K‰K×!Ñ!×2Ñ2Ø˜¨ð 3ð 1ð 	�‰Ô*ð �K‰K×!Ñ!×2Ñ2Ø˜¨°fð 3ð >ð 	�‰Õ*r@   c                 óš  • U R                   R                  (       aJ  U R                   R                  R                  U R                   R                  5        S U R                   l        U R                   R                  (       aK  U R                   R                  R                  U R                   R                  5        S U R                   l        g g r^   )rv  rÁ   r£   rá   rÀ   rl   s    r,   Úremove_rubberbandÚ&NavigationToolbar2Tk.remove_rubberband  s}   € Ø�;‰;×-×-Ø�K‰K×!Ñ!×(Ñ(¨¯©×)KÑ)KÔLØ15ˆD�K‰KÔ.Ø�;‰;×-×-Ø�K‰K×!Ñ!×(Ñ(¨¯©×)KÑ)KÔLØ15ˆD�K‰KÕ.ð .r@   c           	      óZ  ^^• TR                   c  g[        R                  " STR                   5      nUR                  UR                  R                  SS5      5      nTR                  S5      nU4S jmU4S jnS n[        R                  " US	:”  a  UR                  5       (       a  UOU5       nUR                  S
5      n[        R                  " UR                  XD45      U S9nUTl        S[        R                   " TR#                  TR%                  S5      5      5      -  n	U" Xy5      n
[        R                  " U
R                  XD45      U S9nUTl        SSS5        U" S5      (       a  SW0nOSW0n[)        T[*        R,                  5      (       an  TR%                  S5      S:w  aY  U R.                  S:w  a  SnO.T" S5      u  pïnT" S5      u  nnnUU-   S-  UU-   S-  UU-   S-  4nU" U5      (       a  WUS'   OWUS'   TR0                  " S0 UDSSS.D6  g! , (       d  f       NÉ= f)zu
Set the image for a button based on its pixel size.

The pixel size is determined by the DPI scaling of the window.
NÚimagesrÐ  z
_large.pngrö  c                 óD   >• TR                  TR                  U 5      5      $ r^   )Ú	winfo_rgbÚcget)Ú
color_namerñ  s    €r,   Ú
_get_colorÚ>NavigationToolbar2Tk._set_image_for_button.<locals>._get_color-  s   ø€ à×#Ñ# F§K¡K°
Ó$;Ó<Ð<r@   c                 óZ   >• [        U [        5      (       a  T" U 5      n [        U 5      S:  $ )Ng    àÿß@)rû  r8   rG   )Úcolorr+  s    €r,   Ú_is_darkÚ<NavigationToolbar2Tk._set_image_for_button.<locals>._is_dark1  s)   ø€ Ü˜%¤×%Ñ%Ù" 5Ó)�Ü�u“: 	Ñ)Ð)r@   c                 ó¸   • [         R                  " U 5      R                  5       nUSS S24   S:H  R                  SS9nXUS S24'   [        R
                  " U5      $ )N.r  r   r  )Úaxis)rC   rD   ÚcopyÚallr   Ú	fromarray)r‘   r.  Ú
image_dataÚ
black_masks       r,   Ú_recolor_iconÚANavigationToolbar2Tk._set_image_for_button.<locals>._recolor_icon6  s]   € ÜŸš EÓ*×/Ñ/Ó1ˆJØ$ S¨"¨1¨" WÑ-°Ñ2×7Ñ7¸RÐ7Ð@ˆJØ).�z 2 A 2�~Ñ&Ü—?’? :Ó.Ð.r@   é   ÚRGBArˆ  g ààào?r+   r�   r‘   Úselectcolorrr  Úx11ÚactivebackgroundrB   Úselectimage)rQ   rR   © )rõ  r	   r�  Ú	with_namerÅ   ÚreplaceÚwinfo_pixelsr   ÚopenÚexistsÚconvertr   r¬   r±   Ú_ntimagerC   Úarrayr(  r)  Ú_ntimage_altrû  r4   rý  Ú_windowingsystemrÓ   )rc   rñ  Úpath_regularÚ
path_largerÖ  r/  r8  Úimr‘   r+   Úim_altÚ	image_altÚimage_kwargsr<  Úr1Úg1Úb1Úr2Úg2Úb2r+  s    `                  @r,   rþ  Ú*NavigationToolbar2Tk._set_image_for_button  s  ù€ ð ×ÑÑ%Øô ×+Ò+¨H°f×6HÑ6HÓIˆØ!×+Ñ+Ø×Ñ×%Ñ% f¨lÓ;ó=ˆ
à×"Ñ" 5Ó)ˆõ	=õ	*ò
	/ô �ZŠZ t¨b£y°Z×5FÑ5F×5HÑ5H™
Ø)ô+Ø.0à—‘˜FÓ#ˆBÜ×&Ò& r§y¡y°$°Ó'>ÀtÑLˆEØ#ˆFŒOð &¬¯ªØ× Ñ  §¡¨\Ó!:Ó;ó*=ñ =ˆJá" 2Ó2ˆFÜ×*Ò*Ø—‘˜t˜lÓ+°Dñ:ˆIà"+ˆFÔ÷+ñ �L×!Ñ!ð
 $ YÐ/‰Là# UÐ+ˆLô
 �vœrŸ~™~×.Ñ.Ø—‘˜MÓ*¨bÓ0à×$Ñ$¨Ó-Ø+‘ñ
 (¨Ó6‘
�˜Ù'Ð(:Ó;‘
��B˜Ø " 2¡ q™y¨2¨b©5°!©)°b¸±e¸Q±YÐ?�Ù˜×$Ñ$Ø.7�˜]Ò+à.3�˜]Ñ+à×ÒÑC˜<ÐC°¸UÕC÷Y+õ +ús   Â0B)HÈ
H*c                 óX  • U(       d  [         R                  " XUSSSS9nO4[         R                  " U S9n[         R                  " XUSUSSSS9nXel        X%l        Ub  [        R                  X5        OUR                  U R                  S9  UR                  [         R                  S	9  U$ )
NÚflatÚgroover   )rŒ   rÚ  rÔ  ÚreliefÚ
overreliefrŽ   rˆ  F)rŒ   rÚ  rÔ  ÚindicatoronÚvariableÚ	offreliefr\  rŽ   )rÙ  rÛ  )r4   rü  r{  rý  Úvarrõ  rÌ  rþ  rÓ   rç  rw  r(  )rc   rÚ  rï  rÓ  rÔ  Úbr`  s          r,   rä  ÚNavigationToolbar2Tk._Buttonk  s™   € ÞÜ—	’	Ø°Ø¨(Àñ‰Aô —)’) 4Ñ(ˆCÜ—’Ø°ÀUØ¨¸8ØñˆAð
 ŒEØ"ŒØÑ!ä ×6Ñ6°tÕ?à�K‰K˜T×-Ñ-ˆKÑ.Ø	�‰”B—G‘GˆÑØˆr@   c                 óŒ   • [         R                  " U S[         R                  SS9nUR                  [         R                  SS9  U$ )Nrö  ÚDarkGray)rŒ   rQ   r[  Úbgr÷  )rm  rø  )r4   rß  ÚRIDGErw  r(  r  s     r,   rã  ÚNavigationToolbar2Tk._Spacer‡  s3   € ä�HŠH˜D¨´r·x±xÀJÑOˆØ	�‰”B—G‘G $ˆÑ'Øˆr@   c           
      óÌ  • U R                   R                  5       n[        UR                  5       5       VVs/ s H  u  p4USR	                  S U 5       5      4PM!     nnnU R                   R                  5       nU R                   R                  5       U   n[        R                  " U R                   R                  5       U5      nSn	[        R                  R                  [        R                  S   5      n
[        R                   " U R                   R#                  5       5      R$                  n[&        R(                  R+                  U R                   R                  5       R,                  SUU	U
UUS9nUS;   a  g U
S:w  a9  [        R                  R/                  [1        U5      5      [        R                  S'   [        R                   " U5      R2                  SS  S:w  a  S nOX(R5                  5          S	   n U R                   R6                  R9                  XÍS
9  U$ s  snnf ! [:         a3  n[&        R<                  R?                  S[1        U5      5         S nAg S nAff = f)NÚ c              3   ó,   #   • U  H
  nS U 3v •  M     g7f)z*.Nr@  )Ú.0Úexts     r,   Ú	<genexpr>Ú3NavigationToolbar2Tk.save_figure.<locals>.<genexpr>�  s   é € Ð7²$¨3˜b  �J²$ùs   ‚rr  zsavefig.directoryzSave the figure)rŒ   rÂ  Ú	filetypesÚdefaultextensionÚ
initialdirÚinitialfileÚtypevariable)rr  r@  r   r   )ÚformatzError saving file) rv  Úget_supported_filetypes_groupedÚsortedÚitemsrD  Úget_default_filetypeÚget_supported_filetypesr4   ré  rð   ÚosÚpathÚ
expanduserr(   r)   ÚpathlibÚPathÚget_default_filenameÚstemrd  Ú
filedialogÚasksaveasfilenamerŒ   Údirnamer8   Úsuffixr  rÂ   ÚsavefigÚ	ExceptionÚ
messageboxÚ	showerror)rc   rX   ro  rÅ   ÚextsÚtk_filetypesÚdefault_extensionÚdefault_filetypeÚfiletype_variablerp  rq  rr  ÚfnameÚ	extensionrY   s                  r,   Úsave_figureÚ NavigationToolbar2Tk.save_figure�  s  € Ø—K‘K×?Ñ?ÓAˆ	ô % Y§_¡_Ó%6Ô7ô
â7‘
�ð �3—8‘8Ñ7±$Ó7Ó7Ó8Ù7ð 	ñ 
ð
 !ŸK™K×<Ñ<Ó>ÐØŸ;™;×>Ñ>Ó@ÐARÑSÐÜŸLšL¨¯©×)BÑ)BÓ)DÐFVÓWÐð ÐÜ—W‘W×'Ñ'¬¯©Ð5HÑ(IÓJˆ
ô —l’l 4§;¡;×#CÑ#CÓ#EÓF×KÑKˆÜ×"Ñ"×4Ñ4Ø—;‘;×,Ñ,Ó.×5Ñ5Ø#Ø"Ø-Ø!Ø#Ø*ð 5ð ˆð �HÓØà˜Óä—‘—‘¤ E£
Ó+ô �L‰LÐ,Ñ-ô
 �<Š<˜Ó×%Ñ% a bÐ)¨RÓ/Ø‰Ià!×"7Ñ"7Ó"9Ñ:¸1Ñ=ˆIð	FØ�K‰K×Ñ×&Ñ& uÐ&Ñ?ØˆLùó]
øô^ ó 	FÜ×Ñ×(Ñ(Ð)<¼cÀ!»f×EÑEûð	Fús   ·&H Ç;$H& È&
I#È0)IÉI#c                 óh  • [         R                  [         R                  S.nU R                  R                  S:„  nU R                  R                  [        U R                  5      S-
  :  nSU R                  ;   a  X   U R                  S   S'   SU R                  ;   a  X   U R                  S   S'   g g )N)TFr   r   ÚBackr-  ÚForward)r4   ÚNORMALÚDISABLEDÚ
_nav_stackÚ_posÚlenrá  )rc   Ú	state_mapÚcan_backÚcan_forwards       r,   Úset_history_buttonsÚ(NavigationToolbar2Tk.set_history_buttonsÁ  s“   € ÜŸ9™9¬R¯[©[Ñ9ˆ	Ø—?‘?×'Ñ'¨!Ñ+ˆØ—o‘o×*Ñ*¬S°·±Ó-AÀAÑ-EÑEˆØ�T—]‘]Ó"Ø-6Ñ-@ˆD�M‰M˜&Ñ! 'Ñ*Ø˜Ÿ™Ó%Ø09Ñ0FˆD�M‰M˜)Ñ$ WÒ-ð &r@   )rá  rç  rë  rê  r^   )ry   rz   r{   r|   ra   r£  r  rÒ  rÑ  r  r   r#  rþ  rä  rã  r�  r�  r~   r   r€   s   @r,   rÌ  rÌ  •  sX   ø† ð=1¸Dö =1ò~,ò63õ'õ'òò?ò 6òMDò^ò8ò2F÷hGð Gr@   rÌ  c                 ór   ^ ^^• S mUUU 4S jnU4S jnT R                  SU5        T R                  SU5        g )Nc                 óF  >• T(       d  T(       d  gTR                  S5      u  p  nUTR                  5       -   TR                  5       -   nUTR                  5       -   n[        R
                  " T5      mTR                  S5        TR                  SU SU 35         TR                  R                  SSTR                  SS5        [        R                  " TT[        R                  [        R                  SS	9nUR                  SS
9  g! [        R                   a     NZf = f)zDisplay text in tooltip window.NÚinsertr   rž   z!::tk::unsupported::MacWindowStyleÚstyleÚhelpÚnoActivates)rÚ  rÝ  r[  rŽ   )Úipadx)r=   r"  rÕ   r#  r4   ÚToplevelÚoverrideredirectÚgeometryr5   Ú_wrN   rè  r(  ÚSOLIDrw  )r˜   rô   rö   Ú_rò  rÚ  Ú	tipwindowr¢   s        €€€r,   ÚshowtipÚadd_tooltip.<locals>.showtipÎ  sü   ø€ ö žDØØ—[‘[ Ó*‰
ˆˆa�Ø�×"Ñ"Ó$Ñ$ v×'9Ñ'9Ó';Ñ;ˆØ�×"Ñ"Ó$Ñ$ˆÜ—K’K Ó'ˆ	Ø×"Ñ" 1Ô%Ø×Ñ˜Q˜q˜c  1 #˜;Ô'ð	Ø�L‰L×ÑÐAØ% y§|¡|Ø$ mô5ô
 —’˜¨´r·w±wÜ "§¡°añ9ˆà�
‰
˜ˆ
Òøô	 �{‰{ó 	Ùð	ús   Â)D	 Ä	D ÄD c                 ó8   >• T(       a  TR                  5         S mg r^   )r®  )r˜   r¬  s    €r,   ÚhidetipÚadd_tooltip.<locals>.hidetipã  s   ø€ æØ×ÑÔØ‰	r@   r’   r“   )r°   )r¢   rÚ  r­  r°  r¬  s   ``  @r,   rå  rå  Ë  s0   ú€ Ø€I÷õ*ð ‡K�K�	˜7Ô#Ø
‡K�K�	˜7Õ#r@   c                   ó    • \ rS rSrS rS rSrg)ÚRubberbandTkií  c                 óP   • [         R                  U R                  5       S XX45        g r^   )rÌ  r   Ú"_make_classic_style_pseudo_toolbar)rc   r  r  rS   rT   s        r,   r   ÚRubberbandTk.draw_rubberbandï  s#   € Ü×,Ñ,Ø×3Ñ3Ó5°t¸RÀRõ	Mr@   c                 óJ   • [         R                  U R                  5       5        g r^   )rÌ  r#  rµ  rl   s    r,   r#  ÚRubberbandTk.remove_rubberbandó  s   € Ü×.Ñ.Ø×3Ñ3Ó5õ	7r@   r@  N)ry   rz   r{   r|   r   r#  r~   r@  r@   r,   r³  r³  í  s   † òMõ7r@   r³  c                   óN   • \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rSrg)Ú	ToolbarTkiø  Nc                 óx  • [         R                  " X5        Uc.  U R                  R                  R	                  5       R
                  nU R                  R                  R                  R                  R                  u  p4SXC-
  pe[        R                  R                  X[        U5      [        U5      SS9  [        R                  R                  SS9U l        [        R                   " X R                  SS9nUR#                  [        R$                  S9  [        R&                  " U S	9U l        [        R                   " X R                  U R(                  S
9U l        U R*                  R#                  [        R$                  S9  0 U l        U R#                  [        R.                  [        R0                  S9  0 U l        g )NrÏ  rB   )rŒ   rR   rQ   rŽ   rÕ  rù  r×  rØ  rÛ  rˆ  )rŒ   rÙ  rÜ  rÞ  )r   ra   Útoolmanagerrv  rð   rŒ   rÂ   r=   Ú	intervalxr4   rß  râ   rd  rÙ  ræ  rç  rè  rw  r)  ré  Ú_messagerë  Ú
_toolitemsrx  rí  Ú_groups)rc   r¼  rt  ÚxminÚxmaxrQ   rR   rò  s           r,   ra   ÚToolbarTk.__init__ù  sH  € Ü×"Ò" 4Ô5Ø‰>Ø×%Ñ%×,Ñ,×:Ñ:Ó<×CÑCˆFØ×%Ñ%×,Ñ,×3Ñ3×8Ñ8×BÑB‰
ˆØ˜D™K�Ü
�‰×Ñ˜$Ü # E£
´3°v³;Ø&'ð 	ñ 	)ô #Ÿ<™<×,Ñ,°"Ð,Ð5ˆÔô
 —’ ×+;Ñ+;ØFñHˆà�
‰
œŸ™ˆ
Ñ!ÜŸš¨DÑ1ˆŒÜ Ÿhšh¨d×9IÑ9IØ48·M±MñCˆÔà×Ñ× Ñ ¤b§h¡hÐ Ñ/ØˆŒØ�	‰	”r—v‘v¤B§D¡Dˆ	Ñ)Øˆ�r@   c                 ó,   • [         R                  U 5      $ r^   )rÌ  r£  rl   s    r,   r£  ÚToolbarTk._rescale  s   € Ü#×,Ñ,¨TÓ2Ð2r@   c                 ój  ^ ^• T R                  U5      nUR                  5       nU[        U5      :¼  d  US:  a  S n	OXƒ   n	[        R	                  UTXFUU 4S j5      n
U
R                  U	S9  Ub  [        X¥5        T R                  R                  T/ 5        T R                  T   R                  U
5        g )Nr   c                  ó&   >• TR                  T 5      $ r^   )Ú_button_click)rÅ   rc   s   €€r,   rt   Ú(ToolbarTk.add_toolitem.<locals>.<lambda>  s   ø€ °d×6HÑ6HÈÔ6Nr@   )Úbefore)
Ú_get_groupframeÚpack_slavesr™  rÌ  rä  rÿ  rå  r¿  Ú
setdefaultÚappend)rc   rÅ   ÚgroupÚpositionrï  ÚdescriptionrÓ  Úframerú   rÊ  rñ  s   ``         r,   Úadd_toolitemÚToolbarTk.add_toolitem  s¤   ù€ à×$Ñ$ UÓ+ˆØ×#Ñ#Ó%ˆØ”s˜7“|Ó# x°!£|Ø‰FàÑ&ˆFÜ%×-Ñ-¨e°T¸:Ý.NóPˆà×Ñ VÐÑ,ØÑ"Ü˜Ô,Ø�‰×"Ñ" 4¨Ô,Ø�‰˜Ñ×$Ñ$ VÕ,r@   c                 ó@  • XR                   ;  a�  U R                   (       a  U R                  5         [        R                  " U SS9nUR	                  [        R
                  [        R                  S9  U R                  Ul        X R                   U'   U R                   U   $ )Nr   )rŒ   rŽ   rÞ  )rÀ  Ú_add_separatorr4   rß  rw  r(  ÚYrç  )rc   rÏ  rÒ  s      r,   rË  ÚToolbarTk._get_groupframe%  sp   € ØŸ™Ó$Ø�|�|Ø×#Ñ#Ô%Ü—H’H D°aÑ8ˆEØ�J‰JœBŸG™G¬"¯$©$ˆJÑ/Ø $× 0Ñ 0ˆEÔØ"'�L‰L˜ÑØ�|‰|˜EÑ"Ð"r@   c                 ó,   • [         R                  U 5      $ r^   )rÌ  rã  rl   s    r,   rÖ  ÚToolbarTk._add_separator/  s   € Ü#×+Ñ+¨DÓ1Ð1r@   c                 ó&   • U R                  U5        g r^   )Útrigger_tool)rc   rÅ   s     r,   rÈ  ÚToolbarTk._button_click2  s   € Ø×Ñ˜$Õr@   c                 ó¢   • XR                   ;  a  g U R                   U    H,  nU(       a  UR                  5         M  UR                  5         M.     g r^   )r¿  r
  r  )rc   rÅ   ÚtoggledÚtoolitems       r,   Útoggle_toolitemÚToolbarTk.toggle_toolitem5  s;   € Ø—‘Ó&ØØŸ™¨Ô-ˆHÞØ—‘Ö!à×!Ñ!Ö#ò	 .r@   c                 ój   • U R                   R                  U/ 5       H  nUR                  5         M     g r^   )r¿  r3   Úpack_forget)rc   rÅ   rà  s      r,   Úremove_toolitemÚToolbarTk.remove_toolitem>  s)   € ØŸ™×+Ñ+¨D°"Ö5ˆHØ× Ñ Ö"ò 6r@   c                 ó:   • U R                   R                  U5        g r^   )r¾  r  r  s     r,   r  ÚToolbarTk.set_messageB  s   € Ø�‰×Ñ˜!Õr@   )rÀ  rç  r¾  rë  r¿  r^   )ry   rz   r{   r|   ra   r£  rÓ  rË  rÖ  rÈ  rá  rå  r  r~   r@  r@   r,   rº  rº  ø  s/   † ôò23ò-ò #ò2ò ò$ò#õr@   rº  c                   ó   • \ rS rSrS rSrg)ÚSaveFigureTkiF  c                 óJ   • [         R                  U R                  5       5        g r^   )rÌ  r�  rµ  ©rc   rX   s     r,   ÚtriggerÚSaveFigureTk.triggerH  s   € Ü×(Ñ(Ø×3Ñ3Ó5õ	7r@   r@  N©ry   rz   r{   r|   rí  r~   r@  r@   r,   rê  rê  F  s   † õ7r@   rê  c                   ó   • \ rS rSrS rSrg)ÚConfigureSubplotsTkiM  c                 ó.   • [         R                  U 5        g r^   )rÌ  Úconfigure_subplotsrì  s     r,   rí  ÚConfigureSubplotsTk.triggerO  s   € Ü×/Ñ/°Õ5r@   r@  Nrï  r@  r@   r,   rñ  rñ  M  s   † õ6r@   rñ  c                   ó   • \ rS rSrS rSrg)ÚHelpTkiS  c                 ó�   ^• [        U R                  R                  R                  U R	                  5       S/5      mU4S jTl        g )NÚOKc                 óL   >• TR                   R                  R                  5       $ r^   )rÒ  rŒ   ru  )r
  Údialogs    €r,   rt   Ú HelpTk.trigger.<locals>.<lambda>X  s   ø€  &§,¡,×"5Ñ"5×">Ñ">Ô"@r@   )r   rÂ   rv  r£   Ú_get_help_textÚdone)rc   rX   rú  s     @r,   rí  ÚHelpTk.triggerU  s7   ø€ ÜØ�K‰K×Ñ×(Ñ(¨$×*=Ñ*=Ó*?À$ÀóIˆä@ˆ�r@   r@  Nrï  r@  r@   r,   rö  rö  S  s   † õAr@   rö  c                   óL   • \ rS rSr\R
                  r\r\	r
\	R                  rSrg)Ú
_BackendTki`  r@  N)ry   rz   r{   r|   r4   Ú	TkVersionÚbackend_versionr‚   ÚFigureCanvasr…   ÚFigureManagerrŸ  rY  r~   r@  r@   r,   r   r   `  s    † à—l‘l€OØ!€LØ#€MØ×.Ñ.ƒHr@   r   r^   )dÚuuidr½   Ú
contextlibr   ÚloggingrH   Úos.pathrz  r}  rÎ   rd  r4   Útkinter.filedialogÚtkinter.fontÚtkinter.messageboxÚtkinter.simpledialogr   ÚnumpyrC   ÚPILr   r   r…  r(   r   r   r	   r
   Úmatplotlib.backend_basesr   r   r   r   r   r   r   r   r   r   r   r   r   r   Úmatplotlib._pylab_helpersr   rr  r   r   r   ÚImportErrorrY   r  Úcause1Úcause2rû  ÚAttributeErrorr8   r{  ÚrealpathÚ
executableÚis_uv_pythonÚ	getLoggerry   r   ÚMOVEÚHANDÚPOINTERÚSELECT_REGIONÚWAITÚRESIZE_HORIZONTALÚRESIZE_VERTICALrc  r-   r2   Úuuid4ÚhexrM   r?   r6   r[   r‚   r…   rß  rÌ  rå  Ú_register_tool_classÚRubberbandBaser³  rº  ÚSaveFigureBaserê  ÚConfigureSubplotsBaserñ  ÚToolHelpBaserö  ÚToolbarÚ_toolbar2_classÚ_toolmanager_toolbar_classÚexportr   r@  r@   r,   Ú<module>r+     s÷  ðÛ Û Ý %Û Û Û Û Û 
Û Û Û Û Ý -ã ß ã ß DÓ D÷B÷ B÷ B÷ Bõ *ðÝßJð: ×Ò˜Ó"€à‡L�L�'Ø‡L�L�'Ø‡O�O�WØ×Ñ˜;Ø‡L�L�'Ø×ÑÐ2Ø×ÑÐ0ð€ð ñDó ðDð €
à˜tŸzšz›|×/Ñ/Ñ/€òô33ôl#ˆiô #ôLuÐ%ô uôp	\AÐ'ô \Aô~sGÐ-¨r¯x©xô sGòl	$ðD ×#Ò# NÓ3ô7�=×/Ñ/ó 7ó 4ð7ôKÐ! 2§8¡8ô Kð\ ×#Ò# NÓ3ô7�=×/Ñ/ó 7ó 4ð7ð ×#Ò# NÓ3ô6˜-×=Ñ=ó 6ó 4ð6ð
 ×#Ò# NÓ3ôAˆ]×'Ñ'ó Aó 4ðAð €Ø"6€Ô Ø-6€Ô *ð 
‡�ô/�ó /ó ñ/øðI" ó á�Q˜ TÓ*€FÙ�V˜[¨$Ó/€FÙ�6˜;×'Ñ'Ù�v˜~×.Ñ.Ø4¹¸F»ÓCà#¨¯©×(8Ñ(8¸¿¹Ó(HÑIˆÞÙð?óð
 ðñ ð-óð ðð 	ûð3ús   Á<I ÉKÉA>K	Ë	K