Ë
    :vžjß  ã            	       óf   — d Z ddlZddlZddlZddlZd„ ZdddddddddœZd„ Zdd	„Zg d
¢Z	de
fd„Zy)zJA module with various utility methods for authorization in Jupyter Server.é    Nc                  ó<   — t        j                  dt        d¬«       y)zDEPRECATED, does nothingzCjupyter_server.auth.utils.warn_disabled_authorization is deprecatedé   )Ú
stacklevelN)ÚwarningsÚwarnÚDeprecationWarning© ó    új/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jupyter_server/auth/utils.pyÚwarn_disabled_authorizationr      s   € ä‡M�MØMÜØör
   ÚreadÚwriteÚexecute)ÚGETÚHEADÚOPTIONSÚPOSTÚPUTÚPATCHÚDELETEÚ	WEBSOCKETc                  ó
  — ddl m}  g }| j                  «       D ]  }|sŒ|j                  |«       Œ i }|D ]>  }t	        j
                  |«      }|j                  }|j                  D ]  }|d   }|||<   Œ Œ@ dD ]  }d||<   Œ	 |S )zÂReturns a dictionary with all of Jupyter Server's
    request handler URL regex patterns mapped to
    their resource name.

    e.g.
    { "/api/contents/<regex_pattern>": "contents", ...}
    r   )ÚJUPYTER_SERVICE_HANDLERS)z/terminals/websocket/(\w+)z/api/terminalsz/api/terminals/(\w+)Ú	terminals)Újupyter_server.serverappr   ÚvaluesÚextendÚ	importlibÚimport_moduleÚAUTH_RESOURCEÚdefault_handlers)	r   ÚmodulesÚmod_nameÚresource_mapÚhandler_moduleÚmodÚnameÚhandlerÚ	url_regexs	            r   Úget_regex_to_resource_mapr*       sž   € õ Bà€GØ,×3Ñ3Ö5ˆÚØ�N‰N˜8Õ$ð 6ð €LÛ!ˆÜ×%Ñ% nÓ5ˆØ× Ñ ˆØ×+Ô+ˆGØ ™
ˆIØ&*ˆL˜Ò#ñ ,ð "óˆ	ð
 #.ˆ�YÒðð Ðr
   c                 ó    — |s
t        «       }|j                  «       D ]/  \  }}t        j                  |«      }|j	                  | «      sŒ-|c S  y)zºFinds the JupyterHandler regex pattern that would
    match the given URL and returns the resource name (str)
    of that handler.

    e.g.
    /api/contents/... returns "contents"
    N)r*   ÚitemsÚreÚcompileÚ	fullmatch)ÚurlÚregex_mappingÚregexÚauth_resourceÚpatterns        r   Úmatch_url_to_resourcer5   @   sI   € ñ Ü1Ó3ˆØ -× 3Ñ 3Ö 5Ñˆˆ}Ü—*‘*˜UÓ#ˆØ×Ñ˜SÕ!Ø Ò ñ !6r
   )9ÚMetisÚAdrasteaÚAmaltheaÚThebeÚIoÚEuropaÚGanymedeÚCallistoÚThemistoÚLedaÚErsaÚPandiaÚHimaliaÚLysitheaÚElaraÚDiaÚCarpoÚValetudoÚEuporieÚEuphemeÚHelikeÚEuantheÚHermippeÚ	PraxidikeÚThyoneÚ	ThelxinoeÚAnankeÚMnemeÚOrthosieÚ	HarpalykeÚIocasteÚErinomeÚAitneÚHerseÚTaygeteÚEukeladeÚCarmeÚIsonoeÚAutonoeÚPhilophrosyneÚCylleneÚPasitheeÚPasiphaeÚSpondeÚEurydomeÚKalykeÚHegemoneÚKaleÚ
KallichoreÚChaldeneÚArcheÚEireneÚKoreÚ	MegacliteÚAoedeÚ
CallirrhoeÚSinopeÚreturnc                  ó\   — t         t        j                  dt        t         «      dz
  «         S )z‰
    Get a random user-name based on the moons of Jupyter.
    This function returns names like "Anonymous Io" or "Anonymous Metis".
    r   é   )Úmoons_of_jupyterÚrandomÚrandintÚlenr	   r
   r   Úget_anonymous_usernamerv   ¤   s%   € ô
 œFŸN™N¨1¬cÔ2BÓ.CÀaÑ.GÓHÑIÐIr
   )N)Ú__doc__r   rs   r-   r   r   ÚHTTP_METHOD_TO_AUTH_ACTIONr*   r5   rr   Ústrrv   r	   r
   r   Ú<module>rz      s`   ðÙ Pó Û Û 	Û òð ØØØØØØØñ	Ð òó@!ò"PÐ ðfJ ô Jr
   