library(tidyverse)

x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized <- 
  read_csv("~/work/projects/2015_10_05_DrugRepurposing_AravindSubramanian_GolubLab_Broad/workspace/backend/2016_04_01_a549_48hr_batch1_cmap_style/SQ00015233/SQ00015233_normalized.csv")
Parsed with column specification:
cols(
  .default = col_double(),
  Metadata_Plate = col_character(),
  Metadata_Well = col_character(),
  Metadata_Assay_Plate_Barcode = col_character(),
  Metadata_Plate_Map_Name = col_character(),
  Metadata_Batch_Date = col_date(format = ""),
  Metadata_well_position = col_character(),
  Metadata_broad_sample = col_character(),
  Metadata_solvent = col_character(),
  Metadata_pert_id = col_character(),
  Metadata_pert_mfc_id = col_character(),
  Metadata_pert_well = col_character(),
  Metadata_pert_id_vendor = col_logical(),
  Metadata_cell_id = col_character(),
  Metadata_broad_sample_type = col_character(),
  Metadata_pert_vehicle = col_character(),
  Metadata_pert_type = col_character(),
  Metadata_pert_iname = col_character(),
  Metadata_moa = col_character(),
  Metadata_pert_mfc_desc = col_character(),
  Metadata_pert_name = col_character()
)
See spec(...) for full column specifications.
x2016_04_01_a549_48hr_batch1_SQ00015233_normalized <- 
  read_csv("~/work/projects/2015_10_05_DrugRepurposing_AravindSubramanian_GolubLab_Broad/workspace/backend/2016_04_01_a549_48hr_batch1/SQ00015233/SQ00015233_normalized.csv")
Parsed with column specification:
cols(
  .default = col_double(),
  Metadata_Plate = col_character(),
  Metadata_Well = col_character(),
  Metadata_Assay_Plate_Barcode = col_character(),
  Metadata_Plate_Map_Name = col_character(),
  Metadata_Batch_Date = col_date(format = ""),
  Metadata_well_position = col_character(),
  Metadata_broad_sample = col_character(),
  Metadata_solvent = col_character(),
  Metadata_pert_id = col_character(),
  Metadata_pert_mfc_id = col_character(),
  Metadata_pert_well = col_character(),
  Metadata_pert_id_vendor = col_logical(),
  Metadata_cell_id = col_character(),
  Metadata_broad_sample_type = col_character(),
  Metadata_pert_vehicle = col_character(),
  Metadata_pert_type = col_character(),
  Metadata_pert_iname = col_character(),
  Metadata_moa = col_character(),
  Metadata_pert_mfc_desc = col_character(),
  Metadata_pert_name = col_character()
)
See spec(...) for full column specifications.
variables <- str_subset(names(x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized), "Cells|Nuclei|Cytoplasm")
x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_mean_full_plate <-
  x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "mean",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_median_full_plate <-
  x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "median",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_mean_dmso <-
  x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized %>%
  filter(Metadata_broad_sample_type == "control") %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "mean",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_median_dmso <-
  x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized %>%
  filter(Metadata_broad_sample_type == "control") %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "median",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_mean_full_plate %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_mean_full_plate")


x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_median_full_plate %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_median_full_plate")



x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_mean_dmso %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_mean_dmso")


x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_median_dmso %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_cmap_style_SQ00015233_normalized_median_dmso")

x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_mean_full_plate <-
  x2016_04_01_a549_48hr_batch1_SQ00015233_normalized %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "mean",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_median_full_plate <-
  x2016_04_01_a549_48hr_batch1_SQ00015233_normalized %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "median",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_mean_dmso <-
  x2016_04_01_a549_48hr_batch1_SQ00015233_normalized %>%
  filter(Metadata_broad_sample_type == "control") %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "mean",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_median_dmso <-
  x2016_04_01_a549_48hr_batch1_SQ00015233_normalized %>%
  filter(Metadata_broad_sample_type == "control") %>%
  cytominer::aggregate(variables,
                       c("Metadata_Plate"),
                       operation = "median",
                       na.rm = TRUE) %>%
  pivot_longer(-Metadata_Plate) %>%
  na.omit()

x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_mean_full_plate %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_mean_full_plate")


x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_median_full_plate %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_median_full_plate")



x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_mean_dmso %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_mean_dmso")


x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_median_dmso %>%
  ggplot(aes(value)) + 
  geom_histogram() +
  ggtitle("x2016_04_01_a549_48hr_batch1_SQ00015233_normalized_median_dmso")

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CmxpYnJhcnkodGlkeXZlcnNlKQoKeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9jbWFwX3N0eWxlX1NRMDAwMTUyMzNfbm9ybWFsaXplZCA8LSAKICByZWFkX2Nzdigifi93b3JrL3Byb2plY3RzLzIwMTVfMTBfMDVfRHJ1Z1JlcHVycG9zaW5nX0FyYXZpbmRTdWJyYW1hbmlhbl9Hb2x1YkxhYl9Ccm9hZC93b3Jrc3BhY2UvYmFja2VuZC8yMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZS9TUTAwMDE1MjMzL1NRMDAwMTUyMzNfbm9ybWFsaXplZC5jc3YiKQoKeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9TUTAwMDE1MjMzX25vcm1hbGl6ZWQgPC0gCiAgcmVhZF9jc3YoIn4vd29yay9wcm9qZWN0cy8yMDE1XzEwXzA1X0RydWdSZXB1cnBvc2luZ19BcmF2aW5kU3VicmFtYW5pYW5fR29sdWJMYWJfQnJvYWQvd29ya3NwYWNlL2JhY2tlbmQvMjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxL1NRMDAwMTUyMzMvU1EwMDAxNTIzM19ub3JtYWxpemVkLmNzdiIpCmBgYAoKCmBgYHtyfQp2YXJpYWJsZXMgPC0gc3RyX3N1YnNldChuYW1lcyh4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX2NtYXBfc3R5bGVfU1EwMDAxNTIzM19ub3JtYWxpemVkKSwgIkNlbGxzfE51Y2xlaXxDeXRvcGxhc20iKQpgYGAKCgpgYGB7cn0KeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9jbWFwX3N0eWxlX1NRMDAwMTUyMzNfbm9ybWFsaXplZF9tZWFuX2Z1bGxfcGxhdGUgPC0KICB4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX2NtYXBfc3R5bGVfU1EwMDAxNTIzM19ub3JtYWxpemVkICU+JQogIGN5dG9taW5lcjo6YWdncmVnYXRlKHZhcmlhYmxlcywKICAgICAgICAgICAgICAgICAgICAgICBjKCJNZXRhZGF0YV9QbGF0ZSIpLAogICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiA9ICJtZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICBuYS5ybSA9IFRSVUUpICU+JQogIHBpdm90X2xvbmdlcigtTWV0YWRhdGFfUGxhdGUpICU+JQogIG5hLm9taXQoKQoKeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9jbWFwX3N0eWxlX1NRMDAwMTUyMzNfbm9ybWFsaXplZF9tZWRpYW5fZnVsbF9wbGF0ZSA8LQogIHgyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZV9TUTAwMDE1MjMzX25vcm1hbGl6ZWQgJT4lCiAgY3l0b21pbmVyOjphZ2dyZWdhdGUodmFyaWFibGVzLAogICAgICAgICAgICAgICAgICAgICAgIGMoIk1ldGFkYXRhX1BsYXRlIiksCiAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uID0gIm1lZGlhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgbmEucm0gPSBUUlVFKSAlPiUKICBwaXZvdF9sb25nZXIoLU1ldGFkYXRhX1BsYXRlKSAlPiUKICBuYS5vbWl0KCkKCngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVhbl9kbXNvIDwtCiAgeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9jbWFwX3N0eWxlX1NRMDAwMTUyMzNfbm9ybWFsaXplZCAlPiUKICBmaWx0ZXIoTWV0YWRhdGFfYnJvYWRfc2FtcGxlX3R5cGUgPT0gImNvbnRyb2wiKSAlPiUKICBjeXRvbWluZXI6OmFnZ3JlZ2F0ZSh2YXJpYWJsZXMsCiAgICAgICAgICAgICAgICAgICAgICAgYygiTWV0YWRhdGFfUGxhdGUiKSwKICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24gPSAibWVhbiIsCiAgICAgICAgICAgICAgICAgICAgICAgbmEucm0gPSBUUlVFKSAlPiUKICBwaXZvdF9sb25nZXIoLU1ldGFkYXRhX1BsYXRlKSAlPiUKICBuYS5vbWl0KCkKCngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVkaWFuX2Rtc28gPC0KICB4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX2NtYXBfc3R5bGVfU1EwMDAxNTIzM19ub3JtYWxpemVkICU+JQogIGZpbHRlcihNZXRhZGF0YV9icm9hZF9zYW1wbGVfdHlwZSA9PSAiY29udHJvbCIpICU+JQogIGN5dG9taW5lcjo6YWdncmVnYXRlKHZhcmlhYmxlcywKICAgICAgICAgICAgICAgICAgICAgICBjKCJNZXRhZGF0YV9QbGF0ZSIpLAogICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiA9ICJtZWRpYW4iLAogICAgICAgICAgICAgICAgICAgICAgIG5hLnJtID0gVFJVRSkgJT4lCiAgcGl2b3RfbG9uZ2VyKC1NZXRhZGF0YV9QbGF0ZSkgJT4lCiAgbmEub21pdCgpCgp4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX2NtYXBfc3R5bGVfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lYW5fZnVsbF9wbGF0ZSAlPiUKICBnZ3Bsb3QoYWVzKHZhbHVlKSkgKyAKICBnZW9tX2hpc3RvZ3JhbSgpICsKICBnZ3RpdGxlKCJ4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX2NtYXBfc3R5bGVfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lYW5fZnVsbF9wbGF0ZSIpCgp4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX2NtYXBfc3R5bGVfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lZGlhbl9mdWxsX3BsYXRlICU+JQogIGdncGxvdChhZXModmFsdWUpKSArIAogIGdlb21faGlzdG9ncmFtKCkgKwogIGdndGl0bGUoIngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVkaWFuX2Z1bGxfcGxhdGUiKQoKCngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVhbl9kbXNvICU+JQogIGdncGxvdChhZXModmFsdWUpKSArIAogIGdlb21faGlzdG9ncmFtKCkgKwogIGdndGl0bGUoIngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVhbl9kbXNvIikKCngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfY21hcF9zdHlsZV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVkaWFuX2Rtc28gJT4lCiAgZ2dwbG90KGFlcyh2YWx1ZSkpICsgCiAgZ2VvbV9oaXN0b2dyYW0oKSArCiAgZ2d0aXRsZSgieDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9jbWFwX3N0eWxlX1NRMDAwMTUyMzNfbm9ybWFsaXplZF9tZWRpYW5fZG1zbyIpCgpgYGAKCgoKYGBge3J9CngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lYW5fZnVsbF9wbGF0ZSA8LQogIHgyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfU1EwMDAxNTIzM19ub3JtYWxpemVkICU+JQogIGN5dG9taW5lcjo6YWdncmVnYXRlKHZhcmlhYmxlcywKICAgICAgICAgICAgICAgICAgICAgICBjKCJNZXRhZGF0YV9QbGF0ZSIpLAogICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiA9ICJtZWFuIiwKICAgICAgICAgICAgICAgICAgICAgICBuYS5ybSA9IFRSVUUpICU+JQogIHBpdm90X2xvbmdlcigtTWV0YWRhdGFfUGxhdGUpICU+JQogIG5hLm9taXQoKQoKeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVkaWFuX2Z1bGxfcGxhdGUgPC0KICB4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX1NRMDAwMTUyMzNfbm9ybWFsaXplZCAlPiUKICBjeXRvbWluZXI6OmFnZ3JlZ2F0ZSh2YXJpYWJsZXMsCiAgICAgICAgICAgICAgICAgICAgICAgYygiTWV0YWRhdGFfUGxhdGUiKSwKICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24gPSAibWVkaWFuIiwKICAgICAgICAgICAgICAgICAgICAgICBuYS5ybSA9IFRSVUUpICU+JQogIHBpdm90X2xvbmdlcigtTWV0YWRhdGFfUGxhdGUpICU+JQogIG5hLm9taXQoKQoKeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVhbl9kbXNvIDwtCiAgeDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9TUTAwMDE1MjMzX25vcm1hbGl6ZWQgJT4lCiAgZmlsdGVyKE1ldGFkYXRhX2Jyb2FkX3NhbXBsZV90eXBlID09ICJjb250cm9sIikgJT4lCiAgY3l0b21pbmVyOjphZ2dyZWdhdGUodmFyaWFibGVzLAogICAgICAgICAgICAgICAgICAgICAgIGMoIk1ldGFkYXRhX1BsYXRlIiksCiAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uID0gIm1lYW4iLAogICAgICAgICAgICAgICAgICAgICAgIG5hLnJtID0gVFJVRSkgJT4lCiAgcGl2b3RfbG9uZ2VyKC1NZXRhZGF0YV9QbGF0ZSkgJT4lCiAgbmEub21pdCgpCgp4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX1NRMDAwMTUyMzNfbm9ybWFsaXplZF9tZWRpYW5fZG1zbyA8LQogIHgyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfU1EwMDAxNTIzM19ub3JtYWxpemVkICU+JQogIGZpbHRlcihNZXRhZGF0YV9icm9hZF9zYW1wbGVfdHlwZSA9PSAiY29udHJvbCIpICU+JQogIGN5dG9taW5lcjo6YWdncmVnYXRlKHZhcmlhYmxlcywKICAgICAgICAgICAgICAgICAgICAgICBjKCJNZXRhZGF0YV9QbGF0ZSIpLAogICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvbiA9ICJtZWRpYW4iLAogICAgICAgICAgICAgICAgICAgICAgIG5hLnJtID0gVFJVRSkgJT4lCiAgcGl2b3RfbG9uZ2VyKC1NZXRhZGF0YV9QbGF0ZSkgJT4lCiAgbmEub21pdCgpCgp4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX1NRMDAwMTUyMzNfbm9ybWFsaXplZF9tZWFuX2Z1bGxfcGxhdGUgJT4lCiAgZ2dwbG90KGFlcyh2YWx1ZSkpICsgCiAgZ2VvbV9oaXN0b2dyYW0oKSArCiAgZ2d0aXRsZSgieDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVhbl9mdWxsX3BsYXRlIikKCngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lZGlhbl9mdWxsX3BsYXRlICU+JQogIGdncGxvdChhZXModmFsdWUpKSArIAogIGdlb21faGlzdG9ncmFtKCkgKwogIGdndGl0bGUoIngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lZGlhbl9mdWxsX3BsYXRlIikKCgp4MjAxNl8wNF8wMV9hNTQ5XzQ4aHJfYmF0Y2gxX1NRMDAwMTUyMzNfbm9ybWFsaXplZF9tZWFuX2Rtc28gJT4lCiAgZ2dwbG90KGFlcyh2YWx1ZSkpICsgCiAgZ2VvbV9oaXN0b2dyYW0oKSArCiAgZ2d0aXRsZSgieDIwMTZfMDRfMDFfYTU0OV80OGhyX2JhdGNoMV9TUTAwMDE1MjMzX25vcm1hbGl6ZWRfbWVhbl9kbXNvIikKCngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lZGlhbl9kbXNvICU+JQogIGdncGxvdChhZXModmFsdWUpKSArIAogIGdlb21faGlzdG9ncmFtKCkgKwogIGdndGl0bGUoIngyMDE2XzA0XzAxX2E1NDlfNDhocl9iYXRjaDFfU1EwMDAxNTIzM19ub3JtYWxpemVkX21lZGlhbl9kbXNvIikKYGBgCgo=