HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //lib64/python3.9/site-packages/borg/__pycache__/version.cpython-39.opt-1.pyc
a

HZ�h�@sddlZdd�Zdd�ZdS)�NcCs�d}t�||tj�}|dur(td|��|��}t|d�t|d�t|d�g}|jdkr�dd	d
d�|d}t|d
�}|||g7}n
|dg7}t|�S)u�
    Simplistic parser for setuptools_scm versions.

    Supports final versions and alpha ('a'), beta ('b') and release candidate ('rc') versions.
    It does not try to parse anything else than that, even if there is more in the version string.

    Output is a version tuple containing integers. It ends with one or two elements that ensure that relational
    operators yield correct relations for alpha, beta and rc versions, too.
    For final versions the last element is a -1.
    For prerelease versions the last two elements are a smaller negative number and the number of e.g. the beta.

    This version format is part of the remote protocol, don‘t change in breaking ways.
    z�
        (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)   # version, e.g. 1.2.33
        (?P<prerelease>(?P<ptype>a|b|rc)(?P<pnum>\d+))?  # optional prerelease, e.g. a1 or b2 or rc33
    NzInvalid version string %s�major�minorZpatchZ
prerelease���������)�a�b�rcZptypeZpnum���)�re�match�VERBOSE�
ValueError�	groupdict�int�	lastgroup�tuple)�versionZ
version_re�m�gdZp_typeZp_num�r�2/usr/lib64/python3.9/site-packages/borg/version.py�
parse_versions"

rcCsng}t|�}t|�}|dkr,|�t|��q|dkr8qdq|ddddd�|tt|��|d<qdqd�|�S)zGa reverse for parse_version (obviously without the dropped information)rr
r	rr)rrr�.)�iter�next�append�str�join)r�f�it�partrrr�format_version$s(r")rrr"rrrr�<module>s