§
    ¢”j¶  ã                   óJ   — d dl mZ d dlmZ ddgZ G d„ de¦  «        Zd	d„ZdS )
é    )Úpairwise)ÚContourFilterPenÚreversedContourÚReverseContourPenc                   ó*   ‡ — e Zd ZdZdˆ fd„	Zd„ Zˆ xZS )r   a  Filter pen that passes outline data to another pen, but reversing
    the winding direction of all contours. Components are simply passed
    through unchanged.

    Closed contours are reversed in such a way that the first point remains
    the first point.
    Fc                 óX   •— t          ¦   «                              |¦  «         || _        d S ©N)ÚsuperÚ__init__ÚoutputImpliedClosingLine)ÚselfÚoutPenr   Ú	__class__s      €úo/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/pens/reverseContourPen.pyr   zReverseContourPen.__init__   s)   ø€ Ý‰Œ×Ò˜Ñ Ô Ð Ø(@ˆÔ%Ð%Ð%ó    c                 ó,   — t          || j        ¦  «        S r	   )r   r   )r   Úcontours     r   ÚfilterContourzReverseContourPen.filterContour   s   € Ý˜w¨Ô(EÑFÔFÐFr   ©F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__)r   s   @r   r   r      sc   ø€ € € € € ðð ðAð Að Að Að Að AðGð Gð Gð Gð Gð Gð Gr   Fc           	   #   óþ  K  — | sdS t          | ¦  «        dk    s
J d¦   «         ‚|                      ¦   «         d         }|dv sJ ‚|dk    }|                      d¦  «        \  }}|dv sJ d|z  ¦   «         ‚|d	         }|d
k    rI|�
J d¦   «         ‚| r
J d¦   «         ‚|d         ft          t          |dd	…         ¦  «        ¦  «        z   dz   }| s|dk    rd}nd}||fV — �n| d	         \  }}|d	         }	|r‰||fV — ||	k    r'd|	ffV — |t          |dd	…         ¦  «        |fz   f| d	<   t          | ¦  «        dk    r| d         \  }
}n||}}
|s0|
dk    r*||k    r$| d= | r|t          |dd	…         ¦  «        |z   f| d	<   n'||	ffV — |t          |dd	…         ¦  «        |fz   f| d	<   t	          | d¬¦  «        D ]=\  \  }}\  }}|t          t          |dd	…         ¦  «        ¦  «        |d	         fz   fV — Œ>|rdnddfV — dS )zGenerator that takes a list of pen's (operator, operands) tuples,
    and yields them with the winding direction reversed.
    Né   zinvalid contourr   )ÚendPathÚ	closePathr   )ÚmoveToÚqCurveToz invalid initial segment type: %réÿÿÿÿr    z)off-curve only paths must end with 'None'z,only one qCurveTo allowed per off-curve pathr	   r   FTÚlineTo)Úreverser   © )ÚlenÚpopÚtupleÚreversedr   )r   r   ÚcontourTypeÚclosedÚ	firstTypeÚfirstPtsÚfirstOnCurveÚlastTypeÚlastPtsÚlastOnCurveÚ
secondTypeÚ	secondPtsÚcurTypeÚcurPtsÚ_ÚnextPtss                   r   r   r      sñ  è è € ð ð Øˆõ ˆw‰<Œ<˜!ÒÐÐÐ.ÑÔÐð —+’+‘-”- Ô"€KØÐ2Ð2Ð2Ð2Ð2Ø˜KÒ'€Fà!Ÿ+š+ a™.œ.Ñ€IˆxØÐ.Ð.Ð.Ð.Ø*¨YÑ6ñ /Ô.Ð.ð ˜B”<€LØ�JÒÐàÐ#Ð#Ð%PÑ#Ô#Ð#ØÐJÐJÐJÑJÔJÐJØ˜Q”K�>¥E­(°8¸A¸b¸D´>Ñ*BÔ*BÑ$CÔ$CÑCÀgÑMˆàð *Ià˜Ò Ð ØˆFˆFàˆFØ˜Ð!Ð!Ð!Ð!Ñ!à# BœKÑˆ�'Ø˜b”kˆØð 	Là˜XÐ%Ð%Ð%Ð%Ø˜{Ò*Ð*à  Ð.Ð.Ð.Ð.Ø'­¨w°s¸°s¬|Ñ)<Ô)<À¸Ñ)NÐO�˜‘å�7‰|Œ|˜aÒÐØ(/°¬
Ñ%�
˜I˜Ið )1°'˜I�
à+ð Rð
  Ò)Ð)¨h¸)Ò.CÐ.CØ ˜
Øð RØ'/µ°w¸sÀ¸s´|Ñ1DÔ1DÀyÑ1PÐ&Q˜ ™øð ˜k˜^Ð+Ð+Ð+Ð+Ø#¥U¨7°3°B°3¬<Ñ%8Ô%8¸L¸?Ñ%JÐKˆG�B‰Kõ
 08¸ÈÐ/NÑ/NÔ/Nð 	Ið 	IÑ+ÑˆW�f™|  7Ø�5¥¨&°°"°¬+Ñ!6Ô!6Ñ7Ô7¸7À2¼;¸.ÑHÐHÐHÐHÐHÐHàÐ
.ˆ+ˆ+ Y°Ð
2Ð2Ð2Ð2Ð2Ð2r   Nr   )ÚfontTools.misc.arrayToolsr   ÚfontTools.pens.filterPenr   Ú__all__r   r   r$   r   r   ú<module>r:      s�   ðØ .Ð .Ð .Ð .Ð .Ð .Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5ð Ð1Ð
2€ðGð Gð Gð Gð GÐ(ñ Gô Gð Gð"G3ð G3ð G3ð G3ð G3ð G3r   