From bf2ab282055b6d2020ee095b1b52d8eaf12693d3 Mon Sep 17 00:00:00 2001 From: "Muhamed H. Asadi" Date: Sun, 9 Oct 2022 06:19:03 +0330 Subject: [PATCH] Initial commit --- s1/.editorconfig | 17 ++ s1/pom.xml | 173 ++++++++++++++++++ s1/src/main/java/com/tabrizu/data/App.java | 30 +++ s1/src/main/java/com/tabrizu/data/Score.java | 32 ++++ .../java/com/tabrizu/data/ScoreBoard.java | 37 ++++ .../test/java/com/tabrizu/data/AppTest.java | 18 ++ s1/target/classes/com/tabrizu/data/App.class | Bin 0 -> 508 bytes .../classes/com/tabrizu/data/Score.class | Bin 0 -> 1106 bytes .../classes/com/tabrizu/data/ScoreBoard.class | Bin 0 -> 1466 bytes .../com/tabrizu/data/AppTest.class | Bin 0 -> 498 bytes sll/.editorconfig | 17 ++ sll/.idea/.gitignore | 3 + sll/.idea/compiler.xml | 13 ++ sll/.idea/encodings.xml | 7 + sll/.idea/jarRepositories.xml | 20 ++ sll/.idea/misc.xml | 12 ++ sll/.vscode/settings.json | 3 + sll/pom.xml | 173 ++++++++++++++++++ sll/src/main/java/com/tabrizu/ds/App.java | 19 ++ .../com/tabrizu/ds/ISingleLinkedList.java | 12 ++ .../java/com/tabrizu/ds/SingleLinkedList.java | 106 +++++++++++ sll/src/test/java/com/tabrizu/ds/AppTest.java | 18 ++ sll/target/classes/com/tabrizu/ds/App.class | Bin 0 -> 756 bytes .../com/tabrizu/ds/ISingleLinkedList.class | Bin 0 -> 443 bytes .../tabrizu/ds/SingleLinkedList$Node.class | Bin 0 -> 1363 bytes .../com/tabrizu/ds/SingleLinkedList.class | Bin 0 -> 2302 bytes .../test-classes/com/tabrizu/ds/AppTest.class | Bin 0 -> 494 bytes 27 files changed, 710 insertions(+) create mode 100644 s1/.editorconfig create mode 100644 s1/pom.xml create mode 100644 s1/src/main/java/com/tabrizu/data/App.java create mode 100644 s1/src/main/java/com/tabrizu/data/Score.java create mode 100644 s1/src/main/java/com/tabrizu/data/ScoreBoard.java create mode 100644 s1/src/test/java/com/tabrizu/data/AppTest.java create mode 100644 s1/target/classes/com/tabrizu/data/App.class create mode 100644 s1/target/classes/com/tabrizu/data/Score.class create mode 100644 s1/target/classes/com/tabrizu/data/ScoreBoard.class create mode 100644 s1/target/test-classes/com/tabrizu/data/AppTest.class create mode 100644 sll/.editorconfig create mode 100644 sll/.idea/.gitignore create mode 100644 sll/.idea/compiler.xml create mode 100644 sll/.idea/encodings.xml create mode 100644 sll/.idea/jarRepositories.xml create mode 100644 sll/.idea/misc.xml create mode 100644 sll/.vscode/settings.json create mode 100644 sll/pom.xml create mode 100644 sll/src/main/java/com/tabrizu/ds/App.java create mode 100644 sll/src/main/java/com/tabrizu/ds/ISingleLinkedList.java create mode 100644 sll/src/main/java/com/tabrizu/ds/SingleLinkedList.java create mode 100644 sll/src/test/java/com/tabrizu/ds/AppTest.java create mode 100644 sll/target/classes/com/tabrizu/ds/App.class create mode 100644 sll/target/classes/com/tabrizu/ds/ISingleLinkedList.class create mode 100644 sll/target/classes/com/tabrizu/ds/SingleLinkedList$Node.class create mode 100644 sll/target/classes/com/tabrizu/ds/SingleLinkedList.class create mode 100644 sll/target/test-classes/com/tabrizu/ds/AppTest.class diff --git a/s1/.editorconfig b/s1/.editorconfig new file mode 100644 index 0000000..e1d0ce7 --- /dev/null +++ b/s1/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true +max_line_length = 80 + +[*.sh] +end_of_line = lf + +[*.java] +indent_size = 4 +max_line_length = 120 diff --git a/s1/pom.xml b/s1/pom.xml new file mode 100644 index 0000000..0792faf --- /dev/null +++ b/s1/pom.xml @@ -0,0 +1,173 @@ + + 4.0.0 + com.tabrizu.data + s1 + 1.0 + + 1.8 + 1.8 + UTF-8 + 5.6.0 + 3.0.0-M3 + 3.1.2 + 8.45.1 + 3.0.0-M5 + 0.8.4 + 3.0.0 + + 0% + 0% + 20 + 5 + + + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit.version} + test + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + ${maven-enforcer-plugin.version} + + + + enforce + + + + + 3.6.3 + + + true + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + + + com.puppycrawl.tools + checkstyle + ${checkstyle.version} + + + com.github.ngeor + checkstyle-rules + 4.9.3 + + + + com/github/ngeor/checkstyle.xml + true + ${skipTests} + + + + checkstyle + validate + + check + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + org.jacoco + jacoco-maven-plugin + ${jacoco-maven-plugin.version} + + + pre-unit-test + + prepare-agent + + + + post-unit-test + test + + report + + + + check-unit-test + test + + check + + + ${project.build.directory}/jacoco.exec + + + BUNDLE + + + INSTRUCTION + COVEREDRATIO + ${jacoco.unit-tests.limit.instruction-ratio} + + + BRANCH + COVEREDRATIO + ${jacoco.unit-tests.limit.branch-ratio} + + + + + CLASS + + + COMPLEXITY + TOTALCOUNT + ${jacoco.unit-tests.limit.class-complexity} + + + + + METHOD + + + COMPLEXITY + TOTALCOUNT + ${jacoco.unit-tests.limit.method-complexity} + + + + + + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + + diff --git a/s1/src/main/java/com/tabrizu/data/App.java b/s1/src/main/java/com/tabrizu/data/App.java new file mode 100644 index 0000000..b53c142 --- /dev/null +++ b/s1/src/main/java/com/tabrizu/data/App.java @@ -0,0 +1,30 @@ +package com.tabrizu.data; + +/** + * Hello world! + */ +public final class App { + private App() { + } + + public static void main(String[] args) { + + ScoreBoard board = new ScoreBoard(); + + for (int i = 0; i < 100; i++) { + + Score randomScore = new Score("user"+String.valueOf(i)); + randomScore.setScore((int)(Math.random() * 100)); + + board.insertNewScore(randomScore); + } + + for (int i = 0; i < 10; i++) { + + String userName = "user"+String.valueOf((int)(Math.random() * 100)) + board.removeUser(userName); + } + + board.show(); + } +} diff --git a/s1/src/main/java/com/tabrizu/data/Score.java b/s1/src/main/java/com/tabrizu/data/Score.java new file mode 100644 index 0000000..3544441 --- /dev/null +++ b/s1/src/main/java/com/tabrizu/data/Score.java @@ -0,0 +1,32 @@ +package com.tabrizu.data; + +public class Score { + + private int m_score; + private String m_username; + + private Score(){} + + public Score(String username){ + m_username = username; + m_score = 0; + } + + public String getUsername(){ + return m_username; + } + + public void setScore(int score){ + m_score = score; + } + + public int getScore(){ + return m_score; + } + + @Override + public String toString(){ + return m_username + " : " + String.valueOf(m_score); + } + +} diff --git a/s1/src/main/java/com/tabrizu/data/ScoreBoard.java b/s1/src/main/java/com/tabrizu/data/ScoreBoard.java new file mode 100644 index 0000000..388648d --- /dev/null +++ b/s1/src/main/java/com/tabrizu/data/ScoreBoard.java @@ -0,0 +1,37 @@ +package com.tabrizu.data; + +public class ScoreBoard { + + private static final int SCORE_SIZE = 10; + + Score[] m_board; + int m_boardIndex; + + public ScoreBoard(){ + m_boardIndex = 0; + m_board = new Score[SCORE_SIZE]; + } + + public void insertNewScore(Score score){ + + } + + public void removeUser(String username){ + + } + + public void show(){ + System.out.print(this); + } + + @Override + public String toString(){ + + String str = ""; + for (int i = 0; i < m_boardIndex; i++) { + str += String.valueOf(i+1) + " => " + String.valueOf(m_board[i]) + "\n"; + } + return str; + } + +} diff --git a/s1/src/test/java/com/tabrizu/data/AppTest.java b/s1/src/test/java/com/tabrizu/data/AppTest.java new file mode 100644 index 0000000..e3a2610 --- /dev/null +++ b/s1/src/test/java/com/tabrizu/data/AppTest.java @@ -0,0 +1,18 @@ +package com.tabrizu.data; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +/** + * Unit test for simple App. + */ +class AppTest { + /** + * Rigorous Test. + */ + @Test + void testApp() { + assertEquals(1, 1); + } +} diff --git a/s1/target/classes/com/tabrizu/data/App.class b/s1/target/classes/com/tabrizu/data/App.class new file mode 100644 index 0000000000000000000000000000000000000000..f7e0ca2de43e509c44c028406301a645d2a53605 GIT binary patch literal 508 zcmZutO-}+b5PjuCU`0U$#M_1w5aY(^NsNgaJrO;i7~`od4HkD>QVLQ3l_wHS^zM%` z&aNa}NRv)qXXd?`_w)Pl1>gv~86+6Wz79Rh`$oP^y#cq}I~$KPNHG*ge8#`<^4b~lsekyL5~|5;l*dl zKFJ9~wX;gQO}rtOit>%e&T@vXHBt@R&0Ypuq_j+28lz1X+YI-2%7}>$W@6wH^;ibn zO0C?n(Ig%oyH2kAsw{tTMbxwBN;MJ2y7hM5wK{GIgca_2p#A5rj@PJhRg{+b+Bs_-?DUfYU(_6l0JN+7i^4fN6 z|BxYGskRvsZ{42I5yz^573d7v9Vk& z70Oo@%U9bgV8|Izp~+prKoSarHWi)f3;*M!g^X5j?t~ z2FVf4cgMY}C^Kx#JMt#52R-5GxQ7QS?q9Qbj5DxsASCxJfdU%3Xf@bfoJm_ZqE>x LC*D5~%fI*!p$x(% literal 0 HcmV?d00001 diff --git a/s1/target/classes/com/tabrizu/data/ScoreBoard.class b/s1/target/classes/com/tabrizu/data/ScoreBoard.class new file mode 100644 index 0000000000000000000000000000000000000000..cbfb5d155ac2e9ea3bbac06fda1875fc502fc317 GIT binary patch literal 1466 zcmZ`&*;W%-6x}x!sG=-nG6;$qwVMt>jRWGq&`Ly&9l+ITSxbG;o8+pcNfoP7!Qt5- z@yS{}@XguI-pJDh#?-sjve-#&f@FoEkP5(0ZGemxh;a^OB|=BhH3 zxl+Xs)SNGas)?jP??bsNb2aJR&n=Z7s!Awem-0*h&fh5&Zp{mbfxAB0 z2hp5>z9@09br>h=)P2~`C~yF2M$N1(M5+zMK^%%84*wE28H=;t;E(JYvg>5*h`Zes XFo6Z$qJXckOq>zNNpz7r2`v2pO|>pc literal 0 HcmV?d00001 diff --git a/s1/target/test-classes/com/tabrizu/data/AppTest.class b/s1/target/test-classes/com/tabrizu/data/AppTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7cf1701825217792948983801b0a49387e552817 GIT binary patch literal 498 zcmZ`#Jx{|x41JfT34}mD_-YYD$HKrZ-HMPZ1X864B&fPy(o?xAP15ATz`tSwG4KQU zQ3zkC1Op6bpP%h#`+a=Ay#pAa>%wB_MCp=i5$5WtM$3dFU`J$w)$Yx5*oQq6x zbHva?8+$Hx8G3(Ljfz6%6_byB95DEzLatV&h>5-4ACJwQ-hEo;k-S#sB7d#XnUM!Q zkQgK>V9_HHD0b<`$uonTzF_0IN_%8Y8t|}1*8eUbzfBRaLs<(A`kAUGc|$ZH%=9?6 Z{fgEPlUEIF(#X~?HfPPoa7aBCI$!*bX$SxS literal 0 HcmV?d00001 diff --git a/sll/.editorconfig b/sll/.editorconfig new file mode 100644 index 0000000..e1d0ce7 --- /dev/null +++ b/sll/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true +max_line_length = 80 + +[*.sh] +end_of_line = lf + +[*.java] +indent_size = 4 +max_line_length = 120 diff --git a/sll/.idea/.gitignore b/sll/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/sll/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/sll/.idea/compiler.xml b/sll/.idea/compiler.xml new file mode 100644 index 0000000..c6d6875 --- /dev/null +++ b/sll/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sll/.idea/encodings.xml b/sll/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/sll/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/sll/.idea/jarRepositories.xml b/sll/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/sll/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/sll/.idea/misc.xml b/sll/.idea/misc.xml new file mode 100644 index 0000000..ea0b3a9 --- /dev/null +++ b/sll/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/sll/.vscode/settings.json b/sll/.vscode/settings.json new file mode 100644 index 0000000..6f9c740 --- /dev/null +++ b/sll/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "print.colourScheme": "Atom One" +} \ No newline at end of file diff --git a/sll/pom.xml b/sll/pom.xml new file mode 100644 index 0000000..474ba67 --- /dev/null +++ b/sll/pom.xml @@ -0,0 +1,173 @@ + + 4.0.0 + com.tabrizu.ds + sll + 1.0 + + 1.8 + 1.8 + UTF-8 + 5.6.0 + 3.0.0-M3 + 3.1.2 + 8.45.1 + 3.0.0-M5 + 0.8.4 + 3.0.0 + + 0% + 0% + 20 + 5 + + + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + test + + + org.junit.jupiter + junit-jupiter-engine + ${junit.version} + test + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + ${maven-enforcer-plugin.version} + + + + enforce + + + + + 3.6.3 + + + true + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + + + com.puppycrawl.tools + checkstyle + ${checkstyle.version} + + + com.github.ngeor + checkstyle-rules + 4.9.3 + + + + com/github/ngeor/checkstyle.xml + true + ${skipTests} + + + + checkstyle + validate + + check + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + org.jacoco + jacoco-maven-plugin + ${jacoco-maven-plugin.version} + + + pre-unit-test + + prepare-agent + + + + post-unit-test + test + + report + + + + check-unit-test + test + + check + + + ${project.build.directory}/jacoco.exec + + + BUNDLE + + + INSTRUCTION + COVEREDRATIO + ${jacoco.unit-tests.limit.instruction-ratio} + + + BRANCH + COVEREDRATIO + ${jacoco.unit-tests.limit.branch-ratio} + + + + + CLASS + + + COMPLEXITY + TOTALCOUNT + ${jacoco.unit-tests.limit.class-complexity} + + + + + METHOD + + + COMPLEXITY + TOTALCOUNT + ${jacoco.unit-tests.limit.method-complexity} + + + + + + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + + diff --git a/sll/src/main/java/com/tabrizu/ds/App.java b/sll/src/main/java/com/tabrizu/ds/App.java new file mode 100644 index 0000000..67b74fd --- /dev/null +++ b/sll/src/main/java/com/tabrizu/ds/App.java @@ -0,0 +1,19 @@ +package com.tabrizu.ds; + +/** + * Hello world! + */ +public final class App { + private App() { + } + + /** + * Says hello to the world. + * @param args The arguments of the program. + */ + public static void main(String[] args) { + System.out.println("Hello World!"); + + SingleLinkedList myList = new SingleLinkedList(); + } +} diff --git a/sll/src/main/java/com/tabrizu/ds/ISingleLinkedList.java b/sll/src/main/java/com/tabrizu/ds/ISingleLinkedList.java new file mode 100644 index 0000000..5c08412 --- /dev/null +++ b/sll/src/main/java/com/tabrizu/ds/ISingleLinkedList.java @@ -0,0 +1,12 @@ +package com.tabrizu.ds; + + +public interface ISingleLinkedList { + public int size(); + public void addFirst(T value); + public void addLast(T value); + public T removeFirst(); + public T removeLast(); + public T getFirst(); + public T getLast(); +} diff --git a/sll/src/main/java/com/tabrizu/ds/SingleLinkedList.java b/sll/src/main/java/com/tabrizu/ds/SingleLinkedList.java new file mode 100644 index 0000000..9c8ebd3 --- /dev/null +++ b/sll/src/main/java/com/tabrizu/ds/SingleLinkedList.java @@ -0,0 +1,106 @@ +package com.tabrizu.ds; + +public class SingleLinkedList implements ISingleLinkedList { + + private class Node { + private T m_value; + private Node m_next; + + public Node(T value, Node next) { + m_value = value; + m_next = next; + } + + public T getValue() { + return m_value; + } + + public Node getNext() { + return m_next; + } + + public void setNext(Node next) { + m_next = next; + } + } + + private Node m_head; + private Node m_tail; + private int m_size; + + public SingleLinkedList() { + m_head = null; + m_tail = null; + m_size = 0; + } + + @Override + public int size() { + return m_size; + } + + @Override + public void addFirst(T value) { + m_head = new Node(value, m_head); + if (m_size == 0) { + m_tail = m_head; + } + m_size += 1; + } + + @Override + public void addLast(T value) { + if (m_size == 0) { + addFirst(value); + } + Node newNode = new Node(value, null); + m_tail.setNext(newNode); + m_tail = newNode; + m_size++; + + } + + @Override + public T removeFirst() { + if (m_size == 0) { + return null; + } + T lastHead = m_head.getValue(); + m_head = m_head.getNext(); + m_size--; + + return lastHead; + } + + @Override + public T removeLast() { + if (m_size == 0) { + return null; + } + T lastTail = m_tail.getValue(); + Node currentNode = m_head; + while (currentNode.getNext() != null){ + + currentNode = currentNode.getNext(); + + } + } + + @Override + public T getFirst() { + // TODO Auto-generated method stub + return null; + } + + @Override + public T getLast() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String toString() { + + } + +} diff --git a/sll/src/test/java/com/tabrizu/ds/AppTest.java b/sll/src/test/java/com/tabrizu/ds/AppTest.java new file mode 100644 index 0000000..7f5302a --- /dev/null +++ b/sll/src/test/java/com/tabrizu/ds/AppTest.java @@ -0,0 +1,18 @@ +package com.tabrizu.ds; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +/** + * Unit test for simple App. + */ +class AppTest { + /** + * Rigorous Test. + */ + @Test + void testApp() { + assertEquals(1, 1); + } +} diff --git a/sll/target/classes/com/tabrizu/ds/App.class b/sll/target/classes/com/tabrizu/ds/App.class new file mode 100644 index 0000000000000000000000000000000000000000..ff261abb50d2cfd9339403d08fa54d1a530096b2 GIT binary patch literal 756 zcmah{Yikoh6g`uq-DF+Ot4V#fjrEcEp^GT}l2Q;sT3A$wq?CS;Niw8U_YpReLi(@j z2MY@R0DqKtc2j8+3o83s@5)#w{$(&{j`dhz#rwB&o2Y@*p+LQPq4 z3TosQO-QviE7pl);j1@HM}dQBk}A+x)MgQlLe=NB zosRzMyZyi7oohqvhei!m+}%Bx2FP&nrRiJrUeOBL zr56{-pQqP0cbiFILJoP{;>npM(cY$4z#SAX0Y0aIK=~_5mHIc_{eiW^3v74^Se8Iw qa?-g-s4_~Zq=5CbK^YA^=3R+kn|Q+gDZQlGEb@#ef#-~6(EJ0^QmvK% literal 0 HcmV?d00001 diff --git a/sll/target/classes/com/tabrizu/ds/ISingleLinkedList.class b/sll/target/classes/com/tabrizu/ds/ISingleLinkedList.class new file mode 100644 index 0000000000000000000000000000000000000000..657b5ba6a9dc819b290af86b20298871139b17ad GIT binary patch literal 443 zcmZWlJ#T|B6g;O1CZr!}n{@7ImU`*bMjb0fLdpQ@?tq1y5|F@T$WQCgAJ89F^$}1N z!REX7?#}Oie!so}JY&f*Vt9;;y|ijunqw`KO0GkbrMkZR_c9m z(4EOb_(K4imI#$=aK+{56gr{;?cVimm%bKZuO!$7A} uZ2+e_CUDTy!r>A>C3Xal@T`X~arHmHruj_|&wKdx9FynW$@#uZSo{H`RbFlY literal 0 HcmV?d00001 diff --git a/sll/target/classes/com/tabrizu/ds/SingleLinkedList$Node.class b/sll/target/classes/com/tabrizu/ds/SingleLinkedList$Node.class new file mode 100644 index 0000000000000000000000000000000000000000..6940ec40e90a63aa8fe36021879e0bd40ec964ef GIT binary patch literal 1363 zcma)6ZEw<07(KTwFrYGI44f~6Db5xKor&MJ?8_1p6M`lXJ}p@a++b%ZrY(!^S7{d2u)lQhh}IC-EWfuvYH)R9JpVVi8@ zo!Ml-{hmE=r7hE;?e=Zo5&I>mi6Jp0mey$tM@sE~sGmRH(znJu>@Qp{8s_F8NXamz zyD4IJq`d|a?`Uu{p1Lv{x^uy85;NAezaF$=xhqM80h#V}<`4O6M~rcI{jF$;+s>fB z@jULIyLJ%pAcYn~C8ld~R$Nt7$u^ZI=d$ zDg6WCc_ebUA+onFQuwdP3mB1zDMjAVUUZTalUbQXMxrH}dRZzhx=ThgNK$uV{?({d Wfn*6$P$x`514r}}9EK(=D1QLUb}J@Hlc1h#U@NH!8~wftxz>++ zmf2L8tM*;)zdO6>HLZ%maLwLz&7k933iE@UR_gW2>Qd~NQMf%k*v8$Hq*sXSWq*2H_>YsiXeC?!S&PP@#}4BV;0StUyB5tay;WQb8o+}Id+wZP|`vGe3g3L|`c~U>4y>jO-@fgbf$h2azVERaTg$pOTxTchEi2gbntH3#4s_q* zFuA(PMZ4n!y7!YFumJ+kKz^Gs%& z!_N0@p#{GsqFj0$DAR)kVU%#1xllxe`Ls z36sHNNU|!TM93$}Y@QmYLe|||0yDa`@aC4(W06)?o*dTG)5#&Ry`4Qp5an8l<65h6X8Oo znpA533Genwb%U+8#)!8uiglKK19Q03gV2Z(j$#^Lgi>`8%9$XH&IF;z!X}o!Tuwk; z4Jl9+B_Mj+<$jnj>b_K*u-koNiQ1*|7BRm&X3Ukhi21`YV_t=Dm6^OHa`3CYz_snM m>xWqTw~xEo6H`lY7mILDGm`Yv?YQ{sEEJ*Nl)dfG)a>S1OJK%#J~^W zM#+hXW3L1+J()~T#9GGW05TQ zeYlj7W^gW5qVyF*ZE!YYu&>j(^iadDk2)NNMxYXTSFS>tPem9@hIWufBA$s{nRo-* z`biZG-C+Cl5reB~3tEPu_fRHUt>jD