§
    ¤”j�D  ã                   óÜ   — d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ  ed	ej        d
z   ¦  «        Z ed¦  «        Zd„ Z G d„ d¦  «        Z G d„ de¦  «        ZdS )é    )Ú
namedtupleN)ÚDatabaseError)ÚBaseDatabaseIntrospection)Ú	FieldInfo©Ú	TableInfo)ÚIndex)Ú_lazy_re_compiler   )ÚpkÚhas_json_constraintz&^\s*(?:var)?char\s*\(\s*(\d+)\s*\)\s*$c                 óh   — t                                | ¦  «        }|rt          |d         ¦  «        ndS )z6Extract the size number from a "varchar(11)" type nameé   N)Úfield_size_reÚsearchÚint)ÚnameÚms     úw/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/django/db/backends/sqlite3/introspection.pyÚget_field_sizer      s.   € å×Ò˜TÑ"Ô"€AØÐ#�3ˆq�Œt‰9Œ9ˆ9˜tÐ#ó    c                   óˆ   — e Zd Zi 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!œ¥Zd"„ Zd#S )$ÚFlexibleFieldLookupDictÚboolÚBooleanFieldÚbooleanÚsmallintÚSmallIntegerFieldzsmallint unsignedÚPositiveSmallIntegerFieldÚsmallintegerr   ÚIntegerFieldÚintegerÚbigintÚBigIntegerFieldzinteger unsignedÚPositiveIntegerFieldzbigint unsignedÚPositiveBigIntegerFieldÚdecimalÚDecimalFieldÚrealÚ
FloatFieldÚtextÚ	TextFieldÚcharÚ	CharFieldÚvarcharÚblobÚBinaryFieldÚdateÚ	DateFieldÚDateTimeFieldÚ	TimeField)ÚdatetimeÚtimec                 óœ   — |                      ¦   «                              dd¦  «        d                              ¦   «         }| j        |         S )Nú(r   r   )ÚlowerÚsplitÚstripÚbase_data_types_reverse)ÚselfÚkeys     r   Ú__getitem__z#FlexibleFieldLookupDict.__getitem__6   s>   € Ø�iŠi‰kŒk×Ò  QÑ'Ô'¨Ô*×0Ò0Ñ2Ô2ˆØÔ+¨CÔ0Ð0r   N)Ú__name__Ú
__module__Ú__qualname__r<   r?   © r   r   r   r      s  € € € € € ðØ�ðà�>ðð 	Ð'ðð 	Ð8ð	ð
 	Ð+ðð 	ˆ~ðð 	�>ðð 	Ð#ðð 	Ð2ðð 	Ð4ðð 	�>ðð 	�ðð 	�ðð 	�ðð 	�;ðð  	�ð!ð" 	�ð#ð$ $Øð'ð ð Ðð,1ð 1ð 1ð 1ð 1r   r   c                   óp   ‡ — e Zd Z e¦   «         Zˆ fd„Zd„ Zd„ Zdd„Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zˆ xZS )ÚDatabaseIntrospectionc                 óx   •— t          ¦   «                              ||¦  «        }|j        r|dv rdS |j        rdS |S )N>   r    r#   r   Ú	AutoFieldÚ	JSONField)ÚsuperÚget_field_typer   r   )r=   Ú	data_typeÚdescriptionÚ
field_typeÚ	__class__s       €r   rJ   z$DatabaseIntrospection.get_field_type>   sT   ø€ Ý‘W”W×+Ò+¨I°{ÑCÔCˆ
ØŒ>ð 	˜jð -
ð 
ð 
ð �;ØÔ*ð 	Ø�;ØÐr   c                 óh   — |                      d¦  «         d„ |                     ¦   «         D ¦   «         S )z>Return a list of table and view names in the current database.z–
            SELECT name, type FROM sqlite_master
            WHERE type in ('table', 'view') AND NOT name='sqlite_sequence'
            ORDER BY namec                 óR   — g | ]$}t          |d          |d         d          ¦  «        ‘Œ%S )r   r   r   )Ú.0Úrows     r   ú
<listcomp>z8DatabaseIntrospection.get_table_list.<locals>.<listcomp>V   s.   € ÐJÐJÐJ°•	˜#˜aœ& # a¤&¨¤)Ñ,Ô,ÐJÐJÐJr   )ÚexecuteÚfetchall)r=   Úcursors     r   Úget_table_listz$DatabaseIntrospection.get_table_listL   s@   € ð 	�Šðñ	
ô 	
ð 	
ð KÐJ¸¿ºÑ8IÔ8IÐJÑJÔJÐJr   c                 óð  ‡‡	— |                      d| j        j                             |¦  «        z  ¦  «         |                     ¦   «         }|st          d|› d�¦  «        ‚|                      ||¦  «        Št          ¦   «         Š	| j        j        j	        rS|D ]P}|d         }d|z  }|                      d||g¦  «         
                    ¦   «         }|r‰	                     |¦  «         ŒQˆˆ	fd„|D ¦   «         S )zi
        Return a description of the table with the DB-API cursor.description
        interface.
        zPRAGMA table_xinfo(%s)zTable z does not exist (empty pragma).r   z%%json_valid("%s")%%zæ
                    SELECT sql
                    FROM sqlite_master
                    WHERE
                        type = 'table' AND
                        name = %s AND
                        sql LIKE %s
                c                 ó¨   •— g | ]N\  }}}}}}}|d v ¯t          ||t          |¦  «        ddd| |‰                     |¦  «        |dk    |‰	v ¦  «        ‘ŒOS ))r   é   é   Nr   )r   r   Úget)
rQ   Úcidr   rK   ÚnotnullÚdefaultr   ÚhiddenÚ
collationsÚjson_columnss
           €€r   rS   z?DatabaseIntrospection.get_table_description.<locals>.<listcomp>v   s–   ø€ ð 
ð 
ð 
ñ C��T˜9 g¨w¸¸FØððð õ ØØÝ˜yÑ)Ô)ØØØØ�ØØ—’˜tÑ$Ô$Ø�a’Ø˜Ð$ñô ðð ð r   )rT   Ú
connectionÚopsÚ
quote_namerU   r   Ú_get_column_collationsÚsetÚfeaturesÚcan_introspect_json_fieldÚfetchoneÚadd)
r=   rV   Ú
table_nameÚ
table_infoÚlineÚcolumnÚjson_constraint_sqlr   ra   rb   s
           @@r   Úget_table_descriptionz+DatabaseIntrospection.get_table_descriptionX   s@  øø€ ð
 	�ŠØ$ t¤Ô':×'EÒ'EÀjÑ'QÔ'QÑQñ	
ô 	
ð 	
ð —_’_Ñ&Ô&ˆ
Øð 	VÝÐ T¨Ð TÐ TÐ TÑUÔUÐUØ×0Ò0°¸ÑDÔDˆ
Ý‘u”uˆØŒ?Ô#Ô=ð 	-Ø"ð -ð -�Ø˜aœ�Ø&<¸vÑ&EÐ#Ø&,§n¢nðð  Ð!4Ð5ñ
'ô 
'÷ ’(‘*”*ð $ð 'ð -Ø ×$Ò$ VÑ,Ô,Ð,øð
ð 
ð 
ð 
ð 
ð GQð
ñ 
ô 
ð 	
r   rC   c                 ó:   — |                       ||¦  «        }||dœgS )N)Útablero   )Úget_primary_key_column)r=   rV   rl   Útable_fieldsÚpk_cols        r   Úget_sequencesz#DatabaseIntrospection.get_sequences�   s(   € Ø×,Ò,¨V°ZÑ@Ô@ˆØ$°Ð7Ð7Ð8Ð8r   c                 ó¨   — |                      d| j        j                             |¦  «        z  ¦  «         d„ |                     ¦   «         D ¦   «         S )z“
        Return a dictionary of {column_name: (ref_column_name, ref_table_name)}
        representing all foreign keys in the given table.
        zPRAGMA foreign_key_list(%s)c                 ó$   — i | ]^}}}}}}|||f“ŒS rC   rC   )rQ   Ú_Úref_table_nameÚcolumn_nameÚref_column_names        r   ú
<dictcomp>z7DatabaseIntrospection.get_relations.<locals>.<dictcomp>™   sC   € ð 

ð 

ð 

ðØØØØØØð ˜/¨>Ð:ð

ð 

ð 

r   ©rT   rc   rd   re   rU   ©r=   rV   rl   s      r   Úget_relationsz#DatabaseIntrospection.get_relations‘   sb   € ð
 	�ŠØ)¨D¬OÔ,?×,JÒ,JÈ:Ñ,VÔ,VÑVñ	
ô 	
ð 	
ð

ð 

ð —’Ñ"Ô"ð

ñ 

ô 

ð 
	
r   c                 ó¨   — |                      d| j        j                             |¦  «        z  ¦  «         d„ |                     ¦   «         D ¦   «         S )NzPRAGMA table_info(%s)c                 ó    — g | ]�^}}}}|¯	|‘ŒS rC   rC   )rQ   rz   r   r   s       r   rS   zADatabaseIntrospection.get_primary_key_columns.<locals>.<listcomp>©   s%   € ÐDÐDÐD™˜˜D 1 bÀÐD�ÐDÐDÐDr   r   r€   s      r   Úget_primary_key_columnsz-DatabaseIntrospection.get_primary_key_columns¥   sT   € Ø�ŠØ# d¤oÔ&9×&DÒ&DÀZÑ&PÔ&PÑPñ	
ô 	
ð 	
ð EÐD¨F¯OªOÑ,=Ô,=ÐDÑDÔDÐDr   c                 ó  — d }d }d }d }d}g }d}	g }
d}|D �]S}|                      t          j        j        d¦  «        r|dz  }nb|                      t          j        j        d¦  «        r|dz  }|dk     r �nôn.|dk    r(|                      t          j        j        d¦  «        r �nÅ|€(|                      t          j        j        d¦  «        }|rŒº|�r*|€d|j        t          j        j        t          j        j        fv r|j        }n3|j        t          j        j        j	        j
        k    r|j        dd…         }|                      t          j        j        d	¦  «        rd
}|}�n'|r–||k    r|rd}�Œ\|j        t          j        j        t          j        j        fv r|                     |j        ¦  «         nÕ|j        t          j        j        j	        j
        k    r"|                     |j        dd…         ¦  «         nŽ|€d|j        t          j        j        t          j        j        fv r|j        }n3|j        t          j        j        j	        j
        k    r|j        dd…         }|                      t          j        j        d	¦  «        r|g}|                      t          j        j        d¦  «        rd
}	|}�Œ |	r±||k    r|
rd}	�Œ®|j        t          j        j        t          j        j        fv r%|j        |v r|
                     |j        ¦  «         �Œü|j        t          j        j        j	        j
        k    r3|j        dd…         |v r"|
                     |j        dd…         ¦  «         �ŒU|r	d
|dd dddœnd }|
r	d
|
ddd ddœnd }||||fS )NFr   r8   r   ú)ú,Ú
CONSTRAINTéÿÿÿÿÚUNIQUETÚCHECK)ÚuniqueÚcolumnsÚprimary_keyÚforeign_keyÚcheckÚindex)r�   r�   rŽ   rŒ   r�   r‘   )ÚmatchÚsqlparseÚtokensÚPunctuationÚKeywordÚttypeÚNameÚvalueÚLiteralÚStringÚSymbolÚappend)r=   r”   r�   ÚtokenÚis_constraint_definitionÚ
field_nameÚconstraint_namerŒ   Úunique_columnsr�   Úcheck_columnsÚbraces_deepÚunique_braces_deepÚcheck_braces_deepÚunique_constraintÚcheck_constraints                   r   Ú&_parse_column_or_constraint_definitionz<DatabaseIntrospection._parse_column_or_constraint_definition«   sá  € ØˆØ#'Ð Øˆ
ØˆØˆØˆØˆØˆØˆØð ?	@ñ ?	@ˆEØ�{Š{�8œ?Ô6¸Ñ<Ô<ð 	Ø˜qÑ ��Ø—’�Xœ_Ô8¸#Ñ>Ô>ð Ø˜qÑ �Ø ’?�?à‘Eð #ð  Ò!Ð! e§k¢kµ(´/Ô2MÈsÑ&SÔ&SÐ!à‘à'Ð/Ø+0¯;ª;Ý”OÔ+¨\ñ,ô ,Ð(ð ,ð ØØ'ñ 2à"Ð*Ø”{¥x¤Ô';½X¼_Ô=TÐ&UÐUÐUØ*/¬+˜˜Øœ­¬Ô(?Ô(FÔ(MÒMÐMØ*/¬+°a¸°dÔ*;˜à—;’;�xœÔ6¸ÑAÔAð AØ!�FØ)4Ð&Ñ&Øð 	AØ)¨[Ò8Ð8Ø)ð +à%*˜FÙ Ø”{¥x¤Ô';½X¼_Ô=TÐ&UÐUÐUØ&×-Ò-¨e¬kÑ:Ô:Ð:Ð:Øœ­¬Ô(?Ô(FÔ(MÒMÐMØ&×-Ò-¨e¬k¸!¸B¸$Ô.?Ñ@Ô@Ð@øð Ð%Ø”{¥x¤Ô';½X¼_Ô=TÐ&UÐUÐUØ%*¤[˜
˜
Øœ­¬Ô(?Ô(FÔ(MÒMÐMØ%*¤[°°2°Ô%6˜
Ø—;’;�xœÔ6¸ÑAÔAð 2Ø&0 \�Nà�{Š{�8œ?Ô2°GÑ<Ô<ð @Ø�Ø$/Ð!Ñ!Øð @Ø$¨Ò3Ð3Ø$ð &à %˜ÙØ”;¥8¤?Ô#7½¼Ô9PÐ"QÐQÐQØ”{ gÐ-Ð-Ø%×,Ò,¨U¬[Ñ9Ô9Ð9ùØ”[¥H¤OÔ$;Ô$BÔ$IÒIÐIØ”{ 1 R 4Ô(¨GÐ3Ð3Ø%×,Ò,¨U¬[¸¸2¸Ô->Ñ?Ô?Ð?ùð ð	ØØ)Ø$Ø#ØØðð ð ð ð 	ð* ð	ØØ(Ø$ØØ#Øðð ð ð ð 	ð Ð 1Ð3CÀUÐJÐJr   c                 ó¸  — t          j        |¦  «        d         }i }d}d„ |                     ¦   «         D ¦   «         }|D ])}|                     t           j        j        d¦  «        r nŒ*	 |                      ||¦  «        \  }}	}
}|	r|r|	||<   n|dz  }|	|d|z  <   |
r|r|
||<   n|dz  }|
|d|z  <   |                     t           j        j        d¦  «        rnŒp|S )Nr   c              3   ó(   K  — | ]}|j         °	|V — Œd S ©N)Úis_whitespace)rQ   rž   s     r   ú	<genexpr>zADatabaseIntrospection._parse_table_constraints.<locals>.<genexpr>  s*   è è € ÐTÐT˜EÀÔ@SÐT�%ÐTÐTÐTÐTÐTÐTr   r8   Tr   z__unnamed_constraint_%s__r†   )r“   ÚparseÚflattenr’   r”   r•   r©   )r=   Úsqlr�   Ú	statementÚconstraintsÚunnamed_constrains_indexr”   rž   r¡   rŒ   r�   Ú	end_tokens               r   Ú_parse_table_constraintsz.DatabaseIntrospection._parse_table_constraints  sP  € õ ”N 3Ñ'Ô'¨Ô*ˆ	ØˆØ#$Ð ØTÐT Y×%6Ò%6Ñ%8Ô%8ÐTÑTÔTˆàð 	ð 	ˆEØ�{Š{�8œ?Ô6¸Ñ<Ô<ð Ø�ðð	ð ×;Ò;¸FÀGÑLÔLñØØØØàð Ø"ð Ø39�K Ñ0Ð0à,°Ñ1Ð,ð ð  Ø3Ð6NÑNñð ð Ø"ð Ø38�K Ñ0Ð0à,°Ñ1Ð,ð ð  Ø3Ð6NÑNñð �Š�xœÔ:¸CÑ@Ô@ð Øð1	ð2 Ðr   c           	      óH  — i }	 |                      d| j        j                             |¦  «        ›�¦  «                             ¦   «         d         }d„ |                      ||¦  «        D ¦   «         }|                     |                      ||¦  «        ¦  «         n# t          $ r Y nw xY w|                      d| j        j                             |¦  «        z  ¦  «         | 	                    ¦   «         D �]4}|dd…         \  }}}	|                      d| j        j                             |¦  «        z  ¦  «         |                     ¦   «         pd\  }
|
sŒa|                      d	| j        j                             |¦  «        z  ¦  «         | 	                    ¦   «         D ]D\  }}}||vrg d
t          |	¦  «        dd
ddœ||<   ||         d                              |¦  «         ŒE||         d         r7t          j        ||         d<   |                      |
¦  «        }|�|||         d<   �Œ6|                      ||¦  «        }|r|dd
dd
d
dœ|d<   t!          |                      ||¦  «                             ¦   «         ¦  «        }|                     d„ |D ¦   «         ¦  «         |S )zu
        Retrieve any constraints or keys (unique, pk, fk, check, index) across
        one or more columns.
        z:SELECT sql FROM sqlite_master WHERE type='table' and name=r   c                 ó   — h | ]	}|j         ’Œ
S rC   )r   ©rQ   Úinfos     r   ú	<setcomp>z8DatabaseIntrospection.get_constraints.<locals>.<setcomp>F  s'   € ð ð ð Ø"�”	ðð ð r   zPRAGMA index_list(%s)Nr[   z<SELECT sql FROM sqlite_master WHERE type='index' AND name=%sr¬   zPRAGMA index_info(%s)FT©r�   rŽ   rŒ   r�   r�   r‘   r�   r‘   ÚtypeÚordersÚ__primary__c           
      ó@   — i | ]\  }\  }\  }}d |› �|gdd||fdddœ“ŒS )Úfk_Fr¼   rC   )rQ   r‘   r|   r}   r{   s        r   r~   z9DatabaseIntrospection.get_constraints.<locals>.<dictcomp>‰  sb   € ð 
ð 
ð 
ñ L�EÑK˜KÑ)J¨/¸>ð �e��Ø +˜}Ø#(Ø#Ø$2°OÐ#DØ"Ø"ð ð  ð
ð 
ð 
r   )rT   rc   rd   re   rj   rq   Úupdater¶   Ú	TypeErrorrU   r   r�   r	   ÚsuffixÚ_get_index_columns_ordersr„   Ú	enumerater�   Úitems)r=   rV   rl   r³   Útable_schemar�   rR   Únumberr‘   rŒ   r±   Ú
index_rankÚcolumn_rankro   r¾   Ú
pk_columnsÚ	relationss                    r   Úget_constraintsz%DatabaseIntrospection.get_constraints6  s2  € ð
 ˆð	UØ!Ÿ>š>˜>à”?Ô&×1Ò1°*Ñ=Ô=Ð=ð@ñô ÷ Šh‰jŒj˜ôˆLðð Ø&*×&@Ò&@ÀÈÑ&TÔ&Tðñ ô ˆGð ×Ò˜t×<Ò<¸\È7ÑSÔSÑTÔTÐTÐTøõ ð 	ð 	ð 	àˆDð	øøøð 	�ŠØ# d¤oÔ&9×&DÒ&DÀZÑ&PÔ&PÑPñ	
ô 	
ð 	
ð —?’?Ñ$Ô$ð (	:ñ (	:ˆCð %(¨¨¨¤GÑ!ˆF�E˜6Ø�NŠNð1Ø37´?Ô3F×3QÒ3QÐRWÑ3XÔ3XñYñô ð ð
 —_’_Ñ&Ô&Ð1¨'‰FˆSð ð àà�NŠNØ'¨$¬/Ô*=×*HÒ*HÈÑ*OÔ*OÑOñô ð ð 4:·?²?Ñ3DÔ3Dð 
=ð 
=Ñ/�
˜K¨Ø Ð+Ð+à#%Ø',Ý"& v¡,¤,Ø'+Ø!&Ø!%ð*ð *�K Ñ&ð ˜EÔ" 9Ô-×4Ò4°VÑ<Ô<Ð<Ð<à˜5Ô! 'Ô*ð :å-2¬\�˜EÔ" 6Ñ*Ø×7Ò7¸Ñ<Ô<�ØÐ%Ø39�K Ô& xÑ0ùà×1Ò1°&¸*ÑEÔEˆ
Øð 	ð &Ø#ØØ#ØØð*ð *ˆK˜Ñ&õ ˜d×0Ò0°¸ÑDÔD×JÒJÑLÔLÑMÔMˆ	Ø×Òð
ð 
ð PYð
ñ 
ô 
ñ	
ô 	
ð 	
ð Ðs   „AB Â
B(Â'B(c                 ó  — t          j        |¦  «        d         }|D ]d}t          |t           j        j        ¦  «        rCt          |¦  «                             d¦  «                             d¦  «        }d„ |D ¦   «         c S Œed S )Nr   ú()ú, c                 ó@   — g | ]}|                      d ¦  «        rd nd‘ŒS )ÚDESCÚASC)Úendswithr¹   s     r   rS   zCDatabaseIntrospection._get_index_columns_orders.<locals>.<listcomp>œ  s-   € ÐWÐWÐWÀt $§-¢-°Ñ"7Ô"7ÐB˜˜¸UÐWÐWÐWr   )r“   r¯   Ú
isinstancer±   ÚParenthesisÚstrr;   r:   )r=   r±   r”   rž   r�   s        r   rÅ   z/DatabaseIntrospection._get_index_columns_orders—  s�   € Ý” Ñ$Ô$ QÔ'ˆØð 	Xð 	XˆEÝ˜%¥¤Ô!9Ñ:Ô:ð XÝ˜e™*œ*×*Ò*¨4Ñ0Ô0×6Ò6°tÑ<Ô<�ØWÐWÈwÐWÑWÔWÐWÐWÐWðXð ˆtr   c                 óð  — |                      d|g¦  «                             ¦   «         }|si S |d         }t          t          j        |¦  «        d         d         ¦  «                             d¦  «                             d¦  «        }i }|D ]h}|dd …                              ¦   «         }|d                              d¦  «        }	t          |¦  «        D ]\  }
}|dk    r||
dz            } nŒd }|||	<   Œi|S )	Nzn
            SELECT sql
            FROM sqlite_master
            WHERE type = 'table' AND name = %s
        r   r‰   rÐ   rÑ   r   ú"ÚCOLLATE)rT   rj   rØ   r“   r¯   r;   r:   rÆ   )r=   rV   rl   rR   r±   r�   ra   ro   r”   r|   r‘   rž   Ú	collations                r   rf   z,DatabaseIntrospection._get_column_collationsŸ  s  € Ø�nŠnðð
 ˆLñ
ô 
÷ Š(‰*Œ*ð 	ð ð 	ØˆIà�!ŒfˆÝ•h”n SÑ)Ô)¨!Ô,¨RÔ0Ñ1Ô1×7Ò7¸Ñ=Ô=×CÒCÀDÑIÔIˆØˆ
Øð 		0ð 		0ˆFØ˜A˜B˜B”Z×%Ò%Ñ'Ô'ˆFØ  œ)Ÿ/š/¨#Ñ.Ô.ˆKÝ )¨&Ñ 1Ô 1ð !ð !‘��uØ˜IÒ%Ð%Ø & u¨q¡yÔ 1�IØ�Eð &ð !�	Ø&/ˆJ�{Ñ#Ð#ØÐr   )rC   )r@   rA   rB   r   Údata_types_reverserJ   rW   rq   rw   r�   r„   r©   r¶   rÎ   rÅ   rf   Ú__classcell__)rN   s   @r   rE   rE   ;   sõ   ø€ € € € € Ø0Ð0Ñ2Ô2Ððð ð ð ð ð
Kð 
Kð 
Kð3
ð 3
ð 3
ðj9ð 9ð 9ð 9ð
ð 
ð 
ð(Eð Eð EðbKð bKð bKðH%ð %ð %ðN_ð _ð _ðBð ð ðð ð ð ð ð ð r   rE   )Úcollectionsr   r“   Ú	django.dbr   Ú%django.db.backends.base.introspectionr   r   ÚBaseFieldInfor   Údjango.db.modelsr	   Údjango.utils.regex_helperr
   Ú_fieldsr   r   r   rE   rC   r   r   ú<module>ræ      s4  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€à #Ð #Ð #Ð #Ð #Ð #Ø KÐ KÐ KÐ KÐ KÐ KØ LÐ LÐ LÐ LÐ LÐ LØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø "Ð "Ð "Ð "Ð "Ð "Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6àˆJØ�Ô&Ð)FÑFñô €	ð !Ð Ð!JÑKÔK€ð$ð $ð $ð1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ð>}ð }ð }ð }ð }Ð5ñ }ô }ð }ð }ð }r   