Organisatorisches
Der Termin für die Abgabe der Projektarbeit wird im Kalender auf
Moodle angezeigt.
- Gruppengröße: 3 Personen geben zusammen ein Projekt
ab. Ohne zu einer Gruppe zu gehören kann für Sie leider keine
Projektleistung verbucht werden.
- Was wird abgegeben? RMarkdown Datei
und HTML Datei (Beschreibung der Ergebnisse + R-Code).
D.h. bitte
knitten
Sie ihre .Rmd regelmäßig!
- Screencast: Für einzelne Projekte sollten Sie einen
Screencast anfertigen (wenn dies gefordert ist, dann finden Sie einen
entsprechenden Hinweis in der Projektbeschreibung). Ist dies der Fall,
so sollten Sie ihren Screencast mit in Github hochladen! Ihr Screencast
sollte nicht länger als 5 Minuten dauern und ihre wesentlichen
Ergebnisse beinhalten (Grafiken eignen sich meist besonders gut für
einen solchen Screencast).
- Deadline und wo wird abgegeben?: Die Dateien werden
auf Github bearbeitet und auch dort abgegeben. Es zählt der letzte
Commit vor der Deadline zur Projektabgabe als finale Abgabe.
- Speichern: Bitte speichern Sie ihre RMarkdown Datei
in utf-8 ab (File -> Save with Encoding… -> UTF-8).
- Pull/Commit/Push auf Github: Sie arbeiten über
Github in einem Team zusammen. Bitte committen Sie regelmäßig ihre
Änderungen um Merge-Konflikten vorzubeugen!
- Default-Einstellungen zum Encoding ändern: Tools
-> Global Options -> Code -> Saving -> Default Text Encoding
-> UTF-8.
- Default-Einstellung zur Speicherung ändern: Tools
> Global Options > General > Workspace –> Da machen Sie
bitte den Haken weg für “Restore .RData into workspace at startup” und
stellen das Feld “Save workspace to .RData on exit” auf “Never”:
Zusammenarbeit
Sie sollten die Projekte immer im Team bearbeiten. Hierbei steht es
ihnen frei, wie Sie die Aufgaben innerhalb der Gruppe aufteilen. Sie
sollten in regelmäßigen Besprechungen, Online-Meetings, wie auch
Tutoriumsterminen zusammen an einer Lösung der Projektarbeit arbeiten
und alle Schritte ihrer Teammitglieder nachvollziehen können. Bei
tiefergehenden Fragen ist ihre erste Anlaufstelle ihr Tutor und das
Diskussionsforum auf Moodle. Stellen Sie immer konkrete Fragen
mit einem kleinen Beispiel und ihrem Fehlercode damit ihnen schnell
geholfen werden kann. Wie Sie möglichst gute Frage stellen können Sie hier
nachlesen.
Eskalationsmechanismus
Wenn zwischenmenschliche Konflikte innerhalb der Gruppe auftreten,
dann versuchen Sie im ersten Schritt diese innerhalb der Gruppe zu
klären. Hören Sie aufeinander und auf die Argumente der Gegenseite.
Sollten sich die Probleme nicht innerhalb der Gruppe lösen lassen, so
sollten Sie den Übungsleiter (Julius Düker) kontaktieren. Dieser wird
mit ihnen als Gruppe einen Termin vereinbaren und als Mediator wirken.
Bitte beschreiben Sie in diesem Gespräch das Problem und die Schritte
die Sie unternommen haben um die zwischenmenschlichen Konflikte zu
lösen. Falls auch das Gespräch mit dem Übungsleiter nicht zu einer
Verbesserung der Situation führt wird der Dozent (Dr. Alexander Rieber)
mit einbezogen.
Diskussionsforum auf Moodle
Auf Moodle gibt es ein Diskussionsforum, welches von ihren Fragen
lebt. Meist stellen sich noch andere Studierende/Teams die gleichen
Fragen wie Sie, deshalb scheuen Sie sich nicht davor Fragen zu stellen.
Wir helfen gerne!
Um ihnen möglichst schnell helfen zu können schauen Sie sich bitte
unsere Guidelines an wie gute Fragen gestellt werden können (Hier
sind die Guidelines zu finden)
Tutorium
Jede Gruppe wurde einem Tutor zugeteilt und es gibt fixe
Tutoriumstermine pro Gruppe in jeder Woche. Falls Sie Fragen haben, oder
einfach zusammen an dem Projekt arbeiten möchten können Sie dies gern in
ihrem Tutorium tun. Hinweis: Sie sollten nicht nur
während ihrer Tutoriumstermine an dem Projekt arbeiten, sondern das
Projekt konstant voran bringen. Kalkulieren Sie genug Zeit für die
Projekte und den Screencast ein!
Ausarbeitung des Projekts
Auf einzelne Fragen eingehen
In der Projektbeschreibung werden einzelne Fragen aufgeworfen, welche
Sie beantworten sollten. Hierzu werden Sie Code-Chunks in ihre RMarkdown
Datei einbetten. Sie sollten zu jeder Frage eine kurze Antwort
formulieren. Diese Antwort sollte mit Ergebnissen aus ihrer Ausarbeitung
untermauert werden (Ergebnisse aus R-Chunk). Bitte beantworten Sie die
Fragen immer im Fließtext und nicht im R-Chunk als Kommentar.
Sie sollen in der RMarkdown Datei nicht beschreiben, was ihr
Code macht, sondern sie sollen dessen Output
beschreiben. Mit Hilfe dieses Outputs sollten Sie die in der
Projektbeschreibung gestellte Frage beantworten können. Bitte
antworten Sie immer in ganzen Sätzen und nicht
stichpunktartig.
In der HTML-Datei, welche Sie mit dem jeweiligen Projekt abgeben,
sollten Sie alle Code-Informationen unterdrücken. Konkret bedeutet dies,
dass Sie folgenden Chunk zu Beginn der Projektausarbeitung eingefügt
lassen sollten (wurde von uns bereits ein das .Rmd jeder Projektarbeit
eingefügt):
knitr::opts_chunk$set(echo = FALSE, message=FALSE, warning = FALSE)
Der Hintergrund hierfür ist, dass Sie später in ihrer
Seminar/Bachelorarbeit auch keinen Code in ihren Fließtext einbetten
wollen, sondern nur die Ergebnisse die von diesem Code erzeugt wurden.
Dies erhöht die Lesbarkeit ihres Textes.
Interpretation der Ergebnisse
In der RMarkdown Datei sollten Sie nicht ihren Code beschreiben und
erläutern was dieser macht. Sie sollten die Ergebnisse dieses Codes
beschreiben, d.h. die Grafik, Tabelle oder Regressionsergebnisse. Die
Fragen in der Projektbeschreibung werden Sie in ihrer Beschreibung und
der Interpretation der Ergebnisse leiten.
- Bei der Beschreibung einer deskriptiven Analyse/Tabelle sollten Sie
auf Besonderheiten eingehen
- Was ist der Median, Mittelwert, Standardabweichung?
- Warum weichen diese zwischen verschiedenen Gruppen voneinander
ab?
- Können hier schon erste interessante Erkenntnisse gezogen
werden?
- Bei der Beschreibung einer Grafik sollten Sie auf Auffälligkeiten
eingehen
- Sind alle dargestellten Gruppen ähnlich?
- Gibt es irgendwo einen Knick, oder ist die Skalierung richtig?
- Bei der Beschreibung von Regressionsanalysen
- Ist der Koeffizient signifikant?
- Was sagt uns das Vorzeichen des Koeffizienten?
- Können wir hier etwas über die Größe des Effekts sagen?
Kommentare in den Code-Chunks zur besseren Lesbarkeit
In den Code-Chunks empfiehlt es sich einzelne Code-Blöcke zu
kommentieren. Dadurch wird gewährleistet, dass ihre Teamkollegen
nachvollziehen können, was Sie innerhalb dieses Code-Chunks machen
wollten!
Fazit: Kommentare erleichtern die Kommunikation und erhöhen das
Verständnis
LS0tCnRpdGxlOiAiTGVpdGxpbmllbiB6dXIgUHJvamVrdGFiZ2FiZSIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgdGhlbWU6IGNvc21vCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQotLS0KCiMgT3JnYW5pc2F0b3Jpc2NoZXMKCkRlciBUZXJtaW4gZsO8ciBkaWUgQWJnYWJlIGRlciBQcm9qZWt0YXJiZWl0IHdpcmQgaW0gS2FsZW5kZXIgYXVmIE1vb2RsZSBhbmdlemVpZ3QuCgotICoqR3J1cHBlbmdyw7bDn2U6KiogMyBQZXJzb25lbiBnZWJlbiB6dXNhbW1lbiBlaW4gUHJvamVrdCBhYi4gT2huZSB6dSBlaW5lciBHcnVwcGUgenUgZ2Vow7ZyZW4ga2FubiBmw7xyIFNpZSBsZWlkZXIga2VpbmUgUHJvamVrdGxlaXN0dW5nIHZlcmJ1Y2h0IHdlcmRlbi4KLSAqKldhcyB3aXJkIGFiZ2VnZWJlbj8qKiBSTWFya2Rvd24gRGF0ZWkgKip1bmQqKiBIVE1MIERhdGVpIChCZXNjaHJlaWJ1bmcgZGVyIEVyZ2Vibmlzc2UgKyBSLUNvZGUpLiBELmguIGJpdHRlIGBrbml0dGVuYCBTaWUgaWhyZSAuUm1kIHJlZ2VsbcOkw59pZyEKLSAqKlNjcmVlbmNhc3Q6KiogRsO8ciBlaW56ZWxuZSBQcm9qZWt0ZSBzb2xsdGVuIFNpZSBlaW5lbiBTY3JlZW5jYXN0IGFuZmVydGlnZW4gKHdlbm4gZGllcyBnZWZvcmRlcnQgaXN0LCBkYW5uIGZpbmRlbiBTaWUgZWluZW4gZW50c3ByZWNoZW5kZW4gSGlud2VpcyBpbiBkZXIgUHJvamVrdGJlc2NocmVpYnVuZykuIElzdCBkaWVzIGRlciBGYWxsLCBzbyBzb2xsdGVuIFNpZSBpaHJlbiBTY3JlZW5jYXN0IG1pdCBpbiBHaXRodWIgaG9jaGxhZGVuISBJaHIgU2NyZWVuY2FzdCBzb2xsdGUgbmljaHQgbMOkbmdlciBhbHMgNSBNaW51dGVuIGRhdWVybiB1bmQgaWhyZSB3ZXNlbnRsaWNoZW4gRXJnZWJuaXNzZSBiZWluaGFsdGVuIChHcmFmaWtlbiBlaWduZW4gc2ljaCBtZWlzdCBiZXNvbmRlcnMgZ3V0IGbDvHIgZWluZW4gc29sY2hlbiBTY3JlZW5jYXN0KS4KLSAqKkRlYWRsaW5lIHVuZCB3byB3aXJkIGFiZ2VnZWJlbj86KiogRGllIERhdGVpZW4gd2VyZGVuIGF1ZiBHaXRodWIgYmVhcmJlaXRldCB1bmQgYXVjaCBkb3J0IGFiZ2VnZWJlbi4gRXMgesOkaGx0IGRlciBsZXR6dGUgQ29tbWl0IHZvciBkZXIgRGVhZGxpbmUgenVyIFByb2pla3RhYmdhYmUgYWxzIGZpbmFsZSBBYmdhYmUuCi0gKipTcGVpY2hlcm46KiogQml0dGUgc3BlaWNoZXJuIFNpZSBpaHJlIFJNYXJrZG93biBEYXRlaSBpbiB1dGYtOCBhYiAoRmlsZSAtPiBTYXZlIHdpdGggRW5jb2RpbmcuLi4gLT4gVVRGLTgpLgotICoqUHVsbC9Db21taXQvUHVzaCBhdWYgR2l0aHViOioqIFNpZSBhcmJlaXRlbiDDvGJlciBHaXRodWIgaW4gZWluZW0gVGVhbSB6dXNhbW1lbi4gQml0dGUgY29tbWl0dGVuIFNpZSByZWdlbG3DpMOfaWcgaWhyZSDDhG5kZXJ1bmdlbiB1bSBNZXJnZS1Lb25mbGlrdGVuIHZvcnp1YmV1Z2VuIQotICoqRGVmYXVsdC1FaW5zdGVsbHVuZ2VuIHp1bSBFbmNvZGluZyDDpG5kZXJuKio6IFRvb2xzIC0+IEdsb2JhbCBPcHRpb25zIC0+IENvZGUgLT4gU2F2aW5nIC0+IERlZmF1bHQgVGV4dCBFbmNvZGluZyAtPiBVVEYtOC4KLSAqKkRlZmF1bHQtRWluc3RlbGx1bmcgenVyIFNwZWljaGVydW5nIMOkbmRlcm4qKjogVG9vbHMgPiBHbG9iYWwgT3B0aW9ucyA+IEdlbmVyYWwgPiBXb3Jrc3BhY2UgLS0+IERhIG1hY2hlbiBTaWUgYml0dGUgZGVuIEhha2VuIHdlZyBmw7xyICJSZXN0b3JlIC5SRGF0YSBpbnRvIHdvcmtzcGFjZSBhdCBzdGFydHVwIiB1bmQgc3RlbGxlbiBkYXMgRmVsZCAiU2F2ZSB3b3Jrc3BhY2UgdG8gLlJEYXRhIG9uIGV4aXQiIGF1ZiAiTmV2ZXIiOgoKIVtdKC4vZmlncy9HbG9iYWwtb3B0aW9uc19SU3R1ZGlvLnBuZykKCiMgWnVzYW1tZW5hcmJlaXQKClNpZSBzb2xsdGVuIGRpZSBQcm9qZWt0ZSBpbW1lciBpbSBUZWFtIGJlYXJiZWl0ZW4uIEhpZXJiZWkgc3RlaHQgZXMgaWhuZW4gZnJlaSwgd2llIFNpZSBkaWUgQXVmZ2FiZW4gaW5uZXJoYWxiIGRlciBHcnVwcGUgYXVmdGVpbGVuLiBTaWUgc29sbHRlbiBpbiByZWdlbG3DpMOfaWdlbiBCZXNwcmVjaHVuZ2VuLCBPbmxpbmUtTWVldGluZ3MsIHdpZSBhdWNoIFR1dG9yaXVtc3Rlcm1pbmVuIHp1c2FtbWVuIGFuIGVpbmVyIEzDtnN1bmcgZGVyIFByb2pla3RhcmJlaXQgYXJiZWl0ZW4gdW5kIGFsbGUgU2Nocml0dGUgaWhyZXIgVGVhbW1pdGdsaWVkZXIgbmFjaHZvbGx6aWVoZW4ga8O2bm5lbi4gQmVpIHRpZWZlcmdlaGVuZGVuIEZyYWdlbiBpc3QgaWhyZSBlcnN0ZSBBbmxhdWZzdGVsbGUgaWhyIFR1dG9yIHVuZCBkYXMgX0Rpc2t1c3Npb25zZm9ydW1fIGF1ZiBNb29kbGUuIFN0ZWxsZW4gU2llIGltbWVyIGtvbmtyZXRlIEZyYWdlbiBtaXQgZWluZW0ga2xlaW5lbiBCZWlzcGllbCB1bmQgaWhyZW0gRmVobGVyY29kZSBkYW1pdCBpaG5lbiBzY2huZWxsIGdlaG9sZmVuIHdlcmRlbiBrYW5uLiBXaWUgU2llIG3DtmdsaWNoc3QgZ3V0ZSBGcmFnZSBzdGVsbGVuIGvDtm5uZW4gU2llIFtoaWVyXShodHRwczovL3Byb2pla3RrdXJzLWRhdGEtc2NpZW5jZS11bG0yMjIzLm5ldGxpZnkuYXBwL3R1dG9yaWFscy9mcmFnZW4taW0tZm9ydW0pIG5hY2hsZXNlbi4KCiMjIEVza2FsYXRpb25zbWVjaGFuaXNtdXMKCldlbm4gendpc2NoZW5tZW5zY2hsaWNoZSBLb25mbGlrdGUgaW5uZXJoYWxiIGRlciBHcnVwcGUgYXVmdHJldGVuLCBkYW5uIHZlcnN1Y2hlbiBTaWUgaW0gZXJzdGVuIFNjaHJpdHQgZGllc2UgaW5uZXJoYWxiIGRlciBHcnVwcGUgenUga2zDpHJlbi4gSMO2cmVuIFNpZSBhdWZlaW5hbmRlciB1bmQgYXVmIGRpZSBBcmd1bWVudGUgZGVyIEdlZ2Vuc2VpdGUuIFNvbGx0ZW4gc2ljaCBkaWUgUHJvYmxlbWUgbmljaHQgaW5uZXJoYWxiIGRlciBHcnVwcGUgbMO2c2VuIGxhc3Nlbiwgc28gc29sbHRlbiBTaWUgZGVuIMOcYnVuZ3NsZWl0ZXIgKEp1bGl1cyBEw7xrZXIpIGtvbnRha3RpZXJlbi4gRGllc2VyIHdpcmQgbWl0IGlobmVuIGFscyBHcnVwcGUgZWluZW4gVGVybWluIHZlcmVpbmJhcmVuIHVuZCBhbHMgTWVkaWF0b3Igd2lya2VuLiBCaXR0ZSBiZXNjaHJlaWJlbiBTaWUgaW4gZGllc2VtIEdlc3Byw6RjaCBkYXMgUHJvYmxlbSB1bmQgZGllIFNjaHJpdHRlIGRpZSBTaWUgdW50ZXJub21tZW4gaGFiZW4gdW0gZGllIHp3aXNjaGVubWVuc2NobGljaGVuIEtvbmZsaWt0ZSB6dSBsw7ZzZW4uIEZhbGxzIGF1Y2ggZGFzIEdlc3Byw6RjaCBtaXQgZGVtIMOcYnVuZ3NsZWl0ZXIgbmljaHQgenUgZWluZXIgVmVyYmVzc2VydW5nIGRlciBTaXR1YXRpb24gZsO8aHJ0IHdpcmQgZGVyIERvemVudCAoRHIuIEFsZXhhbmRlciBSaWViZXIpIG1pdCBlaW5iZXpvZ2VuLgoKIyBEaXNrdXNzaW9uc2ZvcnVtIGF1ZiBNb29kbGUKCkF1ZiBNb29kbGUgZ2lidCBlcyBlaW4gRGlza3Vzc2lvbnNmb3J1bSwgd2VsY2hlcyB2b24gaWhyZW4gRnJhZ2VuIGxlYnQuCk1laXN0IHN0ZWxsZW4gc2ljaCBub2NoIGFuZGVyZSBTdHVkaWVyZW5kZS9UZWFtcyBkaWUgZ2xlaWNoZW4gRnJhZ2VuIHdpZSBTaWUsIGRlc2hhbGIgc2NoZXVlbiBTaWUgc2ljaCBuaWNodCBkYXZvciBGcmFnZW4genUgc3RlbGxlbi4gV2lyIGhlbGZlbiBnZXJuZSEKClVtIGlobmVuIG3DtmdsaWNoc3Qgc2NobmVsbCBoZWxmZW4genUga8O2bm5lbiBzY2hhdWVuIFNpZSBzaWNoIGJpdHRlIHVuc2VyZSBHdWlkZWxpbmVzIGFuIHdpZSBndXRlIEZyYWdlbiBnZXN0ZWxsdCB3ZXJkZW4ga8O2bm5lbiAoW0hpZXIgc2luZCBkaWUgR3VpZGVsaW5lcyB6dSBmaW5kZW5dKGh0dHBzOi8vcHJvamVrdGt1cnMtZGF0YS1zY2llbmNlLXVsbTIyMjMubmV0bGlmeS5hcHAvdHV0b3JpYWxzL2ZyYWdlbi1pbS1mb3J1bSkpCgojIFR1dG9yaXVtCgpKZWRlIEdydXBwZSB3dXJkZSBlaW5lbSBUdXRvciB6dWdldGVpbHQgdW5kIGVzIGdpYnQgZml4ZSBUdXRvcml1bXN0ZXJtaW5lIHBybyBHcnVwcGUgaW4gamVkZXIgV29jaGUuIEZhbGxzIFNpZSBGcmFnZW4gaGFiZW4sIG9kZXIgZWluZmFjaCB6dXNhbW1lbiBhbiBkZW0gUHJvamVrdCBhcmJlaXRlbiBtw7ZjaHRlbiBrw7ZubmVuIFNpZSBkaWVzIGdlcm4gaW4gaWhyZW0gVHV0b3JpdW0gdHVuLgoqKkhpbndlaXM6KiogU2llIHNvbGx0ZW4gbmljaHQgbnVyIHfDpGhyZW5kIGlocmVyIFR1dG9yaXVtc3Rlcm1pbmUgYW4gZGVtIFByb2pla3QgYXJiZWl0ZW4sIHNvbmRlcm4gZGFzIFByb2pla3Qga29uc3RhbnQgdm9yYW4gYnJpbmdlbi4gS2Fsa3VsaWVyZW4gU2llIGdlbnVnIFplaXQgZsO8ciBkaWUgUHJvamVrdGUgdW5kIGRlbiBTY3JlZW5jYXN0IGVpbiEKCiMgQXVzYXJiZWl0dW5nIGRlcyBQcm9qZWt0cwoKIyMgQXVmIGVpbnplbG5lIEZyYWdlbiBlaW5nZWhlbgoKSW4gZGVyIFByb2pla3RiZXNjaHJlaWJ1bmcgd2VyZGVuIGVpbnplbG5lIEZyYWdlbiBhdWZnZXdvcmZlbiwgd2VsY2hlIFNpZSBiZWFudHdvcnRlbiBzb2xsdGVuLiBIaWVyenUgd2VyZGVuIFNpZSBDb2RlLUNodW5rcyBpbiBpaHJlIFJNYXJrZG93biBEYXRlaSBlaW5iZXR0ZW4uClNpZSBzb2xsdGVuIHp1IGplZGVyIEZyYWdlIGVpbmUga3VyemUgQW50d29ydCBmb3JtdWxpZXJlbi4gRGllc2UgQW50d29ydCBzb2xsdGUgbWl0IEVyZ2Vibmlzc2VuIGF1cyBpaHJlciBBdXNhcmJlaXR1bmcgdW50ZXJtYXVlcnQgd2VyZGVuIChFcmdlYm5pc3NlIGF1cyBSLUNodW5rKS4KQml0dGUgYmVhbnR3b3J0ZW4gU2llIGRpZSBGcmFnZW4gaW1tZXIgaW0gRmxpZcOfdGV4dCB1bmQgX25pY2h0XyBpbSBSLUNodW5rIGFscyBLb21tZW50YXIuClNpZSBzb2xsZW4gaW4gZGVyIFJNYXJrZG93biBEYXRlaSBfbmljaHRfIGJlc2NocmVpYmVuLCB3YXMgaWhyIENvZGUgbWFjaHQsICoqc29uZGVybioqIHNpZSBzb2xsZW4gZGVzc2VuIE91dHB1dCBiZXNjaHJlaWJlbi4gTWl0IEhpbGZlIGRpZXNlcyBPdXRwdXRzIHNvbGx0ZW4gU2llIGRpZSBpbiBkZXIgUHJvamVrdGJlc2NocmVpYnVuZyBnZXN0ZWxsdGUgRnJhZ2UgYmVhbnR3b3J0ZW4ga8O2bm5lbi4gQml0dGUgKiphbnR3b3J0ZW4gU2llIGltbWVyIGluIGdhbnplbiBTw6R0emVuKiogdW5kIF9uaWNodF8gc3RpY2hwdW5rdGFydGlnLgoKSW4gZGVyIEhUTUwtRGF0ZWksIHdlbGNoZSBTaWUgbWl0IGRlbSBqZXdlaWxpZ2VuIFByb2pla3QgYWJnZWJlbiwgc29sbHRlbiBTaWUgYWxsZSBDb2RlLUluZm9ybWF0aW9uZW4gdW50ZXJkcsO8Y2tlbi4gS29ua3JldCBiZWRldXRldCBkaWVzLCBkYXNzIFNpZSBmb2xnZW5kZW4gQ2h1bmsgenUgQmVnaW5uIGRlciBQcm9qZWt0YXVzYXJiZWl0dW5nIGVpbmdlZsO8Z3QgbGFzc2VuIHNvbGx0ZW4gKHd1cmRlIHZvbiB1bnMgYmVyZWl0cyBlaW4gZGFzIC5SbWQgamVkZXIgUHJvamVrdGFyYmVpdCBlaW5nZWbDvGd0KTogCgpgYGB7ciwgZXZhbD1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBGQUxTRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZyA9IEZBTFNFKQpgYGAKCkRlciBIaW50ZXJncnVuZCBoaWVyZsO8ciBpc3QsIGRhc3MgU2llIHNww6R0ZXIgaW4gaWhyZXIgU2VtaW5hci9CYWNoZWxvcmFyYmVpdCBhdWNoIGtlaW5lbiBDb2RlIGluIGlocmVuIEZsaWXDn3RleHQgZWluYmV0dGVuIHdvbGxlbiwgc29uZGVybiBudXIgZGllIEVyZ2Vibmlzc2UgZGllIHZvbiBkaWVzZW0gQ29kZSBlcnpldWd0IHd1cmRlbi4gRGllcyBlcmjDtmh0IGRpZSBMZXNiYXJrZWl0IGlocmVzIFRleHRlcy4KCiMjIEludGVycHJldGF0aW9uIGRlciBfRXJnZWJuaXNzZV8KCkluIGRlciBSTWFya2Rvd24gRGF0ZWkgc29sbHRlbiBTaWUgbmljaHQgaWhyZW4gQ29kZSBiZXNjaHJlaWJlbiB1bmQgZXJsw6R1dGVybiB3YXMgZGllc2VyIG1hY2h0LiBTaWUgc29sbHRlbiBkaWUgRXJnZWJuaXNzZSBkaWVzZXMgQ29kZXMgYmVzY2hyZWliZW4sIGQuaC4gZGllIEdyYWZpaywgVGFiZWxsZSBvZGVyIFJlZ3Jlc3Npb25zZXJnZWJuaXNzZS4KRGllIEZyYWdlbiBpbiBkZXIgUHJvamVrdGJlc2NocmVpYnVuZyB3ZXJkZW4gU2llIGluIGlocmVyIEJlc2NocmVpYnVuZyB1bmQgZGVyIEludGVycHJldGF0aW9uIGRlciBFcmdlYm5pc3NlIGxlaXRlbi4KCi0gQmVpIGRlciBCZXNjaHJlaWJ1bmcgZWluZXIgZGVza3JpcHRpdmVuIEFuYWx5c2UvVGFiZWxsZSBzb2xsdGVuIFNpZSBhdWYgQmVzb25kZXJoZWl0ZW4gZWluZ2VoZW4KICAtIFdhcyBpc3QgZGVyIE1lZGlhbiwgTWl0dGVsd2VydCwgU3RhbmRhcmRhYndlaWNodW5nPwogIC0gV2FydW0gd2VpY2hlbiBkaWVzZSB6d2lzY2hlbiB2ZXJzY2hpZWRlbmVuIEdydXBwZW4gdm9uZWluYW5kZXIgYWI/CiAgLSBLw7ZubmVuIGhpZXIgc2Nob24gZXJzdGUgaW50ZXJlc3NhbnRlIEVya2VubnRuaXNzZSBnZXpvZ2VuIHdlcmRlbj8KLSBCZWkgZGVyIEJlc2NocmVpYnVuZyBlaW5lciBHcmFmaWsgc29sbHRlbiBTaWUgYXVmIEF1ZmbDpGxsaWdrZWl0ZW4gZWluZ2VoZW4KICAtIFNpbmQgYWxsZSBkYXJnZXN0ZWxsdGVuIEdydXBwZW4gw6RobmxpY2g/CiAgLSBHaWJ0IGVzIGlyZ2VuZHdvIGVpbmVuIEtuaWNrLCBvZGVyIGlzdCBkaWUgU2thbGllcnVuZyByaWNodGlnPwotIEJlaSBkZXIgQmVzY2hyZWlidW5nIHZvbiBSZWdyZXNzaW9uc2FuYWx5c2VuCiAgLSBJc3QgZGVyIEtvZWZmaXppZW50IHNpZ25pZmlrYW50PwogIC0gV2FzIHNhZ3QgdW5zIGRhcyBWb3J6ZWljaGVuIGRlcyBLb2VmZml6aWVudGVuPwogIC0gS8O2bm5lbiB3aXIgaGllciBldHdhcyDDvGJlciBkaWUgR3LDtsOfZSBkZXMgRWZmZWt0cyBzYWdlbj8KCgojIyBLb21tZW50YXJlIGluIGRlbiBDb2RlLUNodW5rcyB6dXIgYmVzc2VyZW4gTGVzYmFya2VpdAoKSW4gZGVuIENvZGUtQ2h1bmtzIGVtcGZpZWhsdCBlcyBzaWNoIGVpbnplbG5lIENvZGUtQmzDtmNrZSB6dSBrb21tZW50aWVyZW4uIERhZHVyY2ggd2lyZCBnZXfDpGhybGVpc3RldCwgZGFzcyBpaHJlIFRlYW1rb2xsZWdlbiBuYWNodm9sbHppZWhlbiBrw7ZubmVuLCB3YXMgU2llIGlubmVyaGFsYiBkaWVzZXMgQ29kZS1DaHVua3MgbWFjaGVuIHdvbGx0ZW4hCgpGYXppdDogS29tbWVudGFyZSBlcmxlaWNodGVybiBkaWUgS29tbXVuaWthdGlvbiB1bmQgZXJow7ZoZW4gZGFzIFZlcnN0w6RuZG5pcwo=