From ac44afa70e06d103633727a3249cf049c00d3fd0 Mon Sep 17 00:00:00 2001 From: Brendan Dahl Date: Mon, 10 May 2021 17:43:37 -0700 Subject: [PATCH] Fix several issues with radial/axial shadings and tiling patterns. Previously, we set the base transformation and pattern matrix directly to the main rendering ctx of the page, however doing this caused the current transform to be lost. This would cause issues with things like shear missing so the pattern was misaligned or when stroke was used the scale of the line width or dash would be wrong. Instead we should leave the current transform and use setTransfrom on the pattern so it is applied correctly. For axial and radial shadings I had to create a temporary canvas to draw the shading so I could in turn use setTransform. Fixes: #13325, #6769, #7847, #11018, #11597, #11473 The following already in the corpus are improved: issue8078-page1 issue1877-page1 --- src/core/pattern.js | 23 +++--- src/display/canvas.js | 24 +----- src/display/pattern_helper.js | 102 ++++++++++++++++++----- test/pdfs/.gitignore | 5 ++ test/pdfs/issue11473.pdf | Bin 0 -> 15028 bytes test/pdfs/issue13325_reduced.pdf | Bin 0 -> 73842 bytes test/pdfs/issue6769.pdf | 114 ++++++++++++++++++++++++++ test/pdfs/issue6769_no_matrix.pdf | 114 ++++++++++++++++++++++++++ test/pdfs/issue7847_radial.pdf | 130 ++++++++++++++++++++++++++++++ test/test_manifest.json | 30 +++++++ 10 files changed, 492 insertions(+), 50 deletions(-) create mode 100644 test/pdfs/issue11473.pdf create mode 100644 test/pdfs/issue13325_reduced.pdf create mode 100644 test/pdfs/issue6769.pdf create mode 100644 test/pdfs/issue6769_no_matrix.pdf create mode 100644 test/pdfs/issue7847_radial.pdf diff --git a/src/core/pattern.js b/src/core/pattern.js index eedd8b686..250c8a7c5 100644 --- a/src/core/pattern.js +++ b/src/core/pattern.js @@ -245,18 +245,17 @@ Shadings.RadialAxial = (function RadialAxialClosure() { unreachable(`getPattern type unknown: ${shadingType}`); } - const matrix = this.matrix; - if (matrix) { - p0 = Util.applyTransform(p0, matrix); - p1 = Util.applyTransform(p1, matrix); - if (shadingType === ShadingType.RADIAL) { - const scale = Util.singularValueDecompose2dScale(matrix); - r0 *= scale[0]; - r1 *= scale[1]; - } - } - - return ["RadialAxial", type, this.bbox, this.colorStops, p0, p1, r0, r1]; + return [ + "RadialAxial", + type, + this.bbox, + this.colorStops, + p0, + p1, + r0, + r1, + this.matrix, + ]; }, }; diff --git a/src/display/canvas.js b/src/display/canvas.js index 53e4449ec..3e8f80836 100644 --- a/src/display/canvas.js +++ b/src/display/canvas.js @@ -1386,24 +1386,11 @@ const CanvasGraphics = (function CanvasGraphicsClosure() { ctx.globalAlpha = this.current.strokeAlpha; if (this.contentVisible) { if (typeof strokeColor === "object" && strokeColor?.getPattern) { - // for patterns, we transform to pattern space, calculate - // the pattern, call stroke, and restore to user space - ctx.save(); - // The current transform will be replaced while building the pattern, - // but the line width needs to be adjusted by the current transform, - // so we must scale it. To properly fix this we should be using a - // pattern transform instead (see #10955). - const transform = ctx.mozCurrentTransform; - const scale = Util.singularValueDecompose2dScale(transform)[0]; - ctx.strokeStyle = strokeColor.getPattern(ctx, this); const lineWidth = this.getSinglePixelWidth(); - const scaledLineWidth = this.current.lineWidth * scale; - if (lineWidth < 0 && -lineWidth >= scaledLineWidth) { - ctx.resetTransform(); - ctx.lineWidth = Math.round(this._combinedScaleFactor); - } else { - ctx.lineWidth = Math.max(lineWidth, scaledLineWidth); - } + ctx.save(); + ctx.strokeStyle = strokeColor.getPattern(ctx, this); + // Prevent drawing too thin lines by enforcing a minimum line width. + ctx.lineWidth = Math.max(lineWidth, this.current.lineWidth); ctx.stroke(); ctx.restore(); } else { @@ -1444,9 +1431,6 @@ const CanvasGraphics = (function CanvasGraphicsClosure() { if (isPatternFill) { ctx.save(); - if (this.baseTransform) { - ctx.setTransform.apply(ctx, this.baseTransform); - } ctx.fillStyle = fillColor.getPattern(ctx, this); needRestore = true; } diff --git a/src/display/pattern_helper.js b/src/display/pattern_helper.js index 337003eb0..90a88a63a 100644 --- a/src/display/pattern_helper.js +++ b/src/display/pattern_helper.js @@ -17,6 +17,19 @@ import { FormatError, info, Util } from "../shared/util.js"; const ShadingIRs = {}; +let svgElement; + +// TODO: remove this when Firefox ESR supports DOMMatrix. +function createMatrix(matrix) { + if (typeof DOMMatrix !== "undefined") { + return new DOMMatrix(matrix); + } + if (!svgElement) { + svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + } + return svgElement.createSVGMatrix(matrix); +} + function applyBoundingBox(ctx, bbox) { if (!bbox || typeof Path2D === "undefined") { return; @@ -37,21 +50,57 @@ ShadingIRs.RadialAxial = { const p1 = raw[5]; const r0 = raw[6]; const r1 = raw[7]; + const matrix = raw[8]; + return { - getPattern: function RadialAxial_getPattern(ctx) { - applyBoundingBox(ctx, bbox); + getPattern: function RadialAxial_getPattern(ctx, owner, shadingFill) { + const tmpCanvas = owner.cachedCanvases.getCanvas( + "pattern", + ctx.canvas.width, + ctx.canvas.height, + true + ); + + const tmpCtx = tmpCanvas.context; + tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + tmpCtx.beginPath(); + tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height); + + if (!shadingFill) { + tmpCtx.setTransform.apply(tmpCtx, owner.baseTransform); + if (matrix) { + tmpCtx.transform.apply(tmpCtx, matrix); + } + } else { + tmpCtx.setTransform.apply(tmpCtx, ctx.mozCurrentTransform); + } + applyBoundingBox(tmpCtx, bbox); + let grad; if (type === "axial") { - grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]); + grad = tmpCtx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]); } else if (type === "radial") { - grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1); + grad = tmpCtx.createRadialGradient( + p0[0], + p0[1], + r0, + p1[0], + p1[1], + r1 + ); } for (let i = 0, ii = colorStops.length; i < ii; ++i) { const c = colorStops[i]; grad.addColorStop(c[0], c[1]); } - return grad; + + tmpCtx.fillStyle = grad; + tmpCtx.fill(); + + const pattern = ctx.createPattern(tmpCanvas.canvas, "repeat"); + pattern.setTransform(createMatrix(ctx.mozCurrentTransformInverse)); + return pattern; }, }; }, @@ -505,19 +554,17 @@ const TilingPattern = (function TilingPatternClosure() { graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0); - // transform coordinates to pattern space - graphics.transform(1, 0, 0, 1, -x0, -y0); - this.clipBbox(graphics, bbox, x0, y0, x1, y1); + graphics.baseTransform = graphics.ctx.mozCurrentTransform.slice(); + graphics.executeOperatorList(operatorList); - this.ctx.transform(1, 0, 0, 1, x0, y0); - - // Rescale canvas so that the ctx.createPattern call generates a pattern - // with the desired size. - this.ctx.scale(1 / dimx.scale, 1 / dimy.scale); - return tmpCanvas.canvas; + return { + canvas: tmpCanvas.canvas, + scaleX: dimx.scale, + scaleY: dimy.scale, + }; }, getSizeAndScale: function TilingPattern_getSizeAndScale( @@ -579,15 +626,34 @@ const TilingPattern = (function TilingPatternClosure() { } }, - getPattern: function TilingPattern_getPattern(ctx, owner) { + getPattern: function TilingPattern_getPattern(ctx, owner, shadingFill) { ctx = this.ctx; // PDF spec 8.7.2 NOTE 1: pattern's matrix is relative to initial matrix. - ctx.setTransform.apply(ctx, this.baseTransform); - ctx.transform.apply(ctx, this.matrix); + let matrix = ctx.mozCurrentTransformInverse; + if (!shadingFill) { + matrix = Util.transform(matrix, owner.baseTransform); + if (this.matrix) { + matrix = Util.transform(matrix, this.matrix); + } + } const temporaryPatternCanvas = this.createPatternCanvas(owner); - return ctx.createPattern(temporaryPatternCanvas, "repeat"); + let domMatrix = createMatrix(matrix); + // Rescale and so that the ctx.createPattern call generates a pattern with + // the desired size. + domMatrix = domMatrix.scale( + 1 / temporaryPatternCanvas.scaleX, + 1 / temporaryPatternCanvas.scaleY + ); + + const pattern = ctx.createPattern( + temporaryPatternCanvas.canvas, + "repeat" + ); + pattern.setTransform(domMatrix); + + return pattern; }, }; diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 43d39f2d3..b5912bd60 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -42,6 +42,7 @@ !issue7406.pdf !issue7426.pdf !issue7439.pdf +!issue7847_radial.pdf !issue7446.pdf !issue7492.pdf !issue7544.pdf @@ -101,6 +102,7 @@ !issue11242_reduced.pdf !issue11279.pdf !issue11362.pdf +!issue13325_reduced.pdf !issue11578_reduced.pdf !issue11651.pdf !issue11878.pdf @@ -296,6 +298,7 @@ !bug1028735.pdf !bug1046314.pdf !bug1065245.pdf +!issue6769.pdf !bug1151216.pdf !bug1175962.pdf !bug1020226.pdf @@ -365,6 +368,7 @@ !issue5481.pdf !issue5567.pdf !issue5701.pdf +!issue6769_no_matrix.pdf !issue12007_reduced.pdf !issue5896.pdf !issue6010_1.pdf @@ -378,6 +382,7 @@ !issue13271.pdf !issue6298.pdf !issue6889.pdf +!issue11473.pdf !bug1001080.pdf !bug1671312_reduced.pdf !bug1671312_ArialNarrow.pdf diff --git a/test/pdfs/issue11473.pdf b/test/pdfs/issue11473.pdf new file mode 100644 index 0000000000000000000000000000000000000000..048586d6feb03b0205f09d55c468127b347e354e GIT binary patch literal 15028 zcmdVBbxDjbNM%i^%V549tvNTp$)sz<(I5j9i@T zK)}EM=mMBDlwC|604#q;IXPJYOq%~+SIN}b-qp$2)EU6T1K{HWATY_8+L^mp0N6l) ze{Kj&VwN_4vjZ@R*%-Q*ikKSPo0uZ-@gX?7IGGySB6zIOsW4BoHZ?G-QmZpBu-4Qt z10fM`sP_UT(A2P82-yjDo*Z)QiSe7r{ zoa#LqQ{BD2{a@q`siEkgXu-e+q2Vt7s}7+58+2f2{a@;U8Ffd`Ku;fq<%AV=|An4j zW*pNcpf@GOObmewp$8!V0ql_u{`0@8!tsBDDs1fkOI5l#zslg9;%aE5rP1sG!u$FK z+6h7oLIj|}G9|ur|5r7D%>S<(|Eg40Hje+}N*ze*unS_w3~}clAT+Gm^*f7+Uy)d+ ztyLwYCLvc6QW6+FT?9>&qL(8pk{bRd(2wED{emf#S0m)&q+4Qf-HXXAMc?@4Pc$9P zcASH7<)64;+q|Qv#mTKk%_+nSMJtP7SVOvnCTNfAb7nA$L<5}sC z!<{`3$~?}CLg*Vos;gOMk1*4KkCEpcl8-4!e>*aT6z zw>FJ1@oe+z5r@I)uTUT*>^gR4GkiJR6nWz#uVo&cV*Iz}$$y-SoggATU^b{Lij0 zgjvvFN@jKdX@3?(fgbQLE`s^-E)I7tFq*3Zdb4k*Xae>{PgU|zKX8&Ox)qg@wfS{snH2AmYox@`bC&eyQzU*+&wr)Lr3uC z_ZiYtVne-BdZeZ#mzrkSKoUl3zd0&sCm5~vnDxZ_>cn?2HwRenPozo#1L+F>j2ahL zlX-}sES-QGCBMw}2!#)_dKe+FH5(h7_O~psJPfcSL&LroaSvH}@vU5`2mbzQ!Y428 zZ=4X7dYND^ftCK%{L~waW_AK#{mWQKr|O-Fkk`kOAVD0HG zOJL&!Yc^mH{1St&FI%shhI8WreyP_e`kpn(kp7?5R{BGC)e-9-lwj|hV?AI`mm0Ll z)s@f?N1wt@!XP_Px2}?J-CZeaxEAnEji35eJpE^`X#G74Zl6SC!=f;I;0-E}g7h{Y zMq~O;Rs2ok$WSolT)+K4eyf3vSBu~Bw=T}tJzaUZ{%%*gk;l4nb^hQkW?Sm*xrxQv z-8ukI_(1L|JrTs-3dkqYo5d}mz4Xp+v*|g zh^ZgNpz(=g=fGPO*{!{%(J#4{?k*NmYT@S6$;|A{#M#`k zVGN*TRWXCA;?j?#LUHTR+(;T-PHK7 zzh2Q}F;Oy;t<}w?q9Q);MyZjV=Et;f%F=mep6lFMYkeH{ntMp0M+%#`D7#d3G?JgB3WC@1eeWl3HUkao*Rt8tO}Xn{_fH!NoU(mwtcYMM*dfqut_ zur{rG4r-sC?95L50+&yA+_x-O$!OQj?pUHUP+{hdVs8(7nmv2!`{j-t#mD>_OXn3C@ zz@={LiXsjz4Vf^H=K{Y(wArLn+@oHBn(Avy!>sr4QH_|YwwZsY%w?g!LPxYpNI=!r=>yC8uE){ z*P2BUyfjJZpq9g_m!F8g_e|T|4`^Y?kb-z@FQ0BTVj9O9wRT!==V+Qy3e&_NP9b5* z1BJbxsu>kVqOOq%8ZPC=*2&0Wj5*jmg`N1Dx=@BM928}fv0?+C-RjwAqisGO zB$Ruj|8$ZdD~l^X`C1q4t`>4Dhqq%Q>GlLVRqq5S{GJM&X;%^CP*nBD`53AQ1&hf5 z&1-v6H$-vJ)w1EXN!QrRuE5|oOyz`ANU*WlcXi%tg`MPN5-b-GWGodtG|_R;@10me z!8wVS_OAF86lbj>NVI8Sl*Gn-Z;G(dnRohHtxaAfmwN&EixBxspJcnJ&8|rw7A|iR zZbyR3)so?27Vkntn?8Gz zlR0;B6RNO}sR>1*=(a($mS%}{)Q6M`Nt}6bh`UFA3VvMIJS}-)_N8MQ}XdqRc$>2#Q!{kwjZ_su9CP- z;1RUkyi`RnM@rcWkhfAUtgbJhdj&rf&PXB0OA{NAB>xVXne>zEXX$WVrNonUTz+D>z(Z+4vu1En zXRwVLJ_1+zAv&*E5vi^QM;PsD(!(JFkte&ARa;olYn|AENT6#Fa_{DBcYIITs;?0_ z>A*IZ7Bb!``K?s-6@G|efeNKMEdM@B43SW^>SFL*)|F+ByCuVAXa1vGeyUvi)h7;v z7RLFAvP^HY0e}FnZJC*;aWXV%HUiszAm(0&&mWD=udSKlqDkpcqZ~&HRB{;0Sgtn} z6OMJ{;GuAK%cV%GDW_%=&-wPSYPM(=O%#WUUD4UjUtl7AG&kmY)mq5cir;mNl6Oq= z2?YK)?5u6=G2B!5(*aY)?1`S-jN9w7K9yX}!?m*Pz%^oq4~ZHUMMr-7rkm zsXncCCp-imGI-5+J@gYJoUs+ zkX;)v$V3qk{#fDb0x3_iqvS77hZ>f$1^s1^N0TQ0x8BUiuRw9 zl##m45-1L|El0%1=;?j~6?JZi$h^-TCEikWUFGxrQ3lRKWay_vnx1RVc+REeP0H&| z;0)F$Js(#&Kg&M{1xFDt%1shMbZpCo;AiP-^YTeOHh&|E2*H*mF7e^l<{mq{Bx zOdE?_dhO;K5Fj({U2KBGRil%Q;is>y?ZDUUN^XPzN!TWoEXr<8*grQqr2b8s==%~O zwpBKR4Rt%C7)8BrHMMg^y7kA^zH*zJK_y{FwyUW5LBX?$=Qx7tuJ4G<=y=@r;A}Q- z>Njq|`5NN9B)?h7w!B)0-(YcDMsM3k6_KVk-*Ea)m8sB;JU8?@yXk)_rF@N7q+hTM zXSFivSxhkC!20<>ZK|o~YvoBX&1zfl)XqKvvlKIg@l6MuOHQouLq`J5^RRhEqSLDK zH|Mr|bB)O7ykuK-gZF*27q_#k3u2+dx5!=Yo(4kwWe6;Xcs?pk9zImU$I_oxAXI(g%qzBS(P83-_%Nq#kO zbc~faDWt{9ya%OXrG!`8R0NirZ+Hi7-l&GBwxb0&)eh3?QS_HoJBEp7ne-gR!wZ`> zSwv9NiIIiN>{~Jf^_h&fEp3QD7f<>d%UgA{Yc9RE0sq7h{&}WCbl`M)xx#Zl*ci6HDZ5j4Zsz4vZ3h1k-IN16+TcAzqr)rVRFXR0+G*{UJ9GT)Rld5oE>O06qy|B%<*7{Kj>d?Z-J45z*OGewp4Ma|g5};? zx^$5E&xCqgch}ohtV}ZPZB$&!_)Vizex_FkF}hpRr?f2^W9Rd+lj})bj5XuI`-n3(R=AQ<0_kXGH$=GTkpAcEHvBUq zJ~)o+`WkR6Ps5_1W5RV#mou^g5RFO!}s zr!oB<>fWA;Y0_&K#mimeD}~IMf2yIT@QjU{gUm z8yoe3;41Q%#~=@bRo5zI%;LFQz23C5j^On5*iE8FN-k%wbO`pf(U4>Z>$V~3-&FBG zIBOa9)9%SXL{Tc6p7T#T5L=QuD@r7Xx{57aB_Ls>n#|{2Gt1ES77!kp!$@wP_p63K zAX(`Vy^73@ZVlR%4wE=2Q^U6QyBW#v+~$WEe*8w@sYn0DNpVt7-9AFwSu1&zz-}kh zp^xpWpJfn5<2nDN7+)arbV7qtbLf4@BD!BHh8bVv(?)y}liT}4y6Z(A=o0KR)n38G zX&#LxG6yISX0>ZYUkdG}QCW?6@4ct4LP{wyPkg80T#0Hfx`4vaUdz1`O#F4sb{cJv zqR@^3@8P@3j%rj&K9WR?6bNo>#Z6_th$AYx-&e|%g|?!Op>P2U$oCC z-*bwdxp|*itzY!f4EC>pPRk>Znvv#vgLW0?LSl$zt7=weOO`E?sJB-H=q`Ime8e%* z*D}-Fi=gKPbo)YjcmwC7OoM2d(mLA|jESi8s)8k(7TRAMa?Pvn6a%Y`LeoY(g8|+4Cg24lN*TjPL5LYQwt0M^)zB@^oXN8vC2O;VP#?nyz|R=M;K9^@X}^8BmwgyS_%jj2_)k)+un zqU{T3TMJ(BXP}*z{moaEZi*YgySX% z;dID#UY^e@eTPLUFy9Tyf_wg8Ug`+-J)ULp{hr87GvG&bJyG>m<+KZzk8lQO6N?u?>$L4j(i3f*2Ki%Wma!6R%_RysP?%d7P{SadMT%{-LQbRvy;)-b%2_2 zk32EnX8oI7mzPr^;!(4CPYM3a(n*39u3pXU_aeZaZ2xCOi90);ruK%lpMw2chtfjw zstAbiy2&@-eHD^2nB5ES-jmnN;}+92`_%Yvo967@6O`&-L9XNbC#iO=71xGIvf1(Jj=0v;UOyY|fmWLAF`Yq#J={p2XKmW{+HSkE=YXy~ z^*jNdJ~!Vepfg@T!L{=Wv4ka1zzKzT&fzS{gTdHmR<9}fVNgGDfYa6El7EVrFi1qw zWdxxJrxsgcRGZFt-_&+*u;V^&5G0EeOO0OovBe|L>G_hBsUOF8O6Gu0At?aZ9}9%j((>82s?r8bzkL zGD{_UIQ{by_0>}%MzfxWib!Tc&bhV=DNh_vB}S|hm~BIxGC6wcM0F9&&qhWiICj4R zolTb>f@<)(@=>{hkLf)expsYi|Jc38JM)Yjo7M`6>>mE!3*#HM9j$0dRj&W{o>KA~ z2Dem^W9;RR-gr&RKsUf8_=Cud3Y3ACy2z|)#?8IQ{!pHDxJCV{f^=@}_U@27yhpwK z2|q`K%6OF!ZmQO*x^NvqS)4I8LSvkE2PI>rpJr^D?a*M`!pNRX5rXUP(T4Xgwv?pk zzO^pv5Zszh-);2yedd#hL)rvs{O1fl_Z+h|u8Sflm$H$k0#}#qFgNA6IOa(@r{U>T zzj#{Mn5jTZM%u53#ow+{5WJcCN5MUnF3!8!otK}nudV|0^&VMzXsbDmA>3|F&yEAo z%(pXt-5DB=W`d{a<0ldBuB%*Prm%SczhU1G)5S|XZp+)GPLEhneeHk5n#PfKC-Y@% z1Q;?IA?g>G?OiC`{+_o$wLUTQ`Q9d?k$?9bV%>1%AuPqR*B@h4Km>IsKaD zVLIuM-_<{2ndgEXhvwY?4JtY4DOh|#Oj^n?CS;gl6T;*psf&0USM}kV1UN6~A)S%l zFqc~iSzsA1@r+zlav;=(q;fNoJ%vh!H2pw^RUxp{s4Cc?@nhuRb>fnn zAt|SEAO|ry3)Pg~1V)tQueS86F{lhq8`b|}jYM4WB{?q|`jfbTP?1n2LO zAwqC_^f3~Oo>sR^8pKZx?yPJVoEMJvL_w*1Jjv+f+qcPP6M5!C;qvlbSlt3elf_-L zNy-%9dTCpu}VK&1LxXk;Pg`#N*X9e`mO%W-hb60b`|RxsCqJ=E-FG zQ0X8^e&iwg17EsOpuV}BciJQqigk7+%fd={^_g)5#Tg8ZcG%jldPaRQH*Y2pTvd?$2yUpB2@yHGK?#%Qx zcN(zSPE?%!4Jm6FA^@x+0rz#Gm(g)D@%OSal1dDbVS#)-Ok)btZFnpKZs=I!)82m3 z;S+XPWH5NFdm0~{aGaa=LwKjlHSgh}M0-R`c!YU@A#^h%r6>Zi#ole}bgjwx{L|By zB&OKo6B1XLu?iur>{f^(2f;|`0_>|ly|27e zF5#_)sKScnIS+>R=RCOKX-8u3np|PhtxaHRi<9{$aEp;7zORj!42H6N+s#8$vR_%h zTMcOhZU8pF;qX=7Or83*EnV6^Pt5p`27f_tL3t6~_V2&U;w;!ldceEcpJ8rARbyTL z){F9{Q4MdQy6B?9q~K|qhwO1ZD(&xHxL z{$Ot20F>{gw3syU+L(NAecW_;@&no#%pVLr!pej?%Gr^WTBYGFChd7@P0gC6R5H}m z1qM2&thdN4{8Lx%62yuH7FA7-c*k~)KC2<$!l&Cp6M^MRsv&!_lUat`ZL_^F^!Jh! zQ4vN5?4DRHw9%h5VpHQkJu5joeG? z4?(QAmnI!zPr`Se;Bm%sGTni)C&Jt4%N#v@>+&J-+SNXi)yz7{?*ukX&qDh;teWd= zX4^OOcPI7`Ms;0abeW0rT{(Lor9cH#ftNDltyM5)`X$cKnh8i+1QJig?6K^@rwkPo zieVaCNByXXfGgkrr{_SovDWP?D_dnOo3%m}&;Cn;L?)3}NGdq9R4#I`U+U2L+ZTtj zl(;~iN7fHo{u@$k*f??6=66R6($yy#=3ySbIBE>f5naCYg7vLTg>@61(F)K1^pS?;qC`q zEyxv)gYtvJX5MDKre)2T6TTsOs#V!WK)LmQj~_Q`sxcTB5UO~Tfz3|Rh!eVT|3d)J z-!`P?_5shGdC8R!#}pBd;E|Ae4{otx4@G22G_w{cBqKsziC1#8q)D_Ee@!gKv3s4v z7WiFg3pfU1^+rTLW!6axNwt!p7c1~qRPkoj5GBM`S|VXGgz&^lyZwbXw|*zFjy$Xb z-V+Q2;V8lJtxyOZe=uplw#Q4z?k1OY6h7)Aky9@e_f4-RM74Dw3#C4Zo*)G}lAY(^ zE<3fl6x(y+UT$xn%HLFb&4vK;RUZ+BZ+{V9;2*+1f_iSwDYezbDRjsu(_Xw2jasdp zgi<~LlHJJGR}dkrj`%56IMgu7zHJ{?FTrxf?8qmwJSv`74(l=@nzP(W>85P zuF1$Ef_gG^yW}fP!eF{lBl8#-D6jo3aW(a<*Rx-BYvbUk`s=OmRkVL~e74$F-_UZdU@YZ93wnAH81 z!pYuuH3617h0`j2^7`csOW;^^x2Q8RYz%*Nv(!LqTnD$l>?HiHWZ4ZJt48Cd1ghkC z_2QajM|nrY4JHC|S};atUi%DFLsX2GkCSSzHH{r@;qkT<$oiO)S9;Qpo*n1}Q?+*~ z+&-|;5khA1P}Z{(U_@8P)#EYUixrKQi>m_NcZUZE`=ODj?V?I~Gy#3`gG>}Du< z!Th=-+%d26fJ-U_Wj`%zM{cQd2i~`;qkf;X)sEkCa8UQB`0nM9e8VNOOn|$TNtAh$ ztU975-h_tyFg?~e+jPU*ADNF5EJ@gSS1GM?+^kB&PkLhH6~|dsY`=)D3XEeE5U+%x zvO+q=J8SD}4}&Wqw&t#4VIef4G)-58C61cd6{1+sMd|DQXEX^-wxF5&Hw!lP&!{hX zP{qq7poA?Mc)w8&ip!o~g2N3SWY&a7zHM$X=$+*9`Z96KrSp4w>@H$>y)nL>hEI$S z-?ku+)ocgTG;Y6t8rCOMp`VDe=~*5Z#wARo#y@6=SJcbSYQeNE#OtXF2$^-m*!RnA zrg=K&dgG%I{Gz($OJTPifz}Rx3pp<A`^Ayy}))TEb7ELkuNIBL?)TQd5Piw@~AjI%~NLZd%=>(`YFL(zT zD6&$Iy^HKm^tKElq0(b_pfA(@lyOiFQlszoBUYzmD5WZz_++cQGz35@q&uUu5q8#K@g1@`^y095{ViE@u~VU$_AbPxLl(cV#CoD7y?t9 zxl~=;tNrHlKEKsmS9I>Cq}7UbZW`)Loa7zfz+>I(s6!XEkm~0!#qT+xxw>$(uI$)D`>?~}duP{*5en#O-8)^hMb$|(GUIa5E0w%|@!^=2qgWH!vtfka z1H<52B^%s0dj0yCYhP?9-nm*C+is-*Rf;9$P5ezb!#3|T;nd+RgxN)1GOkgW@d8;^ zZExilTN(;gh*%5NcGI!BA=wuT%O#o-lsWz;rEg?tOgPxI-WDxOnD(?kjx#LFCy|uU z>s1F@t_`{6c;&g=f|L2su(KLrH@`lmv+ZV%Sk-REiXXL>2bBmcS!psr-0*$xbfERV zw^BO;SxidisTHH4B&LdZ7Jm4HX|dusrpZAprfe2A55-N*{!D3@@|LnzPBZZpsr5_e z_e|hr8Y6rq61J6?grkt~yOFa?cW)V}yWW$oih^aQDp`5`h8A8Ba-gQPEowjEcKWV| zTN#4ezKdNN%x75cIG7PwJ*fwE&!j$mRz)lr!W~5!YB5um5vFnM%!)nC-(txq!oDYY z6x}JlvOzY+AXyXNWT~gm=FI6&H;IS3YIMBh<%$)7IKI@@#*rF~!R85-=R23R*#4!c zKjAy=H{+TVCX@RQQ6O9O5GM`ERMBP7Y@5}N5r&-gJw>KDY^Xv7@f~!(`eG?!mZh3j=2sljNU=HLsFon!Mo@96+|cSNchwqSB8w$$ zkk8}qAYhtPKHlwad2SX6O3jbJDv+P&P{y?312xkkL(c{IcZjlrR+pZUc+72%;(BV_ zI(1$G>vdO&Hfk^zzM$^g2`>2LfVr`Ljm{SdmHq(pIe(I(VdD7$`T+w!scNva9fsV8 zNr{p0PU>f(TAswIwpDbq0*VSf0uCrEJL-ZmL8y?T4CLK(B4UHRm3GXUd3awm)*6Mh zIGPcm&MRJQ4IPfAL3{KYw0hP<_mfyfei#ZbT|@q+;1qlvsn0Ep;GbD#Sho*5YS)`LNU}T8BH$=TujgYDc!b-3OPap3qDL*=vcF1lhzuwtOtx)a! zAgKIIz&v3Ut1ibAuAulD`}?H*^_cZ%N6<(tFf&x&C*$nG+XQFiK81}{OM6+_^}3=v znJc#i@pmKd8I(>W^R|PVwJo(1VjZ($HI%)Bb0P#0ggiV#!jIsHUtuNVSYx5tR?^rc zk|!4?XjWPmP%Xyf6SpB@62&P(C+Tk_a96z=o}n=3&VeCgg}_A z%fL6)O*gCenfg)CX}=D9N=8T=Z)l{`n0h1yv(~BckmKgt-mk{$vr$WX+ZWUhiQYtk zqcz?XLHe3dwSZxca}8-H&BK3k0OHfZEx~cdR*zTy7G&4}@-8@2Vqf7E<1fn2PM=zr zW7~htq|ZSqNUq$Y8Up5{xiZ?bGQ zdkP`J6P5pqy&<*e9p(u9;sixTZ6<=?&p|99_I~Grx+(4b@#quoI2ElT|86#X2ok-9 zo&x-}JWCoTc;R6{U%zCuq=P7uD}Fi-BSZkC0ufiGXMmgrx)0)}TSK$qovGFM4l`+z zT*y$`R`k^5@4d16B}UhwR4AiTAv|WGoy+9HAZPMJk@iTutY5}f?yBnUlrHgTN9qRy zKak!hR*EQ1W|_NY0o=Yy6S^6)M>mT>6T}`{g3CAHOX71K@>ZuyibL(XmXmySte~!m z+BqsT1nA}y!yZpjLF{k0HxzufgMaYG+n9P2;AI9$!J-xN{et^p%!FSkO&jW`_eP7q}dFZDk;=U)=p#v`um_5CW zYlyK;8LMTSfdoY-!`kjkq!++9~vC*FE3sTg;0yT;RzTOOO zamB+z?tNJ3QR#|tIN*8w7F`g?W&Y0N4BCc(#VstgTgfP)2L65ilXgl98S56$jU_Kr zqJ!|o@xkQeqVhn3;Ktm2=GgOvdbrOEZfsHesO}rOr26R(KJ=aDXJYoKl-ynV*#-Q& zTS1?GtRreH<+e<61WhbH;TBIj{c%mA{1ipjlsO4yxk&oRf_%)YdZcu*;|^y`|+FN52{V zn2|gb(;64k-ElWGRiD8TuHaVAK{?SzT)sb2Kb$%{PA5iQ+-Dv4jFkt*_kJBXd8h9V zfzR;nqDBQuVK6@H#zEYZCXu`gA@KLT8k$B66=k0c|2*BiE|Mx8@qM4X>vg}rzp$}I z9FBKbhKV7%%kU{QAQ*S74P$jiFC`)g_n@!u-6np!?5(cCW4bU+T%I$*R%UBYaNnJ$ z6Cjz2Ikpoz?VE9#D#MTUHfsB7;Xy$PTkfIeGC8l9-tr@KGTw~n)s@R9FO3uvCfwbG z=AZ@yf@<7kgHFVe)Zg^;EVZs<2)JS>buTn=a`3D%mn@e9ExKywOqn6`>IgcEVcA@S zta^WQA>JL^5xv4*I0A0ePaDU!?;`bE!$n7@e;RtiHmWnl0fF|!&ZV-p6_yz^_JJHG zt|RbKmV3qz+uMXy2nZ zQ8tc*rPhuo4v53V%X?~CTO>Br>k;RiEM5Dw$iYbI7vN_;D?Sg&L}QJK<(=qS`%qz* zmoRN#s62${hS(EUcf3AEB&6I@n~mIVuttWQQbx1GE~Bky6UiVh(mq64Hnt$=*d)3n z2AliHTNhLp?5Mv1jo9!$4Jmnr?lWxZt4Z-GIp^ZMOqKy#zW7-CS)dt? zjkVuBWA_(#-iz(UI~fRkpo<>bUk4~xO|`>>J~{0kiErt!8eQI4-2D+F7WuJwam`@r zsaAhfKTtaS#qa2kpxU3kcmnX*Sj$-{-!pa#RN#|)tKSo=oN=J2-jt z!ra)HD#>~m_k~WFO{uR;r42(%PacVTJb`bnAkqtIH;JsNCY1tTo(>NlpL|o?Z`fpZ z)42}8-JK>^3Y=~ax2RjU3`*1x?2sudx3(%TA9C@#-dmk3L-M;3xDeR-8mUj=oC@?z ze<5o^mx=}wgzd0RhPCne3KSKFTt%a>aPxcs$y>_(c%~(-z|(&vMVmtv4TN#g^AmL-(cX2D zD-WWKSbW1B6J2;%9ffB<|DH?^erMDpquEspcfAI4Qc<|#WGM#&xBNYLx|L83tewO`Y2jo%O36ppM=8MReHqKMEnpWX>r6xwfpFljg``))Ecbz;fE?%@Q-HyFV4 z2^C5{q5C<38R-PHF3#D5nLc_?p^0C4c>EK3cs5%TxITVTBUBsDfI&P|GlpW(NS>vg zqPJS)q+oqQ;i+(0_K5TjH^y~+O+ zqT*!e;9zR<7pgL}aW+L@Qcw}qU=(w;u`x2Vv-?LbDi)T`fWM!A&xszOX6oep_t1aA zE+89_or?v;&cMP5`d6<1mLWjK(#;gW@)s(g0a!a2x>z`y8Uoz@xemnmcO}g~xUGM3 zS3s8kq`|*qX!1r@$}YADOmYC=Ul>8m(#hEc0Al+OECIv<{68j5LR5O}R++zaywZ8B zG0!#7Yc>Vs2_!PE*ECWm{31l%+xnJa3}{5sUSH`VrooM#C3K53;N#^>VEIWvIt-W+ z5FnuWVL2rzltqh*Q1nC4V%ifyNPv+Y4xaQ68k|@GXW9fryZ8B*EnCHOu&=hpvc|AR z@i(;H$+#XyYUN?uF<9z&wZ~}E&Qzf6^InTk6;)NwX&TtS>h`MmsC>%#2LD56s7g$w!_h|A6Di zoCh1lIQSJbr2=JM+Xjn=-wJNE6`8*Wv%m%XD*8AuH=i>u12e4nbS87Pt*%XQa#QdV z8Aig_c4C&d1^UVPPEjeYzw@X?m){_OB83eW>0;U-#Jlp^AE{{x1jBviC=lt#_X3s5 zJ`!QVBAVz#vvOPLN*RP{ruSt~cKo$Ko-vFVlB0jDm6*O1CIbCKFDew(gm;d+jri&L zi3-$(2FZ^;#j^wMTj36A<3wpEpB@=#S6T&e$>NFp0a0j2(f8k!H`jl;v^A7W%@CL* z?MzJnQj^Soi$oWJN!iltALW9;qz=#q0{-$if5(*U?Og!Ce^6&i{|Gm;2LS)kEB@h# z0JM2PoFGw$cDl1!}3oTyZrTVqqGNL-`p1~H7HLu~QVup&QdTbR&w_%eAS=V)TuA@! z50#DMUxSE)46F@7AN1@j?ZHEeSz9<-TG^AbvwW}v8JZe6Slf}Z0tE$GBuykSh>DA`vT?IZvI2S7**G~wfvf-?pr|CPC^s9s7!R8uzZf?Mha@YH zq$oQpCp(*nBo8-_I4d`RO_G~Sgq=s6NANR?jFlnCMT-k8{%_jInv@ePo)U{3$jaEk z1Ux+8w=hnB%#)2p$=ce1l>3hc%3#%yaspUXTx~!spOipGEb3aUq(D+uumbEI>_B>! zs7NNO`uc|Gy1M$hi%67smR>N2(4?I&h|&NCuOEn{KS{*vaUG$W7r5Cc)^0fh(>L_d5NF|LiQ&jXF%>Q0#K=_Born8esM@iQ8{@2 zwLE{PcT!eX;6Jp(!^5IX%EtXaCakL)p|7iZVGQA8y@vMzk^;RNV8c!tEF;1SEk*>L zjwhAZezoq55{VFNg?&K9$6lMC^hoKpaL1 zv0(ZzbqWQZ8?-m((f^*?@Adf0Xyri;dWL!qdZes>tkDNOV~{=RZ+lbvbDhM%?<}m1 z|7D{8Hdzrn2T^MmEdVos^mpOl;a~=GaguVgvodq@d}a}~0D%nuQv)$;D+iF3gS{5( zAA^HU=l8gztZaWi*#CU|Aq*+&A4Ud-%b%5hSkz}0F*|FU|1^S>owcJ4DaW7oCl5x5 z-hXNhMip3`zh?iz6l4JUZQfv*$ykYl>`jfWz@)gffukk3m5ey;%PWKnge8Ox1T%yo zgekc2LKr~kL+F7E2!a&?2*Crv^v5?KxSk1u8%(o<%kMe^2mrVh6SxgKgc11P5Zr?u z{7nx`@j!6WvB>G!JIGrbni`pc41W(K4rUGncLIVL10dMIpPb+)7x>8ouH%Bxq+?NV zwA2ULDH{D=LKz2;rM-;RZxZYq{(NKo#~XXF4^p%rg8GyeVfZP6_rvdmq5KM7HfaqBMA&{z!xQex$wSk_4 zskN0j*skRDY`_`?Xfd&Y&4wFnL0sU%1};n-T-?k+PHs{*9#&>nZdOtzHV$rPu$8d0 zvM~dBz+MyF=pSbHn`UAIa4>UmbCI$GS-}m!#>e_EuAF~yWn<%DW@lsjC)0ln@_#Yq z+Im;|poc)9;*BMEjHzqtXw07%*Ya#Jc`@=wkxD&VGn_EJ#+ zl5+g%(^OR0z_IEt1|Resz=82Ml0Sew)}K;*VEq>buKbhN2e7&QlLYhnM=hAwUnIEl zum0e=zbN*9QXK!JIR8n3W9DCdx&KLlP3Dif-^#VKHc$pRXt98E3>FoTivx>{B^beC zpIJUB>YITKe$QOe60Dd%CIfy6CjW4fU=pm-Kgi$901mpp)kq2swRWbK|H>a>v7@Xn!74JE@e`hv8wm;(qSWsmL%YTn=!=Ee_x46+? z7~)Qb%GA)?mm<}qb7AY8hlVT{wobCX_19_qD5F#*P&hk1#itqf&&3*-aaQRJ6JSf5 zA7eAn(&$aJlXJ=A$D9RXvu!X=rO41E;>cxwR32d~O~{oT(FY}PGD-&5$=L*}efl^) zTd`$O((alC9^c2|+b&290Lp;R)r1FN34T<_$#YrDeSjHd8T%4V_|tWRM$nanK7gI`H{$}1!SP%u_O0E7Pfg7lhvtgRz(x<$Exvw1riipBM!&dZqRC(mfH@IHmBgN{2BGQ!T4OwPsG@gW}8kN4&k z)vM*Y`7Ot~`P;lF=pF^(t}4>)0nIXM)A-P!1B*|wHesR@olG-s!Yb~hBx$d%SJzi! z<0lNS2m>Ck!5MVhI3^c@?DdV8fM;9@9@_Yxu1CF(EXf znON%foTZt}0*WabLoO_kBq~JoZaf8;^8H%`IU-pH%GC!=3RC9Aw}{dhvFx==fT&y* z1cpJr-q-KxSevRBgN0`u_SbpmEwY{n8%sV;=>pb)i+PH1*%K2s-=5w{9OuJ(5|TYp zh)SO`k{wO?Mf_TzvL_9=BrBTgnlpRK6t6fnuA56#rqp6iG>Nde%-hB4hWXPv;51AD8)4j@*=Q z0edo;S(;w~5;}+6I5(^1eVy3!H5soU@$=J=%l9azy=lVnK!+=On-{=QvW@8-g*L$p zBl9zyHt!|(lWy#OC%x+kLj9FwuDD>&VC$Z1h;#6nl`WuSF=_{oyP^ZSP66l9$y7Xm z*U&;@XuAV}(8))wK8e~2#B@ere~D#;F^-roc~CdqW}v#O+^^;zg=(gAAKMo;pUoHr zr6Bi~;$yMoK5b8T>8zFquf?0pmA>Y)gd{eJoY->FP0r`Gv!?`{+(;R5DUg$(=R-5v~AvyYW@hzk|Gv0@2VjRGFCgF=Ex3m z8EtMcT6*eli$dFkzjxI^Afho+`{Hve&gv^f#`{j1AoYWft8PJbJAa|5JNHDA|Are;DvJ&y8&0rKQuD?Nys zMNQZG&skfD)>ec>TW_1V5aQt(gc3}-9-@mwTozVy{3gPy^O&tL3y;h6Zz+yy$|nat zdlN^ZTg~D7m7GZCHviZUnQ)(gX5$OQO`erJ?$vIey|S?r;==3>D$!=H;$_KqF5Uk4 zd4=)j<^@9+!cqgDnqF%o_53O{^s=>e z*F*Pk`K_J+iecM^EGeb89q>eFV$YW9v&l=35hG%ACeZK^MjcQS&p3{lOiOnZ^&Lg>?{Mf zgJhg`GW(G0UedlMuiJq0ttE^S~SvQrIG7i!X)Tg>tk1^Z*Svz(_6+VHB z5v0l=c%4QNA&~?v*I(2gaGw1!(hIrK2Cke~SuD96ku zjid65(>8?Du5d3*=s&3*ZL*t;x@w%$Tx`F&%dvbf&Y`LO){eo}TV!@3F1$%g%bDYs*fdMU zu{BE_XkZE6)*z9%|KyBGU=Frp*^r!--OXS?DV07n#lx<&=y7?-hR=v8`r0u>J`toP zfO0GAxZUGjE;~d1S;2$(fU6xfrkS`ddj4JfPS*uVy0vVnw-p?0gUU!28eCwcDk1Kh z-0`<|y;{A`b^$4HUucZ4xQsAZbdCXr!%`1XeX)y7Q5!+ zj!oL}T&HDn*6k4jcl25B=4E-1$ZaIkw+;LjS*F2v-A~yQtXab ze{CuoI#ANIYw9y+88Nk7xAFNnZ=o-4*41LJr#Pct5EdxJiEtt%=#choe~)spXGYnX zg8yxNX9tFdjob;!eHydZi}j>7&O1%fUl>&gXeQ^+iJ#YY%ypy%FGgZ87L8YLgUw8= z!QZUi`h(yEW6@jT!_aayS7;;NqEU9L8thmlY*>j>ll%ogR7a2# zgbgkv%6H|Ogr=+~6c|3?NI{w1ROx<$!%TT=!93iqd8y03&N4g9lrihRhS;!mKUN9* zrHp+w&3Z|TZ2q;wE7~`$hK5}a`ML(Z?8ExWod)c6>-q6k1SNO#0Xp_TH2<(PJv=Jz zQMe~s4FM&KBD<@4!KH&0kJ2wK&Ud!cCl9zc3Oe=9iU=>xZt7!hyXDKxH>XFbg6+=s zSy8W|SF&JxL@#sT`Wt)vz5V&G_Q=HvJ_r5Bv7&Tfh^m&=G63c2md*jPI7|HfCgQ{A zD+I}?Fv*u6-rti2X zn~ZaeK9&tt!HfL5Df3bsy4@M_0oG8tEyZ)Xy)R!H+fj$=77K*0GX9pERp6L&-1FSZ z$l$uCFTq74za;I6>zhlJg@lcvVaARIHB9V%3QN}*x)*|u7v zzl$bL`OMDV^2FWc>UC%nfM8WCC0edzh;GT#RC}!X#@6kzgbAx6k>AJ>X9kwShX0cQ z|5j6ld8t@KkP4Eh-bg*s7W5?UBo>X+P9Qda=Te*Ci2ybCY0MwCSHJr2JjYD7=YgMk}hMGt+#Ab1_(sdmOBit%~1#3*INb3Rk2*4&}k3)lO<@T|YGi7vyZ44Y1=GRLE1 zkC_ydf7Rw^uib@v4d*WTmXTV#v~Q=MK569@oh>AKmumU0#ci3dCGEs|DBoaF_e7H# zD(oHdF`L1-S7~p<;fFcUatSK2jUq!{%1Bi#>+8Vde2L8Iv2d{Ow%uNx?eM9-7`C1z z6o$jYdCF{bUAEOwCDF!sVJx8vi<{`=ekyT0^A^9oK6hznYt7->xLEb_0pNm{6=z){ z@D@NHA9|$-hEG13lhWV7=l40me}@l{=ilKottxK~cIT~QXZ5>Ns}vT zRl|sq<)e(GqnfUmmcOHI%#ev6pb3z8`mH3lj?eW~@Dcg>y>b4;PgEF+6RPySgdjAB zJDEDSi%z>0+w*?&tkrt*GEW3AxPIfkd58n=_4Ql;iHO3Fj@G`9(>V2&%^aO|le83- zc(K!LU8@b$`RQNKZ4_boEQcv(TwkG=ZxFs4!F(nS%V%wWA*m1}N-V|=YZO!^rE3vk zB#*J9WBz6PNGPTM`0!wCfoWmH(Tv6AmM)U`-d8&}AHVjh{xHVkAjeQVA7POYvCl_; z2TqVCN{v_PAR|ssTO%hnHoViuD8_%dOu+x%*s)#2c59a0LvwR^5Do;zW1ua{uY97D zvy86d@NMVaP>PnBF~V#5;S=D1uU-?Vid$AXbrv~}Kj)TvC~$0rbX>j$pZjI|DooHD z!aIEbl4p|1a&KaG9!bG-Ffq5ThOU{mK_beO|Ff^YN{9J7s`-cmw|lFQZUqHIUoM&GR|z9|;Lv$-=z1C^QGBV6sQCM+H4 z@IqBV+YV4M4WxpK(Od-#cG4zqx&pNzX`=E}jDn2(jeMBzIWL?L}p!O#d5H$v9Vg?`lJ{GZ&Sf~ z3hXCCEOT1enZr*NwsJvb9T9$?+r^q-PFU{&eufy~oqRHf5ANs=IwHGi9Qhd^y>bW% zwZAr)Sx%V9HAv#76JR)2Qso(BtU;kbEINC~{0%z(?YFkSIsW=lQXoRBJ=F@ z23yX$$La0kR@Jvpt6R60tjT*uSW_~bSsT^4nxQSBf%$pgwcPXr3m$jg*rG;V>znW` z2FWRep#)I12*$B|j4hetF%I~kT@%#^lx2wQ{;VxE1Td}U>MSW6N_JMK17}7p6lEf$ z*E;?pPa18WgGX|Xvu|JDzGlZ?Z24qKR3&)TM7(#zVmtGZ>?e_$136~mg_ zL=29KCxpjny8MDX#OLMwIq-b~YiQ={-}v+QlEmWG+hXU1(T*~!(+sGJ@}hh zHj*w@O@v`Xk5%%7^^3MryDD_x=bB*KIrig)At6Gb9z(3Zhf<+@GhuWPbhVG*Py|dJ$!%f@J)WgGut93ziE}7J?m%7V&}(NkMmWYHUg#V zcSor$R;OtgPp3DdqkrZ_xNhnmhyVz>pH2yXW3j)Fp8vZ)=K%b>KMzsWuv+bnlgm1{3tw$b$F(cq?H+x(mhTLi6I#c#p9tjqV%3j>j8B^#sH zYKPGN`!(w53jHD#u5asa&a6U>s$62- zc0|0{MHDS;EGXsc(U&1Ved4Jg%SK^!m{rnmnMt%)w_DZlng$3rcend$*Osg|lku)s=DLTxF)L462iih^?dIa-UAZX_L zHsOAru5-AmgL9-WD_`Q!b{jg^Yvr&g+skTDzeU?%Se_uPj3uW|K;70D3@-qdVBbMp zNLD%Sf8j$nplRiCSm1_tsVoet;PgQdeRffJjIFB%r${LqHUZ9h{W|KRi+e^itq1@J zLtiI`zk$r}UtInxWO&&B$Bs5fMaw!{63b&(Jw+;Fb3hvpMG0#_hL}N>bD!Gc;X^6C zPvrz2j<-PcX47qx3lXQ&^B$F(}> zcKSI-A&m0iVv+ANKdq+o>VEFa=cp`)9jcQ#zmi%}^TL551j+1($x>(P+(;$*U`4;N zC;sQ{)VxBHoA*hynRK7Owjt)`9CLP@UQUaBbqS4$qT`U0a}<4#k6{k1Oh`gF$wlb$ zTZA&}qoVymS!G?Gn1#O=hWfn{5uZUnIN%fI*H0b(5+Rc3&f9IrA~H!N{1kwKQJH{I zerB~ym@-qmK*C+n9k7VpaKG3H$dAi8qr#(t<&z|w6H(4NV@E}IuT0AJ%qGNf5|xiX23UlnQ0rT_ z4xKb~hsPtMwf2bdRB8{@){lN1^J3 z;A|PO?rF9mt{KiwK8Z`ZDm(AIjTBIYRmI0)sHV`(kC*-Hn<8lnO5?4$>`tiuOfJ^mxdc*$Lu+S^WMS zI}5v{UUnI9ZW6|GS)_NIv3{a-2@?tNtg`LyEUJ3XGalBO!Q%T3#d?>zacP%u(J0*) zaW?$&n_sv%W3Y>Y;mSHXkvJD#-V8}u)5pydw z>=ppY7w;n1`Bc_Y7FOu0YDIX6S_H-eRcof?Q@=0zyCft^Ke~WiO)f?hUzBgTpJ;tp z?`Rrmkg3<5Lm@3QCnc-L?zI%pNZ+#BK%Gl5zHWv($-?gy6_W<>1QhvT%OWB#hWap+ z90%D5BjKxchT?lMg*fwmvH7HR%09;97g5enVgu<4spn&o!n}nZp9Lcx2O|?luDNrs zM`S3z>*&ZqvnG|%{<>PAIpMRm&1f|kZ7$cpI9vqBldGLw7@$~BRF@xvZy7~L zrsmihQr+)dT>0F%nn!WvY&wVq^eBOdFyT&vpEJETkjKNvlCPoeBMm6Snhla06Iyb2y`_#yV(YG%&4n%C*)-m1$+4T5u6*EStlZ+ySOM_K8 zQbf4y7=&qLO#nFHbk^ya zbq%q7`d{iCU7Q$@9kp9By*n3_)_9LkOi!bzPflGiyILkxB%W2C$JrA<;Zt?j>`|`Y z@Wth^XVR=A1<~{zvmzo&SeEEyfzY_Gavd&1s%DEIHD-vBO4VCo=%X7T*QB@3!iTV# zA|=&XdBf}uXrr$~wGT!`E#FM{c{YYmccO*S{~`pg{q&`u@5g5jgeUuS{f!FmsJ_B7 z0*b?QrN2njSv5Cl!yKz`VyYa2iMV2J5UYLN*>arcVBb$ytEQb1GWOtfTU9)Sdi$a6 z^{Yg80(#8@@~qihznGC3?ck!I!Frh_>b2M__H$OyY?^RkJ8$#Pg>$9Y#?>Q^T8Cxes~InPZxd-#r-CJ%p2nm7f<-&QbQPC(znK;(E=%) zwk)1;Zf8>9V+kbTf$G1(=D%Gm`@gXX4JwRDhFlt^VRGbnvC>wYi^eGNF+ zwJ2;vetT=dI^z1lUr0f13-odoy{0~AJT(^jisN1 z2my^m3WWgybS-6O;v<7!kLs1J&|F4*3Qp63k1%Z|mmBN=oV^Az&F!N?2;+0Z)5g@= zrSRF76>;s!-QcIV=EhR{f5bdIhq0|=uQW?*-Tn59XR#Y8RL#4Z&Nx*x8*px#qCSTo z%S}t;BG3xS|ee8rB&FpAXLdb;n%M|Xs zMSYh@Uy01lPEpTy6MWwv%9GnaN*;QI0GziGx804p-{rZ|ap5`WwY6PeUkjS$F88U7b3LTLX%{|i8S8UcPQK8! z9Rwy;4tgaXP?wh#aUN7^rplFd`w0u<>0yH&;v3$HcqU~-@(r=fTTAz?oNs_G z96xM1DFV3&$`51>kv90PmZg-sPT9-o7O>x^5MK%kID3`U?A703(*NYBgM z{jl-32?fZzyr+D7FAmA-mmtnas)n8%*xFs%4c)!fE!*APt?@R{P~w7IB4Sbo809@J zu_(GI^$_Ba$S(g?Aup1+|79D-j!Z-LgcL36HbRK%3-uaBdsYQ)Sq$JkuY`zc&eg|W z+CExbx~Uj-6;4&*(2QRn7z&Q3$qqaY@DD5xFbP6`i6iHNCZ}t5YRDE(P12|GOj!1a znrJ?YvSbnNAMU-I44-Px64C?US%sKLl67@_>YE?o?zu}kUk)+nn29i zY;ltyqt^s9NRUmG9~SvV_DkXy1Z6mrU>A;o;+-j}DSofwFkeH+y zuj&fwzXaY>zT0R%&wZlzc=t;B%KMu8Jyjy)`=owok4Nwj&KRR5V>VN4+)5lgW4T6K z&Cim}QuX0B?Uemo@^gX+ z&jagG?k%+jH4jNZH&w4=pM1Cdru|mHR=a}D`wvt{@(D61?=2Mg)5N9U%PdAXh?&vE z$~wy$M~OwnQ>80p<{Rdtn|9% z6QgEjqp+vEWYNefi7TmISU%c35?D~Q*SCMLv)XCeC9qfg#d;ZZ;j}9-6h3r1mae_s zY_gDb2|EjW;6w2}=V!~$)bG{7Te#Mm{GYK@rd1u>19fG(qU>c$joWHe`d-hZ+G>`72 zI;&HcEiZv)b5ENp>A%g~%IA5EvGM+JGU^8ATK!YIo~ROy+Em;yO67}u!yKAycnw3v3S2kyJWmnytJW= zsVuV`r#!dP#t8QYu#DBN&R|*M#Dto`^KM5 zd`-2@%+2{NWG%_9*sbAhNNs*?ukBykuRClyjyjDyw|;*4xzzQkYr6Ym_h^r7Pk*mu zZ&#m4Uwgkmf6D;xK;t0yVEqv1P~9-caP0`kNbM-+Xx$jsSi?Bac+&*`MBAj$WapIl zRPVIR^w5mL%*3qf?EIYe-1@xX{N94a!ug`p;^UInGVF5D3i?XiD$#1z8r@p?I_G-p zhWN(trt;>}mciEHw*B_gj^8iTUvazdb_@4_doAFN_V|I;!Oo%0;p372F~)Jq3GGSE zsqpFW*{8FebG!4`i;zqF%ls?$tDn~&u2*j?Zys-h?(pvl?z!*#9@HOpADy4zpAw$w zo||4|UzT4jUthro`nP_UkN-Qb1pepytbZNo13CXaqdc$~H_+EL(bWy675piT{{aGg zk~HlA&HOjqe_t{FuO~?yJX}0~-IoR5T?eqU{*PY|V$|F$u=?;{jovx$!W*4_a~jo{ zTfMaD?dCLo4C$P{!&!so>+4c<#ErKL82gohM-+t~P5o0vH5eyJ`Z?dM&=0GST}hNf zihd>{Ln%I+Xnhmz%LZjb(0#m9vq@nnByW``QsIIs~mZ zK6)l-=|jcwnf;VGhAVRV_I##s&4J{tAcRurxpGLA6p80B6sW=GT;Qnn#y1J0i^Tma%yM^#4tK22tIoQN*T?E% z;*e%*un{kUiAia1U&Y6rdR(XHZt|)7PQNoBb>Dxn89`Qt@5|S5xjW^8PjdSKnvBt~H3p*2{Xk@{HJ9J(rgo{orL? zs}F*yOUPe}8r!_kkB3~n%+JUo*ZG&doYyZz0XAr5T{7Z==C7o0rd#1?uI00r@Hn@q+sn0o=X)RUe)lxMyH5TfD+;w3~FXtXwtU#^{ zRZ*Md@l#~7S;84I29)>)`oi{o%IuQLtt0Z9!|{QfTsntjO1>MHV1c-U;{jmG z-Lr|FR8RJdKBEV%K~EGO#XuaEl!;+WLnC5U4;43KCx&^3vc}}N{E_!Kx>h=NM{Nj8 zFkfiyWQk|T4++)wH4Cc)0}#7eFsXjCVHkq_B6F<(zXNv}D4AK4#t3^p)`C%f%HiM; z4pZ60JdkzhfyADxN|k+3P2e>W%~^0X$%MU^pmDByJ=^hZI+IKS(T4&fcccd5ue&!& zl&Zo+kUPrjV$|Yz`0P(Dg|^#^RhufoS~3hAd_vX1W=OSFxw*3{DEs~%(4U7#(}l{a z?hvEt22eDtaq39k$yHogAU9W^f}evYMIL6Z%bLdHHIA-W?)w4+(T9By8g&B;Y=-mHux!6V0Z%%(C7%FB=`1-c_#*)w?h}w(M1H@l4VO5sL(yw|@plGe zF-qzl5Acb7kijWl6z-#*2w|6Q zam~C-O-A3YY|3Cu33)5>D$%zf5AxQcwX0n%`)Duy(h7iP19xF7GWnBsX2*9&g8f>u z(cEy{cB64yv&oR&D-Yk(&?$pzZPKn^EfK{VRMirOWb*4$=Rf_T2R1_w^z9a?-A2Pv zG5zUqkkg9sv98&EVoM%F7wa=69w-rIw&cHB7gx2hB;D-b?!?6fQ~NWLurYNbO8+2C zZ)=tAL7%m{Xh*CtyjBs((5PXtoFL1Vt>wXE*HKB|<+~F0q4al4O0I(1A5gNhAT5qI z5L-fhin>WrK0Cdgudr1k6{TD-FjCK0<_>uM+7yaJv_qP1^6h6U>Sj0Suz1(O3tx+V z!Asy>GL^1D8Ei<$d`U!K%#-N#jVP}UR_P(u8YLqPbe!CZ$}v&s4S$-SUYe7{{mwkvL6rnc{MGkoc3-mv?iN9C6xTh3H&r@~cN$En6w zG)VkGO&tlfwitS6C|)L3B8XOm+o6z&XxsX23s%dvE6UtPX>M&xE5)>$#)ji~(*yZi za{biopIZ24ho7c&6mbUn$@!DquWQ+iJ#N0nSzx=jCq2%6FN>QkD~rR)+=%R;6`pKb zYkBQk(`mc7Sr)m!aW7wHt$p3MK5@M%9N@_&B`s$bzQIOPSU+@ZkqKPC&;7AAlD+P2 zLvao(=4zyX9%|A^_%zE6^i)2G@C?;1Sf7hkvT>1EtD)l!jxnt+KpN?Y=i2Gr38I<) zWy>IZ2(wvAmRV<2mFLcp=?F43Jc({>ZoK#Oh@xOfzgx`nn-~X7E*Y~UpGHy`0&ne3 z_!{?@Wq^`tsn6?#26HSrZEXhIam1&JfYL*Nzy8^Nj}oi2UqgxuG-?2!Zz|=yKhfg~ zsJk&QxdgTGdmpB?v4Z>bOQpD5ep}R1N7xG5?rmu5wwMq>&Aw{Vn7Z;doJ1K;=OI%n zXRAU1kA+?RP24hxO9|%f3{DG{5;GYKvH661pJp1d=B|wz46mBsqM7t}Ty-bz=aUNK zdXIy~e*a41EEAB* zQ;kPYU-$Et-A6BFP|oCA)Gr@$o3tEwZIdfpV;JMNN3x@gF($~kjGI1m(70y(pdM^V zcZ*OYJh|>`nDb}}9Qu$O-w%Z$AtI=Y1S{l%J}#B!q!dt zEphql`ex68@3mYgnxu{d5oMIE5L;M<|;sV#o+rV+`V{B)Oqm#RiV zp3bOW%c+1&9*D`VLUqCjZ5P1t?RyYj4OD6{w>Rggg$yL}kQ zf{}Y-?bPF0c=aXZsRjucd#9~&eq4z0{r0Bix^GdwlB?DhrEmT1WCuGRe5@OhLM#WY z+nJ){0~V{Qbj9N~OluHs4~q2AaNmQWpe?V>$5n49=N1o?ZR9}wjB4U>4Tliy7=0W(i9;O5BYLJ4 z@f2mM-PeggcL0Z*lha7)(&hTzSr;)!EMFPZ>Ripk$V0AsG2z!k+BT29Ev4~t?2(Hf zM!ucWE*Oaz*6i7M=^^A*j)aMZ_VXqk6`2qT8wyjlSMyf1UCYL&Auu#W+tc6A=@gW0 zpq7FZBPY>3-`UufJC{V4oJ$O)qozQI3Tm&TjzRtig(u}ql_@0g9--7BH45P+U`3M3 z(@V#b_OQr4r9Rbro03#QIXa*f$s5Dxoz6Zl8@=jQ!mwe`ZHRFoJ)7UFMb!lJ z-nLl-4cJDm5Fh_FT3hr zG!MNDkDR;!ynSW&x&NW zN!Eh%pkAzg`QAIfl(0162F_B03R4yD!lvBnaY3>mE+VVc&O2pBxA5aIu^>qZ)o9x< z-sGLg2n5^rVwgc=WD0P0Zkwnpk6o>U+zA4DkAK` zT1gCPXC4jX$;Hp%k5TZ3qL=Xvi`(rw+OGp?$*)yTjKVx@mM*`s7RUDd*SA_Jmj-?bWkGG3xtnba^ zLf_bafthu5@@tO`0Vp1ljdM@G_(_q{AHNVzG)Ym5}wa?78RqJYre5=VB(a%_^lwWa{L^o zx^4z3R@Ng@;jh;`MX6YXPPO_3LVZ_n)4n%WV+xvdG5peenRyFYgzD|{3eU!@r`oBS z1S#e2vbD%3s9y{f3$0+QF($)0X2_1Ujs&JWmXTp5JkcHYB-9E}Ge7pw6nHyOAfHo| zUyywbdnZxr0>#l$s{kk`N6d}XQyIg~B(WkYg=r6Gcmuof0@9W0{N=+0l?`8{dB`DC?+wU79&c-n@gBzmIX-X>ii z)`gIM=fy|P#*)iaih75fva^}0V@5iLmKeaex&Dsy8q0V8PO4%Eh5?ps@^QTpsX;Pk z#w3oML_ppQ-|8C6vq|z&eLIu74({G(1dfobo-E#qJ=m7r567E>HZ5S+{6k6CJ_l$)TI+4|{%HMI z=)5PSr$qqnROk?*J2a66v?u-%{TAt9k6bn{@|U$|zmI~w_>z*E457CIisoM)p-HX= zJcs!Eu0(8kuC~(55>~mUe9JyZAj6@YiW0xV$PHzdK@~X`vF16B6Yf2errds5@m-T` z&H7PlzMi6|c=*aX<^q9|rQ?oT`axCf+a7Mw!jCn~bFEKk-eJaH7uDsK*0GTz123d2 zpV|c{-Be!LTC32=Ivf#ulv_dq}vk#X_Flbt=e3X1}uI zhI13zvBfURaq(nXv-vU>Y}3P@bBCik^|I|R>TyA~*BP$)I^;3aBdH3z!Q*x^R;OXY zWXYtmi2Ttf=4DV4)p8FFW)i8?vOH7Bzia{24BDSvs;#-ueWsA7_osPFmV}obslWMC z*<2+gCs1%2?@LY~^;`CHiQox#IPdG^YGbm<1QpD5LmGSI(PbXDv0;JBk;Wo5yd@(n zL4frn$2I;Pojk6~d0 zpgo?1WC+Pkp^@~n^w1ddo&U$!IRuLqG+X)}+qP}{++*9eZQHhO+qP}nw%PY}L`V0F z{s(VR5ml8n%gNrEYkj%MV2QGVC+l00Gu)gywRWcy!JwsHnYwjO>@mm^BGrqd8F!$%jb3Jx7%39 zU~8J*W8qUU%5AFh47qGd?@Dv4=~+6^iFgRNrdtZ&iSi){_O#fvq7}f*^tp-|YSquw zpyr0)Stx=rq(O-aI0*VZ$R@{KC`3dFRgwL>$d#K1lO5 z=aw-%NZn(6PacVMW<2RLY;akv0X%8>1etb>ZeV8oLNf=8?SA4IX-;MlLlWPpFReN3J>5%TM^Uez% z3Eq^_=z_?!47kz5kz9hcIo?0E z*sG$%M{oDFiBG|s8^q6Hy><(qy-<>JfV>cEPP5sD|8JgirUeCrtp1T6vyiQ&_8e+_ zsWVx45gTAN+h!I+80${T)3-|?H4{?Tpnu4FWC8Y+a#z}yK^o?V zbsj(+{vwX9kOyW2yk*cDyt~TRZVGi7>m3&NrB_-$1dh`%T zsIz&AzA=T|y(X9CR$R3-cE_w$Va$GCxWq>-^5ED#?sYJehVQsDPdCBE+>Yi~S9sfx zShPa(*eJiBs>JtdjIgeydwNpNRYA_F8Tq>F^C$_ch(LC|5v8kkw+1Vj8(oQZc=pj* zp?zGvZ$~HH$1!AZP~uKkX|R3{4rFwY6+WKlQSQ_Du7vVmYfs#*e!ecZj3q=+*3l$? zi~w=+n@i7Qn#n_-AOOJ0%T`5nFK$+i(2CLe-|L*Cq;yseV0mtYDl(rZ$oWLgG=)zT z90^it43gZRRSr_$W4|=gDzx|LX1kzA)cca{r6;hJ#)Zuv_mr%5rK9k1bvSqZy2)cY z7Ry*fkk;8VP!|C7&oo3>Mb|H#Y7&cx3CfBPq_%xwRyf8wQLs-(1v`qSebS`W

&#mkx_=fR*!`wS*I^~Me{*juT`fXj%di7k!GSA)i)VQ zchX(;>|;cu+kpBwlegclrOwef)7`n<*xNYE>j?**2aC!tI1o4VvagQwI-`=Hz_MMw zp0iadPgL^f3N+1EJexy%w6Mk0KZ9T5F9VUQ*UMBBhR4zuGzo*BMbK|}1A5@2K62c=Kyfu^yE>};go{tlQD@icf!Kb-?w#omCF(i3_7I8U zahF!I<%1ZL`Hu!qwZF+cwniRmzV#fe#c4C5C61*Z%MRy6hQ)LXZGBDaP2Gr&^%_S4RXe)rhQ+{%ziYjaC;Bgy*62I~gw+OSQ_Y9m`6TdU@E|BH`H zE6+9o!0KzQ*U7hb*G|Rsio7R;pz4)}zY|*QJ)`fD;!kL=xEsp?734V&Oolo^wQg`z z^GZ8rd2e%ab1TbwhQV|LZ9|Qsm@7pQ%yWqclyU#BD9*)~lCa_w-%a1Fa6m&e_CnSM;1(e6x-itUH{Ct7oelo4cyYiAqcjw%q#b zaxJA2sFIP2qcoL>@{w{=_1uInWv`M?epjBC_50TY!?C+@vGIiK`eK8zG1PO*t#hD9}>W~sFzB8zmORG_pt>1nR_{jdIoy!3Dvadef3$k#rfhgjEBf|WB_ zix?gT0nxI!Y@!XLia~L%kfd%pQKM1I(6~vOQq0<%$g#NXkRd$co(SYZT(H&D0BBb% zT%Dltue?``ng8d{R1{qh8lFPUkL<)R6#iVhi z&^QhRqBQpc|3>-Mbu{UnBF7G5w4Ogo^&Ak+9K^iX2tD+u7_dI+jxg?t0S@XUH1ZyG zOg=c-9Smzjn)Om{0-HG$ z6}!K_eOS-|>C*FA{dJ8*fav}!SAbw#1Zmm`17=SK0TtribJ0Kullf<3YEPw5-W-TP z9FRb1QT-J*-NOv%qgqk>M#PLLhUq|LJm?cvZtO7SS^eo_dbo@nV22!7NbG2d?06hn zK@?tK?OIc<4AGKx8J+Z*RCNhlbvd7P;h}ZGq4nu_`eab|1hNKjvU+T>heSS6g50rz z+@Y0Sv6EdufvI-F+hdYl!Lx2?x_1aY$Gi79H;<;=N4@uczXur9$D~=Os%DWdSN={? zN8C~)(6oVnH3`Gb(*~2tk4ni;oU@LUvkp$#r!CJ!$yV%ID@w1|aJ<<8Y0x9sFhZKY z;9=Gwr`J%m*YOyz0}!VA%uM#Jl}lCa$yy%3TOQG49+|u*HrFN<*{7h|27M>A+i6;l zdc5djkLtOT3=PEMvl12^1Y#x-C{hv?$VU+>ICtS=290OwmHCgIMD5}LuRg` zX|DpsUWAh>FcG3g$z=i}k?vsG3?TmYao4DH7yW^1M~!TQeQXDvY{R&{~ndDBd^bnlaMb4tQI1SlcMLUL|Qa-*uxy)3!@+OrXy7E4` z)>;;=yhi_4bpaJ{0vgP|r`5(&i|P;r!#o)>DxDuU0Pfhr@c6MSB>>1_Vv$EGFONZv zoHpq*#-Ew*6jR<~ceN_(hZl4;4Z=h$C_NVu574*B)D`XKMPhS|=}) zIcPHOdLbeZfH>Sn-GOjkNT^NQeb?ShHVv*+fR<$w^!}vJJDC7nS~GX#=~U_buCA$urjd=fS4^|dT)Il{3|y|H&ljzrd9NVrYt;Br6yV>D7=Mm$v{jps8=DN{{|9_$s*u{ zx3u~*>hV0x>YRP=c+>rZcDmbaNERdLke$g+{JO!1O$Gpn&gC1iDBwq*mF%aO;Br0Y zmy}{u*NhVtQ?{_ujAD>ca!+p_JDQ&<7r7M5d#!Klsr9NPozXPPE0uBg@;TEi4H#s; zh)8nkI`cmBdiv^p%H?wN1r*(F5CLMd4Z@XJIh`(G!Ov zjk-)t$)QI?Hm=7ydw=V=N_LI^i+vKp_;$OX@2Ulma}!;90eoR`cY#0c_RTGzp% zyh&U)q&5ev$e@56TnKvU~JHWpD|U%K=4K0!-)iv$`V2U%cXr<6>r>lIjqoU z9loj3gvH#9-;$RMPtZAJ4jpKUsd=3sVVJ4CU>3DTf);)4GA?bnMC)#LRVS%~>AFUO z7yaF$eyrUVskg?Q5HPz4A|B>1ow>hpVr;s&(S%WJUBjN4&58uG@(Ztvc5oS_3wlt< z5b|brCE~@L5f(dwJ0xmI_wOp^-<6;j^No-f^F|8;=_IrMV3iKD!t z3H~Tq4r{>XyVPOR%s}phs=-$thX&>m0i+E$aNnURSCnQweFnTa*E(kk{NS%RGKv@O z0nr!))GMaAVT28D8+Stwudz(NGV+~JUSk0cv?HzsKyjg&y#72i1B`Z~Y6OJtjE076 zMhHU-thZ-t1iH9r>RcV5xFB-5xls(-4ONJR&@GjHvp20|^ipJwm4vw?qAL6AkvFvh zlj9ByiK-TJaE7MZP)mYl7$91CJde8xfK7gPW};XL1XN-eTwoKR_bj~uCykgC zdscveXz{LMIU_fQfD>~f62sS}|6NzPSK&y>&6@>h#=gL;U*3721U#K>wm zTEfW-GOjYcg#Y9`Z>fBk{Pzd~V&?_KR02=8kCg?PXc`eN}t^Ga?* zvc&H*|Ap|l;)ZPZjfD5S|Al0+#Q(m*aD9wzf5(73vqDnmwK{2o8)fh@&!F?P1&UkFpK^6Izl@z;5pRZRcQ`uC0_F86l+6%)(nI`1kW1$%|=ALkw+3LYB z^$pXzacj!CZ%-%}wJKgPrRv<}3S>RoCWlYco0fNWwzhT_ZCtRX<4;=JjNSAZ!rmyp z;*9#4frMnYm<7xG>|iwDN@K5@TwZ(a9vW@su>Hk-ek{!1->u7-Z%$$@7S&S5x(rc4R2?DrfSYs)#RAdz~LJ-xcpi9 zvQixhaYh;L1ja(ilv>n!v^gT#6ZjxFUOgW@3|FJzK?U4?m_6|CY_-`|9&#{$?`Nz$ z+lJ}pUC9mqTfI8WLX#ISf%kackhg(rxkPjGvG?Iz_G!@m)heM=gHNY@Wp|P{qfFwL zh4zJXjH`j_Un!GZt+igqRW+zv9x@wf`|8X$P7BTaIZC8;Qi+NipEu$_)pWrmWd0nU%8 z7fOeMyH=uC3)6(UPfQTW67r%Se;J5fz&5@of7-8aLF-Xi(}L>dx;mLFMGHDTyWoEw{g^3yrzU?E9>1&+liCAh}7aV$!y)DmSg$ z940_;L?_{M#B@kbfw<;MSc^u&@q$k`KMLAtJM!@OqfGFv`}1|H?)CibWX}5IsVPrR z`|>h}tTYyFB94oqwFYuvm>DPzNXsf_%2klE9S3mhGL4AFT7`|ub3aA`8}b0g?|e*$L_NV-cs#>OUJ;i`OIzYjW1z}oXEq?aA&qFp?sM|7 z?rhqsFQZl3R7sj{LB9#3m6bEF>(G%=6YgZ+JPwBB>5`#dy_`;e1~7nXYbBY@l`tOQ zF|Y|39?e^VxuHJXkbB0ow#gT=S!)eW^v z8&zplS(B|~3tOBE+0^ON?!_cSk0OQI7q6q#F#G+uJ4191S?X63WrS1@va-@rU^F2_ zP4h;qt>gr~%X+5Cb(~&yykV>T{nmKmzyQ+u1S*KP{j5Xuh!h&JfNf`0=o5i1k)<(( z_lHiq;YhjP$Rc5Yh_!v-GTZ?GfwFJn)0fQtorw+=unktkoD~Jo+hR%RcWCoe3v)|L zaZiMoRu&Eob7^R`xirW#I-;pmo-VGF4=)T)e@qT4vwP*K5J*j2CN(e$NT(iWyO{MT zbG$);F9bP@smlI1aW>}5W82Wpk!L8`FwZ?>f)ENYLsBL25@MieU+8!C^1LVnEZW>2 zZOlaFhoUe^-D`4+(^e_6TW$xd17F>u;%b;m79*1Lr&ve~2N{uG&Y;!_e1^O&v@4R) zK|2VZ%H#-)Ob|K!x%PZ2bLf4LM)&Z>u~7|sZL!eDg#yOy2A!B9B_Hx60hH*8h&Z3x*s7w75PR;UO_*?m*% z4X`LP5lkgb-dABUYh-qxGN^P&GGaw^!(-6dbmi)E~;`Av-{q+TaN}5^FxcDNB$D0~ZFn1V$Y{ zDH9`%L;0+bXW9b*ph51eNNAlwGkiXIe<^&N$N~7Dys8nYK3=mT@+O7-`k{>PubGZT zoMtubnR}aJz=>%_UtYPB)zwH*D-%yGIA!)ZX9jogOV9-=QsT-rGBt z>)ageh`(e-55Yyln3Ar|n}5U*Tpa1n+v`w+q=kwOD^lvxfAg*@-epH(`kHn>|DfE? zccz^F9TacDs8a{9^6Hz_sVIB)FF72u1)HSwkPIVMl;;mCNkGVd$Y)8BYK0Kcn1^zfA2_| zi-+TJNttH?XdRxgh4ye%-vh9f2ywzS>L@hHTqnH6kV2wugP?n(M9`AvL>Q8)c-uZ- zw2(#h7B>x?fmTz-obWpwKyj7sm^WvY5jRj^Fq+6MZ!pb>=#~~)`|KKBPFv@)7!nXSA zTAFvBt7uwNDG8ON$yO5=52iP`h6XA4y)`9Q07w2a%eCqo4E$mE?e2!`g`AUA{&Bj! zMq*3Xt)rJD`wM+bypmh|19}^lRJCroJYlwUSdtG{0jf5pVUD;d5UDR7GjswJK~Cxa z?!T^?O4nU4cahokxnb!_<~rcU81>pYizmCgVy2QGejVh%EB^#?Vu+xwa`>qD!R}og z%tovIF);;P1E+G&$O-*SrGXR-wxuZ;AkcY#%7!y8pUCYLMcD}?m>-3|CB zt^Ier-Z1SP;>nv?LWVs04S9qR(<9RaH7X4o9=Wf0zKlE)w#_KVGG;QZZ3h2xh*P)h zHvxW=3z@?HBZo)wXYq?qe*FDl1?>g)>2nN>+Ys7>TG=!U*L`o}v1!E!-+oyP5hdwQ zjm?2uh(7j{S>g#n?!Kv>>UQALSCtCq>;7F^O z!fm~h{Ku^M1z$%#!S+1=O+vK3Rf3Nwo458x%=Ps2rmLBDPiat!+ZG-8k6V|ppZ84l zth{dJ;TP!s1qWO{x9bds;}2ggCj)O7-7{De z(N4Y6mX02o;oo7O_E97CV1O@<+sW5^0E{?SMSOTUTA1vS6iEaGN;aB)p$y3fqG5RC zyA3DnlK68$mt{;2Zvl5hDB(K8X3^q)h`0vJf*mByRKX3-(}EJ`^d#Eh=-}1!PA1-AypSgG7S6tzjS_p> zKK0n!{US}Ud9HYmsEw=QJdE>|34O-sOrh9OPpX!-R%Q6NnogG9o zB$oN6w#HrCVJsNkIXkb63!f=xyZmRG7w+@3uB)BB(z)690EQP)8a?K0dN7XqISa}e z|JbOG**YMTdts)5&(ToUUys0J(aOHB%l@Dv8+{`?ds%ZWSBcDGuJ$v15V3=HQ;+9q z;1g(0Q5rTA^6;YXTy1Ce0SrZ<;LVjDnAsJedUT^d0$wY`Ot7hoS}B+V6QHLB%17&y zT^v`WRe(&Y=eU7N)EgwA3d&WFWSkfW%S2ZhdMgOCJu%H)w_<#X+6)+S&d#c}p&IZ7n)hod%y)v+w-+iBeihqV`l*S<(zu`={NieQX)DQ$$4$s&i#?ero^o3y47(dUgxn5#2$(F_sL*UJG-e6JK?4Ub$ngkU7;uFLzz)lN&{Eb?+4R z9TI<$7sc38vw7}sZJqzE)1?@>?)dyV8)WqyDU``Q*E`;vpihR>Dl)R>oPf1JfaSpP zm!#~}olKRitd)4jM+&!jB5hM;MmH1vk#*#J%x(~Fh*%=Qi-w4~BBOB|c*iurHRqox z95umFbS%0%VJwTR0xE`R;iod}k#y=g47gWRcJF4%2R0k})!pY}Q*tiQUo-iUnL1!N zF2Z)+y7d#YeWW!B=4foz4g*uYcD{nH^qymFW0jT{Y1PjgQJ33;j*a|!vCTWEZtx@I zrLy(G(ROP7%&SS!IEiJ!p4sK^c#Fb#x$E5Ndks~%AzZ789R?+#$l?1m58si!Eb4Yi zQ^guR#T9e)V!#rwek%iI0o9WyjK=(?V(GU(s{%WyUj#(NIaXd zESR+sVFgdcQm+~v<$P$896uUAWaCI@ zm@RLRq++76$slLzOUn{C#{_DQ#Tjp=_eGc1SVuvqep)+me%j1&nJjN*)gUWdjEvKE$E<|Jc_ z%O&6Vn!dcw%4&%evj$blL(4n*n!m@3E#kcP8gBt?pP6-%urjpPDi+&Kq|ID;ie5U6 zLMOLl7-Bh=l_VtaSapCk+1IzXY%WSaxY?;iR>;L^Up!vp+^t5E{7kRSWRjT=m=c-S zdi;(VwBD$0@xU{dY3d3Uf+hE>37BDUYOh9D3NsTWVIwAzkS=clJ{06{|HU|-+|*6| z54wo|5v29s2)F;&wyKplX)#C-FZ}ugNwX<@FUVvML>eawrT)af=;LQdRh}OoeL(&2 zy8KK-v!wTl?(PIPNUm+mrnwtU>J8)F=vc_%)B|&~r7LhawS&WzdlYQmY4Y`+kuzP6 zo4|~ETXQ;}-SRU>rfj^>+UABkxV%NZ>2qt7_(ak~>-1x0!@JU{nRr7xcy}x_6HCez z8En2y@Q*bPH~T!E?nK$S*<#;~RqI-RavS@4xhKWoeVSzcv63CyVW0mZnyRGUg<9ef zwMuB;^W92IGWimE(g-WAymv|+Sv&T6F>`nwo-A5q%(HDlulK@fB8q*UTQT;#Izol}yJCsj3&?FB{u=fiB1=07CsJ7g4}u98j=)z5l(U!|M9M>ir%>dgx%LyjhUQ!X^p9X!|s>Y20q&q&nQ2Y_iW8e{!NV-|J=@wKC zAn(U{C*rt3SLTBdKc8;>S9zDY*Ir5@R|%gXFo)<7t-4~iX6KGH&IPj#3dT8pBfpY1 z2dsoKgP!OtG=O;apD6j z7jP7(=#PPYQN7I}%P#ys71$e=v}6hm+YHB7-x^R#x4F6Y;>8+Ts5q}=8dF}G=^MnH zPfYv;#>3kD{fQ}kz%TiDzhZ)t4NS6==GY7ZUa>LL1U^3W;(d*Le+QY4-mTn7Ds|?C zGj^*>poJ(sm)}c+%2qURjunNN+?;dW<~v7^x6_dlggYQ&e2|Tp2&6)}jQJS=*}^k1XCg~ zCwrc5f8YqCz)uWtS@noA?vZnbAI%ctkA$?+W_3&Wz{=yz8HwhfT!yc-#N370; z9I}Tbx&if$P~^lOmyLRP<^J<3u0Wk@$oo zsfBVf$Fq*I()Jg60bAU&=M2Guj<})X4LQ2w&YlR~ak_Vnf5@9dzLWEA&@Rw_#hu>e zdl9b~GUfE4S`Eb3qs;D^bBA6ZHNemvkbEKIH5#x2O{zg;%4{rGMI|?s%e_-1yew`@ z;NSR*suNxgYe^Xfs=;E-j5LHJt4>&`;b@NF>RYaRpc-qg%dWw;M2fov;TYrDq1B$e zKEl`TKfZD9Otn5BeZ79ceR==*4xKQO*$mOcEmd{oycu&u-ihRCqnw@rNZdu>_?Wm2=Ayj-q z8W7>qX>#JPOjDiS&FE#2O(&a1Iui`XzFubt|k3*qS+5yw+~Kk?^d34MdZA`4FRNwDqSRNE0T!xDsr+Q@ zDwgJkex&s7y+9x&4UU8k&CLaIpm+^+oqVt_+E}urR4(NbbDzy1Lat&d@`P{~iTb{P z7?b%7Ps)z+>G1abtR;7;ZrQp68WK9h>cuzpAyi^oqJ{j@z=iu}MblbL zsz@?48yOjx){yYqp>d4Nff1YDe5S{;#r>0|8VbHAOl6MrNR>`B2$?`x3?sp?Xq$Kde?hdkI zLdsT(XJw&uiFMlfF6+D^!h*`}puSw>jeGw6|1}M4Dz}WQ%N1`D+|#Ga6QA!|a7&zk zU405a1%KnfS7~Vk`#=*-OI8;KUDiFHk{z{XeIm=Z8iN#gSa)CHxhyYySE6-H5_uC; zIEgJ@3aES{2(G7Uxg-W%<&>{TRx~9lapKTQf zjm?WgA`}IysPQ#QJ(12I5)W8cFZTt52$<43c_2Zj(*QdEwB?exieJ=iRFt(bX$Fue zzP->~4O)xZJYGeEMRa*^fSm^5;8z#gFtwn32%`bJ%n* z7vOJLU=c`F`nUJ-+b0nKLM5g|h{ zxM2P60zs=+Q{3aP6|PiW$)kyw6k(xLhdCAf9dSJ)ZkGGhTVA370#t%2t26%b1Jy*O z4c8;B#%wTrY(DNEvjhZh#H@Vsr}o0d7^o=4Q1F**kJ|-)htahL*dZVJJQu_yz=|$i zf=7Ry4&;MQXQTyM;3gk3erYSf7K{%$6o15z{yRUiTSBgQ&=4Im^@f4JrS6566(>;BlX@quHi6eCNfQG(Q(ql8ky+D+ns zfGGzliI`R|6U`Mk$Ddi+_$X({wZdIOg;nxg)cb3luSPU3n0R)$18gv7N&BOUsnDeX zyRS(daDh1OA<@?L>qP+!7jDA(>rr=jUAijZ8vYP^@Vmjrt8()Nv{r7fo627A7D1ou zZ4KDgujzXA<1$;{Je%Xi6E99zgi0V!^N>~=s;|(hqM!Mhs<60wtKJ7RZ*|Pdey7&3 zWMmGUn)(G4SfHBWA@j!8rj=Dv&{72T5j1ce*7#`4{Tk{7#VUE~Kh`IQRm(VE_rtG# zerQ@LqgkVt4s;&ub`{4QtTk%>p51@)@XObq?gN{vK6KgCelldc^^;_nhg>`>C}+== zR5CWVoI80{!je(Q3a7G9rqWr`-`G6{?=yc=gf52qP&(nm?zQaaK;g4}_M#sNs>_>; z+s9;>Cp1#YVgHHUBnI<4Y1Z}fSj_Fnj!XHHD=Nq@b2_dfV{)3=<~mN8%>-DdB4 zH<~26?DU2CY|U2hv})sOIw7bou4r)o(9OWKK&@3*xLb)YQC+F==)w06v&)qpuyO5i zLcfa}Cru`cU?k^5ZX9cE z(6Oehj6a0|T5MZEEMH+;;i8KQesBw@23Y;WZB9@w>5YXIv-D4msJ+hFs9Icjw$wbg zN#weKu?4EeGxE4qNrKp0#y&gmyDJ7R;=NxS#$5!ginNpU>DuS@70y2I80v+AuXSh) zO!+$LFod&JFSD0rOj|OJpGGxTEsTA{Ru83h+)TnBin%T%Qes8f2IqpoTQZuCT+Sra z?fnj_xr2HXS8#=~#5|>RBcKWs69|&wnJPPkXK{{#xu1uEG098RC)Q7VE=Rb?ZnvCl zFB`TbpF5N!mAY8Vv-ap*tJ}{eLz~xy_02--z`CbNDtcevr>(3^vsI?EUghsYZT?@0F$iO)?} zJBDF>3K}YiWIbH?8-S8OLsLZaA*;D&?DUD<)J{_#zn3s*>+##Q{Li6x!e4{nhDQy8attZr^s9rS_L zhJQb>PScsWS+Orse11VP1Al8G4@bXQ;GD&WYDvV)M3Cn=1O_mshbgs0m>BSHWVHJqqK3Sq`q%o8*l+sX1PESna!t@Obq!#} zjke0LMZ4S~v25*a9rS!ddS?nSx=q_583Q)Ao+W80YC2V3Zn6;FP?nC;pfh;8<~?>{ ztb;9|7Rqh^QgVIGi(0wm+8x~IqeKsCXA4S83l6l;^8I}x^*n#rUC$v3&C_{nyL^bj zN$q6y`B-X^)COH`*JW2JN4L&MAyDW|hxhF}c8CNp?OU$^1GI@XHK@Enps^VgJnYXF zyFDX{YCC*s<-kpAEoVKdT zohlGGl&))7{A+3Yi+=q>GJWRR8n+RlD!f)0x2?*+vCHv-W&Sp3c1ZYADQu57-LK({ z%8(^6ppl_Cm6es0ltKok#Y{p5)}AJ)*p*gsQxH6QVvyO>3BOi;rkVw(z4GoznCwY0rMG2&-;r0uDpDO56+m( zz+T^MzRb{yx!eb?cx1OGhNWgHfQz7(Bz)%KVbv6XizR*pnNwK_qvOufNQjV5Sun*B zhS7JXiLa#*LNEbWTbByj*avoO*p^x^Uly=OYDvp0NE@ZC2$DF3+LSNDnPI~yn}I1 zrr7yO$~EO8c+U%WrM^R`G73w3Zly^uGi+g3m#;5vZH2nwP{yFM*;cFU@fRWiP@&v7 zj<1hZ_&K9AV()&_YVVax_1vfP32$JMmptM#>hN=OvzsgS(B<~U#WuDTh;|f&z96fM zVh;l(2;Y{njhy`9fL|FoPDnZ_HKPnTTtu9vCy4J3#+i|G1U*{DAgWy9QmWK^)I8f< z`dsQd>d+EsYr)hN4q#E{SMTN|WPP`B_w>^%cb2X|0iR0MT!3R0A!?*aK zh<%1@DLpxb^-`HEn}x>Ebtfm`r6(>9-%&h+Yx@2EXX}TRfvppAIh1)yy7ke1_`QbD zEtSrIO~N2?FS#MA3{%?16Hm}K!m*u zM2to>O*jTvhQSV)^W`OY#s4F^wPhJsf@Fxm$UClw^gR`8QH9J#CHuzA+vTZT?h;Q`vX%G#`KQd^qnacOk-^{cw({+8zyPX^`Jm|8J8i=*w;>bc^4mG&0n=WQ{+ z#jw;63Uc&Q2U;V&-i~@6C+Lr$G^@_29wibZx>~GW-ZDQf|F^QgPJBnT_%eoVPhwXI2c0F_z{g+r zADxlQwvA24mdVHcfu9@YPbe>z6F(hPeAIp%$+T&e9OG~Dm5~GP@deOBz?^E-0Jow7 zHzVMcLl$HdB?`GF&`Mv zx1spiPdsKD_qoOALlwGG%dL=`vmHu0>vu}uou!%`oY_xU{43S!oyOp3>9fp@5ov|q zYWydrF?lM~Ti7KtC+xXwemG1|U{Let9}jd&UkNgZD+K{@4XIUUR9S`5Ax zhg`)t?*5MtCG+faPh-YM}lQ*c?)9>%nbdigdIJxFoL{e)E(7z0U( z#fD_s;2Uwu9<27b2nSfvCHlkf?w%lk(|o>>m_ZI?im#%wbIKyc;E?Mmvae z)f5mg7F{K}`Z{gz|-1|D=|8_eWYfLiUl6;AoH@~6X zk__DI=-kYcfEa# z(IVFZA}&hytSrVG=drW0&m+pd@qj8$dS@(8l*JNG#RJHH=^mSR>NAquQ*5dNdT9J_ zqNc}^=hJvgiKw@CY=#|c_e!?b=Li;-LL%GVN}ymTmk;OG<@Fi-{CAc&$}!%_$yFuw zW@hc1Ocg;4ACAeIeHYiQxA1b){>L`X;ZZw8>zJwDXQ{qAsphPm?t=m;IHyWP`=Z zJ)KIEarV_YXR(oVbQTNs3uMY3EaY5c8y1}6e3odQdBU>6hF)ymaUQn>?Odyp(eaU+ z{d?UmFGB(cmP0%e8iQ6fDp51L*c6A{f=6Y~zRF_6p`(5U?rg2pmQrrJ%L_MnLO$~r z9aHu3dp*)#a=|eySgGvbM$@ja+a`H;#tNVR;k5DrM=>n?tKhnXg%JctX?45!%0lIa~>h9`tb=kIU z+qP}nwr$(CZQHi%D;rb)J||{oPwbdD7wckOXGTV5#ASWzt>J26nWSn5ePxa8?-Cc_rV%yx3&BX-$_L{F;PsjHQkV_H5V_29n6yKfB#%X2z$_ciUH&}3# zO{=e+K*|V&f#0)PHPzW({fb=8E$Rpn&d-5700~Zkd4M4gfo; z$)~O3N0f-W4~M4WyO_V--RlS(cvs1##MKtZUa16exEO4QVTnQ=-|EwLp6O~Io+i@KuW2o6igHJsBnM-P=~y3z}m z^~f!ZF&TS?uNXw$KS;wCv6)k}c}acte#tXZuv%Qp&bnH;_+c6W(W+mpF2tj3vA8UF zVYRPY{LXU<>V%Fa-AD=NwtYf!m3(t8Xou=3!6`60Z)6l4H=x9grLnf|9tTBRA$Xra zNF6@w5ah3BFK|_gNY3va-?ciAbV}MLAJ5)8)@Ae%P)6fTW0VMp5=IM1_`ijMz@b_} z{K!*owlt_aHsvzM!kyt+F89}`9b1VsGCt+ji%ca0rqAg|){XUi7^RBMI;!jpwVH?0 znF{kpJ9ZqdJ*tXQ(}~_^JnlMX9I_pz-?LBdGoR;cXItX6y{)?S@+e=~PQqTE(f2!o z@1OcXa9=4!MiO!qX4=k5L|)rmX}$Sw2>tCc8NPgp9e~h|Ny#tO5;aa_D?YKLFfWM6 zBb8cLJi$92r%)G7YGWQsyN9%PKX7jq^eN2%68VT`Zlt@{F*XJyuJCYY+`C(g+d>nKiVUY-xm zc&ti=C1-A3`^vsrh8q$rpFC*C!eqEIKSZUtb!t#vvuat@F|7A7Ku}MNd?&gKZ8+9x zP5E_5iW5~3Zc2aN)(s-`WX_cLa0(gmQn!8CEv8xA^AJdb z9PoZlK&AB6iuMrlGWEgmOxCRP`>CT)%T8w#ifiYS#OsFj4DmMoj;|jj0?!T^2j>-W z5Qkx0xGcY-6TqP82vGN@=dQ8{KPTrNq?Xx97l)eY97?qF!g{?3)c$=B9N zQcXcssGD{*=;Rst${pl7g9${>NZOp~uJ1bap(y|0#ULyNI5Dy>dGg!~=`R=TJfHqb z5{Nt)QoIu%VlJygFxwZYJ35i4c_#cqQFv$N?N|<@x?)j#Hkmc%>D9Cz(!MWzr*K&O z%sRB|M<$@!G^<@|ki)6%suP zUu?Eh!U4AE%5=|SrFIjw1UZHQTKO!59?Th)&}tLp#4Nc+8-}$EXzhRB@LoQYIxNe% zhjrk(M+p$W88Kw^AQ7xWql8r_WB=WxJykNJ zxaqJXf0A{7U3rgv(kc4c?EZ#Ado1WOHuD`ze0hSemVKg0;DwT8Ud_84w54XmGgA$| zQKpH!ahv9xY|_Cvp3@t94>Iie9N#19W9B*H#MCpbhKrQp_TY1Cp4_w;9@-1Mqq+?k(a69-1Y94RWVIE_zYL$6h3cku2tocrTBb=yEZKn z%p|H+ge|%$D`SD0jAkU+9f0@Nsk8)h9Ftjgu8A>ZaQxe~XE5ODVAQ_b*J#XS2@BWw z>$ipVB1}y-@wr}pH_^FVzVr=c#v_@j8;gA$?XhhlEW0Qc`QJCj=DTr*qZwW{2kGf< z{0sOUy6{KrL(IoAhx8p;F(1K2H*C3gSg*IH7dI(4^gWV0uZ3%mN+$c1Uvh_Ids$-@ zR|@9WDxui=MO!hH051HRTdN^D4-hsnmEGqq@r=-a_g8n_Iw^g>Wl2%m#3c7UTJwE!o8U#$^m^^ZrNUF?!tuxE zE7wM*O8k5@F|UA&h^|T@4gAK=4jgHO;5)&b zY$eHj3tlZ1=D)>9N2d{x-%eP6u;%)rpP)A;T2ihylRBu@5g=4VKm;x%2=<;fP|CG) zO>ki$2J`ctqD2JeM1IFjYuNmz!S(%ZSqR4*XTi(DF6x5k&y64ad8!gm|CE1t#3Sey zlV0aXumNifc@uh;7tzkfoa>HNh?U7T`t3Zu8Eu~r#qs)}SsiZg9ZFI0TF7UAAtz2f z*;d~SxkHSzU%8?4{GIwbrs}K62nk1L6y$t;FV{38LK=~K?^B-(7qcE@R;{zIa+hGR zGrNok>i^5iiMGSl$<_(ZA2gW0p-12nFfm$>0w9xw zR!@gxT$^EeLUWI@>uWVfP3n^B>gp1fS>amy)Edxo_i!aW}#ro4(! zcc(3&R+wl#%hj;V+sAedZVcHwI+~Kfyqi%A4L8J7gj8 z9}Y_94vMB;E>r01>+CHV*<92!l1as6mQ}}wWn(sq+9$%RpcrjU z;%>_b^=oac|J2yJ&9Mqgem2M5wM^#tuI$o!qxgBtwM&ADhl0C0pl#@ZvqW;C#Tom2 zSRX4oS*gL1O6xJR+Q>NX^KqNvKOB?|R)e|UP=i`KkvBe%U(Og=A$e*>`=B^yOF9#3?W=>~0};nV5w2KEAfhkqct zl$cGq(F8uhzm%ITxYI;D$#+y{rN}~>7B>lMm{;4Y{QtJnEKo};54xT6D!bh#Ep3CT z!_II2i-qdz?)hP%G|T&G-f4P)bdfil|A*E8Khkv4(K68gzte#j{=2^Kzrj#`wR>>* z{{=%~i-FDD&;|!xYQg^|#QOz+FYh?y%LS(IBvwa)72L#?RRorRi&eLPlkpYj6<4@; zU|N;`EcrK-&RgVcSgc$~^R(^#Y@7#NGW}vQbIJAWIdjj^1Ng~thT_Gs4D=7bEC0Bq zGP(eXJBE1>G|$MNa*}bz0#(J!^;Yfht{UB3CczO!mwdW_o|4Fbn5XynGj{fnsoB22 z7o6vwize!Waih$#EOK#&?A-LrE$vWeRy4eOM8V4K-`D^~#&WYJs^^Bbs$E6@t?Bd6JuQ_rhgI^pcKoDbC;|-mw$DA$XZ4Btp_tw$-Z-OdYOvhw?y9 z@G((7nnHZ&t}^MfQ%Dy2S(s0=8Nbm%T*EzVs9;b5TbfQ(@lj7y5a@wD5oTdsLSa2d z``8H1NIvdieavBl-#_pZ1TC5ZEz*K54ul;~IBnK6*B=JCNLltOZg&WQ>))FF_m^MZ zp(}QXBR3%HxOSK%Hw2me8Kxs>nZs-!s62e2Gb8GZx@6sBBYSY2kxQogkaPY>gHllM zX4)q=jZiQorVSRY@G%X@oxu&Ok?yiOb(kZq5Ew76i+YgR{oFq=6f;iW4-ADfByvD? z_kxDOUz9dRawjGoH@vUG84|OHP>aNIL+Gr}(H*trirjJY`zd|`8?#s9g_>KB$P#sZqGi>jRb@OVo^#y*+pWNxa3+j zro4B7XEApncSU!uw+L5Ww*A({dRpT0#r@*U{8t*c*Q}6D)pP7~k`)^0Lx|8_?Eo87IeMkWd{5T@GA5dywM_wYMhzBL%>b#wF1H^rCr2JF6lg@y6@k5 z&z5k-9HV`%FktPi<-yIrUm!@bwjIKWVQZ}!H)*FrH|E*f;GKtW|`EgV}xU3hp4vo zO4^C3wc}P-laJ3AkK3Ignn5279%LR=o9LRznox|}AeNe)O;3g+oPn?Fp1seHfF49G z>zch8qoGP7bC~EjyLDWYkBtXt+o;e_mjcty>tCy;_JunvD}(Xu2Q?>*bCYz zuHf?$z(44Va;M=mofeayCxsRhjKZR?tKZ{U7M$^FCcu42^XpNz&{J*c^^ty7YRmuL zvZdp?(^#fJj3SB7 z!t5ideLV`d_O-W8yE9w)3+=l5%xhlWqll2CO)-e!5Mm6!UGW2-0CCBYN;-PX_ zSG&482wz?>s4ykHDk+hboQhmXaMaRW2p}tB=*x+5eFx>}0b=bz-$E*w*A+y3*uf{& z*dUYyQk4U4u7_8{cF{JiKII(9P59!8xR+Z$2cZ?b%rg7{re|nnRyL$==Vh)MTEAsGoLO zh&W++YKmmlhE;cUWlb4&_)xuYo*w~SCP>Cyd|J1vKu;hNJ@0S7NT5=GdiY4M0{Qbv zFs;t~{lsnby%jH(vQrhdijsR^y25=`7Dmh{=KYLPn-Y&A!Mt;`Hh_R%ZBQ3W%wH!; zxo&NxnGfEAY;m#0v0RC;RZ2@L)ZtXTL?Ey+Fpp(sxX>R~5OSO{_LamGeE1b>8W|t# zy}-1C7(;W=EHm^?A7F}SAF8LfpsF_*h;0G=#>vekYMisFYPR~&*bGT|iz$N3Lqh2` z*zCAj52dNA!Mt7XNb%>t@TUrTefh_fWixiV9rPrO6xkH27RbUjqc`XnnTW>;ScUt6 z=$fefM(ecLYD@fx{A;M(uQ~yJYZ1|&xzG0FJm`9cx3DtwqPqLjbZoJYWfo((-+X~7 zhmI_QO?ZF!)PeKE#?Pz_?#b}c^ZKbE*@co`)f+H#r#iKaLNbk%f)V1u68?k}eac7) zj(Kji=?Ll&u0r=s7b&5a(Dl8QTIJtl)_y+)1~fYu(>ZB0V>6tiAI^rBL|^L!&~kF4 zfhiOXq|4znZ^WRYKgNxi#n&z{ED5V6DJ!>)rp5!!Th%U(Z_celb2iALP6qs_^#r2f-Mwh{OeVPE+b^5RsoRpM z#*oQm?7~J+o}6MjHKmQ?R#WliE#)Pw)Bb}$A)YVn!;2U>q#3dF&^EeLRWd=KmC{}| ztUa(&l8oB2$}E<*hx`}*VKQbLO*Jjb2JxP4Th)qkG4x zZMdeMpsuZ)(1BFy@od!1oj_hF1;lQ)33!v zjj>XnBdn6zKNE|2JSmKCej=4h4AgT z=(hMxN>QDY9(wNlQCq$tCmXMqM5n4XZ@eYUxmaMCsdbv2!YZiu9Q)_}E=2H>LRH~+ z(xR6%s8vc$?IBc98PUaNcAjY}4I4^OEU5$;J`q2CDE^;(D<-JKyZdDae148YHDTn@ zgK@e@!?e3NsDg1ia@>W#$l*yS@O!%QY{S6DgCa5vxC$VK9ENEhX#9k#gOKqd$LL`6 zmJ}2DkQ^%IY{ELyI0fW=`D6Rfv(j{WAaY*)`^6$ip11orZU{opPKAdqzhrAxT6 z$l;wKr18x93{qPhoVTT2B>M-j;5#cyt-p7E`4$SPOD)y<1R^YF$`vlsqX$EasHrK? z=m-1_Vb>>93FnrQHMktVEPu{H=i)f^d2}1U34b6l`{>uXL3zGDm?19gnAe||(LDso zlAc8aW?zEZUxZ?iAVKn{T211g^B0q06OnPoxnA=a0oeoLJU$hz&~PQ zkUB)77rN*#B*Xj#31XAi99#2x{ziR|Yh-yI^Pfh(oXsY54nl z2V3ccm4Z0$#LPi^aXK}K3~)+kwa>x9E1=-hJ=^Id zP45#`InMoS8f``{Lm=y5oX<45KA?FpITm;V}MN^5&6nVj6olvkuTc0Ig18i(- zK;M^vmX&L1z}*Jj?kQu`B5ldyrmH0x(WHFcL%}apkr0p!=;`R_;Iw6+MojUb^cFx$ zGW?3)9&l1p#tL|K9~S=U3ecu<;fxds>Ep5O3jfAU&O8?n%Q}kjXAqW;YNW2zNH3v7uo#weNIpY^eMCJ5Xx(Zqvf;Wp|(;gWOErR|EJE5IAaE4$bb0d5;KR zPrlyxQoL$DS?_PjCfD%D?|u`-WG?xQ!wM* z6>g5_NdszmWxJgoK`)pQ9nMdllm`9mPKqJZU>Um=-G$wOKf3z}JSEJ)sAb$@y-B7? zOeSKo55x^TvYJLaemYgRz(PENT;z1p)Vb1WmH&M;V>NKR{T9E~wx&h2)^+;_dJ+1# z`=Md5@YurRjpw5C&bigbWi789+UvEVVREqtoO?*u0(jRzK)O*jGIa3_z94B_)+%wO zV9^{J8S?5;l~tf~#URz{BC#wb(@z#5!QT!T**HDY6{~)LG;x5|j8Sq!riR(3M!lye zbqv*d)%~mlTICa_Fhn&#ZYxdrtI(0g#^m~-yT9`(X@Vm)NNOYd6#%Z_mh_yy^DRa~ zJ%ZE<$)n;}O0C(R+~Z>PN?}9)$uJqntGQOhC=+;JrJ6U_(*Kd=aa!36o-c?R8);LdmIBJ zJ%(N`EfujaDtbAHBpt!YmTV5653M@Ng+G4~W4{bGh?zT^4i!l1&q$#ch1c&k0t`k5 zr%@U=b{|bL*&n3lyUY{3FK*FN(%{U7cT#o3`psp>QmwtqRNx2Y)dW*awAzR z`Et1OXli0}io&z%uNK?d7Y@>^z5U0F?nFmaRF4JC<(8$MLG+>xr@FGY<-xIm!&+^- zH#QP=tBPa--zG!`JLl!1&bFB*ooPei~;uuqOSWDCj=IP)Mqh#lK3e z6^+=Q8pPH>L!ZOXsIa(qxR6nSE!+)WX)>gKa(i*L&&VlKSpwaOgOcX1FmU&?D^M0| z1g;ysh+ioG&SdjV70Z;&2l0`*h7c-c%T)hHg;C?ldcYgQE?nncF3Q=o?_0X{{utt2eWsKI{z^JD-ifC#gy7u0RtKc8u>-N)&{dWR=*b4$4FRLy zb_(m!ty!Y4BbtR*2Ao?nWHHa-RgM+TnMXNcQ&rV1xiP+}<)x{ux#7ve9ko~Q7RzIz z)8P_=9%XJ8O}jY`Jgih-Y%biz_>I|-@1x)>XiW0P*Kj;~oJJRhH*sv08v{X zFk{3Su(;sg{ywq+qU4BF@IUjSyF8T6a)}AK`CW_3<)mLB;lAPhWxcPUbItiwr*a$Z~dZhAy1lYFDnR+`L0FRw#?wP@tSGb=sLgPZ| zXgwWqre%&=yfzdpM)OmcX0HL zS1xp}YN~t*!>xg5Y@QJw>Yi28s?K+9$o;Q-EOD#$1*=bqqF#E{jn~{Nf6?X`AkTz& z{kq85czhBR8GI%*!E8c4<@m(0qtUT3vb5E)F_5wJy*|_^se@^B#RU)VGgTEGKge6C0kQva8mncSNn8z;nVQ6dLD@U1WwA|f*e7N9=% zh}wk132Z;A!i5T{-|f5>>Kyj>t^Xf19Gt&ax`=$0az_V;isZ|tf#IlT$mIR?pWXF1 z2$9IigAzq>zRHp?P`+M^oB+RSgk^%zh1Ng8cXe;5@$Br`2GK7?(a1^! z>HC~m8C=K$)xqLdYjJNZ1k?^wu&}B}qyLd7NCKpAF*FzUs`}sMkU8Z7(PdK$X3Pic~Juz;~%P~h^Q3f!68t_ zhpuRC02*eBG^8MTqCIXfjj1p~NBeBxv2l0T1%yvoTBqu*?m#hU#{`b$`i*brJ(YOR z?D&e;w=a)#H*}Yn(DmWBM|Burts84BV+KD*i(guG1SBt;UB6JPrVp!Tk$1v^v2`lV z+v;mmHT#q7!G-qIQ*aJCBM0-K$5g~CRIr@_XZe0b_Te_h)aZ4os9IU>B5OkkLo24) zZ9m*J?;l_7!X$kpGI5l!L>ejrFjHD1rA1(O$)S2)1_(2E@ryY^7I-=|uN5oPN&g=8-2_xP}TW zz+Go?-OK69qth*Fqu^fedD}N#2#(pqw}#L&QXNZ_loBMpNu7+uq-f3e>l%?d>Lm3{ zn59z@+OLpyDPTam_IOtBg~b1%KZK9}lcLr7x&LlWOvxyRYm&@ce(XEuoARNi{W^Ja zJ?KnxKAJ60iA0;mRkax~_ixHAy`0R=X{<1itp+4Y^Oo&KC?Jcs3qhB{6Cc7%Y7B1wG_v9ut@^SUgC~@`MRTJ8$MxG;Q;0;?Lx=8YA(eewmADr^NMih>8cXz<9IwIk}n#5cM zHya6pG%OO>mmf5*&$YJriWPOnM_U!8KFa{3Twfzo8F63ONqz^jvm_vU){jjSi1Omp za=a3~lD@b2n{8l*4MHQmuRxGlnZ@7=v%-+-K2uH?4l7$d1?#0$HAft$H`~C^o3sdl zz!>v6V2u?Yij|p#P~7@F;dHGb$r~R9e^36P;bUA_ghuP#ZiM_pkg$baw4M|7XAJdx zaA>W;Kfd^pK>YhcrnsNGzv=8kxb=X*pCFOn@?v|3A^FN+2Tss6m@h43$iW(7ixu3r zfhl`;#Do*>!vxr5pG}l2l|CA>ct6z)cVX>`F!&76v4|;ByII^vOPxfl;dB z4*rHc_}hM(dYX#DQk7xGBnuq40UInb2~7VlyX+kWwdhAd*@C512CZUKEMi#F)uio0 z{*sZ5RWfe~qTR_!L1FNQad7bC*5DTzoRk(PlcK4HhG5QUC4!5vj|{OW!Q383G3;W( zQmV5dE}o34pB$e;El2&gqXLmF7A#}r7pq+dD(Vjwd>gR21Y9&n5&2JgPvQ&{bI4Vb z04hb5^XM;pzldIA#!yf&n(^Gh9M1VG5KBhB>)iT8(H7uvhuj&nZf*o!PH?yy4V2;p ziHHbM{?SOor;2UhUc;owH%}`DORD1QX(`_UV>w3)m<#A_L4I~;fCnO6X;jKQz|Yne zM3~ABsPB{dyY+Q7fQM!pq*Hf{3^bYq@OCiHV}Ze_(XOnrIWhCy{Fb%MWZCu2Tz-9g z)afAMQq54!-j-Y1Ql00r5b4GCYmI{QlUIU|2J0Hk!?%Z1Py!d(L!ro@Tb540Apim9 zG(gpIskD^z*&K5N=2Xwf?XSm~aU6C50gtxq-OnuaMUh1L!Kv^zYmKh`I5Twvp`E+h z++tgimq^U>Pb4vsQtoP-lg6~MVYar`YVy_89B}$8TwmZ8_HP%JT(ufn0r$l9NJjkz zwS49G0LRF{UMUXPas4hrUkv9^TwHfGUIqwoLN!q}_}}8v>YXE=#ri+e<746Kip$cr!^QZ|&sUo3tt}oa|i*h?ihI0Jd8IdX^@A&3-Oz2C8T)h;cIw zoE3{Wp?#Jpu>zT%IV&qwJh@lmTIQ$-)rkH2rT`4d3YlY0$uzm>Xz@q~_Vqv7pATJJ zv~cfe4=IN$bpt7>G4GLmy|DaLJ)cl5x%HORa_TMH-2R^Nm97(n*EK~PQzXGiV&aVf z)L~e`Xov*#$i9Emqo)3<{DqFT@^BOXTx=_~4S$;qj&uy&EkCvOZGo>bLWNc7_C7|2 zMGNeEFJaT?E-z*pz<97*lbw4lvsRQ4A8C`e)!DBt(VINFrUN9m7>&l4Um?Tci?0ep z9-@xkU%D4?P#274a&8A@)juZs*0c8y%^o@xELK>IjI+mPEL6eLllyP)6L!z`oRL2& z<3yWobmXJ5<-2R?4KZS}3H)O-u^9ucpr+wkX}l-HB9kGb+9sH$}a#TdD_Qb{rr+Y&=mu0mM1%^rN+V&5bRcEKr5xQ1 z!{>u=7)=H`(N-kH3}PAVXc@zd;T;=*4;L0(I)%)GS3uAA0cVecH_z8#O3$CwxBk2B z6t5}P2AL(OCD|Y;!9CRhe*`P-A)*UW{%Exa`^hJ)ko81LjM!~`>`F&(IL)$`8qjB} zyZ0sGqpjU`-k|huZdEvMmWOc)59Ro<^^FF8`i3XnEIM>Mx=4=f#KA$rl8GV`@GWEx z(&pk!khYLwLZY8n_fuYE7(KVq%8<}nqVyRPdFNLz=>$jifnGg+wUhH}&ZnK8fS=Ev zKM6+mgG;Ba{Z;ke0&_&?Ko2;S+%wAx(se1MV;Kqh1w=CoNPD2ogkO32kOS$y#VDEt z!JPqCtrle)a7pt3@)16U1n6Gz!x>1(lU*IlrL&d(K)jCSql+Qnd+c`Ma*r$IcZjW& z7*PkOKN(uKBZxQdaODK4U#mg$@Y5 zOl3Srj@`*?XSGLLdD~XQKn;Ti#Ygu)yG6!}J%@nQ2m7g)a+Qi~pGN2H;^$*3_FMT{vgc5fsc<8T40M^Cs&mcTYY{Q6xhVCM$uR?LoIP<; zbrl95l`?vlUC0>~WGR|kC`$_}i?lAId*70B+!}_5CU&u%uyjUh9yn4soD;b#^-LCP zIX8Sat-0m&J5w9f)M=j-QJi4EfITgD6Mp|o`uTdIWf@s=YVC*UJLsHrRZfdO2QhFC z=a--wqFQ5lYs&{_nd!mXDs!!gl?z)RhRa8`*K0{%>u49j@+M2g zDfTMcZ-0=ej6J&7W64hPXL z$+-67Pw3~hHk9c4Qf7j2qx+|;pw}vM<_fj(uLniA_tUC_z9XzYBa=i2rbtZt4Q_L+IfAih6h7+*%BAaqLP41v?ZjaKDa7~iE57O z__T~1RyJzL-x(Q^NRgKIs&b-Xyv_CzBZmz5wBLK*bRQ&Iq064(f#y*j4pykP8g3j6 zPA>#lJuuhG%bGqm53O(l)H({wAR9FnYYfH5GF>Q$emoS({&!_*eG}y}N%l}eUER=Z zAV2_4Ix#x2X2Xo*M&gc4QBMYGPd=kTEQi@E$^QDh z)j$LYjo0z<2`6e}<3sToN9;jCAoTZXHo*Nu`rMjgW!*hp3)qcSY-o-c34(r|I8Jmy>-WQuZ&E1+yCWgmNLSS6+t53Puqf0V8n) zrHZTv2-EZ@LZt9NjlchGjqdE)lr!9HSCx>@mgJJ!YUgZXjc{>db~qQG-CC+wvp$T9n5YH^_!n#PtGtzt2qkwp^vj zVnj}ad{boPFLoa7X9g4!EXMHBaRDsdBHz1wLKn_%?~Td&&3Af@v_w5s!KO5sP*!IvTwbw+R& z@ijfwnI6+#J&k?n^K zs=H7&djWStg=s*)EOx#$y`!f+qRBoGwnuXkn#F{XvkAf^-TkFf<5BnW4#K?K~k1#Wu`cgjbd8%rISv>9Z*@7 zSFoBhN zWY31+;R0+s%rCS^?IAT1Y4yj}_&Ml0!hXRG4_Arsoj(MBQX5PsLzx!_f05f0Cu9`q zFzmRle<&9)DbYN^r=Sx3XUR9)4R@071bI2~HI4CDzaj{8Ka$Ob)mgL=%VMiq7DwOw#Oad}qY-VVc7})@Vb#v5+nBOA_^? z$z;gPk6$dqZu`#owAzSbS!7XmRAe zeFC|a^aQ!Vq|cEyQJckikE}F~e*5b9($$T`EKYrht>69= ztBDbA=a0a*L65userf;9v$3&>af%Tia8X{6iX~G$v;cT%2zIWJf-1z7^T_P7sfY=3 z^VW6j7MZn`lvrgFHUwrQT^uQ>0sn;_6E-c=t$&zshHL4Z0@EORfgGEI?q`=C@;9^8 z!~CE7BNo7OH^9qgJHrj|zFpauV`j6!mG}4Z1pU;9pR>39)?o!qD3SeCW+Cwof0$?= z^eHAsA#P=M<$ksY&qvr}S0)cBT+wY*=C8X}w=@UKz6h)g#Vzd4D^=uUkvM1hAb8w_ zBaY?Dur~0aiYW-}QPKEj5t8`9r~^f(|D${In=fPctM}2S@Ff7K8Q3lTLAyQITL^`} zM>q3+Rw{z|NTc=&sQsbsj(pr57d}%Dc*T$K2J9IB9OlmnQ1$iged8*EhM)J9MP&_4 zDaVg!Q?NrUCcKlNMt=t=6!iB!Wj8a)G&)~&_iGF5Jdj;WD|_R%FvwWIC#qV~qi#1+VLTV(RqFO^;#m{tgD5Y2+E!%%I+Oo21tH?@;U)&gG% z)}PDJ#B2+w<}VzGR)}oKR^gfYv%lMGbsZ5U!N+$M$#w4vOnw{v`0oWWH z3#F4rIo&M}xrU2lIz3QqaakaBU+W!S! z{ivRI>+)kVl-B}j{U2aOR$N+K8+~(VPEHzOGfPJ!dm3R&Jx3!!BLf>lqyHV&hRZ}p z``;4#61U6`Xb}SepNQ?2G~qsuj*GtFg<_Cxt2oRZFuSYb=BAbftSD~pORnN5%dv)$ zRcSVX(sx(hEjVv$hdc+X*!`B$pR+@@ST=Rg$Eeevu}Mj1Z_Zzx8r>Tb3`TD1o~=43 zwremYbQKl}-{LSe4xJexQY_d52Fc%{TA`n|%rHL9AtDJl)(a1C)Ox8>ddn6IK??M5 z%aS`8611=Nmu5RfC!d}^;uc?Bx9{A46{wzx^w#SjSIW!;EQ1|J&+)Y^6ncs*vV!v7 z0d2~f&YVpEsmXH)8Wf>7vA480Gic0zw&dP2S z-N`wV{;Q?VzAQa0{ZDcJ31`T?tT?UsPyMf^`t*8jtDu9V1hnM;r%oWamE`D6n)KVEzR`CRh`@75K`MSO~rh|qT`+b*e96u$b0zr)+fCf=eUrU?1 z7B_!TNfrf(YQKQoN>LULd~VRRf^Ky#P9CEwjMS`=iCxM>KR?>p(Xu#rov{fbCA%X6 zqS?dcd+qxh!1e9YeV^q(4GRS3pYt2KjqToQ%mTam1DbbTP}3=CCDHw>;ZYllcb^*Q z*!lIGJ>lAg@5HtT`Z-6@9eJgY49XAaYzpWyZD``0q9#!L=ci}~Xi%%FoYX1C!@UF) zcfilWOsO?@JOyTdGvdCqJe?h&JP>uk3IK|Irqa;XetR8)eBt>@aor9`m#+!=ip&H~ zJsW{n{w{E*Ji% z7WPZYh4Vzyu5Et@Fshb(PIH!rq? zcZ9=VR4jY&qS!h?>4n%n9SLmayr%iG&TSrT@<`KH6+S}>ZseEG=YE)duouU*S(JI@ zF)3L;Wc)sm1ig9!N#yB_{#$?6s;yGL!qP@N^=P>ekaJWJnASwg30M*Rj=_VK5cL6z zK?H?jSZ+4|Qzvo#CPH|9qRv75r3)xedv$YhC^s*kLG8898H-@PNojz2(qo26cl{MW&LYBE&FDp51eHyUWIkD_o*) zIk2A3(2pZByh8{)8Q^IX8@%;{;H$s1z1`L^`c-C{<`75|A@JcGb4Tp6-nCOsZ>UH& zilIJ^8Jpj?Hix$edZM-Ow@d>tjyw+V1R1BZ6GXkC5P7QM&Z41#Mt^ugn6pLtBi!gI z(Rn@xD_JZm(H+Xw1{9bI#Y{=z&_xx%p^5mhUt0wgsn>Z(9unA3`QC{`~5W8=VRU+41UP4LzCfb&7a4Lh*OS1%Eojf;qc7KkIwf zJw-MW;Wm@a&I1n`)0?GeBriVS@WE+S|2*}hjow`CVzHj@o)UqX zSru?ffHst6a3VBb(wKaFZ8}H+bbeD#%S&sEM4K!XZ%v>V-vXnTRL4bV#E$t%EzEeVcvi_;^?$yciJ zu>6F<=fOmq99@wiUlUu`KKQJ^427#*Wt>!2>A;GEc5p~nt2?}81r2c+gXfr6KT=(( z$$jnNJs0+e6QNmrpl*#i;p$_;utm4l4Wk+qE}Je2&r_DJx@IYtJhB_Xv11w3Mc%Sg zQ5M{=r^TwcUiC3YZ9R(&PB{n*azkaknDa?mx&!BD^Vh-?#yZyF=h7gPz0aeORm9|` z@&clyymp3IQl&4+w|j0}O%m?+9+zzt^dVcegDRb+h77>Ec&~2^aBCEk9 zg8mgdtQ3SIHyLp}Kw#{Ru!b_p=6Q7OT1s&bG^rYtoH@VH;8Eqva;`A}0m#c8E^qKd zmfg&g3Hk_S@7khAUx0`IBzE(IX0Z@(rWR;wUmFs+3iG|>I zWFPAp8S6NepPwe>$)7@7QV}~eqtx>9GF;r%;;;?qZ4d!=H^l>(`LcrI zkKJaHyN#T5tj)gM5#qRc9GTkj^4+xfOy)M5&-0UC**XZ_`t9~+B!!m7E2K66He1rf zeXwhM&0d~@ZFSx^*ZwXP<}xaZnN?NhIe-->s$rdQJFr2Be0)`%BY8G(<05SmipK*V zIeogMsysz@WR)&P-&l@~RwbPrbf{bnX|7Gt{xP@u`}UI4Oj)YI@U5*N&9HX#Kj5nh zCv5wO#0m6-)37Cj5+Dc(hIrwncG@NQM$elZO^(6zHJSp^5Xtz;e|BFrCW*)ch{y4EXS{1yABa4`!0*K4x zj?VFR7MF>O+u4_=9L>?F-&d0MB$U8N2x+4uYw^!g$OVO9C~|iNzC84Q`E=2pSzSWb2>C!~YC{j0uXHPR?5L2p0#*th@i{&6Qu3oy+{f_#5-!uE5<(cKslq|GimD~RvKJt}#lU|;EG&%B^l#V$1Jgn@~PyA2G19P`|l zQ46>*n$d}9a8F=WcqW#Yi{J>w!_iZ8rUaMv#Ia~K$}|6_8d-Z$u@Vpk_zft_%92xM zg@-$TeH(SC`=)o+-}roce1Ev{fbT)maeDSAE6OkbRj8;gSSpJt8=f~`%4g7TZ_ihf z@ZupLRf6j)zse^KKtyU9cFsb&Y1_3-YFAftx-dwoj9cw%B zKFI{U|4T{cRy^Kmbjd55Oq=BB4S00h-MNdAGzSl(jXxIjV5id*b3H;HDc zt|g7>XgB$z4Sa(wt{P0sKCLGc&3*OH;is`Kg4c3+1zC@Fq%s{&T5?&Io*Y(XD}Kvz z>lmr=Qe^GmoQl&aif(qZD8|W`Lg6^gHV~OR1tl8gtgylE>UJ`|+8k=QpK%SL%5R~` zRT_mt(4O;-UvA1QoDvZ>IfHj3C2^TfJ9?K}%rgV1I5!my3yECu?N2X^b_0HCZII6i zD6Lh4_h8`_TEEy$T!(*(s`BLNwocjsOWHv^RF0yx`R#Tuk~6`Dg+IIV0xJskVpcRT zia!_CZK|x?C$dM9Del0fwA&k{kpiBSBGuLi?p3K_ zHVA0jE&Sf)D3DD4sCm_w4#Xk`?_fGsn7wX9cfkU~P4cGZbc*{+QmGh*fW0@KF~In6 z+i7IC)YouA(O^eAx2lbLu0wy_p2~HnpGo;Be6j?oVKucmDi8qw+AsF@^nAcjW z9YH!_amBO9&f^Q7Y~fAIYNkz#U-9RSk1zNOCPJAl`#W|ei5V&r^p%<5@(jXLVIQAS zi9NjUPILF$CkF7;&TYoh3r9DWMyGPF!fOW`$n`LYwA&Lau6(;MM0%hv6_P!4>z20& zK8F_PE2;21A)^mhv>LC|Lt-#36nnbx9$ZZpV~=fp@k9V=(vkFlT6TfxT%h>%Mq7(- zX2;u9Ugz3C#vvGubF)%7v^UCbybewVJ)L;kKXAv{KyhlfByyHySmx0s1?9#sb%K&i$)9Q(&{shDu$xBZajV_ z%q^Z;36ISZTySq0@b%sAV1{q>i9OtdUNfl!&-u$3EcXr833aJD2D=}YW~Ka8QbU-`{BW zrl|1U6UlbjmvXLz0XBB{Rw)GKP%C7dK-jx^tPv1H3BP}NTf2;4N(+fVr1+Y1Dt4ba zTXTK3+6A^zRwCyORcBfD+83B^$OKwhNt0_vAKRIdj(5lKg7e3pklP=~y&wX&PSe#g z^j@fyt&y2Vsd`&qojjT-yIy~}sAMqgeVy_?VYY$bXY45o#-`mbhDK7p-qPw*^SEi*S5p5xVzjV}e=fmTy(m>l+72tQ7ld@&|HjEr>s_b5f;WSDj+-nUzA=Q)G~ zw(&35+>wn`Ky&R7lmbD#%K-2vulg+&0!XZRgr?jU^6%}c0o}bXBjj5s^11>Yd12a-$J{4=aPyJYs>aS zABEA&=f9aXFQj1?rHY`6sCj5BHg-3YcZjnN#8uoIbGe@UXRzB;P2{Vp__~46`~01T_!b8#VK6zFEKUzc5u2Uum~_Z; z0&zk8+IZ=aE0YIBY{IY_*n$f30f~XE62C-2vphmqMX2bmOZ{?sSdxdIL&O{c2~MoM z;+*)3A2oB7zx_t^faxIY_}=lT*QbU?{+VPW^O;rFyc_I>qlkG+jqAHr3CkV=qs}$* zL7Is{88CBrs4o8%<|_$l6r0;>%QD3tF<+d8Y&prugKLf$YUXGYudCL~3C~XWh8DH5 zm*{}7wU@BNs7zZ-xvsdD2XT-JaN0^geDwBeNW_NSVpnX{-S#RoRwJWZnX!2dgA(JA zOO&BPLFa`K&Z*>E-;C$mG`+&)J6T^}(+Y!@CDGjKND*JjA!feDNQt|TX=np3P^+H- zF(@11?OBXBVwGa5(GE-R_vK~iHjTz?aGHs{hkXUYfEv#YvrHBBhE>Fs=l0iulvm%9~YTj zNq@3bB0TpgdR!@NhOCg_Y^+#CTsMDJ zA9COGa$ycl_k(LKRAXzeQ>F`uK7@qa!|~62W7Q<&@8VFk7x?nA2;i6-zwYE!>2sk% zfltBv9GjVc4%MxM0qu7O_QN4p)mZmJFeEye&r92KIQm54vuNV9dbK_jEz&KF^PL>> zW#JSNE)*n%d71lpHHZoJet7fdl2*l}mls8>;OI;iTk^{K;bDN-R9~p~y2S9oGq&Qw zd+Sf`>uc}r@;`bQsXV-c)Pp{G=B_dGdZMQz-CA-E8o;2RTwN64lR7=u7MGP?$>Gy6 zHVHj3jny5$n!UDBf9J^rRBmJ}rTNm04U45Xr69X&UxveC+buW9=!@rT_TY0-K zYgaugu}iFkfggX!n3UI?FLT^?8s%_Vc=WYhGwt=;Qm^m`JD-b%vp+6gW}b=M zF5QjpUa!e)paIt_5I@Hox5eY*tBN!_dV&737gZSB9v>!>>cTwC;)6w62d_CXFiL3Vc13BdC2g>T5MuV(v`crDYIY zJ1ZtktKo1mqxwE{OKI02p7;sfH=-rMTF%GARAFAUb+E22ML*J!_)H|LYGrZg+PqWTU zIy>d6#lqzis$^@G%)~hgDtD(Q;lb%_=edrZRgJ-qEbTqopI+zpmT=JCS1{xltFB{{ zUFctgpr3qHH>35Xj%^j!k1a2LGk77sZGhSQoweY=XHRKfTkAQCnwU==AYDQQ)6t_k z%*UuSOMjygiio7t=8_(F_UIfeOluX*2Eol4F)>k($R}oYF=FrTOQZyvh}D+QDI3YD zu&@O@f62|=AR-hvmGnhb?L_#ugj5h~T8a`UfxBzZ~!7P1m zUc9&{EgyLAl|dl3_ot_F!rcRK$wv|x^_&qcRgN_C1`fJulwT&s*}`1k$~%+IUPZKa zQU_2s-?u6w%nC@U_6t$Eu(HsRk*4BTI6Yc}unc(W99ctSeYg|-RUSN}n3q-=PJgj` zFibx-5#Jy)3PPnMAF8SN#Gm$_^#VRJTkgWSI|XIyo%l9>f?SOY?|fW1KF;l?KV7P) z!=C5IT|#ihQCn41wM~24a3QH{Ew?^jOT)MvwrAbR?8Yez`*@CdWVNb??jm16^vwu4 zQ0uiu|C4(R+aV#s2a9OBImYK!k=a&(N!8qO=Ud?P+`$ycVm1#|0yd7yRLLqXk$H<& zF%0TEV-HDyPl<9JJU1|md?~;_vPO2!pP8OIra^jdg?;m;w-DiCa%L0cHc^kMQixb+ z)2?Pb<~_a@22oB+Xw_gF=ro?pJmjz=#qX>^!=UhoNEbTOmy^KzEZzbU9Tq zuis)}3BEo%_bKQ`$S$gscd7e4rVru3q|??;(z6F8h6MfrqU;37^?XG(n^aN7fwECv zt!z_F$@+?rm}e7ClV7vVwnIne@u(J2$_rgo_kEt@X+K$Pj=ib!=y9Nc*IMyY2g==A zJkOe`o=&>Gl6*0frg~jj{Txy`h2%ZiP()_43znM90KSAR@o;d$XWAro7W5Hb^c@o= z2jD#pm%uik?QFXeB=T*W_CLOGViV_Hmif|#T?{IC=TKZ+YBag7nbwyZQZk?Tij2h5(+f*38J8N&EWuYxVwp}nF7<7)^K6t$ z&9}okz9zLJ3tI3u9+=27@P63l#t}{#U*ZUS(fOI+dJt^&f{h>V`K-j%iO{z*y@?|p z`whx{tE<)6t@~3W2x13qNZ77;tV~baMY>XXX`E2{bFlFX@=6*5NwODqB|ENcgMF{W z)Uh|f^@?6oh#FJXIs2~of0Xxh%GhN$#Y2~&TAtlb-m!%)=Hc~5X>G-NBpEY7^3dn+!M&0o9~e;l-(X+7s2iZwv;0#>uJx)+@rF&pD{Ag^*hwm4vRf$g5U z<#6iB&g(97>BEx?-=fOnXzy+{5x0kU^9g&z*m?N19g_}9`pp|~6uTG>JyGHPOg*Z3 zF|8!w^Mj)mu|1>~V$qMB3B`_2(Xx13Hu9n#D>7F#b>uPTVW#@-*RV7k@N#==TN^cHYv>cU^67y=Gf_CKsO+t)+`7Q54WkVg#CyyoRl7fO{ z9JdaMw1|!#r1Gjk@>#7V$|RbqWcnJCqI89><>%639p_28Z)KrR*wvnb9y~h6+vgWQ z%EhI7ajUJLFn4naQjV&^?k!5_gNVn{%n*yDcHEHQVXhM7jV&!l zKBAt=taAUB`L2>Bc2G}~b;>1j<`=@4Vv;DKOy>qQJx3Hpq_1`ca~GJFQ@-n+L-5*i(6MIP#G#@9FO z-D;m@9yo3fsFsoTFq&!TYuGlWHBF~uBvb}Fkz*+SJ4;vBf;+6a5S;C!#gWS| zq9%~BZAvSv)dP(+qm|wTn&uYKcO+P0v#iambo#8ZHpN`LESXo%LAI>54|BqG#aP&b zTRUaxEJ=p)WRm4EJ8okdPI!@A1AmRd6I-M?Z)9QOfwHwK^nU(Wp?>0BR55a5Jg9u% zg{1V3gnWSKDsN^b+Q7UsDVSoa6vdDC^kZ(_^2M|RmvY+oQ5;6_=3z5(SGq4Y z_&5Y~4igE$uv%FSr4$^VDb>RaW(wa;V2*s&OOxYksAsQ#z;7LDbJI%SuXMK$U-VTx zZ$yT00`*LjP!-KHD#|JB!q-{{%n%u7Lz^=qz_ zN#{36v)#{^ZThClR(=s6sDP!V=Vq$L^;SPP-)5(!)urdS5CPTLqRsqkvOW%)9_AZZI zt16qUdL;MkI#VFUBRF5|h{cYMjaE37W$6RQR>ftiWm=LBGI^$N){jH|Ga|6A5N71A zJznHLKuicdD#qQCOrBfUE>XEOIJZ9NKgNR=6;H4w+Btu{I$jOEt&T_gH5>ZqQ*p-J z^XH-bq5cCF6i;XmWZU}Gzal7Pwnr63Hk+ic>qdU-=`_l#RI)1@-cInw`9R}YUsJP| zn7VRlp+qlkVq(~5<)L2hgs_#equV6cm8%?Em>H!VhtdAQGD(+8+P~IboO<1t5vNrV zbE!|uh32`RKha5XGzZI7SFKW=(Z_W|UWjA_`tHNKCU$GKYql-bdgC&yjH^x!5)C`v z-^6wD+!jff4%}HMwb!N3%VKvH`aTYbJ(gr@DjZ*URMyMiR5R(-xK1Een)Svhd8$2v zBZ9L2GLzfZ=&bJV6ZCQqpR50VYqNwMZSQAvnMDXS%Fe#gbuZHZa5)+v+r(EX{CPZ)0 za)r2hU*gOrr<2Fs@L2-KL}&4kSLQZfBP%3HQf@m7NQN|`g4B8os47W%bMb+NqgH^oXs$) z)d3&z_-$v>jgrU*aj$l5XlCW!2hqb(_^rB7+Q`oIV7(zHMr~6P!Km}^onek_+DFW5 zE!f_dgf`)m7R)6nB5hrII0jvO6%O|NLVcp9X=7Jb*ds6D$WmIA&hxn$JYSu_Tw`@i z4-5$m4vY#67wgQ@R#IQp^z*w}d~xSEX1yo-VrqUWb}B6OTIv)5X0uciOBhkVL=wcP z_5w96HDl^WdNMXS^$~?2(jgScXQm&CLjhqZMDg{unw7BZ7(diK1%z7pPQ3XDPr1A9 z3vMQTQ3^$grx!T!qpJtQ;#@{t2dvb~zPub_HA?7Ju*!EV))3@qxWbSYCx0WaCSP)3 zc_3g(%OAMzkfbuHNw>0-w4?{Udqu-rrOwNjW|YTi<#EXQ zYCRB3p7BqZQ}!R+j;^N>86JG&wT!=M{biBZAKLxUP19tt-)CUd+x>-*cgI6JQvzcV zF5ToLjqrg_i01l&wu1Q)Erf()vbk1r%cSAxP&&whAC6D7Y@5a}6dsP~rN5z|<-Xq${z%uiaWN@SroQP%uNX zZO>=&D0g2IKR1v50!?=OJnqgQo41m{o*L!jPGqNs0A{AVao*f4In$>niH-_Z>kAlW z4ekd1_s8!U1wO3TH-A|BWFzC6O`Rh> zj5|gA1eQb5n(|Rn%6IiNMnXQ#->T##>=q&7dKiaxA5kZ|TRPNr17E{9n#fImdHoqg zl#GT>V^VY0YIv+jE14}ltVK7+v9$(4!Ruo^rflJIqg2(HnxZ_Xq79#_s|(82E;|y1 zjZ^wWNdvoqr@TB{!;}DUE~R*0zw-GR`KBr|)8@8&hdh}MXLK=lKA8QRt%6%vnewb9 zGq1UdBAyNCy=o%O{sfPLudA+|ANjMJirR<{U$V5XH;%PQ`XVi)UQ<*AdnxVqJV-uX zPrUnOSt*2S6$RG5nFJz!CuT2;)<`jyMhQvPn=n&}%| zxmo;&7}}t=CFAZ?8KoP>mxGSHmE%Z2-8-&9QmWdMq~YNWC0+J5T~`fWO5X^0oieE( z6t3k)0}AwxV$e+PdQVzM*Nj=M)!joK?BJahCTsB_Ff!tCc`(5%4H9LEFM7Q6?V!7E ztZ7$E9GjyJse>;@Jh1Kj0^NwfZVGf^mJK8I9gg-mQ+k`js-WAV-HPd%FA7JJj z#7l6>@p4)nl(?74dhHrqoQOdZPWBebagE97GFx4|oJ%}(PEp~!4=;pR!jv6)VYPJ6 z>p}%v4o_jcS~V5_8UmD_`n18gZr3CW<+ctfk<#r{2oNmWQgIO{(d2<)82I-@~Rh z&4mo*6NGXkljJ;~?&7xXMYDbt4Ym+BiWMJbL-36i6Y_-_c7@G%GrM{oOxa0Rm~Re{ zE~pyY;7Pq0ofjh7eQ@sjqw5TQn9^WZ{zDLsI^SJ4sse7ot!InX`jUj9jLYF~$#$IS z@~hoV{LJ&R?N)Je7=SMhRnInjqZYI|d%uJ)%7(937fhYr$n=w)9Xw073_vJhX$*7s1Q%)$>HjCdH8T0+u+ z6=$#5Ib;%y)Lp?DMSX>Y+_qvv%?pUjz*;={TBK#-u^5k9&WrWq)=C+O58kAzP$aJI zcJ1%odc!rf(s7e(mld&jk)(T}oiyJ%V5Wvy$U8ZwCp%-TsgeH?*sb*AKulqvcB7xo za_ODIOs9w`lf7-)?Q8M%H#gUMzLlca4`AD(SD*Ht%zV?5LZ{_qUG?*t0n>e3-g7^A zLjT-EtmmuTi^3Y!ailDnYWzAMiFcy}UiJNy$Tg~jPy6IwX&=Hd>)g_vaKz5DjGYe^ z#q|i;%C^+m(RwScN)2Be&zcpnj4B#r%1f!ioU%mS-J-V6+SR(tJ9*B-Jb-4K0-kSF z$kE4C)W3IaP7P33v>i%r3|IB-y_%T>xsMhxS(Sc0zBT!(w%IF2^gJV^S0j9rue7Z} zW$S*^sE?&}ns}=U+jehNHb{izd{(hs&B@bWojl*0 zovagA3B|pR`3&ay)^pK#V>L(V0B?wNUycfUx{uf6WS8Sp7hljw=o7kz+CftN$B?YN z*=)6V<%{LVT2nmq9yTHyQ~6H=G4{dKPR_!bT=N&qP$9+xPiV?Q0o!X4WlVUO-zwfz z=VrPBC*!Sq<d3)$= zTjtGA+te;Q3=80onSO}q&>`8O1@>&?H9`@KD_U|w6dIn(>4q+#mciz+&J;Lo@wpW z^QhK8+;DT@MiutDKZP{}x<1{0pzil_&gqr$J;<@Z$6?~bnv|Q3Sw0E$nt^5$j&ExN z2-0JxZ_Wr#h18uykKcAk2o?s1IDscO4>F%`-Mr^}ZAfUAKqG8>B&~(kDQr`CPG#WM zx?j;dx!Z+TKiZWN z^*07A*Et93Ln*J;Dav(R5yAcSA|SDZIO}qN`+!sWUb{KsTBA zx+n8dAmZ8e4;gv))vLZftS*iYNuSB9t(9GzCeI7FZ%xISkL0XkFnrBYL{(n12^ zmC`ln_Gk9nxNa>Snf)7mX;i+;h8Nk=*{8_*7Qf+tZo(fhz2>mBcyr5b%dd9H-~5DX zv0E-19BV2}u^3+_U5m%FFUT8A{1Fy^_1z{p<*OiR;;Kt5AQU!s>owufS9+WG*2lq5 zaZU_-m!4iym+VpJu;H-z#QmUJpW4fFw(}k4yE5Y9YsCv54~7i{r+C=aDb$OuE^CWa z7}zKl@mx|!q!GTxD6N36XR*n0F@*q;VS1CRz!$A3omZ^R?#D00zCip{IwUCp??Lzt z>);E+kJ=c=1i0R>H2~jMXxKP<(QZ3AMqb@3(K~3zSTu3)ncMtpbxS2o*3uB%Q004t zk3TsBF?vmX6&YZZFG$|>!m!+-ndkkTXp^x({-PzkJu*{_7j*n9fA;Z*LH;{F{s<)U z58FhBx*f-_)8b4wWSOOQvhYGq*ktje6cTj58lS%3sJm8W}Bi8dvZ>s1^{8+}fD*2pm9EOQwf?;vHJb z6kF^rKlH6HP>t(0-tl-jNgSV6KR?AF#$-fTx%o9E{j+wVpI3=`pgp))S8>anj=Jth zm%6z0r0$sh`HK6K0H#ATXv>>qxqvR8HepF^OX&b~fb;`cU*c$w-5kj_u1|Npbbxt) zz|5hww{q z&seu%yYMmJLfbCNz$O0Lip!gurR8M|B>M!BuiDEP+Qmhyn-}yn8UV*B%eIFO!Y0lY zaEAloZ!ZjJwm6Td0&!?D9Frj?e=#AUzfVXB8+SKVw5tZn!Py=SLV~~VT{3|1KtNF7 z_?N2@Sjx!(W#jlW-v})2c)Hi=?4A$C12OumjZiWkj^^$*PL7&B&S((i=e{T?5(ZXr zwLrUqpkQ^Bqt$mHf7z&pjW61O4{r1;gPd!Mq?W+Iz<70Xa(~{=HYRDMf#4m?z-tys z+VXZ+^8Ht(_rpp$!w!0g*0SDiLGDMF4_j^M*wGhg0#f`?Yq%M}%iYp+r(V08w?w%M zX^Q2T;Z!Usytrb`SQa4Aibh8!UXrhpn~~h0?$vV|k)oTGUdGQClOti*#MfC%$9nnc z8mE!*M>;YUm6^S1%=Gt?6KlPW;+EJ0%NHA7sCN@RM^bE4K!rXIV)J1>ZN$LFV9Y9X z`HQjO{hu6*zb3o@@BcpGNsv0^f_hX!`n19Z7e$R2#f+J+o3cuv*d@)bN?UN=Kyw2h z^^muQD%!%8?D3Z^%e%mP&{f;Fr{wQRz5 z?IQIZqKuqkOkHBl+~U!miB{gpw!U{9Zl*Z}X1Ipj^9Z}|6_Mo|mE#}tFfcAZIH52s z`BB83lBo12x9>iUyI+x*Rh^t$lbZKDqp&{n(aWroS2<-Zc@?dNRqc;zx=LR3l-2iE zH1_|+2*7?B0SPDXv$>3fLwS$_AcO#dhnFAtBE^3(vlY>fR_@jy0k9Iv-POk1;OFf9 zm2J-Is-xYUJY3DuZo zU_8vC5*O_NE(RtBCMLmYcYg+4 zOf2kkIC%I3ghW6d2GP&-v+G$N?pfvqAORBtLs{du0>5XHkyB7oQPa@U(KEBKUS?wl zY$KddUKkv~$Bz^c6qk^cl9st4D<`j}uA!-=t)r`_k1{j2KwDZ_+t|9ey19FJdU^Z! z28V=(g-1l*ii%E5N=~_xnwFk%Hz)UDUVcGgQSqblipr|$XEn9YUoQLHT4HgBTk?nhc8! zLkuJH6mhYWw?D4^Kd$fo%yYl|Nd91R7?hvyH-^wvQvA*iN@#bK1}y? zhjs^LSzY3^%hE?~hTCQ2ymE$Hpw z3@{=JvteO;Ygv~%w27qPk-h? zr*KhbP9E+eEG(xD{T6=o%fb1#h8*2^&icq>?&JXWMmd9l6%_nel`PDEtK;n9YJY~B zg*g~)k9Gi7GdG|f^e^iHBvn%St?FMk=iu;{HJyK<#~yuBdFwL zVPokd1?&J91&9yjh9I~hFij}GAe>haj^u{$3ql~m;D0IkJAuw%NV=j=caZ-j4Co(V z{8I8?VEmkse+}hdF!?ci&&vJ_oU<03Ts57X>_xv%I5|gPoNcTeK~O&6;qa=CjiZH= zmmA0TPW@W^7f2T7f|kJV9Lil3p^kKcc{YRQR9S^$)rJBMSUSh5wmd|JTSx_`6Vn zb_65|FF<7Yv&`~~GU+c~NF-we2!Cv?~7|6)3O3 z-{PY29Ty&XC9ck%J~ufoxnbvWUf>}c4naWp;QUbDs<#M;4nIV7G_0r#Jm9R@sUokn z(c>n^-K*HA0f7&~RB!d;_w^`rg28e9Lqof7RGQ3^2%7VPa*t95<}}mQFnJsaMKk22 zqonT;Milts-u3jv0AAbE?9KV|&z<{49rInkqKa~L0CYR2nivlUM>l}Ts;+1Y8*_Ij zK)ngPtmmgf=GXT_$w?Uqi%UpJLSaa_3_t-mj1M8f3xx>qO2|MZkTAHU08CU^5_lYy zfeOe-zyZMyCN3j@6p(@I(CAn?fxhc~en_ftK&9&B1gM72ltHKJ zQxN|T<&8Sp60BnY1p(vpi$2wQ(##A4i(MunYbt}5)~5yng+M$*Z`CQ@J_)SHtDvRD z1awn&`goLorUmdk?dtCBinb(yLitG8*rZitNdA$X|B;=4>Jt7>WoNh`g#Z5?vh$xX z`Tx1>Y%YM}i*La;M9`;(+l9cQ-Bdz!XAyb_`3pfDHxS>c>z6uM($&fN@5U+TyAdV7LQBLIeb`J;LD-IPf5R1p>Lk0agN}OVr=N1SHZ^=K#bR z0;)D>z~ljliGYau(}n{?e>bvRJwCzk#&E!J#^3==_cp*Gh+&RlhJgYOGzJud7efGp z`|OSvNaw~t0&zHSoTiy$K!8%*Kp8lOCGckf)PMtbC?F<)!N&pqLyv%lqyXT&KqX!P zFa!ezocVw&KX4TQ()cm-Il#&u4rXXq6-!mX>p;#O?cgTocp3%d>hC#DXE|39Dqj@h#SF=ue|I4=|^AYcTB{torj?sf_l21D?` zVX)tT{%qvG0?LQv=Yb3G{SK4&cbI^M>I^0VFuw8v4kQ4AygUMM!2Jad=ix>00tpZ} z58wv#ukI~;0;lKzJ?7;>!k|WA*zYjmKVWkI4&xLk6b8`aw`NYE^1}ZF7Rt-V^BoTW zFuwo-&{LezUDFli==R-~2$&GRyWA++xVfLv{aOF2&<@6r_>q3* z#PVCt4^9_73xJEvZ%#YExYz)#NooKD`>t@2)Bsc|XN(H~l=gPNq2UhLZh&DL_P1Lmrp1mr*WvlZs2&t*ijV@HxKiA0U%%0Ixq<&sD`wpLZyH7xXr>k8A zzfee@m*vFGe#yi$_3^}d>;;AP+eznjRPb*Yi=nO-X|(jnKE@!@q9YkN>HEc7xOBu71mi=4qr->^KwCwbD`_cT8}sh+1go$Zd> z?ZgV~&5(@O+{GoViiTM642wCOLL_(TqX;CB7=W(=pB@v ztcvv>ZM8Ixf_YfW+y#e>2e&;8?%<-Tnmo5n^Ql#V6kaO}m~5#uY0MJ78Q^=cWluCe{QOvi{%hInvE7ImpeWT2 z)foS?qLl9!t>|A&-ha`~Lt)VW=T+kH&eyLlIjUb*3y`;QdDJ}ohy$c zsUd=`BqS6BxUx2V;jH_M{{3Qo_@CB_OF<me>838s@oW+E8Cf)>V)r~7A`{jNOchasT6Kh)>{3*jrY*Z=?k literal 0 HcmV?d00001 diff --git a/test/pdfs/issue6769.pdf b/test/pdfs/issue6769.pdf new file mode 100644 index 000000000..5d928b007 --- /dev/null +++ b/test/pdfs/issue6769.pdf @@ -0,0 +1,114 @@ +%PDF-1.5 +%âãÏÓ +1 0 obj +<< +/Kids [2 0 R] +/Type /Pages +/Count 1 +>> +endobj +2 0 obj +<< +/Resources 3 0 R +/Type /Page +/Parent 1 0 R +/Contents 4 0 R +/MediaBox [0 0 100 100] +/Group +<< +/CS /DeviceRGB +/I true +/Type /Group +/S /Transparency +>> +>> +endobj +3 0 obj +<< +/ExtGState +<< +/a0 +<< +/CA 1 +/ca 1 +>> +>> +/Pattern +<< +/p5 5 0 R +>> +>> +endobj +5 0 obj +<< +/PatternType 2 +/Type /Pattern +/Shading +<< +/Coords [0 0 0 0 0 100] +/Extend [true true] +/Function 6 0 R +/ShadingType 3 +/Domain [0 1] +/ColorSpace /DeviceRGB +>> +/Matrix [1 0 0 -1 0 10] +>> +endobj +4 0 obj +<< +/Length 77 +>> +stream +q +/Pattern CS /p5 SCN /a0 gs +0.3 0 0 0.1 0 0 cm +50 w +100 100 m +300 700 l +S +Q + +endstream +endobj +6 0 obj +<< +/FunctionType 2 +/N 1 +/C1 [0 1 0] +/C0 [0 0 1] +/Domain [0 1] +>> +endobj +7 0 obj +<< +/Type /Catalog +/Pages 1 0 R +>> +endobj +8 0 obj +<< +/Creator (cairo 1.13.1 \(http://cairographics.org\)) +/Producer (cairo 1.13.1 \(http://cairographics.org\)) +>> +endobj xref +0 9 +0000000000 65535 f +0000000015 00000 n +0000000074 00000 n +0000000247 00000 n +0000000542 00000 n +0000000337 00000 n +0000000672 00000 n +0000000754 00000 n +0000000805 00000 n +trailer + +<< +/Info 8 0 R +/Root 7 0 R +/Size 9 +>> +startxref +934 +%%EOF diff --git a/test/pdfs/issue6769_no_matrix.pdf b/test/pdfs/issue6769_no_matrix.pdf new file mode 100644 index 000000000..cc7e00cb1 --- /dev/null +++ b/test/pdfs/issue6769_no_matrix.pdf @@ -0,0 +1,114 @@ +%PDF-1.5 +%âãÏÓ +1 0 obj +<< +/Kids [2 0 R] +/Type /Pages +/Count 1 +>> +endobj +2 0 obj +<< +/Resources 3 0 R +/Type /Page +/Parent 1 0 R +/Contents 4 0 R +/MediaBox [0 0 100 100] +/Group +<< +/CS /DeviceRGB +/I true +/Type /Group +/S /Transparency +>> +>> +endobj +3 0 obj +<< +/ExtGState +<< +/a0 +<< +/CA 1 +/ca 1 +>> +>> +/Pattern +<< +/p5 5 0 R +>> +>> +endobj +5 0 obj +<< +/PatternType 2 +/Type /Pattern +/Shading +<< +/Coords [0 0 0 0 0 100] +/Extend [true true] +/Function 6 0 R +/ShadingType 3 +/Domain [0 1] +/ColorSpace /DeviceRGB +>> +/Matrix [2 0 0 2 0 0] +>> +endobj +4 0 obj +<< +/Length 77 +>> +stream +q +/Pattern CS /p5 SCN /a0 gs +0.3 0 0 0.1 0 0 cm +50 w +100 100 m +300 700 l +S +Q + +endstream +endobj +6 0 obj +<< +/FunctionType 2 +/N 1 +/C1 [0 1 0] +/C0 [0 0 1] +/Domain [0 1] +>> +endobj +7 0 obj +<< +/Type /Catalog +/Pages 1 0 R +>> +endobj +8 0 obj +<< +/Creator (cairo 1.13.1 \(http://cairographics.org\)) +/Producer (cairo 1.13.1 \(http://cairographics.org\)) +>> +endobj xref +0 9 +0000000000 65535 f +0000000015 00000 n +0000000074 00000 n +0000000247 00000 n +0000000542 00000 n +0000000337 00000 n +0000000672 00000 n +0000000754 00000 n +0000000805 00000 n +trailer + +<< +/Info 8 0 R +/Root 7 0 R +/Size 9 +>> +startxref +934 +%%EOF diff --git a/test/pdfs/issue7847_radial.pdf b/test/pdfs/issue7847_radial.pdf new file mode 100644 index 000000000..892bd63b9 --- /dev/null +++ b/test/pdfs/issue7847_radial.pdf @@ -0,0 +1,130 @@ +%PDF-1.3 +%ÿÿÿÿ +6 0 obj +<< +/FunctionType 2 +/Domain [0 1] +/C0 [1 1 0] +/C1 [0 0.5019607843137255 0] +/N 1 +>> +endobj +7 0 obj +<< +/FunctionType 2 +/Domain [0 1] +/C0 [0 0.5019607843137255 0] +/C1 [1 1 1] +/N 1 +>> +endobj +8 0 obj +<< +/FunctionType 3 +/Domain [0 1] +/Functions [6 0 R 7 0 R] +/Bounds [0.5] +/Encode [0 1 0 1] +>> +endobj +9 0 obj +<< +/ShadingType 3 +/ColorSpace /DeviceRGB +/Coords [0.5 0.5 0 0.5 0.5 0.5] +/Function 8 0 R +/Extend [true true] +>> +endobj +10 0 obj +<< +/Type /Pattern +/PatternType 2 +/Shading 9 0 R +/Matrix [440 0 0 -200 20 220] +>> +endobj +11 0 obj +<< +/Type /ExtGState +/ca 1 +>> +endobj +5 0 obj +<< +/Type /Page +/Parent 1 0 R +/MediaBox [0 0 480 240] +/Contents 3 0 R +/Resources 4 0 R +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +/Pattern << +/Sh1 10 0 R +>> +/ExtGState << +/Gs1 11 0 R +>> +>> +endobj +3 0 obj +<< +/Length 66 +>> +stream +1 0 0 -1 0 240 cm +20 20 440 200 re +/Pattern cs +/Sh1 scn +/Gs1 gs +f + +endstream +endobj +12 0 obj +<< +/Producer (PDFKit) +/Creator (PDFKit) +/CreationDate (D:20161124005340Z) +>> +endobj +2 0 obj +<< +/Type /Catalog +/Pages 1 0 R +>> +endobj +1 0 obj +<< +/Type /Pages +/Count 1 +/Kids [5 0 R] +>> +endobj +xref +0 13 +0000000000 65535 f +0000001071 00000 n +0000001022 00000 n +0000000813 00000 n +0000000690 00000 n +0000000586 00000 n +0000000015 00000 n +0000000112 00000 n +0000000209 00000 n +0000000317 00000 n +0000000444 00000 n +0000000541 00000 n +0000000929 00000 n +trailer +<< +/Size 13 +/Root 2 0 R +/Info 12 0 R +>> +startxref +1128 +%%EOF diff --git a/test/test_manifest.json b/test/test_manifest.json index 61f33ff4d..4c95470f9 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -485,6 +485,12 @@ "lastPage": 2, "type": "load" }, + { "id": "issue7847_radial", + "file": "pdfs/issue7847_radial.pdf", + "md5": "59dc206ec5dd6e6f701943e4694e4147", + "rounds": 1, + "type": "eq" + }, { "id": "rotation", "file": "pdfs/rotation.pdf", "md5": "4fb25ada00ce7528569d9791c14decf5", @@ -637,6 +643,12 @@ "rounds": 1, "type": "eq" }, + { "id": "issue6769_no_matrix", + "file": "pdfs/issue6769_no_matrix.pdf", + "md5": "f88806137fb4592975052ff3508d7b1e", + "rounds": 1, + "type": "eq" + }, { "id": "unix01", "file": "pdfs/unix01.pdf", "md5": "2742999f0bf9b9c035dbb0736096e220", @@ -2552,6 +2564,12 @@ "rounds": 1, "type": "eq" }, + { "id": "issue6769", + "file": "pdfs/issue6769.pdf", + "md5": "724b94d6bd1e8010403328446d0ab061", + "rounds": 1, + "type": "eq" + }, { "id": "issue4304", "file": "pdfs/issue4304.pdf", "md5": "1b1205bf0d7c1ad22a154b60da8e694d", @@ -3976,6 +3994,12 @@ "link": true, "type": "eq" }, + { "id": "issue11473", + "file": "pdfs/issue11473.pdf", + "md5": "c530851b0523c81784ab4ea3115a7c67", + "rounds": 1, + "type": "eq" + }, { "id": "bug1140761", "file": "pdfs/bug1140761.pdf", "md5": "b74eced7634d4f248dc6265f8225d432", @@ -4392,6 +4416,12 @@ "type": "eq", "about": "Support for CMap GBKp-EUC-H" }, + { "id": "issue13325_reduced", + "file": "pdfs/issue13325_reduced.pdf", + "md5": "a9311230d2e3388070711be8748a1aa0", + "rounds": 1, + "type": "eq" + }, { "id": "issue2829", "file": "pdfs/issue2829.pdf", "md5": "f32b28cf8792f6ccc470446bfbb38584",