§
    ‡ÛgŸ  ã                   ó  — d dl Z d dlZd dlZd dlmZ d dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZd dlmZ d dlZd dlmZ d dlZd dlmZmZmZ d dlmZmZmZmZ d dlmZ d dlmZm Z  d d	l!m"Z" d d
l#m$Z$ d dl%m&Z&  ej'        e(¦  «        Z)ej*         G d„ d¦  «        ¦   «         Z+ ej,        d¦  «        d„ ¦   «         Z- ej,        d¦  «        d„ ¦   «         Z.d„ Z/dZ0de0z  Z1dZ2de2z  Z3dZ4 e	j5        e4dz   ¦  «        j6        Z7 ej8         e	j5        e4dz   ¦  «        j9        d¦  «        Z: ej8         e	j5        e4dz   ¦  «        j9        d¦  «        Z; ej,        d¦  «        d„ ¦   «         Z<d„ Z= ej,        d¦  «        d„ ¦   «         Z>d„ Z?d„ Z@d „ ZAd!„ ZB G d"„ d#eC¦  «        ZD G d$„ d%¦  «        ZE ejF        d&¦  «        d'„ ¦   «         ZG G d(„ d)e¦  «        ZH G d*„ d+e¦  «        ZIeZJejK         G d,„ d-e¦  «        ¦   «         ZL G d.„ d/¦  «        ZMdS )0é    N)ÚBytesIO)ÚTemporaryDirectory)ÚImage)Ú_apiÚcbookÚfont_manager)Ú_BackendÚFigureCanvasBaseÚFigureManagerBaseÚRendererBase)ÚMixedModeRenderer)Ú_create_pdf_info_dictÚ_datetime_to_pdf)ÚPath)ÚFigure)ÚGcfc                   ó¢   — e Zd Z  ej        dd¬¦  «         ed„ ¦  «        ¦  «        Z  ej        dd¬¦  «         ed„ ¦  «        ¦  «        ZdS )Ú__getattr__ú3.6Ú )Úobj_typec                 ó   — t           S ©N)Ú
_NO_ESCAPE©Úselfs    úU/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/backends/backend_pgf.pyú<lambda>z__getattr__.<lambda>(   s   € �j€ ó    c                 ó   — t           j        S r   )Ú_split_mathÚ__self__r   s    r   r   z__getattr__.<lambda>*   s	   € �kÔ2€ r   N)Ú__name__Ú
__module__Ú__qualname__r   Ú
deprecatedÚpropertyÚ	NO_ESCAPEÚ
re_mathsep© r   r   r   r   %   st   € € € € € à3��” °Ð3Ñ3Ô3ØˆÐ(Ð(Ñ)Ô)ñ+ô +€Ià4��” °Ð4Ñ4Ô4ØˆÐ2Ð2Ñ3Ô3ñ5ô 5€J€J€Jr   r   r   c                  ó~   — t          j        ddi¦  «        5  t          ¦   «         cddd¦  «         S # 1 swxY w Y   dS )z Build fontspec preamble from rc.úpgf.preambler   N)ÚmplÚ
rc_contextÚ_get_preambler*   r   r   Úget_fontspecr0   -   s„   € õ 
Œ˜¨Ð,Ñ	-Ô	-ð ð Ý‰Œðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð s   —2²6¹6c                  ó&   — t           j        d         S )zGet LaTeX preamble from rc.r,   ©r-   ÚrcParamsr*   r   r   Úget_preambler4   4   s   € õ Œ<˜Ô'Ð'r   c            
      ó2  — t           j        d         g} t           j        d         dk    r¦|                      d¦  «         t           j        d         rg d¢}g d¢}t          ||¦  «        D ]f\  }}t	          j        t          j        |¦  «        ¦  «        }|                      d|›d	|j        ›d
|j	         
                    ¦   «         ›d�¦  «         Œg|                      t           j                             dd¬¦  «        ¦  «         d                     | ¦  «        S )z=Prepare a LaTeX preamble based on the rcParams configuration.r,   úpgf.texsystemÚpdflatexz\usepackage{fontspec}zpgf.rcfonts)Úserifzsans\-serifÚ	monospace)ÚsetmainfontÚsetsansfontÚsetmonofontú\Ú{z}[Path=\detokenize{z/}]Ú
underscoreÚstrings)Úoptionú
)r-   r3   ÚappendÚzipÚpathlibr   ÚfmÚfindfontÚnameÚparentÚas_posixÚ
texmanagerÚ_usepackage_if_not_loadedÚjoin)ÚpreambleÚfamiliesÚcommandsÚfamilyÚcommandÚpaths         r   r/   r/   :   s(  € å”˜^Ô,Ð-€HÝ
„|�OÔ$¨
Ò2Ð2Ø�ŠÐ0Ñ1Ô1Ð1ÝŒ<˜Ô&ð 	AØ=Ð=Ð=ˆHØDÐDÐDˆHÝ#& x°Ñ#:Ô#:ð Að A‘�˜õ ”|¥B¤K°Ñ$7Ô$7Ñ8Ô8�Ø—’�Ø�G�G˜TœY˜Y˜Y¨¬×(<Ò(<Ñ(>Ô(>Ð(>Ð(>ð!@ñ Aô Að Að Aà‡O‚O•C”N×<Ò<Ø˜Yð =ñ (ô (ñ )ô )ð )à�9Š9�XÑÔÐr   gRh�¸’VŒ?ç      ð?gÇqÇqŒ?z(?<!\\)(?:\\\\)*z\$z(?=[%^])z\\z(\\mathdefault)r   c                 ó    — t          | ¦  «        S r   )Ú_tex_escape)Útexts    r   Úcommon_texificationrX   _   s   € å�tÑÔÐr   c                 óü   — t          | ¦  «        } |                      dd¦  «        } t          | ¦  «        }t          |¦  «        D ]$\  }}|dz  st	          |¦  «        }nd|z  }|||<   Œ%d                     |¦  «        S )aV  
    Do some necessary and/or useful substitutions for texts to be included in
    LaTeX documents.

    This distinguishes text-mode and math-mode by replacing the math separator
    ``$`` with ``\(\displaystyle %s\)``. Escaped math separators (``\$``)
    are ignored.

    The following characters are escaped in text segments: ``^%``
    u   âˆ’z\ensuremath{-}é   z\(\displaystyle %s\)r   )Ú_replace_mathdefaultÚreplacer!   Ú	enumerateÚ_replace_escapetextrM   )rW   ÚpartsÚiÚss       r   rV   rV   d   s�   € õ   Ñ%Ô%€DØ�<Š<Ð(Ð*;Ñ<Ô<€Då˜ÑÔ€EÝ˜%Ñ Ô ð ð ‰ˆˆ1Ø�1‰uð 	,å# AÑ&Ô&ˆAˆAð (¨!Ñ+ˆAØˆˆa‰ˆØ�7Š7�5‰>Œ>Ðr   c                 ó"   — t          | |¦  «        S r   )Ú_writeln©ÚfhÚlines     r   Úwritelnrg   €   s   € å�B˜ÑÔÐr   c                 óZ   — |                       |¦  «         |                       d¦  «         d S )Nz%
)Úwriterd   s     r   rc   rc   …   s&   € ð ‡H‚HˆT�N„N€NØ‡H‚HˆU�O„O€O€O€Or   c                 ó  ‡— g }dddddœ}|                      ¦   «         d         Š‰|v r|                     |‰         ¦  «         ntt          ˆfd„t          j        j        D ¦   «         ¦  «        r/t          j        d         dk    r|                     d	‰z  ¦  «         nt           	                    d
‰¦  «         | 
                    ¦   «         }|                     d||dz  fz  ¦  «         ddddœ}|                     ||                     ¦   «                  ¦  «         g d¢}|                     ¦   «         |v r|                     d¦  «         |                     d¦  «         d                     |¦  «        dz   t          | ¦  «        z   S )zƒ
    Generate a TeX string that renders string *s* with font properties *prop*,
    also applying any required escapes to *s*.
    z	\rmfamilyz	\sffamilyz	\ttfamily)r8   Úsansz
sans-serifr9   r   c              3   ó.   •K  — | ]}|j         ‰k    V — Œd S r   )rH   )Ú.0ÚfontrQ   s     €r   ú	<genexpr>z*_escape_and_apply_props.<locals>.<genexpr>˜   s*   øè è € ÐEÐE dˆdŒi˜6Ò!ÐEÐEÐEÐEÐEÐEr   r6   r7   z\setmainfont{%s}\rmfamilyzIgnoring unknown font: %sz\fontsize{%f}{%f}g333333ó?r   z\itshapez\slshape)ÚnormalÚitalicÚoblique)ÚsemiboldÚdemiboldÚdemiÚboldÚheavyz
extra boldÚblackz	\bfseriesz\selectfontú )Ú
get_familyrC   ÚanyrF   ÚfontManagerÚttflistr-   r3   Ú_logÚwarningÚget_size_in_pointsÚ	get_styleÚ
get_weightrM   rV   )ra   ÚproprP   rO   ÚsizeÚstylesÚ
boldstylesrQ   s          @r   Ú_escape_and_apply_propsr‡   Œ   s•  ø€ ð
 €Hà%¨|Ø*¸ðGð G€Hà�_Š_ÑÔ˜qÔ!€FØ�ÐÐØ�Š˜ Ô(Ñ)Ô)Ð)Ð)Ý
ÐEÐEÐEÐE­b¬nÔ.DÐEÑEÔEÑ
EÔ
Eð :ÝŒl˜?Ô+¨zÒ9Ð9Ø�ŠÐ4°vÑ=Ñ>Ô>Ð>Ð>å�ŠÐ0°&Ñ9Ô9Ð9à×"Ò"Ñ$Ô$€DØ‡O‚OÐ(¨D°$¸±*Ð+=Ñ=Ñ>Ô>Ð>à {¸{ÐKÐK€FØ‡O‚O�F˜4Ÿ>š>Ñ+Ô+Ô,Ñ-Ô-Ð-ð)ð )ð )€Jà‡‚ÑÔ˜JÐ&Ð&Ø�Š˜Ñ%Ô%Ð%à‡O‚O�NÑ#Ô#Ð#Ø�7Š7�8ÑÔ˜sÑ"¥[°¡^¤^Ñ3Ð3r   c                 óÆ   — t          |t          j        ¦  «        rt          |¦  «        }n0| dk    r|j                             d¦  «        }nt          |¦  «        }| › d|› d�S )z;Convert metadata key/value to a form that hyperref accepts.ÚTrappedÚasciiz={Ú})Ú
isinstanceÚdatetimer   rH   ÚdecodeÚstr)ÚkeyÚvalues     r   Ú_metadata_to_strr’   ­   sj   € å�%�Ô*Ñ+Ô+ð Ý  Ñ'Ô'ˆˆØ	�	Ò	Ð	Ø”
×!Ò! 'Ñ*Ô*ˆˆå�E‘
”
ˆØÐÐ�eÐÐÐÐr   c                  óÚ   ‡ — 	 t          j        d¦  «         d„ S # t           j        $ r Y nw xY w	 t          j        d¦  «        Š ˆ fd„S # t           j        $ r Y nw xY wt          d¦  «        ‚)z9Return a function that converts a pdf file to a png file.Ú
pdftocairoc                 óž   — t          j        dddddd|z  | t          j                             |¦  «        d         gt           j        ¬¦  «        S )	Nr”   z-singlefilez-transpz-pngz-rz%dr   ©Ústderr)Ú
subprocessÚcheck_outputÚosrS   ÚsplitextÚSTDOUT)ÚpdffileÚpngfileÚdpis      r   r   z+make_pdf_to_png_converter.<locals>.<lambda>¿   sN   € ­ZÔ-DØ˜=¨)°V¸TÀ4È#Á:Ø•b”g×&Ò& wÑ/Ô/°Ô2ð4åÔ$ð.&ñ .&ô .&€ r   Úgsc                 óv   •— t          j        ‰j        ddddddddd	d
d|z  d|z  | gt           j        ¬¦  «        S )Nz-dQUIETz-dSAFERz-dBATCHz	-dNOPAUSEz
-dNOPROMPTz-dUseCIEColorz-dTextAlphaBits=4z-dGraphicsAlphaBits=4z-dDOINTERPOLATEz-sDEVICE=pngalphaz-sOutputFile=%sz-r%dr–   )r˜   r™   Ú
executablerœ   )r�   rž   rŸ   Úgs_infos      €r   r   z+make_pdf_to_png_converter.<locals>.<lambda>È   sW   ø€ ­ZÔ-DØÔØ˜	 9¨k¸<ØÐ1Ø$Ð&7Ø Ð"3°gÑ"=Ø�c‰\˜7ð$õ Ô$ð.&ñ .&ô .&€ r   z&No suitable pdf to png renderer found.)r-   Ú_get_executable_infoÚExecutableNotFoundErrorÚRuntimeError)r£   s   @r   Úmake_pdf_to_png_converterr§   ¸   s±   ø€ ð&ÝÔ  Ñ.Ô.Ð.ð&ð &ð 	&øõ Ô&ð ð ð Øˆðøøøð&ÝÔ*¨4Ñ0Ô0ˆð&ð &ð &ð &ð 	&øõ Ô&ð ð ð Øˆðøøøõ Ð?Ñ
@Ô
@Ð@s   ƒ š,«,°A	 Á	AÁAc                   ó&   ‡ — e Zd Zdˆ fd„	Zd„ Zˆ xZS )Ú
LatexErrorr   c                 óX   •— t          ¦   «                              |¦  «         || _        d S r   )ÚsuperÚ__init__Úlatex_output)r   Úmessager­   Ú	__class__s      €r   r¬   zLatexError.__init__Ô   s)   ø€ Ý‰Œ×Ò˜Ñ!Ô!Ð!Ø(ˆÔÐÐr   c                 ó@   — | j         \  }| j        r|d| j        z   z  }|S ©NrB   )Úargsr­   ©r   ra   s     r   Ú__str__zLatexError.__str__Ø   s-   € ØŒY‰ˆØÔð 	*Ø�˜Ô)Ñ)Ñ)ˆAØˆr   )r   )r#   r$   r%   r¬   r´   Ú__classcell__©r¯   s   @r   r©   r©   Ó   sL   ø€ € € € € ð)ð )ð )ð )ð )ð )ðð ð ð ð ð ð r   r©   c                   ó<  — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Ze ej	        d¦  «        d„ ¦   «         ¦   «         Z
d„ Zd„ Zd„ Zd	„ Z  ej        d
¦  «         ed„ ¦  «        ¦  «        Z  ej        d
¦  «         ed„ ¦  «        ¦  «        Zddœd„Zd„ Zd„ ZdS )ÚLatexManagerzÛ
    The LatexManager opens an instance of the LaTeX application for
    determining the metrics of text elements. The LaTeX environment can be
    modified by setting fonts and/or a custom preamble in `.rcParams`.
    c                  óz   — ddt           j        d         › �dt          ¦   «         ddg} d                     | ¦  «        S )Nz\documentclass{article}z% !TeX program = r6   z\usepackage{graphicx}ú\begin{document}z!\typeout{pgf_backend_query_start}rB   )r-   r3   r/   rM   )Úlatex_headers    r   Ú_build_latex_headerz LatexManager._build_latex_headeræ   sG   € ð 'ð A¥¤¨oÔ!>Ð@Ð@à$Ý‰OŒOØØ0ð

ˆð �yŠy˜Ñ&Ô&Ð&r   c                 óP   — |                       |                      ¦   «         ¦  «        S )z„
        Return the previous LatexManager if the header and tex system did not
        change, or a new instance otherwise.
        )Ú_get_cached_or_new_implr¼   )Úclss    r   Ú_get_cached_or_newzLatexManager._get_cached_or_newõ   s$   € ð ×*Ò*¨3×+BÒ+BÑ+DÔ+DÑEÔEÐEr   é   c                 ó   —  | ¦   «         S r   r*   )r¿   Úheaders     r   r¾   z$LatexManager._get_cached_or_new_implý   s   € ð ˆs‰uŒuˆr   c                 óô   — | j         €|                      ¦   «          | j         j                             |¦  «         | j         j                             d¦  «         | j         j                             ¦   «          d S r±   )ÚlatexÚ_setup_latex_processÚstdinri   Úflushr³   s     r   Ú_stdin_writelnzLatexManager._stdin_writeln  sk   € ØŒ:ÐØ×%Ò%Ñ'Ô'Ð'ØŒ
Ô×Ò˜qÑ!Ô!Ð!ØŒ
Ô×Ò˜tÑ$Ô$Ð$ØŒ
Ô×ÒÑ Ô Ð Ð Ð r   c                 ó~  — t          |¦  «        }g }	 | j        j                             d¦  «        }|                     |¦  «         |t          |¦  «         d …         |k    rnF|sC| j                             ¦   «          d | _        t          dd                     |¦  «        ¦  «        ‚Œ—d                     |¦  «        S )NTrÁ   zLaTeX process haltedr   )	ÚlistrÅ   ÚstdoutÚreadrC   ÚlenÚkillr©   rM   )r   ra   ÚcharsÚcs       r   Ú_expectzLatexManager._expect	  s²   € Ý�‰GŒGˆØˆð	IØ”
Ô!×&Ò& qÑ)Ô)ˆAØ�LŠL˜‰OŒOˆOØ•c˜!‘f”f�W�X�XŒ !Ò#Ð#ØØð IØ”
—’Ñ!Ô!Ð!Ø!�”
Ý Ð!7¸¿ºÀ¹¼ÑHÔHÐHð	Ið �wŠw�u‰~Œ~Ðr   c                 ó,   — |                       d¦  «        S )Nz
*)rÒ   r   s    r   Ú_expect_promptzLatexManager._expect_prompt  s   € Ø�|Š|˜EÑ"Ô"Ð"r   c                 óŽ  — t          ¦   «         | _        | j        j        | _        t	          j        | | j        j        ¦  «        | _        	 |                      d¬¦  «         ne# t          $ r(}t          | j        j        d         ›d�¦  «        |‚d }~wt          $ r(}t          d| j        j        d         ›�¦  «        |‚d }~ww xY w| j                             d¦  «        \  }}| j        j        dk    r%t!          d|                      ¦   «         › �|¦  «        ‚d | _         t%          j        ¦   «         | j        ¦  «        | _        d S )NF©Úexpect_replyr   z_ not found.  Install it or change rcParams['pgf.texsystem'] to an available TeX implementation.zError starting process z
\makeatletter\@@end
zaLaTeX errored (probably missing font or error in preamble) while processing the following input:
)r   Ú_tmpdirrH   ÚtmpdirÚweakrefÚfinalizeÚcleanupÚ_finalize_tmpdirrÆ   ÚFileNotFoundErrorr¦   rÅ   r²   ÚOSErrorÚcommunicateÚ
returncoder©   r¼   Ú	functoolsÚ	lru_cacheÚ_get_box_metrics)r   ÚerrrÌ   r—   s       r   r¬   zLatexManager.__init__  s|  € å)Ñ+Ô+ˆŒØ”lÔ'ˆŒÝ 'Ô 0°°t´|Ô7KÑ LÔ LˆÔð		KØ×%Ò%°5Ð%Ñ9Ô9Ð9Ð9øÝ ð 	-ð 	-ð 	-ÝØ”:”? 1Ô%ð #ð #ð #ñ$ô $ð *-ð-øøøøõ ð 	Kð 	Kð 	KÝØ@¨$¬*¬/¸!Ô*<Ð@Ð@ñBô BØGJðKøøøøð	Køøøð œ×/Ò/Ð0KÑLÔL‰ˆ�ØŒ:Ô  AÒ%Ð%Ýð0à×+Ò+Ñ-Ô-ð0ð 0ð ñ	ô ð ð ˆŒ
à 5¥	Ô 3Ñ 5Ô 5°dÔ6KÑ LÔ LˆÔÐÐs$   Á
A! Á!
CÁ+#BÂCÂ#B>Â>Cr   c                 ó&   — t           j        d         S )Nr6   r2   r   s    r   r   zLatexManager.<lambda>8  s   € �cœl¨?Ô;€ r   c                 ó*   — |                       ¦   «         S r   )r¼   r   s    r   r   zLatexManager.<lambda>:  s   € ˜d×6Ò6Ñ8Ô8€ r   TrÖ   c                ó†  — t          j        t          j        d         dgt           j        t           j        d| j        ¬¦  «        | _        d„ }t          j        | || j        ¦  «        | _	        |  
                    |                      ¦   «         ¦  «         |r+|                      d¦  «         |                      ¦   «          d S d S )Nr6   ú-halt-on-errorúutf-8)rÇ   rÌ   ÚencodingÚcwdc                 óV   — |                       ¦   «          |                      ¦   «          d S r   )rÏ   rà   )rÅ   s    r   Úfinalize_latexz9LatexManager._setup_latex_process.<locals>.finalize_latexF  s'   € Ø�JŠJ‰LŒLˆLØ×ÒÑÔÐÐÐr   z*pgf_backend_query_start)r˜   ÚPopenr-   r3   ÚPIPErÙ   rÅ   rÚ   rÛ   Ú_finalize_latexrÉ   r¼   rÒ   rÔ   )r   r×   rî   s      r   rÆ   z!LatexManager._setup_latex_process<  sË   € õ
  Ô%ÝŒ\˜/Ô*Ð,<Ð=Ý”/­*¬/Ø $¤+ð/ñ /ô /ˆŒ
ð
	 ð 	 ð 	 õ  'Ô/Ø�. $¤*ñ .ô  .ˆÔð 	×Ò˜D×4Ò4Ñ6Ô6Ñ7Ô7Ð7Øð 	"Ø�LŠLÐ3Ñ4Ô4Ð4Ø×ÒÑ!Ô!Ð!Ð!Ð!ð	"ð 	"r   c                 óH   — |                       t          ||¦  «        ¦  «        S )z‡
        Get the width, total height, and descent (in TeX points) for a text
        typeset by the current LaTeX environment.
        )rä   r‡   )r   rW   rƒ   s      r   Úget_width_height_descentz%LatexManager.get_width_height_descentR  s#   € ð
 ×$Ò$Õ%<¸TÀ4Ñ%HÔ%HÑIÔIÐIr   c                 ó@  — |                       d|z  ¦  «         	 |                      ¦   «         }n;# t          $ r.}t          d                     ||j        ¦  «        ¦  «        |‚d}~ww xY w	 |                     ¦   «         d                              d¦  «        \  }}}n6# t          $ r)}t          d                     ||¦  «        ¦  «        |‚d}~ww xY wt          |dd…         ¦  «        t          |dd…         ¦  «        t          |dd…         ¦  «        }	}}|||	z   |	fS )zŽ
        Get the width, total height and descent (in TeX points) for a TeX
        command's output in the current LaTeX environment.
        z.\sbox0{%s}\typeout{\the\wd0,\the\ht0,\the\dp0}z#Error measuring {}
LaTeX Output:
{}Néýÿÿÿú,éþÿÿÿ)
rÉ   rÔ   r©   Ú
ValueErrorÚformatr­   Ú
splitlinesÚsplitÚ	ExceptionÚfloat)
r   ÚtexÚanswerrå   ÚwidthÚheightÚoffsetÚwÚhÚos
             r   rä   zLatexManager._get_box_metricsY  s[  € ð 	×ÒØ=ÀÑCñ	Eô 	Eð 	Eð	FØ×(Ò(Ñ*Ô*ˆFˆFøÝð 	Fð 	Fð 	Fõ ÐDß$šf S¨#Ô*:Ñ;Ô;ñ=ô =ØBEðFøøøøð	Føøøð
	<ð %+×$5Ò$5Ñ$7Ô$7¸Ô$;×$AÒ$AÀ#Ñ$FÔ$FÑ!ˆE�6˜6˜6øÝð 	<ð 	<ð 	<ÝÐDß$šf S¨&Ñ1Ô1ñ3ô 3Ø8;ð<øøøøð	<øøøõ ˜˜c˜r˜cœ
Ñ#Ô#¥U¨6°#°2°#¬;Ñ%7Ô%7½¸vÀcÀrÀc¼{Ñ9KÔ9Kˆaˆ1ˆð �!�a‘%˜ˆ{Ðs,   š/ ¯
A'¹)A"Á"A'Á+1B Â
CÂ'$CÃCN)r#   r$   r%   Ú__doc__Ústaticmethodr¼   ÚclassmethodrÀ   râ   rã   r¾   rÉ   rÒ   rÔ   r¬   r   r&   r'   Ú
texcommandr»   rÆ   ró   rä   r*   r   r   r¸   r¸   ß   sf  € € € € € ðð ð ð'ð 'ñ „\ð'ð ðFð Fñ „[ðFð Ø€YÔ˜ÑÔðð ñ Ôñ „[ðð!ð !ð !ðð ð ð#ð #ð #ðMð Mð Mð: (��” Ñ'Ô'ØˆÐ;Ð;Ñ<Ô<ñ>ô >€Jà)�?�4”? 5Ñ)Ô)ØˆÐ8Ð8Ñ9Ô9ñ;ô ;€Lð 48ð "ð "ð "ð "ð "ð,Jð Jð Jðð ð ð ð r   r¸   rÁ   c                  ó8  — t                                ¦   «         } |                      dt          j        d¦  «                             ¦   «         z  ¦  «         	 |                      ¦   «          dS # t          $ r" t           j         	                    ¦   «          Y dS w xY w)Nz&\includegraphics[interpolate=true]{%s}zimages/matplotlib.pngz\includegraphicsz	\pgfimage)
r¸   rÀ   rÉ   r   Ú_get_data_pathrJ   rÔ   r©   r¾   Úcache_clear)Úmans    r   Ú_get_image_inclusion_commandr  u  s¦   € å
×
)Ò
)Ñ
+Ô
+€CØ×ÒØ1å
Ô
Ð6Ñ
7Ô
7×
@Ò
@Ñ
BÔ
Bñ	CñDô Dð DðØ×ÒÑÔÐØ"Ð"øÝð ð ð åÔ,×8Ò8Ñ:Ô:Ð:Øˆ|ˆ|ðøøøs   ÁA- Á-(BÂBc                   óŒ   ‡ — e Zd Zˆ fd„Z	 dd„Zdd„Zd„ Zd„ Zdd„Zdd
„Z	d„ Z
d„ Zdd„Zddœd„Zdd„Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚRendererPgfc                 óŠ   •— t          ¦   «                              ¦   «          |j        | _        || _        || _        d| _        dS )a•  
        Create a new PGF renderer that translates any drawing instruction
        into text commands to be interpreted in a latex pgfpicture environment.

        Attributes
        ----------
        figure : `matplotlib.figure.Figure`
            Matplotlib figure to initialize height, width and dpi from.
        fh : file-like
            File handle for the output of the drawing commands.
        r   N)r«   r¬   rŸ   re   ÚfigureÚimage_counter)r   r  re   r¯   s      €r   r¬   zRendererPgf.__init__‡  s@   ø€ õ 	‰Œ×ÒÑÔÐØ”:ˆŒØˆŒØˆŒØˆÔÐÐr   Nc                 ó�  — t          | j        d¦  «         d| j        z  }|                      |¦  «         |                      ||¦  «         |                     |¦  «                             ¦   «         \  }}	|d         |z  |d         |z  |	d         |z  |	d         |z  f}
t          | j        d|
z  ¦  «         |                      d ||¦  «         |                      | 	                    ¦   «         dk    |d u¬¦  «         t          | j        d¦  «         d	| j        z  }| | ||f}| 
                    |d
|¬¦  «        D ]t\  }}|d         |z  |d         |z  }}t          | j        d¦  «         t          | j        d||fz  ¦  «         t          | j        d¦  «         t          | j        d¦  «         Œut          | j        d¦  «         d S )Nú\begin{pgfscope}rT   r   rÁ   zQ\pgfsys@defobject{currentmarker}{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}{ç        ©ÚstrokeÚfillr‹   ç†B^!Vl@F)ÚsimplifyÚclipú"\pgfsys@transformshift{%fin}{%fin}z"\pgfsys@useobject{currentmarker}{}ú\end{pgfscope})rc   re   rŸ   Ú_print_pgf_clipÚ_print_pgf_path_stylesÚget_extentsÚ
get_pointsÚ_print_pgf_pathÚ_pgf_path_drawÚget_linewidthÚiter_segments)r   ÚgcÚmarker_pathÚmarker_transrS   ÚtransÚrgbFaceÚfÚblÚtrÚcoordsÚmaxcoordr  ÚpointÚcodeÚxÚys                    r   Údraw_markerszRendererPgf.draw_markersš  s  € õ 	�”Ð-Ñ.Ô.Ð.ð �”‰Mˆð 	×Ò˜RÑ Ô Ð Ø×#Ò# B¨Ñ0Ô0Ð0ð ×(Ò(¨Ñ6Ô6×AÒAÑCÔC‰ˆˆBØ�A”˜‘˜B˜qœE A™I r¨!¤u¨q¡y°"°Q´%¸!±)Ð;ˆÝ�”ðFØHNñOñ	Pô 	Pð 	Pð 	×Ò˜T ;°Ñ=Ô=Ð=Ø×Ò 2×#3Ò#3Ñ#5Ô#5¸Ò#<Ø!(°Ð!4ð 	ñ 	6ô 	6ð 	6å�”˜$ÑÔÐà  4¤8Ñ+ˆØ�	˜H˜9 h°Ð9ˆð  ×-Ò-¨e¸eØ37ð .ñ 9ô 9ð 	1ð 	1‰KˆE�4à˜”8˜a‘<  q¤¨A¡ˆqˆAÝ�T”WÐ1Ñ2Ô2Ð2Ý�T”WÐCÀqÈ!ÀfÑLÑMÔMÐMÝ�T”WÐCÑDÔDÐDÝ�T”WÐ/Ñ0Ô0Ð0Ð0å�”Ð+Ñ,Ô,Ð,Ð,Ð,r   c                 óx  — t          | j        d¦  «         |                      |¦  «         |                      ||¦  «         |                      ||||¦  «         |                      |                     ¦   «         dk    |d u¬¦  «         t          | j        d¦  «         |                     ¦   «         �rˆt          | j        d¦  «         |                      ||¦  «         |                      |¦  «         |                      ||||¦  «         t          | j        d¦  «         t          | j        d¦  «         t          | j        d¦  «         t          | j        d¦  «         t          | j        d¦  «         t          j	         
                    ¦   «                              | j        ¦  «        }|                      d |                     ¦   «         |¦  «         |                      d¬	¦  «         t          | j        d¦  «         t          | j        d
¦  «         d| j        z  }|                     |¦  «                             ¦   «         \  \  }}\  }	}
||z  ||	z  }	}||z  ||
z  }
}t!          j        |	|z
  ¦  «        t!          j        |
|z
  ¦  «        }}t          | j        d||fz  ¦  «         t%          |¦  «        D ]k}t%          |¦  «        D ],}t          | j        d¦  «         t          | j        d¦  «         Œ-t          | j        d|z  ¦  «         t          | j        d¦  «         Œlt          | j        d¦  «         d S d S )Nr  r  r  r  ú\pgfusepath{clip}zN\pgfsys@defobject{currentpattern}{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}{z=\pgfpathrectangle{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}T)r  r‹   rT   r  z#\pgfsys@useobject{currentpattern}{}z \pgfsys@transformshift{1in}{0in}z"\pgfsys@transformshift{-%din}{0in}z \pgfsys@transformshift{0in}{1in})rc   re   r  r   r#  r$  r%  Ú	get_hatchr-   Ú
transformsÚAffine2DÚscalerŸ   Úget_hatch_pathr!  r"  ÚmathÚceilÚrange)r   r'  rS   Ú	transformr+  r;  r,  ÚxminÚyminÚxmaxÚymaxÚrepxÚrepyÚiyÚixs                  r   Ú	draw_pathzRendererPgf.draw_pathÀ  s]  € å�”Ð-Ñ.Ô.Ð.à×Ò˜RÑ Ô Ð Ø×#Ò# B¨Ñ0Ô0Ð0Ø×Ò˜R  y°'Ñ:Ô:Ð:Ø×Ò 2×#3Ò#3Ñ#5Ô#5¸Ò#<Ø!(°Ð!4ð 	ñ 	6ô 	6ð 	6å�”Ð+Ñ,Ô,Ð,ð �<Š<‰>Œ>ñ '	1Ý�T”WÐ1Ñ2Ô2Ð2Ø×'Ò'¨¨GÑ4Ô4Ð4ð × Ò  Ñ$Ô$Ð$Ø× Ò   T¨9°gÑ>Ô>Ð>Ý�T”WÐ2Ñ3Ô3Ð3õ �T”WðFñGô Gð Gõ �T”WÐ1Ñ2Ô2Ð2Ý�T”WðEñFô Fð Fõ �T”WÐ2Ñ3Ô3Ð3Ý”N×+Ò+Ñ-Ô-×3Ò3°D´HÑ=Ô=ˆEØ× Ò   r×'8Ò'8Ñ':Ô':¸EÑBÔBÐBØ×Ò tÐÑ,Ô,Ð,Ý�T”WÐ/Ñ0Ô0Ð0Ý�T”W˜dÑ#Ô#Ð#à�T”X‘ˆAà× Ò  Ñ+Ô+×6Ò6Ñ8Ô8ñ '‰LˆT�4™,˜4 à˜T™ 1 t¡8�$ˆDØ˜T™ 1 t¡8�$ˆDÝœ 4¨$¡;Ñ/Ô/µ´¸4À$¹;Ñ1GÔ1G�$ˆDÝ�T”WØ:¸dÀD¸\ÑIñKô Kð Kå˜D‘k”kð Gð G�Ý ™+œ+ð Kð K�BÝ˜TœWÐ&LÑMÔMÐMÝ˜TœWÐ&IÑJÔJÐJÐJÝ˜œÐ"GÈ$Ñ"NÑOÔOÐOÝ˜œÐ"EÑFÔFÐFÐFå�T”WÐ/Ñ0Ô0Ð0Ð0Ð0ðO'	1ð '	1r   c                 ó¨  — d| j         z  }|                     ¦   «         }|rj|                     ¦   «         \  }}||z
  \  }}|d         |z  |d         |z  ||z  ||z  f}t          | j        d|z  ¦  «         t          | j        d¦  «         |                     ¦   «         \  }	}
|	�.|                      ||	|
¦  «         t          | j        d¦  «         d S d S )NrT   r   rÁ   zA\pgfpathrectangle{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}r7  )rŸ   Úget_clip_rectangler"  rc   re   Úget_clip_pathr#  )r   r'  r,  ÚbboxÚp1Úp2r  r  r/  ÚclippathÚclippath_transs              r   r  zRendererPgf._print_pgf_clipõ  sü   € Ø�”‰Mˆà×$Ò$Ñ&Ô&ˆØð 	4Ø—_’_Ñ&Ô&‰FˆB�Ø˜‘7‰DˆAˆqØ˜”U˜Q‘Y  1¤¨¡	¨1¨q©5°!°a±%Ð7ˆFÝ�T”WðIàññô ð õ �T”WÐ2Ñ3Ô3Ð3ð $&×#3Ò#3Ñ#5Ô#5Ñ ˆ�.ØÐØ× Ò   X¨~Ñ>Ô>Ð>Ý�T”WÐ2Ñ3Ô3Ð3Ð3Ð3ð  Ðr   c           	      ó~  — ddddœ}t          | j        ||                     ¦   «                  ¦  «         ddddœ}t          | j        ||                     ¦   «                  ¦  «         |d u}|                     ¦   «         r|                     ¦   «         x}}n9|                     ¦   «         d	         }|rt          |¦  «        d	k    r|d	         nd
}|rBt          | j        dt          |d d	…         ¦  «        z  ¦  «         t          | j        d¦  «         |r|d
k    rt          | j        d|z  ¦  «         | 	                    ¦   «         t          z  t          z  }|                     ¦   «         }	t          | j        d|z  ¦  «         t          | j        d|	d d	…         z  ¦  «         t          | j        d¦  «         |d
k    rt          | j        d|z  ¦  «         |                     ¦   «         \  }
}|€t          | j        d¦  «         d S t          | j        dd                     d„ |D ¦   «         ¦  «        |
fz  ¦  «         d S )Nz\pgfsetbuttcapz\pgfsetroundcapz\pgfsetrectcap)ÚbuttÚroundÚ
projectingz\pgfsetmiterjoinz\pgfsetroundjoinz\pgfsetbeveljoin)ÚmiterrT  Úbevelé   rT   z(\definecolor{currentfill}{rgb}{%f,%f,%f}z\pgfsetfillcolor{currentfill}ú\pgfsetfillopacity{%f}z\pgfsetlinewidth{%fpt}z*\definecolor{currentstroke}{rgb}{%f,%f,%f}z!\pgfsetstrokecolor{currentstroke}ú\pgfsetstrokeopacity{%f}z\pgfsetdash{}{0pt}z\pgfsetdash{%s}{%fpt}r   c              3   ó    K  — | ]	}d |z  V — Œ
dS )z{%fpt}Nr*   )rm   Údashs     r   ro   z5RendererPgf._print_pgf_path_styles.<locals>.<genexpr>9  s'   è è € ÐGÐG°T 	¨DÑ 0ÐGÐGÐGÐGÐGÐGr   )rc   re   Úget_capstyleÚget_joinstyleÚget_forced_alphaÚ	get_alphaÚget_rgbrÎ   Útupler%  Úmpl_pt_to_inÚlatex_in_to_ptÚ
get_dashesrM   )r   r'  r+  Ú	capstylesÚ
joinstylesÚhas_fillÚfillopacityÚstrokeopacityÚlwÚstroke_rgbaÚdash_offsetÚ	dash_lists               r   r   z"RendererPgf._print_pgf_path_styles	  s|  € à.Ø0Ø#4ð6ð 6ˆ	õ 	�”˜) B§O¢OÑ$5Ô$5Ô6Ñ7Ô7Ð7ð  3Ø2Ø2ð4ð 4ˆ
õ 	�”˜* R×%5Ò%5Ñ%7Ô%7Ô8Ñ9Ô9Ð9ð  $Ð&ˆà×ÒÑ Ô ð 	OØ*,¯,ª,©.¬.Ð8ˆK˜-˜-àŸJšJ™LœL¨œOˆMØ(0ÐNµS¸±\´\ÀAÒ5EÐ5E˜' !œ*˜*È3ˆKàð 	@Ý�T”WØ@Ý˜W R a Rœ[Ñ)Ô)ñ*ñ+ô +ð +õ �T”WÐ>Ñ?Ô?Ð?Øð 	G˜ sÒ*Ð*Ý�T”WÐ7¸+ÑEÑFÔFÐFð ×ÒÑÔ¥,Ñ.µÑ?ˆØ—j’j‘l”lˆÝ�”Ð3°bÑ8Ñ9Ô9Ð9Ý�”Ø>Ø˜r ˜r”?ñ#ñ	$ô 	$ð 	$õ 	�”Ð>Ñ?Ô?Ð?Ø˜CÒÐÝ�T”WÐ9¸MÑIÑJÔJÐJð "$§¢¡¤Ñˆ�YØÐÝ�T”WÐ3Ñ4Ô4Ð4Ð4Ð4å�T”WØ-ØŸšÐGÐG¸YÐGÑGÔGÑGÔGØ#ð%ñ%ñ&ô &ð &ð &ð &r   c                 ó®  — d| j         z  }|r|                     ¦   «         nd }d| j         z  }|rr|€p|                     ¦   «         \  }}	t          |d         | ¦  «        t          |d         | ¦  «        t	          |	d         |¦  «        t	          |	d         |¦  «        f}
n| | ||f}
|                     ||
¬¦  «        D �]Z\  }}|t          j        k    r3t          |¦  «        \  }}t          | j
        d||z  ||z  fz  ¦  «         ŒI|t          j        k    rt          | j
        d¦  «         Œo|t          j        k    r3t          |¦  «        \  }}t          | j
        d||z  ||z  fz  ¦  «         Œ²|t          j        k    r@t          |¦  «        \  }}}}||z  ||z  ||z  ||z  f}t          | j
        d	|z  ¦  «         �Œ|t          j        k    rHt          |¦  «        \  }}}}}}||z  ||z  ||z  ||z  ||z  ||z  f}t          | j
        d
|z  ¦  «         �Œ\|r|                     ¦   «         nd }|��|\  }}}|�—|dz  }|dz  }t          | j
        d¦  «         t          | j
        d¦  «         t          | j
        d||z  d›d||z  d›d�¦  «         t          | j
        dt!          |¦  «        › d�¦  «         t          | j
        d¦  «         d S d S d S )NrT   r  r   rÁ   )r  z&\pgfpathmoveto{\pgfqpoint{%fin}{%fin}}z\pgfpathclosez&\pgfpathlineto{\pgfqpoint{%fin}{%fin}}zH\pgfpathquadraticcurveto{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}zW\pgfpathcurveto{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}g      à?rZ   z\usepgfmodule{decorations}z(\usepgflibrary{decorations.pathmorphing}z/\pgfkeys{/pgf/decoration/.cd, segment length = r,  zin, amplitude = zin}z\pgfmathsetseed{r‹   z%\pgfdecoratecurrentpath{random steps})rŸ   rK  r"  ÚmaxÚminr&  r   ÚMOVETOrb  rc   re   Ú	CLOSEPOLYÚLINETOÚCURVE3ÚCURVE4Úget_sketch_paramsÚint)r   r'  rS   r@  r+  r,  rM  r0  rN  rO  r  Úpointsr2  r3  r4  ÚcxÚcyÚpxÚpyr/  Úc1xÚc1yÚc2xÚc2yÚsketch_paramsr;  ÚlengthÚ
randomnesss                               r   r#  zRendererPgf._print_pgf_path<  s„  € Ø�”‰Mˆà*,Ð6ˆr×$Ò$Ñ&Ô&Ð&°$ˆØ  4¤8Ñ+ˆØð 	>�W�_Ø—_’_Ñ&Ô&‰FˆB�Ý˜˜1œ ˜yÑ)Ô)­3¨r°!¬u°x°iÑ+@Ô+@Ý˜˜1œ˜xÑ(Ô(­#¨b°¬e°XÑ*>Ô*>ð@ˆDˆDð �I ˜y¨(°HÐ=ˆDà ×.Ò.¨y¸tÐ.ÑDÔDð 	#ñ 	#‰LˆF�DØ•t”{Ò"Ð"Ý˜V‘}”}‘��1Ý˜œØBØ˜a™%  Q¡˜ñ(ñ)ô )ð )ð )ð �œÒ'Ð'Ý˜œÐ"2Ñ3Ô3Ð3Ð3Ø�œÒ$Ð$Ý˜V‘}”}‘��1Ý˜œØBØ˜a™%  Q¡˜ñ(ñ)ô )ð )ð )ð �œÒ$Ð$Ý!& v¡¤‘��B˜˜BØ˜a™  a¡¨¨a©°°a±Ð7�Ý˜œðMà!ñ"ñ#ô #ð #ñ #ð �œÒ$Ð$Ý-2°6©]¬]Ñ*��S˜#˜s B¨Ø˜q™ #¨¡'¨3°©7°C¸!±G¸RÀ!¹VÀRÈ!ÁVÐK�Ý˜œð5ð "ñ	"ñ#ô #ð #ùð 35Ð>˜×,Ò,Ñ.Ô.Ð.¸$ˆØÐ$ð )6Ñ%ˆE�6˜:ØÐ à˜#‘�Ø˜‘
�å˜œÐ"?Ñ@Ô@Ð@Ý˜œÐ"MÑNÔNÐNÝ˜œð #<Ø.4°q©jÐAð#<ð #<à).°©Ð;ð#<ð #<ð #<ñ =ô =ð =õ ˜œÐ"Jµs¸:±´Ð"JÐ"JÐ"JÑKÔKÐKÝ˜œÐ"JÑKÔKÐKÐKÐKð) %Ð$ð !Ð r   TFc                 ó¼   — g }|r|                      d¦  «         |r|                      d¦  «         t          | j        dd                     |¦  «        z  ¦  «         d S )Nr  r  z\pgfusepath{%s}rö   )rC   rc   re   rM   )r   r  r  Úactionss       r   r$  zRendererPgf._pgf_path_draw~  se   € ØˆØð 	%Ø�NŠN˜8Ñ$Ô$Ð$Øð 	#Ø�NŠN˜6Ñ"Ô"Ð"Ý�”Ð,¨s¯xªx¸Ñ/@Ô/@Ñ@ÑAÔAÐAÐAÐAr   c                 ó   — dS )NTr*   r   s    r   Úoption_scale_imagezRendererPgf.option_scale_image†  s   € àˆtr   c                 ó(   — t           j        d          S )Nzimage.composite_imager2   r   s    r   Úoption_image_nocompositez$RendererPgf.option_image_nocompositeŠ  s   € å”<Ð 7Ô8Ð8Ð8r   c                 ó
  — |j         d d…         \  }}|dk    s|dk    rd S t          j                             t	          | j        dd¦  «        ¦  «        st          d¦  «        ‚t          j        | j        j	        ¦  «        }d|j
        | j        fz  }	t          j        |d d d…         ¦  «                             |j        |	z  ¦  «         | xj        dz  c_        t!          | j        d	¦  «         |                      |¦  «         d
| j        z  }
|€+t!          | j        d||
z  ||
z  fz  ¦  «         ||
z  ||
z  }}ng|                     ¦   «                              ¦   «         \  }}}}}}t!          | j        d||
z  ||
z  ||
z  ||
z  ||z   |
z  ||z   |
z  fz  ¦  «         dx}}t+          |d u ¦  «                             ¦   «         }t!          | j        dt/          ¦   «         ||||	fz  ¦  «         t!          | j        d¦  «         d S )NrZ   r   rH   r   zXstreamed pgf-code does not support raster graphics, consider using the pgf-to-pdf optionz%s-img%d.pngéÿÿÿÿrÁ   r  rT   r  z/\pgfsys@transformcm{%f}{%f}{%f}{%f}{%fin}{%fin}zD\pgftext[left,bottom]{%s[interpolate=%s,width=%fin,height=%fin]{%s}}r  )Úshaperš   rS   ÚexistsÚgetattrre   rø   rE   r   rH   Ústemr  r   Ú	fromarrayÚsaverI   rc   r  rŸ   ÚfrozenÚ	to_valuesr�   Úlowerr  )r   r'  r3  r4  Úimr@  r  r  rS   Ú	fname_imgr,  Útr1Útr2Útr3Útr4Útr5Útr6Úinterps                     r   Ú
draw_imagezRendererPgf.draw_imageŽ  sE  € ð Œx˜˜˜Œ|‰ˆˆ1Ø�Š6ˆ6�Q˜!’V�VØˆFåŒw�~Š~�g d¤g¨v°rÑ:Ô:Ñ;Ô;ð 	/Ýð.ñ/ô /ð /õ
 Œ|˜DœGœLÑ)Ô)ˆØ" d¤i°Ô1CÐ%DÑDˆ	ÝŒ˜˜4˜4˜R˜4œÑ!Ô!×&Ò& t¤{°YÑ'>Ñ?Ô?Ð?ØÐÔ˜aÑÐÔõ 	�”Ð-Ñ.Ô.Ð.Ø×Ò˜RÑ Ô Ð Ø�”‰MˆØÐÝ�T”WØ:¸aÀ!¹eÀQÈÁU¸^ÑKñMô Mð Mà�q‘5˜!˜a™%ˆqˆAˆAà+4×+;Ò+;Ñ+=Ô+=×+GÒ+GÑ+IÔ+IÑ(ˆC��c˜3  SÝ�T”WØGØ˜A‘g˜s Q™w¨¨a©°°q±Ø˜Q‘w !‘m c¨A¡g°¡]ð4ñ4ñ5ô 5ð 5ð ˆIˆA�Ý�Y $Ð&Ñ'Ô'×-Ò-Ñ/Ô/ˆÝ�”ðDå.Ñ0Ô0Ø˜!˜Q 	ð+ñ+ñ	,ô 	,ð 	,õ
 	�”Ð+Ñ,Ô,Ð,Ð,Ð,r   )Úmtextc          
      ó@   — |                       ||||||d|¬¦  «         d S )NÚTeX)Úismathr   )Ú	draw_text)r   r'  r3  r4  ra   rƒ   Úangler   s           r   Údraw_texzRendererPgf.draw_tex·  s*   € à�Š�r˜1˜a  D¨%¸ÀUˆÑKÔKÐKÐKÐKr   c	                 ó¦  — t          ||¦  «        }t          | j        d¦  «         |                     ¦   «         }	|	dk    r0t          | j        d|	z  ¦  «         t          | j        d|	z  ¦  «         t	          |                     ¦   «         ¦  «        d d…         }
t          | j        d|
z  ¦  «         t          | j        d¦  «         t          | j        d¦  «         d	|z   }| j        j        }g }|rÛ|d
k    s|                     ¦   «         dk    r½| 	                    ¦   «         dk    r¥| 
                    ¦   «         }|                     ¦   «                              |¦  «        \  }}ddddœ}dddddœ}|                     d||z  d›d�d||z  d›d�||                     ¦   «                  || 	                    ¦   «                  g¦  «         n$|                     d||z  d›d||z  d›d�¦  «         |d
k    r|                     d|z  ¦  «         t          | j        dd                     |¦  «        ›d|›d�¦  «         t          | j        d ¦  «         d S )!Nr  rT   rY  rZ  rX  z&\definecolor{textcolor}{rgb}{%f,%f,%f}z\pgfsetstrokecolor{textcolor}z\pgfsetfillcolor{textcolor}z\color{textcolor}r   ÚanchorÚcenter_baselineÚleftÚrightr   )rª  r«  ÚcenterÚtopÚbottomÚbase)r­  r®  Úbaseliner¬  zx=r,  Úinzy=zin, y=zin, left, basez	rotate=%fz	\pgftext[rö   z]{r‹   r  )r‡   rc   re   r`  rb  ra  r  rŸ   Úget_rotation_modeÚget_verticalalignmentÚget_unitless_positionÚget_transformr@  ÚextendÚget_horizontalalignmentrC   rM   )r   r'  r3  r4  ra   rƒ   r¥  r£  r   ÚalphaÚrgbrŸ   Ú	text_argsÚposÚhalignÚvaligns                   r   r¤  zRendererPgf.draw_text»  s’  € õ $ A tÑ,Ô,ˆå�”Ð-Ñ.Ô.Ð.à—’‘”ˆØ�CŠ<ˆ<Ý�T”WÐ7¸%Ñ?Ñ@Ô@Ð@Ý�T”WÐ9¸EÑAÑBÔBÐBÝ�B—J’J‘L”LÑ!Ô! " 1 "Ô%ˆÝ�”ÐCÀcÑIÑJÔJÐJÝ�”Ð:Ñ;Ô;Ð;Ý�”Ð8Ñ9Ô9Ð9Ø  1Ñ$ˆàŒkŒoˆØˆ	Øð 	JØ˜!’�Ø×(Ò(Ñ*Ô*¨hÒ6Ð6Ø×+Ò+Ñ-Ô-Ð1BÒBÐBð ×-Ò-Ñ/Ô/ˆCØ×&Ò&Ñ(Ô(×2Ò2°3Ñ7Ô7‰DˆAˆqØ$¨wÀ"ÐEÐEˆFØ"¨hØ"(°Bð8ð 8ˆFà×ÒØ �Q�s‘UÐ Ð Ð Ð Ø �Q�s‘UÐ Ð Ð Ð Ø�u×4Ò4Ñ6Ô6Ô7Ø�u×2Ò2Ñ4Ô4Ô5ð	ñ ô ð ð ð ×ÒÐH ! C¡%ÐHÐHÐH°°3±ÐHÐHÐHÐHÑIÔIÐIà�AŠ:ˆ:Ø×Ò˜[¨5Ñ0Ñ1Ô1Ð1å�”�°·²¸)Ñ1DÔ1DÐ1DÐ1DÀaÀaÀaÐHÑIÔIÐIÝ�”Ð+Ñ,Ô,Ð,Ð,Ð,r   c                 óž   — t                                ¦   «                              ||¦  «        \  }}}t          | j        z  }||z  ||z  ||z  fS r   )r¸   rÀ   ró   rc  rŸ   )r   ra   rƒ   r£  r  r  Údr,  s           r   Úget_text_width_height_descentz)RendererPgf.get_text_width_height_descentê  sU   € õ  ×2Ò2Ñ4Ô4ß,Ò,¨Q°Ñ5Ô5ñ 	ˆˆ1ˆaõ
 ˜4œ8Ñ#ˆØ�1‰u�a˜!‘e˜Q ™UÐ"Ð"r   c                 ó   — dS )NFr*   r   s    r   ÚflipyzRendererPgf.flipyõ  s   € àˆur   c                 ó†   — | j                              ¦   «         | j        z  | j                              ¦   «         | j        z  fS r   )r  Úget_figwidthrŸ   Úget_figheightr   s    r   Úget_canvas_width_heightz#RendererPgf.get_canvas_width_heightù  s<   € à”×(Ò(Ñ*Ô*¨T¬XÑ5Ø”×)Ò)Ñ+Ô+¨d¬hÑ6ð8ð 	8r   c                 ó&   — |t           z  | j        z  S r   )rc  rŸ   )r   ry  s     r   Úpoints_to_pixelszRendererPgf.points_to_pixelsþ  s   € à�Ñ$ t¤xÑ/Ð/r   r   )TF)FN)r#   r$   r%   r¬   r5  rI  r  r   r#  r$  rˆ  rŠ  rŸ  r¦  r¤  rÀ  rÂ  rÆ  rÈ  rµ   r¶   s   @r   r  r  …  sb  ø€ € € € € ðð ð ð ð ð( "ð$-ð $-ð $-ð $-ðL31ð 31ð 31ð 31ðj4ð 4ð 4ð(1&ð 1&ð 1&ðf@Lð @Lð @Lð @LðDBð Bð Bð Bðð ð ð9ð 9ð 9ð'-ð '-ð '-ð '-ðR ;?ð Lð Lð Lð Lð Lð--ð --ð --ð --ð^	#ð 	#ð 	#ðð ð ð8ð 8ð 8ð
0ð 0ð 0ð 0ð 0ð 0ð 0r   r  c                   óZ   ‡ — e Zd ZddddœZd„ Zddœd„Zd	„ Zdd
œd„Zd„ Zd„ Z	ˆ fd„Z
ˆ xZS )ÚFigureCanvasPgfzLaTeX PGF picturezLaTeX compiled PGF picturezPortable Network Graphics)ÚpgfÚpdfÚpngc                 ó   — dS )NrÌ  r*   r   s    r   Úget_default_filetypez$FigureCanvasPgf.get_default_filetype  s   € Øˆur   N©Úbbox_inches_restorec          
      ól  — d}dg}t          ¦   «                              ¦   «         D ]}|                     d|z   ¦  «         Œ|                     d¦  «         d                     |¦  «        }| j                             ¦   «         | j                             ¦   «         }}| j        j        }|                     |¦  «         |                     |¦  «         |                     d¦  «         t          |d¦  «         t          |d¦  «         t          |d¦  «         t          |d	||fz  ¦  «         t          |d
¦  «         t          | j        |||t          | j        |¦  «        |¬¦  «        }	| j                             |	¦  «         t          |d¦  «         t          |d¦  «         t          |d¦  «         d S )NaÉ  %% Creator: Matplotlib, PGF backend
%%
%% To include the figure in your LaTeX document, write
%%   \input{<filename>.pgf}
%%
%% Make sure the required packages are loaded in your preamble
%%   \usepackage{pgf}
%%
%% Also ensure that all the required font packages are loaded; for instance,
%% the lmodern package is sometimes necessary when using math font.
%%   \usepackage{lmodern}
%%
%% Figures using additional raster images can only be included by \input if
%% they are in the same directory as the main LaTeX file. For loading figures
%% from other directories you can use the `import` package
%%   \usepackage{import}
%%
%% and then include the figures with
%%   \import{<path to file>}{<filename>.pgf}
%%
z)%% Matplotlib used the following preamblez%%   z%%rB   z\begingroupz\makeatletterz\begin{pgfpicture}z:\pgfpathrectangle{\pgfpointorigin}{\pgfqpoint{%fin}{%fin}}z&\pgfusepath{use as bounding box, clip}rÐ  z\end{pgfpicture}z\makeatotherz	\endgroup)r/   rú   rC   rM   r  rÄ  rÅ  rŸ   ri   rc   r   r  Údraw)
r   re   rÑ  Úheader_textÚheader_info_preamblerf   r  r  rŸ   Úrenderers
             r   Ú_print_pgf_to_fhz FigureCanvasPgf._print_pgf_to_fh  sÈ  € ðˆð. !LÐLÐÝ!‘O”O×.Ò.Ñ0Ô0ð 	8ð 	8ˆDØ ×'Ò'¨°$©Ñ7Ô7Ð7Ð7Ø×#Ò# DÑ)Ô)Ð)Ø#ŸyšyÐ)=Ñ>Ô>Ðð Œ{×'Ò'Ñ)Ô)¨4¬;×+DÒ+DÑ+FÔ+Fˆ1ˆØŒkŒoˆð 	�Š�ÑÔÐØ
�ŠÐ%Ñ&Ô&Ð&Ø
�Š�‰ŒˆÝ��^Ñ$Ô$Ð$Ý�Ð%Ñ&Ô&Ð&Ý�Ð*Ñ+Ô+Ð+Ý�ØNØ�q�6ññ	ô 	ð 	õ 	�Ð>Ñ?Ô?Ð?Ý$ T¤[°!°Q¸Ý%0°´¸bÑ%AÔ%AØ9LðNñ Nô Nˆð 	Œ×Ò˜Ñ"Ô"Ð"õ 	�Ð(Ñ)Ô)Ð)Ý��_Ñ%Ô%Ð%Ý��\Ñ"Ô"Ð"Ð"Ð"r   c                 óä   — t          j        |dd¬¦  «        5 }t          j        |¦  «        s t          j        d¦  «        |¦  «        } | j        |fi |¤Ž ddd¦  «         dS # 1 swxY w Y   dS )zy
        Output pgf macros for drawing the figure so it can be included and
        rendered in latex documents.
        r  rê   ©rë   N)r   Úopen_file_cmÚfile_requires_unicodeÚcodecsÚ	getwriterr×  )r   Úfname_or_fhÚkwargsÚfiles       r   Ú	print_pgfzFigureCanvasPgf.print_pgfC  sÅ   € õ
 Ô ¨S¸7ÐCÑCÔCð 	2ÀtÝÔ.¨tÑ4Ô4ð 7Ø0•vÔ'¨Ñ0Ô0°Ñ6Ô6�Ø!ˆDÔ! $Ð1Ð1¨&Ð1Ð1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s   ˜A A%Á%A)Á,A))Úmetadatac                ó8  — | j                              ¦   «         \  }}t          d|pi ¦  «        }d                     d„ |                     ¦   «         D ¦   «         ¦  «        }t          ¦   «         5 }t          j        |¦  «        }	 | j        |	dz  fi |¤Ž |	dz   	                    d                     dd|z  d	||fz  d
t          ¦   «         ddddg	¦  «        d¬¦  «         t          j        d         }
t          j        |
dddgt          |¬¦  «         |	dz                       d¦  «        5 }t          j        |d¦  «        5 }t%          j        ||¦  «         ddd¦  «         n# 1 swxY w Y   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 )z3Use LaTeX to compile a pgf generated figure to pdf.rË  rö   c              3   ó<   K  — | ]\  }}t          ||¦  «        V — Œd S r   ©r’   ©rm   ÚkÚvs      r   ro   z,FigureCanvasPgf.print_pdf.<locals>.<genexpr>R  sJ   è è € ð Bð BÙ'+ q¨!Õ˜Q Ñ"Ô"ðBð Bð Bð Bð Bð Br   z
figure.pgfz
figure.texrB   ú\documentclass[12pt]{article}ú#\usepackage[pdfinfo={%s}]{hyperref}ú8\usepackage[papersize={%fin,%fin}, margin=0in]{geometry}ú\usepackage{pgf}rº   z
\centeringz\input{figure.pgf}z\end{document}rê   rÙ  r6   ú-interaction=nonstopmoderé   ©rì   ú
figure.pdfÚrbÚwbN)r  Úget_size_inchesr   rM   Úitemsr   rE   r   rá  Ú
write_textr/   r-   r3   r   Ú_check_and_log_subprocessr~   ÚopenrÚ  ÚshutilÚcopyfileobj)r   rÞ  râ  rß  r  r  Ú	info_dictÚpdfinforÙ   Útmppathr	  ÚorigÚdests                r   Ú	print_pdfzFigureCanvasPgf.print_pdfM  sš  € àŒ{×*Ò*Ñ,Ô,‰ˆˆ1å)¨%°°¸RÑ@Ô@ˆ	Ø—(’(ð Bð BØ/8¯ªÑ/@Ô/@ðBñ Bô Bñ Bô Bˆõ  Ñ!Ô!ð 	/ VÝ”l 6Ñ*Ô*ˆGØˆDŒN˜7 \Ñ1Ð<Ð<°VÐ<Ð<Ð<Ø�|Ñ#×/Ò/Ø—	’	Ø4Ø:¸WÑDØOØ˜!�fñà'Ý!‘O”OØ'Ø!Ø)Ø%ðñ ô ð %ð 0ñ &ô &ð &õ œ oÔ6ˆJÝÔ+ØÐ7Ð9IØðÝ $¨&ð2ñ 2ô 2ð 2ð ˜LÑ(×.Ò.¨tÑ4Ô4ð /¸ÝÔ# K°Ñ6Ô6ð/Ø:>ÝÔ" 4¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð)	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s[   Á.B:FÄ(E7Ä>E ÅE7Å E$Å$E7Å'E$Å(E7Å+FÅ7E;	Å;FÅ>E;	Å?FÆFÆFc                 óÖ  — t          ¦   «         }t          ¦   «         5 }t          j        |¦  «        }|dz  }|dz  } | j        |fi |¤Ž  |||| j        j        ¬¦  «         |                     d¦  «        5 }t          j	        |d¦  «        5 }	t          j        ||	¦  «         ddd¦  «         n# 1 swxY w Y   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 )z?Use LaTeX to compile a pgf figure to pdf and convert it to png.rï  z
figure.png)rŸ   rð  rñ  N)r§   r   rE   r   rþ  r  rŸ   rö  r   rÚ  r÷  rø  )
r   rÞ  rß  Ú	converterrÙ   rû  Úpdf_pathÚpng_pathrü  rý  s
             r   Ú	print_pngzFigureCanvasPgf.print_pngn  s¯  € å-Ñ/Ô/ˆ	ÝÑ!Ô!ð 	/ VÝ”l 6Ñ*Ô*ˆGØ Ñ-ˆHØ Ñ-ˆHØˆDŒN˜8Ð.Ð. vÐ.Ð.Ð.ØˆI�h ¨d¬k¬oÐ>Ñ>Ô>Ð>Ø—’˜tÑ$Ô$ð /¨ÝÔ# K°Ñ6Ô6ð/Ø:>ÝÔ" 4¨Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/sZ   �ACÁ7CÂB/Â#CÂ/B3Â3CÂ6B3Â7CÂ:CÃC
	Ã
CÃC
	ÃCÃC"Ã%C"c                 ó,   — t          | j        d ¦  «        S r   )r  r  r   s    r   Úget_rendererzFigureCanvasPgf.get_renderer{  s   € Ý˜4œ;¨Ñ-Ô-Ð-r   c                 óv   •— | j                              ¦   «          t          ¦   «                              ¦   «         S r   )r  Údraw_without_renderingr«   rÓ  )r   r¯   s    €r   rÓ  zFigureCanvasPgf.draw~  s)   ø€ ØŒ×*Ò*Ñ,Ô,Ð,Ý‰wŒw�|Š|‰~Œ~Ðr   )r#   r$   r%   Ú	filetypesrÏ  r×  rá  rþ  r  r  rÓ  rµ   r¶   s   @r   rÊ  rÊ    sÇ   ø€ € € € € Ø+Ø4Ø3ð7ð 7€Iðð ð ð ;?ð 6#ð 6#ð 6#ð 6#ð 6#ðp2ð 2ð 2ð 26ð /ð /ð /ð /ð /ðB/ð /ð /ð.ð .ð .ðð ð ð ð ð ð ð ð r   rÊ  c                   ó   — e Zd ZeZdS )Ú_BackendPgfN)r#   r$   r%   rÊ  ÚFigureCanvasr*   r   r   r
  r
  †  s   € € € € € à"€L€L€Lr   r
  c                   óP   — e Zd ZdZdZdddœd„Zd„ Zd„ Zd	„ Zd
„ Z	d„ Z
dd„Zd„ ZdS )ÚPdfPagesa�  
    A multi-page PDF file using the pgf backend

    Examples
    --------
    >>> import matplotlib.pyplot as plt
    >>> # Initialize:
    >>> with PdfPages('foo.pdf') as pdf:
    ...     # As many times as you like, create a figure fig and save it:
    ...     fig = plt.figure()
    ...     pdf.savefig(fig)
    ...     # When no figure is specified the current figure is saved
    ...     pdf.savefig()
    )Ú_output_nameÚ
keep_emptyÚ
_n_figuresÚ_fileÚ
_info_dictÚ	_metadataTN)r  râ  c                óÀ   — || _         d| _        || _        |pi                      ¦   «         | _        t          d| j        ¦  «        | _        t          ¦   «         | _        dS )a<  
        Create a new PdfPages object.

        Parameters
        ----------
        filename : str or path-like
            Plots using `PdfPages.savefig` will be written to a file at this
            location. Any older file with the same name is overwritten.

        keep_empty : bool, default: True
            If set to False, then empty pdf files will be deleted automatically
            when closed.

        metadata : dict, optional
            Information dictionary object (see PDF reference section 10.2.1
            'Document Information Dictionary'), e.g.:
            ``{'Creator': 'My software', 'Author': 'Me', 'Title': 'Awesome'}``.

            The standard keys are 'Title', 'Author', 'Subject', 'Keywords',
            'Creator', 'Producer', 'CreationDate', 'ModDate', and
            'Trapped'. Values have been predefined for 'Creator', 'Producer'
            and 'CreationDate'. They can be removed by setting them to `None`.

            Note that some versions of LaTeX engines may ignore the 'Producer'
            key and set it to themselves.
        r   rË  N)	r  r  r  Úcopyr  r   r  r   r  )r   Úfilenamer  râ  s       r   r¬   zPdfPages.__init__£  sS   € ð6 %ˆÔØˆŒØ$ˆŒØ"˜. b×.Ò.Ñ0Ô0ˆŒÝ/°°t´~ÑFÔFˆŒÝ‘Y”YˆŒ
ˆ
ˆ
r   c           	      ó,  — d                      d„ | j                             ¦   «         D ¦   «         ¦  «        }d                      dd|z  d||fz  dt          ¦   «         dd	g¦  «        }| j                             |                     d
¦  «        ¦  «         d S )Nrö   c              3   ó<   K  — | ]\  }}t          ||¦  «        V — Œd S r   rå  ræ  s      r   ro   z)PdfPages._write_header.<locals>.<genexpr>Æ  sJ   è è € ð Hð HÙ'+ q¨!Õ˜Q Ñ"Ô"ðHð Hð Hð Hð Hð Hr   rB   ré  rê  rë  rì  z\setlength{\parindent}{0pt}z\begin{document}%rê   )rM   r  ró  r/   r  ri   Úencode)r   Úwidth_inchesÚheight_inchesrú  r»   s        r   Ú_write_headerzPdfPages._write_headerÅ  sµ   € Ø—(’(ð Hð HØ/3¬×/DÒ/DÑ/FÔ/FðHñ Hô Hñ Hô Hˆà—y’yØ,Ø2°WÑ<ØGØ˜]Ð+ñ,àÝ‰OŒOØ*Ø ð	"
ñ 	ô 	ˆð 	Œ
×Ò˜×,Ò,¨WÑ5Ô5Ñ6Ô6Ð6Ð6Ð6r   c                 ó   — | S r   r*   r   s    r   Ú	__enter__zPdfPages.__enter__Ô  s   € Øˆr   c                 ó.   — |                       ¦   «          d S r   )Úclose)r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__zPdfPages.__exit__×  s   € Ø�
Š
‰Œˆˆˆr   c                 ó  — | j                              d¦  «         | j        dk    r|                      ¦   «          n.| j        r't          | j        d¦  «                             ¦   «          | j                              ¦   «          dS )zƒ
        Finalize this object, running LaTeX in a temporary directory
        and moving the final pdf file to *filename*.
        s   \end{document}\nr   rñ  N)r  ri   r  Ú
_run_latexr  rö  r  r   r   s    r   r   zPdfPages.closeÚ  s~   € ð
 	Œ
×ÒÐ-Ñ.Ô.Ð.ØŒ?˜QÒÐØ�OŠOÑÔÐÐØŒ_ð 	2Ý�Ô" DÑ)Ô)×/Ò/Ñ1Ô1Ð1ØŒ
×ÒÑÔÐÐÐr   c                 ó”  — t           j        d         }t          ¦   «         5 }t          j        |d¦  «        }|                     | j                             ¦   «         ¦  «         t          j	        |dd|gt          |¬¦  «         t          j        |                     d¦  «        | j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr6   zpdf_pages.texrí  ré   rî  z.pdf)r-   r3   r   rE   r   Úwrite_bytesr  Úgetvaluer   rõ  r~   r÷  ÚmoveÚwith_suffixr  )r   r	  rÙ   Ú
tex_sources       r   r&  zPdfPages._run_latexæ  s  € Ý”\ /Ô2ˆ
ÝÑ!Ô!ð 	K VÝ œ f¨oÑ>Ô>ˆJØ×"Ò" 4¤:×#6Ò#6Ñ#8Ô#8Ñ9Ô9Ð9ÝÔ+ØÐ7Ð9IØðå˜&ð"ñ "ô "ð "õ ŒK˜
×.Ò.¨vÑ6Ô6¸Ô8IÑJÔJÐJð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kð 	Kð 	Ks   ¡BB=Â=CÃCc                 ó<  — t          |t          ¦  «        sZ|€t          j        ¦   «         }nt          j        |¦  «        }|€"t          d                     |¦  «        ¦  «        ‚|j        j        }	 |j        }t          |¦  «        |_        | 
                    ¦   «         \  }}| j        dk    r|                      ||¦  «         n| j                             d||fz  ¦  «          |j        | j        fddi|¤Ž | xj        dz  c_        ||_        dS # ||_        w xY w)a5  
        Save a `.Figure` to this file as a new page.

        Any other keyword arguments are passed to `~.Figure.savefig`.

        Parameters
        ----------
        figure : `.Figure` or int, default: the active figure
            The figure, or index of the figure, that is saved to the file.
        NzNo figure {}r   s„   \newpage\ifdefined\pdfpagewidth\pdfpagewidth\else\pagewidth\fi=%ain\ifdefined\pdfpageheight\pdfpageheight\else\pageheight\fi=%ain%%
rù   rË  rÁ   )rŒ   r   r   Ú
get_activeÚget_fig_managerrø   rù   Úcanvasr  rÊ  rò  r  r  r  ri   Úsavefig)r   r  rß  ÚmanagerÚorig_canvasr   r  s          r   r1  zPdfPages.savefigñ  s;  € õ ˜&¥&Ñ)Ô)ð 	+Øˆ~Ýœ.Ñ*Ô*��åÔ-¨fÑ5Ô5�ØˆÝ  ×!6Ò!6°vÑ!>Ô!>Ñ?Ô?Ð?Ø”^Ô*ˆFð	(Ø œ-ˆKÝ+¨FÑ3Ô3ˆFŒMà"×2Ò2Ñ4Ô4‰MˆE�6ØŒ !Ò#Ð#Ø×"Ò" 5¨&Ñ1Ô1Ð1Ð1ð
 ”
× Ò ðð
  % f˜oñ.ñô ð ð ˆFŒN˜4œ:Ð>Ð>¨eÐ>°vÐ>Ð>Ð>ØˆOŒO˜qÑ ˆOŒOà'ˆFŒMˆMˆMø˜KˆFŒMÐ'Ð'Ð'Ð's   Á1BD Ä	Dc                 ó   — | j         S )z=Return the current number of pages in the multipage pdf file.)r  r   s    r   Úget_pagecountzPdfPages.get_pagecount  s
   € àŒÐr   r   )r#   r$   r%   r  Ú	__slots__r¬   r  r  r$  r   r&  r1  r5  r*   r   r   r  r  ‹  s¸   € € € € € ðð ð€Ið 04¸dð  ð  ð  ð  ð  ðD7ð 7ð 7ðð ð ðð ð ð
ð 
ð 
ð	Kð 	Kð 	Kð+(ð +(ð +(ð +(ðZð ð ð ð r   r  )NrÜ  r�   râ   Úior   Úloggingr=  rš   rE   Úrer÷  r˜   Útempfiler   rÚ   ÚPILr   Ú
matplotlibr-   r   r   r   rF   Úmatplotlib.backend_basesr	   r
   r   r   Ú!matplotlib.backends.backend_mixedr   Úmatplotlib.backends.backend_pdfr   r   Úmatplotlib.pathr   Úmatplotlib.figurer   Úmatplotlib._pylab_helpersr   Ú	getLoggerr#   r~   Úcaching_module_getattrr   r&   r0   r4   r/   Úlatex_pt_to_inrd  rc  Úmpl_in_to_ptr   Úcompilerû   r!   ÚpartialÚsubr^   r[   rX   rV   rg   rc   r‡   r’   r§   rü   r©   r¸   rã   r  r  rÊ  ÚFigureManagerPgfÚexportr
  r  r*   r   r   ú<module>rL     sË  ðØ €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø €€€à Ð Ð Ð Ð Ð à Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð @Ð ?Ð ?Ð ?Ð ?Ð ?ð-ð -ð -ð -ð -ð -ð -ð -à  Ð  Ð  Ð  Ð  Ð  Ø $Ð $Ð $Ð $Ð $Ð $Ø )Ð )Ð )Ð )Ð )Ð )à€wÔ˜Ñ"Ô"€ð Ôð5ð 5ð 5ð 5ð 5ñ 5ô 5ñ Ôð5ð €„�ÑÔðð ñ Ôðð €„�ÑÔð(ð (ñ Ôð(ð
ð ð ð* €Ø�nÑ$€Ø€Ø�LÑ €ð !€
ØˆbŒj˜ eÑ+Ñ,Ô,Ô2€Ø'�iÔ'à€B„Jˆz˜JÑ&Ñ'Ô'Ô+¨Vñ5ô 5Ð ð )�yÔ(à€B„JˆzÐ.Ñ.Ñ/Ô/Ô3°Rñ9ô 9Ð ð
 €„�ÑÔðð ñ Ôððð ð ð8 €„�ÑÔðð ñ Ôððð ð ð4ð 4ð 4ðB ð  ð  ðAð Að Að6	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ðSð Sð Sð Sð Sñ Sô Sð Sðl €Ô�QÑÔðð ñ Ôðð{0ð {0ð {0ð {0ð {0�,ñ {0ô {0ð {0ð|}ð }ð }ð }ð }Ð&ñ }ô }ð }ð@ %Ð ð 
„ð#ð #ð #ð #ð #�(ñ #ô #ñ „ð#ðUð Uð Uð Uð Uñ Uô Uð Uð Uð Ur   