Group One (OLDER ADULTS):
n = 30
Age
Over_Sixty <- FOOD_WASTE_GROUPS %>%
select(Age)%>%
filter(Age == "60+")
print(Over_Sixty)
(28/30)*100
#TOTAL AMOUNT OF RESPONDENTS AGED 60 AND OVER: 28
#PERCENTAGE OF RESPONDENTS AGED 60 AND OVER: 93.3%
FiftyOne_To_Sixty <- FOOD_WASTE_GROUPS %>%
select(Age)%>%
filter(Age == "51-60")
print(FiftyOne_To_Sixty)
(2/30)*100
#TOTAL AMOUNT OF RESPONDENTS AGED 60 AND OVER: 2
#PERCENTAGE OF RESPONDENTS AGED 60 AND OVER: 6.67%%
Gender
All respondents were female.
Race
Black_African_American <- FOOD_WASTE_GROUPS %>%
select(Race)%>%
filter(Race == "Black")
print(Black_African_American)
(27/30)*100
#TOTAL AMOUNT OF BLACK OR AFRICAN AMERICAN RESPONDENTS: 27
#PERCENTAGE OF BLACK OR AFRICAN AMERICAN RESPONDENTS: 90%
Other_Mixed_Race <- FOOD_WASTE_GROUPS %>%
select(Race)%>%
filter(Race == "Other")
print(Other_Mixed_Race)
(2/30)*100
#TOTAL AMOUNT OF OTHER OR MIXED RACE RESPONDENTS: 2
#PERCENTAGE OF BLACK OR AFRICAN AMERICAN RESPONDENTS: 6.67%
White_Group_One <- FOOD_WASTE_GROUPS %>%
select(Race)%>%
filter(Race == "White")
print(White_Group_One)
(1/30)*100
#TOTAL AMOUNT OF WHITE RESPONDENTS: 1
#PERCENTAGE OF WHTIE RESPONDENTS: 3.33%
NUMBER OF HOUSE OCCUPANTS INCLUDING THE RESPONDENT
ranges between 1 to 6
average number of house occupants including the respondent is (2.26
or 2)
One_House_Occupant_Group_One <- FOOD_WASTE_GROUPS %>%
select(HowManyLiveYourHouseholdIncludingYourself) %>%
filter(HowManyLiveYourHouseholdIncludingYourself == 1)
print(One_House_Occupant_Group_One)
(12/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 1 HOUSEHOLD OCCUPANT: 12
#PERCENTAGE OF RESPONDENTS WITH 1 HOUSEHOLD OCCUPANT: 40%
Two_House_Occupants_Group_One <- FOOD_WASTE_GROUPS %>%
select(HowManyLiveYourHouseholdIncludingYourself) %>%
filter(HowManyLiveYourHouseholdIncludingYourself == 2)
print(Two_House_Occupants_Group_One)
(12/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 2 HOUSEHOLD OCCUPANTS: 12
#PERCENTAGE OF RESPONDENTS WITH 2 HOUSEHOLD OCCUPANTS: 40%
Three_House_Occupants_Group_One <- FOOD_WASTE_GROUPS %>%
select(HowManyLiveYourHouseholdIncludingYourself)%>%
filter(HowManyLiveYourHouseholdIncludingYourself == 3)
print(Three_House_Occupants_Group_One)
(1/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 3 HOUSEHOLD OCCUPANTS: 1
#PERCENTAGE OF RESPONDENTS WITH 3 HOUSEHOLD OCCUPANTS: 3.33%
Five_House_Occupants_Group_One <- FOOD_WASTE_GROUPS %>%
select(HowManyLiveYourHouseholdIncludingYourself) %>%
filter(HowManyLiveYourHouseholdIncludingYourself == 5)
print(Five_House_Occupants_Group_One)
(1/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 5 HOUSEHOLD OCCUPANTS: 1
#PERCENTAGE OF RESPONDENTS WITH 5 HOUSEHOLD OCCUPANTS: 3.33%
Six_House_Occupants_Group_One <- FOOD_WASTE_GROUPS %>%
select(HowManyLiveYourHouseholdIncludingYourself)%>%
filter(HowManyLiveYourHouseholdIncludingYourself == 6)
print(Six_House_Occupants_Group_One)
(4/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 6 HOUSEHOLD OCCUPANTS: 4
#PERCENTAGE OF RESPONDENTS WITH 6 HOUSEHOLD OCCUPANTS: 13.3%
NUMBER OF HOUSE OCCUPANTS AGED 17 OR YOUNGER
range is between 0 and 2
Zero_17Younger_Group_One <- FOOD_WASTE_GROUPS %>%
select(HowManyHouseholdMembersAge17OrYounger) %>%
filter(HowManyHouseholdMembersAge17OrYounger == 0)
print(Zero_17Younger_Group_One)
(23/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 0 HOUSEHOLD OCCUPANTS 17 OR YOUNGER: 23
#PERCENTAGE OF RESPONDENTS WITH 0 HOUSEHOLD OCCUPANTS 17 OR YOUNGER: 76.7%
One_17Younger_Group_One <- FOOD_WASTE_GROUPS %>%
select(HowManyHouseholdMembersAge17OrYounger)%>%
filter(HowManyHouseholdMembersAge17OrYounger == 1)
print(One_17Younger_Group_One)
(5/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 1 HOUSEHOLD OCCUPANTS 17 OR YOUNGER: 5
#PERCENTAGE OF RESPONDENTS WITH 1 HOUSEHOLD OCCUPANTS 17 OR YOUNGER: 16.7%
Two_17Younger_Group_Two <- FOOD_WASTE_GROUPS %>%
select(HowManyHouseholdMembersAge17OrYounger)%>%
filter(HowManyHouseholdMembersAge17OrYounger == 2)
print(Two_17Younger_Group_Two)
(2/30)*100
#TOTAL AMOUNT OF REPSONDENTS WITH 2 HOUSEHOLD OCCUPANTS 17 OR YOUNGER: 2
#PERCENTAGE OF RESPONDENTS WITH 2 HOUSEHOLD OCCUPANTS 17 OR YOUNGER: 6.67%
MARITAL STATUS
Married_Group_One <- FOOD_WASTE_GROUPS%>%
select(MaritalStatus)%>%
filter(MaritalStatus == "Married")
print(Married_Group_One)
(10/30)*100
#TOTAL AMOUNT OF MARRIED REPSONDENTS: 10
#PERCENTAGE OF MARRIED RESPONDENTS: 33.3%
Divorced_Group_One <- FOOD_WASTE_GROUPS %>%
select(MaritalStatus)%>%
filter(MaritalStatus == "Divorced")
print(Divorced_Group_One)
(3/30)*100
#TOTAL AMOUNT OF DIVORCED REPSONDENTS: 3
#PERCENTAGE OF DIVORCED RESPONDENTS: 10%
Widowed_Group_One <- FOOD_WASTE_GROUPS %>%
select(MaritalStatus)%>%
filter(MaritalStatus == "Widowed")
print(Widowed_Group_One)
(5/30)*100
#TOTAL AMOUNT OF WIDOWED REPSONDENTS: 5
#PERCENTAGE OF WIDOWED RESPONDENTS: 16.7%
Single_Group_One <- FOOD_WASTE_GROUPS %>%
select(MaritalStatus)%>%
filter(MaritalStatus == "Single")
print(Single_Group_One)
(12/30)*100
#TOTAL AMOUNT OF WIDOWED REPSONDENTS: 12
#PERCENTAGE OF WIDOWED RESPONDENTS: 40%
ZIPCODES
20001 -> 1 respondent; 3.33%
20018 -> 1 respondent; 3.33%
20019 -> 9 respondents; 30%
20721 -> 2 respondents; 6.67%
20735 –> 3 respondents; 10%
20743 –> 2 respondents; 6.67%
20744 –> 2 respondents; 6.67%
20747 –> 2 respondents ; 6.67%
20748 –> 1 respondent; 3.33%
20758 –> 1 respondent; 3.33%
20774 –> 2 respondents; 6.67%
20782 –> 2 respondents; 6.67%
20784 –> 1 respondent; 3.33%
20850 –> 1 respondent; 3.33%
Annual Household Income
SeventyFiveK_99K_Group_One <- FOOD_WASTE_GROUPS %>%
select(AnnualHouseholdIncome)%>%
filter(AnnualHouseholdIncome == "$75,000-$99,999")
print(SeventyFiveK_99K_Group_One)
(3/30)*100
#TOTAL AMOUNT OF RESPONDENTS WITH AN INCOME OF $75K - $99.9K: 3
#PERCENTAGE OF RESPONDENTS WITH AN INCOME OF $75K - $99.9K: 10%
FiftyK_74k_Group_One <- FOOD_WASTE_GROUPS %>%
select(AnnualHouseholdIncome)%>%
filter(AnnualHouseholdIncome == "$50,000-$74,999")
print(FiftyK_74k_Group_One)
(10/30)*100
#TOTAL AMOUNT OF RESPONDENTS WITH AN INCOME OF $50K - $74.9K: 10
#PERCENTAGE OF RESPONDENTS WITH AN INCOME OF $50K - $74.9K: 33.3%
ThirtyFiveK_49k_Group_One <- FOOD_WASTE_GROUPS %>%
select(AnnualHouseholdIncome) %>%
filter(AnnualHouseholdIncome == "$35,000-$49,999")
print(ThirtyFiveK_49k_Group_One)
(5/30)*100
#TOTAL AMOUNT OF RESPONDENTS WITH AN INCOME OF $35K - $49.9K: 5
#PERCENTAGE OF RESPONDENTS WITH AN INCOME OF $35K - $49.9K: 16.7%
TwentyFiveK_34K_Group_One <- FOOD_WASTE_GROUPS %>%
select(AnnualHouseholdIncome)%>%
filter(AnnualHouseholdIncome == "$25,000-$34,999")
print(TwentyFiveK_34K_Group_One)
(1/30)*100
#TOTAL AMOUNT OF RESPONDENTS WITH AN INCOME OF $25K - 34.9K: 1
#PERCENTAGE OF RESPONDENTS WITH AN INCOME OF $25K - $34.9K: 3.33%
OneHundredFiftyK_199K_Group_One <- FOOD_WASTE_GROUPS%>%
select(AnnualHouseholdIncome)%>%
filter(AnnualHouseholdIncome == "$150,000-$199,999")
print(OneHundredFiftyK_199K_Group_One)
(4/30)*100
#TOTAL AMOUNT OF RESPONDENTS WITH AN INCOME OF $150K - $199.9K: 1
#PERCENTAGE OF RESPONDENTS WITH AN INCOME OF $150K - $199.9K: 13.33%
FifteenK_24k_Group_One <- FOOD_WASTE_GROUPS %>%
select(AnnualHouseholdIncome) %>%
filter(AnnualHouseholdIncome == "$15,000-$24,999")
print(FifteenK_24k_Group_One)
(2/30)*100
#TOTAL AMOUNT OF RESPONDENTS WITH AN INCOME OF $15K - $24.9K: 2
#PERCENTAGE OF RESPONDENTS WITH AN INCOME OF $15K - $24.9K: 6.67%
OneHundredK_149k_Group_One <- FOOD_WASTE_GROUPS %>%
select(AnnualHouseholdIncome)%>%
filter(AnnualHouseholdIncome == "$100,000-$149,999")
print(OneHundredK_149k_Group_One)
(2/30)*100
#TOTAL AMOUNT OF RESPONDENTS WITH AN INCOME OF $100K - $149.9K: 2
#PERCENTAGE OF RESPONDENTS WITH AN INCOME OF $100K - $149.9k: 6.67%
NAIncome <- FOOD_WASTE_GROUPS %>%
select(AnnualHouseholdIncome)%>%
filter(is.na(AnnualHouseholdIncome))
print(NAIncome)
(3/30)*100
#TOTAL AMOUNT OF REPSONDENTS WHO DID NOT REPORT THEIR INCOME: 3
#PERCENTAGE OF RESPONDENTS WHO DID NOT REPORT THEIR INCOME: 10%
FOOD ASSISTANCE PROGRAMS
None of the programs –> 21 respondents; 70%
- 1 respondent does not use any of the listed programs, but does
receive “In-person Food Benefit Assistance Sessions”
Other programs –> 4 respondents; 13.3%
SNAP –> 2 respondents; 6.67%
- 1 respondent uses SNAP, but is also receiving
“Online Food Benefit Assistance Sessions”
LS0tDQp0aXRsZTogRm9vZF9XYXN0ZV9CeV9Hcm91cA0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KKipHcm91cCBPbmUgKE9MREVSIEFEVUxUUyk6KioNCg0KbiA9IDMwDQoNCltBZ2Vdey51bmRlcmxpbmV9DQoNCmBgYHtyfQ0KT3Zlcl9TaXh0eSA8LSBGT09EX1dBU1RFX0dST1VQUyAlPiUNCiAgc2VsZWN0KEFnZSklPiUNCiAgZmlsdGVyKEFnZSA9PSAiNjArIikNCnByaW50KE92ZXJfU2l4dHkpDQooMjgvMzApKjEwMA0KDQojVE9UQUwgQU1PVU5UIE9GIFJFU1BPTkRFTlRTIEFHRUQgNjAgQU5EIE9WRVI6IDI4DQojUEVSQ0VOVEFHRSBPRiBSRVNQT05ERU5UUyBBR0VEIDYwIEFORCBPVkVSOiA5My4zJQ0KDQpGaWZ0eU9uZV9Ub19TaXh0eSA8LSBGT09EX1dBU1RFX0dST1VQUyAlPiUNCiAgc2VsZWN0KEFnZSklPiUNCiAgZmlsdGVyKEFnZSA9PSAiNTEtNjAiKQ0KcHJpbnQoRmlmdHlPbmVfVG9fU2l4dHkpDQooMi8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVTUE9OREVOVFMgQUdFRCA2MCBBTkQgT1ZFUjogMg0KI1BFUkNFTlRBR0UgT0YgUkVTUE9OREVOVFMgQUdFRCA2MCBBTkQgT1ZFUjogNi42NyUlDQpgYGANCg0KW0dlbmRlcl17LnVuZGVybGluZX0NCg0KQWxsIHJlc3BvbmRlbnRzIHdlcmUgZmVtYWxlLg0KDQpbUmFjZV17LnVuZGVybGluZX0NCg0KYGBge3J9DQoNCkJsYWNrX0FmcmljYW5fQW1lcmljYW4gPC0gRk9PRF9XQVNURV9HUk9VUFMgJT4lDQogIHNlbGVjdChSYWNlKSU+JQ0KICBmaWx0ZXIoUmFjZSA9PSAiQmxhY2siKQ0KcHJpbnQoQmxhY2tfQWZyaWNhbl9BbWVyaWNhbikNCigyNy8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgQkxBQ0sgT1IgQUZSSUNBTiBBTUVSSUNBTiBSRVNQT05ERU5UUzogMjcNCiNQRVJDRU5UQUdFIE9GIEJMQUNLIE9SIEFGUklDQU4gQU1FUklDQU4gUkVTUE9OREVOVFM6IDkwJQ0KDQpPdGhlcl9NaXhlZF9SYWNlIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoUmFjZSklPiUNCiAgZmlsdGVyKFJhY2UgPT0gIk90aGVyIikNCnByaW50KE90aGVyX01peGVkX1JhY2UpDQooMi8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgT1RIRVIgT1IgTUlYRUQgUkFDRSBSRVNQT05ERU5UUzogMg0KI1BFUkNFTlRBR0UgT0YgQkxBQ0sgT1IgQUZSSUNBTiBBTUVSSUNBTiBSRVNQT05ERU5UUzogNi42NyUNCg0KV2hpdGVfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoUmFjZSklPiUNCiAgZmlsdGVyKFJhY2UgPT0gIldoaXRlIikNCnByaW50KFdoaXRlX0dyb3VwX09uZSkNCigxLzMwKSoxMDANCg0KI1RPVEFMIEFNT1VOVCBPRiBXSElURSBSRVNQT05ERU5UUzogMQ0KI1BFUkNFTlRBR0UgT0YgV0hUSUUgUkVTUE9OREVOVFM6IDMuMzMlDQpgYGANCg0KW05VTUJFUiBPRiBIT1VTRSBPQ0NVUEFOVFMgSU5DTFVESU5HIFRIRSBSRVNQT05ERU5UXXsudW5kZXJsaW5lfQ0KDQpyYW5nZXMgYmV0d2VlbiAxIHRvIDYNCg0KYXZlcmFnZSBudW1iZXIgb2YgaG91c2Ugb2NjdXBhbnRzIGluY2x1ZGluZyB0aGUgcmVzcG9uZGVudCBpcyAoMi4yNiBvciAyKQ0KDQpgYGB7cn0NCk9uZV9Ib3VzZV9PY2N1cGFudF9Hcm91cF9PbmUgPC0gRk9PRF9XQVNURV9HUk9VUFMgJT4lDQogIHNlbGVjdChIb3dNYW55TGl2ZVlvdXJIb3VzZWhvbGRJbmNsdWRpbmdZb3Vyc2VsZikgJT4lDQogIGZpbHRlcihIb3dNYW55TGl2ZVlvdXJIb3VzZWhvbGRJbmNsdWRpbmdZb3Vyc2VsZiA9PSAxKQ0KcHJpbnQoT25lX0hvdXNlX09jY3VwYW50X0dyb3VwX09uZSkNCigxMi8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVQU09OREVOVFMgV0lUSCAxIEhPVVNFSE9MRCBPQ0NVUEFOVDogMTINCiNQRVJDRU5UQUdFIE9GIFJFU1BPTkRFTlRTIFdJVEggMSBIT1VTRUhPTEQgT0NDVVBBTlQ6IDQwJQ0KDQpUd29fSG91c2VfT2NjdXBhbnRzX0dyb3VwX09uZSA8LSBGT09EX1dBU1RFX0dST1VQUyAlPiUNCiAgc2VsZWN0KEhvd01hbnlMaXZlWW91ckhvdXNlaG9sZEluY2x1ZGluZ1lvdXJzZWxmKSAlPiUNCiAgZmlsdGVyKEhvd01hbnlMaXZlWW91ckhvdXNlaG9sZEluY2x1ZGluZ1lvdXJzZWxmID09IDIpDQpwcmludChUd29fSG91c2VfT2NjdXBhbnRzX0dyb3VwX09uZSkNCigxMi8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVQU09OREVOVFMgV0lUSCAyIEhPVVNFSE9MRCBPQ0NVUEFOVFM6IDEyDQojUEVSQ0VOVEFHRSBPRiBSRVNQT05ERU5UUyBXSVRIIDIgSE9VU0VIT0xEIE9DQ1VQQU5UUzogNDAlDQoNClRocmVlX0hvdXNlX09jY3VwYW50c19Hcm91cF9PbmUgPC0gRk9PRF9XQVNURV9HUk9VUFMgJT4lDQogIHNlbGVjdChIb3dNYW55TGl2ZVlvdXJIb3VzZWhvbGRJbmNsdWRpbmdZb3Vyc2VsZiklPiUNCiAgZmlsdGVyKEhvd01hbnlMaXZlWW91ckhvdXNlaG9sZEluY2x1ZGluZ1lvdXJzZWxmID09IDMpDQpwcmludChUaHJlZV9Ib3VzZV9PY2N1cGFudHNfR3JvdXBfT25lKQ0KKDEvMzApKjEwMA0KDQojVE9UQUwgQU1PVU5UIE9GIFJFUFNPTkRFTlRTIFdJVEggMyBIT1VTRUhPTEQgT0NDVVBBTlRTOiAxDQojUEVSQ0VOVEFHRSBPRiBSRVNQT05ERU5UUyBXSVRIIDMgSE9VU0VIT0xEIE9DQ1VQQU5UUzogMy4zMyUNCg0KRml2ZV9Ib3VzZV9PY2N1cGFudHNfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoSG93TWFueUxpdmVZb3VySG91c2Vob2xkSW5jbHVkaW5nWW91cnNlbGYpICU+JQ0KICBmaWx0ZXIoSG93TWFueUxpdmVZb3VySG91c2Vob2xkSW5jbHVkaW5nWW91cnNlbGYgPT0gNSkNCnByaW50KEZpdmVfSG91c2VfT2NjdXBhbnRzX0dyb3VwX09uZSkNCigxLzMwKSoxMDANCg0KDQojVE9UQUwgQU1PVU5UIE9GIFJFUFNPTkRFTlRTIFdJVEggNSBIT1VTRUhPTEQgT0NDVVBBTlRTOiAxDQojUEVSQ0VOVEFHRSBPRiBSRVNQT05ERU5UUyBXSVRIIDUgSE9VU0VIT0xEIE9DQ1VQQU5UUzogMy4zMyUNCg0KU2l4X0hvdXNlX09jY3VwYW50c19Hcm91cF9PbmUgPC0gRk9PRF9XQVNURV9HUk9VUFMgJT4lDQogIHNlbGVjdChIb3dNYW55TGl2ZVlvdXJIb3VzZWhvbGRJbmNsdWRpbmdZb3Vyc2VsZiklPiUNCiAgZmlsdGVyKEhvd01hbnlMaXZlWW91ckhvdXNlaG9sZEluY2x1ZGluZ1lvdXJzZWxmID09IDYpDQpwcmludChTaXhfSG91c2VfT2NjdXBhbnRzX0dyb3VwX09uZSkNCig0LzMwKSoxMDANCg0KI1RPVEFMIEFNT1VOVCBPRiBSRVBTT05ERU5UUyBXSVRIIDYgSE9VU0VIT0xEIE9DQ1VQQU5UUzogNA0KI1BFUkNFTlRBR0UgT0YgUkVTUE9OREVOVFMgV0lUSCA2IEhPVVNFSE9MRCBPQ0NVUEFOVFM6IDEzLjMlDQpgYGANCg0KW05VTUJFUiBPRiBIT1VTRSBPQ0NVUEFOVFMgQUdFRCAxNyBPUiBZT1VOR0VSXXsudW5kZXJsaW5lfQ0KDQpyYW5nZSBpcyBiZXR3ZWVuIDAgYW5kIDINCg0KYGBge3J9DQpaZXJvXzE3WW91bmdlcl9Hcm91cF9PbmUgPC0gRk9PRF9XQVNURV9HUk9VUFMgJT4lDQogIHNlbGVjdChIb3dNYW55SG91c2Vob2xkTWVtYmVyc0FnZTE3T3JZb3VuZ2VyKSAlPiUNCiAgZmlsdGVyKEhvd01hbnlIb3VzZWhvbGRNZW1iZXJzQWdlMTdPcllvdW5nZXIgPT0gMCkNCnByaW50KFplcm9fMTdZb3VuZ2VyX0dyb3VwX09uZSkNCigyMy8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVQU09OREVOVFMgV0lUSCAwIEhPVVNFSE9MRCBPQ0NVUEFOVFMgMTcgT1IgWU9VTkdFUjogMjMNCiNQRVJDRU5UQUdFIE9GIFJFU1BPTkRFTlRTIFdJVEggMCBIT1VTRUhPTEQgT0NDVVBBTlRTIDE3IE9SIFlPVU5HRVI6IDc2LjclDQoNCk9uZV8xN1lvdW5nZXJfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoSG93TWFueUhvdXNlaG9sZE1lbWJlcnNBZ2UxN09yWW91bmdlciklPiUNCiAgZmlsdGVyKEhvd01hbnlIb3VzZWhvbGRNZW1iZXJzQWdlMTdPcllvdW5nZXIgPT0gMSkNCnByaW50KE9uZV8xN1lvdW5nZXJfR3JvdXBfT25lKQ0KKDUvMzApKjEwMA0KDQojVE9UQUwgQU1PVU5UIE9GIFJFUFNPTkRFTlRTIFdJVEggMSBIT1VTRUhPTEQgT0NDVVBBTlRTIDE3IE9SIFlPVU5HRVI6IDUNCiNQRVJDRU5UQUdFIE9GIFJFU1BPTkRFTlRTIFdJVEggMSBIT1VTRUhPTEQgT0NDVVBBTlRTIDE3IE9SIFlPVU5HRVI6IDE2LjclDQoNClR3b18xN1lvdW5nZXJfR3JvdXBfVHdvIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoSG93TWFueUhvdXNlaG9sZE1lbWJlcnNBZ2UxN09yWW91bmdlciklPiUNCiAgZmlsdGVyKEhvd01hbnlIb3VzZWhvbGRNZW1iZXJzQWdlMTdPcllvdW5nZXIgPT0gMikNCnByaW50KFR3b18xN1lvdW5nZXJfR3JvdXBfVHdvKQ0KKDIvMzApKjEwMA0KDQojVE9UQUwgQU1PVU5UIE9GIFJFUFNPTkRFTlRTIFdJVEggMiBIT1VTRUhPTEQgT0NDVVBBTlRTIDE3IE9SIFlPVU5HRVI6IDINCiNQRVJDRU5UQUdFIE9GIFJFU1BPTkRFTlRTIFdJVEggMiBIT1VTRUhPTEQgT0NDVVBBTlRTIDE3IE9SIFlPVU5HRVI6IDYuNjclDQpgYGANCg0KW01BUklUQUwgU1RBVFVTXXsudW5kZXJsaW5lfQ0KDQpgYGB7cn0NCk1hcnJpZWRfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTJT4lDQogIHNlbGVjdChNYXJpdGFsU3RhdHVzKSU+JQ0KICBmaWx0ZXIoTWFyaXRhbFN0YXR1cyA9PSAiTWFycmllZCIpDQpwcmludChNYXJyaWVkX0dyb3VwX09uZSkNCigxMC8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgTUFSUklFRCBSRVBTT05ERU5UUzogMTANCiNQRVJDRU5UQUdFIE9GIE1BUlJJRUQgUkVTUE9OREVOVFM6IDMzLjMlDQoNCkRpdm9yY2VkX0dyb3VwX09uZSA8LSBGT09EX1dBU1RFX0dST1VQUyAlPiUNCiAgc2VsZWN0KE1hcml0YWxTdGF0dXMpJT4lDQogIGZpbHRlcihNYXJpdGFsU3RhdHVzID09ICJEaXZvcmNlZCIpDQpwcmludChEaXZvcmNlZF9Hcm91cF9PbmUpDQooMy8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgRElWT1JDRUQgUkVQU09OREVOVFM6IDMNCiNQRVJDRU5UQUdFIE9GIERJVk9SQ0VEIFJFU1BPTkRFTlRTOiAxMCUNCg0KV2lkb3dlZF9Hcm91cF9PbmUgPC0gRk9PRF9XQVNURV9HUk9VUFMgJT4lDQogIHNlbGVjdChNYXJpdGFsU3RhdHVzKSU+JQ0KICBmaWx0ZXIoTWFyaXRhbFN0YXR1cyA9PSAiV2lkb3dlZCIpDQpwcmludChXaWRvd2VkX0dyb3VwX09uZSkNCig1LzMwKSoxMDANCg0KI1RPVEFMIEFNT1VOVCBPRiBXSURPV0VEIFJFUFNPTkRFTlRTOiA1DQojUEVSQ0VOVEFHRSBPRiBXSURPV0VEIFJFU1BPTkRFTlRTOiAxNi43JQ0KDQpTaW5nbGVfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoTWFyaXRhbFN0YXR1cyklPiUNCiAgZmlsdGVyKE1hcml0YWxTdGF0dXMgPT0gIlNpbmdsZSIpDQpwcmludChTaW5nbGVfR3JvdXBfT25lKQ0KKDEyLzMwKSoxMDANCg0KDQojVE9UQUwgQU1PVU5UIE9GIFdJRE9XRUQgUkVQU09OREVOVFM6IDEyDQojUEVSQ0VOVEFHRSBPRiBXSURPV0VEIFJFU1BPTkRFTlRTOiA0MCUNCmBgYA0KDQpbWklQQ09ERVNdey51bmRlcmxpbmV9DQoNCi0gICAyMDAwMSAtXD4gMSByZXNwb25kZW50OyAzLjMzJQ0KDQotICAgMjAwMTggLVw+IDEgcmVzcG9uZGVudDsgMy4zMyUNCg0KLSAgIDIwMDE5IC1cPiA5IHJlc3BvbmRlbnRzOyAzMCUNCg0KLSAgIDIwNzIxIC1cPiAyIHJlc3BvbmRlbnRzOyA2LjY3JQ0KDQotICAgMjA3MzUgLS1cPiAzIHJlc3BvbmRlbnRzOyAxMCUNCg0KLSAgIDIwNzQzIC0tXD4gMiByZXNwb25kZW50czsgNi42NyUNCg0KLSAgIDIwNzQ0IC0tXD4gMiByZXNwb25kZW50czsgNi42NyUNCg0KLSAgIDIwNzQ3IC0tXD4gMiByZXNwb25kZW50cyA7IDYuNjclDQoNCi0gICAyMDc0OCAtLVw+IDEgcmVzcG9uZGVudDsgMy4zMyUNCg0KLSAgIDIwNzU4IC0tXD4gMSByZXNwb25kZW50OyAzLjMzJQ0KDQotICAgMjA3NzQgLS1cPiAyIHJlc3BvbmRlbnRzOyA2LjY3JQ0KDQotICAgMjA3ODIgLS1cPiAyIHJlc3BvbmRlbnRzOyA2LjY3JQ0KDQotICAgMjA3ODQgLS1cPiAxIHJlc3BvbmRlbnQ7IDMuMzMlDQoNCi0gICAyMDg1MCAtLVw+IDEgcmVzcG9uZGVudDsgMy4zMyUNCg0KW0FubnVhbCBIb3VzZWhvbGQgSW5jb21lXXsudW5kZXJsaW5lfQ0KDQpgYGB7cn0NClNldmVudHlGaXZlS185OUtfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoQW5udWFsSG91c2Vob2xkSW5jb21lKSU+JQ0KICBmaWx0ZXIoQW5udWFsSG91c2Vob2xkSW5jb21lID09ICIkNzUsMDAwLSQ5OSw5OTkiKQ0KcHJpbnQoU2V2ZW50eUZpdmVLXzk5S19Hcm91cF9PbmUpDQooMy8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVTUE9OREVOVFMgV0lUSCBBTiBJTkNPTUUgT0YgJDc1SyAtICQ5OS45SzogMw0KI1BFUkNFTlRBR0UgT0YgUkVTUE9OREVOVFMgV0lUSCBBTiBJTkNPTUUgT0YgJDc1SyAtICQ5OS45SzogMTAlDQoNCkZpZnR5S183NGtfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoQW5udWFsSG91c2Vob2xkSW5jb21lKSU+JQ0KICBmaWx0ZXIoQW5udWFsSG91c2Vob2xkSW5jb21lID09ICIkNTAsMDAwLSQ3NCw5OTkiKQ0KcHJpbnQoRmlmdHlLXzc0a19Hcm91cF9PbmUpDQooMTAvMzApKjEwMA0KDQojVE9UQUwgQU1PVU5UIE9GIFJFU1BPTkRFTlRTIFdJVEggQU4gSU5DT01FIE9GICQ1MEsgLSAkNzQuOUs6IDEwDQojUEVSQ0VOVEFHRSBPRiBSRVNQT05ERU5UUyBXSVRIIEFOIElOQ09NRSBPRiAkNTBLIC0gJDc0LjlLOiAzMy4zJQ0KDQpUaGlydHlGaXZlS180OWtfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoQW5udWFsSG91c2Vob2xkSW5jb21lKSAlPiUNCiAgZmlsdGVyKEFubnVhbEhvdXNlaG9sZEluY29tZSA9PSAiJDM1LDAwMC0kNDksOTk5IikNCnByaW50KFRoaXJ0eUZpdmVLXzQ5a19Hcm91cF9PbmUpDQooNS8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVTUE9OREVOVFMgV0lUSCBBTiBJTkNPTUUgT0YgJDM1SyAtICQ0OS45SzogNQ0KI1BFUkNFTlRBR0UgT0YgUkVTUE9OREVOVFMgV0lUSCBBTiBJTkNPTUUgT0YgJDM1SyAtICQ0OS45SzogMTYuNyUNCg0KVHdlbnR5Rml2ZUtfMzRLX0dyb3VwX09uZSA8LSBGT09EX1dBU1RFX0dST1VQUyAlPiUNCiAgc2VsZWN0KEFubnVhbEhvdXNlaG9sZEluY29tZSklPiUNCiAgZmlsdGVyKEFubnVhbEhvdXNlaG9sZEluY29tZSA9PSAiJDI1LDAwMC0kMzQsOTk5IikNCnByaW50KFR3ZW50eUZpdmVLXzM0S19Hcm91cF9PbmUpDQooMS8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVTUE9OREVOVFMgV0lUSCBBTiBJTkNPTUUgT0YgJDI1SyAtIDM0LjlLOiAxDQojUEVSQ0VOVEFHRSBPRiBSRVNQT05ERU5UUyBXSVRIIEFOIElOQ09NRSBPRiAkMjVLIC0gJDM0LjlLOiAzLjMzJQ0KDQpPbmVIdW5kcmVkRmlmdHlLXzE5OUtfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTJT4lDQogIHNlbGVjdChBbm51YWxIb3VzZWhvbGRJbmNvbWUpJT4lDQogIGZpbHRlcihBbm51YWxIb3VzZWhvbGRJbmNvbWUgPT0gIiQxNTAsMDAwLSQxOTksOTk5IikNCnByaW50KE9uZUh1bmRyZWRGaWZ0eUtfMTk5S19Hcm91cF9PbmUpDQooNC8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVTUE9OREVOVFMgV0lUSCBBTiBJTkNPTUUgT0YgJDE1MEsgLSAkMTk5LjlLOiAxDQojUEVSQ0VOVEFHRSBPRiBSRVNQT05ERU5UUyBXSVRIIEFOIElOQ09NRSBPRiAkMTUwSyAtICQxOTkuOUs6IDEzLjMzJQ0KDQpGaWZ0ZWVuS18yNGtfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoQW5udWFsSG91c2Vob2xkSW5jb21lKSAlPiUgDQogIGZpbHRlcihBbm51YWxIb3VzZWhvbGRJbmNvbWUgPT0gIiQxNSwwMDAtJDI0LDk5OSIpDQpwcmludChGaWZ0ZWVuS18yNGtfR3JvdXBfT25lKQ0KKDIvMzApKjEwMA0KDQojVE9UQUwgQU1PVU5UIE9GIFJFU1BPTkRFTlRTIFdJVEggQU4gSU5DT01FIE9GICQxNUsgLSAkMjQuOUs6IDINCiNQRVJDRU5UQUdFIE9GIFJFU1BPTkRFTlRTIFdJVEggQU4gSU5DT01FIE9GICQxNUsgLSAkMjQuOUs6IDYuNjclDQoNCk9uZUh1bmRyZWRLXzE0OWtfR3JvdXBfT25lIDwtIEZPT0RfV0FTVEVfR1JPVVBTICU+JQ0KICBzZWxlY3QoQW5udWFsSG91c2Vob2xkSW5jb21lKSU+JQ0KICBmaWx0ZXIoQW5udWFsSG91c2Vob2xkSW5jb21lID09ICIkMTAwLDAwMC0kMTQ5LDk5OSIpDQpwcmludChPbmVIdW5kcmVkS18xNDlrX0dyb3VwX09uZSkNCigyLzMwKSoxMDANCg0KI1RPVEFMIEFNT1VOVCBPRiBSRVNQT05ERU5UUyBXSVRIIEFOIElOQ09NRSBPRiAkMTAwSyAtICQxNDkuOUs6IDINCiNQRVJDRU5UQUdFIE9GIFJFU1BPTkRFTlRTIFdJVEggQU4gSU5DT01FIE9GICQxMDBLIC0gJDE0OS45azogNi42NyUNCg0KTkFJbmNvbWUgPC0gRk9PRF9XQVNURV9HUk9VUFMgJT4lDQogIHNlbGVjdChBbm51YWxIb3VzZWhvbGRJbmNvbWUpJT4lDQogIGZpbHRlcihpcy5uYShBbm51YWxIb3VzZWhvbGRJbmNvbWUpKQ0KcHJpbnQoTkFJbmNvbWUpDQooMy8zMCkqMTAwDQoNCiNUT1RBTCBBTU9VTlQgT0YgUkVQU09OREVOVFMgV0hPIERJRCBOT1QgUkVQT1JUIFRIRUlSIElOQ09NRTogMw0KI1BFUkNFTlRBR0UgT0YgUkVTUE9OREVOVFMgV0hPIERJRCBOT1QgUkVQT1JUIFRIRUlSIElOQ09NRTogMTAlDQpgYGANCg0KW0ZPT0QgQVNTSVNUQU5DRSBQUk9HUkFNU117LnVuZGVybGluZX0NCg0KLSAgIE5vbmUgb2YgdGhlIHByb2dyYW1zIC0tXD4gMjEgcmVzcG9uZGVudHM7IDcwJQ0KDQogICAgLSAgIDEgcmVzcG9uZGVudCBkb2VzIG5vdCB1c2UgYW55IG9mIHRoZSBsaXN0ZWQgcHJvZ3JhbXMsIGJ1dCBkb2VzIHJlY2VpdmUgIkluLXBlcnNvbsKgRm9vZMKgQmVuZWZpdMKgQXNzaXN0YW5jZcKgU2Vzc2lvbnMiDQoNCi0gICBPdGhlciBwcm9ncmFtcyAtLVw+IDQgcmVzcG9uZGVudHM7IDEzLjMlDQoNCi0gICBTTkFQIC0tXD4gMiByZXNwb25kZW50czsgNi42NyUNCg0KICAgIC0gICAxIHJlc3BvbmRlbnQgdXNlcyBTTkFQLCBidXQgaXMgYWxzbyByZWNlaXZpbmcgIk9ubGluZcKgRm9vZMKgQmVuZWZpdMKgQXNzaXN0YW5jZcKgU2Vzc2lvbnMiDQo=