Hypothese
H0: Es gibt keinen Unterschied zwischen Altersgruppe(0-30/31-55/56+) und der Sportlichkeit gemessen auf dem Laufband in Minuten.
H1: Es gibt einen Unterschied zwischen Altersgruppe(0-30/31-55/56+) und der Sportlichkeit gemessen auf dem Laufband in Minuten.
Voraussetzungen für den Kruskal-Wallis-Test
Die abhängige Variable ist mindestens ordinalskaliert -> ist gegeben
Es liegt eine unabhängige Variable vor, mittels der die zu vergleichenden Gruppen gebildet werden. -> Die Altergruppen sind unabhängig.
Deskriptive Statistiken
Diese “library(dplyr)” muss verwendet werden.
wallis %>%
group_by(Altersgruppe) %>%
summarize(Anzahl = n(), Median = median(Sportlichkeit)) %>%
mutate_if(is.numeric, round, 2)
`summarise()` ungrouping output (override with `.groups` argument)
Die Mediane der Gruppen unterscheiden sich. Die Gruppe “0-30” scheint am sportlichsten zu sein mit einem Wert von 13.5 min (N=10). Die Gruppe “31-55” schaffen 9.2 Min.(N=8) auf dem Laufbahn und am wenigsten sportlich ist die Gruppe der “56+” mit einem Median von 3 (N=11).
Boxplots
boxplot(wallis$Sportlichkeit ~ wallis$Altersgruppe, main = "Boxplots Altersgruppen-Sportlichkeit ", ylab = "Sportlichkeit gemessen auf dem Laufbahn in Minuten", xlab= "Altergruppe" , col = c("lightgreen", "deepskyblue","tomato"))

Die Mediane der Gruppen unterscheiden sich. Es gibt augenscheinlich keine Ausreisser.
ALTERNATIV
library(ggplot2)
ggplot(wallis, aes(x=Altersgruppe, y=Sportlichkeit, color=Altersgruppe)) +
geom_violin() +
geom_boxplot(width=0.2) +
labs(x= "Altersgruppe",y = "Sportlichkeit", title="Boxplots zwischen Altersgruppen" )

Ergebnisse der Kruskal-Wallis-Test
test <- kruskal.test(Sportlichkeit ~ Altersgruppe, data=wallis)
test
Kruskal-Wallis rank sum test
data: Sportlichkeit by Altersgruppe
Kruskal-Wallis chi-squared = 21.122, df = 2, p-value = 2.59e-05
Die Tabelle zeigt Unterschiede. Für das Beispiel wird eine Signifikanz von .000 ausgegeben. Also kann davon ausgegangen werden, dass es Unterschiede bezüglich der zentralen Tendenzen der Gruppen gibt (Chi-Quadrat(2) = 21.22,p = .000). Allerdings lässt sich aufgrund dieses Tests nicht bestimmen, welche der drei Gruppen sich signifikant voneinander unterscheiden. Es ist denkbar, dass sich lediglich ein Paar signifikant unterscheidet und zwischen den übrigen keine signifikanten Unterschiede vorliegen. Daher wird ein Post-hoc-Test durchgeführt.
PostHoc <- aov(Sportlichkeit ~ Altersgruppe, data=wallis)
TukeyHSD(PostHoc)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = Sportlichkeit ~ Altersgruppe, data = wallis)
$Altersgruppe
diff lwr upr p adj
31-55-0-30 -5.000000 -8.225499 -1.774501 0.0019217
56+-0-30 -9.731818 -12.702930 -6.760707 0.0000000
56+-31-55 -4.731818 -7.891484 -1.572153 0.0026789
Der Post-Hoc-Test ergibt, dass sich alle vergleichenden Gruppen signifikant unterscheiden (p < 0.05).
Es gibt einem signifikanten Unterschied zwischen den drei getesteten Gruppen, das heisst, dass jede Altersgruppe einen deutlichen Unterschied in der Sportlichkeit aufweist.
Es können drei unabhängige Gruppen gebildet werden. Eine Generalisierung ist möglich.
Berechnung der Effektstärke
\[r = \Biggl| \frac{z}{\sqrt{n}}\Biggl|\]
mit:
Zstat<-qnorm(test$p.value/2) #ungerichtet
sprintf("Z-Wert für den H-Test : %.2f", Zstat)
[1] "Z-Wert für den H-Test : -4.21"
daten <- nrow(wallis)
sprintf("Anzahl der Daten: %.f", daten)
[1] "Anzahl der Daten: 29"
eff <- abs(Zstat/sqrt(daten))
sprintf("Effektstärke: %.2f", eff)
[1] "Effektstärke: 0.78"
Zur Beurteilung der Groesse des Effektes dient die Einteilung von Cohen (1992):
\[
\begin{align}
\text{Schwacher Effekt: } 0.10 &< ||r|| < 0.30 \\
\text{Schwacher bis mittlerer Effekt: } 0.30 &= ||r|| \\
\text{Mittlerer Effekt: } 0.30 &< ||r|| < 0.50 \\
\text{Mittlerer bis starker Effekt: }0.50 &= ||r|| \\
\text{Starker Effekt: } 0.50 &< ||r||
\end{align}
\]
Damit entspricht eine Effektstärke von 0.78 einem starken Effekt.
ALTERNATIVE
\[w = \left|\sqrt\frac{\mathcal{X}^2}{n}\right|\] mit:
anzahl <- nrow(wallis)
chi <- test$statistic
w<- sqrt(chi /anzahl)
sprintf("Effektstärke: %.2f",w)
[1] "Effektstärke: 0.85"
\[
\begin{align}
\text{Schwacher Effekt: } 0.10 &< w \le 0.30 \\
\text{Mittlerer Effekt: } 0.30 &< w \le 0.50 \\
\text{Starker Effekt: } 0.50 &< w
\end{align}
\]
Damit entspricht eine Effektstärke von 0.85 einem starken Effekt.
Eine Aussage
Der Kruskal-Wallis-Test bestätigt, dass die Sportlichkeit sich durch die Altersgruppe unterscheidet (Chi-Quadrat(2) = 21.22, p = .000).
Der anschliessend durchgeführte Post-hoc-Test (Tukey) zeigt, dass alle Gruppen “0-30” (Median = 13.5, n = 10)und “31-55” (Median = 9.2, n = 8), sowie “56+” (Median = 3.0, n = 9) signifikant unterscheiden (p < .05).
Die Effektstärke (w = .85) zeigt ein starken Effekt, sodass tatsächlich die Altersgruppe einen grossen Effekt auf die Ausdauer, gemessen in Minuten auf dem Laufband, hat.
H0 wird ablehnen.
LS0tDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCiMgQmVyZWNobnVuZyBkZXIgVGVzdHN0YXRpc3RpayANCg0KRGVyIEtydXNrYWwtV2FsbGlzLVRlc3QgYmFzaWVydCBhdWYgZGVyIElkZWUgZGVyIFJhbmdpZXJ1bmcgZGVyIERhdGVuLiBEYXMgaGVpc3N0LCBlcyB3aXJkIG5pY2h0IG1pdCBkZW4gTWVzc3dlcnRlbiBzZWxic3QgZ2VyZWNobmV0LCBzb25kZXJuIGRpZXNlIHdlcmRlbiBkdXJjaCBSw6RuZ2UgZXJzZXR6dCwgbWl0IHdlbGNoZW4gZGVyIGVpZ2VudGxpY2hlIFRlc3QgZHVyY2hnZWbDvGhydCB3aXJkLiBEYW1pdCBiZXJ1aHQgZGllIEJlcmVjaG51bmcgZGVzIFRlc3RzIGF1c3NjaGxpZXNzbGljaCBhdWYgZGVyIE9yZG51bmcgZGVyIERhdGVuIChncsO2c3NlciBhbHMsIGtsZWluZXIgYWxzKS4gRGllIGFic29sdXRlbiBBYnN0w6RuZGUgendpc2NoZW4gZGVuIFdlcnRlbiB3ZXJkZW4gbmljaHQgYmVyw7xja3NpY2h0aWd0Lg0KDQpIaWVyYmVpIHdlcmRlbiBkaWUgTWVzc3dlcnRlIG1pdCBSw6RuZ2VuIHZlcnNlaGVuLiBBbHMgZXJzdGVzIHdlcmRlbiBkaWUgZWluemVsbmVuIE1lc3N3ZXJ0ZSBpaHJlciBHcsO2c2UgDQpuYWNoIGF1ZmdlcmVpaHQuIERpZXMgZ2VzY2hpZWh0IHVuYWJow6RuZ2lnIHZvbiBkZXIgR3J1cHBlbnp1Z2Vow7ZyaWdrZWl0IChTcGFsdGUgIkdydXBwZSIpLiBEYW5hY2ggd2VyZGVuIGRpZSBNZXNzd2VydGUgcmFuZ2llcnQgdW5kIGdldHJlbm50IGbDvHIgamVkZSBHcnVwcGUgYmVuYW5udC4NCg0KRGllc2UgUsOkbmdlIHNpbmQgaW4gQWJiaWxkdW5nIGluIGRlbiBTcGFsdGVuICJSw6RuZ2UgJzAtMzAnIiBiaXMgNTYrJyIgZW50aGFsdGVuLiBLb21tdCBlaW4gTWVzc3dlcnQgbWVocmZhY2ggdm9yIChlbmdsLiAidGllcyIpLCBzbyB3ZXJkZW4gc29nZW5hbm50ZSAidmVyYnVuZGVuZSBSw6RuZ2UiIGdlYmlsZGV0Lg0KDQoNCldlbm4gUmFuZyAxIHVuZCAyIGJlaWRlIGRpZSBnbGVpY2hlbiBNZXNzd2VydGUgYXVmd2Vpc2VuLCB3aXJkIGF1cyBkaWVzZW4gYmVpZGVuIGRlciBNaXR0ZWx3ZXJ0IGdlYmlsZGV0ICgoMSArIDIpLzIgPSAxLjUpIHVuZCBkaWUgUsOkbmdlIDEgdW5kIDIgd2VyZGVuIG5ldSBiZWlkZSBtaXQgZGVtIFJhbmcgMS41IHZlcnNlaGVuLiBEaWVzIGlzdCBpbSB2b3JsaWVnZW5kZW4gQmVpc3BpZWwgZsO8ciBkaWUgUsOkbmdlIDEyIHVuZCAxMyAobWl0dGxlcmVyIFJhbmc6ICgxMisxMykvMiA9IDEyLjUpLCBzb3dpZSAxNCBiaXMgMTYgZGVyIEZhbGwgKG1pdHRsZXJlciBSYW5nOiAoMTQrMTUrMTYpLzMgPSAxNSkuDQoNClNjaGxpZXNzbGljaCB3ZXJkZW4gYXVzIGRpZXNlbiBlcm1pdHRlbHRlbiBSw6RuZ2VuIHNvZ2VuYW5udGUgUmFuZ3N1bW1lbiBnZWJpbGRldCAoIlN1bW1lbiIpLiBIaWVyZsO8ciB3ZXJkZW4gbGVkaWdsaWNoIGRpZSBSw6RuZ2UgZGVyIGpld2VpbGlnZW4gR3J1cHBlIGF1ZnN1bW1pZXJ0LiBEaWVzIGVyZ2lidCBlaW5lIFJhbmdzdW1tZSB2b24gMjM3LjUgZsO8ciBkaWUgR3J1cHBlIDAtMzAgKG4gPSAxMCksIDEyNCBmw7xyIGRpZSBHcnVwcGUgIjMxLTU1IiAobiA9IDgpIHVuZCA3My41IGbDvHIgZGllIEdydXBwZSAiNTYrIiAobiA9IDExKS4gWnVyIEJlcmVjaG51bmcgZGVyIFRlc3RzdGF0aXN0aWsgSCB3ZXJkZW4gZGllc2UgUmFuZ3N1bW1lbiB2ZXJ3ZW5kZXQ6IA0KDQoNCiMjIyBPaG5lIEtvcnJla3R1cg0KDQokJA0KXGJlZ2lue2FsaWdufQ0KSCAmPSBcZnJhY3sxMn17TihOKzEpfVxzdW1ee2t9X3tpPTF9XGZyYWN7Ul4yX2l9e25faX0tMyhOKzEpIA0KXGVuZHthbGlnbn0NCiQkDQoNCg0KDQokJA0KXGJlZ2lue2FsaWdufQ0KSCAmPSBcZnJhY3sxMn17MjkoMjkrMSl9KihcZnJhY3syMzcuNV4yfXsxMH0rXGZyYWN7MTI0XjJ9ezh9K1xmcmFjezczLjVeMn17MTF9KS0zKDI5KzEpID0gMjEuMDggDQpcZW5ke2FsaWdufQ0KJCQgDQoNCm1pdDoNCg0KKiAkUl9pID0kIFJhbmdzdW1tZW4gZsO8ciBqZWRlIEdydXBwZQ0KDQoqICROID0kIEdlc2FtdHN0aWNocHJvYmVuZ3LDtsOfZQ0KDQoqICRuX2kgPSQgR3LDtsOfZSBkZXIgZWluemVsbmVuIEdydXBwZQ0KDQoqICRrID0kIEFuemFobCBkZXIgR3J1cHBlbg0KDQoNCg0KDQojIyMgRnJlaWhlaXRzZ3JhZGUgDQoNCiQkZGYgPSBrIC0xICQkDQoNCiQkZGYgPSAzIC0xID0gMiQkDQoNCm1pdDoNCiogJGsgPSQgQW56YWhsIGRlciBHcnVwcGVuDQoNCg0KDQojIyMgTWl0IEtvcnJla3R1cg0KQmVpIHZlcmJ1bmRlbmVuIFLDpG5nZW4gbXVzcyBkaWUgVGVzdHN0YXRpc3RpayBrb3JyaWdpZXJ0IHdlcmRlbi4gKihXaXJkIHZvbiBkZXIgTWV0aG9kZSBrcnVza2FsLnRlc3QoKSBpYm4gUiAgYXV0b21hdGlzY2ggZ2VtYWNodC4pKg0KDQoNCiQkDQpcYmVnaW57YWxpZ259DQpIX3trb3JyfSAmPSBcZnJhY3tIfXsxLVxmcmFje1xzdW1ee219X3tqPTF9KHReM19qLXRfail9e05eMy1OfX0gXFwNClxlbmR7YWxpZ259DQokJA0KDQoNCkRhIGJlaW0gQmVpc3BpZWwgdmVyYnVuZGVuZSBSw6RuZ2Ugdm9ybGllZ2VuLCBtdXNzIGRpZSBLb3JyZWt0dXJmb3JtZWwgYW5nZXdlbmRldCB3ZXJkZW4uIDxicj4NCkVzIGxpZWdlbiBkcmVpbWFsIHZlcmJ1bmRlbmUgUsOkbmdlIHZvciAoZGFoZXIgbSA9IDQpOg0KUsOkbmdlIDEgJiAyIChkYWhlciB0MSA9IDIpIHNvd2llIDEzICYgMjggKGRhaGVyIHQyID0gMiksIDE2ICYgMiAoZGFoZXIgdDMgPSAyKSB1bmQgMjIgJiAyICYxOCAoZGFoZXIgdDMgPSAzKQ0KPGJyPkRpZXMgZXJnaWJ0OiANCg0KDQoNCiQkDQpcYmVnaW57YWxpZ259DQpIX3trb3JyfSAmPSBcZnJhY3syMS4wOH17MS1cZnJhY3soMl4zLTIpKygyXjMtMikrKDJeMy0yKSsoM14zLTMpfXsyOV4zLTI5fX0gPTIxLjENClxlbmR7YWxpZ259DQokJA0KDQoNCg0KYGBge3J9DQpyb3VuZCgyMS4wOC8oMS0oKDJeMy0yKSsoMl4zLTIpKygyXjMtMikrKDNeMy0zKSkvKDI5XjMtMjkpKSwyKQ0KYGBgDQoNCg0KbWl0Og0KDQoqICRtID0kIEFuemFobCB2ZXJidW5kZW5lIFLDpG5nZQ0KDQoqICR0X2ogPSQgQW56YWhsIFJvaGRhdGVud2VydGUsIGRpZSBpbSAkaiQtdGVuIFJhbmdwbGF0eiBzdGVoZW4NCg0KDQoNCg0KYGBge3IgaW5jbHVkZT1GQUxTRSwgcmVzdWx0cz0naGlkZSd9DQpsaWJyYXJ5KGRwbHlyKQ0KYGBgDQo8YnI+DQo8YnI+DQoNCiMjIyBEZXIgZW1wcmlzY2hlciBXZXJ0DQoNCkRlciBlbXByaXNjaGUgV2VydCBsaWVndCBiZWkgJHwyMS4xfCQuDQo8YnI+DQo8YnI+DQoNCiMjIyBEZXIga3JpdGlzY2ggV2VydA0KDQpEZXIgYmVyZWNobmV0ZSBXZXJ0IG11c3MgbnVuIGF1ZiBTaWduaWZpa2FueiBnZXByw7xmdCB3ZXJkZW4uIERpZSBUZXN0c3RhdGlzdGlrIHZlcmdsZWljaHQgZGVuIGtyaXRpc2NoZW4gV2VydCBkZXIgZHVyY2ggZGllIEZyZWloZWl0c2dyYWRlIGJlc3RpbW10ZW4gQ2hpLVF1YWRyYXQtVmVydGVpbHVuZyBtaXQgZGVtIGVycmVjaG5ldGVuIFdlcnQuIERpZXNlciBrcml0aXNjaGUgV2VydCBrYW5uIFRhYmVsbGVuIGVudG5vbW1lbiB3ZXJkZW4uDQoNCmBgYHtyfQ0KcWNoaXNxKDAuOTc1LGRmPTIpDQpgYGANCg0KDQpEZXIga3JpdGlzY2hlIFdlcnQgbGllZ3QgYmVpIDUuOTkNCg0KDQoNCjxicj4NCjxicj4NCg0KIyMjIFZlcmdsZWljaA0KDQokJHziiJIyMS4xfCA+IDUuOTkg4oaSXHRleHQge0VzIGxpZWd0IGVpbiBzaWcuIFVudGVyc2NoaWVkIHZvci59JCQNCg0KDQoNCkbDvHIgZGFzIHZvcmxpZWdlbmRlIEJlaXNwaWVsIGJldHLDvGdlIGRlciBrcml0aXNjaGUgV2VydCA1Ljk5IGJlaSBkZiA9IDIgdW5kIM6xID0gLjA1LiBJc3QgZGVyIEJldHJhZyBkZXIgVGVzdHN0YXRpc3RpayBow7ZoZXIgYWxzIGRlciBrcml0aXNjaGUgV2VydCwgc28gaXN0IGRlciBVbnRlcnNjaGllZCBzaWduaWZpa2FudC4gRGllcyB3w6RyZSBmw7xyIGRhcyBCZWlzcGllbCBkZXIgRmFsbCAoMjEuMTIyID4gNS45OSkuIEVzIGvDtm5udGUgZGFoZXIgZGF2b24gYXVzZ2VnYW5nZW4gd2VyZGVuLCBkYXNzIHNpY2ggZGllIHplbnRyYWxlbiBUZW5kZW56ZW4gdW50ZXJzY2hlaWRlbiAoQ2hpLVF1YWRyYXQoMikgPSAyMS4xMjIsIHAgPCAuMDUpLiANCg0KDQo8YnI+DQo8YnI+DQoNCiMgIEtydXNrYWwtV2FsbGlzLVRlc3QgaW4gUiANCjxicj4NCg0KIyBIeXBvdGhlc2UgDQpIMDogRXMgZ2lidCBrZWluZW4gVW50ZXJzY2hpZWQgendpc2NoZW4gQWx0ZXJzZ3J1cHBlKDAtMzAvMzEtNTUvNTYrKSB1bmQgZGVyIFNwb3J0bGljaGtlaXQgZ2VtZXNzZW4gYXVmIGRlbSBMYXVmYmFuZCBpbiBNaW51dGVuLiANCg0KDQpIMTogRXMgZ2lidCBlaW5lbiBVbnRlcnNjaGllZCB6d2lzY2hlbiBBbHRlcnNncnVwcGUoMC0zMC8zMS01NS81NispIHVuZCBkZXIgU3BvcnRsaWNoa2VpdCBnZW1lc3NlbiBhdWYgZGVtIExhdWZiYW5kIGluIE1pbnV0ZW4uDQoNCg0KIyBWb3JhdXNzZXR6dW5nZW4gZsO8ciBkZW4gS3J1c2thbC1XYWxsaXMtVGVzdA0KDQpEaWUgYWJow6RuZ2lnZSBWYXJpYWJsZSBpc3QgbWluZGVzdGVucyBvcmRpbmFsc2thbGllcnQgLT4gaXN0IGdlZ2ViZW4NCg0KRXMgbGllZ3QgZWluZSB1bmFiaMOkbmdpZ2UgVmFyaWFibGUgdm9yLCBtaXR0ZWxzIGRlciBkaWUgenUgdmVyZ2xlaWNoZW5kZW4gR3J1cHBlbiBnZWJpbGRldCB3ZXJkZW4uIC0+IERpZSBBbHRlcmdydXBwZW4gc2luZCB1bmFiaMOkbmdpZy4NCg0KDQoNCiMgRGVza3JpcHRpdmUgU3RhdGlzdGlrZW4NCg0KRGllc2UgImxpYnJhcnkoZHBseXIpIiBtdXNzIHZlcndlbmRldCB3ZXJkZW4uDQpgYGB7cn0NCndhbGxpcyAlPiUNCmdyb3VwX2J5KEFsdGVyc2dydXBwZSkgJT4lDQogIHN1bW1hcml6ZShBbnphaGwgPSBuKCksICBNZWRpYW4gPSBtZWRpYW4oU3BvcnRsaWNoa2VpdCkpICU+JQ0KICBtdXRhdGVfaWYoaXMubnVtZXJpYywgcm91bmQsIDIpDQpgYGANCg0KRGllIE1lZGlhbmUgZGVyIEdydXBwZW4gdW50ZXJzY2hlaWRlbiBzaWNoLiBEaWUgR3J1cHBlICIwLTMwIiBzY2hlaW50IGFtIHNwb3J0bGljaHN0ZW4genUgc2VpbiBtaXQgZWluZW0gV2VydCB2b24gMTMuNSBtaW4gKE49MTApLiBEaWUgR3J1cHBlICIzMS01NSIgc2NoYWZmZW4gOS4yIE1pbi4oTj04KSBhdWYgZGVtIExhdWZiYWhuIHVuZCBhbSB3ZW5pZ3N0ZW4gc3BvcnRsaWNoIGlzdCBkaWUgR3J1cHBlIGRlciAiNTYrIiBtaXQgZWluZW0gTWVkaWFuIHZvbiAzIChOPTExKS4NCg0KDQoNCg0KIyMgQm94cGxvdHMNCg0KDQpgYGB7cn0NCmJveHBsb3Qod2FsbGlzJFNwb3J0bGljaGtlaXQgfiB3YWxsaXMkQWx0ZXJzZ3J1cHBlLCBtYWluID0gIkJveHBsb3RzIEFsdGVyc2dydXBwZW4tU3BvcnRsaWNoa2VpdCAgIiwgeWxhYiA9ICJTcG9ydGxpY2hrZWl0IGdlbWVzc2VuIGF1ZiBkZW0gTGF1ZmJhaG4gaW4gTWludXRlbiIsIHhsYWI9ICJBbHRlcmdydXBwZSIgLCBjb2wgPSBjKCJsaWdodGdyZWVuIiwgImRlZXBza3libHVlIiwidG9tYXRvIikpDQoNCmBgYA0KDQpEaWUgTWVkaWFuZSBkZXIgR3J1cHBlbiB1bnRlcnNjaGVpZGVuIHNpY2guIEVzIGdpYnQgYXVnZW5zY2hlaW5saWNoIGtlaW5lIEF1c3JlaXNzZXIuDQoNCg0KIyBBTFRFUk5BVElWDQoNCg0KYGBge3J9DQpsaWJyYXJ5KGdncGxvdDIpDQpnZ3Bsb3Qod2FsbGlzLCBhZXMoeD1BbHRlcnNncnVwcGUsIHk9U3BvcnRsaWNoa2VpdCwgY29sb3I9QWx0ZXJzZ3J1cHBlKSkgKyANCmdlb21fdmlvbGluKCkgKyANCmdlb21fYm94cGxvdCh3aWR0aD0wLjIpICsNCmxhYnMoeD0gIkFsdGVyc2dydXBwZSIseSA9ICJTcG9ydGxpY2hrZWl0IiwgdGl0bGU9IkJveHBsb3RzIHp3aXNjaGVuIEFsdGVyc2dydXBwZW4iICkNCmBgYA0KDQoNCiMgRXJnZWJuaXNzZSBkZXIgS3J1c2thbC1XYWxsaXMtVGVzdA0KDQoNCmBgYHtyfQ0KdGVzdCA8LSBrcnVza2FsLnRlc3QoU3BvcnRsaWNoa2VpdCB+IEFsdGVyc2dydXBwZSwgZGF0YT13YWxsaXMpDQp0ZXN0DQpgYGANCg0KRGllIFRhYmVsbGUgemVpZ3QgVW50ZXJzY2hpZWRlLiBGw7xyIGRhcyBCZWlzcGllbCB3aXJkIGVpbmUgU2lnbmlmaWthbnogdm9uIC4wMDAgYXVzZ2VnZWJlbi4gQWxzbyBrYW5uIGRhdm9uIGF1c2dlZ2FuZ2VuIHdlcmRlbiwgZGFzcyBlcyBVbnRlcnNjaGllZGUgYmV6w7xnbGljaCBkZXIgemVudHJhbGVuIFRlbmRlbnplbiBkZXIgR3J1cHBlbiBnaWJ0IChDaGktUXVhZHJhdCgyKSA9IDIxLjIyLHAgPSAuMDAwKS4gQWxsZXJkaW5ncyBsw6Rzc3Qgc2ljaCBhdWZncnVuZCBkaWVzZXMgVGVzdHMgbmljaHQgYmVzdGltbWVuLCB3ZWxjaGUgZGVyIGRyZWkgR3J1cHBlbiBzaWNoIHNpZ25pZmlrYW50IHZvbmVpbmFuZGVyIHVudGVyc2NoZWlkZW4uIEVzIGlzdCBkZW5rYmFyLCBkYXNzIHNpY2ggbGVkaWdsaWNoIGVpbiBQYWFyIHNpZ25pZmlrYW50IHVudGVyc2NoZWlkZXQgdW5kIHp3aXNjaGVuIGRlbiDDvGJyaWdlbiBrZWluZSBzaWduaWZpa2FudGVuIFVudGVyc2NoaWVkZSB2b3JsaWVnZW4uIERhaGVyIHdpcmQgZWluIFBvc3QtaG9jLVRlc3QgZHVyY2hnZWbDvGhydC4NCg0KDQpgYGB7cn0NCg0KUG9zdEhvYyA8LSBhb3YoU3BvcnRsaWNoa2VpdCB+IEFsdGVyc2dydXBwZSwgZGF0YT13YWxsaXMpDQpUdWtleUhTRChQb3N0SG9jKQ0KDQpgYGANCg0KDQpEZXIgUG9zdC1Ib2MtVGVzdCBlcmdpYnQsIGRhc3Mgc2ljaCBhbGxlIHZlcmdsZWljaGVuZGVuIEdydXBwZW4gc2lnbmlmaWthbnQgdW50ZXJzY2hlaWRlbiAocCA8IDAuMDUpLiANCg0KRXMgZ2lidCBlaW5lbSBzaWduaWZpa2FudGVuIFVudGVyc2NoaWVkIHp3aXNjaGVuIGRlbiBkcmVpIGdldGVzdGV0ZW4gR3J1cHBlbiwgZGFzIGhlaXNzdCwgZGFzcyBqZWRlIEFsdGVyc2dydXBwZSBlaW5lbiBkZXV0bGljaGVuIFVudGVyc2NoaWVkIGluIGRlciBTcG9ydGxpY2hrZWl0IGF1ZndlaXN0Lg0KDQpFcyBrw7ZubmVuIGRyZWkgdW5hYmjDpG5naWdlIEdydXBwZW4gZ2ViaWxkZXQgd2VyZGVuLiBFaW5lIEdlbmVyYWxpc2llcnVuZyBpc3QgbcO2Z2xpY2guDQoNCg0KIyBCZXJlY2hudW5nIGRlciBFZmZla3RzdMOkcmtlDQoNCiQkciA9IFxCaWdnbHwgXGZyYWN7en17XHNxcnR7bn19XEJpZ2dsfCQkDQoNCm1pdDoNCg0KKiAkeiA9JCB6LXRyYW5zZm9ybWllcnRlcyAkcCQgZGVzIENoaS1RdWFkcmF0LVRlc3RzIG5hY2ggS3J1c2thbC1XYWxsaXMuDQoNCiogJG4gPSQgR3LDtsOfZSBkZXIgR2VzYW10c3RpY2hwcm9iZQ0KDQoNCg0KDQoNCmBgYHtyfQ0KWnN0YXQ8LXFub3JtKHRlc3QkcC52YWx1ZS8yKSAjdW5nZXJpY2h0ZXQgDQoNCnNwcmludGYoIlotV2VydCBmw7xyIGRlbiBILVRlc3QgOiAlLjJmIiwgWnN0YXQpDQoNCmRhdGVuIDwtIG5yb3cod2FsbGlzKQ0Kc3ByaW50ZigiQW56YWhsIGRlciBEYXRlbjogJS5mIiwgZGF0ZW4pDQoNCg0KZWZmIDwtIGFicyhac3RhdC9zcXJ0KGRhdGVuKSkNCnNwcmludGYoIkVmZmVrdHN0w6Rya2U6ICUuMmYiLCBlZmYpDQoNCmBgYA0KDQoNClp1ciBCZXVydGVpbHVuZyBkZXIgR3JvZXNzZSBkZXMgRWZmZWt0ZXMgZGllbnQgZGllIEVpbnRlaWx1bmcgdm9uIENvaGVuICgxOTkyKToNCg0KJCQNClxiZWdpbnthbGlnbn0NClx0ZXh0e1NjaHdhY2hlciBFZmZla3Q6IH0gMC4xMCAmPCB8fHJ8fCA8IDAuMzAgICAgICAgICAgICAgXFwNClx0ZXh0e1NjaHdhY2hlciBiaXMgbWl0dGxlcmVyIEVmZmVrdDogfSAwLjMwICY9IHx8cnx8ICAgICAgXFwNClx0ZXh0e01pdHRsZXJlciBFZmZla3Q6IH0gMC4zMCAmPCB8fHJ8fCA8IDAuNTAgICAgICAgICAgICAgXFwNClx0ZXh0e01pdHRsZXJlciBiaXMgc3RhcmtlciBFZmZla3Q6IH0wLjUwICY9IHx8cnx8ICAgICAgICAgXFwNClx0ZXh0e1N0YXJrZXIgRWZmZWt0OiB9IDAuNTAgJjwgfHxyfHwgICAgICAgIA0KXGVuZHthbGlnbn0NCiQkDQoNCkRhbWl0IGVudHNwcmljaHQgZWluZSBFZmZla3RzdMOkcmtlIHZvbiAwLjc4IGVpbmVtIHN0YXJrZW4gRWZmZWt0Lg0KDQojIEFMVEVSTkFUSVZFDQoNCg0KJCR3ID0gXGxlZnR8XHNxcnRcZnJhY3tcbWF0aGNhbHtYfV4yfXtufVxyaWdodHwkJA0KbWl0Og0KDQoqICRcY2hpXjIgPSRDaGktUXVhZHJhdC1XZXJ0IG5hY2ggS3J1c2thbC1XYWxsaXMuDQoNCiogJG4gPSQgR3LDtsOfZSBkZXIgR2VzYW10c3RpY2hwcm9iZQ0KDQoNCg0KYGBge3J9DQphbnphaGwgPC0gbnJvdyh3YWxsaXMpDQpjaGkgPC0gdGVzdCRzdGF0aXN0aWMNCg0KdzwtIHNxcnQoY2hpIC9hbnphaGwpDQogc3ByaW50ZigiRWZmZWt0c3TDpHJrZTogJS4yZiIsdykNCg0KYGBgDQoNCiQkDQpcYmVnaW57YWxpZ259DQpcdGV4dHtTY2h3YWNoZXIgRWZmZWt0OiB9IDAuMTAgJjwgdyBcbGUgMC4zMCAgICAgICAgICAgICBcXA0KXHRleHR7TWl0dGxlcmVyIEVmZmVrdDogfSAwLjMwICY8IHcgXGxlIDAuNTAgICAgICAgICAgICAgXFwNClx0ZXh0e1N0YXJrZXIgRWZmZWt0OiB9IDAuNTAgJjwgdyAgICAgICAgDQpcZW5ke2FsaWdufQ0KJCQNCg0KDQpEYW1pdCBlbnRzcHJpY2h0IGVpbmUgRWZmZWt0c3TDpHJrZSB2b24gMC44NSBlaW5lbSBzdGFya2VuIEVmZmVrdC4NCg0KDQojIEVpbmUgQXVzc2FnZQ0KDQpEZXIgS3J1c2thbC1XYWxsaXMtVGVzdCBiZXN0w6R0aWd0LCBkYXNzIGRpZSBTcG9ydGxpY2hrZWl0IHNpY2ggZHVyY2ggZGllIEFsdGVyc2dydXBwZSB1bnRlcnNjaGVpZGV0IChDaGktUXVhZHJhdCgyKSA9IDIxLjIyLCBwID0gLjAwMCkuIA0KDQpEZXIgYW5zY2hsaWVzc2VuZCBkdXJjaGdlZsO8aHJ0ZSBQb3N0LWhvYy1UZXN0IChUdWtleSkgemVpZ3QsIGRhc3MgYWxsZSBHcnVwcGVuICIwLTMwIiAoTWVkaWFuID0gMTMuNSwgbiA9IDEwKXVuZCAiMzEtNTUiIChNZWRpYW4gPSA5LjIsIG4gPSA4KSwgc293aWUgIjU2KyIgKE1lZGlhbiA9IDMuMCwgbiA9IDkpIHNpZ25pZmlrYW50IHVudGVyc2NoZWlkZW4gKHAgPCAuMDUpLiANCg0KRGllIEVmZmVrdHN0w6Rya2UgKHcgPSAuODUpIHplaWd0IGVpbiBzdGFya2VuIEVmZmVrdCwgc29kYXNzIHRhdHPDpGNobGljaCBkaWUgQWx0ZXJzZ3J1cHBlIGVpbmVuIGdyb3NzZW4gRWZmZWt0IGF1ZiBkaWUgQXVzZGF1ZXIsIGdlbWVzc2VuIGluIE1pbnV0ZW4gYXVmIGRlbSBMYXVmYmFuZCwgaGF0Lg0KDQpIMCB3aXJkIGFibGVobmVuLg==