ABCNews-Style Plot using R
Origin of the plot can be found here. This plot can be replicated by using R as follows:

R Codes for Data Cleaning and Visualization
Data can be downloaded here.
# https://www.abc.net.au/news/2015-11-17/global-terrorism-index-increase/6947200
my_colors <- c("#770A1F", "#EC1D27", "#F56F52", "#F9B297")
my_colors <- my_colors[4:1]
bgrColor <- c("#EBE9EA")
my_font <- "Ubuntu Condensed"
# Load data:
library(tidyverse)
dfRaw <- read_csv("/home/khanhan/Downloads/globalterrorismdb_0718dist.csv")
# Select some columns and create a new column:
dfRaw %>%
select(iyear, country_txt, nkill, nkillter) %>%
filter(iyear %in% c(2000:2014)) %>%
mutate(nkill = replace_na(nkill, 0)) %>%
mutate(nkillter = replace_na(nkillter, 0)) %>%
mutate(totalDeath = nkill + nkillter) %>%
mutate(region = case_when(country_txt %in% c("Syria", "Afghanistan", "Pakistan") ~ "Afghanistan, Pakistan & Syria",
country_txt == "Iraq" ~ "Iraq",
country_txt == "Nigeria" ~ "Nigeria",
TRUE ~ "Others")) %>%
group_by(iyear, region) %>%
summarise(deaths = sum(totalDeath)) %>%
ungroup() -> dfPlot
# Total deaths by countries after removing Iraq, Nigeria, Afghanistan, Pakistan & Syria:
dfPlot %>%
filter(!region %in% c("Iraq", "Nigeria", "Afghanistan, Pakistan & Syria")) %>%
group_by(iyear) %>%
summarise(deaths = sum(deaths)) %>%
mutate(region = "Rest of the World") %>%
ungroup() -> totalDeaths
# Remaining group (Iraq, Nigeria, Afghanistan, Pakistan & Syria):
dfPlot %>%
filter(region %in% c("Iraq", "Nigeria", "Afghanistan, Pakistan & Syria")) %>%
group_by(iyear, region) %>%
summarise(deaths = sum(deaths)) %>%
ungroup() -> top3Groups
# Combine the two data sets:
dfForPLot <- bind_rows(totalDeaths, top3Groups)
# Set level:
my_levels <- c("Rest of the World", "Afghanistan, Pakistan & Syria", "Nigeria", "Iraq")
# Convert region to factor with levels selected:
dfForPLot %>%
mutate(region = factor(region, levels = my_levels)) -> dfForPLot
# Create data frame for presenting leged text:
df_legend <- tibble(iyear = 2000.5, deaths = seq(40000, 50000, length.out = 6)) %>%
slice(2:5) %>%
mutate(countryLabel = my_levels[4:1], colorLabel = my_colors) %>%
mutate(region = countryLabel)
df_legend %>%
mutate(iyear = 2000 + 0.3) -> df_point
# Make a draft:
library(scales)
ggplot() +
geom_area(data = dfForPLot, aes(iyear, deaths, fill = region), show.legend = FALSE) +
geom_text(data = df_legend, aes(x = iyear, y = deaths, label = countryLabel),
show.legend = FALSE, color = my_colors[4:1], size = 5, hjust = 0, family = my_font) +
scale_fill_manual(values = my_colors) +
geom_point(data = df_point, aes(x = iyear, y = deaths), color = my_colors[4:1], size = 6) +
scale_x_continuous(breaks = seq(2000, 2014, 1), expand = c(0.02, 0)) +
scale_y_continuous(breaks = seq(0, 60000, 10000), limits = c(0, 60000), expand = c(0.01, 0), labels = comma) +
theme(plot.background = element_rect(fill = bgrColor, color = NA)) +
theme(panel.grid.minor.y = element_blank()) +
theme(panel.grid.major.x = element_blank(), panel.grid.minor.x = element_blank()) +
theme(axis.title = element_blank()) +
theme(plot.margin = unit(c(0.7, 0.7, 0.7, 1), "cm")) +
labs(title = "Figure 1: Deaths from global terrorism, 2000-2014",
subtitle = "Deaths from global terrorism have increased dramatically over the last 15 years.\nThe number of deaths has increased elevenfold sine the year 2000",
caption = "Source: START, IEP") +
annotate("curve",
curvature = 0,
x = 2001,
xend = 2001,
y = 12000,
yend = 8500,
arrow = arrow(angle = 20, length = unit(0.22, "cm")), size = 0.4, color = "grey20") +
annotate("text", x = 2001, y = 13000, label = "September, 11", family = my_font, size = 4.5, color = "grey20") +
annotate("curve",
curvature = 0,
x = 2002,
xend = 2002,
y = 17000,
yend = 5500,
arrow = arrow(angle = 20, length = unit(0.22, "cm")), size = 0.4, color = "grey20") +
annotate("text", x = 2002, y = 19000, label = "US invade\nAfghanistan", family = my_font, size = 4.5, color = "grey20") +
annotate("curve",
curvature = 0,
x = 2003,
xend = 2003,
y = 22000,
yend = 3900,
arrow = arrow(angle = 20, length = unit(0.22, "cm")), size = 0.4, color = "grey20") +
annotate("text", x = 2003, y = 24000, label = "US invade\nAfghanistan", family = my_font, size = 4.5, color = "grey20") +
annotate("curve",
curvature = 0,
x = 2007,
xend = 2007,
y = 30000,
yend = 14000,
arrow = arrow(angle = 20, length = unit(0.22, "cm")), size = 0.4, color = "grey20") +
annotate("text", x = 2007, y = 31000, label = "US troop surge", family = my_font, size = 4.5, color = "grey20") +
annotate("curve",
curvature = 0,
x = 2011,
xend = 2011,
y = 33000,
yend = 9500,
arrow = arrow(angle = 20, length = unit(0.22, "cm")), size = 0.4, color = "grey20") +
annotate("text", x = 2011, y = 35200, label = "Syrian civil\nwar begin", family = my_font, size = 4.5, color = "grey20") +
theme(plot.title = element_text(family = my_font, size = 26, color = "grey20")) +
theme(plot.subtitle = element_text(family = my_font, size = 18, color = "grey30")) +
theme(plot.caption = element_text(family = my_font, size = 12, color = "grey30", face = "italic")) +
theme(axis.text = element_text(color = "grey30", size = 13, family = my_font))
LS0tCnRpdGxlOiAiR2xvYmFsIHRlcnJvcmlzbSwgMjAwMCAtIDIwMTQgKFZlcnNpb24gMikiCmF1dGhvcjogJ05ndXllbiBDaGkgRHVuZycKc3VidGl0bGU6ICJEYWlseSBHcmFwaCBTZXJpZXMiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OiAKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAgICMgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIGhpZ2hsaWdodDogemVuYnVybgogICAgIyBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgdGhlbWU6ICJmbGF0bHkiCiAgICB0b2M6IFRSVUUKICAgIHRvY19mbG9hdDogVFJVRQotLS0KCmBgYHtyIHNldHVwLGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSwgd2FybmluZyA9IEZBTFNFLCBtZXNzYWdlID0gRkFMU0UsIGZpZy53aWR0aCA9IDEwLCBmaWcuaGVpZ2h0ID0gNikKYGBgCgojIEFCQ05ld3MtU3R5bGUgUGxvdCB1c2luZyBSCgpPcmlnaW4gb2YgdGhlIHBsb3QgY2FuIGJlIGZvdW5kIFtoZXJlXShodHRwczovL3d3dy5hYmMubmV0LmF1L25ld3MvMjAxNS0xMS0xNy9nbG9iYWwtdGVycm9yaXNtLWluZGV4LWluY3JlYXNlLzY5NDcyMDApLiBUaGlzIHBsb3QgY2FuIGJlIHJlcGxpY2F0ZWQgYnkgdXNpbmcgUiBhcyBmb2xsb3dzOiAKCiFbXSgvaG9tZS9raGFuaGFuL2todW5nYm8ucG5nKQoKCiMgUiBDb2RlcyBmb3IgRGF0YSBDbGVhbmluZyBhbmQgVmlzdWFsaXphdGlvbgoKRGF0YSBjYW4gYmUgZG93bmxvYWRlZCBbaGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL2V2c3YvTk5FdmFsdWF0b3IvYmxvYi9tYXN0ZXIvZ2xvYmFsdGVycm9yaXNtZGJfMDcxOGRpc3QuY3N2LnppcCkuIAoKYGBge3IsIGV2YWw9RkFMU0V9CgojIGh0dHBzOi8vd3d3LmFiYy5uZXQuYXUvbmV3cy8yMDE1LTExLTE3L2dsb2JhbC10ZXJyb3Jpc20taW5kZXgtaW5jcmVhc2UvNjk0NzIwMAoKbXlfY29sb3JzIDwtIGMoIiM3NzBBMUYiLCAiI0VDMUQyNyIsICIjRjU2RjUyIiwgIiNGOUIyOTciKQpteV9jb2xvcnMgPC0gbXlfY29sb3JzWzQ6MV0KCmJnckNvbG9yIDwtIGMoIiNFQkU5RUEiKQpteV9mb250IDwtICJVYnVudHUgQ29uZGVuc2VkIgoKIyBMb2FkIGRhdGE6IApsaWJyYXJ5KHRpZHl2ZXJzZSkKZGZSYXcgPC0gcmVhZF9jc3YoIi9ob21lL2toYW5oYW4vRG93bmxvYWRzL2dsb2JhbHRlcnJvcmlzbWRiXzA3MThkaXN0LmNzdiIpCgoKIyBTZWxlY3Qgc29tZSBjb2x1bW5zIGFuZCBjcmVhdGUgYSBuZXcgY29sdW1uOiAKCmRmUmF3ICU+JSAgCiAgc2VsZWN0KGl5ZWFyLCBjb3VudHJ5X3R4dCwgbmtpbGwsIG5raWxsdGVyKSAlPiUgCiAgZmlsdGVyKGl5ZWFyICVpbiUgYygyMDAwOjIwMTQpKSAlPiUgCiAgbXV0YXRlKG5raWxsID0gcmVwbGFjZV9uYShua2lsbCwgMCkpICU+JSAKICBtdXRhdGUobmtpbGx0ZXIgPSByZXBsYWNlX25hKG5raWxsdGVyLCAwKSkgJT4lIAogIG11dGF0ZSh0b3RhbERlYXRoID0gbmtpbGwgKyBua2lsbHRlcikgJT4lIAogIG11dGF0ZShyZWdpb24gPSBjYXNlX3doZW4oY291bnRyeV90eHQgJWluJSBjKCJTeXJpYSIsICJBZmdoYW5pc3RhbiIsICJQYWtpc3RhbiIpIH4gIkFmZ2hhbmlzdGFuLCBQYWtpc3RhbiAmIFN5cmlhIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5X3R4dCA9PSAiSXJhcSIgfiAiSXJhcSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudHJ5X3R4dCA9PSAiTmlnZXJpYSIgfiAiTmlnZXJpYSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFIH4gIk90aGVycyIpKSAlPiUgCiAgZ3JvdXBfYnkoaXllYXIsIHJlZ2lvbikgJT4lIAogIHN1bW1hcmlzZShkZWF0aHMgPSBzdW0odG90YWxEZWF0aCkpICU+JSAgCiAgdW5ncm91cCgpIC0+IGRmUGxvdAoKIyBUb3RhbCBkZWF0aHMgYnkgY291bnRyaWVzIGFmdGVyIHJlbW92aW5nIElyYXEsIE5pZ2VyaWEsIEFmZ2hhbmlzdGFuLCBQYWtpc3RhbiAmIFN5cmlhOiAKCmRmUGxvdCAlPiUgCiAgZmlsdGVyKCFyZWdpb24gJWluJSBjKCJJcmFxIiwgIk5pZ2VyaWEiLCAiQWZnaGFuaXN0YW4sIFBha2lzdGFuICYgU3lyaWEiKSkgJT4lIAogIGdyb3VwX2J5KGl5ZWFyKSAlPiUgCiAgc3VtbWFyaXNlKGRlYXRocyA9IHN1bShkZWF0aHMpKSAlPiUgCiAgbXV0YXRlKHJlZ2lvbiA9ICJSZXN0IG9mIHRoZSBXb3JsZCIpICU+JSAKICB1bmdyb3VwKCkgLT4gdG90YWxEZWF0aHMKCiMgUmVtYWluaW5nIGdyb3VwIChJcmFxLCBOaWdlcmlhLCBBZmdoYW5pc3RhbiwgUGFraXN0YW4gJiBTeXJpYSk6CgpkZlBsb3QgJT4lIAogIGZpbHRlcihyZWdpb24gJWluJSBjKCJJcmFxIiwgIk5pZ2VyaWEiLCAiQWZnaGFuaXN0YW4sIFBha2lzdGFuICYgU3lyaWEiKSkgJT4lIAogIGdyb3VwX2J5KGl5ZWFyLCByZWdpb24pICU+JSAKICBzdW1tYXJpc2UoZGVhdGhzID0gc3VtKGRlYXRocykpICU+JSAKICB1bmdyb3VwKCkgLT4gdG9wM0dyb3VwcwoKIyBDb21iaW5lIHRoZSB0d28gZGF0YSBzZXRzOiAKZGZGb3JQTG90IDwtIGJpbmRfcm93cyh0b3RhbERlYXRocywgdG9wM0dyb3VwcykKCiMgU2V0IGxldmVsOiAKbXlfbGV2ZWxzIDwtIGMoIlJlc3Qgb2YgdGhlIFdvcmxkIiwgIkFmZ2hhbmlzdGFuLCBQYWtpc3RhbiAmIFN5cmlhIiwgIk5pZ2VyaWEiLCAiSXJhcSIpCgojIENvbnZlcnQgcmVnaW9uIHRvIGZhY3RvciB3aXRoIGxldmVscyBzZWxlY3RlZDogCgpkZkZvclBMb3QgJT4lIAogIG11dGF0ZShyZWdpb24gPSBmYWN0b3IocmVnaW9uLCBsZXZlbHMgPSBteV9sZXZlbHMpKSAtPiBkZkZvclBMb3QKCgojIENyZWF0ZSBkYXRhIGZyYW1lIGZvciBwcmVzZW50aW5nIGxlZ2VkIHRleHQ6IAoKZGZfbGVnZW5kIDwtIHRpYmJsZShpeWVhciA9IDIwMDAuNSwgZGVhdGhzID0gc2VxKDQwMDAwLCA1MDAwMCwgbGVuZ3RoLm91dCA9IDYpKSAlPiUgCiAgc2xpY2UoMjo1KSAlPiUgCiAgbXV0YXRlKGNvdW50cnlMYWJlbCA9IG15X2xldmVsc1s0OjFdLCBjb2xvckxhYmVsID0gbXlfY29sb3JzKSAlPiUgCiAgbXV0YXRlKHJlZ2lvbiA9IGNvdW50cnlMYWJlbCkKCmRmX2xlZ2VuZCAlPiUgCiAgbXV0YXRlKGl5ZWFyID0gMjAwMCArIDAuMykgLT4gZGZfcG9pbnQKCgoKIyBNYWtlIGEgZHJhZnQ6IAoKbGlicmFyeShzY2FsZXMpCgpnZ3Bsb3QoKSArIAogIGdlb21fYXJlYShkYXRhID0gZGZGb3JQTG90LCBhZXMoaXllYXIsIGRlYXRocywgZmlsbCA9IHJlZ2lvbiksIHNob3cubGVnZW5kID0gRkFMU0UpICsgCiAgZ2VvbV90ZXh0KGRhdGEgPSBkZl9sZWdlbmQsIGFlcyh4ID0gaXllYXIsIHkgPSBkZWF0aHMsIGxhYmVsID0gY291bnRyeUxhYmVsKSwgCiAgICAgICAgICAgIHNob3cubGVnZW5kID0gRkFMU0UsIGNvbG9yID0gbXlfY29sb3JzWzQ6MV0sIHNpemUgPSA1LCBoanVzdCA9IDAsIGZhbWlseSA9IG15X2ZvbnQpICsgCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gbXlfY29sb3JzKSArIAogIGdlb21fcG9pbnQoZGF0YSA9IGRmX3BvaW50LCBhZXMoeCA9IGl5ZWFyLCB5ID0gZGVhdGhzKSwgY29sb3IgPSBteV9jb2xvcnNbNDoxXSwgc2l6ZSA9IDYpICsgCiAgc2NhbGVfeF9jb250aW51b3VzKGJyZWFrcyA9IHNlcSgyMDAwLCAyMDE0LCAxKSwgZXhwYW5kID0gYygwLjAyLCAwKSkgKyAKICBzY2FsZV95X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDAsIDYwMDAwLCAxMDAwMCksIGxpbWl0cyA9IGMoMCwgNjAwMDApLCBleHBhbmQgPSBjKDAuMDEsIDApLCBsYWJlbHMgPSBjb21tYSkgKyAKICB0aGVtZShwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9IGJnckNvbG9yLCBjb2xvciA9IE5BKSkgKyAKICB0aGVtZShwYW5lbC5ncmlkLm1pbm9yLnkgPSBlbGVtZW50X2JsYW5rKCkpICsgCiAgdGhlbWUocGFuZWwuZ3JpZC5tYWpvci54ID0gZWxlbWVudF9ibGFuaygpLCBwYW5lbC5ncmlkLm1pbm9yLnggPSBlbGVtZW50X2JsYW5rKCkpICsgCiAgdGhlbWUoYXhpcy50aXRsZSA9IGVsZW1lbnRfYmxhbmsoKSkgKyAKICB0aGVtZShwbG90Lm1hcmdpbiA9IHVuaXQoYygwLjcsIDAuNywgMC43LCAxKSwgImNtIikpICsgCiAgbGFicyh0aXRsZSA9ICJGaWd1cmUgMTogRGVhdGhzIGZyb20gZ2xvYmFsIHRlcnJvcmlzbSwgMjAwMC0yMDE0IiwgCiAgICAgICBzdWJ0aXRsZSA9ICJEZWF0aHMgZnJvbSBnbG9iYWwgdGVycm9yaXNtIGhhdmUgaW5jcmVhc2VkIGRyYW1hdGljYWxseSBvdmVyIHRoZSBsYXN0IDE1IHllYXJzLlxuVGhlIG51bWJlciBvZiBkZWF0aHMgaGFzIGluY3JlYXNlZCBlbGV2ZW5mb2xkIHNpbmUgdGhlIHllYXIgMjAwMCIsIAogICAgICAgY2FwdGlvbiA9ICJTb3VyY2U6IFNUQVJULCBJRVAiKSArIAogIGFubm90YXRlKCJjdXJ2ZSIsIAogICAgICAgICAgIGN1cnZhdHVyZSA9IDAsCiAgICAgICAgICAgeCA9IDIwMDEsIAogICAgICAgICAgIHhlbmQgPSAyMDAxLAogICAgICAgICAgIHkgPSAxMjAwMCwgCiAgICAgICAgICAgeWVuZCA9IDg1MDAsCiAgICAgICAgICAgYXJyb3cgPSBhcnJvdyhhbmdsZSA9IDIwLCBsZW5ndGggPSB1bml0KDAuMjIsICJjbSIpKSwgc2l6ZSA9IDAuNCwgY29sb3IgPSAiZ3JleTIwIikgKyAKICBhbm5vdGF0ZSgidGV4dCIsIHggPSAyMDAxLCB5ID0gMTMwMDAsIGxhYmVsID0gIlNlcHRlbWJlciwgMTEiLCBmYW1pbHkgPSBteV9mb250LCBzaXplID0gNC41LCBjb2xvciA9ICJncmV5MjAiKSArIAogIGFubm90YXRlKCJjdXJ2ZSIsIAogICAgICAgICAgIGN1cnZhdHVyZSA9IDAsCiAgICAgICAgICAgeCA9IDIwMDIsIAogICAgICAgICAgIHhlbmQgPSAyMDAyLAogICAgICAgICAgIHkgPSAxNzAwMCwgCiAgICAgICAgICAgeWVuZCA9IDU1MDAsCiAgICAgICAgICAgYXJyb3cgPSBhcnJvdyhhbmdsZSA9IDIwLCBsZW5ndGggPSB1bml0KDAuMjIsICJjbSIpKSwgc2l6ZSA9IDAuNCwgY29sb3IgPSAiZ3JleTIwIikgKyAKICBhbm5vdGF0ZSgidGV4dCIsIHggPSAyMDAyLCB5ID0gMTkwMDAsIGxhYmVsID0gIlVTIGludmFkZVxuQWZnaGFuaXN0YW4iLCBmYW1pbHkgPSBteV9mb250LCBzaXplID0gNC41LCBjb2xvciA9ICJncmV5MjAiKSArIAogIGFubm90YXRlKCJjdXJ2ZSIsIAogICAgICAgICAgIGN1cnZhdHVyZSA9IDAsCiAgICAgICAgICAgeCA9IDIwMDMsIAogICAgICAgICAgIHhlbmQgPSAyMDAzLAogICAgICAgICAgIHkgPSAyMjAwMCwgCiAgICAgICAgICAgeWVuZCA9IDM5MDAsCiAgICAgICAgICAgYXJyb3cgPSBhcnJvdyhhbmdsZSA9IDIwLCBsZW5ndGggPSB1bml0KDAuMjIsICJjbSIpKSwgc2l6ZSA9IDAuNCwgY29sb3IgPSAiZ3JleTIwIikgKyAKICBhbm5vdGF0ZSgidGV4dCIsIHggPSAyMDAzLCB5ID0gMjQwMDAsIGxhYmVsID0gIlVTIGludmFkZVxuQWZnaGFuaXN0YW4iLCBmYW1pbHkgPSBteV9mb250LCBzaXplID0gNC41LCBjb2xvciA9ICJncmV5MjAiKSArIAogIGFubm90YXRlKCJjdXJ2ZSIsIAogICAgICAgICAgIGN1cnZhdHVyZSA9IDAsCiAgICAgICAgICAgeCA9IDIwMDcsIAogICAgICAgICAgIHhlbmQgPSAyMDA3LAogICAgICAgICAgIHkgPSAzMDAwMCwgCiAgICAgICAgICAgeWVuZCA9IDE0MDAwLAogICAgICAgICAgIGFycm93ID0gYXJyb3coYW5nbGUgPSAyMCwgbGVuZ3RoID0gdW5pdCgwLjIyLCAiY20iKSksIHNpemUgPSAwLjQsIGNvbG9yID0gImdyZXkyMCIpICsgCiAgYW5ub3RhdGUoInRleHQiLCB4ID0gMjAwNywgeSA9IDMxMDAwLCBsYWJlbCA9ICJVUyB0cm9vcCBzdXJnZSIsIGZhbWlseSA9IG15X2ZvbnQsIHNpemUgPSA0LjUsIGNvbG9yID0gImdyZXkyMCIpICsgCiAgYW5ub3RhdGUoImN1cnZlIiwgCiAgICAgICAgICAgY3VydmF0dXJlID0gMCwKICAgICAgICAgICB4ID0gMjAxMSwgCiAgICAgICAgICAgeGVuZCA9IDIwMTEsCiAgICAgICAgICAgeSA9IDMzMDAwLCAKICAgICAgICAgICB5ZW5kID0gOTUwMCwKICAgICAgICAgICBhcnJvdyA9IGFycm93KGFuZ2xlID0gMjAsIGxlbmd0aCA9IHVuaXQoMC4yMiwgImNtIikpLCBzaXplID0gMC40LCBjb2xvciA9ICJncmV5MjAiKSArIAogIGFubm90YXRlKCJ0ZXh0IiwgeCA9IDIwMTEsIHkgPSAzNTIwMCwgbGFiZWwgPSAiU3lyaWFuIGNpdmlsXG53YXIgYmVnaW4iLCBmYW1pbHkgPSBteV9mb250LCBzaXplID0gNC41LCBjb2xvciA9ICJncmV5MjAiKSArIAogIHRoZW1lKHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoZmFtaWx5ID0gbXlfZm9udCwgc2l6ZSA9IDI2LCBjb2xvciA9ICJncmV5MjAiKSkgKyAKICB0aGVtZShwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KGZhbWlseSA9IG15X2ZvbnQsIHNpemUgPSAxOCwgY29sb3IgPSAiZ3JleTMwIikpICsgIAogIHRoZW1lKHBsb3QuY2FwdGlvbiA9IGVsZW1lbnRfdGV4dChmYW1pbHkgPSBteV9mb250LCBzaXplID0gMTIsIGNvbG9yID0gImdyZXkzMCIsIGZhY2UgPSAiaXRhbGljIikpICsKICB0aGVtZShheGlzLnRleHQgPSBlbGVtZW50X3RleHQoY29sb3IgPSAiZ3JleTMwIiwgc2l6ZSA9IDEzLCBmYW1pbHkgPSBteV9mb250KSkKYGBgCgo=