From c5432d6e5a87de706c3920252e4e490d0068dc52 Mon Sep 17 00:00:00 2001 From: Elena Date: Sun, 10 Feb 2019 19:00:56 +0100 Subject: [PATCH] inicio --- .gitignore | 3 + OliviaAddIn.sln | 48 + OliviaAddIn.suo | Bin 0 -> 427008 bytes OliviaAddIn/ButtonInicio.cs | 135 + OliviaAddIn/ClassDiagram1.cd | 1 + OliviaAddIn/Comun.cs | 267 ++ OliviaAddIn/Config.Designer.cs | Bin 0 -> 11526 bytes OliviaAddIn/Config.esriaddinx | 22 + OliviaAddIn/DatosCsv.Designer.cs | 243 ++ OliviaAddIn/DatosCsv.cs | 351 +++ OliviaAddIn/DatosCsv.resx | 145 + OliviaAddIn/DatosGDB.cs | 2716 +++++++++++++++++ OliviaAddIn/DatosGDBEx.cs | 27 + OliviaAddIn/DatosGDBLimp.cs | 525 ++++ OliviaAddIn/DatosGDBReco.cs | 627 ++++ OliviaAddIn/EditTxtPlant.Designer.cs | 73 + OliviaAddIn/EditTxtPlant.cs | 340 +++ OliviaAddIn/EditTxtPlant.resx | 120 + OliviaAddIn/Ejecuta.cs | 129 + OliviaAddIn/EjecutaLimp.cs | 111 + OliviaAddIn/EjecutaReco.cs | 112 + OliviaAddIn/FormCampos.Designer.cs | 109 + OliviaAddIn/FormCampos.cs | 117 + OliviaAddIn/FormCampos.resx | 148 + OliviaAddIn/FunGDB.cs | 1322 ++++++++ .../Images/Asset-tracking-and-management.png | Bin 0 -> 37193 bytes OliviaAddIn/Images/ButtonInicio.png | Bin 0 -> 473 bytes OliviaAddIn/Images/CLEANAIR-5-front.png | Bin 0 -> 673100 bytes OliviaAddIn/Images/Map.png | Bin 0 -> 4073 bytes OliviaAddIn/Images/Map2.png | Bin 0 -> 3913 bytes OliviaAddIn/Images/Wooden-Map.png | Bin 0 -> 5689 bytes OliviaAddIn/Images/areas.gif | Bin 0 -> 8078 bytes OliviaAddIn/Images/back.png | Bin 0 -> 245 bytes OliviaAddIn/Images/barridomec.gif | Bin 0 -> 5003 bytes .../Images/camion-de-basura-tsr-6000.png | Bin 0 -> 63267 bytes OliviaAddIn/Images/carrito.png | Bin 0 -> 7804 bytes OliviaAddIn/Images/clock.png | Bin 0 -> 125550 bytes OliviaAddIn/Images/contenedor.png | Bin 0 -> 4000 bytes OliviaAddIn/Images/document-open-data.png | Bin 0 -> 611 bytes OliviaAddIn/Images/documentinfo.png | Bin 0 -> 856 bytes OliviaAddIn/Images/electrical_sensor1600.png | Bin 0 -> 71987 bytes OliviaAddIn/Images/favicon.ico | Bin 0 -> 1150 bytes OliviaAddIn/Images/folder-gdb.png | Bin 0 -> 1120 bytes OliviaAddIn/Images/folder-important.png | Bin 0 -> 1124 bytes OliviaAddIn/Images/folder-nw.png | Bin 0 -> 1101 bytes OliviaAddIn/Images/garden.png | Bin 0 -> 3694 bytes OliviaAddIn/Images/mapa.jpg | Bin 0 -> 10620 bytes OliviaAddIn/Images/parquimetro.png | Bin 0 -> 2724 bytes OliviaAddIn/Images/plan.png | Bin 0 -> 361 bytes OliviaAddIn/Images/play.png | Bin 0 -> 671 bytes OliviaAddIn/Images/resorig/119_control.png | Bin 0 -> 54102 bytes .../resorig/Asset-tracking-and-management.png | Bin 0 -> 37193 bytes OliviaAddIn/Images/resorig/ButtonInicio.png | Bin 0 -> 473 bytes .../Images/resorig/CLEANAIR-5-front.png | Bin 0 -> 673100 bytes OliviaAddIn/Images/resorig/Map.png | Bin 0 -> 4073 bytes OliviaAddIn/Images/resorig/Map2.png | Bin 0 -> 3913 bytes OliviaAddIn/Images/resorig/Wooden-Map.png | Bin 0 -> 5689 bytes OliviaAddIn/Images/resorig/area.png | Bin 0 -> 139146 bytes OliviaAddIn/Images/resorig/back.png | Bin 0 -> 257 bytes OliviaAddIn/Images/resorig/barridomec.png | Bin 0 -> 88856 bytes .../resorig/camion-de-basura-tsr-6000.png | Bin 0 -> 63267 bytes OliviaAddIn/Images/resorig/carrito.png | Bin 0 -> 534956 bytes OliviaAddIn/Images/resorig/clean.png | Bin 0 -> 9113 bytes OliviaAddIn/Images/resorig/clock.png | Bin 0 -> 125550 bytes OliviaAddIn/Images/resorig/configure.png | Bin 0 -> 2575 bytes OliviaAddIn/Images/resorig/contenedor.png | Bin 0 -> 266209 bytes OliviaAddIn/Images/resorig/dialog-cancel.png | Bin 0 -> 848 bytes .../Images/resorig/document-open-data.png | Bin 0 -> 611 bytes OliviaAddIn/Images/resorig/documentinfo.png | Bin 0 -> 856 bytes .../Images/resorig/electrical_sensor1600.png | Bin 0 -> 71987 bytes OliviaAddIn/Images/resorig/favicon.ico | Bin 0 -> 1150 bytes .../Images/resorig/folder-important.png | Bin 0 -> 1124 bytes OliviaAddIn/Images/resorig/folder-remote.png | Bin 0 -> 1120 bytes .../Images/resorig/folder-virtualbox.png | Bin 0 -> 1101 bytes OliviaAddIn/Images/resorig/garden.png | Bin 0 -> 145568 bytes OliviaAddIn/Images/resorig/green_area.ico | Bin 0 -> 77302 bytes OliviaAddIn/Images/resorig/icon-help.png | Bin 0 -> 3262 bytes OliviaAddIn/Images/resorig/mapa.jpg | Bin 0 -> 10620 bytes OliviaAddIn/Images/resorig/niveles.png | Bin 0 -> 22718 bytes OliviaAddIn/Images/resorig/parquimetro.png | Bin 0 -> 41759 bytes OliviaAddIn/Images/resorig/plan.png | Bin 0 -> 361 bytes OliviaAddIn/Images/resorig/play.png | Bin 0 -> 671 bytes OliviaAddIn/Images/resorig/road_sweeper.ico | Bin 0 -> 157384 bytes .../Images/resorig/run-build-clean.png | Bin 0 -> 4928 bytes OliviaAddIn/Images/resorig/sand.png | Bin 0 -> 159224 bytes OliviaAddIn/Images/resorig/save.png | Bin 0 -> 563 bytes OliviaAddIn/Images/resorig/user-busy.png | Bin 0 -> 716 bytes OliviaAddIn/Images/restr.png | Bin 0 -> 848 bytes OliviaAddIn/Images/restricc.png | Bin 0 -> 716 bytes OliviaAddIn/Images/sand.png | Bin 0 -> 159224 bytes OliviaAddIn/Images/save.png | Bin 0 -> 563 bytes OliviaAddIn/Images/system-help.png | Bin 0 -> 897 bytes OliviaAddIn/InicioDlg.Designer.cs | 158 + OliviaAddIn/InicioDlg.cs | 312 ++ OliviaAddIn/InicioDlg.resx | 145 + OliviaAddIn/LimpCampos.cs | 200 ++ OliviaAddIn/LimpCampos.resx | 120 + OliviaAddIn/Limpieza.cs | 388 +++ OliviaAddIn/LimpiezaDef.cs | 449 +++ OliviaAddIn/LimpiezaDlg.Designer.cs | 1113 +++++++ OliviaAddIn/LimpiezaDlg.cs | 1183 +++++++ OliviaAddIn/LimpiezaDlg.resx | 196 ++ OliviaAddIn/LimpiezaDlg.yo-NG.resx | 120 + OliviaAddIn/ListCamposVal.cs | 260 ++ OliviaAddIn/ListCapasMaqueta.Designer.cs | 91 + OliviaAddIn/ListCapasMaqueta.cs | 152 + OliviaAddIn/ListCapasMaqueta.resx | 145 + OliviaAddIn/ListForm.Designer.cs | 76 + OliviaAddIn/ListForm.cs | 78 + OliviaAddIn/ListForm.resx | 145 + OliviaAddIn/Maqueta.cs | 992 ++++++ OliviaAddIn/OliviaAddIn.csproj | 406 +++ OliviaAddIn/OliviaAddIn.csproj.user | 23 + OliviaAddIn/OliviaGlob.cs | 1329 ++++++++ OliviaAddIn/Parquimetros.cs | 106 + OliviaAddIn/ProgresoEjec.Designer.cs | 96 + OliviaAddIn/ProgresoEjec.cs | 746 +++++ OliviaAddIn/ProgresoEjec.resx | 145 + OliviaAddIn/ProgresoInic.Designer.cs | 78 + OliviaAddIn/ProgresoInic.cs | 19 + OliviaAddIn/ProgresoInic.resx | 145 + OliviaAddIn/Properties/AssemblyInfo.cs | 36 + OliviaAddIn/Properties/Resources.Designer.cs | 333 ++ OliviaAddIn/Properties/Resources.resx | 202 ++ OliviaAddIn/RecoCampos.cs | 424 +++ OliviaAddIn/RecoCampos.resx | 120 + OliviaAddIn/Recogida.cs | 483 +++ OliviaAddIn/RecogidaDef.cs | 257 ++ OliviaAddIn/RecogidaDlg.Designer.cs | 1241 ++++++++ OliviaAddIn/RecogidaDlg.cs | 1234 ++++++++ OliviaAddIn/RecogidaDlg.resx | 163 + OliviaAddIn/SensCampos.Designer.cs | 161 + OliviaAddIn/SensCampos.cs | 150 + OliviaAddIn/SensCampos.resx | 145 + ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 10329 bytes .../obj/Debug/OliviaAddIn.DatosCsv.resources | Bin 0 -> 1716 bytes .../Debug/OliviaAddIn.EditTxtPlant.resources | Bin 0 -> 180 bytes .../Debug/OliviaAddIn.FormCampos.resources | Bin 0 -> 1716 bytes .../obj/Debug/OliviaAddIn.InicioDlg.resources | Bin 0 -> 1716 bytes .../Debug/OliviaAddIn.LimpCampos.resources | Bin 0 -> 180 bytes .../Debug/OliviaAddIn.LimpiezaDlg.resources | Bin 0 -> 4291 bytes .../OliviaAddIn.LimpiezaDlg.yo-NG.resources | Bin 0 -> 180 bytes .../OliviaAddIn.ListCapasMaqueta.resources | Bin 0 -> 1716 bytes .../obj/Debug/OliviaAddIn.ListForm.resources | Bin 0 -> 1716 bytes .../Debug/OliviaAddIn.ProgresoEjec.resources | Bin 0 -> 1716 bytes .../Debug/OliviaAddIn.ProgresoInic.resources | Bin 0 -> 1716 bytes ...OliviaAddIn.Properties.Resources.resources | Bin 0 -> 1760234 bytes .../Debug/OliviaAddIn.RecoCampos.resources | Bin 0 -> 180 bytes .../Debug/OliviaAddIn.RecogidaDlg.resources | Bin 0 -> 2653 bytes .../Debug/OliviaAddIn.SensCampos.resources | Bin 0 -> 1716 bytes .../OliviaAddIn.csproj.FileListAbsolute.txt | 27 + .../OliviaAddIn.csproj.GenerateResource.Cache | Bin 0 -> 2925 bytes ...AddIn.csprojResolveAssemblyReference.cache | Bin 0 -> 231660 bytes OliviaAddIn/obj/Debug/OliviaAddIn.dll | Bin 0 -> 2055680 bytes OliviaAddIn/obj/Debug/OliviaAddIn.pdb | Bin 0 -> 456192 bytes .../Properties.Resources.Designer.cs.dll | Bin 0 -> 7680 bytes OliviaAddIn/obj/Debug/esriAddIn/AddInID.txt | 1 + .../obj/Debug/yo-NG/OliviaAddIn.resources.dll | Bin 0 -> 4096 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 10336 bytes .../Release/OliviaAddIn.DatosCsv.resources | Bin 0 -> 1716 bytes .../OliviaAddIn.EditTxtPlant.resources | Bin 0 -> 180 bytes .../Release/OliviaAddIn.FormCampos.resources | Bin 0 -> 1716 bytes .../Release/OliviaAddIn.InicioDlg.resources | Bin 0 -> 1716 bytes .../Release/OliviaAddIn.LimpCampos.resources | Bin 0 -> 180 bytes .../Release/OliviaAddIn.LimpiezaDlg.resources | Bin 0 -> 4291 bytes .../OliviaAddIn.LimpiezaDlg.yo-NG.resources | Bin 0 -> 180 bytes .../OliviaAddIn.ListCapasMaqueta.resources | Bin 0 -> 1716 bytes .../Release/OliviaAddIn.ListForm.resources | Bin 0 -> 1716 bytes .../OliviaAddIn.ProgresoEjec.resources | Bin 0 -> 1716 bytes .../OliviaAddIn.ProgresoInic.resources | Bin 0 -> 1716 bytes ...OliviaAddIn.Properties.Resources.resources | Bin 0 -> 1760234 bytes .../Release/OliviaAddIn.RecoCampos.resources | Bin 0 -> 180 bytes .../Release/OliviaAddIn.RecogidaDlg.resources | Bin 0 -> 2653 bytes .../Release/OliviaAddIn.SensCampos.resources | Bin 0 -> 1716 bytes ...OliviaAddIn.csproj.CoreCompileInputs.cache | 1 + .../OliviaAddIn.csproj.FileListAbsolute.txt | 27 + .../OliviaAddIn.csproj.GenerateResource.Cache | Bin 0 -> 2925 bytes .../OliviaAddIn.csprojAssemblyReference.cache | Bin 0 -> 49796 bytes ...AddIn.csprojResolveAssemblyReference.cache | Bin 0 -> 231973 bytes OliviaAddIn/obj/Release/OliviaAddIn.dll | Bin 0 -> 2038784 bytes OliviaAddIn/obj/Release/OliviaAddIn.pdb | Bin 0 -> 374272 bytes .../Properties.Resources.Designer.cs.dll | Bin 0 -> 7680 bytes OliviaAddIn/obj/Release/esriAddIn/AddInID.txt | 1 + .../Release/yo-NG/OliviaAddIn.resources.dll | Bin 0 -> 4096 bytes OliviaDef/OliviaDef.cs | 571 ++++ OliviaDef/OliviaDef.csproj | 57 + SisNetBase/SisNetBase.dll | Bin 0 -> 142336 bytes limpia.bat | 23 + 188 files changed, 22764 insertions(+) create mode 100644 OliviaAddIn.sln create mode 100644 OliviaAddIn.suo create mode 100644 OliviaAddIn/ButtonInicio.cs create mode 100644 OliviaAddIn/ClassDiagram1.cd create mode 100644 OliviaAddIn/Comun.cs create mode 100644 OliviaAddIn/Config.Designer.cs create mode 100644 OliviaAddIn/Config.esriaddinx create mode 100644 OliviaAddIn/DatosCsv.Designer.cs create mode 100644 OliviaAddIn/DatosCsv.cs create mode 100644 OliviaAddIn/DatosCsv.resx create mode 100644 OliviaAddIn/DatosGDB.cs create mode 100644 OliviaAddIn/DatosGDBEx.cs create mode 100644 OliviaAddIn/DatosGDBLimp.cs create mode 100644 OliviaAddIn/DatosGDBReco.cs create mode 100644 OliviaAddIn/EditTxtPlant.Designer.cs create mode 100644 OliviaAddIn/EditTxtPlant.cs create mode 100644 OliviaAddIn/EditTxtPlant.resx create mode 100644 OliviaAddIn/Ejecuta.cs create mode 100644 OliviaAddIn/EjecutaLimp.cs create mode 100644 OliviaAddIn/EjecutaReco.cs create mode 100644 OliviaAddIn/FormCampos.Designer.cs create mode 100644 OliviaAddIn/FormCampos.cs create mode 100644 OliviaAddIn/FormCampos.resx create mode 100644 OliviaAddIn/FunGDB.cs create mode 100644 OliviaAddIn/Images/Asset-tracking-and-management.png create mode 100644 OliviaAddIn/Images/ButtonInicio.png create mode 100644 OliviaAddIn/Images/CLEANAIR-5-front.png create mode 100644 OliviaAddIn/Images/Map.png create mode 100644 OliviaAddIn/Images/Map2.png create mode 100644 OliviaAddIn/Images/Wooden-Map.png create mode 100644 OliviaAddIn/Images/areas.gif create mode 100644 OliviaAddIn/Images/back.png create mode 100644 OliviaAddIn/Images/barridomec.gif create mode 100644 OliviaAddIn/Images/camion-de-basura-tsr-6000.png create mode 100644 OliviaAddIn/Images/carrito.png create mode 100644 OliviaAddIn/Images/clock.png create mode 100644 OliviaAddIn/Images/contenedor.png create mode 100644 OliviaAddIn/Images/document-open-data.png create mode 100644 OliviaAddIn/Images/documentinfo.png create mode 100644 OliviaAddIn/Images/electrical_sensor1600.png create mode 100644 OliviaAddIn/Images/favicon.ico create mode 100644 OliviaAddIn/Images/folder-gdb.png create mode 100644 OliviaAddIn/Images/folder-important.png create mode 100644 OliviaAddIn/Images/folder-nw.png create mode 100644 OliviaAddIn/Images/garden.png create mode 100644 OliviaAddIn/Images/mapa.jpg create mode 100644 OliviaAddIn/Images/parquimetro.png create mode 100644 OliviaAddIn/Images/plan.png create mode 100644 OliviaAddIn/Images/play.png create mode 100644 OliviaAddIn/Images/resorig/119_control.png create mode 100644 OliviaAddIn/Images/resorig/Asset-tracking-and-management.png create mode 100644 OliviaAddIn/Images/resorig/ButtonInicio.png create mode 100644 OliviaAddIn/Images/resorig/CLEANAIR-5-front.png create mode 100644 OliviaAddIn/Images/resorig/Map.png create mode 100644 OliviaAddIn/Images/resorig/Map2.png create mode 100644 OliviaAddIn/Images/resorig/Wooden-Map.png create mode 100644 OliviaAddIn/Images/resorig/area.png create mode 100644 OliviaAddIn/Images/resorig/back.png create mode 100644 OliviaAddIn/Images/resorig/barridomec.png create mode 100644 OliviaAddIn/Images/resorig/camion-de-basura-tsr-6000.png create mode 100644 OliviaAddIn/Images/resorig/carrito.png create mode 100644 OliviaAddIn/Images/resorig/clean.png create mode 100644 OliviaAddIn/Images/resorig/clock.png create mode 100644 OliviaAddIn/Images/resorig/configure.png create mode 100644 OliviaAddIn/Images/resorig/contenedor.png create mode 100644 OliviaAddIn/Images/resorig/dialog-cancel.png create mode 100644 OliviaAddIn/Images/resorig/document-open-data.png create mode 100644 OliviaAddIn/Images/resorig/documentinfo.png create mode 100644 OliviaAddIn/Images/resorig/electrical_sensor1600.png create mode 100644 OliviaAddIn/Images/resorig/favicon.ico create mode 100644 OliviaAddIn/Images/resorig/folder-important.png create mode 100644 OliviaAddIn/Images/resorig/folder-remote.png create mode 100644 OliviaAddIn/Images/resorig/folder-virtualbox.png create mode 100644 OliviaAddIn/Images/resorig/garden.png create mode 100644 OliviaAddIn/Images/resorig/green_area.ico create mode 100644 OliviaAddIn/Images/resorig/icon-help.png create mode 100644 OliviaAddIn/Images/resorig/mapa.jpg create mode 100644 OliviaAddIn/Images/resorig/niveles.png create mode 100644 OliviaAddIn/Images/resorig/parquimetro.png create mode 100644 OliviaAddIn/Images/resorig/plan.png create mode 100644 OliviaAddIn/Images/resorig/play.png create mode 100644 OliviaAddIn/Images/resorig/road_sweeper.ico create mode 100644 OliviaAddIn/Images/resorig/run-build-clean.png create mode 100644 OliviaAddIn/Images/resorig/sand.png create mode 100644 OliviaAddIn/Images/resorig/save.png create mode 100644 OliviaAddIn/Images/resorig/user-busy.png create mode 100644 OliviaAddIn/Images/restr.png create mode 100644 OliviaAddIn/Images/restricc.png create mode 100644 OliviaAddIn/Images/sand.png create mode 100644 OliviaAddIn/Images/save.png create mode 100644 OliviaAddIn/Images/system-help.png create mode 100644 OliviaAddIn/InicioDlg.Designer.cs create mode 100644 OliviaAddIn/InicioDlg.cs create mode 100644 OliviaAddIn/InicioDlg.resx create mode 100644 OliviaAddIn/LimpCampos.cs create mode 100644 OliviaAddIn/LimpCampos.resx create mode 100644 OliviaAddIn/Limpieza.cs create mode 100644 OliviaAddIn/LimpiezaDef.cs create mode 100644 OliviaAddIn/LimpiezaDlg.Designer.cs create mode 100644 OliviaAddIn/LimpiezaDlg.cs create mode 100644 OliviaAddIn/LimpiezaDlg.resx create mode 100644 OliviaAddIn/LimpiezaDlg.yo-NG.resx create mode 100644 OliviaAddIn/ListCamposVal.cs create mode 100644 OliviaAddIn/ListCapasMaqueta.Designer.cs create mode 100644 OliviaAddIn/ListCapasMaqueta.cs create mode 100644 OliviaAddIn/ListCapasMaqueta.resx create mode 100644 OliviaAddIn/ListForm.Designer.cs create mode 100644 OliviaAddIn/ListForm.cs create mode 100644 OliviaAddIn/ListForm.resx create mode 100644 OliviaAddIn/Maqueta.cs create mode 100644 OliviaAddIn/OliviaAddIn.csproj create mode 100644 OliviaAddIn/OliviaAddIn.csproj.user create mode 100644 OliviaAddIn/OliviaGlob.cs create mode 100644 OliviaAddIn/Parquimetros.cs create mode 100644 OliviaAddIn/ProgresoEjec.Designer.cs create mode 100644 OliviaAddIn/ProgresoEjec.cs create mode 100644 OliviaAddIn/ProgresoEjec.resx create mode 100644 OliviaAddIn/ProgresoInic.Designer.cs create mode 100644 OliviaAddIn/ProgresoInic.cs create mode 100644 OliviaAddIn/ProgresoInic.resx create mode 100644 OliviaAddIn/Properties/AssemblyInfo.cs create mode 100644 OliviaAddIn/Properties/Resources.Designer.cs create mode 100644 OliviaAddIn/Properties/Resources.resx create mode 100644 OliviaAddIn/RecoCampos.cs create mode 100644 OliviaAddIn/RecoCampos.resx create mode 100644 OliviaAddIn/Recogida.cs create mode 100644 OliviaAddIn/RecogidaDef.cs create mode 100644 OliviaAddIn/RecogidaDlg.Designer.cs create mode 100644 OliviaAddIn/RecogidaDlg.cs create mode 100644 OliviaAddIn/RecogidaDlg.resx create mode 100644 OliviaAddIn/SensCampos.Designer.cs create mode 100644 OliviaAddIn/SensCampos.cs create mode 100644 OliviaAddIn/SensCampos.resx create mode 100644 OliviaAddIn/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.DatosCsv.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.EditTxtPlant.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.FormCampos.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.InicioDlg.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.LimpCampos.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.LimpiezaDlg.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.LimpiezaDlg.yo-NG.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.ListCapasMaqueta.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.ListForm.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.ProgresoEjec.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.ProgresoInic.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.Properties.Resources.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.RecoCampos.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.RecogidaDlg.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.SensCampos.resources create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.csproj.FileListAbsolute.txt create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.csproj.GenerateResource.Cache create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.csprojResolveAssemblyReference.cache create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.dll create mode 100644 OliviaAddIn/obj/Debug/OliviaAddIn.pdb create mode 100644 OliviaAddIn/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll create mode 100644 OliviaAddIn/obj/Debug/esriAddIn/AddInID.txt create mode 100644 OliviaAddIn/obj/Debug/yo-NG/OliviaAddIn.resources.dll create mode 100644 OliviaAddIn/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.DatosCsv.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.EditTxtPlant.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.FormCampos.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.InicioDlg.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.LimpCampos.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.LimpiezaDlg.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.LimpiezaDlg.yo-NG.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.ListCapasMaqueta.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.ListForm.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.ProgresoEjec.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.ProgresoInic.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.Properties.Resources.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.RecoCampos.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.RecogidaDlg.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.SensCampos.resources create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.csproj.CoreCompileInputs.cache create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.csproj.FileListAbsolute.txt create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.csproj.GenerateResource.Cache create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.csprojAssemblyReference.cache create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.csprojResolveAssemblyReference.cache create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.dll create mode 100644 OliviaAddIn/obj/Release/OliviaAddIn.pdb create mode 100644 OliviaAddIn/obj/Release/TempPE/Properties.Resources.Designer.cs.dll create mode 100644 OliviaAddIn/obj/Release/esriAddIn/AddInID.txt create mode 100644 OliviaAddIn/obj/Release/yo-NG/OliviaAddIn.resources.dll create mode 100644 OliviaDef/OliviaDef.cs create mode 100644 OliviaDef/OliviaDef.csproj create mode 100644 SisNetBase/SisNetBase.dll create mode 100644 limpia.bat diff --git a/.gitignore b/.gitignore index 93437df..0236349 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,6 @@ ################################################################################ /OliviaAddIn/bin +/OliviaDef/bin +/OliviaDef/obj/x86 +/.vs/OliviaAddIn/v15 diff --git a/OliviaAddIn.sln b/OliviaAddIn.sln new file mode 100644 index 0000000..4e4f3d2 --- /dev/null +++ b/OliviaAddIn.sln @@ -0,0 +1,48 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OliviaAddIn", "OliviaAddIn\OliviaAddIn.csproj", "{DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OliviaDef", "OliviaDef\OliviaDef.csproj", "{B395D0F3-766D-46C5-BDE9-FBDEE1582259}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Debug|Win32.ActiveCfg = Debug|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Debug|x86.ActiveCfg = Debug|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Release|Any CPU.Build.0 = Release|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Release|Win32.ActiveCfg = Release|Any CPU + {DB9A28BA-37A9-4D46-8CFF-06A444FCDEF7}.Release|x86.ActiveCfg = Release|Any CPU + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Debug|Any CPU.ActiveCfg = Debug|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Debug|Win32.ActiveCfg = Debug|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Debug|x86.ActiveCfg = Debug|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Debug|x86.Build.0 = Debug|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Release|Any CPU.ActiveCfg = Release|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Release|Mixed Platforms.Build.0 = Release|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Release|Win32.ActiveCfg = Release|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Release|x86.ActiveCfg = Release|x86 + {B395D0F3-766D-46C5-BDE9-FBDEE1582259}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OliviaAddIn.suo b/OliviaAddIn.suo new file mode 100644 index 0000000000000000000000000000000000000000..0b9336b3531c7d688686eaf212f55d5ccbfad40c GIT binary patch literal 427008 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 z

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 M9sWO8f0<1G14RW~6951J literal 0 HcmV?d00001 diff --git a/OliviaAddIn/ButtonInicio.cs b/OliviaAddIn/ButtonInicio.cs new file mode 100644 index 0000000..2f61ffd --- /dev/null +++ b/OliviaAddIn/ButtonInicio.cs @@ -0,0 +1,135 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.IO; +using System.Windows.Forms; + +namespace OliviaAddIn +{ + + /** + * @file ButtonInicio.cs + * Clase del botón del AddIn OLIVIA para ArcMap. + * Contiene el manejo de sus eventos como el Click o la actualización de su estado. + */ + /** + * Clase del botón del AddIn OLIVIA para ArcMap. + * Contiene el manejo de sus eventos como el Click o la actualización de su estado. + */ + public class ButtonInicio : ESRI.ArcGIS.Desktop.AddIns.Button + { + //************************************************************************************* + //Variables + + //************************************************************************************* + //Métodos + public ButtonInicio() + { + + } + + protected override void OnClick() + { + try + { + bool ini_bien = true; + try + { + string err_str = ""; + if (!OliviaGlob.lee_ini_gen(out err_str)) + { + ini_bien = false; + MessageBox.Show(err_str, "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + ini_bien = true; + } + catch (Exception) + { + MessageBox.Show("Error al iniciar Olivia. No se puede acceder al archivo de configuración: cfg.ini. Comprobar accesibilidad a la carpeta.", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + if (!ini_bien) + return; + + if (!coge_ip()) + return; //FALTA loguear error... + + if (!comprueba_dlls()) + return; + + //////////////////////////// + + Application.EnableVisualStyles(); + ArcMap.Application.CurrentTool = null; + + //abre la ventana de configuración inicial + OliviaGlob.inidlg = new InicioDlg(); + OliviaGlob.ya_open_app = true; + OliviaGlob.inidlg.Show(); + } + catch (Exception e) + { + MessageBox.Show(e.Message, "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + } + + protected override void OnUpdate() + { + Enabled = !OliviaGlob.ya_open_app; + } + + /** + * Coge la ip local para la comunicación con geofoto + */ + protected bool coge_ip() + { + try + { + string[] ips = OliviaGlob.dame_local_ips(); + if (ips != null && ips.Length > 0) + OliviaGlob.ip = ips[0]; + else + OliviaGlob.ip = "127.0.0.1"; + + return true; + } + catch (Exception) + { + MessageBox.Show("Error al coger la IP.", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + } + + /** + * La primera vez copia las dlls necesarias en el directorio del arcmap + */ + protected bool comprueba_dlls() + { + string path_dll_dest = null, dll = null; + try + { + //comprueba igt_base.dll + dll = "igt_base.dll"; + + path_dll_dest = Path.Combine(Application.StartupPath, dll); + if (!File.Exists(path_dll_dest)) + { + MessageBox.Show("No se encuentran las librerías necesarias, compruebe la instalación", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + catch (Exception) + { + MessageBox.Show("Error al comprobar las dll " + dll + "ubicada en:" + path_dll_dest, "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + } + + + } +} diff --git a/OliviaAddIn/ClassDiagram1.cd b/OliviaAddIn/ClassDiagram1.cd new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/OliviaAddIn/ClassDiagram1.cd @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/OliviaAddIn/Comun.cs b/OliviaAddIn/Comun.cs new file mode 100644 index 0000000..9d06489 --- /dev/null +++ b/OliviaAddIn/Comun.cs @@ -0,0 +1,267 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +using ESRI.ArcGIS.Geodatabase; +using ESRI.ArcGIS.DataSourcesGDB; +using ESRI.ArcGIS.Geometry; +using ESRI.ArcGIS.Catalog; + +namespace OliviaAddIn +{ + /** + * Elementos comunes a Limpieza y Recogida + */ + public class Comun + { + //************************************************************************************* + //Variables + /** + * Texto cuando no se ha seleccionado instalación + */ + public string text_selec_instal = "Instalación de salida/llegada"; + /** + * Coordenadas de la instalación de partida, si las huibiera, 0 si no + */ + public double[] coords_instala = new double[2]; + /** + * Texto cuando no se ha seleccionado capa de restricciones + */ + public string text_selec_rest = "Capa de restric. circ."; + /** + * Geometría que componen las restricciones de acceso, null si nunguna + */ + public IGeometry geom_rest_acces = null; + /** + * Texto cuando no se ha seleccionado capa de zonas + */ + public string text_selec_zonas = "Capa de zonas"; + /** + * Geometría que componen las zonas seleccionadas, null si nunguna + */ + public IGeometry geom_zonas = null; + /** + * Texto cuando no se ha seleccionado capa de limpieza otra + */ + public string text_capa_limp = "Cambiar capa de limpieza..."; + /** + * String de errores de ejecución + */ + public string err_st = null; + /** + * Tiempo de trabajo al día por convenio, en minutos + */ + public double t_conv = LimpiezaDef.Parametros.t_conv; + /** + * Tiempo de descanso del personal, en minutos + */ + public double t_descan = LimpiezaDef.Parametros.t_descanso; + /** + * Tiempo de carga y descarga, en minutos + */ + public double t_descarg = LimpiezaDef.Parametros.t_cardesc; + /** + * Tiempo de desplazamiento inicio/fin a las instalaciones, en minutos + */ + public double t_despl_insta = LimpiezaDef.Parametros.t_desp; + /** + * hora de inicio de la jornada de trabajo, en minutos + */ + public double h_ini = LimpiezaDef.Parametros.h_inicio; + /** + * Porcentaje de tráfico que se estima, ya que si no los vehículos irían siempre a la velocida máxima permitida por la vía + */ + public double trafico = 80; + /** + * Número de puntos de control + */ + public int n_ptsctrl = 3; + /** + * Número de sectores por defecto + */ + public int n_secdef = 3; + /** + * Parámentro que indica si se tendrán en cuenta en el estudio los elementos aislados. Si 1 se descartan aislados. Si 0 se tienen en cuenta en el cálculo. + */ + public int aislados = -1; + /** + * String que almacena qué zonas se han seleccionado + */ + public string text_zon = ""; + /** + * String que almacena qué restricciones se han seleccionado + */ + public string text_restr = ""; + /** + * Path de la clase de los ámbitos + */ + + //************************************************************************************* + //Funciones + /** + * Para la selección de puntos de instalación + * Abre el dialogo de selección de capa y el form para seleccionar campo a leer y valor del campo + */ + public bool selec_instal(string title, int wnd_handle, out string text_sal, out double x, out double y) + { + ListCamposVal list; + IFeature f = null; + IFeatureClass fc = null; + IGeometry geom = null; + + list = new ListCamposVal(title, wnd_handle, esriGeometryType.esriGeometryPoint); + text_sal = ""; + x = y = 0; + + try + { + IPoint instalacion; + string campo, clase_path, st; + int elem; + int[] ids; + + clase_path = null; + campo = st=""; + ids = null; + elem = -1; + + clase_path = list.selec_capa(); + if (clase_path != null) + { + elem = list.selec_campo(out campo); + if (elem > -1 && campo != null) + { + elem = list.selec_valor_campo(campo, out st); + if (elem > -1) + { + ids = FunGDB.dame_ids_consulta(clase_path, ""); //consulta todos + if (ids != null) + { + fc=FunGDB.abre_ftclass(clase_path); + if (fc != null) + { + f = fc.GetFeature(ids[elem]); + geom = f.Shape; + geom = FunGDB.reproyecta(geom, OliviaGlob.coorsys);//reproyecta por si hace falta + instalacion = (IPoint)geom; + x = instalacion.X; + y = instalacion.Y; + text_sal = st; + } + } + } + } + } + } + catch (Exception) + { + x = 0; + } + + FunGDB.libera(fc); + FunGDB.libera(geom); + FunGDB.libera(f); + + if (x==0) //algo ha ido mal + { + MessageBox.Show("Error al seleccionar capa de instalaciones. " + list.err_st, "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + + /** + * Para la selección de capas de polígonos + * Abre el dialogo de selección de capa y el form para seleccionar campo a leer y valor del campo + * Permite multiselección + * Tiene que mostrar valores únicos, no repetidos + * Devuelve la geom resultante + * En text_sal van concatenados los valores que se han seleccionado unidos por '_' + */ + public bool selec_polig(string title, int wnd_handle, out string text_sal, out IGeometry geom_sal) + { + ListCamposVal list; + IFeature f = null; + IFeatureClass fc = null; + IGeometry geom = null; + + list = new ListCamposVal(title, wnd_handle, esriGeometryType.esriGeometryPolygon); + text_sal = ""; + geom_sal = null; + + try + { + + string campo, clase_path, consulta; + string[] val_st; + int nval; + int[] ids, val_ids; + int i,j; + bool is_str = true; + + clase_path=null; + campo=consulta=""; + val_st=null; + val_ids=ids=null; + nval=-1; + + clase_path = list.selec_capa(); + if (clase_path != null) + { + nval = list.selec_campo(out campo); + if (nval > -1 && campo != null) + { + //mira a ver si el campo es str + is_str = FunGDB.is_str_field(clase_path,campo); + nval = list.selec_valores_campo(campo,out val_ids, out val_st);//valores únicos + if (nval > 0) + { + //se embucla para unir las geoms + for (i = 0; i < nval; i++) + { + if(is_str) + consulta = campo + " = '" + val_st[i] + "'"; + else + consulta = campo + " = " + val_st[i]; + ids = FunGDB.dame_ids_consulta(clase_path, consulta); + fc = FunGDB.abre_ftclass(clase_path); + if ((ids != null) && (fc != null)) + { + for(j=0;j0ACuDVCTk{7AZ-^MC>bTB4E(k^ zyukQM?{iuN#Df7utM3#|7(QR2$Bh2cVhYlfma1IT{Be$YGY6LYfS+aK5BgyrH!% z=CmhAGks_*YUGki#~6V_-%$~*G?IoGw-1k)UhpM?WO4@S8Jj-hm!T7CXzX}UHw&##`7!QYHx@lX=g@P~dEFR_dYj~Z+q4@>Vr_LJaa_(yBV!jbD5{=E z^D=IBC*}~Xs;P{cD0S+zOzkeo3we&nc!i68;ODiJ^EK;l_YX;#(yfc@!ppTSo3(RY zOe5#WO!tth?jvX1ao37`>$27wvh7{?+kH^1AeY^Pg%0ra22X3CWS=hj9D?eed?z2E z-#GqFdv;IjE8V)d7KvEL4y}hSXI6X6Vp`n3h$`}7_U_=`Ln~2pgh>Ary1HKaiK~~o zh+0fPw}Do?SRLKJW_r*J)N@#L0<_TFcD4G@2wwpX5tp<+4fA*A{FXU~nTg-5!dT%E zCHr_LinCq&GIwfS+Lu4j&W!U{z*~8+T46-6KdG{L?V`EmYy9^3xP)I{B~j0!Ie%XQ zp0=);Z8w1ZtY9_Ae@1{f=WfCWSPNXOuir-Gui{$6H`hYU8=o2p%c@bUw89Fx<*I4s z;ST(WmG!19JFn7}P)ys#8(-D*5udke_4{$sOcBSdCx5`j3Veq9$8dV$5Qf$8GGwjJ z;5udt6%=d7sq-C$s|2m_mD<+M|K~a&KU=QCtJVWXPl@AoL8v48JZD;spsAY8_?z~d*(%@bB|OdQ zc*=3pWloh>E3Um{#kGfwmRh6l$zzupxau4_UR=F0^WPNaL9?7jSkb<=YK*-jaeO(r5iDFZAH7RJJ;M+h~`o4Xsy<2uoLH(Yjn?@}zO6`fc1N{zbdi z*&&Rvu>NCTA8RKrqrAJw*0C+QmOa6Te$IVCU%^gf55M`&vcwcrg8-@PIBy~%dWaOR z%!v@fql7zGZ5L}}d~+A+1!ny_^v8WO-7h!4e*L7-+O*B1(&EpuOuJd|kTfL6cQv1`5^!qBkGa@peiO;6o1xurc zo|aVk=fjVhnR?D!AQRExP=0YJN$i**7I;q4b&AgjmI$ptc9 zKBiLmtXV;4>Lu|pkbe_O5~6>MDfI2w!%}0%ee&_)(TLuVKX=*A)vC0;*T`#}sIb;a z;qM0CXzjj_IA#6FHP5dXdVLMg<9^*f`VVlT_W->7SqbriJNZW#Ur)`Lad`@|2~OmA zH22(HydPq%$P>D;J3CzX9lOfQPHQaNbLA3N8p_>f$hfKVKeH#j zODnP+j7{I-iS-tq`jCgaU5{}QQ75pC;%v&&)!x3yXsUVoSW9;C&2zJH6l=vC=&ez1 zH^ytIF(3Ej=W&C-_^H$A)kbs^2^P`v^|UEHkCtb}t4J}L+n+mQ^j7{uLH}o=l{CFp zQH1-~MCCA|xcja3a+U3=YtNPY`NS$p&<1awG7=?q#jkPL1OZ4{j9K+9{k9cF^@y?L z>=}EmacnA+|9?n~QO2hZfpovH48h8G0?YW?`e!+?RZ%jZ=S@x`m;H}LS7tYWo%P7v zD#cjMdU`%WyK`UD`%lphlw{En6}iH3bnYQiah$j=s`i*zd!LbQ*+p=9ZMF!GHqBN| zknJ6?O7{)h@HAg$qT~%g|p zTn4jxavgi#wnsFBudy$4D=Ar7`+7XYq4TJIqQ_VUYl4FHyDvrl97A`^nUQ;tlsj;7 zhUb4KsDVYXIF0XVnZmj2_^i-7xeAk1;U~s$_S2n`POz^U(id}HG1^EU^R3!P3a!a= z6`uQ@VHbxh7}}qw7kW0S`H!n%{zsJWMsEL8^VP~+ + OLIVIA AddIn + {0718b3b3-5422-4d80-97ad-f72b18a3e476} + Add-In de ArcMap para la herramienta de optimización de la limpieza viaria, OLIVIA. + 1.1.0.8 + Images\OliviaAddIn.png + Intergeo Tecnología + Intergeo Tecnología + 11/12/2018 + + + + + + + + + + + \ No newline at end of file diff --git a/OliviaAddIn/DatosCsv.Designer.cs b/OliviaAddIn/DatosCsv.Designer.cs new file mode 100644 index 0000000..7a8707d --- /dev/null +++ b/OliviaAddIn/DatosCsv.Designer.cs @@ -0,0 +1,243 @@ +namespace OliviaAddIn +{ + partial class DatosCsv + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DatosCsv)); + this.button_abrir = new System.Windows.Forms.Button(); + this.dateTimePicker_fin = new System.Windows.Forms.DateTimePicker(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.comboBox_media = new System.Windows.Forms.ComboBox(); + this.label2 = new System.Windows.Forms.Label(); + this.textBox_id = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.dateTimePicker_ini = new System.Windows.Forms.DateTimePicker(); + this.btn_acept = new System.Windows.Forms.Button(); + this.button_reset = new System.Windows.Forms.Button(); + this.label5 = new System.Windows.Forms.Label(); + this.textBox_llen = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.textBox_fecha = new System.Windows.Forms.TextBox(); + this.lbl_csv = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // button_abrir + // + this.button_abrir.Location = new System.Drawing.Point(29, 22); + this.button_abrir.Name = "button_abrir"; + this.button_abrir.Size = new System.Drawing.Size(75, 23); + this.button_abrir.TabIndex = 1; + this.button_abrir.Text = "Abrir"; + this.button_abrir.UseVisualStyleBackColor = true; + this.button_abrir.Click += new System.EventHandler(this.button_abrir_Click); + // + // dateTimePicker_fin + // + this.dateTimePicker_fin.CustomFormat = "dd/MM/yyyy - H:mm"; + this.dateTimePicker_fin.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dateTimePicker_fin.Location = new System.Drawing.Point(66, 245); + this.dateTimePicker_fin.Name = "dateTimePicker_fin"; + this.dateTimePicker_fin.Size = new System.Drawing.Size(156, 20); + this.dateTimePicker_fin.TabIndex = 20; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(29, 228); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(65, 13); + this.label4.TabIndex = 19; + this.label4.Text = "Fecha Final:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(29, 183); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(68, 13); + this.label3.TabIndex = 18; + this.label3.Text = "Fecha Inicio:"; + // + // comboBox_media + // + this.comboBox_media.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_media.Location = new System.Drawing.Point(122, 155); + this.comboBox_media.Name = "comboBox_media"; + this.comboBox_media.Size = new System.Drawing.Size(100, 21); + this.comboBox_media.TabIndex = 17; + this.comboBox_media.SelectedIndexChanged += new System.EventHandler(this.comboBox_media_SelectedIndexChanged); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(29, 158); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(36, 13); + this.label2.TabIndex = 16; + this.label2.Text = "Media"; + // + // textBox_id + // + this.textBox_id.Location = new System.Drawing.Point(122, 64); + this.textBox_id.Name = "textBox_id"; + this.textBox_id.Size = new System.Drawing.Size(100, 20); + this.textBox_id.TabIndex = 15; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(26, 66); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(54, 13); + this.label1.TabIndex = 14; + this.label1.Text = "Campo ID"; + // + // dateTimePicker_ini + // + this.dateTimePicker_ini.CustomFormat = "dd/MM/yyyy - H:mm"; + this.dateTimePicker_ini.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dateTimePicker_ini.Location = new System.Drawing.Point(66, 201); + this.dateTimePicker_ini.Name = "dateTimePicker_ini"; + this.dateTimePicker_ini.Size = new System.Drawing.Size(156, 20); + this.dateTimePicker_ini.TabIndex = 13; + // + // btn_acept + // + this.btn_acept.Location = new System.Drawing.Point(115, 271); + this.btn_acept.Name = "btn_acept"; + this.btn_acept.Size = new System.Drawing.Size(75, 23); + this.btn_acept.TabIndex = 12; + this.btn_acept.Text = "Aceptar"; + this.btn_acept.UseVisualStyleBackColor = true; + this.btn_acept.Click += new System.EventHandler(this.btn_acept_Click); + // + // button_reset + // + this.button_reset.Location = new System.Drawing.Point(34, 271); + this.button_reset.Name = "button_reset"; + this.button_reset.Size = new System.Drawing.Size(75, 23); + this.button_reset.TabIndex = 11; + this.button_reset.Text = "Reset"; + this.button_reset.UseVisualStyleBackColor = true; + this.button_reset.Click += new System.EventHandler(this.button_reset_Click); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(26, 93); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(81, 13); + this.label5.TabIndex = 21; + this.label5.Text = "Campo Llenado"; + // + // textBox_llen + // + this.textBox_llen.Location = new System.Drawing.Point(122, 90); + this.textBox_llen.Name = "textBox_llen"; + this.textBox_llen.Size = new System.Drawing.Size(100, 20); + this.textBox_llen.TabIndex = 22; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(29, 126); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(73, 13); + this.label6.TabIndex = 23; + this.label6.Text = "Campo Fecha"; + // + // textBox_fecha + // + this.textBox_fecha.Location = new System.Drawing.Point(122, 123); + this.textBox_fecha.Name = "textBox_fecha"; + this.textBox_fecha.Size = new System.Drawing.Size(100, 20); + this.textBox_fecha.TabIndex = 24; + // + // lbl_csv + // + this.lbl_csv.AutoSize = true; + this.lbl_csv.Location = new System.Drawing.Point(119, 27); + this.lbl_csv.Name = "lbl_csv"; + this.lbl_csv.Size = new System.Drawing.Size(87, 13); + this.lbl_csv.TabIndex = 25; + this.lbl_csv.Text = "Seleccionar CSV"; + // + // DatosCsv + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(284, 313); + this.Controls.Add(this.lbl_csv); + this.Controls.Add(this.textBox_fecha); + this.Controls.Add(this.label6); + this.Controls.Add(this.textBox_llen); + this.Controls.Add(this.label5); + this.Controls.Add(this.dateTimePicker_fin); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.comboBox_media); + this.Controls.Add(this.label2); + this.Controls.Add(this.textBox_id); + this.Controls.Add(this.label1); + this.Controls.Add(this.dateTimePicker_ini); + this.Controls.Add(this.btn_acept); + this.Controls.Add(this.button_reset); + this.Controls.Add(this.button_abrir); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "DatosCsv"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "DatosCsv"; + this.TopMost = true; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.DatosCsv_FormClosed); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button button_abrir; + private System.Windows.Forms.DateTimePicker dateTimePicker_fin; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.ComboBox comboBox_media; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox textBox_id; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.DateTimePicker dateTimePicker_ini; + private System.Windows.Forms.Button btn_acept; + private System.Windows.Forms.Button button_reset; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox textBox_llen; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox textBox_fecha; + private System.Windows.Forms.Label lbl_csv; + } +} \ No newline at end of file diff --git a/OliviaAddIn/DatosCsv.cs b/OliviaAddIn/DatosCsv.cs new file mode 100644 index 0000000..f08ea84 --- /dev/null +++ b/OliviaAddIn/DatosCsv.cs @@ -0,0 +1,351 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using Excel = Microsoft.Office.Interop.Excel; +using System.IO; + +namespace OliviaAddIn +{ + public partial class DatosCsv : Form + { + Recogida reco = null; + string id, lleno, csv, fecha, aux, auxi; + string[] combo = new string[] { "No", "Si" }; + DateTime f_ini, f_fin; + public static DateTime fe; + int y, mo, d, h, mi, ind; + public bool acept = false; + + + //////////////////////////////////////////////////// + public DatosCsv(Recogida reco) + { + try + { + InitializeComponent(); + reinicia(); + comboBox_media.Items.AddRange(combo); + dateTimePicker_fin.Enabled = false; + this.reco = reco; + + textBox_id.Enabled = false; + textBox_fecha.Enabled = false; + textBox_llen.Enabled = false; + comboBox_media.Enabled = false; + dateTimePicker_ini.Enabled = false; + dateTimePicker_fin.Enabled = false; + button_reset.Enabled = false; + btn_acept.Enabled = false; + } + catch (Exception) + { + MessageBox.Show("Error al iniciar la ventana de campos de CSV", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + + + private void reinicia() + { + id = RecogidaDef.campos.cons_id_csv; + lleno = RecogidaDef.campos.cons_llen_csv; + fecha = RecogidaDef.campos.cons_fecha_csv; + + ind = RecogidaDef.campos.cons_fechai_csv.IndexOf("/"); + auxi = RecogidaDef.campos.cons_fechai_csv.Substring(0, ind); + d = Convert.ToInt32(auxi); + aux = RecogidaDef.campos.cons_fechai_csv.Substring(ind + 1); + ind = aux.IndexOf("/"); + auxi = aux.Substring(0, ind); + mo = Convert.ToInt32(auxi); + aux = aux.Substring(ind + 1); + ind = aux.IndexOf(" "); + auxi = aux.Substring(0, ind); + y = Convert.ToInt32(auxi); + aux = aux.Substring(ind + 1); + ind = aux.IndexOf(":"); + auxi = aux.Substring(0, ind); + h = Convert.ToInt32(auxi); + aux = aux.Substring(ind + 1); + mi = Convert.ToInt32(aux); + + RecogidaDef.campos.fechai_csv = new DateTime(y, mo, d, h, mi, 0); + f_ini = RecogidaDef.campos.fechai_csv; + + ind = RecogidaDef.campos.cons_fechaf_csv.IndexOf("/"); + auxi = RecogidaDef.campos.cons_fechaf_csv.Substring(0, ind); + d = Convert.ToInt32(auxi); + aux = RecogidaDef.campos.cons_fechaf_csv.Substring(ind + 1); + ind = aux.IndexOf("/"); + auxi = aux.Substring(0, ind); + mo = Convert.ToInt32(auxi); + aux = aux.Substring(ind + 1); + ind = aux.IndexOf(" "); + auxi = aux.Substring(0, ind); + y = Convert.ToInt32(auxi); + aux = aux.Substring(ind + 1); + ind = aux.IndexOf(":"); + auxi = aux.Substring(0, ind); + h = Convert.ToInt32(auxi); + aux = aux.Substring(ind + 1); + mi = Convert.ToInt32(aux); + + RecogidaDef.campos.fechaf_csv = new DateTime(y, mo, d, h, mi, 0); + f_fin = RecogidaDef.campos.fechaf_csv; + + //se rellenan los datos en el dialogo + textBox_id.Text = id; + textBox_fecha.Text = fecha; + textBox_llen.Text = lleno; + + dateTimePicker_ini.Value = f_ini; + dateTimePicker_ini.MinDate = new DateTime(0001, 01, 01, 00, 00, 00); + dateTimePicker_ini.MaxDate = new DateTime(2050, 01, 01, 00, 00, 00); + + dateTimePicker_fin.Value = f_fin; + dateTimePicker_fin.MinDate = new DateTime(0001, 01, 01, 00, 00, 00); + dateTimePicker_fin.MaxDate = new DateTime(2050, 01, 01, 00, 00, 00); + } + + + private void button_abrir_Click(object sender, EventArgs e) + { + try + { + System.Windows.Forms.OpenFileDialog openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + openFileDialog1.Filter = "CSV(*.csv)|*.csv"; + openFileDialog1.Title = "Abrir tabla de datos"; + + // Show the Dialog. + if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + csv = openFileDialog1.FileName; + textBox_id.Enabled = true; + textBox_fecha.Enabled = true; + textBox_llen.Enabled = true; + comboBox_media.Enabled = true; + dateTimePicker_ini.Enabled = true; + button_reset.Enabled = true; + btn_acept.Enabled = true; + lbl_csv.Text = System.IO.Path.GetFileName(openFileDialog1.FileName); + //dateTimePicker_fin.Enabled = true; + } + else + { + textBox_id.Enabled = false; + textBox_fecha.Enabled = false; + textBox_llen.Enabled = false; + comboBox_media.Enabled = false; + dateTimePicker_ini.Enabled = false; + dateTimePicker_fin.Enabled = false; + button_reset.Enabled = false; + btn_acept.Enabled = false; + lbl_csv.Text = "Seleccionar CSV"; + } + } + catch (Exception) + { + MessageBox.Show("Error al seleccionar el CSV", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + } + + /* + * Se validan los campos modificados y se guarda en memoria los nombres de los nuevos campos. + * También se guardará en el archivo .INI una vez se vaya a ejecutar el proceso. + */ + private void btn_acept_Click(object sender, EventArgs e) + { + List title = new List(); + List time = new List(); + List lectura = new List(); + List num = new List(); + string aux; + int veces = 0, nveces = 0, ind, dia, mon, year, hor, min, col_id = -1, col_lleno = -1, col_fech = -1; + double carg = 0; + + try + { + //se inicializan las listas doned se pondrán los iedntificadores y sus respectivas cargas que cumplan los requisitos de las fechas + reco.id = new List(); + reco.cargas = new List(); + acept = true; + + //se recogen los datos introducidos en el dialogo + RecogidaDef.campos.cons_id_csv = textBox_id.Text; + reco.id_csv = RecogidaDef.campos.cons_id_csv; + + RecogidaDef.campos.cons_llen_csv = textBox_llen.Text; + reco.llen_csv = RecogidaDef.campos.cons_llen_csv; + + RecogidaDef.campos.cons_fecha_csv = textBox_fecha.Text; + reco.fecha_csv = RecogidaDef.campos.cons_fecha_csv; + + f_ini = dateTimePicker_ini.Value; + if (dateTimePicker_fin.Enabled == true) + f_fin = dateTimePicker_fin.Value; + + RecogidaDef.campos.fechai_csv = f_ini; + if (comboBox_media.SelectedIndex == 1) + RecogidaDef.campos.fechaf_csv = f_fin; + else if (comboBox_media.SelectedIndex == 0) + RecogidaDef.campos.fechaf_csv = new DateTime(2049, 01, 01, 00, 01, 00); + else + { + MessageBox.Show("Hay que seleccionar si se requiere hacer la media de fechas", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + if (RecogidaDef.campos.fechai_csv > RecogidaDef.campos.fechaf_csv) + { + MessageBox.Show("La fecha final no puede ser menor que la fecha inicial", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + RecogidaDef.campos.cons_fechai_csv = RecogidaDef.campos.fechai_csv.ToString("dd/MM/yyyy") + " " + RecogidaDef.campos.fechai_csv.ToString("H:mm"); + reco.fechai_csv = RecogidaDef.campos.cons_fechai_csv; + RecogidaDef.campos.cons_fechaf_csv = RecogidaDef.campos.fechaf_csv.ToString("dd/MM/yyyy") + " " + RecogidaDef.campos.fechaf_csv.ToString("H:mm"); + reco.fechaf_csv = RecogidaDef.campos.cons_fechaf_csv; + + + using (var reader = new StreamReader(csv, Encoding.Default)) + { + Encoding enc = reader.CurrentEncoding; + while (!reader.EndOfStream) + { + veces++; + var line = reader.ReadLine(); + var values = line.Split(';'); + if (veces == 1) + { + title.AddRange(values); + for (int i = 0; i < title.Count; i++) + { + if (title[i] == reco.id_csv) + col_id = i; + else if (title[i] == reco.fecha_csv) + col_fech = i; + else if (title[i] == reco.llen_csv) + col_lleno = i; + } + if (col_id == -1) + { + MessageBox.Show(string.Format("El nombre del campo {0} para los indetificadores no es correcto", reco.id_csv), "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + if (col_fech == -1) + { + MessageBox.Show(string.Format("El nombre del campo {0} para las fechas no es correcto", reco.fecha_csv), "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + if (col_lleno == -1) + { + MessageBox.Show(string.Format("El nombre del campo {0} para los porcentajes de llenado no es correcto", reco.llen_csv), "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + continue; + } + + time.Add(values[col_fech]); + lectura.Add(values[col_lleno]); + num.Add(values[col_id]); + } + } + if (dateTimePicker_fin.Enabled == true) + { + for (int i = 0; i < time.Count; i++) + { + ind = time[i].IndexOf("/"); + dia = Convert.ToInt32(time[i].Substring(0, ind)); + aux = time[i].Substring(ind + 1); + ind = aux.IndexOf("/"); + mon = Convert.ToInt32(aux.Substring(0, ind)); + aux = aux.Substring(ind + 1); + ind = aux.IndexOf(" "); + year = Convert.ToInt32(aux.Substring(0, ind)); + aux = aux.Substring(ind + 1); + ind = aux.IndexOf(":"); + hor = Convert.ToInt32(aux.Substring(0, ind)); + min = Convert.ToInt32(aux.Substring(ind + 1)); + + fe = new DateTime(year, mon, dia, hor, min, 0); + + if ((fe >= f_ini) && (fe <= f_fin)) + { + nveces++; + if (lectura[i] == "") + lectura[i] = "100"; + carg = carg + Convert.ToDouble(lectura[i], System.Globalization.CultureInfo.InvariantCulture); + } + if ((i == time.Count - 1) || (num[i] != num[i + 1])) + { + reco.id.Add(Convert.ToInt32(num[i])); + reco.cargas.Add(carg / nveces); + nveces = 0; + carg = 0; + } + } + } + else + { + for (int i = 0; i < time.Count; i++) + { + if (time[i] == reco.fechai_csv) + { + reco.id.Add(Convert.ToInt32(num[i])); + if (lectura[i] == "") + lectura[i] = "100"; + + reco.cargas.Add(Convert.ToDouble(lectura[i], System.Globalization.CultureInfo.InvariantCulture)); + continue; + } + } + } + Close(); + } + catch (Exception) + { + MessageBox.Show("Error al validar los datos introducidos en la ventana", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + private void comboBox_media_SelectedIndexChanged(object sender, EventArgs e) + { + if (comboBox_media.SelectedIndex == 1) + dateTimePicker_fin.Enabled = true; + else if (comboBox_media.SelectedIndex == 0) + dateTimePicker_fin.Enabled = false; + else + MessageBox.Show("Hay que seleccionar si se requiere hacer la media de fechas", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + private void DatosCsv_FormClosed(object sender, FormClosedEventArgs e) + { + if (acept == false) + { + reco.id_csv = null; + reco.llen_csv = null; + reco.fecha_csv = null; + reco.fechai_csv = null; + reco.fechaf_csv = null; + reco.id = null; + reco.cargas = null; + } + } + + private void button_reset_Click(object sender, EventArgs e) + { + try + { + reinicia(); + } + catch (Exception) + { + MessageBox.Show("Error al resetear", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + } +} diff --git a/OliviaAddIn/DatosCsv.resx b/OliviaAddIn/DatosCsv.resx new file mode 100644 index 0000000..1bb292f --- /dev/null +++ b/OliviaAddIn/DatosCsv.resx @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAD///8B////Af///wH///8BOoFqBTqBamE6gWq9OoFq7zqBapU6gWq9OoFqvzqBamM6gWoF////Af// + /wH///8B////Af///wH///8BOoFqJTqBatE6gWr/OoFq/zqBav86gWqTOoFq9TqBav86gWr/OoFq0zqB + ain///8B////Af///wH///8BOoFqJTqBaus6gWr/OoFq/zqBav86gWr9OoFqqzqBauk6gWr9OoFq/zqB + av86gWrrOoFqJ////wH///8BOoFqAzqBas86gWr7OoFqzTqBaqk6gWqtOoFqYzqBask6gWpJOoFqXTqB + ass6gWr7OoFq/zqBatE6gWoF////ATqBalc6gWrpOoFq4zqBap86gWoNOoFqCzqBanM6gWrROoFqqzqB + ajk6gWoNOoFqezqBavk6gWr/OoFqW////wE6gWq1OoFqpTqBats6gWp7OoFqOzqBahs6gWrxOoFq8zqB + av86gWqVOoFqFTqBanM6gWqJOoFq0TqBarf///8BOoFq6zqBal86gWqFOoFqezqBais6gWpHOoFq8TqB + av86gWr/OoFqdTqBaj86gWopOoFqhTqBask6gWqF////ATqBauM6gWo1OoFqHzqBamX///8BOoFqiTqB + av86gWrhOoFq/zqBal////8BOoFqYTqBaok6gWrhOoFq/////wE6gWpFOoFqFzqBakU6gWov////ATqB + apk6gWr/OoFq8TqBav86gWrbOoFqE////wE6gWpVOoFqtzqBapv///8BOoFqeTqBaos6gWpj////Af// + /wE6gWpXOoFq+zqBav86gWr/OoFq3TqBahE6gWozOoFqiTqBauU6gWol////ATqBaj86gWoV////Af// + /wH///8BOoFqfTqBaus6gWr3OoFq9zqBajs6gWo7OoFqczqBat86gWphOoFqA////wH///8B////Af// + /wH///8B////ATqBapM6gWr/OoFq/zqBav86gWpbOoFqSTqBatM6gWqVOoFqeTqBahP///8B////Af// + /wH///8B////Af///wE6gWofOoFq1zqBav86gWr/OoFqff///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////ATqBark6gWr/OoFqwzqBagf///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wE6gWo3OoFq6zqBaiP///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//w== + + + \ No newline at end of file diff --git a/OliviaAddIn/DatosGDB.cs b/OliviaAddIn/DatosGDB.cs new file mode 100644 index 0000000..e55fdb9 --- /dev/null +++ b/OliviaAddIn/DatosGDB.cs @@ -0,0 +1,2716 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.IO; +using System.Runtime.InteropServices; + +using ESRI.ArcGIS.ArcMap; +using ESRI.ArcGIS.DataSourcesFile; +using ESRI.ArcGIS.DataSourcesGDB; +using ESRI.ArcGIS.esriSystem; +using ESRI.ArcGIS.Geodatabase; +using ESRI.ArcGIS.GeoDatabaseUI; +using ESRI.ArcGIS.Geometry; +using ESRI.ArcGIS.Carto; +using ESRI.ArcGIS.AnalysisTools; +using ESRI.ArcGIS.Geoprocessor; +using ESRI.ArcGIS.Geoprocessing; +using ESRI.ArcGIS.Display; +using ESRI.ArcGIS.Framework; +//using ESRI.ArcGIS.ArcMapUI; + +namespace OliviaAddIn +{ + /** + * @file DatosGDB.cs + * Clase con funciones para lectura de GDB en general. + * Contiene definiciones y funciones necesarias para exportar los datos de GDB a SHP, y viceversa + * concretados con las opciones de configuración de la limpieza viaria. + */ + public class DatosGDB + { + //************************************************************************************* + //Enums + public enum ModsImport + { + ImportNo, + ImportSec1, //capa secto + ImportSec2, //capa secto con ambitos unidos por sector para maqueta + ImportPlan1, //capa planif + ImportPlan2, //capa ptos control + ImportPlan3, //capa ruta + ImportPlan4, //capa instalaciones + ImportPlan5, //capa ruta aux + ImportPlan6,//capa planif con ámbitos unidos por sector para maqueta + } + //************************************************************************************* + //Variables + public string err_st = ""; + public string path_class = null;//path de la feature class que se ha elegido como datos de entrada + public string path_import = null;//path donde se ha importado el resultado + public string path_secto = null;//path de la feature class que contiene la sectorización que se va a emplear para planificar + ///////////////////////////////// + + public string giros = "giro"; + public string relaciones = "relacion"; + public string interseccion = "intersec"; + public string sector = "SECTOR"; + public string secuencia = "SECUENCIA"; + public string tipo_cont = "FRACCION"; + public string tipo_recog = "NOMB_TIP_R"; + public string tipo_entid = "NOM_TIPO_E"; + public string fid = "FID"; + public string[] campo_aux = { "Join_Count", "TARGET_FID", "JOIN_FID", "Join_Cou_1", "TARGET_F_1", "JOIN_FID_1", "Join_Cou_2", "TARGET_F_2" }; + public string carga_conten = "CARGA"; + public string name_export_amb = "data_"; + public string name_export_nw = "nw_"; + public string name_export_suf = "_ok"; + public string name_temp = "_tmp"; + public string name_temp1 = "_tmp1"; + public string name_temp2 = "_tmp2"; + public string name_control_out = "_Control"; + public string name_control = "_C"; + public string name_ruta_out = "_Ruta"; + public string name_ruta2_out = "_Viajes"; + public string name_ruta_aux = "_Raux"; + public string name_ruta = "_R"; + public string name_ruta2 = "_R2"; + public string name_sect = "_Sector"; + public string name_csv = "_L"; + public string name_aux = "_aux"; + public string ext_shp = ".shp"; + public string name_instal = "_I"; + public string name_inst_out = "_Instalacion"; + public string name_map = "mapa"; + public string union_espa = "Join_Count"; + public string union_id = "TARGET_FID"; + public string union_nivel = "NIVEL_LI_1"; + public string municip = "muni_"; + public string ambit = "SECTOR "; + public string cap_calle = "CALLES"; + public string cap_sect = "Sectorizacion"; + public string municipio = "municipio"; + + //************************************************************************************* + //Métodos + public DatosGDB() + { + + } + + /** + * Comprueba que haya una columna de sector y secuencia + */ + public bool comp_campos_planif(string path_class) + { + ITable tabla = FunGDB.dame_tabla_clase(path_class); + if (tabla == null) + return false; + + return comp_campos_planif_(tabla); + } + /** + * Comprueba que haya una columna de sector y secuencia + */ + public bool comp_campos_planif(string path_gdb, string nomb_clas) + { + ITable tabla = FunGDB.dame_tabla_clase(path_gdb, nomb_clas); + if(tabla==null) + return false; + + return comp_campos_planif_(tabla); + } + /** + * Comprueba que haya una columna de sector y secuencia + */ + public bool comp_campos_planif_(ITable tabla) + { + if (tabla.FindField(sector) < 0 || tabla.FindField(secuencia) < 0) + return false; + return true; + } + + /* + * Dado un nombre de featureclass, una consulta y una geometría, interseca entre un poligono dado (geom) y una capa lineal (fc1) + */ + public IQueryFilter dame_filt_inter(IFeatureClass fc, string consulta, IGeometry geom) + { + IQueryFilter filt = null; + ISpatialFilter filtro_espacial = null; + + try + { + if (geom != null) + { + //interseccion espacial entrew el poligono dado y la capa de ambitos o nw dependiendo de cual sea el ambito escogido en el dialogo + filtro_espacial = new SpatialFilterClass(); + filtro_espacial.Geometry = geom; + filtro_espacial.GeometryField = fc.ShapeFieldName; + filtro_espacial.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects; + //se incorpora filtro de atributos si se pasa como argumento. De este modo se hará la interseccion espacial sólo de aquellos elementos que cumplan el filtrado de atributos. + if ((consulta != null) || consulta != "") + filtro_espacial.WhereClause = consulta; + filt = (IQueryFilter)filtro_espacial; + } + else + { + //se aplica filtro + filt = new QueryFilterClass(); + filt.WhereClause = consulta; + } + + return filt; + } + catch (Exception) + { + return null; + } + } + + /* + * une las geometrías de una misma capa que cumplen la consulta de atributos indicada (filtro_clause) + * de modo que trata los diversos polígonos como una única geometría (necesario para la intersección entre polígonos) + * si no se hiciera así en la posterior interseccón entre polígonos sólo cogería uno de cada capa para intersecar y se perderían datos. + * Se guarda la featureclass con las geometrías unidas + * importación de la capa secotrizada, de modo que sólo haya una geometría por sector. + * Unificando todos los ámbitos que pertenecen al mismo sector. + */ + public IGeometry une_poligonos(string ftclass, string filtro_clause) + { + string capa, copia = null; + IFeatureClass fc1; + IFeatureWorkspace ft_ws = null; + IWorkspace ws = null; + IQueryFilter filtro = null; + IGeometry queryGeometry = null; + IGeometryDef def_geom = null; + bool mal=false; + + capa = ftclass; + + try + { + IWorkspaceFactory wsf = new ShapefileWorkspaceFactoryClass(); + ws = wsf.OpenFromFile(OliviaGlob.Paths.DirData, 0); + ft_ws = (IFeatureWorkspace)ws; + } + catch (Exception) + { + err_st = "Error al recibir los datos de " + ftclass; + return null; + } + + try + { + if (filtro_clause != null) + { + filtro = new QueryFilterClass(); + filtro.WhereClause = filtro_clause; + } + + fc1 = FunGDB.abre_ftclass(OliviaGlob.Paths.DirData, capa); + if (fc1 == null) + { + err_st = "Error al abrir la capa " + capa; + return null; + } + def_geom = FunGDB.dame_geom_coords(fc1, OliviaGlob.coorsys_in); + } + catch (Exception) + { + err_st = "Error al abrir la capa " + capa; + return null; + } + + try + { + if (fc1.ShapeType == esriGeometryType.esriGeometryPolyline) + { + FunGDB.libera(fc1); + copia = copia_capa(capa); + if (copia == null) + { + err_st = "Error al crear copia de la capa " + capa; + return null; + } + + capa = System.IO.Path.GetFileNameWithoutExtension(copia); + fc1 = FunGDB.abre_ftclass(OliviaGlob.Paths.DirData, capa); + queryGeometry = une_geometria(fc1, filtro); + if (queryGeometry == null) + mal = true; + + } + else if (fc1.ShapeType == esriGeometryType.esriGeometryPoint) + { + FunGDB.libera(fc1); + capa = crea_aux_pto(ftclass, filtro, out queryGeometry); + if (capa == null) + mal = true; + } + else + { + err_st = "El tipo de geometría de entrada no está permitido"; + mal = true; + } + if (mal == true) + { + err_st = "Error al convertir a geometría única. " + err_st; + return null; + } + + } + catch (Exception) + { + err_st = "Error al unir los polígonos que cumplen la consulta: " + filtro.WhereClause + ", de la capa " + ftclass; + return null; + } + finally + { + FunGDB.libera(fc1); + } + + + if (queryGeometry.SpatialReference.FactoryCode != def_geom.SpatialReference.FactoryCode) + queryGeometry.Project(def_geom.SpatialReference); + + return queryGeometry; + } + + /* + * A partir de una capa recorre todos los elementos que cumplen el filtro y los une en una única geometría + */ + public IGeometry une_geometria(IFeatureClass fc1, IQueryFilter filtro) + { + IFeatureCursor fcc = null; + IFeature f1 = null, f2 = null; + IGeometry queryGeometry = null; + ITopologicalOperator union = null; + + try + { + fcc = fc1.Search(filtro, false); + } + catch (Exception) + { + MessageBox.Show("La capa seleccionada no tiene campos o atributos adecuados.", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return null; + } + + try + { + f2 = f1 = fcc.NextFeature(); + if (f1 == null) + { + err_st = string.Format("La capa seleccionada: {0} no contiene elementos que cumplan la consulta: {1}", fc1.AliasName, filtro.WhereClause); + return null; + } + f2 = fcc.NextFeature(); + + union = (ITopologicalOperator)f1.Shape; + while (f1 != null && f2 != null) + { + f1.Shape = union.Union(f2.Shape); + union = (ITopologicalOperator)f1.Shape; + f2.Delete(); + FunGDB.libera(f2); + f2 = fcc.NextFeature(); + } + + queryGeometry = f1.Shape; + f1.Store(); + + return queryGeometry; + + } + catch (Exception) + { + err_st = "Error al unir polígonos de la capa" + fc1.AliasName; + return null; + } + finally + { + //libera + FunGDB.libera(f1); + FunGDB.libera(f2); + FunGDB.libera(fcc); + } + + } + + /** + * Recorre los ámbitos lineales del shp viendo qué longitud tienen dentro de la geometría, y si + * es menos de un porcentaje, lo quitan + **/ + public bool quita_amb_sobresalen(string shp_path, IGeometry geom_zon, double porc) + { + + int[] ids = null; + IFeature f = null; + IFeatureClass fc = null; + IGeometry geom_aux = null; + ITopologicalOperator union = null; + IPolyline poli = null; + double longi_zon=0, longi_tot=0; + List quita = new List(); + int j; + + try + { + ids = FunGDB.dame_ids_consulta(shp_path, ""); //consulta todos + if (ids == null) + return false; + fc = FunGDB.abre_ftclass(shp_path); + if (fc == null) + return false; + for (j = 0; j < ids.Length; j++) + { + f = fc.GetFeature(ids[j]); + geom_aux = f.Shape; + poli = (IPolyline)geom_aux; + longi_tot = poli.Length; + union = (ITopologicalOperator)geom_zon; + if (geom_aux == null) + return false; + geom_aux = union.Intersect(geom_aux, esriGeometryDimension.esriGeometry1Dimension);//se realiza la interseccion entre ámbito (linea) y nivel (poligono) + poli = (IPolyline)geom_aux; + longi_zon = poli.Length;//se consigue la longitud de ámbito (linea) que interseca con el nivel) + + if ((longi_zon / longi_tot) < porc) + { + //quita esa línea + quita.Add(ids[j]); + } + FunGDB.libera(f); + } + + + FunGDB.libera(fc); + FunGDB.libera(f); + + if (quita.Count>0) + { + //borra las líneas que se han indicado + if (!FunGDB.quita_filas(shp_path, quita)) + return false; + } + + return true; + } + catch (Exception) + { + return false; + } + finally + { + FunGDB.libera(fc); + FunGDB.libera(f); + } + } + + /** + * Recorre los ámbitos lineales del shp viendo los que están en la zona de restricción + * y los que caen dentro, los quita + * is_lin ==true, interseca poligono con línea + * is_lin ==false, interseca polígono con punto + **/ + public bool quita_amb_restric(string shp_path, IGeometry geom_restr, bool is_lin) + { + + int[] ids = null; + IFeature f = null; + IFeatureClass fc = null; + IGeometry geom_aux = null; + ITopologicalOperator union = null; + List quita = new List(); + int j; + esriGeometryDimension dim = esriGeometryDimension.esriGeometry1Dimension; + + try + { + ids = FunGDB.dame_ids_consulta(shp_path, ""); //consulta todos + if (ids == null) + return false; + fc = FunGDB.abre_ftclass(shp_path); + if (fc == null) + return false; + for (j = 0; j < ids.Length; j++) + { + f = fc.GetFeature(ids[j]); + geom_aux = f.Shape; + union = (ITopologicalOperator)geom_restr; + if (geom_aux == null) + return false; + if (is_lin) + dim = esriGeometryDimension.esriGeometry1Dimension;//se realiza la interseccion entre ámbito (linea) y nivel (poligono) + else + dim = esriGeometryDimension.esriGeometry0Dimension;//se realiza la interseccion entre ámbito (punto) y nivel (poligono) + geom_aux = union.Intersect(geom_aux, dim); + + if(!geom_aux.IsEmpty) + { + //quita esa línea + quita.Add(ids[j]); + } + FunGDB.libera(f); + } + + + FunGDB.libera(fc); + FunGDB.libera(f); + + if (quita.Count > 0) + { + //borra las líneas que se han indicado + if (!FunGDB.quita_filas(shp_path, quita)) + return false; + } + + return true; + } + catch (Exception) + { + return false; + } + finally + { + FunGDB.libera(fc); + FunGDB.libera(f); + } + } + + /** + * PARA DEBUG + * Comprueba si hay locks, hay que llamarla antes de destruir o liberar fc, es solo para ver dónde se crean los locks + */ + public bool check_locks(ISchemaLock sl) + { + int nlocks; + ISchemaLock schemaLock; + ISchemaLockInfo schemaLockInfo; + IEnumSchemaLockInfo enumSchemaLockInfo; + + //comprueba si hay locks + schemaLockInfo = null; + schemaLock = sl; + schemaLock.GetCurrentSchemaLocks(out enumSchemaLockInfo); + enumSchemaLockInfo.Reset(); + nlocks = 0; + schemaLockInfo = enumSchemaLockInfo.Next(); + while (schemaLockInfo != null) + { + schemaLockInfo = enumSchemaLockInfo.Next(); + nlocks++; + } + if (nlocks > 0) + return false; + + return true; + } + + /** + * Exportar la red navegable + * capa streets, intersección con geom_ambits que es donde están los ámbitos + * (previamente se ha intersecado con zonas, niveles, etc, y ampliado para que contenga la instalación), + * ampliado un buffer, y quitándole la geometría de las restricciones + */ + public bool exporta_nw(IGeometry geom_ambits, IGeometry geom_restric, bool restric, string fecha_hora, out IDatasetName shp_data_nw) + { + string name = "", err_str = ""; + ITopologicalOperator union = null; + double buf = 0; + IGeometry geom1 = null; + string nomb_class = ""; + IQueryFilter filtro; + IDatasetName shp_dsn = null; + + shp_data_nw = null; + + /////////////////////////////////////////////////////////// + //prepara el shp donde va a exportar + name = name_export_nw + fecha_hora + ext_shp; + + /////////////////////////////////////////////////////////// + //se obtiene la geometría a intersecar con la red, que será la que contiene + //a todos los ámbitos y la instalación, ampliada un buffer, mayor si hay + //restricciones de circulación + union = (ITopologicalOperator)geom_ambits; + buf = OliviaGlob.buff_export; + if (restric) + { + buf = buf * 2; + } + geom1 = union.Buffer(buf); + + /////////////////////////////////////////////////////////// + //a la geometría resultante le quita las partes por donde no puede circular, + //que son las debidas a restricciones de circulación + geom1 = FunGDB.diferencia_geoms(geom1, geom_restric); + if (geom1 == null) + { + err_st = "Error al diferencias geometrías " + name; + return false; + } + + /////////////////////////////////////////////////////////// + //crea el filtro espacial y el añadido de consulta de atributos si fuera necesario + nomb_class = OliviaGlob.Capas.ftclass_ejes; + IFeatureClass fc = FunGDB.abre_ftclass(OliviaGlob.Paths.PathGdbNw, nomb_class); + filtro = dame_filt_inter(fc, null, geom1); + if (filtro == null) + { + err_st = "Error al crear el filtro de exportación " + name; + return false; + } + FunGDB.libera(fc); + + if (!FunGDB.exporta(OliviaGlob.Paths.PathGdbNw, nomb_class, + OliviaGlob.Paths.DirData, name, filtro, out shp_dsn, out err_str)) + { + err_st = err_str; + return false; + } + + shp_data_nw = (IDatasetName)shp_dsn; + + return true; + } + + /* + * + */ + public void inicia_coords(string dir, string nomb_class) + { + OliviaGlob.coorsys_in = FunGDB.dame_factory_code(dir, nomb_class); + if (OliviaGlob.coorsys_in < 0) + OliviaGlob.coorsys_in = OliviaGlob.coorsys; + OliviaGlob.coorsys = OliviaGlob.coorsys_in; + } + + ////////////////////////////////////// + //REVISAR + + /* + * Abre la capa en el espacio de trabajo de ArcGIS y asigna a cada sector un color y un estilo en el pintado, según la simbología aplicada por VSM. + * Todos los registros que tengan el mismo valor en el campo "sector" se pintarán con el mismo estilo + * Modo = 0 para pintar según la simbología de VSM. Modo = 1 para pintar las rutas al finalizar el proceso de planificación, pintando las felchas que indican el sientido de la misma. + */ + public bool pinta_sect_galeria(IFeatureLayer shape, int modo) + { + int indice1 = -1, indice2, indice = -1; + string valor_clase, name_simbol; + IGeoFeatureLayer geo_layer = null; + IUniqueValueRenderer valor_unico = null; + IDisplayTable tabla_disp = null; + IFeatureCursor fcursor = null; + IFeature feat = null; + IFields campos = null; + IStyleGallery styleGallery = null; + + if (!carga_capa_galeria(shape.Name, modo, out fcursor, out feat, out campos, out tabla_disp, out geo_layer, out styleGallery)) + return false; + try + { + if ((shape.FeatureClass.ShapeType == esriGeometryType.esriGeometryPoint) || (shape.FeatureClass.ShapeType == esriGeometryType.esriGeometryMultipoint)) + { + //se pone un valor por defecto + predef_valunic(shape, modo, out valor_unico, campos, out indice, out indice1, out indice2); + while (feat != null) + { + //se identifican si son dos atributos los que hay que tener en cuenta para aplicar la simbología o sólo uno. + if (valor_unico.FieldCount == 1) + valor_clase = feat.get_Value(indice).ToString(); + else + { + valor_clase = feat.get_Value(indice1).ToString(); + valor_clase = valor_clase + "," + feat.get_Value(indice2).ToString(); + } + //se identifica el nombre del simbolo VSM que debe ir asociado al elemento + name_simbol = decode_simbol(valor_clase, modo); + //Se analiza si el valor ha sido añadido como valor único. Si no, se añade. + if (!add_valunic_galeria(valor_unico, styleGallery, valor_clase, name_simbol, "Marker", modo)) + return false; + + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(feat); + feat = fcursor.NextFeature(); + } + } + else if (shape.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolyline) + { + //se pone un valor por defecto + predef_valunic(shape, modo, out valor_unico, campos, out indice, out indice1, out indice2); + while (feat != null) + { + //se identifican los atributos que hay que tener en cuenta para aplicar la simbología o sólo uno. + valor_clase = feat.get_Value(indice).ToString(); + //se identifica el nombre del simbolo VSM que debe ir asociado al elemento + name_simbol = decode_simbol(valor_clase, modo); + if (name_simbol == null) + { + err_st = string.Format("No se ha encontrado la simbología buscada para {0}", valor_clase); + return false; + } + //Se analiza si el valor ha sido añadido como valor único. Si no, se añade. + if (!add_valunic_galeria(valor_unico, styleGallery, valor_clase, name_simbol, "Line", modo)) + return false; + + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(feat); + feat = fcursor.NextFeature(); + } + if (modo == 1) + { + asigna_color(valor_unico, 1, 1); + } + } + else if (shape.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon) + { + //se pone un valor por defecto + predef_valunic(shape, modo, out valor_unico, campos, out indice, out indice1, out indice2); + while (feat != null) + { + //se identifican los atributos que hay que tener en cuenta para aplicar la simbología o sólo uno. + valor_clase = feat.get_Value(indice1).ToString(); + valor_clase = valor_clase + "," + feat.get_Value(indice2).ToString(); + //se identifica el nombre del simbolo VSM que debe ir asociado al elemento + name_simbol = decode_simbol(valor_clase, modo); + //Se analiza si el valor ha sido añadido como valor único. Si no, se añade. + if (!add_valunic_galeria(valor_unico, styleGallery, valor_clase, name_simbol, "Fill", modo)) + return false; + + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(feat); + feat = fcursor.NextFeature(); + } + } + else + return false; + //Si no ha utilizado una rampa de color predefinida en un estilo, utilice "Custom". + //De lo contrario, utilice el nombre de la rampa de color que ha seleccionado. + actualiza_vista(valor_unico, tabla_disp, geo_layer, indice, indice1); + } + catch (Exception) + { + return false; + } + finally + { + if (feat != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(feat); + if (tabla_disp != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(tabla_disp); + if (fcursor != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(fcursor); + if (campos != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(campos); + } + return true; + } + + /* + * Busca la capa en el espacio de trabajo de ArcGIS y asigna a cada sector un color y un estilo en el pintado. + * Todos los registros que tengan el mismo valor en el campo "sector" se pintarán con el mismo estilo + * Modo 0 para identificar los valores unicos pero no pintar la capa + * Modo 1 para cargar la capa y pintarla en el visor cartográfico. + * Modo 2 para cargar la capa de _Sectores de la GDB de capas importadas. Esto se hará para la maquetación. + * Modo 3 para cargar la capa de sectores en el mapa de localizacion + * Modo 4 para cargar la capa normal y poder editar la sectorización. Antes de la planificación. + * Modo 5 para pintar la capa y no eliminar las ya cargada. Se hace en la recogida de residuos. + */ + public IUniqueValueRenderer pinta_sectores(string path_gdb, string ftclass_nom, int modo) + { + bool encontrado = false; + int indice, nmapas; + string marco = null; + IGeoFeatureLayer geo_layer = null; + IUniqueValueRenderer valor_unico = null; + IDisplayTable tabla_disp = null; + IFeatureCursor fcursor = null; + IFeatureClass f_clase = null; + IFeatureLayer capa = null; + IFields campos = null; + ISpatialReferenceFactory3 spatialReferenceFactory; + IProjectedCoordinateSystem coord_proy; + ESRI.ArcGIS.ArcMapUI.IMxDocument mx_doc; + IApplication app; + IMap map; + + try + { + f_clase = FunGDB.abre_ftclass(path_gdb, ftclass_nom); //crea .sr.lock + if (f_clase == null) + return null; + + capa = new FeatureLayer(); + capa.FeatureClass = f_clase; + + if ((modo == 2) || (modo == 3)) + capa.Name = cap_sect; + else + capa.Name = ftclass_nom; + + geo_layer = (IGeoFeatureLayer)capa; + //se recorre la tabla valor por valor para saber si ya se le ha asignado un color con su estilo de simbología úinico por valor (único por sector) + tabla_disp = (IDisplayTable)geo_layer; + fcursor = (IFeatureCursor)tabla_disp.SearchDisplayTable(null, false);//crea .rd.lock + campos = fcursor.Fields; + indice = campos.FindField(sector); + + add_valunic(fcursor, capa, out valor_unico, indice, modo); + + if (modo != 0) + { + app = ArcMap.Application; + mx_doc = (ESRI.ArcGIS.ArcMapUI.IMxDocument)(app.Document); + + if ((modo != 2) && (modo != 3) && (modo != 5)) + { + //se eliminan las posibles capas que pueda haber abiertas, y si se ha hecho una mquetación anteriormente también se quitan las capas y los mapas + nmapas = mx_doc.Maps.Count; + for (int j = 0; j < nmapas; j++) + { + map = mx_doc.Maps.get_Item(j); + if ((map.Name == OliviaGlob.df_secund) || (map.Name == OliviaGlob.df_secund1)) + { + map.ClearLayers(); + //actuliza la vista del mapa para que se visualice + mx_doc.UpdateContents(); + mx_doc.ActiveView.Refresh(); + } + else if (map.Name == OliviaGlob.df_princip) + { + map.ClearLayers(); + //actuliza la vista del mapa para que se visualice + mx_doc.Maps.Remove(map); + } + } + //se cambia de layout view (con la plantilla de maquetación) al data view (vista normal) + mx_doc.ActiveView = (IActiveView)mx_doc.FocusMap; + } + + map = mx_doc.FocusMap; + spatialReferenceFactory = (ISpatialReferenceFactory3)new SpatialReferenceEnvironment(); + coord_proy = spatialReferenceFactory.CreateProjectedCoordinateSystem(OliviaGlob.coorsys_in);//ETRS89_UTM30N + map.SpatialReference = (ISpatialReference)coord_proy; + if (mx_doc.Maps.Count > 1) + { + if (modo == 2) + marco = OliviaGlob.df_princip; + else if (modo == 3) + marco = OliviaGlob.df_secund; + for (int r = 0; r < mx_doc.Maps.Count; r++) + { + map = mx_doc.Maps.get_Item(r); + if (map.Name == marco) + { + encontrado = true; + break; + } + } + if ((modo == 3) && (encontrado == false)) + { + marco = OliviaGlob.df_secund1; + for (int r = 0; r < mx_doc.Maps.Count; r++) + { + map = mx_doc.Maps.get_Item(r); + if (map.Name == marco) + break; + } + } + } + if ((modo != 1) && (modo != 3) && (modo != 5)) + map.ClearLayers(); + map.AddLayer(capa); + actualiza_vista(valor_unico, tabla_disp, geo_layer, indice, -1); + + if (modo == 3) + { + // hace zoom a losámbitos + IActiveView av = (IActiveView)map; //el mapa sigue siendo el del municipio + av.Extent = map.get_Layer(0).AreaOfInterest; + av.Refresh(); + + //Devuelve el foco al principal + mx_doc = (ESRI.ArcGIS.ArcMapUI.IMxDocument)(app.Document); + for (int r = 0; r < mx_doc.Maps.Count; r++) + { + map = mx_doc.Maps.get_Item(r); + if (map.Name == OliviaGlob.df_princip) + { + break; + } + } + mx_doc.ActiveView.FocusMap = map; + //actuliza la vista del mapa para que se visualice + mx_doc.UpdateContents(); + mx_doc.ActiveView.Refresh(); + + } + } + + return valor_unico; + } + catch (Exception) + { + return null; + } + finally + { + //libera + FunGDB.libera(campos); + FunGDB.libera(fcursor); + FunGDB.libera(f_clase); + FunGDB.libera(capa); + FunGDB.libera(tabla_disp); + } + + } + + /* + * Permite conocer el nombre del simbolo a aplicar según los atributos que tiene. + * Modo 0 para la simbologia de VSM. Modo = 1 para la simbologia de la capa de rutas(sólo para elementos lineales). + */ + public string decode_simbol(string atributos, int modo) + { + string name_simb = null, basura, tip_rec; + int ind; + ind = atributos.IndexOf(","); + + try + { + if (ind > 0) + { + basura = atributos.Substring(0, ind); + ind++; + tip_rec = atributos.Substring(ind); + + for (int i = 0; i < RecogidaDef.simb_rec_vsm.Length - 3; i++) + { + if (tip_rec == RecogidaDef.simb_rec_vsm[i]) + { + name_simb = RecogidaDef.nombre_simbrec_vsm[i]; + return name_simb; + } + } + for (int j = 6; j < RecogidaDef.simb_rec_vsm.Length; j++) + { + if (tip_rec == RecogidaDef.simb_rec_vsm[j]) + { + for (int k = 0; k < RecogidaDef.simb_tipbasura.Length; k++) + { + if (basura == RecogidaDef.simb_tipbasura[k]) + { + if (j == 6) + { + name_simb = RecogidaDef.nombre_simbrec_vsm[j + k]; + return name_simb; + } + else if (j == 7) + { + name_simb = RecogidaDef.nombre_simbrec_vsm[(j + 4) + k]; + return name_simb; + } + if (k > 2) + break; + else + { + name_simb = RecogidaDef.nombre_simbrec_vsm[(j + 8) + k]; + return name_simb; + } + } + } + } + } + if ((tip_rec == "") && (basura == "")) + { + name_simb = "Soterrados"; + return name_simb; + } + if (name_simb == null) + { + MessageBox.Show("No se encuentra el simbolo en la contenerizacion"); + } + } + else + { + if (modo == 0) + { + for (int i = 0; i < LimpiezaDef.simb_tto.Length; i++) + { + if (atributos == LimpiezaDef.simb_tto[i]) + { + name_simb = LimpiezaDef.nombre_simblimp_vsm[i]; + return name_simb; + } + } + } + else if (modo == 1) + { + name_simb = "Arrow Right Middle"; + return name_simb; + } + else + MessageBox.Show("No se reconoce la simbologíua que hay que aplicar"); + } + + return null; + } + catch (Exception) + { + return null; + } + } + + /* + * Une las polilineas de una misma capa que pertenecen al mismo sector. + * Así a posteriori se podrá realizar el datadriven pages dependiendo del sector. + * Habrá un elemento por sector y generará tantos mapas como sectores. + */ + public bool une_sectores(string shape, IUniqueValueRenderer valor_unico) + { + string filtro_clause; + IGeometry geom = null; + + for (int i = 0; i < valor_unico.ValueCount; i++) + { + filtro_clause = sector + "=" + valor_unico.Value[i]; + geom = une_poligonos(shape, filtro_clause); + if (geom == null) + return false; + } + return true; + } + + /* + * Pone por defecto un valor unico extraido del primer valor de la tabla de campos + */ + public void predef_valunic(IFeatureLayer capa, int modo, out IUniqueValueRenderer valor_unico, IFields campos, out int indice, out int indice1, out int indice2) + { + string campo; + indice = -1; + indice1 = -1; + indice2 = -1; + + //Crea la clasificación de valor único + valor_unico = new UniqueValueRendererClass(); + + if (capa.FeatureClass.ShapeType == esriGeometryType.esriGeometryPoint) + { + indice1 = campos.FindField(tipo_cont); + indice2 = campos.FindField(tipo_recog); + if (indice1 < 0) + { + indice = campos.FindField(tipo_entid); + campo = tipo_entid; + //se establecen estas propiedades antes de realizar la clasificación por valores únicos. + valor_unico.FieldCount = 1; + valor_unico.set_Field(0, campo); + } + else if (indice2 > 0) + { + //se establecen estas propiedades antes de realizar la clasificación por valores únicos. + valor_unico.FieldCount = 2; + valor_unico.set_Field(0, tipo_cont); + valor_unico.set_Field(1, tipo_recog); + valor_unico.FieldDelimiter = ","; + } + else + { + predef_valunic1(valor_unico, campos); + } + } + else if (capa.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolyline) + { + if (modo == 0) + campo = tipo_entid; + else if (modo == 1) + campo = sector; + else + campo = null; + indice = campos.FindField(campo); + if (indice > 0) + { + //se establecen estas propiedades antes de realizar la clasificación por valores únicos. + valor_unico.FieldCount = 1; + valor_unico.set_Field(0, campo); + } + else + { + predef_valunic1(valor_unico, campos); + } + } + else if (capa.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolygon) + { + indice1 = campos.FindField(tipo_cont); + indice2 = campos.FindField(tipo_recog); + if (indice2 > 0) + { + //se establecen estas propiedades antes de realizar la clasificación por valores únicos. + valor_unico.FieldCount = 2; + valor_unico.set_Field(0, tipo_cont); + valor_unico.set_Field(1, tipo_recog); + valor_unico.FieldDelimiter = ","; + } + else + { + predef_valunic1(valor_unico, campos); + } + } + } + + /* + * Pone por defecto un valor unico extraido del primer valor de la tabla de campos + */ + public void predef_valunic1(IUniqueValueRenderer valor_unico, IFields campos) + { + int indice; + + indice = campos.FindField(sector); + if (indice > 0) + { + //se establecen estas propiedades antes de realizar la clasificación por valores únicos. + valor_unico.FieldCount = 1; + valor_unico.set_Field(0, sector); + } + else + MessageBox.Show("No se encuentra referencia en las tablas para elementos puntuales"); + } + + /* + * Crea un array con los valores únicos (en el campo ambito de trabajo) que se encuentran en la capa. + * A esos valores les aplica la simbología correspondiente que aplica VSM en sus cartografias. + * Modo = 0 para añadir a los valores unicos la simbologia de VSM. Modo = 1 para añadir a los valores únicos la simbología referente a la capa de rutas (linea de color con flecha de sentido). + */ + public bool add_valunic_galeria(IUniqueValueRenderer valor_unico, IStyleGallery styleGallery, string valor_clase, string name_simbol, string tipo, int modo) + { + bool exist_valor; + ISymbol symbol = null; + IEnumStyleGalleryItem enumStyleGallery = null; + IStyleGalleryItem estilo_gal = null; + + try + { + if (name_simbol == null) + { + err_st = "No se ha encontrado el símbolo."; + return false; + } + exist_valor = false; + for (int i = 0; i <= valor_unico.ValueCount - 1; i++) + { + if (valor_unico.get_Value(i) == valor_clase) + { + exist_valor = true; + break; //Si el valor se encuentra se sale del bucle. + } + } + //Si el valor (numero de sector) no se ha encontrado como valor_unico, significa que es nuevo y se añade. + if (exist_valor == false) + { + if (modo == 0) + { + if (!File.Exists(OliviaGlob.Paths.PathSimbVSM)) + { + err_st = string.Format("No se encuentra la galería de estilos de VSM en: {0}.\n Modifica el path en el archivo de configuración.", OliviaGlob.Paths.PathSimbVSM); + return false; + } + else + enumStyleGallery = styleGallery.get_Items(tipo + " Symbols", OliviaGlob.Paths.PathSimbVSM, ""); + } + else if (modo == 1) + { + if (!File.Exists(OliviaGlob.Paths.PathSimbESRI)) + { + err_st = string.Format("No se encuentra la galería de estilos de VSM en: {0}.\n Modifica el path en el archivo de configuración.", OliviaGlob.Paths.PathSimbESRI); + return false; + } + else + enumStyleGallery = styleGallery.get_Items(tipo + " Symbols", OliviaGlob.Paths.PathSimbESRI, ""); + } + else + err_st = "No se reconoce la simbología a aplicar"; + enumStyleGallery.Reset(); + estilo_gal = enumStyleGallery.Next(); + while (estilo_gal != null) + { + if (estilo_gal.Name == name_simbol) + { + break; + } + estilo_gal = enumStyleGallery.Next(); + } + if (estilo_gal != null) + { + if (modo == 0) + { + symbol = (ISymbol)estilo_gal.Item; + valor_unico.AddValue(valor_clase, "", symbol); + valor_unico.set_Label(valor_clase, estilo_gal.Name); + valor_unico.set_Symbol(valor_clase, symbol); + } + else if (modo == 1) + { + symbol = (ISymbol)estilo_gal.Item; + valor_unico.AddValue(valor_clase, "", symbol); + valor_unico.set_Label(valor_clase, estilo_gal.Name); + valor_unico.set_Symbol(valor_clase, symbol); + } + return true; + } + } + return true; + + } + catch (Exception) + { + return false; + } + } + + /* + * Carga la capa sobre la que se va a aplicar la simbologia extraida de la galería de estilos + * Modo = 0 para pintar según la simbología de VSM. Modo = 1 para pintar las rutas al finalizar el proceso de planificación. + */ + public bool carga_capa_galeria(string shape, int modo, out IFeatureCursor fcursor, out IFeature feat, out IFields campos, out IDisplayTable tabla_disp, out IGeoFeatureLayer geo_layer, out IStyleGallery styleGallery) + { + IFeatureLayer capa = null; + IStyleGalleryStorage styleStorage = null; + ESRI.ArcGIS.ArcMapUI.IMxDocument mx_doc; + IApplication app; + IMap map; + + if (modo == 0) + { + try + { + styleGallery = new ESRI.ArcGIS.Framework.StyleGalleryClass(); + styleStorage = (IStyleGalleryStorage)styleGallery; + if (!File.Exists(OliviaGlob.Paths.PathSimbVSM)) + { + err_st = string.Format("No se encuentra la galería de estilos de VSM en: {0}.\n Modifica el path en el archivo de configuración.", OliviaGlob.Paths.PathSimbVSM); + fcursor = null; + feat = null; + campos = null; + tabla_disp = null; + geo_layer = null; + styleGallery = null; + return false; + } + else + styleStorage.TargetFile = OliviaGlob.Paths.PathSimbVSM; + } + catch (Exception eexx) + { + MessageBox.Show(eexx.Message); + fcursor = null; + feat = null; + campos = null; + tabla_disp = null; + geo_layer = null; + styleGallery = null; + return false; + } + } + else if (modo == 1) + { + try + { + styleGallery = new ESRI.ArcGIS.Framework.StyleGalleryClass(); + styleStorage = (IStyleGalleryStorage)styleGallery; + if (!File.Exists(OliviaGlob.Paths.PathSimbESRI)) + { + err_st = string.Format("No se encuentra la galería de estilos de ESRI en: {0}.\n Modifica el path en el archivo de configuración.", OliviaGlob.Paths.PathSimbESRI); + fcursor = null; + feat = null; + campos = null; + tabla_disp = null; + geo_layer = null; + styleGallery = null; + return false; + } + else + styleStorage.TargetFile = OliviaGlob.Paths.PathSimbESRI; + } + catch (Exception eexx) + { + MessageBox.Show(eexx.Message); + fcursor = null; + feat = null; + campos = null; + tabla_disp = null; + geo_layer = null; + styleGallery = null; + return false; + } + } + else + { + err_st = "No se reconoce la simbología que hay que aplicar"; + fcursor = null; + feat = null; + campos = null; + tabla_disp = null; + geo_layer = null; + styleGallery = null; + return false; + } + try + { + app = ArcMap.Application; + mx_doc = (ESRI.ArcGIS.ArcMapUI.IMxDocument)(app.Document); + map = mx_doc.FocusMap; + //busca la capa de interés shape en el espacio de trabajo de ArcGIS + for (int i = 0; i < map.LayerCount; i++) + { + if (map.get_Layer(i).Name == shape) + { + capa = (IFeatureLayer)map.get_Layer(i); + break; + } + } + geo_layer = (IGeoFeatureLayer)capa; + //se recorre la tabla valor por valor para saber si ya se le ha asignado un color con su estilo de simbología úinico por valor (único por sector) + tabla_disp = (IDisplayTable)geo_layer; + fcursor = (IFeatureCursor)tabla_disp.SearchDisplayTable(null, false); + feat = fcursor.NextFeature(); + campos = fcursor.Fields; + } + catch (Exception) + { + err_st = "Error al aplicar simbología a los valores únicos."; + fcursor = null; + feat = null; + campos = null; + tabla_disp = null; + geo_layer = null; + styleGallery = null; + return false; + } + return true; + } + + /* + * Acrtualiza la vista cuando se aplica la simbología de representación de catografía + */ + public void actualiza_vista(IUniqueValueRenderer valor_unico, IDisplayTable tabla_disp, IGeoFeatureLayer geo_layer, int indice, int indice1) + { + ITable tabl = null; + bool es_txt; + ESRI.ArcGIS.ArcMapUI.IMxDocument mx_doc; + + try + { + valor_unico.ColorScheme = "Custom"; + valor_unico.UseDefaultSymbol = false; + tabl = (ITable)tabla_disp; + if (indice1 != -1) + es_txt = tabl.Fields.get_Field(indice1).Type == esriFieldType.esriFieldTypeString; + else + es_txt = tabl.Fields.get_Field(indice).Type == esriFieldType.esriFieldTypeString; + valor_unico.set_FieldType(0, es_txt); + geo_layer.Renderer = (IFeatureRenderer)valor_unico; + //actuliza la vista del mapa para que se visualice + mx_doc =(ESRI.ArcGIS.ArcMapUI.IMxDocument)(ArcMap.Application.Document); + mx_doc.UpdateContents(); + mx_doc.ActiveView.Refresh(); + } + catch (Exception) + { + MessageBox.Show("Error al actualizar la vista del mapa", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + public void add_valunic(IFeatureCursor fcursor, IFeatureLayer capa, out IUniqueValueRenderer valor_unico, int indice, int modo) + { + IFeature feat = null; + IColor color; + IRgbColor my_color = null; + ISymbol sym; + + try + { + feat = fcursor.NextFeature(); + valor_unico = new UniqueValueRendererClass(); + //se establecen estas propiedades antes de realizar la clasificación por valores únicos. + valor_unico.FieldCount = 1; + valor_unico.set_Field(0, sector); + + if (capa.FeatureClass.ShapeType == esriGeometryType.esriGeometryPolyline) + { + ISimpleLineSymbol simbolo = null; + //se aplica una estilo en la simbología + simbolo = new SimpleLineSymbolClass(); + if ((modo == 1) || (modo == 5)) + simbolo.Style = esriSimpleLineStyle.esriSLSDash; + else + simbolo.Style = esriSimpleLineStyle.esriSLSSolid; + simbolo.Width = 1.2; + valor_unico.DefaultSymbol = (ISymbol)simbolo; + valor_unico.UseDefaultSymbol = true; + + while (feat != null) + { + ISimpleLineSymbol simbologia = null; + simbologia = new SimpleLineSymbolClass(); + //simbologia.Style = esriSimpleLineStyle.esriSLSSolid; + if ((modo == 1) || (modo == 5)) + simbologia.Style = esriSimpleLineStyle.esriSLSDash; + else + simbologia.Style = esriSimpleLineStyle.esriSLSSolid; + simbologia.Width = 1; + + sym = (ISymbol)simbologia; + check_valunic(feat, valor_unico, sym, indice); + + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(feat); + + feat = fcursor.NextFeature(); + } + //Una vez que se sabe el número de valor únicos que existen en la tabla, se conoce el tamaño de la rampa de colores y se pueden asignar los colores a cada valor. + asigna_color(valor_unico, 1, 0); + } + else if ((capa.FeatureClass.ShapeType == esriGeometryType.esriGeometryPoint) || (capa.FeatureClass.ShapeType == esriGeometryType.esriGeometryMultipoint)) + { + ISimpleMarkerSymbol simbolo = null; + //se aplica una estilo en la simbología + simbolo = new SimpleMarkerSymbolClass(); + simbolo.Style = esriSimpleMarkerStyle.esriSMSCircle; + simbolo.Size = 2; + valor_unico.DefaultSymbol = (ISymbol)simbolo; + valor_unico.UseDefaultSymbol = true; + + while (feat != null) + { + ISimpleMarkerSymbol simbologia = null; + simbologia = new SimpleMarkerSymbolClass(); + simbologia.Style = esriSimpleMarkerStyle.esriSMSCircle; + simbologia.Size = 4; + simbologia.OutlineSize = 1; + color = new RgbColorClass(); + my_color = new RgbColor(); + my_color.Red = 0; + my_color.Blue = 0; + my_color.Green = 0; + color.RGB = my_color.RGB; + simbologia.OutlineColor = color; + + sym = (ISymbol)simbologia; + check_valunic(feat, valor_unico, sym, indice); + + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(feat); + + feat = fcursor.NextFeature(); + } + //Una vez que se sabe el número de valor únicos que existen en la tabla, se conoce el tamaño de la rampa de colores y se pueden asignar los colores a cada valor. + asigna_color(valor_unico, 0, 0); + } + else + { + return; + } + } + catch (Exception) + { + MessageBox.Show("Error al asignar un color a cada valor único de la capa " + capa.Name, "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + valor_unico = null; + } + } + + /* + * Comprueba si el valor unico existe. Si no existe se añade al array de valores unicos. + */ + public void check_valunic(IFeature feat, IUniqueValueRenderer valor_unico, ISymbol simbologia, int indice) + { + string valor_clase; + bool exist_valor; + + try + { + valor_clase = feat.get_Value(indice).ToString(); + //Se analiza si el valor ha sido añadido como valor único. Si no, se añade. + exist_valor = false; + for (int i = 0; i <= valor_unico.ValueCount - 1; i++) + { + if (valor_unico.get_Value(i) == valor_clase) + { + exist_valor = true; + break; //Si el valor se encuentra se sale del bucle. + } + } + //Si el valor (numero de sector) no se ha encontrado como valor_unico, significa que es nuevo y se añade. + if (exist_valor == false) + { + valor_unico.AddValue(valor_clase, sector, (ISymbol)simbologia); + valor_unico.set_Label(valor_clase, valor_clase); + valor_unico.set_Symbol(valor_clase, (ISymbol)simbologia); + } + } + catch (Exception) + { + MessageBox.Show("Error al crear el listado de valores únicos.", "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + /* + * Una vez se tiene todo el listado de valores únicos en el campo sectores, se aplica un color aleatorio a cada valor. + * Modo = 0 para elementos puntuales. Modo = 1 para elementos lineales + * Tipo = 0 para pintar aleatoriamente elementos puntuales y lineales. Tipo = 1 para pintar las capas de rutas con las flechas del sentido de la misma. + */ + public void asigna_color(IUniqueValueRenderer valor_unico, int modo, int tipo) + { + string atribut; + int color_val, seed = 0; + List color_list = null; + IColor color = null; + Random rnd = null; + ISimpleMarkerSymbol simb_pto = null; + ISimpleLineSymbol simb_line = null; + ILineSymbol simb_linea = null; + + try + { + color_list = new List(); + color = new RgbColorClass(); + for (int j = 0; j <= valor_unico.ValueCount - 1; j++) + { + atribut = valor_unico.get_Value(j); + if (atribut != "") + { + if (modo == 0) + { + simb_pto = (ISimpleMarkerSymbol)valor_unico.get_Symbol(atribut); + } + else if (modo == 1 && tipo == 0) + { + simb_line = (ISimpleLineSymbol)valor_unico.get_Symbol(atribut); + } + else + simb_linea = (ILineSymbol)valor_unico.get_Symbol(atribut); + + //Se crea un color aleatorio pos valor_unico. + color_val = 0; + while (true) + { + rnd = new Random(seed); + seed++; + + color_val = rnd.Next(0x00000000, 0x00FFFFFF); + if (color_list.Contains(color_val) == false) + { + color_list.Add(color_val); + break; + } + else + { + err_st = "El color ya ha sido asignado a otro conjunto de registros"; + } + } + //se aplica el color aleatorio al valor_unico correspondiente. + color.RGB = color_val; + + if (modo == 0) + { + simb_pto.Color = color; + valor_unico.set_Symbol(atribut, (ISymbol)simb_pto); + } + else if (modo == 1 && tipo == 0) + { + simb_line.Color = color; + valor_unico.set_Symbol(atribut, (ISymbol)simb_line); + } + else + { + simb_linea.Color = color; + simb_linea.Width = 1.5; + valor_unico.set_Symbol(atribut, (ISymbol)simb_linea); + } + } + } + } + catch (Exception) + { + err_st = "Error al asignar colores, para el pintado, al listado de valores únicos."; + } + } + + /* + * Duplica la capa que se pasa como argumento (si existe) en el mismo directorio en el que se encuentra la capa origen + */ + public string copia_capa(string capa) + { + string ext, copia; + + try + { + string[] list = Directory.GetFiles(OliviaGlob.Paths.DirData, capa + ".*"); + ext = System.IO.Path.GetExtension(list[0]); + copia = System.IO.Path.GetDirectoryName(list[0]) + "\\" + System.IO.Path.GetFileNameWithoutExtension(list[0]) + name_aux + ext; + if (!File.Exists(copia)) + { + foreach (string f in list) + { + if (System.IO.Path.GetExtension(f) == ".lock") + continue; + ext = System.IO.Path.GetExtension(f); + copia = System.IO.Path.GetDirectoryName(f) + "\\" + System.IO.Path.GetFileNameWithoutExtension(f) + name_aux + ext; + File.Copy(f, copia, false); + } + return copia; + } + return copia; + } + catch (Exception) + { + return null; + } + } + + /* + * Crea un shapefile de multipuntos. Cada registro contemplará todos los puntos que cumplen el filtro. + */ + public string crea_aux_pto(string ftclass, IQueryFilter filtro, out IGeometry geom) + { + string campo, nueva_capa = null; + int numm = 0, ind, val_campo; + IPoint[] array_pts = new IPoint[1]; + IFeature dd = null, registo_act, graba; + IFeatureCursor featureCursor; + IPoint point; + IPointCollection4 colec_ptos = new MultipointClass(); + IMultipoint puntos = new MultipointClass(); + IGeometryBridge geom_brid = new GeometryEnvironmentClass(); + ISpatialReference coor = null; + IFeatureClass fc_shape = null; + IFields campos = null; + IField2 camp = null; + IGeometryDef geom_def = null; + IFeatureWorkspace featws_shp; + IFieldsEdit campos_edit; + IFieldEdit2 camp_edit; + IGeometryDefEdit geom_defedit; + IWorkspaceEdit ws_shape; + IWorkspace ws; + IFeatureClass fc; + try + { + + IWorkspaceFactory wsf = new ShapefileWorkspaceFactoryClass(); + ws = wsf.OpenFromFile(OliviaGlob.Paths.DirData, 0); + fc = FunGDB.abre_ftclass(OliviaGlob.Paths.DirData, ftclass); + + featureCursor = fc.Search(filtro, false); + registo_act = graba = featureCursor.NextFeature(); + //se recorren todos los puntos que cumplen la consulta de atributos y se van recolectando en un array de puntos "pointArray" + while (registo_act != null) + { + numm++; + if (numm != 1) + System.Array.Resize(ref array_pts, numm); + point = new PointClass(); + point.PutCoords(registo_act.Shape.Envelope.XMin, registo_act.Shape.Envelope.YMin); + point.SpatialReference = registo_act.Shape.SpatialReference; + coor = registo_act.Shape.SpatialReference; + array_pts[numm - 1] = point; + + FunGDB.libera(registo_act); + + registo_act = featureCursor.NextFeature(); + } + //el array de puntos se copia a la coleccion de puntos "pointCollection" + geom_brid.AddPoints(colec_ptos, ref array_pts); + + featws_shp = (IFeatureWorkspace)ws; + //de la consulta que se desea realizar se extrae el campo y el valor que va a tener el registro de la nueva capa (el multipunto que cumple la consulta del filtro) + ind = filtro.WhereClause.IndexOf("="); + campo = filtro.WhereClause.Substring(0, ind); + val_campo = Convert.ToInt32(filtro.WhereClause.Substring(ind + 1)); + + //libera + FunGDB.libera(registo_act); + FunGDB.libera(featureCursor); + FunGDB.libera(graba); + FunGDB.libera(geom_brid); + + nueva_capa = fc.AliasName + name_aux; + try + { + ws_shape = (IWorkspaceEdit)featws_shp; + ws_shape.StartEditing(true); + ws_shape.StartEditOperation(); + + if (!File.Exists(ws.PathName + "\\" + nueva_capa + ext_shp)) + { + //la primera vez crea el campo de sector + campos = new FieldsClass(); + campos_edit = (IFieldsEdit)campos; + + camp = new FieldClass(); + camp_edit = (IFieldEdit2)camp; + camp_edit.Name_2 = "Shape"; + camp_edit.Type_2 = esriFieldType.esriFieldTypeGeometry; + + geom_def = new GeometryDefClass(); + geom_defedit = (IGeometryDefEdit)geom_def; + + geom_defedit.GeometryType_2 = esriGeometryType.esriGeometryMultipoint; + + geom_defedit.SpatialReference_2 = coor; + camp_edit.GeometryDef_2 = geom_def; + campos_edit.AddField(camp); + + camp = new FieldClass(); + camp_edit = (IFieldEdit2)camp; + camp_edit.Name_2 = campo; + camp_edit.Type_2 = esriFieldType.esriFieldTypeInteger; + camp_edit.Length_2 = 10; + campos_edit.AddField(camp); + + fc_shape = featws_shp.CreateFeatureClass(nueva_capa, campos, null, null, esriFeatureType.esriFTSimple, "Shape", ""); + } + else + fc_shape = featws_shp.OpenFeatureClass(nueva_capa); + //se crea una nuevo campo al que se le añade la geometría de la coleccion de puntos y el campo con elvalor extraido del filtro + dd = fc_shape.CreateFeature(); + puntos = (IMultipoint)colec_ptos; + puntos.SpatialReference = coor; + dd.Shape = puntos; + ind = fc_shape.FindField(campo); + dd.set_Value(ind, val_campo); + dd.Store(); + + ws_shape.StopEditOperation(); + ws_shape.StopEditing(true); + } + catch (Exception cexp2) + { + MessageBox.Show(cexp2.Message); + nueva_capa = null; + } + finally + { + FunGDB.libera(camp); + FunGDB.libera(campos); + FunGDB.libera(dd); + FunGDB.libera(fc_shape); + FunGDB.libera(fc); + //libera variables + } + geom = (IGeometry)array_pts[0]; + return nueva_capa; + + } + catch (Exception) + { + err_st = "Error a la hora de generar una capa de multipuntos a partir de la capa " + ftclass; + throw; + } + } + + /* + * Abre la capa de puntos de control y los pinta de modo que el punto inicial queda representado + * con un color verde, el bocadillo en naranja y el punto final será rojo. + */ + public void ptos_control(string path_capa) + { + int k = 0, ptos = -1, indice1; + bool exist_valor = false; + string dir_shp, shapefile, marco, label = null, valor_clase; + IFeatureWorkspace fw; + IWorkspaceFactory wsf; + IFeatureClass f_clase; + IFeatureLayer capa; + IGeoFeatureLayer geo_layer; + IDisplayTable tabla_disp; + IFeatureCursor fcursor; + IFeature feat; + IFields campos; + IUniqueValueRenderer valor_unico; + IColor color; + IRgbColor my_color; + ISimpleMarkerSymbol simb_pto, simbolo = null; + ESRI.ArcGIS.ArcMapUI.IMxDocument mx_doc; + IApplication app; + IMap map; + IStyleGalleryStorage styleStorage = null; + IStyleGallery styleGallery = new ESRI.ArcGIS.Framework.StyleGalleryClass(); + styleStorage = (IStyleGalleryStorage)styleGallery; + + IEnumStyleGalleryItem enumStyleGallery = null; + IStyleGalleryItem estilo_gal = null; + + dir_shp = System.IO.Path.GetDirectoryName(path_capa); + shapefile = System.IO.Path.GetFileNameWithoutExtension(path_capa); + wsf = new FileGDBWorkspaceFactoryClass(); + fw = (IFeatureWorkspace)wsf.OpenFromFile(dir_shp, 0); + //SE AÑADE AL MARCO DE DATOS PRINCIPAL LA CAPA DE ÁMBITOS PARA CREAR LA VISTA DEL MAPA. + f_clase = fw.OpenFeatureClass(shapefile);//crea .sr.lock + + capa = new FeatureLayer(); + capa.FeatureClass = f_clase; + capa.Name = shapefile; + geo_layer = (IGeoFeatureLayer)capa; + //se recorre la tabla valor por valor para saber si ya se le ha asignado un color con su estilo de simbología úinico por valor (único por sector) + tabla_disp = (IDisplayTable)geo_layer; + fcursor = (IFeatureCursor)tabla_disp.SearchDisplayTable(null, false);//crea .rd.lock + campos = fcursor.Fields; + indice1 = campos.FindField(secuencia); + + valor_unico = new UniqueValueRendererClass(); + simb_pto = new SimpleMarkerSymbolClass(); + simbolo = new SimpleMarkerSymbolClass(); + //se establecen estas propiedades antes de realizar la clasificación por valores únicos. + valor_unico.FieldCount = 1; + valor_unico.set_Field(0, secuencia); + //se aplica una estilo en la simbología + simbolo.Style = esriSimpleMarkerStyle.esriSMSCircle; + simbolo.Size = 2; + valor_unico.DefaultSymbol = (ISymbol)simbolo; + valor_unico.UseDefaultSymbol = true; + //se identifica el numero de pountos de control que se ha programado para que, + //en lugar de recorrer todos los elementos de la tabla, vaya directamente al punto inicial, punto bocadillo y punto final. + if (OliviaGlob.tip_oliv == OliviaDef.GeneralDef.TiposOliv.OlivLimp) + { + ptos = OliviaGlob.inidlg.lim.limp.n_ptsctrl; + } + else if (OliviaGlob.tip_oliv == OliviaDef.GeneralDef.TiposOliv.OlivResi) + { + ptos = OliviaGlob.inidlg.reco.reco.n_ptsctrl; + } + int repe = ptos - 3; + + feat = fcursor.NextFeature(); + + bool exist_symbol=false; + + if (!File.Exists(OliviaGlob.Paths.PathSimbVSM)) + { + err_st = string.Format("No se encuentra la galería de estilos de VSM en: {0}.\n Modifica el path en el archivo de configuración.", OliviaGlob.Paths.PathSimbVSM); + return; + } + else + { + exist_symbol = true; + styleStorage.TargetFile = OliviaGlob.Paths.PathSimbVSM; + enumStyleGallery = styleGallery.get_Items("Marker Symbols", OliviaGlob.Paths.PathSimbVSM, ""); + } + + ISymbol symbol; + string name_simbol; + + while (feat != null) + { + valor_clase = feat.get_Value(indice1).ToString(); + color = new RgbColorClass(); + + for (int i = 0; i <= valor_unico.ValueCount - 1; i++) + { + if (valor_unico.get_Value(i) == valor_clase) + { + exist_valor = true; + break; //Si el valor se encuentra se sale del bucle. + } + } + //Si el valor (numero de sector) no se ha encontrado como valor_unico, significa que es nuevo y se añade. + if (exist_valor == false) + { + simb_pto = new SimpleMarkerSymbolClass(); + symbol=null; + if(exist_symbol && k!=1) + { + if (k == 0) + { + name_simbol = "inicio"; + label = "Inicio"; + } + else + { + name_simbol = "final"; + label = "Fin"; + } + + enumStyleGallery.Reset(); + estilo_gal = enumStyleGallery.Next(); + while (estilo_gal != null) + { + if (estilo_gal.Name == name_simbol) + { + break; + } + estilo_gal = enumStyleGallery.Next(); + } + if (estilo_gal != null) + { + symbol = (ISymbol)estilo_gal.Item; + } + else + symbol=null; + if(symbol!=null && k!=0) + k=-1; + } + if (symbol == null) //o no exist symbol o k==1 o ha dado fallo lo anterior + { + simb_pto.Style = esriSimpleMarkerStyle.esriSMSCircle; + simb_pto.Size = 4; + simb_pto.OutlineSize = 1; + color = new RgbColorClass(); + my_color = new RgbColor(); + //se asigna color al punto inicial + if (k == 0) + { + my_color.Red = 0; + my_color.Blue = 0; + my_color.Green = 255; + label = "Inicio"; + } + //se asigna color al punto bocadillo + else if (k == 1) + { + my_color.Red = 0; + my_color.Blue = 255; + my_color.Green = 0; + label = "Bocadillo"; + } + //se asigna color al punto final + else + { + my_color.Red = 255; + my_color.Blue = 0; + my_color.Green = 0; + label = "Fin"; + k = -1; + } + + color.RGB = my_color.RGB; + simb_pto.Color = color; + symbol = (ISymbol)simb_pto; + } + + valor_unico.AddValue(valor_clase, secuencia, symbol); + valor_unico.set_Label(valor_clase, label); + valor_unico.set_Symbol(valor_clase, symbol); + } + //libera + if (feat != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(feat); + //k será -1 cuando haya procesado un pto final, por loque se quiere ir al siguiente registro de la tabla sin hacer saltos + //si repe >1 quiere decir que hay más de tres ptos de control por lo que se pasarán los registros intermedios entre en pto inicial y el bocadillo + //y entre el pto bocadillo y el pto final. Así se evita procesar innecesariamente los ptos intermedios. + //si repe no es >1 basta con ir al siguiente registro ya que significa que tiene 3 ptos de control y siempre irán inicio.bocadillo y fin, por lo que todos los registros interesan + + if ((k==1) && (repe > 0)) + { + for (int i = 0; i < repe; i++) + { + feat = fcursor.NextFeature(); + } + } + feat = fcursor.NextFeature(); + + k++; + } + app = ArcMap.Application; + mx_doc = (ESRI.ArcGIS.ArcMapUI.IMxDocument)(app.Document); + map = mx_doc.FocusMap; + if (mx_doc.Maps.Count > 1) + { + marco = OliviaGlob.df_princip; + + for (int r = 0; r < mx_doc.Maps.Count; r++) + { + map = mx_doc.Maps.get_Item(r); + if (map.Name == marco) + break; + } + } + map.AddLayer(capa); + //Si no ha utilizado una rampa de color predefinida en un estilo, utilice "Custom". + //De lo contrario, utilice el nombre de la rampa de color que ha seleccionado. + actualiza_vista(valor_unico, tabla_disp, geo_layer, indice1, -1); + + //libera + if (campos != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(campos); + if (fcursor != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(fcursor); + if (f_clase != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(f_clase); + if (capa != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(capa); + } + + /** + * Mira a ver si existe featureclass y pregunta si se quiere sobreescribir, en su caso + */ + private bool comprueba_sobreescribe(string path_gdb, string ftclass_nomb, bool fuerza_sobreescribe) + { + ///////////////////////////////////////// + //mira a ver si existe y se quiere sobreescribir + IWorkspace2 ws_gdb_; + IFeatureWorkspace fws; + IDataset data_delete; + bool sal_mal = true; + DialogResult dlg_result; + + ws_gdb_ = (IWorkspace2)FunGDB.abre_ws(path_gdb); + dlg_result = DialogResult.Cancel; + + if (ws_gdb_.get_NameExists(esriDatasetType.esriDTFeatureClass, ftclass_nomb)) + { + if (!fuerza_sobreescribe)//si no se fuerza desde fuera, se pregunta + { + dlg_result = MessageBox.Show("Ya existe una capa con el mismo nombre, ¿desea sobreescribir? " + + "En caso contrario, se perderá el nuevo cálculo", "Olivia", MessageBoxButtons.YesNo, MessageBoxIcon.Question); + } + if (fuerza_sobreescribe || (dlg_result == DialogResult.Yes)) + { + fws = (IFeatureWorkspace)ws_gdb_; + data_delete = (IDataset)fws.OpenFeatureClass(ftclass_nomb); + if (data_delete.CanDelete()) + { + try + { + data_delete.Delete(); + sal_mal = false; + } + catch + { + sal_mal = true; + err_st = "No se puede borrar la capa a sobreescribir"; + } + } + else + { + sal_mal = true; + err_st = "No se puede borrar la capa a sobreescribir"; + } + } + else + { + sal_mal = true; + err_st = "Se ha cancelado la importación"; + } + if (sal_mal) + { + //no quiere sobreescribir o ha habido error, sale + return false; + } + } + return true; + } + + /** + * Importa a una geodatabase existente el shapefile indicado. Descodificando el nombre de entrada del shapafile para asignarselo + * a un grupo de la GDB según el tratamiento y añadiendo una capa con el nobre de los ámbitos que intervienen. + */ + public bool importa(string path_shape, string path_gdb, out string name, out string dir_shp, int modo) + { + int ind; + string tratamiento = null, ambitos = null, shapefile, prefijo; + IWorkspaceFactory wsfact = null, wsf_shp = null; + IWorkspaceName wsn_shp, wsn_gdb; + IDataset data_shp, data_gdb = null; + IDatasetName dn_shp = null, dn_gdb = null, dname_gdb; + IWorkspace ws_shp, ws_gdb; + IName n_shp, n_gdb; + IFeatureClassName fcn_shp, fcn_gdb; + IFeatureDatasetName fdn_gdb; + IFeatureDataConverter convertidor = null; + IEnumInvalidObject invalido = null; + IUniqueValueRenderer valor_unico; + bool reco_o_limp_con_instala = true; + bool reco_tramos = false; + IGeometryDef geom_dest = null; + IFeatureClass fc = null; + + int NIMPORT; + string[] noms_shp; + string[] noms_gdb; + int i; + + dir_shp = ""; + name = null; + + //////////////////////////////// + //limpia la vista para poder pintar los resultados + OliviaGlob.mapa.limpia_vista(); + + ///////////////////////////////////////// + dir_shp = System.IO.Path.GetDirectoryName(path_shape); + shapefile = System.IO.Path.GetFileNameWithoutExtension(path_shape); + ind = shapefile.IndexOf("_", 0); + prefijo = shapefile.Substring(ind + 1, 1); + + //decodifica el nombre del shapefile para asignarle el correspondiente nombre en la GDB a la que se importa el shape + if (prefijo == "T") + { + OliviaGlob.gdb_limp.decode_gdb(shapefile, out tratamiento, out ambitos); + } + else if (prefijo == "F") + { + OliviaGlob.gdb_reco.decode_gdb(shapefile, out tratamiento, out ambitos); + } + else + { + err_st = string.Format("Nombre del archivo a importar erróneo. No se reconoce el prefijo introducido: {0}", prefijo); + return false; + } + + reco_o_limp_con_instala = (prefijo == "F") || + ((prefijo == "T") && ((OliviaGlob.inidlg.lim.limp.coords_instala[0] != 0) && (OliviaGlob.inidlg.lim.limp.coords_instala[1] != 0))); + reco_tramos = File.Exists(System.IO.Path.Combine(dir_shp, shapefile + name_ruta2 + ext_shp)); + ///////////////////////////////////////// + //crea el dataset si no existe + ISpatialReferenceFactory3 spatialReferenceFactory = (ISpatialReferenceFactory3)new SpatialReferenceEnvironment(); + ISpatialReference spref = (ISpatialReference)spatialReferenceFactory.CreateProjectedCoordinateSystem(OliviaGlob.coorsys_in); + if(! FunGDB.crea_ftdataset(path_gdb, tratamiento, spref)) + { + err_st = "Error al crear el Dataset " + tratamiento; + return false; + } + + ///////////////////////////////////////// + //pregunta a ver si se quiere ese nombre u otro + bool replace = false; + string ambitos_aux = FunGDB.save_ftcls("Guardar Feature Class como...",OliviaGlob.inidlg.Handle.ToInt32(), + path_gdb + "\\" + tratamiento + "\\" + ambitos, out replace); + if(ambitos_aux!=null) + ambitos=System.IO.Path.GetFileNameWithoutExtension(ambitos_aux); + + ///////////////////////////////////////// + //todo ok, se pone a importar + name = ambitos; + path_import = path_gdb + "\\" + tratamiento + "\\" + ambitos; + + if(modo==(int)ModsImport.ImportSec1) //sectoriza + { + NIMPORT=2; + noms_shp = new string[NIMPORT]; + noms_gdb = new string[NIMPORT]; + noms_shp[0]=shapefile; + noms_gdb[0]=ambitos; + noms_shp[1]=shapefile + name_aux; + noms_gdb[1]=ambitos + name_sect; + } + else if(modo==(int)ModsImport.ImportPlan1) //planifica + { + if (reco_o_limp_con_instala) + NIMPORT = 6; + else + NIMPORT=5; + if (reco_tramos) + NIMPORT = 7; + noms_shp = new string[NIMPORT]; + noms_gdb = new string[NIMPORT]; + noms_shp[0]=shapefile; + noms_gdb[0]=ambitos; + noms_shp[1]=shapefile + name_aux; + noms_gdb[1]=ambitos + name_sect; + noms_shp[2]=shapefile + name_control; + noms_gdb[2]=ambitos + name_control_out; + noms_shp[3]=shapefile + name_ruta; + noms_gdb[3] = ambitos + name_ruta_out; + noms_shp[4] = shapefile + name_ruta_aux; + noms_gdb[4] = ambitos + name_ruta_out + name_aux; + if (reco_o_limp_con_instala) + { + noms_shp[5] = shapefile + name_instal; + noms_gdb[5] = ambitos + name_inst_out; + } + if (reco_tramos) + { + noms_shp[6] = shapefile + name_ruta2; + noms_gdb[6] = ambitos + name_ruta2_out; + } + } + else + { + name=null; + return false; + } + + try + { + ///////////////////////////////////////// + //para la capa _sector en la que están las entidades unidas, para la maquetación + valor_unico = pinta_sectores(dir_shp, shapefile, 0); + if (valor_unico == null) + return false; + if (!une_sectores(shapefile, valor_unico)) + return false; + + wsfact = new FileGDBWorkspaceFactoryClass(); + wsf_shp = new ShapefileWorkspaceFactoryClass(); + ws_shp = wsf_shp.OpenFromFile(dir_shp, 0); + ws_gdb = wsfact.OpenFromFile(path_gdb, 0); + + // castea espacios de trabajo a IDataset para poder conseguir el nombre del objeto. + data_shp = (IDataset)ws_shp; + data_gdb = (IDataset)ws_gdb; + n_shp = data_shp.FullName; + n_gdb = data_gdb.FullName; + wsn_shp = (IWorkspaceName)n_shp; + + wsn_gdb = (IWorkspaceName)n_gdb; + + ///////////////////////////////////////// + //se embucla para hacer todas las importaciones necesarias + for(i=0;i 0) + { + amb_gdb[(int)LimpiezaDef.AmbitsTra.AmbEjeCalle] = true; + } + //mira a ver si hay el resto de capas y tienen entidades + for (int i = (int)LimpiezaDef.AmbitsTra.AmbBordLibreMec; i < (int)LimpiezaDef.AmbitsTra.AmbN; i++) + { + consulta = LimpiezaDef.filtro_str[i]; + if (path_class == null) //como tradicionalmente, hay una gdb y los nombres de las feature classes del archivo de configuración + { + ftclass = LimpiezaDef.ftclass[i]; + numero_lin = FunGDB.cuenta_filas_ftclass(OliviaGlob.Paths.PathGdbGen, ftclass, consulta); + } + else + numero_lin = FunGDB.cuenta_filas_ftclass(path_class, consulta); + + if (numero_lin > 0) + { + amb_gdb[i] = true; + } + } + + return amb_gdb; + } + + /* + * Lee la capa que se ha seleccionzdo de limpieza y se comprueba que los campos que se han editado corresponden con la capa + * (es decir, se puede leer la capa con los campos configurados) + */ + public bool comprueba_campos_limp(Limpieza limp) + { + int ind_campo; + string[] camps; + int i; + ITable tabla; + int NCAMPS = 2; + + if(path_class!=null) + tabla = FunGDB.dame_tabla_clase(path_class); + else + tabla = FunGDB.dame_tabla_clase(OliviaGlob.Paths.PathGdbGen, LimpiezaDef.Capas.ftclass_limp_mec); + + //se comprueba que existen todos los campos que se han configurado en la capa seleccionada para la recogida + camps = new string[NCAMPS]; + camps[0] = LimpiezaDef.Campos.consulta_entidad; + camps[1] = LimpiezaDef.Campos.consulta_mecan; + + for (i = 0; i < NCAMPS; i++) + { + ind_campo = tabla.FindField(camps[i]); + if (ind_campo == -1) + { + limp.err_st = "No se encuentra el campo " + camps[i]; + break; + } + } + if (i < NCAMPS) + return false; + return true; + } + + /** + * Devuelve qué consulta hay que hacer, el filtro de los ámbitos y el nombre de la clase donde están + */ + public string dame_consul_amb_clas(Limpieza limp, out string ambitos, out string nom_class) + { + string consulta, orstr; + + consulta = null; + ambitos = ""; + orstr = null; + nom_class = null; + for (int i = 0; i < limp.amb_tra_sel.Length; i++) + { + if (limp.amb_tra_sel[i]) + { + if(nom_class==null) + nom_class = LimpiezaDef.ftclass[i]; + consulta = consulta + orstr + "(" + LimpiezaDef.filtro_str[i] + ")"; + ambitos = ambitos + i.ToString("00"); + if (orstr == null) + orstr = " OR "; + } + } + ambitos = "_A" + ambitos; + if (consulta == "()") + consulta = ""; + + return consulta; + } + + /** + * Descodifica el nombre del sahpefile de entrada identificando el tipo de tratamiento y los ámbitos de trabajo + */ + public void decode_gdb(string shapefile, out string tratamiento, out string ambitos) + { + int aux, auxl, mbito, indice, tratamient; + string auxili, ambi, auxi; + + indice = shapefile.IndexOf("_"); + indice = indice + 2;//para saltarse la T que va antes del identificador del tipo de tratamiento + auxili = shapefile.Substring(indice, 2); + tratamient = Convert.ToInt32(auxili); + tratamiento = LimpiezaDef.tto_gdb[tratamient]; + OliviaGlob.cartela_tto = LimpiezaDef.tipos_tto_str[tratamient]; + indice = shapefile.IndexOf("_", indice); + indice = indice + 2;//para saltarse la A que va antes del identificador de los ámbitos que intervienen + aux = shapefile.IndexOf("_", indice); + auxl = aux - indice; + auxi = ""; + while (auxl > 0) + { + ambi = shapefile.Substring(indice, 2); + mbito = Convert.ToInt32(ambi); + indice = indice + 2; + auxl = auxl - 2; + if (auxl != 0) + auxi = auxi + LimpiezaDef.ambs_gdb[mbito] + "_"; + else + auxi = auxi + LimpiezaDef.ambs_gdb[mbito]; + } + ambitos = LimpiezaDef.preftto_gdb[tratamient] + "_" + auxi; + + //quita los espacios + tratamiento = tratamiento.Replace(" ", "_"); + ambitos = ambitos.Replace(" ", "_"); + + auxi = shapefile; + //para poner la zona cuando es seleccionada + for (int i = 0; i < 2; i++) + { + indice = auxi.LastIndexOf("_"); + auxi = auxi.Substring(0, indice); + } + auxl = indice - aux; + if (auxl <= 0) + return; + auxili = shapefile.Substring(aux, auxl); + ambitos = ambitos + auxili; + + } + + /** + * Exporta a shapefile las red navegable y los ámbitos de trabajo seleccionados. El archivo de salida será el nombre del tratamiento escogido. + */ + public bool exporta(Limpieza limp, bool comp_planif) + { + int cont=0; + string fecha_hora = "", ambitos = ""; + string consulta = ""; + IQueryFilter filtro = null; + IGeometry geom_zonniv = null; + IGeometry geom_ambits = null; + string nomb_class_limp = null; + IDatasetName datasetn=null; + bool hayzonniv = false; + + if (limp == null) + { + err_st = "No se han recibido correctamente los datos para la exportación"; + return false; + } + + ///////////////////////////////////////////// + //lee ambitos de trabajo + consulta = dame_consul_amb_clas(limp, out ambitos, out nomb_class_limp); + if (consulta == null) + { + err_st = "Error al configurar consulta"; + return false; + } + + ///////////////////////////////////////////// + //si va a planificar antes comprueba que estén las columnas de sector y secuencia + if (comp_planif) + { + if (!comprueba_planif(path_class, nomb_class_limp)) + { + err_st = "No existen en la tabla " + path_class + " columna de SECTOR y/o SECUENCIA, necesarias para planificar"; + return false; + } + } + //si path_secto!=null, hay que actualizar la sectorización, si ==null, en los datos de entrada ya hay sectorización + //y secuencia y se van a exportar + ////////////////////////////////////////////////// + + if (path_class == null) //como tradicionalmente, hay una gdb y los nombres de las feature classes del archivo de configuración + { + if(nomb_class_limp==OliviaGlob.Capas.ftclass_ejes) + cont = FunGDB.cuenta_filas_ftclass(OliviaGlob.Paths.PathGdbNw, nomb_class_limp, consulta); + else + cont = FunGDB.cuenta_filas_ftclass(OliviaGlob.Paths.PathGdbGen, nomb_class_limp, consulta); + } + else + cont = FunGDB.cuenta_filas_ftclass(path_class, consulta); + + if (cont <= 0) + { + err_st = "No existen ámbitos que cumplan las condiciones introducidas para la exportación "+consulta; + return false; + } + + ///////////////////////////////////////////// + //consigue el polígono común a las dos geometrías: zonas y niveles + //si no hay zonas ni niveles, es null + geom_zonniv = FunGDB.intersec_geoms(limp.geom_zonas, limp.geom_niveles); + //además, le quita las restricciones + if (geom_zonniv != null && limp.geom_rest_acces != null) + { + geom_zonniv = FunGDB.diferencia_geoms(geom_zonniv, limp.geom_rest_acces); + } + + if (geom_zonniv != null && geom_zonniv.IsEmpty) + { + err_st = "Error, la geometría resultado de intersecar zonas, niveles y restricciones de circulación está vacía"; + return false; + } + if (geom_zonniv == null && comp_planif && (path_secto != null)) + { + //en este caso coge la geom de la secto + //obtiene el polígono que engloba los ámbitos + geom_zonniv = FunGDB.dame_geom_envelope(path_secto); + if (geom_zonniv == null) + { + err_st = "Error al obtener polígono de datos"; + return false; + } + hayzonniv = false; + } + if (geom_zonniv == null && nomb_class_limp == OliviaGlob.Capas.ftclass_ejes) + { + err_st = "Al emplear ejes de calle como ámbitos es necesario indicar polígono de exportación"; + return false; + } + + ///////////////////////////////////////////// + //crea el filtro en base a las consultas configuradas + filtro = crea_filtro(limp, nomb_class_limp, consulta, geom_zonniv); + if (filtro == null) + { + err_st = "Error al crear el filtro para la exportación"; + return false; + } + + ///////////////////////////////////////////// + //se consigue el tiempo en este instante para añadirlo a los nombres de los archivos de salida (shapefiles) + fecha_hora = DateTime.Now.ToString("yyyyMMdd_Hmmss"); + + ///////////////////////////////////////////// + //exporta los ámbitos + if (!exporta_data(limp, filtro, nomb_class_limp, ambitos, fecha_hora, out datasetn)) + { + err_st = "Error al exportar data. "+err_st; + return false; + } + + OliviaGlob.Paths.PathData = OliviaGlob.Paths.DirData + datasetn.Name; + + //hace intersecciones espaciales en caso de ámbitos lineales para quitar los que tienen más parte fuera de la zona que dentro + if (geom_zonniv != null && (limp.tipo_tto < (int)LimpiezaDef.TiposTto.TtoPapeVaci) && hayzonniv) + { + if (!quita_amb_sobresalen(OliviaGlob.Paths.PathData, geom_zonniv,0.4)) + { + err_st = "Error al quitar los ámbitos que sobresalen"; + return false; + } + } + + //quita los ámbitos que caen en la zona de restricciones, si es que no había zonas y no se ha quitado ya + if (geom_zonniv == null && limp.geom_rest_acces != null) + { + if (!quita_amb_restric(OliviaGlob.Paths.PathData, limp.geom_rest_acces, (limp.tipo_tto < (int)LimpiezaDef.TiposTto.TtoPapeVaci))) + { + err_st = "Error al quitar los ámbitos en zona de restricción"; + return false; + } + } + + //comprueba que sigue habiendo ámbitos exportados + cont = FunGDB.cuenta_filas_ftclass(OliviaGlob.Paths.PathData, ""); + if (cont <= 0) + { + err_st = "No existen ámbitos que cumplan las condiciones geométricas introducidas"; + return false; + } + + //ahora si está en modo planificación exporta la sectorización + if (comp_planif && (path_secto!=null)) + { + if (!actualiza_secto(OliviaGlob.Paths.PathData, path_secto)) + { + err_st = "Error al exportar campos de SECTOR y/o SECUENCIA de la capa "+ path_secto + " " + err_st; + return false; + } + } + + /////////////////////////////////////////////////////////////////////////// + //obtiene el polígono que engloba los ámbitos + geom_ambits = FunGDB.dame_geom_envelope(OliviaGlob.Paths.PathData); + if (geom_ambits == null) + { + err_st = "Error al obtener polígono de datos"; + return false; + } + + /////////////////////////////////////////////////////////////////////////// + //amplia el poligono para englobar las instalaciones + if (limp.coords_instala[0] != 0 && limp.coords_instala[1] != 0) + { + //hay instalación + geom_ambits=FunGDB.amplia_geom(geom_ambits, limp.coords_instala[0], limp.coords_instala[1]); + + //comprueba, si hay restricciones de circulación, que la instalación no está en ellas + if (limp.geom_rest_acces != null) + { + if (FunGDB.is_pto_in_geom(limp.coords_instala[0], limp.coords_instala[1], limp.geom_rest_acces)) + { + err_st = "Error, la instalación sal/lleg está en la zona restringida a la circulación"; + return false; + } + } + } + + /////////////////////////////////////////////////////////////////////////// + //exporta la red navegable + if (!exporta_nw(geom_ambits, limp.geom_rest_acces,limp.rest_circ[limp.tipo_tto], fecha_hora, out datasetn)) + { + return false; + } + + //guarda los nombres del shape + OliviaGlob.Paths.PathNW = OliviaGlob.Paths.DirData + datasetn.Name; + + return true; + } + + /* + * Dado un nombre de featureclass, una consulta y una geometría, interseca entre un poligono dado (geom) y una capa lineal (fc1) + */ + public IQueryFilter dame_filt_inter(Limpieza limp, string ftclass, string consulta, IGeometry geom) + { + string dir = null; + IFeatureClass fc = null; + IQueryFilter fil= null; + + if (ftclass == OliviaGlob.Capas.ftclass_ejes) + dir = OliviaGlob.Paths.PathGdbNw; + else if (path_class == null) + dir = OliviaGlob.Paths.PathGdbGen; + + if (dir != null) + fc = FunGDB.abre_ftclass(dir, ftclass); + else + fc = FunGDB.abre_ftclass(path_class); + + if (fc == null) + return null; + + fil=base.dame_filt_inter(fc, consulta, geom); + FunGDB.libera(fc); + + return fil; + } + + /** + * Realiza las intersecciones espaciales de los ámbitos + */ + public IQueryFilter crea_filtro(Limpieza limp, string nomb_class, string consulta, IGeometry geom1) + { + IQueryFilter filtro; + + //crea el filtro espacial y el añadido de consulta de atributos si fuera necesario + filtro = dame_filt_inter(limp,nomb_class, consulta, geom1); + if (filtro == null) + { + err_st = "Error al intersecar el ámbito de limpieza con la zona de estudio"; + return null; + } + + //FALTA REDEFINIR - elena jun 18 + //------------------------------------------------------------------------------------------------------------------- + //Cuando se trate del vaciado de papeleras habrá que verificar si está marca el checkbox que indica si sólo van a recogerse los que superen el umbral de carga. + //De modo que la secotrizacion y la planificacion se realizará sólo sobre los contenedores que superan un porcetaje de carga en la basura. + //Se conocen esos contenedores por el nombre de un campo que indicará si SI(hay que ir a recogerlos) o NO (no tienen suficiente carga y se pueden recoger en otro momento) + if ((limp.tipo_tto == (int)LimpiezaDef.TiposTto.TtoPapeVaci) && (limp.umbral_reco_conten == true)) + { + if (filtro.WhereClause == "") + filtro.WhereClause = carga_conten + " >= " + limp.umbral_basura; + else + filtro.WhereClause = "(" + filtro.WhereClause + ") AND (" + carga_conten + " >= " + limp.umbral_basura + ")"; + } + + return filtro; + } + + + /** + * Devuelve el string a concatenar en el nombre del path dependiendo de los polígonos seleccionados (zonas, turnos... etc) + */ + public string dame_str_poligs(Limpieza limp) + { + string str = ""; + + if (limp.text_niv != "" && limp.geom_niveles != null) + str += "_N" + limp.text_niv; + if(limp.text_zon!="" && limp.geom_zonas!=null) + str += "_Z" + limp.text_zon; + if (limp.text_restr != "" && limp.geom_rest_acces != null) + str += "_R" + limp.text_restr; + + return str; + } + + /** + * Exporta los ámbitos de la gdb a un shape en datasetname + */ + public bool exporta_data(Limpieza limp, IQueryFilter filtro, string nomb_class, string ambitos, string fecha_hora, out IDatasetName shp_data_name) + { + string name="", err_str=""; + string dir = null; + IDatasetName shp_dsn = null; + + shp_data_name = null; + + //Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp + name = name_export_amb + "T" + limp.tipo_tto.ToString("00") + ambitos + dame_str_poligs(limp) + "_" + fecha_hora + ext_shp; + + if (nomb_class == OliviaGlob.Capas.ftclass_ejes) + dir = OliviaGlob.Paths.PathGdbNw; + else if (path_class == null) + dir = OliviaGlob.Paths.PathGdbGen; + + if (dir == null) + { + dir = path_class; + nomb_class = null; + } + + inicia_coords(dir, nomb_class); + + if (!FunGDB.exporta(dir, nomb_class, OliviaGlob.Paths.DirData, name, filtro, out shp_dsn, out err_str)) + { + err_st = err_str; + return false; + } + + shp_data_name = (IDatasetName)shp_dsn; + return true; + } + } +} diff --git a/OliviaAddIn/DatosGDBReco.cs b/OliviaAddIn/DatosGDBReco.cs new file mode 100644 index 0000000..bd20b31 --- /dev/null +++ b/OliviaAddIn/DatosGDBReco.cs @@ -0,0 +1,627 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using ESRI.ArcGIS.Geometry; +using ESRI.ArcGIS.Geodatabase; +using ESRI.ArcGIS.GeoDatabaseUI; +using ESRI.ArcGIS.Carto; +using System.Windows.Forms; +using ESRI.ArcGIS.esriSystem; +using System.IO; +using ESRI.ArcGIS.DataSourcesGDB; +using ESRI.ArcGIS.DataSourcesFile; + +namespace OliviaAddIn +{ + /** + * @file DatosGDBReco.cs + * Clase con funciones para lectura de GDB relacionado con la recogida de residuos. + * Contiene definiciones y funciones necesarias para exportar los datos de GDB a SHP, y viceversa + * concretados con las opciones de configuración de la recogida de residuos. + */ + /** + * Clase con funciones para lectura de GDB relacionado con la recogida de residuos. + * Contiene definiciones y funciones necesarias para exportar los datos de GDB a SHP, y viceversa + * concretados con las opciones de configuración de la recogida de residuos. + */ + public class DatosGDBReco : DatosGDB + { + //************************************************************************************* + //Variables + /** + * Otro tipo de fracción de recogida de basuras + */ + public string fra_otra = ""; + /** + * otro tipo de carga en la recogida de basuras + */ + public string carg_otra = ""; + + //variables de la GDB de contenedores + public IWorkspaceFactory wsf_gdb_rec; + public IWorkspace gdb_ws_rec; + public IDataset gdb_data_rec; + public IName name_gdb_rec; + public IWorkspaceName name_gdb_ws_rec; + public IFeatureWorkspace feat_ws_rec; + //variables de la capa de turnos + public IWorkspaceFactory wsf_turn; + public IWorkspace ws_turn; + public IDataset data_turn; + public IName name_turn; + public IWorkspaceName name_ws_turn; + public IFeatureWorkspace feat_ws_turn; + //************************************************************************************* + //Constructor + public DatosGDBReco() + { + } + //************************************************************************************* + //Métodos + /* + * Lee la capa que se ha seleccionzdo de recogida de residuos y se comprueba que los campos que se han editado corresponden con la capa (es decir, se puede leer la capa con los campos configurados) + */ + public bool lee_capa_recogida(Recogida reco) + { + int ind_campo; + string[] camps; + int i; + int NCAMPS = 6; + + ITable tabla_recog = FunGDB.dame_tabla_clase(path_class); + + //se comprueba que existen todos los campos que se han configurado en la capa seleccionada para la recogida + camps = new string[NCAMPS]; + camps[0]=RecogidaDef.campos_def.cons_id; + camps[1] = RecogidaDef.campos_def.cons_fracc; + camps[2] = RecogidaDef.campos_def.cons_nomrec; + camps[3] = RecogidaDef.campos_def.cons_lateral; + camps[4] = RecogidaDef.campos_def.cons_uds; + camps[5] = RecogidaDef.campos_def.cons_kgrec; + for (i = 0; i < NCAMPS; i++) + { + if ((i == (NCAMPS-1)) && (reco.rec_kgrec_cont != 0)) + continue; + ind_campo = tabla_recog.FindField(camps[i]); + if (ind_campo == -1) + { + reco.err_st = "No se encuentra el campo "+ camps[i]; + break; + } + } + if (i < NCAMPS) + return false; + return true; + } + + /* + * A partir de los datos leidos de la capa de recogida se rellena el desplegable de fracción a partir de los datos existentes en la capa. + */ + public void lee_frac_gdb(Recogida reco) + { + string[] valores; + int err=0; + int i, j, k; + bool encontrado; + + valores = FunGDB.dame_valunic_consulta(path_class, RecogidaDef.campos_def.cons_fracc, "", out err); + + //se redimensionan los arrays de nuevo por si se ha pinchado varias veces en el botón de leer tabla + System.Array.Resize(ref RecogidaDef.tipos_fracc_str, (int)RecogidaDef.TiposFracción.N - 1); + System.Array.Resize(ref reco.tipos_fracc_bool, (int)RecogidaDef.TiposFracción.N - 1); + + for (i = 0; i < valores.Length; i++) + { + //para que ponga '-' si es un campo vacío + if (valores[i] == "") + valores[i] = "-"; + + encontrado = false; + for (j = 0; j < (int)RecogidaDef.TiposFracción.N - 1; j++) + { + if (RecogidaDef.tipos_fracc_str[j] == valores[i]) + { + reco.tipos_fracc_bool[j] = true; + encontrado = true; + break; + } + } + if (encontrado == false) + { + System.Array.Resize(ref RecogidaDef.tipos_fracc_str, RecogidaDef.tipos_fracc_str.Length + 1); + System.Array.Resize(ref reco.tipos_fracc_bool, reco.tipos_fracc_bool.Length + 1); + RecogidaDef.tipos_fracc_str[RecogidaDef.tipos_fracc_str.Length - 1] = valores[i]; + reco.tipos_fracc_bool[reco.tipos_fracc_bool.Length - 1] = true; + } + } + + } + + /* + * A partir de los datos leidos de la capa de receogida se rellena el desplegable del tipo de carga a partir de los datos existentes en la capa. + */ + public bool lee_tipocarga_gdb(Recogida reco) + { + string[] valores; + int err = 0; + int i, j, k; + bool encontrado; + + valores = FunGDB.dame_valunic_consulta(path_class, RecogidaDef.campos_def.cons_nomrec, "", out err); + + //se redimensionan los arrays de nuevo por si se ha pinchado varias veces en el botón de leer tabla + System.Array.Resize(ref RecogidaDef.tipos_carg_str, (int)RecogidaDef.TiposCarga.N - 1); + System.Array.Resize(ref reco.tipos_carg_bool, (int)RecogidaDef.TiposCarga.N - 1); + + for (i = 0; i < valores.Length; i++) + { + //para que ponga '-' si es un campo vacío + if (valores[i] == "") + valores[i] = "-"; + + encontrado = false; + for (j = 0; j < (int)RecogidaDef.TiposCarga.N - 1; j++) + { + if (RecogidaDef.tipos_carg_str[j] == valores[i]) + { + reco.tipos_carg_bool[j] = true; + encontrado = true; + break; + } + } + if (encontrado == false) + { + System.Array.Resize(ref RecogidaDef.tipos_carg_str, RecogidaDef.tipos_carg_str.Length + 1); + System.Array.Resize(ref reco.tipos_carg_bool, reco.tipos_carg_bool.Length + 1); + //reco.tipos_carg_bool[i] = false; + RecogidaDef.tipos_carg_str[RecogidaDef.tipos_carg_str.Length - 1] = valores[i]; + reco.tipos_carg_bool[reco.tipos_carg_bool.Length - 1] = true; + } + } + + return true; + } + + /* + * Crea la consulta que hay que realizar a la capa de recogida de residuos para la exportación de los datos de interés. + * Devuelve también la abreviatura que se le añadirá a la capa exportada (se identifica la fracción y el tipo de carga del vehículo) + */ + public string dame_consulta(Recogida rec, out string cap_abrev) + { + string consulta, orstr, aux; + + consulta = null; + cap_abrev = ""; + aux = ""; + orstr = null; + + if (rec.tipo_frac != -1) + { + consulta = consulta + orstr + "(" + RecogidaDef.filtro_str[rec.tipo_frac] + ")"; + cap_abrev = rec.tipo_frac.ToString("00"); + cap_abrev = "F" + cap_abrev + "_"; + if (consulta == "()") + consulta = ""; + } + if (orstr == null) + orstr = " AND "; + if (rec.tipo_carg != -1) + { + consulta = consulta + orstr + "(" + RecogidaDef.filtro_str[rec.tipos_fracc_bool.Length + rec.tipo_carg] + ")"; + aux = rec.tipo_carg.ToString("00"); + cap_abrev = cap_abrev + "C" + aux; + if (consulta == "()") + consulta = ""; + } + if (rec.lateralidad > 0) + { + consulta = consulta + orstr + "(" + RecogidaDef.campos_def.cons_lateral + " = '" + RecogidaDef.tipos_lateralidad[rec.lateralidad] + "'" + ")"; + if (consulta == "()") + consulta = ""; + } + return consulta; + } + + /* + * Dado un nombre de featureclass, una consulta y una geometría, interseca entre un poligono dado (geom) y una capa lineal (fc1) + */ + public IQueryFilter dame_filt_inter(string ftclass, string consulta, IGeometry geom) + { + IQueryFilter fil = null; + IFeatureClass fc = FunGDB.abre_ftclass(ftclass); + if (fc == null) + return null; + + fil = base.dame_filt_inter(fc, consulta, geom); + FunGDB.libera(fc); + + return fil; + } + + /** + * Realiza las intersecciones espaciales de los ámbitos + */ + public IQueryFilter crea_filtro(Recogida rec, string consulta, IGeometry geom1) + { + IQueryFilter filtro; + + //crea el filtro espacial y el añadido de consulta de atributos si fuera necesario + filtro = dame_filt_inter(path_class, consulta, geom1); + if (filtro == null) + { + err_st = "Error al intersecar el ámbito de limpieza con la zona de estudio"; + return null; + } + + //FALTA REDEFINIR - elena jun 18 + //Cuando se trate del vaciado de papeleras habrá que verificar si está marcado el checkbox que indica si sólo van a recogerse los que superen el umbral de carga. + //De modo que la secotrizacion y la planificacion se realizará sólo sobre los contenedores que superan un porcetaje de carga en la basura. + //Se conocen esos contenedores por el nombre de un campo que indicará si SI(hay que ir a recogerlos) o NO (no tienen suficiente carga y se pueden recoger en otro momento) + if ((rec.carga_max > 0) && (rec.id == null) && (rec.id_sens == null)) + { + if (filtro.WhereClause == "") + filtro.WhereClause = carga_conten + " >= " + rec.carga_max; + else + filtro.WhereClause = "(" + filtro.WhereClause + ") AND (" + carga_conten + " >= " + rec.carga_max + ")"; + } + return filtro; + } + + /** + * Descodifica el nombre del sahpefile de entrada identificando el tipo de fracción y la carga para la recogida de residuos + */ + public void decode_gdb(string shapefile, out string fraccion, out string carga) + { + int aux, auxl, carg, indice, fracc; + string auxili, fra, auxi; + + indice = shapefile.IndexOf("_"); + indice = indice + 2;//para saltarse la F que va antes del identificador del tipo de fracción + auxili = shapefile.Substring(indice, 2); + fracc = Convert.ToInt32(auxili); + fraccion = RecogidaDef.tipos_fracc_str[fracc]; + indice = shapefile.IndexOf("_", indice); + indice = indice + 2;//para saltarse la C que va antes del identificador de los tipos de carga de los vehículos + aux = shapefile.IndexOf("_", indice); + + auxi = ""; + + fra = shapefile.Substring(indice, 2); + carg = Convert.ToInt32(fra); + + carga = RecogidaDef.tipos_fracc_str[fracc] + "_" + RecogidaDef.tipos_carg_str[carg]; + + //quita los espacios + fraccion = fraccion.Replace(" ", "_"); + carga = carga.Replace(" ", "_"); + //////////////////////// + + auxi = shapefile; + for (int i = 0; i < 2; i++) + { + indice = auxi.LastIndexOf("_"); + auxi = auxi.Substring(0, indice); + } + auxl = indice - aux; + if (auxl <= 0) + return; + auxili = shapefile.Substring(aux, auxl); + carga = carga + auxili; + + } + + /** + * Exporta a shapefile las red navegable y los ámbitos de trabajo seleccionados. + * El archivo de salida será el nombre del tratamiento escogido con el timestampo de la fecha hora + */ + public bool exporta(Recogida rec, bool comp_planif) + { + int cont = 0; + string fecha_hora = "", ambitos = ""; + string consulta = ""; + IQueryFilter filtro = null; + IGeometry geom_zontur = null; + IGeometry geom_ambits = null; + IDatasetName datasetn = null; + + if (rec == null) + { + err_st = "No se han recibido correctamente los datos para la exportación"; + return false; + } + + ///////////////////////////////////////////// + //elabora la consulta a realizar con los parámertos de fracción y tipo de recogida + consulta = dame_consulta(rec, out ambitos); + if (consulta == null) + { + err_st = "Error al configurar consulta"; + return false; + } + + ///////////////////////////////////////////// + //si va a planificar antes comprueba que estén las columnas de sector y secuencia + if (comp_planif) + { + if (!comprueba_planif(path_class, null)) + { + err_st = "No existen en la tabla " + path_class + " columna de SECTOR y/o SECUENCIA, necesarias para planificar"; + return false; + } + + } + + cont = FunGDB.cuenta_filas_ftclass(path_class, consulta); + if (cont <= 0) + { + err_st = "No existen elementos geométricos que cumplan las condiciones introducidas para la exportación"; + return false; + } + + ///////////////////////////////////////////// + //consigue el polígono común a las dos geometrías: zonas y turnos + //si no hay zonas ni turnos, es null + geom_zontur = FunGDB.une_geoms(rec.geom_zonas, rec.geom_turnos); + //además, le quita las restricciones + if (geom_zontur != null && rec.geom_rest_acces != null) + { + geom_zontur = FunGDB.diferencia_geoms(geom_zontur, rec.geom_rest_acces); + } + + if (geom_zontur != null && geom_zontur.IsEmpty) + { + err_st = "Error, la geometría resultado de intersecar zonas, turnos y restricciones de circulación está vacía"; + return false; + } + + ///////////////////////////////////////////// + //crea el filtro en base a las consultas configuradas + filtro = crea_filtro(rec, consulta, geom_zontur); + if (filtro == null) + { + err_st = "Error al crear el filtro para la exportación"; + return false; + } + + ///////////////////////////////////////////// + //se consigue el tiempo en este instante para añadirlo a los nombres de los archivos de salida (shapefiles) + fecha_hora = DateTime.Now.ToString("yyyyMMdd_Hmmss"); + + //exporta los ámbitos + if (!exporta_data(rec, filtro, ambitos, fecha_hora, out datasetn)) + { + err_st = "Error al exportar data. " + err_st; + return false; + } + + OliviaGlob.Paths.PathData = OliviaGlob.Paths.DirData + datasetn.Name; + + //quita los contenedores que caen en la zona de restricciones, si es que no había zonas y no se ha quitado ya + if (geom_zontur == null && rec.geom_rest_acces != null) + { + if (!quita_amb_restric(OliviaGlob.Paths.PathData, rec.geom_rest_acces, false)) + { + err_st = "Error al quitar los ámbitos en zona de restricción"; + return false; + } + } + + //comprueba que sigue habiendo ámbitos exportados + cont = FunGDB.cuenta_filas_ftclass(OliviaGlob.Paths.PathData, ""); + if (cont <= 0) + { + err_st = "No existen ámbitos que cumplan las condiciones geométricas introducidas"; + return false; + } + + if (rec.id != null) + { + int err = 0; + FunGDB.add_campo(OliviaGlob.Paths.PathData, RecogidaDef.campos.cons_kgrec, esriFieldType.esriFieldTypeDouble, out err); + if (!pon_datos_csv(rec, OliviaGlob.Paths.PathData)) + { + err_st = "Error al consultar el CSV con los datos de los contenedores."; + return false; + } + } + + //ahora si está en modo planificación exporta la sectorización + if (comp_planif && (path_secto != null)) + { + if (!actualiza_secto(OliviaGlob.Paths.PathData, path_secto)) + { + err_st = "Error al exportar campos de SECTOR y/o SECUENCIA de la capa " + path_secto + " " + err_st; + return false; + } + } + + /////////////////////////////////////////////////////////////////////////// + //obtiene el polígono que engloba los ámbitos + geom_ambits = FunGDB.dame_geom_envelope(OliviaGlob.Paths.PathData); + if (geom_ambits == null) + { + err_st = "Error al obtener polígono de datos"; + return false; + } + + /////////////////////////////////////////////////////////////////////////// + //amplia el poligono para englobar las instalaciones + if (rec.coords_instala[0] != 0 && rec.coords_instala[1] != 0) + { + //hay instalación + geom_ambits = FunGDB.amplia_geom(geom_ambits, rec.coords_instala[0], rec.coords_instala[1]); + + //comprueba, si hay restricciones de circulación, que la instalación no está en ellas + if (rec.geom_rest_acces != null) + { + if (FunGDB.is_pto_in_geom(rec.coords_instala[0], rec.coords_instala[1], rec.geom_rest_acces)) + { + err_st = "Error, la instalación sal/lleg está en la zona restringida a la circulación"; + return false; + } + } + } + if (rec.coords_descarg[0] != 0 && rec.coords_descarg[1] != 0) + { + //hay instalación de descarga + geom_ambits = FunGDB.amplia_geom(geom_ambits, rec.coords_descarg[0], rec.coords_descarg[1]); + + //comprueba, si hay restricciones de circulación, que la instalación no está en ellas + if (rec.geom_rest_acces != null) + { + if (FunGDB.is_pto_in_geom(rec.coords_descarg[0], rec.coords_descarg[1], rec.geom_rest_acces)) + { + err_st = "Error, la planta de descarga está en la zona restringida a la circulación"; + return false; + } + } + } + + /////////////////////////////////////////////////////////////////////////// + //exporta la red navegable + if (!exporta_nw(geom_ambits, rec.geom_rest_acces, true, fecha_hora, out datasetn)) + { + return false; + } + + //guarda los nombres del shape + OliviaGlob.Paths.PathNW = OliviaGlob.Paths.DirData + datasetn.Name; + + return true; + } + + /** + * Devuelve el string a concatenar en el nombre del path dependiendo de los polígonos seleccionados (zonas, turnos... etc) + */ + public string dame_str_poligs(Recogida rec) + { + string str = ""; + + if (rec.text_turnos != "" && rec.geom_turnos != null) + str += "_T" + rec.text_turnos; + if (rec.text_zon != "" && rec.geom_zonas != null) + str += "_Z" + rec.text_zon; + if (rec.text_restr != "" && rec.geom_rest_acces != null) + str += "_R" + rec.text_restr; + + return str; + } + + /** + * Exporta los ámbitos de la gdb a un shape en datasetname + */ + public bool exporta_data(Recogida rec, IQueryFilter filtro, string ambitos, string fecha_hora, out IDatasetName shp_data_name) + { + string name = "", err_str = ""; + IDatasetName shp_dsn = null; + + shp_data_name = null; + + //Pone nombre al shape en función de los ámbitos, el tratamiento, y los polígonos + timestamp + name = name_export_amb + ambitos + dame_str_poligs(rec) + "_" + fecha_hora + ext_shp; + + + inicia_coords(path_class, null); + + if (!FunGDB.exporta(path_class, null, OliviaGlob.Paths.DirData, name, filtro, out shp_dsn, out err_str)) + { + err_st = err_str; + return false; + } + + shp_data_name = (IDatasetName)shp_dsn; + return true; + } + + /* + * REVISAR + * Modifica el shapefile exportado de modo que elimina aquellos elementos (contenedores) que no contengan un porcentaje de cargaigual o superior al indicado en la ventana de recogida (rec.carga_max). + */ + public bool pon_datos_csv(Recogida rec, string capa) + { + int col_kg = -1, col_capa; + object obj, capacidad; + IFeature feat = null; + IFeatureClass fc = null; + IFeatureCursor cursor = null; + IQueryFilter filtro = new QueryFilterClass(); + ITable tabla = null; + IRow fila = null; + + fc = FunGDB.abre_ftclass(capa); + if (fc == null) + return false; + tabla = FunGDB.dame_tabla_clase(capa); + if (tabla == null) + return false; + col_kg = tabla.FindField(RecogidaDef.campos.cons_kgrec); + col_capa = tabla.FindField(RecogidaDef.campos.cons_capac); + for (int i = 0; i < rec.id.Count; i++) + { + filtro.WhereClause = RecogidaDef.campos.cons_id + "=" + rec.id[i]; + cursor = fc.Search(filtro, false); + feat = cursor.NextFeature(); + if (feat == null) + { + //libera + FunGDB.libera(fila); + FunGDB.libera(cursor); + FunGDB.libera(feat); + break; + } + fila = tabla.GetRow(feat.OID); + //si el procentaje de carga indicado es superior al indicado por el archivo CSV se omite ese elemento a exportar, por lo que se elimina de la lista + if (rec.carga_max > rec.cargas[i]) + { + fila.Delete(); + //libera + FunGDB.libera(fila); + FunGDB.libera(cursor); + FunGDB.libera(feat); + continue; + } + capacidad = fila.get_Value(col_capa); + if (rec.dens_cont >= 0) + fila.set_Value(col_kg, rec.cargas[i] * rec.dens_cont * (int)capacidad / 1000); + else + fila.set_Value(col_kg, rec.cargas[i] * RecogidaDef.dens_frac_cont[rec.tipo_frac] * (int)capacidad / 1000); + fila.Store(); + //libera + FunGDB.libera(fila); + FunGDB.libera(cursor); + FunGDB.libera(feat); + } + cursor = fc.Search(null, false); + feat = cursor.NextFeature(); + while (feat != null) + { + fila = tabla.GetRow(feat.OID); + obj = fila.get_Value(col_kg); + capacidad = fila.get_Value(col_capa); + if ((Double)obj == 0.0) + { + fila.set_Value(col_kg, rec.dens_cont * (int)capacidad/1000); + fila.Store(); + //libera + FunGDB.libera(fila); + FunGDB.libera(feat); + } + //libera + FunGDB.libera(fila); + FunGDB.libera(feat); + + feat = cursor.NextFeature(); + } + //libera + FunGDB.libera(fila); + FunGDB.libera(cursor); + FunGDB.libera(feat); + FunGDB.libera(filtro); + FunGDB.libera(tabla); + FunGDB.libera(fc); + return true; + } + + } +} diff --git a/OliviaAddIn/EditTxtPlant.Designer.cs b/OliviaAddIn/EditTxtPlant.Designer.cs new file mode 100644 index 0000000..fd0f89c --- /dev/null +++ b/OliviaAddIn/EditTxtPlant.Designer.cs @@ -0,0 +1,73 @@ +namespace OliviaAddIn +{ + partial class EditTxtPlant + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.propertyGrid_txtplant = new OliviaAddIn.TabbedPropertyGrid(); + this.button1 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // propertyGrid_txtplant + // + this.propertyGrid_txtplant.Location = new System.Drawing.Point(12, 12); + this.propertyGrid_txtplant.Name = "propertyGrid_txtplant"; + this.propertyGrid_txtplant.PropertySort = System.Windows.Forms.PropertySort.Categorized; + this.propertyGrid_txtplant.Size = new System.Drawing.Size(404, 332); + this.propertyGrid_txtplant.TabIndex = 0; + this.propertyGrid_txtplant.ToolbarVisible = false; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(341, 356); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 1; + this.button1.Text = "Aceptar"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // EditTxtPlant + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(428, 391); + this.Controls.Add(this.button1); + this.Controls.Add(this.propertyGrid_txtplant); + this.Name = "EditTxtPlant"; + this.Text = "Editor de Textos para la Plantilla"; + this.Resize += new System.EventHandler(this.EditTxtPlant_Resize); + this.ResumeLayout(false); + + } + + #endregion + + private TabbedPropertyGrid propertyGrid_txtplant; + private System.Windows.Forms.Button button1; + } +} \ No newline at end of file diff --git a/OliviaAddIn/EditTxtPlant.cs b/OliviaAddIn/EditTxtPlant.cs new file mode 100644 index 0000000..a342b9d --- /dev/null +++ b/OliviaAddIn/EditTxtPlant.cs @@ -0,0 +1,340 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Drawing.Design; +using System.Windows.Forms.Design; + +namespace OliviaAddIn +{ + public partial class EditTxtPlant : Form + { + ////////////////////////////////////////////////////////////// + //variables para los botones + int top_buttons; + int bottom_props; + int right_props; + public EditTxtPlantProps props; + public EditTxtPlant() + { + props = new EditTxtPlantProps(); + InitializeComponent(); + + top_buttons = ClientSize.Height - button1.Top; + bottom_props = ClientSize.Height - propertyGrid_txtplant.Bottom; + right_props = ClientSize.Width - propertyGrid_txtplant.Right; + + // Assign the form to the propertygrid + propertyGrid_txtplant.SetParent(this); + propertyGrid_txtplant.SelectedObject = props; + + } + + private void button1_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + private void EditTxtPlant_Resize(object sender, EventArgs e) + { + //mover button_aceptar, button_reset, button_guardar, bottom del property + button1.Top = ClientSize.Height - top_buttons; + propertyGrid_txtplant.Size = new Size(ClientSize.Width - right_props, ClientSize.Height - bottom_props); + } + } + + /* + * Clase para los campos multilínea + */ + public class MultiLineTextEditor : UITypeEditor + { + private IWindowsFormsEditorService _editorService; + + public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) + { + return UITypeEditorEditStyle.DropDown; + } + + public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) + { + _editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); + + TextBox textEditorBox = new TextBox(); + textEditorBox.Multiline = true; + textEditorBox.ScrollBars = ScrollBars.Vertical; + textEditorBox.Width = 250; + textEditorBox.Height = 150; + textEditorBox.BorderStyle = BorderStyle.None; + textEditorBox.AcceptsReturn = true; + + textEditorBox.Text = value as string; + + _editorService.DropDownControl(textEditorBox); + + return textEditorBox.Text; + } + } + + /** + * Clase para la estructura de propiedades + */ + public class EditTxtPlantProps + { + public const int N_CAMPOS_PLANT = 7; + public String[] campos_plant = new String[N_CAMPOS_PLANT]; + public Font[] fonts = new Font[N_CAMPOS_PLANT]; + + public EditTxtPlantProps() + { + int[] ss = {10,14,12,8,8,8,7}; + + for (int i = 0; i < N_CAMPOS_PLANT; i++) + { + campos_plant[i]=""; + fonts[i] = new Font("Arial Narrow", ss[i], FontStyle.Regular); + } + } + + [CategoryAttribute("01 Proyecto")] + [DisplayNameAttribute("Texto del Proyecto")] + [DescriptionAttribute("Título del proyecto")] + [Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))] + public string titulo + { + get { return campos_plant[0]; } + set { campos_plant[0] = value; } + } + [CategoryAttribute("01 Proyecto")] + [DisplayNameAttribute("Fuente del Proyecto")] + [DescriptionAttribute("Fuente para el Título del proyecto")] + public Font titulo_font + { + get { return fonts[0]; } + set { fonts[0] = value; } + } + /// + /// /////////////////////////////////// + /// + [CategoryAttribute("02 Título")] + [DisplayNameAttribute("Texto del título")] + [DescriptionAttribute("Título del servicio")] + [Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))] + public string titulo_serv + { + get { return campos_plant[1]; } + set { campos_plant[1] = value; } + } + [CategoryAttribute("02 Título")] + [DisplayNameAttribute("Fuente del título")] + [DescriptionAttribute("Fuente para el Título del servicio")] + public Font titulo_serv_font + { + get { return fonts[1]; } + set { fonts[1] = value; } + } + /// + /// /////////////////////////////////// + /// + [CategoryAttribute("03 Tipología")] + [DisplayNameAttribute("Texto de la Tipología")] + [DescriptionAttribute("Tipología del servicio: Recogida de residuos, Limpieza viaria, Mantenimiento zonas verdes, etc.")] + [Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))] + public string tipo_serv + { + get { return campos_plant[2]; } + set { campos_plant[2] = value; } + } + [CategoryAttribute("03 Tipología")] + [DisplayNameAttribute("Fuente de la Tipología")] + [DescriptionAttribute("Fuente para la Tipología del servicio")] + public Font tipo_serv_font + { + get { return fonts[2]; } + set { fonts[2] = value; } + } + /// + /// /////////////////////////////////// + /// + [CategoryAttribute("04 Frecuencia")] + [DisplayNameAttribute("Texto de la frecuencia")] + [DescriptionAttribute("Frecuencia del servicio")] + [Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))] + public string frec_serv + { + get { return campos_plant[3]; } + set { campos_plant[3] = value; } + } + [CategoryAttribute("04 Frecuencia")] + [DisplayNameAttribute("Fuente de la frecuencia")] + [DescriptionAttribute("Fuente para la Frecuencia del servicio")] + public Font frec_serv_font + { + get { return fonts[3]; } + set { fonts[3] = value; } + } + /// + /// /////////////////////////////////// + /// + [CategoryAttribute("05 Turno")] + [DisplayNameAttribute("Texto del Turno")] + [DescriptionAttribute("Turno del servicio")] + [Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))] + public string turno_serv + { + get { return campos_plant[4]; } + set { campos_plant[4] = value; } + } + [CategoryAttribute("05 Turno")] + [DisplayNameAttribute("Fuente del Turno")] + [DescriptionAttribute("Fuente para el Turno del servicio")] + public Font turno_serv_font + { + get { return fonts[4]; } + set { fonts[4] = value; } + } + /// + /// /////////////////////////////////// + /// + [CategoryAttribute("06 Equipo")] + [DisplayNameAttribute("Texto del Equipo")] + [DescriptionAttribute("Equipo del servicio: Conductor, Peón Conductor, Peón, Vehículo")] + [Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))] + public string equipo_serv + { + get { return campos_plant[5]; } + set { campos_plant[5] = value; } + } + [CategoryAttribute("06 Equipo")] + [DisplayNameAttribute("Fuente del Equipo")] + [DescriptionAttribute("Fuente para el Equipo del servicio")] + public Font equipo_serv_font + { + get { return fonts[5]; } + set { fonts[5] = value; } + } + /// + /// /////////////////////////////////// + /// + [CategoryAttribute("07 Información adicional")] + [DisplayNameAttribute("Texto para Información adicional")] + [DescriptionAttribute("Otra información para el proyecto")] + [Editor(typeof(MultiLineTextEditor), typeof(UITypeEditor))] + public string info_adi + { + get { return campos_plant[6]; } + set { campos_plant[6] = value; } + } + [CategoryAttribute("07 Información adicional")] + [DisplayNameAttribute("Fuente para Información adicional")] + [DescriptionAttribute("Fuente para la Información adicional")] + public Font info_adi_font + { + get { return fonts[6]; } + set { fonts[6] = value; } + } + /// + /// /////////////////////////////////// + /// + } + + + /** + * Para usar el Tabulador para cambiar de propiedad + */ + public class TabbedPropertyGrid : PropertyGrid + { + Form parent; + public TabbedPropertyGrid() : base() { } + public void SetParent(Form form) + { + parent = form; + // Catch null arguments + if (form == null) + { + throw new ArgumentNullException("form"); + } + + // Set this property to intercept all events + form.KeyPreview = true; + + // Listen for keydown event + form.KeyDown += new KeyEventHandler(this.Form_KeyDown); + + } + private void Form_KeyDown(object sender, KeyEventArgs e) + { + // Exit if cursor not in control + if (!this.RectangleToScreen(this.ClientRectangle).Contains(Cursor.Position)) + { + return; + } + + // Handle tab key + if (e.KeyCode != Keys.Tab) { return; } + e.Handled = true; + e.SuppressKeyPress = true; + + // Get selected griditem + GridItem gridItem = this.SelectedGridItem; + if (gridItem == null) { return; } + + // Create a collection all visible child griditems in propertygrid + GridItem root = gridItem; + while (root.GridItemType != GridItemType.Root) + { + root = root.Parent; + } + List gridItems = new List(); + this.FindItems(root, gridItems); + + // Get position of selected griditem in collection + int index = gridItems.IndexOf(gridItem); + + int nextIndex = index + 1; + if (nextIndex >= gridItems.Count) + { + //ha terminado, pasa al siguiente + parent.GetNextControl(this, true).Focus(); + return; + } + // Select next griditem in collection + this.SelectedGridItem = gridItems[nextIndex]; + } + private void FindItems(GridItem item, List gridItems) + { + switch (item.GridItemType) + { + case GridItemType.Root: + case GridItemType.Category: + foreach (GridItem i in item.GridItems) + { + this.FindItems(i, gridItems); + } + break; + case GridItemType.Property: + gridItems.Add(item); + if (item.Expanded) + { + foreach (GridItem i in item.GridItems) + { + this.FindItems(i, gridItems); + } + } + break; + case GridItemType.ArrayValue: + break; + } + } + } + + + + + + +} diff --git a/OliviaAddIn/EditTxtPlant.resx b/OliviaAddIn/EditTxtPlant.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/OliviaAddIn/EditTxtPlant.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OliviaAddIn/Ejecuta.cs b/OliviaAddIn/Ejecuta.cs new file mode 100644 index 0000000..fb3abdb --- /dev/null +++ b/OliviaAddIn/Ejecuta.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using SisNetBase; +using OliviaDef; +using System.Diagnostics; +using SisNetBase.Modulos; +using System.IO; +using System.Threading; +using System.Windows.Forms; + +namespace OliviaAddIn +{ + /** + * @file Ejecuta.cs + * Clase de ejecución del grueso de la herramienta Olivia. + * Guarda en un archivo de configuración la información configurada, + * lanza una ventana de progreso, + * llama al proceso Geofoto, y va leyendo en el archivo de configuración + * el progreso de la ejecución, que actualiza en la ventana. + */ + /** + * Clase de ejecución del grueso de la herramienta Olivia. + * Guarda en un archivo de configuración la información configurada, + * lanza una ventana de progreso, + * llama al proceso Geofoto, y va leyendo en el archivo de configuración + * el progreso de la ejecución, que actualiza en la ventana. + */ + class Ejecuta + { + //************************************************************************************* + //Enums + public enum ModosEjec + { + Secto, + Planif, + SoloPlanif, + } + //************************************************************************************* + //Variables + /** + * Cadena general de escritura de parámetros de configuración para envío por socket + */ + public string str_cfg; + /** + * Cadena general para indicar los errores de ejecución + */ + public string err_str=""; + /** + * Cadena general de escritura de parámetros para envío por socket + */ + public string str; + + //************************************************************************************* + //Métodos + public Ejecuta() + { + str = ""; + } + + ~Ejecuta() // destructor (finalizers) + { + // cleanup statements... + } + + /** + * Comienza las funciones de ejecución + */ + public bool ejec() + { + //lanza ventana marchando que lanza proceso en bucle para actualizar barra progreso + OliviaGlob.progr_eje = new ProgresoEjec(); + + //lanza proceso geofoto + if (!lanza_geofoto()) + { + err_str = "Error al arrancar Geofoto (programa de procesado de datos): No ha arrancado correctamente la instancia Geofoto"; + return false; + } + + OliviaGlob.progr_eje.start(str_cfg); + + return true; + } + + /** + * Arranca el proceso geofoto con los parámetros correspondientes + */ + private bool lanza_geofoto() + { + Process pg; + string args; + ProcessStartInfo pfi; + + try + { + //van ParamN parámetros, sin incluir "/olivia", si se añaden, incrementar ParamN + args = GeneralDef.EjecGeoParamSep + GeneralDef.EjecGeoProgName + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tipo + GeneralDef.EjecGeoParamIgual + ((int)OliviaGlob.tip_oliv).ToString() + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_ip + GeneralDef.EjecGeoParamIgual + OliviaGlob.ip + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_port + GeneralDef.EjecGeoParamIgual + OliviaGlob.puerto + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tout + GeneralDef.EjecGeoParamIgual + OliviaGlob.t_out_sock + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pt + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathTemp + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pcfg + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathWork + "cfg_geo.ini" + " " ; + + pfi = new ProcessStartInfo(OliviaGlob.Paths.PathGeofoto, args); + System.Diagnostics.Process.Start(pfi); + + //comprueba que haya arrancado geofoto + //le da 2 seg de margen para que arranque + pg = OliviaGlob.progr_eje.esta_geofoto(2, true); + if (pg == null) + { + MessageBox.Show("No está Geofot, args= "+args, "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + } + catch (Exception) + { + return false; + } + + return true; + } + + } + +} diff --git a/OliviaAddIn/EjecutaLimp.cs b/OliviaAddIn/EjecutaLimp.cs new file mode 100644 index 0000000..9ad1894 --- /dev/null +++ b/OliviaAddIn/EjecutaLimp.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using SisNetBase; +using OliviaDef; +using System.IO; +using System.Windows.Forms; + +namespace OliviaAddIn +{ + /** + * @file EjecutaLimp.cs + * Clase con funciones para ejecución del programa en modo limpieza viaria. + * Hace la llamada correspondiente a Geofoto con los parámetros seleccionados. + */ + class EjecutaLimp : Ejecuta + { + //************************************************************************************* + //Variables + public Limpieza limp; + //************************************************************************************* + //Métodos + public EjecutaLimp() + { + err_str = ""; + } + + /** + * Comienza las funciones de ejecución + * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica + */ + public bool ejec(Limpieza limp, int modo) + { + if (limp == null) + { + err_str = "Error en la recopilación de datos para el procesado"; + return false; + } + + OliviaGlob.tip_oliv = OliviaDef.GeneralDef.TiposOliv.OlivLimp; + + if (!OliviaGlob.gdb_limp.exporta(limp, modo == (int)Ejecuta.ModosEjec.Planif)) + { + err_str = OliviaGlob.gdb_limp.err_st; + return false; + } + + //configura el string de opciones + if (!configura_ops_geo(limp,modo)) + { + err_str = "Error al configurar opciones"; + return false; + } + + this.limp = limp; + + //Llama al ejecuta del padre + return base.ejec(); + + } + + /** + * Configura el str de opciones que va a mandar a geofoto + * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica + */ + public bool configura_ops_geo(Limpieza limp, int modo) + { + string str; + string modo_str=""; + int r = 0; + + if ((limp.tipo_tto < 0) || (limp.tipo_tto >= (int)LimpiezaDef.TiposTto.TtoN)) + return false; + + if (limp.rest_circ[(int)limp.tipo_tto]) + r=1; //restricción de circulación + + if(modo==0) + modo_str = GeneralDef.SockConf; + else if(modo==1) + modo_str = GeneralDef.SockConfPlan; + + //van ParamLimpN parámetros, sin incluir "CONFIGURACION", si se añaden, incrementar ParamLimpN + str = GeneralDef.EjecGeoParamSep + modo_str + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GL_tto + GeneralDef.EjecGeoParamIgual + limp.t_tto + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GL_res + GeneralDef.EjecGeoParamIgual + r + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GL_uto + GeneralDef.EjecGeoParamIgual + (int)limp.uds_t_tto + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GL_vdp + GeneralDef.EjecGeoParamIgual + limp.v_despl + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tco + GeneralDef.EjecGeoParamIgual + limp.t_conv + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tdc + GeneralDef.EjecGeoParamIgual + limp.t_descan + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GL_tdp + GeneralDef.EjecGeoParamIgual + limp.t_despl_insta + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GL_tca + GeneralDef.EjecGeoParamIgual + limp.t_descarg + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_hini + GeneralDef.EjecGeoParamIgual + limp.h_ini + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_trafic + GeneralDef.EjecGeoParamIgual + limp.trafico + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_npt + GeneralDef.EjecGeoParamIgual + limp.n_ptsctrl + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_sec + GeneralDef.EjecGeoParamIgual + limp.n_secdef + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GL_anc + GeneralDef.EjecGeoParamIgual + limp.ancho_via + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_coox + GeneralDef.EjecGeoParamIgual + limp.coords_instala[0] + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GG_cooy + GeneralDef.EjecGeoParamIgual + limp.coords_instala[1] + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GG_ais + GeneralDef.EjecGeoParamIgual + limp.aislados + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pd + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathData + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pn + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathNW + " "; + + base.str_cfg = str; + + return true; + } + + } +} diff --git a/OliviaAddIn/EjecutaReco.cs b/OliviaAddIn/EjecutaReco.cs new file mode 100644 index 0000000..edf0972 --- /dev/null +++ b/OliviaAddIn/EjecutaReco.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using OliviaDef; + +namespace OliviaAddIn +{ + class EjecutaReco : Ejecuta + { + //************************************************************************************* + //Variables + public Recogida reco; + //************************************************************************************* + //Métodos + public EjecutaReco() + { + err_str = ""; + } + + /** + * Comienza las funciones de ejecución + * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica + */ + public bool ejec(Recogida reco, int modo) + { + if (reco == null) + { + err_str = "Error en la recopilación de datos para el procesado"; + return false; + } + + OliviaGlob.tip_oliv = OliviaDef.GeneralDef.TiposOliv.OlivResi; + + if (!OliviaGlob.gdb_reco.exporta(reco, modo == (int)Ejecuta.ModosEjec.Planif)) + { + err_str = OliviaGlob.gdb_reco.err_st; + return false; + } + + //configura el string de opciones + if (!configura_ops_geo(reco, modo)) + { + err_str = "Error al configurar opciones"; + return false; + } + + this.reco = reco; + + //Llama al ejecuta del padre + return base.ejec(); + + } + + /** + * Configura el str de opciones que va a mandar a geofoto + * modo 0 la primera vez, va a sectorizar, modo 1 la segunda vez, planifica + */ + public bool configura_ops_geo(Recogida reco, int modo) + { + string str, modo_str = ""; + + if (modo == (int)ModosEjec.Secto) + modo_str = GeneralDef.SockConf; + else if (modo == (int)ModosEjec.Planif) + modo_str = GeneralDef.SockConfPlan; + else if (modo == (int)ModosEjec.SoloPlanif) + modo_str = GeneralDef.SockConfTodo; + + //van ParamLimpN parámetros, sin incluir "CONFIGURACION", si se añaden, incrementar ParamLimpN + str = GeneralDef.EjecGeoParamSep + modo_str + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_cap + GeneralDef.EjecGeoParamIgual + reco.rec_capac + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgM + GeneralDef.EjecGeoParamIgual + reco.carg_max_vehic + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_kgrec + GeneralDef.EjecGeoParamIgual + reco.rec_kg + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_camp_uds + GeneralDef.EjecGeoParamIgual + reco.rec_uds + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_kgrecog + GeneralDef.EjecGeoParamIgual + reco.rec_kgrec_cont + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_carga_cont + GeneralDef.EjecGeoParamIgual + reco.carga_max + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_dens + GeneralDef.EjecGeoParamIgual + reco.dens_cont + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tco + GeneralDef.EjecGeoParamIgual + reco.t_conv + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_tdc + GeneralDef.EjecGeoParamIgual + reco.t_descan + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_tvc + GeneralDef.EjecGeoParamIgual + reco.t_vaci + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_tdca + GeneralDef.EjecGeoParamIgual + reco.t_descarg + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_tsal + GeneralDef.EjecGeoParamIgual + reco.t_despl_insta + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_hini + GeneralDef.EjecGeoParamIgual + reco.h_ini + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_trafic + GeneralDef.EjecGeoParamIgual + reco.trafico + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_npt + GeneralDef.EjecGeoParamIgual + reco.n_ptsctrl + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_sec + GeneralDef.EjecGeoParamIgual + reco.n_secdef + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_anc + GeneralDef.EjecGeoParamIgual + reco.anch_vehic + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_gir + GeneralDef.EjecGeoParamIgual + reco.giro_vehic + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_coox + GeneralDef.EjecGeoParamIgual + reco.coords_instala[0] + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GG_cooy + GeneralDef.EjecGeoParamIgual + reco.coords_instala[1] + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GR_descx + GeneralDef.EjecGeoParamIgual + reco.coords_descarg[0] + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GR_descy + GeneralDef.EjecGeoParamIgual + reco.coords_descarg[1] + " " +//coordenadas + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_id + GeneralDef.EjecGeoParamIgual + reco.id_sens + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_url + GeneralDef.EjecGeoParamIgual + reco.url_sens + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_fecha + GeneralDef.EjecGeoParamIgual + reco.fecha_sens + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_fechaf + GeneralDef.EjecGeoParamIgual + reco.fechaf_sens + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_sens_modo + GeneralDef.EjecGeoParamIgual + reco.media + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_ais + GeneralDef.EjecGeoParamIgual + reco.aislados + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GR_lateral + GeneralDef.EjecGeoParamIgual + reco.lateralidad + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pd + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathData + " " + + GeneralDef.EjecGeoParamSep + GeneralDef.GG_pn + GeneralDef.EjecGeoParamIgual + OliviaGlob.Paths.PathNW + " "; + + base.str_cfg = str; + + return true; + } + + + + } +} diff --git a/OliviaAddIn/FormCampos.Designer.cs b/OliviaAddIn/FormCampos.Designer.cs new file mode 100644 index 0000000..178c3af --- /dev/null +++ b/OliviaAddIn/FormCampos.Designer.cs @@ -0,0 +1,109 @@ +namespace OliviaAddIn +{ + partial class FormCampos + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormCampos)); + this.propertyGrid = new System.Windows.Forms.PropertyGrid(); + this.button_reset = new System.Windows.Forms.Button(); + this.btn_acept = new System.Windows.Forms.Button(); + this.button_guardar = new System.Windows.Forms.Button(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.SuspendLayout(); + // + // propertyGrid + // + this.propertyGrid.LineColor = System.Drawing.SystemColors.ControlDark; + this.propertyGrid.Location = new System.Drawing.Point(12, 12); + this.propertyGrid.Name = "propertyGrid"; + this.propertyGrid.PropertySort = System.Windows.Forms.PropertySort.Categorized; + this.propertyGrid.Size = new System.Drawing.Size(268, 249); + this.propertyGrid.TabIndex = 0; + this.propertyGrid.ToolbarVisible = false; + // + // button_reset + // + this.button_reset.Font = new System.Drawing.Font("Microsoft Sans Serif", 6F); + this.button_reset.Location = new System.Drawing.Point(12, 276); + this.button_reset.Name = "button_reset"; + this.button_reset.Size = new System.Drawing.Size(40, 23); + this.button_reset.TabIndex = 1; + this.button_reset.Text = "Reset"; + this.button_reset.UseVisualStyleBackColor = true; + this.button_reset.Click += new System.EventHandler(this.button_reset_Click); + // + // btn_acept + // + this.btn_acept.Location = new System.Drawing.Point(205, 276); + this.btn_acept.Name = "btn_acept"; + this.btn_acept.Size = new System.Drawing.Size(75, 23); + this.btn_acept.TabIndex = 2; + this.btn_acept.Text = "Aceptar"; + this.btn_acept.UseVisualStyleBackColor = true; + this.btn_acept.Click += new System.EventHandler(this.btn_acept_Click); + // + // button_guardar + // + this.button_guardar.Location = new System.Drawing.Point(124, 276); + this.button_guardar.Name = "button_guardar"; + this.button_guardar.Size = new System.Drawing.Size(75, 23); + this.button_guardar.TabIndex = 3; + this.button_guardar.Text = "Guardar"; + this.toolTip1.SetToolTip(this.button_guardar, "Guardar cambios en los campos y atributos en el archivo de configuración"); + this.button_guardar.UseVisualStyleBackColor = true; + this.button_guardar.Click += new System.EventHandler(this.button_guardar_Click); + // + // FormCampos + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(292, 309); + this.Controls.Add(this.button_guardar); + this.Controls.Add(this.btn_acept); + this.Controls.Add(this.button_reset); + this.Controls.Add(this.propertyGrid); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "FormCampos"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Campos a leer"; + this.TopMost = true; + this.Resize += new System.EventHandler(this.FormCampos_Resize); + this.ResumeLayout(false); + + } + + #endregion + + public System.Windows.Forms.PropertyGrid propertyGrid; + private System.Windows.Forms.Button button_reset; + private System.Windows.Forms.Button btn_acept; + private System.Windows.Forms.Button button_guardar; + private System.Windows.Forms.ToolTip toolTip1; + } +} \ No newline at end of file diff --git a/OliviaAddIn/FormCampos.cs b/OliviaAddIn/FormCampos.cs new file mode 100644 index 0000000..2ffe2a5 --- /dev/null +++ b/OliviaAddIn/FormCampos.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Drawing.Design; +using System.Windows.Forms.Design; + +namespace OliviaAddIn +{ + + public partial class FormCampos : Form + { + ////////////////////////////////////////////////////////////// + //variables para los botones + int top_buttons; + int bottom_props; + int right_props; + ////////////////////////////////////////////////////////////// + /** + * Clase para el tipo combo Sí/No de las propiedades + */ + public class Prop_si_no : TypeConverter + { + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) + { + if (sourceType == typeof(string)) + return true; + return base.CanConvertFrom(context, sourceType); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) + { + if (destinationType == typeof(string)) + return true; + return base.CanConvertTo(context, destinationType); + } + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) + { + if (value.GetType() == typeof(string)) + { + if (((string)value).ToLower() == "si") + return true; + if (((string)value).ToLower() == "no") + return false; + throw new Exception("Values must be \"Yes\" or \"No\""); + } + return base.ConvertFrom(context, culture, value); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) + { + if (destinationType == typeof(string)) + { + if (value == null) + return false; + else + return (((bool)value) ? "Si" : "No"); + } + return base.ConvertTo(context, culture, value, destinationType); + } + + public override bool GetStandardValuesSupported(ITypeDescriptorContext context) + { + return true; + } + + public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) + { + bool[] bools = new bool[] { true, false }; + System.ComponentModel.TypeConverter.StandardValuesCollection svc = new System.ComponentModel.TypeConverter.StandardValuesCollection(bools); + return svc; + } + + } + + public FormCampos() + { + InitializeComponent(); + top_buttons = ClientSize.Height - button_guardar.Top; + bottom_props = ClientSize.Height - propertyGrid.Bottom; + right_props = ClientSize.Width - propertyGrid.Right; + } + + protected virtual void button_guardar_Click(object sender, EventArgs e) + { + string err_str; + if (!OliviaGlob.guarda_ini_gen(out err_str)) + { + MessageBox.Show(err_str, "Olivia", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + protected virtual void btn_acept_Click(object sender, EventArgs e) + { + + } + + protected virtual void button_reset_Click(object sender, EventArgs e) + { + + } + + private void FormCampos_Resize(object sender, EventArgs e) + { + //mover button_aceptar, button_reset, button_guardar, bottom del property + button_guardar.Top = ClientSize.Height - top_buttons; + button_reset.Top = ClientSize.Height - top_buttons; + btn_acept.Top = ClientSize.Height - top_buttons; + propertyGrid.Size = new Size(ClientSize.Width - right_props, ClientSize.Height - bottom_props); + } + } +} diff --git a/OliviaAddIn/FormCampos.resx b/OliviaAddIn/FormCampos.resx new file mode 100644 index 0000000..f8e442e --- /dev/null +++ b/OliviaAddIn/FormCampos.resx @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAD///8B////Af///wH///8BOoFqBTqBamE6gWq9OoFq7zqBapU6gWq9OoFqvzqBamM6gWoF////Af// + /wH///8B////Af///wH///8BOoFqJTqBatE6gWr/OoFq/zqBav86gWqTOoFq9TqBav86gWr/OoFq0zqB + ain///8B////Af///wH///8BOoFqJTqBaus6gWr/OoFq/zqBav86gWr9OoFqqzqBauk6gWr9OoFq/zqB + av86gWrrOoFqJ////wH///8BOoFqAzqBas86gWr7OoFqzTqBaqk6gWqtOoFqYzqBask6gWpJOoFqXTqB + ass6gWr7OoFq/zqBatE6gWoF////ATqBalc6gWrpOoFq4zqBap86gWoNOoFqCzqBanM6gWrROoFqqzqB + ajk6gWoNOoFqezqBavk6gWr/OoFqW////wE6gWq1OoFqpTqBats6gWp7OoFqOzqBahs6gWrxOoFq8zqB + av86gWqVOoFqFTqBanM6gWqJOoFq0TqBarf///8BOoFq6zqBal86gWqFOoFqezqBais6gWpHOoFq8TqB + av86gWr/OoFqdTqBaj86gWopOoFqhTqBask6gWqF////ATqBauM6gWo1OoFqHzqBamX///8BOoFqiTqB + av86gWrhOoFq/zqBal////8BOoFqYTqBaok6gWrhOoFq/////wE6gWpFOoFqFzqBakU6gWov////ATqB + apk6gWr/OoFq8TqBav86gWrbOoFqE////wE6gWpVOoFqtzqBapv///8BOoFqeTqBaos6gWpj////Af// + /wE6gWpXOoFq+zqBav86gWr/OoFq3TqBahE6gWozOoFqiTqBauU6gWol////ATqBaj86gWoV////Af// + /wH///8BOoFqfTqBaus6gWr3OoFq9zqBajs6gWo7OoFqczqBat86gWphOoFqA////wH///8B////Af// + /wH///8B////ATqBapM6gWr/OoFq/zqBav86gWpbOoFqSTqBatM6gWqVOoFqeTqBahP///8B////Af// + /wH///8B////Af///wE6gWofOoFq1zqBav86gWr/OoFqff///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////ATqBark6gWr/OoFqwzqBagf///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wE6gWo3OoFq6zqBaiP///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//w== + + + \ No newline at end of file diff --git a/OliviaAddIn/FunGDB.cs b/OliviaAddIn/FunGDB.cs new file mode 100644 index 0000000..3d670ae --- /dev/null +++ b/OliviaAddIn/FunGDB.cs @@ -0,0 +1,1322 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using System.Collections; + +using ESRI.ArcGIS.CatalogUI; +using ESRI.ArcGIS.Catalog; +using ESRI.ArcGIS.Geodatabase; +using ESRI.ArcGIS.Geometry; +using ESRI.ArcGIS.DataSourcesFile; +using ESRI.ArcGIS.DataSourcesGDB; +using ESRI.ArcGIS.esriSystem; +using ESRI.ArcGIS.Geoprocessing; +//using ESRI.ArcGIS.Carto; +//using ESRI.ArcGIS.Display; +//using System.Drawing; +//using ESRI.ArcGIS.ADF.COMSupport; + +/** +* @file FunGDB.cs +* Clase con funciones de tratamiento de la GDB +*/ + +/** +* Clase con funciones de tratamiento de la GDB +*/ +namespace OliviaAddIn +{ + public static class FunGDB + { + //********************************************************************** + + //********************************************************************** + //Variables + + //********************************************************************** + //Funciones + /** + * Lanza browser tipo catalog para seleccionar feature class + * Devuelve el path completo + */ + public static string selec_ftcls(String title, int parentWnd, string ini_loc = null) + { + string path = null; + IGxDialog gxdlg; + IEnumGxObject workspaces; + IGxObject gxobj = null; + + gxdlg = new GxDialogClass(); + gxdlg.ObjectFilter = new GxFilterFeatureClasses(); + gxdlg.AllowMultiSelect = false; + gxdlg.Title = title; + gxdlg.ButtonCaption = "OK"; + if (ini_loc != null) + { + gxdlg.set_StartingLocation(System.IO.Path.GetDirectoryName(ini_loc)); + gxdlg.Name = System.IO.Path.GetFileNameWithoutExtension(ini_loc); + } + if (gxdlg.DoModalOpen(parentWnd, out workspaces) && workspaces != null) + { + gxobj = workspaces.Next(); + path = gxobj.FullName; + } + else + { + path = null; + } + gxdlg.InternalCatalog.Close(); + libera(workspaces); + libera(gxdlg); + + return path; + } + + /** + * Lanza browser tipo catalog para guardar feature class + * Devuelve el path completo + */ + public static string save_ftcls(string title, int parentWnd, string name_ini, out bool replacing) + { + string path = null; + IGxDialog gxdlg; + + replacing = false; + + gxdlg = new GxDialogClass(); + gxdlg.ObjectFilter = new GxFilterFeatureClasses(); + gxdlg.AllowMultiSelect = false; + gxdlg.Title = title; + gxdlg.ButtonCaption = "OK"; + gxdlg.set_StartingLocation(System.IO.Path.GetDirectoryName(name_ini)); + gxdlg.Name=System.IO.Path.GetFileNameWithoutExtension(name_ini); + if (gxdlg.DoModalSave(parentWnd)) + { + path = gxdlg.Name; + } + else + { + path = null; + } + replacing = gxdlg.ReplacingObject; + gxdlg.InternalCatalog.Close(); + libera(gxdlg); + + return path; + } + + /** + * Lanza browser tipo catalog para seleccionar gdb + */ + public static IWorkspace selec_gdb(string title, int parentWnd, string reintentar_text = null) + { + IGxObject gxobj; + IGxDialog gxdlg; + IGxDatabase gxdb; + IEnumGxObject workspaces; + IWorkspace ws = null; + + gxdlg = new GxDialogClass(); + gxdlg.ObjectFilter = new GxFilterFileGeodatabasesClass(); + gxdlg.AllowMultiSelect = false; + gxdlg.Title = title; + gxdlg.ButtonCaption = "OK"; + if (gxdlg.DoModalOpen(parentWnd, out workspaces) && workspaces != null) + { + gxobj = workspaces.Next(); + + if (gxobj is IGxDatabase) + { + gxdb = (IGxDatabase)gxobj; + if (gxdb != null) + ws = gxdb.Workspace; + } + libera(workspaces); + } + else if (reintentar_text!=null) + { + if (DialogResult.Cancel == MessageBox.Show(reintentar_text, "Olivia", MessageBoxButtons.OKCancel, MessageBoxIcon.Question)) + { + ws = selec_gdb(title, parentWnd); + } + else + return null; + } + + gxdlg.InternalCatalog.Close(); + libera(gxdlg); + return ws; + } + + /** + * Devuelve el Feature Workspace dado el path de la clase o del directorio + */ + public static IFeatureWorkspace abre_ftws(string clase_path) + { + IWorkspace ws; + + try + { + + ws = abre_ws(clase_path); + if (ws == null) + return null; + + IFeatureWorkspace feat_ws = (IFeatureWorkspace)ws; + + return feat_ws; + } + catch (Exception) + { + return null; + } + } + + /** + * Devuelve el IWorkspaceName dado el path de la clase o del directorio + */ + public static IWorkspaceName abre_wsn(string clase_path) + { + IWorkspace ws; + IDataset data; + IName name; + IWorkspaceName wsn; + + + try + { + ws = abre_ws(clase_path); + if (ws == null) + return null; + + data = (IDataset)ws; + name = data.FullName; + wsn = (IWorkspaceName)name; + + return wsn; + } + catch (Exception) + { + return null; + } + } + + /** + * Devuelve el IWorkspace dado el path de la clase o del directorio + */ + public static IWorkspace abre_ws(string clase_path) + { + IWorkspaceFactory wsf; + IWorkspace ws; + GPUtilities gp = new GPUtilities(); + string dir = null; + + try + { + IGxObject obj; + + /* + //Información + Category = "File Geodatabase Feature Class" + obj = (IGxObject)gp.GetGxObjectFromLocation("C:\\Olivia\\gdbs\\BASE DE DATOS MADRE.gdb\\Comun\\c_Instalaciones"); + Category = "Shapefile" + obj = (IGxObject)gp.GetGxObjectFromLocation("c:\\Olivia\\otros_data\\data_F01_C00_20180430_154828_I.shp"); + Category = "File Geodatabase" + obj = (IGxObject)gp.GetGxObjectFromLocation("C:\\Olivia\\gdbs\\BASE DE DATOS MADRE.gdb"); + Category = "File Geodatabase Feature Dataset" + obj = (IGxObject)gp.GetGxObjectFromLocation("C:\\Olivia\\gdbs\\BASE DE DATOS MADRE.gdb\\Comun"); + * */ + + obj = (IGxObject)gp.GetGxObjectFromLocation(clase_path); + if (obj.Category == "Shapefile") //clase_path=c://archivos..//capa.shp, por ejemplo + { + wsf = new ShapefileWorkspaceFactoryClass(); + dir = obj.Parent.FullName; + + } + else if (obj.Category == "File Geodatabase Feature Class")//clase_path=c://archivos..//datos.gdb//capa, por ejemplo + { + wsf = new FileGDBWorkspaceFactoryClass(); + if (obj.Parent.Category == "File Geodatabase Feature Dataset")//mira si está en un dataset + dir = obj.Parent.Parent.FullName; + else if (obj.Parent.Category == "File Geodatabase") + dir = obj.Parent.FullName; + } + else if (obj.Category == "File Geodatabase")//clase_path=c://archivos..//datos.gdb, por ejemplo + { + wsf = new FileGDBWorkspaceFactoryClass(); + dir = obj.FullName; + } + else if (obj.Category.Contains("Folder"))//clase_path=c://archivos.., por ejemplo + { + wsf = new ShapefileWorkspaceFactoryClass(); + dir = obj.FullName; + } + else + return null; + + if (dir == null) + return null; + + ws = wsf.OpenFromFile(dir, 0); + + return ws; + } + catch (Exception) + { + return null; + } + } + + /** + * Dado el path completo dels shape a crear, devuelve el IFeatureClassName del shape + */ + public static IFeatureClassName crea_shp(string dir, string nomb) + { + IDatasetName shp_dsn = null; + IWorkspaceName shp_wsn = null; + IFeatureClassName shp_ftcn = null; + try + { + shp_ftcn = new FeatureClassNameClass(); + shp_dsn = (IDatasetName)shp_ftcn; + shp_dsn.Name = nomb; + shp_wsn = abre_wsn(dir); + if (shp_wsn == null) + return null; + shp_dsn.WorkspaceName = shp_wsn; + } + catch (Exception) + { + return null; + } + return shp_ftcn; + } + + /** + * Devuelve la Feature Class dado el path de la clase + * Hay que liberarla después de usarla + */ + public static IFeatureClass abre_ftclass(string clase_path) + { + IFeatureWorkspace feat_ws = abre_ftws(clase_path); + + if (feat_ws == null) + return null; + + IFeatureClass ftclass; + try + { + ftclass = feat_ws.OpenFeatureClass(System.IO.Path.GetFileNameWithoutExtension(clase_path)); + } + catch (Exception) + { + return null; + } + return ftclass; + } + + /** + * Devuelve la Feature Class dado el path de la gdb y el nombre de la clase + * Hay que liberarla después de usarla + */ + public static IFeatureClass abre_ftclass(string gdb_path, string ftclass_st) + { + IFeatureWorkspace feat_ws = abre_ftws(gdb_path); + + if (feat_ws == null) + return null; + + IFeatureClass ftclass; + try + { + ftclass = feat_ws.OpenFeatureClass(ftclass_st); + } + catch (Exception) + { + return null; + } + return ftclass; + } + + /** + * Devuelve la tabla de campos de una clase dado su path + * Hay que liberarla después de usarla + */ + public static ITable dame_tabla_clase(string clase_path) + { + ITable tabla; + + IFeatureWorkspace feat_ws = abre_ftws(clase_path); + if (feat_ws == null) + return null; + + try + { + tabla = feat_ws.OpenTable(System.IO.Path.GetFileNameWithoutExtension(clase_path)); + } + catch (Exception) + { + return null; + } + + return tabla; + } + + /** + * Devuelve la tabla de campos de una clase dado el nombre y la gdb que la contiene + * Hay que liberarla después de usarla + */ + public static ITable dame_tabla_clase(string gdb_path, string ftclass) + { + ITable tabla; + + IFeatureWorkspace feat_ws = abre_ftws(gdb_path); + if (feat_ws == null) + return null; + + try + { + tabla = feat_ws.OpenTable(ftclass); + } + catch (Exception) + { + return null; + } + + return tabla; + } + + /* + * Dado un path de clase y una consulta devuelve cuántas filas contienen datos + */ + public static int cuenta_filas_ftclass(string clase_path, string consulta) + { + int f = -1; + IQueryFilter filter = null; + ITable tabla = null; + + try + { + //se abre la tabla + tabla = dame_tabla_clase(clase_path); + + if (tabla == null) + return -1; + + //se aplica filtro + filter = new QueryFilterClass(); + filter.WhereClause = consulta; + + f = tabla.RowCount(filter); + return f; + } + catch (Exception) + { + return -1; + } + finally + { + libera(filter); + libera(tabla); + } + } + + /* + * Dado el nombre de una clase y la gdb que la contiene, y una consulta devuelve cuántas filas contienen datos + */ + public static int cuenta_filas_ftclass(string gdb_path, string ftclass, string consulta) + { + int f = -1; + IQueryFilter filter = null; + ITable tabla = null; + + try + { + //se abre la tabla + tabla = dame_tabla_clase(gdb_path, ftclass); + + if (tabla == null) + return -1; + + //se aplica filtro + filter = new QueryFilterClass(); + filter.WhereClause = consulta; + + f = tabla.RowCount(filter); + return f; + } + catch (Exception) + { + return -1; + } + finally + { + libera(filter); + libera(tabla); + } + } + + /* + * Devuelve los objectid de los elementos de clase_path que cumplan la consulta + */ + public static int[] dame_ids_consulta(string clase_path, string consulta, IFeatureClass ftclass_=null) + { + IQueryFilter filtro_lin = null; + ISelectionSet selectionSet = null; + IEnumIDs enumIDs = null; + IWorkspace ws = null; + IFeatureWorkspace ft_ws = null; + int n = 0, aux = 0, id = 0; + int[] ids=null; + IFeatureClass ftclass = null; + + //se cuenta el numero de filas (campos) que existen en la tabla. + try + { + if (ftclass_ == null) + { + ft_ws = abre_ftws(clase_path); + if (ft_ws == null) + return null; + ws = (IWorkspace)ft_ws; + ftclass = abre_ftclass(clase_path); + if (ftclass == null) + return null; + } + else + ftclass = ftclass_; + + filtro_lin = new QueryFilterClass(); + filtro_lin.WhereClause = consulta; + + //se hace una seleccion de todos los elementos que conforman la capa de entrada. + selectionSet = ftclass.Select(filtro_lin, esriSelectionType.esriSelectionTypeIDSet, + esriSelectionOption.esriSelectionOptionNormal, ws); + n = selectionSet.Count; + enumIDs = selectionSet.IDs; + //Tiene en enumIDS los objectid de los elementos que cumplen el filtro, lo pasa a un array de enteros + ids = new int[n]; + aux = 0; + id = enumIDs.Next(); + //se hace una rray de enteros conformado por los IDs + while (id != -1) //-1 es devuelto después del último ID válido de enumIDs(que es un array con los IDs de los elementos seleccionados) + { + ids[aux] = id; + aux++; + id = enumIDs.Next(); + } + return ids; + } + catch (Exception) + { + return null; + } + finally + { + libera(filtro_lin); + if (ftclass_ == null) + { + libera(selectionSet); + libera(ftclass); + } + } + } + + /** + * Devuelve los campos de una clase + */ + public static string[] dame_campos_clase(string clase_path, out int err) + { + ITable tabla; + IFields campos; + int ncampos; + string[] elems = null; + err = 0; + + tabla = FunGDB.dame_tabla_clase(clase_path); + if (tabla == null) + { + err = 1; + return null; + } + + try + { + campos = tabla.Fields; + ncampos = campos.FieldCount; + } + catch (Exception) + { + err = 2; + return null; + } + + if (ncampos <= 0) + { + err = 3; + return null; + } + elems = new string[ncampos]; + try + { + //se leen los campos de texto que contiene la capa para mostrarlos en la lista + for (int i = 0; i < ncampos; i++) + { + elems[i] = campos.get_Field(i).Name; + } + return elems; + } + catch (Exception) + { + err = 4; + return null; + } + finally + { + libera(tabla); + } + } + + /* + * Devuelve los atributos de un campo determinado de una tabla y se copian en un array string + */ + public static string[] dame_valores_consulta(string clase_path, string campo, string consulta, out int err) + { + int[] ids=null; + IRow row=null; + ITable tabla = null; + int n=0; + string[] valores = null; + err = 0; + + try + { + ids = dame_ids_consulta(clase_path, consulta); + if (ids == null) + { + err = 1; + return null; + } + + n = ids.Length; + if (n == 0) + { + err = 2; + return null; + } + + tabla = dame_tabla_clase(clase_path); + if (tabla == null) + { + err = 3; + return null; + } + + valores = new string[n]; + for (int i = 0; i < n; i++) + { + row = tabla.GetRow(ids[i]); + valores[i] = (row.get_Value(row.Fields.FindField(campo))).ToString(); + libera(row); + } + + + return valores; + } + catch (Exception) + { + err = 4; + return null; + } + finally + { + libera(tabla); + } + } + + /* + * Devuelve los valores únicos de un campo determinado de una tabla y se copian en un array string + */ + public static string[] dame_valunic_consulta(string clase_path, string campo, string consulta, out int err) + { + ITable tabla = null; + int n = 0; + string[] valores = null; + IDataStatistics dataStats = null; + ICursor cursor = null; + IEnumerator ienum=null; + object ob; + + err = 0; + + try + { + tabla = dame_tabla_clase(clase_path); + if (tabla == null) + { + err = 2; + return null; + } + + cursor = tabla.Search(null, false); + dataStats = new ESRI.ArcGIS.Geodatabase.DataStatisticsClass(); + dataStats.Field = campo; + dataStats.Cursor = cursor; + + ienum = dataStats.UniqueValues; + List val_list = new List(); + ienum.MoveNext(); + ob = ienum.Current; + while (ob!=null) + { + val_list.Add((string)ob); + ienum.MoveNext(); + ob = ienum.Current; + n++; + } + + if (n > 0) + { + valores = new string[n]; + val_list.CopyTo(valores, 0); + } + else + { + err = 3; + } + + return valores; + } + catch (Exception) + { + err = 4; + return null; + } + finally + { + libera(tabla); + libera(cursor); + } + } + + /** + * Libera el objeto + */ + public static IGeometry reproyecta(IGeometry geom, int coorsys = (int)esriSRProjCS4Type.esriSRProjCS_ETRS1989_UTM_Zone_30N) + { + + try + { + IGeometry geom_sal; + ISpatialReference spatialReference; + IProjectedCoordinateSystem coord_proy; + ISpatialReferenceFactory3 spatialReferenceFactory; + spatialReferenceFactory = (ISpatialReferenceFactory3)new SpatialReferenceEnvironment(); + coord_proy = spatialReferenceFactory.CreateProjectedCoordinateSystem(coorsys);//ETRS89_UTM30N 25830 + spatialReference = (ISpatialReference)coord_proy; + geom.Project(spatialReference); + geom_sal = geom; + return geom_sal; + } + catch + { + return null; + } + + } + + /* + * Devuelve la geometría de modificando las coordendas de geograficas a proyectadas WGS84 UTM 30 + */ + public static IGeometryDef dame_geom_coords(IFeatureClass fc, int coorsys = (int)esriSRProjCS4Type.esriSRProjCS_ETRS1989_UTM_Zone_30N)//ETRS89_UTM30N 25830 + { + int ind; + IFields campos; + ISpatialReferenceFactory3 spatialReferenceFactory; + ISpatialReference spatialReference; + String shapeFieldName; + IField shapeField; + IGeometryDef geom_def, dest_geom; + IClone geom_clon, dest_clon; + IGeometryDefEdit geom_edit; + IProjectedCoordinateSystem coord_proy; + + try + { + campos = fc.Fields; + //se genera un sistema de referencia espacial: de coordenadas proyectadas a coorsys + spatialReferenceFactory = (ISpatialReferenceFactory3)new SpatialReferenceEnvironment(); + coord_proy = spatialReferenceFactory.CreateProjectedCoordinateSystem(coorsys); + spatialReference = (ISpatialReference)coord_proy; + + //se consigue la forma (shape) de la featureclass de interés + shapeFieldName = fc.ShapeFieldName; + ind = fc.FindField(shapeFieldName); + shapeField = campos.get_Field(ind); + //conseguir la geometria definida por el campo shape + geom_def = shapeField.GeometryDef; + geom_clon = (IClone)geom_def; + dest_clon = geom_clon.Clone(); + dest_geom = (IGeometryDef)dest_clon; + geom_edit = (IGeometryDefEdit)dest_geom; + /*if(geom_edit.SpatialReference.FactoryCode==0) + { + //si no tiene info de proyección, se le dice que viene de coorsys (utm30n) + ISpatialReferenceFactory3 spatialReferenceFactory_aux = (ISpatialReferenceFactory3)new SpatialReferenceEnvironment(); + IProjectedCoordinateSystem coord_proy_aux = spatialReferenceFactory.CreateProjectedCoordinateSystem(OliviaGlob.coorsys); + ISpatialReference spatialReference_aux = (ISpatialReference)coord_proy_aux; + geom_edit.SpatialReference_2 = spatialReference_aux; + }*/ + geom_edit.SpatialReference_2 = spatialReference;//se modifica el sistema de referencia de coordenadas al generado esriSRProjCS_WGS1984UTM_30N + } + catch (Exception) + { + return null; + } + + return dest_geom;//esta clase se pasará como argumento a la hora de la exportacion. De modo que realizará el cambio de coordendas oportuno + } + + /** + * Libera el objeto + */ + public static void libera(object ob) + { + if (ob != null) + System.Runtime.InteropServices.Marshal.FinalReleaseComObject(ob); + ob = null; + } + + /** + * Une las geometrías geom1 y geom2 + */ + public static IGeometry une_geoms(IGeometry geom1, IGeometry geom2) + { + ITopologicalOperator union; + IGeometry geom = null; + + try + { + if (geom1 != null) + { + union = (ITopologicalOperator)geom1; + //'union' contiene a geom1 + if (geom2 != null) + geom = union.Union(geom2); + else + geom = geom1; + } + else if (geom2 != null) + geom = geom2; + } + catch (Exception) + { + return null; + } + return geom; + } + + /** + * Realiza la intersección entre las dos geometrías que se pasan como argumentos. + * Le quita geom_quita a geom_tot + */ + public static IGeometry intersec_geoms(IGeometry geom1, IGeometry geom2) + { + ITopologicalOperator union; + IGeometry geom = null; + + try + { + if (geom1 != null) + { + union = (ITopologicalOperator)geom1; + //'union' contiene a geom1 + if (geom2 != null) + geom = union.Intersect(geom2, esriGeometryDimension.esriGeometry2Dimension); + else + geom = geom1; + } + else if (geom2 != null) + geom = geom2; + } + catch (Exception) + { + return null; + } + return geom; + } + + /** + * Realiza la diferencia simétrica entre las dos geometrías que se pasan como argumentos. + * Le quita geom_quita a geom_tot + */ + public static IGeometry diferencia_geoms(IGeometry geom_tot, IGeometry geom_quita) + { + ITopologicalOperator union; + IGeometry geom = null; + + try + { + if (geom_tot != null) + { + union = (ITopologicalOperator)geom_tot; + //'union' contiene a geom1 + if (geom_quita != null) + geom = union.Difference(geom_quita); + else + geom = geom_tot; + } + else if (geom_quita != null) + geom = geom_quita; + } + catch (Exception) + { + return null; + } + return geom; + } + + /** + * Forma el polígono que contiene los ámbitos para exportar, a partir de ahí la red navegable ampliando a un buffer + */ + public static IGeometry dame_geom_envelope(string path_clase) + { + + IFeatureClass capa; + IGeoDataset gds; + Polygon poli; + ISegmentCollection segcol; + IGeometry geom_envelope = null; + + try + { + capa = abre_ftclass(path_clase); + if (capa == null) + { + return null; + } + //castea la capa a IGeoDataset, de donde obtendrá el envelope + gds = (IGeoDataset)capa; + //crea un polígono partiendo del rectángulo envelope + poli = new PolygonClass(); + segcol = (ISegmentCollection)poli; + segcol.SetRectangle(gds.Extent); + + geom_envelope = (IGeometry)poli; + //libera + FunGDB.libera(capa); + + return geom_envelope; + } + catch + { + return null; + } + } + + /** + * Amplia la geom para que contenga el punto p + */ + public static IGeometry amplia_geom(IGeometry geom, double p_x, double p_y) + { + IEnvelope env = null; + IPoint[] points; + IPolygon poli = new PolygonClass(); + ISegmentCollection segcol; + + env = geom.Envelope; + points = new IPoint[5]; + + points[0] = env.LowerLeft; + points[1] = env.LowerRight; + points[2] = env.UpperLeft; + points[3] = env.UpperRight; + points[4] = new PointClass(); + points[4].PutCoords(p_x, p_y); + + IEnvelopeGEN envelopegen = new EnvelopeClass(); + + try + { + envelopegen.DefineFromPoints(ref points); + + poli = new PolygonClass(); + segcol = (ISegmentCollection)poli; + segcol.SetRectangle((IEnvelope)envelopegen); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + return null; + } + + geom = (IGeometry)poli; + + return geom; + } + + /* + * Añade a la capa de origen la columna que se pasa como argumento + */ + public static bool add_campo(string path_clase, string nombre_campo, esriFieldType tipo_campo, out int err) + { + IFeatureClass fc = null; + IFields oldFields = null, fields = null; + IClone clone_fuente = null, clone_dest = null; + IFieldsEdit fields_edit = null; + ITable tabla = null; + IField field = null; + IFieldEdit field_edit = null; + + err = 0; + + try + { + + fc = abre_ftclass(path_clase); + if (fc == null) + { + err = 1; + return false; + } + + oldFields = fc.Fields; + clone_fuente = (IClone)oldFields; + clone_dest = clone_fuente.Clone(); + fields = (IFields)clone_dest; + //se castea para poder enditar los campos de las tablas + fields_edit = (IFieldsEdit)fields; + tabla = dame_tabla_clase(path_clase); + if (tabla == null) + { + err = 2; + return false; + } + + if (tabla.FindField(nombre_campo) > 0) + { + err = 3; + return false; + } + + //se añade un campo entero + field = new FieldClass(); + field_edit = (IFieldEdit)field; + field_edit.Name_2 = nombre_campo; + field_edit.Type_2 = tipo_campo; + //string_field_edit.Length_2 = 100; + field_edit.Precision_2 = 38; + field_edit.Scale_2 = 0; + fc.AddField(field_edit); + + return true; + } + catch + { + return false; + } + finally + { + libera(fc); + libera(tabla); + } + } + + /* + * Exporta de la gdb src al shp dest + */ + public static bool exporta(string dir_gdb_src, string nom_src, string dir_shp_dest, string nom_dest, IQueryFilter filtro, out IDatasetName shp_data_name, out string err_st) + { + string name = ""; + IFeatureClassName shp_fcn = null; + IGeometryDef dest_geom = null; + ITable tabla = null; + int nfilas; + ESRI.ArcGIS.GeoDatabaseUI.IExportOperation exportOperation; + IFeatureClassName gdb_fcn; + IDatasetName gdb_dsn; + IWorkspaceName gdb_wsn; + + err_st = ""; + shp_data_name = null; + + //prepara el shp donde va a exportar + shp_fcn = FunGDB.crea_shp(dir_shp_dest, nom_dest); + if (shp_fcn == null) + { + err_st = "Error al crear el shape de exportación " + name; + return false; + } + + ///////////////////////////////////////////// + //obtiene la geomdef con las coordenadas proyectadas + IFeatureClass fc; + if (nom_src == null) + fc = abre_ftclass(dir_gdb_src); + else + fc = abre_ftclass(dir_gdb_src, nom_src); + if (fc == null) + return false; + + dest_geom = FunGDB.dame_geom_coords(fc, OliviaGlob.coorsys); + if (dest_geom == null) + { + err_st = "Error al generar el sistema de coordendas proyectadas en la capa " + nom_src; + return false; + } + FunGDB.libera(fc); + + //Inicia la gdb de donde va a exportar + gdb_wsn = FunGDB.abre_wsn(dir_gdb_src); + if (gdb_wsn == null) + { + err_st = "Error al abrir la gdb de exportación " + name; + return false; + } + + try + { + gdb_fcn = new FeatureClassNameClass(); + gdb_dsn = (IDatasetName)gdb_fcn; + if (nom_src == null) + gdb_dsn.Name = System.IO.Path.GetFileNameWithoutExtension(dir_gdb_src); + else + gdb_dsn.Name = nom_src; + gdb_dsn.WorkspaceName = (IWorkspaceName)gdb_wsn; + + //Se prepara para exportar + if (nom_src == null) + tabla = FunGDB.dame_tabla_clase(dir_gdb_src); + else + tabla = FunGDB.dame_tabla_clase(dir_gdb_src, nom_src); + if (tabla == null) + { + err_st = "Error al abrir la tabla de exportación " + name; + return false; + } + nfilas = tabla.RowCount(filtro); + if (nfilas <= 0) + { + err_st = string.Format("No hay elementos que cumplan la condición y se encuentren en el nivel y en la zona seleccionados"); + return false; + } + //se prepara la exportación + exportOperation = new ESRI.ArcGIS.GeoDatabaseUI.ExportOperationClass(); + exportOperation.ExportFeatureClass(gdb_dsn, filtro, null, dest_geom, shp_fcn, 0); + } + catch (Exception) + { + err_st = "Error al exportar el ámbito de trabajo con los datos introducidos"; + return false; + } + finally + { + FunGDB.libera(tabla); + } + + shp_data_name = (IDatasetName)shp_fcn; + return true; + } + + /* + * Devuelve las coordenadas de la feature class + */ + public static int dame_factory_code(string dir_gdb_src, string nom_src) + { + IFeatureClass fc; + int coor = -1; + + if (nom_src == null) + fc = abre_ftclass(dir_gdb_src); + else + fc = abre_ftclass(dir_gdb_src, nom_src); + if (fc == null) + return coor; + + coor = ((IGeoDataset)fc).SpatialReference.FactoryCode; + + FunGDB.libera(fc); + + return coor; + } + + /* + * Devuelve los atributos de un campo determinado de una tabla y se copian en un array string + */ + public static bool quita_filas(string shp_path, List ids_filas) + { + ITable tabla = null; + IRow row = null; + try + { + //borra las líneas que se han indicado + int offset = 0; + + tabla = FunGDB.dame_tabla_clase(shp_path); + if (tabla == null) + return false; + for (int j = 0; j < ids_filas.Count; j++) + { + row = tabla.GetRow(ids_filas[j] - offset); //offset porque según va borrando se van desplazando las filas. + row.Delete(); + offset++; + FunGDB.libera(row); + } + } + catch + { + return false; + } + finally + { + FunGDB.libera(tabla); + FunGDB.libera(row); + } + return true; + } + + /** + * Indica si el punto está en el polígono de la geometría + */ + public static bool is_pto_in_geom(double x, double y, IGeometry geom_poly) + { + Point punto_ins = new Point(); + IGeometry geom_ins, geom; + ITopologicalOperator union; + + try + { + punto_ins.PutCoords(x, y); + geom_ins = (IGeometry)punto_ins; + union = (ITopologicalOperator)geom_poly; + geom = union.Intersect(geom_ins, esriGeometryDimension.esriGeometry0Dimension); + + if (!geom.IsEmpty) + { + return true; + } + return false; + } + catch + { + return false; + } + } + + /** + * Borra la ftclass de la gdb para poder sobreescribir + */ + public static bool borra_ftclass(string path_gdb, string ftclass_nomb) + { + IWorkspace2 ws_gdb_; + IFeatureWorkspace fws; + IDataset data_delete; + + ws_gdb_ = (IWorkspace2)FunGDB.abre_ws(path_gdb); + if (ws_gdb_ == null) + return false; + fws = (IFeatureWorkspace)ws_gdb_; + + if (!ws_gdb_.get_NameExists(esriDatasetType.esriDTFeatureClass, ftclass_nomb)) + return true;//no existe, no hay nada que borrar + + data_delete = (IDataset)fws.OpenFeatureClass(ftclass_nomb); + if ((data_delete != null) && data_delete.CanDelete()) + { + try + { + data_delete.Delete(); + } + catch + { + return false; + } + } + else + { + return false; + } + return true; + } + + /** + *Crea el feature dataset + */ + public static bool crea_ftdataset(string path_gdb, string dataset_nomb, ISpatialReference spref) + { + IWorkspace2 ws_gdb_; + IFeatureWorkspace fws; + IFeatureDataset ft_dataset=null; + + try + { + + ws_gdb_ = (IWorkspace2)FunGDB.abre_ws(path_gdb); + if (ws_gdb_ == null) + return false; + fws = (IFeatureWorkspace)ws_gdb_; + + if (ws_gdb_.get_NameExists(esriDatasetType.esriDTFeatureDataset, dataset_nomb)) + return true;//existe, no hay nada que crear + + ft_dataset = fws.CreateFeatureDataset(dataset_nomb, spref); + if (ft_dataset == null) + { + return false; + } + return true; + } + catch + { + return false; + } + } + + /** + * Indica si la capa contiene puntuales + */ + public static bool is_ftclass_punt(IFeatureClass clase) + { + return clase.ShapeType == esriGeometryType.esriGeometryPoint || + clase.ShapeType == esriGeometryType.esriGeometryMultipoint; + } + + /** + * Indica si la capa contiene superficiales + */ + public static bool is_ftclass_sup(IFeatureClass clase) + { + return clase.ShapeType == esriGeometryType.esriGeometryPolygon; + } + + /** + * Indica si la capa contiene lineales + */ + public static bool is_ftclass_lin(IFeatureClass clase) + { + return clase.ShapeType == esriGeometryType.esriGeometryPolyline; + } + + /** + * Indica si el campo es string + */ + public static bool is_str_field(string clase_path,string campo) + { + int ind=-1; + ITable tabla = dame_tabla_clase(clase_path); + if(tabla!=null) + ind=tabla.FindField(campo); + if (ind >= 0) + return tabla.Fields.get_Field(ind).Type == esriFieldType.esriFieldTypeString; + else + return false; + } + + } + + +} diff --git a/OliviaAddIn/Images/Asset-tracking-and-management.png b/OliviaAddIn/Images/Asset-tracking-and-management.png new file mode 100644 index 0000000000000000000000000000000000000000..912f21502f3845f90900ad9f14c48222340a77c2 GIT binary patch literal 37193 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 P00000NkvXXu0mjfp@PtE literal 0 HcmV?d00001 diff --git a/OliviaAddIn/Images/CLEANAIR-5-front.png b/OliviaAddIn/Images/CLEANAIR-5-front.png new file mode 100644 index 0000000000000000000000000000000000000000..7e597feb80ad663ca2b2d5a326b809d406f6b891 GIT binary patch literal 673100 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≫JqD&K$`nW53 z5+y6&=90;-tIJV(u*g^CJ=rm>O2PJj^i>n>x&Pqh%n0&thUneVehaX&mvM-aAIv}* z7QNSiJt=}XX&!rpkk56VMJ?!RZsImDfSmIyFI|uG{jLekPuw;h^TxiVtcjc;J+}q) zWw4`ga6vkkeZ1xyoJcSh8j6CsKC;v;?DLj2A9F3)#+X*gG^pl$VmO>1^NG$*4JX0M zB{=OyV~YDeSwb#A`QpkLh8x@#`*7oMB?gjXQOy6+Nme4I^ z?Dn-zbO(t*tfSdso-eCUX}$$P=;PAeP2E?BWq;*&8WnPl`EQD$2?D42NSJ9SBeqF; zRhP!ycQMys2Wf)7X15I%(Dd^L4;^oa_EZe7<=x*9^XM*NT!LdS7llO7M@b#|uI|ej zR<_lkarJE8ytxXSPCb0+-y$Gn1%`i}Iul3zJ#WM#f#G~^na^H2$R>Y`FI*lL11S$X z-}&!$^X`w|*a$h_-q?ttn)o+ zLce8rFgOOO9~m*WMOH18jCk>2Um!7@7s!&{`Q7e!IYPfI?xqjEM!RnBL;Cn022t6A z*YMab*S{wSU2JxU2Yvl(44dOYVF#Y5XcKOplFF*o5#j&@;f2U<>lo0i-b7Pv0UhFH ztZIHwQ}#-dlCS22#r+qQ4lCEHCGXMxy-0oiI5~&m*;kn`oQfIe|6U4zO`aHkD-@BB z#^L->kIxZLm8v-;d+?j;mg|$|3YW)hFkf{h6Tl@8BW`XnTF*x8jxW|@j252wuI5<1 zpl!I7B{Nf~LB1|iAgzC-x*b{yWfowtYF@B0rq+miq>h`zu<|$|mYYg8FCjqn#4#U> zK&-+}iQ(`9lz?6}!mXv6(XGPeJDn=@G0xIkX~%clQx_kY=R(EW1f6X9jA z6B9{X4pGsuGGXq~g7a(itx`7o%{_@_VK?~nwA1jOaKBWh500M7?z`DXMa<0gwlNzU z&wRIwt{xq{JX_{?M3MxGAC5=X(>w}`JL6ZvNK;9)(gFRZDZ2bAyL zJ---ZhK0jrUrl`)5X*k|Q+3cEdNom5%xXA(8FLwUdPBU5j1hWJ@BBk#eqeTXb{a)H zH(Bz0(WLH06}I|oD>>5wkz4(aZ0`4EuqE@>nLq#LBW z;cWhMqh5g%@7`-Y*_abd>C`e%HGe}lPU)5U=jpR;Vl{nJv7VH)DEU3nzR(O3`kA2!wU+bCrTjpl{EHF9>N7WN9P z*xQxe?0nqlscPqz9^T}@n|jYOM&wA(ijOBLr#0Eo^$Ay$f;>DCU5)D_`Z_(W(h}rc zsY>?h6TVp!QN{y}1T$~zvnulYFO7#w4On`!?vGKk^K+UdtN4kD$~-?6@RnF(+54~I zOb(W3x<2%Ar8$|di!n%yHQ~4`H&7U-rL`_D?UrJpb09Lis6INZlyCTZ2N~Ino#x4KDzDGEG>qk2Xm3*XEe)Tb~;ovtsj; z=J%Yr(DDgQy)MQ%D;o<&<4NqHo9(|z!!LrEua|svRfF4)uiH_j!tm*fG4T3WySo&Km#PCX3r)p$@UXu+dOFP$ zhTa-A#}%!u=pK8Ox8<=)YCIVlswsNt&PS+f9VHTSfuUay~f-6yT$|H@S z`}P={1-Qv(PIx{Hvhik1Sw#IIzkc@q35?cG`Ll9(5W}+ufEWo4CY=!3f|=fWCej7j z?QnF?yzBE`p%D`MBiIgi!L5k4hkfCnSDaC;dKn`wsmH-t@)18;)j52Hi=Zg8ANw?m zpo8g@d!CP?DbNsypu9Z^2Y6WGa@sn%B*)T`^?I!v`{7i_v&WfYh_ zWEc{@Wd4<$$t(&pBo5CKrwTXjo)~`>3(G~^oJZF&OC~ck%sDmEq&_)kdp!{()db!4 zN5VYYOi*^*1|#QI$3uz(Dbf^l-2A(~Ij~L~%(tZI@qcCK=Nb6*3%R)h2cDwbjH6|n z5ETI=BknYZb43=Ij6-LijH+ZHh`=F&VUlZhpMH>`YZ-Q4BvG}Uy`x&HPM~=Chm#t6Bv(!;~}(E zM<71K-j+Qy^llGR6r#dOsqmHP_>LiRi$medoAs#upf5P`Jn+LM?Q(gVg_?|p3*1gl z_f4+n?{$@jMVXxA( z&ftBy&7%M>w~8skw&5P={ht5S9|m3<^yMtarFXk!&mx(j{G?BkgBOk6+Ak7Lfl?xb zCDjadhZpsp>jh!+D#2i2l;n~MeRelm#VA3pYY2`o!Ysqjx>t zg1^a8=|3^nrYj~B5T>Q47cLzBcG3$82}Kbz4LAcB4I4NQjbjAlelx7z=_6kCKJxlw zDF#~Wq;XmsWvDCZFj5@5^1%;kM{e})sph^4OC0bgk?cSDfBmcjjfb++~LyAKHPJz z#(zB?Gj{Nh^v09S;%M1-cZ8??H0oGEVf@*3JYqRJCnKRvBZ5AhL4D|AG1~~w1z~w| z+Y1tsD91>;eEs+Y>3iG|@@w&Zuzs82a*|$*BdN+=lMLIaUEUA0B+(lnYDWmj;+}kp zpiNlIK10$&^;;YGg^Bam4H==R0k4Fi2sYSvsUgA1x-#;8l-b9p%eU9SnQg%~GCIm8 z#1~>S-z2ua^X19BMXNCf!7owjt7dXiR?VLABP+c7zE}?y+(+~b0yDEqG7bTO5umsU zR-;#8!vAJOWB!gHg13G&iiC&P^NLAX;0fN4eKgN9J>HQ}%Ip1`BbeVGz##%gm*=Vi;OlDP0CW#n)uSfSU1Ifp%o~Tj6W-#wz;+pzAwZZaH=Yc8r&s97HA#pKc7eZ$$Cj z9P9`Un+rV>T^%jS7eQ4!#pR@=r7f&$fnUnh(lRbMScj9CBuG?-$#|XK%*zN?4?Ns> z3-whtNZ=19(?WITBsK-A7TUCsu*12;VNFvk18a z_3+aX)zg$$$Wv4OFoI!43Ha7YD%H;xjQyWk(Az5uX1xKu7E!H>3E0c_zUHCQi9L~5 z={vacgEA0f3BG3AfMSXw@;~Uc6R@*gQMonFF!TJ%`~BE9$FRM)ftsOm{o2uCcGN}pHh(F)PC@1e2U0D=b1&Cdgjo--#lwDCY^dQfeER^sj(vCg9kS;hV4>wUw1d` zs9D1A->Trv9=^G`c{Rs@9%w;AHV7=$kl;+=uhGDk_uHyI74oJ4tY6(|EcTyQd|pu! z<)J-hTmKcdM$m7cxR-s^xR7?gSpbLLBh$Ru|H`ig&+}UJ3%jJ@HyiCBhoE8<(&4qd zp3vLLly-@l-?{2clZW4pzH6#W8Wd@7jW#TA{_4Rp*5c06Pl4v8R=F{BW@Tq@zk~#V z__0SMOqEh~kOH2kTk$!Kwg?&qszL#kFxO(vQf&EKUM&9je4H%W$&-~fcwsD~cr*_eet?(S=srQRF=u-9sXi-wW_P0eHXnk!Z}#=CcKCe zoR*fkypZCqlN01E$1u4fu~PMX{YnmY_V}zo(cHq45Zlk%W`DjxM~XrSK}x<}p*2;I zRePrUwE%D#evE<`KF?iePxk_06l#6g$|0p!3|uJIIY=mC6%dGwR4XVdSNdxi+myE- z!#;3ZL}74YH8j@#BB|^cqlys$bp;M?DdLDLwQc1+doRu%`KfCt}(25FJaMFTF30j)z*J5ZY!^tU;r()vl zmYBCjLAhjPVU_tM0;Bz55;TH*#fV|gOV0LHJyUL~2-UxkI7+L}O%w*V_TTPFxrV z$^vIe9L4``WfbvJp=}k}AJxg(F@Jyi9g9p<&e)P4($A?zFT+w=BAKlJ_#|xs+AtJhVp5GXoNk^oMaKK%B$5 zE9N^!%%rAHO9#s03+jOd>o@!*&p$FaA*^Qs$YgSUa~{4EaR-XZxVX4`mgVsY2XIS` zWeY~wEP(I8ze~PiOUJWK+5Ulnw9L$r&7TgW;*?1<&U#xqC|zI@$lfeX z`LJBUmhh~_eJz!)oE)O&`QyhAYD5FZg%Q@s5oGF7e|fl#sYiB%4;A|~s|qGgj;Qcq zq!|^aHFn+v%F@;T3WO!|l5(i^ zfd2%0V9Iox8dvu8d5is8cc)MBW-52|#%C>p`>TVE(*ZJbN1uSuY_G^*9kfg#?{xjj z(2qov4-Pqgs*&5f@P@eoZ9T{X4!rjEgwoNZUG>%imBFzv(HpsYd~t-hvi_E+CQLOq z2_Q@9tQ&U!%a?G&L@SL?a~@Ht$s1MC!Wb;^YBr3y9p~1K40yL@hx`Pn=Cb!Hh7N8J5BTD77&`+yIL$n zjI{VsZkQtH_U8JD)`6^ZN!UjtX8I@mug(Ranrd|3!-dMp72$#t9#qEdM5Grd5fT!n zrK%9$CyqAxKH#G*%3ur|w7SKCpu33)722|M0jw!bAo66QqM~|92yAGobQu-2d~wpN@9-vN>^xMr4qIBnq*zN0MDS;gQw@VZ&Dw|7S)BFd0k3CbDu|{SP?qa;s?#*bS6_C-J*9&#LYP(L&$TGEc z#T>3aGDHN}LyeEE-Odr;4ZjsdF=n-QPc$#b)pw2mdf7qX0NRCzU~zHrcXdWcNZ4P- zq;wi&Sg)0mS+#S=Tl%cpCIZY6#UaxBVmdQP_q3wFEfIaNVisUtBWbd->1Xqqpi;_5 zm+7Z$&Qjvu5fbDYt$a8Gkywjb?e{}pKlrY}Zpj6IRmxoLk0QBgAJT~|faF>Bss`;h zq1+e$w&1j*f|U^n{nx!&ihK%y7Y1u<~$Z? zm#;T7w;yxx@eO@yKTFc%;NVckM-AS)yu5TQg5D-3p2Y#}O>eIRZA~j!bMB=1B0z-( zOyBqVg`p%SQ)L$Y)^Da-BO@a!Wi!)#Z%pG>z9vv73<1zlQ;sGrPHtO`>9v-g&cVV8Wn&Xr3Z6WfoW-4Kt%U_c3(kRnS+Z3~~B z$=N<`GDvmIXQd3MTGyPk{TlBrb0t2UaIPUM%B3)+V#ZVoPb&I7bT?!y`qmxjKzLT% zL!Ef+R?$bH%(Jmlaa)&TF}@Vko>8UysUeaLzs;PT6M@yK>^t&!--Juh#Ou$|aMY+w zp`za`BMN^LPg-(o>FV|#JF|u=($riwOAz-;Fgmf0>Lgvv|20v9_J_kzV}?l*Kf{C4 zy{USX?pG|xKeH$;_zqnYDE}*NadnFOJ?I|&hQEJVJjUT^UGky`(VY4H>hy|tK0Due z?-(4`^DzjDcp7~^>+Df}7!FIzI)*fd_zEi@{crQWh~b=i|7fuQ!jNEw((eIv)a{T7 zl)Hj=vpd_{?J7(J(!f7!QOlB4i;9VZYxq5Ytr-a>?n>y(uN!Xyk#*+R(@WHT>jS#} zONUPzEf2a=oB}Jxv&({{o;&b0{M%gNoho&Zdg}SWT0X3YRbf zv>*}GQju5luldVfPXP*sX&Bni5jIVvo}9nI3kj*BDPVrQlkRRGy!M10x<-l(?woMB z=v~(SFpZE_IQkP^cXkW(m~DX_r1kV}U*Pd#3P9!{H&+rE7TNi@`#*JDacyt!-2TE- zp0wg-z>kn%H+yb>1hek)2ZsRA2p5vQ?|Ar^tGJ}3$|Yfb(DKh803Go~V#J&*rRdY1 z!97ib0w|)M)q9~}F~ik!a%AL{9Yl-P@yDIVqa5MG$NR_S=cVmW=OMxwTGo2Adl@a# zC~$Of?6B(JYtjQr#8A6_ZycW-w?Dj2FZ+_od&vwgvDD;vW=t$_>~i!R959`qp93l` zG;PmvC`pbsLY-nksA3-n-XGRcj4E6#pI1sb5w|oigbW_O%BbOicf@Sxfw%Vy*GCh- zL+s$s>4;*x5)_SbF@}&txsQd@yx#u=h3@BtyKc`@URI2x6a!JYH~wSm>y-D`$L1@` z-s=A)jo3?2qekmjmT2}!FqY=S2B5DFZj!32q6ua1th)<|uD%mVPi+TKAzU>(ocEF( zOe}r`&AM5H*#@cFxo0ZrWNu4;Ga3cAdPrBy^hl|x=mbnp5N}#A9yHjVjtl`;Lcr}c zfzI{YOq|_I`Z=5*OlLPL{s#BcPNWdBK0BA#5X|%t|DjJ)oM9Nqs<1HCJ5c7onhqIi z$6h)8XPzT5_`C3^jVLX!lf8-LJ;-^I5D&jv+^=hm7)|og#c&>X-)E464FB~8&DDn| z#i^2DWLe4XAci)sb(!=PEm*R0X_*=yvTudMF|GZ`$|Ii9?7($gpWZw;+Ib#%26y+# z>`GhHmGb-HJF?=Ef3v2`BNA5_$Iz|N9rw9n$=DIE^mI{3=sef?%d@yBygZ=Fn8d1R zO0wU~T&Eo+Rp4*4prELD3W^j~va4p1=E)I55sF9_QEi;tmwP z8~XGjBSpdz>YQAs>@$j^505A6e+R5&@kp3&3!x0SeLsI&fL{O;X1S}Nr1aBi0F%IO z$p{#P)XQFTb88S05f#nY0w7GGV1Bje*elfFY0IEkorxl@m);MzkIe@{UuH3N*QEJD zJHDeh($55uDSq#Xj1u`Hbzk4-H-^+p=jz&tL&j5DDLGVf)VH(dVluBTLGz1dYf<6S z3xjc%^zLA#L3uEI;XP_FrC8_OE}Vp@yebuAG1GtaDSQ3 zgM$&qvcSN9f?TcQ7Jf zG~)>_3=(GmaWqUs)2}?GYcrfK<`3$qRB1DXEp_s+sN3M5d_hn%tVA6IUo~W z{o*;tGp%K*!YJD4b#nHRv1%dp_i~L4-e}|i*0?W>c=@czVe8+_8p6_e-Q*bdTm)Gl--AK6^gs(zk&Ul09{@S^%)y-+;0 zCy(*p3}cj3;NYO_3k)WFgY>-W1oY?=zJdba7T(>Z&ox`PI$V%0nd)MAEj;J4qI`So ziyLYQIasVp=)n@~1$7O~1qH@h-yJHajEx)v016Bu&tASDF+x}LbygqH(zq}JS>qwi zpM3@}m2y5P7F3B=Y5sBy?2A7Jri8Mzzqh z08gL8=_Jk27JGVy1Auo)7mDYtq4fCnq@k?n?hj#fFCB9RcjYW>eC$IPBj~^z!Z^d2 zb30;w1Ju%jO07--KwDTdW8`ib7JrCM{iOrYuwc5W(kz_aXZSF=-1f3(XeLX7xYFt$ zFxSgi9m@MiXswSw0a{Fzf>o+S__%KdI6Cy2@nwbii zP-umEwRab%0yi;9+M-fFn<^=uG>$4M6*%YgT2@7>G`f$r6@5lwmA;Sr zFDXsn5oEO*`fNOYBp4YJv%!l1gvj8xhV>N19J|j&2hzf88&$_YO>w?aL{=CUn^Lt+ z-+Q9HyI-1~cJBXiO;hNQT=eyJ$dowB<&Vavuyx1)BW@5ymQ-N4T7d@RZ^s4fkk6W^ zt-(0Rdj22QMR7!=>QG{hR6hSCI+1~K`)tv>gt7fq@$A7#8N7`W_%7<)I`J$-1yqis zJQS~GnDIo+`CPDU1I%1%?jC}VdPTS=KFG#DjGC@1rK9N57@bA4zC-iU4NLt z8RyZ&s7Y$>hQ&*8ka~zlRwmJ7j^}+GKnV&v_Jq$9wuC%L8{&H(d9K_qrzEE&`)sJ? z+-w%rR*bxB1nhlhL0cth$Nw0z04l*jPDN91&J0DXI%0qT+xeVlk%wx{UmnwXIWog8q9XD)TLBfmWuT&H{9P=wmlI8 zLL+V5D_pKgX8e+Ym!PczslF$Bspa(1kA%l|!tyKcNv9BCj~ED0FLYC&rIE#Zt(V&w z;CTuJm_#>yFBaU7AomEdEqDt8;fIBkiv85$G$MQn+3Qd8I|N6j?kFEWeA7kK*+d<$ zwNN0+_pv2+&rWt^Iiqp8rv)KtS-OW@Z*@l;!X90TGd0 z)5!ED^-JpL<*dPu^7BwmKUQK(rZNA+B+Daixod_R$Qt0{3QmmA;IRYhgJB6=O+Z`$ zE?RL4O!~TD^#*y|V8%o`SoU6dZbEB$&h={??L5%;U)*liq69I^5{42D3q@0VlNQ{- zHh?|A27DTHIbQK}*=_+HH-t}=#ik${w#j}C_Bi`P&uB0L$c#}c_-$fnDEbHz7870- z%jT_q){+Dt%ErbZPc zf1sU%1Rd;nC*Ud456r1+eTE<=Tat4|!69M(Y;PY*V>NNNL>b1JD~=)z0YNF@;t3GN z7*^9I5r1AiwI7T36`hI}4OM6e*$=-GNO|qaE&mJtkIj}uD?v7v>QSNtW_HiH(Px7X zBvj0^hk3jytjO+|fETlh-Mqt~%xO`x_;(hk=4JBbVR^QpSz{JL^fphOkxGKH51qzg zGjIQIc7WQ=xU=GYggHy*vvSVuFSTb6V7MHvW|#W-UhAFH0PuN>AFFu(4@^0bCdSCM z)OHoiC>|6Bd4)e+cPH|mHD)iX^G8j$6%astB7hUf+)%deFCjM$!uQt;rE)7%tf(Lt zkp(nW47lAUr8GI;vg6_5X%>SFPQ+r%&syB&e_%l`^7^WO;K3Z5Jbs^?3vM5TPvE2z z4p2+XnH`;AZ)~|f_+|DJQ1nn{V=aQ&3jHmel{7)lxjK9|g|U$PB&%Q`SqpJ32_!>|jE zbUoEg*%5vcc=ztz!xPZU7F$*~H;2z2R+*2#1!Fw`gq`_b*j#}3g06;C!1Gj9RpoU@ zyrJ_nSm*7p{*iM}6r1yUwLZOKo zv8iggdg<&J{0K?cqrZ|sKkQ)@-gN5@Hftg>5&%R%nUZ%oGaw<+71uP0P`SR`+wA6k zX`B?6ce9p6@>@{S0f5JXmw-e{r}v2~=>4$NtaIG}-HtKShKZD>*-puh=e$&W4AJiO zf4w4+0Tp`|9{-FOAmy`Zq#3}4eNNjy>`v0hy$BmWi-Aj)&2T%w) zz3=jZxK>qHpDEMQ(qj5Kl99fBD>dr^0zJVAmxhjf2&eD25-8h!e|LXvpx0U{%#tE6 z0SLS=5)Qp+IXCb;cFUUp0vQ<_S#4(S6N4GQj%6=ap|{_-!-#&%KLpmc;DCgy{a2}( z=|($aZ(5)3NJfrRcm7`PAFOobfYxRZvkptLzYjpvmubVOw6{d~kwGpP*F#e6Rvr z)6eQGuu`&c7=X=N-vi<|MRU&%w99EL7UUs3<#r>rw~om&c#^OekZ%UNIUUdd%Zu}O zYNc+(>6r1hHNloz>Wr^LLPO{0Eb{gdyIHmLR&x1pR2WnCB=ojYzcXymU$XYz3q2aG zghJzhtSkszir9@HE#{jc@osY*$XY0l|K(jdZ&lUUC<6)MO;^Id9sI8UV@@V7PYfTP za>gT^%!=*0l7az+?zqi0tO!HmY3WP>=8IDijUDgm+Dh!GJH%EBNM$+u!^4_wkjZ{LE5 zo{tA~;)7t$2S?jIEv@iIXowWcuIf*;o2p6(`$Dlgv(w|93uDrqAAh!K>Eh46KFMXb za}3P4yfSqfqO&f1dMQ?QLuf3moj`3N32d+bX5OLC?9WA`lIrQ`fs3A%lQU?)In!(B z%}^08upZKVwEqF}LKhOlC4;Wk%vbVR#W<2UbheSx(Bq}gLN^S~;0_t^N@&*V8Q@aB zrauh!!apRAKevo@YRU4Ru9xco;cH-AoGMs72IN`VdNb_W`i_=b9O7l7POCtgG9q|( z$X`;u1OK~($rHg-$3I8guP;A7Stofk?CbKH0kHDQw&~NMQvo72HIvlP z+B&oC{;Jyi+V=`|7SZF1*nc|5*IEOB4v$^Nw=T)~)l6R2r{LQ+&9 z--p^KMqX45;fs?ry#5`(*xK`5uob(({bE8%=&6^2bcqf*eXf{#m&=|sOc{9+9>1n& zAXhew7Vdzaw)v7ftL#`MYL>x@;zD~@j4exSYCjjbF1PFJ4;@o zRq|Mz9zt=T*8z8)Kc-Vuw#w}X39X;PkA6UZRBTwxSG`r&Xn=+f(Be3 zyTyr?tRr8~?KYq05qaOp43Rz|nEnk64u71FW)BNv~%lVG+5(65&fr)M!+JdIhxSom{w-s`uZR zG6^VR*`Kb@Rg{n@aEVNrFd%(MEY-|ih4RAXEa0VRkFQpO$fMUzaQjGMM;FhMWy-zvG z`FN5nh5T^u*XI1#R3Tk9V`Sa>&8BQyvr2RQ-wgQuKR}-4hlk##s#W~&8f9S8Vign| zox9-;#e6d~2V~2|+hyIz!Y3eDVX8#Q6!)LHPm|q>(9<-_Ba~pft-XB=fcgN{0rG<^ zFwDIJp9+YR(A3ca)uGjmZV^)@%Bu9>C;vD7&t+%}*Wl)XP;*6d{0j2^)?$GmyCl_2 z5l=HY>iAZRz9Eq^L3jB{j5dC@5o`C(@sEiw$Av%PN89Fq8sV=2=TARh98WEcBRE^6 zPm~8}oqM5=@6u4Bm#C=)42yi=?+Z+|1n%aHfxJ9NzcTRcfM&E}%?v50Tfzc92JW9( z9{k)tAGfo};5F+@E3n*6-Z>#sKVXlvCBk(uB0fF6HOl717^p8*e}|t5yClPww@b{P z3;^Vl(V&9(c=g)Vpf3e;P3xVXisJ4*s5BzgWSQB3BfE4IrJdp&`cS zU9v~2r#<0Ey19DMf-3)wxkP!>r#pk^FAqx{_g_)E{XnLjMlw+HhRPLn&+UFk4SJvS zZ3B7y8UUPf>p3(h0zlOyLn>+U_~(o7HpSPqyWCJk{`!R0n9@Y(R=}X9Bs#L9`1axq zVrL5WZaVjbq#{wnG;0qxqEL6ShFrQ*Zp#fD|bXjfoXneilR?- zq3@4xx38)7*Ez$H$9LGeFGY;xj6_(Vt!$+vw+qbz*}`1 zMcQSCbR7Sd^kcw<*?Whmiofom&+Yj^Sa_fd2@}fv?(3RaK^GXM>>gH;IJt>Q`F%10 z)(aFjhTk&-zaB4-UW{2%z+_vso^ULgfnppWO1ypUQYA}eVsJkz9BE!5V`(+d^w4#{+a02y&e7B`W;z< z7V`HZJeKu3kPxYog#z^o>>wObh-w+u+U<}a7rJ)<`OUk6o}RmXyY|ajEWs0zi6iIl zvmtX9oXAwda9!=k=6M%}5GZpB08g%A7LguhIA{{jRTFLM_ly)fQvN32wJVov00hy@ zKh7Pg4?nRG?eBT(`<|!LC*4^W4?)wKbY^;vl$OMRVXQkgPR>HaOF{4zd_MT~ONJ}j z7*L+UVrxG9S8!g)Fzm^V*%68H+C}{lEbYI7BM4Eva>_p0kq7mUj3}_5=bp`jH3&ld zAK;%xLG|#>ZjEwTW`k5LmXu$KDbbwZyh1cK}Jwxn0CG(7h$J3g>BizEU`^c@BY+Z zU!I96g>haI_>ewP4a;fJxh>q0MY84E>Bez0^!(^bPQH|Kto~!?dd2HB6E>3n_5AJq zO2rMLJ(DNetA8Z2)X=_O-u?*}(gh`A_aUMQcE$GR$73~mg0#%^{NEP#8`~J&^o5#C zKyfeZcE|<#?lypagO~(EN=h1-=Ynyw9(^| z5v)-Kv-=L9T@*}ez*iu{z^0fGrBQR-S#qsN?5s%UWdmJJge~XQFoRpjq;h|?(QNyC z#p7?ma4%Lh8kK-fF1=Pi`uhFj(s!)Yb4CBdKi%8c`f_20TC!A1n3{_N4(QNzB>(Ez zn7iCsEGtp!ND;oTsefKs{s0*>Z5ww`aycsCCo{~qB(Arq0cyc_m90Q`{?d{Io?i~n zH|L$kWpG8L@Q#Lwqlqv#F9LmX_^BziwD-Q)@F2|>8&M)JJxNzvn-UooY|KD2K_9pb8)f_y_`E7C z(jU+Aa7Ks>i$HA$D1-7~9T45y-`|fM;0G<0s9fkdY?4rwD1vrXGkLTv`|;;LFj%h) zO-K+Ge!om#V5y%l5atXNDVc{=gex7hwOEHD+o(nD>TDLP^p{&O5jH>MT`D&orvet>FMcz zQU#)24!cdv0BQtdi0N#2Edg+2krBsl?htnpg~S1WY;E>e33Y-AJwPc0i}^=IMWMHD z`DYnIfFOj)e&)Q@I$`{~(ZHZt+vI(jIwOdYIM`R`OGOGI+w7@k0>}&u7#NX~O$BH6 zoY}dzdwgKM=VDmZ z>FoXsaNfIE&w;&PoQ5}%r1*`Q%I02lH0ulQkoMGWM~f} zx7+V#D$jt<_owHzEui@CF86_TK($=s1yO#{#DH$q-fAXL>@y>GS+SY}Ltx9=EV;5R zIL2YWz_ofNhq_se`*pSLBa?$`Mjop2SYT=AWjwZ}a80!G`+o)WLq_I^9Ibc09ktEu z$VxmgC-fZUGVJ)K`tfwEyChfEW>q{qkoqqwGNs$K-6}*5@cxctWiwU)83rU8fOa;) zK|*w%wR~j81yqi7F~UkB!BEPZ-Sp^;kzUJmkSWW98!9R25Xkwn9M(hh^)F*%JYXpR zn=4v zZP-I9xy--UMC1}dk#L3R{xVy|D0-3%)Tp6}WRbzp^IwXe2Wv3`woFH?i1eg1DXB4a zVJkLqrO9%wNUS-v|D#O|AcrL?bD=BrKWfV?*8CPQU!#vC$R(0_D{CAfdtLH7I_<5i>#f2VfQv$anWV*6>|t z0n;?^OU53+kM?dTt0+;+mTm;W+60mb;~(hMOaFQb)|f>yv4BoZm}CzAGr{cCDlRQ# z)n?x>-iM>CIZT(i&1YZYI49qA{Y=k-uuw6#gvr!@s+?eeoQWv_rw9oK>Yx7NcvSQ!Un<7FNN7!gk3 za+X?Lse)EV_Balf+EM^}rSV52Ej6?7w}lGJC-&=Qpp1VJIRP;6e`Pe_-@M*;oIB$= z=C-!cfG7s*ttht1xr! z^ili)Hc{wA3A)PaJ-leH4_)-fPy@MqUT972pm$-{MbPj1eTGN|g%sa?F;G^Ksf+cSX`~ILH!qaz z=HPE#1W>0sOVFgL;tMi` zHHAc#I^&0A)3gTLC0vjZz>*{EyZq0YZ*6zi!ujT8E$a66mIOo$t@Fix;Py$?H|}8t zE0^+3yKozrg*G=$90OL&SA~9s+Cl*Qy2r~~FWxZQBTq>sH6S(LX3led?vyF)>z~Cx z?zlT4&KoTb33*X?7o#J*5HbJ@PfN=-@h$+&fO;8M_Ve7pOSBxF66sF=F=P5|?9i39KqcUW2QC#V^eoYz*;@ZI2-AiKE{sJ-F zEV4Yn@^A0FIL9pNwO@w0H|P9d)Y-ZT+c;Qm<44P%3CgXi5-piBba03(EoFFlGKX0@ zMnHBh(VI7>*4B|AXaEq#!GO&;=XF0b;m+6&5prMxu3~Z+RYPoS+E-;$d+4t!SrI;2 zPW{HJhPB~9OA4rO4RSCsA;Uy-owJ78!j%*}6M>#xFx#0<8pI*GKxXw$94BOY5EJws&LU-P}cbm8@ z{de;(!LKdq))3oVlqg%=ymj|>$JN)XbHP3vFt3eq25?jp$GC2roRq3g08Ij+O*XX$ zpRlv1oI@d9%z%qtK5suK`rj-}z&`^Y`fn#s3o(G;6TKzQhnAiIE)&cYtbpMT#1cy7 zH3^xE&I+E=Nscny{na?WSiDp8*C4*G>K6STWwk+O-T;?|ROfrJW=Pnyu@More3WKL zuY_z!`bfF}vgpK$2$6&vN+*g3Zylvii9a^6VP)_ecY%8lpY(JCC$aR=q^pZvkuwi3 zh(heEh^9mpR-R~)dgtNgH}4#)54~+JS^byChWE1*b>!}K*1&9MNYiWDfk6;~ED?zv zmp+~FxNn@fePBb?pj7$HuJ!5B`WJFQYsR%9;7ewPT3NKHH za0n~GoG9UY?r+$=Rzcjek%d_6@s;vL>=6yNY=VM{1@nNJ(i_hba6j{H_HkPCbpbr_ z%+^*P(;Y2>btxYO*IWxgq<$$+uvRNld2^`QC+n{Q#XFF=y`+nYtEs7p`<@{As-XAS zcb~Tcu4XnA1PYQ66aTFP^9mqYwcFiJjSj(Z%3M)VL7ZMZFN%%tqW6__fUPL8+eHrp zyWVCPqz}5Eu1g*x3Ey;$c3d_*{jqx~b$IR>012Y5L!0I0<=(jlD_$i9GgjWM(9+#L zBUL^4eB_1t3V_Km?(A28w zf^!i_o?-cm1MN{K?yJe1t+`SB+dYNjtkkBK^2!C6AGLmpJ5%d2w7DGbJ4F|$^Ax(| z^iflg=(PNE03CJIS(4q_M zLZi~ccdCHgfI5A*R(T%fS=j{G7obIr6wz_vnl33-X!Qd}rpa|oQN7VL2P+fsbM1J( zq_+7CE^6V2pi0mjWJDUj?#>9{sZXDSh_%?Hx(wyoAhFh5e^UM<-OYr_Iw5;4G_GKq ztS062GZ;px>%U@4xTrr1Y!iDQVqqHqnKUth?Lhj%I-v%O{b3y=$y$u|PskW4bk-ZZ z0&qo$AvK~zvvxuobGpiTOnR{?zaOo{m{k@N@FmEq<;e3FR2%@aAemZp)tpNc zUsAI;$-DfI_K??3Sb0w2LtDqTv)({0(`(ANec}EQTgl$n`g)Ks$^$u^hWDqsSc>4X z9CZM#hX2i=t_?Y|r~K&mdg$y?V4vhvq>?k!TheE7*op);U2xK(NY5VMVQ+3f>R~EH zVr>RtO2BVQPbIz&Cskqpt|L1Nqc-)fM?Esjn0MOToFPfxIXJnO_#0EDU8jlltIk1~ zS34feYEx4$IWUe*BQsxS-B$gPvR(A9uU~ecCp)3r?wVuQ7OOw(QDqQfVj~9!wggTP zVneox>1unf3?q%YEF~ocx`9{j+g3b*`DFPX3=e%QLg2}11D7t4tL9p!%Z&1ZGB`Pa zFfG}h|Ix8qyZ1@{nB>YibuZtM3=P+>qyzpf1Hd(SG7aDPwu5H8jK$vEW+LN2&^)-p*{ovIONqOF<5+VK?jM zu)!1iajR4Oz*|qIckm$Os3;6~3!3(l7`8Y0+RUst!HA~cf%NKlWgIQX%^%3(fGN%W zdW5LBn6`ArYOY?qN!Jhr@d7fMaR&8esvLL_0JZ>@6I{e2ZVr1gdqi7%Gg;fV&m}+b z1K&)0iRROAm@K?Wum9-C`x(~(3DJnZCTvvl#*CZhk?(PCk2{V*9AA>iGm&5)e0}KA zPXk4W6sXTt4e^0Ea~1>1mLF@ZFi~sGy@iNzlpX0<7#+EX-r+71M;0eX4t}9r!}WPd zDU>z5`gRvsb2IE(MVoZZEZpch)_!wF>9x34`941#{AJ_&uU9!=qh!YFw>9^vcMiCU z(?@B2L3vSR;>&vx30QVej0Dg?z<<2>e!74*J6NuXOqbLy3ud2$(qcC~q*OmMx@)J8|fC1lfi_kUUbgqEB<#S2oJ0C3?-wIH_LEN?vz33rCElM3Kejq|+n&nJXmx zkGK0;t-=a5SnPBbrTLD9W3T@7t-xsNIas)Ye(^-t?6(?KrNBOakox_3Q?Jo8eZ{Si zFU@=A18y=^W&feI0ZH4^JvR>!zJ>Q}3aw=Z1g_o&Ax zTW1Ok_7KXbu_!)$JnLi^sC37vfJHJ2ceCbTe^rSbvoRt=_6f+r6-hi?D zoen+|KN!TeMJI;_ENT3}=h+B>rid4)d5H#o4`cXbrYa$5`)9qq?XTP_qjeQ?&i?4{ zn^cKWXI8PS+)xobjBgq}1d~l~R{7V&QP#{+v83wXl6OwZS%lSU{}%bfECr9*7pGVh zwDH6B7kC*l>9@+)Y59P=!0jNYv_0&v#R&QOdU`^EnhH!e_J%*`K_V-og8qZ<{ii2z zApP%smbSd`H2QQS^rYl>#_e~eq~GLL#s>UgAd#^Br@wqvgJy1P%Q)%&rG!567?^Q$ z;Jz4wukltC6yEz57Ki}l@cFd|EVQ!-Fz%ydk$O4$bd3IVT=DU4zb08|yTaOP&I=4Z z4_23EOioTRFfaflOoh&0Cw2}{16}&p$b{GzkWb6%pR1+}-xgF1$u1dk42(>MsW{*otKDGdc<}cVP$&WnQ@S0W3r2rBUo!iiN_=+!mtDTaH_s2} zRr%un-%^fe;jIqneZ7B-9dz0L~Fo549w z`k=g)LJFCx<1>ZE4fRe@8a3hnco9NxPJVK9c9tO0Kl-I0t3+{sv1|WSf*-{K+wxyP z6(fI~%()ZSdYWl&@gO;TwkWNC9^DtN929T;cePf&%J}_wD6f4k2HpV+G_`R2z}54t ztRW>UYYQ|f`#2PUTxVG~kF2oP4|di7=HBr+)XwJ;3gk75Dyv9~)LuXfn6`SSJM)}M z2OBe+D;+_a(O*F4N%Zj90|DY}=fv*7pK4a2(Zsam1=MWHXhYjU`Ad|q7K3-+A6pYt zS^eq!6L>M8rQ;kPdNy8*?B?b(^EgDdZoaLH{}F{4zE9cMyg#*z-|>>6kUBM(LCa%w z8a~jdACBRFNO`H-#loTx54u#QnxKRMO)e|dCf<}W+&KN4E_!8w6cnutNd@4n;A z$Ar9Z+Lf3Q>i!{FHr(=32hx?V>;SMzpp8XcL=E#iqXuD=6%ecd-(fYa^@>H4!vq*R zkvdDkPR?{`sywjdPQ9h1;S&2AiwcEFNMg(l-0*J zMM8j#M#g~}T{f#E)GnP)^j`}}D%>Q8ML7qMX1;7~2sZOLP1cFqy_9auLEkUZR3o!o z>gIK0us0%iy3ntfp*sE#S$8GJ$j+wAz{KS%m9CWdK!)lhM|{Ay*y$iVP}_O*hst*y`1`TE!sP>_6%o^O{CTcBzBD&^N5Q^NaNvH5Ph z*L5#&!jbg8xbChBzsq?#bbp-gcshSNfB%qH7cG$RvUzaE4zwDcMWkoYLc24#Zw&BN z8m7GOJ+KZvQ?$H^(49f6w0YeHJUQww_6*0M=;yauaMXJ1UIt9Q>lQ_?%o4+GQt@7& zyS)y?A2oH0XOp_wjke>5t`4$2Rg!sCH6Zj|JmVmig@K|HYRn@p?PZ5PSq+Z79CX3$ z;tN$2Fwf)v29NC2ux+?0efd3;I}Q|ZPqiNA7o*=x!C!H+Fl0d_ub8oIU@?J~wu1&X zk1g|pA<9-Z|LMNP7pWnp-}WQ8ux{0Ou+MJ)fQLxVOdTyolou+z;wBLO843VB8nz)) zd*X&5C3cP1cA?$Y!R)-VfY_>kO+s-&Cb=iJ;DpMsq+?*@5=mU+oX+bRK38lhDfNvV zT1#NAytv+eMT<>jvP@`$l`n?}cX&Zg+n{5S(5H&|Ou{ z7qi+S`uFO-bOn-^{^{3y3`w$s&xE5_+ir!SH?> zk(7;ITe!Ucja!*kVD5=RGLL=a^Piuw+=~n$zljJ3FOq_WtVdr|@w4F?mt}cf2sgX^ z&9dAJ@xyfj9*GIOlwq#>o&HjpF%{uXR)$pTz2=ABG?&mRI$O(PfbF&&{7n#->8i& z$gc+4MO@RmlSfus69Zr!GfL}tY^PA?*x#nVY!NMQu3Y)yevrgSm-obJ1V;AfYgs;8 z5J_n}VFqKI$6drW8gE`5yD+J3)EBaAvu-${OmbM(X>DsnLcTzuvjMur6WccyZs>*t z7KH&!YYam5%CwaJSou?76vx3KW1QsVxnojTr1J3i*B&D1%-e>z^d5%t78pY@?>hp^XK;_ zc3fB>f}Tq4XWl@O$~|Rq&;>pypo=Y|BkAzl4`xfaTf;4S`Y|KEWqZTA&z3{2q1`4r z^KQ21t!z?`Rk=o23}e2^OL?jYadJ*#ed-x|{M>#F5w^*&!pK@9l++HbJeijL;}i4u z=5AADzi!@OQDG^edcR%$zW(C&qo~!_R0Zy-j_<$7&2oRPoio*VT$)BE#_vymL7pdT zWlyx#=F6_J6nd?E2%Q+2CdGv6T%+ZfM(U*I(td>#gCl6&GSrd@v0uUL0dNIF3qH_4 z&PnSokD2+K{jRG_x+`UN(BuKGLeG}85f=oOMLT-y8Oap_ddb8%xpZd8kUR6oX|YV< z#QU2~Fq+f{-+9k;RWXR_juNd9&zrUEe4IX8e>%FWc>kZ{^5NpaMk2KVCejX0a(NbV z6uMmH*eE{y%wC8_p;l3n>9PIOaGTfqjNik|lZBU;*U$N#>hW0vA0PPTGpG7N@)yPr z|E%j&cJV@@%0I{in$E)qb$HRM$e>2)jhfopf_M)TI~P~)iE-caO~}{x@wMO0%;Ra+ zebm!Qggz7YkT^MZE+IX^R?q}5Mn5$bhSH4nMdSNx?AH>3wD~#=#X5=W7cN9J@lHL$ z7>IZl?n4Q(Wg+bNV})pf!*q?r{_{**R{Sh3{BR9(l3r&=JB6?Uk5Twwk&??tM5>33 z;iEIRxY`50(K$$eVW-vEwJ_d5>rJq-Ka(H2N;-SBzs<0Dq>|mr$7xv6#7~}RP^9Z| z)#XrF%X|Mo`y3Wuc_p+mwWB8RFf~aJFFE-f;BRs}1SyhqUgr=Pj2BgrY+g_5Sv-Uq zdV3R*A?QEsez^gA<9%S{gAGU2@(GvSyuo^=9Hf9U_j+G-tD2qZW!Q1k{pA|m%C({8 z$F%&TYV`8oofQ(j;UD%wGQ&EyS1tK?I{JE4igrSX=AI#Rj4Y?870n1kz+vQ~W6VB- zW6_7(dZ9|P0%1}A?#drb9lG$imVB=8Zh~{2=T>+0=zuaDil8!CpD1k?J77!UHz@VS zW(MJ{sDb9^Lc8Bj41W4I_gMmGIDM>cQfx|D z8?Cw|d8!c$2&g8RsxaWBWc-zBnpTYjnS;n$jb6<)_xT4wpErR4HqR)QPgeK(WYydET3#)oU?o4O4^7!e1>UB5?{udwfZjMpW%gQA*(UFHyfuAZjHp z@^tbu5ZwxW=>zVTh@26VC0%*G#uu<-r&_7<2f(=qUN9;A2o$BEBLnB!tL(vQzHoy5c zDue3`=p*yX#7od29)9W}yJJU!#qh#4!#bQQ2Dk=|yo~}UhIlah0hXrEO)VppoF1Fk z@sg;q+%Sb8$xyWlAgEM}6C6?3gYhm9oo!sy zwx|oP%GK$?Nk1I1fRS5%1FnFEbeN4%eo&U{zr-e^RLM=ZM7Ou{gF{>cW;HzkdZNH*Ds$6LCSuJ}k?X6xWNS>FRLf&%~;8{2Es7qMaH@%dUVi z3Ex!*(-gDidaec)TlbR|-EX#M>7oQbeVa7Xhv95XIz^T*10DH$4cSxTVCgyD?%ewK zX3O)Efmj=;qX+(f&62Ab;l9{0tLzG`h&<9J1#!(M6)*qGg|_-q_kXG+}K@Q4Imd3X==MS(Do^Z0K2OEFwhd*W^Jf>`_cblSBm1UV!?6K1Lv)+#M zriZ!Z>Hj)Ohi0kq2lr3T7nb1eDo_}4Q--op;C;ATA>a8ob@>;3LRg@V16BBil}EI( zQ?3uua4eJ~l$r3sZl?&U=FQj~1!wYfKU4#bJTIe%xP359Z`fcydKA-N&+Vc%MXX{iA^T3 z{BpI_a=ck-nrIO$9LLg=rT?}(E~dZG&HQ}MHawpofplckw@&fiGr=D8f1i<9e=4|u zJMpO=IIa)sMh(A0dO2P1I+g6j<)X?0H*nhaure z&8VngaN2RPvm0R?Hr7)ZMaJw-WjyhpU~>DH;L_qWa8_vnR|si_s$JKgyf~~aZ6#kS z09xe0En>PCsr9{yYg7*5ehQ%|EMW5~fyew5oPOnBP| zX{EY?QEjdM_)X%e8O}Y;#;=$N=Li4Q@84qdjJMa>&yOBClve2UaWI&)M6)mqOp}?t z_e{!AY7W(hu8|^wOSScf2nNOl6I;)K#Eo~k(zz%ZPM@Huyolcd^H#YT_<3<%gH(&Z zzP+XoG>Es+PSfe+3q0suK|=0QCX@8y}qr6*7Jg= z>)Q*$7^HyF+rNCXoPfvO0bDFL+j^);ZZ}(@YVrDBi??kood08w_&XMQ;Ytk#RfeBv zHfEBfrbECaV-FL~8#nOu+@N6gUR^_PJ?SMZ(jI1tk2hXutSfCi^=8rdwL6C4cP`~; zq7pNl6B>*;XhLc2SZ#V~pY76&-MzgZpjc^+G8r_Ckg&<#;tYskK@ zaB*-eEhvQB4}yu?HZS8*Uv0Dc&1tP^K62$io^qnk+@jZ(${TYmSTa&w(a|zC!|b%1 zUYeV+d6H$(AsGPe_4XDp zj%OHLZSdV|099r!vna6SMy;QuYBbN4mzM{Magm^m@=PhL1o%>rVXM}RBt_QH)7%8$ zI>3&mrlCgZVu{`SE|VpgjSyHb zex2gvGYYdyMpZxH=6jKjz|J$EAgr$hzyo6zjH2zhGy=ZObL#$tzwL}aCCN%SIO97@ zRjpEmh^j1zp@N&}8kklF1#nhwA*tsEwe9(0I_Vn7 zqKp=5Qf39K%b^N(G{BqF$)ZL`Ek|c**2=sX)jYNid$_&6{`ykF)4zZaib_>?jni+t zyJJh!pwIMq9P?7{MWujTg2pxt8vcBBr41qf4Xki)HmShr4#^+-(j1^~^F=20xpzhr z)CbXmN^^4dv@Rc9%8F)I7^KF>u>60R_}9drrGEsY!4a=zeM!?9U{4}Wc5heTNNGdu>S@*b~w|TkN4vR z9=ow*HxE4{qy7L{$VS#+?`V=dk=6GKWQ^{x+#;S&0`TEZOsiB6Z(?j6?pmDh;Yl{PX$m>ZHBZ$72x*2$-c6_G1T) zE{%bt5C`3uUP&=n!e1P44pXfHj3BjB1ML@lVU(!x!X84sR|1epaSJWRbDvrh^v*Rg z^res9aEDxIVO}kry^;}M^nK=TE1pJ{Z`A75)-&RZ@QCqEoqXSeOsDD9;UZ6T(4H6X z3gym)PF<|*bRsI2=cfc7Te@UsMq{dcguW`kTfA=F73Cy&MkU0@W9hVdLxK06OKSxF zcHN9#%k`G+;B8y&c6IEB%L&r4+U*BT!Bil@&Ntcr*n-{pjOMA+8>U)mCWce#jH=;k zPe8w=v|ojFDvvMc%)E~r-XED%P@@QU;+jeg`G|4r$-jFMJwI1C+LhkSYOPTmk%Z94 zT3<=-3mnOeXWk#nKCp&vuUDG^iRWhxr+IevSDFua)uNco^ zvgZsuaGHQ4`lVc_qu%zpngpa#KnRn;)!eB2RX(`BP6@o!((-b%fOa5hn;IDfO1<|< z0BKo}ehaot1ziv)V2*h$GRX}NTJbD%Sa79wv-MUHL%RNwpA6#uyYc*aAkU+E^=lrs z&0AokZs{61GGhB8EG%Cl`0+M5Z3J5;u4ej`FEq-fx>egQ1%4=~ZN{ATtXm#&+G1y@l}k-dSWyfjP5- z3(&;IHw0-hkdLnhjg@D9;p0@%^&jrG{xa>s6f?}J4^*HWJs&>3fB9EF1d^3GTpO^FAwUOAREQt)EqxiH8mu7pazcuZd+(@rzo(Ln`)Q z2mz`Icp*+ruY=&kxG_>mAum@E#HIR4_%MdaxO+nSMLr4pwNNP#D6l$E&R}s;Vq?Pp z8FQdMx`^lbHhb1_@!kK(b2}uby+SQtt6ViLvtQ$r{RJO0sOXhNBy0St_cz0>l#lQ# zD_>Bz=5*0DAmFPnFrGt7qN`*i)SVn-#So=HRzDjBSH%>r*;Nfp1j9l_3{kl$%)h$q zm%iI_w{6_;eZrfDyR&pyU3jtP|Bx<^?rplMvnj+}c0?=s4^PVoE zY3BOdKLN3}Fu2Bv!UA*^!Z{K3jMb!)nu$f>h7Vxc$DTqIm$kl-RlS^@w+gov&bXvq71;ZK|MdNhGA^5OHldw@D<)k}M53 zBKbMiM))i1c|&<<*vVWw^0H{+`aLmGBI9V^;P~I{$C4g9*BA#Oy@Ok{qj?>!fJUu~ z4^03^0$w;cY-HJCJ0pQn1-8=qn>&r++5F%O(spIU`b3x2$(xc|PYf!={7ee`XIHh6aFd1~$^yo`C{gU0s^~rKXy55Ba#T8uL-rl4;PMGzFPLy^3Vs zr(uxk;pOZBE|aE~mXVP+`Q5xKOuT8jB~RRre+zcs2mC5D>=@6WH)IGI){7!RuVL@} zA$;dO@J^hu73)Yu#S%!_sz?-wlq&hB^{ceK)n)sFF?rJXCHXLA(XO+FfOMWyQk3>z z&dF@j@(ib2N+c${UYu9Ao0^U4IoYIcwe@GdRhMTLm3?X~w3NJJQ{mQAbHq zz{B5c%2!tCniz>OHB??l;>=m z_P1GkCHr`s)>+oDuxv{0l`|PnU|=>VY=21Afj`Mf=tGK5x7B7pnst4k$vk$6KXw{3 zGlV>O?Hm0(TZLHimdxMOL9WqsgyJ@({&dfov}9Gkp^Lzk9Jr^5UNiZqVfJsb$0*=p zgBrX*q}A8{)IvDO#^cku6ljBD0*G1=X!AqNZO)n}sm1BJ7iMR{;upZo)LR;-;(!oz zotwFVAC{;Afn=}4=aNqa+1nS}lum#WM#uA}&=f?PhP&4(7c(Pl>BPbmo4QU1P~{>b zx>Z8Ut!I-&atzey`4VJt00`7HRUP%yKw`BOgi--cVe;5JW;QAwNi88GONasf%Gfy+I0o?Sf@q(=&(Ar)2XZS? zs3@X%Fd6E>KqkJY?LPBa{ftiL!Y8KWPzJ`Tzn`cHtk}OeQ)}5d2r(*8IA~TY zdK69O%s7L3tH{f}J^CNNlpUUX1mKrzXF`H+II%d!?|v;$1VaZc5Km#Pd_+!2?wc9j zdE?@aEX)WuLL#*cN99L#Y$s2y4#SJe>c-A8?FKwT!aUV7>Kgf%3Th+XnOoy~7u#;1 zD$BP1L$L_0d1INtl085x>eDv4W5XYm^f;)~RzEBw%Vi5&{NAjkyxT%;ES1Y6)CFJA zU7%D&s?s|_kHnCxLvOy=hy6=JWdxyf>=oSSwqKvn$rDuzB&6Crvwe#eTVS7-pz8=I zWa<`swp?B)2^pfF+w&v8qzujt%)%BJ^n5qz-e7Cc z*&o>k#(v`&LJrC!EG-2bj!B<6H((NsI0+}2Hjy3>M^FneGmkDrT9V?I3p!>DU8KTn ztuUSVq4vz@cMSz$5P1{fjsrBjcpI}7wzTtMc5%Awcu$*TNy>FN#cg!B{6~l$lNG6t zPJiQX_z}Cwrokkytq6m>2Cu%XE%W2ki78*!k`I4m_XwrVMX0+~5)NR+wF=0waKsr_ zKKb@JnFu}fYN*qp%Jl~XAvtDoXGmb6V87ZZ;zFFfh|ufO*;FoOP);IwB|N3TaN^0)v7jh7Z*L9>=Y{rCs8 zCjZwABno(8zE@Yi-v9!>y1G@8(zx|*S1vMY2A`0aJX$9@OQ3&jmKM%`A6jkG#vD^!$WCfs51;IVe z!cK$Cg0Vv%q{BX9Bnr&8Uh-LsN@@C*rN4#aZQ(4?)kWby=*Pb;JonrW(DmMge#5U5 zP5m&a9-&xxA39d8Mk6XFhJo@4-D2XE5s_cw$Z&i&cZ|vfF757%#wkl=?K1th3-E#Q z4-Od!l;QI4$ZuCzN8yS_*O)K|Sl+Nef}&{+KJ_{lUQK>bnnWfFzsNPZ$-~=m-9{u! z9dk&>?2$z)(lGeBGUohAtiI*1tVt2hhHMyF%}B+=U;Sr;0Kl#)8ykO);M1MJ$I#Aw z1J$W%E7!{i{d=0#=X48=Dc-n+&BDcB*Z1u{aM1v(>&?pQ4)P*^Ck`f4K!X~roVDoT zeou(U=UKkOG%w(ppQ;LVo4QcyPQm8zc}>-`X1cPRfT{{DK#=F>{{TYGYGTBU5Cd`;an5 zpZylIEnsY&Xz=#|95ROI<4WoX+PHZ`T4l%$w1gpa+TmCyxfh%jCR5ATUinh@+;&)3 zR6Vu(g1{y%HmVE1Zn;itCunVt3Yra4fpHY-k$>`2K9Xc8z>q*>g0>Rgt{6Qrz{i2DYZ#cHB>R zd*rw+W9Bob6&uvI9xH=Wo4T8kl(*Kfcf1l`}6; z#hI;^cUk;x7BErw%EYPcbpkDL*MmPmB)(CBxnr~FhZVuy-BpP}k6&ObwI19D$f)zd9d2)ZM{ zV`{{{mLECl7>*QKJU^=~9ZBI~{9sh4v6r?@iSON*S^eih`X!w)!{89xhiUn&4D7l% zqZ~NSC{TW@fdy>Au3Ph!E5|uRh>F`-x%uCr57`VJ(1@JMyH_t;0Wd0`R3~Y-t6(6@ zNV%UQpP20O$t>HjFI>2MfK}FsO@o$3l0t!Mp0e^;T9f-xZ@n!jx)KoXo%1nr{rRk+ zt7+on3UzaaZ{L+jcgT1v2F!S`(1*3)x)j z_CF-r8$|=jBPz5i59NS_L5Bo?H(aKinLWV%9CM9Qg~^wFE+Fg!BVsm9*(sGgl9Z5o zOT1_PAxyqXM{-*hnmCX%Dd|)(gGdG{CSZ1jg^N!TAQuuA3?HV<`=L$4K&=d*3xoBC>EyoHGnRxpJ6FKpWvi@Lf zE5e_4>pnkywX^hW(~|@^dSFWjyYH)^e<2Ek93oe0VewpjS+S7{>>gT}fe*beeLwA$ zA@_ypXsOParpzru7ACqcoojQgv3jY~`cP)CLW|>hP&Wg5utvrC>+U&e7Mq+K$SH9C zwBg4(xP$fa(3h_N`C@)A2YW=X>`)6o^_b|ttf?ikLllO=Qp(2RgO~zS%WdO7(6EK6 zjGfulz^*zCu`}*Ivo8M9& zJGsF_2!3)=*0ol%sjD?RS!4stqiC<{ZG9eFkI>-uhJ|A4d^-|H6ir9I{lE{x z=J?H%7|;VHVsz!3|C|feahSehgyad)Bs?z7uFKoGsSieir=HJr$wfho8v@alQZf_x zT4?yUrvsmwox3aH*G?fM!7?=rzQU-DL!pZ`fx+9kTSRM}us1`O39ZSaFRMrrxq(sP z(8$Q4fvL?GHy+`MDd;#87gOq)j?@k~6bDFHSZm&^YFUMo2PYQ*c!4W)BSRI;kaS(3 ze@hi!fC;)0Z?8YTx;*^%UxjyaU)CdXqowiOn}f^ge3JFvKz}0c zE7$FDVtDyhjg|+zQ}>O?;&X6_USV9fN;OOt=v6oaCR$*3K25lK^Q-YYZc8;x-Pklk zTzLJfvP z=gO?m*HGs1l}NJW{#n%8e~6>3$xcYaYITlE9^T4KnubeN#%*Fjo~rAr{W0Z!dYD*} z;7($6MKL;FC8^=gxvv^rzn3HRky?v7qt52lWEHy@Ccad{pad#nni*z5PA`QEQ6JDK ze)4_j7jjKE`S=Tjv|7_C4<(kXnwvkOFa(GF>>ayc=-vJ3f9FpE7D8y`3shOb)K5RC zLKmp+&wq;pLrg_3#X!jP6dZ#4mAP|T3~r_ zGcAx5Xhm2dZ#sbUn^Y-sI1`@5e3uS7i)k9vST8&vWvQY|KX!cdD zdBSJ=4Mr-xf!p&!&A!DHC@wLwh!}#*S zTOJS$EG_M_X4U;^N|Yz-K8hs;mUzD?!so>mvTZlgC3S+Uu_ua4uBJoccGufj&-*#= zwqb!b~_= zV)-9&{&Lp1l!4jV*)SmYlaZTUG(f6W8_(EjWssdQw-j~M&48q>b++7Ta4F-Y3&+J+H*Xdw1z(!L*T(WlrDtjKz7eP>V3gP?*1@JW~UfrqjUnh6}ZdZEj8S&5~q>)kd_O; zQ3iU*!E4Xd+8~HbP7TC0qFRj*2}u0?9m$R{W=^vFd}&U+gU%gCDI<XhCan!dX+}Pm%s5FdT@9}=*?qysP{FX~$>cVW zOY@&Q={pb3?wD*ApZ8Lu2PzIkz>Lxm!G)+`nMc7q)7X1iNvtJ8uz|Y*zZWI8v>%<{<8JH)4_asgHr!hb@bd(F z7+_M4ov*Mnu<1}~6>S7ucu3G!rMfF1Mx+QTzJW zNRM132|G|l$H7Q_{f~4t`0=gObQwizy2pwO#{BWg43dT|b<=Q^-240P^@icj*`hOO zmF@XFG_=BkY_4Q4f4g2^AQ&g=EScB|zkkv(5u@WVw+$epm?Q64~MVJgu zt5TYSXG8jrCTagbS`YmzW|w$mw3!$T>3dRecmcSX&ifHvB0lf0AcJ(|0Lp|2$0Pmm z&tzJFRj+oje*3R`e~EoiyHAl+A`%;OxYoi|P=3(Fw57j1qv>Y*ENkU_UJ8&S*vOYU zN|yhN0>c&?Q1JWXXc>?gOgN;d6Z_lmw3@rBmMFHzkJ$0P&J z&?fjOJTfeqVwUfnq&UyJ4tP*&TG6>KLQ(Qy_3n}};cbo7=t7z^w_>ueKUqo&Y5F^7 z(U><^o0`*Cx@S~(*O!p;U*E1i(#$Aqt*{9fnZ3L7XRlCF_{c5qpj!zEFU)VMlI)N4 zJPjajK3;!YTNxA@G{nfQoh zJozG+nIa48f*ZPCl2wKU(*KKr7LH%PV+y{BRry-6 zr_mT~$Zt{jqLU_CG!dTQ1H15i)%ZE8$o9m6>vrwDMtu}XsLsJ#s$t2xLitG*;XfRf z4S!!1B>1Ids)g7sfX4Usw>9h^34`7TCHj+(B~JjOl??K5Zv3-hZ`|{$9@m2Hjj)Wx zMpj63%)VlTXGFhh0((-nDCLiu{Ec?@KW7f2V<6~xC{dq_qM$5j(RrISx{=BTPOcL zGC1%s8pxNRC)GpMBDjaMHf#qHS=+N;=l-tpe3=6rPZZN637jpbAGMF(OVsdaWC`o) zxG0s*>{IsM;o~AxX@1e1jG={g3Re$9b|Vw{3m= zIKYAM!0C^sx>KHdwxcfnn=}rJGVU&|!{8a0MSc&jlrul#VL_dm5 z8MtAigN&+=>Vi`TE^IZ}u6hl zEi66FDjDIMONum>|C_x`h$Ls|%h?Kfu6q8BRay&;zbru|zWgpaS+S@= zE6zH#%Sk!5d+sY5BMb3|c{i|zlgI8(ZWKn0#Hdl90f+R-sFb zk7$U4UugEk%2(IzrZnr|P$23vG%cHU7aY`#E%FzAL2KHJfna!;+n$6UJ{)|0z*lxd zL0H{3e6+sdzbiP-27_V*vLy1L#-=^&%sUj-A2wzVk1plH}y! zdnFYkKj43Nv8A7zU$I>%#y#kJgo7iZWkR?P;C85b|9!6z`^#=8G+8-(7&2fBr|hyN zsKI_j{twH&)#r+-rn^@ckJ>T$<=92y5Kl&$lPnG!Dp_=^+%vq&%*!byYFfgKx(`hM3D`9RONJIhVPks1-^B?qOMmzW zAS03?wY3sThjV(mBgtRNL=0D7LWFINF$x;Dy+-DA>?|u66;|nwoKO@fUfi<(NJ}#i zJxK1qG2Ql>m<4dAjLM=R*>mi%So{=;ew%eOxa1M!^PpzunM?({?#A*pm|ol~IyNq) znJLKlqMo1AFd~#oAXs>EViXM{#ON!gr|0`I%dax&stm%^<5-PjW1LuYYLn#C9%vMG zOA~u)16;CnDDa7LKNqwwx>qEgVyC{ONg*RehO95@6Ph~I;J3$eCf*6Fy`J4@5;T-~adB#L>eS;~m5J@~#^aK8b-oynuC z8$i@1ma;y0ojqqWafCj*v{a~a^|XNTtMjg;_P4kSHWQv}#~=J-Zisa4vrjh6=_wumQco#vMr`i4wxu^$)JV#n9^I*p3UTY{-Dq z)M*SVl4z#3`+e+znwmRw=}qycW61YzLCuITO3G#lyqB%N)~Ies*mQrAmEf$ zMFlyjaB0*tXFJy5IMr2Lu0Q;x)iuL(etu0k`h@{R<09^j-5Y6JBa!)-d*AZM{KG`w zQw`ECewD&|wKk=qn;K`WP{!3Wm9S#}xIcPo@4LqBangeex+VVrT>Re@vActbCloAn z4(&q>@v0iVGJ=CWb^3A^EwK<@SjHVs$T2(Lp3^Oz7jmDRt0_&|HF&PaGOJvvemo99 zcQ~I_DKFOOEcoHzoDSi`5(+zEvFxY;BIwy|8=RX`H@2Pl#s z-akDoZxkf!Z;niIJ%`1mqDgvPbwL4sc!xKz9Z&BQA?hf%*LT`zpvzxe03}NXG=5$C}$U?H?xMz!6`%Tn8MsxOZ&y26xg(f=Jec_uCGxB8FQ@cuZI_-F})D%po zhN9+ydPY*l@+|_HB@Qv^R}>RPHDjAR&M9#3*!g9FQT@WX97F|IQ%^|kEoC~#y7$)6 z(j8wVcz+lOIz1twnT>L~&L5NRx6uFYwYc&vz^xRvJMM>+t=lu9COTcL;`|*M1mSD<~+8A6JWUM)&+wJ=N~@d-Pli$mYtsF+Y?M~ZAxEm(6|>=h8XpGQWnrA$8-Nbh#e<`#~h8*qcbyS|em1mNSQa?l!_h;`16>uO(T~)m{Q_bdSigD3o zwQDXI;l+nMeEH#>zbiPyhkX-RlMfxL5em9#jmyRVxv({S!c+)+nGv06YWh=C4mR*4>J|xgl~9!Pr1xe6_C0Nb8ul`W9mzJ zX=QV>0IH3f?&_3{LxtBxiRaaSOI=xyJ6TRAt5mI*b*K%CZh?UJ_-$v0Ocn*K70({J zZC~78PZQ9KElxC}&?(Hu69+Gi^qMz_$lf^9q;>BStH5EiA}Vf<@P;F@7`D@6*+;PU zjf%#kC|IKPVA5_h7sp{)j2lE!OU$vKnIszZeJt%`i_CSYw5HNYVbH`eo^$4R`3`2p z8D9s=7`7z2@1g7{e!Wj)6eh9{l>3JeA1}k{fABdhcT8D=6B2|Whe{-u`$-fJqM4Gm zF>LR}t|ajI>GPM08V>GJe4mglz{!bkc;D-YnEG|H$bM^Jm%6izgBgS$sG)|Z}SZF~N1eSFr5oDKy6fr&lu zsGO7pCgQ01#imT`N=*%QyvibrNy9^=;U?TFzp|-BK^^00tHPZoQEJSiG|07}kk(Y= z_-|QhAyf3}XoJ?vSumeLq!)a~au(;@rX&^k+^lp%7S%}QEG6{r!9BM>JGfM+yUF@u zNLCpueBSlprm@U+x>pP0hDqXtwql?vYtZ-pVI@bYq@V1T2~>Y;*d}o_pqXxfHcFhU zra=0Ec95ouIPW1G-sTI|5wDCv5q!bY;JxvxV<}^1CsdCbo72lMd_#s|UbN(65>;hE z6eDMqX&$3Uph%J6J460A<>%oKjGw{}K1av}4Fag^k*7!Nm-R9FvT3!jRk3zRmxjm_^af9taxug(#RcT%GQ)dQ-+8O&OLtrA4g{yRb{t@ zQ3C<#kM5H0=FpN7f|PXkp}RvRq@}w%1f;vWyW>cMq;zw)_pd{dao~OT+G{;)&cpiF z5G>w=58y9FLsPUiiRRtL#i1^UTr$M(IHv=tWIE1eREHYRcO!(MmPqjhlCH6D`N^uB zPvHP5!OYi}w7(L{lR7fa`huo={9JHncNd&-JSr(4$xJ4wKa-=I9-KLLb25zBSx4G3 zjrA^EC%;lXwD<_LFIgL(rEt$=BcN9`bCNTndJhGbEiYq=+f12L3jWY=mkdNsUdb1f zY`-c{#f;xT3hxYQdE3>Mr0d3RgPl(wfI;QpZ0w*v^^!&gY=Qi~yZkJClZ{?gSvdxx zg=3}qkCwoTIsSK&?3S(01{|sYqzPt|IvtFOJ$%VT3?Tm<>{&)1jEib_XX^&z!JbCcYk_Y9e%Q#GvL^k>BWy@7O zsmd_RQB(Qu$ApFy9%3q!Kua>rM9%B*p_BymDG%OO**~G=F*&UV%NWkKwGBt~fcO3} zgWbx}ng~{b5%?;d5RXrezsK-PT+Ak|!fDEUOOVJ@uE@qpqf;JqXjA_Y;0gu)v0OPCioMh`m z%u2)RkA$&)oaQ6^6@K=U=HX>5QNx)KZRp`9(Q)#b0oyognB0H7h~fm?@(~Oe)v0`z z$4l);H)88z1hk05q}iKbc-iZYCGh+G^*6~Z4=ocyv9Z$U3m00x*!0i zTbJtt4?&L8;D=;kBd09sf367NQ z(g;bF*RNGuV{KgZrK7<5w#zckRlO7b{E?*-UV9kzkD3-0vy zbaeVD6u$GipRW9h`s6O%FZEVjMJA9>I_=?%N1cJe@q^CdRyj14A3sQB1N{x%1jG zuNcF$J0^`$cq$O*3RSM#LQ$H>V=CImwWxM_0Ij#9l;g$?orqf+fW7wG)Ub7_Cnq;xLdZw(<%ycN7MW!(DW$|~0CO!)$eEFuTKu(b-8kLef zK#70*WB$`ro%`87t;cC6!fiZ2g6HuG;(B|W<$_nqm*)WRlKgg&jF;L)dYWW?I9t{m%Nz*1-D?T+v8ARBnNcrhU`0mDd*~U&McA3t5zJY-d?P21e8(h5h_E0VXn>C^X`*M{RPImB zoJ*gM&0AdN@V$j(e*Vi^nV$|d)>54P3lAc&LixV_UTG6(t z(Drbn&c`Dnp8i7Jf@%Kc$eovqar(Q$ldXQ=tKA#2=fdX@^D*7-6s_N!KZFOPmrvF& zjtc()F|X4E<^8HhcLEvHn(h_mc5@M)x%O(DcnMJ20v=&g)w&BM2iF8++O zTa@SUHGW(Q-Bmxk5NT1wHy~yJh^kd4RWaW^j*lyf0lAknIX%`PC2NDH4RF| znmN*Vdr1Ts(6UK-I-4_rZp(oA3n+q3jl$mmxwHWH4F7y?wUYlBdL6CfFjWtD-cr0& z``V^fio@Asud~UA0S|g&KS#3bVJE4VMOvd=3sTSNAEqD*LdJ#?zzdp!zt%+HxjK^9 z^U%Jj!MnFM?0nqPxMG9)64Ci%Z>5sVH`%*^nttccQ31NdzdOE)Tca2&3)*`-iF=Wj zN`r{JIxkNStHW4px0aP)qm zn_1xow=>?H?|Ok2GUY)){VI+FGb)==w6~8-@(Tuq5@MyxLD~qVS-}WLbS{!u5euPw z(J1-2ynI=1{(G6hiQ?psoA$`Xoe5~2Y_5Ub@-}E|KRCzRb1g`L)s9D{SM)HW%B+Wb;WI0dp{bI^sU^-*H)7LuiN9=2Mar61G}86Xl??5%_Y?Zr+eT$6MWG>+ z>S$#J`h2vt!;_=yJIU8Hvd6Nr$q$iq;YfN;7;q8}C|X!ShHBw`GY6L>^1Un;;)C!@ zA19n0ejfcyQfBCNAy%o;j)5TIqrg)ocnx2}{tsPWsOtvZiaHWN`jgGKwzb`8UNbqZ zRgJR94%;X4bbKAfE6>aSGQ}@hqI&c)#6Gus2h}r1muO+thPcna%}$`n1{TT}1ojYd-7TKgcIdN8lf=db~nnyL*jyzBSEvWR)I4mt?w zDX%O6tkvy#@5fol^8xR_D+MqzZ^vJYbVQ4P2Ln&=EmeBourV^u6I>ub^xgnzt~F(< zWv%4}6_y2VEOf+c^2MX3pXZsIG&I?aLZ-?~b)$(?SyphIjHqb~7!K~J-p1T4H-Gu) z>2HLNAic6zU+^ncvVlcBA8zIzIexeRO5|r<+nMymw(H~!cpYZ@dKkY6(2!4`$ zZQFdrbKJH|+SE;vapJJi^H$G&{f)w^3va704EtsY1tX4UX8E5@>^9Qvv{>Zk6Nuiu zq@eoYd#hCN=l>3-KYzG^w|+>DHGOxf_F#rk#lkQ=i@2Xc7DYK-s`DvwEN{9VFVr;T zDS>SH;hamRni7_z_n85QxIepgc4KG=hapmZq6|!EScaT@{+HZV$bg74fFk|$}=T=!-J=pOijoT2aTn?7aZP;Yl?HAjo!0% z&$si{H%_%Q*QKK-wV^sDM&#?dHfpW_ zE_vic;`Cj?_^OO4D*B!_&p0k!$DFBzIbNf67(F~qpsu|o&t%J20wJq zm|a^rnTRPcJWPlZWTrGuuZI=GmWrCoE{8R(!$aiKWoSUin@`KD==cGR+{pS>5f=B~ zJ7(M&k_)bjEf_0O`C6ou;=#9P5vYH=D7p^Evh+qk@ebE``{}C#A|hfw&u}(*#cm2Mdg5h@$ag6b@FHjG zPe}6_evx>Y&+v7dr|}iOZw_iJa`h^zD;xWwx8GUY)b3w<&M*@Ju_XGtsNbJU%uYEd zzFT7kTAvYeOv2mfi`Xv4K*lIpY8Yr%l(7E`0xv?NWy)M9g4aQGp)%7H8kv_uLC+0Pkmf<;w9fwNq5K9R}JzdNR$cJAOiL8HxIy zA)ZYm@AQ4+if=s%Ql@80xQY8sU0mX^XzluAFeBK&;kwUYIVD$?jU*8n13R);S3INp1UmDk_);2EIrB$f)Eep@>M~%h^GeP2 zduA3%*j_)6AU#SwL$f&GHaJW|t6;Q@J3Ks`=CjYV?T$#jE~^Wkjlu&oU}hPCP{8UhbwUm z*GPFToRTBzEWY_C1Q|d44FQa+iYYCj4}^92eH2smN=sbKt|^7Ysn>Cbm9EVCuv?6Z z8|ltZVumT(*oBH>vSkh-GMf}8-JOaucR32CI~WMI&EJnw|9;^#PNh<)BL2*WD<(o% zppjR+F<6*kWNaKOl{+>!2j6xQTM}2MhP-^Gp(EIF_)*AeCFbXCq8Zr$6-6>$XIH(6 z?e*#_g~xoq@5!fsr?!V93^5>)n-fJqA?9WDw{9N3(mJzTZams)qJgLM&@nG=inqG; zS;2ja*qY5EnrSt-&ZZs7ewaV|%*^F>24*Lyq#cD~c^NI5(IsGK5otQYMDIzkd>YVlP;5p8GCOTQHZ7 zGQ=25Ap?I&rf`}D@%5em6QV-vU^QDq*2fckoVN)!ursIt4QWT6{KFR;&D>uWjBa%; zx6@4eQ-^Eb6l}c)&{@><0MW8Iu_s`eu}>t1m1p z{LW9*1NuGCgO{EPc=sXlS5=h}&Cld`7mNT&1p^E?UD4?qGNS~@Amqjav|ufzxB~0c5HGBo~7OV1Ma!$ z2Mvc|bHJAUV+T5`zkq3&)RWoHdpeaI5ddP+1l%IOx1X{ZV&jSqpszf?0NHfx%w2_+ zSJIgN49sMFU7wz2K5cxq`l-`81S;lF!nai8!uL$TS1#4s395@zMjX#p->-eL6c${B z10zZfBI6;u>IXu?^n44E;ods)>{9$GT@ft$!wm6A=?bZ^$5oiIj}PdsD&WKC6@!H^ z47hHRvT#zU;jDC+imk&?WUE@++)lw~0>b!;Rz#((>g0RH2*O5dziS^qluLRG-)4OG z!;v`EMcCYuWi%Bu=+%(!tJ3E~^!%wV8KvB?Aen><#O;dh0j&(w>^K@3qbVw$B@xp! zNhh-yj2wHh*%Zpx9}g|&KETUErOJr6(-XM24kxIZlB=r^_zC1^6(ct3czyrloht8d zau+HXW*}3SH&d~b*_{T+ns+vz>Y2W#`Xrryo z{rUxc)uZ_{V(Adq-L|)=?$rK|eul_q=~7kGmzUqD6v8Ldj@URkyH^em<^T9ka;I^I zho@dy1joRP%MZ>#$o>4Z8@;-=Ht--th@ba>Bc;8eNGK4)Ea_b!K_oenji(vcu3s#6 z#J_9$$@f&#;(+L5Ah(#1x*g@Y1odAe%(^F=bgzSTU;3+RYZF z_U4lYzJ3}Lug&&b^bXKO3E9M_2weQaAuSY%$`6Qtz{O}qE#nEb^18osZEgi-#N~9o z3SNBpM?(xW(EvmOD+;V!<*|Z54?3r-#yCvq@}kl4x`%LverJ_U7ad49gVx=o7@>rs zmPF;CRnw(P@(TYl4L;hwtsQ7Jv~4P03K}>2h3(?Y)^b{SpuZVgxMpix*kLiP_r!%& z*r9O3Mi(}M3JD+A*#EG4KR=dhTDpligyHhvWnRG}u?bgRlsG4?bEY zd^Vxkp25(PM?qTDUsw0iQ`q!W<+~}_V9VB;Cpk5JyT@Tu_#Pn09Y9izFoFgs?Ry;3 zjy{t@qX!F+I4P#7!U@AUxE<>o61)-BvK%F`Ubia0PQ+W`52KloRVr4q3vZw(tUDn3 zJ}NM$S5vSG#p8a1uT_AJ87TGEtABbZV@fc(_t}af3_tz>y5fL}nNv$w)Fh1@V7h{p zFJD4kj7hFr<1AehSP&+c5m!rq;RMYTVd=(K=8#wlo<)`Kh?H?3l{l#DxQb^6xXk)uRJ*w0=k=); zg+KHX7=0$8qLikosTjoXsshQP zQC*>)GbZ7td~l)?yspw_pA48+Iy*8*tX_S1xwlOb&=rH5AY|moUZ>x=D}3z%u(L$q zU7G=tR0fo9jG9QqX;E_rAde+^!Jn0(F@eQD9Pt7}go;mvE^aa=Iw+`QfYYMfYIpC4 zEKaSbP0oNXI;-zHhit)Fy6urI`b$$=caO94^qW(k%uWME?+mM@0F2vRG%-lIwo4#J9d=i|GDKN+9gslYMSdTlGlNbdm&R5Hk7IJX{Np&i zd_n(FnO#KIF-kD&Gc%SvQXkxek+o$=hR)`4UBr9E()m5t=7A9dV`CqGxAuco!K?i5 z9(R=$Ng=mvzX#4Z;w|IVtis-XNYHHbjF2tsJDbc6km+JWsbr!>MkM2yNcrJ=k?VbA zHGX2i5uUbVCyJe>KWUlK{B-pWI z={YuIHz&6^L&Y+D@1V!6*LpiUJE0B8`Ei5ua##VzC;Ja4$X}ah6MMIaA=L@T8yweV zH?Ob6C<@Y!)Lmu>XiPY-<;KqubA*+!!F1qBn7+pG+wi8I(n^(r4O~=`H5~^wMYG2%B-Reih(3i!8sKk==H01LKM54K<36g~U7_?l4J09n$Ya?f8okq;A zHpt6WA)JK+GW?SHI2oJ2S}R9)=5V1q+y-*A%^BD77{>iC@%7KSOfy~^vq)*>DlSYh zUt}augNP6aJf+Zu%6g&mvN@j_Ll=|DB=k-gzS^V$1+JCT(Gqt6hP92&-+!Mp;NmG3 z-_Vt5YHN2_3R%Xp_;-HMD*I|-CGOOP&o=X@ZhG(?tjo;KB{o_^yzmXo;u<&#HY*$ z-rNDt+~^AQSB9kd<2LyLZ@OZ{q$vWZ^MB=aV2RDV(W%TMkECQoga@T?g<9!9db;{? z>u!b}&+U>lSwgaI__b#>$7oi-c-A|08piKN{ z*DDmc;?!w!4=ilIVj>)jk1tJY+r(DF26pjrwbI_5K6uV*&V?zuqx=_gh)gg2$qgI~ zqp#bZUq7s$Jd*CRq<^n8rM@b9F!$XvBY(IB=vYfbD z?)+FKiihRbLTqKA$#dx$0XjaQW0rY0Q;0m@rqln&TylHtq0Fw|*zZVXaQmKyuwf8& zp$*MWN`NHOdCS?If~Gr8ENQ}MlZWxt=LaMbAMJa~(`AME;}Es*lUMtAetfCmwk>!^}--K|P{Og@5A zFF|DoFW%ihgZ>A$D9jX9N6GE5CCF7sbu+FL5*oqiBE`%#<8C~Vw-O^Wq|v5+RgYLZ zOwUs0IaHKMrO9Kku0`MH_yXtgmu;D5t@-emVG=}mH27mTUzruEPfM<}A z5Lz`jAL5NVLLONnQQg4Q#?@Ntd&E4Qrkkdsu`t-f*Y=e=S|4K|sYs6@%jd)!AIavT zMh>OzoqOA+8q7u2M^RHKU8wMzC7mXvwL9w$H;=N34ysm5JcD&l7a4It}kJ z8O;iI9dyHdE5zHfD@x!UtjVd?kQ{h$`u(_LCGxrIc}D0&LSA9H+_GMvIPdz zZqrBItj7-Guk&gb#-xh^*6nmJeclJ{O2>h_D( z(FJ3;q`F#Px*TI--&;`B;QmHRdNqdVj1idqLcUf@oH76DVmdS9?!@;taa>=}%gj#2 z3?}|YDqJTudFLNKnYAIKlz2W~$=xcm*qfn94tLg+SDLSL$J^YW3d1lK|A4#RHy?yY0-adTALcWSygY+M zZu~`l4@AEM-R7!>8VNgy!S)hiyn%GSWg1cboJN9BazOyUxk^lld;lmyS?iF?0*$JyVCv&Bz7-@yAzz3mL=xaoie47je@>l-?@ z;~BmG%IWu&s%rAPC(T~EfVzQpx8(@h)jkeiu4<4NCik_&)q0AGneb=miSaU8#>u7! zDcRk`cXxm(o+L~QUjuD_WabEr&6)Y=NOm`c8G*Bs9u~h3(2b_e9fcV8kDT0VKNJ zWNTX+04KGbMd8n%lioihlED-xU;k@n%Nry;c*QHw=0F@vEKZHL?>ZQn`Hyw>Fl90CrSYPsYAnS9+qL-Dm;0d#=-W6*OND`E-T!T_1A85;#h ztCBD^lgQ@6R@c_pXYj2Q$kegn8|<4QALw6nyXd~&?$!u+PuyP}FT4HTHZ*i3KM^WkX5WA!ihjF`HN2aUZ zBrr!M%uK~-Nf!ski7h3VHYY^Y#ar4i=GiQkN7NibWYWmPiTf{!p^FOmy<=?QE8@e$ zS7c9<{kj7-p?1_=N=4)YE6g~L3g7+1!l0w)%Eb|!u_GB`W`_OLb%tZFS;exdIX^=wFj;%n_bOp3PoBj6J;{iWLFYG63T$;OZl=Z~Zw2~E?AUTjhIfTZ z+p**6H3sA7?-83;Z4>ZJc$y#~i^ImJiR=&R}STdVCz;P}3(93#u*675QA|IIv z>Fin&ES;~|T)+)Ob}FLE+2G4kR%W&r%sj_q{TmGuDR#d7%?}k9Ax}3r}KK1HEI~Px6jy9~Qlqp6F%UO`((L z7f79beYmXc-jTFqe&4k6W!tB>_ts54%WU|Umy4)6V+w*v;CwJrR6BRnQr8RyKKUG0 zI9)U9$yiy%9@&0p_5B;R;~R@Bha5&M&@{62$0det>vva+C~nn;2X>9z;Eryb^_rWX z!qo4b1L-!N9jknH;U8*Qzv5hwTFXDXS%3|F$y z?$xSS*@lm#zi2@-O_SiP*hnFh?Zx=q9_OA9lMlJlD4PXVEpkLn4GlVY2Q!G#np>Hg zITSj$*HP`Gk0=@wX#(dVpTiOR)4O%_WKxwrsGA~k6Psc^V;9^sic}eAEHA&!W>q~7 zR7Ol2V+QVVbz%}CM<~9HoKe*!ntz3Zpuv#6vqaVXQkh!SIt+rJ6N^Z6O7b0o7$s#d zm#fx)EeJXmsp*VGi&5zPrK%-3V2l=e(3HICj7}dxWR<~KT06G)0~d5_B;W0Mu#|6B zwXOoeB7Zv1rBphoL!CBy9R4{VD>wTAkDOXwIjGxEH1}iG=57;<12G5?zwI8tPt$NM z@ZcJuD;r#qc++Wbk%F8*^6Q21!a4+3hB!Nif|Om2@Hd8ociWf%X;We>f|>nva0%Q8 z{-PN%dUUzDO361QGI@^V4vNM8bEIPT!K#$G82_PY)YLUTY-Q$XCu;tDtGduVM^Q%| zycxVgt86x&Q#0X+-d%y2L*D~27B{ESTCgxQMh3|?YLZPZ1}6XR{1nSt1v>A#q)x4d z*FtUrU&~`O;1U1pLb3E}%~<3N3wI*wcL6lkowhVRpQ8Zx5gA>{;TME(NR=3Bc$GFWlS%KQc2W9uFt;g6f2Nwf%5 z?QY8tV)E$Acg;}axD(_nyK@XpAm8ZZ7yD>Yyd+=Jn~nz)wcn9=k%C}NfsBK75%D6b zbJ47&d_)w6W|s8}?bK8dw1MviGawWB(xEOs>Pt@{P>Y&RdJaTFve^r+;PAe&3 z*vMH4M`SlMWW3f{kJneBkAa~1v#H8p!rm*Hgy$65CE4ujewev;9$b#_jcYf*+GYPm zTOFayE|kDt|NTC9`Dls^<>r9w{$S<$kNWw_^e3mC5dt;!d1)0>Is>_|e>QkHYdgDY z@cX`*A{|B*89hZA`3}_UWOu(2KyXVY!{ZMpn`yV-+y|-*Brk2 z%Gg*m;_^R8;#*-bBmHroRB4mfIGotgnugdpabV~e9y&+l>-xj*DX%?q>iX#BX7r){ z{<8UdX4=FTdCM%?*7nwi2L;PH$mip^@pXd%pX=3rfwfzOpVp_ffb(}gE|Q7EO<$<6 z+6j7wZ1||8g@pxgU#YkwL02#e3kuvfiC_a4Kyo#&4ip00PMP<_psokO_-t{6VpWDT zzH>^%T-GpSW5T$DI4PFyrh&bdOU~Bq>K3=-omY_k0|656|Dy6_vYD5bRyal@xehMq z{AM4_Q=X@U$R*#tT*!}wy=2}Y+~^via^o7?i@i1A9rv5fmx7H|PqJeFJ%kUO z5sSN;nXJ__6O%BM#_nD8;M$#fumz()2VFei8{y#nl>f0Nl0ArRR|M&ua(rYXddf>l zFJ?5}V4E2=o|_1-)G;BCpM#bXL;<`cG}|)e z+F|C##;@5T?zPv>)Q;QkNkLUJv7~rXq2C_4xv=7Ltvh4o;tkvU-6{T$qrT$MPXc6J z81t79&n;UWNyo{;?GPcqsY@w4?~BZi_!0Wxp`K0U2bvz)4f=y8SO+ zB&o))T`LuJrpC)WWo5YF`N*Hek5`xFOQ5*HlQI}aKz|Q-Im*RZj&6giSFx2elPIF# zrxOvk-tiKg8nc#V2DCL=WjSqJ@SH)#2~>Q0hB~?Tt!;*1T$*}M22W5wJI<)e@)_Iy zf)y(ICW?g9GHM+Z#Py-g0m&O34{tDje0q+A!|kDg znD*buRLCMM=MU8pj|jWFyGMffLT<$)z1?8iT_CczsUCr97irR`6s}BPt5voQ8Iuza zpxhMwgYw_>qFMfRR>hFHa-R%6a)?A$V4Rs*e)W93MRX-=z(kP1J5l)@$bds`nCe&A z?+$Fzx^h|P#QCe%V_^j`x=u4!RDb7V@fHM$y|Fv^s-PL}D73OQ7d;g}l5-Akl0*2M z5P9mfR@_c}9`-(n3=OkpZZ7V&b#}f+NKVPv$gei%bG$$-->s@`RB-YPeJvM;Crj{C)%XZj@k6K8`^1YX+>n_HUj=-K2uYdiH3Rjv2< zh0ThcSGJuE`iv)!RWGJhl}a0vW%^VN`3*2K!kn91tre;N6T`#3G5TQ@wQz6`D|@-z z-OR}Qr5UPok@9ej7>j{HkX9Ai}NCt>6*HKZIis?U8W-4-o97B=&t zY-|pKYGxBm>|=ws6sl0Ml$0Mb#9!wib&|7{MTC8;TY5Ll-fq+Vh--vt(jsKFf%zk zWCFwVF91!S{12%J5>zSh+_{c~SKo^{4+=DXw?vS9 z2>86LYwHS{R$qb{57rxP0i<8b#swd)N&`)Wm-hAu@EH9#N0%1@Tt|@h1@OKO6IFZv z_i;L|`M4>pwzl>jINZWU849&_`VYW7e9s!wLOtE61TWyFA>hq%%};UZvJ*SYW{ZW( z!)OtDOO#LdZK;dbYS%CX`lY-)G|bMg1X*9i(P`4aetu@#sFmu!l>(Zs5RiVZg}* zQ*;;5V4g~{Jnj9^CK1=e1d^}$!-=SmvI`n@ixPEpb-$Q9mtjw?U`cBm-S7I^eJlEd zhK|k_&NXbj6P#;vme$+?X+mBJ%L*Bk%8w*3N*UI|SNugspQ@8Cgik&ZExQKi1h3n_ zFPz@)3Ita-AyDi%fc#w)PV}pMDb=cnm5@Q6ynD;vG_rZFzR#l{oow%RSMP{u)4N;Y z9Q*|QgynHoZ4;MmnTFWD3 z8V1eFo#%ov_FETAw)K3!YC6DZuhsfz+24U~{jI5dIq$RB%&onU%@O92>YAE>8X+*3 zP14q&RHLl6R)6!AqVOl-QYz>Ajl$f-ap6}+7<~ zl7m)k`b%WFoYIoERJDIfeb8KQ-?y9umv>y8wx!Gfq_=l_0#TqQpsg-Tq zv((DQTh8{o=%^-v=Q2;Ll#&^_V&lJnm*u;Za2HJ^#KT<)F`l(ut!}VUbm0rFAb;Ue zPk*XIP)3d3-8E&GqQ8DWZNatgD&WkoOWZ%Yh4mJU_5%OP#pHns0bdHhL6!4Q1vAa6 zJ4xJDItOFx&zIXDm%$$cSdQDO3m$MPzGnnqivLIjZlua} zn}>3L2+I~ui!#c`5g=?MGJgphCPx8!K?Dn5Tg~llQN*umLE$NWaQXS%_O(^xwy=lq$iviI$e}Vi#;Pt{RZEjPbPSv549rb zWRxTnOL1y{8knmFu>@f>GM=#+8%rt$?|z1OT`?(P<6i7jMT8T-Cs;b0o5PI{)rV9f zQS3W67yLIiW;lkaNMOSuufqESE!V{0{9g%uF`1UUgXg=B*F)y>@FPXm28`b2VhAZL z0V3+pEllr)z4bazm%(3ME&|Z|?S+p+V12r>d#>{XPI7_o-RlFEjo7E@1@yqn<=&RO z(U|e6U4#yWxoY&NM7c!htO7G%*q{ez(#t_}1PT2!lbcxTWXbzt>)h!+C}V6BA!}vp z!fE^juQqg1JLtA?Wi=*2c)L;W< z`!8)QEH>;4~%ahN>oDyH4!T!S!VwVo5Gh5J|wj#{$9C{Nv*r7(cN&c9sYu8nKW0@ zOjAWe^K~LoNYeed1+ny2N|K%D1!*!{6tr^0N_rTK_M*(jN6TO*Z&)L5(5y9_2+_i|HHi9iu# zp!rXhiKn5ho6k3!r(Cu{6)9?OO7ATwUu;6LszjKRL%|SU6iBnc{H)C|Gi@F`0u~SKUnBmzb*xR z4+u;Mvwsp=q^jQc5pXH|#~^0%Iz}R8MJPS~&~?Y8>}s$|H3{$3Imstu@=Kt^CgwUu z6Y0nb{CPe51sa%N%HwSA2gqnj)Pl!9v`EboM2nRx<~jQkhCw~seOlRdBbL`LrQ+8ssMxdhD z-Gm6+IPzIa_I)^(ZftBEtSy}{`fQba5M{!~HO;)KXu1z}$IcUM5G=Nm97HwmtMHIa z;b#w4FYL(Ul(p!oQ!kKXB{w73@hHOv%Z%Bd6VdH8e=4SOUrV_*sa6t+Mrj(92D~Nx^#^uRjpi z0&#Z9DSJrX{6WMUjFSiL_^DtYJ98RB!TyVF)Y3-MdWtcP)% z4!lWV+Jk!J8kLth>m#lxz#XRA{2m%mSwq?0F^0w%ErMdQ=T$PzOL?;(O1a>>2!FM*yabnfw3ZKTYr6f%8`o&N`i>>w%HjHR~l7(`a zLqnZ)^6F#>On07K1asd+<{-v(#k}gTv-d%eLn>+eVD6PVI||T}%NL#`@U5gu*x%;3 z9{684U~amz)NNuER!ihwfn|A4q2zY8IZch9mNMvL?ggw6Rt06*j4 zZ%^ze$Mvo^HELj}!hw%+(?cuVnJ4@=`k5 z`Vf+gQMgV3b@h&499~iFk{{Y`eb#ZQTImhAwK3xG#8M5TUrO;`lXyN?*-7+PV55{# z?JJh4MNa|x>OXXVS+yqq{Z=^dd8?9{qVd>|-FpH;OAt&P^@zgF3ia+`vRd5sD)hTw z8~9o}R}v}3n{R4L2r0E-3Qa2{K}~_)jRtbF><-w{H};n^+96$niTb4Q4T;y+tyIb& zh2+KxW)yh;Kfpu|f)3NZ{SKgZ1ap1RQiAdn%4d~e!*ze5i>w-WLjZO$Tq8%{`8j_8=KBq>lUy4&H#qBh zkz@Fo1Mv9Ly9{U9a?=;34DwuJ@zSxcSzBSt$|NOK!Ha42DUI@~hR`XvA06lo->*Fj zKV7yziGZdy!?@2TA6WV8y|}>EvZxc#c3!eEGusWu8fQ8aGx_GZ*|WD419FwO>Tc&3d*3|wp?0t4UtpWfhO8aS-Za<-S)*5h-%*1huejT!Dvk}XeTo$G7^a}ydg zX9P|_+niw*33S4wTDyo~H&Shna0xL zk~I${L6AZUP5^oflm3NZmJGSJgE_t2SwHwad>-Uf?_a?@(`ZZM70UeIQ@0rO;cFU{(wq3{c@1?DyB>QVrPzq!TOOu{A?4!4{ak-g z#Rr}L>9-Fr#d&yntGxxuUN&S5+v6)%%p)O;Yn34_C8-KNKb-eTattdu6E_dc$;HIk z)_2eC&}fY-SMZ+d`~Xsk23OnKx(N%Neu+ZWlK7v+TzsJ+91%LRR~94Vm}i5SvBNH~!DF&1U&3o=bi*A#KZ%y|RO$ z;Qbv9qOK_FP!xUcG^QVJF4F7sW1mo`LJ1ybocP_d}z13gqs+sh|8{!Yg+ zoi)|t>=&(<^V>ZKO@~{SM(`Z`+oa@>aqcl=Q4IUv9WPn*n|gl1c3*>O((ZWrrpoiS z$ayn#2zGz(hu-gyl#-I8RdG5q{ps(Jy8PsktCB4Hs`Z4ejZt<|x+SnhV-#-``rZ|~ zA6E85{GKTPWmYtVeZvv-Ze?}GxBpQ$4tsIDVdERDKSv@)_PB?O&N6RbJ@UMBPr&YR z_;%ve8zqV;nzW5|EP?X@zWh!*=j(Dv&+7ZHE3d!QilDCOU%YFcyKMLxg3-j5)jZo> zX#-y2AJB-6&hHpp#y3e$+z~#B{DsTByPyUC|10zH4Ab?~m+=1J-pS4>FuXmS*m!=C zUQ+Vh?|h4qYE=qQy9!KX+qr(16^>WHZs*!O+KnzU60-d1?6)|2C8(BG z-C*6wyDWgmQAN2pSRPj6E)vUSFIFOi%GQsY>d5o?R_El*h5pO}SLvsuOd7UTrL1z0 zzv$Pit(S{Z=gA3Nhlg3eU=1+X@3GW3GQ*Cq3qSCgieiN8FgrQLe2isglM-v@w%@B7 z(>tunEPj5B?<(@zlNx5l2 zNUNHTytz>Kb_O>$%2^;R)1rPE z$Y&F*K5H?nxGmI;&dhKvFEfL>9>8X)LI`ZP72*=O6p|v-lkSHu|N4;O1b&qNG!3*I z8ah@Vh#{^B74E%^;HuP(OK-@Vmw8dF#^8LVc!k6HI{JGoBlsa{Yil#{!Eev1>}IACCjR zL>O`yoFU@kDOaR%o+;&foq1|}_`XZQu)HEQtDvTzQ$*M=x=m3V2l=O|{p*e4(>LO$@|BTYKUKwN} zFgI?iJKbLiUNg$85cg{`eQT_xQKR>*m5rlWC?7U&zd%I(9vLN#9GJz8Vu32oFiTjf zUheSwclKqm{|BBfI&9^9<29Qt0&2~jm7XlC^c>Z1sm!Mi5Q%7`MxIKfkTN(5Y9uW3 zeY%KT8{J7lIhcExb~AP$gZNsUavnc*ZT>N}q1dQ6l1zycB{x}={ZS6iFlVr}?;=wL84^WdU1%3b6JupA*i#*W^-tA$v{Q3GF;<1HRkfK7I zA=I%`d+<}It>dV|BTB7ZP6XfRp0rZdUMEqbzrcM;%8pu&>}v=ixNKR~tz?Gf%)AYe z{grQC^`nj#NPmpIys#u>ON_hRrIQFN+eX6OiJ;?YJAEOm_DwsKXgln5SbocAKz~{}1 zhmlXGQ+G(_`tBLe52xnE%wwk$=npSc68e9tP%K$b^Sk|zqq7XCs#}Awq983LjdZ7Q zXaqsJy9Md)lKznH?rxAqQcAkJySq!8a~Joge~`o3d&N65&m?yn)H^(Pz(x>${%K{# zq}w(EiYC&nQwNth-Z$?LKMuDouV+4OdJn0!JwsghpH)zqn80MPK6OJ?xb&O$dc=E*d)xB`ZDo*r>hTzFP;lx3P*pd@9kaBn_il6DBl9CE# zSal#qdbblCi#8jN96&nplLDo<;lod_@A5f{PRZoPstK@(y536^h-8uP#pB2A=MzM5 z10Vz_vF`C#MVv%A4Pw*9DYG~+?Iea~=kf~8NDP)zF~8!tECwtWsg%(ZEH))mb$W4K zxuy~In!-a1*!E)K!z0M`%g*ycZ5e*gx-rc$EgxGM^JV@rTJIfOJ*jf~#{kl4%cpwO zDYm$|51wb9zt|iI`F{`$_h3aFX4TqF5yFv9R3lBY_SOaGyh`t)SdWtL?g}Ogmtp#K z$|e4`Y$k#B?A=!eTA2*Z1xB)`uf$s-BeEA4dDv z!O9V1y$MXyioXJzTE?y(?}wbfrf9VR0AS$z*Hsi|`tTYoM!B=cRaLFBY2!m6VI`v& z#{r)fN5v)=q%)r6;Pj@~?%XqScx1BqVr8=Vd4y8=k5Amsa%luQhc$O)*7vb2Upw@Z z(WE3|8ifOjLr;}$J73|nYftHK=8Gk}p1UMjh{Lpq!>H#?(Yt=e{@!E5Z*~xe=!8Nx zxaA~zJ>d0^I9nf#w8dos5Tu-?bC3&mUuEC@9hd!L(_Ed6$yj|-SrQ)yQQercpRM4Z zHCHA&`8-VnDV%)DW$Q>#o5@fwR5;uFFF-jJ7qh z?O^p#jj&`NEwLgCd_YZIeds>Qe2uIoww^I`$rQq5QC43&bD@fr@HukrI!HZ6&dV=K zpP@k|@i>QF(;^!>B-o>AA=42NWgV@6aq;Q|@>RH}yhL$Hef^`x-t<%i*|hYobrx>8 zOeHnLy8Z;b4XXsZ7?VnCVBAH!_1LR~lu-}KR-CsgwDIiN`d1Hr8wSJ=xX_DPuW&if zgV-hSRZj+DZlM;{P2lc(asDx=$SM{qM^iQ}KvVUQRox?IqIF59t&RSuJZjan;c) zIpIQ`mh|^(lPj5q`Rhc)H`?h$7(+pc+R5-NoFbifHG{HXy=$W=^!Fp?+kZ}jr+3#k z66ooW|K=(rB-2v(D0`hM8AHEwLHtL3-aO7lKH);Qh@Y5&J|@NYbTvt+t*KAy5Cg7z zJ$K9!+&}i@duXbXGm=FuK(k4|qZnz0>zSa=O#tV`9_X7g;lIR-Aky4fYxjNG?6GkG z?XRj)qD9rf+&o05E%MYgPtxd3&BZ`t=hfGvCyFgc4Fy)LvVKfSJ*nS%c4 zUn;K~ew@RAnC{MOO`K_G6w97*^qq>n*_K7jOt;QwGbd$Udu9i7?-&Y^EO&)RBv#03 z`{mQ;BMP)$1XCrpE(u9oIM|K)x;jxTk=r^!3J|p`Kg{lU6;IW3CM4NOhW1m|B6Ya- zr3h;8rpd9BH1)7VzQp#v{T;W*7R|c^)XHWLzvO)lUouT>-}WdyG_pJ+Y4x~*jfaK^ ze_4YV77|oA?KU@m>edURkxXxd-fG*=onH`sj&XfqVC5stMmkqZhNP!U5apMWh+fR^wAO3 zK%f9nAhhm&YJ@|7SZJeO&aAUC5-;a2pQx&K>QD0pmefZ{f5H8q!;x*9Tv;gLiUvc% z_F0|PAQv^BmXfo0%pxEFx+1oL7W&e4ozL1*7YD0V$W?Ji7Yn;!Q6}@1UtkmnBjtxt zU7vi=sJ2#|E3JU#Ln?RNc7meY9$4OyA0ObCTrN8sKDuhsFTSV}|u0bMwS+*Xy!99zGaszNLR+?jfIb`o&^J&3Tyh@y8&H%p|j;-boY z+IcW7+c!j+SV27V{MdRVN`wq|_23CcH2v3yvyntRjzOZidR+I#LT3J_YA+8C@Z}lI z%bpu|vVg8mo)-R$!(#utyFtxEaeBr)_5pfK%}CFsMR$UIV?V;+6-FsKGmZH;nVfiB z%t(uT1$PpO!)4BIWwo+#tTF+r^GfiB#=mlESlh@|a^ZbCC<+aivVND=5ovs3O+~}O z6XH#27;nn_FH7c&`gIqa1=c`uJX2c#z``&4H}#XslrodSfG82hhI2u06hLp|{;+tr zFx%RL!~bN)f7v*C(MtTRNB4oaO|jjX$c-^JH@}t&mE2=g%t8c9tf95aJ0ml7^9}Jm z36NVn_AhnUV!iLpbgtKYl|N_hC*uJp8%~9`-pIGCm7=O~^L4e7o^ct;F>>?FG2RGh zD`(KtavMmz6dPlXUN%RnLV( zMrKKsu}z@TmQ0)1;rW-~raJOe+0{Mq+u_#d3u1U_Re?nOA8&&40O|Ui|HKJ zJLP`>Hll7*?4`zLC_WUY@#=z`AKD#w=RUtfp|Wz1kyJ z7n?WOpO@^_Kbn|DBA--`yBjx8k5%TQ)x&GJn`L)mp!9(!w_X1JH{379Pp^4^}h4vOX;I*NKdxXWLC1l@;SJ^YsZMty2=uld%bnnYQ{mabHqZgu*E*l7zjGU1^r-(cD z8A}eC40Xau^V+>@H&KG=q=A4B9E*#9n#D6rpaXSlJv;04ct*-J@v<&Ay`PBFpG!Hl zP)s4QA$_Zd?G*L?V=UMD8{$Wj3isv1Gd|4NxJiAYUMdL&MZGRu#Z*sS8UjWVbSffA zcp2QcL&}s&zk2Vdcg=JKMwN5WPBN8VdxQp(LyF!e`-!e>s*ZP1C7}B7j;`mrkXigL z62~hvOaFo&D~YqNI`+pzTPdF75LVR1Mhf#=mD>}~i<_l{UA3YD`vybm<@!PYYFFNLZ zcJ}P4t3=F#D|{hBEhDUc!j(k9`T#ZirU&llYMkcr>x#Y=I*6)&?wIlUBb<{H+j8QBN?aaukJF$trVuzF%T4B_MhRo14ttwLcnQ|Zg+aA5-Snq zE0sbQmB+W@e)zNjkQp_?F-r3!ZD?=ahQo57xTE)9!XAHjciP!7_cYyhuh!_Xj{)?o z-NwU_Ca^J3z`wEPwIkS_DSuH7ZoQ1VzM~h?ebpO2TR)h#NaJ!2d+&YQ*?ij(%J+PW z>9H@RyO9o(I2nhmV7766&A!1!6)dx!SRf%9i2tDib|92SJ8+8s8ydA4A=Sc|8eKz% z6d+zK4eo+mKM+~4+PE^mr_^?J#P+-*$#m43Xw8SC<*Y)lw?$kUoVDS}R;|WGjPtG- zh`jme4IL&ZeM-LS3r0J5=DAI~$Y*uwbZhCcWibS!s`-60uY*FbkX_)mGRbrcG0AWZ z`1b0iu0a2q%L^#>iU(t9Dh@QvJscLNp(;l~-#Os;QqfoXNO#P?; zl<)oLE3{S+?}gxAJs=0XF=#w#pdy^*=o5+fv#;ouvI16soXr!on`ExD7y0V@b}$(##W5Ck*9Ytii&k{4axPqiD6nj9{CF)3{WKLNz#XZfL5h!x zh@UqR@&JZez{5dm9u7CFIvdmhKYI=D8OA4dfxTU*iSYCp-$R_#7IL?-9PGV z7d%WRhw63lW)qqe!6Ib|%Woux=u+ZWrKQ8ONr8ztD=S3OfLWkQt)j{=Ia{@ z3q{fRAG%(>^Tbs74zpesTPSyV5z36QmDP7c&~Pfd#pn(C7zHGR7ORI~jkiTwKXUVL zPrVcV=$y)2N*m`;>nw1$HDknXnpMJ-5YRFg-w7plf)3=YK@fC zZ!8*8-LXApbraaTFTI6PEEUbJVek|@+U zX6etHKI)Kqp*bpj3ZvAqs=p%`A@BynT3(sb6Sm24OsVFfORv6PHSsJn)u;3Iy8|+S z*L5b;f&Y46&f)R)6E+S`HeziViW>oA+B_b1HGtV4oQP2&g6JpOKHZ zVt3cNP|n9D=q)jq*S)ij>pi6Wu)49O3!sH_W)1#ui^O&1lFIEb^e>y$&e6kg_8WV7 z6ErX~E|git%>V;t3j-4)us_4IPPJ+lZ}3D2zK^NNa-ozEN}||&uIHtq;byd=?!GW) z`pNllU-m%!4Vi!7r?(vv$`a@0eXI-y^|wq+{J&2rbMUs7u_F1Ce&+c<-@-ld(@AhS z^&WfdiFx^f>rv}fUoHb9(b`ycCm@Tk8gXl{^7LL?s5KtfEq)0>_H+=h9VcKK?XtkFCn^*14mj-g@bE`y=<15W_dj;CFxyYXUe=KW!w)#{i9*@NJ#4w05BD_a6fsiS`1{e9w%SPS&V+Yyr;Xk!v z#gbXz`e6wcOn&HcAd1oZJF~;%EBIc@6ypPC_iM2T;`I!*rQxX~ti@xd1lVw6qEV-F z?4AAYPYc*lh;dzWjTS)?5`I(@2z3}mG^CON>Oz~dbR_K2A;l(e@^>rLtec4}VTkW! zFty7hHqd`270^n=uuPVIa8gEl>#xf6-fP5R8918)c3mBtmSM69kl}`y7(k6{DBL;V zo^NM9PI`B|#80J(3#GkuGMav6H;c?3UR!=o#6~U6*fkmc@)wvV0XVHjlM!@8nTe); zNX`zlXBCz$DXod6vBH#6($wO~Iq{#0Md2xti!Jr^rLC2iK8MdmE48V3eb@C`im$86 zldpG-#+Ra?>z+6vEfYOsymHF7(<$!*b_uiUD#-bm0=CRS+g+@2eVpfy`9Ue)~x zptDNeX&WyZgr0dnXKuV9zWuM&%V?YVGynDHY#;FHrq>k3tsPl#Q;{ZYDOuN2D&{!#* zLh#M7@n!WUPl?e@I7TJ+zq<@<8ncKQM+KF1ae#b(obj)d3!P`S+Y4l{5xCc`F^i$81zO|RW+Iw@z=@l zn^rM~lE90z-h4CDn5&DeLbfK#dps6i8>m^be^+?%`mYyygXbU10SS~9{+3^z5XKWI zBw~D?r=+&Sfe=W-1Mgcd)3sad{dJ+MP?wKhw|Y9)18VkXe_#JeX9B+#PfPhHlC#g2 zgB{nOV-Mqv-e}eZBPHpouN8XV8)&!Mf(QSZtnj44SIH%fuDYJ1zHaZvolu8AEODQ% zpW%;F@i#`|$zX1mZMG^*A51(L_fRp10tLgsZDq;P%U6QlFK}{j(tRuMbg(0N3nQCmHk|xh+{m;tQWhS?VW=H>C798HGQxhL( zuB*}1BIIh8cHyE>F)w|N!sDUK&*LNn>uZ!^6cs|dZP4bQ<~v3kJ%Dr!4@X%@|5)pm z&Vp!WRa-Pmpj=QO+4~h|sskc3yvEL+!m?OBuBkV#nk`6(495T|7*4Su5SB3JsRsA> zlmg`vm7gRmJ(S5GIqN-{Z7%K}1_G1sc3mCnKq+l$AYd^kTNq{54rAxh8d6zAdS90` zpFLg*+YK!(Sr)9jRFy_&3?SzZoqY#KJIz{A7UaE~2a!G(H2AuDEe$0z8aM7~wprBz zvk=>V9B)r8>l@vi{8^CAetcBK-;x}BDuX^mkPe$3fMS@UxueZ^O~yef83_@d0<+O~ z+Y&KYTL%}ODiQ5xe38e;*x<5fSz6(+wWlzW&MSuH59}iOaaD2e&+UIh!uyYrI?-mG z=I53;icDfK3>{SgA;OmhDHzAnrvCVy?j;?V-JXArhPz4p?L&V`i?Km*HC(BQy--gP zF0p|dOqXqBsJ#-WoKHnFStT~&E@|@9m>sTj^%n{5hku(Es;%&|hfe8TpUeo^ASZOv zqay%v;j3dq==sLaDmT{eE}xP^RSl|*YLWp}EdvPmJ^2=$`pctw{q=b4WiQZVEW=hT zIa!)Dir>!FQ%!L#`h=+IQiGOLnvFjwKiRZ(y#(V!eQZc|hf;d`hVT0d5iX2r{)R@k!PHhB0-#o7)-gU`%eretk%{4(!esd4X};Zx4Ln zf4Cd9yD#T;-6UA~yK%*^Ph!YII5xjfpi{9q&s5BM7Y;gt%4Y58Km6%@9U6#wmhrwd z6Zi=3ws!eD4?lW*u<@EqJu6Xp>AD6K@_BVFgZ(wZ4H^z^8O{dxi1NcH4qN+7rnpI^ zNj#Y=I_Bmx7(kX~7-WSLvlB9LCy39x&Cq@Oj2QMiW4oWgGReh!D8!+k3DuKw>n=gJ zZTgyW3YS$88Ls+J3bClLhT%k{7X-10_cE}y2H;v~i<$&{uwpx*;5=xQ#Bh^!l z)QSMf2Ngz>z~ZWDagHv3(FQXg9YnT9f)^uyPh0(-o+m>#AY5&a0Wb)E(Ogl6;m=8k z{s|5C0c+IyBacH9-R2I?>QpB>zn#pu=-ze>N$CbnskP7z>=pr`1_aYX{ zEHfwoK>w7pXw^zpgz*UYuPPg>1j}@KE0mELn`c2%O1^?KjJILJz&)}!ahQJRAfnkP zH9a}McAE7h_So5Y37G9tq=$xBdRnXPMW_^tT5%w@F>PCsLq@%cLgJf3W;Cc0F&NZ# zwEwZtUXeEzz1k#+3Y}y!ZrK{T=yi6+<21NeOObkf;U#F!v#2IXZ@`fi#J`1 zDD<4YGFBglS8Fo7c9QqoKxeVXZ41~dm)p(>pgTU^{{ZuUt?f|_dcdxG+p#MraCu$9 z{PcYKlyP{}zI~u|9>j*S0ze|afBz1=*iSiqFyK2OVNqfjy%eurs(;*(25hUcsmtcj zVnspz5XLLh?VYkbt+_!&l>$9%I7&$z{q6Ipn4Dzni&TcT5PeE1xjs(q+D$XKS9iMs zDbdD%{2>w&6MkG0hzf49ynQ}m@iJc=&aZDROe&N_f83lCZvR|9Dh?6!j}JT;P|W^@ zdV#%JBzDr{TC!`Z9^-FPVwcyXTB1;<$_+f})N&bHCf@%{_HW!@oQit5Z>KES0jyw5 zb8=v5z!FTFhF-PH_bn)we29UpFWp@>->X#Y^m-lT*3{SC#tPhF0^3kkUiZZXtB@qP zc~-x1H4sDR4KSx@hF?PM{qaU!sPGe2>?XCs?c5 zZD(mY$T6>*@Xe5WA)#Mu06JVDnn4?T;gOe_xid^Ke;6V>xG(fON&^`lQ82 zO|)ur!}gw%DT&y;OFf8HDWin`1qIAS{In+qO78gXx0xNls+clNb*-5WVqw6$0EmIg z^zlNeX%q+z4yg?@D!a8RetS zAGE@x8--ozTtf?K@LnC?!pBC+5%vPjBt=O{1K07tQ?;Vop31zKV;>M2o~!$oBt56` z$$H*dP>fmrr-$eK*S-WA6sv(=A$Wx&8}7>jzUlsNdeooIr_I-=(x}XQC>R)->;VI~ zT(?aYEuy;e*EFF*Jrce~6s(~O&$kYiyxC(?#{OcZ!UnG=o+q!&#zyW002NRyPWs9B z)krBm;UE4teUkm319PVY;R-1Q$bkWW#5D)z2Ib4RBG|Bonc!M4kuK-iP0c@%3Jb=^ zCC^Je-*81JL8QwMu`3Wn=~KjnfGvh69aRrku}l?E2uN@N?f6=Z?H8K?anrf!^Cx`@;<0YKj+q&%bcS46 zNeQd~yrwU!7u;shIf4|s%fd}AQxaJWMWeY_t-I@Y{299j8r5^ef8|rgxmk-sABu}) zSZfwWwACH9JUp$!ec!#WUba@Mm^H1hPtM3-GCxI!p%#VLMnFhVv|sy+VR2~D5Fu5+ z$asP5kZ#$uEGoHToucY5~dYeL-zeIBo2Zv^OK}tdSMGp zRyO{2FueGN92_ubovN&;Cq47u3TBGt3KFI+B}nFXTn#~njeo1Bje_G!;j*B(ME*u3 zH&M5Ovie#I&;~yoM^`9G+^-BN5k>HJyE6V$hTG|ktVs8$6I?2RJ`tmOZ6nj-U>-HghmvMs(Me z8dw<`8VbQu)KJujj(peaeq_Id1N@+3MvfXVcozYZI(3r{Z6F4^rx4lUbx^+>A@lh9k3#i~#T zwBG)pkJ0D_m*BWc_(%|?Ha0u$aloIJYXE6G?c8son0IcJP8by`@u z3~|4s7x;|kxAR|*E|I(IoKigE$c}`8r_Wi1@5{s&pJ=t ziOmROsSsLE*>I7OhC9?Z8LfwYOp1J5y6yF_!fo=DfzG{$JR4V z44uk@&@1ZC6BMkhxbbUEvUN-}9;2{tRoWz*mPu7YI9s+EAD5uVyLXvT0Vuim?KyO) zrJ^BoIGp_%)QCjkjApEh@n4`v5PmCAJhvkZ^s2~YXTnxU8?%(HYOU(uc!Uu+R}vV0 z=~l_SWd<$1#gom@H>bOg{z#7?8wAc)M7tku+J4qvGp1R}g>58pu|l|JuZPg+WT|!> z4}>-gTnxqSJHHrGwCAF{KIgDW1AFIV@Lvao6s zV0acSa|$qY()gyenSSa)o%yu1J8x|j`)f+R$HW8=HL!2UbMl6PsX~W*&nY=GUEjj$ zLq4W#W@~ybb!7GQAzE&c8_Inr>C^Ln6q4c{NyZM~y8#(2@fh5Ej40MzcCChT87$N> zp6)tIJB)Q#RA84`bHxkEKj*8!U82j!Lw%>7VCd{zz~wB2m_x%v6Rt_WK~u1y+A}uR zY=$K?W(qN_)r5VTc3Re7dky{-k_pNp0MdOz`9pY4tOzrOh5>Tp?`%=YN(NvJmf1wO z%^3a8_1)S!VtRVI6{)c_|4{kG8E6gV07$|JDycr)sNG5E8?|d;>8o%yO%nbwT@Q7 zVPGzhU!+P0Y$Mn7A0C+bUO$1tfy`rtk_Sth8zij7bB4S)*)mmn8axF145OC+Q$cEC^U_J;-TzZNgRjwFfY zDqf5L+k?3n$P?)N{$qb^;&oW>by%$Xysi6uYgNDePpj<=sqHM>xd~-{hZ7e$WXB48 zJ;TGp8>=_UP(!4o(+BNV4~;s_vdv**2TQilc=T(X7Poi`PDz>%H+F=%@i~emHrx?S zudzIypA;YeNfr`ui&S?$KF&l6C&Q5!o?P93Ub)P;DT3~R#7E4|m80N!jO&Va00~W4 z)VIVC*p^8@;m9=VL2=`|&x!1*Zi%BvD%%nN9czmfu?h&#hFdjbERg)%Z%D76+3sN~ zoG|hx5WW3uTpa!ui}qI*`u3#u*G~zirTx1$_0KI=Hl6EZZ*vR~ee}@&-$wL8f$H^s z>|OGFbbe_ds%mZ?a&}Km9BJ+PTH($JfHeAgdOp@|ftAudiv0U0HxD3Y0TNPB!Pe*a z-rG)rNAi=#T^*f=g<1Q9DO$o^m`H)=w-FWvtqN)1c~P(3d;zaIm&L+sDkG4D6Wf0W zLwXQ@=^K87L?jJ8Kf_|dO3@}4s^E9~D%&HWn`kNoi5TO_{hB^zEPETldHr__>E4N0 z50gori&h=~O8n+vRX$oc-z1ZhID6&v5_GbJ6&YIx2%?<@a5nqMwe7I;UEGacR^Z@p zH9&enr_kS*4?%s}uxu#f^k?dT{iVjR=RQD?TN`K54xa7pHfUD{*19{+I{~nLwu4LG z^BaOxg64G;o3&2jXLvze`|E|5qJ;K^dvJ6jp1mxZJ?skBL!PVq+COos<>e(d63_bk zUA?>{PM>ND)mybMH{&UOGG&cY8AXIF2mbknVH=%l3)0bktjcKCE zW{v;CA`MXxJN8!M6}zK8xfC<3WOCG8D(82P*>545qJ3DsF@>Z8hyA^sI2JBu@bNKf zi}iag9_4S5=J}f1gNk8$)spnNo>Gd0z5WnEc#Q^QY6%!TA-)OEP#C)bv!|v;uaK&2 zw5Ai+94w{Hgs|_{hQzPt|H}zmDN?)|-gAr`+UhEIshMZLJW`+B3O*-n_o!zdA)066 z{YB*{T9>G(uSY%(3alrOor7X=b8;%{kh&~B{n@KXL2wu}< zxVZ27%gRuC8(=l_%=~658)~|M>$<-?QI{+@7K7+j3t$jbH0FBmiXRDAzI$XDfb#@LByLdytqu)$iSr z7R%~u)_Xy376{+7?SG0P#m1L^P9GMtL`FO_4OuH!;bbe_d;bl;JyUH)e6m$13`8;+ zwZGb{a>Ru*RX{CjLGPBor>ert7h#(H9M&j(GG=&=R8DhjfaU%X>!T?)YGzlaZV`5k0RIrn3nNn(kPScFCE%P>3?yPH5uCl@QKl55i+&YO# ztXWLTfixQY)TcCEyH592?!RL{GD72$F>_DB4LWqFvebe`9meS1Q}FdPrw;60+bRCE z;`8&7yS->Q9N(%53$CFfFSjVKaID!bQCG&jmIA~aCgh9J;0S(BOy_pcepJLkEJXkX zOnlZPuDBr0V@Rkita^yx9Q6!sNZgJx(dspNFz9rez{i)Iqhof#6{_`eojdWdb)q>@{gjxqwg6Qa<*4fS-p`tK5VElNGxX)Gdjl_nKFUtvuu?xaIU8g#`SeO`87wOMQZ{n5eUQd@VK#b-na#(3iq#0EJkO11Uw z&OU*?e}3t}*2&1f!sEKcQ7cuu`A4um1J-wdES(+Im7p2!qch1#x7@rq7+|*0p=@ z;lRB8`H~p=NojIYJ)!&l9$(Y!AUr^0&I9Z$XI7!Sr_Hg286F`I#0}8D2MY%_Uf`a^M9JznW{|N<^x1apRcdOg zw2Tbi?-Tt_e61kw5^Lh+N7pNk}1vXdZPA9BOi z#`Vu-mKQp0laLIDnM^c*#M;fA=IUds9{%M67GAnhVLW=3ecr2lDoTl%DzYuO z=qK5C1BB5^oVhgnKffj{lE<3V7-pu5GA*A!9cA4XS5Z|HHhj*o>`RI@edd&_M%bnD zY2~rlv0P-GqCuuCm^~afujTT*hY0*L5a=O(EL`2`r_S600^KXHRs$f*`9|W%*-MAS z6`bc$M?+u3IVd6OpwV|Qcr$zb2ULS5jvc&Rb6JYTEWDgj7VfEF939a4S_uAE zEq=Ht_~Ev!F8s5XVeP(FsbAL8u?7?;b3#jlmT42*5rkT=_n{-AYobg^O`Nt5VLo4v z{zQE!KKNlRD|d+y@Y(_}XYPh=HcY%vc5k823vFxQP+4C*dpMOU!*k3LEXnP*!4+O0 zS3k?v2{A+O>3P+0$=9Lx_n&j>uif*|w%gFh3Faq^7o$rg|2@sAJM@7Y{EgDB6ALrE zQfB#XNk9ihyX}{@*-mF|1}%Jzb{*+2b8<)0nSZL)Jm&N+Aez||KrmfjM-NS_!h~;a7UTyEgbK+azXsp_8 zJ%7{^T>8Ci?Qk^r36+o!)J@Q*eZItCPXGKB0}kAt%xmce2gLx>waZBxSa#GZ@Wslt z2@)yJaVf_ks)yYuIf~>PrK%;U(C`PpNUj0&e@0T^XUs?A@66>w_ zq9`STdd%>(6L1;vNK_G0M=Q?xwr3^18iAPeof}5pHM*+KmODV7ZVa?$-hmmRGZgyN zc30uOqvn0BCcwKFm^=dqVDC&Bp8s4KQa?}nIXo>M9UVQDsSbiJNpM<$5pkp!^`iC-B#?A6NMPXzI6fg4^a^_l#S5@M!ly~=b<-Su^3P7W;b^5x=8v@J?4IYrHP5wq_>3wbD+kKP_v1Pc znorY37?GmG4+KeO|lqiUjqo=bHj|u^Yz}(GJBWq_qSUjtT4QsK|%@S_pjY@fnbEiQqrft$Zh*4I=sqV zN@K<<0%g?kgzqz}eKkWUXi71sxF}UHn(2e6xZA8%XRDWYGoTF*IkByZIri*SPmwF(i@6VZ-aOkxk!{E@N`>&wNohQt$Vi<1$3bbeszGiH@`VlS zg0J1KeOD1%#J?965Q8g4dnmE~ET6|@AGNb-hQ@z#t`3hi1BMK$PlDegTmz~j_JZ&^ zKZr9TP|&>22#db5b59&EL%LnWDe6jX5HgtmSnMnwBrim6guGu*;6p&V!;RThS0)_@ zFNl~xxyR)oFCfh0kk*$i5?J9{gal7!zvo|ouhJ0m_qJCf3zEF|i$oERV3}FG zESe#Fo)>s9QPO=_V1q6XJsw5A59rM2Y}+12e)k#_+X=9-A%S5+`8O@<5VD^nTelZ_ zfSUs5{cOyweGa3ad%uqrt`d)(-l%Kx{AXmuZBk4YvMGI55)!pagB(CVORS{!vr_wu(0{PE!?ful0aog(Qt65#>{j804t9`!v{Z#R=TW*z}mg?z6{NSM; z?scGV`+0bHcvBvwx9u1)AFhaC+2rx}MGgS40BfDj-GCY^C#Q=v{Zqwrd&Q&g&C|r{ zLp~0Q3dQ=oN#?unzqq?+RNXf|4Ug9&Q}VEbejt!L0PX{SsVJ-%+4|V+jRyawtbrwd zHr(b}(<5-Eym)SyLWGl+922$S*HyGo z#&`VPdoC1?=x)L-v==HD5=@&{HAHxWyk4`z09@5$P7_Ns1 z;e$p3vlg9RXF@Q{deR|Yw5!hPe4A#Di$Z|79M(`JIDglOQEz$HwX*W4iwje~3g@8s zrm!vl$>PrI6RcXAM)~`Duuf6cZC2J!>w_MyNY5jK#~Ww`^@|@GKpVWHcu)9-jY~vA zszfWM=-~W+Tjo(pOi(xwJ0UsvfjbZX{dnX>7pC0V*{;B7A^#oiNz)Dg3$Zl4P|o3G zi5rxH0e)J~D>~+!b_iyyJ=IO{-~F&pXd<69%|IIo;Q0_E2jx`a=Ito=rNcUFtZL}6 zU3xR8rYxO7=gA`n`%~+i(Nr`7GULbwE0w!7TS2jlnblDAmN+w`-xsrCptYMx!zNI& zxe@zA$RgZfk$PgV%QwHzg9O2FSF3uAPT?R+g#1g()sa5FKOS&OR>5514K3DPY^is%J z^|#(;kZ!yA{SCKw?d6Ume>*ZVM(ytRcRRUopJs)^=HRW-DKj~*smp?+TDdWm!p>3< zgWT}m7SzL7O>?(b5!*lH(5(Sr6U0Q8*Y7?~C!5ht|N7(^9II%EMwy$AF)f-H(S&AD zqf9Ez^<)b=B?whP<#*pWxyNy`37XK@%8Id_SuoeM>1&Mei3z_+sc?nUP#6jzH{!h1 zBI!J!fz@-^(?kO}W3a@4x%a&d1FfI1rpEbY;^NR2v&x&o+MVB-Pe-fcnol{~ns4>` z)LQRV>gqJ}ijA9=^C$N)#b}k3*Z>+O=sMhKVR4b782zr-uFIBd3p%=zDW;LIe4V~$ za_U*Y+mn_YogA-`Yc4O*L5EO_h7IFKg^v&>sBgOnms${hJbiLv@;KvOp=6v~w zpvlVj9A@$u?u|7|ffZ?RJA6NeDU(X^&L=i{HgeV;-c`1fr{}qcGAZQjF(uVNDYx5_8QEv`75g@8zC@@>&S ze>~`yy!fGNvQ^9eu?;k%?RgfuFp1kE@YpGk_S_rk8D?DA*=UlP9v-q}ST%0#xdDo& zn$J_)Gyp%fp6|9%4tm^6?0%Hqxn9YOkBZRoA4KBEUUp!^_SHUbEXA{KrrSaBDYyHM zGiJbm&}gx-O@$nq_{0@j;+Mh)9#AFwp$MZxS)2Dzs_Ljrla?f=+vPLM^Uy3j6*j5X7&+%(CA?Jn z)b>k3`RIWeNug1BhRxm>;QTP036T5#z=_IF-JYo7<#7EPRiH5^>{Fo+w5y}VTiiWz zond4MNs=u*x^XMb;2Md1-iC%{LhmxEO@%!s-&E{M>E6eDxZj19l9KA0q}5v^ubj=N zflR0eDs4XSJuErA1cEk`3o~}WE@4wy-!vErohII7%X~(rAEdXmv2yq`UfCJe{N?^5 z*Wghu2Rx_shP7}7AB7m>py{oTlb=e+$}@jUhLg2Y2R=UpABAsQr~aKb@Pp|D7;BG`SP<+EwcZ%te{1dC0NS zeU+=Vfm1+H^DTo!%&#P7^yCuLT_dy`pV}I}K&Sd0-v!PkG{#Yf5`Uyly1(x37NKT@ zqh@OZ>{AV-R%P#Pp1e|b36R+VVwot<$l8#5vlF0Z#M2`7Ja|CT8 z$|WW7(<6+?X#ETMazuUOw~gFdGKg;RE#wQ(#mhb^u1OaPeo5JN)M9*zzA;DKsh%=| zkO*(kH6I2iDWp^sj9flGPvE?R_NT5~gqbt>8&hcSz~k6`Le(zo4}<@g?8f=vO9b}IK*K}eJz%wGEst%)@ZE_6Xq8Wj7Fc_sVNUml+jnDl+jUF6_~7v zz5txu6zSRP;)$dCxPfyA)M=A6Zij*aID8bb($aF4 za zirnZ8eVL5ww>%NAW%uI)RjYqXkqpeYh&EZAGUt5qXAUaSv^w{@T9Ywu5%>+2m3_95 zj+-}e7jw(Y+cR3D7dOuHcivvRo?bx-kHWrjO8!c*1kd-Y4-v8-KDVg!s zBS>A~mW%ZRHgt?$hm)SEuwRl&F`aew_Gp$h<@hp#VU;mRtCw_tE{AA3hV&84@ADMj zB{u!NeE$B|P`|cPA=gJS2mdLpnthA>iprC%!4( zKw&(_OH*Tompt))?O>r$UHkHJI`F@DwRUPx?!|-pE3fh`_e?er9DFUT>hL5f(_;%V zT(Y+ohQGw;ABcOy_%K0Y`~6y;JT+S#>^V9jeBU3PGS?%QPmwJc&xq3Awg#e2^k}#y zEX)Owfs0`Bu7-=6LHLipP>WTf0^YG?# zpLZ_<&O+JDf@y1XVf6HFreWDs1rWxstgR1a&9m_wtVfiaQ-|4v3HrS4!+~Wc%9^|& z@@e>2i90LqLYvgB4fFvz`ah1&Dy*t*jlu>E($Y!_n+^eqEeJ@LbeD8@Nq2X*ba!_t z-6`Gh)7^C@=Z*^>5cXVaelf;7uo%@_9x|Rg&>sI@W0S2M(6Kq4h-+!Pcp&2=qQPz_a-H1p+$tjaa z-NZaZckHNL@5eRIk@YTpUZma_3LKV`z>w6TxjEcgbP)|%<;COcuf!|WEq2l>eD3%c zw7wK5r7_X$4tpx|b2Pa$ZhT2>3fQn>&IqpsH4&VBzx-ypx{T0(=s_!qV<`FuB=8Qq zY6qdwEJn>^g1LWE@->I~1q-d8#Q#)Hq2-11C`e+P%H7&zOV(0O!WJ_0+3^{$!fMCD zj0(Vg?7Hrd!}~<-OY%862O<(oWX^)Zi4Z0aS7;T$CnA9U3nES83zvy8@o`>H&sn0t zm28yi!j*q(P27)>qAk*if8wN@khrTlphkEz{Kqff0Rcl!jY`qqOX?_IW;Mq?MSylA~dRpk71)=w&>RWfqqiYJiW1O?ozOZEOlHOnH>E(JP%0!V^kkdl#%%3yV135 za=NkLr17u`{K_a3)5o0no6B)UV#p=K$2j>7Er#F7=^<#K-+tuZ*)*0QKfwy6Hi*EPf}Il zkpYDUI^#?{o)LM;e}TrX<)NYl@n?m8!}pqEpB2Z3lSxeY-GO8P|FH*B;!!M!HgKuO z^q-EMRI)^(6dVkXdYfH3?{$ymTKk>HLwkdhb%@8U#}nLyFHBZ{Y5oxjKIP4P_h+Qh zByoKevD8nSS>Nuxvzj~7(L-~4rJvHC{byazQ*Ohw?%Qv=SDqoetZQw}nu0uOR=bPU zB@Fc{8i!=9-W01!vIh1=B7dl3UHAKIV_n@MXtBqr2@Cr!3?ym_fwr1Gc|*qSJ1GVlMl5WUG2}JT zc%%8P6%x@ndbf!Va%;udx%q*towO)zKSapUDTN9{`7HXnBN4i@Xq2hpC?Y)4Pq8w# zu7vo7!;Jf=h4l5>NaT15PeejI>CTytxZW4+C1XLDFth!*DSAX)zGkBr?5T!*bzvQ5 zkgN{r#Ur=Dd>>ixY8SDJOn1F@7q%A?zBJh2LfD-)=&N^7xN+b@rOfF}Rcer6$NI;T zj&x!FfRaadTt7>|E}6UvMmiq`&jurkKzta@HG>HuEh@0!qCh3SvbyzU5R^hl2+BU- zqzyswcOY3du1CxjCi(iN@FZ6wKQ{5Nsz~m?#pR#I=5e{T3J(yy`W5oe$&6p0@WMLC zf4tG+PnR$j^kNmIB-H6^fu zt;*dd4NU#f{V-mpXNIF7Y(S67SoCN0AkiU!AY1KDe0s55xaI`c>Z96-jw>yIbBIc zsD<1YMp!aJ$3rap!wKW_*7I%9f@Sk#IRa^K`p(NF`gg4XD*>#>#dyTi$!QGjCIgot zROCN8R@BE^ea~GZR#oZf%?5CVJH2G?SQC*)>2Vplm=gMsj+!UdS(BNWkF#$$FT*8< za+<9fIYx7eSUOWX!G1ZGPEc~_)rU*9LyowgA3BzuE6TNJe@JyuK3(SH&*T#J2^D>yuZdxQ+a$p;xK2+JDR0-bwX!8DnnoHLZq0Z zRjd+uKJyp+>C`Nn!@xSEy|0(&ikU&91p&|BCv!RgY%tMtp?Q=4wwG!a7(V_ngnq29 z`dJuVzvRw+e7}6W)d}C;XZd{9uJ7y&TZk<)wK^_LymfQB5y#}hK{SH6-rllNK^d6D z@M8*6t*;p~GosHzGHSa6HPq!EII$_*E^PT+w4dR})6r7WOSith#fj>Hsx{XO+`LZv zYAXYdE$1Jg4`TwZN9P&30ED%)q~VJ$k%uMhT=%P%-*o@m4m^&IQZPrj=tL|)D{`;g zN<9eqyeRrN{g82iq;Jvv{?I9X9nkhA7DVD}&PjJLs-{|bQ2HyXt*#1$8 zl5%G7XF7x7(D>Lm`PZ**yyyR@ek{n=Q0vnDz(u`H=JqEw{?~|o zRnHRrrBhsW74~~fiimIR@v_mm#4S^WCOrQ>G%LB&+1_C$j3?)*il z8hvoqZ;*7@+WL22^P21G`dUWJdRD`cIZdknyo9Bdxu<|tvioe&wUxK+$h*a34fp95 z*gAIFP1sYOyNs}w9ar37_`bET?5zJ47b)bh-@`t3zIFj&gS}2?(WpPqPB;xPm<(yO)+Hu@8t2x8b}s}>2;D1w&oO6LN~7zWm? zlr>g?((fgyen$pdAvRL>yGv~3suRm3+=0cV(_Ue|`|*sLw6u@`-#z|F z`qx2_u=Fg@{=n#dYY3tqj+<>}zt*2$V2vseuD)YLA0-#X>|%mWo7CcX(LCpwq*7sl zz_!4A=mgy-1VV+kO4yv~$Gtk(=E~a{iP=aW+B)OK7;WPuA2YVjoZi)!@N=zkyor@D z+JeN&X8H-epLqXaHvCn`@T9NlI!&qNxPFzJ|R&BMn^!b0{u6TM-b*%Q(fJ>v^9)C!$qKi)ywkV`bz)wdvA!lSGF`L6t2 zj`#8lqPO>&RfiF4*0_=4bv3rPL9wymf3i9fV%UBlNf`LgtzQBnPj{u=f?p~K@#WJI zN2}wn*8soZ{7~5o82;R}@H5e8PI6c^0$-A~;sL;34dUDi2L`A=n7FM_1<8q% zU$^2vB5bn{^M+gt+GV+WhxcBE=PqhxLxA{}>G`kp6Gi>9J7EGlLzVLu z(mvI!44x_NagAz#gUFZ8%Bgu4*&JEa{>pM==*I=K>5k&AHb3m@$gPB%`7*g%x~3Q< z(~=oKQv>_B`uBn|wK&1Q;0+U-(c+>d@#?F%h!@0cpc?Q!<+##s7GY0Tbp{T^uO^K3I~Q0FnJ--$+Z ze5WhB`ZcKjIv2{7R;NFw{Z3)Rfd8|}*sdKA(21&>p!;QO@6nXyae4R&5Yaa6JT%tB zFP@mxfd=$objcl^E6yk4P3imVL2?mq^-cs&A?cK1Em6vFmrWIhCV)E1d<4 zjcK!%=^Ma4lBDwQa#AjtPTWY?8#1?j*2u`xbVfumqwGHQYnDItL+&%{-7#lJ8`$q+m{>Sir z>Plr#)uHTu7;iQfg^&}(3qHJSV6CTpZmX#oa$^1Yf?@s(>x=%f<7|P@h!c_@aMrk_ z6zhi;&eVfO=8P!adE40Hs|)Qsb{*J`sMH|fabt*o?f zWd;yG;dtg}IH7I{uzXeL+jkx*o4#J5@I@DmZm^oo;Rnbo3>Oy{(1Yy%%ia0V;!T3b zni4iR^1vT!AtOAeN2{toOmkI$J|}MdRU@K_F}KezHm*UPdZ9$Y!*MuKwhB`~JeLl( z=6j8p9LDUyRO!~f!vK87D0H-Cx!}XYq9pTvUq;K-Y?))Mp!iqy+VH;Vzw2Ep@h)Nt zbI@Gpfy?l2h;sUw0hxP!Wx{b|K6L(&9fX2@i~x?Php_fjtrM^YI_sBqj|TCESc2~W z7uMz8<)+P25~ z?*v#I+AK*G6=P|wqgqF#Xq=0B88p62@@0;VgC45t>VM9ma6Wvw)8=)_zoA(Le5>$R z>LaNJseH2;d@g5aZ>%moLlU+|l{jAo>^P^kTX}r}O5XpQ7uH7I(ml@Ap8dDt-Ydo{ zZL13p-WT-QicjNI{fyUh?wN_B2Xt7cXJBgG$d>{Of!h?rkHPr=v02j!b*{ve(NaF8 z{#O#o~S=)}Jme z0gsO#RpO%>`7G0ML0#$K-~fE+C;e|hJ0N9gVhh`YQAGR?Q)9+k?00+1RsDr(!(w)3teiHa++0fg~m{eYm^rzp_<+J3& zvRx!3C_YJQu_;9H-l~U0`C>}xkYG^jHRCdbzF@`5#@~HvumCo0s`z z&^IUt9t!h3NRjxX8^P0qOZ>22?}(Fp}gg;gsm)`HLe#R0S{-6+g~)eSAkI zVSf&@Gj+tRu%rdNy?2Jr;d{e+oN2A6)*Em(QYi{9OIz)1YV@GE0&DDTKU{{h44_#9 z!4=0_vtZuZ;CjolzrTOeCfq(-{=;^+jPKJY_tj=nKLg+g&@3M{VqHJ9^x$5()Hq)K z;=ZAEej4GCx&T5AzqFi&0r`;4?wLM#Lb2IU-JSwImU*==%lHq)%jqA!(a(+CRFTS` z)G;B>`b(Whdji`f@9uOO`KzTBmO$#p>$n@xpo^ z{?ob>FG=I-FMr-&Sv~C~-uZW`%bEq(1Tp)s^z$DPtQ27yzm8a(t9X;q?QP1Hhm4jW z;^(0Do~t-X_bshQ8bT#@0Or3}*3kGQ`PrBGMl7>BHKDni{#q(G*7PIW#;NbF9T)DE zXxo|KtNYP9=rYUAJS7;I=EN--@RgIHaRh>094vmV*#zrXY zKf^9Xegkl&`^*Q|7iDB~0`+1#KGlJ#anIQi;_>FsBc z;7~1^o-5I-o8t+-DxUs5ZB{XMD7(p-ed@&Es)8WeZfR>=O;>)!wq_@3pRcF>$I~Y2 zTfDLSbqI!Sk4|-u7}39l1|f1KUitSstZL7>rU!cF$8psLG0w7!9v#(EP$s z&NLQfEoAjb`f^F*qUEV&@gqY#QzN@-m?^(SPh9!eY@BbVpmooX)4f;v?*_KfOP;+? z4*`6`J7?d?HJt$Zg+s(AXJb6q5dkA-q?(qs!LyBoAKr?qq6|F~dB@21Br z7hpV>p*kYfY6?p?{yg=X%P0#3PVY>L{L62G3tVUKa*J~w#CMJ3a%`9b7ZmZNdh@%zd;d^ zG(>EHJ-{^%yC;dk!auycFEMlaFWmvZ-VLGu!$CT z7lNfhru#7ZV$zikdldHU(0OBB|6fw!CFN{?XuQ_(^)C>5=f7*`y+aN6_!?N(U4X}K z>qWyl)&#;5@kwD?m)mGt%p&da{6WfEx<0rIyh%XIHXrEy=mxB)#NQEasGc`7K&jsV zh;y07C&zbUstg;Z?#Y z={F(5EXYq&Q)Cp-;va9)uUwhCK5P*001-7xnnOzN)|Qy8wvXqfOne04$AB+ZRs44c z`@?vgG}?thShASDd|NrnWLAuSJ$3SGr>4IZr5+{t#7@|>g*)bqwPzNabW%NRe*;0%FwWk8R}(u?rLSIQbUVKjpini_ zqLHFcYjQMnu3~jA5p!lZ{A}iYcrd}W*VAcbEkj!J>5Y=RyFAQ@HdsyR+v>(ZN0)xD z75lhql$`^*Jpwg;gist^_IRMOrly1ZpAvq#!;hr>ABq%YW%S=u%fFS#LSH#Y*T&Gj zes*fJB$tl%WkQmXtpu{t;%PvhjbBVxpC#91W5@OGKvPy$rVy0_Wg2iWf(aRVFLQ4M zG1cG!NiO7!MOVc+efCCZtle#i&Fb`D6I;(lVqC4Rwzj29#73`lSJ!oFf1JjT(76I%2q9b~!%f2-i}WARpM(HI8Yo ztkn72q9TMRgeN=>q1J5M(L(Ju`gyI$Tz~Qb@wH8H3uj>QQp1~uk9~IMt3FFVs!XB^ z^i32(CKMV!E5TDD8!%&t71GpP{&uS>kdQ`|_!QSAhbb-UdR_U{_*MRL{G1~F%X4iv zI+?V_p{%kaO^M}@{&FadafGnSceKJ2gU({5FEjkWYpt)Z4~9}-ad2<|RRP2rK3%Qc zExZ7lA5MuqN+xW<^$NO|B4eI^yUx3M@%s3sipZtNb#-M{XPeaSHvpEllkSp^=6>SX zUln_Q+@1j}+5X)!??c@__v$?I;fKo?E;@m`?M#~!pu1q__;(+1! zi#a9qhHiqI@*~s{1U_`Z9Os^qBh=$x*Uc}|=GQ!zg}ht99QVWCV=s#&49iYa8H;R7 z2PuroEFD)Bi}UU|F3sFq=#SQIC9$rvdEE2;$}>05_3bE@5NWAF40Nz>-M0_T^6rjz zfPB=p3QBJKwtvlN^Xxx$$~b{kLHdsZDdYy zKyy3saeav39l+&z=4?9wB;MOmH~--<@lgM_6RbL1_@581@vmGCj*nhIBFPlkO&u@T zlDw5;rMfeqc$uN2tPcCRmYiykturgFYruXfD=+gVH@D4;6Dg-)tn&7;^{3-d{y+7< z7ZAdBt|FxbSP|!w`JzT%Ev2_RKGq1SQBDJ%{o@3_RDE%z3Bl@4o3gS9Av|8+2m~l} zyH54}ciKIdodV@-Lc;N4B(G#-qmeTte2t*K7*49qZ*v-N5tCW2cJ#@}urO4W;TL4p z;@7Zh6I2fBL<8;v&BPY4F8-U~aU;I%!iVc5ARo^}Xu=l4G~|@Ub1fmSDv})=USD2sK!xU$P~a+^j8H9uX}sMH>;-yXYd(FVmdfF8gp)=WTihtwuvHPD{5OMu~oY( zoCwZ$r9F}XOuCA017w`$6vmOkdWDn^AO~j|#b55yzFV9f%dTz+#D)1y(X6KC`;Ob1 z00nLsxG9z&w!Z+~c{yJ*HDCQ?VIIA6yppOHbX0WR*O*$KkPlS1WLVM(kTElQ4yYCR3wtS#dap&E;*U;uBuINkg37|5SZ{ z2V`KQJohNz{D2CV@X8$J*mZ}y0k8^h#sb_E`t|s;buP)X$N#lDENp_^BIv3`Q#s)2 z3C+jN>OhOPCG5T_+yI7Tx2y2aUqRvtSa_e^&GG^#0i(R+s^o_NoXD*BYB^Qe`R95f zxc7pcPEZ3&%h6?@EtrNGGvXF{O^Mf!(~ma;P3rD{Rj6Ll)j$eSMSXqm*%=Zs;6D8h z@%DH=<_)y=i(~d@741hBA3yi`&A&O|!5HiHvY9nIQ3K^xuGF-0ft^J|<)5r7o%kb(svU z24rwYx$#GnPRNdnlDQB(Nn_FN&{^uPohs*byaBp?7^yD_BhmybsptfaTHV95IQtKD z7`tZVk`g-b-f&K@tZ&{q+bhY@0qsXjzEmYx(SV#T!pq3!%=Oo)x7<0F;tYL9Wj}pI1ebe+)NWQ?a!OonQ>>_mNI_qVh=C= zp5{n<%7m?nrm!Bmx~dxvdS_np$Byf<$cm3ub<(0fsH@LpC6QC+Bez3~$)CZ#M1Io= z3j6=+n+(!aR$`FN@da{=^_wS2kp%A3%>W|W?Ha^1Ecw9#HuN84#+GmO3;K?R0aEqc z9%TlTM@3JZ4hMMm_xGt^ZT;7b5TvSX0VN7Ziix8C6|f{!gQsz_fJMPM*Xw@X8Rh=# z867MYhtxWCm|{v=TAD-glEL18f_&(p>ooe%)b)xNAu_#6ut4_4%d-6=T#mC?^Frpd z1(xsYm|fqc)~^##T}){ZEJ`s*OACmWn1)iaaELDH$9ZqVkI<B`HPK1zWiX2*?}C{!4$ijHc~CiYBOMYHuCN!kbz zqj=G`xyZPy$~38bS5(7STZ@q5e=x7Y*3PyDA%+gJ9IZgybq0OgX{E2fRTazclCEX^ zpIDJrQiN^mhAM)~hq%GiZ%V5-xBT*J<@{pa9gLawhGb;;VLj?iu83~Fs54d_sQ+FG zb_QWlo%QRf2K5cT>r=JI{d^~)f59vey{D6%n_iJ>amT0qx8o@FCS4d?kX4Ny_@4xo zAm6R|DaKx$q+G-*KUT=sefR^ z?RTl+S@W(sBgt{%RLx&MdV?JFYRU;tD}vG_seC#{Mx`lA4eU@M0k8z@^|)Sn z^Z+nvUf_k-HgpVlxo&%jJwgW)7(wjyLF-;@BL zuiVk+pN z=2@<|otn9j4{7Fc%qP?+tSS?tJnPUOn3)tinhhN*x0X+)@w1Aza~>CH_^8508j%vZ zu96z7`kRN(6h?J6zhZn}l zZ4pwkZ+J;A-r7ZNi1MZ9Ubx&RlD*AVQPIqrHjC_G7EEU$x@fREa=vnO6pcxw5Tzk} z1ik3)ByflRqmab(^<)ZGw>92Cts0V5{yMrnB}Q6g5Y4a41f;`B{V0(;f`XNF*@k(O zi5+Nxi=((*1}jLf`Ly>VCN@nqmA;0ULVSka+3&UGgdVf^aC{ePW;^&DPFNFv;~t2K ziN=>dM;4;n^-Z<9uA~ArXrLFthYFcYKTuC9CxGs~i`mzw{KQt|)B}W}8u&?`kV81G zQ3#3=`GMD;z&UM2B!hDCp{&(?gO3X1GMd><@oZ|?Gk@lsX`KcHiUQ@uZ7{MFLP|X4 z>K6yL&PS{3SA=~v;Fwu0oj?5ClIr2oj-*CoZd98rf|6e2?2bT4r^Vq`m>)Z= zDd!OQ&!iS|mI}_@)%6u{u_BN*oR4rj16_0=0Y=-g^@4f5?S5&!;*K2$Q4{pLhOU{) z?YpwIm6ZiB^aP|~Nf0stc48ZUg0Nn+S@0j7It+#n&D12zYj%dtTZFR5Z;CQ2+a@}e z{%m+WZ)xGYu{Qg1 zYu1OOL$vmiOj=Cj{GqcPGwH{1Qz6FbI|~eGsJZgB|Ha{6>O^$0x#^I9{}tVurtu1> z%9oK_HNkMjxSu{z4$Rk2Sv3pLev653Hf@>2>w{7Ij-CQZu6m5@JmCm^*VdE+2NCFH zPZwcoLh&FWPSVa_bEopE9dNd4%2-=HsJD-&{z0?%_I0KNK8mx5tpJzj0(WHUxOih|j+cc!ST*ves6YQ?B~SwnaE z(9UUxd!?WFsgw9@6_;2KjL}52U*49Si$e z|HbamW6`m+j5u`)Meic0g#=mSe*;dBv-#+A`5eLz<X6O9SPDrjAO}}5flmN;Tm3?1vRnSbm!9{%g5eC@V%KfkD%+tHtd)d)>?!OPxns#3 z;VS<*fY$c?!Z*`>GnEHN-DuH_(^Ov4+rrPR!Ub6tE zj@om-0k~TeiX&|)9nRFEEA@aL=k$QHmLdn*{pumnpROxA;1)y?j+f$Xj#&I?=X-a! zjZCs}wpz#2&qg}hEP3O+#BL=mF1#o|(dkbM}04?UH&wS|e5Z7qR&|bxC&aiy- zMw{G;GE-e$W-yeuCKC3bJbnb#y0{y2adEh&$G?Y(?g%>RjaWawPp-Ta!KzN0p0OXB z%s#0fiA3k-;BZzIL|0C}+MqCN$|N*#NLSU+;Eg^Y z{O_46IQjjaA{@(%Ozgb;MLMPeoq)W!Jox|mfGUS3kX3SWpydw(&RQJFNj+?!4QVR= z=N3DPqU6pXtH%^3c$XsQ{hzmF9^FK4-w-%U`9&~nYohLU^4OP3EicYt|4cWkZ+WX& zaLlX?$;&N7^Y2o7<$n|1$ISKRLkjyw4p|g-OuQ4mxBQ}^JtHBv+4*XQ{MIR@_o?QNVwdfQa+;l@dwd3TG7v0W|NK3qp#}WWU07Jt*HleM;{e` zMt-(3_y9yrORXBc%FH+Js|PEFkinrw<=Hl#=kdLH1Nk{0V$;F%Pzjal0YxqsSr4!0WmkV7&W^42-gARIG4)_erz(}XO$_~(H2CIfQ|-l@E+OCQ2NL!O)3 z&x*s39O#vD5%!R4d6XmuNQDeK(rZ6Hd_ip16FtxIH$jx>zpD_vmh<~P4eI!ggQV9i zd4*#oG5q*8e1Z>_#E@#3|1g4};}v#P8etRU%6*Ue zvB_y2{ZHGeH0^0Txl%GuE;x%s5;I@776pIwnm(qlaV6Pj+m5Zqnn10oW=D;38o<$kD+elGr0(>;&ojjx8hz{7|w#=M3jCYKXI#~%O5wB?|Pb$>6b$y z^-HAn1JFUbgM`uH6|<3vnpN(xa~yTW z(zvd{v!WK!pW!_Z0|r%V(Ueqi!`!wxVxHG+CS>Z_X&=m1Q3+CF8%^!8r2=u`Gl`7( z-TLlH6K6jlY}-1a3NN9u*4f8gk&}G4-6rDaiZ@+5((Oij?u&SN!d@bpZ2_ywqWO}Y zq3z@iE<-96f~(`<0McR6vWsx<{L0G4RN>@9EijKc9W@%>o&@kn7hwI%&nTET))jN0HXfD)Is7+E;cf6EROR0)ZKy(+9mCM^vB8nTHrgy%1Mu4Sja3y=_ z13$CP654F?dvEHXiaDmbFO@4oe`K+kA9E+p_NV*6uW41q!o#7^N7;t?g6}qis*vC; zq)!Y1^SLnj5Tv^L`bL{AB;#bVoB~LiNBq8F_iD^{rzjh2HGH-7!_EU>R zwca`jLh!DgiAFljh?6Egj&Nh=8S5u2$vHiaKga@O$+fz@>2r-XejMS3wD~We=O59KHN7UvlcJlT zDOQ4HT${z)obsn+o}8d!%E@z``K|9o^C&y7I&XPpm06{ls63XQc8aybQW_(YI5!Uq zh8b(u3#Ec+N+)_CIaYUV6!0Wp#CpiXM}!9to*A|xLbMTW*iNO zh>c*&T;BNX{*t$T0+w~W)~D;po~t0a!AXoct;fhbEYLS`OJ?bSe6S?MJbr7_&%O;g z8?5_jbbdusC_sZ|;#HF<6$$4L9hPz&t~6zA_g%J5Yajc9Q(3DI-uZ$tZZxZY`)u}D zvSa)G*N0rC8A(de_z1z6dWY+8cth%aIfy zxbRx{S;KQuNbSN@$Jz^wPNQ~!SVa79dZ=i0EWp$gyu%L@t`l|Ss;cs27#9i2D=a!? zT%xA^+Mvs(tS76m9~)=c@Jk$5!Cl>WV%<5I>y=VkOfpNC`p&*^Sm8GUmb6SsuN~3Y z$p1>dVMqI~d^aS}a)QK=SNX<^DW6bcckldjJF=xi8yTOV&it{N*ZJK}Ro#5AJHx=CX(R^nvJ>^>7A?dXp9Y$RUqA6$J@H922<;t*n{I^phZLk&ukIXF-H&> z;XHle54`^J{cS?7ih$`7-O^kZBx~jPh4<{Aty4P|oJ{YY#H)ZK@acV3j;nGnRX`W# zxS6r8>1|VE%2>Y%X_+*miBI9$-w@pD=reg74||%e%r92)!-^~J_G#BmD8?BCzdiuEI_I1vLuz@>pq=6Jw0hX=09I# z`~t7)_S(9-tKOZ_jP_!%f(TUq&&Cu?-$5@?J?k$>T1{s^*1!O+O+{?~Ms#@U*zMfR zA0vk~)y74`CG1`DF#{@Ip3ar-O7I@U*n%H-oHdh5V@b=Jo*H>_l0KiWZ<>-?6|tWd z$(aqYja9!r-zRTwS;Bs!G|q48CtVuEV}l_lylw*7UK=g9^P>&%OtSckX9`!-T0IOd zAPXrX-cH7+b;jsC>cK%;k=)dOJmp#F21yQA**ng@fMFEAb=3air1gSd?kEQp!q{#N zh@~$?ky)p(#+Ksd%*Y>ecMf1P7?)Z!r;QZp)^qq6Q8yP2XKAz+tvS z!p3ML%K!7+5DIXZ6YokA_0?yW9TlKTOd1?3Im)F+OKr`JBKH<5!xyqyx85q2-4l*l6%Q9MB-@C|)p9oWd z*gq}q8&KaUH3tmd3vtK9*^JU2CJY=?>ti#Pd3|Q{iBox-Zz|Bd__z!mO_HEe*fvWN zS3>=@mt4w(LfaF1d=D&d$MD}}M5^Z~23dMGn5~I6nlH&v_@gQE>Q{qbbIw-kEU%sREv^VIIM;Y8ZkQHS1&W%8Rdt4h0WdBDE_1U1n1v%%Lj>UsqX|m! zQDRm0`pBV`JHj2&0xJVvD{H(S%biXRjQ@Cbuz@H#O)3F+93jDU_umPl{|U+KNm<0~ za87d63A~~%#VX@|uFjAiRu}(F6xNqIDv)jnayvmYGY$q?b=w#FelB4}C7Ib^vsf=+LVn0$k;TC3NKtu$AhO^ndmhYKoH36^oK3fAw3JORkDNMvPzW z#KjbmjT+A9CVy%e%$k253*d>R6qThPg2z3{hCYyxgl%xv{I|KQ_APMhMKKSE8qfO= zY0qcvo068luwwdis+*ebsy)v0-S>!H*JC`$1`52v*>hca&g;}Zsek(0euMk`GNkUc zXn(vqh6Jy(3Ci36WgYt|Pi4&eQZ^av%KCaW{pHw)=ja|-32&yBb$Bm0YlXMhvUXOs z2=P=Mk2qD%8XXg>9Z0= z>*KFnyR8Jwu-mbP>&}<5tEnx73h5fkQfQ=4qI8}^GftiO$xXnLCqOnh<7qcz8@x53 zH>*D3+yB0E$px@HS3-jE+n*`J3&3j4Wc~hio8<-?kQD;X7{X3EZ*QaR&WrR5km%zO zqjJ^x(EWjER<%;kWQyex2yE=fIuJjl2`$(n$a@hhC%dQbfc-I|=keq6_37=XNBXGy z_UD|S4;5)HPejJi+DKutRnc$cuUR4u@O8+utnyTkf6X>4?=hT+w_k{Z6B2s{QZ3EQ z)D2jP=38a^iV8Vc16$dZn-#GV@(_WH9}Nw9@~Yh9@huQ?qE%G=ygoep#TZa%JK}2* zmL}7P_HR(>Z5bhn)%zP@##0ifQzhLHJppc^<0=#ri zp`_^&vX&_lw2l>g@eD3PQb1S9_A>9|0N(AVmf3>=Smx-Jq!sPxX(3*g2 z1dL{0Z$$ELK^CKO3sry3r`lf9m8cDCl;iO9*{eIb9ftK%CWG*Xj6DJ-*!2$l^? zvk;bZz^+cUe=V$=DKeK+{54F70j9v(T8svVokS8PMRqGt>YRx37udpA{T#vJ!n zOSBSV{5H4N`GX;PcrW42Q^i!ohnf>c=c9n@5^p-uldediW=Wi0I~<%F7v9H76AzDP z-obPA*e@~p*vLx^VFockx4C}&IAi%ZvqDpAZt-jTwrv!6ucQ1}B|S#)Cc`%xl6}L3 z$kpV9WNOEyDQEbqO`x$=Ex!Voex=Vdrqv7t6%;tsCwzx-EZtkFqFTy1CNYmn_{~9& z^daF_h=~sepm7%=0;uKVl(Q_!u zrfM%{+GnkQ8}iQow~5FeSLYcQt;}_&RfpU4(xCM7h4lGD;|}fo^z!n@n0~y{5Y7P; z8Kbk7f(tT`>k8DqIkDiDe7Q-V>YopRMRukN^nYNTI1-sRk+*2}qxSvp1;j>X{iy(; zT8YBte2KaQr9i!f(FmJjqXgedsYY&3k34Jn+s;OT{ypXdHW6tfOeY z2_x3Im6aXt_6_dacuVKcFW|^tJ(fDyh-iI9!>w=B)1gR)p_y}LAk2%F)k0t2FXJXC zV|C@R*`xQxsTEDJJrG9^3Rp6*qcp;${ke1}8y;Wn_#=VcwBtoDs-dB;@0=u6-wpI~ zG=|e)9OEZA+W2Fp{8%;eoUeY7#q6#EY@wLRw}%S0F9L^9*iePCKHSmn(VaDE#S1it zGRISJt;j=QfU>vW})~6yI#*IB1b0Upu4m~O? zcd%T~{0pDE#RLi`QBO zx43E+J`hOmr)Yy0j8y4qA1kHxidsI+=nC$Yqht@(ozH78VymkId=NO>ACgL|RL1c~ zI%BF4L?Px(AO7PS*f!X+a?N)@BVscDXnIGHR z;U8rrDdlGvG7@=GG1@oy=tT&*arU2NF`|Ma{k~(rAEQZ#741>lXI#YdXZ;r=%?7(9gZ$yjORRL9f=;LJ z|4dkhWxWkNQ78(fnD{3N538HO@=Tc`9s8!Jzk(R+M)GV39j^3=-?1=(vJq0#dF~ob zQCE`+u|vKX|5a05z;5vwoquFbY2$45tc6KTOon}8%SBD~740aNr>?^&s&0Ae9wc!q zEo9N7GGiCQ**QbGCpWL6FA$zL{FT z;%vF=`yfbb%ODG!np{|KVZ=82-+W?$q4vh6W{Dj*g@PzXOc7}^sNV^N5F*lRe1B^e zLAZ}$QiP015Z_Gn-?_g#)CZLvjw;?VU}W@iF~#K!>p$3Rs$@Ni4EXIL?`Isxome)+!$BW<$s>+={c=BL6bq zFL1ZqH!pWyyI)_QjDUcwmD{813Wq(`UO*>ePnM7k8__mCPCq_QQJMIqBHYRU4mxV<;xIV^($Bl-E1_=z#G&oGe+dbg=7 zfjPJ=vVo_9*TVlT3lYgrq~ni2nHR0vSC&$z?u=)LwrAmImgmv-XWpvj=H4Kz-c#sb zkB5ki-{VFsMBzZ=DCC@;eK9=rt%|PvOg4m{963zXOn?-Mwm~bKDf)rTo82y(awE-+ zpi6+D6PWQvr93j^|D7*rX!73#KRF?Yt^1KCjf`W4RvpL0zoD<(NA@QY2!H&FnC$EQ z51WFLYKAjtL?k$rVpQZj3Hc-5uU4K?gFzu8iC*7yim+Z7F{Y1KM)d?Uhe~)g{goap zNZ0jUZs{@EpP5uiPhSUNe>5&Lc9{R8;&s9wy@>9BgTLk9g^c$eR?brhOB5^9E%pbt zu|MN)3T!f`6O-9L_wQHdlLpQv8LSF=FJfEud@p|EdqJ=i@!sWF+_+jg=8aw62JQQ^As)GC}GX`~fwU`!Zd!!$c9v%DY_Ss2ld{B`!k zSVrL=w7O_fScU_~e7SlLpgvA(pBEc1g;VL%4OVG|G9#jNgI&?mjxhT$1poWY7A+yD zN7F?`MaPl_{WO3Dag|sj74*k${Ho^_O;8Bqgb9t1|3xuDCG$E6NhDXA@+(Ur#J7VH z$)9^6(NC?hBw;Q{YJ$f-c{wisw2C%RFNJK*Zv^wHb){c>i|ryhQV?x^Q!i^b9F7ws z`Bj*pl3(S~OdFNVz)`O%5&}6(duJcQgt0^clz-GPbDHwPb)vuKP8}a1M;MyEN~&z+ zsC>jg_O7N2VaqF)0K!Bmyl-ZKuJ#6!F8jxNz%H8QBh{kE%D%EzyPqCZr?I(XPA(t+ z;F_bY32qEP%#~h~%un0?eG$KnbYDN}r}}*zqB{^LT&2;LQ=NQ6x<}lN-QO}f2U`l=xkIvSU7iLpryr$SgrHtCG8k+)g{un9goU28g2f%fYrzCHSxps z!x`f<3o#fy-*(})b-V;?q`U5kf@!0Cy5aLKc?8cvG-6bF(U4rl7|9)^S*U}F<%zdBh>}&7e=8sCK zX>Dw@!wI(CCGJ&&vJ`%ve2K^-rzmB}!TzKp$AkYIX|kg4$~U#b#;EDidAGPz0P-b_ z^^+xWSuTBH{fe!vp{Jp{XQqKho|j{!ovS|x3l7*Q1>*V;z&V_}5^^0A(|9;;a6Tl7 ze@VlNh(q{|g>xoojv-~g(9})-XC}f{q4ilO^Rp98UkjhMY7ShzCz39J&w^rUtC9PF z2tmfm=;lcZw=7ed%X+tmat43byOk3xa_`?9 zKAU_#$P6@K zyFzn|;55dswR#Wf9xC}3fnCgJ5UfXGaKPcf7yda(Wb?m(&2a+kvs3b5;eX7-5U1TaOVcK@?m66hLPWrhrt`gdKD%$_K}#XbptO6Kp)NQ+AGp|zf+G8gTe3i zP}&Rck8-ft`5`UUF#-JK1I8my5(Mo5opMb>i&X654jkqX%hi~%4)zi>pSmop^H2h? z>$GjWR_PQcEhFV714_7x>1z!Sdxu9j^{lKKu%}49rxhw))z9@=kpHCpTA)mCqc>=5 z@5r~JIy~mPkZB@nR2lgfg$_;RBC`nPOe!|QMlsRqF9=U2#6U&Cg5Fx@d~DR=?On0x z85%+t3maOJJIMW%0ng$a=%pu2ibTgQ0;8>k!C z0bN)r;F+tWus1jWl6R6dMTLXZ+nN?5`EldSAeG=VCQAu#2a&3^F{{#j*9Oaas;mqr|@tfWC;5R!P zFW4S$&NHr@V9y}py|~yRytvZVJ@KiLrGPrhct&G3!-m5tU57!tLG8|X>o?{joEu1z>8(bHmd8@*b2UfLuvd?&0hCk&+u=#w<Ktt^VC}u)mEfDLFMg2*ML_S?5KK)wVGTX7!0HxepdCtPQ$d{ zy8S7h)($^DrmXMxc(4hVk3p|}UXkFN-$`XQ8{ zxZI30^OY11oG1y?^$Q6~MNDm{6F0F@-FnpG@ml)owUp1lE8lFV-7GiJ*0|j)->kmA zKDn2g_+A}v))>?U>XMxINLYU=(W$hoC*hh^X}PH^j8vSMblY>MF?j<{Q)Cb#sP31a zJ>^;hf0F5kzmcQ=j70a@octZnf}018JDS-qJntZwU*M_#NH71Ew^m6C*9d`@3~wg4 z6^G|9ebz-2RG3*=$B$oTWFhc7;QIWESJwATVP7aPG8T15t@O{dJGOOJx(6P9<^8W< z5P0Lc%x%}@4Lnl#vnF7TW!|tPnoh}-u&|~Q`d~Mi?Z}Yw_jVnX z4^81YaW}@XT8hr%`5PLcui|7!AlY^D`&-Lgn<;v`7CSj#5t&lD`D_M|Mu|LLCkAt z_#rcuZT430$>tU;XvI6L-y|5eKK`r1D5^8f;Q;>?alY94YX-(>yOuWM=z;5wv5ARS zprV3X5g^hblpveCm1>@41c#@NTl7B8Pv9j0{utb7!8^X9G~9CIBgW4|XZHUxsIUFT zLV>Zsz<}-#GI-2Yl8Yu(Th7y@F_#M8CTTFqgoaNSK&m)IrJy@kir=qIHHpj@) zwO$T!QvDKDVdYoKRm*JyVJ7b~5{xuvpyVr$KGTxJLC4`9hqmJ6M$4IvyT-X$Frk?OBpo@m_NArahz1a?1tf|<0)2Z_ z+ORG|!_2t_8`{xgItY@ObZ~zP<9lN_yJ+C(?b!8P83rIc;0yOnj*J{`yPdu|3;lPE z23}fPA3xgva_@H69Ud-CEhk<1-t5`Wfhyz*)cr@ylKb2f)ZD+|2YWhWC5OzD3EkN^3M zW{Zr88~mjLKYeC-(8D<`u`GzI1nK$l)xNaF_FX1c`^x*fc5hH?<#x7Xcdzkq3^E`N zfC+5dddLfkbh58|>A)9YG}S(d$aJZNM_klwoSx83K>NspE%L)Y@lMH$EY{=f3D_C< z!XzFTeSM+x<2RplD-^*gOn!*nLZXPPJ_fH234S zeog`p8k5VNi?G(7w$_y6HPG_J%{TBQaUz2x6~GL|?{<_Sx!3cZc+5n=fmGAV-qd+( z>$!$VGF3pNZ3;q6k%v8_jPk2GViY@6{?ih8nZov&` zcN`}jD+Y#1yGAhLFT)m0PFZrT+Q$D8|AYi2$?UDUaYSE*Td|vC<;px~@k1sE(hB<) zm~#JJsi@X-lJ4jH4e}#que}}N<~{3{8egQW2OUCfWMyS_+)tY1PE)MmHnlQOXG+%u z4N=V$$M=ssCFM*JUws=JJuR;u5^}@)Er)cr1Zr2Pi(rbQxSHH2cAywHPh=yAQ!HzT z^XMNV7*E9#5t%VGzW2qVEPS)8qqIU!h8^&ir4* zqHSy9WRcxtP64QyBJ03WEkYxU2TO|Wm3_^tjZXm2BJ*QVqwH{3QGb?(SY-T=#WG<{ zZx?jzNob4%e*S_4s(at~z&o9+Os12Q20=-ty3CLv}+LES2I?Vk=%V_b((+DsAlbEkU ztY{{e!)i5_@6umu_31O%#Sc1bH}|6(;iTNRKa#I38W*qq44_}ju#evAc0TWvPnj1q zB@$}6O)1o&cmHAi zfO3YRr+N5EGl$B&3-vHAc#>X(zX*W#0yQvyIs)Wq9WymC71v{K<4(1kf;iFhn!8*C z&RJpMuHQ}cWD?W*-crhGeReh|lG4g7ca!E!Es3dXi5>C7@*0Jo|A+fLUnTYvRNsJs zJBWGO-3PgIzK>5JcD~5%24}-5+l+FR23@7UUt0EG;WPEZZi7Dcz;JG2SQzs0mlUFX zh$y4it*lIgGxQUL-YYhh)@R`_O16_mkkGDTOv_?uKe z3yWxwc@h+fz~nnoQFnK|fkHTJxQQ3#WHF^ielMF!TEws!Ae-;tG^J^br=)YvaY@Ps zpT)KPsEq!OxL-MVYp)ylo$TkzR0V^T(g(G^@VGd3Ncp>z7{c;Kq+bt?iB;{lx$C;USA{^EQ6RUV2BUveyPKp5&;N!JRg$|I_IAm-GNdA3`h< z`GaS{R*#Ecm`@+D9J41YJ1P6!zp7Twxkgo{D?8slMA5>eDB=cQo9p8|5Q#{U4 zv>3>OnY=(;2ZoLRF%nV~Xx%%^MLgb1#)2l;&|Jvs+5G&<~1sva=yF;aZG?OQA8- z{1SAd7d=(PAtbvVjHKc@60J2OQuK*L4yLLsiHOMBo<4upuT!7MqrR`X`YY`PjU*y7 z)LtEXAavjxa?VX+Yc(U3_Lo9fLCBB6sfULS7mSzP1bw;g^UwLk0P4d5^ad<0zKiI8 zJ4?X?&OrKY}Kz4?bD8Lfxx(<|X1$=565+b-5u|v%?!Ly%cGpQK{*0i zf!YVWz?$FjkK60L0SnN;#%qZ8L$5*A^u+EwqTJLn{JAT$A-C-it>xa^i`;kt?!gof zT+NTk|JgLJZGSPqdj?M$P#H=u{LrvyBUfPun#Dj!y#UYm&hEaPjehJ-Y$`;_#>URc z)GGYMM2s-#{PsSq`_X|gF~JE212IUKES>wx!hD59n>v(!KkW%(*z znz#vh%oNMdIOsc?Uy%@Jq8<+^`+_00#r{zS&8dzG{-MN)*%Lg69N4>%@2{ma5k%@M z(e*Ji_)&q)493fdpDXV!rDahHP(|ON=(ez@k>unB|9yulWH7(c^Iwt~1+@<$M<_1H z3-Dfgdh<3m?76-JukmdJ6UA%jRPUJ+HhO@ljHCu0-Vrx`OI1SRy>Q2&&1!$oOOf82 z7X(eaN1l(~Hu#o&w7oTAAxqjw4dx*ycLDuQ^lrT2oB_)9gfW;_3{tjDf;Fxc6iRj1 z0SA7%ArnDShBsrXCUBx;Dm{q3U(8O-mF644r~meY)@<>grl)cxOm&(uN^pFAyz_@=-pi49>_icj7p%tPzO-gfSD((cyY zDW4uVkQ@8vvQGcIG|Zw@`q_vjo0AEO5=r=nQth`oDuRh|^-qp(cFIrbW4>S<&>k>^ z{zT2(y^chU{O{EcvMbyBFCFLDndi@tV%OxeLoL}ARToYR=+#i9ejr2ajmG)n1rh-u zrkZsMmHy9s{4lqMl9SgxUfxN9^BGJ~u#o-z)+?p=-`)3oKG{W5v4uzkF+0*~t9$-H z2n`7%_F)8}xy9&Ws|yRC92{Z+sw*ie3CKm=FWA=LCT^)U&`Q7b%_c|;wzHq2& zSlPz=TWZa|Poz?d5i!3Ng#1F0Oug7u@N1B> zQPikg2h-B-bAL+kPTWp3?Pix?lq{P3I&aCDskGvisCqFy<0P?zmVO&iPC+KOUlru_p zkoeC=WXMw2j`BMeDbtS|oDPg`LjrU|aK0fqV@+t8MBpnTo2WU`B|@=@mg2%6+E!rV z$~wjkq`dR=1Ut<~^h$rfX&m+T?|B`tRo>j_Be3A6%CC$3=`84SmESEjM3qUai6M0OBD4etnYz{T*vfWne}yMDk{HJVdEc zJZT$fsncez1pL11NWKr{0AFh|0_qom{#Ccgaw=rZ{!0^8+(D>d@$l6EhbZ<>+s3_@ zsGq0(K@1{}di}ZY+H;_dJ?^=m9Ch50zrULw8$E63uiE+Luhi?5(bw!<=WJLWlnu9q z5>SRnzkMXfFZ}@ywqH{iMgl4^*DkZ2H{Rb#n}RFqCE5uw*`9kbAM}fI1u3%_%n&*z zGwDR{7iVN=R;!k*E-o$A1$yGCiyj&gfZ3k>z$BJD^h!ET$Ey+B>2-O~8NIbF?s7T!R5F?U?DN={nFF<joDGi=Ykd{lu)KB8+MFZBKWsB#RW83H~3&p7RM80qg18V<5*&FI=LJB~+wVb?h; zPVfv+32lqSv4h+J(9G5WptUqKHTSOW5__q^^M2US+1`GS`PJ{P#UpmR`)vUV@?jvW zY?^cFcN=5IxsLnZdowE(!*d_dE>>T7hmg**h#@VV0d^K zJY$;-W3~%MA@)I3x8fD|NL=_r*ZneGI{f6 zo^H{J)5d^2G+P5V4VTTZ|9veOE&M>eYtR&MiX0IGDS_mn!oQ{};Qpn^UEX_zN(oB? z(s=W~hdV7Ty>;LNgW7g(x&nBE-8$gzc3s^w#oB9OTW48eWtz>TBrAHXGxxYa zu~8`fMOUTp=(PmEh<&I{W^J^mC&y4Y+6{-naLVgnFlF=9w9rGAnzJQEr_%THc-|zT zUrl?GT244ZBs+xYwr`4kxfj#~LTBG$@pQFl#V3h7o+j*8cQz_xqk=I{{+}b{2t3u- zOujdjRrM}`!z3i`9m;8Dy$;?VSdC!o1QR%S8*usM*wM@Bvcw&x5%@32QN z{NMe`2XskjRZELl-uN1z0CD$Q6xG&ttqsA-#iV(d89Zs)1;!jfOe^oCSevhgS^CND zm_ZIbx9FPAvdWaH04%U&83)S8Opz5g&;1HvD2`t!ZnKax)6m zXnkiMudG_Vg4;4DG)POF2 zT5IPhHIZMXv`sx0KjOMf|BznVeje-#;IXVb@)Hc}oE zvDyV=?6vgKubwhKf4SYQXQ?z)a=H!~M%>4;qPV))Osm9H>V92@JsQ?e|Ma{xsxupe zip!Pj5=w%{5xqQg6CAKQ-VZ^~$qfZl{{;K~dH$`U99+G%$bB~)+$v=zxbv26xk#e` z{8_Wv&f({;0@vfDleY^a&UF31hU}j)SXY0-kde%rPsw9`BQbT}rCV6`+4$_jmlP+c z_2JHmKk&4l;|bd{iEFAKkmnJJfH-vnjDH#pjSasJkAcfu@LlUWj9cX0UmBC{>Dox) zRm3~oifI0yGXZbrypYdfe+u^g;UpS2h_bAV$@cabgEfLOstBTKfjFJo*$cSf5tq{v zD6}jJ2fbq)4NtI^K9@@nSu3R#*dBCT&6KsKsXVQjEKs+W-+4&&OY^KVfd{ z{p{q?Kh7}5&PXFYz*mH2l6H*YG?z2(k5DwdCFl+vYQ9e#Yh654+hLGf@SVi+tE(JW z3$bkGo7xQcy;k8|$y(x?Wz#`MGj;au&W&e@>0()K{m##-PS-kWQRHPy@CxDANuI** zekl;jA1Y|p6tr;+s#{*eE}$vPki?!U#*}@f zsa8ZSd*Yok9!t);f znZ6AQ>bCJRBE8wIy9D1QJHNbwuLp)F`H*}>VI5w+*UqyuFm36I zFf)VBPHD5X$`&lwfy$k!1u6M$Y+ftUs-`M_J_x<9j|*8#|35?9^`-V(7hh5it3$!# zF~rW#WiPBHO2}KyR?-seDSW2!7Ilos2+h_}o^;~%&tqxovUy<4_ zbrIR@aJmm$HGi8A^ZLS$Cbm#7kR1`T7a}QQdcNcz!6qCQ))<0>`6^B<{waD4n_tg2 zc2uYeNvs9sc=!Giw<~*v*PE|ib${sFP(!UbVp%3E5^K%J*s~&jR0_#rAIHO@#iSyV z^dt3sKbKgqkiw#gCYo=NcfBzm78uQ;5E2fVfQM`RQO1dwjKK(~;mmcStdM+L$noB;l?++mfWrE+Mkbsci;eR8{B*#S|>yN_fx zo-EL1{wNz`6E_-Ss5l*rQ+NpJW1~PvY3#RkFut?og#ZPCK?Y7D$CjitM|1Z ztW>qGH4$dbztEtnC*frT+EJI}L)sivx_%!dDVjp-SzcNHv|r}@J7)3}{|hMTNHTj| z@B?-H1)DB~q6#piya&4x|3~Hpgz}dwLC7W{B?_447)|;&(XxtCl#EY>c3mnxSsIrd z(}1ZfL#lSLym6(!cIr3^SqnWg)eg6` zwAOdY!?pw~%aT6El29$Pd6sscXg1+f8r1vuKp+&LSbBAmJ@ z3~gK@&GI<1z3)uCWFbL;0*^iWeKv+qr<5UcS;TkLCEpSrhn{Cfk`7Hel^JC=IWN86gvffg2)rX8!Lz|w{9>bS?Z)Lgf|P4U-Uj**a{b23rLW`=q9{tOZZkp(8aH} zW!4xOIfQK*|P}6Oh{n)c?)X0uXp( zs|DYa?cv9AqkNs7(&7yC#JYpj$QoE}XXgO;i$GK61K_JZfI|kin~l?LOi*08SGNdi z6>I=sxPr)AUEJ!qitEok&ny>*%WwKlLRmca3(!98!v@KxadXWhqn8_&|EcpF)Y2pS zQ#$<$E=C2eit>y}1O3mu(=jD=e_nq1?vtHmDu6HPcMO+^?2o{L*D-qUtb7!IC*Rw3 zB_z1adZ;lhB}gBgn5bUI`iHpEoLG79>iHI2s&-n!BMc_A9VpNCQ}1IHW(u9`8EGto z^fPYvpwe-K?j(~iOwTDV#I-e2g`9Amd#)f-^>r2abnQqFX|UZsJ1(mpAO!_4-N{+ldPv)3Z4gfn&!bD2WNxIyy%d9|KCD-^rS+-4WY3pZ`xy5jzx;?9m$Dfz zz{8muLz#H?I1;13#yolA^5c zGa+yWrwB&E)L$$-X)1kys%%V)ZOh-t!e;7QYkPE7Z#6)H1yNY;8lcc_57K3y2VnaQ zy261P4Hf{RpLezV$_cJ@TimNb5n^83+PAl4PHi@-lO}r4R>OJ-XL2XH=et##jT<0E zw$+TwDRSD{we!TsHmh~PvZkL@*ieUL5eo|oQ7V?L87;}W51g&#f4#Vgfl$EQ47iDP z9QiQLboQAvwWnJxYd5>u+2XQ8e@uhFNA|EUC94p#^Pp7Rj>Ym&^BH7M<3G&n!vNK7 znq=$5-h?k}FyX50PWbj@fLtU&Ov{a-oi?#Hs3BBP`d`Rm=Qq>e3EX}D+!-Ei;-Nyx zokiAvhYwWV{3vSGKXWxf8D;tI1Ggj3u`En1l<0JpJPaqg&L@ISJu$*WQ_2z?+ygdi zOlc4d?6}Zb{W2aT{l+_i8S%@tMWG*eg4>D8M?Rc2Jn~c+RGQ-kq97mYV1iXTj|b@Kz0rQm@NiL@$}L&x!?HMgFVIitC9o{e~2 zRnrHpZa!knFF&c?X(egm$uZdE1zR<-;L7?nSSbkn%2cqfsx`erF|iHF+!n|ij~R3p zOQTiK_{{(LhX>Do{;|%zF7`Ew(b`BKR@s=@4_nDu)1Z#z5Sy}P*Yiu1@@1d2v6xln zVcmoPXGCdfiar}tcdpO@(^?u_&!U^%1P%*T`XBlobZ>JKf+Xwq_G`h+C`sN*P+E)h z%YwGVCBU8B4|jBWj>-nmr=_hBlgc89c;)w@96^siBrxw{tzH2ZBVaGqf*miVJwUvT z#nVM5|>Gy)F#e+;-2NA_V4AtbrE||pxe#91zH3^-_Rhg*!3!e1Ia)WqN~-5 z^b3hN(rl72%_aUNB}*fy7r@PP@tH1GnXw!SUc>fl&1lbprpVAA^?!I3Z94GKPNY%mKR%Xg>ihE!*; zMYT5s3mlBI%t1JtpA`-()Blh_%ug6(#C_>)Fk-bPfnZo*dCta#qFMBpG-V@{;Orr3 zlC%IXH9_cXN);66lG=XyWXWp6bEqR}RF-FB5QJK>l7lvzqGOpk?K@(=*R+EOVboV- zkX*Z~m3bb#HN|yXG2KS?+Am&=B6DqS=P801m*JW0t1(4crdpInsD-zafUC49`|t+v z36ERX^LrkYgB3xAZgcm6!9S0qwgXnsXaysOpW{4kPQI{%@Om)C=i}!Q8C{{f3?MrD zpZzEAOhCf|gY(uoOA#DlrQZWY+{YgE$Kw^`4iRxTvqlxLMZuN zhLjevy*AL4GOCE2Kvnw|ynkpY%&JZ$e9b~JsDJjEL)u(@!B31JQo!CKx`mH_Q!|XEFi7! ztsZ6_J_qZ&@b6bl+y&fWRljlv?D;pqgKPrt%Hfkp=@r<-pSH(!BZHW$sp=<~7B|?? z)46BuqACadh-O^8aimBrAnM3l8lC%qG&cVH;Cw)(=Vk8DRx6Ga2U{w;g=#;m1?|1C z5PH-bktom{X!v=E^2Y$P2S@KrZU;8{*vlWLGKH9;S!-wxlY}Ach4^+R2Jtur9XeF^ zpQ&U;=~Y-{1C>3usmtppF;oU;CbNy_&(Z#V-g6e4X@2hVm-W;1v%eA9Pkf-nH(3e~UK{!Y7C<2qFid+&|jW00R2#o%_>bnd2B#Cog7O0M1RXYSX~na^eVXD9~dZ;4$v0>hq1Yp)$lv`=@uVK;OW6c zuY??0U?F{25_W@MS?hiCd=sJjpewNRuTK#G^kf_m`3oN}c0J zN|)vokVF2cyDg!$#4feocV1_z8iE^~%z@kwlR4+%j4UQ9^vDX{y}M@ZtG+=W{OWOaRTbbKuh(YZU`#wSAB(wP5VkbKlxmj3 zk`_N*dT0YC^4nY4hfUwVC{Mud4&Zbvbmu<_WqrJ#pQ195C5`Vzlg&`eRxVO4jEC`@ zGej!Z2xY%>nMidk2(^Kfx8_%Hemza=*{Y9n%r&rVouIBC>oFCfmDRrg&0X)yR&QMJ zRPA-YUdso@V@X?8O?3)Q4vLzk{in(J$)y+4ExFC43t7URN#HWzuhfdL=l_Pj9haD2 zPaB2XAMar5g%|X-;A+u&VW>hl${2(!(U7c;4S*7uG&)Y$K7mqU;u2C8ye6fSM_RUf z_D47x0C)%&zVCJ!g4)5N+2iqpL$K}#cSfw{^qS5_P<{0KpeNRalX-kPkIQhUJw+a` zMWRweQv+L!ojAJmf)~RnN@pW91y?2f)+|R zzvCoS2s-E+7hcO*HeGr=Y?S5@_gxX+`IZzhk6ZtbQc+d)9aM-<2Vm+d=@CBS8=Acj zaw-~yL>jWD>K#Wrs6dkswqeBjym@vxJwn*(Pabg0vjtqYtafx9VK<$AiOcG~YA^K5 zk@(;!{fvRd^#DuuB4=M2FuP#qAkUJN`Ks~vK!hU3?tjF&fr504YZZ|M^ zP2-K&&eNUqxxRnH4u;|P<`LCj7qvtM)9gRN6O#yDT?H#_a=>G&8X5wQv^r z(+a@@iG$)-d(0DHgzUG`eIu_xH=|DPOp9fN7ndiiDB3!GG-#G!mW93dbhF;kOx-V? z4;~HYEapAyRyYt zybhq2RnYi+d}Co_6EFNahK3=QfHLv(62%KYIw2txIr%nv6HX%km;mUc666pgo_pBF zc8I%>9d#WQr$9>eHg250UsVxbkVSC0qFyYkA1~0MnWg2G4j-{1l1L7{qo#!@BPL<= z_cQ2MWhJpVb9&?sg1G$Z`UTBV`zN{@DZ?cve;GAp-{pUjnmvJZ|1gs;Xg0lN3dH#W zi;JN)R^um0*t4p?-0vrliF!ZrdDA1>ftFrP!Z+?~E|#`jVXE0hFM~%9T5_ee(`=^O z=?rkHJw*Sz_uU;yJZZ2vE#kOE`kY7Ugu&n*xSC}*zCJB@K> zks6!ta{As#uZ}4{Tx73hKaBnRZ1A_wz(g=LhCl$8G;YBQ?HDlRmmpCrn=ZAGmoKLU zg1#}x`$O$Mi>+C8?Hti=I)7pK^vBCF(-`!4s#?*%DLjGHb>R~0Z4s(Y-uxo}H}7le7vCYYt;iA3l`72W=0t zA4L>7LIRJMdSKuEg_!h#j+TA{Yo}|9mY#H>QnKr}2pOKarPeQWpy;E;+Q!ZifJ22) z$_t}$@ZVw(|4ALYN9);p-?)0OD0JS(cDjFeOlMI(VcUq-^Lcav%@M~@_wM&^UCMLu zmKS8ad~7--|EQ3y5u0!d`p=)KITWPOvi`tsSy~XRKygbPMen)Cku-w*MJ0@e32sk} zvO?WLslvXW4YqwAQ6&_4!bS}`+ULagc->ave9A&M6#hmd6GNQ(YpTT=In#zlE~yVk zSSkd)o0O`?G5u-wH=M=i%VIJgN+%3nBbAYI1r@SYSk5Geg(3TA-3YU?FjF5+JNS;p^h`ZTSJ zmqhu2!>x?N8$rE zn$M_!o2ONUdTM>{=WdNBPoJU?IN;Ev)tG42nKu4TT8LwAC1}(+v{!bMP>!bcF#Ggi z;TB=;LABt>zo0RfJ75{htEiL2VD*(bG+*)+MK#X54|A4?A>mcmE2o`krz7txQ&V+( zv>0nq_mE)C=5{amYWwbApU&f%g9}jA2s)>=6uaCbo(Qd)+xlcRHw$=;mBluM?G!B+ z`m06IZSDmw*`Iy0K1ozrR0;cX%r9C~BI_WZYoTGbqeDTkoFi(FySgK`1J@69?UmHZ zJ?CbULErmTnD$DZiRA!;N_x-XlYIb1s);JJL;RQ8aW-Q0hmJQ&DmF0>g$e!Zsm2 zh$+2f6E3r@6_#}8QO}TI`qtuOyL!e&dFCgTInMqa=|sH1*Jf^lHjhyxa?f+Ckuk*h zfy>Qc_Fq|_Gd|z=$s*;)s^MxM8!}MQIom-ssB)T{f|~#Cez5&&Wta=7`34Vzojzo1 zTrYE}t-B5$7YqI8n9^eMp*Q#f?siwG&LL4-RhmUuT0Na4N`)@G+QyKN!Tiec)rJ4~ zxcKLO8}ZiW?-F6|WBwF>TS!ZG2aPe~n$2kAt9?>_mn)gLP@aSt+YjKTWlL_W?e1Bh z06|oj!z{K04Okp{9p)`!&PNXLze~Tr#nJaYbg8H)e`I!Z@$rq#%+UIGeaH8_$(IVQ zx`l=P%+>2S9^0CE-Ap2sy0?;-8CAl_J3KTvW9p^8pwiBERm0d&AdYdU=5Sd(go7Jp zYu>XyOqBk2!E31Rf;;<81N*bkm`!m#lRcBR_W%2@>UHXA?$QZXwhEH+&#rmTS*j zJnx2TC9r4zaWR{il3l$pBZgH^`aSDq+Fb3c?{uNKsgjZCp4&WwOn6@gIP+1UXXUjXLK~ zsey-6uMKvP3A+yPLq-+ZmduKRrCaiD2o6d|aDw5=JQV4;7&N{;kzp8@1VIgbX@-)^ zcajTzb5QmU$*`VCr8Sb}f&@@{DQBbHJJfv*82hbbB4;CRe^Y=*=3D2@PC6K_ssRN) zt#An}@#zZynDZLBu1?Zz?T%E~BcPzKFD*@_Sw1XiPaY-*`0Zwgb<4)E@Ph8MHZo;+ zAcvH9(Z3EsT$!rq4kHB{hTFsGpy#cy)1r_ub#1z^jD^`qn;`mMe(gsMNt6DJ)QPIg8w`5{TM>9L@Z=vb? zoJg)*{qPiU*+4nFC-1yl>_pfUDMRszq;%54qLGS9E`(mvRE;JQ$_gaT-Bj0ZVgQH9b10 zaZVNg7>I4be7bOO0sgzp2(nxqc&8GNsCGz?9$x1p@pNOz&(Ox}zjiJmbeVlFHm_88 z%sm+Yu10UAdV9|NMj5h?;XE>o%>O!dC!USKu#zDC&&?8RH7v+a)AZLGgCwEUHv=7W zkO*z|$z~p&TUyAq??e{MJNs(7u3T|*oBi#L{=}%bepzMAItmi zYd%ldq{06>%IUaAD*h!R`w&B!K9M>3^sMmhVjf)M6A8D->K4(z% zs296t>2TpFgzhdHx~$3y#_`k2mct`wf@~Xu-$-2hn9NH^hKk|_JxzJ_)d`P0t8R>r z9!lt_I&oNsw#Y*J)*ts z@X6a3AzlQq^YdKXX&&Yk-k|0j31S)3EmW0JsIGF1pfS}ulyM61R|%s z3p(~5VX0hs-QJW-s{6d66TugFQc&V%yZaB^x)7}FMelG$-CDmgOBza)%8pw`K)vJB zN&@bk$7s2elT$v-GE!s2x>vovSzT>o0<~ub`Lu>vHZEY@KIF}{i-w8hg^Nsf$mT~V z9HVXV`~69iy4T7iUTm3nYJ1lOgtD&X<#hb<7 z*)@=mrSGW4{o=Gcs<*OS-|aYd_89eEsJD8O0m`>!lYWL#9ca64(Hmjcw6|_9HK~XZ z%rRvCw@3)q+GdK4C9EGeV@RLku3j|?t#Ykm@^#T7@$pDjJOrQaH+Kk8u+YHE|BW4LGjg~!Q2 zn(y-6(()~nLN=}dL%|^ErP^SsxL?$$*JmgM^`0_Onfup0o=tdex<50?(pj8MhM z+SS*KK9hfCqe`Qa`=01W$kVQ4<{C!pUE}=>`CV11{sM)Ps;mtciUA=%=g;b_4wF#a zV<^gEN9)6d{??Gd;ZG7tuhY29b>G{}M_S>t6gZ$5UsYjBQLR!_Vp4&*!AU?HJ_oaB zWuFE5T!!rZTIVWYW22Y}s%kb~c?g-+l<%4POXg%nelU*|Hl|Iw74XE`3Q5K$tqn$X zcN^$;4LMoKer`FXz3>yxh0Vh;2jwE+9mAeZdGLM0f{G=P{yyTIqNhw<$}z(}h8dW~ z=h1mKHl8==f@dBOkAbRf&_W1!C9hO7sC%%A)vcrVA+M)^?$hp$wG?hDxi+J?38eeAGh~9g{ZW(#oo`4E(dyQ8)+<3om46u#Z;0eq)x?QWh_m z%bD6!-rel!T&9b*t=miHX^?C+-%g7h(b3j7^Ra~{tYK91lP$Vk;0Cn>7IghfyZ{^T zSD$A~SJ=p>j5z}icj;{)RNrNet{eM$lA4K*9o8->`n+ti)X1)bsV4h?&g>HxY1Bv% zGJI>g{cTA}x7&Km72ut?@9*hvCQNZ_TrQvQjEO6Yr|cdz%LIPolq)-U+-2J&*sS;3 zVFxp3r-&jH>jm4Szj^Oq5W{5eE2M!z;$OGFhlJI_z>?;4HJk<3(9j2VTite#n|2N> z?ax6vAIP^+l?HhgM}Ow1L400^8qW{Y$*D@Nu_+Vb)VxJl>e2&k;5m8xyzjJ?t4eJL zWHMQ$ip7kBn`!m*V;Bow7@`k#8WiaL2UGmrXZ+Om{*$*GC&s5?M=0wOr({C-;8?hH zjG=!mDwOxH1>6%u1?RTUBIGlD)axT|}!EdKtQyw~{tZFkc6WvL* zRO*4N+Y5fRAiN}#5%Xmv*;}Uu?=V;{FkKMS?{4Tt@(YRS7dCA#jHKt= z|2r%zeL2c&nX#Z={JXiYsqjX0pyj=8`p)0M7QF@yRL8cfX=DY~JPsbmA$rR=s3u8) zr0k0z)jq8|Pkfn7`O<#Fin+X{%(X$DCD67G;iy~a+O1q`x^BmapKCn76B=dA!Jd(~ z|BP~gfcwXoeP#c^^+yD);L|=hydUu$Haxu0b6=5Q*8SZRy3B3Wx7PlXjoGtoT-;#$ zhsRw*_Zpi;>Tk+Kds880q2EmXJDmEwfl-?$#!ub0fonQn$ttEdq4m(A(Zw?E{@;we z2ax?LHMYxU^nhPcF7*k|Om~QJ{(E<@d{|GQx7x4&h;G+(L+^NY#@O9&Eb-^1*M7(S zy8dmrIr=KEDet0z!G<(dlc2<2#E5y)pG9Vj@H1mgQN49M3B?#QRGbM3mx2XK_$YDS z01T6ovR@?^7s)m`Kc=Eiu{nPnPl>sU}|-HZfCySX;HUba(^|lCrO0 znf65A)+}ih*=8pbIOm(Qhyb#+18|TdVpB^bNSP84yr>ab|63u{U5rBR`GjLDGMhtc zX9QzYNwj6;z=%&HhI(7=WwH}dBtuBn*7p$Ta1m@Ca11Np9{eHv9y|fPfO}5zv;>S(e;dMm1%QYhL5Yk@yWJ}$Qvw9 zw#3M9vF%CEI$tRbAGp*5k(X79^bBDek2hk;vyZQv-{p0l31uf@X}|RU1{4XrGP|rd zFh;V8DKU2_diHll1vlEI#Tc;8N|mM~NL|TMDBw{x;JhuP{Hi*1_eWFzzy&3bTEc=3 zADG<*m5c$lwoiRER#S^}dl%WD*v?SV)IL$74$vaCxh@B(X_+0o zV+kNO%!z7?Fq$l3V{1EEsH!(DlhXBxWQ6zlK^J~S*NSn!Mr1=38S%=%O@Q;Of_UAH zKmY}>Qu8%?+{|)fa=}ZX!x_FoV>F*H2PQamD0K9o6g=LHHC|6IU8C#vOoK0-(f#HnSq3ik^~2LVjV``S6C<| zU-jiwFjGrFF0`$I1)Wm4OTn<;|1FEo$r?>A^YJ4S!EgvAXWjSXJQ-Qd#A>aPaakR@ zRcZq;KS`K)4fQycS-e}ka)1L}*0fRdNs*FwSnIi}h!yR)iHtHnbNio7lp1ZO+%%Uh znf8E}!aYeoPcPlh26=wp?PuHvwH^~(uTHggRXkSdZ`j=@`38WYOu4Rh0dTC<*T^(3 zRBlCWDQ~9OoG*OsLzRi8UUxUOsQo@`J97p=P32>lT)Bmt{}GIcnKEt)M0_C&{y}zm z(XqIYZ?)owHUDhts*XQv%tVvNDq$zw8JZ#S&2+euUVb49pXat=qUbPM)WQ@gjL69b zKPb(+(aQK25tAPok}-G}jJar8G_q_A6+cGuEdD%ti|kTc=e`y>HPVnfVHuaW(SlrV zApYNw!K4P~(WnX3>l97+KI`R~-%GD=D_^(I*(SYu&26rT>ue>I*PZ^>8icP+Tk_`} zlncVC!b%bKA3RI;I=E_N`y@LAgs?xOHkNkUViD(=i`Sc*SuoF^eS+vev`k2HT{?#- z2gdFOdv-r+C+y{?Ya7Q>3qIYS{SzmzONj0cbOQLQ`+jAG_6VWNMjg*m=8HB|YO9;70L=T2l`{vyn18fSi z;)E_EKrDMiWD&WeN4RdgVmetye2IPYJnql89==-8weyMY3I7$ z6mq?%r?_CbT=O9l8#gqUbHnwaMs2*e82MjMnb-GG@a*giKxU(WsxrMqy+RR(cge^l z%W`}yiijcshKqM4yjeeJyk9*RXkZ@F|2k;qtklRX=1#PQO5t*;9!uwQDOY=5Qi1mV!zhdHKRd?RNrl%2 z1NqGzP|rT~3&IJMGWh?3X&L~Zpanlgvu&mxx%)c1TiiT!5lXJ%2+jN>^!c>fRq+wW zrypb-Sj3EAvkM4Z`)%EcDbXpfFWn&97R#j}J6q9H9w?NI*?Bsb=gXC;m5@e~5;Q^x z6=(umE+iPk{22%LH+OG_u-H2oJ~92iil=drnDQ!suf|O9mvWE!Q<%@pXO%jsN@ucS zp1gfYq~UXA&YKUx=xY+ce&-h-FB&T#Yo(?^z{2#}z39NH@fV(anV`5unqxo~D@7Qt zxF1?uTo|W}l}ik^Lb%md0-bKukJr(^?PAM+)ci?vFY1-sQ=yCJ$r!ij(5|`V3Zdi$ zgb1!02En<~T@@t@H5CJ$0Po#(Iw;5`)YjH%fFt>u$hp}4Y{dg{!BI;zi0l$pyvBKn zfLHx?n7aGq@d{#cZ;YjsZT6 zaB13oBp?_V6QUEe`irzpEUdJnU8lcpx{d3sYWHlA(yReJeX~nzr}z)=4}_fop6MrN zGg9MLsfq1bXYTpPE|b~L!MDx{s)jKHZa#jK!PJApl5sS21|@@CHC9cJU1_9z4)MU| z>$tH?+!#RlVLZDq?H!g!SexcyLtd!9cB5qDgrU6;G)dnhHpXcR^H@}a3T24E2 z3Vp~;kY>5e+NYnXY{SZOa}EnE&`q8x?q%y#G81eXZ-KdTctxUwy1nTXX1&ARYK$sKt)L-$J?vCMoB0*Jp*)Mf<~k-f5-+vzPJCdt&mIXMx8-1Ft4HVZ_6%y zTRCGR5i@150WJ6_tA(D!YWs~O&a{Z6hqy0DB7Q4JFi1vjl=B^&BOZqMHH(A#U9sdI zM&P)4+?v#z9JlDQ4BaNRG|xldZ>^V^PYBUMK7JLxYb5gAEQZxIOq}_6KfS~?S<^cK z)~>){(i~0HG9C|A|E*AXUlX)7N}M8(OjZ_dk=68H7MRgAbYaCDja>S@HQ}76nw!gs z>!ANSMRx2b5Di;?*JB+KOVl!gnuMp}XOpiO>QOS7k<(~|A|HzW%zQ86C*#*eM$CJY z&ee=_^(YQTti~jLYQh%9C7$o>284{SGTaC&-ALvnIyE#z5KB6k%$(qtb(SIb^~5(! z4!OlO6*Em%A)nOQu<90ENI*sbgMgWphX=@~9h#34v95Xn(X#JbuZ3Qo%>W=aZv3>I z&0sE?1FgxA&@D{l0E!Ix#fi2D`-ac7%6XcyRn=3Ue3h>(e@Vf($(E^y@$LRq*0m+|3adccYJfg30Xia+llrUqqAHUNB!cp1Kl^6dMKY;kFs7=m0GVEY3>Giv!) zBq9{Q!Xpa=Yo(}4sI*^$Q5V1b%;JnBI!PC4;IkqbI#~9k|MwI|E>FGJ?kj}?T^3vp zNiy7BXN;fO;OyZMbUQRA<72zBB6%6T(weA&#rc*)9(roXb7Q@Z%OypJD5k>!mVOoZ z?pCJR`zLhh1dS*7XWUDx@tklBz^71A^FY&VguRwfjO_%zT;MRh?vWC1KZ6T(XMjs4 zu%(~1hqIh+u=u8^7ARF!H+>=);hK=L8tp||Is(t6h!XSh;dZVboyhfL6Fxmf6ri;mps^gJ@U< zodK9cseHa1FZw9bVT6!wK2TKnS!(MtY|mmS8!tC$5ZNYFApt zGYx_|ejwtC?CIHQAAvTD_3G8ZN2UNt3N|F4wl8K$wgnxaAi6hIegfDLz@go90!Y%C zC!tzQdmh^eJD(FIcIbE@u@^UbS?Qt;m@0g7>ZR1fsis4l<9TDm6~t08PV2w(4eT@C zb4+|z&!rRnus~p2o*UN%#@pXks9KCRyv8mCLUkwBq7i0D;5uUAq0>*5fsUwbQ z5&(hM{PAz#5yq%Q7naTn#>n&3GO@D*S)xCyqox-YvW_k+Idew?{B)_Z3;%-sOq`n` zikj@iJ~sRe_0#vQJ5VVQWO*+g4NC`oel6{g)!m<=-fce4i}@Ckzzq&~Uz`e>+S)mc z=wYzx6BLh_gA3>CNw9VCzF&TM|DS8R@ZZZJe1b){Na_^qZll^O7x4G^g>~8lFS<8u zUJpa!S)L?GKW~Z_Is_Xx9)8|AB^|ed5qTstiyk%D5#UO;;deC;*O9|Hvcc_*RV)dL za%`F6L1biN9{zvgW&iMiQYT*zy7hh7l($xksrFLE!62l`D`~i6^SHQPa--hc7hoj@ zK~n;ZIf01JpW=(1U4^7faAZSqa~A_~`1}wSmnOO{40ay&jn0 z^1qpe6nIaI{-@5Ye+VW*d3h$ThMH9WSZyaC}P#^IL8)6LQ?`D4h_N{Rk; zJAuz3SXV{+?y6?qqMOJhZjlQ3cx6o;#qe4NO{S_f+C(R%xe#NjSLm#?2VsCMOANtt z6)lu9PPoii;N$(hUh7hH9A{;unDX?osk)W=fTZVkwXQh{f%Vym8ak`;j10#hcdc*Mt*EXP?jEGNj#qd7;BBTSQ7-xtg-diPW0GTjxq- zGw+zV-1S&Vl^}8ob#q1l9H>?z;py{i!+jrIGWi#mQl=_`bMSlIcvd#L5m4{8E5`;BWW6NH zB27Fq=^SLpQ~p)SJOM-2(`wbzspI{@)23bA#`8E%lZ|aK1vo*L3zrkmc!L+Lre4)j(;f5o zU1D_RYF~}BB9yNm*f2$&&P3oWPp2$rd##Uq_k;S^6}%qjs6f!xPH2O}4a^V|B_L>N zRl)qavZn=JBVgENd9*CFK`W z{V^T>D!+%);0NpPc6ENm#5pOH3TszOmhx>rHkudp9S(=7SgJzjj!qfbkll+K7m9dT zEi6f~(QWw1&T_u9(i2*4&oH&2e!yI{=D(=DHV17SE^Xic=EA$IRLde zP4kH^c6?Kt4!*YC$5va*?Y6(SwA?}d$ojJNs+roN4}+ztZQ*6hl%>O3GPwOyLn(rm zw_~WlHi$M-HHuWI?{erxznmN+xlmsfT%?x#?aCb>0dH z3xpRbYt_W2?jh^s8*oz-=Zjx_`m*FhD`Ze~*zhYQp@CvbI1g0vVycI}!XI8L#}idF zUE^g~XHei-M_?VOW&U*}H|TbfRta4a5zT!qqxUmnfi@z%8KU6qv-U%+#IIZffy-k- z!-$^V@h@`;GVR1yF_Hk>Y!_ea-C@8UFws06m1C)FXs{%sJ!^U~Ut1qasR^BgVcKB6 z`$#WA@!q|~YH{D$Ho}0H*r0lILS5g;z~>nirK7!oa*4!_-r3=yErrm_2VGQc-#R}} zl7eRwo0}oel*hwpK&)Nxt@X_N6`$7Vts7vsz>{>_Jx23(Hb6HZT^;}VqG2a7K6_}I zUT*Jw5;YpQhXAG~SVDAx7jazgdcsZpO}Jxt_`Z#uZ+EoJt`p{Gy@91WPhUG%BcrvX zegCwYa3ZK4U|Nf~xAWrAYMOHzRXPD))zUSXm5*o3ZCK%$HN zz*#z2*H_n`_cHdQb$svb3_Cgcy~bz;&nQWku`;kD3Z;<5hQ>SzjQ!u^I^R0N{J2Sy&eSaLVY%Zo@t2I(X#APZq+xBP17C{K!Fs{-Oft;D#2@TFa(s5%cS4AL%7HK}y~@H;=h@z|!EEY}5`rf{(T|J7J! zLCBKYma#xk<>I7K;N zi3X*<&F4&bcv1A)GC$*&2%J4FYdv1ZbO{XSvAS9^TPgqQ4BYxmVvV=J)w{1)!>rs1 z+c&rUQMg3vP9MpQH=fEqG8WjDxvH^9AC6#4ev@gTSj0Nk+|4Om&ct6ZUH$Npq`H)ptIRJ+K{7?f z&>i zL(zo3lA!!RIK1aV=iF<~3$|$juJd?hSjyut+-No9qMN=FltjsC%D=|!20-E}ll~>b zCOx1ntv4svPgd>OAwK#brnt+4xfHXwPp?ay0T zU-hAI`)X_ZvT@$$@&(dyj_+>wfu|1G0g`N@n@l+uVMA?>*GB$ZGG?r${y^k-GN`WU zd4dKjStb^AOa{A@Jnsr@fGp;Hd;~YVV;e5#fpDEW zXtYY0Pb>T@XD$T84EmGLVI4JYWihL2&XQwTima^ubIe3j1_9M7v*$! zUR_7M?oAL zsn3?;SwORp;Km4=KM{%5v;F-;MV?=YJ`a= z`D6W^W)_{q&=*#aZXedx$*%h)o?kcfrZn#0#m zCttrG(K>E)B6n zWlP7wb_xp2{Tgb_V85 zLc8aGUZHT=e^WM0M40@EIMeGZ$`CP4EdNo3z11rM^r+5e^SEXm!@btU$X7N9^fu*u zk0qj*$xXmW`>dilcx$F@x=FrQNL!jj#LzW%7+sWo=Ooe$x>cfoM}Oq`bVnFnT6PI6 zpas`yzGtnSsDIo9C1oU12x<+kni{^agtbeG=cY(}>I*x}``AazAlpY>g9@4aY*!qT zyh+oi0$=9~L%#jEb;}v8E%rqZ%QiK!#q`oQWUGnHzl|%c!mhwC?X6SQ-{jvP{!~8U z(-tuZ+vt2hZ6aDo9daBU=lVK?R&CAsl|%J_r1{bE$B2fim1D#nWOcCHlw(rIY|vV4 z>K^J1S3Y$0?y%Hg;Cr8{@DVCCZVN7I$6aXz8vG7{6GpVWK8BIt0h#i+;95C+P+8T8 zD2nU$CTFBaIqsc>aQ@O!70(+=#LRjsxu)Y?22$@$-j|sIA?*GHdTxHyY5#6Tv}nrM zA5%``D6Q5Ih(GM8Xqxe_k%};RSj-UgB^P~&jjQ9L4ZG;huC(}VRDi|(B&SqV@EK28 zfiDSGX_4Y_tjxt-rzMzVvQw_W&^?UYWiOh(2~PHFA%IrRu85AV`&P&g=ba>8ym9rc zqnln@;l?Worp?>tS>w*P0o)CL*}o%6WSIpMnWW@6TaYXGog(}mq=$6O zw|Cg$B6$d#@42}3uaOxtvSVIb?k{VY*Xcm2f3Uvdve7y8tg&t83UlB2XwXVZ85E7C zWn53Gu6rM3H1B;$8pmt0)z>e+HWfodHS*kK4|TQ2Q!`oQ8B8oJm$B_51vW%ATVC_X zqMqU6pyBCqWc8)xa`Eg(D;vbRh2wnU?-S=T1<%T7h;0{2tQduKslo-j2?xKh{)C`U z@^HJIwLg!_;Quqhpk77^pBFSy{#8>ilWLlUj?gFQS?71R=3wPu-!CYYME0V} z-sEi1C<3V;P;TnsgW{Q>}o; zT#v~uP)QG5*b4H>kdrdzPp0}K<`Hz^*@b)$+)J48l~}TxAZgpL9D~QNK!l0g|8(RG z=J5N6S{^-sCv8AR|Y~5jFX{^Zqpz#j(1p=U3R@O^t#Wj2xW30hSXJXvn zD~gJV4O6k|8|@}g6|d$thR8)!9=dk?`NsN-|GP_x1mW$F-{6}N#e&F5{Lt@ffxX77 z^4RAOadhiN2>rN+(B;3#}mJ&)^#bFbsKe1biM&L4y4<{Ybjz z4Q1Rp18)n#3~O~A&1Xa1C+Ht5K(#>eq%zt&g5@dXsclV3@Xwvd@w4!sDe2>#oic_2 zkz`=w9wtd`i=7o&PG{J16lcaKlNw{ZgXjHf5L-)G^@o|cYxXE%Zv#<^7Jt77Aw{af z*Br{}3cscauDfA`6-lh&EUav3Wxg%91A?V4IL7f7*uN58wooXFFPUR{&hBdU-Xusr zF;QiTar>pm14qM4wmg~{8so5A`?$?Poq`kFpVouH8*RuHY}8gBZmK&crOZ==Al{nQ zwO-q6GC_5u6hc7#JJ`=OFN4dK5sl%y4=QBk5)XCxQDO|t#up0#7uHew{8=D_{wErgd??d&q>R!V=()CNTYM)4~+A#9o!K>E;l!C zo9<5;00(=}+(_WyMSs6s55;>+3zWbviaeNAb@|ZKku6qBt6#}tW|;1$5x7uD;fAD= z#lECKO4oTaH=*EFlQQAR-o-~~w+%>JfLXQ1(zNkS54$qq3AmOiuk(Qp+`8swLV1ff zc+?oVl%#?K-`|y*3+GWz6IN0%xCQs(%|*v6&;Tj>^L=YUCE(|vkG6-W>AI%ng_y)2 zb3sEZt8f`XARd5jY?y$2J15}4fIpFpg#{~-3*geasPMTcNz8oG6=x(X)5~IG#CZ zWh($U7eHR~;YNNGL5Ohd04?`lm@}5zAa--TLHw371{NQK`yp{FS5tA-+;vnsZA6Xh ztE7gjSQcI0603UKZ8utI8=?V3s5f^w;*zGvZ$cg@w;95$b66|cP%Ki}-zb5#u7qZT zMVZoJs+KO+Zyb(KX&r8*b~ES&S*`-8e*MHZpSzk}YyT@kkNKgj7K;~*5GgPBY5cj! zW@P`A#{Rkcwa`*`$CXG=Qp>57*I7|P{oTCx{s9(|f?+i`xGiX{7mj{u|IXP9G+<*_ z^Zk3R|B~|aTh}a4C9S=PAZf1uaMRjn_IP8)3y^H#a^WBoYb+z0N{u9?qs;iTr!2=N zHkX20vJw094o+Ye6M9ud6ND@%cJBvoG2})bh;C8 z8cWO!czWF2GDR`0!jt*jXr4?Xl%=O_g(7vucR<`zR`U z%1FKvuyn-=Q2K;qEX&({=rg?e((L}M6#b5}Mog!)7XByHYl81iJ<|m}1^%V_S}vvZ zSF%FLSD^w&t7-NFZoIiY4*X@@4b`@>2qb69Sh@SG#ceOW+99yQlrdbjtuHltOR#<$ z$2QfBwMdPh=+5+Eqh#uuts<`#s_0eho)eYB?Ub?sdzxZa9kqwHB!to3nB^P zNbYwn75hMn3F*U3(WbT&Bw|mAz!r_oM^k1HN0mu@$IafplfZbf*cI+H3vA$2aE?8X z5-vi8#JPyxK4}_Ev4|LB%@t(tOCfH(kW$9p6IS}%kE-X3{2_|RLVmQAr|)0`y|hMe zDZdN;t-opx$@qhuqS)gkYT$q#N2Q~%K^IgYiqKk!;-O{LM{oCWmS6ni+kTj=M$I5g ztV_Y)ue`b6X(=S}<_KgeTEu@}5FZRrlL|<&5!6IBJ4q*mB(g5lJC%8-$qFuNq1oJj z6I3uyLyKVy?H6v$SK@v8&o#q~W$i=zVb^Q^9Q9I81Tms&8MQ^Jrd!t0Ydo!=k>d1z z6{YS!)Hl`C3ra6_q$Alz%O4P|L~gj9T|cYNj3cT=YGET`xrahWB!;;PNWAc3QN2PB@ z-O1yNJ@}gQw32SMr`zsC;jXStng!c}{H%euU#kwyUtgdYfg7k4bStL*?|B!hPSr85 zu~~DCNp4~wY6&|s5mC}iWG9bY+|B-+JnLgW`y(~QcWzlHFwg(` zL)(nN;TNz_a>L~qD!nW_U{?T-9y2o(OfVv4uw;Wq0NN~}(e`CS^(<2aoBS%8MXI)t zAB>MzmY&4mi!M9Ufz-BUWaRKgJo(mJlWLbwlzx^?bqP`3gkpMlcoLF{d7a>g@=9IE zRXGvQJ(N4O{Ws>jt2cZ6nedTn8^O>ioxxcy`RK40~MTLa<^D0_eP7WBYrQ%|7)-=pl^CpXG?yWkBNljbl%RBBn zSYgetB(?r7LO%TUR-APFo=fk{fVt2_lb=?pUl6zaOU3->0E+24(a^oA&@|4kTtTqa z=&8TqVq701gAY97VjslvQs5~MC@ag+X+7soeHD9Mh3GNS+1MNI0GBmlQCI)ea`(@? z1CLV@`ujJWKvPT4)Yd0z#SPQ;mI>QfQ!;f6^vGT+N0*asls6u(y0#ua-`w1C+rE3V zdYaG=#zuw_MI0mhEf_MXgL zH5me;!(mzw_}lMXWJ4MHpS|M<>ig}g&hI$;dru?s^4{6DKDdA)i#G^2@n|-BrEm`B z-@->dFfgU;n}_HMGD?_u_amk$yJ}BL2?5C^_v1xNQM^>*I!Gwd#GyeaAzWPb*i{Kg zW7Hj%Z3fA>-6`msi`fIE4V$^K%&n!l3$|6in&cZ7R@;Nr!NJ2+k)(f>?Old#$l)lv z0Ul1$^I3~mc^p?MQIoA_#J?ZvYm?#zu90-u7Od{2SMF+Pg z^SZ8GGRt@0!LMcjgCD@q076NQrA0c?1Y|%0VUSPkZ(76K9xBC`<`1F-4zG6!TF>)f z5Oim-AbjI-5+ePpI{p4F zO&AQm&nPnOjhDVpSHJh5o^S4AL>>wv>11JVk@J3D4+S%MK)LD*A+Hi7zA`NmEI)rn zu;dk&`B0yE=P4Ea=E0tBeMGPywIi>{BD7JMNyv%#i{9RhbtM#%*Ck8$wWlA`IRtzl z|HSvHNSts!w-3Pz-Ob)W{_u7U$WelFyK>kLSdpGtS*h=^uyAO!I?2UGtU#F{PvlM)#jTqlxN0MG%5g#AnYPPzpsi4d*7@X>k=*~79zh9;B zRXyDPs`+Yor}}0m^U>mQk>vqbN%(^LWz*KPzU*Aa(nj^vzn_qSpKT7?PD-`%C?JF! zDPBuE00}Pe%Z~#qut@WI?rh-;y=5$0}32L>IJ=0l1TQ}UCS~6f#2Nak!7g+cNQ@r+YbaIa+ zloe9$ zN+N*iM(1~%v0!;X6N9YVu1;DWM&3E%-1evNZ`P!1L~&RjjIfd)t{coLEdna@%t8oF zG=HyA>G~9KMHHK_4~l9w>`Non_-qZI%~9gW0=O{P;~NTwo;0;t9Ds9b9(9Iol6`vI z23r;mL}})k5^m!X6RKDyFEdee$aTvWrVF~(P$6(w{4n7I83ZosP#lE&Hpiocyx}@6 z9MC<|Y4EDg-^WO*QF|UNNAwLHq97UC4hh9U4-oCAm!$af>M(*4qpy_WRPeC%N>4FE zaA;K~lw20(C7Sgr0)nFwfJcb-;IqU{D>|{KsyRFGA@Uc50$IsSTJ>#2q$Rx$ZdOP> z&r%0V*M4bPmGcc(r(2pkU$%*s{IL1RF!EINrK2T{*cjJ$(+2;RiTD8>D_P2&KEjMV zJSRUrw6u={C(9sd%`B)AmL+N4IMfD8AES3}#Damx?EfC+aib zi;9}>F2pxyD+%{yz)GL=pqVVZ)tTu0Y)=m@>7ZAOQz_=IEI#wv^Xy>xqnp%nw00xx z^W_;X9nu-b8R)AOy3u8oGXcajC6DeYyZKD3C6!5Q;;rT+Zq5s zlK>b3CfV%3y2abJPDTFEV|MA{V%yB`O=4@2I;$}Bno1^id{Em2N86Z45Buv;^Oayl z{FRn6KB<69ggs(bv7QBKHwt@_&P=Q{9qm|l-+=t4*>-H?AeGs3|1_}Dr z&{|W&1!F9jJHVF23264KzbkLtsDca8wq!gn;rm%J6e@e9yrlceOpNBhUT*9k`ViDs zdPn1%n?DGZVdng>trIJm5LN3z!4EnUB9Fk*P*|M~R!~36;HZ)wE0vV2DL;1uexP0F z)Z3-5?b-SgsFtkf16~l9`%E>2kN^-^&CN2DmGeADEA2Vv~D2iAkLsb^EfH=j%Oz@naPz4NSl+j{JIC>Sl%f z5h+^eRzqQeU2=*0PeO>T?s;iHTt%-8t;nX|Vn1?V_IPPuFYCipvt6D*?NFuD zrO=4oQ}g`Qwq8eB(_^uHiu=K#55t~WqKPw=0Ws^E&s9f?X&mFj`% za8(^8!|#T!ef!2ox6f1l+zKd@Mg65CscLhZ)f?`L1#@{*V7^2&H>a&r?~oGhb={FJ z>>LJqH@Mw^)IY>|3EgUx@!I6v))w*fssxt7sisUBxX>%#gIQ8QE2H z(%m$W$SR#=NGstJu(q<~Ea+lX*qZC=z6*W^b6Af5?1UY;#FvIx_tF7MbeUpjAX0?B z@MrN`zk2zvsw!22rkF7yh7GVbvoePDQDafmYtw>>sOyq5!P3*8qqi64xHZstSdo}%GC zx0xbbHFK|>kC$B!lK02vXIO`RJ(Eg(xe5C#>8DvrnHz^MCSI+g+K z%T&j|1Z}g(I6i8V9CDc5HgPxg6vdf=%bd@*j0~U(5iMCTiZw~*&0nxx1HMT60brB+ zYyMp=>?X+lQ>tM);>w|0#EBrtu*fEFb%wrftz#D}5;|?_Twc4eDIt$3-i*Tt9Ax|? ztl|#pW~Tkw)CwxODv5`yC=f(9zq~3!_1wK8RVsvdv;696Z!P+j`Pm5VT&%I3-!}Nq zP3T^}fVdp(7<@9SRC0tpRhCxS<#SJsiM{|?`%kOoTYZ9US6;D#QuGps<*GJF4b@fZ zO49Ol+v&|ob~<`nD7WE(AKHBHx1JcE`hhch#ntEO?0#VBnq)tZ&jJr7K)-!W>1S<( z?iV4dl94UoSgjP|L_?SPz|-1`B797FYY_glPy1v9y%|lq?tniq_#C77Vo%s`%REZoSJ}2Ncj{QVWVa`*YE%*>-vnlH@e~sQ=R-vKI$$N4dg}TE z;H4Fi%hJqXpZdEDcc}}zC#r1YQa!h@g|JH$ZlZ~!WU;$U>Tex3+OC0kj)}6fMP67B z(!TCOHc7Rn90&iw3sF(6d^{6>ZX)EgUiGZ`QE4ro(D#&q6A;DRqx3Q?C}T=L&-YrE zFM2nKQPw_jIUi)PuXS*|#kGf-gI~YyVdum|Reqa6q0h@vAxrL|yIyS}uvUQfopcA= zMt+-+PSJHgFOrcjfZ1l+#R>+@#6~}AXQZREhaTy&$F_Q6&vcsaspYJm67>qgV`*o8 zHH!lSENVydPay^mTN ztSA@Z6fK=w9jx`53x=LhF*(5-WktLJZufl7yPwEH;;GSEwkBdo6XH8wm{CJvQ3<>U zrg>asSW>`Io}9VW{x`gI(VIZMqMU7(2Un!uY~4NbCtr|E+V~W2RS=+J zUY9jZQw^@~zd@H4k*D<`Wlsu;zE{)!IG?%L+)oTmxs{T2e18 zBHC-6>i%%5wa+M8s7vU`Jy{Rl9l_+V)wrgmECmW*L|gy*##_w#n^l<)j3QU6Pi&y6 z^#6)|($k8_+laTqCk4LA6zD{l$max!jO=@Nca2!#(!A=mG%uJ3{7_m?xc2xp5HSob zhrdK`Fow;2_if;lfWU|IL>syCoyIdzkriKu!a4J&C%7nyS=9DDt-rib z)ry;I6@>G@7X~%6`{iyQY^vwvx5FXVgG-M#YD&kv#0A@LsgAuw z;ZmqFxU?WR!bZG*GHX?F(j&Ii4GsnFYZGVkU5NPjn`MVpklwQamEep$$BhOvc`CVz z7JYI?eJ)!C#5d)RN#)#hBZStRX~%T*9AX`%Ll%@~KZL@U=M2gu@CtQfg0Rm$p6OpN zRGiH{-7cMUk=Xq@hRy+0jbJ~csD2`d=>6n8!_bXy9WdrJY*w)OLKOZWL-E zJ_7DVjdR*xQkF_E8_wuCUAZ#OMHzLA{L1K zZz|N%qPSjT*W!!Em!ViUlxSV21#VsudaYaR5YN&IZ89A~q^8SRs{v=vd6zkxXTAuw zN7u-Q|8~lEx7{L-Cr{_2d2+3FFxaZ^27~?z;0}R!jz7gee0NRLBQFiy@!v=;UIo}@ zH@CJ5IJ1#2XcWdg#)cfzrc^8j^t>-Vn|T?Am6etG-gk)Hclch_OzC-+t?tn0^*p^q zI*_Ha3W&>wsChQ)d9o5>*Jyz&r$1};yqm6rjrRibPbq_kI^+8C6_31i4Ve^GleUzu zjisNqgLvEnDzrh#Hn;hM>E`<-WBIlsv}4~>%H^AMy9;Gx3g@>P7HpN7a-HpIsYR8w z%TYc6<`TYZdULqIA+Ox7!&>eqkSYG%a~#n2Tsx5~+lou^)hhKL$HHW+FEv|B)U{g0 z#W&^X>4NYAzf04^4XS}pocfmGQS?QOZ&bB8=dxk!5-Ij39PNtdreQg!%c73@uj+hP zT4QJ|ko_8;3*4ssTqiLOm{|FFr?)h4WX65`JD(>7H#D8it&rH%0IB8tdv5n8=p%qE zqiy-1r^xjOX!9}h|2R6UfU3GRimD(YB`KXhAl)EHNlK@JG)QykZUpJ>Za5&)aX`Ae zySt>j>n`q#ZzvLbul0R%juG)RI?e5J?-(Di(ks)ubcyCHpyZmE{h3ZEDZy6}*)Ml~ z@9d4vJq78LcZBWX5bsTv;DycOqSYg{m9{h1>iL)XU;OYaGmDk@)~Ey(=X~39oY0ji zFO^Ai)$uL-)5=6H=MtNe8R&{dl%#J!_OVbrM;-5AeMO#f5aYLC;SrDZ($8U-!zMWRF0y&R{taE}M= z)Ohzpc+oVW2a&-c%OZPjtY+geft7YckA>615D?rBsFHZZB3o&%EZrUchh*LnuE0b; zmW44W&f0GWqIY8PGS72>quL{FOJ0xUv|`jT0|V3Ha5Sx0!$o(x%~je`GenUxx|Um8(?jZ(JYX_^5T^si@R%VzomwUtczG_y-bsXX4z@>?p^U zslL!lsP!Y!xzEA9Ua-1HTfXj_ek&FD$;00*#Xv3SD}fe)u%KwPqQPq=LOup0Oqhtf z4lCYac|}D>U%BC!xoC8#nJ62gNOpxNMEY%<@XAdz%jt=i4Nvwu ztD1H>mT2RG zRu?{E=9nL9WO178(cuTD%JB$?PR}$PBh?e`i7L(g%Trocrtqtk?C2@ha`G8tyc&_xQJ`r1Xr_0&LrklXXOL=i7pO9+x%BXSa%&+L#%PM(daAOGZHWD0U+J z>(pWas!}>n7dlU4@(&a84;?pW+fPUI^z_TkK<^9`o5;eKpaN7B^&8l=k`|)=m=+c( z6k@^VIu_xx!H>b|ZC_vCH}Vd`FX2Qt@4&lI2OljU!egCqS$En`N9PMOQv04s*z!Tj zR5Ew?jw6^&l|NHe+S*>l^ctA`SP7oKfJ~dy{5G#O>f~~qv{$6H%H?Cm6%L$3sAmns zzVm6w7pXQnE=tt;eCZ*V*cab6LH#0I@~!}alc4LuO}iIQ_}7S)3Yt5K0sKrSoP8ixiqBqX;VNl75;9u&UYuqo6 z>5O&YS6{`-xPF;Uv-WW0CCJ=-gD}i@$3W_=6QOPFowbldBjs)tYy?^lZNeF8l&fIb zu;QM4{BN3Mb07!{gzCKP$WRtG^e_2pJ9BZR~XCt&Sqv29uj0k{b4VYNx9FP!_^i$r8H{}_$GFRc(a+ugg2 zBoemA@@9{h+Rw(x<1a0E8~hDU^8j^HMEB*1;E5M}_5w9zR@# z7plA=Tzn-hFb?yOHewC_uKv=7fw9s57@WdS{}Vj@&mA0;3{QI4@`qFP+>EEqqRMUy zXaaZf5XeOjl$>wRO-r;I2SS*edfMJB4WF!cOa4f)OEh#`juX~(C;df+0@p^zHN^=HlM^U07%M}lvgE>ripSs@TV#$Y9O z{B9cNAC^tSlQ4&LkH>G1qk^~j4X%$AuY^jc9T3wg5sUi`a1&EfKF~UXX~*ZDw`Yw4 zi#oYOPVx{}c>g*@wX~wC+*?k0E-jPkZBf(sz{Xv0(w7sh zUWGIMh?&pW&xu}4cma^wGjuZUu4o7?dQ$;dN>y9ivtx$sqH;R#T54Y|FcLL+Z2ecF z3E6MWizf^8Kuj&}PcEw1BC8*>rk4CMSd$7l1zGj1kl)D}86S8JUZ}=H?TURHTYrLd z&SBl1r6sQ&!oewuM}lB&Wo0|~g|%xG0I1#Paz*!jRC@O|*pV#Xb^Z5&VtbO5oy`n+ZR;0wQ4K=Nu3Dx93# zv;SmTznJc;_ZRH%x#Uy1%WGgT7yyhx>7QdL&)Q@#ZweL9*`sb4jA))7)Hvfxk^#iR zS_>@_jlw_n&*gTY*cvmc zgz^aCDVm8CF6u>6ahgq;!D#z^I0nIj*|A>htUoS=%h*M3=Qp!Dg%^d;f_tXnC$kgr%GOQumbj3>{PU1U|)aVjhPQGog3qs6u{LCM45e3R)- z7OLht<);xNPtsR4%W93;sb)Efuw#>IZ!F==(7EA|$`5MsB2*ctFPe8m&eT9ccTaN3KqGX$u}Qj^o0GVh^FZ?ELO3rH-t(b$S!EJHvv3Nko3mWLI-Y?x|^0?~D#gF{W zd9TAwP)PQ9R;!?K(yNa*k=S?W)o`{mXeSuFRe=)$rCJxaGv9eTQNk*0Jcf&Kv!{yW z0@$`_H&24Mo=l4hiuD(+;g^Qh6IHqcu z{jYX3;>W>Zy-_Zug5lXzo%*%%<4Df%N!H*!VNmsFw7UoB37 zyNb4-BL=U5CnLz)>+FK@u~qPaQ@g&(ADz6>GD1cg!NyyBbZ6$4T!CEd#})iAO8?mDBEVgth$Y8v%EZ{36WDn*csX{C8*vr+BVHGF$2zVaz z4vslmcGaW8Bw~}O52q05(|d`vRXLR=A@LZ*o!l-6J`bKovRmT7;l&z06VS?% zPTvMu#%n*F>(`@}HNdmI1_0!z5S=^q6F~qZ&+&Y?n69;6ZSxK{#9{2&?bz?A2Z0BW z@+Z`^YtTAV5o(AN8NRxmvaCsxp*AT7e-wfkbz>v{`}laUyD`zn)uN)DpPxtkxKlGh z719z{=QGq;zU=}vQKBKdTxUmI82IejcaicwW+1QoU|d`;`L*dUBo48a1v=OEIvsaj z?EXBgO!RDQB?4dix4U`m6Tge|vB8QCh<+m$8((_Ue+tgd9XG|I;;P9XvVh3BLP5%I zUI`EWx+x;CI4|3}HC_mvEKW2bxuGWwE-tCA;9E-OU$j@1s4|M5{%oAXR1uZ^Fu6E? zTrBUTYjAwHzGII|MqCj%7(|g$u}DYli{@^jIy7S0ZDsA$40v()G)v$OsWajHRWP_e z^mjR&uirMDNX^J%oedz7wrjW34FToCGr#+b;H_fQ%|b|n%jzr7(&4eOXtCpvS6Q#@ z3rrm}%*~5z=7VC)wHk%%7xi*zKQgGlIJA<8iG@PNwA~II;=_pyJ#D<@-Pf@0*S${Voi8TO z+*jb1hYc`ejEBU=W;pZN&UPQVEN2kfmK<(-aw^LeU$E9u7b*Tz;7hWARE*L>?96{M0d{pf>Sm~MVd$m-GjWH z!p57IDHBSg}xQVoDlwi^#hD!3u^GzE1Eu zq`|Z4p4Dd{4GR2#1*)U0b9F2#QRMZ!yx>I0Mi7B92IQQkPV-!s9W;EyH8+;d|60-u z#q|C|a9=J>nKu&Beqa>S{%%oIHTpWvzhr!eEH>HZvUn(M#Bdhi8|4es;N@uBSlVX~p^`n9}Yz ztWg=ag~ScI@W8eSjNyQ$LJ=GE;a`9ePS^cCpWfZpXSD*0Ot<{`&7M;>Mfx9BR-f_2 z0ZrP&eMeen?fL|3L#+!m_S28RFFcRaq2@WDS4rK^L_8#}61(4F31w-1|GomCp`wZg zAKI7@%aCv$G`#k#k}4RaH{U0KD6_apK99nOQOzQ>+gnha^uSbA4&HUMI!|4u-#}e? zygPc9c`dGo8!zB({`J!=tFMPdA$8l7RB^={8Cm07BarVR$R!ezS%+j0Ktxi=?Y4K4vE9z7OFo{nf$w&2o>7bcv*RYwOp~^5xR1F zb_N*Bs$qk3x1SEQBgXUP&H%kHvee@MvY)=#mJsb(BNBy+r?ql3beW2|4AH=T^Bf$v za!Z=l@k;AgWdeFcUnXhr6HAD1J%$tRBbTpVn&YANb?{%H5y^rOYUu2j|Tl9@hu^Y^?uIE>sK?#To2Aci6>6p z1c4qDYQZeILU0*-x54y>e%lI45fe$i;1gkye_|VwT|-@5F^Zw1!M&9E%SU4e)jemi z48tRaL7+THF6BBUsZ0}ldJ-FeP6Flnr=+k!>scCdM9W8ek~>Lvn_iKjj7jx5;k7z# zHd#xI55=%z-zH979tGknA2Ldt3q?h2R8=8E#ZS<@%ZHLyv{!qH-%VG1vBTUuM23!# zgvP0aA+MCOuL*kRq(gOFV*T!ui4zGVwSAOGpi{ryB`9(H6v7;SOa)!VBh^*G?uzL0yqc$@(jH zr`v~)1N{v(Z~ME(NL18Q0jDMWrTZGcmY}_<-}rQ}J9RvNhfoo_pNgH_>C;HOq3z zz(m)#yGz#{PP`7hg$4j|ZiBge?ttSmG&Y6_WpV*jNgmIAJRpC`n?E@2SeFMj)B*4T zK=&G-U0XGv%c5&+{NeV5^vQ-W_6n^@a%uJB@Y#&bEJQMT#DNJs@5|7jL=oNWCNtoH z6VscU_u?yI_v7`?Kc5S@!s*WE&Kg`Pnx2dc5mwv|1ZEo;85oXlhP|{GY`TfxVgD$HoC@v2WR^B1*=@;gt!{E z-}rk8UP&CE1q<_ZCAp8fri!M?li1~btmWwf$VMEbl{XUOufKmhrx|}+G!yVSX^${j z1TB+0liNI;N7n9kIhWg`(CM=CRiK*G0D1jXk#{fZKf62RmMsB%KXP#V85kUn%6;3d zqUr+9Q(!#L9e(rgi=b3;9>8jsZ=Fqdx8PkmI`Meka|6PK0q|2TpQ&kUBfM;Wx_ctA zkSSIS%l>_dQ=ELa<-(l86x+35Pd0GT9=`Xe#O_v{R8X*dQPt$HzbSjTDRg7rH77=B zVPoNy`Vua@K5l=~=bzFk+|{pD%- zoh~x<`{JB0I;;U^b*IfgjCu%LUkkPAK6l0VXttERyguSi-Whrm!2}bN4>j`iOb6kk zswvRl7kE4&&89&D0l4Qc>CK)CN%3z$H8-)qLqmYqQ_vv<`Ll+TEy7f3z7mk4eEQS5XIx7mOkJZBH3L5j`KqtVtkA-9auI(A&RwX;*X zdyfFl^yN+EhxYm_E=XXlyFEJ~K-*j4uHq)3e3fWb`?q#gF@2PQl;Z^~qx8q`iUES( z-#B6DJ{+=?e{u29Gb=DA;0QY#acELQU9`h>Bljir{w5fiYl+E0_)jCjhcK7 zU{N9bk!)z#yiE9(9FWN!e;gF}Pe~5nFIFEb!mtw4mLzh&vdb#j@hADas51(~ZUz<% zAFRls*nP?uMa@8FpS{9x_&Bx`j_xsa_-^(Ay=Xf&CIa2N%@A$O!H&6UE6$-~OP=B1Oa zNmW)lq)!E$?BZgInSSJf!c#TXCvETTLcU;V_pC<<`e6otmU!#!IQa`HVZJ{ZQOT+}_8L)u)~6Vn40qaPXFV z*PLY2|1EoWjZ5g_;uYhdMf{jC`&b2EN|yedQI4zC{$3i7G1_0%-_Fp0Kat;QsnYwm zQZ8!v$E2q6}Wwjm5`8G)k^BgyQkK9cJ{?tjvUbtEi!b8k3{K@@(ax;Hd zSEDkA-JE(||99zl`LDYEzEkiD%l+iaD}${+3gMIk%3zDo&R@YtZua^ja^kO$SpNL# zKC$u5xv@a|;S!1G%GuJDK-)X_^Bl)OZlX`PQeqRqW(Yw?{@UC~+Bm}6rd9M|@#wEM zU3`T;V~ZW~$B(bC6x@1L(i8?9xd57ue@>QG1pm8byPG&YTrBnar(#(DfS5qG1UO{o zQj1>j^4+@jdR;j^;d^bX3Jj|+wQBGQv4+!PjA$6KjT)$XZ|lLMh}V;G=;=B*=Cq>A zzXk@c=v>hQG#53c?6<-}T=-|m{J9k&c53k*l5K}WB=hsU27p|_37oDc&Of<$v|lKh zWwT`VD7UrbFCS#)W)k~3D;^U2)JnR$_pzMI`IhOnfJj4ys% z+Yq)S>+LkB3fuj}!E0NB+u-6@D1M(9qimESxQJn^bpbJ6jy>=(TEivpCjU^<9bUqC+=X=5#V(@qF#EXkSB+5?QW)huK{l~}ux7XC(mXoTk;H3q8 z(?>NF*?qZ8#V+(r)7LN4Pfv1%{fIHg^%4UNiq~a^?$L?r3Hg`E+&24*iaf&RefS%O zFqB61?9U(UNgv;?O;T0c%J7p#PIq9U97^NuK8-R2<5mzj0Gx~F<#(=)OZBJ=^)-U5 zHR%5io^q$AqO9kfcMC!^{_B_cOrA^Bj*1Uio&p7ct@&KsMy*A=sO{QnR22Zqr27uvoOW509yk?|JN%*$hE3iP=4GeXOh1tpDY2 z*P07V|Nffy%JG(WJ;Z(SB-&DnL2R-kNKJjC3GVCWtSqTvd$H{P_Qass+NJF6yHvR+>s z+D$b9v5A3+n^Mc&I1Bg5m#EHu>VqbGe+970`qJu08`UBQ$huJf=zmLe>wCXmU4FK^ zwP)nC%<0`^?A3MlaC^wh)ironJvug2Fd`#zpw+I*>3Lh%tmj4Rc)a+&`xYU>@W9+H zr{0{*kCS5NGx57VQ}d;MrRf_JPjoVP&>>=-nP0DFH@-d&0881XQylR95S#{I2XD)o zb(91o>D3YhF6gA+b0~Aq@n%!!(Gd8*0X+L*`RM_41tUJIVO}>`^w8xmx-R}D8O-1* zP43p%`=wk&ST1@i?Hq_R-q(VpxC={76oAwuOVJc`@iv5qNr1004Eh-*bNb^$>;|Mh_elQ})=KpS7FNNiz)Jm+415Vd?S(ob9cV#e=e7kRh=) zGlhz3EIj&iuRl9=v`F>$cfZ3RkL)UZ$uBWHdZBimjCzYf5B>DvImlq9p}s*spBg;BMf@gGVX!h?G-$KI*i zFj`Ry(((g80P&)olpySbf%5ZiZMU$L!dDlZ0_%^OQo_Pec^Tqu>6!`)iX0gUBE&Bn zF8HZqSPc~`>MDdwmyIEADL_jSl}8JKfWblsaP$)AnOof05H-)YG`ihk*+JkIA2N#U zJx!BkP}y>=U;Y`l*7TL&hyGaohhn9gV*lNn6MB76>SVO=zDa*i)l`pSY@tqCj{5Do zIi9V-|i(EXe3A`uXn3)r>je|ELz)LM!2DDuDR)$tg*t=;#v<^`e zgDb2FYF}*9;!2ovnm27LL~U7)^;pOJ5cK&*o>_VR=Ycrh-eln1I7MY)U?h6OGgxW; zVI2Y0>1=!BnHtUivkC=Z1I12b38VSM}JIgm86uAkY1;s z)7r`=5x(CFUxD!g06j$lvrg_}_%)zDm!Tu@U2Vh^Y1R2ITPV_qB`3fO5$4LPm>j!T zea+#9C#0OqLzIcpX`g z0-HU8$fX&=g~g(|uy^_E4dX2!IyKSo{Bj%`!5}=^Dds@@=Ixlnd#6d2vc>7pYI#1O zq_Ekxh$LnsE={+A;!uMR|5UtaoWF8WZn>*wWPV_EuOl00KJsMnt4{4dGn_uk{J<0? zTgQK66IpfBS?{u2xDJ!108QC64A<9Ly9WxQcCMRrA0mj?zkq1h?Cin@MCax|88r|w zH$_dXNNkYUqyEDn&9|)YWQ<$PnQv7emY?n#JnZ#&hWOI>s3GRrUb!*+upu8^%U1x9 z=vTM-Jtc`*GIClD^jqTW!!T=+-iPz0+2N!;Hu`+G2x=q>z5<#GB7JPni8uIcW5;2t z%8$!W8`C#&!-9Qt>1`T(V&;4m+~TgUBkT0F@nvxk)yNF}v0n>gKZ^wnu*D>`Khvg; zL-QpZguF@yPfz)TGE>jY*>6RZ;*%+udx+s^nAs{A$OrXL-G$XQoRt)|c+{f5Zx9!{ zAj4&F1ks+N=t!~<*atBo*+;RHpdRq}l1pNB0WGTb#9f&w_D!58Hk@hv)ZS0lF0&P1 zYjN$V28e4KNl|5qLKa)t+fxh=e##lwq+UqG>OoVhPl9mN6t6!zLXdctqFl|T;|OJ# z!XcA4on!Y((yIu}49uwQMBzx}&JO!TXX)5R-qFHs6UHI-DW0uUtn-=-BO%m(2|Vo; z{hd=H2Hk>zrfF>}S+I_O*rMT4JkXw|Z83eZ1fno;06zdRN7ecuam5a>Spb)8zPtU( zR31Bjz)X9loRny0En3!RWfmo2O`bRR?)TcIK=J&d#NwTtXhVFkx+5xUYBUJ(plU{1 z=}<}(5gnDU~_vbpLUHL-AJhBH5h^|G zDI*paY;vf*x|B%%q8=NGzNW5w6t1t{=aoAL8?&>hqLZM$22+2Z%)HzKr!Wq@kv4Vo zgk%rOYH^8Wj+S{uc70KH_VFSLxMY)Q6vOaYz7}ySW~-m!#J=%Ka6b^yMD(n3BMLpG zXgNjTPGYx_AOUoeXn8wz47p%d6&B2rYbu$L=5KmjcMdS^NF&_kOwgcS@XBU?i){vX; z+(O5&1w+k$m)Kch^_g0w@tRs>uO@TaXqlayf8s>Nj5KYCaY)DKUJMSvCZIxN3DV6# zD>uVVNzd{}Foc;F>O8!s|5N(P+sa<~2bXT6X~b8Yy~>`$qODC9tQfPtMlTwn#g@ed zgYIO9KtlOSBlNvpI`anpfCd3+d5f9Aqw&Hio}`kp2DAhF^Id$W$*#Rm1EM|L2Zrgm z&PpSeH8b;z&#IwR0hj1Xl#+=S|BlGdG8>x6g^3soYL|T9Bv8}YQ83r!!BDzBZ z+!ox1wP>j)+{Ni|%S#VJBVd3bQ*Xtbn z*T9GGeBQVS*g52gK}TjTr52qHajh5g8^t?S7Fum~xm&5{M? zu?jqlRiOVeeK2-tkB8EQVP#MD({wRW0>< zuyrP7`)FjbbOLyvcYQ<{KEuc}?|8Y-uJ2kuQiH!7skV6)DpGN$QON)|+!S!u9nSia zi|b?1bP47rj~;W`(3TS5eM@l*25i%gElj9EWsA?|zfj*^TH-)JdguE%c`-P{TK>ym zv!1n(jLw8@^~KTiosWo|-#sJ`nG>bW@7tA^+Xe>3>&eLYv>Anmd-0eME*pbVN#g##g>rUV9{>h^LD>m^c z7H31|rA<5DOB=+td&h=~wllaGBc5WFfV4$UKEaj7h=z!`Nquw6gOwXDUp7Pyn&A(U zY-0=`q?Ohv#X}a%97RR0vSBF(>H+m;>kPqd$?1Q?RO`E#g4N-L0*|1TUfN;8vV$me zF_^TRT|FLLH*0k{Y!?4S55%knsuZwMu@CEh%y2s1eUuqDY5TfvY?NH=At=ZwdgWJh z#ExasRGTMEaf#DEnB8*LK=AU#Zfl3<(VwjoNU~5*yu<2g6-7&a51W(@R`sWWQX;*E znqDY9uFLV`-OcDb58u`WykHl3KK2 zvj+aPI`sKZQrSzoe)MDvn8sRU094k4-8wEio?LUYRydUO=}MjjYru{E)4B%13r$tQ zx>w6MX92RAzJ&e*T;JE?J)iXaj5c3rHZ!rid8k?R#!~Q$J)U!%olv7LWbKtkulSSU zNfu60ODj3nI61G@Zu0<4?$x3jvsJ?-!7$$g$GheujFi_2)S(|98It*=pG9u@wh6be=$zP{O*PSL8|oO;AKNg}zjlb5oc|n`21k!Rnped3-`I z^hd05sJI(SKs}g_mDR%hj&2yLaFaS%*LxFbZ1XVt{6iC%-k>swHO!kTWAiBDfroDD zXn;Y<@|&Eu9;CGJ#WcA%{#EMa0Nc+-fdV&X!z$8?+CHN6xM3fuk>r5?#U*_GuXrf3 zexN#r5|9s-==1DC+%o8GE7dTC(OshDqADCNT>MM8|_$AC(1ZH{Gx=eI(VcOiXrF`t=`RwvZGoT!sU0ie++NcOe1_LN? zo1Fm>pj1Jxbl$_izW@pR`*&Tizn^MqwZg(Ho+@QQ1n`p%R{4x49!SI7S7qXm0l511K zS7nWQ#O4dM!+5pGHywxzYy0~^0@?PhLkMpI;mwy+-m%TX>B#gWE(O52diEh8uCMcjgsGx}zNO|1(nt+EJYg;@QFjIID@N>&Yl?iirJ(|- zey&YuuXIQUfh_v9y}I50#oe3@I9~*ctm2{! zhDuG(U9!a8Bk8Lg)vV?VyTGKsua>V$zf=>Dl1^=W6Q}*CE;K>TkS6sX8zGyQN2WU# zPs%PfY5+`8Eq)Mwnl#pMrlHG-kh?^r|7yF1*5&)i^||`U92uV^5SQ}dSwBvyx~%$b zgE7x~fakw}YpB=pRqb|@+uQ7)fb-hQLJ$w{9YG5RXeN4|-V`tnTKU0pcY`F#AeWs^ zT$l6F?tka5_aog;*x;P^jJ`^(-Cl@gqBno>)0D$>yf)@{M37cJhcKaiXP(F>UOjfP z6}pWfnXt;xQ3rVOk^}SsGt}bN{+tNUu&0BkD`uBnXvlfITsD7%FkLVu0=Z(^d$A}b z%Kr?ov)S2^*URKfi|8PZg>K{6*e-w(X=DdM#_uj7(V&vVyu7^Rw%wrVt3=>6-Mxgo zshGcj1`%kizb)omw8Y))t$Q(i8hhewPW(A5Z^Nt@v_8=skj=J))#6p&B^o>eL8A2Z?(@-%@Q*v8)0r%xu4&P@ks&4Fc7LH7}BCkRB%uu z!u<{%GZMEks+M-%Q_k%oFf-eh_f1mUMnS)R*$5STkNf^4wi{F!K_i?2Uj!Wt`g(Ar!Q@`gT&PW+8p@qU zMPKCHJufj-TdQAJMtv<+e8NwvpSgU*`cY7xsN29reB;e^(-EP*kCW@@V+q3HqJ{&n zL)^wdbzl|u^hCsI9YfLDD(Wo$Qx~ND~m36xMNpK7jn~(B1oTk*_k?7`*PjoJ>XxAz({bM4?W5=OV z;u;cCgG?I*2v6SJ#ZQs)qrx{|xUoJsDGvNA4{j(6FLM!(&oeL;kKg{-m|z&>*k1L^ zQ)kkBqKo*VJMJasv?0+{d$5LDhIgAuiedq_T0E8?`Ga-@gQS|a=309F;no|k<2Noq zt>L_1-u=DaHBM!o3+-ErUHxK-T}~T|fyV>Euhqy32A9hu;~SW~7XeEuw~Y@V2AuWE zdq!*5Xh5cnI3ucsCdG%%-kU18(p!M{+U~tfP7u5QttM9&OR25;EIJh&LeNUTd~@qM zv!znC+$wX1UaC+sq~SA$qX%Dge^QEEi;kg0;6=ypK0u zKOWi}N=fsm^4^)Hbs${`92`VNfGY&}u8O9n{A8i9l2;>($K?gy{bS}vBOr4tERpX$ zj*7Yflwm>^#T->9&ONY?+IsE>vaXvXi?*MC>$}SN{a6pxg}Azk_Ufw7w7!sZMx1iVZOnn)2%~|$jLgQ3~lF_qd zk0gmO@d7jrD+Gs+^@jRr?r@fQ-jK(A&l?ru4Udt#X8C*1G^{*3Re0R*hX|Ms>=cA9 zykQhIvm3OygPF>ZkkSPinFK0v4QwWOZPyE0aM5k~@VJk^^z?XjHh58}*=XxmTx=0u zTBP0{SdqJk)T-&WQIr!3M9b_#8m)cRc%m~se6Tcu7G4-%Nj zL?rN0?sgOo=@1Z1cI60cTudrIAUxQ2y*_5i*O^AV(euqCOYgAHeil9z8s;B-kWZtO z#q?bJ@W|JEz5Gx^#A_2;f7loRC|ucPfD?9JACh~LNGZ!8tk3bFO-f4z_&)Ev*09`H zevxi%o|T@?4tvHkd)@S(Z*93Omt(OXLSZ(NVPm`xC2*ofOMF7I~xPd3a}RX*V3CngOovLE(iVi8x~%@%m~CFdFX zg5odY=vZS~^Iz2^4QL|Qw>z^@+o>E)9@EHTx(j|r5>nro673g*_-2LqqleM#Cr7Od zDDp(85HLX*!m7pwIOh+x1oV^lUm8DF)Bw{*2riAkh>FjPn3TCO0b26r*4I3P5pIMd zH4oz}2oqK*BR;~oE66~0E#2RrtJeW~w7m1Y&XQ8{>Th-%dUlwcg5D=6DAi_Vf2L^` zzq5c3B%Xu!T^`Rax5l;@J~PAZGm@DG$&?}RfyTq>{~tYo$K&&mP%dBjiSbQR>bEZC zoRgkjkyP-GtEe;6q5;L+K2U~G)6vS|0)wdZyVTj1x@N>i=XZmT3J8+dS|x@P2j0>MOnQ8A??!z zgkUN1fA;mxLJ1tQ#o>%75OwcUz6uU~W2b~?4u)80SB`7jgk=rmD^|%9Tj{+Z-)x$L zW=Nk@``7F|DlS|7KB;}GlB3`-Rtfp3sjfNlQbg%dtn?UsE~Ku9L7&O^pn`@WTbCCW zJJhHgzs=C-HaZGzm;O+w2JXZ*x$aIxvu0F{s z6{7AqLQXv5B$e?=CthC8p&OzHy}(i%{35yY*z~i3170t|xXj9|6ol)l^62+yz zQorX8`^Lj)WvF%CzsIR-#O0}%=WS^@a>)M`<~u}$7@8tN5I7(sMn@+7y6~7fc6tX@H=2TPB*~r zb{6_vB8|l1hl%1tVl)3=O78U|lMfYjL2e}0KgW^TJjP=OTv0-Ih{X}~CAtD4q$0-< z5T!)koKw^tXX35YpcJEjO?r5my{puntvGLbcUKI%jJ4ZJI^=iyqoJ?*O?BAh5*{(W zC67`h68k-EZxuO)UQETtn;ltC#hF#yfOfP1BIhz;bg|w%T3-o#Y#Kd^3c)QLw2@v>+1dQAV+Du!;Rmzzb;z_E;iKvcQ?VWzcti2ecN;-SU#z-y%xt99uYo+ zW-PEr^`fRQ0X z4cbmIc?B_W8?R4(2!T6-JDcHO2Mi1po@CQ4_CfK|U$6iPNQ*>Km4RM@J?jUJ0sM2e zS4mh$jiQh8j}RvHUy7E;tTDtj(;Jp>r)I2`9TcP2^!=fcTNBBZp-KfXMCi+yoYe7a z8i`m9Qt{3OPDoo;dM&mIrIh!jJ6Z=9N_wu>1Fk}2ci9`OR^DaZvlXUzF13;WhB!h@ z!Y+{IM~>ccbMPCjCKvL{gj(6Qnfr?=^!#ou((|ik8Y(|ze9~aV=e=mO+C@;~7zhoO z>_wJFXRy;2(l-~vbD`Wx&6e1kNn$zY7Lbb^t7vY9Gch`QtAWe)*M*+a>?YjwYjU-y z;)boObcd{DH$ya(gX$RWl);#Ts626a$Dy9+;DCMqYIbSCR^<5R6)hE5_BBnpLhCsN z{Vwiu5Dqg=^x2Y*_bZ2OuMQV2@%)|BzeH1l4IOS?K}a3`A0+09F{(e&XVL{mh>F}S zqQ^Ov$2Fw45NXYkKa`SQl8}c|Lj3`Q=T= z%aqbLT=Fh!bCb(2o06#Bj$I+fithRFeaw{<`i@`;DFz6{DRl^c%3xX7$_+^+xBe%2 zZUV6S%mSic#5-Bi>5D3N}eY8q;~8S*v8Um_iwS7^CJ& z)ome9x1@RYs|=7P_W->Fi?MmgDN1}3|6Xb8iJ_f8@&!0>8uF3~8Fn zLQ?5)y0DHk$Kt10Fj9!U`sNaUcb-k^%fiGuf#CB)j|H!yzOo&95Mpj=4(9h>0H+3~ zSx$##%{B7*jfY4}*)54a4E=a0cVH#OnldO6uGs#Qwu)kR-`|Br(G$?xm9RPX{c22{G6_xeMyYcEEZBSlb4*Gb)gf;QTYASo> z3ESqg3Vb6!eK%iB7gtWOa>jAw+`40B*tWJ_uK#L zL9IaU%|&1H`@}hv)GswPb%gX>vNG0rHImc`Y5X+T*_*z3@ zIEEQt(@F1iV-Ph6$~Y@qcjNQJ3o5P@KNM^EEs9o}K(U8DvL)_{e^U{Q;#n56R=+~r zuJHCE>n!%hlcIvS%EueR$h~Q!8nbE8o3Q%fV4OA4edIQ-rfYirTZ3FoLkxE6&{dPL z#x%G6gCjfByH`0dPJt&sX3Qe36=3vTH`F@rWcGX;lr@4c+-fhdxfW;96~h|h+;>Lm z5{*2M>%0e3o#EwPwR$LiB974U3Ko1il$J44wp?oHJ{#N=6^h;G=- z5QV50A7>ncqn@^G)`3FrxA$f-<4A`vDZuRWP{od53I&b8{YCj)>w^Tr$T&6i1&>z` z=V=kwJlE+)Ze;)3I8z$lULMrcQ7L&eb+IMro%uf4Y%)KrhyiMjRLyvnAl}H1<6pNU zCbv5`zO#<^!iY+Gy=S4>J;#90i>z_K(n)$u2;jm1au>8McuU0Gcn;72I@ITImJ5Gd zLHmhs*yFzPe&vne%F+;;m^OZ0qLN$O$Mg`bE*_3h$3Oc6dH$x*&!_iwt-qO6M_F`C zc0-`{$s6yqzLjzx%^JdeSokT7n|$Lgr;;m!OAZi;Od1-X|7x)|n=00z%aw)>6Y+2N zEcP;o)rU$ueJ20*5U^18r)AAvj7dTxGLPvpZ~S1)(jigSSPqh81nrI2sX)h0Ka%>g z?9}OCXYxI5{?Cos`>p;L&f7EJXWlzo#9AqS>N5D^Yx}Dp?mNBY+g>O+?8640xT1Kh zeA0qP)b)XCV5k~}(WLEIAUn_A;NRi@uHX>3^3OV6qbK1b3T3Mwy0)#%`}9!1$j$Dg z{QjS|mw$2p@W>H@O#YXD^~)a!nl+`#e^8o2(ndS;O~RO>k=`j9aJH(%@9C1e%dFoP z>*)FY;qO>!Fr`t7cL<|8=Gd$vg8ztsmpWFjp>GOX$TZ}}t1CND>G)CpT+kUxl-*0V zwJKu#7WBjLpx|=b$jG4Kd*mj*_t7*#eKPAh!Q%?YtE=DMZua*R#5I`!H>6C_{kp_toX%Jz^Z~MJ}`N1(T zGyA^wy4E_^uV2>YwWTXZZ8QTkHOk0)7if(LOkKT25r)#-Y?8P)=0PU~-*gxjX)`r_ zN+W)6W+UBd%Hy#jG~#?VbfB@`e)jhF`(Ah%!3V(=^DYR9-6l?DjbNIcnZNwHqD=9` z_qIvs`s_2`N;MB%QDy;n^pvtsy zp^iw&QXz(SFl=4VjM+`y;T6ikQkwFJ&g@iZCw0;G1AVk4I5qE8{*{t(iLGv5UuPa+ z=({ab20Xw6^F!|G*8|{`bw;hDW{Y(x16(O1XffY|hw8!AlUUUYe$>L8EL6KWdw6nk z0dRoaWZ1x?{jZMgaYr1XdJPLWa{OPLC0HER1BWjm_MlmlM=FGQtg@n_%~?~mJA?cj zoj_Xx7ia#zyrm5^s^hBy#Dn-@?9I5gQ#_|gTxBfAX*hFQ+{G^b^) zLieK?CLLwW!otG4PqXw?cgc8t+!XPs#Z$Gqif79Q^+C-B-2r(kEe`*7Oh0}wpa##Z zO|j-A@N1yLXFRzrA59X@yx!I?(oblB%eyIV;_}C_jCv;*?kz9BacldD)^1xV5@g0T zy%@0aGH73I=! zMh{_I*290(VoDU=I!;NT_vX}h4qm{-VG9c=R~`nMxt3@)=_WP$us#R_YH?eZhDO^Z zJFL}j|3%ly0zs82*~UoX0cS~d0%Qs4`W05bx5)-8+3D+;RrTSl zX?O~|zw`y1WYh)vKzlDwj;Qmyam$d^Z&iL9a*7jY(_CQYH1px6eO1h$zyeYn*Kh)Zx3(HYUbc5#%?AHm}FZ zyi1RKJbgAB=q8*88T%3s_cqtvJG66GZzof+(#&Yw^2Tbn)zoLB9}c0(M5ndey|buJ zz%dkif212yW@>m~qWTPC{ zHChRwE%ffP#yy^25y}L;NlhO}H`uvMtsjnge~~d=z2+$B0o zGyjm0ozVM!t^@L%j{9R@JNt3O;RWoI71OHU#e1rDzo4y8ps_gg(~+wnrR)C9`Jn!Nc2)WBaJ>6*s{1jvAcH!((0kbyE;rqir~W42!|Ceaz#Rs9-A*7W3)QMX5^-kxI2a_IPVP_f|@w_8g*k!?#Zd6I zTRzl}y5!H)GI!pj{A{dNHE1y&(zDtvun?Nvk6p5pNG=(-j4_mwRIOq(O>g+rf=6TANWL$Xh3P0;r>H>QLG zmBDL^%cV=n?_fo`#du&$_4kcQR0m&T@x{&?VESJoWT4qPUlio!Fk&1WEzvx zaza~dZNXXZC8U9h4q1!Md+I{c^a}@t<8M(1PW6)@xOcp54xEtjT0OR>c)R=-B6LRH zb>dk~@q(GrTY>3m`8N2y7G=p0$FHT7&A3IU)hLrBi-{z+#rlxnHtzJ$AVySp+oU94>j(5BU2&KxjuN493A6g~# zCZdZc`s|&3u6pbJ((<5>f~s?>xTan*G=gZ_iKq!4WvVlet5yJ?7p=YW&D6xo6D)mQ zQHOW<6kWx)4x@>qYy9a4`pNiA9ez7rNKrGrp1L40-^S2I2Vu7E`_%bAmD~eu++Qmo zlFeOj`D+nt@K~;92X2)Y=b~0(1w1**t)3@TV7>b9@B~7cyTfY72o%&5;#!0oY}KV5 z#jJ>4tzH0h^yijtn47Q+das-CE`S9IK7aoF?sxqI%OZFxYlDKYZ{FJ|^<95ifE0l& zv5&6Z6|NVe17FJf0n9ztWqEXN+nyssN{N3qL)Lq3Pzrud%tW;P`e4p(^APLUX1r?Wf=BP@wnkO zo5(od9J3YA!+D_F*| zZ(|G}7Cm@Gee)suMOkoFPQURAg#~}bCM$OT`#5XEI8dFH_hg06l9%G_rxNG%$rb3j zBhV8;cks?*iwHOtb3NlTvJcRF&6)B3S4C%VMSt?nQfg8-m6 zKK_kU<` zT2c%1XqC}Ey+=zhivncV#sKgPTDB{s>F zbCWq@U_^1KLELWyPD6wAg~B9Da5ebXWJVm zH9so)Rz=w=KDiYFk+i~!3|M_y5rMeTMLo_UQ<^L+#K(#=eadIoHgtcAx~hv>VuvZI zDD1A8u*`d0!ECLBeB7_5lVcqYIpH*AZ$#v3wNK==d;Vzq_T6l;zR~luDz1#*-fY3< zytWbTDdWP9{1z@m75&a5C!l_;cb((NApsICxV!=P47_bY{E#!=biAMF9_ih}6h~Fl z;g_ZV`}gWJjSk)aCDTwmhcRE>uFuzGW=C=^T8&hRb*w*K(%Tu+q+@=K!u+MC6(z3s zQXNrcY?IYN*-|&5K3{fL4z2?HZCV|xAr`Db# z5DZ0c%;(@cL*ArkSVIWD)>#ZHtzKI%Y_hj*pLDK&3<#80H{WT+h+kO#+#Lvj&K6!k zwi(ZY;qP69NnOjjgo%wjU5M9v8c~sBXph;2D=iZp@%@T7?4ymT{QbvVRAz!Ic{Q0> zh(q#m*Z7%8U_8l&iS-9NQ+fZTU#964OXzs1`B$`fhcA8fo;lYSImac2wDGHd8+^^} zs?9S(lx2r+j8Jl`^FtEH6r!M3UqxUajp#RJ{mcoCT9@=}u{OR#{r(H>@4(BjIpjiF zk~m|F&JkSpx#!}y-KQoew|V1Q*2@boLTO_AYIs25HsJ+l|L3)VDt{CfzFL zdPq%w`)s~8??7& zp^i}@nkyZGS)G%8<~2S&O>2`)_mM%tz}d-dU?NB01{H0WcL;|-x2yprc#8HM3aQ+5`yU*pLZ`<28Ic%b;nc9pZk1AjO`XhME zi|#YpIhH&5SoK!10X|z_D|)24doG0g>3O05M0lO;f;l0Lo{I0-Ez)k~d`*q)tPaYL zZbx~q=A>O|nxbH?dUjG;p9}K*sejL()w)*XIKW+tHQ@g+?4FirA111bb z7}2$L#aTiBZ~xV6l`U-6iWzU*nnt{e2;uc`&!ksQunGVIiiC>Q|JeNMrFwn01R*KKAb}Rq9oUq~YH(cB!fi>{{jiveAK^LPH4o zAIl(e60KWjlJGybPm3T`>QNcS-eG5FT+*!&^H+x3I9NZH~cOt};wW zBzMH2L*H2TU}gWpj6H0DwaHVH%*&=$h>E(gyIVCMew`0jt3l_2?vN~pADkhMsj2R8 zt0Al2%iXg>VHm_Dap5{p!5`uk1>NxWP8q0jH6a&S97Q|RSl)99f;!s?7|FZnh_;`H zt#w1Q&$JDpKjvTS^5!<=LMva6ao==`F%2;Rpfe0;?Ce0`Xya|iUp>*$J}SprkR%Cr zTefe@!|rrwiEVPB-I_;K{Q!-W;zep=!U1gw)7ArP?Vg-~@b-nxRhPm-bNg0of$ZOV z1$ZCoib)JAKXTy?Eaiq~#8=Nl7?fvcl62?DRZ=*Ol!;mC(P(9K-zviGN>lOwqN{V( z8X3OPb_iEG0ysDFMgmFVco%E`jf;}h*Dy_K^>>m7WhHzNP!8XCGM}wd-aoxXo55-L zp+V=*D6+|aNP$8F%;;A89Xj7?k_6+q7GCP+t0kmpn6NZFZbfS`CZu#l!K!r|brj<)K{r8JO`q@7PJ?1{Sm}$rLb!Ru(Zcml|Ru`{F zaaXLe$Tyt-*lN>OW7Dsp0C4bKCpGbPCo)g&v@1!3prWDb)x9k?x1 znjAs%Sukn{gNo~nf$MGq(>K3M;f=e=E68~+1Xb|I#&*vLXOC47*f1SPG4BdaF#=m)Z#r~ZC0<=3xa^pNM&rX(+9)F~GLAHcd< zpYeV_gzDkBn7Pg2MOQ*2*|#g!E*-3U{|yxN5uAYB5IPp}cbd+&ZSRV+J~S6rMW^#T zK9D95-pqwi0rG`UmyuBJDH$}U5@|UuCsZ3n+A80eaV(-je8&0{&X8GnF|BhpXuxso zzQuOzx+fxTX+hjRu5G|oAFiwK4vEEwrnfk*j@Knkeq9Q)?codO5qYNvBj;IyEqM9b zAO=#`W9P|PLcoPUA>`ZVuE`I=rTF1~`xgaffmYA+%B6!~AH?XRk)rAPNtAJK2!!S2 zt()@*19hfj$@ehQj07gQ`(8JEZM#DfQLh(DHt0l{+Lcqk9(uLEV3cG z=#=sGj!zz&`ELqYq&wM$x@I6WN#$oztp@T zPVelLTKB&~0qQMin!^vXPepH#Eh;(DA{owDPqEZeTlC>j?_yITsRJ_GdP*MWg zMNqk)UM;qy{9dCBd!zhJQ!I^31D4TdW8^m3>q^X`s&F5%oI=rr+IU9A1RELqChAvw zVi@&OTl&L1U+*$a&ruNifdfA;>v1R7OF1>z&{;*12T8d}PpLY)KVQfzuZBbZmkePjL3@UsmQA6AIKA{vGIiHIhj!Dk{Qfk@tMX5y5GN~g9FRNw2MC(LWe=JKtLLk>18bVaFR@nX z(RanShpxIG{r@pF;qVL4r8VdGVdDZ-(et}tlwpuD(exKgX^)AN!Hdo?0=fp)m-KU3 zv(G7IlG-=mmB|?F>V$mdC3=zJ`0p$b2Fku^E)o;@=eUxZ1XXjbXw0Rkv3OW4$Vvw* zGtE^S)J{&HfeK1=<*;EsWslR~v~_Ob;kafhrfS_nndjCZA5>Ikq)_e)_98z&Fe96i z{A6yy8?up|JD!{Mfc9$6%)cK*8y8u_mN_nyPrEHC-a|B(6+@WQQEe52QsYtJ3NVY> zG))!Q1yrTASX!8X4d%lAMR=!uW;rY$o=ZsnZio=`GBw0ZQ`oB(Ml~~abWEVZB*lJSqTo^>Xv}*kZCGI|wK$U*pKtZsS4$=LDv=|@s+EDrg6pjR z;m#ZKNoka}Ii%RW&0Dl5OydXHjQ=;ZLsB7kt0Xcd$GW? zk3YXG9;BsC1Uu9Zx$*A~`U<>S21yfz##ljxe^~G0X>e8MTA1TVsjb+Jl@9&1awI&| zHFuMhYI73vTAhTm3Fs0El+?-*7wHJOntcJFUen?@86WPViGz zyo?ZfrIm@zw!e)707tp1^)yPeCR}gmBJu54%S5*qOsLF4!ooj&H*TqnekECOE$^&$ z`aU3c#vwvgZtPmat0HOoR<(Nai&Ii|hyh76n5H^#pKCW@(hoZjKnLZhfP3hMbo zdwVbMp^G}HzB73uo|&+{8s@O?Gbfio?f}AaC zZ!pZ%mv6G`r+Ca_i}y47ahUTElXk*j26To0r3B=LrIi&kUOlj-7(!y6)`4lVK4sKj z(9PF~U04tl76s#r*w|L@6aAbV0G;}?Oo@$y12z8^jr3&!z`Uti|2M8EWpF$LyXZxb zm$0|5-NVb#*dY2U`7$NSb(b|dTs?#pvuPnz@w>+8fYy@P?uVi=+*2IkbG9KIBtPb} zRPACu6<4*nFxy#*U=)nc*{9z5!IGce8PUF!Ma@EMXd?Yu+U#yG6icIk5A5E4qGj_A zvj>-LBooJZBFMFoY%0IQu?+AwZ^asyYI3b}c;BIGmXPF4qrcWGlq?)+3>|O#Ps4Dh z)I+kc16T0)`S{s^J>>tUz2is8C5+#)H zlZitAypl}KsbxjMFqCDMhpD%X&K3nnsyGg_o^&XcQ{uU`t*)$XogFM91}9MqT3{8s6+YDI13z6=7ak|h=Fsht) z-w8ZoJ#2bD$OSxl2F4UT5(fl97Yk@6DB0OZ&|l7y8d+p6*-c6FdE7cD3xBnzVI{>QGXUi&if z*vEL!l6#=8+k;raH2;*H{gKStIKI@xU!wFe_+Y9-#XmjPcf3dl*cQ0Pc?fy@c<(Dh zL3v33%B`ar?;CLb}w298WgWk;toAKqbpr=S?FzZI%zmx#eJpRc+#lvm_J^@BD18v|v4hcnQV-la}JDlGNH*Ml&Sz-Ayi3s%_J;VG^9%4F^iDTxdWk71 zoX4S?9gK?%j3D)zPwxUqyEmUp#5L8{*1Pgj@f=oHXHa;d z{4!-4v=gZ-0$G3T`$|9Og^-Gh%5QQhmiLYv@i&%WdZ$er#nNJXs$pp6zJP99Q!6F; zdZW71-Pqnf?22E+7z4N!dzeumICY9MJ<3VJa8)Wf@oDm3gw2RX!(FRebF^y=tA=@~$e5Gwz&nn8&NDrNk}`K0&Mh zbuaFDmyV5|G^x~-+VneS=c|KVGK%<@wpy)8^MAbBqo>v)KI+6+&rFPN6f52Ld*fxN z1<%$IJ*GbwvgU|Gv#rh7A)+KHe{$w8hp15(Joqx-G*gN;ob2?nq>6p6`btr83-eQL z=@d$oYYi}G_+5zv4#MtNGp+}$es|l{R>E253;K?DATaZgSV4#< z!|o?eGv*S@r=pow&l)5}WknFJ80dDu4l@?Q&UdUP2++$w_Vs++mSkZRmeOH7}}&h}jA z!;X)!`+GlXZ8}cEFjOys*iAmK6yNpCo&Kyxyz!Cb+lx0a{^a-U&V_f zHlCfCSnoY+h)p^m6eKDZisHbo45nwMCP@e)XUK9&{oTW;zI}AI)mB)s{>VzEGW%*E z^(0JW!{vL9Un?iazQH`5ef5TObU`40*hHP}sS4WU29AslN(krlz-Wgw4XCI$=dN@& zCbZWeQMV$U?;axwZHhZJ(=GZ$WM){v;0)KuNZ$_l)$s6RyTkhy8`@8s*PFO<(j`?w zpv}*Js&r%Cz6M05u8WWiA>ki|A|x-q3cEe01S^3fXu=t&avuvs7(duQP(NNhk_TQt zH#T+g8+N=4c}!Og{H=L6_-W{Pk}_J<3~Cmln_PJJQKcnfBsneo=+BUC72;EUp4EWA zrOFDacs*6}2k!+~!MsV{zKbsGmg^oO8wyX!Hr}65$&rqn_J<={O-Aht|^?Pxe z*e07hXX2aZiP8NEQwkcOFfS|sVp#b%-zyGJhxOgZE1ZWXfxE^x#Au>n5%_<>A5ie~ zVB?M`WhqrjyS~V;;B15|sa#Dl(UMfXI*iRtc`U=?=_2NX2O_6xt|eXg&_#H+sYxk3 zNF$of@z@*g

Jo@P$?33DBbYg)1H(NDJ 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 z

>ny<)^3PAJ6oS`^PyoQMF@759C8-ofGHsbp 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 ME@g~Ovm6vYT%dh<(o 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%0A_n+QOa2>0mHM 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