§
    }Štjf/  ã                   ó(  — d Z ddlZddlZddlZddlZddlmZ ddlmZm	Z	 ddl
mZmZ ddlmZmZ ddlmZ ddlmZ d	d
lmZ ddlmZ dZdZdZdZed         Z ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Zd<dedede defd„Z!d<dedede defd„Z"d=d e#e         d!edz  d"ede#e         fd#„Z$de#e         fd$„Z%d<d%edede defd&„Z& ej'        d'¦  «        Z(	 d<d(eded)eegdf         de def
d*„Z)de*eef         fd+„Z+d,e#e         d!ededz  fd-„Z,d.edefd/„Z-d0eddfd1„Z.d%ede#e         fd2„Z/d%ed3e#e         d4eddfd5„Z0d6ed7eddfd8„Z1d e#e         de#e         fd9„Z2d0ed:e*eef         d"edefd;„Z3dS )>zNInternal helpers for Hugging Face marketplace skill installation and upgrades.é    N)ÚCallable)Ú	dataclassÚreplace)ÚPathÚPurePosixPath)ÚAnyÚLiteral)Ú
BucketFile)ÚCLIErroré   )Údisable_progress_barsé   )Ú
get_hf_apizhf-clizhuggingface/skillsúmarketplace.jsonz.hf-skill-manifest.json)Ú
up_to_dateÚ	unmanagedÚsource_unreachableT)Úfrozenc                   ó8   — e Zd ZU eed<   eed<   dZedz  ed<   dS )ÚMarketplaceSkillÚnameÚ	repo_pathNÚdescription)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   © ó    úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/huggingface_hub/cli/_skills.pyr   r      s8   € € € € € € à
€I€I�IØ€N€N�NØ"€K��t‘Ð"Ð"Ñ"Ð"Ð"r    r   c                   óB   — e Zd ZU eed<   eed<   eed<   dZedz  ed<   dS )ÚSkillUpdateInfor   Ú	skill_dirÚstatusNÚdetail)r   r   r   r   r   r   ÚSkillUpdateStatusr&   r   r    r!   r#   r#   &   sD   € € € € € € à
€I€I�IØ€O€O�OØÐÐÑØ€FˆC�$‰JÐÐÑÐÐr    r#   FÚ
skill_nameÚdestination_rootÚforceÚreturnc                 ó  — t          ¦   «         }t          ¦   «         5  t          |¦  «        }t          || ¦  «        }|€t	          d| › dt
          › d�¦  «        ‚t          ||||¬¦  «        cddd¦  «         S # 1 swxY w Y   dS )z3Resolve a marketplace skill by name and install it.NúSkill 'z' not found in zD. Try `hf skills add` to install `hf-cli` or use a known skill name.©r*   )r   r   Ú_load_marketplace_skillsÚ_select_marketplace_skillr   ÚDEFAULT_SKILLS_BUCKET_IDÚ_install_marketplace_skill)r(   r)   r*   ÚapiÚmarketplace_skillsÚskills         r!   Ú	add_skillr6   .   s  € å
‰,Œ,€CÝ	Ñ	 Ô	 ð Uð UÝ5°cÑ:Ô:ÐÝ)Ð*<¸jÑIÔIˆØˆ=ÝðU˜*ð Uð UÕ5Mð Uð Uð Uñô ð õ *¨#¨uÐ6FÈeÐTÑTÔTðUð Uð Uð Uñ Uô Uð Uð Uð Uð Uð Uð Uøøøð Uð Uð Uð Uð Uð Us   �AA9Á9A=Â A=Úcontentc                 óR   ‡ — dt           ddfˆ fd„}t          t          |||¬¦  «        S )zXInstall the `hf-cli` skill from locally generated SKILL.md content (no bucket download).Úinstall_dirr+   Nc                 ó¢   •— |                       dd¬¦  «         | dz                       ‰d¬¦  «         | t          z                       ¦   «          d S )NT©ÚparentsÚexist_okúSKILL.mdúutf-8©Úencoding)ÚmkdirÚ
write_textÚMANAGED_MARKER_FILENAMEÚtouch)r9   r7   s    €r!   Úpopulatez)install_generated_skill.<locals>.populate?   sX   ø€ Ø×Ò $°ÐÑ6Ô6Ð6Ø	�zÑ	!×-Ò-¨gÀÐ-ÑHÔHÐHØ	Õ.Ñ	.×5Ò5Ñ7Ô7Ð7Ð7Ð7r    ©rF   r*   )r   Ú_install_skillÚDEFAULT_SKILL_ID)r7   r)   r*   rF   s   `   r!   Úinstall_generated_skillrJ   <   sK   ø€ ð8�dð 8 tð 8ð 8ð 8ð 8ð 8ð 8õ
 Õ*Ð,<ÀxÐW\Ð]Ñ]Ô]Ð]r    ÚrootsÚselectorÚhf_cli_contentc                ó¼  ‡‡‡‡— t          | ¦  «        }|�L|                     ¦   «                              ¦   «         Šˆfd„|D ¦   «         }|st          d|› d|› d�¦  «        ‚t	          d„ |D ¦   «         ¦  «        }dŠi Š|rMt          ¦   «         Št          ¦   «         5  d„ t          ‰¦  «        D ¦   «         Šddd¦  «         n# 1 swxY w Y   ˆˆˆfd„|D ¦   «         S )	zgRe-sync managed skill installs (`hf-cli` is rewritten from `hf_cli_content`, the rest from the bucket).Nc                 óN   •— g | ]!}|j                              ¦   «         ‰k    ¯|‘Œ"S r   ©r   Úlower)Ú.0ÚdÚselector_lowers     €r!   ú
<listcomp>z!update_skills.<locals>.<listcomp>L   s-   ø€ ÐPÐPÐP˜A¨q¬v¯|ª|©~¬~ÀÒ/OÐ/O�aÐ/OÐ/OÐ/Or    zNo installed skill matches 'z"'. Install it with `hf skills add z`.c              3   ón   K  — | ]0}|j         t          k    o|t          z                       ¦   «         V — Œ1d S ©N)r   rI   rD   Úexists)rR   rS   s     r!   ú	<genexpr>z update_skills.<locals>.<genexpr>Q   sB   è è € ÐvÐvÐfg˜AœFÕ&6Ò6Ða¸AÕ@WÑ<W×;_Ò;_Ñ;aÔ;aÐvÐvÐvÐvÐvÐvr    c                 óB   — i | ]}|j                              ¦   «         |“ŒS r   rP   )rR   r5   s     r!   ú
<dictcomp>z!update_skills.<locals>.<dictcomp>W   s(   € Ð!gÐ!gÐ!gÀ %¤*×"2Ò"2Ñ"4Ô"4°eÐ!gÐ!gÐ!gr    c                 ó4   •— g | ]}t          ‰|‰‰¦  «        ‘ŒS r   )Ú_apply_single_update)rR   r$   r3   rM   r4   s     €€€r!   rU   z!update_skills.<locals>.<listcomp>Y   s*   ø€ ÐqÐqÐqÐYbÕ   iÐ1CÀ^ÑTÔTÐqÐqÐqr    )Ú_iter_unique_skill_dirsÚstriprQ   r   Úanyr   r   r/   )rK   rL   rM   Ú
skill_dirsÚneeds_marketplacer3   r4   rT   s     `  @@@r!   Úupdate_skillsrc   G   sj  øøøø€ å(¨Ñ/Ô/€JØÐØ!ŸšÑ)Ô)×/Ò/Ñ1Ô1ˆØPÐPÐPÐP ÐPÑPÔPˆ
Øð 	tÝÐr¸(ÐrÐrÐfnÐrÐrÐrÑsÔsÐsõ ÐvÐvÐkuÐvÑvÔvÑvÔvÐØ
€CØ68ÐØð hÝ‰lŒlˆÝ"Ñ$Ô$ð 	hð 	hØ!gÐ!gÕIaÐbeÑIfÔIfÐ!gÑ!gÔ!gÐð	hð 	hð 	hñ 	hô 	hð 	hð 	hð 	hð 	hð 	hð 	høøøð 	hð 	hð 	hð 	hð rÐqÐqÐqÐqÐqÐfpÐqÑqÔqÐqs   ÂCÃCÃ
Cc                 ó6  — t          | ¦  «        }|                     d¦  «        }t          |t          ¦  «        st	          d¦  «        ‚g }|D ]Ë}t          |t
          ¦  «        sŒ|                     d¦  «        }|                     d¦  «        }t          |t          ¦  «        rt          |t          ¦  «        sŒm|                     d¦  «        }|                     t          |t          |¦  «        t          |t          ¦  «        r|nd ¬¦  «        ¦  «         ŒÌ|S )NÚpluginszAInvalid marketplace payload: expected a top-level 'plugins' list.r   Úsourcer   )r   r   r   )
Ú_load_marketplace_payloadÚgetÚ
isinstanceÚlistr   Údictr   Úappendr   Ú_normalize_repo_path)r3   Úpayloadre   ÚskillsÚpluginr   rf   r   s           r!   r/   r/   \   s  € Ý'¨Ñ,Ô,€GØ�kŠk˜)Ñ$Ô$€GÝ�g�tÑ$Ô$ð \ÝÐZÑ[Ô[Ð[à%'€FØð 
ð 
ˆÝ˜&¥$Ñ'Ô'ð 	ØØ�zŠz˜&Ñ!Ô!ˆØ—’˜HÑ%Ô%ˆÝ˜$¥Ñ$Ô$ð 	­J°v½sÑ,CÔ,Cð 	ØØ—j’j Ñ/Ô/ˆØ�ŠÝØÝ.¨vÑ6Ô6Ý+5°kÅ3Ñ+GÔ+GÐQ˜K˜KÈTðñ ô ñ	
ô 	
ð 	
ð 	
ð €Mr    r5   c                 óV   ‡ ‡— dt           ddfˆ ˆfd„}t          ‰j        |||¬¦  «        S )z:Install a marketplace skill into a local skills directory.r9   r+   Nc                 óÐ   •— |                       dd¬¦  «         t          ‰‰¦  «        }t          ‰‰|| ¦  «         t          | ¦  «         | t          z                       ¦   «          d S )NTr;   )rB   Ú_list_skill_filesÚ_download_skill_filesÚ_validate_installed_skill_dirrD   rE   )r9   Úbucket_filesr3   r5   s     €€r!   rF   z,_install_marketplace_skill.<locals>.populatex   sk   ø€ Ø×Ò $°ÐÑ6Ô6Ð6Ý(¨¨eÑ4Ô4ˆÝ˜c 5¨,¸ÑDÔDÐDÝ% kÑ2Ô2Ð2Ø	Õ.Ñ	.×5Ò5Ñ7Ô7Ð7Ð7Ð7r    rG   )r   rH   r   )r3   r5   r)   r*   rF   s   ``   r!   r2   r2   u   sR   øø€ ð8�dð 8 tð 8ð 8ð 8ð 8ð 8ð 8ð 8õ ˜%œ*Ð&6ÀÐQVÐWÑWÔWÐWr    z[A-Za-z0-9][A-Za-z0-9._-]*r   rF   c                 óœ  — t                                | ¦  «        st          d| › d�¦  «        ‚|                     ¦   «                              ¦   «         }|                     dd¬¦  «         || z  }|                     ¦   «         }|r|st          d|› �¦  «        ‚|rlt          j	        |d|j
        › d�¬¦  «        5 }t          |¦  «        |j
        z  } ||¦  «         t          ||¬	¦  «         d
d
d
¦  «         n# 1 swxY w Y   |S 	  ||¦  «         n7# t          $ r* |                     ¦   «         rt          j        |¦  «         ‚ w xY w|S )aÅ  Install a skill into ``destination_root`` by calling ``populate(install_dir)`` to fill it.

    Used by both the marketplace install (populate = download from bucket) and the
    locally-generated install (populate = write content). When the install already
    exists and ``force`` is set, the new content is staged in a sibling tempdir and
    atomically swapped in, so the existing install stays intact if ``populate``
    fails halfway through.
    zInvalid skill name 'ú'.Tr;   zSkill already exists: ú.z	.install-)ÚdirÚprefix)Úexisting_dirÚ
staged_dirN)Ú_VALID_SKILL_NAMEÚ	fullmatchr   Ú
expanduserÚresolverB   rX   ÚFileExistsErrorÚtempfileÚTemporaryDirectoryr   r   Ú_atomic_replace_directoryÚ	ExceptionÚshutilÚrmtree)r   r)   rF   r*   r9   Úalready_existsÚtmp_dir_strr}   s           r!   rH   rH   …   sá  € õ  ×&Ò& tÑ,Ô,ð 8ÝÐ6¨dÐ6Ð6Ð6Ñ7Ô7Ð7Ø'×2Ò2Ñ4Ô4×<Ò<Ñ>Ô>ÐØ×Ò 4°$ÐÑ7Ô7Ð7Ø" TÑ)€KØ ×'Ò'Ñ)Ô)€Nàð F˜eð FÝÐD°{ÐDÐDÑEÔEÐEàð ÝÔ(Ð-=ÐFeÈ+ÔJZÐFeÐFeÐFeÐfÑfÔfð 	WÐjuÝ˜kÑ*Ô*¨[Ô-=Ñ=ˆJØˆH�ZÑ Ô Ð Ý%°;È:ÐVÑVÔVÐVð	Wð 	Wð 	Wñ 	Wô 	Wð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wøøøð 	Wð 	Wð 	Wð 	Wð ÐðØˆ�ÑÔÐÐøÝð ð ð Ø×ÒÑÔð 	'ÝŒM˜+Ñ&Ô&Ð&Øðøøøð Ðs   Â;4C;Ã;C?ÄC?Ä	D Ä4E	c                 ób  — t          j        ¦   «         5 }t          |¦  «        dz  }|                      t          t
          |fgd¬¦  «         t          j        |                     d¬¦  «        ¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |t          ¦  «        st          d¦  «        ‚|S )Nr   T)Úraise_on_missing_filesr?   r@   z4Invalid marketplace payload: expected a JSON object.)rƒ   r„   r   Údownload_bucket_filesr1   ÚMARKETPLACE_PATHÚjsonÚloadsÚ	read_textri   rk   r   )r3   Útmp_dirÚ
local_pathÚparseds       r!   rg   rg   ¯   sý   € Ý	Ô	$Ñ	&Ô	&ð D¨'Ý˜'‘]”]Ð%7Ñ7ˆ
Ø×!Ò!Ý$Ý 
Ð+Ð,Ø#'ð 	"ñ 	
ô 	
ð 	
õ
 ”˜J×0Ò0¸'Ð0ÑBÔBÑCÔCˆðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dõ �f�dÑ#Ô#ð OÝÐMÑNÔNÐNØ€Ms   ”A B Â BÂBro   c                 óž   — |                      ¦   «                              ¦   «         }| D ]#}|j                             ¦   «         |k    r|c S Œ$d S rW   )r_   rQ   r   )ro   rL   rT   r5   s       r!   r0   r0   ¾   sX   € Ø—^’^Ñ%Ô%×+Ò+Ñ-Ô-€NØð ð ˆØŒ:×ÒÑÔ Ò/Ð/ØˆLˆLˆLð 0àˆ4r    Úpathc                 óâ   — |                       ¦   «         }|                     d¦  «        r|dd …         }|                     d¦  «        °|                      d¦  «        }|st          d¦  «        ‚|S )Nz./r   ú/z-Invalid marketplace entry: empty source path.)r_   Ú
startswithr   )r–   Ú
normalizeds     r!   rm   rm   Æ   s{   € Ø—’‘”€JØ
×
Ò
 Ñ
%Ô
%ð $Ø   ”^ˆ
ð ×
Ò
 Ñ
%Ô
%ð $à×!Ò! #Ñ&Ô&€JØð HÝÐFÑGÔGÐGØÐr    r$   c                 ó\   — | dz  }|                      ¦   «         st          d|› �¦  «        ‚d S )Nr>   z%Installed skill is missing SKILL.md: )Úis_fileÚRuntimeError)r$   Ú
skill_files     r!   ru   ru   Ð   sD   € Ø˜ZÑ'€JØ×ÒÑÔð QÝÐOÀ:ÐOÐOÑPÔPÐPðQð Qr    c                 óÂ   — |j                              d¦  «        }d„ |                      t          |d¬¦  «        D ¦   «         }|st	          d|› dt          › d�¦  «        ‚|S )zAList all files under `skill.repo_path` in the marketplace bucket.r˜   c                 ó<   — g | ]}t          |t          ¦  «        ¯|‘ŒS r   )ri   r
   )rR   Úitems     r!   rU   z%_list_skill_files.<locals>.<listcomp>Ù   s8   € ð ð ð àÝ�d�JÑ'Ô'ðØðð ð r    T)r{   Ú	recursivezPath 'z' not found in bucket 'rx   )r   ÚrstripÚlist_bucket_treer1   ÚFileNotFoundError)r3   r5   r{   Úfiless       r!   rs   rs   Ö   s   € àŒ_×#Ò# CÑ(Ô(€Fðð à×(Ò(Õ)AÈ&Ð\`Ð(ÑaÔaðñ ô €Eð
 ð fÝÐ d¨Ð dÐ dÕH`Ð dÐ dÐ dÑeÔeÐeØ€Lr    r¦   r9   c                 óÎ  — |j                              d¦  «        }|› d�}g }|D ]ˆ}|j                             |¦  «        sŒ|j        t	          |¦  «        d…         } |j        t          |¦  «        j        Ž }	|	j         	                    dd¬¦  «         | 
                    ||	f¦  «         Œ‰|st          d|› dt          › d�¦  «        ‚|                      t          |¦  «         dS )z)Download bucket files into `install_dir`.r˜   NTr;   zNo files found under 'z' in bucket 'rx   )r   r£   r–   r™   ÚlenÚjoinpathr   ÚpartsÚparentrB   rl   r¥   r1   r�   )
r3   r5   r¦   r9   r{   Úprefix_with_slashÚdownload_specsÚbucket_fileÚrelativeÚ
local_files
             r!   rt   rt   ã   s  € àŒ_×#Ò# CÑ(Ô(€FØ!˜˜˜Ðð AC€NØð 9ð 9ˆØÔ×*Ò*Ð+<Ñ=Ô=ð 	ØØÔ#¥CÐ(9Ñ$:Ô$:Ð$<Ð$<Ô=ˆØ)�[Ô)­=¸Ñ+BÔ+BÔ+HÐIˆ
ØÔ×Ò¨°tÐÑ<Ô<Ð<Ø×Ò˜{¨JÐ7Ñ8Ô8Ð8Ð8àð lÝÐ j¸Ð jÐ jÕNfÐ jÐ jÐ jÑkÔkÐkà×ÒÕ6¸ÑGÔGÐGÐGÐGr    r|   r}   c                 ó@  — |j         | j        › d�z  }	 |                      |¦  «         |                     | ¦  «         t          j        |¦  «         d S # t
          $ r? |                     ¦   «         r)|                      ¦   «         s|                     | ¦  «         ‚ w xY w)Nz.backup)r«   r   Úrenamer‡   rˆ   r†   rX   )r|   r}   Ú
backup_dirs      r!   r…   r…   û   s·   € ØÔ"¨Ô(9Ð%BÐ%BÐ%BÑB€JðØ×Ò˜JÑ'Ô'Ð'Ø×Ò˜,Ñ'Ô'Ð'ÝŒ�jÑ!Ô!Ð!Ð!Ð!øÝð ð ð Ø×ÒÑÔð 	, |×':Ò':Ñ'<Ô'<ð 	,Ø×Ò˜lÑ+Ô+Ð+Øðøøøs   ”>A ÁA	Bc                 ó$  — t          ¦   «         }g }| D ]ü}|                     ¦   «                              ¦   «         }|                     ¦   «         sŒ=t	          |                     ¦   «         ¦  «        D ]�}|j                             d¦  «        rŒ|                     ¦   «         s|                     ¦   «         sŒF|                     ¦   «         }||v s|                     ¦   «         sŒs| 	                    |¦  «         | 
                    |¦  «         ŒžŒý|S )Nry   )Úsetr€   r�   Úis_dirÚsortedÚiterdirr   r™   Ú
is_symlinkÚaddrl   )rK   ÚseenÚ
discoveredÚrootÚchildÚresolveds         r!   r^   r^     s  € Ý‘e”e€DØ€JØð (ð (ˆØ�ŠÑ Ô ×(Ò(Ñ*Ô*ˆØ�{Š{‰}Œ}ð 	ØÝ˜DŸLšL™NœNÑ+Ô+ð 		(ð 		(ˆEØŒz×$Ò$ SÑ)Ô)ð ØØ—<’<‘>”>ð ¨%×*:Ò*:Ñ*<Ô*<ð ØØ—}’}‘”ˆHØ˜4ÐÐ x§¢Ñ'8Ô'8ÐØØ�HŠH�XÑÔÐØ×Ò˜hÑ'Ô'Ð'Ð'ð		(ð Ðr    r4   c           	      ó°  — t          |j        |d¬¦  «        }|t          z                       ¦   «         s|S |j        t          k    r`	 t          ||j        d¬¦  «         n6# t          $ r)}t          |dt          |¦  «        ¬¦  «        cY d }~S d }~ww xY wt          |d¬¦  «        S | 
                    |j                             ¦   «         ¦  «        }|€#t          |dd	|j        › d
t          › d�¬¦  «        S 	 t          | ||j        d¬¦  «         n6# t          $ r)}t          |dt          |¦  «        ¬¦  «        cY d }~S d }~ww xY wt          |d¬¦  «        S )Nr   )r   r$   r%   Tr.   r   )r%   r&   r   )r%   r-   z' is no longer available in ry   )r#   r   rD   rX   rI   rJ   r«   r†   r   r   rh   rQ   r1   r2   )r3   r$   r4   rM   ÚbaseÚexcr5   s          r!   r]   r]     s«  € õ  	¤¸)ÈKÐXÑXÔX€DàÕ/Ñ/×7Ò7Ñ9Ô9ð Øˆà„~Õ)Ò)Ð)ð	OÝ# N°IÔ4DÈDÐQÑQÔQÐQÐQøÝð 	Oð 	Oð 	OÝ˜4Ð(<ÅSÈÁXÄXÐNÑNÔNÐNÐNÐNÐNÐNÐNøøøøð	Oøøøå�t LÐ1Ñ1Ô1Ð1à×"Ò" 9¤>×#7Ò#7Ñ#9Ô#9Ñ:Ô:€EØ€}ÝØØ'Ød˜Yœ^ÐdÐdÕIaÐdÐdÐdð
ñ 
ô 
ð 	
ðKÝ" 3¨¨yÔ/?ÀtÐLÑLÔLÐLÐLøÝð Kð Kð KÝ�tÐ$8ÅÀSÁÄÐJÑJÔJÐJÐJÐJÐJÐJÐJøøøøðKøøøõ �4 Ð-Ñ-Ô-Ð-s<   ÁA Á
BÁ)BÂBÂBÃ8D Ä
EÄD?Ä9EÄ?E)FrW   )4Ú__doc__r�   Úrer‡   rƒ   Úcollections.abcr   Údataclassesr   r   Úpathlibr   r   Útypingr   r	   Úhuggingface_hub._bucketsr
   Úhuggingface_hub.errorsr   Úutilsr   Ú
_cli_utilsr   rI   r1   rŽ   rD   r'   r   r#   r   Úboolr6   rJ   rj   rc   r/   r2   Úcompiler~   rH   rk   rg   r0   rm   ru   rs   rt   r…   r^   r]   r   r    r!   ú<module>rÏ      s¾  ðØ TÐ Tà €€€Ø 	€	€	€	Ø €€€Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ð Ð à /Ð /Ð /Ð /Ð /Ð /Ø +Ð +Ð +Ð +Ð +Ð +à )Ð )Ð )Ð )Ð )Ð )Ø "Ð "Ð "Ð "Ð "Ð "ð Ð Ø/Ð Ø%Ð ð
 4Ð àÐKÔLÐ ð €�$ÐÑÔð#ð #ð #ð #ð #ñ #ô #ñ Ôð#ð €�$ÐÑÔðð ð ð ð ñ ô ñ ÔððUð U˜#ð U°ð U¸dð UÈtð Uð Uð Uð Uð^ð ^ Sð ^¸Dð ^Èð ^ÐZ^ð ^ð ^ð ^ð ^ðrð r˜˜dœð r¨s°T©zð rÐUXð rÐ]aÐbqÔ]rð rð rð rð rð* TÐ*:Ô%;ð ð ð ð ð2
Xð 
XÐ+;ð 
XÈtð 
XÐ\`ð 
XÐmqð 
Xð 
Xð 
Xð 
Xð �B”JÐ<Ñ=Ô=Ð ð ð	'ð 'Ø
ð'àð'ð ˜�v˜t�|Ô$ð'ð ð	'ð
 
ð'ð 'ð 'ð 'ðT d¨3°¨8¤nð ð ð ð ð dÐ+;Ô&<ð Èð ÐP`ÐcgÑPgð ð ð ð ð˜sð  sð ð ð ð ðQ¨Tð Q°dð Qð Qð Qð Qð
Ð"2ð 
°t¸JÔ7Gð 
ð 
ð 
ð 
ðHÐ&6ð H¸tÀJÔ?Oð HÐ^bð HÐgkð Hð Hð Hð Hð0	¨Dð 	¸dð 	Àtð 	ð 	ð 	ð 	ð 4¨¤:ð °$°t´*ð ð ð ð ð(.Øð.Ø.2°3Ð8HÐ3HÔ.Ið.Ø[^ð.àð.ð .ð .ð .ð .ð .r    