knitr::opts_chunk$set(echo = TRUE)
rm(list=ls())

Estos son lso datos de temperatura

library(readxl)
Datos_NaEl<-Base_de_datos_Salinidad_Brassinoesteroides_1_ <- read_excel("d:/Users/Janus/Documents/Fisiologia vegetal basica/Base de datos Salinidad + Brassinoesteroides parte 2.xlsx")
Datos_NaEl

#1.1 Anova para variable temperatura

m1 <- aov(Temp~Trat, data = Datos_NaEl)
anova(m1)
Analysis of Variance Table

Response: Temp
          Df Sum Sq Mean Sq F value    Pr(>F)    
Trat       3 42.477  14.159  13.123 0.0004262 ***
Residuals 12 12.948   1.079                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para temperatura

shapiro.test(resid(m1))

    Shapiro-Wilk normality test

data:  resid(m1)
W = 0.98373, p-value = 0.9862

#1.3 Prueba de homogeneidad de varianza para temp

library(car)
library(carData)
leveneTest(Datos_NaEl$Temp~Datos_NaEl$Trat, center=mean)
group coerced to factor.
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  2.0138 0.1658
      12               

#1.4 prueba de comparacion de promedio tukey

library(agricolae)
library(dplyr)
m1tukey <-HSD.test(Datos_NaEl$Temp,Datos_NaEl$Trat, 12, 1.079, alpha = 0.05)
m1tukey
$statistics
  MSerror Df     Mean       CV      MSD
    1.079 12 19.88125 5.224768 2.180678

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$Temp       std r  Min  Max    Q25   Q50    Q75
T1          18.225 0.6800735 4 17.3 18.9 17.975 18.35 18.600
T2          21.950 0.9882645 4 20.9 23.1 21.275 21.90 22.575
T3          18.350 0.7416198 4 17.4 19.2 18.075 18.40 18.675
T4          21.000 1.5253415 4 19.3 22.8 20.050 20.95 21.900

$comparison
NULL

$groups
   Datos_NaEl$Temp groups
T2          21.950      a
T4          21.000      a
T3          18.350      b
T1          18.225      b

attr(,"class")
[1] "group"

datos de área foliar en adelante.

Área foliar

#1.1 Anova para variable Área foliar

m10 <- aov(Area_foliar~Trat, data = Datos_NaEl)
anova(m10)
Analysis of Variance Table

Response: Area_foliar
          Df Sum Sq Mean Sq F value    Pr(>F)    
Trat       3 550.34 183.446  27.845 1.088e-05 ***
Residuals 12  79.06   6.588                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para Área foliar

shapiro.test(resid(m10))

    Shapiro-Wilk normality test

data:  resid(m10)
W = 0.9256, p-value = 0.2075

#1.3 Prueba de homogeneidad de varianza para Área foliar

library(car)
library(carData)
m10var<-leveneTest(Datos_NaEl$Area_foliar~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m10var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  1.1719 0.3611
      12               

#1.4 prueba de comparacion de promedio tukey para Área foliar

library(agricolae)
library(dplyr)
m10tukey <-HSD.test(Datos_NaEl$Area_foliar,Datos_NaEl$Trat, 12, 6.588, alpha = 0.05)
m10tukey
$statistics
  MSerror Df     Mean       CV      MSD
    6.588 12 59.42406 4.319311 5.388372

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$Area_foliar      std r    Min    Max      Q25     Q50
T1               66.57400 1.953636 4 64.925 69.223 65.20250 66.0740
T2               52.04325 1.303762 4 50.238 53.351 51.73575 52.2920
T3               63.53700 2.607883 4 59.999 66.252 62.73875 63.9485
T4               55.54200 3.746375 4 50.356 58.346 54.01225 56.7330
        Q75
T1 67.44550
T2 52.59950
T3 64.74675
T4 58.26275

$comparison
NULL

$groups
   Datos_NaEl$Area_foliar groups
T1               66.57400      a
T3               63.53700      a
T4               55.54200      b
T2               52.04325      b

attr(,"class")
[1] "group"

#Peso fresco en hojas

#1.1 Anova para variable de peso fresco en hojas

m11<- aov(Hojas_Peso_fresco~Trat, data = Datos_NaEl)
anova(m11)
Analysis of Variance Table

Response: Hojas_Peso_fresco
          Df Sum Sq Mean Sq F value    Pr(>F)    
Trat       3 5.4673 1.82242  28.939 8.901e-06 ***
Residuals 12 0.7557 0.06297                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para peso fresco en hojas

shapiro.test(resid(m11))

    Shapiro-Wilk normality test

data:  resid(m11)
W = 0.97295, p-value = 0.8839

#1.3 Prueba de homogeneidad de varianza para peso fresco en hojas

library(car)
library(carData)
m11var<-leveneTest(Datos_NaEl$Hojas_Peso_fresco~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m11var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  2.5854 0.1017
      12               

#1.4 prueba de comparacion de promedio tukey para peso fresco en hojas

library(agricolae)
library(dplyr)
m11tukey <-HSD.test(Datos_NaEl$Hojas_Peso_fresco,Datos_NaEl$Trat, 12, 0.06297, alpha = 0.05)
m11tukey
$statistics
  MSerror Df   Mean       CV       MSD
  0.06297 12 3.9295 6.386009 0.5268022

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$Hojas_Peso_fresco       std r   Min   Max     Q25   Q50
T1                      4.68800 0.3633492 4 4.223 5.023 4.49150 4.753
T2                      3.09075 0.1257971 4 2.936 3.219 3.01850 3.104
T3                      4.17550 0.2728864 4 3.902 4.510 3.98525 4.145
T4                      3.76375 0.1719852 4 3.520 3.923 3.72400 3.806
       Q75
T1 4.94950
T2 3.17625
T3 4.33525
T4 3.84575

$comparison
NULL

$groups
   Datos_NaEl$Hojas_Peso_fresco groups
T1                      4.68800      a
T3                      4.17550     ab
T4                      3.76375      b
T2                      3.09075      c

attr(,"class")
[1] "group"

#Hojas peso seco

#1.1 Anova para variable Hojas de peso seco

m12 <- aov(Hojas_Peso_seco~Trat, data = Datos_NaEl)
anova(m12)
Analysis of Variance Table

Response: Hojas_Peso_seco
          Df   Sum Sq  Mean Sq F value    Pr(>F)    
Trat       3 0.057738 0.019246  12.662 0.0005002 ***
Residuals 12 0.018240 0.001520                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para hojas de peso seco

shapiro.test(resid(m12))

    Shapiro-Wilk normality test

data:  resid(m12)
W = 0.96767, p-value = 0.7997

#1.3 Prueba de homogeneidad de varianza para Hojas de peso seco

library(car)
library(carData)
m12var<-leveneTest(Datos_NaEl$Hojas_Peso_seco~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m12var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  2.1742 0.1441
      12               

#1.4 prueba de comparacion de promedio tukey para Hojas de peso seco

library(agricolae)
library(dplyr)
m12tukey <-HSD.test(Datos_NaEl$Hojas_Peso_seco,Datos_NaEl$Trat, 12, 0.001520, alpha = 0.05)
m12tukey
$statistics
  MSerror Df    Mean       CV        MSD
  0.00152 12 0.30575 12.75133 0.08184696

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$Hojas_Peso_seco        std r   Min   Max     Q25    Q50
T1                    0.37125 0.05314367 4 0.311 0.432 0.33800 0.3710
T2                    0.20800 0.02080064 4 0.189 0.236 0.19425 0.2035
T3                    0.32775 0.04495461 4 0.285 0.386 0.29700 0.3200
T4                    0.31600 0.02831960 4 0.286 0.347 0.29575 0.3155
       Q75
T1 0.40425
T2 0.21725
T3 0.35075
T4 0.33575

$comparison
NULL

$groups
   Datos_NaEl$Hojas_Peso_seco groups
T1                    0.37125      a
T3                    0.32775      a
T4                    0.31600      a
T2                    0.20800      b

attr(,"class")
[1] "group"

#CRA Peso fresco

#1.1 Anova para variable CRA de peso fresco

m13<- aov(CRA_Peso_fresco~Trat, data = Datos_NaEl)
anova(m13)
Analysis of Variance Table

Response: CRA_Peso_fresco
          Df     Sum Sq    Mean Sq F value Pr(>F)
Trat       3 5.2125e-06 1.7375e-06  1.9085 0.1821
Residuals 12 1.0925e-05 9.1042e-07               

#1.2 Pueba normaliada para CRA peso fresco

shapiro.test(resid(m13))

    Shapiro-Wilk normality test

data:  resid(m13)
W = 0.89742, p-value = 0.07309

#1.3 Prueba de homogeneidad de varianza para CRA de peso fresco

library(car)
library(carData)
m13var<-leveneTest(Datos_NaEl$CRA_Peso_fresco~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m13var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  0.5748 0.6424
      12               

#1.4 prueba de comparacion de promedio tukey para CRA de peso fresco

library(agricolae)
library(dplyr)
m13tukey <-HSD.test(Datos_NaEl$CRA_Peso_fresco,Datos_NaEl$Trat, 12, 0.00000091042, alpha = 0.05)
m13tukey
$statistics
     MSerror Df      Mean       CV         MSD
  9.1042e-07 12 0.0165625 5.760962 0.002003095

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$CRA_Peso_fresco          std r    Min    Max      Q25    Q50
T1                   0.016050 0.0010630146 4 0.0145 0.0169 0.015850 0.0164
T2                   0.017325 0.0012500000 4 0.0156 0.0185 0.016875 0.0176
T3                   0.015975 0.0005737305 4 0.0152 0.0165 0.015725 0.0161
T4                   0.016900 0.0007874008 4 0.0158 0.0176 0.016625 0.0171
        Q75
T1 0.016600
T2 0.018050
T3 0.016350
T4 0.017375

$comparison
NULL

$groups
   Datos_NaEl$CRA_Peso_fresco groups
T2                   0.017325      a
T4                   0.016900      a
T1                   0.016050      a
T3                   0.015975      a

attr(,"class")
[1] "group"

#minima significativa

kruskallcd<-LSD.test(Datos_NaEl$CRA_Peso_fresco, Datos_NaEl$Trat, 12, 0.00000091042, alpha=0.05)
kruskallcd
$statistics
     MSerror Df      Mean       CV  t.value         LSD
  9.1042e-07 12 0.0165625 5.760962 2.178813 0.001470029

$parameters
        test p.ajusted          name.t ntr alpha
  Fisher-LSD      none Datos_NaEl$Trat   4  0.05

$means
   Datos_NaEl$CRA_Peso_fresco          std r        LCL        UCL    Min
T1                   0.016050 0.0010630146 4 0.01501053 0.01708947 0.0145
T2                   0.017325 0.0012500000 4 0.01628553 0.01836447 0.0156
T3                   0.015975 0.0005737305 4 0.01493553 0.01701447 0.0152
T4                   0.016900 0.0007874008 4 0.01586053 0.01793947 0.0158
      Max      Q25    Q50      Q75
T1 0.0169 0.015850 0.0164 0.016600
T2 0.0185 0.016875 0.0176 0.018050
T3 0.0165 0.015725 0.0161 0.016350
T4 0.0176 0.016625 0.0171 0.017375

$comparison
NULL

$groups
   Datos_NaEl$CRA_Peso_fresco groups
T2                   0.017325      a
T4                   0.016900      a
T1                   0.016050      a
T3                   0.015975      a

attr(,"class")
[1] "group"

#CRA a peso de a saturacion #CRA Peso seco

#1.1 Anova para variable CRA de peso saturacion

m20<- aov(CRA_Peso_a_saturación~Trat, data = Datos_NaEl)
anova(m20)
Analysis of Variance Table

Response: CRA_Peso_a_saturación
          Df     Sum Sq    Mean Sq F value    Pr(>F)    
Trat       3 1.1839e-04 3.9462e-05  14.904 0.0002381 ***
Residuals 12 3.1773e-05 2.6480e-06                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para CRA peso saturacion

shapiro.test(resid(m20))

    Shapiro-Wilk normality test

data:  resid(m20)
W = 0.91756, p-value = 0.1541

#1.3 Prueba de homogeneidad de varianza para CRA de peso seco

library(car)
library(carData)
m20var<-leveneTest(Datos_NaEl$CRA_Peso_a_saturación~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m20var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  1.7024 0.2194
      12               

#1.4 prueba de comparacion de promedio tukey para CRA de peso seco

library(agricolae)
library(dplyr)
m20tukey <-HSD.test(Datos_NaEl$CRA_Peso_a_saturación,Datos_NaEl$Trat, 12, 0.000002648, alpha = 0.05)
m20tukey
$statistics
    MSerror Df       Mean       CV         MSD
  2.648e-06 12 0.02165625 7.514079 0.003416172

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$CRA_Peso_a_saturación         std r    Min    Max     Q25
T1                         0.018825 0.000801561 4 0.0178 0.0196 0.01840
T2                         0.025875 0.002574717 4 0.0237 0.0296 0.02460
T3                         0.019775 0.001004573 4 0.0189 0.0212 0.01920
T4                         0.022150 0.001519868 4 0.0209 0.0242 0.02105
       Q50      Q75
T1 0.01895 0.019375
T2 0.02510 0.026375
T3 0.01950 0.020075
T4 0.02175 0.022850

$comparison
NULL

$groups
   Datos_NaEl$CRA_Peso_a_saturación groups
T2                         0.025875      a
T4                         0.022150      b
T3                         0.019775      b
T1                         0.018825      b

attr(,"class")
[1] "group"

#CRA Peso seco

#1.1 Anova para variable CRA de peso seco

m14<- aov(CRA_Peso_seco~Trat, data = Datos_NaEl)
anova(m14)
Analysis of Variance Table

Response: CRA_Peso_seco
          Df  Sum Sq    Mean Sq F value Pr(>F)
Trat       3 0.0e+00 0.0000e+00       0      1
Residuals 12 7.6e-07 6.3333e-08               

#1.2 Pueba normaliada para CRA peso seco

shapiro.test(resid(m14))

    Shapiro-Wilk normality test

data:  resid(m14)
W = 0.77651, p-value = 0.00135

#1.3 Prueba de homogeneidad de varianza para CRA de peso seco

library(car)
library(carData)
m14var<-leveneTest(Datos_NaEl$CRA_Peso_seco~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m14var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3       0      1
      12               

#1.4 prueba de comparacion de promedio tukey para CRA de peso seco

library(agricolae)
library(dplyr)
m14tukey <-HSD.test(Datos_NaEl$CRA_Peso_seco,Datos_NaEl$Trat, 12, 0.0000000633, alpha = 0.05)
m14tukey
$statistics
   MSerror Df    Mean       CV          MSD
  6.33e-08 12 0.00125 20.12759 0.0005281808

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$CRA_Peso_seco          std r   Min    Max    Q25    Q50
T1                  0.00125 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
T2                  0.00125 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
T3                  0.00125 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
T4                  0.00125 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
       Q75
T1 0.00135
T2 0.00135
T3 0.00135
T4 0.00135

$comparison
NULL

$groups
   Datos_NaEl$CRA_Peso_seco groups
T1                  0.00125      a
T2                  0.00125      a
T3                  0.00125      a
T4                  0.00125      a

attr(,"class")
[1] "group"

##kruskal

kruskal2<-kruskal(Datos_NaEl$CRA_Peso_seco, Datos_NaEl$Trat, alpha = 0.05)
kruskal2
$statistics
  Chisq Df p.chisq  t.value      MSD
      0  3       1 2.178813 7.547629

$parameters
            test p.ajusted          name.t ntr alpha
  Kruskal-Wallis      none Datos_NaEl$Trat   4  0.05

$means
   Datos_NaEl.CRA_Peso_seco rank          std r   Min    Max    Q25    Q50
T1                  0.00125  8.5 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
T2                  0.00125  8.5 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
T3                  0.00125  8.5 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
T4                  0.00125  8.5 0.0002516611 4 9e-04 0.0015 0.0012 0.0013
       Q75
T1 0.00135
T2 0.00135
T3 0.00135
T4 0.00135

$comparison
NULL

$groups
   Datos_NaEl$CRA_Peso_seco groups
T1                      8.5      a
T2                      8.5      a
T3                      8.5      a
T4                      8.5      a

attr(,"class")
[1] "group"

#CRA

#1.1 Anova para variable CRA

m15<- aov(CRA~Trat, data = Datos_NaEl)
anova(m15)
Analysis of Variance Table

Response: CRA
          Df Sum Sq Mean Sq F value    Pr(>F)    
Trat       3 760.15 253.383  16.477 0.0001486 ***
Residuals 12 184.53  15.378                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para CRA peso fresco

shapiro.test(resid(m15))

    Shapiro-Wilk normality test

data:  resid(m15)
W = 0.91972, p-value = 0.1669

#1.3 Prueba de homogeneidad de varianza para CRA de peso fresco

library(car)
library(carData)
m15var<-leveneTest(Datos_NaEl$CRA~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m15var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value  Pr(>F)  
group  3  2.6384 0.09733 .
      12                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.4 prueba de comparacion de promedio tukey para CRA

library(agricolae)
library(dplyr)
m15tukey <-HSD.test(Datos_NaEl$CRA,Datos_NaEl$Trat, 12, 15.378, alpha = 0.05)
m15tukey
$statistics
  MSerror Df     Mean       CV     MSD
   15.378 12 76.08813 5.153865 8.23248

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$CRA      std r      Min      Max      Q25      Q50      Q75
T1       84.20468 3.542397 4 80.47337 87.86127 81.59375 84.24203 86.85296
T2       65.56335 5.423975 4 60.59322 71.42857 61.14134 65.11580 69.53782
T3       79.58223 3.087446 4 75.37688 82.60870 78.42755 80.17166 81.32633
T4       75.00228 3.163968 4 71.17904 78.57143 73.27945 75.12933 76.85216

$comparison
NULL

$groups
   Datos_NaEl$CRA groups
T1       84.20468      a
T3       79.58223     ab
T4       75.00228      b
T2       65.56335      c

attr(,"class")
[1] "group"

#Raíz tuberosa longitud

#1.1 Anova para variable Raíz tuberosa longitud

m16<- aov(RT_Longitud~Trat, data = Datos_NaEl)
anova(m16)
Analysis of Variance Table

Response: RT_Longitud
          Df Sum Sq Mean Sq F value  Pr(>F)  
Trat       3  46.25 15.4167  5.5224 0.01288 *
Residuals 12  33.50  2.7917                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para Raíz tuberosa longitud

shapiro.test(resid(m16))

    Shapiro-Wilk normality test

data:  resid(m16)
W = 0.94539, p-value = 0.4204

#1.3 Prueba de homogeneidad de varianza para Raíz tuberosa longitud

library(car)
library(carData)
m16var<-leveneTest(Datos_NaEl$RT_Longitud~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m16var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3   1.503 0.2639
      12               

#1.4 prueba de comparacion de promedio tukey para Raíz tuberosa longitud

library(agricolae)
library(dplyr)
m16tukey <-HSD.test(Datos_NaEl$RT_Longitud,Datos_NaEl$Trat, 12, 2.7917, alpha = 0.05)
m16tukey
$statistics
  MSerror Df   Mean       CV      MSD
   2.7917 12 15.125 11.04686 3.507641

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$RT_Longitud      std r Min Max   Q25  Q50   Q75
T1                  16.50 1.290994 4  15  18 15.75 16.5 17.25
T2                  12.50 2.516611 4  10  16 11.50 12.0 13.00
T3                  16.75 0.500000 4  16  17 16.75 17.0 17.00
T4                  14.75 1.707825 4  13  17 13.75 14.5 15.50

$comparison
NULL

$groups
   Datos_NaEl$RT_Longitud groups
T3                  16.75      a
T1                  16.50      a
T4                  14.75     ab
T2                  12.50      b

attr(,"class")
[1] "group"

#Raíz tuberosa diametro

#1.1 Anova para variable Raíz tuberosa diametro

m17<- aov(RT_Diámetro~Trat, data = Datos_NaEl)
anova(m17)
Analysis of Variance Table

Response: RT_Diámetro
          Df Sum Sq Mean Sq F value   Pr(>F)   
Trat       3  79.25  26.417  9.1884 0.001963 **
Residuals 12  34.50   2.875                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para Raíz tuberosa diametro

shapiro.test(resid(m17))

    Shapiro-Wilk normality test

data:  resid(m17)
W = 0.98893, p-value = 0.9985

#1.3 Prueba de homogeneidad de varianza para Raíz tuberosa diametro

library(car)
library(carData)
m17var<-leveneTest(Datos_NaEl$RT_Diámetro~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m17var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  1.1818 0.3577
      12               

#1.4 prueba de comparacion de promedio tukey para Raíz tuberosa longitud

library(agricolae)
library(dplyr)
m17tukey <-HSD.test(Datos_NaEl$RT_Longitud,Datos_NaEl$Trat, 12, 2.875, alpha = 0.05)
m17tukey
$statistics
  MSerror Df   Mean       CV      MSD
    2.875 12 15.125 11.21046 3.559587

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$RT_Longitud      std r Min Max   Q25  Q50   Q75
T1                  16.50 1.290994 4  15  18 15.75 16.5 17.25
T2                  12.50 2.516611 4  10  16 11.50 12.0 13.00
T3                  16.75 0.500000 4  16  17 16.75 17.0 17.00
T4                  14.75 1.707825 4  13  17 13.75 14.5 15.50

$comparison
NULL

$groups
   Datos_NaEl$RT_Longitud groups
T3                  16.75      a
T1                  16.50      a
T4                  14.75     ab
T2                  12.50      b

attr(,"class")
[1] "group"

#Raíz tuberosa peso fresco

#1.1 Anova para variable Raíz tuberosa peso fresco

m18<- aov(RT_Peso_fresco~Trat, data = Datos_NaEl)
anova(m18)
Analysis of Variance Table

Response: RT_Peso_fresco
          Df  Sum Sq Mean Sq F value    Pr(>F)    
Trat       3 13.7767  4.5922  52.062 3.749e-07 ***
Residuals 12  1.0585  0.0882                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para Raíz tuberosa peso fresco

shapiro.test(resid(m18))

    Shapiro-Wilk normality test

data:  resid(m18)
W = 0.92893, p-value = 0.2345

#1.3 Prueba de homogeneidad de varianza para Raíz tuberosa peso fresco

library(car)
library(carData)
m18var<-leveneTest(Datos_NaEl$RT_Peso_fresco~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m18var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  1.5923 0.2428
      12               

#1.4 prueba de comparacion de promedio tukey para Raíz tuberosa peso fresco

library(agricolae)
library(dplyr)
m18tukey <-HSD.test(Datos_NaEl$RT_Peso_fresco,Datos_NaEl$Trat, 12, 0.0882, alpha = 0.05)
m18tukey
$statistics
  MSerror Df   Mean       CV       MSD
   0.0882 12 2.6625 11.15436 0.6234692

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$RT_Peso_fresco       std r   Min   Max     Q25    Q50
T1                   3.47075 0.2578648 4 3.122 3.734 3.37850 3.5135
T2                   1.08900 0.1629438 4 0.922 1.298 0.98650 1.0680
T3                   3.15050 0.1493106 4 2.927 3.238 3.14300 3.2185
T4                   2.93975 0.4873297 4 2.251 3.361 2.78425 3.0735
       Q75
T1 3.60575
T2 1.17050
T3 3.22600
T4 3.22900

$comparison
NULL

$groups
   Datos_NaEl$RT_Peso_fresco groups
T1                   3.47075      a
T3                   3.15050      a
T4                   2.93975      a
T2                   1.08900      b

attr(,"class")
[1] "group"

#Raíz tuberosa peso seco

#1.1 Anova para variable Raíz tuberosa peso seco

m19<- aov(RT_Peso_seco~Trat, data = Datos_NaEl)
anova(m19)
Analysis of Variance Table

Response: RT_Peso_seco
          Df   Sum Sq  Mean Sq F value   Pr(>F)    
Trat       3 0.255710 0.085237  39.772 1.64e-06 ***
Residuals 12 0.025718 0.002143                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

#1.2 Pueba normaliada para Raíz tuberosa peso seco

shapiro.test(resid(m19))

    Shapiro-Wilk normality test

data:  resid(m19)
W = 0.96667, p-value = 0.7822

#1.3 Prueba de homogeneidad de varianza para Raíz tuberosa peso fresco

library(car)
library(carData)
m19var<-leveneTest(Datos_NaEl$RT_Peso_seco~Datos_NaEl$Trat, center=mean)
group coerced to factor.
m19var
Levene's Test for Homogeneity of Variance (center = mean)
      Df F value Pr(>F)
group  3  1.4348 0.2813
      12               

#1.4 prueba de comparacion de promedio tukey para Raíz tuberosa peso seco

library(agricolae)
library(dplyr)
m19tukey <-HSD.test(Datos_NaEl$RT_Peso_seco,Datos_NaEl$Trat, 12, 0.002143, alpha = 0.05)
m19tukey
$statistics
   MSerror Df      Mean       CV        MSD
  0.002143 12 0.2714375 17.05459 0.09718334

$parameters
   test          name.t ntr StudentizedRange alpha
  Tukey Datos_NaEl$Trat   4          4.19866  0.05

$means
   Datos_NaEl$RT_Peso_seco        std r   Min   Max     Q25    Q50    Q75
T1                 0.40550 0.06477911 4 0.342 0.493 0.36750 0.3935 0.4315
T2                 0.06800 0.02294922 4 0.039 0.095 0.06000 0.0690 0.0770
T3                 0.33900 0.03787699 4 0.293 0.385 0.32300 0.3390 0.3550
T4                 0.27325 0.04914180 4 0.229 0.331 0.23425 0.2665 0.3055

$comparison
NULL

$groups
   Datos_NaEl$RT_Peso_seco groups
T1                 0.40550      a
T3                 0.33900     ab
T4                 0.27325      b
T2                 0.06800      c

attr(,"class")
[1] "group"
LS0tDQp0aXRsZTogIkRhdG9zIGNvcnJpZG9zIDIgTmFDbCBwYXJ0ZSINCmF1dGhvcjogIkx1aXMgQWxiZXJ0byINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQpgYGB7cn0NCnJtKGxpc3Q9bHMoKSkNCmBgYA0KDQpFc3RvcyBzb24gbHNvIGRhdG9zIGRlIHRlbXBlcmF0dXJhDQpgYGB7cn0NCmxpYnJhcnkocmVhZHhsKQ0KRGF0b3NfTmFFbDwtQmFzZV9kZV9kYXRvc19TYWxpbmlkYWRfQnJhc3Npbm9lc3Rlcm9pZGVzXzFfIDwtIHJlYWRfZXhjZWwoImQ6L1VzZXJzL0phbnVzL0RvY3VtZW50cy9GaXNpb2xvZ2lhIHZlZ2V0YWwgYmFzaWNhL0Jhc2UgZGUgZGF0b3MgU2FsaW5pZGFkICsgQnJhc3Npbm9lc3Rlcm9pZGVzIHBhcnRlIDIueGxzeCIpDQpgYGANCg0KYGBge3J9DQpEYXRvc19OYUVsDQpgYGANCg0KIzEuMSBBbm92YSBwYXJhIHZhcmlhYmxlIHRlbXBlcmF0dXJhDQogDQpgYGB7cn0NCm0xIDwtIGFvdihUZW1wflRyYXQsIGRhdGEgPSBEYXRvc19OYUVsKQ0KYW5vdmEobTEpDQpgYGANCiMxLjIgUHVlYmEgbm9ybWFsaWFkYSBwYXJhIHRlbXBlcmF0dXJhDQpgYGB7cn0NCnNoYXBpcm8udGVzdChyZXNpZChtMSkpDQpgYGANCiMxLjMgUHJ1ZWJhIGRlIGhvbW9nZW5laWRhZCBkZSB2YXJpYW56YSBwYXJhIHRlbXANCmBgYHtyfQ0KbGlicmFyeShjYXIpDQpsaWJyYXJ5KGNhckRhdGEpDQpgYGANCmBgYHtyfQ0KbGV2ZW5lVGVzdChEYXRvc19OYUVsJFRlbXB+RGF0b3NfTmFFbCRUcmF0LCBjZW50ZXI9bWVhbikNCmBgYA0KIzEuNCBwcnVlYmEgZGUgY29tcGFyYWNpb24gZGUgcHJvbWVkaW8gdHVrZXkNCg0KYGBge3J9DQpsaWJyYXJ5KGFncmljb2xhZSkNCmxpYnJhcnkoZHBseXIpDQpgYGANCg0KYGBge3J9DQptMXR1a2V5IDwtSFNELnRlc3QoRGF0b3NfTmFFbCRUZW1wLERhdG9zX05hRWwkVHJhdCwgMTIsIDEuMDc5LCBhbHBoYSA9IDAuMDUpDQptMXR1a2V5DQpgYGANCg0KZGF0b3MgZGUgw6FyZWEgZm9saWFyIGVuIGFkZWxhbnRlLg0KDQoNCiMgw4FyZWEgZm9saWFyDQoNCiMxLjEgQW5vdmEgcGFyYSB2YXJpYWJsZSDDgXJlYSBmb2xpYXINCiANCmBgYHtyfQ0KbTEwIDwtIGFvdihBcmVhX2ZvbGlhcn5UcmF0LCBkYXRhID0gRGF0b3NfTmFFbCkNCmFub3ZhKG0xMCkNCmBgYA0KIzEuMiBQdWViYSBub3JtYWxpYWRhIHBhcmEgw4FyZWEgZm9saWFyDQpgYGB7cn0NCnNoYXBpcm8udGVzdChyZXNpZChtMTApKQ0KYGBgDQojMS4zIFBydWViYSBkZSBob21vZ2VuZWlkYWQgZGUgdmFyaWFuemEgcGFyYSDDgXJlYSBmb2xpYXINCmBgYHtyfQ0KbGlicmFyeShjYXIpDQpsaWJyYXJ5KGNhckRhdGEpDQpgYGANCg0KYGBge3J9DQptMTB2YXI8LWxldmVuZVRlc3QoRGF0b3NfTmFFbCRBcmVhX2ZvbGlhcn5EYXRvc19OYUVsJFRyYXQsIGNlbnRlcj1tZWFuKQ0KbTEwdmFyDQpgYGANCiMxLjQgcHJ1ZWJhIGRlIGNvbXBhcmFjaW9uIGRlIHByb21lZGlvIHR1a2V5IHBhcmEgw4FyZWEgZm9saWFyDQoNCmBgYHtyfQ0KbGlicmFyeShhZ3JpY29sYWUpDQpsaWJyYXJ5KGRwbHlyKQ0KYGBgDQoNCmBgYHtyfQ0KbTEwdHVrZXkgPC1IU0QudGVzdChEYXRvc19OYUVsJEFyZWFfZm9saWFyLERhdG9zX05hRWwkVHJhdCwgMTIsIDYuNTg4LCBhbHBoYSA9IDAuMDUpDQptMTB0dWtleQ0KYGBgDQoNCg0KDQojUGVzbyBmcmVzY28gZW4gaG9qYXMNCg0KIzEuMSBBbm92YSBwYXJhIHZhcmlhYmxlIGRlIHBlc28gZnJlc2NvIGVuIGhvamFzDQogDQpgYGB7cn0NCm0xMTwtIGFvdihIb2phc19QZXNvX2ZyZXNjb35UcmF0LCBkYXRhID0gRGF0b3NfTmFFbCkNCmFub3ZhKG0xMSkNCmBgYA0KIzEuMiBQdWViYSBub3JtYWxpYWRhIHBhcmEgcGVzbyBmcmVzY28gZW4gaG9qYXMNCmBgYHtyfQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG0xMSkpDQpgYGANCiMxLjMgUHJ1ZWJhIGRlIGhvbW9nZW5laWRhZCBkZSB2YXJpYW56YSBwYXJhIHBlc28gZnJlc2NvIGVuIGhvamFzDQpgYGB7cn0NCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShjYXJEYXRhKQ0KYGBgDQoNCmBgYHtyfQ0KbTExdmFyPC1sZXZlbmVUZXN0KERhdG9zX05hRWwkSG9qYXNfUGVzb19mcmVzY29+RGF0b3NfTmFFbCRUcmF0LCBjZW50ZXI9bWVhbikNCm0xMXZhcg0KYGBgDQojMS40IHBydWViYSBkZSBjb21wYXJhY2lvbiBkZSBwcm9tZWRpbyB0dWtleSBwYXJhIHBlc28gZnJlc2NvIGVuIGhvamFzDQoNCmBgYHtyfQ0KbGlicmFyeShhZ3JpY29sYWUpDQpsaWJyYXJ5KGRwbHlyKQ0KYGBgDQoNCmBgYHtyfQ0KbTExdHVrZXkgPC1IU0QudGVzdChEYXRvc19OYUVsJEhvamFzX1Blc29fZnJlc2NvLERhdG9zX05hRWwkVHJhdCwgMTIsIDAuMDYyOTcsIGFscGhhID0gMC4wNSkNCm0xMXR1a2V5DQpgYGANCg0KDQojSG9qYXMgcGVzbyBzZWNvDQoNCiMxLjEgQW5vdmEgcGFyYSB2YXJpYWJsZSBIb2phcyBkZSBwZXNvIHNlY28NCiANCmBgYHtyfQ0KbTEyIDwtIGFvdihIb2phc19QZXNvX3NlY29+VHJhdCwgZGF0YSA9IERhdG9zX05hRWwpDQphbm92YShtMTIpDQpgYGANCiMxLjIgUHVlYmEgbm9ybWFsaWFkYSBwYXJhIGhvamFzIGRlIHBlc28gc2Vjbw0KYGBge3J9DQpzaGFwaXJvLnRlc3QocmVzaWQobTEyKSkNCmBgYA0KIzEuMyBQcnVlYmEgZGUgaG9tb2dlbmVpZGFkIGRlIHZhcmlhbnphIHBhcmEgSG9qYXMgZGUgcGVzbyBzZWNvDQpgYGB7cn0NCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShjYXJEYXRhKQ0KYGBgDQoNCmBgYHtyfQ0KbTEydmFyPC1sZXZlbmVUZXN0KERhdG9zX05hRWwkSG9qYXNfUGVzb19zZWNvfkRhdG9zX05hRWwkVHJhdCwgY2VudGVyPW1lYW4pDQptMTJ2YXINCmBgYA0KIzEuNCBwcnVlYmEgZGUgY29tcGFyYWNpb24gZGUgcHJvbWVkaW8gdHVrZXkgcGFyYSBIb2phcyBkZSBwZXNvIHNlY28NCg0KYGBge3J9DQpsaWJyYXJ5KGFncmljb2xhZSkNCmxpYnJhcnkoZHBseXIpDQpgYGANCg0KYGBge3J9DQptMTJ0dWtleSA8LUhTRC50ZXN0KERhdG9zX05hRWwkSG9qYXNfUGVzb19zZWNvLERhdG9zX05hRWwkVHJhdCwgMTIsIDAuMDAxNTIwLCBhbHBoYSA9IDAuMDUpDQptMTJ0dWtleQ0KYGBgDQoNCg0KDQojQ1JBIFBlc28gZnJlc2NvDQoNCiMxLjEgQW5vdmEgcGFyYSB2YXJpYWJsZSBDUkEgZGUgcGVzbyBmcmVzY28NCiANCmBgYHtyfQ0KbTEzPC0gYW92KENSQV9QZXNvX2ZyZXNjb35UcmF0LCBkYXRhID0gRGF0b3NfTmFFbCkNCmFub3ZhKG0xMykNCmBgYA0KIzEuMiBQdWViYSBub3JtYWxpYWRhIHBhcmEgQ1JBIHBlc28gZnJlc2NvDQpgYGB7cn0NCnNoYXBpcm8udGVzdChyZXNpZChtMTMpKQ0KYGBgDQojMS4zIFBydWViYSBkZSBob21vZ2VuZWlkYWQgZGUgdmFyaWFuemEgcGFyYSBDUkEgZGUgcGVzbyBmcmVzY28NCmBgYHtyfQ0KbGlicmFyeShjYXIpDQpsaWJyYXJ5KGNhckRhdGEpDQpgYGANCg0KYGBge3J9DQptMTN2YXI8LWxldmVuZVRlc3QoRGF0b3NfTmFFbCRDUkFfUGVzb19mcmVzY29+RGF0b3NfTmFFbCRUcmF0LCBjZW50ZXI9bWVhbikNCm0xM3Zhcg0KYGBgDQojMS40IHBydWViYSBkZSBjb21wYXJhY2lvbiBkZSBwcm9tZWRpbyB0dWtleSBwYXJhIENSQSBkZSBwZXNvIGZyZXNjbw0KDQpgYGB7cn0NCmxpYnJhcnkoYWdyaWNvbGFlKQ0KbGlicmFyeShkcGx5cikNCmBgYA0KDQpgYGB7cn0NCm0xM3R1a2V5IDwtSFNELnRlc3QoRGF0b3NfTmFFbCRDUkFfUGVzb19mcmVzY28sRGF0b3NfTmFFbCRUcmF0LCAxMiwgMC4wMDAwMDA5MTA0MiwgYWxwaGEgPSAwLjA1KQ0KbTEzdHVrZXkNCmBgYA0KDQoNCiNtaW5pbWEgc2lnbmlmaWNhdGl2YQ0KYGBge3J9DQprcnVza2FsbGNkPC1MU0QudGVzdChEYXRvc19OYUVsJENSQV9QZXNvX2ZyZXNjbywgRGF0b3NfTmFFbCRUcmF0LCAxMiwgMC4wMDAwMDA5MTA0MiwgYWxwaGE9MC4wNSkNCmtydXNrYWxsY2QNCmBgYA0KDQoNCg0KI0NSQSBhIHBlc28gZGUgYSBzYXR1cmFjaW9uDQojQ1JBIFBlc28gc2Vjbw0KDQojMS4xIEFub3ZhIHBhcmEgdmFyaWFibGUgQ1JBIGRlIHBlc28gc2F0dXJhY2lvbg0KIA0KYGBge3J9DQptMjA8LSBhb3YoQ1JBX1Blc29fYV9zYXR1cmFjacOzbn5UcmF0LCBkYXRhID0gRGF0b3NfTmFFbCkNCmFub3ZhKG0yMCkNCmBgYA0KIzEuMiBQdWViYSBub3JtYWxpYWRhIHBhcmEgQ1JBIHBlc28gc2F0dXJhY2lvbg0KYGBge3J9DQpzaGFwaXJvLnRlc3QocmVzaWQobTIwKSkNCmBgYA0KIzEuMyBQcnVlYmEgZGUgaG9tb2dlbmVpZGFkIGRlIHZhcmlhbnphIHBhcmEgQ1JBIGRlIHBlc28gc2Vjbw0KYGBge3J9DQpsaWJyYXJ5KGNhcikNCmxpYnJhcnkoY2FyRGF0YSkNCmBgYA0KDQpgYGB7cn0NCm0yMHZhcjwtbGV2ZW5lVGVzdChEYXRvc19OYUVsJENSQV9QZXNvX2Ffc2F0dXJhY2nDs25+RGF0b3NfTmFFbCRUcmF0LCBjZW50ZXI9bWVhbikNCm0yMHZhcg0KYGBgDQojMS40IHBydWViYSBkZSBjb21wYXJhY2lvbiBkZSBwcm9tZWRpbyB0dWtleSBwYXJhIENSQSBkZSBwZXNvIHNlY28NCg0KYGBge3J9DQpsaWJyYXJ5KGFncmljb2xhZSkNCmxpYnJhcnkoZHBseXIpDQpgYGANCg0KYGBge3J9DQptMjB0dWtleSA8LUhTRC50ZXN0KERhdG9zX05hRWwkQ1JBX1Blc29fYV9zYXR1cmFjacOzbixEYXRvc19OYUVsJFRyYXQsIDEyLCAwLjAwMDAwMjY0OCwgYWxwaGEgPSAwLjA1KQ0KbTIwdHVrZXkNCmBgYA0KDQojQ1JBIFBlc28gc2Vjbw0KDQojMS4xIEFub3ZhIHBhcmEgdmFyaWFibGUgQ1JBIGRlIHBlc28gc2Vjbw0KIA0KYGBge3J9DQptMTQ8LSBhb3YoQ1JBX1Blc29fc2Vjb35UcmF0LCBkYXRhID0gRGF0b3NfTmFFbCkNCmFub3ZhKG0xNCkNCmBgYA0KIzEuMiBQdWViYSBub3JtYWxpYWRhIHBhcmEgQ1JBIHBlc28gc2Vjbw0KYGBge3J9DQpzaGFwaXJvLnRlc3QocmVzaWQobTE0KSkNCmBgYA0KIzEuMyBQcnVlYmEgZGUgaG9tb2dlbmVpZGFkIGRlIHZhcmlhbnphIHBhcmEgQ1JBIGRlIHBlc28gc2Vjbw0KYGBge3J9DQpsaWJyYXJ5KGNhcikNCmxpYnJhcnkoY2FyRGF0YSkNCmBgYA0KDQpgYGB7cn0NCm0xNHZhcjwtbGV2ZW5lVGVzdChEYXRvc19OYUVsJENSQV9QZXNvX3NlY29+RGF0b3NfTmFFbCRUcmF0LCBjZW50ZXI9bWVhbikNCm0xNHZhcg0KYGBgDQojMS40IHBydWViYSBkZSBjb21wYXJhY2lvbiBkZSBwcm9tZWRpbyB0dWtleSBwYXJhIENSQSBkZSBwZXNvIHNlY28NCg0KYGBge3J9DQpsaWJyYXJ5KGFncmljb2xhZSkNCmxpYnJhcnkoZHBseXIpDQpgYGANCg0KYGBge3J9DQptMTR0dWtleSA8LUhTRC50ZXN0KERhdG9zX05hRWwkQ1JBX1Blc29fc2VjbyxEYXRvc19OYUVsJFRyYXQsIDEyLCAwLjAwMDAwMDA2MzMsIGFscGhhID0gMC4wNSkNCm0xNHR1a2V5DQpgYGANCg0KIyNrcnVza2FsIA0KDQpgYGB7cn0NCmtydXNrYWwyPC1rcnVza2FsKERhdG9zX05hRWwkQ1JBX1Blc29fc2VjbywgRGF0b3NfTmFFbCRUcmF0LCBhbHBoYSA9IDAuMDUpDQprcnVza2FsMg0KYGBgDQoNCiNDUkEgDQoNCiMxLjEgQW5vdmEgcGFyYSB2YXJpYWJsZSBDUkEgDQogDQpgYGB7cn0NCm0xNTwtIGFvdihDUkF+VHJhdCwgZGF0YSA9IERhdG9zX05hRWwpDQphbm92YShtMTUpDQpgYGANCiMxLjIgUHVlYmEgbm9ybWFsaWFkYSBwYXJhIENSQSBwZXNvIGZyZXNjbw0KYGBge3J9DQpzaGFwaXJvLnRlc3QocmVzaWQobTE1KSkNCmBgYA0KIzEuMyBQcnVlYmEgZGUgaG9tb2dlbmVpZGFkIGRlIHZhcmlhbnphIHBhcmEgQ1JBIGRlIHBlc28gZnJlc2NvDQpgYGB7cn0NCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShjYXJEYXRhKQ0KYGBgDQoNCmBgYHtyfQ0KbTE1dmFyPC1sZXZlbmVUZXN0KERhdG9zX05hRWwkQ1JBfkRhdG9zX05hRWwkVHJhdCwgY2VudGVyPW1lYW4pDQptMTV2YXINCmBgYA0KIzEuNCBwcnVlYmEgZGUgY29tcGFyYWNpb24gZGUgcHJvbWVkaW8gdHVrZXkgcGFyYSBDUkEgDQoNCmBgYHtyfQ0KbGlicmFyeShhZ3JpY29sYWUpDQpsaWJyYXJ5KGRwbHlyKQ0KYGBgDQoNCmBgYHtyfQ0KbTE1dHVrZXkgPC1IU0QudGVzdChEYXRvc19OYUVsJENSQSxEYXRvc19OYUVsJFRyYXQsIDEyLCAxNS4zNzgsIGFscGhhID0gMC4wNSkNCm0xNXR1a2V5DQpgYGANCg0KI1Jhw616IHR1YmVyb3NhIGxvbmdpdHVkDQoNCiMxLjEgQW5vdmEgcGFyYSB2YXJpYWJsZSBSYcOteiB0dWJlcm9zYSBsb25naXR1ZA0KIA0KYGBge3J9DQptMTY8LSBhb3YoUlRfTG9uZ2l0dWR+VHJhdCwgZGF0YSA9IERhdG9zX05hRWwpDQphbm92YShtMTYpDQpgYGANCiMxLjIgUHVlYmEgbm9ybWFsaWFkYSBwYXJhIFJhw616IHR1YmVyb3NhIGxvbmdpdHVkDQpgYGB7cn0NCnNoYXBpcm8udGVzdChyZXNpZChtMTYpKQ0KYGBgDQojMS4zIFBydWViYSBkZSBob21vZ2VuZWlkYWQgZGUgdmFyaWFuemEgcGFyYSBSYcOteiB0dWJlcm9zYSBsb25naXR1ZA0KYGBge3J9DQpsaWJyYXJ5KGNhcikNCmxpYnJhcnkoY2FyRGF0YSkNCmBgYA0KDQpgYGB7cn0NCm0xNnZhcjwtbGV2ZW5lVGVzdChEYXRvc19OYUVsJFJUX0xvbmdpdHVkfkRhdG9zX05hRWwkVHJhdCwgY2VudGVyPW1lYW4pDQptMTZ2YXINCmBgYA0KIzEuNCBwcnVlYmEgZGUgY29tcGFyYWNpb24gZGUgcHJvbWVkaW8gdHVrZXkgcGFyYSBSYcOteiB0dWJlcm9zYSBsb25naXR1ZA0KDQpgYGB7cn0NCmxpYnJhcnkoYWdyaWNvbGFlKQ0KbGlicmFyeShkcGx5cikNCmBgYA0KDQpgYGB7cn0NCm0xNnR1a2V5IDwtSFNELnRlc3QoRGF0b3NfTmFFbCRSVF9Mb25naXR1ZCxEYXRvc19OYUVsJFRyYXQsIDEyLCAyLjc5MTcsIGFscGhhID0gMC4wNSkNCm0xNnR1a2V5DQpgYGANCg0KDQojUmHDrXogdHViZXJvc2EgZGlhbWV0cm8NCg0KIzEuMSBBbm92YSBwYXJhIHZhcmlhYmxlIFJhw616IHR1YmVyb3NhIGRpYW1ldHJvDQogDQpgYGB7cn0NCm0xNzwtIGFvdihSVF9EacOhbWV0cm9+VHJhdCwgZGF0YSA9IERhdG9zX05hRWwpDQphbm92YShtMTcpDQpgYGANCiMxLjIgUHVlYmEgbm9ybWFsaWFkYSBwYXJhIFJhw616IHR1YmVyb3NhIGRpYW1ldHJvDQpgYGB7cn0NCnNoYXBpcm8udGVzdChyZXNpZChtMTcpKQ0KYGBgDQojMS4zIFBydWViYSBkZSBob21vZ2VuZWlkYWQgZGUgdmFyaWFuemEgcGFyYSBSYcOteiB0dWJlcm9zYSBkaWFtZXRybw0KYGBge3J9DQpsaWJyYXJ5KGNhcikNCmxpYnJhcnkoY2FyRGF0YSkNCmBgYA0KDQpgYGB7cn0NCm0xN3ZhcjwtbGV2ZW5lVGVzdChEYXRvc19OYUVsJFJUX0Rpw6FtZXRyb35EYXRvc19OYUVsJFRyYXQsIGNlbnRlcj1tZWFuKQ0KbTE3dmFyDQpgYGANCiMxLjQgcHJ1ZWJhIGRlIGNvbXBhcmFjaW9uIGRlIHByb21lZGlvIHR1a2V5IHBhcmEgUmHDrXogdHViZXJvc2EgbG9uZ2l0dWQNCg0KYGBge3J9DQpsaWJyYXJ5KGFncmljb2xhZSkNCmxpYnJhcnkoZHBseXIpDQpgYGANCg0KYGBge3J9DQptMTd0dWtleSA8LUhTRC50ZXN0KERhdG9zX05hRWwkUlRfTG9uZ2l0dWQsRGF0b3NfTmFFbCRUcmF0LCAxMiwgMi44NzUsIGFscGhhID0gMC4wNSkNCm0xN3R1a2V5DQpgYGANCg0KDQojUmHDrXogdHViZXJvc2EgcGVzbyBmcmVzY28NCg0KIzEuMSBBbm92YSBwYXJhIHZhcmlhYmxlIFJhw616IHR1YmVyb3NhIHBlc28gZnJlc2NvDQogDQpgYGB7cn0NCm0xODwtIGFvdihSVF9QZXNvX2ZyZXNjb35UcmF0LCBkYXRhID0gRGF0b3NfTmFFbCkNCmFub3ZhKG0xOCkNCmBgYA0KIzEuMiBQdWViYSBub3JtYWxpYWRhIHBhcmEgUmHDrXogdHViZXJvc2EgcGVzbyBmcmVzY28NCmBgYHtyfQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG0xOCkpDQpgYGANCiMxLjMgUHJ1ZWJhIGRlIGhvbW9nZW5laWRhZCBkZSB2YXJpYW56YSBwYXJhIFJhw616IHR1YmVyb3NhIHBlc28gZnJlc2NvDQpgYGB7cn0NCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShjYXJEYXRhKQ0KYGBgDQoNCmBgYHtyfQ0KbTE4dmFyPC1sZXZlbmVUZXN0KERhdG9zX05hRWwkUlRfUGVzb19mcmVzY29+RGF0b3NfTmFFbCRUcmF0LCBjZW50ZXI9bWVhbikNCm0xOHZhcg0KYGBgDQojMS40IHBydWViYSBkZSBjb21wYXJhY2lvbiBkZSBwcm9tZWRpbyB0dWtleSBwYXJhIFJhw616IHR1YmVyb3NhIHBlc28gZnJlc2NvDQoNCmBgYHtyfQ0KbGlicmFyeShhZ3JpY29sYWUpDQpsaWJyYXJ5KGRwbHlyKQ0KYGBgDQoNCmBgYHtyfQ0KbTE4dHVrZXkgPC1IU0QudGVzdChEYXRvc19OYUVsJFJUX1Blc29fZnJlc2NvLERhdG9zX05hRWwkVHJhdCwgMTIsIDAuMDg4MiwgYWxwaGEgPSAwLjA1KQ0KbTE4dHVrZXkNCmBgYA0KDQoNCiNSYcOteiB0dWJlcm9zYSBwZXNvIHNlY28NCg0KIzEuMSBBbm92YSBwYXJhIHZhcmlhYmxlIFJhw616IHR1YmVyb3NhIHBlc28gc2Vjbw0KIA0KYGBge3J9DQptMTk8LSBhb3YoUlRfUGVzb19zZWNvflRyYXQsIGRhdGEgPSBEYXRvc19OYUVsKQ0KYW5vdmEobTE5KQ0KYGBgDQojMS4yIFB1ZWJhIG5vcm1hbGlhZGEgcGFyYSBSYcOteiB0dWJlcm9zYSBwZXNvIHNlY28NCmBgYHtyfQ0Kc2hhcGlyby50ZXN0KHJlc2lkKG0xOSkpDQpgYGANCiMxLjMgUHJ1ZWJhIGRlIGhvbW9nZW5laWRhZCBkZSB2YXJpYW56YSBwYXJhIFJhw616IHR1YmVyb3NhIHBlc28gZnJlc2NvDQpgYGB7cn0NCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShjYXJEYXRhKQ0KYGBgDQoNCmBgYHtyfQ0KbTE5dmFyPC1sZXZlbmVUZXN0KERhdG9zX05hRWwkUlRfUGVzb19zZWNvfkRhdG9zX05hRWwkVHJhdCwgY2VudGVyPW1lYW4pDQptMTl2YXINCmBgYA0KIzEuNCBwcnVlYmEgZGUgY29tcGFyYWNpb24gZGUgcHJvbWVkaW8gdHVrZXkgcGFyYSBSYcOteiB0dWJlcm9zYSBwZXNvIHNlY28NCg0KYGBge3J9DQpsaWJyYXJ5KGFncmljb2xhZSkNCmxpYnJhcnkoZHBseXIpDQpgYGANCg0KYGBge3J9DQptMTl0dWtleSA8LUhTRC50ZXN0KERhdG9zX05hRWwkUlRfUGVzb19zZWNvLERhdG9zX05hRWwkVHJhdCwgMTIsIDAuMDAyMTQzLCBhbHBoYSA9IDAuMDUpDQptMTl0dWtleQ0KYGBgDQoNCg==