ó
    ““,jó»  ã                   ó  • S SK r S SKrS SKrS r " S S\5      r\ R                   " S S\5      5       r\ R                   " S S\5      5       r " S	 S
\5      r	 " S S\5      r
S rS rS rSr " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r\R.                   " S! S"\5      5       r " S# S$\5      r\r\R.                   " S% S&\5      5       rg)'é    Nc                 ój   • U =(       a+    U S   S:H  =(       a    U R                  5       =(       a    U S:g  $ )Nr   Ú0)Úisdigit©Úvalues    Ú£C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\semantic_version/base.pyÚ_has_leading_zeror	   
   s6   € Ø÷ Ø�a‘˜C‘÷à—‘“÷ð ˜‘ðó    c                   ó$   • \ rS rSr/ rS rS rSrg)ÚMaxIdentifieré   c                 ó   • g)NzMaxIdentifier()© ©Úselfs    r   Ú__repr__ÚMaxIdentifier.__repr__   s   € Ø r
   c                 ó,   • [        XR                  5      $ ©N©Ú
isinstanceÚ	__class__©r   Úothers     r   Ú__eq__ÚMaxIdentifier.__eq__   ó   € Ü˜%§¡Ó0Ð0r
   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__r   r   Ú__static_attributes__r   r
   r   r   r      s   † Ø€Iò!õ1r
   r   c                   ó2   • \ rS rSrS/rS rS rS rS rSr	g)	ÚNumericIdentifieré   r   c                 ó$   • [        U5      U l        g r   )Úintr   ©r   r   s     r   Ú__init__ÚNumericIdentifier.__init__   s   € Ü˜“Zˆ�
r
   c                 ó    • SU R                   -  $ )NzNumericIdentifier(%r)r   r   s    r   r   ÚNumericIdentifier.__repr__"   s   € Ø&¨¯©Ñ3Ð3r
   c                 ój   • [        U[        5      (       a  U R                  UR                  :H  $ [        $ r   )r   r%   r   ÚNotImplementedr   s     r   r   ÚNumericIdentifier.__eq__%   s)   € Ü�eÔ.×/Ñ/Ø—:‘: §¡Ñ,Ð,ÜÐr
   c                 óÂ   • [        U[        5      (       a  g[        U[        5      (       a  g[        U[        5      (       a  U R                  UR                  :  $ [
        $ ©NT)r   r   ÚAlphaIdentifierr%   r   r/   r   s     r   Ú__lt__ÚNumericIdentifier.__lt__*   sI   € Ü�eœ]×+Ñ+ØÜ˜œ×/Ñ/ØÜ˜Ô0×1Ñ1Ø—:‘: §¡Ñ+Ð+ä!Ð!r
   r   N©
r   r   r    r!   r"   r*   r   r   r4   r#   r   r
   r   r%   r%      s   † à�	€Iò ò4òõ
"r
   r%   c                   ó2   • \ rS rSrS/rS rS rS rS rSr	g)	r3   é5   r   c                 ó0   • UR                  S5      U l        g )NÚascii)Úencoder   r)   s     r   r*   ÚAlphaIdentifier.__init__9   s   € Ø—\‘\ 'Ó*ˆ�
r
   c                 ó    • SU R                   -  $ )NzAlphaIdentifier(%r)r   r   s    r   r   ÚAlphaIdentifier.__repr__<   s   € Ø$ t§z¡zÑ1Ð1r
   c                 ój   • [        U[        5      (       a  U R                  UR                  :H  $ [        $ r   )r   r3   r   r/   r   s     r   r   ÚAlphaIdentifier.__eq__?   s(   € Ü�eœ_×-Ñ-Ø—:‘: §¡Ñ,Ð,ÜÐr
   c                 óÂ   • [        U[        5      (       a  g[        U[        5      (       a  g[        U[        5      (       a  U R                  UR                  :  $ [
        $ )NTF)r   r   r%   r3   r   r/   r   s     r   r4   ÚAlphaIdentifier.__lt__D   sI   € Ü�eœ]×+Ñ+ØÜ˜Ô0×1Ñ1ØÜ˜œ×/Ñ/Ø—:‘: §¡Ñ+Ð+ä!Ð!r
   r   Nr6   r   r
   r   r3   r3   5   s   † à�	€Iò+ò2òõ
"r
   r3   c                   óL  • \ rS rSr\R
                  " S5      r\R
                  " S5      r       SS jr\	SS j5       r
S rS rS	 rSS
 jr\	SS j5       r\	S S j5       r\	SS j5       r\	S 5       rS rS rS rS rSS jr\S 5       rS rS rS rS rS rS rS r Sr!g)!ÚVersionéO   zB^(\d+)\.(\d+)\.(\d+)(?:-([0-9a-zA-Z.-]+))?(?:\+([0-9a-zA-Z.-]+))?$zL^(\d+)(?:\.(\d+)(?:\.(\d+))?)?(?:-([0-9a-zA-Z.-]*))?(?:\+([0-9a-zA-Z.-]*))?$Nc                 óB  • U(       a  [         R                  " S[        SS9  US LnX#s=L =(       a(    Us=L =(       a    Us=L =(       a    Us=L =(       a    S L Os  (       + n	X‰-  (       d  [        S5      eU(       a  U R	                  X5      u  p#pEnOB[        U=(       d    S5      nU(       d  [        U=(       d    S5      nU R                  X#XEXg5        X l        X0l        X@l	        XPl
        X`l        Xpl        U R                  SS9U l        U R                  SS9U l        g )	NzIPartial versions will be removed in 3.0; use SimpleSpec('1.x.x') instead.é   ©Ú
stacklevelz6Call either Version('1.2.3') or Version(major=1, ...).r   F)Ú
with_buildT)ÚwarningsÚwarnÚDeprecationWarningÚ
ValueErrorÚparseÚtupleÚ_validate_kwargsÚmajorÚminorÚpatchÚ
prereleaseÚbuildÚpartialÚ_build_precedence_keyÚ_cmp_precedence_keyÚ_sort_precedence_key)
r   Úversion_stringrR   rS   rT   rU   rV   rW   Úhas_textÚ	has_partss
             r   r*   ÚVersion.__init__T   sý   € ö Ü�MŠMØ[Ü"Øòð
 "¨Ð-ˆØ×OÒO¨5×OÒO°J×OÒOÀ%×OÒOÈ4ÓOÔPˆ	Ø×#ÜÐUÓVÐVæØ59·Z±ZÀÓ5XÑ2ˆE˜%©Uô ˜z×/¨RÓ0ˆJÞÜ˜eŸk rÓ*�Ø×!Ñ! %°À5ÔRàŒ
ØŒ
ØŒ
Ø$ŒØŒ
àŒð $(×#=Ñ#=ÈÐ#=Ð#OˆÔ à$(×$>Ñ$>È$Ð$>Ð$OˆÕ!r
   c                 ó0   • Uc	  U(       a  U$ [        U5      $ r   )r(   )Úclsr   Ú
allow_nones      r   Ú_coerceÚVersion._coerce   s   € à‰=žZØˆLÜ�5‹zÐr
   c                 óò   • U R                   (       aD  U R                  U R                  s=:X  a  S:X  a#  O  O [        U R                  SSU R
                  S9$ [        U R                  S-   SSU R
                  S9$ ©Nr   ©rR   rS   rT   rW   é   )rU   rS   rT   rD   rR   rW   r   s    r   Ú
next_majorÚVersion.next_major…   se   € Ø�?�?˜tŸz™z¨T¯Z©ZÕ<¸1Ö<ÜØ—j‘jØØØŸ™ñ	ð ô Ø—j‘j 1‘nØØØŸ™ñ	ð r
   c                 óò   • U R                   (       a:  U R                  S:X  a*  [        U R                  U R                  SU R
                  S9$ [        U R                  U R                  S-   SU R
                  S9$ re   )rU   rT   rD   rR   rS   rW   r   s    r   Ú
next_minorÚVersion.next_minor•   sc   € Ø�?�?˜tŸz™z¨Q›ÜØ—j‘jØ—j‘jØØŸ™ñ	ð ô Ø—j‘jØ—j‘j 1‘nØØŸ™ñ	ð r
   c                 óú   • U R                   (       a4  [        U R                  U R                  U R                  U R
                  S9$ [        U R                  U R                  U R                  S-   U R
                  S9$ )Nrf   rg   )rU   rD   rR   rS   rT   rW   r   s    r   Ú
next_patchÚVersion.next_patch¥   sa   € Ø�?�?ÜØ—j‘jØ—j‘jØ—j‘jØŸ™ñ	ð ô Ø—j‘jØ—j‘jØ—j‘j 1‘nØŸ™ñ	ð r
   c                 óJ  • US:X  a  U $ US:X  a?  [        U R                  U R                  U R                  U R                  U R
                  S9$ US:X  a4  [        U R                  U R                  U R                  U R
                  S9$ US:X  a=  [        U R                  U R                  U R
                  (       a  SOSU R
                  S9$ US	:X  aF  [        U R                  U R
                  (       a  SOSU R
                  (       a  SOSU R
                  S9$ [        S
U-  5      e)z@Return a new Version object, truncated up to the selected level.rV   rU   )rR   rS   rT   rU   rW   rT   rf   rS   Nr   rR   zInvalid truncation level `%s`.)rD   rR   rS   rT   rU   rW   rN   )r   Úlevels     r   ÚtruncateÚVersion.truncateµ   sÿ   € à�GÓØˆKØ�lÓ"ÜØ—j‘jØ—j‘jØ—j‘jØŸ?™?ØŸ™ñð ð �gÓÜØ—j‘jØ—j‘jØ—j‘jØŸ™ñ	ð ð �gÓÜØ—j‘jØ—j‘jØ"ŸlŸl‘d°ØŸ™ñ	ð ð �gÓÜØ—j‘jØ"ŸlŸl‘d°Ø"ŸlŸl‘d°ØŸ™ñ	ð ô Ð=ÀÑEÓFÐFr
   c                 óH  • [         R                  " S5      nUR                  U5      nU(       d  [        SU-  5      eUSUR	                  5        nU(       d1  UR                  S5      S:  a  US-  nUR                  S5      S:  a  M  SR                  S UR                  S5       5       5      nUR	                  5       [        U5      :X  a	  [        XRS9$ XR	                  5       S n[         R                  " S	S
U5      nUS   S:X  a  SnUSS nO\US   S:X  a  SnUSS nOKUS   S
:X  a$  USS nSU;   a  UR                  SS5      u  pxO"USp‡OSU;   a  UR                  SS5      u  pxOUSp‡UR                  SS5      nU(       a	  U< S
U< 3nU(       a	  U< SU< 3nU " XRS9$ )aS  Coerce an arbitrary version string into a semver-compatible one.

The rule is:
- If not enough components, fill minor/patch with zeroes; unless
  partial=True
- If more than 3 dot-separated components, extra components are "build"
  data. If some "build" data already appeared, append it to the
  extra components

Examples:
    >>> Version.coerce('0.1')
    Version(0, 1, 0)
    >>> Version.coerce('0.1.2.3')
    Version(0, 1, 2, (), ('3',))
    >>> Version.coerce('0.1.2.3+4')
    Version(0, 1, 2, (), ('3', '4'))
    >>> Version.coerce('0.1+2-3+4_5')
    Version(0, 1, 0, (), ('2-3', '4-5'))
z^\d+(?:\.\d+(?:\.\d+)?)?z.Version string lacks a numerical component: %rNÚ.rG   z.0c              3   óV   #   • U  H  nUR                  S 5      =(       d    S v •  M!     g7f)r   N)Úlstrip©Ú.0Úparts     r   Ú	<genexpr>Ú!Version.coerce.<locals>.<genexpr>ÿ   s*   é € ð 
ò +�ð �K‰K˜Ó×# Ô#Ú*ùs   ‚')©rW   z[^a-zA-Z0-9+.-]Ú-r   Ú+Ú rg   )ÚreÚcompileÚmatchrN   ÚendÚcountÚjoinÚsplitÚlenrD   ÚsubÚreplace)	r`   r[   rW   Úbase_rerƒ   ÚversionÚrestrU   rV   s	            r   ÚcoerceÚVersion.coerceÙ   s´  € ô* —*’*Ð8Ó9ˆà—‘˜nÓ-ˆÞÜØ@Ø ñ!óð ð
 !  %§)¡)£+Ð.ˆÞà—-‘- Ó$ qÓ(Ø˜4‘�ð —-‘- Ó$ qÕ(ð
 —(‘(ñ 
ð  Ÿ™ cÔ*ó
ó 
ˆð �9‰9‹;œ#˜nÓ-Ó-Ü˜7Ñ4Ð4àŸi™i›k˜lÐ+ˆô �vŠvÐ(¨#¨tÓ4ˆà�‰7�c‹>àˆJØ˜˜�H‰EØ�!‰W˜‹^àˆJØ˜˜�H‰EØ�!‰W˜‹^Ø˜˜�8ˆDØ�d‹{Ø$(§J¡J¨s°AÓ$6Ñ!�
˜Eà$(¨"™EØ�D‹[Ø $§
¡
¨3°Ó 2ÑˆJ˜à $ b˜à—‘˜c 3Ó'ˆæÛ!(ª*Ð5ˆGÞÛ!(ª%Ð0ˆGá�7Ñ,Ð,r
   c                 ó  • U(       d  [        SU-  5      eU(       a  U R                  nOU R                  nUR                  U5      nU(       d  [        SU-  5      eUR	                  5       u  pgp‰n
[        U5      (       a  [        SU-  5      e[        U5      (       a  [        SU-  5      e[        U5      (       a  [        SU-  5      e[        U5      nU R                  Xr5      nU R                  X‚5      nU	c  U(       a	  U
c  XgUSS4$ Sn	O3U	S:X  a  Sn	O*[        U	R                  S	5      5      n	U R                  U	S
S9  U
c  U(       a  Sn
O6Sn
O3U
S:X  a  Sn
O*[        U
R                  S	5      5      n
U R                  U
SS9  XgX‰U
4$ )a0  Parse a version string into a tuple of components:
   (major, minor, patch, prerelease, build).

Args:
    version_string (str), the version string to parse
    partial (bool), whether to accept incomplete input
    coerce (bool), whether to try to map the passed in string into a
        valid Version.
z Invalid empty version string: %rzInvalid version string: %rz!Invalid leading zero in major: %rz!Invalid leading zero in minor: %rz!Invalid leading zero in patch: %rNr   r€   ru   F©Úallow_leading_zeroesT)rN   Úpartial_version_reÚ
version_rerƒ   Úgroupsr	   r(   rb   rP   r‡   Ú_validate_identifiers)r`   r[   rW   rŽ   r”   rƒ   rR   rS   rT   rU   rV   s              r   rO   ÚVersion.parse)  s…  € ö ÜÐ?À.ÑPÓQÐQæØ×/Ñ/‰JàŸ™ˆJà× Ñ  Ó0ˆÞÜÐ9¸NÑJÓKÐKà16·±³Ñ.ˆ�e¨ä˜U×#Ñ#ÜÐ@À>ÑQÓRÐRÜ˜U×#Ñ#ÜÐ@À>ÑQÓRÐRÜ˜U×#Ñ#ÜÐ@À>ÑQÓRÐRä�E“
ˆØ—‘˜EÓ+ˆØ—‘˜EÓ+ˆàÑÞ˜E™Mà e¨T°4Ð8Ð8à‘
Ø˜2ÓØ‰Jä˜z×/Ñ/°Ó4Ó5ˆJØ×%Ñ% jÀuÐ%ÑMà‰=ÞØ‘à‘Ø�b‹[Ø‰Eä˜%Ÿ+™+ cÓ*Ó+ˆEØ×%Ñ% eÀ$Ð%ÑGà˜e°Ð7Ð7r
   c           	      óæ   • U Hk  nU(       d"  [        SU< SSR                  U5      < 35      eUS   S:X  d  M7  UR                  5       (       d  MN  US:w  d  MV  U(       a  M_  [        SU-  5      e   g )NzInvalid empty identifier z in ru   r   r   z%Invalid leading zero in identifier %r)rN   r†   r   )r`   Úidentifiersr’   Úitems       r   r–   ÚVersion._validate_identifiersf  sc   € ãˆDÞÝ ã˜SŸX™X kÕ2ð4óð ð
 �A‰w˜#�~ $§,¡,§.£.°T¸Sµ[×I]ÐI]Ü Ð!HÈ4Ñ!OÓPÐPò  r
   c                 ó.  • U[        U5      :w  d<  X R                  X&5      :w  d(  X0R                  X65      :w  d  Uc  U(       a
  Uc*  U(       d#  [        SU< SU< SU< SU< SU< SU< 35      eUb  U R                  USS9  Ub  U R                  US	S9  g g )
Nz Invalid kwargs to Version(major=z, minor=z, patch=z, prerelease=z, build=z
, partial=Fr‘   T)r(   rb   rN   r–   )r`   rR   rS   rT   rU   rV   rW   s          r   rQ   ÚVersion._validate_kwargsr  s—   € ð œ˜U›Ó#ØŸK™K¨Ó7Ó7ØŸK™K¨Ó7Ó7ØÑ%®gØ‘=®åó ›5£%«³UºGðóð ð
 Ñ!Ø×%Ñ% jÀuÐ%ÑMØÑØ×%Ñ% eÀ$Ð%ÒGð r
   c                 ó†   • [        U R                  U R                  U R                  U R                  U R
                  45      $ r   )ÚiterrR   rS   rT   rU   rV   r   s    r   Ú__iter__ÚVersion.__iter__…  s,   € Ü�T—Z‘Z §¡¨T¯Z©Z¸¿¹È$Ï*É*ÐUÓVÐVr
   c                 ó  • SU R                   -  nU R                  b  SXR                  4-  nU R                  b  SXR                  4-  nU R                  (       d.  U R                  (       a?  U R                  S:X  a/  U R
                  c"  U< SSR                  U R                  5      < 3nU R
                  (       d!  U R                  (       a2  U R
                  S:X  a"  U< SSR                  U R
                  5      < 3nU$ )Nz%dz%s.%dr   r~   ru   r   )rR   rS   rT   rU   rW   rV   r†   ©r   rŒ   s     r   Ú__str__ÚVersion.__str__ˆ  s²   € Ø˜Ÿ™Ñ#ˆØ�:‰:Ñ!Ø ¯*©*Ð 5Ñ5ˆGØ�:‰:Ñ!Ø ¯*©*Ð 5Ñ5ˆGà�?�?˜tŸ|Ÿ|°·±À2Ó0EÈ$Ï*É*ÑJ\Û!(¨#¯(©(°4·?±?Õ*CÐDˆGØ�:�:˜$Ÿ,Ÿ,¨4¯:©:¸Ó+;Û!(¨#¯(©(°4·:±:Õ*>Ð?ˆGØˆr
   c                 ó|   • U R                   R                  < S[        U 5      < U R                  (       a  SOS< S3$ )NÚ(z, partial=Truer€   Ú))r   r   ÚstrrW   r   s    r   r   ÚVersion.__repr__•  s/   € à�N‰N×#Ô#Ü��IØ $§§Ñ°"Ò4ð
ð 	
r
   c                 ó†   • [        U R                  U R                  U R                  U R                  U R
                  45      $ r   )ÚhashrR   rS   rT   rU   rV   r   s    r   Ú__hash__ÚVersion.__hash__œ  s.   € ô �T—Z‘Z §¡¨T¯Z©Z¸¿¹È$Ï*É*ÐUÓVÐVr
   c                 ó^  • U R                   (       a  [        S U R                    5       5      nO[        5       4nU(       d$  U R                  U R                  U R
                  U4$ [        S U R                  =(       d    S 5       5      nU R                  U R                  U R
                  UU4$ )ziBuild a precedence key.

The "build" component should only be used when sorting an iterable
of versions.
c              3   óx   #   • U  H0  nUR                  5       (       a  [        U5      O
[        U5      v •  M2     g 7fr   ©r   r%   r3   rx   s     r   r{   Ú0Version._build_precedence_key.<locals>.<genexpr>¨  s1   é € ð #â+�Dð ,0¯<©<¯>©>Ô! $Ô'¼ÈtÓ?TÔTÚ+ùó   ‚8:c              3   óx   #   • U  H0  nUR                  5       (       a  [        U5      O
[        U5      v •  M2     g 7fr   r±   rx   s     r   r{   r²   ¹  s1   é € ð 
â(�ð (,§|¡|§~¡~Ô˜dÔ#¼?È4Ó;PÔPÚ(ùr³   r   )rU   rP   r   rR   rS   rT   rV   )r   rJ   Úprerelease_keyÚ	build_keys       r   rX   ÚVersion._build_precedence_key¡  s§   € ð �?�?Ü"ñ #à ŸOšOó#ó ‰Nô “ðˆNö à—
‘
Ø—
‘
Ø—
‘
Øð	ð ô ñ 
àŸ
™
×( bÐ(ó
ó 
ˆ	ð �J‰JØ�J‰JØ�J‰JØØð
ð 	
r
   c                 ó   • U R                   $ r   )rZ   r   s    r   Úprecedence_keyÚVersion.precedence_keyÆ  s   € à×(Ñ(Ð(r
   c                 ór   • [        XR                  5      (       d  [        $ X:  a  gX:”  a  gX:X  a  g[        $ )Néÿÿÿÿrg   r   )r   r   r/   r   s     r   Ú__cmp__ÚVersion.__cmp__Ê  s5   € Ü˜%§¡×0Ñ0Ü!Ð!Ø‹<ØØ‹\ØØ‹]Øä!Ð!r
   c                 ó¼  • [        XR                  5      (       d  [        $ U R                  UR                  :H  =(       a�    U R                  UR                  :H  =(       a}    U R
                  UR
                  :H  =(       a]    U R                  =(       d    SUR                  =(       d    S:H  =(       a+    U R                  =(       d    SUR                  =(       d    S:H  $ )Nr   )r   r   r/   rR   rS   rT   rU   rV   r   s     r   r   ÚVersion.__eq__Ö  sš   € Ü˜%§¡×0Ñ0Ü!Ð!à�J‰J˜%Ÿ+™+Ñ%÷ :Ø—
‘
˜eŸk™kÑ)÷:à—
‘
˜eŸk™kÑ)÷:ð —‘×& B¨E×,<Ñ,<×,BÀÑC÷:ð —‘×!˜r u§{¡{×'8°bÑ9ð	
r
   c                 óp   • [        XR                  5      (       d  [        $ [        U 5      [        U5      :g  $ r   )r   r   r/   rP   r   s     r   Ú__ne__ÚVersion.__ne__á  s*   € Ü˜%§¡×0Ñ0Ü!Ð!Ü�T‹{œe E›lÑ*Ð*r
   c                 ót   • [        XR                  5      (       d  [        $ U R                  UR                  :  $ r   ©r   r   r/   rY   r   s     r   r4   ÚVersion.__lt__æ  ó.   € Ü˜%§¡×0Ñ0Ü!Ð!Ø×'Ñ'¨%×*CÑ*CÑCÐCr
   c                 ót   • [        XR                  5      (       d  [        $ U R                  UR                  :*  $ r   rÅ   r   s     r   Ú__le__ÚVersion.__le__ë  ó.   € Ü˜%§¡×0Ñ0Ü!Ð!Ø×'Ñ'¨5×+DÑ+DÑDÐDr
   c                 ót   • [        XR                  5      (       d  [        $ U R                  UR                  :„  $ r   rÅ   r   s     r   Ú__gt__ÚVersion.__gt__ð  rÇ   r
   c                 ót   • [        XR                  5      (       d  [        $ U R                  UR                  :¬  $ r   rÅ   r   s     r   Ú__ge__ÚVersion.__ge__õ  rË   r
   )rY   rZ   rV   rR   rS   rW   rT   rU   )NNNNNNF)F)rT   )FF)"r   r   r    r!   r�   r‚   r”   r“   r*   Úclassmethodrb   rh   rk   rn   rr   rŽ   rO   r–   rQ   r    r¤   r   r­   rX   Úpropertyr¹   r½   r   rÂ   r4   rÉ   rÍ   rÐ   r#   r   r
   r   rD   rD   O   s  † à—’ÐaÓb€JØŸšÐ$sÓtÐð  ØØØØØØô)PðV óó ðò
ò ò ô "GðH óM-ó ðM-ð^ ó:8ó ð:8ðx ó	Qó ð	Qð ñHó ðHò$Wòò
òWô
#
ðJ ñ)ó ð)ò
"ò	
ò+ò
Dò
Eò
Dõ
Er
   rD   c                   óÀ   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSr\	\\
\0r\R&                  " S5      rSS jr\S 5       r\S 5       rS rS rS rS rS rSrg)ÚSpecItemiû  zA requirement specification.Ú*Ú<ú<=ú==Ú=r€   ú>=Ú>ú!=Ú^Ú~ú~=z$^(<|<=||=|==|>=|>|!=|\^|~|~=)(\d.*)$c                 ó¸   • U(       a  [         R                  " S[        SS9  U R                  U5      u  p4X0l        X@l        [        U5      R                  U l        g )Nz,The `SpecItem` class will be removed in 3.0.rG   rH   )	rK   rL   rM   rO   ÚkindÚspecÚSpecÚclauseÚ_clause)r   Úrequirement_stringÚ_warnrâ   rã   s        r   r*   ÚSpecItem.__init__  sJ   € ÞÜ�MŠMØ>Ü"Øòð
 —Z‘ZÐ 2Ó3‰
ˆØŒ	ØŒ	ÜÐ.Ó/×6Ñ6ˆ�r
   c                 óš  • U(       d  [        SU-  5      eUS:X  a  U R                  S4$ U R                  R                  U5      nU(       d  [        SU-  5      eUR	                  5       u  p4X0R
                  ;   a  U R
                  U   n[        USS9nUR                  b)  X0R                  U R                  4;  a  [        SU-  5      eX54$ )Nz+Invalid empty requirement specification: %rrÖ   r€   z%Invalid requirement specification: %rTr}   zEInvalid requirement specification %r: build numbers have no ordering.)
rN   ÚKIND_ANYÚre_specrƒ   r•   ÚKIND_ALIASESrD   rV   Ú
KIND_EQUALÚKIND_NEQ)r`   rç   rƒ   râ   rŒ   rã   s         r   rO   ÚSpecItem.parse  sÍ   € æ!ÜÐJÐM_Ñ_Ó`Ð`ð  Ó$Ø—L‘L "Ð%Ð%à—‘×!Ñ!Ð"4Ó5ˆÞÜÐDÐGYÑYÓZÐZàŸ™›‰ˆØ×#Ñ#Ó#Ø×#Ñ# DÑ)ˆDä�w¨Ñ-ˆØ�:‰:Ñ! d·>±>À3Ç<Á<Ð2PÓ&PÜØWØ$ñ%óð ð ˆ|Ðr
   c                 óÄ   • U[        5       :X  a  U " SSS9$ U[        5       :X  a  U " SSS9$ [        U[        5      (       a!  U " UR                  < UR
                  < 3SS9$ g )NrÖ   F)rè   z<0.0.0-)ÚAlwaysÚNeverr   ÚRangeÚoperatorÚtarget)r`   Úmatchers     r   Úfrom_matcherÚSpecItem.from_matcher8  s^   € à”f“hÓÙ�s %Ñ(Ð(Øœ›ÓÙ�y¨Ñ.Ð.Ü˜¤×'Ñ'Ù ×!1Ó!1°7·>³>ÐBÈ%ÑPÐPð (r
   c                 ó8   • U R                   R                  U5      $ r   )ræ   rƒ   r£   s     r   rƒ   ÚSpecItem.matchA  s   € Ø�|‰|×!Ñ! 'Ó*Ð*r
   c                 ó:   • U R                   < U R                  < 3$ r   ©râ   rã   r   s    r   r¤   ÚSpecItem.__str__D  s   € ØŸ› D§I£IÐ.Ð.r
   c                 ó@   • SU R                   < SU R                  < S3$ )Nz<SpecItem: Ú rÜ   rý   r   s    r   r   ÚSpecItem.__repr__G  s   � Ø&*§i¤i°·´Ð;Ð;r
   c                 óª   • [        U[        5      (       d  [        $ U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )r   rÕ   r/   râ   rã   r   s     r   r   ÚSpecItem.__eq__J  s:   € Ü˜%¤×*Ñ*Ü!Ð!Ø�y‰y˜EŸJ™JÑ&×B¨4¯9©9¸¿
¹
Ñ+BÐBr
   c                 óD   • [        U R                  U R                  45      $ r   )r¬   râ   rã   r   s    r   r­   ÚSpecItem.__hash__O  s   € Ü�T—Y‘Y §	¡	Ð*Ó+Ð+r
   )ræ   râ   rã   N)T)r   r   r    r!   Ú__doc__rë   ÚKIND_LTÚKIND_LTErî   ÚKIND_SHORTEQÚ
KIND_EMPTYÚKIND_GTEÚKIND_GTrï   Ú
KIND_CARETÚ
KIND_TILDEÚKIND_COMPATIBLErí   r�   r‚   rì   r*   rÒ   rO   rø   rƒ   r¤   r   r   r­   r#   r   r
   r   rÕ   rÕ   û  s®   † Ù&à€HØ€GØ€HØ€JØ€LØ€JØ€HØ€GØ€HØ€JØ€JØ€Oð 	�jØ�Jð€Lð
 �jŠjÐ@ÓA€Gô
7ð ñó ðð0 ñQó ðQò+ò/ò<òCõ
,r
   rÕ   c                 óH   • [        U 5      R                  [        U5      5      $ r   )rD   r½   )Úv1Úv2s     r   Úcomparer  S  s   € Ü�2‹;×Ñœw r›{Ó+Ð+r
   c                 óH   • [        U 5      R                  [        U5      5      $ r   )rä   rƒ   rD   )rã   rŒ   s     r   rƒ   rƒ   W  s   € Ü�‹:×ÑœG GÓ,Ó-Ð-r
   c                 óP   •  [         R                  U 5        g! [         a     gf = f)z;Validates a version string againt the SemVer specification.TF)rD   rO   rN   )r[   s    r   Úvalidater  [  s(   € ðÜ�‰�nÔ%ØøÜó Ùðús   ‚ ˜
%¤%Úsimplec                   ó–   ^ • \ rS rSrSr0 r\S 5       rU 4S jr\\	4S j5       r
\S 5       rS rS rS	 rS
 rS rS rS rS rSrU =r$ )ÚBaseSpecig  a  A specification of compatible versions.

Usage:
>>> Spec('>=1.0.0', syntax='npm')

A version matches a specification if it matches any
of the clauses of that specification.

Internally, a Spec is AnyOf(
    AllOf(Matcher, Matcher, Matcher),
    AllOf(...),
)
c                 ó¼   • UR                   nUc  [        S5      eX R                  ;   a$  [        SU< SU R                  U   < SU< 35      eXR                  U'   U$ )Nz(A Spec needs its SYNTAX field to be set.zDuplicate syntax for ú: ú, )ÚSYNTAXrN   ÚSYNTAXES)r`   ÚsubclassÚsyntaxs      r   Úregister_syntaxÚBaseSpec.register_syntaxw  s[   € à—‘ˆØ‰>ÜÐGÓHÐHØ—|‘|Ó#Ýã˜3Ÿ<™<¨Ô/²ð;óð ð  (�‰�VÑØˆr
   c                 ób   >• [         [        U ]  5         Xl        U R	                  U5      U l        g r   )Úsuperr  r*   Ú
expressionÚ_parse_to_clauserå   )r   r%  r   s     €r   r*   ÚBaseSpec.__init__„  s'   ø€ ÜŒh˜Ñ&Ô(Ø$ŒØ×+Ñ+¨JÓ7ˆ�r
   c                 ó,   • U R                   U   " U5      $ )z>Convert a syntax-specific expression into a BaseSpec instance.)r  )r`   r%  r   s      r   rO   ÚBaseSpec.parse‰  s   € ð �|‰|˜FÒ# JÓ/Ð/r
   c                 ó   • [        5       e)z#Converts an expression to a clause.©ÚNotImplementedError©r`   r%  s     r   r&  ÚBaseSpec._parse_to_clauseŽ  s   € ô "Ó#Ð#r
   c              #   óV   #   • U H  nU R                  U5      (       d  M  Uv •  M!     g7f)z3Filter an iterable of versions satisfying the Spec.N©rƒ   )r   ÚversionsrŒ   s      r   ÚfilterÚBaseSpec.filter“  s#   é € ãˆGØ�z‰z˜'×"Ó"Ø”ò  ùs   ‚) 	)c                 ó8   • U R                   R                  U5      $ )z+Check whether a Version satisfies the Spec.)rå   rƒ   r£   s     r   rƒ   ÚBaseSpec.match™  s   € à�{‰{× Ñ  Ó)Ð)r
   c                 ó\   • [        U R                  U5      5      nU(       a  [        U5      $ g)z@Select the best compatible version among an iterable of options.N)Úlistr2  Úmax)r   r1  Úoptionss      r   ÚselectÚBaseSpec.select�  s%   € ä�t—{‘{ 8Ó,Ó-ˆÞÜ�w“<ÐØr
   c                 óP   • [        U[        5      (       a  U R                  U5      $ g)zWhether `version in self`.F)r   rD   rƒ   r£   s     r   Ú__contains__ÚBaseSpec.__contains__¤  s!   € ä�gœw×'Ñ'Ø—:‘:˜gÓ&Ð&Ør
   c                 ót   • [        XR                  5      (       d  [        $ U R                  UR                  :H  $ r   )r   r   r/   rå   r   s     r   r   ÚBaseSpec.__eq__ª  s*   € Ü˜%§¡×0Ñ0Ü!Ð!à�{‰{˜eŸl™lÑ*Ð*r
   c                 ó,   • [        U R                  5      $ r   )r¬   rå   r   s    r   r­   ÚBaseSpec.__hash__°  s   € Ü�D—K‘KÓ Ð r
   c                 ó   • U R                   $ r   )r%  r   s    r   r¤   ÚBaseSpec.__str__³  s   € Ø�‰Ðr
   c                 óT   • SU R                   R                  < SU R                  < S3$ )Nr×   r  rÜ   )r   r   r%  r   s    r   r   ÚBaseSpec.__repr__¶  s   � Ø!Ÿ^™^×4Ô4°d·o´oÐFÐFr
   )rå   r%  )r   r   r    r!   r  r  rÒ   r!  r*   ÚDEFAULT_SYNTAXrO   r&  r2  rƒ   r:  r=  r   r­   r¤   r   r#   Ú__classcell__©r   s   @r   r  r  g  s€   ø† ñð €Hàñ
ó ð
õ8ð
 Ø&4ó 0ó ð0ð ñ$ó ð$òò*òòò+ò!ò÷Gð Gr
   r  c                   óL   • \ rS rSr/ rS rS rS rS rSS jr	S r
S rS	 rS
rg)ÚClauseiº  c                 ó   • [        5       er   r+  r£   s     r   rƒ   ÚClause.match½  ó   € Ü!Ó#Ð#r
   c                 ó   • [        5       er   r+  r   s     r   Ú__and__ÚClause.__and__À  rN  r
   c                 ó   • [        5       er   r+  r   s     r   Ú__or__ÚClause.__or__Ã  rN  r
   c                 ó   • [        5       er   r+  r   s     r   r   ÚClause.__eq__Æ  rN  r
   c                 ó`   • SR                  U R                  5       5      R                  SU5      $ )z!Pretty-print the clause.
        Ú
Ú	)r†   Ú_prettyrŠ   )r   Úindents     r   ÚprettyprintÚClause.prettyprintÉ  s&   € ð �y‰y˜Ÿ™›Ó(×0Ñ0°°vÓ>Ð>r
   c              #   ó&   #   • [        U 5      v •  g7f)zaActual pretty-printing logic.

Yields:
    A list of string. Indentation is performed with     .
N©Úreprr   s    r   rZ  ÚClause._prettyÎ  s   é € ô �4‹jÓùs   ‚c                 ó   • X:X  + $ r   r   r   s     r   rÂ   ÚClause.__ne__Ö  s   € ØÒ Ð r
   c                 ó   • U $ r   r   r   s    r   ÚsimplifyÚClause.simplifyÙ  ó   € Øˆr
   r   N)rY  )r   r   r    r!   r"   rƒ   rP  rS  r   r\  rZ  rÂ   re  r#   r   r
   r   rK  rK  º  s/   † Ø€Iò$ò$ò$ò$ô?ò
ò!õr
   rK  c                   ód   ^ • \ rS rSrS/rU 4S jrS rS rS rS r	S r
S	 rS
 rS rS rSrU =r$ )ÚAnyOfiÝ  Úclausesc                 óJ   >• [         [        U ]  5         [        U5      U l        g r   )r$  ri  r*   Ú	frozensetrj  ©r   rj  r   s     €r   r*   ÚAnyOf.__init__à  ó   ø€ ÜŒe�TÑ#Ô%Ü  Ó)ˆ�r
   c                 óB   ^• [        U4S jU R                   5       5      $ )Nc              3   óD   >#   • U  H  oR                  T5      v •  M     g 7fr   r0  )ry   ÚcrŒ   s     €r   r{   ÚAnyOf.match.<locals>.<genexpr>å  s   øé € Ð:ª\¨—7‘7˜7×#Ð#ª\ùó   ƒ )Úanyrj  r£   s    `r   rƒ   ÚAnyOf.matchä  s   ø€ ÜÔ:¨T¯\ª\Ó:Ó:Ð:r
   c                 ó6  • [        5       nU R                   HY  nUR                  5       n[        U[        5      (       a  XR                  -  nM8  U[        5       :X  a  MH  UR                  U5        M[     [        U5      S:X  a  UR                  5       $ [	        U6 $ ©Nrg   )	Úsetrj  re  r   ri  ró   Úaddrˆ   Úpop©r   Ú
subclausesrå   Ú
simplifieds       r   re  ÚAnyOf.simplifyç  s}   € Ü“Uˆ
Ø—l”lˆFØŸ™Ó*ˆJÜ˜*¤e×,Ñ,Ø×0Ñ0Ñ0’
Øœu›wÓ&Ùà—‘˜zÖ*ñ #ô ˆz‹?˜aÓØ—>‘>Ó#Ð#Ü�jÐ!Ð!r
   c                 ó8   • [        [        U R                  45      $ r   )r¬   ri  rj  r   s    r   r­   ÚAnyOf.__hash__õ  ó   € Ü”U˜DŸL™LÐ)Ó*Ð*r
   c                 ó,   • [        U R                  5      $ r   ©rŸ   rj  r   s    r   r    ÚAnyOf.__iter__ø  ó   € Ü�D—L‘LÓ!Ð!r
   c                 ól   • [        XR                  5      =(       a    U R                  UR                  :H  $ r   ©r   r   rj  r   s     r   r   ÚAnyOf.__eq__û  ó#   € Ü˜%§¡Ó0×R°T·\±\ÀUÇ]Á]Ñ5RÐRr
   c                 óª   • [        U[        5      (       a  X-  $ [        U[        5      (       d  [        U[        5      (       a  [        X5      $ [        $ r   ©r   ÚAllOfÚMatcherri  r/   r   s     r   rP  ÚAnyOf.__and__þ  óA   € Ü�eœU×#Ñ#Ø‘<ÐÜ˜œw×'Ñ'¬:°e¼U×+CÑ+CÜ˜Ó%Ð%ä!Ð!r
   c                 ó(  • [        U[        5      (       a#  [        U R                  UR                  -  5      nOS[        U[        5      (       d  [        U[
        5      (       a#  [        U R                  [        U/5      -  5      nO[        $ [        U6 $ r   )r   ri  r7  rj  rŽ  r�  ry  r/   ©r   r   rj  s      r   rS  ÚAnyOf.__or__  sh   € Ü�eœU×#Ñ#Ü˜4Ÿ<™<¨%¯-©-Ñ7Ó8‰GÜ˜œw×'Ñ'¬:°e¼U×+CÑ+CÜ˜4Ÿ<™<¬#¨u¨g«,Ñ6Ó7‰Gä!Ð!Ü�gˆÐr
   c                 ó^   • SSR                  [        S U R                   5       5      5      -  $ )Nz	AnyOf(%s)r  c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr   r_  ©ry   rr  s     r   r{   Ú!AnyOf.__repr__.<locals>.<genexpr>  ó   é € Ð-Lº|¸!¬d°1¯g¨gº|ùó   ‚©r†   Úsortedrj  r   s    r   r   ÚAnyOf.__repr__  ó%   € Ø˜TŸY™Y¤vÑ-L¸t¿|º|Ó-LÓ'LÓMÑMÐMr
   c              #   ó´   #   • Sv •  U R                    H<  n[        UR                  5       5      nUS S  H
  nSU-   v •  M     SUS   -   S-   v •  M>     Sv •  g 7f)NzAnyOF(r¼   rY  Ú,r¨   ©rj  r7  rZ  ©r   rå   ÚlinesÚlines       r   rZ  ÚAnyOf._pretty  ó^   é € ØŠØ—l”lˆFÜ˜Ÿ™Ó)Ó*ˆEØ˜c˜r›
�Ø˜T‘kÔ!ñ #à˜˜r™Ñ" SÑ(Ô(ñ	 #ð
 ‹	ùó   ‚AA©rj  ©r   r   r    r!   r"   r*   rƒ   re  r­   r    r   rP  rS  r   rZ  r#   rH  rI  s   @r   ri  ri  Ý  sC   ø† Ø�€Iõ*ò;ò"ò+ò"òSò"òòN÷ð r
   ri  c                   ód   ^ • \ rS rSrS/rU 4S jrS rS rS rS r	S r
S	 rS
 rS rS rSrU =r$ )r�  i  rj  c                 óJ   >• [         [        U ]  5         [        U5      U l        g r   )r$  r�  r*   rl  rj  rm  s     €r   r*   ÚAllOf.__init__  ro  r
   c                 óB   ^• [        U4S jU R                   5       5      $ )Nc              3   óD   >#   • U  H  oR                  T5      v •  M     g 7fr   r0  )ry   rå   rŒ   s     €r   r{   ÚAllOf.match.<locals>.<genexpr>$  s   øé € ÐD²|¨V—<‘< ×(Ð(²|ùrt  )Úallrj  r£   s    `r   rƒ   ÚAllOf.match#  s   ø€ ÜÔD°t·|²|ÓDÓDÐDr
   c                 ó6  • [        5       nU R                   HY  nUR                  5       n[        U[        5      (       a  XR                  -  nM8  U[        5       :X  a  MH  UR                  U5        M[     [        U5      S:X  a  UR                  5       $ [	        U6 $ rx  )	ry  rj  re  r   r�  rò   rz  rˆ   r{  r|  s       r   re  ÚAllOf.simplify&  s}   € Ü“Uˆ
Ø—l”lˆFØŸ™Ó*ˆJÜ˜*¤e×,Ñ,Ø×0Ñ0Ñ0’
Øœv›xÓ'Ùà—‘˜zÖ*ñ #ô ˆz‹?˜aÓØ—>‘>Ó#Ð#Ü�jÐ!Ð!r
   c                 ó8   • [        [        U R                  45      $ r   )r¬   r�  rj  r   s    r   r­   ÚAllOf.__hash__4  r‚  r
   c                 ó,   • [        U R                  5      $ r   r„  r   s    r   r    ÚAllOf.__iter__7  r†  r
   c                 ól   • [        XR                  5      =(       a    U R                  UR                  :H  $ r   rˆ  r   s     r   r   ÚAllOf.__eq__:  rŠ  r
   c                 ó(  • [        U[        5      (       d  [        U[        5      (       a#  [        U R                  [        U/5      -  5      nO>[        U[        5      (       a#  [        U R                  UR                  -  5      nO[        $ [        U6 $ r   )r   rŽ  ri  r7  rj  ry  r�  r/   r’  s      r   rP  ÚAllOf.__and__=  sh   € Ü�eœW×%Ñ%¬°E¼5×)AÑ)AÜ˜4Ÿ<™<¬#¨u¨g«,Ñ6Ó7‰GÜ˜œu×%Ñ%Ü˜4Ÿ<™<¨%¯-©-Ñ7Ó8‰Gä!Ð!Ü�gˆÐr
   c                 óÔ   • [        U[        5      (       a  X-  $ [        U[        5      (       a  [        U [        U5      5      $ [        U[        5      (       a  [        X5      $ [        $ r   ©r   ri  rŽ  r�  r/   r   s     r   rS  ÚAllOf.__or__F  sS   € Ü�eœU×#Ñ#Ø‘<ÐÜ˜œw×'Ñ'Ü˜œu U›|Ó,Ð,Ü˜œu×%Ñ%Ü˜Ó%Ð%ä!Ð!r
   c                 ó^   • SSR                  [        S U R                   5       5      5      -  $ )Nz	AllOf(%s)r  c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr   r_  r–  s     r   r{   Ú!AllOf.__repr__.<locals>.<genexpr>Q  r˜  r™  rš  r   s    r   r   ÚAllOf.__repr__P  r�  r
   c              #   ó´   #   • Sv •  U R                    H<  n[        UR                  5       5      nUS S  H
  nSU-   v •  M     SUS   -   S-   v •  M>     Sv •  g 7f)NzAllOF(r¼   rY  rŸ  r¨   r   r¡  s       r   rZ  ÚAllOf._prettyS  r¥  r¦  r§  r¨  rI  s   @r   r�  r�    sD   ø† Ø�€Iõ*òEò"ò+ò"òSòò"òN÷ð r
   r�  c                   ó$   • \ rS rSr/ rS rS rSrg)rŽ  i]  c                 óª   • [        U[        5      (       a  X-  $ [        U[        5      (       d  [        U[        5      (       a  [        X5      $ [        $ r   rŒ  r   s     r   rP  ÚMatcher.__and__`  r�  r
   c                 óª   • [        U[        5      (       a  X-  $ [        U[        5      (       d  [        U[        5      (       a  [        X5      $ [        $ r   r¼  r   s     r   rS  ÚMatcher.__or__h  r�  r
   r   N)r   r   r    r!   r"   rP  rS  r#   r   r
   r   rŽ  rŽ  ]  s   † Ø€Iò"õ"r
   rŽ  c                   ó<   • \ rS rSr/ rS rS rS rS rS r	S r
Srg	)
ró   iq  c                 ó   • g)NFr   r£   s     r   rƒ   ÚNever.matcht  s   € Ør
   c                 ó"   • [        [        45      $ r   )r¬   ró   r   s    r   r­   ÚNever.__hash__w  s   € Ü”U�H‹~Ðr
   c                 ó,   • [        XR                  5      $ r   r   r   s     r   r   ÚNever.__eq__z  r   r
   c                 ó   • U $ r   r   r   s     r   rP  ÚNever.__and__}  rg  r
   c                 ó   • U$ r   r   r   s     r   rS  ÚNever.__or__€  ó   € Øˆr
   c                 ó   • g)NzNever()r   r   s    r   r   ÚNever.__repr__ƒ  s   € Ør
   r   N©r   r   r    r!   r"   rƒ   r­   r   rP  rS  r   r#   r   r
   r   ró   ró   q  s%   † Ø€Iòòò1òòõr
   ró   c                   ó<   • \ rS rSr/ rS rS rS rS rS r	S r
Srg	)
rò   i‡  c                 ó   • gr2   r   r£   s     r   rƒ   ÚAlways.matchŠ  s   € Ør
   c                 ó"   • [        [        45      $ r   )r¬   rò   r   s    r   r­   ÚAlways.__hash__�  s   € Ü”V�I‹Ðr
   c                 ó,   • [        XR                  5      $ r   r   r   s     r   r   ÚAlways.__eq__�  r   r
   c                 ó   • U$ r   r   r   s     r   rP  ÚAlways.__and__“  rÔ  r
   c                 ó   • U $ r   r   r   s     r   rS  ÚAlways.__or__–  rg  r
   c                 ó   • g)NzAlways()r   r   s    r   r   ÚAlways.__repr__™  s   € Ør
   r   Nr×  r   r
   r   rò   rò   ‡  s%   † Ø€Iòòò1òòõr
   rò   c                   ó‚   ^ • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSr/ SQr\\4U 4S jjrS rS rS rS rS rSrU =r$ )rô   i�  rÙ   rÜ   rÛ   r×   rØ   rÝ   ÚalwaysÚnaturalz
same-patchÚimplicitÚstrict)rõ   rö   Úprerelease_policyÚbuild_policyc                 ó   >• [         [        U ]  5         UR                  (       a.  XR                  U R
                  4;  a  [        SU< U< S35      eXl        X l        X0l	        UR                  (       a  U R                  U l        g UU l        g )NzInvalid range z!: build numbers have no ordering.)r$  rô   r*   rV   ÚOP_EQÚOP_NEQrN   rõ   rö   rê  ÚBUILD_STRICTrë  )r   rõ   rö   rê  rë  r   s        €r   r*   ÚRange.__init__³  sm   ø€ ÜŒe�TÑ#Ô%Ø�<�<˜H¯Z©Z¸¿¹Ð,EÓEÝâ›Vð%ó&ð &ð !ŒØŒØ!2ÔØ17··˜D×-Ñ-ˆÕÀ<ˆÕr
   c                 ó’  • U R                   U R                  :w  a  UR                  S5      nUR                  (       aM  U R                  R                  5       UR                  5       :H  nU R
                  U R                  :X  a  U(       d  gU R                  U R                  :X  a  U R                   U R                  :X  aW  U R                  R                  S5      UR                  S5      :H  =(       a#    UR                  U R                  R                  :H  $ XR                  :H  $ U R                  U R                  :X  a  XR                  :„  $ U R                  U R                  :X  a  XR                  :¬  $ U R                  U R                  :X  a�  UR                  (       ab  U R
                  U R                  :X  aH  UR                  5       U R                  R                  5       :X  a  U R                  R                  (       d  gXR                  :  $ U R                  U R                  :X  a  XR                  :*  $ U R                  U R                  :X  d   eU R                   U R                  :X  a\  U R                  R                  S5      UR                  S5      :H  =(       a#    UR                  U R                  R                  :H  (       + $ UR                  (       ab  U R
                  U R                  :X  aH  UR                  5       U R                  R                  5       :X  a  U R                  R                  (       d  gXR                  :g  $ )NrU   F)rë  rï  rr   rU   rö   rê  ÚPRERELEASE_SAMEPATCHrõ   rí  rV   ÚOP_GTÚOP_GTEÚOP_LTÚPRERELEASE_NATURALÚOP_LTErî  )r   rŒ   Ú
same_patchs      r   rƒ   ÚRange.match¾  sg  € Ø×Ñ × 1Ñ 1Ó1Ø×&Ñ& |Ó4ˆGà××ØŸ™×-Ñ-Ó/°7×3CÑ3CÓ3EÑEˆJà×%Ñ%¨×)BÑ)BÓBÎ:Øà�=‰=˜DŸJ™JÓ&Ø× Ñ  D×$5Ñ$5Ó5à—K‘K×(Ñ(¨Ó6¸'×:JÑ:JÈ<Ó:XÑX÷ ;ØŸ™¨¯©×):Ñ):Ñ:ðð Ÿk™kÑ)Ð)Ø�]‰]˜dŸj™jÓ(ØŸ[™[Ñ(Ð(Ø�]‰]˜dŸk™kÓ)ØŸk™kÑ)Ð)Ø�]‰]˜dŸj™jÓ(à×"×"Ø×*Ñ*¨d×.EÑ.EÓEØ×$Ñ$Ó&¨$¯+©+×*>Ñ*>Ó*@Ó@ØŸ™×.×.àØŸ[™[Ñ(Ð(Ø�]‰]˜dŸk™kÓ)ØŸk™kÑ)Ð)à—=‘= D§K¡KÓ/Ð/Ð/Ø× Ñ  D×$5Ñ$5Ó5à—K‘K×(Ñ(¨Ó6¸'×:JÑ:JÈ<Ó:XÑX÷ ;ØŸ™¨¯©×):Ñ):Ñ:ôð ð ×"×"Ø×*Ñ*¨d×.EÑ.EÓEØ×$Ñ$Ó&¨$¯+©+×*>Ñ*>Ó*@Ó@ØŸ™×.×.àØŸk™kÑ)Ð)r
   c                 ód   • [        [        U R                  U R                  U R                  45      $ r   )r¬   rô   rõ   rö   rê  r   s    r   r­   ÚRange.__hash__ï  s$   € Ü”U˜DŸM™M¨4¯;©;¸×8NÑ8NÐOÓPÐPr
   c                 óì   • [        XR                  5      =(       aY    U R                  UR                  :H  =(       a9    U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r   )r   r   rõ   rö   rê  r   s     r   r   ÚRange.__eq__ò  s[   € ä�uŸn™nÓ-÷ BØ—‘ §¡Ñ/÷Bà—‘˜uŸ|™|Ñ+÷Bð ×&Ñ&¨%×*AÑ*AÑAð		
r
   c                 ó:   • U R                   < U R                  < 3$ r   ©rõ   rö   r   s    r   r¤   ÚRange.__str__ú  s   € ØŸ›¨¯«Ð4Ð4r
   c                 óô   • U R                   U R                  :X  a  SOSU R                   -  U R                  U R                  :X  a  SOSU R                  -  -   nSU R                  < SU R
                  < U< S3$ )Nr€   z, prerelease_policy=%rz, build_policy=%rzRange(r  r¨   )rê  rö  rë  ÚBUILD_IMPLICITrõ   rö   )r   Úpolicy_parts     r   r   ÚRange.__repr__ý  sn   € à×(Ñ(¨D×,CÑ,CÓC‰BØ)¨D×,BÑ,BÑBà×#Ñ# t×':Ñ':Ó:‰BØ$ t×'8Ñ'8Ñ8ñ
‰ð �MŒMØ�K‹KÛð
ð 	
r
   )rë  rõ   rê  rö   )r   r   r    r!   rí  ró  rô  rõ  r÷  rî  ÚPRERELEASE_ALWAYSrö  rò  r  rï  r"   r*   rƒ   r­   r   r¤   r   r#   rH  rI  s   @r   rô   rô   �  sr   ø† Ø€EØ€EØ€FØ€EØ€FØ€Fð !Ðà"Ðà'Ðð  €Nà€LâK€Ià;MÐ\j÷ 	Pò/*òbQò
ò5÷
ð 
r
   rô   c                   ó<   • \ rS rSrSr\S 5       r " S S5      rSrg)Ú
SimpleSpeci  r  c                 ó8   • U R                   R                  U5      $ r   ©ÚParserrO   r-  s     r   r&  ÚSimpleSpec._parse_to_clause  ó   € à�z‰z×Ñ 
Ó+Ð+r
   c                   óÂ   • \ rS rSrSr\R                  " SR                  \S9\R                  5      r	\
S 5       rSrSrSrS	rS
rSrSrSrSr\\S.r/ SQr\
S 5       rSrg)ÚSimpleSpec.Parseri  z\*|0|[1-9][0-9]*zí^
            (?P<op><|<=||=|==|>=|>|!=|\^|~|~=)
            (?P<major>{nb})(?:\.(?P<minor>{nb})(?:\.(?P<patch>{nb}))?)?
            (?:-(?P<prerel>[a-z0-9A-Z.-]*))?
            (?:\+(?P<build>[a-z0-9A-Z.-]*))?
            $
            )Únbc                 óÐ   • UR                  S5      n[        5       nU HD  nU R                  R                  U5      (       d  [	        SU-  5      eX0R                  U5      -  nMF     U$ )NrŸ  zInvalid simple block %r)r‡   rò   Ú
NAIVE_SPECrƒ   rN   Úparse_block)r`   r%  Úblocksrå   Úblocks        r   rO   ÚSimpleSpec.Parser.parse!  sa   € à×%Ñ% cÓ*ˆFÜ“XˆFÛ�Ø—~‘~×+Ñ+¨E×2Ñ2Ü$Ð%>ÀÑ%FÓGÐGØŸ/™/¨%Ó0Ñ0’ñ  ð
 ˆMr
   rÞ   rß   rà   rÙ   rÝ   rÜ   rÛ   r×   rØ   )rÚ   r€   ©rÖ   ÚxÚXNc           	      óŠ  • U R                   R                  U5      (       d  [        SU-  5      eU R                   R                  U5      R                  5       u  p#pEpgU R                  R                  X"5      nX0R                  ;   a  S O
[        U5      nX@R                  ;   a  S O
[        U5      n	XPR                  ;   a  S O
[        U5      n
Uc5  [        SSSS9nX R                  U R                  4;  a  [        SU-  5      eOZU	c  [        USSS9nOKU
c  [        X‰SS9nO=[        UU	U
U(       a  UR                  S5      OSU(       a  UR                  S5      OSS9nUb  U	b  U
c  U(       d  U(       a  [        SU-  5      eUb)  X R                  U R                  4;  a  [        SU-  5      eX R                  :X  a‰  UR                  (       a  UR                  5       nO2UR                   (       a  UR#                  5       nOUR%                  5       n['        [&        R(                  U5      ['        [&        R*                  U5      -  $ X R,                  :X  a^  Uc   eU	c  UR                  5       nOUR#                  5       n['        [&        R(                  U5      ['        [&        R*                  U5      -  $ X R.                  :X  aa  Uc   eU	b  U
c  UR                  5       nOUR#                  5       n['        [&        R(                  U5      ['        [&        R*                  U5      -  $ X R                  :X  að  Uc  ['        [&        R(                  U5      $ U	cC  ['        [&        R(                  U5      ['        [&        R*                  UR                  5       5      -  $ U
cC  ['        [&        R(                  U5      ['        [&        R*                  UR#                  5       5      -  $ US:X  a'  ['        [&        R0                  U[&        R2                  S	9$ ['        [&        R0                  U5      $ X R                  :X  Ga  Uc   eU	cC  ['        [&        R*                  U5      ['        [&        R(                  UR                  5       5      -  $ U
cC  ['        [&        R*                  U5      ['        [&        R(                  UR#                  5       5      -  $ US:X  a'  ['        [&        R4                  U[&        R6                  S
9$ US:X  a'  ['        [&        R4                  U[&        R2                  S	9$ ['        [&        R4                  U5      $ X R8                  :X  au  Uc   eU	c(  ['        [&        R(                  UR                  5       5      $ U
c(  ['        [&        R(                  UR#                  5       5      $ ['        [&        R:                  U5      $ X R                  :X  a  ['        [&        R(                  U5      $ X R<                  :X  aL  Uc   eUS:X  a'  ['        [&        R*                  U[&        R6                  S
9$ ['        [&        R*                  U5      $ X R>                  :X  d   eUc   eU	c(  ['        [&        R*                  UR                  5       5      $ U
c(  ['        [&        R*                  UR#                  5       5      $ ['        [&        R@                  U5      $ )Nz!Invalid simple spec component: %rr   ©rR   rS   rT   zInvalid simple spec: %rru   r   ©rR   rS   rT   rU   rV   r€   )rë  ©rê  )!r  rƒ   rN   r•   ÚPREFIX_ALIASESÚgetÚEMPTY_VALUESr(   rD   Ú	PREFIX_EQÚ
PREFIX_GTEr‡   Ú
PREFIX_NEQÚPREFIX_CARETrR   rh   rS   rk   rn   rô   rô  rõ  ÚPREFIX_TILDEÚPREFIX_COMPATIBLErí  rï  rî  r  Ú	PREFIX_GTró  Ú	PREFIX_LTÚ
PREFIX_LTEr÷  )r`   ÚexprÚprefixÚmajor_tÚminor_tÚpatch_tÚprerelrV   rR   rS   rT   rö   Úhighs                r   r  ÚSimpleSpec.Parser.parse_block=  sN  € à—>‘>×'Ñ'¨×-Ñ-Ü Ð!DÀtÑ!KÓLÐLØ?B¿~¹~×?SÑ?SÐTXÓ?Y×?`Ñ?`Ó?bÑ<ˆF˜W¨vØ×'Ñ'×+Ñ+¨FÓ;ˆFà#×'7Ñ'7Ó7‘D¼SÀ»\ˆEØ#×'7Ñ'7Ó7‘D¼SÀ»\ˆEØ#×'7Ñ'7Ó7‘D¼SÀ»\ˆEà‰}Ü  q°¸Ñ;�Ø§-¡-°·±Ð!@Ó@Ü$Ð%>ÀÑ%EÓFÐFð Aà‘Ü  u°A¸QÑ?‘Ø‘Ü  uÀÑC‘ä ØØØÞ4:˜vŸ|™|¨CÔ0ÀÞ.3˜%Ÿ+™+ cÔ*¸ñ�ð ‘ ¡°%±-ÆfÖPUÜ Ð!:¸TÑ!AÓBÐBàÑ  V·M±MÀ3Ç>Á>Ð3RÓ%RÜ Ð!:¸TÑ!AÓBÐBà×)Ñ)Ó)à—<—<Ø!×,Ñ,Ó.‘DØ—\—\Ø!×,Ñ,Ó.‘Dà!×,Ñ,Ó.�DÜœUŸ\™\¨6Ó2´U¼5¿;¹;ÈÓ5MÑMÐMà×+Ñ+Ó+ØÑ(Ð(Ð(ð ‘=Ø!×,Ñ,Ó.‘Dà!×,Ñ,Ó.�DÜœUŸ\™\¨6Ó2´U¼5¿;¹;ÈÓ5MÑMÐMà×0Ñ0Ó0ØÑ(Ð(Ð(à‘= E¡Mà!×,Ñ,Ó.‘Dà!×,Ñ,Ó.�DÜœUŸ\™\¨6Ó2´U¼5¿;¹;ÈÓ5MÑMÐMàŸ=™=Ó(Ø‘=Ü ¤§¡¨vÓ6Ð6Ø‘]Ü ¤§¡¨vÓ6¼¼u¿{¹{ÈF×L]ÑL]ÓL_Ó9`Ñ`Ð`Ø‘]Ü ¤§¡¨vÓ6¼¼u¿{¹{ÈF×L]ÑL]ÓL_Ó9`Ñ`Ð`Ø˜b“[Ü ¤§¡¨fÄ5×CUÑCUÑVÐVä ¤§¡¨fÓ5Ð5àŸ>™>Ô)ØÑ(Ð(Ð(Ø‘=ä ¤§¡¨fÓ5¼¼e¿l¹lÈF×L]ÑL]ÓL_Ó8`Ñ`Ð`Ø‘]ä ¤§¡¨fÓ5¼¼e¿l¹lÈF×L]ÑL]ÓL_Ó8`Ñ`Ð`Ø˜r“\ä ¤§¡¨vÌ×I`ÑI`ÑaÐaØ˜b“[ä ¤§¡¨vÄE×DVÑDVÑWÐWä ¤§¡¨vÓ6Ð6àŸ=™=Ó(ØÑ(Ð(Ð(Ø‘=ä ¤§¡¨v×/@Ñ/@Ó/BÓCÐCØ‘]Ü ¤§¡¨v×/@Ñ/@Ó/BÓCÐCä ¤§¡¨fÓ5Ð5àŸ>™>Ó)ÜœUŸ\™\¨6Ó2Ð2àŸ=™=Ó(ØÑ(Ð(Ð(Ø˜R“<ä ¤§¡¨fÌ×H_ÑH_Ñ`Ð`ÜœUŸ[™[¨&Ó1Ð1ð §¡Ó/Ð/Ð/ØÑ(Ð(Ð(Ø‘=ä ¤§¡¨f×.?Ñ.?Ó.AÓBÐBØ‘]Ü ¤§¡¨f×.?Ñ.?Ó.AÓBÐBä ¤§¡¨vÓ6Ð6r
   r   N)r   r   r    r!   ÚNUMBERr�   r‚   ÚformatÚVERBOSEr  rÒ   rO   r#  r$  r%  r   r"  r&  r!  r'  r(  r  r  r  r#   r   r
   r   r
  r    s�   † Ø$ˆØ—Z’Zð !÷ ‘˜&�Ð!Ø�J‰Jó
ˆ
ð 
ñ	ó 
ð	ð ˆØˆØ ÐØˆ	Øˆ
Øˆ	Øˆ
Øˆ	Øˆ
ð Øñ
ˆò
 -ˆà	ñy	7ó 
óy	7r
   r
  r   N©	r   r   r    r!   r  rÒ   r&  r
  r#   r   r
   r   r  r    s'   † ð €Fàñ,ó ð,÷b7ô b7r
   r  c                   ó>   ^ • \ rS rSrU 4S jr\S 5       rS rSrU =r	$ )Ú
LegacySpeciº  c                 óÔ   >• [         R                  " S[        SS9  [        U5      S:”  a  [         R                  " S[        SS9  SR                  U5      n[        [        U ]#  U5        g )NzBThe Spec() class will be removed in 3.1; use SimpleSpec() instead.rG   rH   rg   z]Passing 2+ arguments to SimpleSpec will be removed in 3.0; concatenate them with ',' instead.rŸ  )	rK   rL   ÚPendingDeprecationWarningrˆ   rM   r†   r$  r6  r*   )r   Úexpressionsr%  r   s      €r   r*   ÚLegacySpec.__init__»  s[   ø€ Ü�ŠØPÜ%Øò	
ô ˆ{Ó˜aÓÜ�MŠMØoÜ"Øòð
 —X‘X˜kÓ*ˆ
ÜŒj˜$Ñ(¨Õ4r
   c                 ó   • [        U 5      $ r   )r7  r   s    r   ÚspecsÚLegacySpec.specsË  s   € ä�D‹zÐr
   c              #   óæ   #   • [         R                  " S[        SS9   [        U R                  5      nU H  n[        R                  U5      v •  M     g ! [
         a    U R                  /n N:f = f7f)NzLIterating over the components of a SimpleSpec object will be removed in 3.0.rG   rH   )rK   rL   rM   r7  rå   Ú	TypeErrorrÕ   rø   )r   rj  rå   s      r   r    ÚLegacySpec.__iter__Ï  se   é € Ü�ŠØZÜØò	
ð
	$Ü˜4Ÿ;™;Ó'ˆGó ˆFÜ×'Ñ'¨Ó/Ô/ò øô ó 	$Ø—{‘{�mŠGð	$üs'   ‚A1žA ³!A1ÁA.Á+A1Á-A.Á.A1r   )
r   r   r    r!   r*   rÓ   r<  r    r#   rH  rI  s   @r   r6  r6  º  s&   ø† õ5ð  ñó ð÷0ð 0r
   r6  c                   ó<   • \ rS rSrSr\S 5       r " S S5      rSrg)ÚNpmSpecià  Únpmc                 ó8   • U R                   R                  U5      $ r   r	  r-  s     r   r&  ÚNpmSpec._parse_to_clauseä  r  r
   c            
       óR  • \ rS rSrSrSrSrSr\R                  " SR                  \\S9\R                  5      r\S 5       r\S	 5       rS
rSrSrSrSrSrSrS\0r\\R2                  \\R4                  \\R6                  \\R8                  \\R:                  0r/ SQr\S 5       r Sr!g)ÚNpmSpec.Parseriè  z||z - zx|X|\*|0|[1-9][0-9]*z[a-zA-Z0-9.-]*aQ  
            ^(?:v)?                     # Strip optional initial v
            (?P<op><|<=|>=|>|=|\^|~|)   # Operator, can be empty
            (?P<major>{nb})(?:\.(?P<minor>{nb})(?:\.(?P<patch>{nb}))?)?
            (?:-(?P<prerel>{part}))?    # Optional re-release
            (?:\+(?P<build>{part}))?    # Optional build
            $)r  rz   c                 ó2   • [        X[         R                  S9$ )Nr  )rô   rò  )r`   rõ   rö   s      r   ÚrangeÚNpmSpec.Parser.rangeø  s   € ä˜¼U×=WÑ=WÑXÐXr
   c                 ó  • [        5       nUR                  U R                  5      nU GHÕ  nUR                  5       nU(       d  Sn/ nU R                  U;   aH  UR                  U R                  S5      u  pgU R                  SU-   5      U R                  SU-   5      -   nOmUR                  S5      nU HV  n	U R                  R                  U	5      (       d  [        SU< SU	< 35      eUR                  U R                  U	5      5        MX     / n
/ nU GHÉ  nUR                  R                  (       Ga˜  UR                  [        R                  [        R                  4;   a  U
R!                  [        [        R"                  [%        UR                  R&                  UR                  R(                  UR                  R*                  S-   S	9[        R,                  S
95        O–UR                  [        R"                  [        R.                  4;   ah  U
R!                  [        [        R                  [%        UR                  R&                  UR                  R(                  SSS9[        R,                  S
95        U
R!                  U5        UR!                  U R1                  UR                  UR                  R3                  5       S95        GM¸  UR!                  U5        GMÌ     U
(       a  U[5        U
6 -  nU[5        U6 -  nGMØ     U$ )Nz>=0.0.0rG   rÛ   rØ   r   zInvalid NPM block in r  rg   r  )rõ   rö   rê  r   r   )rR   rS   rT   rU   rÿ  )ró   r‡   ÚJOINERÚstripÚHYPHENÚparse_simpleÚNPM_SPEC_BLOCKrƒ   rN   Úextendrö   rU   rõ   rô   ró  rô  Úappendrõ  rD   rR   rS   rT   r  r÷  rI  rr   r�  )r`   r%  Úresultr•   Úgroupr}  Úlowr/  r  r  Úprerelease_clausesÚnon_prerel_clausesrå   s                r   rO   ÚNpmSpec.Parser.parseü  sp  € ä“WˆFØ×%Ñ% c§j¡jÓ1ˆFÜ�ØŸ™›�ÞØ%�Eà�
Ø—:‘: Ó&Ø %§¡¨C¯J©J¸Ó :‘I�CØ!$×!1Ñ!1°$¸±*Ó!=À×@PÑ@PÐQUÐX\ÑQ\Ó@]Ñ!]‘Jð #Ÿ[™[¨Ó-�FÛ!'˜Ø"×1Ñ1×7Ñ7¸×>Ñ>Ý",ËjÒZ_Ð-`Ó"aÐaà"×)Ñ)¨#×*:Ñ*:¸5Ó*AÖBñ	 "(ð &(Ð"Ø%'Ð"Ü(�FØ—}‘}×/×/Ð/Ø!Ÿ?™?¬u¯{©{¼E¿L¹LÐ.IÓIØ.×5Ñ5´eÜ).¯©Ü'.Ø*0¯-©-×*=Ñ*=Ø*0¯-©-×*=Ñ*=Ø*0¯-©-×*=Ñ*=ÀÑ*Añ("ô
 38×2IÑ2Iñ7õ ð $Ÿ_™_´·±¼e¿l¹lÐ0KÓKØ.×5Ñ5´eÜ).¯©Ü'.Ø*0¯-©-×*=Ñ*=Ø*0¯-©-×*=Ñ*=Ø*+Ø/1ñ	("ô 38×2IÑ2Iñ	7ô 	ð +×1Ñ1°&Ô9Ø*×1Ñ1°#·)±)Ø%+§_¡_Ø#)§=¡=×#9Ñ#9Ó#;ð 3<ð 3÷ ð
 +×1Ñ1°&×9ñ; )ö< &ØœeÐ%7Ð8Ñ8�FØœ%Ð!3Ð4Ñ4“ñi  ðl ˆMr
   rÞ   rß   rÚ   rÜ   rÛ   r×   rØ   r€   r  c           	      ó   • U R                   R                  U5      nUR                  5       u  p4pVpxU R                  R	                  X35      nX@R
                  ;   a  S O
[        U5      n	XPR
                  ;   a  S O
[        U5      n
X`R
                  ;   a  S O
[        U5      nUb  X0R                  4;  a  S nU	cA  [        SSSS9nX0R                  U R                  4;  a  [        SU-  5      eU R                  nOZU
c  [        U	SSS9nOKUc  [        XšSS9nO=[        U	U
UU(       a  UR                  S5      OSU(       a  UR                  S5      OSS9nU	b  U
b  Uc  U(       d  U(       a  [        SU-  5      eX0R                  :X  Ga  UR                  (       a  UR                  5       R                  5       nO’UR                   (       a  UR                  5       R#                  5       nObU
c  UR                  5       R                  5       nO@Uc  UR                  5       R#                  5       nOUR                  5       R%                  5       nU R'                  [(        R*                  U5      U R'                  [(        R,                  U5      /$ X0R.                  :X  ai  U	c   eU
c  UR                  5       nOUR#                  5       nU R'                  [(        R*                  U5      U R'                  [(        R,                  U5      /$ X0R                  :X  aç  U	c!  U R'                  [(        R*                  U5      /$ U
cN  U R'                  [(        R*                  U5      U R'                  [(        R,                  UR                  5       5      /$ UcN  U R'                  [(        R*                  U5      U R'                  [(        R,                  UR#                  5       5      /$ U R'                  [(        R0                  U5      /$ X0R2                  :X  aŠ  U	c   eU
c/  U R'                  [(        R*                  UR                  5       5      /$ Uc/  U R'                  [(        R*                  UR#                  5       5      /$ U R'                  [(        R4                  U5      /$ X0R                  :X  a!  U R'                  [(        R*                  U5      /$ X0R6                  :X  a&  U	c   eU R'                  [(        R,                  U5      /$ X0R8                  :X  d   eU	c   eU
c/  U R'                  [(        R,                  UR                  5       5      /$ Uc/  U R'                  [(        R,                  UR#                  5       5      /$ U R'                  [(        R:                  U5      /$ )Nr   r  zInvalid expression %rru   r   r  zInvalid NPM spec: %r)rP  rƒ   r•   r  r  r  r(   r   rD   r!  rN   r‡   r#  rR   rr   rh   rS   rk   rn   rI  rô   rô  rõ  r$  rí  r&  ró  r'  r(  r÷  )r`   r  rƒ   r*  r+  r,  r-  r.  rV   rR   rS   rT   rö   r/  s                 r   rO  ÚNpmSpec.Parser.parse_simpleN  si  € à×&Ñ&×,Ñ,¨VÓ4ˆEà?D¿|¹|»~Ñ<ˆF˜W¨và×'Ñ'×+Ñ+¨FÓ;ˆFØ#×'7Ñ'7Ó7‘D¼SÀ»\ˆEØ#×'7Ñ'7Ó7‘D¼SÀ»\ˆEØ#×'7Ñ'7Ó7‘D¼SÀ»\ˆEàÑ  V·M±M°?Ó%Bà�à‰}Ü  q°¸Ñ;�Ø§-¡-°·±Ð!@Ó@Ü$Ð%<¸vÑ%EÓFÐFØŸ™‘Ø‘Ü  u°A¸QÑ?‘Ø‘Ü  uÀÑC‘ä ØØØÞ4:˜vŸ|™|¨CÔ0ÀÞ.3˜%Ÿ+™+ cÔ*¸ñ�ð ‘ ¡°%±-ÆfÖPUÜ Ð!7¸&Ñ!@ÓAÐAà×)Ñ)Ô)Ø—<—<Ø!Ÿ?™?Ó,×7Ñ7Ó9‘DØ—\—\Ø!Ÿ?™?Ó,×7Ñ7Ó9‘DØ‘]Ø!Ÿ?™?Ó,×7Ñ7Ó9‘DØ‘]Ø!Ÿ?™?Ó,×7Ñ7Ó9‘Dà!Ÿ?™?Ó,×7Ñ7Ó9�DØŸ	™	¤%§,¡,°Ó7¸¿¹Ä5Ç;Á;ÐPTÓ9UÐVÐVà×+Ñ+Ó+ØÑ(Ð(Ð(Ø‘=Ø!×,Ñ,Ó.‘Dà!×,Ñ,Ó.�DØŸ	™	¤%§,¡,°Ó7¸¿¹Ä5Ç;Á;ÐPTÓ9UÐVÐVàŸ=™=Ó(Ø‘=ØŸI™I¤e§l¡l°FÓ;Ð<Ð<Ø‘]ØŸI™I¤e§l¡l°FÓ;¸S¿Y¹YÄuÇ{Á{ÐTZ×TeÑTeÓTgÓ=hÐiÐiØ‘]ØŸI™I¤e§l¡l°FÓ;¸S¿Y¹YÄuÇ{Á{ÐTZ×TeÑTeÓTgÓ=hÐiÐiàŸI™I¤e§k¡k°6Ó:Ð;Ð;àŸ=™=Ó(ØÑ(Ð(Ð(Ø‘=ØŸI™I¤e§l¡l°F×4EÑ4EÓ4GÓHÐIÐIØ‘]ØŸI™I¤e§l¡l°F×4EÑ4EÓ4GÓHÐIÐIàŸI™I¤e§k¡k°6Ó:Ð;Ð;àŸ>™>Ó)ØŸ	™	¤%§,¡,°Ó7Ð8Ð8àŸ=™=Ó(ØÑ(Ð(Ð(ØŸ	™	¤%§+¡+¨vÓ6Ð7Ð7ð §¡Ó/Ð/Ð/ØÑ(Ð(Ð(Ø‘=ØŸI™I¤e§k¡k°6×3DÑ3DÓ3FÓGÐHÐHØ‘]ØŸI™I¤e§k¡k°6×3DÑ3DÓ3FÓGÐHÐHàŸI™I¤e§l¡l°FÓ;Ð<Ð<r
   r   N)"r   r   r    r!   rL  rN  r1  ÚPARTr�   r‚   r2  r3  rP  rÒ   rI  rO   r#  r$  r   r&  r!  r'  r(  r  rô   rí  rõ  r÷  rô  ró  ÚPREFIX_TO_OPERATORr  rO  r#   r   r
   r   r
  rG  è  sð   † ØˆØˆà(ˆØ ˆØŸšð %÷ ‘˜6¨�Ð-Ø�J‰Jó
ˆð 
ñ	Yó 
ð	Yð 
ñ9	ó 
ð9	ðv ˆØˆØˆ	Øˆ	Øˆ
Øˆ	Øˆ
ð �	ð
ˆð
 �u—{‘{Ø�u—{‘{Ø˜Ÿ™Ø˜Ÿ™Ø�u—{‘{ð
Ðò -ˆà	ñZ	=ó 
óZ	=r
   r
  r   Nr4  r   r
   r   rB  rB  à  s%   † à€Fàñ,ó ð,÷A=ô A=r
   rB  )Ú	functoolsr�   rK   r	   Úobjectr   Útotal_orderingr%   r3   rD   rÕ   r  rƒ   r  rG  r  rK  ri  r�  rŽ  ró   rò   rô   r!  r  r6  rä   rB  r   r
   r   Ú<module>r`     sa  ðó
 Û 	Û òô1�Fô 1ð ×Ñô"˜ó "ó ð"ð2 ×Ñô"�fó "ó ð"ô2iEˆfô iEôXU,ˆvô U,òp,ò.òð €ôPGˆvô PGôf ˆVô  ôF<ˆFô <ô~>ˆFô >ôB"ˆfô "ô(ˆGô ô,ˆWô ô,l
ˆGô l
ð^ 
×Ñôj7�ó j7ó ðj7ôZ 0�ô  0ðF €ð 
×ÑôH=ˆhó H=ó ñH=r
   