Dissertação do Prof. Jesus - AMAN

#install.packages("knitr", dependencies = TRUE)
#library (devtools)
#install.packages('knitr', repos = c('http://rforge.net', 'http://cran.rstudio.org'),type = 'source')
#install_github('knitr')

likert_q1 <- likert(dados[,c(1:12)], nlevels = 5)
likert.bar.plot(likert_q1,plot.percents=F,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = "Questões", y = "Porcentagem") + theme_minimal() + theme(legend.position = "bottom")

kable(summary(likert_q1)[,1:4],digits =2, row.names = F,longtable = TRUE, align=c('c', 'c', 'c', 'c'), booktabs = T, format.args = list(decimal.mark = ","))

Item low neutral high
Questão_02 13,33 0,00 86,67
Questão_06 13,33 0,00 86,67
Questão_03 13,33 6,67 80,00
Questão_07 13,33 6,67 80,00
Questão_11 6,67 13,33 80,00
Questão_05 20,00 6,67 73,33
Questão_08 6,67 20,00 73,33
Questão_10 13,33 20,00 66,67
Questão_12 13,33 20,00 66,67
Questão_01 20,00 13,33 66,67
Questão_04 26,67 20,00 53,33
Questão_09 26,67 20,00 53,33


#likert.heat.plot(likert_q1)
likert_q1 <- likert(dados[,c(1:12)], nlevels = 5, grouping = dados$Cargo)
likert.bar.plot(likert_q1,plot.percents=TRUE,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = "Cargo no órgão de vinculação", y = "Porcentagem", size=12) + theme_minimal() + theme(legend.position = "bottom")

kable(summary(likert_q1)[,1:4],digits =2, row.names = F,longtable = TRUE, align=c('c', 'c', 'c', 'c'), booktabs = T, format.args = list(decimal.mark = ","))

Group Item low neutral
Chefe Questão_01 20,00 20,00
Chefe Questão_02 20,00 0,00
Chefe Questão_03 0,00 20,00
Chefe Questão_04 20,00 20,00
Chefe Questão_05 20,00 20,00
Chefe Questão_06 0,00 0,00
Chefe Questão_07 20,00 0,00
Chefe Questão_08 0,00 40,00
Chefe Questão_09 20,00 20,00
Chefe Questão_10 20,00 20,00
Chefe Questão_11 0,00 20,00
Chefe Questão_12 20,00 20,00
Direção Questão_01 0,00 0,00
Direção Questão_02 0,00 0,00
Direção Questão_03 0,00 0,00
Direção Questão_04 66,67 0,00
Direção Questão_05 0,00 0,00
Direção Questão_06 0,00 0,00
Direção Questão_07 0,00 0,00
Direção Questão_08 0,00 0,00
Direção Questão_09 0,00 0,00
Direção Questão_10 0,00 0,00
Direção Questão_11 0,00 0,00
Direção Questão_12 0,00 0,00
Lider/Vice Líder Questão_01 0,00 0,00
Lider/Vice Líder Questão_02 0,00 0,00
Lider/Vice Líder Questão_03 0,00 0,00
Lider/Vice Líder Questão_04 0,00 25,00
Lider/Vice Líder Questão_05 0,00 0,00
Lider/Vice Líder Questão_06 0,00 0,00
Lider/Vice Líder Questão_07 0,00 0,00
Lider/Vice Líder Questão_08 0,00 0,00
Lider/Vice Líder Questão_09 0,00 50,00
Lider/Vice Líder Questão_10 0,00 0,00
Lider/Vice Líder Questão_11 0,00 0,00
Lider/Vice Líder Questão_12 0,00 25,00
Técnico Questão_01 66,67 33,33
Técnico Questão_02 33,33 0,00
Técnico Questão_03 66,67 0,00
Técnico Questão_04 33,33 33,33
Técnico Questão_05 66,67 0,00
Técnico Questão_06 66,67 0,00
Técnico Questão_07 33,33 33,33
Técnico Questão_08 33,33 33,33
Técnico Questão_09 100,00 0,00
Técnico Questão_10 33,33 66,67
Técnico Questão_11 33,33 33,33
Técnico Questão_12 33,33 33,33

#likert.heat.plot(likert_q1)
likert_q1 <- likert(dados[,c(1:12)], nlevels = 5, grouping = dados$Qualificação)
likert.bar.plot(likert_q1,plot.percents=TRUE,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = " Nível de qualificação acadêmica", y = "Porcentagem") + theme_minimal() + theme(legend.position = "bottom")

kable(summary(likert_q1)[,1:4],digits =2, row.names = F,longtable = TRUE, align=c('c', 'c', 'c', 'c'), booktabs = T, format.args = list(decimal.mark = ","))

Group Item low neutral
Doutorado Questão_01 0,00 0,00
Doutorado Questão_02 0,00 0,00
Doutorado Questão_03 0,00 0,00
Doutorado Questão_04 100,00 0,00
Doutorado Questão_05 0,00 0,00
Doutorado Questão_06 0,00 0,00
Doutorado Questão_07 0,00 0,00
Doutorado Questão_08 0,00 0,00
Doutorado Questão_09 0,00 0,00
Doutorado Questão_10 0,00 0,00
Doutorado Questão_11 0,00 0,00
Doutorado Questão_12 0,00 0,00
Doutorando Questão_01 33,33 0,00
Doutorando Questão_02 0,00 0,00
Doutorando Questão_03 0,00 33,33
Doutorando Questão_04 33,33 66,67
Doutorando Questão_05 33,33 0,00
Doutorando Questão_06 0,00 0,00
Doutorando Questão_07 33,33 0,00
Doutorando Questão_08 0,00 33,33
Doutorando Questão_09 33,33 66,67
Doutorando Questão_10 33,33 33,33
Doutorando Questão_11 0,00 33,33
Doutorando Questão_12 33,33 33,33
Especialização Questão_01 50,00 0,00
Especialização Questão_02 0,00 0,00
Especialização Questão_03 50,00 0,00
Especialização Questão_04 100,00 0,00
Especialização Questão_05 50,00 0,00
Especialização Questão_06 50,00 0,00
Especialização Questão_07 0,00 50,00
Especialização Questão_08 0,00 50,00
Especialização Questão_09 50,00 0,00
Especialização Questão_10 50,00 0,00
Especialização Questão_11 50,00 0,00
Especialização Questão_12 50,00 0,00
Mestrado Questão_01 12,50 12,50
Mestrado Questão_02 12,50 0,00
Mestrado Questão_03 0,00 0,00
Mestrado Questão_04 0,00 0,00
Mestrado Questão_05 0,00 12,50
Mestrado Questão_06 0,00 0,00
Mestrado Questão_07 0,00 0,00
Mestrado Questão_08 0,00 12,50
Mestrado Questão_09 12,50 12,50
Mestrado Questão_10 0,00 12,50
Mestrado Questão_11 0,00 0,00
Mestrado Questão_12 0,00 12,50
Mestrando Questão_01 0,00 100,00
Mestrando Questão_02 100,00 0,00
Mestrando Questão_03 100,00 0,00
Mestrando Questão_04 0,00 100,00
Mestrando Questão_05 100,00 0,00
Mestrando Questão_06 100,00 0,00
Mestrando Questão_07 100,00 0,00
Mestrando Questão_08 100,00 0,00
Mestrando Questão_09 100,00 0,00
Mestrando Questão_10 0,00 100,00
Mestrando Questão_11 0,00 100,00
Mestrando Questão_12 0,00 100,00

#likert.heat.plot(likert_q1)
likert_q1 <- likert(dados[,c(1:12)], nlevels = 5, grouping = dados$Tempo)
likert.bar.plot(likert_q1,plot.percents=TRUE,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = "Tempo em que você está no órgão de vinculação", y = "Porcentagem") + theme_minimal() + theme(legend.position = "bottom")

kable(summary(likert_q1)[,1:4],digits =2, row.names = F,longtable = TRUE, align=c('c', 'c', 'c', 'c'), booktabs = T, format.args = list(decimal.mark = ","))

Group Item low neutral
00 –| 05 anos Questão_01 60 0,00
00 –| 05 anos Questão_02 0 0,00
00 –| 05 anos Questão_03 20 20,00
00 –| 05 anos Questão_04 60 20,00
00 –| 05 anos Questão_05 40 0,00
00 –| 05 anos Questão_06 20 0,00
00 –| 05 anos Questão_07 20 20,00
00 –| 05 anos Questão_08 0 40,00
00 –| 05 anos Questão_09 60 20,00
00 –| 05 anos Questão_10 40 40,00
00 –| 05 anos Questão_11 20 20,00
00 –| 05 anos Questão_12 40 20,00
05 –| 10 anos Questão_01 0 0,00
05 –| 10 anos Questão_02 50 0,00
05 –| 10 anos Questão_03 0 0,00
05 –| 10 anos Questão_04 0 0,00
05 –| 10 anos Questão_05 0 0,00
05 –| 10 anos Questão_06 0 0,00
05 –| 10 anos Questão_07 0 0,00
05 –| 10 anos Questão_08 0 0,00
05 –| 10 anos Questão_09 0 0,00
05 –| 10 anos Questão_10 0 0,00
05 –| 10 anos Questão_11 0 0,00
05 –| 10 anos Questão_12 0 0,00
10 –| 20 anos Questão_01 0 25,00
10 –| 20 anos Questão_02 25 0,00
10 –| 20 anos Questão_03 25 0,00
10 –| 20 anos Questão_04 25 25,00
10 –| 20 anos Questão_05 25 0,00
10 –| 20 anos Questão_06 25 0,00
10 –| 20 anos Questão_07 25 0,00
10 –| 20 anos Questão_08 25 0,00
10 –| 20 anos Questão_09 25 0,00
10 –| 20 anos Questão_10 0 25,00
10 –| 20 anos Questão_11 0 25,00
10 –| 20 anos Questão_12 0 25,00
20 –| 30 anos Questão_01 0 0,00
20 –| 30 anos Questão_02 0 0,00
20 –| 30 anos Questão_03 0 0,00
20 –| 30 anos Questão_04 0 100,00
20 –| 30 anos Questão_05 0 0,00
20 –| 30 anos Questão_06 0 0,00
20 –| 30 anos Questão_07 0 0,00
20 –| 30 anos Questão_08 0 0,00
20 –| 30 anos Questão_09 0 100,00
20 –| 30 anos Questão_10 0 0,00
20 –| 30 anos Questão_11 0 0,00
20 –| 30 anos Questão_12 0 0,00
30 anos ou mais Questão_01 0 33,33
30 anos ou mais Questão_02 0 0,00
30 anos ou mais Questão_03 0 0,00
30 anos ou mais Questão_04 0 0,00
30 anos ou mais Questão_05 0 33,33
30 anos ou mais Questão_06 0 0,00
30 anos ou mais Questão_07 0 0,00
30 anos ou mais Questão_08 0 33,33
30 anos ou mais Questão_09 0 33,33
30 anos ou mais Questão_10 0 0,00
30 anos ou mais Questão_11 0 0,00
30 anos ou mais Questão_12 0 33,33

#likert.heat.plot(likert_q1)
likert_q1 <- likert(dados[,c(1:12)], nlevels = 5, grouping = dados$Idade)
likert.bar.plot(likert_q1,plot.percents=TRUE,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = "Faixa de idade", y = "Porcentagem") + theme_minimal() + theme(legend.position = "bottom")

kable(summary(likert_q1)[,1:4],digits =2, row.names = F,longtable = TRUE, align=c('c', 'c', 'c', 'c'), booktabs = T, format.args = list(decimal.mark = ","))

Group Item low neutral
De 35 a 45 anos Questão_01 42,86 0,00
De 35 a 45 anos Questão_02 0,00 0,00
De 35 a 45 anos Questão_03 14,29 14,29
De 35 a 45 anos Questão_04 57,14 28,57
De 35 a 45 anos Questão_05 28,57 0,00
De 35 a 45 anos Questão_06 14,29 0,00
De 35 a 45 anos Questão_07 14,29 14,29
De 35 a 45 anos Questão_08 0,00 28,57
De 35 a 45 anos Questão_09 42,86 28,57
De 35 a 45 anos Questão_10 28,57 28,57
De 35 a 45 anos Questão_11 14,29 14,29
De 35 a 45 anos Questão_12 28,57 14,29
De 45 a 60 anos Questão_01 0,00 25,00
De 45 a 60 anos Questão_02 25,00 0,00
De 45 a 60 anos Questão_03 12,50 0,00
De 45 a 60 anos Questão_04 0,00 12,50
De 45 a 60 anos Questão_05 12,50 12,50
De 45 a 60 anos Questão_06 12,50 0,00
De 45 a 60 anos Questão_07 12,50 0,00
De 45 a 60 anos Questão_08 12,50 12,50
De 45 a 60 anos Questão_09 12,50 12,50
De 45 a 60 anos Questão_10 0,00 12,50
De 45 a 60 anos Questão_11 0,00 12,50
De 45 a 60 anos Questão_12 0,00 25,00

#likert.heat.plot(likert_q1)
likert_q1 <- likert(dados[,c(1:12)], nlevels = 5, grouping = dados$`Lei de Inovação`)
likert.bar.plot(likert_q1,plot.percents=TRUE,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = "O senhor(a) tem conhecimento sobre a Lei de Inovação?", y = "Porcentagem") + theme_minimal() + theme(legend.position = "bottom")

kable(summary(likert_q1)[,1:4],digits =2, row.names = F,longtable = TRUE, align=c('c', 'c', 'c', 'c'), booktabs = T, format.args = list(decimal.mark = ","))

Group Item low neutral
Não Questão_01 0,00 66,67
Não Questão_02 66,67 0,00
Não Questão_03 33,33 0,00
Não Questão_04 0,00 33,33
Não Questão_05 33,33 33,33
Não Questão_06 33,33 0,00
Não Questão_07 33,33 0,00
Não Questão_08 33,33 33,33
Não Questão_09 33,33 0,00
Não Questão_10 0,00 33,33
Não Questão_11 0,00 33,33
Não Questão_12 0,00 33,33
Sim Questão_01 25,00 0,00
Sim Questão_02 0,00 0,00
Sim Questão_03 8,33 8,33
Sim Questão_04 33,33 16,67
Sim Questão_05 16,67 0,00
Sim Questão_06 8,33 0,00
Sim Questão_07 8,33 8,33
Sim Questão_08 0,00 16,67
Sim Questão_09 25,00 25,00
Sim Questão_10 16,67 16,67
Sim Questão_11 8,33 8,33
Sim Questão_12 16,67 16,67

#likert.heat.plot(likert_q1)
likert_q1 <- likert(dados[,c(1:12)], nlevels = 5, grouping = dados$`Funções ICT e ou NIT`)
likert.bar.plot(likert_q1,plot.percents=TRUE,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = "O senhor(a) acredita que a AMAN possa ter funções relativas a um ICT e/ou NIT?", y = "Porcentagem") + theme_minimal() + theme(legend.position = "bottom")

kable(summary(likert_q1)[,1:4],digits =2, row.names = F,longtable = TRUE, align=c('c', 'c', 'c', 'c'), booktabs = T, format.args = list(decimal.mark = ","))

Group Item low neutral
Nâo Questão_01 0,00 100,00
Nâo Questão_02 0,00 0,00
Nâo Questão_03 0,00 0,00
Nâo Questão_04 0,00 0,00
Nâo Questão_05 0,00 100,00
Nâo Questão_06 0,00 0,00
Nâo Questão_07 0,00 0,00
Nâo Questão_08 0,00 100,00
Nâo Questão_09 0,00 0,00
Nâo Questão_10 0,00 0,00
Nâo Questão_11 0,00 0,00
Nâo Questão_12 0,00 0,00
Sim Questão_01 21,43 7,14
Sim Questão_02 14,29 0,00
Sim Questão_03 14,29 7,14
Sim Questão_04 28,57 21,43
Sim Questão_05 21,43 0,00
Sim Questão_06 14,29 0,00
Sim Questão_07 14,29 7,14
Sim Questão_08 7,14 14,29
Sim Questão_09 28,57 21,43
Sim Questão_10 14,29 21,43
Sim Questão_11 7,14 14,29
Sim Questão_12 14,29 21,43

#likert.heat.plot(likert_q1)
LS0tDQp0aXRsZTogJ0dyw6FmaWNvcyBwYXJhIGRhZG9zIGVtIGVzY2FsYSBMSUtFUlQgc2ltcGxlcyBlIHBvciBncnVwbyAnDQphdXRob3I6ICJMZW9uaSwgUi4gQy4gUHJvZmVzc29yIERyLiINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazogDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogIHBkZl9kb2N1bWVudDogZGVmYXVsdA0KICB3b3JkX2RvY3VtZW50OiBkZWZhdWx0DQotLS0NCg0KKioqDQojIyAgRGlzc2VydGHDp8OjbyBkbyBQcm9mLiBKZXN1cyAtIEFNQU4NCg0KYGBge3J9DQojaW5zdGFsbC5wYWNrYWdlcygia25pdHIiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQ0KI2xpYnJhcnkgKGRldnRvb2xzKQ0KI2luc3RhbGwucGFja2FnZXMoJ2tuaXRyJywgcmVwb3MgPSBjKCdodHRwOi8vcmZvcmdlLm5ldCcsICdodHRwOi8vY3Jhbi5yc3R1ZGlvLm9yZycpLHR5cGUgPSAnc291cmNlJykNCiNpbnN0YWxsX2dpdGh1Yigna25pdHInKQ0KYGBgDQoNCmBgYHtyIGVjaG89RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQojIMOJIG5lY2Vzc8OhcmlvIGluc3RhbGFyIG9zIHBhY290ZXMgYSBzZWd1aXIuIA0KIyBpbnN0YWxsLnBhY2thZ2VzKCJkZXZ0b29scyIpDQojIGluc3RhbGwucGFja2FnZXMoInBseWVyIikNCiMgbGlicmFyeSAoZGV2dG9vbHMpDQojIGluc3RhbGxfZ2l0aHViKCdsaWtlcnQnLCAnamJyeWVyJykNCnJtKGxpc3Q9bHMoYWxsPVRSVUUpKQ0KbGlicmFyeShrbml0cikNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkoeHRhYmxlKQ0KbGlicmFyeShsaWtlcnQpDQpsaWJyYXJ5KHJlYWR4bCkNCmxpYnJhcnkocGx5cikNCg0KYGBgDQoNCmBgYHtyICBlY2hvPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KDQpkYWRvcyA8LSByZWFkX2V4Y2VsKCJkYWRvcy54bHN4IikNCmRhZG9zIDwtIGFzLmRhdGEuZnJhbWUoZGFkb3MpDQoNClExIDwtICJBIEFNQU4gZW5xdWFudG8gSUNUIChyZWFsaXphIGVuc2lubywgcGVzcXVpc2EgZSBleHRlbnPDo28pIGRldmUgdGVyIHVtIE5JVCBvdSDDs3Jnw6NvIGVxdWl2YWxlbnRlIHBhcmEgZ2VyaXIgc3VhIHBvbMOtdGljYSBkZSBpbm92YcOnw6NvPyINClEyIDwtICJBIEFNQU4gZGV2ZSB6ZWxhciBwZWxhIG1hbnV0ZW7Dp8OjbyBkYSBwb2zDrXRpY2EgaW5zdGl0dWNpb25hbCBkZSBlc3TDrW11bG8gw6AgcHJvdGXDp8OjbyBkYXMgY3JpYcOnw7VlcywgbGljZW5jaWFtZW50bywgaW5vdmHDp8OjbyBlIG91dHJhcyBmb3JtYXMgZGUgdHJhbnNmZXLDqm5jaWEgZGUgdGVjbm9sb2dpYT8iDQpRMyA8LSAiQSBBTUFOIGRldmUgYXZhbGlhciBlIGNsYXNzaWZpY2FyIG9zIHJlc3VsdGFkb3MgZGVjb3JyZW50ZXMgZGUgYXRpdmlkYWRlcyBlIHByb2pldG9zIGRlIHBlc3F1aXNhIHBhcmEgbyBhdGVuZGltZW50byBkYXMgZGlzcG9zacOnw7VlcyBkZXN0YSBMZWk/Ig0KUTQgPC0gIkEgQU1BTiBkZXZlIGF2YWxpYXIgc29saWNpdGHDp8OjbyBkZSBpbnZlbnRvciBpbmRlcGVuZGVudGUgcXVlIGNvbXByb3ZlIGRlcMOzc2l0byBkZSBwZWRpZG8gZGUgcGF0ZW50ZSBwYXJhIGFkb8Onw6NvIGRlIHN1YSBjcmlhw6fDo28gcG9yIElDVCBww7pibGljYSAoQU1BTiksIHF1ZSBkZWNpZGlyw6EgcXVhbnRvIMOgIGNvbnZlbmnDqm5jaWEgZSDDoCBvcG9ydHVuaWRhZGUgZGEgc29saWNpdGHDp8OjbyBlIMOgIGVsYWJvcmHDp8OjbyBkZSBwcm9qZXRvIHZvbHRhZG8gw6AgYXZhbGlhw6fDo28gZGEgY3JpYcOnw6NvIHBhcmEgZnV0dXJvIGRlc2Vudm9sdmltZW50bywgaW5jdWJhw6fDo28sIHV0aWxpemHDp8OjbywgaW5kdXN0cmlhbGl6YcOnw6NvIGUgaW5zZXLDp8OjbyBubyBtZXJjYWRvPyINClE1IDwtICJBIEFNQU4gZGV2ZSBvcGluYXIgcGVsYSBjb252ZW5pw6puY2lhIGUgcHJvbW92ZXIgYSBwcm90ZcOnw6NvIGRhcyBjcmlhw6fDtWVzIGRlc2Vudm9sdmlkYXMgbmEgaW5zdGl0dWnDp8Ojbz8iDQpRNiA8LSAiQSBBTUFOIGRldmUgb3BpbmFyIHF1YW50byDDoCBjb252ZW5pw6puY2lhIGRlIGRpdnVsZ2HDp8OjbyBkYXMgY3JpYcOnw7VlcyBkZXNlbnZvbHZpZGFzIG5hIGluc3RpdHVpw6fDo28sIHBhc3PDrXZlaXMgZGUgcHJvdGXDp8OjbyBpbnRlbGVjdHVhbD8iDQpRNyA8LSAiQSBBTUFOIGRldmUgYWNvbXBhbmhhciBvIHByb2Nlc3NhbWVudG8gZG9zIHBlZGlkb3MgZSBhIG1hbnV0ZW7Dp8OjbyBkb3MgdMOtdHVsb3MgZGUgcHJvcHJpZWRhZGUgaW50ZWxlY3R1YWwgZGEgaW5zdGl0dWnDp8Ojbz8iDQpROCA8LSAiQSBBTUFOIGRldmUgZmFjaWxpdGFyIGEgaWRlbnRpZmljYcOnw6NvIGRlIHJpc2NvcyBlbSBwcm9qZXRvcyBlbGFib3JhbmRvIGNlbsOhcmlvcyBzb2JyZSBvcyBxdWFpcyBlc3RlcyBwb2RlbSBvY29ycmVyLiINClE5IDwtICJBIEFNQU4gZGV2ZSBkZXNlbnZvbHZlciBlc3R1ZG9zIGRlIHByb3NwZWPDp8OjbyB0ZWNub2zDs2dpY2EgZSBkZSBpbnRlbGlnw6puY2lhIGNvbXBldGl0aXZhIG5vIGNhbXBvIGRhIHByb3ByaWVkYWRlIGluZHVzdHJpYWwsIGRlIGZvcm1hIGEgb3JpZW50YXIgYXMgYcOnw7VlcyBkZSBpbm92YcOnw6NvIGRhIElDVD8iDQpRMTAgPC0gIkEgQU1BTiBkZXZlIGRlc2Vudm9sdmVyIGVzdHVkb3MgZSBlc3RyYXTDqWdpYXMgcGFyYSBhIHRyYW5zZmVyw6puY2lhIGRlIGlub3Zhw6fDo28gZ2VyYWRhIHBlbGEgSUNUPyINClExMSA8LSAiQSBBTUFOIGRldmUgcHJvbW92ZXIgZSBhY29tcGFuaGFyIG8gcmVsYWNpb25hbWVudG8gZGEgSUNUIGNvbSBlbXByZXNhcywgZW0gZXNwZWNpYWwgcGFyYSBhcyBhdGl2aWRhZGVzIHByZXZpc3RhcyBub3MgYXJ0cy4gNsK6IGEgOcK6ZGEgTGVpIDEwOTczLzA0PyINClExMiA8LSAiQSBBTUFOIGRldmUgbmVnb2NpYXIgZSBnZXJpciBvcyBhY29yZG9zIGRlIHRyYW5zZmVyw6puY2lhIGRlIHRlY25vbG9naWEgb3JpdW5kYSBkYSBJQ1Q/Ig0KDQoNCiMgDQpkYWRvcyRgUXVlc3TDo29fMDFgPC1mYWN0b3IoZGFkb3MkYFF1ZXN0w6NvXzAxYCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiwiNCIsIjUiKSwgbGFiZWxzID1jKCJEaXNjb3JkbyB0b3RhbG1lbnRlIiwiRGlzY29yZG8gcGFyY2lhbG1lbnRlIiwiSW5kaWZlcmVudGUgb3UgbsOjbyBzZSBhcGxpY2EgIiwiQ29uY29yZG8gcGFyY2lhbG1lbnRlIiwgIkNvbmNvcmRvIHRvdGFsbWVudGUiKSkNCmRhZG9zJGBRdWVzdMOjb18wMmA8LWZhY3RvcihkYWRvcyRgUXVlc3TDo29fMDJgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiwiNSIpLCBsYWJlbHMgPWMoIkRpc2NvcmRvIHRvdGFsbWVudGUiLCJEaXNjb3JkbyBwYXJjaWFsbWVudGUiLCJJbmRpZmVyZW50ZSBvdSBuw6NvIHNlIGFwbGljYSAiLCJDb25jb3JkbyBwYXJjaWFsbWVudGUiLCAiQ29uY29yZG8gdG90YWxtZW50ZSIpKQ0KZGFkb3MkYFF1ZXN0w6NvXzAzYDwtZmFjdG9yKGRhZG9zJGBRdWVzdMOjb18wM2AsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiLCI1IiksIGxhYmVscyA9YygiRGlzY29yZG8gdG90YWxtZW50ZSIsIkRpc2NvcmRvIHBhcmNpYWxtZW50ZSIsIkluZGlmZXJlbnRlIG91IG7Do28gc2UgYXBsaWNhICIsIkNvbmNvcmRvIHBhcmNpYWxtZW50ZSIsICJDb25jb3JkbyB0b3RhbG1lbnRlIikpDQpkYWRvcyRgUXVlc3TDo29fMDRgPC1mYWN0b3IoZGFkb3MkYFF1ZXN0w6NvXzA0YCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiwiNCIsIjUiKSwgbGFiZWxzID1jKCJEaXNjb3JkbyB0b3RhbG1lbnRlIiwiRGlzY29yZG8gcGFyY2lhbG1lbnRlIiwiSW5kaWZlcmVudGUgb3UgbsOjbyBzZSBhcGxpY2EgIiwiQ29uY29yZG8gcGFyY2lhbG1lbnRlIiwgIkNvbmNvcmRvIHRvdGFsbWVudGUiKSkNCmRhZG9zJGBRdWVzdMOjb18wNWA8LWZhY3RvcihkYWRvcyRgUXVlc3TDo29fMDVgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiwiNSIpLCBsYWJlbHMgPWMoIkRpc2NvcmRvIHRvdGFsbWVudGUiLCJEaXNjb3JkbyBwYXJjaWFsbWVudGUiLCJJbmRpZmVyZW50ZSBvdSBuw6NvIHNlIGFwbGljYSAiLCJDb25jb3JkbyBwYXJjaWFsbWVudGUiLCAiQ29uY29yZG8gdG90YWxtZW50ZSIpKQ0KZGFkb3MkYFF1ZXN0w6NvXzA2YDwtZmFjdG9yKGRhZG9zJGBRdWVzdMOjb18wNmAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiLCI1IiksIGxhYmVscyA9YygiRGlzY29yZG8gdG90YWxtZW50ZSIsIkRpc2NvcmRvIHBhcmNpYWxtZW50ZSIsIkluZGlmZXJlbnRlIG91IG7Do28gc2UgYXBsaWNhICIsIkNvbmNvcmRvIHBhcmNpYWxtZW50ZSIsICJDb25jb3JkbyB0b3RhbG1lbnRlIikpDQpkYWRvcyRgUXVlc3TDo29fMDdgPC1mYWN0b3IoZGFkb3MkYFF1ZXN0w6NvXzA3YCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiwiNCIsIjUiKSwgbGFiZWxzID1jKCJEaXNjb3JkbyB0b3RhbG1lbnRlIiwiRGlzY29yZG8gcGFyY2lhbG1lbnRlIiwiSW5kaWZlcmVudGUgb3UgbsOjbyBzZSBhcGxpY2EgIiwiQ29uY29yZG8gcGFyY2lhbG1lbnRlIiwgIkNvbmNvcmRvIHRvdGFsbWVudGUiKSkNCmRhZG9zJGBRdWVzdMOjb18wOGA8LWZhY3RvcihkYWRvcyRgUXVlc3TDo29fMDhgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiwiNSIpLCBsYWJlbHMgPWMoIkRpc2NvcmRvIHRvdGFsbWVudGUiLCJEaXNjb3JkbyBwYXJjaWFsbWVudGUiLCJJbmRpZmVyZW50ZSBvdSBuw6NvIHNlIGFwbGljYSAiLCJDb25jb3JkbyBwYXJjaWFsbWVudGUiLCAiQ29uY29yZG8gdG90YWxtZW50ZSIpKQ0KZGFkb3MkYFF1ZXN0w6NvXzA5YDwtZmFjdG9yKGRhZG9zJGBRdWVzdMOjb18wOWAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiLCI1IiksIGxhYmVscyA9YygiRGlzY29yZG8gdG90YWxtZW50ZSIsIkRpc2NvcmRvIHBhcmNpYWxtZW50ZSIsIkluZGlmZXJlbnRlIG91IG7Do28gc2UgYXBsaWNhICIsIkNvbmNvcmRvIHBhcmNpYWxtZW50ZSIsICJDb25jb3JkbyB0b3RhbG1lbnRlIikpDQpkYWRvcyRgUXVlc3TDo29fMTBgPC1mYWN0b3IoZGFkb3MkYFF1ZXN0w6NvXzEwYCwgbGV2ZWxzID0gYygiMSIsIjIiLCIzIiwiNCIsIjUiKSwgbGFiZWxzID1jKCJEaXNjb3JkbyB0b3RhbG1lbnRlIiwiRGlzY29yZG8gcGFyY2lhbG1lbnRlIiwiSW5kaWZlcmVudGUgb3UgbsOjbyBzZSBhcGxpY2EgIiwiQ29uY29yZG8gcGFyY2lhbG1lbnRlIiwgIkNvbmNvcmRvIHRvdGFsbWVudGUiKSkNCmRhZG9zJGBRdWVzdMOjb18xMWA8LWZhY3RvcihkYWRvcyRgUXVlc3TDo29fMTFgLCBsZXZlbHMgPSBjKCIxIiwiMiIsIjMiLCI0IiwiNSIpLCBsYWJlbHMgPWMoIkRpc2NvcmRvIHRvdGFsbWVudGUiLCJEaXNjb3JkbyBwYXJjaWFsbWVudGUiLCJJbmRpZmVyZW50ZSBvdSBuw6NvIHNlIGFwbGljYSAiLCJDb25jb3JkbyBwYXJjaWFsbWVudGUiLCAiQ29uY29yZG8gdG90YWxtZW50ZSIpKQ0KZGFkb3MkYFF1ZXN0w6NvXzEyYDwtZmFjdG9yKGRhZG9zJGBRdWVzdMOjb18xMmAsIGxldmVscyA9IGMoIjEiLCIyIiwiMyIsIjQiLCI1IiksIGxhYmVscyA9YygiRGlzY29yZG8gdG90YWxtZW50ZSIsIkRpc2NvcmRvIHBhcmNpYWxtZW50ZSIsIkluZGlmZXJlbnRlIG91IG7Do28gc2UgYXBsaWNhICIsIkNvbmNvcmRvIHBhcmNpYWxtZW50ZSIsICJDb25jb3JkbyB0b3RhbG1lbnRlIikpDQpgYGANCg0KIyAgDQoNCmBgYHtyIGZpZy5oZWlnaHQ9NSwgZmlnLndpZHRoPTExfQ0KbGlrZXJ0X3ExIDwtIGxpa2VydChkYWRvc1ssYygxOjEyKV0sIG5sZXZlbHMgPSA1KQ0KbGlrZXJ0LmJhci5wbG90KGxpa2VydF9xMSxwbG90LnBlcmNlbnRzPUYsbGVnZW5kID0gIkxlZ2VuZGEiLCBsb3cuY29sb3IgPSAicmVkIiwgdGV4dC5zaXplPTQpICsgZ2d0aXRsZSgiIikgKyBsYWJzKCB4ID0gIlF1ZXN0w7VlcyIsIHkgPSAiUG9yY2VudGFnZW0iKSArIHRoZW1lX21pbmltYWwoKSArIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iKQ0Ka2FibGUoc3VtbWFyeShsaWtlcnRfcTEpWywxOjRdLGRpZ2l0cyA9Miwgcm93Lm5hbWVzID0gRixsb25ndGFibGUgPSBUUlVFLCBhbGlnbj1jKCdjJywgJ2MnLCAnYycsICdjJyksIGJvb2t0YWJzID0gVCwgZm9ybWF0LmFyZ3MgPSBsaXN0KGRlY2ltYWwubWFyayA9ICIsIikpDQoNCiNsaWtlcnQuaGVhdC5wbG90KGxpa2VydF9xMSkNCmBgYA0KDQpgYGB7ciBmaWcuaGVpZ2h0PTE4LCBmaWcud2lkdGg9MTF9DQpsaWtlcnRfcTEgPC0gbGlrZXJ0KGRhZG9zWyxjKDE6MTIpXSwgbmxldmVscyA9IDUsIGdyb3VwaW5nID0gZGFkb3MkQ2FyZ28pDQpsaWtlcnQuYmFyLnBsb3QobGlrZXJ0X3ExLHBsb3QucGVyY2VudHM9VFJVRSxsZWdlbmQgPSAiTGVnZW5kYSIsIGxvdy5jb2xvciA9ICJyZWQiLCB0ZXh0LnNpemU9NCkgKyBnZ3RpdGxlKCIiKSArIGxhYnMoIHggPSAiQ2FyZ28gbm8gw7NyZ8OjbyBkZSB2aW5jdWxhw6fDo28iLCB5ID0gIlBvcmNlbnRhZ2VtIiwgc2l6ZT0xMikgKyB0aGVtZV9taW5pbWFsKCkgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCmthYmxlKHN1bW1hcnkobGlrZXJ0X3ExKVssMTo0XSxkaWdpdHMgPTIsIHJvdy5uYW1lcyA9IEYsbG9uZ3RhYmxlID0gVFJVRSwgYWxpZ249YygnYycsICdjJywgJ2MnLCAnYycpLCBib29rdGFicyA9IFQsIGZvcm1hdC5hcmdzID0gbGlzdChkZWNpbWFsLm1hcmsgPSAiLCIpKQ0KI2xpa2VydC5oZWF0LnBsb3QobGlrZXJ0X3ExKQ0KYGBgDQoNCg0KYGBge3IgZmlnLmhlaWdodD0xOCwgZmlnLndpZHRoPTExfQ0KbGlrZXJ0X3ExIDwtIGxpa2VydChkYWRvc1ssYygxOjEyKV0sIG5sZXZlbHMgPSA1LCBncm91cGluZyA9IGRhZG9zJFF1YWxpZmljYcOnw6NvKQ0KbGlrZXJ0LmJhci5wbG90KGxpa2VydF9xMSxwbG90LnBlcmNlbnRzPVRSVUUsbGVnZW5kID0gIkxlZ2VuZGEiLCBsb3cuY29sb3IgPSAicmVkIiwgdGV4dC5zaXplPTQpICsgZ2d0aXRsZSgiIikgKyBsYWJzKCB4ID0gIiBOw612ZWwgZGUgcXVhbGlmaWNhw6fDo28gYWNhZMOqbWljYSIsIHkgPSAiUG9yY2VudGFnZW0iKSArIHRoZW1lX21pbmltYWwoKSArIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbiA9ICJib3R0b20iKQ0Ka2FibGUoc3VtbWFyeShsaWtlcnRfcTEpWywxOjRdLGRpZ2l0cyA9Miwgcm93Lm5hbWVzID0gRixsb25ndGFibGUgPSBUUlVFLCBhbGlnbj1jKCdjJywgJ2MnLCAnYycsICdjJyksIGJvb2t0YWJzID0gVCwgZm9ybWF0LmFyZ3MgPSBsaXN0KGRlY2ltYWwubWFyayA9ICIsIikpDQojbGlrZXJ0LmhlYXQucGxvdChsaWtlcnRfcTEpDQpgYGANCg0KDQpgYGB7ciBmaWcuaGVpZ2h0PTE4LCBmaWcud2lkdGg9MTF9DQpsaWtlcnRfcTEgPC0gbGlrZXJ0KGRhZG9zWyxjKDE6MTIpXSwgbmxldmVscyA9IDUsIGdyb3VwaW5nID0gZGFkb3MkVGVtcG8pDQpsaWtlcnQuYmFyLnBsb3QobGlrZXJ0X3ExLHBsb3QucGVyY2VudHM9VFJVRSxsZWdlbmQgPSAiTGVnZW5kYSIsIGxvdy5jb2xvciA9ICJyZWQiLCB0ZXh0LnNpemU9NCkgKyBnZ3RpdGxlKCIiKSArIGxhYnMoIHggPSAiVGVtcG8gZW0gcXVlIHZvY8OqIGVzdMOhIG5vIMOzcmfDo28gZGUgdmluY3VsYcOnw6NvIiwgeSA9ICJQb3JjZW50YWdlbSIpICsgdGhlbWVfbWluaW1hbCgpICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gImJvdHRvbSIpDQprYWJsZShzdW1tYXJ5KGxpa2VydF9xMSlbLDE6NF0sZGlnaXRzID0yLCByb3cubmFtZXMgPSBGLGxvbmd0YWJsZSA9IFRSVUUsIGFsaWduPWMoJ2MnLCAnYycsICdjJywgJ2MnKSwgYm9va3RhYnMgPSBULCBmb3JtYXQuYXJncyA9IGxpc3QoZGVjaW1hbC5tYXJrID0gIiwiKSkNCiNsaWtlcnQuaGVhdC5wbG90KGxpa2VydF9xMSkNCmBgYA0KDQpgYGB7ciBmaWcuaGVpZ2h0PTEyLCBmaWcud2lkdGg9MTF9DQpsaWtlcnRfcTEgPC0gbGlrZXJ0KGRhZG9zWyxjKDE6MTIpXSwgbmxldmVscyA9IDUsIGdyb3VwaW5nID0gZGFkb3MkSWRhZGUpDQpsaWtlcnQuYmFyLnBsb3QobGlrZXJ0X3ExLHBsb3QucGVyY2VudHM9VFJVRSxsZWdlbmQgPSAiTGVnZW5kYSIsIGxvdy5jb2xvciA9ICJyZWQiLCB0ZXh0LnNpemU9NCkgKyBnZ3RpdGxlKCIiKSArIGxhYnMoIHggPSAiRmFpeGEgZGUgaWRhZGUiLCB5ID0gIlBvcmNlbnRhZ2VtIikgKyB0aGVtZV9taW5pbWFsKCkgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCmthYmxlKHN1bW1hcnkobGlrZXJ0X3ExKVssMTo0XSxkaWdpdHMgPTIsIHJvdy5uYW1lcyA9IEYsbG9uZ3RhYmxlID0gVFJVRSwgYWxpZ249YygnYycsICdjJywgJ2MnLCAnYycpLCBib29rdGFicyA9IFQsIGZvcm1hdC5hcmdzID0gbGlzdChkZWNpbWFsLm1hcmsgPSAiLCIpKQ0KI2xpa2VydC5oZWF0LnBsb3QobGlrZXJ0X3ExKQ0KYGBgDQoNCmBgYHtyIGZpZy5oZWlnaHQ9MTIsIGZpZy53aWR0aD0xMX0NCmxpa2VydF9xMSA8LSBsaWtlcnQoZGFkb3NbLGMoMToxMildLCBubGV2ZWxzID0gNSwgZ3JvdXBpbmcgPSBkYWRvcyRgTGVpIGRlIElub3Zhw6fDo29gKQ0KbGlrZXJ0LmJhci5wbG90KGxpa2VydF9xMSxwbG90LnBlcmNlbnRzPVRSVUUsbGVnZW5kID0gIkxlZ2VuZGEiLCBsb3cuY29sb3IgPSAicmVkIiwgdGV4dC5zaXplPTQpICsgZ2d0aXRsZSgiIikgKyBsYWJzKCB4ID0gIk8gc2VuaG9yKGEpIHRlbSBjb25oZWNpbWVudG8gc29icmUgYSBMZWkgZGUgSW5vdmHDp8Ojbz8iLCB5ID0gIlBvcmNlbnRhZ2VtIikgKyB0aGVtZV9taW5pbWFsKCkgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCmthYmxlKHN1bW1hcnkobGlrZXJ0X3ExKVssMTo0XSxkaWdpdHMgPTIsIHJvdy5uYW1lcyA9IEYsbG9uZ3RhYmxlID0gVFJVRSwgYWxpZ249YygnYycsICdjJywgJ2MnLCAnYycpLCBib29rdGFicyA9IFQsIGZvcm1hdC5hcmdzID0gbGlzdChkZWNpbWFsLm1hcmsgPSAiLCIpKQ0KI2xpa2VydC5oZWF0LnBsb3QobGlrZXJ0X3ExKQ0KYGBgDQoNCmBgYHtyIGZpZy5oZWlnaHQ9MTIsIGZpZy53aWR0aD0xMH0NCmxpa2VydF9xMSA8LSBsaWtlcnQoZGFkb3NbLGMoMToxMildLCBubGV2ZWxzID0gNSwgZ3JvdXBpbmcgPSBkYWRvcyRgRnVuw6fDtWVzIElDVCBlIG91IE5JVGApDQpsaWtlcnQuYmFyLnBsb3QobGlrZXJ0X3ExLHBsb3QucGVyY2VudHM9VFJVRSxsZWdlbmQgPSAiTGVnZW5kYSIsIGxvdy5jb2xvciA9ICJyZWQiLCB0ZXh0LnNpemU9NCkgKyBnZ3RpdGxlKCIiKSArIGxhYnMoIHggPSAiTyBzZW5ob3IoYSkgYWNyZWRpdGEgcXVlIGEgQU1BTiBwb3NzYSB0ZXIgZnVuw6fDtWVzIHJlbGF0aXZhcyBhIHVtIElDVCBlL291IE5JVD8iLCB5ID0gIlBvcmNlbnRhZ2VtIikgKyB0aGVtZV9taW5pbWFsKCkgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCmthYmxlKHN1bW1hcnkobGlrZXJ0X3ExKVssMTo0XSxkaWdpdHMgPTIsIHJvdy5uYW1lcyA9IEYsbG9uZ3RhYmxlID0gVFJVRSwgYWxpZ249YygnYycsICdjJywgJ2MnLCAnYycpLCBib29rdGFicyA9IFQsIGZvcm1hdC5hcmdzID0gbGlzdChkZWNpbWFsLm1hcmsgPSAiLCIpKQ0KI2xpa2VydC5oZWF0LnBsb3QobGlrZXJ0X3ExKQ0KYGBg