§
    êXÊjP  ã            	       ó\  — d dl Z d dlZd dlZd dlZd dlZd dlmZ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  ej        ¦   «         d          Z e eee                     d¦  «        ¦  «        ¦  «        Zedk     r eded          › ded         › �¦  «        ‚ed	k    Zd
ededefd„Z edd¦  «        Z edd¦  «        ZeZe
Z eZ!eZ"eZ#eZ$eZ%eZ&eZ'eZ( ee'¦  «        Z)eZ*e	Z+ ee&¦  «        Z, ee"¦  «        Z- ee#¦  «        Z. ee$¦  «        Z/ ee%¦  «        Z0eZ1eZ2 ee¦  «        Z3 ee¦  «        Z4 ee¦  «        Z5eZ6eZ7	 e*e-gej8        _9        e3ej8        _:        e3gej;        _9        e-ej;        _:        e+egej<        _9        e.ej<        _:        e5e/gej=        _9        e+ej=        _:        e5egej>        _9        e+ej>        _:        e2gej?        _9        e4ej?        _:        ee.gej@        _9        e4ej@        _:        e)e) ee5¦  «        gejA        _9        e+ejA        _:        e5 ee6¦  «        gejB        _9        e+ejB        _:        e5 ee6¦  «        gejC        _9        e+ejC        _:        e5e_5        e6e_6        e+e_+        dZDdZEe)gejF        _9        dejF        _:        e)gejG        _9        e(ejG        _:        e*ee!gejH        _9        e.ejH        _:        e.e!gejI        _9        eejI        _:        e.ee e!gejJ        _9        eejJ        _:        e*ee gejK        _9        e-ejK        _:        e-gejL        _9        e ejL        _:        e-gejM        _9        eejM        _:        e* ee)¦  «        e e1gejN        _9        e/ejN        _:        e*e e1gejO        _9        e0ejO        _:        e0egejP        _9        dejP        _:        e/gejQ        _9        e ejQ        _:        e/e gejR        _9        eejR        _:        e,gejS        _9        e ejS        _:        e,gejT        _9        e.ejT        _:        e* U                    ed¦  «        e_V         ejU        ed¦  «        e_W        e)e_)        e/e_/        e.e_.        e,e_,        n# eX$ rZY edeY› �¦  «        d‚dZY[Yww xY werA	 e5 ee,¦  «        gejZ        _9        eejZ        _:        n# eX$ rZY edeY› �¦  «        d‚dZY[Yww xY wde+dej[        dej[        dej[        fd„Z\e\ejA        _]        e\ej=        _]        e\ej>        _]        e\ejB        _]        e\ejC        _]         G d„ d¦  «        Z^de_de-fd„Z`de_de#fd„Zad e.dedz  fd!„Zbd"ece_         de0fd#„Zde je        d$ejf        dejg        d         fd%„¦   «         Zh	 d-d&ejf        d'ece_         d(edz  ddfd)„Zid&ejf        d*ej[        ddfd+„Zjd&ejf        d*ej[        ddfd,„ZkdS ).é    N)	ÚCDLLÚPOINTERÚc_boolÚc_char_pÚc_int32Úc_longÚc_uint32Úc_ulongÚc_void_p)Úfind_libraryé   )Ú_set_ssl_context_verify_modeú.)é
   é   z,Only OS X 10.8 and newer are supported, not )r   é   ÚnameÚmacos10_16_pathÚreturnc                 ó¶   — 	 t           dk    r|}nt          | ¦  «        }|st          ‚t          |d¬¦  «        S # t          $ r t	          d| › d�¦  «        d‚w xY w)z:Loads a CDLL by name, falling back to known path on 10.16+)r   é   T)Ú	use_errnozThe library z failed to loadN)Ú_mac_version_infor   ÚOSErrorr   ÚImportError)r   r   Úpaths      úBC:\Projects\Historical\venv\Lib\site-packages\truststore/_macos.pyÚ
_load_cdllr      s„   € ðJõ  Ò(Ð(Ø"ˆDˆDå Ñ%Ô%ˆDØð 	ÝˆMÝ�D DÐ)Ñ)Ô)Ð)øÝð Jð Jð JÝÐ>¨Ð>Ð>Ð>Ñ?Ô?ÀTÐIðJøøøs	   ‚69 ¹AÚSecurityz6/System/Library/Frameworks/Security.framework/SecurityÚCoreFoundationzB/System/Library/Frameworks/CoreFoundation.framework/CoreFoundationé   r   ÚkCFAllocatorDefaultÚkCFTypeArrayCallBackszError initializing ctypes: ÚresultÚ_Úargsc                 ó~  — t          | ¦  «        dk    r|S d}	 t                               | d¦  «        }t          j        |t          j        t          j        ¦  «        ¦  «        }t                               |t          j
        ¦  «        }|€St          j        d¦  «        }t                               ||dt          j
        ¦  «        } | st          d¦  «        ‚|j        }|�t                               |¦  «         n"# |�t                               |¦  «         w w xY w|�|dk    rd| › �}t!          j        |¦  «        ‚)z<
    Raises an error if the OSStatus value is non-zero.
    r   Né   ú'Error copying C string from CFStringRefÚ z8SecureTransport operation returned a non-zero OSStatus: )Úintr   ÚSecCopyErrorMessageStringÚctypesÚcastr   r   r    ÚCFStringGetCStringPtrÚCFConstÚkCFStringEncodingUTF8Úcreate_string_bufferÚCFStringGetCStringr   ÚvalueÚ	CFReleaseÚsslÚSSLError)r$   r%   r&   Úerror_message_cfstringÚerror_message_cfstring_c_void_pÚmessageÚbuffers          r   Ú_handle_osstatusr<   ß   sP  € õ ˆ6�{„{�aÒÐØˆð "Ðð!=Ý!)×!CÒ!CÀFÈDÑ!QÔ!QÐõ +1¬+Ø"¥F¤Nµ6´?Ñ$CÔ$Cñ+
ô +
Ð'õ !×6Ò6Ø+­WÔ-Jñ
ô 
ˆð ˆ?ÝÔ0°Ñ6Ô6ˆFÝ#×6Ò6Ø/ØØÝÔ-ñ	ô ˆFð ð IÝÐGÑHÔHÐHØ”lˆGð "Ð-Ý×$Ò$Ð%;Ñ<Ô<Ð<øøð "Ð-Ý×$Ò$Ð%;Ñ<Ô<Ð<Ð<ð .øøøð
 €˜' Rš-˜-ØUÈVÐUÐUˆå
Œ,�wÑ
Ô
Ðs   ™CC< Ã<Dc                   ó8   — e Zd ZdZ ed¦  «        ZdZdZdZdZ	dS )r0   zCoreFoundation constantsi  iÍ÷þÿiî÷þÿi÷þÿiýöþÿN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚCFStringEncodingr1   Ú#errSecIncompleteCertRevocationCheckÚerrSecHostNameMismatchÚerrSecCertificateExpiredÚerrSecNotTrusted© ó    r   r0   r0     s?   € € € € € Ø"Ð"à,Ð,¨ZÑ8Ô8Ðà*0Ð'Ø#ÐØ%ÐØÐÐÐrH   r0   r4   c                 óh   — t                                t           j        | t          | ¦  «        ¦  «        S ©N)r    ÚCFDataCreater"   Úlen)r4   s    r   Ú_bytes_to_cf_data_refrM   &  s*   € Ý×&Ò&ÝÔ*¨Eµ3°u±:´:ñô ð rH   c                 óŽ   — t          j        | ¦  «        }t                               t          j        |t
          j        ¦  «        }|S )zi
    Given a Python binary data, create a CFString.
    The string must be CFReleased by the caller.
    )r-   r   r    ÚCFStringCreateWithCStringr"   r0   r1   )r4   Úc_strÚcf_strs      r   Ú_bytes_to_cf_stringrR   ,  s>   € õ
 ŒO˜EÑ"Ô"€EÝ×5Ò5ÝÔ*ØÝÔ%ñô €Fð
 €MrH   Úcf_string_refc                 ó(  — t                                | t          j        ¦  «        }|€St	          j        d¦  «        }t                                | |dt          j        ¦  «        }|st          d¦  «        ‚|j        }|�| 	                    d¦  «        }|S )z§
    Creates a Unicode string from a CFString object. Used entirely for error
    reporting.
    Yes, it annoys me quite a lot that this function is this complex.
    Nr(   r)   zutf-8)
r    r/   r0   r1   r-   r2   r3   r   r4   Údecode)rS   Ústringr;   r$   s       r   Ú_cf_string_ref_to_strrW   :  s–   € õ ×1Ò1Ø•wÔ4ñô €Fð €~ÝÔ,¨TÑ2Ô2ˆÝ×2Ò2Ø˜6 4­Ô)Fñ
ô 
ˆð ð 	EÝÐCÑDÔDÐDØ”ˆØÐØ—’˜wÑ'Ô'ˆØ€MrH   Úcertsc                 óJ  — t                                t           j        dt          j        t           j        ¦  «        ¦  «        }|st          d¦  «        ‚| D ]Ì}d}d}	 t          |¦  «        }t           	                    t           j        |¦  «        }t            
                    ||¦  «         |rt                                |¦  «         |rt                                |¦  «         Œ�# |rt                                |¦  «         |rt                                |¦  «         w w xY w|S )z¦Builds a CFArray of SecCertificateRefs from a list of DER-encoded certificates.
    Responsibility of the caller to call CoreFoundation.CFRelease on the CFArray.
    r   zUnable to allocate memory!N)r    ÚCFArrayCreateMutabler"   r-   Úbyrefr#   ÚMemoryErrorrM   r   ÚSecCertificateCreateWithDataÚCFArrayAppendValuer5   )rX   Úcf_arrayÚ	cert_dataÚcf_dataÚsec_cert_refs        r   Ú_der_certs_to_cf_cert_arrayrc   Q  s1  € õ ×2Ò2ÝÔ*Ø	ÝŒ•^Ô9Ñ:Ô:ñô €Hð
 ð 8ÝÐ6Ñ7Ô7Ð7àð 7ð 7ˆ	ØˆØˆð
	7Ý+¨IÑ6Ô6ˆGÝ#×@Ò@ÝÔ2°Gñô ˆLõ ×-Ò-¨h¸ÑEÔEÐEàð 2Ý×(Ò(¨Ñ1Ô1Ð1Øð 7Ý×(Ò(¨Ñ6Ô6Ð6øøð ð 2Ý×(Ò(¨Ñ1Ô1Ð1Øð 7Ý×(Ò(¨Ñ6Ô6Ð6Ð6ð7øøøð €Os   ÁAC%Ã%;D Úctxc              #   óØ   K  — | j         }| j        }d| _         t          | t          j        ¦  «         	 d V — || _         t          | |¦  «         d S # || _         t          | |¦  «         w xY w)NF)Úcheck_hostnameÚverify_moder   r6   Ú	CERT_NONE)rd   rf   rg   s      r   Ú_configure_contextri   o  s|   è è € àÔ'€NØ”/€KØ€CÔÝ  ¥c¤mÑ4Ô4Ð4ð7Øˆˆˆà+ˆÔÝ$ S¨+Ñ6Ô6Ð6Ð6Ð6øð ,ˆÔÝ$ S¨+Ñ6Ô6Ð6Ð6øøøs   ³A ÁA)Ússl_contextÚ
cert_chainÚserver_hostnamec                 ó"  — d }d }d }	 |�†| j         rd }	 t          |                     d¦  «        ¦  «        }t                               d|¦  «        }|rt
                               |¦  «         n=# |rt
                               |¦  «         w w xY wt                               dd ¦  «        }|}| j        t          j	        z  rÔt
           
                    t
          j        dt          j        t
          j        ¦  «        ¦  «        }t
                               ||¦  «         t
                               |¦  «         t                               t"          t$          z  ¦  «        }t
                               ||¦  «         t
                               |¦  «         n#| j        t          j        z  rt)          d¦  «        ‚d }	 t+          |¦  «        }t                               ¦   «         }t                               ||t          j        |¦  «        ¦  «         |rt
                               |¦  «         n"# |rt
                               |¦  «         w w xY w|                      d¬¦  «        }	|	rld }
	 t+          |	¦  «        }
t                               ||
¦  «         |
rt
                               |
¦  «         n"# |
rt
                               |
¦  «         w w xY wt                               |d¦  «         t6          rt9          | |¦  «         nt;          | |¦  «         |rt
                               |¦  «         |rt
                               |¦  «         d S d S # |rt
                               |¦  «         |rt
                               |¦  «         w w xY w)NÚasciiTr   z/VERIFY_CRL_CHECK_LEAF not implemented for macOS)Úbinary_formF)rf   rR   Úencoder   ÚSecPolicyCreateSSLr    r5   Úverify_flagsr6   ÚVERIFY_CRL_CHECK_CHAINrZ   r"   r-   r[   r#   r^   ÚSecPolicyCreateRevocationÚ#kSecRevocationUseAnyAvailableMethodÚ%kSecRevocationRequirePositiveResponseÚVERIFY_CRL_CHECK_LEAFÚNotImplementedErrorrc   ÚSecTrustRefÚSecTrustCreateWithCertificatesÚget_ca_certsÚSecTrustSetAnchorCertificatesÚ!SecTrustSetAnchorCertificatesOnlyÚ _is_macos_version_10_14_or_laterÚ"_verify_peercerts_impl_macos_10_14Ú"_verify_peercerts_impl_macos_10_13)rj   rk   rl   rX   ÚpoliciesÚtrustÚcf_str_hostnameÚ
ssl_policyÚrevocation_policyÚctx_ca_certs_derÚctx_ca_certss              r   Ú_verify_peercerts_implrˆ   |  s¹  € ð
 €EØ€HØ€EðN,ð Ð&¨;Ô+EÐ&Ø"ˆOð>Ý"5°o×6LÒ6LÈWÑ6UÔ6UÑ"VÔ"V�Ý%×8Ò8¸¸ÑOÔO�
à"ð >Ý"×,Ò,¨_Ñ=Ô=Ð=øøð #ð >Ý"×,Ò,¨_Ñ=Ô=Ð=Ð=ð>øøøõ "×4Ò4°T¸4Ñ@Ô@ˆJàˆØÔ#¥cÔ&@Ñ@ð 	Yå%×:Ò:ÝÔ2ØÝ”�^ÔAÑBÔBñô ˆHõ
 ×-Ò-¨h¸
ÑCÔCÐCÝ×$Ò$ ZÑ0Ô0Ð0Ý (× BÒ BÝ3Ý7ñ8ñ!ô !Ðõ ×-Ò-¨hÐ8IÑJÔJÐJÝ×$Ò$Ð%6Ñ7Ô7Ð7Ð7ØÔ%­Ô(AÑAð 	YÝ%Ð&WÑXÔXÐXàˆð	0Ý/°
Ñ;Ô;ˆEõ ×(Ò(Ñ*Ô*ˆEÝ×3Ò3Ø�x¥¤¨eÑ!4Ô!4ñô ð ð ð 0Ý×(Ò(¨Ñ/Ô/Ð/øøð ð 0Ý×(Ò(¨Ñ/Ô/Ð/Ð/ð0øøøð
 0;×/GÒ/GØð 0Hñ 0
ô 0
Ðð ð 	;ØˆLð;Ý:Ð;KÑLÔL�Ý×6Ò6°u¸lÑKÔKÐKàð ;Ý"×,Ò,¨\Ñ:Ô:Ð:øøð  ð ;Ý"×,Ò,¨\Ñ:Ô:Ð:Ð:ð;øøøõ 	×2Ò2°5¸%Ñ@Ô@Ð@õ
 ,ð 	CÝ.¨{¸EÑBÔBÐBÐBå.¨{¸EÑBÔBÐBàð 	/Ý×$Ò$ XÑ.Ô.Ð.Øð 	,Ý×$Ò$ UÑ+Ô+Ð+Ð+Ð+ð	,ð 	,øð ð 	/Ý×$Ò$ XÑ.Ô.Ð.Øð 	,Ý×$Ò$ UÑ+Ô+Ð+Ð+ð	,øøøsU   ˆM ”=A. ÁM Á.BÂD-M Æ;AH. ÈM È.IÉM É+*J2 ÊM Ê2KËAM Í;NÚsec_trust_refc                 ó²  — t                                ¦   «         }t                                |t          j        |¦  «        ¦  «         	 t          |j        ¦  «        }n# t          t          f$ r d}Y nw xY w| j	        t          j        k    rJ|dvrHddddddd	œ}|                     |d
|› �¦  «        }t          j        |¦  «        }||_        ||_        |‚dS dS )z€Verify using 'SecTrustEvaluate' API for macOS 10.13 and earlier.
    macOS 10.14 added the 'SecTrustEvaluateWithError' API.
    éÿÿÿÿ)r   é   zInvalid trust result typezUser confirmation requiredz.User specified that certificate is not trustedz"Recoverable trust failure occurredzFatal trust failure occurredz0Other error occurred, certificate may be revoked)r   é   r!   é   é   é   zUnknown trust result: N)r   ÚSecTrustResultTypeÚSecTrustEvaluater-   r[   r+   r4   Ú
ValueErrorÚ	TypeErrorrg   r6   ÚCERT_REQUIREDÚgetÚSSLCertVerificationErrorÚverify_messageÚverify_code)rj   r‰   Úsec_trust_result_typeÚsec_trust_result_type_as_intÚ sec_trust_result_type_to_messageÚerror_messageÚerrs          r   r€   r€   Õ  s  € õ %×7Ò7Ñ9Ô9ÐÝ×Ò˜m­V¬\Ð:OÑ-PÔ-PÑQÔQÐQð*Ý'*Ð+@Ô+FÑ'GÔ'GÐ$Ð$øÝ�	Ð"ð *ð *ð *Ø')Ð$Ð$Ð$ð*øøøð 	Ô¥3Ô#4Ò4Ð4Ø(°Ð6Ð6ð +à+Ø?à3Ø-ØAð	,
ð 	,
Ð(ð 9×<Ò<Ø(ØCÐ%AÐCÐCñ
ô 
ˆõ
 Ô*¨=Ñ9Ô9ˆØ*ˆÔØ6ˆŒØˆ	ð1 	5Ð4Ø6Ð6s   ÁA ÁA3Á2A3c                 ó  — t                                ¦   «         }t                               |t	          j        |¦  «        ¦  «        }|dk    rd}n |dk    rd}nt          j        d|›�¦  «        ‚d}|sQt                                |¦  «        }| j	        t          j
        k    r"|t          j        k    s|t          j        k    rd}|sºd}	 t                                |¦  «        }t          |¦  «        pd}t                               ¦   «         }t                               |t	          j        |¦  «        ¦  «         t          j        |¦  «        }	||	_        ||	_        |	‚# |rt                                |¦  «         w w xY wdS )z>Verify using 'SecTrustEvaluateWithError' API for macOS 10.14+.r   Tr   Fz8Unknown result from Security.SecTrustEvaluateWithError: NzCertificate verification failed)r    Ú
CFErrorRefr   ÚSecTrustEvaluateWithErrorr-   r[   r6   r7   ÚCFErrorGetCoderg   r•   r0   rF   rE   ÚCFErrorCopyDescriptionrW   r‘   ÚSecTrustGetTrustResultr—   r˜   r™   r5   )
rj   r‰   Úcf_errorÚsec_trust_eval_resultÚ
is_trustedÚcf_error_codeÚcf_error_string_refÚcf_error_messagerš   rž   s
             r   r   r     s°  € õ ×(Ò(Ñ*Ô*€HÝ$×>Ò>Ø•v”| HÑ-Ô-ñô Ðð
  Ò!Ð!Øˆ
ˆ
Ø	 !Ò	#Ð	#Øˆ
ˆ
åŒlØ`ÐG\Ð`Ð`ñ
ô 
ð 	
ð €MØð 
Ý&×5Ò5°hÑ?Ô?ˆð
 Ô"¥cÔ&7Ò7Ð7Ø�WÔ5Ò5Ð5Ø¥Ô @Ò@Ð@àˆJð ð >Ø"Ðð	>Ý"0×"GÒ"GÈÑ"QÔ"QÐõ &Ð&9Ñ:Ô:ð 5Ø4ð õ %-×$?Ò$?Ñ$AÔ$AÐ!Ý×+Ò+Ø�vœ|Ð,AÑBÔBñô ð õ Ô.Ð/?Ñ@Ô@ˆCØ!1ˆCÔØ+ˆCŒOØˆIøà"ð >Ý×(Ò(Ð)<Ñ=Ô=Ð=Ð=ð>øøøð/>ð >s   Ã
BE ÅE>rJ   )lÚ
contextlibr-   Úplatformr6   Útypingr   r   r   r   r   r   r	   r
   r   Úctypes.utilr   Ú_ssl_constantsr   Úmac_verÚ_mac_versionÚtupleÚmapr+   Úsplitr   r   r~   Ústrr   r   r    ÚBooleanÚCFIndexrB   ÚCFDataÚCFStringÚCFArrayÚCFMutableArrayÚCFErrorÚCFTypeÚCFTypeIDÚ	CFTypeRefÚCFAllocatorRefÚOSStatusr    Ú	CFDataRefÚCFStringRefÚ
CFArrayRefÚCFMutableArrayRefÚCFArrayCallBacksÚCFOptionFlagsÚSecCertificateRefÚSecPolicyRefry   r‘   ÚSecTrustOptionFlagsr]   ÚargtypesÚrestypeÚSecCertificateCopyDatar,   r|   r}   rt   rq   rz   r¤   r’   ru   rv   r5   ÚCFGetTypeIDrO   r/   r3   rK   ÚCFDataGetLengthÚCFDataGetBytePtrÚCFArrayCreaterZ   r^   ÚCFArrayGetCountÚCFArrayGetValueAtIndexr¢   r£   Úin_dllr"   r#   ÚAttributeErrorÚer¡   ÚAnyr<   Úerrcheckr0   ÚbytesrM   rR   rW   Úlistrc   ÚcontextmanagerÚ
SSLContextÚIteratorri   rˆ   r€   r   rG   rH   r   ú<module>rÞ      sû  ðØ Ð Ð Ð Ø €€€Ø €€€Ø 
€
€
€
Ø €€€ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð %Ð $Ð $Ð $Ð $Ð $à 8Ð 8Ð 8Ð 8Ð 8Ð 8àˆxÔÑ!Ô! !Ô$€Ø�E˜#˜#˜c <×#5Ò#5°cÑ#:Ô#:Ñ;Ô;Ñ<Ô<Ð Ø�wÒÐØ
ˆ+ØdÐ7HÈÔ7KÐdÐdÐN_Ð`aÔNbÐdÐdñô ð ð $5¸Ò#@Ð  ðJ�Sð J¨3ð J°4ð Jð Jð Jð Jð" ˆ:ØÐHñô €ð �ØØHñô €ð
 €Ø
€ØÐ Ø	€Ø€Ø
€Ø€Ø
€Ø	€Ø€ØˆG�F‰OŒO€	Ø€à€àˆW�WÑÔ€
ØˆG�F‰OŒO€	Øˆg�hÑÔ€ØˆW�WÑÔ€
Ø�G˜NÑ+Ô+Ð ØÐ Ø€à�G˜HÑ%Ô%Ð Øˆw�xÑ Ô €Øˆg�hÑÔ€ØÐ ØÐ ð|CØ6DÀiÐ5P€HÔ)Ô2Ø4E€HÔ)Ô1à0AÐ/B€HÔ#Ô,Ø.7€HÔ#Ô+à3;¸XÐ2F€HÔ&Ô/Ø1<€HÔ&Ô.à7BÀJÐ6O€HÔ*Ô3Ø5=€HÔ*Ô2à;FÈÐ:P€HÔ.Ô7Ø9A€HÔ.Ô6à3@°/€HÔ&Ô/Ø1=€HÔ&Ô.à,3°[Ð+A€HÔÔ(Ø*6€HÔÔ'ð 	ØØˆ�ÑÔð8€HÔ+Ô4ð
 7?€HÔ+Ô3ð 	ØˆÐ"Ñ#Ô#ð0€HÔ#Ô,ð /7€HÔ#Ô+ð 	ØˆÐ"Ñ#Ô#ð*€HÔÔ&ð )1€HÔÔ%à&€HÔØ"4€HÔØ €HÔà*+Ð'Ø,-Ð)à)2¨€NÔÔ%Ø'+€NÔÔ$à+4¨+€NÔÔ'Ø)1€NÔÔ&ð 	ØØð9€NÔ,Ô5ð
 8C€NÔ,Ô4à5@ÐBRÐ4S€NÔ(Ô1Ø3;€NÔ(Ô0ð 	ØØØð	2€NÔ%Ô.ð 17€NÔ%Ô-à,:¸HÀgÐ+N€NÔÔ(Ø*3€NÔÔ'à/8¨k€NÔ"Ô+Ø-4€NÔ"Ô*à09¨{€NÔ#Ô,Ø.6€NÔ#Ô+ð 	Øˆ�	ÑÔØØð	-€NÔ Ô)ð ,6€NÔ Ô(ð 	ØØð4€NÔ'Ô0ð
 3D€NÔ'Ô/à2CÀXÐ1N€NÔ%Ô.Ø04€NÔ%Ô-à/9¨l€NÔ"Ô+Ø-4€NÔ"Ô*à6@À'Ð5J€NÔ)Ô2Ø4<€NÔ)Ô1à.8¨\€NÔ!Ô*Ø,3€NÔ!Ô)à6@°\€NÔ)Ô2Ø4?€NÔ)Ô1à)7×)>Ò)>ØÐ-ñ*ô *€NÔ&ð ,;¨8¬?ØÐ/ñ,ô ,€NÔ(ð  )€NÔØ *€NÔØ!,€NÔØ *€NÔÐøàð Cð Cð CØ
ˆ+Ð7°AÐ7Ð7Ñ
8Ô
8¸dÐBøøøøðCøøøð $ð GðGàØˆG�JÑÔð7
ˆÔ*Ô3ð 6<ˆÔ*Ô2Ð2øØð Gð Gð GØˆkÐ;¸Ð;Ð;Ñ<Ô<À$ÐFøøøøðGøøøð2 ˜Xð 2 ¨&¬*ð 2 ¸F¼Jð 2 È6Ì:ð 2 ð 2 ð 2 ð 2 ðj 4D€Ô 'Ô 0Ø2B€Ô &Ô /Ø6F€Ô *Ô 3Ø+;€Ô Ô (Ø%5€Ô Ô "ðð ð ð ð ñ ô ð ð ð ¨9ð ð ð ð ð˜uð ¨ð ð ð ð ð¨ð ¸¸t¹ð ð ð ð ð. t¨E¤{ð Ð7Hð ð ð ð ð< Ôð	7˜CœNð 	7¨v¬¸tÔ/Dð 	7ð 	7ð 	7ñ Ôð	7ð #'ðV,ð V,Ø”ðV,à�U”ðV,ð ˜4‘ZðV,ð 
ð	V,ð V,ð V,ð V,ðr)Ø”ð)Ø06´
ð)à	ð)ð )ð )ð )ðX:>Ø”ð:>Ø06´
ð:>à	ð:>ð :>ð :>ð :>ð :>ð :>s1   ÅLQ ÑQ0ÑQ+Ñ+Q0Ñ6#R ÒR3ÒR.Ò.R3