§
    ¢”ja  ã                   ó  — d Z ddlmZ d„ Zd„ Zd=d„Zd„ Zd„ Zd	„ Z G d
„ de	¦  «        Z
d„ Zd>d„Zd=d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	 	 	 	 d?d„Zd=d„Zedk    �r£ddlZ eej        ¦  «        dk    r&ddlZ ej         ej        ¦   «         j        ¦  «         ddlZ ej        dd¬¦  «        Z e  !                    dd d!d"¬#¦  «         e  !                    d$d%d!dd&¬'¦  «         e  !                    d(d)dd*¬+¦  «         e  !                    d,d-e"d.¬/¦  «         e  #                    ej        dd…         ¦  «        Z$e$j%        ráe$j&        €dnd0„ Z' ee$j%        ¦  «        Z% e(d1¦  «          e( ee%¦  «        ¦  «          ee%e'¦  «        Z) e(d2¦  «          e(e)¦  «          ee)¦  «        Z* e(d3¦  «          e( ee*¦  «        ¦  «         e%e*k    sJ ‚ e(d4¦  «          e( e ee%e'¦  «        ¦  «        ¦  «          e(d5¦  «          e( e ee%e'¦  «        ¦  «        ¦  «         e$j+        rÛdd6l,m-Z-  e-e$j+        ¦  «        Z+e+d7         j.        j/        d         Z0e0j1        Z2e2 3                    ¦   «         D ]BZ4e2e4         Z5e5 6                    ¦   «          e5j7        j'        Z' ee5j%        e'e¬8¦  «        e5_%        ŒCe$j8        €dd9l9m:Z:  e:e$j+        dd:¬;¦  «        Z;ne$j8        Z;e;r' e(d<e;¦  «         e+ <                    e;¦  «         dS dS dS dS )@aZ  T2CharString operator specializer and generalizer.

PostScript glyph drawing operations can be expressed in multiple different
ways. For example, as well as the ``lineto`` operator, there is also a
``hlineto`` operator which draws a horizontal line, removing the need to
specify a ``dx`` coordinate, and a ``vlineto`` operator which draws a
vertical line, removing the need to specify a ``dy`` coordinate. As well
as decompiling :class:`fontTools.misc.psCharStrings.T2CharString` objects
into lists of operations, this module allows for conversion between general
and specific forms of the operation.

é    )ÚmaxStackLimitc                 ó  — t          | t          ¦  «        r|                      ¦   «         } g }| D ]Y}	 t          |¦  «        }n1# t          $ r$ 	 t          |¦  «        }n# t          $ r Y nw xY wY nw xY w|                     |¦  «         ŒZ|S ©N)Ú
isinstanceÚstrÚsplitÚintÚ
ValueErrorÚfloatÚappend)ÚstringÚprogramÚtokens      úk/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/cffLib/specializer.pyÚstringToProgramr      s²   € Ý�&�#ÑÔð  Ø—’‘”ˆØ€GØð ð ˆð	Ý˜‘J”JˆEˆEøÝð 	ð 	ð 	ðÝ˜e™œ��øÝð ð ð Ø�ðøøøøøð	øøøð
 	�Š�uÑÔÐÐØ€Ns5   ±AÁ
A/ÁAÁA/Á
A)Á&A/Á(A)Á)A/Á.A/c                 ó@   — d                      d„ | D ¦   «         ¦  «        S )Nú c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   )r   )Ú.0Úxs     r   ú	<genexpr>z"programToString.<locals>.<genexpr>$   s(   è è € Ð,Ð,˜q•C˜‘F”FÐ,Ð,Ð,Ð,Ð,Ð,ó    )Újoin)r   s    r   ÚprogramToStringr   #   s#   € Ø�8Š8Ð,Ð, GÐ,Ñ,Ô,Ñ,Ô,Ð,r   Nc                 ó’  — d}d}d}d}g }g }t          | ¦  «        }|D �]Ž}	t          |	t          ¦  «        s|                     |	¦  «         Œ.|	dk    rQ|€J ‚d ||¦  «        z   }
|d         }||
z  dz   }|| d…         g|| d…<   t	          |¦  «        }|||z   dz
  z  }|}Œ…|	dk    r!|d         }t          |¦  «        t          u sJ ‚no|sm|	dv rid	}|	d
v }|r|t	          ||d…         ¦  «        z   }nt	          |¦  «        }|r5|dz  |z  r-|                     d¦  «        }|                     d|gf¦  «         |	dv rV|r|                     d|f¦  «         |                     |	g f¦  «         |                     dt          |¦  «        gf¦  «         n|                     |	|f¦  «         g }�Œ�|r|                     d|f¦  «         |S )u\  Takes a T2CharString program list and returns list of commands.
    Each command is a two-tuple of commandname,arg-list.  The commandname might
    be empty string if no commandname shall be emitted (used for glyph width,
    hintmask/cntrmask argument, as well as stray arguments at the end of the
    program (ðŸ¤·).
    'getNumRegions' may be None, or a callable object. It must return the
    number of regions. 'getNumRegions' takes a single argument, vsindex. It
    returns the numRegions for the vsindex.
    The Charstring may or may not start with a width value. If the first
    non-blend operator has an odd number of arguments, then the first argument is
    a width, and is popped off. This is complicated with blend operators, as
    there may be more than one before the first hint or moveto operator, and each
    one reduces several arguments to just one list argument. We have to sum the
    number of arguments that are not part of the blend arguments, and all the
    'numBlends' values. We could instead have said that by definition, if there
    is a blend operator, there is no width value, since CFF2 Charstrings don't
    have width values. I discussed this with Behdad, and we are allowing for an
    initial width value in this case because developers may assemble a CFF2
    charstring from CFF Charstrings, which could have width values.
    Fr   ÚblendNé   éÿÿÿÿÚvsindex>
   ÚhstemÚvstemÚendcharÚhmovetoÚhstemhmÚrmovetoÚvmovetoÚvstemhmÚcntrmaskÚhintmaskT>   r#   r&   é   Ú >   r(   r)   )	Úiterr   r   r   ÚlenÚtyper	   ÚpopÚnext)r   ÚgetNumRegionsÚseenWidthOpÚvsIndexÚlenBlendStackÚlastBlendIndexÚcommandsÚstackÚitr   ÚnumSourceFontsÚ	numBlendsÚnumBlendArgsÚlenStackÚparityÚnumArgsÚwidths                    r   ÚprogramToCommandsr@   '   sY  € ð, €KØ€GØ€MØ€NØ€HØ€EÝ	ˆg‰Œ€Bàð 8ñ 8ˆÝ˜%¥Ñ%Ô%ð 	Ø�LŠL˜ÑÔÐØà�GÒÐØ Ð,Ð,Ð,Ø  ¨wÑ!7Ô!7Ñ7ˆNð ˜bœ	ˆIØ$ ~Ñ5¸Ñ9ˆLà%*¨L¨=¨>¨>Ô%:Ð$;ˆE�<�-�.�.Ñ!Ý˜5‘z”zˆHØ˜Y¨Ñ1°AÑ5Ñ5ˆMØ%ˆNàà�iÒÐØ˜B”iˆGÝ˜‘=”=¥CÐ'Ð'Ð'Ð'Ð'àð 	/ 5ð -
ð $
ð $
ð ˆKØÐ4Ð4ˆFØð %ð (­#¨e°N°O°OÔ.DÑ*EÔ*EÑE��å˜e™*œ*�Øð /˜G a™K¨6Ñ1ð /ØŸ	š	 !™œ�Ø—’  e W Ñ.Ô.Ð.àÐ,Ð,Ð,Øð -Ø—’  U Ñ,Ô,Ð,Ø�OŠO˜U B˜KÑ(Ô(Ð(Ø�OŠO˜R¥$ r¡(¤( Ð,Ñ-Ô-Ð-Ð-à�OŠO˜U E˜NÑ+Ô+Ð+Øˆ‰Øð %Ø�Š˜˜U˜Ñ$Ô$Ð$Ø€Or   c                 ó¾   — g }| D ]W}t          |t          ¦  «        r+|                     |¦  «         |                     d¦  «         ŒB|                     |¦  «         ŒX|S )Nr   )r   ÚlistÚextendr   )ÚargsÚ
token_listÚargs      r   Ú_flattenBlendArgsrG   ƒ   sp   € Ø€JØð #ð #ˆÝ�c�4Ñ Ô ð 	#Ø×Ò˜cÑ"Ô"Ð"Ø×Ò˜gÑ&Ô&Ð&Ð&à×Ò˜cÑ"Ô"Ð"Ð"ØÐr   c                 óÂ   — g }| D ]Y\  }}t          d„ |D ¦   «         ¦  «        rt          |¦  «        }|                     |¦  «         |r|                     |¦  «         ŒZ|S )zqTakes a commands list as returned by programToCommands() and converts
    it back to a T2CharString program list.c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r   ©r   rB   ©r   rF   s     r   r   z$commandsToProgram.<locals>.<genexpr>“   ó,   è è € Ð5Ð5¨�z˜#�tÑ$Ô$Ð5Ð5Ð5Ð5Ð5Ð5r   )ÚanyrG   rC   r   )r6   r   ÚoprD   s       r   ÚcommandsToProgramrO   Ž   sz   € ð €GØð ð ‰ˆˆDÝÐ5Ð5°Ð5Ñ5Ô5Ñ5Ô5ð 	+Ý$ TÑ*Ô*ˆDØ�Š�tÑÔÐØð 	Ø�NŠN˜2ÑÔÐøØ€Nr   c              #   óž   K  — t          | ¦  «        }||z  dk    rt          | ¦  «        ‚t          d||¦  «        D ]}| |||z   …         V — ŒdS )z'Group the list el into groups of size nr   N)r-   r
   Úrange)ÚelÚnÚlÚis       r   Ú_everyNrV   ›   sh   è è € åˆB‰Œ€AØˆ1�u�‚z€zÝ˜‰nŒnÐÝ�1�a˜‰^Œ^ð ð ˆØ��Q˜‘U�ŒmÐÐÐÐðð r   c                   ó,  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )Ú!_GeneralizerDecombinerCommandsMapc              #   óZ   K  — t          | ¦  «        dk    rt          | ¦  «        ‚d| fV — d S )Nr*   r%   ©r-   r
   ©rD   s    r   r%   z)_GeneralizerDecombinerCommandsMap.rmoveto¥   s:   è è € åˆt‰9Œ9˜Š>ˆ>Ý˜TÑ"Ô"Ð"Ø˜$ÐÐÐÐÐÐr   c              #   ój   K  — t          | ¦  «        dk    rt          | ¦  «        ‚d| d         dgfV — d S ©Nr   r%   r   rZ   r[   s    r   r#   z)_GeneralizerDecombinerCommandsMap.hmoveto«   sB   è è € åˆt‰9Œ9˜Š>ˆ>Ý˜TÑ"Ô"Ð"Ø˜4 œ7 A˜,Ð'Ð'Ð'Ð'Ð'Ð'r   c              #   ój   K  — t          | ¦  «        dk    rt          | ¦  «        ‚dd| d         gfV — d S r]   rZ   r[   s    r   r&   z)_GeneralizerDecombinerCommandsMap.vmoveto±   sB   è è € åˆt‰9Œ9˜Š>ˆ>Ý˜TÑ"Ô"Ð"Ø˜1˜d 1œg˜,Ð'Ð'Ð'Ð'Ð'Ð'r   c              #   ó^   K  — | st          | ¦  «        ‚t          | d¦  «        D ]} d| fV — Œ	d S )Nr*   Úrlineto©r
   rV   r[   s    r   r`   z)_GeneralizerDecombinerCommandsMap.rlineto·   sS   è è € àð 	#Ý˜TÑ"Ô"Ð"Ý˜D !Ñ$Ô$ð 	$ð 	$ˆDØ˜dÐ#Ð#Ð#Ð#Ð#ð	$ð 	$r   c              #   óÂ   K  — | st          | ¦  «        ‚t          | ¦  «        }	 	 dt          |¦  «        dgfV — ddt          |¦  «        gfV — Œ+# t          $ r Y d S w xY w©NTr`   r   ©r
   r,   r0   ÚStopIteration©rD   r8   s     r   Úhlinetoz)_GeneralizerDecombinerCommandsMap.hlineto¾   s�   è è € àð 	#Ý˜TÑ"Ô"Ð"Ý�$‰ZŒZˆð	ð1Ø ¥4¨¡8¤8¨Q -Ð0Ð0Ð0Ð0Ø  1¥d¨2¡h¤h -Ð0Ð0Ð0Ð0ð1øõ ð 	ð 	ð 	ØˆDˆDð	øøøó   ¤,A Á
AÁAc              #   óÂ   K  — | st          | ¦  «        ‚t          | ¦  «        }	 	 ddt          |¦  «        gfV — dt          |¦  «        dgfV — Œ+# t          $ r Y d S w xY wrc   rd   rf   s     r   Úvlinetoz)_GeneralizerDecombinerCommandsMap.vlinetoÊ   s�   è è € àð 	#Ý˜TÑ"Ô"Ð"Ý�$‰ZŒZˆð	ð1Ø  1¥d¨2¡h¤h -Ð0Ð0Ð0Ð0Ø ¥4¨¡8¤8¨Q -Ð0Ð0Ð0Ð0ð1øõ ð 	ð 	ð 	ØˆDˆDð	øøørh   c              #   ó^   K  — | st          | ¦  «        ‚t          | d¦  «        D ]} d| fV — Œ	d S )Né   Ú	rrcurvetora   r[   s    r   rm   z+_GeneralizerDecombinerCommandsMap.rrcurvetoÖ   sS   è è € àð 	#Ý˜TÑ"Ô"Ð"Ý˜D !Ñ$Ô$ð 	&ð 	&ˆDØ Ð%Ð%Ð%Ð%Ð%ð	&ð 	&r   c              #   óL  K  — t          | ¦  «        }|dk     s	|dz  dk    rt          | ¦  «        ‚|dz  dk    r4d| d         | d         | d         | d         | d         dgfV — | dd …         } t          | d¦  «        D ]&} d| d         d| d         | d         | d         dgfV — Œ'd S ©Né   r   r*   rm   r   é   é   ©r-   r
   rV   ©rD   rT   s     r   Ú	hhcurvetoz+_GeneralizerDecombinerCommandsMap.hhcurvetoÝ   sØ   è è € å�‰IŒIˆØˆqŠ5ˆ5�A˜‘E˜A’I�IÝ˜TÑ"Ô"Ð"Øˆq‰5�AŠ:ˆ:Ø  a¤¨$¨q¬'°4¸´7¸DÀ¼GÀTÈ!ÄWÈaÐ PÐQÐQÐQÐQØ˜˜˜”8ˆDÝ˜D !Ñ$Ô$ð 	Lð 	LˆDØ  a¤¨!¨T°!¬W°d¸1´g¸tÀA¼wÈÐ JÐKÐKÐKÐKÐKð	Lð 	Lr   c           	   #   óL  K  — t          | ¦  «        }|dk     s	|dz  dk    rt          | ¦  «        ‚|dz  dk    r4d| d         | d         | d         | d         d| d         gfV — | dd …         } t          | d¦  «        D ]&} dd| d         | d         | d         d| d         gfV — Œ'd S ro   rs   rt   s     r   Ú	vvcurvetoz+_GeneralizerDecombinerCommandsMap.vvcurvetoè   sØ   è è € å�‰IŒIˆØˆqŠ5ˆ5�A˜‘E˜A’I�IÝ˜TÑ"Ô"Ð"Øˆq‰5�AŠ:ˆ:Ø  a¤¨$¨q¬'°4¸´7¸DÀ¼GÀQÈÈQÌÐ PÐQÐQÐQÐQØ˜˜˜”8ˆDÝ˜D !Ñ$Ô$ð 	Lð 	LˆDØ  D¨¤G¨T°!¬W°d¸1´g¸qÀ$ÀqÄ'Ð JÐKÐKÐKÐKÐKð	Lð 	Lr   c              #   ó~  K  — t          | ¦  «        }|dk     s|dz  dvrt          | ¦  «        ‚d }|dz  dk    r|dz  dk    }| d d…         | dd …         }} t          | d¦  «        }	 	 t          |¦  «        } d	| d
         d
| d         | d         d
| d         gfV — t          |¦  «        } d	d
| d
         | d         | d         | d         d
gfV — Œg# t          $ r Y nw xY w|r\|} |r,d	| d
         d
| d         | d         | d         | d         gfV — d S d	d
| d
         | d         | d         | d         | d         gfV — d S d S ©Nrp   é   >   r   r   rp   rr   r*   r   rr   éûÿÿÿTrm   r   rq   ©r-   r
   rV   r0   re   ©rD   rT   Ú	last_argsÚlastStraightr8   s        r   Ú	hvcurvetoz+_GeneralizerDecombinerCommandsMap.hvcurvetoó   s·  è è € å�‰IŒIˆØˆqŠ5ˆ5�A˜‘E Ð-Ð-Ý˜TÑ"Ô"Ð"Øˆ	Øˆq‰5�AŠ:ˆ:Ø˜q™5 Aš:ˆLØ" 3 B 3œi¨¨b¨c¨c¬�)ˆDÝ�T˜1ÑÔˆð	ðPÝ˜B‘x”x�Ø" T¨!¤W¨a°°a´¸$¸q¼'À1ÀdÈ1ÄgÐ$NÐOÐOÐOÐOÝ˜B‘x”x�Ø" Q¨¨Q¬°°a´¸$¸q¼'À4ÈÄ7ÈAÐ$NÐOÐOÐOÐOð	Pøõ
 ð 	ð 	ð 	ØˆDð	øøøàð 	VØˆDØð VØ" T¨!¤W¨a°°a´¸$¸q¼'À4ÈÄ7ÈDÐQRÌGÐ$TÐUÐUÐUÐUÐUÐUà" Q¨¨Q¬°°a´¸$¸q¼'À4ÈÄ7ÈDÐQRÌGÐ$TÐUÐUÐUÐUÐUÐUð	Vð 	Vó   Á'A(C Ã
CÃCc              #   ó~  K  — t          | ¦  «        }|dk     s|dz  dvrt          | ¦  «        ‚d }|dz  dk    r|dz  dk    }| d d…         | dd …         }} t          | d¦  «        }	 	 t          |¦  «        } d	d
| d
         | d         | d         | d         d
gfV — t          |¦  «        } d	| d
         d
| d         | d         d
| d         gfV — Œg# t          $ r Y nw xY w|r\|} |r,d	d
| d
         | d         | d         | d         | d         gfV — d S d	| d
         d
| d         | d         | d         | d         gfV — d S d S ry   r|   r}   s        r   Ú	vhcurvetoz+_GeneralizerDecombinerCommandsMap.vhcurveto  s·  è è € å�‰IŒIˆØˆqŠ5ˆ5�A˜‘E Ð-Ð-Ý˜TÑ"Ô"Ð"Øˆ	Øˆq‰5�AŠ:ˆ:Ø˜q™5 Aš:ˆLØ" 3 B 3œi¨¨b¨c¨c¬�)ˆDÝ�T˜1ÑÔˆð	ðPÝ˜B‘x”x�Ø" Q¨¨Q¬°°a´¸$¸q¼'À4ÈÄ7ÈAÐ$NÐOÐOÐOÐOÝ˜B‘x”x�Ø" T¨!¤W¨a°°a´¸$¸q¼'À1ÀdÈ1ÄgÐ$NÐOÐOÐOÐOð	Pøõ
 ð 	ð 	ð 	ØˆDð	øøøàð 	VØˆDØð VØ" Q¨¨Q¬°°a´¸$¸q¼'À4ÈÄ7ÈDÐQRÌGÐ$TÐUÐUÐUÐUÐUÐUà" T¨!¤W¨a°°a´¸$¸q¼'À4ÈÄ7ÈDÐQRÌGÐ$TÐUÐUÐUÐUÐUÐUð	Vð 	Vr�   c              #   óÊ   K  — t          | ¦  «        }|dk     s	|dz  dk    rt          | ¦  «        ‚| d d…         | dd …         }} t          | d¦  «        D ]} d| fV — Œ	d|fV — d S )Nrz   rl   r*   éþÿÿÿrm   r`   rs   ©rD   rT   r~   s      r   Ú
rcurvelinez,_GeneralizerDecombinerCommandsMap.rcurveline%  s‘   è è € å�‰IŒIˆØˆqŠ5ˆ5�A˜‘E˜Q’J�JÝ˜TÑ"Ô"Ð"Ø˜s ˜sœ) T¨"¨#¨#¤YˆiˆÝ˜D !Ñ$Ô$ð 	&ð 	&ˆDØ Ð%Ð%Ð%Ð%Ð%Ø˜)Ð$Ð$Ð$Ð$Ð$Ð$r   c              #   óÊ   K  — t          | ¦  «        }|dk     s	|dz  dk    rt          | ¦  «        ‚| d d…         | dd …         }} t          | d¦  «        D ]} d| fV — Œ	d|fV — d S )Nrz   r*   r   iúÿÿÿr`   rm   rs   r†   s      r   Ú
rlinecurvez,_GeneralizerDecombinerCommandsMap.rlinecurve/  s‘   è è € å�‰IŒIˆØˆqŠ5ˆ5�A˜‘E˜Q’J�JÝ˜TÑ"Ô"Ð"Ø˜s ˜sœ) T¨"¨#¨#¤YˆiˆÝ˜D !Ñ$Ô$ð 	$ð 	$ˆDØ˜dÐ#Ð#Ð#Ð#Ð#Ø˜IÐ&Ð&Ð&Ð&Ð&Ð&r   N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr%   r#   r&   r`   rg   rj   rm   ru   rw   r€   rƒ   r‡   r‰   © r   r   rX   rX   ¤   s}  € € € € € Øð ð  ñ „\ð ð
 ð(ð (ñ „\ð(ð
 ð(ð (ñ „\ð(ð
 ð$ð $ñ „\ð$ð ð	ð 	ñ „\ð	ð ð	ð 	ñ „\ð	ð ð&ð &ñ „\ð&ð ðLð Lñ „\ðLð ðLð Lñ „\ðLð ðVð Vñ „\ðVð0 ðVð Vñ „\ðVð0 ð%ð %ñ „\ð%ð ð'ð 'ñ „\ð'ð 'ð 'r   rX   c                 ó¬  ‡‡	— t          d„ | D ¦   «         ¦  «        rd„ | D ¦   «         }n| }|d         }|d d…         }t          |¦  «        }||z  dz
  Š	|‰	dz   z  |k    st          | ¦  «        ‚d„ |d |…         D ¦   «         }||d …         Št          ‰¦  «        }ˆˆ	fd„t          d|‰	¦  «        D ¦   «         }d„ t	          ||¦  «        D ¦   «         }|S )	Nc                 ó8   — g | ]}t          |t          ¦  «        ‘ŒS rŽ   rJ   rK   s     r   ú
<listcomp>z)_convertBlendOpToArgs.<locals>.<listcomp>?  s"   € Ð7Ð7Ð7 c�J�s�DÑ!Ô!Ð7Ð7Ð7r   c                 óf   — g | ].}t          |t          ¦  «        rt          |¦  «        n|gD ]}|‘ŒŒ/S rŽ   ©r   rB   Ú_convertBlendOpToArgs)r   ÚerU   s      r   r‘   z)_convertBlendOpToArgs.<locals>.<listcomp>@  s^   € ð 
ð 
ð 
àÝ2<¸QÅÑ2EÔ2EÐNÕ+¨AÑ.Ô.Ð.ÈAÈ3ð
ð 
ð ð ð
ð 
ð 
ð 
r   r   r   c                 ó   — g | ]}|g‘ŒS rŽ   rŽ   rK   s     r   r‘   z)_convertBlendOpToArgs.<locals>.<listcomp>Z  s   € Ð5Ð5Ð5˜S�C�5Ð5Ð5Ð5r   c                 ó*   •— g | ]}‰||‰z   …         ‘ŒS rŽ   rŽ   )r   rU   Ú	deltaArgsÚ
numRegionss     €€r   r‘   z)_convertBlendOpToArgs.<locals>.<listcomp>]  s4   ø€ ð ð ð Ø*+ˆ	�!�a˜*‘nÐ$Ô%ðð ð r   r   c                 ó&   — g | ]\  }}||z   d gz   ‘ŒS )r   rŽ   )r   ÚaÚbs      r   r‘   z)_convertBlendOpToArgs.<locals>.<listcomp>`  s&   € ÐFÐFÐF¡$ ! Q�!�a‘%˜1˜#‘+ÐFÐFÐFr   )rM   r-   r
   rQ   Úzip)
Ú	blendListrD   r:   rT   ÚdefaultArgsÚnumDeltaValuesÚ	deltaListÚ
blend_argsr˜   r™   s
           @@r   r”   r”   :  s5  øø€ õ
 Ð7Ð7¨YÐ7Ñ7Ô7Ñ8Ô8ð ð
ð 
àð
ñ 
ô 
ˆˆð ˆð �R”€Ið ���Œ9€DåˆD‰	Œ	€AØ�i‘ !Ñ#€JØ˜ a™Ñ(¨AÒ-Ð-Ý˜Ñ#Ô#Ð#à5Ð5 D¨¨)¨Ô$4Ð5Ñ5Ô5€KØ�Y�Z�ZÔ €IÝ˜‘^”^€Nðð ð ð ð Ý/4°Q¸È
Ñ/SÔ/Sðñ ô €Ið GÐF­#¨k¸9Ñ*EÔ*EÐFÑFÔF€JØÐr   Fc                 ó"  — g }t           }| D �]\  }}t          d„ |D ¦   «         ¦  «        rQ	 d„ |D ¦   «         }nC# t          $ r6 |r0|                     d|f¦  «         |                     d|gf¦  «         n‚ Y nw xY wt	          ||d ¦  «        }|€|                     ||f¦  «         Œ›	  ||¦  «        D ]}|                     |¦  «         ŒŒÀ# t          $ r6 |r0|                     d|f¦  «         |                     d|gf¦  «         n‚ Y Œÿw xY w|S )Nc                 ó8   — g | ]}t          |t          ¦  «        ‘ŒS rŽ   rJ   rK   s     r   r‘   z&generalizeCommands.<locals>.<listcomp>i  s"   € Ð6Ð6Ð6¨#•
˜3¥Ñ%Ô%Ð6Ð6Ð6r   c                 óf   — g | ].}t          |t          ¦  «        rt          |¦  «        n|gD ]}|‘ŒŒ/S rŽ   r“   )r   rF   rS   s      r   r‘   z&generalizeCommands.<locals>.<listcomp>k  s`   € ð ð ð àå6@ÀÅdÑ6KÔ6KÐVÕ-¨cÑ2Ô2Ð2ÐRUÐQVð	ð ð ð ðð ð ð r   r+   )rX   rM   r
   r   Úgetattr)r6   ÚignoreErrorsÚresultÚmappingrN   rD   ÚfuncÚcommands           r   ÚgeneralizeCommandsr¬   d  s•  € Ø€FÝ/€GØð "ñ "‰ˆˆDåÐ6Ð6°Ð6Ñ6Ô6Ñ7Ô7ð 	ððð à#ðñ ô ��øõ ð ð ð Øð ð —M’M 2 t *Ñ-Ô-Ð-Ø—M’M 2¨ t *Ñ-Ô-Ð-Ð-àð .Ð-ðøøøõ �w  DÑ)Ô)ˆØˆ<Ø�MŠM˜2˜t˜*Ñ%Ô%Ð%Øð
	Ø˜4 ™:œ:ð 'ð '�Ø—’˜gÑ&Ô&Ð&Ð&ð'øåð 	ð 	ð 	Øð ð —’˜r 4˜jÑ)Ô)Ð)Ø—’˜r B 4˜jÑ)Ô)Ð)Ð)àð *Ð)ð	øøøð €Ms!   ¬9¹=A9Á8A9Â(#CÃ=DÄDc                 óR   — t          t          t          | |¦  «        fi |¤Ž¦  «        S r   )rO   r¬   r@   ©r   r1   Úkwargss      r   ÚgeneralizeProgramr°   �  ó2   € ÝÝÕ,¨W°mÑDÔDÐOÐOÈÐOÐOñô ð r   c                 ó‚   — | d         s | d         sd| dd…         fS d| dd…         fS | d         sd| dd…         fS d| fS )a†  
    Takes X,Y vector v and returns one of r, h, v, or 0 depending on which
    of X and/or Y are zero, plus tuple of nonzero ones.  If both are zero,
    it returns a single zero still.

    >>> _categorizeVector((0,0))
    ('0', (0,))
    >>> _categorizeVector((1,0))
    ('h', (1,))
    >>> _categorizeVector((0,2))
    ('v', (2,))
    >>> _categorizeVector((1,2))
    ('r', (1, 2))
    r   r   Ú0NÚvÚhÚrrŽ   )r´   s    r   Ú_categorizeVectorr·   “  sg   € ð ˆQŒ4ð 	Ø�Œtð 	Ø˜˜"˜1˜"œ�:Ðà˜˜!˜"˜"œ�:Ðà�Œtð 	Ø˜˜"˜1˜"œ�:Ðà˜�6ˆMr   c                 ó6   — | dk    r|S |dk    r| S | |k    r| S d S )Nr³   rŽ   ©r›   rœ   s     r   Ú_mergeCategoriesrº   ®  s1   € ØˆC‚x€xØˆØˆC‚x€xØˆØˆA‚v€vØˆØˆ4r   c                 ó2   — | dk    rdS | dk    rdS | dv sJ ‚| S )Nrµ   r´   Ú0rrŽ   )r›   s    r   Ú_negateCategoryr½   ¸  s0   € ØˆC‚x€xØˆsØˆC‚x€xØˆsØ�ˆ9ˆ9ˆ9ˆ9Ø€Hr   c                 ó,  — t          | ¦  «        }d}g }d}||k     �rw| |         }|dz  }t          |t          ¦  «        s|                     |¦  «         |dz  }�n2|}t          |¦  «        dz
  }|g}|d|z   z  }||k     r}t          | |         t          ¦  «        rb||z   t          k     rT|                     | |         ¦  «         |dz  }||z  }||k     r)t          | |         t          ¦  «        r||z   t          k     °Tt          |¦  «        }	g }
|D ]}|
                     |d         ¦  «         Œ|D ]-}|d         dk    sJ ‚|
                     |dd…         ¦  «         Œ.|
                     |	¦  «         |                     |
¦  «         ||	z   }||k     �°w|S )Nr   r   r   )r-   r   rB   r   r   rC   )rD   Únum_argsÚ	stack_useÚnew_argsrU   rF   Úprev_stack_useÚnum_sourcesÚ	blendlistÚ
num_blendsr¢   s              r   Ú_convertToBlendCmdsrÆ   Á  sß  € õ �4‰yŒy€HØ€IØ€HØ	€AØ
ˆhŠ,‰,Ø�1ŒgˆØ	ˆQ‰ˆÝ˜#�tÑ$Ô$ð +	4Ø�OŠO˜CÑ Ô Ð Ø˜‰NˆI‰Ià&ˆNõ
 ˜c™(œ( Q™,ˆKØ˜ˆIØ˜˜[™Ñ(ˆIð �X’�Ý˜t Aœw­Ñ-Ô-ð à Ñ+­mÒ;Ð;à× Ò   a¤Ñ)Ô)Ð)Ø�Q‘�Ø˜[Ñ(�	ð �X’�Ý˜t Aœw­Ñ-Ô-ð à Ñ+­mÒ;Ð;õ ˜Y™œˆJàˆJØ ð *ð *�Ø×!Ò! # a¤&Ñ)Ô)Ð)Ð)Ø ð -ð -�Ø˜2”w !’|�|�|�|Ø×!Ò! # a¨ d¤)Ñ,Ô,Ð,Ð,Ø×Ò˜jÑ)Ô)Ð)Ø�OŠO˜JÑ'Ô'Ð'Ø&¨Ñ3ˆIð] ˆhŠ,‰,ð` €Or   c                 óÚ  — t          |t          ¦  «        r�t          | t          ¦  «        rtt          | ¦  «        t          |¦  «        k    s| d         |d         k    rt          ¦   «         ‚d„ t	          | d d…         |d d…         ¦  «        D ¦   «         | d         gz   S || }} t          | t          ¦  «        r0| d         dk    sJ ‚t          | d         |¦  «        g| dd …         z   S | |z   S )Nr   c                 ó4   — g | ]\  }}t          ||¦  «        ‘ŒS rŽ   )Ú_addArgs)r   ÚvaÚvbs      r   r‘   z_addArgs.<locals>.<listcomp>   s&   € ÐGÐGÐG©¨¨R•H˜R Ñ$Ô$ÐGÐGÐGr   r   r   )r   rB   r-   r
   r�   rÉ   r¹   s     r   rÉ   rÉ   û  sé   € Ý�!•TÑÔð Ý�a�ÑÔð 	Ý�1‰vŒv�˜Q™œÒÐ 1 R¤5¨A¨b¬E¢> >Ý ‘l”lÐ"ØGÐGµ3°q¸¸"¸´v¸qÀÀ"À¼vÑ3FÔ3FÐGÑGÔGÈ1ÈRÌ5È'ÑQÐQà�aˆqˆAÝ�!•TÑÔð +Ø�Œu˜ŠzˆzˆzˆzÝ˜˜1œ˜qÑ!Ô!Ð" Q q r r¤UÑ*Ð*Øˆq‰5€Lr   c                 óÂ   — d}d}| D ]I}t          |¦  «        t          u r,t          ||t          |¦  «        z   ¦  «        }||d         z  }ŒD|dz  }ŒJt          ||¦  «        S )Nr   r   r   )r.   rB   ÚmaxÚ_argsStackUse)rD   ÚstackLenÚmaxLenrF   s       r   rÎ   rÎ   	  ss   € Ø€HØ€FØð ð ˆÝ�‰9Œ9�ÐÐå˜ ­M¸#Ñ,>Ô,>Ñ!>Ñ?Ô?ˆFØ˜˜BœÑˆHˆHà˜‰MˆHˆHÝˆx˜Ñ Ô Ð r   Té0   c                 ó¤  — |rt          | |¬¦  «        } nt          | ¦  «        } t          t          | ¦  «        dz
  dd¦  «        D ]�}d| |         d         cxk    r| |dz
           d         k    ren Œ-| |dz
           d         | |         d         }}dt	          |d         |d         ¦  «        t	          |d         |d         ¦  «        gf| |dz
  <   | |= Œ�t          t          | ¦  «        ¦  «        D ]Œ}| |         \  }}	|dv r%t          |	¦  «        \  }
}	|
|dd …         z   |	f| |<   Œ6|dk    rPt          |	d d…         ¦  «        \  }}t          |	d	d …         ¦  «        \  }}||z   d
z   ||	dd…         z   |z   f| |<   ŒŒŒ�|�st          t          | ¦  «        dz
  dd¦  «        D ]æ}| |         \  }}	|dk    r;t          |	¦  «        dk    sJ ‚t          |	dd…         ¦  «        \  }
}	|
dz   }||	f| |<   |dk    r| |= ŒX|rŒ|dv rˆ|| |dz
           d         k    rs| |dz
           \  }}t          |	¦  «        dk    rt          |¦  «        dk    sJ ‚	 t	          |	d         |d         ¦  «        g}n# t          $ r Y ŒÔw xY w||f| |dz
  <   | |= ŒæŒçt          dt          | ¦  «        dz
  ¦  «        D �]3}| |         \  }}	| |dz
           d         | |dz            d         }}|dv rM||cxk    rdk    r@n n=t          |	¦  «        dk    sJ ‚|d         dk    r
d|	d         gn	|	d         dg}	d|	f| |<   Œ�|dd …         d
k    r¤t          |	¦  «        dk    r‘||cxk    rdk    r„n Œ²|d         dk    |d         dk    z  sJ ‚|d         dk    rd}n |d         dk    rd}n|d         dk    rd}nd}|	d |…          t          |	¦  «        d¦  «        z   |	|d …         z   }	d|	f| |<   �Œ3�Œ5| rt          | d         d         ¦  «        nd}t          t          | ¦  «        dz
  dd¦  «        D �]”}| |dz
           \  }}| |         \  }}d }||hddhk    r1||k    r|}�nt          |¦  «        }|dk    r	|dk    rd}n÷|dk    rd}nî||fdv r|}nå||hddhk    r|}nØd
|dd …         cxk    r|dd …         k    r»n n¸|d d…         \  }}|d d…         \  }}|dk    s|dk    s||cxk    rdk    rn nŒÆt          ||¦  «        }|€ŒÙ|dk    rt          ||¦  «        }|€Œòd|z   d
z   }nL|dk    r*t          |t          |¦  «        ¦  «        }|€�Œ"|dz   d
z   }nt          ||¦  «        }|€�Œ?||z   d
z   }t          |¦  «        }t          |t          |¦  «        |z   ¦  «        } |r| |k     r|||z   f| |dz
  <   | |= | }�Œ’|}�Œ–t          t          | ¦  «        ¦  «        D �]'}| |         \  }}	|dv rd|dd …         z   |	f| |<   Œ%|dd …         d
k    rô|d d…         dvrèt          |	¦  «        }|d d…         \  }!}|!dk    |dk    z  r|dz  dk    sJ ‚|!d k    rd}!|d k    rd}|!dk    r|}!|dk    rt          |!¦  «        }|!|hddhk    sJ |!|f¦   «         ‚|dz  r]|!|k    r1|!dk    |d!z  dk    z  r |	d d	…         |	dd …         z   |	d	d…         z   }	n&|!dk    r |	dd…         |	d d…         z   |	dd …         z   }	|!|z   d
z   |	f| |<   �Œ'�Œ)t          t          | ¦  «        ¦  «        D ]:}| |         \  }}	t          d"„ |	D ¦   «         ¦  «        r|t          |	¦  «        f| |<   Œ;| S )#N)r§   r   r   r   r%   >   r`   r%   rm   r*   r…   Úcurvetorp   Ú	00curvetorq   ÚlinetoÚ0lineto>   rg   rj   >   rÖ   rg   rj   r`   r´   rr   r¶   )r   rl   r‰   r‡   >   ©r`   r‰   ©rm   r‡   rj   rg   >   rÖ   Ú0movetorµ   >   ÚhhÚhvÚrrÚvhÚvvr³   rz   c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r   rJ   rK   s     r   r   z%specializeCommands.<locals>.<genexpr>>  rL   r   )r¬   rB   rQ   r-   rÉ   r·   r
   r.   rÎ   rº   r½   rÍ   rM   rÆ   )"r6   r§   ÚgeneralizeFirstÚpreserveTopologyÚmaxstackrU   Úv1Úv2rN   rD   ÚcÚc1Úargs1Úc2Úargs2Ú_Ú
other_argsrÁ   ÚprvÚnxtÚposÚstackUseÚop1Úop2Únew_oprT   Úd0Úd1Úd2Úd3ÚdÚargs1StackUseÚcombinedStackUseÚop0s"                                     r   ÚspecializeCommandsrû     s…	  € ðP ð "Ý% h¸\ÐJÑJÔJˆˆå˜‘>”>ˆõ •3�x‘=”= 1Ñ$ a¨Ñ,Ô,ð ð ˆØ˜ œ AœÐ<Ð<Ò<Ð<¨(°1°q±5¬/¸!Ô*<Ò<Ð<Ð<Ð<Ð<Ø˜a !™e”_ QÔ'¨°!¬°Q¬�ˆBàÝ˜"˜Qœ%  A¤Ñ'Ô'­°"°Q´%¸¸A¼Ñ)?Ô)?Ð@ðˆH�Q˜‘U‰Oð ˜�øõ` •3�x‘=”=Ñ!Ô!ð ð ˆØ˜A”;‰ˆˆDàÐ'Ð'Ð'Ý'¨Ñ-Ô-‰GˆAˆtØ˜b   œf™* dÐ*ˆH�Q‰KØà�ÒÐÝ)¨$¨r°¨r¬(Ñ3Ô3‰IˆB�Ý)¨$¨r¨s¨s¬)Ñ4Ô4‰IˆB�Ø˜r™' IÑ-¨u°t¸A¸a¸C´yÑ/@À5Ñ/HÐHˆH�Q‰KØð	 ð6 ñ Ý•s˜8‘}”} qÑ(¨"¨bÑ1Ô1ð 	ð 	ˆAØ ”{‰HˆB�ð �[Ò Ð Ý˜4‘y”y A’~�~�~�~Ý+¨D°°1°¬IÑ6Ô6‘��4Ø˜‘\�Ø  $˜h�˜‘ð �YŠˆØ˜Q�KØð ð 	�RÐ1Ð1Ð1°r¸XÀaÈ!Áe¼_ÈQÔ=OÒ7OÐ7OØ (¨¨Q©¤‘��:Ý˜4‘y”y A’~�~­#¨j©/¬/¸QÒ*>Ð*>Ð*>Ð*>ðÝ (¨¨a¬°*¸Q´-Ñ @Ô @ÐA�H�HøÝ!ð ð ð Ø�Hðøøøà#% x .�˜˜Q™‘Ø˜Q�KØøõ �1•c˜(‘m”m aÑ'Ñ(Ô(ð ñ ˆØ˜A”;‰ˆˆDØ˜A ™E”? 1Ô% x°°A±¤°qÔ'9ˆSˆàÐ2Ð2Ð2°s¸cÐ7NÐ7NÒ7NÐ7NÀYÒ7NÐ7NÐ7NÐ7NÐ7NÝ�t‘9”9 ’>�>�>�>Ø#% a¤5¨C¢< <�A�t˜A”w�<�<°d¸1´g¸q°\ˆDØ$ dÐ+ˆH�Q‰KØàˆaˆbˆbŒ6�YÒÐ¥3 t¡9¤9°¢> >°c¸SÐ6OÐ6OÒ6OÐ6OÀKÒ6OÐ6OÐ6OÐ6OÐ6OØ�q”E˜S’L R¨¤U¨c¢\Ñ2Ð2Ð2Ð2Ø�!Œu˜Š|ˆ|Ø��Ø�A”˜#’�Ø��Ø�A”˜#’�Ø��à�à˜˜˜”: 
¥ T¡
¤
¨4Ñ 0Ô 0Ñ0°4¸¸¸´:Ñ=ˆDØ&¨Ð-ˆH�Q‰KÙùð 2:Ð@�}˜X bœ\¨!œ_Ñ-Ô-Ð-¸q€HÝ•3�x‘=”= 1Ñ$ a¨Ñ,Ô,ð 9%ñ 9%ˆØ˜a !™e”_‰
ˆˆUØ˜a”[‰
ˆˆUØˆð �ˆ:˜) [Ð1Ò1Ð1Ø�cŠzˆzØ�‘å˜‘J”J�Ø˜+Ò%Ð%¨!¨qª&¨&Ø)�F�FØ˜!’V�VØ)�Føà�3ˆZÐSÐSÐSØˆFˆFà�3ˆZ˜I yÐ1Ò1Ð1ØˆFˆFà˜#˜a˜b˜bœ'Ð,Ð,Ò,Ð, S¨¨¨¤WÒ,Ð,Ð,Ð,Ð,Ø˜˜!˜”W‰FˆB�Ø˜˜!˜”W‰FˆB�à�SŠyˆy˜B #šI˜I¨¨r¨¨ª¨°Sª¨¨¨¨Øå   RÑ(Ô(ˆAØˆyØØ�SŠyˆyÝ$ Q¨Ñ+Ô+�Ø�9ØØ˜q™ 9Ñ,��Ø�s’�Ý% b­/¸!Ñ*<Ô*<Ñ=Ô=�Ø�:ÙØ˜c™ IÑ-��å% b¨"Ñ-Ô-�Ø�:ÙØ˜a™ )Ñ+�õ & eÑ,Ô,ˆÝ˜}­c°%©j¬j¸8Ñ.CÑDÔDÐØð 	%Ð&¨Ò1Ð1Ø% u¨u¡}Ð5ˆH�Q˜‘U‰OØ˜�Ø'ˆH‰Hà$ˆH‰Hõ •3�x‘=”=Ñ!Ô!ð "ñ "ˆØ˜A”;‰ˆˆDàÐ'Ð'Ð'Ø  1 2 2¤™,¨Ð,ˆH�Q‰KØàˆaˆbˆbŒ6�YÒÐ 2 b q b¤6Ð1OÐ#OÐ#OÝ�D‘	”	ˆAà˜"˜1˜"”v‰HˆC�Ø�s’
˜s cšzÑ*ð "Ø˜1‘u ’z�z�z�zØ�cŠzˆzØ�Ø�cŠzˆzØ�Ø�cŠzˆzØ�Ø�cŠzˆzÝ% cÑ*Ô*�Ø˜�: # s Ò+Ð+Ð+¨c°3¨ZÑ+Ô+Ð+à�1‰uð ?Ø˜#’:�:Ø˜sš
 q¨1¡u°¢zÑ2ð Cà# C R Cœy¨4°°°¬9Ñ4°t¸B¸r¸E´{ÑB˜øà˜c’z�zà# A a Cœy¨4°°°¬8Ñ3°d¸1¸2¸2´hÑ>˜à ™) iÑ/°Ð5ˆH�Q‰KÙùõ •3�x‘=”=Ñ!Ô!ð 8ð 8ˆØ˜A”;‰ˆˆDÝÐ5Ð5°Ð5Ñ5Ô5Ñ5Ô5ð 	8ØÕ1°$Ñ7Ô7Ð7ˆH�Q‰Køà€Os   ÉI*É*
I7É6I7c                 óR   — t          t          t          | |¦  «        fi |¤Ž¦  «        S r   )rO   rû   r@   r®   s      r   ÚspecializeProgramrý   D  r±   r   Ú__main__r   zfonttools cffLib.specializerz&CFF CharString generalizer/specializer)Údescriptionr   r«   Ú*z	Commands.)ÚmetavarÚnargsÚhelpz--num-regionsÚ
NumRegionsz5Number of variable-font regions for blend opertaions.)r  r  Údefaultr  z--fontÚFONTFILEzCFF2 font to specialize.)r  r  r  z-oz--output-filezOutput font file name.)r.   r  c                 óH   — t          t          j        | €dn|          ¦  «        S )Nr   )r	   ÚoptionsÚnum_regions)r3   s    r   ú<lambda>r
  s  s#   € ¥ÝÔ#¨¨ A A¸gÔFñ"ô "€ r   zProgram:z	Commands:zProgram from commands:zGeneralized program:zSpecialized program:)ÚTTFontÚCFF2)râ   )ÚmakeOutputFileNamez.specialized)Ú	overWriteÚsuffixÚSavingr   )F)FTFrÑ   )=Ú__doc__ÚfontTools.cffLibr   r   r   r@   rG   rO   rV   ÚobjectrX   r”   r¬   r°   r·   rº   r½   rÆ   rÉ   rÎ   rû   rý   rŠ   Úsysr-   ÚargvÚdoctestÚexitÚtestmodÚfailedÚargparseÚArgumentParserÚparserÚadd_argumentr   Ú
parse_argsr  r   r	  r1   Úprintr6   Úprogram2ÚfontÚfontTools.ttLibr  ÚcffÚtopDictIndexÚcff2ÚCharStringsÚcharstringsÚkeysÚ	glyphNameÚ
charstringÚ	decompileÚprivateÚoutput_fileÚfontTools.misc.cliToolsr  ÚoutfileÚsaverŽ   r   r   ú<module>r1     se  ððð ð +Ð *Ð *Ð *Ð *Ð *ðð ð ð -ð -ð -ðYð Yð Yð Yðxð ð ð
ð 
ð 
ðð ð ðS'ð S'ð S'ð S'ð S'¨ñ S'ô S'ð S'ðl'ð 'ð 'ðT&ð &ð &ð &ðRð ð ð ðð ð ð6ð ð ðð ð ð7ð 7ð 7ðtð ð ð
!ð 
!ð 
!ð ØØØðkð kð kð kð\	ð ð ð ð ˆzÒÑØ€J€J€Jà
€sˆ3Œ8�}„}˜ÒÐØˆˆˆàˆŒ��”Ñ"Ô"Ô)Ñ*Ô*Ð*à€O€O€Oà$ˆXÔ$Ø&Ø<ðñ ô €Fð ×Ò˜	¨9¸CÀkÐÑRÔRÐRØ
×ÒØØØØØDð ñ ô ð ð ×ÒØØØØ'ð	 ñ ô ð ð ×ÒØØØØ%ð	 ñ ô ð ð ×Ò ¤¨¨¨¤Ñ-Ô-€Gà„ð Jð Ô"Ð*ð ˆDðð ð 	ð "�/ '¤/Ñ2Ô2ˆØˆˆjÑÔÐØˆˆoˆo˜gÑ&Ô&Ñ'Ô'Ð'Ø$Ð$ W¨mÑ<Ô<ˆØˆˆkÑÔÐØˆˆh‰ŒˆØ$Ð$ XÑ.Ô.ˆØˆÐ&Ñ'Ô'Ð'Øˆˆoˆo˜hÑ'Ô'Ñ(Ô(Ð(Ø˜(Ò"Ð"Ð"Ð"ØˆÐ$Ñ%Ô%Ð%ØˆˆoˆoÐ/Ð/°¸ÑGÔGÑHÔHÑIÔIÐIØˆÐ$Ñ%Ô%Ð%ØˆˆoˆoÐ/Ð/°¸ÑGÔGÑHÔHÑIÔIÐIà„|ð Ø*Ð*Ð*Ð*Ð*Ð*àˆv�g”lÑ#Ô#ˆØ�FŒ|ÔÔ,¨QÔ/ˆØÔ&ˆØ$×)Ò)Ñ+Ô+ð 	ð 	ˆIØ$ YÔ/ˆJØ× Ò Ñ"Ô"Ð"Ø&Ô.Ô<ˆMØ!2Ð!2ØÔ" M¸Mð"ñ "ô "ˆJÔÐð ÔÐ&ØBÐBÐBÐBÐBÐBà(Ð(Ø”¨°^ðñ ô ˆGˆGð Ô)ˆGØð 	ØˆE�(˜GÑ$Ô$Ð$Ø�IŠI�gÑÔÐÐÐðk Ððzð ð,	ð 	r   