This notebook provides additional plots to H1 and H2 of the full analysis of the article: Heyne, M., Derrick, D., and Al-Tamimi, J. (under review). “Native language influence on brass instrument performance: An application of generalized additive mixed models (GAMMs) to midsagittal ultrasound images of the tongue”. Frontiers Research Topic: Models and Theories of Speech Production. Ed. Adamantios Gafos & Pascal van Lieshout.

This provides various plots for the parametric terms and for inspecting random effects

1 Loading packages & custom plotting function

load_packages = c("mgcv","itsadug")
# dplyr, rlist, and plotly are required by the custom plotting functions
for(pkg in load_packages){
  eval(bquote(library(.(pkg))))
  if (paste0("package:", pkg) %in% search()){
    cat(paste0("Successfully loaded the ", pkg, " package.\n"))
  }else{
    install.packages(pkg)
    eval(bquote(library(.(pkg))))
    if (paste0("package:", pkg) %in% search()){
      cat(paste0("Successfully loaded the ", pkg, " package.\n"))
    }
  }
}
Successfully loaded the mgcv package.
Successfully loaded the itsadug package.
rm(load_packages, pkg)
# specify directory to save models and summaries
output_dir = "updated_models"

2 Description

These plots look at the parametric terms and at the random effects.

3 Uploading latest model

Notes.gam.AR.Mod2 = readRDS(paste0(output_dir,"/Notes.gam.AR.Mod2.rds"))

4 Plotting parametric terms

Parametric terms are our fixed effects and we use these to look at variance in the data (with standard error) and position of the particular note (and intensity) in both languages. It summarises the variation observed. We look at the distribution of notes across the two languages. The x axis now has the Rho (height) values: the lower the value the lower the overall tongue shape is, and vice-versa.

We observe overall that Tongan has a higher tongue position (overall) compared to NZE. Notes are different as well in that (overall) high notes show slightly higher tongue position and less variability; low notes show slightly lower tongue position and more variability

4.1 Bb2

4.1.1 Piano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb2.piano', 'Tongan.Bb2.piano')),
                cond=list(noteIntenInt='Bb2.piano'), rm.ranef=TRUE,
                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.piano, Tongan.Bb2.piano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb2.piano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.1.2 Mezzopiano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb2.mezzopiano', 'Tongan.Bb2.mezzopiano')),
                cond=list(noteIntenInt='Bb2.mezzopiano'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzopiano, Tongan.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb2.mezzopiano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.1.3 Mezzoforte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb2.mezzoforte', 'Tongan.Bb2.mezzoforte')),
                cond=list(noteIntenInt='Bb2.mezzoforte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzoforte, Tongan.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb2.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.1.4 Forte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb2.forte', 'Tongan.Bb2.forte')),
                cond=list(noteIntenInt='Bb2.forte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.forte, Tongan.Bb2.forte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb2.forte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.2 F3

4.2.1 Piano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.F3.piano', 'Tongan.F3.piano')),
                cond=list(noteIntenInt='F3.piano'), rm.ranef=TRUE,
                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.piano, Tongan.F3.piano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.piano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.2.2 Mezzopiano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.F3.mezzopiano', 'Tongan.F3.mezzopiano')),
                cond=list(noteIntenInt='F3.mezzopiano'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzopiano, Tongan.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzopiano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.2.3 Mezzoforte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.F3.mezzoforte', 'Tongan.F3.mezzoforte')),
                cond=list(noteIntenInt='F3.mezzoforte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzoforte, Tongan.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.2.4 Forte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.F3.forte', 'Tongan.F3.forte')),
                cond=list(noteIntenInt='F3.forte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.forte, Tongan.F3.forte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.forte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.3 Bb3

4.3.1 Piano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb3.piano', 'Tongan.Bb3.piano')),
                cond=list(noteIntenInt='Bb3.piano'), rm.ranef=TRUE,
                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.piano, Tongan.Bb3.piano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb3.piano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.3.2 Mezzopiano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb3.mezzopiano', 'Tongan.Bb3.mezzopiano')),
                cond=list(noteIntenInt='Bb3.mezzopiano'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzopiano, Tongan.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb3.mezzopiano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.3.3 Mezzoforte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb3.mezzoforte', 'Tongan.Bb3.mezzoforte')),
                cond=list(noteIntenInt='Bb3.mezzoforte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzoforte, Tongan.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.3.4 Forte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.Bb3.forte', 'Tongan.Bb3.forte')),
                cond=list(noteIntenInt='Bb3.forte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.forte, Tongan.Bb3.forte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): Bb3.forte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.4 D4

4.4.1 Piano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.D4.piano', 'Tongan.D4.piano')),
                cond=list(noteIntenInt='D4.piano'), rm.ranef=TRUE,
                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.piano, Tongan.D4.piano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): D4.piano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.4.2 Mezzopiano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.D4.mezzopiano', 'Tongan.D4.mezzopiano')),
                cond=list(noteIntenInt='D4.mezzopiano'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzopiano, Tongan.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): D4.mezzopiano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.4.3 Mezzoforte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.D4.mezzoforte', 'Tongan.D4.mezzoforte')),
                cond=list(noteIntenInt='D4.mezzoforte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzoforte, Tongan.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): D4.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.4.4 Forte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.D4.forte', 'Tongan.D4.forte')),
                cond=list(noteIntenInt='D4.forte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.forte, Tongan.D4.forte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): D4.forte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.5 F4

4.5.1 Piano

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.F4.piano', 'Tongan.F4.piano')),
                cond=list(noteIntenInt='F4.piano'), rm.ranef=TRUE,
                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.piano, Tongan.F4.piano. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F4.piano. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.5.2 Mezzoforte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.F4.mezzoforte', 'Tongan.F4.mezzoforte')),
                cond=list(noteIntenInt='F4.mezzoforte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.mezzoforte, Tongan.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F4.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

4.5.3 Forte

par(mfrow=c(1,1))
plot_parametric(Notes.gam.AR.Mod2,  xlim=c(190,280),
                pred=list(langNoteInt.ord=c('NZE.F4.forte', 'Tongan.F4.forte')),
                cond=list(noteIntenInt='F4.forte'), rm.ranef=TRUE,
                                main="")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.forte, Tongan.F4.forte. 
    * theta_uncut_z : numeric predictor; set to the value(s): -1.5394122. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F4.forte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

5 Inspecting random effects

Within random effects, we look at how variable our speakers are. Recall that this variability is taken into account in our model as all coefficients are adjusted to account for this variation. We look at the spread of variation in the data. Overall, we observe that our Tongan speakers display most of the variation compared to NZE speakers. This seems to match the predictions for H1b as well.

5.1 Bb2

5.1.1 Piano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=40, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb2 piano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=40, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb2 piano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.1.2 Mezzopiano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=45, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb2 mezzopiano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=45, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb2 mezzopiano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.1.3 Mezzoforte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=50, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb2 mezzoforte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=50, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb2 mezzoforte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.1.4 Forte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=55, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb2 forte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=55, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb2 forte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.2 F3

5.2.1 Piano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=41, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="F3 piano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=41, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="F3 piano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.2.2 Mezzopiano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=46, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="F3 mezzopiano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=46, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="F3 mezzopiano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.2.3 Mezzoforte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=51, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="F3 mezzoforte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=51, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="F3 mezzoforte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.2.4 Forte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=56, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="F3 forte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=56, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="F3 forte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.3 Bb3

5.3.1 Piano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=42, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb3 piano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=42, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb3 piano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.3.2 Mezzopiano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=47, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb3 mezzopiano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=47, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb3 mezzopiano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.3.3 Mezzoforte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=52, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb3 mezzoforte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=52, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb3 mezzoforte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.3.4 Forte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=57, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="Bb3 forte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=57, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="Bb3 forte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.4 D4

5.4.1 Piano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=43, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="D4 piano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=43, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="D4 piano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.4.2 Mezzopiano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=48, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="D4 mezzopiano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=48, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="D4 mezzopiano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.4.3 Mezzoforte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=53, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="D4 mezzoforte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=53, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="D4 mezzoforte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.4.4 Forte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=58, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="D4 forte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=58, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="D4 forte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.5 F4

5.5.1 Piano

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=44, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="F4 piano - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=44, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="F4 piano - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.5.2 Mezzoforte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=54, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="F4 mezzoforte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=54, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="F4 mezzoforte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

5.5.3 Forte

par(mfrow=c(1,2))
inspect_random(Notes.gam.AR.Mod2, select=59, ylim=c(-60,60), 
               cond=list(subject=c('S1','S3','S5',
                                   'S12', 'S24', 'S25',
                                   'S26', 'S27',  'S29',
                                   'S30')), col=1, xpd=TRUE,
               main="F4 forte - NZE")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S1, S12, S24, S25, S26, S27, S29, S3, S30, S5. 
inspect_random(Notes.gam.AR.Mod2, select=59, ylim=c(-60,60),
               cond=list(subject=c('S4','S14','S15',
                                   'S16', 'S17', 'S18',
                                   'S19', 'S20',  'S21',
                                   'S22')), col=2, xpd=TRUE, 
               main="F4 forte - Tongan")
Summary:
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S14, S15, S16, S17, S18, S19, S20, S21, S22, S4. 

LS0tDQp0aXRsZTogIkdBTU1zIGFuYWx5c2VzIFRyb21ib25lIC0gTm90ZXMgdnMuIHZvd2VscyAoTlpFIGFuZCBUb25nYW4pIg0KYXV0aG9yOg0KICAtIEphbGFsIEFsLVRhbWltaSAoTmV3Y2FzdGxlIFVuaXZlcnNpdHkpDQogIC0gRG9uYWxkIERlcnJpY2sgKFVuaXZlcnNpdHkgb2YgQ2FudGVyYnVyeSkNCiAgLSBNYXR0aGlhcyBIZXluZSAoQm9zdG9uIFVuaXZlcnNpdHkpDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiAlWScpYCINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIHRvYzogeWVzDQogICAgdG9jX2RlcHRoOiA2DQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB5ZXMNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KICAgIHRvY19kZXB0aDogJzYnDQotLS0NCg0KVGhpcyBub3RlYm9vayBwcm92aWRlcyBhZGRpdGlvbmFsIHBsb3RzIHRvIEgxIGFuZCBIMiBvZiB0aGUgZnVsbCBhbmFseXNpcyBvZiB0aGUgYXJ0aWNsZTogSGV5bmUsIE0uLCBEZXJyaWNrLCBELiwgYW5kIEFsLVRhbWltaSwgSi4gKHVuZGVyIHJldmlldykuICJOYXRpdmUgbGFuZ3VhZ2UgaW5mbHVlbmNlIG9uIGJyYXNzIGluc3RydW1lbnQgcGVyZm9ybWFuY2U6IEFuIGFwcGxpY2F0aW9uIG9mIGdlbmVyYWxpemVkIGFkZGl0aXZlIG1peGVkIG1vZGVscyAoR0FNTXMpIHRvIG1pZHNhZ2l0dGFsIHVsdHJhc291bmQgaW1hZ2VzIG9mIHRoZSB0b25ndWUiLiBGcm9udGllcnMgUmVzZWFyY2ggVG9waWM6IE1vZGVscyBhbmQgVGhlb3JpZXMgb2YgU3BlZWNoIFByb2R1Y3Rpb24uIEVkLiBBZGFtYW50aW9zIEdhZm9zICYgUGFzY2FsIHZhbiBMaWVzaG91dC4NCg0KVGhpcyBwcm92aWRlcyB2YXJpb3VzIHBsb3RzIGZvciB0aGUgcGFyYW1ldHJpYyB0ZXJtcyBhbmQgZm9yIGluc3BlY3RpbmcgcmFuZG9tIGVmZmVjdHMNCg0KDQojIExvYWRpbmcgcGFja2FnZXMgJiBjdXN0b20gcGxvdHRpbmcgZnVuY3Rpb24NCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpsb2FkX3BhY2thZ2VzID0gYygibWdjdiIsIml0c2FkdWciKQ0KIyBkcGx5ciwgcmxpc3QsIGFuZCBwbG90bHkgYXJlIHJlcXVpcmVkIGJ5IHRoZSBjdXN0b20gcGxvdHRpbmcgZnVuY3Rpb25zDQpmb3IocGtnIGluIGxvYWRfcGFja2FnZXMpew0KICBldmFsKGJxdW90ZShsaWJyYXJ5KC4ocGtnKSkpKQ0KICBpZiAocGFzdGUwKCJwYWNrYWdlOiIsIHBrZykgJWluJSBzZWFyY2goKSl7DQogICAgY2F0KHBhc3RlMCgiU3VjY2Vzc2Z1bGx5IGxvYWRlZCB0aGUgIiwgcGtnLCAiIHBhY2thZ2UuXG4iKSkNCiAgfWVsc2V7DQogICAgaW5zdGFsbC5wYWNrYWdlcyhwa2cpDQogICAgZXZhbChicXVvdGUobGlicmFyeSguKHBrZykpKSkNCiAgICBpZiAocGFzdGUwKCJwYWNrYWdlOiIsIHBrZykgJWluJSBzZWFyY2goKSl7DQogICAgICBjYXQocGFzdGUwKCJTdWNjZXNzZnVsbHkgbG9hZGVkIHRoZSAiLCBwa2csICIgcGFja2FnZS5cbiIpKQ0KICAgIH0NCiAgfQ0KfQ0Kcm0obG9hZF9wYWNrYWdlcywgcGtnKQ0KDQpgYGANCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQojIHNwZWNpZnkgZGlyZWN0b3J5IHRvIHNhdmUgbW9kZWxzIGFuZCBzdW1tYXJpZXMNCm91dHB1dF9kaXIgPSAidXBkYXRlZF9tb2RlbHMiDQpgYGANCg0KIyBEZXNjcmlwdGlvbg0KDQpUaGVzZSBwbG90cyBsb29rIGF0IHRoZSBwYXJhbWV0cmljIHRlcm1zIGFuZCBhdCB0aGUgcmFuZG9tIGVmZmVjdHMuIA0KDQojIFVwbG9hZGluZyBsYXRlc3QgbW9kZWwNCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpOb3Rlcy5nYW0uQVIuTW9kMiA9IHJlYWRSRFMocGFzdGUwKG91dHB1dF9kaXIsIi9Ob3Rlcy5nYW0uQVIuTW9kMi5yZHMiKSkNCg0KYGBgDQoNCiMgUGxvdHRpbmcgcGFyYW1ldHJpYyB0ZXJtcw0KDQpQYXJhbWV0cmljIHRlcm1zIGFyZSBvdXIgZml4ZWQgZWZmZWN0cyBhbmQgd2UgdXNlIHRoZXNlIHRvIGxvb2sgYXQgdmFyaWFuY2UgaW4gdGhlIGRhdGEgKHdpdGggc3RhbmRhcmQgZXJyb3IpIGFuZCBwb3NpdGlvbiBvZiB0aGUgcGFydGljdWxhciBub3RlIChhbmQgaW50ZW5zaXR5KSBpbiBib3RoIGxhbmd1YWdlcy4gSXQgc3VtbWFyaXNlcyB0aGUgdmFyaWF0aW9uIG9ic2VydmVkLiBXZSBsb29rIGF0IHRoZSBkaXN0cmlidXRpb24gb2Ygbm90ZXMgYWNyb3NzIHRoZSB0d28gbGFuZ3VhZ2VzLiBUaGUgeCBheGlzIG5vdyBoYXMgdGhlIFJobyAoaGVpZ2h0KSB2YWx1ZXM6IHRoZSBsb3dlciB0aGUgdmFsdWUgdGhlIGxvd2VyIHRoZSBvdmVyYWxsIHRvbmd1ZSBzaGFwZSBpcywgYW5kIHZpY2UtdmVyc2EuDQoNCldlIG9ic2VydmUgb3ZlcmFsbCB0aGF0IFRvbmdhbiBoYXMgYSBoaWdoZXIgdG9uZ3VlIHBvc2l0aW9uIChvdmVyYWxsKSBjb21wYXJlZCB0byBOWkUuIE5vdGVzIGFyZSBkaWZmZXJlbnQgYXMgd2VsbCBpbiB0aGF0IChvdmVyYWxsKSBoaWdoIG5vdGVzIHNob3cgc2xpZ2h0bHkgaGlnaGVyIHRvbmd1ZSBwb3NpdGlvbiBhbmQgbGVzcyB2YXJpYWJpbGl0eTsgbG93IG5vdGVzIHNob3cgc2xpZ2h0bHkgbG93ZXIgdG9uZ3VlIHBvc2l0aW9uIGFuZCBtb3JlIHZhcmlhYmlsaXR5DQoNCg0KIyMgQmIyDQoNCiMjIyBQaWFubw0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMSkpDQpwbG90X3BhcmFtZXRyaWMoTm90ZXMuZ2FtLkFSLk1vZDIsICB4bGltPWMoMTkwLDI4MCksDQogICAgICAgICAgICAgICAgcHJlZD1saXN0KGxhbmdOb3RlSW50Lm9yZD1jKCdOWkUuQmIyLnBpYW5vJywgJ1Rvbmdhbi5CYjIucGlhbm8nKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nQmIyLnBpYW5vJyksIHJtLnJhbmVmPVRSVUUsDQogICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBNZXp6b3BpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5CYjIubWV6em9waWFubycsICdUb25nYW4uQmIyLm1lenpvcGlhbm8nKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nQmIyLm1lenpvcGlhbm8nKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBNZXp6b2ZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5CYjIubWV6em9mb3J0ZScsICdUb25nYW4uQmIyLm1lenpvZm9ydGUnKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nQmIyLm1lenpvZm9ydGUnKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBGb3J0ZQ0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMSkpDQpwbG90X3BhcmFtZXRyaWMoTm90ZXMuZ2FtLkFSLk1vZDIsICB4bGltPWMoMTkwLDI4MCksDQogICAgICAgICAgICAgICAgcHJlZD1saXN0KGxhbmdOb3RlSW50Lm9yZD1jKCdOWkUuQmIyLmZvcnRlJywgJ1Rvbmdhbi5CYjIuZm9ydGUnKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nQmIyLmZvcnRlJyksIHJtLnJhbmVmPVRSVUUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW49IiIpDQpgYGANCg0KDQoNCiMjIEYzDQoNCiMjIyBQaWFubw0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMSkpDQpwbG90X3BhcmFtZXRyaWMoTm90ZXMuZ2FtLkFSLk1vZDIsICB4bGltPWMoMTkwLDI4MCksDQogICAgICAgICAgICAgICAgcHJlZD1saXN0KGxhbmdOb3RlSW50Lm9yZD1jKCdOWkUuRjMucGlhbm8nLCAnVG9uZ2FuLkYzLnBpYW5vJykpLA0KICAgICAgICAgICAgICAgIGNvbmQ9bGlzdChub3RlSW50ZW5JbnQ9J0YzLnBpYW5vJyksIHJtLnJhbmVmPVRSVUUsDQogICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBNZXp6b3BpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5GMy5tZXp6b3BpYW5vJywgJ1Rvbmdhbi5GMy5tZXp6b3BpYW5vJykpLA0KICAgICAgICAgICAgICAgIGNvbmQ9bGlzdChub3RlSW50ZW5JbnQ9J0YzLm1lenpvcGlhbm8nKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBNZXp6b2ZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5GMy5tZXp6b2ZvcnRlJywgJ1Rvbmdhbi5GMy5tZXp6b2ZvcnRlJykpLA0KICAgICAgICAgICAgICAgIGNvbmQ9bGlzdChub3RlSW50ZW5JbnQ9J0YzLm1lenpvZm9ydGUnKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBGb3J0ZQ0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMSkpDQpwbG90X3BhcmFtZXRyaWMoTm90ZXMuZ2FtLkFSLk1vZDIsICB4bGltPWMoMTkwLDI4MCksDQogICAgICAgICAgICAgICAgcHJlZD1saXN0KGxhbmdOb3RlSW50Lm9yZD1jKCdOWkUuRjMuZm9ydGUnLCAnVG9uZ2FuLkYzLmZvcnRlJykpLA0KICAgICAgICAgICAgICAgIGNvbmQ9bGlzdChub3RlSW50ZW5JbnQ9J0YzLmZvcnRlJyksIHJtLnJhbmVmPVRSVUUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW49IiIpDQpgYGANCg0KDQojIyBCYjMNCg0KIyMjIFBpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5CYjMucGlhbm8nLCAnVG9uZ2FuLkJiMy5waWFubycpKSwNCiAgICAgICAgICAgICAgICBjb25kPWxpc3Qobm90ZUludGVuSW50PSdCYjMucGlhbm8nKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICBtYWluPSIiKQ0KYGBgDQoNCg0KIyMjIE1lenpvcGlhbm8NCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDEpKQ0KcGxvdF9wYXJhbWV0cmljKE5vdGVzLmdhbS5BUi5Nb2QyLCAgeGxpbT1jKDE5MCwyODApLA0KICAgICAgICAgICAgICAgIHByZWQ9bGlzdChsYW5nTm90ZUludC5vcmQ9YygnTlpFLkJiMy5tZXp6b3BpYW5vJywgJ1Rvbmdhbi5CYjMubWV6em9waWFubycpKSwNCiAgICAgICAgICAgICAgICBjb25kPWxpc3Qobm90ZUludGVuSW50PSdCYjMubWV6em9waWFubycpLCBybS5yYW5lZj1UUlVFLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluPSIiKQ0KYGBgDQoNCg0KIyMjIE1lenpvZm9ydGUNCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDEpKQ0KcGxvdF9wYXJhbWV0cmljKE5vdGVzLmdhbS5BUi5Nb2QyLCAgeGxpbT1jKDE5MCwyODApLA0KICAgICAgICAgICAgICAgIHByZWQ9bGlzdChsYW5nTm90ZUludC5vcmQ9YygnTlpFLkJiMy5tZXp6b2ZvcnRlJywgJ1Rvbmdhbi5CYjMubWV6em9mb3J0ZScpKSwNCiAgICAgICAgICAgICAgICBjb25kPWxpc3Qobm90ZUludGVuSW50PSdCYjMubWV6em9mb3J0ZScpLCBybS5yYW5lZj1UUlVFLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluPSIiKQ0KYGBgDQoNCg0KIyMjIEZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5CYjMuZm9ydGUnLCAnVG9uZ2FuLkJiMy5mb3J0ZScpKSwNCiAgICAgICAgICAgICAgICBjb25kPWxpc3Qobm90ZUludGVuSW50PSdCYjMuZm9ydGUnKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCg0KIyMgRDQNCg0KIyMjIFBpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5ENC5waWFubycsICdUb25nYW4uRDQucGlhbm8nKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nRDQucGlhbm8nKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICBtYWluPSIiKQ0KYGBgDQoNCg0KIyMjIE1lenpvcGlhbm8NCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDEpKQ0KcGxvdF9wYXJhbWV0cmljKE5vdGVzLmdhbS5BUi5Nb2QyLCAgeGxpbT1jKDE5MCwyODApLA0KICAgICAgICAgICAgICAgIHByZWQ9bGlzdChsYW5nTm90ZUludC5vcmQ9YygnTlpFLkQ0Lm1lenpvcGlhbm8nLCAnVG9uZ2FuLkQ0Lm1lenpvcGlhbm8nKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nRDQubWV6em9waWFubycpLCBybS5yYW5lZj1UUlVFLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluPSIiKQ0KYGBgDQoNCg0KIyMjIE1lenpvZm9ydGUNCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDEpKQ0KcGxvdF9wYXJhbWV0cmljKE5vdGVzLmdhbS5BUi5Nb2QyLCAgeGxpbT1jKDE5MCwyODApLA0KICAgICAgICAgICAgICAgIHByZWQ9bGlzdChsYW5nTm90ZUludC5vcmQ9YygnTlpFLkQ0Lm1lenpvZm9ydGUnLCAnVG9uZ2FuLkQ0Lm1lenpvZm9ydGUnKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nRDQubWV6em9mb3J0ZScpLCBybS5yYW5lZj1UUlVFLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluPSIiKQ0KYGBgDQoNCg0KIyMjIEZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5ENC5mb3J0ZScsICdUb25nYW4uRDQuZm9ydGUnKSksDQogICAgICAgICAgICAgICAgY29uZD1saXN0KG5vdGVJbnRlbkludD0nRDQuZm9ydGUnKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIEY0DQoNCiMjIyBQaWFubw0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMSkpDQpwbG90X3BhcmFtZXRyaWMoTm90ZXMuZ2FtLkFSLk1vZDIsICB4bGltPWMoMTkwLDI4MCksDQogICAgICAgICAgICAgICAgcHJlZD1saXN0KGxhbmdOb3RlSW50Lm9yZD1jKCdOWkUuRjQucGlhbm8nLCAnVG9uZ2FuLkY0LnBpYW5vJykpLA0KICAgICAgICAgICAgICAgIGNvbmQ9bGlzdChub3RlSW50ZW5JbnQ9J0Y0LnBpYW5vJyksIHJtLnJhbmVmPVRSVUUsDQogICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBNZXp6b2ZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwxKSkNCnBsb3RfcGFyYW1ldHJpYyhOb3Rlcy5nYW0uQVIuTW9kMiwgIHhsaW09YygxOTAsMjgwKSwNCiAgICAgICAgICAgICAgICBwcmVkPWxpc3QobGFuZ05vdGVJbnQub3JkPWMoJ05aRS5GNC5tZXp6b2ZvcnRlJywgJ1Rvbmdhbi5GNC5tZXp6b2ZvcnRlJykpLA0KICAgICAgICAgICAgICAgIGNvbmQ9bGlzdChub3RlSW50ZW5JbnQ9J0Y0Lm1lenpvZm9ydGUnKSwgcm0ucmFuZWY9VFJVRSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbj0iIikNCmBgYA0KDQoNCiMjIyBGb3J0ZQ0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMSkpDQpwbG90X3BhcmFtZXRyaWMoTm90ZXMuZ2FtLkFSLk1vZDIsICB4bGltPWMoMTkwLDI4MCksDQogICAgICAgICAgICAgICAgcHJlZD1saXN0KGxhbmdOb3RlSW50Lm9yZD1jKCdOWkUuRjQuZm9ydGUnLCAnVG9uZ2FuLkY0LmZvcnRlJykpLA0KICAgICAgICAgICAgICAgIGNvbmQ9bGlzdChub3RlSW50ZW5JbnQ9J0Y0LmZvcnRlJyksIHJtLnJhbmVmPVRSVUUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW49IiIpDQpgYGANCg0KDQoNCiMgSW5zcGVjdGluZyByYW5kb20gZWZmZWN0cw0KDQpXaXRoaW4gcmFuZG9tIGVmZmVjdHMsIHdlIGxvb2sgYXQgaG93IHZhcmlhYmxlIG91ciBzcGVha2VycyBhcmUuIFJlY2FsbCB0aGF0IHRoaXMgdmFyaWFiaWxpdHkgaXMgdGFrZW4gaW50byBhY2NvdW50IGluIG91ciBtb2RlbCBhcyBhbGwgY29lZmZpY2llbnRzIGFyZSBhZGp1c3RlZCB0byBhY2NvdW50IGZvciB0aGlzIHZhcmlhdGlvbi4gV2UgbG9vayBhdCB0aGUgc3ByZWFkIG9mIHZhcmlhdGlvbiBpbiB0aGUgZGF0YS4gT3ZlcmFsbCwgd2Ugb2JzZXJ2ZSB0aGF0IG91ciBUb25nYW4gc3BlYWtlcnMgZGlzcGxheSBtb3N0IG9mIHRoZSB2YXJpYXRpb24gY29tcGFyZWQgdG8gTlpFIHNwZWFrZXJzLiBUaGlzIHNlZW1zIHRvIG1hdGNoIHRoZSBwcmVkaWN0aW9ucyBmb3IgSDFiIGFzIHdlbGwuDQoNCg0KIyMgQmIyDQoNCiMjIyBQaWFubw0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMikpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTQwLCB5bGltPWMoLTYwLDYwKSwgDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTMScsJ1MzJywnUzUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzEyJywgJ1MyNCcsICdTMjUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzI2JywgJ1MyNycsICAnUzI5JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzMCcpKSwgY29sPTEsIHhwZD1UUlVFLA0KICAgICAgICAgICAgICAgbWFpbj0iQmIyIHBpYW5vIC0gTlpFIikNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NDAsIHlsaW09YygtNjAsNjApLA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzQnLCdTMTQnLCdTMTUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE2JywgJ1MxNycsICdTMTgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE5JywgJ1MyMCcsICAnUzIxJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyMicpKSwgY29sPTIsIHhwZD1UUlVFLCANCiAgICAgICAgICAgICAgIG1haW49IkJiMiBwaWFubyAtIFRvbmdhbiIpDQpgYGANCg0KDQoNCiMjIyBNZXp6b3BpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NDUsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJCYjIgbWV6em9waWFubyAtIE5aRSIpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTQ1LCB5bGltPWMoLTYwLDYwKSwNCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1M0JywnUzE0JywnUzE1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxNicsICdTMTcnLCAnUzE4JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxOScsICdTMjAnLCAgJ1MyMScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjInKSksIGNvbD0yLCB4cGQ9VFJVRSwgDQogICAgICAgICAgICAgICBtYWluPSJCYjIgbWV6em9waWFubyAtIFRvbmdhbiIpDQpgYGANCg0KDQojIyMgTWV6em9mb3J0ZQ0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMikpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTUwLCB5bGltPWMoLTYwLDYwKSwgDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTMScsJ1MzJywnUzUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzEyJywgJ1MyNCcsICdTMjUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzI2JywgJ1MyNycsICAnUzI5JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzMCcpKSwgY29sPTEsIHhwZD1UUlVFLA0KICAgICAgICAgICAgICAgbWFpbj0iQmIyIG1lenpvZm9ydGUgLSBOWkUiKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD01MCwgeWxpbT1jKC02MCw2MCksDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTNCcsJ1MxNCcsJ1MxNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTYnLCAnUzE3JywgJ1MxOCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTknLCAnUzIwJywgICdTMjEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzIyJykpLCBjb2w9MiwgeHBkPVRSVUUsIA0KICAgICAgICAgICAgICAgbWFpbj0iQmIyIG1lenpvZm9ydGUgLSBUb25nYW4iKQ0KYGBgDQoNCg0KIyMjIEZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NTUsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJCYjIgZm9ydGUgLSBOWkUiKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD01NSwgeWxpbT1jKC02MCw2MCksDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTNCcsJ1MxNCcsJ1MxNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTYnLCAnUzE3JywgJ1MxOCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTknLCAnUzIwJywgICdTMjEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzIyJykpLCBjb2w9MiwgeHBkPVRSVUUsIA0KICAgICAgICAgICAgICAgbWFpbj0iQmIyIGZvcnRlIC0gVG9uZ2FuIikNCmBgYA0KDQoNCiMjIEYzDQoNCiMjIyBQaWFubw0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMikpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTQxLCB5bGltPWMoLTYwLDYwKSwgDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTMScsJ1MzJywnUzUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzEyJywgJ1MyNCcsICdTMjUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzI2JywgJ1MyNycsICAnUzI5JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzMCcpKSwgY29sPTEsIHhwZD1UUlVFLA0KICAgICAgICAgICAgICAgbWFpbj0iRjMgcGlhbm8gLSBOWkUiKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD00MSwgeWxpbT1jKC02MCw2MCksDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTNCcsJ1MxNCcsJ1MxNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTYnLCAnUzE3JywgJ1MxOCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTknLCAnUzIwJywgICdTMjEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzIyJykpLCBjb2w9MiwgeHBkPVRSVUUsIA0KICAgICAgICAgICAgICAgbWFpbj0iRjMgcGlhbm8gLSBUb25nYW4iKQ0KYGBgDQoNCg0KDQojIyMgTWV6em9waWFubw0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMikpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTQ2LCB5bGltPWMoLTYwLDYwKSwgDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTMScsJ1MzJywnUzUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzEyJywgJ1MyNCcsICdTMjUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzI2JywgJ1MyNycsICAnUzI5JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzMCcpKSwgY29sPTEsIHhwZD1UUlVFLA0KICAgICAgICAgICAgICAgbWFpbj0iRjMgbWV6em9waWFubyAtIE5aRSIpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTQ2LCB5bGltPWMoLTYwLDYwKSwNCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1M0JywnUzE0JywnUzE1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxNicsICdTMTcnLCAnUzE4JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxOScsICdTMjAnLCAgJ1MyMScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjInKSksIGNvbD0yLCB4cGQ9VFJVRSwgDQogICAgICAgICAgICAgICBtYWluPSJGMyBtZXp6b3BpYW5vIC0gVG9uZ2FuIikNCmBgYA0KDQoNCiMjIyBNZXp6b2ZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NTEsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJGMyBtZXp6b2ZvcnRlIC0gTlpFIikNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NTEsIHlsaW09YygtNjAsNjApLA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzQnLCdTMTQnLCdTMTUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE2JywgJ1MxNycsICdTMTgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE5JywgJ1MyMCcsICAnUzIxJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyMicpKSwgY29sPTIsIHhwZD1UUlVFLCANCiAgICAgICAgICAgICAgIG1haW49IkYzIG1lenpvZm9ydGUgLSBUb25nYW4iKQ0KYGBgDQoNCg0KIyMjIEZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NTYsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJGMyBmb3J0ZSAtIE5aRSIpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTU2LCB5bGltPWMoLTYwLDYwKSwNCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1M0JywnUzE0JywnUzE1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxNicsICdTMTcnLCAnUzE4JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxOScsICdTMjAnLCAgJ1MyMScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjInKSksIGNvbD0yLCB4cGQ9VFJVRSwgDQogICAgICAgICAgICAgICBtYWluPSJGMyBmb3J0ZSAtIFRvbmdhbiIpDQpgYGANCg0KDQojIyBCYjMNCg0KIyMjIFBpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NDIsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJCYjMgcGlhbm8gLSBOWkUiKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD00MiwgeWxpbT1jKC02MCw2MCksDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTNCcsJ1MxNCcsJ1MxNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTYnLCAnUzE3JywgJ1MxOCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTknLCAnUzIwJywgICdTMjEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzIyJykpLCBjb2w9MiwgeHBkPVRSVUUsIA0KICAgICAgICAgICAgICAgbWFpbj0iQmIzIHBpYW5vIC0gVG9uZ2FuIikNCmBgYA0KDQoNCg0KIyMjIE1lenpvcGlhbm8NCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDIpKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD00NywgeWxpbT1jKC02MCw2MCksIA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzEnLCdTMycsJ1M1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxMicsICdTMjQnLCAnUzI1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyNicsICdTMjcnLCAgJ1MyOScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMzAnKSksIGNvbD0xLCB4cGQ9VFJVRSwNCiAgICAgICAgICAgICAgIG1haW49IkJiMyBtZXp6b3BpYW5vIC0gTlpFIikNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NDcsIHlsaW09YygtNjAsNjApLA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzQnLCdTMTQnLCdTMTUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE2JywgJ1MxNycsICdTMTgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE5JywgJ1MyMCcsICAnUzIxJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyMicpKSwgY29sPTIsIHhwZD1UUlVFLCANCiAgICAgICAgICAgICAgIG1haW49IkJiMyBtZXp6b3BpYW5vIC0gVG9uZ2FuIikNCmBgYA0KDQoNCiMjIyBNZXp6b2ZvcnRlDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NTIsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJCYjMgbWV6em9mb3J0ZSAtIE5aRSIpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTUyLCB5bGltPWMoLTYwLDYwKSwNCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1M0JywnUzE0JywnUzE1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxNicsICdTMTcnLCAnUzE4JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxOScsICdTMjAnLCAgJ1MyMScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjInKSksIGNvbD0yLCB4cGQ9VFJVRSwgDQogICAgICAgICAgICAgICBtYWluPSJCYjMgbWV6em9mb3J0ZSAtIFRvbmdhbiIpDQpgYGANCg0KDQojIyMgRm9ydGUNCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDIpKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD01NywgeWxpbT1jKC02MCw2MCksIA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzEnLCdTMycsJ1M1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxMicsICdTMjQnLCAnUzI1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyNicsICdTMjcnLCAgJ1MyOScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMzAnKSksIGNvbD0xLCB4cGQ9VFJVRSwNCiAgICAgICAgICAgICAgIG1haW49IkJiMyBmb3J0ZSAtIE5aRSIpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTU3LCB5bGltPWMoLTYwLDYwKSwNCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1M0JywnUzE0JywnUzE1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxNicsICdTMTcnLCAnUzE4JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxOScsICdTMjAnLCAgJ1MyMScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjInKSksIGNvbD0yLCB4cGQ9VFJVRSwgDQogICAgICAgICAgICAgICBtYWluPSJCYjMgZm9ydGUgLSBUb25nYW4iKQ0KYGBgDQoNCg0KIyMgRDQNCg0KIyMjIFBpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NDMsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJENCBwaWFubyAtIE5aRSIpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTQzLCB5bGltPWMoLTYwLDYwKSwNCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1M0JywnUzE0JywnUzE1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxNicsICdTMTcnLCAnUzE4JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxOScsICdTMjAnLCAgJ1MyMScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjInKSksIGNvbD0yLCB4cGQ9VFJVRSwgDQogICAgICAgICAgICAgICBtYWluPSJENCBwaWFubyAtIFRvbmdhbiIpDQpgYGANCg0KDQoNCiMjIyBNZXp6b3BpYW5vDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQ0KcGFyKG1mcm93PWMoMSwyKSkNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NDgsIHlsaW09YygtNjAsNjApLCANCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1MxJywnUzMnLCdTNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTInLCAnUzI0JywgJ1MyNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjYnLCAnUzI3JywgICdTMjknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzMwJykpLCBjb2w9MSwgeHBkPVRSVUUsDQogICAgICAgICAgICAgICBtYWluPSJENCBtZXp6b3BpYW5vIC0gTlpFIikNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NDgsIHlsaW09YygtNjAsNjApLA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzQnLCdTMTQnLCdTMTUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE2JywgJ1MxNycsICdTMTgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE5JywgJ1MyMCcsICAnUzIxJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyMicpKSwgY29sPTIsIHhwZD1UUlVFLCANCiAgICAgICAgICAgICAgIG1haW49IkQ0IG1lenpvcGlhbm8gLSBUb25nYW4iKQ0KYGBgDQoNCg0KIyMjIE1lenpvZm9ydGUNCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDIpKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD01MywgeWxpbT1jKC02MCw2MCksIA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzEnLCdTMycsJ1M1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxMicsICdTMjQnLCAnUzI1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyNicsICdTMjcnLCAgJ1MyOScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMzAnKSksIGNvbD0xLCB4cGQ9VFJVRSwNCiAgICAgICAgICAgICAgIG1haW49IkQ0IG1lenpvZm9ydGUgLSBOWkUiKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD01MywgeWxpbT1jKC02MCw2MCksDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTNCcsJ1MxNCcsJ1MxNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTYnLCAnUzE3JywgJ1MxOCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTknLCAnUzIwJywgICdTMjEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzIyJykpLCBjb2w9MiwgeHBkPVRSVUUsIA0KICAgICAgICAgICAgICAgbWFpbj0iRDQgbWV6em9mb3J0ZSAtIFRvbmdhbiIpDQpgYGANCg0KDQojIyMgRm9ydGUNCg0KYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0V9DQpwYXIobWZyb3c9YygxLDIpKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD01OCwgeWxpbT1jKC02MCw2MCksIA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzEnLCdTMycsJ1M1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxMicsICdTMjQnLCAnUzI1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyNicsICdTMjcnLCAgJ1MyOScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMzAnKSksIGNvbD0xLCB4cGQ9VFJVRSwNCiAgICAgICAgICAgICAgIG1haW49IkQ0IGZvcnRlIC0gTlpFIikNCmluc3BlY3RfcmFuZG9tKE5vdGVzLmdhbS5BUi5Nb2QyLCBzZWxlY3Q9NTgsIHlsaW09YygtNjAsNjApLA0KICAgICAgICAgICAgICAgY29uZD1saXN0KHN1YmplY3Q9YygnUzQnLCdTMTQnLCdTMTUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE2JywgJ1MxNycsICdTMTgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzE5JywgJ1MyMCcsICAnUzIxJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MyMicpKSwgY29sPTIsIHhwZD1UUlVFLCANCiAgICAgICAgICAgICAgIG1haW49IkQ0IGZvcnRlIC0gVG9uZ2FuIikNCmBgYA0KDQoNCiMjIEY0DQoNCiMjIyBQaWFubw0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMikpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTQ0LCB5bGltPWMoLTYwLDYwKSwgDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTMScsJ1MzJywnUzUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzEyJywgJ1MyNCcsICdTMjUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzI2JywgJ1MyNycsICAnUzI5JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzMCcpKSwgY29sPTEsIHhwZD1UUlVFLA0KICAgICAgICAgICAgICAgbWFpbj0iRjQgcGlhbm8gLSBOWkUiKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD00NCwgeWxpbT1jKC02MCw2MCksDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTNCcsJ1MxNCcsJ1MxNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTYnLCAnUzE3JywgJ1MxOCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTknLCAnUzIwJywgICdTMjEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzIyJykpLCBjb2w9MiwgeHBkPVRSVUUsIA0KICAgICAgICAgICAgICAgbWFpbj0iRjQgcGlhbm8gLSBUb25nYW4iKQ0KYGBgDQoNCg0KDQojIyMgTWV6em9mb3J0ZQ0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMikpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTU0LCB5bGltPWMoLTYwLDYwKSwgDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTMScsJ1MzJywnUzUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzEyJywgJ1MyNCcsICdTMjUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzI2JywgJ1MyNycsICAnUzI5JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzMCcpKSwgY29sPTEsIHhwZD1UUlVFLA0KICAgICAgICAgICAgICAgbWFpbj0iRjQgbWV6em9mb3J0ZSAtIE5aRSIpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTU0LCB5bGltPWMoLTYwLDYwKSwNCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChzdWJqZWN0PWMoJ1M0JywnUzE0JywnUzE1JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxNicsICdTMTcnLCAnUzE4JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MxOScsICdTMjAnLCAgJ1MyMScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMjInKSksIGNvbD0yLCB4cGQ9VFJVRSwgDQogICAgICAgICAgICAgICBtYWluPSJGNCBtZXp6b2ZvcnRlIC0gVG9uZ2FuIikNCmBgYA0KDQoNCiMjIyBGb3J0ZQ0KDQpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0NCnBhcihtZnJvdz1jKDEsMikpDQppbnNwZWN0X3JhbmRvbShOb3Rlcy5nYW0uQVIuTW9kMiwgc2VsZWN0PTU5LCB5bGltPWMoLTYwLDYwKSwgDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTMScsJ1MzJywnUzUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzEyJywgJ1MyNCcsICdTMjUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzI2JywgJ1MyNycsICAnUzI5JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1MzMCcpKSwgY29sPTEsIHhwZD1UUlVFLA0KICAgICAgICAgICAgICAgbWFpbj0iRjQgZm9ydGUgLSBOWkUiKQ0KaW5zcGVjdF9yYW5kb20oTm90ZXMuZ2FtLkFSLk1vZDIsIHNlbGVjdD01OSwgeWxpbT1jKC02MCw2MCksDQogICAgICAgICAgICAgICBjb25kPWxpc3Qoc3ViamVjdD1jKCdTNCcsJ1MxNCcsJ1MxNScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTYnLCAnUzE3JywgJ1MxOCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTMTknLCAnUzIwJywgICdTMjEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUzIyJykpLCBjb2w9MiwgeHBkPVRSVUUsIA0KICAgICAgICAgICAgICAgbWFpbj0iRjQgZm9ydGUgLSBUb25nYW4iKQ0KYGBgDQoNCg0KDQoNCg==