Response to Question 4

Thank you for the opportunity to further clarify our conditional effects. The models you mention in your review are the precise models we used to analyze the data:

\[ DV_{\text{AttrDom}} = a + b_1 \times LT + b_2 \times ST + b_3 \times Gender + b_4 \times (LT \times Gender) + b_5 \times (ST \times Gender) + e \]

\[ DV_{\text{AttrPres}} = a + b_1 \times LT + b_2 \times ST + b_3 \times Gender + b_4 \times (LT \times Gender) + b_5 \times (ST \times Gender) + e \]

Including an interaction term in a regression framework substantially changes the interpretation of the coefficients. Unlike in an ANOVA framework—where main effects are reported separately and a significant interaction must be probed with follow-up pairwise comparisons—regression models with interactions directly yield conditional effects. In our model, 𝑏1(the effect of LTMO on attraction to dominance) represents the conditional effect for men (gender = 0, as gender was dummy-coded with male = 0 and female = 1). The interaction coefficient, 𝑏4, indicates how much this relationship changes for women (gender = 1). Thus, 𝑏1captures the conditional effect for men, while 𝑏1+𝑏4 captures the conditional effect for women. In other words, the regression output itself provides the conditional effects for both genders, eliminating the need for additional pairwise comparisons. For clarity, we provide an empirical demonstration of this below.

Empirical demonstration of our findings:

In the manuscript we state the following when reporting attraction to prestige:

“long-term mating orientation significantly positively predicted attraction to prestige for both men, β = .19, t(1193) = 4.30, p < .001, and women, β = .41, t(1193) = 9.00, p < .001, albeit significantly stronger for women, β = -.23, t(1193) = -3.59, p < .001.” (p. 10).

To establish this, we constructed the following model:

# to report standardized betas, all continuous variables are standardized prior to entry into model:
data$pres.attract.TOT.z  <- scale(data$pres.attract.TOT)[,1]
data$STMS_z <- scale(data$STMS)[,1]
data$LTMS_z <- scale(data$LTMS)[,1]


mod <- lm(pres.attract.TOT.z ~ 
            LTMS_z+ 
            STMS_z+ 
            sex+ 
            LTMS_z * sex+
            STMS_z * sex,
          data = data)
summary(mod)
## 
## Call:
## lm(formula = pres.attract.TOT.z ~ LTMS_z + STMS_z + sex + LTMS_z * 
##     sex + STMS_z * sex, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.6446 -0.6014  0.0569  0.6090  2.4538 
## 
## Coefficients:
##                  Estimate Std. Error t value        Pr(>|t|)    
## (Intercept)      -0.06193    0.03731  -1.660        0.097154 .  
## LTMS_z            0.18711    0.04357   4.295 0.0000188947742 ***
## STMS_z            0.32413    0.04717   6.872 0.0000000000102 ***
## sexFemale         0.10190    0.05788   1.761        0.078557 .  
## LTMS_z:sexFemale  0.22788    0.06343   3.592        0.000341 ***
## STMS_z:sexFemale  0.03613    0.06477   0.558        0.577051    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9452 on 1193 degrees of freedom
## Multiple R-squared:  0.1103, Adjusted R-squared:  0.1065 
## F-statistic: 29.57 on 5 and 1193 DF,  p-value: < 0.00000000000000022

In this model, the relationship between long-term mating orientation and attraction to prestige for males is .19. This is reflected in b1. As indicated by the interaction term b4, the effect was stronger for females by precisely β = .23. As such, the conditional effect for females is β=.19+.23 = .41.

There are several ways to double check this. First, we can switch the dummy-coding (i.e., change the reference group), such that females=0 and males=1. By doing this, b1 becomes the conditional effect for females, and it is indeed β = .41.

#relevel the dummy coded gender variable such that female = 0; male = 1
data <- within(data, sex <- relevel(factor(sex), ref = "Female"))

mod <- lm(pres.attract.TOT.z ~ 
            LTMS_z+
            STMS_z+
            sex+
            LTMS_z * sex+
            STMS_z * sex,
          data = data)
summary(mod)
## 
## Call:
## lm(formula = pres.attract.TOT.z ~ LTMS_z + STMS_z + sex + LTMS_z * 
##     sex + STMS_z * sex, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.6446 -0.6014  0.0569  0.6090  2.4538 
## 
## Coefficients:
##                Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)     0.03997    0.04425   0.903             0.366589    
## LTMS_z          0.41499    0.04610   9.001 < 0.0000000000000002 ***
## STMS_z          0.36026    0.04438   8.117  0.00000000000000118 ***
## sexMale        -0.10190    0.05788  -1.761             0.078557 .  
## LTMS_z:sexMale -0.22788    0.06343  -3.592             0.000341 ***
## STMS_z:sexMale -0.03613    0.06477  -0.558             0.577051    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9452 on 1193 degrees of freedom
## Multiple R-squared:  0.1103, Adjusted R-squared:  0.1065 
## F-statistic: 29.57 on 5 and 1193 DF,  p-value: < 0.00000000000000022

Another way we can check this is by directly conducting simple slopes using emmeans package in R.

# Fit standardized model
mod <- lm(pres.attract.TOT.z ~ 
            LTMS_z+
            STMS_z+
            sex+
            LTMS_z * sex+
            STMS_z * sex,
          data = data)


lt_slopes <- emtrends(mod, ~ sex, var = "LTMS_z")
print(lt_slopes)
##  sex    LTMS_z.trend     SE   df lower.CL upper.CL
##  Female        0.415 0.0461 1193    0.325    0.505
##  Male          0.187 0.0436 1193    0.102    0.273
## 
## Confidence level used: 0.95

Indeed, simple slopes analysis reveals the same effects as listed above.

As a final method to test this, we can subset the data to look at data from males and females separately, conducting separate linear regressions in each subset:

###
### just males
###
mod <- lm(pres.attract.TOT.z ~ 
            LTMS_z+STMS_z,
          data = subset(data, sex == "Male"))
summary(mod)
## 
## Call:
## lm(formula = pres.attract.TOT.z ~ LTMS_z + STMS_z, data = subset(data, 
##     sex == "Male"))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.3703 -0.5999  0.0569  0.6172  2.4538 
## 
## Coefficients:
##             Estimate Std. Error t value        Pr(>|t|)    
## (Intercept) -0.06193    0.03763  -1.646             0.1    
## LTMS_z       0.18711    0.04395   4.258 0.0000234490183 ***
## STMS_z       0.32413    0.04758   6.812 0.0000000000207 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9535 on 701 degrees of freedom
## Multiple R-squared:  0.06824,    Adjusted R-squared:  0.06559 
## F-statistic: 25.67 on 2 and 701 DF,  p-value: 0.00000000001739
###
### just females
###
mod <- lm(pres.attract.TOT.z ~ 
            LTMS_z+STMS_z,
          data = subset(data, sex == "Female"))

summary(mod)
## 
## Call:
## lm(formula = pres.attract.TOT.z ~ LTMS_z + STMS_z, data = subset(data, 
##     sex == "Female"))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.6446 -0.6030  0.0551  0.5993  2.0916 
## 
## Coefficients:
##             Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)  0.03997    0.04369   0.915                0.361    
## LTMS_z       0.41499    0.04553   9.115 < 0.0000000000000002 ***
## STMS_z       0.36026    0.04383   8.220  0.00000000000000182 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9334 on 492 degrees of freedom
## Multiple R-squared:  0.1646, Adjusted R-squared:  0.1612 
## F-statistic: 48.47 on 2 and 492 DF,  p-value: < 0.00000000000000022

You will note that in all cases the conditional effect for males is (β = .19), and females (β = .41) are identical. Furthermore, in the original analysis and the simple slope analysis, the t value, df, and p value are identical because they are testing the same thing (note: these slightly change when we subset by gender because we are no longer using a pooled error term).

Thus, there is no need to further probe the interaction for the conditional effects, as the interaction output directly reports the conditional effects.

Nonetheless, we agree that our manuscript needs several changes to ensure the clarity of our analysis pipeline and findings.

  • First, we now specify that gender was dummy coded:
    “Each model included long-term mating orientation, short-term mating orientation, participant gender (dummy coded: 0 = male, 1 = female), and two interaction terms: participant gender × long-term mating orientation and participant gender × short-term mating orientation” (p. 9).

  • Second, we now explicitly state:
    “When significant interactions emerge, we report simple slopes analyses that depict the conditional effects separately for men and women.” (p. 9).

  • Third, we now explicitly state:
    “All continuous variables were standardized prior to entry into the model.” (pp. 8 and 9).

  • Finally, we now use a more traditional ordering when presenting our results, first establishing the overall interaction and then reporting the conditional effects.

LS0tCnRpdGxlOiAiU1BQUyBSZXZpc2lvbiIKYXV0aG9yOiAiWmFrIFdpdGtvd2VyIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIHRoZW1lOiBsdW1lbgogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogeWVzCiAgICBoaWdobGlnaHQ6IHplbmJ1cm4KICAgIGNvZGVfZG93bmxvYWQ6IHllcwogICAgY29kZV9mb2xkaW5nOiBzaG93CiAgcGRmX2RvY3VtZW50OgogICAgdG9jOiBubwogICAgbGF0ZXhfZW5naW5lOiB4ZWxhdGV4ICAgIyBnb29kIGZvciBVVEYtOAogICAga2VlcF90ZXg6IHRydWUKICAgIGhpZ2hsaWdodDogdGFuZ28KLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0KCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKbGlicmFyeShwc3ljaCkKbGlicmFyeShyZWFkcikKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShzdHJpbmdyKQpsaWJyYXJ5KGxtZTQpCmxpYnJhcnkobG1lclRlc3QpCmxpYnJhcnkobGF2YWFuKQpsaWJyYXJ5KGVmZmVjdHNpemUpCm9wdGlvbnMoc2NpcGVuPTk5OSkgCmxpYnJhcnkoZW1tZWFucykKCgpkYXRhIDwtIHJlYWRfY3N2KCJ+L0Ryb3Bib3gvUmVzZWFyY2gvU3RhdHVzIGFuZCBhdHRyYWN0aW9uL0RBVEEgRk9SIE9TRi9CcmluZyBpbiBHZW5kZXIgaW50ZXJhY3Rpb25zL0ZpbmFsL1N0dWR5IDEuY3N2IikKCmRhdGE8LXN1YnNldChkYXRhLCBhdHRlbnRpb24xa2VlcCA9PSAxKQoKZGF0YSRNTy43LlJDPC0oKGRhdGEkTU8uNykqLTEpKzgKZGF0YSRNTy4xMC5SQzwtKChkYXRhJE1PLjEwKSotMSkrOApkYXRhJE1PLjE0LlJDPC0oKGRhdGEkTU8uMTQpKi0xKSs4CmRhdGEkTU8uMTUuUkM8LSgoZGF0YSRNTy4xNSkqLTEpKzgKZGF0YSRNTy4xNy5SQzwtKChkYXRhJE1PLjE3KSotMSkrOApkYXRhJE1PLjE5LlJDPC0oKGRhdGEkTU8uMTkpKi0xKSs4CgpkYXRhJFNUTVM8LXJvd01lYW5zKGNiaW5kKGRhdGEkTU8uMSwKICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhJE1PLjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSRNTy4zLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEkTU8uNCwKICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhJE1PLjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSRNTy42LAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEkTU8uNy5SQywKICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhJE1PLjgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSRNTy45LAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEkTU8uMTAuUkMpKQoKZGF0YSRMVE1TPC1yb3dNZWFucyhjYmluZChkYXRhJE1PLjExLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEkTU8uMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSRNTy4xMywKICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhJE1PLjE0LlJDLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEkTU8uMTUuUkMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSRNTy4xNiwKICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhJE1PLjE3LlJDLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEkTU8uMTgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSRNTy4xOS5SQywKICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhJE1PLjIwKSkKCmRhdGEkZG9tLmF0dHJhY3QuVE9UPC1yb3dNZWFucyhjYmluZChkYXRhJGRvbTEsZGF0YSRkb20yLCBkYXRhJGRvbTMsIGRhdGEkZG9tNCkpCmRhdGEkcHJlcy5hdHRyYWN0LlRPVDwtcm93TWVhbnMoY2JpbmQoZGF0YSRwcmVzMSxkYXRhJHByZXMyLCBkYXRhJHByZXMzLCBkYXRhJHByZXM0KSkKZGF0YSA8LSB0aWJibGU6OnJvd2lkX3RvX2NvbHVtbihkYXRhLCAiSUQiKQoKZGF0YSRzZXhbZGF0YSRzZXggPT0gMV08LSJNYWxlIgpkYXRhJHNleFtkYXRhJHNleCA9PSAyXTwtIkZlbWFsZSIKCmRhdGEgPC0gd2l0aGluKGRhdGEsIHNleCA8LSByZWxldmVsKGZhY3RvcihzZXgpLCByZWYgPSAiTWFsZSIpKQpgYGAKCiMgUmVzcG9uc2UgdG8gUXVlc3Rpb24gNAoKVGhhbmsgeW91IGZvciB0aGUgb3Bwb3J0dW5pdHkgdG8gZnVydGhlciBjbGFyaWZ5IG91ciBjb25kaXRpb25hbCBlZmZlY3RzLiBUaGUgbW9kZWxzIHlvdSBtZW50aW9uIGluIHlvdXIgcmV2aWV3IGFyZSB0aGUgcHJlY2lzZSBtb2RlbHMgd2UgdXNlZCB0byBhbmFseXplIHRoZSBkYXRhOgoKJCQKRFZfe1x0ZXh0e0F0dHJEb219fSA9IGEgKyBiXzEgXHRpbWVzIExUICsgYl8yIFx0aW1lcyBTVCArIGJfMyBcdGltZXMgR2VuZGVyICsgYl80IFx0aW1lcyAoTFQgXHRpbWVzIEdlbmRlcikgKyBiXzUgXHRpbWVzIChTVCBcdGltZXMgR2VuZGVyKSArIGUKJCQKCiQkCkRWX3tcdGV4dHtBdHRyUHJlc319ID0gYSArIGJfMSBcdGltZXMgTFQgKyBiXzIgXHRpbWVzIFNUICsgYl8zIFx0aW1lcyBHZW5kZXIgKyBiXzQgXHRpbWVzIChMVCBcdGltZXMgR2VuZGVyKSArIGJfNSBcdGltZXMgKFNUIFx0aW1lcyBHZW5kZXIpICsgZQokJAoKSW5jbHVkaW5nIGFuIGludGVyYWN0aW9uIHRlcm0gaW4gYSByZWdyZXNzaW9uIGZyYW1ld29yayBzdWJzdGFudGlhbGx5IGNoYW5nZXMgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBjb2VmZmljaWVudHMuIFVubGlrZSBpbiBhbiBBTk9WQSBmcmFtZXdvcmvigJR3aGVyZSBtYWluIGVmZmVjdHMgYXJlIHJlcG9ydGVkIHNlcGFyYXRlbHkgYW5kIGEgc2lnbmlmaWNhbnQgaW50ZXJhY3Rpb24gbXVzdCBiZSBwcm9iZWQgd2l0aCBmb2xsb3ctdXAgcGFpcndpc2UgY29tcGFyaXNvbnPigJRyZWdyZXNzaW9uIG1vZGVscyB3aXRoIGludGVyYWN0aW9ucyBkaXJlY3RseSB5aWVsZCBjb25kaXRpb25hbCBlZmZlY3RzLiBJbiBvdXIgbW9kZWwsIPCdkY8xKHRoZSBlZmZlY3Qgb2YgTFRNTyBvbiBhdHRyYWN0aW9uIHRvIGRvbWluYW5jZSkgcmVwcmVzZW50cyB0aGUgY29uZGl0aW9uYWwgZWZmZWN0IGZvciBtZW4gKGdlbmRlciA9IDAsIGFzIGdlbmRlciB3YXMgZHVtbXktY29kZWQgd2l0aCBtYWxlID0gMCBhbmQgZmVtYWxlID0gMSkuIFRoZSBpbnRlcmFjdGlvbiBjb2VmZmljaWVudCwg8J2RjzQsIGluZGljYXRlcyBob3cgbXVjaCB0aGlzIHJlbGF0aW9uc2hpcCBjaGFuZ2VzIGZvciB3b21lbiAoZ2VuZGVyID0gMSkuIFRodXMsIPCdkY8xY2FwdHVyZXMgdGhlIGNvbmRpdGlvbmFsIGVmZmVjdCBmb3IgbWVuLCB3aGlsZSDwnZGPMSvwnZGPNCBjYXB0dXJlcyB0aGUgY29uZGl0aW9uYWwgZWZmZWN0IGZvciB3b21lbi4gSW4gb3RoZXIgd29yZHMsIHRoZSByZWdyZXNzaW9uIG91dHB1dCBpdHNlbGYgcHJvdmlkZXMgdGhlIGNvbmRpdGlvbmFsIGVmZmVjdHMgZm9yIGJvdGggZ2VuZGVycywgZWxpbWluYXRpbmcgdGhlIG5lZWQgZm9yIGFkZGl0aW9uYWwgcGFpcndpc2UgY29tcGFyaXNvbnMuIEZvciBjbGFyaXR5LCB3ZSBwcm92aWRlIGFuIGVtcGlyaWNhbCBkZW1vbnN0cmF0aW9uIG9mIHRoaXMgYmVsb3cuCgojIEVtcGlyaWNhbCBkZW1vbnN0cmF0aW9uIG9mIG91ciBmaW5kaW5nczoKCkluIHRoZSBtYW51c2NyaXB0IHdlIHN0YXRlIHRoZSBmb2xsb3dpbmcgd2hlbiByZXBvcnRpbmcgYXR0cmFjdGlvbiB0byBwcmVzdGlnZToKCuKAnGxvbmctdGVybSBtYXRpbmcgb3JpZW50YXRpb24gc2lnbmlmaWNhbnRseSBwb3NpdGl2ZWx5IHByZWRpY3RlZCBhdHRyYWN0aW9uIHRvIHByZXN0aWdlIGZvciBib3RoIG1lbiwgzrIgPSAuMTksIHQoMTE5MykgPSA0LjMwLCBwIDwgLjAwMSwgYW5kIHdvbWVuLCDOsiA9IC40MSwgdCgxMTkzKSA9IDkuMDAsIHAgPCAuMDAxLCBhbGJlaXQgc2lnbmlmaWNhbnRseSBzdHJvbmdlciBmb3Igd29tZW4sIM6yID0gLS4yMywgdCgxMTkzKSA9IC0zLjU5LCBwIDwgLjAwMS4g4oCdIChwLiAxMCkuIAoKVG8gZXN0YWJsaXNoIHRoaXMsIHdlIGNvbnN0cnVjdGVkIHRoZSBmb2xsb3dpbmcgbW9kZWw6IAoKYGBge3IgfQojIHRvIHJlcG9ydCBzdGFuZGFyZGl6ZWQgYmV0YXMsIGFsbCBjb250aW51b3VzIHZhcmlhYmxlcyBhcmUgc3RhbmRhcmRpemVkIHByaW9yIHRvIGVudHJ5IGludG8gbW9kZWw6CmRhdGEkcHJlcy5hdHRyYWN0LlRPVC56ICA8LSBzY2FsZShkYXRhJHByZXMuYXR0cmFjdC5UT1QpWywxXQpkYXRhJFNUTVNfeiA8LSBzY2FsZShkYXRhJFNUTVMpWywxXQpkYXRhJExUTVNfeiA8LSBzY2FsZShkYXRhJExUTVMpWywxXQoKCm1vZCA8LSBsbShwcmVzLmF0dHJhY3QuVE9ULnogfiAKICAgICAgICAgICAgTFRNU196KyAKICAgICAgICAgICAgU1RNU196KyAKICAgICAgICAgICAgc2V4KyAKICAgICAgICAgICAgTFRNU196ICogc2V4KwogICAgICAgICAgICBTVE1TX3ogKiBzZXgsCiAgICAgICAgICBkYXRhID0gZGF0YSkKc3VtbWFyeShtb2QpCmBgYAoKCkluIHRoaXMgbW9kZWwsIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBsb25nLXRlcm0gbWF0aW5nIG9yaWVudGF0aW9uIGFuZCBhdHRyYWN0aW9uIHRvIHByZXN0aWdlIGZvciAqbWFsZXMqIGlzIC4xOS4gVGhpcyBpcyByZWZsZWN0ZWQgaW4gYjEuIEFzIGluZGljYXRlZCBieSB0aGUgaW50ZXJhY3Rpb24gdGVybSBiNCwgdGhlIGVmZmVjdCB3YXMgc3Ryb25nZXIgZm9yIGZlbWFsZXMgYnkgcHJlY2lzZWx5IM6yID0gLjIzLiBBcyBzdWNoLCB0aGUgY29uZGl0aW9uYWwgZWZmZWN0IGZvciAqZmVtYWxlcyogaXMgzrI9LjE5Ky4yMyA9ICoqLjQxKiouIAoKVGhlcmUgYXJlIHNldmVyYWwgd2F5cyB0byBkb3VibGUgY2hlY2sgdGhpcy4gRmlyc3QsIHdlIGNhbiBzd2l0Y2ggdGhlIGR1bW15LWNvZGluZyAoaS5lLiwgY2hhbmdlIHRoZSByZWZlcmVuY2UgZ3JvdXApLCBzdWNoIHRoYXQgZmVtYWxlcz0wIGFuZCBtYWxlcz0xLiBCeSBkb2luZyB0aGlzLCBiMSBiZWNvbWVzIHRoZSBjb25kaXRpb25hbCBlZmZlY3QgZm9yIGZlbWFsZXMsIGFuZCBpdCBpcyBpbmRlZWQgzrIgPSAuNDEuIAoKYGBge3IgfQojcmVsZXZlbCB0aGUgZHVtbXkgY29kZWQgZ2VuZGVyIHZhcmlhYmxlIHN1Y2ggdGhhdCBmZW1hbGUgPSAwOyBtYWxlID0gMQpkYXRhIDwtIHdpdGhpbihkYXRhLCBzZXggPC0gcmVsZXZlbChmYWN0b3Ioc2V4KSwgcmVmID0gIkZlbWFsZSIpKQoKbW9kIDwtIGxtKHByZXMuYXR0cmFjdC5UT1QueiB+IAogICAgICAgICAgICBMVE1TX3orCiAgICAgICAgICAgIFNUTVNfeisKICAgICAgICAgICAgc2V4KwogICAgICAgICAgICBMVE1TX3ogKiBzZXgrCiAgICAgICAgICAgIFNUTVNfeiAqIHNleCwKICAgICAgICAgIGRhdGEgPSBkYXRhKQpzdW1tYXJ5KG1vZCkKYGBgCgoKQW5vdGhlciB3YXkgd2UgY2FuIGNoZWNrIHRoaXMgaXMgYnkgZGlyZWN0bHkgY29uZHVjdGluZyBzaW1wbGUgc2xvcGVzIHVzaW5nIGVtbWVhbnMgcGFja2FnZSBpbiBSLgoKYGBge3IgfQoKIyBGaXQgc3RhbmRhcmRpemVkIG1vZGVsCm1vZCA8LSBsbShwcmVzLmF0dHJhY3QuVE9ULnogfiAKICAgICAgICAgICAgTFRNU196KwogICAgICAgICAgICBTVE1TX3orCiAgICAgICAgICAgIHNleCsKICAgICAgICAgICAgTFRNU196ICogc2V4KwogICAgICAgICAgICBTVE1TX3ogKiBzZXgsCiAgICAgICAgICBkYXRhID0gZGF0YSkKCgpsdF9zbG9wZXMgPC0gZW10cmVuZHMobW9kLCB+IHNleCwgdmFyID0gIkxUTVNfeiIpCnByaW50KGx0X3Nsb3BlcykKCgpgYGAKSW5kZWVkLCBzaW1wbGUgc2xvcGVzIGFuYWx5c2lzIHJldmVhbHMgdGhlIHNhbWUgZWZmZWN0cyBhcyBsaXN0ZWQgYWJvdmUuIAoKQXMgYSBmaW5hbCBtZXRob2QgdG8gdGVzdCB0aGlzLCB3ZSBjYW4gc3Vic2V0IHRoZSBkYXRhIHRvIGxvb2sgYXQgZGF0YSBmcm9tIG1hbGVzIGFuZCBmZW1hbGVzIHNlcGFyYXRlbHksIGNvbmR1Y3Rpbmcgc2VwYXJhdGUgbGluZWFyIHJlZ3Jlc3Npb25zIGluIGVhY2ggc3Vic2V0OiAKCmBgYHtyIH0KIyMjCiMjIyBqdXN0IG1hbGVzCiMjIwptb2QgPC0gbG0ocHJlcy5hdHRyYWN0LlRPVC56IH4gCiAgICAgICAgICAgIExUTVNfeitTVE1TX3osCiAgICAgICAgICBkYXRhID0gc3Vic2V0KGRhdGEsIHNleCA9PSAiTWFsZSIpKQpzdW1tYXJ5KG1vZCkKCgoKIyMjCiMjIyBqdXN0IGZlbWFsZXMKIyMjCm1vZCA8LSBsbShwcmVzLmF0dHJhY3QuVE9ULnogfiAKICAgICAgICAgICAgTFRNU196K1NUTVNfeiwKICAgICAgICAgIGRhdGEgPSBzdWJzZXQoZGF0YSwgc2V4ID09ICJGZW1hbGUiKSkKCnN1bW1hcnkobW9kKQpgYGAKCllvdSB3aWxsIG5vdGUgdGhhdCBpbiBhbGwgY2FzZXMgdGhlIGNvbmRpdGlvbmFsIGVmZmVjdCBmb3IgbWFsZXMgaXMgKM6yID0gLjE5KSwgYW5kIGZlbWFsZXMgKM6yID0gLjQxKSBhcmUgaWRlbnRpY2FsLiBGdXJ0aGVybW9yZSwgaW4gdGhlIG9yaWdpbmFsIGFuYWx5c2lzIGFuZCB0aGUgc2ltcGxlIHNsb3BlIGFuYWx5c2lzLCB0aGUgdCB2YWx1ZSwgZGYsIGFuZCBwIHZhbHVlIGFyZSBpZGVudGljYWwgYmVjYXVzZSB0aGV5IGFyZSB0ZXN0aW5nIHRoZSBzYW1lIHRoaW5nIChub3RlOiB0aGVzZSBzbGlnaHRseSBjaGFuZ2Ugd2hlbiB3ZSBzdWJzZXQgYnkgZ2VuZGVyIGJlY2F1c2Ugd2UgYXJlIG5vIGxvbmdlciB1c2luZyBhIHBvb2xlZCBlcnJvciB0ZXJtKS4gCgpUaHVzLCB0aGVyZSBpcyBubyBuZWVkIHRvIGZ1cnRoZXIgcHJvYmUgdGhlIGludGVyYWN0aW9uIGZvciB0aGUgY29uZGl0aW9uYWwgZWZmZWN0cywgYXMgdGhlIGludGVyYWN0aW9uIG91dHB1dCBkaXJlY3RseSByZXBvcnRzIHRoZSBjb25kaXRpb25hbCBlZmZlY3RzLgoKTm9uZXRoZWxlc3MsIHdlIGFncmVlIHRoYXQgb3VyIG1hbnVzY3JpcHQgbmVlZHMgc2V2ZXJhbCBjaGFuZ2VzIHRvIGVuc3VyZSB0aGUgY2xhcml0eSBvZiBvdXIgYW5hbHlzaXMgcGlwZWxpbmUgYW5kIGZpbmRpbmdzLiAgCgotICoqRmlyc3QqKiwgd2Ugbm93IHNwZWNpZnkgdGhhdCBnZW5kZXIgd2FzIGR1bW15IGNvZGVkOiAgCiAgKuKAnEVhY2ggbW9kZWwgaW5jbHVkZWQgbG9uZy10ZXJtIG1hdGluZyBvcmllbnRhdGlvbiwgc2hvcnQtdGVybSBtYXRpbmcgb3JpZW50YXRpb24sIHBhcnRpY2lwYW50IGdlbmRlciAoZHVtbXkgY29kZWQ6IDAgPSBtYWxlLCAxID0gZmVtYWxlKSwgYW5kIHR3byBpbnRlcmFjdGlvbiB0ZXJtczogcGFydGljaXBhbnQgZ2VuZGVyIMOXIGxvbmctdGVybSBtYXRpbmcgb3JpZW50YXRpb24gYW5kIHBhcnRpY2lwYW50IGdlbmRlciDDlyBzaG9ydC10ZXJtIG1hdGluZyBvcmllbnRhdGlvbuKAnSogKHAuIDkpLiAgCgotICoqU2Vjb25kKiosIHdlIG5vdyBleHBsaWNpdGx5IHN0YXRlOiAgCiAgKuKAnFdoZW4gc2lnbmlmaWNhbnQgaW50ZXJhY3Rpb25zIGVtZXJnZSwgd2UgcmVwb3J0IHNpbXBsZSBzbG9wZXMgYW5hbHlzZXMgdGhhdCBkZXBpY3QgdGhlIGNvbmRpdGlvbmFsIGVmZmVjdHMgc2VwYXJhdGVseSBmb3IgbWVuIGFuZCB3b21lbi7igJ0qIChwLiA5KS4gIAoKLSAqKlRoaXJkKiosIHdlIG5vdyBleHBsaWNpdGx5IHN0YXRlOiAgCiAgKuKAnEFsbCBjb250aW51b3VzIHZhcmlhYmxlcyB3ZXJlIHN0YW5kYXJkaXplZCBwcmlvciB0byBlbnRyeSBpbnRvIHRoZSBtb2RlbC7igJ0qIChwcC4gOCBhbmQgOSkuICAKCi0gKipGaW5hbGx5KiosIHdlIG5vdyB1c2UgYSBtb3JlIHRyYWRpdGlvbmFsIG9yZGVyaW5nIHdoZW4gcHJlc2VudGluZyBvdXIgcmVzdWx0cywgZmlyc3QgZXN0YWJsaXNoaW5nIHRoZSBvdmVyYWxsIGludGVyYWN0aW9uIGFuZCB0aGVuIHJlcG9ydGluZyB0aGUgY29uZGl0aW9uYWwgZWZmZWN0cy4gIAoKCgoKCgoKCg==