grthtrhthjhtyjytjytkergtrhtrjytjerhrfh3 \Aã@sÀddddgZddlZyddlmZWnek r@dd„ZYnXGd d„deƒZeZgfd d„Zgfd d„Z d d „Z dd„Z dd„Z dd„Z edkr¼ddlZeeejdd…dddgƒƒdS)Ú GetoptErrorÚerrorÚgetoptÚ gnu_getoptéN)ÚgettextcCs|S)N©)Úsrrú/usr/lib64/python3.6/getopt.pyÚ_)sr c@s&eZdZdZdZddd„Zdd„ZdS)rÚcCs||_||_tj|||ƒdS)N)ÚmsgÚoptÚ ExceptionÚ__init__)Úselfr r rrr r.szGetoptError.__init__cCs|jS)N)r )rrrr Ú__str__3szGetoptError.__str__N)r )Ú__name__Ú __module__Ú __qualname__r r rrrrrr r+s cCsÆg}t|ƒtdƒkr|g}nt|ƒ}x˜|r¼|djdƒr¼|ddkr¼|ddkr^|dd…}P|djdƒr”t||ddd…||dd…ƒ\}}q&t||ddd…||dd…ƒ\}}q&W||fS)Nr rú-z--éé)ÚtypeÚlistÚ startswithÚdo_longsÚ do_shorts)ÚargsÚ shortoptsÚlongoptsÚoptsrrr r8s   (*cCs6g}g}t|tƒr|g}nt|ƒ}|jdƒr>|dd…}d}ntjjdƒrPd}nd}xØ|�r,|ddkrz||dd…7}P|ddd…dkr¶t||ddd…||dd…ƒ\}}qV|ddd…d krþ|dd krþt||ddd…||dd…ƒ\}}qV|�r||7}PqV|j |dƒ|dd…}qVW||fS) Nú+rTZPOSIXLY_CORRECTFrz--rr) Ú isinstanceÚstrrrÚosÚenvironÚgetrrÚappend)rrrr Z prog_argsZall_options_firstrrr rcs2     ( (c CsÆy|jdƒ}Wntk r&d}Yn X|d|…||dd…}}t||ƒ\}}|rŽ|dkr¨|svttdƒ||ƒ‚|d|dd…}}n|dk r¨ttdƒ||ƒ‚|jd||p¸dfƒ||fS)Nú=rzoption --%s requires argumentrz%option --%s must not have an argumentz--r )ÚindexÚ ValueErrorÚ long_has_argsrr r')r r rrÚiÚoptargÚhas_argrrr r•s rcs”‡fdd„|Dƒ}|s(ttdƒˆˆƒ‚ˆ|kr8dˆfSˆd|krLdˆfSt|ƒdkrjttdƒˆˆƒ‚|d }|jdƒ}|rŒ|dd …}||fS) Ncsg|]}|jˆƒr|‘qSr)r)Ú.0Úo)r rr ú ¬sz!long_has_args..zoption --%s not recognizedFr(Trzoption --%s not a unique prefixréÿÿÿÿ)rr ÚlenÚendswith)r rZ possibilitiesZ unique_matchr.r)r r r+«s    r+cCsŒx‚|dkr‚|d|dd…}}t||ƒrj|dkr^|sHttdƒ||ƒ‚|d|dd…}}|d}}nd}|jd||fƒqW||fS)Nr rrzoption -%s requires argumentr)Ú short_has_argrr r')r Z optstringrrr r-rrr rÀs    rcCsXx@tt|ƒƒD]0}|||ko(dknr|jd|dƒSqWttdƒ||ƒ‚dS)Nú:rzoption -%s not recognized)Úranger3rrr )r rr,rrr r5Ïsr5Ú__main__rza:bzalpha=Zbeta)Ú__all__r$rr Ú ImportErrorrrrrrrr+rr5rÚsysÚprintÚargvrrrr Ú"s   + 2