Ë
    g^(hÏ  ã                   óö   — d dl Z d dlZddlmZmZmZ ddlmZ ej                  dk  rd dl
mZ nd dlmZ  e j                  e«      ZdgZded	efd
„Zded	efd„Zded	efd„Zded	efd„Zdd„Zdd„Zded	efd„Zy)é    Né   )Úrendezvous_handler_registryÚRendezvousHandlerÚRendezvousParameters)Úcreate_handler)é   é
   )Úentry_pointsÚget_rendezvous_handlerÚparamsÚreturnc                 ó0   — ddl m} |j                  | «      S )Nr   )Ústatic_tcp_rendezvous)Ú r   Úcreate_rdzv_handler)r   r   s     úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/elastic/rendezvous/registry.pyÚ_create_static_handlerr      s   € Ý'à ×4Ñ4°VÓ<Ð<ó    c                 ó0   — ddl m} |j                  | «      S )Nr   )Úetcd_rendezvous)r   r   r   )r   r   s     r   Ú_create_etcd_handlerr   "   s   € Ý!à×.Ñ.¨vÓ6Ð6r   c                 ó>   — ddl m}  || «      \  }}t        ||| «      S ©Nr   )Úcreate_backend)Úetcd_rendezvous_backendr   r   ©r   r   ÚbackendÚstores       r   Ú_create_etcd_v2_handlerr   (   ó"   € Ý7á# FÓ+�N€GˆUä˜% ¨&Ó1Ð1r   c                 ó>   — ddl m}  || «      \  }}t        ||| «      S r   )Úc10d_rendezvous_backendr   r   r   s       r   Ú_create_c10d_handlerr#   0   r    r   c                  óÔ   — t        j                  dt        «       t        j                  dt        «       t        j                  dt        «       t        j                  dt
        «       y )NÚetcdzetcd-v2Úc10dÚstatic)Úhandler_registryÚregisterr   r   r#   r   © r   r   Ú_register_default_handlersr+   8   sF   € Ü×Ñ˜fÔ&:Ô;Ü×Ñ˜iÔ)@ÔAÜ×Ñ˜fÔ&:Ô;Ü×Ñ˜hÔ(>Õ?r   c                  ó  — t        d¬«      } | D ]E  }	 | |j                     j                  «       }t        j                  |j                   |«       «       ŒG y # t
        $ r% t        j                  d|j                  d¬«       Y Œvw xY w)Nztorchrun.handlers)Úgroupz3Exception while registering out of tree plugin %s: T)Úexc_info)r
   ÚnameÚloadr(   r)   Ú	ExceptionÚlogÚwarning)Údiscovered_handler_generatorsÚhandler_generatorÚget_handlers      r   Ú_register_out_of_tree_handlersr7   ?   s‡   € Ü$0Ð7JÔ$KÐ!à:ò 	Ðð	Ø7Ð8I×8NÑ8NÑO×TÑTÓVˆKÜ×%Ñ%Ð&7×&<Ñ&<¹k»mÕLñ	øô ò 	Ü�K‰KØEØ!×&Ñ&Øð ö ð	ús   “AAÁ+BÂBc                 ó,   — t        j                  | «      S )aL  
    Obtain a reference to a :py:class`RendezvousHandler`.

    Custom rendezvous handlers can be registered by

    ::

      from torch.distributed.elastic.rendezvous import rendezvous_handler_registry
      from torch.distributed.elastic.rendezvous.registry import get_rendezvous_handler


      def create_my_rdzv(params: RendezvousParameters):
          return MyCustomRdzv(params)


      rendezvous_handler_registry.register("my_rdzv_backend_name", create_my_rdzv)

      my_rdzv_handler = get_rendezvous_handler(
          "my_rdzv_backend_name", RendezvousParameters
      )
    )r(   r   )r   s    r   r   r   N   s   € ô, ×*Ñ*¨6Ó2Ð2r   )r   N)ÚloggingÚsysÚapir   r(   r   r   Údynamic_rendezvousr   Úversion_infoÚimportlib_metadatar
   Úimportlib.metadataÚ	getLoggerÚ__name__r2   Ú__all__r   r   r   r#   r+   r7   r   r*   r   r   ú<module>rC      sÀ   ðó Û 
÷ñ õ
 /ð ×Ñ�gÒÞ/å/à€g×Ñ˜Ó!€à#Ð
$€ð=Ð#7ð =Ð<Mó =ð7Ð!5ð 7Ð:Kó 7ð2Ð$8ð 2Ð=Nó 2ð2Ð!5ð 2Ð:Kó 2ó@óð3Ð#7ð 3Ð<Mô 3r   