/opt/cloudlinux/venv/lib/python3.11/site-packages/semver/__pycache__
NameSizeModeActions
cli.cpython-311.pyc76680644editdlrm
version.cpython-311.pyc329530644editdlrm
_deprecated.cpython-311.pyc152350644editdlrm
_types.cpython-311.pyc9320644editdlrm
__about__.cpython-311.pyc9110644editdlrm
__init__.cpython-311.pyc15840644editdlrm
__main__.cpython-311.pyc14140644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/semver/__pycache__/version.cpython-311.pyc (32953B)
§ iÐ=e˜ó4ãó—dZddlZddlZddlmZddlmZmZmZm Z m Z m Z m Z m Z mZmZmZmZddlmZmZmZmZmZe deeefeeefZedegefZedd¬ ¦«Zd ed efd „Zd „ZGd„d¦«ZeZ dS)z6Version handling by a semver compatible version class.éN)Úwraps) ÚAnyÚDictÚIterableÚOptionalÚ SupportsIntÚTupleÚUnionÚcastÚCallableÚ CollectionÚTypeÚTypeVaré)Ú VersionTupleÚ VersionDictÚVersionIteratorÚStringÚ VersionPartÚVersionÚT)ÚboundÚoperatorÚreturncó^‡—t‰¦«dddtdtfˆfd„ ¦«}|S)z0Wrap a Version binary op method in a type-check.ÚselfrÚotherrc󘕗ttttgtj¢R}t ||¦«stS‰||¦«S©N)rÚdictÚtupleÚlistrÚ__args__Ú isinstanceÚNotImplemented)rrÚcomparable_typesrs €ú`/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/semver/version.pyÚwrapperz_comparator..wrapper'sWø€õ Ý Ý Ý ð  õ Œ_ð  ð Ðõ˜%Ð!1Ñ2Ô2ð "Ý!Ð !؈x˜˜eÑ$Ô$Ð$ó)rÚ ComparableÚbool)rr(s` r'Ú _comparatorr,$sOø€õ ˆ8�_„_ð %�ið %­ ð %µtð %ð %ð %ð %ð %ñ„_ð %ð €Nr)có—||k||kz S)z6Return negative if ab.©©ÚaÚbs r'Ú_cmpr27s€à �ŠE�a˜!’eÑ Ðr)cót—eZdZdZdZed„eD¦«¦«Zejd¦«Z dZ eje   dd¬¦«ej ¦«Z eje   dd¬¦«ej ¦«Z dFd ed ed edeeeefdeeeeff d„Zed„¦«Zedefd„¦«Zejd„¦«Zedefd„¦«Zejd„¦«Zedefd„¦«Zejd„¦«Zedeefd„¦«Zejd„¦«Zedeefd„¦«Zejd„¦«Zdefd„Z de!fd„Z"de#fd„Z$e%d edefd!„¦«Z&dGd"„Z'dGd#„Z(dGd$„Z)dHd&eeddfd'„Z*dId&eeddfd(„Z+d)e,defd*„Z-dHd+ed,eddfd-„Z.e/d)e,de0fd.„¦«Z1e/d)e,de0fd/„¦«Z2e/d)e,de0fd0„¦«Z3e/d)e,de0fd1„¦«Z4e/d)e,de0fd2„¦«Z5e/d)e,de0fd3„¦«Z6d4eee7fdeeeee8eeefd5fffd6„Z9defd7„Z:defd8„Z;defd9„Ze dJd>e?e@d?ed@e0de@fdA„¦«ZAdBeeeefddfdC„ZBed?ede0fdD„¦«ZCd)dde0fdE„ZDd S)Kraœ A semver compatible version class. See specification at https://semver.org. :param major: version when you make incompatible API changes. :param minor: version when you add functionality in a backwards-compatible manner. :param patch: version when you make backwards-compatible bug fixes. :param prerelease: an optional prerelease string :param build: an optional build string )Ú_majorÚ_minorÚ_patchÚ _prereleaseÚ_buildcó"—g|] }|dd…‘Œ S)rNr.)Ú.0Úitems r'ú zVersion.Ls €Ð2Ð2Ð2 �4˜˜˜”8Ð2Ð2Ð2r)z(?:[^\d]*(\d+)[^\d]*)+a3 ^ (?P0|[1-9]\d*) (?: \. (?P0|[1-9]\d*) (?: \. (?P0|[1-9]\d*) ){opt_patch} ){opt_minor} (?:-(?P (?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*) (?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))* ))? (?:\+(?P [0-9a-zA-Z-]+ (?:\.[0-9a-zA-Z-]+)* ))? $ Ú)Ú opt_patchÚ opt_minorú?rNÚmajorÚminorÚpatchÚ prereleaseÚbuildcó’—t|¦«t|¦«t|¦«dœ}| ¦«D]-\}}|dkr"td |¦«¦«‚Œ.|d|_|d|_|d|_|€dnt|¦«|_|€dnt|¦«|_ dS)N)rArBrCrz1{!r} is negative. A version can only be positive.rArBrC) ÚintÚitemsÚ ValueErrorÚformatr4r5r6Ústrr7r8) rrArBrCrDrEÚ version_partsÚnameÚvalues r'Ú__init__zVersion.__init__qsÌ€õ#& e¡*¤*µs¸5±z´zÍCÐPUÉJÌJÐWÐWˆ à(×.Ò.Ñ0Ô0ð ð ‰KˆD�%Ø�qŠyˆyÝ ØG×NÒNÈtÑTÔTñôððð $ GÔ,ˆŒ Ø# GÔ,ˆŒ Ø# GÔ,ˆŒ Ø#-Ð#5˜4˜4½3¸z¹?¼?ˆÔØ#˜m�d�dµ°U±´ˆŒ ˆ ˆ r)cóH—d„}|pd|pd}}| d¦«| d¦«}}d„|D¦«}d„|D¦«}t||¦«D]\}}|||¦«}|dkr|cSŒtt|¦«t|¦«¦«S)Ncóò—t|t¦«r%t|t¦«rt||¦«St|t¦«rdSt|t¦«rdSt||¦«S)Néÿÿÿÿr)r$rGr2r/s r'Úcmp_prerelease_tagz,Version._nat_cmp..cmp_prerelease_tagŠso€Ý˜!�SÑ!Ô!ð "¥j°µCÑ&8Ô&8ð "ݘA˜q‘z”zÐ!ݘA�sÑ#Ô#ð "Ø�rݘA�sÑ#Ô#ð "Ø�qå˜A˜q‘z”zÐ!r)r=ú.cóZ—g|](}tjd|¦«rt|¦«n|‘Œ)S©z^\d+$©ÚreÚmatchrG©r:Úxs r'r<z$Version._nat_cmp..–ó3€ÐKÐKÐK¸a�RœX h°Ñ2Ô2Ð9•3�q‘6”6�6¸ÐKÐKÐKr)cóZ—g|](}tjd|¦«rt|¦«n|‘Œ)SrVrWrZs r'r<z$Version._nat_cmp..—r\r)r)ÚsplitÚzipr2Úlen) Úclsr0r1rSÚa_partsÚb_partsÚsub_aÚsub_bÚ cmp_results r'Ú_nat_cmpzVersion._nat_cmpˆs΀ð "ð "ð "ðˆw�B˜˜˜Rˆ1ˆØŸ7š7 3™<œ<¨¯ª°©¬�ˆØKÐKÀ7ÐKÑKÔKˆØKÐKÀ7ÐKÑKÔKˆÝ ¨Ñ1Ô1ð (ð (‰LˆE�5Ø+Ð+¨E°5Ñ9Ô9ˆJؘQŠˆØ!Ð!Ð!Ð!ðõ�˜A™œ¥ A¡¤Ñ'Ô'Ð 'r)rcó—|jS)z(The major part of a version (read-only).)r4©rs r'rAz Version.majorŸó €ðŒ{Ðr)có —td¦«‚)Nzattribute 'major' is readonly©ÚAttributeError©rrNs r'rAz Version.major¤ó€åÐ<Ñ=Ô=Ð=r)có—|jS)z(The minor part of a version (read-only).)r5ris r'rBz Version.minor¨rjr)có —td¦«‚)Nzattribute 'minor' is readonlyrlrns r'rBz Version.minor­ror)có—|jS)z(The patch part of a version (read-only).)r6ris r'rCz Version.patch±rjr)có —td¦«‚)Nzattribute 'patch' is readonlyrlrns r'rCz Version.patch¶ror)có—|jS)z-The prerelease part of a version (read-only).)r7ris r'rDzVersion.prereleaseºs €ðÔÐr)có —td¦«‚)Nz"attribute 'prerelease' is readonlyrlrns r'rDzVersion.prerelease¿s€åÐAÑBÔBÐBr)có—|jS)z(The build part of a version (read-only).)r8ris r'rEz Version.buildÃrjr)có —td¦«‚)Nzattribute 'build' is readonlyrlrns r'rEz Version.buildÈror)cóB—|j|j|j|j|jfS)a[ Convert the Version object to a tuple. .. versionadded:: 2.10.0 Renamed :meth:`Version._astuple` to :meth:`Version.to_tuple` to make this function available in the public API. :return: a tuple with all the parts >>> semver.Version(5, 3, 1).to_tuple() (5, 3, 1, None, None) ©rArBrCrDrEris r'Úto_tuplezVersion.to_tupleÌs€ð” ˜DœJ¨¬ °D´OÀTÄZÐPÐPr)cóz—tjd|jfd|jfd|jfd|jfd|jff¦«S)a Convert the Version object to an OrderedDict. .. versionadded:: 2.10.0 Renamed :meth:`Version._asdict` to :meth:`Version.to_dict` to make this function available in the public API. :return: an OrderedDict with the keys in the order ``major``, ``minor``, ``patch``, ``prerelease``, and ``build``. >>> semver.Version(3, 2, 1).to_dict() OrderedDict([('major', 3), ('minor', 2), ('patch', 1), ('prerelease', None), ('build', None)]) rArBrCrDrE)Ú collectionsÚ OrderedDictrArBrCrDrEris r'Úto_dictzVersion.to_dictÛsP€õÔ&à˜$œ*Ð%ؘ$œ*Ð%ؘ$œ*Ð%ؘtœÐ/ؘ$œ*Ð%ð  ñ ô ð r)c#ó>K—| ¦«Ed{V—†dS)zReturn iter(self).N)rzris r'Ú__iter__zVersion.__iter__ôs,èè€à—=’=‘?”?Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"r)ÚstringcóH—tj |¦«}|r€tt | d¦«¦«dz¦«}| d¦«\}}|dt|t|¦«z |¦«…|z||d…z}|S)a Look for the last sequence of number(s) in a string and increment. :param string: the string to search for. :return: the incremented string Source: http://code.activestate.com/recipes/442460-increment-numbers-in-a-string/#c1 rN) rÚ _LAST_NUMBERÚsearchrKrGÚgroupÚspanÚmaxr`)r�rYÚnext_ÚstartÚends r'Ú_increment_stringzVersion._increment_stringøs–€õÔ$×+Ò+¨FÑ3Ô3ˆØ ð SÝ�˜EŸKšK¨™NœNÑ+Ô+¨aÑ/Ñ0Ô0ˆEØŸš A™œ‰JˆE�3ØÐ:�c #­¨E© ¬ Ñ"2°EÑ:Ô:Ð:Ô;¸eÑCÀfÈSÈTÈTÄlÑRˆF؈ r)cóF—t|¦«}||jdz¦«S)a2 Raise the major part of the version, return a new object but leave self untouched. :return: new object with the raised major part >>> ver = semver.parse("3.4.5") >>> ver.bump_major() Version(major=4, minor=0, patch=0, prerelease=None, build=None) r)Útyper4©rras r'Ú bump_majorzVersion.bump_major s%€õ�4‰jŒjˆØˆs�4”; ‘?Ñ#Ô#Ð#r)cóR—t|¦«}||j|jdz¦«S)a2 Raise the minor part of the version, return a new object but leave self untouched. :return: new object with the raised minor part >>> ver = semver.parse("3.4.5") >>> ver.bump_minor() Version(major=3, minor=5, patch=0, prerelease=None, build=None) r)r�r4r5rŽs r'Ú bump_minorzVersion.bump_minors)€õ�4‰jŒjˆØˆs�4”; ¤ ¨a¡Ñ0Ô0Ð0r)có^—t|¦«}||j|j|jdz¦«S)a2 Raise the patch part of the version, return a new object but leave self untouched. :return: new object with the raised patch part >>> ver = semver.parse("3.4.5") >>> ver.bump_patch() Version(major=3, minor=4, patch=6, prerelease=None, build=None) r)r�r4r5r6rŽs r'Ú bump_patchzVersion.bump_patch&s-€õ�4‰jŒjˆØˆs�4”; ¤ ¨T¬[¸1©_Ñ=Ô=Ð=r)ÚrcÚtokencóâ—t|¦«}|j�|j}n |dkrd}n|€d}nt|¦«dz}| |¦«}||j|j|j|¦«S)aü Raise the prerelease part of the version, return a new object but leave self untouched. :param token: defaults to ``'rc'`` :return: new :class:`Version` object with the raised prerelease part. The original object is not modified. >>> ver = semver.parse("3.4.5") >>> ver.bump_prerelease().prerelease 'rc.2' >>> ver.bump_prerelease('').prerelease '1' >>> ver.bump_prerelease(None).prerelease 'rc.1' Nr=Ú0zrc.0ú.0)r�r7rKr‹r4r5r6)rr•rarDs r'Úbump_prereleasezVersion.bump_prerelease4s}€õ"�4‰jŒjˆØ Ô Ð 'ØÔ)ˆJˆJØ �bŠ[ˆ[؈JˆJØ ˆ]؈JˆJå˜U™œ dÑ*ˆJà×*Ò*¨:Ñ6Ô6ˆ ؈s�4”; ¤ ¨T¬[¸*ÑEÔEÐEr)cóv—t|¦«}|j�|j}n |dkrd}n|€d}nt|¦«dz}| |¦«}|j�|j}n |dkrd}n|€d}nt|¦«dz}| |¦«}||j|j|j|j|¦«S)a¸ Raise the build part of the version, return a new object but leave self untouched. :param token: defaults to ``'build'`` :return: new :class:`Version` object with the raised build part. The original object is not modified. >>> ver = semver.parse("3.4.5-rc.1+build.9") >>> ver.bump_build() Version(major=3, minor=4, patch=5, prerelease='rc.1', build='build.10') Nr=r—zbuild.0r˜)r�r8rKr‹r4r5r6r7)rr•rarEs r'Ú bump_buildzVersion.bump_buildRsÔ€õ�4‰jŒjˆØ Œ;Ð "Ø”KˆEˆEØ �bŠ[ˆ[؈EˆEØ ˆ]؈EˆE嘑J”J Ñ%ˆEð×%Ò% eÑ,Ô,ˆØ Œ;Ð "Ø”KˆEˆEØ �bŠ[ˆ[؈EˆEØ ˆ]؈EˆE嘑J”J Ñ%ˆEð×%Ò% eÑ,Ô,ˆØˆs�4”; ¤ ¨T¬[¸$Ô:JÈEÑRÔRÐRr)rcój—t|¦«}t|tj¦«r| |¦«}nwt|t ¦«r |di|¤Ž}nYt|t tf¦«r||Ž}n7t||¦«s'td|j ›dt|¦«›�¦«‚|  ¦«dd…}|  ¦«dd…}t||¦«}|r|S|j |j }}|  ||¦«}|sdS|sdS|sdS|S) a« Compare self with other. :param other: the second version :return: The return value is negative if ver1 < ver2, zero if ver1 == ver2 and strictly positive if ver1 > ver2 >>> semver.compare("2.0.0") -1 >>> semver.compare("1.0.0") 1 >>> semver.compare("2.0.0") 0 >>> semver.compare(dict(major=2, minor=0, patch=0)) 0 z+Expected str, bytes, dict, tuple, list, or z instance, but got NérrrRr.)r�r$rr#Úparser r!r"Ú TypeErrorÚ__name__rzr2rDrg) rrraÚv1Úv2r[Úrc1Úrc2Úrccmps r'ÚcomparezVersion.compareys_€õ"�4‰jŒjˆÝ �e�Vœ_Ñ -Ô -ð Ø—I’I˜eÑ$Ô$ˆEˆEÝ ˜�tÑ $Ô $ð Ø�C�L�L˜%�L�LˆEˆEÝ ˜¥¥t˜}Ñ -Ô -ð Ø�C˜�KˆEˆEݘE 3Ñ'Ô'ð Ýð)¸c¼lð)ð)Ý ™;œ;ð)ð)ñôð ð �]Š]‰_Œ_˜R˜a˜RÔ ˆØ �^Š^Ñ Ô ˜b˜q˜bÔ !ˆÝ ��R‰LŒLˆØ ð ØˆHà”? EÔ$4ˆSˆØ— ’ ˜c 3Ñ'Ô'ˆàð Ø�1Øð Ø�1Øð Ø�2àˆ r)ÚpartÚprerelease_tokencóä—t|¦«}|jdd…}||vrtd|›d|›�¦«‚|}|js|jrN|dks1|dkr |jdks |dkr1|j|jcxkrdkrnn| dd¬ ¦«S||jdd …vrt|d |z¦«¦«S|js|  ¦«}|  |¦«S) a Determines next version, preserving natural order. .. versionadded:: 2.10.0 This function is taking prereleases into account. The "major", "minor", and "patch" raises the respective parts like the ``bump_*`` functions. The real difference is using the "prerelease" part. It gives you the next patch version of the prerelease, for example: >>> str(semver.parse("0.1.4").next_version("prerelease")) '0.1.5-rc.1' :param part: One of "major", "minor", "patch", or "prerelease" :param prerelease_token: prefix string of prerelease, defaults to 'rc' :return: new object with the appropriate part raised NrRzInvalid part. Expected one of z , but got rCrBrrA)rDrEr�Úbump_) r�ÚNAMESrIrDrErCrBÚreplaceÚgetattrr“r™)rr§r¨raÚ validpartsÚversions r'Ú next_versionzVersion.next_version©s1€õ&�4‰jŒjˆà”Y˜s ˜s”^ˆ Ø �zÐ !Ð !ÝØO°ÐOÐOÀtÐOÐOñôð ðˆØ Ô ð @ '¤-ð @Ø �GŠOˆOؘ’� G¤M°QÒ$6Ð$6ؘ’� G¤M°W´]Ð$GÐ$GÒ$GÐ$GÀaÒ$GÐ$GÐ$GÐ$GÐ$Gà—?’?¨d¸$�?Ñ?Ô?Ð ?ð �3”9˜R˜a˜R”=Ð Ð Ø3•7˜7 G¨d¡NÑ3Ô3Ñ5Ô5Ð 5àÔ!ð +Ø×(Ò(Ñ*Ô*ˆGØ×&Ò&Ð'7Ñ8Ô8Ð8r)có4—| |¦«dkS©Nr©r¦©rrs r'Ú__eq__zVersion.__eq__Óó€à�|Š|˜EÑ"Ô" aÒ'Ð'r)có4—| |¦«dkSr²r³r´s r'Ú__ne__zVersion.__ne__×r¶r)có4—| |¦«dkSr²r³r´s r'Ú__lt__zVersion.__lt__Ûó€à�|Š|˜EÑ"Ô" QÒ&Ð&r)có4—| |¦«dkSr²r³r´s r'Ú__le__zVersion.__le__ßr¶r)có4—| |¦«dkSr²r³r´s r'Ú__gt__zVersion.__gt__ãr»r)có4—| |¦«dkSr²r³r´s r'Ú__ge__zVersion.__ge__çr¶r)Úindex.c óú—t|t¦«rt||dz¦«}tt|¦«}t|t¦«r|j� |jdks|j�|jdkrt d¦«‚ttd„tt|  ¦«|¦«¦«¦«}t|¦«dkr|dS|st d¦«‚|S)a[ self.__getitem__(index) <==> self[index] Implement getitem. If the part requested is undefined, or a part of the range requested is undefined, it will throw an index error. Negative indices are not supported. :param index: a positive integer indicating the offset or a :func:`slice` object :raises IndexError: if index is beyond the range or a part is None :return: the requested part of the version at position index >>> ver = semver.Version.parse("3.4.5") >>> ver[0], ver[1], ver[2] (3, 4, 5) rNrz Version index cannot be negativecó —|duSrr.)Úps r'úz%Version.__getitem__.. s €˜Q d˜]€r)zVersion part undefined) r$rGÚslicer r‰ÚstopÚ IndexErrorr!Úfilterrrzr`)rrÂr§s r'Ú __getitem__zVersion.__getitem__ësí€õ& �e�SÑ !Ô !ð ,ݘ% ¨¡Ñ+Ô+ˆEÝ•U˜EÑ"Ô"ˆõ �u�eÑ $Ô $ð Aà”Ð(¨U¬[¸1ª_¨_Ø” Ð&¨5¬:¸ª>¨>åÐ?Ñ@Ô@Ð @åÝ Ð*Ð*­Dµ¸4¿=º=¹?¼?È5Ô;QÑ,RÔ,RÑ SÔ Sñ ô ˆõ ˆt‰9Œ9˜Š>ˆ>ؘ”7ˆNØð 7ÝÐ5Ñ6Ô6Ð 6؈ r)có¼—d d„| ¦« ¦«D¦«¦«}t|¦«j›d|›d�S)Nú, c3ó*K—|]\}}|›d|›�V—ŒdS)ú=Nr.)r:ÚkeyÚvals r'ú z#Version.__repr__..s1èè€ÐRÐR©x¨s°C    c cÐ*ÐRÐRÐRÐRÐRÐRr)ú(ú))Újoinr~rHr�r )rÚss r'Ú__repr__zVersion.__repr__sT€Ø �IŠIÐRÐR¸4¿<º<¹>¼>×;OÒ;OÑ;QÔ;QÐRÑRÔRÑ RÔ RˆÝ ™:œ:Ô.Ð.Ð.°°°Ð2Ð2r)có„—d|j|j|jfz}|jr |d|jzz }|jr |d|jzz }|S)Nz%d.%d.%dz-%sz+%sry)rr¯s r'Ú__str__zVersion.__str__sT€Ø ¤ ¨D¬J¸¼ ÐCÑCˆØ Œ?ð /Ø �u˜tœÑ.Ñ .ˆGØ Œ:ð *Ø �u˜tœzÑ)Ñ )ˆG؈r)cóT—t| ¦«dd…¦«S)Né)Úhashrzris r'Ú__hash__zVersion.__hash__s!€Ý�D—M’M‘O”O B Q BÔ'Ñ(Ô(Ð(r)cóX—t|¦«}||j|j|j¦«S)zç Remove any prerelease and build metadata from the version. :return: a new instance with the finalized version string >>> str(semver.Version.parse('1.2.3-rc.5').finalize_version()) '1.2.3' )r�rArBrCrŽs r'Úfinalize_versionzVersion.finalize_version"s)€õ�4‰jŒjˆØˆs�4”:˜tœz¨4¬:Ñ6Ô6Ð6r)Ú match_exprcó —|dd…}|dvr |dd…}nB|r|ddvr|d}|dd…}n#|r|ddvrd}|}ntd |z¦«‚d d d d dddœ}||}| |¦«}||vS)aˆ Compare self to match a match expression. :param match_expr: optional operator and version; valid operators are ``<`` smaller than ``>`` greater than ``>=`` greator or equal than ``<=`` smaller or equal than ``==`` equal ``!=`` not equal :return: True if the expression matches the version, otherwise False >>> semver.Version.parse("2.0.0").match(">=1.0.0") True >>> semver.Version.parse("1.0.0").match(">1.0.0") False >>> semver.Version.parse("4.0.4").match("4.0.4") True Né)ú>=ú<=ú==ú!=r)ú>ú, where is one of ['<', '>', '==', '<=', '>=', '!=']. You provided: %r)r)rR)r)rRr)rr)rRr)rçrèrårærãrä)rIr¦)rràÚprefixÚ match_versionÚpossibilities_dictÚ possibilitiesÚcmp_ress r'rYz Version.match.sæ€ð(˜B˜Q˜B”ˆØ Ð-Ð -Ð -Ø& q r rœNˆMˆMØ ð ˜˜qœ  ZÐ/Ð/ؘA”YˆFØ& q r rœNˆMˆMØ ð ˜J qœM¨\Ð9Ð9؈FØ&ˆMˆMåð#ð&0ñ0ñôð ðØØØØØð  ð Ðð+¨6Ô2ˆ Ø—,’,˜}Ñ-Ô-ˆà˜-Ð'Ð'r)Frar¯Úoptional_minor_and_patchcóÌ—t|t¦«r| d¦«}n9t|tj¦«st dt |¦«z¦«‚|r|j |¦«}n|j  |¦«}|€t|›d�¦«‚|  ¦«}|dsd|d<|dsd|d<|di|¤ŽS) a¹ Parse version string to a Version instance. .. versionchanged:: 2.11.0 Changed method from static to classmethod to allow subclasses. .. versionchanged:: 3.0.0 Added optional parameter ``optional_minor_and_patch`` to allow optional minor and patch parts. :param version: version string :param optional_minor_and_patch: if set to true, the version string to parse can contain optional minor and patch parts. Optional parts are set to zero. By default (False), the version string to parse has to follow the semver specification. :return: a new :class:`Version` instance :raises ValueError: if version is invalid :raises TypeError: if version contains the wrong type >>> semver.Version.parse('3.4.5-pre.2+build.4') Version(major=3, minor=4, patch=5, prerelease='pre.2', build='build.4') zUTF-8znot expecting type '%s'Nz is not valid SemVer stringrBrrCr.) r$ÚbytesÚdecoderr#rŸr�Ú_REGEX_OPTIONAL_MINOR_AND_PATCHrYÚ_REGEXrIÚ groupdict)rar¯rïrYÚmatched_version_partss r'ržz Version.parseas€õ6 �g�uÑ %Ô %ð GØ—n’n WÑ-Ô-ˆGˆGݘG¥V¤_Ñ5Ô5ð GÝÐ5½¸W¹ ¼ ÑEÑFÔFÐ Fà #ð .ØÔ7×=Ò=¸gÑFÔFˆEˆEà”J×$Ò$ WÑ-Ô-ˆEØ ˆ=Ý ÐDÐDÐDÑEÔEÐ Eà05·²Ñ0AÔ0AÐØ$ WÔ-ð /Ø-.Ð ! 'Ñ *Ø$ WÔ-ð /Ø-.Ð ! 'Ñ *àˆsÐ+Ð+Ð*Ð+Ð+Ð+r)Úpartsc óX—| ¦«}| |¦« tdi|¤ŽS#t$rht |¦«t | ¦«¦«z }dt |¦«d |¦«fz}t|¦«‚wxYw)aô Replace one or more parts of a version and return a new :class:`Version` object, but leave self untouched .. versionadded:: 2.9.0 Added :func:`Version.replace` :param parts: the parts to be updated. Valid keys are: ``major``, ``minor``, ``patch``, ``prerelease``, or ``build`` :return: the new :class:`~semver.version.Version` object with the changed parts :raises TypeError: if ``parts`` contain invalid keys z3replace() got %d unexpected keyword argument(s): %srÍNr.)r~ÚupdaterrŸÚsetr`rÕ)rr÷r¯Ú unknownkeysÚerrors r'r¬zVersion.replace�s±€ð—,’,‘.”.ˆØ�Š�uÑÔÐð #ÝÐ%Ð%˜WÐ%Ð%Ð %øÝð #ð #ð #ݘe™*œ*¥s¨4¯<ª<©>¬>Ñ':Ô':Ñ:ˆKØIÝ�KÑ Ô Ø— ’ ˜+Ñ&Ô&ðMñˆEõ˜EÑ"Ô"Ð "ð  #øøøs « 7·A2B)cóT— | |¦«dS#t$rYdSwxYw)ab Check if the string is a valid semver version. .. versionadded:: 2.9.1 .. versionchanged:: 3.0.0 Renamed from :meth:`~semver.version.Version.isvalid` :param version: the version string to check :return: True if the version string is a valid semver version, False otherwise. TF)ržrI)rar¯s r'Úis_validzVersion.is_validªs@€ð Ø �IŠI�gÑ Ô Ð Ø�4øÝð ð ð Ø�5�5ð øøøs ‚™ '¦'có.—t|t¦«stdt|¦«›�¦«‚d|jcxkr |jkrnn|dd…|dd…krdS|j|jko|j|jko|j|jkS)aC Check if current version is compatible with other version. The result is True, if either of the following is true: * both versions are equal, or * both majors are equal and higher than 0. Same for both minors. Both pre-releases are equal, or * both majors are equal and higher than 0. The minor of b's minor version is higher then a's. Both pre-releases are equal. The algorithm does *not* check patches. .. versionadded:: 3.0.0 :param other: the version to check for compatibility :return: True, if ``other`` is compatible with the old version, otherwise False >>> Version(1, 1, 0).is_compatible(Version(1, 0, 0)) False >>> Version(1, 0, 0).is_compatible(Version(1, 1, 0)) True z Expected a Version type but got rNrÛF)r$rrŸr�rArBrDr´s r'Ú is_compatiblezVersion.is_compatible¾s±€õ2˜%¥Ñ)Ô)ð NÝÐL½tÀE¹{¼{ÐLÐLÑMÔMÐ Mð �”Ð *Ð *Ò *Ð *˜uœ{Ò *Ð *Ð *Ð *Ð *°°b°q°b´¸UÀ2ÀAÀ2¼YÒ1FÐ1FØ�5ðŒZ˜5œ;Ò &ð 6Ø” ¤ Ò*ð 6à” EÔ$4Ò4ð r))rrNN)rr)r”)rE)F)Er Ú __module__Ú __qualname__Ú__doc__Ú __slots__r!r«rXÚcompilerƒÚ_REGEX_TEMPLATErJÚVERBOSErôrórrr rrGrOÚ classmethodrgÚpropertyrAÚsetterrBrCrKrDrErrzrr~rr€Ú staticmethodr‹r�r‘r“r™r›r*r¦r°r,r+rµr¸rºr½r¿rÁrÇr rËr×rÙrÝrßrYrrržr¬rþrr.r)r'rr<sက€€€ð ð ðH€Ið ˆEÐ2Ð2¨ Ð2Ñ2Ô2Ñ 3Ô 3€Eð�2”:Ð7Ñ8Ô8€Lð €Oð,ˆRŒZØ×Ò¨°rÐÑ:Ô:Ø Œ ñô€Fð '1 b¤jØ×Ò¨¸ÐÑ<Ô<Ø Œ ñ'ô'Ð#ðØØ37Ø.2ð <ð<àð<ðð<ðð <ð ˜U 6¨3 ;Ô/Ô0ð <𠘘f c˜kÔ*Ô+ð <ð<ð<ð<ð.ð(ð(ñ„[ð(ð,ð�sðððñ„Xðð „\ð>ð>ñ„\ð>ðð�sðððñ„Xðð „\ð>ð>ñ„\ð>ðð�sðððñ„Xðð „\ð>ð>ñ„\ð>ðð ˜H SœMð ð ð ñ„Xð ðÔðCðCñÔðCðð�x ”}ðððñ„Xðð „\ð>ð>ñ„\ð>ð Q˜,ð Qð Qð Qð Qð ˜ð ð ð ð ð2#˜/ð#ð#ð#ð#ðð #ð¨#ðððñ„\ðð" $ð $ð $ð $ð 1ð 1ð 1ð 1ð >ð >ð >ð >ðFðF X¨c¤]ðF¸iðFðFðFðFð<%Sð%S ¨¤ ð%S¸Ið%Sð%Sð%Sð%SðN.˜Zð.¨Cð.ð.ð.ð.ð`(9ð(9 ð(9¸ð(9Àyð(9ð(9ð(9ð(9ðTð(˜Jð(¨4ð(ð(ð(ñ„[ð(ðð(˜Jð(¨4ð(ð(ð(ñ„[ð(ðð'˜Jð'¨4ð'ð'ð'ñ„[ð'ðð(˜Jð(¨4ð(ð(ð(ñ„[ð(ðð'˜Jð'¨4ð'ð'ð'ñ„[ð'ðð(˜Jð(¨4ð(ð(ð(ñ„[ð(ð&ؘ3 ˜:Ô&ð&à ˆs�H˜S”M 5¨¨s°C¨x¬¸#Ð)=Ô#>Ð>Ô ?ð&ð&ð&ð&ðP3˜#ð3ð3ð3ð3ð˜ððððð)˜#ð)ð)ð)ð)ð 7ð 7ð 7ð 7ð1( ð1(¨ð1(ð1(ð1(ð1(ðfàHMð,,ð,,Ø �!ŒWð,,Ø%ð,,ØAEð,,à ð,,ð,,ð,,ñ„[ð,,ð\#˜u S¨(°3¬-Ð%7Ô8ð#¸Yð#ð#ð#ð#ð4ð˜sð tðððñ„[ðð&$  9ð$ °ð$ ð$ ð$ ð$ ð$ ð$ r))!rr|rXÚ functoolsrÚtypingrrrrrr r r r r rrÚ_typesrrrrrrKr*r+Ú Comparatorrr,r2rÚ VersionInfor.r)r'úrs½ðØ<Ð<àÐÐÐØ € € € ØÐÐÐÐÐð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ððððððððððððððð�9˜d 3¨ Ð#3Ô4°jÀÔ6MÈsÐRÔ S€ Ø �y *Ð-¨tÐ3Ô 4€ à €GˆC�yÐ!Ñ!Ô!€ð˜*ð¨ððððð&ððð f  ðf  ðf  ðf  ðf  ñf  ôf  ðf  ðT€ € € r)