WEATHER CONDITIONS
#CUT 1
datebreaks = seq(as.Date("2021-02-04"), as.Date("2021-03-18"), by = "2 day")
p1=ggplot() +
geom_bar(data = clima1[-c(87:172),], aes(data,value*1.3,fill=group),stat="identity",position = "dodge", width = 1)+
geom_point(data = clima2[-c(87:172),], aes(data, value, shape=group), size=2)+
geom_line(data = clima2[-c(87:172),], aes(data, value, group = group), color = "black")+
scale_shape_manual(values = c(16, 15), name= NULL,labels = c("Relative humidity (%)","Temperature (ºC)"))+
scale_fill_manual(values=c("darkblue", "gray28"), name= NULL,labels=c("Radiation (MJ/m2 day)","Rainfall (mm)"))+
scale_y_continuous(name= "Relative humidity (%); Temperature (ºC)",breaks = seq(0, 125, 5), sec.axis=sec_axis(~./1.3,name="Radiation (MJ/m2 day); Rainfall (mm)",breaks=seq(0,98,4)))+coord_cartesian(ylim = c(0,120))+scale_x_date(name=NULL,breaks = datebreaks)
p1

cut1=p1+theme(panel.background = element_rect(fill = "transparent"),
legend.position = c(0.25, 0.88),
legend.direction="horizontal",
legend.background = element_rect(fill = "transparent", size=0.5, linetype="solid",colour ="black"),
legend.key.height = unit(0.4,"cm"),
legend.key.width = unit(0.4,"cm"),
legend.text = element_text(size=10),
axis.line = element_line(colour = "black", size = 0.7, linetype = "solid"),
axis.text.x = element_text(angle = 30, hjust = 1,size = 9),
axis.title.y = element_text(size = 12),
axis.text.y = element_text(size = 9)
)
cut1

#CUT 2
datebreaks1 = seq(as.Date("2022-10-27"), as.Date("2022-12-08"), by = "2 day")
p2=ggplot() +
geom_bar(data = clima1[-c(1:86),], aes(data,value*1.3,fill=group),stat="identity",position = "dodge", width = 1)+
geom_point(data = clima2[-c(1:86),], aes(data, value, shape=group), size=2)+
geom_line(data = clima2[-c(1:86),], aes(data, value, group = group), color = "black")+
scale_shape_manual(values = c(16, 15), name= NULL,labels = c("Relative humidity (%)","Temperature (ºC)"))+
scale_fill_manual(values=c("darkblue", "gray28"), name= NULL,labels=c("Radiation (MJ/m2 day)","Rainfall (mm)"))+
scale_y_continuous(name= "Relative humidity (%); Temperature (ºC)",breaks = seq(0, 125, 5), sec.axis=sec_axis(~./1.3,name="Radiation (MJ/m2 day); Rainfall (mm)",breaks=seq(0,98,4)))+coord_cartesian(ylim = c(0,120))+scale_x_date(name=NULL,breaks = datebreaks1)
p2

cut2=p2+theme(panel.background = element_rect(fill = "transparent"),
legend.position = c(0.25, 0.88),
legend.direction="horizontal",
legend.background = element_rect(fill = "transparent", size=0.5, linetype="solid",colour ="black"),
legend.key.height = unit(0.4,"cm"),
legend.key.width = unit(0.4,"cm"),
legend.text = element_text(size=10),
axis.line = element_line(colour = "black", size = 0.7, linetype = "solid"),
axis.text.x = element_text(angle = 30, hjust = 1,size = 9),
axis.title.y = element_text(size = 12),
axis.text.y = element_text(size = 9))
cut2

BIOMASS PRODUCTION
1- Canopy height (cm)
#outliers
boxplot(biomass$Altura)

#model
mod1 = lmer(Altura~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
summary(mod1)
Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: Altura ~ Residuo * Descanso + (1 | Linhas) + (1 | Cortes)
Data: biomass
REML criterion at convergence: 481.4
Scaled residuals:
Min 1Q Median 3Q Max
-2.09801 -0.60398 0.01479 0.70538 1.84287
Random effects:
Groups Name Variance Std.Dev.
Linhas (Intercept) 14.91 3.862
Cortes (Intercept) 497.82 22.312
Residual 209.08 14.460
Number of obs: 64, groups: Linhas, 4; Cortes, 2
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 45.834 16.696 1.222 2.745 0.1844
Residuo40 10.999 7.230 52.000 1.521 0.1342
Descanso28 17.979 7.230 52.000 2.487 0.0161 *
Descanso35 37.625 7.230 52.000 5.204 3.36e-06 ***
Descanso42 55.583 7.230 52.000 7.688 3.97e-10 ***
Residuo40:Descanso28 -1.333 10.224 52.000 -0.130 0.8968
Residuo40:Descanso35 2.437 10.224 52.000 0.238 0.8125
Residuo40:Descanso42 -1.728 10.224 52.000 -0.169 0.8665
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) Resd40 Dscn28 Dscn35 Dscn42 R40:D2 R40:D3
Residuo40 -0.217
Descanso28 -0.217 0.500
Descanso35 -0.217 0.500 0.500
Descanso42 -0.217 0.500 0.500 0.500
Rsd40:Dsc28 0.153 -0.707 -0.707 -0.354 -0.354
Rsd40:Dsc35 0.153 -0.707 -0.354 -0.707 -0.354 0.500
Rsd40:Dsc42 0.153 -0.707 -0.354 -0.354 -0.707 0.500 0.500
hist(resid(mod1))

shapiro.test(resid(mod1))
Shapiro-Wilk normality test
data: resid(mod1)
W = 0.98519, p-value = 0.6393
bartlett.test(resid(mod1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 12.202, df = 7, p-value = 0.09412
#Anova e regressão
anova(mod1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 1881.2 1881.2 1 52 8.9975 0.004143 **
Descanso 27670.2 9223.4 3 52 44.1145 2.553e-14 ***
Residuo:Descanso 42.4 14.1 3 52 0.0676 0.976874
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias1=emmeans(mod1,~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias1.1=emmeans(mod1,~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias1)
Residuo emmean SE df lower.CL upper.CL
30 73.6 16.1 1.06 -107.0 254
40 84.5 16.1 1.06 -96.2 265
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias1.1)
Descanso emmean SE df lower.CL upper.CL
21 51.3 16.3 1.11 -113.1 216
28 68.6 16.3 1.11 -95.8 233
35 90.2 16.3 1.11 -74.2 255
42 106.1 16.3 1.11 -58.4 270
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg1=lm(Altura~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg1)
Call:
lm(formula = Altura ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-52.046 -13.502 -1.942 13.117 50.974
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 79.052 2.788 28.349 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 166.084 22.308 7.445 3.97e-10 ***
poly(as.numeric(Descanso), degree = 2)2 -2.875 22.308 -0.129 0.898
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 22.31 on 61 degrees of freedom
Multiple R-squared: 0.4762, Adjusted R-squared: 0.459
F-statistic: 27.72 on 2 and 61 DF, p-value: 2.727e-09
2- Branches (n)
#outliers
boxplot(biomass$Perfilhos)

#model
mod2 = lmer(Perfilhos~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
mod2.1 = lmer(Perfilhos^0.8~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
summary(mod2.1)
Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: Perfilhos^0.8 ~ Residuo * Descanso + (1 | Linhas) + (1 | Cortes)
Data: biomass
REML criterion at convergence: 367.3
Scaled residuals:
Min 1Q Median 3Q Max
-1.49651 -0.75457 -0.01644 0.64074 2.06486
Random effects:
Groups Name Variance Std.Dev.
Linhas (Intercept) 1.446 1.202
Cortes (Intercept) 49.339 7.024
Residual 27.635 5.257
Number of obs: 64, groups: Linhas, 4; Cortes, 2
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 22.584 5.337 1.287 4.232 0.1045
Residuo40 5.106 2.628 52.000 1.943 0.0575 .
Descanso28 5.912 2.628 52.000 2.249 0.0288 *
Descanso35 6.982 2.628 52.000 2.656 0.0105 *
Descanso42 4.163 2.628 52.000 1.584 0.1193
Residuo40:Descanso28 -4.413 3.717 52.000 -1.187 0.2405
Residuo40:Descanso35 -3.043 3.717 52.000 -0.819 0.4168
Residuo40:Descanso42 -5.759 3.717 52.000 -1.549 0.1274
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) Resd40 Dscn28 Dscn35 Dscn42 R40:D2 R40:D3
Residuo40 -0.246
Descanso28 -0.246 0.500
Descanso35 -0.246 0.500 0.500
Descanso42 -0.246 0.500 0.500 0.500
Rsd40:Dsc28 0.174 -0.707 -0.707 -0.354 -0.354
Rsd40:Dsc35 0.174 -0.707 -0.354 -0.707 -0.354 0.500
Rsd40:Dsc42 0.174 -0.707 -0.354 -0.354 -0.707 0.500 0.500
hist(resid(mod2.1))

shapiro.test(resid(mod2.1))
Shapiro-Wilk normality test
data: resid(mod2.1)
W = 0.96642, p-value = 0.07872
bartlett.test(resid(mod2.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod2.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 3.0714, df = 7, p-value = 0.8783
#Anova e regressão
anova(mod2.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 51.985 51.985 1 52 1.8812 0.17609
Descanso 286.391 95.464 3 52 3.4545 0.02292 *
Residuo:Descanso 72.965 24.322 3 52 0.8801 0.45749
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias2=emmeans(mod2,~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias2.1=emmeans(mod2,~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias2)
Residuo emmean SE df lower.CL upper.CL
30 61.9 14.6 1.07 -98.3 222
40 66.9 14.6 1.07 -93.3 227
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias2.1)
Descanso emmean SE df lower.CL upper.CL
21 57.3 14.8 1.14 -84.5 199
28 67.5 14.8 1.14 -74.3 209
35 72.7 14.8 1.14 -69.1 215
42 60.2 14.8 1.14 -81.6 202
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg2=lm(Perfilhos~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg2)
Call:
lm(formula = Perfilhos ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-38.348 -13.135 -2.332 14.013 56.322
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 64.430 2.651 24.300 <2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 12.382 21.212 0.584 0.5615
poly(as.numeric(Descanso), degree = 2)2 -45.398 21.212 -2.140 0.0363 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 21.21 on 61 degrees of freedom
Multiple R-squared: 0.07465, Adjusted R-squared: 0.04432
F-statistic: 2.461 on 2 and 61 DF, p-value: 0.09382
3- Fresh biomass (g/plant)
#outliers
boxplot(biomass$BiomassaMV)

#model
mod3 = lmer(BiomassaMV~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
mod3.1 = lmer(BiomassaMV^0.3~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod3.1))

shapiro.test(resid(mod3.1))
Shapiro-Wilk normality test
data: resid(mod3.1)
W = 0.9829, p-value = 0.5183
bartlett.test(resid(mod3.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod3.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 13.523, df = 7, p-value = 0.06035
#Anova e regressão
anova(mod3.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 0.852 0.852 1 55 0.7063 0.4043
Descanso 147.530 49.177 3 55 40.7705 5.253e-14 ***
Residuo:Descanso 0.836 0.279 3 55 0.2310 0.8744
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias3=emmeans(mod3, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias3.1=emmeans(mod3, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias3)
Residuo emmean SE df lower.CL upper.CL
30 1089 538 1.04 -5110 7288
40 1237 538 1.04 -4962 7436
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias3.1)
Descanso emmean SE df lower.CL upper.CL
21 302 549 1.13 -5006 5610
28 779 549 1.13 -4528 6087
35 1479 549 1.13 -3829 6787
42 2092 549 1.13 -3216 7399
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg3 <- lm(BiomassaMV~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg3)
Call:
lm(formula = BiomassaMV ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-1726.96 -412.61 -73.09 283.01 2698.04
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1162.9 101.7 11.436 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 5427.5 813.5 6.671 8.48e-09 ***
poly(as.numeric(Descanso), degree = 2)2 270.4 813.5 0.332 0.741
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 813.5 on 61 degrees of freedom
Multiple R-squared: 0.4225, Adjusted R-squared: 0.4035
F-statistic: 22.31 on 2 and 61 DF, p-value: 5.351e-08
4- Dry biomass (g/plant)
#outliers
boxplot(biomass$BiomassaMS)

outliers=boxplot(biomass$BiomassaMS)$out

biomass[which(biomass$BiomassaMS %in% outliers),]
#model
mod4 = lmer(BiomassaMS~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
mod4.1 = lmer(BiomassaMS^0.5~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod4.1))

shapiro.test(resid(mod4.1))
Shapiro-Wilk normality test
data: resid(mod4.1)
W = 0.99101, p-value = 0.9245
bartlett.test(resid(mod4.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod4.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 13.664, df = 7, p-value = 0.05749
#Anova e regressão
anova(mod4.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 3.99 3.991 1 55 0.6531 0.4225
Descanso 709.37 236.458 3 55 38.6967 1.392e-13 ***
Residuo:Descanso 3.35 1.116 3 55 0.1826 0.9077
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias4=emmeans(mod4, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias4.1=emmeans(mod4, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias4)
Residuo emmean SE df lower.CL upper.CL
30 122 50.4 1.06 -439 682
40 136 50.4 1.06 -425 696
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias4.1)
Descanso emmean SE df lower.CL upper.CL
21 33.4 51.9 1.19 -424 491
28 88.3 51.9 1.19 -369 546
35 156.9 51.9 1.19 -301 615
42 236.3 51.9 1.19 -221 694
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg4 <- lm(BiomassaMS~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg4)
Call:
lm(formula = BiomassaMS ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-184.936 -33.936 -3.048 29.267 257.894
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 128.72 10.43 12.346 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 605.68 83.41 7.262 8.22e-10 ***
poly(as.numeric(Descanso), degree = 2)2 49.02 83.41 0.588 0.559
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 83.41 on 61 degrees of freedom
Multiple R-squared: 0.4653, Adjusted R-squared: 0.4478
F-statistic: 26.54 on 2 and 61 DF, p-value: 5.102e-09
5- Leaves (g kg-1 DM)
#outliers
boxplot(biomass$folhaMS)

outliers=boxplot(biomass$folhaMS)$out

biomass[which(biomass$folhaMS %in% outliers),]
#model
mod5 = lmer(folhaMS~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
mod5.1 = lmer(folhaMS^0.8~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod5.1))

shapiro.test(resid(mod5.1))
Shapiro-Wilk normality test
data: resid(mod5.1)
W = 0.96306, p-value = 0.05258
bartlett.test(resid(mod5.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod5.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 6.8632, df = 7, p-value = 0.4433
#Anova e regressão
anova(mod5.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 17.8 17.8 1 55 0.0823 0.7752
Descanso 21908.2 7302.7 3 55 33.6988 1.696e-12 ***
Residuo:Descanso 87.8 29.3 3 55 0.1350 0.9387
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias5=emmeans(mod5, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias5.1=emmeans(mod5, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias5)
Residuo emmean SE df lower.CL upper.CL
30 742 61.7 1.04 22.7 1461
40 737 61.7 1.04 17.9 1456
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias5.1)
Descanso emmean SE df lower.CL upper.CL
21 854 62.9 1.12 228.51 1480
28 780 62.9 1.12 153.88 1406
35 696 62.9 1.12 70.05 1322
42 628 62.9 1.12 1.64 1253
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg5 <- lm(folhaMS~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg5)
Call:
lm(formula = folhaMS ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-188.617 -75.117 4.656 46.965 216.783
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 739.43 11.22 65.880 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 -683.71 89.79 -7.614 2.03e-10 ***
poly(as.numeric(Descanso), degree = 2)2 12.45 89.79 0.139 0.89
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 89.79 on 61 degrees of freedom
Multiple R-squared: 0.4874, Adjusted R-squared: 0.4706
F-statistic: 29 on 2 and 61 DF, p-value: 1.408e-09
6- Stems (g kg-1 DM)
#outliers
boxplot(biomass$cauleMS)

#model
mod6 = lmer(cauleMS~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
mod6.1 = lmer(cauleMS^1.1~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod6.1))

shapiro.test(resid(mod6.1))
Shapiro-Wilk normality test
data: resid(mod6.1)
W = 0.96385, p-value = 0.05778
bartlett.test(resid(mod6.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod6.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 5.2866, df = 7, p-value = 0.625
#Anova e regressão
anova(mod6.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 1576 1576 1 55 0.0911 0.7639
Descanso 1456464 485488 3 55 28.0642 3.839e-11 ***
Residuo:Descanso 5675 1892 3 55 0.1094 0.9543
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias6=emmeans(mod6, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias6.1=emmeans(mod6, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias6)
Residuo emmean SE df lower.CL upper.CL
30 247 66 1.03 -530 1024
40 252 66 1.03 -525 1029
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias6.1)
Descanso emmean SE df lower.CL upper.CL
21 146 67.1 1.1 -541 832
28 212 67.1 1.1 -474 898
35 287 67.1 1.1 -399 973
42 353 67.1 1.1 -333 1040
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg6 <- lm(cauleMS~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg6)
Call:
lm(formula = cauleMS ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-218.15 -51.04 -0.67 67.75 182.91
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 249.391 11.643 21.420 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 624.902 93.145 6.709 7.31e-09 ***
poly(as.numeric(Descanso), degree = 2)2 1.139 93.145 0.012 0.99
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 93.14 on 61 degrees of freedom
Multiple R-squared: 0.4246, Adjusted R-squared: 0.4057
F-statistic: 22.5 on 2 and 61 DF, p-value: 4.781e-08
7- Dead material (g kg-1 DM)
#outliers
boxplot(biomass$senescenteMS)

#model
mod7 = lmer(senescenteMS~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
mod7.1 = lmer(senescenteMS^0.45~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod7.1))

shapiro.test(resid(mod7.1))
Shapiro-Wilk normality test
data: resid(mod7.1)
W = 0.93248, p-value = 0.00172
bartlett.test(resid(mod7.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod7.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 10.655, df = 7, p-value = 0.1544
#Anova e regressão
anova(mod7.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 0.000 0.000 1 55 0.0002 0.9890
Descanso 105.768 35.256 3 55 15.2654 2.403e-07 ***
Residuo:Descanso 1.008 0.336 3 55 0.1455 0.9322
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias7=emmeans(mod7, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias7.1=emmeans(mod7, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias7)
Residuo emmean SE df lower.CL upper.CL
30 11.3 4.64 1.33 -22.2 44.8
40 11.0 4.64 1.33 -22.5 44.6
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias7.1)
Descanso emmean SE df lower.CL upper.CL
21 0.00 5.23 2.15 -21.09 21.1
28 8.43 5.23 2.15 -12.66 29.5
35 17.32 5.23 2.15 -3.77 38.4
42 18.95 5.23 2.15 -2.14 40.0
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg7 <- lm(senescenteMS~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg7)
Call:
lm(formula = senescenteMS ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-16.161 -9.586 0.386 2.008 49.619
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 11.175 1.726 6.476 1.83e-08 ***
poly(as.numeric(Descanso), degree = 2)1 58.810 13.805 4.260 7.19e-05 ***
poly(as.numeric(Descanso), degree = 2)2 -13.585 13.805 -0.984 0.329
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 13.81 on 61 degrees of freedom
Multiple R-squared: 0.2386, Adjusted R-squared: 0.2136
F-statistic: 9.558 on 2 and 61 DF, p-value: 0.000245
8- Leaf (g plant-1 DM)
biomass$leaf.accumulation=biomass$BiomassaMS*biomass$folhaMS/1000
#outliers
boxplot(biomass$leaf.accumulation)

#model
mod8 = lmer(leaf.accumulation~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
mod8.1 = lmer(leaf.accumulation^0.9~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod8.1))

shapiro.test(resid(mod8.1))
Shapiro-Wilk normality test
data: resid(mod8.1)
W = 0.9922, p-value = 0.9594
bartlett.test(resid(mod8.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod8.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 13.225, df = 7, p-value = 0.06681
#Anova e regressão
anova(mod8.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 237 237.2 1 55 0.7155 0.4013
Descanso 31761 10586.9 3 55 31.9429 4.32e-12 ***
Residuo:Descanso 162 53.9 3 55 0.1625 0.9211
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias8=emmeans(mod8, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias8.1=emmeans(mod8, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias8)
Residuo emmean SE df lower.CL upper.CL
30 79.2 22.1 1.07 -162 320
40 86.1 22.1 1.07 -155 327
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias8.1)
Descanso emmean SE df lower.CL upper.CL
21 28.5 22.8 1.22 -163.4 220
28 67.8 22.8 1.22 -124.1 260
35 103.9 22.8 1.22 -87.9 296
42 130.4 22.8 1.22 -61.4 322
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg8 <- lm(leaf.accumulation~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg8)
Call:
lm(formula = leaf.accumulation ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-87.36 -20.35 -1.38 17.24 116.07
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 82.65 4.78 17.293 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 306.05 38.24 8.004 4.33e-11 ***
poly(as.numeric(Descanso), degree = 2)2 -25.62 38.24 -0.670 0.505
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 38.24 on 61 degrees of freedom
Multiple R-squared: 0.514, Adjusted R-squared: 0.4981
F-statistic: 32.26 on 2 and 61 DF, p-value: 2.77e-10
9- Stem (g plant-1 DM)
biomass$stem.accumulation=biomass$BiomassaMS*biomass$cauleMS/1000
#outliers
boxplot(biomass$stem.accumulation)

#model
mod9 = lmer(stem.accumulation~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
mod9.1 = lmer(stem.accumulation^0.5~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod9.1))

shapiro.test(resid(mod9.1))
Shapiro-Wilk normality test
data: resid(mod9.1)
W = 0.97823, p-value = 0.3168
bartlett.test(resid(mod9.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod9.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 13.56, df = 7, p-value = 0.05959
#Anova e regressão
anova(mod9.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 2.07 2.073 1 55 0.4797 0.4915
Descanso 421.93 140.645 3 55 32.5498 3.116e-12 ***
Residuo:Descanso 2.45 0.817 3 55 0.1891 0.9034
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias9=emmeans(mod9, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias9.1=emmeans(mod9, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias9)
Residuo emmean SE df lower.CL upper.CL
30 40.5 27.8 1.06 -269 350
40 47.9 27.8 1.06 -262 358
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias9.1)
Descanso emmean SE df lower.CL upper.CL
21 4.97 28.6 1.19 -248 258
28 19.98 28.6 1.19 -233 273
35 51.37 28.6 1.19 -202 304
42 100.50 28.6 1.19 -152 353
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg9 <- lm(stem.accumulation~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg9)
Call:
lm(formula = stem.accumulation ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-93.419 -11.791 -1.894 10.189 144.445
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 44.206 5.751 7.687 1.52e-10 ***
poly(as.numeric(Descanso), degree = 2)1 284.401 46.007 6.182 5.77e-08 ***
poly(as.numeric(Descanso), degree = 2)2 68.237 46.007 1.483 0.143
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 46.01 on 61 degrees of freedom
Multiple R-squared: 0.3985, Adjusted R-squared: 0.3788
F-statistic: 20.21 on 2 and 61 DF, p-value: 1.848e-07
10- Dead material (g plant-1 DM)
biomass$dead.accumulation=biomass$BiomassaMS*biomass$senescenteMS/1000
#outliers
boxplot(biomass$dead.accumulation)

#model
mod10 = lmer(dead.accumulation~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
mod10.1 = lmer(dead.accumulation^0.5~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod10.1))

shapiro.test(resid(mod10.1))
Shapiro-Wilk normality test
data: resid(mod10.1)
W = 0.93601, p-value = 0.002484
bartlett.test(resid(mod10.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod10.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = Inf, df = 7, p-value < 2.2e-16
#Anova e regressão
anova(mod10.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 0.016 0.0159 1 56 0.0227 0.8808
Descanso 34.620 11.5399 3 56 16.5140 8.301e-08 ***
Residuo:Descanso 0.242 0.0806 3 56 0.1153 0.9508
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias10=emmeans(mod10, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias10.1=emmeans(mod10, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias10)
Residuo emmean SE df lower.CL upper.CL
30 1.99 0.668 2.25 -0.603 4.58
40 1.74 0.668 2.25 -0.850 4.33
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias10.1)
Descanso emmean SE df lower.CL upper.CL
21 0.00 0.881 6.62 -2.107 2.11
28 0.54 0.881 6.62 -1.567 2.65
35 1.59 0.881 6.62 -0.517 3.70
42 5.33 0.881 6.62 3.222 7.44
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg10 <- lm(dead.accumulation~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg10)
Call:
lm(formula = dead.accumulation ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-4.5911 -1.9166 -0.1088 0.4001 16.9889
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.865 0.394 4.733 1.36e-05 ***
poly(as.numeric(Descanso), degree = 2)1 15.237 3.152 4.835 9.40e-06 ***
poly(as.numeric(Descanso), degree = 2)2 6.398 3.152 2.030 0.0467 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.152 on 61 degrees of freedom
Multiple R-squared: 0.3107, Adjusted R-squared: 0.2881
F-statistic: 13.75 on 2 and 61 DF, p-value: 1.179e-05
Correlation
library(corrplot)
biomass$Residuo=as.numeric(biomass$Residuo)
biomass$Descanso=as.numeric(biomass$Descanso)
mcor = cor(biomass[c(3,4,6,7,9,13,14,27:31)])
mcor
Residuo Descanso Altura Perfilhos BiomassaMS folhaMS cauleMS
Residuo 1.00000000 0.00000000 0.1801751 0.116478179 0.06296935 -0.01964001 0.02125979
Descanso 0.00000000 1.00000000 0.6899347 0.071897267 0.67989476 -0.69801780 0.65159892
Altura 0.18017510 0.68993469 1.0000000 -0.212662483 0.91648327 -0.92083374 0.92504714
Perfilhos 0.11647818 0.07189727 -0.2126625 1.000000000 -0.04338641 0.14848715 -0.20225611
BiomassaMS 0.06296935 0.67989476 0.9164833 -0.043386406 1.00000000 -0.91900330 0.90670859
folhaMS -0.01964001 -0.69801780 -0.9208337 0.148487147 -0.91900330 1.00000000 -0.99209607
cauleMS 0.02125979 0.65159892 0.9250471 -0.202256110 0.90670859 -0.99209607 1.00000000
Temperature 0.00000000 0.02389876 0.4564209 -0.694730034 0.37555736 -0.43080864 0.47269739
RH 0.00000000 0.23880282 0.6684592 -0.649031182 0.56859062 -0.63070644 0.67168607
Rainfall 0.00000000 0.85249269 0.8656469 -0.085573851 0.81703937 -0.86451651 0.84945893
leaf.accumulation 0.06404888 0.71443769 0.9198861 0.001667017 0.97358257 -0.87860426 0.86899981
stem.accumulation 0.06399228 0.61384365 0.8802720 -0.090311488 0.98066642 -0.91620131 0.90638632
Temperature RH Rainfall leaf.accumulation stem.accumulation
Residuo 0.00000000 0.0000000 0.00000000 0.064048881 0.06399228
Descanso 0.02389876 0.2388028 0.85249269 0.714437688 0.61384365
Altura 0.45642090 0.6684592 0.86564690 0.919886149 0.88027196
Perfilhos -0.69473003 -0.6490312 -0.08557385 0.001667017 -0.09031149
BiomassaMS 0.37555736 0.5685906 0.81703937 0.973582574 0.98066642
folhaMS -0.43080864 -0.6307064 -0.86451651 -0.878604257 -0.91620131
cauleMS 0.47269739 0.6716861 0.84945893 0.868999805 0.90638632
Temperature 1.00000000 0.9430531 0.24522579 0.342491345 0.39772800
RH 0.94305309 1.0000000 0.50931770 0.547869688 0.57371616
Rainfall 0.24522579 0.5093177 1.00000000 0.825694595 0.77742828
leaf.accumulation 0.34249135 0.5478697 0.82569460 1.000000000 0.91121155
stem.accumulation 0.39772800 0.5737162 0.77742828 0.911211552 1.00000000
colnames(mcor) <- c("Intensity","Frequency", "Canopy height", "Branches (n)", "Biomass production", "Leaf proportion", "Stem proportion", "Temperature", "Relative Humidity", "Rainfall", "Global radiation", "Leaf production")
rownames(mcor) <- c("Intensity","Frequency", "Canopy height", "Branches (n)", "Biomass production", "Leaf proportion", "Stem proportion", "Temperature", "Relative Humidity", "Rainfall", "Global radiation","Leaf production")
testRes = cor.mtest(mcor, conf.level = 0.95)
par(family="sans")
corrplot(mcor,
p.mat = testRes$p,
method = "color",
tl.col = "black",
tl.cex = 0.8,
type = "upper",
order = "AOE",
#hclust.method = "centroid",
insig = "blank",
number.cex = 0.7,
addgrid.col = "black",
col = colorRampPalette(c("#8C510A","#f5f5f5","#1B7E76"))(100),
cl.length = 11,
addCoef.col = "black")

biomass$Residuo=as.factor(biomass$Residuo)
biomass$Descanso=as.factor(biomass$Descanso)
BROMATOLOGIA
11- DM
#outliers
boxplot(biomass$DM)

#model
mod11 = lmer(DM~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
mod11.1 = lmer(sqrt(max(DM+1) - DM)~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
hist(resid(mod11.1))

shapiro.test(resid(mod11.1))
Shapiro-Wilk normality test
data: resid(mod11.1)
W = 0.98534, p-value = 0.6475
bartlett.test(resid(mod11.1)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod11.1) by interaction(Residuo, Descanso)
Bartlett's K-squared = 7.2958, df = 7, p-value = 0.3987
#Anova e regressão
anova(mod11.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 0.3751 0.3751 1 51.996 0.5506 0.4614
Descanso 24.0639 8.0213 3 51.996 11.7745 5.343e-06 ***
Residuo:Descanso 1.8757 0.6252 3 51.996 0.9178 0.4388
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias11=emmeans(mod11, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias11.1=emmeans(mod11, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias11)
Residuo emmean SE df lower.CL upper.CL
1 910 11.8 1.02 767 1052
2 912 11.8 1.02 769 1054
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias11.1)
Descanso emmean SE df lower.CL upper.CL
1 906 11.9 1.05 772 1039
2 906 11.9 1.05 772 1039
3 916 11.9 1.05 783 1050
4 915 11.9 1.05 782 1049
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg11 <- lm(DM~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg11)
Call:
lm(formula = DM ~ poly(as.numeric(Descanso), degree = 2), data = biomass)
Residuals:
Min 1Q Median 3Q Max
-47.478 -8.382 0.476 12.293 20.945
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 910.763 1.853 491.526 <2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 35.484 14.823 2.394 0.0198 *
poly(as.numeric(Descanso), degree = 2)2 -2.554 14.823 -0.172 0.8638
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 14.82 on 61 degrees of freedom
Multiple R-squared: 0.08628, Adjusted R-squared: 0.05632
F-statistic: 2.88 on 2 and 61 DF, p-value: 0.06381
12- MM
#outliers
boxplot(biomass$MM)

#model
mod12 = lmer(MM~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
boundary (singular) fit: see help('isSingular')
hist(resid(mod12))

shapiro.test(resid(mod12))
Shapiro-Wilk normality test
data: resid(mod12)
W = 0.98057, p-value = 0.4087
bartlett.test(resid(mod12)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod12) by interaction(Residuo, Descanso)
Bartlett's K-squared = 6.9457, df = 7, p-value = 0.4346
#Anova e regressão
anova(mod12)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 15.64 15.642 1 55 0.4794 0.49160
Descanso 591.65 197.215 3 55 6.0444 0.00124 **
Residuo:Descanso 69.68 23.225 3 55 0.7118 0.54910
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias12=emmeans(mod12, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias12.1=emmeans(mod12, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias12)
Residuo emmean SE df lower.CL upper.CL
1 101 1.24 2.06 96.2 107
2 100 1.24 2.06 95.2 106
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias12.1)
Descanso emmean SE df lower.CL upper.CL
1 100.8 1.6 5.6 96.8 105
2 105.8 1.6 5.6 101.8 110
3 98.8 1.6 5.6 94.8 103
4 98.0 1.6 5.6 94.0 102
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg12 <- lm(MM~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg12)
Call:
lm(formula = MM ~ poly(as.numeric(Descanso), degree = 2), data = biomass)
Residuals:
Min 1Q Median 3Q Max
-10.6777 -4.1532 0.1229 3.1414 21.2264
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 100.8500 0.7523 134.055 <2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 -13.7373 6.0184 -2.283 0.0260 *
poly(as.numeric(Descanso), degree = 2)2 -11.8050 6.0184 -1.961 0.0544 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.018 on 61 degrees of freedom
Multiple R-squared: 0.1293, Adjusted R-squared: 0.1007
F-statistic: 4.529 on 2 and 61 DF, p-value: 0.01466
13- PB
#outliers
boxplot(biomass$PB)

#model
mod13 = lmer(PB~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
hist(resid(mod13))

shapiro.test(resid(mod13))
Shapiro-Wilk normality test
data: resid(mod13)
W = 0.97546, p-value = 0.2309
bartlett.test(resid(mod13)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod13) by interaction(Residuo, Descanso)
Bartlett's K-squared = 9.1671, df = 7, p-value = 0.2409
#Anova e regressão
anova(mod13)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 864 864 1 52 1.0524 0.3097
Descanso 117214 39071 3 52 47.5691 6.219e-15 ***
Residuo:Descanso 294 98 3 52 0.1191 0.9485
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias13=emmeans(mod13, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias13.1=emmeans(mod13, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias13)
Residuo emmean SE df lower.CL upper.CL
1 231 17 1.1 56.6 405
2 223 17 1.1 49.2 398
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias13.1)
Descanso emmean SE df lower.CL upper.CL
1 291 17.7 1.31 159.2 423
2 239 17.7 1.31 107.4 371
3 198 17.7 1.31 66.5 330
4 180 17.7 1.31 47.6 312
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg13 <- lm(PB~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg13)
Call:
lm(formula = PB ~ poly(as.numeric(Descanso), degree = 2), data = biomass)
Residuals:
Min 1Q Median 3Q Max
-68.012 -19.703 -2.212 15.622 92.031
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 227.166 4.053 56.043 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 -335.835 32.427 -10.357 4.59e-15 ***
poly(as.numeric(Descanso), degree = 2)2 65.800 32.427 2.029 0.0468 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 32.43 on 61 degrees of freedom
Multiple R-squared: 0.6461, Adjusted R-squared: 0.6345
F-statistic: 55.69 on 2 and 61 DF, p-value: 1.738e-14
14- EE
#outliers
boxplot(biomass$EE)

#model
mod14 = lmer(EE~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
hist(resid(mod14))

shapiro.test(resid(mod14))
Shapiro-Wilk normality test
data: resid(mod14)
W = 0.98985, p-value = 0.8801
bartlett.test(resid(mod14)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod14) by interaction(Residuo, Descanso)
Bartlett's K-squared = 5.1391, df = 7, p-value = 0.643
#Anova e regressão
anova(mod14)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 1.541 1.541 1 52 0.0424 0.83770
Descanso 270.791 90.264 3 52 2.4828 0.07105 .
Residuo:Descanso 116.044 38.681 3 52 1.0640 0.37242
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias14=emmeans(mod14, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias14.1=emmeans(mod14, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias14)
Residuo emmean SE df lower.CL upper.CL
1 40.9 10.9 1.01 -93.5 175
2 41.3 10.9 1.01 -93.2 176
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias14.1)
Descanso emmean SE df lower.CL upper.CL
1 41.6 11 1.03 -87.7 171
2 41.7 11 1.03 -87.6 171
3 43.3 11 1.03 -86.0 173
4 37.7 11 1.03 -91.6 167
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg14 <- lm(EE~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg14)
Call:
lm(formula = EE ~ poly(as.numeric(Descanso), degree = 2), data = biomass)
Residuals:
Min 1Q Median 3Q Max
-17.906 -11.201 -1.221 11.236 25.169
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 41.102 1.582 25.980 <2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 -9.072 12.657 -0.717 0.476
poly(as.numeric(Descanso), degree = 2)2 -11.329 12.657 -0.895 0.374
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.66 on 61 degrees of freedom
Multiple R-squared: 0.0211, Adjusted R-squared: -0.01099
F-statistic: 0.6575 on 2 and 61 DF, p-value: 0.5218
15- aFDNom
#outliers
boxplot(biomass$aFDNom)

#model
mod15 = lmer(aFDNom~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
hist(resid(mod15))

shapiro.test(resid(mod15))
Shapiro-Wilk normality test
data: resid(mod15)
W = 0.98286, p-value = 0.5165
bartlett.test(resid(mod15)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod15) by interaction(Residuo, Descanso)
Bartlett's K-squared = 2.3569, df = 7, p-value = 0.9375
#Anova e regressão
anova(mod15)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 4090 4090.2 1 52 4.2108 0.045218 *
Descanso 42479 14159.8 3 52 14.5771 5.175e-07 ***
Residuo:Descanso 12415 4138.3 3 52 4.2603 0.009159 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias15=emmeans(mod15, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias15.1=emmeans(mod15, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias15)
Residuo emmean SE df lower.CL upper.CL
1 567 9.45 3.1 538 597
2 551 9.45 3.1 522 581
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias15.1)
Descanso emmean SE df lower.CL upper.CL
1 532 10.9 5.54 505 559
2 542 10.9 5.54 515 569
3 563 10.9 5.54 536 590
4 599 10.9 5.54 572 627
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg15 <- lm(aFDNom~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg15)
Call:
lm(formula = aFDNom ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-111.94 -20.19 6.01 18.00 66.11
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 559.129 4.488 124.572 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 199.383 35.907 5.553 6.5e-07 ***
poly(as.numeric(Descanso), degree = 2)2 52.047 35.907 1.449 0.152
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 35.91 on 61 degrees of freedom
Multiple R-squared: 0.3506, Adjusted R-squared: 0.3293
F-statistic: 16.47 on 2 and 61 DF, p-value: 1.912e-06
16- aFDAom
#outliers
boxplot(biomass$aFDAom)

#model
mod16 = lmer(aFDAom~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
hist(resid(mod16))

shapiro.test(resid(mod16))
Shapiro-Wilk normality test
data: resid(mod16)
W = 0.99301, p-value = 0.9762
bartlett.test(resid(mod16)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod16) by interaction(Residuo, Descanso)
Bartlett's K-squared = 12.812, df = 7, p-value = 0.07682
#Anova e regressão
anova(mod16)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 1098 1098 1 52 0.8842 0.3514
Descanso 62995 20998 3 52 16.9086 8.577e-08 ***
Residuo:Descanso 6477 2159 3 52 1.7385 0.1705
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias16=emmeans(mod16, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias16.1=emmeans(mod16, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias16)
Residuo emmean SE df lower.CL upper.CL
1 398 15.8 1.17 255 541
2 389 15.8 1.17 247 532
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias16.1)
Descanso emmean SE df lower.CL upper.CL
1 350 17 1.56 253 447
2 384 17 1.56 288 481
3 403 17 1.56 306 500
4 437 17 1.56 340 534
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg16 <- lm(aFDAom~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg16)
Call:
lm(formula = aFDAom ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-88.529 -25.556 3.592 22.870 111.751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 393.6417 4.8408 81.318 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 249.4407 38.7261 6.441 2.1e-08 ***
poly(as.numeric(Descanso), degree = 2)2 -0.3612 38.7261 -0.009 0.993
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 38.73 on 61 degrees of freedom
Multiple R-squared: 0.4048, Adjusted R-squared: 0.3853
F-statistic: 20.74 on 2 and 61 DF, p-value: 1.34e-07
17- aLDAom
#outliers
boxplot(biomass$aLDAom)

#model
mod17 = lmer(aLDAom~Residuo*Descanso+(1|Linhas)+(1|Cortes), data = biomass)
hist(resid(mod17))

shapiro.test(resid(mod17))
Shapiro-Wilk normality test
data: resid(mod17)
W = 0.98307, p-value = 0.5267
bartlett.test(resid(mod17)~interaction(Residuo, Descanso), data=biomass)
Bartlett test of homogeneity of variances
data: resid(mod17) by interaction(Residuo, Descanso)
Bartlett's K-squared = 14.824, df = 7, p-value = 0.03832
library(pbkrtest)
#Anova e regressão
anova(mod17)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 1965.15 1965.15 1 52 4.9537 0.0304 *
Descanso 726.62 242.21 3 52 0.6105 0.6112
Residuo:Descanso 1575.87 525.29 3 52 1.3241 0.2765
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias17=emmeans(mod17, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
medias17.1=emmeans(mod17, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(medias17)
Residuo emmean SE df lower.CL upper.CL
1 175 14.2 1.17 47.0 303
2 164 14.2 1.17 35.9 292
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias17.1)
Descanso emmean SE df lower.CL upper.CL
1 167 14.6 1.32 60.6 274
2 168 14.6 1.32 61.6 275
3 175 14.6 1.32 68.7 282
4 167 14.6 1.32 60.8 274
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg17 <- lm(aLDAom~poly(as.numeric(Descanso), degree = 2), data = biomass)
summary(reg17)
Call:
lm(formula = aLDAom ~ poly(as.numeric(Descanso), degree = 2),
data = biomass)
Residuals:
Min 1Q Median 3Q Max
-49.771 -17.065 -1.544 18.493 61.415
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 169.566 3.178 53.349 <2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 6.940 25.427 0.273 0.786
poly(as.numeric(Descanso), degree = 2)2 -17.737 25.427 -0.698 0.488
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 25.43 on 61 degrees of freedom
Multiple R-squared: 0.009115, Adjusted R-squared: -0.02337
F-statistic: 0.2806 on 2 and 61 DF, p-value: 0.7563
GAS PRODUCTION
18- NetGP24h.mLgOM
#outliers
boxplot(gp$NetGP24h.mLgOM)

outliers = boxplot(gp$NetGP24h.mLgOM)$out

gp[which(gp$NetGP24h.mLgOM %in% outliers),]
#model
mod18 = lmer(NetGP24h.mLgOM~intensidade*frequencia+(1|linhas)+(1|GP), data = gp[-c(291,305,319,320),])
hist(resid(mod18))

shapiro.test(resid(mod18))
Shapiro-Wilk normality test
data: resid(mod18)
W = 0.99672, p-value = 0.7689
#Anova e regressão
anova(mod18)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 925.13 925.13 1 303.12 6.3818 0.01204 *
frequencia 825.50 275.17 3 303.15 1.8982 0.12988
intensidade:frequencia 67.19 22.40 3 303.19 0.1545 0.92675
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias18=emmeans(mod18, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias18.1=emmeans(mod18, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias18)
intensidade emmean SE df lower.CL upper.CL
30 83.7 8.43 2.08 48.8 119
40 87.1 8.43 2.08 52.2 122
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias18.1)
frequencia emmean SE df lower.CL upper.CL
21 87.6 8.48 2.14 53.3 122
28 84.7 8.48 2.14 50.3 119
35 86.1 8.48 2.14 51.8 120
42 83.2 8.48 2.14 48.9 118
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg18 <- lm(NetGP24h.mLgOM~poly(as.numeric(frequencia), degree = 2), data = gp[-c(291,305,319,320),])
summary(reg18)
Call:
lm(formula = NetGP24h.mLgOM ~ poly(as.numeric(frequencia), degree = 2),
data = gp[-c(291, 305, 319, 320), ])
Residuals:
Min 1Q Median 3Q Max
-42.824 -12.719 -0.278 11.773 45.548
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 86.770 0.961 90.289 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -23.031 17.084 -1.348 0.179
poly(as.numeric(frequencia), degree = 2)2 -3.349 17.084 -0.196 0.845
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 17.08 on 313 degrees of freedom
Multiple R-squared: 0.005895, Adjusted R-squared: -0.0004574
F-statistic: 0.928 on 2 and 313 DF, p-value: 0.3964
19- NetGP24h.mLgDOM
gp$NetGP24h.mLgDOM=gp$NetGP24h.mLgOM/gp$DMO.gkg*1000
print(gp)
#outliers
boxplot(gp$NetGP24h.mLgDOM)

#model
mod19 = lmer(NetGP24h.mLgDOM~intensidade*frequencia+(1|linhas)+(1|GP), data = gp)
hist(resid(mod19))

shapiro.test(resid(mod19))
Shapiro-Wilk normality test
data: resid(mod19)
W = 0.99589, p-value = 0.5722
#Anova e regressão
anova(mod19)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 2985 2985.0 1 306.13 3.6982 0.0554 .
frequencia 68480 22826.7 3 306.13 28.2813 3.608e-16 ***
intensidade:frequencia 230 76.8 3 306.13 0.0952 0.9627
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias19=emmeans(mod19, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias19.1=emmeans(mod19, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias19)
intensidade emmean SE df lower.CL upper.CL
30 149 26.8 2.05 36.3 262
40 155 26.8 2.05 42.5 268
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias19.1)
frequencia emmean SE df lower.CL upper.CL
21 135 26.9 2.08 23.4 247
28 142 26.9 2.08 30.4 253
35 159 26.9 2.08 47.2 270
42 173 26.9 2.08 60.9 284
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg19 <- lm(NetGP24h.mLgDOM~poly(as.numeric(frequencia), degree = 2), data = gp)
summary(reg19)
Call:
lm(formula = NetGP24h.mLgDOM ~ poly(as.numeric(frequencia), degree = 2),
data = gp)
Residuals:
Min 1Q Median 3Q Max
-97.22 -38.56 -10.14 39.59 114.60
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 157.382 2.725 57.762 < 2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 259.644 48.679 5.334 1.84e-07 ***
poly(as.numeric(frequencia), degree = 2)2 28.527 48.740 0.585 0.559
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 48.66 on 316 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.08353, Adjusted R-squared: 0.07773
F-statistic: 14.4 on 2 and 316 DF, p-value: 1.035e-06
20- NetCH424h.mLgOM
#outliers
boxplot(gp$NetCH424h.mLgOM)

outliers = boxplot(gp$NetCH424h.mLgOM)$out

gp[which(gp$NetCH424h.mLgOM %in% outliers),]
#model
mod20 = lmer(NetCH424h.mLgOM~intensidade*frequencia+(1|linhas)+(1|GP), data = gp[-c(18),])
hist(resid(mod20))

shapiro.test(resid(mod20))
Shapiro-Wilk normality test
data: resid(mod20)
W = 0.99477, p-value = 0.3512
#Anova e regressão
anova(mod20)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 24.5789 24.579 1 306.34 9.2977 0.002495 **
frequencia 11.1030 3.701 3 306.34 1.4000 0.242844
intensidade:frequencia 1.4671 0.489 3 306.34 0.1850 0.906566
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias20=emmeans(mod20, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias20.1=emmeans(mod20, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias20)
intensidade emmean SE df lower.CL upper.CL
30 4.30 0.709 2.14 1.44 7.17
40 4.86 0.708 2.14 1.99 7.73
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias20.1)
frequencia emmean SE df lower.CL upper.CL
21 4.61 0.72 2.29 1.85 7.36
28 4.27 0.72 2.28 1.52 7.03
35 4.69 0.72 2.28 1.93 7.45
42 4.76 0.72 2.28 2.00 7.52
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg20 <- lm(NetCH424h.mLgOM~poly(as.numeric(frequencia), degree = 2), data = gp[-c(18),])
summary(reg20)
Call:
lm(formula = NetCH424h.mLgOM ~ poly(as.numeric(frequencia), degree = 2),
data = gp[-c(18), ])
Residuals:
Min 1Q Median 3Q Max
-4.4674 -1.4381 0.0171 1.3936 5.5067
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 4.6931 0.1073 43.743 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 1.7271 1.9162 0.901 0.368
poly(as.numeric(frequencia), degree = 2)2 1.8322 1.9162 0.956 0.340
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.916 on 316 degrees of freedom
Multiple R-squared: 0.005434, Adjusted R-squared: -0.0008607
F-statistic: 0.8633 on 2 and 316 DF, p-value: 0.4228
21- NetCH424h.mLgDOM
gp$NetCH424h.mLgDOM=gp$NetCH424h.mLgOM/gp$DMO.gkg*1000
#outliers
boxplot(gp$NetCH424h.mLgDOM)

outliers = boxplot(gp$NetCH424h.mLgDOM)$out

gp[which(gp$NetCH424h.mLgDOM %in% outliers),]
#model
mod21 = lmer(NetCH424h.mLgDOM~intensidade*frequencia+(1|linhas)+(1|GP), data = gp[-c(18),])
hist(resid(mod21))

shapiro.test(resid(mod21))
Shapiro-Wilk normality test
data: resid(mod21)
W = 0.99395, p-value = 0.2357
#Anova e regressão
anova(mod21)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 71.13 71.132 1 305.51 8.4048 0.004013 **
frequencia 355.72 118.573 3 305.51 14.0103 1.398e-08 ***
intensidade:frequencia 1.70 0.566 3 305.51 0.0669 0.977419
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias21=emmeans(mod21, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias21.1=emmeans(mod21, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias21)
intensidade emmean SE df lower.CL upper.CL
30 7.71 1.75 2.08 0.469 14.9
40 8.65 1.75 2.08 1.413 15.9
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias21.1)
frequencia emmean SE df lower.CL upper.CL
21 7.08 1.76 2.15 0.00042 14.2
28 7.35 1.76 2.15 0.27175 14.4
35 8.54 1.76 2.15 1.46687 15.6
42 9.74 1.76 2.15 2.65824 16.8
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg21 <- lm(NetCH424h.mLgDOM~poly(as.numeric(frequencia), degree = 2), data = gp[-c(18),])
summary(reg21)
Call:
lm(formula = NetCH424h.mLgDOM ~ poly(as.numeric(frequencia),
degree = 2), data = gp[-c(18), ])
Residuals:
Min 1Q Median 3Q Max
-7.7256 -3.1622 0.0961 2.9528 13.0558
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.5101 0.2175 39.122 < 2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 18.2974 3.8802 4.716 3.63e-06 ***
poly(as.numeric(frequencia), degree = 2)2 4.0104 3.8851 1.032 0.303
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.879 on 315 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.06892, Adjusted R-squared: 0.063
F-statistic: 11.66 on 2 and 315 DF, p-value: 1.305e-05
22- DMO.gkg
gp1 <- subset(gp[-256,], tempo==c("24h"))
gp1$MOndegrad=gp1$MOndegrad*1000
#outliers
boxplot(gp1$DMO.gkg)

#model
mod21 = lmer(DMO.gkg~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
mod21.1 = lmer(DMO.gkg^0.8~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
hist(resid(mod21.1))

shapiro.test(resid(mod21.1))
Shapiro-Wilk normality test
data: resid(mod21.1)
W = 0.98472, p-value = 0.07934
#Anova e regressão
anova(mod21.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 203 202.9 1 139.14 1.3630 0.245
frequencia 35900 11966.8 3 139.08 80.3981 <2e-16 ***
intensidade:frequencia 553 184.4 3 139.03 1.2391 0.298
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias21=emmeans(mod21, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias21.1=emmeans(mod21, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias21)
intensidade emmean SE df lower.CL upper.CL
30 543 41.9 2.06 367 718
40 553 41.9 2.06 377 728
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias21.1)
frequencia emmean SE df lower.CL upper.CL
21 631 42.3 2.15 460 802
28 587 42.3 2.15 416 757
35 518 42.4 2.15 347 688
42 456 42.4 2.15 285 626
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg21 <- lm(DMO.gkg~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg21)
Call:
lm(formula = DMO.gkg ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-162.964 -60.235 4.807 53.080 174.421
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 540.440 6.556 82.432 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -829.204 82.463 -10.055 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)2 -46.615 82.666 -0.564 0.574
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 82.41 on 155 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.3956, Adjusted R-squared: 0.3878
F-statistic: 50.73 on 2 and 155 DF, p-value: < 2.2e-16
23- DFDN.gkg
#outliers
boxplot(gp1$DFDN.gkg)

#model
mod23 = lmer(DFDN.gkg~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
boundary (singular) fit: see help('isSingular')
mod23.1 = lmer(DFDN.gkg^0.6~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
boundary (singular) fit: see help('isSingular')
hist(resid(mod23.1))

shapiro.test(resid(mod23.1))
Shapiro-Wilk normality test
data: resid(mod23.1)
W = 0.98683, p-value = 0.1419
#Anova e regressão
anova(mod23.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 11.48 11.48 1 148 0.551 0.45909
frequencia 2659.89 886.63 3 148 42.537 < 2e-16 ***
intensidade:frequencia 206.54 68.85 3 148 3.303 0.02205 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias23=emmeans(mod23, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias23.1=emmeans(mod23, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias23)
intensidade emmean SE df lower.CL upper.CL
30 367 61.5 2.04 108 627
40 360 61.5 2.04 101 620
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias23.1)
frequencia emmean SE df lower.CL upper.CL
21 456 62.2 2.13 203.6 709
28 408 62.2 2.13 154.8 660
35 317 62.2 2.13 65.1 570
42 273 62.2 2.13 20.8 526
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg23 <- lm(DFDN.gkg~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg23)
Call:
lm(formula = DFDN.gkg ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-275.84 -89.21 13.96 82.66 254.17
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 352.743 9.646 36.570 < 2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -886.161 121.323 -7.304 1.38e-11 ***
poly(as.numeric(frequencia), degree = 2)2 27.891 121.621 0.229 0.819
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 121.2 on 155 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.2562, Adjusted R-squared: 0.2466
F-statistic: 26.7 on 2 and 155 DF, p-value: 1.089e-10
24- Namoniacal
#outliers
boxplot(gp1$Namoniacal)

#model
mod24 = lmer(Namoniacal~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
mod24.1 = lmer(Namoniacal^0.8~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
hist(resid(mod24.1))

shapiro.test(resid(mod24.1))
Shapiro-Wilk normality test
data: resid(mod24.1)
W = 0.98574, p-value = 0.103
#Anova e regressão
anova(mod24.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 0.0000028 0.00000278 1 146.21 0.0347 0.8524
frequencia 0.0090183 0.00300609 3 146.21 37.6236 <2e-16 ***
intensidade:frequencia 0.0004928 0.00016428 3 146.21 2.0561 0.1086
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias24=emmeans(mod24, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias24.1=emmeans(mod24, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias24)
intensidade emmean SE df lower.CL upper.CL
30 0.0373 0.00136 4.00 0.0335 0.0411
40 0.0371 0.00136 4.02 0.0333 0.0409
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias24.1)
frequencia emmean SE df lower.CL upper.CL
21 0.0438 0.00150 6.04 0.0402 0.0475
28 0.0399 0.00150 6.04 0.0362 0.0436
35 0.0329 0.00150 6.04 0.0292 0.0365
42 0.0322 0.00151 6.15 0.0285 0.0359
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg24 <- lm(Namoniacal~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg24)
Call:
lm(formula = Namoniacal ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-0.0154409 -0.0037529 -0.0006272 0.0033100 0.0183728
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.0373396 0.0004907 76.093 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -0.0595576 0.0061877 -9.625 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)2 0.0099888 0.0061877 1.614 0.108
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.006188 on 156 degrees of freedom
Multiple R-squared: 0.3791, Adjusted R-squared: 0.3711
F-statistic: 47.63 on 2 and 156 DF, p-value: < 2.2e-16
25- pH
#outliers
boxplot(gp1$pH)

outliers = boxplot(gp1$pH)$out

gp[which(gp1$pH %in% outliers),]
#model
mod25 = lmer(pH~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1[-c(138),])
mod25.1 = lmer(pH^1.2~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1[-c(138),])
hist(resid(mod25.1))

shapiro.test(resid(mod25.1))
Shapiro-Wilk normality test
data: resid(mod25.1)
W = 0.98307, p-value = 0.05028
#Anova e regressão
anova(mod25.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 0.000636 0.000636 1 145.61 0.0242 0.8765
frequencia 0.191639 0.063880 3 145.59 2.4351 0.0672 .
intensidade:frequencia 0.023624 0.007875 3 145.57 0.3002 0.8252
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias25=emmeans(mod25, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias25.1=emmeans(mod25, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias25)
intensidade emmean SE df lower.CL upper.CL
30 6.86 0.189 2.01 6.05 7.67
40 6.86 0.189 2.01 6.05 7.67
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias25.1)
frequencia emmean SE df lower.CL upper.CL
21 6.89 0.189 2.02 6.08 7.69
28 6.87 0.189 2.02 6.06 7.67
35 6.84 0.189 2.02 6.03 7.64
42 6.85 0.189 2.02 6.05 7.66
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg25 <- lm(pH~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg25)
Call:
lm(formula = pH ~ poly(as.numeric(frequencia), degree = 2), data = gp1)
Residuals:
Min 1Q Median 3Q Max
-6.7251 -0.2065 0.0249 0.2885 0.6149
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 6.79088 0.04866 139.568 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -0.41024 0.61353 -0.669 0.505
poly(as.numeric(frequencia), degree = 2)2 0.64850 0.61353 1.057 0.292
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.6135 on 156 degrees of freedom
Multiple R-squared: 0.009928, Adjusted R-squared: -0.002765
F-statistic: 0.7822 on 2 and 156 DF, p-value: 0.4592
26- AGVtotal
#outliers
boxplot(gp1[-c(139),]$AGVtotal)

#model
mod26= lmer(AGVtotal~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
boundary (singular) fit: see help('isSingular')
mod26.1= lmer(AGVtotal^1.5~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
boundary (singular) fit: see help('isSingular')
hist(resid(mod26.1))

shapiro.test(resid(mod26.1))
Shapiro-Wilk normality test
data: resid(mod26.1)
W = 0.98592, p-value = 0.1082
#Anova e regressão
anova(mod26.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 0.11352 0.113517 1 149 1.6095 0.20654
frequencia 0.50097 0.166988 3 149 2.3677 0.07312 .
intensidade:frequencia 0.04688 0.015626 3 149 0.2216 0.88131
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias26=emmeans(mod26, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias26.1=emmeans(mod26, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias26)
intensidade emmean SE df lower.CL upper.CL
30 1.65 0.282 2.01 0.441 2.86
40 1.68 0.282 2.01 0.465 2.89
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias26.1)
frequencia emmean SE df lower.CL upper.CL
21 1.70 0.282 2.02 0.492 2.90
28 1.68 0.282 2.02 0.472 2.88
35 1.66 0.282 2.02 0.450 2.86
42 1.62 0.282 2.02 0.418 2.83
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg26 <- lm(AGVtotal~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg26)
Call:
lm(formula = AGVtotal ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-0.7480 -0.3161 -0.2405 0.4197 0.7749
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.71664 0.03463 49.564 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -0.40077 0.43673 -0.918 0.360
poly(as.numeric(frequencia), degree = 2)2 -0.08085 0.43673 -0.185 0.853
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.4367 on 156 degrees of freedom
Multiple R-squared: 0.005586, Adjusted R-squared: -0.007162
F-statistic: 0.4382 on 2 and 156 DF, p-value: 0.646
27- Acetico100
gp1$Acetico100=gp1$Acetico*100/gp1$AGVtotal
print(gp1)
#outliers
boxplot(gp1$Acetico100)

#model
mod27= lmer(Acetico100~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
mod27.1= lmer(Acetico100^2.5~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
hist(resid(mod27.1))

shapiro.test(resid(mod27.1))#Não transforma
Shapiro-Wilk normality test
data: resid(mod27.1)
W = 0.93371, p-value = 9.722e-07
#Anova e regressão
anova(mod27)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 14.6175 14.6175 1 146.57 3.5755 0.06061 .
frequencia 20.7978 6.9326 3 146.57 1.6957 0.17049
intensidade:frequencia 2.4383 0.8128 3 146.57 0.1988 0.89707
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias27=emmeans(mod27, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias27.1=emmeans(mod27, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias27)
intensidade emmean SE df lower.CL upper.CL
30 71.8 2.9 2.02 59.4 84.2
40 71.2 2.9 2.02 58.8 83.6
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias27.1)
frequencia emmean SE df lower.CL upper.CL
21 71.0 2.91 2.04 58.8 83.3
28 71.8 2.91 2.04 59.6 84.1
35 71.3 2.91 2.04 59.0 83.5
42 71.9 2.91 2.04 59.6 84.1
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg27 <- lm(Acetico100~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg27)
Call:
lm(formula = Acetico100 ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-7.5191 -4.1433 0.4444 2.5469 11.1195
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 71.0027 0.3724 190.671 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 3.1702 4.6956 0.675 0.501
poly(as.numeric(frequencia), degree = 2)2 -0.3313 4.6956 -0.071 0.944
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 4.696 on 156 degrees of freedom
Multiple R-squared: 0.002945, Adjusted R-squared: -0.009838
F-statistic: 0.2304 on 2 and 156 DF, p-value: 0.7945
28- Propionico100
gp1$Propionico100=gp1$Propionico*100/gp1$AGVtotal
print(gp1)
#outliers
boxplot(gp1$Propionico100)

#model
mod28= lmer(Propionico100~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
hist(resid(mod28))

shapiro.test(resid(mod28))
Shapiro-Wilk normality test
data: resid(mod28)
W = 0.98625, p-value = 0.1184
#Anova e regressão
anova(mod28)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 9.9968 9.9968 1 146.83 4.3562 0.03860 *
frequencia 16.0441 5.3480 3 146.83 2.3304 0.07673 .
intensidade:frequencia 1.2745 0.4248 3 146.83 0.1851 0.90638
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias28=emmeans(mod28, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias28.1=emmeans(mod28, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias28)
intensidade emmean SE df lower.CL upper.CL
30 16.9 1.52 2.03 10.4 23.3
40 17.4 1.52 2.03 10.9 23.8
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias28.1)
frequencia emmean SE df lower.CL upper.CL
21 17.4 1.53 2.08 11.0 23.8
28 16.9 1.53 2.08 10.5 23.3
35 17.5 1.53 2.08 11.1 23.8
42 16.7 1.53 2.08 10.4 23.1
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg28 <- lm(Propionico100~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg28)
Call:
lm(formula = Propionico100 ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-6.5318 -1.5500 -0.1898 2.1086 5.8820
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 17.3822 0.2139 81.266 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -2.2364 2.6971 -0.829 0.408
poly(as.numeric(frequencia), degree = 2)2 -0.9254 2.6971 -0.343 0.732
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.697 on 156 degrees of freedom
Multiple R-squared: 0.005136, Adjusted R-squared: -0.007619
F-statistic: 0.4027 on 2 and 156 DF, p-value: 0.6692
29- Butirico100
gp1$Butirico100=gp1$Butirico*100/gp1$AGVtotal
print(gp1)
#outliers
boxplot(gp1$Butirico100)

#model
mod29= lmer(Butirico100~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
hist(resid(mod29))

shapiro.test(resid(mod29))
Shapiro-Wilk normality test
data: resid(mod29)
W = 0.99275, p-value = 0.607
#Anova e regressão
anova(mod29)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 0.0553 0.05529 1 145.66 0.0835 0.773038
frequencia 9.3320 3.11065 3 145.66 4.6970 0.003678 **
intensidade:frequencia 0.6955 0.23182 3 145.66 0.3500 0.789167
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias29=emmeans(mod29, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias29.1=emmeans(mod29, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias29)
intensidade emmean SE df lower.CL upper.CL
30 8.16 1.14 2.06 3.40 12.9
40 8.20 1.14 2.07 3.43 13.0
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias29.1)
frequencia emmean SE df lower.CL upper.CL
21 7.98 1.14 2.09 3.26 12.7
28 7.90 1.14 2.09 3.18 12.6
35 8.34 1.14 2.09 3.62 13.1
42 8.49 1.14 2.09 3.77 13.2
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg29 <- lm(Butirico100~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg29)
Call:
lm(formula = Butirico100 ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-3.9532 -1.4756 -0.4676 1.8709 3.5036
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.3906 0.1489 56.341 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 2.5765 1.8779 1.372 0.172
poly(as.numeric(frequencia), degree = 2)2 0.5758 1.8779 0.307 0.760
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.878 on 156 degrees of freedom
Multiple R-squared: 0.01251, Adjusted R-squared: -0.0001483
F-statistic: 0.9883 on 2 and 156 DF, p-value: 0.3745
30- Valerico100
gp1$Valerico100=gp1$Valerico*100/gp1$AGVtotal
#outliers
boxplot(gp1$Valerico100)

#model
mod30= lmer(Valerico100~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
mod30.1= lmer(Valerico100^1.3~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
hist(resid(mod30.1))

shapiro.test(resid(mod30.1))
Shapiro-Wilk normality test
data: resid(mod30.1)
W = 0.98396, p-value = 0.06269
#Anova e regressão
anova(mod30.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 0.00001 0.00001 1 145.09 0.0011 0.9739
frequencia 1.86799 0.62266 3 145.09 44.8371 <2e-16 ***
intensidade:frequencia 0.04917 0.01639 3 145.09 1.1802 0.3195
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias30=emmeans(mod30, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias30.1=emmeans(mod30, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias30)
intensidade emmean SE df lower.CL upper.CL
30 0.81 0.0363 2.71 0.687 0.933
40 0.81 0.0363 2.71 0.688 0.933
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias30.1)
frequencia emmean SE df lower.CL upper.CL
21 0.936 0.0379 3.21 0.820 1.052
28 0.849 0.0379 3.21 0.733 0.965
35 0.738 0.0379 3.21 0.622 0.854
42 0.718 0.0380 3.24 0.602 0.833
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg30 <- lm(Valerico100~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg30)
Call:
lm(formula = Valerico100 ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-0.298347 -0.055428 0.009147 0.069004 0.286687
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.815724 0.008587 94.998 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -1.088625 0.108274 -10.054 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)2 0.200008 0.108274 1.847 0.0666 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.1083 on 156 degrees of freedom
Multiple R-squared: 0.4012, Adjusted R-squared: 0.3935
F-statistic: 52.25 on 2 and 156 DF, p-value: < 2.2e-16
31- Isobutirico100
gp1$Isobutirico100=gp1$Isobutirico*100/gp1$AGVtotal
#outliers
boxplot(gp1$Isobutirico100)

#model
mod31= lmer(Isobutirico100~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
boundary (singular) fit: see help('isSingular')
hist(resid(mod31))

shapiro.test(resid(mod31))
Shapiro-Wilk normality test
data: resid(mod31)
W = 0.99209, p-value = 0.5298
#Anova e regressão
anova(mod31)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 0.22698 0.22698 1 149 2.3471 0.127637
frequencia 1.94011 0.64670 3 149 6.6872 0.000289 ***
intensidade:frequencia 0.07933 0.02644 3 149 0.2734 0.844482
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias31=emmeans(mod31, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias31.1=emmeans(mod31, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias31)
intensidade emmean SE df lower.CL upper.CL
30 0.795 0.342 2.02 -0.663 2.25
40 0.871 0.342 2.02 -0.587 2.33
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias31.1)
frequencia emmean SE df lower.CL upper.CL
21 0.964 0.344 2.06 -0.475 2.40
28 0.909 0.344 2.06 -0.529 2.35
35 0.683 0.344 2.06 -0.755 2.12
42 0.777 0.344 2.06 -0.660 2.21
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg31 <- lm(Isobutirico100~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg31)
Call:
lm(formula = Isobutirico100 ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-0.79052 -0.52116 -0.06973 0.47401 1.30793
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.83223 0.04435 18.764 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -1.11996 0.55927 -2.003 0.047 *
poly(as.numeric(frequencia), degree = 2)2 0.45987 0.55927 0.822 0.412
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.5593 on 156 degrees of freedom
Multiple R-squared: 0.02916, Adjusted R-squared: 0.01672
F-statistic: 2.343 on 2 and 156 DF, p-value: 0.0994
32- Isovalerico100
gp1$Isovalerico100=gp1$Isovalerico*100/gp1$AGVtotal
#outliers
boxplot(gp1$Isovalerico100)

#model
mod32 = lmer(Isovalerico100~intensidade*frequencia+(1|linhas)+(1|GP), data = gp1)
boundary (singular) fit: see help('isSingular')
hist(resid(mod32))

shapiro.test(resid(mod32))
Shapiro-Wilk normality test
data: resid(mod32)
W = 0.9924, p-value = 0.5658
#Anova e regressão
anova(mod32)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
intensidade 0.01293 0.01293 1 149 0.1982 0.6569
frequencia 1.67481 0.55827 3 149 8.5531 2.813e-05 ***
intensidade:frequencia 0.05609 0.01870 3 149 0.2864 0.8351
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
medias32=emmeans(mod32, ~ intensidade)
NOTE: Results may be misleading due to involvement in interactions
medias32.1=emmeans(mod32, ~ frequencia)
NOTE: Results may be misleading due to involvement in interactions
summary(medias32)
intensidade emmean SE df lower.CL upper.CL
30 1.57 0.173 2.06 0.851 2.30
40 1.56 0.173 2.06 0.833 2.28
Results are averaged over the levels of: frequencia
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(medias32.1)
frequencia emmean SE df lower.CL upper.CL
21 1.71 0.175 2.17 1.007 2.40
28 1.61 0.175 2.17 0.916 2.31
35 1.50 0.175 2.17 0.804 2.20
42 1.44 0.175 2.18 0.740 2.14
Results are averaged over the levels of: intensidade
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
reg32 <- lm(Isovalerico100~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(reg32)
Call:
lm(formula = Isovalerico100 ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-0.78134 -0.25015 -0.03919 0.24564 0.92062
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.57764 0.02730 57.787 < 2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -1.30223 0.34425 -3.783 0.000221 ***
poly(as.numeric(frequencia), degree = 2)2 0.07106 0.34425 0.206 0.836743
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.3443 on 156 degrees of freedom
Multiple R-squared: 0.08425, Adjusted R-squared: 0.07251
F-statistic: 7.176 on 2 and 156 DF, p-value: 0.001044
ACCUMULATION
Data
str(biomass)
'data.frame': 64 obs. of 32 variables:
$ ID : chr "V1" "V2" "V3" "V4" ...
$ Cortes : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
$ Residuo : Factor w/ 2 levels "1","2": 1 1 1 1 2 2 2 2 1 1 ...
$ Descanso : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 2 2 ...
$ Linhas : Factor w/ 4 levels "1","2","3","4": 1 2 3 4 1 2 3 4 1 2 ...
$ Altura : num 50.7 45.5 43.7 43.3 55.3 ...
$ Perfilhos : num 43.3 22.5 33.7 18.3 44.3 ...
$ BiomassaMV : num 540 135 198 140 277 ...
$ BiomassaMS : num 46.9 16.6 23.6 17.8 28.5 ...
$ folhaMV : num 719 805 774 745 744 ...
$ cauleMV : num 281 195 226 255 256 ...
$ senescenteMV : num 0 0 0 0 0 0 0 0 0 0 ...
$ folhaMS : num 825 895 865 845 820 ...
$ cauleMS : num 175 105 135 155 180 ...
$ senescenteMS : num 0 0 0 0 0 0 0 0 0 0 ...
$ DM : num 894 897 901 895 897 ...
$ MM : num 111.2 103.3 99.4 100.5 102.4 ...
$ MO : num 889 897 901 899 898 ...
$ PB : num 288 224 306 284 267 ...
$ EE : num 31.1 37.1 42.5 34.7 37.4 ...
$ FDN : num 569 546 521 594 585 ...
$ aFDNom : num 555 524 499 571 565 ...
$ FDA : num 328 353 365 372 364 ...
$ aFDAom : num 314 331 343 349 344 ...
$ LDA : num 141 177 173 194 176 ...
$ aLDAom : num 127 154 151 171 156 ...
$ Temperature : num 24.2 24.2 24.2 24.2 24.2 ...
$ RH : num 76.4 76.4 76.4 76.4 76.4 ...
$ Rainfall : num 54.7 54.7 54.7 54.7 54.7 54.7 54.7 54.7 93.4 93.4 ...
$ leaf.accumulation: num 38.7 14.8 20.4 15.1 23.4 ...
$ stem.accumulation: num 8.19 1.74 3.19 2.77 5.15 ...
$ dead.accumulation: num 0 0 0 0 0 0 0 0 0 0 ...
#Summary - Biomass
biomass_summary = group_by(biomass, Residuo, Descanso, Linhas) %>%
summarise(
BiomassaMS = mean(BiomassaMS, na.rm = TRUE),
folhaMS = mean(folhaMS, na.rm = TRUE),
cauleMS = mean(cauleMS, na.rm = TRUE),
senescenteMS= mean(senescenteMS, na.rm = TRUE),
PB = mean(PB, na.rm = TRUE),
aFDNom = mean(aFDNom, na.rm = TRUE),
aFDAom = mean(aFDAom, na.rm = TRUE),
MM = mean(MM, na.rm = TRUE),
EE = mean(EE, na.rm = TRUE),
LDAom= mean(aLDAom, na.rm = TRUE)
)%>%
print(biomass_summary)
`summarise()` has grouped output by 'Residuo', 'Descanso'. You can override using the `.groups` argument.
#Summary - Gas production
gp_summary = group_by(gp1, intensidade, frequencia, linhas) %>%
summarise(
MOVD = mean(MOVD, na.rm = TRUE),
FDND.g = mean(FDND.g, na.rm = TRUE),
MO.AGV = mean(MO.AGV, na.rm = TRUE),
MO.Bio.Micro = mean(MO.Bio.Micro, na.rm = TRUE),
MO.CO2.CH4.H2O = mean(MO.CO2.CH4.H2O, na.rm = TRUE)
)%>%
print(gp_summary)
`summarise()` has grouped output by 'intensidade', 'frequencia'. You can override using the `.groups` argument.
#Summary - Accumulation
acc = group_by(biomass, Residuo, Descanso, Linhas) %>%
summarise(BiomassaMS = mean(BiomassaMS, na.rm = TRUE))%>%
print(acc)
`summarise()` has grouped output by 'Residuo', 'Descanso'. You can override using the `.groups` argument.
acc$Leaves=biomass_summary$BiomassaMS*biomass_summary$folhaMS/1000
acc$Stems=biomass_summary$BiomassaMS*biomass_summary$cauleMS/1000
acc$Deadmaterial=biomass_summary$BiomassaMS*biomass_summary$senescenteMS/1000
acc$CP=biomass_summary$BiomassaMS*biomass_summary$PB/1000
acc$aFDNom=biomass_summary$BiomassaMS*biomass_summary$aFDNom/1000
acc$FDAom=biomass_summary$BiomassaMS*biomass_summary$aFDAom/1000
acc$Ash=biomass_summary$BiomassaMS*biomass_summary$MM/1000
acc$EE=biomass_summary$BiomassaMS*biomass_summary$EE/1000
acc$LDAom=biomass_summary$BiomassaMS*biomass_summary$LDAom/1000
acc$IVDOM=biomass_summary$BiomassaMS*gp_summary$MOVD/1000
acc$IVDNDF=biomass_summary$BiomassaMS*gp_summary$FDND.g
acc$AGCC=biomass_summary$BiomassaMS*gp_summary$MO.AGV/1000
acc$MB=biomass_summary$BiomassaMS*gp_summary$MO.Bio.Micro/1000
acc$Gas=biomass_summary$BiomassaMS*gp_summary$MO.CO2.CH4.H2O/1000
print(acc)
acumulativo1=gather(acc, variables, value, BiomassaMS,Leaves,Stems,Deadmaterial,CP,aFDNom,FDAom)
acumulativo2=gather(acc, variables, value, IVDOM,AGCC,MB,Gas)
print(acumulativo1)
print(acumulativo2)
Exploratory analyse
P3=ggplot() +
geom_bar(data = acumulativo2, aes(Descanso,value, fill=variables),stat="identity",position = "dodge", width = 1)+
geom_line(data = acumulativo1, aes(as.numeric(Descanso), value, color = variables), stat="summary",fun="mean")
P3

CP accumulation
#outliers
boxplot(acc$CP)

#model
A1 = lmer(CP~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A1))

shapiro.test(resid(A1))
Shapiro-Wilk normality test
data: resid(A1)
W = 0.93399, p-value = 0.05065
#Anova e regressão
anova(A1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 36.1 36.06 1 24 0.5149 0.480
Descanso 4803.9 1601.32 3 24 22.8617 3.235e-07 ***
Residuo:Descanso 49.4 16.47 3 24 0.2351 0.871
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA1=emmeans(A1, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA1.1=emmeans(A1, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA1)
Residuo emmean SE df lower.CL upper.CL
1 25.1 2.09 10.5 20.5 29.8
2 27.3 2.09 10.5 22.6 31.9
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA1.1)
Descanso emmean SE df lower.CL upper.CL
1 9.78 2.96 21 3.62 15.9
2 21.00 2.96 21 14.84 27.1
3 31.15 2.96 21 25.00 37.3
4 42.91 2.96 21 36.75 49.1
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA1 <- lm(CP~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA1)
Call:
lm(formula = CP ~ poly(as.numeric(Descanso), degree = 2), data = acc)
Residuals:
Min 1Q Median 3Q Max
-18.7895 -3.0054 -0.6011 2.6386 18.7765
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 26.2070 1.3808 18.979 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 69.2857 7.8111 8.870 9.31e-10 ***
poly(as.numeric(Descanso), degree = 2)2 0.7604 7.8111 0.097 0.923
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 7.811 on 29 degrees of freedom
Multiple R-squared: 0.7307, Adjusted R-squared: 0.7121
F-statistic: 39.34 on 2 and 29 DF, p-value: 5.473e-09
aFDNom accumulation
#outliers
boxplot(acc$aFDNom)

#model
A2 = lmer(aFDNom~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A2))

shapiro.test(resid(A2))
Shapiro-Wilk normality test
data: resid(A2)
W = 0.93849, p-value = 0.06783
#Anova e regressão
anova(A2)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 114 114.0 1 24 0.2015 0.6575
Descanso 70024 23341.4 3 24 41.2414 1.256e-09 ***
Residuo:Descanso 412 137.4 3 24 0.2427 0.8657
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA2=emmeans(A2, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA2.1=emmeans(A2, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA2)
Residuo emmean SE df lower.CL upper.CL
1 72.3 5.95 10.5 59.1 85.4
2 76.1 5.95 10.5 62.9 89.2
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA2.1)
Descanso emmean SE df lower.CL upper.CL
1 17.9 8.41 21 0.377 35.4
2 47.8 8.41 21 30.313 65.3
3 88.4 8.41 21 70.881 105.9
4 142.6 8.41 21 125.135 160.1
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA2 <- lm(aFDNom~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA2)
Call:
lm(formula = aFDNom ~ poly(as.numeric(Descanso), degree = 2),
data = acc)
Residuals:
Min 1Q Median 3Q Max
-57.407 -9.046 -0.975 9.342 50.847
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 74.17 3.90 19.019 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 262.37 22.06 11.893 1.13e-12 ***
poly(as.numeric(Descanso), degree = 2)2 34.39 22.06 1.559 0.13
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 22.06 on 29 degrees of freedom
Multiple R-squared: 0.8323, Adjusted R-squared: 0.8207
F-statistic: 71.94 on 2 and 29 DF, p-value: 5.721e-12
FDAom accumulation
#outliers
boxplot(acc$FDAom)

#model
A3 = lmer(FDAom~Residuo*Descanso+(1|Linhas), data = acc)
hist(resid(A3))

shapiro.test(resid(A3))
Shapiro-Wilk normality test
data: resid(A3)
W = 0.93495, p-value = 0.05388
#Anova e regressão
anova(A3)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 73 72.7 1 21 0.2640 0.6128
Descanso 37980 12659.9 3 21 45.9764 2.094e-09 ***
Residuo:Descanso 221 73.7 3 21 0.2676 0.8480
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA3=emmeans(A3, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA3.1=emmeans(A3, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA3)
Residuo emmean SE df lower.CL upper.CL
1 51.7 4.17 10.4 42.4 60.9
2 54.7 4.17 10.4 45.4 63.9
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA3.1)
Descanso emmean SE df lower.CL upper.CL
1 11.8 5.88 20.9 -0.459 24.0
2 34.0 5.88 20.9 21.757 46.2
3 63.1 5.88 20.9 50.823 75.3
4 103.8 5.88 20.9 91.615 116.1
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA3 <- lm(FDAom~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA3)
Call:
lm(formula = FDAom ~ poly(as.numeric(Descanso), degree = 2),
data = acc)
Residuals:
Min 1Q Median 3Q Max
-42.760 -5.812 -0.854 7.328 31.355
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 53.166 2.732 19.46 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 193.080 15.454 12.49 3.38e-13 ***
poly(as.numeric(Descanso), degree = 2)2 26.270 15.454 1.70 0.0999 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 15.45 on 29 degrees of freedom
Multiple R-squared: 0.8457, Adjusted R-squared: 0.8351
F-statistic: 79.49 on 2 and 29 DF, p-value: 1.699e-12
LDAom accumulation
#outliers
boxplot(acc$LDAom)

#model
A4 = lmer(LDAom~Residuo*Descanso+(1|Linhas), data = acc)
hist(resid(A4))

shapiro.test(resid(A4))
Shapiro-Wilk normality test
data: resid(A4)
W = 0.93403, p-value = 0.05076
#Anova e regressão
anova(A4)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 1.9 1.95 1 21 0.0430 0.8378
Descanso 5321.5 1773.84 3 21 39.1494 8.82e-09 ***
Residuo:Descanso 33.7 11.25 3 21 0.2483 0.8616
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA4=emmeans(A4, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA4.1=emmeans(A4, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA4)
Residuo emmean SE df lower.CL upper.CL
1 21.6 1.72 9.89 17.8 25.4
2 22.1 1.72 9.89 18.3 25.9
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA4.1)
Descanso emmean SE df lower.CL upper.CL
1 5.63 2.4 20.3 0.62 10.6
2 14.74 2.4 20.3 9.73 19.7
3 27.24 2.4 20.3 22.23 32.3
4 39.81 2.4 20.3 34.80 44.8
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA4 <- lm(LDAom~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA4)
Call:
lm(formula = LDAom ~ poly(as.numeric(Descanso), degree = 2),
data = acc)
Residuals:
Min 1Q Median 3Q Max
-15.1249 -2.2367 -0.4348 2.2444 17.9563
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 21.853 1.108 19.727 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 72.754 6.267 11.610 2.01e-12 ***
poly(as.numeric(Descanso), degree = 2)2 4.892 6.267 0.781 0.441
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.267 on 29 degrees of freedom
Multiple R-squared: 0.8236, Adjusted R-squared: 0.8114
F-statistic: 67.7 on 2 and 29 DF, p-value: 1.187e-11
EE accumulation
#outliers
boxplot(acc$EE)

#model
A5 = lmer(EE~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A5))

shapiro.test(resid(A5))
Shapiro-Wilk normality test
data: resid(A5)
W = 0.96988, p-value = 0.4962
#Anova e regressão
anova(A5)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 4.866 4.866 1 24 2.4989 0.1270
Descanso 264.996 88.332 3 24 45.3618 4.822e-10 ***
Residuo:Descanso 5.801 1.934 3 24 0.9929 0.4129
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA5=emmeans(A5, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA5.1=emmeans(A5, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA5)
Residuo emmean SE df lower.CL upper.CL
1 4.80 0.349 10.5 4.03 5.57
2 5.58 0.349 10.5 4.81 6.35
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA5.1)
Descanso emmean SE df lower.CL upper.CL
1 1.39 0.493 21 0.362 2.41
2 3.69 0.493 21 2.667 4.72
3 6.76 0.493 21 5.730 7.78
4 8.93 0.493 21 7.902 9.95
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA5 <- lm(EE~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA5)
Call:
lm(formula = EE ~ poly(as.numeric(Descanso), degree = 2), data = acc)
Residuals:
Min 1Q Median 3Q Max
-3.6813 -0.4893 0.0283 0.3679 2.7401
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.1912 0.2511 20.678 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 16.2441 1.4202 11.438 2.88e-12 ***
poly(as.numeric(Descanso), degree = 2)2 -0.1892 1.4202 -0.133 0.895
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.42 on 29 degrees of freedom
Multiple R-squared: 0.8186, Adjusted R-squared: 0.8061
F-statistic: 65.42 on 2 and 29 DF, p-value: 1.782e-11
Ash accumulation
#outliers
boxplot(acc$Ash)

#model
A6 = lmer(Ash~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A6))

shapiro.test(resid(A6))
Shapiro-Wilk normality test
data: resid(A6)
W = 0.96253, p-value = 0.3217
#Anova e regressão
anova(A6)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 15.18 15.18 1 24 1.2909 0.2671
Descanso 1719.72 573.24 3 24 48.7538 2.313e-10 ***
Residuo:Descanso 17.94 5.98 3 24 0.5087 0.6800
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA6=emmeans(A6, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA6.1=emmeans(A6, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA6)
Residuo emmean SE df lower.CL upper.CL
1 12.1 0.857 10.5 10.2 14.0
2 13.5 0.857 10.5 11.6 15.4
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA6.1)
Descanso emmean SE df lower.CL upper.CL
1 3.37 1.21 21 0.851 5.89
2 9.34 1.21 21 6.816 11.86
3 15.50 1.21 21 12.982 18.02
4 23.13 1.21 21 20.612 25.65
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA6 <- lm(Ash~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA6)
Call:
lm(formula = Ash ~ poly(as.numeric(Descanso), degree = 2), data = acc)
Residuals:
Min 1Q Median 3Q Max
-9.0365 -1.1985 0.1332 1.5395 7.4290
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 12.8365 0.5835 21.999 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 41.3949 3.3007 12.541 3.08e-13 ***
poly(as.numeric(Descanso), degree = 2)2 2.3546 3.3007 0.713 0.481
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.301 on 29 degrees of freedom
Multiple R-squared: 0.8447, Adjusted R-squared: 0.834
F-statistic: 78.89 on 2 and 29 DF, p-value: 1.863e-12
TDOM accumulation
#outliers
boxplot(acc$IVDOM)

#model
A7 = lmer(IVDOM~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A7))

shapiro.test(resid(A7))
Shapiro-Wilk normality test
data: resid(A7)
W = 0.96606, p-value = 0.3983
#Anova e regressão
anova(A7)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 385.1 385.1 1 24 2.5622 0.1225
Descanso 17805.9 5935.3 3 24 39.4913 1.933e-09 ***
Residuo:Descanso 339.1 113.0 3 24 0.7522 0.5318
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA7=emmeans(A7, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA7.1=emmeans(A7, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA7)
Residuo emmean SE df lower.CL upper.CL
1 43.5 3.06 10.5 36.7 50.3
2 50.4 3.06 10.5 43.7 57.2
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA7.1)
Descanso emmean SE df lower.CL upper.CL
1 15.0 4.33 21 6.01 24.0
2 36.5 4.33 21 27.49 45.5
3 58.3 4.33 21 49.27 67.3
4 78.1 4.33 21 69.07 87.1
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA7 <- lm(IVDOM~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA7)
Call:
lm(formula = IVDOM ~ poly(as.numeric(Descanso), degree = 2),
data = acc)
Residuals:
Min 1Q Median 3Q Max
-31.637 -4.578 -0.123 5.860 24.525
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 46.973 2.161 21.738 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 133.410 12.224 10.914 8.75e-12 ***
poly(as.numeric(Descanso), degree = 2)2 -2.385 12.224 -0.195 0.847
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 12.22 on 29 degrees of freedom
Multiple R-squared: 0.8043, Adjusted R-squared: 0.7908
F-statistic: 59.57 on 2 and 29 DF, p-value: 5.366e-11
TDNDF accumulation
#outliers
boxplot(acc$IVDNDF)

#model
A8 = lmer(IVDNDF~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
A8.1 = lmer(IVDNDF^0.8~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A8.1))

shapiro.test(resid(A8.1))
Shapiro-Wilk normality test
data: resid(A8.1)
W = 0.93916, p-value = 0.07085
#Anova e regressão
anova(A8.1)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 0.05 0.052 1 24 0.0047 0.9460
Descanso 652.28 217.425 3 24 19.6145 1.205e-06 ***
Residuo:Descanso 36.30 12.101 3 24 1.0917 0.3717
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA8=emmeans(A8, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA8.1=emmeans(A8, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA8)
Residuo emmean SE df lower.CL upper.CL
1 21.4 2.05 10.5 16.8 25.9
2 21.2 2.05 10.5 16.7 25.8
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA8.1)
Descanso emmean SE df lower.CL upper.CL
1 7.41 2.9 21 1.38 13.4
2 17.05 2.9 21 11.02 23.1
3 25.25 2.9 21 19.22 31.3
4 35.44 2.9 21 29.42 41.5
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA8 <- lm(IVDNDF~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA8)
Call:
lm(formula = IVDNDF ~ poly(as.numeric(Descanso), degree = 2),
data = acc)
Residuals:
Min 1Q Median 3Q Max
-16.3173 -3.7352 -0.2466 3.2574 21.4986
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 21.2866 1.4037 15.165 2.53e-15 ***
poly(as.numeric(Descanso), degree = 2)1 58.3832 7.9406 7.353 4.23e-08 ***
poly(as.numeric(Descanso), degree = 2)2 0.7813 7.9406 0.098 0.922
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 7.941 on 29 degrees of freedom
Multiple R-squared: 0.6509, Adjusted R-squared: 0.6268
F-statistic: 27.03 on 2 and 29 DF, p-value: 2.36e-07
SCFA accumulation
#outliers
boxplot(acc$AGCC)

#model
A9 = lmer(AGCC~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A9))

shapiro.test(resid(A9))
Shapiro-Wilk normality test
data: resid(A9)
W = 0.97222, p-value = 0.5627
#Anova e regressão
anova(A9)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 20.89 20.89 1 24 1.3609 0.2548
Descanso 2021.72 673.91 3 24 43.8955 6.721e-10 ***
Residuo:Descanso 21.83 7.28 3 24 0.4739 0.7033
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA9=emmeans(A9, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA9.1=emmeans(A9, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA9)
Residuo emmean SE df lower.CL upper.CL
1 13.0 0.98 10.5 10.8 15.2
2 14.6 0.98 10.5 12.4 16.8
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA9.1)
Descanso emmean SE df lower.CL upper.CL
1 3.68 1.39 21 0.804 6.57
2 9.61 1.39 21 6.734 12.50
3 17.04 1.39 21 14.160 19.92
4 24.86 1.39 21 21.981 27.74
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA9 <- lm(AGCC~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA9)
Call:
lm(formula = AGCC ~ poly(as.numeric(Descanso), degree = 2), data = acc)
Residuals:
Min 1Q Median 3Q Max
-9.9219 -1.4263 -0.2693 1.4628 8.1142
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.801 0.666 20.72 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 44.879 3.768 11.91 1.08e-12 ***
poly(as.numeric(Descanso), degree = 2)2 2.674 3.768 0.71 0.484
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 3.768 on 29 degrees of freedom
Multiple R-squared: 0.8308, Adjusted R-squared: 0.8191
F-statistic: 71.19 on 2 and 29 DF, p-value: 6.488e-12
Gas accumulation
#outliers
boxplot(acc$Gas)

#model
A10 = lmer(Gas~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A10))

shapiro.test(resid(A10))
Shapiro-Wilk normality test
data: resid(A10)
W = 0.97058, p-value = 0.5157
#Anova e regressão
anova(A10)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 8.14 8.145 1 24 1.2627 0.2722
Descanso 888.62 296.205 3 24 45.9239 4.256e-10 ***
Residuo:Descanso 9.25 3.084 3 24 0.4781 0.7005
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA10=emmeans(A10, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA10.1=emmeans(A10, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA10)
Residuo emmean SE df lower.CL upper.CL
1 8.57 0.635 10.5 7.17 9.98
2 9.58 0.635 10.5 8.17 10.99
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA10.1)
Descanso emmean SE df lower.CL upper.CL
1 2.40 0.898 21 0.529 4.26
2 6.31 0.898 21 4.448 8.18
3 11.12 0.898 21 9.254 12.99
4 16.47 0.898 21 14.602 18.34
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA10 <- lm(Gas~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA10)
Call:
lm(formula = Gas ~ poly(as.numeric(Descanso), degree = 2), data = acc)
Residuals:
Min 1Q Median 3Q Max
-6.4967 -0.8528 -0.1540 0.9643 5.1741
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9.0754 0.4308 21.07 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 29.7402 2.4371 12.20 6.02e-13 ***
poly(as.numeric(Descanso), degree = 2)2 2.0216 2.4371 0.83 0.414
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.437 on 29 degrees of freedom
Multiple R-squared: 0.8376, Adjusted R-squared: 0.8264
F-statistic: 74.8 on 2 and 29 DF, p-value: 3.567e-12
MB accumulation
#outliers
boxplot(acc$MB)

#model
A11 = lmer(MB~Residuo*Descanso+(1|Linhas), data = acc)
boundary (singular) fit: see help('isSingular')
hist(resid(A11))

shapiro.test(resid(A11))
Shapiro-Wilk normality test
data: resid(A11)
W = 0.97902, p-value = 0.7705
#Anova e regressão
anova(A11)
Type III Analysis of Variance Table with Satterthwaite's method
Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
Residuo 153.5 153.49 1 24 3.5732 0.07085 .
Descanso 3493.9 1164.65 3 24 27.1132 7.005e-08 ***
Residuo:Descanso 121.5 40.50 3 24 0.9428 0.43547
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
mediasA11=emmeans(A11, ~ Residuo)
NOTE: Results may be misleading due to involvement in interactions
mediasA11.1=emmeans(A11, ~ Descanso)
NOTE: Results may be misleading due to involvement in interactions
summary(mediasA11)
Residuo emmean SE df lower.CL upper.CL
1 21.9 1.64 10.5 18.2 25.5
2 26.3 1.64 10.5 22.6 29.9
Results are averaged over the levels of: Descanso
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
summary(mediasA11.1)
Descanso emmean SE df lower.CL upper.CL
1 8.94 2.32 21 4.12 13.8
2 20.58 2.32 21 15.76 25.4
3 29.98 2.32 21 25.17 34.8
4 36.75 2.32 21 31.93 41.6
Results are averaged over the levels of: Residuo
Degrees-of-freedom method: kenward-roger
Confidence level used: 0.95
regA11 <- lm(MB~poly(as.numeric(Descanso), degree = 2), data = acc)
summary(regA11)
Call:
lm(formula = MB ~ poly(as.numeric(Descanso), degree = 2), data = acc)
Residuals:
Min 1Q Median 3Q Max
-15.1985 -3.2645 -0.2401 4.2315 13.1748
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 24.063 1.186 20.284 < 2e-16 ***
poly(as.numeric(Descanso), degree = 2)1 58.706 6.711 8.748 1.25e-09 ***
poly(as.numeric(Descanso), degree = 2)2 -6.891 6.711 -1.027 0.313
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6.711 on 29 degrees of freedom
Multiple R-squared: 0.7279, Adjusted R-squared: 0.7091
F-statistic: 38.79 on 2 and 29 DF, p-value: 6.357e-09
PLOTS
1 - Curva de calibracao
mod = lm(Volume~psi,data=curve)
summary(mod)
Call:
lm(formula = Volume ~ psi, data = curve)
Residuals:
Min 1Q Median 3Q Max
-3.4400 -0.2887 -0.0344 0.1958 4.3202
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.04514 0.06625 0.681 0.496
psi 6.14316 0.03288 186.852 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.5832 on 319 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.9909, Adjusted R-squared: 0.9909
F-statistic: 3.491e+04 on 1 and 319 DF, p-value: < 2.2e-16
Line.equation <- function(A){
mod;
eq <- substitute(italic(y) == b*italic(x)~"+"~a~" "~~italic(R)^2~"="~r2,
list(a = format(unname(coef(mod)[1]), digits = 3),
b = format(unname(coef(mod)[2]), digits = 3),
r2 = format(summary(mod)$r.squared, digits = 2)))
as.character(as.expression(eq));
}
plot=ggplot(curve, aes(x=psi, y=Volume)) +
geom_point(shape=19, color='darkblue', size=1.3) +
geom_smooth(color='black', method=lm, se=F)+
scale_x_continuous(name ="Pressure (psi)", breaks=seq(0,4.5,0.5))+
scale_y_continuous(name = "Actual volume (mL)",breaks=seq(0,28,2))+
geom_text(x = 1.5, y = 24, color='black', size=4,label = Line.equation(A), parse = TRUE)+
theme(panel.background = element_rect(fill = "transparent", colour = "black",size = 0.3),
axis.line = element_line(colour = "black", size = 0.3, linetype = "solid"),
axis.title.y = element_text(size = 12),
axis.title.x = element_text(size = 12),
axis.text.x = element_text(size = 10),
axis.text.y = element_text(size = 10))
plot
#Save plots
save_plot("curve.pdf", plot, ncol = 1, nrow = 1)

2 - In vitro partitioning of organic
matter
# Plot 1
gp2 =gather(gp1, variables, value, MOincubada,MOVD,MOndegrad)
print(gp2)
regp1 <- lm(MOincubada~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(regp1)
Call:
lm(formula = MOincubada ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-46.496 -13.053 -0.195 12.304 39.507
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 725.27 1.43 507.190 < 2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 68.30 18.03 3.788 0.000217 ***
poly(as.numeric(frequencia), degree = 2)2 31.59 18.03 1.752 0.081770 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 18.03 on 156 degrees of freedom
Multiple R-squared: 0.1004, Adjusted R-squared: 0.08889
F-statistic: 8.708 on 2 and 156 DF, p-value: 0.00026
regp2 <- lm(MOndegrad~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(regp2)
Call:
lm(formula = MOndegrad ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-130.152 -43.176 -6.749 53.273 128.751
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 334.705 5.167 64.773 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 631.007 64.995 9.709 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)2 43.484 65.154 0.667 0.506
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 64.95 on 155 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.3794, Adjusted R-squared: 0.3713
F-statistic: 47.37 on 2 and 155 DF, p-value: < 2.2e-16
regp3 <- lm(MOVD~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(regp3)
Call:
lm(formula = MOVD ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-107.883 -36.175 0.159 35.771 123.157
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 390.811 4.282 91.273 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -561.252 53.856 -10.421 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)2 -15.297 53.988 -0.283 0.777
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 53.82 on 155 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.4122, Adjusted R-squared: 0.4046
F-statistic: 54.35 on 2 and 155 DF, p-value: < 2.2e-16
P1=ggplot(gp2, aes(x=as.numeric(frequencia),y=value,fill=variables, colour=variables))+
geom_density(stat="summary",fun="mean", alpha=0.2)+
scale_color_manual(values=c("blue","red","green"),name = "Partitioning (mg)",
labels = c("OM incubated (OMi)", "OM undegraded (OMu)", "OM degraded (OMd)"))+
scale_fill_manual(values=c("blue","red","green"),name = "Partitioning (mg)",
labels = c("OM incubated (OMi)", "OM undegraded (OMu)", "OM degraded (OMd)"))+
scale_x_discrete(name="Frequency (days)", limits=c("21", "28", "35","42"))+
coord_cartesian(ylim = c(0,1100))
P1

P1.1=P1+theme(axis.line = element_line(colour = "black", size = 0.3, linetype = "solid"),
panel.background = element_rect(fill = "white", colour = "black"),
legend.background = element_rect(fill = "transparent", size=0.5, linetype="solid",colour ="transparent"),
legend.position = c(0.17, 0.82))+scale_y_continuous(name="OM partitioning (mg/g)", breaks=seq(0,950,50))+
annotate(geom="text", y=1050, x=3.5,
label=expression(paste(" OMi = 68.30x + 725.27 ", R^2, "= 0.10")), size=4, color="black")+
annotate(geom="text", y=980, x=3.5,
label=expression(paste("OMu = 631.0x + 334.71 ", R^2, "= 0.38")), size=4, color="black")+
annotate(geom="text", y=910, x=3.5,
label=expression(paste("OMd = -561.3x + 390.81 ", R^2, "= 0.41")), size=4, color="black")
P1.1

# Plot 2
gp3 =gather(gp1, variables, value, MO.AGV,MO.CO2.CH4.H2O, MO.Bio.Micro)
print(gp3)
regp1.1 <- lm(MO.AGV~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(regp1.1)
Call:
lm(formula = MO.AGV ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-48.06 -21.07 -15.91 27.21 50.27
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 108.282 2.287 47.338 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -21.699 28.843 -0.752 0.453
poly(as.numeric(frequencia), degree = 2)2 -6.205 28.843 -0.215 0.830
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 28.84 on 156 degrees of freedom
Multiple R-squared: 0.003909, Adjusted R-squared: -0.008861
F-statistic: 0.3061 on 2 and 156 DF, p-value: 0.7367
regp2.1 <- lm(MO.CO2.CH4.H2O~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(regp2.1)
Call:
lm(formula = MO.CO2.CH4.H2O ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-28.511 -13.365 -9.804 16.228 31.856
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 70.989 1.373 51.706 <2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -9.179 17.312 -0.530 0.597
poly(as.numeric(frequencia), degree = 2)2 -2.861 17.312 -0.165 0.869
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 17.31 on 156 degrees of freedom
Multiple R-squared: 0.001973, Adjusted R-squared: -0.01082
F-statistic: 0.1542 on 2 and 156 DF, p-value: 0.8572
regp3.1 <- lm(MO.Bio.Micro~poly(as.numeric(frequencia), degree = 2), data = gp1)
summary(regp3.1)
Call:
lm(formula = MO.Bio.Micro ~ poly(as.numeric(frequencia), degree = 2),
data = gp1)
Residuals:
Min 1Q Median 3Q Max
-177.33 -85.11 29.02 70.45 151.47
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 211.368 7.255 29.136 < 2e-16 ***
poly(as.numeric(frequencia), degree = 2)1 -531.358 91.247 -5.823 3.22e-08 ***
poly(as.numeric(frequencia), degree = 2)2 -4.095 91.471 -0.045 0.964
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 91.19 on 155 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.1795, Adjusted R-squared: 0.1689
F-statistic: 16.96 on 2 and 155 DF, p-value: 2.188e-07
P2=ggplot(gp3, aes(x=as.numeric(frequencia),y=value,fill=variables, colour=variables))+
geom_density(stat="summary",fun="mean", alpha=0.2)+
scale_color_manual(values=c("brown2","darkorchid","cyan2"),name = "Partitioning (mg)",
labels = c("OM for SCFA", "OM for MB", "OM for Gas"))+
scale_fill_manual(values=c("brown2","darkorchid","cyan2"),name = "Partitioning (mg)",
labels = c("OM for SCFA", "OM for MB", "OM for Gas"))+
scale_x_discrete(name="Frequency (days)", limits=c("21", "28", "35","42"))+
coord_cartesian(ylim = c(0,420))
P2

P2.1=P2+theme(axis.line = element_line(colour = "black", size = 0.3, linetype = "solid"),
panel.background = element_rect(fill = "white", colour = "black"),
legend.background = element_rect(fill = "transparent", size=0.5, linetype="solid",colour ="transparent"),
legend.position = c(0.13, 0.82))+scale_y_continuous(name="OM partitioning (mg/g)", breaks=seq(0,360,20))+
annotate(geom="text", y=395, x=3.3,
label=expression(paste("SCFA = -21.70x + 108.28 ", R^2, "= 0.004")), size=4, color="black")+
annotate(geom="text", y=365, x=3.3,
label=expression(paste(" MB = -531.4x + 211.37 ", R^2, "= 0.18")), size=4, color="black")+
annotate(geom="text", y=335, x=3.3,
label=expression(paste(" Gas = -9.179x + 70.99 ", R^2, "= 0.002")), size=4, color="black")
P2.1

#Save plots
side.by.side <- plot_grid(P1.1,P2.1,
labels = c("A", "B"),
ncol = 1, nrow =2, align = "V")
Warning: Removed 2 rows containing non-finite values (`stat_summary()`).Warning: is.na() aplicado a um objeto diferente de lista ou vetor de tipo 'expression'Warning: is.na() aplicado a um objeto diferente de lista ou vetor de tipo 'expression'Warning: is.na() aplicado a um objeto diferente de lista ou vetor de tipo 'expression'Warning: Removed 1 rows containing non-finite values (`stat_summary()`).Warning: is.na() aplicado a um objeto diferente de lista ou vetor de tipo 'expression'Warning: is.na() aplicado a um objeto diferente de lista ou vetor de tipo 'expression'Warning: is.na() aplicado a um objeto diferente de lista ou vetor de tipo 'expression'
side.by.side
save_plot("partitioning.pdf", side.by.side, ncol = 1, nrow = 2)

PACKAGE CITATIONS
citation()
To cite R in publications use:
R Core Team (2023). _R: A Language and Environment for Statistical Computing_. R Foundation for
Statistical Computing, Vienna, Austria. <https://www.R-project.org/>.
A BibTeX entry for LaTeX users is
@Manual{,
title = {R: A Language and Environment for Statistical Computing},
author = {{R Core Team}},
organization = {R Foundation for Statistical Computing},
address = {Vienna, Austria},
year = {2023},
url = {https://www.R-project.org/},
}
We have invested a lot of time and effort in creating R, please cite it when using it for data
analysis. See also ‘citation("pkgname")’ for citing R packages.
citation("lme4")
To cite lme4 in publications use:
Douglas Bates, Martin Maechler, Ben Bolker, Steve Walker (2015). Fitting Linear Mixed-Effects
Models Using lme4. Journal of Statistical Software, 67(1), 1-48. doi:10.18637/jss.v067.i01.
A BibTeX entry for LaTeX users is
@Article{,
title = {Fitting Linear Mixed-Effects Models Using {lme4}},
author = {Douglas Bates and Martin M{\"a}chler and Ben Bolker and Steve Walker},
journal = {Journal of Statistical Software},
year = {2015},
volume = {67},
number = {1},
pages = {1--48},
doi = {10.18637/jss.v067.i01},
}
citation("lmerTest")
To cite lmerTest in publications use:
Kuznetsova A, Brockhoff PB, Christensen RHB (2017). “lmerTest Package: Tests in Linear Mixed
Effects Models.” _Journal of Statistical Software_, *82*(13), 1-26. doi:10.18637/jss.v082.i13
<https://doi.org/10.18637/jss.v082.i13>.
A BibTeX entry for LaTeX users is
@Article{,
title = {{lmerTest} Package: Tests in Linear Mixed Effects Models},
author = {Alexandra Kuznetsova and Per B. Brockhoff and Rune H. B. Christensen},
journal = {Journal of Statistical Software},
year = {2017},
volume = {82},
number = {13},
pages = {1--26},
doi = {10.18637/jss.v082.i13},
}
citation("dplyr")
To cite package ‘dplyr’ in publications use:
Wickham H, François R, Henry L, Müller K, Vaughan D (2023). _dplyr: A Grammar of Data
Manipulation_. R package version 1.1.4, <https://CRAN.R-project.org/package=dplyr>.
A BibTeX entry for LaTeX users is
@Manual{,
title = {dplyr: A Grammar of Data Manipulation},
author = {Hadley Wickham and Romain François and Lionel Henry and Kirill Müller and Davis Vaughan},
year = {2023},
note = {R package version 1.1.4},
url = {https://CRAN.R-project.org/package=dplyr},
}
citation("tidyr")
To cite package ‘tidyr’ in publications use:
Wickham H, Vaughan D, Girlich M (2024). _tidyr: Tidy Messy Data_. R package version 1.3.1,
<https://CRAN.R-project.org/package=tidyr>.
A BibTeX entry for LaTeX users is
@Manual{,
title = {tidyr: Tidy Messy Data},
author = {Hadley Wickham and Davis Vaughan and Maximilian Girlich},
year = {2024},
note = {R package version 1.3.1},
url = {https://CRAN.R-project.org/package=tidyr},
}
citation("emmeans")
To cite package ‘emmeans’ in publications use:
Lenth R (2024). _emmeans: Estimated Marginal Means, aka Least-Squares Means_. R package version
1.10.0, <https://CRAN.R-project.org/package=emmeans>.
A BibTeX entry for LaTeX users is
@Manual{,
title = {emmeans: Estimated Marginal Means, aka Least-Squares Means},
author = {Russell V. Lenth},
year = {2024},
note = {R package version 1.10.0},
url = {https://CRAN.R-project.org/package=emmeans},
}
citation("ggplot2")
To cite ggplot2 in publications, please use
H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016.
A BibTeX entry for LaTeX users is
@Book{,
author = {Hadley Wickham},
title = {ggplot2: Elegant Graphics for Data Analysis},
publisher = {Springer-Verlag New York},
year = {2016},
isbn = {978-3-319-24277-4},
url = {https://ggplot2.tidyverse.org},
}
citation("cowplot")
To cite package ‘cowplot’ in publications use:
Wilke C (2024). _cowplot: Streamlined Plot Theme and Plot Annotations for 'ggplot2'_. R package
version 1.1.3, <https://CRAN.R-project.org/package=cowplot>.
A BibTeX entry for LaTeX users is
@Manual{,
title = {cowplot: Streamlined Plot Theme and Plot Annotations for 'ggplot2'},
author = {Claus O. Wilke},
year = {2024},
note = {R package version 1.1.3},
url = {https://CRAN.R-project.org/package=cowplot},
}
citation("corrplot")
To cite corrplot in publications use:
Taiyun Wei and Viliam Simko (2021). R package 'corrplot': Visualization of a Correlation Matrix
(Version 0.92). Available from https://github.com/taiyun/corrplot
A BibTeX entry for LaTeX users is
@Manual{corrplot2021,
title = {R package 'corrplot': Visualization of a Correlation Matrix},
author = {Taiyun Wei and Viliam Simko},
year = {2021},
note = {(Version 0.92)},
url = {https://github.com/taiyun/corrplot},
}
LS0tDQp0aXRsZTogIkVuc2FpbyAxIC0gVW5kZXJzdGFuZGluZyB0aGUgaW1wYWN0cyBvZiBpbnRlbnNpdHkgYW5kIGhhcnZlc3QgZnJlcXVlbmN5IG9uIFRpdGhvbmlhIGRpdmVyc2lmb2xpYSBmb3IgdXNlIGluIHRyb3BpY2FsIHNpbHZvcGFzdG9yYWwgc3lzdGVtcyINCmF1dGhvcjogIlZhZ25lciBPdmFuaSINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZGVwdGg6IDINCiAgICB0aGVtZTogdW5pdGVkDQotLS0NCg0KKioqDQoqKioNCg0KIyAqKlBhY2thZ2VzKioNCg0KYGBge3J9DQpsaWJyYXJ5KGxtZTQpI21vZGVsbyBtaXN0bw0KbGlicmFyeShsbWVyVGVzdCkjY29tcGxlbWVudGFyIGFvIGxtZTQNCmxpYnJhcnkoZHBseXIpI29yZ2FuaXphw6fDo28gZGUgZGFkb3MNCmxpYnJhcnkodGlkeXIpI29yZ2FuaXphw6fDo28gZGUgZGFkb3MNCmxpYnJhcnkoZW1tZWFucykjbWVkaWFzIGUgdGVzdGUgZGUgbWVkaWEgcGFyYSBtb2RlbG8gbWlzdG8NCmxpYnJhcnkoZ2dwbG90MikjZ3JhZmljb3MNCmxpYnJhcnkoY293cGxvdCkjc2FsdmFyIGdyYWZpY29zDQpsaWJyYXJ5KGNvcnJwbG90KSAjY29ycmVsYcOnw6NvDQpgYGANCg0KDQojICoqREFUQUJBU0UqKg0KDQpgYGB7cn0NCiNXZWF0aGVyDQoNCmNsaW1hMT1yZWFkLmNzdigiRDpcXEFybWF6ZW5hbWVudG9cXERBVEEgUlxcRW5zYWlvIDFcXERhdGFzXFxjbGltYTEuY3N2IikNCmNsaW1hMSRkYXRhID0gYXMuRGF0ZShhcy5jaGFyYWN0ZXIoY2xpbWExJGRhdGEsIGZvcm1hdCA9ICIlWSVtJGQiKSkNCmNsaW1hMSA9IGFycmFuZ2UoY2xpbWExLCBkYXRhKQ0Kc3RyKGNsaW1hMSkNCnByaW50KGNsaW1hMSkNCg0KY2xpbWEyPXJlYWQuY3N2KCJEOlxcQXJtYXplbmFtZW50b1xcREFUQSBSXFxFbnNhaW8gMVxcRGF0YXNcXGNsaW1hMi5jc3YiKQ0KY2xpbWEyJGRhdGEgPSBhcy5EYXRlKGFzLmNoYXJhY3RlcihjbGltYTIkZGF0YSwgZm9ybWF0ID0gIiVZJW0kZCIpKQ0KY2xpbWEyID0gYXJyYW5nZShjbGltYTIsIGRhdGEpDQpzdHIoY2xpbWEyKQ0KcHJpbnQoY2xpbWEyKQ0KDQojQmlvbWFzcyBwcm9kdWN0aW9uDQpiaW9tYXNzPXJlYWQuY3N2KCJEOlxcQXJtYXplbmFtZW50b1xcREFUQSBSXFxFbnNhaW8gMVxcRGF0YXNcXGJpb21hc3MuY3N2IikNCmJpb21hc3MkQ29ydGVzPWFzLmZhY3RvcihiaW9tYXNzJENvcnRlcykNCmJpb21hc3MkUmVzaWR1bz1hcy5mYWN0b3IoYmlvbWFzcyRSZXNpZHVvKQ0KYmlvbWFzcyREZXNjYW5zbz1hcy5mYWN0b3IoYmlvbWFzcyREZXNjYW5zbykNCmJpb21hc3MkTGluaGFzPWFzLmZhY3RvcihiaW9tYXNzJExpbmhhcykNCmJpb21hc3MkUEI9YmlvbWFzcyRQQioxMA0Kc3RyKGJpb21hc3MpDQpwcmludChiaW9tYXNzKQ0KDQojR2FzIHByb2R1Y3Rpb24NCmdwPXJlYWQuY3N2KCJEOlxcQXJtYXplbmFtZW50b1xcREFUQSBSXFxFbnNhaW8gMVxcRGF0YXNcXGdwLmNzdiIpDQpncCRpbnRlbnNpZGFkZT1hcy5mYWN0b3IoZ3AkaW50ZW5zaWRhZGUpDQpncCRmcmVxdWVuY2lhPWFzLmZhY3RvcihncCRmcmVxdWVuY2lhKQ0KZ3AkbGluaGFzPWFzLmZhY3RvcihncCRsaW5oYXMpDQpncCRpbm9jdWxvPWFzLmZhY3RvcihncCRpbm9jdWxvKQ0KZ3AkY29ydGVzPWFzLmZhY3RvcihncCRjb3J0ZXMpDQpncCR0ZW1wbz1hcy5mYWN0b3IoZ3AkdGVtcG8pDQpncCRHUD1hcy5mYWN0b3IoZ3AkR1ApDQpzdHIoZ3ApDQpwcmludChncCkNCg0KI0NhbGlicmF0aW9uIGN1cnZlDQpjdXJ2ZT1yZWFkLmNzdigiRDpcXEFybWF6ZW5hbWVudG9cXERBVEEgUlxcRW5zYWlvIDFcXERhdGFzXFxjdXJ2ZS5jc3YiKQ0KY3VydmUNCnN0cihjdXJ2ZSkNCnByaW50KGN1cnZlKQ0KYGBgDQoNCiMgKipXRUFUSEVSIENPTkRJVElPTlMqKg0KDQpgYGB7cn0NCg0KDQojQ1VUIDENCmRhdGVicmVha3MgPSBzZXEoYXMuRGF0ZSgiMjAyMS0wMi0wNCIpLCBhcy5EYXRlKCIyMDIxLTAzLTE4IiksIGJ5ID0gIjIgZGF5IikNCg0KcDE9Z2dwbG90KCkgKw0KICBnZW9tX2JhcihkYXRhID0gY2xpbWExWy1jKDg3OjE3MiksXSwgYWVzKGRhdGEsdmFsdWUqMS4zLGZpbGw9Z3JvdXApLHN0YXQ9ImlkZW50aXR5Iixwb3NpdGlvbiA9ICJkb2RnZSIsIHdpZHRoID0gMSkrDQogIGdlb21fcG9pbnQoZGF0YSA9IGNsaW1hMlstYyg4NzoxNzIpLF0sIGFlcyhkYXRhLCB2YWx1ZSwgc2hhcGU9Z3JvdXApLCBzaXplPTIpKw0KICBnZW9tX2xpbmUoZGF0YSA9IGNsaW1hMlstYyg4NzoxNzIpLF0sIGFlcyhkYXRhLCB2YWx1ZSwgZ3JvdXAgPSBncm91cCksIGNvbG9yID0gImJsYWNrIikrDQogIHNjYWxlX3NoYXBlX21hbnVhbCh2YWx1ZXMgPSBjKDE2LCAxNSksIG5hbWU9IE5VTEwsbGFiZWxzID0gYygiUmVsYXRpdmUgaHVtaWRpdHkgKCUpIiwiVGVtcGVyYXR1cmUgKMK6QykiKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcz1jKCJkYXJrYmx1ZSIsICJncmF5MjgiKSwgbmFtZT0gTlVMTCxsYWJlbHM9YygiUmFkaWF0aW9uIChNSi9tMiBkYXkpIiwiUmFpbmZhbGwgKG1tKSIpKSsNCiAgc2NhbGVfeV9jb250aW51b3VzKG5hbWU9ICJSZWxhdGl2ZSBodW1pZGl0eSAoJSk7IFRlbXBlcmF0dXJlICjCukMpIixicmVha3MgPSBzZXEoMCwgMTI1LCA1KSwgICBzZWMuYXhpcz1zZWNfYXhpcyh+Li8xLjMsbmFtZT0iUmFkaWF0aW9uIChNSi9tMiBkYXkpOyBSYWluZmFsbCAobW0pIixicmVha3M9c2VxKDAsOTgsNCkpKStjb29yZF9jYXJ0ZXNpYW4oeWxpbSA9IGMoMCwxMjApKStzY2FsZV94X2RhdGUobmFtZT1OVUxMLGJyZWFrcyA9IGRhdGVicmVha3MpDQpwMQ0KY3V0MT1wMSt0aGVtZShwYW5lbC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAidHJhbnNwYXJlbnQiKSwNCiAgICAgICAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9IGMoMC4yNSwgMC44OCksIA0KICAgICAgICAgICAgbGVnZW5kLmRpcmVjdGlvbj0iaG9yaXpvbnRhbCIsDQogICAgICAgICAgICBsZWdlbmQuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gInRyYW5zcGFyZW50Iiwgc2l6ZT0wLjUsIGxpbmV0eXBlPSJzb2xpZCIsY29sb3VyID0iYmxhY2siKSwNCiAgICAgICAgICAgIGxlZ2VuZC5rZXkuaGVpZ2h0ID0gdW5pdCgwLjQsImNtIiksICANCiAgICAgICAgICAgIGxlZ2VuZC5rZXkud2lkdGggPSB1bml0KDAuNCwiY20iKSwNCiAgICAgICAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTApLA0KICAgICAgICAgICAgYXhpcy5saW5lID0gZWxlbWVudF9saW5lKGNvbG91ciA9ICJibGFjayIsIHNpemUgPSAwLjcsIGxpbmV0eXBlID0gInNvbGlkIiksDQogICAgICAgICAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDMwLCBoanVzdCA9IDEsc2l6ZSA9IDkpLA0KICAgICAgICAgICAgYXhpcy50aXRsZS55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAxMiksDQogICAgICAgICAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gOSkNCiAgICAgICAgICAgICkNCmN1dDENCiNDVVQgMg0KZGF0ZWJyZWFrczEgPSBzZXEoYXMuRGF0ZSgiMjAyMi0xMC0yNyIpLCBhcy5EYXRlKCIyMDIyLTEyLTA4IiksIGJ5ID0gIjIgZGF5IikNCg0KcDI9Z2dwbG90KCkgKw0KICBnZW9tX2JhcihkYXRhID0gY2xpbWExWy1jKDE6ODYpLF0sIGFlcyhkYXRhLHZhbHVlKjEuMyxmaWxsPWdyb3VwKSxzdGF0PSJpZGVudGl0eSIscG9zaXRpb24gPSAiZG9kZ2UiLCB3aWR0aCA9IDEpKw0KICBnZW9tX3BvaW50KGRhdGEgPSBjbGltYTJbLWMoMTo4NiksXSwgYWVzKGRhdGEsIHZhbHVlLCBzaGFwZT1ncm91cCksIHNpemU9MikrDQogIGdlb21fbGluZShkYXRhID0gY2xpbWEyWy1jKDE6ODYpLF0sIGFlcyhkYXRhLCB2YWx1ZSwgZ3JvdXAgPSBncm91cCksIGNvbG9yID0gImJsYWNrIikrDQogIHNjYWxlX3NoYXBlX21hbnVhbCh2YWx1ZXMgPSBjKDE2LCAxNSksIG5hbWU9IE5VTEwsbGFiZWxzID0gYygiUmVsYXRpdmUgaHVtaWRpdHkgKCUpIiwiVGVtcGVyYXR1cmUgKMK6QykiKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcz1jKCJkYXJrYmx1ZSIsICJncmF5MjgiKSwgbmFtZT0gTlVMTCxsYWJlbHM9YygiUmFkaWF0aW9uIChNSi9tMiBkYXkpIiwiUmFpbmZhbGwgKG1tKSIpKSsNCiAgc2NhbGVfeV9jb250aW51b3VzKG5hbWU9ICJSZWxhdGl2ZSBodW1pZGl0eSAoJSk7IFRlbXBlcmF0dXJlICjCukMpIixicmVha3MgPSBzZXEoMCwgMTI1LCA1KSwgICBzZWMuYXhpcz1zZWNfYXhpcyh+Li8xLjMsbmFtZT0iUmFkaWF0aW9uIChNSi9tMiBkYXkpOyBSYWluZmFsbCAobW0pIixicmVha3M9c2VxKDAsOTgsNCkpKStjb29yZF9jYXJ0ZXNpYW4oeWxpbSA9IGMoMCwxMjApKStzY2FsZV94X2RhdGUobmFtZT1OVUxMLGJyZWFrcyA9IGRhdGVicmVha3MxKQ0KcDINCmN1dDI9cDIrdGhlbWUocGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gInRyYW5zcGFyZW50IiksDQogICAgICAgICAgICBsZWdlbmQucG9zaXRpb24gPSBjKDAuMjUsIDAuODgpLCANCiAgICAgICAgICAgIGxlZ2VuZC5kaXJlY3Rpb249Imhvcml6b250YWwiLA0KICAgICAgICAgICAgbGVnZW5kLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJ0cmFuc3BhcmVudCIsIHNpemU9MC41LCBsaW5ldHlwZT0ic29saWQiLGNvbG91ciA9ImJsYWNrIiksDQogICAgICAgICAgICBsZWdlbmQua2V5LmhlaWdodCA9IHVuaXQoMC40LCJjbSIpLCAgDQogICAgICAgICAgICBsZWdlbmQua2V5LndpZHRoID0gdW5pdCgwLjQsImNtIiksDQogICAgICAgICAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dChzaXplPTEwKSwNCiAgICAgICAgICAgIGF4aXMubGluZSA9IGVsZW1lbnRfbGluZShjb2xvdXIgPSAiYmxhY2siLCBzaXplID0gMC43LCBsaW5ldHlwZSA9ICJzb2xpZCIpLA0KICAgICAgICAgICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAzMCwgaGp1c3QgPSAxLHNpemUgPSA5KSwNCiAgICAgICAgICAgIGF4aXMudGl0bGUueSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpLA0KICAgICAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDkpKQ0KY3V0Mg0KYGBgDQoNCg0KIyAqKkJJT01BU1MgUFJPRFVDVElPTioqDQoNCiMjIF8qKjEtIENhbm9weSBoZWlnaHQgKGNtKSoqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChiaW9tYXNzJEFsdHVyYSkNCiNtb2RlbA0KDQptb2QxID0gbG1lcihBbHR1cmF+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0Kc3VtbWFyeShtb2QxKQ0KaGlzdChyZXNpZChtb2QxKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2QxKSkNCmJhcnRsZXR0LnRlc3QocmVzaWQobW9kMSl+aW50ZXJhY3Rpb24oUmVzaWR1bywgRGVzY2Fuc28pLCBkYXRhPWJpb21hc3MpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDEpDQptZWRpYXMxPWVtbWVhbnMobW9kMSx+IFJlc2lkdW8pDQptZWRpYXMxLjE9ZW1tZWFucyhtb2QxLH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhczEpDQpzdW1tYXJ5KG1lZGlhczEuMSkNCnJlZzE9bG0oQWx0dXJhfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnMSkNCmBgYA0KDQojIyBfKioyLSBCcmFuY2hlcyAobikqKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoYmlvbWFzcyRQZXJmaWxob3MpDQojbW9kZWwNCm1vZDIgPSBsbWVyKFBlcmZpbGhvc35SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQptb2QyLjEgPSBsbWVyKFBlcmZpbGhvc14wLjh+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0Kc3VtbWFyeShtb2QyLjEpDQpoaXN0KHJlc2lkKG1vZDIuMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMi4xKSkNCmJhcnRsZXR0LnRlc3QocmVzaWQobW9kMi4xKX5pbnRlcmFjdGlvbihSZXNpZHVvLCBEZXNjYW5zbyksIGRhdGE9YmlvbWFzcykNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMi4xKQ0KDQptZWRpYXMyPWVtbWVhbnMobW9kMix+IFJlc2lkdW8pDQptZWRpYXMyLjE9ZW1tZWFucyhtb2QyLH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhczIpDQpzdW1tYXJ5KG1lZGlhczIuMSkNCnJlZzI9bG0oUGVyZmlsaG9zfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnMikNCmBgYA0KDQojIyBfKiozLSBGcmVzaCBiaW9tYXNzIChnL3BsYW50KSoqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChiaW9tYXNzJEJpb21hc3NhTVYpDQojbW9kZWwNCm1vZDMgPSBsbWVyKEJpb21hc3NhTVZ+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0KbW9kMy4xID0gbG1lcihCaW9tYXNzYU1WXjAuM35SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQpoaXN0KHJlc2lkKG1vZDMuMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMy4xKSkNCmJhcnRsZXR0LnRlc3QocmVzaWQobW9kMy4xKX5pbnRlcmFjdGlvbihSZXNpZHVvLCBEZXNjYW5zbyksIGRhdGE9YmlvbWFzcykNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMy4xKQ0KbWVkaWFzMz1lbW1lYW5zKG1vZDMsIH4gUmVzaWR1bykNCm1lZGlhczMuMT1lbW1lYW5zKG1vZDMsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhczMpDQpzdW1tYXJ5KG1lZGlhczMuMSkNCnJlZzMgPC0gbG0oQmlvbWFzc2FNVn5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGJpb21hc3MpDQpzdW1tYXJ5KHJlZzMpDQpgYGANCg0KIyMgXyoqNC0gRHJ5IGJpb21hc3MgKGcvcGxhbnQpKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGJpb21hc3MkQmlvbWFzc2FNUykNCm91dGxpZXJzPWJveHBsb3QoYmlvbWFzcyRCaW9tYXNzYU1TKSRvdXQNCmJpb21hc3Nbd2hpY2goYmlvbWFzcyRCaW9tYXNzYU1TICVpbiUgb3V0bGllcnMpLF0NCg0KI21vZGVsDQptb2Q0ID0gbG1lcihCaW9tYXNzYU1TflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSsoMXxDb3J0ZXMpLCBkYXRhID0gYmlvbWFzcykNCm1vZDQuMSA9IGxtZXIoQmlvbWFzc2FNU14wLjV+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0KaGlzdChyZXNpZChtb2Q0LjEpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDQuMSkpDQpiYXJ0bGV0dC50ZXN0KHJlc2lkKG1vZDQuMSl+aW50ZXJhY3Rpb24oUmVzaWR1bywgRGVzY2Fuc28pLCBkYXRhPWJpb21hc3MpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDQuMSkNCm1lZGlhczQ9ZW1tZWFucyhtb2Q0LCB+IFJlc2lkdW8pDQptZWRpYXM0LjE9ZW1tZWFucyhtb2Q0LCB+IERlc2NhbnNvKQ0Kc3VtbWFyeShtZWRpYXM0KQ0Kc3VtbWFyeShtZWRpYXM0LjEpDQpyZWc0IDwtIGxtKEJpb21hc3NhTVN+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBiaW9tYXNzKQ0Kc3VtbWFyeShyZWc0KQ0KYGBgDQoNCiMjIF8qKjUtIExlYXZlcyAoZyBrZy0xIERNKSoqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChiaW9tYXNzJGZvbGhhTVMpDQpvdXRsaWVycz1ib3hwbG90KGJpb21hc3MkZm9saGFNUykkb3V0DQpiaW9tYXNzW3doaWNoKGJpb21hc3MkZm9saGFNUyAlaW4lIG91dGxpZXJzKSxdDQoNCiNtb2RlbA0KbW9kNSA9IGxtZXIoZm9saGFNU35SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQptb2Q1LjEgPSBsbWVyKGZvbGhhTVNeMC44flJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSsoMXxDb3J0ZXMpLCBkYXRhID0gYmlvbWFzcykNCmhpc3QocmVzaWQobW9kNS4xKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2Q1LjEpKQ0KYmFydGxldHQudGVzdChyZXNpZChtb2Q1LjEpfmludGVyYWN0aW9uKFJlc2lkdW8sIERlc2NhbnNvKSwgZGF0YT1iaW9tYXNzKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2Q1LjEpDQptZWRpYXM1PWVtbWVhbnMobW9kNSwgfiBSZXNpZHVvKQ0KbWVkaWFzNS4xPWVtbWVhbnMobW9kNSwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzNSkNCnN1bW1hcnkobWVkaWFzNS4xKQ0KcmVnNSA8LSBsbShmb2xoYU1TfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnNSkNCmBgYA0KDQojIyBfKio2LSBTdGVtcyAoZyBrZy0xIERNKSoqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChiaW9tYXNzJGNhdWxlTVMpDQoNCiNtb2RlbA0KbW9kNiA9IGxtZXIoY2F1bGVNU35SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQptb2Q2LjEgPSBsbWVyKGNhdWxlTVNeMS4xflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSsoMXxDb3J0ZXMpLCBkYXRhID0gYmlvbWFzcykNCmhpc3QocmVzaWQobW9kNi4xKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2Q2LjEpKQ0KYmFydGxldHQudGVzdChyZXNpZChtb2Q2LjEpfmludGVyYWN0aW9uKFJlc2lkdW8sIERlc2NhbnNvKSwgZGF0YT1iaW9tYXNzKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2Q2LjEpDQptZWRpYXM2PWVtbWVhbnMobW9kNiwgfiBSZXNpZHVvKQ0KbWVkaWFzNi4xPWVtbWVhbnMobW9kNiwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzNikNCnN1bW1hcnkobWVkaWFzNi4xKQ0KcmVnNiA8LSBsbShjYXVsZU1TfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnNikNCmBgYA0KDQojIyBfKio3LSBEZWFkIG1hdGVyaWFsIChnIGtnLTEgRE0pKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGJpb21hc3Mkc2VuZXNjZW50ZU1TKQ0KDQojbW9kZWwNCm1vZDcgPSBsbWVyKHNlbmVzY2VudGVNU35SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQptb2Q3LjEgPSBsbWVyKHNlbmVzY2VudGVNU14wLjQ1flJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSsoMXxDb3J0ZXMpLCBkYXRhID0gYmlvbWFzcykNCmhpc3QocmVzaWQobW9kNy4xKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2Q3LjEpKQ0KYmFydGxldHQudGVzdChyZXNpZChtb2Q3LjEpfmludGVyYWN0aW9uKFJlc2lkdW8sIERlc2NhbnNvKSwgZGF0YT1iaW9tYXNzKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2Q3LjEpDQptZWRpYXM3PWVtbWVhbnMobW9kNywgfiBSZXNpZHVvKQ0KbWVkaWFzNy4xPWVtbWVhbnMobW9kNywgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzNykNCnN1bW1hcnkobWVkaWFzNy4xKQ0KcmVnNyA8LSBsbShzZW5lc2NlbnRlTVN+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBiaW9tYXNzKQ0Kc3VtbWFyeShyZWc3KQ0KYGBgDQoNCiMjIF8qKjgtIExlYWYgKGcgcGxhbnQtMSBETSkqKl8NCg0KYGBge3J9DQpiaW9tYXNzJGxlYWYuYWNjdW11bGF0aW9uPWJpb21hc3MkQmlvbWFzc2FNUypiaW9tYXNzJGZvbGhhTVMvMTAwMA0KDQojb3V0bGllcnMNCmJveHBsb3QoYmlvbWFzcyRsZWFmLmFjY3VtdWxhdGlvbikNCg0KI21vZGVsDQptb2Q4ID0gbG1lcihsZWFmLmFjY3VtdWxhdGlvbn5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQptb2Q4LjEgPSBsbWVyKGxlYWYuYWNjdW11bGF0aW9uXjAuOX5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQpoaXN0KHJlc2lkKG1vZDguMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kOC4xKSkNCmJhcnRsZXR0LnRlc3QocmVzaWQobW9kOC4xKX5pbnRlcmFjdGlvbihSZXNpZHVvLCBEZXNjYW5zbyksIGRhdGE9YmlvbWFzcykNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kOC4xKQ0KbWVkaWFzOD1lbW1lYW5zKG1vZDgsIH4gUmVzaWR1bykNCm1lZGlhczguMT1lbW1lYW5zKG1vZDgsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhczgpDQpzdW1tYXJ5KG1lZGlhczguMSkNCnJlZzggPC0gbG0obGVhZi5hY2N1bXVsYXRpb25+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBiaW9tYXNzKQ0Kc3VtbWFyeShyZWc4KQ0KYGBgDQojIyBfKio5LSBTdGVtIChnIHBsYW50LTEgRE0pKipfDQoNCmBgYHtyfQ0KYmlvbWFzcyRzdGVtLmFjY3VtdWxhdGlvbj1iaW9tYXNzJEJpb21hc3NhTVMqYmlvbWFzcyRjYXVsZU1TLzEwMDANCg0KI291dGxpZXJzDQpib3hwbG90KGJpb21hc3Mkc3RlbS5hY2N1bXVsYXRpb24pDQoNCiNtb2RlbA0KbW9kOSA9IGxtZXIoc3RlbS5hY2N1bXVsYXRpb25+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0KbW9kOS4xID0gbG1lcihzdGVtLmFjY3VtdWxhdGlvbl4wLjV+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0KaGlzdChyZXNpZChtb2Q5LjEpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDkuMSkpDQpiYXJ0bGV0dC50ZXN0KHJlc2lkKG1vZDkuMSl+aW50ZXJhY3Rpb24oUmVzaWR1bywgRGVzY2Fuc28pLCBkYXRhPWJpb21hc3MpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDkuMSkNCm1lZGlhczk9ZW1tZWFucyhtb2Q5LCB+IFJlc2lkdW8pDQptZWRpYXM5LjE9ZW1tZWFucyhtb2Q5LCB+IERlc2NhbnNvKQ0Kc3VtbWFyeShtZWRpYXM5KQ0Kc3VtbWFyeShtZWRpYXM5LjEpDQpyZWc5IDwtIGxtKHN0ZW0uYWNjdW11bGF0aW9ufnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnOSkNCmBgYA0KDQojIyBfKioxMC0gRGVhZCBtYXRlcmlhbCAoZyBwbGFudC0xIERNKSoqXw0KDQpgYGB7cn0NCmJpb21hc3MkZGVhZC5hY2N1bXVsYXRpb249YmlvbWFzcyRCaW9tYXNzYU1TKmJpb21hc3Mkc2VuZXNjZW50ZU1TLzEwMDANCg0KI291dGxpZXJzDQpib3hwbG90KGJpb21hc3MkZGVhZC5hY2N1bXVsYXRpb24pDQoNCiNtb2RlbA0KbW9kMTAgPSBsbWVyKGRlYWQuYWNjdW11bGF0aW9uflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSsoMXxDb3J0ZXMpLCBkYXRhID0gYmlvbWFzcykNCm1vZDEwLjEgPSBsbWVyKGRlYWQuYWNjdW11bGF0aW9uXjAuNX5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQpoaXN0KHJlc2lkKG1vZDEwLjEpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDEwLjEpKQ0KYmFydGxldHQudGVzdChyZXNpZChtb2QxMC4xKX5pbnRlcmFjdGlvbihSZXNpZHVvLCBEZXNjYW5zbyksIGRhdGE9YmlvbWFzcykNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMTAuMSkNCm1lZGlhczEwPWVtbWVhbnMobW9kMTAsIH4gUmVzaWR1bykNCm1lZGlhczEwLjE9ZW1tZWFucyhtb2QxMCwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzMTApDQpzdW1tYXJ5KG1lZGlhczEwLjEpDQpyZWcxMCA8LSBsbShkZWFkLmFjY3VtdWxhdGlvbn5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGJpb21hc3MpDQpzdW1tYXJ5KHJlZzEwKQ0KYGBgDQojIyBfKipDb3JyZWxhdGlvbioqXw0KDQpgYGB7cn0NCmxpYnJhcnkoY29ycnBsb3QpDQpiaW9tYXNzJFJlc2lkdW89YXMubnVtZXJpYyhiaW9tYXNzJFJlc2lkdW8pDQpiaW9tYXNzJERlc2NhbnNvPWFzLm51bWVyaWMoYmlvbWFzcyREZXNjYW5zbykNCm1jb3IgPSBjb3IoYmlvbWFzc1tjKDMsNCw2LDcsOSwxMywxNCwyNzozMSldKQ0KbWNvcg0KY29sbmFtZXMobWNvcikgPC0gYygiSW50ZW5zaXR5IiwiRnJlcXVlbmN5IiwgIkNhbm9weSBoZWlnaHQiLCAiQnJhbmNoZXMgKG4pIiwgIkJpb21hc3MgcHJvZHVjdGlvbiIsICJMZWFmIHByb3BvcnRpb24iLCAiU3RlbSBwcm9wb3J0aW9uIiwgIlRlbXBlcmF0dXJlIiwgIlJlbGF0aXZlIEh1bWlkaXR5IiwgIlJhaW5mYWxsIiwgIkdsb2JhbCByYWRpYXRpb24iLCAiTGVhZiBwcm9kdWN0aW9uIikNCg0Kcm93bmFtZXMobWNvcikgPC0gYygiSW50ZW5zaXR5IiwiRnJlcXVlbmN5IiwgIkNhbm9weSBoZWlnaHQiLCAiQnJhbmNoZXMgKG4pIiwgIkJpb21hc3MgcHJvZHVjdGlvbiIsICJMZWFmIHByb3BvcnRpb24iLCAiU3RlbSBwcm9wb3J0aW9uIiwgIlRlbXBlcmF0dXJlIiwgIlJlbGF0aXZlIEh1bWlkaXR5IiwgIlJhaW5mYWxsIiwgIkdsb2JhbCByYWRpYXRpb24iLCJMZWFmIHByb2R1Y3Rpb24iKQ0KdGVzdFJlcyA9IGNvci5tdGVzdChtY29yLCBjb25mLmxldmVsID0gMC45NSkNCg0KcGFyKGZhbWlseT0ic2FucyIpDQoNCmNvcnJwbG90KG1jb3IsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgcC5tYXQgPSB0ZXN0UmVzJHAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gImNvbG9yIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICB0bC5jb2wgPSAiYmxhY2siLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRsLmNleCA9IDAuOCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAidXBwZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgPSAiQU9FIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICNoY2x1c3QubWV0aG9kID0gImNlbnRyb2lkIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2lnID0gImJsYW5rIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIuY2V4ID0gMC43LCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGdyaWQuY29sID0gImJsYWNrIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICBjb2wgPSBjb2xvclJhbXBQYWxldHRlKGMoIiM4QzUxMEEiLCIjZjVmNWY1IiwiIzFCN0U3NiIpKSgxMDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgY2wubGVuZ3RoID0gMTEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRDb2VmLmNvbCA9ICJibGFjayIpDQpiaW9tYXNzJFJlc2lkdW89YXMuZmFjdG9yKGJpb21hc3MkUmVzaWR1bykNCmJpb21hc3MkRGVzY2Fuc289YXMuZmFjdG9yKGJpb21hc3MkRGVzY2Fuc28pDQpgYGANCg0KDQojICoqQlJPTUFUT0xPR0lBKioNCg0KIyMgXyoqMTEtIERNKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGJpb21hc3MkRE0pDQojbW9kZWwNCm1vZDExID0gbG1lcihETX5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQptb2QxMS4xID0gbG1lcihzcXJ0KG1heChETSsxKSAtIERNKX5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQpoaXN0KHJlc2lkKG1vZDExLjEpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDExLjEpKQ0KYmFydGxldHQudGVzdChyZXNpZChtb2QxMS4xKX5pbnRlcmFjdGlvbihSZXNpZHVvLCBEZXNjYW5zbyksIGRhdGE9YmlvbWFzcykNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMTEuMSkNCm1lZGlhczExPWVtbWVhbnMobW9kMTEsIH4gUmVzaWR1bykNCm1lZGlhczExLjE9ZW1tZWFucyhtb2QxMSwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzMTEpDQpzdW1tYXJ5KG1lZGlhczExLjEpDQpyZWcxMSA8LSBsbShETX5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGJpb21hc3MpDQpzdW1tYXJ5KHJlZzExKQ0KYGBgDQoNCiMjIF8qKjEyLSBNTSoqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChiaW9tYXNzJE1NKQ0KDQojbW9kZWwNCm1vZDEyID0gbG1lcihNTX5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQpoaXN0KHJlc2lkKG1vZDEyKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2QxMikpDQpiYXJ0bGV0dC50ZXN0KHJlc2lkKG1vZDEyKX5pbnRlcmFjdGlvbihSZXNpZHVvLCBEZXNjYW5zbyksIGRhdGE9YmlvbWFzcykNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMTIpDQptZWRpYXMxMj1lbW1lYW5zKG1vZDEyLCB+IFJlc2lkdW8pDQptZWRpYXMxMi4xPWVtbWVhbnMobW9kMTIsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhczEyKQ0Kc3VtbWFyeShtZWRpYXMxMi4xKQ0KcmVnMTIgPC0gbG0oTU1+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBiaW9tYXNzKQ0Kc3VtbWFyeShyZWcxMikNCmBgYA0KDQojIyBfKioxMy0gUEIqKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoYmlvbWFzcyRQQikNCg0KI21vZGVsDQptb2QxMyA9IGxtZXIoUEJ+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0KaGlzdChyZXNpZChtb2QxMykpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMTMpKQ0KYmFydGxldHQudGVzdChyZXNpZChtb2QxMyl+aW50ZXJhY3Rpb24oUmVzaWR1bywgRGVzY2Fuc28pLCBkYXRhPWJpb21hc3MpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDEzKQ0KbWVkaWFzMTM9ZW1tZWFucyhtb2QxMywgfiBSZXNpZHVvKQ0KbWVkaWFzMTMuMT1lbW1lYW5zKG1vZDEzLCB+IERlc2NhbnNvKQ0Kc3VtbWFyeShtZWRpYXMxMykNCnN1bW1hcnkobWVkaWFzMTMuMSkNCnJlZzEzIDwtIGxtKFBCfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnMTMpDQpgYGANCg0KIyMgXyoqMTQtIEVFKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGJpb21hc3MkRUUpDQoNCiNtb2RlbA0KbW9kMTQgPSBsbWVyKEVFflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSsoMXxDb3J0ZXMpLCBkYXRhID0gYmlvbWFzcykNCmhpc3QocmVzaWQobW9kMTQpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDE0KSkNCmJhcnRsZXR0LnRlc3QocmVzaWQobW9kMTQpfmludGVyYWN0aW9uKFJlc2lkdW8sIERlc2NhbnNvKSwgZGF0YT1iaW9tYXNzKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2QxNCkNCm1lZGlhczE0PWVtbWVhbnMobW9kMTQsIH4gUmVzaWR1bykNCm1lZGlhczE0LjE9ZW1tZWFucyhtb2QxNCwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzMTQpDQpzdW1tYXJ5KG1lZGlhczE0LjEpDQpyZWcxNCA8LSBsbShFRX5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGJpb21hc3MpDQpzdW1tYXJ5KHJlZzE0KQ0KYGBgDQojIyBfKioxNS0gYUZETm9tKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGJpb21hc3MkYUZETm9tKQ0KDQojbW9kZWwNCm1vZDE1ID0gbG1lcihhRkROb21+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpKygxfENvcnRlcyksIGRhdGEgPSBiaW9tYXNzKQ0KaGlzdChyZXNpZChtb2QxNSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMTUpKQ0KYmFydGxldHQudGVzdChyZXNpZChtb2QxNSl+aW50ZXJhY3Rpb24oUmVzaWR1bywgRGVzY2Fuc28pLCBkYXRhPWJpb21hc3MpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDE1KQ0KbWVkaWFzMTU9ZW1tZWFucyhtb2QxNSwgfiBSZXNpZHVvKQ0KbWVkaWFzMTUuMT1lbW1lYW5zKG1vZDE1LCB+IERlc2NhbnNvKQ0Kc3VtbWFyeShtZWRpYXMxNSkNCnN1bW1hcnkobWVkaWFzMTUuMSkNCnJlZzE1IDwtIGxtKGFGRE5vbX5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGJpb21hc3MpDQpzdW1tYXJ5KHJlZzE1KQ0KYGBgDQoNCiMjIF8qKjE2LSBhRkRBb20qKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoYmlvbWFzcyRhRkRBb20pDQoNCiNtb2RlbA0KbW9kMTYgPSBsbWVyKGFGREFvbX5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcykrKDF8Q29ydGVzKSwgZGF0YSA9IGJpb21hc3MpDQpoaXN0KHJlc2lkKG1vZDE2KSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2QxNikpDQpiYXJ0bGV0dC50ZXN0KHJlc2lkKG1vZDE2KX5pbnRlcmFjdGlvbihSZXNpZHVvLCBEZXNjYW5zbyksIGRhdGE9YmlvbWFzcykNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMTYpDQptZWRpYXMxNj1lbW1lYW5zKG1vZDE2LCB+IFJlc2lkdW8pDQptZWRpYXMxNi4xPWVtbWVhbnMobW9kMTYsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhczE2KQ0Kc3VtbWFyeShtZWRpYXMxNi4xKQ0KcmVnMTYgPC0gbG0oYUZEQW9tfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnMTYpDQpgYGANCg0KIyMgXyoqMTctIGFMREFvbSoqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChiaW9tYXNzJGFMREFvbSkNCg0KI21vZGVsDQptb2QxNyA9IGxtZXIoYUxEQW9tflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSsoMXxDb3J0ZXMpLCBkYXRhID0gYmlvbWFzcykNCmhpc3QocmVzaWQobW9kMTcpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDE3KSkNCmJhcnRsZXR0LnRlc3QocmVzaWQobW9kMTcpfmludGVyYWN0aW9uKFJlc2lkdW8sIERlc2NhbnNvKSwgZGF0YT1iaW9tYXNzKQ0KbGlicmFyeShwYmtydGVzdCkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMTcpDQptZWRpYXMxNz1lbW1lYW5zKG1vZDE3LCB+IFJlc2lkdW8pDQptZWRpYXMxNy4xPWVtbWVhbnMobW9kMTcsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhczE3KQ0Kc3VtbWFyeShtZWRpYXMxNy4xKQ0KcmVnMTcgPC0gbG0oYUxEQW9tfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYmlvbWFzcykNCnN1bW1hcnkocmVnMTcpDQpgYGANCg0KIyAqKkdBUyBQUk9EVUNUSU9OKioNCg0KIyMgXyoqMTgtIE5ldEdQMjRoLm1MZ09NKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGdwJE5ldEdQMjRoLm1MZ09NKQ0Kb3V0bGllcnMgPSBib3hwbG90KGdwJE5ldEdQMjRoLm1MZ09NKSRvdXQNCmdwW3doaWNoKGdwJE5ldEdQMjRoLm1MZ09NICVpbiUgb3V0bGllcnMpLF0NCg0KI21vZGVsDQptb2QxOCA9IGxtZXIoTmV0R1AyNGgubUxnT01+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwWy1jKDI5MSwzMDUsMzE5LDMyMCksXSkNCmhpc3QocmVzaWQobW9kMTgpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDE4KSkNCg0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2QxOCkNCm1lZGlhczE4PWVtbWVhbnMobW9kMTgsIH4gaW50ZW5zaWRhZGUpDQptZWRpYXMxOC4xPWVtbWVhbnMobW9kMTgsIH4gZnJlcXVlbmNpYSkNCnN1bW1hcnkobWVkaWFzMTgpDQpzdW1tYXJ5KG1lZGlhczE4LjEpDQpyZWcxOCA8LSBsbShOZXRHUDI0aC5tTGdPTX5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3BbLWMoMjkxLDMwNSwzMTksMzIwKSxdKQ0Kc3VtbWFyeShyZWcxOCkNCmBgYA0KIyMgXyoqMTktIE5ldEdQMjRoLm1MZ0RPTSoqXw0KDQpgYGB7cn0NCg0KZ3AkTmV0R1AyNGgubUxnRE9NPWdwJE5ldEdQMjRoLm1MZ09NL2dwJERNTy5na2cqMTAwMA0KcHJpbnQoZ3ApDQojb3V0bGllcnMNCmJveHBsb3QoZ3AkTmV0R1AyNGgubUxnRE9NKQ0KDQojbW9kZWwNCm1vZDE5ID0gbG1lcihOZXRHUDI0aC5tTGdET01+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwKQ0KaGlzdChyZXNpZChtb2QxOSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMTkpKQ0KDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDE5KQ0KbWVkaWFzMTk9ZW1tZWFucyhtb2QxOSwgfiBpbnRlbnNpZGFkZSkNCm1lZGlhczE5LjE9ZW1tZWFucyhtb2QxOSwgfiBmcmVxdWVuY2lhKQ0Kc3VtbWFyeShtZWRpYXMxOSkNCnN1bW1hcnkobWVkaWFzMTkuMSkNCnJlZzE5IDwtIGxtKE5ldEdQMjRoLm1MZ0RPTX5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3ApDQpzdW1tYXJ5KHJlZzE5KQ0KYGBgDQoNCiMjIF8qKjIwLSBOZXRDSDQyNGgubUxnT00qKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoZ3AkTmV0Q0g0MjRoLm1MZ09NKQ0Kb3V0bGllcnMgPSBib3hwbG90KGdwJE5ldENINDI0aC5tTGdPTSkkb3V0DQpncFt3aGljaChncCROZXRDSDQyNGgubUxnT00gJWluJSBvdXRsaWVycyksXQ0KDQojbW9kZWwNCm1vZDIwID0gbG1lcihOZXRDSDQyNGgubUxnT01+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwWy1jKDE4KSxdKQ0KaGlzdChyZXNpZChtb2QyMCkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMjApKQ0KDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDIwKQ0KbWVkaWFzMjA9ZW1tZWFucyhtb2QyMCwgfiBpbnRlbnNpZGFkZSkNCm1lZGlhczIwLjE9ZW1tZWFucyhtb2QyMCwgfiBmcmVxdWVuY2lhKQ0Kc3VtbWFyeShtZWRpYXMyMCkNCnN1bW1hcnkobWVkaWFzMjAuMSkNCnJlZzIwIDwtIGxtKE5ldENINDI0aC5tTGdPTX5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3BbLWMoMTgpLF0pDQpzdW1tYXJ5KHJlZzIwKQ0KYGBgDQojIyBfKioyMS0gTmV0Q0g0MjRoLm1MZ0RPTSoqXw0KDQpgYGB7cn0NCmdwJE5ldENINDI0aC5tTGdET009Z3AkTmV0Q0g0MjRoLm1MZ09NL2dwJERNTy5na2cqMTAwMA0KDQoNCiNvdXRsaWVycw0KYm94cGxvdChncCROZXRDSDQyNGgubUxnRE9NKQ0Kb3V0bGllcnMgPSBib3hwbG90KGdwJE5ldENINDI0aC5tTGdET00pJG91dA0KZ3Bbd2hpY2goZ3AkTmV0Q0g0MjRoLm1MZ0RPTSAlaW4lIG91dGxpZXJzKSxdDQoNCiNtb2RlbA0KbW9kMjEgPSBsbWVyKE5ldENINDI0aC5tTGdET01+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwWy1jKDE4KSxdKQ0KaGlzdChyZXNpZChtb2QyMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMjEpKQ0KDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDIxKQ0KbWVkaWFzMjE9ZW1tZWFucyhtb2QyMSwgfiBpbnRlbnNpZGFkZSkNCm1lZGlhczIxLjE9ZW1tZWFucyhtb2QyMSwgfiBmcmVxdWVuY2lhKQ0Kc3VtbWFyeShtZWRpYXMyMSkNCnN1bW1hcnkobWVkaWFzMjEuMSkNCnJlZzIxIDwtIGxtKE5ldENINDI0aC5tTGdET01+cG9seShhcy5udW1lcmljKGZyZXF1ZW5jaWEpLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGdwWy1jKDE4KSxdKQ0Kc3VtbWFyeShyZWcyMSkNCmBgYA0KDQoNCiMjIF8qKjIyLSBETU8uZ2tnKipfDQoNCmBgYHtyfQ0KZ3AxICA8LSBzdWJzZXQoZ3BbLTI1NixdLCB0ZW1wbz09YygiMjRoIikpDQpncDEkTU9uZGVncmFkPWdwMSRNT25kZWdyYWQqMTAwMA0KDQojb3V0bGllcnMNCmJveHBsb3QoZ3AxJERNTy5na2cpDQoNCiNtb2RlbA0KbW9kMjEgPSBsbWVyKERNTy5na2d+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwMSkNCm1vZDIxLjEgPSBsbWVyKERNTy5na2deMC44fmludGVuc2lkYWRlKmZyZXF1ZW5jaWErKDF8bGluaGFzKSsoMXxHUCksIGRhdGEgPSBncDEpDQpoaXN0KHJlc2lkKG1vZDIxLjEpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDIxLjEpKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2QyMS4xKQ0KbWVkaWFzMjE9ZW1tZWFucyhtb2QyMSwgfiBpbnRlbnNpZGFkZSkNCm1lZGlhczIxLjE9ZW1tZWFucyhtb2QyMSwgfiBmcmVxdWVuY2lhKQ0Kc3VtbWFyeShtZWRpYXMyMSkNCnN1bW1hcnkobWVkaWFzMjEuMSkNCnJlZzIxIDwtIGxtKERNTy5na2d+cG9seShhcy5udW1lcmljKGZyZXF1ZW5jaWEpLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGdwMSkNCnN1bW1hcnkocmVnMjEpDQpgYGANCg0KIyMgXyoqMjMtIERGRE4uZ2tnKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGdwMSRERkROLmdrZykNCg0KI21vZGVsDQptb2QyMyA9IGxtZXIoREZETi5na2d+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwMSkNCm1vZDIzLjEgPSBsbWVyKERGRE4uZ2tnXjAuNn5pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxKQ0KaGlzdChyZXNpZChtb2QyMy4xKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2QyMy4xKSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMjMuMSkNCm1lZGlhczIzPWVtbWVhbnMobW9kMjMsIH4gaW50ZW5zaWRhZGUpDQptZWRpYXMyMy4xPWVtbWVhbnMobW9kMjMsIH4gZnJlcXVlbmNpYSkNCnN1bW1hcnkobWVkaWFzMjMpDQpzdW1tYXJ5KG1lZGlhczIzLjEpDQpyZWcyMyA8LSBsbShERkROLmdrZ35wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3AxKQ0Kc3VtbWFyeShyZWcyMykNCmBgYA0KDQojIyBfKioyNC0gTmFtb25pYWNhbCoqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChncDEkTmFtb25pYWNhbCkNCg0KI21vZGVsDQptb2QyNCA9IGxtZXIoTmFtb25pYWNhbH5pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxKQ0KbW9kMjQuMSA9IGxtZXIoTmFtb25pYWNhbF4wLjh+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwMSkNCmhpc3QocmVzaWQobW9kMjQuMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMjQuMSkpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDI0LjEpDQptZWRpYXMyND1lbW1lYW5zKG1vZDI0LCB+IGludGVuc2lkYWRlKQ0KbWVkaWFzMjQuMT1lbW1lYW5zKG1vZDI0LCB+IGZyZXF1ZW5jaWEpDQpzdW1tYXJ5KG1lZGlhczI0KQ0Kc3VtbWFyeShtZWRpYXMyNC4xKQ0KcmVnMjQgPC0gbG0oTmFtb25pYWNhbH5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3AxKQ0Kc3VtbWFyeShyZWcyNCkNCmBgYA0KDQojIyBfKioyNS0gcEgqKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoZ3AxJHBIKQ0Kb3V0bGllcnMgPSBib3hwbG90KGdwMSRwSCkkb3V0DQpncFt3aGljaChncDEkcEggJWluJSBvdXRsaWVycyksXQ0KDQojbW9kZWwNCm1vZDI1ID0gbG1lcihwSH5pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxWy1jKDEzOCksXSkNCm1vZDI1LjEgPSBsbWVyKHBIXjEuMn5pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxWy1jKDEzOCksXSkNCmhpc3QocmVzaWQobW9kMjUuMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMjUuMSkpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDI1LjEpDQptZWRpYXMyNT1lbW1lYW5zKG1vZDI1LCB+IGludGVuc2lkYWRlKQ0KbWVkaWFzMjUuMT1lbW1lYW5zKG1vZDI1LCB+IGZyZXF1ZW5jaWEpDQpzdW1tYXJ5KG1lZGlhczI1KQ0Kc3VtbWFyeShtZWRpYXMyNS4xKQ0KcmVnMjUgPC0gbG0ocEh+cG9seShhcy5udW1lcmljKGZyZXF1ZW5jaWEpLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGdwMSkNCnN1bW1hcnkocmVnMjUpDQpgYGANCg0KIyMgXyoqMjYtIEFHVnRvdGFsKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGdwMVstYygxMzkpLF0kQUdWdG90YWwpDQojbW9kZWwNCm1vZDI2PSBsbWVyKEFHVnRvdGFsfmludGVuc2lkYWRlKmZyZXF1ZW5jaWErKDF8bGluaGFzKSsoMXxHUCksIGRhdGEgPSBncDEpDQptb2QyNi4xPSBsbWVyKEFHVnRvdGFsXjEuNX5pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxKQ0KaGlzdChyZXNpZChtb2QyNi4xKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2QyNi4xKSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMjYuMSkNCm1lZGlhczI2PWVtbWVhbnMobW9kMjYsIH4gaW50ZW5zaWRhZGUpDQptZWRpYXMyNi4xPWVtbWVhbnMobW9kMjYsIH4gZnJlcXVlbmNpYSkNCnN1bW1hcnkobWVkaWFzMjYpDQpzdW1tYXJ5KG1lZGlhczI2LjEpDQpyZWcyNiA8LSBsbShBR1Z0b3RhbH5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3AxKQ0Kc3VtbWFyeShyZWcyNikNCmBgYA0KDQojIyBfKioyNy0gQWNldGljbzEwMCoqXw0KDQpgYGB7cn0NCmdwMSRBY2V0aWNvMTAwPWdwMSRBY2V0aWNvKjEwMC9ncDEkQUdWdG90YWwNCnByaW50KGdwMSkNCg0KI291dGxpZXJzDQpib3hwbG90KGdwMSRBY2V0aWNvMTAwKQ0KDQojbW9kZWwNCm1vZDI3PSBsbWVyKEFjZXRpY28xMDB+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwMSkNCm1vZDI3LjE9IGxtZXIoQWNldGljbzEwMF4yLjV+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwMSkNCmhpc3QocmVzaWQobW9kMjcuMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMjcuMSkpI07Do28gdHJhbnNmb3JtYQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2QyNykNCm1lZGlhczI3PWVtbWVhbnMobW9kMjcsIH4gaW50ZW5zaWRhZGUpDQptZWRpYXMyNy4xPWVtbWVhbnMobW9kMjcsIH4gZnJlcXVlbmNpYSkNCnN1bW1hcnkobWVkaWFzMjcpDQpzdW1tYXJ5KG1lZGlhczI3LjEpDQpyZWcyNyA8LSBsbShBY2V0aWNvMTAwfnBvbHkoYXMubnVtZXJpYyhmcmVxdWVuY2lhKSwgZGVncmVlID0gMiksIGRhdGEgPSBncDEpDQpzdW1tYXJ5KHJlZzI3KQ0KYGBgDQoNCiMjIF8qKjI4LSBQcm9waW9uaWNvMTAwKipfDQoNCmBgYHtyfQ0KZ3AxJFByb3Bpb25pY28xMDA9Z3AxJFByb3Bpb25pY28qMTAwL2dwMSRBR1Z0b3RhbA0KcHJpbnQoZ3AxKQ0KDQojb3V0bGllcnMNCmJveHBsb3QoZ3AxJFByb3Bpb25pY28xMDApDQoNCiNtb2RlbA0KbW9kMjg9IGxtZXIoUHJvcGlvbmljbzEwMH5pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxKQ0KaGlzdChyZXNpZChtb2QyOCkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMjgpKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2QyOCkNCm1lZGlhczI4PWVtbWVhbnMobW9kMjgsIH4gaW50ZW5zaWRhZGUpDQptZWRpYXMyOC4xPWVtbWVhbnMobW9kMjgsIH4gZnJlcXVlbmNpYSkNCnN1bW1hcnkobWVkaWFzMjgpDQpzdW1tYXJ5KG1lZGlhczI4LjEpDQpyZWcyOCA8LSBsbShQcm9waW9uaWNvMTAwfnBvbHkoYXMubnVtZXJpYyhmcmVxdWVuY2lhKSwgZGVncmVlID0gMiksIGRhdGEgPSBncDEpDQpzdW1tYXJ5KHJlZzI4KQ0KYGBgDQoNCiMjIF8qKjI5LSBCdXRpcmljbzEwMCoqXw0KDQpgYGB7cn0NCmdwMSRCdXRpcmljbzEwMD1ncDEkQnV0aXJpY28qMTAwL2dwMSRBR1Z0b3RhbA0KcHJpbnQoZ3AxKQ0KDQojb3V0bGllcnMNCmJveHBsb3QoZ3AxJEJ1dGlyaWNvMTAwKQ0KDQojbW9kZWwNCm1vZDI5PSBsbWVyKEJ1dGlyaWNvMTAwfmludGVuc2lkYWRlKmZyZXF1ZW5jaWErKDF8bGluaGFzKSsoMXxHUCksIGRhdGEgPSBncDEpDQpoaXN0KHJlc2lkKG1vZDI5KSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2QyOSkpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKG1vZDI5KQ0KbWVkaWFzMjk9ZW1tZWFucyhtb2QyOSwgfiBpbnRlbnNpZGFkZSkNCm1lZGlhczI5LjE9ZW1tZWFucyhtb2QyOSwgfiBmcmVxdWVuY2lhKQ0Kc3VtbWFyeShtZWRpYXMyOSkNCnN1bW1hcnkobWVkaWFzMjkuMSkNCnJlZzI5IDwtIGxtKEJ1dGlyaWNvMTAwfnBvbHkoYXMubnVtZXJpYyhmcmVxdWVuY2lhKSwgZGVncmVlID0gMiksIGRhdGEgPSBncDEpDQpzdW1tYXJ5KHJlZzI5KQ0KYGBgDQoNCiMjIF8qKjMwLSBWYWxlcmljbzEwMCoqXw0KDQpgYGB7cn0NCmdwMSRWYWxlcmljbzEwMD1ncDEkVmFsZXJpY28qMTAwL2dwMSRBR1Z0b3RhbA0KDQojb3V0bGllcnMNCmJveHBsb3QoZ3AxJFZhbGVyaWNvMTAwKQ0KDQojbW9kZWwNCm1vZDMwPSBsbWVyKFZhbGVyaWNvMTAwfmludGVuc2lkYWRlKmZyZXF1ZW5jaWErKDF8bGluaGFzKSsoMXxHUCksIGRhdGEgPSBncDEpDQptb2QzMC4xPSBsbWVyKFZhbGVyaWNvMTAwXjEuM35pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxKQ0KaGlzdChyZXNpZChtb2QzMC4xKSkNCnNoYXBpcm8udGVzdChyZXNpZChtb2QzMC4xKSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMzAuMSkNCm1lZGlhczMwPWVtbWVhbnMobW9kMzAsIH4gaW50ZW5zaWRhZGUpDQptZWRpYXMzMC4xPWVtbWVhbnMobW9kMzAsIH4gZnJlcXVlbmNpYSkNCnN1bW1hcnkobWVkaWFzMzApDQpzdW1tYXJ5KG1lZGlhczMwLjEpDQpyZWczMCA8LSBsbShWYWxlcmljbzEwMH5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3AxKQ0Kc3VtbWFyeShyZWczMCkNCmBgYA0KDQojIyBfKiozMS0gSXNvYnV0aXJpY28xMDAqKl8NCg0KYGBge3J9DQpncDEkSXNvYnV0aXJpY28xMDA9Z3AxJElzb2J1dGlyaWNvKjEwMC9ncDEkQUdWdG90YWwNCg0KI291dGxpZXJzDQpib3hwbG90KGdwMSRJc29idXRpcmljbzEwMCkNCg0KI21vZGVsDQptb2QzMT0gbG1lcihJc29idXRpcmljbzEwMH5pbnRlbnNpZGFkZSpmcmVxdWVuY2lhKygxfGxpbmhhcykrKDF8R1ApLCBkYXRhID0gZ3AxKQ0KaGlzdChyZXNpZChtb2QzMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQobW9kMzEpKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShtb2QzMSkNCm1lZGlhczMxPWVtbWVhbnMobW9kMzEsIH4gaW50ZW5zaWRhZGUpDQptZWRpYXMzMS4xPWVtbWVhbnMobW9kMzEsIH4gZnJlcXVlbmNpYSkNCnN1bW1hcnkobWVkaWFzMzEpDQpzdW1tYXJ5KG1lZGlhczMxLjEpDQpyZWczMSA8LSBsbShJc29idXRpcmljbzEwMH5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3AxKQ0Kc3VtbWFyeShyZWczMSkNCmBgYA0KDQojIyBfKiozMi0gSXNvdmFsZXJpY28xMDAqKl8NCg0KYGBge3J9DQpncDEkSXNvdmFsZXJpY28xMDA9Z3AxJElzb3ZhbGVyaWNvKjEwMC9ncDEkQUdWdG90YWwNCg0KI291dGxpZXJzDQpib3hwbG90KGdwMSRJc292YWxlcmljbzEwMCkNCg0KI21vZGVsDQptb2QzMiA9IGxtZXIoSXNvdmFsZXJpY28xMDB+aW50ZW5zaWRhZGUqZnJlcXVlbmNpYSsoMXxsaW5oYXMpKygxfEdQKSwgZGF0YSA9IGdwMSkNCmhpc3QocmVzaWQobW9kMzIpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG1vZDMyKSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEobW9kMzIpDQptZWRpYXMzMj1lbW1lYW5zKG1vZDMyLCB+IGludGVuc2lkYWRlKQ0KbWVkaWFzMzIuMT1lbW1lYW5zKG1vZDMyLCB+IGZyZXF1ZW5jaWEpDQpzdW1tYXJ5KG1lZGlhczMyKQ0Kc3VtbWFyeShtZWRpYXMzMi4xKQ0KcmVnMzIgPC0gbG0oSXNvdmFsZXJpY28xMDB+cG9seShhcy5udW1lcmljKGZyZXF1ZW5jaWEpLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGdwMSkNCnN1bW1hcnkocmVnMzIpDQpgYGANCg0KIyAqKkFDQ1VNVUxBVElPTioqDQoNCiMjIyBfKipEYXRhKipfDQoNCmBgYHtyfQ0KDQpzdHIoYmlvbWFzcykNCiNTdW1tYXJ5IC0gQmlvbWFzcw0KYmlvbWFzc19zdW1tYXJ5ID0gZ3JvdXBfYnkoYmlvbWFzcywgUmVzaWR1bywgRGVzY2Fuc28sIExpbmhhcykgJT4lIA0KICBzdW1tYXJpc2UoDQogICAgQmlvbWFzc2FNUyA9IG1lYW4oQmlvbWFzc2FNUywgbmEucm0gPSBUUlVFKSwNCiAgICBmb2xoYU1TID0gbWVhbihmb2xoYU1TLCBuYS5ybSA9IFRSVUUpLA0KICAgIGNhdWxlTVMgPSBtZWFuKGNhdWxlTVMsIG5hLnJtID0gVFJVRSksDQogICAgc2VuZXNjZW50ZU1TPSBtZWFuKHNlbmVzY2VudGVNUywgbmEucm0gPSBUUlVFKSwNCiAgICBQQiA9IG1lYW4oUEIsIG5hLnJtID0gVFJVRSksDQogICAgYUZETm9tID0gbWVhbihhRkROb20sIG5hLnJtID0gVFJVRSksDQogICAgYUZEQW9tID0gbWVhbihhRkRBb20sIG5hLnJtID0gVFJVRSksDQogICAgTU0gPSBtZWFuKE1NLCBuYS5ybSA9IFRSVUUpLCANCiAgICBFRSA9IG1lYW4oRUUsIG5hLnJtID0gVFJVRSksIA0KICAgIExEQW9tPSBtZWFuKGFMREFvbSwgbmEucm0gPSBUUlVFKQ0KICAgICklPiUNCiAgcHJpbnQoYmlvbWFzc19zdW1tYXJ5KQ0KDQojU3VtbWFyeSAtIEdhcyBwcm9kdWN0aW9uDQpncF9zdW1tYXJ5ID0gZ3JvdXBfYnkoZ3AxLCBpbnRlbnNpZGFkZSwgZnJlcXVlbmNpYSwgbGluaGFzKSAlPiUgDQogIHN1bW1hcmlzZSgNCiAgICBNT1ZEID0gbWVhbihNT1ZELCBuYS5ybSA9IFRSVUUpLA0KICAgIEZETkQuZyA9IG1lYW4oRkRORC5nLCBuYS5ybSA9IFRSVUUpLA0KICAgIE1PLkFHViA9IG1lYW4oTU8uQUdWLCBuYS5ybSA9IFRSVUUpLA0KICAgIE1PLkJpby5NaWNybyA9IG1lYW4oTU8uQmlvLk1pY3JvLCBuYS5ybSA9IFRSVUUpLA0KICAgIE1PLkNPMi5DSDQuSDJPID0gbWVhbihNTy5DTzIuQ0g0LkgyTywgbmEucm0gPSBUUlVFKQ0KICAgICklPiUNCiAgcHJpbnQoZ3Bfc3VtbWFyeSkNCg0KI1N1bW1hcnkgLSBBY2N1bXVsYXRpb24NCmFjYyA9IGdyb3VwX2J5KGJpb21hc3MsIFJlc2lkdW8sIERlc2NhbnNvLCBMaW5oYXMpICU+JQ0KICBzdW1tYXJpc2UoQmlvbWFzc2FNUyA9IG1lYW4oQmlvbWFzc2FNUywgbmEucm0gPSBUUlVFKSklPiUNCiAgcHJpbnQoYWNjKQ0KDQphY2MkTGVhdmVzPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmJpb21hc3Nfc3VtbWFyeSRmb2xoYU1TLzEwMDANCmFjYyRTdGVtcz1iaW9tYXNzX3N1bW1hcnkkQmlvbWFzc2FNUypiaW9tYXNzX3N1bW1hcnkkY2F1bGVNUy8xMDAwDQphY2MkRGVhZG1hdGVyaWFsPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmJpb21hc3Nfc3VtbWFyeSRzZW5lc2NlbnRlTVMvMTAwMA0KYWNjJENQPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmJpb21hc3Nfc3VtbWFyeSRQQi8xMDAwDQphY2MkYUZETm9tPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmJpb21hc3Nfc3VtbWFyeSRhRkROb20vMTAwMA0KYWNjJEZEQW9tPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmJpb21hc3Nfc3VtbWFyeSRhRkRBb20vMTAwMA0KYWNjJEFzaD1iaW9tYXNzX3N1bW1hcnkkQmlvbWFzc2FNUypiaW9tYXNzX3N1bW1hcnkkTU0vMTAwMA0KYWNjJEVFPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmJpb21hc3Nfc3VtbWFyeSRFRS8xMDAwDQphY2MkTERBb209YmlvbWFzc19zdW1tYXJ5JEJpb21hc3NhTVMqYmlvbWFzc19zdW1tYXJ5JExEQW9tLzEwMDANCg0KYWNjJElWRE9NPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmdwX3N1bW1hcnkkTU9WRC8xMDAwDQphY2MkSVZETkRGPWJpb21hc3Nfc3VtbWFyeSRCaW9tYXNzYU1TKmdwX3N1bW1hcnkkRkRORC5nDQphY2MkQUdDQz1iaW9tYXNzX3N1bW1hcnkkQmlvbWFzc2FNUypncF9zdW1tYXJ5JE1PLkFHVi8xMDAwDQphY2MkTUI9YmlvbWFzc19zdW1tYXJ5JEJpb21hc3NhTVMqZ3Bfc3VtbWFyeSRNTy5CaW8uTWljcm8vMTAwMA0KYWNjJEdhcz1iaW9tYXNzX3N1bW1hcnkkQmlvbWFzc2FNUypncF9zdW1tYXJ5JE1PLkNPMi5DSDQuSDJPLzEwMDANCg0KcHJpbnQoYWNjKQ0KDQphY3VtdWxhdGl2bzE9Z2F0aGVyKGFjYywgdmFyaWFibGVzLCB2YWx1ZSwgQmlvbWFzc2FNUyxMZWF2ZXMsU3RlbXMsRGVhZG1hdGVyaWFsLENQLGFGRE5vbSxGREFvbSkNCmFjdW11bGF0aXZvMj1nYXRoZXIoYWNjLCB2YXJpYWJsZXMsIHZhbHVlLCBJVkRPTSxBR0NDLE1CLEdhcykNCg0KcHJpbnQoYWN1bXVsYXRpdm8xKQ0KcHJpbnQoYWN1bXVsYXRpdm8yKQ0KYGBgDQoNCiMjIyBfKipFeHBsb3JhdG9yeSBhbmFseXNlKipfDQoNCmBgYHtyfQ0KUDM9Z2dwbG90KCkgKw0KICBnZW9tX2JhcihkYXRhID0gYWN1bXVsYXRpdm8yLCBhZXMoRGVzY2Fuc28sdmFsdWUsIGZpbGw9dmFyaWFibGVzKSxzdGF0PSJpZGVudGl0eSIscG9zaXRpb24gPSAiZG9kZ2UiLCB3aWR0aCA9IDEpKw0KICBnZW9tX2xpbmUoZGF0YSA9IGFjdW11bGF0aXZvMSwgYWVzKGFzLm51bWVyaWMoRGVzY2Fuc28pLCB2YWx1ZSwgY29sb3IgPSB2YXJpYWJsZXMpLCBzdGF0PSJzdW1tYXJ5IixmdW49Im1lYW4iKQ0KUDMNCmBgYA0KDQojIyMgXyoqQ1AgYWNjdW11bGF0aW9uKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGFjYyRDUCkNCg0KI21vZGVsDQpBMSA9IGxtZXIoQ1B+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpLCBkYXRhID0gYWNjKQ0KaGlzdChyZXNpZChBMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQoQTEpKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShBMSkNCm1lZGlhc0ExPWVtbWVhbnMoQTEsIH4gUmVzaWR1bykNCm1lZGlhc0ExLjE9ZW1tZWFucyhBMSwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzQTEpDQpzdW1tYXJ5KG1lZGlhc0ExLjEpDQpyZWdBMSA8LSBsbShDUH5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGFjYykNCnN1bW1hcnkocmVnQTEpDQpgYGANCg0KIyMjIF8qKmFGRE5vbSBhY2N1bXVsYXRpb24qKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoYWNjJGFGRE5vbSkNCg0KI21vZGVsDQpBMiA9IGxtZXIoYUZETm9tflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSwgZGF0YSA9IGFjYykNCmhpc3QocmVzaWQoQTIpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKEEyKSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEoQTIpDQptZWRpYXNBMj1lbW1lYW5zKEEyLCB+IFJlc2lkdW8pDQptZWRpYXNBMi4xPWVtbWVhbnMoQTIsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhc0EyKQ0Kc3VtbWFyeShtZWRpYXNBMi4xKQ0KcmVnQTIgPC0gbG0oYUZETm9tfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYWNjKQ0Kc3VtbWFyeShyZWdBMikNCmBgYA0KDQojIyMgXyoqRkRBb20gYWNjdW11bGF0aW9uKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGFjYyRGREFvbSkNCg0KI21vZGVsDQpBMyA9IGxtZXIoRkRBb21+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpLCBkYXRhID0gYWNjKQ0KaGlzdChyZXNpZChBMykpDQpzaGFwaXJvLnRlc3QocmVzaWQoQTMpKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShBMykNCm1lZGlhc0EzPWVtbWVhbnMoQTMsIH4gUmVzaWR1bykNCm1lZGlhc0EzLjE9ZW1tZWFucyhBMywgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzQTMpDQpzdW1tYXJ5KG1lZGlhc0EzLjEpDQpyZWdBMyA8LSBsbShGREFvbX5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGFjYykNCnN1bW1hcnkocmVnQTMpDQpgYGANCg0KIyMjIF8qKkxEQW9tIGFjY3VtdWxhdGlvbioqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChhY2MkTERBb20pDQoNCiNtb2RlbA0KQTQgPSBsbWVyKExEQW9tflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSwgZGF0YSA9IGFjYykNCmhpc3QocmVzaWQoQTQpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKEE0KSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEoQTQpDQptZWRpYXNBND1lbW1lYW5zKEE0LCB+IFJlc2lkdW8pDQptZWRpYXNBNC4xPWVtbWVhbnMoQTQsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhc0E0KQ0Kc3VtbWFyeShtZWRpYXNBNC4xKQ0KcmVnQTQgPC0gbG0oTERBb21+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBhY2MpDQpzdW1tYXJ5KHJlZ0E0KQ0KYGBgDQoNCiMjIyBfKipFRSBhY2N1bXVsYXRpb24qKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoYWNjJEVFKQ0KDQojbW9kZWwNCkE1ID0gbG1lcihFRX5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcyksIGRhdGEgPSBhY2MpDQpoaXN0KHJlc2lkKEE1KSkNCnNoYXBpcm8udGVzdChyZXNpZChBNSkpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKEE1KQ0KbWVkaWFzQTU9ZW1tZWFucyhBNSwgfiBSZXNpZHVvKQ0KbWVkaWFzQTUuMT1lbW1lYW5zKEE1LCB+IERlc2NhbnNvKQ0Kc3VtbWFyeShtZWRpYXNBNSkNCnN1bW1hcnkobWVkaWFzQTUuMSkNCnJlZ0E1IDwtIGxtKEVFfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYWNjKQ0Kc3VtbWFyeShyZWdBNSkNCmBgYA0KDQojIyMgXyoqQXNoIGFjY3VtdWxhdGlvbioqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChhY2MkQXNoKQ0KDQojbW9kZWwNCkE2ID0gbG1lcihBc2h+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpLCBkYXRhID0gYWNjKQ0KaGlzdChyZXNpZChBNikpDQpzaGFwaXJvLnRlc3QocmVzaWQoQTYpKQ0KDQojQW5vdmEgZSByZWdyZXNzw6NvDQphbm92YShBNikNCm1lZGlhc0E2PWVtbWVhbnMoQTYsIH4gUmVzaWR1bykNCm1lZGlhc0E2LjE9ZW1tZWFucyhBNiwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzQTYpDQpzdW1tYXJ5KG1lZGlhc0E2LjEpDQpyZWdBNiA8LSBsbShBc2h+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBhY2MpDQpzdW1tYXJ5KHJlZ0E2KQ0KYGBgDQoNCiMjIyBfKipURE9NIGFjY3VtdWxhdGlvbioqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChhY2MkSVZET00pDQoNCiNtb2RlbA0KQTcgPSBsbWVyKElWRE9NflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSwgZGF0YSA9IGFjYykNCmhpc3QocmVzaWQoQTcpKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKEE3KSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEoQTcpDQptZWRpYXNBNz1lbW1lYW5zKEE3LCB+IFJlc2lkdW8pDQptZWRpYXNBNy4xPWVtbWVhbnMoQTcsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhc0E3KQ0Kc3VtbWFyeShtZWRpYXNBNy4xKQ0KcmVnQTcgPC0gbG0oSVZET01+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBhY2MpDQpzdW1tYXJ5KHJlZ0E3KQ0KYGBgDQoNCiMjIyBfKipURE5ERiBhY2N1bXVsYXRpb24qKl8NCg0KYGBge3J9DQojb3V0bGllcnMNCmJveHBsb3QoYWNjJElWRE5ERikNCg0KI21vZGVsDQpBOCA9IGxtZXIoSVZETkRGflJlc2lkdW8qRGVzY2Fuc28rKDF8TGluaGFzKSwgZGF0YSA9IGFjYykNCkE4LjEgPSBsbWVyKElWRE5ERl4wLjh+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpLCBkYXRhID0gYWNjKQ0KaGlzdChyZXNpZChBOC4xKSkNCnNoYXBpcm8udGVzdChyZXNpZChBOC4xKSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEoQTguMSkNCm1lZGlhc0E4PWVtbWVhbnMoQTgsIH4gUmVzaWR1bykNCm1lZGlhc0E4LjE9ZW1tZWFucyhBOCwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzQTgpDQpzdW1tYXJ5KG1lZGlhc0E4LjEpDQpyZWdBOCA8LSBsbShJVkROREZ+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBhY2MpDQpzdW1tYXJ5KHJlZ0E4KQ0KYGBgDQoNCiMjIyBfKipTQ0ZBIGFjY3VtdWxhdGlvbioqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChhY2MkQUdDQykNCg0KI21vZGVsDQpBOSA9IGxtZXIoQUdDQ35SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcyksIGRhdGEgPSBhY2MpDQpoaXN0KHJlc2lkKEE5KSkNCnNoYXBpcm8udGVzdChyZXNpZChBOSkpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKEE5KQ0KbWVkaWFzQTk9ZW1tZWFucyhBOSwgfiBSZXNpZHVvKQ0KbWVkaWFzQTkuMT1lbW1lYW5zKEE5LCB+IERlc2NhbnNvKQ0Kc3VtbWFyeShtZWRpYXNBOSkNCnN1bW1hcnkobWVkaWFzQTkuMSkNCnJlZ0E5IDwtIGxtKEFHQ0N+cG9seShhcy5udW1lcmljKERlc2NhbnNvKSwgZGVncmVlID0gMiksIGRhdGEgPSBhY2MpDQpzdW1tYXJ5KHJlZ0E5KQ0KYGBgDQoNCiMjIyBfKipHYXMgYWNjdW11bGF0aW9uKipfDQoNCmBgYHtyfQ0KI291dGxpZXJzDQpib3hwbG90KGFjYyRHYXMpDQoNCiNtb2RlbA0KQTEwID0gbG1lcihHYXN+UmVzaWR1bypEZXNjYW5zbysoMXxMaW5oYXMpLCBkYXRhID0gYWNjKQ0KaGlzdChyZXNpZChBMTApKQ0Kc2hhcGlyby50ZXN0KHJlc2lkKEExMCkpDQoNCiNBbm92YSBlIHJlZ3Jlc3PDo28NCmFub3ZhKEExMCkNCm1lZGlhc0ExMD1lbW1lYW5zKEExMCwgfiBSZXNpZHVvKQ0KbWVkaWFzQTEwLjE9ZW1tZWFucyhBMTAsIH4gRGVzY2Fuc28pDQpzdW1tYXJ5KG1lZGlhc0ExMCkNCnN1bW1hcnkobWVkaWFzQTEwLjEpDQpyZWdBMTAgPC0gbG0oR2FzfnBvbHkoYXMubnVtZXJpYyhEZXNjYW5zbyksIGRlZ3JlZSA9IDIpLCBkYXRhID0gYWNjKQ0Kc3VtbWFyeShyZWdBMTApDQpgYGANCg0KIyMjIF8qKk1CIGFjY3VtdWxhdGlvbioqXw0KDQpgYGB7cn0NCiNvdXRsaWVycw0KYm94cGxvdChhY2MkTUIpDQoNCiNtb2RlbA0KQTExID0gbG1lcihNQn5SZXNpZHVvKkRlc2NhbnNvKygxfExpbmhhcyksIGRhdGEgPSBhY2MpDQpoaXN0KHJlc2lkKEExMSkpDQpzaGFwaXJvLnRlc3QocmVzaWQoQTExKSkNCg0KI0Fub3ZhIGUgcmVncmVzc8Ojbw0KYW5vdmEoQTExKQ0KbWVkaWFzQTExPWVtbWVhbnMoQTExLCB+IFJlc2lkdW8pDQptZWRpYXNBMTEuMT1lbW1lYW5zKEExMSwgfiBEZXNjYW5zbykNCnN1bW1hcnkobWVkaWFzQTExKQ0Kc3VtbWFyeShtZWRpYXNBMTEuMSkNCnJlZ0ExMSA8LSBsbShNQn5wb2x5KGFzLm51bWVyaWMoRGVzY2Fuc28pLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGFjYykNCnN1bW1hcnkocmVnQTExKQ0KYGBgDQoNCiMgKipQTE9UUyoqDQoNCiMjIF8qKjEgLSBDdXJ2YSBkZSBjYWxpYnJhY2FvKipfDQoNCmBgYHtyfQ0KbW9kID0gbG0oVm9sdW1lfnBzaSxkYXRhPWN1cnZlKQ0Kc3VtbWFyeShtb2QpDQoNCkxpbmUuZXF1YXRpb24gPC0gZnVuY3Rpb24oQSl7DQogIG1vZDsNCiAgZXEgPC0gc3Vic3RpdHV0ZShpdGFsaWMoeSkgPT0gICAgYippdGFsaWMoeCl+IisifmF+IiAifn5pdGFsaWMoUileMn4iPSJ+cjIsIA0KICAgICAgICAgICAgICAgICAgIGxpc3QoYSA9IGZvcm1hdCh1bm5hbWUoY29lZihtb2QpWzFdKSwgZGlnaXRzID0gMyksDQogICAgICAgICAgICAgICAgICAgICAgICBiID0gZm9ybWF0KHVubmFtZShjb2VmKG1vZClbMl0pLCBkaWdpdHMgPSAzKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHIyID0gZm9ybWF0KHN1bW1hcnkobW9kKSRyLnNxdWFyZWQsIGRpZ2l0cyA9IDIpKSkNCiAgYXMuY2hhcmFjdGVyKGFzLmV4cHJlc3Npb24oZXEpKTsNCn0NCg0KcGxvdD1nZ3Bsb3QoY3VydmUsIGFlcyh4PXBzaSwgeT1Wb2x1bWUpKSArIA0KICBnZW9tX3BvaW50KHNoYXBlPTE5LCBjb2xvcj0nZGFya2JsdWUnLCBzaXplPTEuMykgKyANCiAgZ2VvbV9zbW9vdGgoY29sb3I9J2JsYWNrJywgbWV0aG9kPWxtLCBzZT1GKSsNCiAgc2NhbGVfeF9jb250aW51b3VzKG5hbWUgPSJQcmVzc3VyZSAocHNpKSIsIGJyZWFrcz1zZXEoMCw0LjUsMC41KSkrDQogIHNjYWxlX3lfY29udGludW91cyhuYW1lID0gIkFjdHVhbCB2b2x1bWUgKG1MKSIsYnJlYWtzPXNlcSgwLDI4LDIpKSsNCiAgZ2VvbV90ZXh0KHggPSAxLjUsIHkgPSAyNCwgY29sb3I9J2JsYWNrJywgc2l6ZT00LGxhYmVsID0gTGluZS5lcXVhdGlvbihBKSwgcGFyc2UgPSBUUlVFKSsNCiAgdGhlbWUocGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gInRyYW5zcGFyZW50IiwgY29sb3VyID0gImJsYWNrIixzaXplID0gMC4zKSwNCiAgYXhpcy5saW5lID0gZWxlbWVudF9saW5lKGNvbG91ciA9ICJibGFjayIsIHNpemUgPSAwLjMsIGxpbmV0eXBlID0gInNvbGlkIiksDQogIGF4aXMudGl0bGUueSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTIpLA0KICBheGlzLnRpdGxlLnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyKSwNCiAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEwKSwNCiAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEwKSkNCnBsb3QNCg0KI1NhdmUgcGxvdHMNCnNhdmVfcGxvdCgiY3VydmUucGRmIiwgcGxvdCwgbmNvbCA9IDEsIG5yb3cgPSAxKQ0KYGBgDQoNCiMjIF8qKjIgLSBJbiB2aXRybyBwYXJ0aXRpb25pbmcgb2Ygb3JnYW5pYyBtYXR0ZXIqKl8NCg0KYGBge3J9DQojIFBsb3QgMQ0KZ3AyID1nYXRoZXIoZ3AxLCB2YXJpYWJsZXMsIHZhbHVlLCBNT2luY3ViYWRhLE1PVkQsTU9uZGVncmFkKQ0KcHJpbnQoZ3AyKQ0KDQpyZWdwMSA8LSBsbShNT2luY3ViYWRhfnBvbHkoYXMubnVtZXJpYyhmcmVxdWVuY2lhKSwgZGVncmVlID0gMiksIGRhdGEgPSBncDEpDQpzdW1tYXJ5KHJlZ3AxKQ0KcmVncDIgPC0gbG0oTU9uZGVncmFkfnBvbHkoYXMubnVtZXJpYyhmcmVxdWVuY2lhKSwgZGVncmVlID0gMiksIGRhdGEgPSBncDEpDQpzdW1tYXJ5KHJlZ3AyKQ0KcmVncDMgPC0gbG0oTU9WRH5wb2x5KGFzLm51bWVyaWMoZnJlcXVlbmNpYSksIGRlZ3JlZSA9IDIpLCBkYXRhID0gZ3AxKQ0Kc3VtbWFyeShyZWdwMykNCg0KUDE9Z2dwbG90KGdwMiwgYWVzKHg9YXMubnVtZXJpYyhmcmVxdWVuY2lhKSx5PXZhbHVlLGZpbGw9dmFyaWFibGVzLCBjb2xvdXI9dmFyaWFibGVzKSkrDQogIGdlb21fZGVuc2l0eShzdGF0PSJzdW1tYXJ5IixmdW49Im1lYW4iLCBhbHBoYT0wLjIpKw0KICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzPWMoImJsdWUiLCJyZWQiLCJncmVlbiIpLG5hbWUgPSAiUGFydGl0aW9uaW5nIChtZykiLA0KICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYygiT00gaW5jdWJhdGVkIChPTWkpIiwgIk9NIHVuZGVncmFkZWQgKE9NdSkiLCAiT00gZGVncmFkZWQgKE9NZCkiKSkrDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcz1jKCJibHVlIiwicmVkIiwiZ3JlZW4iKSxuYW1lID0gIlBhcnRpdGlvbmluZyAobWcpIiwNCiAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIk9NIGluY3ViYXRlZCAoT01pKSIsICJPTSB1bmRlZ3JhZGVkIChPTXUpIiwgIk9NIGRlZ3JhZGVkIChPTWQpIikpKw0KICBzY2FsZV94X2Rpc2NyZXRlKG5hbWU9IkZyZXF1ZW5jeSAoZGF5cykiLCBsaW1pdHM9YygiMjEiLCAiMjgiLCAiMzUiLCI0MiIpKSsNCiAgY29vcmRfY2FydGVzaWFuKHlsaW0gPSBjKDAsMTEwMCkpDQpQMQ0KDQpQMS4xPVAxK3RoZW1lKGF4aXMubGluZSA9IGVsZW1lbnRfbGluZShjb2xvdXIgPSAiYmxhY2siLCBzaXplID0gMC4zLCBsaW5ldHlwZSA9ICJzb2xpZCIpLA0KIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICJ3aGl0ZSIsIGNvbG91ciA9ICJibGFjayIpLA0KIGxlZ2VuZC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAidHJhbnNwYXJlbnQiLCBzaXplPTAuNSwgbGluZXR5cGU9InNvbGlkIixjb2xvdXIgPSJ0cmFuc3BhcmVudCIpLA0KIGxlZ2VuZC5wb3NpdGlvbiA9IGMoMC4xNywgMC44MikpK3NjYWxlX3lfY29udGludW91cyhuYW1lPSJPTSBwYXJ0aXRpb25pbmcgKG1nL2cpIiwgYnJlYWtzPXNlcSgwLDk1MCw1MCkpKw0KICBhbm5vdGF0ZShnZW9tPSJ0ZXh0IiwgeT0xMDUwLCB4PTMuNSwgDQogIGxhYmVsPWV4cHJlc3Npb24ocGFzdGUoIiBPTWkgPSA2OC4zMHggICsgNzI1LjI3ICAgIiwgUl4yLCAiPSAwLjEwIikpLCBzaXplPTQsIGNvbG9yPSJibGFjayIpKw0KICBhbm5vdGF0ZShnZW9tPSJ0ZXh0IiwgeT05ODAsIHg9My41LCANCiAgbGFiZWw9ZXhwcmVzc2lvbihwYXN0ZSgiT011ID0gNjMxLjB4ICsgMzM0LjcxICAgIiwgUl4yLCAiPSAwLjM4IikpLCBzaXplPTQsIGNvbG9yPSJibGFjayIpKw0KICBhbm5vdGF0ZShnZW9tPSJ0ZXh0IiwgeT05MTAsIHg9My41LCANCiAgbGFiZWw9ZXhwcmVzc2lvbihwYXN0ZSgiT01kID0gLTU2MS4zeCArIDM5MC44MSAgICIsIFJeMiwgIj0gMC40MSIpKSwgc2l6ZT00LCBjb2xvcj0iYmxhY2siKQ0KUDEuMQ0KDQojIFBsb3QgMg0KZ3AzID1nYXRoZXIoZ3AxLCB2YXJpYWJsZXMsIHZhbHVlLCBNTy5BR1YsTU8uQ08yLkNINC5IMk8sIE1PLkJpby5NaWNybykNCnByaW50KGdwMykNCg0KcmVncDEuMSA8LSBsbShNTy5BR1Z+cG9seShhcy5udW1lcmljKGZyZXF1ZW5jaWEpLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGdwMSkNCnN1bW1hcnkocmVncDEuMSkNCnJlZ3AyLjEgPC0gbG0oTU8uQ08yLkNINC5IMk9+cG9seShhcy5udW1lcmljKGZyZXF1ZW5jaWEpLCBkZWdyZWUgPSAyKSwgZGF0YSA9IGdwMSkNCnN1bW1hcnkocmVncDIuMSkNCnJlZ3AzLjEgPC0gbG0oTU8uQmlvLk1pY3JvfnBvbHkoYXMubnVtZXJpYyhmcmVxdWVuY2lhKSwgZGVncmVlID0gMiksIGRhdGEgPSBncDEpDQpzdW1tYXJ5KHJlZ3AzLjEpDQoNClAyPWdncGxvdChncDMsIGFlcyh4PWFzLm51bWVyaWMoZnJlcXVlbmNpYSkseT12YWx1ZSxmaWxsPXZhcmlhYmxlcywgY29sb3VyPXZhcmlhYmxlcykpKw0KICBnZW9tX2RlbnNpdHkoc3RhdD0ic3VtbWFyeSIsZnVuPSJtZWFuIiwgYWxwaGE9MC4yKSsNCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcz1jKCJicm93bjIiLCJkYXJrb3JjaGlkIiwiY3lhbjIiKSxuYW1lID0gIlBhcnRpdGlvbmluZyAobWcpIiwNCiAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIk9NIGZvciBTQ0ZBIiwgIk9NIGZvciBNQiIsICJPTSBmb3IgR2FzIikpKw0KICBzY2FsZV9maWxsX21hbnVhbCh2YWx1ZXM9YygiYnJvd24yIiwiZGFya29yY2hpZCIsImN5YW4yIiksbmFtZSA9ICJQYXJ0aXRpb25pbmcgKG1nKSIsDQogICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJPTSBmb3IgU0NGQSIsICJPTSBmb3IgTUIiLCAiT00gZm9yIEdhcyIpKSsNCiAgc2NhbGVfeF9kaXNjcmV0ZShuYW1lPSJGcmVxdWVuY3kgKGRheXMpIiwgbGltaXRzPWMoIjIxIiwgIjI4IiwgIjM1IiwiNDIiKSkrDQogIGNvb3JkX2NhcnRlc2lhbih5bGltID0gYygwLDQyMCkpDQpQMg0KUDIuMT1QMit0aGVtZShheGlzLmxpbmUgPSBlbGVtZW50X2xpbmUoY29sb3VyID0gImJsYWNrIiwgc2l6ZSA9IDAuMywgbGluZXR5cGUgPSAic29saWQiKSwNCiBwYW5lbC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAid2hpdGUiLCBjb2xvdXIgPSAiYmxhY2siKSwNCiBsZWdlbmQuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gInRyYW5zcGFyZW50Iiwgc2l6ZT0wLjUsIGxpbmV0eXBlPSJzb2xpZCIsY29sb3VyID0idHJhbnNwYXJlbnQiKSwNCiBsZWdlbmQucG9zaXRpb24gPSBjKDAuMTMsIDAuODIpKStzY2FsZV95X2NvbnRpbnVvdXMobmFtZT0iT00gcGFydGl0aW9uaW5nIChtZy9nKSIsIGJyZWFrcz1zZXEoMCwzNjAsMjApKSsNCiAgYW5ub3RhdGUoZ2VvbT0idGV4dCIsIHk9Mzk1LCB4PTMuMywgDQogIGxhYmVsPWV4cHJlc3Npb24ocGFzdGUoIlNDRkEgPSAtMjEuNzB4ICsgMTA4LjI4ICAgIiwgUl4yLCAiPSAwLjAwNCIpKSwgc2l6ZT00LCBjb2xvcj0iYmxhY2siKSsNCiAgYW5ub3RhdGUoZ2VvbT0idGV4dCIsIHk9MzY1LCB4PTMuMywgDQogIGxhYmVsPWV4cHJlc3Npb24ocGFzdGUoIiAgICBNQiA9IC01MzEuNHggKyAyMTEuMzcgICAiLCBSXjIsICI9IDAuMTgiKSksIHNpemU9NCwgY29sb3I9ImJsYWNrIikrDQogIGFubm90YXRlKGdlb209InRleHQiLCB5PTMzNSwgeD0zLjMsIA0KICBsYWJlbD1leHByZXNzaW9uKHBhc3RlKCIgICAgICAgR2FzID0gLTkuMTc5eCArIDcwLjk5ICAgIiwgUl4yLCAiPSAwLjAwMiIpKSwgc2l6ZT00LCBjb2xvcj0iYmxhY2siKQ0KUDIuMQ0KDQojU2F2ZSBwbG90cw0Kc2lkZS5ieS5zaWRlIDwtIHBsb3RfZ3JpZChQMS4xLFAyLjEsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJBIiwgIkIiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbmNvbCA9IDEsIG5yb3cgPTIsIGFsaWduID0gIlYiKQ0Kc2lkZS5ieS5zaWRlDQpzYXZlX3Bsb3QoInBhcnRpdGlvbmluZy5wZGYiLCBzaWRlLmJ5LnNpZGUsIG5jb2wgPSAxLCBucm93ID0gMikNCmBgYA0KDQoNCiMgKipQQUNLQUdFIENJVEFUSU9OUyoqDQoNCmBgYHtyfQ0KY2l0YXRpb24oKQ0KY2l0YXRpb24oImxtZTQiKQ0KY2l0YXRpb24oImxtZXJUZXN0IikNCmNpdGF0aW9uKCJkcGx5ciIpDQpjaXRhdGlvbigidGlkeXIiKQ0KY2l0YXRpb24oImVtbWVhbnMiKQ0KY2l0YXRpb24oImdncGxvdDIiKQ0KY2l0YXRpb24oImNvd3Bsb3QiKQ0KY2l0YXRpb24oImNvcnJwbG90IikNCmBgYA0KDQoNCg0KDQoNCg==