§
    ÇÁ³gS  ã                  óž   — d dl mZ d dlZd dlmZmZ d dlmZmZ g d¢Z	 ej
        d¦  «        Z ede¦  «        Z G d„ d	e¦  «        Zdd„ZdS )é    )ÚannotationsN)ÚNewTypeÚcast)Ú
EXCEPTIONSÚLICENSES)ÚNormalizedLicenseExpressionÚInvalidLicenseExpressionÚcanonicalize_license_expressionz^[A-Za-z0-9.-]*$r   c                  ó   — e Zd ZdZdS )r	   zõRaised when a license-expression string is invalid

    >>> canonicalize_license_expression("invalid")
    Traceback (most recent call last):
        ...
    packaging.licenses.InvalidLicenseExpression: Invalid license expression: 'invalid'
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úY/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/packaging/licenses/__init__.pyr	   r	   2   s   € € € € € ðð ð ð r   r	   Úraw_license_expressionÚstrÚreturnc                ó.  ‡— | sd| ›�}t          |¦  «        ‚|                      dd¦  «                             dd¦  «        }dŠˆfd„|                     ¦   «         D ¦   «         }|                     ¦   «         }|                     ¦   «         }g }|D ]s}|dvr|                     d	¦  «         Œ|d
k    r|                     d¦  «         Œ8|dk    r |r|d         dvrd| ›�}t          |¦  «        ‚|                     |¦  «         Œtd                     |¦  «        }	 t          |t          ¦   «         t          ¦   «         ¦  «        }n# t          $ r d}Y nw xY w|durd| ›�}t          |¦  «        d ‚g }	|D �]P}|dv r(|	                     | 
                    ¦   «         ¦  «         Œ/|	rP|	d         dk    rD|t          vrd|›�}t          |¦  «        ‚|	                     t          |         d         ¦  «         Œ�|                     d¦  «        r|d d…         }
d}n|}
d}|
                     d¦  «        rNt                               |
¦  «        sd|
›�}t          |¦  «        ‚|	                     ||
         |z   ¦  «         �Œ
|
t           vrd|
›�}t          |¦  «        ‚|	                     t           |
         d         |z   ¦  «         �ŒRd                     |	¦  «        }t#          t$          |                     dd¦  «                             dd¦  «        ¦  «        S )NzInvalid license expression: ú(z ( ú)z ) úLicenseRef-c                óÜ   •— i | ]h}|                      ¦   «                              ‰                      ¦   «         ¦  «        ¯;|                      ¦   «         d |t          ‰¦  «        d…         z   “ŒiS )r   N)ÚlowerÚ
startswithÚlen)Ú.0ÚrefÚlicenseref_prefixs     €r   ú
<dictcomp>z3canonicalize_license_expression.<locals>.<dictcomp>G   su   ø€ ð ð ð àØ�9Š9‰;Œ;×!Ò!Ð"3×"9Ò"9Ñ";Ô";Ñ<Ô<ðØ�	Š	‰Œ�] S­Ð->Ñ)?Ô)?Ð)AÐ)AÔ%BÑBðð ð r   >   ÚorÚandÚwithr   r   ÚFalser$   r"   éÿÿÿÿ>   r"   r#   ú TFÚWITHzUnknown license exception: Úidú+Ú zlicenseref-zInvalid licenseref: zUnknown license: z( z ))r	   ÚreplaceÚsplitr   ÚappendÚjoinÚevalÚglobalsÚlocalsÚ	ExceptionÚupperr   Úendswithr   Úlicense_ref_allowedÚmatchr   r   r   )r   ÚmessageÚlicense_expressionÚlicense_refsÚtokensÚpython_tokensÚtokenÚpython_expressionÚinvalidÚnormalized_tokensÚfinal_tokenÚsuffixÚnormalized_expressionr    s                @r   r
   r
   <   s±  ø€ ð "ð 0ØKÐ1GÐKÐKˆÝ& wÑ/Ô/Ð/ð 0×7Ò7¸¸UÑCÔC×KÒKÈCÐQVÑWÔWÐØ%Ððð ð ð à%×+Ò+Ñ-Ô-ðñ ô €Lð ,×1Ò1Ñ3Ô3Ðà×%Ò%Ñ'Ô'€Fð
 €MØð 	(ð 	(ˆØÐ7Ð7Ð7Ø× Ò  Ñ)Ô)Ð)Ð)Ø�fŠ_ˆ_Ø× Ò  Ñ&Ô&Ð&Ð&Ø�cŠ\ˆ\˜mˆ\°¸bÔ0AÈÐ0VÐ0VØOÐ5KÐOÐOˆGÝ*¨7Ñ3Ô3Ð3à× Ò  Ñ'Ô'Ð'Ð'àŸš Ñ/Ô/ÐðÝÐ(­'©)¬)µV±X´XÑ>Ô>ˆˆøÝð ð ð Øˆˆˆðøøøð �eÐÐØKÐ1GÐKÐKˆÝ& wÑ/Ô/°TÐ9ð ÐØð Oñ OˆØÐ3Ð3Ð3Ø×$Ò$ U§[¢[¡]¤]Ñ3Ô3Ð3Øàð 	OÐ!2°2Ô!6¸&Ò!@Ð!@Ø�JÐ&Ð&ØA¸ÐAÐA�Ý.¨wÑ7Ô7Ð7à×$Ò$¥Z°Ô%6°tÔ%<Ñ=Ô=Ð=Ð=à�~Š~˜cÑ"Ô"ð Ø# C R Cœj�Ø��à#�Ø�à×%Ò% mÑ4Ô4ð 	OÝ*×0Ò0°Ñ=Ô=ð <ØD°[ÐDÐD�GÝ2°7Ñ;Ô;Ð;Ø!×(Ò(¨°kÔ)BÀVÑ)KÑLÔLÐLÑLà¥hÐ.Ð.ØA°+ÐAÐA�GÝ2°7Ñ;Ô;Ð;Ø!×(Ò(­°+Ô)>¸tÔ)DÀvÑ)MÑNÔNÐNÑNàŸHšHÐ%6Ñ7Ô7ÐåÝ#Ø×%Ò% d¨CÑ0Ô0×8Ò8¸¸sÑCÔCñô ð s   Ä)E ÅEÅE)r   r   r   r   )Ú
__future__r   ÚreÚtypingr   r   Úpackaging.licenses._spdxr   r   Ú__all__Úcompiler6   r   r   Ú
ValueErrorr	   r
   r   r   r   ú<module>rK      sÚ   ðð@ #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø  Ð  Ð  Ð  Ð  Ð  Ð  Ð  à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð €ð !�b”jÐ!3Ñ4Ô4Ð à%˜gÐ&CÀSÑIÔIÐ ðð ð ð ð ˜zñ ô ð ðUð Uð Uð Uð Uð Ur   