
    6Dh`                         S SK r SS jrg)    Nc                   ^ ^^^	 U Vs0 s H  o3R                  S5      S   U_M     snm	U Vs0 s H  oDR                  S5      S   U_M     snmUU	U 4S jn[        T	5      [        T5      -   mU4S jnTXV4$ s  snf s  snf )al  
Helper function to import submodules lazily in Python 3.7+

Parameters
----------
rel_modules: list of str
    list of submodules to import, of the form .submodule
rel_classes: list of str
    list of submodule classes/variables to import, of the form ._submodule.Foo

Returns
-------
tuple
    Tuple that should be assigned to __all__, __getattr__ in the caller
.c                   > U T;   a  TU    n[         R                  " UT5      $ U T;   aL  TU    R                  S5      nSR                  US S 5      nU n[         R                  " UT5      n[	        XT5      $ [        SR                  U TS95      e)Nr   r   z-module {__name__!r} has no attribute {name!r})name__name__)	importlibimport_modulesplitjoingetattrAttributeErrorformat)	import_name
rel_importrel_path_parts
rel_module
class_nameclass_moduleclass_namesmodule_namesparent_names	         I/var/www/html/env/lib/python3.13/site-packages/_plotly_utils/importers.py__getattr__$relative_import.<locals>.__getattr__   s     ,&%k2J**:{CC +%(5;;C@N.""56J$J$22:{KL<44;BB ; C 
 	
    c                     > T $ )N )__all__s   r   __dir__ relative_import.<locals>.__dir__/   s    r   )r   list)
r   rel_modulesrel_classesr   rel_pathr   r    r   r   r   s
   `      @@@r   relative_importr&      s      MXXKj$$S)"-z9KXLEPQ[>>#&r*H4[QK
, < 4#44G K((= YQs
   A8A=)r   r   )r	   r&   r   r   r   <module>r'      s    .)r   