From cdaa23b32e87f833768e573fc147d6ce446bab6b Mon Sep 17 00:00:00 2001
From: Jed Lichtenstein <jed@Jeds-MacBook-Pro.local>
Date: Wed, 8 Nov 2023 08:40:27 -0700
Subject: [PATCH 1/2] part 1

---
 CopyOf01_spatial_intro_jed.Rmd    | 417 ++++++++++++++++++++++++++++++
 data/poudre_elevation.RDS         | Bin 0 -> 14581 bytes
 data/poudre_elevation.tif         | Bin 0 -> 15433 bytes
 data/poudre_hwy.dbf               | Bin 0 -> 1446 bytes
 data/poudre_hwy.prj               |   1 +
 data/poudre_hwy.shp               | Bin 0 -> 54132 bytes
 data/poudre_hwy.shx               | Bin 0 -> 132 bytes
 data/poudre_points.dbf            | Bin 0 -> 309 bytes
 data/poudre_points.prj            |   1 +
 data/poudre_points.shp            | Bin 0 -> 184 bytes
 data/poudre_points.shx            | Bin 0 -> 124 bytes
 data/poudre_spatial_objects.RData | Bin 0 -> 40277 bytes
 12 files changed, 419 insertions(+)
 create mode 100644 CopyOf01_spatial_intro_jed.Rmd
 create mode 100644 data/poudre_elevation.RDS
 create mode 100644 data/poudre_elevation.tif
 create mode 100644 data/poudre_hwy.dbf
 create mode 100644 data/poudre_hwy.prj
 create mode 100644 data/poudre_hwy.shp
 create mode 100644 data/poudre_hwy.shx
 create mode 100644 data/poudre_points.dbf
 create mode 100644 data/poudre_points.prj
 create mode 100644 data/poudre_points.shp
 create mode 100644 data/poudre_points.shx
 create mode 100644 data/poudre_spatial_objects.RData

diff --git a/CopyOf01_spatial_intro_jed.Rmd b/CopyOf01_spatial_intro_jed.Rmd
new file mode 100644
index 0000000..61ee180
--- /dev/null
+++ b/CopyOf01_spatial_intro_jed.Rmd
@@ -0,0 +1,417 @@
+---
+title: "Intro to Spatial Data in R"
+author: "Caitlin Mothes"
+date:  "`r Sys.Date()`"
+output: github_document
+---
+
+```{r setup, include= FALSE}
+knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE, eval = FALSE)
+```
+
+## 1. Spatial Data Formats
+
+**Vector Data**
+
+-   Locations (points)
+
+    -   Coordinates, address, country, city
+
+-   Shapes (lines or polygons)
+
+    -   Political boundaries, roads, building footprints, water bodies
+
+**Raster Data**
+
+-   Images (matrix of cells organized by rows and columns)
+
+    -   Satellite imagery, climate, landcover, elevation
+
+        ![](spatial_formats.png){width="50%"}
+
+## 2. Import and manipulate spatial data
+
+There are a few new R packages we will need to work with spatial data, listed below with hyperlinks and decribed in more detail throughout this and other lessons.
+
+-   `sf` : working with vector data
+
+-   `terra` : working with raster data
+
+-   `tmap` : visualizing spatial data (i.e., making maps!)
+
+-   `tigris` : import vector data from the U.S. Census database (i.e., political boundaries, roads, etc.)
+
+-   `elevatr` : import elevation data
+
+-   `rgbif` (optional) : import species occurrence data from the GBIF database
+
+-   `soilDB` (optional) : import snow depth data from SNOTEL sites across the U.S.
+
+We've already added these packages to a 'setup.R' script in this project directory, so you can use `source("setup.R")` at the beginning of each lesson if you want, otherwise you will need to install each new one manually with `install.packages()`.
+
+```{r}
+source("setup.R")
+
+
+```
+
+### 2.1 Vector Data
+
+### [`tigris`](https://github.com/walkerke/tigris)
+
+### **Polygons**
+
+All the data we are working with in this lesson is confined to the state of Colorado. Let's start by pulling in political boundaries for Colorado counties with the `tigris` package, which returns a shapefile consisting of polygons for each county.
+
+```{r}
+# download county shapefile for the state of Colorado
+co_counties <- counties(state = "CO")
+```
+
+The `tigris` package is one of many data retrieval R packages that uses API calls to pull in data from various online/open databases directly into your R session, without the need to separately download. When you close out your R session, these 'temp' files are erased, so it does not use up any of your local storage.
+
+At the end of this lesson you will learn how to save shapefiles to your computer if you do in fact want to store and use them in the future (e.g., you manipulated a data set quite a bit and don't want to re-run the entire process every new R session).
+
+### **Lines**
+
+`tigris` has many other data sets in addition to political boundaries. Today let's work with another shapefile, importing roads for Larimer county, which returns a polyline dataset for all roads in Larimer County.
+
+```{r}
+co_roads <- roads(state = "CO", county = "Larimer")
+```
+
+### [`tmap`](https://r-tmap.github.io/tmap/)
+
+Throughout this lesson we will be using the `tmap` package to produce quick static or interactive maps.
+
+`tmap` allows for both static ("plot" mode) and interactive ("view" mode) mapping options, which you can set using the function `tmap_mode()` . For today we will be making quick interactive plots. Once you set the mode with `tmap_mode()`, every plot call to `tmap` after that produces a plot in that mode.
+
+```{r}
+tmap_mode("view")
+```
+
+Lets view our Colorado counties and Larimer County roads shapefiles. To make a "quick thematic map" in `tmap` you can use the `qtm()` function. You can also use `tm_shape()` plus the type of spatial layer (e.g., `tm_polygons()`) to add your layers to the map. Both methods below will produce the same exact map, and you may think why would you ever need to use the `tm_shape()` method since its more code? The answer may be rarely, but there are some cases where you can customize your maps better with `tm_shape()` that we will see later on.
+
+Also notice that `tmap` uses `+` signs to tack on additional maps/elements similar to `ggplot2` code (i.e., no pipe!)
+
+*Note: map rendering may take a few seconds because the roads layer is pretty large and detailed.*
+
+```{r}
+# Option 1: Using qtm()
+qtm(co_counties)+
+  qtm(co_roads)
+```
+
+```{r}
+# Option 2: Using tm_shape()
+tm_shape(co_counties)+
+  tm_polygons()+
+tm_shape(co_roads)+
+  tm_lines()
+```
+
+Mess around with this map a little bit. See that you can change the basemap, turn layers on and off, and click on features to see their attributes.
+
+There are a ton of ways to customize these maps (more details on this in the spatial viz lesson!). For example, `co_counties` has an 'ALAND' variable, which represents the total land area of each county. To color by that variable we would use:
+
+```{r}
+qtm(co_counties, fill = "ALAND")
+```
+
+Let's inspect the spatial data sets a little more. What do you see when you run the following line of code?
+
+```{r}
+class(co_counties)
+```
+
+### [`sf`](https://r-spatial.github.io/sf/)
+
+By default, the `tigris` package imports spatial data in `sf` format, which stands for 'simple features'. The `sf` package provides an easy and efficient way to work with vector data, and represents spatial features as a `data.frame` or `tibble` with a **geometry** column, and therefore also works well with `tidyverse` packages to perform manipulations like you would a data frame.
+
+For example, we are going to do an exercise for the Poudre Canyon Highway, so we want to filter out the roads data set to only those features. Using your investigative geography skills and your interactive map, find the highway on your map and find out what the exact 'FULLNAME' attribute is, and use that to `filter()` the data set. Call the new roads feature `poudre_hwy`.
+
+```{r}
+poudre_hwy <- co_roads %>% 
+  filter(FULLNAME == "Poudre Canyon Hwy")
+
+qtm(poudre_hwy)
+```
+
+### Points
+
+Most often when you are working with points, you start with an excel file or something similar that consists of the raw latitude and longitude. When you have spatial data that is not explicitly spatial yet or not in the `sf` format, you use the `st_as_sf()` function to transform it.
+
+Lets work with a couple locations along the Poudre highway, making a small data frame of their coordinates:
+
+```{r}
+poudre_points <- data.frame(name = c("Mishawaka", "Rustic", "Blue Lake Trailhead"),
+                            long = c(-105.35634, -105.58159, -105.85563),
+                            lat = c(40.68752, 40.69687, 40.57960))
+```
+
+Right now, `poudre_points` is just a data frame (run `class(poudre_points)` to check). We need to convert it to a spatial (`sf`) object first in order to map and spatially analyze it.
+
+Within the `st_as_sf()` function we need to specifying the longitude and latitude columns in our `poudre_points` data frame and the CRS (Coordinate Reference System). **Note** **that 'x' (longitude) always goes first followed by 'y' (latitude).** Otherwise it will map your points on the other side of the world.
+
+```{r}
+poudre_points_sf <- st_as_sf(poudre_points, coords = c("long", "lat"), crs = 4326)
+
+qtm(poudre_hwy)+
+  qtm(poudre_points_sf)
+```
+
+Note the 4-digit number we assign for `crs`. This is an EPSG code, which is tied to a specific CRS called WGS84 and one of the most common reference systems coordinates are recorded in (often noted by the fact that the values are in decimal degrees). This is used by Google Earth, the U.S. Department of Defense and all GPS satellites (among others). A full list of EPSG codes and coordinate reference systems can be found [here](https://spatialreference.org/ref/epsg/). Note, there are A LOT. Probably the most common used in the U.S. are WGS84 (a global CRS) and NAD83 (used by many U.S. federal agencies).
+
+### Coordinate Reference Systems
+
+Probably the most important part of working with spatial data is the coordinate reference system (CRS) that is used. The CRS describes how and where your spatial data is located on Earth. There are numerous different CRS's depending on when and how the data was collected, the spatial location and extent it was collected, etc. In order to analyze and visualize spatial data, **all objects must be in the exact same CRS**.
+
+We can check a spatial object's CRS by printing it the object name to the console, which will return a bunch of metadata about the object. You can specifically return the CRS for `sf` objects with `st_crs()`.
+
+```{r}
+# see the CRS in the header metadata:
+co_counties
+
+#return just the CRS (more detailed)
+st_crs(co_counties)
+```
+
+You can check if two objects have the same CRS like this:
+
+```{r}
+st_crs(poudre_hwy) == st_crs(poudre_points_sf)
+```
+
+Uh oh, the CRS of our points and lines doesn't match. While `tmap` performs some on-the-fly transformations to map the two layers together, in order to do any analyses with these objects you'll need to re-project one of them. You can project one object's CRS to that of another with `st_transform` like this:
+
+```{r}
+# transform the CRS of poudre_points_sf to the CRS of poudre_hwy
+poudre_points_prj <- st_transform(poudre_points_sf, st_crs(poudre_hwy))
+
+# Now check that they match
+st_crs(poudre_points_prj) == st_crs(poudre_hwy)
+```
+
+### 2.2 Raster Data
+
+### [`elevatr`](https://github.com/jhollist/elevatr/)
+
+Lets import some elevation data using the `elevatr` package. The function `get_elev_raster()` returns a raster digital elevation model (DEM) from the AWS Open Data Terrain Tiles. For this function you must supply a spatial object specifying the **extent** of the returned elevation raster and the resolution (specified by the zoom level `z`). We are importing elevation at \~ 1km resolution (more like 900 m), and we can use our `co_counties` object as the extent we want to download to, which will return elevation tiles for the state of Colorado.
+
+*Note: 'extent' is the spatial bounding box of the data (represented by the x,y coordinates of the four corners inclusive of the entire spatial data)*
+
+```{r}
+co_elevation <- get_elev_raster(co_counties, z = 7)
+```
+
+```{r}
+qtm(co_elevation)
+```
+
+By default, `tmap` uses a categorical symbology to color the cells by elevation. You can change that to a continuous palette like this (an example of when `tm_shape()` allows us to edit the map more):
+
+```{r}
+tm_shape(co_elevation)+
+  tm_raster(style = "cont", title = "Elevation (m)")
+```
+
+When we see this on a map, we see that it actually extends beyond Colorado due to how the Terrain Tiles are spatially organized.
+
+Let's inspect this raster layer a little. By printing the object name to the console we see a bunch of metadata like resolution (cell/pixel size), extent, CRS, and file name.
+
+```{r}
+co_elevation
+```
+
+### `terra`
+
+We use the `terra` package to work with raster data. For example, we only want to see elevation along the Poudre highway. We can use `crop` to crop the raster to the extent of our `poudre_hwy` spatial object using the `ext()` function to get the extent (i.e., bounding box) of our `poudre_hwy` object.
+
+However...the following line of code **doesn't work:**
+
+```{r}
+# If we try this, we get an error
+#co_elevation_crop <- crop(co_elevation, ext(poudre_hwy))
+
+```
+
+This doesn't work because our `co_elevation` object is actually not in the proper format to work with the `terra` package. The `elevatr` package still uses the `raster` package to work with raster data, however this package is outdated and we want to stick with `terra` for this course and any future work you do with raster data.
+
+```{r}
+# note the data type of elevation is RasterLayer
+class(co_elevation)
+```
+
+`terra` uses objects of a new class called `SpatRaster`. Converting a `RasterLayer` to a `SpatRaster` is quick using the `rast()` function.
+
+```{r}
+co_elevation <- rast(co_elevation)
+```
+
+Now check the class:
+
+```{r}
+class(co_elevation)
+```
+
+Now we can use `terra` functions, and re-run the `crop()` code we tried earlier:
+
+```{r}
+co_elevation_crop <- crop(co_elevation, ext(poudre_hwy))
+```
+
+Plot all our spatial layers together:
+
+```{r}
+qtm(co_elevation_crop) +
+  qtm(poudre_hwy) +
+  qtm(poudre_points_prj)
+```
+
+## 3. Reading and Writing Spatial Data
+
+### 3.1 Writing spatial data
+
+All of the spatial data we've worked with are only saved as objects in our environment. To save the data to disk, the `sf` and `terra` packages have functions to do so. You are not required to save these files, but if you want to follow along with these functions save the data to the 'data/' folder.
+
+To save vector data with `sf`, use `write_sf()`
+
+```{r}
+write_sf(poudre_hwy, "data/poudre_hwy.shp")
+
+write_sf(poudre_points_prj, "data/poudre_points.shp")
+```
+
+While you can give the file any name you want, note that you **must put '.shp' as the extension of the file**. While '.shp' stands for 'shapefile', if you run the code above you'll notice a bunch of other files are saved, having the same file name but different extensions. These are auxiliary files required to properly work with the .shp shapefile. **If you ever want to share or move a shapefile,** **you must zip all the auxiliary files and .shp file together**. Think of them as a package deal!
+
+To save raster data with `terra` use `writeRaster()`
+
+```{r}
+writeRaster(co_elevation_crop, "data/poudre_elevation.tif")
+```
+
+Same as with the vector data, when saving raster data you **must add the '.tif' file extension** to the name. There are various formats raster data can be stored as (e.g., ASCII, ESRI Grid) but GeoTiffs are the most common and generally easiest to deal with in R.
+
+### 3.2 .RData Files
+
+Another way you can store data is saving your environmental variables as R Data objects. You may have already seen '.RData' files in your folders before if you ever click 'yes' when closing out of RStudio asks you to save your workspace. What this does is save everything in your environment to a file with a '.RData' extension in your project directory, and then every time you open your project it reloads everything that was in the environment. This however is often poor practice, as it prevents you from writing reproducible code and all those variables start racking up storage space on your computer. We recommend changing this setting by going to Global Options and under 'Workspace' set 'Save workspace to .RData on exit' to '**Never**'.
+
+However, there are times you may want to save your variables as R files, such as when you have a set of variables you want to quickly re-load at the beginning of your session, or some files that are pretty large in size which is often the case with spatial data (R object files are much smaller). **You can save single *or* multiple variables to an .RData file, or single variables to an .RDS file**.
+
+Since the `poudre_hwy` and `poudre_points_prj` were objects you created in this session, to avoid the need to recreate them you can save them to an .RData file with `save()` :
+
+```{r}
+save(poudre_hwy, poudre_points_prj, file = "data/poudre_spatial_objects.RData")
+```
+
+Note that you must add the 'file =' to your second argument.
+
+Now to test out how .RData files work, remove them from your environment with `rm()` (*be careful with this function though, it is permanent!*) and load them back in with `load()`
+
+```{r}
+rm(poudre_hwy, poudre_points_prj)
+```
+
+See they are no longer in your Environment pane, but after you load the .RData file back in, it loads in those two objects with the same environmental names they were given when you saved them.
+
+```{r}
+load("data/poudre_spatial_objects.RData")
+```
+
+Note that `terra` objects don't properly save to .RData files, but there is a work around if you save a single `terra` object as an .RDS file with `saveRDS`. Here is that workflow, there is just a second step to 'unpack' the loaded .RDS object with `rast()`.
+
+```{r}
+saveRDS(co_elevation_crop, "data/poudre_elevation.RDS")
+```
+
+```{r}
+readRDS("data/poudre_elevation.RDS") %>% rast()
+```
+
+Note that with .RDS files you must assign the loaded file to a new environmental variable (unlike with .RData that returns the objects with the exact names they had before).
+
+### 3.3 Reading Spatial Data
+
+To read in shapefiles, you use `read_sf()` . If you saved the `poudre_hwy` shapefile in the steps above, you can load it back into your environment like this:
+
+```{r}
+read_sf("data/poudre_hwy.shp")
+```
+
+Notice that when reading shapefiles into R you only specify the file with the '.shp' extension, and don't need to pay much attention to any of those auxiliary files. As long as all the other auxiliary files are saved in that same folder, it will read in the shapefile correctly, but if you are missing any then the .shp file becomes useless on its own.
+
+To read in raster files you use the `rast()` function and file path with the appropriate file extension
+
+```{r}
+rast("data/poudre_elevation.tif")
+```
+
+**Remember when reading in files you will want to assign them to a new variable name with `<-` to keep them in your environment**.
+
+## 4. Exercises
+
+1.  **Explore the use of `extract` from the `terra` package by running `?terra::extract`. (Note we need to specify `terra::` because 'extract' is a function name in multiple packages we may have loaded in our session).**
+
+    **How would you extract the elevation at each of the three points in `poudre_points_prj` ? (2 pts)**
+
+    ```{r}
+    ?terra::extract
+    ```
+
+2.  **Choose your favorite state (other than Colorado). For that state, carry out the following tasks: (8 pts)**
+
+Import the county boundaries for your state:
+
+```{r}
+ut_counties <- counties(state = "UT")
+```
+
+Import elevation for your state (using your new counties object as the extent/bounding box and set `z = 7`):
+
+```{r}
+ut_elevation <- get_elev_raster(ut_counties, z=7)
+```
+
+Create an interactive map of your state counties and the elevation layer underneath (*note:* use `?qtm` to see the argument options for `fill =` to draw only the county borders, i.e. remove the fill color).
+
+```{r}
+ut_elevation <- rast(ut_elevation)
+
+class(ut_counties)
+
+class(ut_elevation)
+
+
+ut_elevation_crop <- crop(ut_elevation, ext(ut_counties))
+```
+
+```{r}
+
+#Need to crop
+#and possibly convert to spat rast
+
+ ?qtm
+tmap_mode("view")
+st_crs(ut_counties)
+class(ut_counties)
+
+qtm(ut_counties, fill = NULL)+
+  qtm(ut_elevation_crop)
+  #UUUtm_raster(style = "cont", title = "Elevation (m)")
+  
+```
+
+Choose a single county within your state county object, and crop your elevation layer to the extent of that county (*note:* use `filter()` to create an object of just your selected county that you want to crop to). Follow the steps above we used to crop `co_elevation` to the poudre hwy.
+
+```{r}
+
+rich_county<- filter(ut_counties, NAMELSAD=='Rich County') 
+
+ut_elevation_crop1 <- crop(ut_elevation, rich_county, mask=TRUE)
+
+qtm(ut_elevation_crop1, fill = NULL)
+ 
+
+
+
+```
diff --git a/data/poudre_elevation.RDS b/data/poudre_elevation.RDS
new file mode 100644
index 0000000000000000000000000000000000000000..198d599b90b9da29ec2af726a275db874e0b5dc9
GIT binary patch
literal 14581
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
JP47=X{U7Ow4&49%

literal 0
HcmV?d00001

diff --git a/data/poudre_elevation.tif b/data/poudre_elevation.tif
new file mode 100644
index 0000000000000000000000000000000000000000..3f3d18c821dd9b82021ebc2e3b120c293ddd04ba
GIT binary patch
literal 15433
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

literal 0
HcmV?d00001

diff --git a/data/poudre_hwy.dbf b/data/poudre_hwy.dbf
new file mode 100644
index 0000000000000000000000000000000000000000..1153041872c8910a59cb50096a9ff6e2989b110a
GIT binary patch
literal 1446
zcmZRs=H_5wU|?9t;K&H1P(e5YgO8`5t7DL-3sAxtBpHCJg264+$H&jn*A<t1P)JB5
zR1a4Dz9DYTU<n-N^C}n`8W@{d8X6l~8X1`=P!0m}OH+zc6`T|ED)aLcJjyF6G}4zs
z{pi|*4NVLT&;=>s0|U^+*wn(z+`!0^5_4dBM{ocd8^QvC5_$v&ppgY70SD7N_yf?0
Is##bH0DQZ{c>n+a

literal 0
HcmV?d00001

diff --git a/data/poudre_hwy.prj b/data/poudre_hwy.prj
new file mode 100644
index 0000000..5ded4bc
--- /dev/null
+++ b/data/poudre_hwy.prj
@@ -0,0 +1 @@
+GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
\ No newline at end of file
diff --git a/data/poudre_hwy.shp b/data/poudre_hwy.shp
new file mode 100644
index 0000000000000000000000000000000000000000..c154b5029e4be8f87c27165cc72ab89cb0f9e487
GIT binary patch
literal 54132
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

literal 0
HcmV?d00001

diff --git a/data/poudre_hwy.shx b/data/poudre_hwy.shx
new file mode 100644
index 0000000000000000000000000000000000000000..3d891269c19703a479b6ba8063ac154049e86dfe
GIT binary patch
literal 132
zcmZQzQ0HR64xC;vGcW)VgT~A`w<Ig04(zcjzP8-S#ld|&n+C5>)B)B%Ql3q5E)LkW
gqlg*-c{_mk9Rma71O^7CCLn!*fq^BAfgv>k0RKf3F#rGn

literal 0
HcmV?d00001

diff --git a/data/poudre_points.dbf b/data/poudre_points.dbf
new file mode 100644
index 0000000000000000000000000000000000000000..2acf90d3732c22a2037b1e56a927731479c8a4cc
GIT binary patch
literal 309
zcmZRs=H_5#U|?`$2n3R7Ae@0AFEKY2D(VcP1JIQ4D)?p=XC#&<W+y682?UiEmt-bW
f$uN*HPC2Ei3O<S1sR|)QiJ3VWsfj5RnJxtYSaT}e

literal 0
HcmV?d00001

diff --git a/data/poudre_points.prj b/data/poudre_points.prj
new file mode 100644
index 0000000..5ded4bc
--- /dev/null
+++ b/data/poudre_points.prj
@@ -0,0 +1 @@
+GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
\ No newline at end of file
diff --git a/data/poudre_points.shp b/data/poudre_points.shp
new file mode 100644
index 0000000000000000000000000000000000000000..8fd08fc4f462e16ab674c78adab9930ed67448cb
GIT binary patch
literal 184
zcmZQzQ0HR64q{#~GcYg$<?8Q+EICvbb)Y8EDAd5q#UXcsr`x%(r~`^896606T^z7$
oM-c@X!v!K>dfnF?UCs~z*2@Hwn~?2%)FKtdT%Zde`q13~0KiKk!T<mO

literal 0
HcmV?d00001

diff --git a/data/poudre_points.shx b/data/poudre_points.shx
new file mode 100644
index 0000000000000000000000000000000000000000..af929201b7a917634b49a039de6591295ccbb884
GIT binary patch
literal 124
zcmZQzQ0HR64(whqGcYg$<?8Q+EICvbb)Y8EDAd5q#UXcsr`x%(r~`^896606T^z7$
RM-epw@<8@DKxsb^4FF!34^RLA

literal 0
HcmV?d00001

diff --git a/data/poudre_spatial_objects.RData b/data/poudre_spatial_objects.RData
new file mode 100644
index 0000000000000000000000000000000000000000..7ca7c19ad263f8033b4c7e2a5a6d9e14922af38f
GIT binary patch
literal 40277
zcmV)BK*PTuiwFP!000001MR(aSe4z{_KN}rh%L5a2L_=CVt{~vz?{@<y1UaB3k$mw
z6B|3QJF#2D#1=b1WuNEG?Rs46ec!$Jx4-Yty^iBqKY=;#7~>jOjB$-?c-kw?^^|&A
zT3Xs#I#sJ^Y3t&jTDmgt!QCyj@EiP4MN3DkCa9MXpBj=B>K~DwiBC7+$M9cW{HG&+
z!obwj#N5Kl)ZEm{%&eFA%UbwlFZ14(7JW?2tp4lo%uWBB&sqM*h3mNsw>Gj1jLVFV
zGjhTc{2%<ozu&8h+yC7^{{6GMUZ%ZFO#a{eV1^$m8%+nS4R$`F4%(EN&?5}oF0VLh
z2=4Bdu8@KU441Uq3!ZE`wEZOTbor*8UBI(P@~*Z3FRU|Yy$ZZE-r$28yy~!hCO?0D
zq4SF|-~(leOFQs!58p?=U`cAjQ4PT7CEZUw0bh0R`Q#J$Mqi$)1mCsq9T^9{57#|2
zAN*)jwxofLy`N<Eqq93f_sG@7PN3)NddF6PvibVX4?*=tN89S4Pmz1xbkM)^xUtz_
zP=jVU-@wo{X@j?b;Y&`ti~}Q%1zKr=F+a1G{08HDOx2kHCN*ta=L?wJ@Z78bFy(RA
zZtcMI0quVu1cy0%7<LC7>AbCMADHFb?5FO3h^KZ)WGrP6|MAxiEBS99(G89XOimX2
zP+R<ERi)~WfV(<N9K5_eoh6Qcu9+Mb4*V9o%<qU=nqOAj;}W>Nx+L!|xFbO)h1|16
zG4BYtFWWV$A6O7%+aFybJ>1M^<pS`i!LXO(!Q)-0E*=M-)EN`61)kmd=<YD^+`F~b
zk>G_G?*kve!i2u%qrgj}@0%xqS8UhL9syq6;Nw3Wyq3JRT$g-WS~Uy2uD50DM*h72
z*ZhRP{(iNfouVbbe|wEndtPsuWypE(e2cRo!QiQ^p6@5|xw3M5&fxRfw2&SH_x{*s
z8pik1JDwNF_a345b`iKapmn(uxWQ$?xYOVo@4bh9fGbZ$>hk#(Hb1Eh0cWQih~o24
zQx4kG8=UZDXM8a@dP`krh^91i?z;wYq|pdTO;G4+Fil!-w?3E}Vq$CyCOkgc^|p<@
zs(+4FjbL!V*In1if#W?4tU#MZ?X??$w$b;R#e#!)18{KFL6`kOCq4Cr8=y-khr^vf
ziLa*pD^T(7y5B5NeP&e>L{8=R;n#yhU~qQmoULGZ%`)$kVBBoYOo*~7ZA{pbx8Tsh
zjjbWFs!_I`5BCGJ*3Z^|1dd<*zV-)j!o;|iufd52FKO2Rv(F6}fuW?Dd{v$~37nRB
zd2JdvBS+cdJ2-2|`@_w^+0V)oe}Z!r4fmY~=UtvTA{tzDschsPa7i^y@O85F_*)L-
zX_v86!KLXb8&`v?%+sXx!FArT1DAoDW-ZFS1#U0uGqMG^ccE3A$>5QR_T5H<M+aWM
z9049``|N=scpz7I*&49G@aU6JaL1N+b5knEPt}UQ##PUM#+7!(|M#K9uGg6tzUw2X
z6_8Qq{t>n0cVs91>fo=gK^vNa<pv(#n}J_GKedBMNItvS%M-y5ADqYD21~D7UbzFl
z-P5@>hM?q4oosU(@KyMW!E3>%CChbRfsbAG*WV339GIYlwv!ZnkF$0J@7H_Uqds`&
z+~ayx!5eR@{r(PKdw9?uqAt0#GOF!PP#lVqi!<MChy^c5zE6Rcl$^iPen=2m{qh#x
z|J=nUuARWMuNL+10iJo#^>|xyz?oSXnv&D`-BmZpS_`Aoz*BY(m)?OVyV|zs3Ld}e
z>4>2zIkuvm(LC^Inj+N<JhDK)y%BgY>A<evV8K+gymR25-39eAWF@<<2OYNuxAtvV
zcmmvfAj}OaNV4(BlgT5&^^wg|FM@d;+snU!Yx7cX#Di<xCswHku6A;^e+#Z^=5j9=
zTxo1Ms}#%)eEJP4K(gY+pcMAUifhh?W<WHa<PR{q2;QIls=Enz`$yLw>%p5J>i;qa
zudeNyI|n@5A;W(fcq-)D;hvzNV!&hGt4`Tb1WSK>AN3cH<xN-;4xaI8e?k{LcVuk+
zc<`eC!sAmwp+CSY`mNvX;C+T$S!97Xwo8_9NZhgC;Kd>IC{)jZL*=QC(N_-1=WX;~
z4gz0Y|1zU5_}0qn0f)?|7mKntgWnF-Z&d>RDjhd*zm2`R#+LG~uv%(^s*Y7#f_04F
zyoCx;H<(^=;3;U>=ye&aow^Bi9N64!O6)|iMZ_CVTvy$)@2bdOq>rg;0O@tHD2~jT
zVAF=5TWo7Jf#199(X^1)89K!22N~G<MmD*t>c&lA)7a@!w4=IN%f0Cv$;DImKKh%=
zgu8yE#pBm4$jskom-D*oeww}EeZEbcG8Ale;(3Pw|IJYD^M7P0H}yQC&TM*j$wD|Z
znT@~OJ7XwkHj4Z_BLHmJ=VYWY*uZJKQ6^Z=>DTgWVBJfa78AhQ<2u<+18d2p^Dz`M
z_2>F$SdhtAvOkm6P7LIA^fJ0sn+(<rme<_^)-dw_02Po~?PW!+0&<X5KnkdHXY8C*
zuxf~(Bns5>dVCXBFXQ*OV|GPkz4~e8;E#K4FFymn*0)K4waWP9P;HR}{1EoA22@5y
z>6cSSn~|PoS8@G}mqte-Uw|c7)K{RQGM<gOl!5ojc-rv!yP4qQoEsmkz~XvIrBGEF
zMO|M!x(VJh?iFYX-l^SgD~58$&1<{QLsev4ALn5PRg-a1fA`yP@L1RF8h&nn^QHl1
z;Lb896W%|+_d$=I;Kse9Yva8$*3DJ~@IGr+ST=P9S6lDYhjq=!{naS)3%FD-Jg5%1
z@JsRQ9B{$3uC2+rWqEl}F&WeI_0N}p6U{@jdHo5x5v`yaGRFG8{qP7J*-ds9?VXW%
zA!RS`lQ~GgzYCbAJxc>`CL_sWq%GSiZu$H3`Cyn|)mKne83A9Ow&dqDXGUz_0jlRo
zra<*%D6e?NP5~7yTRQT3GOyBTIHVa~Co@0xBCYGDLltLuy8P-f2bAXRJPehV;pRK~
zDO7BRtMA&?P;D75!#d9$0uI@4nK}z}P9G$Pw~#UTgS;tJScbzE|1zk&4Etxb{CI!+
zsyWhqpiS?gz1_h95zQ7u&NBM1>pJWPS^bO)yt#~i<Bz%8kli=$Wjk7b>(n5Md^PjV
z_P>7LuSLlbKA&|-K=X6t<fdoYzt-B1Yh4EWI=0&gZ!W`Xz_WLhGfN#Wms_Akp4mRi
zM{l#|J7B6ZOhSLC;EiP%ufOuO3fR?h?-t5MrwtLGVWKiR{GLCA?b5!eXR{SxyMj}%
zDNpS(Hr9fdmeIE0%?7?#Tg9OJ7#|sJHo7F81dT3Kw1KJ0XkC$c#tv-RVZ%<0hm2;W
z@zZs{CR6I!z@%j~T7s4X>u(;j`88OlT6Y_mrVM@cx<+Hc>dRCgDeqb%uG`|h)5{_c
z)x^)~pL@RO&;<PG&`pK$lm4!tSF1+gTca+~=HRO)eR`nX(qG(3x(F{Y{lWap(TBi$
z$IKg{9n$aiDOE#G(r+Fsy$(4@zk2?agnx%GWCT-_UKoCB6y!Vo;^o`tYk=n~9Fu*(
zvm>T{S_qzKs~v!Gmwr@PZijYEKNMv?6oF3qUU(1u{w~|O7vNo|Z>@g#`D1YT#P{tm
zj?<S!>zcy*PG2y0+G2ljPMtSJwZW-f9o#UU)3ehwYu|%oJB7O;081ZzK4vJNe?))y
zkzl(2_O~#(=?SmfugwEvTh*O95R3|3x*l?n9yal_jK7DozXx7>x=+U1yD;JDii*W@
z^lQ5J<i(dDZ|UxvjvVCgU5huZg3FNZJoeTM=&5wasP9W4hw1j08?49pOdqsN&vqqf
z+u+m$ehyAr_*8JfvRoSl*ndn^;YLz>-ZZ!n>HQwpSk{X_Yc{rFdkmO%*J(Gur}1A2
zS0vp=WA%6_uiHNSkc_<S-<j<+=<ouQr+@w4=JJMh#ed!JU)Qf3AL-U+y1n_nmMupd
zhWDS|+dFj?^hbJ^+<iYVzSBGR@BJF`mfq?9!Fz1))^ta~mKKSdC@0MmQ*+=7r8iyv
z)PmP-d~nKh1hnamj@4`*12)*KdDkDT?_sThi;`}z=I(n$Iq5a(EGX*(Y7g4598pqQ
z#a$aujJvdQyW2~kztg^kwHuNReoU5TLI0(_@88fD@0a%WQPat9z}J!m4fyw$uNvyY
zbxeEVe|d-rSh6lMl%IckvYz33@bO8XdD`HEB~`n?bxgbe{GzrOcy92+>21I>UPqnK
z&S|F-Bfdj!(hk<H|DrFr`*@oES8)3z?{(1UX`5e7N`w7MTdy_X6~DJwZ~G%eb!qeT
z<CmlV(<ZN|GHV?;zUJX2h`!QB?Or$zE?3$Jhc!Q;FVj-5^iSdY#jY@%0zH}LH+))C
z6)5V@H1EEz_Fz1uNnGc2cLp6_TquHGO0z5LdhI1RXl?AlWKf8XzyZN8iq?SEAHT>D
zC8k*&dHojlC9TiVKC$TcwB9Y>{f2%_Ghbmd{0wNOYO+EPgyZ7B2Q=BWAyG-D9dSQI
z4*gi0?PIcHTfrrM&bYb7L4L2^dF|yO&BG{Of5IremE?oj%P@}8EbG1)KZ9)QS|xzL
zFE71Zoy@EC<0;wZM!yGq9><4~ko&Y=Z3hoy|C*27K5YW8|N7ZHKA&lnu7c0gv#@M6
z<S4D1Wo!@l0cl;GN3DThk=D7reg^xo!^>rJFiz6iO<Q#gE`C~@7Wr1t6KSm$ec9g)
zY#Ql1a}(I$efkAN?P-F`2WsUkwnY1<mdBo}j($!3{`2Oj>)>ZUeF?6U`q9LEHKOs<
z_g`|WAQVV_*Xw5>>}~3s=)&=kkJMKudMtpRO??@B-zge=ex-LkHTb0b;4rxGsgK};
zV;rXzcZ^<*eoMXEY<3sOed_I?ZVm`RQg2R;><QOARh-C4y?R*I2vK}$VM@$C_z9`!
zv`^%tom0h7BK4%Z)>&`xNL<r>d=890TfBE_fnS|buuG|X&*#*@_)6We$FrUTxNWfC
zB#gt<Efqd7e4kB-jT(?KcR%C(Q`bKC|BC)kU48WR8EbH*eQ-7OSL%}WrJm69sqpxF
zqQ6pSHaR*U{gav#+h}uLaLUiN?cu+rPHwcIG3--n_7rcQOtO_@eSUso=>E8$;DpuZ
zr1qqZ(U{R>vw-VzvfeM{1hV7T+I)`*NvRP*<gL~g9m(e<-A|L#uPiJeYc9OM3mo6C
z;aI-cIP;sQ`CemXlhgP-V{&Cu$ZP7bf*{)g;LwB`YoV7?GlLg)gMLeeIn7>8T3sB|
znbhB)>_N6jlopa1dvcGFFTbuI$nUjqnbC$nKbqa0{gaX4-2tI%YWhYqC-}dqX)8ZZ
z<@Zwut?UOsAT@b$RVhNJ)Wie#4#Cc+#vkm|ANDLY?ADstCt%RhaW&a~0c*{5`MiD?
z2AEPFeBt=Q&Znvln19FkOjTO6Df<P=FUIsBWg{Nm<oyvCE1}O)-ScuPcs*&erW5vq
zZm#>@P;OnEu5F0`oej?ohF_OD_;kn?K3BgxYudu!P3=4A!&}(%)ZR@G+VFEG^$oLr
zfZc}$yKM%IYv+!I9!YI?{evIuVQQO62gi;BoA|tI48J5*)X%B<(QyXwuTyJ$bvlg@
zF}0ePmJ<3t74G65=#NyblWmId`IKLub~`{Hq?ETEvUwHw-F36#0Qh9x-PL%n6lmFm
z*<cYJOz>`4{jty&DYt?=b>L^FT#r|dNC2<QofHXunNoPia3bQ06g1mx*ozc#Vl?G+
zY`tO7+bJhqF6m?Zr5yJjSq*+i%E3eZ>Y|@g_O_n44C5_jr^Njv{GXKVgR1MpFHG55
zQp@rah^HEr0dDv<{T<pdWsPq2wa{-VD|<${!;eW>?h!c(<2YqW`l4tLaNhBscJMb-
zX20`$djZT*w)h5nlQLy`!+X%%DcKxg;P`6|`tW{ZTWen#431vdcsBGz%1Cv_N9c!?
z;o+){v1I4?$ydRlmq+i0Jxvj3$x<>dEJ`mS6<xNEA&piU>>-;BoGJW%kjc;QWS#ql
z@MBWa3w{jzNVYGVf;b^1&Hwgh=)08EnAz*#FQ=po{;_W^nEaqsci6L(=%Fip*$%-$
zYo22qroels2K|yUxUuzk{@re+;XwGcDT5}}n~Hu;v7OY%1>-TrX2Yv8jKh?H-TP&B
z2m61$H>WPS^83Lz<N(QgjIWe_dmEd#C8gHuptn={1RVB-en=7RN{Vsoh+z%Ej&=NO
zd0(TVQ%#}QQd&IlZBi3#nt0Rz@|MzgqV6F0aVZ8SQO1qI>fM{Y#`sRInDuct`aAin
z?#8}&&*aZ@W`0B*n*5<!_z(Dd$?qf`uS4G?KW}l@810>WZ|Jj3=*8rtvv;h8|B}2r
zIxrpnV)8bPVgU4K@|G^i^R9rKJA^NQ{3O%O#(O8P-(=zKPFkGIL4PK%eeiQA{D9=u
zeX`u#z!gDyd!SE~m%iAs19FnQICtATv`6xS<cdx3`;({boKzEjPx92W>qh#M^_tyH
z2dB)>P;@07PY-xUcC?aiCgFHlkg2c2UyzT#Z5zSwWy15}^=6efeGcZB`3`{}nLPc@
zFAK;)^2`(as$v`_bN-#rx1;m!+t3@yM<Sn>L!TxKQ!wE1(k+=CK)6A9`^fo{(8FYw
zET8ukXQ`8qTYJss=b-gNlF3RxJo%{i+41lHYR6+E=bA!qC7(DNIs^Vp@~IlrVy(%G
zTZgbePVe+@jQ&nObLWRHpX=-cU2XWm$)dlXd|7_72F6qJ)zML(*`GIT>&$`OPrfy5
zcn0)u@|{Djx8V0A-(CH4wK4nA{c~-hKht&;j3ax7wPruvozr{MWbk&+TYl_^n-oCs
zTI-ALAMyIZwU5^$Jsr;{lD9`?r}6Iy^byA-U*Em9={??m_h@x@-hW1F_YL6V{NRW1
zr<0%5z4sn=D;ZI5R1moe5d`?`-Th+*l(WI-=TW|13|@1S?fJU9Ui-n6!^SIm?xtMQ
zv7?+;PH858ozZX?^g(j@idOH~u0Ll7e?dE^X!#8GK%AGNQ(<SjjPeeL1@U@HolXTk
zIldaS{g@1SOlh=YSa0e>LvttNmt>Ne>sbE2(!Wk=cq(9J6@Gr#;V6uUlzMCIK5+cj
zIo&b<erQUqaY;uw&a2I9VS%_irRw-M{W%VJTlmY#KYr#P>BQ$e)aL>0RC4M4C2sJW
zlV4?Q9f0^fx#ZoRssU`52Z7GGZt^3?Ee+wXCqJM7vtOocN@Tm-xzwPL<LtI&-#Z`J
zuE|Y)ay+4z2J?G2f23t<la+B|^3Bt2X0hLI)sF8mmE;5mzaMvWWC5?2R?+vt-}3N%
z-+tJK<f4vy+Ho8`7+7!%aeQ)d%{s}H!{VWmp?k>u8?Cd*`5QJ-4vO7<>#XJHpGZ&f
z=LhB;m;T^&RJHWrM<w5PT{7b&uWx9*F^~5>mG9Mz&*2g3#^<?m|5mkHl<Sz+1#2kp
zobu$jczvete2%*nam)F>!Yn(u_r6Sv?XlyL-Eal<%-&wpy{SJsd3pze^T)jjru@$~
zT`}b+$2BKRINr_1>giJt#7=kv`<*<g$BQBGf0HL1{Co_0I9c?AlE);Qbvyx%oO<z2
zKXBN%drLTOht5SL115KvIT`Yh9H(<c#rBO-_3h604R?B)%6@e1Q}T`PH+aT_n!Uk6
z_df^0ZYB@xz5Fxmb+YxMhetVHM87_{*Wwoyh<B4s`{XC^_ub#Dlu@5`-95FG<D%2T
z++Wm3MhHmQUrji11=e4X{hjSsXV|i8)RVOwvR6=#ivC2h?yS0&)C*OcJopTKpTy}A
zJa<xgqg~0+zezCDU*3Yn-Z>X@z>}LCn<G9=DzKDZMSmvkIlto!u9LK_Va=6@W0N+Y
zDW8Dxl(ZpdXE5|g(z?K^nP~r{)dQcMg?>(2W_)QT{F9^wy&Fw|d?d|^8My`bPny_g
z{$Tj$Nupnw6c|5Y1>&$IP0FJCc>kn<7{D0UNqtMk--A9+vh>yofgMPK7U~0in`HJR
zs~Plil8NpZXZSZs-D}Hr_*`A9n$?8=l_bU~Ni<LBkEEtq*}8ll!#<fWVTY3Hf4(#X
z`X;H)vDYgxu99ly7JlS)=mx`INvgK7;T!0=B<+h0n<3sz6#c8jFK(^oK@Jixm@ZMn
zP9~o9TAV!*JT-ZC4E&SC6Zy*)z^*4AfAD+^^k*WXTvto*P+^f1{OZI5Q6qmq4<_z!
z?b7NoxFK~?Dda72vEST1@D~ziNMnB@PEE`@Z&VJsOUzv6F&+MLqUg6KN)5)jp}!Jc
z*LV1hagaEKfg9+!CcgsXEOF5A;hvE9M04+>ZD9uzd(5z~ga4b@O;z3s?UUG5-mn;U
zC9(6==i2ZC6Wcx8D@VH|w#~SF0rn};=*}Ds^jl)<TD^`!A0;*jygwWIC9%$njZ%!W
z#M*R7LH)NWwa{LPHFs3+4E>l`eNclH&^L)X>w0XS1y*^il)_I+5a)>#%AdzfL7b9M
z+I&-YjN614N1W6c-wDrF`G&)vOL**<?Tt7gLDU}!cWC&)EB;kaAbw1^P<=xw;>?6o
zrTzQjc@v<9qhTi##3h`B0-GHY$VmdURCD-y2|GOV?BLfWY(3&S<s7)BP2J|Oy9pbc
zwtUbB%nPlZj^|8Rz3EeZ=(B`eV?WO&pr|hrmfNhHh`2jp*;L0|fqJ$pF|HDp9y;b!
zhs+H#+(oWGJ8J^D8xaRT_podFDt>==1J|d#p84~frX&q6xN6sMNl)I_`@zVy<j6}e
z_kwW$hw(kul`h>5`<Sr4*7bIG$dDI%o{@{=eYTQ0ciVm=z1tjNd*)qjezX(Wbb8By
z{C?MA*C9s<YYiNN9`X8Dw;#U8`vxw|V0%N%ZOZvPx+g+g|Mgx=>c3wKdyugB()GiL
zR}&TnV}yY7Zh!s(eU~t)X6L1dXA{Qn+Eb0~micVCG3<9j+Q&7kVc!!H8yVJPKSqpl
zP{W@}2zt2u1;$~5IB%UGb5xr`eiGakSUEyZB-nA87_@CaZ6x$SLa*108pAJ7Fp2ZI
z4*iqR!}pQTI*|Dr{G6!w61q4fuS49K(AIyg680m(=+U=Z(4z^hTa@qPbz9cm_8WRE
zq1nM^c^E$lP0W67f*wm~ls4%c`=S0EMPK;I33al~2f`0ZsHGkwqkPrWw;hgnD*oG&
zaXs;z@t+M3Zo~cK-*52>#q-6#RX@6jxFG(O)ybCdhvP+mB>wjK>X*?k@fTio{tdkp
zf9g}*ci886t`s8Ph+pF>vxC1Lzfz?sfIko~#yj!iJZk(R=VM2=feXX!x5JLc&l_LA
z9qds2?1agiFuvnOeGosb)^Q)`i+F^MW6=-s6I4S!V;se2y%^CAeti6}>r;2~IYM*o
zvrmD3lF0Y)hvS8W5>Qb$+W`K0ycYs~_(k!aI$LMKZ;p4@DX#}T6%TWKq8N0xe;W^Z
ziFf#2uRg|8{GfucB-qRNfs?Y%LyyLrHuD~cxG>(NS>|tyt9WBIA`7s~{--g}Px0-H
z=4GJ&<Ml^}9fQ9euP5oV7;+z9#m8tC{F=Bj2pasZxNqipt6(4FK5cLC1o3v<`^Mh+
z8W2{xCj6(k7wcM<EC!!Gj&(x&$31GK>JIx5SLB*@1?>}eXUeztkcYS%w`)7Y50AS_
z0RjtGPJfK?8+X3@3?KMCai?#*tyTe^SY6W}adq6$C5_wiK8LoAF@(PtSMdIR8ssBx
ze|E<W)4_e07FAnE`l%~mZ{v1<SlA1CCT{0S^CcMfajSR9b705f7G3YwZ#g)3$f(h<
zOL5aDyS74H8#ig>!eIWK<>tB%avUdQHGu41v_qWR>cTO69}AZ^;Y*LGV=HP*vc~v`
z{SmrdAN>>il>rI(X?=bK>{smj{V$ebT*bb7_~|_KOYGajQx;>~#lG%;r8(l1*jIZN
z`eB^MK3}vY2G1Y+G~(O|=%v`Ab1wB^_ha|H`DzKh7rSLlc2~p;v9MNc@!YYamd4kE
z9~zr<arl=nVD$5?>o8toxzY>yj17bWK|jPgT^hat{zq&dEk`%#$5?X&RM0cACdM{j
zG45l#y_hF21zW7UnatnUU(?DAeon0Zb>{`}^I~gw?!3+Cr(2{0R_U<tE#x)kS62D}
z#6K}VxW)~BZC5=8<0j@~*nVe>=a_d}mOX`^5c6!r()}~R;<FXAK7qIAj4_5jjJZ+&
zO*HgV%$2q7fv`g{g@c`EAl{GJ=QgK0>|M-;StV`YKgBHmGA9OcO3VWF4NHvMm^mjL
zkHb%lnQ77TES@(;oL`Fxx^(+J>{pC$@6djbyBKwZaS+BujMAl9{&-L^=5#|or}u=Y
zdg#{}kLd$0zz>L#tj;@%_$<cd+?~y^12N83uFQmejIrBO`%4%IcWyfLbxhS7jenvY
zqkl#wO@@3%|5y<fhv$k$cwYzCi~g+FIUW9W^aslW#gMn?ccX_DKrctXzJBR4^m+8l
z?y^<z!=oR?#vX;ekG`{DT37T_^mTcUnvn14D=S;Ag8vasHv{q)EyjP*V!Rl=FE_0S
z<1u>gu>0@P@6nrU=!Zitqt_l?;q(y9?bL0~PH?H;5KFXM^z1ufmWXGgr-j^l&*z)m
zwz~)PaP-(YDf1A=L=XS14B&l|6(tE6ztNnw#5jzO{C=zz>~nPRubb+IU|{oA=irA#
z`}JS>9e!T4X5}GW#F5deF5y+6-=dYThChUUi5BPMqh$f());~`Z_u03UIPd9hP{k-
z(~WV5-xBRIqs@?O;E-+Ce;fmybIp&!Z-{nsOWTNcj~=`|`aASiwEgY$_ONr&;<`+<
zO@i41=!59~AJ^aHb*)``u4lVgj`(s3av0rvdJkR1fzdtFO6np`i0)DI_XNay(cStj
zdvgTrqE}!Kxr=T)K1`SW)Mi9y=ks8THp_PNxtnTb>9QXh6^F`Tm!j(*a$3XZMYNp>
zKP0-=@H!6APtnjqp3s-k)f8rpAWzZSA(lDN8_`;mBZuO;QNQ;7dW`WD^-=c81LG~~
z<&J3q@Drj+E_P`EdmZ)UY{VSsfvAW1Tm7$tMMD>sK~F^8?boIW^hngT+-vRd98qWQ
zTyucjM4g)7c`f{@sN+75vLKI9M_NU!K>I}<c)xo$^hVUaTNsJp?)xi7L7ztLta>FH
zb}4F`<d_b|ThtaRPH<D|fCOHj%c_vOsJxtt$B@IQRU^Nw4+V2Khj?HdMJ-?Q;tt}X
zs71e9u7e(nS|DFF6yqdn)}zv7#7R+8%YTMqyhcrKSw0(b5H+#htp)INqL`EixrrLF
zL3$2y7sap={&`f|4d-M&zc{}Z6+b_G2IMm;y4cm&6O5>DSr`6iREW(-OUP4HfO^LU
zv}Y8jQ6P^|?yomI;Pb(4KMpyIvfZOj;d6*`5Y^YL>leO%@11YAe+7H$uB*X*XfeTQ
zEcz#^$yL81=%uJe^@@KYo{Xv|n{@|%Qj|gV$iwZxntLou5Klx^tvf7Z@DX+7Z|TqZ
z^T4v%TT>uUkze0WJ&AE2`8Z(v8R(nH;#M^}9|!NfX+Ijz9eLOM;1byL$Xid9+Wh>D
z8AmolPez`n0szHSrbtfH;CUnW?{>Zh{T8|VcaJ#4&5;XD4jEv4M$TP(@+$0n<Se5K
z@0#G41s|^Q_apr_<PQS5+z<N_nf|Ip1ngd9$|@UuUMJBfcnjn|k{yosj12F&zY63p
zGI;8IPqb&G|D$@H5<s6JW4GZwBgOoKNLixG68I~T4tf{#;onCN*c#CX@mOTPkX}BJ
zzewxUHVt8aA}zbt|ABZVvKKR6LDR84&z%K(bW-nuJ&Nr3wRUa9d6BKRp2@EPHr{li
zl+V>*$(*mSkCAm|%qxK1kJO*peLt^PeXG$c*zZW~z0E_Qw<3PFZT}Yi7V$mw*7+Xb
zhsHhLqdg;DX%EPNzZ7x(>DfUyz{~m$TM&mwh^b@|ryl2NK`tVW-`#Z_<1FIH%`f(7
z?}&r@^*j;pMeJX{b0O?kME->Xy8J#~?;G@21eaBL9dSN8V%@&R2C$P6tC;`-<~r>k
z3ws)|=(cYe;=+je1<5rK??=pR@ks_f6*1BM=st{(2yy)*BKlODJs5`(;hp3YFuo%~
zZ7yUW-iiqP@xD3iNrd0pk>g-zBQ##M-bz3v15!{P^SL#@Z=YV#s1-P%`pPL7ZxMa3
zOzQyojp(y{{YdENh+bKTra;~!Ow$(4tPA#>GsqU>F`~!V+?sqp<Ar*^VUHp@Tuy1z
z7i`xeWIx7Pgwd?QhtY2lt-8NRfE+|L&%9IfBiQtyO*rgsM7=q~%Mf=&7|6Ta#(0j<
zZ#<<B{EUbiJKzz3)w<hkfFB;AJ?XnO{N@O)Bkx-y&IyNhli<4HWlRVHzrDaGz|W^j
z?x20cKg`uOg}x4d=c$~9_#ynYc9VU*z~}4i);fVt?QkdX;m!D3h?l~}^^Nem^?PoH
z{SUvnf2xw-yB6N;DB{m>rUAg-g`dswdX4uBKjmHPH2kFS!|xr^p?AXbO{dI;UmCvI
z^ygKyZ}^6R+Ag(0aULUl^$OqH@KeKA*00?fer@>jv4_IozlAR~{J9wZLinPBDrX^2
z;j;#4#=~BRi}On1Q|;o9!XAfD>NxHa#%1{U7l@d_tTlmdyq;)3!-ti*1|t3s&sgLz
z6XQNSwM+UL_@m*8J2M6${tb`+R=k4G6K6g67uqvC-2C<7TcG#yIph66iWBrwxR?hK
z4sB5t`Z2u!kf&WBSK*>v3pYL1^mPc>qqd1X>|1!p>!Vx4E{BVHF1)FA-w4FP;f=U3
z3pSj7=NIDS@H*)+PS87HrO8K*;&WjSU3F(cj>7KwPIAKYhcN>X*9p6LLoXYCOW2uO
z$r~}g!%lqKpN?@7hVY?$1-PZ*&`0RMuzAlWn|%gn*6QYmI5%wCx7E+#PlQeW^fUtY
zG%Q=|)g$z8*mz^NDX=eLS#fvQqkY3N{HOKs0FzgRp0@zw>-D_W4P=HO>|a>up%wcv
ze!@bgCeFh62@76x^c3`9SirNE9e91u<qvfre__(dbIUM3!(0tj)zSZ9PU{c+f}Dgo
zm`vGM4eb6a(v{C)?5rw*UJUE9=Jg)*TUgs2lX@V23u7|21K7k}S;U{~C6(&IF9_4)
z0tKjj#o;!dGxW#7Q_Eo|LcjVRF2sF9KeZnG7V$^uo6)EH!ajwH>)N5uKGhxtJreqO
zRpDCrGoj+VTj&D@AmEkJGj<~03BCC2%4qn(p>*pJpNF35JMTK|Na%4UCV&U1Xu(-u
zUvwD)=Bz8M!@rB`WuaO3o`2-eBYG9<JOI;I7G8i~5*oAV$~fNF|8&U?-cNqFN(A(A
zsQbVjDQM?VOQyMleQMpG2tPN}tk2|p^lzx~o442DABT1}S+VT^*lx(gCm2_uMq5|D
zSA(q@9{h!PIJEglz0-F=!@y{7_=%wnt~Fl_KO?mEQjeV&zoGgs2T3qaLTfg@xf^;t
zv|9V3p3Ons@k4*3|3kG~y!r?`AM%p{H~4*G=ziGs5H#Bt+&`prgJT%RVaW3)d9m<M
zL!Pah-T`rZ$m7M)T@fFLoVzjXH2m+7BONca!1Y27%owl^b}nS^2e)0&b0NDteNNyx
zL$-4Q5!|+C=?uh2A<J`{&BybEEdKTF1%JOlGVnL#He}Aqeb+94Gquk=MqC~u`o|&Z
z<C7L+oP-3=DJz8j3Gpf0bO-VgqDt7g4EiEOR#9>T{#b}KsYf&Thas*uLy|C_L!4`e
zoyT|zad=v?9P$@3Xv-BV_&*^7GYYQ3UWfFvsMm|nYe_{2itETBLW(TNjBfb7!LP@+
z+KYAye$K!Ed}?Oj8rKhgIJtB?<Ubf*|0u{`@Ez5vnuuqDuR1@KVq69n9)8mR@)3NV
z3IaU6v3xP!C-_9mD=RUcg2lX?;N244!H~b;jT>KGhr9+)DjYHldLlTolYTYWli(n9
z^chgoJHG(qD_C*j@h3cgu(waf+I!%TxP8sx{{-7@$Si<;4z@9MN=G{d_dDS9K_9d-
zbKk}1Lm09Hav5x-y>WsuSo^kKW7xG|F^&wbva@$byk}6^uKpp2$Adl@K1qcB3o3QK
zB**gyy`H(_qaHWryz(E1aUAs2>uMe7iJ*rk^BQsE&OMc4GOinR2Z1l%BS>6_3c8-1
z^&a{%=r9Zf-XmzI`dP(lZYW~bKbV)-Ro)0(@}b|mW#C*>SuMy}(6q>!Ti_oAWf`7o
z#0^4@{ca>f&jwj@;vMXH?o0{Bb5Q4{o6Ft7He=M)p(lds?|Rk+{zg#khq1G{!AP{9
zfj=8f-wFRd@blCj>9xT3hnxAV0^d9uI0SxB;ES(?zi)y}%S3z?SY$9YA9gA5WXO+^
z@TUUz$NlUBe;`oYMH4t-Y`*}+J%JRMI542v<?FnTYRs^?yskWC#wzHmK(Ej$k0D2a
z?z86&!T1f7RB3n>?Gxy->)|)({Xp&$!ng|*<Eg-bLl$g+e-hY#Uhp{B=fHmNmfnKg
z1oj<s-vD+bu<MV!i_pV?9iq>9!T$|x`)HE_{#c;Vq$hT;Yk{o-`YSR)rmH}|2R6yt
zeBvC~$UOEn#(7{JlU5s{Cj$+3=e|H(5UBsG?u<mR=HVqlX!pPxXF4o{d<ItU|L8IN
z%0QhQoxbpg0;?Q37XWz*s0g_<4WAGAeK)K=^h7}UlfD-*o&&yIYCjkK9PlwWX(RmH
z0CD~~;Blm(J>)5%xR2Qqyib6*l_5Y##RsoGe4+zCA>a}O1o}4M!kNXjq4xvMmIwBN
zUl(v14l>?5;KbE#*=YX&x~GuKfL$3a64CDg+t=pbK|2R*ou@H^JqXwo;IJR#BmnB`
z6!dYx`g*#L;131BY}J6C2w0`+{S)zNz)Ig~nee*<awo1{Jp)`mYHA+*zkp?5+I5Fq
z2Z(tL0jbMgOhddDkTmAkVzf^{JPjupvpTK@{E>jj_kJtkKL>;--FOH+84%jM)_KIW
z0l{z(VW$EDv$r+GxC!w8aJx11QGj1cm!<G$1H^beKvmwV3G91-vik3<kf#9Ifpg#Z
zd9NPB`a`}0gbi(=+t8v${M?YFS9jna1~@uLZASkE*jGDZz~{2rAxVSW1oW3SdJa1h
zVD+j<1vw8eZ&u?l>`*|@U6)Ov?*hd2ihwRv6=yN-0y^wyT*`iHJEoTt^khKmh+z#7
z9|SZV7}F7UG@wC!<6&FDIzN&eVV?uEZ=}zI-tzy27lpp|FRQmcH6Il7()~*>S8ssl
z^nWA2aS8g-|HTd4I<N=+CEuEjgnarxW5N&k=<Lo0h==`exv8XhAAfN-nE%PdoW1<~
zp6!#o^T^s?!kocvgSwsPeYcq2s-Fu&>IcG)@ZZ>X<3-53e_p`-eb6`lYYH`k5HI?#
zN}JW4*U5E#V~aS-U(A2;7w4(`XT2M@ncth~m08B;$jPc5gz@V?ZSwqOjX`nU(qCM+
z^q=tFc|H7f|8WaO&w*U{XK~>S6!RkeN4|A<$<L3d(^|0;9IC1F0dnu3zD{d0;vWB0
z(|h)a_x+PClw<h$#H@B2DVWf;*95i~cfO#%{KGG`Fbf02f_mkR1Zf7LxBP><wH^e$
z<{#*HI1hfkzkhJQ61InLi@s-Jm;BY!Ue{r}DvoUH&G+%XxMvIWj=#s*Z#@x*`%8}L
zeB|F<uJ!MN_}|~@q1{SD(5AYg7Js%_tyK=W_BYRZ>H>Y_FXp@WcjtmHXxvz*0`}9t
zbAetrwsU){#oZ7e__r>4eFt{fza<AcD9+pX3tK<HraosB7(f0^yeBV4T;$(4ZNLy-
z*YM{3W=`bLxo5md`#S9qpZYhNk~IqQ?BCFLydnG|{{~Sub@<-(Rm*O{AMvj@!=)eF
zqn=^jUicyYb(R``!T9&D)qH+$jBEdzw@=-K|LhNUcQW*zUqw@QbLb7fU$G;z5s&(b
z`pQqtm-PE;KUV{J@%wZw_ZsY^--q?(&k^tVy?r^N8vHN6*DudZKs)(8tu-zQdc^P1
zr!^z-{(cY7-nqu_6=!Yxit+6CpwYP)*d@RFQzmSKf9`ju=7$gP7yZP%Fh6l#)$i)t
zjQ;Qk{myk6=L>u2cl_uSci2t8g7rCfVdwnzb}DNI`Sjzm4D^uSuFlaa*dxE4`n{gR
zuKVp6Vt<;~6L!myCk*s9{Pi<NRj?IVX=nX*MsNCNPddCE(wyHfs&^=kH1hIU#_u(0
zv|<>Tzp;nm9B@mC>37Jd-{yuZRzQ#XZPe+|8FJ$%u7~-F>(73<w`2$42l$EWE`CeS
zkFbS5@3*M+6*>GozxnZ>Hp4FY%_(^5*dLtv&EN(6MZf8N7gvK__7n3G{ZhHH1WfwW
zZx#C~!Q$)@$f2LF{F5>4uAlmqX&~gmPr0h6J^Um;`G^8T=rcd2%kh21_`}cr?voPu
ze}2+dF82Jq8v{?!DJ-`Y^r7Ei%d@FnK--y%PGcPV4SY1;A90eOjnSA<r}=xU3Fe58
z{6stKXD3HQMcyx53H#t@-)+=>zOSfn{p{8{{yIfAe~@*X-^&;>CzIFN^7Z?BUUzGY
zy-RtY;Nva%-u;WV8L?gZF`*H(JWyPE7_>k@LU}~^P_zp)+t$4o<;}!*ZV}=qzwQqW
zn#11ubzV5UKl{I(c3(%zX-fv2V6(1n+n|ShKlf_-1b&Y1J34sai;S{^=ttjYIU(Dj
zcYPnvuD%s^+*jCw28!!CzJ+I`)A63Z=b11Eit9SQ+$0Nq=6fQv^#K0;s8-2V#Jj!+
zx2?SiJ?Sg@L%w_5iYK7Gd`0>474y=3H_rRm8so@U+`8v0u8;aIb2dKq6P#~*c^v$B
z-`QuD+rVG)oiYA%F67I1{QLMwyqE7-CY*t3T|8?*kN76n=&f7_CbV4cW(jh-9&+m&
zT{BqD>qq=*x)^?fZ@A6qALuXN(DS`Np<jH1ork5s&iMv@Iphm@_YD}GtbqRZ^()ft
z(i;@@r>`orNmIy+uWWJu>KK>4UXkW2Y(NhK%Zt3Pu)!Q;n9ln<hYj<G{P_;v(zh?{
zw67f#sX=j`z;}RVd?56Tul3eDX>3ocHj@s*U-Gp$>f0Uq(zn<AJ+{yfzGf@J`XSEu
zH93_SfjHB*^Ols4&}+UOm;M;ac5J`Qz6^HTx9yoRPay}sZMZNCwq9OkFXBDlW*wV<
z8V)v@P@Kj0H{2yLh8_29cy5;eOR)Za!{=;YPNN2c3_I9f`kXKZYjA@YSj}i-BA(l)
z>`A~h#P>d5%s;pD0zY~josIYQDdmDQ_{J)88R7&V(O>ov{XC!R=a*fA9Qs_z{@fG&
z>H{<E06*79lq;Vz7NLfSSA353ahwDH)kn<N@Y%PeR%1Me&z^1`^D(Y`cD@{AITYN^
z1a@$n)mdp2xOLCVI%prCEeS`>`+=Jm-S#afyDXHCBqPSAH{stkXGZMc=Px`unZ@rf
zvh|0a_StoO@%dG}&zCjk#=O63Z&lb&pF<ustHUqzIifqDdk}bZ=p^%Ie9nWTJTQ)Z
zPBrxoxzFcsTH_h7CvKJXIU94b{5yH#?hGCB<FCEH$!|T=O32DQUmr2g%7??um0Vo=
z>2m%(V$J~G_Z%HgP|U;df%y-GzV*49d}BZQ)93E5dX{~_2i`lU!M^zv-<)#+a^dr+
zqfrOwd7sAv+uueU;q#=C!4}v>AJI<vJR7iMA=|%XM0(j1@Okw|saMFl_8-{JCFQRD
znv$#f<Qeeu<%#8|$htEUe)2jajt}Mao|K$8IiL4oqC3dtQU#x5pXFl8L9w~k1HM-g
z6)JeIe$BV=e|>HrTkZXTa#7XAoc#=U`q}Hh+UK-%moxkG#Qc;FF>LpHRR-~S54Xw*
zKz!@7<NB6C7_UD0k9HRLv45Gk0&d73<ViVP=Wab_H@J!d1g>cH?l#7~&yuC;CX}Cr
z4!e&dKJpRwv-mLml=7Ws^llpD-^ahqdJ*)BkGPKSBkZyVWlUHCJ$||xsz6EMqHf`&
zakT+8K$j_{Q~4g^x|okcgPs#NgSIcXYA9dUgD!NB2749uFKI-Y8ze&?`<SwV1=w?x
z^Hla@_oRv|@JoG+`<>VXJ?Yc={(|PbZbvKWCbmz@cfY0V*T%(7Z}NH#7xd5MbJlCu
z|0C?Zj{#p0td^4F2>(q}kveZY;wsJ0dcI%bH)+1_%6<aBQ}ZQi=o#2+4PI|1o<s9u
z($QUmz@me@ZlgUl+}VrkYOY>xQEM%D^3$9>7(be0uU8JmIMp1fcP$)xU2`z)UGj5K
z*mVzz^E?`Hy+pISf$J0Ww`P|~;dR7snjPGr2IgCp)<OShmiAI!g#FPhfM6o7(9EAE
zEk-+N5ayagpK0bU3zA!qmFxbRx&9fwmyk?M;O7b!oPNUZefY5%c22X98zI2OL8ntw
zdHos7Tcf=-YY)av#<<kv9rZrT_Z9QNG#l?4{K9zFY<jh|H?JeglSW*>*KBPlYqJ>K
z7XBs!dQ7vO6Ha`O%6MP1>%*bXOZlFs*PZ2i?pu?$nBOl@6&-!S_9;GFF&jLr8~nBo
z+pS8ic)q`wucA5OtsD$}tT~l)vMc;%jhJ7oIg?*~QD<_el@j_u!y*juXEowFv<7a?
z35-k4y{lyg(9@dxPEl8j$Udv?_2cgs*lsw<&kfVJ!g$u)z838|3cR^ny$It-bKN1l
zKE{tmT*uZFJ{nrJoX_EyJ`MU?b9`icBKuEVr_mfz#biAM59r?L#(vxPFyJ@rnr6?B
zn;+OOyMuoHY{vFzkhBVVU9+=J*cv{s=$C4??@7P>ksN+FZXgMFV=!ry*}|1<zu|5#
zQe!&u_h0RtKWRlLPxepcJ|9h9R#YCwgJw<XOVf#<7|&^ht^MG#<~0^orCbc|Tow9X
zGy9133D|GV%uK6w(0`igF{N)|?=;gE`^|-as9{<Q?4o9p&evkL=Y&27brIKU#yzPh
zg&x&pUGm(gN3viGIQq~nn-e75g+#Jf>`AuQ=uvNt;74l4teI%Q@dEELU^st2=h+SD
zYt2Y*>;f|<Depi(Y0`)6w}c+jh<>gn#VhBN8<@0roDKAzCQ(|Lg7L43f3T|?<twhE
z#0hpt6Fq%#1NecOh_GhQ5f^GgFNJS|Uez#-hvVI+Nsn`-plZnH_mpq>tQ{9zK-ssk
zD#R@sFDQK8*R@mY3d*7LoMqX(-r(EDYY?Ys?0);q<hZhVl(?L7(tm_iUFZ`{Ul&;f
z<yl-`)QEaaBkr@)^yqoW9QsaU{B*Jseu1V-(52h(S2UfXM_#9%=*S6Iu$@M7uP0~}
z(rzC0i%?<!Z05NB@j<Y`i-ztTj|O4yFF_A$v=6wog`cj`S~dF}?1=hT{-W^KVA=Co
zLvVeym?x?h=b6->R25R_4fVUK>xRO9s$UGbH3xp0`dLV_Bflr+O{<GqdF8=RRo}fg
z)(P>9`u4rTGwz^Rbw(}bL#r<@tG|YyyR_lrGWcogLdoV@h+EX+K41049m5xHC999`
ziSeaA&jA6RtJS$1;$^kyAE-~hHnm3Fqdva#t6>s&H0#Y4=u!3I(0e~2&+3Cws=hry
zsI$lX{Js|_hQe=A?+)*|AM&i;ej#B3{95(aMN=Q3pVXVWzrT+0pceI+n$rpV`<kH{
zG4MmwV!oq#<(!7Cpuf~Bp4QzBe_t(BV*wYuOi1K?n68ix&K=Z32XVZ5)}U#2@ITcv
z+jM9EIaTMB=RbqpQBPgIy8+}=E#~j2#dS9I#EDLR=s)#%CY*s;!{Q&q9;h?sHMj;p
zN1awuH)<Q0THd3WzZdhi)d>Lw#?UM3*sIY=&<E=1vATDlkJRDyeJ{@g!%jU&gFRAn
znp6t<^&U9<9q7~GmjT8rUhK(9_&;jpiG$|XK>1GF0_YvJ_ufO_5l^c<xd9xMK8bD1
z>qs~u2fCih>dF3bK_CISR1eXs<HmM#W+FG}lpbLiMLOHRP57IY@uJ$f-=xoa{9f_*
zwv;=!D8p8KKKHKs4{hdsOJ}zD#OH_|xNJC|t4+!Y=rOe-rqDly&pRu^^*zaep4@t3
zB->kzW7WzoQ;*v7^U|aqd_H-NAs)WGUS%GX+VfyPi+X&Y=O>omCZ~*ad&>8ztS_K;
z-j9|79S_}0V*fgf?stXnZ&&TvMLwsEqDFi6lQ^!`eJ2l`G#2cW<>m^1UEK?T75sd)
zxKC9r=7p;3ae)`C-P~mt$6581h>3{D)jImWt>NdYwPs!T3cIC(TWSHjp%P2ps6P71
zFG8QG-W{L65cXg7eEhCGkQ>#LS6|0syr>>37oA7Ds_rw95WFKxbb-E8-FR`s7Isf{
zHM=kY{($O|RnB~V@61^<1H_rCW3h!+&@-yT_7Vg5J*orkOnuQ$s(q~!9!v*!J^c0)
z{;G;$6XIf(n4hbf$HY5u#vpj2;ItkduI<3dP0!wde5klR3-(ntuF9B)Xh+o;!`Ig@
zgBco40{kWw({f<{REgi_81epbiw_%|2BW)vaDbgsh3{`S9Clb0;x;h}`a~7*Qt|}$
zU&XK;<4lF-p9y=Ya#Kk=LT{*sG`s15aiS9UH>$+>1eF~XJ!sS5&0zQqDvPY-TJSej
z=CQBmVmzu$R3WY5kEpua-_L{JqUzNAVgc;4s$JPOeT;jRSWiKPu(%KUP1P*4T0`i0
zRkiA)f8l3k#fUO3w72r7cjk4-k@AOq`xba#<yY75xA1<-Pooa~!t*HKe~7mm55BwH
z?b<Su0~LIO03Y^O`MOEHIOuKV%Nxz5FUXWtHqe{O7x-W`a=;)p#;x*s!?dlF!Dn6e
zKZRXWK9#QUfSfCz*qPiy+^l@u=FB?uhq8FnszCIwQjBYq_lqMZLOzxEtjm?KOG;5b
zl(%~RYIzZ4x*q%o<yDh?_hDC*mj<`H411^)_f;x|5<Z}qm!}l{SLNYb&2<pBC=Xof
zd>VF1iErD$z9>b%Rmo*9*hl5I40w9r`Wh=kp*NIExqt@F?``d30*ZQ4Ii+p&neexi
zqc-RaVLJ>zeWkz|%;bb0n0BS{F8FiG<af_HOac?NVEMqfuA{5LJ}aZ+4BFiQBhH=J
z33*e7*{t0MJEIJFvF9oLN@eh+9j4G1%D~~x@4~NA`b+FhpjVZ?gS++Od$C*s#)nc?
zav%tLL+QTS*R~9FUK2VB`d;aHK4B9-=WrYv2eccV?G8U$Db717t!_MB#dhwKgNP37
z9T}%Y+@dsBetZc1qcjc7y~qCUzJ5X)#*ebAgWGeqW9Qws<0wxZ&eUB4y{Tjxp#;Qm
z%FPCw<i#dJA1WK~Q+I(rRvLbfs>$~k_jf79{a#8#C!0sSuOSN-@bi^<Ny;WSXDs6L
ziSrrCc17NIVTY96qK-9!zEbuuoP7lTu2RgiQJTClHN<#Unsq$BkL_(f@J!4bzF(KO
zR^DLW8;732UsGDg99+QbS>IULz6;x-;aL0Q{JF9|iqbmAW#XZ~K5sQS)S3Nl=@VZ3
zgza;4*h<Q+*~r^&y?Fm6YYxugbN%p@%wYSR_IeKgKv3t}Y^MhHqv3ZdJHFj8tAy=!
z`_@uDzE5TTw$i9!(ufP7SocKPEa%%OK7W%|+TS>iIE~ErY~ayo3FWHp)PVzd-P-N8
zno<r}B#zI=v{&A@+7W|X=w~GWsX$i0%ecS~QC693SHSic_v0xl7$Aec^HbI(ku|oI
z8-u^hPIW-PDt;#3tOog1i2FzsV!aB5Sa(SAof}?3mKlOQQhdDi!ySHsqBI&33BDOV
zcldSiMTGe&EwaVVXxK-EI4_{Mt=Bjo<5MB#4Jpp8>i7u$q~dJCw|&rKic_!khxZ1L
zKOgc7{iZnfJmDbx2E|d`Cb7G~!%2x2&=-nB&9Z_Vz=Q4dm!kg^2j(P%yd^8=krW5k
z^zq5z-)+J#wID0wRmGv6!x|UzI#CAu`J7^$qc|41WElEEapq$1`7z-63m>OK4=65n
zY0wICt`JM9DL4(GM^^5$R4~1#E?HT{P;t#x(-3l~;PRv+c=`H5XUMsN;Y0?nw`YrD
zKHr-O2z=klx*UoVk?ud)AIAo6th=Aj_dV~^20r(K;lYpxMM0<Rd+<*cdl4WZUQ_It
zIV%L?U9tIbhq5qm<A9<mfnZ+CBlkLiYdX%ITLE%AG~`IJENtRu#0iRpl4b)De<{Q`
zTOn3ERLmH2><R3ELR{}s0EYbg#1%<bV6PP8cHKY4zoT{ALLV!Jn_Q~~J)y`Peth{a
zFzwNUO|a*Rlz{f#dB4O@K|yR!F^^QiZ5SADiimx`4nkfPAwi=%!Ja654;SvicvpC@
z`(6cpu)@>Y!h&)NGhufabiL)=3I377`Tf(oZ1=%$+iQ3oaUNb_b0Om;<*EOb<|P<k
z3UMEsLabw?=-p%27wBPyIIpVcxu&L7DA;CD{By*|3YK}mxKT8>IB1OVqM%uWo>4R`
zp3;c@QE$n^R9?Tft$r~48in5JyRD$_<>iatn!ulvUp$j4g+D46^MB=gvy-}@zvW_n
zi+qcJnKk@y`8sYG2A9=N4uHQVpTDEdR6K`#X2MNlJfA$r>$Md>&+Rg>lkzO%L+3Vu
z!@K1=K|bXP3`D{3Yi{qMXXSw(;F*JdUwbZr-It5=)^g3q_?CP=Wzq9>7{79H{aEf=
z^LSw!uutELeE5U%R<+b)AP@3p6Xs~c-;;~_S&lG%$`r89huY`SUh-O_ZM89u<u#4^
znn6#<buX7G(H`=ulUtTU@5$a&Z@&laCKKx?$;A0z+2dHJD)^jC9QU&ORa#o0J!N9N
zCA)FF(QNdWOq^$uU7|t)FG{YShaQrhW5EOP<nnEgU>9V^buPTqfJf3s^eP4q^wV61
zUng5zdOYziDAqZUEq}A{!xnJq(=lJ5r)AuRg7=Uu8tohgy(OD-`ToySWJ1Ur-e-1`
zv?h38+01}Cz4%<yL#8IeZ<9@HbD%!#nr!l>c^3k}>}HL;(f%@~AHgq^WpRTXIJ({1
zLJM%jxEU=WPqLwJ?>~osBIEKR#-}W5b4#6;py(gULbjXQGz0^g015id-7^(-N2ZxH
zdltX1jLBOLzfvZPZTbLuO6HmRZXw%eaJ+j{j0>4v@+U*sA(_o2UwzmMS${gfpmm!8
z128URmOF<hmx5wF8<|;>T?4+i=r_u`e?bp|#!=62z^{~vc3jrsk#!U3Gg;erwlg8G
zGI1SO)&h>w8L;W(*Q23dWrlDt5Ld_=v^uhj-xuXXR_oHo=I}FQHBVPOU_VzYioC|}
z>og494L$4qd++Ub_@4I<*NF?ze%|7~FK=;u)tlwM&@SF@!_%vy-@RWiY8;E_@qVSB
z`*}O~;>^Yy_d#(#n0JZSgy~noXA`PeK<{}!!UIBYdq1$A+!XEUT@)BUAs4()Ll53P
zcfdmi-u~sY2l~YOCKD_{v7Vi`SY_5*ES>3%sHP9(%==iH=`Q%e-UoiUyoZ14z27a)
zk<YOw{qlz|;Le#btK-0J%aU6{e|c}2H~JyQwRhgo>fO=*-nlbs7(sr#m*_#Fzy)t1
zsUW)jEZ;vp_~}O2CGYsAvn9}@-kkn`-SZBZR%0ggfwy|dB~y$$Z|@$m5s-Ipx6h*%
z!awwO#Dl`lcsn$ot&MT#ZGU`ZJlfrx6+02Hcw1iy4};zJ=J12x=xtI(Iz<I``!&55
z?2vbtm(}Nf1v?hVHtCS+q9w31-tETJ&gSQg7?^-9+hlx2eC^!~4g}&H@0wK~XtCXO
zCv7@_-+Ps79XJ#OvWy<y%j+`>w}J1sk8g|d<;CR!=qs-$lSd}QUU)rpymlS;@hYmR
z{x}!BxzwZ+<iYEFNsEftpg4cxb=uCTE}q}()ZX25y}%PX>w4gMypA<}9gP0-I$Ce@
zI<&jjAtsQ52V@iM@qAtdZcf>V2fTK1Vh&v86t4q$_R8f3F;Luh<FzR0ZSS_={OF^l
z7!O`^Qs!;IdwI<qv$P%L!Ye0d)e>HB%JO?x`S)yY#0Ik-HqD2f_oCT{o$yK-Ft0!K
ztyfI!^ANsQR8Oa4=ua<kpOaT06XHNIuir~kecCM8Z!h_~vR1ICUgEl<7t29dkc)qu
zf*$vBdYbD08+7<E>^A&SFI&^Ldte8=%$oHW#r6^NzPvggkIjRh;??o+#7OwNUhSXF
znumDUt6lHuJz$5u+H4(R0{_d)NOPna?37pQzKU1uhgKFYZx9E0iFwIhVx1B%Lr$oJ
zjW*YfgP!qfIP{St+r5GAJX^?%SG{d_j7O6!Ukui<fyM_78V}q9J>{kMNM{z`17Xv9
zeqLOU@Y2z2_2T<howuVm?17h7$oh-$+da#!E}V<!@ciQ8?hSkADaN0k;yy)Brscq1
zdW!Y>JYQ8$u)z5C6yr_Lry&cgLEn1b2wFN0cFt4G-}OAdF=Q$HE6=kombDNEd7irR
zs0QzM!n*r4$iJt!Khg8h=Otgzo}QxL=(+F5ltlQmo_l7LheE%3ZvNJ4E8<wsjgx(z
zK`(fU_0c@n26nc>xba+-_q-we4bK(7th+!yJQp?yybrtR$@DX{zvt{l!yCgN_ngx5
z#x>}F&k@eI_Vc<!ceEc5{ot9=rP?IKSDvX`w~pucl3hIdp#MF^IMFli=*a!>4?M+r
z1<#<TSJsk&bWq94{ezz3e1m6zr+W{`fv1>X=IMWZ*xNmS{mgW@UgYT`pFQ~f%DB=q
zNF8C!>jZl|D21Qz89LSF8uW~3%Ena_ReZjW=R@EZda`T<#*JtCjdnZu`HYyh5o~v+
z(K?W4BKG|zE9U_{Ga4FP<Imh)+=JiOz+&@ymHGFc$xIXmliG}*a*FTkYVd{c6~zsV
zVEB5U@%{KbEI`2LuFR|Sgg2xEf74UU*Yz~}>|CF}XIVGsOHU(i`~ZbgvS8DIvPSIR
zMsPR`!1_T|z2Jv?GChmWX|SQz7T8Bm{oBLjd%+re{MN#Ldg`8;R|J3BvuZ`oksqKK
zM|u2uaBxObvgzXOnPB<sNxPtLJbuJAnuzxF_!bvf4SK@k%fy>M(!fu<9dgfuAGv`E
zd>?dO4}P`ByThUPF#bH=M(3S`9C*B$)OGhXk_F|+6tgOjGmj6+se@MX`^U8w!+-Yp
zs>-Q*3H;vEqhm1dTR3fgcaTNi`5c^f_2JJwb=TG8=k7Vpn9b*@T>ta<_+#S0az2Oc
z;O4Qsf3Sly{7H{jG0k+)FCNb$RO6usJj8vj9^!sTj|WM04?#{n?y(>xc;jK>NsMcc
za}B5Dktb8(p@Apr^@~7U;&HT5aVW;WhZuKx6vW+3hko+d`?mQvUVrxnmj$q|9y>og
z-HCDTA+8sBY)&Zo2tV3G9Cse;m0lweUwW*)x!^b3Wp&rL4fq_(7TmuFKhI;#_7;wQ
zV8(dYd+>KWQZ*O0CW1)~-+Q9JJ>t$jwt%1G5uG&P(Lqq$&*l-r1uT%|VBz0;i1W1`
z9xW?QI)UcjWp&}dc$ik{a-RL!bAOe0&<7r^bNU{Eyn4_Lf?wg$k~ah!pDYc6z3`~T
z30bg)X~&n858d8pOQ7dGs$R6ZYY1vR9$6cobN}_)^DOLwd-=^Zv!R#Wxg801&Hd{&
zlR4-ocZl@@_~q_m{ZjY$mXDV&1>fDCA?4@965{S}Sy+*@-J?z=Q)<~NNN&*O=jD^#
zp*P%1^`2Rf-|e06K~K1sVc<>W^Hk2`dQ{0t&Fn&+_}TIk2}hmnTxCMNUn+jC;;s$s
zv3teYObztByI9x6{a2*xxt)BEz+Qy|_#Tz==>8+}$=OK0Pi4JJ_s^Zitw+1Mf1u*!
z^K?t@0DJ2$&KtPD+^SiL=Ws8%F*OH%toxHsstP_Y%YC6g-EVUy7`zd0cJLT@b=;Ee
zd>(O~#{I$#6DPLMxfZ4Eq3_&JkGP$L_iz{EX?L-Xh5P=8)&mxSdmZF1kW=?vb2C;#
zPrGk_w&(}jg=GpMPwtyXAOZt7T)AwEc-B47x@9fcKle2U=L}f`=GHeahQ4uM_U7<5
z*c109+;9xeOK~xVU2vy)<@1aC1KnZGlc0CpQ$BuZ2Yck6aMawIKgX=-=K?+I9(69W
zH}r)&)7_)Na5qD9wwI`n-GdLku^LLcZ8nA8aQ9tibH)+$X%Uc(_{Uv6Ms|bks_<I%
z2KL$Aiv?Lg&yM}a@Ot7tCU<E~&*{)#?vg%>(~ppqdFbwLx7vk2<=<m}`V^77oPY5C
zVm%ah$-v*AX7Y3Ot4v0G>F$#D^%nd;_aSel`J|9=SDW+qh9gf;AS?4r-CbYQZEg0~
zb;a@J?%7uV_*ioO@az}l&9L=ZWTAHV?WE6%j=lN$*!&`X&fUOo8lRtK@J#s}aQABS
z`jz`U+@0U-XaW1=?ik-y&30jhaXXOdaPY(2dn{OZ7;@|`?yGSZ*DKvSmJPfBf7`wN
zg^0ElpjfZiT^!%;EE@^?;BL5jqB-TIVbX~655W4ZN>UNGxYt=TJ(2gV^<~=``2X&D
z)m~OW@3?E9dF+F@L|WD-vh5vE+;=X0m(gS(<X+11ps<V5mt!n5ArI2$gBIS#b4j0>
zwF*FgOP_=sI)(n0K04Uy&O`8_dmky{6=|{7#&7Vqr7Smx`$@%mV$wUmEWV-tq~ehP
zQZc@kUTps;fcHPY>{9S(p59TpKT~?9hV9!&JVm3jj*e7ZpOlJu3sTW9l8X5aQZeuJ
zU#E$P>nzfZK2`@1_e;h7%F@-k-NPVn(j~n{PKDl=LQQC)J*9I#M!l&H&N|TZ6y#ny
zW8+Q<?4?xPuPhbko227pA-iGMq+^?1ZGdqo&1&}T8uYVtjGtAaHBaMsQx<uM+`lI4
zK3Q4+SSqf^OGn*TnZi$$j$~mAaKyswtFWKa;f?cVLk^`GYY`Fh)Q%Hb!(fl3v4P#9
zpiiV>&U(GkZ_=RMTSh=`r2+T%t%rV<iuG)zKEEH#zYL0gyi`^FPJPISRNPlD^*kE;
z34VgqJ<v87c3$dMJmCrSqSQsTXf5op)ak{#mWU6egO?@`f*p|#3Lm@VHYl#oNe8r8
zY}*$U^8}@0o}ko{0u5RWtuuq|W^ym86~>9w*mBl8*iUKa>|G9s)1@67A3X@YByIQm
z@mbh$saU^7+Q!S`0oxy5X^b(+L<MqQ#_*Tqq78kol2=TMm+<qId4<w8+~~~fbZNb#
zjMuHqH<h;cJh^;3@7Mg(uxY%%+s`K$U(&9Z_5|^Ly3d(*v=yKCYWwzV_W=dJ67xaZ
zj0EqFpgjvBvK^*wa&cq3oNn5K&n?zTm%2t-7yV-Uoy+L~yDycnKpy#h%6zt~boK!~
z%8~T-<z)@n-mN-}`$Bqe>T;OB-&8V!pA+-kr3~9G*$<WVBc!69kcx4%)FIlwIooH@
zh3-*&e;fVmbFgF5{vFy6hyN_)vXBwqcl1(cPrko?hPETy=fa&JK1b^#)7RyJV&1#7
zg~j}6%2Tt8kCwyVm5TMFrNR*jWaT`gl-*UIKUdE8OPMZ8If41Avw_#+kqrE~vYw=r
z<#&Skdz}_1&B@Aj18Ga?lGc1L;iv|%Ro@XC-1%GxQz@TDXD$X`U_U;4(1_!rL*wTo
z_#WIIK8*c!X>dFEAyU!5k(y2n%-#ly^^2wEPR1`dUd*5PXk5TviQne%KE0-Uouq#1
zWt~vU@nSxEqaF2zdCw}T{2a@^wczy(4(o>S`aKt<Aik4!`(iwU?bUVI^{Kn~9H&oq
z<oBu{e*Oslm{jMAQ4{D93BwJ@sYI;jA^9<VRT|_&@^$^dF3<;(Pr0sdAV-q-qfPqN
z;E^g0FPk79mAtH|wIAb9QnJ^?cOLj8b^M{`JW9oGrJ)UvQmL%7C%M~m$^-aul3Qbo
zKYid)D%}i=`S)v`O;$j@C0Eo}s_}DNhV$l;D&1SR_{pPGD)%Kx#5&uOGYxNbTErt!
z%vR4Y<B=$p`$Z+k+DeM~+()h+pKuLiS!5R;iL%~KeU?X}+}f@UKTjgokCE)51IMFL
zUTQKB*GhK0y}cXlBH7LjnqYpH&W#~Q5;5;pvN59YYcjZ@M?Ww4@sf3^<vkwq2$Y^P
z>OyZw=D(b0+7p~OedAr&NeQ~6Is9LVn4ctJxqQCYaBjQ?he^D@!4Hz87G2!}{UM1j
z9o`<}Kq9VFN<_a|5|W-##P<q{4|oW>D+y?Rb~473#5a6@JLqAFSl30OXd~5S`@kKk
z3O`ID{W*W`4$#%u;~?Z%BCdN&toQc&2)!!l)OhhP*eywi!<)Mxo|CkTLBs~?(t$mq
zb}PS{e4_yTcB|hkCHU$6Zynsv?Y+sUc4#j*ao?|-IKSt1&H2!D+}G{Ww8U8GJvWxs
z!#Hv~mvE&F<Hzmvfn&4ro^HqYb-IprcRRdmS|h}JZUvi<EP#BuiTTKG;{GEyF&=S?
zcF+Gf91NdWI2U%n&AqtMYQ!^cP9AxYkRLaDy$|Ong9DG$j7R&p_2GdDpqar!2j~;G
z?%a?Hiu%Ki+nV72xru(a>z8BGePG92OABiI!QQ&QoOW>s-qZEgC4UL@i>tVP=6Z<<
zRp7aG%4P6tUB$YMt~0kDafM&+np11(QpEeN;yzMWugOQJ!)~~`typrr8Q8DOurgl9
zqQ>P({MqdJj@ytQ*B(=K#>4M*743#=<3i5|&>OA|S%@60XMg??-pkdXbG5CGHui(o
z-Ao>E0OU4@XmIb+sNy8>NT1ma?Li^$8x)Q@0)=@V8+*H!lfAPnL8o@(Z3cs$u~S;!
z1eNm^>D>YSI&ZM+4TitT2tEuZb=c#)1sv)2WbaCF!qvAK1HdVZH#Djb&hCBH`6(#W
zlLOaoS~pt(Zk%A;=>oWgiWEHH`|?OT@btH#U-3M4SK`keNC$=Z0(|h@Y1krA*q3Hw
zZ!gqW2lWo8t^5Mkxo_C$4cL&0wO})Dj0D>~ny>)RYu}k05kXiJc`eYaX86QQpalzw
zgDi*d58^3pyMXeNc`M^UVLX9RzR|BAfl13%7s|n5Ewt*M2FIQ&w@wAK2i~aK0i3e0
z+F-P|y|8Z$T;B8E^ao(x-VbiO!Og3z@0<ts<R0^_4ql0#|9d(p)B^*#>|<zS?@;xD
z)|EYAW2feAPJldC!W`_<Ytz<mpit)!6wV_79e1aH-46N;GO|EFIw1Vp@eWM4`ebth
z6za-=qbyI_#em~{&zSLglLGsj?gzOI1?}#@?OVL=>{(3~-v)Wen-3`DU4UCM+iykt
zIqWElEj<J78@9(}EGXoOgAZqW^%w@e{@AU`b5N*j0rEH$Tz{}ZzlxB{Aj?fdP6u;&
zR2yX4P%Dt)RTJz{Kd7oVXg+lGrDfm%)7f8-ff7y(fy&9SNT9G@33B?l4H!}L`drA<
zVBvfXP&^QDa9VjyBgn(xVHdhsqCW<Yo|>h43{s5rKw*Crn9BrpaPyeWuXx?P&e=63
z;EB@geHq|QzroeeK7)n2;$X>{Z?Zn1P?r~cKQ8dcd+=+k8(Ug}ye;I{u?820Kw)1T
z*tD>^e*%c;uHg$%IDY`_ou|yi_;DP-1CPML3vI_&1LdiTMIS+KD@1=dCX{@9aRh`J
zZI%TJ`y0WryQ_}JIB;b8b_h7DZ<o_U!9ByPZpC{$3i;yT3A1yGJW#0T30@oR(CZ+0
zORs;zYEZ~m2JhMXUB|d~EZSzY>^}IgP=96*uw=*Y<>&{;mtKwB&w;Nwu))%~l5M=6
z5Lbc1z9+Ek^@$o7e~v=_J1ET8ffbXd_g!pb@1&h+YLE7F(mhaR6~>)Y&E96ucY^xu
zjS}{O2KNK!^6xCy7z;M#1Sr^Y-pc~CrxVLuq92@ud=9W%^SZxAg1z1Co}vAngnhT5
z;OBy_!>Zm`3d*h=--PFO@}E2NVhb?r-YsK{Pp5>tzFTX6LsR;Oj0TzZ)fk+F7e%`{
z%?|#Og!Xh=ekkn>pL5;wz81cqkXH|~>`OQBA`8%fH`kvGz<6<bz(hLm!;CA*&?8R5
zzDFB-XPuHJh2246eHRq+ZopPP`U~-W=dO*r9zuIM!yOtp4;1zzfqiwVUl;*$yB6Nl
zndMt_z>p8k1Ga);G}PcQL9yC9k2$n$4Bo?;ViN>TV!>5#TBDA)p+B5w#GLC6J>|^l
zQ@p>kc#5F&A_i*UirSqX@;O$sU=WBXv<2kRdF%K&U3lHSZu?H7ADjh03q14c@XveT
z<vsnIK+ib~d1GMF3e`Gm@X^m2WzZMSESnz=zG|qO0C{$Pr?2<r7bxTtgWo?V>)^eH
zFs&TpZ-}su9&GdIYGYh?h-u;04(Puj!Z|abUHnlc-fPGZOS3e7-u=5x6X=&AK|D|b
z6!N>kG&*?Th~H)_!oczC;Q@e?tVfK)_#QG(yH-11N2n(X3U$vxq3#}dZEpWpkjo(t
zUhlBQa}E*qUx7m2CHSN3kGw(~dzY%(B?EFm-66*oLtb4BqT5cxxN&JzxXiCT*lOM6
zPtcPt-Rn<0Rt2=UDSJExv^miz4)=56*MdQ){gmaP-yVnIxV{UwDM3HD#HMvHasks3
zSYTYZjLsca2X@G1<?4He{lHBdPd0J_w{hbGxcixQIr_=vK>est*g+SeUN3kmb<u9L
zi_3W`4)DhQ?M+~hT<-2Vz8Ln}r3isA?6OPobVn1kvkRB?`Ft;jY`b0tejN4m0Q7>(
z*C*emK%ck>>q+46yn4pDHukQFroyv9-9^beA@8n2Jp-`zoOf2xE3OT;P1}U)xwgs-
zKlcjkG;X~k?3-)%AANFQA6<n!cTlKb2ljKR`4a8wDx7Ns3j04nr)phlzXe@e9T>YF
zbayg*4}0tC9k3zfI2c%`_6+z(u90IslzYKMrRn?r;K*@NzOZAiSyL_U@;QZiqo6qM
zU8n8cf4Uwxr$v_GDR5Eq<qP;cORhaU=m0JcGD(A8c4gU3FK}(WbR*~;*SwLIuVLq0
zH>`VbvjE&Wt4k2t*>!u0<|F#UmB-^?{JQSzR;>y8$(7pz;Xk>atg)lpOYls^-tFjD
z*9$FHt=<JfdklrY;(D8fQo(x$w|m|Ki&)qN6!w9EPk9gu$a0J-P&i);<n$>2{-NE8
zt{8W&EN29J>?+h}2ZbXvZS38uo`A&zt9O3c9sYw`T|KJ-C1AseX=Cs`H{l!)utn;a
zsnCCJ!n!8dzRvoiJ;Bc0Fa+`#J7>_cqP!6L*R8+N$3u`iH(Lfe;Na%5c4!Z`Ay2zJ
zg#B?7<_kdYoQu;SM{d3=lP2(b;VXXBME|%YdTW`%j<}`XS@C`?$Zdh}8{9^9`t1UJ
z<u-Qnay{q+w`?wuf>W()IY6Jf&G6B-Xavq-A}6@|`NmYVtJ~&zYgeGX-GsOf+&x;|
zJsA{FF?AEpApp;A%x?ib=vKJ)=nB5iwG9@_`5upV&Rqt5>h?URsTumg?M?rUKJYi(
zgmriD^P9C3VCUVw3l6uv+fPpT+1N{<_QK|Za8f3r{UnV!feylY7{ecsv>Sf^Tq4*h
z`LPssU1E0hvoZ9uM93!r?YE5I2l<c)=edAN8ZMA!KVe@bJ{!u9ZU%kJCN_h<mH55A
zU<7|q;?ILZ$UUtO_>o%<*yQl@l?O0Od<u^3lkj`h2Q|ngFVEfDg`caVt_wXc!7w`Z
z9SmCN=>k1138A2YoIXQ4N}yH3`5v)Z`_<6fl7vs$ZK1CvTz-aqlZ?9dWf$~?Wb#4Z
z6a0B551s&d+y?qfGVk}!wP<&VupbRv#6$~lY3qQ-@T(=u5QttQ&zl}=1}<;iZ~@zM
zd2P29OZj`KgBqk?`;77AsO{mW|NcA+6oV|IkGM#(O4q9+{3pqp*(;0DzmmM=r|x1r
zOIU84&$X$^_g1i@lCAIJcVc`=b{chG0=*#NHX-P1$-(;eYukcHuP!|e{Uy1)@Zoa{
z@a{3?jd5Ucp{YCUhlI<;u#1wH7xr9dJHA_M9f3GZBF0~mFU`(wg<mRd$cY<J$QJ=^
z8-KUQb4a;O4A+%zsulF~D!8qBN(A(jRM_7K7PRi*k9bEa)ad{(F(C)MmYtW6{*^vz
z^Ddm%6XjI;@?-iKTkv=40ei%A?m|8=*qMm~p!I>ceCS7aVc!Pm%ZYVRs5=Hm+1qBo
zpK%xJE`rlp@Db!OMz9m^`)iNugz@fv(Dhdh$esHMPWXeOK6Afzde)WB;4{a@ji66G
z^umK`L!Lc^{6DbWV0njiVCUOme$byDLOw6p!)ClO<kQ1cRx20d&%;az^zA)Z#s=fU
zqkrF)X0T5lgLBttAx`vg3*5evzxNKg-xhN3;oo4&#R_nuszYzY!yaP1>M{M@mp5a;
zIbJmiVE;W993E8-@8==pn}a;24)Wr$wvWX{=m`&@E-1KVm0>gZ7alvCmls11d5HSM
zqrhY6VDz(x=y!XFevM~s3>;Tbn0Elpyh|QKemuGS1NrytuU}RZde>7phYfV1!2{j4
z1@A|^<|)*<2IJkEeu7+kiU*y04)xrW3jf=4)P6+xppY*I=BmaFgWu@6>CTG*=nv2B
z(<X#I1ch^qKq0RcJZfJx#~nQV>e&IvmFLywM>|5ldfxJwVo(Px>e+1hA@K2ht603J
z=Zl!ovCwOt!nz6gUY(EwIrJ3fOTeExXAWRIdTDVZ2`H?`fQ`5!2y&Y={4=j^?|)o{
zTzK_b?K%wo>?PD!0v&iT1}N;$0NuWCQ($~~d1d)EfPV3cD{Sz21ITg~{C&~`ySI2x
zuM`VtN-%wp{J<JeJZ;;H>9H7pUSltH`vHCHHRa;(a(-@Z_`PkgD_+Z+J-!RO;+5B9
z;#J787mq)Je)Kv-#}2$Wrqg!#L0%6VjeLv#@p@@GF%a$SU3c@v?$8(B?MJ^jvk5f4
zReuHawYO038WieNg0^oTHHBa2?bI4?01E4HpeGML1?6MjT*v!(3+soVu+9iZcRV~1
zcH28%XVF5$sovZ+3;)hrs7DX-P;vN!-op84;FQ;z?r1mf8JYg!7)Rc7jdB`6PkArq
zLJr7s)#xwpP339bp`W~WSKG4z?dN@9^P<~)u7maqr$KLfA7i0Q@YK!vr}$py=S4ry
z2QRZwIw;f`1@8n^8;^GL7S_MO$Mve@qaVFXy3B14f5`h43weS(-UWW2_b21~9gDzk
z+`tO{q=RN-FViY*;Dmma>5gcebsa=Fx(e+etG#_l)I_j>!H<KGcUfcikxQZ9WWsrn
zVCyk!Cc=-93HfrM`M#+4R-jOS4V11PTLu1`OdaEE1ixM8JISd&<X9FqXVP?x51A-G
zvf&NVZosa~rZh@Y)&e(nd3poyFFR^5>?Q1oOsFpn-e5s<@Xr3`O(9RR`$G@!gZ#>v
zegV5L6ZZLo&qsJ#L;uQN&AhV>dQ>Llb%5M93x7fOK6~~aUSG)51HatLuE+QPy5inu
zUgw+c_@Nd2nRRgZ_u|*nvdEyuu5SEZZl`W+hfhnJ_fUhvJ}+MP>D`(acpn~T|JQv5
zu>gg0h`}dqRzCm6=VzTfP&kJMylK+52yvP0Iyc&b!nsBu!sS_u$>t>`-XM?p)FNNb
ztVrbV<;$I`@%z<Glc0}fcfS`8g`Sp)af9qZAEo9o+iB;cmhkIjk9+t&^5t`|-~uSr
zL;0)SUUTCo->1@#k_qQ5+t|yiY`n4o?I5py{o#D{i@d8}hDHOLOn-F(exls%o~#4j
zU+&eWL>uxchtvl_&g6=|nHjKaa^<4)XV5=#)%eX`7>{ywi%m65N&nL&JIP7=JWi4C
zf?LDx%QZ250?@y5pZ@PM;3vp^HSJ%*50DFWO2B~Q(=G76^5DiDr@_CIhu%8h9ri;G
z^UxaaD;MXV<U-vkP&g+M6xI*G9lw`v#<-I2-u>_@#=BftcL0Tb-rx}@wf-~k1ittM
z<n}wrgZyPg?P`cK6v8<-pg0Z`!u&lbp`ix33<SAWtl1Yd745EIdQ~@Y3n!XEp$;S{
z%&&tCr+K{_>t7o|KPy-k9nYmG^1kZ|xlueC*=ry4okBRj7yJ|ybRKrPaz6_A^V5A@
zsg1p|^`L?<*e|6}mkMMW2jo*}ddg)z?4Qy?E7kyhjne8{(yWtU{~d>SA>LEk@?cod
zKDe4c^tsYeR#5^wuJq(Vh@jYiN(~Rf1VukqiKj3t2BTOI3rzj`s|^Wvc_jP_<%I8>
zJ0Koa&Zy<t@-Db=+={1&=aj;J3{Y4v2e;Ef1BHDm;IUoJZ^GYEUL20d9)vqm^))Eu
zL4!Zq&g%yGQvO~%>;vwjVp%4%n@XtL2iA$YRhvi9H)@q?VE{I}n|257q!Q=bRl+(j
zXg8$FM)-9q@AA91JVEuxIYsa{D)%pf8DpBaB!xO=;K=?hjzX`iCe5DJWC^(N_!J%Z
zH>y<(Fu=TT_u^pBRhvJ)`G|3;+Rj2&;GSsfz35Msa1I1`#J;l|{1Vj(I_%(?knDjN
zH>wLmPF+Mip<>xM#AB*!=TA&Wd#P@X+F}9wuew)rZ6fTrs)!4E-~$>q@R3XL)nM@H
zfIBMmqw15*_4{F<Q1{=)Uaivwni#CUa!Nk_uCD#!N*&L?j-+pU!o4HpQr$CYrziYT
zHKZ>F?Vxrzf4~^}POTi1E5m!KeI~_Tg&kBUrA7pz-PPi}yn58=`o*vt>T$X|mcg%4
z3+IS}(|l4=VQ1BAwJ`F)4SUxVLT{+Ib{{nt`d+<5k~SXkg?dkePVJ!&)cc3cOn}^}
z503IEMVzlbVyN2zc1<nR$pMd_eRsYbJn_6kf5^Z3Oi9jwPoR*`0gCogeeu!qW9z}o
zJM`83+_i@X?a@E#X92d85HG8Fd<yK4`Uekkv$5AO-4u3A!*YdaCrzt1UKWsRjgSuj
z3j6OsE;rW&J4UabeHQE@@4FoGq%qF6uLirT=|1uMM6|o6CkwBECfwjhZXWz4n|vR1
zU7wuOA`5y()8mp+NP99WZJs|ltbdLcd24L(XI_W(QOGy)8<+XLq?}oh6Ah0SgB{ig
z^$bCwUKS|S&jN)yr=Y{QxanO%xb<t%uNp1~q8~Iuz7i<;thxiesbM*S0Fw1&!5|6<
z$m2r7!Ehb`2}VS@uI6(^+J{@VB(GIX;LqF+o<<t%zqXdY-<C3FJ3s&ZdC@t3|MR_K
z*jo+VCiJt0WkeAlXo8z7UErr{0zPc_hx}^%#=V~lKUSl;ur&d8PosR?G!%MMBfIe>
z3gcHJ)Hef#JT6dr^VW;W<iI=TPe7N=BZkA@(K!B?eFOfird#b{$4{|ebt3Gc=QQ<x
zbUY0`qG9@%0sEcjoI(!1H5+M?O}VJ@ssQnU`fBd?C-A@2`7w51et<LU`n7=GRSS75
z;K0FQZ{VM*t&4sx=ie<^up8_>+y6NFL2X|8VJ_uXs9y#O=M8auaY6zV*TvMv)dp1O
zc<i{+*b;h1UAK1B&q9#LPBp;z{lx>pL2-RY^;E~`E8-$mF&BQp`|gF3&EQ=o+JhGd
z$GgM-P#w?8?TLO>3Fke6LY_B>sMB>j_0w{_=4daKP`?gj8XekMg>a}V^r~vX?e&?E
zTa}Q<2hJI?W+3ESHH!saK~AR+1*a#r+2{f?9TekFH6?3QZZ7rX&CTDSzg0pVdT{)y
z5x-%lRb$`pf3X}K!vj9SltuTaqd!$beGf3mIoBNWtnz2U2+&u%u52Ima$Unh=o6K&
zehUiwzroJ7;p;J8RUNqj7VMz!X-7RQ)CmLI?Ff#yCM(x{RP72*z1HX7=RO+Qo1ech
zD42R*s51sSylmow{#8k=FZO183iZxFVP78auQTcDaFPR+zlRuM9IM>9ag^W7yE}?{
zp2yh6fwtpyry)L5A$kpiU!dalZN#^#ZkM8;j0EZK!hcY8ayZ-(@vW-up8anw(_Ud%
zV|=TcGC>Edw_EQe?5L`?-nc{XCsq1&Iu)4E-r1gM1N*Mxu_bI@ZOx7Ph=WwZ{xq;k
zn~0vIR;{^K`)DtDP8vD8Nm^5~qkgw>|NLI1HQ<%eVt%hY>)1isRlF|zdKJrj3?a)_
z*wa4gCtt~Cd(>gU0I;F;w@#GTrajj5V81%em^JAh+lTp!phElOHN<x+O+sWVwyQr3
zC;KNjec4jz8CBR1bKef2s7F*WJV+9Z=f*BD(ax$b?QhbzxWMX^n}~^d(61_?&ITy#
zBci?59(<qjkjaghpiuW79L|C;wBK-}Ovx|nL+Ce*QhS+k{ETA48`-#zcUS&BK5-r8
zYeaC>?)*NYktq5NL#vkiYV&@VKYXD-ks4xRY)kpAck0TczuqUXef7Z(e9z{k&X*|1
zEYt`3@W2DgbJ=&59VqHIl~6AOlx1#hGLancbr;`XmQ{a_f`5mZ8OU~=+;zr9kpGy;
z_MG|6fbZeQ1S8&;1!};M%@tX^Zp4z@DQqXEbyHttzP$W$7T-_r^j(h6F)voW>B8{}
zgV%@S_j#9i_@k<s?>59DK2yy<esdh<da+yKVanAqZlnTNZ5uMf5nS6S?*ZE%UZEUu
zjcWZ})d<ST1}@Zso5oz*!0T>KZIXWl6!Q;MLY*m+1vtsd`5e`jqQc>q|N2=tFX6B2
zY~(>0ygnBYc;CwPFxARKx|7(Cx#y0Itxxity}!x2#{3-jN%Hy6rD{{}tWN5?wSp`h
zQ{@v`IY0fczpr8-X7i7pTz#tLgm$2CJ}=*&iH>|8xCPX6!nqw_e(!@Gh>KKgChD8*
z{cpG-u2Su1fl-jluKfE!r}IN#7gWMI2H+`ftOrj!dK9u>PM0<wN_}yr?wUxpvyiXD
z&vCyk+4r$G+v(JVz%7aVdzPLF$DL6B0X#2l<w7|W&P@Qt_)t~+q-!<4=O4fE(c=db
z>0b(YVj$HL;un=r=N>Fcczl%pvT!~I_@Zd_6w1k~@E3z&?^Ul^SOR=IcaaJFIaMhS
z`T;-u*i^ysF61eJ-`<Do!f#UjSiPhh@AETuwG;32`>6Hu`t(y@4Vg+iE1XA8fAwqJ
z1lVtNjk%Zi^e4-Pj;})d*kJW{`lnQrQgTaq*Dd_~=wC+zNkuI={nctOD{2*xtmnw<
zpE<Au<4UcqePks4-YP8Q!ske<eu8#W$lC|ScwhA{e&=!8qo*57R&o5_Gwu~g{c+oH
z(<|!1n=iJGLHw?|!Gbj))5)m6#Q9&<HNETcO0sIgC(6;4st1w~pQ?m>I#8%L%KqVi
zV}J2N?7vm6D~_|@nV-ylZ5a?uJ0sK|1rP0eI_m&fz=<_*Z`Hmr)K@$EPb%d1x$TYP
zb5n<DO6r+K$veC8dNViX<RIQsP2&Of9QW>NePIVw<D>d)qJ9zAt5srtk!o1=>Kf|b
z^hbN&wg6K~G_T;dsCc{p?N|KXFQX{;u@l}jrhfQi$0P5BzCpaM68%M$a4sDf<`J7u
zdl;JCtP%Bt=m-8wUxh5SoJ{>9)D0(RjF?Hg@W(y~d3a!quKsQ6-<Tf1?56#7-#_+4
z%$HILb(Fxs>n3ru3t~Q%%9{cO3L7Orx96|?$Ad0BzzY=iAA-U;U!YxZx7KV&AwL!r
z*9TMsc`!IQfB`WmocBbIUow?(V?Q3;0$SH-aE|&!*q={U<V)y}Sl>DKnB%x#i;^R>
z)51CHWQQUBI6ke{rIu4q^zAUWfbY{Mb#DX4pB6h$f8w~YXnA%3<GtRWZe622=pDPl
zknLwa(Xb}%2GcS5-e#&MEA&V%<dZyKgWOb}M!(Ix>!m%^1HJ31PR!?hCXCWs`PXv^
zb(8p>2_qZxdQ9)6Utq&Rmuwd<M1l4VWR8qyU0OZ1<9#G;S01C@c8|Tel>Un6-38(F
zXM}oe><8A10);x0<R<NkNRY=jQ|^TG1IP<yrC&)VKH2<Z|Ae|%q@BcExbC;YJCt89
z9#l)V-0495DxB{|9yCm2yL!(ztvT(l`zh!+gTgs{yuSb2wa_CfroVE$bNY$nRa2p(
zpxpnl<6@km(rj!qhVQM?UgynmtX%eM!g`Vi{E$3<j(=aYwq`?K_fAw4`%%mn`PcY}
zDEyj4e>ZCO#~GU_-_IvK=e$OIUXO{_Kw+OGI9$@R53e`6xt%BVa8_7)cR!HZ?RdXz
zUsH3At4Tw{*HCW@=iY!U*Gc)GM#TW;yn6X=Fev7ssDyL9z<EXyGQRJE=p`o9gG&y*
zs80D_wzT#_BXIezfR`Lsxiv2b^SyaI9{teVdlQH509SrL_y+N;YSrhkIK+Rd)i<Ax
zp!}>^VcFCbT=(fx0`$8oFLBj2#t-XbUCj|Usq(*WPM{yRv%SBXam&u%neXUt?NT2Z
zNdH2p|IOboylh1I!079|jNcp6ZzJP^eC>!RKJV6#xk+rl{D}IN9A82mW^nt=z3u3S
zitBbNp)L}5(p~E;-&fct3!cfz+`#8Rc;HcN^N;;3EL)w%_q<dvXCCG75(`I>$G_M6
zLP{pO($5grt5xUypAC8j3iVyV;|Eo<s7DHhMQ@{h=duy~mHo0S$LYTa`|JPuy^x0s
z@|YjS1Bb$@99T#$kguZtJH*6h(mwej$D2@34;1q|Rr|T&9^BpQ?ltzCP?v-4Qk3;8
z?XUL9S3vWT38_11Z?+A8)}7-<%wJJ$<HkcWc>jKmSK+)ea1#^tzzwC{lIbrB`xDvE
z3=G-ttEbQ7_24bE<Mmhb;3vvOT#s#RXQ4g|$n+$(%d*ye6^PGOi)XxA#{16q@3x!%
z_1t$2;y5oS>{I_sPKA9jVCLcCk)y$sOvwuB*CbAO+5F>|3w8CtpbudW`8~htExc%#
zgmcZnfnD?p=qFim;taHKZ`FZ%;E&$yl0AI_{ew<^FBefywlACF!u}NYD}dZiKtIB;
zS<Af~#|`(Lk6`}`=gWaY-D$AiFwY4bXSI*l3!<Gsc)6BxrvG8hImR7ae&+nBn8&1K
z8WsF1<<~U^(dbX*m)t5bup3HF+u-xckGrD-aX+P)2dR8ppelmDq7?SAf?|G(QplSI
zZ*amIyxyR`G5S$?Im7cC<W{+#8}B#|Yqe@R;y&eO9uNqw57_<V7r6SKp*6;nlH2p)
zw<+f@GrY-p*y(K&X4eHrHIJ+hc~uUZWT1vWuFOao|Ah0sEZ@<S?7n^i`bC*iqt1dd
zFzKv|r2$!)FRDzuxN_G@^1!`ARsLd9`HEJhU~<K#mVDn#{c#J%kSufwiur;{c!fS~
zNZV&4mht}FhYhBWu_;2ltQ6`T^Zs3yX7~H+`f)$|wB)=uqD5W!|4Luaqp^?+rBDZ%
z^WK$tuS%g_0qNK)@jEDcJbAS_Y1cWK?Io*wZ7Sc_``h}akz}dE(uL%Mk!$#Q@0-oL
zb|w$J-@S*QZ`!BEMsn{$tG2xEs-ed@zpc2E(H(xKlE*k_a=v{$JQq-0e^v(WzTThm
z5ISt!J@_HY$SFIoPXc34-n5*+_YBdCp7U3`Fb#@vzL+nd6zUj(h@RbGAC!}4$0*sp
z;ykT#hW5Lakay**G3mk3Tgo|1umtBV(z~4tE^xR%mU756UW^0fl6Z?!-iK~mO_GI;
zNt<`o?(pvp4&yM6mBRUTlp6-Vysn~eX69e_nWS~H%>zE)lI@<9dodqOIr4DZBN(5`
z5qfVIUieGC#C08I=JngXc;8Hg_D8NCWGqXUykR?3uKy_0cu+n2UGp)X*Gc9<0i=%h
zqQjK0E-$Ndy+h1LQ_{U@NNU+N=emY)9v&E7INlubmonm7XA`zVXmT5WK93h2C{UW_
ze;e_K(q+YqK`Ef)_Q96$uapD1!3DJLek~n-zf!0p3-%t`+nwXloEw!u)1I!M5g#gr
zb7{aH`#Wt}Ome>_>DDZ?8aczlj{V(}h6psXJ`l&}Lb%!EG$_<-1N-x!aLO<1AW^QZ
z=9P`5{6u>{&gb(-9enbW^3&(aZ}<<&n4{<V!VW8ia{$>c>kyf;-Ht5j$LCI~+i7kB
zx$IcsU~*dd&9xlY+$Y1&ZN1@O`&awMjNGDuomGaM*X)2ERR-zpY0wGuul98gzt1uV
zNtE};1KU$hyv}aSr~J8?BSHlSnf(0D=jfkV-SZyXEq};vjz{xTT3tT;)jk-`)*Qd>
z6WUyX9Z<Gz(>)z=p0eq_+UvQF)Uf04MEJu>mO+f=I@!K<D=}^qU*Bk|<GB?dSQrR=
z%L8b^*UOxZ;io7{228ul^}G8?KK<W;HxC^$M0}?>Vjd`m{3!}7rC0I(irqXo9u)I}
z6l-_s*TFbfEKv`zg1@4eRsH%y#1o2%4D3OQO%sr1e&9DLtkxYJ%Jo3uoJ_C_3k!km
zPIL`}epR#@|4Rq&r)Y{1i1$;}G5l-^|4G5H67jS`2MQkkxV(ae2Ef-RYTU*+m*2nF
z=j>vxTdo`Fw~_0a2D$6GPFm2bRl`GE_hj8_a9e`(bFaVFM}_k!!Ik#G)dD~<|4WYU
zUIV=%&o2GlmFuNrKfhTEJ0c%dm6@RS@}Zpz^bj}8Q^!p8Sp+7Oqb0$ZZQ6r)e{tN%
zLp!b1#kiM?dQ9#|f#dqHV(Y5`TsK~K)piWmkr}vw9%&6#UZ8uUV>J<{$))CYW$<U^
zl7rWJalKeLhk|5XdeF1SieJ_w>&5aq^W|r`4lL?jxu3tubHoL5|I0&qUgC3%8zpbU
zb>wm8H&6e)jvO~K2<<Ny4txgV^1K~K|MgzOJI7CkA0i*a1PE|OK(9|+?_SaDV6!}M
zYsT+Vf3|<!Q5*Q4+&<t0ejj>yH0-}Z*cT1fUfB8@;#Nh2!k0zR$BHJO-dsT3u4wr!
z@I3UWLO9P1?8HLIAdiKhT=F<x_>YQSrRQ(RK{3y>vK}00pM9zp^qaz|{vjvIsj&Z+
z>(joP_V9NV9vy>iDTng>I=@zf;`)yQ(%qf%3pZ~V;w#0d4<66C-aXDZ*@f~i=5Hy4
zdO+Z$lO+|1hZNJYdbP#4R^-^Vw?+FZcx-tj`Jl(=hu{n*43c+lr9;msc+74b$@*`k
zV&mS?{CnlPf@1o`@LvOYJ=P%tr(V@7>&g3G&HetA&vPuX0(Mowbb8oN#hBJocgT@~
z<qFt7!%`ZqM!clR_&Vh=KbO$4>e(8gP){5T@z`f#$@fLT!u4~Z4jCxMc?tzr;z6&D
zjgKB;yKU=V4u3@<=0z!3_9p`Dm)X5O$GxRRo*CEudv(mPDrEokxoHABsSxUmfx<pw
zj^_~zv-w=Y`JNottjhv69=K->{0;@vU=VLA8a9jUbCq%tcz-tgOQ=6YvJU27fB*CO
z#*ypmRpa%zAp~r3*I3<#`3V)7XY8n7xStI)ThePJ;$DTgPN=Zfd|g33BkcF3+`Nsy
z3p=3@&XZ)ju&_MkVg0AE?5Bt+cjs7uu?V2yCsfus1Y!O*!#`9EU07BRaj#<JhOT<^
z*grEO79{-D&kLq?ZB4zq`02%zS>UpVUDK)Gav`v6-&Mx-ufdKeR_~JMAf8iftRXL%
z4~qHpiY>FGZK?P2SpX8;fd+<uq1Y>LX$SkDICx3B`bX;NZN2C7`o~MRWFk&eoKCc}
zf?iNybo;;_EBG<yS6qELcywb>*e?kR^>)GHv=#@T9~4ja<}QK%u6Tat%3SK{*TW0?
z@wwieFK<LW{dvLheE8RjZ%(-?j_02~Mecn63LV9Wxv)D`S(p^mjc9d|_O-^x#x>Dj
z$_8%+*M>b%3g?#6Zh2+-(eDuVWhpy#4*Ej>k?9@$eNSQG2loEwrX2d013r#3gxprv
zvjv@k;sX%pDBVJz20#xgSq5nY?W<X%pNt0rsUX0pdp6x0|K$&g`M}EQE`h)4ht6i=
z3H>}8YWi>Y?X3`}E7x|-okM?$X&Lmt&U}+u%m#0s_j0HICFa8`i#tZI=J%fH4BkyY
zykuQuDE<3ab*^oP94QfQzog$Q>{AALj2z@nDb(WuKQH+b$GGE*TdR4DTfVtoYa9iB
z|GxSt{kk$990>|_TEPmJHO;gbH#PjeYZA%x?a9P})%pGvud5GX+)<&`;V`dT7I~;<
z0r+E^X(;_gp&lQ}x<&ju>ji=3d0A2DN9C`hfqtBa)C$O`!?;j;-n3N4&tiVQO7C~T
z@#&z6)6!0iXI<lB7c<`X<bhJ4Y-ji|&XXxPfes4iDuF^>yT3_C(&nG}A!VB`4k`RT
z&vOOcua1slyeh8StA_Lo>BV_C$2qU6Gp@Gd!GMfodA=5C?KQgt<6@z%F(~RKRoAJD
z$8p}Zy-~tmuCuh!9)F7SSz^9}N;rR;acth+4_qgxH+FZ`35-|wZ!Y0{k^YuRuelyt
z0|6fNu&T=PehKH;ZcKCq#e75Mt33<-D36cr<nu~EG4EJ;x$0vx*jFW|QJMcEoPz{%
z+YRogJj?+J7NlE!qCY9_&rt5>MhQ?jCj%7scPe8er<Y*dDg&x6H>4k|3BLA}@r?Yy
znm&{-k54Za(O-7sfl(YMYW-)71BLTp>7RFp1_%3oYTk%(ss#^5rJu?A&m4D^>-EZZ
zgW894{0VgqIBq`;o5naw+&`df5SMt7eyDKHDp>QGPaXQtI$LLTL7b%cQoC0g?e+U^
z7@>dZk;gm$3oJ^D=*Pdqi}s}czT#i?#7$6~hf=_;dqaJC*!_tkueU$D<A&+fmzC>N
zirFpJ-Atx^USiweH0|CAi=Xr>()7RF;@_ie>g*?N4<CF_yWanZcPZ^P%gfUb=-t-n
z0PUd(H^zY782HhCt*w_%JHj#$^gr8Lm26!6mtAS)mDiH?O{l{FHnVQHo_TFeb#@%*
zbMv@a`ZJ9V-U=H>`&Bs~q7drm+5F@G=r29?nf9wj_~sm5SGTU7743f&PUyjJ`YruA
zAMY>!IYlcI?JO7fdCI@BP#F06VLdnIA(mDhv!8yNm>(^FaQDp+$dUX`t5<93uU*@H
z{to@ME8~tOL2t+lFN|@+_>f;v_*92Im!Ff`>p}kIC(o{OrN4S2Ygqgf@Ywf0JK^uh
zg}RI2p~5032j&X~H6N+Z{6U`k25v8#y)~77wSV?c=tsG5E*B`AXAG{{Wm3reNT!?8
zzn%-jiguAte(-t+{5Sb%CX&#<WStf;g9mYe!Z|7QM=Rq{c{mG0f?>v6wCVqb&e<xh
z{Wl->SRcs0Z+muRKmA$P_sNV0qWer3#pjJJJ-v#4eS*ueG~OqPg^YN=I`<6?>CXoz
z#}xB9J{<4JJkJp`JIL97;yx02_VYzs5Kqac<gYx(>+)D!=81~?5#%$M{qTnWB%jSh
zCBElJhi=TTTu}AMYWn+2M*VtDzgwsq2(CuM^SRdYU}Z3Gey|_pNxt53>V&D}gDKX0
z&JC~1b}|0gm^t@d19EY@A{iMFJ(SlG&Nt%cEl%d}{%cp%S1o6|^L!9+)h)gLiD2#;
zts5`FWxpom@%hAgE%|~A4Q((E<+DoKn678sQ@Q_4j=Sr^?~!x+y8U1A&*)3bEE#u=
za9HzmB-@b*tBe;|w~*~^Ft@=E_LtMsRQ9*H@29d(F(}5ra&L>hKLKzYkK@>{9%kQ%
zUST}L^DRKvv0)yRHy7jd5zJ#9GIrZ#w(pQ(67TQitvPGo@b9ea0t$6r7$=Q9?#<^B
z=b_{*f6KUqWhg0UzH3+8Gp{xv`{p&qMZ$UFd`>2Qfie5S4#B^WGtH0fA?EkVg}QTW
zZ|Ul>RT<|L<sF2dE9bHGE*uBf8{4s6_vNM)ZRYr}nU-^w<HcrB9r$T-mg%HCAKrK9
z8sF#e=k(sk$ZZ<MK(glC4ScVHQA^|5?gh<0<x=kV{|Mb)%jTc>^+2nN<s8S{7Rx-~
z!`uK19{*{#y@=y>p#My^H;?0H9Cn6<x52aAZ~&g~+hOhjj(>ebBH)#!Z=O*u#Qb{s
zou1p4L7&R+=RJPB4=iRv2l#{=;XtAOF8J!v<g=f^cb>{wY(H+Rpgey1((@SQ;u{Mr
zfui3b|2?qxa`;0E?Z>q)(NEQ{c48poE-`;bA?`m`w9D97i~eTUP9JvjXOo^uI~j-d
zZD}@;^AY0uph8@4R17RTdKLbb!tV5qxAcP@gXS91&*pJRj58z?U8h6N6=FV)g2xv!
zZsW2D{rSMB-$G$m6`^#*!AKs&28!#einvV^bQ$j?EKbge{mbu9+Uc1^y`IEEh@`TX
z$qfEIw(A;RC!yAD8U6PF76xWKvE{KA{cz3T^c}Qk;(DF}(NH_aH;V302VguXWR7an
zHK4dor|_=(!<F_6-ex!Y<$vNbF%L`Ol{mjeJ$_Eh%$s(HY14Iiozm7tZ~nTj>Ronm
zAJ8WywFUILLd?ri_*o_PrM(sR`6|TyN(%q*xYdl~xQs))_$NLNYV7LD_Yvx3fx+3(
zykN-bE?;Qh!iM=bhaaL4_X{f$bW-lnE{p3Die#TAJ!oH3cyKw%y77Pg4DH*IpJTa3
z&QBp6tMY*TQMn$d2)ktak@6z$J6DK#M+$a3^TUHY;d%V^yndJCONW!eL2H;#E}Xkf
zmIbQWegVU67qb5uj`kuSz7FR+Sb$ZB0>;Pw{YO}_eT8!Y*{+p-t-||tgJSwCLj8LF
zzGcKI*gXYq+lleKxSpy|FWX+7^JIVGYu|z;KNznE>fOJ3o$pb(?ynHe|6sc%<r`6+
zVwCT;EN8nUyl&5Y_t7*2;J9-)hCvT1vR_|_!FW?leSGBu=g;O0FYCy8i3N3J4^-e{
z1oo7lWvY++*)J<DHPM3qrdYXoz%1w!#i}RE)9H7u9=gn!-xu?N6srwpJm!5?jr_8n
z`S~k(04$ix1AKU$Tf>G!&ntv;(m|>Z&aW)#^wNv%zo>ESUCQbF>r01m{zcpetC(Ou
z#gTHrX)=z(5y@ve@H#YSoDWGnoA8bE2nlpd!T5STuW{c%+`x<iwo~luxzF<Xv(6C}
z{j#{(nwgyMiJ!1y0rf-z3-VKL5-nC&p&aGJHro7G`=#A*PG&!5j_=f*^Ay8Jk84G_
z8nwlu2IJmIyNs$Au^sEYDdN5cp>8zWW7DVl@N*UG=1*$H`?7pH|DIn__YLfaV#k(u
zbLs!>-oCXV`(xjSPG2Zz2UW8MvHg#{ep|+QqcdGD6>&UWnz_oD@_UT~4ixih6wkc^
zE^~i@SZ_wj*W`MKP<I<Na0q$`xlsz|UW0}P*&{iR-%Ocsm-`XKeeBA%39;^+*Y4PD
ze=^q{y4<!|#(2YqjtD5!6Sw(iy+yQ(O0h15Qk)M|iu-GoqvBm&Ku;<s6lZPw#<+Q?
z?K9|4r8qCDoS9nvCFijhblYBs@xYRHd*(8(5cj<*SDU*}=ku`a9^*`w6^7nZ<`3Cj
zZ7;}UyttmU_t5vk9U!MKF%FeSHf!Hu9D1t5%VnHT5bAm|e&T@{Aj^btJ?nbz<`AxP
z+)8fp(;d8{T2+(t?!q~5jL&y1z0Y}t`^L3%$Nt4XzrVA2d@<viTeahRz~55du-w#y
z>sFV)cCzBSn>dfGJk_Y}TCR`rI8&}4@z`drukEdUX)Wg=xNVGa)0XPb)=lSoj`<PE
zxNH65cpvB~<(lHQR-Bh#dG+@|w&(JPI(wk^l}n?F6S>a9bUua6KkG~XqVv+Klml@;
zopP}{_{W;RxafGOJ>$YfOw=aZYd7RN=fc}#_p==rI=>i0`S`PLId}N=Ft&^6=lyHl
zYwEXi>$u)B>0Fb8VeIeC-OqFWW$gM`S6*jqm37NGZzB4A%8@1$Co(=A#tmIyCKv3%
z#Kmrfj910|*vjah?X)?65;4j_&3Os2u8z{Vo&RXg^VqY1Amh>A%Rh6ywXaW$0LHDo
zS9dI++?w)0EU+6K7p_-v`kB9P{qbqeWX7SaqsKV($>Z5Iz`6)rDJQkK@q*(=;;W&&
zu}lNkqv(dCJrv@;c*S=PAn^0G;SJKkPloVx!1rHrtI*!RLjcD4Td27joacI_Js^Yg
z(l6);a@=lR*OqZ)$+u=BIgU$aCFIk7mGFhhG3)ozUnqg&ME~H0|K%YjpitL~*L!EA
zO@BkE|IGXOy}dv^^FCbn4E=|XER+d;GjvU&J^0b_^s5r^*X#kkPf<^N+)|zM40Ymb
zT%i2adoweK>p(m<kL!$$whijWc)W2<(<+qbCI<Z~*njBdPFx4)GBoEKn%XUWnnm&;
zX#PENtOw<xacH_1$BAK|%$LxUN}>KKs26PF!S%cv%X*n}J)6gY#Il|1Jk8|1gswty
zgX?>`+9?%WpVhfDc24SF{4+0Dje!Pv$Ffl~UXKfT?6>fVh3s!Vs{zkAuOZeiP;xqr
za$cVUp3fCoc$s>miSmGo`h?r-xZc(#CeV}b+cEy82j@pjTaEw4^+l_QTPj{}z}AR9
z9OuG0-Qb{<CO2V6ly(yHNZ28z12>R>j(Ve~vRzz$^_au`Tyh=|WAo4cuaNjgf&5<R
z<~zqY4#N09a($LP_kl4ziR*X5xt;v{wZlDOCzQcc=X;`mm1_NGbvZ92)Ds28{YFZq
z)HN>dub=<?o#veT!!&~&zHl6g`{b4WL+U4S-8JxbP&WtOXZ^(!T>p%ke&j0W6JwQU
z-ofuyCgeQu-UX&+c7DkDs~k?Kf^)PLt9bqS)tj`Xep=*Lkj`<t^vBQ*-2ax#18c$j
zly!-`j~M4GcMeZ}$8~J6&X{t)#|mBE??BSyRO-z`25&oapWWeRJ}apo4zHNw&-u~A
z+%U$!zo=e7y(aDpR~FoRa+LifEVF=OT{)#t7aSDpBPciWATV&l{KmzUn+-nx!#V%E
zVZ_^L>a~rvvRAV|xNDBjCDv0=Zj&6-VZOtTs^5&+PP@7-HKg9z^Yno=uUk-mMhEJt
zLrby)sek|IeKCGgUf8ix#d+XM;|)Gwd@HY%nfKv%`jc03g9*&wtxgMbd0if}N;@l@
z#|z%6-EJ%8O*jvS>=!ei_ER|Dj^AgZxXnNFhT?pU^1`J2cbxw{-S@y8u16o;R_7M&
zi#Q*nEXXzXga54DYk9OD<znZ!TTyJ+{CT|txjwvUdCz;4vpk;-<(wB6>&7UT&l&H_
z{1dV6lv0e}m665sH!$xdwDo{VY|ns|RUG*|;yyT~@>~68lp`L$!TCU;&NL|XzVecJ
z6T<mT99NC6j)VWH?5{m<8rK8F`gcmp$IF+nKl|up>eF8LPP}rR`2)f^*&MI$`!}TB
z>REhr37?B)F4@lA*Ld%x-}A>FwEO5b{pMfeoyUK3KWNJ?_mkL9EGxkFY_`cOpYxN#
zxpE{6N|USJ_uBT?-&t0H^WrT^j?8Ai7-?^uU`!sc?An0$>Ee(~f1!<OUMcgBjNVPF
zOM7a>4e4Zr%!~S^H62_&56|1+^?05R*x>W}$^3r3d*|j+PuAi_Vo<C@rmVq(JwW07
z3{dNnLp82LRb&|-V%+o_4jkjxUjZ*AoKGz;y<8o3T2aOg{A9iLsq~Y71dev2-TJ|a
zaN0SZn@c;AH0uQ86mC~#-15cg&26rOeXc*{6a8J`JYAcA_S-&qK4$C>n}6nM?-~Y1
z)6c#2RH@B%TA|)Fc)hdUBaB<c)w#jzxt@2W+vXxt%o9`;zAPF^J9trH;aC7NO`{_y
z)UO234uEGwKl#esNm1bG$+4Sg7f&NV<NJ$w|B6$weXO-eJBLf04-o4}DNb=?BR{Xx
zyOeRq*^2}888@7RgU5LF;)QhvMttsHS?OHw6ZeTLidm2pe3Vn3PrEAar&sV;MYi)x
zCWzBM%WqtQK2wyMtbW3E+K*xTo#{XPu2(;e>o*O2H{7fW3Uy3DP8V^VrUy5~QJz@`
z7ZmI2{A-@Qx6X;lv?K6(b?Coa#156yzOt+Y{q^2Vq~*A%*`fx=huK8yv-GP>`c;3&
zan0?m%+nI;rBW`h=(iT+Z{D(gv@fkL4#{OciE!Q-$Hm_CjnqFa@9Hk%^;lkp`9H>;
z&VQvou?k3jKzlFl?^E_K+GYg5Lpe~<{VB(}jmGLR^Un~j_M^VCIs7D_@yNj6pJs5}
z3g-~<djllzsV^+rl>KBLO0Nm;o#_uSjfC-mP+yoovtBU&uC;gSYU+c7x?8C~EOQQ=
z;y!JwmWm4IyY%gHIumi6vY%;j8uMlPU9nwD`_q5X+(GmQ2CUOLK)XNiUAG0aM?$@6
zklT5g2PT}a1A04-`oMTW*>H|N*TaPKgh34ph=Kk*U<M54Mh`Ij#o#qu-}{pX6~F4|
zS^DeAijoBSt-|?tpjZz@If8|pZ2rkNqZ`2AGwh}v66&W@KVO!g<a*oQ-E%$pdEwkb
zkZDK!{fWhEo=~5hNo<+P-(Tom*o5!H<AoT13H5D39+yeK?@t`_uXV`94$-v#&lC>~
zXcwu@=$HK2M_#&p!(+<FCmv`FeoofWW;=h`Z~Tyc-?y53EE%tS*Yz)8-1c2HXeRx(
z?}i<>(~tN*yX-Uj_h0LYmG!)oWr6BxY@hPjbJZE&{N%x1;BOwF&2_V;Iy<;tsJ*v&
z2=~vS*MhkprWy@D*A=VowPk*>!PNW_T*u=y0QZ?R#D%zzP0SNf33aeR;aqX9>%pOd
zJyUgNA`B?jxm1~Ss$<Fg=z(<}I&xnbw+%AC-C0%Af%&YiZ)}U0-|9X+WGdGSWjX`A
zm~YID4a^(%IivW*JYBy>7SFj4N}T^v1#@Ez7;@|VTjpbj8ecok>k8+$lEXGE9`e`c
zf?(*mzasF<Az$Wg2kidwllz){PiUob|B|A^=;O?%_2vKv#rZy!a9)DVf8AgCXP=?{
zZ;Pw#|9Y?fru%ktUDUMZG)LwubD59(6aTf}vb|}a{J-*e+e|t*b{yNeQ+z)6$JJ_J
zzAu{n@OI&O?zh*|Z+?LJ-8EStz~-NQmo=mJP38LOpSlD3&JSC1f6t$Nnt%Gu=p#H7
zu<eMdlbLVauKgJc=ItAgdN`SR<-&Ok?60MUKe@ler11JvzQ1K+z+B!(IJcGWRk?1b
z;`TuH+rXHP3(x#bas77yC#3oLt<%17-`SsiBvws3+A=@C_ub6_>{o6R=RUUX*U}#`
zkGm^(IJ15FYc{g~#XK}sn})83xL>eEzEvsrH}Y5w>K~>7&_Cuf1LMj+^AA_{G*&Wi
zu&{qgL(U7FD=N05o;%HiYVi1zrUR+p4mquvLjADc=1y(S`-pXM{^g(M^8gR(4edMY
zsRxAfN5C~K<Or^Oa?*l+&k7!p1B&Z8%B6>nInjSvTCMkLjz@95>0kNFi$4Typ}zf-
zpDNa){a5~~Shq~MBCKBu?b=G$Q(4Sw{Il*X))iE4>N~-Jd7yv%@+~e^CNK`)a>dH7
z3HcFk{P)kAGb0$MZJw3#n0lDg>WpJHbk&<n|1a<L;9iUmSe}yhW7Xy+SLr7%WWpCX
zM{@HQ^_y^RBbdVjqrs_-To>?jlY1PS!t09bb4sy3k&<Nz*&gG0;3f64)1~3GL*r^U
zZb~~n`eCRE^Gip2oc+dia5h&h{%l*dg7IJ0?#>RJrx<%|{$b9yjAy|;5bn4${l00j
z)-hZk&j}cvtmN~J9~(q_yjrU~k8$Icy|pjVZtcr<jpBUOg^ZV9=}#9M*qRD??dLw;
zqMiLy&!g(Q(`T7)P~FsZJ@*yptJgIe3)XRVZq5A-!g<Nme+{1;;J%o))6S0Jew>a7
z)VS}U>zoQLeoxGMQkgaSd6fHVdrvqwiTh?OPufLupN4g6n}*yk@@Jn`|2-d)x!>l`
z{w7-%Sfrl3wLgseF2p>#f9WCj6~^PZPvg(NCRxM_BksQy*E3X_9pip6um8`!gSeCV
z8Qj;xV>GFc(t1B1#5|Eq9y|*UU$|u!_tl8?g;gwnMZGxgNku82XHs#!B<iCamx%|d
z7pF%Y>dAc|GrDY%(hkh<TE3tA7{t6gRnC#`V|#&9KP`AkeK`5-$6p-h!a1uTUel6!
zA;Nj9;II!bO5h)<GA4~&Nc|FL(C+#N>h*g+UvpoPupnUb&ps>n{Ex$^Pu!M7>%yN>
zIUc%~L_6b<yly`8aqPzJuT8x+sOp_d%xkf^en0dy^;6N50OpzW&(W&E`~2DOX0<mv
ziS5;=UTp`quNfQ}wtJWGD)ZQGVtqPQ>u-jx)Ke|IJ}sr)Y!d1*o9$G$xt0a{S=;o<
zI_8y>?dl&wxfjk013$cNe3E`4)7&`jStb+xuYB5f-C~YsmQCZl+2!ApcXFQs)4Zq`
zc-$%VolsvMJlHI+jSxRq)-O?R8NcrZ<CnQ939lLNjQL{Of%D6M_93K<812XL8J`t*
zmvSF7J=KfjTdY^46zh&Dg>!8|;anq|fBZ2`6Yt4O{^sRJJ;w2KO={|M-YTHir(g5~
zh4bvdpbbs!IKL3|Wx-O$u|er4d=8M!N9s`zBT9^?-u1oxqbuK2^-9r(@uFh<_p9_9
zy%z_ark~@%fdsl)fBeEY%;|&PLhfJqQzz(8e!Fm<I>_`7&cpoi-^Dt?O0n*qvh&mO
z`E2L*E7SJy^W2upJn)uvxBaHS)by%VOX`otS{KJtZwluxg0&7Cw`2ZTwI+^VU{96W
ztJ-d*zxO9D6zf|n%3@1TGoMwg=cN$q<0{^@?;XkY6&?q{^*(X`vVv(kTrYX76O+cg
z)Q24%o^t*0p85PDuAf}#pK@a^<Fpv>1I%CKF&&&YJsz2Mfa`L9@^K2Ln&mNnbZ@&e
zK3vZf_o*qw{bq{%0Y(?Nt|XjO0gC(R6^r-ZugUpTrsFZsb?)^S<-9M=1J`|W&T1-{
zPc!-MzAv0dov`n?4&zNkZ|!-#kyS(dI4_#uIAbsTEJgIu(jSaNZLKDl^ZMdGQHAIS
z%HRG@J;1z`a}}}X&`0t)gOkVb_Y+@#?8fzcao>e}l-t4Yh+E~E?YHVPA0y%HygkgX
z7VC`41F6t#{;B8nC(oM4iNQ|FZHAw|!u4+JStA?}hsrH{cK9=IqnF+FXxL-9$&-tV
z@V;_Hoq^1Y=`gq85bxXi)tLHRj~CZ-<V_MwE;9e15gcabxzu@6WB_|7=P^voClTjM
z<y9Y>O-FnttAK;+#JXy0c%p*6OgJYE6yt8$`J#Q}pf6-+Yq`CFT*^+d5H)zh<@0&S
zkL=iVpUz)df3C7_itNZl`);Gjwu}4<{$}3Q=12LtUAA-4AF|_{W-VID>s7|*vU6R=
z`JUl@jV3*@V?8%d$McD-(>CYA#(}KU_I}uJ_$#tv>kxHI)?d4`U|Lt!U30r9gWZxL
z>g>rpcb&d%f|*xdog3^x;rwmTfEz#A9+l@X$m^ZgUdDVAF%M1N@KnIcDr`5N_Xrx!
zK4Q)9iSys`#@6FsFrT8a-OFI+xr^gX&TZ|?b749j^VP*VQ8JdZZ3J=~nJM3&=TL*f
zxpClX9;6G3b!21<xM2&-x;8EidQukkeTg6Jk4)UhE0dgyh~xXSj1Vc>TUlQwe1c*<
zZkf4VSy#j>GBLkW*8R;&8QV#eXPL3_ubu2yF;7CqV>J<%%jm}IklcVwHosT^d6l&v
zzDMuGUv&%Hmfbv$cuCfV1=2yIx;BRq|I1olObB2<3+Ix6wU~ec>N7!(brPFD-U<CD
ztNG!B^Eh(uhHo>-V0qmwBn>vn1rC1R;d*OcUvFizM8uae10FC2ww_$G>I2?)*}d<O
zds)Yq8P|XFJ*q0svc0<;cYHzl>gqgd%{B7S`)EtDvM#GkIB$xqtoJN~mbCmy%1T@F
zx=b5tO;*;Yk{Rd54Q2ls`*|+ra~kW#pJY1==MeFJ8(OCNu)Rj7Pl6tmHFY;{g>fxw
zVja*K_Dd%EU9xJ6+&*($=-lwQIn~DAyJGpo_we7nf8{R<Z_WCWn{p!1j^5>=VN*M@
z?qp>ijQ8g?%2y*;kMe26xsxQ%FCwqyUTd$VrBhW)t7?UomX-nj!@p~-uOxr3&EMC>
zf7)6)S~dB5rAqvlo~yIO!OPpzS>h=EMmsqy9QgeoU#%+sxps0`u>XJerQpghXjKt^
zRWl(eG&nLjGCq#q68`Y7|NYwsb%KK8GjIuhM(2n+v+3O>3p@Wg80MdYV*GfHz3zW}
zS2r#&HZ)m$M4dku%!rMQ`}6P2zy6&O8<_FW@A2<{f5rcJpg&FUuitA2C*fAw4JsS<
z-@c+Nv9-4}|My>3x##F0b+q&J(zF%++P0gX5&may>n(G`ui}$ZB8+TfLz5zd1LKVB
z15;9CjZCfn^)dd>!PV8--An3huW9S(>BYaAwC!eL-pA6^yiYeXE6W~cz5AG%nVFiH
z{_`FF&(%TV=<OtvID2c_#)hUOg|_Wx>g(%U`5|{tXEz5tfMZf<Xk2<^a75c~CjWfh
zR^sUDQ2EV}&~SVNf9+vn+NW1<b2BTm-lkSoz0A%3T*}T%6B-i}nUEYG84?)N&CK_&
z>nNS^-Z6nGktwMmxJVpd_urpV>S^!bsWJ8a_uu|6J-}agijNByZxtGtobun@$?SjU
zPV55*cQ41b-Flf>So!)^ibl2n938rmaS5p@f8-@SI^};5u}V?;FA`Qg&ObCZAth5B
z#(zf4@Bg@)uK4j99EY}^&h~$P9xQWpmDsvD{COHrZ*P_RpC8=32iw{G`DA!#JS8LZ
zKL>46e0q;RV@l8@qs0;XKd6JM$zgvqNl0KyV2`jQeEB~wnjGdI93PV!8}}cr@IO6;
zc3^lC{-5{P;r;*q??0MC=YOLq{{5!aVnWkGWB%xpKbo>eaC}^HN?_cdKCKxT4p9jY
zObPw-fyj{1I7oTs|IpLb!UBU+;*<WH&aRdc8J-lG{2!m!Ns12)`ENd5FCjiPBq`KC
zAwDuLCD}hADe6B|(Vr)-=@ywB5ttqr9r))yo~g+xk-_3m4F<)eh8npBMu!@CCj~~v
zM1=Bo!j-f|C0zB0S}vX%qSRV<a+Bl#qZQG0mpV(l|BC_nbG6Vva|Y&|{QKX%TAG+a
zGsHw@7C8L>>(%(J8h`AiIMDdJ>J|ULivRyr{Qq$k|6demP5M#)A)2BKrNhtuHy)F2
z#XnxszYl_c2JGKM?7t|<|AUUvf3Zn_-b;tp<G<JMHUH(FRw{BT9R6PKKkxG&-_x%U
xjX{;s|7wf>S<mvXwf<8b{I9C<YX9Zch1dF@yYqjrgOyG7e*uvH#&>ey0001<>&XBB

literal 0
HcmV?d00001


From 1762b6d3c162fe3e62cbf295ee92a928e84fcdd0 Mon Sep 17 00:00:00 2001
From: Jed Lichtenstein <jed@Jeds-MacBook-Pro.local>
Date: Mon, 13 Nov 2023 16:13:03 -0700
Subject: [PATCH 2/2] part 2

---
 CopyOf02_spatial_analysis_jed.Rmd | 386 ++++++++++++++++++++++++++++++
 1 file changed, 386 insertions(+)
 create mode 100644 CopyOf02_spatial_analysis_jed.Rmd

diff --git a/CopyOf02_spatial_analysis_jed.Rmd b/CopyOf02_spatial_analysis_jed.Rmd
new file mode 100644
index 0000000..c5e6acb
--- /dev/null
+++ b/CopyOf02_spatial_analysis_jed.Rmd
@@ -0,0 +1,386 @@
+---
+title: "Spatial Data Analysis"
+author: "Caitlin Mothes"
+date: "`r Sys.Date()`"
+output: github_document
+---
+
+```{r setup, include=FALSE}
+knitr::opts_chunk$set(echo = TRUE, eval=TRUE)
+```
+
+In the first lesson this week you were introduced to different spatial data types, various databases you can pull spatial data from and worked through importing, wrangling, and saving those spatial data types. Today we are going to dive deeper in spatial analyses in R.
+
+You have briefly used the `sf` and `terra` packages so far, but today we will be exploring them much more in depth using the wide range of spatial analysis operations they provide.
+
+You shouldn't need to install any new packages for today, but need to load in all the necessary libraries:
+
+```{r}
+source("setup.R")
+
+library(units)
+```
+
+## Load in spatial data
+
+We will be working with some new datasets today that are already included in the 'data/' folder. These include:
+
+-   "spatDat.RData" : an .RData file that loads in the four objects:
+
+    -   `counties` : a multipolygon layer of Colorado counties (which we used in 01_spatial_intro.Rmd)
+
+    -   `rivers` : a polyline layer of all major rivers in Colorado
+
+    -   `occ` : a list of three dataframes that includes species occurrence data (i.e., point locations) for Elk, Yellow-bellied Marmot, and Western Tiger Salamander in Colorado retrieved from the [GBIF](https://www.gbif.org/) database.
+
+    -   `snotel_data` : spatial point dataframe (i.e., `sf` object) of daily snow depth for 8 SNOTEL sites in Colorado
+
+```{r key1}
+#load in all your vector data
+load("data/spatDat.RData")
+
+#read in the elevation and landcover rasters
+landcover <- terra::rast("data/NLCD_CO.tif")
+
+elevation <- terra::rast("data/elevation.tif")
+```
+
+### Bonus Lesson
+
+All the above objects were retrieved and cleaned in R. The lesson plan in the 'bonus/' folder titled **'get_spatial_challenge.Rmd'** is an assignment that tasks you with importing and cleaning the data that was saved in 'spatDat.RData'. If you complete this challenge assignment fully you will get *up to 3 extra credit points*. Even if you don't want to complete this challenge, it is worth your while to read and work through it!
+
+## Distance Calculations
+
+We're going to start off today with some distance calculations. Using our species occurrence data, say we want to know on average how far away is each species found from a major river, and compare that among species.
+
+Throughout today we are going to be mapping our spatial data to quickly inspect it and get a visual of the data's extent and characteristics, so lets set our `tmap` mode to interactive.
+
+```{r}
+tmap_mode("view")
+```
+
+First, our `occ` object is not in a spatial format. We first need to bind our dataframes into a single one, and convert it to an `sf` object using `st_as_sf()` :
+
+```{r}
+occ_sp <- bind_rows(occ) %>% 
+  st_as_sf(coords = c("decimalLongitude", "decimalLatitude"), crs = 4236)
+```
+
+We set the CRS to `4236`, which is the EPSG code for WGS84, the most commonly used CRS for GPS coordinates (But I also checked the GBIF metadata to make sure it was in fact WGS84).
+
+Quick view of all our points, colored by species:
+
+```{r}
+qtm(occ_sp, symbols.col = "Species")
+```
+
+Now, calculating the distance to the nearest river involves point to line distance calculations, which we can perform with the `sf` package.
+
+Before performing any spatial operations, remember all of our spatial objects must be in the same CRS.
+
+### Exercise #1
+
+```{r}
+st_crs(rivers) == st_crs(occ_sp)
+```
+
+The CRS of our objects does not match. Using what you learned in week one, conduct a spatial transformation to our `occ_sp` object to coerce it to the same CRS of our `rivers` object. Call the new object `occ_prj` and double check that `rivers` and our new occurrences object are in the same CRS after transforming
+
+```{r}
+class(occ_sp)
+class(rivers)
+
+st_crs(occ_sp)
+st_crs(rivers)
+
+st_crs(occ_sp) == st_crs(rivers)
+
+occ_prj <- st_transform(occ_sp, st_crs(rivers))
+
+
+st_crs(occ_prj) == st_crs(rivers)
+```
+
+Now lets visualize our rivers and occurrence data:
+
+```{r}
+qtm(rivers) +
+  qtm(occ_prj, symbols.col = "Species")
+```
+
+Our occurrence data set covers all of Colorado, but rivers are only for Larimer County. So, we have to first filter our points to Larimer County.
+
+Similar to `filter()` from the {tidyverse}, we can use `st_filter()` to perform a *spatial* filtering (i.e., we want to filer just the points that occur in Larimer County).
+
+### Exercise #2
+
+Use `?st_filter` to explore the use of the function, and then use it to filter our `occ_prj` points to Larimer county and call the new object `occ_larimer`.
+
+*Note:* You will first need to create a spatial object of just Larimer county to use as a filter.
+
+```{r}
+
+larimer<- filter(counties, NAMELSAD=="Larimer County")
+st_crs(counties)
+occ_larimer <- st_filter(occ_prj,larimer)
+qtm(occ_larimer)
+```
+
+```{r}
+qtm(occ_larimer)
+```
+
+Great, now we just have species occurrences within Larimer County.
+
+Now for each point we want to calculate its distance to the nearest river. The most efficient way is to first find the nearest line feature for each point. We can do this with the `st_nearest_feature()` function.
+
+This function returns the index values (row number) of the river feature in the `rivers` spatial data frame that is closest in distance to each point. Here we are assigning these index values to a new column of our Larimer occurrences called 'nearest_river' that we will use later to calculate distances:
+
+```{r}
+occ_larimer$nearest_river <- st_nearest_feature(occ_larimer, rivers)
+```
+
+Now, for each point we can use the `st_distance()` function to calculate the distance to the nearest river feature, using the index value in our new "nearest_river" column. Adding `by_element = TRUE` is necessary to tell the function to perform the distance calculations by element (row), which we will fill into a new column "river_dist_m".
+
+```{r}
+occ_larimer$river_dist_m <-
+  st_distance(occ_larimer, rivers[occ_larimer$nearest_river, ], by_element = TRUE)
+```
+
+Notice that the new column "river_dist_m" is more than just a numeric class, but a "units" class, specifying that the values are in meters.
+
+```{r}
+str(occ_larimer)
+```
+
+### Exercise #3
+
+Cool, now you have the distance to the nearest river (in meters) for each individual species occurrence, but you want the average distance for each species. Using what you know of the `dplyr` functions, calculate the species average distance, then make a bar plot to compare the averages among species:
+
+*Hint*: remember that the new distance column is a 'units' data type will throw an error when you try to plot those values. You will need to make use of `mutate()` and `as.numeric` within your string of operations in order to complete task.
+
+```{r}
+
+avg_river_dist <- occ_larimer %>%
+group_by(Species) %>%
+  summarise(avg = mean(river_dist_m))
+  #mutate(avg_dist_species= avg_river_dist, as.numeric=TRUE)
+
+
+
+ggplot(avg_river_dist, aes(x = Species, y = avg)) +
+  geom_bar(stat = "identity", fill = "blue") +
+  xlab("Species") +
+  ylab("Average River Distance (m)") +
+  ggtitle("Average River Distance by Species")
+
+```
+
+Which species is, on average, found closest to a river?
+
+Elk
+
+## Buffers
+
+Alternatively, say you want to know what percentage of species' occurrences (points) were found within a specified distance of a river (calculated buffer). Here lets investigate how often each species is found within 100m of a river.
+
+To do this we can add a buffer around our line features and filter the points that fall within that buffer zone. We can use `st_buffer()` with a specified distance (default is meters since our `rivers` object uses 'meters' as its length unit, we can tell by checking the CRS with `st_crs()`)
+
+```{r}
+river_buffer <- st_buffer(rivers, dist = 100)
+
+qtm(river_buffer)
+```
+
+If you zoom in on the map you can now see a buffer around the rivers, and this new object is actually a polygon geometry type now instead of a line.
+
+```{r}
+river_buffer
+```
+
+## Spatial Intersect
+
+We can conduct spatial intersect operations using the function `st_intersects()`. This function checks if each occurence intersects with the river buffer, and if so it returns an index value (row number) for the river feature it intersects. This function returns a list object for each occurrence, that will be empty if there are no intersections. We will add this as a column to our occurrence data set, and then create a binary yes/no river intersection column based on those results (is the list empty or not?).
+
+First look at what `st_intersects()` returns:
+
+```{r}
+st_intersects(occ_larimer, river_buffer)
+```
+
+We see it is a list of the same length as our `occ_larimer` object, where each list element is either empty (no intersections) or the index number for the river buffer feature it intersects with. To add this as a new column in our `occ_larimer` data we run this:
+
+```{r}
+occ_larimer$river_intersections <- st_intersects(occ_larimer, river_buffer) 
+```
+
+Now we can create a new column in `occ_larimer` called 'river_100m' that returns TRUE/FALSE if the buffer intersects with a river. We make use of `if_else()` and the `lengths()` function to check the length of each list element in each row, as the empty ones will return a length of 0. If the length is zero/empty, then we return FALSE meaning that occurrence was not found within 100m of a river.
+
+```{r}
+occ_rivers <- occ_larimer %>% 
+  mutate(river_100m = if_else(lengths(river_intersections) == 0, FALSE, TRUE))
+```
+
+Now we can calculate what percentage of occurrences are within 100 m of a river for each species using `dplyr` operations. Which species is most often found within 100m of a river?
+
+```{r}
+occ_rivers %>% 
+  group_by(Species) %>% 
+  summarise(total_occ = n(), 
+            total_rvier = sum(river_100m == TRUE),
+            percent_river = (sum(river_100m == TRUE)/total_occ)*100) 
+```
+
+<hr>
+
+#### Reflection
+
+This analysis is just for teaching purposes, why would you be cautious about these results for answering real research questions? Think about how we filtered everything to a political boundary, what's wrong with this method?
+
+## Raster Reclassification
+
+So far we've dealt with a bunch of vector data and associated analyses with the `sf` package. Now lets work through some raster data analysis using the `terra` package.
+
+First, lets explore the landcover raster by making a quick plot.
+
+```{r}
+qtm(landcover)
+```
+
+This land cover data set includes attributes (land cover classes) associated with raster values. The is because of the .aux auxiliary file paired with the .tif. in the 'data/' folder. Similar to shapefiles, this file provides metadata (in this case land cover class names) to the raster file.
+
+We can quickly view the frequency of each land cover type with the `freq()` function, where 'count' is the number of pixels in the raster of that landcover type.
+
+```{r}
+landcover1<-freq(landcover)
+```
+
+### Exercise 4
+
+Create a bar chart of landcover frequency, and order the bars highest to lowest (see [this resource](https://sebastiansauer.github.io/ordering-bars/) to guide you on sorting bars by a numeric variable/column). Also investigate the use of `coor_flip()` and how it might make your plot look better...
+
+```{r}
+
+ggplot(landcover1, aes(x = value, y = count)) +
+  geom_bar(stat = "identity", fill = "red") +
+  xlab("Land type") +
+  ylab("Count") +
+  ggtitle("Land Cover Type")+
+ coord_flip()
+
+```
+
+Say we want to explore some habitat characteristics of our species of interest, and we are specifically interested in forest cover. We can use raster reclassification to create a new layer of just forest types in Colorado.
+
+Since rasters are technically matrices, we can using **indexing** and change values quickly using matrix operations. Given this particular raster uses character names associated with values (thanks to the .aux file!), we can index by those names.
+
+```{r}
+#first assign landcover to a new object name so we can manipulate it while keeping the original
+forest <- landcover
+
+#where the raster equals any of the forest categories, set that value to 1
+forest[forest %in% c("Deciduous Forest", "Evergreen Forest", "Mixed Forest")] <- 1
+
+#SPELLING IS IMPORTANT
+
+#now set all non forest pixels to NA
+forest[forest != 1] <- NA
+```
+
+Now plot the new forest layer to get a quick sense if it looks accurate or not.
+
+```{r}
+plot(forest)
+```
+
+## Extraction Statistics
+
+When we want to summarize raster values for certain shapes (points, polygons, etc), the `extract()` function from the `terra` package helps us do that.
+
+Say we want to find out the most common land cover type each of our species is found in. We can use `extract()` to get the landcover value from the raster at each of our occurrence points, and then do some summary statistics.
+
+Within this function, the first element is the raster you want to get values from, and the second element is the spatial layer you want to extract values at. Here we will use our `landcover` raster layer and the `occ_prj` object to extract values for occurrences across Colorado.
+
+First, we need to project our landcover raster to the CRS of our occurrences, otherwise the operation will only return NAs.
+
+```{r}
+# project the landcover layer
+landcover_prj <- project(landcover, crs(occ_prj))
+
+extract(landcover_prj, occ_prj)
+```
+
+Notice that this returns a 2 column data frame, with an ID for each feature (occurrence) and the extracted raster value in the second column. We can actually use `extract()` within `mutate()` to add the values as a new column to our occurrences data frame so we can do further summary statistics.
+
+However, since `extract()` returns a 2 column data frame, it will nest this into a single column in the `occ_prj` data frame. To separate this into two separate columns we can use `unnest()` :
+
+```{r}
+occ_landcover <- occ_prj %>%
+  mutate(common_landcover = extract(landcover_prj, occ_prj)) %>%
+  unnest(common_landcover) %>% 
+  #lets rename the land cover column which is now called "NLCD Land Cover Class"
+  rename(common_landcover = "NLCD Land Cover Class")
+```
+
+Now, we can find the most common land cover type for each species, using some tidyverse wrangling. Note the use of `st_drop_geometry()`, this reverts the sf object back to an original data frame, which is required for some tidyverse operations.
+
+```{r}
+occ_landcover %>% 
+  st_drop_geometry() %>% # this converts the data back to a dataframe, required for some tidyverse operations
+  group_by(Species) %>% 
+  count(common_landcover) %>% 
+  slice(which.max(n)) #returns the row with the highest count "n"
+```
+
+We can also use `extract()` to extract raster values within polygons, but here must supply some function of how to summarize all the values within each polygon. For this example, lets fine the most common landcover type in each Colorado county.
+
+```{r}
+county_landcover <- 
+  counties %>%
+  mutate(landcover = extract(landcover_prj, counties, fun = "modal")) %>%
+  unnest(landcover) %>%
+  rename(value = "NLCD Land Cover Class") #renaming this helps us perform a join later on...
+```
+
+Uh oh, this gives us the raw pixel values instead of the land cover classes. We can get a table of value - class pairs by using the `cats()` function:
+
+```{r}
+classes <- as.data.frame(cats(landcover)) #coerce to a data frame because cats() actually returns it as a list
+```
+
+Value and NLCD.Land.Cover.Class are our cell value - class pairs. Now we want to join this to our `county_landcover` object to get the actual land cover name.
+
+### Exercise 5
+
+Perform the appropriate `*_join` operation to tie our `county_landcover` and `classes` data frames together. Then make a map of the counties each colored/filled by the most common NLCD land cover class.
+
+```{r}
+joined_data <- inner_join(county_landcover, classes)
+qtm(joined_data,fill="NLCD.Land.Cover.Class")
+```
+
+### Exercise 6
+
+Find the average elevation each species occurs at (for all Colorado occurrences). Which species is, on average, found at the highest elevations?
+
+*Hints*: Use the `elevation` and `occ_prj` objects we have created or read in above. Remember to check the CRS and perform a spatial transformation if necessary! All parts needed to answer this question have been introduced in this lesson plan.
+
+```{r}
+ ellop<- project(elevation, crs(occ_prj))
+
+species_el<- 
+  occ_prj %>%
+  mutate(species_ela = extract(ellop, occ_prj)) %>%
+  unnest(species_ela)
+
+species_ell<- group_by(species_el, Species)%>%
+  summarise(avg= mean(Elevation,na.rm=TRUE))
+
+
+
+
+
+
+```
+
+Yellow-bellied Marmot found at the highest elevations