hyb
2026-01-09 4cb426cb3ae31e772a09d4ade5b2f0242aaeefa0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Ë
@ñúhçEã    óè—dZddlmZddlZddlZddlZddlZddlmZddl    m
Z
ddl m Z m Z dZejd    e›d
«Zejd e›d e›d «Zej'dd«ZGd„d«Zdd„Zej.Dcic] }e|«d“Œ c}Zd„Zd„ZGd„d«Zedk(r:dZdD]2Ze de›«e djCeee«««e «Œ4yycc}w)a6distutils.fancy_getopt
 
Wrapper around the standard getopt module that provides the following
additional features:
  * short and long options are tied together
  * options have help strings, so fancy_getopt could potentially
    create a complete usage summary
  * options set attributes of a passed-in object
é)Ú annotationsN)ÚSequence)ÚAnyé)ÚDistutilsArgErrorÚDistutilsGetoptErrorz[a-zA-Z](?:[a-zA-Z0-9-]*)ú^ú$z^(z)=!(z)$ú-Ú_cóp—eZdZdZdd„Zd„Zd„Zdd„Zd„Zd„Z    d    „Z
d
„Z d „Z d „Z ddd „Zd„Zdd„Zdd„Zy)Ú FancyGetoptaÕWrapper around the standard 'getopt()' module that provides some
    handy extra functionality:
      * short and long options are tied together
      * options have help strings, and help text can be assembled
        from them
      * options set attributes of a passed-in object
      * boolean options can have "negative aliases" -- eg. if
        --quiet is the "negative alias" of --verbose, then "--quiet"
        on the command line sets 'verbose' to false
    Ncóȗ||_i|_|jr|j«i|_i|_g|_g|_i|_i|_i|_    g|_
y©N) Ú option_tableÚ option_indexÚ _build_indexÚaliasÚnegative_aliasÚ
short_optsÚ    long_optsÚ
short2longÚ    attr_nameÚ    takes_argÚ option_order©Úselfrs  úUH:\Change_password\venv_build\Lib\site-packages\setuptools/_distutils/fancy_getopt.pyÚ__init__zFancyGetopt.__init__1sm€ð)ˆÔðˆÔØ × Ò Ø × Ñ Ô ðˆŒ
ð!ˆÔ𠈌؈ŒØˆŒØˆŒØˆŒð
ˆÕócó~—|jj«|jD]}||j|d<Œy)Nr)rÚclearr)rÚoptions  rrzFancyGetopt._build_indexYs=€Ø ×Ñ×ÑÔ!Ø×'Ñ'ò    2ˆFØ+1ˆD× Ñ ˜f Q™iÒ (ñ    2r có2—||_|j«yr)rrrs  rÚset_option_tablezFancyGetopt.set_option_table^s€Ø(ˆÔØ ×ÑÕr cóœ—||jvrtd|›d«‚|||f}|jj|«||j|<y)Nz$option conflict: already an option 'ú')rrrÚappend)rÚ long_optionÚ short_optionÚ help_stringr#s     rÚ
add_optionzFancyGetopt.add_optionbs[€Ø ˜$×+Ñ+Ñ +Ü&Ø6°{°mÀ1ÐEóð ð" <°Ð=ˆFØ × Ñ × $Ñ $ VÔ ,Ø-3ˆD× Ñ ˜kÒ *r có—||jvS)zcReturn true if the option table for this parser has an
        option with long name 'long_option'.)r©rr)s  rÚ
has_optionzFancyGetopt.has_optionls€ð˜d×/Ñ/Ð/Ð/r có,—|jt«S)z’Translate long option name 'long_option' to the form it
        has as an attribute of some object: ie., translate hyphens
        to underscores.©Ú    translateÚ longopt_xlater.s  rÚ get_attr_namezFancyGetopt.get_attr_nameqs€ð×$Ñ$¤]Ó3Ð3r c
óä—t|t«sJ‚|j«D]K\}}||jvrt    d|›d|›d|›d«‚||jvsŒ8t    d|›d|›d|›d«‚y)Nzinvalid z 'z ': option 'z ' not definedú': aliased option ')Ú
isinstanceÚdictÚitemsrr)rÚaliasesÚwhatrÚopts     rÚ_check_alias_dictzFancyGetopt._check_alias_dictws”€Ü˜'¤4Ô(Ð(Ð(Ø!Ÿ-™-›/ò    ‰JˆE3ؘD×-Ñ-Ñ-Ü*ؘt˜f B u g¨[¸¸¸}ÐMóðð˜$×+Ñ+Ò+Ü*ؘt˜f B u gÐ-@ÀÀÀ]ÐSóðñ     r có6—|j|d«||_y)z'Set the aliases for this option parser.rN)r=r)rrs  rÚ set_aliaseszFancyGetopt.set_aliasesƒs€à ×јu gÔ.؈
r có6—|j|d«||_y)zÚSet the negative aliases for this option parser.
        'negative_alias' should be a dictionary mapping option names to
        option names, both the key and value must already be defined
        in the option table.znegative aliasN)r=r)rrs  rÚset_negative_aliasesz FancyGetopt.set_negative_aliasesˆs€ð
     ×ј~Ð/?Ô@Ø,ˆÕr cóŒ—g|_g|_|jj«i|_|j
D]}t |«dk(r    |\}}}d}n$t |«dk(r|\}}}}ntd|›«‚t|t«rt |«dkrtd|›d«‚|-t|t«rt |«d    k(std
|›d «‚||j|<|jj|«|d d k(r|r|dz}|dd }d|j|<n\|jj|«}|0|j|rtd|›d|›d«‚||jd <d|j|<|jj|«}|1|j||j|k7rtd|›d|›d«‚t j#|«std|›d«‚|j%|«|j&|<|sŒÙ|jj|«||j|d<Œy)zPopulate the various data structures that keep tabs on the
        option table.  Called by 'getopt()' before it can do anything
        worthwhile.
        érézinvalid option tuple: ézinvalid long option 'z"': must be a string of length >= 2Nrzinvalid short option 'z"': must a single character or Noneéÿÿÿÿú=ú:Tzinvalid negative alias 'r6z' takes a valueFzinvalid alias 'z%': inconsistent with aliased option 'z/' (one of them takes a value, the other doesn'tzinvalid long option name 'z)' (must be letters, numbers, hyphens only)rrrr"ÚrepeatrÚlenÚ
ValueErrorr7Ústrrr(rrÚgetrÚ
longopt_reÚmatchr4r)rr#ÚlongÚshortÚhelprIÚalias_tos       rÚ_grok_option_tablezFancyGetopt._grok_option_tables~€ð
ˆŒØˆŒØ ‰×ÑÔØˆŒ à×'Ñ'óD    1ˆFܐ6‹{˜aÒØ$*Ñ!e˜TؑܐV“ Ò!Ø,2Ñ)e˜T¡6ô!Ð#9¸&¸Ð!DÓEÐEô˜d¤CÔ(¬C°«I¸ªMÜ*Ø+¨D¨6Ð1SÐTóðð]¬
°5¼#Ô(>Ä3ÀuÃ:ÐQRÂ?Ü*Ø,¨U¨GÐ3UÐVóðð!'ˆDK‰K˜Ñ Ø N‰N× !Ñ ! $Ô 'àB‰x˜3ŠÙØ! C™KEؘA˜bzØ'+—‘˜tÒ$ð ×.Ñ.×2Ñ2°4Ó8ØÐ'Ø—~‘~ hÒ/Ü2Ø6°t°fð=/Ø/7¨j¸ðIóðð
*.D—N‘N 2Ñ&Ø',—‘˜tÑ$ð—z‘z—~‘~ dÓ+ˆHØÐ#Ø—>‘> $Ñ'¨4¯>©>¸(Ñ+CÒCÜ.Ø)¨$¨ð0+Ø+3¨*ð5,ð,óðô×#Ñ# DÔ)Ü*Ø0°°ð7>ð>óðð
$(×#5Ñ#5°dÓ#;ˆDN‰N˜4Ñ  ÛØ—‘×&Ñ& uÔ-Ø,0—‘  a¡Ó)ñID    1r cóv—|€tjdd}|€ t«}d}nd}|j«dj    |j
«}    t j |||j«\}}|D]\}}t|«dk(r|ddk(r|j|d}nt|«dkDr|ddd    k(sJ‚|dd}|jj|«}    |    r|    }|j|s0|d
k(sJd «‚|jj|«}    |    r|    }d}nd}|j |}
|r+|j"j|
«t%||
d«dz}t'||
|«|j(j+||f«Œ|r||fS|S#t j$r}t|«‚d}~wwxYw) aParse command-line options in args. Store as attributes on object.
 
        If 'args' is None or not supplied, uses 'sys.argv[1:]'.  If
        'object' is None or not supplied, creates a new OptionDummy
        object, stores option values there, and returns a tuple (args,
        object).  If 'object' is supplied, it is modified in place and
        'getopt()' just returns 'args'; in both cases, the returned
        'args' is a modified copy of the passed-in 'args' list, which
        is left untouched.
        NrTFú rErr z--Úzboolean option can't have value)ÚsysÚargvÚ OptionDummyrTÚjoinrÚgetoptrÚerrorrrJrrrMrrrrIÚgetattrÚsetattrrr() rÚargsÚobjectÚcreated_objectrÚoptsÚmsgr<ÚvalrÚattrs            rr\zFancyGetopt.getoptàsÁ€ð ˆ<Ü—8‘8˜A˜B<ˆDØ ˆ>Ü “]ˆFØ!‰Nà"ˆNà ×ÑÔ!à—X‘X˜dŸo™oÓ.ˆ
ð    )ÜŸ™ t¨Z¸¿¹ÓH‰JˆD$ðó    1‰HˆCÜ3‹x˜1Š}  Q¡¨3¢Ø—o‘o c¨!¡fÑ-‘ä˜3“x !’|¨¨B¨Q¨°4ªÐ7Ð7ؘ!˜"gà—J‘J—N‘N 3Ó'ˆEÙØà—>‘> #Ò&ؘb’yÐCÐ"CÓCyØ×+Ñ+×/Ñ/°Ó4ÙؐCØ‘CàCà—>‘> #Ñ&ˆDñt—{‘{—‘ tÓ,Ð8ܘf d¨AÓ.°Ñ2Ü F˜D #Ô &Ø × Ñ × $Ñ $ c¨3 ZÖ 0ð5    1ñ: ؘ<Ð àˆKøôG|‰|ò    )Ü# CÓ(Ð (ûð    )úsÁ$FÆF8Æ( F3Æ3F8cóH—|j€ td«‚|jS)z«Returns the list of (option, value) tuples processed by the
        previous run of 'getopt()'.  Raises RuntimeError if
        'getopt()' hasn't been called yet.
        z!'getopt()' hasn't been called yet)rÚ RuntimeError)rs rÚget_option_orderzFancyGetopt.get_option_orders(€ð
× Ñ Ð $ÜÐBÓCÐ Cà×$Ñ$Ð $r cór—d}|jD]3}|d}|d}t|«}|ddk(r|dz
}||dz}||kDsŒ2|}Œ5|dzdzdz}d}||z
}    d    |z}
|r|g} nd
g} |jD]Ã}|dd \}}} t| |    «} |ddk(r|dd}|€<| r | jd |d |›d›d| d›«n]| jd |d |›d›«nC|›d|›d}| r | jd |d |›d›d| d›«n| jd |d |›d›«| ddD]}| j|
|z«ŒŒÅ| S)zŒGenerate help text (a list of strings, one per suggested line of
        output) from the option table for this FancyGetopt object.
        rrrFrGNérEéNrVzOption summary:rCz  --ú<rWz  z (-ú))rrJÚ    wrap_textr()rÚheaderÚmax_optr#rPrQÚellÚ    opt_widthÚ
line_widthÚ
text_widthÚ
big_indentÚlinesrRÚtextÚ    opt_namess               rÚ generate_helpzFancyGetopt.generate_help'sË€ðˆØ×'Ñ'ò        ˆFؘ!‘9ˆDؘ1‘IˆEܐd“)ˆCؐB‰x˜3ŠØ˜A‘gØÐ Ø˜A‘gØW‹}ؑ𠠠     ð˜a‘K !‘O aÑ'ˆ    ð0ˆ
Ø )Ñ+ˆ
ؘ9‘_ˆ
٠ؐH‰Eà&Ð'ˆEà×'Ñ'ò    /ˆFØ & r¨ 
Ñ ˆD%˜Ü˜T :Ó.ˆDؐB‰x˜3ŠØ˜A˜bzðˆ}ÙØ—L‘L 4¨¨Q¨w¨i°p¨KÐ'8¸¸4À¹7¸)Ð!DÕEà—L‘L 4¨¨Q¨w¨i°p¨KÐ'8Ð!9Õ:ð
 $˜f C¨ w¨aÐ0    ÙØ—L‘L 4¨    °!°G°9¸@°Ð'=¸RÀÀQÁ¸yÐ!IÕJà—L‘L 4¨    °!°G°9¸@°Ð'=Ð!>Ô?à˜A˜Bxò /Ø— ‘ ˜Z¨#Ñ-Õ.ñ /ð-    /ð0ˆ r có|—|€tj}|j|«D]}|j|dz«Œy)Nú
)rXÚstdoutrzÚwrite)rrpÚfileÚlines    rÚ
print_helpzFancyGetopt.print_helpus:€Ø ˆ<Ü—:‘:ˆDØ×&Ñ& vÓ.ò    $ˆDØ J‰Jt˜d‘{Õ #ñ    $r r)NN©r`zSequence[str] | None)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrr%r,r/r4r=r?rArTr\rirzr©r rrr%sS„ñ    ó&òP2ò
ó4ò0ò
4ò
òò
-òN1ô`;òz%óLô\$r rcó^—t|«}|j|«|j||«Sr)rrAr\)ÚoptionsÚ negative_optrar`Úparsers     rÚ fancy_getoptrŒ|s+€Ü ˜Ó !€FØ
×Ñ  Ô-Ø =‰=˜˜vÓ &Ð&r rVcó*—|€gSt|«|kr|gS|j«}|jt«}t    j
d|«}|Dcgc]}|sŒ|‘Œ    }}g}|r§g}d}|rGt|d«}||z|kr|j |d«|d=||z}n|r|dddk(r|d=n|rŒG|r5|dk(r"|j |dd|«|d|d|d<|dddk(r|d=|j dj|««|rŒ§|Scc}w)z¶wrap_text(text : string, width : int) -> [string]
 
    Split 'text' into multiple lines of no more than 'width' characters
    each, and return the list of strings that results.
    Nz( +|-+)rrFrVrW)rJÚ
expandtabsr2ÚWS_TRANSÚreÚsplitr(r[)rxÚwidthÚchunksÚchrwÚcur_lineÚcur_lenrrs        rroro…sN€ð  €|؈    Ü
ˆ4ƒyEÒØˆvˆ à ?‰?Ó €DØ >‰>œ(Ó #€DÜ X‰Xj $Ó '€FØ!Ö (R¢RŠbÐ (€FÐ (Ø €Eá
؈؈áܐf˜Q‘i“.ˆCؘ‰} Ò%Ø—‘  q¡    Ô*ؘ1IØ! C™-‘ñ ¨¡ ¨Q¡°3Ò 6Ø  ˜ Øòñ ð˜!Š|Ø—‘  q¡    ¨!¨EР2Ô3Ø" 1™I e fÐ-q‘    ð
a‰y˜‰|˜sÒ"ؘ1Ið     ‰ R—W‘W˜XÓ&Ô'òA ðD €LùòK)s ÁDÁDcó,—|jt«S)zXConvert a long option name to a valid Python identifier by
    changing "-" to "_".
    r1)r<s rÚtranslate_longoptr˜»s€ð =‰=œÓ 'Ð'r có—eZdZdZgfdd„Zy)rZz_Dummy class just used as a place to hold command-line option
    values as instance attributes.có,—|D]}t||d«Œy)zkCreate a new OptionDummy instance.  The attributes listed in
        'options' will be initialized to None.N)r_)rr‰r<s   rrzOptionDummy.__init__Æs€ðò    %ˆCÜ D˜#˜tÕ $ñ    %r N)r‰z Sequence[Any])rƒr„r…r†rr‡r rrZrZÂs„ñ&ð13õ%r rZÚ__main__z¢Tra-la-la, supercalifragilisticexpialidocious.
How *do* you spell that odd word, anyways?
(Someone ask Mary -- she'll know [or she'll
say, "How should I know?"].))é
ééé(zwidth: r|r‚)"r†Ú
__future__rr\rÚstringrXÚcollections.abcrÚtypingrÚerrorsrrÚ longopt_patÚcompilerNÚ neg_alias_rerLÚ    maketransr3rrŒÚ
whitespaceÚordrror˜rZrƒrxÚwÚprintr[)Ú_wschars0rú<module>r®sðñõ#ã Û    Û Û
Ý$Ýç;ð +€ Ø ˆRZ‰Z˜1˜[˜M¨Ð+Ó ,€
ðˆrz‰z˜B˜{˜m¨4° ¨}¸BÐ?Ó@€ ð— ‘ ˜c 3Ó'€ ÷T$ñT$ón
'ð .4×->Ñ->Ö ? '‰C‹L˜#Ñ Ò ?€ò3òl(÷%ñ%ð ˆzÒð  €Dð òˆÙ ˜sˆmÔÙ ˆdi‰i™     $¨Ó*Ó+Ô,Ù ñðùòW @s C/