ó
    ñZjv  ã                   óê  • S SK JrJr  S SKJr  S SKJrJrJrJ	r	J
r
  SSKJrJrJr  \" SS9 " S S	5      5       rS
S
S
SSSSSS.r\" 1 Sk5      r\S1-
  r\R(                  \\R*                  \\R,                  \0r\R0                  \R2                  \" S\\S90\R4                  \R2                  \" S\\S900rS\
\\4   S\4S jrS\S\S\
\\4   S\S\	\   4
S jr SS\S\S\	\   S\\   4S jjrg)é    )Ú	dataclassÚfield)ÚEnum)Ú	FrozenSetÚListÚMappingÚOptionalÚUnioné   )Ú	ModelTypeÚ
OCRVersionÚTaskTypeT)Úfrozenc                   ór   • \ rS rSr% \\S'   \\\\   4   \S'   \	" \
S9r\\\4   \S'   S\S\\   4S jrS	rg
)Ú
ModelRouteé   Úmodel_key_templateÚsupported_langs_by_model_type)Údefault_factoryÚaliasesÚ
model_typeÚreturnc                 óJ   • U R                   R                  U[        5       5      $ ©N)r   ÚgetÚ	frozenset)Úselfr   s     ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/rapidocr/utils/model_resolver.pyÚsupported_langsÚModelRoute.supported_langs   s   € Ø×1Ñ1×5Ñ5°jÄ)Ã+ÓNÐNó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚstrÚ__annotations__r   r   r   r   Údictr   r   Ú__static_attributes__r"   r!   r   r   r      sN   ‡ àÓØ#*¨9°iÀ±nÐ+DÑ#EÓEÙ!&°tÑ!<€GˆW�S˜#�XÑÓ<ðO¨)ð O¸	À#¹÷ Or!   r   ÚchÚchinese_chtÚjapanÚkorean)ÚzhÚzh_cnzzh-cnÚzh_twzzh-twÚjaÚjpÚko>4   ÚafÚazÚbsÚcar+   ÚcsÚcyÚdaÚdeÚenÚesÚetÚeuÚfiÚfrÚgaÚglÚhrÚhuÚidÚisÚitÚkuÚlaÚlbÚltÚlvÚmiÚmsÚmtÚnlÚnoÚocÚplÚptÚquÚrmÚroÚskÚslÚsqÚsvÚswÚtlÚtrÚuzÚvir-   ÚfrenchÚgermanÚrs_latinr,   zmulti_PP-OCRv6_det_{model_type})r   r   r   zmulti_PP-OCRv6_rec_{model_type}Ú	lang_typer   c                 ó˜   • [        U [        5      (       a  U R                  nO[        U 5      nUR	                  5       R                  5       $ r   )Ú
isinstancer   Úvaluer'   ÚstripÚlower)rf   Úlangs     r   Únormalize_langrm   q   s6   € Ü�)œT×"Ñ"Ø�‰‰ä�9‹~ˆà�:‰:‹<×ÑÓÐr!   Ú	task_typeÚocr_versionr   c                 ó€  • [         R                  U 0 5      R                  U5      nUc  g [        U5      nUR                  R                  XU5      nUR	                  U5      nXV;  a7  [        SU R                   SU< SUR                   SUR                   S3	5      eUR                  R                  UR                  S9$ )NzUnsupported z.lang_type=z for Ú z model.)r   )	ÚMODEL_ROUTESr   rm   r   r   Ú
ValueErrorri   r   Úformat)rn   ro   rf   r   Úrouterl   r   s          r   Úresolve_model_keyrv   z   sÀ   € ô ×Ñ˜Y¨Ó+×/Ñ/°Ó<€EØ�}Øä˜)Ó$€DØ�=‰=×Ñ˜TÓ(€DØ×+Ñ+¨JÓ7€OàÓ"ÜØ˜9Ÿ?™?Ð+¨;°t±h¸eØ× Ñ Ð!  :×#3Ñ#3Ð"4°Gð=ó
ð 	
ð
 ×#Ñ#×*Ñ*°j×6FÑ6FÐ*ÐGÐGr!   Nc                 ó  • [         R                  U 0 5      R                  U5      nUc  / $ Ub  [        UR                  U5      5      $ [	        5       nUR
                  R                  5        H  nUR                  U5        M     [        U5      $ r   )rr   r   Úsortedr   Úsetr   ÚvaluesÚupdate)rn   ro   r   ru   r   Úlangss         r   Úlist_supported_langsr}   ‘   s€   € ô
 ×Ñ˜Y¨Ó+×/Ñ/°Ó<€EØ�}Øˆ	àÑÜ�e×+Ñ+¨JÓ7Ó8Ð8ä“e€OØ×4Ñ4×;Ñ;Ö=ˆØ×Ñ˜uÖ%ñ >ä�/Ó"Ð"r!   r   ) Údataclassesr   r   Úenumr   Útypingr   r   r   r	   r
   Útypingsr   r   r   r   ÚCOMMON_LANG_ALIASESr   ÚPP_OCRV6_LANGSÚPP_OCRV6_TINY_LANGSÚTINYÚSMALLÚMEDIUMÚPP_OCRV6_LANGS_BY_MODEL_TYPEÚDETÚPPOCRV6ÚRECrr   r'   rm   rv   r}   r"   r!   r   Ú<module>rŒ      s‘  ð÷ )Ý ß <Õ <ç 4Ñ 4ñ �$Ñ÷Oð Oó ðOð ØØØØØ
Ø
Ø
ñ	Ð ñ ò5ó7€ðp %¨ yÑ0Ð à‡N�NÐ'Ø‡O�O�^Ø×Ñ�nð Ð ð ‡L�LØ×Ñ™JØ@Ø*FØ'ñ
ðð ‡L�LØ×Ñ™JØ@Ø*FØ'ñ
ðð€ð$ ˜e D¨# IÑ.ð  °3ô  ðHØðHàðHð �T˜3�YÑðHð ð	Hð
 ˆc�]ôHð4 '+ñ#Øð#àð#ð ˜Ñ#ð#ð 
ˆ#�Yö	#r!   