From c53fac57bf300b39f773612be32bc338fafa265a Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Thu, 9 Jan 2025 09:53:07 -0600 Subject: [PATCH 01/15] initiate notebook for looking at tumor cell states --- .../06-tumor-cell-state-assignment.Rmd | 273 ++++++++++++++++++ .../scripts/utils/tumor-validation-helpers.R | 5 +- 2 files changed, 276 insertions(+), 2 deletions(-) create mode 100644 analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd new file mode 100644 index 000000000..9acf0c2c3 --- /dev/null +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd @@ -0,0 +1,273 @@ +--- +title: "Tumor cell state annotation: `SCPCL000822` and `SCPCL000824`" +author: Ally Hawkins +date: "`r Sys.Date()`" +output: + html_document: + toc: true + toc_depth: 3 + code_folding: "hide" +--- + +## Setup + +```{r packages} +suppressPackageStartupMessages({ + # load required packages + library(SingleCellExperiment) + library(ggplot2) +}) + +# Set default ggplot theme +theme_set( + theme_bw() +) + +# set seed +set.seed(2024) +``` + + +```{r base paths} +# The base path for the OpenScPCA repository, found by its (hidden) .git directory +repository_base <- rprojroot::find_root(rprojroot::is_git_root) + +# The current data directory, found within the repository base directory +data_dir <- file.path(repository_base, "data", "current", "SCPCP000015") + +# The path to this module +module_base <- file.path(repository_base, "analyses", "cell-type-ewings") + +# path to marker genes file +marker_genes_file <- file.path(module_base, "references", "tumor-cell-state-markers.tsv") +``` + +```{r} +# source in helper functions for make_jaccard_matrix() and jaccard() +jaccard_functions <- file.path(module_base, "scripts", "utils", "jaccard-functions.R") +source(jaccard_functions) + +# source in helper functions: plot_density() and calculate_sum_markers() +validation_functions <- file.path(module_base, "scripts", "utils", "tumor-validation-helpers.R") +source(validation_functions) +``` + +## Prepare data + +```{r} +# sample and library ids +sample_ids <- c("SCPCS000490", "SCPCS000492") +library_ids <- c("SCPCL000822", "SCPCL000824") + +# define input sce files +sce_file_names <- glue::glue("{library_ids}_processed.rds") +sce_files <- file.path(data_dir, sample_ids, sce_file_names) |> + purrr::set_names(library_ids) + +# path to cell type classification files +singler_results_dir <- file.path(module_base, "results", "aucell_singler_annotation") +classification_file_names <- glue::glue("{library_ids}_singler-classifications.tsv") +classification_files <- file.path(singler_results_dir, sample_ids, classification_file_names) |> + purrr::set_names(library_ids) + +# path to clustering results files +cluster_results_dir <- file.path(module_base, "results", "clustering", sample_ids) +cluster_file_names <- glue::glue("{library_ids}_cluster-results.tsv") +cluster_files <- file.path(cluster_results_dir, cluster_file_names) |> + purrr::set_names(library_ids) +``` + +```{r} +# read in both SCEs +sce_list <- sce_files |> + purrr::map(readr::read_rds) + +# read in classification data frame with SingleR results and combine into one +classification_df <- classification_files |> + purrr::map(readr::read_tsv) |> + dplyr::bind_rows(.id = "library_id") |> + dplyr::mutate( + # first grab anything that is tumor and label it tumor + # NA should be unknown + singler_annotation = dplyr::case_when( + stringr::str_detect(singler_annotation, "tumor") ~ "tumor", + is.na(singler_annotation) ~ "unknown", # make sure to separate out unknown labels + .default = singler_annotation + ) |> + forcats::fct_relevel("tumor", after = 0), + # get the top cell types for plotting later + singler_lumped = singler_annotation |> + forcats::fct_lump_n(7, other_level = "All remaining cell types", ties.method = "first") |> + forcats::fct_infreq() |> + forcats::fct_relevel("All remaining cell types", after = Inf) + ) + +# read in clustering results and select cluster assignments of interest +# here we keep leiden-mod, 0.5 res, 20 nn for both libraries +cluster_df <- cluster_files |> + purrr::map(readr::read_tsv) |> + dplyr::bind_rows(.id = "library_id") |> + dplyr::filter( + cluster_method == "leiden_mod", + nn == 20, + resolution == 0.5 + ) |> + dplyr::select( + barcodes = cell_id, + library_id, + cluster + ) +``` + +```{r} +# read in marker genes table +marker_genes_df <- readr::read_tsv(marker_genes_file, show_col_types = FALSE) |> + dplyr::select(cell_state, ensembl_gene_id, gene_symbol) + +# get list of all cell types found +cell_states <- unique(marker_genes_df$cell_state) + +# get the sum of expression of all genes for each cell type +gene_exp_df <- sce_list |> + purrr::map(\(sce) { + cell_states |> + purrr::map(\(state){ + calculate_sum_markers(marker_genes_df, sce, state, cell_state) + }) |> + purrr::reduce(dplyr::inner_join, by = "barcodes") + }) |> + dplyr::bind_rows(.id = "library_id") + +# get umap embeddings and combine into a data frame with gene exp, cluster, and cell type assignments +umap_df <- sce_list |> + purrr::map(\(sce){ + df <- sce |> + scuttle::makePerCellDF(use.dimred = "UMAP") |> + # replace UMAP.1 with UMAP1 and get rid of excess columns + dplyr::select(barcodes, UMAP1 = UMAP.1, UMAP2 = UMAP.2) + }) |> + dplyr::bind_rows(.id = "library_id") |> + # add in classifications + dplyr::left_join(classification_df, by = c("library_id", "barcodes")) |> + dplyr::left_join(gene_exp_df, by = c("barcodes", "library_id")) |> + # add in cluster assignments + dplyr::left_join(cluster_df, by = c("barcodes", "library_id")) +``` + + +assign cells as tumor cells if they belong to a cluster with high tumor marker gene expression + +![SCPCL000822](../plots/SCPCL000822_cluster-marker-gene-exp.png) +![SCPCL000824](../plots/SCPCL000824_cluster-marker-gene-exp.png) +```{r, fig.height=10} +library_ids |> + purrr::map(\(id){ + + + p1 <- cluster_classification_df |> + dplyr::filter(library_id == id) |> + ggplot(aes(x = UMAP1, y = UMAP2, color = singler_lumped)) + + geom_point(alpha = 0.5, size = 0.1) + + theme( + aspect.ratio = 1 + ) + + scale_color_brewer(palette = "Dark2") + + labs(title = id) + + guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5))) + + p2 <- cluster_classification_df |> + dplyr::filter(library_id == id) |> + ggplot(aes(x = UMAP1, y = UMAP2, color = as.factor(cluster))) + + geom_point(alpha = 0.5, size = 0.1) + + theme( + aspect.ratio = 1 + ) + + #scale_color_brewer(palette = "Dark2") + + labs(title = id, color = "cluster") + + guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5))) + + patchwork::wrap_plots(p1, p2, nrow = 2) + }) +``` + + +For SCPCL000822, clusters 1, 3, and 4 are tumor +For SCPCL000824, clustrs 2, 3, 4, 5, 6, 7 are tumor + +```{r} +cluster_classification_df <- umap_df |> + dplyr::mutate( + cluster_classification = dplyr::case_when( + library_id == "SCPCL000822" & cluster %in% c(1, 3, 4) ~ "tumor", + library_id == "SCPCL000822" & cluster == 6 ~ "endothelial cell", + # cluster 2 has predominantly chondrocytes and has MSC marker gene expression + library_id == "SCPCL000822" & cluster == 2 ~ "chondrocyte", + # clusters with high "immune" marker gene expression are macrophage + library_id == "SCPCL000822" & cluster == 5 ~ "macrophage", + # cluster 8 has high MSC marker gene expression and a mix of MSC like cell types + library_id == "SCPCL000822" & cluster == 7 ~ "mesenchymal-like cell", + library_id == "SCPCL000824" & cluster %in% c(2, 3, 4, 5, 6, 7) ~ "tumor", + library_id == "SCPCL000824" & cluster == 8 ~ "endothelial cell", + # cluster 9 has high immune markers and is mostly macrohpages + library_id == "SCPCL000824" & cluster == 9 ~ "macrophage", + # cluster 1 has high MSC marker gene expression and a mix of MSC like cell types + library_id == "SCPCL000824" & cluster == 1 ~ "mesenchymal-like cell", + # if they didn't have high expression of any markers, we label them as unknown + .default = "unknown" + ) + ) +``` + +```{r} +library_ids |> + purrr::map(\(id){ + cluster_classification_df |> + dplyr::filter(library_id == id) |> + ggplot(aes(x = UMAP1, y = UMAP2, color = cluster_classification)) + + geom_point(alpha = 0.5, size = 0.1) + + theme( + aspect.ratio = 1 + ) + + labs(title = id) + + scale_color_brewer(palette = "Dark2") + + guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5))) + }) +``` + +```{r} +library_ids |> + purrr::map(\(id){ + cluster_classification_df |> + dplyr::filter(library_id == id) |> + ggplot(aes(x = UMAP1, y = UMAP2, color = proliferative_sum)) + + geom_point(alpha = 0.5, size = 0.1) + + theme( + aspect.ratio = 1 + ) + + labs(title = id) + + scale_color_viridis_c() + }) +``` + + +pull out just tumor cells + +```{r} +tumor_cells_df <- cluster_classification_df |> + dplyr::filter(cluster_classification == "tumor") + +library_ids |> + purrr::map(\(id){ + tumor_cells_df |> + dplyr::filter(library_id == id) |> + ggplot(aes(x = UMAP1, y = UMAP2, color = `EWS-low_sum`)) + + geom_point(alpha = 0.5, size = 0.1) + + theme( + aspect.ratio = 1 + ) + + labs(title = id) + + scale_color_viridis_c() + }) +``` + + diff --git a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R index 965854630..01b4e5899 100644 --- a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R +++ b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R @@ -123,10 +123,11 @@ create_marker_gene_df <- function( # output is a data frame with barcodes and `{cell_type}_sum` calculate_sum_markers <- function(marker_genes_df, sce, - type) { + type, + cell_type_column = cell_type) { # get list of marker genes to use marker_genes <- marker_genes_df |> - dplyr::filter(cell_type == type) |> + dplyr::filter({{cell_type_column}} == type) |> dplyr::pull(ensembl_gene_id) # get the gene expression counts for all marker genes From 988db2cabc8bbd26397125202809d803f622de93 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Thu, 9 Jan 2025 09:53:22 -0600 Subject: [PATCH 02/15] add some helpful images for defining tumor cells --- .../SCPCL000822_cluster-marker-gene-exp.png | Bin 0 -> 171479 bytes .../SCPCL000824_cluster-marker-gene-exp.png | Bin 0 -> 176553 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 analyses/cell-type-ewings/plots/SCPCL000822_cluster-marker-gene-exp.png create mode 100644 analyses/cell-type-ewings/plots/SCPCL000824_cluster-marker-gene-exp.png diff --git a/analyses/cell-type-ewings/plots/SCPCL000822_cluster-marker-gene-exp.png b/analyses/cell-type-ewings/plots/SCPCL000822_cluster-marker-gene-exp.png new file mode 100644 index 0000000000000000000000000000000000000000..db376aa0150183cc87798d6794df5cf49835ba37 GIT binary patch literal 171479 zcmeGEbzfEO_6G{X0u)3PK}8V+Ns*KgL1Kwgk_IiH(%s!+fGFKklF}gEpeU(yNGsjl zb;eZC{d~6jIWOS+{*YU5V9mO&F}^jXr>wLn!7n)-73sTcWp23{A}Mn?Bai64f%+GS}0%Cn|)2asAC3IaOUUxzhq~i*gug zzPYz2CiRMR*3h>(7BTNUK4397fbUz#q!K(p zi((?pU>3?nFi5`D_UP&gNLa^XW$m>;``x-iq_ zl-GOJy&gx$sn?XTk6JABdh>C;PiLTN5U#tH8ZJ%UR_4C#k}uqEP~Gb;ygwb*%eU=`XEP6Sg3HP;%^zas`F;q)RpPL_B6sXpab0{U7uuM+jZmDEU zY7f&P9CWv}s^Y8vGIx6?@2YylF)QbL5y!_)Uc?ysd4)O4ex3SamXzKVkA^o2y4Px! zJT?l)&T6Ba=9qQ#c)OZ;60~34WSa9DUOFY8Bv7r892Fw8tIk|-`U@@p3$=*jmbGkF zJF8pP3Xx&BKmB<~@JV0OvdZTz3e~zOY3fl8Ma5nw|yy3>N%=Bic301I-&b+B0=}vM#s?1;75kdJ&b|}`g^t0 z6D@2)iTl(G%_$$}b>*l_k2~Axrdl=QX`52FUlnH+_jlhQqY4;dJAWyT(x1NWzUFJq z7T!B2xN3r_EHsykTH5U}sqaN|dzE@k*xdZGr=uA7!mmK z%_7=7+HBCZR&|KQT-{vVjKU&XRKMMBp3`71GcNnsm|n=;zGxxkZf3sAn$P(^e)^~> zAv1C2#WTFetoGL2sl;zcR7;N3WSMBDI;FXiBwNfFr{#415PTpKe1zUHad@5sOWJt& z8MV0Jd8+3|CHBu|R}-zBCHQ+X-M&~X8uH;haa4EY6gVyT(bWC?pjY|bnZpS!})|K;lP7bAEHE-)STyxbKE}O?l6G*gOyJt&Z{bUezy~F)em4XauQ!2&u zs*0^K?Epr%W0~6i_O89tGFJN_Mq$i8);_H*{%4KO1}G5MwG_p*rKB*fz~6B(Fkk9n zV8h=q;SVYN!N5Sppbq~J4mt+w@86Mcwq*DYU|^sz#BbkxV2e4^e>C*8+}gsATi^WM zN62X1M#f5DDHw_-363kzXjViThO z`^#$#OxXe4fBq^ZVHOG-jg_y@aPHrqO^7kd|Bpi=r-8|c#^8LE8vOLqzkdJ@iuM1A zgQCrGiKHp{_#R3}T)(uvHXCsKJiC}D5iN~svE{l|RaO=okNJoP*>zKNYmyA>^J8cH zXTIkQDkw)h`|oE->59(6ZANio>f7&bt+r-8zD4}L@hx{|d#1Yj6@?7Lr!kvLqXAbn zzSQO!bp5m(&CzM950DYiLnV=}7`DIndypzGWj@x(usYQd5beChAU$bH_|GR>b=j9D zHt2~h+gZL#^^VJ9Qg%N*={5IuHnZt6-CE9bXp1!jGsp3-6%0BD&`E{Y1~Dqc^3%zs zJQ%Z|?Je+GJE!)Kl}3oBRK&q`-O3t!d4l}PeCe_`{b%JoeeqQJ^mxrWfAhtk!rycC z0vf})B#iqCAA5@j(7iG2&boOg=*lQhO;5A&GM7Q;X(P-Oi60-ICs>SsyO(h1%=a>f zf;7c!q0V#_9W{wyrm)5+eii%GDXpmGlmEOl+#MNLjQ2hRcoHEjLDsW9cK6!Q6EQbo z8~W2kITf2N4BfQogHQXq_v#E|I9j_tkb#=KD_8IS=3L2qqrmLa-e`#Woz65R{u*H*tcTtj<5Q8G%S``=gJjdKpGU3A_R?pkkvzqLCBpY4Kbl?*?+ zX7ORxBe!_z$R4uHbRn1BRfVRa;>8*Y7u%=Nymt56hmtPFxpmkKIw|m4&%BqRrJ=bk zurY*{^HuQQTWCQL6BQ$1OaJV}i~4Xb13m`+^*)OzBa;g~qh&YUk3@xBGwz%C-bvuV zmglm+=cnu}!pruvu7R~;=6eF>-4~Xtrde+PT79lGGLr7_fE$V|#wE{MmP({v*!c13 zr4-t1wkOY@O88jvgJl0OVbz+}*T#!l$}OtY#k&>zdnI~q$(aTUmgJcn`3aI?>>tcW z?^tx_8}(9=@4-QBqY89eKIY6C-D+cyjd6YdeW1)it0P6u?`i75x5pI!e2P_6zV9)c zL)7fW&$6l+rdjROkJJUc6?f;1nJ}7cP4FsRA8?56{}{(oF3G6hlg-~XlzzlqCgS>I zZ9^a4xuk;SljOW3-y>Po1)B1u?Jb8YF_#~l@h^c*Gdz> zq{QB$G>|T=;;QUrZRFGN#N?*Fi4tju1<#Rx9u9pL4);LC>Y7o{152hRB^PdVF(lmotA zs1hrNHMxtGSSM}O%B^R^b>0&EvjaUR zLRcN5MEe)Cl<&5AH(8L6KX5OV_q|_ISg};k=;xms!pPD;xH{6FeBYrJ7Y}dIFz263 z7oCNFoeo2}!r7^9ilg`#gL=7Re8>~hqwOJj!o|9LQ4=)cJwf}me$;el2&SCZzU%l? zi+YPC_o$doT{Tmhsp&5?qh?7mJ^qgcfq}YtX($v!x9Ta52DXeJm2fg7 zXZpG3v?}ry)9=Q;nCZ^`6p@J8@Y##RA@WE6KsW~{C#Q5swn{uyBI)t}Rf#Em`xu_T zZg?ixlh?2R@L@tL%I^EHFcv=4^g*)y31(*tHOWgTp6r>#tU)`oxbn)w%4 zcE9{r@j%Dm!M<^fse-jD$7?w;q?fH+X!=+wM_cN3l?+!_ff~Q{jADf1OpR8ZKkfgY z8!{AnHb(lR^JGHE$W%w_RqbTU$yPP>lP6Dx_)&{OxxUYrsgNrFHFxJV?+?Fmj9!s2 zb}hap?~D9bdO8I4T0@81U!J5`i@5(z2&d`Vg@0C1>=Hmltn;n{PFuF$FBGVLdU-OW zV8Fh?!nDSleDu>v!PlH_0pr4~7wneDf}o;#elvH0F8Td~me+$c#g+y?m-$vRk@N&; zM4fa#|2{++x={+>J!*Uao|bi$)1 z?lJ87N5#c;94bPBL#5tc3mR<*arhTjS-)dqp=q zMc$CsQMl|}BDioZ@Imsuek(MTf>ESY!}93wQjD{qtv&J2(ub0y6t}G=dZcx%_NOjm z3({JHnN?^2$J|R(yqZHN^X>8xOr;;EkNu-sSJESo=A#(ZKbIHf&~41(${X48wZ#7{ zS-2aw0S3vO6UY9?M*~ZUxC~3lGfyb$pM?Vb|9)^(jC9(WrGJ8043xkrcr3&sL^uDN zk08gRKSqdQ^(5Vw{+~CEaKRIHXEd8X?!T|>`dzp(VuR;=|E346caRl$*H^z|)ZVdfvn*YJKq))?@RV!bT`5#Y(7(r%_X-@t7%1mS7%IG_f+5Hc; z7L7}Yv5H6S`Om%T>Pigon)m-6`G4J=|9j;BbC>(}d4^H_|18!a6*u>zC+h*GNW~&_ z66omm8Y=$9VNbvQ!1Zj*iS*Dy?P&lRKGW~W{>`y#IYs~p3}KD>-3u_ck~Nxq+?xjxqq zO#8e{#(ZB9H89*IzD(#`G%|Y?`u(MLIS-31>q_N|E%oaBs9%m3zQ6GJ@#7`9oetJr z$@fM5X(h(&%AK~Yd2Hq)?9@`_nZ^C6o=@Z{WISZ3*xO2txNau&L9>pERw6hsL$&12 zm)Ga{$ERLg9-}mi3fbrnthd@$8ITp2T0`yKnI&}C|aFw z5%)44^5jhA0nrvntgxDvFEah{RD8hvUL0%rhESTBT#3~*-ATR$w4~Ay*I~t~3_{uO zYxawtWt5i$lun#X=4n0q7x5O84K;>ZytRdOVc2*tz(8UN^AE8pGl~ zovAJq!Dirpo~&L`KHj~#JnpdO&|3(MVqCFIr236~{HKdfD|efwPgQ+fz&d*3840Ue zUrtk0CJ^(NqJ0x~-v)uc+g20gcWE>PG7y&oyKBmBG1A?Oa+oVxK$wG+Xr?-x)Ro>ZI{Qs@{fyP3w=_zpQLTFVB9~&9ry!2_4PG^zrse}mF6M~ou;xT_<;ED2zE9uwk&>#Afq<0L*W>L? zlb3gHSGFGiLSaTcv1-*{WHYbUqFz8R8A^$O{qaH%bSh{X)yof6UQDr017=IqQMbIH z?z9@TvmCu&Iz8&)nzkvon?ch3hcIFLxmL`t2VT3HF*$vO-*UoNS0--IWuLz%Uho&i zZJ$aWovj2_=?=gYt>&1UeqXk`qVC9>u=2~Ogaosys|oBZ+%l=lI(e{t_9~#Ck(8YQ zxc{iQvbUr(=}u7nOk2icvG%tJo+^p<6gfuX=JxNm2JNSrzZaN9lku3}9&niFZ;6R# z;k_F$kjtglT5b8MD`T|hGZd8NF%ctxX;F^)3TeMET3`9Q{uzhWsZqQbeY-*1VFF^u zju^e$22z`Ay(Us5l>GC6?3PyAWEy~t&(!th?Y7^S33Cb`^ynm9s-^bvNKEf~@&|h^Wy5Bf=g-Fr6U4+8yXf(DW4Sensb1zL^VuYJyll1*A!Qd$PApSD{$Ns{YI~C<}_ZCSZ%GX2W0J+zt4_b5OPvQTd%QhQ+ssCR*a6 zjM+}*REoZxem2!Zyf}d8bFN}J!+0s&&x7(ky@`E9MrOrcaTnj(bXSwb43LhQ)lg4j zdV6orbDuc*et!8jZN_cfhwF3Bq20o;`dr+Pu1s|w%d|55(lLq5^F%~Hc|=OS8}Kq6 zA`vv@u|5eBTbKU%?jyo;|s579`n&9pDI#kR?eMJt(oxl zxVpw)b9)C(aj~VLZrbb=0nSI!*XMrl$hT=9-m`gBF2^z z^V_d@a1w6cI>}EXZy>R4Rt$?twkg9S+l#Na^M!QU>8sL7s}Iy17lo4*vt!4LoT#4| z%6guou9K{e-?nPr^cYIs^%d*w>9LsWDljDt4!c5Z1+Bh4ssha>i#o1Rh1 zw&j!7=lCSbtjit;z3m!+vunq%4b#QsR2mdqH1Rq@Xr*m!;JG0u*lM`c>Fm@P!WuoE zZ2iVZ*J;u&;{xxE@pP4fMuAAKazsZ{^Vzzs6Gd^uI!$Mtd(d(CyLa(BH>F6fD4ajt zWXKp3x&N7m=Y5J69n0Nu@`$0 zmAL7W!`jTEp=iIyg!ySJlBR>63?H{w;aV}bJ~QNLCbhlll&zZesOnq*G#lagi(;KV zyPe{^*WTwncrSaYHM?`~y$=XGYcn6B=fBq-IatqP=En&O6)+uKIr1%_Y+jhX)MG@S z`1vBnn_2DFJ2e+gJH-8^qxcw33T(uzei*-6d^Rl#>#sigRIyTh-NE{2bz$P}R(W@) znnX79R$O_{|_p>d3h*voBxIp>~d!(b;Cgk!mi%c z8O%nHI^IzbfCf%@Sx28>Oz5A2_H=soYUytS1I=~}l=pK6{Ssl+W3@{ky0$Ymu(`^T zCY&-)oHk)Tm7}fv_NstL;|qp04J$S$6A5V0rL)?9i8}h(uUp;y>sH70mWOPQOtgAT zJ3DwagOKg%t>TjDCAjR6X*X>9yVVj&xMJu&soUNxzFX7v+TL!KWiD5^Bzb>h*oRI9 zB=lGJ*SskNS=K&`!C6a>oBfsY(Wb|`=gG_PHkJj7Y!`n%QxYs2r zlh^CkFeVbE-bOqZG5!s=OtX<@o0jFM0exiSDGgtJ>2UfxHcYc;=D z@>zLUGH=kl>?646E9`Z)E{sEms_Yx_0UQD`0Is{7c!qd;;!O)EIc32={X{P=&ZvXp zizubbeLc;1?mfAB)LZyDZD$Eqda!a#%2tDS#s&8m!@mMv5d-weKkPDA7a(fCHZ!@Z zXifFUGs7-$y+0pdg_{JPfr>wk_>(IW)0q{)E<3{%Q4S9s()EU4fLh)V?Xst5JU0MDxvDN5P#1_lfI?aN>bb4#H#7 z_jsL`M#PmWoXaFZ*<(>JH>^+Q_U<_&0K)MY&)= z`21K&q@Z@?K9Aqq+J(n=2mVP_HWp70#mg6r3Yqe)DMmy}>(-ggT?%7XxptmQKhSWX zR4M$Lk^b!1e~M_CDCu$;=`i*Ly_qcQS>@!raU!|I4*Ckt{32KhhpnEl4DIict?@C= zB}}1@GN!-M>MJxZUHsaKvyp7#DjrkUZ-UAe!md?s`-SAy92xywmze~@%x+lE_=1`$ z?uNn{dH3=nQQ2M1!$uG5eMk)_!Z|wamg;POi9)`~pz#;1jxYEw=lzYBojnr$KOlP!)>oq>{yGy_RG{vF& zxCVzlIS_DN-y+&ka(*o%3O6)n1Zd#s?)qQ|2n?ZfGdTEX1Ht3IgOvD%yDFAjPXO`f zy{2|=nSG}3d{@K#!NjIG=LYy3f_ZENsF8o zWzNB4CA3BII+@Z8r%;%*ra!CkHoGeJXra?z>z}Z6yh^ShSu<|g8ml^N)iJklmxRFe zBA>17+Wa7E#mxKpu~wet%#8Go4bXkzjozr>@&$wwyMU<+e;0sZ;gkIk2~8lIzv=LN?`*D z#eiY+wL1p*I0y0NvW1WMQFRfekqrXB`%)j3FKpe(fwGeG6%He{e#UjzHV+7w8wLPQ zQrDn6euSo}uGT@*eMLC{RXTH59Kk3~xSu4geb%NRm?7VBx^a=;VJ*;QZ#fzXr?kn* z(p$8OM_K0EpFKDVQ_QgL^oSTxC5}&(g+)vwzcDQ)b{_<$+RLm&zn#Lp>~@AxUM%@u z!U&`z0x$C0*Dn0{B&-ui5RAl2=r&TB(N;$`!J8BVYz&ovze)(r^Q)?%9>joWKbB)u z?Qv?SkR--RGW!6Y7XwU9>LT2{MOles3|sfs%M)iJ$u0pziA@(UXn%idD8akjR=>Hz z#pOJoZPv^{S#P7cAQZ%MHW8UGjK3bp36kcpAH8`7^soj4fjRT?6=)vfB@~!0x|E$) zw1g^YQM`=B--vE#d^yfRTzo_*FO|$o3}Brkn_|gl0|Uibf%mttvwl~qArZ{k(RafR z6&pXjh|ZoJ`$FZba{wC-7{x^;(aNtVNCAXE9tVlo2-Az`_7!GNXyP%s;6r9cx!7u2 zTlv}E&T>;C*926OeF0bI-=Fc2rWs61MC{Z8M~vThdFGz};Cw89D)X!CV zCXRRybPy3sRE$oPoyf7XOcSw08-l5bHYp92fo=Hdwo{TSVr*u*mv z8;ir|duXGABfJmF!8#opV`ZT9Iw>ah&r7DeTUL|J@7zmwmKs_?gFMfvD~oPgxOg(9 zL>h$BRKC^r`-vTfP%;~@sp8H*d2$q4+^(N+prFx}SkL-HF-SzM{aTloz~6D zDwL?t#US{(aHRpO7t0W)c_sa-lE?+fn}3=-@-qlvPl$>CQ3ZQMz#O9 z-0N~fZ@358G@K#$^H2mB3#=@2eR)zJ<|AS)#tU5f?Y?g=a2J0d(}c$Wv9m&K zOWX*g$C#nl=LabsK2OU1{TwNMFGIy7eje#XMc9ohFc}QS#5xjsHX0;Ww*I{Pu!Xyy zOUJi@Ebs~YW?Q_thH}pyv;)sTVivDo4;B@Qj06@f{kR^aeB56GmS+CGy3U zLZe@PX`!3||3!G7T=5VEyFG(X4)-mNe}neLn~sdVRC`*2&#nDi!BbVt{DQ8xQ?>NfGS4yH#h9SvD3jZGK>4&WTb&8M&8l zs1$b1C>#*YpbSyOVSB`_M%HXZ=yhC7>?cHuxw?MmUGCLvI&MuS(Lx62D)~19yvs4f z5(s4@<?7bbiwW$QW#Ye|o-?ZFm?iXpC0K%ASTBA1Z4tmmeu8XbEbmOUEr?Da z!H5rfZFK6i;=H)mh0rPnuP<b#+5nOaEL;9@@-ATwPvW^*j%sJXGW?u z@Wi7dubF-oq&}}oh)y;Z_CVh$4QYF5m3E?kX~_L#xO_}T{q?Ye@`0&&YU0$^PNWEx`KxX+H`a_Y6-X4kBxM3k5a zUaLC*a-Kxppno~?%bcU+#oYC~ixoZHl^HTphqWDC29^AS=?@_u(;?T>EDx{q60K1m z>H_P`X#D2wM6ccIj#LGS`GGP$yE8Y=h!#pd+TYu~m#)mERPI=0=Tl(R8$6VBYg$&P zyMwiPYyCZ-J97YgFUJB6e_<;{)E0HzTFS=QTaz?Z%-#1I3e#x|kj#`uhXi~)Kws#e zc!U^I7!I=;@xzq*>umrhUU}EmJVnRgI&O}J+)KVk+ZJmI9rIqEeg~RCxiUBofP?mv z6v&zAHOIIa_7z@z)NrQ?S-=JOJD|niOOhsUvlmpHyTrATESUBU0-q~6ul|Un3waoR zJnCK|@m+;x8eunVGU8>T)wCN!FY)G|!bcgC6ha;Z^pAZu4Zl&)Ou+p5q$$dh@*pyF z%9B2d?UtFYgluHt@6W4LLh+_aBB33qJ=*Lg07`fm-SI*%L>`|6c*qV&5WDo4_`!`u zXF>2l$~9aNY`3t}A}&?);2xqLy3w3k$gG5Lk)%Ojmzsl=a<1+rut=|AI`5A?P5rDu z2^c(4B0*ZQ13Vf#fCRK4UY6IH3;e3)KG-{!Jxy1A36{i|f$BYb&0b%5WK^M#UYlfk@hTr`klkceD z2$Y3ebIc4@RN!es!11nSEDd>z`>#)=T*T=qFkuB9E&$dN&S-Z}&#?#d+~xaw+tr!J z%?}q7CM|4!%oGl|7kIu`kVCn7k+9wY2NT*4OCr}RYnQHIccwWKG1xtLnkPv)Ya3b8 zFy~+$x9sA?VIwW80SD}@GYcH$H4lX0x6X2fvTNOue7Q*ayHVg$nl?e9oez6WOo;2~ z20w8J;Em?u&(E!S1_~Trh2DA%M2e`B{42h%$!~NX*J%c!io>q=>sxNDRNuf~VZ}-= z)D~7`KB@zc1Ws)_+%e$pLBBCA2XHgqb&BV9r3nhOe@=~C`37CmmZf6k)E~e_b1o4e zS*k$8err6w$eZhyU&x@45s{`^(z$>B$3aKGjXPnu0LjsSx&Zp&KZe+bBt%J?E{o%0 zt{>|wcj}eol`XY3Qz|k~fO_@m^?DeWf&BW}R}nQzlzOf4+LFyJaiS7pVjdGri#_~% z5au$IcE|eN6BeGMA=lVA-n>0u!8+a)y)Nt@|K~Wk5QoRc#V)EmDY!!k(hPSxMxMk9 zK5Ho@^fFxYpdlvba>q^0#?Y&+`9>-&tWmY6^4)kkiG+wD{D!62RR z$w4-7?89iU!{#{z8bZdbJm^psLOaSTiw+z1|vFS$$Y#$TfymppUz zJMM^px(8K}B+@Df2h#)v+%yF8i=pe@(s!;ts>Fcj>%#|eX!DJQ$0kV!PNkbI{zzlk z{VVcmmm$yYuTo(A`367Hq3k$x7Wz!zs?4N2dI-9)_QRT|IQZe&xxlaK_d&-^fRpnF zF^!Ti#-p6D`RqqT8y$~!QG=F5ix{t`uRN$d{w@a7s`&DjP#EX0TR4M)#&Bk~D0cW> z&TlLX`*HD<*v04o9!MWVFq(p>YB&6bd!*lHFbH%EB>6T$g7;;^(m1l{k`7|1SWb6J zAv+w&Sf{BJNEh488yD9V0FvdknPc+dTk?pPdfQ3x`O?f*x`~fyuz${~0`Z4Qt(@9H^bx0(R~j570F@ zV0&dCNJHZe<4P{vtD7)^7^pKlW%|NAFqR6UBC&p_* zfxj|ewjOofpEi{F@{NP~&<93w^LD|oBsLjs7C3gxIFA9b`(Kf}g0v8&wj`PP_m2Ky zmBfh7fBwFFO%T7?&u35$g#r1}0XyJ+-ho%Jf}eJxL>A%_%X`Q9aPIsHpZO93e8>eh z#%|nqor5RZTlDLn=vH4U9M$0r7%pUV3&0W@0NBtW4ms?!ySW{zK(8bj`Ce)T&0xEs zfpH6Wft%a_`|}qa?Ra<2k_z95JcU^_PwqoTPoAH6;nSfvH&4NaceBNvDEkWRV05)h zJp{2YE;5*1Ik;GC-)dIy>ZZ@heckze_P_SY+KNV%4Gh#Iyz@AgGOp}RxUIHd&;u+P} zcyX+lXQwa8;;if{Wj(r?Gesi~WIYhTdL7gXO<*nvF1c?RX{1(CKmAM<$@3h&XiF(8 zewhTh#7chL3ETGww+AE_wwO5ow&n6zK|CRm&1bKSyGj)PIoo9Vq)E|#pnnL9#Wlo?#_f&~#j04Zc& zyvZ415Cud<-CxmNO+pqG2`gaAoE_YSfu`^d{AxvSYoK4&PS^OM`JI!^0^&zY#oyaVf z<3^TYe{sk1un=UM5|GewxsyX1?*o-rznwx@m?a+pf2hFNlcutJhEmR#osH4CdwvcF zcU?>jq*c6RiJqIRF&z2Rk9J{PBWGvf(@AX*t9xUayK}utjtE%M*^oE+0!sTyAG7ZR zr=%%wv}?CEqeOhXqw^iL$ZKEvXvfx_3J`!JH$OfEBKji4gMvo~0ji#KG3mSe^ZR=; zAZkBx9@&~o&7{$)5A+PCV0nEYLwtiV+{jrQ<5j1e+qXl*;?nL}; z-bF;d`D(v1aks5wZK%p!+j^?ZVI3NhLStCZF{z^yO)$$=bRLw^tnZ0INhFHamxk!w zz>f;cwn~*trRzDi-6XirIsAeJBn2cTwEVotxwcx7pVA}wrp9RulB(sUV#vQGm<;BS(N z7BG5Bw-&fM#tZfql<2ca0|v(_mL`{1o+2s}5n8?(TA@61{9A ztDvro6;fP?cqJpl8KHrVN>*aOT=EiEZybKpA#@nOL;l19T@TTN_3S^bKNvQv#M2tr zGtHf9(07T95{gU)1rYKF*j_z%HBmY=mYDc^2(ZXdPftrj1_Jv)$i3&1wYer`0BpME zgUvImZ%93)=Ei5Y7jpI{I{L$jlFzJ}AnQ!iba>X2ADYJ8xh z65^`CHmg!u&tNXHR_J(CJ=b3%m33c5e=^1Gm_bW$IB%7wwJ0mV{O_H3cP-bf2-JQl zj%KHtD=rmJZN%`t3)|am2_7j%*bw451iU`s_Kw*b#weNKz??Z>r#C7Pxu8MoIzm58 z%Ur!f=AH@bJat)V5k&?&J~(cggP`XNqV_MiWz?I`<qs-K~ zHZ`%%l$yzBPR05r*s8#?CY4recA)WxHc>SwyL5NSy|iwTYsg5I#!e8N=vC;~nJw^c z6P<0*jLclG4UclRR!X&Ec4}|B>6Dwls+j8MHkTu?ywXztHc>Ajv#YhEJ}!vjYtoVT ztD<7taY0cPQ?I6fJu~clSmTu$>I%VguywU1rDvlu`rFf4rg`-|tu?y3tXkeu5$Nj2 z@Ua2ml#jZnwOB|9e4QEZ?3U_|j z#uCQcsS6D5YxNz{(;bV#T#xEWZpi%#(-DbKf}+I^XnPrJ6Ew=(^rEd-g;q_9_KZ3y zYQ0V~Jb8g`p{QG}u^=edGnL*KFhI+=JAi@4ep9S$KNl59n$|9d6-HW_iwcLr{p$2Y zy9TH3x&BzY7K5qr=SQ&8E91`uwu?GRy;SuijmSm$$+O*akLyg?L;|dJ6~ULLNJ&Zc zy*qY0d9IFf6z_m+IS_i=Np*R|OV}uPrg$ok)6|IIZbDPKQ)j+agus*yrc*m-T8DXl z+9uhWFtZ;LZyLG?OKdKgQDJNaf_UuQBKFkU{bXvTwk>^udP4{kh$TKg`Ro?&qHlgi zYuBvTfUkbc{VurGZ!6u7@N>DwaKAv>A#9upS<+(t1{u{AiRe9}9J>2$!IMaicfxSF z(}&wW!nv*^BOGQ$xYWzjEA+N(q}$pq@c^OF{Bo(2)nRK?x}tV6MC;emcPqr7@EPu* z$^|qw=6v5pQV^zx5$s>Svm{~RLb~3*XA{qFs&_I)FGgx!Wi`B5JzB+QjWQx{P;WhZ z?QE3ty-&A0{oLZ&0or0-j&~Y|P9-~K}Aa(Hkim2#x z(dzp_o;fa$ROb76C(^j4Ec!E}yE@~JNXKO;SKOWM9`Khdm`&|0TPFwS>>jBtHp?E&Qsic{|Ma9kzS~50#j8By>Mkmc`#f)*@9K2A zv4IWkZfmCc9v5zmhSk)Yqewj%I)b??q`UhlF5PR!E1w8>O~fXqn9D?qTnXB^JF6;} zrnM`tK||7Ok3YAZZ8E>()#t6J+EyIxqPs!~ZgOSb&PrW!%R2nZ>T0VkU0U`Hra+S1qyNcsnxaeP_K?SygzNgZd59WhQybBFb)pyAH`N z66qLWd+B+513hiHfkw=ktRzxRU3y;v1=9r?b@lh1pPbCncT!n3+&7LJv`OpC>Wp)W zE*H(c`f``7Kfg66Bgu&F&EdNM-gR}&Iw-C1YvahLuZQlo?0q*jn&v51{<8Ic-pnL* z?DN)6{>8X4*5ci@Va_ZQ3iHN2(q1?EM-@r9rLA{k-=nsMBb`}W5)`wa0Iw;0{}Q{} z0u_UK_f0wDGiS^$7LK)(GSlvIf~KpV6a@{_S-Uy~%C6=L6wX#WQ&zppS(}V0z3Y>J zDNSHFW$+uax!_NP(CuDGyD5>{QM#v^U#zO{`k*3ynuN({_R0QJ9j8+{&M~d5##;ps zqYa9;9#*uAs={=e03-cYpE4)GwuOP9&o|=cra>s(;ji_&RL)}WFvP4|1FTyfr!6{* z@;=?%B)OZG|HZsx_I=YT$HVo>xIE=56-JMg=tcQQ9mh(QtCXP1Sxqmi7FcBqOk4GC z85X#_Q0bMgY_rd(smY&M7ntUt%h#~$-$kuC99s{0K~zl_psqkDBZ4^htlY-Nz<8AXi8_)mV412fd+t-s|2@lTYjxFS62&c z$KIwYo>40LUkLNRzqrzP>aOkC2y&xeyISAKD)!csAT!$g%Ozo-8=`nmg|qaia{89| zeIBcvKKu~Z0I)-NldskOI;8`IcKA*B=f(qw#0ZSiTs?r02fD*=S`MwpA0vR$E}09DXSbzrO6Spz&o{M?j(U179a} zwQPN0*&Ms%?+*}qfF)V0vJN}2%V&qG>F;-lq(EhfZLxU#=Rk*N^y>u0bRqXdpUXB$ z{|c?B7>aOluv)1>I|+huNrWZSf=cBN2>=+jE#)-mlmvMt^z!C#?BS)ODe)!<@8OfM z1cLg*=le?dzy(56qOo-`Nh!~WU%d^B`&TASt;}A04MM#@L^91Lspl%3;)Gr(?b?c>B|P$WvO!t_f`Wc zLA4k`f_0!4AxUu>8k*|YWpXefiXdcA-xcAwRtm;Kw{9WS{{yJAlVAe3rz*%mK$Q{1 z-NI?bgYX5yimI8K5h-|ocYX9L_h8^DYLQSi?yJ#NsfU;Dx(`cYt0|muQw(`Gg!ASo z$tGkYB^4NFdtjPdIvMm8y^dtnJ`EKhSJv)bawWAc;F%x;8^FokI86rl^4ksqk;r4A ze1-n>f?%{mK|KgixOi8FYFugk{lh0mxri8YQTz(!qHY27GWF2AwBTWBOEy947ay$; zO3?2}ft2K)gXHY|C$5ELX5qYPc^F&K1a-Z&!ezhWFjzlP~M-W;clK5m*>@TAW^ilHw&@lJ>V>-X7X!k7{#`U<=3E3@G*1e3i5nUk+F zh8?C}$AaRpV6e!E+mo)sU1UD`3RsVDXNIZ)o!F8AUE!biuM7!c?p7(+XsZ_(N8($^ z1RwZ~l(IOE9Ij7dres+vjz#c0$WOH=YiOUCZHapcBMLS1RWhlSJ>+Uw*}N_O-rV+c zeLT~&7Z1Hk#7Jwd^L2)-=Q-~o+QT(dSpfuoclv8b?5XBO0V~HQ@XA6n=0TA57!%u{ z1!|l(@k|Wi)crqU$Z5F3%i{0vCZLd94l%v7$H3rUjw6js<33ZyUE+IKXnK>BQM`gDI;D5zx6z33Kwp z6+@{EfVri0K}ZO%6yi0AQ`MHhXEoK1XBCDmQ2_e!5;)3XJM+B-tW_DeKK?0&Dmc0L zr7R%(SQwnDJq-9@`yvcIMUwlp7I4|6FBeQ;UWbngYOU$5;Q9Kv6ElMlbP$J^q2-zk zstE}R&GEh`TAd*PRtN4)KeAfrsXd33X&6K*C}D*#TRZ< zQTYh85N?f77R4;In#-RvUK_*iW@H6j@H*D{Z6tTbTu5&ko1c z6qym>5)g2y4ni<+bSqY9V?e}nOcTfkd*_eh_CMw&>7lc5m7+w#QE=-ps@N0j=Fq zr9%U)RQLm^?bOg?u3-)!@1p?6XZZc6$A@PQIZ0&8Bl;)A9!H=__}{QGMzRXWNjb&R zTz?LV-f)m`+36Gp-2lb}ayTUB4o;LZ21gfjYIv%{(;0MY9l9@@P$EX*Ow31WPqoZ~ zoO%aV&?rCwf$|iKfVQ)KU_gbuAh>YnozU}$w=K3~Ot2K$Z5JNlojl2{#Sd|9zWXDV z2a6Z?8Ya1P5~v@)qJE(Lj=({XiOdElpb0SH555?Yg5Sih-#2U-d|3s#3kSP_k`l>t z7AmX5Fcb2Ym(vhS0ZqXHNgaLN0`CTyra?6GrH}Zm8yhL#BoQ*+TIOKWavrUcr$5># zxy7acHzW{Jfc1cy5&-H55w^c9r1>2~MZ4mYK}-)WMBDi?1;2gn<|!wLkBu!RCq=Pu zBboi}^?92hY>ujul;T>ZgGPg-$zIB(REJ zjsi4L$f!kLA#Q@odzT7=8~+B%Imx$@2OoRZBi8Zf4#S6Cm74ojlJy`nL4Y`g{bM)#_uXYr4&q*w;vy z6o(=Kj zw=zIBHf3`oxgw<6fJ--SGVL|0K3EMn zUB#hGT(&(h6|o7ku)p|FupT`@#wHkJGu`>MXZBSMqG5&&LELKY)sDaT;SQ8^8*x)& z(g~V^9fwT2BE!#z?RSU|AU5>*P<0bs zL@MNMbAq?92&?!hW3AuFi`e_701jC^3_&eTCPlyMk%9>oh`?QjHn?shUwHALLl%k+ z!A?D+YUTeGan+HuYT)+1mYj+k1SdMIHtBvRQUTgsN4ba=qmm@OuXuh#WvE8`knubz z7J>|B@7+x=3GI7{l6ojBh!9=VxSy_CB7fur*}2Jf@XirjGXnW3@7!p5pxU9T5FiN# z$*>NHj1=3$GH|W+v>g*Z&kV}{j^==?RQn8%7>N_pZ6x26C6BFrN24ETauJCg4( zvEmA#K&tZ9L%@TRdybQ>vHg53IcS8P$^4A@=1ro;1yawvC-45LstY>w77dI}2VNb**Bc zZB=BJA+FXMZ9k4!c63(pR#$>fB-wQ>5}g9d7Lsz{NKCmf zz-@EJ_pqs(s-vJTTr1N@(%hhU2O|Y+mESNeY{;rRe(U(Yh59_c^kHM&z+=O^x3g0k z#Sc_z5{bt+!z+N42kgelInH}`xqm;uf@A}@)6wd7qi2XYyUssa+tlH(^S5?0 zXo-DpCzEH~uWV^3e@KULk7Mr6%zw{G0zv*3VpBQqAgOTlX=#TXUB+fe$Q-?GcNzO| zAtNuhJ2^cAf~7x#99E8imLF}Uy3qFWG|d?qOoH1akVQ!AIkN|w42jDjV_Qs0AF3@q z+r*PB*;9yU?^G}A|B17DGRKq&u2`t4NPL5FJQVGQUeVOEFtB#BqLvP)W^p&<5dC5# z3MQ{$c%eIfqsJgK?1EyM=W4z)7)S!8ALjjEO`nS?FQH=iEKCVC9vQu^MJf&w_k-k+ zXZaw+;q=y~t5Jsr;*hi(0F~N`y;atLO^8@~N{3F&?%iGIGVbdRdXBvHaHc0u0tmTk zmVoB!nTSBiT(pj zn{lY=LOn%t)+_cWZX7V8$|4lZ%lbk1$&US88~?~`ZvlTzk=`w=7}6cs%1LiONU0qX zFEsW9YW~x!9nd5kLzREh2;(v8s(*` z{)GH5GuDygzHkf0%j{PhnLdCQY~{3h`HHMWjI)_YS~JExW>_y(FoT} z{+dU)5QoI1AhvQ1VSsO0bb7Aj0@c(ml@-)>m-s`GL}GvqYWp|C&t3X^qH?hK)r%rs zuF~B!cP8&QI02251;RL-so&UBiJ6a62=KKU=B$U))f|*hn0~q93yT7o*nx~T>$?4w zzu#IUf}{kifV4;@KMGKA(0G)CG{Pp43P>gV3VH9Nl*IA%z^4%hXv0+n2j&Q2SbB5b zWq-Pp%GczewV5V^ED|FBP)O_TRW$LP&hwK~Bt8(5sfC2sqjFctx7VcZgs?Ef(50Ek zkvg1%y^NiU2DmMS-wcT5s3i}>LFgI=aN#m@rri4|he+ID?}|kWIK|7Q%0qsh4oc#C zWTd5h<0t;(bJ!IRFiC#9v6Po_ET4P{74TWf=(%ocF z>~D^;pJG6!03Mb*Dk1rz|A(q80f+MK-eVdyNZBhzmcdveTa<0Ak*q~y&6=*0Q^ zP)sIKP67=g<9NLvg3;a`l1b0ktNxS1C}I!ny7sF(yH@`%r;Ns*j_|!Jq%v9oK*8~7 z??YLZi28jI;E3E@vl1=%4>5So9Cvi;U^SdreT`Cn=!~<7Fx>x5(grtL@ibQHSIKe) z$OZ0zwBlbNHs&>4EUWp=d1lvi%0@*fAlB1Z$ONB*yx9Q?Cc*95dBLKvKcSkr4h-dW z?ttLY^R|+$QvW?DLLe169YB#B52(jeV4AY>ZnFHtJqbiGYGH@`C(R*lT%4eu$N{r} z{Oa4vzUF{u^246J4&cHwfU;ixf>vTuTGmFbGUy0ClrYIo_~Q4!Eg~MH?Cbr8Cu>oP z7jycC?H^cx1-8~nwbnRsEDbSjByc=CPsJTX-*-_YzGw>sj+>XEVR`=7s+U3Q0-5V` z4xBy4cQxor@~%NC&GaOBVQ9YtDY3s=fHIu2U7pCDuJ zB@+IqtMVy+zb3Y3fDkACT>Z~|t_+7-|BG@|W_TQ2MvM;F04lRK=)370PVaqJ2SK;x zaQ^*)FS5k!31Hnh!oEPRnioz&rlz-T8I&Q1z^dqFw$(U@P5wMwTr_1%$-7)L=^p^Y zAwyAPzyPVjy9EC56I!4+aJRf3!;8ZnAqgoUYMGgA<*7X%K77dRTSZcnEK{Di5G%{+iSu)^#kPul>QFK-UmVv(1Mx)5@1d|#XSU5NFg zcM}?V%a%bIfZ#BnG5hQD{0ek)(E%|C+2 zm7}m)b19=98l*dpA8py*adtjg?%Y26D^|7M9UJcE>FvHequL5GVY<-M&))$Om(1e~ zj9CIGj^@C^^Jb!8Z>@E`%c(A3t9YT$ZFe`t{b#txLMEvcKnW@VN;a8VCE&#npb{MY zCLb`M!@Z771lX_+CHt*!0qQ3#C$-%~$e>W7S85)fYoqjwc=%inh8uXSeI zKNtjpZf<&d`skb92iL02)oD)#$n0@0n=APA#$-dSH{$@3O?$Q5U+gUul@qs?T`!M4mJp9Owb}CCr}(qUqBLsyoOqD zO5OuA<(KncU+><#&~oUfPiCr7r<0=^Tko=BnR3vAq?p)?lJU<)3p-raTsqr6-!xtE z>Xa?rWzKE2aG`tIvNN2oEVt9CY+=Wl>jTz)qW+7DX5Z;e{cFlJraeL|IoiFSVD2PkA&Hj^K!Kt<4j8AXU z!Zrq!W#n3SiQGGD;aJ9r21mUZR; z(%X0(*##&JKfsA0e5!E!aX=gkK!;%Dw>o>U2WUDVZhE_#_As?)dB^pek?b->%0YSX zAdSA8U8_EGd@8lC)2ZCgdcrAp(BsR!1v8g{Ao6$q>f_&grn%;&2hDTm=Q*o;zuBCz z=&Fc@_?GLl(YN%g+2l&@nF;gG{hb$lty)|Yo#7! z{6hA6ckpG<=*yICzF%`zm+l_c*H`yXAVVf@UwpEoVnMkuWx|K_{&RKj#CwZ@37>{D z3+HNE^3GdK`#bx$uZ@^i(SO!5=S*u~|}A?Stv zVtc)NjDDN=u4&!VoPaaWCq=VUi~XN;SJbAkJ=Yf{+i+#JP33H4CtsFGTR1UrjO>0A z%=}MuTr&|e-`%Oa;x;=Ft?O6wNusXn)9O>K(L|^B*^YW;!KO7Gq4s(cQ{5)(6D#El z)dk#BYg;=Syi+G+r`mkomEOA5kPNDee-yqpKr$Af+T)EbZyzhcs6d6U~C7gQ*JPw^x6FQST=mjCO=&fxcEUA+?c zU*!AeAJ%^akM!UHruPyy{l8!O`|FBuxGAyupF`p&QW_VT}vxd|M#nw2PyQ1T}7kU(a%#q(?JwJ2r0S% zw1RHH=6?>!(mmowQG!dV_y}++urD6z%je2y|``Lh< zg3j;jrdHq$X~r$SC)Wzlu<+2_VD_B*7(Urwb)@|4fCyrvBEle?607-JKb-)LG{LTE z?UyLnrrfIWoNYYkAGKZbzD+}*G4Rjl-cu! zdtc!HzLpD}AQu66M;j6wPIEx-(Z8a46ujXKN$X&wy!)_WBhK zk+A@;v8-AHuzM7M><`_~%y!bnVE%gr$70yiY;jNDq1!_}Mn|fm%XtNK>#VoPYzZs+ zD$D2|a{n_iy9JP(`>AV8yn$9X)5P?WWF9604e-l;*N2LbCnHY*gqpw+olxmEatPc{ zP>B@>Q0=4fQPtmH`4zt*c%b|MHYtuyqaK>CpRK}VZbaq2^u=XvOEzDBAqM9;GJfuwCc zQvzK6K2-LncO1$w^a-2W4iB8gRgvbfA8)9%U=H#3RiQs^WU)sn=2OvyO6b3aPGEsV zXB7DyAT;`CK=y8b`wbpvuM|P_Q1ZUK1kq#qHXp(lK(knt+u{1)AVS2@d<7e?UeH*M zb><~s{`KQC!UMBIvYvA`F~qKaM=9yhwvAZo(*Mcmo5lN&!`_Yr!N3*1;(Yt?I388(wlWcy8>(|x0eC$G@PZ8YSQsX)73YP0c1ot zlt6UZHq`U`PBySmuxxJ004NJXhnarSlY4!o|Nh5(J`!zKj`p_$>vvcS3kpU=Bxpqt zB#3x=S;!ao0+@!KGj(t1m*hSw3g1$75w_fY7$;y{b>8u%##VtZHzn=cIZL6UN%9)x z-DW57`<8CpSS&R<}$Q zN@Y^Gu%+v&Ibt_0|o9E2&6_~)j;+p@yjHjvD?*55XQ3W6O1utT${J|F`+nvS~6>CF#( zJ$O#HXC+D20TMMg_eob6Faz*dFa?JSo8z>K5$kb!hzn~-QTAIUe|=xS_DcEeKNs)8 z44-24(aQ>L9K1jP$N-;$azPxrOia1_`Hlcd$$mRa%mL5_q1Xe}?(Zref;=}KcuS{7 zJySy)U!gTbBGQp)=%IeLBRUVALeKj5YseGU&w&(SX9D_S516}QP)W5jn5Ub^FOhx# zqxtj$tF~hzTXrkgJTdsWJW(J3()1+WU&sU;zR?eQ>|#9n3cJ)Gq+GFa_-}8(yKfPM zZ4eYtd|-XYZ=|tbFav86AcJ0ASJwjbKOBO(wD{)|cfmsm+Ih}!#7aQa>|ojeeYANq z?n!xcV}lbg5E8a;lDYrUQ*r%ypdBHN*304Q+~oDoCfPt;n)H&(G!<4{92{wf0E^yb zD4l~3!`NjdLfniw49oSHF=!kSv$@9a=Yh1xRae*VJvEdBCzk-|aF0@Y_kIxh`xz_f zGk*C{Inb#^qTpgQutmzcP%y2ne!C{}5fQ3gyE5fdF$pii80mBR5R(f`Kt4jF_Er7f zg7y2$t&cHH19#im8SBCyfA9LB2G3nN_fTJ6bkEQ67M^&?3Ei2i2$iz;1?f&KWKES- zK(1n|eC*U3rwP{c`Qo!k3@4&F@OqbZ9J+ADKoW$F`L!DdWfHHhKRtA#XXvmp{Bz-b zFZAPJuhItq#HI^3r^VjY&HvVivMxN<)Y=8~EGXCUJVkE+5kY1hSO!>lJD+Vkewi2O4`s&EzSVo4xq&*kibk+R#6G>p9lM()r z=}_?RG-~~keHElKhX+k#q&A{l8v@V+S$mAr|cobc!40}F=K+ZK1GP7 z5*Q|zzrB=`vTela+?FpAQM~{OPq@`=)jnuSXvYxfzUKp~E9LZR7o*A01)gqOxCd8Q zs7pl+afX~sOcP`FP6g~?P5dCNnIb?Bob+PA6+jQZ zMy}~+$b~D8CU0=w%$61dI<}3M@D=~ds3^K<>yY{lPm{*zP+l?=A`hs~^7(!swwPS9 z(Rxq5a$x3dE(Aa720WE>qv_C7V)XVn?Oag8?MAb9UTePIaMlK+r(t}*O?l-o7(a_5 zM+1o1D`sbDUFGFaYC}rH+35JK{qofT57o=S@&XW&vusfe4pc<=X;b$UFkrfe2{FF$ z&*L@afv~h;8ryFMmo1KrrlH2JJtEC^HwOB1wI$bf!rrP$ro#EtVZtdM1?kW>2ah!% z7BtlmygjCCA9=uJpc}Bsbpb7N02&DAw;#Yx9UM5d7!BX&18(SRbSoQy`gl4b?`WR6 zi3*tU>FgaWtw#BBvNmm2$242t!Tvd@r)*>){#>1bZYSd!;rw*5PdVV9(YKr$fMN7Sg0a0tJ^p z!$b~&kV;Hb7b|15W;6^mraAqvuki_rV<>nUuzLD<_dGC?FZfo7Q+pvurl`^w7ujik zwu(Y&F*y)3yw)hf#LE5jV;}e!n*n!^f4Z`mNqCoOH+6IEv2{2Z{ywqS>EE!#p3k8t9MWjT-Nn#>Yw(8+blj|2f<}y z(hLE_2l_Q4Iq*)dLNtog@FcE7BQ)E`2UN@VfeX$ZTh?`_zh1G@p=t~^9#YCtq597*RdiY=$cLXP)Ljrmj8t@L=GY?pKN!cZN8~a$b zhIakUt6Y^JDZcY`SK@I*?*n>y_KFWmpg^Md7KFt@*4Itoaa6`(tiPg3ObDApGsI#h zfxPEu40M<9UHgkglN+7QVlZsO+Md@z%M~yo!gA}jivM8X9>;jNExB4YAkTvi+F8Up zpmJUWPAobGfnRW=BZciFI>$Yr0L)xD)#e1 zSu{~`O%$GH%0Z08eI!i>CW)%L1y8wz-A~hp#+rAvu8wgDAU_Z#_qN_Jg z%&M&mIB;eleiOxKe;+`%;PQSc6X5XGC03E9gWXE(I_?-?bB61)I8 zjOiUv?w5fu`M_)QtGZ%hs>0~|tJ^@OY7CleP!Ryy*)uZH=3G`fJsfD(WWdh7?=+zB&syEVdvylD!!;)_N zO)+OwQEoPqsp2)KAqe*8NIePrsqV-(pdR2l?U^c@5VVo2hoOHs_U-|L*mnfyLij)W ziCs+D_J__f59jwPq7~wRuyZPab432K(zlj9kGMqcv zIBc}DOrUv#C_DW%UhhVhn>NBd3XUehNw%P|x&^qui+P6-SORU~jx*X>qjW6NCl3Gg zZ#_Jd;#$$I_1{yQ@x#tPzBHs1%_0ziw0Hv!Em1r8892mVQx;I%Myx-GECj#Rr9j_q zEy%zMw*){L^bBaCh?0W!@F06|h>;E1Qwm?)Ly0D-XAm5&9v&-5LF0K!6f3}i7;{=La{4~K$*N2>@nlGvxq(K?mjw`=xTxIuuMHZWX1ig$L^C$1@S z+ccN6sljQLzC(Yj1|?h;#=Wuj1$a)N+7!~yLwN0(nr18tD60vL}=L?r;v z3Jw`GeMQI(^=_tNx>_93i0}Kpm}5c#YeJMIFKDR037i(rrAF`Ce>Z$_<5q4lR|!qA zUP#z=p|>TAWB34vz2`ofD0b$Zl~5pL%WG`k9Ndh!X9q8BPBHj3@I$GX-$mw6{Gzm= zeH&iEl$cVwc#+S>R1bTJrP6yL8x4sVSHpjA1j0+!Th>{{*r71-ua^Qp+Mea7OwJm< zzQK_CdbWc=1>x9XdBlss_%#T?gJ=+Ic!Bd`wNV0A416_!!qT%n# zbUip$MnbUu%GWjlu~I&P3L8qsiDult&0O6`!jShh#4cPrbgy z^bD$ko-AAjOpc&`n@rC}Ov|5gy>KORFQ9iMTxSXqJ|q#6>68724%e?FUj`2;0iZyG zPpFbfSYt#&+m?D+_#)8+41@dO7ptHfkIqeW|BaNPk0pgc?#gNBpcnutMF%dX6o0D^ zs*}9L6hm)8-NeHs_Me~MxTX_j>8tLkbd7+SI5{G6&1oFKQmi9#%|ppMrySd}*Bco* zwSloGpcahh?lIVx1aEf$xA$S-=EbGjf4`#w%9Zt(Yxb=tv{2#jL-RQSb*mvBcX%^O z7{LxPk~{E3ax)v3M+~VD2l;<1)iA~cQJv1ighz;H(clTD&s4EB;x(km6VeBtzqW~; z!$49MTi6fDfSoI}yMv5@>0hhL(FId+5Sq*$ps!?!J{=0mxAmB&+ z+^%FjY>GanH44>-2pR#%i_UT|wibZQPDIl_aqj#4&KHY5iZtX+&#{N$*4)_ zFYt_+gC(L1nxYOVww0MlW0Y$0@L=)BH>mD1Ea86b*01#^Dw43T(BUXO2E8brfC@YW zdt(Gn11KE_u9EZ#X|B$|H7T#IzQ3ED>p!WJvPB2J` zv1^Wa=y(!#0Gi+vc$0!+(0g9W+KM4%{kH$tNwLC-Wne<$2#{WWwQE3OFE|ck*;4_j zH|lD@{(sgGw5co;C^^{~PAQ6B1fa*K=iYgMjuC7CK*^^q4VyNG@Qk%W)+8JI77j?+ zN!o<_F>qR*axo%UHl9<5vK-=I)VD&O=3pJz69mAAycO4CNUk`D+Y)n-@ob*^HhQ_r9j8yj7&2+lI&qQ zaxySQFcL*$_R^Z&1-?%{{bq%nkGAlh zgTMi@qw~{)N(0loX%ezQdewn#CN?_R&}j+})2q2fV85G_lNyy$hmi&HtX87eSc z7l~;!u5k~@sgg^(Zcb8=u*UV;KV6BT)7V5K3g5mV=tHzyl|xc_lv2H%Or3}&@!-;K zcGvsYi|j|!QBmItd}$`$6b=K;>yDr@YKDpMob+YIYo8UQ*)2rTIAmyicj*SW?BHui zVEB5UcA`+MVo&!a(0E*xix{!7U0z;ruFsC~q|0Ae(t8Faj()bHcV1uj?m#u zfIJ#sqhn~}xDR-?CTU6KyiL(Yp^YQBdfQWLS9QYz-2z;sP8;vg$B(6u-?#>0&l4l;5CKJMbfZlRw z0}D|*-6i1sX4+?Op#AqSa2{4ORvL{hsoc`+WAc1!R<+;vh_0ag=^~pEk&P7zTWukUHwqS)_AqdAvxB> z`!@*({8lUVnUpRs&Fm2n9;Xbm*T(|f)#ac^zDtsfmmT*}wkw+}JP3V(2aUk2*#WfE&s1E>=3EZ4P%jwOUG{?BU08d*l?9~g<4?!Uw*5Ia zFmyN_*t~{KKgPksNaHG}Nv8fC5tLRyJ%3V-z3Hpk+n}`j5W-ZaMwJ!lR)O2JJa^^s zY@Ab~r_p04wvw;@rxyEC9qGR+&E*k?|y;q zxj$Y2_BxxarH-1|zStybud=3FVz8BdSibMui~Z$&Gdt}SOl3!OTw2_;_KueC84CV+ zLh>w@;LR#b(L6FycKbw@LS#g~N)EgI~~#xBffzl)BG$7Rk_d zNu80M$mAj??Xy2sJ|cgit}5RwX(IXOC|T@Gv*kN6y`SV>>vxy;ohi!O(6zVg@j}tr z#LW8gsY0b~6PYUIx@#>rzZI3T`?N`Z9HGR#97sG7 zW0%-HT5q$v$wjWk?v%yhpQFuey5yfryXBJ__^qG5Q0^1xJi{1) zwjoy+!@AY8lUS#UG3~>f9Gqpu-rNq=cgeYniM8$BOOW=Ouy}S(?NIUJ+xMJEQesY# zE8pQpR&XD`Z&h-~N@l{dp|RR*`M6w*?I}^iU20KSW?hTs^r>niKD(WrFF(hKohf+f z{=YPkhvqX2>FFl&yI%g8`M|pA!l?!0Oe3CsAfb^*bu;PAMn5f9nyG z^ppMEEB?~2WL{-a*4|orPYF1fA-w{rW_yRL*^6g$(_Fk5by z@1&S~m?$W=p_s4v=i~jEX?MtSu*O|V*xwy1k?}2bbSVFzctj}wl*J3#!uM=_6W#gA z&bHyhYv$!HFC<5I9jREmbh9p5U{U?WTg&(D_7(*Y%Wi&y4O@|Hucve(b${ojQ{$2? z!H(fNTYMCEHJ)coapuC-yzi{qmVc7Y@7s(IeLzK4MFhn8LgT`hxamA<-e3U?ti#j) zlO8CBprdUt;sRIPC4OHryGLbr)Ue6AJ)qh`DUK@62TH?Zs?O?Hz5Kx+!{NK^|Uq-^yUoSX!ZiT0^nzn}f zf6?xL_12%vPClIKFa1dV;rW9m3|v#7#CRW`I-Ip^w)LN1LOGvWHh>#mPM^C)|9!@f z@MKe(YUnf~%!En{0@5!@FWWa;Lk6=>Qh>s=Azy!v=ilFX&qL9<5XB0O-aVjo+t#$C z5qA(Tb(^nb3UC=2)yQ*9wi5q-88Oxk?fnq|OX?oDG)aVht5R(r%T>{Rd z19RmE_X~>cM5qynYHT?GXjJ{7jNT=@6BZtG&W)e*M#>*vaIpy6O^x&Z`0R9ABt zQzHV11A9}tM*>gKX~@6I4iJy~%zycimHq$j25CEohh*43{3HG1TEs0mpoqJ5XeOu;e-Py4a>&!Pv&J~i$$`2ajWW+3~)tR)*8@Z zPk^S#O4%~>FSBO=KFUBCaES$2;=VcOPd;X-l28}}mEsW^PSZ5Sf7ndBG^ob(uOZ9K znUjW8SqkEM!;4i&>6-jc7!Wm}k1Qtt3vM=YpMC~Akt;a311$xLJs$d_=Kl9)6c*;k zjv&M`5dagsb=~aU&Ca~!J-04jgsumx1G83ui80vhl_FxoOdtN3zRSJeYiacw6|lBX z;E4H_5ia`%z<;^`x*}lPk6vf8sp$vE4EG=-FIZbSv?l>o<~k7jtKRg-Am^{H4{PlI z?37%s^|Sa}(_uxN^emuAbP4QYq&^rs1-d* z;pRwW-dpAOv%0_1O&vh0j8Bjq1!5!lo5cLUla4I0W9SFiA16YxqzgZSI9*t0FSbgH zOn^v_FGF%J3LdV^yL5kdYK3Or8K{imj(|IyOq7w~p-O03BEppbY_|i68rm7iIk=B` zf2}`$k0FeI=W08aXWlW^HA4G$k81M}aANl`nwAFIkiiBW_3OQq4^)$EObBfU!X<&k zQvRrFohp&eN7?QM@X|Ii8<&coC4*S#VZMDwgvF#JX9ES|%F;<=+htE5-BZ{ejAfzi zyzSa5L(959lRC~yYnQ7!`{)FHuBK5GtuR|oVX^87`vkyETcI^BBZkk_y9yncA*bhw zdj1y7#yIg?=1@Z-jXX zIOMm%UqeFw)e~3^}V2kgIgvD zVW}hVW@BMe@bweD{sT`K*hTJ}-Y&d-7^>V<$4sRK^AFp}chpWr4j;FX^@d?5CSk)N z{*XCgyA1Hl=Abr3oISyN>R9=8;La0E({xztvO};iU8_6`s|HgvFPFy+Nu#j6IB2cM z!rATBzh>AHYomv5?fT1<-)0AGR?%QTxQ|p{Y|N0659r_!yJPbbw+(U1AxnE_eY7!B^wKW~ux9{ClipW{tJzZe!T)8g2v$SJZnu!nS}6wm3i;SlQA+ zf)HTd)`(4AKh(bpz6O8KvYCS~M&RB*L)O>;MEO22+pYkP3xbw`8o%07g&Jl+9`lWIeVJF^g;W}{A#P!1%lsEj@j$H7d^#v(6sp#kd=&Kd} zzayLZYoDu|oLT3ceq2F5cLZ%^D{##X?58pyGM4;oktmyp3fG0LP^D&Ym=wN(j%*uk_+4-Wzx!-M zlb3pw332=SdK}tq@pUN&e-4Qdvm7rQo7dsXG?puPQhFx5oT~55eMpNqDDB&!{I8Ju!LnWTHo50 zaU@`rq9!WX`YT!`xe;ojW|Bje5)2bMvrV2~e>qp>+#I#zNXrz|xo_9#ls8eh{x%T{ zchNi-CNc7oIememGRnWct%nX`Ohb`G6+#VNLK>hIH-N#5k6SRb)WyV`hNWLYB*2E} z;<>I6Qhd;S>L<=xlP13}CjujQ3ZiIMvq{%S_d$UeVBqvXn)XPc@}G0NpG1`spYe2q zC|?pxNPh!1q%zWyC+4q4#_!xd7YA!joG^pD0N@xzlZN6z1Xi~F3OnERRPh?R084sa ze9SI7x+%mk23XJJ*wM;+;5{;wS9v+$Xv0esoR~zgVVkbG5uSuD(#P=v{CHT%Wm4%% zOOFAjDE&i&JBY?t42EOTkN$oQ5zrw8nsF=XeMs5^``P~Z(43XHc;%yaO!t{w0^YoA-Iaum<70Y#-ASS z-zw3Mw!kz$#i3^x++VT;RMMb0kWRKE;ES4XQIXo>+;1Qr5cXXg3qSCaQHd^HCE6Nmi0UR7b7*ZJq`AtZo_$yIl= zA@0G!MLn|H4#^2%xUx4TFdTB7gx28d7M&EuDuQm}i)ra&@U}HUm^d;|-x4g*dASX4 z%D}Ck7Ru3F)_M(nw{`b6?=&`ETnADBZl^*a68Ur-m&d8D< zL)1#A`;^(k(fxK;q%-epUy$`qR*7AM6m5nHHJwd8JP1W3Ef2+!r`@`r9$e|C@+5`7 zm?<2d0^eLPEHMEnRMb;dOH7$ix*pB})3s6ELYp}y|Ar`&-d{Sv{knQTM^}J{D)^)a zJ|cX-5{D7{wH3^8;G^gr85MsM2iJ24NF4TXq@7%j;Z;Wvv7c!gV4dxR9WeMk4v0mx zJqj--A74jShU;ZGXqs15_k0uF5gmKj*?XzQw6l=IC z%nhTSdtRW(b&Uyiv`eAq9Rm>GPRJ4P`*ww1OPd`(%NK3}33A7<2UIp_w32-}<1(0_kL@wZ%Og!Jz>|u=?NResI;*aM2EaiWlc7^mscnV6DpBi@M!c!Opn$ z$;Ow6+6L|Zn8M#wK2>Iv>_zjJfVoY(ZU1LG>`eC|=s@#4QTaDU=}^ybr2SI3s-YG2 zX)KjqC7$w~g``*rhv38J-QH-(sxEk1$>tY)UrbVBh{jlsfU%7LGAe;I3AyqhC}j>z zw@;prAA0rK54P2N0wr7~LY5AO%+2Mw(ssHC{3TNohNe*NU$#jG+s7ZY3gZT8!xIbx zpUL&!s!J4zAz<>{`YXqChub#u-ZhH+g=t=LlF92*WQPam<=>vxJsip?CnKKMYcjkP9K8 z_ylM>ywi|B>Sz8vrRtHRw((oweO}$_Gdrv)3{#0j)M0?ar>~i_%dnL>_%UsP$hi+X z%Z~7S=gMF_haXl~qlxhha9*Q%ElN**xDoX&FX%@@I`s0IYxiIL5~Duh_%Gp+1)Erm zsl7NBcj9s#1SyM>xv(|VGz?&AH-)X0E*=a00A?}+B7)`W48cMlZ`?egME17{4C3hT ztT|?S#w6deiU7T~V&9cZXowI}y5xnefTt6nVil)Ldc@)3ZDUyil?X7Jc)gpEqy_k0 z7k{Gp$bfg(bg(qtPEq!)<{90aaF6XXGi7*3pnMu|N-qwEkfr|zjo?(NQouPosMaq> zRN?hZmkpOdT|j7-yq@wL)3lVYd^Mm4Bg|05hB55M8h=7MNl5F2p<0O zdZJM3J%I^?M=mjx_C1EYug#A}W$TTN|Q&g53I|60}bJo*B51#44dIeFk`tj8Q1JLy-zV zUF>9TLv89dJoU5>Xp;h+*o!)B0)lSV0^5=IdTQMat*hH^sA)vuLeO->tl@ib1ie5tFTuWr0zbYRAztO}r9)kQsAHVzB zu>_#3m^yR!sbjbB&j7)=j2h&A2Qib;z$(Yg>b0T8mH z=M44M4aWhrZFwoJb088w=?pygRnr`pLTK=F^LNBBt1WALX0I)C5gN51ih7V^K?X;*RSDnvz@3a z7L%&zB~_w$1;=+yfMzQJ)8#?z;wc}|cCi4>>DiX)4QfI?5!YK{0KYmqu?VE#v9)7; zmwbi~u%$8Ov{)=?l)L=hxD;O$oMqjvzSvxMN?FQ7%|_J>)OICiH^K%Sq#j$meC7iD z2Ptq@(`%$Fylit^eiD0*@DnYIJ2?1ZVLeSIOof+5%tjS zl`nV|V4JUm(|pOlG+PZf_!U29LZ2L{?$Q#g9R&ppKV%(*>TsoVWs(H8>X|gp)ukdq zmQuYh_wUS7RlcYLJ_7RtmAJdT_x)8nQg`AZhcvHrwWZr8e!K2I-zg?LI=&xofU=!% z0dc&{2v?Cn%)H`kUZN663_7-1m9z~!ht}p77bU44e&J0aIK?{{yGsq6JD(A1s4#s( zo9P_mb5sojwd3v%Yo*#$m-_Eal;k-PS+z zVb8ti9o-i^TT{S#UnFvs^A$VG3=cM}_L29(=>Yb9c3IFeG)!x6aiFE|9~36oxMQ`S zF2KYNda(wZs;J4=P+uNvCJsv@u0u@_732)*_UdFG1dZL*2p@L(Np~#-@I~i?0AXau zdprrk=l7su-jN4c*ZD1d*aSe>wP>L|@Ahtz!6lY!9}3Yi`St4nhM4n5>A-?#rh(?k zo6}9FgIL%~24Uk*p(y}RE7+URe$~_ZK^MtQ&M?!2$psno{NyHHeo1&LAyh!nIMba)$j_ZwIo#{<&Kkeg@wP>+|!fDiM%8*q|`qO0&;CJ*<*9H4;f*Vpb7Q`#lU zuj90b{Bd)i+X`6Q3Rgn|Upnk;1EMNQu>3X+*89JgxD0L?;TLzSIgwT2Sj%pemYm&s zj(F|}3*TXy;bLweqyR(2iT0z*hCgQ;Wh--G0+vlY66hdDM3F}gUGW9JZwedB$^#q3 z;^0OqCJXLZ&}1<1yi!6FIk90=%URoR{zc|fR!AYJ9;XB3|-oU??i63u^@F~;iv z?*vW4+hb>=^jYPUhRwox1v>H_Ox!){+ZNx6A3NK`ETlG)F%MZN?kMVcr& z7!8zW8mj#knYmp(#sx`Fef+Hd9yrRt4#QVZ%E9i+GS|?P>u`k93-U{b20JBGgzE%@ zjPI-nsdj3#SmnP$V~7S3N@yhr3Tn3n`^b8~_9J?|%^Q0G)faEk{3m<;2Kx4W3=gmO zww8O!(U7&?SG((qAFmUG+AI#3;wJ;nb4$LNv2zC|h6>)5PGbpA_H2}8CC6jh)bDsSrppk^N*E7Xd30S(C_N9q zA9ev7vS|h{SHZ$jpZQBob64Cp`1!=j#Qtdx!B@y9*zBjxQo2)-G{<@-RAH->g&m12 zM)wz-e`U^vCpA}M(<@=?FJ8RS5PErkdpn`bVpNOuoExtdd? zz+BH7p!(9%*sO^WbO&TMUybarONz9?NiN}^0E0WGPZTm{M zqK(bxp*X#dNVjB?<1Y4?wyyWgsQ&O?#r5hH9znU`k_x!K2?`JldH#m4K-}w^5oyh5`rUP-iJU%dODz4 zP)zO&gP2KLw~X64#xls1a>@jAuiBPvtWYLiv}vHrcpyCLbL!OyD5PNZ54jrxUU*fy z_T(GBvO}Bz*NJHC*gfxmyHX2lD&z_+37(eYs%5*2^1;`WyPa46{gqa?)q1T^Z#E0B zpUY)_8kR?*B=b(~!gS<<2s56dUHtP;n$UoLuRe&ZB%1^kpbJUEb_{y1x4?%M3df zsNkL5sp(_qzyk(1D>onvH5tSFT%kU)R%_3*I2J>F8Bfcrz4yeG4AK6d|3LObBIsnU z&VF38g-$*aBPNs9ts##i&Vwo<|2f={?2Mo)aWU?g83ysOup^<{Fu9L27-DR;CSfrV03zx{G7R;cUWjFsgg#j@YcKY2zKj5C+?ps)97_4{0|@Wg+yDJ@v_% zJ%EfRIdT;3lcct=(9X)m;!vm5#tIv@HLOqsQ0c;VY7>h9Z#W!r+EjBK zILPn;bg`w>NZT}gug23Y^-vmGffcwOkgBO4odS$6tZu2CeoTK6B5riSZQ1|QE=aye zOeix5(X<4?PvFV%zDJO9N}yAq6macLM%rK0cxjxNNrAkZJ8g?7dp8>T@o{W}jxQl_ z$rb>kc7X)`C1nfA*1(dbLTi>8E$mGPD7bE;F@(?{6ovfuEfQ@X0whQ#_NLrovM(Qv z0l^R`Dvy$tY^WI2N3DLbm0OYQw>&2FsO?jLtq{i9J1S#{zOBf(+pBovpEHzZ1s}ZP zF*Ez5PCd_~9j2f2rTQ-3LZ0K$7yVec5g7#@xcDV);VO_Rp>z7Bu-YuviHW3mjHn1o zHzB}qw>6CiQ%$%M8Bn?)P<)H;gb=!cD|Cw9^V(2e-dj62^L9(*YY62GmIu&sO3}p7 z;nTy^@2alWw>Vtk$8qzWu#5p(<$lkZH2&;`umeLGvcTxG>5DK_Mff_Les%G)%H8o^ zzcbtQKZD~aj$$PBcfUZllZCwq#YK|jyUp_IN4B-ip1}g}V$9G6Rc?+Ze&Z)5vIn1_ z4Uj@FhHqbAj!<+j)dI`!%|~s+n^C(}td9?WxQdB1Bs@YLNzaWm1eRRr%N_=k%zbD3 zzwD*Wa+)8k&C}=>JoVa)2+w;P@$-BJy4x+z(LWtlmEH4KKwYVp{5h}I8sWa!1S zp+RgsThi}|wbpFerJw;tF-0SoscAW*G8z-7WViWRI3bwrUsA9rx&pRvr?jR(ji@hg ztlXMwM`eErU<8EXcJrj8o+GWeYgmsNq+&0hZtJER83HCsP6efBKc!oXrtvd}%ut*^UR2AO70~ z*oV?4;L8d^@{cdB2fWZUQVD0a2K{Q>XA+VGBH7QJ<=6Q=*g_&j7ka|)+Iv|O8zCj@ z@;r_P(*l(KgM$fav#4V@rgvM!%g~AUy0USpKGb2iX9MUz%W7aw5~oG?*wqiT+SC?2 zgdh@>x2z5Y%+o9IPQ_4Y{Q$M|JXx`#@MC6WB1Vj4OT}o)u&3oaw&nbH2v7=8A88)) zup~XX`*M7$fjF4G^f4yo$w+Mi71H9oLk0xdN^psIG9w1F0M{ok+}Hk)QG22SVHR3E zAc{vEb!7Cv3%aOQAJN1_A`EJe0loWawG4T;VRGJ>%T_v1LI5bt9!l-GfAt`?1W1R$ z^D^AKwXo2;jsqL7qUTF9t&PsgCUH zPq>1mN|8+hbh^zmEyiCJNe=4s0KkYQ%lUHD))tsf?auuatFa};YVXN)mjCbl4y7kz zYKC+G%_4A0G{MZ(qlH9wR+sHP0kh4csYiX(k*ET0VZG&mAI2Wu4Ca1tgQ7&NcIqU_PUrVj8iI z%Ak=-dA+AR7T2#uvBy-TZ(Rr(X^wml-xYQ}%E9g5)h>uu`<))0&Z!=pjW8_(4M7I1 z%O9jh`T%ey>&Ir*ue9>3c!4l9flI@YIJ^>|rhN+Q6AcSNC~ zvKM4qiQpLj9QlPqp_e`B0&wa_P{Vu~{yMs|={f4Wg0heQ1>cxLV=a{y-%B(im}f`5ki3^FqZ=FOuz zni{^pg+?2bYb3UP$FoCD?PJpKv5^Hu6Ry*M zi@?tYV5>Z)Q;?QfI#a^e;_|(Mn`~2E z1*z%^k;|ZGA{svujRfdCdKQg^1nW^_iQSJ3Mg#t?5dsqy-LcR#U&Z$4bi2UW26cy_ z-5Co$bq_Oy5>mo^ujIA@_CI$XJGoA=>Ndd8>mA0YldS753!{1gfK=y(kIaoB)YIJ9 z3U6{~V>TPTF&xpw+R&hNS6N$MUXSQtdurMAL~58Kjpd`{$Eewf{t1pVVVVjeX{vSc zYetQ4orR~-`$F3w82W5#)mLCy#Rs+l?L15H(2hk4)ZJWJ?Fz;~gqb8zqB;S-duOK~ zU<@PYayXAnLuWs5ttu>avxhhT(j869HxNE_p*>0fcUAL)U}i)6bs;LxMceI^EJ`yI zf%mb$)T}h&67dz&u|$ximziH-xC|#D>O=A72MPVYKJ+KFRQm5?9Lv8CosIOEJScSy zrE$rECl;YQlFM=Ei&Y#!XTJFnl)TjrhYhAHKTp!a$+SX85{@9~{9+YQ@?AcPm=_SO znTT58iX)6fF-Xw>iRmh5w2m-Q)lK==arONHfoC$IL6(r84HFZG4ERw-`?vHc#GxCw=gozEjkdU<(_YZ(+z;L56XMD+Boh^-UB_#^1%Tu9 z?nO$Wmq5Hrg(kF{At6t%)%;`IV>nGTe|d2$dj&PX4f#C;>68SeK1%2dBZp zLw`RW}J%<6VY=sva96Y!{RCb960W|2AFn5B|)Oyz^|S zFgH1?uc&m7_OIYp>2*AriL~lL@KV>l4+-p3*vp?4?l>9z4?WeVvH(Fk1gL!Jfagj+ z-C}Q(0DioTG0~NdY%Q!e<=yU{u)QL{)X#4;wC|LtYk|h9d`;T0<332Xs)L7FB?`g3 zp-}1ee;jkL$*7+wT+*Nuk9r9k!~{fQU*J?4G;eVt>R#hg7_E@tK^H!3zI5C^;XYYz z&1Ytca*$>D4VVXL^r6F`CS_>UW}p5 z)riFp+lhyahH5dN80ZrU3YE*sNH8klD(OwAK(1|3v;e(Y?UIDHM#vd*l6#;1i>gfV zcBk)#hq>S><@|ZdXp5twH`l~83NW*>!oy5>v6@$OD@0OC$CL> ziJ!UWrE~vxc2Xf-Jk?P@sZ80JiEwW zmps_^df620%GF_&);vL)IWpLoe6po)>;2S)iR(n!p1ay5uDQFwqSz`?%lt)7e9yA& zH`02`WiCoCYFXhO;=xVE%&cu5las4fpKoE)bJg z=wEr6ES-J53L$aQ+A90!nGu=wN~hz>cdz8{y0q2x!(&W%%Z84DQzi=jZSfzYJRh+n z1WrXTY0LQ!2+hZYQ31MV`^q$|x1W!xL+6^MC8UrYOB8aCaIKinZIIr;Ogw+xg1r>?le?b}~{F!?gO^2e!Y zmj&ACwIfu)dOUYA?OiZLD2- zxe4t9qPKP@3=7j@i2XtarWB(^GnE&KDS67-|ImHOLcLq~f?12{xUR7tTC^X{rQmLx zW2++*kDVf>(RRmN_4tJel*5nlu|c({Ay8c#m4;9fqS!_o0v6tSbIIs)+orzTywq zuxvxWTG*Ng;&;2<*oTzc|7|UQkK9# z#EtI4tYIPc?$*m(bo^w?I#TfTFV>htR2Y7abvb1G=u%l3&+cu<7sC@;^X|q}^n?GPxuNX{Gjz+B!-NVPj)siuB^I&p zatzzPHSZ_)!2MCX?E(AjZlY(zhH2n?#yjAPMQFstz?>02qeLT)Me1zrO zQp`GP(-Xuhrku^!F$YUXH9%^e%lJsB#SxaC;K58+VOd$wpzrEYOEL~#6gqT-JpDba z7C5>ZFojC29gtbOF0u~`;~RegC2%c??mltXi#Ezqz!X5(#(0s&cp#J^-1lp>9(XU` zPYvOglEk}Vc3HLktp$d4A?MJ>Z(fUOgcg^T!j-U?6D9CGOtf~Rau*~T#e^9lFw2|V zGiLLbLaj!f-aL_>@fTW%=RS|UHhKmJlA9V*zRsw-U+^w!Z6owNfa^C=4xQA{TU>+% z8hq_yU8^<7+8Xzta!K)C2n#Pk;5~xX8x^_trr28(NkaGU`}0g1B{Mv%K}zhfU&Z@$ zd_rda^hmAQfN>`G{dbY$2+05uhK5ib9ReNlc(v8@^Bdp6TyMI}t|{dS{CH1qKPNvX z;?HUX@jK%L{hpI+oe8n-A*g{iId#gMhhw47*%E9p!>%&kUhn^Uh+Gh09p68)t@LXO zzosn=9uJ{ybkgtMa~Ig>2oeZ!&lSP**S34>;yno?`?mzVLhrBN(-)!?!tb07y7#+I z7mNc8=s1pEf`C6n$|Uyw_bDuEihwZZdva|O;ntXy6!hNNj(+AuZ%qKPv$=!;8{wA< zq9(s*=#KqBEberwqlA1Pb@RQ%2MgvOe^oqPpQj--fE%_h2^ewjJZ0@|wfKBsA+z$( zfuF&Fh3}vW_?g5%`U3J@xAnuNO{8@b&YSvQ0wX=c=RSfkZOwaZRMh6OsE=>3GruLDZw-4aE?A(5^z5~l%Oe#HcO??SD zP`_WN8Kbfwzp&^btgN+Ha{O4n9XfCeP^qOjfni6p&hL z0}f;AfoMLZiDgA}GYW!a%>!j+YcdqAH13@ZpAY4|ujx_aXFk2P|KvB-Hz-i}4<49W z8BvMyFdCxvEvnym4lO8?rjpB~3cjDwQOQ1~a`52&YPd~pb6K+PudeoQaNQE(Zze(g z_kd}x4y-jySK#G+9Fkd}yqtn|>&sw=M z;@xtUlmk`%$K;nwQI&X+XwnxXQS2VCr~c|;^*ZO&U131*3vm2tE-Cz@1^e# z&)-<0wOlHw#FTS(d4@oq$iq1LW2btbE(zUR>lL`p7mc9zkfueZsD=)Q)}ha40}#K- zzFE}!^WbHesj5gwD%(% z3gf;kcnicW@5R;X*@R_8bmek~|BU8?2JRXr^L6g}w0(xnzeQwWs_=QvK3Ua^t1T>= zlQ~pJg$4QGBwQ*kzAE{rj6x9S5s;iRTU*gqJ6gK#&erRi|GpYO$$`D54Etj0;?A%? z$ss5sG*72BeQd^BZ~ZYl{gXuu1rLZZYp)|um26%Unx#N?(5`(cj$sQ}U|FI?o1>l! zt&wQ(D*H`Ioq9%U7YUPN*effe>5~*$!vnXf*ui8fuk zb_cnyRr$cqz%#iU*v@lF#03p0XGorz2tknjpsW@tdYQj`T_0Pz+U3CHs+HdT#(##H z+m-M+<@qOB9oRBZln6gpZf%4s=ul02oPIn=8zaf|_IR*c~Y`h+>XS9`v&;Wj{nCaP&7^j?8po<*qcQ2y=I zzaFs{*1*ledP@|3?#E%KUm24 zOiNVsVEqsS(f6e?hQ!{U`PdVKB$8<`giiW<u#-ArYqb9!OS{DhSspp!7QqtqM=o5Q z5TB&E}W*x5uVJn{#*<&|j4ejEeV4J6~*79>1m7JkC8u7bHCLEeZ{iFEy5 zZsK0LynbyuLSadk?=S`GS&JFW z#ut{jppvzYxS#n9{3682iB9q2$bGg(VX-@Z?QKNc3jgBE5~p8)rCR3 zBw+)BLHEWk78Z{SNgw_LkTG8%?7uTs+lN>gM66O$`uPaCiP>t0?)HmxYzywianGmIxtd?_=n@9=Cpm7*PX|U-yViVNwIyGZ4dkfy;Hh z)pxZnT*ry=J&#v*$F0<_M!WwF%?ltYKbGYev~j;SJwPKbakkm7_s*@*f6O|a(IAMl zjBJ>i-MWbs6Ss4rVIao{yZ`$>tkOw)52?p+-Gvj27A&g$bZFt{OWi894^)+WwHem$ zoP{U0L5MO>NaMkRYiHStG4GSbsw%osH2&|y2`3&-UFC4U-~F&-IG68WpB#G_x(Fa&O-jF8`K0B#CVA+9sJdbP+ofbJonPr8c^y6ZxQ(1Ix0Q$2?HIA z*E@brs2KQsk8?Ot6S?vh=hcroaOPPzjei-Z&B&w^dGyY=T@Tc1!&ewtyobm)iAm=S z=bsr_|58>Q9J6u3ACp|9vd09Eh{`KXsp%@uZ;9Mr&4u3f6Cj>R#qE9yE45(j$|&;t=LHypDhV@uCvc-Lf~ShVmSqMzr{ z)AO~@A50LlESN|_yG*ec)@R`u7Wi3fq-jJwwQ=e_`+GOxIB6fwEH?vRJq=>+7tY9m zv5}Yn`rQ*??z)w4%o~o>262kfb!e|YS*hwMU#+OriSN-kkBoa<)`^xnk z4`(p&OaBDueg}llUREdP*uFu3dg6Zy-v$_Z-G;(5b4mi2%bqjj%vFv7cK=ZM?M2v& znZYD`i2vMWGE)w-SgWAFSGKlS3Uxy9?DAagU_xg2QRH@id7wZsxhDwt#?jcpyIfhX*{ znKd0j-owE)05@=N8S`>ur#Dqw8{;n5Ut(&cPHypCw9tfD*9TAq9OQn8@B&5C{@ng^ zoc~d~7&8zhLDVj#79Dt@i&IaNIco0^)<|lCWuFO0tRk?)L}^3as=+8vOa?ggi5Z^| z=-9Sae)%|T=(wbS7C>{d1bEImUG{j+WYv_QaAB`Qf>lrjcM zuvE4X*pNz=BE)dz#=9hbC5nc6NmlDb^9vE`K zm~*4ZP73Ev{SEwATwi>9J=>B0A%VyCfU>)%`;1>+c3Ne2_P&Hq*+b*Q>3a{XG=B7e zkDiqw84Jp;yTB>yV+B2U_m^-;9CaN(6vIRE>&P0Z2QnE;36(6un8KE~SvIy)?@Q*E z&iVWEkuB-;@9nD()?!NV4|Mf>--HkFV^B)>kg_?wt_dMycgd7yCP{6vK|)rl5;fph_|mM0nsLTQfN`C{Cu!Y3F^)g%%wE4Cf1?lQ zVuN)$({VY5xp7CjjM=a{toIx~^bQX8_sPPu8gE+ickXkMqa$xyQ#o0;qC4t0vt(I~ z;`hO|fk~t-k{qPDtuoK6=tKuDzx{T!(fci?dChBVP`^qJPT|N&AF&nxiE!efw65gc zs|iwE8}-2=yNpbz22-cRap885v~nW7(!6sO075cJmrKzTx(}V!QB)Wj2VSY32lHHU zAj8yoyoQh6)s+p^b zhNm5J)bUVL9-x;tODx~kd#_)Av7vndv|KE_W*T z!p_Nc$7oB1y0xyoq0O(aZLv|Na=u@Wc{=l)FS==S-BPZ#*l|UzlUv@&2P|^!pgi{U zb7qZezLta~V zHySJj<(8I~0HkXXVV=9t_rKlfs56a3pk)g+e5%9poEt2%LV zT&n25An%Bh3+P;a1n0Ham)QJXw#lZLI=nesJ;QA=qVSlHOQzXR2szB3HHLjy(cE@K z`37|8m9z5QZL_`J0|{6~Ei3JlN14vh$%~}_{KM2bC~foAtBU)k<1GSoC@R%-nSrTs zE0jk#zRp}Br!s~3SYI4A46PGv`R?VoYP{oEC{>23kt}oeMsyQb(xZ!fr6{&5CN!WwO;ng)P+}XTzI!TDK1an6`#a1>I+qd1F1&8JcOn)2tZ|>!* z;7X%z;VNByW5eMB)OBqSEv&_}PTF^8w&wA2@3(GzDY51GqBGr;T~v~`U*ZwE(1 zU&uOhy3cL1%3OcVn#cIYm`gEFws_X{Q#z>uCZvq`A08 zHH+)#?v&*KP@C?`9d|HhM-bm>hy|Rnzc}d)UY-*cGbRuBB^_i+oc*{sX4^7-&BYYe z|HMN|mFr{Fx)qYw;<`?AD3VGBb^FgkFG9?Pn}=#o558^ds6IUU}Ihjd><`n(#c_o*3=96ElK_pS8hp-5doFJ? zVZL&b8%KW$&K6!oBa# zN=j4_mO7fVqt!dvc6VD5MrD3ru}k+MgMHg4&qPUDbcTzd?Q%jcKo9r3jGU`Rq$XOl4 z(4d@rwW3k8g=NI0gcIZC#^cQQnD8@U<$-d*192sVLHN!sE) zv6p?tik%`V-w&*%nDxHYlyYZZW_LdTW&N}8Z#zRn5AaEAocj~Qsl`kg%q1ro9K!05 zcFL2YjJVy)4ViU>w1PNlIU1^iiPhq!6&_>ucYl3}U%{?Ta{3r6#+uo~$h%ZKA~i!c zEl5Ufzm{=6%_y9eWCj`W4Nzk9r_ZSVsUyo?0zl|LDyA#)%jsMD^a=;n&R8<^Bl%4B*^ zKJ)uv}Nf8@N_hx+vZ@BT}G4uxxz8uY{8W~(ac_?;9Ts?PVfLt5{a zxT|G75UUr_$jnNob#IF_N!unpPXtLTrc!*wCO;w$?kpWdYH71S>euMZ=%41h^YdA0 z@2Nv_L;lV!s)_TcM3C$89y1*AvnMGbw;Kjdvhzwu9m0Q@NvZcd=;TvByB0p zg!aJ)>LTm6xwI_jSK2phbyHF{HG<-Hd>a^nw%klK62~7gTJ-Jnuwwa}gD1r=buGYufi&aOLEVkHbpnP|eQu2^{|x8p zRrj~^ZTz~F8nsEVW_c2imFDYEnO<+vMGE`O#9o$i@?FS0F=YP(T-cu6LrBOrgn7V< zf$5NSd1}8@x1XkgyHq`@wTk^UxjG+Bk(Kdlu?*5hAnANPD)N3V1CwxfnP*j|!CAY9 zR~)T+8`Pyum2rvjt`6$?=`yuXS#}?mg!{0m`{t`{zoYG|nQD2W{%Lxl`F`*BoN|Un z;5M})EL-yT@0jMETs((4<~OLXVb!)yct_I7Kbs+UFR_l_@S}eC#@r-35EWfV+l%); z<_d&zjeHPWe0dF>J-F79c^%%T#XBFrRbp?I3ghfp+wQ7QFXZdv>!l2bH5C5OKFXBc zR8kWN;Y!t;tz|Eng0rFqA$hh!jV{Ylnlc74;@iL!EH%%=I+FE`uF*RimL;Vsao~^D z-cY`pvWptf0C9S!(SE=86}5NKT$7~B;xWa!vLBA4B3%D>F(#E?mmH_B#V+U_A-D>g zr^97){WHin;GN>Gq+4&6QgZ~83Ksc~P&ie7+aqA${3X=?&(8N|!Td4~?HH0fUnA!& zNX+gLblV859J-G^V95*h#jwX{AhTovA>p~XG-}uX{#k|#ga|zs4Qpqe%w~m?7@U_} zUICf!iP>K>V*!g+!&#t87z23jnix3NB3uei>+xs=Qh5ut zh@u0K=eq3Yg4@tWizBbr`x;reN3D>K%%j(FH5S9}koiN4>nKP5K9&`vXxc1fsjk$7 z=6pL&89NsXb151J^f5$@av-CQFBj7sX82IHOtDv38Pe%UjmPYF-@8M=Y0Ay8Hv(8_ z)mfaef-rdKj!pg^*qEvwXJBc4_RC0H14Z*HRm|t2w9x-Pa4QR{5@D@cq59yS_Yv$R zybX?}jZQ7xzxk{s`=SxKf*9$Qp{ei65*B< z!wjZ7S6J09;(2_wE0iFwVQc&<4(olFP+{%w1o}obzZt_YZ5F+N8=e78C?$h3=nv6$ z+0$MHb&wwJ+YzkK_uPpA=hulkw!6sb_2ySoAZ|P1P5f~jOGRbg3dQ*wE3A`si6Ez- zfJ%#xRWFSTdt%0+CbXs(3(%(p%TzJAQW574NmaaU_$&_YC?p`XlPCPi|3SoK@eZocyIY4~(# zPU*_Zy!_}OwIM4hbG3+N^Vz##wd#)fs}EXDkw}fP+jI2Ax#-;tp2e%~GrG&c;0Ith zdi8K(A;MfcWE8p3H|)x8G~UwLOyfc3!X3X5i6SyxX{4z^(ygvzzGCmS6(DgKt-)^R z6k$AZzg*4LqV&jvZnv0cN63;?I+@-@!F_A^N%faJ zJ8WW1u&1MI{S;U`Pf{a+n5OZJZ-ezPL%<=a{O?hq^5@aBEmCihRV+!R4q=kke1kqo zr(}Igt|zfI=nEdFV9vhP>kaPMn`BY#`uK@Qz@gn@-TeVtgp$4j#W1V}eh^%r$ND(O zKX172*9dwwbNJVCQuk4KC09Bd~ussT&=~@sv5(M@dJaHKlH^Y1NP63;BUjphTkuS7 z*eJtXQ0!BoO4zIYJ)pI5{(&*3GKPagR|2my#fr1W`RZir<-R&P1D$rIVTO+{x@dKw51*vM_z6=ZN6z)KTZ5nYlZYN zVocj7S8g>kU-8Dtk2{6_Pr7_5meljWa^z+49es;YP6h*inaLDt){Jp~G^|saC`Q%O z=a#I}aOeIWo=43fXILib&y>6{``A6>T;228C#UCIVJw4xU7ya)y)F_-OC|H;s}?1b zl3=&rXZ!4xpKMFpxl#CDzExD4ev4VTw`bmi@lF#`$lcl;Mdiz~znayW9(N=k=^|~? zh~ru=JnGEs0)|&{IxqXPKstC8DPhqi+L`ww$Ng+)R!$p;!oAR92o@I|max~!`tc^W zZgV%3$*Z<|HAUU3at~5x}x6aSd43HZ? ze}~SkMO>mk(Qfwp1|uFesW*$No@Q>!9u+?qSn>UGniOw%=5UGgG@2i|X4Q`@ncMYB zoDCAi&y{AZw7lvzk~=f1&m~os<7=>_UNED`>xWTyi-3_)PqCc>o92ZR3+{4580_BAezLV%tiUIDUM@QFZ&gN z&TW9f@`Q$Q&zz9`$G7@Tq(yW1H=nC~nw-j?Hl@#MNP2ioh@!2k~s{KUb5I-DRIT+{?VOZc94d^)@SAzAmQ4_LJn(75V;2rFLc%?dqCD?yAp$ z8TQFne=@~>87XEv6cRo}DrJbh5vm~586vS_+>L{V%ree-=Eps7L~ z9(xzl0LT{G(Ua)%;AM|HL)}7=sjUYCxax&PkHL#X#BFh+F#Ga@37L>=m z&%AlaJZ#!VN8L|}%oSo(H>SZw5qBE?aU!e~E4ktoJDr}+mo@)^8o=TQIUi5;NM01V zU-3w^{c6RV@%F+8QTpB9GDn#Ib4&tWG1{?Fg{HI4zjrC#J5ck9_VlTjz*{dIveV}J zzwz?#RhlsHmz=nB{0h(iKpgztzrTQ9-CzBZ?iSuSb(34`)*bm`Ti;1A6|~<4!+(&v zuJLxdN!Yf1&Dr%o0FmJ|odi{ndh)~7!(C<9d4GIDDBpXK*>JujW#GT0PvvfO|DACY z=Ry7YyJhpAfm(}Cy(=tn6;X}QzRJJ4_sL^wq+U&nkhDsN} z%79Bn5;w8kdjJ*wmu9_v9q{0G#P=ko!`4BPhiS{llx^T#Y@q^kZ{P#ohcxW~dTynF z3dT2fg>Nc#wG5yCyqBB#H#GLia zA7!DvAhmd)tm3VO2Emj>-zoJKSTGHDnC`r)DGlx#q}2hjnXKq!s9%piyBT9?j{($b zzlnQ`Jl=Q@m|zNRwD8gDTen_p8;SJBYzFN;P(M%z$`a6^!FSiY`4@DC3LcO_`^ly; zGW0Mdu)A#kL+d0Ca2lCkPAiH3J{zjD^?}1g>uyYDut&@0HJ!;fz)Cjcm4D#nW~d*n`G!N} zp1T`++^mT_4RbaVT;MUZf;I1)SpDxHeHBci%Me!TtZ>iXxAn?g5sp^Wb>#oq^-siB zk)bVgvuKeG8jvXMvck6cJ&&^Y-93U0F3ZUY`e-yOJI~57>(#453hmM0 zMT5R6Z?oIuNp!dVJQ`LR)H+J?0xsH#7>*;#M@Kj;LGim`9SHl!_7+&s*hV4NK5zCM zHz%e-SXOO|q}n~MeX@M+dGzVjF#8YpZJxjH3~_j^Nvkd|mx5Qz?$M%WlD9yQcWTLX zA3`K%@(yp2xC1S*M}xwQF~Wbh<7C|Sp(~n_g)pvZ!k=cH+ElP${vbwEWSFa7l-rSb zpY6U{@%MVNR+IMxa#TN(6xTf2A1>DkR_jQG!l&ob4@?)ihZ6Eki(~gFU(jSAIz0qo zp0^kR-$G0b#@FSGLqhZ(E`?fk`bkt0!G!L~odEgRk>V`bzC81|C~MY6rIJy^z>~ATJmnlRE8Y>d zhPN?&4acfWe@bsYAMk@`QnHx+aD=;3wJP@gi&$T;`@blJ%!_5w{QKEL)S~i&g(gYR z1XmbdhkW8TYKcW@SM0|KiEL@Az9?nK%-HM0kUEsYfwu#p#vY?^1?Z1ot>c90c9p}b zxR(wlf0;&H``QR9Fo_pVJ_qiQfDPx#1hhL~CJnZMn>ZRJMmTH&q^SHhN@Q?tLFZNGt;P(9Hix`Xx@ zE*%U2>HCVJ_`s)%b?)3Li&2>ywTG{iR)b{OjJ1@NXf<@vs}%0MBDG&}1(pgYpv}11 zrEjO);4Cn{%@@RGh8=ZU-19uK`Phc;a#l3D6Op}8-;(-^sLnIc_b#R+%D z>rg6;2;@Dv*tbTEA&aLUb0b6@U3mA`*wIOCr{Q2)INw5|P*GcjE~Gs=)-5Dc|Aph1 zcAg4=M}bvow?};Z#%fHwH|#@^I71bWC>)@aTx?pEgI4LXi z9!yw+$3wJfHBInVe7}vJYHQ8bu=t)rCD_Sx_}W3_my3=E1&TejzNT^|p)*wg)BN2T z9HT^Y_fJv*zi#R;-ozwRH9nsM_DWIdK7ZcjczG8|>-Q@dO5-XejC@ao*h1#crrVpJ z!7=*CPrZ_p+N@upo+>m@vj4{n^7m4xJd0!~D`{Dqx)a3FuE-s?JrvyrwTTV(#CbA= z%R_sX`8EeVTz5Hek3ANxdz=tp^oec$ zxVaGtLf|#Q$e>!Zi(|EebOi$at(Coj%sEGU?m+WBT96$YQE`Is^(DA1M3yC&?c8in zV3OfAaj`*t6kb31{R!6n@Fs93H`9*X<^ZJK9!2cB_FSEr><;I=gK}NRPQx#9D;9M= zzFhm8Rh(E?qp2aD#3#Yab^yeoN4I;MkRMiE&}avN06eky7u@b|KbH?A z-Xi)PCx3rC?5R_Yu>S?LiAd)*FHc7Qg&$+J1?C>lS0ce(pJnG5ZHAj9P!h}r-y{^H zz1U31c;%$OLW(oSH~aNm!-;7*c`fWmH#=G$y^!f0u6`}Tk~7+wMXn7BZIDF};~Uc9 z-!cmoKURI(>(EtJc=v2@a@UJ3{foiz$AdI-7=N^9u|as&+(-7mNXAHw=KvFetjB;A z#D}g5=iTyds&mS|YXp7f*LCBr$uhd>wur7dfK;;s2j;g)#kI6OSFLctZy`!__RRkF zTxVHTW|lw6k4)b`o?TfM7^bv`H@gUM&jZ9oM~=y@Jr>`h++J40WlA32GEq|d-(b1O z!I^H)>sTQyntVYiXP@@dW~^&9a@270T*8=lg64X3(+or;EV zw@qO?xJ7jh_a;^D4g>%@jHMAiw?&rEx*w@vw}!bak1{3(5p7rA7j0LchFMJV@9;-_whtd^(P!pvAjjSZO}j z1qxE>njhUrR(Ecu+(F{a3-y}Hao5e@ics2Xe{cflth{xRlH_5TXf4u5xbk(}{XH$! z#%p}<*gSUO4?vr$OUZ4pag8b~iyQ}w%90`9b0)od+t1|8v4H^$OyJO#?e9M+-jZkW zx+KMS=w{3)ZeIbh;&}~NylA<|yNi1iR_%MDhtO}fh95E(jh{I(k zu4pqCSpfbAx9f5zV|}tS_%08no$ew=bov9#yehw;?I^`%IdkCSZ<|ayQOtsT5)_%c zTNAte(@y^0Qej@TZU!oZA_ADM_WP{!1ABL!Fp0Dovl8n}ic;&Z@90_W)l1@=(J*Wh zPU4eWuyFCQ9d-mBC#)fh4FaYF{sL;;mpD7!P|0haBdztrt+^vFcx3y3V9G~}TT8a} zCy*)Iph>T)GG6hi#YME2-h;B~`>rFBNjFE`$k|WM$h^5>>N7lCEllCN=jOzQQsuk#Og}CEc+7mHVlDpi<`GXmNw5 z;e3cQ1C{)P))y5%^e6sm(7+Sk<2!$1SOsxu6<3GjgI0DCR5X&-4zU4;k;rB^%Yw<8jbhE^r;X_WjdiAT6vDF&oh_hs&IHu{*X`&v)g(um0}li?qU=z ze;oYtVEm!YujHvF&?NrhnEKX_oh8qjr$HQ#!l?LHMB-spUnV`6bC&dtc2KtFv zF9!@4#=oydV)u9^QQ8h0p5Z`KwBm{&!+(`{^81nNGa4R+{7HO^iHw@y_oagfCj%TVRAk( z*T)bYXfa>*sZ)wX{2t$U&NP^65YZ6^y#y3M_OOgPX2OMXUb6fh+lj&Cb2-qIU+ree zzo26Z&s%Ay>PW}C7fkLc5gUt)7UK+%q+%QI=h#?Fgon=4u-|O4z zZlFj0v>_54w7?y_GIqVDoJ9L%`PmyBv?Ht=fWgjq;r6h!-gN39neXK(=1p_`ser{u z1NHnXrBwJ=lEIG@5PSxK83-*Y`oBF|7g#U&-C8;qFRA?1WJ_jk_W&9%Mn_g!hQ@2; z+GUrHH^Sq6k$}!d88Kzx?6KRgon8BnWZGn`cJQM7H_%AYX>fn#U&Z+}a1NT&Q@`=4 z2~fGe3a$+BNqWn%>%z(-1WYD?8_|a=?K&Rn1Pcc3_o*9b-{~$`nEsh|J=eL1v>q?z z@$Pd)YcB1fvL7jN?07j|KCqg=aKC=^%z8wu9o%S9f92pLtwy>pndHhDzMujLt>9z) zs=4S*N6tiRNlQz3ZyQRgZA+?5jodKGK~aV?{-LFcUz3hhHJ)4T^SGXO#j28|NZN-9 zB@@^Hh_}wFC4-%o6A|qiMHP-Ei*L5*RS{Yd=Zn2U@9Gw;lC}*aE)c@fdvY?s714b> zYn%R#R&O#~Q>Ky{!CzdnVos!G2>Sc$@C~cp1oW(spe{HSth>IKs4akcH&T?d^)vfy z!!Sr#6^;uMdxl?ili}Pqq6X6w92bV9m+FlF>&2xa{n~x6_o9#kI7NZWP^dQSy13d2 z@wWu5+-uOz1I}_zogD4Q^)}4Cd@%VXbV78z@{c0o{=z0!X1oRKx1zd>=&vwhyyrev zFF4>%9vI*6W%%`At{?r4M zW?6z&@#yiJ=>W{IJ6b&*E$h_TjP-0z=<5^!&59S;q(fivm#0Yp<%Ao5>7ZB2rwJYV zzkkF^m;c0`)({P7P1%UkZ-%6pi|71D_=DTNLgX_R)UfSXl~7p&kr!Iz#kYg#B4%j1l_b z-~lU~KcOw$AB;MtS(O!%or79`iHn6Rnp7sz}gNt!w)c8nWE>h3X zPkpF&0PH>X3{0uk4qg13BRI|_M2$mKGp|t+Di0O=A*Ptme1qVjq7B;{f}>Y4Dt9T( z)mw~S)#}aU$a#jEUI}lV^#a+3%732>+O33u2@>Z+Qw&p3U6v5_7cxfonT3R{WcAOf zXC9vib)H=j3S|yPCaOblJY0cB6}4}D*~PiL>mqy!oWiq21$pc6M;$Kd6@Om~y$Sx( zrHe~!RPdMVr!zbHO9b~4zyt@alIsRM?hBCGI@tGZKR9d!b9vXwuYIApK-YxrKewRP zPt){q(WrFWh%mj*v^c|o2h#;+4v=ddG1vM1Xm9$nIktW0T`Hm~(L4_O9imMm*n%06 z`8T>O|CJ3TyvWaIVb}UJk}!dirh4xMmZP*2O)+SMU9f4cBMs~Bc6|(&2Tkad4f%jU zrtU)+nJzOj)c*^31B|&F=|i9sNsd3J(=+prO}>H~v^KNh&az+~BBdL{LZ&N4+R&8P1#+-A!XSGGj%K8{P`Dsk1NBt zFlAk@Lw@xKpR@Fp#gViVY-NG>lEZg!_#BmvUMBjF(zTCs0KAs7m5^2*+O(U|FzXM& zBwd%sSm%4&qsC^;b`7f-$xqJV z>k5|88?&0fb_~mJHNEmeN#^YhMHN7;0j`8fyM!x>``zEXO*l1Jc;|4nYlvOu;lATp zFShN|PB1XCs4?`DO^$kzU!0M+EnQb(Yra|z_m3I&Q;%v-I%TeTB!B1kqR+o_EU#&x z?!ARB_#;8wFf{FX^7RQ$4We+K27e=g-U$D_WtDRe`?Qe8!^1ADpoiJ5*PHB+?Q z1M^gO6u?RE9aloth>AJ;=F7iDa1Th_#&v6fTgUXdIn^fD90SCD4H3h*xIAmM!|*7tMY9wB03-g@?fUH;)IpUEvwmb{W(Tq za?&t+)>y01?3S^DRWmb*{-s0`-v-mUW;;LYNz$(Z-I%Y&T1;GN92>$)zGwZYP^E)tn5_X{FB^pab>-3}$ck^k(i+T3;fBqqVB>r!`Mn4E}_gJ5@zbfls$YfT) zL`xOuNTrhF7`x=pjbg#)OA+t+D9q2gktD375kLrU2!+GUa}*bP?STe!8I4G5f}C4m zfO3E9JB%|&C_Y&`|Ca-T0Z_u1E6DF%UoaKDx z`6Wq&w4pvL>m8KlO;%vrH)HWS$mOVK+hE|E*2<2&>wb}wVeCzHB~s60LN75e{seE0 z#_fm%m^qg}#2UK;C}O6>b{El74gF7ch_tT@ZM~_|ORxwKlXN0qSZFrjLYX4Gu1Db_ z8H2L&HG~;9*zy*kb#>Fj)u(>CjDRit)z3FufX9$-z0YwT2l2DolPqcyVM<$BmY^WN zW25qz*6+E8bV-qThS#~xe()z5UWW{+5DJ8j1kX1|+RR3LvEH~5MYsdt zd=aGEJw7wzPDGlMl5`a zUE$N-6)_M*JaF29@w2v7zjI696yYj$VE%pIjPCz*Rk6)JL!?3Ex-VN$b>aM9<@duW zdNuH{^(yOfjBIQi+VzncKc; z0Xgo8g;E1XzRJ#rL2P#=z+Cs#6G*9s0+X;(&&^_lhg-&dUE=(SQx?-sRa*w&Vj=3O z^oDkMs6pUTY=gtOZ>kdRLakU`R60axX(M>f3jAqq<>2%!M_#P(dOS1zv4numOwd0Wm27e7oQ6e47_j(T$bGuU4P@da#XUWdH2hA-kztTr9JJO-K#*_46Y|_|^o1sPc->*gLtntKy+$XS=y#!&Z;6?h zI~K>E2&Ioc&D*#GAKHOXmdk>{hE|l*B@85TT-`#0P<@uivt6zYCJ?_0SV}U{SO$jL zEdM$`7#wTn7+&<5dvDZ86u03o7jS1;_4t0OPcw|*-F*v2njYXq<6+9s?bRRNiXTC7 zbln2ZY>+z^o)K7YUe-udpb*-ZmpHV&K(~P{wlx}M$8iZI?4NVS&fZeoq9^Vb_la)z zq&+dDsmDuG(FpOj#YkoTl#&y#t{ zz~fXPn?2;Z&S$a#jX2t|sixa5D}e3pDzbjGzLfs;FRmQZ2Nuj@tLV0 zmKCPJWKK^b#U#sMQeqC3#Lg=|Q~wenzblz{L8RowRq1yvbN8h8F41t;vflOxD!O*G zF;+ym=jgFe&1qf$u(-|)y(_%)<(8W;n#e<~D=j{voJ@;Y0sKs&bl<@rG|&_Xo7AUTfy2zm->jGO)`akL4g%zHKM z3k8gJqq-EOXQ*9mOVPslu~mI(yrTSE2_0a})!3+xlO@d(zjMB<4kX%HqPqq7-v`HJ zPh-D8$qMJPd-bL}5OTR03>^M37yi^bN;6siybD#@`SH5BZ&Py$8TEJkF82$tojN}} zm7YF9)K$dnm&w?UAEVOQQ1?OPETv#lAVG_S{!{^?eOL@)ZKp%|ygn8KS?ZU3KhI($ z+6gtqk*AZG`#qk!^i}c36=(H(uerV`1bNqqi*pp+uiFqxbij0ttdQ-eru3NBue&cf z(WtVt1KQ+$mHRDfT5c<8S<*#vB`GN=NB+&@0be1NAMXF-eC>o`fg?`~p)3tp>|dwJ z{q^0VOpJp6pR7{5iZFqS93*}O_s|5vs&lec|r#}3RRo+@;oi+4KC-@|Ky zXj=+i3Cp*`oq5bx zqL~QCxd>mqf69+LOc^szKqKfq*Nb4vY)Kd98b)*sc};I)0~zdk*a3u*cq11mZ>510 zLLEHGmkdcqn$S)BUSSABuAR_ODnSD*wb-P#?V$s6W9`Hru4BC78TLB-=a(u0}2Zh#)Pl4KVzBk%W{ zj#8LYT@z68D!0~NcWpU) z$l~k&;r05~79Q#O~MKrn1+b*YeIi zvENFv)DcH8r1fH=_jPOM<6@;wZ|^_&fPfv7ZjPv%XR!lykL248dfW)%sAZNXX;<~ zZO4X|zpN(z0bnW>U#d)enJ%>UH->9vYuD?^E& z8{f!mkK~+7kyge?x(rM6Jo|i}2*s31PORzTG&yI&4|`uC+poavoI^rWlG1_|Fei*( zFZNvZpyym@X0;|XP{m-$8e4|r9P-Xrbc)es6{AIvu}+>cH-i$;PK?T=^jAQ86R&XM z_A>?Eeda2)Y_1)U13Ym*51d|J>4XNWgn8M955wwb=dKmMFPY%}k1TG)Lu|-0%;mka z>PNAN6dkxH!|TTdSJ18uat1wBdLU*vo7m+Hp6Vje$>mtN_F*0|_0mnRPSDjuJMSV= zdf@oJ9A4wGbgS%NRK%Z3hO0{2v%4ro)^zX7*wkh`q)|-A61CwQjX3imW?+oghrd3B zp-pGadal)4L!fAy^t-50({MSsO+a1AyFZV|Z?q1|bRWb_+9+6u0CADCbJ#JUm&vZ{ zIUY+ndDm<2)bwG3*Bm~7j24P7a}iHyZ2|TQ#kk_OsuZ7VJQNQQ+IVQCNVzSDzxpMo zAkvDp4Z92ee@{RY^iCCdjxP79vb1A*noJDf4h0s!5W|YSYxm3reiT8eV}_7L2+1x> zFr1j55&4aj+Q|BAU5GMN5yIy<0yN8oI1vyu2zQT%Wf11IfW z$}oBjTpCtSIp~oh%PDEz-kQIkFZW@3*S`aSn{bSZoj-{iKIj1DD;F#(3gZeupYJuE z$sdwlf?5edg@kGGfs|Cct^Sehe-2{624+V*1LVx+)+*yNBA*_ z3)^uSmFH{BA2A0KAFiKg@@ecc?R6JG`CydB)C0yh&EID}9({B1T5P5$C++d?VGLWo z@qU7eB4%8!J{5T>Wk~0SD|h+-vG>+rRjpCmFd!&lpp;0m^PKM;@B0@#W1JrxN7?MP*1hg~&Z{Q((Vc(p zNfcBW`=?0>6GY)}bc!}%7w&`bAjC7Z-h8F4IJffi-Q)J&f14FA)mV_D!Ns!6jsLm$ zfQv}C`|W`iz6)u4;!&hW1T9q=PHJg=5!eyHzC0#Aum6uVL_${-S844f!#_p;O;T6| zUJ0Vqzm!FFz8pP%_8ugaU2fS#Kt9kBYHDjL8UI=HFS&3DL}7xD5fo9rSw6S_z6&og z@D*-9`Oap`Nd&TlI=k2E4vud~(tnI@%>E#gy_3lO_dyu~ip>sh9et~bg5BRW^b%gA zXO60DD*Z&*rtr3-C(j!pZVtc&2cV5IguUHI=otH7cq5k{R6h|!=xctgg};v^x;{kp zvvWFe_cC)k3{ydLq=?iGA$VZktiD{gf8(E)0wNipR`ws2k$M|MH;$}Y=jI+xSl!b4vM*-(3@M*u&#pUlSB{q`(FlyEO%c5U~+YN|%?H6>IH$yZ%(Dn8Kdihjc3G)wf z!*mAvL!?dqMl=6sH^RXSL*LxBMMixB?6opNjq?AuCci{5z!3` zW_#oXt+r`9c=t-|;5iVPm7vc4J)IC^*QP+vAI=?`L6B2#pC-21GLk&|Xi;vK8yvVj z$RdKQZ;-lnfkg&tqB*22g`l;!ny0^2Mhds!)#UIBWq|rU6P3oqz)P z>dAEMf7=F9!cY&VR3tAruJQff3IWISDnjCsk)5L_y?_Tv9R-4R)5Vg^F!U%V3wGFj z2o%!-1pz_~euPT0tP$H9{gbctD1mqW0JV2% zPi#bsfA2r*iyD@|p^6M>A(-+lA|t9=GYI2JvUJLNxS(CJ2}a4spa;OlJZ+LhnM9MH z0bmuJwy2GVNf23@Y+(j*gO^*xVuYRTJDXSgdbGMCRohUG@Sf^+RswCP4-$()SOaCE z86P1(<#5vz-6e!n!5??jvP8@5W++7{Qj-5}CT#G2cnY2;KkC^|!p4@C1X~@EkPytk zK%!}`Sq{!xAj&n^s|p|vwiB5;hUl%3qX|Y9Ua)yxOR-iL6FPIu=X!jq|i z-Win78IU zr~Fv;rZN|pk@61h+Y#v;m8F9jYY5_Q21x|#Ak-GBKVW=*`lM=FLt^Y53DpeIhkN#Ciw2EAwS~8~=8O#jyQ7*NWPs zC;fs)j5fJVr}C+>lbJxSyF-;rf#U2P4^@8(&OOi}>nz&Bo{=nx+g*?d*UF5Kp}5|S zuLL=1Rz;;bk_Mf>2o$>u^f=WegS+tzQk^T{^Xb?|$)lJ{TOX4f9v ze&i?Gr~BHfFY18-N7dj^?yu7`Yw#=i5~FG8YaTG*(7e9IM`ov-Ar!42KuQ?tq2SXU zull-|S+7V}R%Kx0{l?Q|!6!ZOmler!R_2do`NeVjyIq14mbI&l{s4yvK(YZ~H7~}V zxgDZJ90e#OcYUI(9ALI^44rKp2;_%El+|Z4F#>5xpr+|ZWK&R^UZ;AbEbf!HR$84& z@;z~r6lntyX~oiQ4HIJ^7z?1qra#S!7fGlQ%*ruUu@Cc?>hxQPJZiD`TO5wWiw9DHRDB~Flzk!cj`0Rj8Oky}j+AeI$DYkGv4_xA&s3a#rujTW+ONP(ZlPI4g zPM#Uwy;AC@j!7DGK{1C;YEgMDY)q<TzMprS4CI`$;Lwza-v`9c=E!^oVPpe3f1sS< zZfNRYVW~C}OwxUm%m8eD{UfU^lqy89YlV(CG%%?D`re;knNhLf)ysVKnkkKIVF%G3 z2~RnxD?yw7E51*$Xxb3)9*@>yTlK@rZ#3gYxj(1AfnTOV`g6yk-76kiqT`=*>v_BI zc3DmpKAv1rr?R$Wz|b7`8Wa+C2AYU=m9=99@8g>&56vScM0ZTU?Lx8`!ll(S2mqnd z+;bO2#zl}c{uDnYjQ!XlfeUPcU<-$%pekM-Agn_=>v{l>h+Vp>y2CgWLg2Q$ROi*8 zjnok^C`RUqc+Ycf(RD~Ku-kb8ELIj=7X1*b&~*(_uGy<2fk95`a__FqVc&fIAjP_| z{Yf6yho5A+*T4)myPe5Ce9X0CG}z={b(y!cmQyo$e;-peGh98rL_s>qRL zJ;n27p_gFVj#oA|n1OLvhpS`Iu3UgJP~c==#vqAqhZSMnPTNn~q65}pJNI510xd_y z-5B}e1?H3XQ^k)tKfB`Z7m4I(g??>dxUd@s} zuRr2~iuBWNG&r#~Vc+O%kVT94s;%>Cq9=c*C+(BqTjTiq3%#!6%Oih*#(yxSza{E0 z0`$!XDAE0`;Qqxakw5+M$RjnypM&r}pWsP$?|6Ilg`j#0>4z#t0lQyE=OnYQE|nR+ z`7!!tB;iMnOdwgi)uNyGBOMlaw?-!&>*$xx8U&)`T^9HNWFo2)dln8iD7KApLHP75 zTr8uC={k+R=hv7MujsbT=61f3kW}CJ@wtZFovvLXqfW>i|+#|Ocv}_J&0gr z@iU1^OU#Bu`c-PT2k?v6!9UUmU^)UEtHnzYWq<@i$FBR1TDjv=@bZ|j)fpm=&rFXI z>>p4MS5TFI1YkTvImss)Tz)-q;>SQ)q4gH?$zqpWdS)viW``-KnM5DEBedeod`yG@ z2{eR$wXI*^E@XlaST2JO`t5vhyvjX5?-4VNX-IQ=lG)%sTzs&-n!u7f@{ zxW|2OMsJ=1-oGNy|Ccd?kONS}yQWYT2wFev^d;Vf=v+k1`+j-s&?E?_ZA$-h)+;Os z$6E#wCUYPFMabHXQLdyY$Ew7{Uqgbf7Y4wyd(C~{1tCv_m%fsr9<}Z;ONPm1sgjOb zy6?Q3l8{dWVdOlLDKM{w`vz{`yUKHCSO>{o@$Hu6(25|EwhPxER}%yv4geL=RT#L{ ziU80>ApT(fLA~&b>HH1C;A()A=boRl_yET0Vqr=y%`O=BH$Puw(%p!t?3y4g^eyI# z#V#pw-)MIjPPyarZtu;t4K~!A!rj|1MxyDUkmoJ~q4#%yyW}ToK+t17p$DJ0`cNHv zS_(<(`Hl!L;gtA@#7DZaKDXMKWv2j(PBI?ZsSLZI1e|9I3U)z#K-f^>I6+A<;8ge- zjP>E#vYC#HFZD0DgR`t?2RMz=o+4DJWEQ*hJ_*}!!hw6VOBDN(n?R_-c#O)2TT~Cp zcW>zY+OrmnTNTO4=yc*iLKm+Ae+&6Fkxdd=LI+F!?%x4K8|FUgdtQK--e!=Dh`e$D zBFc2c7Hz6MaC^!eEP-VRpE{PUnQHp2rU6unny|pntT#C`cs>=nPhJenhxVchmllZX z=G;(?Fl@g2nCs}d2fWUTB`WR})4R~4&wmeS*naaXJ=AMmoIs1kG;tfr;B&qHLw z7ViM2FXgUEtMJ&6HQ|lW%gGJ~ATuA7jeS#o&(>>qm{-PM*|a;40MBi`PHdl^Q5X(_ z0}D8NJP-*X_)jmCO(nlW$o_fbL9+Kj?nThOe>B}n3&R6qUS6!0_-Xn~7qolwToQ%R znuAYXZFsSMGB3sl{*6it=FORgW?p0mDBivd4YtKO#L3E$UHo~xHQE%I*=vQ57zotq zDkj7~Wy$P@awZH7EwNJc(`0NUZD>hQp(}>4H1p%7GubvnTP6lMJ#mm|e%wNmP2-Fw zto3R{IL84|1Jfu8dj5Za6JaJvXty3fz8z({a>+)%gv5eOjJt?OE5IU2wrT5Pl|;MrE5J}ithv# z!aL6-nI0*`s&1GRvdK-k#@Y#5Cd-^%}j7p<`boK+m_M?(=+Z#P4ycNyC{OP zS{fmZn~H0AT{Ugk29lT1rE_kn+&G!)L1Q~97RyZtOwyIuB;TP2zzrz)SD+=<9;%5r zcK4&7C}+^>|0ywK`76G4#Ej0T)%a5?8{ymXDR}N9qW(`c zkiQ=|?FZWrCU}bVs%{keS=VPJ^^bhGZE0r~!d0g9X9Wn@Vc0Jqi>OC*Hm+1`Q<#ru z7KrMGcW6(@CM=P!K3zRjeJ>>zKX;LsZ0u-7|eLIfiD_7v$^32#twT(bL0P+SF7Fa$g_=` znOz;}Spq&Yd+_>f6^UD0;{m!GHI>N7^=d;_Glci!8y1_A?pRqfU9pU7uyRfJeQxuW)PKjOL~%9CW247F}x0Y*qxJ zO>Y$*b)68yeT5j!t~PkERM2g41oRB2tWQ@QbFA8QJ|3b4*mB4D-LCa=y+qQ=#HCo! zml_v|zmZI8V`UyB^P|snzbf<8jTA*V02sHI>&koS*kOgU1PU9})dKowPf4*jguY*i zlbiPme{q|xaADyRrKgU8s3`6gyLUbD_cS4g+6>5`ao6NWbh5f8luIw!z;Y#yvxB)!4p&dW7yXWpLc2)1?vW3qZ;@)ED`s4KjY z=0GAqy?+IUvDhVV+&Vf%HM|$(makOtbVD{(U$Ir4>l+_SM(M5ecRIg_`WzLbW+@u^ zBKPjRb~@S*w31A%HdgpF=E<^xjHu3Txy_fZR>lgOdSGIbLI`G{K=Q&%+1@`nV$sld z%oA~v%y-hrYJ3??4X*d>w+r)a2l6RUc*gUg8wXYIv} zfs#cx8Gem=U07fG1v0#9uUCO#`wshlCZx*DCvqb1TPs@;chl*E&``O)w- zLgV;O|3x`#(BnnA<9NhhCmMq5_M|sjDS{Vzw7?zPid9?!N4gl><5Dj zOZLba8MWQN74C$`PMH3jH}M{^T-0?)gdz zQr!O$=pqDEu!lRI@z(yjr6raehI3`zfTP+3Idn|#q{@g@G)#!)>Mb`Hd$8=PJYxiEJdPiveX+lcmc}9H#rcr!cOEZ?jp6<6=X?Fawj<^mkuz-FE z8Q1f|R~G04VEk)~ZrZRG0C#hKLi5tO=T0rWY8Hr@?h&$t-57%@zI{(3! zX^@Qi_9$NpS-YVJ%k^cv=!T++^SmX5{-+7EL^Z3b#I=a6H?%~vi1?^;Yj@OMw|@<$ z+pgeQZhBjdrSld+1QBcN0886j}j(6sU=!&0J3c73J z{I~qh%QWW0;4c38m!$%rGG=bDxv{8z4_*h0o(+JVziSvq+bNF&Jz+g_b(8N?Td?Ej zJa{kezU?d^8{{#5(AX}89LR5IMFuPEp_H+2;p~%=hk6@8MVJh`T;)KRXj7Q}v!qh{RBjyu<%u%!uR^L^| z5;b84dG6m==v07n=@n|=9D+8jFMc^yrZLz(y#n#*2CdEv17D4uJQYI5a)whLo!;B1 zIxtTmc4Jo=Br}dTV2mNSYF`qxe-OlaqBo((2s8NAuc2rJ{LY(<0fP&c?&}zCHzFgk z5;z&lN-mN!$-eJmlbOKBOrKFCe(zEHXb-vqW$mjhsX>)j3g7fi#@tn%-#y4yBK<;P(CqA$Y5aCN5V`>Ql2O#CWqv%ZO0|hieM0v z0!V8TBX7fIgQ%9~pA3?v@h(Xa5?sAq2O>YS=C_wE9zBr9i=&+&9-gTzH3Lk$qmcd7 z{mb<Q!CcXd34bw0=wxVEw0x>FOpxL^+kR-y>w$zYYFuUusCs4(n%ZNNE~cdH2$LGdcy`j^j{e76ISBozG}}6UURB0NSkR z2ahs+-+E{|!2F7ai_Wu`J0%2l73Ey3IL z)To1;QQ?s)V<~H_a3HwmM_+hAMEnDJc|RC9jN*>n@x)w&oJ9vbA^TY*S;~s|nhmZL$_<>6XB;1E1 zVpe}>iT@wy@yC-M^bfQ6U(5qv4(i3~lY}+@XiNY5F$b^$whd(z{z5GO1(;wm5ne2= z5FPokKMIcj{_sD_=zoai|9p&SHGKHd|JQ}nmAPvK!Z(+AR}HcqGYC=t2yS3RVFZq% z1|-k`T2G&k=}Nl)+&a%o#AZX41JSppwRwTIQ-jWx1IAsPm95VH{pF;~Aep1nq9%;+ zt8X=gcq8%x`&w$l;#g$9&|D)&P63RMN8Hz0fCM0~aanNR+caBpb$t*ZuaEkRNLig= zbF%h?66G$WXY^Y`G#plO<#+Urrzo)*FikLo?H*w8wiAJ%p~we%Py@)HOrQ_|lCe6B zR{%W4lhgeMB|tZoK6NH_X3@Zl2R}afq*uqG#!NWvEM6Q!!V}+FmY|EpBTihK{PqR$ zI|87@=jzF#2qKX}I5mIhI*t%HFuOyq)4)Gsb(TQab?pw~!>NFo0QdVj%7_cA!NVg~ zL9+Z?Ur?>?iCDc6b0Kozf%bu|rX03p6J&a)j`Lh$4~%70sSY8h_5`R(129${Q9)kj zdpYpvL_Z)8Y{pTE2I%Kli+Ln>1^|#!*VK1AKxSCN{G?ovZoDnM>alCkPx;vkH@m87n{FDgQ)lPcXpGLfiI4 zJ?>K4+3B0uXz@pFtuLRWbA#lgkm(D@7+REmVehH5Y*HExRUXDios5I<6F{{N9xmJ% zPGsvi*h`P4V~;0f(;&UXNGGMxeERrXn^x*(wnvJJZMO06-w#Ht+`leNQG??XkH`K% zf>iR87p}z39lfD#y|o-e`$zT;$bai;Z7EaJ^V7tNEgevM^z01YH_a}2q{ildWBKKQ z6AyFh#R4Q(0FaLBrcb!ZV?4-XVUe#;=z*Qs9%9HSt4^DE;o#HZ;1Y`B;0X{)AMH2G zZm}FfbATC!%V0OIs07VAf)hBBJQfpl(?A%Lu7}5KTMS@Cx#a;ok1os6f}`*O zvG_#ya5bL>i-prEnc;!8RMuzNW_NQ*AT-9r9Wr26Fv??V(O3vuRtm#E{Dq_*@Vnck z37a7V;G_VSG-tOfV4-XQEi@5jm4&f5)ntR{QDa} z!owMN0W162XPRRU3eq;mHY7hXd|)O%zKy4BHjjlik$7_j0X^YH80D#T^JYN&kzpp| zlV!jo7UwcfHFD6TZMQ?)rk`8BOsopz^;r=qjYp7#pZ>9y#&lDDFPppjqa{Qly$p{? zvyi;&3hlG&m0y7^(+uh&CY{GZ_h6u^i`{kwo2XiH0a#VuUAKy_DuC`m3rz1WXn~?- zDnvjn!WyamM!cEa%rqnG<1%IKlpX5~#RMdi^JSi&e4Qa{|T*xpOG zL|!vJP4e*~*afI}-j-K=+<>O8vvPM?R?k~orM^*6MVWd_0}*NO0rRrYpEYC$70eZi zjS0{UUD<)FHY*tmTiJhTXAM8NZ;9cFEme0{|CJ-acoXOFzUQ4rT1PI<`@Q+@nN-CsL#E`6A7vcW~(%Y!qlhL+MMQtIDNUAl*IMn&h zi&}U}@~t|eSbSe!JD&Vz-oX41Et+tya4bcP0<+ny9RdG!3rY@ z=)~VdEemi{Z71wO>&U?RRlNjU^@3AO?*3ZYX9eN}`=C6$(vu7Cwv&mxYhAg!f?=ruEw$tt)0nTAzI1nJ&iM@I4B4$lqPRhq z?eX0YwKicP7eYiJCqTTLuWv#~BxpzM=X`=G7Hy_(tjJqW%#k_VBq09cE{n|Jv!)T8 zPEByB_-U3ek9}}KV*ZPBKkeEK%xICDQbb3I6L^=iVr_D+kiM$3hNx<9i^SO&SbX)a zlYUL!CGEPIYZl=s<{wns4xwpotv6%ih$df?65)}i-oulTYyzFF)@mSnckxSLKJnVA zyQl!5@n}nulmqi;S1{>|)uHj6!pyXJP*=Z>N=nU1fy{(`H{sYXdwoc(*3=yd3uCo{ z8cMCNV_ksPN4+maP1ENPL1QLx1S1`Hot9=I%gij z(9beq4`T84MoCnvL!WVq^yf&DL{bikq+$D}(O+neU{#NcE{mT~nKj5%5dS7BUMZAQ z_r{_S*~YVzf^625+=2NtFWXG#bpl=#%Nr1v@NYRpWaEV1o8j~w{kV4elg7hatv)Q) zYUHR1=B|{KSe)(!$*8N>i1ukxTD^zzTZLpvMEq6-uRs5NMof+tX<7Y>VQlruo)jg1 z;>J4W>tY~%B9&C&qadAkJ(2h7VOo;=U`{~?#%-P{<{0%dWCH%a%<)^H#iHrC&DKCH z)UL5JjyWp3DbmO?O?@+;Lli&bu@rQlSIJU{nq zX?meI>zB`}ZsMt-5gpm{OnNCPOgm!x*&Q=uXYrE6a0rajn(_BML@%6%1Rmi@AM-ip zPuK67l^SpaW=aOj=v9C?c4m{FlcY@_gVygBK{>1zUS@K&tAre~(VYQheV$9+GktoH z;4d~eR-MU$Oq?$gt7J7Eddna46g1z0TBev+YfUVokG~xji-Nz3{G(lI~#8Usw2*hIf9IKV`Z*DztLW>Vx}OYy49=3+6ew>39bn10CF1|@2c zG}kY+^`uwG=k*S${~hXv8D2Fa?T$AOJAO>8ID~f49V3OzGd59KGqK5&_&)O0TTV-- z1YGyz)kDbpdVm;MmlpYEy5#RcOI?!Qr$_Cy${p=+JUTcM7~XRFntKOkb@{#4A4Q%Aty@>5De1 zjEYHoEB>LYAMmD8n^VH8N)%V8Y<6H;nHnmA%-WoET#dLjpaaIy4m=i~CAlzaRd-?H zXYU!#3HNKN=N7&!sDCaB8(~$U-*}|rA*fe&*&otbSbu0^_Icd5WVIEx^fBzBd=3#o znHonnbnJgHtDJ5 zcm?fSL}mbcUMM@;rynd|&VfJi^M?IWg2S`bQx#J-TJRI*tQ4_%E^?LbUX{jrgcEQG z!kZnA*R{pJ=ANIoYg;K2EdFMN_j|jKz@B+iHQiR=jc8Z2ySkOQKAqB2d?k;t;ly@k zLh@h_a(<`k26cmMrV+8G;6mdP^X~3tv(%dgSp}NY3j(H!*Z0y*+01VMoc>YCMI+C7*GkyANZ{Mpr zu*9YRbN|cFJT(|Y?dN&PvvVM^cquReJ;*ex%p zYN42sJ6Ps&`iyt~J9+S;grCtK^JmxU$Sb{fhhCkifqc5%rJ;jfD~R?^=r_xEf67W} z*4WU~P6|fBIcwT7`^lYS^>iX8Ii?M&lPf}~!(}h-C-29qg4Pp=yX(p!fvY*W%k+fF z;9}MTBJ}v!d)DC0;HaN2`qG8bsvgN&0?#Wc8cPB;yu{{Pl5ym%WwZN;N9E^p%H~Tq zEq@ZQz2;$_sh?P2&whCv9}|Ledw75>8s8JcGR*nY<*T^l1KU$tHkc;gFLw&Qvc7j@ z7%hCPe49+%8gp4M#xEMLw*SZ#?ex3_z(rhIi3HI>b}ql%sU`2Uh4nAL-VDmGf4!0} z+pra|8kl9XcJp)&MTKxbnR*c8=&oMmilTliPoMyadgpcR59fbEWLh&<3V)Hy&sz)j zJ%x8nh~~QP45eRvJ0g+09h(|8&s?v42}LW}K@?iaCmCoPmP@UvAUt-yJ>|Xh`B%9N z%^VMmU$Vp$&*nq5skxoDS=@eEu<5>yY@Ca0>*vlWQKNb07VY+9Lp&{6DpIv`%va#C zWU@x67dSBQjYsqJW0OM4-PBv-KOz0o!8?0isaomf?me9f*kZ$W-(ifsjv$Q&sZkd` zllXHOK=s0`wnFO@>8+Jk)oKDUIRPDbLK+%&ZKX=rw#qp^oLEP0(WvHs^wMw+ttPiIdj%F0a}TMFYH^FkfFhsH~0oS^n$EWcqA7Rw44l()E@S(_ZQ*(G1yE)@+_%Ps!iDR*qS+ z6#CGjs=ir<*_St9uM_zFETRsdg<6sqJd6CUrp?RRm>eWeqfyu!T@_5xgVjh`ZkW(9 z(wlfqUzh%VH6$lW3BLS->9*CR_+@=FYCU8x9p@x|I7(y~XVl7L=#+oQk0g}-&i!iw zyuP;$miJCzcizWdBPmheNJ*g+pLVgcPRyQRtQvfkhZ0@cD#I+0)seFC;k^#md@*?n zpH4{|k9+yPcAU*4TG((}PsJjMDR-_Fxd>OJirC|Z^1jcRPbBAy2;%HBdAB_EOiR#= zn^5k}yPyZ%TUEJ;GQ3}Tb`xDRJD}zL-l~>b_d_XEw7*OnyKW6B(=_c163(Z@Wd{kLiCF3%}D$;3Q}OW@h_Gr z+Q#cK94e{D)BJlu;o1CM0{u``vSCQHa)Bs4CBWIv-KoPQJs>@pagCo0?PZuh-wNAM zLEA-$pT{9-SB|FMCh%l9eU?}Mr9jM^%4-_4G7T!eAqB*UZbXi_E0T$8i%m_LmZ>}w z0x#8~@4Yv>g7RQ)Gi)j|@)=}MQuEBC+XFP$l$*^T(EyJ#goC?uZ=8$JK;tn)VQ-sE zXITE&&RnUPeU=Htduy=(7h`9*^F;mNS621L#4fq8gI}+Cetnt7|5!YHz*|F;u=32f zkEy&0dKx!3zP1t5(%11*TvS;0cmU2(18mqqeaY=JIXQFCzU4Co>qqFLQNf7z$;8UM`_D}i?j#mwV(Sw}q}a&TtNMPy% zJc)N|Md23KUTX5qy-oJrx{0fWAY$owf!7bo+dRbni6R%cq96M;n-&BIA5u+{0 z)WxJluG0s%wMKsAd96v+-Kiy5AG8Wl)UPd(2=P%D@l`I1UH6CwYd7_#bRHi8UWPmb z948f)H&@VR-#@HA$~ezj6{21;sZf6`I7qj^B!iBp=dA0oevxe&?t>Wa#W43Dop~-3 znL~O#;dT}Hk7SYWe|$7BzOa`qi$&MZVKtJw25MIxOyWJhDcNCJ)t)4Z@sZ1 zr>7a_vpmLD^`1}uN7!pq0o%JYBMkB>n|CldT0S=kFnu7eGKb9Ssqhu_e0N58m3mXI z4*5>zT0O4~0B%Js*M4%=Y&rFu+jqG6$zL0*+si=h5liP z*hYZ($y~6#rj!pe@6e4Ib}aMVr2*w?-u|k~rX~+J44h7sbDviDjJ@~jB z_2PFAgcTRXC1qYg2`^S3SqHjnV8V3S|9vRZ*xxM(m~f~iHhq$pJ@#D;>-Aubt3L1q zN}T=VC*zdpal;gcg+XMFs&kX#R)@Mr&!VUB&(-dv;~H##YPfS81g0l!<{5?zImX+L z#q0~7g+ytQIuTMMa{PYxmk4@sn)Goav+?-u_|p^#g_0nfE(>D`+fM{k60HxeRJOTp zDVEf2Rr%&XM61EZM{|)wF^hXej5P~Y1uVH*ymIf!gOIPav8Y0G?c}qrHaCy_ zS_jOTrdOv^?(#O`jIMEgJWuv3IXb5?75u;ZkvrDs1-!Lg|D+6)XY z<2SBJ=k1{{mGZ$ShHL(d5mvi4F+@hh5weXF7Nfqc^lv?oLn;3)3)8Q7H|C;_G(J{( z8KvY~8ExH&T8fgnm?O__>(&)^rTnEf9ox{cB4rLqm;jKO|Ep35z$28-Zcm0oIrnF?vK@Y*ssVAZL`wXcgyH8K{RXU-nt+FSpu&Bjh(p!_3ora{$c zD9XUJ-vO01(ECdo^EvS|=MUXv7kbyn`_JMbf8m?I9-eY(Q0JDc&yV95Z(L8>!uI=A ztXPplPP0y6Z6edi9HdkFE&%2>pfaD6hNsF;!7D|DWt)Gd+ZE-XAL1rG@+0?Q-P@bW zad+!0evrqS+}Ki%t%?Bz_WFFVjVf(PeVSEFG@oQ*RiQp+pCx!tKI}HS{B1mrJnNUs zhfg|@?D0PKVT44RohyE~O}~b>6i}rmSnaP87NOEu7eOfm8{dsm{sA&e35yzOr%(dn zs$grWN}ouvvG43hFhaKvAG=I0+kT%u&ag|=t=2+CO`d#ON(Q|&wIU3=h5Of+r%@+l z?5)tddv+*P@UpYDMfV2M7pEo@w~Jk;T7IuoUr|CH+iGZneTsgP&3nV@rshL|+vbg_ z639u%JH4w+s;W+&(0xMhVH&-fPtNm)8 zLLwda?Se!9W$w|i8t+aNWo+x7XVI?G!CF~Bb;gj)S$~obqyq51RWx=<;YKc;6@Laq z?c;u`J#*=_Du7jz2w%2}7-PexUugYutwcbI#vl#ik?LE{g)yqNGf{3Yl$TRj$z!J^ zeq%|V4@lo$x-ZrRvV@Qcm1T`kR8^;fkfi270E%LHm;3qgG&BW6-6I;6?Gl$UuLrC0 zYQB^cfo3bgHJ<~8!aQl-hsy(U{ScO*Ora0J`Z){-YqD}3mlUh4^=Ld<}PY~u}Aot9AIsdt&&(F+}p8U>IfG~h5{!aZ8p zw|+D1ljr?XyGMDrRIhIAcW{m^0=qEDlhQT^;S=d>i)wf8dm91yNA3Qw@V3YE{Vsdo z5j4?Qo}5)>?61o&a+^#Xp~DEwyniL>@Ip__T|bZy+;yl!!IfJJ^zh>$Ot=J<%B1v3z;uS_(@v59`(vWUr$wK0 zW^KjtlcqA^;onS8{GreJpWpSny869LiE+cKQ-+8C&)@gwJHkh>iEyPW)YF|9dC? zy%Uj%=dF;Jp4=13n}q-l*BCG=>4S-zJ8eJI)bP;N0~5|%Hjr?8BwN^st-E^z8D9xb zoQ0p0-*XePfG4tYF3GO(uK)WUl9GXAN5l+>{-q_SnJmNCTp#bc^eaUuhyS#0;8^4G z$4<+Nx6sZV5|g3^WYu^Dc@yE^LIpgbfM|i3wfyAGO*@_~2wx2F! zWLJW^_lm{Bp!0&fF;8z{$kX44BE0*SXTlHom7iHc zM*d#n@BO8Q`I7UxnHGexnL~y-7_U}-sVSKM{m?D}T=G~uzqdzWSFcqVhI>*35|Ss! zVMK}B!@5tK$bJi-XK+i@N6|bqGT;uo-6LwM!{3Mx-|q;~I`T==FF}ZUMD83gpoa$p zJT3-Y{ZQp7itXP}c@2}tsrCmQke2b^FZcJKi^e7rf~Z5e^LBn~IY@qx`Bs~s-EvJQ$0ubBg7Nk1+|k3yI*|0Y8{j_h*BL14Agq~hRfBrXb>B)Z>s zMwavTL({Jy3vD4czGGam*0WNT#FX-UdoNAoLF#4W9nf*i!iTI@eL-?mK%3y|ekYr} z1JO0W=;S3G4fDe8OlX}8=hduF+S$Onush`V(T8}?xn2$G9^^5`S`(6QXG%BX*Mvnw zQl}vj1{8jZ`AUP>ZFA}IW>!~_%)Mg7w`-QGwruLal5y>Wj32)IF#J zU-$F$ShmtTL!?YWJ?g}$%}C^W6KB30mfT^95Hk1A3XI9t<{`}!mR#5Bhgk%SJ-@68 z{;(@Oao3_5xUCzT&5G(Kx_MaZA7$OL%PQ>A{N{eJGqm~MEaJf`s$mVXnO=VF*)nbJ ztAa5&9M+g3Gaa9{jOM^w7bAjyfG3Vtz`)u?v7Tw?DiEIaL?hoIlJ|YCqQdR-<{y7N z3RL<2{O4$e3Tbjbke~}+d-DwXUyETwlJ?Op4rfjC6i+Pe*kG{r6(16PS-0Mu+JdZ7 zfsPxGFbX$mV56znc*L%pVbk4R1YujXbBG2FWj9euNo=A3={#q8N6^Rhqb8Ip&$^$A z<34R)I^fwUT@WYXzs;mTgoGW`Py=_b}&S{Pj7JS?jxl~~oWhE6lGsTLio{D#IkDVvgQ&>+!ySq<*d>7y4fAB*C zzI-Vp#P#yQMP>H!-=!b>bJ5E&6fzO9XY+#5PDKzJPnP6z!nD!1&t`UH}S$ zzVNzkhDW74Ju8phQMkNkHK&G!m5M@SQqHU7} zLy<&%xK4r5?N!LExRob;VlTW#FIlx2&0KO+GM79GW{nrA>o;yML#&M=b;35Q>c0qN5Z!i~rd_wwR_jQPo|6v3g9RIo>ph6?}Hpx@;^d`S|M$~|wK0|H}K4qi$ zWT?BO?v&5@$QDZWA zDrUecyb{!?=vwW*`t4Q%s4t}~8cN*9X|3z&m#$o{m+UiC_Q14uq$etIvt3Uj4?Umk z6!T;}qQ2y@Pg81UpBxMI(d!OEf#_|PnU0bVY3>-Ai*aU^@HoW}A7_y4#oKy5s26FK z+OFU1{2!zm*Gf5UJGmBPFeC(@deSe1gIcMzk@h>KbWai|(5_rbah zMT*V9qj%=<;HTqDlE1)t_XAx=vDi>zY-7ki*gWeDnA#0(cw&>r^ZJgj8NX7Io^tKz zFysqL)>yp)AeF;OUi>{Ak)5Zs}u6QW1;D38%zg`M=)VAXS$;dU(3S%aR*I zF~xh6J}+49o!3M;`lR8`utN=n`qweBEjeN(SKE`lg`ZJ6e#e8;o!4&jg@pEB0XOMm zfk9JADYi~1KsH@?gIg0wOXSxmohzZ*`hg9+RQaIse)<)4J+XJQe`*e>8So0;UY$wH zPJGPl9agDth&eME)bw;rQAO{|6=sbNf;feySHUu2z6}QbKSEMRE`};{(}s8J^CFnJ zmDaPPCosC{LE#I{5V+8>({AgxI66}^AIz>`9qMg*Et{Pqqp4cfS>tpfE0r%RH>0<9 zHq*?2lAf}0)NF7_>h|_~F6Id(I|FNj$HSh-YUj?|f4~1D-3RPkl;Mz*;)p5HKfIl_ zV^y*iNAMEN+)Bl68QebKXhORi{(R=2+nH?YG$p&=((ri)-fNP9oV=XZRWI1zJjOe` zosE&AIyX3i4sT~a5kb|clZ6P(tP{{k*}+p(_h^i~I%P5mR&cG>ZKk>socP??0Pda1 z@jiA@lF*;i50KjzfepmT`fmMpx}`h3o!j}(R)3kO>xODku#|MtEz#S>(Rr62)6l- z1;ua|t?5Mtp}B%h&1B#F8hA zhCHOY#5VR_V=no8__F89ngJASlDqsVFN?O%8G%c*$D(&_2=Y5h{*WlrWQXGU81-;A-8E$dD$&GYTn?Y=d&2)yT~ioQ|Fqt2pXczHWyP;F9g zd+YJ+?vv!lgktu^^LV&knI&V2JzyN!yslEKF@O+ThVwIJSy1Ri_^944O{TKWCQ|OR zqKuuAyfLvT)V^jrR$vj3*TU7bv4NS2lAY3|t*W|2IAPg!Hj@6`272$|6DP^;26H=My{Wyl`Qpp< z_q#6-3m!HRA^e^!V*{>EF{+Q%Zha95ZqsB6kBuO&PJH_mwPJ%pk48KBUWE z(nvhY98J=w-=~k7inr^7g3glrSNTxWQ(j@_8BVpBAoDJL-!sVrK^*SyY?5Qj2l~&9 zZ+-_zcEuakR;G!iqUNTc$`bpS0X_TcR&c@%=^YM#g1~0f*gSC6n;_me<+l>SySB8` z)Rj#>kvIQXcBF-1pLZg=dNnWJg~hZ@j+3`L!v<_}1&B@U2lviO-gIi~89_q=4Q@eq zgIoe%pUH($_-_0Y4jfGv4i0Q}4ur90QLhhM9T)~ay{&QkDT~Dq}^r*;Dhze*NvCi7?ZbWWe;YFoi&r3tToM{R0{*5A$hvE>o z$N$PaXw=rBM4z6f!wRqEr81zwn8@sq=yS{4khI*BQ2U3dF=075>b4|AsdbTFuh%E_h-+mgp+w(He2HV zW9-YLp>E&*nMRfriZ&I>zLun@7^E2c*mspFYl>84mwJ-I7-T79U$SM5Y^8-!k~Jzy zBzqzI^1E(JJ)iISe9rm(@to7~F!NsS`?{~|b-k|FYoyLF-8g1MAdAynPt)ZY+0Nyu zL`*Hl2}UI+EPudMqP_TjQf(JWbcUpA`6UO8tgl0oGYr~#ldbWk7KWbqB6AfBYITU@ zOgnSi&NDgNXpQ%y%&}9x6&XpM+U-gn4cx9)o5kCPZ4oQa4(^H@4VrsR$CZ0mx}#8IbXfBe4;) zT}tVBDVFGY?A+o@@G__=)K)nZ9#e4Rm?_?(?i^pVSB{(_e;q%uWFqhPB{RG67Nefr z+54s)E2Y*=9yl&fKZ(?TG}gX@`l5S5WfxKewPuVF(cgAMsI9ytyS8y0Ohb!{ zuSCQ!2zmU*Bn4x~?A@tCsn%uX%}aYEuSAEfy!;$2e#SVopdj|Z*^_sl^q6GD>u*u0 zkCO9rzdH~X6gsh^6NJQfel|1=z}r>~=x%x>@(_GTmR~uJmg+qw$-!IGfZ9!P9GcJ64jl7*vghkkOd()F% z^1aoBtwqkt6g~}tFqNvUS~nT?jKE>i^Dmz4QQC3&@lQJ#sgJivQPgElU0phxyjX)LN#15zqfsKsGZ|VknH4fkdshBt59ZF{hw+k) z9*n$n`{|-XwUP!Jk*fgI5EWBAJ1`?Ru4h9B(%V999(Z0FB5ka#Vdtml*AAYS=3{$Y>s_L4?b@kAEl zfQuy_)^l&}Y^+lUP~`xPDiwhBJhCIwa|1N*q{Tc9Nn^@PrDm#lDWPSrYGfKH+W)~~ zs`fy6y;_t|S6m6HLrvUrlP@{&bE=tVO<%O=4$yr4;uJon5%|`uA2D|&oC;eE3=9>n zbe}XkNi7HgSxREC+^o%!iO}wE{+nywL?03vQ3frdZyqUcKuS*|u-cj_@N-Xzb4}gS z2LPpZUHuJ}>H$xjidORCR7j`gy%lI>k&!%>ugLUT-@y2#(tGE@%K2UiV_H>dz5TDv zYzMQ7i(q(eX0NmTc%S@|jNzrFOGu+9xXzjh6UA(&rz@X)DZtGdmiNv_yCPl}Tv};3 zkoN;P$9GI7x$%(LIzrDdtIGGvrG*^i{Vn80QnXCYB#+jxzEPQqz1DsEYhKqVFfM*Q z7CqKGdeF2K)RoTCrD66LI(2n!6T1?ZS7=$|M(4z&;AgFW@uOogF>?g&rvUN2D^di9 ze~0#1=7A@Ag^=;78*UA1Dvbjaxmkia=h*m;M$j%A2H1@GmeBPQjRrNX>4kthEi)6$ zz4%KK0oR<37eV+_BjQ7?-X?FB+C|bbg~fMPK%4rGsrC+N-&|r=_R8r^Ja)X_Kjl+3 zw)jYYTlHgd__KhZdUH_x5aME2k{M3bh&cxt@^#TRd}}lQ{sfshke6@B)Tun&A}Q^4 zvXtdr<4qz1NrW9MyFw72&Bnk=kDZZ(p{jK(K}Rzs`T;bFzYFui*5Ukoorp8;Boxg| zx(q7ZMqoSJJxA8TI@1;CkZ4K(#C5x)WXz37`JK*s5%C0T)!S*jmBDrg1y8$X-}fYV zzSIP7zS~)%e7RhZ`FpjOkmJERwdnjqw^xwXN^$+*Ke1asO5K3|<%nsTgpqHC=gc~N z;p8u;;^V-|)1{1EWAXTJPQnX!I?)h&EZwHY4LUG$H3X>9ugWlDgfai8k-8W3#QR8= zL?d)0T*@#i;&~(-13S*7)}hEKd=Doi4?Oy&Q}TSqMk7G^ehzEp*Zqg(Td3nJe=dP#;EVW$8#U^K|Cz;^zto~26*b5}XE zFBed0cgqN-{fWIz?XlH$rMkpeKYsg{nlzIJiFrSn>pGe?42nFhIHGlb|FhT-vR6CT zwtTG}oPs}-wj)8b@8owWy-J#HX2~a&%?uj^#gyK?Dxhj8%kp@e1|Hi(65S_tIQf1L zUZHiTW_tAF>)k&r)aS=8Dyww?rqJ!&En@%8S#uAWQWe;+<7|%%%`Uw(*{E7q4PI8Z$ic9SeZjmg)Buz?O`ZK(WFAO zQokcM*|#<)o&9QU^1`9a44an)Cx!s%{q@_{xWbHu>`dD00yY$KR=yFSq*&Z)VsFe4 zqEGeA8LbG1E#^5+Ilg>FX?TiW90!So?<~HRyji>M8Q)P367MYyP(r5fCg(8$``k`o{+BK$OqCEtN^H;xRbRbg!e8 zN|G#kcuUJ=Im=loK-c~$g~5pWI$^`!u=0f5^}!gb&ZH-)d=r$<5A9y1ll@0ix);%G zogc`|ZuG@427&U&DREbYV37Jchy1N!pi#rO(D~?cT>L-%6+tnK2L92}3BYdBL@@d1 z-%To9E@)nW)>jeCQ+I%$lc&q;T`tVjccmDu^0mwR*M~?6(u(3Z+2!vlQ5G3$Y%3Dp z*vF{{rU?_%{Afe|TiY9#%vMEjll)fjn=fuFMoskb4LE`1Dms!>w|umFl!XKy1m({P zTmP58O_RbH`51HrN$z3j;og6~ewWj53DDj@0c71x^fB6t@Es9LyCgCH>r1#dz^P|kb#dpPM%%w$75b;3H!R0G?@i!~{Xgym z>PMyqQL7^x|MT+yt~atgd`GYREl{QZACIdBu^zVWk6j(t`#+ZecS4PW?-+|y0+WOP zaVOS14ZL+TCq3OiJ-IXqRk!! zv~m{t@&EeHJX{-? zYFK*v@c74yrN!$p^4=B7I@TaKPzVTmtAU9v9~w3md;DVa-7T9E*B%$86V_|i)t>M+ z3ONS2gBe{&X91{m_uk$=P`y>$?7mAb!2boVqn)2yEv`Ebetuf)nEPyfYo)ihsa<-q zbLVU2zmL_oaqoT@Wqt}-#4s|iLn?VtU_OoA4H+rOEEJ*G7boXgw(H5SSDfR%#{>?E zuTI-?he*Jyo*~)yO!eC@f~$9TF*u%dZWT4Mg5icF*P##ZA@&k;n$4i$>JUYYcnmsL z#^4(`AL%Wm>C3er+9RQ#LTjr%yxTZkz5KK05F6#|K`{->cumMaR3&XQuPT=mK#loZG>^pVoDFpz1KRgvB#fA%9@XtB9nd?FHat`T^8&R8e-JSL5%}gmLmaDauZJxFZ<9wU9 zlF|Wi!g)@4ud=IAyi;mpoZg^I@&RtQf1QItecBGjwTI-YYW1r$Gq$uYvI^9ot)NVL zxEpFtIp;aVW3Ma)U?$q2jr#7gUEr?DTK*X1S2YCIAq9JmyMKsVnm<2!WC?Vlrs|R# zN55|W`|cnV*Tj{566^P$*EzMjmm>jQcJR`EZmN*ITjHCf-6Fdo0;->y(!4J!4bOhlTd1)TB3}@CjuY(=aV2=5B9H)C?-N-)mjw#|BMZ-29&}>s0yti@L))8E7d@)}OZ^srzBT zfi2iNaxCR@Xj&xGQTb^T?;0EjhC-`n8P1>81{{{ASiC3O&wp%GlW+trk2}K!O`4*2 zoI=_uIxAOz>t}_OLe@oR^YPGqGkCm7eI>9v+EJxkHy3=Qn}JJV0!T{PNv9>Z{_C2t zw6&g4)g++4huo1yh&mS_ww54)8=XMWwViVp9pbMfo9=qV0-NF&^_{M!%**fZ;+&wc ze}Fo|laN80tfp^(b!Bq z46?60U466t89kQ+@^i|9Zmz`vSIDW z>L=d@JX__f?%VMCYm4VeG6oc0u{$L0vhF|;_wzGjEQf$DG?B1t^(N5;>(Th40ExC{Zw1(b zqHr;UB0q@xBw|j!20f&e3s(VzOX`8jKKTo8B7#9LCqFS*t^=uL#2mevje?Dwb|Vm` zIcIYGzW(`qUn(!FA1~_rSga?3}VJGX;8lnk`#s^@MI zD7=hSD7p?qE+q}9#(!QgS;iMe6+Qs7!V1i7^N=L?TwojhB|qNqnHPlxswGJ z^Y8s_Fk>H#WRv+dV~tp{I9jo={>F7*O!Fw+yrygeS=X{VB4B@R%7R z>=KegJpiR5n-4Q4VA<;UdiT`=m<(=%oM}Kzsm;V*Z0?=+VpHz!#MRCU4c1N_Lc?91 zmWnUn#-<+nVw<>`(OeAYk4+I(ZJRs*S}NN+;kQ9Nccb)&DwKwg?$eVHg@pRjuyEqv zg6AR@Qt7@(Q}C5*`YFhR5y{N;+wJ}%emQsmAXVl%0#W_kx7WcE@fM97YwukW-TH03 zZ(o6#szDqIw}_cgG~I0_&T3oRC4Q&j^VP1;$fk))svpwCu~4N#vqb=Eg=Q9;6xKck z?~m;JY}T!3&V{s(b4Q+3N)leez}!_o2YVdET85#uv)sP{nHvXy`mzZTTh@*_@_Je+ z7uWqPfm;`Iycg;sjL+>rGTDfQ=-Pn)taqEG;rSE0dJa+5Ky4v;OVAJe2&xJWaFxYy zco%18`fk|w?DN{EHAf&}up#+0q?uF%r`b~oCw8WEy@R1XpSXog=21o}e+~FAAFse< zQ{K-x%i#MqOeg1)~F_H;6%!$JFlJP zV%1&z`umruujEzO!f_JAolQqqBf&SGhNNH2g^MR=K`+M$rt=1J6ikGTF`EPVu=bE@ zy(=Tk!?9Qh5Bmc$$o1!RfM6ziNu+&8(%F?q;5)mId+-^|6g`iYQaF(#Kk(94)nyVI zEVUv^99UNfTl`BD5I!HT>+Kc3?IyMfERKl)iXh3%xpoM$fy>Zte4gZzkV>u49c{6@k&>p5 zeBc=83fl!EcH8op(%$q%jw}aT+{|V;zbjl$y{jYRz^F~#>&&~OqsI`}X}<1WrXsT3 z0~@3QG_XAh^wRMDA3vnm_A0B7j{$A1zz+~cvO~GuRsSRo9N~trRU^dsK&NY7{HxEw zowsT>+Wm(4CJi=hy4U%1(8H56nFnU(8Fc8{);9Cp+I0p1njp))5~;I!o5Qtq{xv0m zn_&yFYy%CRn%C>ELAK}sGH8>)D*Fg>M^)zZR-*!bx!RtL7utG&Wyws&bFh z$y=|@J_Bb?JD4R5`_k|Esj!*dQO_$WiG3LK+U^b{vHrPJADk^~NKON|IL>H@Jmwum zdW6zMD*JV4hYv67*X@dYlNzqb>5%IS)wet7_~timrzuBp4oY4a;hZ2!>RjG}agOHN z)%Om@eLI2MD8XGv;U8G>&6tQZ%ooFBQ|>8**5YSltkc9H2=#O(Y=tcQNzs z{Z>AzJi<$aRSxTNb8w8CQl(<@D^ZNs_=d30chsp9xj~L>`2n2a(}+BpxoczZ?@+V% zeWqa3HASsUE%Un|tP*Cxs(P|Hg*e&KoGtyCQ`$IQIEQbZdP{6q>S(p=Fmmk8OW*Tg zO@VHJM57g5nxyub)rJNGLhXkg^EQQR&qLNeo2zBw&MkgTUgWZI82=1z5p6k!au@!WjD+nfzx%vFmON<(%7?b zK3R5|hEa3KSi3)QWup?#i<|h~a1&!!Sn^@D=r9WRo7Af$PB`*^WT}L+#9$5zNzkQ_ zo!;=eLty-C>7;DV_39Gs)JYR6*Ch4PaP9(JltrirT~@tqCE&M}{m}z;5if9o2soJY zAutJZjFG&nTZ^(-|F&3xp)QborGlqWZ%XjolY; zXY`fbmkS4UwDb&{e&e>wGa;npv>PwraQOiKi3^5T%_9%_vZwKM+XU}9?f{wZ_+lC; z1mY%i6wsjcpF^M1H}`Tyk;22IBjIPHp3sLp^7$f;o2v~I_y{p~sQ1fdVmi5+;3r(8 z_aTW}-vZx65e=8rubWd{{)C2Hh}_bm-X^zjwQLQMLqC&E>%Jwu^;1aWW7 zOZhbr`$2@-Q?PqMTBsv!Z}1h+BS!->guwOj+Q0GbCPJ2VVRiY>^RjZuBBD!;7WlJ{ zJBy_m-#AZld6?VgtZ~Jc_Zb}1FVis!wvWVX58M4r-HBYVelzLLbi^SY$%nNP83U1f zrPA439v9_eEw2md_0Ex3CqAIKDVSDIXTxx)a!-elUY?g!-A?w-L)hwQVUh*D5$U&z zoGP3Uj7p**vkG>pb--)4+mKV7Sr7c>_CQ2V^IS-^LHNvZyy@)sF~s^yN%wypd( zXINntk;y^5JGV+O1?dz|){tX6$>Aj(VZn`7syo?}zZyyAW60E8T$`Tsaa+cUp0h$q zg{l@2Lzyle^ln;nNxS|TZM;lcuJ=^o_4tVNFrPO5Opu%LAqK0LRPl-+GDjWBk90=`=h>`ierswWimrd4UTv->|Q z)ot^8c|J`d{UZ72HgYJzVBko4fnEiHG>xrmu`0|cucy1U)KN$D&D{7xduyqzz`cG| zha~QBSA|?z229zc>Y)F{Oc#P**uRb#yHngXwRxghsw8Gn8HpNCRT=FWD|OcT!F{E2 z57n|;3xD#Mzdoc&N+dE&_u)iHN&7d>g|LW(7eqE5O1}}FoMCX?wru%%Y*eN= zOVMsr4!OcZDKKPb zKdJc&tnOUDToi$T`j#UqToz7fYQ$6)HC>wa35}M$IR9&0xt4eA*FHQD=NwB{^61HwSL}{GEUkpQp;zs@J2KXN0Ee7 zF)PT;njHl`e1y*p^%>7bgBV`AG^~Y?ia%>6j#hyoqNNJJk@A-GdcLqsI_n(`U}8V` zsU#m%^=qA|SNj`ZIvFwY-VXf>OKeo56iFtsCy_QPRkh^C0mw3Cm~pl@tYS1dDg016 zIiAGgpC?rk*~rc{wQyrW2b;oGAzXGPo3g^>O)|^HXFO7;eMnNwxnVA|*ft3> zL><77dBjj<;?-4XZ#dXl{xl0lRhFyxej~;Gizyk2^?&MU?uLulo-n-_0~(?l!D~RN z#JZZB>*hRJNOyUx4B8RdfjQSpY?$ymp4wU_q?;V4gp~kpquxTNQIv=~({d$m%wSXU z^hSf3Um7_HPPrPCmMx&ExetI?65kyg4>F|O97y&EPqu*`Ocs1MW9CVaaJO!#`npHi z(i{fV9MC8UN0NdL-g*vqdxa8*(sV&C%(G~{z&8%6c?smC)3%;Qo=FSf2tN!$KND?D z3m?>Ggmy?_ok@*)G53@xS`hFnp!w|Ejk>lTDQNk_#}HL;mcOdUQYJ>!LLMAEuUUrr zav)ZA2q9G-UsAL!EN6%ZgnQE_6%J%1PagTiLjC}yUbqVGecbXs7mmW^PLszZ4GCYg zX81KOnB2_y2Blad%DcI~sJ`x}5?VMv;Z$vRk`tUaB%d8F>=t@*n@NPy)4?dxWS0N@ z5X1d=nqI?Id@t>$5BB{Rdg1aktclQxWbPJ=81_Wj*1YR{#&LG-`r7|c{q!nM_FmOf z8`im(q6_MxYp;eZK&zbCX7C_EFVQsDN@3TqMcvP^7>utSu@UAEJ+!rV+pDd2WxB!s zNtIR(GTiV4-f%y?z5>4Sud$OxvFiheL>|C$!N;9`wF3OO;&FAIg{tvU>I5%pn@yuL zv{B^?q1>Aue`bQW985Ob$fRR@$1d!Q9$wct9G}LA5*I-tW?o*Ony=Ia&ziu8tSFlJ z2kWDGYlHLlZ=`Au_r^$h%ELhBXr*4;^WV^6B|0c_brTgb#02pOMe5Qd=wx^ZZmCyW z|9xpG$VkTcuPo&9d-ulV&61r29Q#!`E%?>%LZqGDk~0Mt3qV*Run6anotKP8%Ch#pZib1xGzOlh~Hh`>RlO3<7FG z$t1F5vCNhS(9?Yq((i1w5WT(b-V#>>2#MOzn3#5Vf5907J68khUg^owmfD} zI-OHi#F{Hy;snGS+pw=RjF@(af^SdW9A8-!zU%k0Vvh;!KgcJRqjhqRhHQJ}b3MOQ z4;5S0@cENOwY)tHnDZa#pGh*1o>94{^O@8Nd2u2V3c7B?#DJZXRJHdp6{`KwpNyo# z9j_euS3}m{r{}06LAzDD_I$d>gY^MvV}yq{U1Yh&I#7Ru-(KHQc2k?5(}LNs+ADQx zHdQSpd>3cEnpevuLdsj-wsT=leBai~93Jv7do&rYMJ=r@Gqbd9lJPU>jjk;%xrr&b z@Fc=9Yc`lWPC}7*)Jk>}>{W_7V{@}1`G&HPQZJ|Q5Z~p2Bj&8(1bww%{tf9l3p_cV z8rXLp7uTQOKa|X_@xA)-WPeP@hCW5PCOJ1vH@?r251*IhYE@dqd^^*u6Eo>PHR1?e z>9JxnaFr>7iL=)4SEz~Jo_5_FlHb*q6nN+oV8}l-$ zwN^OSAF-cw_{L>Z&pJl=srUXccoxY!jz6bPt@vtoB*!yFTx!pj zw9bOwoQFBAs>fh}$#+LzeGi?@OLgL<^^MRuYC5^vA4!7LL(1be3+6nbN}VZqGq?Z6 z^zxC7*L$n^dEmu_#mqAf94RrBYfACDInERJDYft5?(;`e$J%K(;X?{vO=`|}2)s+~BQglAW8{0eJFWQ!rhsrh;u6~EaLfj(Iki|C7vhkuAVVuE$8lQ$$SEkU;HNt#NFOvRQ6)-)YPA!tY9e1ce?V= z9t{AYJAXW3`x7bu^*@&biYsQC=IwqZC>e_Z-gs?k3}d)=RWf#PU;5XTf>c*R;UX|` zfAs-zQU*l8-x9K2R--mTZW{Juf6_+#&Vknh>IaS+0;Vi`6eckx$^T}R&|nvXt6-Af z4q7JT0%%q`=9t^qk~!}h+KxWT3TuSvvif2BH@g3yYfiHVa#D`{^JcUuDWO|XLFWM0 zI9_u<5`)z*oP@apmu0JH&Y znPNJkL{k@=5G<1UU z>z3cYps=ru%l8k^7C4Wr%D^O}9{SM7!z_>S&AeEiz$ey46gA>Sj6v6b!TCMEM)Zg7 zJ4;K-jD#DDkd0Uf$vSl&n}dBa1Q>KNnyd#-P3n^zD0a(iZ`(q11oh_-sbvsp(mr5b z4!_M@vMW~}zprr}Qw45%@f+lnaJf4v( z4FC}Bo9@iO(;Lmw44YcXU46URKA>I#wDu=oY|;7vYtf`EFnty7fmO?ny0*SFB}kAF zcXl78clhw9i~c|yIP3MpKC3VS^#M}K$&`&SV_{MEwNS{GaRC~AXAlY~@eSHcmBmr}3skx2kpySr`-#8J@)-@>J8KFEYex;O*R{fK%x-Rj2k?MBV*UH6*Ni=ZShs>EM| zR^3PFxb%yOa@@B;(hJYlbAEs+Z&T;9EUjsID*B|Q2DBv+{CV_S&_Ph5JPqOq@<{2^ z0UF4Y5<`548DtT9Kw)MS)cy=|4%FPf%RAP-63-9UKsq1!csVr*@!9)i2}DDubUe?$ zjqZ(n!Ub6#GQ}W=J88_UUucS3>?sDn-j7fuEc2q`m2S;C0tx0Zn1DAUYpV76XT&aM zJXwBfs;nU}=JW-~3C1tYRaGyCXs+#v20>^pJCd8~DX0eM;ip(B9sYbd%p7zHmeXyd z9fAZfmCN1;vxZ?@ZFKc!Kq;ac<((g4^OV2S7VDD-$-YdWrIqlkHUKkNjUXMKFNw5p zuQhEq6sr2$;%uP7ZgujJwp~HJ@njziJ!*(r%v=Qp3=`OEj-b`m`TD&3m-x-Q6|+i{ zd*=eTdV|TztRt-G0)X*5t)C@TsX`5)o;8q&7)hY)VFlU_#Rz_5QM>zq?%P^XM7fM) zH)LHDw3cJNpf8+e?SOAyKrAWL^1o8UbL#^{ltzkY#=BR^U&7@ZKy3V_h4+GM*zZPA z9~g|ByK^Vu<6)p7$UQw_ih?_p%1)u z^n5cWtp@{EuqN~~u;ONFAl#>$MPZym%OHpg$lS?M>)BCY%b(l_tekER&y5WaNcPSk zopMm@wmd|0kDh4|JNTd~@Sx{2#tfVnZtgAUNeS8n3ye>Z0xlNPD1yQE#3!A)yl!nB zzS4y4c6NzwzZZPbd$tC(e&EF0A9tU~1$~ZBud68bn+P zD_o{h;P|!}K_;FBO$~m_=D&TLh6V&-PcS#gq1AYdp$uA1osHwmV1OpB(%OeP`?&Y zvaZv~%ECDDFto@gn6$}pu6`Ao!ul68faBJL7Clm~S>B+ad;L_iBY}Wk`9=-gRtl3J zyRweb)qu&hP+-%8LT4gZ707#^Lt{NaFn+r@{fz}dO^7EXZCw*0YZqzS=5uY zHxyt&E}gOhBR0^2uQ#<Q*rzXjJ+UAYB8^XYqW$Ks;iv3ZeVcxsw=Q zQMQIV5}x!!pGulMS!(>8K{HGmD7uGl=`}nBF{X3rZ;iG_%;U$_nIz-GjRFDFuB*2zDou`Rp=NOjrtLQ^etZOO?Qqy!r0y5OsovJYJqrOZ_P&VcB6jmo zu9$};K_bq(_yx&=g(%`GSuAGUU_F0;uQ^Z0#C~xrIr=bu#to!~o>1(ZQ`uNlCEVH5 zw3xJwEB@l~xJ}3(K#m8* zp!!f!n9ux^$$^$Sx>JpL(=g~;8hI{{;kO7QDU3PsCT@(iVO~2T4hrFX05%U1zYzR3 z?T~y?ek?3txz`JE%!&G&d$gwamc@5lnbp=EdiXC$kPz%|Y?FKi=a>m-b8XV`niXds zQmlx9v~!f-&uHqJqyrD@F3ec_BfkE;M)IM1^AY{mfQY9VH3Mg@OmZqUS(D&^4^58b z>=3S-RgRDi{2;Cz;o&CSS6kiYWaqUjW_()~w<@gPTtt9J^%3Hinm34;asOoW#huym zb0iEYC`-}1LwP9E)$nVpzBy9^oF^$V{F;BGuMOK5#$!QAC}&Ik@Ci`l=q%yramd#` z9}>dBj6BYPu}0VhHl;L7#q?d(t$WXrbp?DJh5R_gOqzux?r?~lGf5D)*LX0_q$zZC z1BY`)sCqsXoj+z(F)*v4w{DRkbE!N&2k@kC`#$liN)Ks@NEQ6eoBuEsnUz+BFM? zhxZ zr8yd7y~Y`Q(LO%(3z7?Gm^!%%%|SN9?FiXg)A!A-`Ajzw((2vkvWR0aw!F!HP6|@I z`CuP2ZI$-)mT!>?0_0AH_~oW{YkUfiKqkR6Z>TmXVxA^F9eQZ|enoWY^-&4b-u|sQrer zk&aLT(bSwf90r_AC|h^1_W?Q?vJsa046qJA!s;HzoB-CuYq9fAKzcr8(@Hun7uXEN1rQ4%vr6#@)w%z1X5TBgB{H z)z&R$Yg-vn@!Irf%C&DnWowsXjVOb!Je)7P!X(}mG;a>@L?)mH(#}09+m7*_x=Vof zeG$tZV6NuZKf~NH;Rde(Uk)iUgr>h0(BNcEu!I|-b{i%z5C-`{e^ciL>l)GFb&@}k*^y1~{g7Xv;xYF*zy=7uLam} zsEV+0RS-QMa1>ii>gQN|2I*|Eqp&;tB&OMT$(YL^cz8iy@AhWCd)m>PMBV|;+b8Bg4?R8N`<**v7nc2virl8(ieG`(mkW9HNA`_R0l=xxIbY#1 zLt2MTyn)-wAXpQbmw-ltBCi0;wse~_W-(k|#29m^g%=q#P=O+UP_EXUE@Ms~?zn(c;mWmfBy!fhzS@$nGZd4!^O3 zgAD1RJ=h+}GeCQ*@6f%#3n9@lT*R=b{=w0wd?Rqgs5vVF1wLvYcim%=oU%p~_%pM? z%T58Q2bj_DiA5pHz=Lh9$&iqyu{CU{1XjlrZZD>R)GCGBq@HzpuV`UyDA7g>9uB{> ziV1WFp_8REcbmnvX9ig&y(S(#p{LYk%9E1I;N5GDO7`)DNMVzD$N_y&yjl_5h3|)E zHrF5d#%%xT$>Zy+>N~eHvtv&4Q;4bM?!TQS*dPHuItR49VOYXfCD^SwsAJRn*QLrZ zScmy|ZQ!U;w*{v_0~j8^Y$^+7D`I-!r`%a31Vh67ifiv~{6Fz$%U{__OsVrB;9$Wa$8YWsgNk}72@!>(=L+Ll|QW4swb<||NJd6cg+q}bg zEn`*ThV@;2?O<=(Ls*NuG;wT>$rq!5GGf|Y0Vbq|Y4~tq5Hqsx8yxxoNp0EQ^YHj{ zH*4!%E4S9RD8BFj*{7Zi+I|{_tghA(3LO?<%U$(-^}OT2UC1?eY}U4_gq=w=;_s9& z$TWJNH67w?*roip(qPqq3rJLrso)O5Vy!=mszrdoZ**otvQ-q!=#Aes1^;5*<|}k= z+PHnYA@A}1z#4KWBBBbljg5&YzeYU;Fnzc?e%cd&)gy=5ABWzvfCT%*K5n`+0}oN- zycch2H#>R+{TU>&f@b8-p*jD{tPE1L#vx)BWgo2H3-P6TTnDnVmiV<$tb}e#P%Tv# zzg0-CH#h|C(mOcVJDE@?iPueiX-?PG5ZP(H1JJ_bVSDwwPW)a{N6=@8IfmdP3{D~R zbT(Ib2rO%{%mKbI+VQg94P5t@X#j?Y!Q{pDS-C;BnXQOH=0!J1wo=MKbcdej>d2@1 zTdC}^CXE*91isX1a+d;}2dwf~_Vf~frNnJW35V(e=b)8c1YxM9{`i#H;K$;ealUA1 z(ogSTCqbs-%T3Ye3UtU(nTj-XR^_%?INUF*OJg6+fxse2PLPn^D|l9Q0!sV+lAxKW~`Bq^Vlq0cPq!tM8)<1 zxZF-HNgUo9X?`W@>7KTA%GV%hWMB(~PZ)gv*DFRxZlXr)A~<28z>56-CxrGXO4s z05^2qBB=HYVASrJb#JmB1xFj^mw)2+X7M$|Q?eFLV&N4#Ul-U`vBX$3HGILpl^y&-q!!wG0mdf664BF1B# zb=#KHEXlpxgJQiSpPxRB6ae~GIVyFj$_-wY}{U=m5KX zIM{;zbY32lx8A8aEwm2i1um-f6sj+xv!v?~0v7U_!XGh!J?2OdNdX089mO`Iz>cKgl+rp@8N|<){9};4Hyf*cdV%H zyS>(dP-M#NrC6OOTowj>+|F{!3~Uh~Fk84toOPcZvZX>tCEpBO(bFV^;dg&&;9SU1 z=6r-C>@?Kt*F9L)_y4(b5m*S{2CncpBy9Om>=c)uL?YhEV+Vf6$mNI!go_ZOTg1%U z3?d#1ZrQxB<=Heht0fkdv)dFZ00OV?$`x$^Azpo?Fr0bjW#APcf=6d6#Yj6+rwlzl zn0m;Tf-D@K#w_*t+ z<%37fl~0#m%e)kLhS__03#1sV3`c3p!SZc9zeP=zkdpRdJo&;X!QLcv{i=D1AX(`)82Ka+6 z&xRbUXMT)t{hpy6Rm12@NXECLQP;dorM67tvuY8dk0Ch71pGkLA<>cE)~n-}g*K1? z+$E07@MxJcoQU(Wz(z_~c0Tl)wS_(ZS}S-ZsvV)p*VLqX}YFg9jb>yD*&oY173fb)W!M2>MR5Ap&l5M)eN$zMYLVw}4ogP)&(@+Fc zUZ0)?+A^hPdDg0_m+#VVtzqyz!NaXK0`1G^7oZ)1`l*|VM!;}feO^A0SMF@!^fwCS zqYww+z$${>Dr3J_=vbt<`9OrJxMjsBm{ae=hV+K)A^)xt<#IJ?&8D}>Ji70?w+(6> zRfRGLQW{~nbFid=`GLAwpF zF-0*37P-KE0>;Q=1?K%L`Q_vG}hsn-ND{#n{k zcov~Tco4`gFas@Q91%74GM!$B=#(Dyu*#i#V(Zbo&d@?_`1A)vEhu^jnI60>D@pU_ zI3F*kiKmpCUeBfX|Sy%Hh zq>{3H{h;<{3lmCp>W3iypTkN`g^i6vZCwmc&=^f(gCf586JrAl+@LqLl6gu(YGO>$ zcqwObNn4_RVJR%`s@_?d$znAJdrhe2R}8Ri)rB z3F$J|lJA*R**KlXCsG%d6ki9MAG@rPCum!d<+ZSZ!|8qYsDg2++UncFaldDz{8pVf z8vF7W>Y9m-PqxhWywmzA6+gb^xJHIYYm(Mn{Kp1Q%X%lzqh5m_rxs>a(~Ctn7Rt3? z3C3ZEFi}BHbjMGgQe}0OIyQ`uy!u^q4nW8q6dQL;jwA2OTN7RkC42SFfJ zEx+r}xtO_Ib;k?E{7geF&XwK_iR?q(N2uuKP4|NMYF4j$wE1t1pU%konePzWik#lx zUe4;DLeg-9CuESz<#H>1Qt1Pe%?X0tcs{j=%W7%_j<2k%0e$(KZn1>~ALGkP6Ee*H zbh=H3_RrUIvwEV6;a%*WwajrXiCz0TUqLo2Mh`NsY2(T(UiQB24EsR}?R?ws$F?vttNMAFGMqk8w9mI`NF0oi#`%2e0m9G-IcM>wc zR2@IvwQz^-^$6L=f?~gz_6a6Blq8(jQcd*t2jS|^-hBAKpO6YFKy9C2YF&i!I4eLc zgAb;&ZTtId0L6t2-3HFNd&vwFfAxPF`QWTJm#TG(hn^4`1_MVg7iWxB^S>_4nExUO z;g|wOkY^Um^yhzY??mapzw@r&mk|F0Iu@wQc4uEY+uEQrJUjSan6!34Q*3aS@kg9# zIQ-}Ns)WHACIy3awU7}QLp&WuvVCKURy}{dg9c-~w;@G?Q$#1>2F#rCtNmVXAg{cf z1O-UEqy%3ZbG?l@TnsDX12Q;KcYg7AWwHK4hf+OLsK6Yc@_GE@q1>MZfV&CTf9@Xv z8Hv_3oocDuL`GfbPVbX{pG}?;PUJQS;)FcNXkHy)gV)4{o>;=QZ~4D4bWBF!!up7P z^h<^&X-(n>F76*$UnoRBb`;tVzms1Ia__pl!cs=}C5fuVeX^<^h+XEgl>$A?tDAML ze*Ej6qxb-4XzYG@=b&kT^Pit{3!~>v=Q8i=4C)FW5yU6aFdeq%_MbbV!6s-_iQu-0 znXnIM_pf0Ev<%jWBy{r{Y3d9#sXl%2p8k5PC!nh4Uw!Vw8jJ$JHZ%iF%iUce97zA!?I=6pE$ffkJqG#F9gI|d zuHe6TaaQiP7oh@BTv0(s8wVQ*e}MaZ&x$dT_|wQ|{oq6Hzx$9u(wD@i){&wA$WL@{ z9!j6lo(j1EkAwfK#=D^qKsy)XV14;Un&O^%8DLF#^NH$Zb!UKB0l>U@ZJ7{;~;S; zgl9d4Xix1rZa3j-F;h9CEA8bU`uCQF#-pz`>iKa#E1f6-vQ07?H2$e`%x>hhJ1z4K z%byad^oJ0!{+)$L5b1^Mj~XPq{^58{7sR{WVxZB4T@R zpi;OBVhAG`7}bR?ekc4Yl6&xT7yCk9DS|Jbk;kBfm!kPq-$9b?pL@;5Oggr*FnJ5h zpuY8ZM3Bs}jbx=A1Am5mFOs~$Q}PtBM?J{8$%ENn8xRJrdB%QzGg2jH{CB~0k*)g? zy3cpd;S*gz*Ixzz*vYF403{npVR`x!0#oybAV!OH3}ypca93z2<9u=T0cwN~%eEgL zkxP{W0MtB1iV`F|>@4K)QD=MrB1$y1-Gl&(JWw`Vnh_~%tfNHZ_knKJ-xCEq)$lF= zbKJ-Tq^ULR@o{8Rir~5gdYEFwG4g}46SfbOVe8$S!@pH26=L!L;Anm)_j_9(`Uqh@ zMCS(IdW1u*o`^_-i3Te2%|^Z>oz)9>58FM31>d^Bs@r~jfB*NNS0sK8tY0snv1X@I zw{0q+coH;nL0E!A{YO}0+zSVi@)@oHx6vaxde1UIbztBEi5~Ark3ddN%%2$V-)#{Y zJhyj$@K5!<=)|6G9|lW`%@J|ur%;xEYk82*8&m+-?9?aoWZrgNmyMfyI7oh*?!pIQ zf}#>fLyOdeeTCQbl=mJ!@c}|hhjLHD*kTJzu8Y~QF_w`A=#;W^wSOzB0zbSvZ*NqY zv%7&Ixd-Xjpw~Z@YmSwT1j)TqS21%EqReP1Ni9QXX|~D-)kl(|&+8~q3T(qIj-!&! zL0-VtmZe||pMQ%xa~=#0*Dt@q2#>i^ETg*u4|JUj5mWM|m!0qm6$(#a+ z4BmhvU_Zq^UQ0NF*l0Yc?Dq<8J%v;x!>bx%dHD42N`(|!4)w{LScmjxn7VA6<^H*C zx8V`z`aCw$5Z#Mh%m~1t{?c1yMSI8iZSS32Tm|OjOTO0a02?2iJ_((iCrB$m|3T%t z45r)jIl9artqw|{8gS_L-L|xU>Hp27B3=z31k3akFQ!R9Q#1z|I*5%M>CeR5^;wlD69tKir_&PMI^IT)t+Z z?}njnI?O@3>v08J+G@9={~VLDH)64 z73k7_VtnLeS~JbB8(}ByUa@cyx`b|YTpDx<>SP0ZivsQ~#Ii?b)6Yehfb#4$EgFE%=M5k4~0wQZrv7R|YH}X-s%@@`d$oJ%H>?{UXat$RTSOtaom(^N9)5 z{z8_&JJ*OXfk@d!GJ6dwtGd2@bFwc4?N~=a%>fQM7yLx0M)W17G_%xR2V(E=Z}ToV z=0cJ+2|<%e4@kx-?S?tf9_C?`&cR!F#6SDGp3l|g4S1j4wy`wAQ}m}&_)Z}J-_u1e zUoY+Ko*a$L2RTb%%P}wa;^m>^)~sFTe@AJ_JB#rI1oZb$gyy0~YU(bdfRn=SBWC#6 z_bvM20P6nUA7;)`l^gef*Wi<_mi>=NGx9_BiVcIKjdA{%@hizYob*&*X805=etW9FO&Xg$K3!Hz*Fuqv?UF&8JbNHr-)EG8*TGzVay& z9}>{s`Q!aQH^RfCV27dQR4oEo@qi?7YrJebirmSa!9Y*=9*5+jLNf)3rV>tFJRY3_>lat+AKNl8&Tg!X9 z_j_Yql2la%=o&k+H8^iV2tE=3HC^%qsr@u03q6CE(I8tr{j*5Iy;98rQ#sB#)LMhS zEAZrxhuf_+Nfd6N(sLSkxkBU@ixsiH0*eS8FAR)$uYJM>EE(4crI)~N#$6tR`L1?0OR`% z_MH6z{iOk5YAO^E3G=r;0Z#jijB8>QKFZZi$f8#kXfI~-0;%;PM04pw3;f$<2HGmicXXgUHVlLgM7fX8aEdN|>8}ys4 z0LKPoHNA`M%oD=njT>ZwQ)&4CgEWr%tdJ7LZKxVYLGg99i!M3H#U08-`mcSFn>ip| zD7VZ6Y1UI%8c+jR?PYXaO1S;1z2fX$wmm)jfsQ8`pjhZ1#?Mgi5+mGj1!;_Bc-Z%h zQL|due^tV*^|%Wp?@phBb6$9FdW{aFUEtHsUmx{m33shf7@mBBUO06B?3e zVoi4LK5!9+ueU+WHS<=4`b1178-;_3DG$bi65#J@U1TS>za2W~8HuT)DLIqPzr!0Z zj6F7jmpWwyy#;!iI#od*F^$evcv{ni+2xnji?|yw&Hyf}j;|msAS76Q7Q-rk1hO$# zS|h6fSc$)-(N7LXJ%uJ1-jq;65S%Zb6-R}~zZel?asVz{h2jHRfR|GM^3$@BsUQk* z2mw0p%0M5Z*~V19Nj=AwLX3?M)-SxE*zi<#h_#G zc!WC?dbr)VTXD0QTEsa+p$@zKq+!hJ^s z%>w!$l8M8*%^Reh9FHIu?vjv2(+BmN|8&t*0Sv_D$5udvH3ib`hm*IXw*DAsqmqeE zW0?7wRB>LoksK%Rd-$73ym^Ea{ZL715hGg{Cd{d*oq}Wo+9{CR=gD3wIW0m`?3Pc?k+1!2k#gZ6h1g37Y8;sPUbcEC;V0zF-mlSv~VQqDU&wyZcaMU zY}oVa0*Pc@kfD18g2KYj4B<;3%3qN5!ombVo1y?4LYt^lnpW zqkb?*$n6l1TCz_ag)@Yzfo%F@WR>- zzVeNd^4^FE;FlW%e(4GtySX*926IW_c%5{v9&v64Hlzh! zt~`?}FPFhr#GL)mXxSqB*s~H|sG>&jLA3D-4`c4}Piidlqu$CEPJNIb%kQrqN7D&N zqhri$AzpJ~c3^x3Q!E^a7UF7o?-Np!1cr@sV!6Vm4N4Ipt27;u9K^ahRExq($O2|6uI9a zvc>2oXS{>oF1mCVq!^96@^`C_5AFat*MYAf#x=a>=*HT45gbJ8QW>)i>RIXi;D=spIZCPyR-GGy8I_<-&D5C+;4g$QIc4qU+ zMHXu+>unUa`PXwz9zEa9w3=7XwVzAvmHB|`L|(2@q^Fo|dq|1yhui)1e`Nd2iDZ`D zFZ=|q$~{~QlLD#a4Eq&{`$t>M+v79fVO<2TP8WDw&FDwWej;1?zzEu7??{uPF=S88q_QC0#_?`|A<&Dt= z7DIuCEx9h7+861P9d)0Wx2jhMgM$Mw$WfNy2K^b}?p!za3rU0h(bdfPk@X|CIgb_*RbVXS&yu1s;Ral_O)iT?wV$Ooo4O0VE11f`_haZ(k z>t{fH@!(8M3cWdEJ;o;47IxNgEaj;1YGnm4cN(6&V!}N=kCEb2gYl!B!pfIVCO@VZ z@5viw5>=1ZIAy#~Ae#1jl2o?XvOiV(kA=3xfhB`>9V7GmogqesMYGSU>??C8vMB{Z zdVV^t7TjiBt@NximMl&i9$D($bY1lJ{8j1Uozkh%xg?m;zas86X|7PQAc*f@aqqcX zPy77Ik2}Uot21UNHt|uc&W6tgQfex5XSp>?f*0Q&&72jYF*t2DdFp6S-B0DlE~eF4 zGViGoT5EP&8L6Myv%UgfDSmR^@%g5v{*4Qo&kq&Ks^u|*r`VMuo`U5{bn*>a{VWN2 zkuusw`1B8R3TCIdnZDuUslRV79V~W)#Fbun@e`QTNaG~H#}>cJ-1ul-YSvq5;c)EA zQrl+JV!VYfNP4s2!pqNr zVdXF_iCgH=LK5dH)*lJ`^|Gx_zaW{9OCAtoe4Znprv8y4 z#O%wA*P0gvpXRfE&)SKXZ6;F~Pa&`TxZ#U4FgNO~)}$m$8Fe-`@v7e-u0B5_{Jy!) zI_pgn&-5CbzPZ+U&tEP@TB{pJdg~d?0Xv&*;c}h+918nS+#LK3}Kupc; z7Oj)#W}2Xo&4TGpfISj3pAl#0cxLyyJWk*stQz`OC>7nm2sY~ggKDXS?r=D9Mt3m11qjWYw zqvLHwVg2Mu1JCg#-Jf()7N6c$HI2viXuB1s3}_T*UQUQ+SW#K38jXGNYgsxg_^SMf zb03dYdQAJMR*=4VV}rA*K!fMaN>ZVsD=g7nUKtzs^m{7)SbZz?5KiR!r=qFX+@y5dSsfwHST?cl#3|{ z&&)i+34m)^`))y1GQ3xpB43Gj?GFPZog-BXlngx+mt;oPuIr2?No^cu&ﲴR* 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

=HCx1$9OULyl0xC7=d7J>zHA#_}s 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 literal 0 HcmV?d00001 From 294b8dd8754e0f668eacf6446446ccf20eba740c Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Fri, 10 Jan 2025 11:41:59 -0600 Subject: [PATCH 03/15] subclustering and more plots --- .../06-tumor-cell-state-assignment.Rmd | 385 ++++++++++++++++-- .../scripts/utils/tumor-validation-helpers.R | 6 +- 2 files changed, 362 insertions(+), 29 deletions(-) diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd index 9acf0c2c3..86092081c 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd @@ -1,5 +1,5 @@ --- -title: "Tumor cell state annotation: `SCPCL000822` and `SCPCL000824`" +title: "Explore expression of marker genes for tumor cell states" author: Ally Hawkins date: "`r Sys.Date()`" output: @@ -9,6 +9,15 @@ output: code_folding: "hide" --- +In this notebook we look at expression of potential markers for tumor cell states in two libraries from `SCPCP000015`: `SCPCL000822` and `SCPCL000824`. +The expression of specific marker genes are then used to classify tumor cells into three different tumor cell states: `EWS-low`, `EWS-mid`, and `EWS-high`. + +We did this by: + +- Evaluating marker gene expression for different tumor cell states across all cells. +- Identifying tumor cells and getting new cluster assignments for just tumor cells. +- Looking at expression of tumor cell state marker genes across clusters and individual cells. + ## Setup ```{r packages} @@ -20,7 +29,7 @@ suppressPackageStartupMessages({ # Set default ggplot theme theme_set( - theme_bw() + theme_classic() ) # set seed @@ -40,13 +49,17 @@ module_base <- file.path(repository_base, "analyses", "cell-type-ewings") # path to marker genes file marker_genes_file <- file.path(module_base, "references", "tumor-cell-state-markers.tsv") + +# gene signatures +aynaud_file <- file.path(module_base, "references", "gene_signatures", "aynaud-ews-targets.tsv") +wrenn_file <- file.path(module_base, "references","gene_signatures", "wrenn-nt5e-genes.tsv") + +# path to save annotations tsv in results +results_dir <- file.path(module_base, "results", "tumor-cell-state-classifications") +fs::dir_create(results_dir) ``` ```{r} -# source in helper functions for make_jaccard_matrix() and jaccard() -jaccard_functions <- file.path(module_base, "scripts", "utils", "jaccard-functions.R") -source(jaccard_functions) - # source in helper functions: plot_density() and calculate_sum_markers() validation_functions <- file.path(module_base, "scripts", "utils", "tumor-validation-helpers.R") source(validation_functions) @@ -77,7 +90,14 @@ cluster_files <- file.path(cluster_results_dir, cluster_file_names) |> purrr::set_names(library_ids) ``` -```{r} +Below we set up the data for plotting throughout this notebook. + +1. The output from `aucell-singler-annotation.sh` is read in and annotations are lumped so that we can easily plot the top cell types. +2. Clustering results from `evaluate-clusters.sh` is read in and subset to the desired parameters we would like to use for assigning clusters (leiden, modularity, resolution 0.5, nearest neighbors 20). +3. The marker genes for tumor cell states and custom gene signatures are used to calculate the sum of all marker genes in each gene set for each library. +4. UMAP embeddings for each library is pulled out into a data frame and combined with `SingleR` annotations, cluster assignments, and marker gene expression for all marker gene sets. + +```{r, message=FALSE} # read in both SCEs sce_list <- sce_files |> purrr::map(readr::read_rds) @@ -119,20 +139,32 @@ cluster_df <- cluster_files |> ) ``` -```{r} +```{r, message=FALSE} # read in marker genes table marker_genes_df <- readr::read_tsv(marker_genes_file, show_col_types = FALSE) |> dplyr::select(cell_state, ensembl_gene_id, gene_symbol) -# get list of all cell types found -cell_states <- unique(marker_genes_df$cell_state) +# get individual gene signatures +aynaud_genes <- readr::read_tsv(aynaud_file) |> + dplyr::mutate(cell_state = "aynaud-ews-high") |> + tidyr::drop_na() + +wrenn_genes <- readr::read_tsv(wrenn_file) |> + dplyr::mutate(cell_state = "wrenn-ews-low") |> + tidyr::drop_na() + +# combine all genes into a single df +all_markers_df <- dplyr::bind_rows(list(marker_genes_df, aynaud_genes, wrenn_genes)) + +# get list of all cell states/ gene lists +cell_states <- unique(all_markers_df$cell_state) -# get the sum of expression of all genes for each cell type +# get the sum of expression of all genes for each cell state gene_exp_df <- sce_list |> purrr::map(\(sce) { cell_states |> purrr::map(\(state){ - calculate_sum_markers(marker_genes_df, sce, state, cell_state) + calculate_sum_markers(all_markers_df, sce, state, cell_state) }) |> purrr::reduce(dplyr::inner_join, by = "barcodes") }) |> @@ -154,16 +186,24 @@ umap_df <- sce_list |> dplyr::left_join(cluster_df, by = c("barcodes", "library_id")) ``` +## Identify tumor cells -assign cells as tumor cells if they belong to a cluster with high tumor marker gene expression +To label tumor cell states, we first want to pull out the cells that are tumor cells and then look at the expression of marker genes for each tumor cell state in those cells. +We have used a variety of methods to identify tumor cells so we will look at the output from two orthogonal approaches to identify the group of tumor cells we want to further classify into cell states. +Let's start by looking at the intersection of tumor cells assigned by the `aucell-singler-annotation.sh` workflow and the clusters obtained from the `evaluate-clusters.sh` workflow that have high expression of tumor marker genes. + +Below are two plots that we generated as part of the `evaluate-clusters.sh` workflow that tells us which clusters express tumor marker genes for each of these libraries. +We can use this information to help identify tumor cells to classify. ![SCPCL000822](../plots/SCPCL000822_cluster-marker-gene-exp.png) + ![SCPCL000824](../plots/SCPCL000824_cluster-marker-gene-exp.png) + + ```{r, fig.height=10} library_ids |> purrr::map(\(id){ - p1 <- cluster_classification_df |> dplyr::filter(library_id == id) |> ggplot(aes(x = UMAP1, y = UMAP2, color = singler_lumped)) + @@ -190,9 +230,9 @@ library_ids |> }) ``` - -For SCPCL000822, clusters 1, 3, and 4 are tumor -For SCPCL000824, clustrs 2, 3, 4, 5, 6, 7 are tumor +Looking at the above plots, we can assign some general cell types using clusters. +This is the same approach we took in `05-cluster-exploration.Rmd` but with slightly different parameters. +Based on the UMAPs and the density plots we see that tumor cells are in cluster 1, 3, and 4 for `SCPCL000822` and cluster 2, 3, 4, 5, 6, and 7 for `SCPCL000824`. ```{r} cluster_classification_df <- umap_df |> @@ -234,40 +274,333 @@ library_ids |> }) ``` +Looking at this I think the cells that are classified as tumor cells using the cluster assignments mostly line up with the `SingleR` annotations. +So we can label any cells from clusters that have high tumor marker gene expression as tumor cells. + +### Look at marker gene expression for tumor cell states in all cells + +Below we look at the expression of genes for the tumor cell states across all cells. +This will show us how the expression of these gene sets varies across cells in each library and help ensure we have the correct population of tumor cells. + +The value for each of the marker gene sets corresponds to the sum of the expression of all genes in the given gene list. +(Note that I also looked at mean and it had similar output) + +The gene sets that we use are: + +- `EWS-low`: Marker genes from `tumor-cell-state-markers.tsv` that correspond to the `EWS-low` cell state. +- `EWS-high`: Marker genes from `tumor-cell-state-markers.tsv` that correspond to the `EWS-high` cell state. +- `proliferative` : Marker genes from `tumor-cell-state-markers.tsv` that correspond to the `proliferative` cell state. +Note that a lot of the Ewing sarcoma literature argues that `EWS-FLI1` high cells are proliferative. +- `aynaud-ews-high`: Marker genes from `gene_signatures/aynaud-ews-targets.tsv` that correspond to genes activated by `EWS-FLI1`. +- `wrenn-ews-low`: Marker genes from `gene_signatures/wrenn-nt5e-genes.tsv` that correspond to genes repressed by `EWS-FLI1`. + +```{r, fig.height=7, fig.width=10} +# pull out columns that have sum of marker gene expression +marker_gene_cols <- colnames(cluster_classification_df)[stringr::str_detect(colnames(cluster_classification_df), "_sum$")] + +# look at the expression of all gene sets across both libraries +marker_gene_cols |> + purrr::map(\(geneset){ + cluster_classification_df |> + ggplot(aes(x = UMAP1, y = UMAP2, color = !!sym(geneset))) + + geom_point(alpha = 0.5, size = 0.1) + + facet_wrap(vars(library_id)) + + scale_color_viridis_c() + + theme( + aspect.ratio = 1 + ) + }) |> + patchwork::wrap_plots(ncol = 2) +``` + +It looks like there's a cluster of cells in both libraries that have expression of the `EWS-low` and `wrenn-ews-low` signatures. +Those cells correspond to the cells that we are labeling as "chondrocyte" in `SCPCL000822` and "mesenchymal-like" in `SCPCL000824`. +The chondrocytes also express high markers of mesenchymal-like genes and the literature talks about tumor cells with low `EWS-FLI1` expression being "MSC-like". +I think there's a possibility that these are tumor cells, so let's relabel them. + +```{r} +# create a new tumor classification that takes all tumor clusters plus the clusters with EWS-FLI1 low expression +cluster_classification_df <- cluster_classification_df |> + dplyr::mutate( + tumor_classification = dplyr::case_when( + cluster_classification == "tumor" ~ "tumor", + library_id == "SCPCL000822" & cluster_classification == "chondrocyte" ~ "tumor", + library_id == "SCPCL000824" & cluster_classification == "mesenchymal-like cell" ~ "tumor", + .default = cluster_classification + ) + ) +``` + + +## Classify tumor cell states + +Now that we have identified a subset of cells that are tumor cells, we can attempt to group them into various cell states. +The main thing that we are interested in is grouping cells into levels of `EWS-FLI1` expression. +Let's start by looking at the expression of the gene sets across all tumor cells. + +To do this, we will make a density plot that looks at gene set expression by cluster using the cluster assignments calculated using all cells. + +```{r} +tumor_cells_df <- cluster_classification_df |> + dplyr::filter(tumor_classification == "tumor") +``` + +```{r, fig.height=10} +# density plot showing expression of each gene set by cluster +library_ids |> + purrr::map(\(id){ + + density_df <- tumor_cells_df |> + dplyr::filter(library_id == id) + + marker_gene_cols |> + purrr::map(\(column){ + plot_density( + density_df, + column, + "cluster" + ) + }) |> + patchwork::wrap_plots(ncol = 1) + + patchwork::plot_annotation(id) + + }) +``` + +A few notes from this: + +- It doesn't look like very many cells express proliferative markers, so perhaps that gene set will not be helpful for these libraries? +- There are some very obvious `EWS-FLI1` low groups of cells. +- The `EWS-high` and `aynaud-EWS-high` show clusters that have high expression of `EWS-FLI1` targets, but the `aynaud-EWS-high` appears to have some more separation across clusters. +That tells me that gene signature might be more helpful in classifying cells across the `EWS-FLI1` continuum. + +### Sub cluster tumor cells + +We would expect that tumor cells that are in similar cell states would cluster together. +So here I am going to take just the tumor cells and re-assign clusters. +I'm using the same parameters we use for the whole sample, leiden, modularity, resolution of 0.5, and nearest neighbors of 20. +I think if we really wanted to be stringent we would evaluate clusters here and find the best parameters to use, but I think starting with these is good. + + +```{r} +# get a data frame of all tumor cells and re assigned clusters +subcluster_df <- sce_list |> + purrr::imap(\(sce, id){ + + # pull out the barcodes that are from tumor cells + tumor_cells <- tumor_cells_df |> + dplyr::filter(library_id == id) |> + dplyr::pull(barcodes) + + # filter the sce to only those barcodes + filtered_sce <- sce[ , tumor_cells] + + # grab pcs for clustering + pcs <- reducedDim(filtered_sce) + + # get the clusters + clusters <- bluster::clusterRows( + pcs, + bluster::NNGraphParam( + k = 20, + type = "jaccard", + cluster.fun = "leiden", + cluster.args = list(objective_function = "modularity", + resolution = 0.5) + ) + ) + + # combine into a data frame with barcodes + cluster_df <- data.frame( + barcodes = rownames(pcs), + sub_cluster = clusters + ) + }) |> + # get clusters for both samples in one data frame + dplyr::bind_rows(.id = "library_id") + +# add clusters to tumor cells df for plotting +tumor_cells_df <- tumor_cells_df |> + dplyr::left_join(subcluster_df, by = c("library_id", "barcodes")) +``` + +The first thing we will do is plot the cluster assignments on the UMAP. + ```{r} library_ids |> purrr::map(\(id){ - cluster_classification_df |> + tumor_cells_df |> dplyr::filter(library_id == id) |> - ggplot(aes(x = UMAP1, y = UMAP2, color = proliferative_sum)) + + ggplot(aes(x = UMAP1, y = UMAP2, color = sub_cluster)) + geom_point(alpha = 0.5, size = 0.1) + theme( aspect.ratio = 1 ) + labs(title = id) + - scale_color_viridis_c() + scale_color_brewer(palette = "Dark2") + + guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5))) }) ``` +Now we will look at the marker gene expression across all clusters for each sample. +First using a density plot and then a heatmap. + +```{r, fig.height=10} +library_ids |> + purrr::map(\(id){ + + density_df <- tumor_cells_df |> + dplyr::filter(library_id == id) + + marker_gene_cols |> + purrr::map(\(column){ + plot_density( + density_df, + column, + "sub_cluster" + ) + }) |> + patchwork::wrap_plots(ncol = 1) + + patchwork::plot_annotation(id) + + }) +``` -pull out just tumor cells ```{r} -tumor_cells_df <- cluster_classification_df |> - dplyr::filter(cluster_classification == "tumor") +library_ids |> + purrr::map(\(id){ + + filtered_df <- tumor_cells_df |> + dplyr::filter(library_id == id) + + full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster", plot_name = id) + + }) + +``` + +It looks like for both samples we have some clear division between EWS high and EWS low cells. +Additionally, there are some cells with really strong expression of the EWS high markers and others that look like the genes are expressed but to a lesser degree. +This fits with the findings from the literature that `EWS-FLI1` expression lies on a continuum. +Between these two plots I think we can try and group cells into EWS low, EWS middle, and EWS high cells. +I don't think the proliferative markers are very informative, so I don't think we can use that to categorize any cells. + +Based on this I would make the following assignments: + +`SCPCL000822`: +`EWS-FLI1` low - 2 +`EWS-FLI1` middle - 1 & 4 +`EWS-FLI1` high - 3 + +`SCPCL000824` : +`EWS-FLI1` low - 1 +`EWS-FLI1` middle - 6 +`EWS-FLI1` high - 2, 3, 4, 5, 7 + +```{r} +# categorize tumor cells based on EWS expression +tumor_cells_df <- tumor_cells_df |> + dplyr::mutate( + cell_state = dplyr::case_when( + library_id == "SCPCL000822" & sub_cluster == 2 ~ "EWS-low", + library_id == "SCPCL000822" & sub_cluster %in% c(1, 4) ~ "EWS-mid", + library_id == "SCPCL000822" & sub_cluster == 3 ~ "EWS-high", + library_id == "SCPCL000824" & sub_cluster == 1 ~ "EWS-low", + library_id == "SCPCL000824" & sub_cluster %in% c(6, 8) ~ "EWS-mid", + library_id == "SCPCL000824" & sub_cluster %in% c(2, 3, 4, 5, 7) ~ "EWS-high", + ) + ) +``` + +Let's re-plot the heatmap but label by tumor cell state rather than cluster. + +```{r} +library_ids |> + purrr::map(\(id){ + + filtered_df <- tumor_cells_df |> + dplyr::filter(library_id == id) + + full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state", plot_name = id) + + }) +``` + +I think that looks pretty reasonable. +I'm not sure we can really make more definitive calls given the gene lists that we have, unless we use fancier approaches. +We could try something like `AUCell`, but without a nice bimodal distribution, I don't think we would get anything but low/high cells. + +## Combined classifications + +As a final step, we'll add the tumor cell states back into the full object and look at them on the UMAP. +Here I am plotting the classification of cells based on the cluster because otherwise the normal cells get a little wild with colors and I want to be able to see visualize the tumor cells. + + +```{r} +# select the columns we want to join back into the main classification df +cell_state_classifications <- tumor_cells_df |> + dplyr::select(library_id, barcodes, cell_state, sub_cluster) + +# add cell states to classification +final_classification_df <- cluster_classification_df |> + dplyr::left_join(cell_state_classifications, by = c("library_id", "barcodes")) |> + dplyr::mutate(full_classification = dplyr::if_else(is.na(cell_state), singler_lumped, cell_state), + cluster_classification = dplyr::if_else(is.na(cell_state), cluster_classification, cell_state)) + +# make some umaps library_ids |> purrr::map(\(id){ - tumor_cells_df |> + final_classification_df |> dplyr::filter(library_id == id) |> - ggplot(aes(x = UMAP1, y = UMAP2, color = `EWS-low_sum`)) + + ggplot(aes(x = UMAP1, y = UMAP2, color = cluster_classification)) + geom_point(alpha = 0.5, size = 0.1) + theme( aspect.ratio = 1 ) + labs(title = id) + - scale_color_viridis_c() + scale_color_brewer(palette = "Dark2") + + guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5))) + }) +``` + +```{r} +# export the final classifications in case we want to use them in the future +# save all classification columns +final_classification_df |> + split(final_classification_df$library_id) |> + purrr::iwalk(\(df, id){ + + filename <- glue::glue("{id}_tumor-cell-state-annotations.tsv") + + df |> + dplyr::select( + library_id, + barcodes, + singler_annotation, + aucell_annotation, + cluster, + cluster_classification, + tumor_sub_cluster = sub_cluster, + tumor_cell_state = cell_state, + full_classification + ) |> + readr::write_tsv(file.path(results_dir, filename)) + }) ``` +## Conclusions + +- There is a clear division between cells that are `EWS-FLI` high and `EWS-FLI1` low. +- Most tumor cells in both samples are `EWS-FLI` high, which is consistent with the literature. +- There may be a class of cells that live in between high and low, but if we want to define those we probably need to be more stringent with our approach and identify a mechanism to bin cells based on expression of both `EWS-FLI1` activated and repressed genes, which is outside the scope of this notebook. + +## Session info + +```{r session info} +# record the versions of the packages used in this analysis and other environment information +sessionInfo() +``` diff --git a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R index 01b4e5899..51db14975 100644 --- a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R +++ b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R @@ -250,9 +250,9 @@ full_celltype_heatmap <- function(classification_df, # create annotation for heatmap annotation <- ComplexHeatmap::columnAnnotation( - singler = classification_df[[annotation_column]], + annotation = classification_df[[annotation_column]], col = list( - singler = colors + annotation = colors ) ) @@ -294,7 +294,7 @@ plot_density <- function(classification_df, ) + labs( x = "Gene set expression", - y = "Cell type annotation", + y = annotation_column, title = geneset_name ) + scale_alpha_identity() + From 2f599effc05a06cce92767f4a7cf0e9ef156d984 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Fri, 10 Jan 2025 11:42:08 -0600 Subject: [PATCH 04/15] render the notebook --- .../06-tumor-cell-state-assignment.html | 1193 +++++++++++++++++ 1 file changed, 1193 insertions(+) create mode 100644 analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html new file mode 100644 index 000000000..fbc82c611 --- /dev/null +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html @@ -0,0 +1,1193 @@ + + + + + + + + + + + + + + + +Explore expression of marker genes for tumor cell states + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + + + + +

In this notebook we look at expression of potential markers for tumor +cell states in two libraries from SCPCP000015: +SCPCL000822 and SCPCL000824. The expression of +specific marker genes are then used to classify tumor cells into three +different tumor cell states: EWS-low, EWS-mid, +and EWS-high.

+

We did this by:

+
    +
  • Evaluating marker gene expression for different tumor cell states +across all cells.
  • +
  • Identifying tumor cells and getting new cluster assignments for just +tumor cells.
  • +
  • Looking at expression of tumor cell state marker genes across +clusters and individual cells.
  • +
+
+

Setup

+
suppressPackageStartupMessages({
+  # load required packages
+  library(SingleCellExperiment)
+  library(ggplot2)
+})
+
+# Set default ggplot theme
+theme_set(
+  theme_classic()
+)
+
+# set seed
+set.seed(2024)
+
# The base path for the OpenScPCA repository, found by its (hidden) .git directory
+repository_base <- rprojroot::find_root(rprojroot::is_git_root)
+
+# The current data directory, found within the repository base directory
+data_dir <- file.path(repository_base, "data", "current", "SCPCP000015")
+
+# The path to this module
+module_base <- file.path(repository_base, "analyses", "cell-type-ewings")
+
+# path to marker genes file
+marker_genes_file <- file.path(module_base, "references", "tumor-cell-state-markers.tsv")
+
+# gene signatures
+aynaud_file <- file.path(module_base, "references", "gene_signatures", "aynaud-ews-targets.tsv")
+wrenn_file <- file.path(module_base, "references","gene_signatures", "wrenn-nt5e-genes.tsv")
+
+# path to save annotations tsv in results 
+results_dir <- file.path(module_base, "results", "tumor-cell-state-classifications")
+fs::dir_create(results_dir)
+
# source in helper functions: plot_density() and calculate_sum_markers()
+validation_functions <- file.path(module_base, "scripts", "utils", "tumor-validation-helpers.R")
+source(validation_functions)
+
+
+

Prepare data

+
# sample and library ids
+sample_ids <- c("SCPCS000490", "SCPCS000492")
+library_ids <- c("SCPCL000822", "SCPCL000824")
+
+# define input sce files
+sce_file_names <- glue::glue("{library_ids}_processed.rds")
+sce_files <- file.path(data_dir, sample_ids, sce_file_names) |>
+  purrr::set_names(library_ids)
+
+# path to cell type classification files
+singler_results_dir <- file.path(module_base, "results", "aucell_singler_annotation")
+classification_file_names <- glue::glue("{library_ids}_singler-classifications.tsv")
+classification_files <- file.path(singler_results_dir, sample_ids, classification_file_names) |>
+  purrr::set_names(library_ids)
+
+# path to clustering results files
+cluster_results_dir <- file.path(module_base, "results", "clustering", sample_ids)
+cluster_file_names <- glue::glue("{library_ids}_cluster-results.tsv")
+cluster_files <- file.path(cluster_results_dir, cluster_file_names) |>
+  purrr::set_names(library_ids)
+

Below we set up the data for plotting throughout this notebook.

+
    +
  1. The output from aucell-singler-annotation.sh is read in +and annotations are lumped so that we can easily plot the top cell +types.
  2. +
  3. Clustering results from evaluate-clusters.sh is read in +and subset to the desired parameters we would like to use for assigning +clusters (leiden, modularity, resolution 0.5, nearest neighbors +20).
  4. +
  5. The marker genes for tumor cell states and custom gene signatures +are used to calculate the sum of all marker genes in each gene set for +each library.
  6. +
  7. UMAP embeddings for each library is pulled out into a data frame and +combined with SingleR annotations, cluster assignments, and +marker gene expression for all marker gene sets.
  8. +
+
# read in both SCEs
+sce_list <- sce_files |>
+  purrr::map(readr::read_rds)
+
+# read in classification data frame with SingleR results and combine into one
+classification_df <- classification_files |>
+  purrr::map(readr::read_tsv) |>
+  dplyr::bind_rows(.id = "library_id") |> 
+  dplyr::mutate(
+    # first grab anything that is tumor and label it tumor
+    # NA should be unknown
+    singler_annotation = dplyr::case_when(
+      stringr::str_detect(singler_annotation, "tumor") ~ "tumor",
+      is.na(singler_annotation) ~ "unknown", # make sure to separate out unknown labels
+      .default = singler_annotation
+    ) |>
+      forcats::fct_relevel("tumor", after = 0),
+    # get the top cell types for plotting later
+    singler_lumped = singler_annotation |>
+      forcats::fct_lump_n(7, other_level = "All remaining cell types", ties.method = "first") |>
+      forcats::fct_infreq() |>
+      forcats::fct_relevel("All remaining cell types", after = Inf)
+  )
+
+# read in clustering results and select cluster assignments of interest 
+# here we keep leiden-mod, 0.5 res, 20 nn for both libraries 
+cluster_df <- cluster_files |> 
+  purrr::map(readr::read_tsv) |> 
+  dplyr::bind_rows(.id = "library_id") |> 
+  dplyr::filter(
+    cluster_method == "leiden_mod",
+    nn == 20,
+    resolution == 0.5
+  ) |> 
+  dplyr::select(
+    barcodes = cell_id,
+    library_id, 
+    cluster
+  )
+
# read in marker genes table
+marker_genes_df <- readr::read_tsv(marker_genes_file, show_col_types = FALSE) |>
+  dplyr::select(cell_state, ensembl_gene_id, gene_symbol) 
+
+# get individual gene signatures
+aynaud_genes <- readr::read_tsv(aynaud_file) |> 
+  dplyr::mutate(cell_state = "aynaud-ews-high") |>
+  tidyr::drop_na()
+
+wrenn_genes <- readr::read_tsv(wrenn_file) |> 
+  dplyr::mutate(cell_state = "wrenn-ews-low") |>
+  tidyr::drop_na()
+
+# combine all genes into a single df 
+all_markers_df <- dplyr::bind_rows(list(marker_genes_df, aynaud_genes, wrenn_genes))
+
+# get list of all cell states/ gene lists 
+cell_states <- unique(all_markers_df$cell_state)
+
+# get the sum of expression of all genes for each cell state
+gene_exp_df <- sce_list |>
+  purrr::map(\(sce) {
+    cell_states |>
+      purrr::map(\(state){
+        calculate_sum_markers(all_markers_df, sce, state, cell_state)
+      }) |>
+      purrr::reduce(dplyr::inner_join, by = "barcodes")
+  }) |>
+  dplyr::bind_rows(.id = "library_id")
+
+# get umap embeddings and combine into a data frame with gene exp, cluster, and cell type assignments 
+umap_df <- sce_list |>
+  purrr::map(\(sce){
+    df <- sce |>
+      scuttle::makePerCellDF(use.dimred = "UMAP") |>
+      # replace UMAP.1 with UMAP1 and get rid of excess columns
+      dplyr::select(barcodes, UMAP1 = UMAP.1, UMAP2 = UMAP.2)
+  }) |>
+  dplyr::bind_rows(.id = "library_id") |>
+  # add in classifications 
+  dplyr::left_join(classification_df, by = c("library_id", "barcodes")) |> 
+  dplyr::left_join(gene_exp_df, by = c("barcodes", "library_id")) |> 
+  # add in cluster assignments 
+  dplyr::left_join(cluster_df, by = c("barcodes", "library_id"))
+
+
+

Identify tumor cells

+

To label tumor cell states, we first want to pull out the cells that +are tumor cells and then look at the expression of marker genes for each +tumor cell state in those cells. We have used a variety of methods to +identify tumor cells so we will look at the output from two orthogonal +approaches to identify the group of tumor cells we want to further +classify into cell states. Let’s start by looking at the intersection of +tumor cells assigned by the aucell-singler-annotation.sh +workflow and the clusters obtained from the +evaluate-clusters.sh workflow that have high expression of +tumor marker genes.

+

Below are two plots that we generated as part of the +evaluate-clusters.sh workflow that tells us which clusters +express tumor marker genes for each of these libraries. We can use this +information to help identify tumor cells to classify.

+
+SCPCL000822 +
SCPCL000822
+
+
+SCPCL000824 +
SCPCL000824
+
+
library_ids |>
+  purrr::map(\(id){
+    
+    p1 <- cluster_classification_df |>
+      dplyr::filter(library_id == id) |>
+      ggplot(aes(x = UMAP1, y = UMAP2, color = singler_lumped)) +
+      geom_point(alpha = 0.5, size = 0.1) +
+      theme(
+        aspect.ratio = 1
+      ) +
+      scale_color_brewer(palette = "Dark2") +
+      labs(title = id) +
+      guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5)))
+    
+    p2 <- cluster_classification_df |>
+      dplyr::filter(library_id == id) |>
+      ggplot(aes(x = UMAP1, y = UMAP2, color = as.factor(cluster))) +
+      geom_point(alpha = 0.5, size = 0.1) +
+      theme(
+        aspect.ratio = 1
+      ) +
+      #scale_color_brewer(palette = "Dark2") +
+      labs(title = id, color = "cluster") +
+      guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5)))
+    
+    patchwork::wrap_plots(p1, p2, nrow = 2)
+  })
+
## [[1]]
+
## Warning: Removed 2 rows containing missing values or values outside the scale range (`geom_point()`).
+

+
## 
+## [[2]]
+
## Warning: Removed 1 row containing missing values or values outside the scale range (`geom_point()`).
+

+

Looking at the above plots, we can assign some general cell types +using clusters. This is the same approach we took in +05-cluster-exploration.Rmd but with slightly different +parameters. Based on the UMAPs and the density plots we see that tumor +cells are in cluster 1, 3, and 4 for SCPCL000822 and +cluster 2, 3, 4, 5, 6, and 7 for SCPCL000824.

+
cluster_classification_df <- umap_df |> 
+  dplyr::mutate(
+    cluster_classification = dplyr::case_when(
+      library_id == "SCPCL000822" & cluster %in% c(1, 3, 4) ~ "tumor",
+      library_id == "SCPCL000822" & cluster == 6 ~ "endothelial cell",
+      # cluster 2 has predominantly chondrocytes and has MSC marker gene expression
+      library_id == "SCPCL000822" & cluster == 2 ~ "chondrocyte",
+      # clusters with high "immune" marker gene expression are macrophage
+      library_id == "SCPCL000822" & cluster == 5 ~ "macrophage",
+      # cluster 8 has high MSC marker gene expression and a mix of MSC like cell types
+      library_id == "SCPCL000822" & cluster == 7 ~ "mesenchymal-like cell",
+      library_id == "SCPCL000824" & cluster %in% c(2, 3, 4, 5, 6, 7) ~ "tumor", 
+      library_id == "SCPCL000824" & cluster == 8 ~ "endothelial cell",
+      # cluster 9 has high immune markers and is mostly macrohpages
+      library_id == "SCPCL000824" & cluster == 9 ~ "macrophage",
+      # cluster 1 has high MSC marker gene expression and a mix of MSC like cell types
+      library_id == "SCPCL000824" & cluster == 1 ~ "mesenchymal-like cell",
+      # if they didn't have high expression of any markers, we label them as unknown
+      .default = "unknown"
+    )
+  )
+
library_ids |>
+  purrr::map(\(id){
+    cluster_classification_df |>
+      dplyr::filter(library_id == id) |>
+      ggplot(aes(x = UMAP1, y = UMAP2, color = cluster_classification)) +
+      geom_point(alpha = 0.5, size = 0.1) +
+      theme(
+        aspect.ratio = 1
+      ) +
+      labs(title = id) +
+      scale_color_brewer(palette = "Dark2") +
+      guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5)))
+  })
+
## [[1]]
+

+
## 
+## [[2]]
+

+

Looking at this I think the cells that are classified as tumor cells +using the cluster assignments mostly line up with the +SingleR annotations. So we can label any cells from +clusters that have high tumor marker gene expression as tumor cells.

+
+

Look at marker gene expression for tumor cell states in all +cells

+

Below we look at the expression of genes for the tumor cell states +across all cells. This will show us how the expression of these gene +sets varies across cells in each library and help ensure we have the +correct population of tumor cells.

+

The value for each of the marker gene sets corresponds to the sum of +the expression of all genes in the given gene list. (Note that I also +looked at mean and it had similar output)

+

The gene sets that we use are:

+
    +
  • EWS-low: Marker genes from +tumor-cell-state-markers.tsv that correspond to the +EWS-low cell state.
  • +
  • EWS-high: Marker genes from +tumor-cell-state-markers.tsv that correspond to the +EWS-high cell state.
  • +
  • proliferative : Marker genes from +tumor-cell-state-markers.tsv that correspond to the +proliferative cell state. Note that a lot of the Ewing +sarcoma literature argues that EWS-FLI1 high cells are +proliferative.
  • +
  • aynaud-ews-high: Marker genes from +gene_signatures/aynaud-ews-targets.tsv that correspond to +genes activated by EWS-FLI1.
  • +
  • wrenn-ews-low: Marker genes from +gene_signatures/wrenn-nt5e-genes.tsv that correspond to +genes repressed by EWS-FLI1.
  • +
+
# pull out columns that have sum of marker gene expression 
+marker_gene_cols <- colnames(cluster_classification_df)[stringr::str_detect(colnames(cluster_classification_df), "_sum$")]
+
+# look at the expression of all gene sets across both libraries 
+marker_gene_cols |>
+  purrr::map(\(geneset){
+    cluster_classification_df |>
+      ggplot(aes(x = UMAP1, y = UMAP2, color = !!sym(geneset))) +
+      geom_point(alpha = 0.5, size = 0.1) +
+      facet_wrap(vars(library_id)) +
+      scale_color_viridis_c() +
+      theme(
+        aspect.ratio = 1
+      )
+  }) |> 
+  patchwork::wrap_plots(ncol = 2)
+

+

It looks like there’s a cluster of cells in both libraries that have +expression of the EWS-low and wrenn-ews-low +signatures. Those cells correspond to the cells that we are labeling as +“chondrocyte” in SCPCL000822 and “mesenchymal-like” in +SCPCL000824. The chondrocytes also express high markers of +mesenchymal-like genes and the literature talks about tumor cells with +low EWS-FLI1 expression being “MSC-like”. I think there’s a +possibility that these are tumor cells, so let’s relabel them.

+
# create a new tumor classification that takes all tumor clusters plus the clusters with EWS-FLI1 low expression 
+cluster_classification_df <- cluster_classification_df |> 
+  dplyr::mutate(
+    tumor_classification = dplyr::case_when(
+      cluster_classification == "tumor" ~ "tumor",
+      library_id == "SCPCL000822" & cluster_classification == "chondrocyte" ~ "tumor",
+      library_id == "SCPCL000824" & cluster_classification == "mesenchymal-like cell" ~ "tumor",
+      .default = cluster_classification
+    )
+  )
+
+
+
+

Classify tumor cell states

+

Now that we have identified a subset of cells that are tumor cells, +we can attempt to group them into various cell states. The main thing +that we are interested in is grouping cells into levels of +EWS-FLI1 expression. Let’s start by looking at the +expression of the gene sets across all tumor cells.

+

To do this, we will make a density plot that looks at gene set +expression by cluster using the cluster assignments calculated using all +cells.

+
tumor_cells_df <- cluster_classification_df |> 
+  dplyr::filter(tumor_classification == "tumor")
+
# density plot showing expression of each gene set by cluster
+library_ids |> 
+  purrr::map(\(id){
+    
+    density_df <- tumor_cells_df |> 
+      dplyr::filter(library_id == id)
+    
+    marker_gene_cols |>
+    purrr::map(\(column){
+      plot_density(
+        density_df,
+        column,
+        "cluster"
+      ) 
+    }) |>
+    patchwork::wrap_plots(ncol = 1) +
+      patchwork::plot_annotation(id)
+    
+  })
+
## [[1]]
+

+
## 
+## [[2]]
+

+

A few notes from this:

+
    +
  • It doesn’t look like very many cells express proliferative markers, +so perhaps that gene set will not be helpful for these libraries?
  • +
  • There are some very obvious EWS-FLI1 low groups of +cells.
  • +
  • The EWS-high and aynaud-EWS-high show +clusters that have high expression of EWS-FLI1 targets, but +the aynaud-EWS-high appears to have some more separation +across clusters. That tells me that gene signature might be more helpful +in classifying cells across the EWS-FLI1 continuum.
  • +
+
+

Sub cluster tumor cells

+

We would expect that tumor cells that are in similar cell states +would cluster together. So here I am going to take just the tumor cells +and re-assign clusters. I’m using the same parameters we use for the +whole sample, leiden, modularity, resolution of 0.5, and nearest +neighbors of 20. I think if we really wanted to be stringent we would +evaluate clusters here and find the best parameters to use, but I think +starting with these is good.

+
# get a data frame of all tumor cells and re assigned clusters 
+subcluster_df <- sce_list |>
+  purrr::imap(\(sce, id){
+    
+    # pull out the barcodes that are from tumor cells
+    tumor_cells <- tumor_cells_df |> 
+      dplyr::filter(library_id == id) |> 
+      dplyr::pull(barcodes)
+    
+    # filter the sce to only those barcodes
+    filtered_sce <- sce[ , tumor_cells]
+    
+    # grab pcs for clustering
+    pcs <- reducedDim(filtered_sce)
+    
+    # get the clusters 
+    clusters <- bluster::clusterRows(
+      pcs,
+      bluster::NNGraphParam(
+        k = 20,
+        type = "jaccard",
+        cluster.fun = "leiden",
+        cluster.args = list(objective_function = "modularity",
+                            resolution = 0.5)
+      )
+    )
+    
+    # combine into a data frame with barcodes
+    cluster_df <- data.frame(
+      barcodes = rownames(pcs),
+      sub_cluster = clusters
+    )
+  }) |> 
+  # get clusters for both samples in one data frame
+  dplyr::bind_rows(.id = "library_id")
+
+# add clusters to tumor cells df for plotting
+tumor_cells_df <- tumor_cells_df |> 
+  dplyr::left_join(subcluster_df, by = c("library_id", "barcodes"))
+

The first thing we will do is plot the cluster assignments on the +UMAP.

+
library_ids |>
+  purrr::map(\(id){
+    tumor_cells_df |>
+      dplyr::filter(library_id == id) |>
+      ggplot(aes(x = UMAP1, y = UMAP2, color = sub_cluster)) +
+      geom_point(alpha = 0.5, size = 0.1) +
+      theme(
+        aspect.ratio = 1
+      ) +
+      labs(title = id) +
+      scale_color_brewer(palette = "Dark2") +
+      guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5)))
+  })
+
## [[1]]
+

+
## 
+## [[2]]
+

+

Now we will look at the marker gene expression across all clusters +for each sample. First using a density plot and then a heatmap.

+
library_ids |> 
+  purrr::map(\(id){
+    
+    density_df <- tumor_cells_df |> 
+      dplyr::filter(library_id == id)
+    
+    marker_gene_cols |>
+    purrr::map(\(column){
+      plot_density(
+        density_df,
+        column,
+        "sub_cluster"
+      ) 
+    }) |>
+    patchwork::wrap_plots(ncol = 1) +
+      patchwork::plot_annotation(id)
+    
+  })
+
## [[1]]
+

+
## 
+## [[2]]
+

+
library_ids |> 
+  purrr::map(\(id){
+    
+    filtered_df <- tumor_cells_df |> 
+      dplyr::filter(library_id == id)
+    
+    full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster", plot_name = id)
+    
+  })
+
## [[1]]
+

+
## 
+## [[2]]
+

+

It looks like for both samples we have some clear division between +EWS high and EWS low cells. Additionally, there are some cells with +really strong expression of the EWS high markers and others that look +like the genes are expressed but to a lesser degree. This fits with the +findings from the literature that EWS-FLI1 expression lies +on a continuum.

+

Between these two plots I think we can try and group cells into EWS +low, EWS middle, and EWS high cells. I don’t think the proliferative +markers are very informative, so I don’t think we can use that to +categorize any cells.

+

Based on this I would make the following assignments:

+

SCPCL000822: EWS-FLI1 low - 2 +EWS-FLI1 middle - 1 & 4 EWS-FLI1 high - +3

+

SCPCL000824 : EWS-FLI1 low - 1 +EWS-FLI1 middle - 6 EWS-FLI1 high - 2, 3, 4, +5, 7

+
# categorize tumor cells based on EWS expression 
+tumor_cells_df <- tumor_cells_df |> 
+  dplyr::mutate(
+    cell_state = dplyr::case_when(
+      library_id == "SCPCL000822" & sub_cluster == 2 ~ "EWS-low",
+      library_id == "SCPCL000822" & sub_cluster %in% c(1, 4) ~ "EWS-mid",
+      library_id == "SCPCL000822" & sub_cluster == 3 ~ "EWS-high",
+      library_id == "SCPCL000824" & sub_cluster == 1 ~ "EWS-low",
+      library_id == "SCPCL000824" & sub_cluster %in% c(6, 8) ~ "EWS-mid",
+      library_id == "SCPCL000824" & sub_cluster %in% c(2, 3, 4, 5, 7) ~ "EWS-high",
+    )
+  )
+

Let’s re-plot the heatmap but label by tumor cell state rather than +cluster.

+
library_ids |> 
+  purrr::map(\(id){
+    
+    filtered_df <- tumor_cells_df |> 
+      dplyr::filter(library_id == id)
+    
+    full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state", plot_name = id)
+    
+  })
+
## [[1]]
+

+
## 
+## [[2]]
+

+

I think that looks pretty reasonable. I’m not sure we can really make +more definitive calls given the gene lists that we have, unless we use +fancier approaches. We could try something like AUCell, but +without a nice bimodal distribution, I don’t think we would get anything +but low/high cells.

+
+
+
+

Combined classifications

+

As a final step, we’ll add the tumor cell states back into the full +object and look at them on the UMAP. Here I am plotting the +classification of cells based on the cluster because otherwise the +normal cells get a little wild with colors and I want to be able to see +visualize the tumor cells.

+
# select the columns we want to join back into the main classification df 
+cell_state_classifications <- tumor_cells_df |> 
+  dplyr::select(library_id, barcodes, cell_state, sub_cluster)
+
+# add cell states to classification 
+final_classification_df <- cluster_classification_df |> 
+  dplyr::left_join(cell_state_classifications, by = c("library_id", "barcodes")) |> 
+  dplyr::mutate(full_classification = dplyr::if_else(is.na(cell_state), singler_lumped, cell_state),
+                cluster_classification = dplyr::if_else(is.na(cell_state), cluster_classification, cell_state))
+
+# make some umaps 
+library_ids |>
+  purrr::map(\(id){
+    final_classification_df |>
+      dplyr::filter(library_id == id) |>
+      ggplot(aes(x = UMAP1, y = UMAP2, color = cluster_classification)) +
+      geom_point(alpha = 0.5, size = 0.1) +
+      theme(
+        aspect.ratio = 1
+      ) +
+      labs(title = id) +
+      scale_color_brewer(palette = "Dark2") +
+      guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5)))
+  })
+
## [[1]]
+

+
## 
+## [[2]]
+

+
# export the final classifications in case we want to use them in the future 
+# save all classification columns 
+final_classification_df |> 
+  split(final_classification_df$library_id) |> 
+  purrr::iwalk(\(df, id){
+    
+    filename <- glue::glue("{id}_tumor-cell-state-annotations.tsv")
+    
+    df |> 
+      dplyr::select(
+        library_id,
+        barcodes,
+        singler_annotation,
+        aucell_annotation, 
+        cluster, 
+        cluster_classification, 
+        tumor_sub_cluster = sub_cluster, 
+        tumor_cell_state = cell_state,
+        full_classification 
+      ) |> 
+      readr::write_tsv(file.path(results_dir, filename))
+    
+  })
+
+
+

Conclusions

+
    +
  • There is a clear division between cells that are +EWS-FLI high and EWS-FLI1 low.
  • +
  • Most tumor cells in both samples are EWS-FLI high, +which is consistent with the literature.
  • +
  • There may be a class of cells that live in between high and low, but +if we want to define those we probably need to be more stringent with +our approach and identify a mechanism to bin cells based on expression +of both EWS-FLI1 activated and repressed genes, which is +outside the scope of this notebook.
  • +
+
+
+

Session info

+
# record the versions of the packages used in this analysis and other environment information
+sessionInfo()
+
## R version 4.4.2 (2024-10-31)
+## Platform: aarch64-apple-darwin20
+## Running under: macOS Sequoia 15.2
+## 
+## Matrix products: default
+## BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
+## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
+## 
+## locale:
+## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
+## 
+## time zone: America/Chicago
+## tzcode source: internal
+## 
+## attached base packages:
+## [1] stats4    stats     graphics  grDevices datasets  utils     methods   base     
+## 
+## other attached packages:
+##  [1] ggplot2_3.5.1               SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 Biobase_2.64.0              GenomicRanges_1.56.1       
+##  [6] GenomeInfoDb_1.40.1         IRanges_2.38.1              S4Vectors_0.42.1            BiocGenerics_0.50.0         MatrixGenerics_1.16.0      
+## [11] matrixStats_1.3.0          
+## 
+## loaded via a namespace (and not attached):
+##  [1] rlang_1.1.4               magrittr_2.0.3            clue_0.3-65               GetoptLong_1.0.5          compiler_4.4.2            DelayedMatrixStats_1.26.0
+##  [7] png_0.1-8                 vctrs_0.6.5               stringr_1.5.1             pkgconfig_2.0.3           shape_1.4.6.1             crayon_1.5.3             
+## [13] fastmap_1.2.0             XVector_0.44.0            scuttle_1.14.0            labeling_0.4.3            utf8_1.2.4                rmarkdown_2.27           
+## [19] tzdb_0.4.0                UCSC.utils_1.0.0          purrr_1.0.2               bit_4.0.5                 xfun_0.46                 bluster_1.14.0           
+## [25] cachem_1.1.0              zlibbioc_1.50.0           beachmat_2.20.0           jsonlite_1.8.8            highr_0.11                DelayedArray_0.30.1      
+## [31] BiocParallel_1.38.0       parallel_4.4.2            cluster_2.1.6             R6_2.5.1                  bslib_0.8.0               stringi_1.8.4            
+## [37] RColorBrewer_1.1-3        jquerylib_0.1.4           Rcpp_1.0.13               iterators_1.0.14          knitr_1.48                readr_2.1.5              
+## [43] Matrix_1.7-0              igraph_2.0.3              tidyselect_1.2.1          abind_1.4-5               yaml_2.3.10               doParallel_1.0.17        
+## [49] codetools_0.2-20          lattice_0.22-6            tibble_3.2.1              withr_3.0.0               evaluate_0.24.0           circlize_0.4.16          
+## [55] pillar_1.9.0              BiocManager_1.30.23       renv_1.0.7                foreach_1.5.2             generics_0.1.3            vroom_1.6.5              
+## [61] rprojroot_2.0.4           hms_1.1.3                 sparseMatrixStats_1.16.0  munsell_0.5.1             scales_1.3.0              glue_1.7.0               
+## [67] tools_4.4.2               BiocNeighbors_1.22.0      forcats_1.0.0             fs_1.6.4                  grid_4.4.2                tidyr_1.3.1              
+## [73] colorspace_2.1-1          GenomeInfoDbData_1.2.12   patchwork_1.2.0           cli_3.6.3                 fansi_1.0.6               S4Arrays_1.4.1           
+## [79] viridisLite_0.4.2         ComplexHeatmap_2.20.0     dplyr_1.1.4               gtable_0.3.5              sass_0.4.9                digest_0.6.36            
+## [85] SparseArray_1.4.8         rjson_0.2.21              farver_2.1.2              htmltools_0.5.8.1         lifecycle_1.0.4           httr_1.4.7               
+## [91] GlobalOptions_0.1.2       bit64_4.0.5
+
+ + + + +
+ + + + + + + + + + + + + + + + From 13f71b0dae56311e42ee3cb471275d24c8a76b34 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Fri, 10 Jan 2025 12:28:14 -0600 Subject: [PATCH 05/15] update readme --- analyses/cell-type-ewings/exploratory_analysis/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/analyses/cell-type-ewings/exploratory_analysis/README.md b/analyses/cell-type-ewings/exploratory_analysis/README.md index 6ee755a3e..f9c78edcc 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/README.md +++ b/analyses/cell-type-ewings/exploratory_analysis/README.md @@ -20,6 +20,9 @@ This includes comparing annotations to those obtained from marker gene annotatio 5. `05-cluster-exploration.Rmd`: This notebook looks at clustering across different parameters to choose the most optimal clusters for `SCPCL000822` and `SCPCL000824`. Additionally, we look at expression of marker genes from `references/visser-all-marker-genes.tsv` across all clusters and use that to refine tumor cell annotations obtained from running `aucell-singler-annotation.sh`. +6. `06-tumor-cell-state-assignments.Rmd`: This notebook looks at assigning tumor cell states in `SCPCL000822` and `SCPCL000824`. +Tumor cells are gruoped into `EWS-FLI` high, `EWS-FLI` low, and `EWS-FLI` middle based on expression of marker genes. + ## Annotation notebooks The `annotation_notebooks` folder contains exploratory notebooks used to explore and validate annotations in individual samples. From 5af762f378fb4723bb069465d236b7b1a93c0ad4 Mon Sep 17 00:00:00 2001 From: Ally Hawkins <54039191+allyhawkins@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:36:31 -0600 Subject: [PATCH 06/15] Apply suggestions from code review Co-authored-by: Stephanie Spielman --- .../06-tumor-cell-state-assignment.Rmd | 11 ++++++----- .../cell-type-ewings/exploratory_analysis/README.md | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd index 86092081c..d1a47bf48 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd @@ -95,7 +95,7 @@ Below we set up the data for plotting throughout this notebook. 1. The output from `aucell-singler-annotation.sh` is read in and annotations are lumped so that we can easily plot the top cell types. 2. Clustering results from `evaluate-clusters.sh` is read in and subset to the desired parameters we would like to use for assigning clusters (leiden, modularity, resolution 0.5, nearest neighbors 20). 3. The marker genes for tumor cell states and custom gene signatures are used to calculate the sum of all marker genes in each gene set for each library. -4. UMAP embeddings for each library is pulled out into a data frame and combined with `SingleR` annotations, cluster assignments, and marker gene expression for all marker gene sets. +4. UMAP embeddings for each library are pulled out into a data frame and combined with `SingleR` annotations, cluster assignments, and marker gene expression for all marker gene sets. ```{r, message=FALSE} # read in both SCEs @@ -238,6 +238,7 @@ Based on the UMAPs and the density plots we see that tumor cells are in cluster cluster_classification_df <- umap_df |> dplyr::mutate( cluster_classification = dplyr::case_when( + ############## Library SCPCL000822 ############### library_id == "SCPCL000822" & cluster %in% c(1, 3, 4) ~ "tumor", library_id == "SCPCL000822" & cluster == 6 ~ "endothelial cell", # cluster 2 has predominantly chondrocytes and has MSC marker gene expression @@ -246,6 +247,7 @@ cluster_classification_df <- umap_df |> library_id == "SCPCL000822" & cluster == 5 ~ "macrophage", # cluster 8 has high MSC marker gene expression and a mix of MSC like cell types library_id == "SCPCL000822" & cluster == 7 ~ "mesenchymal-like cell", + ############## Library SCPCL000824 ############### library_id == "SCPCL000824" & cluster %in% c(2, 3, 4, 5, 6, 7) ~ "tumor", library_id == "SCPCL000824" & cluster == 8 ~ "endothelial cell", # cluster 9 has high immune markers and is mostly macrohpages @@ -393,10 +395,10 @@ subcluster_df <- sce_list |> dplyr::pull(barcodes) # filter the sce to only those barcodes - filtered_sce <- sce[ , tumor_cells] + tumor_sce <- sce[ , tumor_cells] # grab pcs for clustering - pcs <- reducedDim(filtered_sce) + pcs <- reducedDim(tumor_sce) # get the clusters clusters <- bluster::clusterRows( @@ -442,8 +444,7 @@ library_ids |> }) ``` -Now we will look at the marker gene expression across all clusters for each sample. -First using a density plot and then a heatmap. +Now we will look at the marker gene expression across all clusters for each sample, first using a density plot and then a heatmap. ```{r, fig.height=10} library_ids |> diff --git a/analyses/cell-type-ewings/exploratory_analysis/README.md b/analyses/cell-type-ewings/exploratory_analysis/README.md index f9c78edcc..dd2c0d128 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/README.md +++ b/analyses/cell-type-ewings/exploratory_analysis/README.md @@ -21,7 +21,7 @@ This includes comparing annotations to those obtained from marker gene annotatio Additionally, we look at expression of marker genes from `references/visser-all-marker-genes.tsv` across all clusters and use that to refine tumor cell annotations obtained from running `aucell-singler-annotation.sh`. 6. `06-tumor-cell-state-assignments.Rmd`: This notebook looks at assigning tumor cell states in `SCPCL000822` and `SCPCL000824`. -Tumor cells are gruoped into `EWS-FLI` high, `EWS-FLI` low, and `EWS-FLI` middle based on expression of marker genes. +Tumor cells are grouped into `EWS-FLI` high, `EWS-FLI` low, and `EWS-FLI` middle based on expression of marker genes. ## Annotation notebooks From 70c00e2d57de4c366505252c41e13c10c21b4be4 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Fri, 10 Jan 2025 15:47:04 -0600 Subject: [PATCH 07/15] turn off clustering --- .../scripts/utils/tumor-validation-helpers.R | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R index 51db14975..f5ce0a2e2 100644 --- a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R +++ b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R @@ -164,7 +164,8 @@ plot_gene_heatmap <- function( df, row_title = "", legend_title = "", - annotation = NULL) { + annotation = NULL, + cluster_columns = TRUE) { # plot heatmap of marker genes heatmap <- ComplexHeatmap::Heatmap( df, @@ -180,7 +181,7 @@ plot_gene_heatmap <- function( row_dend_side = "right", row_names_gp = grid::gpar(fontsize = 10), ## Column parameters - cluster_columns = TRUE, + cluster_columns = cluster_columns, show_column_names = FALSE, bottom_annotation = annotation, heatmap_legend_param = list( @@ -240,7 +241,8 @@ plot_cnv_heatmap <- function( # colors are automatically determined using the `Dark2` palette and assigning to cell types listed in the `annotation_column` full_celltype_heatmap <- function(classification_df, gene_exp_columns, - annotation_column) { + annotation_column, + cluster_columns = TRUE) { # get list of all cell types being plotted and assign colors from Dark2 palette cell_types <- unique(classification_df[[annotation_column]]) num_cell_types <- length(cell_types) @@ -258,7 +260,7 @@ full_celltype_heatmap <- function(classification_df, # build matrix for heatmap cells x gene set sum or mean heatmap_mtx <- classification_df |> - dplyr::select(barcodes, gene_exp_columns) |> + dplyr::select(barcodes, all_of(gene_exp_columns)) |> tibble::column_to_rownames("barcodes") |> as.matrix() |> t() @@ -268,7 +270,8 @@ full_celltype_heatmap <- function(classification_df, plot_gene_heatmap(heatmap_mtx, row_title = "", legend_title = "Marker gene \nexpression", - annotation = annotation + annotation = annotation, + cluster_columns = cluster_columns ) } From e2e8a1a4d7198ad51ab886bdc83e1501eb8ab0a0 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Fri, 10 Jan 2025 15:48:23 -0600 Subject: [PATCH 08/15] update umaps and heatmaps --- .../06-tumor-cell-state-assignment.Rmd | 48 +++++-- .../06-tumor-cell-state-assignment.html | 124 ++++++++++++------ 2 files changed, 119 insertions(+), 53 deletions(-) diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd index d1a47bf48..eb191e063 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd @@ -204,7 +204,7 @@ We can use this information to help identify tumor cells to classify. library_ids |> purrr::map(\(id){ - p1 <- cluster_classification_df |> + p1 <- umap_df |> dplyr::filter(library_id == id) |> ggplot(aes(x = UMAP1, y = UMAP2, color = singler_lumped)) + geom_point(alpha = 0.5, size = 0.1) + @@ -215,7 +215,7 @@ library_ids |> labs(title = id) + guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5))) - p2 <- cluster_classification_df |> + p2 <- umap_df |> dplyr::filter(library_id == id) |> ggplot(aes(x = UMAP1, y = UMAP2, color = as.factor(cluster))) + geom_point(alpha = 0.5, size = 0.1) + @@ -296,7 +296,7 @@ Note that a lot of the Ewing sarcoma literature argues that `EWS-FLI1` high cell - `aynaud-ews-high`: Marker genes from `gene_signatures/aynaud-ews-targets.tsv` that correspond to genes activated by `EWS-FLI1`. - `wrenn-ews-low`: Marker genes from `gene_signatures/wrenn-nt5e-genes.tsv` that correspond to genes repressed by `EWS-FLI1`. -```{r, fig.height=7, fig.width=10} +```{r} # pull out columns that have sum of marker gene expression marker_gene_cols <- colnames(cluster_classification_df)[stringr::str_detect(colnames(cluster_classification_df), "_sum$")] @@ -311,8 +311,7 @@ marker_gene_cols |> theme( aspect.ratio = 1 ) - }) |> - patchwork::wrap_plots(ncol = 2) + }) ``` It looks like there's a cluster of cells in both libraries that have expression of the `EWS-low` and `wrenn-ews-low` signatures. @@ -371,7 +370,8 @@ library_ids |> A few notes from this: -- It doesn't look like very many cells express proliferative markers, so perhaps that gene set will not be helpful for these libraries? +- It doesn't look like very many cells express proliferative markers in `SCPCL000822`, but cluster 2 has high expression in `SCPCL000824`. +It looks like that might coincide with high `EWS-FLI` seen in that same cluster, but we have to dive deeper to know for sure. - There are some very obvious `EWS-FLI1` low groups of cells. - The `EWS-high` and `aynaud-EWS-high` show clusters that have high expression of `EWS-FLI1` targets, but the `aynaud-EWS-high` appears to have some more separation across clusters. That tells me that gene signature might be more helpful in classifying cells across the `EWS-FLI1` continuum. @@ -444,7 +444,7 @@ library_ids |> }) ``` -Now we will look at the marker gene expression across all clusters for each sample, first using a density plot and then a heatmap. +Now we will look at the marker gene expression across all clusters for each sample, first using a density plot and then heatmaps. ```{r, fig.height=10} library_ids |> @@ -467,6 +467,7 @@ library_ids |> }) ``` +In all of the heatmaps below, the `annotation` column is the `sub_cluster`. ```{r} library_ids |> @@ -475,18 +476,36 @@ library_ids |> filtered_df <- tumor_cells_df |> dplyr::filter(library_id == id) - full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster", plot_name = id) + full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster") }) ``` +Let's make the same heatmap, but remove the column clustering. + +```{r} +library_ids |> + purrr::map(\(id){ + + filtered_df <- tumor_cells_df |> + dplyr::filter(library_id == id) |> + dplyr::arrange(sub_cluster) + + full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster", cluster_columns = FALSE) + + }) +``` + It looks like for both samples we have some clear division between EWS high and EWS low cells. Additionally, there are some cells with really strong expression of the EWS high markers and others that look like the genes are expressed but to a lesser degree. This fits with the findings from the literature that `EWS-FLI1` expression lies on a continuum. Between these two plots I think we can try and group cells into EWS low, EWS middle, and EWS high cells. -I don't think the proliferative markers are very informative, so I don't think we can use that to categorize any cells. + +The last thing we'll do is look at any cells that could be marked as "proliferative". +`SCPCL000822` doesn't appear to have very much expression of the proliferative markers, but `SCPCL000824` does seem to have one cluster, cluster 2, that has expression of the proliferative cells. +Perhaps we should label those cells separately as `EWS-high-proliferative`. Based on this I would make the following assignments: @@ -498,7 +517,8 @@ Based on this I would make the following assignments: `SCPCL000824` : `EWS-FLI1` low - 1 `EWS-FLI1` middle - 6 -`EWS-FLI1` high - 2, 3, 4, 5, 7 +`EWS-FLI1` high - 3, 4, 5, 7 +`EWS-FLI1` high proliferative - 2 ```{r} # categorize tumor cells based on EWS expression @@ -509,13 +529,15 @@ tumor_cells_df <- tumor_cells_df |> library_id == "SCPCL000822" & sub_cluster %in% c(1, 4) ~ "EWS-mid", library_id == "SCPCL000822" & sub_cluster == 3 ~ "EWS-high", library_id == "SCPCL000824" & sub_cluster == 1 ~ "EWS-low", - library_id == "SCPCL000824" & sub_cluster %in% c(6, 8) ~ "EWS-mid", - library_id == "SCPCL000824" & sub_cluster %in% c(2, 3, 4, 5, 7) ~ "EWS-high", + library_id == "SCPCL000824" & sub_cluster == 6 ~ "EWS-mid", + library_id == "SCPCL000824" & sub_cluster == 2 ~ "EWS-high-proliferative", + library_id == "SCPCL000824" & sub_cluster %in% c(3, 4, 5, 7) ~ "EWS-high", ) ) ``` Let's re-plot the heatmap but label by tumor cell state rather than cluster. +In this heatmap the annotation column is `cell_state`. ```{r} library_ids |> @@ -524,7 +546,7 @@ library_ids |> filtered_df <- tumor_cells_df |> dplyr::filter(library_id == id) - full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state", plot_name = id) + full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state") }) ``` diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html index fbc82c611..578802f48 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html @@ -551,9 +551,9 @@

Prepare data

  • The marker genes for tumor cell states and custom gene signatures are used to calculate the sum of all marker genes in each gene set for each library.
  • -
  • UMAP embeddings for each library is pulled out into a data frame and -combined with SingleR annotations, cluster assignments, and -marker gene expression for all marker gene sets.
  • +
  • UMAP embeddings for each library are pulled out into a data frame +and combined with SingleR annotations, cluster assignments, +and marker gene expression for all marker gene sets.
  • # read in both SCEs
     sce_list <- sce_files |>
    @@ -666,7 +666,7 @@ 

    Identify tumor cells

    library_ids |>
       purrr::map(\(id){
         
    -    p1 <- cluster_classification_df |>
    +    p1 <- umap_df |>
           dplyr::filter(library_id == id) |>
           ggplot(aes(x = UMAP1, y = UMAP2, color = singler_lumped)) +
           geom_point(alpha = 0.5, size = 0.1) +
    @@ -677,7 +677,7 @@ 

    Identify tumor cells

    labs(title = id) + guides(color = guide_legend(override.aes = list(alpha = 1, size = 1.5))) - p2 <- cluster_classification_df |> + p2 <- umap_df |> dplyr::filter(library_id == id) |> ggplot(aes(x = UMAP1, y = UMAP2, color = as.factor(cluster))) + geom_point(alpha = 0.5, size = 0.1) + @@ -706,6 +706,7 @@

    Identify tumor cells

    cluster_classification_df <- umap_df |> 
       dplyr::mutate(
         cluster_classification = dplyr::case_when(
    +      ############## Library SCPCL000822 ###############
           library_id == "SCPCL000822" & cluster %in% c(1, 3, 4) ~ "tumor",
           library_id == "SCPCL000822" & cluster == 6 ~ "endothelial cell",
           # cluster 2 has predominantly chondrocytes and has MSC marker gene expression
    @@ -714,6 +715,7 @@ 

    Identify tumor cells

    library_id == "SCPCL000822" & cluster == 5 ~ "macrophage", # cluster 8 has high MSC marker gene expression and a mix of MSC like cell types library_id == "SCPCL000822" & cluster == 7 ~ "mesenchymal-like cell", + ############## Library SCPCL000824 ############### library_id == "SCPCL000824" & cluster %in% c(2, 3, 4, 5, 6, 7) ~ "tumor", library_id == "SCPCL000824" & cluster == 8 ~ "endothelial cell", # cluster 9 has high immune markers and is mostly macrohpages @@ -790,9 +792,21 @@

    Look at marker gene expression for tumor cell states in all theme( aspect.ratio = 1 ) - }) |> - patchwork::wrap_plots(ncol = 2)

    -

    + })
    +
    ## [[1]]
    +

    +
    ## 
    +## [[2]]
    +

    +
    ## 
    +## [[3]]
    +

    +
    ## 
    +## [[4]]
    +

    +
    ## 
    +## [[5]]
    +

    It looks like there’s a cluster of cells in both libraries that have expression of the EWS-low and wrenn-ews-low signatures. Those cells correspond to the cells that we are labeling as @@ -851,8 +865,11 @@

    Classify tumor cell states

    A few notes from this:

      -
    • It doesn’t look like very many cells express proliferative markers, -so perhaps that gene set will not be helpful for these libraries?
    • +
    • It doesn’t look like very many cells express proliferative markers +in SCPCL000822, but cluster 2 has high expression in +SCPCL000824. It looks like that might coincide with high +EWS-FLI seen in that same cluster, but we have to dive +deeper to know for sure.
    • There are some very obvious EWS-FLI1 low groups of cells.
    • The EWS-high and aynaud-EWS-high show @@ -880,10 +897,10 @@

      Sub cluster tumor cells

      dplyr::pull(barcodes) # filter the sce to only those barcodes - filtered_sce <- sce[ , tumor_cells] + tumor_sce <- sce[ , tumor_cells] # grab pcs for clustering - pcs <- reducedDim(filtered_sce) + pcs <- reducedDim(tumor_sce) # get the clusters clusters <- bluster::clusterRows( @@ -930,7 +947,7 @@

      Sub cluster tumor cells

      ## [[2]]

    Now we will look at the marker gene expression across all clusters -for each sample. First using a density plot and then a heatmap.

    +for each sample, first using a density plot and then heatmaps.

    library_ids |> 
       purrr::map(\(id){
         
    @@ -954,13 +971,15 @@ 

    Sub cluster tumor cells

    ## 
     ## [[2]]

    +

    In all of the heatmaps below, the annotation column is +the sub_cluster.

    library_ids |> 
       purrr::map(\(id){
         
         filtered_df <- tumor_cells_df |> 
           dplyr::filter(library_id == id)
         
    -    full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster", plot_name = id)
    +    full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster")
         
       })
    ## [[1]]
    @@ -968,6 +987,22 @@

    Sub cluster tumor cells

    ## 
     ## [[2]]

    +

    Let’s make the same heatmap, but remove the column clustering.

    +
    library_ids |> 
    +  purrr::map(\(id){
    +    
    +    filtered_df <- tumor_cells_df |> 
    +      dplyr::filter(library_id == id) |> 
    +      dplyr::arrange(sub_cluster)
    +    
    +    full_celltype_heatmap(filtered_df, marker_gene_cols, "sub_cluster", cluster_columns = FALSE)
    +    
    +  })
    +
    ## [[1]]
    +

    +
    ## 
    +## [[2]]
    +

    It looks like for both samples we have some clear division between EWS high and EWS low cells. Additionally, there are some cells with really strong expression of the EWS high markers and others that look @@ -975,16 +1010,20 @@

    Sub cluster tumor cells

    findings from the literature that EWS-FLI1 expression lies on a continuum.

    Between these two plots I think we can try and group cells into EWS -low, EWS middle, and EWS high cells. I don’t think the proliferative -markers are very informative, so I don’t think we can use that to -categorize any cells.

    +low, EWS middle, and EWS high cells.

    +

    The last thing we’ll do is look at any cells that could be marked as +“proliferative”. SCPCL000822 doesn’t appear to have very +much expression of the proliferative markers, but +SCPCL000824 does seem to have one cluster, cluster 2, that +has expression of the proliferative cells. Perhaps we should label those +cells separately as EWS-high-proliferative.

    Based on this I would make the following assignments:

    SCPCL000822: EWS-FLI1 low - 2 EWS-FLI1 middle - 1 & 4 EWS-FLI1 high - 3

    SCPCL000824 : EWS-FLI1 low - 1 -EWS-FLI1 middle - 6 EWS-FLI1 high - 2, 3, 4, -5, 7

    +EWS-FLI1 middle - 6 EWS-FLI1 high - 3, 4, 5, 7 +EWS-FLI1 high proliferative - 2

    # categorize tumor cells based on EWS expression 
     tumor_cells_df <- tumor_cells_df |> 
       dplyr::mutate(
    @@ -993,26 +1032,28 @@ 

    Sub cluster tumor cells

    library_id == "SCPCL000822" & sub_cluster %in% c(1, 4) ~ "EWS-mid", library_id == "SCPCL000822" & sub_cluster == 3 ~ "EWS-high", library_id == "SCPCL000824" & sub_cluster == 1 ~ "EWS-low", - library_id == "SCPCL000824" & sub_cluster %in% c(6, 8) ~ "EWS-mid", - library_id == "SCPCL000824" & sub_cluster %in% c(2, 3, 4, 5, 7) ~ "EWS-high", + library_id == "SCPCL000824" & sub_cluster == 6 ~ "EWS-mid", + library_id == "SCPCL000824" & sub_cluster == 2 ~ "EWS-high-proliferative", + library_id == "SCPCL000824" & sub_cluster %in% c(3, 4, 5, 7) ~ "EWS-high", ) )

    Let’s re-plot the heatmap but label by tumor cell state rather than -cluster.

    +cluster. In this heatmap the annotation column is +cell_state.

    library_ids |> 
       purrr::map(\(id){
         
         filtered_df <- tumor_cells_df |> 
           dplyr::filter(library_id == id)
         
    -    full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state", plot_name = id)
    +    full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state")
         
       })
    ## [[1]]

    ## 
     ## [[2]]
    -

    +

    I think that looks pretty reasonable. I’m not sure we can really make more definitive calls given the gene lists that we have, unless we use fancier approaches. We could try something like AUCell, but @@ -1055,7 +1096,7 @@

    Combined classifications

    ## 
     ## [[2]]
    -

    +

    # export the final classifications in case we want to use them in the future 
     # save all classification columns 
     final_classification_df |> 
    @@ -1121,21 +1162,24 @@ 

    Session info

    ## [11] matrixStats_1.3.0 ## ## loaded via a namespace (and not attached): -## [1] rlang_1.1.4 magrittr_2.0.3 clue_0.3-65 GetoptLong_1.0.5 compiler_4.4.2 DelayedMatrixStats_1.26.0 -## [7] png_0.1-8 vctrs_0.6.5 stringr_1.5.1 pkgconfig_2.0.3 shape_1.4.6.1 crayon_1.5.3 -## [13] fastmap_1.2.0 XVector_0.44.0 scuttle_1.14.0 labeling_0.4.3 utf8_1.2.4 rmarkdown_2.27 -## [19] tzdb_0.4.0 UCSC.utils_1.0.0 purrr_1.0.2 bit_4.0.5 xfun_0.46 bluster_1.14.0 -## [25] cachem_1.1.0 zlibbioc_1.50.0 beachmat_2.20.0 jsonlite_1.8.8 highr_0.11 DelayedArray_0.30.1 -## [31] BiocParallel_1.38.0 parallel_4.4.2 cluster_2.1.6 R6_2.5.1 bslib_0.8.0 stringi_1.8.4 -## [37] RColorBrewer_1.1-3 jquerylib_0.1.4 Rcpp_1.0.13 iterators_1.0.14 knitr_1.48 readr_2.1.5 -## [43] Matrix_1.7-0 igraph_2.0.3 tidyselect_1.2.1 abind_1.4-5 yaml_2.3.10 doParallel_1.0.17 -## [49] codetools_0.2-20 lattice_0.22-6 tibble_3.2.1 withr_3.0.0 evaluate_0.24.0 circlize_0.4.16 -## [55] pillar_1.9.0 BiocManager_1.30.23 renv_1.0.7 foreach_1.5.2 generics_0.1.3 vroom_1.6.5 -## [61] rprojroot_2.0.4 hms_1.1.3 sparseMatrixStats_1.16.0 munsell_0.5.1 scales_1.3.0 glue_1.7.0 -## [67] tools_4.4.2 BiocNeighbors_1.22.0 forcats_1.0.0 fs_1.6.4 grid_4.4.2 tidyr_1.3.1 -## [73] colorspace_2.1-1 GenomeInfoDbData_1.2.12 patchwork_1.2.0 cli_3.6.3 fansi_1.0.6 S4Arrays_1.4.1 -## [79] viridisLite_0.4.2 ComplexHeatmap_2.20.0 dplyr_1.1.4 gtable_0.3.5 sass_0.4.9 digest_0.6.36 -## [85] SparseArray_1.4.8 rjson_0.2.21 farver_2.1.2 htmltools_0.5.8.1 lifecycle_1.0.4 httr_1.4.7 +## [1] rlang_1.1.4 magrittr_2.0.3 clue_0.3-65 GetoptLong_1.0.5 compiler_4.4.2 +## [6] DelayedMatrixStats_1.26.0 png_0.1-8 vctrs_0.6.5 stringr_1.5.1 pkgconfig_2.0.3 +## [11] shape_1.4.6.1 crayon_1.5.3 fastmap_1.2.0 XVector_0.44.0 scuttle_1.14.0 +## [16] labeling_0.4.3 utf8_1.2.4 rmarkdown_2.27 tzdb_0.4.0 UCSC.utils_1.0.0 +## [21] purrr_1.0.2 bit_4.0.5 xfun_0.46 bluster_1.14.0 cachem_1.1.0 +## [26] zlibbioc_1.50.0 beachmat_2.20.0 jsonlite_1.8.8 highr_0.11 DelayedArray_0.30.1 +## [31] BiocParallel_1.38.0 parallel_4.4.2 cluster_2.1.6 R6_2.5.1 bslib_0.8.0 +## [36] stringi_1.8.4 RColorBrewer_1.1-3 jquerylib_0.1.4 Rcpp_1.0.13 iterators_1.0.14 +## [41] knitr_1.48 readr_2.1.5 Matrix_1.7-0 igraph_2.0.3 tidyselect_1.2.1 +## [46] abind_1.4-5 yaml_2.3.10 doParallel_1.0.17 codetools_0.2-20 lattice_0.22-6 +## [51] tibble_3.2.1 withr_3.0.0 evaluate_0.24.0 circlize_0.4.16 pillar_1.9.0 +## [56] BiocManager_1.30.23 renv_1.0.7 foreach_1.5.2 generics_0.1.3 vroom_1.6.5 +## [61] rprojroot_2.0.4 hms_1.1.3 sparseMatrixStats_1.16.0 munsell_0.5.1 scales_1.3.0 +## [66] glue_1.7.0 tools_4.4.2 BiocNeighbors_1.22.0 forcats_1.0.0 fs_1.6.4 +## [71] grid_4.4.2 tidyr_1.3.1 colorspace_2.1-1 GenomeInfoDbData_1.2.12 patchwork_1.2.0 +## [76] cli_3.6.3 fansi_1.0.6 S4Arrays_1.4.1 viridisLite_0.4.2 ComplexHeatmap_2.20.0 +## [81] dplyr_1.1.4 gtable_0.3.5 sass_0.4.9 digest_0.6.36 SparseArray_1.4.8 +## [86] rjson_0.2.21 farver_2.1.2 htmltools_0.5.8.1 lifecycle_1.0.4 httr_1.4.7 ## [91] GlobalOptions_0.1.2 bit64_4.0.5
    From becb6afef228fad42d8c82695e1491976aed59c6 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Fri, 10 Jan 2025 16:25:32 -0600 Subject: [PATCH 09/15] use mean --- .../06-tumor-cell-state-assignment.Rmd | 16 ++-- .../06-tumor-cell-state-assignment.html | 86 +++++++++---------- .../scripts/utils/tumor-validation-helpers.R | 38 +++++++- 3 files changed, 86 insertions(+), 54 deletions(-) diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd index eb191e063..a58446a5c 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd @@ -94,7 +94,7 @@ Below we set up the data for plotting throughout this notebook. 1. The output from `aucell-singler-annotation.sh` is read in and annotations are lumped so that we can easily plot the top cell types. 2. Clustering results from `evaluate-clusters.sh` is read in and subset to the desired parameters we would like to use for assigning clusters (leiden, modularity, resolution 0.5, nearest neighbors 20). -3. The marker genes for tumor cell states and custom gene signatures are used to calculate the sum of all marker genes in each gene set for each library. +3. The marker genes for tumor cell states and custom gene signatures are used to calculate the mean of all marker genes in each gene set for each library. 4. UMAP embeddings for each library are pulled out into a data frame and combined with `SingleR` annotations, cluster assignments, and marker gene expression for all marker gene sets. ```{r, message=FALSE} @@ -159,12 +159,12 @@ all_markers_df <- dplyr::bind_rows(list(marker_genes_df, aynaud_genes, wrenn_gen # get list of all cell states/ gene lists cell_states <- unique(all_markers_df$cell_state) -# get the sum of expression of all genes for each cell state +# get the mean expression of all genes for each cell state gene_exp_df <- sce_list |> purrr::map(\(sce) { cell_states |> purrr::map(\(state){ - calculate_sum_markers(all_markers_df, sce, state, cell_state) + calculate_mean_markers(all_markers_df, sce, state, cell_state) }) |> purrr::reduce(dplyr::inner_join, by = "barcodes") }) |> @@ -284,8 +284,7 @@ So we can label any cells from clusters that have high tumor marker gene express Below we look at the expression of genes for the tumor cell states across all cells. This will show us how the expression of these gene sets varies across cells in each library and help ensure we have the correct population of tumor cells. -The value for each of the marker gene sets corresponds to the sum of the expression of all genes in the given gene list. -(Note that I also looked at mean and it had similar output) +The value for each of the marker gene sets corresponds to the mean of the expression of all genes in the given gene list. The gene sets that we use are: @@ -298,7 +297,7 @@ Note that a lot of the Ewing sarcoma literature argues that `EWS-FLI1` high cell ```{r} # pull out columns that have sum of marker gene expression -marker_gene_cols <- colnames(cluster_classification_df)[stringr::str_detect(colnames(cluster_classification_df), "_sum$")] +marker_gene_cols <- colnames(cluster_classification_df)[stringr::str_detect(colnames(cluster_classification_df), "_mean$")] # look at the expression of all gene sets across both libraries marker_gene_cols |> @@ -544,9 +543,10 @@ library_ids |> purrr::map(\(id){ filtered_df <- tumor_cells_df |> - dplyr::filter(library_id == id) + dplyr::filter(library_id == id)|> + dplyr::arrange(cell_state) - full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state") + full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state", cluster_columns = FALSE) }) ``` diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html index 578802f48..f99c1d026 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html @@ -549,7 +549,7 @@

    Prepare data

    clusters (leiden, modularity, resolution 0.5, nearest neighbors 20).
  • The marker genes for tumor cell states and custom gene signatures -are used to calculate the sum of all marker genes in each gene set for +are used to calculate the mean of all marker genes in each gene set for each library.
  • UMAP embeddings for each library are pulled out into a data frame and combined with SingleR annotations, cluster assignments, @@ -613,12 +613,12 @@

    Prepare data

    # get list of all cell states/ gene lists cell_states <- unique(all_markers_df$cell_state) -# get the sum of expression of all genes for each cell state +# get the mean expression of all genes for each cell state gene_exp_df <- sce_list |> purrr::map(\(sce) { cell_states |> purrr::map(\(state){ - calculate_sum_markers(all_markers_df, sce, state, cell_state) + calculate_mean_markers(all_markers_df, sce, state, cell_state) }) |> purrr::reduce(dplyr::inner_join, by = "barcodes") }) |> @@ -755,9 +755,8 @@

    Look at marker gene expression for tumor cell states in all across all cells. This will show us how the expression of these gene sets varies across cells in each library and help ensure we have the correct population of tumor cells.

    -

    The value for each of the marker gene sets corresponds to the sum of -the expression of all genes in the given gene list. (Note that I also -looked at mean and it had similar output)

    +

    The value for each of the marker gene sets corresponds to the mean of +the expression of all genes in the given gene list.

    The gene sets that we use are:

    • EWS-low: Marker genes from @@ -779,7 +778,7 @@

      Look at marker gene expression for tumor cell states in all genes repressed by EWS-FLI1.

    # pull out columns that have sum of marker gene expression 
    -marker_gene_cols <- colnames(cluster_classification_df)[stringr::str_detect(colnames(cluster_classification_df), "_sum$")]
    +marker_gene_cols <- colnames(cluster_classification_df)[stringr::str_detect(colnames(cluster_classification_df), "_mean$")]
     
     # look at the expression of all gene sets across both libraries 
     marker_gene_cols |>
    @@ -794,19 +793,19 @@ 

    Look at marker gene expression for tumor cell states in all ) })

    ## [[1]]
    -

    +

    ## 
     ## [[2]]
    -

    +

    ## 
     ## [[3]]
    -

    +

    ## 
     ## [[4]]
    -

    +

    ## 
     ## [[5]]
    -

    +

    It looks like there’s a cluster of cells in both libraries that have expression of the EWS-low and wrenn-ews-low signatures. Those cells correspond to the cells that we are labeling as @@ -859,10 +858,10 @@

    Classify tumor cell states

    })
  • ## [[1]]
    -

    +

    ## 
     ## [[2]]
    -

    +

    A few notes from this:

    • It doesn’t look like very many cells express proliferative markers @@ -967,10 +966,10 @@

      Sub cluster tumor cells

      })
      ## [[1]]
      -

      +

      ## 
       ## [[2]]
      -

      +

      In all of the heatmaps below, the annotation column is the sub_cluster.

      library_ids |> 
      @@ -983,10 +982,10 @@ 

      Sub cluster tumor cells

      })
      ## [[1]]
      -

      +

      ## 
       ## [[2]]
      -

      +

      Let’s make the same heatmap, but remove the column clustering.

      library_ids |> 
         purrr::map(\(id){
      @@ -999,10 +998,10 @@ 

      Sub cluster tumor cells

      })
      ## [[1]]
      -

      +

      ## 
       ## [[2]]
      -

      +

      It looks like for both samples we have some clear division between EWS high and EWS low cells. Additionally, there are some cells with really strong expression of the EWS high markers and others that look @@ -1044,16 +1043,17 @@

      Sub cluster tumor cells

      purrr::map(\(id){ filtered_df <- tumor_cells_df |> - dplyr::filter(library_id == id) + dplyr::filter(library_id == id)|> + dplyr::arrange(cell_state) - full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state") + full_celltype_heatmap(filtered_df, marker_gene_cols, "cell_state", cluster_columns = FALSE) })
      ## [[1]]
      -

      +

      ## 
       ## [[2]]
      -

      +

      I think that looks pretty reasonable. I’m not sure we can really make more definitive calls given the gene lists that we have, unless we use fancier approaches. We could try something like AUCell, but @@ -1157,29 +1157,25 @@

      Session info

      ## [1] stats4 stats graphics grDevices datasets utils methods base ## ## other attached packages: -## [1] ggplot2_3.5.1 SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 Biobase_2.64.0 GenomicRanges_1.56.1 -## [6] GenomeInfoDb_1.40.1 IRanges_2.38.1 S4Vectors_0.42.1 BiocGenerics_0.50.0 MatrixGenerics_1.16.0 -## [11] matrixStats_1.3.0 +## [1] ggplot2_3.5.1 SingleCellExperiment_1.26.0 SummarizedExperiment_1.34.0 Biobase_2.64.0 GenomicRanges_1.56.1 GenomeInfoDb_1.40.1 +## [7] IRanges_2.38.1 S4Vectors_0.42.1 BiocGenerics_0.50.0 MatrixGenerics_1.16.0 matrixStats_1.3.0 ## ## loaded via a namespace (and not attached): -## [1] rlang_1.1.4 magrittr_2.0.3 clue_0.3-65 GetoptLong_1.0.5 compiler_4.4.2 -## [6] DelayedMatrixStats_1.26.0 png_0.1-8 vctrs_0.6.5 stringr_1.5.1 pkgconfig_2.0.3 -## [11] shape_1.4.6.1 crayon_1.5.3 fastmap_1.2.0 XVector_0.44.0 scuttle_1.14.0 -## [16] labeling_0.4.3 utf8_1.2.4 rmarkdown_2.27 tzdb_0.4.0 UCSC.utils_1.0.0 -## [21] purrr_1.0.2 bit_4.0.5 xfun_0.46 bluster_1.14.0 cachem_1.1.0 -## [26] zlibbioc_1.50.0 beachmat_2.20.0 jsonlite_1.8.8 highr_0.11 DelayedArray_0.30.1 -## [31] BiocParallel_1.38.0 parallel_4.4.2 cluster_2.1.6 R6_2.5.1 bslib_0.8.0 -## [36] stringi_1.8.4 RColorBrewer_1.1-3 jquerylib_0.1.4 Rcpp_1.0.13 iterators_1.0.14 -## [41] knitr_1.48 readr_2.1.5 Matrix_1.7-0 igraph_2.0.3 tidyselect_1.2.1 -## [46] abind_1.4-5 yaml_2.3.10 doParallel_1.0.17 codetools_0.2-20 lattice_0.22-6 -## [51] tibble_3.2.1 withr_3.0.0 evaluate_0.24.0 circlize_0.4.16 pillar_1.9.0 -## [56] BiocManager_1.30.23 renv_1.0.7 foreach_1.5.2 generics_0.1.3 vroom_1.6.5 -## [61] rprojroot_2.0.4 hms_1.1.3 sparseMatrixStats_1.16.0 munsell_0.5.1 scales_1.3.0 -## [66] glue_1.7.0 tools_4.4.2 BiocNeighbors_1.22.0 forcats_1.0.0 fs_1.6.4 -## [71] grid_4.4.2 tidyr_1.3.1 colorspace_2.1-1 GenomeInfoDbData_1.2.12 patchwork_1.2.0 -## [76] cli_3.6.3 fansi_1.0.6 S4Arrays_1.4.1 viridisLite_0.4.2 ComplexHeatmap_2.20.0 -## [81] dplyr_1.1.4 gtable_0.3.5 sass_0.4.9 digest_0.6.36 SparseArray_1.4.8 -## [86] rjson_0.2.21 farver_2.1.2 htmltools_0.5.8.1 lifecycle_1.0.4 httr_1.4.7 +## [1] rlang_1.1.4 magrittr_2.0.3 clue_0.3-65 GetoptLong_1.0.5 compiler_4.4.2 DelayedMatrixStats_1.26.0 +## [7] png_0.1-8 vctrs_0.6.5 stringr_1.5.1 pkgconfig_2.0.3 shape_1.4.6.1 crayon_1.5.3 +## [13] fastmap_1.2.0 XVector_0.44.0 scuttle_1.14.0 labeling_0.4.3 utf8_1.2.4 rmarkdown_2.27 +## [19] tzdb_0.4.0 UCSC.utils_1.0.0 purrr_1.0.2 bit_4.0.5 xfun_0.46 bluster_1.14.0 +## [25] cachem_1.1.0 zlibbioc_1.50.0 beachmat_2.20.0 jsonlite_1.8.8 highr_0.11 DelayedArray_0.30.1 +## [31] BiocParallel_1.38.0 parallel_4.4.2 cluster_2.1.6 R6_2.5.1 bslib_0.8.0 stringi_1.8.4 +## [37] RColorBrewer_1.1-3 jquerylib_0.1.4 Rcpp_1.0.13 iterators_1.0.14 knitr_1.48 readr_2.1.5 +## [43] Matrix_1.7-0 igraph_2.0.3 tidyselect_1.2.1 abind_1.4-5 yaml_2.3.10 doParallel_1.0.17 +## [49] codetools_0.2-20 lattice_0.22-6 tibble_3.2.1 withr_3.0.0 evaluate_0.24.0 circlize_0.4.16 +## [55] pillar_1.9.0 BiocManager_1.30.23 renv_1.0.7 foreach_1.5.2 generics_0.1.3 vroom_1.6.5 +## [61] rprojroot_2.0.4 hms_1.1.3 sparseMatrixStats_1.16.0 munsell_0.5.1 scales_1.3.0 glue_1.7.0 +## [67] tools_4.4.2 BiocNeighbors_1.22.0 forcats_1.0.0 fs_1.6.4 grid_4.4.2 tidyr_1.3.1 +## [73] colorspace_2.1-1 GenomeInfoDbData_1.2.12 patchwork_1.2.0 cli_3.6.3 fansi_1.0.6 S4Arrays_1.4.1 +## [79] viridisLite_0.4.2 ComplexHeatmap_2.20.0 dplyr_1.1.4 gtable_0.3.5 sass_0.4.9 digest_0.6.36 +## [85] SparseArray_1.4.8 rjson_0.2.21 farver_2.1.2 htmltools_0.5.8.1 lifecycle_1.0.4 httr_1.4.7 ## [91] GlobalOptions_0.1.2 bit64_4.0.5 diff --git a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R index f5ce0a2e2..879bd786e 100644 --- a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R +++ b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R @@ -154,6 +154,42 @@ calculate_sum_markers <- function(marker_genes_df, } +# calculate the mean of expression for all markers in a given cell type +# takes as input the marker gene df with `cell_type` and `ensembl_gene_id` as columns +# For any genes that are in the specified `cell_type`, sum of the logcounts is calculated +# output is a data frame with barcodes and `{cell_type}_sum` +calculate_mean_markers <- function(marker_genes_df, + sce, + type, + cell_type_column = cell_type) { + # get list of marker genes to use + marker_genes <- marker_genes_df |> + dplyr::filter({{cell_type_column}} == type) |> + dplyr::pull(ensembl_gene_id) + + # get the gene expression counts for all marker genes + mean_exp <- logcounts(sce[marker_genes, ]) |> + as.matrix() |> + t() |> + rowMeans() + + df <- data.frame( + barcodes = names(mean_exp), + sum_exp = mean_exp + ) + + # get rid of extra " cells" at end of some of the names + type <- stringr::str_remove(type, " cells") + + colnames(df) <- c( + "barcodes", + # add ref name to colnames for easier joining + glue::glue("{type}_mean") + ) + + return(df) +} + # Heatmaps --------------------------------------------------------------------- @@ -264,7 +300,7 @@ full_celltype_heatmap <- function(classification_df, tibble::column_to_rownames("barcodes") |> as.matrix() |> t() - rownames(heatmap_mtx) <- stringr::str_remove(rownames(heatmap_mtx), "_sum|mean-") + rownames(heatmap_mtx) <- stringr::str_remove(rownames(heatmap_mtx), "_sum|mean-|_mean") # plot heatmap of marker genes plot_gene_heatmap(heatmap_mtx, From 51ad6e2914e8924354de3f8866b1c2ebb7c38cb1 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Mon, 13 Jan 2025 10:55:07 -0600 Subject: [PATCH 10/15] respond to reviews --- .../exploratory_analysis/06-tumor-cell-state-assignment.Rmd | 5 ++++- .../scripts/utils/tumor-validation-helpers.R | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd index a58446a5c..20ae8e43c 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd @@ -10,7 +10,7 @@ output: --- In this notebook we look at expression of potential markers for tumor cell states in two libraries from `SCPCP000015`: `SCPCL000822` and `SCPCL000824`. -The expression of specific marker genes are then used to classify tumor cells into three different tumor cell states: `EWS-low`, `EWS-mid`, and `EWS-high`. +The expression of specific marker genes are then used to classify tumor cells into three different tumor cell states: `EWS-low`, `EWS-mid`, `EWS-high`, and `EWS-high-proliferative`. We did this by: @@ -509,11 +509,13 @@ Perhaps we should label those cells separately as `EWS-high-proliferative`. Based on this I would make the following assignments: `SCPCL000822`: + `EWS-FLI1` low - 2 `EWS-FLI1` middle - 1 & 4 `EWS-FLI1` high - 3 `SCPCL000824` : + `EWS-FLI1` low - 1 `EWS-FLI1` middle - 6 `EWS-FLI1` high - 3, 4, 5, 7 @@ -617,6 +619,7 @@ final_classification_df |> ## Conclusions - There is a clear division between cells that are `EWS-FLI` high and `EWS-FLI1` low. + - We also see a set of cells that are both "proliferative" and `EWS-FLI` high. - Most tumor cells in both samples are `EWS-FLI` high, which is consistent with the literature. - There may be a class of cells that live in between high and low, but if we want to define those we probably need to be more stringent with our approach and identify a mechanism to bin cells based on expression of both `EWS-FLI1` activated and repressed genes, which is outside the scope of this notebook. diff --git a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R index 879bd786e..ed5124a2b 100644 --- a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R +++ b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R @@ -175,7 +175,7 @@ calculate_mean_markers <- function(marker_genes_df, df <- data.frame( barcodes = names(mean_exp), - sum_exp = mean_exp + mean_exp = mean_exp ) # get rid of extra " cells" at end of some of the names From 811b3ad0b4b90a68ce0232106938eaed69c55601 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Mon, 13 Jan 2025 10:56:57 -0600 Subject: [PATCH 11/15] add top2a, icam1 and vrk1 --- .../cell-type-ewings/references/tumor-cell-state-markers.tsv | 3 +++ 1 file changed, 3 insertions(+) diff --git a/analyses/cell-type-ewings/references/tumor-cell-state-markers.tsv b/analyses/cell-type-ewings/references/tumor-cell-state-markers.tsv index ca0ad997e..31863add0 100644 --- a/analyses/cell-type-ewings/references/tumor-cell-state-markers.tsv +++ b/analyses/cell-type-ewings/references/tumor-cell-state-markers.tsv @@ -1,6 +1,7 @@ cell_state gene_symbol ensembl_gene_id source proliferative MKI67 ENSG00000148773 https://doi.org/10.1101/2024.01.18.576251;https://doi.org/10.1158/1078-0432.CCR-23-1111 proliferative PCNA ENSG00000132646 https://doi.org/10.1101/2024.01.18.576251 +proliferative TOP2A ENSG00000131747 https://doi.org/10.1101/2024.01.18.576251 EWS-low NT5E ENSG00000135318 https://doi.org/10.1158/1078-0432.CCR-23-1111 EWS-low IGFBP3 ENSG00000146674 https://doi.org/10.1016/j.celrep.2020.01.049 EWS-low IL8 ENSG00000169429 https://doi.org/10.1016/j.celrep.2020.01.049 @@ -13,7 +14,9 @@ EWS-low S100A10 ENSG00000197747 https://doi.org/10.1158/1078-0432.CCR-23-1111 EWS-low SPARC ENSG00000113140 https://doi.org/10.1158/1078-0432.CCR-23-1111 EWS-low COL1A2 ENSG00000164692 https://doi.org/10.1158/1078-0432.CCR-23-1111 EWS-low CD44 ENSG00000026508 https://doi.org/10.1101/2024.01.18.576251 +EWS-low ICAM1 ENSG00000090339 https://doi.org/10.1038/onc.2016.498 EWS-high PRKCB ENSG00000166501 https://doi.org/10.1016/j.celrep.2020.01.049 EWS-high LIPI ENSG00000188992 https://doi.org/10.1016/j.celrep.2020.01.049 EWS-high CCND1 ENSG00000110092 https://doi.org/10.1016/j.celrep.2020.01.049 EWS-high NR0B1 ENSG00000169297 https://doi.org/10.1016/j.celrep.2020.01.049 +EWS-high VRK1 ENSG00000100749 https://doi.org/10.1016/j.ccell.2014.10.004 From 85386f6708f320c777a9e5b9100508a5522b85fc Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Mon, 13 Jan 2025 10:57:08 -0600 Subject: [PATCH 12/15] re-render --- .../06-tumor-cell-state-assignment.html | 83 ++++++++++--------- 1 file changed, 44 insertions(+), 39 deletions(-) diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html index f99c1d026..ef4b2b214 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html @@ -11,7 +11,7 @@ - + Explore expression of marker genes for tumor cell states @@ -441,7 +441,7 @@

      Explore expression of marker genes for tumor cell states

      Ally Hawkins

      -

      2025-01-10

      +

      2025-01-13

      @@ -469,7 +469,7 @@

      2025-01-10

      SCPCL000822 and SCPCL000824. The expression of specific marker genes are then used to classify tumor cells into three different tumor cell states: EWS-low, EWS-mid, -and EWS-high.

      +EWS-high, and EWS-high-proliferative.

      We did this by:

      • Evaluating marker gene expression for different tumor cell states @@ -793,13 +793,13 @@

        Look at marker gene expression for tumor cell states in all ) })
        ## [[1]]
        -

        +

        ## 
         ## [[2]]
        -

        +

        ## 
         ## [[3]]
        -

        +

        ## 
         ## [[4]]

        @@ -858,10 +858,10 @@

        Classify tumor cell states

        })
        ## [[1]]
        -

        +

        ## 
         ## [[2]]
        -

        +

        A few notes from this:

        • It doesn’t look like very many cells express proliferative markers @@ -966,10 +966,10 @@

          Sub cluster tumor cells

          })
          ## [[1]]
          -

          +

          ## 
           ## [[2]]
          -

          +

          In all of the heatmaps below, the annotation column is the sub_cluster.

          library_ids |> 
          @@ -982,10 +982,10 @@ 

          Sub cluster tumor cells

          })
          ## [[1]]
          -

          +

          ## 
           ## [[2]]
          -

          +

          Let’s make the same heatmap, but remove the column clustering.

          library_ids |> 
             purrr::map(\(id){
          @@ -998,10 +998,10 @@ 

          Sub cluster tumor cells

          })
          ## [[1]]
          -

          +

          ## 
           ## [[2]]
          -

          +

          It looks like for both samples we have some clear division between EWS high and EWS low cells. Additionally, there are some cells with really strong expression of the EWS high markers and others that look @@ -1017,12 +1017,13 @@

          Sub cluster tumor cells

          has expression of the proliferative cells. Perhaps we should label those cells separately as EWS-high-proliferative.

          Based on this I would make the following assignments:

          -

          SCPCL000822: EWS-FLI1 low - 2 -EWS-FLI1 middle - 1 & 4 EWS-FLI1 high - -3

          -

          SCPCL000824 : EWS-FLI1 low - 1 -EWS-FLI1 middle - 6 EWS-FLI1 high - 3, 4, 5, 7 -EWS-FLI1 high proliferative - 2

          +

          SCPCL000822:

          +

          EWS-FLI1 low - 2 EWS-FLI1 middle - 1 & +4 EWS-FLI1 high - 3

          +

          SCPCL000824 :

          +

          EWS-FLI1 low - 1 EWS-FLI1 middle - 6 +EWS-FLI1 high - 3, 4, 5, 7 EWS-FLI1 high +proliferative - 2

          # categorize tumor cells based on EWS expression 
           tumor_cells_df <- tumor_cells_df |> 
             dplyr::mutate(
          @@ -1050,10 +1051,10 @@ 

          Sub cluster tumor cells

          })
          ## [[1]]
          -

          +

          ## 
           ## [[2]]
          -

          +

          I think that looks pretty reasonable. I’m not sure we can really make more definitive calls given the gene lists that we have, unless we use fancier approaches. We could try something like AUCell, but @@ -1125,7 +1126,11 @@

          Combined classifications

          Conclusions

          • There is a clear division between cells that are -EWS-FLI high and EWS-FLI1 low.
          • +EWS-FLI high and EWS-FLI1 low. +
              +
            • We also see a set of cells that are both “proliferative” and +EWS-FLI high.
            • +
          • Most tumor cells in both samples are EWS-FLI high, which is consistent with the literature.
          • There may be a class of cells that live in between high and low, but @@ -1161,22 +1166,22 @@

            Session info

            ## [7] IRanges_2.38.1 S4Vectors_0.42.1 BiocGenerics_0.50.0 MatrixGenerics_1.16.0 matrixStats_1.3.0 ## ## loaded via a namespace (and not attached): -## [1] rlang_1.1.4 magrittr_2.0.3 clue_0.3-65 GetoptLong_1.0.5 compiler_4.4.2 DelayedMatrixStats_1.26.0 -## [7] png_0.1-8 vctrs_0.6.5 stringr_1.5.1 pkgconfig_2.0.3 shape_1.4.6.1 crayon_1.5.3 -## [13] fastmap_1.2.0 XVector_0.44.0 scuttle_1.14.0 labeling_0.4.3 utf8_1.2.4 rmarkdown_2.27 -## [19] tzdb_0.4.0 UCSC.utils_1.0.0 purrr_1.0.2 bit_4.0.5 xfun_0.46 bluster_1.14.0 -## [25] cachem_1.1.0 zlibbioc_1.50.0 beachmat_2.20.0 jsonlite_1.8.8 highr_0.11 DelayedArray_0.30.1 -## [31] BiocParallel_1.38.0 parallel_4.4.2 cluster_2.1.6 R6_2.5.1 bslib_0.8.0 stringi_1.8.4 -## [37] RColorBrewer_1.1-3 jquerylib_0.1.4 Rcpp_1.0.13 iterators_1.0.14 knitr_1.48 readr_2.1.5 -## [43] Matrix_1.7-0 igraph_2.0.3 tidyselect_1.2.1 abind_1.4-5 yaml_2.3.10 doParallel_1.0.17 -## [49] codetools_0.2-20 lattice_0.22-6 tibble_3.2.1 withr_3.0.0 evaluate_0.24.0 circlize_0.4.16 -## [55] pillar_1.9.0 BiocManager_1.30.23 renv_1.0.7 foreach_1.5.2 generics_0.1.3 vroom_1.6.5 -## [61] rprojroot_2.0.4 hms_1.1.3 sparseMatrixStats_1.16.0 munsell_0.5.1 scales_1.3.0 glue_1.7.0 -## [67] tools_4.4.2 BiocNeighbors_1.22.0 forcats_1.0.0 fs_1.6.4 grid_4.4.2 tidyr_1.3.1 -## [73] colorspace_2.1-1 GenomeInfoDbData_1.2.12 patchwork_1.2.0 cli_3.6.3 fansi_1.0.6 S4Arrays_1.4.1 -## [79] viridisLite_0.4.2 ComplexHeatmap_2.20.0 dplyr_1.1.4 gtable_0.3.5 sass_0.4.9 digest_0.6.36 -## [85] SparseArray_1.4.8 rjson_0.2.21 farver_2.1.2 htmltools_0.5.8.1 lifecycle_1.0.4 httr_1.4.7 -## [91] GlobalOptions_0.1.2 bit64_4.0.5 +## [1] tidyselect_1.2.1 viridisLite_0.4.2 dplyr_1.1.4 farver_2.1.2 fastmap_1.2.0 bluster_1.14.0 +## [7] digest_0.6.36 lifecycle_1.0.4 cluster_2.1.6 magrittr_2.0.3 compiler_4.4.2 rlang_1.1.4 +## [13] sass_0.4.9 tools_4.4.2 igraph_2.0.3 utf8_1.2.4 yaml_2.3.10 knitr_1.48 +## [19] S4Arrays_1.4.1 labeling_0.4.3 bit_4.0.5 DelayedArray_0.30.1 RColorBrewer_1.1-3 abind_1.4-5 +## [25] BiocParallel_1.38.0 withr_3.0.0 purrr_1.0.2 grid_4.4.2 fansi_1.0.6 beachmat_2.20.0 +## [31] colorspace_2.1-1 iterators_1.0.14 scales_1.3.0 cli_3.6.3 rmarkdown_2.27 crayon_1.5.3 +## [37] generics_0.1.3 rjson_0.2.21 httr_1.4.7 tzdb_0.4.0 DelayedMatrixStats_1.26.0 scuttle_1.14.0 +## [43] cachem_1.1.0 stringr_1.5.1 zlibbioc_1.50.0 parallel_4.4.2 BiocManager_1.30.23 XVector_0.44.0 +## [49] vctrs_0.6.5 Matrix_1.7-0 jsonlite_1.8.8 GetoptLong_1.0.5 hms_1.1.3 patchwork_1.2.0 +## [55] BiocNeighbors_1.22.0 bit64_4.0.5 clue_0.3-65 foreach_1.5.2 jquerylib_0.1.4 tidyr_1.3.1 +## [61] glue_1.7.0 codetools_0.2-20 shape_1.4.6.1 stringi_1.8.4 gtable_0.3.5 UCSC.utils_1.0.0 +## [67] ComplexHeatmap_2.20.0 munsell_0.5.1 tibble_3.2.1 pillar_1.9.0 htmltools_0.5.8.1 circlize_0.4.16 +## [73] GenomeInfoDbData_1.2.12 R6_2.5.1 sparseMatrixStats_1.16.0 doParallel_1.0.17 rprojroot_2.0.4 vroom_1.6.5 +## [79] evaluate_0.24.0 lattice_0.22-6 readr_2.1.5 highr_0.11 png_0.1-8 renv_1.0.7 +## [85] bslib_0.8.0 Rcpp_1.0.13 SparseArray_1.4.8 xfun_0.46 GlobalOptions_0.1.2 fs_1.6.4 +## [91] forcats_1.0.0 pkgconfig_2.0.3 From dc3ec761cfc3eb713bd3a45b6aaface5083e2186 Mon Sep 17 00:00:00 2001 From: Ally Hawkins <54039191+allyhawkins@users.noreply.github.com> Date: Mon, 13 Jan 2025 10:58:05 -0600 Subject: [PATCH 13/15] Use type Co-authored-by: Stephanie Spielman --- .../scripts/utils/tumor-validation-helpers.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R index ed5124a2b..2b91eb870 100644 --- a/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R +++ b/analyses/cell-type-ewings/scripts/utils/tumor-validation-helpers.R @@ -155,9 +155,9 @@ calculate_sum_markers <- function(marker_genes_df, # calculate the mean of expression for all markers in a given cell type -# takes as input the marker gene df with `cell_type` and `ensembl_gene_id` as columns -# For any genes that are in the specified `cell_type`, sum of the logcounts is calculated -# output is a data frame with barcodes and `{cell_type}_sum` +# takes as input the marker gene df with `type` and `ensembl_gene_id` as columns +# For any genes that are in the specified `type`, sum of the logcounts is calculated +# output is a data frame with barcodes and `{type}_sum` calculate_mean_markers <- function(marker_genes_df, sce, type, From b402db77a451043601c028ee3f123e60ac278923 Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Mon, 13 Jan 2025 12:14:22 -0600 Subject: [PATCH 14/15] add new refs to readme --- analyses/cell-type-ewings/references/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/analyses/cell-type-ewings/references/README.md b/analyses/cell-type-ewings/references/README.md index d0270e5da..6d58bd2db 100644 --- a/analyses/cell-type-ewings/references/README.md +++ b/analyses/cell-type-ewings/references/README.md @@ -54,7 +54,13 @@ Each library contains a folder with any annotations file used to run `InferCNV` The `tumor-cell-state-markers.tsv` file contains a list of marker genes that can be used to classify tumor cell states in Ewing samples. The marker genes included here are specific to EWS-FLI1 high, EWS-FLI1 low, and proliferative tumor cells. -This list was obtained based on key genes mentioned in [Goodspeed _et al._](https://doi.org/10.1101/2024.01.18.576251), [Aynaud _et al._](https://doi.org/10.1016/j.celrep.2020.01.049), and [Wrenn _et al._](https://doi.org/10.1158/1078-0432.CCR-23-1111). +This list was obtained based on key genes mentioned in the following publications: + +- [Goodspeed _et al._](https://doi.org/10.1101/2024.01.18.576251) +- [Aynaud _et al._](https://doi.org/10.1016/j.celrep.2020.01.049) +- [Wrenn _et al._](https://doi.org/10.1158/1078-0432.CCR-23-1111) +- [Franzetti _et al._](https://doi.org/10.1038/onc.2016.498) +- [Riggi _et al._](https://doi.org/10.1016/j.ccell.2014.10.004) ### Gene signatures From 7888eb94cc70bb8b34bde609b1ce09524f666ecd Mon Sep 17 00:00:00 2001 From: Ally Hawkins Date: Mon, 13 Jan 2025 12:16:35 -0600 Subject: [PATCH 15/15] actually use bullets and re-render --- .../06-tumor-cell-state-assignment.Rmd | 14 +++++++------- .../06-tumor-cell-state-assignment.html | 16 +++++++++++----- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd index 20ae8e43c..4f652eff2 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.Rmd @@ -510,16 +510,16 @@ Based on this I would make the following assignments: `SCPCL000822`: -`EWS-FLI1` low - 2 -`EWS-FLI1` middle - 1 & 4 -`EWS-FLI1` high - 3 +- `EWS-FLI1` low - 2 +- `EWS-FLI1` middle - 1 & 4 +- `EWS-FLI1` high - 3 `SCPCL000824` : -`EWS-FLI1` low - 1 -`EWS-FLI1` middle - 6 -`EWS-FLI1` high - 3, 4, 5, 7 -`EWS-FLI1` high proliferative - 2 +- `EWS-FLI1` low - 1 +- `EWS-FLI1` middle - 6 +- `EWS-FLI1` high - 3, 4, 5, 7 +- `EWS-FLI1` high proliferative - 2 ```{r} # categorize tumor cells based on EWS expression diff --git a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html index ef4b2b214..26232900e 100644 --- a/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html +++ b/analyses/cell-type-ewings/exploratory_analysis/06-tumor-cell-state-assignment.html @@ -1018,12 +1018,18 @@

            Sub cluster tumor cells

            cells separately as EWS-high-proliferative.

            Based on this I would make the following assignments:

            SCPCL000822:

            -

            EWS-FLI1 low - 2 EWS-FLI1 middle - 1 & -4 EWS-FLI1 high - 3

            +
              +
            • EWS-FLI1 low - 2
            • +
            • EWS-FLI1 middle - 1 & 4
            • +
            • EWS-FLI1 high - 3
            • +

            SCPCL000824 :

            -

            EWS-FLI1 low - 1 EWS-FLI1 middle - 6 -EWS-FLI1 high - 3, 4, 5, 7 EWS-FLI1 high -proliferative - 2

            +
              +
            • EWS-FLI1 low - 1
            • +
            • EWS-FLI1 middle - 6
            • +
            • EWS-FLI1 high - 3, 4, 5, 7
            • +
            • EWS-FLI1 high proliferative - 2
            • +
            # categorize tumor cells based on EWS expression 
             tumor_cells_df <- tumor_cells_df |> 
               dplyr::mutate(