U
    -yagv  ã                   @   s  d Z dZddlmZ ddlT ddlT ddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZ ddlZdd	lmZmZmZ edd
dddddddddddddddddddddd d!d"d#d$d%ƒZd&ZG d'd(„ d(eƒZG d)d*„ d*eƒZd+d,„ Zd-d.„ Zed/k�reƒ  dS )0z3.3.0aÂ  This file is a collection of flag graphics as widgets.

All flags are represented at the ratio of 1:2, even where the official ratio for the flag is something else
(such as 3:5 for the German national flag). The only exceptions are for where this would look _very_ wrong,
such as the Danish flag whose (ratio is 28:37), or the Swiss flag (which is square).

Unless otherwise stated, these flags are all the 'national flags' of the countries, rather than their
state flags, naval flags, ensigns or any other variants. (National flags are the flag flown by civilians
of a country and the ones usually used to represent a country abroad. State flags are the variants used by
the government and by diplomatic missions overseas).

To check on how close these are to the 'official' representations of flags, check the World Flag Database at
http://www.flags.ndirect.co.uk/

The flags this file contains are:

EU Members:
United Kingdom, Austria, Belgium, Denmark, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg,
Holland (The Netherlands), Spain, Sweden

Others:
USA, Czech Republic, European Union, Switzerland, Turkey, Brazil

(Brazilian flag contributed by Publio da Costa Melo [publio@planetarium.com.br]).
é    )Úcolors)Ú*)ÚLineÚRectÚPolygonÚDrawingÚGroupÚStringÚCircleÚWedge)Ú	renderPDF)Ú_SymbolN)ÚsinÚcosÚpiÚUKÚUSAÚAfghanistanÚAustriaÚBelgiumZChinaÚCubaÚDenmarkÚFinlandÚFranceÚGermanyÚGreeceÚIrelandÚItalyZJapanÚ
LuxembourgÚHollandÚ	PalestineÚPortugalZRussiaÚSpainÚSwedenÚNorwayÚCzechRepublicÚTurkeyÚSwitzerlandÚEUÚBrazilç      Y@c                   @   s@   e Zd ZdZeeeedd�d�ZdZ	dd„ Z
dd	„ Zd
d„ ZdS )ÚStarzyThis draws a 5-pointed star.

        possible attributes:
        'x', 'y', 'size', 'fillColor', 'strokeColor'

        zangle in degrees©Údesc)ÚBASEÚangler*   c                 C   s(   t  | ¡ d| _tj| _d | _d| _d S )Néd   r   )r   Ú__init__Úsizer   ÚyellowÚ	fillColorÚstrokeColorr/   ©Úself© r8   úT/var/www/html/myvenv/lib/python3.8/site-packages/reportlab/graphics/widgets/flags.pyr1   W   s
    
zStar.__init__c              
   C   sd   t ddƒ}tƒ }d|_d|_| |¡ d}| t|j|jd  |jd|  |jjt	j
d|d	�¡ |S )
NéÈ   r0   é2   r   é
   ç       @ç333333ó?Úmiddle©r4   Ú
textAnchorÚfontSize)r   r+   ÚxÚyÚaddr	   r2   Ú	__class__Ú__name__r   Úblack)r7   ÚDÚetÚlabelFontSizer8   r8   r9   Údemo^   s    

   þz	Star.democ                 C   sì   t | jƒ}tƒ }t | jƒd }|tdtd  ƒ tdtd  ƒ }g }d}tdƒD ]J}||fD ]<}|td  }	| |t|	ƒ ¡ | |t|	ƒ ¡ |d }q^qRt|| j	| j
|d d�}
| | j¡ | | j| j | j| j ¡ | |
¡ |S )	Né   é   g     €f@é$   éZ   é   r;   ©r4   r5   ÚstrokeWidth)Úfloatr2   r   r   r   r   ÚrangeÚappendr   r4   r5   Úrotater/   ÚshiftrC   ÚdxrD   ÚdyrE   )r7   ÚsÚgÚRÚrÚPr/   ÚiÚradiusÚthetaÚstarr8   r8   r9   Údrawj   s*    
$ý
z	Star.drawN)rG   Ú
__module__Ú__qualname__Ú__doc__ÚAttrMapr   ÚAttrMapValueZisNumberÚ_attrMapÚ_sizer1   rL   rd   r8   r8   r8   r9   r+   K   s   
ÿr+   c                   @   sR  e Zd ZdZeeeedd�eedƒee	dd�d�Z
i Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Z d1d2„ Z!d3d4„ Z"d5d6„ Z#d7d8„ Z$d9d:„ Z%d;d<„ Z&d=d>„ Z'd?d@„ Z(dAdB„ Z)dCdD„ Z*dEdF„ Z+dGdH„ Z,dIdJ„ Z-dKdL„ Z.dMS )NÚFlaga   This is a generic flag class that all the flags in this file use as a basis.

        This class basically provides edges and a tidy-up routine to hide any bits of
        line that overlap the 'outside' of the flag

        possible attributes:
        'x', 'y', 'size', 'fillColor'
    zBackground colorr,   zWhether a background is drawnz
Which flag)r.   r4   ÚborderÚkindc                 K   s2   t  | ¡ d | _d| _tj| _d| _|  |¡ d S )Nr0   é   )	r   r1   rn   r2   r   Úwhiter4   rm   ZsetProperties)r7   Úkwr8   r8   r9   r1   –   s    
zFlag.__init__c                 C   s   dd„ | j d jjD ƒS )z*return a list of the things we can displayc                 S   s   g | ]}|d k	r|‘qS ©Nr8   )Ú.0rC   r8   r8   r9   Ú
<listcomp>    s      z+Flag.availableFlagNames.<locals>.<listcomp>rn   )rj   ÚvalidateZ_enumr6   r8   r8   r9   ÚavailableFlagNamesž   s    zFlag.availableFlagNamesc                 C   s2   t }tƒ }| tdd|d |tjtjdd�¡ |S )Nr   rM   rR   )rk   r   rE   r   r   ÚpurplerH   ©r7   r[   r\   r8   r8   r9   Ú
_Flag_None¢   s    $zFlag._Flag_Nonec                 C   s¬   | j }tƒ }| |¡ | j| j | j| j | jd   }}}| dt	| | t
| dd| ƒd|  t
| d|ƒd|  d | j|d d�¡ | ||¡ | |t |t ¡ |S )Nr=   r   Ú_widthrM   é   Ú_height©ÚwidthÚheightr4   r5   rS   )r2   r   rE   rC   rY   rD   rZ   rS   Úinsertr   Úgetattrr5   rX   Úscalerk   )r7   Úfr[   r\   rC   rD   ZsWr8   r8   r9   Ú_borderDraw¨   s    
&8  ÿzFlag._borderDrawc                 C   sB   | j pd}| j |¡}|s8t| d| ƒƒ }| ¡ | j|< |  |¡S )NÚNoneZ_Flag_)rn   Ú_cacheÚgetr�   Z_exploder„   )r7   rn   rƒ   r8   r8   r9   rd   ³   s    
z	Flag.drawc                 C   s
   t   | ¡S rr   )Úcopyr6   r8   r8   r9   Úclone»   s    z
Flag.clonec                 C   sÎ   t ddƒ}|  ¡ }dd l}|t| ¡ ƒt|ƒ  }tƒ }||_d|_d|_| 	|¡ d}| 	t
|j|jd  |jd|  |tjd|d�¡ t|jd	 ƒ}| 	t
|j|j |j|jd  d
tjd|dd�¡ |S )Nr:   r0   r   r<   r=   r>   r?   r@   ç      @ZSAMPLEúHelvetica-Bold)r4   rA   rB   ÚfontName)r   rv   ÚtimeÚintÚlenrl   rn   rC   rD   rE   r	   r2   r   rH   Úgold)r7   rI   Únamer�   ZfxrK   r8   r8   r9   rL   ¾   s2    

   þ   þz	Flag.democ                 C   sž  t }tƒ }|d }| tdd||tjtjdd�¡ | tdd|d d||d ||||d  |d|d gtjd dd�¡ | td|d d||d |||d |d||d  dgtjd dd�¡ | td||d  ||d d	  |d
 ||d d  |d
 d|gtj	d dd�¡ | tdd||d d  |d ||d d  |d |d dgtj	d dd�¡ | t||||d d  |d
 ||d d  |d
 ||d  |gtj	d dd�¡ | t||d ||d d	  |d ||d d  |d |dgtj	d dd�¡ | t|d d dd| d |tjd dd�¡ | td|d ||d tjd dd�¡ | t|d d dd| d |tj	d dd�¡ | td|d ||d tj	d dd�¡ |S )NrM   r   rR   çÍÌÌÌÌÌÌ?gffffffì?gÍÌÌÌÌÌ¼?g      .@ç      $@é   gÍÌÌÌÌÌä?r{   çffffffÖ?gáz®GáÚ?g{®GázÄ?r}   ç333333Ó?çÍÌÌÌÌÌÜ?çš™™™™™¹?çš™™™™™Ù?çš™™™™™É?)
rk   r   rE   r   r   ÚnavyrH   r   Ú	mintcreamÚred©r7   r[   r\   Úwr8   r8   r9   Ú_Flag_UKÒ   s     DDPLPL.&.&zFlag._Flag_UKc              
   C   sÜ  t }tƒ }tdd|d |tjtjdd�}| |¡ tdddƒD ]R}|d }|d dks^tj}ntj}td|||  |d ||d dd�}| |¡ q>td||d	  d
| |d	 tj	d dd�}| |¡ |d }	|	d }
|d }|d }tdƒD ]h}tdƒD ]Z}t
ƒ }|	|_d|d  |	d  | ||  |_tj|_||d |  |
 |_| |¡ qøqìtdƒD ]x}tdƒD ]h}t
ƒ }|	|_d|d  |	d  |d  ||  |_tj|_||d |  |d  |
 |_| |¡ �qj�q^|S )Nr   rM   rR   é   éÿÿÿÿg      *@é   r}   é   gš™™™™™é?g
×£p=
§?r=   ç      "@g      @rQ   r”   g      6@ro   é   ç      ,@g      2@)rk   r   r   r   rœ   rH   rE   rU   r�   Údarkbluer+   r2   rC   r4   rD   )r7   r[   r\   ÚboxÚstripecounterÚstripeheightÚstripecolorZredorwhitelineÚblueboxZlssZlss2Zs9Zs7ZstarxcounterZstarycounterZlsr8   r8   r9   Ú	_Flag_USAã   sT    
  ÿ  ÿ
"&zFlag._Flag_USAc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ |S ©Nr   rM   rR   ç      @r=   r}   )rk   r   r   r   rœ   rH   rE   Ú	limegreen)r7   r[   r\   r©   ÚgreenboxÚblackboxr8   r8   r9   Ú_Flag_Afghanistan  s*      ÿ
  ÿ
  ÿ
zFlag._Flag_Afghanistanc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d |d tjd dd�}| |¡ td|d d |d |d tjd dd�}| |¡ |S ©Nr   rM   rR   r=   r°   r}   )rk   r   r   r   rœ   rH   rE   r�   )r7   r[   r\   r©   Úredbox1Zredbox2r8   r8   r9   Ú_Flag_Austria   s(     ÿ
  ÿ
  ÿ
zFlag._Flag_Austriac              	   C   sÄ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ |S ©Nr   rM   rR   r°   r=   r}   rŠ   )rk   r   r   r   rH   rE   r�   r�   )r7   r[   r\   r©   Úbox1Úbox2Zbox3r8   r8   r9   Ú_Flag_Belgium2  s6      ÿ
  ÿ
  ÿ
  ÿ
zFlag._Flag_Belgiumc                 C   sš   t }tƒ }|d  | _}| tdd||tjd dd�¡ ||d d|d fdd„}|ddd	dƒ |d
dddƒ |dd	ddƒ |ddddƒ |d
dddƒ |S )Nç      ø?r   rR   g      4@r=   c           	      S   sL   t ƒ }tj|_||_|| d |_| | | |_|| | |_| |¡ d S )NrM   )	r+   r   r3   r4   r/   r2   rC   rD   rE   )	rC   rD   r2   r/   r\   rŸ   Zx0Zy0r[   r8   r8   r9   ÚaddStarN  s    z!Flag._Flag_China.<locals>.addStarrQ   r{   r<   ro   gÏbÎXoB@é   g‘~ ô)m @r¦   g ì’'ÿ™0@é   gþ0�1§�J@)rk   r   rz   rE   r   r   r�   )r7   r[   r\   rŸ   r½   r8   r8   r9   Ú_Flag_ChinaH  s    	zFlag._Flag_Chinac              
   C   sô   t }tƒ }tdƒD ]D}td|| d |d |d tjtjg|d  d dd�}| |¡ qtddd| d |d d|gtj	d dd�}| |¡ t
ƒ }d	| d
 |_|d |_d| d
 |_tj|_| |¡ tdd|d |d tjdd�}| |¡ |S )NrQ   r   ç      @rM   r}   r”   r=   ©Zpointsr4   r5   rS   ç      @r“   r{   rR   )rk   r   rU   r   r   r¨   rœ   rE   r   r�   r+   rC   rD   r2   rp   r4   rH   )r7   r[   r\   r`   ZstripeÚredwedgerc   r©   r8   r8   r9   Ú
_Flag_Cuba^  s8    ý  ÿ


ý
zFlag._Flag_Cubac              	   C   s    t }tƒ }|d  | _}tdd||tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d |d	  ||d tjd dd�}| |¡ |S ©
Nçffffffö?r   rR   rÁ   rM   g      @r}   r=   g      (@)	rk   r   rz   r   r   r�   rH   rE   rœ   )r7   r[   r\   rŸ   r©   Z	whitebox1Z	whitebox2r8   r8   r9   Ú_Flag_Denmark|  s,    
  ÿ
  ÿ
  ÿ
zFlag._Flag_Denmarkc              	   C   sŽ   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d dd| |tjd dd�}| |¡ td|d |d |d tjd dd�}| |¡ |S )Nr   rM   rR   g333333ã?r–   r}   r™   )rk   r   r   r   Ú
ghostwhiterH   rE   r¨   )r7   r[   r\   r©   Ú	blueline1Ú	blueline2r8   r8   r9   Ú_Flag_FinlandŽ  s*      ÿ
  ÿ
  ÿ
zFlag._Flag_Finlandc              	   C   sÄ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ t|d d d|d d |tj	d dd�}| |¡ |S r¸   )
rk   r   r   r   r›   rH   rE   Úbluerœ   r�   )r7   r[   r\   r©   r­   ÚwhiteboxÚredboxr8   r8   r9   Ú_Flag_France   s.    
  ÿ
  ÿ
ý
zFlag._Flag_Francec              	   C   s–   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ td|d |d |d tjd dd�}| |¡ |S r¯   )rk   r   r   r   r�   rH   rE   Z	orangered)r7   r[   r\   r©   Z	blackbox1r¶   r8   r8   r9   Ú_Flag_Germany¶  s*      ÿ
  ÿ
  ÿ
zFlag._Flag_Germanyc              
   C   s(  t }tƒ }tdd|d |tjtjdd�}| |¡ tdddƒD ]R}|d }|d dks^tj}ntj	}td|||  |d ||d dd�}| |¡ q>td||d	  |d	 |d	 tjd dd�}| |¡ td||d
  |d	 |tj	d dd�}	| |	¡ t|d ||d	  ||d	 tj	d dd�}
| |
¡ |S )Nr   rM   rR   é	   r¢   r¥   r£   r}   rQ   r{   )
rk   r   r   r   r�   rH   rE   rU   Zdeepskybluerœ   )r7   r[   r\   r©   rª   r«   r¬   ZblueorwhitelineZbluebox1Ú
whiteline1Ú
whiteline2r8   r8   r9   Ú_Flag_GreeceÇ  sJ     ÿ
  ÿ  ÿ
  ÿ
  ÿ
zFlag._Flag_Greecec              	   C   s¢   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d d dd|d  d |tjd dd�}| |¡ td|d  d d|d d |tjd dd�}| |¡ |S rµ   )	rk   r   r   r   ÚforestgreenrH   rE   rœ   Z
darkorange)r7   r[   r\   r©   rÎ   Z	orangeboxr8   r8   r9   Ú_Flag_Irelandè  s*      ÿ
  ÿ
  ÿ
zFlag._Flag_Irelandc                 C   sŒ   t }tƒ }| tdd|d |tjd dd�¡ | td| d d|d d |tjd dd�¡ | td| d d|d d |tjd dd�¡ |S )Nr   rM   rR   r°   r”   r}   )rk   r   rE   r   r   rÖ   rœ   r�   rx   r8   r8   r9   Ú_Flag_Italyù  s    "..zFlag._Flag_Italyc                 C   sb   t }tƒ }|d  }| _| tdd||tjd dd�¡ | t|d |d d| tjd dd�¡ |S )Nr¼   r   rR   r=   r–   ©ZcxÚcyr^   r4   r5   rS   )	rk   r   rz   rE   r   r   rœ   r
   r�   rž   r8   r8   r9   Ú_Flag_Japan  s    (zFlag._Flag_Japanc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ |S r¯   )	rk   r   r   r   rœ   rH   rE   r�   Ú
dodgerblue©r7   r[   r\   r©   rÏ   r­   r8   r8   r9   Ú_Flag_Luxembourg	  s*      ÿ
  ÿ
  ÿ
zFlag._Flag_Luxembourgc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ |S r¯   )	rk   r   r   r   rœ   rH   rE   r�   r¨   rÝ   r8   r8   r9   Ú_Flag_Holland  s*      ÿ
  ÿ
  ÿ
zFlag._Flag_Hollandc                 C   s   t ƒ S rr   )r   r6   r8   r8   r9   Ú_Flag_Portugal+  s    zFlag._Flag_Portugalc                 C   s‚   t }tƒ }|d  }| _|d }| tdd||tjd dd�¡ | td|||tjd dd�¡ | tdd| ||tjd dd�¡ |S )Nr¼   r°   r   r}   rM   )	rk   r   rz   rE   r   r   r�   rÍ   rœ   )r7   r[   r\   rŸ   Útr8   r8   r9   Ú_Flag_Russia.  s    "zFlag._Flag_Russiac                 C   s`   t }tƒ }|d  }| _| tdd||tjd dd�¡ | td|d ||d tjd dd�¡ |S )Nr¼   r   r}   rŠ   r=   )rk   r   rz   rE   r   r   r�   r3   rž   r8   r8   r9   Ú_Flag_Spain8  s    &zFlag._Flag_Spainc              	   C   s    t }tƒ }|d | _tdd| j|tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d |d	  | j|d tjd dd�}| |¡ |S rÆ   )	rk   r   rz   r   r   rÜ   rH   rE   r�   )r7   r[   r\   r©   r¹   rº   r8   r8   r9   Ú_Flag_Sweden@  s,    
  ÿ
  ÿ
ý
zFlag._Flag_Swedenc              	   C   s  t }tƒ }|d | _tdd| j|tjtjdd�}| |¡ tdd| j|tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d | j|d tjd dd�}| |¡ t|d d dd	| |tj	d dd�}| |¡ td|d
 | j|d	 tj	d dd�}| |¡ |S )NrÇ   r   rR   rš   rM   r}   r™   r’   r˜   r—   )
rk   r   rz   r   r   r�   rH   rE   rÉ   r¨   )r7   r[   r\   r©   rÓ   rÔ   rÊ   rË   r8   r8   r9   Ú_Flag_NorwayS  sP    
  ÿ
  ÿ
  ÿ
  ÿ
  ÿ
  ÿ
zFlag._Flag_Norwayc              	   C   sŒ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d |d tjd dd�}| |¡ tdd||d d|gtj	d dd�}| |¡ |S )Nr   rM   rR   r=   r}   rÂ   )
rk   r   r   r   rœ   rH   rE   r�   r   r¨   )r7   r[   r\   r©   rÏ   Z	bluewedger8   r8   r9   Ú_Flag_CzechRepublicq  s*    ý
ý
  ÿ
zFlag._Flag_CzechRepublicc              	   C   sÌ   t }tƒ }td|d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ tdd| d |d |d tjd dd�}| |¡ tddd| d |d d|gtj	d dd�}| |¡ |S )Nr   r°   rM   rR   r}   r=   rÂ   )
rk   r   r   r   rœ   rE   r±   rH   r   r�   )r7   r[   r\   r©   r²   r³   rÄ   r8   r8   r9   Ú_Flag_Palestine…  s6    ý
ý
ý
  ÿ
zFlag._Flag_Palestinec              	   C   sæ   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d d |d |d tjd dd�}| |¡ t|d d |d |d	 tjd dd�}| |¡ t	ƒ }d
|_
|d |_|d d |jd  |_|d |_tj|_d |_| |¡ |S )Nr   rM   rR   r•   r=   r–   rÙ   gö(\�ÂõØ?g¸…ëQ¸Î?é   rÁ   ç      à?)rk   r   r   r   r�   rH   rE   r
   rœ   r+   r/   r2   rC   rD   r4   r5   )r7   r[   r\   r©   ZwhitecircleZ	redcircleÚwsr8   r8   r9   Ú_Flag_TurkeyŸ  s:    ý
ý
ý



zFlag._Flag_Turkeyc                 C   s¤   t }tƒ }|| _| tdd||tjtjdd�¡ | t|d |d |d ||d  tj	tj	|d d�¡ | t|d |d ||d  |d tj	tj	|d d�¡ |S )Nr   rR   r=   g      @rM   rÁ   )
rk   r   rz   rE   r   r   r�   rH   r   rœ   rx   r8   r8   r9   Ú_Flag_Switzerland¿  s     "  ÿ"  ÿzFlag._Flag_Switzerlandc                 C   sÆ   t }tƒ }d|  }| _| tdd||tjd dd�¡ |d }|d }|d }|}|}d}	dt |	 }
t|	ƒD ]R}||
 }t	ƒ }t
|ƒ| | |_t|ƒ| | |_|d |_tj|_| |¡ qn|S )	Nr¼   r   rR   r=   r°   r¾   rM   r“   )rk   r   rz   rE   r   r   r¨   r   rU   r+   r   rC   r   rD   r2   r�   r4   )r7   r[   r\   rŸ   ÚcenterxÚcenteryra   ZyradiusZxradiusZnStarsÚdeltar`   ÚradÚgsr8   r8   r9   Ú_Flag_EUË  s(    
zFlag._Flag_EUc                 C   s  t }tƒ }|d }|d  | _}||||fdd„}| tdd||tjd dd�¡ | td| |d |d |d|  |d|  |d |d d| gtjd dd	�¡ | t	|d |d d
| tj
d dd�¡ | t|d d|  dd| ddd| tjd dd�	¡ | t|d |d d| ddd| tjd dd�	¡ | t|d d|  dd| ddd| tj
d dd�	¡ | tdd||d d|  tjd dd�¡ | td| |d |d |d d|  |d|  |d |d d| gtjd dd	�¡ | t|d |d d| ddd| tj
d dd�	¡ |dd
dƒ |dddƒ |dddƒ |d d!dƒ |dd"dƒ |d#d$dƒ |d$d%d&ƒ |dd'd&ƒ |d(d)d&ƒ |d*d+d&ƒ |d,d-d&ƒ |d.d/d&ƒ |d#d"d&ƒ |d!d0d&ƒ |d1d2d&ƒ |d3d4d5ƒ |dd!d5ƒ |d6d!d5ƒ |d,dd5ƒ |d,d!d5ƒ |d7d!d5ƒ |d8d0d5ƒ |d9d:d5ƒ |d;d0d<ƒ |d=d>d<ƒ |dd?d@ƒ dA}t|ƒ}dB| }dC| }	|d d|  }
d}t|ƒD ]Š}dt ||  dD }t|ƒ|	 |
 }t|ƒ|	 | }|d7k�rÒdE| }ndF| }tt|||| dG|d tjdH�ƒ}| |¡ | |¡ �q†|S )INr§   r£   c                 S   sR   t ƒ }tj|_|| |_|d | d|   |_|d |d|   |_| |¡ d S )Nr=   r•   )r+   r   rœ   r4   r2   rC   rD   rE   )rC   rD   r2   r\   rŸ   r[   ÚmÚstr8   r8   r9   r½   é  s    
z"Flag._Flag_Brazil.<locals>.addStarr   rR   g333333û?r=   rÂ   g      @rÙ   rM   g      !@r;   gfffff†X@g5^ºI@éœ   i`  r¿   gÍÌÌÌÌH@r0   rŠ   gj¼t“@é¦   gš™™™™au@gš™™™™™	@r–   g      !Àr¼   g      Àéýÿÿÿéüÿÿÿg      Àg      Àr¤   g      Àg      à¿g      Ð?g      ø¿ro   g      Àr{   iùÿÿÿrQ   g      Àg      @éûÿÿÿgš™™™™™	ÀiúÿÿÿgÍÌÌÌÌÌÀr¢   g      Àrš   r”   r¦   gš™™™™™!ÀrÃ   ré   gš™™™™™É¿gìQ¸…ëÁ?gÍÌÌÌÌÌÀéþÿÿÿiøÿÿÿr˜   zORDEM E PROGRESSOg:ÓI›%:ë?gš™™™™™@gþGe×@n@r•   r—   r‹   )rŒ   rB   r5   r4   )rk   r   rz   rE   r   r   Úgreenr   r3   r
   rÍ   r   rœ   r�   rU   r   r   r   r	   rW   )r7   r[   r\   ró   rŸ   r½   ZsTmpZnTmprï   ra   rí   rî   r`   rð   rC   rD   ÚzÚg2r8   r8   r9   Ú_Flag_Brazilâ  sº    @  ÿ  ÿ&  ÿ"  ÿ&  ÿ  ÿD  ÿ"  ÿ

  ÿ
zFlag._Flag_BrazilN)/rG   re   rf   rg   rh   r   ri   ZisColorZ	isBooleanÚ	validFlagrj   r†   r1   rv   ry   r„   rd   r‰   rL   r    r®   r´   r·   r»   rÀ   rÅ   rÈ   rÌ   rÐ   rÑ   rÕ   r×   rØ   rÛ   rÞ   rß   rà   râ   rã   rä   rå   ræ   rç   rë   rì   rò   rþ   r8   r8   r8   r9   rl   „   sT   	

ý,!
 rl   c                 C   s   t ƒ }| |_|S rr   )rl   rn   )r‘   Úflagr8   r8   r9   ÚmakeFlag2  s    r  c            
      C   s"  d} d}ddddddd	d
dddddddddddddddddg}d }}d}d}|D ]Ê}|sdt dd ƒ}t|ƒ}| |¡}	||	d!  |_||_| |¡ | t|j|jd"  |jd#|   |tj	d$| d%�¡ |	d! rÖ|d& }|	d! ræ|dk sò||d' krRt
 |d(| d)|d*  ¡ |}|d* }d}qRdS )+zfThis function produces three pdf files with examples of all the signs and symbols from this file.
    r<   )r£   éõ   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   i  r   NiÂ  iŠ  rM   r=   r>   r?   r@   é}   r¢   zflags%02d.pdfzflags.py - Page #%dro   )r   r  ÚindexrC   rD   rE   r	   r2   r   rH   r   Z
drawToFile)
rK   ÚXÚflagsrD   ZY0rƒ   rI   r‘   r   r`   r8   r8   r9   Útest7  sh    ç 


    ÿ r  Ú__main__) Ú__version__rg   Zreportlab.libr   Zreportlab.lib.validatorsZreportlab.lib.attrmapZreportlab.graphics.shapesr   r   r   r   r   r	   r
   r   Zreportlab.graphicsr   Z*reportlab.graphics.widgets.signsandsymbolsr   rˆ   Úmathr   r   r   ZOneOfrÿ   rk   r+   rl   r  r  rG   r8   r8   r8   r9   Ú<module>   sf   (ä9     37
