A raster layer - i.e. an internet map image service (WMS, WMTS, XYZ/TMS) - or a local file (GeoTIFF format). A list of map services is available e.g. in the \"Quick Map Services\" plugin. Make sure your QGIS project has a matching CRS.
" - input_section_whatsthis = input_section_tooltip + "Select the raster data to cut and set the extent of the output raster with the two widgets below.
" - output_section_tooltip = "A raster file in an image format (PNG, JPG, GeoTIFF) with a certain smaller extent, possibly with a sidecar file (World File etc.) and eventually reprojected into a CRS and with certain resolution.
" + input_section_tooltip = 'A raster layer - i.e. an internet map image service (WMS, WMTS, XYZ/TMS) - or a local file (GeoTIFF format). A list of map services is available e.g. in the \"Quick Map Services\" plugin. Make sure your QGIS project has a matching CRS.
' + input_section_whatsthis = input_section_tooltip + 'Select the raster data to cut and set the extent of the output raster with the two widgets below.
' + output_section_tooltip = 'A raster file in an image format (PNG, JPG, GeoTIFF) with a certain smaller extent, possibly with a sidecar file (World File etc.) and eventually reprojected into a CRS and with certain resolution.
' output_section_whatsthis = output_section_tooltip self.dlg.input_section_label.setToolTip(input_section_tooltip) self.dlg.input_section_label.setToolTip(input_section_whatsthis) self.dlg.output_section_label.setToolTip(output_section_tooltip) self.dlg.output_section_label.setToolTip(output_section_whatsthis) + def input_layer_tips(self): - input_layer_tooltip = "Select the layer which should be saved as a image. Needs to be a raster layer.
" + input_layer_tooltip = 'Select the layer which should be saved as a image. Needs to be a raster layer.
' input_layer_whatsthis = input_layer_tooltip + 'Displayed in the list is the layer name, as well as the CRS (Coordinate Reference System) of the layer. The layer will be automatically reprojected into the selected CRS (see "CRS" further down).
' self.dlg.layer_label.setToolTip(input_layer_tooltip) self.dlg.layer_label.setWhatsThis(input_layer_whatsthis) self.dlg.layer_combobox.setWhatsThis(input_layer_tooltip) self.dlg.layer_combobox.setToolTip(input_layer_whatsthis) + def extent_box_tips(self): - extent_box_tooltip = "Define the extent which will be cut.
" + extent_box_tooltip = 'Define the extent which will be cut.
' extent_box_whatsthis = 'Current Layer Extent sets the extent to match the currently selected layer, to ensure the whole layer will be visible on the exported image.
Calculate from Layer allows you to set the extent to the extents of any other layer in your project.
Map Canvas Extent sets the extent to your map canvas, e.g. what you currently see. This allows for easy cropping of a part of your layer.
' self.dlg.extent_box.setToolTip(extent_box_tooltip) self.dlg.extent_box.setWhatsThis(extent_box_whatsthis) + def file_dest_tips(self): - file_dest_tooltip = "Here, one can define where the output image as well as possible sidecar files should be saved.
" - file_dest_whatsthis = file_dest_tooltip + "Open the file explorer by clicking on the button on the right with the three dots. Here, you can select the directory where the file(s) should be saved. Enter a file name without the file extension.
Choose whether to save the image as a .png or a .jpg in the dropdown. This will also affect the lexocad sidecar file, which will have the same file name as the image, but with a .jpgl/.pngl instead of the .jpg/.png ending.
" + file_dest_tooltip = 'Here, one can define where the output image as well as possible sidecar files should be saved.
' + file_dest_whatsthis = file_dest_tooltip + 'Open the file explorer by clicking on the button on the right with the three dots. Here, you can select the directory where the file(s) should be saved. Enter a file name without the file extension.
Choose whether to save the image as a .png or a .jpg in the dropdown. This will also affect the lexocad sidecar file, which will have the same file name as the image, but with a .jpgl/.pngl instead of the .jpg/.png ending.
' self.dlg.file_dest_label.setToolTip(file_dest_tooltip) self.dlg.file_dest_label.setWhatsThis(file_dest_whatsthis) self.dlg.file_dest_field.setWhatsThis(file_dest_whatsthis) @@ -62,8 +66,8 @@ def crs_tips(self): def resolution_tips(self): - resolution_tooltip = "Set output file resolution (in target georeferenced units). The resolution defines the dimensions of a pixles in map units, for x and y.
" - resolution_whatsthis = resolution_tooltip + "For example, for CH1903+ / LV95, the map unit is a meter. This means that a resolution of x: 0.5 equals two pixels for each meter on the map on the horizontal axis.
It is generally advisable to set the x and y resolution to the same value.
If a image cannot be saved because of a too large file size, increase the x and y values.
" + resolution_tooltip = 'Set output file resolution (in target georeferenced units). The resolution defines the dimensions of a pixles in map units, for x and y.
' + resolution_whatsthis = resolution_tooltip + 'For example, for CH1903+ / LV95, the map unit is a meter. This means that a resolution of x: 0.5 equals two pixels for each meter on the map on the horizontal axis.
It is generally advisable to set the x and y resolution to the same value.
If a image cannot be saved because of a too large file size, increase the x and y values.
' self.dlg.resolution_checkbox.setToolTip(resolution_tooltip) self.dlg.resolution_checkbox.setWhatsThis(resolution_whatsthis) self.dlg.x_resolution_label.setToolTip(resolution_tooltip) @@ -74,3 +78,26 @@ def resolution_tips(self): self.dlg.x_resolution_box.setWhatsThis(resolution_whatsthis) self.dlg.y_resolution_box.setToolTip(resolution_tooltip) self.dlg.y_resolution_box.setWhatsThis(resolution_whatsthis) + + +def resampling_algorithm_tips(self): + nearest_neighbour_tooltip = 'Suitable for categorical/classified mono or full color data. Pixel neighbor value is used without modification
' + nearest_neighbour_whatsthis = nearest_neighbour_tooltip + "" + + cubic_spline_tooltip = 'Suitable for continuous gray tone data. Values are interpolated
' + cubic_spline_whatsthis = cubic_spline_tooltip + '' + + + resampling_algorithm_tooltip = 'Determines how values are interpolated between known data points. This affects how sharp the exported image looks.
' + resampling_algorithm_whatsthis = resampling_algorithm_tooltip + f'Nearest Neighbour
{nearest_neighbour_tooltip}Cubic Spline
{cubic_spline_tooltip}' + + self.dlg.resampling_algorithm_label.setToolTip(resampling_algorithm_tooltip) + self.dlg.resampling_algorithm_label.setWhatsThis(resampling_algorithm_whatsthis) + + self.dlg.nearest_neighbour_radio_button.setToolTip(nearest_neighbour_tooltip) + self.dlg.nearest_neighbour_radio_button.setWhatsThis(nearest_neighbour_whatsthis) + + cubic_spline_tooltip = 'Suitable for continuous gray tone data. Values are interpolated
' + cubic_spline_whatsthis = cubic_spline_tooltip + "" + self.dlg.cubic_spline_radio_button.setToolTip(cubic_spline_tooltip) + self.dlg.cubic_spline_radio_button.setWhatsThis(cubic_spline_whatsthis) From 57b32201ea793c3899e86aef6ce73268d9a1ff00 Mon Sep 17 00:00:00 2001 From: underwhelmingToaster <65400197+underwhelmingToaster@users.noreply.github.com> Date: Mon, 27 Jun 2022 13:47:36 +0200 Subject: [PATCH 4/6] - small layout changes - filtering layer dropdown to only raster layers - changed error reporting --- raster_cutter.py | 4 +++- raster_cutter_dialog_base.ui | 29 +++++++++++++++++++---------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/raster_cutter.py b/raster_cutter.py index 4cae039..e132891 100644 --- a/raster_cutter.py +++ b/raster_cutter.py @@ -28,6 +28,7 @@ from qgis.core import (QgsProject, QgsMapLayer, QgsCoordinateReferenceSystem, + QgsMapLayerProxyModel, QgsTask, Qgis, QgsRasterLayer, @@ -302,6 +303,7 @@ def widget_init(self): self.dlg.resolution_checkbox.toggled.connect(lambda: on_resolution_checkbox_toggled(self)) self.dlg.file_dest_field.fileChanged.connect(lambda: on_tif_selected(self)) self.dlg.button_box.helpRequested.connect(lambda: help_mode()) + self.dlg.layer_combobox.setFilters(QgsMapLayerProxyModel.RasterLayer) # also check states when dialog is opened on_resolution_checkbox_toggled(self) @@ -583,7 +585,7 @@ def error_message(message): self = globals()['self'] QgsMessageLog.logMessage(message, MESSAGE_CATEGORY, Qgis.Critical) self.iface.messageBar().pushMessage("Error", message, level=Qgis.Critical) - raise Exception(message) + # raise Exception(message) # enter WhatsThis mode diff --git a/raster_cutter_dialog_base.ui b/raster_cutter_dialog_base.ui index 6698f7f..2ea2d35 100644 --- a/raster_cutter_dialog_base.ui +++ b/raster_cutter_dialog_base.ui @@ -7,7 +7,7 @@Suitable for continuous gray tone data. Values are interpolated
' cubic_spline_whatsthis = cubic_spline_tooltip + '' - resampling_algorithm_tooltip = 'Determines how values are interpolated between known data points. This affects how sharp the exported image looks.
' resampling_algorithm_whatsthis = resampling_algorithm_tooltip + f'Nearest Neighbour
{nearest_neighbour_tooltip}Cubic Spline
{cubic_spline_tooltip}' @@ -101,3 +101,10 @@ def resampling_algorithm_tips(self): cubic_spline_whatsthis = cubic_spline_tooltip + "" self.dlg.cubic_spline_radio_button.setToolTip(cubic_spline_tooltip) self.dlg.cubic_spline_radio_button.setWhatsThis(cubic_spline_whatsthis) + + +def add_to_map_tooltips(self): + add_to_map_tooltip = 'When checked, the generated raster image will be added to the current project as a new layer after the image has been generated.
' + add_to_map_whatsthis = add_to_map_tooltip + 'If checked, a sidecar file with the ending ".aux.xml" will be generated. This file lets QGIS and other applications know in which CRS the coordinates in the worldfile are defined.
' + self.dlg.add_to_map_checkbox.setToolTip(add_to_map_tooltip) + self.dlg.add_to_map_checkbox.setWhatsThis(add_to_map_whatsthis) From cda8bfc65bf02f239e096b77aa662387bf721c15 Mon Sep 17 00:00:00 2001 From: underwhelmingToaster <65400197+underwhelmingToaster@users.noreply.github.com> Date: Mon, 27 Jun 2022 15:42:34 +0200 Subject: [PATCH 6/6] - updated screenshot.png - added "Using this tool" in README.md --- README.md | 13 ++++++++++++- docs/screenshot.png | Bin 32161 -> 28221 bytes 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 74ecd25..05783f7 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,18 @@ Additionally, the plugin can create a Worldfile and/or Lexocad sidecar file if d ### Using this tool -*Work in Progress* +1. Start QGIS - install QGIS plugin 'Raster Cutter' if necessary - and open "New Project". +2. Set the QGIS project to the CRS "EPSG:2056" (= Swiss coordinate reference system CH/LV95) (bottom right). +3. If necessary, load background/base map (e.g. OpenStreetMap or MapGeoAdmin). Make sure that the CRS is still "EPSG:2056". +4. Load raster file/data source (= input layer) (WMS, WMTS/XYZ/TMS, GeoTIFF) and zoom to the desired section. +5. Open the dialog of the 'Raster Cutter' plugin and define the necessary parameters: + 1. choose the input layer (if not already selected) + 2. set the extent by clicking on "Map Canvas Extent". + 3. Set the path and name of the output and the output format (GeoTIFF, PNG or JPG). +6. Set additional parameters if necessary (for advanced users): CRS and Output resolution. +7. finished (load and view with QGIS or Lexocad). + +(Translated from https://md.coredump.ch/2H-jGnDTSbuBk7ai0xWIxA?view#Bedienungsanleitung) ### Set up local developement diff --git a/docs/screenshot.png b/docs/screenshot.png index ddf9ae1d1163e44f56579dced2443d258962c6c6..66cfaaf1f71a6c4671d82bb1f60da29c140e8360 100644 GIT binary patch literal 28221 zcmce;2|Sxy)HkZb(TPsl5{jb(YL3)gw6s(al$wgr5M%0?8-(^~sS2vb2vXV_YKVCr z+9IZy=a`NmF;ilU=|0hO&ij7feeeD5``!Dye*E&-dp~>cwf5R;ueH~IC0G}#&U%{j zG!qjOtH#6okC~W`!hyeYCz*i~<^4f3CZ^}dHSXUtcwwS$JMnQ`p?r;IQbb(rU~qg7Kf*?d zHN--B&sJ{FYf-;&ZSA_xk3R1Q(NW4=HRTS8YuX?5|t+ZF>33Jc4)4?TUF{FV2(s>qS7A3?fk-*@HDQ zXd)&(?}D0HjL0L4bNW)pN^@|muvi>aJaLDubD*TTeM6>Q3$Sk2@YPsw?f%{lMR~vBKrk{gay6!;@@B0g zY= 1=2*7niS03Dy7rra_{7+ zc_Zb@nL9Q)i#}0CUI}fEN3Va1*$_{2P6kVC>(k ic8m?n zn^3XLbRHe!8v6Ky=~L!7{JLXHWjQkPOWuSe;e58_>4x8Vc2b)hK8KT|ZxMcD?2xZ1 z%LvjRty2As&U<~%O}NoDeiRKic6D!eCER~lgI`flp;=g|QJHyxrY>jwd3$3sD1 z1WB%JB|4MfVFvwsFf)b4)4j+X8mlh-Yv=B~lo!<8 xu5lJGCF!`)d870B6GjHD_8AAIhQ+9Xm}jFzvffEim&0C4=8K^iCCNyRO~a zSBo1mQerp?z2Nf@#8$nyA75Icr|DY!>a_Af85>N?>BgF4M)2Tb^V*$0-#0eWBLfR@ zg&U`Wp9C&nj+-WnHt;(`j67_VDwB%+4Y4=P!^BDYo@skCUqCHU&h)27=mPTmqJGRw zz-}8aWTqSq{~1>ULos(arUFvTT>Fg_H?FQsk4TVp`Ed$%QWh4=bQ<|N@Wfs(JFp=G ztUn^0tRR&LxGYE4O4FVbFT;uXhFQNjzn;z}v%!)Kn)Exu^zHo1|I!2f>}j}n^dI$t zeAeWc@a;KjYdnb37;)Wocgtmaf3xNsFpR_%j%E0r_bV!7UP>oB#B-)2c}Ah$Z=(R; zbUpmeMRb!e(CC{A@deK$da35XPtJEMcQSl6y~?U-S>e^lGqYs-j;2TffFLH~>B(0Z z_O5-waI#O@*wS&&5V_P^hCB03_Srup$UqQb^X`*CYo;sm#A8;!+~uSHrMvua2(d5> z8Jjxpd8n$Hh|$HZ1O9sl`vq(RqQ4wJqrbiIu40hFCP~@#XvJ?3W?fOAjfDt> -gmLu=jiL B!na}oj 8FTWZF3c&;-3m?~0KhMf& zmG`8BA`zenwt0b;`runcxaY*{@4gzA&(0P_Gz*o4>6&5bxOWYR$LwM9SAJ1GfUlf4 z6UYTzG6|j=2>Wg!ta08gt{BdAbZ9A6Bc#C&Td6lZWK;hdEmWW){l(re+b&QiOK9KO zCLf^%5_=l4lE jx|Mn&_~3l-5-6J?4DeDAG#M)iB=go`HP5!g^V+a z-=2TRe1Fj)X@N8Rtkxn8UvVT|#(h}BVKOB7GcU9I)nh+vgj(?XD}f*}961{E>t@|? z_K=iT>`gavl-HvvWh)_R)j>&Qw{e1up`f{-n4uqD_VRoXKmZhwBj!MxB#hoWt;o|Y zaRNgL_LGz|!sQ#0U^ty-v=JQcMxW%2YqZ<8*#7d!LbzPO`MF7kuZ ;qnR*;Zzax2s^e1PZHM~Jws+H@IM5evs3k@UF);LqjsEDd4~ zj^7$%k?IxE_s<=5dpG?g9pH1yUHp&r6zIQwM9IB_HW;$>H^sqoMIuus3*`#FbTfy> z>79a1MPa}G!>=Uz9>GlSKZY)pd#6)v%G(p(YD81rY_la6=H<7>i-%TkOztrGJH$^I zxo3=@-j%YMwB2zRbbR~{6Bp6I@>@&c7aG5SZJSFp)V77q$XGe;*&ajE8G`-oXWXa8 zKTND1_-kiidaIwXX_(FvZk<`ROCS_K)CxRsd+eFuXJcO@SvZl>@3SOa-;+>OZF=qd z{v%AKB&18NSqfg}@p|I)T=*)gm2d9N-+U)t?Z@yLRQ>zkKidSjLBYtyfp24eV7|+~ z0v+RUlYrZCy!o5AR7+xq#A!e}jw4tsNoBM)g>|L3x)e#; @C>(S$(1 zrsH-Yt@Ukz6O|(TuHf?5Pwr+Xe14n5$(y*T_hAx;3staLTYO1zjY^HgkF0)HZ+QcI zekK?z+bcc<)I)0!$@{HV9OYw*Fa5|SMHBO3%-8-+7xRStb1u%;@+KTi&3b;JBI?_# z-o;e4)Fyc0TD)!7;JoQ`rBe+yQOKb%&`@b~c*|M_$s0re3hf&PJewWErq_EN@$;8) z*Jwr0^y8t*1A}7|rn68YwQV2ytX?YL;m7{svo}M`XS}R*)r1Nprs@Y*gc4(Dxzm(0 zaf0f}g~_sCpgXVWDbOp-FI{J(3>yX=XC!jUUU`T<>c3ZQnef4)VNqVy<-5|YSy$aL zV96B95erk*GvBp&pVQ p>6i|c$OpVw^_uz{ z=kBiIg4eC74TI-g21>2{hfYzt3FlQq?h7IX#e} RMGN$ciGPfT;9ce3UGRtCGR;0nAPO2~A9Y>gA?mPCTnq>tDF>QV8Z2(gT;d zlH#{*?13});<3SD9} ez_^ZtvOUKdgQ#-o~CFu}>%6`C`p`qu}>a0Uh~p zocNQ3G2XPxkGS4CiYYA?v#zT$_6g-=b_8&*f<_p9$@Xp4_U{W6Ho>b1z>|HGW$`I% z8}#&{x!^PF8Mms8KHkfSl=3QUHKzad{GGCROke|^i>A1>(PaD*K|aeK*ip;zuBFlI zodI=xl~NFGgx5(fd?j0@d;3X`bk8}){)@Vvt0wRG99#J6_PeC4vNltjY(4olX TMLnUA|bpZrbTzIjj*Z>bwu(yEcyyc~< z(Y5xenQdD#3Y&r>^?RbN-VzHZ1TMu!_`PgVG84jQw7Y5z*4%gm&FR|GCF`1fI#+zF z O!18p3y8?1n7M(b&KUj5i zT@z3~*PV$e?Qdr5f8W0I=RS|*H0_LbLF$j})rnPYV+H@g>rJ)ea-L%E93O#VwUVwZ z9ZO@?*|jWQ9U$t6vjF@kwYK_6wD~*~$ejF3^ot<;Ql{DK1>fIYj&bSU{%Yp7SR{HW zt-mOLd!e)={%JAhwtSk-m(9~X;(#^_s|0afNqBQ4nNRP3t)>1yP<<}biC%L%uR3%a zN!p6ABWm1zX1BBEtXu0b>u&)gvkCAA*A?%jKgOcUyp}C&tB+#j0Ts*9JIhe9d{kx* zb*C`FBVUQ6dgztkUh2J)Vh;>{-e>l|b&4Eg8Z59qH`ae#^%XXV8Uk6r`kQehV2=>5 z!t2gnmHq4WF@rbTh&^b{9X88LK=2A9x6A7f%%$mI`GmyR!-h16lgU<**jVqJqap@? zDGfi1U}63A-#bxrEeCE0JFw+D;Lo1>&lc<}OUz?!2WeqxR98`eGz_pDEg;44)ZVtH zb=PaG%6S(2ICNYDcPop4_1@=^8V!>%Qj|jwNp_q+OAvo!QO~6ed8*L}Dg-kFtedNI zrg2~n0bq(~TYOf0deb{?Pvcry?W_-IDA}`vstJp&1;Zn5tzbh2{%HMtf#2Mr2LrZO zi)(4Z1P_5D;l-y{Z@vni&7(1sKL|L>C6^8erh42*+x2zc+e;T^Sn7b;u!citTBj7N zNYDNupzUC+!Yo`B#%eKtzbOh|mu=d~f;WD$JJxL78Yc-VzE=AT8$Cm|CEpNe^O8)R z;`n|$ym<)v^cp3K?OiuAZ{DfGuP5hkR??x*5?pnDOc=$rMiyujwZ2eA+kuGMQ_5|a zKccxw08YFZ3AV3tb>f5|WefT8tf3M7i6`+FnuUBM5nQTxkZ^yDB`|3fNDNz$_qD%$ zgjXMR@ l=Ze6T5#;OAwT> zG@kG_O|z$;JKCdRK3n{{`BeSQ!B2hzE(sXcM}IF(v?b_^l|0Bz>y6Dv_XO!1#qQ*X zD1;Ul81I{ANS99&1yPE=3tke)0~Z`vCV!&qnf$|dF50;7p41g=ckY0%l(G{ZY&%#} zhtcVAf*=l}Qvu;2hc6%7%>ciHDWvjW|H=M36u)?G&*wm>%h40Kxxbz$(-E_Fo3vwe zvi$1PSF(G}lE%va+KKeA{mQs|=v<{u!Yv(ssz?~lxJU?|`^+sSCapCVuxovb9z1(5 zNuX4^(4`VbY8Gzk&1Z^U6k&_yj^*f2*v34DKJ`WrRVF`9%3Yo>`geEyZ&{zisOdy+ z-uvmUSX9Qe&^HypU6r6N43+3?ERPX3RbC54Vk3PvmprJy>X 6$W5cshT?LyPRrqG~GbG_- Il! zR)0#g5mPylbQ6-cc87~Uj@EJZlSCRT$#Lf9C&^_gpb_Sn-!>)oh<6}X-#dwwjfAp` zwZb2E6R#Jy86P19r#@W$5^HgE284jlqNKGXrjyMB(NM0q{tibqt5HWaGNx*4B7{j1 zKEP{9y;Ind+iri1#_8QENb+Gtu>5ZIe=crq#N`1<#3LUa)y9t?+Ef)VKN6%R2+6US z=E{CdAqaBpV3*c@%smvVS-Z~!nNH?bvpO75Q_bdZK RPL%+oO`8;N}W@e ^o^-vqZsz66B~G`4ix6vNu7 UZa#go9;^4Q75sg=%5SF`_M4;5=GKb4+^ z-0iD+v8bn$V3nyQ!{0*wR6Rd6o$VNT!pF4OySA$^drUsH Ds}Z7numukCMB zo&Fl7FKNreQpzqj$FfadHweFMOVyn()1t CVbLWXVD&YZ2ig^A Aco|MND _MI-r>A$l-u-$?|H+gHB{j_jYS$|6T;wCqdn`L5vSlY@#u1=_+ z7yBX9)dKvUi2Mb}!CYz7-%E1b(d^T-wP|V^8qQOWr;iS}X?AAXb_N&B-S)UW?VVnk zmLNBcENGjwy43f)HJ#+s`Va?({M1p}whp@bj( @g2twKz-4zTIm>6GidFL^GOdo=Dwh+)fjfwRqX53)-GGFzQbhFGtEzoAXD6~?n& ziOsWH|Be{=-m5QXGtfV)>KyyTz$hRf^V3*c{J7qMJ2zD(mRQ@Z$Ax~~H2}BU)Yv2> z9 6Q~Ov9K+smnfb-GHn8u9c$AauL7#@}fj$rMuhDRPpjYiuc5y zXl>d${cqA3x=<=7bf<^&z>}I2R LYeM~v~vG@ zfnMOis<$%=)U#SoeYj&5_#o3LGx)PWp125WNwc%kC3*CQ{OHzNN|JtRbWU`;Q;t3q zmoj!9hkFi1l_A&09Ya8bMTY?YYX!z-d%{D3p2Unhz&@I8+x~X74S%lMrKtJg^3x{U z-)nfr6q_shIbmFiG;sHUE 99V=^JJi zSkHNP@TX!=$A9$rbq$))echO?k~lh2{_3ITiIY=4&C(8$KJ7-9sHD-QGt{Z~f@&oW z6+#z+RBCB{<#-%EI@r{l>Mnc#a6eFYPfFZx9{>)o+MjLnWq}~v`#}`<*;*1Hw5$jx zOk8IFXG6T(53Acemek#!5UqdOI+6wiB^jCq==iEe5)g6y==k>}&Mis+Gx$~+XmQve zAK^6Jme~0Xw;QfR7rfgLCudFl@Q+0y*pf~ iRPG4vHlB8_92_KA1z;aP6^sjb77JbqhNa;{Sk zr%tzmxq(LCWGyShSMCze*!xGR!w#KArl@28Wz6KiMkl^c!sW4YNizn-D3Y&JI^BLD z^lvW#(VF}1tqhPGQ`Cw7MvwoG@Qx41NCN<>hk;LIE1*F+mE9f_v>O*H&pO9iL^I%q z9m)V-o?SPLEkneC)ofTz2wDb&W=1S&h8HaX&s+K0p7FD++@_;Y?-60z#xunu{z{t8 z1VY;n-P{M2D^Fz1ySLj1BCRaUW >PgVk5yj@_xSs9|9NO++A)prcO1d^w<*D+EM+7 zYiZ1}_8k+w?f7WNU0B;0Cpbj9r5_FUSd3y2BH_DMj{%*ou@#YgVn6Ie{G(_!)nD8G zz~;03qL6vmkQ&hD<=0spXr8 XFC?Kol|CqDKJ~t?5HaAKd7&6XpVhkvoE}<@n(Von_R!`~*<89V#CNht~XT;n18y z)ZB?w9&;}SLV}qgPIk!|jTr0}0BOuvzEo7p43Q>UGIBdaZ(qj#&UP>nBEFHB;yGYR zBmxmF0G=zf_T!BB{b7%O^L)qtoX4d0_W5U(LX!6~K$=4x=Oo~|oWGh`E9uy5k!+Rp zzfvxiOiM>$fb@&47$ajPL@EB#~;?r-Gl){F!IU0?{?i)j{5t#T>2K%Y+Y6rD}} z#a%KVq)21dYrS^^467yQta6g}fcRaS1l)vfNyH?lYiL8j!Zc6;*m$zjhYASW(8fHt zqkpg7kqFI-)$mwGc+T7p)*?5pKU+>yKyacA0tL0cKoHl?&b#X`-G<@1&}*3R)^98y zp7%G}-`zaNciUawW#T^38od$%i^4rGZvw+gMm%w5ULzhCs-)pW2|%H_p=+aHJ!f%B z*gVO=6sK}N8vvAXEnqfSIF#oYdIWYAxHKWct2uFqrBr{FKAo?uy-^Vwyw2s3LWy9z z5m4+sBsED%S}I+7>yksiV0v?&>d7Zx1d?8;C~cOt+i3NBRnxdpfN5{tovPiMJLFuW zC~r;&0NqzR9U%yo?t*ruAsMah2aCC&T+o?BAdcQM=O#}Of)|f!4S7GANop=?ZfcU5 z7H$yLED_jwCzlfiT++ zlmeM&z^cOa?HY?4>W1K{b1pwdl iLMv0nvqhc#9|d77<7OAmca=XyAH{*sv;B( zF@2nrYuldG_|0iB|0cc55MEckzfQ32TI<4qYOPr;Ya}S_MYV{BBx5J7cw%jW`~&L! zX&su>l|k>WCS9^tf;he!+I^)+y(Y!LMx9yQmL);@a&%;O3D0{loP2+K3b $*f>*0DX2+GLU~Tt7^6|&y^;Hy8yz;!iY{cQT(>10$$pYGix;webV+OMiGtA z14Mfb(`w4Y>GA@|9`Q`2G;^1#>|CNpPygqu({)|Sh;eUKmt?=7CA?w!*|9B;$A^Rk zYT_ht&i*??ottjhn)|!WM%5E_n+$r^0KaFGRo_of!O3AcVJQfdX;Opbzt4QV0fTA{ z^Wp3jf^l)6k^PGq;xe$N4OxO9+GbY2Ol&9$6fpW%e4e|$qdKCtg<8Pc5r(yf+@=U1 zzS+Jv<;s@4KU>tTBrFEM(N$V!H$c#4qq#oY!#u^e+euS4@-8n8E+iI{nV$g2k)4UP zTev6Ta6$c9S1nyjQo`EJNtHd%33s_-cQd`cWYl{j1{Fe*aA2>3;f-q<9EdEW3iGuF zj0xd1k}Lzyn{~0^ouem|ZjdMUFMknhk#<&eh=iOSnT*eClg?QXZWR1R|Dzi1a3L0t zeq!ew=S>qS>m&yXe~?yosYWPp&3>Yb25{W^`pKhaQArMsQQgB;2?;z+YGW(!a~afc z5PUNtW{Y{um|tfcrI+jNne`!ioLECl*qL75_!IJ?D(R1~{ZUk@&(bD=0VmF>F;n}V zI)`H7P}&&> M<=v9eASvxhld7?{;o=`EkB!>^+JXoqha5ROV#j$ zYGZZEwbH`%KKd8*qaa- 64ow^h0R m;%c%;3RNArw6N~9yMv_&a|it}r4niT8ct+UyIA}7@1@;P GN8Gp6-&i0j&sfp3%`sY4*n0^O?Q(iFex5#^C3UG8#m@5 c0r}o~fJdjq0pm3j4RK(26SDh%%{_Shw9xdd z{I+Q!k{BbF4M0*ZNS;R_M5>A{oTvPduf<{W 9t9(P!;Cl9-}#tm-fk9SW0SW}CONxXH}ITgi~U504|5OP}5 zV%^XEs|Fp4@`7bn4QocU%{DvjVQOD1Q}eok^{Yp|do1Ul;Xnz#=FT1L+8|=!EZD|| z-{h2aJMcw_5YCRoN>fj&*x4DZ$5zL8X97sbJ3%p^kQ^LBB+NM;EC4(6YhP=&&liE7 z4v>1$c$;~G{T#amq%VWSKjUV9M&sD>CuttJIaGxTpcTEpSo8wdIOkQW`u@P>Edl72 zUZ4HmD`!CP@-^Y++rFe$ p6{^+$>Qd2k}<3HW2Tnp_S( zgD+hNx)om!1cxgh^^8~59Ue(!th3_Ksn;tXOAsvU7KykIOP9XNT )g;MF;gtl>e;ofb)&rsh7SD@b>r8?-OHpv%?jxw4 znDyObyAneGHp^p#P#8u&NC2JEdq%4))mJ|}N8ud9k}*>Na{LP48&K~%ERR;{$-{@e zLvNLEUq_^iD)^IuSy~?K?_D@FQQm{^Az8%I0&cO{tLMLvVP{@XSc&F7N&Fzc~H|x{uR&|z}`97Rymfjon-tI zknGtvsF`?|@yx+;Xe0icB=oSobpX9NB2eMEIL8qQi)AEv 19;Xft1ZyYuskZ z0`Uj$@Mnc&QedpQ3~J~z=|x; <+wEf zUhPzib7FFvJ@v3W!d6Gi6qlo 2
f=6p}NCkJg9n_$2Be^KgddbPE^lwzHrGn?umMmc#;kvM$#UlAY<>3yD7w zTDT)z?aY5ob*BB^gwO}#Sypn=NuE)+t_S0bV86)=fMZNtn`xG-GO&?Z=^e6tG_Qy- zZd6)Q6fzmyGS$!D=%5LLTv6eYT9%!wZm1)uE4n~IiRUFn`UVs{-mKob+HL+?tUc*i zb?H=jfHWs$De);26I^RC%PVR5xToqtYh1;*lAlgYtwyRQP6fJiGCP)XoH`1RV#a-; z&ET6c$wF7dr*1szAH03P+LO$ccdZ{YE7@FEW=+qbkIboKSJ%*Jl2p$3JX+{0@hrBZ zZlvmxHuO14OV_CIBN(dKzTc(K;{>t}Koyquv?&1_e<83s9z0$2mRN8^wx%j*;wUaS zQu=iow@vdy7S$1sa7h997ouvvZ4in)+mkjyw Uk+TS?7AbvJ7p8RpK^}1?}^ECv!dA`f(+pW|eMw z-nO|5sV^YfX>YvLr1@Aab=e_HGTo@q)BLMw+w5luyJ@NYh&=6pZm=%k=KLhFZI}e= z7Zf8X-YPc-jP&`gMd!58M2-i53#qgC3*9zT0fOAX<%0QcS-5rH7`+`oo6V|3Q#4%n z=JyvCtGGvRKGkPr95{NFw u+y zc6emWdy;3QXn=~0N3aN8msEd)+l%|CW2l+jYCO10>GIs*%rzUVf88?f16;Z6S`t5M z|KM6O)| %Y=F}gO4Sp*RFk_L&- zR_7(H8gpUEbFx3-Rc$SPMA5P1HU}4r@oN0TVdua6(s*5Nhq{u9@^`}K!$pz} ETH)qTOd@2}XJ&=!+2plkoHb2&rh{)a5UZ;kMcLI#j@XXN8XRSF%= z@Ngk~tc1!{Alu;EpL`=@U&))RbL~K`0Fh&Jf3-y%IC(^5NjyfBY5@9oc)W$_!+>vD z04@f83mTj(AKW~=0s^46SC#$D!nhUq)x)kv1o3z`YQzQ+_8BRK7_6Xp_0~1U0JXM( z%}YM&;XKhp%Ugk27FEzbi#>aj?!RhUb0V^biq&1@tIompP{6$6@*^(-*Hk?}vB@du zWgz4f4cx0W6?0cmGRL-JNXUco;e3i`nah%}>tyzjO?TfAB~W{al2fr1W1EB`Ho*-1 z8U8+hVw8C0PatCupst BA1)MTJ zY}mbGw`K2KOX3(kXSf_4G+Z^EJN#nau*|O;QMQ+(xLW^Ix@EY3DT?5~^D=9Pq^-we zZkYZLj}TpV03VyF;{=dmXnY0cF?{O8%l&5?(s)qw(5B}i`DOv{LE*w~A3A^f=eel@ ze8s)$vgvf+&A-lBFA0ym4;`u&t5{MLfsJmPn`|~Y+U&F~H)g}C^!KUF9{Fz5(6q`* zI&B6I!ZEH-wH>Yi`Fb(}9+xdLdu_xb$0AcLs`Yix9(*1a6J8$>uYMHf!|x-fg*wb^ ztQ5IP %@) HP@qymA3SxSk`XJSD!?#w4LQ!B}gqSin2vcD*O)FOp$vZ zhMH9xfS;DIn8NanRd3ev?(2H`PU0l}cV92iH>y@=9S<~e%&H8P&?C&-KVqeud-2kQ zTL*eMdp|-${Rz?GzH7@iy-)D(=bsM-6YwxEAze~ezu?9#1 zw4TphSze1KlAiH>qvflF>H=O?+_BQoJaec8}q_J1lWltw__;uql?Jr!H zp8H%auIIO+NJl%b$jecic-PbNf{`IP;Z5cBD3qcH%4Pm!eG##sbjj%{yf~YbnfX1> zBY&XWNN*p3`l n=t7qZs8@;WR&mEbiGl>pRQjv@lM!!FyE#u?nNYYx(MupYiF4SzUO6ZC&_nb zXe@?Tc};V>gn3hWSF>y-Mow-^Tsg|;>~07kA>gu=KGFQ-3&rylC#E(kHk-M}Muq#$ zc2L_yuW5>7=)Ci=hqFP>_GwHCAR+;vkk+2Mg-U@ozysg9BnpOaw09Vh?t>$VyAK|Q zWJ`_=-00&e`Vp3cbP{r;*m0J4AXjnQg-+U&*=%nRquJfhjSbZ1OEzY+%b(Ae&}Z8l z$s}jG1{xHmW`BjC`1Qx4q~cyv;fPTVlrZElnQ{G6Y?!Uy$S+&w?of)4 AZiH{k!k!i;9}b4u?jklNX*lsfK^wOIU`-cQ>(uFI;t-K68n ziajN>A|Fm%Kq^5#Zz|G8tZ*{UF`-ZYk5axo9?JLYUmu^S4@D_U_R3cFv2T+oVNjt+ zh_SC(27}?#p1m4Gw(Mk!v2RmhY-41}U@%$6*u^lD8Ow94p6~1Rdp&>sp6C9@%e?OE zzRq>u=Q`(H=bZN&ElU$pJFmIEU+#t8GgS|r(H#rhdf~soO6wiLY ~P1-qsLzx42*4*;?2*Z*G}k`i@C>nLu}*D*qM#3?J^P&G?IHKVGY?-Kgr; zU!1A0&zuV#AD*q1(6hKMGKEBc6E2y8WQD`55P=U5m1#+?h!E>+ci%{t5MQb+p=HRI zx?x&@qG2LhzDa`&>qevdODfI?PM`)ILifjDM;Tci6S?zRH45 TJ-j3%n5Tj zVDxRBO`^_)5*_%H(*3Qt&2Bktcarcy>26!2S#P6fpJ&fyXX+9fiKdUTlA_V|7CIl- zW;e4FBJY{%_*dT=F@LsA9*_WWYmE7WIg$}#?l;)2K_*=jx`jW*orfNdDXFsbv*f6< zdgE5KLO~Ff1WE5T%tG-HM#_Aa+Bx}tOPsr?KgPzOM93_?W`Jc`7K*v*mOI~acfa*I zi%49|W^oWH7M|We#FKV%EfuY0#(-t5!b#PHKB5QuY-ZwOZRe|@gsVgIBa;^ch-I!9 zWmGF7Kcr)|hha>yOtqq(oiF(|v9BVDVfS=uR_j-O?sNI$pY(U*gu$2j*Wg$7>6jM( zSp+yavU&DZDY4Sbho~e)yMI9JMbz#3Rs|1L^k$l%PaQOE93-v-KX=p62nPqi(sai@ z!y*xi-2ABByYCdn`V)04 b@=)kV*f1cyiUGI4Rxfph8;kN~R@X%8=M z8!b5Go-4?B@VehnRX!v`1wfJJ+zb~-?=*-5s7`90r(Z~4PI~R!DG#V5PRzXS96@Hj z{o*;4A_-1E7nk&{;`?aF&K?aD9k7`sVpZ{3)y26ja}$fYXrj3nO!p#nV}rr-I?u`0 zrUY1eMQiguymxU%=Lq`|4y_;m?(Pu}5L*@TYz~JmXLCKwtlOJN&z`6vpK54wzyv8{ zNAdgHQaj&yIC^S@wZsArHuEMLBheE9Z3mJDYd sCwb5w!i$+3eTl|PV~a%6?YH2 zm %A=rdX{7qv5~=xd%Q;WJu0xuGl69mx;oTt>pt6o>qT@eh<_DY;fwT*|_x ze`mAhbtO{``(l-+Zj{WLvjy@2 ;t9y9&)gRT(_aO&baL`jigrs7?i+2Z0 zKgEL%1h!De *Fl!Cdk(U4qp_5YCIlk}NqlP%`f=%5&$Hvv~ z+7)W5A(a&}b37&lX@&TDlC49G|6u9K2F# A~&&VV6nnm?G1Rg4e#c-r3iv8)ZEe1aeC6VD~m|P0fwx`Ssj|Eo$_%Cl!TJEMy4W zwwXgJFtB1fbOPdu&mZ@HSfie8ybh(dI?rn4O@`gkz<%LNyK=w}CU{5DQ}}{QAod|F zL*+ReQUla$aVj#GZa`^rAsk0AF YSUihq@1oDAVCW6Xy;)3{QNmjVbKWJLPLCwc~Ejkp#{&}4*z^q~B z?rZV;k#^WmmwO_ LHRXe}wo z1Re3noo9$D_k)T#93v} b_kt~A)EHAq@py0E^K*p>&VPZs{=rZ(mnu!fbSc BGr )0 zV?)>}7i#?_YRm6XJLSJ~Y$igqI^d3f2ijKLU3@`d_s=ryeuvGtsg|${G@p2LAR50e zh$?&*dlOCjeXs!r{O_yf4=#?PBhf2UErgvneSU4RpMlzB`bP1&H8Y3=?N{+xFJWw< zk0lsLjvak8R&5U_CB-Wcf9Qb0>#^pR4 6=Q-?)-Jr z>O@v+N+pkdc;%UXElRA`_ON-X{9%RNjeExBV9;2O zj=vvZ0ulhJcwr4&R76n}4FRSH52f4t_5oIxhw}Wpz`exw`^!qtgH#z2ZF`Gr`xY)3 zY;lT$BYJ}$eX6A#V(Ep6RWG^*PaEzH40%=H_zJcSz<&o8x0IQ#kbx&n2^fv0$cN>c zZR9KSM`)%Y(9`>Y!I1!=MnQI~xkBzozO-M^ZSu-TOaT~(-A(WHiS&IISzc0gX53a0 zWV*umsmc&kMDCEnZ;xbsb(hWn5IlX=ptuRKS-MEeBeM4voIj%JzaI>sl7&LPA2|%D zbDobGnRP_$;Ul#JF1eghf>Kb5w@P}`PximkR*#9Z@tV2Eb-scfw#1!L?~cqaCokP; z5brPCg xIZ%oA4*IHd)&?Dc0BKo%jm68PgKj)gC{2sq2{?j|Av0SGCpDzKR5kCIR4AkLdWY4AeXO&^7O5asjgN0 zyK!krf!sGa6l;8xUr(#b_FQ*Lf|5>!?KS+PQ1)zvE>GV@>LT3;lO#(FKEcGs5!P0R ze-hr~Mg5HAX?aB850@-AQ`}Psdr+8i0-e# dq38lHx7)=$W(-a4Etc?s3ZXGP za`BL%=(Cp<3mvn5wo8=y)LD38s`QcKlMCCI>;FC|sCdY(7mX_{x6GJod_%mnwV0&p zJzWzgA*;sX6Mn|75z*NC#xK8@X3PBP@x`4Ezmd{uvHfEu4^as!Zp)U*$pM$3I{k@W z3)%HL-CN|v!mKr3)N~zctj@sAoAzrjY<-L6OFhV1BnISUV*2ngSLA#m?X*#?tnlaOg<#tNKW{=Pd`KeBaKyr%-yUh1bl2X@vkL ze&I2jtXpO~Z+R=-BO|Z)Js;?~;Q>ohs^nVJ8juxq=Dun$4bS33nfVQN tL4*G`yTk zEqu=xpd;t<6>ZtU9|@ZB->QWFAa!@A$#TAizibnCaTP=kco_HUtHJVxv3D2m15%X{ zmScMPpX^eTeeBn)7IaF&oqK};v8J=ZA2{jP)G_F>7b^6haz8x!XpY(FF1C(sg97kj z599OZ6GY(byC^1dNbu+if0Dq z>zWJk_`Icas(G)Z46U$)0g?yZxpP>A`5L0iIF-EEKbrtvBNe3iM5}~SD&mb53guS4 zsH@05E2C2rS!-)%K!xVe&*^=W5=YB&0qFHKzwwn5^9jU2E7ddvVQ&9c+V4+IK1>U~ z#{(wSj#ep%E&1rvdu#xAxkpl)258G4$JM_!*|Z&@KB&mQ4Y+EJFX_!G3Va0#+rO57 zC>C!hfXNX75{LM(`K}Kc=3H@OKhTtnb$w{g><3_b ($93pi5=UyIq$3wCK3E?Y+^5pBxz#2X=$)`;N zFDw6sX7F09%FPVn_qHhkxy&x5-RZ-gT#A|%ZLGRyVRvsyd +W_)rNR4#_)jzOATf8Z0FMh+nyt!EC?js(!R)yevXO$Xs0 3-A@*vIM|FT;O zDQaoeAsfCGRhr7K=j;}!D(;65x?g3?eqTiL^#*xF1UdfAo=RBztnjiCCir`{SJiOa z;c_e)P6fciiEqUs;w8kNZ;#1(^oooNUy?hc+W2#R!bElQVhp!TG)AK%{1x#|gF5~} z`I>@#TqQQeL%2m~9iE!8kSA!^m|2^z$pZAnu>x#tNbyb+303vwhp0sq{0-g3W=GtG z3?k{{v#U*;w83GNJOql692{W0CECYx3B*OV{xm-r0-ADf*m&xl O-e3idqUNWdFxzy-Bhv_QgJydO` +otWtT;StA3dD`y^)CycKK&Y6f;YFcFCI$We@{+_ z%PfMR6%pGdBt2pJ&9DGm1ODA zD5{f+T3lT`AJT-lt^{jn)s=3fcI0o9@+l<4au7$MTv>s>@Kxu~+3;1`9Bf7ppRGnz zW}3@Z#Z+CYQCQm6<$wP*lz_GWD4q}3b0(EfX8Lc=5PZ-*%cXH}gjBR~4=s7IxalMI zb1wNl(0kbR@525IjJPX=?L?M|V^_NR#C1dixWuz?oep10*GW}qGGBUWChRQX6v_BH z-6&vdfcvD5*N`QD#_d_#rq#}8>bo0JMJ)=r09I2oI|-dY!Dxyt^A#a_(k<(xFlQ%l zjElBBxJ3CvaEnZXcs}fCum3CsFP7#*@XhbFQO!_!I#a6rO$t;!^}I(wD-@T?u}n^_ zY+7$^YEi%ImKb=T2StJk;!nw%Q9(;$%e}y?tYm2L)>y3e{61zFCsGLbSTR;y1GNJd z2HhObKUN@PU7(8lf2Emc9+-bJu)6ePx=l<6QkHoQb$xjGk#gIYD7LaAty@RlxoeZ0 z7IOBUc|z^%qi3W+^NFc-za(l^cQx&e6$P (w$gfIXq2+P>?OlMzy&Wor+#r#Q2y$l2b4kGp+nB_RBk zsNYUq0>yjA-|}IY|3%VRgpD`<`j`&;O?(s?@~TJM^Ao1lvUF>R{aBvEqwU(QcZo6t zn>$nEtEHOfY|Z#rgGWlgHm24^6sx(K^x62LDhg+YQqmPKi})VC$29yK7KXmGWrI4+ zN|Br1iW7_M7{!dL&1ST$Kg;3+QA$%Wmr(E=>)O`ltZkT^PEh9q>?pLA-%+UkDfW}~ z^c{7-{fiU(eci=!ff@F#X*e2+tdW}N({$g6CTij0KgjEY2A5i**HuSU=qvY`uN I)kin?kj;TTUJ%NAv_*!YpZ#bkf@;!+kw-bMsG3IDmPow^aZp zLI`Q^PJRSb)2|>OoC>3z9sv5_blH2(qay82@+c-Bou6)dA;RM0k{_8MA z5m%rRSp(N~idb=`eM4;h`dT4Bn1+wI7S2a`@#|UC%Dw{P9ktq6Hf9rgQ;g*dHby0Ol1 ziLrOpM*O+^L3SfRZ#DUY>XF5?;$$UhC99&ME1(AIvhvqI&RkWNRpezW0u@oPDj4Ph zy{xHGzGrP+EcGPzk--V>f0ARi 6LCtJdJ+CS;@zVb%=UQ*O&Md!wFfE;OS z*xYOY$S~cP`Om1DZ4*vr99AFm^GJO|!*Rz?sn-tY;z0hM3*sDWHeQ$&@$TNedkZUL zsBfE?p3yVbGG$6SCCLWg@~^e)^u?Q(bj5%?0bT^+$-IBqI+ifvWu?CV@;-DCSH#fX z#KpxKB=#4L4w|kbDw2IUaMDJ+L8i6cP8M?FV~tlZR~%D%c>AL(Ewpy#kejglrj+hc z>A1Roq}&Ayt?e`3${QXpF^>6&@Q)vRH&}CmAR8N6$L#kY+sc}lN2-alXt?e37N2fx zvlC{v=W4;pQQf^f1*HvYc+y$2@lF2vK;WkSXfnoj-Ep^)Y1J$HwYogu>9}FGazcoUBsNtFp;=@a9m{ zXsg!+CC=o_RofY^Eg9nF>f1xLb+UqLATGXH*6(zBC{*1(aBjJ|ZddCpftbHOTpQ(Y z7maBm7Ly21KryGEw^x13(KNM9JvkKA_xYj?PZ#eE_KMiOA8i~;Dk|cn-llq#qnXx* zeqSlCoVcQj=F}zop@ztj5!8c_1C`~ZxQ`moq)O&}+hw@z?=Ml;AW7Ff<}P20DNvgA z>GRoH-eOp!9xtt(j%ahie8I3SQ%w6xZtk^)baHOb-l^f(u?_Jj(0zuX!`L6idp|LR zhL1O;*&3|wTN_95rJ`Y`QefAZW^a1+`1P*QZ_4k|&dj* &i2FoN*(?C94Kwcjihj)3$?cCts|726RbJaf~Hf)3gSA zF}G+J+4*O^cQHRBMI(T&?YWMdvTsYONEv4}1Lh$$6Sg_dv0^#rkNZEzGCmBRioJLI z;j{Clrn>(`omah$30xJ3O0Bwg>C60ZrKHAkPrdRRZYWUs(pBVE$&4;HOOQ0I{D&|S zfGuzTR?6yC!etq(sqS) b zz84_SYlR4=^73+(cu!{!GAmu#B;(}RQ~_Uu-6 -|R0+nXO?%|34z@8vhQgqxsD zuE|1Z9h`^ye7akObJ8!g7XrGyndKm5&M@Krvw@mHP@pUDbz(WN?b3ZF>P36M0IC+1 zs1RXwH{W1KFv*NbtLoI9!uVUK*!E)IX!M#d=3c+A#USykmdZK-YdfMizihr&W_=?| zXXo~uw3kgT%*5x&>K1ejl6Ui1Ws3bhlNatAS57~M8Oqqd%Wm${0Jm&gN2rb;F3H#o zGr@}BTv|!F%hJpd*&q69ZU+<4-j+GAjpqe6!)q_*TNDd_W!#Ov-bK7SUI6mjaQy&w zWPDAXCionVOi@NT3WxuAWbnB*S&|P4y18`J22_&M^VBpsQKL_7$+M>n|5_Jh9qrTr z3R+q=^^L5g8kVuWs{FW-L!a|j2E|<`JTHGiD)8Y^na4eS=I8)V@{udgYn#YR=VR2} zYYj0yX2rh;#W7M3&Je$~TSkISp8x(Bn+JDC<;zWPr*%1Qekd^YH`V!05U&UwnWRqj z_k@yaeyG=gt=G^ls{xJs=a^ln_{q_+PH6eOrMj-exoyA-#Q?<{!K%V{>A^_?*tX z59D?Rp$Xda_tk0xbdUB$Z=9Be?tZ^xkAU}tqpoJMBCIle1&-c*cYdxLp=?dDQ6Z`b zIj$n_@rWon% cO7V?++%D-AnF#X+7%~$C0$jgbRX|r?ty_~WY*!-b7c@xahkp=h zeft;Uw)X`muMwGwaO(Cqtv|+LbJL%>;k@v7Z{%Gi*kgBzx%~ZlpHFaR}CfUa6_CR64<#Y1;X7}eSx U!hVg zo2__<5 yWK|bJ6xe zOW?}(nsE(Xq8r_V`_S3Q$jB&j@BARYsIR-PHA)b7^YOWgOE=w%&BV@O$ zH|&fZ8gEOCu;rkQ;Dq-3u+oO8t5+i9KI`+I?!6PUrnWbB%{6ap)+pV#dG3!<){}s$ z`c9R;R>;JhxcAr@E5|46f8B_7?`xG32mRm1a{^Lh &2LtEe2)lkDuv9AY7+NyPPUOr!t&e@#O%;PY#EK3FR9&36vL6wEe;f9ip zaO12+FQ8@PKj{#mKYKk;5z~vsvI99-n=K&0U1F(h{1NcZT$VFJ+E$VgwpImMzH*O$ z`^Adq+&nzGz;u!hqp4#Nm)0btA9%nie-?k?1_r{@HM$;0d=a|=={Kue`{Pbgr##e; zy*P9u8L8fM8rPqhTlc6oQWo1^fH32+LF$%oreWJvKMM8q xf))hwY(9>C0<-uLDjiR-O%z A5A=c13o4BfNy7Ne=DuCId+F#VEL*;x^`h($|6|4P& @PAx?Q&!* z<*WzRc5<8C+~nn!8=5VLK^5}}H-pp+BE$F0sx?stK6U7IUnMmS{f^3 W&{_)Inued1`Mve6vv6a4|5-Zeh%TuPJTilnpf?y#7UL FKE(I$%e9LAT#~>0DNyfTuLFHWs5LF7$&A8eF3nDhks~ z*#&Z;4G=H-YDD+LdC9XK4O6}xH^n0-@Um~hgJtf#tw#sG3Fy}_(%xZDYFF+_*Fn6S z3a6M{xPJY5R}Yy4TWP8-QNxGSzC~G3#(Jdik&pkGc}MfjIwN-Jthc&&LSGldG~&us z*yi30DhcmJ?&R)#wX7+c(57u~^jLHNozy=tt@mPK`+`A{TMT8e_To2aKLt^0HbpbK zM%J RQIxq+Wj!!b)vl~{qwu=vPV0q&l9HI9^(m9Kwzf?M0$}DS zLRTbUFqj3>9z#q}P_QbK;L6J42K4$@t>3kSKcmKk&VPEuT _~%bd1{TBl&MmOhb=@Bd@fbf;W+Qv+8PpBKvo)mfPDgtNY2iFn)$&jV35n g)<1SWlj*)TBrSfYwK{;=n2E{onyG&I)d!FN3)#u0;s5{u literal 32161 zcmcG$1yo$ywk?{3B!pl=f=h4$6jG#c2?_4*P{E~ef?E=T7w!@?!QI`11b24}6z z30E%-fQjuPixg!RkhY!W6e3{oTK;AM+L~silILzdj8 #yb;ngn=DdcsiZDMC8hvQeAw@?)F!(e3^XIvj;g289Kf>`y zp8H0#j8;W&`0ZgId)d|Qt{C0(Jvd4%3TvLP$=S^|# BHFd^ zqYakD^mC{ER7O_Q!MD`ZwAn`f^l^_5QpB!J_{Pcoz4*zrYi-D4`%|!N@nV^i+tz~c zS>J5(ScbPqEDYX8_f$X|>DBPGBwmE_6AXHVseW8Sa3t{`Jba2F(K;AD0Xu4JbbgA@ zoPv{g(R7W2jcvR3lIk
V|l zKXf%yCp9^%CX#WbHhEqPV^J2JNa3@Xh2l)l*dDG_*{)SEf0%qx?#2u|aw9%+3pn7y zx@o7vT6WiNcd^#^LLY8Kq_AG&j*{$Xt2_OZH}Kg-k$b3F6ZJS2bC6esSqYpTD-ml( z4tM5d_@rFDr_a}iNbM^R#eWy2r%X1g%X$@!EV$+G33)`vzzd*fUlOP(DJj!;qq1*l z?hgn)fJKFcg>m0YclZN;`u^PnSXfvJXl#U3z}JBkv jKudeKyLtmncUN9H5+*6`hbUVJgzas;C-S`fF=7JKpab5r+8sGY0yISlre58+ z3*Pt uo;~`U_G*7VS4a>4L!Ul_q)n?EI zjd&{X7QbKbdhuZL5UMq*dT(b}7?)w!%Pl?ALNYIim8U6*)x|uBfZc#cROVZ-f|G1( z*ieQ|-&fc{LH?fUQOB%3X2<#*irRRv`0vgpHZj0>LpnBWFZfw+mdXCm-YqhD<1Ln~ zm%C=)eXj({9fqcm^Eu1QJfV#px|Mgu|LOq?67<>!)!)o?J0niI3G7EYtEmu})dwN$ z)%v3<=SShFzt6_%s&A4PR B3nnwz6vE2z~e<)RWAN{0M&M9?Ptmtw_ zW57GvrW)FsZ9@P(i7R8>ctN{cy@JvCRXV2IXth)a%Mt9j`H_*i(j(wh3jb%6rxyJ7 zz3)mOtnoD&&0=q7r|oV#x25MswE_?1VU7=u{N_QkfiO)m)#!DqITm(iOdv=^Bl}82 zeUlf%_7y5;U&rY1v(du3kTSZ>piXIE>~>FQtevF0dIRFLD;Zm5JNg?JKCO72qxVB@ z@KQKw79%sQmk{>ewlbIU)N^lep&Th~S6 GXd0SGCV#C1_EO5-u*rU+sF2cQAiH1 zPWh8Sfp2S>i@Z?n@~S_j0Uo+g`<3PH&5JhC u+mh0|kip{|)zIiaK@=h}? zQ@gj0>BF8W`nosxkCY4%3C<*`+%lfdS57`0X{-C&VS?@N=j4zn VLN!4mH4V~p>xnX+;L-{zb` zZp^?-600{f5mwu?%Tk4Pnw*^myRG&T!osWVNns*9SdqYphIqLm30#}fPU{4PAGEoJ zgYDn+-)`Dp+d7cWyKkbF-{z2CLQPvZ2kJj>XFk172_@by%GrD1riSE&cc)vMT8S%F z`b3smSY{pb8kcE7`^)P@$FB>TxV^OD1Oy Omh)bo;imB1kxUxqyN*ouVRc@v}Z5&D5+glO@obf|1$w*_&yt$22^!)gxCsesHO|4X3z}lGN2^Nx(v3D$Z>KZ(Hj; zHJMrju<-`4Q6a@(H{p$whN$FZ_hht$C4om J)k_%#7H+){*n(!gkFJR% z%R7&z)zMlVmpx#i0HZ|t6H+FGfk5hu0sfqvE__~0C(hFX2j!mbqh;1B2FZssRc^P4 z*a0_BwTix@ExEf6`^szG(2XB%e91_NQOVD5TqHA1ouW>DMq#r}$Zu-=25J4yv0ylm z4!_G)Y&yZeT-Ss|OCMN5+oP}-$Uf>U$gRDr16L&T&^EbtxkRISbmr|SMF;E`W!&6W zcuW^&u )eFHyjRT1~r8O1?4kT*4NGacoBBxSZC|xomBCLvGK!mLjo~_BliEaGs(O zq~d+om7B-k+5Gq>zLq@z*ot+tykw?YDpo{voe9scNzrQc9~54VqgSs~HZ?= lsGR^`RX2Q++Z2qy%>5^|gxrq?Bci?zrE>{wj2NT%25HYe(fzpS&LWLJ&s zhOt ;4GKp|1Ti5^|p3eXKJ&hyDEdbG`w-BltfN6xWC52Pa|o(MT<^mki+H z|Bj;Q54NYuwkZBIQq}$ti8<$=M#95V$$-@kOTlR+?yo!R|6c`Q|AX28e_SjgK$r&- zR#c4Od=4AC_Rkg3Q{?!iIZAzRbyA=^I7a2m_;^8=7;PXzOCjRNI?nwU$a8}-IhrNE z+(E`u^Rxvoe$^L1J3gZRDm{`9;lVZPa(FI+a(|xtRwkPPr7aH!azR0XX#vaA!0|Y2 zdZnpx_tBRijNzN#tr0}f9xWIQW%B$!Fg?gkj9?4r0x7+YWPGw|`e`Q7CjM9Hx<7Ru zMrXo_#QoUK7bZrO$kR}Pl=$yQdJD-_9Xt* !n!& z1!_+qy9(i7<9xt)4?hOvQZ8x|wyh2wU*?6YLcM92AwfWk*_fMpfBD`e-rvzP?usE3 zDow$5I$&RVV-V=CnEL wmRI@S%1kNe`#$!2rk`yWb%XmG1P7FAeMQvUkm zPQ(1r@PN3e@bI)7Dd6jH6)3dmCNUx+{f1b&iI?5_YQt?eK8H4^>T1y&lhx(W5F&Da z8i#Q&!5a<^^E=-!-Rk7_=lgnaVoq6^`{8@jHC`fL$H4t51$a_=-%0RzXL)%!S0(%# zx7*V(h)VT=Z{lDPR1kviywb AM!u9hbP zXz@fuER+nr#t07F$$;8`EL5!TKn;3FD{x-?1SKG#dVLEPPJhck?u^@X*JgbXJd| -B`IBTCU))AaMTqlFN1(wY;)&IWtk)90ojyhuph&@6@{q>RwCO zA5UWCUx}d1d+d=Knyf7rRAK1rXrN#;oiX=&oV*0qwNHo+_)tW3sNjV bNAB0>{L}jHek%%aU_Xe`-p&R3o?v9wOkd;JUq@GKu3^ zW3fFMn^<0K;T$~lM70{IMmp FP@!_~51W%E z1{78B0|5gMX-iAcZquFTjFn_O{N`dHW%(ClQTxTwhKM5MF=5qQT1CjsEoM_&M(Fih zVs_DR<=`(un2S#!C%+k?1|HB`D`lNeLYU42PjxR``Oj6t{g;EcGp|pIyn^%dnIN4S zxV5ig3UN`vrFakt+m)k%JGj%l8#2`W;K|kk&sRBt3w5dKRjyJk>l;*SN=JF=rg}@% zN~^1vj`gK7Om{ULg4M?Pi5$ XJ0x3#dhwh%ct5=zDv-BZY`?OSF#c*VAOk2+h?dJtb*TcaX z80-_UjU_}86wAcNKihgSu0%kbR^5^9wLSQDJ*}xNKi+=d^cFJ=Vt}VPZ{3kosdOHs zMQ7eq{>`e5{PY$hqp(r)YHigA6~EYNft<&phhsL{nJ|*g<*q0D<4lwoS5n9r(QS{h z!CcLR!r~#6R&%Mz+F;%=U%(w>qyJ+0 %ed3oZ=-F_|BP&IN#}Imd{Hd4P-O<^%I#Q;z 3#qmUJBE)l_6jq{5X=pO%UtI?u$m2-Y4jK{LB}VJS1n~LdtN~krxc!ZT2Jg_*7;xaB11Y zJR3dpsivu&MeX4X!(3*m4n2W8=XfD#up_a%+O0rgSDCi80naJ#!h6k5Q;{M92>IGk zCqrN2tX@Cb9 QL>1?hpuAwJhdZG3*h?TYIO5d27^ zR+@-8%PagvU8DcIRLwwy!$WewI6LvwP))Vz_- z>&@m{D%0VZ=&M9{xnYHcU4nSIN<92i=d1pUGL{cQK3@DhU*}x(SP9_tz9dMXy9%jh zI4jEr?$Ym$Kg(>vbOC00HjC){Wa(7xxcJ0?+CcMY_kcGr6K=4*Ng#H7_F7t6^?Yea z8ivSn;^kAzL>hfeTnVq+Ba`!0IdX$#;e~|~KF956ib})fcqO%*r?9Ff0v 3|eZa%Cfof9kZI@I>hN*zf^B>L37vUml9ZHk}F=prRZ^Lnv4 zJ@Z8yT47uH4pGyq6JI7uE_+Qy8CY_)TPKIgD{G`P)HfHEsago943~s7gTSm45ifyo z`E5l^@R+`d3$2|=?WY)X< )f)y~+}HgcqEhmw9{O7%^|_X6g>+pP^DhFT zFZanQvGZ>{uUJ`N2^h7QS+0AX3f7F89ODU^aqbkcI6S>L67!%&LlHUk?H)UY&t=n< zI`qyvr1{tzr+9m=BPIRW-r6erJDs%JPn>tQHS$kjI!a5re&qSHp-<$9K$es>Bb?c> zuuf~~p4y}_O=+Y0GV@aLUS*w8S9{K!!{@f5M*0>OVyHC~E!Je-EgwG0&ARP1Xg*H7 zceZsaNhL-#gz9P@_LMmXT@%JjFmc{oz+ta;mo{2or*Nxk2p`pFsb6muzBN7-naEMf zTC}oyC)%-N9#W4#rQp6YZEdO(b0}Jj&!USPAVyVqcZxp!>Xt>$Gbd&{dwmSwh#kcj zgOp)e)qmh){keHC!_F6A%wcg79o3(_kQ$zbV)lu& B%5N&7y>Dqln$sTxgC+pSTT`4fhKyk-(alOqw8l-(9H=!w8yT7Hh^> zk?|z=g1pk+84 QlJ954@6T-(b8`IiW`hk_r=5H)P_C9Ry$Do;;;@!}HySc=qsK41m2Jn2ns&!a zjFYTRyiCiUjVd+*y|*>yR!w|*Ru%Q~u#!;6&}k^{y(9lGw~+1<{SH2E@w@AZje`Pf zPpzw~=nPSvf?#}NCTzC&BoC!tYYV>hDpKn%;osrhU5AN#@206U>g2xavO#NHc;w@& zjmfZHkJ}^0Qe8kxu8-|Y;cFP@wJ0i&Qk^IQ2V)?X6ZQEVq+0^gGpurIf+22j2g9x# zIZ4ERkPv9qi*#M15*G5-X!oRg moU3`Dy6+H$)r)f@*+l_tWQReteqm-baYrG7$iIXk? z+S80gDhOoE(X;rOSX4v_5bYD_1c9F`AT+XC{Si9aGCUVfDvkHi#ih 6e>s)y4qIC}GHcF%{Qhhs*|k(-l_(_Ge Z_!tPb| zcAy2 HO^}aT&s(5`&R)L0o1pAG$f$9_R l!8&yO2d6;U&& z*F(c-*MXloN)|7v(i=Z}(btED&qcAD^q22sMseEl%b$r^KDhhlWT?N|m8X0UI(;M^ zl~mQ#{AOjQ_WFBgZZDGEuJ^cQ8`PwvP$MEEEfeLhP7r>Gq9!5YY8K>u0M9C%V`F0v z&d%n0%=@Nq!2jezw!H7rP7 CXCYW==(Vs+?2xOO(U|CvPYL3g^11@&ERq-9> z$7!_s*niUz%MU#N&=UV2;d{!Q$`=w667=~hBMt9B&m&6}#?xst3e=L{0|2CXnVv9G zLMY-?$TGyDlZiqxK$w08t7jFGTHW}PM#Ee+bfhmp#l$c=wW5-Nh%p60o@enp6Qd zGVhj!<*}H@R4Z#(R74esy4*fL4%=$yoWRcSV(Hu>`v$pZc11@cN-i&5rN8k&zK8WV z>H@4lWLT6AE!k^LwF&6T-tMpW+*|Td6k0>@7`!_?4yaR{IfP-PuG_u9%I?Z>h7Bg< z@I=18cba;=sfgOrWPJSfQMs$Omal~+X$?!AOGjy=rPC#s=JAg2IOuni+=A!HMsrcL zq5$&z2DP{jF9~s2MLt1xwkiS`+7n#`sSZU&MOMSE7tVZS+V*{r%AqDNFH6E2i;bG% z@0nyj>09+dgfGbVUDmo5E_tszt*a;(W)f7tFhz&G!JR;WV5GHe!s&JvAysH1FyZ*w zMh9Lz&{%f1lvp4%FHX|)uxe`t7VYrSFHGB?C;usjDT3gtv_ELr_Hncib^!)M{gs2B zu@&u>bhpw@zn$TFKQ0Z$Xhqw>^TPNpktezF!GHs@;8z%0obNBuGcvXTkfxmAjcFKE zyV0G{WFUDgCcMX2)ZGSFz%#Cj7j9}X7#RXCsI$qtsRn_}esw<2U{UZ~G`Wx7*k1$$ z4%Mzn3h@vvV$cwp3i#GubKiCcSF((p8j?!I_}^iQ=9jh9CK>5chqhHbhEQTX_ee_2 ziDt|Y=cBr;)R9ts)zmMZY+h2vhf~8Ya`P?+=C=~9EiO^iR$>eRNUu>T5r^J5iv!o& zi;aUNKk{W@9;w==(U|Nt-3fS}mZkViG0+NBgA6+ACBBL?aNu&LX48{uAsOL;&E9bz z)^}?^4ct=J_-=MpS{WlE?nLHC9`7HoS)*wrl}LeVe~6H$D7)ux26}yZf9k8L0S 1ofF-tqO# z!X5uT94~-KcL0Q5$%mFlDnuwCdM)j*#|1R>ucrd95BWx3*(#~2je~JbF7G6Ze&n;Z zYw>e^jPGvGYXOr zl9MF zwS^!XPD4tNh74fJiDE$VX*OpF1qH>!yJNY#ujS=$sOjidptoz#a+f6pmoZb_b`^b3 z|67GxHd%mU(mGN|ro(|VF){X!k|CN#N03Xh@Qs`&2C~IR>PAR3stojaC$-Vz@B`8s zSro*+``75-K5y`}yVWnrEXre1R^SQwP+s`qJlXqOX w(3gW*xAXd9Sy~R^EsRx?jKx# zE&+aGRqFOe2hoaZcCEsqT$h=>0upGYvBpbG3%x`1Si%A4bNUG5qydtP82@tq8F{ z1Yr7ZjPtsF-9I^M+pbTZ|4^}Ce>{=m6Aa#uD=BKceBK#KF4p9EQw}64DYsBpLG^~( z9w%c2U_<`|1QP?&x#0OC(oU!sCK;c4T@7r*YF`pq_;3aJ$U^ZB_iU>wD(-h+d7A$8 z2)M^#Hyr`Q9QU3eUkCVStP^w~tZxs%q1*4X_EhS##f!dzm%t(b*6gy>#x5;;?l@W} z5@>D|-zO320OJ}s6lVJmMo^xT@7n%ProAL$a{k|0_k-apFI7xnDEzbQXlQBC|8>md z!aAU&eJceaBuw!*B@_)I3Anwv%HtLu{Wfb=b(+PcsiieWl0GReDLLG_W|zY)+_3ON zD%R$3RRT`Nui0nYVF=HT1t>%JojK=~U~>!wi-x<~D^qK0F+01`g!iL$KHuQ{m5T}k zBZ7DF32-!k-z-srLPH7Jjk8~;C+nT<&UJNl$twvrXjONsFHaQEjlHMbLZ5_4@M9H8 zr8i^q$1?wmPrpK6DtdkY6#6u5;VZSkfxkYjg8V-ZwhRW61_}e^#B%UoExrI@1#CKs zl+4 &SDCN)Rb;X< z4FXF9v%p%7MoQ~^)S0+h2D#G|*uy@~@-H{?>9MXRzkHjAvov!A_@~3W2^7?7@K*fJ z<7Lj$#jAI(*{p8IP?ESPmen|egnOb4yW0^a&8`}b%M1HQxlla;@If!J-Q~vMUK&e` zSyI7xN@y*45qkl-#%@O&CAoxOOlbD%@BI XD=X-lj`4c%c% z@fsLp+SLOyc5CxBPp o_(A(_J%e2Q|Yv@&F;u-!OZw~yl% zJOrQ8H)m&P2nuM2-RN`OT^N@18ki$ZUy3b;h{k5u;U1x$=`G1AI~gb;od$T3P3Jq! zxG>-cK9+Kr;f@Zdh}}~;s@QFOoh}{Rq=<0&0e`s}yR2+Xwb9}eCgZ^?TpG)Ouzceb zuMsLyS*eHPcuwOdKw%l_Pyd|D7*3CE%;#$oGFcvC6at~qVutrAW4hsb)Z z8y@s{4sgL^>Qgz49hN{Gg%_HLNn;DuNYSd*0r)x?R`sKR=Z$Cv@o>!h;RrA?rp%Nd z$oykn-LaVkIO1g%c&gQqh&nSiN9f3$-}(y`&MO1HSf%*umQVFMz9l*^r;LSWcRvI0 zh-PcM=I2^gkoOJXRj=7>3GOGfA&^11*eZF0B %&DMw8jM66 1#I@`G2j-A(!LAK%UUm`}=q56aVauMF$C7_2sqp$M+v1U8FhfFA70K zaNX`jK%#Jhv`qglhJWXm;Ar#HU+60n5)*B=MqdNzja+Ww5{f30E@38aZjC;Qt((?{ ziYI@;hG)wjf0CZd&;EuH{|ERmKi&FyW=B*@i+FELnEy*XG!iYg=g0bs6K3~;AIaYt z_iE|~)W3FdKGC=%wysy`qX=v`Tks;^+1aW8Onbs}e^PeYUX64I<@d%$GIrx$VCCoU z+?}fn2U1Qz=OH(4D9Vk+pJ~q@L*7kF%ksZ0lGzG&)=`ohBb}iAzp^onEE2xssgEnl zU!o O1f)K z85-Sr`{=OB9I=lJ_B->uYuqJ?ERWp;Gs%iNsSVhT2arRmWhBO}l&$)OX?2ByH+^P@ z)%|*rONR>1UO90t@3%? rMj4fN;=3&m=Br`s7fd*~4S%sag vt~%>uWHA=MAOh2FbcO<_WHweqKQGcRXA766dn%Zjp%X$U2NimpYw(xyWTd zc^?MsD-H4faU{GCCjm8urDQ!p$~?7hHt~|yyOKiA4GQUlLOK~C*W6oi#u4(TQz=Ln zU* PE)4Bh&!T%OP)J5 qH^%FK?=x3l4rfwI%^Xv2WSZ5RibVW|Os^n)DPD6QE3a($ zbPqaMRXjyzg4V9hMMryjn+IeHj2gE1Ilo#ucDfa| 2|pvv-ust-Mivr zk7y&AAXd`EEF7vdP)e=5He e`bho$8l!NF{c>h>MRMYaCLC3a@{qYrg$b zI{vd9ldiH;k81JY(#vhMlT#XNFD>))oiJ{bqgr55Q|A1$JZH}Vbdy9<^@*Tnw?ZJG ziQSUnml%-j5Wa-Cd6Md0#0%*5rUnyVO%2#kA3b!oFCh$Fitp_^kKg1R0TCw;dcAA7 zLb*%P? E!o14ThBa}=cX2YZNEPl _a|6x$4EKo?E@} zs9X1$f_>HZn55SSx5 tJy!#|IS`v8p( YA`{|Sk0k<9X<=I}*dV31L+v#H6!cAcU >!a-T7wd@xZ2Dh;JMy0=OYti>HEbM?<6->w9i2)re>L&l-zaOJ zKh`y(uzthW4Tk!cgaoVo>My+#*58tn|A31B$e8{ytiIxj0?X zqYWUsy-uK|6I(D=WKqN4n|i@No4Ov`2_c{ZzpMt>y52ap_dv&>)j92nii-LI*3UVQ zsHF>p=tPd<9Mn=j2Veq#bN?So@&97jiF(~Zdp3!MsRDp>M;QT0`4( su3Cz1Or1_IT>Y1CrB0$l z1Id *q(I)glrDN)_U? zcx5FLGHx}*w$6Gq_t0I2=IxTZk|GUG;?&z83}@RqA-F25%6K+j;H7w|KT5RuH^~o` zkbubU;q4IErERWLzv!Mje}X*tNnAuSgBn`xosVcd0QYh~`O^mie&Lh%<7v@oU#CUW zRc?RtKptM(6*5$l<5lO3xv|wwX(bRox_+r5bT~iwX7`OwI6(2}Yt;!T3#ZSRo7hNS zA;8Ccn$d{+G@&ss!hg2fFESrttFNF>QE~g>a{Pdrq&O*Y3B;QtRjC_2QB;ow$3q z-+^A6`{I{iF%GfMuM!zE$KBQPPhrB((I33Q!TR|$k}ch)ru5+Lx-nl;8O2+vIPv0p z49B4fQ1@lx#nRo;AbdQvo99R20VeZdh#T$iP7&h$L?(GVy<&5r6HlgOHvmOv4=uH6 zO`xPUhM?t$(S|bK=wtW^N0EfzP&P!S+v?raXeB<_`neyp;pVr*N>s$l% O@~!}qq6Z^ z;KED#-vGASZ2+$civ*Y0G1#Y%A4w82DpKi;r7PpgW}`J}4Qg7m+vmlt7JIRMUUM5e z@Hb_Mrwr*fn `&EM~E%Ld~NiR{BoUSRv{N Gml{)j z?zAM-JJg{C+{H*oj@IF}K=IPK>@{Vl9no9z)cL@BaFw9= Xx!ZpbTG(FeGI^l#j-E%uBfeL|Z`#oKPNg#$P&pO_ zKQ?N~{MPZBcl)BU^Wx}}hfmJD5CWWOj`YJ2rb0uT4Q}8Z{C#N8U_Y6niP`bW#j?J! zPrc{^2?BJ+a%wrluwLxN?b$mc!w_orh=KpK36F*{upFT4Q27Ks);G+-V1cV`b~p() z_RZCq8W2#{0emd-!p*MJ7_P#={$US`!R7I$d0@6v-N#LA*<`+ep$xG+?*7UDqqwp` z8c;gA3Xj_F|FxzmuuuseW03J>XZq{!^>Hq=19G}iTr7=)aXjG$d3$?y*>5~P )_G!VkyVzF#*^?&%tarubW0Io}X&|EnGEl5Y*^{0+H zqLLAnrnc78e@Qo}uCV%%ntwH{V8)YBwAmlu(ZPh3huA}CkC=VD9%JMwdh07CT;;sd zxE#@zR5SI7d|KXTs`K9rb*=|e;ASDwLCQC7!!G`5WG?8$wTC1SgSiaB)^oMSanHk> zg;1Kji@DDes_yLbvCrG7yvCl`c}6AAklkpOgZsn1_8WKwjtgT-be<5r(XF4_ @Mbd?rUU-rE2t{%RR(V7UrA9od_{K&F6Q73&g2UEEI zqN}gVK{@0tDECOj+GVd&6gn6b!Nxf*aP^3`$Q2(})^}7^;wbk}JNaJwRh2{B!B;@G zrx{d-jM=f+@?_G8cR*cL7NM}{VIbdA1lo_8D{yG@cb&UQbw-^6gkZfhC0} kX)F-wdm~ktSavDiP2PS@22Sn@JaT%%eEUWA^b^H< zNtY>VSe`RwOj^ZKeK;HQr;t~zb)Km=k6lBqW6$y;Ik(4EuBvoHmyuLcV)T@th>8py zzf7~Hn}qbXi T%9223_FKj zu42+bE_?a!-tQV@b6BtZ_Lv9fyX!{P$nR_VIG4S!rrsl%VcYufRa@;hE3|&U!Xs~g zcfd!(p3dOzlwmI@?{W;E&1IMAfEMc==}ky?y`TYMTARBI$=-*Ts>{fTRn%gl(6vVY zCokO&QrrqU@e7V{b=#4ec#s=>k#sOid+US_1aGdJs#D*A7*ncfZ42UJO9~A F;W}(tmN6ekb6DK>6<83d5Fo4o>I*u4AbXjs-<14j`C;T@rbJRcG zFnWD*SYPe(XKupVnO`ZjU3kQHcVWKgIIA*K;??4@Ok_Km>_(co!I3=?jCR3O%G+tz zr1{y%^SZ%FD}&{?kwM3B`1Gb8{qnnM 5W{3#{0U~JbCIh{DnY
uj&u0;e(Gj=}oF6mUSNtLuPB`zszo^ldm;l+PG)Zes8(z7Asp6KA& zU+``+6!*9Wqr;AWy#DzC+vh8Iu1OFkl#On`0w)0W8n1}$+x1mL5I#%C$po}WrpIgT zBbV1im36mh+9@8jY-PPF9v{kz*}iS9qs&B*qvcNL(5DG0HQk`o38PaF%3#+6m6FU+ zxX#R(!RIr5r|IOHWJ=pIkCo{2dD0@+i8!`;KhZjCZiaTUN3vQyKyErTQ0hix)s^K~ ztHiEJ)plmh+j4>AbZu<;XME6EvYXbGTZ&1)1-> lp=v1J)EMP}pL z_G?yzDSk6G-&y5s3d^`*j@^W!h5IglzIJ@b4y;rfaXucp?(&>&S;)_oSGP@e!h3Vp zY(tRr^`Yy2VV;=jhCusG*Rw-ytv0heSAUJj;l)GQx-gFJs)i2;r`cqd?H>IjB6h!P zqs>yIp0MQP!W+h{otVh`ReFAmwLcGL%uE~bb^Sn1WZJXnmTZ-GLr=Rd2A20;c)7y# zTfb(=25rD zo)AzIiSglzc?u1t#Qc6C;HJESshMvP%YxT~C`(4cTzh+bt#4!;44aJZ!F*8C6fGqq zvzED5y3Y3nX~s#f!C48Y<;pxmV#?>4_89^1o~WN2@{qZ#iu8KSPRv^A(3x+%hWjIX zI$$`WBiE4Chw7LugEaced|g}+ `C7ch&%&VO&k>N0g$
dgyC-@35l&u?SC#Rx6=(ypt|)oqSGuXY zCq2cwSEq(L^L!xki_ az_H~IdeEG&m~KK=e}#72M|TBYxim4pgE8JN$hI?oT; Iq~S#9j!33IDDzW#9SL|MPpSs$O{4PrI@)$Xa E4a z?RdG-jb>=@{z9l%`+!>& wRAP+3;XN@nG3iA{r!G z=uGG $ z-LD_> ac%G4rkVi|59j4<;g}^Ub!Plr-$~m@N){4-kMg6f%oWPg4Rx!R3wC=LC zmQ=WuI^iuOcz1}d28Hrji@&sg?~cy3OQ$&C@M^ghyOYJS(AruTDVbl{ytc6}ovxuH zTdE!L-7%*R1@qE9q44vE2~}a;AddE0K(F`8JOWW?oK#8I_#&>TVyQ~ym6P|ibXnWk zu5&c2mqc<_`FZTWqh)ZuP`2CYc1ylS+2H(q;kvvHh`y&0T}&-Wkp&E %F~5{JCg{Te!!eRSsB-uWj?^_v`T1M^jl(}-N@UI%tz z|A?~;M Av1>_p@9DkTcCE@d=0 zUj2=FDN}EMEx6HJ4V4k~t*;8WRzfK);#3BzhzQt?(Ez#DWp8)Z@34t)^}dE)4fUC> z47x|Sxz072G`bVGuMa-XX?3$jLcMM(9P1L~kK S}JT^i#s0YLsjWB(kCrI)SU=dFHCo%s& z{2IW2m@40HZCPT_iE(nD!q47w1$2aCR3=z*9rxKRGQb?H6PYa8Z;GK`R%D=m68`>w z6-fP0zc%n6?f)ma1>jWR@Bi{*c|d#?Q))p?L*qhKmoF0iSShIWyT#Xf=eOb0824Ru zEKEZf8K5qzz*AXSnXVF4AkOmZ85PC-&mU|Nr-#AE^ko!C536EcN%ehpRxX8*I{>1u z97D?raHf`g%r`%~(KPz^mDw)?u~k%6O-Fv=^*i31=bGF_X8^K#1I!Nh_&8=*NZibW zDub0cR4Mbyz%{UfHjCCM{HrXrO6U6T0t-#WDlYLegVdcr+7YI3xsHU;G-h`6Zu4O% zX$U0GPY+9C3>+ z$1BpcNi)*#Ds@V|GGc*JGESQ8A!C14BHA)PM>;Pn&ga5eb6FQUs-W*>6f-^mLmZ_l ztuAVbw0@}u3HSA;5i3e%+H%gbfz%lW> zqR*VMf4Z6md#Lb_uP9VW9Xs>=qu3EXKG*(t?cDrpK$dgwLG*8I2mko$s2h#z^u1yZ zm@?1n{*sgY JYlRRqkce@>~YyjT4MrhVP(yDK!Y+-%B`*n$xe6W^E9 zMbgOuNmiit&}6kM9N>4~NlFGL;0R*h-tHao!N#u@WfY;5I3>U=TIwLS2GUzV8R5j$ zUK8d8XO)tY(in-GRh1UZA1Furnt;Ro-%9dg_s 9Oft{3}OgrW84pTgMMG4k7eWDpS%kUKQtx!YJi~Q-V|2qlU6iNRKI;0msW|d&2x-8t4p#{WyF6u;s3co5TH|}K%d^Q+ zoZFN>NAk(JGYTtcR&pBML@>blbZJSE@VhFbn(Z&POncPi7dD(~?&!vWDf BV! z=mAM;Iv`ptD9Fs#c!XanKdk9ZqtgxjU(KCmR8(QR{uNY2Km?>gq`Rd{x{ dUp&JS5hM~K=8Da=&rMu&7eB-=l{Xd-Z@y{n0%wB6|`^>ZN`?{~|_jrT?!It;9 zx&z%F$%W!lQjgQuljmy4{JNGIA9IG 6dIJ#r^#>;YR%=~D>uB0e zPEOF2p9HoIf2bCG9`1mLO*jt3R3SMF`)>p!FaG@l4zxp?qY)AMy;9_$vZYky!RFGA zy3GUX0*9pTOlEO~g*;Q)mP^zA_ii!5{8pB3+IRb{ylt#tGqQ?IayhHy@WlG(wWW eDP!1amnQF zg1WQzlS!T(Neh#NT845X8||3GGhY3854Rmtry*~~giV-49xu42CA!`k@HEvEgAE>t zwT*^*#l@P%zkK1dw6bzo>3Gf|c`?Fw@N3a^xf>Ck|0^J&83Bu69<6`l$6ch*y=ItH zm25g0@yc&f#LKg;oXk2sJMp5&pcO68pN|wQy_;?c;^PF+VrzGHXb*Tc0^E#Bu~!XO zD8HTsD<#)7Kkl7jY7_YR3QP)ZFaH6Ia>N`uv}fPJe`e9 zX|Bo$i8sOlX&Kwr7pH#hP|dp@;iBa59Z21_qGeAr`a-(D?9sA`E5Z*U-S-b(jk_&k z2Et+))3L4oNa(BIxt7MXJNFxQm{c`1vVT%~e8;%Hk#{C1Qj+NjhrLsIX1g6dESH}@ z2>5azCOEL_lQw4Y?Xe+k43jFjb;?l@FY1~{lL{#5vZbcFbWC-b+g$vnduzfbs!NJ_ z$odNbpRLzKy@EPykDHOu0*eJkiz}-Y(Y%UqV#PD){sx6>kA?DC<}8xFAQ>iEy)Yxb z4loPQz>d=OP~kKPa_uDZoiEn@-DF*pEr6;@Es%sk=vP758c(8BgB~>gTmF4`j(ijx zRW+VXJ(WidXP3JetRh|R3R-=cVD}+n(s4+QuUvX+RoF SvI5l_;e+ z05PLrkjAGeR53AtNCN?*BDETRut?PPrK{4sw1jr92VMa$7{#d)qmYQdZY=f9Gg7Pu z8HmUbXG4x^t)`0q2mHpB3D#je*?%%yal4-={~%0ukp90XstHvG&bpGp<4Dtp?Z0{<5HbxxVv 5Wk(28JRM~1A7WOMwvJH}{r3xb?ps*_if7+jiqWD}T_=MQ`+`zTP zlCSQVwEu350kl^5q3nYd^B**u0h97ANRT3rbaJ62k5VM I(jU|ITq*(%YH4~07s(Dh63C6 zxuuwGi9cCSTJ@$I?&aV$E}-N9ZD4Vg@QqJ}Zn=7|yRjYZkFOXirk>m7M)Z4=h)uy! z2{} Rmo2Z!8uGv`h*QZlH@@W65Clx(Y}!E!t2~3a-dqV;O9h zusLj;uQ^A2;pAt*+Y>dIx=nv>w*Tt2hj;2ZiB#Rq`z*Hv00ICOCRmKx8qMfUVmGVq zHP!dN`gx8bhYvAL_;@A4NMSy?U6DAE+uSq=m*mDg#@%q2Nx%7-ob%ZdaBVw9KvC2p zP(a_SuP+;dl5azfTw8B+Ii|&rIkEWOee12zuShxT;>9P^ 4~)?2p9N?y(+ymhl>pe@acUdK01DBiUM z7Y1o%ZACxa3HC`dy2KalOCFo;d+gA97^a~L)Y~o=TSESv6IG^6{GOo7(vyuqih-o3 zM*#4Fs8wJ9q48Lw$g1a%6Cp3(+z^e