cat("\014")     # clean terminal

rm(list = ls()) # clean workspace
try(dev.off(), silent = TRUE) # close all plots
library(tidyverse)
library(GGally)
library(afex)
library(emmeans)
library(EnvStats)
my_dodge <- .3
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) {
      cat(rep('_', 60), '\n', sep = '')
      show(emmeans(afex_aov, factors[[i]], contr = 'pairwise'))
    }
  }
}
data_dir       <- '~/Insync/OneDrive/00LABWORKS_onedrive/Pernia/Estabilometria_parkinson_alzheimer_y_controles_Antiguo/data/'
emo_data_clean <- read.csv(paste0(data_dir, 'emo_data_clean_fix.csv'), header = TRUE) |> 
  filter(Group != 'Parkinson') |> 
  mutate(Stimulus       = factor(Stimulus, levels = c('Unpleasant', 'Neutral', 'Pleasant')),
         log10_area     = log10(area),
         log10_axis1    = log10(axis1),
         log10_axis2    = log10(axis2),
         log10_mdist    = log10(mdist),
         log10_rmv      = log10(rmv),
         log10_rmsx     = log10(rmsx),
         log10_rmsy     = log10(rmsy),
         log10_MPFx     = log10(MPFx),
         log10_MPFy     = log10(MPFy),
         log10_PEAKx    = log10(PEAKx),
         log10_PEAKy    = log10(PEAKy),
         log10_F50x     = log10(F50x),
         log10_F50y     = log10(F50y),
         log10_F95x     = log10(F95x),
         log10_F95y     = log10(F95y),
         log10_sampen_x = log10(sampen_x),
         log10_sampen_y = log10(sampen_y),
         log10_rmssd    = log10(rMSSD),
         log10_ave_phasic_eda    = log10(ave_phasic_eda),
         scr_peaks_number        = ifelse(is.na(log10_ave_phasic_eda), NA, scr_peaks_number),
         log10_scr_peaks_number  = log10(scr_peaks_number),
         log10_recurrence_rate_x = log10(recurrence_rate_x),
         log10_rec_time2_x       = log10(rec_time2_x),
         log10_recurrence_rate_y = log10(recurrence_rate_y),
         log10_rec_time2_y       = log10(rec_time2_y)) |> 
  mutate_if(is.character, as.factor)
write.csv(emo_data_clean,  'data_alz_ctr_60s.csv',  row.names = FALSE)

1 General Description

options(width = 100)
summary(emo_data_clean)
                                           filename         Group     Paradigm        Stimulus  
 4_CARGA_EMOCIONAL-1._CONDICION_NEUTRA-AD-AD_02:  1   Alzheimer:135   Old:315   Unpleasant:105  
 4_CARGA_EMOCIONAL-1._CONDICION_NEUTRA-AD-AD_03:  1   Control  :180             Neutral   :105  
 4_CARGA_EMOCIONAL-1._CONDICION_NEUTRA-AD-AD_05:  1                             Pleasant  :105  
 4_CARGA_EMOCIONAL-1._CONDICION_NEUTRA-AD-AD_06:  1                                             
 4_CARGA_EMOCIONAL-1._CONDICION_NEUTRA-AD-AD_08:  1                                             
 4_CARGA_EMOCIONAL-1._CONDICION_NEUTRA-AD-AD_09:  1                                             
 (Other)                                       :309                                             
 Emotion         ID           area             axis1            axis2            angle       
 Yes:315   AD_02  :  3   Min.   :  33.46   Min.   : 5.598   Min.   : 1.668   Min.   :-3.125  
           AD_03  :  3   1st Qu.: 150.59   1st Qu.: 9.909   1st Qu.: 4.424   1st Qu.: 1.364  
           AD_05  :  3   Median : 232.26   Median :12.273   Median : 6.149   Median : 1.567  
           AD_06  :  3   Mean   : 300.87   Mean   :13.260   Mean   : 6.600   Mean   : 1.348  
           AD_08  :  3   3rd Qu.: 377.49   3rd Qu.:15.842   3rd Qu.: 8.041   3rd Qu.: 1.691  
           AD_09  :  3   Max.   :1424.44   Max.   :29.209   Max.   :17.821   Max.   : 3.100  
           (Other):297   NA's   :4         NA's   :4        NA's   :4        NA's   :4       
     mdist             rmv              rmsx             rmsy             MPFx          
 Min.   : 2.062   Min.   : 5.163   Min.   :0.6867   Min.   : 2.181   Min.   :0.0002644  
 1st Qu.: 3.994   1st Qu.: 9.356   1st Qu.:1.9085   1st Qu.: 3.838   1st Qu.:0.0012386  
 Median : 4.815   Median :11.804   Median :2.7190   Median : 4.781   Median :0.0018328  
 Mean   : 5.216   Mean   :13.497   Mean   :3.0798   Mean   : 5.132   Mean   :0.0020551  
 3rd Qu.: 6.322   3rd Qu.:15.503   3rd Qu.:3.7406   3rd Qu.: 6.138   3rd Qu.:0.0024595  
 Max.   :11.137   Max.   :46.493   Max.   :9.8906   Max.   :11.432   Max.   :0.0078423  
 NA's   :4        NA's   :4        NA's   :4        NA's   :4        NA's   :4          
     PEAKx                F50x                F95x                MPFy          
 Min.   :0.0001221   Min.   :0.0002441   Min.   :0.0003662   Min.   :0.0005343  
 1st Qu.:0.0001221   1st Qu.:0.0002441   1st Qu.:0.0046387   1st Qu.:0.0014568  
 Median :0.0001221   Median :0.0007324   Median :0.0059814   Median :0.0020036  
 Mean   :0.0003623   Mean   :0.0011858   Mean   :0.0066252   Mean   :0.0022314  
 3rd Qu.:0.0002441   3rd Qu.:0.0016479   3rd Qu.:0.0079346   3rd Qu.:0.0026550  
 Max.   :0.0059814   Max.   :0.0084229   Max.   :0.0325928   Max.   :0.0086233  
 NA's   :4           NA's   :4           NA's   :4           NA's   :4          
     PEAKy                F50y                F95y           forward_mov        sampen_x       
 Min.   :0.0001221   Min.   :0.0002441   Min.   :0.002197   Min.   :0.1427   Min.   :0.006016  
 1st Qu.:0.0001221   1st Qu.:0.0006104   1st Qu.:0.005249   1st Qu.:0.4474   1st Qu.:0.099836  
 Median :0.0002441   Median :0.0013428   Median :0.006836   Median :0.5000   Median :0.226643  
 Mean   :0.0005326   Mean   :0.0013679   Mean   :0.007508   Mean   :0.4951   Mean   :0.295425  
 3rd Qu.:0.0006104   3rd Qu.:0.0017090   3rd Qu.:0.008972   3rd Qu.:0.5510   3rd Qu.:0.389260  
 Max.   :0.0069580   Max.   :0.0063477   Max.   :0.037109   Max.   :0.6942   Max.   :1.463462  
 NA's   :4           NA's   :4           NA's   :4          NA's   :4        NA's   :4         
    sampen_y        sampen_resul_vect sampen_phi_rad   sampen_delta_phi   heart_rate    
 Min.   :0.009181   Min.   :0.1429    Min.   :0.5925   Min.   :1.141    Min.   : 49.59  
 1st Qu.:0.079476   1st Qu.:1.6126    1st Qu.:0.9641   1st Qu.:1.447    1st Qu.: 64.90  
 Median :0.129957   Median :1.8861    Median :1.0639   Median :1.566    Median : 72.03  
 Mean   :0.156982   Mean   :1.9228    Mean   :1.0682   Mean   :1.566    Mean   : 72.86  
 3rd Qu.:0.209796   3rd Qu.:2.2248    3rd Qu.:1.1823   3rd Qu.:1.695    3rd Qu.: 78.94  
 Max.   :0.597405   Max.   :3.9477    Max.   :1.4671   Max.   :2.195    Max.   :150.26  
 NA's   :4          NA's   :8         NA's   :4        NA's   :4        NA's   :97      
     rMSSD         ave_phasic_eda      ave_tonic_eda     recurrence_rate_x determinism_x   
 Min.   :  2.997   Min.   :-0.000894   Min.   :-0.8285   Min.   :0.02197   Min.   :0.9930  
 1st Qu.:  8.862   1st Qu.: 0.016158   1st Qu.: 2.6715   1st Qu.:0.06259   1st Qu.:0.9994  
 Median : 15.347   Median : 0.052000   Median : 4.9241   Median :0.08345   Median :0.9997  
 Mean   : 40.216   Mean   : 0.154045   Mean   : 5.5306   Mean   :0.09288   Mean   :0.9994  
 3rd Qu.: 34.877   3rd Qu.: 0.185190   3rd Qu.: 6.8769   3rd Qu.:0.11162   3rd Qu.:0.9998  
 Max.   :308.564   Max.   : 1.962094   Max.   :28.8064   Max.   :0.42409   Max.   :1.0000  
 NA's   :97        NA's   :104         NA's   :104       NA's   :1         NA's   :1       
 ave_diag_len_x    longest_diag_x   diag_entropy_x   laminarity_x    trapping_time_x  
 Min.   :  6.865   Min.   : 107.0   Min.   :2.627   Min.   :0.9966   Min.   :  9.066  
 1st Qu.: 22.142   1st Qu.: 278.2   1st Qu.:3.964   1st Qu.:0.9996   1st Qu.: 26.905  
 Median : 32.059   Median : 375.5   Median :4.352   Median :0.9998   Median : 38.305  
 Mean   : 37.874   Mean   : 520.6   Mean   :4.337   Mean   :0.9997   Mean   : 46.008  
 3rd Qu.: 46.917   3rd Qu.: 525.2   3rd Qu.:4.772   3rd Qu.:0.9999   3rd Qu.: 56.375  
 Max.   :170.999   Max.   :6668.0   Max.   :5.824   Max.   :1.0000   Max.   :232.970  
 NA's   :1         NA's   :1        NA's   :1       NA's   :1        NA's   :1        
 longest_vertical_x  rec_time1_x      rec_time2_x     rec_per_dens_entr_x  clustering_x   
 Min.   :  93.0     Min.   : 2.345   Min.   : 233.2   Min.   :0.5517      Min.   :0.4277  
 1st Qu.: 277.2     1st Qu.: 9.009   1st Qu.: 404.8   1st Qu.:0.6965      1st Qu.:0.5246  
 Median : 387.0     Median :12.125   Median : 477.8   Median :0.7224      Median :0.5585  
 Mean   : 475.3     Mean   :13.513   Mean   : 479.5   Mean   :0.7214      Mean   :0.5656  
 3rd Qu.: 573.8     3rd Qu.:16.164   3rd Qu.: 547.4   3rd Qu.:0.7508      3rd Qu.:0.5993  
 Max.   :2850.0     Max.   :46.048   Max.   :1168.6   Max.   :0.8349      Max.   :0.7843  
 NA's   :1          NA's   :1        NA's   :1        NA's   :1           NA's   :1       
 transitivity_x      delay_x       dim_x   recurrence_rate_y determinism_y    ave_diag_len_y 
 Min.   :0.4591   Min.   :22   Min.   :3   Min.   :0.01367   Min.   :0.9685   Min.   : 4.11  
 1st Qu.:0.5596   1st Qu.:22   1st Qu.:3   1st Qu.:0.04942   1st Qu.:0.9993   1st Qu.:19.39  
 Median :0.5983   Median :22   Median :3   Median :0.06825   Median :0.9997   Median :27.25  
 Mean   :0.6042   Mean   :22   Mean   :3   Mean   :0.06918   Mean   :0.9992   Mean   :29.78  
 3rd Qu.:0.6487   3rd Qu.:22   3rd Qu.:3   3rd Qu.:0.08575   3rd Qu.:0.9998   3rd Qu.:38.75  
 Max.   :0.7994   Max.   :22   Max.   :3   Max.   :0.19547   Max.   :1.0000   Max.   :82.47  
 NA's   :1        NA's   :1    NA's   :1   NA's   :1         NA's   :1        NA's   :1      
 longest_diag_y  diag_entropy_y   laminarity_y    trapping_time_y   longest_vertical_y
 Min.   : 82.0   Min.   :1.932   Min.   :0.9876   Min.   :  5.498   Min.   :  62.0    
 1st Qu.:230.5   1st Qu.:3.810   1st Qu.:0.9996   1st Qu.: 23.005   1st Qu.: 224.2    
 Median :289.5   Median :4.182   Median :0.9998   Median : 31.651   Median : 300.5    
 Mean   :326.0   Mean   :4.145   Mean   :0.9996   Mean   : 34.799   Mean   : 331.1    
 3rd Qu.:387.5   3rd Qu.:4.587   3rd Qu.:0.9999   3rd Qu.: 44.410   3rd Qu.: 407.8    
 Max.   :982.0   Max.   :5.347   Max.   :1.0000   Max.   :101.680   Max.   :1055.0    
 NA's   :1       NA's   :1       NA's   :1        NA's   :1         NA's   :1         
  rec_time1_y      rec_time2_y    rec_per_dens_entr_y  clustering_y    transitivity_y  
 Min.   : 5.176   Min.   :236.1   Min.   :0.6272      Min.   :0.3928   Min.   :0.4491  
 1st Qu.:11.799   1st Qu.:456.0   1st Qu.:0.7317      1st Qu.:0.4979   1st Qu.:0.5330  
 Median :14.824   Median :502.9   Median :0.7576      Median :0.5312   Median :0.5684  
 Mean   :17.348   Mean   :496.3   Mean   :0.7528      Mean   :0.5304   Mean   :0.5695  
 3rd Qu.:20.473   3rd Qu.:546.7   3rd Qu.:0.7775      3rd Qu.:0.5621   3rd Qu.:0.6050  
 Max.   :74.033   Max.   :750.5   Max.   :0.8328      Max.   :0.6555   Max.   :0.7050  
 NA's   :1        NA's   :1       NA's   :1           NA's   :1        NA's   :1       
    delay_y       dim_y   scr_peaks_number scr_mean_amplitude      num_ID        log10_area   
 Min.   :22   Min.   :3   Min.   : 2.000   Min.   :0.0007161   Min.   :  1.0   Min.   :1.524  
 1st Qu.:22   1st Qu.:3   1st Qu.: 6.000   1st Qu.:0.0015664   1st Qu.: 23.0   1st Qu.:2.178  
 Median :22   Median :3   Median : 8.000   Median :0.0254618   Median : 49.0   Median :2.366  
 Mean   :22   Mean   :3   Mean   : 9.667   Mean   :0.1563773   Mean   :175.5   Mean   :2.371  
 3rd Qu.:22   3rd Qu.:3   3rd Qu.:10.000   3rd Qu.:0.1386747   3rd Qu.:342.0   3rd Qu.:2.577  
 Max.   :22   Max.   :3   Max.   :60.000   Max.   :4.8637913   Max.   :554.0   Max.   :3.154  
 NA's   :1    NA's   :1   NA's   :108                                          NA's   :4      
  log10_axis1      log10_axis2      log10_mdist       log10_rmv        log10_rmsx     
 Min.   :0.7480   Min.   :0.2223   Min.   :0.3144   Min.   :0.7129   Min.   :-0.1632  
 1st Qu.:0.9961   1st Qu.:0.6458   1st Qu.:0.6014   1st Qu.:0.9711   1st Qu.: 0.2807  
 Median :1.0890   Median :0.7888   Median :0.6826   Median :1.0720   Median : 0.4344  
 Mean   :1.0977   Mean   :0.7760   Mean   :0.6938   Mean   :1.0930   Mean   : 0.4332  
 3rd Qu.:1.1998   3rd Qu.:0.9053   3rd Qu.:0.8009   3rd Qu.:1.1904   3rd Qu.: 0.5729  
 Max.   :1.4655   Max.   :1.2509   Max.   :1.0468   Max.   :1.6674   Max.   : 0.9952  
 NA's   :4        NA's   :4        NA's   :4        NA's   :4        NA's   :4        
   log10_rmsy       log10_MPFx       log10_MPFy      log10_PEAKx      log10_PEAKy    
 Min.   :0.3386   Min.   :-3.578   Min.   :-3.272   Min.   :-3.913   Min.   :-3.913  
 1st Qu.:0.5841   1st Qu.:-2.907   1st Qu.:-2.837   1st Qu.:-3.913   1st Qu.:-3.913  
 Median :0.6796   Median :-2.737   Median :-2.698   Median :-3.913   Median :-3.612  
 Mean   :0.6860   Mean   :-2.751   Mean   :-2.699   Mean   :-3.702   Mean   :-3.524  
 3rd Qu.:0.7880   3rd Qu.:-2.609   3rd Qu.:-2.576   3rd Qu.:-3.612   3rd Qu.:-3.214  
 Max.   :1.0581   Max.   :-2.106   Max.   :-2.064   Max.   :-2.223   Max.   :-2.158  
 NA's   :4        NA's   :4        NA's   :4        NA's   :4        NA's   :4       
   log10_F50x       log10_F50y       log10_F95x       log10_F95y     log10_sampen_x   
 Min.   :-3.612   Min.   :-3.612   Min.   :-3.436   Min.   :-2.658   Min.   :-2.2207  
 1st Qu.:-3.612   1st Qu.:-3.214   1st Qu.:-2.334   1st Qu.:-2.280   1st Qu.:-1.0007  
 Median :-3.135   Median :-2.872   Median :-2.223   Median :-2.165   Median :-0.6447  
 Mean   :-3.119   Mean   :-2.958   Mean   :-2.229   Mean   :-2.170   Mean   :-0.7083  
 3rd Qu.:-2.783   3rd Qu.:-2.767   3rd Qu.:-2.100   3rd Qu.:-2.047   3rd Qu.:-0.4098  
 Max.   :-2.075   Max.   :-2.197   Max.   :-1.487   Max.   :-1.431   Max.   : 0.1654  
 NA's   :4        NA's   :4        NA's   :4        NA's   :4        NA's   :4        
 log10_sampen_y     log10_rmssd     log10_ave_phasic_eda log10_scr_peaks_number
 Min.   :-2.0371   Min.   :0.4766   Min.   :-3.3808      Min.   :0.3010        
 1st Qu.:-1.0998   1st Qu.:0.9475   1st Qu.:-1.7340      1st Qu.:0.7782        
 Median :-0.8862   Median :1.1860   Median :-1.2733      Median :0.9031        
 Mean   :-0.9118   Mean   :1.2921   Mean   :-1.3020      Mean   :0.9198        
 3rd Qu.:-0.6782   3rd Qu.:1.5424   3rd Qu.:-0.7159      3rd Qu.:1.0000        
 Max.   :-0.2237   Max.   :2.4893   Max.   : 0.2927      Max.   :1.7782        
 NA's   :4         NA's   :97       NA's   :108          NA's   :108           
 log10_recurrence_rate_x log10_rec_time2_x log10_recurrence_rate_y log10_rec_time2_y
 Min.   :-1.6581         Min.   :2.368     Min.   :-1.8643         Min.   :2.373    
 1st Qu.:-1.2035         1st Qu.:2.607     1st Qu.:-1.3061         1st Qu.:2.659    
 Median :-1.0786         Median :2.679     Median :-1.1659         Median :2.701    
 Mean   :-1.0788         Mean   :2.669     Mean   :-1.1938         Mean   :2.689    
 3rd Qu.:-0.9522         3rd Qu.:2.738     3rd Qu.:-1.0668         3rd Qu.:2.738    
 Max.   :-0.3725         Max.   :3.068     Max.   :-0.7089         Max.   :2.875    
 NA's   :1               NA's   :1         NA's   :1               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")))
base::print(time_distance_pairs)

summary(emo_data_clean[time_distance])
   log10_area     log10_axis1      log10_axis2      log10_mdist       log10_rmv     
 Min.   :1.524   Min.   :0.7480   Min.   :0.2223   Min.   :0.3144   Min.   :0.7129  
 1st Qu.:2.178   1st Qu.:0.9961   1st Qu.:0.6458   1st Qu.:0.6014   1st Qu.:0.9711  
 Median :2.366   Median :1.0890   Median :0.7888   Median :0.6826   Median :1.0720  
 Mean   :2.371   Mean   :1.0977   Mean   :0.7760   Mean   :0.6938   Mean   :1.0930  
 3rd Qu.:2.577   3rd Qu.:1.1998   3rd Qu.:0.9053   3rd Qu.:0.8009   3rd Qu.:1.1904  
 Max.   :3.154   Max.   :1.4655   Max.   :1.2509   Max.   :1.0468   Max.   :1.6674  
 NA's   :4       NA's   :4        NA's   :4        NA's   :4        NA's   :4       
   log10_rmsx        log10_rmsy    
 Min.   :-0.1632   Min.   :0.3386  
 1st Qu.: 0.2807   1st Qu.:0.5841  
 Median : 0.4344   Median :0.6796  
 Mean   : 0.4332   Mean   :0.6860  
 3rd Qu.: 0.5729   3rd Qu.:0.7880  
 Max.   : 0.9952   Max.   :1.0581  
 NA's   :4         NA's   :4       

1.2 Frequency parameters

options(width = 100)
frequency <- c('log10_MPFx', 'log10_MPFy', '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")))
base::print(frequency_pairs)

summary(emo_data_clean[frequency])
   log10_MPFx       log10_MPFy       log10_F50x       log10_F50y       log10_F95x    
 Min.   :-3.578   Min.   :-3.272   Min.   :-3.612   Min.   :-3.612   Min.   :-3.436  
 1st Qu.:-2.907   1st Qu.:-2.837   1st Qu.:-3.612   1st Qu.:-3.214   1st Qu.:-2.334  
 Median :-2.737   Median :-2.698   Median :-3.135   Median :-2.872   Median :-2.223  
 Mean   :-2.751   Mean   :-2.699   Mean   :-3.119   Mean   :-2.958   Mean   :-2.229  
 3rd Qu.:-2.609   3rd Qu.:-2.576   3rd Qu.:-2.783   3rd Qu.:-2.767   3rd Qu.:-2.100  
 Max.   :-2.106   Max.   :-2.064   Max.   :-2.075   Max.   :-2.197   Max.   :-1.487  
 NA's   :4        NA's   :4        NA's   :4        NA's   :4        NA's   :4       
   log10_F95y    
 Min.   :-2.658  
 1st Qu.:-2.280  
 Median :-2.165  
 Mean   :-2.170  
 3rd Qu.:-2.047  
 Max.   :-1.431  
 NA's   :4       

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")))
base::print(entropy_pairs)
summary(emo_data_clean[entropy])
  forward_mov     log10_sampen_x    log10_sampen_y    sampen_resul_vect sampen_phi_rad  
 Min.   :0.1427   Min.   :-2.2207   Min.   :-2.0371   Min.   :0.1429    Min.   :0.5925  
 1st Qu.:0.4474   1st Qu.:-1.0007   1st Qu.:-1.0998   1st Qu.:1.6126    1st Qu.:0.9641  
 Median :0.5000   Median :-0.6447   Median :-0.8862   Median :1.8861    Median :1.0639  
 Mean   :0.4951   Mean   :-0.7083   Mean   :-0.9118   Mean   :1.9228    Mean   :1.0682  
 3rd Qu.:0.5510   3rd Qu.:-0.4098   3rd Qu.:-0.6782   3rd Qu.:2.2248    3rd Qu.:1.1823  
 Max.   :0.6942   Max.   : 0.1654   Max.   :-0.2237   Max.   :3.9477    Max.   :1.4671  
 NA's   :4        NA's   :4         NA's   :4         NA's   :8         NA's   :4       
 sampen_delta_phi
 Min.   :1.141   
 1st Qu.:1.447   
 Median :1.566   
 Mean   :1.566   
 3rd Qu.:1.695   
 Max.   :2.195   
 NA's   :4       

1.4 Recurrence quantification analysis (RQA) X

options(width = 100)
rosner_log10_rec_time2_x <- rosnerTest(emo_data_clean$log10_rec_time2_x)
print(rosner_log10_rec_time2_x)

Results of Outlier Test
-------------------------

Test Method:                     Rosner's Test for Outliers

Hypothesized Distribution:       Normal

Data:                            emo_data_clean$log10_rec_time2_x

Number NA/NaN/Inf's Removed:     1

Sample Size:                     314

Test Statistics:                 R.1 = 3.986885
                                 R.2 = 3.331482
                                 R.3 = 3.123335

Test Statistic Parameter:        k = 3

Alternative Hypothesis:          Up to 3 observations are not
                                 from the same Distribution.

Type I Error:                    5%

Number of Outliers Detected:     1

  i   Mean.i       SD.i    Value Obs.Num    R.i+1 lambda.i+1 Outlier
1 0 2.669397 0.09989273 3.067658       3 3.986885   3.736399    TRUE
2 1 2.668125 0.09747074 2.992847     105 3.331482   3.735503   FALSE
3 2 2.667084 0.09586948 2.367651      23 3.123335   3.734604   FALSE
rosner_clustering_x      <- rosnerTest(emo_data_clean$clustering_x)
print(rosner_clustering_x)

Results of Outlier Test
-------------------------

Test Method:                     Rosner's Test for Outliers

Hypothesized Distribution:       Normal

Data:                            emo_data_clean$clustering_x

Number NA/NaN/Inf's Removed:     1

Sample Size:                     314

Test Statistics:                 R.1 = 3.639041
                                 R.2 = 3.092700
                                 R.3 = 2.992989

Test Statistic Parameter:        k = 3

Alternative Hypothesis:          Up to 3 observations are not
                                 from the same Distribution.

Type I Error:                    5%

Number of Outliers Detected:     0

  i    Mean.i       SD.i     Value Obs.Num    R.i+1 lambda.i+1 Outlier
1 0 0.5655579 0.06010798 0.7842933      86 3.639041   3.736399   FALSE
2 1 0.5648591 0.05891273 0.7470584     148 3.092700   3.735503   FALSE
3 2 0.5642751 0.05809291 0.7381465       3 2.992989   3.734604   FALSE
rqa_x <- c('log10_recurrence_rate_x', 'diag_entropy_x', 'log10_rec_time2_x', 'rec_per_dens_entr_x', 'clustering_x', 'transitivity_x')
rqa_x_pairs <- ggpairs(emo_data_clean[emo_data_clean$log10_rec_time2_x<3 & emo_data_clean$clustering_x<.78, ],
                       columns = rqa_x,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
base::print(rqa_x_pairs)

summary(emo_data_clean[emo_data_clean$log10_rec_time2_x<3 & emo_data_clean$clustering_x<.78, rqa_x])
 log10_recurrence_rate_x diag_entropy_x  log10_rec_time2_x rec_per_dens_entr_x  clustering_x   
 Min.   :-1.6581         Min.   :2.627   Min.   :2.368     Min.   :0.5517      Min.   :0.4277  
 1st Qu.:-1.2038         1st Qu.:3.961   1st Qu.:2.607     1st Qu.:0.6972      1st Qu.:0.5245  
 Median :-1.0813         Median :4.341   Median :2.679     Median :0.7227      Median :0.5577  
 Mean   :-1.0821         Mean   :4.330   Mean   :2.668     Mean   :0.7222      Mean   :0.5643  
 3rd Qu.:-0.9534         3rd Qu.:4.760   3rd Qu.:2.738     3rd Qu.:0.7509      3rd Qu.:0.5987  
 Max.   :-0.5174         Max.   :5.824   Max.   :2.993     Max.   :0.8349      Max.   :0.7471  
 NA's   :1               NA's   :1       NA's   :1         NA's   :1           NA's   :1       
 transitivity_x  
 Min.   :0.4591  
 1st Qu.:0.5595  
 Median :0.5976  
 Mean   :0.6031  
 3rd Qu.:0.6453  
 Max.   :0.7661  
 NA's   :1       

1.5 Recurrence quantification analysis (RQA) Y

options(width = 100)
rosner_log10_rec_time2_y <- rosnerTest(emo_data_clean$log10_rec_time2_y, 6)
print(rosner_log10_rec_time2_y)

Results of Outlier Test
-------------------------

Test Method:                     Rosner's Test for Outliers

Hypothesized Distribution:       Normal

Data:                            emo_data_clean$log10_rec_time2_y

Number NA/NaN/Inf's Removed:     1

Sample Size:                     314

Test Statistics:                 R.1 = 3.930971
                                 R.2 = 3.798504
                                 R.3 = 3.880201
                                 R.4 = 3.953664
                                 R.5 = 3.925654
                                 R.6 = 3.728885

Test Statistic Parameter:        k = 6

Alternative Hypothesis:          Up to 6 observations are not
                                 from the same Distribution.

Type I Error:                    5%

Number of Outliers Detected:     5

  i   Mean.i       SD.i    Value Obs.Num    R.i+1 lambda.i+1 Outlier
1 0 2.688807 0.08030833 2.373118     233 3.930971   3.736399    TRUE
2 1 2.689816 0.07841974 2.391938     128 3.798504   3.735503    TRUE
3 2 2.690771 0.07670206 2.393151      23 3.880201   3.734604    TRUE
4 3 2.691728 0.07493685 2.395452     121 3.953664   3.733702    TRUE
5 4 2.692683 0.07313491 2.405581     226 3.925654   3.732797    TRUE
6 5 2.693612 0.07139742 2.427380      16 3.728885   3.731888   FALSE
rqa_y <- c('log10_recurrence_rate_y', 'diag_entropy_y', 'log10_rec_time2_y', 'rec_per_dens_entr_y', 'clustering_y', 'transitivity_y')
rqa_y_pairs <- ggpairs(emo_data_clean[emo_data_clean$log10_rec_time2_y>2.4, ],
                       columns = rqa_y,
                       aes(colour = Group, alpha = .25),
                       progress = FALSE,
                       lower = list(continuous = wrap("points")))
base::print(rqa_y_pairs)

summary(emo_data_clean[emo_data_clean$log10_rec_time2_y>2.4, rqa_y])
 log10_recurrence_rate_y diag_entropy_y  log10_rec_time2_y rec_per_dens_entr_y  clustering_y   
 Min.   :-1.8643         Min.   :2.346   Min.   :2.406     Min.   :0.6447      Min.   :0.3928  
 1st Qu.:-1.3024         1st Qu.:3.817   1st Qu.:2.660     1st Qu.:0.7326      1st Qu.:0.4983  
 Median :-1.1653         Median :4.190   Median :2.702     Median :0.7586      Median :0.5322  
 Mean   :-1.1908         Mean   :4.165   Mean   :2.693     Mean   :0.7541      Mean   :0.5309  
 3rd Qu.:-1.0665         3rd Qu.:4.596   3rd Qu.:2.738     3rd Qu.:0.7777      3rd Qu.:0.5625  
 Max.   :-0.7089         Max.   :5.347   Max.   :2.875     Max.   :0.8328      Max.   :0.6555  
 NA's   :1               NA's   :1       NA's   :1         NA's   :1           NA's   :1       
 transitivity_y  
 Min.   :0.4491  
 1st Qu.:0.5336  
 Median :0.5688  
 Mean   :0.5701  
 3rd Qu.:0.6050  
 Max.   :0.7050  
 NA's   :1       

2 Classic Center of Pressure

2.1 Area (log10)

options(width = 100)
area_rep_anova = aov_ez("ID", "log10_area", emo_data_clean, within = c("Stimulus"), between = c("Group"))
area_afex_plot <-
  afex_plot(
    area_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(area_afex_plot)

base::print(area_rep_anova)
Anova Table (Type 3 tests)

Response: log10_area
          Effect           df  MSE        F  ges p.value
1          Group       1, 101 0.21  7.98 ** .060    .006
2       Stimulus 1.68, 169.84 0.03 8.89 *** .017   <.001
3 Group:Stimulus 1.68, 169.84 0.03     2.33 .004    .110
---
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
 Alzheimer   2.46 0.0397 101     2.38     2.54
 Control     2.31 0.0350 101     2.24     2.38

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control    0.149 0.0529 101   2.825  0.0057

Results are averaged over the levels of: Stimulus 

____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant   2.38 0.0295 101     2.33     2.44
 Neutral      2.33 0.0300 101     2.27     2.39
 Pleasant     2.43 0.0288 101     2.37     2.48

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.0517 0.0216 101   2.397  0.0479
 Unpleasant - Pleasant  -0.0428 0.0183 101  -2.335  0.0555
 Neutral - Pleasant     -0.0945 0.0266 101  -3.547  0.0017

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("Stimulus"), between = c("Group"))
log10_axis1_afex_plot <-
  afex_plot(
    log10_axis1_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_axis1_afex_plot)

base::print(log10_axis1_rep_anova)
Anova Table (Type 3 tests)

Response: log10_axis1
          Effect           df  MSE         F  ges p.value
1          Group       1, 101 0.04   9.49 ** .065    .003
2       Stimulus 1.78, 179.60 0.01 17.19 *** .043   <.001
3 Group:Stimulus 1.78, 179.60 0.01      1.54 .004    .219
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_axis1_rep_anova)
____________________________________________________________
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Alzheimer   1.14 0.0179 101     1.10     1.18
 Control     1.07 0.0157 101     1.04     1.10

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control   0.0733 0.0238 101   3.081  0.0027

Results are averaged over the levels of: Stimulus 

____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant   1.11 0.0134 101     1.08     1.13
 Neutral      1.07 0.0135 101     1.04     1.09
 Pleasant     1.14 0.0147 101     1.11     1.17

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.0418 0.0106 101   3.924  0.0005
 Unpleasant - Pleasant  -0.0305 0.0119 101  -2.565  0.0314
 Neutral - Pleasant     -0.0723 0.0143 101  -5.052  <.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("Stimulus"), between = c("Group"))
log10_axis2_afex_plot <-
  afex_plot(
    log10_axis2_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_axis2_afex_plot)

base::print(log10_axis2_rep_anova)
Anova Table (Type 3 tests)

Response: log10_axis2
          Effect           df  MSE      F  ges p.value
1          Group       1, 101 0.09 4.95 * .037    .028
2       Stimulus 1.73, 174.48 0.01   0.99 .002    .365
3 Group:Stimulus 1.73, 174.48 0.01   1.78 .004    .177
---
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
 Alzheimer  0.820 0.0257 101    0.769    0.871
 Control    0.744 0.0226 101    0.699    0.788

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control   0.0761 0.0342 101   2.224  0.0283

Results are averaged over the levels of: Stimulus 

2.4 Mean Distance (log10)

options(width = 100)
mdist_rep_anova = aov_ez("ID", "log10_mdist", emo_data_clean, within = c("Stimulus"), between = c("Group"))
mdist_afex_plot <-
  afex_plot(
    mdist_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(mdist_afex_plot)

base::print(mdist_rep_anova)
Anova Table (Type 3 tests)

Response: log10_mdist
          Effect           df  MSE         F  ges p.value
1          Group       1, 101 0.04   8.45 ** .060    .004
2       Stimulus 1.79, 180.69 0.01 12.75 *** .029   <.001
3 Group:Stimulus 1.79, 180.69 0.01      1.90 .004    .157
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(mdist_rep_anova)
____________________________________________________________
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Alzheimer  0.734 0.0179 101    0.698    0.769
 Control    0.664 0.0158 101    0.633    0.695

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control   0.0694 0.0239 101   2.907  0.0045

Results are averaged over the levels of: Stimulus 

____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant  0.700 0.0135 101    0.674    0.727
 Neutral     0.669 0.0137 101    0.642    0.696
 Pleasant    0.727 0.0138 101    0.700    0.755

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.0315 0.0102 101   3.088  0.0073
 Unpleasant - Pleasant  -0.0268 0.0109 101  -2.468  0.0402
 Neutral - Pleasant     -0.0583 0.0134 101  -4.361  0.0001

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("Stimulus"), between = c("Group"))
rmv_afex_plot <-
  afex_plot(
    rmv_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(rmv_afex_plot)

base::print(rmv_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmv
          Effect           df  MSE         F  ges p.value
1          Group       1, 101 0.07      1.79 .016    .184
2       Stimulus 1.82, 184.32 0.00 68.01 *** .061   <.001
3 Group:Stimulus 1.82, 184.32 0.00    3.58 * .003    .034
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmv_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant   1.11 0.0165 101     1.08     1.14
 Neutral      1.04 0.0150 101     1.01     1.07
 Pleasant     1.14 0.0174 101     1.11     1.18

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.0668 0.00852 101   7.842  <.0001
 Unpleasant - Pleasant  -0.0343 0.00774 101  -4.428  0.0001
 Neutral - Pleasant     -0.1011 0.01000 101 -10.076  <.0001

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

____________________________________________________________
$emmeans
 Group     Stimulus   emmean     SE  df lower.CL upper.CL
 Alzheimer Unpleasant   1.13 0.0248 101    1.076     1.17
 Control   Unpleasant   1.09 0.0218 101    1.048     1.13
 Alzheimer Neutral      1.08 0.0225 101    1.031     1.12
 Control   Neutral      1.01 0.0198 101    0.968     1.05
 Alzheimer Pleasant     1.15 0.0262 101    1.102     1.21
 Control   Pleasant     1.13 0.0231 101    1.086     1.18

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate     SE  df t.ratio p.value
 Alzheimer Unpleasant - Control Unpleasant  0.03447 0.0330 101   1.044  0.9017
 Alzheimer Unpleasant - Alzheimer Neutral   0.05010 0.0128 101   3.919  0.0022
 Alzheimer Unpleasant - Control Neutral     0.11796 0.0317 101   3.718  0.0043
 Alzheimer Unpleasant - Alzheimer Pleasant -0.02820 0.0116 101  -2.428  0.1567
 Alzheimer Unpleasant - Control Pleasant   -0.00588 0.0338 101  -0.174  1.0000
 Control Unpleasant - Alzheimer Neutral     0.01563 0.0313 101   0.499  0.9961
 Control Unpleasant - Control Neutral       0.08349 0.0113 101   7.415  <.0001
 Control Unpleasant - Alzheimer Pleasant   -0.06267 0.0341 101  -1.839  0.4458
 Control Unpleasant - Control Pleasant     -0.04034 0.0102 101  -3.943  0.0020
 Alzheimer Neutral - Control Neutral        0.06786 0.0300 101   2.262  0.2196
 Alzheimer Neutral - Alzheimer Pleasant    -0.07830 0.0151 101  -5.201  <.0001
 Alzheimer Neutral - Control Pleasant      -0.05598 0.0322 101  -1.737  0.5109
 Control Neutral - Alzheimer Pleasant      -0.14616 0.0328 101  -4.451  0.0003
 Control Neutral - Control Pleasant        -0.12384 0.0133 101  -9.339  <.0001
 Alzheimer Pleasant - Control Pleasant      0.02232 0.0349 101   0.640  0.9877

P value adjustment: tukey method for comparing a family of 6 estimates 

2.6 Root Mean Square X (log10)

options(width = 100)
rmsx_rep_anova = aov_ez("ID", "log10_rmsx", emo_data_clean, within = c("Stimulus"), between = c("Group"))
rmsx_afex_plot <-
  afex_plot(
    rmsx_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(rmsx_afex_plot)

base::print(rmsx_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmsx
          Effect           df  MSE      F   ges p.value
1          Group       1, 101 0.10 4.53 *  .032    .036
2       Stimulus 1.69, 170.23 0.02   0.22 <.001    .766
3 Group:Stimulus 1.69, 170.23 0.02   2.04  .005    .141
---
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
 Alzheimer  0.479 0.0277 101    0.424    0.533
 Control    0.400 0.0244 101    0.352    0.448

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control   0.0786 0.0369 101   2.129  0.0357

Results are averaged over the levels of: Stimulus 

2.7 Root Mean Square Y (log10)

options(width = 100)
rmsy_rep_anova = aov_ez("ID", "log10_rmsy", emo_data_clean, within = c("Stimulus"), between = c("Group"))
rmsy_afex_plot <-
  afex_plot(
    rmsy_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(rmsy_afex_plot)

base::print(rmsy_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmsy
          Effect           df  MSE         F  ges p.value
1          Group       1, 101 0.04   7.48 ** .052    .007
2       Stimulus 1.80, 181.64 0.01 33.55 *** .078   <.001
3 Group:Stimulus 1.80, 181.64 0.01      1.21 .003    .299
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rmsy_rep_anova)
____________________________________________________________
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Alzheimer  0.723 0.0175 101    0.688    0.757
 Control    0.659 0.0155 101    0.628    0.689

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control    0.064 0.0234 101   2.736  0.0074

Results are averaged over the levels of: Stimulus 

____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant  0.700 0.0129 101    0.675    0.726
 Neutral     0.638 0.0126 101    0.613    0.663
 Pleasant    0.734 0.0150 101    0.704    0.763

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.0624 0.0102 101   6.093  <.0001
 Unpleasant - Pleasant  -0.0334 0.0115 101  -2.900  0.0126
 Neutral - Pleasant     -0.0958 0.0136 101  -7.037  <.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("Stimulus"), between = c("Group"))
MPFx_afex_plot <-
  afex_plot(
    MPFx_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(MPFx_afex_plot)

base::print(MPFx_rep_anova)
Anova Table (Type 3 tests)

Response: log10_MPFx
          Effect           df  MSE    F  ges p.value
1          Group       1, 101 0.10 0.25 .001    .616
2       Stimulus 1.90, 192.30 0.04 2.00 .008    .141
3 Group:Stimulus 1.90, 192.30 0.04 1.17 .005    .312
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(MPFx_rep_anova)

2.9 Mean Power Frequency Y (log10)

options(width = 100)
MPFy_rep_anova = aov_ez("ID", "log10_MPFy", emo_data_clean, within = c("Stimulus"), between = c("Group"))
MPFy_afex_plot <-
  afex_plot(
    MPFy_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(MPFy_afex_plot)

base::print(MPFy_rep_anova)
Anova Table (Type 3 tests)

Response: log10_MPFy
          Effect           df  MSE       F  ges p.value
1          Group       1, 101 0.08    1.46 .010    .229
2       Stimulus 1.95, 197.22 0.02  3.67 * .011    .028
3 Group:Stimulus 1.95, 197.22 0.02 4.89 ** .015    .009
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(MPFy_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant  -2.68 0.0192 101    -2.72    -2.64
 Neutral     -2.73 0.0197 101    -2.77    -2.69
 Pleasant    -2.69 0.0207 101    -2.73    -2.65

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.04844 0.0177 101   2.731  0.0202
 Unpleasant - Pleasant  0.00719 0.0202 101   0.356  0.9325
 Neutral - Pleasant    -0.04125 0.0199 101  -2.077  0.0998

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

____________________________________________________________
$emmeans
 Group     Stimulus   emmean     SE  df lower.CL upper.CL
 Alzheimer Unpleasant  -2.69 0.0288 101    -2.74    -2.63
 Control   Unpleasant  -2.68 0.0253 101    -2.73    -2.63
 Alzheimer Neutral     -2.73 0.0296 101    -2.79    -2.67
 Control   Neutral     -2.73 0.0261 101    -2.78    -2.68
 Alzheimer Pleasant    -2.74 0.0311 101    -2.81    -2.68
 Control   Pleasant    -2.63 0.0274 101    -2.69    -2.58

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate     SE  df t.ratio p.value
 Alzheimer Unpleasant - Control Unpleasant -0.00841 0.0383 101  -0.220  0.9999
 Alzheimer Unpleasant - Alzheimer Neutral   0.04512 0.0266 101   1.695  0.5380
 Alzheimer Unpleasant - Control Neutral     0.04334 0.0388 101   1.116  0.8735
 Alzheimer Unpleasant - Alzheimer Pleasant  0.05766 0.0303 101   1.905  0.4054
 Alzheimer Unpleasant - Control Pleasant   -0.05170 0.0397 101  -1.302  0.7834
 Control Unpleasant - Alzheimer Neutral     0.05354 0.0390 101   1.374  0.7422
 Control Unpleasant - Control Neutral       0.05175 0.0234 101   2.207  0.2436
 Control Unpleasant - Alzheimer Pleasant    0.06607 0.0401 101   1.647  0.5694
 Control Unpleasant - Control Pleasant     -0.04329 0.0267 101  -1.623  0.5852
 Alzheimer Neutral - Control Neutral       -0.00179 0.0394 101  -0.045  1.0000
 Alzheimer Neutral - Alzheimer Pleasant     0.01253 0.0298 101   0.420  0.9983
 Alzheimer Neutral - Control Pleasant      -0.09683 0.0403 101  -2.402  0.1655
 Control Neutral - Alzheimer Pleasant       0.01432 0.0406 101   0.353  0.9993
 Control Neutral - Control Pleasant        -0.09504 0.0263 101  -3.620  0.0060
 Alzheimer Pleasant - Control Pleasant     -0.10936 0.0414 101  -2.640  0.0972

P value adjustment: tukey method for comparing a family of 6 estimates 

2.10 Forward Movement

options(width = 100)
forward_mov_rep_anova = aov_ez("ID", "forward_mov", emo_data_clean, within = c("Stimulus"), between = c("Group"))
forward_mov_afex_plot <-
  afex_plot(
    forward_mov_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(forward_mov_afex_plot)

base::print(forward_mov_rep_anova)
Anova Table (Type 3 tests)

Response: forward_mov
          Effect           df  MSE    F  ges p.value
1          Group       1, 101 0.01 1.26 .005    .264
2       Stimulus 2.00, 201.82 0.01 2.20 .012    .114
3 Group:Stimulus 2.00, 201.82 0.01 0.92 .005    .399
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(forward_mov_rep_anova)

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("Stimulus"), between = c("Group"))
log10_sampen_x_afex_plot <-
  afex_plot(
    log10_sampen_x_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_sampen_x_afex_plot)

base::print(log10_sampen_x_rep_anova)
Anova Table (Type 3 tests)

Response: log10_sampen_x
          Effect           df  MSE      F  ges p.value
1          Group       1, 101 0.35 3.14 + .019    .079
2       Stimulus 1.81, 182.53 0.13   1.78 .007    .176
3 Group:Stimulus 1.81, 182.53 0.13   1.13 .004    .322
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_sampen_x_rep_anova)

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("Stimulus"), between = c("Group"))
log10_sampen_y_afex_plot <-
  afex_plot(
    log10_sampen_y_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_sampen_y_afex_plot)

base::print(log10_sampen_y_rep_anova)
Anova Table (Type 3 tests)

Response: log10_sampen_y
          Effect           df  MSE       F  ges p.value
1          Group       1, 101 0.19 9.53 ** .059    .003
2       Stimulus 1.76, 177.94 0.06 7.49 ** .024    .001
3 Group:Stimulus 1.76, 177.94 0.06    2.15 .007    .126
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_sampen_y_rep_anova)
____________________________________________________________
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Alzheimer -1.000 0.0380 101    -1.07   -0.924
 Control   -0.843 0.0335 101    -0.91   -0.777

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control   -0.156 0.0506 101  -3.088  0.0026

Results are averaged over the levels of: Stimulus 

____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant -0.930 0.0282 101   -0.986   -0.874
 Neutral    -0.857 0.0295 101   -0.915   -0.798
 Pleasant   -0.977 0.0352 101   -1.047   -0.907

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.0736 0.0262 101  -2.810  0.0163
 Unpleasant - Pleasant   0.0464 0.0307 101   1.512  0.2895
 Neutral - Pleasant      0.1200 0.0361 101   3.321  0.0035

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

3.3 Angle Sample Entropy

options(width = 100)
sampen_phi_rad_rep_anova = aov_ez("ID", "sampen_phi_rad", emo_data_clean, within = c("Stimulus"), between = c("Group"))
sampen_phi_rad_afex_plot <-
  afex_plot(
    sampen_phi_rad_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(sampen_phi_rad_afex_plot)

base::print(sampen_phi_rad_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_phi_rad
          Effect           df  MSE    F  ges p.value
1          Group       1, 101 0.06 0.41 .003    .523
2       Stimulus 1.86, 187.79 0.01 0.60 .001    .539
3 Group:Stimulus 1.86, 187.79 0.01 0.83 .002    .429
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_phi_rad_rep_anova)

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("Stimulus"), between = c("Group"))
sampen_resul_vect_afex_plot <-
  afex_plot(
    sampen_resul_vect_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(sampen_resul_vect_afex_plot)

base::print(sampen_resul_vect_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_resul_vect
          Effect           df  MSE       F  ges p.value
1          Group        1, 98 0.56    1.47 .008    .229
2       Stimulus 1.60, 156.41 0.27 7.43 ** .032    .002
3 Group:Stimulus 1.60, 156.41 0.27    0.48 .002    .575
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_resul_vect_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean     SE df lower.CL upper.CL
 Unpleasant   1.90 0.0555 98     1.79     2.01
 Neutral      2.02 0.0652 98     1.89     2.15
 Pleasant     1.77 0.0524 98     1.66     1.87

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.127 0.0773 98  -1.636  0.2356
 Unpleasant - Pleasant    0.129 0.0476 98   2.711  0.0214
 Neutral - Pleasant       0.256 0.0703 98   3.636  0.0013

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("Stimulus"), between = c("Group"))
sampen_delta_phi_afex_plot <-
  afex_plot(
    sampen_delta_phi_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(sampen_delta_phi_afex_plot)

base::print(sampen_delta_phi_rep_anova)
Anova Table (Type 3 tests)

Response: sampen_delta_phi
          Effect           df  MSE       F   ges p.value
1          Group       1, 101 0.08    0.02 <.001    .876
2       Stimulus 1.88, 189.99 0.02 5.72 **  .016    .005
3 Group:Stimulus 1.88, 189.99 0.02    1.86  .005    .162
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(sampen_delta_phi_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant   1.55 0.0195 101     1.51     1.59
 Neutral      1.60 0.0201 101     1.56     1.64
 Pleasant     1.55 0.0186 101     1.51     1.58

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.0489 0.0186 101  -2.625  0.0268
 Unpleasant - Pleasant   0.0058 0.0154 101   0.377  0.9249
 Neutral - Pleasant      0.0547 0.0191 101   2.869  0.0138

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

4 RQA X

4.1 log10_recurrence_rate_x

options(width = 100)
log10_recurrence_rate_x_rep_anova = aov_ez("ID", "log10_recurrence_rate_x", emo_data_clean, within = c("Stimulus"), between = c("Group"))
log10_recurrence_rate_x_afex_plot <-
  afex_plot(
    log10_recurrence_rate_x_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_recurrence_rate_x_afex_plot)

base::print(log10_recurrence_rate_x_rep_anova)
Anova Table (Type 3 tests)

Response: log10_recurrence_rate_x
          Effect           df  MSE      F  ges p.value
1          Group       1, 102 0.07   0.86 .005    .356
2       Stimulus 1.90, 194.28 0.03 4.13 * .016    .019
3 Group:Stimulus 1.90, 194.28 0.03   0.37 .001    .680
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_recurrence_rate_x_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant  -1.08 0.0189 102    -1.11    -1.04
 Neutral     -1.05 0.0208 102    -1.09    -1.01
 Pleasant    -1.11 0.0202 102    -1.15    -1.07

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.0289 0.0210 102  -1.374  0.3585
 Unpleasant - Pleasant   0.0334 0.0199 102   1.677  0.2191
 Neutral - Pleasant      0.0623 0.0239 102   2.603  0.0284

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

4.2 diag_entropy_x

options(width = 100)
diag_entropy_x_rep_anova = aov_ez("ID", "diag_entropy_x", emo_data_clean, within = c("Stimulus"), between = c("Group"))
diag_entropy_x_afex_plot <-
  afex_plot(
    diag_entropy_x_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(diag_entropy_x_afex_plot)

base::print(diag_entropy_x_rep_anova)
Anova Table (Type 3 tests)

Response: diag_entropy_x
          Effect           df  MSE      F   ges p.value
1          Group       1, 102 0.77   0.00 <.001    .979
2       Stimulus 1.81, 184.76 0.18 3.21 *  .009    .048
3 Group:Stimulus 1.81, 184.76 0.18   0.46  .001    .614
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(diag_entropy_x_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean     SE  df lower.CL upper.CL
 Unpleasant   4.31 0.0611 102     4.19     4.43
 Neutral      4.42 0.0611 102     4.30     4.54
 Pleasant     4.28 0.0574 102     4.17     4.39

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.106 0.0536 102  -1.981  0.1222
 Unpleasant - Pleasant    0.032 0.0511 102   0.626  0.8065
 Neutral - Pleasant       0.138 0.0656 102   2.105  0.0938

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

4.3 log10_rec_time2_x

options(width = 100)
log10_rec_time2_x_rep_anova = aov_ez("ID", "log10_rec_time2_x", emo_data_clean, within = c("Stimulus"), between = c("Group"))
log10_rec_time2_x_afex_plot <-
  afex_plot(
    log10_rec_time2_x_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_rec_time2_x_afex_plot)

base::print(log10_rec_time2_x_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rec_time2_x
          Effect           df  MSE    F  ges p.value
1          Group       1, 102 0.02 1.03 .006    .313
2       Stimulus 1.94, 197.99 0.01 2.12 .007    .125
3 Group:Stimulus 1.94, 197.99 0.01 1.70 .006    .186
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_rec_time2_x_rep_anova)

4.4 rec_per_dens_entr_x

options(width = 100)
rec_per_dens_entr_x_rep_anova = aov_ez("ID", "rec_per_dens_entr_x", emo_data_clean, within = c("Stimulus"), between = c("Group"))
rec_per_dens_entr_x_afex_plot <-
  afex_plot(
    rec_per_dens_entr_x_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(rec_per_dens_entr_x_afex_plot)

base::print(rec_per_dens_entr_x_rep_anova)
Anova Table (Type 3 tests)

Response: rec_per_dens_entr_x
          Effect           df  MSE    F  ges p.value
1          Group       1, 102 0.00 0.19 .001    .664
2       Stimulus 1.91, 195.25 0.00 0.93 .003    .393
3 Group:Stimulus 1.91, 195.25 0.00 0.70 .002    .493
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rec_per_dens_entr_x_rep_anova)

4.5 clustering_x

options(width = 100)
clustering_x_rep_anova = aov_ez("ID", "clustering_x", emo_data_clean, within = c("Stimulus"), between = c("Group"))
clustering_x_afex_plot <-
  afex_plot(
    clustering_x_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(clustering_x_afex_plot)

base::print(clustering_x_rep_anova)
Anova Table (Type 3 tests)

Response: clustering_x
          Effect           df  MSE       F   ges p.value
1          Group       1, 102 0.01    0.16 <.001    .689
2       Stimulus 1.86, 189.69 0.00 5.16 **  .021    .008
3 Group:Stimulus 1.86, 189.69 0.00    0.14 <.001    .856
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(clustering_x_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean      SE  df lower.CL upper.CL
 Unpleasant  0.564 0.00571 102    0.553    0.576
 Neutral     0.577 0.00634 102    0.565    0.590
 Pleasant    0.556 0.00576 102    0.544    0.567

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.01283 0.00642 102  -1.998  0.1178
 Unpleasant - Pleasant  0.00872 0.00612 102   1.424  0.3323
 Neutral - Pleasant     0.02155 0.00760 102   2.834  0.0152

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

4.6 transitivity_x

options(width = 100)
transitivity_x_rep_anova = aov_ez("ID", "transitivity_x", emo_data_clean, within = c("Stimulus"), between = c("Group"))
transitivity_x_afex_plot <-
  afex_plot(
    transitivity_x_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(transitivity_x_afex_plot)

base::print(transitivity_x_rep_anova)
Anova Table (Type 3 tests)

Response: transitivity_x
          Effect           df  MSE      F  ges p.value
1          Group       1, 102 0.01   0.49 .003    .485
2       Stimulus 1.90, 193.43 0.00 3.41 * .014    .037
3 Group:Stimulus 1.90, 193.43 0.00   0.32 .001    .712
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(transitivity_x_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean      SE  df lower.CL upper.CL
 Unpleasant  0.607 0.00608 102    0.595    0.619
 Neutral     0.612 0.00651 102    0.599    0.625
 Pleasant    0.594 0.00624 102    0.582    0.607

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.0052 0.00684 102  -0.761  0.7278
 Unpleasant - Pleasant   0.0127 0.00643 102   1.973  0.1240
 Neutral - Pleasant      0.0179 0.00780 102   2.294  0.0611

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

5 RQA Y

5.1 log10_recurrence_rate_y

options(width = 100)
log10_recurrence_rate_y_rep_anova = aov_ez("ID", "log10_recurrence_rate_y", emo_data_clean, within = c("Stimulus"), between = c("Group"))
log10_recurrence_rate_y_afex_plot <-
  afex_plot(
    log10_recurrence_rate_y_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_recurrence_rate_y_afex_plot)

base::print(log10_recurrence_rate_y_rep_anova)
Anova Table (Type 3 tests)

Response: log10_recurrence_rate_y
          Effect           df  MSE      F  ges p.value
1          Group       1, 102 0.07 5.80 * .042    .018
2       Stimulus 1.82, 185.35 0.01 3.10 + .007    .052
3 Group:Stimulus 1.82, 185.35 0.01 2.69 + .006    .076
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_recurrence_rate_y_rep_anova)
____________________________________________________________
$emmeans
 Group     emmean     SE  df lower.CL upper.CL
 Alzheimer  -1.15 0.0229 102    -1.20    -1.11
 Control    -1.23 0.0200 102    -1.27    -1.19

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

$contrasts
 contrast            estimate     SE  df t.ratio p.value
 Alzheimer - Control   0.0732 0.0304 102   2.409  0.0178

Results are averaged over the levels of: Stimulus 

5.2 diag_entropy_y

options(width = 100)
diag_entropy_y_rep_anova = aov_ez("ID", "diag_entropy_y", emo_data_clean, within = c("Stimulus"), between = c("Group"))
diag_entropy_y_afex_plot <-
  afex_plot(
    diag_entropy_y_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(diag_entropy_y_afex_plot)

base::print(diag_entropy_y_rep_anova)
Anova Table (Type 3 tests)

Response: diag_entropy_y
          Effect           df  MSE      F  ges p.value
1          Group       1, 102 0.86   1.02 .008    .316
2       Stimulus 1.83, 186.31 0.08 3.10 + .004    .052
3 Group:Stimulus 1.83, 186.31 0.08 4.07 * .006    .022
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(diag_entropy_y_rep_anova)
____________________________________________________________
$emmeans
 Group     Stimulus   emmean     SE  df lower.CL upper.CL
 Alzheimer Unpleasant   4.16 0.0854 102     3.99     4.33
 Control   Unpleasant   4.10 0.0746 102     3.95     4.25
 Alzheimer Neutral      4.22 0.0845 102     4.05     4.38
 Control   Neutral      4.19 0.0738 102     4.04     4.33
 Alzheimer Pleasant     4.23 0.0886 102     4.05     4.40
 Control   Pleasant     4.00 0.0774 102     3.85     4.15

Confidence level used: 0.95 

$contrasts
 contrast                                  estimate     SE  df t.ratio p.value
 Alzheimer Unpleasant - Control Unpleasant   0.0620 0.1130 102   0.547  0.9940
 Alzheimer Unpleasant - Alzheimer Neutral   -0.0541 0.0514 102  -1.053  0.8987
 Alzheimer Unpleasant - Control Neutral     -0.0236 0.1130 102  -0.209  0.9999
 Alzheimer Unpleasant - Alzheimer Pleasant  -0.0654 0.0518 102  -1.263  0.8043
 Alzheimer Unpleasant - Control Pleasant     0.1630 0.1150 102   1.414  0.7186
 Control Unpleasant - Alzheimer Neutral     -0.1161 0.1130 102  -1.030  0.9066
 Control Unpleasant - Control Neutral       -0.0856 0.0449 102  -1.906  0.4045
 Control Unpleasant - Alzheimer Pleasant    -0.1274 0.1160 102  -1.100  0.8805
 Control Unpleasant - Control Pleasant       0.1010 0.0452 102   2.234  0.2317
 Alzheimer Neutral - Control Neutral         0.0305 0.1120 102   0.272  0.9998
 Alzheimer Neutral - Alzheimer Pleasant     -0.0112 0.0642 102  -0.175  1.0000
 Alzheimer Neutral - Control Pleasant        0.2171 0.1150 102   1.894  0.4115
 Control Neutral - Alzheimer Pleasant       -0.0418 0.1150 102  -0.362  0.9992
 Control Neutral - Control Pleasant          0.1866 0.0560 102   3.330  0.0149
 Alzheimer Pleasant - Control Pleasant       0.2283 0.1180 102   1.940  0.3840

P value adjustment: tukey method for comparing a family of 6 estimates 

5.3 log10_rec_time2_y

options(width = 100)
log10_rec_time2_y_rep_anova = aov_ez("ID", "log10_rec_time2_y", emo_data_clean, within = c("Stimulus"), between = c("Group"))
log10_rec_time2_y_afex_plot <-
  afex_plot(
    log10_rec_time2_y_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_rec_time2_y_afex_plot)

base::print(log10_rec_time2_y_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rec_time2_y
          Effect           df  MSE      F  ges p.value
1          Group       1, 102 0.02   2.17 .017    .144
2       Stimulus 1.92, 195.59 0.00 3.14 * .005    .048
3 Group:Stimulus 1.92, 195.59 0.00   2.23 .004    .113
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_rec_time2_y_rep_anova)
____________________________________________________________
$emmeans
 Stimulus   emmean      SE  df lower.CL upper.CL
 Unpleasant   2.68 0.00820 102     2.66     2.70
 Neutral      2.69 0.00768 102     2.68     2.71
 Pleasant     2.69 0.00791 102     2.68     2.71

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

$contrasts
 contrast               estimate      SE  df t.ratio p.value
 Unpleasant - Neutral  -1.22e-02 0.00510 102  -2.383  0.0495
 Unpleasant - Pleasant -1.22e-02 0.00557 102  -2.185  0.0786
 Neutral - Pleasant    -6.41e-06 0.00611 102  -0.001  1.0000

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

5.4 rec_per_dens_entr_y

options(width = 100)
rec_per_dens_entr_y_rep_anova = aov_ez("ID", "rec_per_dens_entr_y", emo_data_clean, within = c("Stimulus"), between = c("Group"))
rec_per_dens_entr_y_afex_plot <-
  afex_plot(
    rec_per_dens_entr_y_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(rec_per_dens_entr_y_afex_plot)

base::print(rec_per_dens_entr_y_rep_anova)
Anova Table (Type 3 tests)

Response: rec_per_dens_entr_y
          Effect           df  MSE      F  ges p.value
1          Group       1, 102 0.00   2.28 .016    .134
2       Stimulus 1.98, 201.81 0.00   0.87 .002    .418
3 Group:Stimulus 1.98, 201.81 0.00 3.62 * .009    .029
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(rec_per_dens_entr_y_rep_anova)
____________________________________________________________
$emmeans
 Group     Stimulus   emmean      SE  df lower.CL upper.CL
 Alzheimer Unpleasant  0.750 0.00524 102    0.740    0.761
 Control   Unpleasant  0.750 0.00458 102    0.741    0.759
 Alzheimer Neutral     0.746 0.00552 102    0.735    0.757
 Control   Neutral     0.759 0.00482 102    0.750    0.769
 Alzheimer Pleasant    0.747 0.00548 102    0.736    0.758
 Control   Pleasant    0.762 0.00479 102    0.753    0.772

Confidence level used: 0.95 

$contrasts
 contrast                                   estimate      SE  df t.ratio p.value
 Alzheimer Unpleasant - Control Unpleasant  0.000370 0.00696 102   0.053  1.0000
 Alzheimer Unpleasant - Alzheimer Neutral   0.004310 0.00453 102   0.952  0.9318
 Alzheimer Unpleasant - Control Neutral    -0.008806 0.00712 102  -1.236  0.8180
 Alzheimer Unpleasant - Alzheimer Pleasant  0.003692 0.00478 102   0.772  0.9716
 Alzheimer Unpleasant - Control Pleasant   -0.011634 0.00710 102  -1.639  0.5749
 Control Unpleasant - Alzheimer Neutral     0.003939 0.00717 102   0.549  0.9939
 Control Unpleasant - Control Neutral      -0.009176 0.00396 102  -2.320  0.1956
 Control Unpleasant - Alzheimer Pleasant    0.003321 0.00714 102   0.465  0.9972
 Control Unpleasant - Control Pleasant     -0.012004 0.00418 102  -2.874  0.0542
 Alzheimer Neutral - Control Neutral       -0.013115 0.00733 102  -1.788  0.4779
 Alzheimer Neutral - Alzheimer Pleasant    -0.000618 0.00496 102  -0.125  1.0000
 Alzheimer Neutral - Control Pleasant      -0.015943 0.00731 102  -2.181  0.2557
 Control Neutral - Alzheimer Pleasant       0.012497 0.00730 102   1.711  0.5275
 Control Neutral - Control Pleasant        -0.002828 0.00433 102  -0.653  0.9865
 Alzheimer Pleasant - Control Pleasant     -0.015325 0.00728 102  -2.106  0.2927

P value adjustment: tukey method for comparing a family of 6 estimates 

5.5 clustering_y

options(width = 100)
clustering_y_rep_anova = aov_ez("ID", "clustering_y", emo_data_clean, within = c("Stimulus"), between = c("Group"))
clustering_y_afex_plot <-
  afex_plot(
    clustering_y_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(clustering_y_afex_plot)

base::print(clustering_y_rep_anova)
Anova Table (Type 3 tests)

Response: clustering_y
          Effect           df  MSE        F  ges p.value
1          Group       1, 102 0.00   4.19 * .029    .043
2       Stimulus 1.93, 196.63 0.00 7.36 *** .019   <.001
3 Group:Stimulus 1.93, 196.63 0.00     1.02 .003    .362
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(clustering_y_rep_anova)
____________________________________________________________
$emmeans
 Group     emmean      SE  df lower.CL upper.CL
 Alzheimer  0.539 0.00578 102    0.527    0.550
 Control    0.523 0.00504 102    0.513    0.533

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

$contrasts
 contrast            estimate      SE  df t.ratio p.value
 Alzheimer - Control   0.0157 0.00767 102   2.046  0.0433

Results are averaged over the levels of: Stimulus 

____________________________________________________________
$emmeans
 Stimulus   emmean      SE  df lower.CL upper.CL
 Unpleasant  0.530 0.00408 102    0.522    0.538
 Neutral     0.539 0.00475 102    0.530    0.548
 Pleasant    0.524 0.00456 102    0.515    0.533

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.00882 0.00382 102  -2.312  0.0587
 Unpleasant - Pleasant  0.00641 0.00376 102   1.703  0.2091
 Neutral - Pleasant     0.01522 0.00435 102   3.497  0.0020

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

5.6 transitivity_y

options(width = 100)
transitivity_y_rep_anova = aov_ez("ID", "transitivity_y", emo_data_clean, within = c("Stimulus"), between = c("Group"))
transitivity_y_afex_plot <-
  afex_plot(
    transitivity_y_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(transitivity_y_afex_plot)

base::print(transitivity_y_rep_anova)
Anova Table (Type 3 tests)

Response: transitivity_y
          Effect           df  MSE      F  ges p.value
1          Group       1, 102 0.00 5.69 * .037    .019
2       Stimulus 1.94, 197.80 0.00 3.73 * .012    .027
3 Group:Stimulus 1.94, 197.80 0.00   1.22 .004    .297
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(transitivity_y_rep_anova)
____________________________________________________________
$emmeans
 Group     emmean      SE  df lower.CL upper.CL
 Alzheimer  0.580 0.00598 102    0.568    0.592
 Control    0.561 0.00522 102    0.550    0.571

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

$contrasts
 contrast            estimate      SE  df t.ratio p.value
 Alzheimer - Control   0.0189 0.00793 102   2.386  0.0189

Results are averaged over the levels of: Stimulus 

____________________________________________________________
$emmeans
 Stimulus   emmean      SE  df lower.CL upper.CL
 Unpleasant  0.571 0.00431 102    0.562    0.579
 Neutral     0.576 0.00503 102    0.566    0.586
 Pleasant    0.564 0.00505 102    0.554    0.574

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.00595 0.00452 102  -1.316  0.3897
 Unpleasant - Pleasant  0.00693 0.00449 102   1.543  0.2751
 Neutral - Pleasant     0.01288 0.00512 102   2.516  0.0356

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

6 Heart Activity

6.1 Heart Rate

options(width = 100)
heart_rate_rep_anova = aov_ez("ID", "heart_rate", emo_data_clean, within = c("Stimulus"), between = c("Group"))
heart_rate_afex_plot <-
  afex_plot(
    heart_rate_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(heart_rate_afex_plot)

base::print(heart_rate_rep_anova)
Anova Table (Type 3 tests)

Response: heart_rate
          Effect          df    MSE    F   ges p.value
1          Group       1, 67 441.57 0.18  .002    .669
2       Stimulus 1.20, 80.21  52.12 1.38  .003    .249
3 Group:Stimulus 1.20, 80.21  52.12 0.22 <.001    .686
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(heart_rate_rep_anova)

6.2 Root Mean Square of the Successive Differences (log10)

options(width = 100)
log10_rmssd_rep_anova = aov_ez("ID", "log10_rmssd", emo_data_clean, within = c("Stimulus"), between = c("Group"))
log10_rmssd_afex_plot <-
  afex_plot(
    log10_rmssd_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_rmssd_afex_plot)

base::print(log10_rmssd_rep_anova)
Anova Table (Type 3 tests)

Response: log10_rmssd
          Effect           df  MSE    F  ges p.value
1          Group        1, 67 0.60 2.03 .024    .159
2       Stimulus 1.91, 127.77 0.07 1.58 .004    .210
3 Group:Stimulus 1.91, 127.77 0.07 0.53 .001    .579
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_rmssd_rep_anova)

7 Electrodermal Activity

7.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("Stimulus"), between = c("Group"))
log10_ave_phasic_eda_afex_plot <-
  afex_plot(
    log10_ave_phasic_eda_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_ave_phasic_eda_afex_plot)

base::print(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, 62 1.26    3.20 +  .042    .078
2       Stimulus 1.70, 105.12 0.13 18.83 ***  .043   <.001
3 Group:Stimulus 1.70, 105.12 0.13      0.12 <.001    .851
---
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
 Stimulus   emmean     SE df lower.CL upper.CL
 Unpleasant  -1.12 0.0817 62    -1.28   -0.955
 Neutral     -1.48 0.0909 62    -1.66   -1.295
 Pleasant    -1.26 0.0915 62    -1.44   -1.077

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.358 0.0671 62   5.339  <.0001
 Unpleasant - Pleasant    0.141 0.0452 62   3.124  0.0075
 Neutral - Pleasant      -0.217 0.0619 62  -3.507  0.0024

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

7.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[!is.na((emo_data_clean$log10_ave_phasic_eda)), ], within = c("Stimulus"), between = c("Group"))
log10_scr_peaks_number_afex_plot <-
  afex_plot(
    log10_scr_peaks_number_rep_anova,
    x = "Stimulus",
    trace = "Group",
    error = "between",
    error_arg = list(width = .15),
    dodge     = my_dodge,
    data_arg  = list(
      position = 
        position_jitterdodge(
          jitter.width  = .1, 
          dodge.width   = my_dodge
        )),
    mapping   = c('color'),
    point_arg = list(size = 4)
  )
base::print(log10_scr_peaks_number_afex_plot)

base::print(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, 62 0.06 0.61  .005    .439
2       Stimulus 1.83, 113.73 0.03 1.34  .010    .266
3 Group:Stimulus 1.83, 113.73 0.03 0.02 <.001    .968
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1

Sphericity correction method: GG 
a_posteriori(log10_scr_peaks_number_rep_anova)
LS0tCnRpdGxlOiAiUG9zdHVyYWwgU3RhYmlsaXR5IGFuZCBFbW90aW9ucyIKYXV0aG9yOiAiQWx2YXJvIFJpdmVyYS1SZWkiCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCLCAlWScpYCIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIGhpZ2hsaWdodDogdGFuZ28KICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0aGVtZTogY2VydWxlYW4KICAgIHRvYzogeWVzCiAgICB0b2NfZmxvYXQ6CiAgICAgIGNvbGxhcHNlZDogbm8KICAgICAgc21vb3RoX3Njcm9sbDogbm8KICBwZGZfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwpzdWJ0aXRsZTogQ29udHJvbCAmIEFsemhlaW1lciBncm91cHMsIDYwIHNlY29uZHMKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0gCmtuaXRyOjpvcHRzX2NodW5rJHNldCh3YXJuaW5nID0gRkFMU0UsIG1lc3NhZ2UgPSBGQUxTRSkgCmBgYAoKYGBge3IgQ2xlYW4gYW5kIExvYWQgTGlicmFyaWVzfQpjYXQoIlwwMTQiKSAgICAgIyBjbGVhbiB0ZXJtaW5hbApybShsaXN0ID0gbHMoKSkgIyBjbGVhbiB3b3Jrc3BhY2UKdHJ5KGRldi5vZmYoKSwgc2lsZW50ID0gVFJVRSkgIyBjbG9zZSBhbGwgcGxvdHMKbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoR0dhbGx5KQpsaWJyYXJ5KGFmZXgpCmxpYnJhcnkoZW1tZWFucykKbGlicmFyeShFbnZTdGF0cykKYGBgCgpgYGB7ciB0aGVtZSAmIGN1c3RvbSBmdW5jdGlvbnN9Cm15X2RvZGdlIDwtIC4zCnRoZW1lX3NldCh0aGVtZV9taW5pbWFsKCkpCgphX3Bvc3RlcmlvcmkgPC0gZnVuY3Rpb24oYWZleF9hb3YsIHNpZ19sZXZlbCA9IC4wNSkgewogIGZhY3RvcnMgIDwtIGFzLmxpc3Qocm93bmFtZXMoYWZleF9hb3YkYW5vdmFfdGFibGUpKQogIGZvciAoaiBpbiAxOmxlbmd0aChmYWN0b3JzKSkgewogICAgaWYgKGdyZXBsKCc6JywgZmFjdG9yc1tbal1dKSkgewogICAgICBmYWN0b3JzW1tqXV0gPC0gdW5saXN0KHN0cnNwbGl0KGZhY3RvcnNbW2pdXSwgJzonKSkKICAgIH0KICB9CiAgcF92YWx1ZXMgPC0gYWZleF9hb3YkYW5vdmFfdGFibGUkYFByKD5GKWAKICBmb3IgKGkgaW4gMTpsZW5ndGgocF92YWx1ZXMpKSB7CiAgICBpZiAocF92YWx1ZXNbaV0gPD0gc2lnX2xldmVsKSB7CiAgICAgIGNhdChyZXAoJ18nLCA2MCksICdcbicsIHNlcCA9ICcnKQogICAgICBzaG93KGVtbWVhbnMoYWZleF9hb3YsIGZhY3RvcnNbW2ldXSwgY29udHIgPSAncGFpcndpc2UnKSkKICAgIH0KICB9Cn0KYGBgCgpgYGB7ciBMb2FkIERhdGF9CmRhdGFfZGlyICAgICAgIDwtICd+L0luc3luYy9PbmVEcml2ZS8wMExBQldPUktTX29uZWRyaXZlL1Blcm5pYS9Fc3RhYmlsb21ldHJpYV9wYXJraW5zb25fYWx6aGVpbWVyX3lfY29udHJvbGVzX0FudGlndW8vZGF0YS8nCmVtb19kYXRhX2NsZWFuIDwtIHJlYWQuY3N2KHBhc3RlMChkYXRhX2RpciwgJ2Vtb19kYXRhX2NsZWFuX2ZpeC5jc3YnKSwgaGVhZGVyID0gVFJVRSkgfD4gCiAgZmlsdGVyKEdyb3VwICE9ICdQYXJraW5zb24nKSB8PiAKICBtdXRhdGUoU3RpbXVsdXMgICAgICAgPSBmYWN0b3IoU3RpbXVsdXMsIGxldmVscyA9IGMoJ1VucGxlYXNhbnQnLCAnTmV1dHJhbCcsICdQbGVhc2FudCcpKSwKICAgICAgICAgbG9nMTBfYXJlYSAgICAgPSBsb2cxMChhcmVhKSwKICAgICAgICAgbG9nMTBfYXhpczEgICAgPSBsb2cxMChheGlzMSksCiAgICAgICAgIGxvZzEwX2F4aXMyICAgID0gbG9nMTAoYXhpczIpLAogICAgICAgICBsb2cxMF9tZGlzdCAgICA9IGxvZzEwKG1kaXN0KSwKICAgICAgICAgbG9nMTBfcm12ICAgICAgPSBsb2cxMChybXYpLAogICAgICAgICBsb2cxMF9ybXN4ICAgICA9IGxvZzEwKHJtc3gpLAogICAgICAgICBsb2cxMF9ybXN5ICAgICA9IGxvZzEwKHJtc3kpLAogICAgICAgICBsb2cxMF9NUEZ4ICAgICA9IGxvZzEwKE1QRngpLAogICAgICAgICBsb2cxMF9NUEZ5ICAgICA9IGxvZzEwKE1QRnkpLAogICAgICAgICBsb2cxMF9QRUFLeCAgICA9IGxvZzEwKFBFQUt4KSwKICAgICAgICAgbG9nMTBfUEVBS3kgICAgPSBsb2cxMChQRUFLeSksCiAgICAgICAgIGxvZzEwX0Y1MHggICAgID0gbG9nMTAoRjUweCksCiAgICAgICAgIGxvZzEwX0Y1MHkgICAgID0gbG9nMTAoRjUweSksCiAgICAgICAgIGxvZzEwX0Y5NXggICAgID0gbG9nMTAoRjk1eCksCiAgICAgICAgIGxvZzEwX0Y5NXkgICAgID0gbG9nMTAoRjk1eSksCiAgICAgICAgIGxvZzEwX3NhbXBlbl94ID0gbG9nMTAoc2FtcGVuX3gpLAogICAgICAgICBsb2cxMF9zYW1wZW5feSA9IGxvZzEwKHNhbXBlbl95KSwKICAgICAgICAgbG9nMTBfcm1zc2QgICAgPSBsb2cxMChyTVNTRCksCiAgICAgICAgIGxvZzEwX2F2ZV9waGFzaWNfZWRhICAgID0gbG9nMTAoYXZlX3BoYXNpY19lZGEpLAogICAgICAgICBzY3JfcGVha3NfbnVtYmVyICAgICAgICA9IGlmZWxzZShpcy5uYShsb2cxMF9hdmVfcGhhc2ljX2VkYSksIE5BLCBzY3JfcGVha3NfbnVtYmVyKSwKICAgICAgICAgbG9nMTBfc2NyX3BlYWtzX251bWJlciAgPSBsb2cxMChzY3JfcGVha3NfbnVtYmVyKSwKICAgICAgICAgbG9nMTBfcmVjdXJyZW5jZV9yYXRlX3ggPSBsb2cxMChyZWN1cnJlbmNlX3JhdGVfeCksCiAgICAgICAgIGxvZzEwX3JlY190aW1lMl94ICAgICAgID0gbG9nMTAocmVjX3RpbWUyX3gpLAogICAgICAgICBsb2cxMF9yZWN1cnJlbmNlX3JhdGVfeSA9IGxvZzEwKHJlY3VycmVuY2VfcmF0ZV95KSwKICAgICAgICAgbG9nMTBfcmVjX3RpbWUyX3kgICAgICAgPSBsb2cxMChyZWNfdGltZTJfeSkpIHw+IAogIG11dGF0ZV9pZihpcy5jaGFyYWN0ZXIsIGFzLmZhY3RvcikKd3JpdGUuY3N2KGVtb19kYXRhX2NsZWFuLCAgJ2RhdGFfYWx6X2N0cl82MHMuY3N2JywgIHJvdy5uYW1lcyA9IEZBTFNFKQpgYGAKCiMgR2VuZXJhbCBEZXNjcmlwdGlvbgpgYGB7ciBnZW5lcmFsLCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpzdW1tYXJ5KGVtb19kYXRhX2NsZWFuKQpgYGAKCiMjIFRpbWUtZGlzdGFuY2UgcGFyYW1ldGVycwpgYGB7ciB0aW1lX2Rpc3RhbmNlLCBmaWcud2lkdGggPSAxMX0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKdGltZV9kaXN0YW5jZSA8LSBjKCdsb2cxMF9hcmVhJywgJ2xvZzEwX2F4aXMxJywgJ2xvZzEwX2F4aXMyJywgJ2xvZzEwX21kaXN0JywgJ2xvZzEwX3JtdicsICdsb2cxMF9ybXN4JywgJ2xvZzEwX3Jtc3knKQp0aW1lX2Rpc3RhbmNlX3BhaXJzIDwtIGdncGFpcnMoZW1vX2RhdGFfY2xlYW4sCiAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHRpbWVfZGlzdGFuY2UsCiAgICAgICAgICAgICAgICAgICAgICAgYWVzKGNvbG91ciA9IEdyb3VwLCBhbHBoYSA9IC4yNSksCiAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICBsb3dlciA9IGxpc3QoY29udGludW91cyA9IHdyYXAoInBvaW50cyIpKSkKYmFzZTo6cHJpbnQodGltZV9kaXN0YW5jZV9wYWlycykKc3VtbWFyeShlbW9fZGF0YV9jbGVhblt0aW1lX2Rpc3RhbmNlXSkKYGBgCgojIyBGcmVxdWVuY3kgcGFyYW1ldGVycwpgYGB7ciBmcmVxdWVuY3ksIGZpZy53aWR0aCA9IDExfQpvcHRpb25zKHdpZHRoID0gMTAwKQpmcmVxdWVuY3kgPC0gYygnbG9nMTBfTVBGeCcsICdsb2cxMF9NUEZ5JywgJ2xvZzEwX0Y1MHgnLCAnbG9nMTBfRjUweScsICdsb2cxMF9GOTV4JywgJ2xvZzEwX0Y5NXknKQpmcmVxdWVuY3lfcGFpcnMgPC0gZ2dwYWlycyhlbW9fZGF0YV9jbGVhbiwKICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0gZnJlcXVlbmN5LAogICAgICAgICAgICAgICAgICAgICAgIGFlcyhjb2xvdXIgPSBHcm91cCwgYWxwaGEgPSAuMjUpLAogICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgbG93ZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKCJwb2ludHMiKSkpCmJhc2U6OnByaW50KGZyZXF1ZW5jeV9wYWlycykKc3VtbWFyeShlbW9fZGF0YV9jbGVhbltmcmVxdWVuY3ldKQpgYGAKCiMjIEVudHJvcHkKYGBge3IgZW50cm9weSwgZmlnLndpZHRoID0gMTF9Cm9wdGlvbnMod2lkdGggPSAxMDApCmVudHJvcHkgPC0gYygnZm9yd2FyZF9tb3YnLCAnbG9nMTBfc2FtcGVuX3gnLCAnbG9nMTBfc2FtcGVuX3knLCAnc2FtcGVuX3Jlc3VsX3ZlY3QnLCAnc2FtcGVuX3BoaV9yYWQnLCAnc2FtcGVuX2RlbHRhX3BoaScpCmVudHJvcHlfcGFpcnMgPC0gZ2dwYWlycyhlbW9fZGF0YV9jbGVhbiwKICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0gZW50cm9weSwKICAgICAgICAgICAgICAgICAgICAgICBhZXMoY29sb3VyID0gR3JvdXAsIGFscGhhID0gLjI1KSwKICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgIGxvd2VyID0gbGlzdChjb250aW51b3VzID0gd3JhcCgicG9pbnRzIikpKQpiYXNlOjpwcmludChlbnRyb3B5X3BhaXJzKQpzdW1tYXJ5KGVtb19kYXRhX2NsZWFuW2VudHJvcHldKQpgYGAKCiMjIFJlY3VycmVuY2UgcXVhbnRpZmljYXRpb24gYW5hbHlzaXMgKFJRQSkgWApgYGB7ciBycWFfeCwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJvc25lcl9sb2cxMF9yZWNfdGltZTJfeCA8LSByb3NuZXJUZXN0KGVtb19kYXRhX2NsZWFuJGxvZzEwX3JlY190aW1lMl94KQpwcmludChyb3NuZXJfbG9nMTBfcmVjX3RpbWUyX3gpCnJvc25lcl9jbHVzdGVyaW5nX3ggICAgICA8LSByb3NuZXJUZXN0KGVtb19kYXRhX2NsZWFuJGNsdXN0ZXJpbmdfeCkKcHJpbnQocm9zbmVyX2NsdXN0ZXJpbmdfeCkKcnFhX3ggPC0gYygnbG9nMTBfcmVjdXJyZW5jZV9yYXRlX3gnLCAnZGlhZ19lbnRyb3B5X3gnLCAnbG9nMTBfcmVjX3RpbWUyX3gnLCAncmVjX3Blcl9kZW5zX2VudHJfeCcsICdjbHVzdGVyaW5nX3gnLCAndHJhbnNpdGl2aXR5X3gnKQpycWFfeF9wYWlycyA8LSBnZ3BhaXJzKGVtb19kYXRhX2NsZWFuW2Vtb19kYXRhX2NsZWFuJGxvZzEwX3JlY190aW1lMl94PDMgJiBlbW9fZGF0YV9jbGVhbiRjbHVzdGVyaW5nX3g8Ljc4LCBdLAogICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbnMgPSBycWFfeCwKICAgICAgICAgICAgICAgICAgICAgICBhZXMoY29sb3VyID0gR3JvdXAsIGFscGhhID0gLjI1KSwKICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgIGxvd2VyID0gbGlzdChjb250aW51b3VzID0gd3JhcCgicG9pbnRzIikpKQpiYXNlOjpwcmludChycWFfeF9wYWlycykKc3VtbWFyeShlbW9fZGF0YV9jbGVhbltlbW9fZGF0YV9jbGVhbiRsb2cxMF9yZWNfdGltZTJfeDwzICYgZW1vX2RhdGFfY2xlYW4kY2x1c3RlcmluZ194PC43OCwgcnFhX3hdKQpgYGAKCiMjIFJlY3VycmVuY2UgcXVhbnRpZmljYXRpb24gYW5hbHlzaXMgKFJRQSkgWQpgYGB7ciBycWFfeSwgZmlnLndpZHRoID0gMTJ9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJvc25lcl9sb2cxMF9yZWNfdGltZTJfeSA8LSByb3NuZXJUZXN0KGVtb19kYXRhX2NsZWFuJGxvZzEwX3JlY190aW1lMl95LCA2KQpwcmludChyb3NuZXJfbG9nMTBfcmVjX3RpbWUyX3kpCnJxYV95IDwtIGMoJ2xvZzEwX3JlY3VycmVuY2VfcmF0ZV95JywgJ2RpYWdfZW50cm9weV95JywgJ2xvZzEwX3JlY190aW1lMl95JywgJ3JlY19wZXJfZGVuc19lbnRyX3knLCAnY2x1c3RlcmluZ195JywgJ3RyYW5zaXRpdml0eV95JykKcnFhX3lfcGFpcnMgPC0gZ2dwYWlycyhlbW9fZGF0YV9jbGVhbltlbW9fZGF0YV9jbGVhbiRsb2cxMF9yZWNfdGltZTJfeT4yLjQsIF0sCiAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHJxYV95LAogICAgICAgICAgICAgICAgICAgICAgIGFlcyhjb2xvdXIgPSBHcm91cCwgYWxwaGEgPSAuMjUpLAogICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgbG93ZXIgPSBsaXN0KGNvbnRpbnVvdXMgPSB3cmFwKCJwb2ludHMiKSkpCmJhc2U6OnByaW50KHJxYV95X3BhaXJzKQpzdW1tYXJ5KGVtb19kYXRhX2NsZWFuW2Vtb19kYXRhX2NsZWFuJGxvZzEwX3JlY190aW1lMl95PjIuNCwgcnFhX3ldKQpgYGAKCiMgQ2xhc3NpYyBDZW50ZXIgb2YgUHJlc3N1cmUKCiMjIEFyZWEgKGxvZzEwKQpgYGB7ciBBcmVhLCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQphcmVhX3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfYXJlYSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKYXJlYV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBhcmVhX3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQoYXJlYV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGFyZWFfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoYXJlYV9yZXBfYW5vdmEpCmBgYAoKIyMgRWxsaXBzZSBNYWpvciBBeGlzIChsb2cxMCkKYGBge3IgbG9nMTBfYXhpczEsIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX2F4aXMxX3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfYXhpczEiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCmxvZzEwX2F4aXMxX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX2F4aXMxX3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQobG9nMTBfYXhpczFfYWZleF9wbG90KQpiYXNlOjpwcmludChsb2cxMF9heGlzMV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9heGlzMV9yZXBfYW5vdmEpCmBgYAoKIyMgRWxsaXBzZSBNaW5vciBBeGlzIChsb2cxMCkKYGBge3IgbG9nMTBfYXhpczIsIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX2F4aXMyX3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfYXhpczIiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCmxvZzEwX2F4aXMyX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX2F4aXMyX3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQobG9nMTBfYXhpczJfYWZleF9wbG90KQpiYXNlOjpwcmludChsb2cxMF9heGlzMl9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9heGlzMl9yZXBfYW5vdmEpCmBgYAoKIyMgTWVhbiBEaXN0YW5jZSAobG9nMTApCmBgYHtyIG1kaXN0LCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQptZGlzdF9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImxvZzEwX21kaXN0IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQptZGlzdF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBtZGlzdF9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KG1kaXN0X2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQobWRpc3RfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobWRpc3RfcmVwX2Fub3ZhKQpgYGAKCiMjIFJvb3QgTWVhbiBWZWxvY2l0eSAobG9nMTApCmBgYHtyIHJtdiwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKcm12X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfcm12IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpybXZfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgcm12X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQocm12X2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQocm12X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJtdl9yZXBfYW5vdmEpCmBgYAoKIyMgUm9vdCBNZWFuIFNxdWFyZSBYIChsb2cxMCkKYGBge3Igcm1zeCwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKcm1zeF9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImxvZzEwX3Jtc3giLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnJtc3hfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgcm1zeF9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KHJtc3hfYWZleF9wbG90KQpiYXNlOjpwcmludChybXN4X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHJtc3hfcmVwX2Fub3ZhKQpgYGAKCiMjIFJvb3QgTWVhbiBTcXVhcmUgWSAobG9nMTApCmBgYHtyIHJtc3ksIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCnJtc3lfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJsb2cxMF9ybXN5IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpybXN5X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIHJtc3lfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludChybXN5X2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQocm1zeV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShybXN5X3JlcF9hbm92YSkKYGBgCgojIyBNZWFuIFBvd2VyIEZyZXF1ZW5jeSBYIChsb2cxMCkKYGBge3IgTVBGeCwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKTVBGeF9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImxvZzEwX01QRngiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCk1QRnhfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgTVBGeF9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KE1QRnhfYWZleF9wbG90KQpiYXNlOjpwcmludChNUEZ4X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKE1QRnhfcmVwX2Fub3ZhKQpgYGAKCiMjIE1lYW4gUG93ZXIgRnJlcXVlbmN5IFkgKGxvZzEwKQpgYGB7ciBNUEZ5LCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpNUEZ5X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfTVBGeSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKTVBGeV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBNUEZ5X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQoTVBGeV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KE1QRnlfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoTVBGeV9yZXBfYW5vdmEpCmBgYAoKIyMgRm9yd2FyZCBNb3ZlbWVudApgYGB7ciBmb3J3YXJkX21vdiwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKZm9yd2FyZF9tb3ZfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJmb3J3YXJkX21vdiIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKZm9yd2FyZF9tb3ZfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgZm9yd2FyZF9tb3ZfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludChmb3J3YXJkX21vdl9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGZvcndhcmRfbW92X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGZvcndhcmRfbW92X3JlcF9hbm92YSkKYGBgCgojIEVudHJvcHkgYW5kIENlbnRlciBvZiBQcmVzc3VyZQojIyBTYW1wbGUgRW50cm9weSBYIChsb2cxMCkKYGBge3Igc2FtcGVuX3gsIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX3NhbXBlbl94X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfc2FtcGVuX3giLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCmxvZzEwX3NhbXBlbl94X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX3NhbXBlbl94X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQobG9nMTBfc2FtcGVuX3hfYWZleF9wbG90KQpiYXNlOjpwcmludChsb2cxMF9zYW1wZW5feF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9zYW1wZW5feF9yZXBfYW5vdmEpCmBgYAoKIyMgU2FtcGxlIEVudHJvcHkgWSAobG9nMTApCmBgYHtyIHNhbXBlbl95LCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpsb2cxMF9zYW1wZW5feV9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImxvZzEwX3NhbXBlbl95IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpsb2cxMF9zYW1wZW5feV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBsb2cxMF9zYW1wZW5feV9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KGxvZzEwX3NhbXBlbl95X2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQobG9nMTBfc2FtcGVuX3lfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfc2FtcGVuX3lfcmVwX2Fub3ZhKQpgYGAKCiMjIEFuZ2xlIFNhbXBsZSBFbnRyb3B5CmBgYHtyIHNhbXBlbl9waGlfcmFkLCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpzYW1wZW5fcGhpX3JhZF9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgInNhbXBlbl9waGlfcmFkIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpzYW1wZW5fcGhpX3JhZF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBzYW1wZW5fcGhpX3JhZF9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KHNhbXBlbl9waGlfcmFkX2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQoc2FtcGVuX3BoaV9yYWRfcmVwX2Fub3ZhKQphX3Bvc3Rlcmlvcmkoc2FtcGVuX3BoaV9yYWRfcmVwX2Fub3ZhKQpgYGAKCiMjIFJlc3VsdGFudCBWZWN0b3IgU2FtcGxlIEVudHJvcHkKYGBge3Igc2FtcGVuX3Jlc3VsX3ZlY3QsIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCnNhbXBlbl9yZXN1bF92ZWN0X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAic2FtcGVuX3Jlc3VsX3ZlY3QiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCnNhbXBlbl9yZXN1bF92ZWN0X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIHNhbXBlbl9yZXN1bF92ZWN0X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQoc2FtcGVuX3Jlc3VsX3ZlY3RfYWZleF9wbG90KQpiYXNlOjpwcmludChzYW1wZW5fcmVzdWxfdmVjdF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShzYW1wZW5fcmVzdWxfdmVjdF9yZXBfYW5vdmEpCmBgYAoKIyMgQW5nbGUgQ2hhbmdlIFNhbXBsZSBFbnRyb3B5CmBgYHtyIHNhbXBlbl9kZWx0YV9waGksIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCnNhbXBlbl9kZWx0YV9waGlfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJzYW1wZW5fZGVsdGFfcGhpIiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpzYW1wZW5fZGVsdGFfcGhpX2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIHNhbXBlbl9kZWx0YV9waGlfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludChzYW1wZW5fZGVsdGFfcGhpX2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQoc2FtcGVuX2RlbHRhX3BoaV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShzYW1wZW5fZGVsdGFfcGhpX3JlcF9hbm92YSkKYGBgCgojIFJRQSBYCgojIyBsb2cxMF9yZWN1cnJlbmNlX3JhdGVfeAoKYGBge3IgbG9nMTBfcmVjdXJyZW5jZV9yYXRlX3gsIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX3JlY3VycmVuY2VfcmF0ZV94X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfcmVjdXJyZW5jZV9yYXRlX3giLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCmxvZzEwX3JlY3VycmVuY2VfcmF0ZV94X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX3JlY3VycmVuY2VfcmF0ZV94X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQobG9nMTBfcmVjdXJyZW5jZV9yYXRlX3hfYWZleF9wbG90KQpiYXNlOjpwcmludChsb2cxMF9yZWN1cnJlbmNlX3JhdGVfeF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9yZWN1cnJlbmNlX3JhdGVfeF9yZXBfYW5vdmEpCmBgYAoKIyMgZGlhZ19lbnRyb3B5X3gKCmBgYHtyIGRpYWdfZW50cm9weV94LCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpkaWFnX2VudHJvcHlfeF9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImRpYWdfZW50cm9weV94IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpkaWFnX2VudHJvcHlfeF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBkaWFnX2VudHJvcHlfeF9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KGRpYWdfZW50cm9weV94X2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQoZGlhZ19lbnRyb3B5X3hfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoZGlhZ19lbnRyb3B5X3hfcmVwX2Fub3ZhKQpgYGAKCiMjIGxvZzEwX3JlY190aW1lMl94CgpgYGB7ciBsb2cxMF9yZWNfdGltZTJfeCwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfcmVjX3RpbWUyX3hfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJsb2cxMF9yZWNfdGltZTJfeCIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKbG9nMTBfcmVjX3RpbWUyX3hfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfcmVjX3RpbWUyX3hfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludChsb2cxMF9yZWNfdGltZTJfeF9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGxvZzEwX3JlY190aW1lMl94X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX3JlY190aW1lMl94X3JlcF9hbm92YSkKYGBgCgojIyByZWNfcGVyX2RlbnNfZW50cl94CgpgYGB7ciByZWNfcGVyX2RlbnNfZW50cl94LCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpyZWNfcGVyX2RlbnNfZW50cl94X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAicmVjX3Blcl9kZW5zX2VudHJfeCIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVjX3Blcl9kZW5zX2VudHJfeF9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICByZWNfcGVyX2RlbnNfZW50cl94X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQocmVjX3Blcl9kZW5zX2VudHJfeF9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KHJlY19wZXJfZGVuc19lbnRyX3hfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkocmVjX3Blcl9kZW5zX2VudHJfeF9yZXBfYW5vdmEpCmBgYAoKIyMgY2x1c3RlcmluZ194CgpgYGB7ciBjbHVzdGVyaW5nX3gsIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmNsdXN0ZXJpbmdfeF9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImNsdXN0ZXJpbmdfeCIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKY2x1c3RlcmluZ194X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGNsdXN0ZXJpbmdfeF9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KGNsdXN0ZXJpbmdfeF9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGNsdXN0ZXJpbmdfeF9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShjbHVzdGVyaW5nX3hfcmVwX2Fub3ZhKQpgYGAKCiMjIHRyYW5zaXRpdml0eV94CgpgYGB7ciB0cmFuc2l0aXZpdHlfeCwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKdHJhbnNpdGl2aXR5X3hfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJ0cmFuc2l0aXZpdHlfeCIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKdHJhbnNpdGl2aXR5X3hfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgdHJhbnNpdGl2aXR5X3hfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludCh0cmFuc2l0aXZpdHlfeF9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KHRyYW5zaXRpdml0eV94X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHRyYW5zaXRpdml0eV94X3JlcF9hbm92YSkKYGBgCgojIFJRQSBZCgojIyBsb2cxMF9yZWN1cnJlbmNlX3JhdGVfeQoKYGBge3IgbG9nMTBfcmVjdXJyZW5jZV9yYXRlX3ksIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX3JlY3VycmVuY2VfcmF0ZV95X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAibG9nMTBfcmVjdXJyZW5jZV9yYXRlX3kiLCBlbW9fZGF0YV9jbGVhbiwgd2l0aGluID0gYygiU3RpbXVsdXMiKSwgYmV0d2VlbiA9IGMoIkdyb3VwIikpCmxvZzEwX3JlY3VycmVuY2VfcmF0ZV95X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGxvZzEwX3JlY3VycmVuY2VfcmF0ZV95X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQobG9nMTBfcmVjdXJyZW5jZV9yYXRlX3lfYWZleF9wbG90KQpiYXNlOjpwcmludChsb2cxMF9yZWN1cnJlbmNlX3JhdGVfeV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShsb2cxMF9yZWN1cnJlbmNlX3JhdGVfeV9yZXBfYW5vdmEpCmBgYAoKIyMgZGlhZ19lbnRyb3B5X3kKCmBgYHtyIGRpYWdfZW50cm9weV95LCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpkaWFnX2VudHJvcHlfeV9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImRpYWdfZW50cm9weV95IiwgZW1vX2RhdGFfY2xlYW4sIHdpdGhpbiA9IGMoIlN0aW11bHVzIiksIGJldHdlZW4gPSBjKCJHcm91cCIpKQpkaWFnX2VudHJvcHlfeV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBkaWFnX2VudHJvcHlfeV9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KGRpYWdfZW50cm9weV95X2FmZXhfcGxvdCkKYmFzZTo6cHJpbnQoZGlhZ19lbnRyb3B5X3lfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoZGlhZ19lbnRyb3B5X3lfcmVwX2Fub3ZhKQpgYGAKCiMjIGxvZzEwX3JlY190aW1lMl95CgpgYGB7ciBsb2cxMF9yZWNfdGltZTJfeSwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfcmVjX3RpbWUyX3lfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJsb2cxMF9yZWNfdGltZTJfeSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKbG9nMTBfcmVjX3RpbWUyX3lfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfcmVjX3RpbWUyX3lfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludChsb2cxMF9yZWNfdGltZTJfeV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGxvZzEwX3JlY190aW1lMl95X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX3JlY190aW1lMl95X3JlcF9hbm92YSkKYGBgCgojIyByZWNfcGVyX2RlbnNfZW50cl95CgpgYGB7ciByZWNfcGVyX2RlbnNfZW50cl95LCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpyZWNfcGVyX2RlbnNfZW50cl95X3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAicmVjX3Blcl9kZW5zX2VudHJfeSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKcmVjX3Blcl9kZW5zX2VudHJfeV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICByZWNfcGVyX2RlbnNfZW50cl95X3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQocmVjX3Blcl9kZW5zX2VudHJfeV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KHJlY19wZXJfZGVuc19lbnRyX3lfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkocmVjX3Blcl9kZW5zX2VudHJfeV9yZXBfYW5vdmEpCmBgYAoKIyMgY2x1c3RlcmluZ195CgpgYGB7ciBjbHVzdGVyaW5nX3ksIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmNsdXN0ZXJpbmdfeV9yZXBfYW5vdmEgPSBhb3ZfZXooIklEIiwgImNsdXN0ZXJpbmdfeSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKY2x1c3RlcmluZ195X2FmZXhfcGxvdCA8LQogIGFmZXhfcGxvdCgKICAgIGNsdXN0ZXJpbmdfeV9yZXBfYW5vdmEsCiAgICB4ID0gIlN0aW11bHVzIiwKICAgIHRyYWNlID0gIkdyb3VwIiwKICAgIGVycm9yID0gImJldHdlZW4iLAogICAgZXJyb3JfYXJnID0gbGlzdCh3aWR0aCA9IC4xNSksCiAgICBkb2RnZSAgICAgPSBteV9kb2RnZSwKICAgIGRhdGFfYXJnICA9IGxpc3QoCiAgICAgIHBvc2l0aW9uID0gCiAgICAgICAgcG9zaXRpb25faml0dGVyZG9kZ2UoCiAgICAgICAgICBqaXR0ZXIud2lkdGggID0gLjEsIAogICAgICAgICAgZG9kZ2Uud2lkdGggICA9IG15X2RvZGdlCiAgICAgICAgKSksCiAgICBtYXBwaW5nICAgPSBjKCdjb2xvcicpLAogICAgcG9pbnRfYXJnID0gbGlzdChzaXplID0gNCkKICApCmJhc2U6OnByaW50KGNsdXN0ZXJpbmdfeV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGNsdXN0ZXJpbmdfeV9yZXBfYW5vdmEpCmFfcG9zdGVyaW9yaShjbHVzdGVyaW5nX3lfcmVwX2Fub3ZhKQpgYGAKCiMjIHRyYW5zaXRpdml0eV95CgpgYGB7ciB0cmFuc2l0aXZpdHlfeSwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKdHJhbnNpdGl2aXR5X3lfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJ0cmFuc2l0aXZpdHlfeSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKdHJhbnNpdGl2aXR5X3lfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgdHJhbnNpdGl2aXR5X3lfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludCh0cmFuc2l0aXZpdHlfeV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KHRyYW5zaXRpdml0eV95X3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKHRyYW5zaXRpdml0eV95X3JlcF9hbm92YSkKYGBgCgojIEhlYXJ0IEFjdGl2aXR5CgojIyBIZWFydCBSYXRlCgpgYGB7ciBoZWFydF9yYXRlLCBmaWcud2lkdGggPSA4fQpvcHRpb25zKHdpZHRoID0gMTAwKQpoZWFydF9yYXRlX3JlcF9hbm92YSA9IGFvdl9leigiSUQiLCAiaGVhcnRfcmF0ZSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKaGVhcnRfcmF0ZV9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBoZWFydF9yYXRlX3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQoaGVhcnRfcmF0ZV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGhlYXJ0X3JhdGVfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkoaGVhcnRfcmF0ZV9yZXBfYW5vdmEpCmBgYAoKIyMgUm9vdCBNZWFuIFNxdWFyZSBvZiB0aGUgU3VjY2Vzc2l2ZSBEaWZmZXJlbmNlcyAobG9nMTApCgpgYGB7ciBsb2cxMF9ybXNzZCwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfcm1zc2RfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJsb2cxMF9ybXNzZCIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKbG9nMTBfcm1zc2RfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfcm1zc2RfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludChsb2cxMF9ybXNzZF9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGxvZzEwX3Jtc3NkX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX3Jtc3NkX3JlcF9hbm92YSkKYGBgCgojIEVsZWN0cm9kZXJtYWwgQWN0aXZpdHkKCiMjIE1lYW4gUGhhc2ljIENvbXBvbmVudCAobG9nMTApCgpgYGB7ciBsb2cxMF9hdmVfcGhhc2ljX2VkYSwgZmlnLndpZHRoID0gOH0Kb3B0aW9ucyh3aWR0aCA9IDEwMCkKbG9nMTBfYXZlX3BoYXNpY19lZGFfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJsb2cxMF9hdmVfcGhhc2ljX2VkYSIsIGVtb19kYXRhX2NsZWFuLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKbG9nMTBfYXZlX3BoYXNpY19lZGFfYWZleF9wbG90IDwtCiAgYWZleF9wbG90KAogICAgbG9nMTBfYXZlX3BoYXNpY19lZGFfcmVwX2Fub3ZhLAogICAgeCA9ICJTdGltdWx1cyIsCiAgICB0cmFjZSA9ICJHcm91cCIsCiAgICBlcnJvciA9ICJiZXR3ZWVuIiwKICAgIGVycm9yX2FyZyA9IGxpc3Qod2lkdGggPSAuMTUpLAogICAgZG9kZ2UgICAgID0gbXlfZG9kZ2UsCiAgICBkYXRhX2FyZyAgPSBsaXN0KAogICAgICBwb3NpdGlvbiA9IAogICAgICAgIHBvc2l0aW9uX2ppdHRlcmRvZGdlKAogICAgICAgICAgaml0dGVyLndpZHRoICA9IC4xLCAKICAgICAgICAgIGRvZGdlLndpZHRoICAgPSBteV9kb2RnZQogICAgICAgICkpLAogICAgbWFwcGluZyAgID0gYygnY29sb3InKSwKICAgIHBvaW50X2FyZyA9IGxpc3Qoc2l6ZSA9IDQpCiAgKQpiYXNlOjpwcmludChsb2cxMF9hdmVfcGhhc2ljX2VkYV9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGxvZzEwX2F2ZV9waGFzaWNfZWRhX3JlcF9hbm92YSkKYV9wb3N0ZXJpb3JpKGxvZzEwX2F2ZV9waGFzaWNfZWRhX3JlcF9hbm92YSkKYGBgCgojIyBOdW1iZXIgb2YgU0NSIFBlYWtzIChsb2cxMCkKCmBgYHtyIGxvZzEwX3Njcl9wZWFrc19udW1iZXIsIGZpZy53aWR0aCA9IDh9Cm9wdGlvbnMod2lkdGggPSAxMDApCmxvZzEwX3Njcl9wZWFrc19udW1iZXJfcmVwX2Fub3ZhID0gYW92X2V6KCJJRCIsICJsb2cxMF9zY3JfcGVha3NfbnVtYmVyIiwgZW1vX2RhdGFfY2xlYW5bIWlzLm5hKChlbW9fZGF0YV9jbGVhbiRsb2cxMF9hdmVfcGhhc2ljX2VkYSkpLCBdLCB3aXRoaW4gPSBjKCJTdGltdWx1cyIpLCBiZXR3ZWVuID0gYygiR3JvdXAiKSkKbG9nMTBfc2NyX3BlYWtzX251bWJlcl9hZmV4X3Bsb3QgPC0KICBhZmV4X3Bsb3QoCiAgICBsb2cxMF9zY3JfcGVha3NfbnVtYmVyX3JlcF9hbm92YSwKICAgIHggPSAiU3RpbXVsdXMiLAogICAgdHJhY2UgPSAiR3JvdXAiLAogICAgZXJyb3IgPSAiYmV0d2VlbiIsCiAgICBlcnJvcl9hcmcgPSBsaXN0KHdpZHRoID0gLjE1KSwKICAgIGRvZGdlICAgICA9IG15X2RvZGdlLAogICAgZGF0YV9hcmcgID0gbGlzdCgKICAgICAgcG9zaXRpb24gPSAKICAgICAgICBwb3NpdGlvbl9qaXR0ZXJkb2RnZSgKICAgICAgICAgIGppdHRlci53aWR0aCAgPSAuMSwgCiAgICAgICAgICBkb2RnZS53aWR0aCAgID0gbXlfZG9kZ2UKICAgICAgICApKSwKICAgIG1hcHBpbmcgICA9IGMoJ2NvbG9yJyksCiAgICBwb2ludF9hcmcgPSBsaXN0KHNpemUgPSA0KQogICkKYmFzZTo6cHJpbnQobG9nMTBfc2NyX3BlYWtzX251bWJlcl9hZmV4X3Bsb3QpCmJhc2U6OnByaW50KGxvZzEwX3Njcl9wZWFrc19udW1iZXJfcmVwX2Fub3ZhKQphX3Bvc3RlcmlvcmkobG9nMTBfc2NyX3BlYWtzX251bWJlcl9yZXBfYW5vdmEpCmBgYAo=