bg:dZddlmZddlmZddlmZmZmZm Z m Z m Z m Z m Z mZmZddlmZmZmZdZGddejZd S) zD Fixer for: (a,)* *b (,c)* [,] = s for (a,)* *b (,c)* [,] in d: ... ) fixer_base)count) AssignCommaCallNewlineNameNumbertokensymsNodeLeaf) indentationsuitify commatizecg}t|}t|}|dkrttjt |ttjt tjdttj t tj dt|gt tj dgg}| || t tjddttjt tjddt |ttjt tjdttj |dkrt|nt dd t tj d|dkrAttjt tjd t|gnt dd gt tj dt tj dgg}| ||dkr+| t tjddttjt |dttjt tjdttj ttjt tjd t|gt tj dgt tj dgg} | | ttj|} | S) z Accepts num_pre and num_post, which are counts of values before and after the starg (not including the starg) Returns a source fit for Assign() from fixer_util r[:]+ prefix-)unicoder r powerr trailerrr LSQB subscriptCOLONr RSQBappendPLUSfactorMINUS arith_expr) num_prenum_postLISTNAMEITERNAMEchildrenprepostpre_part main_part post_partsources r/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/libpasteurize/fixes/fix_unpacking.pyassignment_sourcer5s  H '  C 8  D{{ T(^^T$,ejZ^I_I_aefjftw{}B}HJNxOxOQWX[Q\Q\w]b^b^`dejeoqu`v`vIw6x6x%yzz!!!UZd;;;<<<TZ$uz4"E"E"EtH~~W[\`\hkopupz}AlBlBDHIMIWipstititZ`adZeZeZez~@BEzFzFHLMRMXZ^H_H__gjk_k_kaefjfqtxy~yDFJtKtKMSTXMYMYsZa[a[a[quvwy|q}q}Y~DDAEFKFPRVAWAWY]^c^hjnYoYokpXqXq"rssI OOI!||UZd;;;<<<d8D&A&A&A4 W[\a\fhlWmWmostxuCFJKOKVY]^c^ikoYpYprxy}r~r~XF@F@BFGLGRTXBYBYEZp[p[]abgblnr]s]sWtDuDu&vww  """ $/8 , ,F Mc$eZdZdZdZdZdZdS) FixUnpackinga9 expl=expr_stmt< testlist_star_expr< pre=(any ',')* star_expr< '*' name=NAME > post=(',' any)* [','] > '=' source=any > | impl=for_stmt< 'for' lst=exprlist< pre=(any ',')* star_expr< '*' name=NAME > post=(',' any)* [','] > 'in' it=any ':' suite=any>c LfddD\}}}}d|D}d|_d|D}dt||gz|zD}|t d|_t t |jtt d|g}t |tt|t||j|j } || fS) Nc3BK|]}|VdSNget.0nresultss r4 z4FixUnpacking.fix_explicit_context..3s-"a"aa7;;q>>"a"a"a"a"a"ar6)r.namer/r3c`g|]+}|jtjk|,Styper NAMEcloner?r@s r4 z5FixUnpacking.fix_explicit_context..4.>>>Q5:)=)=qwwyy)=)=)=r6rc`g|]+}|jtjk|,SrErFrJs r4rKz5FixUnpacking.fix_explicit_context..6.@@@a16UZ+?+? +?+?+?r6c6g|]}|SrErIrJs r4rKz5FixUnpacking.fix_explicit_context..7 LLL!''))LLLr6rlist) rrrIr$rrr r+rr5lenr,) selfnoderAr.rCr/r3target setup_line power_lines ` r4fix_explicit_contextz!FixUnpacking.fix_explicit_context2s"a"a"a"a;`"a"a"aT4>>#>>> @@4@@@LLYsdjjll^/Cd/J%K%KLLL  egg D//d7mmfllnnEU1V1VWW F$5c#hhD 4=Z^Zg$h$hii :%%r6c tfddD\}}}}d|D}d|_d|D}dt||gz|zD}|t |}d|_t t |jtt dt |j g} t |tt|t||j|j } | | fS) z_ Only example of the implicit context is a for loop, so only fix that. c3BK|]}|VdSr;r<r>s r4rBz4FixUnpacking.fix_implicit_context..Es-YY!w{{1~~YYYYYYr6)r.rCr/itc`g|]+}|jtjk|,SrErFrJs r4rKz5FixUnpacking.fix_implicit_context..FrLr6rc`g|]+}|jtjk|,SrErFrJs r4rKz5FixUnpacking.fix_implicit_context..HrNr6c6g|]}|SrErPrJs r4rKz5FixUnpacking.fix_implicit_context..IrQr6rrR) rrrIr$rrr r+rr,r5rS) rTrUrAr.rCr/r\rVr3rWrXs ` r4fix_implicit_contextz!FixUnpacking.fix_implicit_context@s" ZYYY7XYYYT4>>#>>> @@4@@@LLYsdjjll^/Cd/J%K%KLLL  egg D//d7mmd4=FYFYEZ1[1[\\ F$5c#hhD 4=Z^Zg$h$hii :%%r6c|d|_|d|_|d|d}}||||\}}|j|_t |j|_|t|j}| }| ||| ||dS|5| ||\}}t|d|jDd} d|_| jd j|_t | jd | jd _| d t| d || d t| d ||d t#|jd dSdS)a a,b,c,d,e,f,*g,h,i = range(100) changes to _3to2list = list(range(100)) a,b,c,d,e,f,g,h,i, = _3to2list[:6] + [_3to2list[6:-2]] + _3to2list[-2:] and for a,b,*c,d,e in iter_of_iters: do_stuff changes to for _3to2iter in iter_of_iters: _3to2list = list(_3to2iter) a,b,c,d,e, = _3to2list[:2] + [_3to2list[2:-2]] + _3to2list[-2:] do_stuff _3to2list _3to2iterexplimplNc<g|]}|jtjk|SrE)rGr suite)r?ks r4rKz*FixUnpacking.transform..ps&FFF14:1E1EQ1E1E1Er6rrrlstrr)new_namer+r,r=rYrrparent append_childrremove insert_childr`rr-valuereplacer ) rTrUrArdrerWrXrlirgs r4 transformzFixUnpacking.transformSs l33  l33 [[))7;;w+?+?d  %)%>%>tW%M%M "J $ J  +DK 8 8J   # #GII . . .[F A   : . . .   : . . . . .  %)%>%>tW%M%M "J DMMMFF FFFqIE #J  %q 1 7J '25>!3D'E'EEN1  $   q')) , , ,   q* - - -   q')) , , ,   q* - - - KK   ' 'T]4(H(H(H I I I I I r6N)__name__ __module__ __qualname__PATTERNrYr`rsrEr6r4r8r8&sM>G & & &&&&&%J%J%J%J%Jr6r8N)__doc__lib2to3r itertoolsrlib2to3.fixer_utilrrrrr r r r r rlibfuturize.fixer_utilrrrr5BaseFixr8rEr6r4r~s= AAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBB0RJRJRJRJRJ:%RJRJRJRJRJr6