Load Packages

tidyverse

if (!require(tidyverse)){
  install.packages("tidyverse", dependencies = TRUE)
  library(tidyverse)
}

codebookr

if (!require(codebookr)){
  install.packages("codebookr", dependencies = TRUE)
  library(codebookr)
}

summarytools

if (!require(summarytools)){
  install.packages("summarytools", dependencies = TRUE)
  library(summarytools)
}

broom

if (!require(broom)){
  install.packages("broom", dependencies = TRUE)
  library(broom)
}

performance

if (!require(performance)){
  install.packages("performance", dependencies = TRUE)
  library(performance)
}

gtsummary

if (!require(gtsummary)){
  install.packages("gtsummary", dependencies = TRUE)
  library(gtsummary)
}

janitor

if (!require(janitor)){
  install.packages("janitor", dependencies = TRUE)
  library(janitor)
}

forcats

if (!require(forcats)){
  install.packages("forcats", dependencies = TRUE)
  library(forcats)
}

Import Data

mh_deidv3 <- read.csv("~/Desktop/R-Code/mh_deidv3.csv")

Data Cleaning

RPL_THEMES Erroneous values

mh_deidv3 %>%
  select(age_yrs, PATIENT_GENDER_CD, PATIENT_RACE_DESC, PATIENT_ETHNIC_GROUP_DESC, PATIENT_LANGUAGE_DESC, PATIENT_RELIGION_DESC, PATIENT_MARITAL_STATUS_DESC, PATIENT_STATE_CD, EDU_YEARS, TOBACCO_DESC, depression, anxiety, ptsd, bipolar, body_image, ocd, stress, seasonalAD, panic, any_psych_dx,ST_ABBR, E_TOTPOP, RPL_THEMES, RPL_THEME1, RPL_THEME2, RPL_THEME3, RPL_THEME4) -> exampledf1
exampledf1 %>%
mutate(RPL_THEMES = na_if(RPL_THEMES, "-999")) %>%
mutate(RPL_THEMES = na_if(RPL_THEMES, "0")) %>%
mutate(RPL_THEME1 = na_if(RPL_THEME1, "-999")) %>%
mutate(RPL_THEME1 = na_if(RPL_THEME1, "0")) %>%
mutate(RPL_THEME2 = na_if(RPL_THEME2, "-999")) %>%
mutate(RPL_THEME2 = na_if(RPL_THEME2, "0")) %>%
mutate(RPL_THEME3 = na_if(RPL_THEME3, "-999")) %>%
mutate(RPL_THEME3 = na_if(RPL_THEME3, "0")) %>%
mutate(RPL_THEME4 = na_if(RPL_THEME4, "-999")) %>%
mutate(RPL_THEME4 = na_if(RPL_THEME4, "0")) -> exampledf1NA

Mental health data dich

exampledf1NA %>% mutate(across(depression:any_psych_dx, ~if_else(.x>0.5, 1, 0),
                .names = "{col}_2")) -> exampledf1NADi2

Marital status

exampledf1NADi2 %>% 
mutate(mstat_5 = as_factor(PATIENT_MARITAL_STATUS_DESC),
         mstat_5 = fct_recode(mstat_5, div_sep = "DIVORCED",
                              div_sep = "LEGALLY SEPARATED", widow = "WIDOWED",
                              married = "MARRIED", unmarried = "SINGLE",
                              unknown = "UNKNOWN", unknown = "OTHER",
                              unmarried = "SIGNIFICANT OTHER"),
         mstat_5 = fct_relevel(mstat_5, ref = 'married')) -> exampledf1NADi2MA

Religion

exampledf1NADi2MA %>% 
  mutate(relig_affil = as_factor(PATIENT_RELIGION_DESC),
          relig_affil = fct_recode(relig_affil, yes = "CATHOLIC",
                      no = "NONE", 
                      yes = "CHRISTIAN", yes = "LUTHERAN",
                      yes = "RUSSIAN ORTHODOX",
                      yes = "PROTESTANT", yes = "BAPTIST",
                      yes = "METHODIST", yes = "PRESBYTERIAN",
                      yes = "NON-DENOMINATIONAL", yes = "JEWISH",
                      yes = "MUSLIM", yes = "OTHER",
                      yes = "EPISCOPALIAN", yes = "PENTECOSTAL",
                      no = "AGNOSTIC", no = "ATHEIST",
                      yes = "JEHOVAH'S WITNESS", yes = "HINDU",
                      yes = "GREEK ORTHODOX", yes = "CHURCH OF JESUS CHRIST OF LATTER-DAY SAINTS", yes = "BAHAI", no = "SPIRITUAL", yes = "CHURCH OF CHRIST",
         yes = "SEVENTH DAY ADVENTIST", yes = "APOSTOLIC", yes = "BUDDHIST", yes = "NAZARENE", yes = "CONGREGATIONAL", yes = "UNITED CHURCH OF CHR", yes = "REFORMED", yes = "PAGAN", yes = "JAIN", yes = "ASSEMBLY OF GOD", yes = "REORG CHR OF LAT DAY", yes = "QUAKER", yes = "UNITARIAN UNIVERSALIST", yes = "MENNONITE", yes = "FREE METHODIST", yes = "NATIVE AMER SPIRITL", yes = "WICCAN", yes = "ORTHODOX", yes = "SALVATION ARMY", yes = "DISCIPLES OF CHRIST", yes = "AFRICAN METHODIST EP", yes = "SIKH", yes = "CHURCH OF GOD", yes = "TAOIST", yes = "ANGLICAN"),
relig_affil = fct_relevel(relig_affil, ref = 'yes')) %>% 
mutate(relig_affil = na_if(relig_affil, "UNKNOWN")) %>% 
mutate(relig_affil = na_if(relig_affil, "PATIENT REFUSED")) -> exampledf1NADi2MARel

Race

exampledf1NADi2MARel %>% 
mutate(race_5 = as_factor(PATIENT_RACE_DESC),
         race_5 = fct_recode(race_5, Other = "OTHER",
                  Other = "UNKNOWN", Other = "CHOOSE NOT TO DISCLOSE",
                  Other = "NATIVE HAWAIIAN AND OTHER PACIFIC ISLANDER", 
                  Other = "MIDDLE EASTERN/NORTH AFRICAN",
                ASIAN = "ASIAN INDIAN", ASIAN = "OTHER ASIAN",
                ASIAN = "JAPANESE", ASIAN = "KOREAN", ASIAN = "FILIPINO",
                ASIAN = "CHINESE"),
         race_5 = fct_relevel(race_5, ref = 'WHITE OR CAUCASIAN')) -> exampledf1NADi2MARelRa

Gender

exampledf1NADi2MARelRa %>% 
mutate(gender = as_factor(PATIENT_GENDER_CD),
         gender = fct_recode(gender, male = "M", female = "F"),
         gender = fct_relevel(gender, ref = "male")) -> exampledf1NADi2MARelRaG

Language

exampledf1NADi2MARelRaG %>% 
  mutate(lang_3 = as_factor(PATIENT_LANGUAGE_DESC),
lang_3 = fct_recode(lang_3, English = "ENGLISH",
Other = "ARABIC", Other = "JAPANESE",
Other = "CHINESE, MANDARIN",
Other = "KOREAN", Other = "SIGN LANGUAGE",
Other = "RUSSIAN", Other = "SPANISH", Other = "ARMENIAN",
Other = "TURKISH", Other = "HINDI", Other = "BENGALI", Other = "FARSI; PERSIAN", Other = "ALBANIAN", Other = "HMONG", Other = "ROMANIAN", 
Other = "PUNJABI", Other = "CROATIAN", Other = "CHALDEAN", 
Other = "BURMESE", Other = "PORTUGUESE",
Other = "TAGALOG", Other = "FRENCH",
Other = "GERMAN", Other = "CHINESE, CANTONESE",
Other = "BOSNIAN", Other = "URDU",
Other = "UNKNOWN"),
lang_3 = fct_relevel(lang_3, ref = 'English')) -> exampledf1NADi2MARelRaGL

Ethnicity

exampledf1NADi2MARelRaGL %>% 
  mutate(ethnic_3 = as_factor(PATIENT_ETHNIC_GROUP_DESC)) %>% 
 mutate(ethnic_3 = na_if(ethnic_3, "UNKNOWN")) %>% 
mutate(ethnic_3 = na_if(ethnic_3, "CHOOSE NOT TO DISCLOSE")) -> exampledf1NADi2MARelRaGLEth

Tobacco

exampledf1NADi2MARelRaGLEth %>% 
  mutate(tobac_4 = as_factor(TOBACCO_DESC),
 tobac_4 = fct_recode(tobac_4, Yes = "PASSIVE",
Yes = "YES"),
tobac_4 = fct_relevel(tobac_4, ref = 'NEVER')) %>% 
mutate(tobac_4 = na_if(tobac_4, "NOT ASKED")) -> exampledf1NADi2MARelRaGLEthT

Codebook

exampledf1NADi2MARelRaGLEthT %>% 
select(age_yrs, gender, race_5, ethnic_3, lang_3, relig_affil, mstat_5, PATIENT_STATE_CD, EDU_YEARS, tobac_4, depression_2, anxiety_2, ptsd_2, bipolar_2, body_image_2, ocd_2, seasonalAD_2, panic_2, any_psych_dx_2, E_TOTPOP, RPL_THEMES, RPL_THEME1, RPL_THEME2, RPL_THEME3, RPL_THEME4) -> mh_clean1
print(dfSummary(mh_clean1), method = 'render') 

Data Frame Summary

mh_clean1

Dimensions: 15245 x 25
Duplicates: 0
No Variable Stats / Values Freqs (% of Valid) Graph Valid Missing
1 age_yrs [numeric]
Mean (sd) : 49.3 (19.5)
min ≤ med ≤ max:
1 ≤ 49.3 ≤ 108.3
IQR (CV) : 31.5 (0.4)
11557 distinct values 15245 (100.0%) 0 (0.0%)
2 gender [factor]
1. male
2. female
6973(45.7%)
8272(54.3%)
15245 (100.0%) 0 (0.0%)
3 race_5 [factor]
1. WHITE OR CAUCASIAN
2. BLACK OR AFRICAN AMERICAN
3. Other
4. ASIAN
5. AMERICAN INDIAN AND ALASK
13230(86.8%)
946(6.2%)
638(4.2%)
375(2.5%)
56(0.4%)
15245 (100.0%) 0 (0.0%)
4 ethnic_3 [factor]
1. NON-HISPANIC
2. UNKNOWN
3. CHOOSE NOT TO DISCLOSE
4. HISPANIC
14401(97.9%)
0(0.0%)
0(0.0%)
302(2.1%)
14703 (96.4%) 542 (3.6%)
5 lang_3 [factor]
1. English
2. Other
15081(98.9%)
164(1.1%)
15245 (100.0%) 0 (0.0%)
6 relig_affil [factor]
1. yes
2. no
3. PATIENT REFUSED
4. UNKNOWN
8211(57.4%)
6085(42.6%)
0(0.0%)
0(0.0%)
14296 (93.8%) 949 (6.2%)
7 mstat_5 [factor]
1. married
2. unknown
3. unmarried
4. div_sep
5. widow
6198(40.7%)
3236(21.2%)
4997(32.8%)
507(3.3%)
307(2.0%)
15245 (100.0%) 0 (0.0%)
8 PATIENT_STATE_CD [character]
1. MI
2. OH
3. FL
4. IN
5. IL
6. CA
7. NY
8. NC
9. TX
10. PA
[ 36 others ]
14299(93.8%)
339(2.2%)
82(0.5%)
60(0.4%)
52(0.3%)
50(0.3%)
50(0.3%)
24(0.2%)
22(0.1%)
21(0.1%)
245(1.6%)
15244 (100.0%) 1 (0.0%)
9 EDU_YEARS [integer]
Mean (sd) : 15.3 (3.8)
min ≤ med ≤ max:
0 ≤ 16 ≤ 50
IQR (CV) : 5 (0.2)
29 distinct values 960 (6.3%) 14285 (93.7%)
10 tobac_4 [factor]
1. NEVER
2. QUIT
3. Yes
4. NOT ASKED
8173(56.4%)
4439(30.6%)
1890(13.0%)
0(0.0%)
14502 (95.1%) 743 (4.9%)
11 depression_2 [numeric]
Min : 0
Mean : 0.2
Max : 1
0:12639(82.9%)
1:2606(17.1%)
15245 (100.0%) 0 (0.0%)
12 anxiety_2 [numeric]
Min : 0
Mean : 0.2
Max : 1
0:12434(81.6%)
1:2811(18.4%)
15245 (100.0%) 0 (0.0%)
13 ptsd_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15085(99.0%)
1:160(1.0%)
15245 (100.0%) 0 (0.0%)
14 bipolar_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15026(98.6%)
1:219(1.4%)
15245 (100.0%) 0 (0.0%)
15 body_image_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15242(100.0%)
1:3(0.0%)
15245 (100.0%) 0 (0.0%)
16 ocd_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15166(99.5%)
1:79(0.5%)
15245 (100.0%) 0 (0.0%)
17 seasonalAD_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15219(99.8%)
1:26(0.2%)
15245 (100.0%) 0 (0.0%)
18 panic_2 [numeric]
Min : 0
Mean : 0
Max : 1
0:15062(98.8%)
1:183(1.2%)
15245 (100.0%) 0 (0.0%)
19 any_psych_dx_2 [numeric]
Min : 0
Mean : 0.3
Max : 1
0:10929(71.7%)
1:4316(28.3%)
15245 (100.0%) 0 (0.0%)
20 E_TOTPOP [integer]
Mean (sd) : 4362.8 (1701.5)
min ≤ med ≤ max:
182 ≤ 4128 ≤ 20695
IQR (CV) : 2148 (0.4)
2130 distinct values 14966 (98.2%) 279 (1.8%)
21 RPL_THEMES [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.3 ≤ 1
IQR (CV) : 0.4 (0.7)
2539 distinct values 14957 (98.1%) 288 (1.9%)
22 RPL_THEME1 [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.3 ≤ 1
IQR (CV) : 0.4 (0.7)
2477 distinct values 14907 (97.8%) 338 (2.2%)
23 RPL_THEME2 [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.3 ≤ 1
IQR (CV) : 0.4 (0.7)
2451 distinct values 14958 (98.1%) 287 (1.9%)
24 RPL_THEME3 [numeric]
Mean (sd) : 0.5 (0.3)
min ≤ med ≤ max:
0 ≤ 0.5 ≤ 1
IQR (CV) : 0.5 (0.6)
1832 distinct values 14966 (98.2%) 279 (1.8%)
25 RPL_THEME4 [numeric]
Mean (sd) : 0.4 (0.3)
min ≤ med ≤ max:
0 ≤ 0.4 ≤ 1
IQR (CV) : 0.5 (0.7)
2455 distinct values 14935 (98.0%) 310 (2.0%)

Generated by summarytools 1.0.1 (R version 4.1.2)
2022-10-18

Patient Characteristics

Baseline Characteristics

mh_clean1 %>% 
  select(age_yrs, gender, race_5, ethnic_3, lang_3, relig_affil, mstat_5, tobac_4, depression_2, anxiety_2, ptsd_2, any_psych_dx_2, RPL_THEMES, RPL_THEME1, RPL_THEME2, RPL_THEME3, RPL_THEME4) -> baseline
baseline %>% tbl_summary(label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", anxiety_2 ~ "Anxiety", ptsd_2 ~ "PTSD", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        statistic = list(all_continuous() ~ "{mean} ({sd})"),
        missing_text = "(Missing)")
Characteristic N = 15,2451
Age 49 (19)
Gender
    male 6,973 (46%)
    female 8,272 (54%)
Race
    WHITE OR CAUCASIAN 13,230 (87%)
    BLACK OR AFRICAN AMERICAN 946 (6.2%)
    Other 638 (4.2%)
    ASIAN 375 (2.5%)
    AMERICAN INDIAN AND ALASKA NATIVE 56 (0.4%)
Ethnicity
    NON-HISPANIC 14,401 (98%)
    UNKNOWN 0 (0%)
    CHOOSE NOT TO DISCLOSE 0 (0%)
    HISPANIC 302 (2.1%)
    (Missing) 542
English Speaking
    English 15,081 (99%)
    Other 164 (1.1%)
Any Religious Affiliation
    yes 8,211 (57%)
    no 6,085 (43%)
    PATIENT REFUSED 0 (0%)
    UNKNOWN 0 (0%)
    (Missing) 949
Marital Status
    married 6,198 (41%)
    unknown 3,236 (21%)
    unmarried 4,997 (33%)
    div_sep 507 (3.3%)
    widow 307 (2.0%)
tobac_4
    NEVER 8,173 (56%)
    QUIT 4,439 (31%)
    Yes 1,890 (13%)
    NOT ASKED 0 (0%)
    (Missing) 743
Depression 2,606 (17%)
Anxiety 2,811 (18%)
PTSD 160 (1.0%)
Any Psychiatric Diagnosis 4,316 (28%)
Total SVI 0.37 (0.26)
    (Missing) 288
Soceioeconomic Status 0.35 (0.26)
    (Missing) 338
Household Composition 0.40 (0.27)
    (Missing) 287
Minority Status and Language 0.48 (0.29)
    (Missing) 279
Housing and Transportation 0.44 (0.29)
    (Missing) 310
1 Mean (SD); n (%)

Baseline Characteristics by Depression

baseline %>% tbl_summary(by = depression_2,
         statistic = list(all_continuous() ~ "{mean} ({sd})"),
        label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", anxiety_2 ~ "Anxiety", ptsd_2 ~ "PTSD", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        missing_text = "(Missing)"
        ) %>% add_p()
There was an error in 'add_p()/add_difference()' for variable 'tobac_4', p-value omitted:
Error in stats::fisher.test(structure(c(1L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, : FEXACT error 6.  LDKEY=531 is too small for this problem,
  (ii := key2[itp=345] = 27473220, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
Characteristic 0, N = 12,6391 1, N = 2,6061 p-value2
Age 49 (20) 51 (18) <0.001
Gender <0.001
    male 6,090 (48%) 883 (34%)
    female 6,549 (52%) 1,723 (66%)
Race <0.001
    WHITE OR CAUCASIAN 10,927 (86%) 2,303 (88%)
    BLACK OR AFRICAN AMERICAN 778 (6.2%) 168 (6.4%)
    Other 552 (4.4%) 86 (3.3%)
    ASIAN 339 (2.7%) 36 (1.4%)
    AMERICAN INDIAN AND ALASKA NATIVE 43 (0.3%) 13 (0.5%)
Ethnicity 0.5
    NON-HISPANIC 11,905 (98%) 2,496 (98%)
    UNKNOWN 0 (0%) 0 (0%)
    CHOOSE NOT TO DISCLOSE 0 (0%) 0 (0%)
    HISPANIC 255 (2.1%) 47 (1.8%)
    (Missing) 479 63
English Speaking 0.002
    English 12,488 (99%) 2,593 (100%)
    Other 151 (1.2%) 13 (0.5%)
Any Religious Affiliation 0.2
    yes 6,740 (57%) 1,471 (59%)
    no 5,043 (43%) 1,042 (41%)
    PATIENT REFUSED 0 (0%) 0 (0%)
    UNKNOWN 0 (0%) 0 (0%)
    (Missing) 856 93
Marital Status <0.001
    married 5,228 (41%) 970 (37%)
    unknown 2,727 (22%) 509 (20%)
    unmarried 4,095 (32%) 902 (35%)
    div_sep 362 (2.9%) 145 (5.6%)
    widow 227 (1.8%) 80 (3.1%)
tobac_4
    NEVER 6,990 (59%) 1,183 (46%)
    QUIT 3,499 (29%) 940 (37%)
    Yes 1,459 (12%) 431 (17%)
    NOT ASKED 0 (0%) 0 (0%)
    (Missing) 691 52
Anxiety 1,320 (10%) 1,491 (57%) <0.001
PTSD 54 (0.4%) 106 (4.1%) <0.001
Any Psychiatric Diagnosis 1,710 (14%) 2,606 (100%) <0.001
Total SVI 0.37 (0.26) 0.39 (0.26) <0.001
    (Missing) 261 27
Soceioeconomic Status 0.35 (0.25) 0.37 (0.26) <0.001
    (Missing) 301 37
Household Composition 0.39 (0.27) 0.40 (0.27) >0.9
    (Missing) 260 27
Minority Status and Language 0.48 (0.28) 0.49 (0.29) 0.026
    (Missing) 252 27
Housing and Transportation 0.44 (0.29) 0.45 (0.29) 0.004
    (Missing) 278 32
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson's Chi-squared test; Fisher's exact test

Baseline Characteristics by Anxiety

baseline %>% tbl_summary(by = anxiety_2,
       statistic = list(all_continuous() ~ "{mean} ({sd})"),
        label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", ptsd_2 ~ "PTSD", any_psych_dx_2 ~ "Any Psychiatric Diagnosis", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        missing_text = "(Missing)"
        ) %>% add_p()
There was an error in 'add_p()/add_difference()' for variable 'tobac_4', p-value omitted:
Error in stats::fisher.test(structure(c(1L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, : FEXACT error 6.  LDKEY=531 is too small for this problem,
  (ii := key2[itp=1030] = 30145890, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
Characteristic 0, N = 12,4341 1, N = 2,8111 p-value2
Age 50 (20) 47 (18) <0.001
Gender <0.001
    male 6,058 (49%) 915 (33%)
    female 6,376 (51%) 1,896 (67%)
Race <0.001
    WHITE OR CAUCASIAN 10,731 (86%) 2,499 (89%)
    BLACK OR AFRICAN AMERICAN 792 (6.4%) 154 (5.5%)
    Other 534 (4.3%) 104 (3.7%)
    ASIAN 335 (2.7%) 40 (1.4%)
    AMERICAN INDIAN AND ALASKA NATIVE 42 (0.3%) 14 (0.5%)
Ethnicity 0.8
    NON-HISPANIC 11,713 (98%) 2,688 (98%)
    UNKNOWN 0 (0%) 0 (0%)
    CHOOSE NOT TO DISCLOSE 0 (0%) 0 (0%)
    HISPANIC 248 (2.1%) 54 (2.0%)
    (Missing) 473 69
English Speaking <0.001
    English 12,280 (99%) 2,801 (100%)
    Other 154 (1.2%) 10 (0.4%)
Any Religious Affiliation 0.9
    yes 6,652 (57%) 1,559 (58%)
    no 4,935 (43%) 1,150 (42%)
    PATIENT REFUSED 0 (0%) 0 (0%)
    UNKNOWN 0 (0%) 0 (0%)
    (Missing) 847 102
Marital Status <0.001
    married 5,162 (42%) 1,036 (37%)
    unknown 2,664 (21%) 572 (20%)
    unmarried 3,990 (32%) 1,007 (36%)
    div_sep 372 (3.0%) 135 (4.8%)
    widow 246 (2.0%) 61 (2.2%)
tobac_4
    NEVER 6,752 (58%) 1,421 (51%)
    QUIT 3,540 (30%) 899 (33%)
    Yes 1,447 (12%) 443 (16%)
    NOT ASKED 0 (0%) 0 (0%)
    (Missing) 695 48
Depression 1,115 (9.0%) 1,491 (53%) <0.001
PTSD 60 (0.5%) 100 (3.6%) <0.001
Any Psychiatric Diagnosis 1,505 (12%) 2,811 (100%) <0.001
Total SVI 0.37 (0.26) 0.36 (0.25) 0.088
    (Missing) 256 32
Soceioeconomic Status 0.35 (0.26) 0.34 (0.25) 0.009
    (Missing) 296 42
Household Composition 0.40 (0.27) 0.38 (0.26) <0.001
    (Missing) 255 32
Minority Status and Language 0.48 (0.28) 0.49 (0.29) 0.004
    (Missing) 247 32
Housing and Transportation 0.44 (0.29) 0.44 (0.28) 0.7
    (Missing) 273 37
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson's Chi-squared test; Fisher's exact test

Baseline Characteristics by Any Psych Diagnosis

baseline %>% tbl_summary(by = any_psych_dx_2,
       statistic = list(all_continuous() ~ "{mean} ({sd})"),
        label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status", depression_2 ~ "Depression", ptsd_2 ~ "PTSD", anxiety_2 ~ "Anxiety", RPL_THEMES ~ "Total SVI", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation"),
        missing_text = "(Missing)"
        ) %>% add_p()
There was an error in 'add_p()/add_difference()' for variable 'tobac_4', p-value omitted:
Error in stats::fisher.test(structure(c(1L, 1L, 2L, 3L, 1L, 2L, 1L, 2L, : FEXACT error 6.  LDKEY=531 is too small for this problem,
  (ii := key2[itp=1047] = 39726216, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
Characteristic 0, N = 10,9291 1, N = 4,3161 p-value2
Age 49 (20) 49 (18) 0.7
Gender <0.001
    male 5,444 (50%) 1,529 (35%)
    female 5,485 (50%) 2,787 (65%)
Race <0.001
    WHITE OR CAUCASIAN 9,433 (86%) 3,797 (88%)
    BLACK OR AFRICAN AMERICAN 678 (6.2%) 268 (6.2%)
    Other 482 (4.4%) 156 (3.6%)
    ASIAN 300 (2.7%) 75 (1.7%)
    AMERICAN INDIAN AND ALASKA NATIVE 36 (0.3%) 20 (0.5%)
Ethnicity 0.7
    NON-HISPANIC 10,280 (98%) 4,121 (98%)
    UNKNOWN 0 (0%) 0 (0%)
    CHOOSE NOT TO DISCLOSE 0 (0%) 0 (0%)
    HISPANIC 219 (2.1%) 83 (2.0%)
    (Missing) 430 112
English Speaking <0.001
    English 10,787 (99%) 4,294 (99%)
    Other 142 (1.3%) 22 (0.5%)
Any Religious Affiliation 0.3
    yes 5,804 (57%) 2,407 (58%)
    no 4,350 (43%) 1,735 (42%)
    PATIENT REFUSED 0 (0%) 0 (0%)
    UNKNOWN 0 (0%) 0 (0%)
    (Missing) 775 174
Marital Status <0.001
    married 4,553 (42%) 1,645 (38%)
    unknown 2,376 (22%) 860 (20%)
    unmarried 3,498 (32%) 1,499 (35%)
    div_sep 304 (2.8%) 203 (4.7%)
    widow 198 (1.8%) 109 (2.5%)
tobac_4
    NEVER 6,064 (59%) 2,109 (50%)
    QUIT 2,988 (29%) 1,451 (34%)
    Yes 1,222 (12%) 668 (16%)
    NOT ASKED 0 (0%) 0 (0%)
    (Missing) 655 88
Depression 0 (0%) 2,606 (60%) <0.001
Anxiety 0 (0%) 2,811 (65%) <0.001
PTSD 0 (0%) 160 (3.7%) <0.001
Total SVI 0.37 (0.26) 0.38 (0.26) 0.3
    (Missing) 236 52
Soceioeconomic Status 0.35 (0.25) 0.35 (0.26) 0.5
    (Missing) 273 65
Household Composition 0.40 (0.27) 0.39 (0.27) 0.040
    (Missing) 236 51
Minority Status and Language 0.47 (0.28) 0.49 (0.29) 0.002
    (Missing) 228 51
Housing and Transportation 0.44 (0.29) 0.44 (0.28) 0.2
    (Missing) 251 59
1 Mean (SD); n (%)
2 Wilcoxon rank sum test; Pearson's Chi-squared test; Fisher's exact test

Prelim Models

Depression + RPL_THEMES

model1a <- glm(depression_2 ~ mstat_5 + race_5 + lang_3 + relig_affil + age_yrs
               + gender + ethnic_3 + tobac_4 + RPL_THEMES,
              family = "binomial",
              data = mh_clean1)
summary(model1a)

Call:
glm(formula = depression_2 ~ mstat_5 + race_5 + lang_3 + relig_affil + 
    age_yrs + gender + ethnic_3 + tobac_4 + RPL_THEMES, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1118  -0.6668  -0.5846  -0.4564   2.4159  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -2.422915   0.104486 -23.189  < 2e-16 ***
mstat_5unknown                           0.072416   0.065717   1.102   0.2705    
mstat_5unmarried                         0.326549   0.060989   5.354 8.59e-08 ***
mstat_5div_sep                           0.590594   0.112401   5.254 1.49e-07 ***
mstat_5widow                             0.275059   0.146759   1.874   0.0609 .  
race_5BLACK OR AFRICAN AMERICAN         -0.049591   0.096285  -0.515   0.6065    
race_5Other                             -0.161237   0.153115  -1.053   0.2923    
race_5ASIAN                             -0.321607   0.186891  -1.721   0.0853 .  
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.270995   0.339278   0.799   0.4244    
lang_3Other                             -0.492106   0.313202  -1.571   0.1161    
relig_affilno                           -0.016553   0.048015  -0.345   0.7303    
age_yrs                                  0.003596   0.001478   2.433   0.0150 *  
genderfemale                             0.591217   0.048236  12.257  < 2e-16 ***
ethnic_3HISPANIC                         0.045777   0.175819   0.260   0.7946    
tobac_4QUIT                              0.441558   0.054711   8.071 6.99e-16 ***
tobac_4Yes                               0.531317   0.067747   7.843 4.41e-15 ***
RPL_THEMES                               0.111488   0.092735   1.202   0.2293    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 12438  on 13063  degrees of freedom
Residual deviance: 12080  on 13047  degrees of freedom
  (2181 observations deleted due to missingness)
AIC: 12114

Number of Fisher Scoring iterations: 4
broom::glance(model1a)
broom::tidy(model1a, exponentiate = TRUE)
model_performance(model1a)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
12114.369 | 12241.488 |     0.028 | 0.381 | 0.962 |    0.462 |      -Inf |       9.748e-05 | 0.709
tbl_regression(model1a, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", mstat_5 ~ "Marital Status", tobac_4 ~ "Tobacco Use"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 1.08 0.94, 1.22 0.3
    unmarried 1.39 1.23, 1.56 <0.001
    div_sep 1.81 1.44, 2.25 <0.001
    widow 1.32 0.98, 1.75 0.061
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.95 0.79, 1.15 0.6
    Other 0.85 0.63, 1.14 0.3
    ASIAN 0.72 0.49, 1.03 0.085
    AMERICAN INDIAN AND ALASKA NATIVE 1.31 0.65, 2.48 0.4
English Speaking
    English
    Other 0.61 0.31, 1.09 0.12
Any Religious Affiliation
    yes
    no 0.98 0.90, 1.08 0.7
Age 1.00 1.00, 1.01 0.015
Gender
    male
    female 1.81 1.64, 1.99 <0.001
Ethnicity
    NON-HISPANIC
    HISPANIC 1.05 0.73, 1.46 0.8
Tobacco Use
    NEVER
    QUIT 1.56 1.40, 1.73 <0.001
    Yes 1.70 1.49, 1.94 <0.001
Total SVI 1.12 0.93, 1.34 0.2
1 OR = Odds Ratio, CI = Confidence Interval

Depression + RPL_THEMESx4

model1b <- glm(depression_2 ~  mstat_5 + lang_3 + relig_affil + age_yrs + race_5
       + tobac_4 + gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 + RPL_THEME4,
              family = "binomial",
              data = mh_clean1)
summary(model1b)

Call:
glm(formula = depression_2 ~ mstat_5 + lang_3 + relig_affil + 
    age_yrs + race_5 + tobac_4 + gender + ethnic_3 + RPL_THEME1 + 
    RPL_THEME2 + RPL_THEME3 + RPL_THEME4, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1077  -0.6661  -0.5786  -0.4547   2.4843  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -2.496160   0.114723 -21.758  < 2e-16 ***
mstat_5unknown                           0.067184   0.065979   1.018  0.30855    
mstat_5unmarried                         0.312184   0.061227   5.099 3.42e-07 ***
mstat_5div_sep                           0.591388   0.112592   5.253 1.50e-07 ***
mstat_5widow                             0.257068   0.147712   1.740  0.08180 .  
lang_3Other                             -0.585361   0.314377  -1.862  0.06261 .  
relig_affilno                           -0.013200   0.048227  -0.274  0.78432    
age_yrs                                  0.003876   0.001484   2.611  0.00903 ** 
race_5BLACK OR AFRICAN AMERICAN         -0.102760   0.098028  -1.048  0.29451    
race_5Other                             -0.184026   0.153277  -1.201  0.22990    
race_5ASIAN                             -0.402725   0.188638  -2.135  0.03277 *  
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.294121   0.340993   0.863  0.38839    
tobac_4QUIT                              0.448503   0.055094   8.141 3.93e-16 ***
tobac_4Yes                               0.535319   0.068313   7.836 4.64e-15 ***
genderfemale                             0.592108   0.048425  12.227  < 2e-16 ***
ethnic_3HISPANIC                         0.036039   0.175761   0.205  0.83754    
RPL_THEME1                               0.307733   0.132498   2.323  0.02020 *  
RPL_THEME2                              -0.343711   0.114637  -2.998  0.00272 ** 
RPL_THEME3                               0.200804   0.085071   2.360  0.01825 *  
RPL_THEME4                               0.082174   0.096427   0.852  0.39411    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 12369  on 12995  degrees of freedom
Residual deviance: 11994  on 12976  degrees of freedom
  (2249 observations deleted due to missingness)
AIC: 12034

Number of Fisher Scoring iterations: 4
broom::glance(model1b)
broom::tidy(model1b, exponentiate = TRUE)
model_performance(model1b)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
12034.105 | 12183.553 |     0.029 | 0.381 | 0.961 |    0.461 |      -Inf |       7.695e-05 | 0.710
tbl_regression(model1b, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", mstat_5 ~ "Marital Status", RPL_THEME4 ~ "Housing and Transportation", tobac_4 ~ "Tobacco Use"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 1.07 0.94, 1.22 0.3
    unmarried 1.37 1.21, 1.54 <0.001
    div_sep 1.81 1.45, 2.25 <0.001
    widow 1.29 0.96, 1.72 0.082
English Speaking
    English
    Other 0.56 0.29, 0.99 0.063
Any Religious Affiliation
    yes
    no 0.99 0.90, 1.08 0.8
Age 1.00 1.00, 1.01 0.009
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.90 0.74, 1.09 0.3
    Other 0.83 0.61, 1.12 0.2
    ASIAN 0.67 0.45, 0.95 0.033
    AMERICAN INDIAN AND ALASKA NATIVE 1.34 0.66, 2.54 0.4
Tobacco Use
    NEVER
    QUIT 1.57 1.41, 1.74 <0.001
    Yes 1.71 1.49, 1.95 <0.001
Gender
    male
    female 1.81 1.64, 1.99 <0.001
Ethnicity
    NON-HISPANIC
    HISPANIC 1.04 0.73, 1.45 0.8
Soceioeconomic Status 1.36 1.05, 1.76 0.020
Household Composition 0.71 0.57, 0.89 0.003
Minority Status and Language 1.22 1.03, 1.44 0.018
Housing and Transportation 1.09 0.90, 1.31 0.4
1 OR = Odds Ratio, CI = Confidence Interval

Anxiety + RPL_THEMES

model2a <- glm(anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + relig_affil
               + tobac_4 + gender + ethnic_3 + RPL_THEMES,
              family = "binomial",
              data = mh_clean1)
summary(model2a)

Call:
glm(formula = anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + 
    relig_affil + tobac_4 + gender + ethnic_3 + RPL_THEMES, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1103  -0.7195  -0.5855  -0.4553   2.5833  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.436565   0.099993 -14.367  < 2e-16 ***
mstat_5unknown                          -0.007364   0.064149  -0.115  0.90861    
mstat_5unmarried                         0.147932   0.059725   2.477  0.01325 *  
mstat_5div_sep                           0.462271   0.114288   4.045 5.24e-05 ***
mstat_5widow                             0.159306   0.158503   1.005  0.31486    
lang_3Other                             -0.850042   0.354412  -2.398  0.01646 *  
age_yrs                                 -0.010689   0.001472  -7.260 3.87e-13 ***
race_5BLACK OR AFRICAN AMERICAN         -0.192816   0.097980  -1.968  0.04908 *  
race_5Other                              0.053750   0.138951   0.387  0.69888    
race_5ASIAN                             -0.595149   0.189153  -3.146  0.00165 ** 
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.262051   0.330728   0.792  0.42816    
relig_affilno                           -0.053780   0.046514  -1.156  0.24760    
tobac_4QUIT                              0.396049   0.054340   7.288 3.14e-13 ***
tobac_4Yes                               0.485206   0.066517   7.294 3.00e-13 ***
genderfemale                             0.720580   0.047334  15.223  < 2e-16 ***
ethnic_3HISPANIC                        -0.034107   0.167120  -0.204  0.83829    
RPL_THEMES                              -0.259442   0.091492  -2.836  0.00457 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 12977  on 13063  degrees of freedom
Residual deviance: 12557  on 13047  degrees of freedom
  (2181 observations deleted due to missingness)
AIC: 12591

Number of Fisher Scoring iterations: 4
broom::glance(model2a)
broom::tidy(model2a, exponentiate = TRUE)
model_performance(model2a)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
12591.291 | 12718.411 |     0.032 | 0.391 | 0.981 |    0.481 |      -Inf |       7.657e-05 | 0.693
tbl_regression(model2a, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", tobac_4 ~ "Tobacco Use", mstat_5 ~ "Marital Status"), exponentiate = TRUE)  
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 0.99 0.87, 1.13 >0.9
    unmarried 1.16 1.03, 1.30 0.013
    div_sep 1.59 1.27, 1.98 <0.001
    widow 1.17 0.85, 1.59 0.3
English Speaking
    English
    Other 0.43 0.20, 0.81 0.016
Age 0.99 0.99, 0.99 <0.001
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.82 0.68, 1.00 0.049
    Other 1.06 0.80, 1.38 0.7
    ASIAN 0.55 0.37, 0.79 0.002
    AMERICAN INDIAN AND ALASKA NATIVE 1.30 0.66, 2.42 0.4
Any Religious Affiliation
    yes
    no 0.95 0.86, 1.04 0.2
Tobacco Use
    NEVER
    QUIT 1.49 1.34, 1.65 <0.001
    Yes 1.62 1.43, 1.85 <0.001
Gender
    male
    female 2.06 1.87, 2.26 <0.001
Ethnicity
    NON-HISPANIC
    HISPANIC 0.97 0.69, 1.33 0.8
Total SVI 0.77 0.64, 0.92 0.005
1 OR = Odds Ratio, CI = Confidence Interval

Anxiety + RPL_THEMESx4

model2b <- glm(anxiety_2 ~  mstat_5 + lang_3 + age_yrs + race_5 + relig_affil 
          + tobac_4 + gender + ethnic_3 + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 + RPL_THEME4,
              family = "binomial",
              data = mh_clean1)
summary(model2b)

Call:
glm(formula = anxiety_2 ~ mstat_5 + lang_3 + age_yrs + race_5 + 
    relig_affil + tobac_4 + gender + ethnic_3 + RPL_THEME1 + 
    RPL_THEME2 + RPL_THEME3 + RPL_THEME4, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.1468  -0.7180  -0.5819  -0.4499   2.6093  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.539298   0.110276 -13.959  < 2e-16 ***
mstat_5unknown                          -0.012394   0.064470  -0.192 0.847546    
mstat_5unmarried                         0.137750   0.059942   2.298 0.021558 *  
mstat_5div_sep                           0.464406   0.114547   4.054 5.03e-05 ***
mstat_5widow                             0.158265   0.158817   0.997 0.318996    
lang_3Other                             -0.930022   0.355365  -2.617 0.008868 ** 
age_yrs                                 -0.010554   0.001478  -7.140 9.33e-13 ***
race_5BLACK OR AFRICAN AMERICAN         -0.249711   0.099586  -2.507 0.012159 *  
race_5Other                              0.025567   0.139196   0.184 0.854268    
race_5ASIAN                             -0.719141   0.190753  -3.770 0.000163 ***
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.292049   0.333197   0.877 0.380755    
relig_affilno                           -0.047116   0.046730  -1.008 0.313328    
tobac_4QUIT                              0.416165   0.054777   7.597 3.02e-14 ***
tobac_4Yes                               0.510270   0.067143   7.600 2.97e-14 ***
genderfemale                             0.727716   0.047557  15.302  < 2e-16 ***
ethnic_3HISPANIC                        -0.040591   0.167128  -0.243 0.808101    
RPL_THEME1                              -0.210917   0.130611  -1.615 0.106342    
RPL_THEME2                              -0.252052   0.112838  -2.234 0.025499 *  
RPL_THEME3                               0.306422   0.082740   3.703 0.000213 ***
RPL_THEME4                               0.035935   0.094329   0.381 0.703234    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 12908  on 12995  degrees of freedom
Residual deviance: 12462  on 12976  degrees of freedom
  (2249 observations deleted due to missingness)
AIC: 12502

Number of Fisher Scoring iterations: 4
broom::glance(model2b)
broom::tidy(model2b, exponentiate = TRUE)
model_performance(model2b)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
12501.516 | 12650.964 |     0.035 | 0.391 | 0.980 |    0.479 |      -Inf |       7.826e-05 | 0.694
tbl_regression(model2b, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", tobac_4 ~ "Tobacco Use", relig_affil ~ "Any Religious Affiliation", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Marital Status
    married
    unknown 0.99 0.87, 1.12 0.8
    unmarried 1.15 1.02, 1.29 0.022
    div_sep 1.59 1.27, 1.99 <0.001
    widow 1.17 0.85, 1.59 0.3
English Speaking
    English
    Other 0.39 0.18, 0.75 0.009
Age 0.99 0.99, 0.99 <0.001
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.78 0.64, 0.94 0.012
    Other 1.03 0.78, 1.34 0.9
    ASIAN 0.49 0.33, 0.70 <0.001
    AMERICAN INDIAN AND ALASKA NATIVE 1.34 0.67, 2.51 0.4
Any Religious Affiliation
    yes
    no 0.95 0.87, 1.05 0.3
Tobacco Use
    NEVER
    QUIT 1.52 1.36, 1.69 <0.001
    Yes 1.67 1.46, 1.90 <0.001
Gender
    male
    female 2.07 1.89, 2.27 <0.001
Ethnicity
    NON-HISPANIC
    HISPANIC 0.96 0.69, 1.32 0.8
Soceioeconomic Status 0.81 0.63, 1.05 0.11
Household Composition 0.78 0.62, 0.97 0.025
Minority Status and Language 1.36 1.16, 1.60 <0.001
Housing and Transportation 1.04 0.86, 1.25 0.7
1 OR = Odds Ratio, CI = Confidence Interval

Any Psych Diagnosis + RPL_THEMES

model4a <- glm(any_psych_dx_2 ~ relig_affil + mstat_5 + race_5 + lang_3 +
              + tobac_4 + age_yrs + gender + ethnic_3 + RPL_THEMES,
              family = "binomial",
              data = mh_clean1)
summary(model4a)

Call:
glm(formula = any_psych_dx_2 ~ relig_affil + mstat_5 + race_5 + 
    lang_3 + +tobac_4 + age_yrs + gender + ethnic_3 + RPL_THEMES, 
    family = "binomial", data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2928  -0.8569  -0.7382   1.3455   2.1288  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.331452   0.086823 -15.335  < 2e-16 ***
relig_affilno                           -0.039474   0.040479  -0.975   0.3295    
mstat_5unknown                           0.012870   0.055105   0.234   0.8153    
mstat_5unmarried                         0.232899   0.051790   4.497 6.89e-06 ***
mstat_5div_sep                           0.474448   0.103407   4.588 4.47e-06 ***
mstat_5widow                             0.206844   0.133270   1.552   0.1206    
race_5BLACK OR AFRICAN AMERICAN         -0.054216   0.082412  -0.658   0.5106    
race_5Other                              0.010420   0.122197   0.085   0.9320    
race_5ASIAN                             -0.312989   0.146021  -2.143   0.0321 *  
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.202199   0.302588   0.668   0.5040    
lang_3Other                             -0.590575   0.253101  -2.333   0.0196 *  
tobac_4QUIT                              0.421528   0.046720   9.022  < 2e-16 ***
tobac_4Yes                               0.493209   0.058927   8.370  < 2e-16 ***
age_yrs                                 -0.002346   0.001256  -1.868   0.0618 .  
genderfemale                             0.612172   0.040154  15.245  < 2e-16 ***
ethnic_3HISPANIC                         0.061715   0.144891   0.426   0.6701    
RPL_THEMES                              -0.071240   0.078956  -0.902   0.3669    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 15974  on 13063  degrees of freedom
Residual deviance: 15550  on 13047  degrees of freedom
  (2181 observations deleted due to missingness)
AIC: 15584

Number of Fisher Scoring iterations: 4
broom::glance(model4a)
broom::tidy(model4a, exponentiate = TRUE)
model_performance(model4a)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
15584.122 | 15711.241 |     0.032 | 0.451 | 1.092 |    0.595 |      -Inf |       7.655e-05 | 0.593
tbl_regression(model4a, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEMES ~ "Total SVI", tobac_4 ~ "Tobacco Use", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Any Religious Affiliation
    yes
    no 0.96 0.89, 1.04 0.3
Marital Status
    married
    unknown 1.01 0.91, 1.13 0.8
    unmarried 1.26 1.14, 1.40 <0.001
    div_sep 1.61 1.31, 1.97 <0.001
    widow 1.23 0.94, 1.59 0.12
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.95 0.80, 1.11 0.5
    Other 1.01 0.79, 1.28 >0.9
    ASIAN 0.73 0.55, 0.97 0.032
    AMERICAN INDIAN AND ALASKA NATIVE 1.22 0.66, 2.19 0.5
English Speaking
    English
    Other 0.55 0.33, 0.89 0.020
Tobacco Use
    NEVER
    QUIT 1.52 1.39, 1.67 <0.001
    Yes 1.64 1.46, 1.84 <0.001
Age 1.00 1.00, 1.00 0.062
Gender
    male
    female 1.84 1.71, 2.00 <0.001
Ethnicity
    NON-HISPANIC
    HISPANIC 1.06 0.80, 1.41 0.7
Total SVI 0.93 0.80, 1.09 0.4
1 OR = Odds Ratio, CI = Confidence Interval

Any Psych Diagnosis + RPL_THEMESx4

model4b <- glm(any_psych_dx_2 ~ relig_affil + race_5 + lang_3 + mstat_5
             + age_yrs + tobac_4 + gender + ethnic_3  + RPL_THEME1 + RPL_THEME2 + RPL_THEME3 + RPL_THEME4,
              family = "binomial",
              data = mh_clean1)
summary(model4b)

Call:
glm(formula = any_psych_dx_2 ~ relig_affil + race_5 + lang_3 + 
    mstat_5 + age_yrs + tobac_4 + gender + ethnic_3 + RPL_THEME1 + 
    RPL_THEME2 + RPL_THEME3 + RPL_THEME4, family = "binomial", 
    data = mh_clean1)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3019  -0.8696  -0.7317   1.3305   2.1591  

Coefficients:
                                         Estimate Std. Error z value Pr(>|z|)    
(Intercept)                             -1.411247   0.095687 -14.749  < 2e-16 ***
relig_affilno                           -0.034132   0.040658  -0.839 0.401202    
race_5BLACK OR AFRICAN AMERICAN         -0.104697   0.083945  -1.247 0.212319    
race_5Other                             -0.012136   0.122533  -0.099 0.921108    
race_5ASIAN                             -0.413457   0.147661  -2.800 0.005110 ** 
race_5AMERICAN INDIAN AND ALASKA NATIVE  0.234981   0.305298   0.770 0.441491    
lang_3Other                             -0.674603   0.254176  -2.654 0.007952 ** 
mstat_5unknown                           0.005636   0.055337   0.102 0.918882    
mstat_5unmarried                         0.218544   0.051992   4.203 2.63e-05 ***
mstat_5div_sep                           0.474219   0.103656   4.575 4.76e-06 ***
mstat_5widow                             0.189782   0.133949   1.417 0.156534    
age_yrs                                 -0.002104   0.001261  -1.668 0.095316 .  
tobac_4QUIT                              0.434348   0.047075   9.227  < 2e-16 ***
tobac_4Yes                               0.508904   0.059400   8.567  < 2e-16 ***
genderfemale                             0.617535   0.040324  15.314  < 2e-16 ***
ethnic_3HISPANIC                         0.055680   0.145073   0.384 0.701123    
RPL_THEME1                               0.051902   0.112830   0.460 0.645512    
RPL_THEME2                              -0.307624   0.097562  -3.153 0.001615 ** 
RPL_THEME3                               0.240966   0.071985   3.347 0.000816 ***
RPL_THEME4                               0.064094   0.081773   0.784 0.433154    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 15891  on 12995  degrees of freedom
Residual deviance: 15441  on 12976  degrees of freedom
  (2249 observations deleted due to missingness)
AIC: 15481

Number of Fisher Scoring iterations: 4
broom::glance(model4b)
broom::tidy(model4b, exponentiate = TRUE)
model_performance(model4b)
# Indices of model performance

AIC       |       BIC | Tjur's R2 |  RMSE | Sigma | Log_loss | Score_log | Score_spherical |   PCP
--------------------------------------------------------------------------------------------------
15481.456 | 15630.904 |     0.035 | 0.450 | 1.091 |    0.594 |      -Inf |       7.695e-05 | 0.594
tbl_regression(model4b, label = list(age_yrs ~ "Age", gender~ "Gender", race_5 ~ "Race", ethnic_3 ~ "Ethnicity", lang_3 ~ "English Speaking", relig_affil ~ "Any Religious Affiliation", RPL_THEME1 ~ "Soceioeconomic Status", RPL_THEME2 ~ "Household Composition", RPL_THEME3 ~ "Minority Status and Language", RPL_THEME4 ~ "Housing and Transportation", mstat_5 ~ "Marital Status"), exponentiate = TRUE)
Characteristic OR1 95% CI1 p-value
Any Religious Affiliation
    yes
    no 0.97 0.89, 1.05 0.4
Race
    WHITE OR CAUCASIAN
    BLACK OR AFRICAN AMERICAN 0.90 0.76, 1.06 0.2
    Other 0.99 0.77, 1.25 >0.9
    ASIAN 0.66 0.49, 0.88 0.005
    AMERICAN INDIAN AND ALASKA NATIVE 1.26 0.68, 2.28 0.4
English Speaking
    English
    Other 0.51 0.30, 0.82 0.008
Marital Status
    married
    unknown 1.01 0.90, 1.12 >0.9
    unmarried 1.24 1.12, 1.38 <0.001
    div_sep 1.61 1.31, 1.97 <0.001
    widow 1.21 0.93, 1.57 0.2
Age 1.00 1.00, 1.00 0.10
tobac_4
    NEVER
    QUIT 1.54 1.41, 1.69 <0.001
    Yes 1.66 1.48, 1.87 <0.001
Gender
    male
    female 1.85 1.71, 2.01 <0.001
Ethnicity
    NON-HISPANIC
    HISPANIC 1.06 0.79, 1.40 0.7
Soceioeconomic Status 1.05 0.84, 1.31 0.6
Household Composition 0.74 0.61, 0.89 0.002
Minority Status and Language 1.27 1.11, 1.47 <0.001
Housing and Transportation 1.07 0.91, 1.25 0.4
1 OR = Odds Ratio, CI = Confidence Interval
LS0tCnRpdGxlOiAiMjAyMi4xMC4xOF9NSF9Nb2RlbCwgRXhsIFVua25vd24sIEluYyBBTEwgTWFyaXRhbCIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICB0aGVtZXM6IHBhcGVyCiAgIHRvYzogeWVzCiAgIHRvY19mbG9hdDogeWVzCmVkaXRvcl9vcHRpb25zOiAKICBjaHVua19vdXRwdXRfdHlwZTogaW5saW5lCi0tLQojIExvYWQgUGFja2FnZXMgey50YWJzZXR9CgojIyB0aWR5dmVyc2UKCmBgYHtyfQppZiAoIXJlcXVpcmUodGlkeXZlcnNlKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIiwgZGVwZW5kZW5jaWVzID0gVFJVRSkKICBsaWJyYXJ5KHRpZHl2ZXJzZSkKfQpgYGAKCiMjIGNvZGVib29rcgpgYGB7cn0KaWYgKCFyZXF1aXJlKGNvZGVib29rcikpewogIGluc3RhbGwucGFja2FnZXMoImNvZGVib29rciIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShjb2RlYm9va3IpCn0KYGBgCgojIyBzdW1tYXJ5dG9vbHMKYGBge3J9CmlmICghcmVxdWlyZShzdW1tYXJ5dG9vbHMpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJzdW1tYXJ5dG9vbHMiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoc3VtbWFyeXRvb2xzKQp9CmBgYAoKIyMgYnJvb20gCmBgYHtyfQppZiAoIXJlcXVpcmUoYnJvb20pKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJicm9vbSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShicm9vbSkKfQpgYGAKCiMjIHBlcmZvcm1hbmNlCmBgYHtyfQppZiAoIXJlcXVpcmUocGVyZm9ybWFuY2UpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJwZXJmb3JtYW5jZSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShwZXJmb3JtYW5jZSkKfQpgYGAKCiMjIGd0c3VtbWFyeQpgYGB7cn0KaWYgKCFyZXF1aXJlKGd0c3VtbWFyeSkpewogIGluc3RhbGwucGFja2FnZXMoImd0c3VtbWFyeSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShndHN1bW1hcnkpCn0KYGBgCgojIyBqYW5pdG9yCmBgYHtyfQppZiAoIXJlcXVpcmUoamFuaXRvcikpewogIGluc3RhbGwucGFja2FnZXMoImphbml0b3IiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoamFuaXRvcikKfQpgYGAKCiMjIGZvcmNhdHMKYGBge3J9CmlmICghcmVxdWlyZShmb3JjYXRzKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygiZm9yY2F0cyIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShmb3JjYXRzKQp9CmBgYAoKIyBJbXBvcnQgRGF0YQpgYGB7cn0KbWhfZGVpZHYzIDwtIHJlYWQuY3N2KCJ+L0Rlc2t0b3AvUi1Db2RlL21oX2RlaWR2My5jc3YiKQpgYGAKCiMgRGF0YSBDbGVhbmluZyB7LnRhYnNldH0KCiMjIFJQTF9USEVNRVMgRXJyb25lb3VzIHZhbHVlcyAKYGBge3J9Cm1oX2RlaWR2MyAlPiUKICBzZWxlY3QoYWdlX3lycywgUEFUSUVOVF9HRU5ERVJfQ0QsIFBBVElFTlRfUkFDRV9ERVNDLCBQQVRJRU5UX0VUSE5JQ19HUk9VUF9ERVNDLCBQQVRJRU5UX0xBTkdVQUdFX0RFU0MsIFBBVElFTlRfUkVMSUdJT05fREVTQywgUEFUSUVOVF9NQVJJVEFMX1NUQVRVU19ERVNDLCBQQVRJRU5UX1NUQVRFX0NELCBFRFVfWUVBUlMsIFRPQkFDQ09fREVTQywgZGVwcmVzc2lvbiwgYW54aWV0eSwgcHRzZCwgYmlwb2xhciwgYm9keV9pbWFnZSwgb2NkLCBzdHJlc3MsIHNlYXNvbmFsQUQsIHBhbmljLCBhbnlfcHN5Y2hfZHgsU1RfQUJCUiwgRV9UT1RQT1AsIFJQTF9USEVNRVMsIFJQTF9USEVNRTEsIFJQTF9USEVNRTIsIFJQTF9USEVNRTMsIFJQTF9USEVNRTQpIC0+IGV4YW1wbGVkZjEKZXhhbXBsZWRmMSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiMCIpKSAtPiBleGFtcGxlZGYxTkEKYGBgCgojIyBNZW50YWwgaGVhbHRoIGRhdGEgZGljaApgYGB7cn0KZXhhbXBsZWRmMU5BICU+JSBtdXRhdGUoYWNyb3NzKGRlcHJlc3Npb246YW55X3BzeWNoX2R4LCB+aWZfZWxzZSgueD4wLjUsIDEsIDApLAogICAgICAgICAgICAgICAgLm5hbWVzID0gIntjb2x9XzIiKSkgLT4gZXhhbXBsZWRmMU5BRGkyCmBgYAoKIyMgTWFyaXRhbCBzdGF0dXMKYGBge3J9CmV4YW1wbGVkZjFOQURpMiAlPiUgCm11dGF0ZShtc3RhdF81ID0gYXNfZmFjdG9yKFBBVElFTlRfTUFSSVRBTF9TVEFUVVNfREVTQyksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVjb2RlKG1zdGF0XzUsIGRpdl9zZXAgPSAiRElWT1JDRUQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXZfc2VwID0gIkxFR0FMTFkgU0VQQVJBVEVEIiwgd2lkb3cgPSAiV0lET1dFRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcnJpZWQgPSAiTUFSUklFRCIsIHVubWFycmllZCA9ICJTSU5HTEUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmtub3duID0gIlVOS05PV04iLCB1bmtub3duID0gIk9USEVSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5tYXJyaWVkID0gIlNJR05JRklDQU5UIE9USEVSIiksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVsZXZlbChtc3RhdF81LCByZWYgPSAnbWFycmllZCcpKSAtPiBleGFtcGxlZGYxTkFEaTJNQQpgYGAKCiMjIFJlbGlnaW9uIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUEgJT4lIAogIG11dGF0ZShyZWxpZ19hZmZpbCA9IGFzX2ZhY3RvcihQQVRJRU5UX1JFTElHSU9OX0RFU0MpLAogICAgICAgICAgcmVsaWdfYWZmaWwgPSBmY3RfcmVjb2RlKHJlbGlnX2FmZmlsLCB5ZXMgPSAiQ0FUSE9MSUMiLAogICAgICAgICAgICAgICAgICAgICAgbm8gPSAiTk9ORSIsIAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkNIUklTVElBTiIsIHllcyA9ICJMVVRIRVJBTiIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiUlVTU0lBTiBPUlRIT0RPWCIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiUFJPVEVTVEFOVCIsIHllcyA9ICJCQVBUSVNUIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJNRVRIT0RJU1QiLCB5ZXMgPSAiUFJFU0JZVEVSSUFOIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJOT04tREVOT01JTkFUSU9OQUwiLCB5ZXMgPSAiSkVXSVNIIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJNVVNMSU0iLCB5ZXMgPSAiT1RIRVIiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkVQSVNDT1BBTElBTiIsIHllcyA9ICJQRU5URUNPU1RBTCIsCiAgICAgICAgICAgICAgICAgICAgICBubyA9ICJBR05PU1RJQyIsIG5vID0gIkFUSEVJU1QiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkpFSE9WQUgnUyBXSVRORVNTIiwgeWVzID0gIkhJTkRVIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJHUkVFSyBPUlRIT0RPWCIsIHllcyA9ICJDSFVSQ0ggT0YgSkVTVVMgQ0hSSVNUIE9GIExBVFRFUi1EQVkgU0FJTlRTIiwgeWVzID0gIkJBSEFJIiwgbm8gPSAiU1BJUklUVUFMIiwgeWVzID0gIkNIVVJDSCBPRiBDSFJJU1QiLAogICAgICAgICB5ZXMgPSAiU0VWRU5USCBEQVkgQURWRU5USVNUIiwgeWVzID0gIkFQT1NUT0xJQyIsIHllcyA9ICJCVURESElTVCIsIHllcyA9ICJOQVpBUkVORSIsIHllcyA9ICJDT05HUkVHQVRJT05BTCIsIHllcyA9ICJVTklURUQgQ0hVUkNIIE9GIENIUiIsIHllcyA9ICJSRUZPUk1FRCIsIHllcyA9ICJQQUdBTiIsIHllcyA9ICJKQUlOIiwgeWVzID0gIkFTU0VNQkxZIE9GIEdPRCIsIHllcyA9ICJSRU9SRyBDSFIgT0YgTEFUIERBWSIsIHllcyA9ICJRVUFLRVIiLCB5ZXMgPSAiVU5JVEFSSUFOIFVOSVZFUlNBTElTVCIsIHllcyA9ICJNRU5OT05JVEUiLCB5ZXMgPSAiRlJFRSBNRVRIT0RJU1QiLCB5ZXMgPSAiTkFUSVZFIEFNRVIgU1BJUklUTCIsIHllcyA9ICJXSUNDQU4iLCB5ZXMgPSAiT1JUSE9ET1giLCB5ZXMgPSAiU0FMVkFUSU9OIEFSTVkiLCB5ZXMgPSAiRElTQ0lQTEVTIE9GIENIUklTVCIsIHllcyA9ICJBRlJJQ0FOIE1FVEhPRElTVCBFUCIsIHllcyA9ICJTSUtIIiwgeWVzID0gIkNIVVJDSCBPRiBHT0QiLCB5ZXMgPSAiVEFPSVNUIiwgeWVzID0gIkFOR0xJQ0FOIiksCnJlbGlnX2FmZmlsID0gZmN0X3JlbGV2ZWwocmVsaWdfYWZmaWwsIHJlZiA9ICd5ZXMnKSkgJT4lIAptdXRhdGUocmVsaWdfYWZmaWwgPSBuYV9pZihyZWxpZ19hZmZpbCwgIlVOS05PV04iKSkgJT4lIAptdXRhdGUocmVsaWdfYWZmaWwgPSBuYV9pZihyZWxpZ19hZmZpbCwgIlBBVElFTlQgUkVGVVNFRCIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbApgYGAKCiMjIFJhY2UgCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbCAlPiUgCm11dGF0ZShyYWNlXzUgPSBhc19mYWN0b3IoUEFUSUVOVF9SQUNFX0RFU0MpLAogICAgICAgICByYWNlXzUgPSBmY3RfcmVjb2RlKHJhY2VfNSwgT3RoZXIgPSAiT1RIRVIiLAogICAgICAgICAgICAgICAgICBPdGhlciA9ICJVTktOT1dOIiwgT3RoZXIgPSAiQ0hPT1NFIE5PVCBUTyBESVNDTE9TRSIsCiAgICAgICAgICAgICAgICAgIE90aGVyID0gIk5BVElWRSBIQVdBSUlBTiBBTkQgT1RIRVIgUEFDSUZJQyBJU0xBTkRFUiIsIAogICAgICAgICAgICAgICAgICBPdGhlciA9ICJNSURETEUgRUFTVEVSTi9OT1JUSCBBRlJJQ0FOIiwKICAgICAgICAgICAgICAgIEFTSUFOID0gIkFTSUFOIElORElBTiIsIEFTSUFOID0gIk9USEVSIEFTSUFOIiwKICAgICAgICAgICAgICAgIEFTSUFOID0gIkpBUEFORVNFIiwgQVNJQU4gPSAiS09SRUFOIiwgQVNJQU4gPSAiRklMSVBJTk8iLAogICAgICAgICAgICAgICAgQVNJQU4gPSAiQ0hJTkVTRSIpLAogICAgICAgICByYWNlXzUgPSBmY3RfcmVsZXZlbChyYWNlXzUsIHJlZiA9ICdXSElURSBPUiBDQVVDQVNJQU4nKSkgLT4gZXhhbXBsZWRmMU5BRGkyTUFSZWxSYQpgYGAKCiMjIEdlbmRlcgpgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYSAlPiUgCm11dGF0ZShnZW5kZXIgPSBhc19mYWN0b3IoUEFUSUVOVF9HRU5ERVJfQ0QpLAogICAgICAgICBnZW5kZXIgPSBmY3RfcmVjb2RlKGdlbmRlciwgbWFsZSA9ICJNIiwgZmVtYWxlID0gIkYiKSwKICAgICAgICAgZ2VuZGVyID0gZmN0X3JlbGV2ZWwoZ2VuZGVyLCByZWYgPSAibWFsZSIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhRwpgYGAKCiMjIExhbmd1YWdlCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbFJhRyAlPiUgCiAgbXV0YXRlKGxhbmdfMyA9IGFzX2ZhY3RvcihQQVRJRU5UX0xBTkdVQUdFX0RFU0MpLApsYW5nXzMgPSBmY3RfcmVjb2RlKGxhbmdfMywgRW5nbGlzaCA9ICJFTkdMSVNIIiwKT3RoZXIgPSAiQVJBQklDIiwgT3RoZXIgPSAiSkFQQU5FU0UiLApPdGhlciA9ICJDSElORVNFLCBNQU5EQVJJTiIsCk90aGVyID0gIktPUkVBTiIsIE90aGVyID0gIlNJR04gTEFOR1VBR0UiLApPdGhlciA9ICJSVVNTSUFOIiwgT3RoZXIgPSAiU1BBTklTSCIsIE90aGVyID0gIkFSTUVOSUFOIiwKT3RoZXIgPSAiVFVSS0lTSCIsIE90aGVyID0gIkhJTkRJIiwgT3RoZXIgPSAiQkVOR0FMSSIsIE90aGVyID0gIkZBUlNJOyBQRVJTSUFOIiwgT3RoZXIgPSAiQUxCQU5JQU4iLCBPdGhlciA9ICJITU9ORyIsIE90aGVyID0gIlJPTUFOSUFOIiwgCk90aGVyID0gIlBVTkpBQkkiLCBPdGhlciA9ICJDUk9BVElBTiIsIE90aGVyID0gIkNIQUxERUFOIiwgCk90aGVyID0gIkJVUk1FU0UiLCBPdGhlciA9ICJQT1JUVUdVRVNFIiwKT3RoZXIgPSAiVEFHQUxPRyIsIE90aGVyID0gIkZSRU5DSCIsCk90aGVyID0gIkdFUk1BTiIsIE90aGVyID0gIkNISU5FU0UsIENBTlRPTkVTRSIsCk90aGVyID0gIkJPU05JQU4iLCBPdGhlciA9ICJVUkRVIiwKT3RoZXIgPSAiVU5LTk9XTiIpLApsYW5nXzMgPSBmY3RfcmVsZXZlbChsYW5nXzMsIHJlZiA9ICdFbmdsaXNoJykpIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsUmFHTApgYGAKCiMjIEV0aG5pY2l0eQpgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMICU+JSAKICBtdXRhdGUoZXRobmljXzMgPSBhc19mYWN0b3IoUEFUSUVOVF9FVEhOSUNfR1JPVVBfREVTQykpICU+JSAKIG11dGF0ZShldGhuaWNfMyA9IG5hX2lmKGV0aG5pY18zLCAiVU5LTk9XTiIpKSAlPiUgCm11dGF0ZShldGhuaWNfMyA9IG5hX2lmKGV0aG5pY18zLCAiQ0hPT1NFIE5PVCBUTyBESVNDTE9TRSIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0xFdGgKYGBgCgojIyBUb2JhY2NvIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoICU+JSAKICBtdXRhdGUodG9iYWNfNCA9IGFzX2ZhY3RvcihUT0JBQ0NPX0RFU0MpLAogdG9iYWNfNCA9IGZjdF9yZWNvZGUodG9iYWNfNCwgWWVzID0gIlBBU1NJVkUiLApZZXMgPSAiWUVTIiksCnRvYmFjXzQgPSBmY3RfcmVsZXZlbCh0b2JhY180LCByZWYgPSAnTkVWRVInKSkgJT4lIAptdXRhdGUodG9iYWNfNCA9IG5hX2lmKHRvYmFjXzQsICJOT1QgQVNLRUQiKSkgLT4gZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoVApgYGAKCiMgQ29kZWJvb2sgCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0xFdGhUICU+JSAKc2VsZWN0KGFnZV95cnMsIGdlbmRlciwgcmFjZV81LCBldGhuaWNfMywgbGFuZ18zLCByZWxpZ19hZmZpbCwgbXN0YXRfNSwgUEFUSUVOVF9TVEFURV9DRCwgRURVX1lFQVJTLCB0b2JhY180LCBkZXByZXNzaW9uXzIsIGFueGlldHlfMiwgcHRzZF8yLCBiaXBvbGFyXzIsIGJvZHlfaW1hZ2VfMiwgb2NkXzIsIHNlYXNvbmFsQURfMiwgcGFuaWNfMiwgYW55X3BzeWNoX2R4XzIsIEVfVE9UUE9QLCBSUExfVEhFTUVTLCBSUExfVEhFTUUxLCBSUExfVEhFTUUyLCBSUExfVEhFTUUzLCBSUExfVEhFTUU0KSAtPiBtaF9jbGVhbjEKcHJpbnQoZGZTdW1tYXJ5KG1oX2NsZWFuMSksIG1ldGhvZCA9ICdyZW5kZXInKSAKYGBgCgojIFBhdGllbnQgQ2hhcmFjdGVyaXN0aWNzIHsudGFic2V0fQoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIApgYGB7cn0KbWhfY2xlYW4xICU+JSAKICBzZWxlY3QoYWdlX3lycywgZ2VuZGVyLCByYWNlXzUsIGV0aG5pY18zLCBsYW5nXzMsIHJlbGlnX2FmZmlsLCBtc3RhdF81LCB0b2JhY180LCBkZXByZXNzaW9uXzIsIGFueGlldHlfMiwgcHRzZF8yLCBhbnlfcHN5Y2hfZHhfMiwgUlBMX1RIRU1FUywgUlBMX1RIRU1FMSwgUlBMX1RIRU1FMiwgUlBMX1RIRU1FMywgUlBMX1RIRU1FNCkgLT4gYmFzZWxpbmUKYmFzZWxpbmUgJT4lIHRibF9zdW1tYXJ5KGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIiwgYW54aWV0eV8yIH4gIkFueGlldHkiLCBwdHNkXzIgfiAiUFRTRCIsIGFueV9wc3ljaF9keF8yIH4gIkFueSBQc3ljaGlhdHJpYyBEaWFnbm9zaXMiLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikKYGBgCgojIyBCYXNlbGluZSBDaGFyYWN0ZXJpc3RpY3MgYnkgRGVwcmVzc2lvbiAKYGBge3J9CmJhc2VsaW5lICU+JSB0Ymxfc3VtbWFyeShieSA9IGRlcHJlc3Npb25fMiwKICAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBhbnhpZXR5XzIgfiAiQW54aWV0eSIsIHB0c2RfMiB+ICJQVFNEIiwgYW55X3BzeWNoX2R4XzIgfiAiQW55IFBzeWNoaWF0cmljIERpYWdub3NpcyIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIgogICAgICAgICkgJT4lIGFkZF9wKCkKYGBgCgojIyBCYXNlbGluZSBDaGFyYWN0ZXJpc3RpY3MgYnkgQW54aWV0eSAKYGBge3J9CmJhc2VsaW5lICU+JSB0Ymxfc3VtbWFyeShieSA9IGFueGlldHlfMiwKICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24iLCBwdHNkXzIgfiAiUFRTRCIsIGFueV9wc3ljaF9keF8yIH4gIkFueSBQc3ljaGlhdHJpYyBEaWFnbm9zaXMiLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIKICAgICAgICApICU+JSBhZGRfcCgpCmBgYAoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIGJ5IEFueSBQc3ljaCBEaWFnbm9zaXMgCmBgYHtyfQpiYXNlbGluZSAlPiUgdGJsX3N1bW1hcnkoYnkgPSBhbnlfcHN5Y2hfZHhfMiwKICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgZGVwcmVzc2lvbl8yIH4gIkRlcHJlc3Npb24iLCBwdHNkXzIgfiAiUFRTRCIsIGFueGlldHlfMiB+ICJBbnhpZXR5IiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiCiAgICAgICAgKSAlPiUgYWRkX3AoKQpgYGAKCiMgUHJlbGltIE1vZGVscyB7LnRhYnNldH0KCiMjIERlcHJlc3Npb24gKyBSUExfVEhFTUVTIApgYGB7cn0KbW9kZWwxYSA8LSBnbG0oZGVwcmVzc2lvbl8yIH4gbXN0YXRfNSArIHJhY2VfNSArIGxhbmdfMyArIHJlbGlnX2FmZmlsICsgYWdlX3lycwogICAgICAgICAgICAgICArIGdlbmRlciArIGV0aG5pY18zICsgdG9iYWNfNCArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsMWEpCmJyb29tOjpnbGFuY2UobW9kZWwxYSkKYnJvb206OnRpZHkobW9kZWwxYSwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWwxYSkKdGJsX3JlZ3Jlc3Npb24obW9kZWwxYSwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoKIyMgRGVwcmVzc2lvbiArIFJQTF9USEVNRVN4NCAKYGBge3J9Cm1vZGVsMWIgPC0gZ2xtKGRlcHJlc3Npb25fMiB+ICBtc3RhdF81ICsgbGFuZ18zICsgcmVsaWdfYWZmaWwgKyBhZ2VfeXJzICsgcmFjZV81CiAgICAgICArIHRvYmFjXzQgKyBnZW5kZXIgKyBldGhuaWNfMyArIFJQTF9USEVNRTEgKyBSUExfVEhFTUUyICsgUlBMX1RIRU1FMyArIFJQTF9USEVNRTQsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsMWIpCmJyb29tOjpnbGFuY2UobW9kZWwxYikKYnJvb206OnRpZHkobW9kZWwxYiwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWwxYikKdGJsX3JlZ3Jlc3Npb24obW9kZWwxYiwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoKIyMgQW54aWV0eSArIFJQTF9USEVNRVMgCmBgYHtyfQptb2RlbDJhIDwtIGdsbShhbnhpZXR5XzIgfiBtc3RhdF81ICsgbGFuZ18zICsgYWdlX3lycyArIHJhY2VfNSArIHJlbGlnX2FmZmlsCiAgICAgICAgICAgICAgICsgdG9iYWNfNCArIGdlbmRlciArIGV0aG5pY18zICsgUlBMX1RIRU1FUywKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF9jbGVhbjEpCnN1bW1hcnkobW9kZWwyYSkKYnJvb206OmdsYW5jZShtb2RlbDJhKQpicm9vbTo6dGlkeShtb2RlbDJhLCBleHBvbmVudGlhdGUgPSBUUlVFKQptb2RlbF9wZXJmb3JtYW5jZShtb2RlbDJhKQp0YmxfcmVncmVzc2lvbihtb2RlbDJhLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgdG9iYWNfNCB+ICJUb2JhY2NvIFVzZSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiKSwgZXhwb25lbnRpYXRlID0gVFJVRSkgIApgYGAKCiMjIEFueGlldHkgKyBSUExfVEhFTUVTeDQKYGBge3J9Cm1vZGVsMmIgPC0gZ2xtKGFueGlldHlfMiB+ICBtc3RhdF81ICsgbGFuZ18zICsgYWdlX3lycyArIHJhY2VfNSArIHJlbGlnX2FmZmlsIAogICAgICAgICAgKyB0b2JhY180ICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfVEhFTUUxICsgUlBMX1RIRU1FMiArIFJQTF9USEVNRTMgKyBSUExfVEhFTUU0LAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDJiKQpicm9vbTo6Z2xhbmNlKG1vZGVsMmIpCmJyb29tOjp0aWR5KG1vZGVsMmIsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsMmIpCnRibF9yZWdyZXNzaW9uKG1vZGVsMmIsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIsIHRvYmFjXzQgfiAiVG9iYWNjbyBVc2UiLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIEFueSBQc3ljaCBEaWFnbm9zaXMgKyBSUExfVEhFTUVTIApgYGB7cn0KbW9kZWw0YSA8LSBnbG0oYW55X3BzeWNoX2R4XzIgfiByZWxpZ19hZmZpbCArIG1zdGF0XzUgKyByYWNlXzUgKyBsYW5nXzMgKwogICAgICAgICAgICAgICsgdG9iYWNfNCArIGFnZV95cnMgKyBnZW5kZXIgKyBldGhuaWNfMyArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsNGEpCmJyb29tOjpnbGFuY2UobW9kZWw0YSkKYnJvb206OnRpZHkobW9kZWw0YSwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWw0YSkKdGJsX3JlZ3Jlc3Npb24obW9kZWw0YSwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIHRvYmFjXzQgfiAiVG9iYWNjbyBVc2UiLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoKIyMgQW55IFBzeWNoIERpYWdub3NpcyArIFJQTF9USEVNRVN4NApgYGB7cn0KbW9kZWw0YiA8LSBnbG0oYW55X3BzeWNoX2R4XzIgfiByZWxpZ19hZmZpbCArIHJhY2VfNSArIGxhbmdfMyArIG1zdGF0XzUKICAgICAgICAgICAgICsgYWdlX3lycyArIHRvYmFjXzQgKyBnZW5kZXIgKyBldGhuaWNfMyAgKyBSUExfVEhFTUUxICsgUlBMX1RIRU1FMiArIFJQTF9USEVNRTMgKyBSUExfVEhFTUU0LAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDRiKQpicm9vbTo6Z2xhbmNlKG1vZGVsNGIpCmJyb29tOjp0aWR5KG1vZGVsNGIsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsNGIpCnRibF9yZWdyZXNzaW9uKG1vZGVsNGIsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpCmBgYAoK