From 8901d138018b76277665b6171cfb865a15e44a8b Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Fri, 1 Dec 2017 09:27:24 -0500 Subject: [PATCH] fix(Rendering): tighter glyph bounds Now computes a more accurate and tight bounding box for the glyph. --- Sources/Common/DataModel/BoundingBox/index.js | 22 +++- Sources/Rendering/Core/Glyph3DMapper/index.js | 119 +++++++----------- .../Glyph3DMapper/test/testGlyph3DMapper.png | Bin 40373 -> 39848 bytes Sources/Rendering/Core/Renderer/index.js | 14 +-- 4 files changed, 76 insertions(+), 79 deletions(-) diff --git a/Sources/Common/DataModel/BoundingBox/index.js b/Sources/Common/DataModel/BoundingBox/index.js index 550cb331ea1..8144a2d031a 100644 --- a/Sources/Common/DataModel/BoundingBox/index.js +++ b/Sources/Common/DataModel/BoundingBox/index.js @@ -1,7 +1,7 @@ import macro from 'vtk.js/Sources/macro'; import vtkPlane from 'vtk.js/Sources/Common/DataModel/Plane'; -export const INIT_BOUNDS = [ +const INIT_BOUNDS = [ Number.MAX_VALUE, -Number.MAX_VALUE, // X Number.MAX_VALUE, -Number.MAX_VALUE, // Y Number.MAX_VALUE, -Number.MAX_VALUE, // Z @@ -74,6 +74,18 @@ function oppositeSign(a, b) { return (a <= 0 && b >= 0) || (a >= 0 && b <= 0); } +function getCorners(bounds, corners) { + let count = 0; + for (let ix = 0; ix < 2; ix++) { + for (let iy = 2; iy < 4; iy++) { + for (let iz = 4; iz < 6; iz++) { + corners[count] = [bounds[ix], bounds[iy], bounds[iz]]; + count++; + } + } + } +} + // ---------------------------------------------------------------------------- // Static API // ---------------------------------------------------------------------------- @@ -88,6 +100,8 @@ export const STATIC = { getXRange, getYRange, getZRange, + getCorners, + INIT_BOUNDS, }; // ---------------------------------------------------------------------------- @@ -360,6 +374,11 @@ function vtkBoundingBox(publicAPI, model) { }); }; + publicAPI.getCorners = () => { + getCorners(model.bounds, model.corners); + return model.corners; + }; + publicAPI.scale = (sx, sy, sz) => { if (publicAPI.isValid()) { const newBounds = [].concat(model.bounds); @@ -401,6 +420,7 @@ function vtkBoundingBox(publicAPI, model) { const DEFAULT_VALUES = { type: 'vtkBoundingBox', bounds: [].concat(INIT_BOUNDS), + corners: [], }; // ---------------------------------------------------------------------------- diff --git a/Sources/Rendering/Core/Glyph3DMapper/index.js b/Sources/Rendering/Core/Glyph3DMapper/index.js index a470515fc28..464472ad193 100644 --- a/Sources/Rendering/Core/Glyph3DMapper/index.js +++ b/Sources/Rendering/Core/Glyph3DMapper/index.js @@ -1,9 +1,10 @@ -import { mat3, mat4 } from 'gl-matrix'; +import { mat3, mat4, vec3 } from 'gl-matrix'; import Constants from 'vtk.js/Sources/Rendering/Core/Glyph3DMapper/Constants'; import macro from 'vtk.js/Sources/macro'; import vtkMapper from 'vtk.js/Sources/Rendering/Core/Mapper'; import vtkMath from 'vtk.js/Sources/Common/Core/Math'; +import vtkBoundingBox from 'vtk.js/Sources/Common/DataModel/BoundingBox'; const { OrientationModes, ScaleModes } = Constants; const { vtkErrorMacro } = macro; @@ -69,83 +70,18 @@ function vtkGlyph3DMapper(publicAPI, model) { if (!idata || !gdata) { return vtkMath.createUninitializedBounds(); } - const ibounds = idata.getBounds(); - const gbounds = gdata.getBounds(); - - const sArray = publicAPI.getScaleArrayData(); - - // either have to compute the full dataset result - // or use a heuristic. The basic gist is for the - // idata points, place a scaled and oriented glyph - // at that location and then compute the bounds. - // we instead take the input bounds, and add to them - // the maximum scaled glyph bounds for any orientation - // To get any orientation we treat the glyph as a - // sphere about the origin making it rotationally - // invarient - let radius = Math.abs(gbounds[0]); - for (let i = 1; i < 6; ++i) { - if (Math.abs(gbounds[i]) > radius) { - radius = gbounds[i]; - } - } - - // compute the max absolute scale - let scale = 1.0; - if (model.scaling) { - scale = model.scaleFactor; - } - if (sArray && model.scaleMode !== ScaleModes.SCALE_BY_CONSTANT) { - const numC = sArray.getNumberOfComponents(); - if (model.scaleMode === ScaleModes.SCALE_BY_COMPONENTS) { - let maxScale = 0.0; - for (let i = 0; i < numC; ++i) { - const srange = sArray.getRange(i); - if (-srange[0] > maxScale) { - maxScale = -srange[0]; - } - if (srange[1] > maxScale) { - maxScale = srange[1]; - } - } - scale *= maxScale; - } else { - const maxScale = []; - for (let i = 0; i < numC; ++i) { - const srange = sArray.getRange(i); - maxScale[i] = -srange[0]; - if (srange[1] > maxScale[i]) { - maxScale[i] = srange[1]; - } - } - scale *= vtkMath.norm(maxScale, numC); - } - } - - // if orienting then use the radius - if (model.orienting) { - model.bounds[0] = ibounds[0] - (radius * scale); - model.bounds[1] = ibounds[1] + (radius * scale); - model.bounds[2] = ibounds[2] - (radius * scale); - model.bounds[3] = ibounds[3] + (radius * scale); - model.bounds[4] = ibounds[4] - (radius * scale); - model.bounds[5] = ibounds[5] + (radius * scale); - } else { // other wise use the actual glyph - model.bounds[0] = ibounds[0] + (gbounds[0] * scale); - model.bounds[1] = ibounds[1] + (gbounds[1] * scale); - model.bounds[2] = ibounds[2] + (gbounds[2] * scale); - model.bounds[3] = ibounds[3] + (gbounds[3] * scale); - model.bounds[4] = ibounds[4] + (gbounds[4] * scale); - model.bounds[5] = ibounds[5] + (gbounds[5] * scale); - } + // first we build the arrays used for the glyphing + publicAPI.buildArrays(); return model.bounds; }; publicAPI.buildArrays = () => { // if the mtgime requires it, rebuild const idata = publicAPI.getInputData(0); - if (model.buildTime.getMTime() < idata.getMTime() || + const gdata = publicAPI.getInputData(1); + if (model.buildTime.getMTime() < gdata.getMTime() || + model.buildTime.getMTime() < idata.getMTime() || model.buildTime.getMTime() < publicAPI.getMTime()) { const pts = idata.getPoints().getData(); let sArray = publicAPI.getScaleArrayData(); @@ -163,6 +99,21 @@ function vtkGlyph3DMapper(publicAPI, model) { sArray = null; } + // get the glyph bounds + const gbounds = gdata.getBounds(); + // convert them to 8 points so we can compute the + // overall bounds while building the arrays + const corners = []; + vtkBoundingBox.getCorners(gbounds, corners); + model.bounds[0] = vtkBoundingBox.INIT_BOUNDS[0]; + model.bounds[1] = vtkBoundingBox.INIT_BOUNDS[1]; + model.bounds[2] = vtkBoundingBox.INIT_BOUNDS[2]; + model.bounds[3] = vtkBoundingBox.INIT_BOUNDS[3]; + model.bounds[4] = vtkBoundingBox.INIT_BOUNDS[4]; + model.bounds[5] = vtkBoundingBox.INIT_BOUNDS[5]; + + const tcorner = vec3.create(); + const oArray = publicAPI.getOrientationArrayData(); const identity = mat4.create(); @@ -251,6 +202,29 @@ function vtkGlyph3DMapper(publicAPI, model) { mat4.scale(z, z, scale); } + // update bounds + for (let p = 0; p < 8; ++p) { + vec3.transformMat4(tcorner, corners[p], z); + if (tcorner[0] < model.bounds[0]) { + model.bounds[0] = tcorner[0]; + } + if (tcorner[1] < model.bounds[2]) { + model.bounds[2] = tcorner[1]; + } + if (tcorner[2] < model.bounds[4]) { + model.bounds[4] = tcorner[2]; + } + if (tcorner[0] > model.bounds[1]) { + model.bounds[1] = tcorner[0]; + } + if (tcorner[1] > model.bounds[3]) { + model.bounds[3] = tcorner[1]; + } + if (tcorner[2] > model.bounds[5]) { + model.bounds[5] = tcorner[2]; + } + } + const n = new Float32Array(nbuff, i * 36, 9); mat3.fromMat4(n, z); mat3.invert(n, n); @@ -311,6 +285,9 @@ export function extend(publicAPI, model, initialValues = {}) { model.buildTime = {}; macro.obj(model.buildTime, { mtime: 0 }); + model.boundsTime = {}; + macro.obj(model.boundsTime, { mtime: 0 }); + macro.setGet(publicAPI, model, [ 'orient', 'orientationArray', diff --git a/Sources/Rendering/Core/Glyph3DMapper/test/testGlyph3DMapper.png b/Sources/Rendering/Core/Glyph3DMapper/test/testGlyph3DMapper.png index 0339828f7b78c12a10ed3fbede4478307ee061f6..35b013db889ad1ebc84e6e919065984e1ba7781c 100644 GIT binary patch literal 39848 zcmeFYWmHsg*9UrL1{gw^p{0jzkdPc;fKfskqy%XJQA!XH!J(u?O1isSCB-2nq)UFXczUw<6_uo-fA;k1^PSjZC|$D>P;R-TI{XQK(6RRuU| zs?71lUwcT>N4;}KKYVO!VEb&va2CNfxH0`f5U@P5KX@P8?s#}dRr{`&>%|NVsokq8yQ|1VMKV!^6xwZE1A zkDCT105c~3FLC5z@MF-nbs_)9Er2m*uBQ4gsiHw7i140gBqsmMZ4A^PEqVV-F=1dD z6h-U+P3`}3R|D2QSiS!ef*fA}!@-s&X#2n1mY~jq{~jGvfMO#yzWvk^PkR2B8w(Cw z{eNXeQ&j_TVK2VM{I9705ft)&NB{o?{g0mhziHGR1ozqyn0RipawKF$C3N!h%crkY zst*FDdtMs+m5wR>*bw5x?o=#a8Sv?l1h+yZKx%09i}D`Z(l)21tq;FgzZl`O;!%Kbe|*FJ1A54HB@W9l5AK9RAYOV2;= zse+GKyT7?naF=kq&iH6R*AleF&SEdlb9_Th?b~4IqR)?yfRqLucb^N>*gr}{`A#Z8 zV?y%>iRK)^>dXf&GXGe`07uSLXDNSFFNKEpMZI@aA5F}=#aAyeVvk24b(@IGV;2fNzdcx!zOJY{vD+9hy%i?+OEy8E zt8U*2NT(&P&3&Cl*}3vgsAO{FHm6Wb3ehLu8D}zmfZpz5YE4kTx(SJpBhiRhO)U~_ zNa2k|e(4K%U2$V*XUZ&b?)kG$OUq(vF6AeXFZvHYp_2H+l8i3l%$CH+h@wAOOiSk? zS5Qtl$Fpe4l-DYLoh%AI@@<7|S;0*9lwyQ1;ru2sLhd(-ragDfo`qU&{X)Q6{ZhTKdT0zYJXcv_HShMNvhnk`h^@AV+z=nx@ zRtrrMUK|wGs!?z)nBtVFiEBs*o1`SCnbc*YXDd3rXl$yP$q`#2Q&2>wg%R#pu;xah zk09=EEM7!X>oGJwoMM$M9)##L&E+T!vFKVTcnKO3 zY?G28Vv1g^+z6}yd#C#b*>PIT5}>Y4{Jnu0RK5m~FH!rkG$@Oe?L{_w$xZx%1*J|l zXYkARSEtnC6XkI%#(2shCcH?@f|(%`VTB4zT@L;EQ@W;b;g)h47Uc<+LUbC!$pt=k zppTHGNK$=db7vbQ+pP%794WVx1|b}gbRWYuZWEi{7hnOxTum}qbCrJ*yS<5CCuZ}< z!GY<`5ey`3tXWVJzIv#=Le?P{g4diu5e2i0&J!FIqUbgwyQdy zr#Ev7=~cXsGIfwuvcw~bBGPt!k*72y$&hMa{tzPi3Wotg*GNI{6)-e-#Q^-T%3p5# z_+NW{xpq&X^HT4AL12ncKErZ|fdC!8G3;2q-BhuGJ|(hxogJWRHys85aMX8ozbo^U zqa5j*w-%8_2xhDph}oYrkY6YFEtfe-3C9a2R3hpjM*C1*iN4^IREt-teysRda!i}+@-c{fUmdis}##0h*XhN-iy1iNmUSFIR~t` zui5wRk16t>1=56?GNB+uH`){3khUY0(>F!9QN^W?+T9>#8HUhVItB?f~16Bbs%q4UB_M49`!X(&_*h|BLZgHYq{H^L;TD8r0%}-Y7#vFn)x;ctV&h5H}%%O|GVS znx_N>2>T}=I2qrintcWKe%gr#@ zQb>9O`9_Vj9e4soWbe&s%o-=OQ5vu)&d8U;FwiwE0{92Iv`sL|jPK}gQLBHAc1-$u z>N3=|-7}P93}tNT5AYr_l6u;ltuuRC?^?ZF(oQlc(_a}0fM&XJ=8oUcEC*Nuj`K1Y zipLwjH744GIkMo(aR=u~3d&?}BZ=k8zTupfiN${MeEMxAykPzAz2`+)lNNx6qjy_& z>jgHcIuY&+mNXm=L&KIeziMlPZD|u`3IVdq_nNDFIwkLB)|&!x3yWV(2uVM)f7W7^ zLg;*dRB-K60&tieK769&y;N6?T4?{Rg0{#BC}Mdew>aY&GGJlMqT24q2_Y0WVrk#_m?H#QAdB$fClULHAwx+HyPiA>CPWot?4cv6T<#= zM(Q`MntoSjpwNvgafm9FNN(8M&VC?wG5hhTZ9Bq!79dN1{ey*U#E-+VL%lJ(i>-t?@6y?US5qTZ~^jvD~K zAB2Ue)ujxY8zp~_v-cxBrJnB2k#f7IMG#X+4Th^V<;*cEOb4!lNbuAe_HZU&u?B!5 z`r~}mDw(IwD+~UfQTQP>9-|C1)&-2j(M|p+c7c6RvG$jz6Z`xrqMpovq($^!2-O8l z%@%}N#-n~Sm*48YYq)e2MuKo$VYOwwuBLU*OxN5ACmbL`jl$U?p!g19HVISo z;^cM6fxuVPo`v8Ah5l_)x~j#0@3Rm(*N{d9zHAhB-5B2;jJH>#J-1JjVm)u>V1ZwXT6;q75@%B%=PR;8 zHC`lyXze|9m-w>x5OW8_;Z&!a`7S|ci4MCgD{ziwy3TCBr zzVX__rGSPcYAtIBafJM|c+4ujn{ujyh0r^AsuVc^&+TwnFDt*dNyKur6b~#pDKl$N z1|(yB)OWj=D*4m*;FHiT%3c1qi6A_~y9W^*GsgE{%gk+doiT__6}-DVD3snx1X0Zg z0qBPP)Hb|DfGsz`l~9}qpBFCboh?u=?;)h&MHt9%@y<=J$rC$U@5(Akxfe=|aHLYv zttV#uXAWcbj{C+>`o*1=x?TbuI5F~c0WN4yfH+r+>`;CFlqn|_FK9w{gO0Pv3ql>b7iJo-Xldho*xxt%r}0i>6&SBuO>R*MvD&E(HCO_?As5pM5i}uephTB z(yEXsFxhxXQ#qQ&ppCU0hP)Ay{-$5UULDv5@qACDO^5QnKytpaxo>WSn;er=Jn zdk-LY7Fg-H&;6{j+!d!&0sHM2^4gXpp9s+&RRo1oE)Xt*Cj5BIVV@j5tx_SX65AMl zor>7d8NZ`P%+a04q8qk`F<>HG@~pK_82xDD=(s;2ZNjB2_7YF}+xql#&mOtt03etB z6N?m%6w8|Se0MmshpD^Zm1DeCKiuJyQ%&ogH=nZB}Gn)Hy0VT#509a z;{9lgj|~)_!62RkjBuB^8Jw}mSaGrYdB!^=X`K|hS&S0V=O%HA&3Kf&-xR+EoTnpQk#qO2y=@F#M+D=lORCTnrvO z0|F=G(q14wRZ9h)3!cdQbMv>4zlqU$x$?S{?7DU&`#8nJ^nFiw2wq{^P2no*ls?^M zORXF2>d?foQoUsito@OhZf!{VT<`mBV(qjGmO^Y!WHtGf?iZ~~A*alJ5JxM{;EM}2 z>K`+pZNXY}O0zt0RCv6IB8}xzd~LC~eh+ASwb*T)+x`bO(p;PSL)axfQmA*A|B?$r zsG!qJ2^?uH0oKpmvKhCa-gxG2l}*BS%!FT2hvv{3a5Nb9p;Gi;zX6K~NM}~&P8`0b zG?pFS;Q~=5Kv-qB1wiI#9|vf${?nt*cnE~EeY$HzDfKTv+L-y=x2kW5V??GM1M!0! zLglyHg2LfzUR@VD8YlPT0)O0wugt^7N-50DZF(A_7gb8`4(GeI#$-dn7Y)%`^eUEi z?8wIexe()#U?xM^?Qa6!{`^f$m}NJ$ISoqvhk5#gVNS&Kn)xrukc`L%c=U321elB( zi8;r4ZMF3?z3GF*H0V=*w$zD!;j?gYS~C7!%hz1Z4p(Qu(kPv~&(oFzftehlk1cYQ zhQN8GN4D*hFN>>CWKg)jsNA`R>X>JNDNE@E9}(uWDQiMo*PU_C0P_wI8)!~!(}@KJA_24>B_MZKp1cA%1Eyv^s;4O;NTuTT1@lT^?Nh1 znCm~Iu*C&d(Qat0)Iv>{*lZfZx_k6&&gla}_?bEd6SZfcGSFBp-*C}~hf4L54gWey zsOQx2{k*9%#^S3y&fL>t6F`%#QrpDM8vm>K$&BDDGklVd38i-nN#E*j zEH?7ASo9+A7C0az365p~O#RpD+0b}%>=Y-4@|4VBAF=(fnL42`#bDRy;BWy4QzqRD zCdFVE{1~YNo!5Vc7|WEIoeF{WM7S(IJ&huD_p<*2hG5X#a4jirGo?G&1pVDMiP~Qb z0$UNckg~!Cq#E=?u5S29kxc&g)PzyF;#!}J{+z-C>0hx?%>DQlpFU@8i`y`k5dH=w(3+MH&Tk2GE-*f&mB~t#8{fW{7SXC2-klOy$YX`0s>pA zm23eba5Q3DdA)TM6!wlKY(B~}x|>*J5j4(nWNMuP{R!b2tqS7u?twmAR;5wEB=>=( zEeR%VU6U)-EM{^}<765Alwa3Xrnq?aEDtiGW^$r#Z}R2@g}kyjROC$5vD?5|RQ2_3 zj%is-3^lELdU5L?R0JHFYkJ@+8r{lf1%ks(}DHZBj` zLW;;xwxo>TMw@FcEBVicv$M0eT8Y8%<9j(gRZTUP0SiCx2*e<8A4sydnBjf>K>H7v zWTHiQnER6m5xjlO+Y_kIGQJLn1ys~K`DH4!D%2vHmE_VLA?Tg0y>>7x47IPFh~>v* z9~_8r8HSNb>Byw4vcme9n$l*h#+qwt@nM7FTkqfK;jjT;SQt!LtS@(mp|@2>^_n`x zECtDd5Br|s>e2lv`B;rzET2M9P4cmahH?#gZrxNPaUSP zDF9y?etA%On=5@uxy8X)${|mN^<1dTX#x?ZMMG;3Ni%5Xzn0}YHHsJh`0Vr^Gu-|i z+W!!USlI>^w=`vBzbPDrl&5{*NfE&HgT_?($dXP+KY_nm$`sbEVziwFIua_MtWYvJs^ zg(`KIBoa2|NiEX5t*X z$B4T1f|x%{rY!fav!iT2jXKUN0=dLGD^9mpBMTZ%ecqn)+v2$A)|7Az5=)@O=fn)} z;Fv7{{WH8cEA%j;pE^&GBjP^?e|z(Yx#mnpr;Yu(&}Z11#E|PrTVB<>%*E9ELzAUC z^?hyIU3LW@Wh8-pNbvE%t=lg8R5 zHmF{BFQnLBcE#V;-ltf@fbNoKLM3p{tOydlQpqm{Cz`%TUEn#XLW$Cl7`|#>&KsTL znD#OS+U}paa+mP-_)!xenslCym%Xx4luFk-S!(ZQA;@k*fIn};IEKF!3^Scq*K>14 zEBw#ry}XRp3VYA5w?&Ve7kx=gp?j8Us9FY2;r7n9_!3KPz!dBmHKip!c1*^6SFI8V zB;X6mGhk`kMy+<{MWxRT1aLR!-EBXThLSs&Su&dU!H{UDH}Kp0uKJ}k^&3Mv74rup zZ7$)#XDzz%gSVD3a24GEjC$CGykyLaLhLXM1q#6LQI(EkJjUly`k<{}10@bpI8)?+0gg>Ic-~>mxcv@_v7PWRGd19|=OsjYd+3!b zT+x8>Q&=`tJ}NoXCDbj+BKEmC#NUqxyuRTbjtwgb*&qZlSqtE5>n#1|Y}l zeD@;Jp4^UF1;ZwMmoQP)Z>7}e=*h~_Txv5u$GHiE$%6?+!dL`u;ey%3ltnbkb&(BE z73XK7*q*o9s!ohZzpjswHOoEk5lk)VCqVsc774_+r9=nL7;Tv95DI7FXW+Mq?RM+6 z`zg& zWa{+ZE@LAo%s2QucwEjskvMWauI@DvH7zv6v9&pThOcwtLGU57T+NVgeh&S2@U>%A z1Y$AZ$G{aVUbb4}Vg(w<(@IFviS4gAaxTkm9e+3(Bm04{=6g%}87(xJA$=%Y5cfA`2o%w#1)!$N_OQUCK^t%3_>$BLWL%)$^63cOy z7$X%!GG}v~(~AAS1cu`w7(S8@JXI1G`0f)6QKc9jCK>%vZ1@K*;txYfJY}8kpRZx< z-g~h$X*Jpz(3x{iIJa9|7{79~8`dHv=JV(5K;9PXQFYVTLtm;b#9iuQ=U#1oAiSC0 zDVRipF%W7=qSWL7A(+X3gN>0%L>|`)>X0bO^1hydmMeYSW*pe^)!k&o02&o8Ir`$& z^1yr5`XxLm0kVu|cjvb1za4t<0p;A4Cnl^*h=_*ci5rgBPb zzI?l~ztehm@wJZdNT&&3iyL}L_g{@gZ`0;Ozd!6P_QzCdB{q!_ZO$gAF4{A{R@3} zL)Wr5T->;KJLy@ce+F*2ZUYy}5d`-cP4;^4>sV=Yua^;(e6iK8yw*}-%%g6{0f%kfHpFSjr-zGPHZZE8V)kl%*!yisFuQfQ4lvkXw zAq|N((WVe=4cgd}8ri3HwB#K0UrC#JBiWe2nVWlh(kmt;ZGV%R{^ggYi-o&W#>&Te zwa-f+t)P8fKE^ZQmynU_*g$B^)+|Ff&Fn*uTqP}S=mn`$_M0$%ji&qA%Qr}D0X}LR z#2aCklLlq8EzxPR@q%Bo#dAQbxc?&sA0^AmZXQwaeJ<5@8MO`Jax?E=d-7sCf$viy zBG)LyKS^Qq8XHXJTkmi!9oq3eo4I02 znxgdWQt!_{At7x$7^2QUb}M7q`xh^xgGR>OR628 z!6+-fK%ku&**r}NJb z+(G*xK--Id?`GYc&9&S%2iFC1`DsgZ-c1&v@xZE#2k7zu>(foudRI0;_kst~mn*H2 zOyVj=_wmm$$i4a76_ORU+^013q+KAMj)3b7ta>+OIWTf~nESnQxN+vi#em^se$|)y zE8<@g>HY2!+vXpbob7T`(mYCrjwq6r*^!N`aPkSIXb&dPn(~bk6FoC2A15K!4Z1`B zj}$v1m$k8Vccg$44b3VTjr$L()E+AyAyUyi*^9rPPHlGh{ul%V;99(c9foeLzfR~< z;^j7>w1V>PiX1v}ic;{;3N$8G5S=I6YeM*di^V9hd5ZJ&k}tQw%Z=VccmYsnN++Nt z+n3iMi>rGUJAz@T41_JgB7#%{VckRUiLW}2bN%w1Y?PdR4jv7l zB2Ol%sZs;8Va0^sSw(M(ruGmfa4z=1bL@$LR^1he&~Q+mtRG;_2Ft^C>5!$y3BPRJ zgup4S*|gz`BH{G+_C+))wvq$Mw&d&58XMqnV4JYy&B$R|=oivLTF1mA6Cw8Xw!JN{ zO9FljQIb~fm~4s1vCHrF#lXPkteK9{wY>;mxg1s#n&%3hV2F~cYNR!EU%>N5hyV`=-Dq`Hpd-I$(d%;(we2$E_`c+gMxDo^8v&9Ms*R#V!)>_EY{`;axmR*HHWs z59tcG+C4Zq(fcLywj*lj?QJv}F~VJLIZn%w8&p$Fa||+AsZCDPI;|vTk1<9k^`#8%XG6 z#C^{ohgBeYUmwk`kUN@Nkz&juxG*x@qNqoN;u0ojx|X2s_R^b|YvR|9qx@RCjW@Bb zfEKUsnKe=s#Vp9q7~9;>rMyMRIsVS5xA=>93kQX|niFk99=`#UxGf3-e9wH~_Z8hR zqdHluJBrDJ3VdLgrOTs+UG%CB^Fn1i3k4S9EQiC6N9d})E~Q{G=QD?HEr5m#;QN(Z`IEt=f5$O%B%dbD;piY_$W4G&r$4;~#5^2Sqf z+|!|HS0W^POS=#-#IC?5b0Wt#E0I8tGQ~oUCB~7+t%$M&$VGn~`J_s(*vFXQ<`Ddgz zx{%MFmv}sLf~#&g+<8x~A?7PdJvpa2@!LXGo`HwAxxf~yLv!ci&2w(*hgn6fnweh$ zPDiF(m!GTZo!<8_d7Q%<1jYN&SfAXLH0jsHRw3jGC#t7DA02Mt+=hH70Rs3p|1!I; zvGjFDb(tA8Yr!k{+_r;u`~--g@S}B9%1#K!EX?t**H8ZQ+s?ftKxKhEO#ou{$L{n5 z&Uilr;)0>W)PH>gXpto1VbJFp+tc-ALRtCkzqGcROO83@_I|9#SE=ZmEc6DncczWk zgK5pq^+f?S9+K$qXsx09?rXvGy@}~O*KsKj!g+DxL)rJ_-LA%9@#+%O`G+B0b#!gj zDR%ju$)XS84v5qjOUN;aHqW-DG_TN?fVBaL=D-tMv zdWJ+z7HEy#HY$FDQ(9Dm6*wAdV&K!h-I^1>XnymtP;dkFIfC1U~nei8G)9#A7({ zM@=fC$yR_k0It!%Pz%pY;$Ke&&k8NT&HF*9^D&cK%r0J0d8Nc<86D52M-Q;wT~1AE z4AIqi_M^XpYXfOd6ALh_v}zVaMZTRHGkW%p^$m=xuTQ6$Yv%FNDf>L9%n@UPM8)x! z9Y{>}0501~B_I^e2*h>_>2L04qJdFYlN@SwcIArtq2*eUrHMS2rN3t1ea>$AN=1P=AJuYBl1fAHOCA3eR=Xj zvhETg&AHp5ft08^`J_Vafm)ei9O1*FuObUN9dwJnp7wSt?;fY%zw|X!$+@69o}GGQ z%;&n8Y)q$%bvxrA$1acR@>Og*_*6ys?mzPnG>yt6N{d3|us&ht5jJ7@>ABA=oXg*> z!A+A10s{Hv;+XkfG*nvpEWp$ns_rHWaBdxG>GuPHQT@6ud6RWY8fGTH_KJ7qAABya zR}&$x6!6~%@!)09@&v4dQ8>B_l+FDLhN`z`_C7C7a2R4{5rJW>UyQ(HK)@=is%Z)& zge+&6H}1ttRV*ke;nf(DPiPb>9#-ybM4D1P>*pG z@v;lYYa5ZNiB6?fw~ri8SpGKSA#P_+wp2M5yW3A8b|+581~h;6uxE+)aJa@wojlus z#WG@qlujv;{l@`_jMw8J*f%-YK2v4czW&1t3r%3Z{ikO6orFB_q~fPP>XlpxN+tS; z-=;HKx`v@uFf|ZI0GP>1_gRe3`K^Yn?XS2}WbVPFaCL)QI(6KmGJ(lmHg})-WM9E? z*jHYYp*Ix=r{U)2CR-jxchPaBAZ5lih2DyeE+)%$W<8)O%NK33IPp1Wq4w zc%zB57jIN9=9q!){_ESyS6};Kv{CPft9f|TD?pO9S zuX#JS*2u#iNQh&iAspRLa#+~E@XHe;h`Gm%imLrXJTEu(IQ^>XAn=C!WTqP2m<+x1jPBy*qYm>@i3|@CMX6J@kgF6wvIP}1cRo~U?l70@-_yy zb=rmA`<)a`_bqTT*|9zOffaqz+qj_6dK2c!onItSl4l3V5$b_$V@@28*|d^h+BfBA zASOa;gszgZy$@kM{&e%(K&LE`8KWpw{!d1J*Z(xRkzK!GCYBvH(HxMTjeE^05+51L z7MoI^INY}DjBbIrW+@2UIRZlHA72pz!1qB##VYu)%Suy=(&IL~2HNfqLt$tL6SzG^ zIU$UP*%EA4gS2Iqy1bpy>Z@vrR^KhZ?HI@|J#%iPfZ&&U_^K>dzc9G)9yHr}bv?CF z9)r&&^>84{AB2P>1LcMYlM+mkqZKR!^tqzi;S##pdC)ZTk0+ooqS(%cU$er=;xM=S zzD!meVYaFFoRkgzIx_s--ppV`O3m5&; zdHheBcj@cBsPHdsG&=f!;0wAeSnN8kai`X2kw@)r&kel2MbYlbaPauxg9nz zRgDAFt$zIohDoseqW#DYvuWDVJdaVyGy{Uk|Ni~4bZi77qo3_+>(JRYVz6;8cY=L+ zKmYz%{j1C`hK{3HLoNu(cxyXG8FSkzNB>7H-QvT)wf7@od3tc~9%qtq^09ME5+g>c z@c@+=oWZP7vFhvj>Q-->FeqY>sa~b2hQ5;jQ|#&gVRRomDZ~?QWf}ORL#t~-3fy*6 z59%8#ae3B$3*0_1!ubb0b&~$G@;Yls_}Dp|L%oHpngEH?5ft`Qd>@&u)4k9( z3HBWb%0+EXu6cqPbGL81VY01?H(Ee~1D|VtwaiK>hVj zWdlMFKv0{RwP(`&#(&zMj>hAm`$=wih-JdKel*zSJgQyWG+_y`dlWTmL<+Q#gt|)S zrox{^q`jWt2(65;=fe=vl4Uadk4VxlXjeUV`OofzZ3NxINs=@NK8A#Ii^E>0eAWO3 z9<%8-NdnI#)SnmvH!JyWB~P8?J5}j@RpB|KK7oHDo(c`5BK$;E$$uh!_M0V(n&Jx? zy0~fT@bf~z^AC0b98luOrV^LDQ_~;^zK3gJcyN~>WXT`-T8Ok=4=HMRUWXqIVHEf} z>zX$c%)I;0d_`-9I`c6;>_y_Tt&dW_igUT>sZoi%yn=VM@?bivcl86Y3ts0Cyn=hU z7;~dcoFzlpZ6M(>r27`RHS6{D1TpNHH`1zWiVrur^(QWwI(||5G7w^EIC~@Ex!;19 z{(q229^Y&YQb2lXqfN~9GWCjOykr-|y9^`dQ0;<5fXOAj*+yh^CQ&pCtmnG&H;y*a zF@`?l_o+&CEbI+Kk*#JR^doV6M}`c#*#`yC-H2~f@NViHAh$+l$vIIaAo!oP?an>0^3>=JcSaekw# zN0a@p^`@U{wfn%_gsoo4c`o5y{17H=exeSsH+%euzY8C0Y_01pF3@^b4$qi~jqT?P zBQx!Ggm{b7;8x@=IUgvh9URvRBz>e{@=m-R0YCnv-yc~|7;_JY0+}3ko(Auhb^m(| zC-RuZbC~A>+%Gx#W?wl)GN^D_E^7wKXXBjb9`iCmQR0TGi%0c$F|KVn7>DHJoL3e( z6cgZh<&+vDS~p>1yE%ozH&f?pJbB)z*XBNl3OLpdNGZrH@;!_=k+cAPVc`}8e<$0T?D%Kqky2-Z zcKMkwJm62?OpWSb3y_#GhGO}gmM-n}RwdT^!A1u8nfPscGC%-+ZPS^1R`FFkGfx`l^Pw5%muZEj(Nm+55;wK*b&Y zQ9ag>?IytfH}9dqiN%UgHL0JOQ`Fs?Y7VE&o^{8pf5{IaFC7-Ai`hq5qb`V}$4PB3 z3&FR=kh+s_uqk3UB#rQ0YyK;XE`0ck(Twrms1TBG3^sQB93Gb<0M$$NSO-PP!#*3k zM2D&6MPxP~oJgs@<5z!?s^cUobD?czcoE-#W&i2Tf~UA}Qo={FTE>>S0Ob!=f(>D8qL)NL)IfB%O^8Gb?0X za3R3$>uqE)-kI^rTq*4asLebLO?ZrUpW?t`HVwh=Zp+r%>#M^^bSyO@o9zbgr4f{Da}duIOLe%P27=m zsm2o!N2%D3HyJ$KH%W8ys`PJKZj(2qLqr|3+Qmd}_*OY=jeD*wRdu;_^q5?d0HT`8 zi@JFDo)8FUM=~hkCH4enjm8V#L3!9KwwR_zTI@Ggw6DF-7}>a%=8ZgPvTk(6!*I|k zl%DcZJpUyDDfXV4>|E@c?s77i{b4cQF(~a*W%E%#bU;>&$F&30^AjOUPNRDT*8H>N z=#XnKTw^r;l|vgtl_VJM=h;jYl{WqFC3UA&$zKEl5kEos)BXx?vO;0r>{r;hgv0Gx z)UZ;(=F^+qGhHQ?!bjJuT@;NFRUbd$*ye=O?}IkWe~37CL+VzZBDcTDhF*Em2-H}{ z(W>0$s|@FyLm{@+&t&+A#!Rb|PF5%BjwUy|(|>w1WTX4r&-cIfVUgik{FreX;k>Qc zy_YB7{mUyX^`5k(m!>f9H{fpEYJ8*Nb0=u;hBs;Npk7Oc;A!h!&wL$|8&H z1*xN1#DzbJ+OM{r>hEuHNGtD4_UKDg2=3Cju%)K5t$#YrOh(f8HVjTDxVZ~wW*J_4 zxwHn&q)pZL1iTI;g2a6B`rOmr-l+R5VMQ=hG;{KyXCqj3b@x=yujVFo^I<|aNH+%Ek<=s}p8*2(ZIXHRH{M3cGZcWE+^2Ov={78>?Z zSRw4jP+8s-vh@S@xjf+Y!8-_QWsv_Cleu?`$yiu4SPNn~v_m9zFCVN9QKR~zk#rNS zKa9^XYG+rhQz?;|t39f#DhcsZxq_ET3Xo2L?9aFe-+zMErl(^!!44CG=#D223kmB3 z-h2;))($YMmp!53&jz^8n-y|Ke~*|6PGs+j;#zDdN51W`o7M&r&tDK9@BB%y_Sg|L z{r&lORVRKq2&bUOY}iDDG7wdL8qwZ3meSm)1X__Hh@S!Szn)8!${*p4biGPP(*Bc2 z+r|mRi-*m)T0D>_w(SXveg0@cUd%VN38v90Kk|DlMUaQEv!O&@q*7RKq5fy>XKU&a z&HA{*^G9xF(LaaqxUn{4?B%3N3tf{*JwE#;?umC>ehb!yEZj*bQ7d)vk5m0Q@1I2c zhi}}g(nrxcVk;^_6qha+x&g`Jn)YUa4nLv|Ydw<`hmV1KJ+2?@;j>_%G(w#A+S_uk zdZu&H_)$+G0wHxpVl|^tKqq(SH{YMhk7G!aIpRW(Z4A8aX{DEue9l~^w_pLG8Q@NV z2)yCK#(_0{1-I=4aMb@9A&2~o6Vr=av*VBuw|t*fy~zcv9^emZ5M1yGfStke8vw3* zDX9(R{1l%U`J~~K1Npop+rL+`%_X>LuM(I3)A$csPrA9KTz+HQYzC1+NUy8p^qs00 zvHJ-ozRw?o(RfJCC?93|&z-DL=T3{{dcE&C+mBqq5J+Ga1F444^VaJJFDbhLig86EF1kA}$2gD!MndT$=W$9uGSK}4fB5o^l@Qu76IIK*jSx*(JRJ-TRH z%9E0z5Mgnjc3T}1>+-uF4188PDlUX`B?~8wJ9FCu-2tBCWkJkRrHKk0A+U+XqVak$ zZt-3cO2AaXAzHT7;LY-5KBb;#F{XIyqu`NRHrmW2VNoE*{w9LJd8CC+GUy~_`+2XZ z^D*}2=N?Gpp?%ogKhOv$DV^SVdH{;1U+_^8uJ^ZeR5TvS7;<#=U>VunF_=CVrB+Of zF?jO%Q)x!V=9&d2Sce`Dw%~h81(LzQQv+9#eoQKGaJ6-0gi@XQK3z%nb z3kUI37N1z;wn`t4eZV9f6KUmmDm&yVOjYhHILu#|=O%rB2qA%h#q>_{-OuqRSg!7l z^rbcSs}jUehK6B-g6!yxsoxIYQ=@&mtbz|l;$evCy@90{W$32;WN>WoO}jS`>zXl( z4ulR)mf+@Zq&`92Euh9(bM%-5o#}mI>gd0Rn#x?Y2vstyXv$sgb)0OhrQY@GyVzhk z?-YPD&E$c~T#hxvY}o{9F-`D%= z*c{P6#&S4|H^Le|35x@C-qHv)*UxjvG$f^8Ip;GB-9>5m09Ww02=9du`(lrc3LWMi zJ0`-pBuvoB-|W$7i+pSQq(tGq@8?ybt4WD{$jAcRq}G=2F}@$m?Euv$#unE^;@ha( z)AkmcvFy29qwzIA4-di$LR;#!%Ky5@Ee3&)yq{4ytB+Utx3*h3)tgdZ9m{{*9^0mL zEnteV@IRH{YdHrWTScSPfBG#VH;PIJnW!In88eEyelTCc2HgDNGbl!?_&F6!<#(rd z&{RAzW-eB7n5)J8Bu6E0KYt##5g<>-2*5e0QD47lj86=d!y9Tw8)}t)+`>84@(b+{ zQnKBG_7lEiLBsYj>T@R$2NA3X8!!Y$TH^0ql1pbBsrGp=5iZ0`0aV5HxBDNEX61`m zdeog2Ox@}Ocl58;Ldg<=nCcNV_hISF*FuVdiUZo;@pIGeQd)7CnF{+Qh=_=>+Og7q zfl_qAt^5E7Gbt4hSC};IkW&iRWP3Q6#HZ~RMY9xWPMq!`4z>Jk2!qHscVEQ*=Iup9O{a0S*{_zd3p33>iG9PjrGSq&KA%P_h zw|zqg4L#h2hyXr&Q12@f96%KsAL{KFrhc(lA2pNo<^Fc@`KIvQ0p$+rkQtc*wWm;H zNRgH+4$J)b)@8S7OIl^H1?dJfgwg>1!SK^8aLKmT>TP~Lo}fRq*P{!2Xe;ggFGCd- zovS~yeg^L0ekbDmF7Pl?lXIVi^>xFOZQP$}O@Z!)1FkozYSxsV!Ka#+^WOwNIf7|F z@*4Mi!dfd*+$dv%>>%FV1>bJxN>hfV~HHK>?XFo&;h%mDwD&&);^0%%nl$@ydQu7PHUVwNT;sIb< z_SIM9;n+NKA6xYgcl$IQd;f110I4%w-~Y?c3u`C@(VW@f<`2LVP)YQ)QYv4c2N93J0tg9 zK;+jk!}8ZLozI%=Lz0_n-}=f0@>nedAl(~k?;t`?^h#bMMJf1&nZwFZw@W7x`pI_W zpG_w`;W?fg`F7HnUT5=S~l$do3Q7Kpdf) zBG3JN8XFuY52%k?vSZrkDzdSwlPU~8dG&wX3DRP}(@G?e7)ug+#XYBZ< z%eUS4pEyTBbb&x5bJ(ZEDq_;r@(u zcwr8dLj1VEb_m40E|=T9Z_)W0-dI?#*K^+q!#+rlBiiEtz$S>5fZ{tBAEhY8U07vT z?s9h##K27)a#24vpNzINg2Tw$JPh9>>G%HPi@yU@7(d@9xNUpKBzJdi>2R~2w2y#P zz&JuYxHOeyn2l{xLQh>qySYiidhzFzkH(WwA;t2+cqKp21#(Vg$cZ3Gb@7L=-uzWT z{{O?&TL!iD_21hG!D(?T8r&)F5~Kx+yGxPc?!|%?hhRmDOK~XfT3ibhcPsA2?Vo<{ z-!t<}UY(hpoPAFAk^@>o#V8XOr%)uv-n&z3BT%4{MU^Mf z9a}w6?M<)`q8R1aTT^2xF}rZJFIizfkg0ca557C%FzPQDIg-607F~A}{Eh<2gXDL6 z>w6bW7G5qN?CFx)*5xV$D>`vRlztp!^HK=T&Zw5(F7FW4dg#YsKoHP*Kz3lMcYRIt z12>kaR{CfFDr~J<9N3xUQMo1$n%GVX`L1JWhfGN}$ zKAS`d9sJnhGNJh|-1Hinii~SM1adaizQ7()oo#BFU?6(lXiR%(;PG)VNv%YqL2Rje zO)xl>w^Ln#*=(!_z{#O9&vO8ubXtUV z1Xn%1DMbZ*KcP zHJ1Usq*8e0)&g+FiaiYp8n*NgbzB~%T9EL??gt4Jq--uL=ee&}1WH;GU0Iyr3T3l~ z=R)2ed#1CGymyjUKoY9l?W+^l-5w!;{F2Bgb?%cDDHuZ#kWNlk4#+w{9m0Qw_nsH4 zZoSgfPZo_r0b2UJ#<d-IBMC-|bQ8 zki`tZxe2UeI`y>jf@bsF43qy%l zLYROuU*QvQdu*gb?KA5qv=P=;ZXv-k3UEEhniPX!P?3%(p**&3ovQRT0az#o52^2a zb8*2Vkw!}=zU^uLr2jd+3*~RSmT&0F3w|{4nH^MdEL<~6+F$o7E7})tusN}v38j6t zD`3aI*|IAtRd#K02Ztw9!2$+WHflip2@4Db9dJI4MtYl#c_7^;P%cn*tHtIlP^BPm zHjv1A@K!u_cNUOlz_uHeOJUl6qk-cLoQa$tS#q1X!XiBu|_U) zJ`AlpMydb$AAHe+(7k*5Ec)7aogv@)aK{P|-sT)@`Cs}7QQ90SmXci#hn_VK(r> zq=E(^vnwDSmuIDb5rijIvaAV3>!H*v@tK{4Bf>JuV+nP0d}JowQOQgV;L;$8jf5eR z0E|IdJX`Bh1sZ%s1xiU)N^fplQ^clSq_s9U@`g_q5XK%1ql2(;oI`_t5tdC%cA+3g zht_#KGKa%^s6mJfuEJ8=pKXnn=Qh1b-OVsvhN(i@8^(t}9v zwn%xyGg63PPN}pQZ%DNm#@pu!>B^D$L$D>>mu;;|zl2DZ=eMS>MkhG9rXb|`{+&)5 z>wN=27Ori6T0gTE??I0r{oU`{RL*WZuCT>#BoaBojCE$kabg(|bI><4_E7GYnRFw1 zCQ^8{k^iEud|Blj!f-KiLh75s21{j_dIMc<2{hKFo(k%dK0G~Fml6X}XYB!`-OX@R z_hTq+CPI?>Zi5Xxtz>Sp@CYEGNVs^AdAIa4XgQ=w-`d3DaXp5kd)hRH#TIN|pqcc` z79dM1g4NQ&0T67+KCSg)Qr;1aq_ECzM1l}s#%7tn;*KgsFhB_SfmsLYg@+$Ot!?3Ys%i z^LeP?phJ>gFoYleYG-&m4s)a}4E8ArPcddJrd`b6OnF(|jfW0`RMHuY>! z4SFWvbs8j&2k15+Upbv%vR+5^2!C+EZgj#6&}2^-_ai_AAAFRYWEqMfK%}6yJvz_N zLC>i{a=EhEu0LT;>jupXh)*&T;UiH;#ax0n)ct>KNAZj@EAW4qujXYOg0>mVetb%G zcw;4*FW|k14&EbPMpbphi{^$lc_TqXR?G+*#|7?IhR`snsq4{1w#Bq4UZnA)-PTpT zW829Xj#tBC*~3G_z*mOML1!kg{VU_nHCU}k|x8}qX z39`8G#+%7>_Bit1B%;Z)Go^hgI1@rNv?MUGc&{?BG2I`$tX=wmoa{y7wXw+SQfZ_} z3sHRy!daduXbo2q1yKuCfv}I>`JS@8U#FVxvU)r~ZsGBd79DHdAO+_I$s7~6ZV1Vb zs1N)E;LxrdqF!uz>pNcmqaBGVR(&I}U8x<+Y=j=v7L1&8Eepg^BTo0PT?)+f>7V~b z00Pwh=?(M@`K58bMu)mmC*Q|3PIae8%c8o_0oay%yzGc!4blyTBfoyU4{~^eO58a_ zil!*kYmjc1;(K{Y_W7YD3X$tg*;pbLoXoT>HFsF41x17QHXp5YEcWC476E)Tq3(Pu zarGjlbLthEF7- z{cN4_GRiQmHO~hZYOP62?4`crV?))lh2y|H@sTy(#_IAA?*Oy~-Xk<+HZDPtG%|R< zNvgs{{FBVPCcmE#9F~mv<*Rog491KDJs$sudO~A@6RoH=>^T1;S_P73!eLVmZkRu| z8vmnB$;t*cAcPA$XV|C{4W_x{5wsH0AGutZo+RUG?CHt&jbArrw#_vZz!_2yEqv%> z+W3`m>o69Va@gZYT2bkU%>g+yhTwf z#C}GkRIHxQ=`}zBcA-&>umdg9AXJis?H;C`0mD=AkP0zJ=Ou?%%lmm&&nR{5AjoL1*3^>iBX(x}NgBxT7t z(&T#D@kPYP`2Bv$b9&^6s4bsjAC3h}qq6FgU6g7ifbQyD6VZ24tK~)g?aG$-fA{_Kd}i@hG-yBX zyEFTFV-YayrcPJ{W!QBd?egJ?IuT7CIpod3)yAbc;)d9{7l65q!DxEaEA;SsDbvzJEQo_$YAk$PQB+GW%hPRf4 zzUoUVIS0EGU?DeZJwkLro?t_RV<7CM*!#Hn75&Gq1R&1H%RaXvAFsW3687;=ZN1aT z_VaPVam!OKv&Eb~#Ln|;DYDV`LS|`qCw?Pn0TGEm61LI5vQz8Tz)pAC&X5IBw${Q) ze`g~*+38In!NudT4|x$R(i1PxjF)pW7s9o4F9B7gw8MjIro3$b1S|JIOHVB9_A|Kd zWH?MNt=Er5!fGsun4T>pANukraz(xuOY-H^`)+q`V0bM-FcQUsjDB}O1VYDHsE1)aZQuKn;G3lb!th^-#>3oT;LES-aW zPLcK^YK^X?x(mdPp*l zE-Jn7>xVTjoXEw#%1);Ic+vME-7s|1GlMn$Ne4>ON-~ zvy9G~Tl^Wy71_UgPX<<7Ew@o-(&Fp___b(%!u-Q`6dQUP4kD_7s>rTeb(t|AZuh)9sAnUjtO$#ugA z@5iTK-VV6K-8u?psosBp;gwrL-5oySf{s~Kx6Jvbr7^%>d;^hB%o*@}Yx1|Iz;tbF zD6x`?3E!`R{9w^fV)rYb8{dPW5CJe63;-EioB0AHk*#fsP|BkJ?2M7z;h7O>c3$_f zei70g5pDZ9{LdI22`Ph6Km@!ZJvGklxFelbQ`Ya`dd7qwZWj_iD;R(}m3Fzj0}CdY zA{Jki_y$mZBLJXiI-vm6+<gIBB4MU-QF$WeNFz^xN=+qIi+>cv<-P0)`?` zGPGl1uKm8^%rio;IcOVZY(}&Jhzq3UUmJHo8WnNJ_hUUChxzHrf%zn+gGq=0x+er! z?eafg2O`rSD{#MpG`+V^`jMLJ7cfm{X(=#i3JM=Cw+S1k0S340X0E^vR@kL%m*}c?bk}8 z``G;E-;E`%kX^??Br8@##_}Zspq~N4X#p@D5h$PL4zSZA2jXPWKmF{k<&MuAdJ*D| zZT5O_riHTe+p_X9`Hb3`t0v}=z)UzUcSYSJrTVZG7SG<996N{x-)h>QZfK4WQ1bYm zDQ$rfraC+!yJstv3d8Bqw86<(2 zUO<=+FB99h{e^(HEW>!SkhN_anrCfpx&)+BGFdQa+aErg2May>4Do)i@hA4DhBR1_ zRBFT>FfZd4)aHRfi@aZ?b>z5RwXvSoft<7&K zPh$=44c;W7S_ySLK&&IZ_g4w1T@rq4{y1)yNgrm_Cck(lFyKX3HoP^M{7c|_K8>|2NS zS?NEKltl(JTYm7dw#Z zdPNF$y=XV!%}hAmtlXn0cpH4H0#bxp_->KOA;XYdBM7}VCb*#CV{Y43IpX>8x$W^= zGKO4U>#dj&bpWa>rF~08nDNL1iO>P!8HD5v!d)-yQ+)4}RY=6+0~}UgvI-9b;L>AQ5<7)g*Hc1z%A=zLr79~eC~05u(5|m*N8y{1uTFC+ z-E}^LM8)?BU%3QXH=a@nIWrS@`N33$3`D*v!D z@y-zFQ(CyLko~bi%pqBU%$!%2^KoQoiDN+78t&xPe-@4D((aZb$hu{(JB4GrrtVeX zx+Ppjqg{yUOMQ6f!RDo-@zvw8bSJPy12BdSsT0Ym6`90}LqRt)jF4(@FSlyLRBN&S z8DeoqB#D{#2bJu#uG=XWCb-2d6A-rdc?r-vgQIA$n-$!bJN~*gYL_N`j|yicA$TVD zI`?seYNM{_0J@WC+DYTKF{l+jegH#6DP!pC2wTLunXG?&uN&{So{O%$O>jvAL~Xw{ zBk?+${wVd@?+?ZjfuO|=fj^!lq}LVxi263KFktB^{x0;YA=(&)qFDYP{sxpYo;%cg z6L?n+f6Ic8MUb}IYJTCUwEY!AsXz5PptKJ8Lt+_sb(?#%${ngvRhMIdLqP^y__?mH zITHfKHo&DcI~}UmxyOcPn7P*2V+lH@UPvDUZ_BYGtS^2D>4oh1L~eIz3;t$cBiWw7 z5J}DWX*6iYe+dd~q1B}ja83BMCZ+8sg~3k%XP2>o27d{cVB+zewBlwa@lW(Qssi$K zs6wk8B1DL$0P#8JqzG0dfQX+UYyPp|S=$}FMpeIhH|&|(mfA(exCA^gL9mfsSmH7h zf<@k9Quae-@(mP3XjkppT^F{~{|4ovVGQ9TLb+G+a?eaZ1qxoOJpfZ833*GltNZ>J zeg8)=vpyBG7g_6jB~JYqWsC6PiEFhd!ZC{wF0U^4D^JY>pKXTC3w0}hdWdteY6e$| z>tRSy+e=`ZG5I##6vE)2J`H2BvV|5Kzd@=t>J$M5#*Q*TP;lr&f%+0KiSZ?B;0`Ii zr9h7o2uMeU{3=Jog2$T7dN`bR`0z{kbXIM$Q^|C^W3u1c1n)}NX9EW>YMYO)(tnAM zh}gq@du>L4N8G5`1M2NAJJQu|>`Q3MHx*FzMGW(O6PM*fZ7*>tqa&vq2A8NI_-8p) z9nyv0C_muWkj`Xx1;>=0Nx!Rkc#i<@J%2s z`@1N}oE6(K+p%L1TP!ce!|1OL)Cl1$a{8ES(@^qK8!4>08ORDh`?tA|PM&6+Sl$

!KXZ~Ii+#~NArvldgk_9)o>UFt-*D>O-NFgB7wO@BJs^q&yx`=Hhw z;&6qZJ=Qp2W-q%ppElCvq&yV&5UAi}x#h{iS}~RQwihbU;5OMo>w0_H&jJZW3eP7I z7yi+k>?iEIZEo-;KRMJ(E1bz|aK)-QAD*?LwuC!HE$vhfSdObH`)ipB*wf;-r!qmVU)2q-c;D?407*z(M8J5eaFfi#IS-fV0tZ%B_3jYg+~WXKa9l zc5|-?O5QgVWNJJH5+74t8H0D{jBro0rEuP2^~5C{I}Ura@-h5v@J(3mWXicTTPW-9 zdovo)skqc*z@^ktg%w@%LCHCsT?4Q8p+8$^U{!ck7H)=xiBJ3PqC-JL-p-vv9H2`M z+oO`0iY;v*Pu024WgI4b`$s_npxwq{I$Y?fJlyxWaiegwG1KanIo^I6ac3 z3DX;6ZR*`eiaQ*bs$Z~{r$j>8xqQOV()!|YdFqapFK^dGGt6bCl>P}(4E6T<@9|Ac zT%M^3lo31kCyVnA1@Ok%RtC2^V~b9{9JC<8NNrkHtmtIfHeLeu8ajtB2QLxR0HiY(JnNHTC&??@ zMhicePC9BU>@iNN6lY52t-CJ`XeOjQAoaXf~$fSy*N=V0q(U^2~G{{0ljG&RUf zQA_$y14#DH@&=o{Rl07b73b!*umQLFvDZT>p~5|HDNdiC3jF!>&19cgau0Dtc zROee)Z|3IQAdyfLlEx9L_n0Fg+1HQc^?kb~UJj~Xc)w_CdatuFv+FC4M@@~yEzY)d zE0BloK%GPWTbsxT#g{#WR zSQOvyKU7}XCL+>1*;}+L_s}03Sx;>%$(jVou}bDlw6L5@&JdLQ-lEQETUYKvmIl}_ z-tAa_@@A#=-1+DdcWkw<*A0rNu1Iz6QX?hJy}xJKW*3+Ko951QHu08*T>Ag>0%%(Z zF-Rmg%fsDXwzc8oN-#L}KkZU7L!v3)5qG6FV_8{IWn&EUpbW7MmoIN>v0h!{ctOIg zrxSTe^yL-g_ivp5UgnI96qeLFKsYl>!)&v5frqOD`w1Z+{=tbn5bh1zCQ?@S`$;?b z(Vs}1&=Nn@JYq0;B1X;cByF#OfMdv}iWVE<7BvLIXZ>E@Rqz;>6w1;caUH4>?~jM! zEd)i9oHq1{El3+~^S_%++#)qY9C5N51@ul6j};XMx+ zubm=2qJGo-K6D&Gkj54dt!9yV!tZO6zPZU8_}ja*m6d~wXXGLQs$x^gLDU3y%r_v) zv(^|xI$V-F@+Y}{2Fb~o7*y7HvCN1!K&@(ToAy-e0SGbgKH^!<~M#L0&cW)V~C%aP;BV zNuT#6V zkys*$f(u;6hw>wz)d@2{YFZpXtbK}W*D1IJg>s zhhApo$S+vMnzy;?kdFfowrSXBy(*$fDgNvEE?-ge=KONo-z85IB3&Q4i@?(&++21T z1Mj^%p&-$0TGA{AcT@5BD;#^haS16}Dgh*~(c{gp`<1GByO_Va&KYnU-)O=@y&Q?D zJ{N@D$OHD$(DEoVz%CQ8OD$y^Y-?!$yzK2Ql2^2{Gr(`3STGnP5hVLn+ z?yQT97%2POoOibCol@e5wsmwfKm-f~1NNm140#V2VCH@>15DPx9qR7UUs1p$T;ocV zP&JQvcoc&34>(t`v5di%yXed!p562Oslh1SZd0F1wUBF+^ z*_fAKZB<4z_mgsYDRHXSyO|oSm7L_E&SDLx)mAKPu5gq$9^98u8S|4UeE4DEF1G+k zXy<5oEnKl>%onClJ|Y^W1RdDs&67`*-en+$CKN-Xn& zr>WyvRdxX8zerh9$-=)SfWnP1h1Me1!kYYMcO1E)jQ#@xG-n}vc&ot!#9m#L#0;AL z>Ibe-{@FWbyUzE0$GwPh8Qb~-AHlh0_+5dW_U^UFjN63 z(mf)Jl;RJeGnb;wqN%`v%}X*7^C(ado+Mrm9$F5tkpLG8>bYD-oIJCt1gLd9^5#t` zO7}G@0`|`dcfxneuFJ7qWUNhAi%cge)2chw+3a@LsTdXxdQSgAowrcPIi4vq3#Pu2 z;(<_0Szc!D*8NE@{*}pF_wMU#sG71P?N><*_xBPmu~k&Nw~OHueU~#< zajkwxT8Se~_s#2ou%2@!5=(KgwR1302hGJ>eYmliug!?L$L~r3-&N~;yX@) zJ)Xbl%u8B;jd&C)1Oud3lZQ!NI2e#$DAF>4&O6uY0GWJ0JpP0h6BPkEr|@f*PS=P7 zPvtv9b=9tT9Iu@8;gweJkYsc+ui~IE>@2VA1G&6K3;1ZX#01-|nYk#JU2&ErTBQ+5 za|m_wPa{Edl+g@y#Q>9&kOq;EEBBb&XRKQU_O>Lz)H*O)!qOhyAC`>rc->AjI+6Wp zjb&B{U=m&r+aTfiiX^mC{h)N>H@NrPml3*W{_(vFhdemV2oS%bR@3zrkzZ<2*Yi_Q zLw!u5#*<>7o!wsv;OoD@B6X^^))NK0($YkNJxOeK=H{*jp~-6@!8yKO58eIL-lrj! zZA{ro1N!yzcA99+!f7m(YKG>K93U9Wjb}wO&yN7^u+dRzoZQ+FoBAOi~G-Rmf4cykD0I!h#+&qlRtu{b( z$la-$xDhd%BQ64jmhALHP|N%VfdX|HGVZE7s1z~RFMM#Y;fw&4z^X{{8!wKuD8`(D z^!5v8eY_;& zIqMhaxT^+xn?L$2B%yd@ZRY-b6O1Bs0K(3^2vK;WyDHSfv%Dbm3mZwTr97X$;IWhZ zbxJ5VvA}n@Q)25;%AY8aZwHkuuYEWS>#zz>0vVoa=ah$IV_7a=!~_=q?w5uP&ch`b z$4Q9hIs~YE7_ugaF(P#$b@w8+`dA9WTDXTOHC4gZ`xkiA(=f_D`h~~1)=}kEoh=|j zL|6)Vc2&(9zc@Zxp#VWS!5O`QdYleukXisX4aFdi2uJzw#P8cQ#$4&4tqJefIZPgz zXeWi!bQxl6&M}66Q{56pbOw2|5r=yY0Rp{@i#CBdlV2Z-!F8c$U)IM54GDMxk2q%h zhW&KlmGmU#P4_ez4qT`tmdcKB zAB&hkpA7tu(~fHV{sO>*0g!MXMUQ|xGFjt(xkGuKHgO4JC(LZY$M3!I)xQS#SBcBV zW}z4wGgGRaAe(oE+MaC5q`r^gt=gSN0ox;Era@o#$3uhBMqk|s_0X3iNzs>%LSB}kFQf%sXg=4jHwu=sYrT7u7x}>zXf#rX`?Q^OIXoX1yHwE18npi_!}Up zXI}`u|NBFFR#5=>T~smREP#m3K#^|H&yp3lv{Lbn6)`B~qKSL4ty(hZSnnl|@-@IZ zcy|YG_#>7r^u(HJJo;odytMfXXZ%=D!Qq_4a*+=~Ch8gmx>qxo``fO3Q3@f0qdgY70#AN9@p0ZdGC4z1bQW-af=D5xs(f{ zRcio>e%KqNDCwA1sxFMB692zWTkW*oEoF7KP75BTl!82LT)&dutKKa-1oDLJg`j|^ z@kd4_`P);3EC{|5y|cS(miHMtUT@rL@Y%>2TO8ZccsfEoO+cgw^{Z9Oyy7SX3eVsA zOwC-EUQxAH(E^4(fGl}*`~yqB-PG$*!d>Iz`LBE%UKUqXxoMEpo!C6j@LXsyD{NF=gCK;$ei?7LoC{Dl3Eh>>hQ_<5s zT{}q5+f&>8+5<6e{oom{Kg2UK%`CZ@J;7*Bxe-;ZJy@eda!h6mB6~pDba{N50r9a*${Fzo-#=<_ z>&Iy3H_}Q=1(^R|t{ES8&KGgtXW71u*xu8waH(Eom|e@P2#A`wNkDGg)z!tX{n#x| z9J9jCNFHb#`2Sn4OaZ=0OP|U1FJ5QDG?hOurbuv{FXp*mMhQ z@tx~ZY#~%3a5$Ok0sYxBsBH`$2lP%VO&OV{2XXwlh!m$GVPK9fZ)OiP*8>#Hx+axU zZjb)NHImr~M8o?ds81K|EVf<$cCmk?@ck?Yy~n3r4D<3QpZ04yY=QNI&9fp@^EW`3AJ{EN$!7fB^(&V9Glo5^7 zjju3R@El&M0tU3{n-R@T)=Ou*D=@aK?c%ZX>aSEoNWA$78)I=^NsfHKj?I8Ru3v%9Rn)LY}?&W=jJ@0jWtt@D#X_AGA}bZ%-$l$W0`(h4bACTcAZ0>>g{ zVbX=|YtjSB)^$~i`8EZF)kKGNzu_ip@AE_9z=T%~zZrZZekzd5xs!B#0@vrFMeI_f z?{_NRw_Ouhx9Mae>eVO@ogft7YEwlH%T^=@`!{T-)FR|Xn?FzmQJZz0Cf~WaL&8#{ z@v!GY?oF{1+E8V;v_19S0U5aXYAVsDc=Sh~ps6htXeGAMocZbtDR4k_C=0y#I|4Y>KLYwHbd>_n&2L>)29%hFuY)y zv}iNxk5}q0kUryv6uma0WDLaK*MkF`;O~o73R`{Tayi1bUI{`f&1(-NIR=>xgjop8 zSkgETzm`aNrVTPqyzg*ej-QZvSA@|_v_C1RXh1~2%rjokwW2rG&|R;f(OuujRQ%+_ zNxW<5m#MkVL}T$NWLi@CsL9>ycS)2e7d2q6lq~!Vequ~X{=jD1SuQmLafOR&S=!s*PO_gFN882D zKUdZF;bB0BEwxM!PkP&0Io8OE%ZriFp%voZCPsd8&sCH$*&^d^uLjdT9zMEG;KCe_ z$xeToyMtSWafLO)hP6)F+p2Bix7%t<#F`l9i=gx0+`pzG79z<*=<_yTS!sLN9u^9e zF8;}a;Gqv{;5c7z{9vQ6?r3IkR)Ty=M>8xaECt`lAE4+o)vs~ zRp4Naa1st+seSrj0ksUA7ha8&9e=Tz58A&r9vwN2vIAE5+R-&M_<+F_+YnaWuzB0d zC8athHEt55hG8Q1C%i+n#V;cOuR z(!YtK{I>{P5yib(l~PAL&2(qwNWBXvCC&`o;pE{`_Z%r-TZ+(1d>8~kE}f}m9r^)E zme5ZoBaV2m_JiiS?FmZ(r(`QxU?Tl4xAME{`bnB|7#p)DPi7C*T2yL;*I$qo(hr8< z`Km+gvTJ2XxoaGqoCyn5pQgdjIul?t4q!T!E~u{W&hl<~BJ!y@P}!^o+rEswV)m42 z$Ag_VeOkq%Qv(9_BYl&@T1+p_g?d-B^-qMyMs*;|Ti{Fy3s?B)srYtDtnwuL?DfU0 zd#s3b)_d8&7W%pQx1pl!ifFJNhpMmAryqq>fu){*v{3%239~b*MofrjtO%cP?tHo? z!DC2r<0`SA!imONuEtyci(eDg6+Y^XuY6PY7W z$Ccdl;g7a70|9oU2_vDJfV7BzBd&hjXaI5sGcT-Vh||ivZ-X`CgUFZKGOUkp^O`MB z@&pY(>uz$w5E}qGC?<*W5Od*;0s~JpJEqLF+zJ_?TNL2BFw z(;<}UolpDyeQp6*C+N~hBlk9xj1$@dE~Re~Tqbx*#nb%WCj42YFF5(uT}~rxQtrpQK`aP32fP3wmRt<4SAEXPk! z?Laoi2L^BqNbZ{)D+|RG)`DKbEb>DT77q4;m;i3y>{N5DYy}rgFEgfdDWJ%U5twX{ zL@-a`xcQcSOb7+@6ShzNIQKbBY>?S^(HU$8N#8#v9z+}5nl6WEki+KXUo)51(!-4E z-=Kwuzi+_Qb(gP2u`#a_W(9lm6YZ!3P@)HV z;x7Yy@YICAV{_1vU0|Vb7cY}uDTtJB(jmC`eYPw6M12mcVDXk!SRDrVK-rF;QN!sd zMy9T3lTpLU#R>$Gr2W6zvsw??QKfC=w$OnoZPOP6=qOB;5&w!hYMYek{(;VIauz}b zw3Z1Su^5z3de&|$;fD|c zKB$Rysk;{NrN2tD{1SU8MlgJ^?m0@g-hC$#+Au+l@`#P)d>#~$q>xo!4co~Ylc~~z zUv1_}5c)I`y(^hdPh!6T^3o%(3!d-Y4-IB)#)n)RFum(9Hx~dNZ7N2H=2N6z8XJV? zj9F`f18zSO)?TuSkmZA&iv4-TTJXrD6n(5u9L50Ga*CIh{cL|oIy>>mtB?4mn(eyP zZUSx@DFlH}6PUo{C;x>ORYd~jySwD0uFq4H6kA%9rpj8B)SvLs!XFJQB>yxgC%fIB z;wx9@Y8hX&my7x0{&E(~F|Fzt4#fx<1kWBGHzW(sBnG6lGYpAh`WmB{x7jp!&LRTF$I^Fhx1=e4dL#*H^yl0fRc)V)ou6OUVNQ zFEh-&Y!u_0C7;%g7YJm(-8@wzn)_(UW-e(f0r!!>Sk?!u(kIJnyf?KlIR6~pbS6a} zf|vTD7_w!`p^Hg23P9Ot_0n-)x2+V)aefu<*PJ_Vi1KLQ+%&M!G*tH+T)&AnuQg-7 znZOT}v*&}63=^uv^yETx0$aJ$mP%_7cBegN%+Fkd8HBCM#jLQgX0rQHJoEBro$=H? zW|;!krqa%i-gnDAy%Zh-rVT}Aj+T^x@xtRfX9nqdeuFnrwODulT)_CBf6ZLQ6&xS$ zmE3v_`Qrt(joE=$dXRF2XEyCuJdt6VT{F@j`k~7D4T(Ez0>F4rKiId>olHt!BltNt zn}H*$9GL|t%H)eKrmH%46d~p7uNSE|Z~pbI+_RV5VTzrsRD5<_BC+1EP+cHH#07~~ zU%)LQY~Fe;wLfajHKR{KLu4ny5$HvFmJe-sE5Fs}b>07=`9_Mj8Kr>sAy^%BOA(HGBKl@N)Sjl-<&j znXtz;lw!M^6AElkb{*;|Go7Wc{@LCNNnsb2zg*jyJowBqC$6%(IzI!?Dd3BwMIOT; zd2{D`PZgi!bI(Z^s7s$!$2w|}epktRxk@(B$NV1n_N$t{l|&`wtQ21Jffopu;1B%O zyS0d8^Q6VukZX5qec1xR$HrBm{@_NAG-i6-msr#3=?9Td-$1_4eKJr4m-9Z>-=bfs zZR|@jMz>dY8Lk^V`5hEdszh06n;SWYo~35Qe9As(QTX$Xyx1$ww!b~_i-liuMUKA5 zXE-^~khkCeh9k;C5$mvXpjO=qG_()|T5K@{eAroE5=A@!4F)Adz{h4wwGR2$st3MH z+>X>K8eA|C_m?CTArFZ=1_o~hxkXih^bo0kmPUa8f*yRM&g47JzgDP}Ky=w#(+_d* zuggL(fau|bqdb!TT5ZrkfM~`F`#5l;ESeP+1UMO#_WoZhurDGbcq58Qlo|;C1vdDG z9>+B5zg8h}03=#p&O(`g-OLGvtRiijzXR!w@qER9UtL2ROBY(NN2dK=>GhkvH@vFq z1#1m|H~#(ztO;WLiobWI&tgtO6Uc;0Ms5R9{3zmRw!Q}mo@w=+fx6Pr$Nr_Oy?R^P zjy%pFc*zW=nW4WIPwTx?hddaqKU!N6B*gE~j~mzrP?5LC`F?876gV`JV5>ZWx z!j$4jba1Q1SxZ9azOsAfUpx1V4Ghu}#&VAfd{*XLU$$B-1%}$I z9!qXk22X|gDtxz0X*f?@L?3o*9INrgVKuYl%At>1G|sn!JhmkaBgv( zOqHQ!SnItaez|&QjB4K;m-WZM|TJSx6+zs{auX1c5EnQ?gO3C;9RH}c=NqyESZET*RVdI8t@8WtSh zqA=tJUK6)IuZQ7Ebq#dAJT0pDzWQp ze^YA^d%)nQ=?7^tjJ27|>XzY`(2>AvQ+*K@N5uE{f!(L#BGb;Ia0fY5fPtggIb}>V z8LnV3pCo{g*eD`XZE<&wnp|HEnwM&OFh0&7WaeQOlc=bZ$$TvH^lt@eT+ChJ%}SI6 za;33bRn+&=TCr6j)SP{5fLF=P+e#nb2$H;e@pq*9x@@2GH|v}QTofMRHI zadAnKz3i3sFY7HEVIBtN$p_l^Y`sI>0ohtHzlRxi9@lH^*QpiElaj>pId9JLI5 zUU4pGy|x6fyePYo=rmZ52JB~t%bZKDZ`VTZlmd{3ufN9D z>yapd?^uqFJigoE=$^&iQ0F}o2~%fGC3!_UrLa~v5-A@8OP~Anf$@=FEVuyxQgJzH z2@U(|zO^@a>n6YO#RjgdUVUtE z&)KC_IeTd<0Y-L9BXH>&!q9dWvIna7QaxXNuaHO-p~6N;7>kkfgF)p;y@VX>nY`T# zwT48IKb(5tpUDa39bt(P$eaUDgZPvnWDOOLLnjt9=C{?q-57)K{OW=XfJm>rp?Cq^mQKav4Tlio zAz8tW#kw2KkG*z*+43`bWc9nZo2q)iSJ^1Y;|PvV#5w_s`aql)%XE+*HAU;@*B7Hk zXM{~`^c!OA)*9TuF0Te{$G>CBzJ}Rby!8NNkiCO^QbXDC^^lV%qYG<``)RP5t_@^r z9?|R~rzp;2Ge*)o?{0Fp2ud0Ikb&0lqxVbATGs1^l&nBz0GPQotAMz?0R?pd9=S7KeVYV)w^Oa+L^XLKr){7k=R%$@>w_3t*hN6M2Pn$JfYIcGz_#}v*RH}6M8emf#hrEzQi7IV+qQm4R~O0X zt34E5U#18^l0HGg=Bx;}=*wSb-*!QsTKj|%z8z*~`I<7q)NlV$TZ%eovlBJk=7R_q z&Gms)e^54pkRj&awnRhuBQDnYl4$%Cr?*SwFKKs(v=qD)!ks*G+5JcjbVCpKxge9? zKn;OHD*c7iyjFvEdewyldA#A$zP^B44&#~)ee`Ue+oXhV5S;S`VwMUST0oc zUuS3bOwQRv$sE54=#@H>acIOS))(RW39ov1n6msa!tD&n$z@Fydm5TIwH^+GY#z!` z!+93^6R!Pnb&S)`%t`alP|O}JcIc>?6?>(mrNdqlcc7T(*v855Td4AdPZ}hdpTSqx zJvzqYLD-Z07adtCWxg;8hgv2Dzc*$LyfD~xN21Q$dzzXDB;*Xek^*2~icl zSrhbNDw|I!NR~%_(kpFw;Ped+j3@2a0-73M>!esd>Q=TMzxC~cOlE$m*Q8p~gpZvJ z!R;!qZQL^tP~TGYazk>hSLwpdLStZVxVn=)!hy2m};@R6%-Cii!wGl@g>&N2PbsfV4#EEkrC7X(~mf3etP; zM2g{|S3y7$zz9;LcSz18f57>A)>-eHZ+orDn!Ph~?fZ9K_nOJ+Oi*8&t>=}F`8_MF z4}*04TPWXEK6*xMWm89{iZ>i3l=4xG)K|HXUFY>%QTpT(v*MmkR>6Q8h}j0N`bef? zP_-9J--EY0xn);pLAa*urvH{YdMKc}w0?6Q^1)u-PqE(D_<@VZ$vx_t-vbKC@yD$3 zUyNhh6OGI>o>~4|0(_C^jtay@=x4IgNzkCwghGga4XE4VYpCLCy4UH@(ncT$)8CdB zj<*&T<^wdZfeUU|%;?YG?9R}FbN;QRT+&t|op@v`UB8{skzF0oV`cL5z=Qd+lDxLg z6Wpi|oi0uZEG+-?z)AOc8SM8h2Oz)T?$h5gnM)3>2WfGSCG#?yx(V^zgZ0^*u`*RA zHFm>r)}5+5qdcfe$w#o8Bax7E;035|Xkq$NT0LlL8Wt{+Z~ zMq7xWio-;RW339S#f-&vD-N*Ws%&Ai;mWz}5_SBeX;h>2GI1TP#1iV?(U>pBah~wH zwkIB-X^HUgH;s|bBZ=J5Z^V$c{m-Hj~tyAH8v`t|s& z@n5gC4cRz;W9z&e+~TQq@pq|?%0L>z`&h-LV#wfCQ7Seh#Shmj(k6cfs& zmJcOM3KXKQtKh)A#vD@DsrUN&F2r!U*d@;*aO#o5fv2`h$RnhxW7G8^UZ)>4j?> zZHJ|@k#V5Q5$O_sf|KGR^`yc9*hH2;unmBm{r8@LQ#|>KHI&@(w%CUP)V~MI51AUYwXy^FaA8n9Q=UwoliU%Vr5(cVzu}a3`@YqzuG<-2;@Acbr8{NDtlb&8_av zbPoHKzPPT>|6%$LUl|^ zl-{a1<9^K^BT5S9iHSbzQ-jlfAjw*!7Fefi{}K%^O2SAI?^AK^ixR7-+PyxvQu)il z8Ff$TW6=3wYsNg9FgctT$56;yP~}lA$r_~&eRmj>b!Z3fB0j9Y9EtOkaaEN1uD(Y5 z&;Yp7QQp&3(x&&jcMqK$@wRN`S6Yqnhbj=SHu#OeUuPzvu3@Utq3s8A#E5vgEWge! zqP~L=bF&WW@FC9|;&P~9^HO%u4RQXRrV^^g%&)EtyP)rCI!>qGgK!Q9?bn}xLKFD&@XFuIzS#q!8V5>{2$c|A{x zH0cQ`dKxaje@;^6Z+ZCaexu9HKP)J>Yob?Zn}*IwiYx}4T;13)_V^W2j<)&tIfS8? zGXZ(H;)VJizUzdo=Qg=x$g8xi%?5mZNTHxP*Z?L{to}F0RQW_7wKnuPoW=-NRr_q# zAUA);z5|6A&iw65A9-!+hd}}N@;a4$@U?$4a?xDMM$Ox;%GT@8Wm~pCE6mNT#*>5` zi+QL-Xf&)%r4V`Su0ecFUO4y7R$PR zwUcY}M)jOih-&nJJos}}LwtU?MdqG`<}5MgCN=Oj>TGp90UrJb1%&Ed2i~Oqxi(Y7 zXIWY2#KdZzJ02J>D1?q@p0a+f3xjqt<`g%$nMgh){M^gc+|Gn#0N?&Ml{jBI}GTsrx~|} zFhGC8oj2OfD`!$CCyRtAa@YiVh7JNbY-cB?u^NN6*rkhnz966|u%$KzY5A~gq5NP@ z?KoyjNMy16AT1O^nEd^p;-6Vx*wgTul(1D4)P$-^_`1NLQUjc$WM^v5kMwld*4@UD zT9dIV$+gFV8OnT7?Ujalv7Prqb^H~HZ&l_zzv@C28}@*xO8tI>4kVWD&6-+Y*4Fdy zU)ONSw<;cEQ^N~81hwwh-GC^a8O|0>haDHvDX`^QAKI$$PoEoUt$amdJ|Qm{A89BqV1avL zDP!c;)TPmlFS1!zK`>u*6XFvRVu=rx{L7s1;wyA2#C@9OV&ieIxWKal@#~M66E4OF zI+%2mR@EL`&X@yT3n^(2`hpV7=_RJhBYtAGYW+%ra>7}d-GbnLd21&ode09ugym$~ zGO^IeaNqOp3o7c6@ZEG~VkBrdQoA6NoCfNm2~X}qQwEzN8eAGdjcE^;iaLMNHoExa z4p%^o<|EszQdT-wQlk#f_SbZ}G@`Lbmp14L4i602`72aKEX$?uIqKJ z4uM-Gh+cM0&(&i=>BWq2{%hu`mX=BVHqeB&9wUPU3!Z3LBXH^k0&FOPbEF zUAIo_Py+RX91;tu%xi4AZg*$ay~?)#fHT$W?dHZJfETIEXkmfiZ`UWkBHOSxzZ^A0 zA-cI(Q@pEQc?2*8EFKWc!qU{4NMHYJRX^HRL+E{Dq~F7i+w`mi7Y*Iwqd$X(r+f%UFreTgk0)4o;f;k z!P>`%Drv%${;4W;>s~JUjyHrccaIP*6Y=8#XF<`qPjSGk4oP2!&WX!J`{ZZ5`1DsQ z;j(n;p-pL5TzeT$15yk8w0Epg3Q;84Xa7EH{Dv%YGS8(9(&J*bk~nxuS{c|&Hgr1~ zP_S;=o5=cUJ`6kGmM7%xZVN>9<7qnxjl*Ok6}kF%^ZCxAVZy;!;_S=1BWAtSJg#b z7>!KYn^qS>Ha1u-&F0HDy#C~g$58jy+-1_b zqyv!m-EhlB{J|6vFc&lR@TKpGSjQr%&7AzjHsd_GlG|H*##0QrdZ)fW&Q$^_lo`1B z&6ng<9z_C*;mQ4m7gq%iWF0kP?O?*pGqLYWF&Phdf*DWL!ZnraCS%V>P8rvOnm;WB zEWRY|*Q2^HU|-0E3m!PaYM~##GJjEFj?jKKBhPub&09zM+6{9%UvY42GY2O+EK?$i z1cM5xPRm! z3D@wiV=+B+0s3hiJzZP?jU9?6!{HzdtRcz;QdaZ3gUfzIGL zB{+=77iTNEhhG&aQxcP{IC9}>#tpMZ#F)eWHUDQ1qPt}p#vB_ex~KmBH#X{2i^DJzGn>0BUTV~pn_w)5C|ElSlYJvCOUp_FjynAa}DpVF0Lc-w+ zbo?(4|0?$0UhW^=n1gRnN1owYnCt7te7&*gK< z$Rto>*5Xn9UYY8IWkbtsg}MC^7uXDJbQChD@GvnsBBXsN7%t3mUq#;JI#YSt!m8~l z^^eKasS4@XA2P79lb{Rr@27!nN3P5ur-4&pSDg(zy}Q<4tonO~6r&cgj0Q|26YmGN z2=cCfR~OjzJF-TvQhXv{8oxwHdy?HGj1DLccR3$4QTjDXfCKh1$%9gAh#*iy=pyc= zP)sl2fFl`uYbe%OkX&k%=nPfJf9n%26uPOQ0eNGF-Ex^lNy5fs)u5gkpLV zfWq}s{i{C3^a2i8llJj6*&3snSOC*|tH39UJWU_K0WW76a8qj2U7$8GL6UA#nos}l z7egg3fRdgHH}K~Q4*C)~{(Z#kL2-oEp!UFJu>V`GsXLrn{=Pid1=N0kmE zUXFpjY&z1%M;3mZuHG`pnPck~+gu!pdxpE@R>&~;LD_^FWZMpG&hWXRRVFI*Cs%GW zWY7mgV+Q*tc^iRBL{HA3J0BxkOtR$B^&FQ2vZi27988HNmhaT>@asfWXUrtqdEM$Kz@S_(i>E^o{>fhc&-%U-5 zw^ZHYYX zjve^rnB=`xr+unm{l&w9$hp(cZfU@eDSfiRSM`mM6Dss5>)>tF?vZQ?n>={0WoiU8PG6`8D+t@GhEqpikhPm zA(He8(HijZ_RIGiN2FW#`EN)e9+so|<3xt7iYDv2P&Qo{$NVUc-W_?!DuiMEy$-y! z8Hwq!fu_0rg64+z*X)GYH=Or~O#Q)7;-5&Q5&`~GDYe1pR(gsAPo*R==FB2`M<%L( z^VW_K-~8YTB2Wi(-a`2=lze}?0xisu*PmWfRA39-`18@Ct%Bs}#}gP#n~X70R1gEG zz;-KFo}z+SKn2`SxhUv`Ah%$zXY9TvtDpuLxM~<`P*iY}9Q|~^pCgMkTn>=5XMr1~ zQQM&fNV+Uwl$#=HZ9vjcStwa6um*CD#cmv=LCLYmE!gZlL5id~07*A2=y{W;3F8JN rEjNCfBK&zFK+^xanEzo{=8!b#(5cfIP*Hsj_~>aFX_nn}eDQw(H(i_i literal 40373 zcmb@t&%U}HVaz<&t+ z1OT7_Wtgn4kJ;Z2oK%_t-<_L$@RD#j6#xeg0wgQL3)xo~EBcC=waHmp13w&!{{FT# zG3U2=qLkCL`d8}5iJ2q@pL5e_$tsGrZBo6ywS{~ljDZ7MLfuo zs0#fg1H<__j7F?w<$Gy@-iq;`FD!@$(UQHx|2vFi388`3^`_^h{^#)*AtvaeGN)4i zv-UrOI_5+mbNbwA%Kz;NQd$B1-yj{s4c<%qCP@1~&;HN;fT6qp+2ucj-eeiVL_@2Q z*Teq{=Ec)b`O^PCWG_MtpO6r%I^HP%FR-V1AoDTszXOQs6B4Va=h7Vi3+rhfz7_cY zFt%b?DMLX@+;!V*+y51nFtHu{e{yr(gD9Kg|W|`S5vz{_S04)0wO5!Ek`P- z-P!0j92~5PwJs8vK;~`kwZ`JUpxzeYb0+U=95)v8xd`v7|>nAvj zoJ121(~rGePVen(EhuLye)R9V3q44RW@diWTBKUn>s>!#IU=b0M&syBQr&VJE@d(7 z_r)W`Oqh;=vCC%q;EjP-BP*W_C-6$MqfH_&Y)EE3cZ!+shw=gQvEua3Rd@@dVejd- zW>gK>VTP~VU{1W(HCmR#%A2_<9O z>(UQyLJtI@nV;U8H5-SBdqgd*-$m`}z&w&7Ih`==$1#QPrIii}(c z(`u>NpCQCeSPFQEiR9872ItQew;Vg4dHHQ^s{1Uxf(h605>I66?%qgUTzV?J;MvF7 zeh#1JA)XKfE+El19B&^7=ec8xVR|sBd0IL8mh3Nq>tu{y zR3EwS78fe=$ry_LVU=kPOeJ(b1 z0<-Yog?e7E>p>`*)qYNu1(7G4tG8{l(RA$TH1k@~ds8Y};W*j72rRfOkZ4&6hDRw8 z>7`wE>{2$@0FB$Hvi;!GHTg(EeS-A{Gj?gMwe1V;bPw|YFCy~ zPW%OAf`X_+ZM1l2@eksI&)O}T*1e*%*pSS=88bSD7#vq)|%xOheCh;|_! zxb@458w1GvMMDWaZR?iEFB;f4A1)}^2@xQa_c!%tqg4ryrr1ab|H5B1j9I+CK=>L$ zBs2akVG^r^^Q8^oT@NQ>>56#bQT5?91|p8c6S(nU5$n)&@%Kk3Po6p)v~W(9b{nJw zGZhdS-`2}nHpIq!T^F&m9tR88^G_KH?;a)dv&-w`?;j}X zk!jt1Ikr3@O3v-)!8GFlJ!u6rwFYM?Z#Nrbcru@iqqCXrpao_RZw$DtC!X9{Mp7%% zIa8RM-kI?kPYwx$Y}Ph2MreyqR_+(!JLtM}>dmTlnF|-Gzy6z0}$%xoz!4&zHb&O?vcE-zBs4CM%O8q zj23##)9^uE-z<`zuJpCcvtg=w0E__-fWaU6BQI~y7WIlqVrabUDz6jZvj)}|{UiOy z762h(_K?K2mW_>I0CzE(&xyn*j}>!w+B6&9!yTH;$_*F>T87B@3q~!+TAapU_xOOw zI1BYe*^I9bT-Nu``@0lE1>=9bWFWV}!)cw}Fzs~}X_^q*e*6wflc9+HS(>0FrL^N83;MGHlBH%u>rY;!d>@+&whInMr=XbNo+ zyaq)1+rwOZ+!<{-FRD~#Ha7X;Cuo#iNOH)l4mnC}c<)*7mq7UI@Uud>o?@P^NI2Wp zG2V$pB75R^98RosT`jsb`sRAc7U83%ST>VB2R7O!7>8k=S)oWB=%IrRz@^(?QGMky zRI9G6b!Nf<;4@7R_*!7*H+}DBdTNL7P#6dcH|~p^Fy!0jIsgTZh2Q8GU#V|65Phu>qI_X6|&g`EEN(gJy} zNd_fU8JZu46_hd%P65{AJeN@H2;3>-N2P_Q|ELPWp2U;Rmm3q*t+B$n^k8W`ewKFI zsoF=kTk0`|4~ood37BYGog~F=rh`ecDp~UOY{H4rM0DRV+mm2LI2x6$b$Pe!Nf&9a z-lUI{c6ILvBo=VuiP{u#;yb&ZLWYYpYuMD#tD<#!?_G;4MPB`-{~@gkYtr1N)Nd9U zl{d(^MqGt3BMqKp3%KE=pzD`YVN0D!MN8*m3Wz8SV-F$+bi-~z{g{~d|L|%!2B#p} zn(}%Z-c3Af-b;8gh4bVv_7osSj6>oi4VYCP_d;O3TfQ|wqD4L-Q9L$6b4pF?97)J| zaainkk-~7+tGqy7Ob_;rfv>RGo#il-QjTS_!oy8{=9=Vql?-n@-W&c&++@VCJ@|$F zA<_y_lu=7b5TkM-1Z%a*TN7X7gCTNeOPi1575a|Gxot7is?}L-L)v9=fdgn@_ISIp zX64AEZLJove*R|_BSKA0Rt%~OKq9Ea{gX@)EHT=Kd@c-Y$5{-yM_f2>yWl>nrV z`J>jxSXe-j1l(I*I2|8iaV3v6UFgAFuAlGyV4s;M66A#G3go~@-|uB}Q@8B0y;zhD zCHRTV848aPwLsT*wpMIPe<&7$|Fet zU7o(FQWy|hbSP!r!AN!(-M43rfm>tifh_H|I)NZ@H(KXX2J)!*=1HMb^RSdX2@k{p z*-8Yq`8pL}Gb>gOAyiGhFGtg57_iR3cNNC34oO3s#NST46`ObGYX`@Ie6rkvBd5rF zX()z?0@0{3k5Ik^Pu?-vLSk*Y)H<}MXWksQ9WMikdkjp4UfzX_0ejiP$tHGK}f zv|Em$O{=A6-aAzlM#JSU6-`m}dsu2iHqbL;7s&0>lVPS(;nK6|ru0q6KUE}83!l5={cCs*H z%StLDg5(B!`$9YUpD4`^@I0RUG7?Ax=spA7w^9&7y4cu@mdTAJwVZEac+;I8YeTSx zwFiI^iupTvUUaqXuk4ok5Qu>1ejRy8`K)}Gh$_d>Q#1-WMMnDIwoX%&Ok5No6uq7( zo|A$B)^fBsUry20Gao>&hxPBXu+dxU(E3)_@@9t7lb)}04Iepy=HId^U;cW(yYQ9p z*%ndGfF+LyqNK=o63DD(w5FCl8?w3`r5*68Bf+k0++FB5MjIuaWwZ_m(#RD=QPFNI zofDSc4i*hS)Q15Wk%ogi_0o%)`XqEB29+(u-rAQ^s7#tpVy+38*-uPCTMMj6L%C>E zj8N^YPE-|{JR_BiBLPR_8!-4M-sc=V6?5U;bM#r9(c*cjG5K_lHnDojg40#?%2=9$ z6{$M6afLCKu@nmEUX>TGth`Afd;pSm>&(dRA`}q8tDN?m6GS2cVN+D>4nFb~H~`nT zI6mjPQNZd3-sBW&uO4D>w-(9Z?X-Ks@4a zJ*bKT$041NW{^h$91s+irLOZ7I5%i%PMtPlDkdVk`09ogbQ%2VB?7h`k*evTx#CGR z(_pY~Q_{N_D!-)XE?Y@YH#+h*Xf{*nTdtbR$7-8npzZKFR{$6tJ3fY&>;Q8mAW|xI z1{bV{#V&6eoBy#!7v8?>8%{O0ZT!bOYDFgMoLJ zZt!sG)BrwZ6jttuXJNLMq$#S4_6rt#PUfq!{zQ@Qpvoi6&UYj@5*t516(#*nJl?|R z13W5?O>4=usZ|K|j==Qfc6M?N@J%0#rv+`c@04#;%)WwL$vWb6qY>MpOH$CWn-eUS zM!$UWqL-#_LRAepYA$~C50mPeJqD-5W|W0KWUxYg9t_24&2(A`kCg~qEmEiz3)v^x zvg1!o=fEs$T%)K1o%Q@n%riOMYF_C*$u&D;JqiIE^-WnHI$qX`GdhQ|6VEVZ9s$o# z0*MS?q9I`2M8Z;Oj>ZRUQ8p}WT-=0{dF)r67wR=((nh#fKN}_8r+LXLaV4J9o%goj z6E;@NoF%?_vvO+32l%L?2E-ir5{4jOp=u*eOK%S7Dfq{W$PbJ78<>Y{_>bu~;G{=B zTYy|e?Lx{Cz^HGPkAKHY7W@a8vL1iM)?56sW&=<-gJ+M3sKOtA;mH*Zg|`pp#M0AT zGsOg10269EA)Seg4}3(lbS;y^T?S=lO?=fJB%9?Tt!C`!9ztGp--vv!qigdZX=Xg5 z7(RKnWdN8on3$9biR@->Ra!^MXng0@*UV7qRIWm;@r^>^k_ty3rmqTMAp_JoeKT1i zpWgf>l$1HDZGWbF_}dbt$@Z)7=5z@ZbVnv`(SSYz24`Kgysa!-0o9kL3kT`Q8$PKU zgdNN;DH1z_Z(7Htxlr)2#siS_=`?z3o0lwzs{yF_$43!s)yR;UR^o#i8;};Zjld8Y z;{k@(Mdo1dffAqJ%8h@2;emo!>-ZF`pIIDfPV-rc(}nIxPHT|S_1A+y!-Sc~;~s98 zDJz5NpH{w%rVea)ah`j;3=C6%>v{T9dQQ@8msgCzOvNJ0 z0o@NoF*pvoyYta7hqaR{i9-KK;x3QY!@)0PVqHh zndDwr zM8rD{+qLFWvl+>sq(YjSq5HmT&9hJUPo&@7c|MmBeo&v~SKbfbI85?63GypZTdvo* zm2az_&A1RfUpM$J>(oO&m+yRaVh&X&@>mRB3MPp@o8cw9lKTSS8|vB$ z%z&2rSyu5wUjMo4fc$lHJoD2}VaWHR51{+`B9`)5KQ1-NzY_~_`)VDUrIy}w#czJy zH6+PCbn0-}M8fIt)X_KTMWR zY1PdwNUUfaIv>MBb*^Li#t5!>fwd>>(_K5#j`|i&owIW38OpAVuT9`=Ob9Y?_ zZk~(C0|4Vuir>`}^p(dnUi}M&In6 zj%zujjuL!2>6vbR_;= z>vqw8x^ASL`K&z5KpHXNgx_e^FE!OrYiD$$#o|nT{>%A_l6^$1p?M!LN7LlVu19;w zCIF|R@=R)$)G6C>RvvVb?ZkM#=a!YMGEXk|#Zxq(Hr6uur0tO@Gz>ayxi;2>rL7Q5 zSzQoB59=4(85i&eM+ZA+sWe8nydZOJ$fl0ILO2~%$XX7e*r@D2_2ek;T^bH5f`a#BCV&IQ>sJ`g@3Y4&p_dS!i59-#^wYzPa zgZe_n!;)*uHyKxwyh_f%A<7HFhv3ruGJ3aWiO2kXybtR*d)nb3v^}8|kYvChh^D>& zJX5`x8e&5 zUyjD*KmNN&EjZ%+FRH!8SWY=HPgGw{(jm{c;lyoiEWVQRyl@2 zxCPsJAWFNvrCto3TZya<@Ouwr;QE_ap*kc9Zq@bPW!fTKtbEq(h0pn}AfmcJmKmFl zT{&A~z-0mu`tm93XTL(~aw_%VBZtRVsYhtFzFy8XEqHnlz-Xq&r8M9T^!5R7+gZU7NF z>WM$NK=+VyC$*wFqkS8RdC3Ma>mPt~lrjwcY2Hbw~8bHex*6>*pU< z$lC^Ke|PAPJnO_ok96kXaX{nF1I&bPceOYtA#E%|*+*v)C%TdQ=8bwQr}TnOc>K&i zAD|BOwbbA$RHC_o#mhfVr`H#96&i!YbnQIo&|Ue{2IuzeqRyh1f946PjiM#W{GleA zb8k)CyVadEPKVqw@f^LXaxq*T5dM1=I51$04 z4zNd*&aIdpF*WV`QPEth@0IZKcvRE}b|f}EyufIaDi0&soy=qs~bk3fc*QL3(X+T%43X#WHZ_o4A!!TNTa^ON61dhK% zAuHqtTw@%zXpmqEJQVvSV4-wX0ZVqB%byZe)ZT6;2}9!J=t$R^Bgm&mhTjCKi&ch! z`ehm;Fnjvp0qyNYdP0Yxpam^T5!nmQRh>hX2v9Y{OL!j2*fSXmRQnX3iDitVf5V8H zByv1!lTXTsjYKu2|Qo#bKhuPEIPOb-`5h7-H&RSq5CO`)!VW&-sHB^6)uV4D zp=+m)*Qyc{{hE6i$+)P77WxsuIMv~zTIKiT`z-ospVF)voMf|&v^HrWO}aI|1+PAi z`G3Hq{nzW8n#r}(SKTqkqgo@Orf>K1$-Nb5zy_U|GNRADtVQIVW}|^49Q)~%W6Z29_&PN? zfLeQ&b!&!?O-EThY}=$HmDE-g{Q!Ji6TI-q0& zXRKd7ppS7SqJyjPeN!m28rC|X4xy++C>F*zhZlDcvX3z-MwTqeO~H9?KgvtuX+_1T zObR{f^>e#wfo-be;X_@2bK7&NIh2gOoPS2X=(wKvk>YFG1dW7CQ#+K?Soy^L>?%?s zzr9-jc>>RB(|jkhgX$NRXYNe=nls4~aPC}2szYtU9H`wC-a81M4_=cj3WTO$`&;bni>}}d!Dr075%?p@MY@Y&D&5Z_Tw$fJ~{HM_Jt}ECcIy#;kszrqW;1&CAC+C zu94G3uP>zJeJFb{X!~fhUtbWlAAc!9Ziwod2z+|X&6lZbH~4JR!^z^y^wUqz%WPsmf3C&bY?xbrV&vC54pm6#GOQLqWp1=6chnF88V69U_N_^AZ(7ol?xIwnl3e z)T^2s7_)nBR`3a6oCK))6zNMNX~l)Id0v~0Ce*Rip1FH^xCH^}xADKb1P0Ud{_y3U z*K6K!+zsyri+`31C6sZiM#wIjZPw>gBV0{a{q(w+1>w`h=@V=7{^uR&a@5kue55lo z*r`Z;eR$sg0U)2fKr8EzVXTGY$RMBT zBSlkAhhAsiWtCp}OmPh(#a+R<4EKWYChUs$J|b1nKn?2;YTlGhcrj&jaaCsx%13*Q zt;@NL#_c)p?s-K^eyEQ|M>%q)s8nU=~nmxV@*{ z%K7p6-Hbf!tcF4C+IrudV+A<5@(p7~U)(eP-OXE0v)=Y+uTKp%?}EPfhk~K3rdxaA za$K_LYIR}weYk(OkLC4cmTA~QTE;_o0?#u9>DrOJFzrSq;a}4ci!YDNI;PC?K3Rf6K$i}7NTqp+?(iqvtu*&zXiM1BxzGw6rG?@BhWy$uoSe(m zay7b*ZmR#0vd<;;x^Y+G59ausY=Kj-+QZdn)*qWDpZ{eIC)w(npNJUDDY2Or^o(gf zKF|2+Z0^uy-Iq;M&>$97UX%FpQhKn}OY4qmW2P4x0{OZ?{-?^Op40T7KWBZjB5^Al z+3oY-3FBWrkU(?xBY^=qsLTTPGcNex;fcp9OSg=y?M=Grx1$Ax(`ec`7oKK+wm1s# zlJ%mGzbWH-zCuLt1lYdGtp@s9@)$B{{n4Q4>i=2O;bfnTPeR~`n>}~a*pZ_Od}he! zWr;Jxvlb$5wU#%pdb3(U9ohDW$TX`^?!kZh`&M?#dZdt-;!4(&pjjmRBc4N z{{>7Wkq@?_9E&ZvE7M)S(=ix-`}}U*6ZYu^L_Lluu3c?(`poG}jtXVyMiTMvO0FPg zCrZIP(S4#Tdhfrr0CmY_Y<~_wC9I_@9Z9QPOL$#!v*e??rQSz)asK-`io1j2W5p2| zu^_C}ldn=dX0dU#1x#o#14H>FaNP$V6X4WgK*o|Pz0*w6w_Bq8M@sCJX^F(sENOvN zRR-q!PnfJ>{T^rSL&dyfg>pY+F5;=bY*z^PUnnDgaAW@Ps&)z7kWoS{CCz6E z?^#)a+i2T?-=5dMk_9|F>sYo%!xMepo+A&$S=;^c+T$Pd#ODs(>osYu<0{J$Gp9GN zw!#KNJz+5}y$#hg&=M~qy;W$*!QszJ7qX`;S8NX+Afy2HMMBx*{8ho!ab0U7x4co) zrYF_Xs&eD0H4Hw`PFLN?5LV`n4{f~5jFRMQ1+Njm2OyTf7~I@<=KG7WF_{hv}b~NaU|We%J@)>%9&B4D4kcvdxq_Sb#pe-hx!*`f{u| z#1GE}{=x~!6v{aLdFj$4yFBcj#kR8tx1wY#S!CHkzUKr1}H_LnDO zIEorKd9?0^TLs}9`eK*rVh`gz95$2SwkQ!c`T4uIu?7DFAc{#MZk!RVw_5zh{j=Eg zkZI-A^p4MnG>?Bt8LheAecQ3nArfGz?+bbi<6e1OE%TPltyB!1`~dcQeOrz4DiG|J z%ffgE#c`3pf6-1D5V3>iqig;Zc|u?GCs1I`Qaej$Qz9G_9^0-`BxqNaS`sHh%`d;} zurE~5`l=vp<-PNc-wG)pRN$096Fh{(vrj_%PL6G=3_;*SW5QmiOw|eUrtTa7ztt+$ z@#wPB7u~*cQI;Micp1JC56T*d#h1{S?i=VC%GEwj{&O_A-5N|>#5K1g_)0X7q;|pm z#j0$pk3Id2SanIavoAgGokOE2ff?Q#>~V#RpN?>hAwyz|_0yoYf^YnxILEZVlIgb? z3+kAD;mj7=9*lkhMT!s__<4XxS-rH6_o+YwbH;AqI3ep9OQ$63c?UE2*RPq6Lnx8p zEMVcK0v$~&Q(Z5aOzE+d=x4-eshXA4%L8Yg$ztI`V+HNhP-|6vO9YH#go@1BX z0cemRJXs2^DouTPEL8hi2t(Akp1kbn280w~#AlfWidq6|MhwBb>hd~K>nX;spII_B zACPFdAWVa%d_=rcad*6L*Fw-=0wWiUjd)^dS?w;J-HNYOTeU%v2xo4Sh1VK8LIp!p zKgEX`P0;{asZFnODRe-joa z=+GTSU-rFSyy?f2^CQpgWozBsVDOdH+|mHCv<&NO)Q|@nq;gnnkCo82?k3)JAS&Hy z!%`eAL18y~;;X$S9z2hB0IMlqg1d@NfXf(-CBD~F(D&_SuQbga7 zJ39VzuzF>C7?I?gVsWVo%Hx3{);;$??oka)v{9~#13a>iFyEtG zg+1bb?Xn8b+|1yi5+eh>C)rD9Em}WVG;HAEvT_}q`Ct^inC0aQx9ZQcZin3f9KKX1 z7Mv$-e8IJ@;r(Fq&>I*HxM6aBZks02Es%~q+nn_Bs-r)eMp7pAve5&7q<@$;oC9?T zi^wUSRF9$h9c=SS(h(k6jDv?4hM4I{dFR0I&{z-WnU0QC3*&CHX9w0GdQMWGS=Jp50REn z*M%Rf#4j^Sw`NwegXqPv6_nsfeeO?p{leb@ADZ0v9JqB~DwJAs2>Lc|F;#KhY zIf7Tdfd7u`(yTR(h$R7MC<8YXq=7R{KtM_)@6FL~V|hxu-!b&&wp#1?wkYMEl94c{ z--LEg-)K6O4CnF>=T#%eFXFymS}pR*j$4y&g$jD4ZPz~hw*Jiax-!M12N*d)q;{Aj z9yti~X}=QIZL99u&WZ+lR!V`tBpTgi)}C1ZoS zp*T2~7f9Y;=vjZRPTM%wH)p89UdD#6J$4>zK3eD2?0*6syHqDV&}T(u}8 z5agbYDU}o(oD1sToxnGb;-w4fw?hAk`CMeKzHlA{S$1fHM$KO$!lYR#h&8UhZ!P&` z*Y#?C<=oFm?D#NEwc%@1K&@+?+|=`QK#|INiVpbu$SueL*vOyuRImsO(%itKfUUge z&nO`1RobM3PBYN#`hg+``F!loJL(y(xY4X^yGCfd_O6&lhxaah;_3IllPVl;4yQ z3}A#a=tDj>snX2GfmD6+u-`8Ix*=FxIKNTrXI`uG%Mr3EB1<(?EFYJ_T=^I3Ccrw6 zP!RXOMI*)_Fo^*X2H=N+;s>y>&)h}@))_`1!q{dY?&`#N?VPLQo6q~O+(XF;f@f;! zOpb`hCgIY@Bz>PepXRSH=ZGS!gaTgJE^Zo4Ks2s98)HNb`Z`gui0cvn@;8Rm&b?1z z*TFe|FK}?Zf)^giOLl4$UQY!ES#`=YpR~tZ(_v|e#>zV)OpA!n!))*ZwRMw`d+Q5^g+r7&?5<{3UY3Rz7W>P zcmA9PAfH`lNq;+Nu^fl2bvfy4sH8c8&WZ+D-;WSeHt^ zY71Yx`^P_0qluN`G{nd1|RqNfu!!~7jg>9|> z=O62gIMY#HCEjX*najVLS~z1jutfilg;X)+DIravtY7yOj%9ygb-?>4mkz{y1G6sR z%J;Er1Vb(5k{0Q^4-#KDpht4RSjd?}fGSztJsYM+O`{hAB3HtP$Kg0MlNOeUnH6Y> zo&G!O*ytVsKF(%c5P1GBlBg3G0opg{5pr8HZ+s1c&@5ijaxS}j7tR>Qjgwx^BXgDh zBOE3g#=tgjdN-bZYfx56m|_gR03@x0_k3Ne6ZCm6MD8me5fdp!Epv83=?5ReTJ!6xzM$- zn*BHztmjIKr9wo;c1QC(U^|mnm_x&}kLYyBH8|jt_2cym2}pnx-%q;Y1_EnAIRg=c zOQ~s8T6?&Gl8yu(V<&Zc;$&3?)#6`)bj}!e57avxQ$7X(wz0leewkjkw=^#$NT#gR z!VwiPNz0GDCx^Oi|FoHT8r#>TKY~qFt;;<&xjA1%c53!xC)ToK7{A!V_;xzUZ&URB zoq1|M78N^lu`KP2^DR+rOlDvY&HR zIrh>zxMC7K`)zci!j;|+K2tvH%xy0FvTbjeBed3qBZdfB?duhl@?TL*MWunERx!jk zoQ=^_=+OF82|hKCQ_}-peI^f<^uy@O()9`vz)3r#oxAGlw_c?Uy^IG+rZ{~(O#$m~ zkP^6vgMa*2*fk)zk!SE@Z;p$C8H`ATl`%G=1qHu0W}S4xAI3h*{RV85xEM1wNdKa7 z$vQY6Hu-Y!ATcwOQzipl{KDvs(d{6o25u%hm@CVODy4astyi6`1Ou$q{(A%WsqSR{ zjXfzjok&gHAJf2MdGAA3pTT^tEN>JCRuX$f4HaOb8)&t(b#R~d=9>`|IJ7#^p@PB@WbvmK~T)hfN!5v9g(5C6UGAeZ%M^q;&5}2IFGTOTW2zGDgzVK`>FYnCE{e$sF=f9p3y=Ks^er)6qzs z75o#cfL%3Nc757?+J9{Mxn4^HJ<~mcm6~Vz0HoEf*}C#kic2oNlsS^r{_8eP9 z#*O3^?uLszxxBszbl7Cv%bA138Xiw@_z!aVAJeIQr-q=De=+GnHlYLRUsZ~s8i@wRQ2{t>A&hf2|0Kp1CTD0dz@i>~Tgcpp z$a0angLiiJmw)&;i zv*F)SW;=MlF#VU99*-KD(ztwDK7{WA5w!_xn*HLG@DwJXXJ{doR7-xeB~($RvX`V_I=BM;j8R%iBANWev$>Tu3v$~K4!)#bq6GF zw)-1al!y`CZ;eX}dMq_fZ7jTzwnu-*m}GX6tA%)nda1Cr{EyWc1<`b!#D^TYH&*Yb zYE30ps%Mi0NCpOhT#t;wMRrU>bdjLM+8IN9X!+GdhoLkm9~gPdoBuABsy`W^{oOFH z+tua0PwN9K7~glRO0`#13?2#MOk&&0S7CyocZ?g{05ci;43SkU8>hWBFe|GZX(WrU8Gmg77PK3B&(%@uH=Fm`|xDhh;kxKWUx?>K9JlKRWq{PCNw){ zlPAZlWVwbR=&|ifuhnA^cOV_yAZ-KL3f$#(A^Fb%k|10BlIor1BqhL3MS%$wQ4Au3 zrRIOELy3FsU##RFDI|xW6^QY0qsxpJo+72syfY)s-X%YbZNx@!uZ4K&_R|;K_Q~mx zIfa8bonY?@aoi>{o|vRWacx$BrEvMT`29O(a>HuD?Zh+7V3(l2uh zVC`MwiV;8pva%;h-(((M$VX3%1s3!`ASI8P9IjQIKfMm2>Jh>kS;T<&a`2oQIv$&? z{784nU}rPE#vPckllhPCc9Dh|K%*J_DdQ373mBV2KF|CqLNM$$l&bCYR(9!OY+7o8 zpHAQ`cwZr3=wV6dbx-Z|Zg`=phtm^h^?jJU{|9k5L$%;bIB#T&XL;^t$6>*~D7Vba z?Hm)iqm{thO1>wOZ~8zd&w*Xl%$|k+_sZI0s>I2nR!sA-`O!b%qnSoq!&cE3kt1LF z>kJHNC4H>4(#3r9>1?S(O82RPndb#jkPceGJc&wGzvTBXs9B}9A$OYTsxI88Ivfs5 z?#q58;-6iBp$HGVM^UB(`NclcCmP?;%ymR!vP?Ykg+|6*TsK}^JvvXR&TYF}977t5 z#CY|>XFLI)4`|1$W-9{{a~ekUp)LDesH;Cbj*D9XzLAsGxAMu}8%FDA$M2Eqo# zg>nos@S5vmSeg1lL{k{SmzR>iB&)Vao~{g1gTRN+O(hDm$^JJ|z%;j1Anh zkgI4bQ@i>^H2+`6_hq%!gSR27S9@oa?c*YMxd=I%Ew?jYw*0}mMda`<80Vu|V{*5o zTl~`3ow=IBj}hZhmCilIwOTcHVrO=Q5FwxP2!5S-AtVqsZn;nItQuIqR2=l%Ug1T` z8&V#%tI^Z7b;q`v=N2=Z;N@P?FU>odl}XASU?ZuyzY~Ykj@PA`BK=WqL)Q1z5_m{5 zt4i$J@*)KRs1>d`rZ2RusJ-BC(x;p6lcZzvhx7`R8Atip)Lb1R*fbTW+#o=ma;%0aAI z$m?@RVf?2>-#4kX-BSuRm9Knv+Y_Gk80(N;V!lw9eGEEGVcG+HUF zP4voyQe=5pK9=vz*8|XBr?85hUT!|=L;C2a_N9CI)+vK=Ph7rv4dN^-Z4x#+4k~O5qRo|@iUb1KHa#2D|QL`$Gx))%NywM;6V4*7W_aOj~LQo`hfDSbX>F zmGUO%l`oj?u-o$HBtJd6G-w@EwBSLWsC6A!% zOq21HbpN^%=wgwN4Xc#obsf;qIYbXmoHVM9d?UT=Ya*(l=q0=?FL2MQd<==zQ7d%k z^bUyKw=OAreDL@~#i&<3^mjBz{pe}e$9RKevYFp!@5x6~#QSsmzKptR{>x~7$%k)D z@ogNl6(iqxmw3%k-slRJIZ8I1((j@oE{ z^8+E`s?K=qlUwgq=AE?MWcR(~3)@$FKz4yzdZ>JFXQGV+FHcdBK-%~xQkkdf4=P^! ziG)&c8$bI@f~Mv1cSlZWwOQj4H_^*taN>8mKh@v9geRiR0|?Po)iS25TXV2}Tp#?) zWSkX!uYXNo{WUV;yP+eo@CzhHz)klUtexP?Ut&Wl8PS2}irUYLA(L>%4+HqwBoGL1 zVue9kn8+Wru)tUN&0k}7OIC~jNv_;2rkL|_g%~Y0>_FD{?$h44ZiLrM+@nn#jA`vX zFmR%?Qx*;H@|8@HDEEb=t}!t0g{qoI(&l=$;=vw!Y4`QZG&WI>sw zhLWFwG98Zvud(N&JM;d%xI%c|Ba9HUxkW3&LB$$ZG74${O6-z8)KwqO@*soydIgud3(@ZNT zto-YJ2L%q zo7=?)N`J&abxn6s^PQvZUT)OlsilO}%-9j##uqG&2axrKt@sZ0KJ3|A|!3;oBYPvEx5 zO}oZTS=}sL8OLg?zXD}q-QMQO=&)I=p|#(8uQJ~b47qQk^)|H4_l0&H>AOiSsgH_w zZohH>BpnbXU(5tXKJ2%jNQiL#6Xp>T?&g#Afq?$>~1b z9obrI^z=jiV_*(Q0>VrRMdHnyS%S$~act|9Pe(PRX3;32QRB2ycs^?lC?pi7-nI$dwEa7Jn!ZS3_EB3=X z$iL%-{;u_(Z|01HpMjaN$=rr0*sW^+uH+*?^)KNPr|$P^qHmp;%(LqO0st^`*JfO9 zk~=EUtvcaR$(+ds!EYP0SSX@+LR`yvB?CRX@?tGtWz+xZA4|vd^#9^Y3PqFPLqUee z0a+yn%pda`^%B@N`OxyqOo+?_Ng#d4*qaOl{{~gCwiR#ZRYcQ~{e=tC9)Yqxd1mHa zxb1o4Y3%&kh6W!I_eM^+6nNJ^{6T4##|2i3b{0Hffft+mh=!6I&M8PXRJgLz52}2g z&u$n#7qJReLmiwK#NkGMVe^DrV3H~28WV>SJ)U6f4T+H?GD%Nx=o$X2lK!(g*}}&! zp!uiTNq0^hHrm^A!eZ2)QS+QTfJy@$6coH|@1{ZPaw5^oQMXm2L&mPDPr>E@TLeXM zN*4wZIYj%U0DA;wqjknl(f7i0-B@+pFZ--SX?~y;8}7PQsi^{ z(1s~Wt)*-s4>Z>q{4GiqedtT+-DJ>Z_6Ow1Npw5m%A1jAf={K(FPT;BG_;8rq+<#% zhMg=eslWpXu0DCR3@8~Qd>h03&mW!PW)KuMFRN!kl&84|CXV&O-59=joUD_pzm?tR z&j2lqp6by>KX?d}&GzeURdWp?d$u>Ea*ZoMIO|h#8Hf*k@9c=K=K0;p`O{xl=;IMB z%-<_&0gf@DMr1?U~ z+K?Y}k#~tb24`fDb+9s4BuWl-C-WIm=O}0N95wxv`d^0ndevX$0}4L`FnjQYH1UNf zyK;}D?}%(=miW-2IH#jfO z%UP>dcUN~$b=CgueU+0CwUDD8wLg(-ezZ}P-_|~tIuf!AZs(=#^h%i*vG92BeTAtq z9Gi~WKY{PX)v~SO%qp%^aRMl38v{L>Epf?SHRnD#w7g#hQ$a^1aCFo{6#`#@d@BBF z7r?VMEmJV#>Gx!>MZ0i!hdnF7zI4;eIDCc)?A#3X!DV<(fSO*LkSiugWsKStA>?C^ zli4l45*~APAYePBR&G=qp>p{CcQq%pv!gfA5|;?e2Tijle#p}R9c+&;!$wO zC7ssVmPo=u2tkbRSNxXi=;1%+J?s>&H-0?iT%6!JWi@bH8ChK9 zb2P6me4_UJqat9)ry zxMxkxo=ZJf{au%cc)%!c;Kmtu@Y%5gbvg|&t=G!qBYG!5>-no{;7W{!RFjcNttHnC zKTBphEeatH6tn^-y%l8InD2iq|a?#4W5 z;xWd@&XCP6D*Y<)k44uv#(Sm}zi5@=%O2a}@NLE6Jwct5X!WWDe6pHE4;VGyUbY~8 z2k%I?zI_=C;Zx%yXpinJEXyC1b`w83kb^;q@VG}%0rnJH#9^+dLIyb#joyeUFRa~l$D^dYj5v&?m~YZzPXkLWtr)F1R2 zv?-K9=&Ez~YHG@K>2iw1Q%nT4S5G^T%sJyobZv0FQa}hvAz+{8CV%%+#M4Jo}#O&X` znE{)?#Uu>yx5p37qi0%H)uA$*;U{kO)ySq5C*N!;laNnzarktiURyF~LMmMQn{*7Y zySjPePJY^xH`+A6AyLrWo9AG*9xps%W>RSxY;k3`_#MpaY)Hd_1o|Ut_fX8I)!Y)n z{H`=`yT4(MJ9ly~Pt={c#k9?~4alIqF$Hux@ki}Js2+3;S5}u4wS`Qp8g;VnyPPx; zQDC-L{vjAX;Mm8vsWe6_B+4I<14I?I1dT^FWuQf+swqPcTqGHtgzk8dMPYf7sZ&UR zI57)41+u>A6}?PAWN!hxN=`N3Rr9qt({Ei$$azo=(v_bbdG2Z}>J7hHa^fGU`RA?+ zdVdq++VC5Y)P*>P@vyw79ys)q)6D0CJzkj1}oSBo!59i5kq5AawvP6y%6Qap^~Ndsc2=0`GfKofN0@I zF}3da+QnR>l4&&6wwQV`Edf#ObKkV%CB;t`)dd(>`P;~WVR)4$2dVGO$--(-FF*IO zac9ID#>N8ZL6z`k@B;c;t!rXk+{jPVb#O!&c>0BViKx|5z;%3-@6$yiz_tG~ZXAjU zx~>CJH<1nWIE03w8R|o=@$25g7U6P$8p9FhpZbr5RjP(O$8&ot)cIsR3f2B%9_DML z4s=5_c0x-+7ZyG{$x(XkQ;1c)$iNF?-bTj{=2=AAUy5!x5oCJNru}J{tHj$?atQMR zY0R17>`Ol~&-^-n{g6=DzY?`K65ddB8p44YeiJS5rssf3k&-)&294i`T!1v(DP zfAypil?sN9rKM6xoMH4kCe+80HS$ck1osR3TM+eNsx6%UE|nJAIYfmI`_pI#10Cd> zpFJ9eYO+SBbgTlXuh-O?IhJDjn&~Y{?NNvBbPYZ8H?qmc<1_~@P2l$P>BLB*WHm{` z6|vsfYwow|{s2cfyL+L+HbTk=1y7I@An-oZp>3TF5t_=%zsA`B`IkUllzmT*Sol|W z5{gXXh(%MHWZ~H*diE!*ymZhK+>LPqO~n1@+2L+p3OsQpXw={?>8epSxT^jB#DchT zW&}JPeKr@tSW+*Aoem4%P#rOfyWze>Jnj~Z0uL|+VxwHSjCoj?oMo)^RItvUe1#K| z@V4o<{d&0*+r*D-%*WtkH(0n%nwlnZ?aBI-JM>CF70fA36WrvN~T)czhbZl;L+R z)G8#!`Y&prHlX&6t$~!HM5~SQS`HyB&Tt=q4eUPAOcYwgMvSQ5fu)|E)=fiC!5=2) zmvL(wS1v&B)e?YwrONw&ai{TpWFzb=+Ct|Jac&C6o5IEY1OOBjyJ%nV^dk9t(ia|D zgx-Z_v5nZGG>JsS+bKH;7ciE^v#m!!n9y>hI#nLDM!pOIX#k86J!}#Tjxa*4Kh8E( zzOU()8Kx;k@VtEd?(ObR&E|MTHn1%*`ky5wt$P81KEY$};`Tajeu@!zwItR2BzCPL*%-40ML; zY4bMgxM_%p_2*MIB2YNn+Nzj%_+-BBqS+Gzwog4HGN<)k&=xXvp{nQF_`OpaJWQW= z8gL36iH6yL5^s6gbB_z5(90hlxFGgBI|GHg|V2S3ZNX0HwEMh26@P^a95pTi1?p$oH77GtV{cujEE@ zbQD|*CRR7+4G#fBD~ph|ADU%`6g!LS%i{gIXfrK-5Po90UyW@UCB9}WNeZE zMGuI9L~tQ72(z37Oc_?{K6?h#%9IWIl$%fMt0@WItDKdojV&4_O4YvZg_1VVL30nc z{4qKqk%9egcG{~5zVdgbbWl!9k!~xZg|0{Tb-ob;Oq-BDhlAY$EFvyPT9LhkF%^C* zGn=}pQ+(uwWowc)f%KlsNjQCR$^9}7mz3N&!=n0DueyD*xE`Ug{-;<(haCC(@jXe@ zpb1j6GtLU8oR-jI=7Yyu*rbP{V5_w+4hB4cyy?%#>4(n&-^F@lSd&^NC=M53Utb0kz2TooV}&Bw+)xAZyzJC-elXTEWum$eYcUQf{f`#cXan}5iSop zSq5+1^At&*H!tqTOyz%mFCTCH;$B}g&t`Pbn}weM)2FO?Rz@@jNWCnlD-&~Z-M@c? z^Hk8S)CYY19w_H`nLh+bM|thC5kh8L=c+~>oG3gmZEa$sxxd@nYElbMH8EHaRL8K? zJCU9aosi_hpXnM?l&uG>qJ z$hpj0R&v9{7XAp2$)SGghWb=j5cC-bCbT==xWmF+KC|_%EB_lSpX>B z+FGH=n^4L#d@lKCY!nM0$Nd~&V^J+^y-ZjEz%em_p)X-BbwY4h`1sqFq{;LtJX%(n zp%5My5t!vGv}w;(#nlqK@U;j+cLo=34UZz44xbACiVor>Hez7*mJ)TuKHt3yivJxq z;;^Q8o00sq7nAFr08+*X`nSYK37*GfPSc=h=b`B8YuDS>eU>M)09+^iP4e^n4c{Ia}fw+WM8p?7*0uHB;r@JyVo`zwVSnq{aHEiw(1MvlJ+15wf zC|kaLnhrseFvpc(yBJzS3qZHwWi5Vsa556RH=cgI%wolXx=SNpzeZCZ6wgE=6ocs>4YEDhQMqQ{N`u<;ySdp-$ ztv|Z+FB9$Op4U_}%8|!r0n%Av6(n-%U2qqu0o!XgRMYBg>POMD=`ir4OzY7%5$B!J zO$gaoGs9dG;upB>cbNPa(Zv)af#_>7s(IO#ZALIEbM4BEzt#-WbHggg>lND4BDz)^JY z=(XH_AQLLxr3%?<-H-}XR;rn$`Nc4|BvFkqOeA_%&VnSR`29Wt9&J2A}bxUHL zo%wrOupRl34S+++6Gzq*wWdb-L7IbIo6eictOSOaXEk0?nrQT*Jy~^UuYtr$=1a7D zT;D-UhRFNiGKTP9?3ffZOd`sK{3pNhB~@P0$!_l>c&Zjh!Cm5^haEImFlN^uEGK*B zOqTuQo&wc3tTC`Mq1Q{b)4i-`zC*<_|BY#8bJ4rER#Nc1n@)jYC?w^5`yg)~yNJ-^ z45~5c=6Z2t$w3&?VftRzKJNNX$d>+2xR!|cqgy=5c`PV$mjZ8NBZmO0-6n7&BiqU? z_^s*ePR46wZsA|zw$=JXD#jmHzT2irho1IJ-%{K9SVh==1gEi z&B#Kac;g?{GXF4@Osj!rqy#Fk&f#%)v_!w91eR~GF{uzNEdc&#k6hwhIIv+=(8{Oc zWKdSmanm1N1qSPd6@*IM#y|FCK#R3|rFiw(6x!G4o~dUIPg{}Ob0JDu%;dj5e?C=^ zY6RNw9S!vAU)0uYl66?jr}P0hj)Lu3`K4Krj^UdFjsOzV(MYi&$CAucx?e_sAf-qE z)wfqFaxyBbgAe%bWatgB%*OA0^A1ehlDVx{DS=|`EaW7)ux3?)F<}FS(EwE>gb@rI z(q93tf8^?Yc*6z@FXP}TD_(RHrwa7aYHR%$1KNcQUDB@) zyI}a7c-GY>Dl--HQbmtc{R?1=qXYh19xah4DT}=uv5;M=x>+8&oRGU1lIVJI`vdE- zwDc7P0G&A%X7@)1geQv^Tg(5zp1W4kA8Ep=mqi(u8~w5i{u^0g_e$Ua5de!Hp<5g( zzl7~!uADYo(!Apja;5PceTzbAKGLdH}_oJ}YTYt1S z%T_TrVn0sn^5o+h7&Pyz`NdQ7V(dpHR$f?v!%ZT<7^oD-9E|}SPLqO+r9rWl`6hV#FN(YHBY(08J1cy2bds}n*VaU`;c0MmB}1Vx$inL9Iv5o?4(o_xK< z+hOdTf10f|bY)|_UynVjZ+jFqC1Ar*F{+fMIOyHZN?w#0J(EkmCn)g_%>8IIYZ~Tl z2XMfM*OTEEhcio6|J(iXrSh2f;Y2MOW#nm&=%T>J?Dm4XIRERJTZv?nJq)$Jb{>#L zd#xh_ReG@0LvAIZe}BRYLXwN7t|RtQ9w|1rU8CeQZ^P|gs-!u+q4o`DzW>IrtUub0 zNyy?tTxVk_l@q+wHdt6E@%j?sV*Fs!ZIFksu?(|7S-96$~l2MFfGrwB&}PNLOtI6^IfDA8WY#lS>o}hb8=C@z$4I-+x+UPg?)m4Oop?(JQ!>w{Q>N{kc^J$ zNii6sPLh(c>L=JNLW%PQ3Mv*uays}-au3)d{bUdnBv7t@CmbgY7dNvkmS-hO0!;;2 ze&05LMq1QhIQjc?5U^!~YtpoQvtLOX>zme^sz2E=jHqv6QwR0TksW_#{)kya_Al2* z^j1Kn5((>H&>Px@v+d}U!m?ge84r<~jXufN8GHNYQDMOrQx;3bt$B}(LeDC`r&lAO zX4ypwO8T@hAD6@qUu}(9BTXg`n1}sUT{B~~%IZ$5$Q*P;ggwBitIa92S(J~#_~!@% z;mzY+f{l}$FK+fmXvuji?S{fRWbbdQv2kY^U%Wh&>Sg#3>$?ujh?N#|s}oKtB1Q`Vy5* z*RqVE6?y=(d_py3QzWCdg2z(^= zhpho?84q7VR(3J)-0gPxlC{vU{4iNe4o(nibE3Y#)lkooBkmF;_uV zWG$sR7FT}mIn`18FyN)W=HvggX$@+qtjqJmO7xOER|nka6x7Qw*TAWA;H#2-?6b*> zkS7b6nIU9(5>1eGG5lL$Sm%#OiKTY45)s1M%=oW?Fqr`CfnbYmScsa(i>q{pdvExz9xEi!#YhoJ}SJPe!St8!$hba zjzWPA#lN1IOpGG>9^ddkjeLs0pIfWVvq1^TaJ0$LZpxwdM9aJXHQA?-npt(qfHQSvWH&;hsot$55kuQU*<=NII0H7e{YeSx* z9Y*I2Z@iRZdjN{9OlwU3Z2jzrN>w?}2^oevd2Y`hWS6X2qMyRjxfvtyD_8<9c4oy} zE#scu5Y?Nl@8a&N7pe*W-J8PbK--JJ7u6Xc-AS%=_O=;qwZ81=AO9`C8`KDZ;`9m^ zmDQcNSAJB2;QR|}w9_Y^f!_WRjk27FBI%c}6zs>r(q;dG{;VeT9kuM8x7(**u;2BM zn#X&jhPz~GpYXqL0-PH*hDsLqHtPM?WRH9(9MJ0+qGmJik!^8TbB;nS$*65O0e$H@ zco51D>Vj(+H$$)Uu?-X{sh5%Y$7)6w_cJ+~)V<=Bal#9GfCvfZ~3RN`7g1jQauTYda=j*+Rp1w+kV1JTy!Wm--lrc;+tcSAMjXVc{$_G zbao+k>T^WGwf+ji7u^r3H-v)NS6Hvx#1i32B3k(T-cE z^kRjar=EIC9tqtv<#@DkEH~eVXvz_H_x5qZK~U8TJ2=@2N<{x3W4`D=lzThX|K+;> ze~fasM+g^e{(+i>z~nCFm!aod{y$p1V}tCb++u`1oD5`|OG0{Z`4vebbGfM=pZ41p zpc&}_EkftjkhiJ9ckV>#tVj&$Z(r3?y!byGb;QTpC3$dE$PpP*^4@Bx?_pQ{5u8kU ztt;s~+d`>I)?fFmuYOHq{Hw5WdXsz@zSkg!{&=Un-=7c@-LusGI{sfTKw!c3aF9l) z#)18kp2Nal`nW%zk%+-0z%w0DrGs&Pg_*;C;$&5Q-;@&J_+DYS$COl&LHQ7hw4$0{ z$M8jcs|8rWGV80yyBqFpxrEb*5?@VBj8RHI0!qJcgXXoJFM3l~;1gHmP)zb*vU%rN zq4L6KiCfK$MzRu8p#2TNneD8IguIyg_pct7a~OOpgtl`J#9I@OyJrm@kI(pjFKqP7 znQ{abxFHcg_*TYwZfV$Dn$*;treA{|mYnxizw#A_~h^U6x8?-}7m$$LK7; zT|r1h1n+k29`!SKGh3s9M>=Z-JxfGQqz8#Y>VQ89K+Zo_rkqINq!>_8K7_)OOtF%{R{%ru=^$*@u%Rl*m0$beMx?)~#VLf^=jwXtM*mZHM|OFVb&!e|wirvy zxRpWyjEx7@X|@d+*YWQgYWK83GDkuB>gq-UsvKY0t8B{{gDhP<1+~T*NHVCsoGEYL zPbZcVSl=h#c+I3(kzc_?r1D?5X!0KtIh-*iy}LCZ-v!pos?%AKDX~J#Z*=@*Yz+Em z(Cj9P!1cc;gc1wbtpO4qGzu*obnQfs8@5VAWT0wVB)>tLHv1nTIG_0z3Y=hbi3R0U zyty42Pml7pV@5TIwr~v_OJRVkxEg2@q2tpW`xtxmmHpZfFs#2HTO(d*(vHJO|wpixt@w$uOKK{u5`rP^v&giF?dpE2YZ2 z(vfC8w*C&B%v#43#}8yfQ)tpOS@w8+2Db)ZBH1BI^>rV4^=33QnVW)0p>ckQ-0J=futfEj9@%CC-_s&sN(zCitN zT243aSp_}1YxS`Bf9o`U(PPoZ{A+W^+h~z!|J(562Q+QE!lUd_mxC3ZSm#5`FOp{N zhHwt`T|XnR1%Gu5O_lwC`Z7q_L*fvdaAU#CZ?!Wi3AS!w2>X*@#2;HSNctdVjhY5S zp^}+M7-0ncDtjoYUGzWa8;BOPvAEuLS?6JR&YxY=t0*hsP>ltsEO>v85Z4_W<>NJD z3;L1DFA=6p8~XL}T^LuEK6B58EQCTj6qV>u<%c-#1nvF zcM>eQPydR>YDT@ak!Ts~!GoOZ`xRJP1XbPzg)ya?^F;rJHJ2^j@3RC2>510hY; zI%?sB11N%|{RU3_2k98d!A@kC{wx61AyBuF3X{*)62BRuhJxp2!rI_uU1t{_H^meK z@b0ZUOk<@n;5SRu&!s;v+D1t`@hhm?Pb%sC zB}q~LAEb>mxcf(QIQ2d(b!EJ}h(j7&jkRX}8wXDfrlZMk&$&Lcjt=3?5SSiRSnjw> zN~cBp(V^Uoo{4Mns`c;ji0=(wh#Q6qgF^WbtKb|E)*zXvf1#zu8~OO-6fSMlRmk_h z1>9GHNjySWv>zr)MjON*c&$7WG!6$1Dwx?A^TqY*X{t23>zg)nIaH_ zqHrb?iDoj)gl>MbUpufncLYGO^!P)1Sk zARKlQ*nsWOIO;(0OiE%9)WatO>ln@>fl59!1%~11rtG2k<_-wzJX>BS4>q7R6h8@v@3 zI%NbXfk|!V#kn7{B;D0CTxndXxyoq923IsKa>}7!@0ST8=nO5T_-p=w@6}$rT&6G; zp9Fqxic~%Z;fsA2?up7q7VqG-!0xKaClhv+K9lZYoq&*edX6^C1~d&{zrbT&Wo!gS z)J$6apA#CO*@Av;GKh)W(HV8XLY`Csn5EF3T^m5KzRF#5F&tR<98GJAr2 z_Mv5hs)>ruF`ODIf&ON8>S+|1z7yb2<(0zJJrW3gb|D-((@v2YA)Yh>^-%U`Qh)Xc z$4D!OX<33k{eJ zfYLT}R!*|R;p1gEfj1(TU6@&WBmdTMchT{On(H~Hm$1&z1Zb!wJ;MiV+nv`vWv1gI ze-m;7q{T5g!D6oF2{HCH|j8JkK z*+2qA7gYb&u}T~v5E}}a(LVlTAQaC{z+A2252|3_{j9zNp;D!v`)%pp4=1y+%m4hc zjV%WU`cQW5KwolhV6!1;Xgma@C|UA(V0pd?v8Qvi;3tsylq`+Kb6+xh7|e1TP*V94 z%dP(zf_STN!&ig=Dyf&00mcE|R*IU%`mF2kHfiU?-Rj zWS|kr-MH*?<%|>8{y^zMY4+{1m6H8}#v1v@C;eb{vZGA}=O;V!XJDE@_O zzK83uBb2=p?g3DT)r6P)+p(o)B*{ltsk-bELJIy37QePoY4N1QXOs5Z7xhpc`Fm+p z1ENg&JXOa_>$N{9#dtIzF4#3qgasYal)i>RX`Z3>%zlS}cgB2R$9Q{qB6N8zy2FIa zR+m~_Pf8X&5$NHJhgF-bS%EF#!vL`-Ve8>QIf65I(Wt;H^zb37lJ>*KhCvoZ&l0J37>x>qVm`Y_q#U8gr>O1f--;79<(RdGUrL)NPzqTUmbOn-G6y{CD*m_O%5vdkg0&2*mdiLL^8H82VR`Mw z=-=m!d+!TNt=l~A#vDb!M|T%nIdlo8JiSCn?SRC!%&g9-1Ta-p$N&P0Ytf9mFe-==d9p8(Az%lr*!q^qm-sfv76)DHGFDgPrYN{Z z(q26>+$>fxI+85XPBrs=_Bv0I=?&FNr}@}A^3a(Uf^UVpMO|x`{#8)WP9IFhJbl<$W=Zy&Tm-jHkyD5$)lS= zTP=ED@skpH^XDwx0Dk?g5@Rj+PjqkgRi8Gp@WacDwanEz(X)93RUexcLtsqaEu^pJ4F1`KG3S0LzaOD2f`SgHN$nI$l>NytNZ+ck*$s>v0bO^j zD|0cDr*k(hMxP;;@Rfw*x;e)`?3@Nq@Kd<2P{(s@9q6cN#-LgRX8sbVhq&Zd$k6Vu zo@&Zc5&VXgeVJG9nm&E6a(-dnS7l%Ji(#0eW@!7XR|{XuXgbcsz@n7?$d1PE(6!4W z5u88{j=!@LyLZeezq-FcW)Xa@`#EF7TY?yR>jP9fI+V|?V~dW#w|4!e0Jj+CZ)Ec7 zK@mvHM_%aU3!7yuj5&s6t&833$i4Ic7vkSH+UAEt%;j@WIu z)2h_0T^-5)Ya1CPI~cTb{OwMgK02e8IWFQlkoI~VkvePRpg=Xk$C^ukS?w;i`RtOP zZGyJ?7IpVoIohEd)=hv5QSp^EV~7U-L}m7TJQ4&^#@*%6%e?il@;f;dqJ(9*GA2id zmi5~oVFx+473` zk&77OHWn$gfKa75f1LQyaEg_{%oX7!$ zppu$a3kKbaL_lg$ZC~u%>3*^i(EorFO^6N|N^uLf%T5QAbe_v>BwDf`^sx$F;iOA! z#H=iq)~Ko~|z!16+u*oc@Y`8K~XK#F_#V&-1Tp{X>a^v4$S%ZWqIqmFB@ zVhp1~z^-719bmq#0gn{tyb-sE{6pgOcix~|wtf}wDZ^q#eNY(&KR>yHC2+Y0GyaQ5 z-B#aUWp$GniGZ0?g28W~>$T|cOgHT&Tw8N}vMkOWy`(Hd!G5a0@@C}|^b@!M-*{2G zoKDyyB3W~9OV}mAW=fo4=S#*vBS4jX#C(^BYZWYI@clG6rzbf;z<*P zCT{mtF>bJ4PKOf#@W_Ov3q!j=b-h2fOXa4l4|*I3GQhHlp}sCpZ!jN#Y&mf17@rF> z=#UlB#K~Tp?K(Kr(=WA*N{fS*HNm@!CoDUyA0cpbyrKu*PMYs%C&1;M4qwR84Sa&W zU&md+>F>%Rp8IW;;!maEIVSPo+{l%lCws(r-USFvtR#v)McGiKxhb+v+-pce7_AcI zbR3}XuM^e@YkjKx>n4S}nyl-%0$d<#SY5T=4nKFwTbUVbE%BW}Js2AtmVdD4Q!cF#Xd40{f1hl^-dYq4O zHYrkLK~ArfD73B(&i>#k*=v`!BnxS5C+T?d!r9$ugHnVDiq7W4hQwEDKCG79Re)&; z61e`3{N#ZvHEOI34#C19=S@#zAcTH|>k4ri8 zI>A|c5()!3I7p!RIFDG>$MGA6hHy?Yb2)=Ug3Os=?uo#m@nc2$M3AD4@D#kQzD-^p zPUy?JI7G+i7kmOU=41Zp?P#{&w{1MuNm!1DI@p>@Z}d;H2=4J`%#2C_LzA`9baXHh za_h!e=}7@NC3E>&Cc?7ZS6ItuV-aSe+nWknW)y<~t5=)z5+lSITz|Ik`tdG)0Oz(Cx6)$P}AA4p>j5oTnDkX z`wyEna$Sl_fdPbLaYdN{dYusdek$+t1a3@7oqZuxD~FJ*cBV;hD?v*77?IkuVFY$b zkb(NU?cj1Ra-c2Uwi-1qr{jqD@2=p03gMQ3 zpH>)lL=9_wZ#n123A51%IlHEcAGC^UUavAehsd#nqeG_C#YF`aIj4KjUBWZ|w}P1{3@su2!W4(6It9>UO$bu&eD z?+_1stuBMvS<7>76xD)~R!7^GYez;mt@sINvbN*k?kxO2g9{e*AtjBpZ#}A=6@0W# zWyxV&PG#v$v9QEVZgdzLtJ;t7)MxP)tcBPm{6}wILwtzWUP=KYlQt(K-M_wMG{GK) z7u3A2@(&9tvv|6l*;3cgWkW{1f(kU}j`cq;TS1}*3U(1}8*^sma{6;^4Lkg-mg7_6TL3^vw$A6zRBcwC*X(8BT{OUH(w?$rpp*zAQNDe$E@+_ zIBYu8qeB7_AyE?#Z=>o5qrK^Tdl9uhbe5zlvs;PaUGf9xgJishr?`uQFO=8q>L43Z z`MX|85SM3|7d0i^0qPjzv^}_>_gT~Wx{{t&`#_pw01xk>`Mw$zX@3T}b^Ersm`CR#zA3ipRUmdPFiF6y`m zyn;B=Jl1n$Jk_S>W8c)XCZdYWp<`yw(6Vs+s->o?KCdtuZL`qxK(|4_kT-bO@UR&+ zKBul6coH4L^>{0d*_dG?dLqyKRXeh_M}5@Ey9< z^?mP8`-dE%!k+_Sy!khJ(xjQN@eD)WqGYfUpU=+7P1QLrpJ2Vdi9n~;eSHt?g$nIt~*JR3@d+HF2}y50J^CN0+($%pY?pQ zj&E82UF;B*{5Wv_y=MqVdIzanX`bS_dZcA1hCvO!QgwtEu&G-`A$h+K!wn4YYe5@T zUHk62r_hBsZbEN=P(z3XgSxwYWSh;15(hx>l=FwZ!ecOwf|v1!XQhC}gWl{#A$1%O z49;Z|0AZU^se|ahb_PQ5AL4!#S3!zs!LYQOj4-Hu>Y3j;{%iNg6IlgBsBCAD|!Dw)k~DsX^-kPp;|3+!`QL=G4Z?eNB6nT1BMG67Aiv!ZrCw>13yH^3r89xuQ&*}AU z=W0Fnp|_gF3VKos|DXh@5^2k!t~MauepLI$s6z0l|MJC2#Bk}hu&XX=I?cv?d}I(E z)w57gco43~@{a0&IM7`5cw!u-#gZEKsFjO@m5rc90Tz2mh9$HQHr&;LM4!tUtxT|>s`bk+XXQ*bB0bs366M<)_>9OQ3PkYqqYRnWTo&D_OH zu$FIZ#FUpyQrO&)-47BO9KM^L+miEt?o%TtVV$%7-I-v1Hb*@GF}Riqr3sQD^vs*h zR=oyL4bn*%p5oV0%kb&)CMesWDLxfGD&^&9#VlzhE@_4#5=P2=Q9{4r+~7>J>mqAu zOA`1V3;>WT$V!N6z>JDuB~2pTy#oJSUuv&KRiOzF41+N{UPLoQm+dx}j3rd(_dmXO zH_(Sxl9Qr6l4J^Yf2a!l)J-DiwMeNRjbttUXTF+V@MiUO`TFN1H09h90V9#Vh&4-Ng)`YGt28@c5 z%e%GW(O+#i3pT%Q82#XJ-U|3l$@t8v@DPEpO6|5)Bm3x{3~^}0Se!g^dKj)}Nc-RJ zE0rZc>U*@0t#cyZyTHqWs_2xLF#&CjI5HjXyZilIRq&lmj4}bcJ&Ea0SASvVz0I;| zFH7N_jSfQmDbi86y_!PUkNi=h8^9gpeCAbCPmL0)Eu$I4U+4cS3+ZU&#Z_I$?Ydnf zz_}P*eXAZJ9he60QZaOQzY<(c?I-#!hUg>r-|DMqIax|C~SgrNm)6= z2`Dgv{X!mPW}VLal6CFKsX~?nW-bfJt?L^8{3cVs?TcG?p5w_$mx#o;r6!0O+?%Q0 zmK^3bk*HYWJRt5s@?jZY@}0op*=)kxDXD_b&-SyiaGV9}Y6Kjc=W6IMd;%NWNT1iH zq{AwEuH?-N6)-^KOH(zyZAo%944E&cjv9gFqu_=pQ>Vu@e)vyIbl2XMF9~2q@72~P zX(R=A6CGo+APJ`M z<~Zu*n2+s4;&c;liCtIP|Bxkioyu1F5-_^9^-tY(YNinCJHGtrvyD*bHz}axTSOuI zyN?w#lgv2w8tSv9g0v>~I@&T;TUknR}CQZ@P^ z?j|=JiMRjV{^ggGocNib9O(;c(i;4EQs{TK>%%q6$$Em`XK-@*!D-lOda*jmbsbLF z_s(}e*m9+Zx_7qWSw>7-ARD6G7Z~W{L^?f7Xygsp`mJhUwDTFM-;nhu<)QLsWLmpV zljE&tz(2AE?OaNF6FST)E$T<24*_37O$@zp5Q{}Fr9sYbwIuk~CHTc$kWwAKn!%jp zurk}c={UA z$P0?xQz{!f?JKUAI`(n)w3D1E+V&hTBj<>N_p3V>F7SMxV@-YWeyV!6J)`01NBoyz z>kx@Z`2aq9Hx^yaB9EO%F|wmkDab;~7euUE;;WY4ea)>Lx$fjQK1x}9PEo4bzC=Vi#c$Vr;QB z>o^|deT_i#^BvJa@IFYqiQwn1S34#`wro7Mp-+tY*s7_vI8O61Q?T!o>NKP&&jfA7e8;(v1arzN*5ZPK9|2X=r$79$ zBAynfmwIl%Z>F-$#l)ZJ{ld}1D!3(F*|;!W`Px#Ie7v&x+0SUqWMYcJ;{1Y9DM{0A zLlYG@S6O3kAZWnBq6nQD6zuHBWUi>g>BYBufXtI6&!W}@b!&^`Y3Q}#K@t7+8?oYY zGh=*A=JtJ&p6nt?gEir!>>SoSa<7>PS3dgu$j6CoCbM9&{AmV1a9f9CxTpu%epEtW z6bbZz$6V#rz*6_!+tA&UV2=H1e+f$dWEQEpijdvzr~1OVX>q=s76mPvL@$f*m^YN? z(Z&%Rxi;^-@kEqfKbU=l?rR$@_HQcKLooP1{-oEw= z@KVfWi?|YxEbB?N4-V}>RZHk@U?Z&+o@+bxIGDc9+R`N7{kIt9Bz>^ugRLM88&!m- z{W4dQ9M81F<9wa6rZ~8X0?m9?sG;E1m2DyE{!`Vb=eeDK8qD)RKWH_@na;ir+%{R| zxbwu;9~Yo6v4Q*38@>C7Qe$}(W|*sMEs>-bQaEwzfiaDlEiAJ&13u(`Nvay(21q#> zl2VjCLwvsymyT^YyoIuPksJ%Qihdr!ack<%_Euc|nswHfPa;99@ejkNBP+y6T%)ALbsI88ip&A(P}FDSm=;|w_76$AeI<`vm)LmIVyn2(*d}OWKue) zXO}2UAOuW3@itJhO(ITjVyyT`>42%oXp3PdDGxMA5vGYWJ)Kg2la!9=|MfrsHq0+? zT34ZiZjH46y_AO;UyAF7Q{CVy8`qbD4ce^^1-vF_0%s1Ib{-guX^w# z#(>_{#DdE$L(`ZOYmKI=9m*tfJT(TE{1@t6An#5t$NFL21U8#bEy+ubQBn{Nq0-Ow zWD*v!(|JHCp8RAhuIR&6kH+RA3Z1Rz77wpTKH1hyC`U`W7c`sZ>r~CK_Zs!MCI6&I zkD=EqZFS*)))WYH9G7^fN$GWXTHrbndOg~D`)<+VYvfo2!Kr&=@I;%hOXFYxTs8CXuBZ^NU*j4#9Tw4|^qb%YwDmZcAh(>v`Al(w zGAm`Z_pnrL47nM(W>LxtNLrj;q{r}isNoFLK|6U8GanIrN-&#b03o3NYWfdj9my`rKvAbeA(YE z>>0^?55chW<(hG>?s2Bdp6eOvF^K8B>``}5{e>z@$@OH-YrQ5d*2$X?;xLd@q$5Ij z@^$Hn0miuymORgN#PJ%Cvxp?Ss%k0eLW+EG}a zUl(WGBOxP^@h}b>^k=skcctXMOX|l}$PueZC!-;ITy4m+EJa4#_7ytYH=R$0wQ9G` zBTot=TxpY3Jn01O|7-@J7N0FRdyvABT6(`-{Tt zXl+-n-0PS&%+}=*66%cICR0D<0@5wxuif*_VoWSHGRf*ZIgJ{(!o{X_a!He&&L=qa zIYpklts@@LMQM!REU4pzg#&`N9sx@jPkVnYpX&b%yTBK}6J{1?Z8{T0y#k)+qSs=} zdcLj?pDMBzGaQqr=78oNB{+E%MM4tFP2*Ir3)hAP8~YUEdJ6Ok0P*1pi6<=1eFOLF z{DJKyNNzNcarzbSXM^ zff(-|bQW3{k}CPd5o+U25V%&Em$iDYd2WP8qvomQ)KpJB0j3(hUD>_NA*?n|GDLz?9gyTdL2II{S_G#}dq0 z1oe|3B0h;>jS${-+{r|VLtWk@(tA z6=BZ>M!Ne@YYtfoe@|sQ>bTFoU=+?=3U|p0m{K^b(DqLiq(^uEriat83Q5tJiD4;e zz*AlaZD9*!pxqjFSl8PpH9vO?;u(?>zNu(IQe|+pOB_I7y|bJH@uu4@?uYC8xpHq| zKJa{a>*->teO6C)jyn>wVc(y1)#2z#XY8Gern;(G_TJqmoAJ+`WaP=|nWp~Y+w3_p z`}i5Q`IBROSDDlAmuw8hhj{B|RP=DfwM0G3ca^nJEnyR?K#rh`%F=338L>`>!l0W* z0ApsQ@ILDo-eLeg3+tMLyJ7j;H~(9$Xz z)9r`$EP0du`TB(=)F-j7(ne0g!$2^=eVmsH8}ss_gHI+{hafJpIvtJ4%wg5yY}o3u ziIdMAX0U;Ja&0Xke3(AXpJtmj1`4KQn>2?fUroD;joGKw;1C(C&tc7IvhNiJGC;BW`kD}Dsz8<>PJ5p8q;ywSO4%mAx4(M0`7&dOQJ z>64;qtvZ(oT7My$^7B`|#uBgn2HgAHL6uTsF3ZygMfzxcI$4L8YhbMHi51x7c8i}Q zZLi^)GjkAx{(X&KQ~YAdI?_iVxz^j(79#bg^RFRP-ZIiK6+iRw6WKRj@-$Eh*98S% za%5mA#8($5vcRr*XcUi}oGO%FzRlu^)XK z;}1JTo3_4#s9HphJEvhGLuAstBcbP5#%{PUYo^`fU)}8?(=x^ovteLfq~2Zr_Hz@E zqU5#8tz=oKR!>n?E%d-Puq=K?Ab?Adw_p&yCmVhYU;Fm$1%H~iE4VV-2kS=}u0f6C zI_j?VDU)J0Zw*B{dvw0o?y0%>h^Fyd!h-XH93+Evxrh*O9vN~i<_LQ}A$>roR_6xA zok1991h2S(b8^n^79`EVCa6*+H6ag9k!*AFHLgi{IH475Q&0ZyPZoRw$tJ7FBX%T5 z!geLT$GhImuXhk68g6>eAD&;6?~%aS6ZXNa7ez;YoJ@0+KWiC-Tt$+9l*fL)|Fw(2 z+YBn{((o5DGNyD7pXt2Ibs!V8a~s4|SwBGD6SYz+OC9Q?wuhhkUA}ct4pH(tV!cY;}o!+45BV z-t*JkRPdHfO6T}M)WEAtU%z%dR#uK$K^K2!$xqFa?;ws`^i2ck0P$n$0{ zYX#+9crXX+s*6(A_apHGozj6lMrCh#UE~hFoq{YNIvhM?0UcCl`x)#ZG5cK_#cI)B z>Mlvz!K*xUK6Cs`m$Sy^XMvdKhb`|*GeCYBKR=0<*R0rAYwO&C7#>0BZbF+YsuNe0bh(JsG6y96B$KRc6c9Y-+exK? zz_|Aa)32S3Oc^i&)RY&e0}MrJ)Kezs-Rs5;Zq*EiinW9L!RiXBnCP`nrtoGnBNm$36 z0~H*O&K+=k9>F*_kfN>Yf)3qIjxdmFcy+4I+Xufse7zumOhyjS@P^#ZgL06mXq9tR zfcen?A%*g1-Nal62Luo@Ojg~_;C^Rq>b8$ua%74-D?4~lE{ z?wQR@n0s3DprsR8^sumW%Div^6qDgvT5Q8os*;#WSX%sgbzSv9-v@mD(QQPjt^GWV z14IAu&#iWP&x_aGR9=vA^?1=`Sv&WY+eol=(r(y4I|LE!5cJUE);~MEO|-)%o~7e| zb|_4=L*bE%n16Qol4ytSs{MO>q&8qcv_pdeD~5k|$VIfnA0g>0{~}})n@Bdio|Duo zM6VNdxAs7EIF=Ma{&E3a9_gk)>K;b!MBQ~-H_l`Fr@Q<_-35GmOiHKV2T6A)id1+> z5k@qLx=WrtPD%$}OALUj)DBi7MJR|T>Mo6ZIVl~alK@e7|NkH8C(ouK+1~n#%KU#h zdQyYoY8bx~X7Q0+Gb6z9PdFrNOFo;5-cK4;*l6a(Z!eerWz&|XA)WJ~6?=E60P)9o z_>Q*%p3%osd{8sq?heOx4|b(DH^0$<-Z?t77$;2*6ne(YCM4bAl|gLF6$D$z91PId zjCvHR&~N0k=@U$2rXjQV_pl1~ zYLF}-;7k74hYbXPafBUk*ZMp!5^@y7#UyJVl~_ck-n3 zWq0c32#6hrviR5m{e}ZF^^L>@f^K^_v=(2v3$w^5t__w!tpG4Y3d^^UhmO;2RKzVD zI}+%H^)68eCC_N<`!P)yJQZ(-c-G()KFYto?oOXY{Z8M#azdJ^`z(GJX4p{j*F`vH zif*4)f7;s_9Y1XTnjJ!Rz6&I7iml(Zqf<5rE176W4y#s=0WF0n#lbri6_Ir^JI}U6 z=ja?*_H|m~lMb@+Z7J-n;`@1MRQJW$Br~y|$0N0Sy0XX$#5!~RZlO6I8lGXO1w|j# z%v`2YX_ diff --git a/Sources/Rendering/Core/Renderer/index.js b/Sources/Rendering/Core/Renderer/index.js index 228350a7472..d4272a86e8d 100644 --- a/Sources/Rendering/Core/Renderer/index.js +++ b/Sources/Rendering/Core/Renderer/index.js @@ -5,7 +5,7 @@ import vtkCamera from 'vtk.js/Sources/Rendering/Core/Camera'; import vtkLight from 'vtk.js/Sources/Rendering/Core/Light'; import vtkMath from 'vtk.js/Sources/Common/Core/Math'; import vtkViewport from 'vtk.js/Sources/Rendering/Core/Viewport'; -import { INIT_BOUNDS } from 'vtk.js/Sources/Common/DataModel/BoundingBox'; +import vtkBoundingBox from 'vtk.js/Sources/Common/DataModel/BoundingBox'; const { vtkDebugMacro, vtkErrorMacro, vtkWarningMacro } = macro; @@ -270,12 +270,12 @@ function vtkRenderer(publicAPI, model) { }; publicAPI.computeVisiblePropBounds = () => { - model.allBounds[0] = INIT_BOUNDS[0]; - model.allBounds[1] = INIT_BOUNDS[1]; - model.allBounds[2] = INIT_BOUNDS[2]; - model.allBounds[3] = INIT_BOUNDS[3]; - model.allBounds[4] = INIT_BOUNDS[4]; - model.allBounds[5] = INIT_BOUNDS[5]; + model.allBounds[0] = vtkBoundingBox.INIT_BOUNDS[0]; + model.allBounds[1] = vtkBoundingBox.INIT_BOUNDS[1]; + model.allBounds[2] = vtkBoundingBox.INIT_BOUNDS[2]; + model.allBounds[3] = vtkBoundingBox.INIT_BOUNDS[3]; + model.allBounds[4] = vtkBoundingBox.INIT_BOUNDS[4]; + model.allBounds[5] = vtkBoundingBox.INIT_BOUNDS[5]; let nothingVisible = true; publicAPI.invokeEvent(COMPUTE_VISIBLE_PROP_BOUNDS_EVENT);