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", unknown = "UNKNOWN", unknown = "PATIENT REFUSED",
yes = "CHRISTIAN", yes = "LUTHERAN",
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", yes = "RUSSIAN ORTHODOX"),
relig_affil = fct_relevel(relig_affil, ref = 'yes')) -> 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", unknown = "UNKNOWN",
Other = "FRENCH", Other = "GERMAN", Other = "CHINESE, CANTONESE", Other = "URDU",
Other = "BOSNIAN", Other = "TAGALOG"),
lang_3 = fct_relevel(lang_3, ref = 'English')) -> exampledf1NADi2MARelRaGL
Ethnicity
exampledf1NADi2MARelRaGL %>%
mutate(ethnic_3 = as_factor(PATIENT_ETHNIC_GROUP_DESC),
ethnic_3 = fct_recode(ethnic_3, Unknown = "CHOOSE NOT TO DISCLOSE", Unknown = "UNKNOWN")) -> 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')) -> 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')
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,245 |
| 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 (94%) |
| Unknown |
542 (3.6%) |
| HISPANIC |
302 (2.0%) |
| English Speaking |
|
| English |
15,081 (99%) |
| Other |
150 (1.0%) |
| unknown |
14 (<0.1%) |
| Any Religious Affiliation |
|
| yes |
8,211 (54%) |
| no |
6,085 (40%) |
| unknown |
949 (6.2%) |
| 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 |
18 (0.1%) |
| (Missing) |
725 |
| 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 |
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=738] = 27504412, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
| Characteristic |
0, N = 12,639 |
1, N = 2,606 |
p-value |
| 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.002 |
| NON-HISPANIC |
11,905 (94%) |
2,496 (96%) |
|
| Unknown |
479 (3.8%) |
63 (2.4%) |
|
| HISPANIC |
255 (2.0%) |
47 (1.8%) |
|
| English Speaking |
|
|
0.004 |
| English |
12,488 (99%) |
2,593 (100%) |
|
| Other |
138 (1.1%) |
12 (0.5%) |
|
| unknown |
13 (0.1%) |
1 (<0.1%) |
|
| Any Religious Affiliation |
|
|
<0.001 |
| yes |
6,740 (53%) |
1,471 (56%) |
|
| no |
5,043 (40%) |
1,042 (40%) |
|
| unknown |
856 (6.8%) |
93 (3.6%) |
|
| 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 (58%) |
1,183 (46%) |
|
| QUIT |
3,499 (29%) |
940 (37%) |
|
| Yes |
1,459 (12%) |
431 (17%) |
|
| NOT ASKED |
17 (0.1%) |
1 (<0.1%) |
|
| (Missing) |
674 |
51 |
|
| 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 |
|
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=1028] = 28364922, ldstp=15930)
Try increasing the size of the workspace and possibly 'mult'
| Characteristic |
0, N = 12,434 |
1, N = 2,811 |
p-value |
| 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.002 |
| NON-HISPANIC |
11,713 (94%) |
2,688 (96%) |
|
| Unknown |
473 (3.8%) |
69 (2.5%) |
|
| HISPANIC |
248 (2.0%) |
54 (1.9%) |
|
| English Speaking |
|
|
<0.001 |
| English |
12,280 (99%) |
2,801 (100%) |
|
| Other |
141 (1.1%) |
9 (0.3%) |
|
| unknown |
13 (0.1%) |
1 (<0.1%) |
|
| Any Religious Affiliation |
|
|
<0.001 |
| yes |
6,652 (53%) |
1,559 (55%) |
|
| no |
4,935 (40%) |
1,150 (41%) |
|
| unknown |
847 (6.8%) |
102 (3.6%) |
|
| 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 (57%) |
1,421 (51%) |
|
| QUIT |
3,540 (30%) |
899 (33%) |
|
| Yes |
1,447 (12%) |
443 (16%) |
|
| NOT ASKED |
16 (0.1%) |
2 (<0.1%) |
|
| (Missing) |
679 |
46 |
|
| 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 |
|
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()
| Characteristic |
0, N = 10,929 |
1, N = 4,316 |
p-value |
| 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.001 |
| NON-HISPANIC |
10,280 (94%) |
4,121 (95%) |
|
| Unknown |
430 (3.9%) |
112 (2.6%) |
|
| HISPANIC |
219 (2.0%) |
83 (1.9%) |
|
| English Speaking |
|
|
<0.001 |
| English |
10,787 (99%) |
4,294 (99%) |
|
| Other |
130 (1.2%) |
20 (0.5%) |
|
| unknown |
12 (0.1%) |
2 (<0.1%) |
|
| Any Religious Affiliation |
|
|
<0.001 |
| yes |
5,804 (53%) |
2,407 (56%) |
|
| no |
4,350 (40%) |
1,735 (40%) |
|
| unknown |
775 (7.1%) |
174 (4.0%) |
|
| 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 |
|
|
<0.001 |
| NEVER |
6,064 (59%) |
2,109 (50%) |
|
| QUIT |
2,988 (29%) |
1,451 (34%) |
|
| Yes |
1,222 (12%) |
668 (16%) |
|
| NOT ASKED |
15 (0.1%) |
3 (<0.1%) |
|
| (Missing) |
640 |
85 |
|
| 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 |
|
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.1248 -0.6570 -0.5798 -0.4509 2.4938
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.398463 0.101451 -23.641 < 2e-16 ***
mstat_5unknown 0.085592 0.063557 1.347 0.1781
mstat_5unmarried 0.307170 0.059214 5.187 2.13e-07 ***
mstat_5div_sep 0.600545 0.108866 5.516 3.46e-08 ***
mstat_5widow 0.326637 0.142304 2.295 0.0217 *
race_5BLACK OR AFRICAN AMERICAN -0.034756 0.093793 -0.371 0.7110
race_5Other -0.025211 0.130930 -0.193 0.8473
race_5ASIAN -0.325065 0.181365 -1.792 0.0731 .
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.318876 0.326486 0.977 0.3287
lang_3Other -0.656893 0.309967 -2.119 0.0341 *
lang_3unknown 0.472491 1.096722 0.431 0.6666
relig_affilno -0.021902 0.047463 -0.461 0.6445
relig_affilunknown -0.637361 0.119646 -5.327 9.98e-08 ***
age_yrs 0.003023 0.001435 2.107 0.0351 *
genderfemale 0.587637 0.046716 12.579 < 2e-16 ***
ethnic_3Unknown -0.261274 0.150126 -1.740 0.0818 .
ethnic_3HISPANIC -0.014353 0.171759 -0.084 0.9334
tobac_4QUIT 0.461568 0.052974 8.713 < 2e-16 ***
tobac_4Yes 0.510897 0.065784 7.766 8.08e-15 ***
tobac_4NOT ASKED -0.904476 1.037512 -0.872 0.3833
RPL_THEMES 0.121591 0.089932 1.352 0.1764
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 13326 on 14252 degrees of freedom
Residual deviance: 12906 on 14232 degrees of freedom
(992 observations deleted due to missingness)
AIC: 12948
Number of Fisher Scoring iterations: 5
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
--------------------------------------------------------------------------------------------------
12947.846 | 13106.705 | 0.030 | 0.376 | 0.952 | 0.453 | -Inf | 7.615e-05 | 0.717
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.09 |
0.96, 1.23 |
0.2 |
| unmarried |
1.36 |
1.21, 1.53 |
<0.001 |
| div_sep |
1.82 |
1.47, 2.25 |
<0.001 |
| widow |
1.39 |
1.04, 1.82 |
0.022 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.97 |
0.80, 1.16 |
0.7 |
| Other |
0.98 |
0.75, 1.25 |
0.8 |
| ASIAN |
0.72 |
0.50, 1.02 |
0.073 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.38 |
0.70, 2.54 |
0.3 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.52 |
0.27, 0.91 |
0.034 |
| unknown |
1.60 |
0.08, 9.78 |
0.7 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.98 |
0.89, 1.07 |
0.6 |
| unknown |
0.53 |
0.42, 0.66 |
<0.001 |
| Age |
1.00 |
1.00, 1.01 |
0.035 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.80 |
1.64, 1.97 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| Unknown |
0.77 |
0.57, 1.03 |
0.082 |
| HISPANIC |
0.99 |
0.70, 1.37 |
>0.9 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.59 |
1.43, 1.76 |
<0.001 |
| Yes |
1.67 |
1.46, 1.89 |
<0.001 |
| NOT ASKED |
0.40 |
0.02, 2.02 |
0.4 |
| Total SVI |
1.13 |
0.95, 1.35 |
0.2 |
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.0981 -0.6554 -0.5716 -0.4452 2.5477
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.477114 0.111424 -22.231 < 2e-16 ***
mstat_5unknown 0.082485 0.063806 1.293 0.19610
mstat_5unmarried 0.294865 0.059446 4.960 7.04e-07 ***
mstat_5div_sep 0.600889 0.109031 5.511 3.56e-08 ***
mstat_5widow 0.310876 0.143180 2.171 0.02991 *
lang_3Other -0.742193 0.310940 -2.387 0.01699 *
lang_3unknown 0.445028 1.098102 0.405 0.68528
relig_affilno -0.019592 0.047678 -0.411 0.68112
relig_affilunknown -0.631882 0.119803 -5.274 1.33e-07 ***
age_yrs 0.003331 0.001440 2.313 0.02074 *
race_5BLACK OR AFRICAN AMERICAN -0.087749 0.095442 -0.919 0.35789
race_5Other -0.057716 0.131666 -0.438 0.66113
race_5ASIAN -0.403297 0.183047 -2.203 0.02758 *
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.342399 0.328133 1.043 0.29673
tobac_4QUIT 0.466778 0.053341 8.751 < 2e-16 ***
tobac_4Yes 0.514466 0.066338 7.755 8.82e-15 ***
tobac_4NOT ASKED -0.888298 1.038531 -0.855 0.39236
genderfemale 0.589527 0.046901 12.570 < 2e-16 ***
ethnic_3Unknown -0.255225 0.151192 -1.688 0.09140 .
ethnic_3HISPANIC -0.018895 0.171798 -0.110 0.91242
RPL_THEME1 0.309576 0.128380 2.411 0.01589 *
RPL_THEME2 -0.323751 0.110808 -2.922 0.00348 **
RPL_THEME3 0.201897 0.082631 2.443 0.01455 *
RPL_THEME4 0.077892 0.093544 0.833 0.40503
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 13252 on 14181 degrees of freedom
Residual deviance: 12815 on 14158 degrees of freedom
(1063 observations deleted due to missingness)
AIC: 12863
Number of Fisher Scoring iterations: 5
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
--------------------------------------------------------------------------------------------------
12862.517 | 13043.951 | 0.031 | 0.376 | 0.951 | 0.452 | -Inf | 7.165e-05 | 0.717
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.09 |
0.96, 1.23 |
0.2 |
| unmarried |
1.34 |
1.20, 1.51 |
<0.001 |
| div_sep |
1.82 |
1.47, 2.25 |
<0.001 |
| widow |
1.36 |
1.03, 1.80 |
0.030 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.48 |
0.25, 0.84 |
0.017 |
| unknown |
1.56 |
0.08, 9.54 |
0.7 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.98 |
0.89, 1.08 |
0.7 |
| unknown |
0.53 |
0.42, 0.67 |
<0.001 |
| Age |
1.00 |
1.00, 1.01 |
0.021 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.92 |
0.76, 1.10 |
0.4 |
| Other |
0.94 |
0.73, 1.22 |
0.7 |
| ASIAN |
0.67 |
0.46, 0.94 |
0.028 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.41 |
0.71, 2.61 |
0.3 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.59 |
1.44, 1.77 |
<0.001 |
| Yes |
1.67 |
1.47, 1.90 |
<0.001 |
| NOT ASKED |
0.41 |
0.02, 2.06 |
0.4 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.80 |
1.65, 1.98 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| Unknown |
0.77 |
0.57, 1.03 |
0.091 |
| HISPANIC |
0.98 |
0.69, 1.36 |
>0.9 |
| Soceioeconomic Status |
1.36 |
1.06, 1.75 |
0.016 |
| Household Composition |
0.72 |
0.58, 0.90 |
0.003 |
| Minority Status and Language |
1.22 |
1.04, 1.44 |
0.015 |
| Housing and Transportation |
1.08 |
0.90, 1.30 |
0.4 |
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.1032 -0.7086 -0.5798 -0.4472 2.6290
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.405962 0.096870 -14.514 < 2e-16 ***
mstat_5unknown -0.004208 0.061967 -0.068 0.94586
mstat_5unmarried 0.131968 0.057797 2.283 0.02241 *
mstat_5div_sep 0.450131 0.110896 4.059 4.93e-05 ***
mstat_5widow 0.175097 0.154218 1.135 0.25621
lang_3Other -1.014723 0.351653 -2.886 0.00391 **
lang_3unknown 0.155975 1.092401 0.143 0.88646
age_yrs -0.010702 0.001425 -7.512 5.83e-14 ***
race_5BLACK OR AFRICAN AMERICAN -0.202568 0.095910 -2.112 0.03468 *
race_5Other 0.044817 0.122971 0.364 0.71552
race_5ASIAN -0.514386 0.177224 -2.902 0.00370 **
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.295198 0.318642 0.926 0.35423
relig_affilno -0.060926 0.045899 -1.327 0.18438
relig_affilunknown -0.644031 0.115578 -5.572 2.51e-08 ***
tobac_4QUIT 0.383760 0.052468 7.314 2.59e-13 ***
tobac_4Yes 0.443069 0.064492 6.870 6.41e-12 ***
tobac_4NOT ASKED -0.374301 0.762282 -0.491 0.62341
genderfemale 0.698387 0.045656 15.297 < 2e-16 ***
ethnic_3Unknown -0.192395 0.143826 -1.338 0.18100
ethnic_3HISPANIC -0.044937 0.163204 -0.275 0.78305
RPL_THEMES -0.245256 0.088536 -2.770 0.00560 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 13935 on 14252 degrees of freedom
Residual deviance: 13471 on 14232 degrees of freedom
(992 observations deleted due to missingness)
AIC: 13513
Number of Fisher Scoring iterations: 5
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
--------------------------------------------------------------------------------------------------
13512.894 | 13671.753 | 0.033 | 0.387 | 0.973 | 0.473 | -Inf | 9.001e-05 | 0.700
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.00 |
0.88, 1.12 |
>0.9 |
| unmarried |
1.14 |
1.02, 1.28 |
0.022 |
| div_sep |
1.57 |
1.26, 1.94 |
<0.001 |
| widow |
1.19 |
0.87, 1.60 |
0.3 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.36 |
0.17, 0.68 |
0.004 |
| unknown |
1.17 |
0.06, 7.03 |
0.9 |
| Age |
0.99 |
0.99, 0.99 |
<0.001 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.82 |
0.67, 0.98 |
0.035 |
| Other |
1.05 |
0.82, 1.33 |
0.7 |
| ASIAN |
0.60 |
0.42, 0.84 |
0.004 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.34 |
0.70, 2.45 |
0.4 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.94 |
0.86, 1.03 |
0.2 |
| unknown |
0.53 |
0.42, 0.66 |
<0.001 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.47 |
1.32, 1.63 |
<0.001 |
| Yes |
1.56 |
1.37, 1.77 |
<0.001 |
| NOT ASKED |
0.69 |
0.11, 2.50 |
0.6 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
2.01 |
1.84, 2.20 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| Unknown |
0.82 |
0.62, 1.09 |
0.2 |
| HISPANIC |
0.96 |
0.69, 1.31 |
0.8 |
| Total SVI |
0.78 |
0.66, 0.93 |
0.006 |
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.1455 -0.7069 -0.5757 -0.4402 2.6568
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.513431 0.106858 -14.163 < 2e-16 ***
mstat_5unknown -0.006391 0.062271 -0.103 0.918254
mstat_5unmarried 0.123050 0.058002 2.121 0.033882 *
mstat_5div_sep 0.450177 0.111136 4.051 5.11e-05 ***
mstat_5widow 0.173772 0.154518 1.125 0.260754
lang_3Other -1.095238 0.352329 -3.109 0.001880 **
lang_3unknown 0.154844 1.090565 0.142 0.887092
age_yrs -0.010517 0.001430 -7.355 1.92e-13 ***
race_5BLACK OR AFRICAN AMERICAN -0.256990 0.097426 -2.638 0.008344 **
race_5Other 0.007228 0.123631 0.058 0.953377
race_5ASIAN -0.641737 0.178858 -3.588 0.000333 ***
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.326008 0.321096 1.015 0.309964
relig_affilno -0.056076 0.046118 -1.216 0.224008
relig_affilunknown -0.626184 0.115754 -5.410 6.32e-08 ***
tobac_4QUIT 0.402282 0.052887 7.606 2.82e-14 ***
tobac_4Yes 0.468944 0.065098 7.204 5.86e-13 ***
tobac_4NOT ASKED -0.345688 0.764701 -0.452 0.651228
genderfemale 0.705801 0.045874 15.386 < 2e-16 ***
ethnic_3Unknown -0.190470 0.144852 -1.315 0.188535
ethnic_3HISPANIC -0.050950 0.163328 -0.312 0.755078
RPL_THEME1 -0.208277 0.126287 -1.649 0.099099 .
RPL_THEME2 -0.275089 0.108783 -2.529 0.011446 *
RPL_THEME3 0.301384 0.080164 3.760 0.000170 ***
RPL_THEME4 0.077574 0.091258 0.850 0.395300
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 13862 on 14181 degrees of freedom
Residual deviance: 13368 on 14158 degrees of freedom
(1063 observations deleted due to missingness)
AIC: 13416
Number of Fisher Scoring iterations: 5
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
--------------------------------------------------------------------------------------------------
13415.852 | 13597.285 | 0.035 | 0.387 | 0.972 | 0.471 | -Inf | 7.747e-05 | 0.701
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 |
OR |
95% CI |
p-value |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
0.99 |
0.88, 1.12 |
>0.9 |
| unmarried |
1.13 |
1.01, 1.27 |
0.034 |
| div_sep |
1.57 |
1.26, 1.95 |
<0.001 |
| widow |
1.19 |
0.87, 1.60 |
0.3 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.33 |
0.16, 0.63 |
0.002 |
| unknown |
1.17 |
0.06, 6.98 |
0.9 |
| Age |
0.99 |
0.99, 0.99 |
<0.001 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.77 |
0.64, 0.93 |
0.008 |
| Other |
1.01 |
0.79, 1.28 |
>0.9 |
| ASIAN |
0.53 |
0.37, 0.74 |
<0.001 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.39 |
0.71, 2.54 |
0.3 |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.95 |
0.86, 1.03 |
0.2 |
| unknown |
0.53 |
0.42, 0.67 |
<0.001 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.50 |
1.35, 1.66 |
<0.001 |
| Yes |
1.60 |
1.41, 1.81 |
<0.001 |
| NOT ASKED |
0.71 |
0.11, 2.59 |
0.7 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
2.03 |
1.85, 2.22 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| Unknown |
0.83 |
0.62, 1.09 |
0.2 |
| HISPANIC |
0.95 |
0.68, 1.30 |
0.8 |
| Soceioeconomic Status |
0.81 |
0.63, 1.04 |
0.10 |
| Household Composition |
0.76 |
0.61, 0.94 |
0.011 |
| Minority Status and Language |
1.35 |
1.16, 1.58 |
<0.001 |
| Housing and Transportation |
1.08 |
0.90, 1.29 |
0.4 |
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.2807 -0.8526 -0.7308 1.3421 2.1971
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.303568 0.083860 -15.545 < 2e-16 ***
relig_affilno -0.043112 0.039920 -1.080 0.2802
relig_affilunknown -0.556523 0.093483 -5.953 2.63e-09 ***
mstat_5unknown 0.020372 0.053049 0.384 0.7010
mstat_5unmarried 0.209917 0.049959 4.202 2.65e-05 ***
mstat_5div_sep 0.468399 0.099713 4.697 2.63e-06 ***
mstat_5widow 0.238558 0.129404 1.844 0.0653 .
race_5BLACK OR AFRICAN AMERICAN -0.042643 0.079974 -0.533 0.5939
race_5Other 0.017179 0.106745 0.161 0.8721
race_5ASIAN -0.234461 0.137644 -1.703 0.0885 .
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.202155 0.292709 0.691 0.4898
lang_3Other -0.779054 0.248312 -3.137 0.0017 **
lang_3unknown 0.502376 0.841964 0.597 0.5507
tobac_4QUIT 0.418358 0.044995 9.298 < 2e-16 ***
tobac_4Yes 0.461243 0.056728 8.131 4.26e-16 ***
tobac_4NOT ASKED -0.400351 0.645114 -0.621 0.5349
age_yrs -0.002646 0.001212 -2.183 0.0290 *
genderfemale 0.597073 0.038659 15.445 < 2e-16 ***
ethnic_3Unknown -0.227657 0.120873 -1.883 0.0596 .
ethnic_3HISPANIC 0.029399 0.141119 0.208 0.8350
RPL_THEMES -0.047739 0.076136 -0.627 0.5306
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 17249 on 14252 degrees of freedom
Residual deviance: 16768 on 14232 degrees of freedom
(992 observations deleted due to missingness)
AIC: 16810
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
--------------------------------------------------------------------------------------------------
16810.042 | 16968.901 | 0.034 | 0.448 | 1.085 | 0.588 | -Inf | 9.310e-05 | 0.599
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 |
OR |
95% CI |
p-value |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.96 |
0.89, 1.04 |
0.3 |
| unknown |
0.57 |
0.48, 0.69 |
<0.001 |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.02 |
0.92, 1.13 |
0.7 |
| unmarried |
1.23 |
1.12, 1.36 |
<0.001 |
| div_sep |
1.60 |
1.31, 1.94 |
<0.001 |
| widow |
1.27 |
0.98, 1.63 |
0.065 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.96 |
0.82, 1.12 |
0.6 |
| Other |
1.02 |
0.82, 1.25 |
0.9 |
| ASIAN |
0.79 |
0.60, 1.03 |
0.088 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.22 |
0.68, 2.15 |
0.5 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.46 |
0.27, 0.73 |
0.002 |
| unknown |
1.65 |
0.23, 7.63 |
0.6 |
| Tobacco Use |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.52 |
1.39, 1.66 |
<0.001 |
| Yes |
1.59 |
1.42, 1.77 |
<0.001 |
| NOT ASKED |
0.67 |
0.15, 2.10 |
0.5 |
| Age |
1.00 |
1.0, 1.00 |
0.029 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.82 |
1.68, 1.96 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| Unknown |
0.80 |
0.63, 1.01 |
0.060 |
| HISPANIC |
1.03 |
0.78, 1.35 |
0.8 |
| Total SVI |
0.95 |
0.82, 1.11 |
0.5 |
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.2830 -0.8605 -0.7232 1.3296 2.2112
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.387871 0.092430 -15.015 < 2e-16 ***
relig_affilno -0.038635 0.040095 -0.964 0.335259
relig_affilunknown -0.546641 0.093636 -5.838 5.29e-09 ***
race_5BLACK OR AFRICAN AMERICAN -0.091752 0.081408 -1.127 0.259714
race_5Other -0.010926 0.107256 -0.102 0.918860
race_5ASIAN -0.332770 0.139264 -2.389 0.016871 *
race_5AMERICAN INDIAN AND ALASKA NATIVE 0.235659 0.295217 0.798 0.424722
lang_3Other -0.858231 0.249115 -3.445 0.000571 ***
lang_3unknown 0.473789 0.841399 0.563 0.573370
mstat_5unknown 0.015388 0.053264 0.289 0.772662
mstat_5unmarried 0.197132 0.050149 3.931 8.46e-05 ***
mstat_5div_sep 0.466792 0.099920 4.672 2.99e-06 ***
mstat_5widow 0.223081 0.130036 1.716 0.086249 .
age_yrs -0.002376 0.001217 -1.953 0.050792 .
tobac_4QUIT 0.429510 0.045325 9.476 < 2e-16 ***
tobac_4Yes 0.476571 0.057183 8.334 < 2e-16 ***
tobac_4NOT ASKED -0.377918 0.646769 -0.584 0.559007
genderfemale 0.602545 0.038816 15.523 < 2e-16 ***
ethnic_3Unknown -0.218921 0.121400 -1.803 0.071341 .
ethnic_3HISPANIC 0.024650 0.141363 0.174 0.861572
RPL_THEME1 0.065681 0.108703 0.604 0.545692
RPL_THEME2 -0.295883 0.093722 -3.157 0.001594 **
RPL_THEME3 0.239483 0.069540 3.444 0.000574 ***
RPL_THEME4 0.071322 0.078864 0.904 0.365798
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 17163 on 14181 degrees of freedom
Residual deviance: 16655 on 14158 degrees of freedom
(1063 observations deleted due to missingness)
AIC: 16703
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
--------------------------------------------------------------------------------------------------
16702.910 | 16884.343 | 0.036 | 0.447 | 1.085 | 0.587 | -Inf | 7.051e-05 | 0.600
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 |
OR |
95% CI |
p-value |
| Any Religious Affiliation |
|
|
|
| yes |
— |
— |
|
| no |
0.96 |
0.89, 1.04 |
0.3 |
| unknown |
0.58 |
0.48, 0.69 |
<0.001 |
| Race |
|
|
|
| WHITE OR CAUCASIAN |
— |
— |
|
| BLACK OR AFRICAN AMERICAN |
0.91 |
0.78, 1.07 |
0.3 |
| Other |
0.99 |
0.80, 1.22 |
>0.9 |
| ASIAN |
0.72 |
0.54, 0.94 |
0.017 |
| AMERICAN INDIAN AND ALASKA NATIVE |
1.27 |
0.70, 2.23 |
0.4 |
| English Speaking |
|
|
|
| English |
— |
— |
|
| Other |
0.42 |
0.25, 0.68 |
<0.001 |
| unknown |
1.61 |
0.23, 7.40 |
0.6 |
| Marital Status |
|
|
|
| married |
— |
— |
|
| unknown |
1.02 |
0.91, 1.13 |
0.8 |
| unmarried |
1.22 |
1.10, 1.34 |
<0.001 |
| div_sep |
1.59 |
1.31, 1.94 |
<0.001 |
| widow |
1.25 |
0.97, 1.61 |
0.086 |
| Age |
1.00 |
1.00, 1.00 |
0.051 |
| tobac_4 |
|
|
|
| NEVER |
— |
— |
|
| QUIT |
1.54 |
1.41, 1.68 |
<0.001 |
| Yes |
1.61 |
1.44, 1.80 |
<0.001 |
| NOT ASKED |
0.69 |
0.16, 2.15 |
0.6 |
| Gender |
|
|
|
| male |
— |
— |
|
| female |
1.83 |
1.69, 1.97 |
<0.001 |
| Ethnicity |
|
|
|
| NON-HISPANIC |
— |
— |
|
| Unknown |
0.80 |
0.63, 1.02 |
0.071 |
| HISPANIC |
1.02 |
0.77, 1.35 |
0.9 |
| Soceioeconomic Status |
1.07 |
0.86, 1.32 |
0.5 |
| Household Composition |
0.74 |
0.62, 0.89 |
0.002 |
| Minority Status and Language |
1.27 |
1.11, 1.46 |
<0.001 |
| Housing and Transportation |
1.07 |
0.92, 1.25 |
0.4 |
LS0tCnRpdGxlOiAiMjAyMi4xMC4xOF9NSF9Nb2RlbCwgSW5jbF9Vbmtub3ducywgSW5jbF9NYXJpdGFsIFN0YXR1cyIKb3V0cHV0OiAKICBodG1sX25vdGVib29rOgogICB0aGVtZXM6IHBhcGVyCiAgIHRvYzogeWVzCiAgIHRvY19mbG9hdDogeWVzCmVkaXRvcl9vcHRpb25zOiAKICBjaHVua19vdXRwdXRfdHlwZTogaW5saW5lCi0tLQojIExvYWQgUGFja2FnZXMgey50YWJzZXR9CgojIyB0aWR5dmVyc2UKCmBgYHtyfQppZiAoIXJlcXVpcmUodGlkeXZlcnNlKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIiwgZGVwZW5kZW5jaWVzID0gVFJVRSkKICBsaWJyYXJ5KHRpZHl2ZXJzZSkKfQpgYGAKCiMjIGNvZGVib29rcgpgYGB7cn0KaWYgKCFyZXF1aXJlKGNvZGVib29rcikpewogIGluc3RhbGwucGFja2FnZXMoImNvZGVib29rciIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShjb2RlYm9va3IpCn0KYGBgCgojIyBzdW1tYXJ5dG9vbHMKYGBge3J9CmlmICghcmVxdWlyZShzdW1tYXJ5dG9vbHMpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJzdW1tYXJ5dG9vbHMiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoc3VtbWFyeXRvb2xzKQp9CmBgYAoKIyMgYnJvb20gCmBgYHtyfQppZiAoIXJlcXVpcmUoYnJvb20pKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJicm9vbSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShicm9vbSkKfQpgYGAKCiMjIHBlcmZvcm1hbmNlCmBgYHtyfQppZiAoIXJlcXVpcmUocGVyZm9ybWFuY2UpKXsKICBpbnN0YWxsLnBhY2thZ2VzKCJwZXJmb3JtYW5jZSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShwZXJmb3JtYW5jZSkKfQpgYGAKCiMjIGd0c3VtbWFyeQpgYGB7cn0KaWYgKCFyZXF1aXJlKGd0c3VtbWFyeSkpewogIGluc3RhbGwucGFja2FnZXMoImd0c3VtbWFyeSIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShndHN1bW1hcnkpCn0KYGBgCgojIyBqYW5pdG9yCmBgYHtyfQppZiAoIXJlcXVpcmUoamFuaXRvcikpewogIGluc3RhbGwucGFja2FnZXMoImphbml0b3IiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQogIGxpYnJhcnkoamFuaXRvcikKfQpgYGAKCiMjIGZvcmNhdHMKYGBge3J9CmlmICghcmVxdWlyZShmb3JjYXRzKSl7CiAgaW5zdGFsbC5wYWNrYWdlcygiZm9yY2F0cyIsIGRlcGVuZGVuY2llcyA9IFRSVUUpCiAgbGlicmFyeShmb3JjYXRzKQp9CmBgYAoKIyBJbXBvcnQgRGF0YQpgYGB7cn0KbWhfZGVpZHYzIDwtIHJlYWQuY3N2KCJ+L0Rlc2t0b3AvUi1Db2RlL21oX2RlaWR2My5jc3YiKQpgYGAKCiMgRGF0YSBDbGVhbmluZyB7LnRhYnNldH0KCiMjIFJQTF9USEVNRVMgRXJyb25lb3VzIHZhbHVlcyAKYGBge3J9Cm1oX2RlaWR2MyAlPiUKICBzZWxlY3QoYWdlX3lycywgUEFUSUVOVF9HRU5ERVJfQ0QsIFBBVElFTlRfUkFDRV9ERVNDLCBQQVRJRU5UX0VUSE5JQ19HUk9VUF9ERVNDLCBQQVRJRU5UX0xBTkdVQUdFX0RFU0MsIFBBVElFTlRfUkVMSUdJT05fREVTQywgUEFUSUVOVF9NQVJJVEFMX1NUQVRVU19ERVNDLCBQQVRJRU5UX1NUQVRFX0NELCBFRFVfWUVBUlMsIFRPQkFDQ09fREVTQywgZGVwcmVzc2lvbiwgYW54aWV0eSwgcHRzZCwgYmlwb2xhciwgYm9keV9pbWFnZSwgb2NkLCBzdHJlc3MsIHNlYXNvbmFsQUQsIHBhbmljLCBhbnlfcHN5Y2hfZHgsU1RfQUJCUiwgRV9UT1RQT1AsIFJQTF9USEVNRVMsIFJQTF9USEVNRTEsIFJQTF9USEVNRTIsIFJQTF9USEVNRTMsIFJQTF9USEVNRTQpIC0+IGV4YW1wbGVkZjEKZXhhbXBsZWRmMSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRVMgPSBuYV9pZihSUExfVEhFTUVTLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTEgPSBuYV9pZihSUExfVEhFTUUxLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTIgPSBuYV9pZihSUExfVEhFTUUyLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTMgPSBuYV9pZihSUExfVEhFTUUzLCAiMCIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiLTk5OSIpKSAlPiUKbXV0YXRlKFJQTF9USEVNRTQgPSBuYV9pZihSUExfVEhFTUU0LCAiMCIpKSAtPiBleGFtcGxlZGYxTkEKYGBgCgojIyBNZW50YWwgaGVhbHRoIGRhdGEgZGljaApgYGB7cn0KZXhhbXBsZWRmMU5BICU+JSBtdXRhdGUoYWNyb3NzKGRlcHJlc3Npb246YW55X3BzeWNoX2R4LCB+aWZfZWxzZSgueD4wLjUsIDEsIDApLAogICAgICAgICAgICAgICAgLm5hbWVzID0gIntjb2x9XzIiKSkgLT4gZXhhbXBsZWRmMU5BRGkyCmBgYAoKIyMgTWFyaXRhbCBzdGF0dXMKYGBge3J9CmV4YW1wbGVkZjFOQURpMiAlPiUgCm11dGF0ZShtc3RhdF81ID0gYXNfZmFjdG9yKFBBVElFTlRfTUFSSVRBTF9TVEFUVVNfREVTQyksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVjb2RlKG1zdGF0XzUsIGRpdl9zZXAgPSAiRElWT1JDRUQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXZfc2VwID0gIkxFR0FMTFkgU0VQQVJBVEVEIiwgd2lkb3cgPSAiV0lET1dFRCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcnJpZWQgPSAiTUFSUklFRCIsIHVubWFycmllZCA9ICJTSU5HTEUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmtub3duID0gIlVOS05PV04iLCB1bmtub3duID0gIk9USEVSIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5tYXJyaWVkID0gIlNJR05JRklDQU5UIE9USEVSIiksCiAgICAgICAgIG1zdGF0XzUgPSBmY3RfcmVsZXZlbChtc3RhdF81LCByZWYgPSAnbWFycmllZCcpKSAtPiBleGFtcGxlZGYxTkFEaTJNQQpgYGAKCiMjIFJlbGlnaW9uIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUEgJT4lIAogIG11dGF0ZShyZWxpZ19hZmZpbCA9IGFzX2ZhY3RvcihQQVRJRU5UX1JFTElHSU9OX0RFU0MpLAogICAgICAgICAgcmVsaWdfYWZmaWwgPSBmY3RfcmVjb2RlKHJlbGlnX2FmZmlsLCB5ZXMgPSAiQ0FUSE9MSUMiLAogICAgICAgICAgICAgICAgICAgICAgbm8gPSAiTk9ORSIsIHVua25vd24gPSAiVU5LTk9XTiIsIHVua25vd24gPSAiUEFUSUVOVCBSRUZVU0VEIiwgCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiQ0hSSVNUSUFOIiwgeWVzID0gIkxVVEhFUkFOIiwKICAgICAgICAgICAgICAgICAgICAgIHllcyA9ICJQUk9URVNUQU5UIiwgeWVzID0gIkJBUFRJU1QiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIk1FVEhPRElTVCIsIHllcyA9ICJQUkVTQllURVJJQU4iLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIk5PTi1ERU5PTUlOQVRJT05BTCIsIHllcyA9ICJKRVdJU0giLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIk1VU0xJTSIsIHllcyA9ICJPVEhFUiIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiRVBJU0NPUEFMSUFOIiwgeWVzID0gIlBFTlRFQ09TVEFMIiwKICAgICAgICAgICAgICAgICAgICAgIG5vID0gIkFHTk9TVElDIiwgbm8gPSAiQVRIRUlTVCIsCiAgICAgICAgICAgICAgICAgICAgICB5ZXMgPSAiSkVIT1ZBSCdTIFdJVE5FU1MiLCB5ZXMgPSAiSElORFUiLAogICAgICAgICAgICAgICAgICAgICAgeWVzID0gIkdSRUVLIE9SVEhPRE9YIiwgeWVzID0gIkNIVVJDSCBPRiBKRVNVUyBDSFJJU1QgT0YgTEFUVEVSLURBWSBTQUlOVFMiLCB5ZXMgPSAiQkFIQUkiLCBubyA9ICJTUElSSVRVQUwiLCB5ZXMgPSAiQ0hVUkNIIE9GIENIUklTVCIsCiAgICAgICAgIHllcyA9ICJTRVZFTlRIIERBWSBBRFZFTlRJU1QiLCB5ZXMgPSAiQVBPU1RPTElDIiwgeWVzID0gIkJVRERISVNUIiwgeWVzID0gIk5BWkFSRU5FIiwgeWVzID0gIkNPTkdSRUdBVElPTkFMIiwgeWVzID0gIlVOSVRFRCBDSFVSQ0ggT0YgQ0hSIiwgeWVzID0gIlJFRk9STUVEIiwgeWVzID0gIlBBR0FOIiwgeWVzID0gIkpBSU4iLCB5ZXMgPSAiQVNTRU1CTFkgT0YgR09EIiwgeWVzID0gIlJFT1JHIENIUiBPRiBMQVQgREFZIiwgeWVzID0gIlFVQUtFUiIsIHllcyA9ICJVTklUQVJJQU4gVU5JVkVSU0FMSVNUIiwgeWVzID0gIk1FTk5PTklURSIsIHllcyA9ICJGUkVFIE1FVEhPRElTVCIsIHllcyA9ICJOQVRJVkUgQU1FUiBTUElSSVRMIiwgeWVzID0gIldJQ0NBTiIsIHllcyA9ICJPUlRIT0RPWCIsIHllcyA9ICJTQUxWQVRJT04gQVJNWSIsIHllcyA9ICJESVNDSVBMRVMgT0YgQ0hSSVNUIiwgeWVzID0gIkFGUklDQU4gTUVUSE9ESVNUIEVQIiwgeWVzID0gIlNJS0giLCB5ZXMgPSAiQ0hVUkNIIE9GIEdPRCIsIHllcyA9ICJUQU9JU1QiLCB5ZXMgPSAiQU5HTElDQU4iLCB5ZXMgPSAiUlVTU0lBTiBPUlRIT0RPWCIpLAogICAgICAgICByZWxpZ19hZmZpbCA9IGZjdF9yZWxldmVsKHJlbGlnX2FmZmlsLCByZWYgPSAneWVzJykpIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsCmBgYAoKIyMgUmFjZSAKYGBge3J9CmV4YW1wbGVkZjFOQURpMk1BUmVsICU+JSAKbXV0YXRlKHJhY2VfNSA9IGFzX2ZhY3RvcihQQVRJRU5UX1JBQ0VfREVTQyksCiAgICAgICAgIHJhY2VfNSA9IGZjdF9yZWNvZGUocmFjZV81LCBPdGhlciA9ICJPVEhFUiIsCiAgICAgICAgICAgICAgICAgIE90aGVyID0gIlVOS05PV04iLCBPdGhlciA9ICJDSE9PU0UgTk9UIFRPIERJU0NMT1NFIiwKICAgICAgICAgICAgICAgICAgT3RoZXIgPSAiTkFUSVZFIEhBV0FJSUFOIEFORCBPVEhFUiBQQUNJRklDIElTTEFOREVSIiwgCiAgICAgICAgICAgICAgICAgIE90aGVyID0gIk1JRERMRSBFQVNURVJOL05PUlRIIEFGUklDQU4iLAogICAgICAgICAgICAgICAgQVNJQU4gPSAiQVNJQU4gSU5ESUFOIiwgQVNJQU4gPSAiT1RIRVIgQVNJQU4iLAogICAgICAgICAgICAgICAgQVNJQU4gPSAiSkFQQU5FU0UiLCBBU0lBTiA9ICJLT1JFQU4iLCBBU0lBTiA9ICJGSUxJUElOTyIsCiAgICAgICAgICAgICAgICBBU0lBTiA9ICJDSElORVNFIiksCiAgICAgICAgIHJhY2VfNSA9IGZjdF9yZWxldmVsKHJhY2VfNSwgcmVmID0gJ1dISVRFIE9SIENBVUNBU0lBTicpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhCmBgYAoKIyMgR2VuZGVyCmBgYHtyfQpleGFtcGxlZGYxTkFEaTJNQVJlbFJhICU+JSAKbXV0YXRlKGdlbmRlciA9IGFzX2ZhY3RvcihQQVRJRU5UX0dFTkRFUl9DRCksCiAgICAgICAgIGdlbmRlciA9IGZjdF9yZWNvZGUoZ2VuZGVyLCBtYWxlID0gIk0iLCBmZW1hbGUgPSAiRiIpLAogICAgICAgICBnZW5kZXIgPSBmY3RfcmVsZXZlbChnZW5kZXIsIHJlZiA9ICJtYWxlIikpIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsUmFHCmBgYAoKIyMgTGFuZ3VhZ2UKYGBge3J9CmV4YW1wbGVkZjFOQURpMk1BUmVsUmFHICU+JSAKICBtdXRhdGUobGFuZ18zID0gYXNfZmFjdG9yKFBBVElFTlRfTEFOR1VBR0VfREVTQyksCmxhbmdfMyA9IGZjdF9yZWNvZGUobGFuZ18zLCBFbmdsaXNoID0gIkVOR0xJU0giLApPdGhlciA9ICJBUkFCSUMiLCBPdGhlciA9ICJKQVBBTkVTRSIsCk90aGVyID0gIkNISU5FU0UsIE1BTkRBUklOIiwKT3RoZXIgPSAiS09SRUFOIiwgT3RoZXIgPSAiU0lHTiBMQU5HVUFHRSIsCk90aGVyID0gIlJVU1NJQU4iLCBPdGhlciA9ICJTUEFOSVNIIiwgT3RoZXIgPSAiQVJNRU5JQU4iLApPdGhlciA9ICJUVVJLSVNIIiwgT3RoZXIgPSAiSElOREkiLCBPdGhlciA9ICJCRU5HQUxJIiwgT3RoZXIgPSAiRkFSU0k7IFBFUlNJQU4iLCBPdGhlciA9ICJBTEJBTklBTiIsIE90aGVyID0gIkhNT05HIiwgT3RoZXIgPSAiUk9NQU5JQU4iLCAKT3RoZXIgPSAiUFVOSkFCSSIsIE90aGVyID0gIkNST0FUSUFOIiwgT3RoZXIgPSAiQ0hBTERFQU4iLCAKT3RoZXIgPSAiQlVSTUVTRSIsIE90aGVyID0gIlBPUlRVR1VFU0UiLCB1bmtub3duID0gIlVOS05PV04iLApPdGhlciA9ICJGUkVOQ0giLCBPdGhlciA9ICJHRVJNQU4iLCBPdGhlciA9ICJDSElORVNFLCBDQU5UT05FU0UiLCBPdGhlciA9ICJVUkRVIiwKT3RoZXIgPSAiQk9TTklBTiIsIE90aGVyID0gIlRBR0FMT0ciKSwKbGFuZ18zID0gZmN0X3JlbGV2ZWwobGFuZ18zLCByZWYgPSAnRW5nbGlzaCcpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0wKYGBgCgojIyBFdGhuaWNpdHkKYGBge3J9CmV4YW1wbGVkZjFOQURpMk1BUmVsUmFHTCAlPiUgCiAgbXV0YXRlKGV0aG5pY18zID0gYXNfZmFjdG9yKFBBVElFTlRfRVRITklDX0dST1VQX0RFU0MpLAogICAgICAgICBldGhuaWNfMyA9IGZjdF9yZWNvZGUoZXRobmljXzMsIFVua25vd24gPSAiQ0hPT1NFIE5PVCBUTyBESVNDTE9TRSIsIFVua25vd24gPSAiVU5LTk9XTiIpKSAtPiBleGFtcGxlZGYxTkFEaTJNQVJlbFJhR0xFdGgKYGBgCgojIyBUb2JhY2NvIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoICU+JSAKICBtdXRhdGUodG9iYWNfNCA9IGFzX2ZhY3RvcihUT0JBQ0NPX0RFU0MpLAogdG9iYWNfNCA9IGZjdF9yZWNvZGUodG9iYWNfNCwgWWVzID0gIlBBU1NJVkUiLApZZXMgPSAiWUVTIiksCnRvYmFjXzQgPSBmY3RfcmVsZXZlbCh0b2JhY180LCByZWYgPSAnTkVWRVInKSkgIC0+IGV4YW1wbGVkZjFOQURpMk1BUmVsUmFHTEV0aFQKYGBgCgojIENvZGVib29rIApgYGB7cn0KZXhhbXBsZWRmMU5BRGkyTUFSZWxSYUdMRXRoVCAlPiUgCnNlbGVjdChhZ2VfeXJzLCBnZW5kZXIsIHJhY2VfNSwgZXRobmljXzMsIGxhbmdfMywgcmVsaWdfYWZmaWwsIG1zdGF0XzUsIFBBVElFTlRfU1RBVEVfQ0QsIEVEVV9ZRUFSUywgdG9iYWNfNCwgZGVwcmVzc2lvbl8yLCBhbnhpZXR5XzIsIHB0c2RfMiwgYmlwb2xhcl8yLCBib2R5X2ltYWdlXzIsIG9jZF8yLCBzZWFzb25hbEFEXzIsIHBhbmljXzIsIGFueV9wc3ljaF9keF8yLCBFX1RPVFBPUCwgUlBMX1RIRU1FUywgUlBMX1RIRU1FMSwgUlBMX1RIRU1FMiwgUlBMX1RIRU1FMywgUlBMX1RIRU1FNCkgLT4gbWhfY2xlYW4xCnByaW50KGRmU3VtbWFyeShtaF9jbGVhbjEpLCBtZXRob2QgPSAncmVuZGVyJykgCmBgYAoKIyBQYXRpZW50IENoYXJhY3RlcmlzdGljcyB7LnRhYnNldH0KCiMjIEJhc2VsaW5lIENoYXJhY3RlcmlzdGljcyAKYGBge3J9Cm1oX2NsZWFuMSAlPiUgCiAgc2VsZWN0KGFnZV95cnMsIGdlbmRlciwgcmFjZV81LCBldGhuaWNfMywgbGFuZ18zLCByZWxpZ19hZmZpbCwgbXN0YXRfNSwgdG9iYWNfNCwgZGVwcmVzc2lvbl8yLCBhbnhpZXR5XzIsIHB0c2RfMiwgYW55X3BzeWNoX2R4XzIsIFJQTF9USEVNRVMsIFJQTF9USEVNRTEsIFJQTF9USEVNRTIsIFJQTF9USEVNRTMsIFJQTF9USEVNRTQpIC0+IGJhc2VsaW5lCmJhc2VsaW5lICU+JSB0Ymxfc3VtbWFyeShsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBkZXByZXNzaW9uXzIgfiAiRGVwcmVzc2lvbiIsIGFueGlldHlfMiB+ICJBbnhpZXR5IiwgcHRzZF8yIH4gIlBUU0QiLCBhbnlfcHN5Y2hfZHhfMiB+ICJBbnkgUHN5Y2hpYXRyaWMgRGlhZ25vc2lzIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIpLAogICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIpCmBgYAoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIGJ5IERlcHJlc3Npb24gCmBgYHtyfQpiYXNlbGluZSAlPiUgdGJsX3N1bW1hcnkoYnkgPSBkZXByZXNzaW9uXzIsCiAgICAgICAgIHN0YXRpc3RpYyA9IGxpc3QoYWxsX2NvbnRpbnVvdXMoKSB+ICJ7bWVhbn0gKHtzZH0pIiksCiAgICAgICAgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgYW54aWV0eV8yIH4gIkFueGlldHkiLCBwdHNkXzIgfiAiUFRTRCIsIGFueV9wc3ljaF9keF8yIH4gIkFueSBQc3ljaGlhdHJpYyBEaWFnbm9zaXMiLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiksCiAgICAgICAgbWlzc2luZ190ZXh0ID0gIihNaXNzaW5nKSIKICAgICAgICApICU+JSBhZGRfcCgpCmBgYAoKIyMgQmFzZWxpbmUgQ2hhcmFjdGVyaXN0aWNzIGJ5IEFueGlldHkgCmBgYHtyfQpiYXNlbGluZSAlPiUgdGJsX3N1bW1hcnkoYnkgPSBhbnhpZXR5XzIsCiAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIiwgcHRzZF8yIH4gIlBUU0QiLCBhbnlfcHN5Y2hfZHhfMiB+ICJBbnkgUHN5Y2hpYXRyaWMgRGlhZ25vc2lzIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBSUExfVEhFTUUxIH4gIlNvY2Vpb2Vjb25vbWljIFN0YXR1cyIsIFJQTF9USEVNRTIgfiAiSG91c2Vob2xkIENvbXBvc2l0aW9uIiwgUlBMX1RIRU1FMyB+ICJNaW5vcml0eSBTdGF0dXMgYW5kIExhbmd1YWdlIiwgUlBMX1RIRU1FNCB+ICJIb3VzaW5nIGFuZCBUcmFuc3BvcnRhdGlvbiIpLAogICAgICAgIG1pc3NpbmdfdGV4dCA9ICIoTWlzc2luZykiCiAgICAgICAgKSAlPiUgYWRkX3AoKQpgYGAKCiMjIEJhc2VsaW5lIENoYXJhY3RlcmlzdGljcyBieSBBbnkgUHN5Y2ggRGlhZ25vc2lzIApgYGB7cn0KYmFzZWxpbmUgJT4lIHRibF9zdW1tYXJ5KGJ5ID0gYW55X3BzeWNoX2R4XzIsCiAgICAgICBzdGF0aXN0aWMgPSBsaXN0KGFsbF9jb250aW51b3VzKCkgfiAie21lYW59ICh7c2R9KSIpLAogICAgICAgIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIsIGRlcHJlc3Npb25fMiB+ICJEZXByZXNzaW9uIiwgcHRzZF8yIH4gIlBUU0QiLCBhbnhpZXR5XzIgfiAiQW54aWV0eSIsIFJQTF9USEVNRVMgfiAiVG90YWwgU1ZJIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIgogICAgICAgICkgJT4lIGFkZF9wKCkKYGBgCgojIFByZWxpbSBNb2RlbHMgey50YWJzZXR9CgojIyBEZXByZXNzaW9uICsgUlBMX1RIRU1FUyAKYGBge3J9Cm1vZGVsMWEgPC0gZ2xtKGRlcHJlc3Npb25fMiB+IG1zdGF0XzUgKyByYWNlXzUgKyBsYW5nXzMgKyByZWxpZ19hZmZpbCArIGFnZV95cnMKICAgICAgICAgICAgICAgKyBnZW5kZXIgKyBldGhuaWNfMyArIHRvYmFjXzQgKyBSUExfVEhFTUVTLAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDFhKQpicm9vbTo6Z2xhbmNlKG1vZGVsMWEpCmJyb29tOjp0aWR5KG1vZGVsMWEsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsMWEpCnRibF9yZWdyZXNzaW9uKG1vZGVsMWEsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiwgdG9iYWNfNCB+ICJUb2JhY2NvIFVzZSIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIERlcHJlc3Npb24gKyBSUExfVEhFTUVTeDQgCmBgYHtyfQptb2RlbDFiIDwtIGdsbShkZXByZXNzaW9uXzIgfiAgbXN0YXRfNSArIGxhbmdfMyArIHJlbGlnX2FmZmlsICsgYWdlX3lycyArIHJhY2VfNQogICAgICAgKyB0b2JhY180ICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfVEhFTUUxICsgUlBMX1RIRU1FMiArIFJQTF9USEVNRTMgKyBSUExfVEhFTUU0LAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDFiKQpicm9vbTo6Z2xhbmNlKG1vZGVsMWIpCmJyb29tOjp0aWR5KG1vZGVsMWIsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsMWIpCnRibF9yZWdyZXNzaW9uKG1vZGVsMWIsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiwgdG9iYWNfNCB+ICJUb2JhY2NvIFVzZSIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIEFueGlldHkgKyBSUExfVEhFTUVTIApgYGB7cn0KbW9kZWwyYSA8LSBnbG0oYW54aWV0eV8yIH4gbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbAogICAgICAgICAgICAgICArIHRvYmFjXzQgKyBnZW5kZXIgKyBldGhuaWNfMyArIFJQTF9USEVNRVMsCiAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICBkYXRhID0gbWhfY2xlYW4xKQpzdW1tYXJ5KG1vZGVsMmEpCmJyb29tOjpnbGFuY2UobW9kZWwyYSkKYnJvb206OnRpZHkobW9kZWwyYSwgZXhwb25lbnRpYXRlID0gVFJVRSkKbW9kZWxfcGVyZm9ybWFuY2UobW9kZWwyYSkKdGJsX3JlZ3Jlc3Npb24obW9kZWwyYSwgbGFiZWwgPSBsaXN0KGFnZV95cnMgfiAiQWdlIiwgZ2VuZGVyfiAiR2VuZGVyIiwgcmFjZV81IH4gIlJhY2UiLCBldGhuaWNfMyB+ICJFdGhuaWNpdHkiLCBsYW5nXzMgfiAiRW5nbGlzaCBTcGVha2luZyIsIHJlbGlnX2FmZmlsIH4gIkFueSBSZWxpZ2lvdXMgQWZmaWxpYXRpb24iLCBSUExfVEhFTUVTIH4gIlRvdGFsIFNWSSIsIHRvYmFjXzQgfiAiVG9iYWNjbyBVc2UiLCBtc3RhdF81IH4gIk1hcml0YWwgU3RhdHVzIiksIGV4cG9uZW50aWF0ZSA9IFRSVUUpICAKYGBgCgojIyBBbnhpZXR5ICsgUlBMX1RIRU1FU3g0CmBgYHtyfQptb2RlbDJiIDwtIGdsbShhbnhpZXR5XzIgfiAgbXN0YXRfNSArIGxhbmdfMyArIGFnZV95cnMgKyByYWNlXzUgKyByZWxpZ19hZmZpbCAKICAgICAgICAgICsgdG9iYWNfNCArIGdlbmRlciArIGV0aG5pY18zICsgUlBMX1RIRU1FMSArIFJQTF9USEVNRTIgKyBSUExfVEhFTUUzICsgUlBMX1RIRU1FNCwKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF9jbGVhbjEpCnN1bW1hcnkobW9kZWwyYikKYnJvb206OmdsYW5jZShtb2RlbDJiKQpicm9vbTo6dGlkeShtb2RlbDJiLCBleHBvbmVudGlhdGUgPSBUUlVFKQptb2RlbF9wZXJmb3JtYW5jZShtb2RlbDJiKQp0YmxfcmVncmVzc2lvbihtb2RlbDJiLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgUlBMX1RIRU1FMSB+ICJTb2NlaW9lY29ub21pYyBTdGF0dXMiLCBSUExfVEhFTUUyIH4gIkhvdXNlaG9sZCBDb21wb3NpdGlvbiIsIFJQTF9USEVNRTMgfiAiTWlub3JpdHkgU3RhdHVzIGFuZCBMYW5ndWFnZSIsIFJQTF9USEVNRTQgfiAiSG91c2luZyBhbmQgVHJhbnNwb3J0YXRpb24iLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIG1zdGF0XzUgfiAiTWFyaXRhbCBTdGF0dXMiKSwgZXhwb25lbnRpYXRlID0gVFJVRSkKYGBgCgojIyBBbnkgUHN5Y2ggRGlhZ25vc2lzICsgUlBMX1RIRU1FUyAKYGBge3J9Cm1vZGVsNGEgPC0gZ2xtKGFueV9wc3ljaF9keF8yIH4gcmVsaWdfYWZmaWwgKyBtc3RhdF81ICsgcmFjZV81ICsgbGFuZ18zICsKICAgICAgICAgICAgICArIHRvYmFjXzQgKyBhZ2VfeXJzICsgZ2VuZGVyICsgZXRobmljXzMgKyBSUExfVEhFTUVTLAogICAgICAgICAgICAgIGZhbWlseSA9ICJiaW5vbWlhbCIsCiAgICAgICAgICAgICAgZGF0YSA9IG1oX2NsZWFuMSkKc3VtbWFyeShtb2RlbDRhKQpicm9vbTo6Z2xhbmNlKG1vZGVsNGEpCmJyb29tOjp0aWR5KG1vZGVsNGEsIGV4cG9uZW50aWF0ZSA9IFRSVUUpCm1vZGVsX3BlcmZvcm1hbmNlKG1vZGVsNGEpCnRibF9yZWdyZXNzaW9uKG1vZGVsNGEsIGxhYmVsID0gbGlzdChhZ2VfeXJzIH4gIkFnZSIsIGdlbmRlcn4gIkdlbmRlciIsIHJhY2VfNSB+ICJSYWNlIiwgZXRobmljXzMgfiAiRXRobmljaXR5IiwgbGFuZ18zIH4gIkVuZ2xpc2ggU3BlYWtpbmciLCByZWxpZ19hZmZpbCB+ICJBbnkgUmVsaWdpb3VzIEFmZmlsaWF0aW9uIiwgUlBMX1RIRU1FUyB+ICJUb3RhbCBTVkkiLCB0b2JhY180IH4gIlRvYmFjY28gVXNlIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCiMjIEFueSBQc3ljaCBEaWFnbm9zaXMgKyBSUExfVEhFTUVTeDQKYGBge3J9Cm1vZGVsNGIgPC0gZ2xtKGFueV9wc3ljaF9keF8yIH4gcmVsaWdfYWZmaWwgKyByYWNlXzUgKyBsYW5nXzMgKyBtc3RhdF81CiAgICAgICAgICAgICArIGFnZV95cnMgKyB0b2JhY180ICsgZ2VuZGVyICsgZXRobmljXzMgICsgUlBMX1RIRU1FMSArIFJQTF9USEVNRTIgKyBSUExfVEhFTUUzICsgUlBMX1RIRU1FNCwKICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiLAogICAgICAgICAgICAgIGRhdGEgPSBtaF9jbGVhbjEpCnN1bW1hcnkobW9kZWw0YikKYnJvb206OmdsYW5jZShtb2RlbDRiKQpicm9vbTo6dGlkeShtb2RlbDRiLCBleHBvbmVudGlhdGUgPSBUUlVFKQptb2RlbF9wZXJmb3JtYW5jZShtb2RlbDRiKQp0YmxfcmVncmVzc2lvbihtb2RlbDRiLCBsYWJlbCA9IGxpc3QoYWdlX3lycyB+ICJBZ2UiLCBnZW5kZXJ+ICJHZW5kZXIiLCByYWNlXzUgfiAiUmFjZSIsIGV0aG5pY18zIH4gIkV0aG5pY2l0eSIsIGxhbmdfMyB+ICJFbmdsaXNoIFNwZWFraW5nIiwgcmVsaWdfYWZmaWwgfiAiQW55IFJlbGlnaW91cyBBZmZpbGlhdGlvbiIsIFJQTF9USEVNRTEgfiAiU29jZWlvZWNvbm9taWMgU3RhdHVzIiwgUlBMX1RIRU1FMiB+ICJIb3VzZWhvbGQgQ29tcG9zaXRpb24iLCBSUExfVEhFTUUzIH4gIk1pbm9yaXR5IFN0YXR1cyBhbmQgTGFuZ3VhZ2UiLCBSUExfVEhFTUU0IH4gIkhvdXNpbmcgYW5kIFRyYW5zcG9ydGF0aW9uIiwgbXN0YXRfNSB+ICJNYXJpdGFsIFN0YXR1cyIpLCBleHBvbmVudGlhdGUgPSBUUlVFKQpgYGAKCg==