From 74f2f85ec3798e9d72c9b40aaac01aa4b4d8658e Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Tue, 23 Mar 2021 14:28:38 +0200 Subject: [PATCH] Line: update all points when scale range changes (#8703) --- src/controllers/controller.line.js | 2 +- .../points-outside-canvas-initial.js | 29 +++++++++++++++ .../points-outside-canvas-initial.png | Bin 0 -> 11678 bytes .../points-outside-canvas-update.js | 34 ++++++++++++++++++ .../points-outside-canvas-update.png | Bin 0 -> 11675 bytes 5 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/plugin.filler/points-outside-canvas-initial.js create mode 100644 test/fixtures/plugin.filler/points-outside-canvas-initial.png create mode 100644 test/fixtures/plugin.filler/points-outside-canvas-update.js create mode 100644 test/fixtures/plugin.filler/points-outside-canvas-update.png diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 04670d151..85a20da81 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -20,7 +20,7 @@ export default class LineController extends DatasetController { me._drawStart = start; me._drawCount = count; - if (scaleRangesChanged(meta) && !animationsDisabled) { + if (scaleRangesChanged(meta)) { start = 0; count = points.length; } diff --git a/test/fixtures/plugin.filler/points-outside-canvas-initial.js b/test/fixtures/plugin.filler/points-outside-canvas-initial.js new file mode 100644 index 000000000..8349c808e --- /dev/null +++ b/test/fixtures/plugin.filler/points-outside-canvas-initial.js @@ -0,0 +1,29 @@ +module.exports = { + description: 'https://github.com/chartjs/Chart.js/issues/8699', + config: { + type: 'line', + data: { + datasets: [{ + backgroundColor: 'red', + data: [{x: 0, y: 3}, {x: 2, y: -3}, {x: 4, y: 0}, {x: 6, y: 5}, {x: 8, y: -5}, {x: 10, y: 0}], + fill: 'origin' + }] + }, + options: { + plugins: { + legend: false, + title: false, + }, + scales: { + x: { + display: false, + type: 'linear', + min: 5 + }, + y: { + display: false + } + } + } + }, +}; diff --git a/test/fixtures/plugin.filler/points-outside-canvas-initial.png b/test/fixtures/plugin.filler/points-outside-canvas-initial.png new file mode 100644 index 0000000000000000000000000000000000000000..34f18a625fb950ef8d68a0ab4abc36c83f3f1e75 GIT binary patch literal 11678 zcmZvCc|6ql|M+{3rg7yya^FOl4o9Sh4k1V73Nf}?awoSi6KcD(OQa+ti5!{Am2*DY zYNtcfA<8woC^>6#6dAwgOZ)x&j>qq>ZJ(a+=Y7BCw5zk7n6RQShGAm%ySDGeFg*Md zkC936pXvBF^BAU%*>AUTi}#!8b9xrmwO{RX>IoG+0ee7g$LR{<%bg@yH->)hZ;C63 zGN)hJoUv6ZOLtw#Gz(T5?=Wzejcr#?Q;&INA0}hEn|gx${$$N+nr?}cGRtm{MuuhP z!CxLb)AJfF=N_a?wM-=p9GmSAnVR`xm8A#&upXPMG*3A`xzyjRv4u#MP^Z$_k@yIO z$v-DlzRhc!YkyD7Y74GDE-MXxp`OQ+=!#8IcW#>hu;CY3WfeATO6U>cd=$9wi`ud` zdqi*yw5W89;XxF|a$-mCakeHV@xMLS8(oOvw=eB(om!b)YGCBEA2H(oM#nKY~obJ3;Xls@DF#oqw&+Y0IUdca2Xx#Be~nMwf<_l^$&J>;3wbV=b;z z*tq5X*K2)hq{vST0u#RicBwk>eY4ssOQUm;(WxO|+CCsda9tct~D#x2g;O9EJB!GD{skI4McNLI*|-ZBv^DX6y4w&I{v$drKul_aasw>Lan>2WmCgXvWfN4e;6= zz@AYI)I+@VX_!}OMK+*50o2l?u^RuP@(Ws&=aZHeIa+~>_Nk9^HAUkq^F9JkD(@~t z()a-{ZJ@M0fPMG*Jxjz?j)GkroBRc7E=;9N^uvll?nn}2kfim2XSyKVA!>}D1ub(Fq!gV72 zfoP2$4a@7l*VO+Ej+SH!N?kU4)rQ#GMZ062ZP1*D!B$Xv4}Ocm6tqws1@CZ2^z zDuw{foQgL^>WL6k2izjS^t6qDdQ_#_0Mv^PU=LmyJ%ZE&Ct5U*b!LF*#-j1@`>gH3 z%6q`dr{Y?lK)~=baN-e_df*Vsbvlm6y6uTVQDB~Rd<{oUr|mP1AD2LCVGX*NqjB)SbyQ>`5T$XV2=~lST!`q>VpI9~p01<-w$N5tKj6;B zz^Wnny`du!1Ie-^WuD$UNsv482FUHex(RWbXd)Uv*u^o(l1g|BI9e@}*urh#sWUGEZ%Df1C@hYqj0o?-F{VC}Mr-12e;!b7kB$7j_ zo&Gw-s~HvGYs8&O*hygkmbKHZ7s*y4Al*%&a~m;HFjJgPI<9n)6_3KhdKtJHfcrCW zN%QMs%-Fqm9Eg1bPv7)vO zlW7#*(XDH*K|oVo@Ydp(ZR*Ef5c68f#exjr^H^wlGe%xiiIj&-q4LQfkEP5=3??ye z_4%$aL6tnb4j4!4atAT>>9`>sS<+^yXM>0>m06FYjzqMV$dInmKga^sMq}=4z%u`` zUYOvV{uL#$qTI+4pp}1AG6NULOUMC^V#3qwf#dV$G0|5+mgv<&2f5`dP^w6$9&l7d1ahb^kAys_7TqhH5{}yHl>_gSLPk?) z`D?$YB3s0+2v!ADg9guby6i?9A%v*zI))IL@Al<_v9Etn0p4#+T#-vW-?d1RDl0Xf zpxnaaYsJ99A{%2qK`334t5pTL>*ULj+&zLVSG^e&TFLo6asd66{01rbJm}CT&kUTS zh)*GCJtq7Hxu&XTt~gGbwE4<25#V0t%{&PjRgW6-6OXpj&u?_N3{VRyZ497Oblpz= zZxotQf$K`3`avXg6QVjbP;LlTdJ?t)B$bivjzS)J|9<^h5kl_KS_8m*E7u*2tl9Kh zWI|80LE^??m}yvd*m49qci@pzVN(l*=W8l)7&ptNwb*T|9fL%9V;tkxd>asq7ow{DC$dJa%E@#@( z*}vmMkeLb&m;|sp6h|$fnCP({A*4^WQl#;kJDEG^Yzce`;+k3g2Zi?ddCW#Uu~A-s z6Xr`^w7z=$>5BuRi+vi?U0uoWK}DhSHago2ud|XaQq(qJpYqj-6W5Cd6uOH)zMY;t z^ZE!`Lcxyt26&kNr6NUAzVR~Co=%O!>yYS5*}b#d`GSRPyKslQ`K06XvJ#~6`g-S` zbZQ&k5hd(me@=^@G)bBDDRVcS`W5fE3KQID`%wL$hCn7bANz{@StsL#jNEfKTWQKj zwBaZr)CGb`YelXi7Va1|_}>YruTU_!A(KwwS+vCN#S`Zxyncbt#s-a_ZONeULTyD* z7cynsM{WqNDo@o4V9zJrumwZ<%H?eU-`=sZclPX(x2y0VmG{!v=e9bU*<=nd`iBB5Wbv6!w)R{cy-Su$hgT02B?280?!Dzj(?aWx@%j;xMnPRSOc} z;o=LXTT~I&Bl^|4O%Y+qU`2J&2K~~9 zkZ2S~Hby!7;^||cp;|n=A81^Zh52r#c3udVx}G_P%3>n4(wXUBesf62oeH|Q4NL*; zn90zcaf8Xtr7s#fk~a*6HN7o6L*z-JHAkQ5QkjN00@ZUObdb_c51Y2nfw|9!hK)3} zxnFZuU_GhRKZ7y;19a0&n{x++32$Es#eg*BFy+4Kh&Ub&1yhNZ1jD#I1rtqOQAdDc z+0owtuAyKJgnS{Gsdh#j1Zn@ocv7LdpwH@-^DrpTu*j8lkT<<=2PR=&GUO@Ik0$v) zf0_gq0=+UpRjyA)cO${rXXw8#qB&XK6$Kp9eHv&|ETCr6O{QdroSYZHaH z!M-(Xvw+HX&FZ^^Z}L}Jo|_o9FuK^Xa;=@I3ZE@ZTu^Pg4U*qx&dEzc14w_Vi3+0^ z8;hjmtaKD16LRJ1wm=a0fi?|donUK^*TNY;#~K=4w>}D{YY)p3XBe(QziIBn%no(Y z?mZh+GB8Ft3|j8>fzAJ<;~tOQmzGv%od;G*aZT4W)I~=UAxoLf;Em=xDw#4c3;gWK zd0>b<`iGpmP;?F_SD|)NK*zDI%l7gN?fslvXE$)-1hM?yhg;WlFNbHY6wKH5T)f4m)Gmp6VDg$TtspgoJI_oCr;}n+U zBqc$*`sW8U#$R0nezYl7r@|(y^m*Jq*^Wi+U+^^P$@7&@hGaz6muC z1=gafB@Ty=foK>VNi$f5Y$@^NAo8Of8{?hXs0SYLeJTTWHv_ycoPYhsJ+M`u1c>_# z-1^MCru_-+EYS-fM4}jCjBQdEf zWl7`JrOw;w>_nhDQ#nz?f~;+4=4w%C`XI3D#N-(3e_Dr^CmUnkuJ4nRgD_Kg69p=0 zfeJS}lU1j;D|}89*KNxhx~$z~vhq0Cp2`!&5$Izto9PtVSEFbQst|-%C_Vh?VG#Y& z4BD;^f*6lRj&+qnQ*3NmWk;uKfUPyWp58VD9|9|=?*43yn<8GIewxAzLG@q|Ed4kk zq45`Ju4nR#p(B<{Q!uwKsTEF;dRGlTTEo%?4m#I8W1#D8Ad24Pr6lnQ$aN#Lfg;pKoyKMtQikUjzg24)I1l{NQAC(Z(agH4C zOK5Ty#jImq?>9!xhm8CK;zhRpp{EEg3uPT~(52Gc!EWWfW|n4KNB z7JNbEW2ZM$>1;NL!^j_4cnMSW6zi*`ItBbpv3t?v4*BZQr}|J5rVxnCK~i^XCEGoK z-B&H#>>6uV@$Vu>RZ8AFydB7$j`V|~kpxzoGm51KP~%Xm>4HV0_sk@ixhdifK}wxs z1H^I94a30yb)6=i5cY7kp{WEmg+es`?9$X25NXu=I#UV{lbD(d|DoejJx-_Yo-Sl# zImDRTfaVHg9YDW$BL?PfAj#b(U+}j&2$7bz86rp>2-ql2FhOl64v#L1@r-4 zq){C0U-Yx!oNzqsts>t@v}q;E$oCA~%CP2x((0eVq3pv79$@wEw^kN7yd*wahy&RoE`|WHmX78hNVuS_G?G7 z4V0E0kh^Z+(z1fM$u0K-dllza5DCV2BXN{|CZOKqvtOv{47C z#P#n3bq|OF0>tdOw?{wrL7 z%jkC=r>ZUrkp$QV?6Y}6PaUg@3JVGDu%yo|NR;XO2lNUJ2c{IF18I1tff z3Kg-NntgE>ogE5tz<4zcO{?3-4pv0QYvhL&j0z;V5C{fIdX9TIa5EIm&q3==Abj&6 zeD9oG6Q=^Mj=4GkqiZaW;S4 z=gi#@q@DsHJRRU_dCW2ngS9y?suV&)(=GOcOhaTG%9pFhpisXSLk z-`v8B13yNWQd{)CFBH1OrbcrnJqfcZaAz7#%w*T%=YBZw`%=xnI|Wd?(ttnF_>`da zkK^B84)v+Ec_X0__yQV9Y3)Z;`cOi*}>HPT%i`jyXw68tb3u*of zA!TEA(fEcOIImf_(r$4JBd}G(IR%Cg1im!48ItlH-Z2CCg)1_m05%+2wVSq!p|dTO zMAxYPeOom|X@h266?u9sD;i|wehoWXrwFo!jGRz}n+faB!s$3wh6FFcR9TerTUD9&Yf^SVsXB8djx4In@<71uhf%#w zfN4HlzlmW+d@Bqj-#3Vtk8cB#7q(cgVElp)K~{bEJ}3ZR3Mt;G0G-Bw6$@YUG^M;e zfgn^o$sk+WS>&eE6-9q_fRWH{})`^~ej&zA&;K`LH%RpAj)Wj~hY*Uy`R2qeG1ww)TALGJ74;b*g z4miqeXP%>m6>TL@FK_Y5VHbfPPdOxHQXk+=kZcgOWEtr))9FA=|810rw1pQGaGHU*RFEU{12RQb(~b8jfVnVHl`UrAnuKH=c^ExD z3g)Q@Iemh>TRunwzRv6SkC5_$@*jC*&zNL4m6?MyOnVyO2xm=b5@L82a*Y%UfXH{s zMM@9=;ohIri-nti9~#y!blLKGkyEXku!Up1%5^btZYvdzB%z>QLqSV{&@-tZqv?-I z^!*dF>lqJ07%aJ!qNX5oO z4l0l;k$E0gL1TC$PWI$)BZ@qgCD z>4T<4?$MprxCTxY7eqBw1n zFhh=*D7N^W#LVa^ee`n0Z8D)hd#Lf{j;n=i2fQ`X+VFs8k3`-Y7z(7hW5i6^5o?gv zVs>ZzHMSY3(9_TpVfN0vYQ4Y8+c3-U?VL? zl_$eE>#&dvEK+NUA@A<2*oo@Fqt>s^12^H@{N#NxCHP|G=N!LXhb1i_qq#HcEGD}Q zL}8z}^w(aZ2Yl-*^xkYyC1uEC| z+ssrO!!f6@*Bqw{qFl%)!K#qcI37jMMY7Bu3fIl>vJwMa zQQL!_0L-HINj5PU6s^3a6nx7TZkG*a@C5UfzmegM$bL$IJ`5Z^y{)}A#UHQu$FW|t*`IIu&-iOR9XmdsH5K#B_t*~l1MF`}EHy;D^#J91U|3%-< ztCv^-zY*AvehUDfN%Q;2;}U@mxM zZ7at_3DbR@@CS7Uz@7EG7!Z^Rmb}w?}Z>>R?IomOvCiiJ<}b;_2|sJb5?S`qI3x!wiAn_{)?*)xM_JFNq=E1 z#oF`aP=m-#qTd|rb*7rkPpb)>7S{ECuuYw*?Oh_h>5`U})Q8;ha(LSq2uAKquz`p8 z*&Xgg2N>IPU28wwN4X;v#)oA@IyPUb8|JG>>DfE*P*+ip7$+64$LoMo9m~AGx&h-x zlan~+q@XO5{R-^lc-DIgLFW-vpnB`~|3ZZUYG#~{W1in~D~p|laD%DyRmW@~0$a|)dQ}~0p!@F`Gp+gg&ICl`VyY)L+&3=rniWpt!a;ny}BNMQw}=B~XtU?V~Ut?%)Kb9Jmghl*6!~wo}gN zya%rk|M^e9{QOw)-z55$`4Ji72QY5OOQp|!Pm9`?vVM$gwZFFe?t)K~$%^BOa8BF! zW^IX-zBagpT=)2JhG70vIgVNAXDP(k1R@-pCM9@|R9C|@;QVOmYl%E)oEGlkzt5!$ z=0j?5OmqZi+ycaX!UPcmr1r7U9&LVRPHYBy3n zfDmE6_!qJ2H6U7sjh7r;jm=M1zm~Ls_58Ef9p^$&rRI)a=3#84?XmMNo)?(@;6uwK zzme*DCnq;$;%Mi#Sm`hhf(GNgv?3ABkk;Gg(AyG7!>>tb!ScZ)JIS9W9 zLAt zB`sWJF^2o+iVN_A1BusriI!00LYwc~rk*!vQNNSu__ADW?k$j{_`EDQ^k~LYGfak5 zx0#U%22~2X$@MQjZ|GZxV^UbdLeUT<-LwrE0>#kx4mwJh2Rt+~oDpL14X*#T=kJ+r z1U6};PMeE#(|RsFA97=lQZ6h@=mAj?7QD*lqqeCz=4DxYXzm+rR}&Rce{0_V{{c1t zP}aQk?km7F-M)#a2q)`G)*b+wmHd+>ipiSW9U&TkI+c~1;B(U(j3}6UH`vz_RV&_eF-zOR%MmJXfe}GH?%5E%rDFv8j&hLl@z^Io6qma@+ajaT&OSZ%_ z#30+u+u_Zd+*%wahN+mo-a`%rb2O}P<_##d(=m>pS|oQm{}yoccfZkocB}_Beh|fF8@w9F2*|3p5)lihs9v!z#i+d zm_YbM-la=Y^M>?bjtHE`iHWEDg%& zHUTNV&ut_^m)Ru_1w#4HAq{w_f;XVe_^}$h48gDX#6@+u4%zHh)ui&sps*I}b_#qz zy5@NSeeiHN08jjRnjRg3eHpgS_50zlc)8;&tYFZoM zTXK)TXv!LBFyfrgn}z;xU)cx5taGi`W2^)1#mDb)2Ov#-+~Byp{48XFNU>vp6volo z0e7VxUPcadwhlfCCun|q7w{Mg*x`snops$<_?LxvfkR*&X${qyDT*O!Z7EirEr$Zudx ziNCG~o$Ua3kKuak-1~%&x^P6J(4>mmVoVD9I^dzHL4!!H)Sw(!a2<&_AM)#kgCODK zpoCluD(i!jxD3GuU!^JZqH!^+))LW!!u~2MaEJVGQ{%cek0(<>~Ac;MN1&a`DfR>UGU# zvwpVV@bv4ZWLV3&zDOnKrWT*GV5D5#tF zd8-G!i+D(=yQWd41E@u9inq@w{`-ssKTG&Pc2h(0zxJDYi>{(~41+Z(H`yTp?4IoA z5=}x;8{8}|J_OG#Ki@De<2#X9zs9~DbBEh`dFa{eWYIOQhmll&HCg;wB!+FPd8Z+? zQOngGVAYqCin&5yX`vwaF%dJ5YKlbo#kww12Y?QWMR4HtlkVOusz3eFEE8UW6pEg9 z>|z=*o+BrP9Z=|WhV$?4*+TvZZ#)RDrr#-RGEGNjFD?!;{)~r6vqe8SJu6>$5LrG` zb?>CT1SJN{oN7Xn!7lTO*EQi`Pu5Et*(F#q{s6ep4DQP(*yDibFB0Z4cm?oGYbW4Y zTbaQ@nr#~IpKynOgRTB7H5H$|%;o?|?+RRb^CE&)z)v_N^JG9EpVCdSM_d5Y?}giL z+95_U3QaA4*}$y;Tt4^FsZRKnr;tLy`QE{BP=C`cYbvQ8najQpoVLpU#{Lf6zn8!h zBzog~ks_+H-^@8asg#7Fo~*f+O$md?I2DDCf`=D$)Y_&^mONMa!sFmc5KQ!4>?vJt zD;sXbZKmHny9zCysOhEhyRzeS6K*X^TjCgZf#}^<4?QaL9NRou5=8MK7wdtM4S@CJKIH?B8pbD}?A9DaNF{oPRgH7CJD8fVHZL4Aj`7jy~M z`i2SkS&}dBr1rqYL$I-b4@*7!)tluB_xtLC7-M(-YNoRnDB}tncSM=Q+>kS4Vp*QDHe@48ugNckbAO zVMO>Z5u;MzpNWX3SqxLbtaog8itrxkw0juj8matso7zj}XXfW+M=TUK@7~+H!>*~w zKgY)D#*U&@=bH!@*U;`Sw@}>Ze@~7a;&ktRe5RPJ_`OuI*H(EcN4YtHHg#CT5vm&9 zX6KPT2k>W1bK-9WQ}eur%IS*!im|Tfk;<*Hg@0htW5rpM(aq12yXUIYSNw4nBM`|{ zaasEwq34-pm89;p-YK>2o#Xu@R}1%}U+(V4F~_1FipRQTuE z1nzsw810$x?(FY%k40x6t7Y4CjT@d^>Ugx}iUo)XLt>_0V~$4;{P^1*{cSK_t+Cj< zskVCCoGs?Ft7@vYH+WW^ZFBSXTCj1W8WX$wcwhI`-hytsg;#Z{W91uaQ)@qG?_3z! zwlh|}_Hk%hzBY2^hy^&~bH_WQw@=xj>w9NyUgOx}oO?>Jdi8uvZMVa?Q;Of9j)%n$ zTT{T+f*`x<{>3UEyM?x7jq0uQ&lkJYd>qEFswvyY4zEaY(2UG2_}$r@4N=Ue$zp>8 ztxbtbV%J6XjMQ2M+m6OCXP;vQG2M#^YH=wQi+}ZwSXW)?y*YWMK=Ow zSi_#%^rjv{Be2FXo{ynE`oUI~Rek2;b@1O5Oq&|`ax16W{1A;a+DI>#RAF!p2_$?< z(bRY%{O(3yeB|a~D{y>5gNe14h+WkXDGO{Iwge-Tz=-zH$zCwxeLSHw;6^4w z%mXl@yuMx-bUDbf%3pr`73mU|#YzSShkRIpQ#D(9g z_u5KOwm84}hBC_Xf^bjiJ(Qd^amuALKYrPliDWI6#a@So7lSOx1VY`WhS$hN#9HwD z!5OenOT?{!pzuDu=c!$h94xRDhXpNtpCC}Tgh>T0J9H#e7|i9s8kO0l2C_YU z@kzO(>JX?4Doo7nPFY>c4RTI;>YSX$N!SC8@*opsC?1DJwz>fOXK3}6Yy|{lIZ%<9` zO6!P@OBv7~os^(-*mhNc|3@5fj9%^6SUp@V_zyBCd;pnK3sll*Ct(gbCkhrWq^vHdU~zD6Bd{J-EYt?)LVWSY8-quYb8DEGQPt1~ zgaSR0h?9Fwt--q8fPz=yRj*NM69~z{4>b{rbJ>KRvI19m(6vySa&ld*vRZI-;5bJu zS@U|8!q-&*VghkN4ObmyOoD2^YZSI$io@0`-w&n?*mC@mj0&v)01PHZ=*B!ddNs`A z&L*jd7~u{)RX{28Hi)NtZh)0mMpBfM-Op=HQg&6Ff4#Y3?0gGa$W;Xo{yJ4NTwHS}?e9|%MXY0B{5R;|}T6y1T@OW+QH^dX4Q*pe3>Xg}C7n+V)FASP;y zw6-VnzM*Jl;pa#=9irxHCd=wtmRJhQ`KkC367C4Z70$A}JIcO(kQ{sq=Q4%;7eu`v z9-yKu6AX~&Y9it)^SHBm59myXZ7=K1Apea*mMgI{qVtMRC2QDs7I_h;A3v^6G z8G`SdK!~2*9VP?TXK3)}FqMh$XEEZGEhA@NG$K2#x%~u&U@YY(nAw>8`(qTEjhw6{ zSWdO-=qY-S#7-r!hjErzDTbNFS$Vto;;K1YQ2D7RM=4qhx zIJ>9kdX0yB7C1sSkU0{FiO;t8oT8F~*vFPa_=eZ=-$VFH-yMQoPi-@R=(X*s?h#1)I&}Aq4_27Daq}`t*hdjDp_~*A5 zG?KylHHRRkJycHR58T{vs#C3D7l)WBBB^@3ek7nG?q-3CNSRjYTV$ydvjGe!JQ7g1 zR!_w3<%j#oDtBffvTDe_uqd0}V{<7D?Sy(_vax;hw968=Dg{iRiL0?>DrZGct@T*IiBD}1(+16@(zN^fIAI0 zowY^ERu*4Gi+3_dQR>fCcBdy0=0@^UB~<2f0QC_D z*Q<&rSMlz{g8LaVP>u1`a8R$_s-L}DMI_>Unje&2M;GYjnp+0_$lq((1teHIC_%@X z8WUG(OHdSY--=nY86-GqDL0z-{#wH}4Q<>94bVOuwyds&){_`lV3i#`)$$={a{r#!qZExZc#S0o&>3+g*p!_E(}$%GaI zI#@wYqGINDSzg{@V_^c(8T#$}K@Aa5Xp>q_XlgK+%CKnbXjml!U_FUo9Z4WDA`h5k ztbrV^zV-^DLN|x7k>2VY5{f6(&AOw$9d0MM>D@g&I@Vd%KW|EEGw(la(`x;J&Spty zvel1fI>Q3jz9L!3dJts2Z21RaD#@i?E&;X~2l97XV=9X5i+h_4d6KD3VC>zTrT#_` zaQ+Kq$!4%*vxiQh3PgdJtB#_O1bU0_xu% zD~oMl^jk^jv|fBceY_{Mx~%Q@S3sPqEQHmdK>)d@?c^UF^u;C0N8gaCSC-SUD^0~y z{=^#ggWc}uz(H3?ik{g9AiOQI$${+()*azm+f-<)hzK;`*kYPO;G)u8wAZSLxXHGT zlc^%=OicEE=ZLb)zlA-N3b#_hY3-!t&?HH|J^;r>*$#l*`Hh+?BCVcv%Xgu6g2EQQ znfqHJ#Hv#q%v}ptnze>SH7`N8{ONXZ@;?w-G^dfKx({fA2heYF9~ORCN~4lwP8F{u z5TAplGe<+?mOv|6c*lMR8xI4yBM(Q4eg{;&=BBAKm}|gb$C1$?UJW~DvhgUKk+3&; z`K6sMfGN+FO}~H(s^G%y4>3v;QLD2o9D`mdF!`BLKp- zu^cHi2}+14%IXck_C|dNR}{+QC$3ns8KEF|&^?#?1cGp)ufmFrp96|SdDp=81cFK6 z!vhj3ju1)5_z$_!5QI_nU>_pc9V$Rk^SViIfUe*aLIP0c-U%|UlP35wR&XHo>0q9o;rNczpj*_yt`_sA}6B>H~0y(7L!!n~3D6fP#?j{Y#cpLO{3* z3vS|gzQ7y&n3FM4ArLo!AJ7%QPXj+Z=J!Ao*beGSj+fNcgV`pA_!ODyqzOB!KwVgS z6>G2TSCVxVYh=-Y`$t$aYGWr+ggt)4|F^1}f`BMN?gj;Q@M(GKS?~!$Oy8NO*tlrN zGeM(@$3zM??YjmX`gw@`#KRfbYYO)}#cY2ROqH({Y&y3cvHxL+1wCVdJkJJ?Vma6P;bOQM)o(|foV!;cZkS&+~&k>^k}#M+~l zXfjmH*m}=!kVi7?en%7kT8?#ajtkYt6T0VEdFKQG9#kA~_`o(6`caGLxC;OLuD z#IPI~V2&c2|G7RIu+L2dh9eNscgCX?O91FzVlZleDtMtO(67?5=enAM`V4FQK=q}Q zgKf$pJ1zpuyx{u!^w)6+F@oyzu)V*!D1Q*?q`q3`m{5?J~RzWIR4&486mT z!b;@WqGnG51~}m1M60u(JD`B&Y@Z1G`d8SHDVA&Uf&gYu=kkn+WP8{Q89`qz5+Jfm zjy+YC5?J-TXh|Bss8j_jb^Isw@r8 z$3V`CZP!nJ&bsLmvp#aLtM{t)!bC?f)?82%MK+c!o13hSSzI;KYny7~-TdyE0<{0J zOiOH#{H10EM|H~_$h?qT_ago@l@4EGJZ$NEogIac^^SG zMH<&m+`{{+Ma7i~#1+E3x@W7$ANA@k(-^x!VGpzjorG$`E5%(4=NlKMQ%V=VZwZ*FOOFn(TgZp~SOT?AO5nttZJ8U$o^nthi!+LxE8fSvL93sa#f&SdNzMpJ zMvtJr8@VuNV;5~*t7jMU&!!l9&N;IOTuEZFFlri%O2YGr%PO|b{MDkaEJFz~g;U8E zU6ed()0M5gr?Vcc#0R!DcCW{VKgiC7>B6xY8m*YbkSF%XFWlBA-PRY<`~DB5XZ@pJ(Ea1_ZlXF;$u%1$58f=K0<5MkmAa)}6ddA|5v4Y^)goD#AQ0OQIW zg4MW%8ZRFNmUM-w^5bzOlqM-x^UIl#k+5dRSF3nCn1x7-bxVaUGYdGk7zRrS_WU4n z>xOzAuY%hyT`GMNtv1XC#Q8w4{VaYFd<-IUo(WBffo4iIJE{8LmY-M65Ct{(!ZbtZ zGuWNf9<8bD#!W+Odu#=Qau7J$MHCWm_5Mkm>uSG@heAaR=ip4@rUZ!2X|JuX^6eqE zPt(?%W31$~nZ?22I;KRMa{$U$^3`z#=vw`e({fdgHe;5+dDF$13P|!t`08*W&LJ(` zBx&(A8jb;i2F&qcpNs}v0O&pMoRrk~X^gih6dvK$#q(g}RJ(_!yc2f{*~m{EX#D`; zacPkhlDMYNH-pvm>gp~vUJ0yj%WYOgBPHaaSo-rcvKTtb4@8GC%+E?)!3kxo1%z-jokD1%h|zvM8p(w?%PieG%Gm8@AF-|MdM<5(4D1Y~M>` zzeF%gH_Yy>*V2jQAUY(*SrIO(zPQ*80X2p?Ap^9D_mt}zb5Z8qXFf|GW|~jvJ9kGk33<_*((&a46tEe zDUqegO9q{AV^efu#{bB9-AJn)FdBR`uqf4_+kmV5wzp1We}Y@8;oTn%rT*EI609-f zHoiC5X6xmHv$oJDdBuI#V;8g!u`WWQ47wP7E&B95f(AouvfD~p(ntpy=&jJX)7=sL z1grO@F;;>1X1p{-59S|8>#)h#L?CD_`Dp0us!jJtd;X?X)@QbcY`o+85{G0_5+R^tUc#7a)2{H17FKqt17>orn{| zBepHE?|=r2Szft!CW&Yk*Z)}_3#+(NqQT0AF#O6?(xe0PO6rauMAW0tc=SsZB5l zaPzQg+ItmduE$5{m_mQA7I72or{*TnVkb=)cYE5xskJ%sJj}{!*qcJlb)7-GVz(Fx z|Jx-?%`p`$wd-`Wl?F@i6hFgQH`4FWn&1|XCK9_7KG6SSMe*yr;=sueE#tbpTl(%_O#P1N&T3VZxzmsMQVgsp0D0=k5(+z}W5kBJ6r9z)GV*9ASSrz-3qwQn7Rdcs`8Eb|%;M&zx-ed0 zbtmo0&*{$mJ}}{Nt4mBR#?!v@g6gCN2s-5PQrAXMnA9czW2OK@3%DiR3m8cSRM>0i zjGrQKsShk@PH=m3b2fRYXDKMmS^(aG1e^cz=7C{J``dt@eJ<*p{)f^A}3>ppD;JIYx99D!S3b@x1j1`bKyZ?1ss zjqST|h}x|xE%`6CQw1j9FB5*=h$Y<+Q0?pjIss`dFK_){D&nn2yp1|n|I6zI zSP2+f4O51}bbs1Ih)7x5Z=nSMtm1G95o}~~*9&qpq|np$m#?Aq@e5fIYBPUNt2y)z z#$_pH+#ZA)b3Z8g6LmQ>Bx_%r)PFLI3!G}h_=mfl?3kk9{ifwhe9Q%fol9XTR2r_W z`JbWb>4M`L6VqL1Q{ge%xYl(^-;vQ)3j2%uZ6@&n)XIX_o9p+R#f?mZsMuwhXw2t} z-#T@=Qh%bw>bWQuGx1J~x)v^fp1FoS6LGHWVX;?ZR+Sa<^)p~3KO{!REHhgb?rYU&1&wQD}D~xWL zotc7bLGikCB=nz$e4n#+ru{o9>~*ulSIG8Y#TJVPkNpxBi~|HhuhwA~8Ur-dS?58D zmV4$FaLrmZdCM6>&(1Z;60&fqWbw`{ofmEXszzb|9X0v~ISCxz;&T6QxE;s^_q-Vw z#Wws^VF{B_Uz~7bi{frU@FmOckXb<@f9FeDX;0D4Q6o{4O!b~C~Tn!Z*@8w zF#F0*W_GCTiIu`zj73hdqKd%Xx%KEbFf4GG2JU6B`*ssgLsG+QP}8B zl70zR`@MzL4|6soAHc4maSjQ!tWC#qs*`R!`MQR}PGEa$($4|ol8eB|{Z&Wl8OB?E z`xZ3>sfjp|0M;`(V7-u|t~GZrSZ^s0&L86=%S4Qc8nY-Ps{`#4Vrf5RG+y~Y<};@w9cCAizMCv0PM^QTib~7 zRIBo78zF^mk)Puiw1XYh`&MGwN8{JSD+MAx{(p$a5i!XA&@JE$IQI*6BRb`L^MH8F z=7l;CgOc7;ozO&Y-w7ZF>?HL8dXJjOYMy5qnhAO>9fh3145S#S7%h}#kI zh*_RGa0X`lPIE#-@dK*y3t@kZF#|}9C3YcXq6uVTG+uwARO+NvyBuche>+dS6<%ss z2Ov8apP6*lWBj8B6ch0?fIRvA4j#1mK#{J2FbdmVe#nh%0JXG3+(Qs-K3reA9t-JW zzEb5~2GmjbW^wW=%Zd^ROzvS5ZO$p8VLZWSA1iNny3DM6@wdKu$cJCRA^7wHMzMos ze4kaV&(b$xBC!O8Z2UYZ)7hWp1!Y@&xTj7IE*n^q1JeScFTJi%Uwy(A`;hW;AVMGp zpbBwUYoZiz@N-&DrapwiUzTzkUal{tZAN44&F}__if7JUezzH;P#H$fM(1nI;XNLP z}?m^*-o!-mGiM##e%)ss*R{-SF_QwHn62KZaTb5Grq$ zbk*fvhmE2jVI&9u(4A9pT2i_5@LI4ZX@QH>&1u9%gdKAW4CDv$XO#2Zs5pe>Eq z8=SB(TRE(o`3B?fDQ&Xh+5zj$S&fO7FBYTu{v<}QVyF^v5_Dt@{L1%Bh&;=qn&C_bhb=yp{2M89CMJEicP& z!Jzfl!F*db{+9Us3?X6RJG}`qarcpq|7!jn{1W2Zs()hH9VmHx3qKWp67Gm-VR~QA zU6sQuho5ecYIR^UqKO1Ix)VSKpdilAk`jYzq{SbfSDI+g2at{xO2do z{h<34kP`InU1sj6$S9?}_UkFncR%-Ly$cV9rehr9R5($N$(1 zvqEI^T`TSYz2`c=JMN^>j4Mjeho}f=vmPD{qDNq|=fFAqoNX2t?JXZ&xC%a$GJhur zZx<3r^hDN7l>XM)m2Uy#dGrp)^yGZ00nX3f%~|$AnBd;cdNZya=Qg4RdarlxhDj_- z2flUO&ixe`A?j)&8UR6R{_)gkOTNF11eiWr7#;xTHnmD`l91io^Mu}GYVEz}GKcSD z@z(LRKj7xW8eM?98OI-)wbW#2QX5k2Tw<}Cd}jIG^-%5#QY?ZbQws=H_3KHfhM-poe-W=6~tJ|+X2p=(RdZwq4`Q@q#5OC;d472@Aqp_upw?uvFk4HIA>)d1S|#N>{P0Kd>G-@ar+- z5%TM8plkcTTa1lMaz3C?*|z=F=?x&S40*p9wiqu8%q{G$`*iRXZ2qLuaWw*Qj`~mz z>}bF9Ygj&fo95`_-~^%0Cq6*X^3;X9yDZj0fdRI-n*#6!q7uK@& z0B3OTgHOZhK-7~OpQef5weArhhwK9P+Fpcc$(8475XpLyWg9_LKT)F06aRUo6TfTQ z^B!?}iSD(_1kN8r1hUvtPg#`GP^tpFkr>t2?uGY9byg6vsX*i2?I4I{=lpI(03hA*Cg^KBh`=+vajQWyE>Mz6WP-FUxsRpyqzcaDD^v(EbS!{QbXhbP*r9MfU% z7R25?gK<=a7DC7GXYcHqOiwkeG>ZId`S-byas621nV#aff8yr;ytT!Wxf1|*DKPv9 zyo{aHnCTm{iybK0U^Vl+H@V6rGBo8*`?ee@@ijV7K!*ZC(dPswU-hRZS87L&eC)du zHyF2ZhLdd{d*@Awi#k6URA+k|(>RwQr>ddt`x2oRoaeb;!8q@U*>+0vS-pXNakQS~ zl!j{UnXCtq40z7cgQtozWq9S(`ucZoU$}a5#rm1ErJCK7JI3W5)E2)K*S@;B6RQ^t0#pWn=YPg@5oWQL&(@dNxa(RYaGq44V>;pDB4p8{6CmW7Y5 OF>4F^9R+60Q~v|?4nXPv literal 0 HcmV?d00001