From bdc82087dfe2203f73aabc9e32aa24527deef764 Mon Sep 17 00:00:00 2001 From: xiao149 <18302128586@163.com> Date: Tue, 7 Jan 2020 16:12:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=8F=AF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新可配置 --- 3DProject.html | 47 +++-- ThreeJs/Modules.js | 45 ++--- ThreeJs/ThreeJs_Drag.js | 4 +- ThreeJs/config.js | 65 +++++++ ThreeJs/js/FirstPersonControls.js | 300 ++++++++++++++++++++++++++++++ images/lunbo1.jpg | Bin 0 -> 80422 bytes images/lunbo2.jpg | Bin 0 -> 101296 bytes images/lunbo3.jpg | Bin 0 -> 58123 bytes 8 files changed, 415 insertions(+), 46 deletions(-) create mode 100644 ThreeJs/config.js create mode 100644 ThreeJs/js/FirstPersonControls.js create mode 100644 images/lunbo1.jpg create mode 100644 images/lunbo2.jpg create mode 100644 images/lunbo3.jpg diff --git a/3DProject.html b/3DProject.html index 54b243e..bfd46b1 100644 --- a/3DProject.html +++ b/3DProject.html @@ -28,6 +28,7 @@ + @@ -43,6 +44,7 @@ +
@@ -53,17 +55,13 @@ */ -THREE.ThreeJs_Drag = function ( _camera, _domElement, _scene, _controls) { +THREE.ThreeJs_Drag = function ( _camera, _domElement, _scene, _controls, _isPaused) { // 过滤不是 Mesh 的物体,例如辅助网格 var objects = []; for (var i = 0; i < _scene.children.length; i++) { @@ -21,9 +21,11 @@ THREE.ThreeJs_Drag = function ( _camera, _domElement, _scene, _controls) { var dragControls = new THREE.DragControls( objects, _camera, _domElement ); dragControls.addEventListener( 'dragstart', function ( event ) { _controls.enabled = false; + _isPaused = true; } ); dragControls.addEventListener( 'dragend', function ( event ) { _controls.enabled = true; + _isPaused = false; } ); // // 添加平移控件 // var transformControls = new THREE.TransformControls(_camera, _domElement); diff --git a/ThreeJs/config.js b/ThreeJs/config.js new file mode 100644 index 0000000..2b5e05f --- /dev/null +++ b/ThreeJs/config.js @@ -0,0 +1,65 @@ +/** + * 这是模型的静态常量配置 + * 和货架的配置(一般要从数据库读取,这里仅做演示) + * @author 谢宁, Created on 2020-01-07 + */ +/** ***************************************************************** */ + +var PLANE_LENGTH = 24; //货架板面长度 +var PLANE_WIDTH = 55; //货架板面宽度 +var PLANE_HEIGHT = 2; //货架板面高度 +var HOLDER_LENGTH = 2; //支架长度 +var HOLDER_WIDTH = 2; //支架宽度 +var HOLDER_HEIGHT = 25; //支架高度 +var LAYER_NUM = 3; //货架层数 +var COLUMN_NUM = 2; //货架每层列数 +var BOX_SIZE = 16; //货物的大小(立方体) + +//货架数组 +var shelf_list = new Array(); +shelf_list.push({StorageZoneId:'Z1',shelfId:'A1',shelfName:'货架A1',x:-100,y:27,z:0}); +shelf_list.push({StorageZoneId:'Z1',shelfId:'A2',shelfName:'货架A2',x:0,y:27,z:0}); +shelf_list.push({StorageZoneId:'Z1',shelfId:'A3',shelfName:'货架A3',x:100,y:27,z:0}); +shelf_list.push({StorageZoneId:'Z1',shelfId:'A4',shelfName:'货架A4',x:200,y:27,z:0}); +shelf_list.push({StorageZoneId:'Z1',shelfId:'A5',shelfName:'货架A5',x:300,y:27,z:0}); +shelf_list.push({StorageZoneId:'Z1',shelfId:'A6',shelfName:'货架A6',x:400,y:27,z:0}); + +function GET_PLANE_LENGTH(){ + return PLANE_LENGTH; +} + +function GET_PLANE_WIDTH(){ + return PLANE_WIDTH; +} + +function GET_PLANE_HEIGHT(){ + return PLANE_HEIGHT; +} + +function GET_HOLDER_LENGTH(){ + return HOLDER_LENGTH; +} + +function GET_HOLDER_WIDTH(){ + return HOLDER_WIDTH; +} + +function GET_HOLDER_HEIGHT(){ + return HOLDER_HEIGHT; +} + +function GET_LAYER_NUM(){ + return LAYER_NUM; +} + +function GET_COLUMN_NUM(){ + return COLUMN_NUM; +} + +function GET_BOX_SIZE(){ + return BOX_SIZE; +} + +function GET_SHELF_LIST(){ + return shelf_list; +} diff --git a/ThreeJs/js/FirstPersonControls.js b/ThreeJs/js/FirstPersonControls.js new file mode 100644 index 0000000..4994e00 --- /dev/null +++ b/ThreeJs/js/FirstPersonControls.js @@ -0,0 +1,300 @@ +/** + * @author mrdoob / http://mrdoob.com/ + * @author alteredq / http://alteredqualia.com/ + * @author paulirish / http://paulirish.com/ + */ + +THREE.FirstPersonControls = function ( object, domElement ) { + + this.object = object; + this.target = new THREE.Vector3( 0, 0, 0 ); + + this.domElement = ( domElement !== undefined ) ? domElement : document; + + this.enabled = true; + + this.movementSpeed = 1.0; + this.lookSpeed = 0.005; + + this.lookVertical = true; + this.autoForward = false; + + this.activeLook = true; + + this.heightSpeed = false; + this.heightCoef = 1.0; + this.heightMin = 0.0; + this.heightMax = 1.0; + + this.constrainVertical = false; + this.verticalMin = 0; + this.verticalMax = Math.PI; + + this.autoSpeedFactor = 0.0; + + this.mouseX = 0; + this.mouseY = 0; + + this.lat = 0; + this.lon = 0; + this.phi = 0; + this.theta = 0; + + this.moveForward = false; + this.moveBackward = false; + this.moveLeft = false; + this.moveRight = false; + + this.mouseDragOn = false; + + this.viewHalfX = 0; + this.viewHalfY = 0; + + if ( this.domElement !== document ) { + + this.domElement.setAttribute( 'tabindex', - 1 ); + + } + + // + + this.handleResize = function () { + + if ( this.domElement === document ) { + + this.viewHalfX = window.innerWidth / 2; + this.viewHalfY = window.innerHeight / 2; + + } else { + + this.viewHalfX = this.domElement.offsetWidth / 2; + this.viewHalfY = this.domElement.offsetHeight / 2; + + } + + }; + + this.onMouseDown = function ( event ) { + + if ( this.domElement !== document ) { + + this.domElement.focus(); + + } + + event.preventDefault(); + event.stopPropagation(); + + if ( this.activeLook ) { + + switch ( event.button ) { + + case 0: this.moveForward = true; break; + case 2: this.moveBackward = true; break; + + } + + } + + this.mouseDragOn = true; + + }; + + this.onMouseUp = function ( event ) { + + event.preventDefault(); + event.stopPropagation(); + + if ( this.activeLook ) { + + switch ( event.button ) { + + case 0: this.moveForward = false; break; + case 2: this.moveBackward = false; break; + + } + + } + + this.mouseDragOn = false; + + }; + + this.onMouseMove = function ( event ) { + + if ( this.domElement === document ) { + + this.mouseX = event.pageX - this.viewHalfX; + this.mouseY = event.pageY - this.viewHalfY; + + } else { + + this.mouseX = event.pageX - this.domElement.offsetLeft - this.viewHalfX; + this.mouseY = event.pageY - this.domElement.offsetTop - this.viewHalfY; + + } + + }; + + this.onKeyDown = function ( event ) { + + //event.preventDefault(); + + switch ( event.keyCode ) { + + case 38: /*up*/ + case 87: /*W*/ this.moveForward = true; break; + + case 37: /*left*/ + case 65: /*A*/ this.moveLeft = true; break; + + case 40: /*down*/ + case 83: /*S*/ this.moveBackward = true; break; + + case 39: /*right*/ + case 68: /*D*/ this.moveRight = true; break; + + case 82: /*R*/ this.moveUp = true; break; + case 70: /*F*/ this.moveDown = true; break; + + } + + }; + + this.onKeyUp = function ( event ) { + + switch ( event.keyCode ) { + + case 38: /*up*/ + case 87: /*W*/ this.moveForward = false; break; + + case 37: /*left*/ + case 65: /*A*/ this.moveLeft = false; break; + + case 40: /*down*/ + case 83: /*S*/ this.moveBackward = false; break; + + case 39: /*right*/ + case 68: /*D*/ this.moveRight = false; break; + + case 82: /*R*/ this.moveUp = false; break; + case 70: /*F*/ this.moveDown = false; break; + + } + + }; + + this.update = function ( delta ) { + + if ( this.enabled === false ) return; + + if ( this.heightSpeed ) { + + var y = THREE.Math.clamp( this.object.position.y, this.heightMin, this.heightMax ); + var heightDelta = y - this.heightMin; + + this.autoSpeedFactor = delta * ( heightDelta * this.heightCoef ); + + } else { + + this.autoSpeedFactor = 0.0; + + } + + var actualMoveSpeed = delta * this.movementSpeed; + + if ( this.moveForward || ( this.autoForward && ! this.moveBackward ) ) this.object.translateZ( - ( actualMoveSpeed + this.autoSpeedFactor ) ); + if ( this.moveBackward ) this.object.translateZ( actualMoveSpeed ); + + if ( this.moveLeft ) this.object.translateX( - actualMoveSpeed ); + if ( this.moveRight ) this.object.translateX( actualMoveSpeed ); + + if ( this.moveUp ) this.object.translateY( actualMoveSpeed ); + if ( this.moveDown ) this.object.translateY( - actualMoveSpeed ); + + var actualLookSpeed = delta * this.lookSpeed; + + if ( ! this.activeLook ) { + + actualLookSpeed = 0; + + } + + var verticalLookRatio = 1; + + if ( this.constrainVertical ) { + + verticalLookRatio = Math.PI / ( this.verticalMax - this.verticalMin ); + + } + + this.lon += this.mouseX * actualLookSpeed; + if ( this.lookVertical ) this.lat -= this.mouseY * actualLookSpeed * verticalLookRatio; + + this.lat = Math.max( - 85, Math.min( 85, this.lat ) ); + this.phi = THREE.Math.degToRad( 90 - this.lat ); + + this.theta = THREE.Math.degToRad( this.lon ); + + if ( this.constrainVertical ) { + + this.phi = THREE.Math.mapLinear( this.phi, 0, Math.PI, this.verticalMin, this.verticalMax ); + + } + + var targetPosition = this.target, + position = this.object.position; + + targetPosition.x = position.x + 100 * Math.sin( this.phi ) * Math.cos( this.theta ); + targetPosition.y = position.y + 100 * Math.cos( this.phi ); + targetPosition.z = position.z + 100 * Math.sin( this.phi ) * Math.sin( this.theta ); + + this.object.lookAt( targetPosition ); + + }; + + function contextmenu( event ) { + + event.preventDefault(); + + } + + this.dispose = function () { + + this.domElement.removeEventListener( 'contextmenu', contextmenu, false ); + this.domElement.removeEventListener( 'mousedown', _onMouseDown, false ); + this.domElement.removeEventListener( 'mousemove', _onMouseMove, false ); + this.domElement.removeEventListener( 'mouseup', _onMouseUp, false ); + + window.removeEventListener( 'keydown', _onKeyDown, false ); + window.removeEventListener( 'keyup', _onKeyUp, false ); + + }; + + var _onMouseMove = bind( this, this.onMouseMove ); + var _onMouseDown = bind( this, this.onMouseDown ); + var _onMouseUp = bind( this, this.onMouseUp ); + var _onKeyDown = bind( this, this.onKeyDown ); + var _onKeyUp = bind( this, this.onKeyUp ); + + this.domElement.addEventListener( 'contextmenu', contextmenu, false ); + this.domElement.addEventListener( 'mousemove', _onMouseMove, false ); + this.domElement.addEventListener( 'mousedown', _onMouseDown, false ); + this.domElement.addEventListener( 'mouseup', _onMouseUp, false ); + + window.addEventListener( 'keydown', _onKeyDown, false ); + window.addEventListener( 'keyup', _onKeyUp, false ); + + function bind( scope, fn ) { + + return function () { + + fn.apply( scope, arguments ); + + }; + + } + + this.handleResize(); + +}; diff --git a/images/lunbo1.jpg b/images/lunbo1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0a9c817135dba8a4aea8edf247722b1bfc46244 GIT binary patch literal 80422 zcmeFZbwE^I*El+KNS8E7OAp(!Xrns52NKvIU9WTr|!8=o2jBN@eEQ_=~9}@rmE{XNU_Kvri zB6eZVx=gZ>P(o-{9@W?K70A_vtOL*h2VtHLPSO{em)kRYWo%^-@7<&*+K(E&Xru*g ztCjKI3UWkDP%&2KM{}vnCOZrQ+N9Yx2l!f^eShG4@4!45hyTh9HR@M7#5wvjKljGl zJY-5<2?;>HT_0txvv+EGv@OUB3Ofg=+YH~4tH6_^wDG;`o&|h9PPNV_=UZ;dX9{>f z+e6vR`XqO5KCaMe0j=>{P~H8|F#P&s{pgjk*_AB^h{obLp2F(g6QQV9aNwx?#7Fz< zv3RwqN&{eqH{$UvJ9hcu=By;OtAV|R_U(Z$nvkbY%iCab@5@)9EX=i3^iHB#_n{o1jy)o`pD#T9+gSiQm3W~cpAyMF}!giUl;ZOX{9v1)^0!>Vy_ZB zyTTQ5hyLEuf^w5c1$%ec?QtJdNzW{9XgtI~Z8Ai}VkK^*Fv|MdLF4X9h8?!!!Lb|T z-eX#A`F3x&&VA-Lv6PIt!bBqaqwB48C#`+KmXD%>eT)Tmt)wMsJh@n|x?wt-tZPSF z>zBkl9I}0ocKDLt;ugKq;0-9*I{AI`ja>V;`La2l9L29+%SeoG1SFxhE*=`5CrS>f zp;?GsC^@E=y=sZ(*J^9hy%gP#lIH-gYki8C=GUmI$~hWZfs!$UA3sXnoi=zm+jc)b z `T+}`jTP7JRLa4csJp&j3|gCpC#WoD_zEC=kprEUF!QGclM%6tWhYH) z+HGnPcyt k=aQhCO67Emdb6M*m*D_ud$|N&7Pm z){U=Z8*?>#K1IuYyreSiR|+b9&HCNeEq#+_^-KkQI&YpT-GFaxjC_bw8F |n nz1 zdonSXY!(AGhvp4SRegpxzqvIOPWzk#s(U(bg(}oABVC_an|vq^zo|A{E6d BsMhT4nTYqz}JUK!z+P*EWfZ*x+oMVf2Bb*J7_z z7THery7vv=+>(P>y%JzjYN~v|9PJ!9gvFob+`KJPKJ$_{*R=!7Zp|uhWKU4-(|sBO z#dOugM@yZV?+M7+b=PN&bX06^&h!_5mwgez+hKm&Mxn@Fj?!JPCaxbY5(d9sR3ZA9 zqKJUM4L_?+g?ESte %wfep8ZElu&g}cygpP(mXkZXt! z3HLiS(iR7JBXb%H4@F69dUpr3Ke$LWB)_b3tnQqB@DY#o$qia8{B;6rV~QZX7_O=K z?*pM+_vv`KpXIoSCE-37OLGbSs U#Th(VL0wpfK8RSo6oGq;ua))@YnghrR2B%xm);{;pXP@@VPq`hzUe&_( znye@@RIET0IpsN@Vrsr+oWsA8m Er$8R(BSia+WO{?w=lQWK-jcKbhN+cV%U~jS#H9Ub;vrU7e zw&+299^gZC!bc>Qi2zo~L_`EQuAD_CZ8*+1_U;I2!^GEPbBVACGCE7GBjkHa-gn(r zNe0}cCfuL=1U6CT1S{SUyg0OS^16MFabs} JP<*Zbi?6vPiczbJ< zrUT4p6fD^#?=UR~ly>wzY;`bnKJt7~#M<4a6+R^DXbj}@&JwwKd=3x;_0hyMagSR< zdt77egPBxfd&TkbO75^cy(hgbUl$*3FCPKcD#b3}AAShJAq(xbpAJtpymEDFV`mXL zD0Ht;*~Qdy+a)QE`oV}ez9IPDsZlTR+jXYp5jPr&+Z5%C6lAvSEv5Q%I=#f&?D64W%85kn%0`&NsZYCv9AKG+_4086`S#L? ;_I}ZRsMQ!CC$Y&~z08EeEX4MTI#Mlzk}~C{l~C0u?5itN=(rP!tIx+W7^4tY z_uJU#9WoXiam86H1h&2VWSn tSyd@~uD$gBt7d&9?$agOWMeh!$8B zDiK1~wsM)V-Dc~<>J;Phq=e>I=LtezJ`N7#4)W~+)>&|w`9Zjjmiw;;mO8w6daBHf z2y+Q?Dma-+U5(D-b4lJlOSH(PPsnus5U(uYK*{>iN+|0wl*?uP%zv+;F)px-iIhIB z#2~kXitpyC^hc-1F{y I@^S9FEij_~tsKAm#?mUwObdiS#q`O(j3UHIg9Us%G&KND7y;FeFN z-yP4tek;ijHPIH?bUA=99^S1ijngGGPM~e|9C3d8HTt`$Q1;bZn>G_-c45B3XX{s* z3hdS`y4r`MpSHVAH?$AM7|T>rXmIW|*t}RL9btJBX;<*($`(*VZ87QVe_=OioHr?b z?JdiVGZ+5XM)~8VkX+jY)LYnF>g}#N^%BeW!4GrHQh3#zpi3Lwn}(=h9coOfMbm0m zG#tOp`YSUbd77OWq9gUi #M1o=(otEJxZ2>)VNJS;RL+% ?7;1|a+&A0cKnV5AtH#foR3LpnV+l5$s4XaHam7tlq z-7&Lx3$&c>I_UvMjZj<88+*dJMGh-F(=$L}$?y_gov&D)2SMK7#0Y#JiF~;7uB`5v zOZ!6Yvmq6=PcG{U=x$0hv 9NBcHU^|b-S1BzJ= zY|(^!7S%;doW*n_yASSpe6HH{nPK;ca}bipiNwzz=#ex^xYNYyz)r=+VQ?5Kt&6rx z`c`3BwnV}s&=X<6W2sR$-z)EQ{cAY+GkMFz-je<*b#JpMXipcKD%rIPiZj!5K(KY` zn;~+41n`BKcdV7Jf$252aD7g6RjVO3(#hIac3tZ6H$7KYS%%)!oCwVzsTN|@W~U2j z{I?O4OYst`8-3Y~y;G{AFc@#7YC;{@e6pAUz^$0cz1FvfdSXZpH3Yig5`T590 IFY(z<>Vp^L>!vPQN_hmijTK)^^+Joz)^}PbmaeNQ#advet?)=k^jw4Z zOsn7qLf0Nln<&Ei@8@RJCD2omaj`c{I<3)s8u94ck6XaXsiIc`Vq`Nu;Q6+5Q0-QD zbR)~-nT=K9D8H8IBp*%*>D`>7oFdUBfi~#L+eUB s1WxvIauU!|PyVh~5z-AJcf4C!&6BM5)dBB|as;XKe@ zxqLFWQn%wEI60?GYralzxlD|kZyUy@QbdHeE E= z$Idt`UxX@me$z0_6?lWYre=E}LlTw` Uk@YHIW5rXsSvO9`(8~r{X)2OzV7&Fryasd$x$$aoET0Qn925 zNlr>MPPvhVI6|u25}pgTHIJUK dW8PBfo&`H>_+xXljBy%+#=`P4pf~K88hU ziMVyX-Bi_?!YW=CrQCdAW}i%8Lg?l(IAhgT$TZ5P;lf>_tX5!&JaALZR=e&j$adG8 z!Ob*XV~NrWUq&;Z`{E&bDZCbF`pq (>*Sql~1=9ZW4H816(>12G2GOT(;I9-Hf7CH9sK0^G#|hq}x>T zyj9(3|6V&&(7bcn%q3l!TT cQqPlnJmbvqJgmiCR?%kmUjcyY#Zerf{NrRvF+I73 mOyDBb fU=cLHRG(Uvy!fF|p`%G$QVTiJbs`cp5KBeAZ?oQT9aD+2 z!^`5B8)ut$E$GGD2yV0(#oTN>2k_G@CWQ8;ulpq>GQ6la6H*Vz!Ht)m{N@Wg kQ _Rv%94lfRXu&9nw4&GrngQI_f~+fI5xY~RWgi$+ou^#VfR>DZv6F=_z~|a zZCPn8t&aPKA+NrxztLf{yZ3=8$8m1c&xyc+z)LAKF$l~=9aR|{KWN=q(aWihNuoJ7 zaXr-DUL?V$dHG62i_(yD1^a#N2Uk;jeMOArtE2Yz@#T0!c}E$oa#>|scxhpq15Xm4 zzUJZ41z1=((1+wDoQ75$^HyAEGbcof7-5f ov>ZDz@f^;p-BO38~v<++B8G9YD9X-ts5;PhBZ^_Kdwg zwj#e@qBvc?_EkFXEX5ll)*5{CGe>y~-oc}JiD;Zhw4u_W6zjR0))}F(_eXbD;iA+X zqpoG^H8))&2nus)AJ-tA >8 Bh1}v}%llfj zT2M1`B`|5NW<#fr+ E_8Z>rygt-Zy1j4NxmAk7kF^)gt}6V?)xf zO!}~I^eK;7d%~sz>_@?^&EY1|Qn~N5znO9(-vehzzAan2?HqzXJP55UgA|!lPg+4{ zeJL6BN~NB>N9wAgj|6!^_pFkS>1Eg$;%~U+_|_Auc~#1PF^JhO!=k0U#f@7r_>F*k z5e+6-Il9HSb*(C{@um*_y~eSp(68a)LuGsQy^W6&x9!1d$@zsIY5pb0h1BJ*bNrA_ znOKE-OgbfXLK6lvVD2j~9+dO#rFey!0H>x&UbqBe3~I`Dnz~XI-grM7Fdk<}M|C=L zLj#|DPt}DG*{m`k#K5gtN6c%1<<9-~fvg_7Rq^nlGtc8_OISx^y?5?9+3TDxO0#E` zOC553q*IGUdBXfO4~aHkgWqN*UnLDQ&%L8w-kyj?z%2v(c9+-Z@n?w%JWr$@tW9i# z@Oo2!Y&T0tk4`sE9=BBboXm9>8m+OCH^HhrHqXA93an6$aExX90~W1rRfR?yo7$sX z%xLsX4OF9YfgpiHhaM(QNKmVVo*S z(xUzi9*p+zfO2iQx4d!B?|hbhYFNS(N|#V%xev&|2+zjL>@f9v)N4+n@FhGGWl_0e z-7d>RACg7bTRgR!`N53B(m@BPRo`LA;AB(V@FIF(;&BvvssfrNQAAV0q0X5uuXd4i zs7exh9JP={apkJwm*5oMqmdx1qw=!?V*T`yvg_a5ic$6?6P|n)7Ai$@G5`{7{SFa# zA&>1Xph>(g>5>h5Qz~rAW#rhtkS8KZD&aQvf$`NPeeU+m&o^JMX~z<17v1=7TNk`z z5!ZxXgS6ousH7-E7HMM%`Fb@J&X!FlZL*|*IP8Eds 6#_V7vTE6!K&~?oKInV^{+%?fH>bnkg}`|DIXtkXWSJDtwW^P z6mZkXn#_)$Xb<;$cfQj|H({cor;4QbG7^43@HE2CS9IVzu0g#@^o_s`q!;GU!=MBD z&aj#CiBE}~O)-Y4*Yh7_@34wQX5wx>&s;VCM(Gmt+EM>H9%HM&OKMBk2w1c18FAs& zMPsKdkWGZ4w4>OaY$^jiyziMK@RLu)nj+Zi7+1&SdK<*tI^ FiExkan{+87kHsHj9=`-lmcdn O ze`5$7&PKURQ$f}WGf>)I$$)Zov9R}ndHws2UaQvDkFnL91IRRqrOn|9-B)AwU8ae* z0#xOns|BGx`rr}TCgtnM5^1OzDXX1|Qdb|st$*1NNo?@o`P5gx{xuqzH>xf@eVaig ziQkS2OIV_}yR^qZBSU(F-)3+(7lJ9nM%lSFKH?VV)-DeSl?(GVC%C@aEg18J*+Vs1 zqpwJ7#TZTvCWlb)9gh{tV@B<@E*J^9ji{%ISwIn4kgL30aW>P zLceN-xzn2KiI z=$3Dmj7n0;SgoqB-Gpj{3llU5tL955hc0W{521d6ea&c(&aq o%IE+k z6FwGd*2bg?_|vo3i;y+fKn@#8O)~sWJ`Y)9z1s8|Jd>5h2Y!|7#+4JOU+s10P%*56sL&2bO6SaIwo=8z$)Y26V3~l3ICQ6YbAKf^R%bcNdQMe(wgcftSwX&f zpG7bvN!8I({>>D}Ksz5f<;_h;%*<=wbD!5I`m!0&rAdIG{wX<+dhOVYJKmqh7A)?P zh~1 (sa-sCh$?UhwCEX 2VI>m@VY947*~UtlSM_V@PSl^KWyCBTOFmMpEwNq;v}tTG+}o!b zzGmkF!o-w^ dC{050f^$ry~9$D_jiCAykOxxJ|M|Q*WZ+ zn72EcM=YI^5PNH7U(*T$lURm87Vkc4^93z^h=zWH&pGkMqMLTUk}h~@He44VcV%(^ zsi*{XkEb1*f Qh%K;M02SxrQ{=DQq>oO{UsUcYf~sUY!6Q_oi;yFgOj( zpoy~g^@Jo%%<}RvA^UtnDU9xHP5c96E#o0&SA2?gGD#*fFXg@a?d+Ve(@bm)_$<4B zHp|CX-|#KgbXA5jrsCNs0Nu4Ec^VE!)1_?!;T7)%6jK^SfeBWaMdL?NIaWPx@c9T2 zfjU6Z b(Q0 vR++tD!+U1eEMAUT>)pgd~-0BbKuO!XPAhNgq+vpfKB4ILkl zZJ6<>EBw5%W~rb`%C}bjn2bdsFu ~Tfz$c8ME{{YhQewBLz@Ra~7cWD`U@c?)r<%$+- zmqs`eB@50{c$O8X8XAGO--IGYf;tj?6g$+a_1yHul2fV41X_WSiH=4^MU;ZeL~cwK zNBgpv7!t?so_p <>iB`1I>qOQ@zc^rtV`LbXNFk zc`&J{ZshmPeoU5E$uGQnd%3;|j2zpXF^U?50=529!^7=ml9h!lqsiLM#5%yY2xnW* zfW=l-4n8H{rD!r*X>>?SJmIZcUg{GBUIqq!RsE+F
ODK%ZogYeQX$%3yc42b #bT` z*vD(Lfk`EhP=)wvXh(2P{{XX==APR#lh3sayIG&p^cLncRr@~z9$n2SdvBP)mI=m{ zbrepQGPGjcM(-Sj_XCX;5U@O*hr|9#<@o2`sTA^DNdwM`_V(_@rg7a#_-ep?kzB;h z11Vb@Vm^JE;UH1ON9rK;6dD$an-TmnxDJgZT%KwplH~G^clAvpgc^`TFM0vVee*8q zlTpuQrZ3ejXwpx?9;2H{KkYReqH_B@ajq@;C6Z`9Uu`Dj-rd~7v)sVr>aGtZcOWSa zf8d!Zl+PvX*E71lr!|(Hr#_t=%vd)Yo02H}i&mTft9AZwg>oQoY9IgC<@z?4=4+*E zt619N(iu|PXOd@7%^?L+h|41-f0eR{oM2H6Md`QRPEBdyxz?@WvDP77tnKG9%E%Xp zm7Oci1AlkN 2MnPK(KF8!oP-R8V3QXlkX6<0NGB%j#>BMgx;HWYJXvFa~6 zG*C-3nSqwt>_r-q$_Kz05`8mYi~c2 Cw@q_8JkgDYkLaOu*Df?W0ESCKcyF%0?*8;Vwi+P!3 zYg@8Ur@GaBSeCyXI-)n&__C~#0c{;^sB3mstrgXT)|aay7 _(OM-XH7*S4Bv&F$WWd@Pp!Ii#IjB!b>oJiUMBNZqUZw&c;~ScxE7$&Ts%ZLpX> z=}6XFHXvR_%0U+~vfQN^eMU6+f8lcD9jGK0NVn{CM!2+wOG!Sr>R2tgmAx|5R5EiX zn(-v^`$)~hD={GMn^e=TCB5@Rn$EGJOX(|88_5taDS)FR$0rbCuf#a7+sh*lO%kla zYyB5WlTP)dmN^WCe@l8sCAak|!ZH{A*C+e0m&KHb6Tjj~N9o>emK{zlKIDs=cOb_z zp^2mCxCNL1Ti7;Z<;BJHiex5Ocb~MGbqkrSZDDC4ydv&6RxeISik=LuDcp3cQNAT? z$iQe>=GhX(v|lUhwvfqvWa=)ENTS~1PZJuD3Md=Z`usofEV6lFbxbAA=sr)o*Kah- z3+wiV1u4W^5@nu5pb6@`QRCu6Dy ShCWlYBP;OvS=~9t`Qcb#2O}}V& z{{UMtp)R3qjoN9m>8h4c$MrZ5IWKPIaU- n!EI+M zdg$uZly`E%gz>Mw9&t!upPBmZsx|v78y n%0Ra?0{T){7UbY!iY!k`P>@5%DcP+k9DpI05c) zIH?tLr(Wus!p#Pzi(@A^;u3;gNF0;^O7jdpFHmvHWCuWri%5LeJTI&~Yd0@IEJpA4 zM5?2bDv!6 Tm4$t}uDb_!x}Pwk-;Z&U3SA7?VWDEBil9a+bgWz%ji3>J$TT(OQxti!hv z*gQ^1Wfj}v%~rDjfU(J %42ZTs63jY9GK;b}8#X;rb zdx2bqB(9F`<(5Zim7r=YafUTxT70&{7#g5Z7tJteC5g`~XyZJaa1DBm_hC=k%XJyd zVgNg!vFSBCYi={35cE}&v B}zE!P9z>c?0BAym&Z4znF5<=Zyd2nZ1;uZStECOmvo9T%7KZa z4qvtVIiIG;Dw)DUlYcf}Ew+%?5J(H$G6azyiLW43$6ABa r4ymv+TJIO> 05GngbC c|*v_HmTT3O~ud zX%?PPnmJJVwh|cNPN1vqrK#98d1K>LZ2+li`pRm01T)&JE!drYyFtYeuq`j9#+?2i ze4LLEwm_@-E6lcb{#d!U^vp5YGo_mJB^;8KJvmmn8Bc~P#x+e#Rn+eg%QRNgq*RVl zO(tln$~UDS{w0)8CDCIirRY9mhVsyQoV`e44I>d&W<{)(1GqVpk06%pm|A&?X*D^n z;I<7ccM-fYnP^N~^IiN@{{XZ2a;WAuN1I9J%DmF^IF+FVnj3L3PCyTZs(OOFlzd<1 z{hZ2YB)`bMW}8vF`nxYEWVTm|VO`8;iKt_<8s%8B@gyWZaMxOWR#6dDj?$pIF$IYf zB!WdZ6v{HscC*clK7-2==6nO4Qtq&pbay0>0e%K;xG7a6|-7}#^R#$`JjGC=_ z4x{nPcr2=vR{pvt*5gZBE3L6c;$A^QV+x>xc 0FRL4#F-=rAD=~yCgX}N+G z&q3P^xmuyFQ&3_e)7#g9qb#wtcz{pZ__%_nu*d{k81ucFT+0MkQJ8Nesxub<0Cn{| zf%{05<&|+!arlTVV)`39D`RhLrdp{Ux+x5KpN;5#AM#iHoH3D-^Gdw0X{O1oTfDI( zw=%Oz)4K8t3JTJL;adK~WyBs9Y2K?Vt UYU$e!wD#N`#45mEyMWo(j zmAzwiERmb8Dd|Ap3J~j3U5FfLf8d)f#~so)fB(>njVsI^SiZU!oV4p0B4Pp+258Bm z$dx5ol>Y#E#l1-L3K;~2wH9GvcWbRf1 ~b<9S4g^N);x7Kx455C{TmI#7ZJlMwG^me6=?ibPsh%`wV0BL zjE!_qZA;5AU7c3 !~wZl-qLS4Xj(pt z^-XU`mK1~3GF@BSBSx(i!&Mj~a!tO>i~CtDM4ghmK-IjptH$?oLM`tiq{dEXoV;oj zN~iZpO}MWggY96-OnE8?%^IzW!DntExVZf!yp~6bIizW#HQV-E;RA#J0Ika<4rK_> zEm&LFTCCc4E9l&odu3%w3bx<6CW=D6e%I}MIaXQUHLGMco?^1Pg5ut1`rW#7OSQWQ z^aZFrMHN>-cKA5uL{PExv`Fs8eDM=YWAzs{aNC!TIIVuK9CM>ayqnXMa#swzej5Fc z=gaU!gK3K&mhR+P+UhqtCB3o)jpmU_nPo*Zcv?3-tIv#o5Ax<&lVC$@_ZC_#dTrgS z$t{kqB}ugL`?G4Cfpm>2@uwqIek$Lx&5SI{n<6bgw)3U7sRSAUf%QuZg=ppy$Zh3R zKN>HrK=jJ-_*9>_`&k2ol1euVFRZk*j(I25E>4#Z7r4{zXXPqNgsKB_r2H#d9l2$K z`Sn05ep#^A8DzS+l2wA tl}>5fSfB>2>#*CAYs@O(9-=Qgw F4I-lU=m$OtQZ##QB?8}hZN%}O0s{HyfYeDp_5?FSWP2g z*6nUB?Jts0@ZO@yZeZT4&@lqLt$4Ej&+TTM<0Ee85{e4<%oFOm!ufW^1;qBHez`P? ztT{2{k)m!n4z&LOh~{>aPZ~0lemK~)>&>5*etMF~U1^Y7-Ub|+!PydJqSBn$1ZQsw z=5ZpbnedKJKGAfIOH;hIlI}C6HI>)Y?^5AZ%##7lV-YvRc_;f9UR-k 0K}0KaLuM*je_@hf1(4q&3u-doexRo7yaMl7{$G_!|)-$b!pM@BxGJ8_VF z6mAUJlXNM~(njyemL`iOxzxRVN*JS+AJA21iko~T+1 -0 z!s^)bSYo+i5u*jp(heMzlalel9JVNjQJyj4B0ox75?#g`Kom;EMKpy}ff@cp6+42V z-n_D8hN3N3R<+Wnw~pfOD3;zN^yO$=#3LNIuO;ZEo8aaAzqQK%i5sw&CUax?XxDlb zlV9rbT3p5>hA3K8XkUVgaAQLC%cGRXleLaA00nLT0OcGha~OS6DA9#PLPS{}gW?Oy zn4LuWGmbd*V?I&x)y{+F{aR3dvub09)Dy5(2n#aqNc&X%oX5{TJb%)0H8_n} IML}R!w@QZ;J3ZfJ7itSo<$;%mK#1Zh$ zlu!hgOrV8}?I_R} zB3-zOJChV_@v)IWM?R18D_7uV_#gJOA~D|B^Gq&vA4<>Cx44el?ErgcZ;4)?-vs~? zSC88MTw@xQ(twG%*3HeWf**!S*c*sLDRfkz<;0T3D%GI-IAa<+vZP*xe=nfTe2opH zGI}e{ugF(p$n{)ici9P_ny)W)8(1J-DwfQQ9a5u<9t578Raf8rY|f5xF k5VNC<8OzFZ-`Wy*X3NO6|}Nbf9kx_&mYy+V5nWVf~`uh>s4Q~{ @xAz<((5!#JxVv9_M$ zPLk )XKl5s+-=*EmV)d{Jg--vQ}lY}1U8fSN&d6Muuta71NWnobKqvSRS0H~^pmCU?w zETR&v7WVOV8Rv}&v9|$Rh#>tG-iV!l%FAYUW_Cw;g8FH!;D*jdxAau{AXEoNHRM2D z!w-j!SBe9fV;#y}Yjg&O6}_pFR*~Iig_n~fIUfRc-}#1JRNKk_(I))W@?GAeeWqUM zP+na`v3hbtaVVNQPz?tzM6^|>#b5X=*J<;{G4+ XL4A3gm$y|P9BxQ2MsM0*u(?F= z@X{D3nJuiWwM(dgiDJD8Kl&q=Xt@%`GFzJbU+%tN3od2i-Yn=ce<2+?EM7~?>uYOb z;s_wTp)wgy+LF7ge#0bx1~Zj(X)MoA(q>s5t#uXCCXq T(Ve 3J*qQU3Go z@?sb=wSFF7Yb=a-sE$o$Atmz_zM*BTM0Gjiy0N{EJAtMoj{=SiND!4JBwgx)IX~Fu zRvO`C0B4YD5bBmNu9tHc*R9$$7poFHHga($p F;Z*Wx7qCqom7kr{7vf6_m~v8HwglkV#O$(vREu{{Uku%Pt|e@UbXw zIb9t#UJ}2o>FV6iFdyC|0IX}@bf*@kWay<);%~ nasZFE3?evCiTU5QM zV6sYpTf*&C;pkhlN$`9z^2aV~H0<#}l-KhE&M@nm9p0HV7dDPvV}d!OWR<22zp+LE zM=rjnFXhUyf(vx0ieP_~^TTuHyQ>N0Pg2VEP8^k;gh%31fe7S2CgiydVf9$*>2n`d zGvCR-Ey-)EYJP9kW4fN@? EBIOwzi%bqIQf_7idSQ`*Cf9d|$JNc2R{qm-9Q!8l9J!Z8dn6hMB2YdYAC5 z1Rqw)UNOH3g36rIMn#kMauSWlg{x5?N=@XCH0!ga<)Xng<+aeQtPb=)Rhf#h5;ri; zpBDcB&BrkFV&RXQh?mU_+IEpVS5e+Roo#degL3c{B@}+)WuOSo8HXh;$)DoO-~j-Z zP{*~iZ39u%bY&M(=?fCv`hQrz5)nJA4qPM#r`RS5fzYB8;Wo+j7ENZ&kWFr>1vy#W zMFTe`6%rSiHy?!Ts<}~>JIr) B;#|*TX!13{C<1`A8$<&B@AhefiKkN` z!f6lXjY{`i@_R|EY5xGHt-~UuY ^{|UywCz<1H$RS??nv@NZ0LQlTFgC z;?# (X?$h%~lZ&OHYY;%WTEb#7|CfpNEG!D?h`_BRJ7^ zcxA;M(oZybXUTeov2${>2}PPlOWRCj3B-MX%HO(__5T1XE0L~EqK`EVLA2YOt0*9a zTJC2=Eb B3>gBX~OQeWl`RW!>KOKCkz*-3jiP_mfO zYNee{?4RVEjxn==NG%gq^Hs&u%V5bQkw!WFVb(ZfYWzTx(Kzgp)8fg~9}Sn<&2=nE zJ;c!~6h@3&t5&D&$lSO803;~NGQ?LT)g(IA#gzAE0qWdbDv2YAu!t!SMHT*G`#FgL zx|FugO(ot)WN%jG{{VMKYE8y4WFks@RA&26m&PV2Z${9q?=AVwcx2QUoR;pqQK6KN z_erPN-h>=yknwHFAfxoHLd)u=!q Vw8C=fIQVeFo z(!%EW+{tpSJaQVC`Nkdo(JqFZ`1tiS&wGVLB*{U*fp3Y2D z3uz-mb1d^QV8J~lCxi1GNMY5vANE;MpQUDYP@3lW-&%_Zxm%EZNqZ<-gV*k+V{q?n zN*bM -U%DKa@I&VI_U@P65of?#Y} T|M$;{pcrGCdB1KkGq=Fmvs!!VM*Duvf2<^=Z^W2n_%`lYO zTz=u2zX>dOh6+d7H8lQw!NzFURMHyjO8UCTE6%(_6mb6lZii*vXemM8HXMAfns`+t zwR@@kIplcRfhhE#U *H^gG7r;5ZnAe<)7I5IC#e* zwMv%O(p}ud&k0~ OACu@rweS-L_zi0c`-C3nK }kjLq))K58w#-Am? 6x%RCAz6OwzrvD(@L`lCwQJoBv&K}81i#d)koUt_Hu#_@-1>q{K*}iwv+lc-sRd$ zRZ%3Wem7bY#c97DP5i%OE5>(5K5Q<-Rv%i8W498;BQG8y!!HlpAazCS{#Ip51cvhm z|I!6-soF1>QrAzq^tBd8LlUa`pgj@Rr0{2R@BaV|nwWqlc!te1lE L^OA7%jYvWM5X*DM*+`?;4I#07Y6;9ck))tjG&V{*A9eZE r*yXDG;uL*3VL!z{hmJ_LUMryn1G3b4>3Ny_1z|G z+3YT>JU5oo0^XW2RxQurKA&DcYx#L)Bk58Rw?1Lf{Ou^x Tr%;N z633J!TCppoc_5K~ES@1;+7C2jG3hs&j5=KQR+^TO@rc~pzd3Ee1-*4fDJ83;4laY7 z5BB4HvM}440wYWE4v}RkzR|84=`JcH6G$USfHgzPC2)7D@|WSnWhZLk3TC!Y)-<}+ z@7>G}{+*n&AdXdW@Tvvn8={W^`&_cSqeGi?cSh*ihm@8`;f>Wa-A0!3$0?AcZz%W{ zQ1w_RU)lKnEJ!3W2_~hbYU0e#bS<0ExiA}>Va7z_+yk&h^w@tfCxbRy84=TEEol0e znpq{D>goQirWQ94G)6(jDzeK76>k3kVSi^KQ3CtckUn_U?dH{-Lm7_Ndq|ZO)bApa z-G6J7W_Ff5Fr(hz4o^k$h3>1bXqslV>zk;w+ff3j_(IJP3auhgq{4&jzxvsUAb88Q z$Lfs^scxy~y=P6*^}S -#D>f3nN9IJliYZRKI~u7l?(FZ9V4$|$YgIm*aUxh+b9 zCR&ZXPm7oNSc`M9Pm7wZ_Pshy4F%ANT^d9-@jS*vuNFyGPD>xee$suMCb~Hz4UQ%$ z`H!n6r()Ju{H41n>uMqW+ZK^1B34j%)GsO@g}-YfWx>rl8!!zLe=}%WeYLFiQc0$X z#i--XR1Dy?V)XeRh%FBvht$U@fj(}&TfN_3^F_{)<+}l*SihJrV^)v!d^1L&<`D)d zD1GL2ulIl6^8RMVGoS!=cyW#bUSH(@0L;%N>)v28`NvF;LbsBvs~gB|+T~kst*-u; z9*f6}e{0punQ6^mR~Yc$CR6#17nd)rWV#nt4;2Tebhi+YJUH=s)BKudzF6gaou)jI z;pXx-^W~<22(|L#t;VGzFR6SKJQ1Rru%il0%sw7J-SPWbejPEFK2A1#(IA1%mw9XR z4^7l=qg_~?BkKi2G%Q}zbHt-A#uzyLrB!U6O#$d#cLV5OFW6{0UXv4P9+bB7(~ZnL zO1*d3uH1jg%dukN6xaX>ymIq7WTQ-iN9S86mq}~5=aSZYQV5zO#PB2n3Gm7?M#Z=3 z=TffshZ!$pySZ1pcZH-TTQ#bzk`qo$2&sSatC&)dE_BE|o|XA`VA{p4^J$xNoUUrDkHxUOrn eOQrHjSN;k__(oGa0 z;D4*EoMM_qRDVn!22sS*k2T}PzTQ=s0lN}YwYAdWxYTc~g?_Ttyq-4r8NSONBmLUI zcKxiZN<;uc7=*VTWRp`6-9Z)V$tNY18ZZ{#Bk)~ELc~a;;XIc!1R^47md``EX8j#) zSvf_-f+Pw9r78~Fe5siDb_uk$^4V(xaS|+wcynFqzi14|jE?MqN<7bYk=U6p=6f4k zS!1dvAxa;CBysyLd_L9)n=~4TvWCz#+Z|EolH9WWUMBSv!qHo@ho|n#3cU}(U-(>{ z;A71+n?rvSS)1s&b5Q88(Rv}=jp)nom6PeE;wpC BMn91uf>86raJO9Y%+x@2;!D@k~=)UuAg$v#5v~X;CxK} z+&^RaaS=AKl@-_a`q$_NHifP(YxSwsiu$G5eiZ`04+;k3`&k@>c$@NUGB>)V?xQuX zpCzr{p4ay>LY}FEml+s}eUVO;uPS_5T>~wM3AE ;NSV0kH Q*-r+g8#(63S4#28&I%ZHQIcys#5WM#*%SG3l_&1PnN=oS_ms5b~bI zMS7nPwV3 I@?XFYBpAPP)YR`jGK*9g+iG&^xKcbI($FNnVLgIAu}3G$!! zwZWD$W8(3xYN|HoPV}Zrp6OqGr(HF|NYjYn5wvt50nOWbfHqW7_HxLAl(t`2PY*nj zQb&}9eZUH$p9leJsy;lDqAYa#_-&?=!r>+t@&{=GIw(QCTD0ZM+an^(A?~8Pyt`N) z=?bHRb1IeQk<)fX2W4|r>Hbz!WlBP7`keNwZ)0U2rEHKEGDr(Z#f>Uh4~_WdDTfd? z)I}^8^Qj!A5X00dJDPR??pe+Z7 XTc{?%O3-h-yw zuPmD|qiu5x+U2ZI34l>m<)sLXXlhRX0P5iv!jjA{;<7gnJ=}6f8F3Oq4G9E%Ec|MC zflSAV?qC?bo`nl)k9+}+!Ua59GHCDnBWmsYUl-cTr<90!wi#^y0RPkD+N9UoUZHhm zaKhT**=mVWs2BzuY2i=V%wrKP!bsU0t@) &uO&6CCqhBt{gB6j+%WuG1)@tj$b@ zI1wvqq_W#k)zeN}Z>>7p%wvo~IyeNDHTI`(+RMlmqAHLXtR<2}43(5Im<2Kg1MNmz zYO$?rg)#sd2#e{ZOMgxo{{YcmvOI=?pVaEcyQeM23I&Q?X$05rBG||27~LK_MUspt zC^&=m$^QU?z(oz!l<9tL)io=$()cC15Z29=vO28sDQgkmL$8+24t_I@6GGKoOWR1|KJYC3aj*K=RldciKws3L~3 zs6sw6pbEDivoHJ>UkrRZG662qRtWEv1+kTRarHjc1u4kVp@+D}%1LKlTGegrwP pdRsQ_2M+H4bt6)+o`dM)RbyqR#}^$j{}nPvq&RJkhO2gS{*v~T6) z+_KD=BNo#DSf`l$wP!uoqoKxa?;0SHyv!w)P=n3ODk`rP{{SP4FWSmDz%5h80j4*q z`ESf#T%OYA{{T}krMNdOs@eLlY{*9e9M fIaHf_ zsrVTcLwanAH>ucUG8<@=cDK2HQ+X%MT6TkbeW;TRQ&KxbuOPrVVAV7&@O`89d1MLd z-KI9l0_q=HSe^u7$N?!G1$XO}@j10zo++(q-fgq RDi(RWYL> +(ZwHzD$E4|BrDTQRw7ZTt?U+QKk(940w1CxKgW*rw$>PP1QuTBG zYm7O(_VZhw=HlveJkZH0q~4T{o~U8DZX|D9*cisDxj7NYM YkUkcj= zoATGm?|=1{vXHH7^>&%Xus`Yo4L`}Q0jGdBO};$)*>$TzQ6PZ?R*- ?9s}cH z@bcrBhFnL6zLq3j$k^__v3_A`Th{?tN4qUbg2J@uxrrgW6E2H24L4uC)jxdSSku?y ziZbmG1E`_+xo!Ud1&}lv$SO^zU&(iHbhueB-aZmMvA?GxMhbdqULjhqS3kA(^00X& zZiD)A*p$1p`n nIFa0nI&vrXU$uuG*L_u= z+d(T^!pXp=5Lu-lDJ$2Ar|o4CCOaUg-A8Q-hXBhek|QywcUq2IK=^*p_)b_OB?)$+ z<$GK3_OskeEv%8TWRHxJ5=bi1tq%l`rz3+VNkHr_e^(FmP&ukuXlbQca4H0D0idrI zC&RconJy^{JyfyjEp<1&`mncV4PH_)Ks_Zj`!oQ3A8Q6YV6O^YCAHwanO^P~US1#Q z?B5K9PeJ^<5%FZF8|22RQ&;lR!+w1SDLt~AadGh0Ko}MEQ2a_1o;9vWkyOq>D_a}; z9bfAjkE`gxKy5(h%ho%VDN)RxU9sWWc4mMSVAfV{FJ?tENlq+QI+P3>ZHN5bn0ay8 zL0e^U=6UXZsP?j3GDpknZOE@G{6TsTO;`R4_Hr=O-$Y#m##?K+tzuamD3$o95_pzV z_CV@6FWUbAfx(*r$5+*qqe!-opBs2C#7!D2+`$+Gk _s9KE0J04pm2ull#w37B4 zxkQ#>Op;wWtr@5|#~*m36k^=4leLa)z+ZLf`f*8YzNO4HK+Gzo0piRU_Z|NL$;-5| z+}c84BHYIqX^ v2>GiFr=QfvZHWnow-tmqQ4DtarDR) zwYK_&tQS745zNaV1p0Bgj8e2(sq0Vjb1)Lj1XR~o(*oA0qG7v-0hK`=NIi05N|2o- zN{)3a)RZb!WMD!DV?kbY Nnbj-IbdN^ygHOU<_PD%Di4W9r#K|smXaZ zGA)2?jnf|6O}CnBsA7g` _~wz;^sfT CCWf*|1y)$ZW3MmSWgCn=7SWd0v)bxEq`5qoFB4q6t}7$Rb}^a{gtv<2a@ oHH}TMK3(+Un_5BmgTR zUHA|H`$cPpJlMyZ+-?a`VyCQy*@v+QCn &br3Q8~2dTcc`|-s!hc-Wc^gA5v&wxwpAv7 (A4Cs`tLGKNp(s z%)K*Ce=puirD<*JB#U$DS+#iFg;ZH2jX6{z0sc!j+Q{K1GOwrc{49jG40p&($qumt z*c-`j)-x!T10#kMF-X-{Pf}8}U*`DpBTxydDVaSU&7o+vUR%@u07YqVx2F|uZe*K) zGF@>6{boOB()%#{Jb329BVg`vV*(*7)FQjPzLMr95<4rU4;dqQA|$M4KzSDK@z?o& zE*QD+l?r&T<~`P ~#v(M4qM)Hgn@_C{ebuDIS!wnfo4IJq52lWsTzg2Y+v@^4Fkz3Y{ zazy|kC;ZIP&bl=#A1>S3K&WGDNS#q!`l~1mLNf4b7^hTU-$lp!w&jZ2IuFcmBI-7F z_8RAwEn$`mcx_<4w?%NN8*-JsF~P%0{_9}R>3@}rD3Hf|?P29hOPe`7wRbJuo%CL_ ztI(`QwDi@F?`nps{;=hQd8~~xzsPMOLvyNmmQ 3-vi&?$F*9WS;0>7L z=_T~_yx@d2>JDVnPgF}e;jzI
<5koMMdd=KopJ z6Yvhy>QDS@fe#$I^5&r~p*8KaP^6Pe?DuTErHFcr+@ng+_4_~YS*wm=#k*e>azxnZ zb6T{p$Ps-2o`uJ!@w$+A< UUy?KDY@Yz-@^iA?br4}<^+CB6)5`Uw{K)1Gzv|1iPn6+uoen0Bvxk;;3?$cGU zcmg9w>QqSN5Y?{ySZ}pDe$G|GY@6AK5nXc?l-G}TvjG%m_vShwKMe$HAYFm`Jb&PF z+-6Z9&kU^)_L0dNt4qYp0C>ny7BVORp>K(MZ^tAx!1ELnXcp70;J9m;Pdhl5jA+N4 zhE0d5%fsyt@^X58M-)#NG{m8Q!kRkjP-@>+GG3HcgwHb~5>DR%JZVnHGUJ*gmDyWU zvL{xTQIaQAaYy12yHJUGo;}fq0l+~@2KP?VWx2D|f^sFOuzV<`x>1-=v-1A!MpPv} z76mYpDQEKytfzw6#}SA_u#=THO~2rzX3U7-;-XU_L=N>!R+j48$h3b7+_IGn-x9__ zQfv0NIgla-!J<+m59_OWjtiMI`*Utt vwYM zGNdvhR@O87xeBrQg({!R_PORMGzB6hN=wP@_*iL{@tsQ4v5kue;Wp%gThu! ZI?WWTf-4@*5&o8eTmCrSHZ?)gB zJSq0F97IWqF)eM@LOn*>B8fbrsPQv=OIr5uu0m2(8;iRQ9bVK;E5y|?s0w>jg;@BC zQ*7BrO|j&q9=E11qGdpWSi^##o;2M-WhRZkY(z*xQLgGXj{&24mh(UFY^Gp&f0PK{ zp5JM* #46LK8J@>H6bxA>V^zskZ5p*~7lqs2YP zH|5QxBq(KXik 6&6{a)4F7Al6jso94A01o*R4^;$2TmRMLx)!5(=zUeth;EU>`k+h2l}Tk*+^v7z zU(1zF8`{Dm)pcXYT $dzdxt!;sPXgPPFJ2F(TYuJ9D=$YK>QjNPq#r0ab24v-Z9m zgw68iOuCelWm}znKi(zjNpomE#C&qWD+M&qLDA^`KGq>_Q$4ru2tIK#ADmz9A zC8c9ZCm)5snEY7-lc{Q+Pz`R*yo;r1Nvvs_h1^oz&uIY`P}_00X1I*CWqw;Z;!nW; z0PtBHIV|qZG)p(sJkRCGWU&`hU1@4nksA8kqA_9q{fxX|eDeA5pCaUhn_2R1pRDRL zY8MxBOCO-7-rhGxfP~mOu&>)E;~bYUr7GC8 L>hc*|8?xk}(M{<@J^1w^#a{%`X*<#cvhA0|x+sh={3Z)8psq z%LguBW<*bcF}68nxC~eGEhD(|3KHI|pH@S5^sgtBG1 jdtg`1fAf>xU(=(XOV;>szKzY4?m9_sz`T6D<8QKmm9fDpmkX6R@naHs z6{nbdr3RRvrTn!nqjLnrPpXMpHFyIT^m%mk2;!B0_gBKXnOj?k4ZVKr$v#!P^LLkY z=zOPXZDnzwCabEm$tTtABK4JvNgyHRWQ;Ts)8dnt$NRo{M~Tg|hQMOeeragBpO~(+ ztq;idnx2b$eH78akpp!!a4)B@3BofaIY!QSr|o3oO)-@TP~`IMV&t{$?D0ZuiI!LT zvFi{lX&Im&6l37a5O*)A{E4DPVdXsoPKg4KN-B=#Nk=zh{!=p&*{LS-xuzgudIf`4 z)j|76)IUaT2PXj?>kc%
fb+yF3W^t1NupxA~~;rCf+QMb$h5o z3dIqbC8zHaRU{_ND#|_{U%UAJ&SPX07;w7(0Lyxf?Y}woWrEt+0dT7mGe`i|Kq tX%mh?x2;r}nbh$VZxK z9~YJ71? EKQ1eirj!Y0Tr3s_-tNdJ5vaT^dr *mDXwY)`_!@L7Qj zVqWj*F %24WoT|^ea9yNt0-CoSm~Lv!@ Z}K 1yqo78KTTaP%ZU?M#ONYvWk!(3 zJ|f4M1!oWYU$nU)!cCS|y4KtEXM*_x3KgC4Em=k;R&|2bd&(lhfkDctosyEclp& zzGs@%h $Vx(J>QIx=ngw&!xn>?g z>ZXZvQi<&*w0UNZd2OQ{B7~}_R|dU*Ylgu-EQGc~E;;9#UrDA!Va3r~k)w4B7(WjE z8za>KrTUz<@?Bal!aw2e4YOo~*1#4!ar{{XVg+%>{`*}&Tv)NTy-YIMXF_KQ&q zI~uJ&Y>wodz9VhhN`>f4nBWt?H&Mbz-{NH*RMV%AJdhN{KhyltugyEbZsOr1i9I+1 zs)Rd+BpTC_eTAy!bBN~JIVMdKE#TB1O;a4a2cOgS1N%d8Eui3~%*yTw} zHH+O3T-B|tB%18Y3m--(SRxhcLe%7|wOfCQvTzJad!{s3C^)@z=5m1wmtTN!KWK6^ z_x-$tg-Xj=V_J>IrDx^)zeyA8wvK%fIZ$InV@_25ez+w>@5!o6c6+;fm7Xiel-{aG zF;ic&z&A5bvUz+wu>y|Vn4zsKZS>n| nueuhv06fxG6W98omo^Git{6m{{Ro#%P0e9W_L$-|JLE&U(&TfDd(r$ zgn_p{l#1VEmIGnX3gDk529xW3KUIkOw|4U)1ejTgqh(nk a$7c=P_QhqE8@ZY)C#b9kC5$oY_Eq2F`&f)(Cfnfw(6TLd%HI0fEan18RcKJ} zT4Bq%a%qRy#ciVA&1D1#ZQ=$+YLt~kf`lsoz}NXCMoh(=h17=^`_~&$AS5jve`7JX zX*AhG-9`e7St^%IY6&JPn5G D??Rm3!6bKfg%)3g zM=?s&0vHZxDfUidm=Hy^8z`SAYRxvIcNm&UeJfQE2xAW@X=LKuz*?w|HTb!nE1O*< z1G}*7yjPabD22b68snvu?*)`1-rUDKPa70~#}q_F(mL`2MsxeM{{VII A9HE6XDh@pC-MRsqwF{9lSM#qoW<5upVcah_>6<_tD>%Xw>S z%2~Z6k!RUTv=sm^9=v(*WN(Yq{j3~itm5Juy#w+)%oci|l_59PU291#V{pzWWI%aC zB95ODAB*<6FUOFOvf)Yu8l(sO VXb*3- z@YM7l sDD7-x~ zR-6&Pm3|z>l(<`?8|3+$^E=FTo=)>#r{$j~+1grI6tkS%r^doWhmBMUDwD~UWqy3V z7T~#+30PquM#be9w^LqTnXcWYp6X?3q+`3YxGYc48JYzV<{x7DK&8{@awsbjj$nI5 z5&k)=$GqJ9+hRWS_fMG>WDenK$BAu)Ynx%o)`E?U^7r{~g(%B-fO_?Be%J~ERj>K$ z%la0v2A`?CsNRp(9%PKk9BS-Pdc11O_DTCWjXbfA$D3?0%3{KGr)#=4t!TG8ZR|I2 zObJOMa6toO?}GNWxkivjsrlzSBfE@Els)WoNgAvzNjVRMng#=?$jTg4r;=Hqx*O~0 zS7laSJ^s-@(=&BjfZvypcA?2_u6Xh#sT#X*X^R%wy+_)M`!S5bGUFRK=@ss!8fh01 z&nbpMA|pvGVSQ&>GapoPEyaJB=2njx;smqD%`&;xuUM_C@Qy^{+cg1*{?%8O)ak#) zn(2woM0vFtQB{Hfw-MYCz(`BU8KU~T&@c+rBn|mx@Wf-eB9c(IQp|M=X% I>-Qk(OA%XA(0XTbqy= zm0FH3_7zXWxs8iH-3(*980?g5Z|UF4$warg<|RQ;IWYxG1*c5S$(ANSe>67am4Ffc zT)nit(j|)9iGn%3D}oJZ$g5B*y-Q?>A%u;mH-rHJ3-(xa=}K*vV2#@-pG=UVYP+~_ z12F*m4f3Iq;==t2WVfa%YTHnf>^rCO``06$S0P{LGM_NMNTAm2y&HnU-Ix{P3cV2R zx#_<7BOurUbEn(9F(hVRP#~bF0MLB0i4`c`KKTYN9XjH~mh01VLE8&1B)?P8bS+c< zIu=n*^dr LUWgVElqpJpnhBqu& zMuIW{QO337P9uEH0koA%Z8qT*F0XH+n&Kwr@hLng1%5svqJsg6EJ;sc^FDx@tt5sv zm7zYg?dl>K8HeuZH{!p|{?93%DK L9aS)Da$1o z&}0g04A&Ro!%t^r0(=v=0UgNQmNuz#8hwsSgxFFU1gmdtX9b3r>AI=~^yH8N!0u?q zyjObVe^K3uW7^P~2&9_&kVk14kVg~pl(1pR#~q}MD5n1avyhnR)02}IzP_@F=hd#^ zR{GSzVD&nSejpNhAB~R7kc J(Me5)k7HIl8T zK^3l%8MloE)#49P+#V~<%Ta@M;zx!+o943J|JP!9)6V*Z#l_{l{IFR``^iL7Nh%5g z&Ba@FL$`m0zQ#hx=Hhs#q8Ys9`G9ViMW|f*^L?m^Syd>%0r -*Si&cJXO}ijxKR3kn|#)q^p;wNsj5wDz%Yh66i60T z{hm8==G>S3pS6TY1G+M0$Rp|Ilk0wF^VG7#^*v)#<8INYji+{sba&y*fWoZBhau08 zALYVjzRi)zA}sS#vhxP1ajH*cHT2g}w2c~F+{)Am4Of*|*MqR-$NmQiwgywA!%|q8 zV4V@(S?-I ?e%DbM+11)Jeti}tf0Fya)5@m-Y6Hk|iHwt{Hw0DC8yOD!r|MW*S* z(Dh&Saxo(j*^S7?nz**puVhJOjpO9aa %$cAChbld_0{4uHH_OQ--+G8E5k?7iW zs@>Y%tWzPkwseh;As6xj>OkQq7W)nHE;HVPnT|)Qad));015lDGIGZ04gUa@Jjr#d zO@Co*?-G>s`Gpa;K~POL{{STA2Zxbx^LmL^xbi2PnV~3$j1}gt%B#!m7Y=Gi+Wp_{ zE&-A;lUEH32XxZg%06v-nW4Fg+IZ3g2@TYQu~H2}%qt?*$MZiN63-5z CA$ErZOMuLW%(6#W}I 0Nf}ZcWDgzQ%io6&t$67M5z>Ue(VrhwHqFM X8u4LS!Y{ys;COF0^9>G&qk7r{{YRAJ39SI^?>s)`N?fY^))L! zCe2yCxgV(_t9&71kg=){<~wu$0ArZ(G*TmR*)RN=^2`!mOFZcD&JivhxSDWw*?Cj# zFLcbz1QOStJP>=vt#NH67J6N?udJ&j*td{459qJK$&`FNX!2M5pM&D#mrU;AA!Uwh zEndwvDXjE+Np09fmT4o*z{ng2lqhuFz65@0_WuBHD^_de-C?h+$ej!~5U^K ~A{>vEiOkWddt#|d?X>3`N^i2t~VY7OsMfA`79~{YH)%Ks7JnJWxtnV+i zsx`H&B+Ai>hLW6Uwcf8M!nvyilTK(L3w&v)Y8M)gqj#xJIM01E+)AUMXEmq$5%A{1 zFyRg?@^KqmrmwB8>5wo4J;Zefr`rSg<1t{TA29n{M74s(eJ@TVNA-Joi&WEPPX7RY zYjpnrTc4@=K1e0HQskQYXLSHpo9&wcyRA$hiuU7!0P&~nbr^U`vMUss1aLcZlewih zufM(%$&1H7F>j)qPuK60;=I-_eye2b)In|gnCbM1AN`hUbDk-?Y!Tps?GMTpnn#;- zcCvwGlG#01GCQ%Ui;D>N;-isf;uj~7jt$*rNpTB$ba$c3(jse7vks~^8`Cg6I7n<< zOLVdqM~v1!K!D(aMRpXf+k4=NfHloS7}4apvYSwo*Lh#}aen@Ua;dKp0*LGTT)rH$ zRUyI~a`aY{Sc*ACo64X_L#*Jhq*$q-h|&HfZ|3-$D#MI$`b2sE07=KRk5+>5wD>(4 zP0C3;B_7}ion(#3W+6c2tXq?rIIryGv7DnTC9@o;qaGiuT$C{sTZ2T3H&}|Y^*}*t z7e5yt<;*#q_TK*h&Hn&o) 5 zLWETORHLIXDy0wEuUy#W!+6BMiY r){{W_~;kl9HluuSgD7{(F!QiY} zN7^GX4iO$lXrrpF<@?H730auAq*4N g**;PR{FjLss2w)3g6bQ5Y{#%cO4EJrBQXTn!j4JiOK5C5)y0I za4U`4vE6g>)5*HXQleW47Nvf!e|8xD*QV6~_?)*Mc|ln5{GQaT FVEDQ36ipEJp1)>3HGM+=YLi&t3{Nc%q!JipfEnNihau4))H&yxJ# z4f h z;34=jiBx4}gi0pv!$h==?4*frF4_4ZEmlRSP>xFis(EE3-r)v^HXY|XB!U=j9tTJw zKp|GBRgG$(ozL2%ajpz!cA6oE-^DHToUG#H(4}K#B&w(Et$UHv{H(g^uq Y%Mq7#GI~#vEo|<^oOkhBO=e&b#~nEao3E&}V8TthW+tGKZDkFu z*x%Xek0Zw;X^~6HDHsPvZZue#hZ=4xM*dtF&4wla(3V>MRtQn1n^=FV@L1%9V&NJ_ zelAKm4;62VHA7TDrxKN)@`l``qHSvaM^)g5j6s Bv-l zif@%1gq~^ zR$sxDcnjNybVzjex zjPwGPQ(AmXN}c*Lu&ZDwOtg78&oUL_&WlazNEQ3DD^0Xqtv4ck*gv1+mgmgYaKx&j z7@p>7Bw(>J$F~`4@hT@SVb|>P&4vIj%eci6R(}!xiUUu$S4(Dj{S}gu*&*OoSpKfk zkdXrZqpP zYzj{iu2j$bpK6w#T8J$vb1bv4LB&2c*d+=0C_Ws=$u5orqjNq_CH&LSA5r|q(p^-a zQqEYTJJ1m=e~x3zlaq_9(!8JL)v~p=v@OO|h!kPcp#78V*^#7|2_>smcC jGzsO9?b?L3EX?m8M9I#&ck|W4&?%}L* zE3z8K?)8#BUt@3ORmf7U&~4py8+EYKWwVIMH|a~enG2T&r_)kP87m`IS--nag)t>l z-Ahhz(MfGPTd`o16rg5|*J}8$?9(GDHe&;;=Fj=c9T)U;dQ=H4j}7eZ>hrtF`_47^ zxgYXHGK^=| T!vNuvKg-{>$rZMJLSyW9peO}xD z068yx6~E>D@wgtX?d_~fPNs}xZ}^U3X~E+S`97D+wc5S2V&balr~S%7H%~>;f&Tzi zgMSP_-68gcs#$7U{Igy$7Vug|P^qP4n1fIF5t{8RZbXibey&vz6YEVlFZ;(FFq6^b zKCGWTz7d)AP6;T%9o$vql3YxBIRG!wOn8xMSJ!W*Y12;s0Pj?QtYg122_JR|$TEy< zyjuR#>w5l|VAW)dtGW~WDmk$~GBZaTIX%wLQh0F_ EQrpEZ{=K`Mx)CO%{pVmJ6lDwXSi0chsO);ON( zWqArK%1C8yAe9sf&GvZj%Y%KayEZ-}5`LJA{{T73)ba@p^~L;c^=adUpe9)@;gz_6 zk^ca@B!7$IT2_g{S1E-~;x^%M$>^(XH1{^v+Kq+UOMDp>?j1r!>7R~h$EZiF3I^Zp z{{XF&fi1}8^sK=t?urw cpySpbgJS{l?iJB~xQ`oGJT@6{YB%sOAH$u-M4 zkp~_q)Kl(9jwc~zn!^RObONM-P0ey9MHY;SV*{|r0)ki3et9sf=qZY=#a5LE6fGzX zMoCnf3~f}5Qm;zW$F@M)tui>>hcGb&t7XF 89#;c7>nRK_aB;4Jkr?2Bu_ hRu;EN ziaoP3xhz8;imuI1i ~XCXFN@7iIWJU$gL^46Zq=WBg5gPd4)Z0FdwQo_#n(64*|n zS*8IRB|9TkdaD|etI2aKE^r4nTukcoLa?*an%@5aPK#85A&x1p41Sz~C=F_Zf3QBs z`|-03PmI_!jwZB!%dHyGWrs|e;z?B8TXQ^D_mry06cfk8EjbUtZILa7ygF=}Y`kT+ zo8xt*BWK%@BEJ;~_^X)F`mV|!|IzJ`L{fHn3pz0LB~o_d7V1F#qakiQzn3}rn-t=& zkJKZJv3r|JhfsbNR{K1^)?bVLY& J;%Xb&X^aK_pX#M_ih%N| zV!*sntqH0vACHMWa7%GY Mj^Pd3SZ&)o73aV;?1T3v3EE(h(ZVxnQK@? zliR1(BApjt=@UlANed?k(DVx2qxhST4mpuchv~aYBfYzxX_^F%YA33ZY?Q1$U?r+H z6p^XVm&Eu3J_vvhSFmX}JhTf3G9;y;Qe}>z3Gc))<+n`1%6(3<_a%yJl3Bl*w4hX* zqF>W}!iefQj)Zb0mX$01%OVB0<2xreSNesvyJReF{;=dSyndjKLbW$~^&5Y!mT9+@ zHR@}Jc2bf((kkCr1>$O;nC4oJ;PoHyIh9Ti3#XUT<>^5kSc2ZC6a@C%e@tl{B}z?R zXk+-S%&Z5(mh2k8D)Gcckbx+7)MmR_+3aVv5jsdrraBQ`ETfAt@5= *exerUaoBb!=b7M_ug zmQXPP>UaJ0yqo<*OtUPyIM9i u)C5^ 1t4`&3`}mPn4h#bS`%o5-aXmg=$EB>ZINIRH-K!kvMj zZVulLWaO5^+})V*1{>y$b_snu@pT*Ct;ph%TkR5bAqYPd@sEu1Pfy~^Xiz&ik{7s2 zt^CtxdoWQ0JhDp0JC$@Y@Qn#o6!=zEBjR@c?LN**RaBUQp4;le?#(UCW>=A`3W8cG zC~H#6Y08!A6|)nB4Z1RAT2`rX`Z-Z D)QzI2|d)e|Ec` zT-PbcccrRlT7Hyn6=Xr^hYjkhR59hY$FUUqSyvbg__ky^W{nM+l!ThGC5sxIuZfMO z@x~DVt$vKI*40uKBpLZM3FR|OzbBosGR86>-r#a6X@Vyi)F(BZXl2Mr;jBm=JA z84?v}<=hXL>x!*q4YfZCU{#)w72bo~;;ViTD_Z-EC~ya;70CpETjp!=5`)7Dfm(Og z0R6Cjo$(ltnoLWizIfwi1kpuJ0o&gsFw4ypQk`E^A>$0(I+bEJVb`eaaClN2*qD?H z$c(L8dX)#7n(ljY@unK43Zu~y5@pyZI{;7sI@I8>cPmH>SX9F@aV|>&wCo$86!?B1 za%MpNL2Vsm43^<`iQ@%WZWI7$2nS+z>yef~dTg3putbnE#)z*VD$h_k0CrWcL6u6u z2fy*^RG!KPH@7gWae_W2t+ rg9FM}GEu;dYi|kN?)NCo7 z@%zh)s3diDyC>3V2uqPc$O_UjPqFX(t&*;a+eFHSG*iM78YMNYPui*f04A-1)uoNm zj6sL)*hvzop)t~}{{RHro;a&zc$HYwkRUWQKWMNd{u^ZCceC89q~cWZYQ#^d7 qMjk-vRIR#`;?jk@p0ERnu{=BuN2E9*a6Qs92g2K=Zy_P|A}YK)RH zmu4VxQr#I3+XLSSAgbqIPO=eRG-3x+8*D{C$X~OL%#x2Vs7pA5Ff1kGLDPr@lkQx| z(|v8&IhG*r#xx~~sR!J0%$c3bc;xg8C1$pXToq9ie1}>o1z3FAxvrMRoFaErA$Ti4 z!bea);AjttrbMFGaZg!=XvbxKpJe_aLtye-Q}|-FdDX;X8nTw!iVr0X^cJuB*^v$A zDZ2!!VQ-r4G)wvP=-tu{T6N`PFe0)9JdAESv}V6(eTL1ZDOb7K;FQ6TA5ZZy2`;96 zMEY@hPUOtAkT1s)Fp=YDK99oO$0k-t+lQ(9&Iy@7xk4bq?T)K`eVQg%-b-4bNlbwe zrCB{n$thlZ%{^28N5zYI1}{zWky$*arBt3tY_Y#C9D^pz52x@{f06L!yC>9LeByYE z7uVvLd7n$Uic%ig_)Qu3Ric^2cvhU{1y#8GTodEN7}RaM45~Fr=Ap( gpd0i|PBAXJ1=R(AOe%5mpF?( F|;hEU^w-Jg#z zvBKwl$iGCHVUEv4(O|K%PfpIl1h=5k)n;2O zB!<@9rxxa_4<=QuPbmx6GcaM0jsE~S$ICtGfCPBlHlQyq9XCZOzydvq%#K{ziDiCW zu)DpQ85Z5G?c;QvjFe*h2w(~KreU33%YY5!<>S)|;=iTzkCy)cGe0dgYb$#hwKcGm zD1<|(r`3n3qvG`CKfB$!29q;5B>_Y@vY!#QXKe+|nukI9LraiVCWV8t4-v;^A1sd= zDP7b>_FaXY$fvF=MX&P?*m$jK(myv?XxdGLcZg(ri5w(6U70}QOEFQm5lq0; Q?28Fo&qHamdWe=L#iSYr%(w&1J#AQeO zv`hP>(b=RZvoHXLELUZ%dNA*p*!eg~ZNxK6b0c~{CAyD5Y-q(>;%@s7hZD>OQ0A4` zB$rT5-@IWu`ZFLrSVzbmiTGBWdj9|>T4(Av$TrKH0P`lD1ea1qkwxoU+$v7e)Grwn zo&mq&SxGc4s+iZ*nmHUw0Jh`{j gyMMC4V{)|))O5?Mn;ESTMi>y$ z0zMGctyHf~x^nw`vcVELwnjFC(tM++aT44?^?4Wq zMh(yE3d z_N(+^-B)_6f|cH`NGoDMdf~LVG9H9tt&lNQr9dMJxTAkeAzV iqvcv;#STo0$CgDM6e*}`w_Hr9BAAA` zIk=C~c-e~|MkS7b{8a$_hG{a+Q>e7aBsx9y k_WZOurpFZMY>h?7+! z^?3r^m?5h)qQ6#sjZWi_9)tF=;Q {_Q%jb%#AMcry~aT z#bjV(PT&+;{Dx%6S#AP@(IX6z!N#Jh6rH-XeaHDFb6Y*+Tp9CJR$8#F0X%{JP~b7I z&w61ztyZtti8rN0WouPlt4;Uo#J)r#keb!%+39z4zY!A0$=Q{iKz+|79}! ZYW3|Xa;Af~F3{4F0N`^4p&2>$>y z@-EhR_+(^1g)@%&YsmW(u$g*kV=5_ZcRyP5e5xo-x~gsB+mFL1r5=`f7zN*zV*Jzm(z}mWy`TIu zqgE*Gp+1;#3jkAZiG5i)G_Ur*mog-2!I`r5eLM2^$QBkqQnB*>ogJtgUN5V} % zgFAn+Y^#KHYO?c>HU3@sL&=_F)4cnj>8oILskrKPaF$pkx49mRPN*x!OLG3D7vPaT z)(GUOQ<1~zx2nwqvFYy&99nNotUSpGTaUxYjriB?Q!*tg3wFh{sJ}38yu)dy>(&~7 z=sh_W>TOEd dCD ^t%0jIluP zTe0yc-tsRn*xW^XGy)P}X5%LpJC5AP*{AZFW+5i&zSntAQ1hmdt=j26S=6-)4MP3G z+eK$HDoD%;2w^AEV$|DgrbZy|$+A7~M$mse{{T3nfo T u{mhuZ^8jhuGp=|!OK*lvI$Z$&W+n2|h z%$VgOWCx|%;>jFwqs= (CNMVO_JN52gvu!a z^K6t2M%{;U!ZHqHkM8NL{{VKI&K%C9nsx`55C>Y)opQK}4j4 0djYyzY^vq-csFhOOj_iNpSR(-$Uqn)lg`>`jA$=w6 z?YUNwt1TOVLd;3z#)GaxMvy}}(XAl0w2lQbl7PqQvHj7E?gtuIkp65zk3Zu6B!DS0 zw$p7R v_L#a!B(q;KRRLIRop-np+4sU3b%;;p}&nVQmZU#7PYDEg=uSg zfk{v~{>^Jo!wPAjRBcgH?_8G(2&XFta;QOJ*L<@MBQvr GlA3}_E=bzqCk}_ zoVg9YA_v|##Z ?*9R1uMAN<#{Fm-;!m?hijq&E+U#Xo;X{afggb> zCxZ{NYnnm ~i;rK`V-Hd>~Nu?XTN;xBaxXCF#vHK^O72xNsF{i3QkZSz{w{f;m_6H9I5^x%)|^0gd5 zUeI&{{hVQPAc;tk%l-Nl5W3bh9OaMq(CxPd*Z_KL3CEc#<=|bEJz}^9OL-UeS$@#} z0B82U;ISh4t8#FWOMR7ktf^X1^a>AZp8o*q;(1aVj43TGPp-e-4xIL;)&4~tKbs7s zQram%V~qR}@q0pc+xdQv`KJLNYOYYepjg=PY6Spxf3t?K;H-1ZuNy-PdY+^%T0!hl zeKw_koz}URrk60}Y0ow}Fx^h#tgKBk`1iN;dL3o-Lq-7#psB9p3NWX;d|9rTqTo;J zTu4brAy7f%*p@@Pe1bklr7D|88zh11tfbL %y-&0Dd1k{z1<1P&&%YCAmicPlJH0#0cFc(spH!M#sa7^*aNeTu z^jeUW=kQA+@kC_*0E+$`;T?f?vaS+;q@m^CtZCMgh^_^_tVU?o+k800P~^zo;=m=f+Q={5Gup%_b(Le1P}~fWG3CY0eMIB%d>r40 zr^RX(HXfE&`Au*e%6AdMCRpOs?;}Al9;E| ou>&rH?Cy1mRdH`mhK zMJ1#CRYDV0R@l2ztc}V3-b9;mGDeDHb7!s1e|L4G>PvTb2q|wDq^k|Oq82MP2x;Vf zl~6yz&(D@Xd)JpR#Qe_}oo+m%s0S~7^~fSf<@G^BHOCNRSV-j$rtQbBN-? sKfsRdtrjaOEtk@_vOK=aK@n1R?;MV; zU-eFGqsgGeG89=L(_MKjqoL)p0_{< fvxDuuHj>esTF;=gXg% zmfm5~Bx_r5F~}t_+odD=>dD4Pf|{>6K}mQ0rgqFd2B*+sdNYJLp6BI1$z1|1CK0YX z+}*eDE+Dsa6bR>XgMkI8e$#%|St%2 D&Hn%|{{V%wp>yT;I$fL~rK7@lh$s6% zp6}}PW^??xP2R f@3<;R%se8Z&JYxf8e 3 zPJpIs9s4L*W^lq@TQ5;g gu@0ga;SF*E2jU|54u=p4X_1~^GrZm1iK7=~EM$AJJ zm7xQ%s5^Mz@hKueY>E1tkfaJQuNI|F`BxcXYS2IuFoh@=?9gKwDyaZ~DbsPb5 n z5cN<`jWBGM)+C|Z0apl>dJK&!@C^qV0pm=St6Wc0z78dBhvYF=4qMmgr-mxn{{U|Y z3b_;>g9^BSYfjy;lC6K8GAiogt4SxRClVEPDH|~#3UxjH?3{7fws8t7WSo_S38zwa zAAU+Wr87|p5mkoODh$C0{za{Rlbb9$5;v1B4)tn6r;>mx(_viL2m#1bIEq@_PQrxb zf>snX>-19