Krister Martinez
3
A researcher is interested in studying three types of fertilization
methods (100 lb., 150 lb., and 200 lb.) and two levels of irrigation (A
and B) on biomass yield. The possible treatment combinations were
randomly assigned to 30 plots of land, where each treatment was assigned
the same number of plots. We are using the Biomass.csv. Use a
significance level of 0.05.
Biomass_DF = read.csv ("Biomass.csv",colClasses = c("numeric","factor","factor"))
summary(Biomass_DF)
biomass fertilizer irrigation
Min. :2250 100:10 A:15
1st Qu.:2871 150:10 B:15
Median :3172 200:10
Mean :3076
3rd Qu.:3286
Max. :3600
str(Biomass_DF)
'data.frame': 30 obs. of 3 variables:
$ biomass : num 3250 3151 3300 3290 3300 ...
$ fertilizer: Factor w/ 3 levels "100","150","200": 1 1 1 1 1 2 2 2 2 2 ...
$ irrigation: Factor w/ 2 levels "A","B": 1 1 1 1 1 1 1 1 1 1 ...
Once you do that, a data frame called “Biomass_DF” will be available
in R with the data you need to answer this question.
Number of replications taken in this study. # observations = #
treatments * # replicates 30 = 6 * # replicates 30 / 6 = 5
replicates
Identify: The outcome variable biomass yield
The factor (or factors) Fertilizer Irrigation
The levels of the factor (or levels of the factors) Fertilizer with 3
levels: 100, 150 and 200. Irrigation with 2 levels: A and B
The hypotheses to run ANOVA.
For the effect of fertilizer Ho: The biomass yield is the same for
all 3 fertilizer levels (100, 150, and 200). Ha: There is a difference
in biomass yield for at least 2 fertilizers.
For the effect of irrigation Ho: The biomass yield is the same for
all 2 irrigation levels (A and B) Ha: There is a difference in biomass
yield for at least 2 irrigation levels
For the interaction between fertilizer and irrigation Ho: There is no
interaction effect: The effect of fertilizer on the biomass does NOT
depend on the irrigation Ha: There is is interaction effect: The effect
of fetilizer on the biomass depends on the irrication
Analyze the results and discuss which effects (among all possible
effects) are statistically significant. Justify your answer.
# run Anova
twoway_Biomass = aov(biomass ~ fertilizer * irrigation, data=Biomass_DF)
summary(twoway_Biomass)
Df Sum Sq Mean Sq F value Pr(>F)
fertilizer 2 500454 250227 3.536 0.04508 *
irrigation 1 707175 707175 9.994 0.00422 **
fertilizer:irrigation 2 557130 278565 3.937 0.03322 *
Residuals 24 1698195 70758
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
In the case of the fertilizer effect the p-value is 0.04508 < 0.05
therefore we will reject Ho and support Ha:There is a difference in mean
biomass for at least two fertilizer.
In the case of the irrigation irrigation effect the p-value = 0.00422
< 0.05 therefore we will reject Ho and support Ha: There is a
difference in both irrigation (A and B).
In the interaction between fertilizer & irrigation the p-value =
0.03322 < 0.05 therefore we reject Ho and support Ha:There is an
interaction effect (The effect of fertilization on biomass depends on
the type of irrigation.)
- Construct the interaction plot and explain why it clearly shows the
presence of interaction in this problem.
interaction.plot (Biomass_DF$fertilizer, Biomass_DF$irrigation, Biomass_DF$biomass)

The graphic shows that the biomass mean has better yields at lower
levels of fertilizers 100 and 150 with irrigation A. On the contrast,
under irrigation B the level of fertilizer 200 performs better as far as
the biomass yield.
A study is done to determine if there is a difference in the average
strength of a filament fiber produced by three machines. Researchers are
also interested in studying the possible effect of changing the filament
diameter on strength. Researchers decided to do the analysis using an
alpha of 0.10.
Filament_DF = read.csv ("Filament.csv",colClasses = c("numeric","factor","factor"))
summary(Filament_DF)
strength diameter machine
Min. :32.0 20:5 M1:5
1st Qu.:36.5 24:5 M2:5
Median :40.0 28:5 M3:5
Mean :40.2
3rd Qu.:43.0
Max. :49.0
str(Filament_DF)
'data.frame': 15 obs. of 3 variables:
$ strength: num 36 41 39 42 49 40 48 39 45 44 ...
$ diameter: Factor w/ 3 levels "20","24","28": 1 2 3 1 2 3 1 2 3 1 ...
$ machine : Factor w/ 3 levels "M1","M2","M3": 1 1 1 1 1 2 2 2 2 2 ...
Identify: The outcome variable: The strenght of he filament
The factor (or factors): The diameter of the filament The machine
type
The levels of the factor (or levels of the factors): Diameter with 3
levels: 20, 24 and 28 Machine with 3 levels: M1, M2 and M3
Analyze the results and discuss which effects (among all possible
effects) are statistically significant. Justify your answer.
twoway_filament = aov(strength ~ diameter * machine, data=Filament_DF)
summary(twoway_filament)
Df Sum Sq Mean Sq F value Pr(>F)
diameter 2 38.8 19.40 1.394 0.3183
machine 2 120.9 60.43 4.343 0.0682 .
diameter:machine 4 103.2 25.81 1.854 0.2377
Residuals 6 83.5 13.92
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Diameter P-value 0.3183. Since this p-value is greater than α = 0.10,
there is not enough evidence to reject the null hypothesis. This means
we cannot conclude that the diameter has a statistically significant
effect on filament strength.
Machine P-value 0.0682: Since this p-value is less than α = 0.10,
there is enough evidence to reject the null hypothesis. This means that
the type of machine does have a statistically significant effect on
filament strength at the 10% significance level.
Interaction diameter:machine P-value 0.2377: This p-value is greater
than α = 0.10, so there’s not enough evidence to reject the null
hypothesis for the interaction effect. This means that there isn’t a
statistically significant interaction between diameter and machine type
on filament strength.
Obtain an estimation of the average strength produced by each of the
three machines.
sort(tapply(Filament_DF$strength, Filament_DF$machine, mean))
M3 M1 M2
36.0 41.4 43.2
In this graph we are visualizing the distribution of strength across
different machines, grouped by diameter. Here the x-axis represents the
different machines, the y-axis represents filament strength, and
different colors represent different filament diameters.
# Loading required libraries
install.packages("ggplot2")
Error in install.packages : Updating loaded packages
library(ggplot2)
# Box plot with diameter labels
p <- ggplot(Filament_DF, aes(x = machine, y = strength, fill = factor(diameter))) +
geom_boxplot() +
geom_text(aes(label=factor(diameter), group=factor(diameter)),
position=position_dodge(width=0.75),
vjust=-0.5) +
labs(title = "Box Plot of Filament Strength by Machine and Diameter",
x = "Machine",
y = "Strength",
fill = "Diameter") +
theme_minimal()
print(p)

In this boxplot graph we can clearly see the differences in the
strength of the filament and the machines that make the filament by the
filament diameter.
The strongest filament is produced by the M2 with a 20 diameter with
an strength of around 46 and weakest would be produce by M3 with a
diameter of 24 and 28 and a strength of around 24.
We can also see that the machine factor does have a statistically
significant effect on filament strength because of the individual box
plot by diameter are not overlapping for M1 and M3 for 2 diameters, 24
and 28.
The end
Krister
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCktyaXN0ZXIgTWFydGluZXoNCg0KMw0KDQpBIHJlc2VhcmNoZXIgaXMgaW50ZXJlc3RlZCBpbiBzdHVkeWluZyB0aHJlZSB0eXBlcyBvZiBmZXJ0aWxpemF0aW9uIG1ldGhvZHMgKDEwMCBsYi4sIDE1MCBsYi4sIGFuZCAyMDAgbGIuKSBhbmQgdHdvIGxldmVscyBvZiBpcnJpZ2F0aW9uIChBIGFuZCBCKSBvbiBiaW9tYXNzIHlpZWxkLiBUaGUgcG9zc2libGUgdHJlYXRtZW50IGNvbWJpbmF0aW9ucyB3ZXJlIHJhbmRvbWx5IGFzc2lnbmVkIHRvIDMwIHBsb3RzIG9mIGxhbmQsIHdoZXJlIGVhY2ggdHJlYXRtZW50IHdhcyBhc3NpZ25lZCB0aGUgc2FtZSBudW1iZXIgb2YgcGxvdHMuIFdlIGFyZSB1c2luZyB0aGUgQmlvbWFzcy5jc3YuICBVc2UgYSBzaWduaWZpY2FuY2UgbGV2ZWwgb2YgMC4wNS4NCg0KDQpgYGB7cn0NCkJpb21hc3NfREYgPSByZWFkLmNzdiAoIkJpb21hc3MuY3N2Iixjb2xDbGFzc2VzID0gYygibnVtZXJpYyIsImZhY3RvciIsImZhY3RvciIpKSANCg0Kc3VtbWFyeShCaW9tYXNzX0RGKQ0KYGBgDQoNCmBgYHtyfQ0Kc3RyKEJpb21hc3NfREYpDQpgYGANCg0KDQpPbmNlIHlvdSBkbyB0aGF0LCBhIGRhdGEgZnJhbWUgY2FsbGVkIOKAnEJpb21hc3NfREbigJ0gd2lsbCBiZSBhdmFpbGFibGUgaW4gUiB3aXRoIHRoZSBkYXRhIHlvdSBuZWVkIHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLg0KDQpOdW1iZXIgb2YgcmVwbGljYXRpb25zIHRha2VuIGluIHRoaXMgc3R1ZHkuDQogIyBvYnNlcnZhdGlvbnMgPSAjIHRyZWF0bWVudHMgKiAjIHJlcGxpY2F0ZXMNCjMwID0gNiAqICMgcmVwbGljYXRlcw0KMzAgLyA2ID0gNSByZXBsaWNhdGVzDQoNCklkZW50aWZ5Og0KVGhlIG91dGNvbWUgdmFyaWFibGUNCmJpb21hc3MgeWllbGQNCg0KVGhlIGZhY3RvciAob3IgZmFjdG9ycykNCkZlcnRpbGl6ZXINCklycmlnYXRpb24NCg0KVGhlIGxldmVscyBvZiB0aGUgZmFjdG9yIChvciBsZXZlbHMgb2YgdGhlIGZhY3RvcnMpDQpGZXJ0aWxpemVyIHdpdGggMyBsZXZlbHM6IDEwMCwgMTUwIGFuZCAyMDAuDQpJcnJpZ2F0aW9uIHdpdGggMiBsZXZlbHM6IEEgYW5kIEINCg0KVGhlIGh5cG90aGVzZXMgdG8gcnVuIEFOT1ZBLg0KDQpGb3IgdGhlIGVmZmVjdCBvZiBmZXJ0aWxpemVyDQpIbzogVGhlIGJpb21hc3MgeWllbGQgaXMgdGhlIHNhbWUgZm9yIGFsbCAzIGZlcnRpbGl6ZXIgbGV2ZWxzICgxMDAsIDE1MCwgYW5kIDIwMCkuIA0KSGE6IFRoZXJlIGlzIGEgZGlmZmVyZW5jZSBpbiBiaW9tYXNzIHlpZWxkIGZvciBhdCBsZWFzdCAyIGZlcnRpbGl6ZXJzLg0KDQpGb3IgdGhlIGVmZmVjdCBvZiBpcnJpZ2F0aW9uDQpIbzogVGhlIGJpb21hc3MgeWllbGQgaXMgdGhlIHNhbWUgZm9yIGFsbCAyIGlycmlnYXRpb24gbGV2ZWxzIChBIGFuZCBCKSANCkhhOiBUaGVyZSBpcyBhIGRpZmZlcmVuY2UgaW4gYmlvbWFzcyB5aWVsZCBmb3IgYXQgbGVhc3QgMiBpcnJpZ2F0aW9uIGxldmVscw0KDQpGb3IgdGhlIGludGVyYWN0aW9uIGJldHdlZW4gZmVydGlsaXplciBhbmQgaXJyaWdhdGlvbg0KSG86IFRoZXJlIGlzIG5vIGludGVyYWN0aW9uIGVmZmVjdDogVGhlIGVmZmVjdCBvZiBmZXJ0aWxpemVyIG9uIHRoZSBiaW9tYXNzIGRvZXMgTk9UIGRlcGVuZCBvbiB0aGUgaXJyaWdhdGlvbiANCkhhOiBUaGVyZSBpcyBpcyBpbnRlcmFjdGlvbiBlZmZlY3Q6ICBUaGUgZWZmZWN0IG9mIGZldGlsaXplciBvbiB0aGUgYmlvbWFzcyBkZXBlbmRzIG9uIHRoZSBpcnJpY2F0aW9uDQoNCkFuYWx5emUgdGhlIHJlc3VsdHMgYW5kIGRpc2N1c3Mgd2hpY2ggZWZmZWN0cyAoYW1vbmcgYWxsIHBvc3NpYmxlIGVmZmVjdHMpIGFyZSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LiBKdXN0aWZ5IHlvdXIgYW5zd2VyLg0KDQpgYGB7cn0NCiMgcnVuIEFub3ZhIA0KdHdvd2F5X0Jpb21hc3MgPSBhb3YoYmlvbWFzcyB+IGZlcnRpbGl6ZXIgKiBpcnJpZ2F0aW9uLCBkYXRhPUJpb21hc3NfREYpDQoNCnN1bW1hcnkodHdvd2F5X0Jpb21hc3MpDQoNCmBgYA0KDQpJbiB0aGUgY2FzZSBvZiB0aGUgZmVydGlsaXplciBlZmZlY3QgdGhlIHAtdmFsdWUgaXMgMC4wNDUwOCA8IDAuMDUgdGhlcmVmb3JlIHdlIHdpbGwgcmVqZWN0IEhvIGFuZCBzdXBwb3J0IEhhOlRoZXJlIGlzIGEgZGlmZmVyZW5jZSBpbiBtZWFuIGJpb21hc3MgZm9yIGF0IGxlYXN0IHR3byBmZXJ0aWxpemVyLiANCg0KSW4gdGhlIGNhc2Ugb2YgdGhlIGlycmlnYXRpb24gaXJyaWdhdGlvbiBlZmZlY3QgdGhlIHAtdmFsdWUgPSAwLjAwNDIyIDwgMC4wNSB0aGVyZWZvcmUgd2Ugd2lsbCByZWplY3QgSG8gYW5kIHN1cHBvcnQgSGE6IFRoZXJlIGlzIGEgZGlmZmVyZW5jZSBpbiBib3RoIGlycmlnYXRpb24gKEEgYW5kIEIpLiANCg0KSW4gdGhlIGludGVyYWN0aW9uIGJldHdlZW4gZmVydGlsaXplciAmIGlycmlnYXRpb24gdGhlIHAtdmFsdWUgPSAwLjAzMzIyIDwgMC4wNSB0aGVyZWZvcmUgd2UgcmVqZWN0IEhvIGFuZCBzdXBwb3J0IEhhOlRoZXJlIGlzIGFuIGludGVyYWN0aW9uIGVmZmVjdCAoVGhlIGVmZmVjdCBvZiBmZXJ0aWxpemF0aW9uIG9uIGJpb21hc3MgZGVwZW5kcyBvbiB0aGUgdHlwZSBvZiBpcnJpZ2F0aW9uLikNCg0KZSkgQ29uc3RydWN0IHRoZSBpbnRlcmFjdGlvbiBwbG90IGFuZCBleHBsYWluIHdoeSBpdCBjbGVhcmx5IHNob3dzIHRoZSBwcmVzZW5jZSBvZiBpbnRlcmFjdGlvbiBpbiB0aGlzIHByb2JsZW0uDQoNCmBgYHtyfQ0KaW50ZXJhY3Rpb24ucGxvdCAoQmlvbWFzc19ERiRmZXJ0aWxpemVyLCBCaW9tYXNzX0RGJGlycmlnYXRpb24sIEJpb21hc3NfREYkYmlvbWFzcykNCmBgYA0KDQpUaGUgZ3JhcGhpYyBzaG93cyB0aGF0ICB0aGUgYmlvbWFzcyBtZWFuIGhhcyBiZXR0ZXIgeWllbGRzIGF0IGxvd2VyIGxldmVscyBvZiBmZXJ0aWxpemVycyAxMDAgYW5kIDE1MCB3aXRoIGlycmlnYXRpb24gQS4gIE9uIHRoZSBjb250cmFzdCwgdW5kZXIgaXJyaWdhdGlvbiBCIHRoZSBsZXZlbCBvZiBmZXJ0aWxpemVyIDIwMCBwZXJmb3JtcyBiZXR0ZXIgYXMgZmFyIGFzIHRoZSBiaW9tYXNzIHlpZWxkLg0KDQoNCg0KQSBzdHVkeSBpcyBkb25lIHRvIGRldGVybWluZSBpZiB0aGVyZSBpcyBhIGRpZmZlcmVuY2UgaW4gdGhlIGF2ZXJhZ2Ugc3RyZW5ndGggb2YgYSBmaWxhbWVudCBmaWJlciBwcm9kdWNlZCBieSB0aHJlZSBtYWNoaW5lcy4gUmVzZWFyY2hlcnMgYXJlIGFsc28gaW50ZXJlc3RlZCBpbiBzdHVkeWluZyB0aGUgcG9zc2libGUgZWZmZWN0IG9mIGNoYW5naW5nIHRoZSBmaWxhbWVudCBkaWFtZXRlciBvbiBzdHJlbmd0aC4gUmVzZWFyY2hlcnMgZGVjaWRlZCB0byBkbyB0aGUgYW5hbHlzaXMgdXNpbmcgYW4gYWxwaGEgb2YgMC4xMC4gDQoNCg0KYGBge3J9DQoNCkZpbGFtZW50X0RGID0gcmVhZC5jc3YgKCJGaWxhbWVudC5jc3YiLGNvbENsYXNzZXMgPSBjKCJudW1lcmljIiwiZmFjdG9yIiwiZmFjdG9yIikpDQoNCnN1bW1hcnkoRmlsYW1lbnRfREYpDQoNCmBgYA0KDQpgYGB7cn0NCg0Kc3RyKEZpbGFtZW50X0RGKQ0KDQpgYGANCg0KDQpJZGVudGlmeToNClRoZSBvdXRjb21lIHZhcmlhYmxlOg0KVGhlIHN0cmVuZ2h0IG9mIGhlIGZpbGFtZW50DQoNClRoZSBmYWN0b3IgKG9yIGZhY3RvcnMpOg0KVGhlIGRpYW1ldGVyIG9mIHRoZSBmaWxhbWVudA0KVGhlIG1hY2hpbmUgdHlwZQ0KDQpUaGUgbGV2ZWxzIG9mIHRoZSBmYWN0b3IgKG9yIGxldmVscyBvZiB0aGUgZmFjdG9ycyk6DQpEaWFtZXRlciB3aXRoIDMgbGV2ZWxzOiAyMCwgMjQgYW5kIDI4DQpNYWNoaW5lIHdpdGggMyBsZXZlbHM6IE0xLCBNMiBhbmQgTTMNCg0KDQpBbmFseXplIHRoZSByZXN1bHRzIGFuZCBkaXNjdXNzIHdoaWNoIGVmZmVjdHMgKGFtb25nIGFsbCBwb3NzaWJsZSBlZmZlY3RzKSBhcmUgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudC4gSnVzdGlmeSB5b3VyIGFuc3dlci4NCg0KYGBge3J9DQoNCnR3b3dheV9maWxhbWVudCA9IGFvdihzdHJlbmd0aCB+IGRpYW1ldGVyICogbWFjaGluZSwgZGF0YT1GaWxhbWVudF9ERikNCg0Kc3VtbWFyeSh0d293YXlfZmlsYW1lbnQpDQoNCmBgYA0KRGlhbWV0ZXIgUC12YWx1ZSAwLjMxODMuDQpTaW5jZSB0aGlzIHAtdmFsdWUgaXMgZ3JlYXRlciB0aGFuIM6xID0gMC4xMCwgdGhlcmUgaXMgbm90IGVub3VnaCBldmlkZW5jZSB0byByZWplY3QgdGhlIG51bGwgaHlwb3RoZXNpcy4gVGhpcyBtZWFucyB3ZSBjYW5ub3QgY29uY2x1ZGUgdGhhdCB0aGUgZGlhbWV0ZXIgaGFzIGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBlZmZlY3Qgb24gZmlsYW1lbnQgc3RyZW5ndGguDQoNCk1hY2hpbmUgUC12YWx1ZSAwLjA2ODI6DQpTaW5jZSB0aGlzIHAtdmFsdWUgaXMgbGVzcyB0aGFuIM6xID0gMC4xMCwgdGhlcmUgaXMgZW5vdWdoIGV2aWRlbmNlIHRvIHJlamVjdCB0aGUgbnVsbCBoeXBvdGhlc2lzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHR5cGUgb2YgbWFjaGluZSBkb2VzIGhhdmUgYSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IGVmZmVjdCBvbiBmaWxhbWVudCBzdHJlbmd0aCBhdCB0aGUgMTAlIHNpZ25pZmljYW5jZSBsZXZlbC4NCg0KSW50ZXJhY3Rpb24gZGlhbWV0ZXI6bWFjaGluZSBQLXZhbHVlIDAuMjM3NzogDQpUaGlzIHAtdmFsdWUgaXMgZ3JlYXRlciB0aGFuIM6xID0gMC4xMCwgc28gdGhlcmUncyBub3QgZW5vdWdoIGV2aWRlbmNlIHRvIHJlamVjdCB0aGUgbnVsbCBoeXBvdGhlc2lzIGZvciB0aGUgaW50ZXJhY3Rpb24gZWZmZWN0LiBUaGlzIG1lYW5zIHRoYXQgdGhlcmUgaXNuJ3QgYSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IGludGVyYWN0aW9uIGJldHdlZW4gZGlhbWV0ZXIgYW5kIG1hY2hpbmUgdHlwZSBvbiBmaWxhbWVudCBzdHJlbmd0aC4NCg0KDQpPYnRhaW4gYW4gZXN0aW1hdGlvbiBvZiB0aGUgYXZlcmFnZSBzdHJlbmd0aCBwcm9kdWNlZCBieSBlYWNoIG9mIHRoZSB0aHJlZSBtYWNoaW5lcy4NCg0KYGBge3J9DQoNCnNvcnQodGFwcGx5KEZpbGFtZW50X0RGJHN0cmVuZ3RoLCBGaWxhbWVudF9ERiRtYWNoaW5lLCBtZWFuKSkNCg0KYGBgDQpJbiB0aGlzIGdyYXBoIHdlIGFyZSB2aXN1YWxpemluZyB0aGUgZGlzdHJpYnV0aW9uIG9mIHN0cmVuZ3RoIGFjcm9zcyBkaWZmZXJlbnQgbWFjaGluZXMsIGdyb3VwZWQgYnkgZGlhbWV0ZXIuIEhlcmUgdGhlIHgtYXhpcyByZXByZXNlbnRzIHRoZSBkaWZmZXJlbnQgbWFjaGluZXMsIHRoZSB5LWF4aXMgcmVwcmVzZW50cyBmaWxhbWVudCBzdHJlbmd0aCwgYW5kIGRpZmZlcmVudCBjb2xvcnMgcmVwcmVzZW50IGRpZmZlcmVudCBmaWxhbWVudCBkaWFtZXRlcnMuDQoNCg0KYGBge3J9DQojIExvYWRpbmcgcmVxdWlyZWQgbGlicmFyaWVzDQppbnN0YWxsLnBhY2thZ2VzKCJnZ3Bsb3QyIikNCmxpYnJhcnkoZ2dwbG90MikNCg0KIyBCb3ggcGxvdCB3aXRoIGRpYW1ldGVyIGxhYmVscw0KcCA8LSBnZ3Bsb3QoRmlsYW1lbnRfREYsIGFlcyh4ID0gbWFjaGluZSwgeSA9IHN0cmVuZ3RoLCBmaWxsID0gZmFjdG9yKGRpYW1ldGVyKSkpICsgDQogIGdlb21fYm94cGxvdCgpICsNCiAgZ2VvbV90ZXh0KGFlcyhsYWJlbD1mYWN0b3IoZGlhbWV0ZXIpLCBncm91cD1mYWN0b3IoZGlhbWV0ZXIpKSwgDQogICAgICAgICAgICBwb3NpdGlvbj1wb3NpdGlvbl9kb2RnZSh3aWR0aD0wLjc1KSwgDQogICAgICAgICAgICB2anVzdD0tMC41KSArDQogIGxhYnModGl0bGUgPSAiQm94IFBsb3Qgb2YgRmlsYW1lbnQgU3RyZW5ndGggYnkgTWFjaGluZSBhbmQgRGlhbWV0ZXIiLA0KICAgICAgIHggPSAiTWFjaGluZSIsDQogICAgICAgeSA9ICJTdHJlbmd0aCIsDQogICAgICAgZmlsbCA9ICJEaWFtZXRlciIpICsgDQogIHRoZW1lX21pbmltYWwoKQ0KDQpwcmludChwKQ0KDQpgYGANCg0KSW4gdGhpcyBib3hwbG90IGdyYXBoIHdlIGNhbiBjbGVhcmx5IHNlZSB0aGUgZGlmZmVyZW5jZXMgaW4gdGhlIHN0cmVuZ3RoIG9mIHRoZSBmaWxhbWVudCBhbmQgdGhlIG1hY2hpbmVzIHRoYXQgbWFrZSB0aGUgZmlsYW1lbnQgYnkgdGhlIGZpbGFtZW50IGRpYW1ldGVyLg0KDQpUaGUgc3Ryb25nZXN0IGZpbGFtZW50IGlzIHByb2R1Y2VkIGJ5IHRoZSBNMiB3aXRoIGEgMjAgZGlhbWV0ZXIgd2l0aCBhbiBzdHJlbmd0aCBvZiAgYXJvdW5kIDQ2IGFuZCB3ZWFrZXN0IHdvdWxkIGJlIHByb2R1Y2UgYnkgTTMgd2l0aCBhIGRpYW1ldGVyIG9mIDI0IGFuZCAyOCBhbmQgYSBzdHJlbmd0aCBvZiAgYXJvdW5kIDI0Lg0KDQpXZSBjYW4gYWxzbyBzZWUgdGhhdCB0aGUgbWFjaGluZSBmYWN0b3IgZG9lcyBoYXZlIGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBlZmZlY3Qgb24gZmlsYW1lbnQgc3RyZW5ndGggYmVjYXVzZSBvZiB0aGUgaW5kaXZpZHVhbCBib3ggcGxvdCBieSBkaWFtZXRlciBhcmUgbm90IG92ZXJsYXBwaW5nIGZvciBNMSBhbmQgTTMgZm9yIDIgZGlhbWV0ZXJzLCAyNCBhbmQgMjguICANCg0KVGhlIGVuZA0KDQpLcmlzdGVyIA0KDQoNCg0KDQoNCg==