library(tidyverse)
── Attaching core tidyverse packages ───────────────────────────────────────────────────────────────────────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.1
✔ ggplot2 3.5.1 ✔ tibble 3.2.1
✔ lubridate 1.9.3 ✔ tidyr 1.3.1
✔ purrr 1.0.2
── Conflicts ─────────────────────────────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(eccor)
library(estcr)
ecco_core <- load_ecco_core()
estc_core <- load_estc_core()
estc_actor_links <- load_estc_actor_links()
estc_actors <- load_estc_actors()
works <- ecco_core %>%
left_join(estc_core, join_by(estc_id)) %>%
replace_na(list(work_id="unknown work", publication_place="unknown place of publication")) %>%
group_by(work_id) %>%
summarise(
earliest_publication_year=min(publication_year),
ecco_parts=str_flatten(sort(unique(ecco_part)), collapse = "|"),
ecco_languages=str_flatten(sort(unique(ecco_language)), collapse = "|"),
has_prices=all(!is.na(total_price)),
places_of_publication=str_flatten(sort(unique(publication_place)), collapse = "|"),
ecco_modules=str_flatten(sort(unique(ecco_module)), collapse = "|"), .groups="drop") %>%
mutate(earliest_publication_decade=floor(earliest_publication_year/10)*10) %>%
select(work_id, earliest_publication_decade, ecco_parts, ecco_modules, ecco_languages, places_of_publication, has_prices)
ecco_ids_to_works <- ecco_core %>%
left_join(estc_core, join_by(estc_id)) %>%
replace_na(list(work_id="unknown work")) %>%
select(ecco_id, work_id)
ecco_test <- works %>%
group_by(ecco_parts, ecco_modules, earliest_publication_decade, ecco_languages, places_of_publication, has_prices) %>%
slice_sample(prop=0.1) %>% # select at most 10% of the works
slice_sample(n=5) %>% # filter down to max 5 per group
group_by(ecco_modules, ecco_languages) %>%
slice_sample(n=1000) %>%
group_by(places_of_publication, ecco_languages) %>%
slice_sample(n=1000) %>%
group_by(has_prices, ecco_languages) %>%
slice_sample(n=1000) %>%
ungroup() %>%
slice_sample(n=1000) %>% # iteratively pare down further
inner_join(ecco_ids_to_works) %>%
select(ecco_id, work_id)
Joining with `by = join_by(work_id)`
ecco_val <- works %>%
anti_join(ecco_test) %>%
group_by(ecco_parts, ecco_modules, earliest_publication_decade, ecco_languages, places_of_publication, has_prices) %>%
slice_sample(prop=0.1) %>% # select at most 10% of the works
slice_sample(n=5) %>% # filter down to max 5 per group
group_by(ecco_modules, ecco_languages) %>%
slice_sample(n=1000) %>%
group_by(places_of_publication, ecco_languages) %>%
slice_sample(n=1000) %>%
group_by(has_prices, ecco_languages) %>%
slice_sample(n=1000) %>%
ungroup() %>%
slice_sample(n=1000) %>% # iteratively pare down further
inner_join(ecco_ids_to_works) %>%
select(ecco_id, work_id)
Joining with `by = join_by(work_id)`
Joining with `by = join_by(work_id)`
ecco_train <- works %>%
anti_join(ecco_test) %>%
anti_join(ecco_val) %>%
inner_join(ecco_ids_to_works) %>%
select(ecco_id, work_id)
Joining with `by = join_by(work_id)`
Joining with `by = join_by(work_id)`
Joining with `by = join_by(work_id)`
library(here)
here() starts at /Users/jiemakel/tyo/r-scratch
ecco_test <- read_tsv(here("data/output/ecco_test_split_by_part_module_language_price_publication_place_and_decade.tsv"))
Rows: 1398 Columns: 2
── Column specification ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: "\t"
chr (2): ecco_id, work_id
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
ecco_val <- read_tsv(here("data/output/ecco_val_split_by_part_module_language_price_publication_place_and_decade.tsv"))
Rows: 1456 Columns: 2
── Column specification ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: "\t"
chr (2): ecco_id, work_id
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
ecco_train <- read_tsv(here("data/output/ecco_train_split_by_part_module_language_price_publication_place_and_decade.tsv"))
Rows: 204759 Columns: 2
── Column specification ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Delimiter: "\t"
chr (2): ecco_id, work_id
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
targets <- ecco_core %>%
left_join(estc_core, join_by(estc_id)) %>%
left_join(estc_core %>%
group_by(work_id) %>%
filter(publication_year==min(publication_year)) %>%
summarise(earliest_publication_year=min(publication_year), earliest_publication_year_definite = !any(uncertain | circa | range))
, join_by(work_id)
) %>%
transmute(ecco_id, ecco_part, ecco_module, publication_year, publication_year_definite = !(is.na(publication_year) | uncertain | circa | range), earliest_publication_year, earliest_publication_year_definite, primary_language, total_price, publication_place, publication_country, publication_place_deduced=org_260_a_square_brackets, pages=ecco_pages, estc_id)
ecco_test <- ecco_test %>% left_join(targets, join_by(ecco_id))
ecco_val <- ecco_val %>% left_join(targets, join_by(ecco_id))
ecco_train <- ecco_train %>% left_join(targets, join_by(ecco_id))
split <- ecco_test %>%
mutate(set="test") %>%
union_all(
ecco_val %>%
mutate(set="val")
) %>%
union_all(
ecco_train %>%
mutate(set="train")
)
to_move_publication_year <- split %>%
filter(set=="train") %>%
group_by(publication_year_definite, publication_year) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
anti_join(split %>%
filter(set!="train") %>%
group_by(publication_year_definite, publication_year) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
filter(works>=5), join_by(publication_year_definite, publication_year)) %>%
filter(works>=10) %>%
inner_join(split %>%
filter(set=="train")) %>%
distinct(publication_year_definite, publication_year, work_id) %>%
group_by(publication_year_definite, publication_year) %>%
slice_sample(n=5)
Joining with `by = join_by(publication_year_definite, publication_year)`
to_move_publication_year_val <- to_move_publication_year %>%
slice_sample(n=2) %>%
mutate(new_set="val")
to_move_publication_year <- to_move_publication_year %>%
anti_join(to_move_publication_year_val) %>%
mutate(new_set="test") %>%
union_all(to_move_publication_year_val) %>%
ungroup() %>%
select(work_id, new_set)
Joining with `by = join_by(publication_year_definite, publication_year, work_id)`
to_move_earliest_publication_year <- split %>%
filter(set=="train") %>%
group_by(earliest_publication_year_definite, earliest_publication_year) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
anti_join(split %>%
filter(set!="train") %>%
group_by(earliest_publication_year_definite, earliest_publication_year) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
filter(works>=5), join_by(earliest_publication_year_definite, earliest_publication_year)) %>%
filter(works>=10) %>%
inner_join(split %>%
filter(set=="train")) %>%
distinct(earliest_publication_year_definite, earliest_publication_year, work_id) %>%
group_by(earliest_publication_year_definite, earliest_publication_year) %>%
slice_sample(n=5)
Joining with `by = join_by(earliest_publication_year_definite, earliest_publication_year)`
to_move_earliest_publication_year_val <- to_move_earliest_publication_year %>%
slice_sample(n=2) %>%
mutate(new_set="val")
to_move_earliest_publication_year <- to_move_earliest_publication_year %>%
anti_join(to_move_earliest_publication_year_val) %>%
mutate(new_set="test") %>%
union_all(to_move_earliest_publication_year_val) %>%
ungroup() %>%
select(work_id, new_set)
Joining with `by = join_by(earliest_publication_year_definite, earliest_publication_year, work_id)`
to_move_primary_language <- split %>%
filter(set=="train") %>%
group_by(primary_language) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
anti_join(split %>%
filter(set!="train") %>%
group_by(primary_language) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
filter(works>=5), join_by(primary_language)) %>%
filter(works>=10) %>%
inner_join(split %>%
filter(set=="train")) %>%
distinct(primary_language, work_id) %>%
group_by(primary_language) %>%
slice_sample(n=5)
Joining with `by = join_by(primary_language)`
to_move_primary_language_val <- to_move_primary_language %>%
slice_sample(n=2) %>%
mutate(new_set="val")
to_move_primary_language <- to_move_primary_language %>%
anti_join(to_move_primary_language_val) %>%
mutate(new_set="test") %>%
union_all(to_move_primary_language_val) %>%
ungroup() %>%
select(work_id, new_set)
Joining with `by = join_by(primary_language, work_id)`
to_move_publication_place <- split %>%
filter(set=="train") %>%
group_by(publication_place_deduced, publication_place) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
anti_join(split %>%
filter(set!="train") %>%
group_by(publication_place_deduced, publication_place) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
filter(works>=5), join_by(publication_place_deduced, publication_place)) %>%
filter(works>=10) %>%
inner_join(split %>%
filter(set=="train")) %>%
distinct(publication_place_deduced, publication_place, work_id) %>%
group_by(publication_place_deduced, publication_place) %>%
slice_sample(n=5) %>%
ungroup() %>%
select(work_id)
Joining with `by = join_by(publication_place_deduced, publication_place)`
to_move_publication_place_val <- to_move_publication_place %>%
slice_sample(n=2) %>%
mutate(new_set="val")
to_move_publication_place <- to_move_publication_place %>%
anti_join(to_move_publication_place_val) %>%
mutate(new_set="test") %>%
union_all(to_move_publication_place_val) %>%
ungroup() %>%
select(work_id, new_set)
Joining with `by = join_by(work_id)`
d <- split %>%
left_join(estc_actor_links) %>%
select(set, work_id, actor_id, actor_roles_all) %>%
separate_rows(actor_roles_all, sep="; ") %>%
distinct()
Joining with `by = join_by(estc_id)`
Warning in left_join(., estc_actor_links) :
Detected an unexpected many-to-many relationship between `x` and `y`.
ℹ Row 2 of `x` matches multiple rows in `y`.
ℹ Row 399569 of `y` matches multiple rows in `x`.
ℹ If a many-to-many relationship is expected, set `relationship = "many-to-many"` to silence this warning.
to_move_actor <- d %>%
filter(set=="train") %>%
group_by(actor_id,actor_roles_all) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
anti_join(d %>%
filter(set!="train") %>%
group_by(actor_roles_all, actor_id) %>%
summarise(works=n_distinct(work_id), .groups="drop") %>%
filter(works>=5), join_by(actor_id)) %>%
filter(works>=50) %>%
inner_join(d %>%
filter(set=="train")) %>%
distinct(actor_id, work_id) %>%
group_by(actor_id) %>%
slice_sample(n=7)
Joining with `by = join_by(actor_id, actor_roles_all)`
to_move_actor_val <- to_move_actor %>%
slice_sample(n=2) %>%
mutate(new_set="val")
to_move_actor <- to_move_actor %>%
anti_join(to_move_actor_val) %>%
mutate(new_set="test") %>%
union_all(to_move_actor_val) %>%
ungroup() %>%
select(work_id, new_set)
Joining with `by = join_by(actor_id, work_id)`
to_move <- to_move_earliest_publication_year %>%
union(to_move_publication_year) %>%
union(to_move_primary_language) %>%
union(to_move_publication_place) %>%
union(to_move_actor) %>%
group_by(work_id) %>%
summarise(new_set=if_else(any(new_set=="test"),"test", "val"))
split <- split %>%
left_join(to_move, join_by(work_id)) %>%
mutate(set=coalesce(new_set,set)) %>%
select(-new_set)
ssplit <- split
while (TRUE) {
bad_test <- split %>%
filter(set!="train", publication_year<1700 | publication_year>1800 | earliest_publication_year>1800) %>%
union(split %>%
filter(set!="train") %>%
anti_join(split %>% filter(set=="train"), join_by(publication_place))
) %>%
union(split %>%
filter(set!="train") %>%
anti_join(split %>% filter(set=="train"), join_by(publication_country))
) %>%
union(split %>%
filter(set!="train") %>%
anti_join(split %>% filter(set=="train"), join_by(primary_language))
) %>%
union(split %>%
filter(set!="train") %>%
anti_join(split %>% filter(set=="train"), join_by(publication_country))
) %>%
distinct(work_id) %>%
mutate(new_set="train")
old_split <- split
split <- split %>%
left_join(bad_test, join_by(work_id)) %>%
mutate(set=coalesce(new_set,set)) %>%
select(-new_set)
if (all(old_split$set==split$set)) break
}
major_primary_language <- split %>%
filter(set=="test") %>%
group_by(primary_language) %>%
summarise(works=n_distinct(work_id), documents=n(), pages=sum(pages)) %>%
transmute(primary_language,major_primary_language=if_else(is.na(primary_language) | works>=10,primary_language, "Other"))
split <- split %>%
left_join(major_primary_language)
Joining with `by = join_by(primary_language)`
major_publication_place <- split %>%
filter(set=="test") %>%
group_by(publication_place) %>%
summarise(works=n_distinct(work_id), documents=n(), pages=sum(pages)) %>%
transmute(publication_place,major_publication_place=if_else(is.na(publication_place) | works>=20,publication_place, "Other"))
split <- split %>%
left_join(major_publication_place)
Joining with `by = join_by(publication_place)`
major_publication_country <- split %>%
filter(set=="test") %>%
group_by(publication_country) %>%
summarise(works=n_distinct(work_id), documents=n(), pages=sum(pages)) %>%
transmute(publication_country,major_publication_country=if_else(is.na(publication_country) | works>=10,publication_country, "Other"))
split <- split %>%
left_join(major_publication_country)
Joining with `by = join_by(publication_country)`
actor_split <- split %>%
inner_join(estc_actor_links) %>%
select(set, work_id, actor_id, actor_roles_all) %>%
separate_rows(actor_roles_all, sep="; ") %>%
mutate(actor_roles_all=if_else(actor_roles_all=="printer","publisher",actor_roles_all)) %>%
distinct()
Joining with `by = join_by(estc_id)`
Warning in inner_join(., estc_actor_links) :
Detected an unexpected many-to-many relationship between `x` and `y`.
ℹ Row 2 of `x` matches multiple rows in `y`.
ℹ Row 399569 of `y` matches multiple rows in `x`.
ℹ If a many-to-many relationship is expected, set `relationship = "many-to-many"` to silence this warning.
bad_test_actors <- actor_split %>%
filter(set!="train") %>%
anti_join(d %>% filter(set=="train"), join_by(actor_id, actor_roles_all)) %>%
distinct(actor_roles_all, actor_id)
actor_split <- actor_split %>%
anti_join(bad_test_actors)
Joining with `by = join_by(actor_id, actor_roles_all)`
major_actor <- actor_split %>%
filter(set=="test") %>%
group_by(actor_id, actor_roles_all) %>%
summarise(works=n(), .groups="drop") %>%
transmute(actor_id, actor_roles_all, major_actor_id=if_else(is.na(actor_id) | works>=50,actor_id, "Other"))
major_actor_split <- actor_split %>%
inner_join(major_actor %>% filter(major_actor_id!="Other")) %>%
select(-actor_id)
Joining with `by = join_by(actor_id, actor_roles_all)`
actor_split <- actor_split %>%
inner_join(split %>%
select(ecco_id, work_id, pages)) %>%
inner_join(estc_actors %>%
select(actor_id, name_unified)) %>%
rename(actor_role=actor_roles_all)
Joining with `by = join_by(work_id)`
Warning in inner_join(., split %>% select(ecco_id, work_id, pages)) :
Detected an unexpected many-to-many relationship between `x` and `y`.
ℹ Row 1 of `x` matches multiple rows in `y`.
ℹ Row 2 of `y` matches multiple rows in `x`.
ℹ If a many-to-many relationship is expected, set `relationship = "many-to-many"` to silence this warning.
Joining with `by = join_by(actor_id)`
major_actor_split <- major_actor_split %>%
inner_join(split %>%
select(ecco_id, work_id, pages)) %>%
inner_join(estc_actors %>%
select(major_actor_id=actor_id, name_unified)) %>%
rename(actor_role=actor_roles_all)
Joining with `by = join_by(work_id)`
Warning in inner_join(., split %>% select(ecco_id, work_id, pages)) :
Detected an unexpected many-to-many relationship between `x` and `y`.
ℹ Row 1 of `x` matches multiple rows in `y`.
ℹ Row 8 of `y` matches multiple rows in `x`.
ℹ If a many-to-many relationship is expected, set `relationship = "many-to-many"` to silence this warning.
Joining with `by = join_by(major_actor_id)`
split %>%
write_tsv(here("data/output/ecco-multi-target-split.tsv"),quote="needed",na="")
actor_split %>%
write_tsv(here("data/output/ecco-multi-target-actor-split.tsv"),quote="needed",na="")
major_actor_split %>%
write_tsv(here("data/output/ecco-multi-target-major-actor-split.tsv"),quote="needed",na="")
Overall
library(gt)
Registered S3 methods overwritten by 'htmltools':
method from
print.html tools:rstudio
print.shiny.tag tools:rstudio
print.shiny.tag.list tools:rstudio
split %>%
group_by(set) %>%
summarise(pages=sum(pages),documents=n(),works=n_distinct(work_id), .groups="drop") %>%
pivot_longer(pages:works) %>%
pivot_wider(names_from=set,values_from=value) %>%
mutate(name=fct_relevel(name,"works","documents","pages")) %>%
arrange(name) %>%
gt(rowname_col = "name") %>%
tab_header(title = "Overall") %>%
fmt_integer(columns=c(test,val,train))
| Overall |
|
test |
train |
val |
| works |
5,970 |
107,740 |
2,530 |
| documents |
26,808 |
173,739 |
7,066 |
| pages |
6,587,400 |
24,788,273 |
1,537,513 |
split %>%
pivot_longer(c(ecco_part,ecco_module,primary_language,major_primary_language,publication_country,major_publication_country,publication_place,major_publication_place)) %>%
select(name,set,value) %>%
union_all(
major_actor_split %>%
transmute(name="major_actor_id",set,value=major_actor_id)
) %>%
union_all(
actor_split %>%
transmute(name="actor_id",set,value=actor_id)
) %>%
distinct(name,set,value) %>%
count(set,name) %>%
pivot_wider(names_from=set,values_from=n) %>%
gt(rowname_col = "name") %>%
tab_header(title = "Number of targets by task") %>%
fmt_integer(columns=c(test,val,train))
| Number of targets by task |
|
test |
train |
val |
| actor_id |
10,698 |
60,856 |
4,452 |
| ecco_module |
8 |
8 |
8 |
| ecco_part |
2 |
2 |
2 |
| major_actor_id |
108 |
108 |
108 |
| major_primary_language |
9 |
9 |
9 |
| major_publication_country |
14 |
14 |
14 |
| major_publication_place |
40 |
40 |
40 |
| primary_language |
13 |
19 |
12 |
| publication_country |
19 |
38 |
15 |
| publication_place |
264 |
649 |
104 |
NA
- regression tasks:
earliest_publication_year,
publication_year, total_price
Single label targets
print_split <- function(split, group_var, group_var_name, major=FALSE, order_by_frequency=TRUE) {
group_var = enquo(group_var)
d <- split %>%
group_by(set, !!group_var) %>%
summarise(pages=sum(pages),documents=n(),works=n_distinct(work_id), .groups="drop") %>%
pivot_longer(pages:works) %>%
pivot_wider(names_from=set,values_from=value) %>%
mutate(name=fct_relevel(name,"works","documents","pages"))
d <- if (order_by_frequency) d %>% mutate(group_var=fct_reorder(!!group_var, train, .desc=TRUE)) else d %>% mutate(group_var=!!group_var)
d %>%
select(-!!group_var) %>%
arrange(name,group_var) %>%
gt(groupname_col = "name", rowname_col="group_var") %>%
tab_header(title = str_c("By ",group_var_name), subtitle=str_c("(", if (major) "major only, " else "", split %>% filter(set=="test") %>% distinct(!!group_var) %>% count() %>% pull(), " targets)")) %>%
fmt_integer(columns=c(test,val,train))
}
ECCO part
split %>%
print_split(ecco_part, "ECCO part")
| By ECCO part |
| (2 targets) |
|
test |
train |
val |
| works |
| ecco1 |
4,706 |
82,027 |
1,924 |
| ecco2 |
2,468 |
33,930 |
1,010 |
| documents |
| ecco1 |
19,950 |
129,702 |
5,272 |
| ecco2 |
6,858 |
44,037 |
1,794 |
| pages |
| ecco1 |
5,058,897 |
19,754,735 |
1,204,951 |
| ecco2 |
1,528,503 |
5,033,538 |
332,562 |
ECCO module
split %>%
print_split(ecco_module, "ECCO module")
| By ECCO module |
| (8 targets) |
|
test |
train |
val |
| works |
| Religion and Philosophy |
1,968 |
29,403 |
771 |
| Literature and Language |
1,628 |
23,271 |
618 |
| Social Sciences |
1,517 |
29,885 |
641 |
| History and Geography |
565 |
8,001 |
244 |
| Medicine, Science and Technology |
468 |
8,916 |
217 |
| Law |
350 |
9,303 |
155 |
| General Reference |
236 |
3,203 |
79 |
| Fine Arts |
276 |
2,511 |
103 |
| documents |
| Religion and Philosophy |
6,309 |
44,113 |
1,754 |
| Literature and Language |
10,799 |
40,909 |
2,271 |
| Social Sciences |
3,067 |
39,485 |
1,061 |
| History and Geography |
2,629 |
15,031 |
663 |
| Medicine, Science and Technology |
1,487 |
13,713 |
464 |
| Law |
1,237 |
11,978 |
395 |
| General Reference |
489 |
4,532 |
201 |
| Fine Arts |
791 |
3,978 |
257 |
| pages |
| Religion and Philosophy |
1,444,519 |
6,313,356 |
365,012 |
| Literature and Language |
2,627,666 |
6,242,597 |
458,667 |
| Social Sciences |
492,522 |
3,296,537 |
141,209 |
| History and Geography |
970,297 |
4,095,770 |
231,541 |
| Medicine, Science and Technology |
427,364 |
2,626,252 |
125,229 |
| Law |
420,675 |
1,143,333 |
130,524 |
| General Reference |
128,449 |
713,606 |
61,683 |
| Fine Arts |
75,908 |
356,822 |
23,648 |
Primary language
split %>%
print_split(major_primary_language, "primary language", TRUE)
| By primary language |
| (major only, 9 targets) |
|
test |
train |
val |
| works |
| English |
5,641 |
102,414 |
2,367 |
| French |
198 |
2,457 |
86 |
| Latin |
210 |
2,812 |
94 |
| Welsh |
57 |
368 |
8 |
| Italian |
31 |
214 |
6 |
| German |
27 |
184 |
4 |
| Other |
20 |
76 |
10 |
| Multiple languages |
14 |
54 |
4 |
| NA |
3 |
22 |
2 |
| documents |
| English |
24,965 |
163,512 |
6,694 |
| French |
718 |
4,722 |
158 |
| Latin |
845 |
4,097 |
172 |
| Welsh |
82 |
460 |
10 |
| Italian |
95 |
392 |
11 |
| German |
35 |
251 |
4 |
| Other |
37 |
100 |
11 |
| Multiple languages |
28 |
69 |
4 |
| NA |
3 |
136 |
2 |
| pages |
| English |
6,028,016 |
22,498,845 |
1,449,460 |
| French |
223,017 |
1,205,902 |
31,991 |
| Latin |
260,398 |
789,051 |
47,719 |
| Welsh |
16,528 |
60,333 |
1,464 |
| Italian |
30,953 |
109,408 |
3,494 |
| German |
11,120 |
52,124 |
814 |
| Other |
9,752 |
31,309 |
1,608 |
| Multiple languages |
7,501 |
14,946 |
907 |
| NA |
115 |
26,355 |
56 |
split %>%
print_split(primary_language, "primary language")
| By primary language |
| (13 targets) |
|
test |
train |
val |
| works |
| English |
5,641 |
102,414 |
2,367 |
| French |
198 |
2,457 |
86 |
| Latin |
210 |
2,812 |
94 |
| Welsh |
57 |
368 |
8 |
| Italian |
31 |
214 |
6 |
| German |
27 |
184 |
4 |
| Multiple languages |
14 |
54 |
4 |
| Spanish |
5 |
30 |
3 |
| Portuguese |
2 |
22 |
2 |
| Scottish Gaelic |
9 |
13 |
3 |
| Dutch |
3 |
9 |
2 |
| Manx |
1 |
6 |
NA |
| Irish |
NA |
6 |
NA |
| Danish |
NA |
3 |
NA |
| Swedish |
NA |
3 |
NA |
| Algonquian (Other) |
NA |
1 |
NA |
| Mohawk |
NA |
1 |
NA |
| Romance (Other) |
NA |
1 |
NA |
| NA |
3 |
7 |
2 |
| documents |
| English |
24,965 |
163,512 |
6,694 |
| French |
718 |
4,722 |
158 |
| Latin |
845 |
4,097 |
172 |
| Welsh |
82 |
460 |
10 |
| Italian |
95 |
392 |
11 |
| German |
35 |
251 |
4 |
| Multiple languages |
28 |
69 |
4 |
| Spanish |
10 |
35 |
3 |
| Portuguese |
2 |
23 |
2 |
| Scottish Gaelic |
21 |
17 |
4 |
| Dutch |
3 |
16 |
2 |
| Manx |
1 |
9 |
NA |
| Irish |
NA |
7 |
NA |
| Danish |
NA |
4 |
NA |
| Swedish |
NA |
3 |
NA |
| Algonquian (Other) |
NA |
1 |
NA |
| Mohawk |
NA |
1 |
NA |
| Romance (Other) |
NA |
1 |
NA |
| NA |
3 |
119 |
2 |
| pages |
| English |
6,028,016 |
22,498,845 |
1,449,460 |
| French |
223,017 |
1,205,902 |
31,991 |
| Latin |
260,398 |
789,051 |
47,719 |
| Welsh |
16,528 |
60,333 |
1,464 |
| Italian |
30,953 |
109,408 |
3,494 |
| German |
11,120 |
52,124 |
814 |
| Multiple languages |
7,501 |
14,946 |
907 |
| Spanish |
2,831 |
11,091 |
123 |
| Portuguese |
396 |
5,091 |
144 |
| Scottish Gaelic |
5,683 |
5,104 |
741 |
| Dutch |
759 |
6,962 |
600 |
| Manx |
83 |
3,061 |
NA |
| Irish |
NA |
1,149 |
NA |
| Danish |
NA |
1,848 |
NA |
| Swedish |
NA |
915 |
NA |
| Algonquian (Other) |
NA |
97 |
NA |
| Mohawk |
NA |
206 |
NA |
| Romance (Other) |
NA |
162 |
NA |
| NA |
115 |
21,978 |
56 |
Publication country
split %>%
print_split(major_publication_country, "publication country", TRUE)
| By publication country |
| (major only, 14 targets) |
|
test |
train |
val |
| works |
| England |
4,489 |
81,370 |
1,871 |
| Scotland |
807 |
12,073 |
335 |
| Ireland |
1,076 |
10,714 |
431 |
| USA |
797 |
6,997 |
226 |
| France |
96 |
1,047 |
34 |
| Netherlands |
76 |
325 |
15 |
| Germany |
48 |
176 |
9 |
| Wales |
50 |
271 |
7 |
| Switzerland |
26 |
87 |
1 |
| Italy |
18 |
88 |
1 |
| India |
11 |
123 |
2 |
| Other |
30 |
96 |
2 |
| Belgium |
10 |
43 |
1 |
| NA |
145 |
1,071 |
39 |
| documents |
| England |
18,541 |
128,352 |
5,007 |
| Scotland |
2,790 |
15,912 |
653 |
| Ireland |
3,140 |
15,448 |
910 |
| USA |
1,277 |
8,259 |
305 |
| France |
283 |
2,122 |
69 |
| Netherlands |
171 |
593 |
19 |
| Germany |
78 |
339 |
15 |
| Wales |
64 |
302 |
8 |
| Switzerland |
118 |
174 |
1 |
| Italy |
40 |
154 |
4 |
| India |
14 |
149 |
2 |
| Other |
48 |
129 |
6 |
| Belgium |
12 |
78 |
1 |
| NA |
232 |
1,728 |
66 |
| pages |
| England |
4,745,063 |
18,668,142 |
1,126,815 |
| Scotland |
673,838 |
1,937,308 |
145,205 |
| Ireland |
708,237 |
2,030,397 |
189,521 |
| USA |
167,405 |
735,190 |
29,935 |
| France |
89,436 |
577,826 |
16,538 |
| Netherlands |
48,799 |
164,539 |
4,013 |
| Germany |
25,858 |
121,346 |
2,542 |
| Wales |
10,055 |
25,057 |
810 |
| Switzerland |
43,643 |
55,515 |
454 |
| Italy |
13,783 |
43,683 |
1,455 |
| India |
2,506 |
27,788 |
265 |
| Other |
10,800 |
25,183 |
1,651 |
| Belgium |
2,163 |
15,540 |
8 |
| NA |
45,814 |
360,759 |
18,301 |
split %>%
print_split(publication_country, "publication country")
| By publication country |
| (19 targets) |
|
test |
train |
val |
| works |
| England |
4,489 |
81,370 |
1,871 |
| Scotland |
807 |
12,073 |
335 |
| Ireland |
1,076 |
10,714 |
431 |
| USA |
797 |
6,997 |
226 |
| France |
96 |
1,047 |
34 |
| Netherlands |
76 |
325 |
15 |
| Germany |
48 |
176 |
9 |
| Wales |
50 |
271 |
7 |
| Switzerland |
26 |
87 |
1 |
| Italy |
18 |
88 |
1 |
| India |
11 |
123 |
2 |
| Belgium |
10 |
43 |
1 |
| Jamaica |
9 |
32 |
1 |
| Austria |
8 |
12 |
1 |
| Canada |
8 |
27 |
NA |
| Sweden |
2 |
12 |
NA |
| Denmark |
6 |
11 |
NA |
| Saint Kitts and Nevis |
NA |
11 |
NA |
| Guernsey |
NA |
11 |
NA |
| Isle of Man |
NA |
8 |
NA |
| Barbados |
NA |
10 |
NA |
| Antigua |
NA |
8 |
NA |
| Haiti |
NA |
8 |
NA |
| Channel Islands |
NA |
8 |
NA |
| Malta |
NA |
7 |
NA |
| Portugal |
NA |
7 |
NA |
| Spain |
NA |
4 |
NA |
| Russia |
NA |
5 |
NA |
| Dominica |
NA |
3 |
NA |
| Grenada |
1 |
3 |
NA |
| Poland |
NA |
2 |
NA |
| South Africa |
NA |
2 |
NA |
| Bahamas |
NA |
1 |
NA |
| Hungary |
NA |
1 |
NA |
| Netherlands Antilles |
NA |
1 |
NA |
| Northern Ireland |
NA |
1 |
NA |
| Saint-Domingue |
NA |
1 |
NA |
| NA |
145 |
974 |
39 |
| documents |
| England |
18,541 |
128,352 |
5,007 |
| Scotland |
2,790 |
15,912 |
653 |
| Ireland |
3,140 |
15,448 |
910 |
| USA |
1,277 |
8,259 |
305 |
| France |
283 |
2,122 |
69 |
| Netherlands |
171 |
593 |
19 |
| Germany |
78 |
339 |
15 |
| Wales |
64 |
302 |
8 |
| Switzerland |
118 |
174 |
1 |
| Italy |
40 |
154 |
4 |
| India |
14 |
149 |
2 |
| Belgium |
12 |
78 |
1 |
| Jamaica |
13 |
38 |
4 |
| Austria |
13 |
31 |
2 |
| Canada |
11 |
28 |
NA |
| Sweden |
2 |
16 |
NA |
| Denmark |
8 |
13 |
NA |
| Saint Kitts and Nevis |
NA |
12 |
NA |
| Guernsey |
NA |
11 |
NA |
| Isle of Man |
NA |
11 |
NA |
| Barbados |
NA |
10 |
NA |
| Antigua |
NA |
9 |
NA |
| Haiti |
NA |
9 |
NA |
| Channel Islands |
NA |
8 |
NA |
| Malta |
NA |
8 |
NA |
| Portugal |
NA |
7 |
NA |
| Spain |
NA |
7 |
NA |
| Russia |
NA |
5 |
NA |
| Dominica |
NA |
3 |
NA |
| Grenada |
1 |
3 |
NA |
| Poland |
NA |
3 |
NA |
| South Africa |
NA |
2 |
NA |
| Bahamas |
NA |
1 |
NA |
| Hungary |
NA |
1 |
NA |
| Netherlands Antilles |
NA |
1 |
NA |
| Northern Ireland |
NA |
1 |
NA |
| Saint-Domingue |
NA |
1 |
NA |
| NA |
232 |
1,618 |
66 |
| pages |
| England |
4,745,063 |
18,668,142 |
1,126,815 |
| Scotland |
673,838 |
1,937,308 |
145,205 |
| Ireland |
708,237 |
2,030,397 |
189,521 |
| USA |
167,405 |
735,190 |
29,935 |
| France |
89,436 |
577,826 |
16,538 |
| Netherlands |
48,799 |
164,539 |
4,013 |
| Germany |
25,858 |
121,346 |
2,542 |
| Wales |
10,055 |
25,057 |
810 |
| Switzerland |
43,643 |
55,515 |
454 |
| Italy |
13,783 |
43,683 |
1,455 |
| India |
2,506 |
27,788 |
265 |
| Belgium |
2,163 |
15,540 |
8 |
| Jamaica |
2,627 |
4,453 |
1,468 |
| Austria |
4,937 |
8,508 |
183 |
| Canada |
1,146 |
3,264 |
NA |
| Sweden |
234 |
5,110 |
NA |
| Denmark |
1,852 |
3,644 |
NA |
| Saint Kitts and Nevis |
NA |
676 |
NA |
| Guernsey |
NA |
1,637 |
NA |
| Isle of Man |
NA |
916 |
NA |
| Barbados |
NA |
478 |
NA |
| Antigua |
NA |
372 |
NA |
| Haiti |
NA |
81 |
NA |
| Channel Islands |
NA |
1,792 |
NA |
| Malta |
NA |
2,428 |
NA |
| Portugal |
NA |
1,687 |
NA |
| Spain |
NA |
4,552 |
NA |
| Russia |
NA |
1,292 |
NA |
| Dominica |
NA |
31 |
NA |
| Grenada |
4 |
204 |
NA |
| Poland |
NA |
1,238 |
NA |
| South Africa |
NA |
2 |
NA |
| Bahamas |
NA |
110 |
NA |
| Hungary |
NA |
240 |
NA |
| Netherlands Antilles |
NA |
164 |
NA |
| Northern Ireland |
NA |
46 |
NA |
| Saint-Domingue |
NA |
83 |
NA |
| NA |
45,814 |
342,934 |
18,301 |
Publication place
split %>%
print_split(major_publication_place, "publication place", TRUE)
| By publication place |
| (major only, 40 targets) |
|
test |
train |
val |
| works |
| London |
3,518 |
70,105 |
1,656 |
| Dublin |
993 |
9,885 |
424 |
| Edinburgh |
583 |
10,234 |
268 |
| Other |
1,278 |
6,108 |
79 |
| Boston Ma |
276 |
3,041 |
118 |
| Oxford |
125 |
1,492 |
48 |
| Glasgow |
270 |
1,509 |
79 |
| Philadelphia Pa |
189 |
1,621 |
63 |
| Paris |
83 |
858 |
28 |
| Cambridge |
107 |
1,099 |
52 |
| Newcastle |
67 |
960 |
28 |
| Bristol |
69 |
761 |
28 |
| York |
64 |
600 |
22 |
| Bath |
32 |
534 |
9 |
| New York Ny |
69 |
597 |
24 |
| Birmingham |
51 |
512 |
9 |
| Salisbury |
27 |
412 |
4 |
| Norwich |
25 |
385 |
4 |
| Manchester |
57 |
388 |
16 |
| Cork |
46 |
344 |
10 |
| Belfast |
63 |
297 |
11 |
| Leeds |
24 |
278 |
10 |
| Shrewsbury |
30 |
244 |
8 |
| Aberdeen |
41 |
238 |
10 |
| Liverpool |
21 |
212 |
3 |
| New London Ct |
22 |
172 |
8 |
| Northampton |
26 |
199 |
4 |
| Hartford Ct |
38 |
176 |
9 |
| Chester |
23 |
184 |
1 |
| Perth |
43 |
98 |
5 |
| Gloucester |
26 |
134 |
3 |
| Berwick-upon-Tweed |
39 |
106 |
10 |
| New Haven Ct |
22 |
137 |
6 |
| Coventry |
23 |
137 |
2 |
| Providence Ri |
31 |
127 |
5 |
| The Hague |
42 |
63 |
4 |
| Newburyport Ma |
22 |
105 |
3 |
| Paisley |
20 |
78 |
3 |
| Falkirk |
27 |
79 |
2 |
| NA |
187 |
2,658 |
64 |
| documents |
| London |
16,294 |
111,914 |
4,562 |
| Dublin |
2,910 |
14,286 |
879 |
| Edinburgh |
1,746 |
12,887 |
489 |
| Other |
1,853 |
7,552 |
111 |
| Boston Ma |
396 |
3,387 |
153 |
| Oxford |
279 |
2,238 |
114 |
| Glasgow |
747 |
2,080 |
127 |
| Philadelphia Pa |
283 |
1,966 |
78 |
| Paris |
224 |
1,730 |
45 |
| Cambridge |
187 |
1,507 |
73 |
| Newcastle |
93 |
1,144 |
30 |
| Bristol |
153 |
1,008 |
39 |
| York |
106 |
751 |
30 |
| Bath |
48 |
748 |
13 |
| New York Ny |
104 |
696 |
28 |
| Birmingham |
86 |
641 |
12 |
| Salisbury |
41 |
461 |
5 |
| Norwich |
27 |
453 |
4 |
| Manchester |
68 |
448 |
16 |
| Cork |
57 |
383 |
10 |
| Belfast |
89 |
335 |
13 |
| Leeds |
30 |
333 |
13 |
| Shrewsbury |
40 |
307 |
9 |
| Aberdeen |
61 |
285 |
19 |
| Liverpool |
22 |
252 |
5 |
| New London Ct |
23 |
222 |
8 |
| Northampton |
27 |
213 |
4 |
| Hartford Ct |
51 |
211 |
10 |
| Chester |
25 |
205 |
1 |
| Perth |
88 |
175 |
6 |
| Gloucester |
32 |
161 |
3 |
| Berwick-upon-Tweed |
59 |
154 |
11 |
| New Haven Ct |
24 |
151 |
6 |
| Coventry |
30 |
150 |
6 |
| Providence Ri |
31 |
129 |
5 |
| The Hague |
67 |
122 |
6 |
| Newburyport Ma |
24 |
108 |
3 |
| Paisley |
20 |
97 |
3 |
| Falkirk |
35 |
88 |
2 |
| NA |
328 |
3,761 |
115 |
| pages |
| London |
4,401,845 |
16,671,741 |
1,051,211 |
| Dublin |
680,689 |
1,932,516 |
186,410 |
| Edinburgh |
440,701 |
1,434,837 |
106,727 |
| Other |
295,927 |
971,413 |
14,771 |
| Boston Ma |
40,900 |
223,443 |
12,197 |
| Oxford |
83,460 |
403,804 |
32,461 |
| Glasgow |
172,862 |
335,340 |
28,058 |
| Philadelphia Pa |
52,552 |
251,577 |
10,792 |
| Paris |
67,345 |
470,499 |
9,241 |
| Cambridge |
40,194 |
223,622 |
13,867 |
| Newcastle |
14,381 |
93,143 |
2,588 |
| Bristol |
10,748 |
97,172 |
2,968 |
| York |
20,242 |
93,607 |
4,144 |
| Bath |
5,953 |
113,802 |
1,114 |
| New York Ny |
21,011 |
87,543 |
3,340 |
| Birmingham |
19,295 |
94,109 |
1,948 |
| Salisbury |
6,201 |
23,115 |
19 |
| Norwich |
2,731 |
40,373 |
324 |
| Manchester |
7,501 |
41,732 |
585 |
| Cork |
8,839 |
43,061 |
1,608 |
| Belfast |
12,861 |
30,352 |
1,035 |
| Leeds |
4,570 |
36,159 |
2,515 |
| Shrewsbury |
6,581 |
46,468 |
1,660 |
| Aberdeen |
10,487 |
39,286 |
6,111 |
| Liverpool |
4,314 |
33,569 |
896 |
| New London Ct |
1,832 |
11,201 |
277 |
| Northampton |
1,604 |
6,902 |
4 |
| Hartford Ct |
4,337 |
18,042 |
755 |
| Chester |
2,853 |
18,904 |
24 |
| Perth |
20,406 |
57,043 |
1,413 |
| Gloucester |
3,724 |
16,206 |
571 |
| Berwick-upon-Tweed |
12,863 |
36,292 |
2,238 |
| New Haven Ct |
1,104 |
8,031 |
277 |
| Coventry |
4,573 |
12,196 |
1,738 |
| Providence Ri |
1,802 |
5,984 |
165 |
| The Hague |
13,049 |
39,586 |
1,196 |
| Newburyport Ma |
2,551 |
7,239 |
93 |
| Paisley |
3,980 |
18,204 |
467 |
| Falkirk |
5,957 |
11,285 |
382 |
| NA |
74,575 |
688,875 |
31,323 |
split %>%
print_split(publication_place, "publication place")
| By publication place |
| (264 targets) |
|
test |
train |
val |
| works |
| London |
3,518 |
70,105 |
1,656 |
| Dublin |
993 |
9,885 |
424 |
| Edinburgh |
583 |
10,234 |
268 |
| Boston Ma |
276 |
3,041 |
118 |
| Oxford |
125 |
1,492 |
48 |
| Glasgow |
270 |
1,509 |
79 |
| Philadelphia Pa |
189 |
1,621 |
63 |
| Paris |
83 |
858 |
28 |
| Cambridge |
107 |
1,099 |
52 |
| Newcastle |
67 |
960 |
28 |
| Bristol |
69 |
761 |
28 |
| York |
64 |
600 |
22 |
| Bath |
32 |
534 |
9 |
| New York Ny |
69 |
597 |
24 |
| Birmingham |
51 |
512 |
9 |
| Salisbury |
27 |
412 |
4 |
| Norwich |
25 |
385 |
4 |
| Manchester |
57 |
388 |
16 |
| Exeter |
18 |
334 |
6 |
| Cork |
46 |
344 |
10 |
| Belfast |
63 |
297 |
11 |
| Leeds |
24 |
278 |
10 |
| Shrewsbury |
30 |
244 |
8 |
| Aberdeen |
41 |
238 |
10 |
| Amsterdam |
17 |
125 |
5 |
| Liverpool |
21 |
212 |
3 |
| New London Ct |
22 |
172 |
8 |
| Northampton |
26 |
199 |
4 |
| Canterbury |
14 |
168 |
NA |
| Hartford Ct |
38 |
176 |
9 |
| Chester |
23 |
184 |
1 |
| Nottingham |
16 |
174 |
2 |
| Worcester |
17 |
173 |
2 |
| Perth |
43 |
98 |
5 |
| Gloucester |
26 |
134 |
3 |
| Ipswich |
15 |
142 |
1 |
| Berwick-upon-Tweed |
39 |
106 |
10 |
| Warrington |
19 |
126 |
2 |
| New Haven Ct |
22 |
137 |
6 |
| Coventry |
23 |
137 |
2 |
| Sherborne |
10 |
55 |
1 |
| Reading |
13 |
112 |
1 |
| Rochester |
19 |
106 |
3 |
| Providence Ri |
31 |
127 |
5 |
| Eton |
13 |
77 |
1 |
| The Hague |
42 |
63 |
4 |
| Downpatrick |
13 |
117 |
3 |
| Hull |
15 |
112 |
1 |
| Newburyport Ma |
22 |
105 |
3 |
| Worcester Ma |
16 |
105 |
2 |
| Calcutta |
11 |
86 |
1 |
| Sheffield |
13 |
96 |
1 |
| Paisley |
20 |
78 |
3 |
| Basel |
16 |
42 |
1 |
| Newport Ri |
14 |
90 |
2 |
| Falkirk |
27 |
79 |
2 |
| Charleston Sc |
11 |
81 |
NA |
| Leipzig |
14 |
22 |
NA |
| Portsmouth Nh |
13 |
71 |
NA |
| Bury |
7 |
47 |
NA |
| Livorno |
6 |
33 |
1 |
| Leicester |
11 |
65 |
NA |
| Salem Ma |
12 |
68 |
1 |
| Limerick |
14 |
71 |
1 |
| Southampton |
12 |
65 |
1 |
| Tewkesbury |
15 |
67 |
3 |
| Darlington |
12 |
65 |
2 |
| Colchester |
11 |
67 |
1 |
| Carlisle |
5 |
56 |
NA |
| Lincoln |
6 |
57 |
3 |
| Plymouth |
11 |
55 |
NA |
| Winchester |
13 |
49 |
1 |
| Dundee |
8 |
55 |
NA |
| Preston |
10 |
57 |
2 |
| Hereford |
11 |
51 |
NA |
| Newark |
6 |
42 |
NA |
| Kings Lynn |
11 |
50 |
NA |
| Baltimore Md |
9 |
53 |
NA |
| Norwich Ct |
6 |
53 |
1 |
| Taunton |
9 |
50 |
NA |
| Wilmington De |
12 |
46 |
1 |
| Stirling |
9 |
49 |
NA |
| Aldershot |
NA |
1 |
NA |
| Derby |
10 |
44 |
NA |
| Durham |
10 |
45 |
1 |
| Stamford |
11 |
46 |
NA |
| Wolverhampton |
8 |
45 |
NA |
| Chelmsford |
10 |
35 |
1 |
| Whitehaven |
6 |
46 |
NA |
| Exeter Nh |
6 |
45 |
1 |
| Germantown Pa |
6 |
27 |
1 |
| Hamburg |
12 |
29 |
NA |
| Twickenham |
5 |
31 |
NA |
| Halifax |
13 |
34 |
NA |
| Newry |
11 |
39 |
2 |
| Richmond Va |
14 |
36 |
1 |
| Portsmouth |
7 |
40 |
3 |
| Carmarthen |
11 |
37 |
NA |
| Albany Ny |
17 |
38 |
NA |
| Annapolis Md |
14 |
25 |
NA |
| Kendal |
6 |
35 |
NA |
| Waterford |
9 |
34 |
NA |
| Williamsburg Va |
5 |
27 |
NA |
| Lewes |
10 |
34 |
NA |
| Huddersfield |
9 |
27 |
NA |
| Lancaster Pa |
10 |
32 |
NA |
| Ludlow |
15 |
33 |
NA |
| Berlin |
10 |
18 |
1 |
| Brussels |
7 |
12 |
NA |
| Geneva |
7 |
17 |
NA |
| Windsor |
11 |
19 |
NA |
| Wrexham |
10 |
29 |
NA |
| Dresden |
2 |
12 |
1 |
| Vienna |
8 |
12 |
1 |
| Ayr |
9 |
26 |
1 |
| Brentford |
7 |
25 |
1 |
| Bury St Edmunds |
5 |
28 |
NA |
| Dumfries |
5 |
26 |
1 |
| Trefeca |
10 |
30 |
1 |
| Cirencester |
7 |
20 |
NA |
| Kingston |
5 |
27 |
1 |
| Alnwick |
8 |
22 |
NA |
| Gainsborough |
9 |
23 |
NA |
| Trefriw |
5 |
15 |
NA |
| Kilmarnock |
10 |
25 |
NA |
| Lustleigh |
NA |
2 |
NA |
| Stockton |
5 |
24 |
NA |
| Peterborough |
5 |
19 |
NA |
| Stockport |
6 |
20 |
NA |
| Maidstone |
6 |
21 |
NA |
| Concord Nh |
6 |
21 |
NA |
| Guildford |
6 |
18 |
NA |
| Wisbech |
5 |
23 |
NA |
| Kidderminster |
5 |
18 |
NA |
| Richmond |
1 |
10 |
NA |
| Sunderland |
11 |
22 |
NA |
| Warwick |
10 |
18 |
1 |
| Doncaster |
11 |
21 |
NA |
| New York NY |
10 |
19 |
NA |
| Penrith |
6 |
21 |
NA |
| Aberhonddu |
6 |
19 |
NA |
| Trenton Nj |
11 |
19 |
NA |
| Watertown Ma |
6 |
20 |
NA |
| Macclesfield |
6 |
19 |
NA |
| Margate |
5 |
16 |
NA |
| Newport |
7 |
17 |
NA |
| Tunbridge Wells |
5 |
12 |
NA |
| USA |
7 |
19 |
NA |
| Windsor Vt |
7 |
18 |
NA |
| Bradford |
5 |
18 |
NA |
| Göttingen |
6 |
13 |
NA |
| Portland Me |
5 |
18 |
NA |
| Bedford |
10 |
16 |
NA |
| Frankfurt |
2 |
4 |
4 |
| Springfield Ma |
7 |
17 |
NA |
| Burlington Nj |
6 |
15 |
NA |
| Chichester |
6 |
15 |
NA |
| Florence |
NA |
13 |
NA |
| Litchfield Ct |
5 |
16 |
NA |
| Rouen |
NA |
11 |
NA |
| Lancaster |
5 |
15 |
NA |
| Rotterdam |
6 |
12 |
NA |
| Trowbridge |
NA |
15 |
NA |
| Blackburn |
6 |
12 |
1 |
| Knaresborough |
5 |
13 |
NA |
| Northampton Ma |
13 |
14 |
NA |
| Quebec |
6 |
13 |
NA |
| Venice |
7 |
9 |
NA |
| Woodbridge NJ |
5 |
14 |
NA |
| Amherst Nh |
6 |
13 |
NA |
| Copenhagen |
6 |
11 |
NA |
| Kelso |
6 |
11 |
NA |
| Neuchatel |
NA |
5 |
NA |
| Stafford |
NA |
13 |
NA |
| Armagh |
1 |
12 |
NA |
| Bruges |
NA |
9 |
NA |
| Devizes |
5 |
9 |
NA |
| Dover Nh |
6 |
11 |
1 |
| Lausanne |
1 |
7 |
NA |
| Leominster Ma |
6 |
11 |
NA |
| Marlborough |
5 |
10 |
NA |
| Newark Nj |
NA |
12 |
NA |
| Wakefield |
5 |
12 |
NA |
| Altenburg |
3 |
5 |
2 |
| Banbury |
5 |
11 |
NA |
| Buckingham |
NA |
7 |
NA |
| Douai |
6 |
8 |
NA |
| Dudley |
NA |
9 |
NA |
| Egham |
1 |
8 |
NA |
| Falmouth Me |
4 |
11 |
1 |
| Greenfield Ma |
2 |
11 |
NA |
| Henley-on-Thames |
5 |
10 |
NA |
| High Wycombe |
NA |
9 |
NA |
| Huntingdon |
NA |
11 |
NA |
| Leiden |
NA |
5 |
NA |
| Londonderry |
5 |
10 |
NA |
| Lyon |
2 |
8 |
NA |
| Monaghan |
5 |
11 |
NA |
| Montrose |
14 |
11 |
1 |
| Pontefract |
NA |
11 |
NA |
| Ripon |
1 |
11 |
NA |
| Sevenoaks |
NA |
10 |
NA |
| St Ives |
5 |
10 |
NA |
| Sudbury |
5 |
9 |
NA |
| Bennington Vt |
1 |
10 |
NA |
| Boston |
1 |
10 |
NA |
| Bridgetown |
NA |
10 |
NA |
| Chesterfield |
5 |
8 |
NA |
| Congleton |
1 |
9 |
NA |
| Deptford |
2 |
10 |
NA |
| Dorchester |
NA |
10 |
NA |
| Douglas |
NA |
7 |
NA |
| Evesham |
5 |
10 |
NA |
| Gosport |
6 |
10 |
NA |
| New Bedford Ma |
NA |
10 |
NA |
| North Shields |
5 |
10 |
NA |
| Savannah Ga |
NA |
10 |
NA |
| Spanish Town |
5 |
7 |
NA |
| St Andrews |
1 |
8 |
NA |
| Stourbridge |
5 |
8 |
NA |
| Strabane |
5 |
8 |
NA |
| Washington DC |
5 |
10 |
NA |
| Weymouth |
NA |
6 |
NA |
| Whitby |
7 |
9 |
NA |
| Wigan |
7 |
9 |
NA |
| Alexandria Va |
NA |
9 |
NA |
| Basseterre Saint Kitts |
NA |
8 |
NA |
| Burslem |
7 |
9 |
NA |
| Drogheda |
2 |
8 |
NA |
| Gravesend |
NA |
9 |
NA |
| Haverhill Ma |
NA |
9 |
NA |
| Kilkenny |
1 |
9 |
NA |
| Leominster NH |
NA |
9 |
NA |
| Liège |
2 |
5 |
1 |
| Madeley |
NA |
9 |
NA |
| Nantwich |
1 |
9 |
NA |
| New Brunswick Nj |
1 |
9 |
NA |
| Walpole Nh |
3 |
7 |
NA |
| Antwerp |
NA |
6 |
NA |
| Bolton |
7 |
8 |
1 |
| Brunswick |
NA |
1 |
NA |
| Carlow |
NA |
8 |
NA |
| Ephrata Pa |
5 |
8 |
NA |
| Halle |
3 |
6 |
NA |
| Hamilton |
5 |
8 |
NA |
| Market Harborough |
1 |
8 |
NA |
| Middletown Ct |
NA |
8 |
NA |
| Monmouth |
NA |
8 |
NA |
| Northumberland Pa |
NA |
6 |
NA |
| Port-au-Prince |
NA |
7 |
NA |
| Poughkeepsie Ny |
1 |
5 |
NA |
| Strood |
NA |
8 |
NA |
| Tamworth |
NA |
7 |
NA |
| Truru |
NA |
8 |
NA |
| Valletta |
NA |
7 |
NA |
| Windham Ct |
5 |
7 |
NA |
| Brookfield Ma |
NA |
7 |
NA |
| Chippenham |
NA |
7 |
NA |
| Dedham Ma |
5 |
7 |
NA |
| Dunbar |
NA |
7 |
NA |
| Fishkill Ny |
NA |
6 |
NA |
| Guernesey |
NA |
7 |
NA |
| Hertford |
NA |
6 |
NA |
| Oswestry |
NA |
6 |
NA |
| Padua |
NA |
3 |
NA |
| Rochdale |
NA |
7 |
NA |
| Stroud |
NA |
6 |
NA |
| the Hague |
1 |
5 |
1 |
| Utrecht |
1 |
7 |
NA |
| Augusta Ga |
NA |
4 |
NA |
| Brighton |
NA |
5 |
NA |
| Caernarfon |
NA |
6 |
NA |
| Catskill Ny |
1 |
5 |
NA |
| Elizabeth Nj |
7 |
6 |
NA |
| Fersfield |
NA |
2 |
NA |
| Grantham |
1 |
6 |
NA |
| Lexington Ky |
NA |
6 |
NA |
| Lisbon |
NA |
6 |
NA |
| Loughborough |
1 |
6 |
NA |
| Montreal |
NA |
6 |
NA |
| Mullingar |
1 |
6 |
1 |
| Romsey |
NA |
6 |
NA |
| Scarborough |
NA |
6 |
NA |
| South Shields |
1 |
6 |
NA |
| Suffield Ct |
NA |
6 |
1 |
| Walsall |
NA |
4 |
NA |
| Wexford |
5 |
6 |
NA |
| Woodbridge Nj |
1 |
6 |
1 |
| Abartawe |
NA |
5 |
NA |
| Abingdon |
NA |
5 |
NA |
| Berkhamsted |
NA |
5 |
NA |
| Bocking |
NA |
5 |
1 |
| Bungay |
NA |
5 |
1 |
| Chatham |
1 |
5 |
NA |
| Chennai |
NA |
5 |
NA |
| Clipstone |
7 |
4 |
NA |
| Danbury Ct |
3 |
5 |
NA |
| Haarlem |
NA |
3 |
NA |
| Helston |
1 |
5 |
NA |
| Keene Nh |
1 |
4 |
NA |
| Liege |
NA |
1 |
NA |
| Lymington |
NA |
4 |
NA |
| Machynlleth |
NA |
5 |
1 |
| Madrid |
NA |
2 |
NA |
| Medford Ma |
NA |
5 |
NA |
| New Bern Nc |
5 |
5 |
NA |
| Peacham Vt |
NA |
5 |
NA |
| Reims |
NA |
2 |
NA |
| Rome |
NA |
5 |
NA |
| Saint-Omer |
NA |
5 |
1 |
| Spalding |
NA |
5 |
NA |
| St Omer |
NA |
5 |
NA |
| Strasbourg |
1 |
3 |
NA |
| Workington |
NA |
5 |
NA |
| Aylesbury |
2 |
4 |
NA |
| Beverley |
1 |
4 |
NA |
| Bishopstone |
NA |
3 |
NA |
| Bridport |
NA |
4 |
NA |
| Cambridge Ma |
NA |
4 |
NA |
| Cheltenham |
2 |
2 |
NA |
| Cheshire Ct |
NA |
3 |
NA |
| Cheshunt |
NA |
4 |
NA |
| Clonmel |
NA |
4 |
NA |
| Cranbrook |
NA |
4 |
NA |
| Danvers Ma |
NA |
4 |
NA |
| Darmstadt |
NA |
1 |
NA |
| Ennis |
NA |
3 |
NA |
| Galway |
NA |
4 |
NA |
| Gouda |
NA |
1 |
NA |
| Hawick |
NA |
4 |
NA |
| Hillsborough NC |
NA |
4 |
NA |
| Hudson Ny |
6 |
4 |
NA |
| Llanymddyfri |
1 |
4 |
NA |
| Lyons |
NA |
3 |
NA |
| Newburgh Ny |
NA |
3 |
NA |
| Newmarket |
NA |
4 |
NA |
| Poole |
NA |
4 |
NA |
| Reading Pa |
1 |
4 |
NA |
| Retford |
NA |
4 |
NA |
| Salem |
NA |
4 |
NA |
| St Peter Port |
NA |
4 |
NA |
| St Petersburg |
NA |
4 |
NA |
| Uppsala |
2 |
3 |
NA |
| Uttoxeter |
NA |
3 |
NA |
| Warren Ri |
NA |
4 |
NA |
| Washington Pa |
NA |
4 |
NA |
| Windsor Ct |
1 |
4 |
NA |
| Wotton-under-Edge |
1 |
4 |
NA |
| Yverdon |
NA |
4 |
NA |
| Alston |
1 |
3 |
NA |
| Ashford |
NA |
3 |
NA |
| Athlone |
NA |
3 |
NA |
| Bampton |
NA |
3 |
NA |
| Bern |
1 |
3 |
NA |
| Blandford Va |
NA |
3 |
NA |
| Bridgewater |
NA |
3 |
NA |
| Bridlington |
1 |
3 |
NA |
| Carlisle Pa |
4 |
3 |
NA |
| Charleston SC |
1 |
3 |
NA |
| Chelmsford Ma |
NA |
3 |
NA |
| Chesham |
NA |
2 |
NA |
| Coburg |
NA |
1 |
NA |
| Dereham |
NA |
3 |
NA |
| Dun Laoghaire |
NA |
2 |
NA |
| Greenock |
1 |
3 |
NA |
| Hambourg |
NA |
1 |
NA |
| Harrisburg Pa |
NA |
2 |
NA |
| Harrogate |
NA |
3 |
NA |
| Hwlffordd |
NA |
3 |
NA |
| Jena |
NA |
1 |
NA |
| Kingston Ny |
NA |
2 |
NA |
| Launceston |
NA |
3 |
NA |
| Louvain |
NA |
3 |
NA |
| Lucca |
NA |
3 |
NA |
| Malton |
NA |
3 |
NA |
| Newfield Ct |
NA |
3 |
NA |
| Parma |
3 |
3 |
NA |
| Peterhead |
NA |
3 |
NA |
| Ramsgate |
NA |
2 |
NA |
| Roseau Dominica |
NA |
3 |
NA |
| Rye |
NA |
3 |
NA |
| Schenectady Ny |
1 |
3 |
NA |
| Stockholm |
NA |
3 |
NA |
| Stratford-upon-Avon |
NA |
3 |
NA |
| Tiverton |
NA |
3 |
NA |
| Toulouse |
NA |
2 |
NA |
| Treffynnon |
NA |
3 |
NA |
| Västerås |
NA |
2 |
NA |
| Adpar |
NA |
2 |
NA |
| America |
NA |
2 |
NA |
| Andover Ma |
NA |
2 |
NA |
| Avignon |
NA |
1 |
NA |
| Banff |
NA |
2 |
NA |
| Barnard Castle |
NA |
2 |
NA |
| Berne |
1 |
1 |
NA |
| Bombay |
NA |
2 |
NA |
| Bontfaen |
NA |
2 |
NA |
| Boston England |
NA |
2 |
NA |
| Bouillon |
NA |
1 |
NA |
| Brattleboro Vt |
NA |
2 |
NA |
| Bremen |
NA |
2 |
NA |
| Bridgnorth |
NA |
2 |
NA |
| Burton |
NA |
2 |
NA |
| Cape Town |
NA |
2 |
NA |
| Castine Me |
NA |
2 |
NA |
| Chatham Nj |
NA |
2 |
NA |
| Chepstow |
NA |
2 |
NA |
| Chertsey |
NA |
2 |
NA |
| Cincinnati Oh |
NA |
2 |
NA |
| Concord Ma |
NA |
2 |
NA |
| Cooperstown Ny |
NA |
2 |
NA |
| Crewkerne |
NA |
2 |
NA |
| Dover De |
NA |
2 |
NA |
| Dungannon |
NA |
2 |
NA |
| Dunkirk |
NA |
1 |
NA |
| Edenton Nc |
NA |
2 |
NA |
| Enniskillen |
NA |
2 |
NA |
| Erlangen |
NA |
2 |
NA |
| Flensburg |
NA |
1 |
NA |
| Fredericktown Md |
NA |
2 |
NA |
| Fredericton |
NA |
2 |
NA |
| Frome |
NA |
2 |
NA |
| Georgetown Washington DC |
NA |
2 |
NA |
| Great Marlow |
NA |
2 |
NA |
| Haddington |
NA |
2 |
NA |
| Halifax Nc |
NA |
2 |
NA |
| Hannover Nh |
NA |
2 |
NA |
| Hemel Hempstead |
NA |
2 |
NA |
| Honiton |
NA |
2 |
NA |
| Horncastle |
NA |
2 |
NA |
| Horsham |
NA |
2 |
NA |
| Howden |
NA |
2 |
NA |
| Inverness |
2 |
2 |
NA |
| Mannheim |
NA |
2 |
NA |
| Melton Mowbray |
NA |
2 |
NA |
| Middlewich |
NA |
2 |
NA |
| Montargis |
NA |
1 |
NA |
| Münster |
NA |
2 |
NA |
| Nancy |
NA |
2 |
NA |
| Newbury |
1 |
2 |
1 |
| Niagara |
NA |
2 |
NA |
| Norfolk Va |
NA |
2 |
NA |
| Northallerton |
NA |
2 |
NA |
| Nürnberg |
NA |
1 |
NA |
| Petersfield |
NA |
2 |
NA |
| Pisa |
NA |
2 |
NA |
| Potsdam |
NA |
1 |
NA |
| Prescot |
NA |
2 |
NA |
| Putney Vt |
NA |
2 |
NA |
| Rheims |
NA |
2 |
NA |
| Rome Ny |
NA |
2 |
NA |
| Shepton Mallet |
NA |
2 |
NA |
| South Molton |
NA |
2 |
NA |
| St Albans |
NA |
2 |
NA |
| St George |
NA |
2 |
NA |
| St Helier |
NA |
2 |
NA |
| Stonington Ct |
NA |
2 |
NA |
| Stowmarket |
NA |
2 |
NA |
| Szczecin |
NA |
1 |
NA |
| Troy Ny |
NA |
2 |
NA |
| Vergennes Vt |
NA |
2 |
NA |
| Watford |
NA |
2 |
NA |
| Wellingborough |
NA |
2 |
NA |
| Winterthur |
NA |
2 |
NA |
| York Pa |
NA |
2 |
NA |
| Zurich |
NA |
1 |
NA |
| Abbeville |
NA |
1 |
NA |
| Abermaw |
NA |
1 |
NA |
| Aberystwyth |
NA |
1 |
NA |
| Alcester |
NA |
1 |
NA |
| Ampthill |
NA |
1 |
NA |
| Arezzo |
NA |
1 |
NA |
| Ashby-de-la-Zouch |
NA |
1 |
NA |
| Atherstone |
NA |
1 |
NA |
| Bala |
NA |
1 |
NA |
| Balfron |
NA |
1 |
NA |
| Ballymena |
NA |
1 |
NA |
| Barnstaple |
NA |
1 |
NA |
| Barton-upon-Humber |
NA |
1 |
NA |
| Basingstoke |
NA |
1 |
NA |
| Bayreuth |
NA |
1 |
NA |
| Bedale |
NA |
1 |
NA |
| Beloeil |
NA |
1 |
NA |
| Besançon |
NA |
1 |
NA |
| Birr |
NA |
1 |
NA |
| Birstall |
NA |
1 |
NA |
| Bishop Castle |
NA |
1 |
NA |
| Bodedern |
NA |
1 |
NA |
| Bordeaux |
NA |
1 |
NA |
| Boulogne-sur-Mer |
NA |
1 |
NA |
| Brearley Hall |
NA |
1 |
1 |
| Brigg |
NA |
1 |
NA |
| Budapest |
NA |
1 |
NA |
| Burlington NJ |
NA |
1 |
NA |
| Burnley |
NA |
1 |
NA |
| Caen |
NA |
1 |
NA |
| Caerdydd |
NA |
1 |
NA |
| Caerfyrddin |
NA |
1 |
NA |
| Caergybi |
NA |
1 |
NA |
| Calais |
NA |
1 |
NA |
| Carrickfergus |
NA |
1 |
NA |
| Castlebar |
NA |
1 |
NA |
| Castleford |
NA |
1 |
NA |
| Cavan |
NA |
1 |
NA |
| Chambersburg Pa |
NA |
1 |
NA |
| Ciutadella |
NA |
1 |
NA |
| Coimbra |
NA |
1 |
NA |
| Coleraine |
NA |
1 |
NA |
| Coxheath |
NA |
1 |
NA |
| Crieff |
NA |
1 |
NA |
| Cupar |
NA |
1 |
NA |
| Dampierre-sur-Boutonne |
1 |
1 |
NA |
| Dartford |
NA |
1 |
NA |
| Dartmouth |
NA |
1 |
NA |
| Dessau |
NA |
1 |
NA |
| Dordrecht |
NA |
1 |
NA |
| Dover |
NA |
1 |
NA |
| Dunfermline |
NA |
1 |
NA |
| Dunkalk |
NA |
1 |
NA |
| Dunkeld |
NA |
1 |
NA |
| Duns |
NA |
1 |
NA |
| Düsseldorf |
NA |
1 |
NA |
| East Grinstead |
NA |
1 |
NA |
| Easton Md |
NA |
1 |
NA |
| Elie |
NA |
1 |
NA |
| Ellesmere |
NA |
1 |
NA |
| Essex |
NA |
1 |
NA |
| Faringdon |
NA |
1 |
NA |
| Featherstone |
NA |
1 |
NA |
| Fermoy |
NA |
1 |
NA |
| Fleet |
NA |
1 |
NA |
| Geneva Ny |
NA |
1 |
NA |
| Georgetown Washington Sc |
NA |
1 |
NA |
| Ghent |
NA |
1 |
NA |
| Gillingham |
NA |
1 |
NA |
| Gilmanton Nh |
NA |
1 |
NA |
| Goshen Ny |
NA |
1 |
NA |
| Gothenburg |
NA |
1 |
NA |
| Halesworth |
NA |
1 |
NA |
| Hallowell Me |
NA |
1 |
NA |
| Hanau |
NA |
1 |
NA |
| Hannover |
NA |
1 |
NA |
| Harbor Ny |
NA |
1 |
NA |
| Haverhill Nh |
NA |
1 |
NA |
| Hexham |
NA |
1 |
NA |
| Hildburghausen |
NA |
1 |
NA |
| Hinckley |
NA |
1 |
NA |
| Hitchin |
NA |
1 |
NA |
| Holt |
NA |
1 |
NA |
| Houghton Park |
NA |
1 |
NA |
| Hungerford |
NA |
1 |
NA |
| Karlskrona |
NA |
1 |
NA |
| Karlsruhe |
NA |
1 |
NA |
| Keene |
NA |
1 |
NA |
| Kenilworth |
NA |
1 |
NA |
| Keswick |
NA |
1 |
NA |
| Kinsale |
NA |
1 |
NA |
| Kirkbride |
NA |
1 |
NA |
| Knoxville Tn |
NA |
1 |
NA |
| Knutsford |
NA |
1 |
NA |
| Lanark |
NA |
1 |
NA |
| Leek |
NA |
1 |
NA |
| Lisburn |
NA |
1 |
NA |
| Long Buckby |
NA |
1 |
NA |
| Lugano |
NA |
1 |
NA |
| Lund |
NA |
1 |
NA |
| Mainz |
NA |
1 |
NA |
| Malda |
NA |
1 |
NA |
| Mantua |
NA |
1 |
NA |
| Marseilles |
NA |
1 |
NA |
| Middelburg |
NA |
1 |
NA |
| Milan |
1 |
1 |
NA |
| Milborne Port |
NA |
1 |
NA |
| Môle-Saint-Nicolas |
NA |
1 |
NA |
| Monmouth Nj |
NA |
1 |
NA |
| Morristown Nj |
NA |
1 |
NA |
| Moscow |
NA |
1 |
NA |
| Naas |
NA |
1 |
NA |
| Nantes |
NA |
1 |
NA |
| Naples |
1 |
1 |
NA |
| Nashville Tn |
NA |
1 |
NA |
| Nassau |
NA |
1 |
NA |
| Newbury Vt |
NA |
1 |
1 |
| Nice |
NA |
1 |
NA |
| Nordhausen |
NA |
1 |
NA |
| Norfolk |
NA |
1 |
NA |
| Norristown Pa |
NA |
1 |
NA |
| Norrköping |
NA |
1 |
NA |
| Northwich |
NA |
1 |
NA |
| Nuremberg |
NA |
1 |
NA |
| Ormskirk |
NA |
1 |
NA |
| Osnabrück |
NA |
1 |
NA |
| Pattingham |
NA |
1 |
1 |
| Pembroke |
NA |
1 |
NA |
| Perugia |
NA |
1 |
NA |
| Plymouth Ma |
NA |
1 |
NA |
| Pondicherry |
NA |
1 |
NA |
| Poughkeepsie NY |
NA |
1 |
NA |
| Poulton-le-Fylde |
NA |
1 |
NA |
| Princeton Nj |
NA |
1 |
NA |
| Providence RI |
NA |
1 |
NA |
| Raleigh Nc |
NA |
1 |
NA |
| Ramsey |
NA |
1 |
NA |
| Regensburg |
NA |
1 |
NA |
| Rhaglan |
NA |
1 |
NA |
| Saffron Walden |
NA |
1 |
NA |
| Saint Helier |
NA |
1 |
NA |
| Saint-Germain-en-Laye |
NA |
1 |
NA |
| Salisbury Nc |
NA |
1 |
NA |
| Sandhurst |
NA |
1 |
NA |
| Sandwich |
NA |
1 |
NA |
| Sanquhar |
NA |
1 |
NA |
| Schleswig |
NA |
1 |
NA |
| Sedbergh |
NA |
1 |
NA |
| Selby |
NA |
1 |
NA |
| Shepherdstown Wv |
NA |
1 |
NA |
| Siena |
NA |
1 |
NA |
| Sligo |
1 |
1 |
NA |
| Southampton Pa |
NA |
1 |
NA |
| St Austell |
NA |
1 |
NA |
| St Eustatius |
NA |
1 |
NA |
| St Neots |
NA |
1 |
NA |
| Stoke-on-Trent |
NA |
1 |
NA |
| Stokesley |
NA |
1 |
NA |
| Stuttgart |
NA |
1 |
NA |
| Sulechow |
NA |
1 |
NA |
| Tetbury |
NA |
1 |
NA |
| Thirsk |
NA |
1 |
NA |
| Torrington |
NA |
1 |
NA |
| Totnes |
NA |
1 |
NA |
| Trenton |
NA |
1 |
NA |
| Trevoux |
1 |
1 |
NA |
| Tuscany |
NA |
1 |
NA |
| Ulverston |
NA |
1 |
NA |
| Valencia |
NA |
1 |
NA |
| Verona |
1 |
1 |
NA |
| Walpole NH |
NA |
1 |
NA |
| Wargrave |
NA |
1 |
NA |
| Warminster |
NA |
1 |
NA |
| Waterford Ny |
NA |
1 |
NA |
| Wells |
NA |
1 |
NA |
| Whitburn |
1 |
1 |
NA |
| Whitchurch |
1 |
1 |
NA |
| Wiscasset Me |
NA |
1 |
NA |
| Wittenberg |
NA |
1 |
NA |
| Yarm |
NA |
1 |
NA |
| Yeovil |
NA |
1 |
NA |
| Youghal |
NA |
1 |
NA |
| NA |
187 |
1,691 |
58 |
| documents |
| London |
16,294 |
111,914 |
4,562 |
| Dublin |
2,910 |
14,286 |
879 |
| Edinburgh |
1,746 |
12,887 |
489 |
| Boston Ma |
396 |
3,387 |
153 |
| Oxford |
279 |
2,238 |
114 |
| Glasgow |
747 |
2,080 |
127 |
| Philadelphia Pa |
283 |
1,966 |
78 |
| Paris |
224 |
1,730 |
45 |
| Cambridge |
187 |
1,507 |
73 |
| Newcastle |
93 |
1,144 |
30 |
| Bristol |
153 |
1,008 |
39 |
| York |
106 |
751 |
30 |
| Bath |
48 |
748 |
13 |
| New York Ny |
104 |
696 |
28 |
| Birmingham |
86 |
641 |
12 |
| Salisbury |
41 |
461 |
5 |
| Norwich |
27 |
453 |
4 |
| Manchester |
68 |
448 |
16 |
| Exeter |
24 |
387 |
6 |
| Cork |
57 |
383 |
10 |
| Belfast |
89 |
335 |
13 |
| Leeds |
30 |
333 |
13 |
| Shrewsbury |
40 |
307 |
9 |
| Aberdeen |
61 |
285 |
19 |
| Amsterdam |
71 |
279 |
7 |
| Liverpool |
22 |
252 |
5 |
| New London Ct |
23 |
222 |
8 |
| Northampton |
27 |
213 |
4 |
| Canterbury |
21 |
212 |
NA |
| Hartford Ct |
51 |
211 |
10 |
| Chester |
25 |
205 |
1 |
| Nottingham |
23 |
192 |
2 |
| Worcester |
19 |
189 |
2 |
| Perth |
88 |
175 |
6 |
| Gloucester |
32 |
161 |
3 |
| Ipswich |
16 |
156 |
1 |
| Berwick-upon-Tweed |
59 |
154 |
11 |
| Warrington |
27 |
152 |
2 |
| New Haven Ct |
24 |
151 |
6 |
| Coventry |
30 |
150 |
6 |
| Sherborne |
10 |
138 |
4 |
| Reading |
14 |
137 |
2 |
| Rochester |
29 |
132 |
4 |
| Providence Ri |
31 |
129 |
5 |
| Eton |
27 |
128 |
1 |
| The Hague |
67 |
122 |
6 |
| Downpatrick |
13 |
120 |
3 |
| Hull |
17 |
116 |
1 |
| Newburyport Ma |
24 |
108 |
3 |
| Worcester Ma |
17 |
108 |
2 |
| Calcutta |
14 |
106 |
1 |
| Sheffield |
14 |
101 |
1 |
| Paisley |
20 |
97 |
3 |
| Basel |
76 |
96 |
1 |
| Newport Ri |
14 |
91 |
2 |
| Falkirk |
35 |
88 |
2 |
| Charleston Sc |
13 |
83 |
NA |
| Leipzig |
26 |
79 |
NA |
| Portsmouth Nh |
13 |
78 |
NA |
| Bury |
10 |
77 |
NA |
| Livorno |
15 |
76 |
4 |
| Leicester |
11 |
73 |
NA |
| Salem Ma |
18 |
72 |
1 |
| Limerick |
14 |
71 |
1 |
| Southampton |
19 |
70 |
1 |
| Tewkesbury |
15 |
70 |
3 |
| Darlington |
13 |
69 |
2 |
| Colchester |
12 |
68 |
1 |
| Carlisle |
5 |
65 |
NA |
| Lincoln |
6 |
61 |
3 |
| Plymouth |
11 |
61 |
NA |
| Winchester |
13 |
61 |
1 |
| Dundee |
11 |
60 |
NA |
| Preston |
10 |
58 |
2 |
| Hereford |
12 |
57 |
NA |
| Newark |
7 |
57 |
NA |
| Kings Lynn |
13 |
55 |
NA |
| Baltimore Md |
10 |
54 |
NA |
| Norwich Ct |
7 |
53 |
1 |
| Taunton |
10 |
53 |
NA |
| Wilmington De |
12 |
53 |
1 |
| Stirling |
9 |
50 |
NA |
| Aldershot |
NA |
49 |
NA |
| Derby |
11 |
49 |
NA |
| Durham |
10 |
49 |
1 |
| Stamford |
11 |
49 |
NA |
| Wolverhampton |
10 |
49 |
NA |
| Chelmsford |
11 |
48 |
1 |
| Whitehaven |
6 |
48 |
NA |
| Exeter Nh |
6 |
46 |
1 |
| Germantown Pa |
8 |
44 |
1 |
| Hamburg |
17 |
44 |
NA |
| Twickenham |
6 |
43 |
NA |
| Halifax |
13 |
42 |
NA |
| Newry |
14 |
41 |
2 |
| Richmond Va |
15 |
41 |
1 |
| Portsmouth |
7 |
40 |
3 |
| Carmarthen |
11 |
39 |
NA |
| Albany Ny |
19 |
38 |
NA |
| Annapolis Md |
15 |
37 |
NA |
| Kendal |
6 |
37 |
NA |
| Waterford |
10 |
37 |
NA |
| Williamsburg Va |
6 |
37 |
NA |
| Lewes |
10 |
36 |
NA |
| Huddersfield |
9 |
35 |
NA |
| Lancaster Pa |
11 |
35 |
NA |
| Ludlow |
16 |
35 |
NA |
| Berlin |
15 |
33 |
1 |
| Brussels |
9 |
33 |
NA |
| Geneva |
36 |
33 |
NA |
| Windsor |
12 |
32 |
NA |
| Wrexham |
10 |
32 |
NA |
| Dresden |
2 |
31 |
1 |
| Vienna |
13 |
31 |
2 |
| Ayr |
9 |
30 |
1 |
| Brentford |
10 |
30 |
1 |
| Bury St Edmunds |
5 |
30 |
NA |
| Dumfries |
5 |
30 |
1 |
| Trefeca |
11 |
30 |
2 |
| Cirencester |
7 |
29 |
NA |
| Kingston |
9 |
29 |
4 |
| Alnwick |
8 |
28 |
NA |
| Gainsborough |
10 |
28 |
NA |
| Trefriw |
5 |
28 |
NA |
| Kilmarnock |
11 |
27 |
NA |
| Lustleigh |
NA |
27 |
NA |
| Stockton |
5 |
26 |
NA |
| Peterborough |
6 |
25 |
NA |
| Stockport |
6 |
25 |
NA |
| Maidstone |
7 |
24 |
NA |
| Concord Nh |
6 |
23 |
NA |
| Guildford |
6 |
23 |
NA |
| Wisbech |
6 |
23 |
NA |
| Kidderminster |
6 |
22 |
NA |
| Richmond |
1 |
22 |
NA |
| Sunderland |
13 |
22 |
NA |
| Warwick |
10 |
22 |
1 |
| Doncaster |
12 |
21 |
NA |
| New York NY |
11 |
21 |
NA |
| Penrith |
6 |
21 |
NA |
| Aberhonddu |
7 |
20 |
NA |
| Trenton Nj |
11 |
20 |
NA |
| Watertown Ma |
6 |
20 |
NA |
| Macclesfield |
6 |
19 |
NA |
| Margate |
6 |
19 |
NA |
| Newport |
12 |
19 |
NA |
| Tunbridge Wells |
7 |
19 |
NA |
| USA |
7 |
19 |
NA |
| Windsor Vt |
7 |
19 |
NA |
| Bradford |
5 |
18 |
NA |
| Göttingen |
6 |
18 |
NA |
| Portland Me |
5 |
18 |
NA |
| Bedford |
10 |
17 |
NA |
| Frankfurt |
3 |
17 |
4 |
| Springfield Ma |
8 |
17 |
NA |
| Burlington Nj |
6 |
16 |
NA |
| Chichester |
9 |
16 |
NA |
| Florence |
NA |
16 |
NA |
| Litchfield Ct |
5 |
16 |
NA |
| Rouen |
NA |
16 |
NA |
| Lancaster |
5 |
15 |
NA |
| Rotterdam |
6 |
15 |
NA |
| Trowbridge |
NA |
15 |
NA |
| Blackburn |
6 |
14 |
1 |
| Knaresborough |
6 |
14 |
NA |
| Northampton Ma |
14 |
14 |
NA |
| Quebec |
9 |
14 |
NA |
| Venice |
16 |
14 |
NA |
| Woodbridge NJ |
6 |
14 |
NA |
| Amherst Nh |
6 |
13 |
NA |
| Copenhagen |
8 |
13 |
NA |
| Kelso |
6 |
13 |
NA |
| Neuchatel |
NA |
13 |
NA |
| Stafford |
NA |
13 |
NA |
| Armagh |
1 |
12 |
NA |
| Bruges |
NA |
12 |
NA |
| Devizes |
5 |
12 |
NA |
| Dover Nh |
6 |
12 |
1 |
| Lausanne |
1 |
12 |
NA |
| Leominster Ma |
6 |
12 |
NA |
| Marlborough |
5 |
12 |
NA |
| Newark Nj |
NA |
12 |
NA |
| Wakefield |
7 |
12 |
NA |
| Altenburg |
3 |
11 |
8 |
| Banbury |
5 |
11 |
NA |
| Buckingham |
NA |
11 |
NA |
| Douai |
6 |
11 |
NA |
| Dudley |
NA |
11 |
NA |
| Egham |
1 |
11 |
NA |
| Falmouth Me |
4 |
11 |
1 |
| Greenfield Ma |
2 |
11 |
NA |
| Henley-on-Thames |
7 |
11 |
NA |
| High Wycombe |
NA |
11 |
NA |
| Huntingdon |
NA |
11 |
NA |
| Leiden |
NA |
11 |
NA |
| Londonderry |
5 |
11 |
NA |
| Lyon |
6 |
11 |
NA |
| Monaghan |
5 |
11 |
NA |
| Montrose |
29 |
11 |
3 |
| Pontefract |
NA |
11 |
NA |
| Ripon |
1 |
11 |
NA |
| Sevenoaks |
NA |
11 |
NA |
| St Ives |
5 |
11 |
NA |
| Sudbury |
5 |
11 |
NA |
| Bennington Vt |
1 |
10 |
NA |
| Boston |
2 |
10 |
NA |
| Bridgetown |
NA |
10 |
NA |
| Chesterfield |
5 |
10 |
NA |
| Congleton |
1 |
10 |
NA |
| Deptford |
2 |
10 |
NA |
| Dorchester |
NA |
10 |
NA |
| Douglas |
NA |
10 |
NA |
| Evesham |
7 |
10 |
NA |
| Gosport |
6 |
10 |
NA |
| New Bedford Ma |
NA |
10 |
NA |
| North Shields |
7 |
10 |
NA |
| Savannah Ga |
NA |
10 |
NA |
| Spanish Town |
5 |
10 |
NA |
| St Andrews |
1 |
10 |
NA |
| Stourbridge |
5 |
10 |
NA |
| Strabane |
5 |
10 |
NA |
| Washington DC |
5 |
10 |
NA |
| Weymouth |
NA |
10 |
NA |
| Whitby |
7 |
10 |
NA |
| Wigan |
7 |
10 |
NA |
| Alexandria Va |
NA |
9 |
NA |
| Basseterre Saint Kitts |
NA |
9 |
NA |
| Burslem |
8 |
9 |
NA |
| Drogheda |
2 |
9 |
NA |
| Gravesend |
NA |
9 |
NA |
| Haverhill Ma |
NA |
9 |
NA |
| Kilkenny |
2 |
9 |
NA |
| Leominster NH |
NA |
9 |
NA |
| Liège |
2 |
9 |
1 |
| Madeley |
NA |
9 |
NA |
| Nantwich |
1 |
9 |
NA |
| New Brunswick Nj |
1 |
9 |
NA |
| Walpole Nh |
3 |
9 |
NA |
| Antwerp |
NA |
8 |
NA |
| Bolton |
8 |
8 |
1 |
| Brunswick |
NA |
8 |
NA |
| Carlow |
NA |
8 |
NA |
| Ephrata Pa |
5 |
8 |
NA |
| Halle |
3 |
8 |
NA |
| Hamilton |
5 |
8 |
NA |
| Market Harborough |
1 |
8 |
NA |
| Middletown Ct |
NA |
8 |
NA |
| Monmouth |
NA |
8 |
NA |
| Northumberland Pa |
NA |
8 |
NA |
| Port-au-Prince |
NA |
8 |
NA |
| Poughkeepsie Ny |
2 |
8 |
NA |
| Strood |
NA |
8 |
NA |
| Tamworth |
NA |
8 |
NA |
| Truru |
NA |
8 |
NA |
| Valletta |
NA |
8 |
NA |
| Windham Ct |
5 |
8 |
NA |
| Brookfield Ma |
NA |
7 |
NA |
| Chippenham |
NA |
7 |
NA |
| Dedham Ma |
5 |
7 |
NA |
| Dunbar |
NA |
7 |
NA |
| Fishkill Ny |
NA |
7 |
NA |
| Guernesey |
NA |
7 |
NA |
| Hertford |
NA |
7 |
NA |
| Oswestry |
NA |
7 |
NA |
| Padua |
NA |
7 |
NA |
| Rochdale |
NA |
7 |
NA |
| Stroud |
NA |
7 |
NA |
| the Hague |
1 |
7 |
1 |
| Utrecht |
1 |
7 |
NA |
| Augusta Ga |
NA |
6 |
NA |
| Brighton |
NA |
6 |
NA |
| Caernarfon |
NA |
6 |
NA |
| Catskill Ny |
1 |
6 |
NA |
| Elizabeth Nj |
7 |
6 |
NA |
| Fersfield |
NA |
6 |
NA |
| Grantham |
1 |
6 |
NA |
| Lexington Ky |
NA |
6 |
NA |
| Lisbon |
NA |
6 |
NA |
| Loughborough |
1 |
6 |
NA |
| Montreal |
NA |
6 |
NA |
| Mullingar |
1 |
6 |
1 |
| Romsey |
NA |
6 |
NA |
| Scarborough |
NA |
6 |
NA |
| South Shields |
1 |
6 |
NA |
| Suffield Ct |
NA |
6 |
1 |
| Walsall |
NA |
6 |
NA |
| Wexford |
6 |
6 |
NA |
| Woodbridge Nj |
1 |
6 |
1 |
| Abartawe |
NA |
5 |
NA |
| Abingdon |
NA |
5 |
NA |
| Berkhamsted |
NA |
5 |
NA |
| Bocking |
NA |
5 |
1 |
| Bungay |
NA |
5 |
2 |
| Chatham |
1 |
5 |
NA |
| Chennai |
NA |
5 |
NA |
| Clipstone |
9 |
5 |
NA |
| Danbury Ct |
3 |
5 |
NA |
| Haarlem |
NA |
5 |
NA |
| Helston |
1 |
5 |
NA |
| Keene Nh |
1 |
5 |
NA |
| Liege |
NA |
5 |
NA |
| Lymington |
NA |
5 |
NA |
| Machynlleth |
NA |
5 |
1 |
| Madrid |
NA |
5 |
NA |
| Medford Ma |
NA |
5 |
NA |
| New Bern Nc |
6 |
5 |
NA |
| Peacham Vt |
NA |
5 |
NA |
| Reims |
NA |
5 |
NA |
| Rome |
NA |
5 |
NA |
| Saint-Omer |
NA |
5 |
2 |
| Spalding |
NA |
5 |
NA |
| St Omer |
NA |
5 |
NA |
| Strasbourg |
2 |
5 |
NA |
| Workington |
NA |
5 |
NA |
| Aylesbury |
2 |
4 |
NA |
| Beverley |
1 |
4 |
NA |
| Bishopstone |
NA |
4 |
NA |
| Bridport |
NA |
4 |
NA |
| Cambridge Ma |
NA |
4 |
NA |
| Cheltenham |
3 |
4 |
NA |
| Cheshire Ct |
NA |
4 |
NA |
| Cheshunt |
NA |
4 |
NA |
| Clonmel |
NA |
4 |
NA |
| Cranbrook |
NA |
4 |
NA |
| Danvers Ma |
NA |
4 |
NA |
| Darmstadt |
NA |
4 |
NA |
| Ennis |
NA |
4 |
NA |
| Galway |
NA |
4 |
NA |
| Gouda |
NA |
4 |
NA |
| Hawick |
NA |
4 |
NA |
| Hillsborough NC |
NA |
4 |
NA |
| Hudson Ny |
6 |
4 |
NA |
| Llanymddyfri |
2 |
4 |
NA |
| Lyons |
NA |
4 |
NA |
| Newburgh Ny |
NA |
4 |
NA |
| Newmarket |
NA |
4 |
NA |
| Poole |
NA |
4 |
NA |
| Reading Pa |
1 |
4 |
NA |
| Retford |
NA |
4 |
NA |
| Salem |
NA |
4 |
NA |
| St Peter Port |
NA |
4 |
NA |
| St Petersburg |
NA |
4 |
NA |
| Uppsala |
2 |
4 |
NA |
| Uttoxeter |
NA |
4 |
NA |
| Warren Ri |
NA |
4 |
NA |
| Washington Pa |
NA |
4 |
NA |
| Windsor Ct |
1 |
4 |
NA |
| Wotton-under-Edge |
1 |
4 |
NA |
| Yverdon |
NA |
4 |
NA |
| Alston |
1 |
3 |
NA |
| Ashford |
NA |
3 |
NA |
| Athlone |
NA |
3 |
NA |
| Bampton |
NA |
3 |
NA |
| Bern |
1 |
3 |
NA |
| Blandford Va |
NA |
3 |
NA |
| Bridgewater |
NA |
3 |
NA |
| Bridlington |
1 |
3 |
NA |
| Carlisle Pa |
4 |
3 |
NA |
| Charleston SC |
1 |
3 |
NA |
| Chelmsford Ma |
NA |
3 |
NA |
| Chesham |
NA |
3 |
NA |
| Coburg |
NA |
3 |
NA |
| Dereham |
NA |
3 |
NA |
| Dun Laoghaire |
NA |
3 |
NA |
| Greenock |
1 |
3 |
NA |
| Hambourg |
NA |
3 |
NA |
| Harrisburg Pa |
NA |
3 |
NA |
| Harrogate |
NA |
3 |
NA |
| Hwlffordd |
NA |
3 |
NA |
| Jena |
NA |
3 |
NA |
| Kingston Ny |
NA |
3 |
NA |
| Launceston |
NA |
3 |
NA |
| Louvain |
NA |
3 |
NA |
| Lucca |
NA |
3 |
NA |
| Malton |
NA |
3 |
NA |
| Newfield Ct |
NA |
3 |
NA |
| Parma |
3 |
3 |
NA |
| Peterhead |
NA |
3 |
NA |
| Ramsgate |
NA |
3 |
NA |
| Roseau Dominica |
NA |
3 |
NA |
| Rye |
NA |
3 |
NA |
| Schenectady Ny |
1 |
3 |
NA |
| Stockholm |
NA |
3 |
NA |
| Stratford-upon-Avon |
NA |
3 |
NA |
| Tiverton |
NA |
3 |
NA |
| Toulouse |
NA |
3 |
NA |
| Treffynnon |
NA |
3 |
NA |
| Västerås |
NA |
3 |
NA |
| Adpar |
NA |
2 |
NA |
| America |
NA |
2 |
NA |
| Andover Ma |
NA |
2 |
NA |
| Avignon |
NA |
2 |
NA |
| Banff |
NA |
2 |
NA |
| Barnard Castle |
NA |
2 |
NA |
| Berne |
2 |
2 |
NA |
| Bombay |
NA |
2 |
NA |
| Bontfaen |
NA |
2 |
NA |
| Boston England |
NA |
2 |
NA |
| Bouillon |
NA |
2 |
NA |
| Brattleboro Vt |
NA |
2 |
NA |
| Bremen |
NA |
2 |
NA |
| Bridgnorth |
NA |
2 |
NA |
| Burton |
NA |
2 |
NA |
| Cape Town |
NA |
2 |
NA |
| Castine Me |
NA |
2 |
NA |
| Chatham Nj |
NA |
2 |
NA |
| Chepstow |
NA |
2 |
NA |
| Chertsey |
NA |
2 |
NA |
| Cincinnati Oh |
NA |
2 |
NA |
| Concord Ma |
NA |
2 |
NA |
| Cooperstown Ny |
NA |
2 |
NA |
| Crewkerne |
NA |
2 |
NA |
| Dover De |
NA |
2 |
NA |
| Dungannon |
NA |
2 |
NA |
| Dunkirk |
NA |
2 |
NA |
| Edenton Nc |
NA |
2 |
NA |
| Enniskillen |
NA |
2 |
NA |
| Erlangen |
NA |
2 |
NA |
| Flensburg |
NA |
2 |
NA |
| Fredericktown Md |
NA |
2 |
NA |
| Fredericton |
NA |
2 |
NA |
| Frome |
NA |
2 |
NA |
| Georgetown Washington DC |
NA |
2 |
NA |
| Great Marlow |
NA |
2 |
NA |
| Haddington |
NA |
2 |
NA |
| Halifax Nc |
NA |
2 |
NA |
| Hannover Nh |
NA |
2 |
NA |
| Hemel Hempstead |
NA |
2 |
NA |
| Honiton |
NA |
2 |
NA |
| Horncastle |
NA |
2 |
NA |
| Horsham |
NA |
2 |
NA |
| Howden |
NA |
2 |
NA |
| Inverness |
2 |
2 |
NA |
| Mannheim |
NA |
2 |
NA |
| Melton Mowbray |
NA |
2 |
NA |
| Middlewich |
NA |
2 |
NA |
| Montargis |
NA |
2 |
NA |
| Münster |
NA |
2 |
NA |
| Nancy |
NA |
2 |
NA |
| Newbury |
2 |
2 |
1 |
| Niagara |
NA |
2 |
NA |
| Norfolk Va |
NA |
2 |
NA |
| Northallerton |
NA |
2 |
NA |
| Nürnberg |
NA |
2 |
NA |
| Petersfield |
NA |
2 |
NA |
| Pisa |
NA |
2 |
NA |
| Potsdam |
NA |
2 |
NA |
| Prescot |
NA |
2 |
NA |
| Putney Vt |
NA |
2 |
NA |
| Rheims |
NA |
2 |
NA |
| Rome Ny |
NA |
2 |
NA |
| Shepton Mallet |
NA |
2 |
NA |
| South Molton |
NA |
2 |
NA |
| St Albans |
NA |
2 |
NA |
| St George |
NA |
2 |
NA |
| St Helier |
NA |
2 |
NA |
| Stonington Ct |
NA |
2 |
NA |
| Stowmarket |
NA |
2 |
NA |
| Szczecin |
NA |
2 |
NA |
| Troy Ny |
NA |
2 |
NA |
| Vergennes Vt |
NA |
2 |
NA |
| Watford |
NA |
2 |
NA |
| Wellingborough |
NA |
2 |
NA |
| Winterthur |
NA |
2 |
NA |
| York Pa |
NA |
2 |
NA |
| Zurich |
NA |
2 |
NA |
| Abbeville |
NA |
1 |
NA |
| Abermaw |
NA |
1 |
NA |
| Aberystwyth |
NA |
1 |
NA |
| Alcester |
NA |
1 |
NA |
| Ampthill |
NA |
1 |
NA |
| Arezzo |
NA |
1 |
NA |
| Ashby-de-la-Zouch |
NA |
1 |
NA |
| Atherstone |
NA |
1 |
NA |
| Bala |
NA |
1 |
NA |
| Balfron |
NA |
1 |
NA |
| Ballymena |
NA |
1 |
NA |
| Barnstaple |
NA |
1 |
NA |
| Barton-upon-Humber |
NA |
1 |
NA |
| Basingstoke |
NA |
1 |
NA |
| Bayreuth |
NA |
1 |
NA |
| Bedale |
NA |
1 |
NA |
| Beloeil |
NA |
1 |
NA |
| Besançon |
NA |
1 |
NA |
| Birr |
NA |
1 |
NA |
| Birstall |
NA |
1 |
NA |
| Bishop Castle |
NA |
1 |
NA |
| Bodedern |
NA |
1 |
NA |
| Bordeaux |
NA |
1 |
NA |
| Boulogne-sur-Mer |
NA |
1 |
NA |
| Brearley Hall |
NA |
1 |
1 |
| Brigg |
NA |
1 |
NA |
| Budapest |
NA |
1 |
NA |
| Burlington NJ |
NA |
1 |
NA |
| Burnley |
NA |
1 |
NA |
| Caen |
NA |
1 |
NA |
| Caerdydd |
NA |
1 |
NA |
| Caerfyrddin |
NA |
1 |
NA |
| Caergybi |
NA |
1 |
NA |
| Calais |
NA |
1 |
NA |
| Carrickfergus |
NA |
1 |
NA |
| Castlebar |
NA |
1 |
NA |
| Castleford |
NA |
1 |
NA |
| Cavan |
NA |
1 |
NA |
| Chambersburg Pa |
NA |
1 |
NA |
| Ciutadella |
NA |
1 |
NA |
| Coimbra |
NA |
1 |
NA |
| Coleraine |
NA |
1 |
NA |
| Coxheath |
NA |
1 |
NA |
| Crieff |
NA |
1 |
NA |
| Cupar |
NA |
1 |
NA |
| Dampierre-sur-Boutonne |
2 |
1 |
NA |
| Dartford |
NA |
1 |
NA |
| Dartmouth |
NA |
1 |
NA |
| Dessau |
NA |
1 |
NA |
| Dordrecht |
NA |
1 |
NA |
| Dover |
NA |
1 |
NA |
| Dunfermline |
NA |
1 |
NA |
| Dunkalk |
NA |
1 |
NA |
| Dunkeld |
NA |
1 |
NA |
| Duns |
NA |
1 |
NA |
| Düsseldorf |
NA |
1 |
NA |
| East Grinstead |
NA |
1 |
NA |
| Easton Md |
NA |
1 |
NA |
| Elie |
NA |
1 |
NA |
| Ellesmere |
NA |
1 |
NA |
| Essex |
NA |
1 |
NA |
| Faringdon |
NA |
1 |
NA |
| Featherstone |
NA |
1 |
NA |
| Fermoy |
NA |
1 |
NA |
| Fleet |
NA |
1 |
NA |
| Geneva Ny |
NA |
1 |
NA |
| Georgetown Washington Sc |
NA |
1 |
NA |
| Ghent |
NA |
1 |
NA |
| Gillingham |
NA |
1 |
NA |
| Gilmanton Nh |
NA |
1 |
NA |
| Goshen Ny |
NA |
1 |
NA |
| Gothenburg |
NA |
1 |
NA |
| Halesworth |
NA |
1 |
NA |
| Hallowell Me |
NA |
1 |
NA |
| Hanau |
NA |
1 |
NA |
| Hannover |
NA |
1 |
NA |
| Harbor Ny |
NA |
1 |
NA |
| Haverhill Nh |
NA |
1 |
NA |
| Hexham |
NA |
1 |
NA |
| Hildburghausen |
NA |
1 |
NA |
| Hinckley |
NA |
1 |
NA |
| Hitchin |
NA |
1 |
NA |
| Holt |
NA |
1 |
NA |
| Houghton Park |
NA |
1 |
NA |
| Hungerford |
NA |
1 |
NA |
| Karlskrona |
NA |
1 |
NA |
| Karlsruhe |
NA |
1 |
NA |
| Keene |
NA |
1 |
NA |
| Kenilworth |
NA |
1 |
NA |
| Keswick |
NA |
1 |
NA |
| Kinsale |
NA |
1 |
NA |
| Kirkbride |
NA |
1 |
NA |
| Knoxville Tn |
NA |
1 |
NA |
| Knutsford |
NA |
1 |
NA |
| Lanark |
NA |
1 |
NA |
| Leek |
NA |
1 |
NA |
| Lisburn |
NA |
1 |
NA |
| Long Buckby |
NA |
1 |
NA |
| Lugano |
NA |
1 |
NA |
| Lund |
NA |
1 |
NA |
| Mainz |
NA |
1 |
NA |
| Malda |
NA |
1 |
NA |
| Mantua |
NA |
1 |
NA |
| Marseilles |
NA |
1 |
NA |
| Middelburg |
NA |
1 |
NA |
| Milan |
2 |
1 |
NA |
| Milborne Port |
NA |
1 |
NA |
| Môle-Saint-Nicolas |
NA |
1 |
NA |
| Monmouth Nj |
NA |
1 |
NA |
| Morristown Nj |
NA |
1 |
NA |
| Moscow |
NA |
1 |
NA |
| Naas |
NA |
1 |
NA |
| Nantes |
NA |
1 |
NA |
| Naples |
1 |
1 |
NA |
| Nashville Tn |
NA |
1 |
NA |
| Nassau |
NA |
1 |
NA |
| Newbury Vt |
NA |
1 |
1 |
| Nice |
NA |
1 |
NA |
| Nordhausen |
NA |
1 |
NA |
| Norfolk |
NA |
1 |
NA |
| Norristown Pa |
NA |
1 |
NA |
| Norrköping |
NA |
1 |
NA |
| Northwich |
NA |
1 |
NA |
| Nuremberg |
NA |
1 |
NA |
| Ormskirk |
NA |
1 |
NA |
| Osnabrück |
NA |
1 |
NA |
| Pattingham |
NA |
1 |
1 |
| Pembroke |
NA |
1 |
NA |
| Perugia |
NA |
1 |
NA |
| Plymouth Ma |
NA |
1 |
NA |
| Pondicherry |
NA |
1 |
NA |
| Poughkeepsie NY |
NA |
1 |
NA |
| Poulton-le-Fylde |
NA |
1 |
NA |
| Princeton Nj |
NA |
1 |
NA |
| Providence RI |
NA |
1 |
NA |
| Raleigh Nc |
NA |
1 |
NA |
| Ramsey |
NA |
1 |
NA |
| Regensburg |
NA |
1 |
NA |
| Rhaglan |
NA |
1 |
NA |
| Saffron Walden |
NA |
1 |
NA |
| Saint Helier |
NA |
1 |
NA |
| Saint-Germain-en-Laye |
NA |
1 |
NA |
| Salisbury Nc |
NA |
1 |
NA |
| Sandhurst |
NA |
1 |
NA |
| Sandwich |
NA |
1 |
NA |
| Sanquhar |
NA |
1 |
NA |
| Schleswig |
NA |
1 |
NA |
| Sedbergh |
NA |
1 |
NA |
| Selby |
NA |
1 |
NA |
| Shepherdstown Wv |
NA |
1 |
NA |
| Siena |
NA |
1 |
NA |
| Sligo |
1 |
1 |
NA |
| Southampton Pa |
NA |
1 |
NA |
| St Austell |
NA |
1 |
NA |
| St Eustatius |
NA |
1 |
NA |
| St Neots |
NA |
1 |
NA |
| Stoke-on-Trent |
NA |
1 |
NA |
| Stokesley |
NA |
1 |
NA |
| Stuttgart |
NA |
1 |
NA |
| Sulechow |
NA |
1 |
NA |
| Tetbury |
NA |
1 |
NA |
| Thirsk |
NA |
1 |
NA |
| Torrington |
NA |
1 |
NA |
| Totnes |
NA |
1 |
NA |
| Trenton |
NA |
1 |
NA |
| Trevoux |
6 |
1 |
NA |
| Tuscany |
NA |
1 |
NA |
| Ulverston |
NA |
1 |
NA |
| Valencia |
NA |
1 |
NA |
| Verona |
2 |
1 |
NA |
| Walpole NH |
NA |
1 |
NA |
| Wargrave |
NA |
1 |
NA |
| Warminster |
NA |
1 |
NA |
| Waterford Ny |
NA |
1 |
NA |
| Wells |
NA |
1 |
NA |
| Whitburn |
1 |
1 |
NA |
| Whitchurch |
1 |
1 |
NA |
| Wiscasset Me |
NA |
1 |
NA |
| Wittenberg |
NA |
1 |
NA |
| Yarm |
NA |
1 |
NA |
| Yeovil |
NA |
1 |
NA |
| Youghal |
NA |
1 |
NA |
| NA |
328 |
2,557 |
105 |
| pages |
| London |
4,401,845 |
16,671,741 |
1,051,211 |
| Dublin |
680,689 |
1,932,516 |
186,410 |
| Edinburgh |
440,701 |
1,434,837 |
106,727 |
| Boston Ma |
40,900 |
223,443 |
12,197 |
| Oxford |
83,460 |
403,804 |
32,461 |
| Glasgow |
172,862 |
335,340 |
28,058 |
| Philadelphia Pa |
52,552 |
251,577 |
10,792 |
| Paris |
67,345 |
470,499 |
9,241 |
| Cambridge |
40,194 |
223,622 |
13,867 |
| Newcastle |
14,381 |
93,143 |
2,588 |
| Bristol |
10,748 |
97,172 |
2,968 |
| York |
20,242 |
93,607 |
4,144 |
| Bath |
5,953 |
113,802 |
1,114 |
| New York Ny |
21,011 |
87,543 |
3,340 |
| Birmingham |
19,295 |
94,109 |
1,948 |
| Salisbury |
6,201 |
23,115 |
19 |
| Norwich |
2,731 |
40,373 |
324 |
| Manchester |
7,501 |
41,732 |
585 |
| Exeter |
3,019 |
38,360 |
343 |
| Cork |
8,839 |
43,061 |
1,608 |
| Belfast |
12,861 |
30,352 |
1,035 |
| Leeds |
4,570 |
36,159 |
2,515 |
| Shrewsbury |
6,581 |
46,468 |
1,660 |
| Aberdeen |
10,487 |
39,286 |
6,111 |
| Amsterdam |
27,101 |
84,430 |
1,529 |
| Liverpool |
4,314 |
33,569 |
896 |
| New London Ct |
1,832 |
11,201 |
277 |
| Northampton |
1,604 |
6,902 |
4 |
| Canterbury |
4,162 |
25,371 |
NA |
| Hartford Ct |
4,337 |
18,042 |
755 |
| Chester |
2,853 |
18,904 |
24 |
| Nottingham |
2,723 |
12,058 |
74 |
| Worcester |
604 |
8,498 |
22 |
| Perth |
20,406 |
57,043 |
1,413 |
| Gloucester |
3,724 |
16,206 |
571 |
| Ipswich |
1,168 |
9,790 |
17 |
| Berwick-upon-Tweed |
12,863 |
36,292 |
2,238 |
| Warrington |
5,962 |
25,387 |
340 |
| New Haven Ct |
1,104 |
8,031 |
277 |
| Coventry |
4,573 |
12,196 |
1,738 |
| Sherborne |
1,243 |
54,914 |
1,115 |
| Reading |
832 |
20,729 |
110 |
| Rochester |
2,571 |
7,116 |
4 |
| Providence Ri |
1,802 |
5,984 |
165 |
| Eton |
4,928 |
24,089 |
72 |
| The Hague |
13,049 |
39,586 |
1,196 |
| Downpatrick |
18 |
197 |
8 |
| Hull |
3,235 |
8,267 |
21 |
| Newburyport Ma |
2,551 |
7,239 |
93 |
| Worcester Ma |
1,781 |
10,134 |
60 |
| Calcutta |
2,556 |
22,248 |
197 |
| Sheffield |
445 |
9,044 |
138 |
| Paisley |
3,980 |
18,204 |
467 |
| Basel |
31,800 |
32,875 |
454 |
| Newport Ri |
1,425 |
5,482 |
16 |
| Falkirk |
5,957 |
11,285 |
382 |
| Charleston Sc |
570 |
5,093 |
NA |
| Leipzig |
12,919 |
44,339 |
NA |
| Portsmouth Nh |
882 |
3,940 |
NA |
| Bury |
708 |
22,733 |
NA |
| Livorno |
5,973 |
29,061 |
1,455 |
| Leicester |
737 |
7,471 |
NA |
| Salem Ma |
3,341 |
6,027 |
1 |
| Limerick |
575 |
3,781 |
65 |
| Southampton |
1,741 |
6,600 |
1 |
| Tewkesbury |
192 |
2,410 |
129 |
| Darlington |
619 |
2,367 |
6 |
| Colchester |
682 |
3,274 |
36 |
| Carlisle |
1,062 |
9,878 |
NA |
| Lincoln |
336 |
2,094 |
61 |
| Plymouth |
592 |
3,903 |
NA |
| Winchester |
1,065 |
11,798 |
42 |
| Dundee |
883 |
10,705 |
NA |
| Preston |
971 |
3,643 |
298 |
| Hereford |
1,198 |
3,759 |
NA |
| Newark |
1,135 |
8,233 |
NA |
| Kings Lynn |
1,661 |
5,302 |
NA |
| Baltimore Md |
679 |
6,328 |
NA |
| Norwich Ct |
494 |
3,013 |
41 |
| Taunton |
1,254 |
3,967 |
NA |
| Wilmington De |
2,581 |
5,650 |
323 |
| Stirling |
196 |
1,023 |
NA |
| Aldershot |
NA |
28,656 |
NA |
| Derby |
501 |
2,613 |
NA |
| Durham |
519 |
2,397 |
218 |
| Stamford |
294 |
2,633 |
NA |
| Wolverhampton |
1,325 |
5,186 |
NA |
| Chelmsford |
700 |
6,035 |
23 |
| Whitehaven |
264 |
7,233 |
NA |
| Exeter Nh |
184 |
1,816 |
148 |
| Germantown Pa |
1,998 |
12,628 |
98 |
| Hamburg |
4,752 |
13,046 |
NA |
| Twickenham |
498 |
4,844 |
NA |
| Halifax |
1,310 |
5,066 |
NA |
| Newry |
1,136 |
2,938 |
64 |
| Richmond Va |
796 |
3,844 |
16 |
| Portsmouth |
698 |
2,708 |
417 |
| Carmarthen |
1,258 |
3,018 |
NA |
| Albany Ny |
3,559 |
4,094 |
NA |
| Annapolis Md |
2,494 |
3,011 |
NA |
| Kendal |
541 |
3,245 |
NA |
| Waterford |
1,679 |
3,823 |
NA |
| Williamsburg Va |
199 |
5,309 |
NA |
| Lewes |
310 |
1,918 |
NA |
| Huddersfield |
803 |
3,196 |
NA |
| Lancaster Pa |
1,189 |
2,168 |
NA |
| Ludlow |
792 |
2,992 |
NA |
| Berlin |
3,404 |
7,536 |
162 |
| Brussels |
1,240 |
5,744 |
NA |
| Geneva |
10,522 |
9,399 |
NA |
| Windsor |
1,592 |
5,549 |
NA |
| Wrexham |
680 |
3,317 |
NA |
| Dresden |
845 |
10,355 |
303 |
| Vienna |
4,937 |
8,508 |
183 |
| Ayr |
2,013 |
6,343 |
327 |
| Brentford |
804 |
3,463 |
12 |
| Bury St Edmunds |
209 |
714 |
NA |
| Dumfries |
490 |
4,130 |
323 |
| Trefeca |
1,876 |
3,121 |
73 |
| Cirencester |
411 |
4,527 |
NA |
| Kingston |
1,753 |
2,905 |
1,468 |
| Alnwick |
703 |
797 |
NA |
| Gainsborough |
1,821 |
3,570 |
NA |
| Trefriw |
40 |
264 |
NA |
| Kilmarnock |
2,110 |
4,347 |
NA |
| Lustleigh |
NA |
13,776 |
NA |
| Stockton |
313 |
3,251 |
NA |
| Peterborough |
352 |
871 |
NA |
| Stockport |
101 |
1,734 |
NA |
| Maidstone |
703 |
560 |
NA |
| Concord Nh |
168 |
640 |
NA |
| Guildford |
363 |
871 |
NA |
| Wisbech |
219 |
1,168 |
NA |
| Kidderminster |
987 |
2,971 |
NA |
| Richmond |
370 |
2,263 |
NA |
| Sunderland |
1,411 |
2,130 |
NA |
| Warwick |
806 |
1,219 |
167 |
| Doncaster |
614 |
1,311 |
NA |
| New York NY |
532 |
1,632 |
NA |
| Penrith |
59 |
1,091 |
NA |
| Aberhonddu |
666 |
1,210 |
NA |
| Trenton Nj |
2,662 |
2,289 |
NA |
| Watertown Ma |
80 |
92 |
NA |
| Macclesfield |
2,769 |
2,277 |
NA |
| Margate |
272 |
1,194 |
NA |
| Newport |
932 |
2,705 |
NA |
| Tunbridge Wells |
509 |
3,645 |
NA |
| USA |
329 |
501 |
NA |
| Windsor Vt |
576 |
773 |
NA |
| Bradford |
349 |
681 |
NA |
| Göttingen |
850 |
4,819 |
NA |
| Portland Me |
199 |
609 |
NA |
| Bedford |
214 |
1,082 |
NA |
| Frankfurt |
1,126 |
8,821 |
1,183 |
| Springfield Ma |
1,016 |
1,041 |
NA |
| Burlington Nj |
1,176 |
1,521 |
NA |
| Chichester |
627 |
1,471 |
NA |
| Florence |
NA |
2,941 |
NA |
| Litchfield Ct |
641 |
924 |
NA |
| Rouen |
NA |
4,796 |
NA |
| Lancaster |
151 |
750 |
NA |
| Rotterdam |
1,931 |
3,836 |
NA |
| Trowbridge |
NA |
1,299 |
NA |
| Blackburn |
2,500 |
3,547 |
88 |
| Knaresborough |
9 |
219 |
NA |
| Northampton Ma |
1,749 |
886 |
NA |
| Quebec |
1,080 |
1,917 |
NA |
| Venice |
4,783 |
4,788 |
NA |
| Woodbridge NJ |
549 |
236 |
NA |
| Amherst Nh |
294 |
639 |
NA |
| Copenhagen |
1,852 |
3,644 |
NA |
| Kelso |
695 |
1,817 |
NA |
| Neuchatel |
NA |
4,202 |
NA |
| Stafford |
NA |
413 |
NA |
| Armagh |
66 |
336 |
NA |
| Bruges |
NA |
2,574 |
NA |
| Devizes |
315 |
1,201 |
NA |
| Dover Nh |
298 |
1,268 |
124 |
| Lausanne |
150 |
3,915 |
NA |
| Leominster Ma |
471 |
707 |
NA |
| Marlborough |
192 |
492 |
NA |
| Newark Nj |
NA |
2,203 |
NA |
| Wakefield |
828 |
821 |
NA |
| Altenburg |
693 |
2,823 |
797 |
| Banbury |
197 |
315 |
NA |
| Buckingham |
NA |
565 |
NA |
| Douai |
1,662 |
3,907 |
NA |
| Dudley |
NA |
1,313 |
NA |
| Egham |
297 |
1,561 |
NA |
| Falmouth Me |
248 |
292 |
70 |
| Greenfield Ma |
334 |
1,386 |
NA |
| Henley-on-Thames |
1,154 |
1,190 |
NA |
| High Wycombe |
NA |
1,639 |
NA |
| Huntingdon |
NA |
248 |
NA |
| Leiden |
NA |
1,412 |
NA |
| Londonderry |
256 |
1,526 |
NA |
| Lyon |
3,646 |
3,920 |
NA |
| Monaghan |
135 |
207 |
NA |
| Montrose |
11,342 |
2,185 |
999 |
| Pontefract |
NA |
285 |
NA |
| Ripon |
1 |
36 |
NA |
| Sevenoaks |
NA |
272 |
NA |
| St Ives |
207 |
577 |
NA |
| Sudbury |
310 |
2,557 |
NA |
| Bennington Vt |
333 |
1,157 |
NA |
| Boston |
271 |
205 |
NA |
| Bridgetown |
NA |
478 |
NA |
| Chesterfield |
92 |
628 |
NA |
| Congleton |
24 |
802 |
NA |
| Deptford |
49 |
857 |
NA |
| Dorchester |
NA |
1,041 |
NA |
| Douglas |
NA |
494 |
NA |
| Evesham |
1,949 |
1,318 |
NA |
| Gosport |
607 |
824 |
NA |
| New Bedford Ma |
NA |
499 |
NA |
| North Shields |
1,581 |
1,406 |
NA |
| Savannah Ga |
NA |
242 |
NA |
| Spanish Town |
917 |
1,764 |
NA |
| St Andrews |
76 |
2,190 |
NA |
| Stourbridge |
428 |
1,055 |
NA |
| Strabane |
168 |
1,734 |
NA |
| Washington DC |
160 |
227 |
NA |
| Weymouth |
NA |
872 |
NA |
| Whitby |
442 |
670 |
NA |
| Wigan |
1,727 |
1,606 |
NA |
| Alexandria Va |
NA |
452 |
NA |
| Basseterre Saint Kitts |
NA |
468 |
NA |
| Burslem |
245 |
258 |
NA |
| Drogheda |
436 |
505 |
NA |
| Gravesend |
NA |
766 |
NA |
| Haverhill Ma |
NA |
302 |
NA |
| Kilkenny |
393 |
549 |
NA |
| Leominster NH |
NA |
722 |
NA |
| Liège |
637 |
2,433 |
8 |
| Madeley |
NA |
706 |
NA |
| Nantwich |
96 |
761 |
NA |
| New Brunswick Nj |
204 |
1,529 |
NA |
| Walpole Nh |
280 |
964 |
NA |
| Antwerp |
NA |
1,954 |
NA |
| Bolton |
1,712 |
1,262 |
74 |
| Brunswick |
NA |
3,932 |
NA |
| Carlow |
NA |
142 |
NA |
| Ephrata Pa |
1,707 |
1,878 |
NA |
| Halle |
568 |
5,199 |
NA |
| Hamilton |
122 |
254 |
NA |
| Market Harborough |
338 |
1,342 |
NA |
| Middletown Ct |
NA |
240 |
NA |
| Monmouth |
NA |
804 |
NA |
| Northumberland Pa |
NA |
894 |
NA |
| Port-au-Prince |
NA |
47 |
NA |
| Poughkeepsie Ny |
45 |
482 |
NA |
| Strood |
NA |
68 |
NA |
| Tamworth |
NA |
1,349 |
NA |
| Truru |
NA |
535 |
NA |
| Valletta |
NA |
2,428 |
NA |
| Windham Ct |
153 |
1,131 |
NA |
| Brookfield Ma |
NA |
434 |
NA |
| Chippenham |
NA |
134 |
NA |
| Dedham Ma |
274 |
906 |
NA |
| Dunbar |
NA |
98 |
NA |
| Fishkill Ny |
NA |
251 |
NA |
| Guernesey |
NA |
1,234 |
NA |
| Hertford |
NA |
411 |
NA |
| Oswestry |
NA |
265 |
NA |
| Padua |
NA |
914 |
NA |
| Rochdale |
NA |
678 |
NA |
| Stroud |
NA |
10 |
NA |
| the Hague |
95 |
1,657 |
100 |
| Utrecht |
192 |
1,237 |
NA |
| Augusta Ga |
NA |
246 |
NA |
| Brighton |
NA |
375 |
NA |
| Caernarfon |
NA |
82 |
NA |
| Catskill Ny |
76 |
404 |
NA |
| Elizabeth Nj |
1,624 |
957 |
NA |
| Fersfield |
NA |
4,573 |
NA |
| Grantham |
41 |
263 |
NA |
| Lexington Ky |
NA |
156 |
NA |
| Lisbon |
NA |
1,272 |
NA |
| Loughborough |
35 |
252 |
NA |
| Montreal |
NA |
772 |
NA |
| Mullingar |
24 |
677 |
190 |
| Romsey |
NA |
766 |
NA |
| Scarborough |
NA |
102 |
NA |
| South Shields |
83 |
403 |
NA |
| Suffield Ct |
NA |
136 |
144 |
| Walsall |
NA |
435 |
NA |
| Wexford |
12 |
33 |
NA |
| Woodbridge Nj |
16 |
669 |
136 |
| Abartawe |
NA |
65 |
NA |
| Abingdon |
NA |
342 |
NA |
| Berkhamsted |
NA |
766 |
NA |
| Bocking |
NA |
201 |
168 |
| Bungay |
NA |
563 |
666 |
| Chatham |
22 |
213 |
NA |
| Chennai |
NA |
387 |
NA |
| Clipstone |
603 |
1,202 |
NA |
| Danbury Ct |
558 |
101 |
NA |
| Haarlem |
NA |
974 |
NA |
| Helston |
117 |
1,089 |
NA |
| Keene Nh |
11 |
142 |
NA |
| Liege |
NA |
620 |
NA |
| Lymington |
NA |
1,228 |
NA |
| Machynlleth |
NA |
645 |
60 |
| Madrid |
NA |
4,161 |
NA |
| Medford Ma |
NA |
216 |
NA |
| New Bern Nc |
1,104 |
1,402 |
NA |
| Peacham Vt |
NA |
126 |
NA |
| Reims |
NA |
1,125 |
NA |
| Rome |
NA |
484 |
NA |
| Saint-Omer |
NA |
1,983 |
874 |
| Spalding |
NA |
159 |
NA |
| St Omer |
NA |
928 |
NA |
| Strasbourg |
710 |
637 |
NA |
| Workington |
NA |
182 |
NA |
| Aylesbury |
24 |
312 |
NA |
| Beverley |
4 |
150 |
NA |
| Bishopstone |
NA |
1,015 |
NA |
| Bridport |
NA |
185 |
NA |
| Cambridge Ma |
NA |
110 |
NA |
| Cheltenham |
239 |
193 |
NA |
| Cheshire Ct |
NA |
236 |
NA |
| Cheshunt |
NA |
4 |
NA |
| Clonmel |
NA |
111 |
NA |
| Cranbrook |
NA |
296 |
NA |
| Danvers Ma |
NA |
82 |
NA |
| Darmstadt |
NA |
828 |
NA |
| Ennis |
NA |
141 |
NA |
| Galway |
NA |
312 |
NA |
| Gouda |
NA |
126 |
NA |
| Hawick |
NA |
758 |
NA |
| Hillsborough NC |
NA |
27 |
NA |
| Hudson Ny |
856 |
304 |
NA |
| Llanymddyfri |
1,108 |
384 |
NA |
| Lyons |
NA |
694 |
NA |
| Newburgh Ny |
NA |
551 |
NA |
| Newmarket |
NA |
289 |
NA |
| Poole |
NA |
130 |
NA |
| Reading Pa |
218 |
476 |
NA |
| Retford |
NA |
312 |
NA |
| Salem |
NA |
413 |
NA |
| St Peter Port |
NA |
403 |
NA |
| St Petersburg |
NA |
1,117 |
NA |
| Uppsala |
234 |
892 |
NA |
| Uttoxeter |
NA |
666 |
NA |
| Warren Ri |
NA |
327 |
NA |
| Washington Pa |
NA |
339 |
NA |
| Windsor Ct |
177 |
235 |
NA |
| Wotton-under-Edge |
24 |
96 |
NA |
| Yverdon |
NA |
852 |
NA |
| Alston |
44 |
95 |
NA |
| Ashford |
NA |
194 |
NA |
| Athlone |
NA |
4 |
NA |
| Bampton |
NA |
28 |
NA |
| Bern |
277 |
717 |
NA |
| Blandford Va |
NA |
61 |
NA |
| Bridgewater |
NA |
545 |
NA |
| Bridlington |
87 |
371 |
NA |
| Carlisle Pa |
791 |
393 |
NA |
| Charleston SC |
28 |
181 |
NA |
| Chelmsford Ma |
NA |
59 |
NA |
| Chesham |
NA |
55 |
NA |
| Coburg |
NA |
430 |
NA |
| Dereham |
NA |
32 |
NA |
| Dun Laoghaire |
NA |
17 |
NA |
| Greenock |
24 |
103 |
NA |
| Hambourg |
NA |
1,598 |
NA |
| Harrisburg Pa |
NA |
547 |
NA |
| Harrogate |
NA |
50 |
NA |
| Hwlffordd |
NA |
40 |
NA |
| Jena |
NA |
1,810 |
NA |
| Kingston Ny |
NA |
339 |
NA |
| Launceston |
NA |
33 |
NA |
| Louvain |
NA |
556 |
NA |
| Lucca |
NA |
629 |
NA |
| Malton |
NA |
878 |
NA |
| Newfield Ct |
NA |
199 |
NA |
| Parma |
668 |
62 |
NA |
| Peterhead |
NA |
54 |
NA |
| Ramsgate |
NA |
287 |
NA |
| Roseau Dominica |
NA |
31 |
NA |
| Rye |
NA |
31 |
NA |
| Schenectady Ny |
144 |
423 |
NA |
| Stockholm |
NA |
1,252 |
NA |
| Stratford-upon-Avon |
NA |
113 |
NA |
| Tiverton |
NA |
211 |
NA |
| Toulouse |
NA |
936 |
NA |
| Treffynnon |
NA |
173 |
NA |
| Västerås |
NA |
903 |
NA |
| Adpar |
NA |
589 |
NA |
| America |
NA |
119 |
NA |
| Andover Ma |
NA |
75 |
NA |
| Avignon |
NA |
1,205 |
NA |
| Banff |
NA |
21 |
NA |
| Barnard Castle |
NA |
13 |
NA |
| Berne |
308 |
650 |
NA |
| Bombay |
NA |
277 |
NA |
| Bontfaen |
NA |
207 |
NA |
| Boston England |
NA |
80 |
NA |
| Bouillon |
NA |
528 |
NA |
| Brattleboro Vt |
NA |
56 |
NA |
| Bremen |
NA |
1,132 |
NA |
| Bridgnorth |
NA |
8 |
NA |
| Burton |
NA |
42 |
NA |
| Cape Town |
NA |
2 |
NA |
| Castine Me |
NA |
59 |
NA |
| Chatham Nj |
NA |
103 |
NA |
| Chepstow |
NA |
133 |
NA |
| Chertsey |
NA |
170 |
NA |
| Cincinnati Oh |
NA |
61 |
NA |
| Concord Ma |
NA |
59 |
NA |
| Cooperstown Ny |
NA |
154 |
NA |
| Crewkerne |
NA |
209 |
NA |
| Dover De |
NA |
33 |
NA |
| Dungannon |
NA |
26 |
NA |
| Dunkirk |
NA |
763 |
NA |
| Edenton Nc |
NA |
1,021 |
NA |
| Enniskillen |
NA |
2 |
NA |
| Erlangen |
NA |
495 |
NA |
| Flensburg |
NA |
937 |
NA |
| Fredericktown Md |
NA |
173 |
NA |
| Fredericton |
NA |
48 |
NA |
| Frome |
NA |
105 |
NA |
| Georgetown Washington DC |
NA |
75 |
NA |
| Great Marlow |
NA |
18 |
NA |
| Haddington |
NA |
8 |
NA |
| Halifax Nc |
NA |
223 |
NA |
| Hannover Nh |
NA |
307 |
NA |
| Hemel Hempstead |
NA |
20 |
NA |
| Honiton |
NA |
506 |
NA |
| Horncastle |
NA |
59 |
NA |
| Horsham |
NA |
174 |
NA |
| Howden |
NA |
130 |
NA |
| Inverness |
450 |
2 |
NA |
| Mannheim |
NA |
100 |
NA |
| Melton Mowbray |
NA |
18 |
NA |
| Middlewich |
NA |
86 |
NA |
| Montargis |
NA |
457 |
NA |
| Münster |
NA |
394 |
NA |
| Nancy |
NA |
676 |
NA |
| Newbury |
48 |
88 |
22 |
| Niagara |
NA |
41 |
NA |
| Norfolk Va |
NA |
43 |
NA |
| Northallerton |
NA |
115 |
NA |
| Nürnberg |
NA |
485 |
NA |
| Petersfield |
NA |
11 |
NA |
| Pisa |
NA |
53 |
NA |
| Potsdam |
NA |
552 |
NA |
| Prescot |
NA |
49 |
NA |
| Putney Vt |
NA |
85 |
NA |
| Rheims |
NA |
866 |
NA |
| Rome Ny |
NA |
54 |
NA |
| Shepton Mallet |
NA |
11 |
NA |
| South Molton |
NA |
51 |
NA |
| St Albans |
NA |
41 |
NA |
| St George |
NA |
73 |
NA |
| St Helier |
NA |
239 |
NA |
| Stonington Ct |
NA |
30 |
NA |
| Stowmarket |
NA |
5 |
NA |
| Szczecin |
NA |
885 |
NA |
| Troy Ny |
NA |
194 |
NA |
| Vergennes Vt |
NA |
56 |
NA |
| Watford |
NA |
15 |
NA |
| Wellingborough |
NA |
30 |
NA |
| Winterthur |
NA |
408 |
NA |
| York Pa |
NA |
46 |
NA |
| Zurich |
NA |
964 |
NA |
| Abbeville |
NA |
259 |
NA |
| Abermaw |
NA |
1 |
NA |
| Aberystwyth |
NA |
1 |
NA |
| Alcester |
NA |
30 |
NA |
| Ampthill |
NA |
1 |
NA |
| Arezzo |
NA |
332 |
NA |
| Ashby-de-la-Zouch |
NA |
31 |
NA |
| Atherstone |
NA |
20 |
NA |
| Bala |
NA |
6 |
NA |
| Balfron |
NA |
15 |
NA |
| Ballymena |
NA |
2 |
NA |
| Barnstaple |
NA |
51 |
NA |
| Barton-upon-Humber |
NA |
42 |
NA |
| Basingstoke |
NA |
2 |
NA |
| Bayreuth |
NA |
276 |
NA |
| Bedale |
NA |
28 |
NA |
| Beloeil |
NA |
137 |
NA |
| Besançon |
NA |
144 |
NA |
| Birr |
NA |
296 |
NA |
| Birstall |
NA |
11 |
NA |
| Bishop Castle |
NA |
1 |
NA |
| Bodedern |
NA |
16 |
NA |
| Bordeaux |
NA |
236 |
NA |
| Boulogne-sur-Mer |
NA |
110 |
NA |
| Brearley Hall |
NA |
100 |
265 |
| Brigg |
NA |
9 |
NA |
| Budapest |
NA |
240 |
NA |
| Burlington NJ |
NA |
372 |
NA |
| Burnley |
NA |
15 |
NA |
| Caen |
NA |
26 |
NA |
| Caerdydd |
NA |
25 |
NA |
| Caerfyrddin |
NA |
44 |
NA |
| Caergybi |
NA |
17 |
NA |
| Calais |
NA |
209 |
NA |
| Carrickfergus |
NA |
59 |
NA |
| Castlebar |
NA |
1 |
NA |
| Castleford |
NA |
68 |
NA |
| Cavan |
NA |
68 |
NA |
| Chambersburg Pa |
NA |
84 |
NA |
| Ciutadella |
NA |
57 |
NA |
| Coimbra |
NA |
415 |
NA |
| Coleraine |
NA |
40 |
NA |
| Coxheath |
NA |
36 |
NA |
| Crieff |
NA |
271 |
NA |
| Cupar |
NA |
263 |
NA |
| Dampierre-sur-Boutonne |
872 |
506 |
NA |
| Dartford |
NA |
60 |
NA |
| Dartmouth |
NA |
1 |
NA |
| Dessau |
NA |
103 |
NA |
| Dordrecht |
NA |
618 |
NA |
| Dover |
NA |
53 |
NA |
| Dunfermline |
NA |
15 |
NA |
| Dunkalk |
NA |
49 |
NA |
| Dunkeld |
NA |
1 |
NA |
| Duns |
NA |
22 |
NA |
| Düsseldorf |
NA |
191 |
NA |
| East Grinstead |
NA |
225 |
NA |
| Easton Md |
NA |
19 |
NA |
| Elie |
NA |
34 |
NA |
| Ellesmere |
NA |
8 |
NA |
| Essex |
NA |
76 |
NA |
| Faringdon |
NA |
24 |
NA |
| Featherstone |
NA |
72 |
NA |
| Fermoy |
NA |
60 |
NA |
| Fleet |
NA |
12 |
NA |
| Geneva Ny |
NA |
24 |
NA |
| Georgetown Washington Sc |
NA |
22 |
NA |
| Ghent |
NA |
8 |
NA |
| Gillingham |
NA |
27 |
NA |
| Gilmanton Nh |
NA |
15 |
NA |
| Goshen Ny |
NA |
136 |
NA |
| Gothenburg |
NA |
391 |
NA |
| Halesworth |
NA |
3 |
NA |
| Hallowell Me |
NA |
21 |
NA |
| Hanau |
NA |
151 |
NA |
| Hannover |
NA |
210 |
NA |
| Harbor Ny |
NA |
27 |
NA |
| Haverhill Nh |
NA |
34 |
NA |
| Hexham |
NA |
91 |
NA |
| Hildburghausen |
NA |
498 |
NA |
| Hinckley |
NA |
1 |
NA |
| Hitchin |
NA |
1 |
NA |
| Holt |
NA |
91 |
NA |
| Houghton Park |
NA |
1 |
NA |
| Hungerford |
NA |
12 |
NA |
| Karlskrona |
NA |
32 |
NA |
| Karlsruhe |
NA |
15 |
NA |
| Keene |
NA |
23 |
NA |
| Kenilworth |
NA |
32 |
NA |
| Keswick |
NA |
1 |
NA |
| Kinsale |
NA |
8 |
NA |
| Kirkbride |
NA |
291 |
NA |
| Knoxville Tn |
NA |
31 |
NA |
| Knutsford |
NA |
2 |
NA |
| Lanark |
NA |
15 |
NA |
| Leek |
NA |
1 |
NA |
| Lisburn |
NA |
1 |
NA |
| Long Buckby |
NA |
39 |
NA |
| Lugano |
NA |
93 |
NA |
| Lund |
NA |
312 |
NA |
| Mainz |
NA |
295 |
NA |
| Malda |
NA |
182 |
NA |
| Mantua |
NA |
46 |
NA |
| Marseilles |
NA |
47 |
NA |
| Middelburg |
NA |
95 |
NA |
| Milan |
556 |
131 |
NA |
| Milborne Port |
NA |
21 |
NA |
| Môle-Saint-Nicolas |
NA |
34 |
NA |
| Monmouth Nj |
NA |
468 |
NA |
| Morristown Nj |
NA |
328 |
NA |
| Moscow |
NA |
175 |
NA |
| Naas |
NA |
1 |
NA |
| Nantes |
NA |
383 |
NA |
| Naples |
374 |
191 |
NA |
| Nashville Tn |
NA |
26 |
NA |
| Nassau |
NA |
110 |
NA |
| Newbury Vt |
NA |
190 |
148 |
| Nice |
NA |
195 |
NA |
| Nordhausen |
NA |
114 |
NA |
| Norfolk |
NA |
34 |
NA |
| Norristown Pa |
NA |
157 |
NA |
| Norrköping |
NA |
8 |
NA |
| Northwich |
NA |
1 |
NA |
| Nuremberg |
NA |
596 |
NA |
| Ormskirk |
NA |
32 |
NA |
| Osnabrück |
NA |
95 |
NA |
| Pattingham |
NA |
19 |
422 |
| Pembroke |
NA |
33 |
NA |
| Perugia |
NA |
87 |
NA |
| Plymouth Ma |
NA |
45 |
NA |
| Pondicherry |
NA |
155 |
NA |
| Poughkeepsie NY |
NA |
161 |
NA |
| Poulton-le-Fylde |
NA |
1 |
NA |
| Princeton Nj |
NA |
229 |
NA |
| Providence RI |
NA |
31 |
NA |
| Raleigh Nc |
NA |
16 |
NA |
| Ramsey |
NA |
63 |
NA |
| Regensburg |
NA |
173 |
NA |
| Rhaglan |
NA |
73 |
NA |
| Saffron Walden |
NA |
1 |
NA |
| Saint Helier |
NA |
414 |
NA |
| Saint-Germain-en-Laye |
NA |
376 |
NA |
| Salisbury Nc |
NA |
40 |
NA |
| Sandhurst |
NA |
10 |
NA |
| Sandwich |
NA |
1 |
NA |
| Sanquhar |
NA |
8 |
NA |
| Schleswig |
NA |
523 |
NA |
| Sedbergh |
NA |
20 |
NA |
| Selby |
NA |
16 |
NA |
| Shepherdstown Wv |
NA |
332 |
NA |
| Siena |
NA |
186 |
NA |
| Sligo |
41 |
18 |
NA |
| Southampton Pa |
NA |
8 |
NA |
| St Austell |
NA |
23 |
NA |
| St Eustatius |
NA |
164 |
NA |
| St Neots |
NA |
24 |
NA |
| Stoke-on-Trent |
NA |
7 |
NA |
| Stokesley |
NA |
27 |
NA |
| Stuttgart |
NA |
48 |
NA |
| Sulechow |
NA |
353 |
NA |
| Tetbury |
NA |
10 |
NA |
| Thirsk |
NA |
8 |
NA |
| Torrington |
NA |
34 |
NA |
| Totnes |
NA |
34 |
NA |
| Trenton |
NA |
36 |
NA |
| Trevoux |
3,193 |
337 |
NA |
| Tuscany |
NA |
128 |
NA |
| Ulverston |
NA |
640 |
NA |
| Valencia |
NA |
334 |
NA |
| Verona |
1,223 |
21 |
NA |
| Walpole NH |
NA |
51 |
NA |
| Wargrave |
NA |
15 |
NA |
| Warminster |
NA |
1 |
NA |
| Waterford Ny |
NA |
127 |
NA |
| Wells |
NA |
51 |
NA |
| Whitburn |
182 |
225 |
NA |
| Whitchurch |
122 |
24 |
NA |
| Wiscasset Me |
NA |
24 |
NA |
| Wittenberg |
NA |
303 |
NA |
| Yarm |
NA |
47 |
NA |
| Yeovil |
NA |
139 |
NA |
| Youghal |
NA |
146 |
NA |
| NA |
74,575 |
516,172 |
28,576 |
Year of earliest publication
split %>%
count(set,earliest_publication_year_definite) %>%
ggplot(aes(x=set,y=n,fill=earliest_publication_year_definite)) +
geom_col(position='dodge') +
theme_hsci_discrete() +
coord_flip() +
ylab("ECCO documents") +
xlab("Set") +
labs(fill="Date certain") +
theme(legend.position="bottom") +
ggtitle("Uncertainty/certainty of dating the earliest year of publication")

split %>%
count(set,earliest_publication_year,earliest_publication_year_definite) %>%
ggplot(aes(x=earliest_publication_year,y=n,fill=earliest_publication_year_definite)) +
geom_col(position='stack',width=1) +
theme_hsci_discrete() +
ylab("ECCO documents") +
xlab("Year") +
labs(fill="Date certain") +
theme(legend.position="bottom") +
facet_wrap(~set, scales="free") +
ggtitle("Earliest year of publication")
Warning: Removed 3 rows containing missing values or values outside the scale range (`geom_col()`).

split %>%
mutate(earliest_publication_decade=floor(earliest_publication_year/10)*10) %>%
print_split(earliest_publication_decade, "earliest publication decade", order_by_frequency=FALSE)
| By earliest publication decade |
| (32 targets) |
|
test |
train |
val |
| works |
| 1470 |
NA |
4 |
NA |
| 1480 |
3 |
2 |
NA |
| 1490 |
1 |
NA |
NA |
| 1500 |
1 |
4 |
NA |
| 1510 |
2 |
3 |
NA |
| 1520 |
NA |
5 |
NA |
| 1530 |
1 |
15 |
NA |
| 1540 |
NA |
10 |
3 |
| 1550 |
5 |
13 |
NA |
| 1560 |
8 |
16 |
2 |
| 1570 |
6 |
33 |
1 |
| 1580 |
7 |
20 |
NA |
| 1590 |
10 |
41 |
5 |
| 1600 |
10 |
40 |
2 |
| 1610 |
12 |
57 |
5 |
| 1620 |
18 |
46 |
2 |
| 1630 |
14 |
72 |
7 |
| 1640 |
36 |
113 |
20 |
| 1650 |
37 |
157 |
27 |
| 1660 |
47 |
144 |
22 |
| 1670 |
74 |
267 |
28 |
| 1680 |
80 |
387 |
34 |
| 1690 |
91 |
559 |
35 |
| 1700 |
403 |
7,322 |
195 |
| 1710 |
433 |
9,689 |
216 |
| 1720 |
368 |
7,322 |
191 |
| 1730 |
369 |
7,281 |
180 |
| 1740 |
414 |
8,361 |
194 |
| 1750 |
453 |
8,894 |
241 |
| 1760 |
504 |
10,436 |
214 |
| 1770 |
579 |
10,919 |
220 |
| 1780 |
666 |
13,164 |
270 |
| 1790 |
1,163 |
19,437 |
361 |
| 1800 |
143 |
2,732 |
51 |
| 1810 |
NA |
3 |
NA |
| 1820 |
NA |
4 |
NA |
| 1830 |
NA |
1 |
NA |
| 1840 |
NA |
3 |
NA |
| 1850 |
NA |
2 |
NA |
| 1860 |
NA |
1 |
NA |
| 1910 |
NA |
1 |
NA |
| 1970 |
NA |
1 |
NA |
| NA |
12 |
159 |
4 |
| documents |
| 1470 |
NA |
36 |
NA |
| 1480 |
179 |
4 |
NA |
| 1490 |
8 |
NA |
NA |
| 1500 |
18 |
24 |
NA |
| 1510 |
150 |
26 |
NA |
| 1520 |
NA |
8 |
NA |
| 1530 |
5 |
873 |
NA |
| 1540 |
NA |
34 |
53 |
| 1550 |
132 |
108 |
NA |
| 1560 |
202 |
51 |
43 |
| 1570 |
210 |
301 |
1 |
| 1580 |
282 |
97 |
NA |
| 1590 |
179 |
161 |
54 |
| 1600 |
215 |
146 |
10 |
| 1610 |
586 |
307 |
101 |
| 1620 |
220 |
127 |
2 |
| 1630 |
106 |
190 |
75 |
| 1640 |
172 |
300 |
72 |
| 1650 |
224 |
559 |
138 |
| 1660 |
466 |
482 |
89 |
| 1670 |
695 |
957 |
153 |
| 1680 |
920 |
1,168 |
151 |
| 1690 |
906 |
1,926 |
146 |
| 1700 |
2,495 |
11,847 |
542 |
| 1710 |
2,657 |
15,088 |
554 |
| 1720 |
1,880 |
11,649 |
512 |
| 1730 |
1,621 |
11,868 |
765 |
| 1740 |
1,938 |
13,519 |
465 |
| 1750 |
1,983 |
14,855 |
751 |
| 1760 |
2,421 |
17,046 |
635 |
| 1770 |
1,802 |
17,964 |
497 |
| 1780 |
1,745 |
20,663 |
564 |
| 1790 |
2,178 |
27,727 |
623 |
| 1800 |
160 |
3,246 |
63 |
| 1810 |
NA |
4 |
NA |
| 1820 |
NA |
4 |
NA |
| 1830 |
NA |
2 |
NA |
| 1840 |
NA |
3 |
NA |
| 1850 |
NA |
2 |
NA |
| 1860 |
NA |
3 |
NA |
| 1910 |
NA |
1 |
NA |
| 1970 |
NA |
1 |
NA |
| NA |
53 |
362 |
7 |
| pages |
| 1470 |
NA |
9,319 |
NA |
| 1480 |
49,929 |
516 |
NA |
| 1490 |
930 |
NA |
NA |
| 1500 |
7,880 |
7,062 |
NA |
| 1510 |
51,574 |
6,505 |
NA |
| 1520 |
NA |
2,069 |
NA |
| 1530 |
1,073 |
213,027 |
NA |
| 1540 |
NA |
7,579 |
13,010 |
| 1550 |
39,495 |
42,466 |
NA |
| 1560 |
53,735 |
22,764 |
17,841 |
| 1570 |
86,806 |
81,647 |
275 |
| 1580 |
101,179 |
51,640 |
NA |
| 1590 |
47,526 |
44,963 |
9,023 |
| 1600 |
68,197 |
19,923 |
1,697 |
| 1610 |
182,677 |
53,157 |
32,642 |
| 1620 |
52,997 |
34,979 |
186 |
| 1630 |
33,582 |
46,923 |
13,682 |
| 1640 |
46,536 |
64,841 |
17,869 |
| 1650 |
68,046 |
138,277 |
33,852 |
| 1660 |
148,658 |
123,139 |
29,926 |
| 1670 |
211,283 |
185,238 |
35,698 |
| 1680 |
195,203 |
218,114 |
27,574 |
| 1690 |
289,121 |
484,589 |
25,493 |
| 1700 |
647,072 |
1,440,561 |
143,111 |
| 1710 |
705,390 |
1,517,773 |
128,145 |
| 1720 |
469,041 |
1,639,046 |
93,166 |
| 1730 |
362,280 |
1,660,011 |
208,046 |
| 1740 |
431,489 |
1,764,350 |
90,533 |
| 1750 |
479,900 |
2,202,399 |
155,707 |
| 1760 |
637,262 |
2,336,543 |
142,475 |
| 1770 |
381,855 |
2,833,902 |
90,506 |
| 1780 |
345,723 |
3,216,681 |
101,333 |
| 1790 |
366,658 |
3,839,644 |
117,823 |
| 1800 |
18,832 |
384,543 |
5,689 |
| 1810 |
NA |
902 |
NA |
| 1820 |
NA |
196 |
NA |
| 1830 |
NA |
582 |
NA |
| 1840 |
NA |
399 |
NA |
| 1850 |
NA |
189 |
NA |
| 1860 |
NA |
978 |
NA |
| 1910 |
NA |
4 |
NA |
| 1970 |
NA |
16 |
NA |
| NA |
5,471 |
90,817 |
2,211 |
Year of publication
split %>%
count(set,publication_year_definite) %>%
ggplot(aes(x=set,y=n,fill=publication_year_definite)) +
geom_col(position='dodge') +
theme_hsci_discrete() +
ylab("ECCO documents") +
xlab("Set") +
labs(fill="Date certain") +
theme(legend.position="bottom") +
coord_flip() +
ggtitle("Uncertainty/certainty of dating the year of publication")

split %>%
count(set,publication_year,publication_year_definite) %>%
ggplot(aes(x=publication_year,y=n,fill=publication_year_definite)) +
geom_col(position='stack',width=1) +
theme_hsci_discrete() +
ylab("ECCO documents") +
xlab("Year") +
labs(fill="Date certain") +
theme(legend.position="bottom") +
facet_wrap(~set, scales="free") +
ggtitle("Year of publication")
Warning: Removed 3 rows containing missing values or values outside the scale range (`geom_col()`).

split %>%
mutate(publication_decade=floor(publication_year/10)*10) %>%
print_split(publication_decade, "publication decade", order_by_frequency=FALSE)
| By publication decade |
| (12 targets) |
|
test |
train |
val |
| works |
| 1600 |
NA |
2 |
NA |
| 1610 |
NA |
2 |
NA |
| 1620 |
NA |
1 |
NA |
| 1630 |
NA |
1 |
NA |
| 1640 |
NA |
5 |
NA |
| 1650 |
NA |
5 |
NA |
| 1660 |
NA |
4 |
NA |
| 1670 |
NA |
8 |
NA |
| 1680 |
NA |
16 |
NA |
| 1690 |
NA |
28 |
NA |
| 1700 |
606 |
7,873 |
270 |
| 1710 |
725 |
10,618 |
315 |
| 1720 |
742 |
8,466 |
291 |
| 1730 |
750 |
8,398 |
287 |
| 1740 |
766 |
9,560 |
285 |
| 1750 |
867 |
10,233 |
353 |
| 1760 |
985 |
12,126 |
376 |
| 1770 |
1,135 |
12,883 |
369 |
| 1780 |
1,205 |
15,186 |
426 |
| 1790 |
1,840 |
22,418 |
542 |
| 1800 |
358 |
3,598 |
93 |
| 1810 |
NA |
4 |
NA |
| 1820 |
NA |
4 |
NA |
| 1830 |
NA |
1 |
NA |
| 1840 |
NA |
3 |
NA |
| 1850 |
NA |
2 |
NA |
| 1860 |
NA |
1 |
NA |
| 1910 |
NA |
1 |
NA |
| 1970 |
NA |
1 |
NA |
| NA |
11 |
158 |
4 |
| documents |
| 1600 |
NA |
2 |
NA |
| 1610 |
NA |
3 |
NA |
| 1620 |
NA |
1 |
NA |
| 1630 |
NA |
1 |
NA |
| 1640 |
NA |
5 |
NA |
| 1650 |
NA |
5 |
NA |
| 1660 |
NA |
4 |
NA |
| 1670 |
NA |
10 |
NA |
| 1680 |
NA |
31 |
NA |
| 1690 |
NA |
31 |
NA |
| 1700 |
1,055 |
10,382 |
426 |
| 1710 |
1,565 |
14,240 |
505 |
| 1720 |
1,731 |
11,360 |
487 |
| 1730 |
2,006 |
11,528 |
537 |
| 1740 |
1,934 |
13,093 |
496 |
| 1750 |
2,438 |
14,608 |
715 |
| 1760 |
3,086 |
17,239 |
941 |
| 1770 |
3,553 |
19,420 |
841 |
| 1780 |
3,432 |
22,904 |
882 |
| 1790 |
5,426 |
34,004 |
1,094 |
| 1800 |
571 |
4,486 |
135 |
| 1810 |
NA |
5 |
NA |
| 1820 |
NA |
4 |
NA |
| 1830 |
NA |
2 |
NA |
| 1840 |
NA |
3 |
NA |
| 1850 |
NA |
2 |
NA |
| 1860 |
NA |
3 |
NA |
| 1910 |
NA |
1 |
NA |
| 1970 |
NA |
1 |
NA |
| NA |
11 |
361 |
7 |
| pages |
| 1600 |
NA |
116 |
NA |
| 1610 |
NA |
95 |
NA |
| 1620 |
NA |
24 |
NA |
| 1630 |
NA |
76 |
NA |
| 1640 |
NA |
138 |
NA |
| 1650 |
NA |
103 |
NA |
| 1660 |
NA |
78 |
NA |
| 1670 |
NA |
1,139 |
NA |
| 1680 |
NA |
13,698 |
NA |
| 1690 |
NA |
3,858 |
NA |
| 1700 |
246,446 |
1,142,136 |
90,012 |
| 1710 |
363,694 |
1,359,129 |
90,880 |
| 1720 |
453,674 |
1,540,902 |
100,492 |
| 1730 |
517,969 |
1,560,180 |
123,819 |
| 1740 |
478,001 |
1,716,975 |
113,898 |
| 1750 |
597,839 |
2,121,366 |
163,770 |
| 1760 |
769,405 |
2,450,668 |
220,321 |
| 1770 |
860,137 |
3,131,800 |
185,863 |
| 1780 |
834,338 |
3,708,766 |
175,588 |
| 1790 |
1,347,900 |
5,318,060 |
246,041 |
| 1800 |
116,740 |
624,915 |
24,618 |
| 1810 |
NA |
918 |
NA |
| 1820 |
NA |
196 |
NA |
| 1830 |
NA |
582 |
NA |
| 1840 |
NA |
399 |
NA |
| 1850 |
NA |
189 |
NA |
| 1860 |
NA |
978 |
NA |
| 1910 |
NA |
4 |
NA |
| 1970 |
NA |
16 |
NA |
| NA |
1,257 |
90,769 |
2,211 |
Price
split %>%
mutate(has_price=!is.na(total_price)) %>%
count(set,has_price) %>%
pivot_wider(names_from=set,values_from=n) %>%
gt(rowname_col = "set") %>%
tab_header(title = "Price information availability") %>%
fmt_integer(columns=c(test,val,train))
| Price information availability |
| has_price |
test |
train |
val |
| FALSE |
24,346 |
147,906 |
6,088 |
| TRUE |
2,462 |
25,833 |
978 |
split %>%
count(set,total_price) %>%
ggplot(aes(x=total_price,y=n)) +
geom_col(width=1) +
theme_hsci_discrete() +
ylab("ECCO documents") +
xlab("Price") +
theme(legend.position="bottom") +
facet_wrap(~set, scales="free", ncol=1) +
ggtitle("Prices")
Warning: `position_stack()` requires non-overlapping x intervals.
Warning: `position_stack()` requires non-overlapping x intervals.
Warning: `position_stack()` requires non-overlapping x intervals.
Warning: Removed 3 rows containing missing values or values outside the scale range (`geom_col()`).

Multi-label targets
Actors
library(gghsci)
major_actor_split %>%
filter(set=="test") %>%
count(ecco_id) %>%
count(n) %>%
ggplot(aes(x=n,y=nn)) +
geom_col() +
theme_hsci_discrete() +
ylab("ECCO documents") +
xlab("Number of actors attached") +
ggtitle("Test set label count distribution (major only)")
Storing counts in `nn`, as `n` already present in input
ℹ Use `name = "new_name"` to pick a new name.

major_actor_split %>%
group_by(set, major_actor_id, actor_role, name_unified) %>%
summarise(pages=sum(pages),documents=n(),works=n_distinct(work_id), .groups="drop") %>%
pivot_longer(pages:works) %>%
pivot_wider(names_from=set,values_from=value) %>%
mutate(name=fct_relevel(name,"works","documents","pages")) %>%
mutate(major_actor_id=fct_reorder(major_actor_id, train, .desc=TRUE)) %>%
arrange(name,major_actor_id) %>%
select(-major_actor_id) %>%
gt(groupname_col = "name", rowname_col="name_unified") %>%
tab_header(title = "By actor", subtitle=str_c("(major only, ", major_actor_split %>% filter(set=="test") %>% distinct(major_actor_id) %>% count() %>% pull(), " targets)")) %>%
fmt_integer(columns=c(test,val,train))
| By actor |
| (major only, 108 targets) |
|
actor_role |
test |
train |
val |
| works |
| Robinson, George I |
publisher |
145 |
698 |
36 |
| Cadell, Thomas |
publisher |
160 |
849 |
41 |
| Strahan, William |
publisher |
153 |
493 |
38 |
| Longman, Thomas |
publisher |
209 |
330 |
46 |
| Baldwin, Robert I |
publisher |
192 |
527 |
37 |
| Johnston, William |
publisher |
148 |
255 |
30 |
| Law, Bedwell |
publisher |
167 |
299 |
33 |
| Caslon, Thomas |
publisher |
162 |
167 |
31 |
| Millar, Andrew |
publisher |
102 |
501 |
23 |
| Cadell, Thomas Ii |
publisher |
99 |
495 |
24 |
| F. and C. Rivington |
publisher |
76 |
372 |
27 |
| Rivington, John |
publisher |
150 |
294 |
39 |
| Hitch, Charles |
publisher |
182 |
357 |
45 |
| Johnson, John |
publisher |
78 |
527 |
15 |
| Roberts, James |
publisher |
57 |
1,569 |
36 |
| Dodsley, James |
publisher |
57 |
451 |
22 |
| J. and F. Rivington |
publisher |
112 |
203 |
23 |
| Becket, Thomas |
publisher |
105 |
504 |
20 |
| Crowder, Stanley |
publisher |
118 |
265 |
23 |
| Smith, W. |
publisher |
69 |
179 |
16 |
| Faulkner, George |
publisher |
55 |
568 |
22 |
| Hawes, Lacy |
publisher |
140 |
199 |
23 |
| Byrne, P. |
publisher |
79 |
512 |
27 |
| J. Exshaw |
publisher |
129 |
331 |
28 |
| Lowndes, Thomas |
publisher |
102 |
165 |
26 |
| Bettesworth, Arthur |
publisher |
152 |
380 |
45 |
| Dilly, Charles |
publisher |
110 |
555 |
33 |
| Williams, J. |
publisher |
87 |
285 |
23 |
| Powell, S. |
publisher |
69 |
235 |
15 |
| G. G. and J. Robinson |
publisher |
75 |
402 |
27 |
| Strahan, Andrew |
publisher |
62 |
264 |
11 |
| Wogan, P. |
publisher |
100 |
347 |
24 |
| Innys, William |
publisher |
81 |
391 |
20 |
| J. and P. Knapton |
publisher |
127 |
256 |
29 |
| Moore, J. |
publisher |
66 |
362 |
23 |
| Risk, George |
publisher |
76 |
135 |
15 |
| E. and C. Dilly |
publisher |
52 |
215 |
11 |
| Bell, John |
publisher |
88 |
293 |
18 |
| Cooper, Mary Mrs |
publisher |
70 |
938 |
24 |
| Potts, J. |
publisher |
76 |
219 |
24 |
| Hodges, James Sir |
publisher |
73 |
239 |
20 |
| Tonson, Jacob I |
publisher |
121 |
419 |
16 |
| Crowder, Samuel |
publisher |
95 |
103 |
17 |
| Jones, W. |
publisher |
76 |
292 |
25 |
| J. and R. Tonson |
publisher |
83 |
168 |
17 |
| Lowndes, William |
publisher |
86 |
108 |
16 |
| Wilson, P. |
publisher |
83 |
246 |
19 |
| Sleater, W. |
publisher |
73 |
277 |
22 |
| Davies, Thomas |
publisher |
82 |
208 |
16 |
| Powell, S. |
publisher |
53 |
396 |
19 |
| Bladon, Samuel |
publisher |
111 |
326 |
27 |
| Nichols, John |
publisher |
58 |
424 |
18 |
| Osborne, Thomas Ii |
publisher |
58 |
169 |
12 |
| Donaldson, A. |
publisher |
73 |
165 |
8 |
| Johnson, John |
publisher |
62 |
328 |
11 |
| Richardson, Joseph |
publisher |
53 |
105 |
11 |
| Birt, Samuel |
publisher |
99 |
171 |
20 |
| J. F. and C. Rivington |
publisher |
95 |
215 |
17 |
| Ware, Richard I |
publisher |
75 |
117 |
16 |
| Walker, T. |
publisher |
61 |
211 |
14 |
| Harrison and Co |
publisher |
62 |
130 |
13 |
| Nicoll, William |
publisher |
84 |
200 |
16 |
| Gosling, Robert |
publisher |
59 |
241 |
14 |
| Chamberlaine, D. |
publisher |
59 |
177 |
10 |
| Buckland, James |
publisher |
67 |
515 |
23 |
| Midwinter, Daniel |
publisher |
106 |
202 |
27 |
| Ware, Catherine Mrs |
publisher |
67 |
55 |
9 |
| Wilson, W. |
publisher |
52 |
187 |
14 |
| Longman, Thomas |
publisher |
107 |
154 |
23 |
| Lintott, Barnaby Bernard |
publisher |
58 |
298 |
14 |
| Davis, Lockyer John |
publisher |
61 |
249 |
14 |
| Rivington, Charles |
publisher |
62 |
229 |
14 |
| Mears, William |
publisher |
61 |
223 |
16 |
| Vernor and Hood |
publisher |
52 |
185 |
10 |
| Wilkie, John |
publisher |
50 |
343 |
12 |
| Walthoe, John I |
publisher |
67 |
136 |
21 |
| Richardson, William |
publisher |
58 |
207 |
9 |
| G. and T. Wilkie |
publisher |
69 |
170 |
13 |
| Kearsley, George |
publisher |
69 |
351 |
16 |
| Keith, George |
publisher |
78 |
272 |
16 |
| Walker, John |
publisher |
58 |
117 |
9 |
| Saunders, H. |
publisher |
55 |
130 |
11 |
| Clarke, William |
publisher |
58 |
119 |
11 |
| Davies, William |
publisher |
52 |
269 |
12 |
| Payne, Thomas |
publisher |
54 |
181 |
13 |
| Goldsmith, William |
publisher |
60 |
84 |
9 |
| Nicholson, John |
publisher |
50 |
88 |
21 |
| Motte, Benjamin |
publisher |
61 |
92 |
10 |
| Bew, John |
publisher |
64 |
368 |
17 |
| Robinson, Ranew |
publisher |
50 |
89 |
10 |
| Clarke, John |
publisher |
70 |
232 |
18 |
| Bathurst, Charles |
publisher |
81 |
128 |
12 |
| Ward, John |
publisher |
78 |
145 |
14 |
| Browne, Daniel Ii |
publisher |
60 |
148 |
14 |
| Newbery, Elizabeth Mrs |
publisher |
50 |
141 |
7 |
| Grierson, George |
publisher |
53 |
188 |
14 |
| Lintot, Henry |
publisher |
70 |
141 |
8 |
| Hinton, John |
publisher |
52 |
82 |
10 |
| Hett, Richard |
publisher |
64 |
392 |
20 |
| Scatcherd, James |
publisher |
56 |
70 |
10 |
| Ward, Aaron |
publisher |
96 |
206 |
26 |
| Horsfield, Robert |
publisher |
57 |
80 |
9 |
| Pemberton, John |
publisher |
58 |
206 |
16 |
| Woodfall, Henry |
publisher |
70 |
94 |
8 |
| Osborn, John Ii |
publisher |
54 |
119 |
14 |
| Brindley, John |
publisher |
53 |
130 |
11 |
| Clay, Francis |
publisher |
83 |
99 |
25 |
| Darby, John |
publisher |
64 |
133 |
19 |
| documents |
| Robinson, George I |
publisher |
5,186 |
5,441 |
462 |
| Cadell, Thomas |
publisher |
5,474 |
5,139 |
1,115 |
| Strahan, William |
publisher |
6,605 |
4,869 |
1,098 |
| Longman, Thomas |
publisher |
6,283 |
3,990 |
1,086 |
| Baldwin, Robert I |
publisher |
6,193 |
3,769 |
874 |
| Johnston, William |
publisher |
5,505 |
3,623 |
744 |
| Law, Bedwell |
publisher |
5,365 |
3,564 |
591 |
| Caslon, Thomas |
publisher |
5,676 |
3,540 |
672 |
| Millar, Andrew |
publisher |
3,018 |
3,537 |
351 |
| Cadell, Thomas Ii |
publisher |
4,226 |
3,492 |
309 |
| F. and C. Rivington |
publisher |
3,379 |
3,454 |
294 |
| Rivington, John |
publisher |
4,675 |
3,299 |
903 |
| Hitch, Charles |
publisher |
4,659 |
3,162 |
967 |
| Johnson, John |
publisher |
2,971 |
3,075 |
143 |
| Roberts, James |
publisher |
1,297 |
3,030 |
92 |
| Dodsley, James |
publisher |
1,569 |
2,785 |
560 |
| J. and F. Rivington |
publisher |
5,223 |
2,775 |
685 |
| Becket, Thomas |
publisher |
3,307 |
2,751 |
428 |
| Crowder, Stanley |
publisher |
3,912 |
2,712 |
442 |
| Smith, W. |
publisher |
2,348 |
2,708 |
253 |
| Faulkner, George |
publisher |
1,798 |
2,694 |
548 |
| Hawes, Lacy |
publisher |
4,370 |
2,683 |
803 |
| Byrne, P. |
publisher |
1,659 |
2,680 |
164 |
| J. Exshaw |
publisher |
3,704 |
2,557 |
437 |
| Lowndes, Thomas |
publisher |
3,751 |
2,528 |
517 |
| Bettesworth, Arthur |
publisher |
3,520 |
2,508 |
361 |
| Dilly, Charles |
publisher |
3,382 |
2,483 |
310 |
| Williams, J. |
publisher |
2,754 |
2,469 |
618 |
| Powell, S. |
publisher |
1,951 |
2,418 |
201 |
| G. G. and J. Robinson |
publisher |
3,260 |
2,417 |
395 |
| Strahan, Andrew |
publisher |
2,049 |
2,401 |
217 |
| Wogan, P. |
publisher |
2,794 |
2,385 |
251 |
| Innys, William |
publisher |
1,737 |
2,332 |
110 |
| J. and P. Knapton |
publisher |
3,254 |
2,234 |
204 |
| Moore, J. |
publisher |
1,600 |
2,115 |
171 |
| Risk, George |
publisher |
2,617 |
2,090 |
262 |
| E. and C. Dilly |
publisher |
1,958 |
2,067 |
125 |
| Bell, John |
publisher |
2,352 |
2,067 |
320 |
| Cooper, Mary Mrs |
publisher |
2,232 |
2,057 |
232 |
| Potts, J. |
publisher |
2,268 |
2,043 |
325 |
| Hodges, James Sir |
publisher |
2,488 |
2,042 |
167 |
| Tonson, Jacob I |
publisher |
4,284 |
1,987 |
172 |
| Crowder, Samuel |
publisher |
4,154 |
1,982 |
439 |
| Jones, W. |
publisher |
1,534 |
1,976 |
382 |
| J. and R. Tonson |
publisher |
3,773 |
1,881 |
223 |
| Lowndes, William |
publisher |
3,160 |
1,878 |
352 |
| Wilson, P. |
publisher |
2,590 |
1,876 |
272 |
| Sleater, W. |
publisher |
1,700 |
1,861 |
250 |
| Davies, Thomas |
publisher |
3,571 |
1,857 |
361 |
| Powell, S. |
publisher |
1,758 |
1,835 |
192 |
| Bladon, Samuel |
publisher |
3,138 |
1,826 |
588 |
| Nichols, John |
publisher |
2,171 |
1,810 |
610 |
| Osborne, Thomas Ii |
publisher |
1,566 |
1,808 |
493 |
| Donaldson, A. |
publisher |
4,550 |
1,808 |
514 |
| Johnson, John |
publisher |
2,205 |
1,803 |
211 |
| Richardson, Joseph |
publisher |
2,035 |
1,794 |
277 |
| Birt, Samuel |
publisher |
2,769 |
1,775 |
140 |
| J. F. and C. Rivington |
publisher |
3,414 |
1,749 |
480 |
| Ware, Richard I |
publisher |
2,148 |
1,733 |
144 |
| Walker, T. |
publisher |
1,874 |
1,733 |
281 |
| Harrison and Co |
publisher |
2,263 |
1,714 |
241 |
| Nicoll, William |
publisher |
2,624 |
1,707 |
323 |
| Gosling, Robert |
publisher |
1,090 |
1,705 |
86 |
| Chamberlaine, D. |
publisher |
1,297 |
1,685 |
158 |
| Buckland, James |
publisher |
1,494 |
1,683 |
352 |
| Midwinter, Daniel |
publisher |
2,146 |
1,651 |
235 |
| Ware, Catherine Mrs |
publisher |
2,478 |
1,649 |
137 |
| Wilson, W. |
publisher |
2,283 |
1,607 |
119 |
| Longman, Thomas |
publisher |
2,707 |
1,600 |
184 |
| Lintott, Barnaby Bernard |
publisher |
2,022 |
1,588 |
328 |
| Davis, Lockyer John |
publisher |
1,753 |
1,570 |
365 |
| Rivington, Charles |
publisher |
1,295 |
1,544 |
95 |
| Mears, William |
publisher |
1,783 |
1,541 |
59 |
| Vernor and Hood |
publisher |
1,709 |
1,538 |
59 |
| Wilkie, John |
publisher |
1,133 |
1,533 |
73 |
| Walthoe, John I |
publisher |
1,533 |
1,484 |
107 |
| Richardson, William |
publisher |
2,513 |
1,466 |
170 |
| G. and T. Wilkie |
publisher |
2,831 |
1,455 |
202 |
| Kearsley, George |
publisher |
1,933 |
1,426 |
295 |
| Keith, George |
publisher |
2,167 |
1,389 |
144 |
| Walker, John |
publisher |
2,572 |
1,325 |
182 |
| Saunders, H. |
publisher |
1,225 |
1,305 |
227 |
| Clarke, William |
publisher |
1,934 |
1,300 |
180 |
| Davies, William |
publisher |
1,516 |
1,298 |
153 |
| Payne, Thomas |
publisher |
3,130 |
1,298 |
131 |
| Goldsmith, William |
publisher |
2,454 |
1,274 |
254 |
| Nicholson, John |
publisher |
1,080 |
1,229 |
142 |
| Motte, Benjamin |
publisher |
1,754 |
1,222 |
52 |
| Bew, John |
publisher |
2,464 |
1,218 |
200 |
| Robinson, Ranew |
publisher |
1,083 |
1,181 |
59 |
| Clarke, John |
publisher |
1,525 |
1,088 |
132 |
| Bathurst, Charles |
publisher |
3,115 |
1,071 |
463 |
| Ward, John |
publisher |
2,554 |
1,049 |
205 |
| Browne, Daniel Ii |
publisher |
1,793 |
1,000 |
113 |
| Newbery, Elizabeth Mrs |
publisher |
2,309 |
942 |
137 |
| Grierson, George |
publisher |
2,664 |
936 |
73 |
| Lintot, Henry |
publisher |
2,613 |
924 |
132 |
| Hinton, John |
publisher |
1,326 |
924 |
365 |
| Hett, Richard |
publisher |
1,032 |
907 |
145 |
| Scatcherd, James |
publisher |
2,419 |
904 |
184 |
| Ward, Aaron |
publisher |
1,716 |
865 |
189 |
| Horsfield, Robert |
publisher |
2,275 |
839 |
204 |
| Pemberton, John |
publisher |
1,496 |
802 |
109 |
| Woodfall, Henry |
publisher |
2,741 |
790 |
150 |
| Osborn, John Ii |
publisher |
1,724 |
785 |
87 |
| Brindley, John |
publisher |
1,508 |
626 |
95 |
| Clay, Francis |
publisher |
2,276 |
374 |
181 |
| Darby, John |
publisher |
1,570 |
348 |
170 |
| pages |
| Robinson, George I |
publisher |
1,852,735 |
1,703,202 |
152,990 |
| Cadell, Thomas |
publisher |
1,923,035 |
1,533,797 |
374,947 |
| Strahan, William |
publisher |
2,223,762 |
1,482,405 |
366,644 |
| Longman, Thomas |
publisher |
2,151,570 |
1,290,462 |
376,116 |
| Baldwin, Robert I |
publisher |
2,198,299 |
1,205,681 |
295,838 |
| Johnston, William |
publisher |
2,022,684 |
1,154,143 |
269,345 |
| Law, Bedwell |
publisher |
1,898,245 |
1,168,379 |
202,881 |
| Caslon, Thomas |
publisher |
1,746,599 |
1,019,840 |
169,876 |
| Millar, Andrew |
publisher |
1,106,781 |
1,019,811 |
103,630 |
| Cadell, Thomas Ii |
publisher |
1,532,521 |
1,077,625 |
102,436 |
| F. and C. Rivington |
publisher |
1,200,125 |
848,237 |
62,670 |
| Rivington, John |
publisher |
1,677,519 |
952,599 |
315,955 |
| Hitch, Charles |
publisher |
1,679,834 |
924,538 |
356,793 |
| Johnson, John |
publisher |
1,083,707 |
810,070 |
45,961 |
| Roberts, James |
publisher |
330,035 |
284,872 |
14,946 |
| Dodsley, James |
publisher |
475,991 |
769,746 |
155,973 |
| J. and F. Rivington |
publisher |
1,958,067 |
850,270 |
244,827 |
| Becket, Thomas |
publisher |
1,071,697 |
677,106 |
109,737 |
| Crowder, Stanley |
publisher |
1,308,686 |
868,411 |
156,221 |
| Smith, W. |
publisher |
563,190 |
607,392 |
46,378 |
| Faulkner, George |
publisher |
414,395 |
468,661 |
155,032 |
| Hawes, Lacy |
publisher |
1,593,319 |
797,761 |
268,217 |
| Byrne, P. |
publisher |
566,915 |
695,175 |
45,822 |
| J. Exshaw |
publisher |
912,365 |
634,780 |
104,280 |
| Lowndes, Thomas |
publisher |
1,125,863 |
625,525 |
94,955 |
| Bettesworth, Arthur |
publisher |
1,312,172 |
680,405 |
121,995 |
| Dilly, Charles |
publisher |
1,193,246 |
718,456 |
97,386 |
| Williams, J. |
publisher |
798,596 |
655,527 |
216,092 |
| Powell, S. |
publisher |
342,657 |
427,827 |
30,268 |
| G. G. and J. Robinson |
publisher |
1,262,298 |
817,240 |
145,616 |
| Strahan, Andrew |
publisher |
751,719 |
783,093 |
78,600 |
| Wogan, P. |
publisher |
793,709 |
628,096 |
71,225 |
| Innys, William |
publisher |
706,273 |
669,912 |
50,797 |
| J. and P. Knapton |
publisher |
1,257,675 |
715,857 |
88,938 |
| Moore, J. |
publisher |
577,855 |
622,757 |
68,884 |
| Risk, George |
publisher |
641,645 |
408,317 |
46,347 |
| E. and C. Dilly |
publisher |
726,445 |
529,597 |
41,533 |
| Bell, John |
publisher |
359,019 |
339,855 |
43,276 |
| Cooper, Mary Mrs |
publisher |
772,444 |
375,228 |
71,223 |
| Potts, J. |
publisher |
588,490 |
498,298 |
84,973 |
| Hodges, James Sir |
publisher |
876,704 |
552,919 |
51,409 |
| Tonson, Jacob I |
publisher |
1,289,964 |
408,729 |
25,401 |
| Crowder, Samuel |
publisher |
1,511,266 |
686,205 |
152,022 |
| Jones, W. |
publisher |
460,346 |
494,068 |
100,237 |
| J. and R. Tonson |
publisher |
1,154,142 |
444,654 |
19,641 |
| Lowndes, William |
publisher |
958,062 |
474,887 |
78,275 |
| Wilson, P. |
publisher |
594,576 |
419,824 |
45,390 |
| Sleater, W. |
publisher |
459,521 |
443,016 |
66,073 |
| Davies, Thomas |
publisher |
1,218,264 |
500,029 |
92,530 |
| Powell, S. |
publisher |
390,958 |
296,485 |
40,135 |
| Bladon, Samuel |
publisher |
782,157 |
391,761 |
141,788 |
| Nichols, John |
publisher |
731,427 |
501,098 |
206,078 |
| Osborne, Thomas Ii |
publisher |
669,777 |
615,210 |
200,673 |
| Donaldson, A. |
publisher |
1,311,705 |
554,213 |
155,068 |
| Johnson, John |
publisher |
822,874 |
580,469 |
70,063 |
| Richardson, Joseph |
publisher |
740,391 |
546,232 |
102,450 |
| Birt, Samuel |
publisher |
1,078,551 |
519,378 |
60,110 |
| J. F. and C. Rivington |
publisher |
1,150,623 |
461,222 |
158,276 |
| Ware, Richard I |
publisher |
772,511 |
501,768 |
52,429 |
| Walker, T. |
publisher |
546,668 |
464,911 |
98,672 |
| Harrison and Co |
publisher |
514,512 |
404,144 |
48,300 |
| Nicoll, William |
publisher |
670,204 |
377,237 |
49,154 |
| Gosling, Robert |
publisher |
433,197 |
542,626 |
41,792 |
| Chamberlaine, D. |
publisher |
301,094 |
411,884 |
23,820 |
| Buckland, James |
publisher |
525,912 |
411,005 |
106,942 |
| Midwinter, Daniel |
publisher |
937,940 |
484,980 |
107,569 |
| Ware, Catherine Mrs |
publisher |
822,709 |
517,758 |
60,864 |
| Wilson, W. |
publisher |
647,210 |
423,109 |
29,152 |
| Longman, Thomas |
publisher |
1,100,557 |
476,036 |
82,036 |
| Lintott, Barnaby Bernard |
publisher |
631,004 |
313,009 |
100,418 |
| Davis, Lockyer John |
publisher |
653,280 |
455,108 |
132,591 |
| Rivington, Charles |
publisher |
595,882 |
422,355 |
47,805 |
| Mears, William |
publisher |
653,958 |
413,807 |
24,410 |
| Vernor and Hood |
publisher |
612,979 |
491,474 |
22,078 |
| Wilkie, John |
publisher |
395,362 |
401,079 |
15,329 |
| Walthoe, John I |
publisher |
588,401 |
451,991 |
56,240 |
| Richardson, William |
publisher |
945,329 |
482,125 |
62,001 |
| G. and T. Wilkie |
publisher |
1,005,105 |
430,375 |
60,045 |
| Kearsley, George |
publisher |
618,931 |
303,646 |
51,288 |
| Keith, George |
publisher |
808,693 |
438,661 |
39,557 |
| Walker, John |
publisher |
958,726 |
461,104 |
57,629 |
| Saunders, H. |
publisher |
295,874 |
312,485 |
64,222 |
| Clarke, William |
publisher |
680,662 |
350,073 |
63,118 |
| Davies, William |
publisher |
557,528 |
452,652 |
61,664 |
| Payne, Thomas |
publisher |
1,205,284 |
450,713 |
36,690 |
| Goldsmith, William |
publisher |
881,412 |
465,133 |
80,952 |
| Nicholson, John |
publisher |
415,342 |
373,346 |
64,306 |
| Motte, Benjamin |
publisher |
658,914 |
312,949 |
24,067 |
| Bew, John |
publisher |
813,582 |
288,182 |
52,396 |
| Robinson, Ranew |
publisher |
444,847 |
317,830 |
26,649 |
| Clarke, John |
publisher |
550,145 |
325,767 |
46,256 |
| Bathurst, Charles |
publisher |
1,113,717 |
316,166 |
188,003 |
| Ward, John |
publisher |
936,219 |
362,393 |
68,545 |
| Browne, Daniel Ii |
publisher |
681,391 |
353,489 |
53,637 |
| Newbery, Elizabeth Mrs |
publisher |
783,393 |
295,656 |
39,809 |
| Grierson, George |
publisher |
723,733 |
164,831 |
8,649 |
| Lintot, Henry |
publisher |
890,530 |
323,730 |
43,163 |
| Hinton, John |
publisher |
609,489 |
316,167 |
139,366 |
| Hett, Richard |
publisher |
407,236 |
207,572 |
56,082 |
| Scatcherd, James |
publisher |
807,026 |
284,784 |
59,147 |
| Ward, Aaron |
publisher |
759,068 |
275,274 |
73,603 |
| Horsfield, Robert |
publisher |
868,257 |
263,991 |
60,757 |
| Pemberton, John |
publisher |
714,359 |
230,766 |
53,810 |
| Woodfall, Henry |
publisher |
934,687 |
325,876 |
51,640 |
| Osborn, John Ii |
publisher |
585,892 |
266,273 |
37,537 |
| Brindley, John |
publisher |
495,443 |
166,988 |
14,033 |
| Clay, Francis |
publisher |
875,395 |
128,369 |
58,600 |
| Darby, John |
publisher |
585,774 |
88,820 |
55,938 |
In total, 19 roles, 10698 actors.
library(gghsci)
actor_split %>%
filter(set=="test") %>%
count(actor_role, ecco_id) %>%
count(actor_role, n) %>%
ggplot(aes(x=n,y=nn)) +
geom_col() +
theme_hsci_discrete() +
ylab("ECCO documents") +
xlab("Number of actors attached") +
ggtitle("Test set label count distribution by actor role") +
facet_wrap(~actor_role, scales="free")
Storing counts in `nn`, as `n` already present in input
ℹ Use `name = "new_name"` to pick a new name.

LS0tCnRpdGxlOiAiRUNDTyBtdWx0aS10YXJnZXQgc3BsaXQgY3JlYXRpb24iCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgY29kZV9mb2xkaW5nOiBoaWRlCiAgICB0b2M6IHllcyAgCiAgd29yZF9kb2N1bWVudDoKICAgIHRvYzogeWVzCiAgICBrZWVwX21kOiB5ZXMgIAotLS0KCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoZWNjb3IpCmxpYnJhcnkoZXN0Y3IpCmVjY29fY29yZSA8LSBsb2FkX2VjY29fY29yZSgpCmVzdGNfY29yZSA8LSBsb2FkX2VzdGNfY29yZSgpCmVzdGNfYWN0b3JfbGlua3MgPC0gbG9hZF9lc3RjX2FjdG9yX2xpbmtzKCkKZXN0Y19hY3RvcnMgPC0gbG9hZF9lc3RjX2FjdG9ycygpCndvcmtzIDwtIGVjY29fY29yZSAlPiUgCiAgbGVmdF9qb2luKGVzdGNfY29yZSwgam9pbl9ieShlc3RjX2lkKSkgJT4lCiAgcmVwbGFjZV9uYShsaXN0KHdvcmtfaWQ9InVua25vd24gd29yayIsIHB1YmxpY2F0aW9uX3BsYWNlPSJ1bmtub3duIHBsYWNlIG9mIHB1YmxpY2F0aW9uIikpICU+JQogIGdyb3VwX2J5KHdvcmtfaWQpICU+JQogIHN1bW1hcmlzZSgKICAgIGVhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXI9bWluKHB1YmxpY2F0aW9uX3llYXIpLAogICAgZWNjb19wYXJ0cz1zdHJfZmxhdHRlbihzb3J0KHVuaXF1ZShlY2NvX3BhcnQpKSwgY29sbGFwc2UgPSAifCIpLAogICAgZWNjb19sYW5ndWFnZXM9c3RyX2ZsYXR0ZW4oc29ydCh1bmlxdWUoZWNjb19sYW5ndWFnZSkpLCBjb2xsYXBzZSA9ICJ8IiksCiAgICBoYXNfcHJpY2VzPWFsbCghaXMubmEodG90YWxfcHJpY2UpKSwKICAgIHBsYWNlc19vZl9wdWJsaWNhdGlvbj1zdHJfZmxhdHRlbihzb3J0KHVuaXF1ZShwdWJsaWNhdGlvbl9wbGFjZSkpLCBjb2xsYXBzZSA9ICJ8IiksCiAgICBlY2NvX21vZHVsZXM9c3RyX2ZsYXR0ZW4oc29ydCh1bmlxdWUoZWNjb19tb2R1bGUpKSwgY29sbGFwc2UgPSAifCIpLCAuZ3JvdXBzPSJkcm9wIikgJT4lIAogIG11dGF0ZShlYXJsaWVzdF9wdWJsaWNhdGlvbl9kZWNhZGU9Zmxvb3IoZWFybGllc3RfcHVibGljYXRpb25feWVhci8xMCkqMTApICU+JQogIHNlbGVjdCh3b3JrX2lkLCBlYXJsaWVzdF9wdWJsaWNhdGlvbl9kZWNhZGUsIGVjY29fcGFydHMsIGVjY29fbW9kdWxlcywgZWNjb19sYW5ndWFnZXMsIHBsYWNlc19vZl9wdWJsaWNhdGlvbiwgaGFzX3ByaWNlcykKCmVjY29faWRzX3RvX3dvcmtzIDwtIGVjY29fY29yZSAlPiUgCiAgbGVmdF9qb2luKGVzdGNfY29yZSwgam9pbl9ieShlc3RjX2lkKSkgJT4lCiAgcmVwbGFjZV9uYShsaXN0KHdvcmtfaWQ9InVua25vd24gd29yayIpKSAlPiUKICBzZWxlY3QoZWNjb19pZCwgd29ya19pZCkKYGBgCgpgYGB7cn0KZWNjb190ZXN0IDwtIHdvcmtzICU+JQogIGdyb3VwX2J5KGVjY29fcGFydHMsIGVjY29fbW9kdWxlcywgZWFybGllc3RfcHVibGljYXRpb25fZGVjYWRlLCBlY2NvX2xhbmd1YWdlcywgcGxhY2VzX29mX3B1YmxpY2F0aW9uLCBoYXNfcHJpY2VzKSAlPiUKICBzbGljZV9zYW1wbGUocHJvcD0wLjEpICU+JSAjIHNlbGVjdCBhdCBtb3N0IDEwJSBvZiB0aGUgd29ya3MKICBzbGljZV9zYW1wbGUobj01KSAlPiUgIyBmaWx0ZXIgZG93biB0byBtYXggNSBwZXIgZ3JvdXAKICBncm91cF9ieShlY2NvX21vZHVsZXMsIGVjY29fbGFuZ3VhZ2VzKSAlPiUKICBzbGljZV9zYW1wbGUobj0xMDAwKSAlPiUKICBncm91cF9ieShwbGFjZXNfb2ZfcHVibGljYXRpb24sIGVjY29fbGFuZ3VhZ2VzKSAlPiUKICBzbGljZV9zYW1wbGUobj0xMDAwKSAlPiUKICBncm91cF9ieShoYXNfcHJpY2VzLCBlY2NvX2xhbmd1YWdlcykgJT4lCiAgc2xpY2Vfc2FtcGxlKG49MTAwMCkgJT4lCiAgdW5ncm91cCgpICU+JQogIHNsaWNlX3NhbXBsZShuPTEwMDApICU+JSAjIGl0ZXJhdGl2ZWx5IHBhcmUgZG93biBmdXJ0aGVyCiAgaW5uZXJfam9pbihlY2NvX2lkc190b193b3JrcykgJT4lCiAgc2VsZWN0KGVjY29faWQsIHdvcmtfaWQpCgplY2NvX3ZhbCA8LSB3b3JrcyAlPiUKICBhbnRpX2pvaW4oZWNjb190ZXN0KSAlPiUKICBncm91cF9ieShlY2NvX3BhcnRzLCBlY2NvX21vZHVsZXMsIGVhcmxpZXN0X3B1YmxpY2F0aW9uX2RlY2FkZSwgZWNjb19sYW5ndWFnZXMsIHBsYWNlc19vZl9wdWJsaWNhdGlvbiwgaGFzX3ByaWNlcykgJT4lCiAgc2xpY2Vfc2FtcGxlKHByb3A9MC4xKSAlPiUgIyBzZWxlY3QgYXQgbW9zdCAxMCUgb2YgdGhlIHdvcmtzCiAgc2xpY2Vfc2FtcGxlKG49NSkgJT4lICMgZmlsdGVyIGRvd24gdG8gbWF4IDUgcGVyIGdyb3VwCiAgZ3JvdXBfYnkoZWNjb19tb2R1bGVzLCBlY2NvX2xhbmd1YWdlcykgJT4lCiAgc2xpY2Vfc2FtcGxlKG49MTAwMCkgJT4lCiAgZ3JvdXBfYnkocGxhY2VzX29mX3B1YmxpY2F0aW9uLCBlY2NvX2xhbmd1YWdlcykgJT4lCiAgc2xpY2Vfc2FtcGxlKG49MTAwMCkgJT4lCiAgZ3JvdXBfYnkoaGFzX3ByaWNlcywgZWNjb19sYW5ndWFnZXMpICU+JQogIHNsaWNlX3NhbXBsZShuPTEwMDApICU+JQogIHVuZ3JvdXAoKSAlPiUKICBzbGljZV9zYW1wbGUobj0xMDAwKSAlPiUgIyBpdGVyYXRpdmVseSBwYXJlIGRvd24gZnVydGhlcgogIGlubmVyX2pvaW4oZWNjb19pZHNfdG9fd29ya3MpICU+JQogIHNlbGVjdChlY2NvX2lkLCB3b3JrX2lkKQoKZWNjb190cmFpbiA8LSB3b3JrcyAlPiUKICBhbnRpX2pvaW4oZWNjb190ZXN0KSAlPiUKICBhbnRpX2pvaW4oZWNjb192YWwpICU+JQogIGlubmVyX2pvaW4oZWNjb19pZHNfdG9fd29ya3MpICU+JQogIHNlbGVjdChlY2NvX2lkLCB3b3JrX2lkKQpgYGAKCmBgYHtyfQpsaWJyYXJ5KGhlcmUpCmVjY29fdGVzdCA8LSByZWFkX3RzdihoZXJlKCJkYXRhL291dHB1dC9lY2NvX3Rlc3Rfc3BsaXRfYnlfcGFydF9tb2R1bGVfbGFuZ3VhZ2VfcHJpY2VfcHVibGljYXRpb25fcGxhY2VfYW5kX2RlY2FkZS50c3YiKSkKZWNjb192YWwgPC0gcmVhZF90c3YoaGVyZSgiZGF0YS9vdXRwdXQvZWNjb192YWxfc3BsaXRfYnlfcGFydF9tb2R1bGVfbGFuZ3VhZ2VfcHJpY2VfcHVibGljYXRpb25fcGxhY2VfYW5kX2RlY2FkZS50c3YiKSkKZWNjb190cmFpbiA8LSByZWFkX3RzdihoZXJlKCJkYXRhL291dHB1dC9lY2NvX3RyYWluX3NwbGl0X2J5X3BhcnRfbW9kdWxlX2xhbmd1YWdlX3ByaWNlX3B1YmxpY2F0aW9uX3BsYWNlX2FuZF9kZWNhZGUudHN2IikpCmBgYAoKYGBge3J9CnRhcmdldHMgPC0gZWNjb19jb3JlICU+JQogIGxlZnRfam9pbihlc3RjX2NvcmUsIGpvaW5fYnkoZXN0Y19pZCkpICU+JQogIGxlZnRfam9pbihlc3RjX2NvcmUgJT4lIAogICAgICAgICAgICAgIGdyb3VwX2J5KHdvcmtfaWQpICU+JSAKICAgICAgICAgICAgICBmaWx0ZXIocHVibGljYXRpb25feWVhcj09bWluKHB1YmxpY2F0aW9uX3llYXIpKSAlPiUKICAgICAgICAgICAgICBzdW1tYXJpc2UoZWFybGllc3RfcHVibGljYXRpb25feWVhcj1taW4ocHVibGljYXRpb25feWVhciksIGVhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXJfZGVmaW5pdGUgPSAhYW55KHVuY2VydGFpbiB8IGNpcmNhIHwgcmFuZ2UpKQogICAgICAgICAgICAgICwgam9pbl9ieSh3b3JrX2lkKQogICAgICAgICAgICApICU+JQogIHRyYW5zbXV0ZShlY2NvX2lkLCBlY2NvX3BhcnQsIGVjY29fbW9kdWxlLCBwdWJsaWNhdGlvbl95ZWFyLCBwdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlID0gIShpcy5uYShwdWJsaWNhdGlvbl95ZWFyKSB8IHVuY2VydGFpbiB8IGNpcmNhIHwgcmFuZ2UpLCBlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyLCBlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlLCBwcmltYXJ5X2xhbmd1YWdlLCB0b3RhbF9wcmljZSwgcHVibGljYXRpb25fcGxhY2UsIHB1YmxpY2F0aW9uX2NvdW50cnksIHB1YmxpY2F0aW9uX3BsYWNlX2RlZHVjZWQ9b3JnXzI2MF9hX3NxdWFyZV9icmFja2V0cywgcGFnZXM9ZWNjb19wYWdlcywgZXN0Y19pZCkKCmVjY29fdGVzdCA8LSBlY2NvX3Rlc3QgJT4lIGxlZnRfam9pbih0YXJnZXRzLCBqb2luX2J5KGVjY29faWQpKQplY2NvX3ZhbCA8LSBlY2NvX3ZhbCAlPiUgbGVmdF9qb2luKHRhcmdldHMsIGpvaW5fYnkoZWNjb19pZCkpCmVjY29fdHJhaW4gPC0gZWNjb190cmFpbiAlPiUgbGVmdF9qb2luKHRhcmdldHMsIGpvaW5fYnkoZWNjb19pZCkpCnNwbGl0IDwtIGVjY29fdGVzdCAlPiUgCiAgbXV0YXRlKHNldD0idGVzdCIpICU+JQogIHVuaW9uX2FsbCgKICAgIGVjY29fdmFsICU+JSAKICAgICAgbXV0YXRlKHNldD0idmFsIikKICApICU+JQogIHVuaW9uX2FsbCgKICAgIGVjY29fdHJhaW4gJT4lIAogICAgICBtdXRhdGUoc2V0PSJ0cmFpbiIpCiAgKQpgYGAKCmBgYHtyfQp0b19tb3ZlX3B1YmxpY2F0aW9uX3llYXIgPC0gc3BsaXQgJT4lIAogIGZpbHRlcihzZXQ9PSJ0cmFpbiIpICU+JSAKICBncm91cF9ieShwdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlLCBwdWJsaWNhdGlvbl95ZWFyKSAlPiUgCiAgc3VtbWFyaXNlKHdvcmtzPW5fZGlzdGluY3Qod29ya19pZCksIC5ncm91cHM9ImRyb3AiKSAlPiUKICBhbnRpX2pvaW4oc3BsaXQgJT4lIAogICAgICAgICAgICAgIGZpbHRlcihzZXQhPSJ0cmFpbiIpICU+JSAKICAgICAgICAgICAgICBncm91cF9ieShwdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlLCBwdWJsaWNhdGlvbl95ZWFyKSAlPiUgCiAgICAgICAgICAgICAgc3VtbWFyaXNlKHdvcmtzPW5fZGlzdGluY3Qod29ya19pZCksIC5ncm91cHM9ImRyb3AiKSAlPiUKICAgICAgICAgICAgICBmaWx0ZXIod29ya3M+PTUpLCBqb2luX2J5KHB1YmxpY2F0aW9uX3llYXJfZGVmaW5pdGUsIHB1YmxpY2F0aW9uX3llYXIpKSAlPiUKICBmaWx0ZXIod29ya3M+PTEwKSAlPiUKICBpbm5lcl9qb2luKHNwbGl0ICU+JSAKICAgIGZpbHRlcihzZXQ9PSJ0cmFpbiIpKSAlPiUKICBkaXN0aW5jdChwdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlLCBwdWJsaWNhdGlvbl95ZWFyLCB3b3JrX2lkKSAlPiUgCiAgZ3JvdXBfYnkocHVibGljYXRpb25feWVhcl9kZWZpbml0ZSwgcHVibGljYXRpb25feWVhcikgJT4lCiAgc2xpY2Vfc2FtcGxlKG49NSkKCnRvX21vdmVfcHVibGljYXRpb25feWVhcl92YWwgPC0gdG9fbW92ZV9wdWJsaWNhdGlvbl95ZWFyICU+JQogIHNsaWNlX3NhbXBsZShuPTIpICU+JQogIG11dGF0ZShuZXdfc2V0PSJ2YWwiKQoKdG9fbW92ZV9wdWJsaWNhdGlvbl95ZWFyIDwtIHRvX21vdmVfcHVibGljYXRpb25feWVhciAlPiUKICBhbnRpX2pvaW4odG9fbW92ZV9wdWJsaWNhdGlvbl95ZWFyX3ZhbCkgJT4lCiAgbXV0YXRlKG5ld19zZXQ9InRlc3QiKSAlPiUKICB1bmlvbl9hbGwodG9fbW92ZV9wdWJsaWNhdGlvbl95ZWFyX3ZhbCkgJT4lCiAgdW5ncm91cCgpICU+JQogIHNlbGVjdCh3b3JrX2lkLCBuZXdfc2V0KQogIAp0b19tb3ZlX2VhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXIgPC0gc3BsaXQgJT4lIAogIGZpbHRlcihzZXQ9PSJ0cmFpbiIpICU+JSAKICBncm91cF9ieShlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlLCBlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyKSAlPiUgCiAgc3VtbWFyaXNlKHdvcmtzPW5fZGlzdGluY3Qod29ya19pZCksIC5ncm91cHM9ImRyb3AiKSAlPiUKICBhbnRpX2pvaW4oc3BsaXQgJT4lIAogICAgICAgICAgICAgIGZpbHRlcihzZXQhPSJ0cmFpbiIpICU+JSAKICAgICAgICAgICAgICBncm91cF9ieShlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlLCBlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyKSAlPiUgCiAgICAgICAgICAgICAgc3VtbWFyaXNlKHdvcmtzPW5fZGlzdGluY3Qod29ya19pZCksIC5ncm91cHM9ImRyb3AiKSAlPiUKICAgICAgICAgICAgICBmaWx0ZXIod29ya3M+PTUpLCBqb2luX2J5KGVhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXJfZGVmaW5pdGUsIGVhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXIpKSAlPiUKICBmaWx0ZXIod29ya3M+PTEwKSAlPiUKICBpbm5lcl9qb2luKHNwbGl0ICU+JSAKICAgIGZpbHRlcihzZXQ9PSJ0cmFpbiIpKSAlPiUKICBkaXN0aW5jdChlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlLCBlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyLCB3b3JrX2lkKSAlPiUgCiAgZ3JvdXBfYnkoZWFybGllc3RfcHVibGljYXRpb25feWVhcl9kZWZpbml0ZSwgZWFybGllc3RfcHVibGljYXRpb25feWVhcikgJT4lCiAgc2xpY2Vfc2FtcGxlKG49NSkKCnRvX21vdmVfZWFybGllc3RfcHVibGljYXRpb25feWVhcl92YWwgPC0gdG9fbW92ZV9lYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyICU+JQogIHNsaWNlX3NhbXBsZShuPTIpICU+JQogIG11dGF0ZShuZXdfc2V0PSJ2YWwiKQoKdG9fbW92ZV9lYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyIDwtIHRvX21vdmVfZWFybGllc3RfcHVibGljYXRpb25feWVhciAlPiUKICBhbnRpX2pvaW4odG9fbW92ZV9lYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyX3ZhbCkgJT4lCiAgbXV0YXRlKG5ld19zZXQ9InRlc3QiKSAlPiUKICB1bmlvbl9hbGwodG9fbW92ZV9lYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyX3ZhbCkgJT4lCiAgdW5ncm91cCgpICU+JQogIHNlbGVjdCh3b3JrX2lkLCBuZXdfc2V0KQoKdG9fbW92ZV9wcmltYXJ5X2xhbmd1YWdlIDwtIHNwbGl0ICU+JSAKICBmaWx0ZXIoc2V0PT0idHJhaW4iKSAlPiUgCiAgZ3JvdXBfYnkocHJpbWFyeV9sYW5ndWFnZSkgJT4lIAogIHN1bW1hcmlzZSh3b3Jrcz1uX2Rpc3RpbmN0KHdvcmtfaWQpLCAuZ3JvdXBzPSJkcm9wIikgJT4lCiAgYW50aV9qb2luKHNwbGl0ICU+JSAKICAgICAgICAgICAgICBmaWx0ZXIoc2V0IT0idHJhaW4iKSAlPiUgCiAgICAgICAgICAgICAgZ3JvdXBfYnkocHJpbWFyeV9sYW5ndWFnZSkgJT4lIAogICAgICAgICAgICAgIHN1bW1hcmlzZSh3b3Jrcz1uX2Rpc3RpbmN0KHdvcmtfaWQpLCAuZ3JvdXBzPSJkcm9wIikgJT4lCiAgICAgICAgICAgICAgZmlsdGVyKHdvcmtzPj01KSwgam9pbl9ieShwcmltYXJ5X2xhbmd1YWdlKSkgJT4lCiAgZmlsdGVyKHdvcmtzPj0xMCkgJT4lCiAgaW5uZXJfam9pbihzcGxpdCAlPiUgCiAgICBmaWx0ZXIoc2V0PT0idHJhaW4iKSkgJT4lCiAgZGlzdGluY3QocHJpbWFyeV9sYW5ndWFnZSwgd29ya19pZCkgJT4lIAogIGdyb3VwX2J5KHByaW1hcnlfbGFuZ3VhZ2UpICU+JQogIHNsaWNlX3NhbXBsZShuPTUpCgp0b19tb3ZlX3ByaW1hcnlfbGFuZ3VhZ2VfdmFsIDwtIHRvX21vdmVfcHJpbWFyeV9sYW5ndWFnZSAlPiUKICBzbGljZV9zYW1wbGUobj0yKSAlPiUKICBtdXRhdGUobmV3X3NldD0idmFsIikKCnRvX21vdmVfcHJpbWFyeV9sYW5ndWFnZSA8LSB0b19tb3ZlX3ByaW1hcnlfbGFuZ3VhZ2UgJT4lCiAgYW50aV9qb2luKHRvX21vdmVfcHJpbWFyeV9sYW5ndWFnZV92YWwpICU+JQogIG11dGF0ZShuZXdfc2V0PSJ0ZXN0IikgJT4lCiAgdW5pb25fYWxsKHRvX21vdmVfcHJpbWFyeV9sYW5ndWFnZV92YWwpICU+JQogIHVuZ3JvdXAoKSAlPiUKICBzZWxlY3Qod29ya19pZCwgbmV3X3NldCkKCnRvX21vdmVfcHVibGljYXRpb25fcGxhY2UgPC0gc3BsaXQgJT4lIAogIGZpbHRlcihzZXQ9PSJ0cmFpbiIpICU+JSAKICBncm91cF9ieShwdWJsaWNhdGlvbl9wbGFjZV9kZWR1Y2VkLCAgcHVibGljYXRpb25fcGxhY2UpICU+JSAKICBzdW1tYXJpc2Uod29ya3M9bl9kaXN0aW5jdCh3b3JrX2lkKSwgLmdyb3Vwcz0iZHJvcCIpICU+JQogIGFudGlfam9pbihzcGxpdCAlPiUgCiAgICAgICAgICAgICAgZmlsdGVyKHNldCE9InRyYWluIikgJT4lIAogICAgICAgICAgICAgIGdyb3VwX2J5KHB1YmxpY2F0aW9uX3BsYWNlX2RlZHVjZWQsICBwdWJsaWNhdGlvbl9wbGFjZSkgJT4lIAogICAgICAgICAgICAgIHN1bW1hcmlzZSh3b3Jrcz1uX2Rpc3RpbmN0KHdvcmtfaWQpLCAuZ3JvdXBzPSJkcm9wIikgJT4lCiAgICAgICAgICAgICAgZmlsdGVyKHdvcmtzPj01KSwgam9pbl9ieShwdWJsaWNhdGlvbl9wbGFjZV9kZWR1Y2VkLCAgcHVibGljYXRpb25fcGxhY2UpKSAlPiUKICBmaWx0ZXIod29ya3M+PTEwKSAlPiUKICBpbm5lcl9qb2luKHNwbGl0ICU+JSAKICAgIGZpbHRlcihzZXQ9PSJ0cmFpbiIpKSAlPiUKICBkaXN0aW5jdChwdWJsaWNhdGlvbl9wbGFjZV9kZWR1Y2VkLCAgcHVibGljYXRpb25fcGxhY2UsIHdvcmtfaWQpICU+JSAKICBncm91cF9ieShwdWJsaWNhdGlvbl9wbGFjZV9kZWR1Y2VkLCAgcHVibGljYXRpb25fcGxhY2UpICU+JQogIHNsaWNlX3NhbXBsZShuPTUpICU+JQogIHVuZ3JvdXAoKSAlPiUKICBzZWxlY3Qod29ya19pZCkKCnRvX21vdmVfcHVibGljYXRpb25fcGxhY2VfdmFsIDwtIHRvX21vdmVfcHVibGljYXRpb25fcGxhY2UgJT4lCiAgc2xpY2Vfc2FtcGxlKG49MikgJT4lCiAgbXV0YXRlKG5ld19zZXQ9InZhbCIpCgp0b19tb3ZlX3B1YmxpY2F0aW9uX3BsYWNlIDwtIHRvX21vdmVfcHVibGljYXRpb25fcGxhY2UgJT4lCiAgYW50aV9qb2luKHRvX21vdmVfcHVibGljYXRpb25fcGxhY2VfdmFsKSAlPiUKICBtdXRhdGUobmV3X3NldD0idGVzdCIpICU+JQogIHVuaW9uX2FsbCh0b19tb3ZlX3B1YmxpY2F0aW9uX3BsYWNlX3ZhbCkgJT4lCiAgdW5ncm91cCgpICU+JQogIHNlbGVjdCh3b3JrX2lkLCBuZXdfc2V0KQoKZCA8LSBzcGxpdCAlPiUgCiAgbGVmdF9qb2luKGVzdGNfYWN0b3JfbGlua3MpICU+JSAKICBzZWxlY3Qoc2V0LCB3b3JrX2lkLCBhY3Rvcl9pZCwgYWN0b3Jfcm9sZXNfYWxsKSAlPiUgCiAgc2VwYXJhdGVfcm93cyhhY3Rvcl9yb2xlc19hbGwsIHNlcD0iOyAiKSAlPiUKICBkaXN0aW5jdCgpCgp0b19tb3ZlX2FjdG9yIDwtIGQgJT4lCiAgZmlsdGVyKHNldD09InRyYWluIikgJT4lIAogIGdyb3VwX2J5KGFjdG9yX2lkLGFjdG9yX3JvbGVzX2FsbCkgJT4lIAogIHN1bW1hcmlzZSh3b3Jrcz1uX2Rpc3RpbmN0KHdvcmtfaWQpLCAuZ3JvdXBzPSJkcm9wIikgJT4lCiAgYW50aV9qb2luKGQgJT4lIAogICAgICAgICAgICAgIGZpbHRlcihzZXQhPSJ0cmFpbiIpICU+JSAKICAgICAgICAgICAgICBncm91cF9ieShhY3Rvcl9yb2xlc19hbGwsIGFjdG9yX2lkKSAlPiUgCiAgICAgICAgICAgICAgc3VtbWFyaXNlKHdvcmtzPW5fZGlzdGluY3Qod29ya19pZCksIC5ncm91cHM9ImRyb3AiKSAlPiUKICAgICAgICAgICAgICBmaWx0ZXIod29ya3M+PTUpLCBqb2luX2J5KGFjdG9yX2lkKSkgJT4lCiAgZmlsdGVyKHdvcmtzPj01MCkgJT4lCiAgaW5uZXJfam9pbihkICU+JSAKICAgIGZpbHRlcihzZXQ9PSJ0cmFpbiIpKSAlPiUKICBkaXN0aW5jdChhY3Rvcl9pZCwgd29ya19pZCkgJT4lIAogIGdyb3VwX2J5KGFjdG9yX2lkKSAlPiUKICBzbGljZV9zYW1wbGUobj03KQoKdG9fbW92ZV9hY3Rvcl92YWwgPC0gdG9fbW92ZV9hY3RvciAlPiUKICBzbGljZV9zYW1wbGUobj0yKSAlPiUKICBtdXRhdGUobmV3X3NldD0idmFsIikKCnRvX21vdmVfYWN0b3IgPC0gdG9fbW92ZV9hY3RvciAlPiUKICBhbnRpX2pvaW4odG9fbW92ZV9hY3Rvcl92YWwpICU+JQogIG11dGF0ZShuZXdfc2V0PSJ0ZXN0IikgJT4lCiAgdW5pb25fYWxsKHRvX21vdmVfYWN0b3JfdmFsKSAlPiUKICB1bmdyb3VwKCkgJT4lCiAgc2VsZWN0KHdvcmtfaWQsIG5ld19zZXQpCgp0b19tb3ZlIDwtIHRvX21vdmVfZWFybGllc3RfcHVibGljYXRpb25feWVhciAlPiUgCiAgdW5pb24odG9fbW92ZV9wdWJsaWNhdGlvbl95ZWFyKSAlPiUKICB1bmlvbih0b19tb3ZlX3ByaW1hcnlfbGFuZ3VhZ2UpICU+JQogIHVuaW9uKHRvX21vdmVfcHVibGljYXRpb25fcGxhY2UpICU+JQogIHVuaW9uKHRvX21vdmVfYWN0b3IpICU+JQogIGdyb3VwX2J5KHdvcmtfaWQpICU+JQogIHN1bW1hcmlzZShuZXdfc2V0PWlmX2Vsc2UoYW55KG5ld19zZXQ9PSJ0ZXN0IiksInRlc3QiLCAidmFsIikpCgpzcGxpdCA8LSBzcGxpdCAlPiUKICBsZWZ0X2pvaW4odG9fbW92ZSwgam9pbl9ieSh3b3JrX2lkKSkgJT4lCiAgbXV0YXRlKHNldD1jb2FsZXNjZShuZXdfc2V0LHNldCkpICU+JQogIHNlbGVjdCgtbmV3X3NldCkKYGBgCgpgYGB7cn0Kc3NwbGl0IDwtIHNwbGl0CndoaWxlIChUUlVFKSB7CiAgYmFkX3Rlc3QgPC0gc3BsaXQgJT4lCiAgICBmaWx0ZXIoc2V0IT0idHJhaW4iLCBwdWJsaWNhdGlvbl95ZWFyPDE3MDAgfCBwdWJsaWNhdGlvbl95ZWFyPjE4MDAgfCBlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyPjE4MDApICU+JQogICAgdW5pb24oc3BsaXQgJT4lCiAgICAgIGZpbHRlcihzZXQhPSJ0cmFpbiIpICU+JSAKICAgICAgYW50aV9qb2luKHNwbGl0ICU+JSBmaWx0ZXIoc2V0PT0idHJhaW4iKSwgam9pbl9ieShwdWJsaWNhdGlvbl9wbGFjZSkpCiAgICApICU+JQogICAgdW5pb24oc3BsaXQgJT4lCiAgICAgIGZpbHRlcihzZXQhPSJ0cmFpbiIpICU+JSAKICAgICAgYW50aV9qb2luKHNwbGl0ICU+JSBmaWx0ZXIoc2V0PT0idHJhaW4iKSwgam9pbl9ieShwdWJsaWNhdGlvbl9jb3VudHJ5KSkKICAgICkgJT4lCiAgICB1bmlvbihzcGxpdCAlPiUKICAgICAgZmlsdGVyKHNldCE9InRyYWluIikgJT4lIAogICAgICBhbnRpX2pvaW4oc3BsaXQgJT4lIGZpbHRlcihzZXQ9PSJ0cmFpbiIpLCBqb2luX2J5KHByaW1hcnlfbGFuZ3VhZ2UpKQogICAgKSAlPiUKICAgIHVuaW9uKHNwbGl0ICU+JQogICAgICBmaWx0ZXIoc2V0IT0idHJhaW4iKSAlPiUgCiAgICAgIGFudGlfam9pbihzcGxpdCAlPiUgZmlsdGVyKHNldD09InRyYWluIiksIGpvaW5fYnkocHVibGljYXRpb25fY291bnRyeSkpCiAgICApICU+JQogICAgZGlzdGluY3Qod29ya19pZCkgJT4lCiAgICBtdXRhdGUobmV3X3NldD0idHJhaW4iKQogIG9sZF9zcGxpdCA8LSBzcGxpdAogIHNwbGl0IDwtIHNwbGl0ICU+JQogICAgbGVmdF9qb2luKGJhZF90ZXN0LCBqb2luX2J5KHdvcmtfaWQpKSAlPiUKICAgIG11dGF0ZShzZXQ9Y29hbGVzY2UobmV3X3NldCxzZXQpKSAlPiUKICAgIHNlbGVjdCgtbmV3X3NldCkKICBpZiAoYWxsKG9sZF9zcGxpdCRzZXQ9PXNwbGl0JHNldCkpIGJyZWFrCn0KYGBgCgoKYGBge3J9Cm1ham9yX3ByaW1hcnlfbGFuZ3VhZ2UgPC0gc3BsaXQgJT4lIAogIGZpbHRlcihzZXQ9PSJ0ZXN0IikgJT4lIAogIGdyb3VwX2J5KHByaW1hcnlfbGFuZ3VhZ2UpICU+JSAKICBzdW1tYXJpc2Uod29ya3M9bl9kaXN0aW5jdCh3b3JrX2lkKSwgZG9jdW1lbnRzPW4oKSwgcGFnZXM9c3VtKHBhZ2VzKSkgJT4lCiAgdHJhbnNtdXRlKHByaW1hcnlfbGFuZ3VhZ2UsbWFqb3JfcHJpbWFyeV9sYW5ndWFnZT1pZl9lbHNlKGlzLm5hKHByaW1hcnlfbGFuZ3VhZ2UpIHwgd29ya3M+PTEwLHByaW1hcnlfbGFuZ3VhZ2UsICJPdGhlciIpKQoKc3BsaXQgPC0gc3BsaXQgJT4lCiAgbGVmdF9qb2luKG1ham9yX3ByaW1hcnlfbGFuZ3VhZ2UpCgptYWpvcl9wdWJsaWNhdGlvbl9wbGFjZSA8LSBzcGxpdCAlPiUKICBmaWx0ZXIoc2V0PT0idGVzdCIpICU+JSAKICBncm91cF9ieShwdWJsaWNhdGlvbl9wbGFjZSkgJT4lIAogIHN1bW1hcmlzZSh3b3Jrcz1uX2Rpc3RpbmN0KHdvcmtfaWQpLCBkb2N1bWVudHM9bigpLCBwYWdlcz1zdW0ocGFnZXMpKSAlPiUKICB0cmFuc211dGUocHVibGljYXRpb25fcGxhY2UsbWFqb3JfcHVibGljYXRpb25fcGxhY2U9aWZfZWxzZShpcy5uYShwdWJsaWNhdGlvbl9wbGFjZSkgfCB3b3Jrcz49MjAscHVibGljYXRpb25fcGxhY2UsICJPdGhlciIpKQoKc3BsaXQgPC0gc3BsaXQgJT4lCiAgbGVmdF9qb2luKG1ham9yX3B1YmxpY2F0aW9uX3BsYWNlKQoKbWFqb3JfcHVibGljYXRpb25fY291bnRyeSA8LSBzcGxpdCAlPiUKICBmaWx0ZXIoc2V0PT0idGVzdCIpICU+JSAKICBncm91cF9ieShwdWJsaWNhdGlvbl9jb3VudHJ5KSAlPiUgCiAgc3VtbWFyaXNlKHdvcmtzPW5fZGlzdGluY3Qod29ya19pZCksIGRvY3VtZW50cz1uKCksIHBhZ2VzPXN1bShwYWdlcykpICU+JQogIHRyYW5zbXV0ZShwdWJsaWNhdGlvbl9jb3VudHJ5LG1ham9yX3B1YmxpY2F0aW9uX2NvdW50cnk9aWZfZWxzZShpcy5uYShwdWJsaWNhdGlvbl9jb3VudHJ5KSB8IHdvcmtzPj0xMCxwdWJsaWNhdGlvbl9jb3VudHJ5LCAiT3RoZXIiKSkKCnNwbGl0IDwtIHNwbGl0ICU+JQogIGxlZnRfam9pbihtYWpvcl9wdWJsaWNhdGlvbl9jb3VudHJ5KQpgYGAKCmBgYHtyfQphY3Rvcl9zcGxpdCA8LSBzcGxpdCAlPiUgCiAgaW5uZXJfam9pbihlc3RjX2FjdG9yX2xpbmtzKSAlPiUgCiAgc2VsZWN0KHNldCwgd29ya19pZCwgYWN0b3JfaWQsIGFjdG9yX3JvbGVzX2FsbCkgJT4lIAogIHNlcGFyYXRlX3Jvd3MoYWN0b3Jfcm9sZXNfYWxsLCBzZXA9IjsgIikgJT4lCiAgbXV0YXRlKGFjdG9yX3JvbGVzX2FsbD1pZl9lbHNlKGFjdG9yX3JvbGVzX2FsbD09InByaW50ZXIiLCJwdWJsaXNoZXIiLGFjdG9yX3JvbGVzX2FsbCkpICU+JQogIGRpc3RpbmN0KCkKCmJhZF90ZXN0X2FjdG9ycyA8LSBhY3Rvcl9zcGxpdCAlPiUKICBmaWx0ZXIoc2V0IT0idHJhaW4iKSAlPiUKICBhbnRpX2pvaW4oZCAlPiUgZmlsdGVyKHNldD09InRyYWluIiksIGpvaW5fYnkoYWN0b3JfaWQsIGFjdG9yX3JvbGVzX2FsbCkpICU+JQogIGRpc3RpbmN0KGFjdG9yX3JvbGVzX2FsbCwgYWN0b3JfaWQpCgphY3Rvcl9zcGxpdCA8LSBhY3Rvcl9zcGxpdCAlPiUgCiAgYW50aV9qb2luKGJhZF90ZXN0X2FjdG9ycykKCm1ham9yX2FjdG9yIDwtIGFjdG9yX3NwbGl0ICU+JQogIGZpbHRlcihzZXQ9PSJ0ZXN0IikgJT4lIAogIGdyb3VwX2J5KGFjdG9yX2lkLCBhY3Rvcl9yb2xlc19hbGwpICU+JSAKICBzdW1tYXJpc2Uod29ya3M9bigpLCAuZ3JvdXBzPSJkcm9wIikgJT4lCiAgdHJhbnNtdXRlKGFjdG9yX2lkLCBhY3Rvcl9yb2xlc19hbGwsIG1ham9yX2FjdG9yX2lkPWlmX2Vsc2UoaXMubmEoYWN0b3JfaWQpIHwgd29ya3M+PTUwLGFjdG9yX2lkLCAiT3RoZXIiKSkKCm1ham9yX2FjdG9yX3NwbGl0IDwtIGFjdG9yX3NwbGl0ICU+JQogIGlubmVyX2pvaW4obWFqb3JfYWN0b3IgJT4lIGZpbHRlcihtYWpvcl9hY3Rvcl9pZCE9Ik90aGVyIikpICU+JQogIHNlbGVjdCgtYWN0b3JfaWQpCgphY3Rvcl9zcGxpdCA8LSBhY3Rvcl9zcGxpdCAlPiUgCiAgaW5uZXJfam9pbihzcGxpdCAlPiUgCiAgICAgICAgICAgICAgIHNlbGVjdChlY2NvX2lkLCB3b3JrX2lkLCBwYWdlcykpICU+JSAKICBpbm5lcl9qb2luKGVzdGNfYWN0b3JzICU+JSAKICAgICAgICAgICAgICAgc2VsZWN0KGFjdG9yX2lkLCBuYW1lX3VuaWZpZWQpKSAlPiUgCiAgcmVuYW1lKGFjdG9yX3JvbGU9YWN0b3Jfcm9sZXNfYWxsKQoKbWFqb3JfYWN0b3Jfc3BsaXQgPC0gbWFqb3JfYWN0b3Jfc3BsaXQgJT4lIAogIGlubmVyX2pvaW4oc3BsaXQgJT4lIAogICAgICAgICAgICAgICBzZWxlY3QoZWNjb19pZCwgd29ya19pZCwgcGFnZXMpKSAlPiUgCiAgaW5uZXJfam9pbihlc3RjX2FjdG9ycyAlPiUgCiAgICAgICAgICAgICAgIHNlbGVjdChtYWpvcl9hY3Rvcl9pZD1hY3Rvcl9pZCwgbmFtZV91bmlmaWVkKSkgJT4lIAogIHJlbmFtZShhY3Rvcl9yb2xlPWFjdG9yX3JvbGVzX2FsbCkKYGBgCgpgYGB7cn0Kc3BsaXQgJT4lIAogIHdyaXRlX3RzdihoZXJlKCJkYXRhL291dHB1dC9lY2NvLW11bHRpLXRhcmdldC1zcGxpdC50c3YiKSxxdW90ZT0ibmVlZGVkIixuYT0iIikKYGBgCgpgYGB7cn0KYWN0b3Jfc3BsaXQgJT4lCiAgd3JpdGVfdHN2KGhlcmUoImRhdGEvb3V0cHV0L2VjY28tbXVsdGktdGFyZ2V0LWFjdG9yLXNwbGl0LnRzdiIpLHF1b3RlPSJuZWVkZWQiLG5hPSIiKQptYWpvcl9hY3Rvcl9zcGxpdCAlPiUKICB3cml0ZV90c3YoaGVyZSgiZGF0YS9vdXRwdXQvZWNjby1tdWx0aS10YXJnZXQtbWFqb3ItYWN0b3Itc3BsaXQudHN2IikscXVvdGU9Im5lZWRlZCIsbmE9IiIpCmBgYAoKCiMgT3ZlcmFsbAoKYGBge3J9CmxpYnJhcnkoZ3QpCgpzcGxpdCAlPiUKICAgIGdyb3VwX2J5KHNldCkgJT4lCiAgICBzdW1tYXJpc2UocGFnZXM9c3VtKHBhZ2VzKSxkb2N1bWVudHM9bigpLHdvcmtzPW5fZGlzdGluY3Qod29ya19pZCksIC5ncm91cHM9ImRyb3AiKSAlPiUKICAgIHBpdm90X2xvbmdlcihwYWdlczp3b3JrcykgJT4lIAogICAgcGl2b3Rfd2lkZXIobmFtZXNfZnJvbT1zZXQsdmFsdWVzX2Zyb209dmFsdWUpICU+JQogICAgbXV0YXRlKG5hbWU9ZmN0X3JlbGV2ZWwobmFtZSwid29ya3MiLCJkb2N1bWVudHMiLCJwYWdlcyIpKSAlPiUKICAgIGFycmFuZ2UobmFtZSkgJT4lCiAgICBndChyb3duYW1lX2NvbCA9ICJuYW1lIikgJT4lCiAgICB0YWJfaGVhZGVyKHRpdGxlID0gIk92ZXJhbGwiKSAlPiUKICAgIGZtdF9pbnRlZ2VyKGNvbHVtbnM9Yyh0ZXN0LHZhbCx0cmFpbikpCmBgYAoKYGBge3J9CnNwbGl0ICU+JSAKICBwaXZvdF9sb25nZXIoYyhlY2NvX3BhcnQsZWNjb19tb2R1bGUscHJpbWFyeV9sYW5ndWFnZSxtYWpvcl9wcmltYXJ5X2xhbmd1YWdlLHB1YmxpY2F0aW9uX2NvdW50cnksbWFqb3JfcHVibGljYXRpb25fY291bnRyeSxwdWJsaWNhdGlvbl9wbGFjZSxtYWpvcl9wdWJsaWNhdGlvbl9wbGFjZSkpICU+JQogIHNlbGVjdChuYW1lLHNldCx2YWx1ZSkgJT4lCiAgdW5pb25fYWxsKAogICAgbWFqb3JfYWN0b3Jfc3BsaXQgJT4lCiAgICAgIHRyYW5zbXV0ZShuYW1lPSJtYWpvcl9hY3Rvcl9pZCIsc2V0LHZhbHVlPW1ham9yX2FjdG9yX2lkKQogICkgJT4lCiAgdW5pb25fYWxsKAogICAgYWN0b3Jfc3BsaXQgJT4lCiAgICAgIHRyYW5zbXV0ZShuYW1lPSJhY3Rvcl9pZCIsc2V0LHZhbHVlPWFjdG9yX2lkKQogICkgJT4lCiAgZGlzdGluY3QobmFtZSxzZXQsdmFsdWUpICU+JQogIGNvdW50KHNldCxuYW1lKSAlPiUKICBwaXZvdF93aWRlcihuYW1lc19mcm9tPXNldCx2YWx1ZXNfZnJvbT1uKSAlPiUKICBndChyb3duYW1lX2NvbCA9ICJuYW1lIikgJT4lCiAgdGFiX2hlYWRlcih0aXRsZSA9ICJOdW1iZXIgb2YgdGFyZ2V0cyBieSB0YXNrIikgJT4lCiAgZm10X2ludGVnZXIoY29sdW1ucz1jKHRlc3QsdmFsLHRyYWluKSkKCmBgYAoKKyByZWdyZXNzaW9uIHRhc2tzOiBgZWFybGllc3RfcHVibGljYXRpb25feWVhcmAsIGBwdWJsaWNhdGlvbl95ZWFyYCwgYHRvdGFsX3ByaWNlYAoKIyBTaW5nbGUgbGFiZWwgdGFyZ2V0cwoKYGBge3J9CnByaW50X3NwbGl0IDwtIGZ1bmN0aW9uKHNwbGl0LCBncm91cF92YXIsIGdyb3VwX3Zhcl9uYW1lLCBtYWpvcj1GQUxTRSwgb3JkZXJfYnlfZnJlcXVlbmN5PVRSVUUpIHsKICBncm91cF92YXIgPSBlbnF1byhncm91cF92YXIpCiAgZCA8LSBzcGxpdCAlPiUKICAgIGdyb3VwX2J5KHNldCwgISFncm91cF92YXIpICU+JQogICAgc3VtbWFyaXNlKHBhZ2VzPXN1bShwYWdlcyksZG9jdW1lbnRzPW4oKSx3b3Jrcz1uX2Rpc3RpbmN0KHdvcmtfaWQpLCAuZ3JvdXBzPSJkcm9wIikgJT4lCiAgICBwaXZvdF9sb25nZXIocGFnZXM6d29ya3MpICU+JSAKICAgIHBpdm90X3dpZGVyKG5hbWVzX2Zyb209c2V0LHZhbHVlc19mcm9tPXZhbHVlKSAlPiUKICAgIG11dGF0ZShuYW1lPWZjdF9yZWxldmVsKG5hbWUsIndvcmtzIiwiZG9jdW1lbnRzIiwicGFnZXMiKSkKICBkIDwtIGlmIChvcmRlcl9ieV9mcmVxdWVuY3kpIGQgJT4lIG11dGF0ZShncm91cF92YXI9ZmN0X3Jlb3JkZXIoISFncm91cF92YXIsIHRyYWluLCAuZGVzYz1UUlVFKSkgZWxzZSBkICU+JSBtdXRhdGUoZ3JvdXBfdmFyPSEhZ3JvdXBfdmFyKQogIGQgJT4lCiAgICBzZWxlY3QoLSEhZ3JvdXBfdmFyKSAlPiUKICAgIGFycmFuZ2UobmFtZSxncm91cF92YXIpICU+JQogICAgZ3QoZ3JvdXBuYW1lX2NvbCA9ICJuYW1lIiwgcm93bmFtZV9jb2w9Imdyb3VwX3ZhciIpICU+JQogICAgdGFiX2hlYWRlcih0aXRsZSA9IHN0cl9jKCJCeSAiLGdyb3VwX3Zhcl9uYW1lKSwgc3VidGl0bGU9c3RyX2MoIigiLCBpZiAobWFqb3IpICJtYWpvciBvbmx5LCAiIGVsc2UgIiIsIHNwbGl0ICU+JSBmaWx0ZXIoc2V0PT0idGVzdCIpICU+JSBkaXN0aW5jdCghIWdyb3VwX3ZhcikgJT4lIGNvdW50KCkgJT4lIHB1bGwoKSwgIiB0YXJnZXRzKSIpKSAlPiUKICAgIGZtdF9pbnRlZ2VyKGNvbHVtbnM9Yyh0ZXN0LHZhbCx0cmFpbikpCn0KYGBgCgojIyBFQ0NPIHBhcnQKCmBgYHtyfQpzcGxpdCAlPiUgCiAgcHJpbnRfc3BsaXQoZWNjb19wYXJ0LCAiRUNDTyBwYXJ0IikKYGBgCgojIyBFQ0NPIG1vZHVsZQoKYGBge3J9CnNwbGl0ICU+JSAKICBwcmludF9zcGxpdChlY2NvX21vZHVsZSwgIkVDQ08gbW9kdWxlIikKYGBgCgojIyBQcmltYXJ5IGxhbmd1YWdlCgpgYGB7cn0Kc3BsaXQgJT4lIAogIHByaW50X3NwbGl0KG1ham9yX3ByaW1hcnlfbGFuZ3VhZ2UsICJwcmltYXJ5IGxhbmd1YWdlIiwgVFJVRSkKc3BsaXQgJT4lIAogIHByaW50X3NwbGl0KHByaW1hcnlfbGFuZ3VhZ2UsICJwcmltYXJ5IGxhbmd1YWdlIikKYGBgCgojIyBQdWJsaWNhdGlvbiBjb3VudHJ5CgpgYGB7cn0Kc3BsaXQgJT4lIAogIHByaW50X3NwbGl0KG1ham9yX3B1YmxpY2F0aW9uX2NvdW50cnksICJwdWJsaWNhdGlvbiBjb3VudHJ5IiwgVFJVRSkKc3BsaXQgJT4lIAogIHByaW50X3NwbGl0KHB1YmxpY2F0aW9uX2NvdW50cnksICJwdWJsaWNhdGlvbiBjb3VudHJ5IikKYGBgCgojIyBQdWJsaWNhdGlvbiBwbGFjZQoKYGBge3J9CnNwbGl0ICU+JSAKICBwcmludF9zcGxpdChtYWpvcl9wdWJsaWNhdGlvbl9wbGFjZSwgInB1YmxpY2F0aW9uIHBsYWNlIiwgVFJVRSkKc3BsaXQgJT4lIAogIHByaW50X3NwbGl0KHB1YmxpY2F0aW9uX3BsYWNlLCAicHVibGljYXRpb24gcGxhY2UiKQpgYGAKCiMjIFllYXIgb2YgZWFybGllc3QgcHVibGljYXRpb24gCgpgYGB7cn0Kc3BsaXQgJT4lCiAgY291bnQoc2V0LGVhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXJfZGVmaW5pdGUpICU+JQogIGdncGxvdChhZXMoeD1zZXQseT1uLGZpbGw9ZWFybGllc3RfcHVibGljYXRpb25feWVhcl9kZWZpbml0ZSkpICsKICBnZW9tX2NvbChwb3NpdGlvbj0nZG9kZ2UnKSArCiAgdGhlbWVfaHNjaV9kaXNjcmV0ZSgpICsKICBjb29yZF9mbGlwKCkgKwogIHlsYWIoIkVDQ08gZG9jdW1lbnRzIikgKwogIHhsYWIoIlNldCIpICsKICBsYWJzKGZpbGw9IkRhdGUgY2VydGFpbiIpICsKICB0aGVtZShsZWdlbmQucG9zaXRpb249ImJvdHRvbSIpICsgCiAgZ2d0aXRsZSgiVW5jZXJ0YWludHkvY2VydGFpbnR5IG9mIGRhdGluZyB0aGUgZWFybGllc3QgeWVhciBvZiBwdWJsaWNhdGlvbiIpCmBgYAoKYGBge3J9CnNwbGl0ICU+JQogIGNvdW50KHNldCxlYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyLGVhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXJfZGVmaW5pdGUpICU+JQogIGdncGxvdChhZXMoeD1lYXJsaWVzdF9wdWJsaWNhdGlvbl95ZWFyLHk9bixmaWxsPWVhcmxpZXN0X3B1YmxpY2F0aW9uX3llYXJfZGVmaW5pdGUpKSArCiAgZ2VvbV9jb2wocG9zaXRpb249J3N0YWNrJyx3aWR0aD0xKSArCiAgdGhlbWVfaHNjaV9kaXNjcmV0ZSgpICsKICB5bGFiKCJFQ0NPIGRvY3VtZW50cyIpICsKICB4bGFiKCJZZWFyIikgKwogIGxhYnMoZmlsbD0iRGF0ZSBjZXJ0YWluIikgKyAgICAKICB0aGVtZShsZWdlbmQucG9zaXRpb249ImJvdHRvbSIpICsgCiAgZmFjZXRfd3JhcCh+c2V0LCBzY2FsZXM9ImZyZWUiKSArCiAgZ2d0aXRsZSgiRWFybGllc3QgeWVhciBvZiBwdWJsaWNhdGlvbiIpCgpgYGAKCgpgYGB7cn0Kc3BsaXQgJT4lIAogIG11dGF0ZShlYXJsaWVzdF9wdWJsaWNhdGlvbl9kZWNhZGU9Zmxvb3IoZWFybGllc3RfcHVibGljYXRpb25feWVhci8xMCkqMTApICU+JQogIHByaW50X3NwbGl0KGVhcmxpZXN0X3B1YmxpY2F0aW9uX2RlY2FkZSwgImVhcmxpZXN0IHB1YmxpY2F0aW9uIGRlY2FkZSIsIG9yZGVyX2J5X2ZyZXF1ZW5jeT1GQUxTRSkKYGBgCgojIyBZZWFyIG9mIHB1YmxpY2F0aW9uIAoKYGBge3J9CnNwbGl0ICU+JQogIGNvdW50KHNldCxwdWJsaWNhdGlvbl95ZWFyX2RlZmluaXRlKSAlPiUKICBnZ3Bsb3QoYWVzKHg9c2V0LHk9bixmaWxsPXB1YmxpY2F0aW9uX3llYXJfZGVmaW5pdGUpKSArCiAgZ2VvbV9jb2wocG9zaXRpb249J2RvZGdlJykgKwogIHRoZW1lX2hzY2lfZGlzY3JldGUoKSArCiAgeWxhYigiRUNDTyBkb2N1bWVudHMiKSArCiAgeGxhYigiU2V0IikgKwogIGxhYnMoZmlsbD0iRGF0ZSBjZXJ0YWluIikgKyAgICAKICB0aGVtZShsZWdlbmQucG9zaXRpb249ImJvdHRvbSIpICsgCiAgY29vcmRfZmxpcCgpICsKICBnZ3RpdGxlKCJVbmNlcnRhaW50eS9jZXJ0YWludHkgb2YgZGF0aW5nIHRoZSB5ZWFyIG9mIHB1YmxpY2F0aW9uIikKYGBgCgpgYGB7cn0Kc3BsaXQgJT4lCiAgY291bnQoc2V0LHB1YmxpY2F0aW9uX3llYXIscHVibGljYXRpb25feWVhcl9kZWZpbml0ZSkgJT4lCiAgZ2dwbG90KGFlcyh4PXB1YmxpY2F0aW9uX3llYXIseT1uLGZpbGw9cHVibGljYXRpb25feWVhcl9kZWZpbml0ZSkpICsKICBnZW9tX2NvbChwb3NpdGlvbj0nc3RhY2snLHdpZHRoPTEpICsKICB0aGVtZV9oc2NpX2Rpc2NyZXRlKCkgKwogIHlsYWIoIkVDQ08gZG9jdW1lbnRzIikgKwogIHhsYWIoIlllYXIiKSArCiAgbGFicyhmaWxsPSJEYXRlIGNlcnRhaW4iKSArICAgIAogIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0iYm90dG9tIikgKyAKICBmYWNldF93cmFwKH5zZXQsIHNjYWxlcz0iZnJlZSIpICsKICBnZ3RpdGxlKCJZZWFyIG9mIHB1YmxpY2F0aW9uIikKYGBgCgpgYGB7cn0Kc3BsaXQgJT4lIAogIG11dGF0ZShwdWJsaWNhdGlvbl9kZWNhZGU9Zmxvb3IocHVibGljYXRpb25feWVhci8xMCkqMTApICU+JQogIHByaW50X3NwbGl0KHB1YmxpY2F0aW9uX2RlY2FkZSwgInB1YmxpY2F0aW9uIGRlY2FkZSIsIG9yZGVyX2J5X2ZyZXF1ZW5jeT1GQUxTRSkKYGBgCgojIyBQcmljZQoKYGBge3J9CnNwbGl0ICU+JSAKICBtdXRhdGUoaGFzX3ByaWNlPSFpcy5uYSh0b3RhbF9wcmljZSkpICU+JQogIGNvdW50KHNldCxoYXNfcHJpY2UpICU+JQogIHBpdm90X3dpZGVyKG5hbWVzX2Zyb209c2V0LHZhbHVlc19mcm9tPW4pICU+JQogIGd0KHJvd25hbWVfY29sID0gInNldCIpICU+JQogICAgdGFiX2hlYWRlcih0aXRsZSA9ICJQcmljZSBpbmZvcm1hdGlvbiBhdmFpbGFiaWxpdHkiKSAlPiUKICAgIGZtdF9pbnRlZ2VyKGNvbHVtbnM9Yyh0ZXN0LHZhbCx0cmFpbikpCmBgYAoKCmBgYHtyfQpzcGxpdCAlPiUKICBjb3VudChzZXQsdG90YWxfcHJpY2UpICU+JQogIGdncGxvdChhZXMoeD10b3RhbF9wcmljZSx5PW4pKSArCiAgZ2VvbV9jb2wod2lkdGg9MSkgKwogIHRoZW1lX2hzY2lfZGlzY3JldGUoKSArCiAgeWxhYigiRUNDTyBkb2N1bWVudHMiKSArCiAgeGxhYigiUHJpY2UiKSArCiAgdGhlbWUobGVnZW5kLnBvc2l0aW9uPSJib3R0b20iKSArIAogIGZhY2V0X3dyYXAofnNldCwgc2NhbGVzPSJmcmVlIiwgbmNvbD0xKSArCiAgZ2d0aXRsZSgiUHJpY2VzIikKYGBgCgoKIyBNdWx0aS1sYWJlbCB0YXJnZXRzCgojIyBBY3RvcnMKCmBgYHtyfQpsaWJyYXJ5KGdnaHNjaSkKbWFqb3JfYWN0b3Jfc3BsaXQgJT4lCiAgZmlsdGVyKHNldD09InRlc3QiKSAlPiUKICBjb3VudChlY2NvX2lkKSAlPiUKICBjb3VudChuKSAlPiUKICBnZ3Bsb3QoYWVzKHg9bix5PW5uKSkgKwogIGdlb21fY29sKCkgKwogIHRoZW1lX2hzY2lfZGlzY3JldGUoKSArCiAgeWxhYigiRUNDTyBkb2N1bWVudHMiKSArCiAgeGxhYigiTnVtYmVyIG9mIGFjdG9ycyBhdHRhY2hlZCIpICsKICBnZ3RpdGxlKCJUZXN0IHNldCBsYWJlbCBjb3VudCBkaXN0cmlidXRpb24gKG1ham9yIG9ubHkpIikKYGBgCgoKYGBge3J9Cm1ham9yX2FjdG9yX3NwbGl0ICU+JSAKICBncm91cF9ieShzZXQsIG1ham9yX2FjdG9yX2lkLCBhY3Rvcl9yb2xlLCBuYW1lX3VuaWZpZWQpICU+JQogIHN1bW1hcmlzZShwYWdlcz1zdW0ocGFnZXMpLGRvY3VtZW50cz1uKCksd29ya3M9bl9kaXN0aW5jdCh3b3JrX2lkKSwgLmdyb3Vwcz0iZHJvcCIpICU+JQogIHBpdm90X2xvbmdlcihwYWdlczp3b3JrcykgJT4lIAogIHBpdm90X3dpZGVyKG5hbWVzX2Zyb209c2V0LHZhbHVlc19mcm9tPXZhbHVlKSAlPiUKICBtdXRhdGUobmFtZT1mY3RfcmVsZXZlbChuYW1lLCJ3b3JrcyIsImRvY3VtZW50cyIsInBhZ2VzIikpICU+JQogIG11dGF0ZShtYWpvcl9hY3Rvcl9pZD1mY3RfcmVvcmRlcihtYWpvcl9hY3Rvcl9pZCwgdHJhaW4sIC5kZXNjPVRSVUUpKSAlPiUKICBhcnJhbmdlKG5hbWUsbWFqb3JfYWN0b3JfaWQpICU+JQogIHNlbGVjdCgtbWFqb3JfYWN0b3JfaWQpICU+JQogIGd0KGdyb3VwbmFtZV9jb2wgPSAibmFtZSIsIHJvd25hbWVfY29sPSJuYW1lX3VuaWZpZWQiKSAlPiUKICB0YWJfaGVhZGVyKHRpdGxlID0gIkJ5IGFjdG9yIiwgc3VidGl0bGU9c3RyX2MoIihtYWpvciBvbmx5LCAiLCBtYWpvcl9hY3Rvcl9zcGxpdCAlPiUgZmlsdGVyKHNldD09InRlc3QiKSAlPiUgZGlzdGluY3QobWFqb3JfYWN0b3JfaWQpICU+JSBjb3VudCgpICU+JSBwdWxsKCksICIgdGFyZ2V0cykiKSkgJT4lCiAgZm10X2ludGVnZXIoY29sdW1ucz1jKHRlc3QsdmFsLHRyYWluKSkKYGBgCgpJbiB0b3RhbCwgYHIgYWN0b3Jfc3BsaXQgJT4lIGZpbHRlcihzZXQ9PSJ0ZXN0IikgJT4lIGRpc3RpbmN0KGFjdG9yX3JvbGUpICU+JSBjb3VudCgpICU+JSBwdWxsKClgIHJvbGVzLCBgciBhY3Rvcl9zcGxpdCAlPiUgZmlsdGVyKHNldD09InRlc3QiKSAlPiUgZGlzdGluY3QoYWN0b3JfaWQpICU+JSBjb3VudCgpICU+JSBwdWxsKClgIGFjdG9ycy4KCmBgYHtyfQpsaWJyYXJ5KGdnaHNjaSkKYWN0b3Jfc3BsaXQgJT4lCiAgZmlsdGVyKHNldD09InRlc3QiKSAlPiUKICBjb3VudChhY3Rvcl9yb2xlLCBlY2NvX2lkKSAlPiUKICBjb3VudChhY3Rvcl9yb2xlLCBuKSAlPiUKICBnZ3Bsb3QoYWVzKHg9bix5PW5uKSkgKwogIGdlb21fY29sKCkgKwogIHRoZW1lX2hzY2lfZGlzY3JldGUoKSArCiAgeWxhYigiRUNDTyBkb2N1bWVudHMiKSArCiAgeGxhYigiTnVtYmVyIG9mIGFjdG9ycyBhdHRhY2hlZCIpICsKICBnZ3RpdGxlKCJUZXN0IHNldCBsYWJlbCBjb3VudCBkaXN0cmlidXRpb24gYnkgYWN0b3Igcm9sZSIpICsKICBmYWNldF93cmFwKH5hY3Rvcl9yb2xlLCBzY2FsZXM9ImZyZWUiKQpgYGAKCg==