§
    ìXÊjýƒ  ã            I       ó,  — d Z ddlZddlmZ ddlZddlmZmZmZm	Z	 ddl
mZmZ ddlmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZ dd	lmZmZ  ed
¬¦  «        Z ed¬¦  «        Z ee! ed¬¦  «        f         Z"ee!dz   ed¬¦  «        f         Z#ee!dz   ed¬¦  «        f         Z$ddddddddddœ	Z%ee!dz   ed e e&e%¦  «        ¦  «        d¬¦  «        f         Z'ee!dz   ed¬¦  «        f         Z(ee)dz   ed¬¦  «        f         Z*ee)dz   edd¬¦  «        f         Z+ee)dz   ed d!¬¦  «        f         Z,e -                    d"d#d$g¬%¦  «        	 	 dªd&e$d'ed(dfd)„¦   «         Z.d*d+hZ/d,ed(e0fd-„Z1e -                    d.d/d0g¬%¦  «        	 	 	 	 	 	 	 d«d&e$d2ee!dz   ed3¬¦  «        f         d4ee!dz   ed5¬¦  «        f         d6ee!dz   ed7¬¦  «        f         d8ee!dz   ed9¬¦  «        f         d:ee0 ed;d<d=¬¦  «        f         d'ed(dfd>„¦   «         Z2e -                    d?d@dAg¬B¦  «        dddddddddddddddddddddddddCœdDe"dEee! edF¬¦  «        f         dGee! edH¬¦  «        f         d6ee! edI¬¦  «        f         dJee! edK¬¦  «        f         d8ee! edL¬¦  «        f         d4ee! edM¬¦  «        f         d2ee! edN¬¦  «        f         d&e$dOee!dz   edP¬¦  «        f         d'edQee) edR¬¦  «        f         dSee) edT¬¦  «        f         dUee)dz   edV¬¦  «        f         dWeedz   edX¬¦  «        f         dYee3dz   edZ¬¦  «        f         d[ed\ee!dz   ed]d^¬¦  «        f         d_e'd`e(dae*dbee!dz   edc¬¦  «        f         ddee!dz   ede¬¦  «        f         dfe+dge,dhee!dz   edidj¬¦  «        f         dkee!dz   edldm¬¦  «        f         dnedoedpedqedree!dz   eds ee¦  «        dt¬¦  «        f         d(dfBdu„¦   «         Z4e  -                    d?dvdwg¬B¦  «        	 	 	 	 	 	 	 d¬dEee!dz   edx¬¦  «        f         dyee!dz   edz¬¦  «        f         dDe#d6ee!dz   e eg d{¢¦  «        d|¬¦  «        f         d}ee!dz   ed~¬¦  «        f         d&e$d'ed(dfd„¦   «         Z5	 	 	 	 	 	 	 d¬d6ee!dz   e eg d{¢¦  «        d€¬¦  «        f         d_ee!dz   e eg d�¢¦  «        d‚¬¦  «        f         dƒee!dz   ed„¬¦  «        f         dOee!dz   ed…¬¦  «        f         d†ed‡ee)dz   edˆ¬¦  «        f         d'ed(dfd‰„Z6 e  -                    d"dŠd‹g¬B¦  «        e6¦  «          e -                    dŒd�¬Ž¦  «        e6¦  «         e 7                    e d�¬�¦  «         e -                    d‘g¬%¦  «        	 	 dªdDe"d&e$d'ed(dfd’„¦   «         Z8e -                    g d“¢¬%¦  «        	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d­dDe"d&e$dEee!dz   edF¬¦  «        f         d6ee!dz   edI¬¦  «        f         dJee!dz   edK¬¦  «        f         d8ee!dz   edL¬¦  «        f         dGee!dz   ed”¬¦  «        f         d[ee!dz   ed•¬¦  «        f         dOee!dz   edP¬¦  «        f         d\ee!dz   ed]d–¬¦  «        f         d_e'd`e(dae*dfe+dge,dhee!dz   edid—¬¦  «        f         dkee!dz   edld˜¬¦  «        f         dQee)dz   edR¬¦  «        f         dSee)dz   edT¬¦  «        f         dUee)dz   edV¬¦  «        f         dWeedz   edX¬¦  «        f         dYee3dz   edZ¬¦  «        f         d'ed(df0d™„¦   «         Z9e -                    dšg¬%¦  «        	 	 	 d®dDe"d&e$d›ee0 edœd�¬¦  «        f         d'ed(df
dž„¦   «         Z:e -                    dŸg¬%¦  «        	 	 dªdDe"d&e$d'ed(dfd „¦   «         Z;e -                    d¡g¬%¦  «        	 	 	 d®dDe"d&e$d¢ee0 ed£d¤¬¦  «        f         d'ed(df
d¥„¦   «         Z<e -                    d¦g¬%¦  «        	 	 dªdDe"d&e$d'ed(dfd§„¦   «         Z=dddddddd¨œd\e!dz  d_e!dz  d`e!dz  dae)dz  dbe!dz  dde!dz  dfe)dz  dge)dz  d(e>dz  fd©„Z?dS )¯z2CLI commands for Hugging Face Inference Endpoints.é    N)Ú	Annotated)ÚInferenceEndpointHardwareÚInferenceEndpointScalingMetricÚInferenceEndpointTypeÚ_set_parallelism_in_image)ÚCLIErrorÚHfHubHTTPErroré   )Ú
EnvFileOptÚEnvOptÚRevisionOptÚ	SearchOptÚSecretsFileOptÚ
SecretsOptÚ
SoftChoiceÚTokenOptÚ
get_hf_apiÚparse_env_mapÚtyper_factory)ÚArgumentÚOption)Ú_dataclass_to_dictÚoutz(Manage Hugging Face Inference Endpoints.)Úhelpz.Interact with the Inference Endpoints catalog.zEndpoint name.z_The namespace associated with the Inference Endpoint. Defaults to the current user's namespace.ÚcustomÚhfServeÚllamacppÚsGLangÚteiÚtgiÚ	tgiNeuronÚvLLMÚ
vLLMNeuron)	r   zhf-server   Úsglangr   r    z
tgi-neuronÚvllmzvllm-neuronú--enginezbManaged engine image to run --custom-image with (e.g. 'vllm'). Defaults to an arbitrary container.)Ú
click_typer   zVHealth check route exposed by the container (e.g. '/health'). Requires --custom-image.zDPort the container listens on (e.g. 30000). Requires --custom-image.ú--tensor-parallel-sizezZNumber of accelerators to shard a single model copy across (vLLM and SGLang engines only).ú--data-parallel-sizezFNumber of model copies to run, one per accelerator (vLLM engine only).z	list | lszhf endpoints lsz"hf endpoints ls --namespace my-org)ÚexamplesÚ	namespaceÚtokenÚreturnc                 óº  — t          |¬¦  «        }	 |                     | |¬¦  «        }nT# t          $ rG}t          j        d|› �¦  «         t
          j                             |j        j	        ¬¦  «        |‚d}~ww xY wg }|D �]Á}|j
        }|                     di ¦  «        }|                     di ¦  «        }	|                     di ¦  «        }
|                     d	i ¦  «        }|                     |                     d
d¦  «        t          |	t          ¦  «        r|	                     dd¦  «        ndt          |t          ¦  «        r|                     dd¦  «        ndt          |	t          ¦  «        r|	                     dd¦  «        ndt          |	t          ¦  «        r|	                     dd¦  «        ndt          |
t          ¦  «        r|
                     dd¦  «        ndt          |t          ¦  «        r|                     dd¦  «        ndt          |t          ¦  «        r|                     dd¦  «        nddœ¦  «         �ŒÃt          j        |d
¬¦  «         dS )z6Lists all Inference Endpoints for the given namespace.©r,   ©r+   r,   zListing failed: ©ÚcodeNÚstatusÚmodelÚcomputeÚproviderÚnameÚ Ú
repositoryÚstateÚtaskÚ	frameworkÚinstanceTypeÚvendorÚregion)r7   r4   r3   r;   r<   Úinstancer>   r?   ©Úid_key)r   Úlist_inference_endpointsr	   r   ÚerrorÚclickÚ
exceptionsÚExitÚresponseÚstatus_codeÚrawÚgetÚappendÚ
isinstanceÚdictÚtable)r+   r,   ÚapiÚ	endpointsrD   ÚresultsÚendpointrJ   r3   r4   r5   r6   s               úXC:\Projects\Historical\venv\Lib\site-packages\huggingface_hub/cli/inference_endpoints.pyÚlsrU   l   sW  € õ ˜5Ð
!Ñ
!Ô
!€CðPØ×0Ò0¸9ÈEÐ0ÑRÔRˆ	ˆ	øÝð Pð Pð PÝŒ	Ð, UÐ,Ð,Ñ-Ô-Ð-ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøð €GØð 
ñ 
ˆØŒlˆØ—’˜ 2Ñ&Ô&ˆØ—’˜ Ñ$Ô$ˆØ—'’'˜) RÑ(Ô(ˆØ—7’7˜: rÑ*Ô*ˆØ�ŠàŸš ¨Ñ+Ô+Ý8BÀ5Í$Ñ8OÔ8OÐW˜Ÿš <°Ñ4Ô4Ð4ÐUWÝ5?ÀÍÑ5MÔ5MÐU˜&Ÿ*š* W¨bÑ1Ô1Ð1ÐSUÝ1;¸EÅ4Ñ1HÔ1HÐP˜Ÿ	š	 &¨"Ñ-Ô-Ð-ÈbÝ;EÀeÍTÑ;RÔ;RÐZ˜UŸYšY {°BÑ7Ô7Ð7ÐXZÝ?IÈ'ÕSWÑ?XÔ?XÐ`˜GŸKšK¨¸Ñ;Ô;Ð;Ð^`Ý8BÀ8ÍTÑ8RÔ8RÐZ˜(Ÿ,š, x°Ñ4Ô4Ð4ÐXZÝ8BÀ8ÍTÑ8RÔ8RÐZ˜(Ÿ,š, x°Ñ4Ô4Ð4ÐXZð	ð 	ñ	
ô 	
ð 	
ñ 	
õ „Iˆg˜fÐ%Ñ%Ô%Ð%Ð%Ð%s   ’* ª
A;´AA6Á6A;Ú
deprecatedÚnot_availableÚhwc                 óN   — | j         t          vo| j        | j        z
  | j        k    S )zhWhether the namespace can deploy one replica on this hardware right now: usable status and enough quota.)r3   Ú_UNDEPLOYABLE_STATUSESÚmax_acceleratorsÚused_acceleratorsÚnum_accelerators©rX   s    rT   Ú_is_deployabler_   “   s-   € ð 	Œ	Õ/Ð/Ðu°BÔ4GÈ"ÔJ^Ñ4^ÐbdÔbuÒ4uðó    Úhardwarezhf endpoints hardwarez4hf endpoints hardware --vendor aws --accelerator gpuFr>   z>Only show hardware hosted by this cloud provider (e.g. 'aws').r?   zEOnly show hardware available in this cloud region (e.g. 'us-east-1').ÚacceleratorzGOnly show hardware with this accelerator (e.g. 'cpu', 'gpu', 'neuron').Úinstance_typez<Only show hardware of this instance type (e.g. 'nvidia-l4').Úshow_allz-az--allzbAlso show hardware that cannot be deployed on right now (unavailable, deprecated or out of quota).c                 ó  ‡‡‡‡‡— t          |¬¦  «        }|                     | |¬¦  «        }ˆˆˆˆfd„|D ¦   «         }	ˆfd„|	D ¦   «         }
|
                     d„ ¬¦  «         d„ |
D ¦   «         }t          j        |g d¢d	¬
¦  «         t          d„ |
D ¦   «         d¦  «        x}�>t          j        d|j        › d|j        › d|j	        › d|j
        › d|j        › �
¦  «         dS |
rt          j        d¦  «         dS |	rt          j        d¦  «         dS d„ d‰d„ |D ¦   «         fd‰d„ |D ¦   «         fd‰d„ |D ¦   «         fd‰d„ |D ¦   «         ffD ¦   «         }t          j        |rdd                     |¦  «        › d�nd ¦  «         dS )!aœ  List the hardware available to deploy an Inference Endpoint on.

    Only the hardware the namespace can deploy on right now is listed: a usable status, and enough accelerator
    quota left for one replica. Use `--all` to list every combination the API returns.

    Quota is per namespace, so pass the same `--namespace` you will pass to `hf endpoints deploy`. Prices are in
    USD, per replica per hour.
    r/   r0   c                 óœ  •— g | ]È}‰�/|j                              ¦   «         ‰                     ¦   «         k    r•‰�/|j                             ¦   «         ‰                     ¦   «         k    rd‰�/|j                             ¦   «         ‰                     ¦   «         k    r3‰�/|j                             ¦   «         ‰                     ¦   «         k    ¯Æ|‘ŒÉS ©N)r>   Úlowerr?   rb   rc   )Ú.0rX   rb   rc   r?   r>   s     €€€€rT   ú
<listcomp>zhardware.<locals>.<listcomp>É   sÁ   ø€ ð ð ð àØˆN˜bœiŸošoÑ/Ô/°6·<²<±>´>ÒAÐAØˆ^˜rœyŸšÑ0Ô0°F·L²L±N´NÒBÐBØÐ  B¤N×$8Ò$8Ñ$:Ô$:¸k×>OÒ>OÑ>QÔ>QÒ$QÐ$QØÐ" bÔ&6×&<Ò&<Ñ&>Ô&>À-×BUÒBUÑBWÔBWÒ&WÐ&Wð 	ð
 'XÐ&WÐ&Wr`   c                 ó6   •— g | ]}‰st          |¦  «        ¯|‘ŒS © ©r_   )ri   rX   rd   s     €rT   rj   zhardware.<locals>.<listcomp>Ñ   s+   ø€ ÐGÐGÐG�b¨ÐGµNÀ2Ñ4FÔ4FÐGˆrÐGÐGÐGr`   c                 óB   — | j         | j        | j        | j        | j        fS rg   )r>   r?   rb   rc   r]   r^   s    rT   ú<lambda>zhardware.<locals>.<lambda>Ó   s   €  ¤¨B¬I°r´~ÀrÔGWÐY[ÔYlÐ m€ r`   )Úkeyc                 óT   — g | ]%}t          |¦  «        d |j        › d|j        › �iz  ‘Œ&S )Úquotaú/)r   r\   r[   ©ri   rX   s     rT   rj   zhardware.<locals>.<listcomp>Ö   s@   € ÐsÐsÐsÐegÕ Ñ#Ô# w°2Ô3GÐ0_Ð0_È"ÔJ]Ð0_Ð0_Ð&`Ñ`ÐsÐsÐsr`   )
r>   r?   rb   rc   Úinstance_sizeÚ	memory_gbÚgpu_memory_gbÚprice_per_hourrr   r3   Úid)ÚheadersrB   c              3   ó8   K  — | ]}t          |¦  «        ¯|V — Œd S rg   rm   rt   s     rT   ú	<genexpr>zhardware.<locals>.<genexpr>é   s/   è è € Ð?Ð?˜2­N¸2Ñ,>Ô,>Ð?�BÐ?Ð?Ð?Ð?Ð?Ð?r`   NzmDeploy on one of these, e.g.: hf endpoints deploy my-endpoint --repo <repo> --framework <framework> --vendor z
 --region z --accelerator z --instance-type z --instance-size zMNone of these can be deployed on right now, see the QUOTA and STATUS columns.zGUse '--all' to also show hardware that cannot be deployed on right now.c                 ó°   — g | ]S\  }}}|®|                      ¦   «         d„ |D ¦   «         v¯(|› d|› dd                     t          |¦  «        ¦  «        › d�‘ŒTS )Nc                 ó6   — h | ]}|                      ¦   «         ’ŒS rl   )rh   )ri   Úvs     rT   ú	<setcomp>z&hardware.<locals>.<listcomp>.<setcomp>ý   s    € Ð:TÐ:TÐ:TÈ¸1¿7º7¹9¼9Ð:TÐ:TÐ:Tr`   z 'z
' (valid: ú, ú))rh   ÚjoinÚsorted)ri   ÚflagÚvalueÚvalids       rT   rj   zhardware.<locals>.<listcomp>õ   s   € ð 	
ð 	
ð 	
á"��e˜Uð Ð  U§[¢[¡]¤]Ð:TÐ:TÈeÐ:TÑ:TÔ:TÐ%TÐ%Tð ÐCÐC�uÐCÐC¨¯	ª	µ&¸±-´-Ñ(@Ô(@ÐCÐCÐCð &UÐ%TÐ%Tr`   z--vendorc                 ó   — h | ]	}|j         ’Œ
S rl   )r>   rt   s     rT   r€   zhardware.<locals>.<setcomp>ø   ó   € Ð%HÐ%HÐ%H°B b¤iÐ%HÐ%HÐ%Hr`   z--regionc                 ó   — h | ]	}|j         ’Œ
S rl   )r?   rt   s     rT   r€   zhardware.<locals>.<setcomp>ù   r‰   r`   z--acceleratorc                 ó   — h | ]	}|j         ’Œ
S rl   )rb   rt   s     rT   r€   zhardware.<locals>.<setcomp>ú   s   € Ð/WÐ/WÐ/WÀ2°´Ð/WÐ/WÐ/Wr`   z--instance-typec                 ó   — h | ]	}|j         ’Œ
S rl   )rc   rt   s     rT   r€   zhardware.<locals>.<setcomp>û   s   € Ð3]Ð3]Ð3]È°BÔ4DÐ3]Ð3]Ð3]r`   zNo such hardware: z; ú.zCNo hardware matches all of these filters at once. Try dropping one.)r   Ú!list_inference_endpoints_hardwareÚsortr   rO   ÚnextÚhintr>   r?   rb   rc   ru   rƒ   )r+   r>   r?   rb   rc   rd   r,   rP   Úhardware_listÚmatchingÚvisibleÚitemsrX   Úunknowns    `````        rT   ra   ra   š   s˜  øøøøø€ õV ˜5Ð
!Ñ
!Ô
!€CØ×9Ò9ÀIÐUZÐ9Ñ[Ô[€Mðð ð ð ð ð ð àðñ ô €Hð HÐGÐGÐG˜HÐGÑGÔG€Gà‡L‚LÐmÐm€LÑnÔnÐnð tÐsÐkrÐsÑsÔs€EÝ„IØð
ð 
ð 
ð ðñ ô ð õ$ Ð?Ð? Ð?Ñ?Ô?ÀÑFÔFÐFˆÐSÝŒðUØœ	ðUð UØ-/¬YðUð UØGIÄ~ðUð Uà!Ô/ðUð UàBDÔBRðUð Uñ	
ô 	
ð 	
ð 	
ð 	
ð
 
ð 
ÝŒÐ`ÑaÔaÐaÐaÐaØ	ð 
ÝŒÐZÑ[Ô[Ð[Ð[Ð[ð	
ð 	
ð ˜VÐ%HÐ%H¸-Ð%HÑ%HÔ%HÐIØ˜VÐ%HÐ%H¸-Ð%HÑ%HÔ%HÐIØ  +Ð/WÐ/WÈÐ/WÑ/WÔ/WÐXØ" MÐ3]Ð3]È}Ð3]Ñ3]Ô3]Ð^ð	'ð	
ñ 	
ô 	
ˆõ 	ŒàðWÐ6 §¢¨7Ñ!3Ô!3Ð6Ð6Ð6Ð6ð Wñ		
ô 	
ð 	
ð 	
ð 	
r`   ÚdeployzChf endpoints deploy my-endpoint --repo gpt2 --framework pytorch ...z hf endpoints deploy my-endpoint --repo openai/gpt-oss-120b --framework custom --engine vllm --custom-image vllm/vllm-openai:v0.23.0 --tensor-parallel-size 8 ...)r7   r*   )r+   r;   r,   Úmin_replicaÚmax_replicaÚscale_to_zero_timeoutÚscaling_metricÚscaling_thresholdÚrevisionÚcustom_imageÚengineÚhealth_routeÚportÚcontainer_registry_usernameÚcontainer_registry_passwordÚtensor_parallel_sizeÚdata_parallel_sizeÚcontainer_commandÚcontainer_argsÚenvÚenv_fileÚsecretsÚsecrets_fileÚendpoint_typer7   ÚrepozeThe name of the model repository associated with the Inference Endpoint (e.g. 'openai/gpt-oss-120b').r<   z@The machine learning framework used for the model (e.g. 'vllm').z?The hardware accelerator to be used for inference (e.g. 'cpu').ru   zNThe size or type of the instance to be used for hosting the model (e.g. 'x4').zYThe cloud instance type where the Inference Endpoint will be deployed (e.g. 'intel-icl').zTThe cloud region in which the Inference Endpoint will be created (e.g. 'us-east-1').zVThe cloud provider or vendor where the Inference Endpoint will be hosted (e.g. 'aws').r;   zCThe task on which to deploy the model (e.g. 'text-classification').r˜   zVThe minimum number of replicas (instances) to keep running for the Inference Endpoint.r™   zRThe maximum number of replicas (instances) to scale to for the Inference Endpoint.rš   zFThe duration in minutes before an inactive endpoint is scaled to zero.r›   z!The metric reference for scaling.rœ   zeThe scaling metric threshold used to trigger a scale up. Ignored when scaling metric is not provided.r�   rž   z--custom-imagezhDocker image URL for the container to run (e.g. 'nexagi/sglang:v0.5.12'). Requires '--framework custom'.rŸ   r    r¡   r¢   zGUsername used to authenticate with the registry hosting --custom-image.r£   zPOptional password used to authenticate with the registry hosting --custom-image.r¤   r¥   r¦   z--container-commandzpOverride the container entrypoint, as a quoted string split into tokens (e.g. "python -m sglang.launch_server").r§   z--container-argsz~Arguments appended to the container entrypoint, as a quoted string split into tokens (e.g. "--tp 8 --reasoning-parser qwen3").r¨   r©   rª   r«   r¬   z--typezTEndpoint access type. Defaults to 'authenticated' (token-gated, publicly reachable).c          
      ó¢  — t          ||||||||¬¦  «        } d„ t          ||¦  «                             ¦   «         D ¦   «         }!d„ t          ||¦  «                             ¦   «         D ¦   «         }"i }#|�||#d<   | �| |#d<   |�||#d<   |�||#d<   |rt          j        |¦  «        |#d	<   |rt          j        |¦  «        |#d
<   |!r|!|#d<   |"r|"|#d<   t          |
¬¦  «        }$ |$j        d!i d| “d|“d|“d|“d|“d|“d|“d|“d|“d|	“d|
“d|“d|“d|“d|“d|“d|“|#¤Ž}%t          j        |%j	        ¦  «         t          j
        d| › d �¦  «         dS )"zÎDeploy an Inference Endpoint from a Hub repository.

    Run `hf endpoints hardware` to list the valid `--vendor`, `--region`, `--accelerator`, `--instance-type` and
    `--instance-size` combinations.
    ©rŸ   r    r¡   r¢   r£   r¤   r¥   c                 ó   — i | ]
\  }}||pd “ŒS ©r8   rl   ©ri   rp   r†   s      rT   ú
<dictcomp>zdeploy.<locals>.<dictcomp>¬  s"   € ÐWÐWÐW¡J C¨ˆs�E�K˜RÐWÐWÐWr`   c                 ó   — i | ]
\  }}||pd “ŒS r±   rl   r²   s      rT   r³   zdeploy.<locals>.<dictcomp>­  s"   € ÐcÐcÐc©
¨¨U�3˜˜ ÐcÐcÐcr`   NÚtyperž   r¢   r£   r¦   r§   r¨   rª   r/   r7   r9   r<   rb   ru   rc   r?   r>   r+   r;   r,   r˜   r™   r›   rœ   rš   r�   úUse 'hf endpoints describe ú!' to check the deployment status.rl   )Ú_build_custom_imager   r•   ÚshlexÚsplitr   Úcreate_inference_endpointr   rN   rJ   r‘   )&r7   r­   r<   rb   ru   rc   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¬   Úcustom_image_dictÚenv_mapÚsecrets_mapÚparamsrP   rS   s&                                         rT   r—   r—     s_  € õt ,ØØØ!ØØ$?Ø$?Ø1Ø-ð	ñ 	ô 	Ðð XÐWµ-ÀÀXÑ2NÔ2N×2TÒ2TÑ2VÔ2VÐWÑWÔW€GØcÐcµmÀGÈ\Ñ6ZÔ6Z×6`Ò6`Ñ6bÔ6bÐcÑcÔc€Kð €FØÐ Ø&ˆˆv‰ØÐ$Ø!2ˆˆ~ÑØ"Ð.Ø0KˆÐ,Ñ-Ø"Ð.Ø0KˆÐ,Ñ-Øð EÝ&+¤kÐ2CÑ&DÔ&DˆÐ"Ñ#Øð ?Ý#(¤;¨~Ñ#>Ô#>ˆÐÑ Øð  Øˆˆu‰Øð (Ø'ˆˆyÑå
˜5Ð
!Ñ
!Ô
!€CØ,ˆsÔ,ð ð ð ØˆTðà�4ðð �)ðð  �Kð	ð
 $�mðð $�mðð ˆvðð ˆvðð �)ðð ˆTðð ˆeðð  �Kðð  �Kðð &�~ðð ,Ð+ðð  4Ð3ð!ð" �Ø
ð%ð €Hõ( „HˆXŒ\ÑÔÐÝ„HÐR¨4ÐRÐRÐRÑSÔSÐSÐSÐSr`   zChf endpoints catalog deploy --repo meta-llama/Llama-3.2-1B-Instructz>hf endpoints catalog deploy --recipe sizzling-biryani-g4xsi1acz£The name of the model repository associated with the Inference Endpoint (e.g. 'openai/gpt-oss-120b'). Deploys its default recipe. Mutually exclusive with --recipe.ÚrecipezoThe id of the catalog recipe to deploy, as listed by 'hf endpoints catalog ls'. Mutually exclusive with --repo.)ÚcpuÚgpuÚneuronzDThe hardware accelerator to be used for inference. Only with --repo.Ú	gguf_filezUThe GGUF file to deploy, for models that have one recipe per quant. Only with --repo.c           	      ó¨  — | du |du k    rt          d¦  «        ‚t          |¬¦  «        }	 |                     | ||||||¬¦  «        }nT# t          $ rG}	t	          j        d|	› �¦  «         t          j                             |	j	        j
        ¬¦  «        |	‚d}	~	ww xY wt	          j        |j        ¦  «         t	          j        d|j        › d�¦  «         dS )	aw  Deploy an Inference Endpoint from the Model Catalog.

    Catalog models are deployed through a recipe: a hardware and engine combination that has been tested for them.
    Pass --repo to deploy the default recipe of a model, optionally narrowed down with --accelerator and
    --gguf-file, or pass --recipe to deploy an exact recipe listed by `hf endpoints catalog ls`.
    NzWProvide exactly one of --repo or --recipe. List recipes with 'hf endpoints catalog ls'.r/   )Úrepo_idÚ	recipe_idr7   rb   rÄ   r+   r,   zDeployment failed: r1   r¶   r·   )r   r   Ú&create_inference_endpoint_from_catalogr	   r   rD   rE   rF   rG   rH   rI   rN   rJ   r‘   r7   )
r­   rÀ   r7   rb   rÄ   r+   r,   rP   rS   rD   s
             rT   Údeploy_from_catalogrÉ   Û  s  € ð\ 	�ˆ˜& D˜.Ò)Ð)ÝÐpÑqÔqÐqå
˜5Ð
!Ñ
!Ô
!€CðPØ×=Ò=ØØØØ#ØØØð >ñ 
ô 
ˆˆøõ ð Pð Pð PÝŒ	Ð/¨Ð/Ð/Ñ0Ô0Ð0ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøõ „HˆXŒ\ÑÔÐÝ„HÐ[¨8¬=Ð[Ð[Ð[Ñ\Ô\Ð\Ð\Ð\s   «A Á
BÁABÂBz.Only show recipes running on this accelerator.)r   r$   r   r%   z0Only show recipes running this inference engine.Úlicensez8Only show models under this license (e.g. 'Apache 2.0').z8Only show models for this task (e.g. 'text-generation').ÚsearchÚlimitz%Limit the number of models to return.c           	      óœ  — t          |¬¦  «        }	 |                     | ||||||¬¦  «        }nT# t          $ rG}	t          j        d|	› �¦  «         t
          j                             |	j        j	        ¬¦  «        |	‚d}	~	ww xY wd„ |D ¦   «         }
t          j
        |
d¬¦  «         |
r%t          j        d	|
d
         d         › �¦  «         dS dS )z¿List the models available in the Model Catalog.

    One row per recipe, i.e. per tested way of deploying a model. Deploy one with
    `hf endpoints catalog deploy --recipe <RECIPE_ID>`.
    r/   )rb   rŸ   rÊ   r;   rË   rÌ   r,   zCatalog fetch failed: r1   Nc                 ó|   — g | ]9}|j         D ]/}|j        |j        |j        |j        |j        |j        |j        d œ‘Œ0Œ:S ))rÆ   r;   rÊ   rb   rŸ   rÄ   rÇ   )ÚrecipesrÆ   r;   rÊ   rb   rŸ   rÄ   ry   )ri   r4   rÀ   s      rT   rj   z list_catalog.<locals>.<listcomp>N  so   € ð ð ð ð Ø”mðð ð ð ”}Ø”JØ”}Ø!Ô-Ø”mØÔ)Øœð	
ð 	
ðð ð ð r`   rÇ   rA   z6Deploy one with: hf endpoints catalog deploy --recipe r   )r   Úlist_inference_catalogr	   r   rD   rE   rF   rG   rH   rI   rO   r‘   )rb   rŸ   rÊ   r;   rË   rÌ   r,   rP   ÚmodelsrD   r•   s              rT   Úlist_catalogrÒ     s!  € õ@ ˜5Ð
!Ñ
!Ô
!€CðPØ×+Ò+Ø#ØØØØØØð ,ñ 
ô 
ˆˆøõ ð Pð Pð PÝŒ	Ð2¨5Ð2Ð2Ñ3Ô3Ð3ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøðð ð ðñ ô €Eõ „Iˆe˜KÐ(Ñ(Ô(Ð(Øð cÝŒÐaÈ%ÐPQÌ(ÐS^ÔJ_ÐaÐaÑbÔbÐbÐbÐbðcð cs   ’/ ¯
B ¹AA;Á;B zhf endpoints catalog lsz%hf endpoints catalog ls --engine vllmzlist-catalogT)r7   ÚhiddenÚcatalog©r7   z!hf endpoints describe my-endpointc                 ó4  — t          |¬¦  «        }	 |                     | ||¬¦  «        }nT# t          $ rG}t          j        d|› �¦  «         t
          j                             |j        j	        ¬¦  «        |‚d}~ww xY wt          j
        |j        ¦  «         dS )z+Get information about an existing endpoint.r/   ©r7   r+   r,   zFetch failed: r1   N)r   Úget_inference_endpointr	   r   rD   rE   rF   rG   rH   rI   rN   rJ   ©r7   r+   r,   rP   rS   rD   s         rT   ÚdescriberÚ   i  s®   € õ ˜5Ð
!Ñ
!Ô
!€CðPØ×-Ò-°4À9ÐTYÐ-ÑZÔZˆˆøÝð Pð Pð PÝŒ	Ð* 5Ð*Ð*Ñ+Ô+Ð+ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøõ „HˆXŒ\ÑÔÐÐÐó   ’+ «
A<µAA7Á7A<)z/hf endpoints update my-endpoint --min-replica 2z8hf endpoints update my-endpoint --tensor-parallel-size 8zdhf endpoints update my-endpoint --container-args "--enable-auto-tool-choice --tool-call-parser lfm2"zBThe machine learning framework used for the model (e.g. 'custom').zrThe specific model revision to deploy on the Inference Endpoint (e.g. '6c0e6080953db56375760c0471a8c5f2929baf11').a  Docker image URL for the container to run (e.g. 'nexagi/sglang:v0.5.12'). Replaces the image currently configured on the endpoint rather than patching it, so pass the engine and container settings you want to keep along with it, run 'hf endpoints describe NAME' first to see them.z®Override the container entrypoint, as a quoted string split into tokens (e.g. "python -m sglang.launch_server"). Replaces the current value; pass an empty string to clear it.a_  Arguments appended to the container entrypoint, as a quoted string split into tokens (e.g. "--enable-auto-tool-choice --tool-call-parser lfm2"). Replaces the arguments currently set on the endpoint rather than adding to them, so include the ones you want to keep, run 'hf endpoints describe NAME' first to see them. Pass an empty string to clear them.c                 óø  — t          |	|
|||	�|nd|	�|nd¬¦  «        }t          |¬¦  «        }	 |                     | |||||||�t          j        |¦  «        nd|�t          j        |¦  «        nd|	€|nd|	€|nd|||||||||¬¦  «        }nT# t
          $ rG}t          j        d|› �¦  «         t          j	         
                    |j        j        ¬¦  «        |‚d}~ww xY wt          j        |j        ¦  «         dS )zUpdate an existing endpoint.N)rŸ   r    r¡   r¤   r¥   r/   )r7   r+   r9   r<   r�   r;   rž   r¦   r§   r¤   r¥   rb   ru   rc   r˜   r™   rš   r›   rœ   r,   zUpdate failed: r1   )r¸   r   Úupdate_inference_endpointr¹   rº   r	   r   rD   rE   rF   rG   rH   rI   rN   rJ   )r7   r+   r­   rb   ru   rc   r<   r�   r;   rž   rŸ   r    r¡   r¤   r¥   r¦   r§   r˜   r™   rš   r›   rœ   r,   r¼   rP   rS   rD   s                              rT   ÚupdaterÞ   z  sn  € õ| ,ØØØ!ØØ5AÐ5MÐ1Ð1ÐSWØ1=Ð1IÐ-Ð-Ètðñ ô Ðõ ˜5Ð
!Ñ
!Ô
!€CðPØ×0Ò0ØØØØØØØ*Ø@QÐ@]�eœkÐ*;Ñ<Ô<Ð<ÐcgØ:HÐ:T�5œ; ~Ñ6Ô6Ð6ÐZ^Ø9EÐ9MÐ!5Ð!5ÐSWØ5AÐ5IÐ1Ð1ÈtØ#Ø'Ø'Ø#Ø#Ø"7Ø)Ø/Øð) 1ñ 
ô 
ˆˆøõ, ð Pð Pð PÝŒ	Ð+ EÐ+Ð+Ñ,Ô,Ð,ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøõ „HˆXŒ\ÑÔÐÐÐs   ¯AB Â
CÂACÃCzhf endpoints delete my-endpointÚyesz--yeszSkip confirmation prompts.c                 ój  — t          j        d| › d�|¬¦  «         t          |¬¦  «        }	 |                     | ||¬¦  «         nT# t          $ rG}t          j        d|› �¦  «         t          j                             |j	        j
        ¬¦  «        |‚d}~ww xY wt          j        d	| › d
�| ¬¦  «         dS )z)Delete an Inference Endpoint permanently.zDelete endpoint 'z'?)rß   r/   r×   zDelete failed: r1   Nz	Deleted 'z'.rÕ   )r   Úconfirmr   Údelete_inference_endpointr	   rD   rE   rF   rG   rH   rI   Úresult)r7   r+   rß   r,   rP   rD   s         rT   Údeleterä     sß   € õ „KÐ, DÐ,Ð,Ð,°#Ð6Ñ6Ô6Ð6å
˜5Ð
!Ñ
!Ô
!€CðPØ×%Ò%¨4¸9ÈEÐ%ÑRÔRÐRÐRøÝð Pð Pð PÝŒ	Ð+ EÐ+Ð+Ñ,Ô,Ð,ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøõ „JÐ#˜4Ð#Ð#Ð#¨$Ð/Ñ/Ô/Ð/Ð/Ð/s   ¬A Á
BÁABÂBzhf endpoints pause my-endpointc                 ó4  — t          |¬¦  «        }	 |                     | ||¬¦  «        }nT# t          $ rG}t          j        d|› �¦  «         t
          j                             |j        j	        ¬¦  «        |‚d}~ww xY wt          j
        |j        ¦  «         dS )zPause an Inference Endpoint.r/   r×   zPause failed: r1   N)r   Úpause_inference_endpointr	   r   rD   rE   rF   rG   rH   rI   rN   rJ   rÙ   s         rT   Úpauserç   6  s®   € õ ˜5Ð
!Ñ
!Ô
!€CðPØ×/Ò/°TÀYÐV[Ð/Ñ\Ô\ˆˆøÝð Pð Pð PÝŒ	Ð* 5Ð*Ð*Ñ+Ô+Ð+ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøõ „HˆXŒ\ÑÔÐÐÐrÛ   zhf endpoints resume my-endpointÚfail_if_already_runningz--fail-if-already-runningzWIf `True`, the method will raise an error if the Inference Endpoint is already running.c                 ó8  — t          |¬¦  «        }	 |                     | ||| ¬¦  «        }nT# t          $ rG}t          j        d|› �¦  «         t
          j                             |j        j	        ¬¦  «        |‚d}~ww xY wt          j
        |j        ¦  «         dS )zResume an Inference Endpoint.r/   )r7   r+   r,   Ú
running_okzResume failed: r1   N)r   Úresume_inference_endpointr	   r   rD   rE   rF   rG   rH   rI   rN   rJ   )r7   r+   rè   r,   rP   rS   rD   s          rT   Úresumerì   G  s¾   € õ ˜5Ð
!Ñ
!Ô
!€Cð	PØ×0Ò0ØØØØ2Ð2ð	 1ñ 
ô 
ˆˆøõ ð Pð Pð PÝŒ	Ð+ EÐ+Ð+Ñ,Ô,Ð,ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøõ „HˆXŒ\ÑÔÐÐÐs   ’- ­
A>·AA9Á9A>z&hf endpoints scale-to-zero my-endpointc                 ó4  — t          |¬¦  «        }	 |                     | ||¬¦  «        }nT# t          $ rG}t          j        d|› �¦  «         t
          j                             |j        j	        ¬¦  «        |‚d}~ww xY wt          j
        |j        ¦  «         dS )z$Scale an Inference Endpoint to zero.r/   r×   zScale To Zero failed: r1   N)r   Ú scale_to_zero_inference_endpointr	   r   rD   rE   rF   rG   rH   rI   rN   rJ   rÙ   s         rT   Úscale_to_zerorï   c  s®   € õ ˜5Ð
!Ñ
!Ô
!€CðPØ×7Ò7¸TÈYÐ^cÐ7ÑdÔdˆˆøÝð Pð Pð PÝŒ	Ð2¨5Ð2Ð2Ñ3Ô3Ð3ÝÔ×#Ò#¨¬Ô)CÐ#ÑDÔDÈ%ÐOøøøøðPøøøõ „HˆXŒ\ÑÔÐÐÐrÛ   r¯   c                ó¦  — | €R|||||||dœ}d„ |                      ¦   «         D ¦   «         x}	r&t          dd                     |	¦  «        › d�¦  «        ‚dS |�|€t          d¦  «        ‚|�|�t          d¦  «        ‚|€|€|�t          d	¦  «        ‚d
| i}
|�||
d<   |�||
d<   |€|
S t          t                               ||¦  «        |
i||¬¦  «        S )a  Build the `custom_image` argument of `HfApi` from the flat image flags.

    A bare image URL describes a custom container and is passed flat, `HfApi` keys it as `custom`. `--engine`
    selects a managed engine image instead, whose config is keyed by the API's variant name. An engine this
    version doesn't know about is forwarded as typed, so the API names the bad variant.
    N)r&   z--health-routez--portz--container-registry-usernamez--container-registry-passwordr(   r)   c                 ó   — g | ]	\  }}|®|‘Œ
S rg   rl   )ri   r…   r†   s      rT   rj   z'_build_custom_image.<locals>.<listcomp>‘  s!   € ÐUÐUÐU™[˜T 5À5ÐCT�DÐCTÐCTÐCTr`   z&--custom-image is required when using r�   r�   zE--container-registry-password requires --container-registry-username.zWContainer registry credentials can only be set for a custom container without --engine.zV--tensor-parallel-size and --data-parallel-size require --engine (e.g. --engine vllm).ÚurlÚhealthRouter¡   )r¤   r¥   )r•   r   rƒ   r   ÚENGINE_IMAGE_KEYSrK   )rž   rŸ   r    r¡   r¢   r£   r¤   r¥   Úimage_flagsÚusedÚconfigs              rT   r¸   r¸   t  sC  € ð" Ðð Ø*ØØ-HØ-HØ&:Ø$6ð
ð 
ˆð VÐU¨K×,=Ò,=Ñ,?Ô,?ÐUÑUÔUÐUˆ4ð 	XÝÐVÀDÇIÂIÈdÁOÄOÐVÐVÐVÑWÔWÐWØˆtà"Ð.Ð3NÐ3VÝÐ^Ñ_Ô_Ð_ØÐÐ9ÐEÝÐpÑqÔqÐqà€~Ð/Ð;Ð?QÐ?]õ ÐoÑpÔpÐpà˜<Ð(€FØÐØ ,ˆˆ}ÑØÐØˆˆv‰Ø€~Øˆõ %Ý	×	Ò	˜v vÑ	.Ô	.°Ð7Ø1Ø-ðñ ô ð r`   )NN)NNNNNFN)NNNNNNN)NNNNNNNNNNNNNNNNNNNNNN)NFN)@Ú__doc__r¹   Útypingr   rE   Ú$huggingface_hub._inference_endpointsr   r   r   r   Úhuggingface_hub.errorsr   r	   Ú
_cli_utilsr   r   r   r   r   r   r   r   r   r   r   Ú
_frameworkr   r   Ú_outputr   r   Úie_cliÚcatalog_appÚstrÚNameArgÚNameOptÚNamespaceOptrô   ÚlistÚ	EngineOptÚHealthRouteOptÚintÚPortOptÚTensorParallelSizeOptÚDataParallelSizeOptÚcommandrU   rZ   Úboolr_   ra   Úfloatr—   rÉ   rÒ   Ú	add_grouprÚ   rÞ   rä   rç   rì   rï   rN   r¸   rl   r`   rT   ú<module>r     sH  ðØ 8Ð 8à €€€Ø Ð Ð Ð Ð Ð à €€€ðð ð ð ð ð ð ð ð ð ð ð ð <Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð )Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ð 
ˆÐFÐ	GÑ	GÔ	G€àˆmÐ!QÐRÑRÔR€ð ØØ€HÐ"Ð#Ñ#Ô#ð%ô€ð Øˆ$�JØ
€FÐ Ð!Ñ!Ô!ð#ô€ð
 Øˆ$�JØ
€FØnðñ ô ðô€ð ØØØØØØØØð
ð 
Ð ð Øˆ$�JØ
€FØØ�:˜d˜dÐ#4Ñ5Ô5Ñ6Ô6Øqðñ ô ðô€	ð Øˆ$�JØ
€FØeðñ ô ðô€ð Øˆ$�JØ
€FØSðñ ô ðô€ð "Øˆ$�JØ
€FØ Øiðñ ô ðôÐ ð  Øˆ$�JØ
€FØØUðñ ô ðôÐ ð ‡‚�Ð'8Ð:^Ð&_€Ñ`Ô`à"Øð&ð &Øð&àð&ð 
ð&ð &ð &ñ aÔ`ð&ðF '¨Ð8Ð ðÐ0ð °Tð ð ð ð ð ‡‚ØàØ>ðð ñ ô ð #ð 	ð 	ð 	ð 	ð 	Øð5c
ð c
Øðc
àØˆd‰
ØˆÐTÐUÑUÔUð	Wôðc
ð Øˆd‰
ØˆÐ[Ð\Ñ\Ô\ð	^ôðc
ð Øˆd‰
ØˆÐ]Ð^Ñ^Ô^ð	`ôðc
ð Øˆd‰
ØˆÐRÐSÑSÔSð	Uôðc
ð$ ØØˆØØØuð	
ñ 	
ô 	
ð	ôð%c
ð4 ð5c
ð6 
ð7c
ð c
ð c
ñô ðc
ðL ‡‚Ø	àMð	Oðð ñ ô ðj #ð 	Øð 	
ð 	
ð 	ð 	ð 	Ø ð 	ØØ#'Øð 	ð 	Ø26Ø.2ð 	ð 	ØØØØ#'ð 	ðWITð ITð ITØ
ðITà
ØØˆØxð	
ñ 	
ô 	
ð	ôðITð ØØˆØSð	
ñ 	
ô 	
ð	ôðITð ØØˆØRð	
ñ 	
ô 	
ð	ôðITð( ØØˆØað	
ñ 	
ô 	
ð	ôð)ITð4 ØØˆØlð	
ñ 	
ô 	
ð	ôð5ITð@ ØØˆØgð	
ñ 	
ô 	
ð	ôðAITðL ØØˆØið	
ñ 	
ô 	
ð	ôðMITðZ ð[ITð\ Øˆd‰
ØˆØVð	
ñ 	
ô 	
ð	ôð]ITðh ðiITðj ØØˆØið	
ñ 	
ô 	
ð	ôðkITðv ØØˆØeð	
ñ 	
ô 	
ð	ôðwITðB %Øˆd‰
ØˆØYð	
ñ 	
ô 	
ð	ôðCITðN Ø&¨Ñ-ØˆØ4ð	
ñ 	
ô 	
ð	ôðOITðZ !Ø�‰ØˆØxð	
ñ 	
ô 	
ð	ôð[ITðf ðgITðh Øˆd‰
ØˆØØ{ð	
ñ 	
ô 	
ð	ôðiITðv ðwITðx !ðyITðz ð{ITð| "+Øˆd‰
ØˆØZð	
ñ 	
ô 	
ð	ô"ð}ITðH "+Øˆd‰
ØˆØcð	
ñ 	
ô 	
ð	ô"ðIITðT 0ðUITðV ,ðWITðX !Øˆd‰
ØˆØ!ð;ð	
ñ 	
ô 	
ð	ô	ðYITðl Øˆd‰
ØˆØð<ð	
ñ 	
ô 	
ð	ô	ðmITð@ 
ðAITðB ðCITðD ðEITðF !ðGITðH Øˆd‰
ØˆØØ!�zÐ"7Ñ8Ô8Øgð	
ñ 	
ô 	
ð	ôðIITðX 
ðYITð ITð ITñô ðITðX ×ÒØ	àMØHðð ñ ô ð 	ð 	Øð 	ð 	Ø"Øð=:]ð :]Ø
Øˆd‰
ØˆðMð	
ñ 	
ô 	
ð	ôð:]ð Øˆd‰
Øˆð/ð	
ñ 	
ô 	
ð	ôð:]ð ð:]ð  Øˆd‰
ØˆØ!�zÐ":Ð":Ð":Ñ;Ô;ØWð	
ñ 	
ô 	
ð	ôð!:]ð. Øˆd‰
ØˆØhð	
ñ 	
ô 	
ð	ôð/:]ð: ð;:]ð< ð=:]ð> 
ð?:]ð :]ð :]ñô ð:]ðH 	ð 	ð 	ð 	ØØY]Øð3>cð >cØØˆd‰
ØˆØ!�zÐ":Ð":Ð":Ñ;Ô;ØAð	
ñ 	
ô 	
ð	ôð>cð Øˆd‰
ØˆØ!�zÐ"GÐ"GÐ"GÑHÔHØCð	
ñ 	
ô 	
ð	ôð>cð Øˆd‰
ØˆÐNÐOÑOÔOð	Qôð>cð& Øˆd‰
ØˆÐNÐOÑOÔOð	Qôð'>cð. ð/>cð0 �S˜4‘Z  Ð-TÐ!UÑ!UÔ!UÐUÔVð1>cð2 ð3>cð4 
ð5>cð >cð >cð >cðB u€× Ò ˜Ð0IÐKrÐ/sÐ Ñ tÔ tØñô ð ð 1€‡‚�N¨4€Ñ 0Ô 0°Ñ >Ô >Ð >ð × Ò � 9Ð Ñ -Ô -Ð -ð ‡‚Ð=Ð>€Ñ?Ô?ð #Øðð Ø
ðàðð ðð 
ð	ð ð ñ @Ô?ðð  ‡‚ðð ð ð ñ ô ð #ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ØØ#'ØØ26Ø.2ð 	ð 	ð 	ð 	ð 	ð 	ð 	Øðe[ð [Ø
ð[àð[ð Øˆd‰
ØˆØxð	
ñ 	
ô 	
ð	ôð[ð Øˆd‰
ØˆØRð	
ñ 	
ô 	
ð	ôð[ð Øˆd‰
ØˆØað	
ñ 	
ô 	
ð	ôð[ð* Øˆd‰
ØˆØlð	
ñ 	
ô 	
ð	ôð+[ð6 Øˆd‰
ØˆØUð	
ñ 	
ô 	
ð	ôð7[ðB Øˆd‰
Øˆð Fð	
ñ 	
ô 	
ð	ôðC[ðN Øˆd‰
ØˆØVð	
ñ 	
ô 	
ð	ôðO[ðZ Øˆd‰
ØˆØðoð	
ñ 	
ô 	
ð	ô
ð[[ðp ðq[ðr !ðs[ðt ðu[ðv 0ðw[ðx ,ðy[ðz !Øˆd‰
ØˆØ!ð4ð	
ñ 	
ô 	
ð	ô
ð{[ðP Øˆd‰
ØˆØðfð	
ñ 	
ô 	
ð		ôðQ[ðh Øˆd‰
ØˆØið	
ñ 	
ô 	
ð	ôði[ðt Øˆd‰
ØˆØeð	
ñ 	
ô 	
ð	ôðu[ð@ %Øˆd‰
ØˆØYð	
ñ 	
ô 	
ð	ôðA[ðL Ø&¨Ñ-ØˆØ4ð	
ñ 	
ô 	
ð	ôðM[ðX !Ø�‰ØˆØxð	
ñ 	
ô 	
ð	ôðY[ðd ðe[ðf 
ðg[ð [ð [ñô ð[ð| ‡‚Ð;Ð<€Ñ=Ô=ð #ð 	Øð0ð 0Ø
ð0àð0ð 
ØØˆˆwÐ9Ð:Ñ:Ô:ð	<ô
ð0ð ð0ð 
ð0ð 0ð 0ñ >Ô=ð0ð, ‡‚Ð:Ð;€Ñ<Ô<ð #Øðð Ø
ðàðð ðð 
ð	ð ð ñ =Ô<ðð  ‡‚Ð;Ð<€Ñ=Ô=ð #ð 	Øðð Ø
ðàðð 'ØØˆØ'Øjð	
ñ 	
ô 	
ð	ôðð ðð 
ðð ð ñ >Ô=ðð6 ‡‚ÐBÐC€ÑDÔDð #Øðð Ø
ðàðð ðð 
ð	ð ð ñ EÔDðð& Ø#ØØ.2Ø.2Ø'+Ø%)ð8ð 8ð 8Ø˜‘*ð8ð �$‰Jð8ð ˜‘*ð	8ð
 �‰*ð8ð "% t¡ð8ð "% t¡ð8ð  ™*ð8ð ˜d™
ð8ð 
ˆD�[ð8ð 8ð 8ð 8ð 8ð 8r`   