From c6fca7b5410a0ce9b5506954edc9d7fbd21e5b8a Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Mon, 30 Mar 2026 20:45:04 +0200 Subject: [PATCH] Add initial implementation including utility classes, core modules, and project configuration files --- .idea/.gitignore | 10 ++ .idea/Aufgabenblatt1.iml | 9 ++ .idea/copilot.data.migration.ask2agent.xml | 6 + .idea/misc.xml | 6 + .idea/modules.xml | 9 ++ .idea/vcs.xml | 6 + aufgabenblatt1/aufgabenblatt1.iml | 11 ++ aufgabenblatt1/src/solution.md | 59 +++++++++ aufgabenblatt1/src/task1.png | Bin 0 -> 16357 bytes aufgabenblatt1/src/task2.png | Bin 0 -> 17767 bytes aufgabenblatt1/src/task3/NumberGuesser.java | 49 ++++++++ aufgabenblatt1/src/task3/NumberGuesserAI.java | 38 ++++++ aufgabenblatt1/src/task4/AnagrammChecker.java | 35 ++++++ .../src/task4/AnagrammCheckerAI.java | 27 ++++ aufgabenblatt1/src/util/ArrayTester.java | 14 +++ aufgabenblatt1/src/util/Util.java | 116 ++++++++++++++++++ out/production/aufgabenblatt1/solution.md | 6 + out/production/aufgabenblatt1/task1.png | Bin 0 -> 16357 bytes out/production/aufgabenblatt1/task2.png | Bin 0 -> 17767 bytes .../aufgabenblatt1/task3/NumberGuesser.class | Bin 0 -> 1989 bytes .../aufgabenblatt1/util/ArrayTester.class | Bin 0 -> 764 bytes out/production/aufgabenblatt1/util/Util.class | Bin 0 -> 2160 bytes 22 files changed, 401 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/Aufgabenblatt1.iml create mode 100644 .idea/copilot.data.migration.ask2agent.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 aufgabenblatt1/aufgabenblatt1.iml create mode 100644 aufgabenblatt1/src/solution.md create mode 100644 aufgabenblatt1/src/task1.png create mode 100644 aufgabenblatt1/src/task2.png create mode 100644 aufgabenblatt1/src/task3/NumberGuesser.java create mode 100644 aufgabenblatt1/src/task3/NumberGuesserAI.java create mode 100644 aufgabenblatt1/src/task4/AnagrammChecker.java create mode 100644 aufgabenblatt1/src/task4/AnagrammCheckerAI.java create mode 100644 aufgabenblatt1/src/util/ArrayTester.java create mode 100644 aufgabenblatt1/src/util/Util.java create mode 100644 out/production/aufgabenblatt1/solution.md create mode 100644 out/production/aufgabenblatt1/task1.png create mode 100644 out/production/aufgabenblatt1/task2.png create mode 100644 out/production/aufgabenblatt1/task3/NumberGuesser.class create mode 100644 out/production/aufgabenblatt1/util/ArrayTester.class create mode 100644 out/production/aufgabenblatt1/util/Util.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/Aufgabenblatt1.iml b/.idea/Aufgabenblatt1.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/Aufgabenblatt1.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/copilot.data.migration.ask2agent.xml b/.idea/copilot.data.migration.ask2agent.xml new file mode 100644 index 0000000..1f2ea11 --- /dev/null +++ b/.idea/copilot.data.migration.ask2agent.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..be7226b --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..5784362 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/aufgabenblatt1/aufgabenblatt1.iml b/aufgabenblatt1/aufgabenblatt1.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/aufgabenblatt1/aufgabenblatt1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/aufgabenblatt1/src/solution.md b/aufgabenblatt1/src/solution.md new file mode 100644 index 0000000..e140a11 --- /dev/null +++ b/aufgabenblatt1/src/solution.md @@ -0,0 +1,59 @@ +# Task 1 +![](./task1.png) + +# Task 2 +![](./task2.png) + +# Task 3 + +## Strategie & Laufzeitkomplexität + +Mein Ansatz für `autoGuess()` verwendet **Binary Search** (Binäre Suche). Die Suchgrenzen starten bei `Integer.MIN_VALUE` und `Integer.MAX_VALUE`. In jedem Schritt wird die Mitte des verbleibenden Bereichs geraten und mit `isBigger()` geprüft, ob die Zielzahl größer oder kleiner ist. Dadurch halbiert sich der Suchbereich mit jedem Versuch. + +**Laufzeitkomplexität: O(log n)**, wobei n die Größe des Suchbereichs ist (hier 2^32 für den gesamten int-Bereich). Das ergibt maximal ~32 Rateversuche, unabhängig von der Zielzahl. + +## Vergleich: Eigene Lösung vs. KI-Lösung + +Die KI (Claude) hat die gleiche Aufgabe erhalten — die vollständige NumberGuesser-Klasse mit einer leeren `autoGuess()`-Methode zum Ausfüllen. + +**Ergebnis:** Beide Implementierungen sind **identisch**. Sowohl meine als auch die KI-Lösung verwenden Binary Search mit denselben Suchgrenzen und derselben overflow-sicheren Berechnung der Mitte (`low + (high - low) / 2`). + +**Gemeinsamkeiten:** +- Beide nutzen Binary Search über den gesamten int-Bereich +- Gleiche Initialisierung: `low = Integer.MIN_VALUE`, `high = Integer.MAX_VALUE` +- Gleiche Berechnung des Mittelpunkts: `low + (high - low) / 2` (overflow-sicher) +- Gleiche Abbruchbedingung: `while (low <= high)` + +**Unterschiede:** +- Keine funktionalen Unterschiede in `autoGuess()` + +## KI-Abschätzung der Laufzeitkomplexität + +**KI-Antwort:** "Runtime complexity for both: O(log n) where n = 2^32 (the full int range), so at most ~32 iterations." + +**Bewertung:** Die KI liegt **richtig**. Binary Search halbiert den Suchbereich in jedem Schritt, was zu einer logarithmischen Laufzeit führt. Für den gesamten int-Bereich von 2^32 Werten ergibt das log₂(2^32) = 32 Schritte im Worst Case. Dies ist deutlich effizienter als ein linearer Ansatz mit O(n), der im schlimmsten Fall alle ~4,3 Milliarden Werte durchprobieren müsste. + +# Task 4 + +## Strategie & Laufzeitkomplexität + +Mein Ansatz für `isAnagram()` wandelt beide Wörter in char-Arrays um, sortiert diese mit `Arrays.sort()` und vergleicht die sortierten Strings. Wenn die sortierten Versionen gleich sind, handelt es sich um ein Anagramm. + +**Laufzeitkomplexität: O(n log n)**, wobei n die Länge des längeren Wortes ist. Der dominierende Faktor ist das Sortieren der char-Arrays (`Arrays.sort()` verwendet Dual-Pivot Quicksort mit O(n log n)). Der anschließende Vergleich ist nur O(n). + +Ein effizienterer Ansatz wäre O(n) mit einer HashMap/Array, die die Buchstabenhäufigkeiten zählt — allerdings ist O(n log n) für typische Wortlängen völlig ausreichend. + +## Vergleich: Eigene Lösung vs. KI-Lösung + +Beide Lösungen verwenden den **gleichen Algorithmus**: Sortieren der Zeichen und Vergleich der sortierten Arrays. + +**Gemeinsamkeiten:** +- Beide nutzen `Arrays.sort()` auf char-Arrays +- Gleicher algorithmischer Ansatz: Sort-and-Compare +- Gleiche Laufzeitkomplexität: O(n log n) + +**Unterschiede:** +- **Rückgabetyp:** Meine Lösung gibt `void` zurück und druckt das Ergebnis direkt auf die Konsole. Die KI gibt `boolean` zurück — sauberer, da die Methode so wiederverwendbar ist. +- **Null-Check:** Die KI prüft auf `null`-Werte (`if (word0 == null || word1 == null)`). Meine Lösung tut dies nicht, würde also bei `null`-Eingaben eine `NullPointerException` werfen. +- **Vergleichsmethode:** Meine Lösung erstellt neue Strings und vergleicht mit `String.equals()`. Die KI vergleicht die char-Arrays direkt mit `Arrays.equals()`, was einen unnötigen String-Allokationsschritt spart. +- **Hilfsmethode:** Meine Lösung lagert das Sortieren in eine eigene `sortString()`-Methode aus. Die KI schreibt alles inline in `isAnagram()`. diff --git a/aufgabenblatt1/src/task1.png b/aufgabenblatt1/src/task1.png new file mode 100644 index 0000000000000000000000000000000000000000..94f2a611d8658e9e074c665a9bd74d735d4ab691 GIT binary patch literal 16357 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 literal 0 HcmV?d00001 diff --git a/aufgabenblatt1/src/task2.png b/aufgabenblatt1/src/task2.png new file mode 100644 index 0000000000000000000000000000000000000000..65ff82545d54a7424a9b2524b9cf75d23444afa9 GIT binary patch literal 17767 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 I_1OP^0I|n@t^fc4 literal 0 HcmV?d00001 diff --git a/aufgabenblatt1/src/task3/NumberGuesser.java b/aufgabenblatt1/src/task3/NumberGuesser.java new file mode 100644 index 0000000..47db76c --- /dev/null +++ b/aufgabenblatt1/src/task3/NumberGuesser.java @@ -0,0 +1,49 @@ +package task3; + +import java.util.Scanner; + +public class NumberGuesser { + private int number; + + public NumberGuesser(int targetNumber){ + this.number = targetNumber; + } + public boolean isBigger(int guess){ + return guess < number; + } + + public void guess(){ + Scanner scanner = new Scanner(System.in); + System.out.println("Guess a number: "); + int guess = scanner.nextInt(); + switch (Integer.compare(guess, number)) { + case -1 -> System.out.println("Too low!"); + case 0 -> System.out.println("Correct!"); + case 1 -> System.out.println("Too high!"); + } + } + + public void autoGuess(){ + int low = Integer.MIN_VALUE; + int high = Integer.MAX_VALUE; + + while (low <= high) { + int mid = low + (high - low) / 2; + + if (mid == number) { + System.out.println("Found the number: " + mid); + return; + } else if (isBigger(mid)) { + low = mid + 1; + } else { + high = mid - 1; + } + } + } + + public static void main(String[] args) { + NumberGuesser numberGuesser = new NumberGuesser(100); + System.out.println(numberGuesser.isBigger(Integer.MAX_VALUE/2)); + numberGuesser.autoGuess(); + } +} diff --git a/aufgabenblatt1/src/task3/NumberGuesserAI.java b/aufgabenblatt1/src/task3/NumberGuesserAI.java new file mode 100644 index 0000000..6320231 --- /dev/null +++ b/aufgabenblatt1/src/task3/NumberGuesserAI.java @@ -0,0 +1,38 @@ +package task3; + +import java.util.Scanner; + +public class NumberGuesserAI { + private final int number; + + public NumberGuesserAI(int targetNumber){ + this.number = targetNumber; + } + public boolean isBigger(int guess){ + return guess < number; + } + + public void autoGuess(){ + int low = Integer.MIN_VALUE; + int high = Integer.MAX_VALUE; + + while (low <= high) { + int mid = low + (high - low) / 2; + + if (mid == number) { + System.out.println("Found the number: " + mid); + return; + } else if (isBigger(mid)) { + low = mid + 1; + } else { + high = mid - 1; + } + } + } + + public static void main(String[] args) { + NumberGuesserAI numberGuesser = new NumberGuesserAI(100); + System.out.println(numberGuesser.isBigger(Integer.MAX_VALUE/2)); + numberGuesser.autoGuess(); + } +} \ No newline at end of file diff --git a/aufgabenblatt1/src/task4/AnagrammChecker.java b/aufgabenblatt1/src/task4/AnagrammChecker.java new file mode 100644 index 0000000..ac3968b --- /dev/null +++ b/aufgabenblatt1/src/task4/AnagrammChecker.java @@ -0,0 +1,35 @@ +package task4; + +import java.lang.reflect.Array; +import java.util.Arrays; + +public class AnagrammChecker { + private String word0; + private String word1; + + public AnagrammChecker(String word0, String word1){ + this.word0 = word0; + this.word1 = word1; + } + + + + public void isAnagram(){ + String sortedWord0 = sortString(word0); + String sortedWord1 = sortString(word1); + + if (sortedWord1.equals(sortedWord0)) { + System.out.println("Die Wörter sind Anagramme."); + } else { + System.out.println("Die Wörter sind keine Anagramme."); + } + } + + private String sortString(String string) { + char tempArr[] = string.toCharArray(); + + Arrays.sort(tempArr); + + return new String(tempArr); + } +} diff --git a/aufgabenblatt1/src/task4/AnagrammCheckerAI.java b/aufgabenblatt1/src/task4/AnagrammCheckerAI.java new file mode 100644 index 0000000..506b956 --- /dev/null +++ b/aufgabenblatt1/src/task4/AnagrammCheckerAI.java @@ -0,0 +1,27 @@ +package task4; + +import java.util.Arrays; + +public class AnagrammCheckerAI { + private String word0; + private String word1; + + public AnagrammCheckerAI(String word0, String word1){ + this.word0 = word0; + this.word1 = word1; + } + + + + public boolean isAnagram() { + if (word0 == null || word1 == null) { + return false; + } + char[] chars0 = word0.toLowerCase().toCharArray(); + char[] chars1 = word1.toLowerCase().toCharArray(); + Arrays.sort(chars0); + Arrays.sort(chars1); + return Arrays.equals(chars0, chars1); + } + +} diff --git a/aufgabenblatt1/src/util/ArrayTester.java b/aufgabenblatt1/src/util/ArrayTester.java new file mode 100644 index 0000000..c0426b3 --- /dev/null +++ b/aufgabenblatt1/src/util/ArrayTester.java @@ -0,0 +1,14 @@ +package util; + +public class ArrayTester { + public static final void main(String[] args) + { + Util util = new Util(); + int num = 60; + int[] array0 = new int[num]; + int[] array1 = new int[num]; + util.fillArrayRandom(array0, num*100); + util.fillArrayRandom(array1, num*100); + System.out.println(util.firstMatch(array0, array1)); + } +} diff --git a/aufgabenblatt1/src/util/Util.java b/aufgabenblatt1/src/util/Util.java new file mode 100644 index 0000000..4460f07 --- /dev/null +++ b/aufgabenblatt1/src/util/Util.java @@ -0,0 +1,116 @@ +package util; +/** + * Write a description of class Util here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class Util +{ + public void printArray(int[] array) + { + for (int i = 0; i < array.length; ++i) + { + System.out.print(array[i]); + + // Prüfen, ob wir nicht beim letzten Element sind. + // Auf das letzte Element sollte kein Komma folgen. + if (i < array.length - 1) + { + System.out.print(","); + } + } + + // Nach Ausgabe brechen wir die Zeile um, damit folgende Ausgaben + // in einer neuen Zeile beginnen. + System.out.println(); + } + + public int randomInt(int upperLimit) + { + double random = Math.random(); // Zufallszahl zwischen 0.0 und 1.0 holen. + + // Zufallszahl per Multiplikation auf 0.0-upperLimit skalieren + random = random * upperLimit; + + // Nachkommastellen abschneiden und in Ganzzahlwert (int) umwandeln. + int result = (int) random; + + return result; + } + + public void fillArrayRandom(int[] array, int upperLimit) + { + for (int i = 0; i < array.length; ++i) + { + array[i] = randomInt(upperLimit); + } + } + + public int[] concatArray(int[] array0, int[] array1) + { + int[] result = new int[array0.length + array1.length]; + + // Manuelles Kopieren mit Schleifen. + for (int i = 0; i < array0.length; ++i) + { + result[i] = array0[i]; + } + for (int i = 0; i < array1.length; ++i) + { + // Um array0.length verschoben einfügen. + result[array0.length + i] = array1[i]; + } + + // Alternative Lösung unter Verwendung von System.arraycopy(). + // System.arraycopy(array0, 0, result, 0, array0.length); + // System.arraycopy(array1, 0, result, array0.length, array1.length); + + return result; + } + + public int findMax(int[] array) { + int max = 0; + boolean found = false; + int loopRuns = 0; + for (int i = 0; !found && i < array.length; ++i) { + loopRuns++; + if (array[i] > max) { + max = array[i]; + } + } + return loopRuns; + } + + public int firstMatch(int[] array0, int[] array1) { + int loopRuns = 0; + for (int i = 0; i < array0.length; i++) { + for (int j = 0; j < array1.length; j++) { + loopRuns++; + if (array0[i] == array1[j]) { + return loopRuns; + } + } + } + return loopRuns; + } + + public void fillArrayRandomRecursively(int[] array, int start, int upperLimit) + { + if (array.length - start <= 0) + { + return; + } + + array[start] = randomInt(upperLimit); + fillArrayRandomRecursively(array, start + 1, upperLimit); + } + + public void testRandomFillRecursively() + { + Util util = new Util(); + int[] valueArray = new int[100]; + util.fillArrayRandomRecursively(valueArray, 0, 100); + util.printArray(valueArray); + } +} diff --git a/out/production/aufgabenblatt1/solution.md b/out/production/aufgabenblatt1/solution.md new file mode 100644 index 0000000..10503f8 --- /dev/null +++ b/out/production/aufgabenblatt1/solution.md @@ -0,0 +1,6 @@ +# Task 1 +![](./task1.png) + +# Task 2 +![](./task2.png) + diff --git a/out/production/aufgabenblatt1/task1.png b/out/production/aufgabenblatt1/task1.png new file mode 100644 index 0000000000000000000000000000000000000000..94f2a611d8658e9e074c665a9bd74d735d4ab691 GIT binary patch literal 16357 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 literal 0 HcmV?d00001 diff --git a/out/production/aufgabenblatt1/task2.png b/out/production/aufgabenblatt1/task2.png new file mode 100644 index 0000000000000000000000000000000000000000..65ff82545d54a7424a9b2524b9cf75d23444afa9 GIT binary patch literal 17767 zcmeIabyQVd)GmHd1f)YsNiaY41+_+XOc^yv zNi+tDGx0Ahp-G1Mfl$0D9t*!?R|5m#UZ);6A|89so@rrHNn%W55)u+ME!{jOmkW%H zj2R<-+2Ns~q4F0WR>8N>+yDQ5WizO1YHsc;v(`B|Tu5b`-Cv(mD`s6H}vbgsN=Z|q+DFe9cwBos4y@vp8otmJ>QcY z{`D&wpZ+eDsOuUUF5|KL=aQ0=QrCMyqIhm2S$G9b^S#F1iR0l%)aVzxwtvhzRrU2F z6k?gLb8{2TwnewaFv;=QPu=_Qu=D}}&7H4JL3j>x9puj@Y984z;2`r;pqbx4H$NY2 zSO1rS;OcEvY853V>FxRMQrmHn#pUHpxLX_|qPF$=GeQ~~8nm3;>_n|64i6wt-scO_duhw~2EqFE4-k zJq@ELSyU(S01bbx>X=dXV! zDk`eHE)3P4`lm+7?EFbn&!sfFDJV$EBp3A+CUkSuu3l0{hY|+(t-G7^Q*vFM_|ERG znyRYb>(`|6+3It&sJWByJ#XzNPj3A4&p!n-X0RS>-%d?EE@gTZI$&5uf7i{=cD$-_ za*{#mEr(i4@UwwDlGm?aYnIo-E$JH=^nEmzM%{CCz(M0hll5| zzh+QTRrU7p*xSpiBO)j$XcI3vG!#uvLBZ^TNt!sK!c7RP#jbXjqV8l%DQ>y$!i5X3 zVq*g?ViTg=9J8!`%X%jv4O zP$-GB6aEh$K4=zi!#ptdo0E(8KR?_u>q_9g*dSr;$Z1qZ3rizNnOWM+O-NBukr*a! zEcekT^M_T=tUrtNLZ+KTnny=z1Z~IsQd1dZqv;7y56i5`FI>FnaB|>qg@WRO+dmXk zsIDYoGL{EPejy>)E32z9uU`4tjFz*i$dJOcS&D{T!;zA4dDS^rVLvUE=)l6ll8}%v zwKdmiHs96V-IpPQhr0LR0U?)B9loBPUPVPk-m_fQTf{Upcw%B=Zl0d;hXm~h2X4QA z|4xIUvDIHXWV>4{k4Br!_GakX83#o>CnhGQ!!G7d^8H1N8Yt4+uN*SK@JmUdpKzOv zq+A=VaG2df-$157q-LKH1{H(#(HXvxSfZ3D|KG3wb2j{J&0LjLRNBr?_a%^!Ra{)m z<}^J$9U2uC92ZA^w7*V-hZpYH-O|!By)oVVN--OUkWkxwA|e8RWule_VrgAn-QsYm zsaYl&35gb~!hTC{>O*&hxpZQ2xr>(adYXUahu(7PZOp&7GufPJkylpMOnfi$oQ+u} z1wTmYMW$SIhWqw>h3onR`$D$kWYJq+1%Pdd_}&FiZ5=@`tS1U14Er2yBujCXBRnbQq{w&;3@2 zuRJ~{2b4XWhBZ{5%)6WZ3>NabZ9GQ#DKj^({Q5*fO&ul^PLb|=cKWc^LjaYgQ)0NW zyW8?LjLg{FTziR91!7SaYn(`bndiRkK#5U(mm3<5SyNN$gH&CER~gR~J6S!ML#VQ#n}Gz7pr;B!Ga&X6oYNBCn+6 zIhXX}#fuI#c2QAL9Dl!vh=}+#CAh36o#v6$(E?xuR?(=GZvlqc?BgVkIi?byUvGn83Vd7}k1p z2-DHg4gdNT_e+NuGb=Y&8V+oqnw`}!=iuPLZ)|M*;}!-NF4^m{Vgk0AY$hfq=cRrbvo)BxTWoCp zB_$;yv#>5mv=VU{mK5*bZ^^m;9)*gg7i%iF86_qo3m~KuNi%JWN)UEph7iN+bzuMX z>(^`W^daU21O>I=Euf~BOX_9i<#CD)s)L)Fq@E3b#DE2g@~d=O$bg_jb>|sXQgSkq z_&DJ4GBYza)l3VJkn~xLdhT)sbBu(~yjDl~xk}Tlyqi>c zR1u1L%LVyu$Z_tc_fEnWf@r*y4=lgF_s~vYCI_wO8f(`*OKmX%>A|1NMsL;ZWHlv6?5q)+7l)NNbl;fLzWn#?7hkK1h)*VMzIAh7 zKnXp3Kl439^5c}%w&vyY)Au^88`JyG+qTq(xT8=?8ccy9gfBAh8^pw_J#XokL8Esf zl4_(dd&d3YJSdbbR@LyarSEOqhQay#t@C+5l~L1wd78S~8uS$(rK0_Q@^&HR$vej~ zcMq}iEBKOOKJGfBYgq47=qQ~dt4>c%4GGQ9%Xy64`O#>EfL!UOeA3pY|1{mE&-zbB z=8SiN$m7Ck=(kaOSiY<>H(M&E`}ovef`m-%els$rvWfXw9UhBuhK{zzRsGGsSBmeb z{5c`}5oGAzEKz-tlKQM|ci=unHPz1bj%9~; z=yyxw3cF+F547aaXaRM7N9H4+Dvin!FD6gCm9u9k<%k{FRAuDnR}{+MXGm|Wv2jb# zL!mzM76wQg;RhB4mBMtK@0pCNH`!Sj#?5V7SG#CYe)%!tgxvJ_f{EF1K>7K6U1h5O zNL4HT>qX(0Pbic}mB{d>g2ZR%GIC*Rk~DS~6bx_cWvx5WC7G7qWOhz+9*e&WLQXfy zkqx+nmZ*DK zQmb-RTie^E){2oXcD zCYy}CJr981I45dq>fu^XLBRB0-rjwsrgG2aSm68(gA*6RTp2>?0`l<7=$AYWHm<)D zunvZWJW!}ZRPC}Vb-cG4lbT9|O8D=<06pq4yuY!%Ep2YjtgfNaSM}UFNyy;>>J=bO z=KJriv9aM^x^xNW@@2`VPxC|od#DjiPmU?9;Glc6e=-?(?yW#J#n3J>BtW_CkGmS1 zng#$~ZTRtn?7smAAKf-hy50%k0kCeJY7D?Y@g?GavgnnCT7ZI6HxQ~u_S7%`1ry}- z#NR`s2a}=**Vm;-6pG}kA|fM^+nHV;<$UwzO&ZjLkcl7_`^Cq{|6`AF56Z|W28k#r z_n25&FH1^FvN>7wrpOo?(mzPKo6k4&kC{?JV&Zi^KK10yF!)?Sgl@F+?%FubdqF$d zdY`}F)1|SI8ITUfe*wU}CrS9Cp5EYd^_7*CS8v}2fBt+Msex$Ape72qhV$*)w|ly} zBY68aA*>V-4(L`nIywS+O5>0>H#e_vS|Ef6hAHVMm9F}$E-w!Ubq(hNR0Ht!hVSIw z-=(o1hm@AA7OaP%o_hk=;4uwM&Iz4_8mvr zFU5^Q-oJm{`kq0KrVx-ysl)JJ{cJqKz3RdUVt6dvCnE=)Zw|jwH_6~ z=F)Vyn$e-Q982oru-85Ef{%th?_%*w3>o=G0y5RFb|HX`GW^l_A`lT6D1>N$(w6txFprR^s3`!ahc#}z%F4u&^+MR^a33?<=>_ zyK&=2nsGDBel0Em0Wu`xr%ywnvS$(z(XAA+f=$WD#AIw?fvuyXqhI4jvN}?BapSkD zgT6kki1Q+XbO7#RYvd@aSvbQCNMZLd|6{Kfd7UJscwIGM^Bot|&I=8{&^6n?xZ;|2 z+jOo!eX1jdN9jv3=z-_HE`!uly%bz5dY`NeDnk9(Dv;W$Z+ZCnpQ~8hBNri(`>_Nq zAH+*Ps>mCeje+Rhf0aXDGj>xRK|(>vBttw;O0A}kW($dhMz`pzHTgG?cfz8A!mTbM z!Jc#w@B&*->doc!8?QtweEJq^C(n;7SRSDb-d&D_&j?-^-}@tuXBv`)Fo3 zUV8em4VxohMnNNz6t8~y`#Y9N|BOq&t)3Q_8jo`D@i}h0+R`NRZ>+Y&hZoKNeX(>E zeOF3qztmo>sD%khYjY`_`fG$R^5gUIY2`0a784KaC59$N$bWLng0xl8rA@)bc=J3# zk?N^@H65dT|I9Qx?-h>Jt&Y*W(<`dR#;7MIX^*OiH5-5XMMQ2Ayc#O zi>=0XqEQj$-QFa#!$FT6t7tmS$R_dckB@wXC``}RU%}L!n&JG5{<4zKhtIb1t7)(T z1CO$=5UGpRg6@{s)9Jxrci7JJqb-amuFV?Aw>G}FTPIyc!wVV zfZA>YGSLUS!)9aho(D~bi-FE7Vor2TlhN<12bxJJxH53hL04el8vA}Za=zyC^GQ9d z2xSXFQh!IwfII^V`8DkP*X%Mq?@}gWE$j0kaCuan#7ORl91y|-XY4;mzKo0n2vRDT zTQi?~N%ta8drAc6x@^viW8Dh3J5vP<9{eB z+UyZsZx|cX7pA1Ak6K)O`tZ>sq~`nh@uOvM&alyHl< ztUM&|3k$W1Wa?{QthcB99gU~eO5T#KdL{ntFCU{P{y7;WgYs4qwH1#WFGSFbU4=M+ zgNG-*{Ie+L{qgVby94nR8v#Cb?eqWD1W4+r3dMfL-T$f9PTSEZf5HON#Ue!cbtXh zIo|NUhEp=}!3$`q@1HF-AXYR?OwjvZd%Vz-jDv%NP%d}x-hGvjfCGFT>fZW9?eyGS zP)j&vb4$yma035-3e~* zx{%OA1Mb++JYBti1aO^xGPM0zKi%cLPrP@C`s`RnCisw`Emfv$LJAN7gdbw~=jZQ# z0bvah%-|moU~Fj#$qom|LRLIV6y~K%(+8Wg72d~p;1-ClT*=~d-CKF|dv0#}cY7?G z6Q^EzU}7RQgt$QnpLw$ET&yhzb0IvQ;}SuIP=;k_*L60@WMNow8bBQ`59KC&EG98A zOu+i*RHWcU12BOxP!I#>6t}wie@dKgOLYMBttt;?7I)hTKZsFf(&9ax4%Fxj&XlaJ zVq|725F7Bh?(O3vzPCO}WME*>mB^3X{Z61cn1BWn=oQ?cj&evd2ob8Pu6{w1_*#s- z=6niplam%Qva*cq?1f!!4<8O&*CNrD?YQ(p>Y7q(ch`lvgw*%c%*XGh1{mbf%Cef( zd1cP+Pxyp{gzo9=xBpPQL3-QzCw_Z-JCLee{}(wnVxccAue{1@S)93d^yM30^5T5& ziH3i|4AQsvB^(v_52Ah5mzP=~S6;hwN83G1ff(~^YimPfbmsTwPsP#;bLNzW^wmX`~AfXEf-fI4L3 z*q%v!Z4QOX5+U`HnB)AAFc29OE{|y?)<3tp8d>Lk+yvYzz#B=RRd@i$7mn z#3rVs#0JuGXL*PS3k$2`@V_Ap#^Ts@>^G()7nhdOK{K#-bX4y#GdDK@e*If}yCm$m zJ|HX{EoPQv7z^%eubkpB6pLq^5XgusnFeywhW@mLpLs2pdoxm-xY?qE#d{MP=3hN} zUuS=+byrMm6ZDHrh)r=mQSp@?yKGklZ9nu2I6r?ry|xww%!l@`NxjQ>gFe@50SnpN zZ{XE`L=YHUQrxwtvlGwI(6Bf8Q)y`<1e3wHutjrNS;=|ks_j3FFci^Rk2T<8*Hd9y zjOvtF%9s7fDwJN=33l#RsO3F!d2H-+KR4uQrOM?Os22ki_(%R*Tjd!7W zSZ?}h_fii99T2Q&O(uQ-oekVyqUMH&dN8d%7vmfDt`Ni3%Rd0inbBhaB56w$N4U1Pf?niE< zzF18aWr^=3p{0!g`Gh_Ii=YY6ULW9ZVE!23)GeVTOjFa-FJJ)oh%qCmcrQR{@fD^% zEjKp=7^&+}CGG9)3E5Afu!!g*1_lNeP7NR;AgB=Fd1`e*<0n|)<OlzfpS&IO})&4J+C?M;$W9~ZVrRCXoe6FIIsw=Vxo8i1>2x@D7BjuuQ^_;7IImk zsykj2mA^p>f0dJjNPrQ$#p&(1y$kyuNf)T^nQ}zHK*G@2+aO)MvG$(-{ks7Kq7Xtl z|L}07%70v!`Y#a@5~BP-G`r5vPj+~C2)Mfe*@P4nSiZi#5j29u`n~&i5p<<_U&gR9 z-~s;~HoSOEIe)v!^`4v8<=L}ybDLXRWzD+ai~9mKs-sLKwTGOXe7Z3J8--$LXP-+# zGroXm4>J~LI#g`X3=d&*V_F&$6Eh7M`*NOrj@^+B}8sJ5W~>I&AE2JcV$l$3Zf4chdxO5N|-$) zIXykS#l_VMd@>Kv*HD@n15KJB?k&>Q)%CqdPY_Y{3bl)*6cjGk{oT`p_@(0Bu>tIS zh0k9RgsgqOtPN%2c`jTX{nB}20C6JWwk2t6Buxm^Dw1q*8Il2570yef9(yZc0F_q8 zDmCU7e}*f+yM39Sp8jAefC%a-OxVk`;$9W%3>OhPp@3OY@lws1jZjXJNCt;~pYMZ;+Lya#MYppgd&X~RallDV?u(7^Im+(zsC$eU z6w!M+oig3%!FCWKTB6b@5Ui{Fbbo0X=kj>?NfV2b6xE`_=C-eg$@ljNU5k!GxV$X0 z6a&(x{sA0Mac^w8_aZNoB0>$Zfpdy^OB~2z&CEHz*UPDMbtG~2d&Y|m`;Q*&kkaT7 zXm9yKO6Kx}K^23Z%88R_Oga7DaJ@b1Pok3oPR2V#R+oPQ9C4q;=>zoFzn}hb0S5O( zBv%j^;jn~=(19=q>Ri+R^a8-qdAJHy+{GK>>z4%D3i4lkkK4+*juyClK9X1Rek#F- z#*G_MCUVy^*pT`l>*k&AKSAjj_rFF-qO}6sio-(DIhor}%-o?qco%toc|L0mK>hzp zQenzQI&3bO{~x%|=sVdG5{iRJcWQCp-Yi_VU!y2BC61w(eocZ#TTzg>(gf5G2UI_* z?BHeBVEXL%B_Q4KmtFOqHgko;{tIR%(ij|so*h6F`^9;lHpxlQ24qxdnsF_wiTg;T z-caXb?8ibLgw?B9olssQhOY=~&C73k@k8q7oufndP?(C(m*Db!)>W?(USOoIYYWQ^ zk8~4`im&0tAI$?QWVC65``x*E=fvkSnf7V$Nt4Oka0NZ*M)&b}M=Y&0rH?VC5O~MeLwp&9;(!%8RagbYuv{2_xsm&-LFs3 zS>4D@uua9A#`7At*a3;H9!0R+f2B|YC$Kap7)Se^t@eVHQz9Y}Z_PCJeZn0xm`%nB)iM4RxI%Sk)(Syj->{D8a zR&1zNYTmf^<(}}*&Nc!G?<@FtWYXv7K#1oZ+LoKy2PZ>69#$;fRy?b7Dl68+PL1{= zJEI<^Ck^|C5tcWC6o4MBz@|e5&mCnbuN@`)@V!ZAjrijCuaY&7(V9hCmP?S?X`elN zHud{=7Hw?j9AxegkRHdz#x%=yZe6Kx+hl}nSyNkkJ+6R@!)^DE*0(vw+cqOtT3cJS zsFOpj@+C|(c%E$10|%`gbtvfCG+$Y3Y~8pniq>=&(c1kAkW3m#m{NyX*|}kWG2cO{ zN6Z-G)vj{ADPn4xJHLmDO-)UwXJ-7{V_9Yam`KmIMmjA2byPY zhQUX|W88!Z!IVrcnqJ1s>n;#SrRLpNQ4N64c+I=0&@wWJJp!t<1`wYxQ0eLEJhyM7 z;Yfrvgvf}MDI4i8m7e$V0Ik{iWbXIuYV;T5y{g$;tlo})-N2jdM`z7w`s)j8%Nf1QH!xfLo<Cd#I;}u;Kvez)TVZ1f3%x3f?rVTL0wr9}bWIER73F z*}trrHY`*-%>9HSHM@|r+;@x;G9(mu0(57aDp0FFU;fzw7^4(;1Jper6-mj+jGsM= zfJ`~_cYm@C@*6l_2vI`rTQ{KG!KS371mfa4BjW{NkvoKmh=>y2zt05R39PXyMJ`x3 zu8E1!*^F%XSfDk1Xng7e!`O+KN;XoBny4ps+q(;vsW!|9(VAs&s|a|GYlHFzLDJ%< z2c{^$`g#fQMe)GX110wHWSzGVNZGIf&3lr_DAO>byPzHH9vwF zD=I6IiVIL<+qW1dtzrx&MvoZ(3=`$Qr>-aVJhH;(PtwBem|feT%ziy&5s( zOfq=4p1wNb)pu|5iIUV*?4P}EGywjzUcFpwIrxq0Lo4jUn7RT*{4?iD%9_EG69!S|wrdAg7HaUF1 zo}jH*W9Vy?6k5|5K9;qMi81W$xd;UAkL^!>IlazEN(MpOvW&)+ z;qlm(v=D`pk}z`&3emkjlQ|597&CB@98{#Kul{mHj$KV(iPP5)P4%NGkW^ftiyT4HPVK1taFd2G zwK|_qJS~=`?)?_Uv#vj(Zz4kF`H^*?7>9e|)b$nx{}63U<_Y6mMQz+=lWI{4HyVc1C=RT=C=(oGG#CqH;1K!MD=pav^~t^_r@^te zG~e86Gg#&PxYvB`K+u&GX6Jm-$ro|mFh3WML0dk58vI9JT0kf^&g->1a@U#2tFMis(Fy=5Zk}|;4s4XX>)ZlUXb^XRzyLJ>c z^`gn?$EXD1G`cJi{oijw5rY8RsJy(C?Us9& zLW{hf9iI1Alr%Yl+B$k>rrQ%BDq}$(Oukhn{4=7sGuzH)f~9XE31} zN=Hr_cJPLyYto)nl(D#Aj77~z=Vi=z?dDSGgO8tXW1(=SozRL3XiXac?(JI>aI*-xZCpdN zSRlZ6{tV&)M|KhQY~=H0U^Zlc`*i?UCW5ZOyc!53f{CdqFd_I*PJ@F840%)glfEIb zv1FhpB4HmXi-Ev!aBu+EEE8CGfSJvct>o@)(-F=1XtFO1R9j&e601tuo=ftB?w<|2 z%NtS;P|U%Q+GZi8<>`Il>hJHL0{qpNDc2126&bT~1IVt^>+8`#7#|!QJO+X_fzJ$= z`9V@BkVlUj{V$>XE|W1oKH6CVe-aC@|ZbsT85nyX?R z+)ew(8KqCRsek__FE}5POr}U?q?~t5KX?TUtqf>)0ouuGYF_#Cvj`8B2Q&Z&Cua

$1@Dv(E%bpZ5ga{qfh0V$Ca&~FRRR_UtY(a%ZApjbw{U@bEKH7s0h6W{B`Tl)l zE2{#p8slax&+}LAC?vu(|`rU4Z85!!iVwh_}eni69_+XcTL zmmQx)bTy2J6y%cFDDU!oyf5Z#XL30?2~8{X>ed5!Mn-jY&m~e!3kpDef_~(x zG{aC)kIl@qa`4T}%o;~Vu4-#*gKbR8)|Lw-(l<^j`<}n*dbc(=S@|g_D1yO^TUH~^ zXk&jvg!=4ol2>28OO^V|9sZ`S)74GMNx{c?z2wHBpD!b*s(yMG2sL|H%iv_X1=_-A zn^6jIYXg;cHa4^hy1>(+Vmf_&eYk!QC=hY~8;)Xg0{81Z4-XNtkji~HxF?i2EKl??B zN6Dp0%^>V}LpF*w47eWC_SZLY2nd3}^A<%Xilw5Wf@=8i=+k2mU9tLO z*x^vHcACKo{}JjF#DNRe%!E5O@4#eXnf)7In8Hpx;Ee92%u@Z^n4uqojd^R`Jicyn zh&YMx3*{>+;=St*hi|#yk_SM_;gal&!8BO|~`N&;5A1A#)}E4O`ny(llQ= z6))aD_bb{t3fb65v@lLN3U(>Bnur()++DN|;vE>ut{w)N>BJZv8KQKnMhZl){%hZj zp*V7#-r99+$mp}1={6?-!w=XM!?VNXl?0xbH?lOJ@TA4&B3VP807CKS??2tWdD1jY ziy2kWngIaREahc<%*>|VM;3D7z^3zu%<$4oqN7b^I(}nyVjIZ}j3iJY?Y< zg*$Y$5j9dl!wzuDCy>#sG*vYt{;GvNtXt+zs(j4`35Kzs5qZO2On_#YsBI=Bp!A#1 z8zb|HAAPtNMFd)#j2@)NM~^C{S{pr)(rN)`^7#eS)f_JGr6@Fv1W?-VNI53r&FwzV zUR+%cb`aCeP*SpxztI4nEY*Ynr4FYjcNS!)1Vl3p_~@0#nOdSdql_~K3ad5WopNp9o06sL;By^mcrMM1o>F8i&4Q`+|B0%X^(gQXHN@AYmvSB6B& z&325rT}A0u|1!2p733M7#5<}|Cm|&Tf&nhQ^F{7ZX4vZlw{FsvzEp5MF0n+f4HY0N z*m_($iP#zcJ+ieQ)WN~gM+dAYj6dl^8w1At`L>JnS9!!MZU!HDHhz^i3Je4}p6sKu zTI98*x{9$;+-WDxx1IoK_04H6im`ee-hH%|Zq077d+8>a&0rB&MV1d6ksZFVVw+LHayiWtgA;m@td|-9Sr9sJ@WEcD7j3OQo?J%kM+r6( z%U_jqBPDu;!J#kf^;!Tkho(elhZh7XDI^LVED#`omtRL+O`R>24&>52sfSha>~oY9 zvpaK|2um~Z4HMLWdV4)*;cfD8iui2Sm*=gkPZJ& z!N8qQjiQ66T#DUtGg)Xq-0yrAd-6Kd7{%kgtM>dW_^}JFyyfc8`;g>C8(x{sq1#(M zG_3&$q^~TS-yg2%X-x^-rcp%^v3M@q45XfX@affRqQ`8$F;Lby(_mX`e17`mxaqL- z%Ni308;Km(jcIV=LA(%m6*b5w9C07XwD1(%dA5$r&9Xey@c@?Y{fAYH*&_ERHP>uX z>1{gLHK)4fM28vT{Kj)jphD=u+b;zhUc()(#a|Ny<9dRDiKUI!7BJR+Faqw31Y_N9 zENSC1U2UXViB?8znE=1rd|1p7zlKI={&O_xXxa8=ff|0EY1x#Mr7fju#c zoCRR7ddz#HK)B6Wb#-R0o8yJw>t5LC6OXMa^jST%FqDA`4B?N9bqgx8t^ieMf2hse z!;&@IQFL4Z`fYK}lk^>#aI;!JBMrHvm(`JAGc3sX3}JAPK}mrIOplYTLM z#SS!B7K_KK&YHr<*$bcovT~;fpUAt2Y^58o*TOq%ZQLnOz1|oFF6aNMNJctT%lo%%oolgSCaH>YVJvp;Mj6zUAD(tTf~1- zc9#ei{C#GUKwLusPXDAN+MUI|iy$O6Pj_s`LK_+y_(ru`EUODtQ6u8W6nOo!(3?4>UCZD+F?sn!a+Q&<c&k1@TtfrEl)~nC^zx!HKdtrH0{ndiv?a!8lPu!c7x(INOBF zU8MR*+>p;r^lW)CE}Q_w&D&e9WI#N4XomO4y?KKPBFUWT|D@mY)w7qE)VSKxCkr@D zwVp0nh2w=$3w`nmL^5gUq5zC5TlH32W~K)XHGJp_dF?4{(@=Iv;YG5GtPun$CzD_A z;gU(S;yXW2V~K0{s#?HjYmx>FgO%B?>a=5_r_&pAsy#*=aU@O@$Sgsdm6W#j+m45T zqrseGwCql>``p;r1P4!}ndR*4xL5Y5N@YHU`U?-QI#Q!HjSUmW)rxy><>(m6+Zh{U zWGz^Z2gMK0nW)Zdrv7++#a=?6@}QEwOiU(hzs~oPRv_9O*U8JIbfXwr-7}2H6f9Na(4Rl?agT zOn-li`S|4vrRa$Dql3<+e*%29SD1gmUeFYS*_>Ng2muEoQl%j3KR9c^7WkRc)-JE) z=pQKXw2CkD_YY}xz9uP|b+-=GikJS4eAHnu!x`h=y?ZEV`06OLk?h;nw&wP3xr1{fweD`ssD91nzX5bWwQm$jZ<@TNV8&`aHW0} zR8zn-=6_J-M*O8&Sy@P_$Cs#V_CU`O*Wb^2sCXL8lJ>5yA^G|F9Vg%tdG-4B1>h%v z#C!Q>ivelBoa>C=gx;Tm2K@I~EnUKv({9w#$Co3RQt@P!e>gTVw-0Yc{j>p9@o3hjc%5MBI}las&K zdb&c@q6<{{=bv-R3JN43QUrlx7zZ?U|H{hBjqP3u_Jv8`Gw()Fxfe&u3ZdG#$)R7N zI!k?4^!c+UG?je17N;0zI|#auzzV2&KSE9SEi|JdjJJ93B5@xlYVA1= zR#uW=LOM2>Q9LHu2x5=~f}q=!b)jso)=*uY5h_~cSM5)vz}AE5s3YznVd+tAT_ODoewGb$G?oQ;FTkOvcPgA{xDM=g%ZZ*U3_DDz5LzW(YiIXmw)hN|i7Y7W6rBOE;?b zc^CCi*2kv~EFIUA#JzQiF<0BcVej^KMjpa6fn)YInK2!+aK<)v-XF+)2l)jg^|yp%wa`V78i-8c`2jM%YWmyk?j||Np0#+5OlyxT*hW0D;vD^ z{^K>ACJ0BDz;~7ozD1}YU-E!8F>W;=AV5ZRgq)HR5x#N2Wx$rL^uA8}{cTIemC-LM z&;Yk1K^{=F1=t>Fye)-gS3O+;>8rWtsKR%arY<{T;AC$Mx?P^nNO@ z$(1)1FD#|(XSsQ^vAtd4@S&U>Hnb1RD=L!m4wB8!&-c>#-r+}qT_^1IuYrLpu$VjA zXzo0_mn`ypYGEN)OL%#(5L-h-1Cb%XPL;r8d_ny1HyLy{TWdW4T8xBA_VHkW7UJGa z{E<^Kh)qO~ut8L}pAv)Qj}7culBny0LPx_&$4j6hAcEF}_r3u%s9l13SPmKsK&490 z&Bcb^=D9s+_ksvXDTWySWh*dV-D{1_kgnau)JkeIl*AhXW5h)DOa!v6X* z8vuvaIz=8t(0YfgTQ*aqs||V<(Y=Qm>q{j^cda`;U*67bHIy$=y`^dENO1SipNoxj zUv`K)vnUaI>7p;;QCtIagsiNrZlV)7wUHG6XCOZS>hlZVi=!9(FX6#j4S2&Z6%+HqVYW3LJX^OoIb}fE+=Nwc z0_&-!uPr))CLG!7f~6RnbXV5;p{raH9Qv3A#nTM zYOloER~3oBf$)Ste3Lya*-c2Gx@|QeUnrgeWSXY?U2unS=zhj=tkk!592psrVvMNK zO^Emi?F39H^oe8&q&lIVLUT9tn<5m5{>hok8uOK^I}sNT&WeVHp5(OtNN8`m;Gj-n zatkl^hWbjYe@>|S%gvZeG_z&jAM%(mmByG$60}P3i(AaxVikL5{-V+LnHPSkak0hb zPKvSzJ-fw&DxYen?)k~FeS@K{%Jt&~m4t5dK&k6g_*gesSlF2tJX0e-y{>BCqx_E_cX$^pq`zTwQ*^Qb!~k;`(5vXw56q`{+6?|^R+9ujqCeL z1e9qXk|0EYcl1>Xw4fsm+N!s9j0uTJPJHTDgzao?AK$*pd*=?;`);g|<`++I z-rja<=^6y14n6_F^wN?-fq{{cbhf%=X5TI5+-o=xLL_;p-dIiBQ;8%K!ny~2TTb~w zYHtX1!b;R#II;p`Euxhg8m4G!sQ28vM(i{v3yrvrPEHOkE;)H+rza=)af(4pOP0`T z+VF%=@`_A?GPBH_*ZL<1?T&XQd@r|i{^6e8KUOHx{;{&c;a+RV#?BsIxpmEuF$O0r zLq6ly>j$}+VPTg^WzcGv$I)!Pj6A-cceIZdnez%N?>DatLPq= z@Cl4Xn38FOgIXh#lev3)E=vPoH|3ds=|LqIgBr%RZ zk3bsFAGFfd*UtihzM!BWBRCjqY1?fcymvR$uH;u$z2l(3gL{8*&oA^;yhl-2Lz&|2 zuQd9~dh2@OGdnv|b91a1c}(!mEv~J>berh&C#R%jeEPI4J#JE(R#rwH9Uc8~bQSiV zzhOzppp^_{=@nrB|I?0@;sfvBzwa9x`;d@iXJ?lH-H2_ojoaJ&&>I8?LX7mAtfyUd z5rw|+SKwg-CvJt&tE+?|eFFo5Kqcnqys7kXb;X7yG&^gWH)u8R^JnWyth!>)(2x!g z*^SG)QiX#}FpQiWtcG>p+kmA?%gciicl(_?P0#Lhrfm8WhFs+4=7zKrn$OO<(AtWX z^neAR3lh)XzNN6V%ToU-f^xe{5C3(*b<(i3ni|^L+FHmXFFkuYIus$jwhX}b<`EFs zT@qq9yU+V5!fQDvoVS(ARQbAW-D(OK{1m}^bNWAC!y0o&-iv7Wd;jk{)b>AGkRzBc z+EyXoTc0%Cr$oLd;8!e}z;~+H#(I?O44psnxs~^$e=k+4QRStyls$s~IR&L4^8j5e I_1OP^0I|n@t^fc4 literal 0 HcmV?d00001 diff --git a/out/production/aufgabenblatt1/task3/NumberGuesser.class b/out/production/aufgabenblatt1/task3/NumberGuesser.class new file mode 100644 index 0000000000000000000000000000000000000000..bc3ceb86eaeda72131006c44e914c3102d4b78c4 GIT binary patch literal 1989 zcmaJ?ZBrXn6n<_J*koDWLQAQkG_4EOTS@vNQQBx|(I6G@rI)aVEnzpa*`WLr z{h~8|VW#6aV@JVhXZ+e3e}cb7#pmt@2*L=nckey-ygcWeXHWk4=f&>;-a}PK2w@Eo z10CoT=zA(RWws{mYWC5}Q?ud;bmlGF^6m(PQ|W~mqKIkG4RpZ}81Q6ceKPy7xv^rp z_nT&;VY;-i{j-25YUmN@_nkI9tClTSq-~pS41MU=5H~P@Q%9nfw;GgDoQ`e`D!gX|hEgZ0D4=~fYv45`2;6Bhk3(m3u4V5#i{c#P`_Pjz z833P3>Nt<2hEW3-aFJ>5!)UV<(CW%hP2p^z@asmDmR-%I7ZlD*1}8pRtt6&%-P zi+Gw8h^f0ZtGYHCzPq=#7iW9lGH?^O1kP;8b+h2u73n>;yfy9`p0vG&0$xl91#E|| zv&mBia>z4?)tI)bKBNehm(<-IRs6dGO2917;~iC}X(d=vf+*fK$Su+-CYzq)7nhd> zXO-#nmMq&02s1BNYLvuFPDR!hq-&{jOBnIiECsN10>g3wh9}*s=>>jRqpISbKzG@b zmGxO!Z+X!g0pHldAkB6X(v7|;Yx7QF&8(~w;D%JB8%!-9FG+fV_YBDx11DTFazLGf zZ$K|QO}ApsSbl~9&er8M#U_$&+Ht&w=gRu5>8&}djVP7`x_l)PXeudsJMpQG&+xg1 zFH|d^2#onm^qXbbo6fqK4d@nhcScq`$K4Y6rk#*2#URQ9X|LAI##qU5)|>U*@l4w! zM-1n;>gEaR?ZpTtMy{PvEf)n@tCcO!RGllT0Z^z(&WeVHiom5~Ih_Pm1F16d|Ee54 zL0%Xo2}Aq@I7rl_;;w^xvX<)%PcxLOdp)xYkxBdt?Ps1sxX-l*VXjd`5aYj&2Rsc1 z+9=|Eo@j>;=#>*reI+fQvn`)JiOet1et;I)MkM?rwZp#OPU?YHhyHpF{Pm#Z`8+oEgyuh0Pk@)5N z9yb%;VKS50!Q0>RGSN|caztx;?@!A9BYJh1#bx#mNHE4QdU1}s5nSY~N)z`j?(!I8 z569cOQEFup=6mj-8&QP+La#{0>F-14A7Ec@VNbk7bg^%B7q?YECgL{;cL(>_lfogP z;-nIgA!#O9zAOAuy4n^tfimWKue01AlV1FZzyi-9JjN${M=4q6vk2*H39MihU*hb) DBGk1) literal 0 HcmV?d00001 diff --git a/out/production/aufgabenblatt1/util/ArrayTester.class b/out/production/aufgabenblatt1/util/ArrayTester.class new file mode 100644 index 0000000000000000000000000000000000000000..289f88ed87b067a25c6e70fc78f5057740cb2f80 GIT binary patch literal 764 zcmZuv?QRl56g|UkSy;A$g;r6jZT*5G-PY7UQcaA}gaoURN@Dmmz!s)icFnSw^m%*& z{Xr8oK7bEpJhL=@rJL-TxpVHGd+we6@$<`f0MGHjMhb=n)4>wb0)-R#LAt&SM((Tr zi8qJ^(g!L~@e=`~TI*WK2xMom^4+%t8x{-=IR_4w1@gzr_n$_QJbfdBVL0LE)n2Pr z>t>Nh!NO$+D=7X`r*k@uJti9AjMY}#i31h7uOk)2ojCI3q^V1+I#|OM0sB}*)A*%~ z2V((?>b+L2WuuI17Op#}U|pbife4e|Ye_#4Fsrm=;UBTPyG55K~CcZO`c zaPYYD%|7J&$gDRih2eM(yIwZWcb{>o-YA=Ml;*hlr`Q%U6iE~LKN0iDq68c3jP9}g sK9&@>25Q)*l^n5-`|K=FYYptsc!?dm+?nKenVrJkFGk##ng9R* literal 0 HcmV?d00001 diff --git a/out/production/aufgabenblatt1/util/Util.class b/out/production/aufgabenblatt1/util/Util.class new file mode 100644 index 0000000000000000000000000000000000000000..b4a7c87cfde5a46a50a7ee3fb3bfe6349c87c72f GIT binary patch literal 2160 zcmZvdPjFLJ6vn^%-b<6brZluoOVb2OLCC+Rpas#=DuQS*ZL!tzZy}E)g;&y~CNGTW zwlnTrxpKxChhfGI3vp2#WxCaI;nJlG7jB%P&V;c8tc56o|0)P;b~sAsxo<81`UXVaHRpdB?j( zvX;}RHbrwLd&fW`qaC8aP03ZJyBJXy_p!Y$SEXO-Fp2*tL5BW z(%zP8l}@Ye-l)}YQc31gsYDDhFy%2BLlIL7ww9>PNX%W?6%wCpR%;6VWw%jV=&WC< zwcc^A)VVTHZdRQ7iqmps9xPhkHMgzMTka~IVX9pImFUtDMGD3xPWqNTr*eJX*$6D{ z&c;TqRd&~1rdgemMAX`yIw$@Ag5f725OKYgW~1VGf#e96DO$Yu=un5A3=W5JjNq$o zqdM<=5WsPpxvpoc%}%4rs23F?^=5NpsnZ~Yz3R5w9;;GeStM!nO&hgF`?lw_C~efM zwLL$@rgrRmnAexd^4ir{laRrEfgRxR(?BnaD%qK^!gms5&KIs5= zfG5Rbf}*tSV|1a;>GgOwS{yG^0lSs@_F#tAeN=XwYZg~$F&9MqkaO`kV$P){Cp+`$ zTxtt@7dK6&;LoS!mSle@}01Xi<=e|{h`+jR5~=7-%ePU3*Aq@Pku!QeyJv? z6KsG8H4HFrlJ9Y*AxH2de9!P!74>s$on9ogdJFroD;QBomtz(ubm3&}HI58=J;GET zV=O7=Ago8|4dW!ChJ3aWQk`N5zwf@MNe?%&@60*sH;;zWpJ6-^61-7jNXbw>GV)mJ0@>_JDTn0qzx`*hc&Bwa zET-cPyh)5OyQsu9O9PF-e9RW@31dR2_yZ*URz1V;KGY916R2s8Unn61sux@k zOUrS{QidF-vF|W(;U4nkc=f(LpD&p4Dn;ZATPTPU|5EUkG^t{P$NYUZM~iXV eT8UgpbQ36vuv-_IFaEpXC3aSKv%=fj)6(DRHCh?~ literal 0 HcmV?d00001