U e5d90ã@s:ddlZGdd„dƒZGdd„deƒZGdd„deƒZdS)éNc@sFeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dS)ÚVersionNcCs|r| |¡dS©N©Úparse©ÚselfÚvstring©r ú)/usr/lib64/python3.8/distutils/version.pyÚ__init__&szVersion.__init__cCsd|jjt|ƒfS)Nz %s ('%s'))Ú __class__Ú__name__Ústr©rr r r Ú__repr__*szVersion.__repr__cCs| |¡}|tkr|S|dkS©Nr©Ú_cmpÚNotImplemented©rÚotherÚcr r r Ú__eq__-s zVersion.__eq__cCs| |¡}|tkr|S|dkSrrrr r r Ú__lt__3s zVersion.__lt__cCs| |¡}|tkr|S|dkSrrrr r r Ú__le__9s zVersion.__le__cCs| |¡}|tkr|S|dkSrrrr r r Ú__gt__?s zVersion.__gt__cCs| |¡}|tkr|S|dkSrrrr r r Ú__ge__Es zVersion.__ge__)N) r Ú __module__Ú __qualname__r rrrrrrr r r r rs rc@s8eZdZe dejejB¡Zdd„Zdd„Z dd„Z dS) Ú StrictVersionz)^(\d+) \. (\d+) (\. (\d+))? ([ab](\d+))?$cCsŽ|j |¡}|std|ƒ‚| ddddd¡\}}}}}|rTttt|||gƒƒ|_nttt||gƒƒd|_|r„|dt|ƒf|_nd|_dS) Nzinvalid version number '%s'ééééé)rr) Ú version_reÚmatchÚ ValueErrorÚgroupÚtupleÚmapÚintÚversionÚ prerelease)rrr&ÚmajorÚminorZpatchr-Zprerelease_numr r r r†s  ÿ zStrictVersion.parsecCsb|jddkr*d tt|jdd…ƒ¡}nd tt|jƒ¡}|jr^||jdt|jdƒ}|S)Nr!rÚ.r )r,Újoinr*rr-rr r r Ú__str__™s zStrictVersion.__str__cCs˜t|tƒrt|ƒ}|j|jkr2|j|jkr.dSdS|jsB|jsBdS|jrR|jsRdS|jsb|jrbdS|jr”|jr”|j|jkr~dS|j|jkrŽdSdSndS)Néÿÿÿÿr r)Ú isinstancerrr,r-©rrr r r r¦s&         zStrictVersion._cmpN) r rrÚreÚcompileÚVERBOSEÚASCIIr%rr2rr r r r r]s % ÿ rc@sDeZdZe dej¡Zd dd„Zdd„Zdd„Z d d „Z d d „Z dS)Ú LooseVersionz(\d+ | [a-z]+ | \.)NcCs|r| |¡dSrrrr r r r .szLooseVersion.__init__c Cs^||_dd„|j |¡Dƒ}t|ƒD].\}}zt|ƒ||<Wq$tk rPYq$Xq$||_dS)NcSsg|]}|r|dkr|‘qS)r0r )Ú.0Úxr r r Ú 8sÿz&LooseVersion.parse..)rÚ component_reÚsplitÚ enumerater+r'r,)rrZ componentsÚiÚobjr r r r3szLooseVersion.parsecCs|jSr)rrr r r r2CszLooseVersion.__str__cCs dt|ƒS)NzLooseVersion ('%s'))rrr r r rGszLooseVersion.__repr__cCsFt|tƒrt|ƒ}|j|jkr"dS|j|jkr2dS|j|jkrBdSdS)Nrr3r )r4rr:r,r5r r r rKs    zLooseVersion._cmp)N) r rrr6r7r8r>r rr2rrr r r r r: s ! r:)r6rrr:r r r r Ús>/