JFIFC   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((" ,.Fh Ch@ 10D``DBB h4 @dX bD iD ІI$TBB'$"`I)Eb`(m9@0hb&!1114  b` Dh "lTH)TAiN  A" hf%n£!aY4hcC"5J2#Tզ@ #(a`QI+JHB8h@!!!hSMNhC4$11SB!`&2Dc(p*`"XE b!IJ&0C41 b `hL0JHLi1L -XX`ݚb% )*Cp& ! $40)!b䜢hC@D 6JJቨ4B!`b `0@ b`&ё^IÆ LO7dX h@)A "I`6H !L'@ DQ B!Bj4  L@ @hb&%$ D LQ~7ҜtZ&pӘ b `&)F؆` 7DBB&qI:LVF2B1 5iL4$ mj4 @ @ b`0b iS` 14V1l˦I7 @` L&ȒB[lC!FlIY +@!"!%$  HX J00CبDE18! L r2ϳ>Tس:=8Ӓb  & !`) "0$EMSIAL6D$B`&BBX&1C CT4h! @@4 0Yf |,tCE\T}nn` b$1AN&$ &IS`0118` 4  9_^8B14yꞿ3wlK 7 &@ 0@ @ `Ȓ b( +$2DR:]Z3cqcAȴNb11@#@18b`!upyt|z8lZ+]}3:zKcwA9SUU5AJ   2LUp*HR+EUEvF2qIW8)-JYDUQ  b `16!B& n$I9y~yntpX"QE,m[&C44 b ``@  BQ0&:Qud J7*"S-5(J7U@`  b1n.2/| ZrJY]3~ڕyצ1Ͳʬ3}[9NΨWVun}Tc~g6g=Mq6}GKsx b``L!nu"6ڬQ}_4 4IMtSҫ(610 b`],k4r:\_GOn骻q[,C*ͳԖzhUݐ9w L01 L& hQm(4d]nNiF wfG&ܱx*uθIbBʤSnܢaFj(@`8箄Ꝿ&IltgxgɻM%Mږ{z)]vSqUټ& b`0CT 8&`% '** -L/(4$cךRjp.h @1b!  0n7ʮB Kt}UF˞tr\7Jϖ~%Ҹ[!hUqp!&7Č1] *O4צN.Ǽt0!J%S101CC&1 Lh b bey ?fW7Ƨ,ʒ2t}֚m[PzvvF@ʀ  hb @%(#!!bBâM4BF=x Pցdd'YS̷ͬ 118h`bSv\>}Ux/ޝ7UI5h,pܞ^[U9=&v8@I!(XjaS,S3]av(KWP4j` -#ݒ7Jն&W"1t!^0 ! &X2y=yomNz.zVwfKݚж26ϗMa5L0C]q$8EQTl;yj]\U:znT62U f%uLb!  o7Q/{jyϣCJgS[oޮOO>_W6O~oC,2T`44\3zc(B A\cuݛU4컗AK2B6vǷ\n9WXQ,y:Bz` `4 @C&r_'RdxyNu <SQUM+#S⎬7v㦩K]Jy:KX5b`!!)*d 1RYn+έӚKUJX7U3˟EA}lŪe6@@  b b4x2\>|z^WvB{3^S׺Np^kέ㜅VզhW6rw{xz=)@h+ !daYZC.~mQniڲ7|0Qgj_J}l;8Po)Ά>4 @dtsNqОgͷ>ǻ \T`ыfNf7(pu9|]͙c{#(h1 @ @}6yn;*SHI*Bj"9̻&{y]4գ7>Wf~םZ0niMRsTH/NL` @ `/9ywVY-tkZJ~sGCz|z[cV-KX+csSTWu6kK2"2QiM b6y֝^]k׍ʻK=U**MVK2R.ZE9}v6{i1m]jZҌRUJ)De%dR*K~eS>-у$eͮsuκh%lGNl8#~:n5Yߎqf?L'@ @ojȲ*d.ܴn3q$ngլNKbS%{ߓ\qM(zOk=R͕zX_~=hE'J]\YA&]ƣLk4>5tdUFm8ʋ+7T+K-%3oU]kRKV=cNjkCiGY)s󝧂뫟CX=na\^ RgOA5F|-P_ew9jWM;暜Q}rUh;p_>|+ng<%̙uӧ>phss.SE67FH[W+8sc<=3Z_FJ^Mz('.Rǖ=<}<=hr7Z6v"pV-:jS٩}vf2UeYN\K JN*|y.!~O{ k#;1rt݃:>8sVL]*gs*-dY*Wdnb b&@?=1Ms*|ZW3VY.+ӋcSZg EWfgvZNDeSBWʋ$ӟLu?CԎvܚ/\hُR]zu3&UWZRvj^l[֢3u[ةZ2=Ox]wԥΛbyu͝p뚫3UsaVX;I>7~xgpa;_կM5yĔ1dD׳<K}*D&P&@18{N]n)E=Mg_811YGE) "J cMQ]e3>_Q=:f]IzTQS US-izΛ$Iv3Q]]JM$[VT *N5-eBHJO<侴euRVzseOv--m(JƬi`jKڹW+n}1Z^.sLyq9}4/sw@ZH!]M&y،l-nq沯Ets'mi9E: Q"Z 5ֽC^mkV[ʝ>]3n2,#\B `T(U6-N,gF~&[bB^w*<=UÎ+mBePW:IPڪ7䫲anm J0 Pg=iQpڎz\~-kRqXl9]O.w}Ku&kSuHS $BRee:̢r fnYmSE9Hr3PQuVE 6AM "vty|yU.Y!nm4kqB.N4UdF鶫,qLں[e ⒅kYknpwBϓU>^Ѳ+214E8,:"=YվٛG\N{UǭJ1؆( -Rd [ۏͣ1f^6%fF$sB̠YUӲs]0 &\Z\_dL)f{!f7}6_w5SYŵUUYe]=73uԌybv#3]ё+fXx?ί'jĪZ'KZCOmVg ٚ5![omjbїxue ؒuU̔g5ziW:7':]Uˎ:ur;ês솅Dq#$BGVQ}cWQd.ŋZ5yrhgg^1ʎxGo|u?=%[V63fH41ӿFBwwnlӯǵ*vp$FJdi::qӏ^|{sF5skb+b;+ɳǽy9mIAJ1ɚz9j]<+htU!lNZ`tafcʍ4⁳G/LJ|TZ5%TͲBLSd-.ط%ؓ5ˡæRdĉV bc@$::v֋oV\fwtr~.V:2.8n.YX͎hk1.Jvտ}ڸm볧-%\s^Lݾ}fƥ<;9 o-^,/B9T,ųXҬ o,4 hxiӛfR-zlFfR&oSG/G=fl"#o %$4W٫#1e;Y(62+W4:lt#:;1[G3YfzseN8dًI8Oy@ԉ``&!#8Hs3_OFRثRulvth;Ì:dl @TqVR* ˣnsuX4%y:f2h]KƣVi%:f'w?LkU?,iÑIg]B%6aUiUg&>zuƧM_5^^Z役:stNg\Y+6ٞEֹgZγV5vkD-d=y55(&: F%`Ȏ-@ 9}l|dNPGDWmp%܍=mbZFlӺ23jqъuپY|| FxiP+$'*싶M+oEșPBf x8O;)3:!319t5!K kϥ:o 鞖3;=QY٣ܘ0JCM`I5f|֭sb)[b6xe8Ne!Bq2c8&(Nv񺭁TmdB6AI"^OOA(D#4o,i󶞼 ^ϯɽEz{κչ  J2# J0lewn~̚!)N(џLbU9:x}qҲ6m~/LmҘ>F蛖޿q]V FbRF|qV]ب5ltO՜&e\u5N\&\تP ʕ^dKN}!F'3ԌIT-!Ќ\%||&zcy].:yٿ,n㨍vL1I"5I4ЇJ+y_4t[Aݦ>f:i2\2eP۱kqED1g۟NxǫOMJ4uH\EūB ]I!["IHl>GW t0peEN]2_g:nm#7S{qR7.ŲAVL,qhJ A$n,iօ7>]0g3MiKkK^#PJ8@LjVD,kU yz̪|NKυI@.v}5wy}~cLIWw!o )E(JT1RjґW{!#4}g(CD%bJ+WKO+ &3doFtr걤Zabb!ͫ7%ѯךU-Ăj*ÿУTҷ=|<=X[q6*iC"(d'"$- yyTnh-|z]fSn'dZ1Ky} />u_3\8 Nz8~GLP;iHvL@`SM"1`8x`q/mAI}E9qOןơ^r2U`JP,cBkW!$I)d+bܩir+уXJ-)~tc>&ĂVB-K_?z$. h0R)F@9"ʑe>\z\;5P:M9u9ɮsaOz{qҬsq6ȦN@gm ;\$8' #R#%M_28ІU[j,#"˟P=++| g!4n^䪶 i5P$ϮYCc`Wr^010#Њr3$H ۀ29# ?ӯ ,q=ی;G0O,, 4A@83s3o !<5-׼ 1?430D$a ;8cO4 ̲9G&o4 1ͫ?8<3w>9? 6 8E Ǡ~ߙs,< ,/1\O8<:Հn:,ӽDb.4'8+Jr<<9]+rˑ0 <8"CP/ < s c?2<O;x7}000 Á(N5M0ϯFo<Q!w0 # L4Ҏ +1`=LѨAuM 8 @h  Ϊg0[8d_o|n00 8 whhtS/-ŸsC8 0 07o8$ڍ"ʘq{ T2ѱa0sFsrљu[ ?Nz2"8fɒ{Oc1+3vzM|"D:I}KYaLω` 0 G+(+f?)ŖR+}0q@{1'7#:w4VO0 $βէFS4LBer JeN*/ =A1=$l\Ӯ@j.檄kz%eqe^PU콹4x=3` X?Rʺn.Z׍x)y"ř?21l6oW5O䐘eނ͠@{B2y^%kZ*ogxBVW`h9mh]zXX,нP,ۍ44&}=fJ4E6~JC 06}+n'Ui1᠗$ClLE՝)[T@Ub̶&R3[gXPB =J(B41|xs}Px蒲@[5"J۲syo#$;X#L z\,;tEfwҸ,=ěeӽ'O (7=u~*"x(Q$I0Nm5ͬz hEb0?%0+l2ͻXl RH#rA/TmXb̪?>޻|P:}f}Sb*QnW4{5\@9I{;MWjMxs1;1dY~>r[WRlW2 UսKzrIv6G'1gglOrm"(zLfo`Tx0fbhmNW= [c3 $'4jy32`$^vԩWW|[|{TFg4CPaڝ {X6]0[Ö4W`'LqϊJ.,3U[1[v Q!!FuZe$ eQw?ieg]TL-N @X-nqBٸGV'd H- 47O3y=Q ,swwF%"wXMhO{5! p:;K(o;1O6`.9I~hŶͱ]Yqưpmaƾk^'y; S!",`8t侑5qGZw)Ayw/<^?Oz1tӪ($S]n91#T2yJφ |R|3sJ(]U+G{a&Pd>i6ClR|2Ռ7Cgخurڛgs.3uo=p,!5bh-?KM)UzUk81ְ` ZIy6 qJN-ե5ymχ7cl,iX .CR oz⯫y/R褻kPp20%˄c`6HapC[q7C(Dz0DG ϴu{m[˯Ac" i;?vGms$יg,h?(sc}^?Z׼s8&IGhDm?Kosy[r)| Cq{د}4} /{ePE4]s։* -?ۉ붻]:+m'Wum}njj(l*J }mKVT~ 5o|YYLPK,"jC*6i<}}mg*ޏ<2cs|㐓bI/v}Hvw gM$YQm<}}}}ڡ, 5`na%mv}]}UhQۼu,0<2}5uSU[-3lMUQ }d[a-9qLԻƥŻIu<<}g}mD#͓[}3qԗq[\^|+ (ŵP }qqe5=߷ (Bt597=#a*8^ȁ 2y`Åqi}<887w]Գ=xQD\}Dr)XI 1ϻ( cK<u6YqJ|4tu<o0[$-| 4&'=M}R&ʨLs.Uij M\_҂B!wh,o3g]o4Q7u ?o.\o(iˣ&CpLTz7ʙqoyv1 ԄajAĕ]ȘYB1/&aжiv1$J]I1ڂ#y ہ+-AiVmmRYY̺}S*_އ #׭qrBv YR̿XB=kqYH8Dvq%=j1 PUjץ0,#>!Tף,8Ns|i,:$BWpہ0NNʼTrJkY?4@K_oYa @1沩(SgaA4Q6HwF!J`7pVhָe"֬jO>$,JdLTf9BV;(L\ h7 6: /[)+R1.?`2UM|r*Mѫ/-?H@l!M*"% d͖<HbģHo몯H^nTG[-9#%9I"9MԾtd%yhGN Z`˿LJܘ1 3Zޥ0ږ[z hfɎ$X览N7a./m ՖG]8_:)]`9xw(F.&n$6NJ?[^F GYdn΄΋9>z nf`~@lֽL&".qj'1q8hWݎ's@;B ;fdBy|q=S$`RD>]F ig ^%"MHt4SIK+fe Tnf/޳tdy%[1!Jdx'@^PMoxMS{TPfB|^*}'sUC-JA!AFx(i؟.C` \nx<졆|nxYPd(n`/fL#2t>#DũE^?кq OmNkoȚ6Y?7*&-BA0QRj`鋘LϡL61O{˗&T܊TΛ7 q5tfԯ09mKxt\6j0"4x/\ҙ UL}%jXƄ QYgк87d]G#aPJHrCN\xKg 3]Jy1`\` Ә![MͅX\ΖABn %̃rd@fL*tf]>]x*G~|ˀ`1|>;;_`GEqIؔ嚜 o3TrUsqǣĭ`FC1No}~`?52%f o5P  B楩I<$̙G.4v|ͬa,U+)7v1yP&_6WcBa1g$љWx5G!TxHRbL>}UȈ26KNV_OAk-eT~0 ""3›O1Pg(>L<^F,hF㘘ټËlauVGW5$Švչ6b.3N?/4Ow!~& <~0"1rvb Qf0U5Ax=Fo3S1z9f|1/&E(q3dq1&F #(Ua<DM@Af.gI똏fnD$;2?05(B A) >0Kp|~ED6EFZFv癩>Pڥ0 ӛf. Tk3mGVc0Qf;,ƥT`B"ߖ7*s iN*3("U FbqBbZ - ma_\X5 3.(drb;R`@58q@T&bfj\|{Tӹ$4AهB9itbĪہ̮D{ud\%jc5Ɍw,Le"m̠\xꙮkC ʔLD鷕x*D1(~?P& f&3Y1[c`J LzARspa\|t(TWJlKT"z 3 +ɨ80&]>Mg;0Ll&Ll61Z { MRSn(-=:fP& 8]!ryI'U,ynX\ n?sB9$̈́ u6`6/Y3Sd%1)w< 54QO8nYSMd&@k&<[DkcQ>&\ [%N:VA g08AyG淟R4qډswD:AOyDm<*\Mg3zA0c"țDɄf. ,jH#U6;U}1M 83y|kcBk889?Lچpd4L\W 2g&SLue~2-2!¦"Ӗ]:)&m;4bA?0k8d?)}AkV,&E(hڅ۸2S5Aq0F"UbYө䉗JF:6ry.6CMw> b&'5M{P|]T}8_3P,X Bc{A(7g9кӅr(55HDRiS~I:M_Ǐ  ZÕZ-k54ZV3Mg2/̹ڢiYԊD͐c]#6чu>Lv"pAFaJh]Q,MFfܢ&)>@CG(X%ߒhF(m.U?i.q.مw2c('kXIcbZkXD&#lGu g\)KlP#B`P[y}sR(UpAn%MW>fqԳM/|5FOm?ٷbx*ٚ-X9BP16ճ0ԲPP^cuyLF*e Ù­ -Ar8ybf&l$>!WQHQ.TIL ,?y"zmճ65Vq|L_"Sgϸ 72Ϸ#5Rܾb{["R>#9&e0Nf|6s5 ]?3:`"Γm@'gfLyybXq #=7VsE2%ĠG,y,n~"T~ _eXt^Q70ٝA7%ÑAf%3Vr(ij7@{_a_}od橶bdgGGɈlw˜' u.fYRh96i[9!>2p@*1&ELf`B~TM3F᱂\N`J AAH |e0sPJ|1>'L1L t nLQ cqsLUIQu4^a )u; о`vNbJP!1&Œ,.Rݳe(Gb}ޠ06mŒ`Q5ܙ#[`hP 6 cu 36`־& :3>SmxuxNMFdԐ9$G 4;++!>L(bdGRG pgʟ)3cܻ ~e3Hdiѷ)"T??ŋU"aENbw .SP@@_&l*1<8arcj/POܰ!48v ˊ|w3PrՄmCju594"~Q:LA[&-ϊc:f#YQ)="T{ajW><>D8[ǃz ExF6IOb"/"e֜965 &x&c̍h ~X9|K`01gm; 0md<Ӏ*3 >%]%Ӷ>4\AC85LY|@(vu{]:d5c::VzjzF]g.1dM3]bQn* "'6Vӯ28 e? Lu3IcaZ|T؉fm5:gyd9Rq:nǗ0:6ZvsB`G˘Lh8Oèf^Jk깠kMԸ~"nCop&. mS̹p{3b\ML;1|op܍l~_~&7<+\4g a+2 k_ߙ[ S7"ĚU@ѬGP&=7]=(!>cdːa,:~\r?i>ij28̵=<vm<)pc `1CهX õ{0t91 _`'cQf(\ehP" #YA>Q>yzS7Jy 1X Bp8s,v|G";_1+ks7#LZpڐ ?81|+fB\OB8<aMf*ȃϻo~5yֻ$ïb91LA1{xU5") E`+byg<\_lZ3aE c`;O0f,KNDd0XHN3tW3 OlHCaoUܒ&"Pه[2 FZW0'KWOt/ A δ 㹇E5L,JJ6DmZcdtRf w'1h_bc|ith\h/{XWfg`r#v=s<\ĻlkRkaٚţO:[鿿ogʡ<|h1TqNau3.,Y`c! Di3qۙaVh~ˆE<4бWf A{g2rL>8ljocMCAMO ';Q|Tv8&h5nqW IUdO\9P6y<fG&OT|8А&-22fp\tl~4zllCq] L9wB tiX\Fܠo~h?y/~AP*~ OãR(q` SfKN gfE]4hɈ6c Bkܮ3p=; DBAg0? =ˁS|Kt2ci4F3gJpee˪*~qwՐۏa4b1}S55 Cs EbE˸Q#4yCv{L^%XЈN6 ǭª&H*qsWv+gFuAƢy)MfhB2@PC '%}k"Lϑ9"z]BUΝ5@9&5';\>%H;u tۄ8V`zo3{@>'_l6dG+f:;A]BM;@D87"u@r2}t[ ¥4ll&>r!\O6&}n0!=`8'pftؾ=k1Yf(|uOrZn4(cuQɞ /L - T؊ۅ<ZEb*~&vߐ%+Fa*YSFM7/n&d5&i\>0@c"h#h n` `8 >=Ȍ(u`RǑ46`4{&R(H``7 abo"`ݻ5,('7j =5f\ '``g1|L˜"Vi[3HbT1g>`|č米?5_r~IjY 2p=kX0L4jLP-!Pr/gQm37}魻N}Ri`C4ŋ6,]R=ӷL#)(eF'%i&0L| 2UOULjliIP|b:}Bd_]vjvSCWe5$Q0>6!1A "0Q2@a#PqBR$%3?l/;?(g=T3iMm#D =>J~¿h,%_\rB>Q_qSMi3*:t(h{TR|aYR[oϧESFZ5`ܿ07a_8")&])5cbzԯF7KGz(JHP(F3X>?T6ʄJJޞJ dͰp&a)x]R~7NɘY18hHRĝL|2~#갢Sn<ً1ѓr]ٴq'>[\LoQ`צeBTf[ٌxmcgr`_ؾ!ݐ660-EQ  Ɂg@SC^&\z'Q8B= a?)?P:U?N@*>4}BrgX:;\N7jМ QK&ZNܯT6a6oa㸍練0d8E+`rVuhhhD3q=x멯oݙQfg<x?ӦÉV2?=`͟H$DXt`?TEeS'5g !{Aw~O2k'%8?6 1bmxls48>Hx55T[|G"0~{L`KPT4oU1c6|OF. >"De? FasQ^ʬrMne@3`d4tDDn8?2VC+VxHLeV748M* qU?M7& r g.Ѵ'o&\̀]` MqF*D,hA14l"\"@&T.f<r.2)&}0i#Qdƃ&nD3L@|@r"&#ɍs Eړ:cHfvd"G*fA\YB@S\X Fngt&,Yr*E!CDf mbiwd49Аc2uPr%&PCLlw\EP?1BSO(7#(☎B V0h@0SQrfn!kv?uw5LT!E "+2%}eAv`@Wc͒30+26Tc>fn<RT(9ֱO+n&W˦?UDZJAdQ`ZBAq0e*`"㈊Ld0X36fR@, #aJ?a 00GQ B% jfe WώE7iF ӏ(2}1:&e3A:%E]DPT A(DF=YTUm%d EPy<@ k mF^ft *Gs\DmšmAK列N2?gI8.0#%0 Fb. .f(FqV&P:vhtCwb-& ˇ#Lώ&#E!Rp'Og( xXX%,[V`Y LX!65mG],|Y*> i )4wdDs\f44M5Al|J8 f 3ןfyeSl"3]1X̸O+s"saWqR)yTccLCP, ;qh 4}y!IɴEv{9T2EXٚlG&@&W,j 3ǽ@j&zG&bLTno'cƘ<OLx=?(ؙȵʴRZ/R<֝Mq, nTյ$Yk] e`.u'V-w!h cOc4Y61&Rǁ1)4bG ,Cs 3'B@+1bg[Q4‰'˽&, o'"T5=`UvOj?BrC 8C XP ɤ:kȌMԻ1&ogG[@@aQp34_B QP_ hVbb C:c-h.!A ω 81J[ل'&)(ۣ,'X)\A 8D=Bo]7[{1QCP3&#Ez/gܻc~]q`QRf,eT ͤL=5#MC:.1\PT-8w Gan|c"%Y0LMٛ&L rsSd8u+W/Rè@E\\٦զ}1zQ,b~;"k6)F:YWc2TLnjb6ۓ9.><~1,NEn '74o_(*lD+u wӜٕDƼ@G3(e&lQзd@l. ȪjÓlUٔHn!:l"fL9v5hIu ǍL-o7:7EK.crmը௙ u3c]XGȘS2}#XZ?dO)f!ɐAbfG8T3OfpiNrfX)4cN2"F4!ʕL֠]ZŇLɷ%~e3܄E؈a/D>zzc=5V>L[i'b 'C>R#I( eR@9修euaFt`ŊSN]#bqk 3 j75lU*n}jOMWfUT0nf"!%zːc&gڥJ*i؜BV n|@7:0}bf\7M@9@gPМ`i 4j&p1m5?Qfk!ְcd luR>L'м̄&*}?툊怇J 0MfM) NՎs;)rlT=" (?9ɅZul@;%R&}: ^yVԛ# g-@@PRLg94^C>`&\.G7gйUL1 *: QDsAjqDl2-4u7Eox`܌c˼/*'fd*9㱆 D ;da:K2gbeh4{FҡgL |v3 }P ?tz`Ț&&o"{preLB$5fl L6وAn &3za)ϑŴ(ϩɄMQ\ޣ 3>=v~n ԐVPTWLĹnt̛3W=ØuqyYؿp}:O?g'ŷY(vf ,gQ9AL^?1!+n$֢&*`հ3$Ծ &5)\\@:&0E!iS3y7/URA<~"1e0YFNioIB;?Lpl=1V1w0`Nd`$C#O-ϙp!vkZ˹.fn|NɁOBdԽ(݇_-l3i0FԢ7+fLe9*D h;Ob`F1<"ڑح(E`Owֻc(VUlY{slc5UGESowѹ oy0Q{v剷 lsI6 FƖ8cimJIΓ 7TQsQ9F $h1"U/]Ps2+7s73YO|U|ΠS vcB=Tǘ>aۧjN3(côRƣ){Z;_@\P#؜gK=2͸1-qs:"1+*~`Ρ r"6b&mη$j 6>aTPŚ#1`R FD֔My$fI`ʻC3. >aӱ*1%g'i1lJfxjPðvېnk_%8 Q)RY4SLoɧ>lhđ&*&"ϑWj 8f_Xv3#B:;116&@caS0?`1sR37-b!q7Fa+4cE;S&Z3t;rq34)jQAJ!}c]@>`E3w]ҳ/8pÌe\I›, "1!cjTfb[if_i~ߨ4=ndY(L5cGQ ̣!5l=S2w,π-Fk6&wľ͆,UCJgP9cswbPݍ&ǰq0o*`C ȕ cF+/@B˩5fU #62‰(h۩2b`m4xm1V/lZo}VjiT/n 05w2Ʃ7b`<> 5٠%z"wv.n,LYWjfJ3wBm(w@\D|)d=Yqs?=f} s}&W4&Ĵ Cj}34s\m 0 &, &Lm3 % LTʶ.<x>FTLP"u-8 x (@QJy̨ʂT7?1}?n (6u^#>eh@Nnf*I<)aaԛ{}֊c]f{ UGT;,ͦʠyӌr1#nZE标80a+`DT\˘O(ٔa7`N[#6H#[YIU>'͙(M:.e/ONfRk޿> aٿ`G?~!^a£SP)cPD"l& 6ȇ)1t&zn|0dAc#'Calumb 4 ֩L=fݸ2oy.2I$\@=%?.$γc.U' &6yhc4~DžYz<fc@X~è81]K n DRk Ž &QbƣP pэZ:ljX3ʕ?ݎѲ(G` (z(PԅB~`kS6xM,bmwQ_ 6rMp{CdСG՝K cmؓG'ӲTnTM4k#Q{1O\GeN(QbsDO{h:Kihc'\?3(PBgmA)g 9aTq%#8N0m^T\cXQ%…^(/au9羳:o=3 =n-~Q~މs>0f' dΟ?n:cW=vKCiREd]|E9=(faݹ[9d* 8۳ݣeJ0}BKtLdIPGcGTıa+6M/" e'af[:^ 03~z?7*TqG Px{e`Q+yh'*94omJ(1W/Ɠ^+LJӓNJy-_$^kS h&fn!fusB'j9pV!8 0(蹦*9U4Xgc{ZUVӧw=Wf8TXңe\we7D ;>@SZ;VjgqHjP9 z#"bȯpcv)(et+w4gQ ,{ Ži$5EX:m/\ntXG\Frv~,Ԩp5! cL%O*Lx yŦqdGh 7cnSz L mgZl0G\dSݼ.UiVm FVcNH9dעlUe^,.I&Q&] mѝL/賀A5aS4s|CQqpoIH;|e_ -!Rb}/2tu #r@Uy6Tܻ0Phu]Ļٹ_@lrLдt#T1OS76~uwliΧ[L}LLiM9!7_O? IuZuNv,/!P25䷴CrwhcVI *U5ϢDiYLtaUvp}:'{?]fmst' LzMVrMMʮ0uFS naW7Ԃe Fk;B>Ƕ5D7w2&dK~ُƂڴ,;2Z{CX S5Mh?-$JfID£&x,-q#DQO2tj@GI @!Sv.2JvY*d &V`~#=27Z,TrdBCdFW K Tz;x5qTæʙ`;*kHQ&\JyݳKBt fL :|zt^c;`3 +ɀ-V;t)>au?7Xw`GRwAWHSnNeII*pU)ai0i8i9ͧPѥfcXUV6zy4Hg]NJ<-=֪xbS3fYOC. Py֩+kYZylg 9j:D3d\އoipwa6@nbq#\A}#R5Bl p2U]& %QΓ~3TLG]BbIU MӒcl*T&t9c=eC'~:;6x5@M4 [BnդM0I>򫅨VOt525j=wS1 0b L{mkEUm O *c T̸AiD? N;Ӛ`s^ǀ檓N|sPL:6HI?Eޙ'sf2M}'TjhhwL)? 煨 J Nu'䎉 ԅB4NU|)Tm<8B0k{2`i &KCe~Mޚx!%OA!Wk|!;T$S%L;kiTxG ײ4AL&ТJ.#4hmGhZ$4LtUeˡK*r{:s^D\TwPnQ[t\5ee=UG7˞je0GC,T8|P}(lsjhvwdOWgUtr;\DM)eEOHM >Rxs|BM:M}6aFbD eQ1[߽?P 9ke6N|hyD:9jpj6?ڎ-Kz*sDKay %^цAoyK)4nj]ˮ78uXjz5"汲!QQI=75iͳu}Ձ;V*}!TKC8nys]0etPmaS`CT*Tvb:ױ9*g<L0ʧU|!&eaL'϶DM$g53ZLk)#-S'wDcwE{0G;Ii#6?CrnC +Ϟp$puC=2oY4t 4FC9/Q:~'ET\t?T󯺰u8{C3B+'^XdamZZM<:}imް׎D+rKanUi*e"ςZs2潤CsS]sNRζqFHh4asۍaxJG9 ̕"ks7u)ѽLOE>>.suU?&hTUy}T!@& ?%̣| K]yoU#p#ZUDdNl9!R hNNg0[[o&O@p/ݯC3ȦRf+9إM)džA:J7@ˌqOK y]^3cNDѠqkXX~Z*AW,&קk*qglamFtqJ-'B|m>hwk!6!S)yBcW NmUZUIˈ.Ϫj܌~vFG$Ba;fVm:k x]^GN 1t /Tۓ@h+¼rW2gOݗ.Jxl"y%MzE1[uy,s-p,MTo8xʯ k $1Y:ȉ&̨;ÃVߧi dˠ "9BOȧ訸; i]c-{p ԉZ°1gif2nv2ZCW5[Pup|i ԜRʨX}I4w@Mny'K):\全9O%KxA Fn_٪*&i {%.*È*m &gR$Le" .$8OTT\*H:~F_ 5BF1ͱNrk Und*.|sޓ=Ld*6x2 v@)I/S5=%_ACFTثZ.xÒכxfd']%J܈#Ul4:({.|uꦵ'j{a~0r9#U4!apAd@ȣ190&hM_Ē)UUmsM%d 3o8ɵ=k:T*qLwu]h]chʓK9:_ө41{y.n|-@Wgl(:\D4cm:d Ow<_T8biS{d.ڃ(!UߴUMo7LԨ}mp:O: ^5*|MSK~`zSm\T ]& Mq+HTK YQR`s3΋ "'NߚܷunKv2/o㖍`vl&iA:VmE,9zg`̞>G^IwyTШzOM%4&@*O4; ˾*=}Bk?BaoA6 Csns M`Yy,"=S3{qn*'ڵrrՊ||LUHnJC) ve1/-ѣ@U[Uȵb*omx`n.Ӵ>*SLUZ *Ea6L\UR\w{g6Dhk[g)LdeW02BV5U6U,— cG `LOU8}~ K op|4q9(\~_=m7CdxH9eMl*ᕉ1Թa2D(܏TaBTUՄf EPC ?Obu'5Hk8G$y*cCrՅrM9Nyk>GTXdnoh4Xj;]9#YM­2ڲ3*joEARzeh@rküOWwZoU^69)'Xی;kߒcN ]< s'{lp Vi3R[ T`LE^ GS: P L}} (႘Ӫ}AlwEZzev#޳)Ȯq}C{bSֻ;IT}6s]:y)\ֻ{`L;%{zFKO}Uv-oHhQ2һK Y~LeڻPrDMwbby'rcTL$Z\2ǸT+*8Qt8]R)cAsdxDz6CDagXܩvk̦uQsdPqa|2ۏ`V w u6Fzho]m&wtX|>!<]Q1Z\ӡ݀ aȄ[qasUM>XrN ~LJ 0H}&ɨj=ʿı ^_> us{39+Z~%iv#03uO_תUeq| f}eR:,E ۗ.{`U\@ dgM04c6cj R3Xl@{n5X1-fࠉïNg~~wsDR:(rJ"\yŻ_o=ʼnZ*ѻ.4a*1uaouُ$I,)c[F@^ TGR&Mbnc\wMw*vVS6yL8džjvU ԅ@Mvy{D3=rYSkC@V@3QbP!q|Vڎ#Pf2{F2}!pT{M7T{F\L_0[5ZtTgi]97Y.ըfJf,s'D:6Yt}U4q-4cB>+ cmƲpvmh:ZGf32'k#o<'' _Bcd'CM#fp5k,;OV=G3Muj\eԕA-e1 ʬ4l9l)hÏUITk- y޻PŹ}ڸ50yQ'U2O@!T<SF6/H z7?XN3 BS)0-9s!SiTUw.HҚL~)\eT{Fly*.,Qp:gy. h-O`]}1ZPkP t:rXϧ^⏉8CM2c-&,y9MvXމCp8fmJuY,tHS]k:&x`!ۊ`r)lKS».R~~J9iuuވK{лO]W ?"Nh(uBJm췍܀sToKM.Cyho6{`CCvYpv9be0U??D *X~ӡ_4T'"ԤX㪥JjtđIu)w犏aT @{6X|Ml.rGf!V3+UȔ %Z|Ujze0ֹ^1OT>0 %2HX'vN+Ҝ!7'hp8+v.,R=Qѻjxѧ'dMH?HnX\=3AuĻ>^G_m 8\K@XAAk" +YsUt5vi?cLhI_5 <)JC /Ak\6,0;&)s h&q9SKU@^5_,ͱ$&nȷOݷڧ 7u^G89y m _,Rg/pjǘҫu0\?J]#\w"b=G%γX7l8a-[QU}r=B$h MUJLƦGS3@*\"B4E /VnͩNw,**Z[V.p9gpXgյ̧kc)ou7Bh 5U@FJ&,~t7)%37 S@sns)YMtn w4'xisWXa>o%kV}G'TU0vg J~lp*D$&vgkTwU%Yi^!b\xF+' ! 3\:G5iDWhGO*iЫwMwD|qvc*5C-aDjp^k V5 (7kKi7ywYoTʨ,B9rriL]60QR *`mVaY.e1R뾩Yn5c/k{xuﵤhCFjپ冤Vh zPab4^eRbgB 4]+_񓪜SC9[QG:Q`Y+Qw̬ v@ R,^,. 짖W _yDu๲-b>.$ )'}^'. {jWR9hb(6IVh ӬxI6Z1U Nm.ޣ4E@f>Ues-)*3 u=UJna 8:~K M-ܰm̧wd+I*imw Ri&Uh>VysnԳ>"2yNv%Pb:T.a5T=\S({*G^EhZ>G5هع өrU 4XC_Ul8 o5 Vو|uDasuDO%-0n5XgUpK+#2UiR6N 3G uBײa5u9gIN+*7O$H0Tn{qla_4O@RÅkXItEGqpyjihOͭ'>IUQu6,vg)Qc~ùh=Ή*}Wq ~ձ|UEYTqW.-y&Sxl_%in&v_y{oTG#%xy,E==ځ}C -oRHxuk L%昦A(qf|N7%Li-+ j#柕O4a_n!'(o9wK{ UOV絽:wbsAbUq5˟$r uL '*75n MB- /u:܈Xj&QNMyNH0TOUJ U0u[$o__ 9hqftY'J8; ?A2F2\dYtWh^ke*ƅp^j +|+Z>DmH B]Ty,#<=s ֛MٔZHsPF\8TiK˹NӅ:h(H\Jc&tJ}jnlo}CI!::<5\wBQK"3Qp51:eZ=Ät*# [)ܺ֙Jߴ?6hӒTkZ*zu|8GSktN|62f'3FOڵҝSH0ZKnj=ڰr֕!U|`1è?-ph >Jr: ~M`ۼwC%(Nn{ h ht]\0tL|~Knhø.q7D G  jANt#EO.`89跜1isCUkATiSkq#O^L@y2E x',(3 JpM9,Q蟲aC1L dWg{x|;vbkd杈uVaT׫knK ˭h,q&VEPf3RygbP2rjS]G>I"AG&$.ϧ$Yk/r{s4ւO c&5 h[(u!7x*5&89?>wu$2CR5F_[>u*=QΥiH=f.4l@-}#54@ ΉO0 l2?ҝ#0iO̩>. L ~X[`L_iAAx[XbuY8GЪT&gp9X٦:&yh 5%pRG%8&jS&LTXvjyn`{<5x4Â\9kچ4Laa^֜X.M4íf%;`G2~s ƛ;aRWm7 y"b0,hSmggԬ\>X:~kVGftRGyoᕼc|װezER4GUFPě.WX he< Z>NO85L5Uꖵx9amٻE$9 PH7~JmLtJӣZUS*FEauV.9+hȧze&73#^yg 4ˮh"7k {af ?ȉ[tZ<-XTʹ q,YXurr=L#iӺj~fL--jkRDwGkRѧUFe+w/E+ O_ XXQ|韆Dh Uw S=2 X[IRL1a.V"lxXZFWQZ] Ht9:uGV5U1oJ0Ktb:2~v:ջ6;Իv4O5 pfts\78S)fD+y놚A' (դ$2YC*9Tu*bXG \/<P hWejgiemmf<5@u 2Uud4i# dm;03 y/SA@L1-Uh0sGDse:CYV͵̭p;Rqꁹ->#Ś)wn(X!^UfL.ȧxx*7Cx,%?*|T Ҥ zͻFJM5?򫦣ˀp>{aЅyzMZbmn4 QʂZV; pKNTr@*bJgFDd7Soxuf>eb 9`\ZM;; 1.NCCs>KXiLW=G1g-q Ku[<|a'U9fF){DU*ݝg+HeJdazDiZu1P /GCD=ե{G%"oCJm*!B."J D>J"ᜅO8ےy͟{@~C R\rS=!0ѧK#yT!(tE"hF$y J.*X\1{ySjATZAy*7,I-p/ ȱkH^U 0<5?6g.7,'{]?!°檃!c/uLko#]"3թSi{8F)u6{QRrjh^e`mQ.k nBZ.Сu wcoVm4+ԫj}793 wz|,;3!'a\4+}X OC:V: v&ʐܚj2$ƫ 75Nmi"K}eLC |fD?LZ DHQ-YLA t2tj81br`yp٢d*9pNLɎmAeUUmFSk9D,Vm+vMN +߽hsC~jMu f^7%xSkO|K`&[%G 25 pH*:xOUP 2ElЎרּ`AzAne%By&O2N~JfsЧ*urJk*}"O>ES9,8;zhUs-$Z*\ ᒢw"3Nmi.D[*jUBրT8wM#Q‹]}HzK]rWf^v4:j[}\5ge7M; ʁN\f2|YaZLĪJ5y$E9 a);҅[kKwFs|tXO>"%od.wXi TV+Y= YI瓳w*.اR=5V u DHIMl&G޽s3~S XpZ,N3.+NCϢ6)TkUCK/y[~ɞhb*Y!֓:}\;OTЈUܟe?Hȷ3AS0 OHd8c^e/+zK]N*0}BDDfh ҷ7u0Ч!5i9gT}hUˋTeg)T?#x,h$xD4MHj]hBT M~ z7Jm':[96K ;o-Ӝa-)BfM'5W(;iWR4*Zs\YեUeGR9*g!y5DqNx}{MZS{IM7G$Ԟ8Vlߛ5V#JSPĿLp22X?mLx7fsM&%vJMߝVq3&"u+i<\$'^cg-@緸<x[:5 i>iЧa̔Ǵ) ei.:+U:cȦ֋DѪh>iL}8N}\ BVΑ$!s44^hwW>:xpY[gPp:*ױ||y[we4d4ٜ±sM9@Jz$cPee>nMSԂn\Lڊ/S57ky-s ADn 57}`.7-J^x)eArW,۫mVHUi,EKDTWf;ܘ@b< @ve`m';Xu:02޷{[PTe@$$4[jqGhy'g@QRx,> O&BgdӦ$U,)؆9 f(*f?־\ڔTMʡZ|0V0]:A5 ǻNjnaSΙi'h26Vo5I3dpH' 쎬*K^ZǫM!6e 2FɏU(Xch'-e`0SшżDesFt \52䫋*} >)o\Wm)0ŷyD41akUK'MVّs'!S\tE[F\&b2Lg iJ{p橐Y颖FSFDt 0N!>yPi) j0P (TELW%  OB{u<0oJ״Nf+#%a⒨Pm4¹M0aC۟А_wUUgaw, 4wE q g$BV;eӪҗi晢J*)t'876x`8uL1˄B$nOC^ Ѱ` ^5.)o/erlRۏtn3oBegTc̷{1ZdWg*WԈ FTo?!Ҭ]0px*,j2SCT+E0%9‡bwaSӼCrsm0sG<UҘB9ܴ6ho!&!UC/e[=*UamVEa`p۷zEIM֞+TtpX8yLaJQr]\OT0 peCDw-k{߂Ԇ* fn0حŶePi{h9L&؀ByVSlpJq98[19*!Uwӵf,R mv3 AY -%i)UTCa4dcc{ydZ8\UnU>O9?v7k!kw]!aiT{ƖP[K|]TYXxzsLT2=.e=Z\;v9 Oc]rW^ ΩR;PLIsX^*-k2Ui1%R@˪uWI]PڦRH'1>OӚCȏ /rQq,cSjwIғbpQ$[O9se; ӣ[ao^hP%Fj'?%/|*FnwWt=>LZ(妨TyVLNl>.ᕏ;CMZTAkcf]QQn傘3 ohdKO|rXJ]Iܴ 8Z+\Vl/a, ³bIWɐ\3GhEmrU|DuԢiRBmUtmrjԫW1H](˻q.s_{ɓ0u4Tj?OfA:a&_&\<=Pi0{5*Lx^4oq: xUuwM@I\Fқ1iz%Ps olUsbӏSM9AT/ʂq%RDStt鳆 ]} }ZdIaM"JaW`gtF3$Ð9x+̆Ɠ@ˉJp,6Qu>]Sh#Lp  UTS#7yP&zǗX9.VsG4LTmHnAE0HP̭knp6p*w901qE5Bvlvj3Q2\z8L!'9+F߳ly'CQwݪ'޺X;iOS\l v-Yn!uXhiϚb|d%bu'2x&ccyJ-aOjwU ;)9BJ*fLseP4fn/U-dG ƈlysR_=*¹5o$8jT#^J{x5CڲJ *MDD:SD+Sp W{U3s'䯜<x!59[7ИCEVRᓪ[ӢX3> 9o)/]/" M`qچqopS\hQwo,Ȫnm~JSdnNtHY57_|Sʬ{rΪH1$+ʛYCFaSi/rMw77NeuFF\uR 1QO-9!9ʧLn'5S: uTE&G&T%ZR9yu'HPiקCZC ȂE;6-_s-ks `Q)6!KZ\yM8-b 4fߺw,Zv؍&Gka WFBteb[Ҍ@sXb7`~(" qqOڌ{@sWw=[k XSsia^O-7:}REĽ%֋bMXGT N\wqf_lh ~zdW 35cNH^- m~^J%Li U*=h*99 dNי m'4 =^ . gU,})H-2=\qvQBiܲ-TNSk槌5jA`v] ƔSl\nƗD Dp˞cU:&Gsfc0ċ[2+[ leUstO0+Mw,M9җOY~Ik,|k UAg*ė.W,M  ]jaҜrȭNU= W$2FP8H,8L;J" M~92~RhoO"2P a0Y!b ơӉt*FNe[48Sʁ#00!„uN!B%JjNS` fm<[L X]u6=murq ) HCŒuV?wݴz*2tM*Tis=ѥ1HSܖDo(yOsH*o1O(CLӜ-v{ˍ̢skU:z+`G$O g/?Z5Maf^0o v̑™d1Ls I|,[%ZrWDJ*خ.>ISME6sT%V͍ UIU5c龠]nssa eisne9w'D 璥y!N;NkF\]uE"lY%1!;@Fn赘9jNV$"5:c)d+FY&gT~#%Vg+[ {<ˉ4JB6ۡe0 #67'i"sa$oz-vy8ndYRyT4 ?ֹ/oSV>U8e &2s޷-p,NAnV ՍCy2skþisx ϼSZ2o S\`<t9"I俁Nvd֟MJFن>*R Sj Zŧz@]Y^wPYZO9ALr~MYsT(Ѷe5. X~*8+-CSih]#H,*=֪n-R4PsGBTE=i'(Md2Sv:mҟ{@DCT`ys*d3*38JwB9'l/v* WpƥS~jwCvVzQEPlrofyFI5<&Qu٫S\Ot#j"'gJZfUzuTkK}+_^ jnq7wS:bGIW&O%yuBC( ؎!U(L vRӞQSgRK%We4ܮlQ'V3r` M,SN5`^ MpR'`*TJ\RXzTMVΪ-<{ȈJim뾉棄{f曊#\kǂJ%BoEwR匩;Uk|r@iV ''Z-'#0eIg;U'dNÇ!hPUFj])Nb&TOlL> V]᧽,8mVĹT8+XִHh:'2m uAµRT*WRz&419tKP8dUVXF7yhGvy/]R(aB eU"ntLl:k}a4Ʃ97~ =IWtF\NM+To$é7@T$ocZ eW]Nn5淘iXBo&HE{JJEك\i,>6uH) ND&} r^S_&*Gk訷wE,gz 7xEu "M*Y OIr*`yU5r^TAQP*+Xp 몴oBuѣOMU570莫z,嘒\5 _CA8g$3PcJ!90V"s`}|2M[f p9YUpYF\Z/ԫ{9J;UYCZ9v7gOk9ͤ*oI̪o:j}1u^L]MډT=}ٜh~r͒ʬUJu@2{MIw sn*,IW0vxO+HtUM:cD2s䍆hr4ө5\"~ix鰦SW!9R)ٷg&)T{LL*$#;lz|Ka{KQ{Y=Rxie}Bc n2X иsrVku1~j)\w! 8rꯦ3sHTa>IvF״r5wODi <&4 S[̑MBtԩb+:QȕBduqU ^o//lt+zL;,ް=NY"%E)FHx&rN 2U M-m2fJLBf LtswŎ ijUo;MÒ0zQĨ;;D^rr_(duty-}Ӓjb~ٽZfa uE2=9F>J/en|?p$Z69;ܿ5%O}Jgx9qpRz]a>jCi>ͪKG;+°&ꆫZQ@dUVdi)Akp{ ENо.l`)W) %hMb~ xvU٧~k E$^NlIth1NkɸTs6RՍD4*nžpN&DHPEc*7xE1D(vFS*Ԩ[żAAJO)>2d?OOvz6~jj2Y rw\RG{!ba-=OagQy"XSs#+v?6rN ouT5c4V7*'s)ﵤԞM9s0uIR$~0LFY}U;iGXU:#2:"DTd*dR{8\Ce \Z b~yަ~mGxћ] ufb}nG%@ BNNl#]5S+D禊Ri><>f\^zrMhh:(VR$ǂ'6jaVUDGUwltU;E7x-6E4Vtk#6SHjR.DgR}:&Ϣ;Ng%15n7\(maiញԞM@t7{ \;C^HB2kS97 fBe+5G2WխRi.{Qh=G0 ,‘vAN$:W35W7U#z쪔Lw__:d*] O%~Sp5^[bhlQs2/)z;5iBq.Ъ}Xݐ7؆7VT, Io8}GnTZ> hXpXv统2TF4hiS{-tX|S4ƆC%jЂ湠>J@@X;6 _4>US6YFY咎0Sja$O##$ /4W4\Nj)r@N e8l+Mkipo~d'5{ajw^9m&M♘3bknYN/x,FWv޺WeaSRc0%7uXLs[L%f|4!n)wFeTQֶe'G u(ӧ<ƪu3LjKIbZp 0oi>ebnT(!4 U*m8 K2Dv%:Xz6.rprn'z.h-JɍXی9> LZ%awj# m26l'DFK٢Uz4m> Ana ھ|+轌&g.i'[ ^Is# LjeW3B&Ys'ՍO N i-2GEA tR⃏vSpd+<G=CSi6*r]6V|%Xs)-M7`l] a&e;CkOC#AYiXk 89љ j NB;=.yTR,7{\rv(U#019?-$NS0=ػ{f::AkI 0|D61.:}3rM|D˺ǒrBU|"}DڜUZ+u3+w=C -Dvnlޙ*e$4ݪ4(lg,NY >8y.-mrjpvbvJC$*gCaC(Or2`Ach&.U{xf6X;a,Bu?X7$O8Uq>ʙ u`Ԯs .7. $stnvpgM<􅀾7{+}]֗d2uh_Vv%E&Lu32lXaMsT7o{IwlߖʂXSgx0Ϻ83PܜUkR~G J\iʣ"|s>AT3=>JȊtۉ [FϚ̔GM}(rA \sC]-eaj8Sk^-QB%5 fsu%]"NjRITxl9,}FcWg׃roŰ_.iuNU{&-N?못OF3F&i4UټMdHtU sȬ%}rjmQ%B*(PBjjZVHżOD:W8s{Wd2EUnL)%6Ub,Y==9'ɐtld\!P֖˓qL!hAdN nmV2= ִ 3 Vnג Dq#T{aꂵ BÚ3eSWxM祖תv 3d-B. Xa;CmXSaUa*yM I=Zݮns|FjDfs@?UfYP^mSLU;mpӲ %5?Ui!a9Z׺ R֑~G)X"ThwsR=Ld7K@]a:g%b(U^915 A'xm$|kZ^i } sN{r懚U reZd4 tZl(hOU0O"4Ҫwµ̔@s|Tҏ{: koV!3r&ZnU}Wd}u.qz#Q !4!s@~~UЧv}Ou#;_"֛ޑ桽Uܙ|kN¯sT #Ԉ]J%=vTe S&9f,Pky1Z r6$?6)%Fi=Rw& L1؆C'4.h0>h_dSB&sxjNܼhahC[5T\Cs|M'-|wfL/7UPjI?W4*HwQĵǝ:UZoHt41 } wB%ak4`v T4f9ʕa9}wBZ2V:$5EbL>tO>˧jkʕAQw?%<_3"LB=#Ȧ,{f]$;kxО\:Cs#=`?]NkHeyhi҃2VB r\i<7FIĺteZhRXU.ͱ)aMa=&ӱ^շ=ӏZJqZWx&TU4DTЪjMKWiWsD(ŚIUAȝ=L..cs/Ɨ݀g'e&:>9oX4.n;pcSt-DHF[7 VW\Z4^X& m h@JWS(_4{6%bnCÚzrXVRa{X*"X=1 d^2(ves̯֗&}j=א⪁.>U80IgHT]}6A٠Z e;ӕZE:O8TϮ;FliCϼZgW mrźOS-ہn碝]TyܧLWqƆ3h>j/ 'bg,=[LǠޛBz)D<5G0}j̀B{H>\JjQUhTTi~ .mQ]u<7;Oo3)w\-FJ g`ZoD)x)9#s.i$w^a9X߆oHj6v\:Ueg7LFp/n\6g}jRCi#ԕ x,3s(ViNf*Ҡ*E혒R%FkLֹn nR):]ҪDCQM-yJ!qCp#CITm[!ScZchvjv75O;WeN|әMIn'{jpdHdQ.YAavlz Wn:'8#>ΛUJ֍tySCfnW6T#)we@(-i@V_ ?6P7 | ķyftx {FJv,sbp? #.5 R/5%4Gf8wBKxMzmNצT.oߪkq M8OZ_)~OK?/~[R⭯_U?]OS<U[E7˹t*r }\= xk+Ѷd VNhZNIxfۂk- sc< jՇKG4h:Tzʺ]tD>aO5lMk/!T3ƎMD0uw5ID*uYXCr(3iSwy9pQ_JNFEnb&2u]>jKFlgihEcYלx.h=Pc]*uNWJH+{L9/9*X~j`溵7̥N:vs)4O3_ُ5]ի'+O%rQLsWeL9'"B| 4 jA @6y*[ʏ n+qWe)c\k9gaSAѸj` <̗@3UO<; N qDCG4uz5/ShQPTSOQL`J>HY:\VEd tVΪ DL(CvMkG=Sapzc C mV6&zKsMt8N})i§!P:sDv^V'kwZgMT}'3HJ7QnP" zJTY2O%Ul @ ,c:mZT fB##`ZuPŴQt0BR:Xw @,fQć8>< f"Y49&fgeU~5^]:e`7':u,S\Y[1ⷕ(5j? |G#.|gzefx8ukB?i|X:#A([:FY;1 j-ϒ,{-O'-P3£e'Q06-ZG%IkTꝘ[[S[w3fٵ)B jhh@#cJM*T䝢MJi~i |3& תcZ4().ˬ*iS>P4ʡ2<¤׹+| .m@AM2ܑ;2Pa -Lw.+0!krK[iڴd}L vТgEKMU vasyƂ:ibiu\C1qUjƊW8{IO ݖQµ=:/@:Eu'f#U DʬᄤrzØ_uW[!zUPQ2m%vχ[cZτB2[ݟig4l[MZ [Fgލ ˸Jϓ^#{?U$1RŗU+L E%4{QŞuV=h{E5 EBSD>aǪ:.ĶTve4vB湁j4RUèR:UxWh>^4k @<9JFD#/0 rThv@)Z<iDɘPB2nav=3z_U|0U.l6Mit}5yoT;2?D;63{;ٍX:Peʥ0Z֋O*0>;]Й__CtE>s`\@N*q2F6hJK ^\ײ59(kNcz*"sr~ Ɩ "Tq[>}"|!n? ^Z]2|jW^+FJ(^ժߺj|@~[Y nqG^_ .+?g:Q؃zwRvD3qP~mLj+UDi4ieg:ފ"ȡ =QԔ@lm0S"v#Ѩ]Tc G*g'?S5s,4 C pOuMaΌ;\c]6MNwBJզXNuЅu,{90@>6㩕O Q[aT ->K?(#jM+z}nޡNm-<|dJ)^2\uL'*:Ҏ)ky(wTtxX_ItOJ8*cʂu+N-{rPA6i $CBn`p2U,F\\^2sAŎu>aqշ8wxTj ԘVsYEvM[t(EQ71Qy-E^S02Oe}ۺ5k=l%3ۢk5脑Fa= qtQ&;HC~%wGl>Hf5*3n~'r#[S#p02ۊl{@'(!f:#gʔwBO0SXV[fRZ%> L;NSfZW~ZJq4pqO5Zl+ Zk:m#qʻJ9BsI1FX snXogU!JvA(ӞIB+w6=T:XG=y\; R(s1f<=2@Ts](/P 6l;P5rR,LYV״ N4[4tN:X29UUN.}E,7>V1f%We,óy^:'CD a9>IτriK HFYl-uԴǩ 6J' Mͣc!=[̑Aˎy,vy#vR$Ss^L(ex{>6TSo)nYڭvu <[ .K~uG[y4%Ti܋2VG S堟 MG{sx;Y+kD OԢ2)ۄxڏQ.UZg,1('8eVX`KNzme[gS3MWyPUKtWgϥJ~ 17T^`d 'xRbI(=:nrpmo/Wdjk 7ef՝S]|DmV4R O4V)T/K9B5hѩikgO5%Nxy]Xcc*K4E܁i"-/$7lȢ@Q(#]|zq,daQ]Zg&ʻƏNXmPzT Q\HBm>(*7_, niGTiyx#De@MdO܁sO"@UO n#YAVoS^oǺy=dmi=q;SLWhewO|dn7mi*$ !5vJ^OiVh> lfuLIkD\xZ#6Hٸiin B^:L8OĆtFѭMq23T+==Jcԩ[ﻗU|p^J޿L/ɡ2{xA{gf@EG0\>9a˪K:Y#FӔs+-kE>\â8rz#D̦Sr\6́Xwq H-czϨTi>Jn\*j%sTܱ}E>J!Jķgc4Rö=IOe\JOY *?YXe?Sm ŸQ#O8o uHBwOG;=p SE6ZV'Z7ڿ̫r[*frD5+:ֹ*6l:x'9O;yu ?VUJUjS1nV5۷wg?lj0NDѬ#pU=Gj٨FBZrMAuC4Ji$D\Ni}z-T65ZV2*2+a麩68QiVgQ>"sRk"AL&*Ew֤s@:V xF$3 lA. hԮѪk /SMJG)O3(z)_$S7JJvO%g\@lڻLN}oq޳z}~~TfSNKS8"&ssP`cIB\G23Nhx!E[ta ,~6ia֕ڮ`jğl=iPlt~OɅ)J gfkS䫙x~}'dZ ݵnPbwڬKNGW0Sƒp,5Kvb^@BgogvӓSmw5jZUxty*bicXV_SCZ^~kxOwz%ժa&qmG谴i vchS mJv> -Leτlے_iĠe:簎FY N~W1q2VWa^#I޷?'o=m]vdB#ll$aooX'=<^ݟ߳ǧ/Oُ,jL=[ڟ)TK/\Q=/M]9 'UN&閫g JۿمʋUTuW0拭nj~A>V>ϟT)%4jUnr@,q2LftB 2d45'SkA5:ըiG)P>^)nwU  >4r $ ٔYk {Y8 sd7.J؟5E ]z#P8z!fT _4l)ԣj+jVJNBJrMRRj:tg/#%%wTP*V$P੘jWsF[v*3Uqg5T2ghpp*t5 WFU].m60]9O%ӻ8&sXvW8eĪ6ʎoC4V AD%T' ȢP7.kPw6Wl ܲV({a䩙` gَ~y>K5_F}@'ŧ}Kyo-?]OG'/Ysf>c|eLϑ> !7~  q脲\isSu> 0_B}E.[9gD.)Á̎$KLiR۞qJd^hV'*o$2%`"S Vj:ݍQCdeqdV;5jX[oSs΍`_Gn7hG캎s 7FĈapwL6AiT3!xI˒kČh OǾ|SqfPs DӁb!kD<q4؉k>W"F7_tQ0Q i꣢ᖪG"@o!o|ܚ#5],"Lpea>zɥj|ef4֎gԍ(F']MOoK]d inmȐ &юMyq@Ore_P, wzY&NtOUjS(CC"ouF\ Ag?(>4V z"SG4LS fs觢>/V%ًXnN+ RkT!W͖Q1]>O F(XoKmi~JFl:l"u m-k:h4Ph`6yf 2uD-LDSIaez.ਚtYhAKg%9ׯD5ѦFڬwB pGX_e//o;4^}܂VKEMRM,~v5=JƉ)}V^t2sӮjeTL.`,5Bg4doa*l}Gg2-:Ӓ&T8ŭ*t)Nt\ch戹nNJ '0z-lوL}.tG⩹|&dBu OA [q=%bg5 2!S{s69Ǫi%FQM}` *a c<pz S l:eRC$jUkEk8^܎[FpCVWihϚi FO{5s_ZZr7K\~m01K/`6EW@ EHwq;zpS2PKt(憋aX'~QQ%S9&Fg%sA4ӈUrnPV'V˧E!s]vL6BqP T6YQmkd=3i{X@Я{=eTeBr0+~Ti> d>m9I^!-?4j1úQ"mKX[mvk6 Dw3g }"~p&h6WqfU!i1: ǩnp[t`ٟrhsn-AZ*:´R.k]uIXnZUk3P{k6C:,V-ӺQH:tҦA7waaXvqqT60 Tk~4#":S,jù~F]7KXnqs`&"KXJ)ucg/P(Cdz`z`/͞MT1~s]/@r *-xcF'w% 5kC1;E@_Z@p!YW.yT:>a,U">%aulp8jqyu$Th~9*ȯLwEڎ=#[B~c jsV25C5$I/FK9xXa_ C搏Y2YHk k񚅏yL!QbX ;)TɹZNPĹjZr̦3ؓwąs:N9@Bn9Ŭs.M=o ]e\h4+=U3P(N e"MFl:,ڀO9 =76QPB!Fzt^=G jiw=!s|=NK IvxRcVKꏪ*Ylkn#6Pe&9uVs{܏Dw ̂{.XOrtw%OxSۙ'w^{NcT67˞9,!zӛKb|SiXB32Ng5V/cɸ]5iZvv/l'Nw M㫑mџuW4Ѹ'H@TWkv7R<KLKxHXw5ָ"i .]ƦsO5Ru_5GT0{1憐-vl(*Ttb)0xpiNPwPThiC|s)=f765x'8O-\ A9ce4xf)aȻX*)9SCEsRI$a'`^ݽj*1GcrUmqZrbiT47gjxl#UVT0C8Ӣ5 Ou{9rٮ4r*6I樄Ջz#IYQR ҡz=C9h门=q9 KaVeMt$ꛃ5#!apo5*ln5nchx˸}+K .szeU?86!cs^C K|psnnm*2eȾ26xFkgT hAiU1vIyק*x%# c(SvB1)j+EFWyW{g/dvBW*Y^iվ[)eT*;aoGs.qxqm-nz.4o:?xZsEUs5nOS^hQ tO*i0N(cIy'c@ آS<W#SPMny#5}ymw~Y*Ns.q19Q b|"dJZ=Hl5(}AN=HGc̹(u9M%*LiRDs cJ@{]@Wg*T)CM3G9&ϦMᎰ993:Pv"Bu0Ak9d`Y iR1ڂ}Ȋ̔D;1⭈s/oUw@ڔ\eBF8UB'ZySk|O Kď }IO]cdm:-T"9&^?Tlq0JnAv)g+m3ncU7|>ypmpSS+JohmkG Y5=Z14x("bUJUh+]T6x-dHkd4%Z.r)Xu2S h)7UzSsog7vzmHTm,> `4zXc5; lxNȠ!"%ǒrUS Xr%,%?[ 2~}-Cռ붅Vs`94N~g۱,6Pj4l.)9aRR(Z@Ca|@U<{"v 182*x8;w~yKOXSd\GQ)6VjԼc\s1RF}sAUw2+X37ѫU5hOd| uR`-3/F7 | Zb*ꅃ,iQBpU W yUl ;lzNUoe%¦q0n2h'\A iq^=BaG v=9k@U:' (b\cR'l+VKU!BQɡVw ~+TӤ7sUDt' Qq4.\1cZp194v"'N֟%OsV6:䱔ǫNg0<,}cy^is`8qb0Ŕ!#%P\ ṖRQf[7㘔ݐdl!T 8u`PB}z/7ʄju9l5ͧV p!qƣ" A&faL$&ytB'eM!"}HQjJ%\٪D"!{dj)5ֺ+vPg-[SuA n6g$pޅvk!ȃ$ϬK6{ksY(QȊm^s;ޘXjK\Rܲ@`1M4)]HAI$=*WYRC+c~}Uz>u_lмz4=c'g_~T._ @!ڷa@"U<^z_~~/@*0G~iF\n_?K_Ex$ ZUY>緈w~X\~z+^6#7~z5z]M0dܭhOAՍ_櫽K/1A .JT^z'Hѷ~VЊGp\Ki>?Uz\"EJIRz1as~'Mz>3юo ryBw6?1 >"[NE_/KYCRJ~?/1;r߸&ehk1;r)*ܗа oWԌ}.\r=JE~RT}ULFW[lsbp&low._EJr+֥~ z?c0{.RV&*[^(Korn>w kftbʑ??g2J5^*TQ%z+ֽ.z GzxQzo_ 4a*fg8éf2#wT|Ns>m!GЊٷϪ*GV R>Wj쎫Uo7/>WtQ]4??rEܹr2C>RpޜD:Bݦfrs2J5ϭJ^%7j.nja$8QF; +fh #>cLEޅ6鸍a ?螧JeIHM+ٔj`b*tB`gHpZ <²MvE87ԇii7gңY8cb2d+Xß iGv} 53m@Cu~/YhXq;???bjU?NvVyG3N& mVsTJ2u>gѝNNs؈<,U1(*yNDU8NI\.j3 OF&my+oqڑݛ@|5;F6mmχգf=JYcxiP.+,E+vlWE:qU3<>*e.Gac/߻ .^ڥC͌?'藔T"yϜN2m֝Oah6W^"9!Ҫ{2y%L"c/@ s JqnqҪ8.Pi)J.eB%qiҖ2=lXoy!Jvmy4\?O?Lyf_&+i9gn!T ,]$ZXtw 4vN_RU<`q63TT*@ͭ2>=?賘YrKhGC yC;D"ݮ3\4Yt!kEt4D*Ǣmlf!H2ҾOmW3Lh7+;z=L:̱حFf}fplhHW(Rp=L`Oa2vوe(  >|eN9)%Snoq}״"=&]0*ovK;Lg̳rwmԽ[]]"hT[Sa|%{bDlıF!)vy/>6t32j#+LmZ=c&F.[9vR&p`U [x8579;s1Q)q803cb.7n|SfmyBHIv?0PusNjq8bQC/2Q<\7=sn[+5ۙrQ:tvE2}c=೩Z_/IkYQ0ޥ⧺tY,c5<J4jzjp0į< 6oLx,E\;\y0#U3Xf2:/?ybs"@W5 -BPȘ$;P)pep+-@E ۱h ]616_,*s0}MojDbKTP/RlN!8rNEXS }}u,u7^w/>#a-x0z DG&_hX`AaP+؋|G!gh;AWAn&sKPҍq*%q:ypzvs@Ydv b\S?8Gt,ra g#TBcؼkOc˯HrIGf#LLJd,N<gTBsWCA0ےqX_?y1|\3PZg?f9\yGtCL6q:',& -ܼ{pmy{\ARk<^Sľ(HK-qRg107R> IЋ^[+\שjHkIot@-⧴7V,*9 R\UyTVuaBbƿ1 dQ`v= @WX3RSٙAkXZ~IZ*4a.iC6T,wlJnGDKu.j+FRlg3r;.mSyx{WgQ*Yt{1op0/b3M>YMj:-ffA3 p#_qa!-kCSLxyByn#Ek~. ⏴ ֈ RnOyxM w͌0ΰ[ܭB%ׂ__B&x..lDJDZh[l +5F:x;K+ʲ\yW_@?ISo[i<ՀܤWvFe? جck-وj([ݿf06]I/]dUT&8/4/_3+2GRj*AM O9bur*),% o}L20~5L}(~xِ!8l܋ßxfʍbt5ůKK=ԼjnmdDϢT3ݧDmLΑlMu2W*0Dqc%a" iEi¸Ut0A/vcEyx@} *ΪQ^ﳬWsbdNC=EFf5xmoȔCWib(4ЧZ[փ0)FA+t>ʽyN1lƯ>0x8gAl+lA2FI=C(3G1S48?쳵 1!g-j7wnT,rlN u㙀#_ beĪ`e-?t;xoq^[7y*srnR13kOeG ەKsDG0TgIm&"*.|x]y{҅즾"&X :F Z;/ZVrusx/%zwV[{5^E0PTo]{]|LLM  חS  6(~g1*ҹpmE _SpZ{և-5 ¿ܯ; d9Έk$i TR&~ȣCL;1u ݹv`! \c~%{u}1^2͐5VƢKuMJ)PցcE bX_%3^<ŠeQniGyJW_ΊbcgCg'Ɇ8\UJpz,C/ ;ڊe*p}eԷ s̭l0*Rw (J2V7dSY,\^D,YcS^^cP@n@ l?(ljivþ[RTcm,x C qz^ h5)okѴL@lk^pi03sfR!W{ruE0޽P7WF*pFS' qa#kɰ }u'T 2rxѾV /5i7Ra"ԦkSn DS @ߺjNf >=̅vfeԍƱ(]g/i\Ӌz@}ӦXiP&N 3Gr7v-h;AA08Het;@TldM7Ѯ8Vhׇ"t-_.#e PglqAvR~IV|_JU)wmF"rU*B(ڷ v `j)?Kf:+R˗P*>ڞX & iӨyzAn?L*vʺq:g!ZbF+Jx9eLьF``R\',xҜ% k^ 4,j8L3r8(b(d̥]UgT/E.AX7X< L¹8z] >&Өyc/u?h5SD#x.+y`tvB4 %{,”fǥC} ܣG ԏo X$wgYeCPa)D!pP=H !P_(w:x״Vf%F_/(J> 0 X0Aw {17drn򍣱8N58or=C\eTs\F*.iZ/""NCƠ6b=Y fFp'_1Fa,~^ѹvL%NZ;Ҹj6^Y]NKQ9jZy .[;i euʸf0S߿IN{KCg\(-~ fA`9ka.`:]bRl~nMw^ n)*,/@rA^rGJ"SwXT&Qi?X9d\zeDzE@濾 ™)uɴ=_i\;]>k#~7,b75tStpyMn%OG3⢪y~hLcah3veÈnV꾦0/y}fwf h{`r{ΜRq&HMɸ?|i4(, saky4 =LX`10̂^|GBM;(3O,Mnd,C|)4VD3l@v!`(')il"++(cXcJۓ,z@ Mw!RَCh9J- ϓlP|[.lxD(XcP!Z A* -;G1*̳Es+̶yS=:"ʻLjoe(#b[ ϼn:Nx(cWeK^)=9v 阱YU{͙;R=it%İw1&˃L+e nkcɺ5W_{]X73E)cNO[?׬~y3]pP9v')@P܍+y:L}v_ R9iCغ1l&MP9 3.ؖO0ipo;u12ͣ-l4W4Dte_aX#>ޱQ!YW{JþiN7eȩ2 \P]XI\ y[Z#s{KmM)%<ܬumf:Fߙ7uh&(RPlr8͜)rۆe&<`Ru6cY@]piX`!RH֎ =P;n=\3" AH\5'M GP*pF"_Dv8ʑ 59w6Cv uc`N,eBݢlS>`-zSG0+US_`INk(O#[X5n58|T[2蘜)> Rl*FI>:]zinwOMu_-R՘8 LZ4S(̞|J^eC8ԶMj80 kb:#䍥t?x Mijz"y4)RKHŦ\T2X4#ڱ݄۳n,'vY"mx5 ;+(}k ˿lJpo#/(lUQp8S5NC/-76j%+Lps0iS i:<@h}UӞbĠ~߃aQ7#*v}}7GGGQ$X֥reۥuqC1ʧk/X7pJuVo3Ji%FפZ:VR 8Vdeu-o=k@-.E~D~9j 2ccT2+fR-*myqnLeTEn9˔,5b] N(Q 2ݞXmxNqf/-WT3,LQa|.:-Ws&1BJKUUQu/ Xqc̰ K(uf UkHL~ "YYƷaSa3jÒn3908#_X4@5α}pt; q *m\AZ8r2ƫEهR> pza=75{Ģ2W*:@Z KoX%k~􉉧P@5RI 6UET_vN{7dfk_!N9%PY7ۤu!PSTBUroA%-H"2XVGIsIQP|п rB5.p}`!riC&n tKzL˘DF55+;O러DYElA -grl= 91Q+.%JSS2ӯՌ/^1!􂥀ٞ+hc^Ng>pdu9:M37+5g,EEkAy*lFQnZ~C}!WpwU7*k f6fQQjȝ扺:ڟȧ l kmAp@fC#ˡLqs/$;uu; ^S7+M:Cдۊ ;&ic.CgMU}'\!{%z5X:55\CQTW8fk>0  w,yB9<v1{ܪb6ǴW\thP c|z |6|qqgM9V:B ?FT9ה(7G N8 iw rx! jϡ(ݙxX2ʶcK5}i=u5Cs+Eqhj׈EU_)!_mK xb珙@r̍l2{9C,T(r\rCb\S'J[';K#؊!*UŠ jcuD5)ia*c̷muoAd`@k Kb1קoN`DR¸ , zb%骻AϤtλ4Q,|acEyuYֹ-|A9/iV^jTF/LOvpOc9C=?빉Pfrzw Ɋ<Z.˗>ފfM;Fh3V% P',-+a] KgDZZVq9D+f=f RK|7 1eQGwt9T'i˓ԏ ^O9Qt0 Jĕkkc:>[~q Dh<=&`{dJΠ BxWPt%T~{i(vnPF 5KC"H2\Wi'ٹ|8P 3 ĸ1$t} P3g.%{n{ -*k$OA<@k^{VF rŴo=wίhT 2v)itsrK)0RQ&̩[tg\k YmZ "gdIPљiӣ=}fgl8l}c.ǘ4*`fj\/ъAg̤pO35B_2G7QsʨhRၥI{푱at\{h![LJhcu>D׵L@3([|Fq<ĺq4#L^jA8}9#ѷA% 1K_V`菊j`JsZ, n5|DX t.}%ٜK^ p7+2TPjffn&b..`HԏJ6kI*hVSe+j>ePɖW (prCo8W"8"eXΐYMaˮE5\0QX#q1A/!~ϛ"BfAyc]!N ^ٍve(YA3CvьMҔ\4 i8HNPeLk^1,a. =!'V2r^XK֫`!*AǼ!u# -:@׹ Z_׏JE%1S-naNefdK;ezd 4')6;Wr˅)Sw٨ w {JuxB/fL=Jd2ڰဿq*1ײj0lX:jMޥ59=a_~%x/`=vf]VWY`VHhkTy?ݽo +,D6Kޘ:Bڕ ‚S$93k7WU|fiD5|2ߔGRӻvw !2'<WEo{lK!hvz[e1}fo~¥3 _1S_蓏*mR:Vp8qvo@ 8CVK@;$ eBs̛\AC #K䎉fU>&p*X/tpD\"X Jd,2e h-W0ֹW0-!;%.D!uԱo Geѭӓ MRPe/*%̴u89Umt'U*avC]ʼn6}JB GKU+xtu_tE,Wԕ_N1Tq1T}?NOw0  WlPKtK!*]He|ͽGl)cMÓ")KŐzEas>*O:h4Bg+/ DhlٰykY̺f.HJAH9rDWq2tb6Se۪K*,gC@%U0tWȻAD|Gg˒0qbY VZ0:V]Z")}Y4ltNyqQM13D 9ZΦbG&nҠÉg\$p3&%UI}J8ޓ( N}ҙfIc26w@z+S2sc,?Xg^c$FIqUl {_&Tͷ̺z۪_އ+D1b^gCpA\m>]+1`R_T ;sa IZ|[9s1"n 5CJ(auqݭP:O4.s+=rgЎ2v< HPn/O8sbA|0<%8^FtA9԰Zw4*s,r8@ hpgBU+o7NEq @w ѾoNd\W2oa0sI"'Ml)S30f5o,nQLBk84:i)LxodPkg\ L/wK./t k}BV%7kC7eÇ$h! xGZ6 &z?+LcgrԩUӴLgC1sӦmdh:N'W~-LLsT|z%-X9h[|%%Ur)Q:l+͗|CQC qRx; tJ 4_Y͘|fep;@ KcL '|z852w& 0&QڽY(EI#7ˈ[K Կ|c?R4ωe3)G Y2q) ?XVx|L`QMavMҀ YQX%mpg3M`x J+oˊ-0_k?_n:1-# n*vjs/jxO[U :_R{C|S5IpV E[ tDxALZ22FAܹ§KPv,B FNVp?E}f$;L; K_\w۲sS>n:^W3DsMʲ/OB$Zt=|L"~Yrkl@BO p1R¾H0M ڨA+mħ荆qJPz8PJ@59" C QIT6yn.v#\φmmQj ^s/Ky#*"!6C |J&֘2%ӈeK%0y[x5ᙅK"!^b2Z2i˙˟ e)Eݯeqȥ5j,3]lVN2ƫ5bo11u)~gz~"r_I{( =sɃT{˼u~)9g%.XE)Lf |XI~R3/WI!=#)):J^.Zqܑ[@aGfiޏUYvNndE䧳LTTJ^qPY%'A8b㼩WM?1%V^.Q%{mpSC;#0$ƈWmTˑ5.ԡ7QU~R,\6R!:]A V @x=}fơLy#=pSW A&h>LQ,VY"u9[v)̣j2xf'a'Zy23#v} ݡs"l=m9(&%q*VT N%x[~&%~Sx%x X[^#ӹz̫S4dv:CGPy마NYНۀ.VVD`r }%z~ ahr1b ~GRSvJݵs2>t2q՗z9ˎ𣈬ll_(JzrӨ>!R2z03gY>Ъ]61.5Xeݩ(/ӈZΦK7q,Ctu3 hQn}2)eJTfp)Й+x#3_fMƷeU{%T;·B!$3bkhr{w+'94d]NAx=j S+* m9-`u8Ҿ%Er|D5 O̓){]0T8@<[F?5@r⯷]"-X!O \`b5Y6lZc`&rbanK?@FrE a[D6_M4 JLq3+yQy=">龡+'%G70j*eHs=X2Y]~ muYH}‹28^Sb8QT՟hL#x9Zxk~!¨|\6$p }%7tK' ̎YU3rzO6Jۙ3P ү@f YY޸] a2uC,hs ;,wcmcP}cNC A0[qK?(bYiy 8G8{xѴ+ߙ*@k6^N\cqEB0 ![4švKWvPR\b-WB}Eܶu<ǰO*O7ַ+fvؖ0 FkSb^ }n͋ףFN5dPNY(/-VT#oըfImn6Ʀd@B_ISў+:Ni]Z2^.`Kex?)J2uM%b yFXf%D g)k1!jwGO*usn7S2wI@ʢ1fs 2RJ6R 7)?Mbfzn'L"&E 1'z!R^FK!}Iӊ ]bZ@Jt$6^.v3+ PIJ)2FsYi+OUVMyDK_dǰˡq9Кa va-de`ģ|Z:=yo`Xw1緘δJqYr^4|t乱G,X)X,S \PGb_I`cv&H9%V `&6ʼ so꒩ 1CAo,))>,Ez-OA g0] aK֞GШ1yd[T6&؏q ,t`G_&s19Pg!'7 9 fwg3I.eDc>F)ΉLWY Y4xL &,m2weN!ĽgTh仪LqZMd&Xad\1243+q 0H)}QJE* Fk"G>m>ӓa!"{ѝ}i  pLXQ\< /o߿݈L 1 !y 6`dӻ2nX)^,ZU2F'2q}rTAaVUNжYje\=]fFYږ\/3$}.Yr.kCNh ;Z~k%-.;!Ny"}W&#y.s(=/wؘ>VO#jiЇ 6kTE ETu4,}AGXo/uܕ9+r8+ a!eM1$p0>"Pe F\g_5QQN;C [m3 ee_pg‡SZ|[?dfVl8-mJ{2G\־g'mSM;1M%ҹz' Omkn`/ӆ?D:ԡCyͺd -f/Qx_aZuJi.WlDR=/*EcnTL}!=WXoC|-v3u9k5"y&|X,\;8`<,GCkDܨ)v@XfEL-"\*s([߫}gC2E%:*3iPX9ݶf27ԗ6@4*c!ŘOɣa _s+8秆i<6|\(y_)a{,'78;[ O{\4.(BQ<!/oio.ml)2b!q d˿MbfT0j[he]hyD`/3w~I\^(&,ےÇ'C QLЩӿĻe<& `1/ PwQp=YY|ŝa1nZa~sh혠IkԻW YYu\J.uqa).A+sS)Z"7u.!ʤ y{Lyt˭}Z>k)2:21yu7K;83Ծrena4zz1s/G$̻Q#AX%te}"Ef51s3[T/j n6n*g5*+iNP.Q" ʳGf;Fgf6Z7*ӯM!y6d37K0JƠVvgkk kgK5\R]w2_s,}Ha5V(ԀYyS%_ MIB=XP,p'#l%QuSN}FTZ`A\p}s*TɆdٿYf<ޮekΆ$AϼQa)_R`~ܰ5gl0 0=_V(^@|Po3,s}HfWf}|Yf!~ l#"eHg蜲AkѦ98B2D+R et3p2IbSal˼04#7qljۼ@}%,m^rÔ5 ^&pkњFJ0@ -_/_#Gt=ߥ&*z&~Wa\תvj[3|g'̹,a73ƜC:u3b[q&P;3n٤~f4l#h0;eN$.\׭Ds_nI[L($S#jG1:e[[a :Mߍ9sKG1fJ"T/H?TJeB:lqIbgpWl>pd9VѿD 0FZ\8L_iOyuTՇٍ̽`c6#ӬxhT~s-Yؕq3n2J`M3*?b }#GeVyFof<.0˩YcÈ0[N"Id9뼭urK.˲[)A=Rs9Mq2#|ͿO7~ʂh1_mk#~o05 D6Q+_8h0TA8~!In߹+sWJt:mg}љ=xVfe{9N_Z0a!b2uO/CzMl+c*Xbά>@ĥ ÝJ+ҏ~p[s 5pY͉OɹQƊ 1fj|Ҍ bz<.;:Cp8<ǡQCmjqL ܱKG J/B+W2x3e uw5'ZY@;ObGAylz˸oG,_+MarV|E f\}e}B,tg>'򏥱{YC@;OCs&q(Yٹlʬ@]IONv2^j , ^tF%/JO-6F]JD!n5۔5̱ooS,_ghe;ןJN zX%t/֏T$+g/zCP5V xP/5wpVj㯩o512]-#\6u0BqWXegEom|EuS"J-Z&k/gLp2ZMYNs,F: r/w}6l[xunU6D62#]R-n+"bS۷SϠg៊4CJl_ Ŷ*=SV#|33"9pva7U&,-JjncG\5GflXruE 0[ \<^~YSe-qybX5/\?tI*o\X*efؿB[]#dOywNgR#Srňs%0?(, M3W_i|c]H;} PsSj$|ɣm+ y>ψSs(:z;j=G5yFTZ^ 0WxYL@PTIR3#oWaGy'b.\\cޅMS\0S1pŸ~?lLfX/?eMw ߂ozhu#g`z.,0ј NB 0f<0S~+@nj癖J'i+9en1:fjcё0Sƥ-L{Dys. vzJW̪Z2M2hG&68F,hseCGej]89V]X[2E~_> 2؜dr]B ۼx)܃Ŷ:ܲ ecĢi{\G<aIȕ/+q.q*N!O"V$1}Y7>VܚeGcuocBV0jwcmh,By16Uvv< 5BXLy)ĽVx' Fr0XwaN.20vgcQc4H>&ǙytKH/_2,]#-ݼ̉g)Ei71w4Gn)_ $J޻MGNf-SamڋE3NqU>鈀PƥF-i=EvVF9-U<7*~Ia-ku21O ڐs#Z5qc1B+9n1@=tӆqʩAyw,ZÍ`+os)"/%@ Jή%^L6/yA,iT&rSrwܥGgICבLOgfg&0E d4;Sg2@5fSAD:Wyn zX#y~U7f̸X1G\U{k7=$vCATDw7q1ü;1 T'RX0;S>^.' %pZ>aH:i*q?}=Q J.:J(OCܔf#I 0TKHY۩-e; ިL՗A7.We20tv:ٝ~g0*ߖZ1!LqiC.gb+70p`UjGh9G[ q:yr,d|Զ 㙞 ?=sq&Y=>O-n0JaADj~uMIk.vDsS&Еq閇0Ic^f)q^f9B\fu q 1+܉TvJ{&r`擴^U~s0Bf nTEEwԵ2;/~p:]~Rƻ"#:OKq^%s Tc{ʰ~띟SЇiv G9obvche\3;@-n=#_g̹Ri)}=ƍP_!uNn{[KW|JHXv1)fC]MGw ޠ]ǫ|1С\,xX]cu /9Q; v2qb^%Sat);3Me|Cr9*a`3^nwz.g̥qԮӡLG? LRcge8άܢVxR/y%<}Q==Z6c楛8L<@ k=c9 %)%Ǧ'3~ g>˧4coO9"s7ـvXwgt#ɡFJҳF0І2C9d¬wjAϏI2B.(+)Ybbnc+3G0X;ͣN"`]7ܞݝLЅ(>DžʶQ{NjS]S]B:4x%,U0:Ϣ>=KVF}陔X+ai3a7yvZ4 )ڃ[NDwO^~#ѣP2:Kc-k.Ȋ^k%2\˄szjLL1&qqʻ3dt;MADP+c{jh ^&Z^ +%{âh-bծe~#5[PFcB2-0%n2{LѼb,~aSqȫU6ī6ʋQϻO>'N% '1y}<¼L!bopsb\?hz4WzQb{ b'<]#kUQz9+-+Q! :1MOE\el_&wYMGImOV?812zƹ'ȷgg3LՓ` 5R"7틤.`NS%ʆ=9 wrzns9ۜ_[/iVcF-oXm0MR <>Dqǎ=Ftxϙ]5s^~gs4+7RmPV~jq (P+<1#0Q vD܎J`ZV{5I5h/9$sQ6(;kSdeivJQbssmi~c8Ks~==" L32cxr-LLgN`2Ѭ0)JDt}*d.Rs0q]%T-hJ tjLtOi nvo:6A/Z8Snڥ=xiޱ7,F 8gZICلmKY܍PܳWȈM!ꌚ/1q^;9h= SQ̒R,NW~T6޾ed1~]x: +]438=Ǡw cQTucqb2[zIk˰B.D37(wvy*3g/K9xeJ; zY{J[*.)^%~Ck8ZW%刱m3!0CX/LOĻ,>J}(J%Td~H}ѱCf/a'S vm GInw bs-ǟS!d۝RG>5Īnc!vaX xYUJu\o-;17K{x/ea}NJLf lN*4#| ]f_uwswĿ 3Vlpg΃!B4%,Of}7 Ny%ܓwR/ѯ^/5 jsң屪˞ۨ$+2f]RN/9~+PN*@sLĠ~Bʀʥ ݾƥYUoZ5,6TgUBW jU[۟H*Ú0 &.1p#ڠWAiB]~0}+db ]vEgh):͈I(`|?tcQXDLwgNɨzae>S718w h}Y3T W:?Ƭ{況}0lpao$t6C6}fW_9DIg^LgP S!h?skZ `{|5P{ m!g:"MLC= Y}q+SF22R(Ļōyo"&Ne|+-7a5 48ӿ_ގe GH˸+q`'Bgz6{~=XY 'tD=1OdN7AeTR'3^YdNDy&} z-S Д3{eG {"[.o;QxkT#fMf+g0|*KXās^Cܖ3~bm { ]=u8z)ܠh+1]]ݏGc(ؚ51@iLx0f\RseHɁ͞bX㈻"Z;$X(:89O;b/>}'髠> $-%TuY#MXbep pFpƝb")<^.eq ON\)}!3p {:VX Por=4Q؎=As X(^3<̪L,}ĵ% `勸<@z^2Ma(-lG׫X'BVu/XqT[IQ0&UNV#/f$kxzzkIe724yzo2Wa4@ vt c$hY9ε7%w% Aٞ`H8'()%u3.~4py;.Sxk՗fSobѤ̡ 萯 (gs˙YzC lp@daLYnk{f1vnK\YL:K) *K&,ρ~gmR/KdQ=WчCT\Ks238vp#Ib-c>P@a&h%Fos~"s"Am1L#,D𘾒`do&fqQA4I{ē$*@Uڍ8qK[-j z mtq+0flHg9pL )݄v`c>#<х}@p%ncџi"T1+u.+d^*P1n}y#SL9G_eu=݋1}aD>X6:[;YzOОIwl;AHxرQ-r ӇYi3Lt^20E3znsL0i[rvwNc}7\Tj|ٽ ǥ?2S!2ƙ]#fK^BO1,KJ}-W傰xJ1 秴/i 0Y-}3-(h-N_.W!ZU0UҎ(s,50u3(ryl k? ; {,AؤyW_>wij .k hNҜe8/ܞDvҷ/ C6 e1h/T2n!0_ޑj"*ܗ*-Tfx+`-7D.w*_Ϫߤ12ޥ9ͶOy 89yv &&q4b"wR%Lm_7U(2  2F̺AvT8ZT`)92ֶ̠w 7r].XPm79A3"~浘 }(<#['M X-̙U3Q^дP Sh9>m|])5JhTuIPY-& s49ΦLŲ yi/c%C}fZzz2_K=cu7Eyֽ1Ms;&,[UQl-o%T؆ ;J`'0pԾ:Jke{TJ;s`5(<] J ߈^wV%<{\ʧG \2|Jo%f(c~&r,W5Oiǘ`M Ûo%h !pA(`1 (CEch,_i5Lc8O*Q`M B 2BW(Uz$0&w˳` 8 k3EH\u1̫W FڎT蟑ƫ76Bf~4kq5ƿmX4jR`)rU&Kd5_hMlalLD&~pr$zj8g%z Me\eFFiӏFopz03]3ǥF %PJi/^s|"4Q.bb.1V1j1rCzЍ5g)}a'I1ݧ[L0 `T,};jf#; *uC*5`ORܑuҥ, 5X(s(1}Kg@QPSL/\Muxj%fbtnKჸktXQaW `)!_ 'e@%#6pfd,'w-"* uIpaMv*rf.9"eB5ǰu! _J+9^&FS̽4>/?J>Y|jjcY(pMosuj˴"<: }BzMO1ǯ2#؏} <z&Sy(VJ踄N%WWĪg!JMs9y#pplЕ¿4dǙm۴\Kc)xU@(F>C\xZjc2AcW-t3aќG.9EW 5 3bi2rܻTeeЗJXBU60"Kݱ`?/7>҈"1sZu{nb wipt{ʑ1Nc*Ѡ/rfE=b^950 ]Y* pq@}e${"QI4cw#~ص~7rfQeoDNefjԫ~!cN.fp_F%W9fs*gʢ@:Mn Ö9>!Zi_AwsQJ3̊Cz0Lquwc$ aԮ '%̹ ֮Q` XLjJ?;1)rzX_2^&&aRu#hwacΌD,%Ĭ-aB;-L Ś#E"d^gmeu"Ըe[M'0uVBb& (Oe|&ԮRW-~7%M,;8`:pJgH:8\ L5u Hu5ƒGJ+vk{RbQK{eCw@^(Ꙧ9D}e&ۇg9ɂ:!G0)f}.{C tq.4@0g zF0f;.C`Qn7:FRʲl ` ΄]Mb--2Hx"NyaUѬq3pwCi~!fsG63E{ť="[~AzNO5D 8*ݟ cKs=<Hi L_ڗ >`Z\ 90Q.C<AN8 4@rcw_lu,>{?M"򹒍x ͬJ2a3̵,Û,S"YmJQ+3SҽN`9ԋ1hz*i2fxf(&ebpT?V X>f/<]j1^#JFGBmn1`.U #k *?Pmx<gH7C ʷj26_#3D_KF8f#cҨ'hdI^TJb1 v&&Z͕ ip5;tPTXqslFi#9jg̨w&& d{N!sewk~_$ Ji#YrPUb;f"/Kc9i z5Z=<55ʢl @|,3*>铄,9L$! ϡkѿ]>5˛Hϣ~YjQ1T?uۊdڹ2^͗bc"S''dNMxA͹ _hP|qEcPlT jϰe!.-;yҭi ]r\Acۜ 5g&Suh>uc3}jvBb`.zi G702gP̪bY/=QLh0 d:KkY|3cI!\j+2,GXvc$!8^J:A^3:B5DrK<2=BPXJC8RрIoG'P eep]y _#9=C߬2F 6i J.g/Emr>:=(ff,tZ,C3ZoE)I@~4@fHĢOX8|DBɾrDe_X9 7! CC}>"TR@ Yߢ\KĪ7d73}bw>YFRS*(=sa}a8lje}XR`7M9/Ҩ_yd..k d֘ W^0,%J :_XY`C/A+Sp34#Bimeqś*醥0yk:53b* ǘ=Jv2GieR$\QS}c(ێ,`)ŸH<@nJV(.sA4u7٣B\oLs*THzWTR\3} Lښh|]hk,4*k>hNg EKzi~Ie@W@/Ó@`gcѴJL ~\lZmm[򩢧91;s;u(-re^]18"WA,oi%·lF+zv\T,J0I>JNJc9%WZ=22*ehZE=AUxQɿi}Y\E!$վT'DycmpVly3( FKt40bS<:* 535 ]~[:8=>2Lec^ԩY|76^)1u/ "WT*.UI% o3 rɛ9f~Rnl6̪-;N{6&-Q>%t59 =SD} =35aAy5*Bh+mX7q/.:S8 n[9oPw+טp)`]_3c7)'9әUܰWŌh!f&G"^L2ZhДMZD:y!:?4Z[{gK~9 v>O%7|K_XGYYLCO}X=e*!1AQaq 0@P?/TR ҿ}B.\ ./B.\r.\HAGqcYKH:8Z- ^ r˗/+.\peƢtr/~\aU@˗t(0Eȸ.C \(HL :?rѹr˗`˗\ yʉ 8?ĹqK?}<=1[3=P@:J333a!/_\r_K.__a6 uG=02/aHtFTRt*S:$r˗*ErTJ+ tW򨒥tN+RJRQb躃^eAX._*T}oYR W&[`UiQCfU|dNL#Ѓܹ}.\}_}/*J\qbqܸ *U[]ZS]@5T*TAper˃.?Q%tu ~@6&B1s_n\Yrˋ/(zBTI_en-q!c ҄_*T\/*TR}n\}n\Yrآ+miHrM%JTQ%u*.qt#lhtCۡab=0ƒK#$u\2չrοJ+/qa O)D8f՟~~%uRu.\} _CsGAp /u]rUꌾ K.\Zҥtj$a0^J`Dfaf#% ;ch[$]#|oM*!P%J/lJJ+e1_ٔʘrԯ}.\r\}*T+ + l|B涞 2#ԓ.5io_edͶYr˗JRq ˗._\QǢ e"G>BQ(*$p`˗.}C*;.\r\}jWa:nΠbi{x* +u/K -(,wF* ވLڮMsX[n\r.\rR'f/6XvkLJ< n㺪eOF A* M\a2X\uV+d4U!"`w2yFXZLPr .CGt%n;]*B `[ekIܴ(䟿撿rӹ0z;T0Q8HTAi,splXUo+L`Bj|ےpӎ^vAUTUr@ ݩxF- ҉6X`JVt*422tr˗_r J*_NB|gh6 fc ANs%$5& 2]FE\`awt$K.`=//]W{rXIPHͰ]/l h4גBlHƱ#߿ig~0)#Q^B}~/1~isX(ϘK? O)׼ǩœ| F":_*W0e9꧜ف!NsSUKB:0 !JoRv00B#< dSxKY/d`y Ц^‹c^/ e88)Ef!PӃ{0I9!npHW .,y贝0rǟ5r` P{ioPw8B4)ōj*k+LvS2riʆT =o3#Vf ;+ODA, B!n=Ņxq9MBϓ=cf%n7-o%[*ϙV Ru}@+E?\rѹUnTJDK1V9F$yQ! ՕbdaR8+V-)9KHHW>yuhw$%5˗._r.\W*\+}vEzd(l0(LZ>_T0A r|m,%Zd:Jk#s{|22%baizIf; R[*r9>0m5V򚔆C~f YuӮ 7 BhrԿ.\rɨof);`S# " X' 1.Xq ]S!qr#?SdHrX^ ̏:5QtuS&Gi/v/99IsXr?/B082Y_Әjg?Ws[O*j]460T/:=e4XX-yJIv쵨<̮r I<1K˿}wLx)P!osAոm;:QPJ)^׵6OD*& $NJ_E4^ ljRҹr$RPG"DzcUn W]JRU[J*7 q!k~JU7.ԫFv)ح@%괡_.;3yY7CՓ.J pS~KCβJݝ[ Bo_*TIRWST\z,<Ϳ;#i}=o+o"L*Y\ޞC-eeuIyW*j& cvsA-koG ZP&>.(14ODVwwwzV>+ @ ү?#P ZDHqV2ŔN!S-_C8xn$_w.\_wy`堨5SP=[]Uhߨ+%Iʺ!^d"-r׹R=Ve}t#TWM} Ǚj'kLPY1P1 #c{j0{B|l2s0e?Tf4ypwFoʵ 65D"_ '%. C@mcǍy~&mR{ 7J/H N_rr%J#/^zmm^4Lny%Q3''=8MAoklJFNפx-e˭+R[Ÿ.Uq 7.\"UmIP`̺֋UAZ&K8! |sr'ĻN**WG~0UxCoAMrR)Q 1ejleϭTZ\ L RԡV( %r7(򐥗FJk&ْ+l;nT "^6Al? QEB7i3NU z Jkk0ч㔙f}X=+E| =Cf⮾kC?5JӰnJM$q 77)RV9Db;g{3jø ^ M!{J&ST8b0|}n\KrkM ᙪg`N%fi)nX\Bh*~An?79^,雔? 2˵`f+ 5Pmu;[26aB[*z2,!MI2p9WBmc,tzWr˗/L[)+ZvsCڊٓ:EXJcjnݔCrw _L܌ؽH)ݧ=@;pU/%QvS98㜭q?wrSO8L]aY#;wѥKiK)c7)c@L"/[1JXP`h[y!EboeZqO{C#\_._/(4rRJ3ʸ"9b5De]l"I))?v2ª#bu+'E`⇵k{ݒ)ǿ`BW9\%V, ݕajk*O*WQ̹D׶:G{D|Lcx| |Z u;yϠQ)2❘V0Z%>' ¥={9 J^rl!,!߸2, JN-`!b`D[QYvcf`2`)q77gSjB6>!ݼk˗/r%]*k#rf7ӈ4$57,`B4#*e)G?,1̺"ިʇSk-tTݨX hEs%%==u<8c;y$Iڢ_O37`|& *u}HTj;?bielU<dHcC,sD$&651ah-`ERJjXh` 2_D}Zu> Ha# ʸƔ6?}ʘG$KKK< r,1 r^2 1â!:^qm̗zi~!ME{=OVHv2Y._}oQ2T66R^}H?~lEk9S }eƕ=O If¢0bXb7sv<.\zy"C5olLD\!6 Kr}o\r+øj&ʣbxZr66.0h#M`킣UNQ,9 7ZEZhri-,QU-_!b_r~LEN% Y8Vˢ\˗/w-eD dv>'iዀ6"C=/SP3Co?ք׾n6'{A*ntf.ܼfg[h4ݧ?n豎!}X4Z!)J7fdg3pc+}ށTN8M{d0n䲂csΧm>"[Sߊ.ϧw r˗._J7/tPiI_ ɦxc d5c0O5Jk$BVe!M[FwׄX1 bCzeӫ@څa pd瑗y.pT>Q9H˓u}ru/jW}.\˗/_[k r ÿc3d0EoUKh0֯f*|b:neоY ʚQMN#ZbJ||b#1!b#IYb8a&£0Uo!J^7zG+"+B1vP/Sʌ_JVRY~S+vy!TiBɸ|[2%Ɏ^ kJ;[C;pTX:ZWbam4ps}53c2g[xh0(bP+g>f~#j3m Y2BT1Wous<L4~Xu *~be˗/\"i&)㝻9_k'e3l-a8/ A._^,&wRHϘ+ z3b@LTz&^G{jig鸎ځM/o+3 ԳRrd4BM :nI++Њ+~(D,)\Gn<:e1w8~f7\2}La_bm5 U8#22OUM=хJ*A.U{\+-ێ5L?.L9mJ0TJw?WՍ]^UM^Xy{6(w," Ev ;QB|`X7 ֘|{JzW|2W.\r ev~ }?|:Vb<8}~*)q Rӽivj $2pTh @}e0w~=Ȥso!SyvCq~? ," v{':#&jr Q}3c6 6'j-MرSJR&tt<^RT>gץ -GDqKƭЪqUqy !pʏ"ݱk{Q5,?f~茗U]߃xbݯ!T U?uL7LI!n$ϯw/u@sɳFpb:(ٜ&v<-!Ji5]ahj|NpqG7īf-gzWXp.FX}TD嵍/\< lwA-R]ц7NX- i>%tB!rls%;.rRJ޵*_|U$WoJ])yM3cOi8BG &)t"J6K* ^pk$%+Px}Pp+ T&IQpς ئ$c+i v0Ơ.܌bW!Zq4y!YrC"b6VHJsv\?BG3v<6b ؀g!|0GXɹ&\  C?8drSl͓fGo$e)cZ5'ҩO M[RRw3ȳ+x7e8EsaqUeFEApJE$Ko }o$z*hsk|gs(J.f!E ὏ `,yC}J"ӤKxNA.=]мɦTӲv34=(+ T1k)L`XR* (+[_c3%UJ][%s+?ځ t(4MɬnMe=̻@a@Ƽt T's>F½ɞ?L.U}FE[%y8T NrDB QH @m$ +xȕZ3@f"3 &11T31&tX#ζ4d 5/C"i UKɖ/0P_{k _o,8y^1nx˲1f,u+VDt5߀)C@<:g`pBVicАѷ]ku._lwe[""mƛȝcpg[}(S`ԯn&N3ɃFgusf#0eqY 0 NnuƬ^Y9 P( lL@N Өy8M<8pJMn 036S4\9u-g CWkU˗._KЮ͙0mCE %ak+>M]1~bs,vCΎ dx=8LZ00ො^o |=تUDϴ^)7V\^Sұm (> bjŽ3 1k'#Y2'FNQP9P'?&zԩ_.=YkіU#s_H&L(szf3ty5`'Qs4$4ld|cU+w F1Qq3ev0KȌn y ZjF>X{ X5EuƠ/wHnͷK7%$U33U|f6cPaM{ƹn)7Vþ+/m`3N tݚs~ N`?*`rU'(Y.Ԥ1#،aYGm) X%,j*v~ێNQ{[W(!| Ǭ Co5W1Q3HsX<]AgT6?K*OOWm!23ow=NB/CR[%L_ aB˖K",Dl4oX}Ec{+NC_ <}#цH22ҊPB EW )X 1b X- XD p3v"adv%j ¹ca-Kޣl;Wg/ F/Y&Wj+8lßlq2N*YN0_7‚lՙ> ͋!&צ,[L R>Pq%I/P'ǤXc0I?셞*/aXA PŶ im>J4PdZŔpOP[,߄Y@+UeeIYbSukQ3`e#Cp4ªddcMU2VKa.Wc Ԧg]7Byxo>=h~6~|j#W%.15Uo_㾗/꿃SWt=_/10)tx ˥e?T ^~FE b ž'.lT<69հVDhoL4nk_-Id`66s^t+ )Z4i 5`[dޠ~Ț[jA1uNTSBhƫs1/&cSMiLpKxqV>+aRp!/?bA6ʬh [1gNDZg?_V5N4jpq;|E=WR F_'/g_1 Vo\Ꮏ&W7J '-UhTAC/"FemyBdMe®3p/Zb?Qn6a@$2Nl8#@9le#.!9pzPXIS +q*z4kjs?8.Rv0.Pa]438gI@8 mfh<4T$݈^/A(/mmyTXmeI{KfnԗUf%aܐ[-N*YK c'x녮gljbqw`wr *C[cpɗ7lӫy X0̉oR^U]2 k8[aOTk./ByBllNDǢ zr힇_ORkǘY,J;MQ*˗6S 4nɥbR0K];*y<b,WQ36 ]=t|v `ÃMxC Ac@J3{UԢStcU 9=gT9S 2I?C2]ciiBhFfnb[bml65rexLULY>8(j.l\1UZDsue ,MkEBƞU_%kbvqQ&j^,y82ZFh"-d N`0;lmr wREE0k`, b8:Z%ĻPklN;c+8e_[wc8ߗe;AsGvW඲_dG¿~12[ǨZudҥ}]+p؏@ 0j_cVgٙc:W}XF6W JSpߎ*[Tp*RKr܊%xnʐ,N3_b| D4 Xp C" \iż FypMd&Yj` q4t%*ʇp_`j9Xv-FQlee~ tlbCXZL)DҳErj-<8\N&9cx`51F\YcWGtn_5ÕL+JB;aB hdI|vJHgjbQDG9ya`pfzFԿt 5Zu,4Ŭ5z׹Ah!Bj)V4h$vn+%L2grI(Ҷcɗ& 9sPagI{@T)(xuZj'8 uݩ{@XBȮh9HX ^E k0,- `J?-R#1FU<{U'h4@ x@̢ͫ>(s {Q= Ѻ qIW`RgRPR эoe4GMQ«k:iݟ0A@!\mB/ٍEaEFy&]}7 fMxaBw/9_-ƗOy mf*gB'Nj#/rղ&e0`*#bz^K Ib}(ow rH y\RІfҲ0m KTFRx‡vfPw}60he Wn IJaE1Klp*6?K@ݷ4'Bt )DNOnvBrPxizI WEoq3_;edx旒3Yj^NVvޛ:Ra34鴅Ijͮ$M[WX{"7堂W;Ɓ`8X@+eBPbOk֪hKuhYWʦX[0X+u)\ؼ*˭AbRႋ78#~ H19r\jk_eheB[4LD9F(KYnuĽC燹Eu`m?ilpt_vT`L_ ewXAXq$ե>X*v=H ,HU5pXRW\]2SD#BXt)صr*3Gyc_/e]z^a_)A>)1MATi&*-ʋdٞ[< ׅѦ0 3^EIP21|\ Mבw2xܸm j~EcwKu8D \&<%.-2z4(F^ ^"ʽT@Rv!!m9~g;n-YQq+ U:ז&ZY#T;1KE3ZOoGیO,C~~;_^o4D'LJ%ƈ@C1EH_^C߃hN܁i}.b_P5DEKϙA8DYMiZ̪ruX@CIZzKds X.Ȳ1峼m1L-n YE(k+P\Ns` g5* whYfa}Rռ9,  o^m|,CTc4B*۫?@ qC^~+pbA1X[ "98z6w u ט[39:{wB<,_>ŦNx8}3F{oL}:φʳ)| .HA/*%)[Q^gWjZ(Ⳙd6^9dEٶx ?8Pq~nYH54n!7Z/,%O J:vZkl]=einRVJ%^V5I, f)I! [  Y.aC"cuF%+ڥUi4NDcsPG{9*YAv9p"` ~3)$L~tB֒kno0缩-Ear =t Ҹgh n g 2:*Urb#IG'r ,b_;JSP"#PET`5ⸯ)2,/cYc/L3h@P _r3z>5b]XXW֢ڣ`g#RF@Xp ԡanԘ!U@b--Ӧ̀A򈣹c0ѷ@p9WBAF!k)"Få۟rK.K$jŀvVJ#] n"3sD*̠74Ns) 蔭SWd$o <Կ vJn{1Er_Ob 2vCcp{V".yb_[`j0ૂ9fOӦ7h+ǔ{Lr dlu˵>l|&<1;Sa2`+54qBn|XmVë;QjsX @LSVDolJ5}a\=x͐x?.ގa.ʍ^fIR-E* gf`uD0B` ."Oz(K֭P#$雄R.+W>e7]-O-*PY)36\(\J:=(sr*"3p."rTw)6`F1r /Oirso=ATډ)wOhP_ aevPN`՛ٍXچÑ S^, i@j ;ucgDV ,3 Qp=Owq`,s$.42? G"vƍRryʖS]$DWQ0ȞA`Bn{z$Xza[Ь), L{q XE/3F2c ^'g_$շL(fjw nf)lD b#~e}U lgdm2W Eh\ybB[VD.KeoK(X ̝)/hb6Xskx_1Uu&4TbXUwtx&\Lr o9 jɄ"zk j2 4AAZr鵹!#'S08mM׉)ŵUǡ!)nO1-n\5(ܟTG>TZ\czTv 0@W1 @0mRvRtdJܼR@F2"54BA6(gLkBiNfRQݼ*0<,805 g>=2R/m/5Ev7;"79n 32 %5Щ3Qƻ ȿ "WյGU QSN-·.{ʞm.WjN'Ԍ,(ڰ`Q%,.@|B O[igOx,(cQs*8!A@!Z\"ɲd vvM(hM#$=Stϑ׷8cZvF#SOLِb!: U|P*VZb֡O+SK/cPx r {/"ٽc30a,KTBf{|Ӵ3Cee\[a0ivQ0PZl3\ҳFc Pg VJ.`Uyq=xu+46\h+ m{]xϰf@>#v㰖)^V.1I퀘 [XٖuZ)`&l{٪9kGA(Uut@]T+y_*\p=fZS*X~p܅m9m* u3oԷ+m!Ig7L_buRXj}Pϸ's7 b ObK#~b-(b\sLD, dҏtfR/;ui%^qb to!PggkXAScNC}ojHb1:fKF qN?.e? qPi|v" &bKq tf"0b]>#V.QpswMcz,@[~b~Q骸U&6 [!+/}azHe2f-K8q1N֪UNSe.,7pDh>z%w497a*Ulmh"sb k75{bP]Q'Ee5wO+uUDwfljE0[w!,чɘY+[؊A}/~]hj?eAgQ<35V' ;o/,lEe. Q6pY2 X 7*S;.+־ɚAՌO.YV\3^<#;(F奱O~Q򧐝vX׳*1v0# M)FhFfDfY~߷NGi'AKq 8Ɛl}V;B&񕯍"D(Ͳ|BEN އ/t$e[CvdCL MYmƎ.TWp =xүew@c%h̨UJ5@Ҧ)pneYJ0P-"aq`7oi,!bZ+q( y9Y̻q8R e8I46eY"[RsHhز4A…o^p^7ܢrg2ݟ\;.ị% l%B`QyG\F[[\% Ơ ^8DUzUl*D5'1EW y;p56b( :7v~(MmSVn`:VB+l"o-;̸ՋL:D, fw~rF#: ߴbΘ%&ILdJq \4m.qv*ٵcDW,3,ᭅFBh@f y7Vr1-qU@!yWn-ET%hY6S2ĭR(Kl.8n4 'l#ԸF.c>cVhj#( 9v>nS(ޮ+ L>B,6:Uj,LS^@fP֕ y,he*5dȇvQbr#SAu0Z{̿ĭLV(6/zeо%r8r4#-%Rsi̳<_/CY2 >ks28{K"\1l^Ɲ&b|i!X\H`j+,B >a* l׻.pJr@-¥Uo-SXR7[d3b5CXams2}43اDF2𜟨KwEƍ/Z1Nd2n'޻NTd|Mx)?fm][~ɗv% Hߒ Ar‡1iмX4X&ʓA~.Z.GI^v|BUɘ_4Kڲ,!A;( (`Sd+GuWtq rZSW5UCMRPXL1m8|@g8̡tlm,]ʪe.4M1}v2rITĭ9~PH߆qdhFܙ7M@yUanEE1lZZ0Pq@uK^W gWA1gx-S%n}Y" "3;'0h[Co-("@}b_mANvNo࿹_wCINvGL슕h?/v|~ S~?a-XҲ+?0TZFfN/E?r1Jⱏ*{ؽ1.U.0s*xw|ᘤ$~I&]C=K0]'ܴ 9}x2i4Xd<&Ƞ6)|d3c .&N{\UԶ6]V aшPA]&ͭZsSg򷃛2*M%^M&u 7bV@/rQMfDQÇV1q8"Emw+_{&$J+;@4gO̲ ˳߁>D/ &Z;GVV^m)|R5H&6=`~ѨnYdzR`M".Eb]R}EBoo`Z&Jx ߙfj5=E" | !Y3&p ι"$g;˪$D4,5M]HJ&X`6,FTE ]+CYV]7Y]a .lͱE 4#1b3 h],tby bpX%%su[f Qnh&Q|D \HoA;`4؇!7AnKa3guBpL(o}K'Wq F \PK$̬qIN},?07)-iܳq5 m2Y (#k|gXR'?#QBo Հ!m}@.˚Arr%-]Y<ȋz&L&{[ÿ2zLc : 3-:4/}iwPch#|Vh|ƹ5rGwmf:w2RL+QqnY4شuD Vv Wj1򺶧kAR+egb*ཏK÷7@4%1M]%T%VX@$l{fvsօ ^W9~V{%S$<"; #6_=΄w}RAbV*bGSR\c4;Lf%DqKswᘀKsMF;BGt뗣 2*qVfh6_lr+$GDwv_'<{)cy9qpV\Uj=ʙlRZA"Φs_;#Hbe&!%> Pԡ!4xҔ”_DTÚnT E]7W%"휆Tv.ͿE€8)e*]{FexĶedTƝFH[Lbv @tTC|Z\pJaAVjZ;cT*)n_!%ў26Θow&f,o `,Z8+ g S78n+$.L/"k}{ Jah*Q~q7|ef+ł1Ʉ2[$c,eAiZhU}$s,G/ TYj"AbweCB̓=ux]Cl&l|4ZrPX45ah  y5`=;9e 4A ئ`yk&XQc C5M0ԳA!o*!0e68GLb` –/(\U˥%b'f bVDI>*)|2C5q!/4=[LH6%i!abEVjU2D~X/UQz>Pܾs6*bes XF ኹJ>lb8鋯A:'"xS!MT%(WB {DAn7oy\GGZ!d}Bh %A*(QG{j:d n -,$f [Bqm)"Lh UP5X[. ~+ 3׮ oaߕhTL,E"c@U]h,נcKpro2t[&y3gzK}F^$mUj1}#wcU1˿1Ífo'VdzIH[tL)ipN9Z*dآiZeQxã'fgyO] jRq To(Xٖ`2)⩑1cx< ٘z0A H򙋖g*C_A,(7!@0@[0I&уTVtNnWN ٘,.'m_*un֠q-%j6f)R ^{K+UF6T/q>6QVeUq3-D%VW[weoUM7ž#f@UZ 5(/$ei+loqi Ւ֮i5J;a3VŸW*[ZUPH8&;$4%a|lq@&oD8@oo/.R.^,?WIBgeЗ< 򦒺NT=2c!ڲ@?XcK xaV]> Lb}SjI4q9LRan}(:Ȍdy1Q0)뙈c7yn*FQ[``mf5{ &hes3=j]RYwjR)4QT*WiVhSl9bʁXj! fkLJ0;wKnT,hyBk>heWK)7=<Wjp*9 eXj7r|aPzv5vq{tS<@*!E2P ^pA6QIGgYvHKxgf!nw+LDVdWzdw ֗=HK0W^ yYww P1߷UKGmoiYNe-=n9sEJxǖ`97'NG EU8ݙƕe C 1J-pDIh%Z x?'a97}O64@tLR|G&theԔ B("d&a.Hee.q~h [0>FV/x -mt@4Z)dEY[fc?2LSASM )6ALU#$sNPZx9qnŸ4#c 4@wt0_JؓU;18#[ SFVXcyNM;*)*̷KGvA "0Kҭ,J"xӏ(jaYŘ7+\ ɔLQa2ih ;TstTD丘 Gf@{Љ?r zVفQ9n_׆v)wڋXaS|۽],q|E0!:RS= Zd/89^+kb uDWl)v8 Af{4(Yyn̰䯍{ {Z6DkRQ@  C^&jD!6q~ _@zH|FZ ՗0Qq{I|"Pz-AC6L-D)4spq`b0^c Kv,(U|EAnp6xށ\.c ^#(1TeLO%bR >JS 0eAH6ʄiWQ4;eTw}xD7 3;'%s~Ҟhܫx};&2}יnnљP+, qe)O0C men6Zl çDRT2|nʎg~ s~`/QUa_{Nߘ3 ADD] 5w `N AV(Ķi5NۻBO'~mt1(\BPM7uF!md ,rlآ^WF'v52PZ܈~'0ZV6P3,K">6[?b/s;vr^QK ZU;xT^LKg,n4/Ҋ(I9 V wC֠*Zp #O5zn@[`)w*K5͙nBK0k9̍5ey.~>b zqZC|Oٖg[3h |3n|Jpnr>ʝ?+*7VPLMb[Qݍ2,e ^ 7:$Di-I:{ڢRS`ʭݞd?]U/ Y8G+}٪Ke ɮPGI"ɭ `4Ɇn8`wlH3% l=V]$0B#N_c/aDĠS4J3z`WeCEwTb9|o1E/bw"v=q7:i.CCheEŰ('sMr֮4"`d{ogԣj7b kR@b/u0(f&ں7ĺ3wQ4y%,4_I[MKS#' K;#;a(:ebJs~WCIxVa]O7o8 Id +/۰'`nMO1I\> 79{Nu7@IPttn,4qW@UZ" v@{>c)u|MȽWI [N"#V>"AKS!vfzK8Cؗɦ[xBRaa5ŹLs`˖!PÝQK'AwCݧs&j)[Y}ٖ2O1jA%:*eKP^}sƎ* + =Rh(}"!>l Zw>e#Er+,Os|^RF A/-=$g,ݡ~1l40Bd)m'Aߚ1J,.kL>E' c~o o0\d{_$טd'\N f@U@{$X 8{'5?hcn5чJ>e/D{6U;fW9XG}[!q13a@,6W3whdy!fQiw*XEx_XfM A`̢\Y,qzc,}{&vndv˫ۂTļbŃ._E˗J2~^b8e203E@EA@.Y'&_]i< qy|a8z#6HRŜc#4/xPJyy7`1t=UCkaϸZpfDpG?A2$h(A5v67 NUocEUy{m%Mȗg0^<%"Ҹķ0UhUe;ZqqF$n}s9J(tV(a9\;I 7p:1vkYFmf:+w)N٥v/V+Lʿ3ATo&>IH&f誶*\sY;k[Yг1"& `Y{pK|EWe;%V4Z*Tۇ1b/"pA AKja q͌.j9U1[BG8#,d- sZLpt`oiU> )&Y9!.,RwRYPXC"FXlxln9۩3Y< je,e+6"v]۸6V>p#q7M|Z& M'i4xѭExq1PѵʉQ6hN&OeӦA"hd0ea1 mҎZk %j=Wt RR? G"b*Km~hW1/e9|sNnOZy UQV8_ʃQ['y$1,A98`rUX~܍@A,AAsYVjߘ7.i\L˩+e"HBhQh*{֫{/Yj*SM!dQzc:0ˌ9`~^ 56e&HVaX*uor;M*, hYi̻*0^a#ܫDފN: 8!x+k Xc*8>S0{\ Zô6.XP. B`sCZ?(ca K0K 1:ZE[.1,^;&:x*2{%; robTohV+g>zCNbmeawU+K0b8|=g*d4=ĨTRG~bj*) oAi0\EK 6"Tþ"l 4- vN>LA*{%ADXPDwao0Y}r0GȏZfw?Mܰ.iw.( S& 9UPo.sٜKo/><$UFx%071>F6KHq Dz\pC厭w% .*%`x8nұ,݌tTBext.rE.1vS UdA z4\k*LA.h{?IGDt)4XnBlĺvg},UܼKn̽^tgLnxJ9^3l"$aȁ LM/h;ʦz+%l5 ۫( ӵ8 z[.1uW8^ZoKswXKLb/ q"D= xD\b^}VWYL+dV̦h /p/,BDwTzo{!՝o苓f#kf࠱>ABl](ɨ' CfjhYi5aB A/1q )E(o2?Ɗ`{>6"Vdlt֮*x:Q`6dіZĿDW3z]#`4q*O䕝:i@Pr4xw-^+\9yA̴Y9&܉t +U_XPhq J dœ[_:Lo|!գ)kO4/2z0?!wO8o [>(jbT7/GcdGEc Md75!v BF<1,!*"3LtJK%NzBu OYG1bH{Kpeo%o a ʼney06&Lp5 hP^cXU{?1qLeÊ#}0[͑XWT<#+%K\SH0_I$UMҷAt#5<߆t >J=%SG#A>Jt*#m/D0O ހ~п ,W_P#H`.%-ۿL _+%7/*dZgYA~N|,H+3ƩO7~na0aWZZӱ>.6w@ TVm }BGDx%)dV4&0 f,4Khulpb\ӱ 3*Q0iUO([FO;NIED BII0_r1%l%o1v"09.!pkj4XRXpѝ|+6prŘn] n^R# U<!#(8Hiem - [N`J.T҉S" ROhk %8 u >)geQx`.q,qZ"i/e0>UqNJ\x @+rհnahG7yB!(D(̳-X'4f9[6;YP̦t35<]*%[ɇ]@nOD6#Nҽ^0yE^oh0`e;&-@yd(tx)1p'`R^E-5{Ga[_-9TեxL+m8ipV\rXqxE.ձwNupܶ9ycu)فR9:ҨMވj1Yj*!u]$\-l /£y\1i撬=Ls>Qiw`fT0dШimiX&e8TUv"( Eȯ#cpN,z0n2ZwYZP*A oga`@ Q/i -@蝪FZDM©_0 :\ΦuM\ E6V8ք GB@l|ah+Ȱ*Q'lE^fop] sYsnarX" CR%8h 䔥neIp3F0?0 hyv!^fji4eNK[x8Gj f%af/?c/ZK mW?K9A]!fvq-{h4(Q @+ZG嗟v\*,fEl^&8q[LP"rlj4 XZ;B"US l>).&. \P{)pfx2>/¬r/xx/F%Q_L|?!Fc|U_ n](N|B#P86Y蛁#agAEA18A)QxJGr.0T3W*̣]땊)*W IV]w"]Y .VS.9yT(հe3[ķc wTQ!|Nڌ\ZKxE :'v"ۊkUE3F\ g'uk,Q{45JᎾp*4J7rCe./5.a–-OlNF#+Ǹ*Ih+4{ 1%zhS<˛--,[9=S1q12˷`Hsc0S\ U}Y>X.Q)(7+5)Jw3eRkAv`s[@8weg\@5 -L@ o /1pV{Vrhde &Z b{.uu(Ec 72ؖdHg&4S-Ūyfd܊hhrܸw !ouZюoU2;`ٕX+rJRZ=Մُh6\@vąMψ:C0qIP"X9 5~.YT#DS_4\ :|8"OEs; Z*ٰ(G6gBPKߐ|{FdP3JI^ OxfeMܮG@oQ?vnR (cH ؐXm@~@Ǡ¶!EL7=VPUwx `/~1ZsL+F^* (t$SDKXwQ!aPM zŗvpj%=!h8%2FfzEiYBzO &bt hUñ#\+*d/+?nPap!N@F.ɖ{ a(%Ǚ B\b&t}gii[lG&6h<D;~.LӔ|dQ,;X4^kQl̉@5sXv0\#c!(mjYJB<76ŵ1U|. ZKffx3HD9) Icc.#H1e) ֡ܬ$]|O!x3r6c.m&88Hܗ+Dj@о&{0EQJiT8E QM/&g[oFO.[(jX$w$ݰ9:XMҸ!n%U-A@ ƒ6@~ |1H06T^ҎKGh ʦx~ݡ(]Z-Vbfod0'ZWlsC*4)8ahP#I%D\m=4 +>VM'ZHUFKwy](BQk - .2ϔT axUvz.YWX9ʨsacnC@385)_#ꇡNB0]Aġ,=&40 `'qolø ~+ R-]Q*OG4)!⢓B`= JwSU}پ,Xbcn\Me7'VL)bōm!>,ߊ_TA99P)Uce\STF=KpA FB,Xk[.qfgҟqݸjj: >b2m& [;z,0a;b D?3xhX7bʗ%p4{;#._15߷.T;oQq"'kaP^HװE#]F]V=t[)l=%e 3qnz/4; Uh JtFĺS[fV*,XF3Z@Rk4!ayr?˨9.ha a Jހb7<_اH ,uQ2y ;֭C\wz!106,F{y!ώP7D*w+bzIrOܵqK}6dDLO %,Sz')a SK2+%Ĥ7 *%5AЇ k EP8hdR[8-5Ƃ#d:dإJ卛{:[s{O":(d+ R]d] %Up7(EGs]#dǁ%7B›Hdp/w_ kjnY N1򂶷xH׶0 ɿy.W^y px{>!֤mmzT.wuM©!r xw^ݒKUT.5V0Ʌ aq w%Fyfj 7mK Kt'3UL.5,ɿ~mbĜMͳNp=1+f5Chbw\LȆ%$RRM#..9R炇?E!Db(;ɛٹ+x~ѱ&f#׉IND40JD[|/ /N V5T>%4k&]YcnR\,2p+QcK2<nW,̡RȬI6ylu$ |DmfK)-МSeA_æi;?iq&Vjterxc]q,YP\K`'Ld"&l~N +9uCaRmލR&oFpTFW١Z`]۟$uen"e~MYu}@{PmB\:B5( SDgR..)soc`"fy)^P!P:f3%`^J1jwHQ@*a _snpl>eCT S+'{.V U(1PXl@2AZ-|9yiW #O %w3k6afjJ;cM0yJ>FlQAPVS-賠86ja@$Z7eKf:?!k * xB cs̽UJ%+d|M,@ 8{scmÈW-65 KufrԸ K"(!^y?FeW@`lf~zYSg[T3f7@nez]C.0@]r,vX*w2 fj+tUC1^x{Ǹb;OB qG,ޣDEzj-`&lwءy ?gAĴ Cp゠#l 7g1{XU0.m7;0U\.RβUU0 [[Fp\"9@QqAlLveL兘-a+X ~O$Kdǖ:n!WhL؈-֏ܻ/\qR͌ÌZ8}I-jƘ`eK07!% /UɚnT",o(p~P-г&.~cJ#"@&_, ̂°ަe FT 9L o2p 2P+d`hg{vo_1-~cO1TOw K,L栂ޕ&D@u.٬ƊU.}ȚV4dU[pJ|ҖU dX¨̧Yȷ-UhDvѳaR0Y%obQT^pGȈ-K(Jdv -` ûw+D^ NϕR!M_IWGRЂ{ M%jNkFR[;G3 PwZ +/aEu>E#dyVf xXov7$%)ڹG)0zj#AjY mxFū D.2#"vp/p6=s(ܮQ悆X`m7XJȇgq`Ӄmka ̶M)RB`[ &-%kTӪ10q6 0z+#+f#A|$o%C?؏TWLXx؎TY6|Ԫa0@HH0Td ZVeArQ|m"4 >me,5; +DB(lR[̯$ P )BCD\`Mwa97b(&3h[tԁeQx(\$b#Bs 095BEуnWS8)|D=tЕPKh]-MXP2f#Rp:V's0vx<&=uiو# mm  s7M16` KdV(`ef<^ҸL[\"]1ޠ|0<^UycG$9?bˈXrbjhx @RsWKޭ6ЃW,pWf|j KU;\Y^a! M(.Xc*86 er+U'F_<]=q\30C Ҍ9.,Bs 2R͌J4 ǵHÃFYPGÌ3^̗`z3n l I4m̃v7Ohdr5* E& 5`_Mie3%hɉp1Z(k@*E'^<+uɉ]pCL[Y%TlDUt ;V']kp0]& \D(:&iu瘿Hmy/%^& ei-V,))> Z?e[4!ݓb)" W{+eӕ5y2,w,W9zK/B{f­|6 F&p+z{P鵗Rl<3{z*Ux+qa|"ysBu@zYD,9^K5K}P-艔K>f躋y/#2Gdqn` ^ )Kaǔ) \WB-90 ys2[Lfc|H*̭@IK95!t'4L2EM!21 kj92 @L̕ͅv0ӄ11|UpQ79En`1,g'yx (K k!0ґ:ROҞ{Ѐ0md=jEdۮ1 B%j Utn]^cmԤL5,‹cl5Z muzZ wK7uX 1mBO+k0q6L7V` sNa=HC:a4BÁCݿeͿ)y-4F@ H9Y,ړ!|  ,ض\j`(Ja}NNQ t,@q]EBPF.ES-ҡFF4{1-GSIjfuQz|3#3j.Fc8z1hGst옩(.UU 3xc v%,&UxC +B6=ܾOd802›KnnAo}XgF͢cϽ/N?1R>-+u^ ȍxUnC`UQvCw;_pT-0|~ 85[r>V7Jm{>(Ÿ%DSfŨ~ Dq$@ ˂pG8eU&6 xcbC6Y%%%0p!mh+G@a-P2-=ڵ+Mvek,H!*gy3ʀ2r% 3^B6(wP= 4)G4TZEH3V<[A@#!@>)vxa'/cmJ(Pa8^c7}" ʯ+9[/P\@@#PV]QmObC)`ܡ'}PŏiQ'6;h4kY%̳1"![18eq`áYi.D>yFg.Z?aIu`}B_yeVA 7UKA9ؠΎuN.a! *iAM-*F LiĬvܵ~vm>NH`KeSFY3B*cN2F#sw˖䬹AeYZ R\KX{׬v$.k ʿ3Ef֦'W=0T_Kck^n-ZB0\RJ ReA%u5P ɫ ߃ kɹ_l m p,edgS{m{s ,hzki͡y-7͑ m+=)xSp{gG`XJcU9fhbL@4. ng\fgţl~&,&6E-n,&B LejQ Fy4TZ6_RR`t^5 4i棣}9鰘"O,f?LYA˜y]) ]+0gQBI FqU/]ыx0zL)%P3Ig̼.) 12W%\j~JٚK mZal٧a @jWC/71 L+eU,<L5dR,69ơ+Zn? rȌ.+)2CAR#;25< @;=1O67:Y"~5I%]8UċBk0ǥv&Wj8PXJ,68HY;U~SGJ~dꩤyEL֒T/yd ŰǴh18\Rf$Ӝ~V 4l֌*6é<}"u(c xavf ۹:%% %؏sf1#1!oZ_8\`T֮Xg&lC`ULP9MLFt}lk\@+Mʈ1x(K3b-&Ҕj6@`!QV.Xl4>Ax啇6URLD6r7KkԲM/u TDA/k6@Q5QY a*6Xg +nԠ">pK3Q.8qMl.*/G0O`jyߋF[W.<\Tqh8MHY#7]ŀi4"a;qG Nw;%F6FXSWuf1_ht+X9IzJNjS`H+meyb7 1^I_ Zns/ ;-2 Jlo.30.w=_5R(Wph袹L:/1_k6h-# &4@s?PF0R(s'"8NLq5TSHMʱV ᴄ Zv%8jxQ*E,(9EjhةH m7x'.L@lpZ`\Qa,Y,65k6g^ˤe`K>'.Vrfq LJ М6isV*}0Q;Eo)W̒jзm wJ-0%w?A tj7S$q^if.LF  Ma!0ۺOИtèXZ$)g v}m? *>e\Ee>3V>PU߂)v0]ַ0#L9WٌTBq[m_|{㢚Jȵ T[e 8VܬjR^ TF4 hdlcdp b[j^^%L7pzfQ>udAc~tPc3TA¯n{Q2q~ 9VK:T@aL/pL0,L:eo!* Jh.jR󽌤n@>%%%TA.23<Ŏ Vn?fHm1dSLüe^Ⱥ+p2(cظ4myaaZh^:CI䀛unr4$6֌;FXuBzc?3FǵyHr=6?*=Vd'## =1 JeB[oJ(Pji&ܥ[dFTyDP!:S:[Hp@t!?drߕJnʌÍ1=Qh'Q>VXj":ˇTXd@HfX Q7+!~:'J1Fd̞` )hӥ%* )fO  ,%j\-~Fzad3/KYEky'.˦4%\/.<U*4)enlX..>hip&Y@ɔ+TUƌqTńܭm xauyn8ͽ՚fƽRiO7cN <N\O*R\W剪6S^;p+G33FEb{YXU|ehG<" v(T¥1J]!w"81FjUN#-;́?U 2Ytw&#)` $I.@4\JhʔpVXN&Ռ!~ C MC}+
Linux 4gvps.4gvps.com 3.10.0-1127.18.2.vz7.163.46 #1 SMP Fri Nov 20 21:47:55 MSK 2020 x86_64
  SOFT : Apache PHP : 7.4.33
/proc/self/root/usr/share/mysql-test/r/
38.135.39.45

 
[ NAME ] [ SIZE ] [ PERM ] [ DATE ] [ ACT ]
+FILE +DIR
1st.result 0.472 KB -rw-r--r-- 2021-01-05 10:19 R E G D
alias.result 13.417 KB -rw-r--r-- 2021-01-05 10:19 R E G D
almost_full.result 1.112 KB -rw-r--r-- 2021-01-05 10:19 R E G D
alter_table-big.result 3.119 KB -rw-r--r-- 2021-01-05 10:19 R E G D
alter_table.result 108.406 KB -rw-r--r-- 2021-01-05 10:19 R E G D
analyze.result 2.207 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ansi.result 1.144 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive-big.result 0.602 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive.result 525.381 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive_bitfield.result 4.261 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive_debug.result 0.347 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive_gis.result 23.132 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive_no_symlink.result 0.861 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive_plugin.result 0.53 KB -rw-r--r-- 2021-01-05 10:19 R E G D
archive_symlink.result 2.068 KB -rw-r--r-- 2021-01-05 10:19 R E G D
audit_plugin.result 0.727 KB -rw-r--r-- 2021-01-05 10:19 R E G D
auth_rpl.result 1.846 KB -rw-r--r-- 2021-01-05 10:19 R E G D
auto_increment.result 11.723 KB -rw-r--r-- 2021-01-05 10:19 R E G D
backup.result 4.293 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bench_count_distinct.result 0.451 KB -rw-r--r-- 2021-01-05 10:19 R E G D
big_test.require 0.017 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bigint.result 20.723 KB -rw-r--r-- 2021-01-05 10:19 R E G D
binary.result 5.674 KB -rw-r--r-- 2021-01-05 10:19 R E G D
binary_to_hex.result 5.87 KB -rw-r--r-- 2021-01-05 10:19 R E G D
binlog_tx_isolation.result 1.707 KB -rw-r--r-- 2021-01-05 10:19 R E G D
blackhole.result 0.599 KB -rw-r--r-- 2021-01-05 10:19 R E G D
blackhole_plugin.result 0.558 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bool.result 2.56 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bootstrap.result 0.261 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug12427262.result 1.864 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug12969156.result 0.93 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug17076131.result 0.314 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug33509.result 2.306 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug39022.result 1.199 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug46080.result 0.653 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug46261.result 0.373 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug46760.result 1.259 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug47671.result 0.28 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bug58669.result 0.469 KB -rw-r--r-- 2021-01-05 10:19 R E G D
bulk_replace.result 0.274 KB -rw-r--r-- 2021-01-05 10:19 R E G D
cache_innodb.result 5.419 KB -rw-r--r-- 2021-01-05 10:19 R E G D
case.result 10.062 KB -rw-r--r-- 2021-01-05 10:19 R E G D
case_insensitive_file_system.require 0.045 KB -rw-r--r-- 2021-01-05 10:19 R E G D
case_sensitive_file_system.require 0.046 KB -rw-r--r-- 2021-01-05 10:19 R E G D
cast.result 15.755 KB -rw-r--r-- 2021-01-05 10:19 R E G D
change_user.result 3.31 KB -rw-r--r-- 2021-01-05 10:19 R E G D
check.result 1.423 KB -rw-r--r-- 2021-01-05 10:19 R E G D
check_auto_permission.result 0.245 KB -rw-r--r-- 2021-01-05 10:19 R E G D
check_var_limit.require 0.008 KB -rw-r--r-- 2021-01-05 10:19 R E G D
client_xml.result 2.376 KB -rw-r--r-- 2021-01-05 10:19 R E G D
comment_column.result 140.568 KB -rw-r--r-- 2021-01-05 10:19 R E G D
comment_column2.result 355.679 KB -rw-r--r-- 2021-01-05 10:19 R E G D
comment_index.result 173.026 KB -rw-r--r-- 2021-01-05 10:19 R E G D
comment_table.result 28.718 KB -rw-r--r-- 2021-01-05 10:19 R E G D
comments.result 2.337 KB -rw-r--r-- 2021-01-05 10:19 R E G D
commit.result 13.321 KB -rw-r--r-- 2021-01-05 10:19 R E G D
commit_1innodb.result 19.194 KB -rw-r--r-- 2021-01-05 10:19 R E G D
compare.result 3.17 KB -rw-r--r-- 2021-01-05 10:19 R E G D
compress.result 56.502 KB -rw-r--r-- 2021-01-05 10:19 R E G D
concurrent_innodb_safelog.result 31.888 KB -rw-r--r-- 2021-01-05 10:19 R E G D
concurrent_innodb_unsafelog.result 31.614 KB -rw-r--r-- 2021-01-05 10:19 R E G D
connect.result 12.747 KB -rw-r--r-- 2021-01-05 10:19 R E G D
connect_debug.result 1.481 KB -rw-r--r-- 2021-01-05 10:19 R E G D
consistent_snapshot.result 1.144 KB -rw-r--r-- 2021-01-05 10:19 R E G D
constraints.result 2.551 KB -rw-r--r-- 2021-01-05 10:19 R E G D
count_distinct.result 7.89 KB -rw-r--r-- 2021-01-05 10:19 R E G D
count_distinct2.result 2.215 KB -rw-r--r-- 2021-01-05 10:19 R E G D
count_distinct3.result 0.271 KB -rw-r--r-- 2021-01-05 10:19 R E G D
create-big.result 7.604 KB -rw-r--r-- 2021-01-05 10:19 R E G D
create.result 147.088 KB -rw-r--r-- 2021-01-05 10:19 R E G D
create_not_windows.result 0.938 KB -rw-r--r-- 2021-01-05 10:19 R E G D
create_select_tmp.result 0.826 KB -rw-r--r-- 2021-01-05 10:19 R E G D
csv.result 58.878 KB -rw-r--r-- 2021-01-05 10:19 R E G D
csv_alter_table.result 1.168 KB -rw-r--r-- 2021-01-05 10:19 R E G D
csv_not_null.result 1.752 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_ascii.result 2.107 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_big5.result 33.848 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_binary.result 82.341 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_collate.result 13.504 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_cp1250_ch.result 21.882 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_cp1251.result 96.091 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_cp932.result 0.973 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_cp932_binlog_row.result 0.593 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_cp932_binlog_stm.result 251.22 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_create.result 3.12 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_errors.result 1.662 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_eucjpms.result 400.215 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_euckr.result 434.587 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_filename.result 0.316 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_filesystem.result 0.333 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_gb2312.result 33.291 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_gbk.result 49.631 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_gbk_binlog.result 0.632 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_hebrew.result 0.248 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_latin1.result 118.674 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_latin1_de.result 15.738 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_latin2.result 13.319 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_latin2_ch.result 25.112 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_ldml.result 28.05 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_like_range.result 80.895 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_many.result 42.672 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_mb.result 2.127 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_recoding.result 9.598 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_sjis.result 195.68 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_tis620.result 100.449 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_uca.result 154.97 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_ucs.result 142.403 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_ucs2_def.result 1.055 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_ujis.result 364.904 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_ujis_ucs2.result 548.586 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf16.result 44.957 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf16_def.result 0.267 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf16_uca.result 72.284 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf16le.result 50.536 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf32.result 48.046 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf32_uca.result 75.105 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf8.result 167.063 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf8mb4.result 80.382 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf8mb4_heap.result 72.209 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf8mb4_innodb.result 74.624 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf8mb4_myisam.result 74.628 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ctype_utf8mb4_uca.result 38.815 KB -rw-r--r-- 2021-01-05 10:19 R E G D
date_formats.result 24.959 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ddl_i18n_koi8r.result 113.334 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ddl_i18n_utf8.result 116.354 KB -rw-r--r-- 2021-01-05 10:19 R E G D
deadlock_innodb.result 2.354 KB -rw-r--r-- 2021-01-05 10:19 R E G D
debug_sync.result 11.854 KB -rw-r--r-- 2021-01-05 10:19 R E G D
debug_sync2.result 0.424 KB -rw-r--r-- 2021-01-05 10:19 R E G D
default.result 8.018 KB -rw-r--r-- 2021-01-05 10:19 R E G D
delayed.result 17.703 KB -rw-r--r-- 2021-01-05 10:19 R E G D
delete.result 15.996 KB -rw-r--r-- 2021-01-05 10:19 R E G D
deprecated_features.result 2.029 KB -rw-r--r-- 2021-01-05 10:19 R E G D
derived.result 78.604 KB -rw-r--r-- 2021-01-05 10:19 R E G D
dirty_close.result 0.337 KB -rw-r--r-- 2021-01-05 10:19 R E G D
disabled_replication.result 3.008 KB -rw-r--r-- 2021-01-05 10:19 R E G D
disconnect_on_expired_password_default.result 1.399 KB -rw-r--r-- 2021-01-05 10:19 R E G D
disconnect_on_expired_password_off.result 1.359 KB -rw-r--r-- 2021-01-05 10:19 R E G D
distinct.result 30.849 KB -rw-r--r-- 2021-01-05 10:19 R E G D
drop-no_root.result 0.443 KB -rw-r--r-- 2021-01-05 10:19 R E G D
drop.result 5.734 KB -rw-r--r-- 2021-01-05 10:19 R E G D
drop_debug.result 0.474 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ds_mrr-big.result 2.145 KB -rw-r--r-- 2021-01-05 10:19 R E G D
dynamic_tracing.result 0.794 KB -rw-r--r-- 2021-01-05 10:19 R E G D
empty_table.result 0.224 KB -rw-r--r-- 2021-01-05 10:19 R E G D
enable_cleartext_plugin.result 1.349 KB -rw-r--r-- 2021-01-05 10:19 R E G D
endspace.result 6.612 KB -rw-r--r-- 2021-01-05 10:19 R E G D
eq_range_idx_stat.result 4.024 KB -rw-r--r-- 2021-01-05 10:19 R E G D
error_simulation.result 3.229 KB -rw-r--r-- 2021-01-05 10:19 R E G D
errors.result 5.929 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_1.result 22.185 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_2.result 17.229 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_bugs.result 37.353 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_embedded.result 0.084 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_grant.result 10.332 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_logs_tests.result 2.369 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_microsec.result 0.791 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_restart.result 4.148 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_scheduling.result 3.111 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_stress.result 2.387 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_time_zone.result 5.401 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_trans.result 3.494 KB -rw-r--r-- 2021-01-05 10:19 R E G D
events_trans_notembedded.result 1.372 KB -rw-r--r-- 2021-01-05 10:19 R E G D
execution_constants.result 1.046 KB -rw-r--r-- 2021-01-05 10:19 R E G D
explain.result 28.334 KB -rw-r--r-- 2021-01-05 10:19 R E G D
explain_json_all.result 63.132 KB -rw-r--r-- 2021-01-05 10:19 R E G D
explain_json_none.result 64.698 KB -rw-r--r-- 2021-01-05 10:19 R E G D
file_contents.result 0.177 KB -rw-r--r-- 2021-01-05 10:19 R E G D
filesort_debug.result 2.793 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fix_priv_tables.result 1.303 KB -rw-r--r-- 2021-01-05 10:19 R E G D
flush.result 13.751 KB -rw-r--r-- 2021-01-05 10:19 R E G D
flush2.result 0.861 KB -rw-r--r-- 2021-01-05 10:19 R E G D
flush_block_commit.result 1.47 KB -rw-r--r-- 2021-01-05 10:19 R E G D
flush_block_commit_notembedded.result 0.752 KB -rw-r--r-- 2021-01-05 10:19 R E G D
flush_read_lock.result 72.072 KB -rw-r--r-- 2021-01-05 10:19 R E G D
flush_read_lock_kill.result 1.121 KB -rw-r--r-- 2021-01-05 10:19 R E G D
flush_table.result 11.224 KB -rw-r--r-- 2021-01-05 10:19 R E G D
foreign_key.result 3.335 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext.result 28.717 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext2.result 7.545 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext3.result 0.527 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_cache.result 2.674 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_distinct.result 1.248 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_left_join.result 4.002 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_multi.result 0.748 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_order_by.result 5.829 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_plugin.result 0.224 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_update.result 0.908 KB -rw-r--r-- 2021-01-05 10:19 R E G D
fulltext_var.result 1.3 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_aes.result 12.779 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_aes_cfb1.result 4.504 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_aes_cfb128.result 4.566 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_aes_cfb8.result 4.504 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_aes_misc.result 8.281 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_aes_ofb.result 4.473 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_analyse.result 19.011 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_compress.result 4.84 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_concat.result 4.029 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_crypt.result 4.374 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_date_add.result 3.623 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_default.result 1.193 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_des_encrypt.result 0.994 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_digest.result 121.479 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_encrypt.result 10.325 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_encrypt_nossl.result 4.213 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_encrypt_ucs2.result 0.747 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_equal.result 1.269 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_gconcat.result 48.525 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_group.result 54.636 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_group_innodb.result 5.119 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_group_innodb_16k.result 0.531 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_if.result 6.051 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_in_all.result 27.624 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_in_icp.result 27.263 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_in_icp_mrr.result 27.567 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_in_mrr.result 27.286 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_in_mrr_cost.result 27.006 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_in_none.result 26.958 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_isnull.result 0.808 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_like.result 4.451 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_math.result 28.063 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_misc.result 28.198 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_op.result 1.933 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_regexp.result 4.367 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_rollback.result 12.444 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_sapdb.result 12.376 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_set.result 8.508 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_str.result 157.745 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_str_debug.result 0.341 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_str_no_ps.result 1.065 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_system.result 2.626 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_test.result 13.442 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_time.result 67.367 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_timestamp.result 0.506 KB -rw-r--r-- 2021-01-05 10:19 R E G D
func_weight_string.result 3.438 KB -rw-r--r-- 2021-01-05 10:19 R E G D
function_defaults.result 109.227 KB -rw-r--r-- 2021-01-05 10:19 R E G D
function_defaults_notembedded.result 6.385 KB -rw-r--r-- 2021-01-05 10:19 R E G D
gcc296.result 0.516 KB -rw-r--r-- 2021-01-05 10:19 R E G D
get_diagnostics.result 24.962 KB -rw-r--r-- 2021-01-05 10:19 R E G D
gis-debug.result 16.127 KB -rw-r--r-- 2021-01-05 10:19 R E G D
gis-precise.result 28.338 KB -rw-r--r-- 2021-01-05 10:19 R E G D
gis-rt-precise.result 1.863 KB -rw-r--r-- 2021-01-05 10:19 R E G D
gis-rtree.result 78.355 KB -rw-r--r-- 2021-01-05 10:19 R E G D
gis.result 58.529 KB -rw-r--r-- 2021-01-05 10:19 R E G D
grant.result 95.951 KB -rw-r--r-- 2021-01-05 10:19 R E G D
grant2.result 31.124 KB -rw-r--r-- 2021-01-05 10:19 R E G D
grant3.result 7.147 KB -rw-r--r-- 2021-01-05 10:19 R E G D
grant4.result 8.854 KB -rw-r--r-- 2021-01-05 10:19 R E G D
grant_cache.result 5.615 KB -rw-r--r-- 2021-01-05 10:19 R E G D
grant_explain_non_select.result 9.504 KB -rw-r--r-- 2021-01-05 10:19 R E G D
grant_lowercase_fs.result 0.544 KB -rw-r--r-- 2021-01-05 10:19 R E G D
greedy_optimizer.result 592.802 KB -rw-r--r-- 2021-01-05 10:19 R E G D
greedy_search.result 12.423 KB -rw-r--r-- 2021-01-05 10:19 R E G D
group_by.result 84.602 KB -rw-r--r-- 2021-01-05 10:19 R E G D
group_min_max.result 115.333 KB -rw-r--r-- 2021-01-05 10:19 R E G D
group_min_max_innodb.result 17.521 KB -rw-r--r-- 2021-01-05 10:19 R E G D
handler_innodb.result 40.725 KB -rw-r--r-- 2021-01-05 10:19 R E G D
handler_myisam.result 44.62 KB -rw-r--r-- 2021-01-05 10:19 R E G D
handler_read_last.result 1.151 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_big5.require 0.077 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_binlog_format_mixed.require 0.039 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_binlog_format_row.require 0.037 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_binlog_format_statement.require 0.043 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_binlog_rows_query.require 0.052 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_compress.require 0.037 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_cp1250_ch.require 0.077 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_cp1251.require 0.082 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_cp866.require 0.08 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_cp932.require 0.081 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_crypt.require 0.034 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_debug.require 0.008 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_debug_sync.require 0.013 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_eucjpms.require 0.085 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_euckr.require 0.079 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_gb2312.require 0.082 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_gbk.require 0.076 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_geometry.require 0.037 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_koi8r.require 0.079 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_latin2_ch.require 0.076 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_local_infile.require 0.035 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_log_bin.require 0.03 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_met_timezone.require 0.042 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_moscow_leap_timezone.require 0.045 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_mysql_upgrade.result 0.021 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_ndb_extra.require 0.014 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_ndbapi_examples.require 0.019 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_nodebug.require 0.008 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_optimizer_switch.require 0.019 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_outfile.require 0.054 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_partition.require 0.041 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_perror.require 0.014 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_profiling.require 0.038 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_query_cache.require 0.04 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_sjis.require 0.079 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_ssl.require 0.032 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_ssl_is_yes_or_disabled_only.require 0.042 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_symlink.require 0.036 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_tis620.require 0.079 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_ucs2.require 0.078 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_ujis.require 0.079 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_utf16.require 0.08 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_utf32.require 0.08 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_utf8.require 0.078 KB -rw-r--r-- 2021-01-05 10:19 R E G D
have_utf8mb4.require 0.084 KB -rw-r--r-- 2021-01-05 10:19 R E G D
having.result 19.716 KB -rw-r--r-- 2021-01-05 10:19 R E G D
heap.result 20.864 KB -rw-r--r-- 2021-01-05 10:19 R E G D
heap_auto_increment.result 0.873 KB -rw-r--r-- 2021-01-05 10:19 R E G D
heap_btree.result 9.322 KB -rw-r--r-- 2021-01-05 10:19 R E G D
heap_hash.result 14.374 KB -rw-r--r-- 2021-01-05 10:19 R E G D
help.result 6.465 KB -rw-r--r-- 2021-01-05 10:19 R E G D
host_cache_size_functionality.result 3.319 KB -rw-r--r-- 2021-01-05 10:19 R E G D
implicit_char_to_num_conversion.result 6.438 KB -rw-r--r-- 2021-01-05 10:19 R E G D
implicit_commit.result 17.715 KB -rw-r--r-- 2021-01-05 10:19 R E G D
import_schema_mismatch.result 0.525 KB -rw-r--r-- 2021-01-05 10:19 R E G D
index_merge_delete.result 25.876 KB -rw-r--r-- 2021-01-05 10:19 R E G D
index_merge_innodb.result 61.635 KB -rw-r--r-- 2021-01-05 10:19 R E G D
index_merge_insert-and-replace.result 12.55 KB -rw-r--r-- 2021-01-05 10:19 R E G D
index_merge_intersect_dml.result 4.958 KB -rw-r--r-- 2021-01-05 10:19 R E G D
index_merge_myisam.result 73.481 KB -rw-r--r-- 2021-01-05 10:19 R E G D
index_merge_update.result 16.413 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema-big.result 2.81 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema.result 87.982 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema_chmod.result 0.178 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema_db.result 9.294 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema_inno.result 4.331 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema_parameters.result 22.11 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema_part.result 9.715 KB -rw-r--r-- 2021-01-05 10:19 R E G D
information_schema_routines.result 28.636 KB -rw-r--r-- 2021-01-05 10:19 R E G D
init_connect.result 2.526 KB -rw-r--r-- 2021-01-05 10:19 R E G D
init_file.result 0.315 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_explain_json_non_select_all.result 220.923 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_explain_json_non_select_none.result 225.147 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_explain_non_select_all.result 119.149 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_explain_non_select_none.result 119.029 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_icp.result 26.728 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_icp_all.result 26.791 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_icp_none.result 26.632 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_ignore_builtin.result 0.346 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_log_file_size_functionality.result 2.791 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mrr.result 20.302 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mrr_all.result 20.467 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mrr_cost.result 20.269 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mrr_cost_all.result 20.434 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mrr_cost_icp.result 20.377 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mrr_icp.result 20.41 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mrr_none.result 20.221 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mysql_lock.result 5.516 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mysql_lock2.result 21.268 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_mysql_sync.result 17.646 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_pk_extension_off.result 14.063 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_pk_extension_on.result 14.33 KB -rw-r--r-- 2021-01-05 10:19 R E G D
innodb_recovery_with_upper_case_names.result 1.211 KB -rw-r--r-- 2021-01-05 10:19 R E G D
insert.result 26.414 KB -rw-r--r-- 2021-01-05 10:19 R E G D
insert_debug.result 1.294 KB -rw-r--r-- 2021-01-05 10:19 R E G D
insert_notembedded.result 5.718 KB -rw-r--r-- 2021-01-05 10:19 R E G D
insert_select.result 14.044 KB -rw-r--r-- 2021-01-05 10:19 R E G D
insert_update.result 9.641 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ipv4_as_ipv6.result 21.693 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ipv6.result 12.488 KB -rw-r--r-- 2021-01-05 10:19 R E G D
is_debug_build.require 0.031 KB -rw-r--r-- 2021-01-05 10:19 R E G D
is_embedded.require 0.016 KB -rw-r--r-- 2021-01-05 10:19 R E G D
isam.result 15.653 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join.result 46.837 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_cache_bka.result 88.084 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_cache_bka_nixbnl.result 87.375 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_cache_bkaunique.result 88.538 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_cache_bnl.result 86.259 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_cache_nojb.result 85.375 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_crash.result 4.587 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_nested.result 62.759 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_nested_bka.result 66.917 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_nested_bka_nixbnl.result 63.953 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_optimizer.result 2.536 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_outer.result 63.986 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_outer_bka.result 64.278 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_outer_bka_nixbnl.result 62.568 KB -rw-r--r-- 2021-01-05 10:19 R E G D
join_outer_innodb.result 1.855 KB -rw-r--r-- 2021-01-05 10:19 R E G D
key.result 20.978 KB -rw-r--r-- 2021-01-05 10:19 R E G D
key_cache.result 10.908 KB -rw-r--r-- 2021-01-05 10:19 R E G D
key_diff.result 0.833 KB -rw-r--r-- 2021-01-05 10:19 R E G D
key_primary.result 0.65 KB -rw-r--r-- 2021-01-05 10:19 R E G D
keywords.result 6.63 KB -rw-r--r-- 2021-01-05 10:19 R E G D
kill.result 8.369 KB -rw-r--r-- 2021-01-05 10:19 R E G D
kill_debug.result 1.56 KB -rw-r--r-- 2021-01-05 10:19 R E G D
limit.result 4.118 KB -rw-r--r-- 2021-01-05 10:19 R E G D
loaddata.result 16.914 KB -rw-r--r-- 2021-01-05 10:19 R E G D
loaddata_autocom_innodb.result 0.622 KB -rw-r--r-- 2021-01-05 10:19 R E G D
loadxml.result 2.71 KB -rw-r--r-- 2021-01-05 10:19 R E G D
locale.result 5.588 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lock.result 15.03 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lock_multi.result 11.526 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lock_multi_bug38499.result 0.675 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lock_multi_bug38691.result 0.526 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lock_sync.result 31.173 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lock_tables_lost_commit.result 0.146 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_empty_name.result 0.241 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_errchk.result 0.648 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_state.result 9.656 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_state_bug33693.result 0.108 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_tables-big.result 0.973 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_tables.result 40.972 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_tables_debug.result 0.818 KB -rw-r--r-- 2021-01-05 10:19 R E G D
log_tables_upgrade.result 2.479 KB -rw-r--r-- 2021-01-05 10:19 R E G D
long_tmpdir.result 0.097 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase0.require 0.044 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase1.require 0.044 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase2.require 0.044 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_fs_off.result 2.052 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_fs_on.result 0.073 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_mixed_tmpdir.result 0.172 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_mixed_tmpdir_innodb.result 0.186 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_table.result 2.67 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_table2.result 8.656 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_table4.result 3.676 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_table_grant.result 1.499 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_table_qcache.result 0.634 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_utf8.result 0.169 KB -rw-r--r-- 2021-01-05 10:19 R E G D
lowercase_view.result 10.225 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mdl_sync.result 89.854 KB -rw-r--r-- 2021-01-05 10:19 R E G D
merge-big.result 0.711 KB -rw-r--r-- 2021-01-05 10:19 R E G D
merge.result 97.604 KB -rw-r--r-- 2021-01-05 10:19 R E G D
merge_innodb.result 1.313 KB -rw-r--r-- 2021-01-05 10:19 R E G D
merge_mmap.result 3.333 KB -rw-r--r-- 2021-01-05 10:19 R E G D
metadata.result 13.883 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mix2_myisam.result 57.756 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mix2_myisam_ucs2.result 15.312 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_plugin_load.result 0.339 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_plugin_load_add.result 0.444 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_plugin_load_add2.result 0.444 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_statement.result 0.55 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_update.result 23.214 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_update2.result 0.992 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_update_innodb.result 2.562 KB -rw-r--r-- 2021-01-05 10:19 R E G D
multi_update_tiny_hash.result 1.501 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam-blob.result 1.253 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam-system.result 0.382 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam.result 90.776 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_crash_before_flush_keys.result 1.152 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_debug.result 1.207 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_explain_json_non_select_all.result 217.296 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_explain_json_non_select_none.result 221.321 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_explain_non_select_all.result 116.257 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_explain_non_select_none.result 115.977 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_icp.result 26.567 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_icp_all.result 26.631 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_icp_none.result 26.452 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_mrr.result 19.243 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_mrr_all.result 19.44 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_mrr_cost.result 19.188 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_mrr_cost_all.result 19.386 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_mrr_cost_icp.result 19.329 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_mrr_icp.result 19.384 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_mrr_none.result 19.141 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_recover.result 4.57 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisam_row_rpl.result 2.041 KB -rw-r--r-- 2021-01-05 10:19 R E G D
myisampack.result 7.556 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql-bug41486.result 0.454 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql-bug45236.result 0.321 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql.result 8.67 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_binary_mode.result 1.521 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_client_test.result 8.917 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_client_test_embedded.result 0.108 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_client_test_qcache.result 0.49 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_comments.result 5.019 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_config_editor.result 6.601 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_cp932.result 0.036 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_embedded.result 0.167 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_embedded_client_test.result 0.149 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_locale_posix.result 0.95 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_not_windows.result 0.078 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_plugin.result 3.883 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_protocols.result 0.203 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_upgrade.result 26.823 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysql_upgrade_ssl.result 1.993 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqladmin.result 0.852 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqladmin_shutdown.result 0.153 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlbinlog.result 30.171 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlbinlog_debug.result 0.229 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlbinlog_mixed_or_statment.result 0.835 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlbinlog_raw_mode.result 8.316 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlbinlog_raw_mode_win.result 8.081 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlbinlog_row_big.result 2.422 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlcheck.result 15.196 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqld--defaults-file.result 0.693 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqld--help-notwin.result 53.914 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqld--help-win.result 54.473 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqldump-compat.result 0.108 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqldump-max.result 10.951 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqldump-no-binlog.result 0.049 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqldump.result 280.612 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqldump_restore.result 3.78 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlhotcopy_archive.result 1.801 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlhotcopy_myisam.result 2.275 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlimport.result 0.479 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlshow.result 7.563 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqlslap.result 6.877 KB -rw-r--r-- 2021-01-05 10:19 R E G D
mysqltest.result 31.152 KB -rw-r--r-- 2021-01-05 10:19 R E G D
named_pipe.result 56.246 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ndb_default_cluster.require 0.05 KB -rw-r--r-- 2021-01-05 10:19 R E G D
negation_elimination.result 8.725 KB -rw-r--r-- 2021-01-05 10:19 R E G D
no-threads.result 0.321 KB -rw-r--r-- 2021-01-05 10:19 R E G D
no_binlog.result 0.063 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_embedded.require 0.016 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_embedded_server.result 5.633 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_ndb.require 0.038 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_openssl.require 0.035 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_partition.result 4.138 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_ssl.require 0.031 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_true.require 0.01 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_valgrind.require 0.017 KB -rw-r--r-- 2021-01-05 10:19 R E G D
not_windows.require 0.007 KB -rw-r--r-- 2021-01-05 10:19 R E G D
null.result 14.482 KB -rw-r--r-- 2021-01-05 10:19 R E G D
null_key_all.result 15.598 KB -rw-r--r-- 2021-01-05 10:19 R E G D
null_key_icp.result 15.534 KB -rw-r--r-- 2021-01-05 10:19 R E G D
null_key_none.result 15.474 KB -rw-r--r-- 2021-01-05 10:19 R E G D
odbc.result 0.932 KB -rw-r--r-- 2021-01-05 10:19 R E G D
olap.result 19.126 KB -rw-r--r-- 2021-01-05 10:19 R E G D
one_thread_per_connection.require 0.043 KB -rw-r--r-- 2021-01-05 10:19 R E G D
openssl.require 0.036 KB -rw-r--r-- 2021-01-05 10:19 R E G D
openssl_1.result 8.042 KB -rw-r--r-- 2021-01-05 10:19 R E G D
optimizer_bug12837084.result 13.971 KB -rw-r--r-- 2021-01-05 10:19 R E G D
optimizer_debug_sync.result 1.322 KB -rw-r--r-- 2021-01-05 10:19 R E G D
optimizer_switch.result 19.938 KB -rw-r--r-- 2021-01-05 10:19 R E G D
order_by_all.result 61.425 KB -rw-r--r-- 2021-01-05 10:19 R E G D
order_by_icp_mrr.result 61.368 KB -rw-r--r-- 2021-01-05 10:19 R E G D
order_by_none.result 61.149 KB -rw-r--r-- 2021-01-05 10:19 R E G D
order_by_sortkey.result 2.911 KB -rw-r--r-- 2021-01-05 10:19 R E G D
order_fill_sortbuf.result 0.256 KB -rw-r--r-- 2021-01-05 10:19 R E G D
outfile.result 2.087 KB -rw-r--r-- 2021-01-05 10:19 R E G D
outfile_loaddata.result 10.118 KB -rw-r--r-- 2021-01-05 10:19 R E G D
overflow.result 0.229 KB -rw-r--r-- 2021-01-05 10:19 R E G D
packet.result 4.997 KB -rw-r--r-- 2021-01-05 10:19 R E G D
parser.result 38.22 KB -rw-r--r-- 2021-01-05 10:19 R E G D
parser_bug21114_innodb.result 25.39 KB -rw-r--r-- 2021-01-05 10:19 R E G D
parser_not_embedded.result 4.42 KB -rw-r--r-- 2021-01-05 10:19 R E G D
parser_precedence.result 23.96 KB -rw-r--r-- 2021-01-05 10:19 R E G D
parser_stack.result 9.537 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition.result 76.634 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_archive.result 4.513 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_binlog.result 2.297 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_binlog_stmt.result 0.432 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_blackhole.result 0.17 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_bug18198.result 8.068 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_cache.result 5.162 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_charset.result 0.424 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_column.result 23.065 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_column_prune.result 2.832 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_csv.result 1.831 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_datatype.result 39.34 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_debug_sync.result 3.193 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_disabled.result 4.594 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_error.result 82.17 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_exchange.result 37.599 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_explicit_prune.result 55.627 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_federated.result 0.265 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_grant.result 1.544 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_hash.result 7.118 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_index_innodb.result 4.04 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_index_myisam.result 3.213 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_innodb.result 30.662 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_innodb_plugin.result 5.256 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_innodb_semi_consistent.result 2.92 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_innodb_stmt.result 1.121 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_innodb_tablespace.result 12.756 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_key_cache.result 16.737 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_list.result 12.922 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_locking.result 238.128 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_locking_4.result 1.699 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_mgm.result 4.698 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_mgm_err.result 7.479 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_mgm_err2.result 0.042 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_myisam.result 7.67 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_not_blackhole.result 0.445 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_not_windows.result 3.474 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_open_files_limit.result 1.017 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_order.result 16.287 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_pruning.result 166.975 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_range.result 33.909 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_rename_longfilename.result 2.894 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_symlink.result 4.893 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_sync.result 1.336 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_truncate.result 0.733 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_utf8.result 2.004 KB -rw-r--r-- 2021-01-05 10:19 R E G D
partition_windows.result 1.177 KB -rw-r--r-- 2021-01-05 10:19 R E G D
perror-win.result 0.442 KB -rw-r--r-- 2021-01-05 10:19 R E G D
perror.result 0.46 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin.result 7.728 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth.result 23.392 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_qa.result 20.77 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_qa_1.result 13.739 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_qa_2.result 8.869 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_qa_3.result 1.138 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_sha256.result 3.975 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_sha256_2.result 1.485 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_sha256_server_default.result 2.695 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_sha256_server_default_tls.result 2.831 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_auth_sha256_tls.result 1.817 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_load.result 0.074 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_load_option.result 0.313 KB -rw-r--r-- 2021-01-05 10:19 R E G D
plugin_not_embedded.result 0.463 KB -rw-r--r-- 2021-01-05 10:19 R E G D
preload.result 3.844 KB -rw-r--r-- 2021-01-05 10:19 R E G D
profiling.result 16.135 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps.result 116.728 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_10nestset.result 2.084 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_11bugs.result 5.916 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_1general.result 35.914 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_2myisam.result 103.819 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_3innodb.result 103.361 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_4heap.result 103.276 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_5merge.result 202.341 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_ddl.result 53.68 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_ddl1.result 11.058 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_grant.result 3.714 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ps_not_windows.result 0.504 KB -rw-r--r-- 2021-01-05 10:19 R E G D
python_with_json.require 0.026 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache.result 75.565 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_28249.result 2.294 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_debug.result 8.63 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_disabled.result 0.624 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_merge.result 32.412 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_notembedded.result 6.61 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_ps_no_prot.result 11.096 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_ps_ps_prot.result 11.095 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_size_functionality.result 6.641 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_type_functionality.result 6.795 KB -rw-r--r-- 2021-01-05 10:19 R E G D
query_cache_with_views.result 4.955 KB -rw-r--r-- 2021-01-05 10:19 R E G D
range_all.result 81.481 KB -rw-r--r-- 2021-01-05 10:19 R E G D
range_icp.result 81.075 KB -rw-r--r-- 2021-01-05 10:19 R E G D
range_icp_mrr.result 81.425 KB -rw-r--r-- 2021-01-05 10:19 R E G D
range_mrr.result 80.976 KB -rw-r--r-- 2021-01-05 10:19 R E G D
range_mrr_cost.result 80.673 KB -rw-r--r-- 2021-01-05 10:19 R E G D
range_none.result 80.625 KB -rw-r--r-- 2021-01-05 10:19 R E G D
read_many_rows_innodb.result 2.829 KB -rw-r--r-- 2021-01-05 10:19 R E G D
read_only.result 6.3 KB -rw-r--r-- 2021-01-05 10:19 R E G D
read_only_innodb.result 4.762 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rename.result 1.579 KB -rw-r--r-- 2021-01-05 10:19 R E G D
renamedb.result 0.859 KB -rw-r--r-- 2021-01-05 10:19 R E G D
repair.result 7.022 KB -rw-r--r-- 2021-01-05 10:19 R E G D
replace.result 1.095 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rewrite_general_log.result 8.334 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rewrite_slow_log.result 2.919 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rollback.result 0.568 KB -rw-r--r-- 2021-01-05 10:19 R E G D
round.result 6.736 KB -rw-r--r-- 2021-01-05 10:19 R E G D
row.result 15.908 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rowid_order_innodb.result 3.324 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rpl_colSize.result 4.388 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rpl_extraColmaster_innodb.result 23.846 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rpl_extraColmaster_myisam.result 23.846 KB -rw-r--r-- 2021-01-05 10:19 R E G D
rpl_mysqldump_slave.result 0.847 KB -rw-r--r-- 2021-01-05 10:19 R E G D
schema.result 2.371 KB -rw-r--r-- 2021-01-05 10:19 R E G D
secure_file_priv_win.result 1.434 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_all.result 150.092 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_all_bka.result 150.856 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_all_bka_nixbnl.result 150.114 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_found.result 6.168 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_icp_mrr.result 150.035 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_icp_mrr_bka.result 150.8 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_icp_mrr_bka_nixbnl.result 150.058 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_none.result 149.372 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_none_bka.result 149.465 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_none_bka_nixbnl.result 148.656 KB -rw-r--r-- 2021-01-05 10:19 R E G D
select_safe.result 3.923 KB -rw-r--r-- 2021-01-05 10:19 R E G D
server_id.require 0.031 KB -rw-r--r-- 2021-01-05 10:19 R E G D
server_id1.require 0.033 KB -rw-r--r-- 2021-01-05 10:19 R E G D
server_uuid.result 0.737 KB -rw-r--r-- 2021-01-05 10:19 R E G D
server_uuid_embedded.result 0.317 KB -rw-r--r-- 2021-01-05 10:19 R E G D
shm.result 56.744 KB -rw-r--r-- 2021-01-05 10:19 R E G D
show_check.result 71.325 KB -rw-r--r-- 2021-01-05 10:19 R E G D
show_processlist.result 1.84 KB -rw-r--r-- 2021-01-05 10:19 R E G D
show_processlist_state.result 0.143 KB -rw-r--r-- 2021-01-05 10:19 R E G D
show_profile.result 0.479 KB -rw-r--r-- 2021-01-05 10:19 R E G D
signal.result 63.087 KB -rw-r--r-- 2021-01-05 10:19 R E G D
signal_code.result 0.996 KB -rw-r--r-- 2021-01-05 10:19 R E G D
signal_demo1.result 6.063 KB -rw-r--r-- 2021-01-05 10:19 R E G D
signal_demo2.result 3.855 KB -rw-r--r-- 2021-01-05 10:19 R E G D
signal_demo3.result 3.326 KB -rw-r--r-- 2021-01-05 10:19 R E G D
signal_sqlmode.result 2.506 KB -rw-r--r-- 2021-01-05 10:19 R E G D
single_delete_update.result 24.411 KB -rw-r--r-- 2021-01-05 10:19 R E G D
skip_grants.result 2.473 KB -rw-r--r-- 2021-01-05 10:19 R E G D
skip_log_bin.result 0.163 KB -rw-r--r-- 2021-01-05 10:19 R E G D
skip_name_resolve.result 1.277 KB -rw-r--r-- 2021-01-05 10:19 R E G D
slave-running.result 0.069 KB -rw-r--r-- 2021-01-05 10:19 R E G D
slave-stopped.result 0.07 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sort_buffer_size_functionality.result 6.478 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-big.result 1.468 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-bugs.result 7.661 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-code.result 28.231 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-destruct.result 6.841 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-dynamic.result 9.547 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-error.result 81.432 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-fib.result 0.641 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-lock.result 21.447 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-no-code.result 0.3 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-prelocking.result 7.093 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-security.result 23.506 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-threads.result 2.012 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-ucs2.result 4.778 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp-vars.result 28.089 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp.result 183.743 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_debug.result 0.718 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_gis.result 0.81 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_notembedded.result 10 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_stress_case.result 2.526 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_sync.result 3.167 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_trans.result 14.304 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_trans_log.result 0.87 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sp_validation.result 34.669 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sql_mode.result 17.526 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl-big.result 0.067 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl-crl-revoked-crl.result 0.074 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl-sha512.result 0.367 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl.result 56.893 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_8k_key.result 0.041 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_and_innodb.result 0.179 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_ca.result 0.837 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_cipher.result 0.248 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_compress.result 56.52 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_connect.result 0.01 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_crl.result 1.145 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_crl_clients-valid.result 1.011 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_crl_clients.result 0.417 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_crl_clients_valid.result 0.605 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_crl_crlpath.result 0.711 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_mode.result 1.293 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_mode_no_ssl.result 1.058 KB -rw-r--r-- 2021-01-05 10:19 R E G D
ssl_verify_identity.result 1.003 KB -rw-r--r-- 2021-01-05 10:19 R E G D
status.result 9.825 KB -rw-r--r-- 2021-01-05 10:19 R E G D
status2.result 1.354 KB -rw-r--r-- 2021-01-05 10:19 R E G D
status_bug17954.result 0.568 KB -rw-r--r-- 2021-01-05 10:19 R E G D
status_debug.result 1.063 KB -rw-r--r-- 2021-01-05 10:19 R E G D
strict.result 64.413 KB -rw-r--r-- 2021-01-05 10:19 R E G D
strict_autoinc_1myisam.result 0.639 KB -rw-r--r-- 2021-01-05 10:19 R E G D
strict_autoinc_2innodb.result 0.639 KB -rw-r--r-- 2021-01-05 10:19 R E G D
strict_autoinc_3heap.result 0.639 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_all.result 258.332 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_all_bka.result 258.653 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_all_bka_nixbnl.result 258.416 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_bugs.result 3.048 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_mat.result 94.956 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_mat_all.result 87.691 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_mat_none.result 89.711 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_nomat_nosj.result 258.393 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_nomat_nosj_bka.result 258.636 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_nomat_nosj_bka_nixbnl.result 258.215 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_none.result 258.287 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_none_bka.result 258.38 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_none_bka_nixbnl.result 257.959 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_all.result 368.598 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_all_bka.result 370.215 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_all_bka_nixbnl.result 358.999 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_all_bkaunique.result 370.58 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_dupsweed.result 370.17 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_dupsweed_bka.result 370.416 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_dupsweed_bka_nixbnl.result 352.522 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_dupsweed_bkaunique.result 370.448 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_firstmatch.result 363.229 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_firstmatch_bka.result 363.322 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_firstmatch_bka_nixbnl.result 351.284 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_firstmatch_bkaunique.result 363.354 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_all.result 4.739 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_all_bka.result 4.932 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_all_bka_nixbnl.result 4.953 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_all_bkaunique.result 4.99 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_none.result 4.621 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_none_bka.result 4.714 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_none_bka_nixbnl.result 4.703 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_innodb_none_bkaunique.result 4.746 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_loosescan.result 370.079 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_loosescan_bka.result 370.325 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_loosescan_bka_nixbnl.result 352.497 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_loosescan_bkaunique.result 370.357 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_mat.result 378.771 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_mat_bka.result 378.846 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_mat_bka_nixbnl.result 362.058 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_mat_bkaunique.result 378.878 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_mat_nosj.result 376.229 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_none.result 374.823 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_none_bka.result 374.916 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_none_bka_nixbnl.result 367.909 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subquery_sj_none_bkaunique.result 374.948 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subselect_debug.result 0.399 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subselect_gis.result 0.298 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subselect_innodb.result 28.096 KB -rw-r--r-- 2021-01-05 10:19 R E G D
subselect_notembedded.result 0.734 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sum_distinct-big.result 2.002 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sum_distinct.result 3.141 KB -rw-r--r-- 2021-01-05 10:19 R E G D
symlink.result 7.752 KB -rw-r--r-- 2021-01-05 10:19 R E G D
symlink_windows.result 0.313 KB -rw-r--r-- 2021-01-05 10:19 R E G D
synchronization.result 4.052 KB -rw-r--r-- 2021-01-05 10:19 R E G D
sysdate_is_now.result 0.074 KB -rw-r--r-- 2021-01-05 10:19 R E G D
system_mysql_db.result 13.5 KB -rw-r--r-- 2021-01-05 10:19 R E G D
system_mysql_db_refs.result 2.96 KB -rw-r--r-- 2021-01-05 10:19 R E G D
table_definition_cache_functionality.result 6.896 KB -rw-r--r-- 2021-01-05 10:19 R E G D
table_open_cache_functionality.result 12.784 KB -rw-r--r-- 2021-01-05 10:19 R E G D
tablelock.result 1.501 KB -rw-r--r-- 2021-01-05 10:19 R E G D
tablespace.result 10.131 KB -rw-r--r-- 2021-01-05 10:19 R E G D
temp_pool.result 0.525 KB -rw-r--r-- 2021-01-05 10:19 R E G D
temp_table.result 7.392 KB -rw-r--r-- 2021-01-05 10:19 R E G D
temporal_literal.result 13.164 KB -rw-r--r-- 2021-01-05 10:19 R E G D
testdb_only.require 0.044 KB -rw-r--r-- 2021-01-05 10:19 R E G D
thread_cache_size_functionality.result 5.258 KB -rw-r--r-- 2021-01-05 10:19 R E G D
timezone.result 1.805 KB -rw-r--r-- 2021-01-05 10:19 R E G D
timezone2.result 11.814 KB -rw-r--r-- 2021-01-05 10:19 R E G D
timezone3.result 2.209 KB -rw-r--r-- 2021-01-05 10:19 R E G D
timezone4.result 0.145 KB -rw-r--r-- 2021-01-05 10:19 R E G D
timezone_grant.result 3.759 KB -rw-r--r-- 2021-01-05 10:19 R E G D
trans_read_only.result 1.028 KB -rw-r--r-- 2021-01-05 10:19 R E G D
trigger-compat.result 7.751 KB -rw-r--r-- 2021-01-05 10:19 R E G D
trigger-trans.result 6.464 KB -rw-r--r-- 2021-01-05 10:19 R E G D
trigger.result 68.456 KB -rw-r--r-- 2021-01-05 10:19 R E G D
trigger_notembedded.result 17.026 KB -rw-r--r-- 2021-01-05 10:19 R E G D
true.require 0.007 KB -rw-r--r-- 2021-01-05 10:19 R E G D
truncate.result 3.583 KB -rw-r--r-- 2021-01-05 10:19 R E G D
truncate_coverage.result 2.399 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_binary.result 3.621 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_bit.result 16.916 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_bit_innodb.result 7.314 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_blob.result 28.874 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_date.result 18.463 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_datetime.result 31.236 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_decimal.result 36.102 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_enum.result 101.192 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_float.result 11.969 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_nchar.result 1.437 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_newdecimal-big.result 0.662 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_newdecimal.result 61.458 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_ranges.result 17.381 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_set.result 3.991 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_temporal_fractional.result 635.432 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_temporal_upgrade.result 9.898 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_time.result 109.266 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_timestamp.result 24.694 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_timestamp_explicit.result 27.353 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_uint.result 0.357 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_varchar.result 16.656 KB -rw-r--r-- 2021-01-05 10:19 R E G D
type_year.result 7.775 KB -rw-r--r-- 2021-01-05 10:19 R E G D
udf.result 16.032 KB -rw-r--r-- 2021-01-05 10:19 R E G D
udf_services.result 0.487 KB -rw-r--r-- 2021-01-05 10:19 R E G D
udf_skip_grants.result 0.218 KB -rw-r--r-- 2021-01-05 10:19 R E G D
union.result 52.6 KB -rw-r--r-- 2021-01-05 10:19 R E G D
unsafe_binlog_innodb.result 4.355 KB -rw-r--r-- 2021-01-05 10:19 R E G D
update.result 16.628 KB -rw-r--r-- 2021-01-05 10:19 R E G D
upgrade.result 4.91 KB -rw-r--r-- 2021-01-05 10:19 R E G D
user_limits.result 3.536 KB -rw-r--r-- 2021-01-05 10:19 R E G D
user_var-binlog.result 2.171 KB -rw-r--r-- 2021-01-05 10:19 R E G D
user_var.result 15.345 KB -rw-r--r-- 2021-01-05 10:19 R E G D
validate_password_plugin.result 12.092 KB -rw-r--r-- 2021-01-05 10:19 R E G D
varbinary.result 3.341 KB -rw-r--r-- 2021-01-05 10:19 R E G D
variables-big.result 0.949 KB -rw-r--r-- 2021-01-05 10:19 R E G D
variables-notembedded.result 5.776 KB -rw-r--r-- 2021-01-05 10:19 R E G D
variables-win.result 0.339 KB -rw-r--r-- 2021-01-05 10:19 R E G D
variables.result 61.675 KB -rw-r--r-- 2021-01-05 10:19 R E G D
variables_community.result 0.178 KB -rw-r--r-- 2021-01-05 10:19 R E G D
variables_debug.result 2.134 KB -rw-r--r-- 2021-01-05 10:19 R E G D
view.result 178.725 KB -rw-r--r-- 2021-01-05 10:19 R E G D
view_alias.result 6.192 KB -rw-r--r-- 2021-01-05 10:19 R E G D
view_grant.result 76.689 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wait_timeout.result 1.067 KB -rw-r--r-- 2021-01-05 10:19 R E G D
warnings.result 11.208 KB -rw-r--r-- 2021-01-05 10:19 R E G D
warnings_engine_disabled.result 0.464 KB -rw-r--r-- 2021-01-05 10:19 R E G D
windows.require 0.007 KB -rw-r--r-- 2021-01-05 10:19 R E G D
windows.result 1.86 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6219-csv.result 7.229 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6219-innodb.result 7.268 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6219-memory.result 7.268 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6219-merge.result 5.992 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6219-myisam.result 7.268 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6219-upgrade.result 7.331 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6301_1_not_windows.result 0.043 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6301_2_not_windows.result 0.045 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6301_3.result 0.087 KB -rw-r--r-- 2021-01-05 10:19 R E G D
wl6443_deprecation.result 10.706 KB -rw-r--r-- 2021-01-05 10:19 R E G D
xa.result 7.133 KB -rw-r--r-- 2021-01-05 10:19 R E G D
xml.result 41.778 KB -rw-r--r-- 2021-01-05 10:19 R E G D
REQUEST EXIT
set optimizer_switch='materialization=on'; set @old_opt_switch=@@optimizer_switch; set optimizer_switch='subquery_materialization_cost_based=off'; drop table if exists t1, t2, t3, t1i, t2i, t3i; drop view if exists v1, v2, v1m, v2m; create table t1 (a1 char(8), a2 char(8)); create table t2 (b1 char(8), b2 char(8)); create table t3 (c1 char(8), c2 char(8)); insert into t1 values ('1 - 00', '2 - 00'); insert into t1 values ('1 - 01', '2 - 01'); insert into t1 values ('1 - 02', '2 - 02'); insert into t2 values ('1 - 01', '2 - 01'); insert into t2 values ('1 - 01', '2 - 01'); insert into t2 values ('1 - 02', '2 - 02'); insert into t2 values ('1 - 02', '2 - 02'); insert into t2 values ('1 - 03', '2 - 03'); insert into t3 values ('1 - 01', '2 - 01'); insert into t3 values ('1 - 02', '2 - 02'); insert into t3 values ('1 - 03', '2 - 03'); insert into t3 values ('1 - 04', '2 - 04'); create table t1i (a1 char(8), a2 char(8)); create table t2i (b1 char(8), b2 char(8)); create table t3i (c1 char(8), c2 char(8)); create index it1i1 on t1i (a1); create index it1i2 on t1i (a2); create index it1i3 on t1i (a1, a2); create index it2i1 on t2i (b1); create index it2i2 on t2i (b2); create index it2i3 on t2i (b1, b2); create index it3i1 on t3i (c1); create index it3i2 on t3i (c2); create index it3i3 on t3i (c1, c2); insert into t1i select * from t1; insert into t2i select * from t2; insert into t3i select * from t3; /****************************************************************************** * Simple tests. ******************************************************************************/ # non-indexed nullable fields explain extended select * from t1 where a1 in (select b1 from t2 where b1 > '0'); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (`test`.`t1`.`a1`,`test`.`t1`.`a1` in ( (/* select#2 */ select `test`.`t2`.`b1` from `test`.`t2` where (`test`.`t2`.`b1` > '0') ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`))))) select * from t1 where a1 in (select b1 from t2 where b1 > '0'); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1 where a1 in (select b1 from t2 where b1 > '0' group by b1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (`test`.`t1`.`a1`,`test`.`t1`.`a1` in ( (/* select#2 */ select `test`.`t2`.`b1` from `test`.`t2` where (`test`.`t2`.`b1` > '0') ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`))))) select * from t1 where a1 in (select b1 from t2 where b1 > '0' group by b1); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1 where (a1, a2) in (select b1, b2 from t2 where b1 > '0' group by b1, b2); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2`.`b1`,`test`.`t2`.`b2` from `test`.`t2` where (`test`.`t2`.`b1` > '0') ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`b2`))))) select * from t1 where (a1, a2) in (select b1, b2 from t2 where b1 > '0' group by b1, b2); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1 where (a1, a2) in (select b1, min(b2) from t2 where b1 > '0' group by b1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where; Using temporary; Using filesort Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2`.`b1`,min(`test`.`t2`.`b2`) from `test`.`t2` where (`test`.`t2`.`b1` > '0') group by `test`.`t2`.`b1` having 1 ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`min(b2)`))))) select * from t1 where (a1, a2) in (select b1, min(b2) from t2 where b1 > '0' group by b1); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1i where a1 in (select b1 from t2i where b1 > '0'); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 2 SUBQUERY t2i index it2i1,it2i3 it2i1 9 NULL 5 100.00 Using where; Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where (`test`.`t1i`.`a1`,`test`.`t1i`.`a1` in ( (/* select#2 */ select `test`.`t2i`.`b1` from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`))))) select * from t1i where a1 in (select b1 from t2i where b1 > '0'); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1i where a1 in (select b1 from t2i where b1 > '0' group by b1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 2 SUBQUERY t2i index it2i1,it2i3 it2i1 9 NULL 5 100.00 Using where; Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where (`test`.`t1i`.`a1`,`test`.`t1i`.`a1` in ( (/* select#2 */ select `test`.`t2i`.`b1` from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`))))) select * from t1i where a1 in (select b1 from t2i where b1 > '0' group by b1); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0'); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 2 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where ((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#2 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`b2`))))) select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0'); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0' group by b1, b2); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 2 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where ((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#2 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`b2`))))) select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0' group by b1, b2); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1i where (a1, a2) in (select b1, min(b2) from t2i where b1 > '0' group by b1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 2 SUBQUERY t2i range it2i1,it2i3 it2i3 18 NULL 3 100.00 Using where; Using index for group-by Warnings: Note 1003 /* select#1 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where ((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#2 */ select `test`.`t2i`.`b1`,min(`test`.`t2i`.`b2`) from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') group by `test`.`t2i`.`b1` having 1 ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`min(b2)`))))) select * from t1i where (a1, a2) in (select b1, min(b2) from t2i where b1 > '0' group by b1); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1 where (a1, a2) in (select b1, max(b2) from t2i group by b1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2i range it2i1,it2i3 it2i3 9 NULL 3 100.00 Using index for group-by Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2i`.`b1`,max(`test`.`t2i`.`b2`) from `test`.`t2i` group by `test`.`t2i`.`b1` having 1 ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`max(b2)`))))) select * from t1 where (a1, a2) in (select b1, max(b2) from t2i group by b1); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 prepare st1 from "explain select * from t1 where (a1, a2) in (select b1, max(b2) from t2i group by b1)"; execute st1; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where 2 SUBQUERY t2i range it2i1,it2i3 it2i3 9 NULL 3 Using index for group-by execute st1; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where 2 SUBQUERY t2i range it2i1,it2i3 it2i3 9 NULL 3 Using index for group-by prepare st2 from "select * from t1 where (a1, a2) in (select b1, max(b2) from t2i group by b1)"; execute st2; a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 execute st2; a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1 where (a1, a2) in (select b1, min(b2) from t2i where b1 > '0' group by b1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2i range it2i1,it2i3 it2i3 18 NULL 3 100.00 Using where; Using index for group-by Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2i`.`b1`,min(`test`.`t2i`.`b2`) from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') group by `test`.`t2i`.`b1` having 1 ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`min(b2)`))))) select * from t1 where (a1, a2) in (select b1, min(b2) from t2i where b1 > '0' group by b1); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 select * from t1 where (a1, a2) in (select b1, min(b2) from t2i limit 1,1); ERROR 42000: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' explain extended select * from t1 where (a1, a2) in (select b1, b2 from t2 order by b1, b2); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2`.`b1`,`test`.`t2`.`b2` from `test`.`t2` where 1 ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`b2`))))) select * from t1 where (a1, a2) in (select b1, b2 from t2 order by b1, b2); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1i where (a1, a2) in (select b1, b2 from t2i order by b1, b2); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 2 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where ((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#2 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where 1 ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`b2`))))) select * from t1i where (a1, a2) in (select b1, b2 from t2i order by b1, b2); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 /****************************************************************************** * Views, UNIONs, several levels of nesting. ******************************************************************************/ # materialize the result of subquery over temp-table view create algorithm=merge view v1 as select b1, c2 from t2, t3 where b2 > c2; create algorithm=merge view v2 as select b1, c2 from t2, t3 group by b2, c2; Warnings: Warning 1354 View merge algorithm can't be used here for now (assumed undefined algorithm) create algorithm=temptable view v1m as select b1, c2 from t2, t3 where b2 > c2; create algorithm=temptable view v2m as select b1, c2 from t2, t3 group by b2, c2; select * from v1 where (c2, b1) in (select c2, b1 from v2 where b1 is not null); b1 c2 1 - 02 2 - 01 1 - 02 2 - 01 1 - 03 2 - 01 1 - 03 2 - 02 select * from v1 where (c2, b1) in (select distinct c2, b1 from v2 where b1 is not null); b1 c2 1 - 02 2 - 01 1 - 02 2 - 01 1 - 03 2 - 01 1 - 03 2 - 02 select * from v1m where (c2, b1) in (select c2, b1 from v2m where b1 is not null); b1 c2 1 - 02 2 - 01 1 - 02 2 - 01 1 - 03 2 - 01 1 - 03 2 - 02 select * from v1m where (c2, b1) in (select distinct c2, b1 from v2m where b1 is not null); b1 c2 1 - 02 2 - 01 1 - 02 2 - 01 1 - 03 2 - 01 1 - 03 2 - 02 drop view v1, v2, v1m, v2m; explain extended select * from t1 where (a1, a2) in (select b1, b2 from t2 where b1 > '0') and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 3 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 4 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2`.`b1`,`test`.`t2`.`b2` from `test`.`t2` where (`test`.`t2`.`b1` > '0') ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`b2`))))) and ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#3 */ select `test`.`t3`.`c1`,`test`.`t3`.`c2` from `test`.`t3` where ((`test`.`t3`.`c1`,`test`.`t3`.`c2`),(`test`.`t3`.`c1`,`test`.`t3`.`c2`) in ( (/* select#4 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3`.`c1` in on where ((`test`.`t3`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`c1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`c2`)))))) select * from t1 where (a1, a2) in (select b1, b2 from t2 where b1 > '0') and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0') and (a1, a2) in (select c1, c2 from t3i where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 3 SUBQUERY t3i index it3i1,it3i2,it3i3 it3i3 18 NULL 4 100.00 Using where; Using index 4 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 2 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where (((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#2 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`b2`))))) and ((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#3 */ select `test`.`t3i`.`c1`,`test`.`t3i`.`c2` from `test`.`t3i` where ((`test`.`t3i`.`c1`,`test`.`t3i`.`c2`),(`test`.`t3i`.`c1`,`test`.`t3i`.`c2`) in ( (/* select#4 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3i`.`c1` in on where ((`test`.`t3i`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3i`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`c1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`c2`)))))) select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0') and (a1, a2) in (select c1, c2 from t3i where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1 where (a1, a2) in (select b1, b2 from t2 where b2 in (select c2 from t3 where c2 LIKE '%02') or b2 in (select c2 from t3 where c2 LIKE '%03')) and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 5 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 6 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where 4 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 3 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2`.`b1`,`test`.`t2`.`b2` from `test`.`t2` where ((`test`.`t2`.`b2`,`test`.`t2`.`b2` in ( (/* select#3 */ select `test`.`t3`.`c2` from `test`.`t3` where (`test`.`t3`.`c2` like '%02') ), (`test`.`t2`.`b2` in on where ((`test`.`t2`.`b2` = `materialized-subquery`.`c2`))))) or (`test`.`t2`.`b2`,`test`.`t2`.`b2` in ( (/* select#4 */ select `test`.`t3`.`c2` from `test`.`t3` where (`test`.`t3`.`c2` like '%03') ), (`test`.`t2`.`b2` in on where ((`test`.`t2`.`b2` = `materialized-subquery`.`c2`)))))) ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`b2`))))) and ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#5 */ select `test`.`t3`.`c1`,`test`.`t3`.`c2` from `test`.`t3` where ((`test`.`t3`.`c1`,`test`.`t3`.`c2`),(`test`.`t3`.`c1`,`test`.`t3`.`c2`) in ( (/* select#6 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3`.`c1` in on where ((`test`.`t3`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`c1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`c2`)))))) select * from t1 where (a1, a2) in (select b1, b2 from t2 where b2 in (select c2 from t3 where c2 LIKE '%02') or b2 in (select c2 from t3 where c2 LIKE '%03')) and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); a1 a2 1 - 02 2 - 02 explain extended select * from t1 where (a1, a2) in (select b1, b2 from t2 where b2 in (select c2 from t3 t3a where c1 = a1) or b2 in (select c2 from t3 t3b where c2 LIKE '%03')) and (a1, a2) in (select c1, c2 from t3 t3c where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 5 SUBQUERY t3c ALL NULL NULL NULL NULL 4 100.00 Using where 6 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where 4 SUBQUERY t3b ALL NULL NULL NULL NULL 4 100.00 Using where 3 DEPENDENT SUBQUERY t3a ALL NULL NULL NULL NULL 4 100.00 Using where Warnings: Note 1276 Field or reference 'test.t1.a1' of SELECT #3 was resolved in SELECT #1 Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(/* select#2 */ select 1,1 from `test`.`t2` where (((`test`.`t2`.`b2`,(/* select#3 */ select 1 from `test`.`t3` `t3a` where ((`test`.`t3a`.`c1` = `test`.`t1`.`a1`) and ((`test`.`t2`.`b2`) = `test`.`t3a`.`c2`)))) or (`test`.`t2`.`b2`,`test`.`t2`.`b2` in ( (/* select#4 */ select `test`.`t3b`.`c2` from `test`.`t3` `t3b` where (`test`.`t3b`.`c2` like '%03') ), (`test`.`t2`.`b2` in on where ((`test`.`t2`.`b2` = `materialized-subquery`.`c2`)))))) and ((`test`.`t1`.`a1`) = `test`.`t2`.`b1`) and ((`test`.`t1`.`a2`) = `test`.`t2`.`b2`)))) and ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#5 */ select `test`.`t3c`.`c1`,`test`.`t3c`.`c2` from `test`.`t3` `t3c` where ((`test`.`t3c`.`c1`,`test`.`t3c`.`c2`),(`test`.`t3c`.`c1`,`test`.`t3c`.`c2`) in ( (/* select#6 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3c`.`c1` in on where ((`test`.`t3c`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3c`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`c1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`c2`)))))) select * from t1 where (a1, a2) in (select b1, b2 from t2 where b2 in (select c2 from t3 t3a where c1 = a1) or b2 in (select c2 from t3 t3b where c2 LIKE '%03')) and (a1, a2) in (select c1, c2 from t3 t3c where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended (select * from t1 where (a1, a2) in (select b1, b2 from t2 where b2 in (select c2 from t3 where c2 LIKE '%02') or b2 in (select c2 from t3 where c2 LIKE '%03') group by b1, b2) and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0'))) UNION (select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0') and (a1, a2) in (select c1, c2 from t3i where (c1, c2) in (select b1, b2 from t2i where b2 > '0'))); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 5 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 6 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 2 SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where 4 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 3 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 7 UNION t1i index NULL it1i3 18 NULL 3 100.00 Using where; Using index 9 SUBQUERY t3i index it3i1,it3i2,it3i3 it3i3 18 NULL 4 100.00 Using where; Using index 10 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 8 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Using temporary Warnings: Note 1003 (/* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#2 */ select `test`.`t2`.`b1`,`test`.`t2`.`b2` from `test`.`t2` where ((`test`.`t2`.`b2`,`test`.`t2`.`b2` in ( (/* select#3 */ select `test`.`t3`.`c2` from `test`.`t3` where (`test`.`t3`.`c2` like '%02') ), (`test`.`t2`.`b2` in on where ((`test`.`t2`.`b2` = `materialized-subquery`.`c2`))))) or (`test`.`t2`.`b2`,`test`.`t2`.`b2` in ( (/* select#4 */ select `test`.`t3`.`c2` from `test`.`t3` where (`test`.`t3`.`c2` like '%03') ), (`test`.`t2`.`b2` in on where ((`test`.`t2`.`b2` = `materialized-subquery`.`c2`)))))) ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`b2`))))) and ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#5 */ select `test`.`t3`.`c1`,`test`.`t3`.`c2` from `test`.`t3` where ((`test`.`t3`.`c1`,`test`.`t3`.`c2`),(`test`.`t3`.`c1`,`test`.`t3`.`c2`) in ( (/* select#6 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3`.`c1` in on where ((`test`.`t3`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`c1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`c2`))))))) union (/* select#7 */ select `test`.`t1i`.`a1` AS `a1`,`test`.`t1i`.`a2` AS `a2` from `test`.`t1i` where (((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#8 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b1` > '0') ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`b2`))))) and ((`test`.`t1i`.`a1`,`test`.`t1i`.`a2`),(`test`.`t1i`.`a1`,`test`.`t1i`.`a2`) in ( (/* select#9 */ select `test`.`t3i`.`c1`,`test`.`t3i`.`c2` from `test`.`t3i` where ((`test`.`t3i`.`c1`,`test`.`t3i`.`c2`),(`test`.`t3i`.`c1`,`test`.`t3i`.`c2`) in ( (/* select#10 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3i`.`c1` in on where ((`test`.`t3i`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3i`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t1i`.`a1` in on where ((`test`.`t1i`.`a1` = `materialized-subquery`.`c1`) and (`test`.`t1i`.`a2` = `materialized-subquery`.`c2`))))))) (select * from t1 where (a1, a2) in (select b1, b2 from t2 where b2 in (select c2 from t3 where c2 LIKE '%02') or b2 in (select c2 from t3 where c2 LIKE '%03') group by b1, b2) and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0'))) UNION (select * from t1i where (a1, a2) in (select b1, b2 from t2i where b1 > '0') and (a1, a2) in (select c1, c2 from t3i where (c1, c2) in (select b1, b2 from t2i where b2 > '0'))); a1 a2 1 - 02 2 - 02 1 - 01 2 - 01 explain extended select * from t1 where (a1, a2) in (select * from t1 where a1 > '0' UNION select * from t2 where b1 < '9') and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 4 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 5 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 3 DEPENDENT UNION t2 ALL NULL NULL NULL NULL 5 100.00 Using where NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Using temporary Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(/* select#2 */ select 1,1 from `test`.`t1` where ((`test`.`t1`.`a1` > '0') and ((`test`.`t1`.`a1`) = `test`.`t1`.`a1`) and ((`test`.`t1`.`a2`) = `test`.`t1`.`a2`)) union /* select#3 */ select 1,1 from `test`.`t2` where ((`test`.`t2`.`b1` < '9') and ((`test`.`t1`.`a1`) = `test`.`t2`.`b1`) and ((`test`.`t1`.`a2`) = `test`.`t2`.`b2`)))) and ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(`test`.`t1`.`a1`,`test`.`t1`.`a2`) in ( (/* select#4 */ select `test`.`t3`.`c1`,`test`.`t3`.`c2` from `test`.`t3` where ((`test`.`t3`.`c1`,`test`.`t3`.`c2`),(`test`.`t3`.`c1`,`test`.`t3`.`c2`) in ( (/* select#5 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3`.`c1` in on where ((`test`.`t3`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t1`.`a1` in on where ((`test`.`t1`.`a1` = `materialized-subquery`.`c1`) and (`test`.`t1`.`a2` = `materialized-subquery`.`c2`)))))) select * from t1 where (a1, a2) in (select * from t1 where a1 > '0' UNION select * from t2 where b1 < '9') and (a1, a2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')); a1 a2 1 - 01 2 - 01 1 - 02 2 - 02 explain extended select * from t1, t3 where (a1, a2) in (select * from t1 where a1 > '0' UNION select * from t2 where b1 < '9') and (c1, c2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')) and a1 = c1; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 1 PRIMARY t3 ALL NULL NULL NULL NULL 4 100.00 Using where; Using join buffer (Block Nested Loop) 4 SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 5 SUBQUERY t2i index it2i1,it2i2,it2i3 it2i3 18 NULL 5 100.00 Using where; Using index 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 3 DEPENDENT UNION t2 ALL NULL NULL NULL NULL 5 100.00 Using where NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Using temporary Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2`,`test`.`t3`.`c1` AS `c1`,`test`.`t3`.`c2` AS `c2` from `test`.`t1` join `test`.`t3` where ((`test`.`t3`.`c1` = `test`.`t1`.`a1`) and ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(/* select#2 */ select 1,1 from `test`.`t1` where ((`test`.`t1`.`a1` > '0') and ((`test`.`t1`.`a1`) = `test`.`t1`.`a1`) and ((`test`.`t1`.`a2`) = `test`.`t1`.`a2`)) union /* select#3 */ select 1,1 from `test`.`t2` where ((`test`.`t2`.`b1` < '9') and ((`test`.`t1`.`a1`) = `test`.`t2`.`b1`) and ((`test`.`t1`.`a2`) = `test`.`t2`.`b2`)))) and ((`test`.`t3`.`c1`,`test`.`t3`.`c2`),(`test`.`t3`.`c1`,`test`.`t3`.`c2`) in ( (/* select#4 */ select `test`.`t3`.`c1`,`test`.`t3`.`c2` from `test`.`t3` where ((`test`.`t3`.`c1`,`test`.`t3`.`c2`),(`test`.`t3`.`c1`,`test`.`t3`.`c2`) in ( (/* select#5 */ select `test`.`t2i`.`b1`,`test`.`t2i`.`b2` from `test`.`t2i` where (`test`.`t2i`.`b2` > '0') ), (`test`.`t3`.`c1` in on where ((`test`.`t3`.`c1` = `materialized-subquery`.`b1`) and (`test`.`t3`.`c2` = `materialized-subquery`.`b2`))))) ), (`test`.`t3`.`c1` in on where ((`test`.`t3`.`c1` = `materialized-subquery`.`c1`) and (`test`.`t3`.`c2` = `materialized-subquery`.`c2`)))))) select * from t1, t3 where (a1, a2) in (select * from t1 where a1 > '0' UNION select * from t2 where b1 < '9') and (c1, c2) in (select c1, c2 from t3 where (c1, c2) in (select b1, b2 from t2i where b2 > '0')) and a1 = c1; a1 a2 c1 c2 1 - 01 2 - 01 1 - 01 2 - 01 1 - 02 2 - 02 1 - 02 2 - 02 /****************************************************************************** * Negative tests, where materialization should not be applied. ******************************************************************************/ # UNION in a subquery explain extended select * from t3 where c1 in (select a1 from t1 where a1 > '0' UNION select b1 from t2 where b1 < '9'); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t3 ALL NULL NULL NULL NULL 4 100.00 Using where 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 3 DEPENDENT UNION t2 ALL NULL NULL NULL NULL 5 100.00 Using where NULL UNION RESULT ALL NULL NULL NULL NULL NULL NULL Using temporary Warnings: Note 1003 /* select#1 */ select `test`.`t3`.`c1` AS `c1`,`test`.`t3`.`c2` AS `c2` from `test`.`t3` where (`test`.`t3`.`c1`,(/* select#2 */ select 1 from `test`.`t1` where ((`test`.`t1`.`a1` > '0') and ((`test`.`t3`.`c1`) = `test`.`t1`.`a1`)) union /* select#3 */ select 1 from `test`.`t2` where ((`test`.`t2`.`b1` < '9') and ((`test`.`t3`.`c1`) = `test`.`t2`.`b1`)))) select * from t3 where c1 in (select a1 from t1 where a1 > '0' UNION select b1 from t2 where b1 < '9'); c1 c2 1 - 01 2 - 01 1 - 02 2 - 02 1 - 03 2 - 03 explain extended select * from t1 where (a1, a2) in (select b1, b2 from t2 where b2 in (select c2 from t3 t3a where c1 = a1) or b2 in (select c2 from t3 t3b where c2 LIKE '%03')) and (a1, a2) in (select c1, c2 from t3 t3c where (c1, c2) in (select b1, b2 from t2i where b2 > '0' or b2 = a2)); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 5 DEPENDENT SUBQUERY t3c ALL NULL NULL NULL NULL 4 100.00 Using where 6 DEPENDENT SUBQUERY t2i index_subquery it2i1,it2i2,it2i3 it2i3 18 func,func 2 100.00 Using index; Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 5 100.00 Using where 4 SUBQUERY t3b ALL NULL NULL NULL NULL 4 100.00 Using where 3 DEPENDENT SUBQUERY t3a ALL NULL NULL NULL NULL 4 100.00 Using where Warnings: Note 1276 Field or reference 'test.t1.a1' of SELECT #3 was resolved in SELECT #1 Note 1276 Field or reference 'test.t1.a2' of SELECT #6 was resolved in SELECT #1 Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where (((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(/* select#2 */ select 1,1 from `test`.`t2` where (((`test`.`t2`.`b2`,(/* select#3 */ select 1 from `test`.`t3` `t3a` where ((`test`.`t3a`.`c1` = `test`.`t1`.`a1`) and ((`test`.`t2`.`b2`) = `test`.`t3a`.`c2`)))) or (`test`.`t2`.`b2`,`test`.`t2`.`b2` in ( (/* select#4 */ select `test`.`t3b`.`c2` from `test`.`t3` `t3b` where (`test`.`t3b`.`c2` like '%03') ), (`test`.`t2`.`b2` in on where ((`test`.`t2`.`b2` = `materialized-subquery`.`c2`)))))) and ((`test`.`t1`.`a1`) = `test`.`t2`.`b1`) and ((`test`.`t1`.`a2`) = `test`.`t2`.`b2`)))) and ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(/* select#5 */ select 1,1 from `test`.`t3` `t3c` where (((`test`.`t3c`.`c1`,`test`.`t3c`.`c2`),(((`test`.`t3c`.`c1`) in t2i on it2i3 where (((`test`.`t2i`.`b2` > '0') or (`test`.`t2i`.`b2` = `test`.`t1`.`a2`)) and ((`test`.`t3c`.`c1`) = `test`.`t2i`.`b1`) and ((`test`.`t3c`.`c2`) = `test`.`t2i`.`b2`))))) and ((`test`.`t1`.`a1`) = `test`.`t3c`.`c1`) and ((`test`.`t1`.`a2`) = `test`.`t3c`.`c2`))))) explain extended select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01'); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(/* select#2 */ select '1 - 01','2 - 01' having (((`test`.`t1`.`a1`) = '1 - 01') and ((`test`.`t1`.`a2`) = '2 - 01')))) select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01'); a1 a2 1 - 01 2 - 01 explain extended select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01' from dual); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where 2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` where ((`test`.`t1`.`a1`,`test`.`t1`.`a2`),(/* select#2 */ select '1 - 01','2 - 01' having (((`test`.`t1`.`a1`) = '1 - 01') and ((`test`.`t1`.`a2`) = '2 - 01')))) select * from t1 where (a1, a2) in (select '1 - 01', '2 - 01' from dual); a1 a2 1 - 01 2 - 01 /****************************************************************************** * Subqueries in other uncovered clauses. ******************************************************************************/ /* SELECT clause */ select ((a1,a2) IN (select * from t2 where b2 > '0')) IS NULL from t1; ((a1,a2) IN (select * from t2 where b2 > '0')) IS NULL 0 0 0 /* GROUP BY clause */ create table columns (col int key); insert into columns values (1), (2); explain extended select * from t1 group by (select col from columns limit 1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 NULL 2 SUBQUERY columns index NULL PRIMARY 4 NULL 2 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` group by (/* select#2 */ select `test`.`columns`.`col` from `test`.`columns` limit 1) select * from t1 group by (select col from columns limit 1); a1 a2 1 - 00 2 - 00 explain extended select * from t1 group by (a1 in (select col from columns)); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using temporary; Using filesort 2 DEPENDENT SUBQUERY columns unique_subquery PRIMARY PRIMARY 4 func 1 100.00 Using index; Using where; Full scan on NULL key Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` group by (`test`.`t1`.`a1`,(((`test`.`t1`.`a1`) in columns on PRIMARY where (outer_field_is_not_null, ((`test`.`t1`.`a1`) = `test`.`columns`.`col`), true)))) select * from t1 group by (a1 in (select col from columns)); a1 a2 1 - 00 2 - 00 /* ORDER BY clause */ explain extended select * from t1 order by (select col from columns limit 1); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 NULL 2 SUBQUERY columns index NULL PRIMARY 4 NULL 2 100.00 Using index Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a1` AS `a1`,`test`.`t1`.`a2` AS `a2` from `test`.`t1` order by (/* select#2 */ select `test`.`columns`.`col` from `test`.`columns` limit 1) select * from t1 order by (select col from columns limit 1); a1 a2 1 - 00 2 - 00 1 - 01 2 - 01 1 - 02 2 - 02 /****************************************************************************** * Column types/sizes that affect materialization. ******************************************************************************/ # test for BIT fields create table t1bit (a1 bit(3), a2 bit(3)); create table t2bit (b1 bit(3), b2 bit(3)); insert into t1bit values (b'000', b'100'); insert into t1bit values (b'001', b'101'); insert into t1bit values (b'010', b'110'); insert into t2bit values (b'001', b'101'); insert into t2bit values (b'010', b'110'); insert into t2bit values (b'110', b'111'); explain extended select bin(a1), bin(a2) from t1bit where (a1, a2) in (select b1, b2 from t2bit); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1bit ALL NULL NULL NULL NULL 3 100.00 Using where 2 SUBQUERY t2bit ALL NULL NULL NULL NULL 3 100.00 NULL Warnings: Note 1003 /* select#1 */ select conv(`test`.`t1bit`.`a1`,10,2) AS `bin(a1)`,conv(`test`.`t1bit`.`a2`,10,2) AS `bin(a2)` from `test`.`t1bit` where ((`test`.`t1bit`.`a1`,`test`.`t1bit`.`a2`),(`test`.`t1bit`.`a1`,`test`.`t1bit`.`a2`) in ( (/* select#2 */ select `test`.`t2bit`.`b1`,`test`.`t2bit`.`b2` from `test`.`t2bit` where 1 ), (`test`.`t1bit`.`a1` in on where ((`test`.`t1bit`.`a1` = `materialized-subquery`.`b1`) and (`test`.`t1bit`.`a2` = `materialized-subquery`.`b2`))))) select bin(a1), bin(a2) from t1bit where (a1, a2) in (select b1, b2 from t2bit); bin(a1) bin(a2) 1 101 10 110 drop table t1bit, t2bit; create table t1bb (a1 bit(3), a2 blob(3)); create table t2bb (b1 bit(3), b2 blob(3)); insert into t1bb values (b'000', '100'); insert into t1bb values (b'001', '101'); insert into t1bb values (b'010', '110'); insert into t2bb values (b'001', '101'); insert into t2bb values (b'010', '110'); insert into t2bb values (b'110', '111'); explain extended select bin(a1), a2 from t1bb where (a1, a2) in (select b1, b2 from t2bb); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1bb ALL NULL NULL NULL NULL 3 100.00 Using where 2 DEPENDENT SUBQUERY t2bb ALL NULL NULL NULL NULL 3 100.00 Using where Warnings: Note 1003 /* select#1 */ select conv(`test`.`t1bb`.`a1`,10,2) AS `bin(a1)`,`test`.`t1bb`.`a2` AS `a2` from `test`.`t1bb` where ((`test`.`t1bb`.`a1`,`test`.`t1bb`.`a2`),(/* select#2 */ select 1,1 from `test`.`t2bb` where (((`test`.`t1bb`.`a1`) = `test`.`t2bb`.`b1`) and ((`test`.`t1bb`.`a2`) = `test`.`t2bb`.`b2`)))) select bin(a1), a2 from t1bb where (a1, a2) in (select b1, b2 from t2bb); bin(a1) a2 1 101 10 110 drop table t1bb, t2bb; drop table t1, t2, t3, t1i, t2i, t3i, columns; /****************************************************************************** * Test the cache of the left operand of IN. ******************************************************************************/ # Test that default values of Cached_item are not used for comparison create table t1 (s1 int); create table t2 (s2 int); insert into t1 values (5),(1),(0); insert into t2 values (0), (1); select s2 from t2 where s2 in (select s1 from t1); s2 0 1 drop table t1, t2; create table t1 (a int not null, b int not null); create table t2 (c int not null, d int not null); create table t3 (e int not null); insert into t1 values (1,10); insert into t1 values (1,20); insert into t1 values (2,10); insert into t1 values (2,20); insert into t1 values (2,30); insert into t1 values (3,20); insert into t1 values (4,40); insert into t2 values (2,10); insert into t2 values (2,20); insert into t2 values (2,40); insert into t2 values (3,20); insert into t2 values (4,10); insert into t2 values (5,10); insert into t3 values (10); insert into t3 values (10); insert into t3 values (20); insert into t3 values (30); explain extended select a from t1 where a in (select c from t2 where d >= 20); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 7 100.00 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 6 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a`,`test`.`t1`.`a` in ( (/* select#2 */ select `test`.`t2`.`c` from `test`.`t2` where (`test`.`t2`.`d` >= 20) ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`c`))))) select a from t1 where a in (select c from t2 where d >= 20); a 2 2 2 3 create index it1a on t1(a); explain extended select a from t1 where a in (select c from t2 where d >= 20); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 index NULL it1a 4 NULL 7 100.00 Using where; Using index 2 SUBQUERY t2 ALL NULL NULL NULL NULL 6 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a`,`test`.`t1`.`a` in ( (/* select#2 */ select `test`.`t2`.`c` from `test`.`t2` where (`test`.`t2`.`d` >= 20) ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`c`))))) select a from t1 where a in (select c from t2 where d >= 20); a 2 2 2 3 insert into t2 values (1,10); explain extended select a from t1 where a in (select c from t2 where d >= 20); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 index NULL it1a 4 NULL 7 100.00 Using where; Using index 2 SUBQUERY t2 ALL NULL NULL NULL NULL 7 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a`,`test`.`t1`.`a` in ( (/* select#2 */ select `test`.`t2`.`c` from `test`.`t2` where (`test`.`t2`.`d` >= 20) ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`c`))))) select a from t1 where a in (select c from t2 where d >= 20); a 2 2 2 3 explain extended select a from t1 group by a having a in (select c from t2 where d >= 20); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 index it1a it1a 4 NULL 7 100.00 Using index 2 SUBQUERY t2 ALL NULL NULL NULL NULL 7 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` group by `test`.`t1`.`a` having (`test`.`t1`.`a`,`test`.`t1`.`a` in ( (/* select#2 */ select `test`.`t2`.`c` from `test`.`t2` where (`test`.`t2`.`d` >= 20) ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`c`))))) select a from t1 group by a having a in (select c from t2 where d >= 20); a 2 3 create index iab on t1(a, b); explain extended select a from t1 group by a having a in (select c from t2 where d >= 20); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 index it1a,iab it1a 4 NULL 7 100.00 Using index 2 SUBQUERY t2 ALL NULL NULL NULL NULL 7 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` group by `test`.`t1`.`a` having (`test`.`t1`.`a`,`test`.`t1`.`a` in ( (/* select#2 */ select `test`.`t2`.`c` from `test`.`t2` where (`test`.`t2`.`d` >= 20) ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`c`))))) select a from t1 group by a having a in (select c from t2 where d >= 20); a 2 3 explain extended select a from t1 group by a having a in (select c from t2 where d >= some(select e from t3 where max(b)=e)); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 index it1a,iab iab 8 NULL 7 100.00 Using index 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 7 100.00 Using where 3 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where Warnings: Note 1276 Field or reference 'test.t1.b' of SELECT #3 was resolved in SELECT #1 Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` group by `test`.`t1`.`a` having (`test`.`t1`.`a`,(/* select#2 */ select 1 from `test`.`t2` where (((`test`.`t2`.`d`,(/* select#3 */ select 1 from `test`.`t3` where (max(`test`.`t1`.`b`) = `test`.`t3`.`e`) having ((`test`.`t2`.`d`) >= (`test`.`t3`.`e`))))) and ((`test`.`t1`.`a`) = `test`.`t2`.`c`)))) select a from t1 group by a having a in (select c from t2 where d >= some(select e from t3 where max(b)=e)); a 2 3 explain extended select a from t1 where a in (select c from t2 where d >= some(select e from t3 where b=e)); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 index NULL iab 8 NULL 7 100.00 Using where; Using index 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 7 100.00 Using where 3 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 4 100.00 Using where Warnings: Note 1276 Field or reference 'test.t1.b' of SELECT #3 was resolved in SELECT #1 Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a`,(/* select#2 */ select 1 from `test`.`t2` where (((`test`.`t2`.`d`,(/* select#3 */ select 1 from `test`.`t3` where ((`test`.`t1`.`b` = `test`.`t3`.`e`) and ((`test`.`t2`.`d`) >= `test`.`t3`.`e`))))) and ((`test`.`t1`.`a`) = `test`.`t2`.`c`)))) select a from t1 where a in (select c from t2 where d >= some(select e from t3 where b=e)); a 1 2 2 2 3 drop table t1, t2, t3; create table t2 (a int, b int, key(a), key(b)); insert into t2 values (3,3),(3,3),(3,3); select 1 from t2 where t2.a > 1 or t2.a = 3 and not t2.a not in (select t2.b from t2); 1 1 1 1 drop table t2; create table t1 (a1 int key); create table t2 (b1 int); insert into t1 values (5); explain select min(a1) from t1 where 7 in (select b1 from t2 group by b1); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables select min(a1) from t1 where 7 in (select b1 from t2 group by b1); min(a1) NULL explain select min(a1) from t1 where 7 in (select b1 from t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables select min(a1) from t1 where 7 in (select b1 from t2); min(a1) NULL drop table t1,t2; create table t1 (a char(2), b varchar(10)); insert into t1 values ('a', 'aaa'); insert into t1 values ('aa', 'aaaa'); explain select a,b from t1 where b in (select a from t1); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where 2 SUBQUERY t1 ALL NULL NULL NULL NULL 2 NULL select a,b from t1 where b in (select a from t1); a b prepare st1 from "select a,b from t1 where b in (select a from t1)"; execute st1; a b execute st1; a b drop table t1; CREATE TABLE t1 (a varchar(5), b varchar(10)); INSERT INTO t1 VALUES ('AAA', 5), ('BBB', 4), ('BBB', 1), ('CCC', 2), ('CCC', 7), ('AAA', 2), ('AAA', 4), ('BBB', 3), ('AAA', 8); SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a); a b BBB 4 CCC 7 AAA 8 EXPLAIN SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where 2 SUBQUERY t1 ALL NULL NULL NULL NULL 9 Using temporary; Using filesort ALTER TABLE t1 ADD INDEX(a); FLUSH STATUS; SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a); a b BBB 4 CCC 7 AAA 8 SHOW SESSION STATUS LIKE 'Sort_scan%'; Variable_name Value Sort_scan 1 EXPLAIN SELECT * FROM t1 WHERE (a,b) = ANY (SELECT a, max(b) FROM t1 GROUP BY a); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 9 Using where 2 SUBQUERY t1 ALL a NULL NULL NULL 9 Using temporary; Using filesort DROP TABLE t1; CREATE TABLE t1 (a INT); INSERT INTO t1 VALUES (1),(2); EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 GROUP BY a); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select 1 AS `1` from `test`.`t1` where (1,(/* select#2 */ select 1 from `test`.`t1` where 1)) EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 WHERE a > 3 GROUP BY a); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1003 /* select#1 */ select 1 AS `1` from `test`.`t1` where (1,(/* select#2 */ select 1 from `test`.`t1` where (`test`.`t1`.`a` > 3))) DROP TABLE t1; # # BUG#49630: Segfault in select_describe() with double # nested subquery and materialization # CREATE TABLE t1 (t1i int); CREATE TABLE t2 (t2i int); CREATE TABLE t3 (t3i int); CREATE TABLE t4 (t4i int); INSERT INTO t1 VALUES (1); INSERT INTO t2 VALUES (1),(2); INSERT INTO t3 VALUES (1),(2); INSERT INTO t4 VALUES (1),(2); EXPLAIN SELECT t1i FROM t1 JOIN t4 ON t1i=t4i WHERE (t1i) IN ( SELECT t2i FROM t2 WHERE (t2i) IN ( SELECT t3i FROM t3 GROUP BY t3i ) ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 NULL 1 PRIMARY t4 ALL NULL NULL NULL NULL 2 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where 3 SUBQUERY t3 ALL NULL NULL NULL NULL 2 NULL DROP TABLE t1,t2,t3,t4; # # BUG#46680 - Assertion failed in file item_subselect.cc, # line 305 crashing on HAVING subquery # # Create tables # CREATE TABLE t1 ( pk INT, v VARCHAR(1) DEFAULT NULL, PRIMARY KEY(pk) ); CREATE TABLE t2 LIKE t1; CREATE TABLE t3 LIKE t1; CREATE TABLE empty1 (a int); INSERT INTO t1 VALUES (1,'c'),(2,NULL); INSERT INTO t2 VALUES (3,'m'),(4,NULL); INSERT INTO t3 VALUES (1,'n'); # # 1) Test that subquery materialization is setup for query with # premature optimize() exit due to "Impossible WHERE" # SELECT MIN(t2.pk) FROM t2 JOIN t1 ON t1.pk=t2.pk WHERE 'j' HAVING ('m') IN ( SELECT v FROM t2); MIN(t2.pk) NULL Warnings: Warning 1292 Truncated incorrect INTEGER value: 'j' EXPLAIN SELECT MIN(t2.pk) FROM t2 JOIN t1 ON t1.pk=t2.pk WHERE 'j' HAVING ('m') IN ( SELECT v FROM t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where Warnings: Warning 1292 Truncated incorrect INTEGER value: 'j' # # 2) Test that subquery materialization is setup for query with # premature optimize() exit due to "No matching min/max row" # SELECT MIN(t2.pk) FROM t2 WHERE t2.pk>10 HAVING ('m') IN ( SELECT v FROM t2); MIN(t2.pk) NULL EXPLAIN SELECT MIN(t2.pk) FROM t2 WHERE t2.pk>10 HAVING ('m') IN ( SELECT v FROM t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL No matching min/max row 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where # # 3) Test that subquery materialization is setup for query with # premature optimize() exit due to "Select tables optimized away" # SELECT MIN(pk) FROM t1 WHERE pk=NULL HAVING ('m') IN ( SELECT v FROM t2); MIN(pk) NULL EXPLAIN SELECT MIN(pk) FROM t1 WHERE pk=NULL HAVING ('m') IN ( SELECT v FROM t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where # # 4) Test that subquery materialization is setup for query with # premature optimize() exit due to "No matching row in const table" # SELECT MIN(a) FROM (SELECT a FROM empty1) tt HAVING ('m') IN ( SELECT v FROM t2); MIN(a) NULL EXPLAIN SELECT MIN(a) FROM (SELECT a FROM empty1) tt HAVING ('m') IN ( SELECT v FROM t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY system NULL NULL NULL NULL 0 const row not found 3 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where 2 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table # # 5) Test that subquery materialization is setup for query with # premature optimize() exit due to "Impossible WHERE noticed # after reading const tables" # SELECT min(t1.pk) FROM t1 WHERE t1.pk IN (SELECT 1 from t3 where pk>10) HAVING ('m') IN ( SELECT v FROM t2); min(t1.pk) NULL EXPLAIN SELECT min(t1.pk) FROM t1 WHERE t1.pk IN (SELECT 1 from t3 where pk>10) HAVING ('m') IN ( SELECT v FROM t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 index NULL PRIMARY 4 NULL 2 Using where; Using index 3 SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where 2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables # # Cleanup for BUG#46680 # DROP TABLE IF EXISTS t1,t2,t3,empty1; # # BUG#52344 - Subquery materialization: # Assertion if subquery in on-clause of outer join # CREATE TABLE t1 (i INTEGER); INSERT INTO t1 VALUES (10); CREATE TABLE t2 (j INTEGER); INSERT INTO t2 VALUES (5); CREATE TABLE t3 (k INTEGER); EXPLAIN SELECT i, j FROM t1 LEFT JOIN t2 ON (j) IN (SELECT k FROM t3); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 NULL 1 PRIMARY t2 system NULL NULL NULL NULL 1 NULL 2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table SELECT i, j FROM t1 LEFT JOIN t2 ON (j) IN (SELECT k FROM t3); i j 10 NULL EXPLAIN SELECT i, j FROM t1 LEFT JOIN t2 ON (j) IN (SELECT max(k) FROM t3); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 NULL 1 PRIMARY t2 system NULL NULL NULL NULL 1 NULL 2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table SELECT i, j FROM t1 LEFT JOIN t2 ON (j) IN (SELECT max(k) FROM t3); i j 10 NULL DROP TABLE t1, t2, t3; # End BUG#52344 CREATE TABLE t1 ( pk INTEGER AUTO_INCREMENT, col_int_nokey INTEGER, col_int_key INTEGER, col_varchar_key VARCHAR(1), PRIMARY KEY (pk), KEY (col_int_key), KEY (col_varchar_key, col_int_key) ) ; INSERT INTO t1 ( col_int_key, col_int_nokey, col_varchar_key ) VALUES (2, NULL, 'w'), (9, 7, 'm'), (3, 9, 'm'), (9, 7, 'k'), (NULL, 4, 'r'), (9, 2, 't'), (3, 6, 'j'), (8, 8, 'u'), (8, NULL, 'h'), (53, 5, 'o'), (0, NULL, NULL), (5, 6, 'k'), (166, 188, 'e'), (3, 2, 'n'), (0, 1, 't'), (1, 1, 'c'), (9, 0, 'm'), (5, 9, 'y'), (6, NULL, 'f'), (2, 4, 'd') ; SELECT table2.col_varchar_key AS field1, table2.col_int_nokey AS field2 FROM ( t1 AS table1 LEFT OUTER JOIN t1 AS table2 ON (table2.col_varchar_key = table1.col_varchar_key ) ) WHERE table1.pk = 6 HAVING ( field2 ) IN ( SELECT SUBQUERY2_t2.col_int_nokey AS SUBQUERY2_field2 FROM ( t1 AS SUBQUERY2_t1 JOIN t1 AS SUBQUERY2_t2 ON (SUBQUERY2_t2.col_varchar_key = SUBQUERY2_t1.col_varchar_key ) ) ) ORDER BY field2 ; field1 field2 t 1 t 2 drop table t1; # # BUG#53103: MTR test ps crashes in optimize_cond() # when running with --debug # CREATE TABLE t1(track varchar(15)); INSERT INTO t1 VALUES ('CAD'), ('CAD'); PREPARE STMT FROM "SELECT 1 FROM t1 WHERE track IN (SELECT track FROM t1 GROUP BY track HAVING track>='CAD')"; EXECUTE STMT ; 1 1 1 EXECUTE STMT ; 1 1 1 DEALLOCATE PREPARE STMT; DROP TABLE t1; # End of BUG#53103 # # BUG#54511 - Assertion failed: cache != 0L in file # sql_select.cc::sub_select_cache on HAVING # CREATE TABLE t1 (i int(11)); CREATE TABLE t2 (c char(1)); CREATE TABLE t3 (c char(1)); INSERT INTO t1 VALUES (1), (2); INSERT INTO t2 VALUES ('a'), ('b'); INSERT INTO t3 VALUES ('x'), ('y'); SELECT COUNT( i ),i FROM t1 HAVING ('c') IN (SELECT t2.c FROM (t2 JOIN t3)); COUNT( i ) i DROP TABLE t1,t2,t3; # End BUG#54511 # # BUG#56367 - Assertion exec_method != EXEC_MATERIALIZATION... # on subquery in FROM # CREATE TABLE t1 (a INTEGER); CREATE TABLE t2 (b INTEGER); INSERT INTO t2 VALUES (1); explain SELECT a FROM ( SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a > 3 OR t2.b IN (SELECT a FROM t1) ) table1; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY system NULL NULL NULL NULL 0 const row not found 2 DERIVED NULL NULL NULL NULL NULL NULL NULL no matching row in const table 3 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table SELECT a FROM ( SELECT t1.* FROM t1 LEFT JOIN t2 ON t1.a > 3 OR t2.b IN (SELECT a FROM t1) ) table1; a DROP TABLE t1, t2; # End BUG#56367 # # Bug#59833 - materialization=on/off leads to different result set # when using IN # CREATE TABLE t1 ( pk int NOT NULL, f1 int DEFAULT NULL, PRIMARY KEY (pk) ) ENGINE=MyISAM; CREATE TABLE t2 ( pk int NOT NULL, f1 int DEFAULT NULL, PRIMARY KEY (pk) ) ENGINE=MyISAM; INSERT INTO t1 VALUES (10,0); INSERT INTO t2 VALUES (10,0),(11,0); explain SELECT * FROM t1 JOIN t2 USING (f1) WHERE t1.f1 IN (SELECT t1.pk FROM t1 ORDER BY t1.f1); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables 2 DEPENDENT SUBQUERY t1 system PRIMARY NULL NULL NULL 1 NULL SELECT * FROM t1 JOIN t2 USING (f1) WHERE t1.f1 IN (SELECT t1.pk FROM t1 ORDER BY t1.f1); f1 pk pk DROP TABLE t1, t2; # End Bug#59833 # # Bug#11852644 - CRASH IN ITEM_REF::SAVE_IN_FIELD ON SELECT DISTINCT # CREATE TABLE t1 ( col_varchar_key varchar(1) DEFAULT NULL, col_varchar_nokey varchar(1) DEFAULT NULL, KEY col_varchar_key (col_varchar_key)) ; INSERT INTO t1 VALUES ('v','v'),('r','r'); CREATE TABLE t2 ( col_varchar_key varchar(1) DEFAULT NULL, col_varchar_nokey varchar(1) DEFAULT NULL, KEY col_varchar_key(col_varchar_key)) ; INSERT INTO t2 VALUES ('r','r'),('c','c'); CREATE VIEW v3 AS SELECT * FROM t2; SELECT DISTINCT alias2.col_varchar_key FROM t1 AS alias1 JOIN v3 AS alias2 ON alias2.col_varchar_key = alias1.col_varchar_key HAVING col_varchar_key IN (SELECT col_varchar_nokey FROM t2) ; col_varchar_key r DROP TABLE t1, t2; DROP VIEW v3; # End Bug#11852644 # Bug#12668294 - GROUP BY ON EMPTY RESULT GIVES EMPTY ROW # INSTEAD OF NULL WHEN MATERIALIZATION ON CREATE TABLE t1 (col_int_nokey INT) ENGINE=MEMORY; CREATE TABLE t2 (col_int_nokey INT) ENGINE=MEMORY; INSERT INTO t2 VALUES (8),(7); CREATE TABLE t3 (col_int_nokey INT) ENGINE=MEMORY; INSERT INTO t3 VALUES (7); SELECT MIN(t3.col_int_nokey),t1.col_int_nokey AS field3 FROM t3 LEFT JOIN t1 ON t1.col_int_nokey WHERE (194, 200) IN ( SELECT SQ4_alias1.col_int_nokey, SQ4_alias2.col_int_nokey FROM t2 AS SQ4_alias1 JOIN t2 AS SQ4_alias2 ON SQ4_alias2.col_int_nokey = 5 ) GROUP BY field3 ; MIN(t3.col_int_nokey) field3 DROP TABLE t1; DROP TABLE t2; DROP TABLE t3; # # Bug#13419028 - SUBQUERY MATERIALIZATION NOT USED IN CREATE # SELECT # CREATE TABLE t1(a int); INSERT INTO t1 values(1),(2); CREATE TABLE t2(a int); INSERT INTO t2 values(1),(2); EXPLAIN SELECT * FROM t1 WHERE a IN (SELECT * FROM t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 NULL FLUSH STATUS; SELECT * FROM t1 WHERE a IN (SELECT * FROM t2); a 1 2 CREATE TABLE t3 SELECT * FROM t1 WHERE a IN (SELECT * FROM t2); SELECT * FROM t3; a 1 2 SHOW STATUS LIKE "CREATED_TMP_TABLES"; Variable_name Value Created_tmp_tables 2 DROP TABLE t1,t2,t3; # # Bug#13552968: Extra row with materialization on join + subquery in # CREATE TABLE t1 ( col_varchar_nokey varchar(1) NOT NULL ) ENGINE=MyISAM; INSERT INTO t1 VALUES ('b'); CREATE TABLE t2 ( col_varchar_nokey varchar(1) NOT NULL ) ENGINE=MyISAM; INSERT INTO t2 VALUES ('k'); CREATE TABLE t3 ( col_varchar_nokey varchar(1) NOT NULL ) ENGINE=MyISAM; explain SELECT STRAIGHT_JOIN * FROM t1 LEFT JOIN t2 ON t1.col_varchar_nokey IN (SELECT col_varchar_nokey FROM t3); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 system NULL NULL NULL NULL 1 NULL 1 PRIMARY t2 system NULL NULL NULL NULL 1 NULL 2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL no matching row in const table SELECT STRAIGHT_JOIN * FROM t1 LEFT JOIN t2 ON t1.col_varchar_nokey IN (SELECT col_varchar_nokey FROM t3); col_varchar_nokey col_varchar_nokey b NULL DROP TABLE t1, t2, t3; # End of test for bug#13552968 # # Bug#13591383: Assertion !(*tab->on_expr_ref && .. && is_expensive()) # in join_read_const_table() # CREATE TABLE t1 (v INTEGER) ENGINE=MyISAM; INSERT INTO t1 VALUES(1); CREATE TABLE t2 (v INTEGER) ENGINE=MyISAM; SELECT * FROM t1 LEFT JOIN t2 ON t2.v IN(SELECT v FROM t1); v v 1 NULL DROP TABLE t1, t2; # End of test for bug#13591383. # # Bug#13607423: Assertion !(*tab->on_expr_ref->is_expensive()) # in join_read_const_table() # CREATE TABLE t1 ( pk int NOT NULL, col_int_nokey int DEFAULT NULL, col_int_key int DEFAULT NULL, PRIMARY KEY (pk), KEY col_int_key (col_int_key) ) ENGINE=MyISAM; INSERT INTO t1 VALUES (1,2,4), (2,150,62); CREATE TABLE t2 ( pk int NOT NULL, col_int_key int DEFAULT NULL, PRIMARY KEY (pk) ) ENGINE=MyISAM; INSERT INTO t2 VALUES (1,7); explain SELECT table1.pk, table2.pk FROM t2 AS table1 LEFT JOIN t2 AS table2 ON table2.pk = table1.pk AND table2.col_int_key IN (SELECT col_int_key FROM t1 AS innr WHERE innr.col_int_nokey > innr.col_int_nokey GROUP BY col_int_key HAVING COUNT(*) > 0 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY table1 system NULL NULL NULL NULL 1 NULL 1 PRIMARY table2 system PRIMARY NULL NULL NULL 1 NULL 2 DEPENDENT SUBQUERY innr ALL col_int_key NULL NULL NULL 2 Using where; Using temporary; Using filesort FLUSH STATUS; SELECT table1.pk, table2.pk FROM t2 AS table1 LEFT JOIN t2 AS table2 ON table2.pk = table1.pk AND table2.col_int_key IN (SELECT col_int_key FROM t1 AS innr WHERE innr.col_int_nokey > innr.col_int_nokey GROUP BY col_int_key HAVING COUNT(*) > 0 ); pk pk 1 NULL SHOW SESSION STATUS LIKE 'Sort_scan%'; Variable_name Value Sort_scan 1 DROP TABLE t1, t2; # End of test for bug#13607423. Test of WL#6094 "Allow subquery materialization in NOT IN if all columns are not nullable" create table t1(a int not null); create table t2(a int not null); insert into t1 values(1),(2); insert into t2 values(1),(2); Test in SELECT list cols not nullable => subq materialization explain extended select a, (a,a) in (select a,a from t2) from t1; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,((`test`.`t1`.`a`,`test`.`t1`.`a`),(`test`.`t1`.`a`,`test`.`t1`.`a`) in ( (/* select#2 */ select `test`.`t2`.`a`,`test`.`t2`.`a` from `test`.`t2` where 1 having 1 ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`a`) and (`test`.`t1`.`a` = `materialized-subquery`.`a`))))) AS `(a,a) in (select a,a from t2)` from `test`.`t1` select a, (a,a) in (select a,a from t2) from t1; a (a,a) in (select a,a from t2) 1 1 2 1 cols not nullable => subq materialization explain extended select t1.a, t2.a, (t1.a,t1.a) in (select a,a from t2 as t3) from t1 join t2 on t1.a+t2.a=1000; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (Block Nested Loop) 2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `a`,((`test`.`t1`.`a`,`test`.`t1`.`a`),(`test`.`t1`.`a`,`test`.`t1`.`a`) in ( (/* select#2 */ select `test`.`t3`.`a`,`test`.`t3`.`a` from `test`.`t2` `t3` where 1 having 1 ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`a`) and (`test`.`t1`.`a` = `materialized-subquery`.`a`))))) AS `(t1.a,t1.a) in (select a,a from t2 as t3)` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`a` + `test`.`t2`.`a`) = 1000) select t1.a, t2.a, (t1.a,t1.a) in (select a,a from t2 as t3) from t1 join t2 on t1.a+t2.a=1000; a a (t1.a,t1.a) in (select a,a from t2 as t3) t2.a is not nullable, but in the query it may appear as NULL as it's in an outer join. So, no materialization. explain extended select t1.a, t2.a, (t2.a,t2.a) in (select a,a from t2 as t3) from t1 left join t2 on t1.a+t2.a=1000; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (Block Nested Loop) 2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `a`,((`test`.`t2`.`a`,`test`.`t2`.`a`),(/* select#2 */ select 1,1 from `test`.`t2` `t3` where ((outer_field_is_not_null, (((`test`.`t2`.`a`) = `test`.`t3`.`a`) or (isnull(`test`.`t3`.`a`))), true) and (outer_field_is_not_null, (((`test`.`t2`.`a`) = `test`.`t3`.`a`) or (isnull(`test`.`t3`.`a`))), true)) having ((outer_field_is_not_null, (`test`.`t3`.`a`), true) and (outer_field_is_not_null, (`test`.`t3`.`a`), true)))) AS `(t2.a,t2.a) in (select a,a from t2 as t3)` from `test`.`t1` left join `test`.`t2` on(((`test`.`t1`.`a` + `test`.`t2`.`a`) = 1000)) where 1 select t1.a, t2.a, (t2.a,t2.a) in (select a,a from t2 as t3) from t1 left join t2 on t1.a+t2.a=1000; a a (t2.a,t2.a) in (select a,a from t2 as t3) 1 NULL NULL 2 NULL NULL alter table t2 modify a int; two nullable inner cols => no subq materialization explain extended select t1.a, t2.a, (t1.a,t1.a) in (select a,a from t2 as t3) from t1 join t2 on t1.a+t2.a=1000; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (Block Nested Loop) 2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `a`,((`test`.`t1`.`a`,`test`.`t1`.`a`),(/* select#2 */ select 1,1 from `test`.`t2` `t3` where ((((`test`.`t1`.`a`) = `test`.`t3`.`a`) or isnull(`test`.`t3`.`a`)) and (((`test`.`t1`.`a`) = `test`.`t3`.`a`) or isnull(`test`.`t3`.`a`))) having ((`test`.`t3`.`a`) and (`test`.`t3`.`a`)))) AS `(t1.a,t1.a) in (select a,a from t2 as t3)` from `test`.`t1` join `test`.`t2` where ((`test`.`t1`.`a` + `test`.`t2`.`a`) = 1000) select t1.a, t2.a, (t1.a,t1.a) in (select a,a from t2 as t3) from t1 join t2 on t1.a+t2.a=1000; a a (t1.a,t1.a) in (select a,a from t2 as t3) alter table t2 modify a int not null; Test in WHERE top-level => subq materialization. With one exception: if semijoin is enabled in @@optimizer_switch, semijoin is chosen, then rejected (due to outer join), and in that case, the fallback is IN->EXISTS, subq-materialization is not tried... explain extended select t1.a, t2.a from t1 join t2 on t1.a+t2.a=3 where (t2.a,t2.a) in (select a,a from t2 as t3); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (Block Nested Loop) 2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `a` from `test`.`t1` join `test`.`t2` where (((`test`.`t2`.`a`,`test`.`t2`.`a`),(`test`.`t2`.`a`,`test`.`t2`.`a`) in ( (/* select#2 */ select `test`.`t3`.`a`,`test`.`t3`.`a` from `test`.`t2` `t3` where 1 ), (`test`.`t2`.`a` in on where ((`test`.`t2`.`a` = `materialized-subquery`.`a`) and (`test`.`t2`.`a` = `materialized-subquery`.`a`))))) and ((`test`.`t1`.`a` + `test`.`t2`.`a`) = 3)) select t1.a, t2.a from t1 join t2 on t1.a+t2.a=3 where (t2.a,t2.a) in (select a,a from t2 as t3); a a 2 1 1 2 cols not nullable => subq materialization explain extended select t1.a, t2.a from t1 join t2 on t1.a+t2.a=3 where (t2.a,t2.a) not in (select a,a from t2 as t3); id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (Block Nested Loop) 2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `a` from `test`.`t1` join `test`.`t2` where ((not(((`test`.`t2`.`a`,`test`.`t2`.`a`),(`test`.`t2`.`a`,`test`.`t2`.`a`) in ( (/* select#2 */ select `test`.`t3`.`a`,`test`.`t3`.`a` from `test`.`t2` `t3` where 1 having 1 ), (`test`.`t2`.`a` in on where ((`test`.`t2`.`a` = `materialized-subquery`.`a`) and (`test`.`t2`.`a` = `materialized-subquery`.`a`))))))) and ((`test`.`t1`.`a` + `test`.`t2`.`a`) = 3)) select t1.a, t2.a from t1 join t2 on t1.a+t2.a=3 where (t2.a,t2.a) not in (select a,a from t2 as t3); a a drop table t1,t2; Test of WL6095 "Allow subquery materialization in NOT IN if single-column subquery" create table t1(a int null); create table t2(a int null); insert into t1 values(1),(2); insert into t2 values(1),(2); one col => subq materialization explain extended select a, a in (select a from t2) from t1; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,(`test`.`t1`.`a`,`test`.`t1`.`a` in ( (/* select#2 */ select `test`.`t2`.`a` from `test`.`t2` where 1 having 1 ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`a`))))) AS `a in (select a from t2)` from `test`.`t1` select a, a in (select a from t2) from t1; a a in (select a from t2) 1 1 2 1 t2.a is not nullable, but in the query it may appear as NULL as it's in an outer join. But there is only one inner column so materialization is possible explain extended select t1.a, t2.a, t2.a in (select * from t2 as t3) from t1 left join t2 on t1.a+t2.a=1000; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (Block Nested Loop) 2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `a`,(`test`.`t2`.`a`,`test`.`t2`.`a` in ( (/* select#2 */ select `test`.`t3`.`a` from `test`.`t2` `t3` where 1 having 1 ), (`test`.`t2`.`a` in on where ((`test`.`t2`.`a` = `materialized-subquery`.`a`))))) AS `t2.a in (select * from t2 as t3)` from `test`.`t1` left join `test`.`t2` on(((`test`.`t1`.`a` + `test`.`t2`.`a`) = 1000)) where 1 select t1.a, t2.a, t2.a in (select * from t2 as t3) from t1 left join t2 on t1.a+t2.a=1000; a a t2.a in (select * from t2 as t3) 1 NULL NULL 2 NULL NULL _two_ outer columns, nullable => no materialization explain extended select t1.a, t2.a, (t2.a,t2.a) in (select a,a from t2 as t3) from t1 left join t2 on t1.a+t2.a=1000; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 100.00 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (Block Nested Loop) 2 DEPENDENT SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t2`.`a` AS `a`,((`test`.`t2`.`a`,`test`.`t2`.`a`),(/* select#2 */ select 1,1 from `test`.`t2` `t3` where ((outer_field_is_not_null, (((`test`.`t2`.`a`) = `test`.`t3`.`a`) or isnull(`test`.`t3`.`a`)), true) and (outer_field_is_not_null, (((`test`.`t2`.`a`) = `test`.`t3`.`a`) or isnull(`test`.`t3`.`a`)), true)) having ((outer_field_is_not_null, (`test`.`t3`.`a`), true) and (outer_field_is_not_null, (`test`.`t3`.`a`), true)))) AS `(t2.a,t2.a) in (select a,a from t2 as t3)` from `test`.`t1` left join `test`.`t2` on(((`test`.`t1`.`a` + `test`.`t2`.`a`) = 1000)) where 1 select t1.a, t2.a, (t2.a,t2.a) in (select a,a from t2 as t3) from t1 left join t2 on t1.a+t2.a=1000; a a (t2.a,t2.a) in (select a,a from t2 as t3) 1 NULL NULL 2 NULL NULL drop table t1,t2; Test in HAVING create table t1(a int, b int); create table t2(a int); insert into t1 values(1,1),(1,2),(1,3),(2,1),(2,2),(2,3); insert into t2 values(10),(20); no NULLs. explain extended select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00 Using temporary; Using filesort 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `z`,sum(`test`.`t1`.`b`) AS `sum(t1.b)` from `test`.`t1` group by `test`.`t1`.`a` having isnull((`z`,`z` in ( (/* select#2 */ select `test`.`t2`.`a` from `test`.`t2` where 1 having 1 ), (`z` in on where ((`z` = `materialized-subquery`.`a`)))))) select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; z sum(t1.b) one outer NULL insert into t1 values(null,null); explain extended select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 7 100.00 Using temporary; Using filesort 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `z`,sum(`test`.`t1`.`b`) AS `sum(t1.b)` from `test`.`t1` group by `test`.`t1`.`a` having isnull((`z`,`z` in ( (/* select#2 */ select `test`.`t2`.`a` from `test`.`t2` where 1 having 1 ), (`z` in on where ((`z` = `materialized-subquery`.`a`)))))) select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; z sum(t1.b) NULL NULL one outer NULL and one inner NULL insert into t2 values(null); explain extended select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 7 100.00 Using temporary; Using filesort 2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `z`,sum(`test`.`t1`.`b`) AS `sum(t1.b)` from `test`.`t1` group by `test`.`t1`.`a` having isnull((`z`,`z` in ( (/* select#2 */ select `test`.`t2`.`a` from `test`.`t2` where 1 having 1 ), (`z` in on where ((`z` = `materialized-subquery`.`a`)))))) select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; z sum(t1.b) NULL NULL 1 6 2 6 one inner NULL delete from t1 where a is null; explain extended select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 6 100.00 Using temporary; Using filesort 2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `z`,sum(`test`.`t1`.`b`) AS `sum(t1.b)` from `test`.`t1` group by `test`.`t1`.`a` having isnull((`z`,`z` in ( (/* select#2 */ select `test`.`t2`.`a` from `test`.`t2` where 1 having 1 ), (`z` in on where ((`z` = `materialized-subquery`.`a`)))))) select t1.a as z, sum(t1.b) from t1 group by t1.a having (z in (select * from t2)) is null; z sum(t1.b) 1 6 2 6 drop table t1,t2; Verify that an inner NULL is looked up only once (result is cached). create table t1(a int); create table t2(a int); insert into t1 values(1),(2),(3),(4),(5),(6); insert into t1 select * from t1; insert into t2 values(10),(20),(NULL); explain extended select a, (a in (select * from t2)) from t1; id select_type table type possible_keys key key_len ref rows filtered Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 12 100.00 NULL 2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 100.00 NULL Warnings: Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,(`test`.`t1`.`a`,`test`.`t1`.`a` in ( (/* select#2 */ select `test`.`t2`.`a` from `test`.`t2` where 1 having 1 ), (`test`.`t1`.`a` in on where ((`test`.`t1`.`a` = `materialized-subquery`.`a`))))) AS `(a in (select * from t2))` from `test`.`t1` flush status; select a, (a in (select * from t2)) from t1; a (a in (select * from t2)) 1 NULL 2 NULL 3 NULL 4 NULL 5 NULL 6 NULL 1 NULL 2 NULL 3 NULL 4 NULL 5 NULL 6 NULL There will be one look-up in the temporary table for each row of t1 (12), plus one additional look-up to check whether table contains a NULL value. show status like "handler_read_key"; Variable_name Value Handler_read_key 13 drop table t1,t2; # # Bug#13495157 - SUBQUERY MATERIALIZATION NOT USED FOR CERTAIN # STATEMENTS # CREATE TABLE t1(a INT); INSERT INTO t1 VALUES(1),(2),(3); CREATE TABLE t2(a INT); INSERT INTO t2 VALUES(1),(2),(4); # subquery materialization used for SELECT: EXPLAIN SELECT * FROM t1 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where SELECT * FROM t1 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); a 1 # Also used for INSERT SELECT: CREATE TABLE t3 SELECT * FROM t1; EXPLAIN INSERT INTO t3 SELECT * FROM t1 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where INSERT INTO t3 SELECT * FROM t1 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); SELECT * FROM t3; a 1 1 2 3 EXPLAIN INSERT INTO t2 SELECT * FROM t1 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 3 Using where; Using temporary 2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where INSERT INTO t2 SELECT * FROM t1 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); SELECT * FROM t2; a 1 1 2 4 EXPLAIN INSERT INTO t2 SELECT * FROM t2 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t2 ALL NULL NULL NULL NULL 4 Using where; Using temporary 2 SUBQUERY t2 ALL NULL NULL NULL NULL 4 Using where INSERT INTO t2 SELECT * FROM t2 WHERE a IN (SELECT * FROM t2 WHERE a <> 2); SELECT * FROM t2; a 1 1 1 1 2 4 4 # Not used for single-table UPDATE, DELETE: EXPLAIN SELECT * FROM t2 WHERE a IN (SELECT * FROM t1); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t2 ALL NULL NULL NULL NULL 7 Using where 2 SUBQUERY t1 ALL NULL NULL NULL NULL 3 NULL EXPLAIN UPDATE t2 SET a=a-1 WHERE a IN (SELECT * FROM t1); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t2 ALL NULL NULL NULL NULL 7 Using where 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where UPDATE t2 SET a=a-1 WHERE a IN (SELECT * FROM t1); SELECT * FROM t2; a 0 0 0 0 1 4 4 EXPLAIN DELETE FROM t2 WHERE a IN (SELECT * FROM t1); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t2 ALL NULL NULL NULL NULL 7 Using where 2 DEPENDENT SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where DELETE FROM t2 WHERE a IN (SELECT * FROM t1); SELECT * FROM t2; a 0 0 0 0 4 4 EXPLAIN UPDATE t2 SET a=a-1 WHERE a IN (SELECT * FROM t2); ERROR HY000: You can't specify target table 't2' for update in FROM clause EXPLAIN DELETE FROM t2 WHERE a IN (SELECT * FROM t2); ERROR HY000: You can't specify target table 't2' for update in FROM clause UPDATE t2 SET a=3 WHERE a=0; # Used for multi-table UPDATE, DELETE: EXPLAIN SELECT * FROM t2,t3 WHERE t2.a IN (SELECT * FROM t1 WHERE a <> 2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t3 ALL NULL NULL NULL NULL 4 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer (Block Nested Loop) 2 SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where EXPLAIN UPDATE t2,t3 SET t2.a=t2.a-2 WHERE t2.a IN (SELECT * FROM t1 WHERE a <> 2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t3 ALL NULL NULL NULL NULL 4 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer (Block Nested Loop) 2 SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where UPDATE t2,t3 SET t2.a=t2.a-2 WHERE t2.a IN (SELECT * FROM t1 WHERE a <> 2); SELECT * FROM t2; a 1 1 1 1 4 4 EXPLAIN DELETE t2.* FROM t2,t3 WHERE t2.a IN (SELECT * FROM t1 WHERE a <> 2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t3 ALL NULL NULL NULL NULL 4 NULL 1 PRIMARY t2 ALL NULL NULL NULL NULL 6 Using where; Using join buffer (Block Nested Loop) 2 SUBQUERY t1 ALL NULL NULL NULL NULL 3 Using where DELETE t2.* FROM t2,t3 WHERE t2.a IN (SELECT * FROM t1 WHERE a <> 2); SELECT * FROM t2; a 4 4 EXPLAIN UPDATE t2,t3 SET t2.a=10 WHERE t2.a IN (SELECT * FROM t2 WHERE a <> 2); ERROR HY000: You can't specify target table 't2' for update in FROM clause EXPLAIN DELETE t2.* FROM t2,t3 WHERE t2.a IN (SELECT * FROM t2 WHERE a <> 2); ERROR HY000: You can't specify target table 't2' for update in FROM clause DROP TABLE t1,t2,t3; # # Test that subquery materialization only does one lookup: does # not try to read the next row if the first row failed the # subquery's WHERE. We use a case where index lookup is not # enough to satisfy IN(), because index has length two when the # outer value has length three, and thus the post-filtering # WHERE added by subselect_hash_sj_engine::setup() makes the # decision. # create table t1 (a varchar(3)); create table t2 (a varchar(2)); insert into t1 values('aaa'), ('aaa'); insert into t2 values('aa'), ('aa'); explain select * from t1 where a in (select a from t2); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 NULL flush status; select * from t1 where a in (select a from t2); a show status like "handler_read%"; Variable_name Value Handler_read_first 0 Handler_read_key 1 Handler_read_last 0 Handler_read_next 0 Handler_read_prev 0 Handler_read_rnd 0 Handler_read_rnd_next 6 drop table t1,t2; # # Bug#13655791 DIFFERENT RESULT WITH WL6094 ON QUERY WITH XOR # IN WHERE CLAUSE + MYISAM # CREATE TABLE t1 ( pk int NOT NULL, col_varchar_nokey varchar(1) DEFAULT NULL, PRIMARY KEY (pk) ); INSERT INTO t1 VALUES (10,'x'); CREATE TABLE t2 ( pk int NOT NULL, col_varchar_nokey varchar(1) DEFAULT NULL, PRIMARY KEY (pk) ); INSERT INTO t2 VALUES (1,'v'), (5,'x'), (11,'z'), (12,'c'), (15,'y'); CREATE TABLE t3 ( pk int NOT NULL, col_int_key int DEFAULT NULL, PRIMARY KEY (pk), KEY col_int_key (col_int_key) ); INSERT INTO t3 VALUES (10,8); CREATE TABLE t4 ( pk int NOT NULL, col_varchar_nokey varchar(1) DEFAULT NULL, PRIMARY KEY (pk) ); INSERT INTO t4 VALUES (1,'x'); EXPLAIN SELECT OUTR.pk, OUTR.col_varchar_nokey, OUTR2.col_varchar_nokey FROM t2 AS OUTR2 JOIN t4 AS OUTR ON (OUTR2.col_varchar_nokey > OUTR.col_varchar_nokey) WHERE OUTR.col_varchar_nokey IN ( SELECT INNR.col_varchar_nokey FROM t3 AS INNR2 LEFT JOIN t1 AS INNR ON (INNR2.col_int_key >= INNR.pk) ) XOR OUTR.pk < 6 ; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables 2 DEPENDENT SUBQUERY INNR2 system NULL NULL NULL NULL 1 NULL 2 DEPENDENT SUBQUERY INNR system PRIMARY NULL NULL NULL 1 NULL FLUSH STATUS; SELECT OUTR.pk, OUTR.col_varchar_nokey, OUTR2.col_varchar_nokey FROM t2 AS OUTR2 JOIN t4 AS OUTR ON (OUTR2.col_varchar_nokey > OUTR.col_varchar_nokey) WHERE OUTR.col_varchar_nokey IN ( SELECT INNR.col_varchar_nokey FROM t3 AS INNR2 LEFT JOIN t1 AS INNR ON (INNR2.col_int_key >= INNR.pk) ) XOR OUTR.pk < 6 ; pk col_varchar_nokey col_varchar_nokey SHOW STATUS LIKE "HANDLER_READ%"; Variable_name Value Handler_read_first 3 Handler_read_key 0 Handler_read_last 0 Handler_read_next 0 Handler_read_prev 0 Handler_read_rnd 0 Handler_read_rnd_next 3 DROP TABLE t1,t2,t3,t4; # # Bug#13727407: Assert !item->const_item() || !item->not_null_tables() # CREATE TABLE t1 ( col_int_key INT, KEY col_int_key (col_int_key) ); INSERT INTO t1 VALUES (1); CREATE TABLE t2 ( col_int_key INT, col_time_key TIME, col_datetime_nokey DATETIME, KEY col_int_key (col_int_key), KEY col_time_key (col_time_key) ); INSERT INTO t2 VALUES (7,'14:03:03','2001-11-28 00:50:27'), (1,'01:46:09','2007-10-09 19:53:04'); EXPLAIN SELECT col_datetime_nokey AS x FROM t2 AS outr WHERE col_int_key IN ( SELECT STRAIGHT_JOIN col_int_key FROM t1 ) AND outr.col_int_key = 0 HAVING x = '2000-09-09' ORDER BY col_time_key; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables 2 DEPENDENT SUBQUERY t1 system col_int_key NULL NULL NULL 1 NULL SELECT col_datetime_nokey AS x FROM t2 AS outr WHERE col_int_key IN ( SELECT STRAIGHT_JOIN col_int_key FROM t1 ) AND outr.col_int_key = 0 HAVING x = '2000-09-09' ORDER BY col_time_key; x DROP TABLE t1, t2; # # Bug#13838501 ASSERTION `TABLE->FILE->INITED' FAILED IN # SUBSELECT_HASH_SJ_ENGINE::EXEC # CREATE TABLE t1 (c1 bigint,c2 char,pk INT,c3 char,c4 int,c5 INT,key (c5)) ENGINE=InnoDB; INSERT INTO t1 VALUES (763078661862588416,0,1,'',1,''); Warnings: Warning 1366 Incorrect integer value: '' for column 'c5' at row 1 CREATE TABLE t2 (c4k int,c4 int,cminnuk INT,key (cminnuk)) ENGINE=InnoDB; INSERT INTO t2 VALUES(0,'',''); Warnings: Warning 1366 Incorrect integer value: '' for column 'c4' at row 1 Warning 1366 Incorrect integer value: '' for column 'cminnuk' at row 1 CREATE TABLE t3 (c4 int,pk INT,c1 bigint,cyk year,cy year,key (cyk)) ENGINE=InnoDB; INSERT INTO t3 VALUES(0,8,'',0,''); Warnings: Warning 1366 Incorrect integer value: '' for column 'c1' at row 1 Warning 1366 Incorrect integer value: '' for column 'cy' at row 1 EXPLAIN SELECT o.c2 AS x FROM t1 AS o WHERE o.c1 IN (SELECT innr.c4 AS y FROM t2 AS innr2 JOIN t3 AS innr ON (innr2.c4k=innr.c4) WHERE innr.c1=6 OR NOT innr.c1=innr.pk ORDER BY innr.c4) AND o.c4=7 XOR o.pk=3 ORDER BY o.pk; id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY o ALL NULL NULL NULL NULL 1 Using where; Using filesort 2 SUBQUERY innr2 ALL NULL NULL NULL NULL 1 NULL 2 SUBQUERY innr ALL NULL NULL NULL NULL 1 Using where; Using join buffer (Block Nested Loop) SELECT o.c2 AS x FROM t1 AS o WHERE o.c1 IN (SELECT innr.c4 AS y FROM t2 AS innr2 JOIN t3 AS innr ON (innr2.c4k=innr.c4) WHERE innr.c1=6 OR NOT innr.c1=innr.pk ORDER BY innr.c4) AND o.c4=7 XOR o.pk=3 ORDER BY o.pk; x DROP TABLE t1,t2,t3; # # Bug#19297190 NOT IN DOESN'T RETURN EXPECTED RESULT # CREATE TABLE t1 (a VARCHAR(500) CHARACTER SET UTF8) ENGINE=INNODB; SET @str= repeat("a",450); SET @num=1000; INSERT INTO t1 VALUES (CONCAT((@num:=@num+1), @str)); INSERT INTO t1 SELECT CONCAT((@num:=@num+1), @str) FROM t1; INSERT INTO t1 SELECT CONCAT((@num:=@num+1), @str) FROM t1; INSERT INTO t1 SELECT CONCAT((@num:=@num+1), @str) FROM t1; INSERT INTO t1 SELECT CONCAT((@num:=@num+1), @str) FROM t1; INSERT INTO t1 SELECT CONCAT((@num:=@num+1), @str) FROM t1; SELECT COUNT(*) FROM t1; COUNT(*) 32 ANALYZE TABLE t1; Table Op Msg_type Msg_text test.t1 analyze status OK set @save_heap_size= @@max_heap_table_size; set @@max_heap_table_size= 16384; EXPLAIN SELECT COUNT(*) FROM t1 WHERE t1.a NOT IN ( SELECT t2.a FROM t1 as t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 32 Using where 2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 32 Using where SELECT COUNT(*) FROM t1 WHERE t1.a NOT IN ( SELECT t2.a FROM t1 as t2 ); COUNT(*) 0 ALTER TABLE t1 MODIFY a VARCHAR(332) CHARACTER SET UTF8; ANALYZE TABLE t1; Table Op Msg_type Msg_text test.t1 analyze status OK EXPLAIN SELECT COUNT(*) FROM t1 WHERE t1.a NOT IN ( SELECT t2.a FROM t1 as t2 ); id select_type table type possible_keys key key_len ref rows Extra 1 PRIMARY t1 ALL NULL NULL NULL NULL 32 Using where 2 SUBQUERY t2 ALL NULL NULL NULL NULL 32 NULL SELECT COUNT(*) FROM t1 WHERE t1.a NOT IN ( SELECT t2.a FROM t1 as t2 ); COUNT(*) 0 DROP TABLE t1; set @@max_heap_table_size= @save_heap_size; # End of 5.6 tests set @@optimizer_switch=@old_opt_switch; set optimizer_switch=default;