PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/snap/certbot/current/usr/lib/python3.12/re/__pycache__/
Upload File :
Current File : //snap/certbot/current/usr/lib/python3.12/re/__pycache__/_parser.cpython-312.pyc
�

�(�g���B�dZddl�dZdZed�Zed�Zed�Zed�Zed	�Z	ee
eeh�Z
eeeeeeeh�Zeed
�feed�feed�feed
�feed�feed�feed�feed�fd�Zeefeefeefeeefgfeeefgfeeefgfeeefgfeeefgfeee fgfee!fd�
Z"e#e$e%e&e'e(e)e*d�Z+e(e$ze*zZ,e-e)zZ.dZ/Gd�d�Z0Gd�d�Z1Gd�d�Z2d�Z3d�Z4d�Z5d�Z6d&d �Z7d!�Z8d"�Z9d'd$�Z:d%�Z;y#)(zInternal support module for sre�)�*z.\[{()*+?^$|z*+?{�
0123456789�01234567�0123456789abcdefABCDEF�4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz 	

����
�
�	��\)z\a�\bz\fz\nz\rz\tz\vz\\)
z\Arz\Bz\dz\Dz\sz\Sz\wz\Wz\Z)�i�L�m�s�x�a�t�ulc�<�eZdZd�Zed��Zdd�Zd�Zd�Zd�Z	y)	�Statec�L�d|_i|_dg|_d|_i|_y)N�)�flags�	groupdict�groupwidths�lookbehindgroups�grouprefpos��selfs �p/build/snapcraft-certbot-2c33630aaf29c47357e5a1683f659d3d/parts/certbot/install/usr/lib/python3.12/re/_parser.py�__init__zState.__init__Ms*����
���� �6��� $������c�,�t|j�S�N)�lenrr"s r$�groupszState.groupsSs���4�#�#�$�$r&Nc��|j}|jjd�|jtkDrt	d��|�>|j
j
|d�}|�t	d|||fz��||j
|<|S)Nztoo many groupsz7redefinition of group name %r as group %d; was group %d)r*r�append�	MAXGROUPS�errorr�get)r#�name�gid�ogids    r$�	opengroupzState.opengroupVs����k�k��������%��;�;��"��)�*�*����>�>�%�%�d�D�1�D����+�.2�C�$�-?�@�A�A�#&�D�N�N�4� ��
r&c�>�|j�|j|<yr()�getwidthr)r#r1�ps   r$�
closegroupzState.closegroupbs�� !�
�
������r&c�F�||jkxr|j|duSr()r*r)r#r1s  r$�
checkgroupzState.checkgroupds&���T�[�[� �F�T�%5�%5�c�%:�$�%F�Fr&c��|j�C|j|�s|jd��||jk\r|jd��yy)N�cannot refer to an open groupz?cannot refer to group defined in the same lookbehind subpattern)r r9r.)r#r1�sources   r$�checklookbehindgroupzState.checklookbehindgroupgsX��� � �,��?�?�3�'��l�l�#B�C�C��d�+�+�+��l�l�$;�<�<�,�-r&r()
�__name__�
__module__�__qualname__r%�propertyr*r3r7r9r=�r&r$rrKs0����%��%��-�G�<r&rc�L�eZdZdd�Zd
d�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zy)�
SubPatternNc�6�||_|�g}||_d|_yr()�state�data�width)r#rFrGs   r$r%zSubPattern.__init__qs!����
��<��D���	���
r&c��ttf}|jD�]�\}}t|dzt	|�zd��|t
ur3t�|D]#\}}t|dzdzt	|�z|��%�^|turHt�t|d�D],\}}|rt|dzdz�|j|dz��.��|turP|\}}}	td|�|j|dz�|	s��t|dzdz�|	j|dz���t|t�r t�|j|dz���6t||�rjd}
|D]S}t|t�r#|
s
t�|j|dz�d}
�6|
s
td	d��t|d��d}
�U|
r���t����td|����y)
Nz  �)�endr�OR�ELSEFT� )�tuple�listrG�print�str�IN�BRANCH�	enumerate�dump�GROUPREF_EXISTS�
isinstancerD)r#�level�seqtypes�op�avrr�	condgroup�item_yes�item_no�nls           r$rVzSubPattern.dumpxs����4�=���i�i�'	�F�B���%��*�s�2�w�&�B�/��R�x����7�E�B���5��7�D�.�3�r�7�2�A�6�7��v����%�b��e�,�$�D�A�q���e�D�j�4�/�0��F�F�5��7�O�$���&�/1�,�	�8�W��b�)�$��
�
�e�A�g�&���%��*�v�-�.��L�L��q��)��B�
�+�������a�� ��B��)����
#�A�!�!�Z�0�!�!�G����u�Q�w��!��!�!�#�2�.��a�R�(�"��
#���G��b�"�
�O'	r&c�,�t|j�Sr()�reprrGr"s r$�__repr__zSubPattern.__repr__�s���D�I�I��r&c�,�t|j�Sr()r)rGr"s r$�__len__zSubPattern.__len__�s���4�9�9�~�r&c��|j|=yr(�rG�r#�indexs  r$�__delitem__zSubPattern.__delitem__�s���I�I�e�r&c��t|t�r#t|j|j|�S|j|Sr()rX�slicerDrFrGrhs  r$�__getitem__zSubPattern.__getitem__�s5���e�U�#��d�j�j�$�)�)�E�*:�;�;��y�y���r&c�"�||j|<yr(rg�r#ri�codes   r$�__setitem__zSubPattern.__setitem__�s����	�	�%�r&c�<�|jj||�yr()rG�insertros   r$rszSubPattern.insert�s���	�	�����%r&c�:�|jj|�yr()rGr,)r#rps  r$r,zSubPattern.append�s���	�	����r&c��|j�|jSdx}}|jD�]�\}}|turHt}d}|dD]-}|j	�\}}t||�}t
||�}�/||z}||z}�W|tur|j	�\}}||z}||z}�}|tur!|dj	�\}}||z}||z}��|tvrB|dj	�\}}|||dzz}|dtk(r	|rt}��|||dzz}��|tvr|dz}|dz}��|tur(|jj|\}}||z}||z}��4|turX|dj	�\}}|d�/|dj	�\}}t||�}t
||�}nd}||z}||z}���|t us���nt|t�t|t�f|_|jS)Nrr����)rHrGrT�MAXWIDTHr5�min�max�ATOMIC_GROUP�
SUBPATTERN�_REPEATCODES�	MAXREPEAT�
_UNITCODES�GROUPREFrFrrW�SUCCESS)	r#�lo�hir[r\r�j�l�hs	         r$r5zSubPattern.getwidth�s���:�:�!��:�:�����R��i�i�+	�F�B���V�|������Q�%�"�B��;�;�=�D�A�q��A�q�	�A��A�q�	�A�"��!�V���!�V���|�#��{�{�}���1��!�V���!�V���z�!��"�v���(���1��!�V���!�V���|�#��!�u�~�~�'���1��!�b��e�)�^���a�5�I�%�!�!�B��a�"�Q�%�i��B��z�!��!�V���!�V���x���z�z�-�-�b�1���1��!�V���!�V����&��!�u�~�~�'���1��a�5�$��a�5�>�>�+�D�A�q��A�q�	�A��A�q�	�A��A��!�V���!�V���w���W+	�X��X�&��B��(9�9��
��z�z�r&r(�r)
r>r?r@r%rVrcrerjrmrqrsr,r5rBr&r$rDrDos5���)�T��� � �&��2r&rDc�Z�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	d��Z
d�Zd	�Zd
d
�Z
d�Zy)�	Tokenizerc��t|t�|_||_|jst|d�}||_d|_d|_|j�y)N�latin1r)rXrR�istext�string�decoded_stringri�next�_Tokenizer__next)r#r�s  r$r%zTokenizer.__init__�sI�� ���-�������{�{����*�F�$�����
���	����
r&c�:�|j}	|j|}|dk(r|dz
}	||j|z
}|dz|_||_y#t$r
d|_YywxYw#t$r/t	d|j
t
|j
�dz
�d�wxYw)Nrrzbad escape (end of pattern))rir��
IndexErrorr�r.r�r))r#ri�chars   r$�__nextzTokenizer.__next�s����
�
��	��&�&�u�-�D��4�<��Q�J�E�
I���+�+�E�2�2���Q�Y��
���	���	��D�I��	���
I��9� �K�K��T�[�[�)9�A�)=�?�DH�I�
I�s�A�A"�A�A�"8Bc�D�||jk(r|j�yy)NTF�r�r�)r#r�s  r$�matchzTokenizer.matchs���4�9�9���K�K�M��r&c�>�|j}|j�|Sr(r�)r#�thiss  r$r/z
Tokenizer.gets���y�y�����
��r&c�z�d}t|�D]*}|j}||vr|S||z
}|j��,|S�NrJ)�ranger�r�)r#�n�charset�result�_�cs      r$�getwhilezTokenizer.getwhile	sP�����q��	�A��	�	�A������
�
�a�K�F��K�K�M�	��
r&c��d}	|j}|j�|�4|s|jd|z��|jd|zt|���||k(r|s|jd|zd��	|S||z
}�w)NrJzmissing zmissing %s, unterminated namer)r�r�r.r))r#�
terminatorr0r�r�s     r$�getuntilzTokenizer.getuntils�������	�	�A��K�K�M��y���*�*�Z�$�%6�7�7��j�j�!@�:�!M�!$�V��.�.��J����*�*�Z�$�%6��:�:���
�
�a�K�F�r&c�N�|jt|jxsd�z
Sr��rir)r�r"s r$�posz
Tokenizer.pos"s���z�z�C��	�	��R�0�0�0r&c�N�|jt|jxsd�z
Sr�r�r"s r$�tellzTokenizer.tell%s���z�z�C��	�	��R�0�0�0r&c�2�||_|j�yr()rir�rhs  r$�seekzTokenizer.seek's����
����
r&c��|js!|jdd�jd�}t||j|j�|z
�S)N�ascii�backslashreplace)r��encode�decoder.r�r�)r#�msg�offsets   r$r.zTokenizer.error+sC���{�{��*�*�W�&8�9�@�@��I�C��S�$�+�+�t�y�y�{�V�';�<�<r&c���|js3|j�s#d|z}|j|t|�|z��|j	�s#d|z}|j|t|�|z��y)Nzbad character in group name %azbad character in group name %r)r��isasciir.r)�isidentifier)r#r0r�r�s    r$�checkgroupnamezTokenizer.checkgroupname0sj�����t�|�|�~�2�T�9�C��*�*�S�#�d�)�f�"4�5�5�� � �"�2�T�9�C��*�*�S�#�d�)�f�"4�5�5�#r&Nr�)r>r?r@r%r�r�r/r�r�rAr�r�r�r.r�rBr&r$r�r��sH���� �
��� �1��1�1��=�
6r&r�c��tj|�}|r|Stj|�}|r
|dtur|S	|dd}|dk(rZ||j	dt
�z
}t
|�dk7r|jd|zt
|���tt|ddd�fS|dk(rf|jrZ||j	dt
�z
}t
|�d	k7r|jd|zt
|���tt|ddd�fS|d
k(rs|jrg||j	dt
�z
}t
|�dk7r|jd|zt
|���t|ddd�}t|�t|fS|d
k(rg|jr[ddl}|jd�s|jd��|jdd�}	t|j!|��}t|fS|t&vrS||j	dt&�z
}t|ddd�}|dkDr|jd|zt
|���t|fS|t(vrt*�t
|�dk(r:|t,vr|jd|zt
|���tt|d�fS	|jd|zt
|���#t"t$f$r,|jd|zt
|�t
d�z�d�wxYw#t*$rY�gwxYw)Nrrrwr��incomplete escape %s�r��U��
�N�{�	missing {�}�character name�undefined character name %r�\N{}��.octal escape value %s outside of range 0-0o377�
bad escape %s)�ESCAPESr/�
CATEGORIESrSr��	HEXDIGITSr)r.�LITERAL�intr��chr�unicodedatar�r��ord�lookup�KeyError�	TypeError�	OCTDIGITS�DIGITS�
ValueError�ASCIILETTERS)r<�escaperpr�r��charnames      r$�
_class_escaper�8s���;�;�v��D�����>�>�&�!�D���Q��2�
���1
��1�Q�K����8��f�o�o�a��3�3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r�
�B�/�/�/�
�#�X�&�-�-��f�o�o�a��3�3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r�
�B�/�/�/�
�#�X�&�-�-��f�o�o�a��3�3�F��6�{�b� ��l�l�#9�F�#B�C��K�P�P��F�1�2�J��#�A���F��A�:��
�#�X�&�-�-���<�<��$��l�l�;�/�/����s�,<�=�H�
K���*�*�8�4�5���A�:��
�)�^��f�o�o�a��3�3�F��F�1�2�J��"�A��5�y��l�l�$3�5;�$<�=@��[�J�J��A�:��
�&�[����v�;�!���L� ��l�l�?�V�#;�S��[�I�I��C��q�	�N�*�*���,�,���/��V��
=�=��)�i�(�
K��l�l�#@�8�#K�#&�x�=�3�w�<�#?�A�FJ�K�
K��$�
��
�sM�A#L�#A*L�A7L�A	L�K�*L�2AL�
AL�;K=�=L�	L�Lc���tj|�}|r|Stj|�}|r|S	|dd}|dk(rZ||jdt�z
}t|�dk7r|j
d|zt|���tt|ddd�fS|dk(rf|jrZ||jdt�z
}t|�dk7r|j
d|zt|���tt|ddd�fS|d	k(rs|jrg||jd
t�z
}t|�dk7r|j
d|zt|���t|ddd�}t|�t|fS|dk(rg|jr[d
dl}|jd�s|j
d��|jdd�}	t|j|��}t|fS|dk(r.||jdt$�z
}tt|ddd
�fS|t&v�r|j(t&vr�||j�z
}|dt$vrj|dt$vr_|j(t$vrM||j�z
}t|ddd
�}|dkDr|j
d|zt|���t|fSt|dd�}||j*krF|j-|�s|j
dt|���|j/||�t0|fS|j
d|zt|�dz
��t|�dk(r:|t2vr|j
d|zt|���tt|d�fS	|j
d|zt|���#t t"f$r,|j
d|zt|�td�z�d�wxYw#t4$rY�gwxYw)Nrrwrr�r�r�rr�r�r�r�r�rr�r�r�r�r�r��0r�r�r;�invalid group reference %dr�)r�r/r�r�r�r)r.r�r�r�r�r�r�r�r�r�r�r�r�r�r�r*r9r=r�r�r�)r<r�rFrpr�r�r��groups        r$�_escaper�ts����>�>�&�!�D�����;�;�v��D����B
��1�Q�K����8��f�o�o�a��3�3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r�
�B�/�/�/�
�#�X�&�-�-��f�o�o�a��3�3�F��6�{�a���l�l�#9�F�#B�C��K�P�P��C��q�r�
�B�/�/�/�
�#�X�&�-�-��f�o�o�a��3�3�F��6�{�b� ��l�l�#9�F�#B�C��K�P�P��F�1�2�J��#�A���F��A�:��
�#�X�&�-�-���<�<��$��l�l�;�/�/����s�,<�=�H�
K���*�*�8�4�5���A�:��
�#�X��f�o�o�a��3�3�F��C��q�r�
�A�.�.�.�
�&�[��{�{�f�$��&�*�*�,�&���1�I��*�v�a�y�I�/E��K�K�9�,��f�j�j�l�*�F��F�1�2�J��*�A��5�y�$�l�l�,;�=C�,D�+.�v�;�8�8�#�A�:�%���q�r�
�O�E��u�|�|�#��'�'��.� �,�,�'F�'*�6�{�4�4��*�*�5�&�9����&��,�,�;�e�C�S��[�ST�_�U�U��v�;�!���L� ��l�l�?�V�#;�S��[�I�I��C��q�	�N�*�*���,�,���/��V��
=�=��K�i�(�
K��l�l�#@�8�#K�#&�x�=�3�w�<�#?�A�FJ�K�
K��F�
��
�sZ�A#O&�A*O&�A7O&�;A	O&�N(�O&�'2O&�B"O&�=A"O&� A(O&�(;O#�#O&�&	O2�1O2c�>�ttj|��Sr()rP�dict�fromkeys)�itemss r$�_uniqr��s����
�
�e�$�%�%r&c
���g}|j}|j}|j�}	|t||||dz|xr|��|d�sn|s|jt
z}�=t
|�dk(r|dSt|�}	d}	|D]}
|
sn0|	�|
d}	�|
d|	k7s�n|D]}
|
d=�|j|	��<	g}|D]_}
t
|
�dk7rnq|
d\}}
|tur|j||
f��7|tur |
ddtur|j|
��_n#|jtt|�f�|S|jtd|ff�|S)Nr�|r)r,r�r��_parser�SRE_FLAG_VERBOSEr)rDr�rS�NEGATE�extendr�rT)r<rF�verbose�nestedr��itemsappend�sourcematch�start�
subpattern�prefix�item�setr[r\s              r$�
_parse_subr��s���
�E��,�,�K��,�,�K��K�K�M�E�
��F�6�5�'�6�A�:�%�:�3�e�)�5�	6��3�����k�k�$4�4�G�
��5�z�Q���Q�x���E�"�J�����
	�D����~��a����a��F�"��

	��
����G�
����f�%��
�
�C�����t�9��>���a����B�
��=��J�J��B�x� �
�2�X�"�Q�%��(�&�0��J�J�r�N���	���2�u�S�z�*�+������v��e�}�-�.��r&c�~�t|�}|j}|j}|j}t}	t
}
	|j}|��nn|dvr�nh|�|r |tvr�)|dk(r	|�}|�|dk(rn��@|ddk(rt|||�}||��n|tvr|t|
|�f��n|dk(�r|j�dz
}
g}|j}|jdk(r0ddl}|jd	|j�zt|d
z��|d�}	|�}|�#|jd
|j�|
z
��|dk(r|r�n|ddk(r
t!||�}nm|r]|dvrY|j|k(rJddl}|jd|dk(rdn|dk(rdn|dk(rdnd|j�dz
fzt|d
z��t|
|�f}|d��rY|�}|�#|jd
|j�|
z
��|dk(r1|dt"ur|dd}||�|t|
d�f��n|ddk(r
t!||�}nF|dk(r3ddl}|jd|j�dz
zt|d
z��t|
|�f}|dtk7s|dtk7r2d|�d|��}|j|t	|�dzt	|�z��|d}|d}||kr2d|�d|��}|j|t	|�dzt	|�z��|t$||ff�n|dt"ur|dd}||���6t'|�}|	|�dk(r3|ddtur%|r|t(|ddf��	n||d��	n|r|j+dt,df�|t"|f��n�|t.v�rj|j�}
|dk(rd\}}�ne|dk(r
dt0}}�nV|dk(r
dt0}}�nG|dk(�r3|jd k(r|t|
|�f���dt0}}d!x}}|jt2vr||�z
}|jt2vr�|d"�r0|jt2vr ||�z
}|jt2vr�n|}|d �s'|t|
|�f�|j5|
����|rt7|�}|t0k\rt9d#��|rUt7|�}|t0k\rt9d#��||kr1|jd$|j�|
z
��t;d%����|r|d&d}nd}|r|ddt<ur/|jd'|j�|
z
t	|�z��|ddt>vr/|jd(|j�|
z
t	|�z��|ddt@ur|dd\}}}}|�|s|s|}|d�rtB|||ff|d&<�n�|d�rtD|||ff|d&<�n�tF|||ff|d&<�nu|d)k(r|tHdf��n`|d*k(�r|j�dz
} d}!d+}"d}#d}d}|d��rE|�}|�|jd,��|d-k(�r&|d.�r&|jKd/d0�}#|jM|#d��n�|d1�r�|jKd2d0�}#|jM|#d�|jNj|#�}$|$�#d3|#z}|j|t	|#�dz��|jQ|$�s|jd4t	|#�dz��|jS|$|�|tT|$f���T|�}|�|jd,��|jd5|zt	|�dz��|d6k(rd+}!�n�|dk(r>	|j�#|jd7|j�| z
��|�d2k(rn�;���|d8vr�d}%|d.k(r`|�}|�|jd,��|d9vr!|jd:|zt	|�dz��d&}%|jV}&|&�|jX|_+t[||||dz�}|%dkr	&�d|_+|d2�s#|jd;|j�| z
��|d1k(r|t\|%|ff�n|t^|%|ff����|d*k(�rE|jKd2d0�}'|'ja�r|'jc�sS|jM|'d�|jNj|'�}(|(��5d3|'z}|j|t	|'�dz��t7|'�}(|(s|jd<t	|'�dz��|(tdk\r#d=|(z}|j|t	|'�dz��|(|jfvr,|j�t	|'�z
dz
|jf|(<|'ja�r|'jc�saddl}|jd>|jhrtk|'�n
tm|'�|j�t	|'�z
dz
fztn|d
z��|jS|(|�tq||||dz�})|jd?�r1tq||||dz�}*|jd?k(r|jd@��d}*|jd2�s#|jd;|j�| z
��|tr|(|)|*ff���|d/k(rd+}!d}"n�|ttvs|dk(rStw|||�}+|+�<|r|r#|jdA|j�| z
��|jxtzz}��e|+\}}d+}!n!|jdB|zt	|�dz��|!r	|j}|#�}nd}|xs	|tzzxr
|tzz}-t[|||-|dz�}|jd2�s#|jd;|j�| z
��|�|j�||�|"r|�J�|t�|f�nQ|t@||||ff�n>|dk(r|t<t�f�n&|dCk(r|t<t�f�nt;dD������~t�t	|��ddd&�D]+}.||.\}/}0|/t@us�|0\}}}}|��|r�!|r�$|||.|.dz�-|S#t$r.},|j|,j~t	|#�dz�d�d},~,wwxYw)ENTz|)�#rrr�[rz"Possible nested set at position %dr���
stacklevel�^zunterminated character set�]z-&~|zPossible set %s at position %d�-�
difference�&�intersection�~zsymmetric difference�unionz&Possible set difference at position %drwzbad character range �?)rrr�+r�r�rJ�,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier rvznothing to repeatzmultiple repeat�.�(Fzunexpected end of pattern�P�<�>�
group name�=�)�unknown group name %rr;zunknown extension ?P�:zmissing ), unterminated commentz=!<z=!zunknown extension ?<z"missing ), unterminated subpatternzbad group numberr��-bad character in group name %s at position %dr�z/conditional backref with more than two branchesz/global flags not at the start of the expressionzunknown extension ?�$zunsupported special character )ErDr,r/r�r)r�r��
WHITESPACEr��
SPECIAL_CHARSr�r��warnings�warn�
FutureWarningr.r�rS�RANGEr��NOT_LITERALrsr��REPEAT_CHARSr~r�r�r��
OverflowError�AssertionError�ATr}r|�
MIN_REPEAT�POSSESSIVE_REPEAT�
MAX_REPEAT�ANYr�r�rr9r=r�r r*r��ASSERT�
ASSERT_NOT�	isdecimalr�r-r!r�rbr��DeprecationWarningr�rW�FLAGS�_parse_flagsrr�r3r�r7r{�AT_BEGINNING�AT_ENDr�)1r<rFr�r��firstr��subpatternappend�	sourcegetr��_len�_ordr�rp�herer��	setappendr�negate�code1�that�code2r�r�r�ryrzr�r�r��	add_flags�	del_flagsr6r��capture�atomicr0r1�dirr �condnamer]r^r_r�err�sub_verboserr[r\s1                                                 r$r�r�s�
���E�"�J�"�(�(���
�
�I��,�,�K��D��D�
��{�{���<���4�<������z�!���s�{��$�;�D��|�t�t�|������7�d�?��6�4��/�D��T�"�
��
&��g�t�D�z�2�3�
�S�[��;�;�=�1�$�D��C��
�
�I��{�{�c�!���
�
�8�6�;�;�=�H�!�f�q�j���!��%�F�� �{���<� �,�,�'C�'-�{�{�}�t�';�=�=��3�;�3���!�W��_�)�&�$�7�E��t�v�~�&�+�+��2E�'� �
�
�<�04����26�#�+��:>�#�+� 6� '� &���
�� 1�@3�3�*�f�q�j�&��$�T�$�Z�/�E��s�#�$�;�D��|�$�l�l�+G�+1�;�;�=�4�+?�A�A��s�{� ��8�r�>�$)�!�H�Q�K�E�!�%�(�!�7�D��I�"6�7���A�w�$�� -�f�d� ;���3�;�+�$�M�M� H�$*�K�K�M�A�$5�!7� -�&�1�*�*��
!(��d�� 3���Q�x�7�*�e�A�h�'�.A��=A�4�H��$�l�l�3��D�	�A�
��D�	�0I�J�J��q��B��q��B��B�w�=A�4�H��$�l�l�3��D�	�A�
��D�	�0I�J�J��u�r�2�h�/�0��Q�x�2�~� %�a������e�$�s�v��*�C��C�y�A�~�#�a�&��)�w�"6��$�k�3�q�6�!�9�%=�>�$�S��V�,���J�J�q�6�4�.�1�!�"�c��+�
�\�
!��;�;�=�D��s�{����S�����i�S������i�S������;�;�#�%�$�g�t�D�z�%:�;���i�S�����R��k�k�V�+��)�+�%�B��k�k�V�+��s�#� �+�+��/��i�k�)��!�+�+��/��B�"�3�'�$�g�t�D�z�%:�;��K�K��%����b�'�C��i�'�+�,P�Q�Q���b�'�C��i�'�+�,P�Q�Q��S�y�$�l�l�+O�+1�;�;�=�4�+?�A�A�%�D�%J�K�K��!�"�#������4��7�1�:��+��l�l�#6�#)�;�;�=�4�#7�#�d�)�#C�E�E��A�w�q�z�\�)��l�l�#4�#)�;�;�=�4�#7�#�d�)�#C�E�E��A�w�q�z�Z�'�15�a����.��y�)�Q��=��9��D��3��",�s�C��.>�!?�
�2���S�!�"3�c�3��5E�!F�
�2��#-�s�C��.>�!?�
�2��
�S�[��c�4�[�)�
�S�[��K�K�M�A�%�E��G��F��D��I��I��3�� �{���<� �,�,�'B�C�C��3�;�"�3�'�%���s�L�A���-�-�d�A�6�$�S�)�%���s�L�A���-�-�d�A�6�#�o�o�1�1�$�7���;�"9�D�"@�C�"(�,�,�s�C��I��M�"B�B�$�/�/��4�"(�,�,�/N�/2�4�y�1�}�#>�>��2�2�3��?�(�(�C��9� � )�{���<�"(�,�,�/J�"K�K�$�l�l�+A�D�+H�+.�t�9�q�=�:�:��S�[�#�G��S�[��!�;�;�.�"(�,�,�/P�/5�{�{�}�u�/D�#F�F�$�;�#�-�!����U�]��C��s�{�(�{���<�"(�,�,�/J�"K�K��t�+�"(�,�,�/E��/L�/2�4�y�1�}�#>�>� ��+0�+A�+A�(�+�3�5:�\�\�E�2�"�6�5�'�6�A�:�F�A��Q�w�+�3�59�E�2�&�s�+�$�l�l�+O�+1�;�;�=�5�+@�B�B��s�{�(�&�3��(�);�<�(�*�s�A�h�)?�@���S�[�%���s�L�A�H�$�.�.�0�X�5E�5E�5G��-�-�h��:�$)�O�O�$7�$7��$A�	�$�,�"9�H�"D�C�"(�,�,�s�C��M�A�4E�"F�F�$'��M�	�(�"(�,�,�/A�/2�8�}�q�/@�#B�B�$�	�1�">��"J�C�"(�,�,�s�C��M�A�4E�"F�F�$�E�,=�,=�=� &���
��H�
� =�� A�"�-�-�i�8�!)� 2� 2� 4��9I�9I�9K�+�$�M�M� O�39�=�=��h��e�H�o�!'�����X��!>��!B�!D�!D�!3�v��z�	*���.�.�y�&�A�%�f�e�W�f�q�j�I�H��|�|�C�(�"(�����!��"L��!�;�;�#�-�"(�,�,�/`�"a�a�"&��!�<�<��,�$�l�l�+O�+1�;�;�=�5�+@�B�B�$�o�	�8�W�7U�%V�W���S�[�#�G�!�F��U�]�d�c�k�(����=�E��}�$�
�"(�,�,�0C�/5�{�{�}�u�/D�#F�F�#(�+�+�0@�"@�� �+0�(�I�y�#�G� �,�,�'<�t�'C�'*�4�y�1�}�6�6��I�!�O�O�D�1�E���#�E�	�4D�(D�>� )�,<� <�=�
��6�5�+�v��z�B�A��<�<��$��l�l�#G�#)�;�;�=�5�#8�:�:�� �� � ���*���}�$�}� �,��!2�3� �*�u�i��A�.N�!O�P�
�S�[��b�,�/�0�
�S�[��b�&�\�*�!�t�!M�N�N�M�R�3�z�?�
#�D�b�D�
)�'���A����B�
���-/�*�E�9�i���}�Y�y�%&�
�1�a��c�"�'����G�I� �,�,�s�w�w��D�	�A�
�>�D�H��I�s�
t�	t<�)t7�7t<c�X�|j}d}d}|dk7r�	t|}|jr|dk(r+d}|j|��|dk(rd}|j|��||z}|tzr|tz|k7rd}|j|��|�}|�|jd��|d	vrn8|tvr/|j�rd
nd}|j|t
|�����|dk(r|xj|zc_y|tzr|jdd
��|dk(r�|�}|�|jd��|tvr/|j�rd
nd}|j|t
|���	t|}|tzrd}|j|��||z}|�}|�|jd��|dk(rn8|tvr/|j�rd
nd}|j|t
|�����|dk(sJ�|tzr|jdd
��||zr|jdd
��||fS)Nrr�rz8bad inline flags: cannot use 'L' flag with a str patternrz:bad inline flags: cannot use 'u' flag with a bytes patternz9bad inline flags: flags 'a', 'u' and 'L' are incompatiblezmissing -, : or )z)-:zunknown flagr
z,bad inline flags: cannot turn on global flagrzmissing flagz8bad inline flags: cannot turn off flags 'a', 'u' and 'L'z	missing :rz-bad inline flags: cannot turn off global flagz(bad inline flags: flag turned on and off)	r/r%r�r.�
TYPE_FLAGS�isalphar)r�GLOBAL_FLAGS)r<rFr�r+r4r5�flagr�s        r$r&r&}sF���
�
�I��I��I��s�{����;�D��}�}��3�;�T�C� �,�,�s�+�+��3�;�V�C� �,�,�s�+�+����I��z�!�	�J�(>�4�'G�Q���l�l�3�'�'��;�D��|��l�l�#6�7�7��u�}���5� �(,����n�<O���l�l�3��D�	�2�2�+�,�s�{�
���y� ����<���l�l�I�1�M�M��s�{��{���<��,�,�~�.�.��u��$(�L�L�N�.��C��,�,�s�C��I�.�.����;�D��j� �P���l�l�3�'�'����I��;�D��|��l�l�;�/�/��s�{���5� �(,����n�K���l�l�3��D�	�2�2���3�;��;��<���l�l�J�A�N�N��9���l�l�E�q�I�I��i��r&c��t|t�r>|tzrtd��|tzs|t
z}|S|t
zrtd��|S|t
zrtd��|tzr|tzrtd��|S)Nz)cannot use LOCALE flag with a str patternz(ASCII and UNICODE flags are incompatiblez,cannot use UNICODE flag with a bytes patternz'ASCII and LOCALE flags are incompatible)rXrR�SRE_FLAG_LOCALEr��SRE_FLAG_ASCII�SRE_FLAG_UNICODE)�srcrs  r$�	fix_flagsrF�s����#�s���?�"��H�I�I��~�%��%�%�E��L��%�
%��G�H�H��L�	�#�#��K�L�L��?�"�u�~�'=��F�G�G��Lr&Nc� �t|�}|�
t�}||_||_t	|||t
zd�}t
||jj�|j_|j�"|jdk(sJ�|jd��|jjD]D}||jjk\s�d|z}t|||jj|��|tzr|j�|S)Nrr
zunbalanced parenthesisr�)r�rrrRr�r�rFrFr�r.r!r*�SRE_FLAG_DEBUGrV)rRrrFr<r6�gr�s       r$�parserJ�s����s�^�F��}�����E�K��E�I��6�5�%�*:�":�A�>�A��c�1�7�7�=�=�1�A�G�G�M�
�{�{���{�{�c�!�!�!��l�l�3�4�4�
�W�W�
 �
 �:���������.��2�C���S�!�'�'�"5�"5�a�"8�9�9�:�

�~��	�����Hr&c	����
���t|���j}g�g�
�
j}�
��fd������fd�}�j}	|�}|��n�|ddk(�r~|d}|dk(�r7�j	d�s�jd	���j
d
d�}|j�r|j�s�j|d�	||}	n�t|�}	|	tk\r!�jd
|	zt|�dz��|j�r|j�s^ddl}
|
j!d�j"rt%|�n
t'|��j)�t|�z
dz
fzt*d��||	t|�dz��nD|dk(rZ�j,t.vr&||�z
}�j,t.vr
||�z
}|t1t|ddd�dz��n�|t2vr�d}�j,t2vr~||�z
}|t.vrl|dt.vra�j,t.vrO||�z
}d}t|ddd�}|dkDr�jd|zt|���|t1|��|sI|t|dd�t|�dz
�n'	t1t4|d�}||�n||�������S#t$rtd|z�d�wxYw#t$r*|t6vr�jd|zt|��d�Y�jwxYw)Nc�����jr!�jdj���n/�jdj��jd���dd�=y)NrJzlatin-1)r�r,�joinr�)�literalr�rs���r$�
addliteralz"parse_template.<locals>.addliteral�sH����8�8��M�M�"�'�'�'�*�+�
�M�M�"�'�'�'�*�1�1�)�<�=��A�Jr&c�~��|�jkDr�jd|z|�����j|�y)Nr�)r*r.r,)rir�rO�patternr�rs  ����r$�addgroupz parse_template.<locals>.addgroup�s7����7�>�>�!��'�'�6��>��D�D����
�
�e�r&TrrrrIr	z	missing <r
rrr�r�r�r�r�r�Frwr�r�)r�r/r,�
groupindexr�r.r�r#r�r�r�r�r�r-r)rrr�rbr�r�r$r�r�r�r�r�r�)r<rQ�sget�lappendrRrTr�r�r0rir�isoctalrOrNr�rs `          @@@@r$�parse_templaterX�s)���	�&��A��5�5�D�
�F��G��n�n�G���
�#�#�J�
��v���<����7�d�?��Q��A��C�x��w�w�s�|��'�'�+�.�.��z�z�#�|�4�����(�T�\�\�^��$�$�T�1�-�S� *�4� 0�� ��I�E��	�)��g�g�&B�U�&J�&)�$�i�!�m�5�5� �N�N�,�����'� �
�
�K�+,�8�8�T�$�Z��t���V�V�X��D�	�1�A�5�7�7�/�1�	&�����D�	�A�
�.��c���6�6�Y�&��D�F�N�D��v�v��*��������C��Q�R��!�,�t�3�4�5��f�����6�6�V�#��D�F�N�D��Y��4��7�i�+?����)�+������"&����Q�R��!�,���u�9�"#�'�'�+:�<@�+A�BE�d�)�#M�M���A�����S��a�b��]�C��I��M�:�S��w�t�}�Q�/�0�D���
��D�M�y�z�L��M��_$�S�(�)@�4�)G�H�d�R�S��P �S��L�(��g�g�o��&<�c�$�i�H�d�R�)�S�s�K.�=L
�.L�
0L=�<L=)F)rN)<�__doc__�
_constantsrr�	frozensetr�r�r�r�rrrrr}r rrSr�r�CATEGORYrr�r�r�AT_BEGINNING_STRING�AT_BOUNDARY�AT_NON_BOUNDARY�CATEGORY_DIGIT�CATEGORY_NOT_DIGIT�CATEGORY_SPACE�CATEGORY_NOT_SPACE�
CATEGORY_WORD�CATEGORY_NOT_WORD�
AT_END_STRINGr��SRE_FLAG_IGNORECASErB�SRE_FLAG_MULTILINE�SRE_FLAG_DOTALLr�rC�SRE_FLAG_TEMPLATErDr%r=rHr?rxrrDr�r�r�r�r�r�r&rFrJrXrBr&r$�<module>rks��&���
���	�<�	 ���j�!�	��.�/�	��O�P��
�}�
%�
��*�j�2C�D�E��
��U�B���h�G�
H�
�
�S��Y���S��Y���S��Y���S��Y���S��Y���S��Y���S��Y���S��Y��	��
�#�$������ ��(�N�+�,�-��(�.�/�0�1��(�N�+�,�-��(�.�/�0�1��(�M�*�+�,��(�-�.�/�0��
���
�
�	�	�	�	�	�	�	�	���o�
-�0@�
@�
�� 1�1����"<�"<�Hu�u�nP6�P6�d:>�xK>�Z&�:�x{�z: �x� 
�6Tr&