cat("\014")     # clean terminal

rm(list = ls()) # clean workspace
try(dev.off(), silent = TRUE) # close all plots
library(afex)
library(emmeans)
library(ggplot2)
library(ggridges)
library(ggdist)
library(dplyr)
library(reshape2)
library(GGally)
library(forcats)
theme_set(
  theme_minimal()
)
a_posteriori <- function(afex_aov, sig_level = .05) {
  factors  <- as.list(rownames(afex_aov$anova_table))
  for (j in 1:length(factors)) {
    if (grepl(":", factors[[j]])) {
      factors[[j]] <- unlist(strsplit(factors[[j]], ":"))
    }
  }
  p_values <- afex_aov$anova_table$`Pr(>F)`
  for (i in 1:length(p_values)) {
    if (p_values[i] <= sig_level) {
      print(emmeans(afex_aov, factors[[i]], contr = "pairwise"))
      cat(rep("_", 100), '\n', sep = "")
    }
  }
}
master_dir     <- '~/Insync/OneDrive_shared/Fondecyt_Emociones_Estabilometria'
data_dir       <- paste(master_dir, 'data',  sep = '/')
emo_data_name  <- paste(data_dir, 'emo_data_clean.csv', sep='/')
emo_data_clean <- read.csv(emo_data_name, header = TRUE)
emo_data_clean <- emo_data_clean[(emo_data_clean$Group == 'Elder' | emo_data_clean$Group == 'Young'), ]
emo_data_clean$Group    <- factor(emo_data_clean$Group, levels = c("Young", "Elder"))
emo_data_clean$Task <- factor(emo_data_clean$Task, levels = c("Unpleasant", "Neutral", "Pleasant"))
emo_data_clean$Emotion  <- factor(emo_data_clean$Emotion)
emo_data_clean$ID       <- factor(emo_data_clean$ID)
emo_data_clean$num_ID   <- factor(emo_data_clean$num_ID)
emo_data_clean$log10_area  <- log10(emo_data_clean$area)
emo_data_clean$log10_axis1 <- log10(emo_data_clean$axis1)
emo_data_clean$log10_axis2 <- log10(emo_data_clean$axis2)
emo_data_clean$log10_mdist <- log10(emo_data_clean$mdist)
emo_data_clean$log10_rmv   <- log10(emo_data_clean$rmv)
emo_data_clean$log10_rmsx  <- log10(emo_data_clean$rmsx)
emo_data_clean$log10_rmsy  <- log10(emo_data_clean$rmsy)
emo_data_clean$log10_MPFx  <- log10(emo_data_clean$MPFx)
emo_data_clean$log10_MPFy  <- log10(emo_data_clean$MPFy)
emo_data_clean$log10_PEAKx <- log10(emo_data_clean$PEAKx)
emo_data_clean$log10_PEAKy <- log10(emo_data_clean$PEAKy)
emo_data_clean$log10_F50x  <- log10(emo_data_clean$F50x)
emo_data_clean$log10_F50y  <- log10(emo_data_clean$F50y)
emo_data_clean$log10_F95x  <- log10(emo_data_clean$F95x)
emo_data_clean$log10_F95y  <- log10(emo_data_clean$F95y)
emo_data_clean$log10_sampen_x <- log10(emo_data_clean$sampen_x)
emo_data_clean$log10_sampen_y <- log10(emo_data_clean$sampen_y)
emo_data_clean$log10_rMSSD    <- log10(emo_data_clean$rMSSD)
emo_data_clean$log10_hrv_rmssd_nk2  <- log10(emo_data_clean$hrv_rmssd_nk2)
emo_data_clean$log10_ave_phasic_eda    <- log10(emo_data_clean$ave_phasic_eda)
Warning: NaNs produced
emo_data_clean$rrv_rmssd[emo_data_clean$rrv_rmssd > 4500] <- NA
emo_data_clean$log10_scr_peaks_number   <- log10(emo_data_clean$scr_peaks_number)
emo_data_clean$log10_scr_mean_amplitude <- log10(emo_data_clean$scr_mean_amplitude)
emo_data_clean[sapply(emo_data_clean, is.infinite)] <- NA

1 General Description

options(width = 100)
summary(emo_data_clean)
   filename           Group       Paradigm                 Task    Emotion         ID     
 Length:296         Young:153   Length:296         Unpleasant:99   Yes:296   FOJO_04:  3  
 Class :character   Elder:143   Class :character   Neutral   :98             FOJO_05:  3  
 Mode  :character               Mode  :character   Pleasant  :99             FOJO_06:  3  
                                                                             FOJO_07:  3  
                                                                             FOJO_08:  3  
                                                                             FOJO_09:  3  
                                                                             (Other):278  
      area             axis1            axis2             angle            mdist       
 Min.   :  17.68   Min.   : 3.974   Min.   : 0.9813   Min.   :-3.092   Min.   : 1.593  
 1st Qu.:  99.64   1st Qu.: 9.125   1st Qu.: 3.1921   1st Qu.: 1.402   1st Qu.: 3.441  
 Median : 153.04   Median :10.913   Median : 4.5314   Median : 1.555   Median : 4.258  
 Mean   : 197.57   Mean   :11.733   Mean   : 4.9910   Mean   : 1.426   Mean   : 4.473  
 3rd Qu.: 250.36   3rd Qu.:13.522   3rd Qu.: 6.3915   3rd Qu.: 1.666   3rd Qu.: 5.228  
 Max.   :1050.94   Max.   :40.677   Max.   :12.5001   Max.   : 3.102   Max.   :12.659  
 NA's   :13        NA's   :13       NA's   :13        NA's   :13       NA's   :13      
      rmv              rmsx              rmsy             MPFx              PEAKx         
 Min.   : 4.412   Min.   : 0.4172   Min.   : 1.597   Min.   :0.000290   Min.   :0.000122  
 1st Qu.: 7.325   1st Qu.: 1.4249   1st Qu.: 3.603   1st Qu.:0.001301   1st Qu.:0.000122  
 Median : 8.882   Median : 1.9841   Median : 4.346   Median :0.001757   Median :0.000122  
 Mean   : 9.392   Mean   : 2.2972   Mean   : 4.624   Mean   :0.002079   Mean   :0.000377  
 3rd Qu.:10.906   3rd Qu.: 2.8276   3rd Qu.: 5.411   3rd Qu.:0.002763   3rd Qu.:0.000244  
 Max.   :21.810   Max.   :10.3865   Max.   :16.609   Max.   :0.005838   Max.   :0.006836  
 NA's   :13       NA's   :13        NA's   :13       NA's   :13         NA's   :13        
      F50x               F95x               MPFy              PEAKy               F50y         
 Min.   :0.000244   Min.   :0.000488   Min.   :0.000388   Min.   :0.000122   Min.   :0.000244  
 1st Qu.:0.000244   1st Qu.:0.004761   1st Qu.:0.001227   1st Qu.:0.000122   1st Qu.:0.000488  
 Median :0.000732   Median :0.006226   Median :0.001673   Median :0.000244   Median :0.000977  
 Mean   :0.001200   Mean   :0.006544   Mean   :0.001717   Mean   :0.000427   Mean   :0.001046  
 3rd Qu.:0.001587   3rd Qu.:0.008118   3rd Qu.:0.002061   3rd Qu.:0.000366   3rd Qu.:0.001465  
 Max.   :0.006226   Max.   :0.015259   Max.   :0.003962   Max.   :0.003540   Max.   :0.003418  
 NA's   :13         NA's   :13         NA's   :13         NA's   :13         NA's   :13        
      F95y           forward_mov        sampen_x           sampen_y        sampen_resul_vect
 Min.   :0.001343   Min.   :0.1191   Min.   :0.004882   Min.   :0.002094   Min.   :0.3943   
 1st Qu.:0.004028   1st Qu.:0.4423   1st Qu.:0.160767   1st Qu.:0.072823   1st Qu.:1.8177   
 Median :0.005615   Median :0.4978   Median :0.304356   Median :0.125161   Median :2.1314   
 Mean   :0.005787   Mean   :0.4964   Mean   :0.400979   Mean   :0.142622   Mean   :2.1399   
 3rd Qu.:0.007141   3rd Qu.:0.5499   3rd Qu.:0.509943   3rd Qu.:0.196104   3rd Qu.:2.4388   
 Max.   :0.015015   Max.   :0.8000   Max.   :1.935251   Max.   :0.553328   Max.   :3.7222   
 NA's   :13         NA's   :13       NA's   :13         NA's   :13         NA's   :36       
 sampen_phi_rad   sampen_delta_phi   heart_rate         rMSSD         ave_phasic_eda     
 Min.   :0.6319   Min.   :1.114    Min.   : 53.48   Min.   :  3.457   Min.   :-0.003113  
 1st Qu.:0.9191   1st Qu.:1.525    1st Qu.: 70.19   1st Qu.: 11.323   1st Qu.: 0.041904  
 Median :1.0177   Median :1.640    Median : 77.51   Median : 20.189   Median : 0.185042  
 Mean   :1.0229   Mean   :1.633    Mean   : 78.27   Mean   : 24.090   Mean   : 0.559187  
 3rd Qu.:1.1168   3rd Qu.:1.744    3rd Qu.: 85.85   3rd Qu.: 30.040   3rd Qu.: 0.711464  
 Max.   :1.3967   Max.   :2.154    Max.   :117.80   Max.   :117.520   Max.   : 6.133009  
 NA's   :13       NA's   :13       NA's   :11       NA's   :11        NA's   :12         
 ave_tonic_eda    recurrence_rate_x  determinism_x    ave_diag_len_x    longest_diag_x  
 Min.   :-0.335   Min.   :0.009456   Min.   :0.9845   Min.   :  6.371   Min.   :  86.0  
 1st Qu.: 6.020   1st Qu.:0.057900   1st Qu.:0.9991   1st Qu.: 20.019   1st Qu.: 265.5  
 Median :10.006   Median :0.079944   Median :0.9996   Median : 30.059   Median : 366.0  
 Mean   :14.385   Mean   :0.083801   Mean   :0.9990   Mean   : 34.571   Mean   : 442.5  
 3rd Qu.:20.727   3rd Qu.:0.102887   3rd Qu.:0.9998   3rd Qu.: 42.827   3rd Qu.: 504.0  
 Max.   :59.139   Max.   :0.459716   Max.   :1.0000   Max.   :326.286   Max.   :4922.0  
 NA's   :12       NA's   :13         NA's   :13       NA's   :13        NA's   :13      
 diag_entropy_x   laminarity_x    trapping_time_x   longest_vertical_x  rec_time1_x     
 Min.   :2.544   Min.   :0.9930   Min.   :  8.727   Min.   :  63.0     Min.   :  2.215  
 1st Qu.:3.853   1st Qu.:0.9995   1st Qu.: 24.371   1st Qu.: 262.0     1st Qu.:  9.852  
 Median :4.282   Median :0.9997   Median : 37.031   Median : 383.0     Median : 12.664  
 Mean   :4.216   Mean   :0.9995   Mean   : 42.361   Mean   : 459.6     Mean   : 18.505  
 3rd Qu.:4.645   3rd Qu.:0.9998   3rd Qu.: 52.351   3rd Qu.: 560.0     3rd Qu.: 17.493  
 Max.   :6.416   Max.   :1.0000   Max.   :415.057   Max.   :3738.0     Max.   :107.733  
 NA's   :13      NA's   :13       NA's   :13        NA's   :13         NA's   :13       
  rec_time2_x     rec_per_dens_entr_x  clustering_x    transitivity_x      delay_x     
 Min.   : 241.7   Min.   :0.5791      Min.   :0.3124   Min.   :0.3686   Min.   : 9.00  
 1st Qu.: 424.7   1st Qu.:0.6911      1st Qu.:0.5129   1st Qu.:0.5432   1st Qu.:23.00  
 Median : 485.0   Median :0.7188      Median :0.5445   Median :0.5873   Median :24.00  
 Mean   : 515.7   Mean   :0.7160      Mean   :0.5403   Mean   :0.5831   Mean   :24.26  
 3rd Qu.: 569.0   3rd Qu.:0.7459      3rd Qu.:0.5820   3rd Qu.:0.6261   3rd Qu.:26.00  
 Max.   :1239.9   Max.   :0.8138      Max.   :0.8407   Max.   :0.8802   Max.   :36.00  
 NA's   :13       NA's   :13          NA's   :13       NA's   :13       NA's   :13     
     dim_x       recurrence_rate_y determinism_y    ave_diag_len_y   longest_diag_y  
 Min.   :3.000   Min.   :0.03681   Min.   :0.9987   Min.   : 15.42   Min.   : 163.0  
 1st Qu.:3.000   1st Qu.:0.06436   1st Qu.:0.9997   1st Qu.: 28.82   1st Qu.: 282.5  
 Median :3.000   Median :0.07875   Median :0.9998   Median : 36.94   Median : 355.0  
 Mean   :3.092   Mean   :0.08243   Mean   :0.9998   Mean   : 39.71   Mean   : 390.1  
 3rd Qu.:3.000   3rd Qu.:0.09426   3rd Qu.:0.9999   3rd Qu.: 47.59   3rd Qu.: 456.0  
 Max.   :4.000   Max.   :0.34314   Max.   :1.0000   Max.   :160.09   Max.   :1418.0  
 NA's   :13      NA's   :13        NA's   :13       NA's   :13       NA's   :13      
 diag_entropy_y   laminarity_y    trapping_time_y  longest_vertical_y  rec_time1_y    
 Min.   :3.558   Min.   :0.9993   Min.   : 18.63   Min.   : 161.0     Min.   : 2.963  
 1st Qu.:4.268   1st Qu.:0.9998   1st Qu.: 32.12   1st Qu.: 280.0     1st Qu.:10.738  
 Median :4.523   Median :0.9999   Median : 41.11   Median : 358.0     Median :12.848  
 Mean   :4.531   Mean   :0.9998   Mean   : 45.36   Mean   : 396.7     Mean   :13.468  
 3rd Qu.:4.794   3rd Qu.:0.9999   3rd Qu.: 54.37   3rd Qu.: 467.5     3rd Qu.:15.716  
 Max.   :6.013   Max.   :1.0000   Max.   :186.71   Max.   :1802.0     Max.   :27.485  
 NA's   :13      NA's   :13       NA's   :13       NA's   :13         NA's   :13      
  rec_time2_y    rec_per_dens_entr_y  clustering_y    transitivity_y      delay_y          dim_y   
 Min.   :278.4   Min.   :0.6747      Min.   :0.4687   Min.   :0.5114   Min.   :13.00   Min.   :3   
 1st Qu.:490.8   1st Qu.:0.7434      1st Qu.:0.5263   1st Qu.:0.5621   1st Qu.:21.00   1st Qu.:3   
 Median :542.4   Median :0.7627      Median :0.5457   Median :0.5862   Median :22.00   Median :3   
 Mean   :546.1   Mean   :0.7610      Mean   :0.5512   Mean   :0.5907   Mean   :22.61   Mean   :3   
 3rd Qu.:601.5   3rd Qu.:0.7808      3rd Qu.:0.5725   3rd Qu.:0.6174   3rd Qu.:24.00   3rd Qu.:3   
 Max.   :893.8   Max.   :0.8231      Max.   :0.7109   Max.   :0.7376   Max.   :32.00   Max.   :3   
 NA's   :13      NA's   :13          NA's   :13       NA's   :13       NA's   :13      NA's   :13  
    delay_x2       dim_x2        tol_x2         delay_y2       dim_y2        tol_y2     
 Min.   :6     Min.   :6     Min.   :375.6   Min.   :10    Min.   :6     Min.   :171.1  
 1st Qu.:6     1st Qu.:6     1st Qu.:375.6   1st Qu.:10    1st Qu.:6     1st Qu.:171.1  
 Median :6     Median :6     Median :375.6   Median :10    Median :6     Median :171.1  
 Mean   :6     Mean   :6     Mean   :375.6   Mean   :10    Mean   :6     Mean   :171.1  
 3rd Qu.:6     3rd Qu.:6     3rd Qu.:375.6   3rd Qu.:10    3rd Qu.:6     3rd Qu.:171.1  
 Max.   :6     Max.   :6     Max.   :375.6   Max.   :10    Max.   :6     Max.   :171.1  
 NA's   :295   NA's   :295   NA's   :295     NA's   :295   NA's   :295   NA's   :295    
    rsp_rate        rrv_rmssd        rsa_porges      scr_peaks_number scr_mean_amplitude 
 Min.   : 6.343   Min.   : 253.5   Min.   :-10.724   Min.   : 1.00    Min.   :0.000e+00  
 1st Qu.:11.176   1st Qu.:1286.3   1st Qu.: -7.581   1st Qu.: 5.00    1st Qu.:9.310e-06  
 Median :13.593   Median :1880.6   Median : -6.474   Median : 7.50    Median :5.094e-05  
 Mean   :13.412   Mean   :1976.7   Mean   : -6.671   Mean   : 9.27    Mean   :1.750e-04  
 3rd Qu.:15.584   3rd Qu.:2659.2   3rd Qu.: -5.693   3rd Qu.:10.00    3rd Qu.:1.803e-04  
 Max.   :22.788   Max.   :4469.5   Max.   : -2.758   Max.   :90.00    Max.   :4.675e-03  
                  NA's   :6                                                              
 heart_rate_nk2   hrv_rmssd_nk2         num_ID      log10_area     log10_axis1    
 Min.   : 53.33   Min.   :  3.658   4      :  3   Min.   :1.247   Min.   :0.5992  
 1st Qu.: 69.75   1st Qu.: 12.903   5      :  3   1st Qu.:1.998   1st Qu.:0.9602  
 Median : 77.36   Median : 20.803   6      :  3   Median :2.185   Median :1.0380  
 Mean   : 78.14   Mean   : 24.948   7      :  3   Mean   :2.196   Mean   :1.0460  
 3rd Qu.: 85.73   3rd Qu.: 30.341   8      :  3   3rd Qu.:2.399   3rd Qu.:1.1311  
 Max.   :117.54   Max.   :209.589   9      :  3   Max.   :3.022   Max.   :1.6093  
                                    (Other):278   NA's   :13      NA's   :13      
  log10_axis2         log10_mdist       log10_rmv        log10_rmsx        log10_rmsy    
 Min.   :-0.008213   Min.   :0.2023   Min.   :0.6446   Min.   :-0.3797   Min.   :0.2033  
 1st Qu.: 0.504078   1st Qu.:0.5367   1st Qu.:0.8648   1st Qu.: 0.1538   1st Qu.:0.5567  
 Median : 0.656230   Median :0.6292   Median :0.9485   Median : 0.2976   Median :0.6381  
 Mean   : 0.653095   Mean   :0.6283   Mean   :0.9548   Mean   : 0.3057   Mean   :0.6426  
 3rd Qu.: 0.805595   3rd Qu.:0.7183   3rd Qu.:1.0377   3rd Qu.: 0.4514   3rd Qu.:0.7333  
 Max.   : 1.096912   Max.   :1.1024   Max.   :1.3386   Max.   : 1.0165   Max.   :1.2203  
 NA's   :13          NA's   :13       NA's   :13       NA's   :13        NA's   :13      
   log10_MPFx       log10_MPFy      log10_PEAKx      log10_PEAKy       log10_F50x    
 Min.   :-3.537   Min.   :-3.411   Min.   :-3.913   Min.   :-3.913   Min.   :-3.612  
 1st Qu.:-2.886   1st Qu.:-2.911   1st Qu.:-3.913   1st Qu.:-3.913   1st Qu.:-3.612  
 Median :-2.755   Median :-2.777   Median :-3.913   Median :-3.612   Median :-3.135  
 Mean   :-2.742   Mean   :-2.801   Mean   :-3.723   Mean   :-3.587   Mean   :-3.120  
 3rd Qu.:-2.559   3rd Qu.:-2.686   3rd Qu.:-3.612   3rd Qu.:-3.436   3rd Qu.:-2.799  
 Max.   :-2.234   Max.   :-2.402   Max.   :-2.165   Max.   :-2.451   Max.   :-2.206  
 NA's   :13       NA's   :13       NA's   :13       NA's   :13       NA's   :13      
   log10_F50y       log10_F95x       log10_F95y     log10_sampen_x    log10_sampen_y   
 Min.   :-3.612   Min.   :-3.311   Min.   :-2.872   Min.   :-2.3114   Min.   :-2.6791  
 1st Qu.:-3.311   1st Qu.:-2.322   1st Qu.:-2.395   1st Qu.:-0.7938   1st Qu.:-1.1377  
 Median :-3.010   Median :-2.206   Median :-2.251   Median :-0.5166   Median :-0.9025  
 Mean   :-3.064   Mean   :-2.219   Mean   :-2.272   Mean   :-0.5566   Mean   :-0.9432  
 3rd Qu.:-2.834   3rd Qu.:-2.091   3rd Qu.:-2.146   3rd Qu.:-0.2925   3rd Qu.:-0.7075  
 Max.   :-2.466   Max.   :-1.816   Max.   :-1.823   Max.   : 0.2867   Max.   :-0.2570  
 NA's   :13       NA's   :13       NA's   :13       NA's   :13        NA's   :13       
  log10_rMSSD     log10_hrv_rmssd_nk2 log10_ave_phasic_eda log10_scr_peaks_number
 Min.   :0.5387   Min.   :0.5632      Min.   :-3.3986      Min.   :0.0000        
 1st Qu.:1.0540   1st Qu.:1.1107      1st Qu.:-1.3700      1st Qu.:0.6990        
 Median :1.3051   Median :1.3181      Median :-0.7310      Median :0.8741        
 Mean   :1.2810   Mean   :1.2968      Mean   :-0.8161      Mean   :0.8683        
 3rd Qu.:1.4777   3rd Qu.:1.4820      3rd Qu.:-0.1475      3rd Qu.:1.0000        
 Max.   :2.0701   Max.   :2.3214      Max.   : 0.7877      Max.   :1.9542        
 NA's   :11                           NA's   :13                                 
 log10_scr_mean_amplitude
 Min.   :-7.493          
 1st Qu.:-5.013          
 Median :-4.291          
 Mean   :-4.447          
 3rd Qu.:-3.739          
 Max.   :-2.330          
 NA's   :1               

1.1 Time-distance parameters

options(width = 100)
time_distance <- c('log10_area', 'log10_axis1', 'log10_axis2', 'log10_mdist', 'log10_rmv', 'log10_rmsx', 'log10_rmsy')
time_distance_pairs <- ggpairs(emo_data_clean,
                       columns = time_distance,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
suppressWarnings(print(time_distance_pairs))

summary(emo_data_clean[time_distance])
   log10_area     log10_axis1      log10_axis2         log10_mdist       log10_rmv     
 Min.   :1.247   Min.   :0.5992   Min.   :-0.008213   Min.   :0.2023   Min.   :0.6446  
 1st Qu.:1.998   1st Qu.:0.9602   1st Qu.: 0.504078   1st Qu.:0.5367   1st Qu.:0.8648  
 Median :2.185   Median :1.0380   Median : 0.656230   Median :0.6292   Median :0.9485  
 Mean   :2.196   Mean   :1.0460   Mean   : 0.653095   Mean   :0.6283   Mean   :0.9548  
 3rd Qu.:2.399   3rd Qu.:1.1311   3rd Qu.: 0.805595   3rd Qu.:0.7183   3rd Qu.:1.0377  
 Max.   :3.022   Max.   :1.6093   Max.   : 1.096912   Max.   :1.1024   Max.   :1.3386  
 NA's   :13      NA's   :13       NA's   :13          NA's   :13       NA's   :13      
   log10_rmsx        log10_rmsy    
 Min.   :-0.3797   Min.   :0.2033  
 1st Qu.: 0.1538   1st Qu.:0.5567  
 Median : 0.2976   Median :0.6381  
 Mean   : 0.3057   Mean   :0.6426  
 3rd Qu.: 0.4514   3rd Qu.:0.7333  
 Max.   : 1.0165   Max.   :1.2203  
 NA's   :13        NA's   :13      

1.2 Frequency parameters

options(width = 100)
frequency <- c('log10_MPFx', 'log10_MPFy', 'log10_PEAKx', 'log10_PEAKy', 'log10_F50x', 'log10_F50y', 'log10_F95x', 'log10_F95y')
frequency_pairs <- ggpairs(emo_data_clean,
                       columns = frequency,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
suppressWarnings(print(frequency_pairs))

summary(emo_data_clean[frequency])
   log10_MPFx       log10_MPFy      log10_PEAKx      log10_PEAKy       log10_F50x    
 Min.   :-3.537   Min.   :-3.411   Min.   :-3.913   Min.   :-3.913   Min.   :-3.612  
 1st Qu.:-2.886   1st Qu.:-2.911   1st Qu.:-3.913   1st Qu.:-3.913   1st Qu.:-3.612  
 Median :-2.755   Median :-2.777   Median :-3.913   Median :-3.612   Median :-3.135  
 Mean   :-2.742   Mean   :-2.801   Mean   :-3.723   Mean   :-3.587   Mean   :-3.120  
 3rd Qu.:-2.559   3rd Qu.:-2.686   3rd Qu.:-3.612   3rd Qu.:-3.436   3rd Qu.:-2.799  
 Max.   :-2.234   Max.   :-2.402   Max.   :-2.165   Max.   :-2.451   Max.   :-2.206  
 NA's   :13       NA's   :13       NA's   :13       NA's   :13       NA's   :13      
   log10_F50y       log10_F95x       log10_F95y    
 Min.   :-3.612   Min.   :-3.311   Min.   :-2.872  
 1st Qu.:-3.311   1st Qu.:-2.322   1st Qu.:-2.395  
 Median :-3.010   Median :-2.206   Median :-2.251  
 Mean   :-3.064   Mean   :-2.219   Mean   :-2.272  
 3rd Qu.:-2.834   3rd Qu.:-2.091   3rd Qu.:-2.146  
 Max.   :-2.466   Max.   :-1.816   Max.   :-1.823  
 NA's   :13       NA's   :13       NA's   :13      

1.3 Entropy

options(width = 100)
entropy <- c('forward_mov', 'log10_sampen_x', 'log10_sampen_y', 'sampen_resul_vect', 'sampen_phi_rad', 'sampen_delta_phi')
entropy_pairs <- ggpairs(emo_data_clean,
                       columns = entropy,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
suppressWarnings(print(entropy_pairs))

summary(emo_data_clean[entropy])
  forward_mov     log10_sampen_x    log10_sampen_y    sampen_resul_vect sampen_phi_rad  
 Min.   :0.1191   Min.   :-2.3114   Min.   :-2.6791   Min.   :0.3943    Min.   :0.6319  
 1st Qu.:0.4423   1st Qu.:-0.7938   1st Qu.:-1.1377   1st Qu.:1.8177    1st Qu.:0.9191  
 Median :0.4978   Median :-0.5166   Median :-0.9025   Median :2.1314    Median :1.0177  
 Mean   :0.4964   Mean   :-0.5566   Mean   :-0.9432   Mean   :2.1399    Mean   :1.0229  
 3rd Qu.:0.5499   3rd Qu.:-0.2925   3rd Qu.:-0.7075   3rd Qu.:2.4388    3rd Qu.:1.1168  
 Max.   :0.8000   Max.   : 0.2867   Max.   :-0.2570   Max.   :3.7222    Max.   :1.3967  
 NA's   :13       NA's   :13        NA's   :13        NA's   :36        NA's   :13      
 sampen_delta_phi
 Min.   :1.114   
 1st Qu.:1.525   
 Median :1.640   
 Mean   :1.633   
 3rd Qu.:1.744   
 Max.   :2.154   
 NA's   :13      

2 Classic Center of Pressure

60 seconds

2.1 Area (log10)

options(width = 100)
area_rep_anova <- aov_ez("ID", "log10_area", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- area_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
area_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_area, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(area_rain))

# area_group_rain <- ggplot(rep_anova_data, aes(y = fct_rev(Group), x = log10_area, color = Group, fill = Group)) +
#   ggtitle("Area") +
#   ylab("Group") +
#   stat_halfeye(
#     trim   = FALSE,
#     adjust = .75,
#     .width = 0,
#     justification = -.15,
#     alpha  = .4,
#     point_colour = NA) +
#   geom_boxplot(width = .15, alpha = .2, outlier.shape = NA) +
#   geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05)) +
#   theme(legend.position='none')
# suppressWarnings(print(area_group_rain))
# area_task_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_area, color = Task, fill = Task)) +
#   ggtitle("Area") +
#   ylab("Task") +
#   stat_halfeye(
#     trim   = FALSE,
#     adjust = .75,
#     .width = 0,
#     justification = -.15,
#     alpha  = .4,
#     point_colour = NA) +
#   geom_boxplot(width = .15, alpha = .2, outlier.shape = NA) +
#   geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05)) +
#   theme(legend.position='none')
# suppressWarnings(print(area_task_rain))
area_afex_plot <-
  afex_plot(
    area_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(area_afex_plot))

nice(area_rep_anova)
Anova Table (Type 3 tests)

Response: log10_area
      Effect           df  MSE       F  ges p.value
1      Group        1, 89 0.18  5.06 * .040    .027
2       Task 1.98, 175.83 0.03 4.98 ** .015    .008
3 Group:Task 1.98, 175.83 0.03    2.16 .006    .119
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(area_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young   2.14 0.0371 89     2.06     2.21
 Elder   2.25 0.0359 89     2.18     2.33

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder   -0.116 0.0517 89  -2.250  0.0269

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant   2.20 0.0299 89     2.14     2.26
 Neutral      2.15 0.0311 89     2.09     2.21
 Pleasant     2.23 0.0294 89     2.18     2.29

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0536 0.0282 89   1.901  0.1442
 Unpleasant - Pleasant  -0.0301 0.0267 89  -1.127  0.5000
 Neutral - Pleasant     -0.0837 0.0256 89  -3.267  0.0044

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.2 Ellipse Major Axis (log10)

options(width = 100)
log10_axis1_rep_anova <- aov_ez("ID", "log10_axis1", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data        <- log10_axis1_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
log10_axis1_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_axis1, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_axis1_rain))

log10_axis1_afex_plot <-
  afex_plot(
    log10_axis1_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_axis1_afex_plot))

nice(log10_axis1_rep_anova)
Anova Table (Type 3 tests)

Response: log10_axis1
      Effect           df  MSE         F  ges p.value
1      Group        1, 89 0.04      2.01 .016    .159
2       Task 1.95, 173.90 0.01 11.67 *** .034   <.001
3 Group:Task 1.95, 173.90 0.01      1.94 .006    .148
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_axis1_rep_anova)
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant   1.05 0.0138 89    1.019     1.07
 Neutral      1.01 0.0148 89    0.985     1.04
 Pleasant     1.08 0.0150 89    1.048     1.11

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0322 0.0121 89   2.652  0.0254
 Unpleasant - Pleasant  -0.0312 0.0133 89  -2.349  0.0544
 Neutral - Pleasant     -0.0634 0.0139 89  -4.568  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.3 Ellipse Minor Axis (log10)

options(width = 100)
log10_axis2_rep_anova <- aov_ez("ID", "log10_axis2", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data        <- log10_axis2_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
log10_axis2_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_axis2, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_axis2_rain))

log10_axis2_afex_plot <-
  afex_plot(
    log10_axis2_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_axis2_afex_plot))

nice(log10_axis2_rep_anova)
Anova Table (Type 3 tests)

Response: log10_axis2
      Effect           df  MSE      F  ges p.value
1      Group        1, 89 0.08 5.58 * .042    .020
2       Task 1.96, 174.31 0.02   0.76 .003    .467
3 Group:Task 1.96, 174.31 0.02   1.91 .006    .153
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_axis2_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young  0.612 0.0247 89    0.563    0.661
 Elder  0.694 0.0239 89    0.646    0.741

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder  -0.0811 0.0343 89  -2.363  0.0203

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________

2.4 Mean Distance (log10)

options(width = 100)
mdist_rep_anova <- aov_ez("ID", "log10_mdist", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data  <- mdist_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
mdist_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_mdist, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(mdist_rain))

mdist_afex_plot <-
  afex_plot(
    mdist_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(mdist_afex_plot))

nice(mdist_rep_anova)
Anova Table (Type 3 tests)

Response: log10_mdist
      Effect           df  MSE        F  ges p.value
1      Group        1, 89 0.04   3.11 + .025    .081
2       Task 1.98, 176.23 0.01 8.49 *** .024   <.001
3 Group:Task 1.98, 176.23 0.01     2.01 .006    .138
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(mdist_rep_anova)
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant  0.627 0.0138 89    0.600    0.654
 Neutral     0.604 0.0145 89    0.575    0.633
 Pleasant    0.655 0.0144 89    0.627    0.684

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0233 0.0119 89   1.953  0.1300
 Unpleasant - Pleasant  -0.0282 0.0126 89  -2.239  0.0703
 Neutral - Pleasant     -0.0514 0.0130 89  -3.960  0.0004

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.5 Root Mean Velocity (log10)

options(width = 100)
rmv_rep_anova  <- aov_ez("ID", "log10_rmv", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- rmv_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
rmv_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rmv, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rmv_rain))

rmv_afex_plot <-
  afex_plot(
    rmv_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rmv_afex_plot))

nice(rmv_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmv
      Effect           df  MSE         F   ges p.value
1      Group        1, 89 0.03 15.66 ***  .132   <.001
2       Task 1.92, 171.30 0.00 79.03 ***  .107   <.001
3 Group:Task 1.92, 171.30 0.00      0.35 <.001    .696
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmv_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young  0.911 0.0156 89    0.880    0.942
 Elder  0.996 0.0150 89    0.967    1.026

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder  -0.0856 0.0216 89  -3.958  0.0002

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant  0.967 0.0121 89    0.943    0.991
 Neutral     0.902 0.0108 89    0.880    0.923
 Pleasant    0.992 0.0120 89    0.968    1.016

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate      SE df t.ratio p.value
 Unpleasant - Neutral    0.0655 0.00798 89   8.208  <.0001
 Unpleasant - Pleasant  -0.0247 0.00670 89  -3.678  0.0012
 Neutral - Pleasant     -0.0901 0.00749 89 -12.027  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.6 Root Mean Square X (log10)

options(width = 100)
rmsx_rep_anova <- aov_ez("ID", "log10_rmsx", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- rmsx_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
rmsx_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rmsx, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rmsx_rain))

rmsx_afex_plot <-
  afex_plot(
    rmsx_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rmsx_afex_plot))

nice(rmsx_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmsx
      Effect           df  MSE      F   ges p.value
1      Group        1, 89 0.09 5.88 *  .043    .017
2       Task 1.91, 169.60 0.02   0.19 <.001    .820
3 Group:Task 1.91, 169.60 0.02   1.31  .005    .271
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmsx_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young  0.261 0.0262 89    0.209    0.314
 Elder  0.350 0.0254 89    0.300    0.400

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder  -0.0884 0.0365 89  -2.424  0.0174

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________

2.7 Root Mean Square Y (log10)

options(width = 100)
rmsy_rep_anova <- aov_ez("ID", "log10_rmsy", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- rmsy_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
rmsy_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rmsy, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rmsy_rain))

rmsy_afex_plot <-
  afex_plot(
    rmsy_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rmsy_afex_plot))

nice(rmsy_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmsy
      Effect           df  MSE         F  ges p.value
1      Group        1, 89 0.04      1.54 .012    .219
2       Task 1.86, 165.67 0.01 15.71 *** .048   <.001
3 Group:Task 1.86, 165.67 0.01      1.79 .006    .172
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmsy_rep_anova)
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant  0.644 0.0133 89    0.618    0.671
 Neutral     0.606 0.0142 89    0.578    0.634
 Pleasant    0.680 0.0150 89    0.650    0.709

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0382 0.0114 89   3.357  0.0033
 Unpleasant - Pleasant  -0.0353 0.0132 89  -2.662  0.0248
 Neutral - Pleasant     -0.0735 0.0145 89  -5.061  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.8 Mean Power Frequency X (log10)

options(width = 100)
MPFx_rep_anova <- aov_ez("ID", "log10_MPFx", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- MPFx_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
MPFx_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_MPFx, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(MPFx_rain))

MPFx_afex_plot <-
  afex_plot(
    MPFx_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(MPFx_afex_plot))

nice(MPFx_rep_anova)
Anova Table (Type 3 tests)

Response: log10_MPFx
      Effect           df  MSE      F  ges p.value
1      Group        1, 89 0.09 3.08 + .019    .083
2       Task 1.98, 176.01 0.03 3.10 * .015    .048
3 Group:Task 1.98, 176.01 0.03 2.81 + .014    .063
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(MPFx_rep_anova)
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant  -2.73 0.0222 89    -2.78    -2.69
 Neutral     -2.78 0.0244 89    -2.83    -2.73
 Pleasant    -2.71 0.0241 89    -2.76    -2.66

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0438 0.0257 89   1.699  0.2111
 Unpleasant - Pleasant  -0.0223 0.0282 89  -0.791  0.7093
 Neutral - Pleasant     -0.0661 0.0269 89  -2.453  0.0422

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.9 Mean Power Frequency Y (log10)

options(width = 100)
MPFy_rep_anova <- aov_ez("ID", "log10_MPFy", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data <- MPFy_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
MPFy_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_MPFy, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(MPFy_rain))

MPFy_afex_plot <-
  afex_plot(
    MPFy_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(MPFy_afex_plot))

nice(MPFy_rep_anova)
Anova Table (Type 3 tests)

Response: log10_MPFy
      Effect           df  MSE         F  ges p.value
1      Group        1, 89 0.06   8.33 ** .058    .005
2       Task 1.90, 169.31 0.02 13.01 *** .047   <.001
3 Group:Task 1.90, 169.31 0.02      2.24 .008    .112
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(MPFy_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young  -2.85 0.0212 89    -2.89    -2.80
 Elder  -2.76 0.0205 89    -2.80    -2.72

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder  -0.0852 0.0295 89  -2.886  0.0049

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant  -2.78 0.0158 89    -2.81    -2.75
 Neutral     -2.86 0.0195 89    -2.90    -2.82
 Pleasant    -2.77 0.0188 89    -2.81    -2.73

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0761 0.0169 89   4.492  0.0001
 Unpleasant - Pleasant  -0.0084 0.0174 89  -0.482  0.8802
 Neutral - Pleasant     -0.0844 0.0202 89  -4.183  0.0002

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

2.10 Forward Movement

options(width = 100)
forward_mov_rep_anova <- aov_ez("ID", "forward_mov", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data        <- forward_mov_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
forward_mov_rain <- ggplot(rep_anova_data, aes(y = Task, x = forward_mov, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(forward_mov_rain))

forward_mov_afex_plot <-
  afex_plot(
    forward_mov_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(forward_mov_afex_plot))

nice(forward_mov_rep_anova)
Anova Table (Type 3 tests)

Response: forward_mov
      Effect           df  MSE       F   ges p.value
1      Group        1, 89 0.01    0.05 <.001    .826
2       Task 1.92, 171.06 0.01 5.56 **  .036    .005
3 Group:Task 1.92, 171.06 0.01    1.57  .010    .213
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(forward_mov_rep_anova)
$emmeans
 Task       emmean      SE df lower.CL upper.CL
 Unpleasant  0.517 0.00975 89    0.498    0.537
 Neutral     0.496 0.00910 89    0.478    0.514
 Pleasant    0.477 0.00795 89    0.462    0.493

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0213 0.0131 89   1.622  0.2418
 Unpleasant - Pleasant   0.0400 0.0116 89   3.442  0.0025
 Neutral - Pleasant      0.0187 0.0112 89   1.676  0.2201

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

3 Entropy and Center of Pressure

3.1 Sample Entropy X (log10)

options(width = 100)
log10_sampen_x_rep_anova <- aov_ez("ID", "log10_sampen_x", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data           <- log10_sampen_x_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
log10_sampen_x_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_sampen_x, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_sampen_x_rain))

log10_sampen_x_afex_plot <-
  afex_plot(
    log10_sampen_x_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_sampen_x_afex_plot))

nice(log10_sampen_x_rep_anova)
Anova Table (Type 3 tests)

Response: log10_sampen_x
      Effect           df  MSE      F  ges p.value
1      Group        1, 89 0.30 5.49 * .036    .021
2       Task 1.89, 167.96 0.10   1.29 .006    .276
3 Group:Task 1.89, 167.96 0.10   1.16 .005    .313
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_sampen_x_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young -0.477 0.0474 89   -0.571   -0.383
 Elder -0.631 0.0458 89   -0.722   -0.540

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder    0.154 0.0659 89   2.343  0.0213

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________

3.2 Sample Entropy Y (log10)

options(width = 100)
log10_sampen_y_rep_anova <- aov_ez("ID", "log10_sampen_y", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data           <- log10_sampen_y_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
log10_sampen_y_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_sampen_y, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_sampen_y_rain))

log10_sampen_y_afex_plot <-
  afex_plot(
    log10_sampen_y_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_sampen_y_afex_plot))

nice(log10_sampen_y_rep_anova)
Anova Table (Type 3 tests)

Response: log10_sampen_y
      Effect           df  MSE    F  ges p.value
1      Group        1, 89 0.19 0.90 .006    .345
2       Task 1.84, 163.68 0.06 1.39 .006    .251
3 Group:Task 1.84, 163.68 0.06 1.11 .005    .327
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_sampen_y_rep_anova)

3.3 Angle Sample Entropy

options(width = 100)
sampen_phi_rad_rep_anova <- aov_ez("ID", "sampen_phi_rad", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data           <- sampen_phi_rad_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
sampen_phi_rad_rain <- ggplot(rep_anova_data, aes(y = Task, x = sampen_phi_rad, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(sampen_phi_rad_rain))

sampen_phi_rad_afex_plot <-
  afex_plot(
    sampen_phi_rad_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(sampen_phi_rad_afex_plot))

nice(sampen_phi_rad_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_phi_rad
      Effect           df  MSE       F  ges p.value
1      Group        1, 89 0.05    0.20 .002    .652
2       Task 2.00, 177.80 0.01 6.54 ** .018    .002
3 Group:Task 2.00, 177.80 0.01    1.68 .005    .190
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_phi_rad_rep_anova)
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant   1.01 0.0163 89    0.977     1.04
 Neutral      1.05 0.0159 89    1.020     1.08
 Pleasant     1.01 0.0153 89    0.978     1.04

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast               estimate     SE df t.ratio p.value
 Unpleasant - Neutral  -0.042316 0.0137 89  -3.099  0.0073
 Unpleasant - Pleasant  0.000468 0.0137 89   0.034  0.9994
 Neutral - Pleasant     0.042784 0.0134 89   3.202  0.0053

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

3.4 Resultant Vector Sample Entropy

options(width = 100)
sampen_resul_vect_rep_anova <- aov_ez("ID", "sampen_resul_vect", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 24 ID(s), which were removed before analysis:
FOJO_08, FOJO_09, FOJO_13, FOJO_16, FOJO_19, FOJO_20, FOJO_21, FOJO_23, FOJO_28, FOJO_31, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data              <- sampen_resul_vect_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    34    41
  Neutral       34    41
  Pleasant      34    41
sampen_resul_vect_rain <- ggplot(rep_anova_data, aes(y = Task, x = sampen_resul_vect, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(sampen_resul_vect_rain))

sampen_resul_vect_afex_plot <-
  afex_plot(
    sampen_resul_vect_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(sampen_resul_vect_afex_plot))

nice(sampen_resul_vect_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_resul_vect
      Effect           df  MSE       F  ges p.value
1      Group        1, 73 0.49    1.24 .010    .269
2       Task 1.72, 125.78 0.19 6.61 ** .035    .003
3 Group:Task 1.72, 125.78 0.19    1.70 .009    .191
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_resul_vect_rep_anova)
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant   2.08 0.0681 73     1.94     2.21
 Neutral      2.26 0.0572 73     2.15     2.38
 Pleasant     2.04 0.0548 73     1.93     2.15

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral   -0.1853 0.0782 73  -2.370  0.0527
 Unpleasant - Pleasant   0.0401 0.0610 73   0.658  0.7885
 Neutral - Pleasant      0.2254 0.0574 73   3.928  0.0006

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

3.5 Angle Change Sample Entropy

options(width = 100)
sampen_delta_phi_rep_anova <- aov_ez("ID", "sampen_delta_phi", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 8 ID(s), which were removed before analysis:
FOJO_20, FOJO_21, FOJO_23, FOJO_31, FOJO_33, FOJO_47, FOJO_54, FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data             <- sampen_delta_phi_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    44    47
  Neutral       44    47
  Pleasant      44    47
sampen_delta_phi_rain <- ggplot(rep_anova_data, aes(y = Task, x = sampen_delta_phi, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(sampen_delta_phi_rain))

sampen_delta_phi_afex_plot <-
  afex_plot(
    sampen_delta_phi_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(sampen_delta_phi_afex_plot))

nice(sampen_delta_phi_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_delta_phi
      Effect           df  MSE         F  ges p.value
1      Group        1, 89 0.06 18.51 *** .109   <.001
2       Task 2.00, 177.94 0.02      1.52 .007    .222
3 Group:Task 2.00, 177.94 0.02      1.22 .006    .297
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_delta_phi_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young   1.70 0.0208 89     1.66     1.74
 Elder   1.57 0.0201 89     1.53     1.61

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder    0.124 0.0289 89   4.302  <.0001

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________

4 Heart Activity

4.1 Heart Rate

options(width = 100)
heart_rate_rep_anova <- aov_ez("ID", "heart_rate", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 6 ID(s), which were removed before analysis:
FOJO_24, FOJO_37, FOSA_205, FOSA_210, FOSA_213, FOSA_241
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- heart_rate_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    49    44
  Neutral       49    44
  Pleasant      49    44
heart_rate_rain <- ggplot(rep_anova_data, aes(y = Task, x = heart_rate, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(heart_rate_rain))

heart_rate_afex_plot <-
  afex_plot(
    heart_rate_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(heart_rate_afex_plot))

nice(heart_rate_rep_anova)
Anova Table (Type 3 tests)

Response: heart_rate
      Effect           df    MSE       F   ges p.value
1      Group        1, 91 398.81 7.65 **  .075    .007
2       Task 1.92, 175.09   8.13    1.16 <.001    .314
3 Group:Task 1.92, 175.09   8.13    1.93 <.001    .149
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(heart_rate_rep_anova)
$emmeans
 Group emmean   SE df lower.CL upper.CL
 Young   81.6 1.65 91     78.4     84.9
 Elder   75.0 1.74 91     71.6     78.5

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate   SE df t.ratio p.value
 Young - Elder     6.62 2.39 91   2.765  0.0069

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________

4.2 Heart Rate, NeuroKit2 method

options(width = 100)
heart_rate_nk2_rep_anova <- aov_ez("ID", "heart_rate_nk2", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- heart_rate_nk2_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    51    47
  Neutral       51    47
  Pleasant      51    47
heart_rate_nk2_rain <- ggplot(rep_anova_data, aes(y = Task, x = heart_rate_nk2, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(heart_rate_nk2_rain))

heart_rate_nk2_afex_plot <-
  afex_plot(
    heart_rate_nk2_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(heart_rate_nk2_afex_plot))

nice(heart_rate_nk2_rep_anova)
Anova Table (Type 3 tests)

Response: heart_rate_nk2
      Effect           df    MSE      F   ges p.value
1      Group        1, 96 400.33 6.46 *  .061    .013
2       Task 1.89, 181.75   8.40   1.28 <.001    .280
3 Group:Task 1.89, 181.75   8.40 2.89 +  .001    .061
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(heart_rate_nk2_rep_anova)
$emmeans
 Group emmean   SE df lower.CL upper.CL
 Young   81.1 1.62 96     77.9     84.3
 Elder   75.1 1.68 96     71.8     78.5

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate   SE df t.ratio p.value
 Young - Elder     5.93 2.34 96   2.541  0.0127

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________

4.3 Root Mean Square of the Successive Differences (log10)

options(width = 100)
rMSSD_rep_anova <- aov_ez("ID", "log10_rMSSD", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 6 ID(s), which were removed before analysis:
FOJO_24, FOJO_37, FOSA_205, FOSA_210, FOSA_213, FOSA_241
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data  <- rMSSD_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    49    44
  Neutral       49    44
  Pleasant      49    44
log10_rMSSD_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_rMSSD, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_rMSSD_rain))

rMSSD_afex_plot <-
  afex_plot(
    rMSSD_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rMSSD_afex_plot))

nice(rMSSD_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rMSSD
      Effect           df  MSE         F  ges p.value
1      Group        1, 91 0.19 20.33 *** .160   <.001
2       Task 1.58, 143.85 0.02    4.50 * .007    .019
3 Group:Task 1.58, 143.85 0.02      0.91 .001    .386
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rMSSD_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young   1.39 0.0361 91     1.32     1.46
 Elder   1.15 0.0381 91     1.08     1.23

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder    0.237 0.0525 91   4.509  <.0001

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant   1.29 0.0279 91     1.24     1.35
 Neutral      1.28 0.0298 91     1.22     1.34
 Pleasant     1.24 0.0276 91     1.18     1.29

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral    0.0151 0.0228 91   0.664  0.7851
 Unpleasant - Pleasant   0.0551 0.0190 91   2.897  0.0130
 Neutral - Pleasant      0.0400 0.0141 91   2.836  0.0154

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4.4 Root Mean Square of the Successive Differences (log10), NeuroKit2 method

options(width = 100)
log10_hrv_rmssd_nk2_rep_anova <- aov_ez("ID", "log10_hrv_rmssd_nk2", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data  <- log10_hrv_rmssd_nk2_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    51    47
  Neutral       51    47
  Pleasant      51    47
log10_hrv_rmssd_nk2_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_hrv_rmssd_nk2, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_hrv_rmssd_nk2_rain))

log10_hrv_rmssd_nk2_afex_plot <-
  afex_plot(
    log10_hrv_rmssd_nk2_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_hrv_rmssd_nk2_afex_plot))

nice(log10_hrv_rmssd_nk2_rep_anova)
Anova Table (Type 3 tests)

Response: log10_hrv_rmssd_nk2
      Effect           df  MSE         F   ges p.value
1      Group        1, 96 0.20 16.00 ***  .128   <.001
2       Task 1.92, 184.42 0.01      1.34  .002    .264
3 Group:Task 1.92, 184.42 0.01      0.42 <.001    .649
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_hrv_rmssd_nk2_rep_anova)
$emmeans
 Group emmean     SE df lower.CL upper.CL
 Young   1.40 0.0365 96     1.33     1.47
 Elder   1.19 0.0381 96     1.11     1.26

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate     SE df t.ratio p.value
 Young - Elder    0.211 0.0528 96   4.000  0.0001

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________

4.5 ECG-Derived Respiration

options(width = 100)
rsp_rate_rep_anova <- aov_ez("ID", "rsp_rate", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data     <- rsp_rate_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    51    47
  Neutral       51    47
  Pleasant      51    47
rsp_rate_rain <- ggplot(rep_anova_data, aes(y = Task, x = rsp_rate, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rsp_rate_rain))

rsp_rate_afex_plot <-
  afex_plot(
    rsp_rate_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rsp_rate_afex_plot))

nice(rsp_rate_rep_anova)
Anova Table (Type 3 tests)

Response: rsp_rate
      Effect           df   MSE         F  ges p.value
1      Group        1, 96 24.12   7.54 ** .058    .007
2       Task 1.86, 178.38  3.48 10.37 *** .022   <.001
3 Group:Task 1.86, 178.38  3.48      1.80 .004    .171
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rsp_rate_rep_anova)
$emmeans
 Group emmean    SE df lower.CL upper.CL
 Young   12.6 0.397 96     11.8     13.4
 Elder   14.2 0.414 96     13.4     15.0

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate    SE df t.ratio p.value
 Young - Elder    -1.57 0.573 96  -2.745  0.0072

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________
$emmeans
 Task       emmean    SE df lower.CL upper.CL
 Unpleasant   12.9 0.325 96     12.3     13.6
 Neutral      13.2 0.311 96     12.6     13.9
 Pleasant     14.1 0.332 96     13.4     14.7

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate    SE df t.ratio p.value
 Unpleasant - Neutral    -0.305 0.276 96  -1.102  0.5149
 Unpleasant - Pleasant   -1.132 0.272 96  -4.158  0.0002
 Neutral - Pleasant      -0.827 0.219 96  -3.779  0.0008

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4.6 Root mean square of successive differences of the breath-to-breath intervals

options(width = 100)
rrv_rmssd_rep_anova <- aov_ez("ID", "rrv_rmssd", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 5 ID(s), which were removed before analysis:
FOJO_41, FOSA_205, FOSA_210, FOSA_213, FOSA_229
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data      <- rrv_rmssd_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    50    44
  Neutral       50    44
  Pleasant      50    44
rrv_rmssd_rain <- ggplot(rep_anova_data, aes(y = Task, x = rrv_rmssd, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rrv_rmssd_rain))

rrv_rmssd_afex_plot <-
  afex_plot(
    rrv_rmssd_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rrv_rmssd_afex_plot))

nice(rrv_rmssd_rep_anova)
Anova Table (Type 3 tests)

Response: rrv_rmssd
      Effect           df        MSE        F  ges p.value
1      Group        1, 92 1455774.96     0.26 .002    .611
2       Task 1.79, 164.41  636023.44 8.58 *** .039   <.001
3 Group:Task 1.79, 164.41  636023.44     0.25 .001    .758
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rrv_rmssd_rep_anova)
$emmeans
 Task       emmean    SE df lower.CL upper.CL
 Unpleasant   2212 100.1 92     2013     2411
 Neutral      1885 104.0 92     1679     2092
 Pleasant     1772  82.9 92     1608     1937

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate    SE df t.ratio p.value
 Unpleasant - Neutral       327 127.8 92   2.556  0.0325
 Unpleasant - Pleasant      439  99.8 92   4.404  0.0001
 Neutral - Pleasant         113 100.7 92   1.121  0.5038

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

4.7 Respiratory Sinus Arrhythmia, RSA (Porges-Bohrer algorithm)

options(width = 100)
rsa_porges_rep_anova <- aov_ez("ID", "rsa_porges", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- rsa_porges_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    51    47
  Neutral       51    47
  Pleasant      51    47
rsa_porges_rain <- ggplot(rep_anova_data, aes(y = Task, x = rsa_porges, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(rsa_porges_rain))

rsa_porges_afex_plot <-
  afex_plot(
    rsa_porges_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(rsa_porges_afex_plot))

nice(rsa_porges_rep_anova)
Anova Table (Type 3 tests)

Response: rsa_porges
      Effect           df  MSE         F   ges p.value
1      Group        1, 96 3.79 59.03 ***  .352   <.001
2       Task 1.99, 190.94 0.25    4.31 *  .005    .015
3 Group:Task 1.99, 190.94 0.25      0.48 <.001    .617
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rsa_porges_rep_anova)
$emmeans
 Group emmean    SE df lower.CL upper.CL
 Young  -5.82 0.157 96    -6.13    -5.51
 Elder  -7.57 0.164 96    -7.89    -7.24

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate    SE df t.ratio p.value
 Young - Elder     1.75 0.227 96   7.683  <.0001

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________
$emmeans
 Task       emmean    SE df lower.CL upper.CL
 Unpleasant  -6.66 0.115 96    -6.88    -6.43
 Neutral     -6.61 0.122 96    -6.86    -6.37
 Pleasant    -6.81 0.126 96    -7.06    -6.56

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral   -0.0419 0.0717 96  -0.584  0.8290
 Unpleasant - Pleasant   0.1583 0.0697 96   2.272  0.0647
 Neutral - Pleasant      0.2002 0.0743 96   2.694  0.0225

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

5 Electrodermal Activity

Resultados muuuuuy tentativos por la calidad errática de los registros

5.1 Mean Phasic Component (log10)

options(width = 100)
log10_ave_phasic_eda_rep_anova = aov_ez("ID", "log10_ave_phasic_eda", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 11 ID(s), which were removed before analysis:
FOJO_12, FOJO_18, FOJO_22, FOJO_24, FOJO_26, FOJO_27, FOJO_29, FOJO_33, FOJO_47, FOJO_52, ... [showing first 10 only]
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data       <- log10_ave_phasic_eda_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    41    47
  Neutral       41    47
  Pleasant      41    47
log10_ave_phasic_eda_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_ave_phasic_eda, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_ave_phasic_eda_rain))

log10_ave_phasic_eda_afex_plot <-
  afex_plot(
    log10_ave_phasic_eda_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_ave_phasic_eda_afex_plot))

nice(log10_ave_phasic_eda_rep_anova)
Anova Table (Type 3 tests)

Response: log10_ave_phasic_eda
      Effect           df  MSE         F  ges p.value
1      Group        1, 86 1.48    4.87 * .046    .030
2       Task 1.91, 164.13 0.14 49.85 *** .083   <.001
3 Group:Task 1.91, 164.13 0.14      1.96 .004    .146
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_ave_phasic_eda_rep_anova)
$emmeans
 Group emmean    SE df lower.CL upper.CL
 Young -0.592 0.110 86    -0.81   -0.374
 Elder -0.923 0.102 86    -1.13   -0.719

Results are averaged over the levels of: Task 
Confidence level used: 0.95 

$contrasts
 contrast      estimate   SE df t.ratio p.value
 Young - Elder    0.331 0.15 86   2.208  0.0299

Results are averaged over the levels of: Task 

____________________________________________________________________________________________________
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant -0.477 0.0684 86   -0.613   -0.341
 Neutral    -1.036 0.0898 86   -1.215   -0.857
 Pleasant   -0.759 0.0852 86   -0.928   -0.589

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral     0.559 0.0578 86   9.659  <.0001
 Unpleasant - Pleasant    0.281 0.0496 86   5.674  <.0001
 Neutral - Pleasant      -0.277 0.0599 86  -4.629  <.0001

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________

5.2 Number of SCR Peaks (log10)

options(width = 100)
log10_scr_peaks_number_rep_anova <- aov_ez("ID", "log10_scr_peaks_number", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 1 ID(s), which were removed before analysis:
FOSA_210
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data                   <- log10_scr_peaks_number_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    51    47
  Neutral       51    47
  Pleasant      51    47
log10_scr_peaks_number_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_scr_peaks_number, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_scr_peaks_number_rain))

log10_scr_peaks_number_afex_plot <-
  afex_plot(
    log10_scr_peaks_number_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_scr_peaks_number_afex_plot))

nice(log10_scr_peaks_number_rep_anova)
Anova Table (Type 3 tests)

Response: log10_scr_peaks_number
      Effect           df  MSE    F   ges p.value
1      Group        1, 96 0.07 0.00 <.001    .958
2       Task 1.69, 162.69 0.08 1.67  .011    .196
3 Group:Task 1.69, 162.69 0.08 0.57  .004    .539
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_scr_peaks_number_rep_anova)

5.3 Mean SCR Amplitude (log10)

options(width = 100)
log10_scr_mean_amplitude_rep_anova <- aov_ez("ID", "log10_scr_mean_amplitude", emo_data_clean, within = c("Task"), between = c("Group"))
Warning: Missing values for 2 ID(s), which were removed before analysis:
FOSA_210, FOSA_213
Below the first few rows (in wide format) of the removed cases with missing data.
  Contrasts set to contr.sum for the following variables: Group
rep_anova_data                     <- log10_scr_mean_amplitude_rep_anova$data$long
xtabs(~ Task + Group, data = rep_anova_data)
            Group
Task         Young Elder
  Unpleasant    51    46
  Neutral       51    46
  Pleasant      51    46
log10_scr_mean_amplitude_rain <- ggplot(rep_anova_data, aes(y = Task, x = log10_scr_mean_amplitude, color = Group, fill = Group)) +
  stat_halfeye(
    trim   = FALSE,
    .width = 0,
    justification = -.15,
    alpha  = .4,
    point_colour = NA) +
  geom_point(size = 2, alpha = .4, position = position_jitter(width = 0, height = .05))
suppressWarnings(print(log10_scr_mean_amplitude_rain))

log10_scr_mean_amplitude_afex_plot <-
  afex_plot(
    log10_scr_mean_amplitude_rep_anova,
    x = "Task",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge = -.5,
    mapping = c("color"),
    point_arg = list(size = 4)
  )
Warning: Panel(s) show a mixed within-between-design.
Error bars do not allow comparisons across all means.
Suppress error bars with: error = "none"
suppressWarnings(print(log10_scr_mean_amplitude_afex_plot))

nice(log10_scr_mean_amplitude_rep_anova)
Anova Table (Type 3 tests)

Response: log10_scr_mean_amplitude
      Effect           df  MSE         F  ges p.value
1      Group        1, 95 2.20      1.18 .010    .280
2       Task 1.83, 174.24 0.28 17.78 *** .034   <.001
3 Group:Task 1.83, 174.24 0.28      1.35 .003    .262
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_scr_mean_amplitude_rep_anova)
$emmeans
 Task       emmean     SE df lower.CL upper.CL
 Unpleasant  -4.25 0.0935 95    -4.43    -4.06
 Neutral     -4.68 0.0998 95    -4.88    -4.48
 Pleasant    -4.42 0.0970 95    -4.61    -4.22

Results are averaged over the levels of: Group 
Confidence level used: 0.95 

$contrasts
 contrast              estimate     SE df t.ratio p.value
 Unpleasant - Neutral     0.432 0.0729 95   5.929  <.0001
 Unpleasant - Pleasant    0.168 0.0630 95   2.674  0.0238
 Neutral - Pleasant      -0.264 0.0822 95  -3.215  0.0050

Results are averaged over the levels of: Group 
P value adjustment: tukey method for comparing a family of 3 estimates 

____________________________________________________________________________________________________
LS0tCnRpdGxlOiAiUG9zdHVyYWwgU3RhYmlsaXR5IGFuZCBFbW90aW9ucyIKYXV0aG9yOiAiQWx2YXJvIFJpdmVyYS1SZWkiCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCLCAlWScpYCIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIGhpZ2hsaWdodDogdGFuZ28KICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0aGVtZTogY2VydWxlYW4KICAgIHRvYzogeWVzCiAgICB0b2NfZmxvYXQ6CiAgICAgIGNvbGxhcHNlZDogbm8KICAgICAgc21vb3RoX3Njcm9sbDogbm8KICBwZGZfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwpzdWJ0aXRsZTogWW91bmcgJiBFbGRlciBncm91cHMKLS0tCgpgYGB7ciBDbGVhbiBhbmQgTG9hZCBMaWJyYXJpZXN9CmNhdCgiXDAxNCIpICAgICAjIGNsZWFuIHRlcm1pbmFsCnJtKGxpc3QgPSBscygpKSAjIGNsZWFuIHdvcmtzcGFjZQp0cnkoZGV2Lm9mZigpLCBzaWxlbnQgPSBUUlVFKSAjIGNsb3NlIGFsbCBwbG90cwpsaWJyYXJ5KGFmZXgpCmxpYnJhcnkoZW1tZWFucykKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdncmlkZ2VzKQpsaWJyYXJ5KGdnZGlzdCkKbGlicmFyeShkcGx5cikKbGlicmFyeShyZXNoYXBlMikKbGlicmFyeShHR2FsbHkpCmxpYnJhcnkoZm9yY2F0cykKYGBgCgpgYGB7ciBTZXQgRGVmYXVsdHN9CnRoZW1lX3NldCgKICB0aGVtZV9taW5pbWFsKCkKKQphX3Bvc3RlcmlvcmkgPC0gZnVuY3Rpb24oYWZleF9hb3YsIHNpZ19sZXZlbCA9IC4wNSkgewogIGZhY3RvcnMgIDwtIGFzLmxpc3Qocm93bmFtZXMoYWZleF9hb3YkYW5vdmFfdGFibGUpKQogIGZvciAoaiBpbiAxOmxlbmd0aChmYWN0b3JzKSkgewogICAgaWYgKGdyZXBsKCI6IiwgZmFjdG9yc1tbal1dKSkgewogICAgICBmYWN0b3JzW1tqXV0gPC0gdW5saXN0KHN0cnNwbGl0KGZhY3RvcnNbW2pdXSwgIjoiKSkKICAgIH0KICB9CiAgcF92YWx1ZXMgPC0gYWZleF9hb3YkYW5vdmFfdGFibGUkYFByKD5GKWAKICBmb3IgKGkgaW4gMTpsZW5ndGgocF92YWx1ZXMpKSB7CiAgICBpZiAocF92YWx1ZXNbaV0gPD0gc2lnX2xldmVsKSB7CiAgICAgIHByaW50KGVtbWVhbnMoYWZleF9hb3YsIGZhY3RvcnNbW2ldXSwgY29udHIgPSAicGFpcndpc2UiKSkKICAgICAgY2F0KHJlcCgiXyIsIDEwMCksICdcbicsIHNlcCA9ICIiKQogICAgfQogIH0KfQpgYGAKCmBgYHtyIExvYWQgRGF0YX0KbWFzdGVyX2RpciAgICAgPC0gJ34vSW5zeW5jL09uZURyaXZlX3NoYXJlZC9Gb25kZWN5dF9FbW9jaW9uZXNfRXN0YWJpbG9tZXRyaWEnCmRhdGFfZGlyICAgICAgIDwtIHBhc3RlKG1hc3Rlcl9kaXIsICdkYXRhJywgIHNlcCA9ICcvJykKZW1vX2RhdGFfbmFtZSAgPC0gcGFzdGUoZGF0YV9kaXIsICdlbW9fZGF0YV9jbGVhbi5jc3YnLCBzZXA9Jy8nKQplbW9fZGF0YV9jbGVhbiA8LSByZWFkLmNzdihlbW9fZGF0YV9uYW1lLCBoZWFkZXIgPSBUUlVFKQplbW9fZGF0YV9jbGVhbiA8LSBlbW9fZGF0YV9jbGVhblsoZW1vX2RhdGFfY2xlYW4kR3JvdXAgPT0gJ0VsZGVyJyB8IGVtb19kYXRhX2NsZWFuJEdyb3VwID09ICdZb3VuZycpLCBdCmVtb19kYXRhX2NsZWFuJEdyb3VwICAgIDwtIGZhY3RvcihlbW9fZGF0YV9jbGVhbiRHcm91cCwgbGV2ZWxzID0gYygiWW91bmciLCAiRWxkZXIiKSkKZW1vX2RhdGFfY2xlYW4kVGFzayA8LSBmYWN0b3IoZW1vX2RhdGFfY2xlYW4kVGFzaywgbGV2ZWxzID0gYygiVW5wbGVhc2FudCIsICJOZXV0cmFsIiwgIlBsZWFzYW50IikpCmVtb19kYXRhX2NsZWFuJEVtb3Rpb24gIDwtIGZhY3RvcihlbW9fZGF0YV9jbGVhbiRFbW90aW9uKQplbW9fZGF0YV9jbGVhbiRJRCAgICAgICA8LSBmYWN0b3IoZW1vX2RhdGFfY2xlYW4kSUQpCmVtb19kYXRhX2NsZWFuJG51bV9JRCAgIDwtIGZhY3RvcihlbW9fZGF0YV9jbGVhbiRudW1fSUQpCmVtb19kYXRhX2NsZWFuJGxvZzEwX2FyZWEgIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJGFyZWEpCmVtb19kYXRhX2NsZWFuJGxvZzEwX2F4aXMxIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJGF4aXMxKQplbW9fZGF0YV9jbGVhbiRsb2cxMF9heGlzMiA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRheGlzMikKZW1vX2RhdGFfY2xlYW4kbG9nMTBfbWRpc3QgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kbWRpc3QpCmVtb19kYXRhX2NsZWFuJGxvZzEwX3JtdiAgIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJHJtdikKZW1vX2RhdGFfY2xlYW4kbG9nMTBfcm1zeCAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kcm1zeCkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfcm1zeSAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kcm1zeSkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfTVBGeCAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kTVBGeCkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfTVBGeSAgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kTVBGeSkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfUEVBS3ggPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kUEVBS3gpCmVtb19kYXRhX2NsZWFuJGxvZzEwX1BFQUt5IDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJFBFQUt5KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9GNTB4ICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRGNTB4KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9GNTB5ICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRGNTB5KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9GOTV4ICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRGOTV4KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9GOTV5ICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRGOTV5KQplbW9fZGF0YV9jbGVhbiRsb2cxMF9zYW1wZW5feCA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRzYW1wZW5feCkKZW1vX2RhdGFfY2xlYW4kbG9nMTBfc2FtcGVuX3kgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kc2FtcGVuX3kpCmVtb19kYXRhX2NsZWFuJGxvZzEwX3JNU1NEICAgIDwtIGxvZzEwKGVtb19kYXRhX2NsZWFuJHJNU1NEKQplbW9fZGF0YV9jbGVhbiRsb2cxMF9ocnZfcm1zc2RfbmsyICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRocnZfcm1zc2RfbmsyKQplbW9fZGF0YV9jbGVhbiRsb2cxMF9hdmVfcGhhc2ljX2VkYSAgICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRhdmVfcGhhc2ljX2VkYSkKZW1vX2RhdGFfY2xlYW4kcnJ2X3Jtc3NkW2Vtb19kYXRhX2NsZWFuJHJydl9ybXNzZCA+IDQ1MDBdIDwtIE5BCmVtb19kYXRhX2NsZWFuJGxvZzEwX3Njcl9wZWFrc19udW1iZXIgICA8LSBsb2cxMChlbW9fZGF0YV9jbGVhbiRzY3JfcGVha3NfbnVtYmVyKQplbW9fZGF0YV9jbGVhbiRsb2cxMF9zY3JfbWVhbl9hbXBsaXR1ZGUgPC0gbG9nMTAoZW1vX2RhdGFfY2xlYW4kc2NyX21lYW5fYW1wbGl0dWRlKQplbW9fZGF0YV9jbGVhbltzYXBwbHkoZW1vX2RhdGFfY2xlYW4sIGlzLmluZmluaXRlKV0gPC0gTkEKYGBgCgojIEdlbmVyYWwgRGVzY3JpcHRpb24KYGBge3IgZ2VuZXJhbCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnN1bW1hcnkoZW1vX2RhdGFfY2xlYW4pCmBgYAoKIyMgVGltZS1kaXN0YW5jZSBwYXJhbWV0ZXJzCmBgYHtyIHRpbWVfZGlzdGFuY2UsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQp0aW1lX2Rpc3RhbmNlIDwtIGMoJ2xvZzEwX2FyZWEnLCAnbG9nMTBfYXhpczEnLCAnbG9nMTBfYXhpczInLCAnbG9nMTBfbWRpc3QnLCAnbG9nMTBfcm12JywgJ2xvZzEwX3Jtc3gnLCAnbG9nMTBfcm1zeScpCnRpbWVfZGlzdGFuY2VfcGFpcnMgPC0gZ2dwYWlycyhlbW9fZGF0YV9jbGVhbiwKICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0gdGltZV9kaXN0YW5jZSwKICAgICAgICAgICAgICAgICAgICAgICBhZXMoY29sb3VyID0gR3JvdXAsIGFscGhhID0gLjI1KSwKICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgIGxvd2VyID0gbGlzdChjb250aW51b3VzID0gd3JhcCgicG9pbnRzIikpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHRpbWVfZGlzdGFuY2VfcGFpcnMpKQpzdW1tYXJ5KGVtb19kYXRhX2NsZWFuW3RpbWVfZGlzdGFuY2VdKQpgYGAKCiMjIEZyZXF1ZW5jeSBwYXJhbWV0ZXJzCmBgYHtyIGZyZXF1ZW5jeSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmZyZXF1ZW5jeSA8LSBjKCdsb2cxMF9NUEZ4JywgJ2xvZzEwX01QRnknLCAnbG9nMTBfUEVBS3gnLCAnbG9nMTBfUEVBS3knLCAnbG9nMTBfRjUweCcsICdsb2cxMF9GNTB5JywgJ2xvZzEwX0Y5NXgnLCAnbG9nMTBfRjk1eScpCmZyZXF1ZW5jeV9wYWlycyA8LSBnZ3BhaXJzKGVtb19kYXRhX2NsZWFuLAogICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgPSBmcmVxdWVuY3ksCiAgICAgICAgICAgICAgICAgICAgICAgYWVzKGNvbG91ciA9IEdyb3VwLCBhbHBoYSA9IC4yNSksCiAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IHdyYXAoInBvaW50cyIpKSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChmcmVxdWVuY3lfcGFpcnMpKQpzdW1tYXJ5KGVtb19kYXRhX2NsZWFuW2ZyZXF1ZW5jeV0pCmBgYAoKIyMgRW50cm9weQpgYGB7ciBlbnRyb3B5LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKZW50cm9weSA8LSBjKCdmb3J3YXJkX21vdicsICdsb2cxMF9zYW1wZW5feCcsICdsb2cxMF9zYW1wZW5feScsICdzYW1wZW5fcmVzdWxfdmVjdCcsICdzYW1wZW5fcGhpX3JhZCcsICdzYW1wZW5fZGVsdGFfcGhpJykKZW50cm9weV9wYWlycyA8LSBnZ3BhaXJzKGVtb19kYXRhX2NsZWFuLAogICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgPSBlbnRyb3B5LAogICAgICAgICAgICAgICAgICAgICAgIGFlcyhjb2xvdXIgPSBHcm91cCwgYWxwaGEgPSAuMjUpLAogICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgbG93ZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKCJwb2ludHMiKSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQoZW50cm9weV9wYWlycykpCnN1bW1hcnkoZW1vX2RhdGFfY2xlYW5bZW50cm9weV0pCmBgYAoKIyBDbGFzc2ljIENlbnRlciBvZiBQcmVzc3VyZQo2MCBzZWNvbmRzCgojIyBBcmVhIChsb2cxMCkKYGBge3IgQXJlYSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmFyZWFfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfYXJlYSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSA8LSBhcmVhX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKYXJlYV9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfYXJlYSwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChhcmVhX3JhaW4pKQojIGFyZWFfZ3JvdXBfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gZmN0X3JldihHcm91cCksIHggPSBsb2cxMF9hcmVhLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiMgICBnZ3RpdGxlKCJBcmVhIikgKwojICAgeWxhYigiR3JvdXAiKSArCiMgICBzdGF0X2hhbGZleWUoCiMgICAgIHRyaW0gICA9IEZBTFNFLAojICAgICBhZGp1c3QgPSAuNzUsCiMgICAgIC53aWR0aCA9IDAsCiMgICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAojICAgICBhbHBoYSAgPSAuNCwKIyAgICAgcG9pbnRfY29sb3VyID0gTkEpICsKIyAgIGdlb21fYm94cGxvdCh3aWR0aCA9IC4xNSwgYWxwaGEgPSAuMiwgb3V0bGllci5zaGFwZSA9IE5BKSArCiMgICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpICsKIyAgIHRoZW1lKGxlZ2VuZC5wb3NpdGlvbj0nbm9uZScpCiMgc3VwcHJlc3NXYXJuaW5ncyhwcmludChhcmVhX2dyb3VwX3JhaW4pKQojIGFyZWFfdGFza19yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfYXJlYSwgY29sb3IgPSBUYXNrLCBmaWxsID0gVGFzaykpICsKIyAgIGdndGl0bGUoIkFyZWEiKSArCiMgICB5bGFiKCJUYXNrIikgKwojICAgc3RhdF9oYWxmZXllKAojICAgICB0cmltICAgPSBGQUxTRSwKIyAgICAgYWRqdXN0ID0gLjc1LAojICAgICAud2lkdGggPSAwLAojICAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKIyAgICAgYWxwaGEgID0gLjQsCiMgICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiMgICBnZW9tX2JveHBsb3Qod2lkdGggPSAuMTUsIGFscGhhID0gLjIsIG91dGxpZXIuc2hhcGUgPSBOQSkgKwojICAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKSArCiMgICB0aGVtZShsZWdlbmQucG9zaXRpb249J25vbmUnKQojIHN1cHByZXNzV2FybmluZ3MocHJpbnQoYXJlYV90YXNrX3JhaW4pKQphcmVhX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGFyZWFfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoYXJlYV9hZmV4X3Bsb3QpKQpuaWNlKGFyZWFfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoYXJlYV9yZXBfYW5vdmEpCmBgYAoKIyMgRWxsaXBzZSBNYWpvciBBeGlzIChsb2cxMCkKYGBge3IgbG9nMTBfYXhpczEsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpsb2cxMF9heGlzMV9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9heGlzMSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICAgPC0gbG9nMTBfYXhpczFfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpsb2cxMF9heGlzMV9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfYXhpczEsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfYXhpczFfcmFpbikpCmxvZzEwX2F4aXMxX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX2F4aXMxX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX2F4aXMxX2FmZXhfcGxvdCkpCm5pY2UobG9nMTBfYXhpczFfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfYXhpczFfcmVwX2Fub3ZhKQpgYGAKCiMjIEVsbGlwc2UgTWlub3IgQXhpcyAobG9nMTApCmBgYHtyIGxvZzEwX2F4aXMyLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfYXhpczJfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfYXhpczIiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgIDwtIGxvZzEwX2F4aXMyX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKbG9nMTBfYXhpczJfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX2F4aXMyLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX2F4aXMyX3JhaW4pKQpsb2cxMF9heGlzMl9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBsb2cxMF9heGlzMl9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9heGlzMl9hZmV4X3Bsb3QpKQpuaWNlKGxvZzEwX2F4aXMyX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX2F4aXMyX3JlcF9hbm92YSkKYGBgCgojIyBNZWFuIERpc3RhbmNlIChsb2cxMCkKYGBge3IgbWRpc3QsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQptZGlzdF9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9tZGlzdCIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgPC0gbWRpc3RfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQptZGlzdF9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfbWRpc3QsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQobWRpc3RfcmFpbikpCm1kaXN0X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIG1kaXN0X3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KG1kaXN0X2FmZXhfcGxvdCkpCm5pY2UobWRpc3RfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobWRpc3RfcmVwX2Fub3ZhKQpgYGAKCiMjIFJvb3QgTWVhbiBWZWxvY2l0eSAobG9nMTApCmBgYHtyIHJtdiwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJtdl9yZXBfYW5vdmEgIDwtIGFvdl9leigiSUQiLCAibG9nMTBfcm12IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhIDwtIHJtdl9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnJtdl9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfcm12LCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJtdl9yYWluKSkKcm12X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIHJtdl9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChybXZfYWZleF9wbG90KSkKbmljZShybXZfcmVwX2Fub3ZhKQphX3Bvc3Rlcmlvcmkocm12X3JlcF9hbm92YSkKYGBgCgojIyBSb290IE1lYW4gU3F1YXJlIFggKGxvZzEwKQpgYGB7ciBybXN4LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKcm1zeF9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9ybXN4IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhIDwtIHJtc3hfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpybXN4X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9ybXN4LCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJtc3hfcmFpbikpCnJtc3hfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgcm1zeF9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChybXN4X2FmZXhfcGxvdCkpCm5pY2Uocm1zeF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShybXN4X3JlcF9hbm92YSkKYGBgCgojIyBSb290IE1lYW4gU3F1YXJlIFkgKGxvZzEwKQpgYGB7ciBybXN5LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKcm1zeV9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJsb2cxMF9ybXN5IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhIDwtIHJtc3lfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpybXN5X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9ybXN5LCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJtc3lfcmFpbikpCnJtc3lfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgcm1zeV9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChybXN5X2FmZXhfcGxvdCkpCm5pY2Uocm1zeV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShybXN5X3JlcF9hbm92YSkKYGBgCgojIyBNZWFuIFBvd2VyIEZyZXF1ZW5jeSBYIChsb2cxMCkKYGBge3IgTVBGeCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCk1QRnhfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfTVBGeCIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSA8LSBNUEZ4X3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKTVBGeF9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfTVBGeCwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChNUEZ4X3JhaW4pKQpNUEZ4X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIE1QRnhfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoTVBGeF9hZmV4X3Bsb3QpKQpuaWNlKE1QRnhfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoTVBGeF9yZXBfYW5vdmEpCmBgYAoKIyMgTWVhbiBQb3dlciBGcmVxdWVuY3kgWSAobG9nMTApCmBgYHtyIE1QRnksIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpNUEZ5X3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX01QRnkiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgPC0gTVBGeV9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCk1QRnlfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX01QRnksIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQoTVBGeV9yYWluKSkKTVBGeV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBNUEZ5X3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KE1QRnlfYWZleF9wbG90KSkKbmljZShNUEZ5X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKE1QRnlfcmVwX2Fub3ZhKQpgYGAKCiMjIEZvcndhcmQgTW92ZW1lbnQKYGBge3IgZm9yd2FyZF9tb3YsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpmb3J3YXJkX21vdl9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJmb3J3YXJkX21vdiIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICAgPC0gZm9yd2FyZF9tb3ZfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpmb3J3YXJkX21vdl9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gZm9yd2FyZF9tb3YsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQoZm9yd2FyZF9tb3ZfcmFpbikpCmZvcndhcmRfbW92X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGZvcndhcmRfbW92X3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGZvcndhcmRfbW92X2FmZXhfcGxvdCkpCm5pY2UoZm9yd2FyZF9tb3ZfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoZm9yd2FyZF9tb3ZfcmVwX2Fub3ZhKQpgYGAKCiMgRW50cm9weSBhbmQgQ2VudGVyIG9mIFByZXNzdXJlCiMjIFNhbXBsZSBFbnRyb3B5IFggKGxvZzEwKQpgYGB7ciBzYW1wZW5feCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX3NhbXBlbl94X3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX3NhbXBlbl94IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgICAgICA8LSBsb2cxMF9zYW1wZW5feF9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmxvZzEwX3NhbXBlbl94X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9zYW1wZW5feCwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9zYW1wZW5feF9yYWluKSkKbG9nMTBfc2FtcGVuX3hfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfc2FtcGVuX3hfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfc2FtcGVuX3hfYWZleF9wbG90KSkKbmljZShsb2cxMF9zYW1wZW5feF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9zYW1wZW5feF9yZXBfYW5vdmEpCmBgYAoKIyMgU2FtcGxlIEVudHJvcHkgWSAobG9nMTApCmBgYHtyIHNhbXBlbl95LCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfc2FtcGVuX3lfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfc2FtcGVuX3kiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgICAgIDwtIGxvZzEwX3NhbXBlbl95X3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKbG9nMTBfc2FtcGVuX3lfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX3NhbXBlbl95LCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX3NhbXBlbl95X3JhaW4pKQpsb2cxMF9zYW1wZW5feV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBsb2cxMF9zYW1wZW5feV9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9zYW1wZW5feV9hZmV4X3Bsb3QpKQpuaWNlKGxvZzEwX3NhbXBlbl95X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX3NhbXBlbl95X3JlcF9hbm92YSkKYGBgCgojIyBBbmdsZSBTYW1wbGUgRW50cm9weQpgYGB7ciBzYW1wZW5fcGhpX3JhZCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnNhbXBlbl9waGlfcmFkX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgInNhbXBlbl9waGlfcmFkIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgICAgICA8LSBzYW1wZW5fcGhpX3JhZF9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnNhbXBlbl9waGlfcmFkX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBzYW1wZW5fcGhpX3JhZCwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChzYW1wZW5fcGhpX3JhZF9yYWluKSkKc2FtcGVuX3BoaV9yYWRfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgc2FtcGVuX3BoaV9yYWRfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoc2FtcGVuX3BoaV9yYWRfYWZleF9wbG90KSkKbmljZShzYW1wZW5fcGhpX3JhZF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShzYW1wZW5fcGhpX3JhZF9yZXBfYW5vdmEpCmBgYAoKIyMgUmVzdWx0YW50IFZlY3RvciBTYW1wbGUgRW50cm9weQpgYGB7ciBzYW1wZW5fcmVzdWxfdmVjdCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnNhbXBlbl9yZXN1bF92ZWN0X3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgInNhbXBlbl9yZXN1bF92ZWN0IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgICAgICAgICA8LSBzYW1wZW5fcmVzdWxfdmVjdF9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnNhbXBlbl9yZXN1bF92ZWN0X3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBzYW1wZW5fcmVzdWxfdmVjdCwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChzYW1wZW5fcmVzdWxfdmVjdF9yYWluKSkKc2FtcGVuX3Jlc3VsX3ZlY3RfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgc2FtcGVuX3Jlc3VsX3ZlY3RfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQoc2FtcGVuX3Jlc3VsX3ZlY3RfYWZleF9wbG90KSkKbmljZShzYW1wZW5fcmVzdWxfdmVjdF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShzYW1wZW5fcmVzdWxfdmVjdF9yZXBfYW5vdmEpCmBgYAoKIyMgQW5nbGUgQ2hhbmdlIFNhbXBsZSBFbnRyb3B5CmBgYHtyIHNhbXBlbl9kZWx0YV9waGksIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpzYW1wZW5fZGVsdGFfcGhpX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgInNhbXBlbl9kZWx0YV9waGkiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgICAgICAgPC0gc2FtcGVuX2RlbHRhX3BoaV9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnNhbXBlbl9kZWx0YV9waGlfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IHNhbXBlbl9kZWx0YV9waGksIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQoc2FtcGVuX2RlbHRhX3BoaV9yYWluKSkKc2FtcGVuX2RlbHRhX3BoaV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBzYW1wZW5fZGVsdGFfcGhpX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHNhbXBlbl9kZWx0YV9waGlfYWZleF9wbG90KSkKbmljZShzYW1wZW5fZGVsdGFfcGhpX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHNhbXBlbl9kZWx0YV9waGlfcmVwX2Fub3ZhKQpgYGAKCiMgSGVhcnQgQWN0aXZpdHkKIyMgSGVhcnQgUmF0ZQpgYGB7ciBoZWFydF9yYXRlLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKaGVhcnRfcmF0ZV9yZXBfYW5vdmEgPC0gYW92X2V6KCJJRCIsICJoZWFydF9yYXRlIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgIDwtIGhlYXJ0X3JhdGVfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpoZWFydF9yYXRlX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBoZWFydF9yYXRlLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGhlYXJ0X3JhdGVfcmFpbikpCmhlYXJ0X3JhdGVfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgaGVhcnRfcmF0ZV9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChoZWFydF9yYXRlX2FmZXhfcGxvdCkpCm5pY2UoaGVhcnRfcmF0ZV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShoZWFydF9yYXRlX3JlcF9hbm92YSkKYGBgCgojIyBIZWFydCBSYXRlLCBOZXVyb0tpdDIgbWV0aG9kCmBgYHtyIGhlYXJ0X3JhdGVfbmsyLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKaGVhcnRfcmF0ZV9uazJfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAiaGVhcnRfcmF0ZV9uazIiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgPC0gaGVhcnRfcmF0ZV9uazJfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpoZWFydF9yYXRlX25rMl9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gaGVhcnRfcmF0ZV9uazIsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQoaGVhcnRfcmF0ZV9uazJfcmFpbikpCmhlYXJ0X3JhdGVfbmsyX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGhlYXJ0X3JhdGVfbmsyX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGhlYXJ0X3JhdGVfbmsyX2FmZXhfcGxvdCkpCm5pY2UoaGVhcnRfcmF0ZV9uazJfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoaGVhcnRfcmF0ZV9uazJfcmVwX2Fub3ZhKQpgYGAKCiMjIFJvb3QgTWVhbiBTcXVhcmUgb2YgdGhlIFN1Y2Nlc3NpdmUgRGlmZmVyZW5jZXMgKGxvZzEwKQpgYGB7ciByTVNTRCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJNU1NEX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX3JNU1NEIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICA8LSByTVNTRF9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmxvZzEwX3JNU1NEX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9yTVNTRCwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9yTVNTRF9yYWluKSkKck1TU0RfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgck1TU0RfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQock1TU0RfYWZleF9wbG90KSkKbmljZShyTVNTRF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShyTVNTRF9yZXBfYW5vdmEpCmBgYAoKIyMgUm9vdCBNZWFuIFNxdWFyZSBvZiB0aGUgU3VjY2Vzc2l2ZSBEaWZmZXJlbmNlcyAobG9nMTApLCBOZXVyb0tpdDIgbWV0aG9kCmBgYHtyIGxvZzEwX2hydl9ybXNzZF9uazIsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpsb2cxMF9ocnZfcm1zc2RfbmsyX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX2hydl9ybXNzZF9uazIiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgIDwtIGxvZzEwX2hydl9ybXNzZF9uazJfcmVwX2Fub3ZhJGRhdGEkbG9uZwp4dGFicyh+IFRhc2sgKyBHcm91cCwgZGF0YSA9IHJlcF9hbm92YV9kYXRhKQpsb2cxMF9ocnZfcm1zc2RfbmsyX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBsb2cxMF9ocnZfcm1zc2RfbmsyLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX2hydl9ybXNzZF9uazJfcmFpbikpCmxvZzEwX2hydl9ybXNzZF9uazJfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfaHJ2X3Jtc3NkX25rMl9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9ocnZfcm1zc2RfbmsyX2FmZXhfcGxvdCkpCm5pY2UobG9nMTBfaHJ2X3Jtc3NkX25rMl9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9ocnZfcm1zc2RfbmsyX3JlcF9hbm92YSkKYGBgCgojIyBFQ0ctRGVyaXZlZCBSZXNwaXJhdGlvbgpgYGB7ciByc3BfcmF0ZSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJzcF9yYXRlX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgInJzcF9yYXRlIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICA8LSByc3BfcmF0ZV9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnJzcF9yYXRlX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSByc3BfcmF0ZSwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChyc3BfcmF0ZV9yYWluKSkKcnNwX3JhdGVfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgcnNwX3JhdGVfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQocnNwX3JhdGVfYWZleF9wbG90KSkKbmljZShyc3BfcmF0ZV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShyc3BfcmF0ZV9yZXBfYW5vdmEpCmBgYAoKIyMgUm9vdCBtZWFuIHNxdWFyZSBvZiBzdWNjZXNzaXZlIGRpZmZlcmVuY2VzIG9mIHRoZSBicmVhdGgtdG8tYnJlYXRoIGludGVydmFscwpgYGB7ciBycnZfcm1zc2QsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpycnZfcm1zc2RfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAicnJ2X3Jtc3NkIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgPC0gcnJ2X3Jtc3NkX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKcnJ2X3Jtc3NkX3JhaW4gPC0gZ2dwbG90KHJlcF9hbm92YV9kYXRhLCBhZXMoeSA9IFRhc2ssIHggPSBycnZfcm1zc2QsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQocnJ2X3Jtc3NkX3JhaW4pKQpycnZfcm1zc2RfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgcnJ2X3Jtc3NkX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJydl9ybXNzZF9hZmV4X3Bsb3QpKQpuaWNlKHJydl9ybXNzZF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShycnZfcm1zc2RfcmVwX2Fub3ZhKQpgYGAKCiMjIFJlc3BpcmF0b3J5IFNpbnVzIEFycmh5dGhtaWEsIFJTQSAoUG9yZ2VzLUJvaHJlciBhbGdvcml0aG0pCmBgYHtyIHJzYV9wb3JnZXMsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpyc2FfcG9yZ2VzX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgInJzYV9wb3JnZXMiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiVGFzayIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVwX2Fub3ZhX2RhdGEgICAgICAgPC0gcnNhX3Bvcmdlc19yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCnJzYV9wb3JnZXNfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IHJzYV9wb3JnZXMsIGNvbG9yID0gR3JvdXAsIGZpbGwgPSBHcm91cCkpICsKICBzdGF0X2hhbGZleWUoCiAgICB0cmltICAgPSBGQUxTRSwKICAgIC53aWR0aCA9IDAsCiAgICBqdXN0aWZpY2F0aW9uID0gLS4xNSwKICAgIGFscGhhICA9IC40LAogICAgcG9pbnRfY29sb3VyID0gTkEpICsKICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IC40LCBwb3NpdGlvbiA9IHBvc2l0aW9uX2ppdHRlcih3aWR0aCA9IDAsIGhlaWdodCA9IC4wNSkpCnN1cHByZXNzV2FybmluZ3MocHJpbnQocnNhX3Bvcmdlc19yYWluKSkKcnNhX3Bvcmdlc19hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICByc2FfcG9yZ2VzX3JlcF9hbm92YSwKICAgIHggPSAiVGFzayIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgPSAtLjUsCiAgICBtYXBwaW5nID0gYygiY29sb3IiKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KHJzYV9wb3JnZXNfYWZleF9wbG90KSkKbmljZShyc2FfcG9yZ2VzX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJzYV9wb3JnZXNfcmVwX2Fub3ZhKQpgYGAKCiMgRWxlY3Ryb2Rlcm1hbCBBY3Rpdml0eQpSZXN1bHRhZG9zIG11dXV1dXkgdGVudGF0aXZvcyBwb3IgbGEgY2FsaWRhZCBlcnLDoXRpY2EgZGUgbG9zIHJlZ2lzdHJvcwoKIyMgTWVhbiBQaGFzaWMgQ29tcG9uZW50IChsb2cxMCkKYGBge3IgYXZlX3BoYXNpY19lZGEsIGZpZy53aWR0aCA9IDEyfQpvcHRpb25zKHdpZHRoID0gMTAwKQpsb2cxMF9hdmVfcGhhc2ljX2VkYV9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImxvZzEwX2F2ZV9waGFzaWNfZWRhIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlRhc2siKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJlcF9hbm92YV9kYXRhICAgICAgIDwtIGxvZzEwX2F2ZV9waGFzaWNfZWRhX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKbG9nMTBfYXZlX3BoYXNpY19lZGFfcmFpbiA8LSBnZ3Bsb3QocmVwX2Fub3ZhX2RhdGEsIGFlcyh5ID0gVGFzaywgeCA9IGxvZzEwX2F2ZV9waGFzaWNfZWRhLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX2F2ZV9waGFzaWNfZWRhX3JhaW4pKQpsb2cxMF9hdmVfcGhhc2ljX2VkYV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBsb2cxMF9hdmVfcGhhc2ljX2VkYV9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9hdmVfcGhhc2ljX2VkYV9hZmV4X3Bsb3QpKQpuaWNlKGxvZzEwX2F2ZV9waGFzaWNfZWRhX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX2F2ZV9waGFzaWNfZWRhX3JlcF9hbm92YSkKYGBgCgojIyBOdW1iZXIgb2YgU0NSIFBlYWtzIChsb2cxMCkKYGBge3Igc2NyX3BlYWtzX251bWJlciwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX3Njcl9wZWFrc19udW1iZXJfcmVwX2Fub3ZhIDwtIGFvdl9leigiSUQiLCAibG9nMTBfc2NyX3BlYWtzX251bWJlciIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICAgICAgICAgICAgICA8LSBsb2cxMF9zY3JfcGVha3NfbnVtYmVyX3JlcF9hbm92YSRkYXRhJGxvbmcKeHRhYnMofiBUYXNrICsgR3JvdXAsIGRhdGEgPSByZXBfYW5vdmFfZGF0YSkKbG9nMTBfc2NyX3BlYWtzX251bWJlcl9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfc2NyX3BlYWtzX251bWJlciwgY29sb3IgPSBHcm91cCwgZmlsbCA9IEdyb3VwKSkgKwogIHN0YXRfaGFsZmV5ZSgKICAgIHRyaW0gICA9IEZBTFNFLAogICAgLndpZHRoID0gMCwKICAgIGp1c3RpZmljYXRpb24gPSAtLjE1LAogICAgYWxwaGEgID0gLjQsCiAgICBwb2ludF9jb2xvdXIgPSBOQSkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDIsIGFscGhhID0gLjQsIHBvc2l0aW9uID0gcG9zaXRpb25faml0dGVyKHdpZHRoID0gMCwgaGVpZ2h0ID0gLjA1KSkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9zY3JfcGVha3NfbnVtYmVyX3JhaW4pKQpsb2cxMF9zY3JfcGVha3NfbnVtYmVyX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX3Njcl9wZWFrc19udW1iZXJfcmVwX2Fub3ZhLAogICAgeCA9ICJUYXNrIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSA9IC0uNSwKICAgIG1hcHBpbmcgPSBjKCJjb2xvciIpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCnN1cHByZXNzV2FybmluZ3MocHJpbnQobG9nMTBfc2NyX3BlYWtzX251bWJlcl9hZmV4X3Bsb3QpKQpuaWNlKGxvZzEwX3Njcl9wZWFrc19udW1iZXJfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfc2NyX3BlYWtzX251bWJlcl9yZXBfYW5vdmEpCmBgYAoKIyMgTWVhbiBTQ1IgQW1wbGl0dWRlIChsb2cxMCkKYGBge3Igc2NyX21lYW5fYW1wbGl0dWRlLCBmaWcud2lkdGggPSAxMn0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlX3JlcF9hbm92YSA8LSBhb3ZfZXooIklEIiwgImxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJUYXNrIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpyZXBfYW5vdmFfZGF0YSAgICAgICAgICAgICAgICAgICAgIDwtIGxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZV9yZXBfYW5vdmEkZGF0YSRsb25nCnh0YWJzKH4gVGFzayArIEdyb3VwLCBkYXRhID0gcmVwX2Fub3ZhX2RhdGEpCmxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZV9yYWluIDwtIGdncGxvdChyZXBfYW5vdmFfZGF0YSwgYWVzKHkgPSBUYXNrLCB4ID0gbG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlLCBjb2xvciA9IEdyb3VwLCBmaWxsID0gR3JvdXApKSArCiAgc3RhdF9oYWxmZXllKAogICAgdHJpbSAgID0gRkFMU0UsCiAgICAud2lkdGggPSAwLAogICAganVzdGlmaWNhdGlvbiA9IC0uMTUsCiAgICBhbHBoYSAgPSAuNCwKICAgIHBvaW50X2NvbG91ciA9IE5BKSArCiAgZ2VvbV9wb2ludChzaXplID0gMiwgYWxwaGEgPSAuNCwgcG9zaXRpb24gPSBwb3NpdGlvbl9qaXR0ZXIod2lkdGggPSAwLCBoZWlnaHQgPSAuMDUpKQpzdXBwcmVzc1dhcm5pbmdzKHByaW50KGxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZV9yYWluKSkKbG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX3Njcl9tZWFuX2FtcGxpdHVkZV9yZXBfYW5vdmEsCiAgICB4ID0gIlRhc2siLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlID0gLS41LAogICAgbWFwcGluZyA9IGMoImNvbG9yIiksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKc3VwcHJlc3NXYXJuaW5ncyhwcmludChsb2cxMF9zY3JfbWVhbl9hbXBsaXR1ZGVfYWZleF9wbG90KSkKbmljZShsb2cxMF9zY3JfbWVhbl9hbXBsaXR1ZGVfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfc2NyX21lYW5fYW1wbGl0dWRlX3JlcF9hbm92YSkKYGBgCg==