Ë
    :vžjïY  ã            
      óò  — d Z ddlmZ ddlZddlZddlZddl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 ddlmZ ddlZddlmZ e	j(                  dk  rdd	lmZ ndd	lmZ d
ZdZdZ ej6                  «       d   xs eZdZdZdZdZ e	j(                  dd dk  Z!dZ"dZ#dZ$dZ%e$e$e$e$e#e#e$dddœ	Z&ed(d„«       Z'd)d„Z(d*d„Z)d*d„Z*d+d„Z+efd,d„Z,	 	 	 	 	 	 d-d „Z-d.d!„Z.efd/d"„Z/d0d#„Z0 G d$„ d%«      Z1 G d&„ d'«      Z2y)1z^
Localization utilities to find available language packs and packages with
localization data.
é    )ÚannotationsN)Ú	lru_cache)ÚPattern)ÚAny)Úparse)é   é
   )Úentry_pointszjupyterlab.languagepackzjupyterlab.localeÚenÚlocaleÚLC_MESSAGESÚ
jupyterlabz(@jupyterlab/translation-extension:pluginé   )r   é   Úach_UGÚschemaÚsettingsz jupyter.lab.internationalizationÚmenuÚtoolbar)	zproperties/.*/titlezproperties/.*/descriptionz"definitions/.*/properties/.*/titlez(definitions/.*/properties/.*/descriptionÚtitleÚdescriptionz jupyter\.lab\.setting-icon-labelzjupyter\.lab\.menus/.*/labelzjupyter\.lab\.toolbars/.*/labelc                 ó�   — t         j                  «       D � �ci c]!  \  } }t        j                  d| z   dz   «      |“Œ# c}} S c c}} w )Nú^/Ú$)ÚDEFAULT_SCHEMA_SELECTORSÚitemsÚreÚcompile)ÚpatternÚcontexts     út/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jupyterlab_server/translation_utils.pyÚ_get_default_schema_selectorsr"   C   sN   € ô !9× >Ñ >Ô @ôá @ÑˆG�Wô 	�
‰
�4˜'‘> CÑ'Ó(¨'Ñ1Ø @òð ùó s   ˜&Ac                óÈ   — i t        «       ¥| j                  t        i «      j                  dg «      D �ci c]"  }t        j                  d|z   dz   «      t
        “Œ$ c}¥S c c}w )NÚ	selectorsr   r   )r"   ÚgetÚ_lab_i18n_configr   r   Ú_default_schema_context)r   Úselectors     r!   Ú_prepare_schema_patternsr)   K   so   € ðÜ
'Ó
)ðð #ŸJ™JÔ'7¸Ó<×@Ñ@ÀÈbÔQó
áQ�ô �J‰J�t˜h‘¨Ñ,Ó-Ô/FÑFØQñ
ðð ùò
s   ´'Ac                 óL  — i } g }t        t        ¬«      D ]G  }	 t        j                  j	                  |j                  «       j                  «      | |j                  <   ŒI dj                  |«      }| |fS # t        $ r& |j                  t        j                  «       «       Y Œ�w xY w)z¿
    Get available installed language pack locales.

    Returns
    -------
    tuple
        A tuple, where the first item is the result and the second item any
        error messages.
    ©ÚgroupÚ
)r
   ÚJUPYTERLAB_LANGUAGEPACK_ENTRYÚosÚpathÚdirnameÚloadÚ__file__ÚnameÚ	ExceptionÚappendÚ	tracebackÚ
format_excÚjoin©ÚdataÚmessagesÚentry_pointÚmessages       r!   Ú$_get_installed_language_pack_localesr?   W   s�   € ð €DØ€HÜ#Ô*G×Hˆð	4Ü%'§W¡W§_¡_°[×5EÑ5EÓ5G×5PÑ5PÓ%QˆD�×!Ñ!Ò"ð Ið �i‰i˜Ó!€GØ�ˆ=Ðøô	 ò 	4Ø�O‰OœI×0Ñ0Ó2Ö3ð	4úó   ™AA4Á4,B#Â"B#c                 óL  — i } g }t        t        ¬«      D ]G  }	 t        j                  j	                  |j                  «       j                  «      | |j                  <   ŒI dj                  |«      }| |fS # t        $ r& |j                  t        j                  «       «       Y Œ�w xY w)a  
    Get available installed packages containing locale information.

    Returns
    -------
    tuple
        A tuple, where the first item is the result and the second item any
        error messages. The value for the key points to the root location
        the package.
    r+   r-   )r
   ÚJUPYTERLAB_LOCALE_ENTRYr/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   s       r!   Ú_get_installed_package_localesrC   m   s�   € ð €DØ€HÜ#Ô*A×Bˆð	4Ü%'§W¡W§_¡_°[×5EÑ5EÓ5G×5PÑ5PÓ%QˆD�×!Ñ!Ò"ð Cð �i‰i˜Ó!€GØ�ˆ=Ðøô	 ò 	4Ø�O‰OœI×0Ñ0Ó2Ö3ð	4úr@   c                ó¬   — | dv ryd}	 t         j                  j                  | «       d}|S # t         j                  j                  t
        f$ r Y |S w xY w)a	  
    Check if a `locale_` value is valid.

    Parameters
    ----------
    locale_: str
        Language locale code.

    Notes
    -----
    A valid locale is in the form language (See ISO-639 standard) and an
    optional territory (See ISO-3166 standard).

    Examples of valid locales:
    - English: DEFAULT_LOCALE
    - Australian English: "en_AU"
    - Portuguese: "pt"
    - Brazilian Portuguese: "pt_BR"

    Examples of invalid locales:
    - Australian Spanish: "es_AU"
    - Brazilian German: "de_BR"
    >   Úno_NOTF)ÚbabelÚLocaler   ÚcoreÚUnknownLocaleErrorÚ
ValueError)Úlocale_Úvalids     r!   Úis_valid_localerM   †   sf   € ð2 ð ñ ð à€EðÜ�‰×Ñ˜7Ô#Øˆð
 €Løô	 �J‰J×)Ñ)¬:Ð6ò àà€Lð	ús   ‰!, ¬#AÁAc                ó   — t        | «      r| nt        } t        |«      r|nt        }	 t        j                  j	                  | «      }|j                  |«      }|r|d   j                  «       |dd z   }|S # t        j                  $ r |}Y Œ4w xY w)a€  
    Return the language name to use with a `display_locale` for a given language locale.

    Parameters
    ----------
    locale_: str
        The language name to use.
    display_locale: str, optional
        The language to display the `locale_`.

    Returns
    -------
    str
        Localized `locale_` and capitalized language name using `display_locale` as language.
    r   é   N)rM   ÚDEFAULT_LOCALErF   rG   r   Úget_display_namerI   Úupper)rK   Údisplay_localeÚlocÚdisplay_names       r!   rQ   rQ   ¯   sŽ   € ô  )¨Ô1‰g´~€GÜ'6°~Ô'F‘^ÌN€Nð&Ü�l‰l× Ñ  Ó)ˆØ×+Ñ+¨NÓ;ˆñ Ø# A‘×,Ñ,Ó.°¸a¸bÐ1AÑAˆØÐøô	 ×#Ñ#ò &Ø%Šð&ús   ¨0A5 Á5BÂBc                ól  — | }| j                  di «      }|j                  dd«      }|j                  dd«      }|j                  di «      }|j                  dd«      }|j                  dd«      }|rC|rA||k(  r<t        |«      }t        |«      }||kD  r!| j                  «       }|j                  |«       |S )aO  
    Merge language pack data with locale data bundled in packages.

    Parameters
    ----------
    language_pack_locale_data: dict
        The dictionary with language pack locale data.
    package_locale_data: dict
        The dictionary with package locale data.

    Returns
    -------
    dict
        Merged locale data.
    Ú ÚversionNÚdomainÚNone)r%   Úparse_versionÚcopyÚupdate)	Úlanguage_pack_locale_dataÚpackage_locale_dataÚresultÚpackage_lp_metadataÚpackage_lp_versionÚpackage_lp_domainÚpackage_metadataÚpackage_versionÚpackage_domains	            r!   Úmerge_locale_datarg   Ë   sÅ   € ð$ '€FØ3×7Ñ7¸¸BÓ?ÐØ,×0Ñ0°¸DÓAÐØ+×/Ñ/°¸$Ó?Ðà*×.Ñ.¨r°2Ó6ÐØ&×*Ñ*¨9°dÓ;€OØ%×)Ñ)¨(°FÓ;€Ná™o°.ÐDUÒ2UÜ'¨Ó8ˆÜ*Ð+=Ó>ÐàÐ/Ò/à.×3Ñ3Ó5ˆFØ�M‰MÐ-Ô.à€Mó    c           
     óò  — t        «       \  }}i }|j                  d«      }|�sL|j                  «       D �]8  \  }}i }	 t        j                  j                  |t        «      }t        j                  |«      D �	ci c]P  }	t        j                  j                  t        j                  j                  ||	«      «      r|	j                  «       |	“ŒR }}	| j                  «       |v sŒ¯t        j                  j                  || j                  «          t        |› d�«      }
t        j                  j                  |
«      s�Œ
	 t!        |
d¬«      5 }t#        j$                  |«      ||<   ddd«       �Œ; |dj                  |«      fS c c}	w # t        $ r& |j                  t        j                  «       «       Y Œæw xY w# 1 sw Y   ŒVxY w# t        $ r' |j                  t        j                  «       «       Y �ŒÁw xY w)aî  
    Get all jupyterlab extensions installed that contain locale data.

    Returns
    -------
    tuple
        A tuple in the form `(locale_data_dict, message)`,
        where the `locale_data_dict` is an ordered list
        of available language packs:
            >>> {"package-name": locale_data, ...}

    Examples
    --------
    - `entry_points={"jupyterlab.locale": "package-name = package_module"}`
    - `entry_points={"jupyterlab.locale": "jupyterlab-git = jupyterlab_git"}`
    r-   ú.jsonúutf-8©ÚencodingN)rC   Úsplitr   r/   r0   r9   Ú
LOCALE_DIRÚlistdirÚisdirÚlowerr5   r6   r7   r8   ÚLC_MESSAGES_DIRÚisfileÚopenÚjsonr2   )rK   Úfound_package_localesr>   Úpackages_locale_datar<   Úpackage_nameÚpackage_root_pathÚlocalesÚlocale_pathrT   Úlocale_json_pathÚfhs               r!   Úget_installed_packages_localer   ò   s©  € ô" &DÓ%EÑ"Ð˜7ØÐØ�}‰}˜TÓ"€HÚØ/D×/JÑ/J×/LÑ+ˆLÐ+ØˆGð	8Ü Ÿg™gŸl™lÐ+<¼jÓI�ô  "Ÿz™z¨+Ô6óá6˜Ü—w‘w—}‘}¤R§W¡W§\¡\°+¸sÓ%CÔDð —I‘I“K Ñ$Ø6ð ð ð �}‰}‹ 'Ò)Ü#%§7¡7§<¡<ØØ˜GŸM™M›OÑ,Ü#Ø#�n EÐ*ó	$Ð ô —7‘7—>‘>Ð"2Ö3ð@Ü!Ð"2¸WÕEÈÜAEÇÁÈ2ÃÐ0°Ñ>÷ Fùð- 0Mð6   §¡¨8Ó!4Ð4Ð4ùò-øô
 ò 8Ø—‘¤	× 4Ñ 4Ó 6Ö7ð8ú÷ FÐEûä$ò @Ø Ÿ™¬	×(<Ñ(<Ó(>×?ð@úsN   ¾;FÁ9AFÃFÄ?GÅF:Å%GÆFÆ,F7Æ6F7Æ:G	Æ?GÇ,G6Ç5G6c                óF  — t        «       \  }}i }|j                  d«      }|síg }g }g }|D ]0  }t        |«      r|j                  |«       Œ |j                  |«       Œ2 | |v r| nt        }t        | t
        k7  rt        t        |«      ndt        t        t        «      dœi}|D ]  }t        ||«      t        ||«      dœ||<   Œ  |rKt
        |v r,|j                  t
        «       d| t
        k7  rdnddœ|t
        <   |r|j                  d|› d�«       |dj                  |«      fS )ab  
    Return the available language packs installed in the system.

    The returned information contains the languages displayed in the current
    locale.

    Parameters
    ----------
    display_locale: str, optional
        Default is DEFAULT_LOCALE.

    Returns
    -------
    tuple
        A tuple in the form `(locale_data_dict, message)`.
    r-   ÚDefault)ÚdisplayNameÚ
nativeNamezPseudo-languagezto translate the UIz#The following locales are invalid: Ú!)	r?   rn   rM   r6   rP   ÚPSEUDO_LANGUAGErQ   Úremover9   )	rS   Úfound_localesr>   r{   r<   Úinvalid_localesÚvalid_localesrK   Údisplay_locale_s	            r!   Úget_language_packsr‹   '  sA  € ô" BÓCÑ€M�7Ø€GØ�}‰}˜TÓ"€HÙØˆØˆØˆÛ$ˆGÜ˜wÔ'Ø×$Ñ$ WÕ-à×&Ñ& wÕ/ð	 %ð -;¸mÑ,K™.ÔQ_ˆäð &¬Ò8ô %¤^°_ÔEà"ä.¬~¼~ÓNñð	
ˆó %ˆGä/°¸ÓIÜ.¨w¸Ó@ñ ˆG�GÒð %ñ Ü /Ñ1Ø×&Ñ&¤Ô7à#4ð *¬_Ò<ñ .à.ñ,�œÑ(ñ Ø—‘Ð"EÀoÐEVÐVWÐ XÔYà�D—I‘I˜hÓ'Ð'Ð'rh   c                óä  — t        «       \  }}t        | «      \  }}i }|j                  d«      }|sð| t        k(  st	        | «      rÜ| |v rØ||    }t        j                  |d¬«      D ]—  \  }}}	|	D ]Œ  }
|
j                  d«      sŒ|
j                  dd«      }t
        j                  j                  ||
«      }	 t        |d¬«      5 }t        j                  |«      }ddd«       ||v r||   }t%        |«      }||<   ŒŽ Œ™ |j'                  «       D ]  \  }}||vsŒ|||<   Œ |dj                  |«      fS # 1 sw Y   Œ\xY w# t        $ r& |j                  t!        j"                  «       «       Y Œ�w xY w)	a§  
    Get a language pack for a given `locale_` and update with any installed
    package locales.

    Returns
    -------
    tuple
        A tuple in the form `(locale_data_dict, message)`.

    Notes
    -----
    We call `_get_installed_language_pack_locales` via a subprocess to
    guarantee the results represent the most up-to-date entry point
    information, which seems to be defined on interpreter startup.
    r-   F)Útopdownrj   rW   rk   rl   N)r?   r   rn   r…   rM   r/   ÚwalkÚendswithÚreplacer0   r9   ru   rv   r2   r5   r6   r7   r8   rg   r   )rK   r‡   r>   Úfound_packages_localesÚlocale_datar<   r0   ÚrootÚ__Úfilesr4   Úpkg_nameÚ	json_pathr~   Úmerged_dataÚpkg_datar;   s                    r!   Úget_language_packrš   i  sl  € ô  BÓCÑ€M�7Ü&CÀGÓ&LÑ#Ð˜GØ€KØ�}‰}˜TÓ"€HáØœÒ'¬?¸7Ô+CØ�}Ñ$à˜WÑ%ˆÜ!Ÿw™w t°U×;‰OˆD�"�eÛ�Ø—=‘= Õ)Ø#Ÿ|™|¨G°RÓ8�HÜ "§¡§¡¨T°4Ó 8�Ið@Ü! )°gÕ>À"Ü*.¯)©)°B«-˜K÷ ?ð  Ð#9Ñ9Ø#9¸(Ñ#C˜Ü&7¸ÀXÓ&N˜à,7�K Ò)ñ ð  <ð& 5×:Ñ:Ö<‰NˆH�dØ˜{Ò*Ø(,�˜HÒ%ð =ð ˜Ÿ	™	 (Ó+Ð+Ð+÷# ?Ð>ûä$ò @Ø Ÿ™¬	×(<Ñ(<Ó(>Ö?ð@ús*   Â6E ÃD4ÃE Ä4D=Ä9E Å ,E/Å.E/c                  ó`   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd	„Zdd
„Zdd„Zy)ÚTranslationBundlezI
    Translation bundle providing gettext translation functionality.
    c                ót   — || _         || _        t        j                  «       | _        | j                  |«       y)zInitialize the bundle.N)Ú_domainÚ_localeÚgettextÚNullTranslationsÚ_translatorÚupdate_locale)ÚselfrY   rK   s      r!   Ú__init__zTranslationBundle.__init__¤  s/   € àˆŒØˆŒÜ"×3Ñ3Ó5ˆÔà×Ñ˜7Õ#rh   c                ó”  — || _         d}|t        k7  rtd|› �}	 t        j                  |«      }|j                  €J ‚t
        j                  j                  t
        j                  j                  |j                  «      t        «      }t        j                  | j                  || j                   fd¬«      | _        y# t        $ r Y Œ?w xY w)z†
        Update the locale.

        Parameters
        ----------
        locale_: str
            The language name to use.
        NÚjupyterlab_language_pack_T)Ú	localedirÚ	languagesÚfallback)rŸ   rP   Ú	importlibÚimport_moduler3   r/   r0   r9   r1   ro   r5   r    Útranslationrž   r¢   )r¤   rK   r¨   Úlanguage_pack_moduleÚmods        r!   r£   zTranslationBundle.update_locale¬  s­   € ð ˆŒØˆ	Ø”nÒ$Ø%>¸w¸iÐ#HÐ ðÜ×-Ñ-Ð.BÓC�Ø—|‘|Ð/Ð/Ð/ÜŸG™GŸL™L¬¯©¯©¸¿¹Ó)FÌ
ÓS�	ô
 #×.Ñ.Ø�L‰L I¸$¿,¹,¸ÐSWô
ˆÕøô	 ò áðús   ™A.B; Â;	CÃCc                ó8   — | j                   j                  |«      S )zæ
        Translate a singular string.

        Parameters
        ----------
        msgid: str
            The singular string to translate.

        Returns
        -------
        str
            The translated string.
        )r¢   r    ©r¤   Úmsgids     r!   r    zTranslationBundle.gettextÆ  s   € ð ×Ñ×'Ñ'¨Ó.Ð.rh   c                ó<   — | j                   j                  |||«      S )ax  
        Translate a singular string with pluralization.

        Parameters
        ----------
        msgid: str
            The singular string to translate.
        msgid_plural: str
            The plural string to translate.
        n: int
            The number for pluralization.

        Returns
        -------
        str
            The translated string.
        )r¢   Úngettext©r¤   r²   Úmsgid_pluralÚns       r!   r´   zTranslationBundle.ngettextÖ  s   € ð$ ×Ñ×(Ñ(¨°¸aÓ@Ð@rh   c                ó„   — t         r| j                  j                  |«      }|S | j                  j                  ||«      }|S )a)  
        Translate a singular string with context.

        Parameters
        ----------
        msgctxt: str
            The message context.
        msgid: str
            The singular string to translate.

        Returns
        -------
        str
            The translated string.
        )ÚPY37_OR_LOWERr¢   r    Úpgettext)r¤   Úmsgctxtr²   r­   s       r!   rº   zTranslationBundle.pgettextê  sE   € õ$ Ø×*Ñ*×2Ñ2°5Ó9ˆKð Ðð ×*Ñ*×3Ñ3°G¸UÓCˆKàÐrh   c                óŒ   — t         r| j                  j                  |||«      }|S | j                  j                  ||||«      }|S )aº  
        Translate a singular string with context and pluralization.

        Parameters
        ----------
        msgctxt: str
            The message context.
        msgid: str
            The singular string to translate.
        msgid_plural: str
            The plural string to translate.
        n: int
            The number for pluralization.

        Returns
        -------
        str
            The translated string.
        )r¹   r¢   r´   Ú	npgettext)r¤   r»   r²   r¶   r·   r­   s         r!   r½   zTranslationBundle.npgettext  sN   € õ, Ø×*Ñ*×3Ñ3°E¸<ÈÓKˆKð Ðð ×*Ñ*×4Ñ4°W¸eÀ\ÐSTÓUˆKàÐrh   c                ó$   — | j                  |«      S )zà
        Shorthand for gettext.

        Parameters
        ----------
        msgid: str
            The singular string to translate.

        Returns
        -------
        str
            The translated string.
        )r    r±   s     r!   r”   zTranslationBundle.__!  s   € ð �|‰|˜EÓ"Ð"rh   c                ó(   — | j                  |||«      S )a`  
        Shorthand for ngettext.

        Parameters
        ----------
        msgid: str
            The singular string to translate.
        msgid_plural: str
            The plural string to translate.
        n: int
            The number for pluralization.

        Returns
        -------
        str
            The translated string.
        )r´   rµ   s       r!   Ú_nzTranslationBundle._n1  s   € ð$ �}‰}˜U L°!Ó4Ð4rh   c                ó&   — | j                  ||«      S )a  
        Shorthand for pgettext.

        Parameters
        ----------
        msgctxt: str
            The message context.
        msgid: str
            The singular string to translate.

        Returns
        -------
        str
            The translated string.
        )rº   )r¤   r»   r²   s      r!   Ú_pzTranslationBundle._pE  s   € ð  �}‰}˜W eÓ,Ð,rh   c                ó*   — | j                  ||||«      S )a—  
        Shorthand for npgettext.

        Parameters
        ----------
        msgctxt: str
            The message context.
        msgid: str
            The singular string to translate.
        msgid_plural: str
            The plural string to translate.
        n: int
            The number for pluralization.

        Returns
        -------
        str
            The translated string.
        )r½   )r¤   r»   r²   r¶   r·   s        r!   Ú_npzTranslationBundle._npW  s   € ð( �~‰~˜g u¨l¸AÓ>Ð>rh   N)rY   ÚstrrK   rÅ   ©rK   rÅ   ÚreturnrZ   )r²   rÅ   rÇ   rÅ   )r²   rÅ   r¶   rÅ   r·   ÚintrÇ   rÅ   )r»   rÅ   r²   rÅ   rÇ   rÅ   )
r»   rÅ   r²   rÅ   r¶   rÅ   r·   rÈ   rÇ   rÅ   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r¥   r£   r    r´   rº   r½   r”   rÀ   rÂ   rÄ   © rh   r!   rœ   rœ   Ÿ  s:   „ ñó$ó
ó4/ó Aó(ó2ó<#ó 5ó(-ô$?rh   rœ   c                  ó–   — e Zd ZU dZi Zded<   eZed
d„«       Z	e
dd„«       Ze
dd„«       Ze	 	 d	 	 	 	 	 	 	 	 	 dd„«       Zedd	„«       Zy)Ú
translatorz
    Translations manager.
    zdict[str, TranslationBundle]Ú_TRANSLATORSc                ó&   — | j                  dd«      S )zÇNormalize a domain name.

        Parameters
        ----------
        domain: str
            Domain to normalize

        Returns
        -------
        str
            Normalized domain
        Ú-Ú_)r�   )rY   s    r!   Únormalize_domainztranslator.normalize_domainv  s   € ð �~‰~˜c 3Ó'Ð'rh   c                ó°   — || j                   k(  ryt        |«      r;|| _         | j                  j                  «       D ]  \  }}|j	                  |«       Œ yy)z±
        Set locale for the translation bundles based on the settings.

        Parameters
        ----------
        locale_: str
            The language name to use.
        N)Ú_LOCALErM   rÐ   r   r£   )ÚclsrK   rÓ   Úbundles       r!   Ú
set_localeztranslator.set_locale†  sR   € ð �c—k‘kÒ!àä˜7Ô#Ø!ˆCŒKØ ×-Ñ-×3Ñ3Ö5‘	��6Ø×$Ñ$ WÕ-ñ 6ð $rh   c                ó¸   — t         j                  |«      }|| j                  v r| j                  |   }|S t        || j                  «      }|| j                  |<   |S )aY  
        Load translation domain.

        The domain is usually the normalized ``package_name``.

        Parameters
        ----------
        domain: str
            The translations domain. The normalized python package name.

        Returns
        -------
        Translator
            A translator instance bound to the domain.
        )rÏ   rÔ   rÐ   rœ   rÖ   )r×   rY   Únorm_domainÚtranss       r!   r2   ztranslator.load™  s`   € ô" !×1Ñ1°&Ó9ˆØ˜#×*Ñ*Ñ*Ø×$Ñ$ [Ñ1ˆEð
 ˆô & k°3·;±;Ó?ˆEØ,1ˆC×Ñ˜[Ñ)àˆrh   Nc           
     ó"  — |€t        |«      }|j                  «       D ]ï  \  }}|dz   |z   }t        |t        «      rHd}|j                  «       D ]  \  }}	|j	                  |«      sŒd} n |sŒP| j                  	|«      ||<   Œft        |t        «      rt        j                  | |||¬«       Œ�t        |t        «      sŒ¡t        |«      D ]A  \  }
}t        |t        «      sŒt        j                  | ||dz   t        |
«      z   dz   |¬«       ŒC Œñ y)zTranslate a schema in-place.NÚ/FT)ÚprefixÚto_translateÚ[Ú])r)   r   Ú
isinstancerÅ   Ú	fullmatchrº   ÚdictrÏ   Ú_translate_schema_stringsÚlistÚ	enumerate)Útranslationsr   rß   rà   ÚkeyÚvaluer0   Úmatchedr   r    ÚiÚelements               r!   ræ   z$translator._translate_schema_strings³  s  € ð ÐÜ3°FÓ;ˆLà Ÿ,™,ž.‰JˆC�Ø˜C‘< #Ñ%ˆDä˜%¤Ô%Ø�Ø(4×(:Ñ(:Ö(<Ñ$�G˜WØ×(Ñ(¨Õ.Ø"&˜Ùð )=ò Ø".×"7Ñ"7¸ÀÓ"G�F˜3’KÜ˜E¤4Ô(Ü×4Ñ4Ø ØØØ!-ð	 5õ ô ˜E¤4Õ(Ü"+¨EÖ"2‘J�A�wÜ% g¬tÔ4Ø Ü×8Ñ8Ø$ØØ# c™z¬C°«FÑ2°SÑ8Ø%1ð	 9õ ñ #3ñ' )rh   c                óþ   — t         j                  t        k(  r| S t         j                  | j	                  t
        i «      j	                  dt        «      «      }| j                  «       }t         j                  ||«       |S )zÐTranslate a schema.

        Parameters
        ----------
        schema: dict
            The schema to be translated

        Returns
        -------
        Dict
            The translated schema
        rY   )	rÏ   rÖ   rP   r2   r%   r&   ÚDEFAULT_DOMAINr\   ræ   )r   ré   Ú
new_schemas      r!   Útranslate_schemaztranslator.translate_schemaÛ  sd   € ô ×Ñ¤Ò/ØˆMä!—‘Ø�J‰JÔ'¨Ó,×0Ñ0°¼>ÓJó
ˆð —[‘[“]ˆ
Ü×,Ñ,¨\¸:ÔFàÐrh   )rY   rÅ   rÇ   rÅ   rÆ   )rY   rÅ   rÇ   rœ   )rW   N)
ré   r   r   rå   rß   rÅ   rà   zdict[Pattern, str] | NonerÇ   rZ   )r   rå   rÇ   rå   )rÉ   rÊ   rË   rÌ   rÐ   Ú__annotations__Ú
SYS_LOCALErÖ   ÚstaticmethodrÔ   ÚclassmethodrÙ   r2   ræ   rò   rÍ   rh   r!   rÏ   rÏ   n  s²   … ñð 24€LÐ.Ó3Ø€Gàò(ó ð(ð ò.ó ð.ð$ òó ðð2 ð Ø26ð	%Øð%àð%ð ð%ð 0ð	%ð
 
ò%ó ð%ðN òó ñrh   rÏ   )rÇ   údict[Pattern, str])r   rå   rÇ   r÷   )rÇ   ztuple[dict[str, Any], str])rK   rÅ   rÇ   Úbool)rK   rÅ   rS   rÅ   rÇ   rÅ   )r^   údict[str, Any]r_   rù   rÇ   rù   )rK   rÅ   rÇ   útuple[dict, str])rS   rÅ   rÇ   rú   )rK   rÅ   rÇ   Útuple)3rÌ   Ú
__future__r   r    r«   rv   r   r/   r   Úsysr7   Ú	functoolsr   r   Útypingr   rF   Úpackaging.versionr   r[   Úversion_infoÚimportlib_metadatar
   Úimportlib.metadatar.   rB   rP   Ú	getlocalerô   ro   rs   rð   ÚL10N_SCHEMA_NAMEr¹   r…   r'   Ú_default_settings_contextr&   r   r"   r)   r?   rC   rM   rQ   rg   r   r‹   rš   rœ   rÏ   rÍ   rh   r!   Ú<module>r     sg  ðñõ
 #ã Û Û Û Û 	Û 	Û 
Û Ý Ý Ý ã Ý 4ð ×Ñ�gÒÞ/å/ð !:Ð Ø-Ð ð €ØˆV×ÑÓ Ñ"Ò4 n€
Ø€
Ø€Ø€Ø=Ð Ø× Ñ   !Ð$¨Ñ.€ð €à"Ð Ø&Ð Ø5Ð ð 5Ø!:Ø*CØ0IØ$Ø*à)BØ%+Ø(1ñÐ ð òó ðóóó,ó2&ðR :Hô ð8$Ø-ð$ØDRð$àó$óN05ðj .<ô ?(óD1,÷lL?ñ L?÷^Eò Erh   