Ë
    Ò—Äj-  ã                   ó¢   — d dl Z d dlZd dlZddlmZ ddlmZmZmZ ddl	m
Z
mZ  G d„ dee
«      Z G d„ d	e j                  «      Z G d
„ d«      Zy)é    Né   )Ú
SourceFile)ÚContextÚEmbeddedCommentsÚMessage)ÚUserÚUserExceptionc                   óF   ‡ — e Zd ZdZ ej
                  d«      Zˆ fd„Zˆ xZS )ÚPythonSourcez# Encapsulate a Python source file. s.   ^[ \t\f]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)c           	      óš  •— t        ‰| �  di |¤Ž | j                  dj                  | j                  «      «       t        | j                  d«      5 }|j                  «       }ddd«       j                  dd«      j                  dd«      }d}t        |j                  d«      «      D ]P  \  }}|dkD  r nFt        j                  | j                  |«      }|sŒ0|j                  d«      j                  d	«      } n 	 |j                  |«      }| j                  dj                  | j                  «      «       	 t#        j$                  || j                  ¬«      }t/        | «      }
|
j1                  |«       t        | j                  d«      5 }d}t3        j2                  |j4                  «      D �]y  }|j6                  t2        j8                  k(  rå|j:                  j                  dd¬«      }t=        |«      dk(  sŒM|d   dk(  r+|€
t?        «       }|j@                  jC                  |d   «       Œ€|d   dk(  r|€
t?        «       }|d   |_"        ŒŸ|d   dk(  sŒ¨|d   j                  dd¬«      }t=        |«      dk(  r|jC                  d«       |€
t?        «       }|jF                  jC                  |«       �Œ|j6                  t2        jH                  k(  r�Œ%|€�Œ)|jJ                  d   }| jL                  D ]1  }|jN                  D ]  }|jP                  |k(  sŒ n d}|€Œ*||_)         n d}�Œ| 	 ddd«       y# 1 sw Y   �ŒÔxY w# t        $ r t!        d
j                  |«      «      ‚w xY w# t&        $ rM}	t!        dj                  |	j(                  |	j                  |	j*                  j-                  «       «      «      ‚d}	~	ww xY w# 1 sw Y   yxY w)ú Initialise the object. zReading {0}...ÚrbNs   
ó   
ó   zUTF-8r   ÚasciizUnsupported encoding '{0}'zParsing {0}...)Úfilenamez&Invalid syntax at line {0} of {1}:
{2}Ú )Úmaxsplité   r   z#:z#=z#~Ú © )*ÚsuperÚ__init__ÚprogressÚformatr   ÚopenÚreadÚreplaceÚ	enumerateÚsplitÚreÚmatchÚ_PEP_263ÚgroupÚdecodeÚLookupErrorr	   ÚastÚparseÚSyntaxErrorÚlinenoÚtextÚrstripÚVisitorÚvisitÚtokenizeÚreadlineÚtypeÚCOMMENTÚstringÚlenr   Úextra_commentsÚappendÚ
message_idÚextrasÚNLÚstartÚcontextsÚmessagesÚline_nrÚembedded_comments)ÚselfÚkwargsÚfÚsourceÚencodingr=   Úliner"   ÚtreeÚeÚvisitorÚcurrentÚtokenÚpartsÚcontextÚmessageÚ	__class__s                   €ú`C:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\PyQt6/lupdate/python_source.pyr   zPythonSource.__init__"   sM  ø€ ô 	‰ÑÑ"˜6Ò"ð 	�‰Ð&×-Ñ-¨d¯m©mÓ<Ô=Ü�$—-‘- Ô&¨!Ø—V‘V“XˆF÷ 'ð —‘ ¨Ó/×7Ñ7¸¸uÓEˆð ˆä& v§|¡|°EÓ':Ö;‰MˆG�TØ˜Š{Ùä—H‘H˜TŸ]™]¨DÓ1ˆEÚØ Ÿ;™; q›>×0Ñ0°Ó9�Ùð <ð	OØ—]‘] 8Ó,ˆFð
 	�‰Ð&×-Ñ-¨d¯m©mÓ<Ô=ð	DÜ—9‘9˜V¨d¯m©mÔ<ˆDô ˜$“-ˆØ�‰�dÔô �$—-‘- Ô&¨!ØˆGä!×*Ñ*¨1¯:©:×6�Ø—:‘:¤×!1Ñ!1Ò1à!ŸL™L×.Ñ.¨s¸QÐ.Ó?�EÜ˜5“z Q“Ø  ™8 tÒ+Ø&˜Ü*:Ó*< à#×2Ñ2×9Ñ9¸%À¹(ÕCØ" 1™X¨Ò-Ø&˜Ü*:Ó*< à16°q±˜GÕ.Ø" 1™X¨Ó-Ø$)¨!¡H§N¡N°3À NÓ$C˜EÜ" 5›z¨QšØ %§¡¨RÔ 0à&˜Ü*:Ó*< à#ŸN™N×1Ñ1°%Ö8à—Z‘Z¤8§;¡;Ò.ÙàÒ(ð $Ÿk™k¨!™n�Gð $(§=¤=˜Ø'.×'7Ô'7˜GØ&Ÿ™°'Ó9Ù %ð (8ð '+˜Gà"Ñ.Ø8?˜GÔ5Ù!ð $1ð #’Gñ[ 7÷ 'Ð&÷Q 'Ñ&ûô* ò 	OÜÐ <× CÑ CÀHÓ MÓNÐNð	Oûô ò 	DÜØ=×DÑDØŸH™H a§j¡j°!·&±&·-±-³/óCóDð Dûð	Dú÷ 'Ð&ús^   ÁL4Ã<M Ä8!M( ÆA.OÇ:AOÉA?OË<OÌOÌOÌ4L>Í$M%Í(	N>Í1AN9Î9N>ÏO
)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   Úcompiler#   r   Ú__classcell__©rM   s   @rN   r   r      s%   ø„ Ù-ð ˆr�z‰zÐLÓM€H÷_#ð _#ó    r   c                   ó€   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zed„ «       Z	d„ Z
edd„«       Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )r-   z/ A visitor that extracts translation contexts. c                 ó>   •— || _         g | _        t        ‰| �  «        y)z Initialise the visitor. N)Ú_sourceÚ_context_stackr   r   )r?   rB   rM   s     €rN   r   zVisitor.__init__‡   s   ø€ ð ˆŒØ ˆÔä‰ÑÕrV   c           	      óÌ  — d}t        |j                  t        j                  «      r|j                  j                  }njt        |j                  t        j
                  «      rD|j                  j                  }|dk(  r| j                  |«      }n|dk(  r| j                  |«      }nd}|dk(  r| j                  |«      }n|dk(  r| j                  |«      }|�}|j                  dk7  rn|j                  j                  j                  t        | j                   j"                  |j$                  |j                  |j&                  |j(                  «      «       | j+                  |«       y)z Visit a call. NÚ
QT_TR_NOOPÚQT_TRANSLATE_NOOPr   ÚtrÚ	translate)Ú
isinstanceÚfuncr'   Ú	AttributeÚattrÚNameÚidÚ_parse_QT_TR_NOOPÚ_parse_QT_TRANSLATE_NOOPÚ	_parse_trÚ_parse_translaterB   rK   r<   r6   r   rY   r   r*   ÚdisambiguationÚnumerusÚgeneric_visit)r?   ÚnodeÚ	call_argsÚnames       rN   Ú
visit_CallzVisitor.visit_Call�   s  € ð ˆ	ä�d—i‘i¤§¡Ô/Ø—9‘9—>‘>‰Dä˜Ÿ	™	¤3§8¡8Ô,Ø—9‘9—<‘<ˆDà�|Ò#Ø ×2Ñ2°4Ó8‘	ØÐ,Ò,Ø ×9Ñ9¸$Ó?‘	àˆDð �4Š<ØŸ™ tÓ,‰IØ�[Ò Ø×-Ñ-¨dÓ3ˆIð Ð  Y×%5Ñ%5¸Ò%;Ø×Ñ×&Ñ&×-Ñ-Ü˜DŸL™L×1Ñ1°4·;±;Ø%×,Ñ,¨i×.FÑ.FØ&×.Ñ.ó1ô2ð
 	×Ñ˜4Õ rV   c                 ó�  — 	 | j                   d   j                  dz   |j                  z   }| j                   j                  t	        |«      «       | j                  |«       | j                   j                  «       }|j                  r&| j                  j                  j                  |«       yy# t        $ r |j                  }Y Œ™w xY w)z Visit a class. éÿÿÿÿÚ.N)
rZ   ro   Ú
IndexErrorr6   r   rl   Úpopr<   rY   r;   )r?   rm   ro   rK   s       rN   Úvisit_ClassDefzVisitor.visit_ClassDef±   s§   € ð	Ø×&Ñ& rÑ*×/Ñ/°#Ñ5¸¿	¹	ÑAˆDð 	×Ñ×"Ñ"¤7¨4£=Ô1à×Ñ˜4Ô à×%Ñ%×)Ñ)Ó+ˆà×ÒØ�L‰L×!Ñ!×(Ñ(¨Õ1ð øô ò 	Ø—9‘9ŠDð	ús   ‚)B- Â-CÃCc                 ó<   — | j                   r| j                   d   S dS )z4 Return the current Context object if there is one. rr   N)rZ   )r?   s    rN   Ú_get_current_contextzVisitor._get_current_contextÂ   s"   € ð +/×*=Ò*=ˆt×"Ñ" 2Ñ&ÐGÀ4ÐGrV   c                 ó0   — |sy| j                  |d   «      S )z0 Get the first of a list of arguments as a str. Nr   )Ú_get_str)ÚclsÚargss     rN   Ú_get_first_strzVisitor._get_first_strÇ   s   € ñ
 Øà�|‰|˜D ™GÓ$Ð$rV   c                 óÂ   — | j                   j                  D ]  }|j                  |k(  sŒ|c S  t        |«      }| j                   j                  j	                  |«       |S )zA Return the Context object for a name, creating it if necessary. )rY   r;   ro   r   r6   )r?   ro   rK   s      rN   Ú_get_or_create_contextzVisitor._get_or_create_contextÑ   sQ   € ð —|‘|×,Ô,ˆGØ�|‰|˜tÓ#Ø’ð -ô ˜$“-ˆØ�‰×Ñ×$Ñ$ WÔ-àˆrV   c                 ó¢   — t        | t        j                  «      r5t        | j                  t        «      r| j                  S |r| j                  €yy)zV Return the str from a node or None if it wasn't an appropriate
        node.
        Nr   )r`   r'   ÚConstantÚvalueÚstr)rm   Ú
allow_nones     rN   rz   zVisitor._get_strÝ   s<   € ô �dœCŸL™LÔ)Ü˜$Ÿ*™*¤cÔ*Ø—z‘zÐ!á˜dŸj™jÐ0ØàrV   c                 óŒ   — | j                  «       }|€y| j                  |j                  |j                  «      }|€y||_        |S )z& Parse the arguments to QT_TR_NOOP(). N)rx   Ú_parse_noop_without_contextr|   ÚkeywordsrK   ©r?   rm   rK   rn   s       rN   rf   zVisitor._parse_QT_TR_NOOPì   sK   € ð ×+Ñ+Ó-ˆØˆ?Øà×4Ñ4°T·Y±YÀÇÁÓNˆ	ØÐØà#ˆ	ÔàÐrV   c                 óÆ   — | j                  |j                  «      }|€y| j                  |j                  dd |j                  «      }|€y| j	                  |«      |_        |S )z- Parse the arguments to QT_TRANSLATE_NOOP(). Nr   )r}   r|   r†   r‡   r   rK   ©r?   rm   ro   rn   s       rN   rg   z Visitor._parse_QT_TRANSLATE_NOOPü   se   € ð ×"Ñ" 4§9¡9Ó-ˆØˆ<Øà×4Ñ4°T·Y±Y¸q¸r°]Ø—‘óˆ	àÐØà ×7Ñ7¸Ó=ˆ	ÔàÐrV   c                 óŒ   — | j                  «       }|€y| j                  |j                  |j                  «      }|€y||_        |S )z Parse the arguments to tr(). N)rx   Ú_parse_without_contextr|   r‡   rK   rˆ   s       rN   rh   zVisitor._parse_tr  sK   € ð ×+Ñ+Ó-ˆØˆ?Øà×/Ñ/°·	±	¸4¿=¹=ÓIˆ	ØÐØà#ˆ	ÔàÐrV   c                 óÆ   — | j                  |j                  «      }|€y| j                  |j                  dd |j                  «      }|€y| j	                  |«      |_        |S )z% Parse the arguments to translate(). Nr   )r}   r|   rŒ   r‡   r   rK   rŠ   s       rN   ri   zVisitor._parse_translate  sb   € ð ×"Ñ" 4§9¡9Ó-ˆØˆ<Øà×/Ñ/°·	±	¸!¸"°¸t¿}¹}ÓMˆ	ØÐØà ×7Ñ7¸Ó=ˆ	ÔàÐrV   c                 óJ  — | j                  |«      }|€yt        |«      dkD  r| j                  |d   d¬«      }n7|D ]0  }|j                  dk(  sŒ| j                  |j                  d¬«      } n d}|€yt        |«      dkD  rd}nd|v }t        |«      d	kD  ryt        |||«      S )
zY Parse arguments for a message source and optional disambiguation
        and n.
        Nr   T)r„   rj   r   r   Úné   )r}   r4   rz   Úargr‚   ÚCallArguments)r?   r|   r‡   rB   rj   Úkwrk   s          rN   rŒ   zVisitor._parse_without_context-  sµ   € ð ×$Ñ$ TÓ*ˆØˆ>Øäˆt‹9�qŠ=Ø!Ÿ]™]¨4°©7¸t˜]ÓD‰Nã�Ø—6‘6Ð-Ó-Ø%)§]¡]°2·8±8È ]Ó%M�NÙð ð
 "$�ð Ð!Øäˆt‹9�qŠ=Ø‰Gà˜X�oˆGäˆt‹9�qŠ=Øä˜V ^°WÓ=Ð=rV   c                 ó€   — t        |«      dk7  st        |«      dk7  ry| j                  |d   «      }|€yt        |«      S )z' Parse arguments for a message source. r   r   N)r4   rz   r’   )r?   r|   r‡   rB   s       rN   r†   z#Visitor._parse_noop_without_contextO  sB   € ô ˆt‹9˜Š>œS ›]¨aÒ/Øà—‘˜t A™wÓ'ˆØˆ>Øä˜VÓ$Ð$rV   )F)rO   rP   rQ   rR   r   rp   rv   rx   Úclassmethodr}   r   Ústaticmethodrz   rf   rg   rh   ri   rŒ   r†   rT   rU   s   @rN   r-   r-   „   sh   ø„ Ù9ôò !òD2ò"Hð
 ñ%ó ð%ò
ð òó ðòò ò"ò ò  >öD%rV   r-   c                   ó   — e Zd ZdZdd„Zy)r’   z? Encapsulate the possible arguments of a translation function. c                 ó<   — d| _         || _        || _        || _        y)r   N)rK   rB   rj   rk   )r?   rB   rj   rk   s       rN   r   zCallArguments.__init__`  s!   € ð ˆŒØˆŒØ,ˆÔØˆ�rV   N)r   F)rO   rP   rQ   rR   r   r   rV   rN   r’   r’   ]  s
   „ ÙIôrV   r’   )r'   r!   r/   Úsource_filer   Útranslationsr   r   r   Úuserr   r	   r   ÚNodeVisitorr-   r’   r   rV   rN   Ú<module>r�      sJ   ðó& Û 	Û å #ß <Ñ <ß %ôe#�:˜tô e#ôPV%ˆc�o‰oô V%÷r	ò 	rV   