TAB EXTRA 1: Índices de donaciones

INTRODUCCIÓN

Se decidió investigar acerca de las donaciones que hay en Guatemala. Se analizan donaciones de alimentos, vestuario, medicina y materiales.

REPRODUCCIÓN DE RESULTADOS

library(tidyverse)
library(haven)
donaciones <- read_sav("~/Data Science/ENCOVI/donaciones.sav")
hogares_donacion <- donaciones %>% select(REGION, DEPTO, AREA, POBREZA, ID_DONACIONES, P01F01, P01F02A, P01F02B, P01F02C, P01F02D,  P01F02E)
names(hogares_donacion) <- c("Región", "Departamento", "Área", "Pobreza", "Donadores", "Especie", "Alimentos", "Vestuario", "Medicinas", "Materiales", "Otro")
hogares_donacion <- hogares_donacion[complete.cases(hogares_donacion),]
hogares_donacion$Departamento <- as.factor(hogares_donacion$Departamento)
hogares_donacion$Área  <- as.factor(hogares_donacion$Área)
hogares_donacion$Pobreza  <- as.factor(hogares_donacion$Pobreza)
hogares_donacion$Donadores <- as.numeric(hogares_donacion$Donadores)
names(hogares_donacion)
str(hogares_donacion)
summary(hogares_donacion)
levels(hogares_donacion$Departamento)<- c("Guatemala", "El Progreso", "Sacatepequez", "Chimaltenango", "Escuintla", "Santa Rosa", "Solola", "Totonicapan", "Quetzaltenango", "Suchitepequez", "Retalhuleu", "San Marcos", "Huehuetenango", "Quiche", "Baja Verapaz", "Alta Verapaz", "Peten", "Izabal", "Zacapa", "Chiquimula", "Jalapa", "Jutiapa")
levels(hogares_donacion$Área) <- c("Urbana", "Rural")
levels(hogares_donacion$Pobreza) <- c ("Pobre extremo", "Pobre no extremo", "No pobre")
hogares_donacion$Especie <- ifelse(hogares_donacion$Especie == 1, TRUE, FALSE)
hogares_donacion$Alimentos <- ifelse(hogares_donacion$Alimentos == 1, TRUE, FALSE)
hogares_donacion$vestuario <- ifelse(hogares_donacion$Vestuario == 1, TRUE, FALSE)
hogares_donacion$Medicinas <- ifelse(hogares_donacion$Medicinas == 1, TRUE, FALSE)
hogares_donacion$Materiales <- ifelse(hogares_donacion$Materiales == 1, TRUE, FALSE)
hogares_donacion$Otro <- ifelse(hogares_donacion$Otro == 1, TRUE, FALSE)
hogares_donacion %>% summarise(Donacion_Especie = sum(hogares_donacion$Especie, na.rm = TRUE)/n(), Donacion_Alimentos = sum(hogares_donacion$Alimentos, na.rm = TRUE)/n(), Donacion_Vestuario = sum(hogares_donacion$Vestuario, na.rm = TRUE)/n(), Donacion_Medicinas = sum(hogares_donacion$Medicinas, na.rm = TRUE)/n(), Donacion_Materiales = sum(hogares_donacion$Materiales, na.rm = TRUE)/n(),
Donacion_Otro = sum(hogares_donacion$Otro, na.rm = TRUE)/n())
hogares_donacion %>% group_by(as_factor(Área)) %>% summarise(Donacion_Especie = sum(hogares_donacion$Especie, na.rm = TRUE)/n(), Donacion_Alimentos = sum(hogares_donacion$Alimentos, na.rm = TRUE)/n(), Donacion_Vestuario = sum(hogares_donacion$Vestuario, na.rm = TRUE)/n(), Donacion_Medicinas = sum(hogares_donacion$Medicinas, na.rm = TRUE)/n(), Donacion_Materiales = sum(hogares_donacion$Materiales, na.rm = TRUE)/n(),
Donacion_Otro = sum(hogares_donacion$Otro, na.rm = TRUE)/n())
hogares_donacion %>% group_by(Pobreza) %>% summarise(Donacion_Especie = sum(hogares_donacion$Especie, na.rm = TRUE)/n(), Donacion_Alimentos = sum(hogares_donacion$Alimentos, na.rm = TRUE)/n(), Donacion_Vestuario = sum(hogares_donacion$Vestuario, na.rm = TRUE)/n(), Donacion_Medicinas = sum(hogares_donacion$Medicinas, na.rm = TRUE)/n(), Donacion_Materiales = sum(hogares_donacion$Materiales, na.rm = TRUE)/n(),
Donacion_Otro = sum(hogares_donacion$Otro, na.rm = TRUE)/n())
hogares_donacion %>% group_by(Departamento) %>% summarise(Donacion_Especie = sum(hogares_donacion$Especie, na.rm = TRUE)/n(), Donacion_Alimentos = sum(hogares_donacion$Alimentos, na.rm = TRUE)/n(), Donacion_Vestuario = sum(hogares_donacion$Vestuario, na.rm = TRUE)/n(), Donacion_Medicinas = sum(hogares_donacion$Medicinas, na.rm = TRUE)/n(), Donacion_Materiales = sum(hogares_donacion$Materiales, na.rm = TRUE)/n(),
Donacion_Otro = sum(hogares_donacion$Otro, na.rm = TRUE)/n())
Donacion_hogarDEPTO <- hogares_donacion %>% group_by(Departamento) %>% summarise(Donacion_Especie = sum(hogares_donacion$Especie, na.rm = TRUE)/n(), Donacion_Alimentos = sum(hogares_donacion$Alimentos, na.rm = TRUE)/n(), Donacion_Vestuario = sum(hogares_donacion$Vestuario, na.rm = TRUE)/n(), Donacion_Medicinas = sum(hogares_donacion$Medicinas, na.rm = TRUE)/n(), Donacion_Materiales = sum(hogares_donacion$Materiales, na.rm = TRUE)/n(),
Donacion_Otro = sum(hogares_donacion$Otro, na.rm = TRUE)/n()) %>% gather(Donación, Cantidad, -Departamento)
Donacion_hogarDEPTO
Donacion_hogarPOBREZA <- hogares_donacion %>% group_by(Pobreza) %>% summarise(Donacion_Especie = sum(hogares_donacion$Especie, na.rm = TRUE)/n(), Donacion_Alimentos = sum(hogares_donacion$Alimentos, na.rm = TRUE)/n(), Donacion_Vestuario = sum(hogares_donacion$Vestuario, na.rm = TRUE)/n(), Donacion_Medicinas = sum(hogares_donacion$Medicinas, na.rm = TRUE)/n(), Donacion_Materiales = sum(hogares_donacion$Materiales, na.rm = TRUE)/n(),
Donacion_Otro = sum(hogares_donacion$Otro, na.rm = TRUE)/n()) %>% gather(Donación, Cantidad, -Pobreza)
Donacion_hogarPOBREZA
Donacion_hogarDONADORES <- hogares_donacion %>% group_by(Donadores) %>% summarise(Donacion_Especie = sum(hogares_donacion$Especie, na.rm = TRUE)/n(), Donacion_Alimentos = sum(hogares_donacion$Alimentos, na.rm = TRUE)/n(), Donacion_Vestuario = sum(hogares_donacion$Vestuario, na.rm = TRUE)/n(), Donacion_Medicinas = sum(hogares_donacion$Medicinas, na.rm = TRUE)/n(), Donacion_Materiales = sum(hogares_donacion$Materiales, na.rm = TRUE)/n(),
Donacion_Otro = sum(hogares_donacion$Otro, na.rm = TRUE)/n()) 
Donacion_hogarDONADORES

GRÁFICAS

library(ggplot2)
Donacion_hogarDEPTO %>% ggplot(aes(Departamento, Cantidad)) +
    geom_col(aes(fill = Donación, group = Donación), position = "dodge") +
    theme(axis.text.x = element_text(angle = 90))

Donacion_hogarPOBREZA %>% ggplot(aes(Pobreza, Cantidad)) +
  geom_col(aes(fill = Donación, group = Donación), position = "dodge") +
  theme(axis.text.x = element_text(angle = 90))

CONCLUSIONES

  1. En Guatemala, las personas que son más beneficiarias con respecto a las donaciones, especialmente las ayudas internacionales son las que viven en extrema pobreza.
  2. A pesar de pensar que la ayuda más común puden ser los alimentos, no llega ni a ser la segunda donación más importante, al contrario, la mayor de ellas es la ayuda en la proporción de materiales y medicinas.
  3. San Marcos es el departamento que más ayuda recibe por parte de la donaciones, mientras que los departamentos más pobres como Huehuetenango y Alta Verapaz se benefician por sólo un pequeño porcentaje.
LS0tDQp0aXRsZTogIlJlc3VsdGFkb3MgRW5jb3ZpIDIwMTQiDQphdXRob3I6ICJTaGFyaXMgQmFycmlvcywgU2l1IExpbmcgQ2hhbmcsIFJvZG9sZm8gUm9qYXMsIEppbWVuYSBT4W5jaGV6LCBTdWNlbHkgVGV5dWwiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KI1RBQiBFWFRSQSAxOiDNbmRpY2VzIGRlIGRvbmFjaW9uZXMNCg0KIyMjIElOVFJPRFVDQ0nTTg0KU2UgZGVjaWRp8yBpbnZlc3RpZ2FyIGFjZXJjYSBkZSBsYXMgZG9uYWNpb25lcyBxdWUgaGF5IGVuIEd1YXRlbWFsYS4gU2UgYW5hbGl6YW4gZG9uYWNpb25lcyBkZSBhbGltZW50b3MsIHZlc3R1YXJpbywgbWVkaWNpbmEgeSBtYXRlcmlhbGVzLg0KDQojIyMgUkVQUk9EVUNDSdNOIERFIFJFU1VMVEFET1MNCmBgYHtyfQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KGhhdmVuKQ0KYGBgDQoNCmBgYHtyfQ0KZG9uYWNpb25lcyA8LSByZWFkX3Nhdigifi9EYXRhIFNjaWVuY2UvRU5DT1ZJL2RvbmFjaW9uZXMuc2F2IikNCmBgYA0KDQpgYGB7cn0NCmhvZ2FyZXNfZG9uYWNpb24gPC0gZG9uYWNpb25lcyAlPiUgc2VsZWN0KFJFR0lPTiwgREVQVE8sIEFSRUEsIFBPQlJFWkEsIElEX0RPTkFDSU9ORVMsIFAwMUYwMSwgUDAxRjAyQSwgUDAxRjAyQiwgUDAxRjAyQywgUDAxRjAyRCwgIFAwMUYwMkUpDQoNCm5hbWVzKGhvZ2FyZXNfZG9uYWNpb24pIDwtIGMoIlJlZ2nzbiIsICJEZXBhcnRhbWVudG8iLCAiwXJlYSIsICJQb2JyZXphIiwgIkRvbmFkb3JlcyIsICJFc3BlY2llIiwgIkFsaW1lbnRvcyIsICJWZXN0dWFyaW8iLCAiTWVkaWNpbmFzIiwgIk1hdGVyaWFsZXMiLCAiT3RybyIpDQpob2dhcmVzX2RvbmFjaW9uIDwtIGhvZ2FyZXNfZG9uYWNpb25bY29tcGxldGUuY2FzZXMoaG9nYXJlc19kb25hY2lvbiksXQ0KYGBgDQoNCmBgYHtyfQ0KaG9nYXJlc19kb25hY2lvbiREZXBhcnRhbWVudG8gPC0gYXMuZmFjdG9yKGhvZ2FyZXNfZG9uYWNpb24kRGVwYXJ0YW1lbnRvKQ0KaG9nYXJlc19kb25hY2lvbiTBcmVhICA8LSBhcy5mYWN0b3IoaG9nYXJlc19kb25hY2lvbiTBcmVhKQ0KaG9nYXJlc19kb25hY2lvbiRQb2JyZXphICA8LSBhcy5mYWN0b3IoaG9nYXJlc19kb25hY2lvbiRQb2JyZXphKQ0KaG9nYXJlc19kb25hY2lvbiREb25hZG9yZXMgPC0gYXMubnVtZXJpYyhob2dhcmVzX2RvbmFjaW9uJERvbmFkb3JlcykNCmBgYA0KDQoNCmBgYHtyLCBldmFsPUZBTFNFfQ0KbmFtZXMoaG9nYXJlc19kb25hY2lvbikNCmBgYA0KDQpgYGB7ciwgZXZhbD1GQUxTRX0NCnN0cihob2dhcmVzX2RvbmFjaW9uKQ0KYGBgDQoNCmBgYHtyLCBldmFsPUZBTFNFfQ0Kc3VtbWFyeShob2dhcmVzX2RvbmFjaW9uKQ0KYGBgDQoNCmBgYHtyfQ0KbGV2ZWxzKGhvZ2FyZXNfZG9uYWNpb24kRGVwYXJ0YW1lbnRvKTwtIGMoIkd1YXRlbWFsYSIsICJFbCBQcm9ncmVzbyIsICJTYWNhdGVwZXF1ZXoiLCAiQ2hpbWFsdGVuYW5nbyIsICJFc2N1aW50bGEiLCAiU2FudGEgUm9zYSIsICJTb2xvbGEiLCAiVG90b25pY2FwYW4iLCAiUXVldHphbHRlbmFuZ28iLCAiU3VjaGl0ZXBlcXVleiIsICJSZXRhbGh1bGV1IiwgIlNhbiBNYXJjb3MiLCAiSHVlaHVldGVuYW5nbyIsICJRdWljaGUiLCAiQmFqYSBWZXJhcGF6IiwgIkFsdGEgVmVyYXBheiIsICJQZXRlbiIsICJJemFiYWwiLCAiWmFjYXBhIiwgIkNoaXF1aW11bGEiLCAiSmFsYXBhIiwgIkp1dGlhcGEiKQ0KYGBgDQoNCg0KYGBge3J9DQpsZXZlbHMoaG9nYXJlc19kb25hY2lvbiTBcmVhKSA8LSBjKCJVcmJhbmEiLCAiUnVyYWwiKQ0KbGV2ZWxzKGhvZ2FyZXNfZG9uYWNpb24kUG9icmV6YSkgPC0gYyAoIlBvYnJlIGV4dHJlbW8iLCAiUG9icmUgbm8gZXh0cmVtbyIsICJObyBwb2JyZSIpDQpgYGANCg0KYGBge3J9DQpob2dhcmVzX2RvbmFjaW9uJEVzcGVjaWUgPC0gaWZlbHNlKGhvZ2FyZXNfZG9uYWNpb24kRXNwZWNpZSA9PSAxLCBUUlVFLCBGQUxTRSkNCmhvZ2FyZXNfZG9uYWNpb24kQWxpbWVudG9zIDwtIGlmZWxzZShob2dhcmVzX2RvbmFjaW9uJEFsaW1lbnRvcyA9PSAxLCBUUlVFLCBGQUxTRSkNCmhvZ2FyZXNfZG9uYWNpb24kdmVzdHVhcmlvIDwtIGlmZWxzZShob2dhcmVzX2RvbmFjaW9uJFZlc3R1YXJpbyA9PSAxLCBUUlVFLCBGQUxTRSkNCmhvZ2FyZXNfZG9uYWNpb24kTWVkaWNpbmFzIDwtIGlmZWxzZShob2dhcmVzX2RvbmFjaW9uJE1lZGljaW5hcyA9PSAxLCBUUlVFLCBGQUxTRSkNCmhvZ2FyZXNfZG9uYWNpb24kTWF0ZXJpYWxlcyA8LSBpZmVsc2UoaG9nYXJlc19kb25hY2lvbiRNYXRlcmlhbGVzID09IDEsIFRSVUUsIEZBTFNFKQ0KaG9nYXJlc19kb25hY2lvbiRPdHJvIDwtIGlmZWxzZShob2dhcmVzX2RvbmFjaW9uJE90cm8gPT0gMSwgVFJVRSwgRkFMU0UpDQpgYGANCg0KYGBge3J9DQpob2dhcmVzX2RvbmFjaW9uICU+JSBzdW1tYXJpc2UoRG9uYWNpb25fRXNwZWNpZSA9IHN1bShob2dhcmVzX2RvbmFjaW9uJEVzcGVjaWUsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9BbGltZW50b3MgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRBbGltZW50b3MsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9WZXN0dWFyaW8gPSBzdW0oaG9nYXJlc19kb25hY2lvbiRWZXN0dWFyaW8sIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NZWRpY2luYXMgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRNZWRpY2luYXMsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NYXRlcmlhbGVzID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kTWF0ZXJpYWxlcywgbmEucm0gPSBUUlVFKS9uKCksDQpEb25hY2lvbl9PdHJvID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kT3RybywgbmEucm0gPSBUUlVFKS9uKCkpDQpgYGANCg0KYGBge3J9DQpob2dhcmVzX2RvbmFjaW9uICU+JSBncm91cF9ieShhc19mYWN0b3IowXJlYSkpICU+JSBzdW1tYXJpc2UoRG9uYWNpb25fRXNwZWNpZSA9IHN1bShob2dhcmVzX2RvbmFjaW9uJEVzcGVjaWUsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9BbGltZW50b3MgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRBbGltZW50b3MsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9WZXN0dWFyaW8gPSBzdW0oaG9nYXJlc19kb25hY2lvbiRWZXN0dWFyaW8sIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NZWRpY2luYXMgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRNZWRpY2luYXMsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NYXRlcmlhbGVzID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kTWF0ZXJpYWxlcywgbmEucm0gPSBUUlVFKS9uKCksDQpEb25hY2lvbl9PdHJvID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kT3RybywgbmEucm0gPSBUUlVFKS9uKCkpDQpgYGANCg0KYGBge3J9DQpob2dhcmVzX2RvbmFjaW9uICU+JSBncm91cF9ieShQb2JyZXphKSAlPiUgc3VtbWFyaXNlKERvbmFjaW9uX0VzcGVjaWUgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRFc3BlY2llLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fQWxpbWVudG9zID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kQWxpbWVudG9zLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fVmVzdHVhcmlvID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kVmVzdHVhcmlvLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fTWVkaWNpbmFzID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kTWVkaWNpbmFzLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fTWF0ZXJpYWxlcyA9IHN1bShob2dhcmVzX2RvbmFjaW9uJE1hdGVyaWFsZXMsIG5hLnJtID0gVFJVRSkvbigpLA0KRG9uYWNpb25fT3RybyA9IHN1bShob2dhcmVzX2RvbmFjaW9uJE90cm8sIG5hLnJtID0gVFJVRSkvbigpKQ0KYGBgDQoNCmBgYHtyfQ0KaG9nYXJlc19kb25hY2lvbiAlPiUgZ3JvdXBfYnkoRGVwYXJ0YW1lbnRvKSAlPiUgc3VtbWFyaXNlKERvbmFjaW9uX0VzcGVjaWUgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRFc3BlY2llLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fQWxpbWVudG9zID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kQWxpbWVudG9zLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fVmVzdHVhcmlvID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kVmVzdHVhcmlvLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fTWVkaWNpbmFzID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kTWVkaWNpbmFzLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fTWF0ZXJpYWxlcyA9IHN1bShob2dhcmVzX2RvbmFjaW9uJE1hdGVyaWFsZXMsIG5hLnJtID0gVFJVRSkvbigpLA0KRG9uYWNpb25fT3RybyA9IHN1bShob2dhcmVzX2RvbmFjaW9uJE90cm8sIG5hLnJtID0gVFJVRSkvbigpKQ0KYGBgDQoNCmBgYHtyfQ0KRG9uYWNpb25faG9nYXJERVBUTyA8LSBob2dhcmVzX2RvbmFjaW9uICU+JSBncm91cF9ieShEZXBhcnRhbWVudG8pICU+JSBzdW1tYXJpc2UoRG9uYWNpb25fRXNwZWNpZSA9IHN1bShob2dhcmVzX2RvbmFjaW9uJEVzcGVjaWUsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9BbGltZW50b3MgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRBbGltZW50b3MsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9WZXN0dWFyaW8gPSBzdW0oaG9nYXJlc19kb25hY2lvbiRWZXN0dWFyaW8sIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NZWRpY2luYXMgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRNZWRpY2luYXMsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NYXRlcmlhbGVzID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kTWF0ZXJpYWxlcywgbmEucm0gPSBUUlVFKS9uKCksDQpEb25hY2lvbl9PdHJvID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kT3RybywgbmEucm0gPSBUUlVFKS9uKCkpICU+JSBnYXRoZXIoRG9uYWNp824sIENhbnRpZGFkLCAtRGVwYXJ0YW1lbnRvKQ0KRG9uYWNpb25faG9nYXJERVBUTw0KYGBgDQoNCmBgYHtyfQ0KRG9uYWNpb25faG9nYXJQT0JSRVpBIDwtIGhvZ2FyZXNfZG9uYWNpb24gJT4lIGdyb3VwX2J5KFBvYnJlemEpICU+JSBzdW1tYXJpc2UoRG9uYWNpb25fRXNwZWNpZSA9IHN1bShob2dhcmVzX2RvbmFjaW9uJEVzcGVjaWUsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9BbGltZW50b3MgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRBbGltZW50b3MsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9WZXN0dWFyaW8gPSBzdW0oaG9nYXJlc19kb25hY2lvbiRWZXN0dWFyaW8sIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NZWRpY2luYXMgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRNZWRpY2luYXMsIG5hLnJtID0gVFJVRSkvbigpLCBEb25hY2lvbl9NYXRlcmlhbGVzID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kTWF0ZXJpYWxlcywgbmEucm0gPSBUUlVFKS9uKCksDQpEb25hY2lvbl9PdHJvID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kT3RybywgbmEucm0gPSBUUlVFKS9uKCkpICU+JSBnYXRoZXIoRG9uYWNp824sIENhbnRpZGFkLCAtUG9icmV6YSkNCkRvbmFjaW9uX2hvZ2FyUE9CUkVaQQ0KYGBgDQoNCmBgYHtyfQ0KRG9uYWNpb25faG9nYXJET05BRE9SRVMgPC0gaG9nYXJlc19kb25hY2lvbiAlPiUgZ3JvdXBfYnkoRG9uYWRvcmVzKSAlPiUgc3VtbWFyaXNlKERvbmFjaW9uX0VzcGVjaWUgPSBzdW0oaG9nYXJlc19kb25hY2lvbiRFc3BlY2llLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fQWxpbWVudG9zID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kQWxpbWVudG9zLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fVmVzdHVhcmlvID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kVmVzdHVhcmlvLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fTWVkaWNpbmFzID0gc3VtKGhvZ2FyZXNfZG9uYWNpb24kTWVkaWNpbmFzLCBuYS5ybSA9IFRSVUUpL24oKSwgRG9uYWNpb25fTWF0ZXJpYWxlcyA9IHN1bShob2dhcmVzX2RvbmFjaW9uJE1hdGVyaWFsZXMsIG5hLnJtID0gVFJVRSkvbigpLA0KRG9uYWNpb25fT3RybyA9IHN1bShob2dhcmVzX2RvbmFjaW9uJE90cm8sIG5hLnJtID0gVFJVRSkvbigpKSANCkRvbmFjaW9uX2hvZ2FyRE9OQURPUkVTDQpgYGANCg0KIyMjIEdSwUZJQ0FTDQoNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KRG9uYWNpb25faG9nYXJERVBUTyAlPiUgZ2dwbG90KGFlcyhEZXBhcnRhbWVudG8sIENhbnRpZGFkKSkgKw0KICAgIGdlb21fY29sKGFlcyhmaWxsID0gRG9uYWNp824sIGdyb3VwID0gRG9uYWNp824pLCBwb3NpdGlvbiA9ICJkb2RnZSIpICsNCiAgICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDkwKSkNCmBgYA0KDQpgYGB7cn0NCkRvbmFjaW9uX2hvZ2FyUE9CUkVaQSAlPiUgZ2dwbG90KGFlcyhQb2JyZXphLCBDYW50aWRhZCkpICsNCiAgZ2VvbV9jb2woYWVzKGZpbGwgPSBEb25hY2nzbiwgZ3JvdXAgPSBEb25hY2nzbiksIHBvc2l0aW9uID0gImRvZGdlIikgKw0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDkwKSkNCmBgYA0KDQojIyMgQ09OQ0xVU0lPTkVTDQoNCjEuIEVuIEd1YXRlbWFsYSwgbGFzIHBlcnNvbmFzIHF1ZSBzb24gbeFzIGJlbmVmaWNpYXJpYXMgY29uIHJlc3BlY3RvIGEgbGFzIGRvbmFjaW9uZXMsIGVzcGVjaWFsbWVudGUgbGFzIGF5dWRhcyBpbnRlcm5hY2lvbmFsZXMgc29uIGxhcyBxdWUgdml2ZW4gZW4gZXh0cmVtYSBwb2JyZXphLg0KMi4gQSBwZXNhciBkZSBwZW5zYXIgcXVlIGxhIGF5dWRhIG3hcyBjb236biBwdWRlbiBzZXIgbG9zIGFsaW1lbnRvcywgbm8gbGxlZ2EgbmkgYSBzZXIgbGEgc2VndW5kYSBkb25hY2nzbiBt4XMgaW1wb3J0YW50ZSwgYWwgY29udHJhcmlvLCBsYSBtYXlvciBkZSBlbGxhcyBlcyBsYSBheXVkYSBlbiBsYSBwcm9wb3JjafNuIGRlIG1hdGVyaWFsZXMgeSBtZWRpY2luYXMuIA0KMy4gU2FuIE1hcmNvcyBlcyBlbCBkZXBhcnRhbWVudG8gcXVlIG3hcyBheXVkYSByZWNpYmUgcG9yIHBhcnRlIGRlIGxhIGRvbmFjaW9uZXMsIG1pZW50cmFzIHF1ZSBsb3MgZGVwYXJ0YW1lbnRvcyBt4XMgcG9icmVzIGNvbW8gSHVlaHVldGVuYW5nbyB5IEFsdGEgVmVyYXBheiBzZSBiZW5lZmljaWFuIHBvciBz82xvIHVuIHBlcXVl8W8gcG9yY2VudGFqZS4g