From 84afca6aec0d4c5842199e723d412646cb20a88b Mon Sep 17 00:00:00 2001 From: gaodekui <13526428940@163.com> Date: Thu, 23 Feb 2017 17:42:31 +0800 Subject: [PATCH 01/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org.eclipse.core.resources.prefs | 2 + .../src/com/coding/basic/ArrayList.java | 39 ++++ .../src/com/coding/basic/BinaryTreeNode.java | 29 +++ .../src/com/coding/basic/Iterator.java | 6 + .../src/com/coding/basic/LinkedList.java | 62 ++++++ .../1924332561/src/com/coding/basic/List.java | 9 + .../src/com/coding/basic/Queue.java | 23 +++ .../src/com/coding/basic/Stack.java | 29 +++ group16/214074094/readme.txt | 1 + .../src/com/coding/basic/ArrayList.java | 60 ++++++ .../src/com/coding/basic/BinaryTreeNode.java | 32 +++ .../src/com/coding/basic/Iterator.java | 7 + .../src/com/coding/basic/LinkedList.java | 46 +++++ .../214074094/src/com/coding/basic/List.java | 15 ++ .../214074094/src/com/coding/basic/Queue.java | 19 ++ .../214074094/src/com/coding/basic/Stack.java | 22 ++ .../src/com/coding/basic/ArrayList.java | 100 +++++++++ .../src/com/coding/basic/BinaryTreeNode.java | 67 ++++++ .../src/com/coding/basic/Iterator.java | 7 + .../src/com/coding/basic/LinkedList.java | 195 ++++++++++++++++++ .../2562124714/src/com/coding/basic/List.java | 9 + .../src/com/coding/basic/Queue.java | 24 +++ .../src/com/coding/basic/Stack.java | 34 +++ .../src/com/coding/basic/TreeData.java | 26 +++ 24 files changed, 863 insertions(+) create mode 100644 group16/1924332561/.settings/org.eclipse.core.resources.prefs create mode 100644 group16/1924332561/src/com/coding/basic/ArrayList.java create mode 100644 group16/1924332561/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group16/1924332561/src/com/coding/basic/Iterator.java create mode 100644 group16/1924332561/src/com/coding/basic/LinkedList.java create mode 100644 group16/1924332561/src/com/coding/basic/List.java create mode 100644 group16/1924332561/src/com/coding/basic/Queue.java create mode 100644 group16/1924332561/src/com/coding/basic/Stack.java create mode 100644 group16/214074094/readme.txt create mode 100644 group16/214074094/src/com/coding/basic/ArrayList.java create mode 100644 group16/214074094/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group16/214074094/src/com/coding/basic/Iterator.java create mode 100644 group16/214074094/src/com/coding/basic/LinkedList.java create mode 100644 group16/214074094/src/com/coding/basic/List.java create mode 100644 group16/214074094/src/com/coding/basic/Queue.java create mode 100644 group16/214074094/src/com/coding/basic/Stack.java create mode 100644 group16/2562124714/src/com/coding/basic/ArrayList.java create mode 100644 group16/2562124714/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group16/2562124714/src/com/coding/basic/Iterator.java create mode 100644 group16/2562124714/src/com/coding/basic/LinkedList.java create mode 100644 group16/2562124714/src/com/coding/basic/List.java create mode 100644 group16/2562124714/src/com/coding/basic/Queue.java create mode 100644 group16/2562124714/src/com/coding/basic/Stack.java create mode 100644 group16/2562124714/src/com/coding/basic/TreeData.java diff --git a/group16/1924332561/.settings/org.eclipse.core.resources.prefs b/group16/1924332561/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..99f26c0203 --- /dev/null +++ b/group16/1924332561/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/group16/1924332561/src/com/coding/basic/ArrayList.java b/group16/1924332561/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..9e20bf25c4 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/ArrayList.java @@ -0,0 +1,39 @@ +package com.coding.basic; + +public class ArrayList implements List{ + private int size = 0; + + private Object[] elementDate = new Object[100]; + + + @Override + public void add(Object o) { + + } + + @Override + public void add(int index, Object o) { + + } + + @Override + public Object get(int dex) { + + return null; + } + + @Override + public Object remove(int index) { + return null; + } + + @Override + public int size() { + return -1; + } + + public Iterator iterator(){ + return null; + } + +} diff --git a/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java b/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..e7d9e43e24 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,29 @@ +package com.coding.basic; + +public class BinaryTreeNode { + private Object date; + private BinaryTreeNode left; + private BinaryTreeNode right; + public Object getDate() { + return date; + } + public void setDate(Object date) { + this.date = date; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(Object o){ + return null; + } +} diff --git a/group16/1924332561/src/com/coding/basic/Iterator.java b/group16/1924332561/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..e7cbd474ec --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/Iterator.java @@ -0,0 +1,6 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); +} diff --git a/group16/1924332561/src/com/coding/basic/LinkedList.java b/group16/1924332561/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..d39557be29 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/LinkedList.java @@ -0,0 +1,62 @@ +package com.coding.basic; + +public class LinkedList implements List { + + private static class Node{ + Object date; + Node next; + } + + private Node head; + + + @Override + public void add(Object o) { + + } + + @Override + public void add(int index, Object o) { + + } + + @Override + public Object get(int dex) { + return null; + } + + @Override + public Object remove(int index) { + return null; + } + + @Override + public int size() { + + return 0; + } + + public void addFirst(Object o){ + + } + + public void addLast(Object o){ + + } + + public Object removeFirst(){ + + return null; + } + + public Object removeLast(){ + + return null; + } + + public Iterator iterator(){ + + return null; + } + +} diff --git a/group16/1924332561/src/com/coding/basic/List.java b/group16/1924332561/src/com/coding/basic/List.java new file mode 100644 index 0000000000..9be54168b6 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/List.java @@ -0,0 +1,9 @@ +package com.coding.basic; + +public interface List { + public void add(Object o); + public void add(int index,Object o); + public Object get(int dex); + public Object remove(int index); + public int size(); +} diff --git a/group16/1924332561/src/com/coding/basic/Queue.java b/group16/1924332561/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..7dc7b4820a --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/Queue.java @@ -0,0 +1,23 @@ +package com.coding.basic; + +public class Queue { + + public void enQueue(){ + + + } + public Object deQueue(){ + + return null; + } + + public boolean isEmpty(){ + + return false; + } + + public int size(){ + + return -1; + } +} diff --git a/group16/1924332561/src/com/coding/basic/Stack.java b/group16/1924332561/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..7a49c48279 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/Stack.java @@ -0,0 +1,29 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementDate = new ArrayList(); + + public void push(Object o){ + + } + + public Object pop(){ + + return null; + } + + public Object peek(){ + + return null; + } + + public boolean isEmpty(){ + + return false; + } + + public int size(){ + + return -1; + } +} diff --git a/group16/214074094/readme.txt b/group16/214074094/readme.txt new file mode 100644 index 0000000000..c1b06ddcc2 --- /dev/null +++ b/group16/214074094/readme.txt @@ -0,0 +1 @@ +I am 北京-Shane diff --git a/group16/214074094/src/com/coding/basic/ArrayList.java b/group16/214074094/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..a50055225b --- /dev/null +++ b/group16/214074094/src/com/coding/basic/ArrayList.java @@ -0,0 +1,60 @@ +package com.coding.basic; + +public class ArrayList implements List { + + private int size = 0; + + private final static Object[] EMPTY_ELEMENTDATA = {}; + + /** + * 默认容量 + */ + private static int DEFAULT_CAPACITY = 10; + + private Object[] elementData; + + public ArrayList() { + this.elementData = EMPTY_ELEMENTDATA; + } + + public static void main(String[] args) { + ArrayList list = new ArrayList(); + System.out.println(list.elementData == list.EMPTY_ELEMENTDATA); + } + + public void add(Object o) { + if (elementData == EMPTY_ELEMENTDATA) { + elementData = new Object[DEFAULT_CAPACITY]; + }else if(size < elementData.length){ + size++; + }else{ + _grow(); + } + elementData[size] = o; + } + + private void _grow() { + + } + + public void add(int index, Object o) { + + } + + public Object get(int index) { + return null; + } + + public Object remove(int index) { + return null; + } + + public int size() { + return -1; + } + + public Iterator iterator() { + return null; + } + +} diff --git a/group16/214074094/src/com/coding/basic/BinaryTreeNode.java b/group16/214074094/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..d7ac820192 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,32 @@ +package com.coding.basic; + +public class BinaryTreeNode { + + private Object data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public Object getData() { + return data; + } + public void setData(Object data) { + this.data = data; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(Object o){ + return null; + } + +} diff --git a/group16/214074094/src/com/coding/basic/Iterator.java b/group16/214074094/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..06ef6311b2 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/Iterator.java @@ -0,0 +1,7 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); + +} diff --git a/group16/214074094/src/com/coding/basic/LinkedList.java b/group16/214074094/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..e2c4e5e795 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/LinkedList.java @@ -0,0 +1,46 @@ +package com.coding.basic; + +public class LinkedList implements List { + + private Node head; + + public void add(Object o){ + + } + public void add(int index , Object o){ + + } + public Object get(int index){ + return null; + } + public Object remove(int index){ + return null; + } + + public int size(){ + return -1; + } + + public void addFirst(Object o){ + + } + public void addLast(Object o){ + + } + public Object removeFirst(){ + return null; + } + public Object removeLast(){ + return null; + } + public Iterator iterator(){ + return null; + } + + + private static class Node{ + Object data; + Node next; + + } +} diff --git a/group16/214074094/src/com/coding/basic/List.java b/group16/214074094/src/com/coding/basic/List.java new file mode 100644 index 0000000000..fdaf43f86f --- /dev/null +++ b/group16/214074094/src/com/coding/basic/List.java @@ -0,0 +1,15 @@ +package com.coding.basic; + +public interface List { + + void add(Object o); + + void add(int index, Object o); + + Object get(int index); + + Object remove(int index); + + int size(); + +} diff --git a/group16/214074094/src/com/coding/basic/Queue.java b/group16/214074094/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..36e516e266 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/Queue.java @@ -0,0 +1,19 @@ +package com.coding.basic; + +public class Queue { + + public void enQueue(Object o){ + } + + public Object deQueue(){ + return null; + } + + public boolean isEmpty(){ + return false; + } + + public int size(){ + return -1; + } +} diff --git a/group16/214074094/src/com/coding/basic/Stack.java b/group16/214074094/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..a5a04de76d --- /dev/null +++ b/group16/214074094/src/com/coding/basic/Stack.java @@ -0,0 +1,22 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementData = new ArrayList(); + + public void push(Object o){ + } + + public Object pop(){ + return null; + } + + public Object peek(){ + return null; + } + public boolean isEmpty(){ + return false; + } + public int size(){ + return -1; + } +} diff --git a/group16/2562124714/src/com/coding/basic/ArrayList.java b/group16/2562124714/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..f1d5a9fdd9 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/ArrayList.java @@ -0,0 +1,100 @@ +package com.coding.basic; + +public class ArrayList implements List { + + private int size = 0; + + private int Scale; //每次扩展大小 + + private Object[] elementData = new Object[100]; + + public ArrayList() + { + this.Scale = 10; + } + + public ArrayList(int i) + { + this.Scale = i; + } + + public void add(Object o){ + if (this.size == elementData.length) + { + DoEnlage(); + } + elementData[size] = o; + this.size++; + } + + private void DoEnlage() + { + if (this.Scale >= 1 && this.Scale <= 10000) + { + Object[] NewElementData = new Object[this.elementData.length + this.Scale]; + System.arraycopy(this.elementData,0,NewElementData,0,this.elementData.length); + + this.elementData = NewElementData; + } + + } + + //index从1开始 位置1,2,3,4,5,6 + public void add(int index, Object o){ + if (this.size == elementData.length) + { + DoEnlage(); + } + int i = 0; + //遍历赋值 + for(i = this.size; i >= index;i--) + { + this.elementData[i] = this.elementData[i - 1]; + } + + this.elementData[i] = o; + this.size++; + + } + + public Object get(int index){ + if (index >= 1 && index <= this.size) + { + return this.elementData[index - 1]; + } + else { + return null; + } + + + } + + public Object remove(int index){ + if (index >= 1 && index <= this.size) + { + int i = 0; + Object DelElement = this.elementData[index - 1]; + for(i = index; i <= this.size; i++) + { + this.elementData[i - 1] = this.elementData[i]; + } + this.elementData[i] = null; + this.size--; + + return DelElement; + + } + else { + return null; + } + } + + public int size(){ + return this.size; + } + + public Iterator iterator(){ + return null; + } + +} diff --git a/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java b/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..680c20c419 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,67 @@ +package com.coding.basic; + +public class BinaryTreeNode { + + private TreeData treeData; + //private Object data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public TreeData getData() { + return treeData; + } + public void setData(TreeData data) { + this.treeData = data; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(TreeData o){ + + //遍历寻找元素应该插入的位置 + if (o.compareTo(this.treeData) < 0) + { + if (this.left != null) + { + this.left.insert(o); + } + else + { + BinaryTreeNode NewNode = new BinaryTreeNode(); + NewNode.setData(o); + NewNode.setLeft(null); + NewNode.setRight(null); + this.left = NewNode; + } + } + else + { + if (this.right != null) + { + this.right.insert(o); + } + else + { + BinaryTreeNode NewNode = new BinaryTreeNode(); + NewNode.setData(o); + NewNode.setLeft(null); + NewNode.setRight(null); + this.right = NewNode; + } + } + + + return null; + } + +} diff --git a/group16/2562124714/src/com/coding/basic/Iterator.java b/group16/2562124714/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..06ef6311b2 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/Iterator.java @@ -0,0 +1,7 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); + +} diff --git a/group16/2562124714/src/com/coding/basic/LinkedList.java b/group16/2562124714/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..8ef49d108a --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/LinkedList.java @@ -0,0 +1,195 @@ +package com.coding.basic; + +import com.sun.org.apache.bcel.internal.generic.NEW; + +import java.awt.*; + +public class LinkedList implements List { + + private Node head; + private int Size; + + public void add(Object o){ + Node NewNode = new Node(o); + + if (this.head == null) + { + head = NewNode; + } + else + { + Node node; + for (node = head; node.next != null; node = node.next) + { + } + node.next = NewNode; + } + this.Size++; + + } + //index为位置1,2,3,4,5,6,7 + public void add(int index , Object o){ + Node NewNode = new Node(o); + + if (1 == index) + { + NewNode.next = head; + head = NewNode; + } + else { + Node node; + int i = 0; + for (i = 1, node = head; i < index - 1; i++, node = node.next) { + } + NewNode.next = node.next; + node.next = NewNode; + } + this.Size++; + + } + public Object get(int index){ + Node node; + int i = 0; + + for (i = 1, node = head; i < index ; i++, node = node.next) { + } + + return node.data; +// return null; + } + public Object remove(int index){ + Node node; + int i = 0; + + if (1 == index) + { + if (head.next == null) + { + Object DelData = head.data; + head = null; + this.Size--; + return DelData; + } + else + { + Node DelNode = head; + head = DelNode.next; + DelNode.next = null; + this.Size--; + return DelNode.data; + + } + } + else { + + for (i = 1, node = head; i < index - 1; i++, node = node.next) { + } + Node DelNode = node.next; + node.next = DelNode.next; + DelNode.next = null; + this.Size--; + return DelNode.data; + } + } + + public int size(){ + + return this.Size; + } + + public void addFirst(Object o){ + Node NewNode = new Node(0); + + if (null == this.head) + { + NewNode.next = null; + head = NewNode; + } + else + { + NewNode.next = head; + head = NewNode; + } + + this.Size++; + + } + public void addLast(Object o){ + Node NewNode = new Node(o); + + if (this.Size == 0) + { + NewNode.next = null; + head = NewNode; + } + else + { +// int i = 0; + Node node; + for (node = head; node.next != null; node = node.next) { + + } + node.next = NewNode; + } + + this.Size++; + + } + public Object removeFirst(){ + Node DelFirst; + + if (1 == this.Size) + { + DelFirst = this.head; + DelFirst.next = null; + head = null; + } + else + { + DelFirst = this.head; + head = head.next; + DelFirst.next = null; + } + this.Size--; + + return DelFirst.data; + } + public Object removeLast(){ + Node DelLast; + + if (1 == this.Size) + { + DelLast = head; + DelLast.next = null; + head = null; + } + else + { + Node node; + for (node = head; node.next.next != null; node = node.next) { + + } + DelLast = node.next; + node.next = null; + } + this.Size--; + + return DelLast.data; + } + public Iterator iterator(){ + return null; + } + + + private static class Node{ + Object data; + Node next; + + public Node(Object o) + { + this.data = o; + this.next = null; + } + + } +} diff --git a/group16/2562124714/src/com/coding/basic/List.java b/group16/2562124714/src/com/coding/basic/List.java new file mode 100644 index 0000000000..10d13b5832 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/List.java @@ -0,0 +1,9 @@ +package com.coding.basic; + +public interface List { + public void add(Object o); + public void add(int index, Object o); + public Object get(int index); + public Object remove(int index); + public int size(); +} diff --git a/group16/2562124714/src/com/coding/basic/Queue.java b/group16/2562124714/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..40b8f22607 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/Queue.java @@ -0,0 +1,24 @@ +package com.coding.basic; + +public class Queue { + private ArrayList elementData = new ArrayList(); + + public void enQueue(Object o){ + elementData.add(o); + } + + public Object deQueue(){ + + + return elementData.get(1); + } + + public boolean isEmpty(){ + + return elementData.size() == 0 ? true : false; + } + + public int size(){ + return elementData.size(); + } +} diff --git a/group16/2562124714/src/com/coding/basic/Stack.java b/group16/2562124714/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..61c92b2fe7 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/Stack.java @@ -0,0 +1,34 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementData = new ArrayList(); + +// public Stack() +// { +// elementData +// } + + public void push(Object o){ + elementData.add(0); + } + + public Object pop(){ + Object o = elementData.remove(elementData.size()); + return o; + } + + public Object peek(){ + Object o = elementData.get(elementData.size()); + return o; + } + public boolean isEmpty(){ + if (elementData.size() == 0) + { + return true; + } + return false; + } + public int size(){ + return elementData.size(); + } +} diff --git a/group16/2562124714/src/com/coding/basic/TreeData.java b/group16/2562124714/src/com/coding/basic/TreeData.java new file mode 100644 index 0000000000..3c39539b28 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/TreeData.java @@ -0,0 +1,26 @@ +package com.coding.basic; + +/** + * Created by zhangwj on 2017/2/22. + */ +public class TreeData> implements Comparable>{ + private int s; + private T t; + + public T getT() + { + return t; + } + + @Override + public int compareTo(TreeData o) { + return getT().compareTo(o.getT()); + } + +// public int compareTo(TreeData o) +// { +// +// } + + +} From 3b9b110f2e0e6a3dc7f25d4db004c4499a120f3a Mon Sep 17 00:00:00 2001 From: gaodekui <13526428940@163.com> Date: Thu, 23 Feb 2017 17:42:45 +0800 Subject: [PATCH 02/37] =?UTF-8?q?Revert=20"=E6=9B=B4=E6=96=B0=E6=8F=90?= =?UTF-8?q?=E4=BA=A4"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 84afca6aec0d4c5842199e723d412646cb20a88b. --- .../org.eclipse.core.resources.prefs | 2 - .../src/com/coding/basic/ArrayList.java | 39 ---- .../src/com/coding/basic/BinaryTreeNode.java | 29 --- .../src/com/coding/basic/Iterator.java | 6 - .../src/com/coding/basic/LinkedList.java | 62 ------ .../1924332561/src/com/coding/basic/List.java | 9 - .../src/com/coding/basic/Queue.java | 23 --- .../src/com/coding/basic/Stack.java | 29 --- group16/214074094/readme.txt | 1 - .../src/com/coding/basic/ArrayList.java | 60 ------ .../src/com/coding/basic/BinaryTreeNode.java | 32 --- .../src/com/coding/basic/Iterator.java | 7 - .../src/com/coding/basic/LinkedList.java | 46 ----- .../214074094/src/com/coding/basic/List.java | 15 -- .../214074094/src/com/coding/basic/Queue.java | 19 -- .../214074094/src/com/coding/basic/Stack.java | 22 -- .../src/com/coding/basic/ArrayList.java | 100 --------- .../src/com/coding/basic/BinaryTreeNode.java | 67 ------ .../src/com/coding/basic/Iterator.java | 7 - .../src/com/coding/basic/LinkedList.java | 195 ------------------ .../2562124714/src/com/coding/basic/List.java | 9 - .../src/com/coding/basic/Queue.java | 24 --- .../src/com/coding/basic/Stack.java | 34 --- .../src/com/coding/basic/TreeData.java | 26 --- 24 files changed, 863 deletions(-) delete mode 100644 group16/1924332561/.settings/org.eclipse.core.resources.prefs delete mode 100644 group16/1924332561/src/com/coding/basic/ArrayList.java delete mode 100644 group16/1924332561/src/com/coding/basic/BinaryTreeNode.java delete mode 100644 group16/1924332561/src/com/coding/basic/Iterator.java delete mode 100644 group16/1924332561/src/com/coding/basic/LinkedList.java delete mode 100644 group16/1924332561/src/com/coding/basic/List.java delete mode 100644 group16/1924332561/src/com/coding/basic/Queue.java delete mode 100644 group16/1924332561/src/com/coding/basic/Stack.java delete mode 100644 group16/214074094/readme.txt delete mode 100644 group16/214074094/src/com/coding/basic/ArrayList.java delete mode 100644 group16/214074094/src/com/coding/basic/BinaryTreeNode.java delete mode 100644 group16/214074094/src/com/coding/basic/Iterator.java delete mode 100644 group16/214074094/src/com/coding/basic/LinkedList.java delete mode 100644 group16/214074094/src/com/coding/basic/List.java delete mode 100644 group16/214074094/src/com/coding/basic/Queue.java delete mode 100644 group16/214074094/src/com/coding/basic/Stack.java delete mode 100644 group16/2562124714/src/com/coding/basic/ArrayList.java delete mode 100644 group16/2562124714/src/com/coding/basic/BinaryTreeNode.java delete mode 100644 group16/2562124714/src/com/coding/basic/Iterator.java delete mode 100644 group16/2562124714/src/com/coding/basic/LinkedList.java delete mode 100644 group16/2562124714/src/com/coding/basic/List.java delete mode 100644 group16/2562124714/src/com/coding/basic/Queue.java delete mode 100644 group16/2562124714/src/com/coding/basic/Stack.java delete mode 100644 group16/2562124714/src/com/coding/basic/TreeData.java diff --git a/group16/1924332561/.settings/org.eclipse.core.resources.prefs b/group16/1924332561/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 99f26c0203..0000000000 --- a/group16/1924332561/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -encoding/=UTF-8 diff --git a/group16/1924332561/src/com/coding/basic/ArrayList.java b/group16/1924332561/src/com/coding/basic/ArrayList.java deleted file mode 100644 index 9e20bf25c4..0000000000 --- a/group16/1924332561/src/com/coding/basic/ArrayList.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.coding.basic; - -public class ArrayList implements List{ - private int size = 0; - - private Object[] elementDate = new Object[100]; - - - @Override - public void add(Object o) { - - } - - @Override - public void add(int index, Object o) { - - } - - @Override - public Object get(int dex) { - - return null; - } - - @Override - public Object remove(int index) { - return null; - } - - @Override - public int size() { - return -1; - } - - public Iterator iterator(){ - return null; - } - -} diff --git a/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java b/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java deleted file mode 100644 index e7d9e43e24..0000000000 --- a/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coding.basic; - -public class BinaryTreeNode { - private Object date; - private BinaryTreeNode left; - private BinaryTreeNode right; - public Object getDate() { - return date; - } - public void setDate(Object date) { - this.date = date; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(Object o){ - return null; - } -} diff --git a/group16/1924332561/src/com/coding/basic/Iterator.java b/group16/1924332561/src/com/coding/basic/Iterator.java deleted file mode 100644 index e7cbd474ec..0000000000 --- a/group16/1924332561/src/com/coding/basic/Iterator.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.coding.basic; - -public interface Iterator { - public boolean hasNext(); - public Object next(); -} diff --git a/group16/1924332561/src/com/coding/basic/LinkedList.java b/group16/1924332561/src/com/coding/basic/LinkedList.java deleted file mode 100644 index d39557be29..0000000000 --- a/group16/1924332561/src/com/coding/basic/LinkedList.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.coding.basic; - -public class LinkedList implements List { - - private static class Node{ - Object date; - Node next; - } - - private Node head; - - - @Override - public void add(Object o) { - - } - - @Override - public void add(int index, Object o) { - - } - - @Override - public Object get(int dex) { - return null; - } - - @Override - public Object remove(int index) { - return null; - } - - @Override - public int size() { - - return 0; - } - - public void addFirst(Object o){ - - } - - public void addLast(Object o){ - - } - - public Object removeFirst(){ - - return null; - } - - public Object removeLast(){ - - return null; - } - - public Iterator iterator(){ - - return null; - } - -} diff --git a/group16/1924332561/src/com/coding/basic/List.java b/group16/1924332561/src/com/coding/basic/List.java deleted file mode 100644 index 9be54168b6..0000000000 --- a/group16/1924332561/src/com/coding/basic/List.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coding.basic; - -public interface List { - public void add(Object o); - public void add(int index,Object o); - public Object get(int dex); - public Object remove(int index); - public int size(); -} diff --git a/group16/1924332561/src/com/coding/basic/Queue.java b/group16/1924332561/src/com/coding/basic/Queue.java deleted file mode 100644 index 7dc7b4820a..0000000000 --- a/group16/1924332561/src/com/coding/basic/Queue.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.coding.basic; - -public class Queue { - - public void enQueue(){ - - - } - public Object deQueue(){ - - return null; - } - - public boolean isEmpty(){ - - return false; - } - - public int size(){ - - return -1; - } -} diff --git a/group16/1924332561/src/com/coding/basic/Stack.java b/group16/1924332561/src/com/coding/basic/Stack.java deleted file mode 100644 index 7a49c48279..0000000000 --- a/group16/1924332561/src/com/coding/basic/Stack.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.coding.basic; - -public class Stack { - private ArrayList elementDate = new ArrayList(); - - public void push(Object o){ - - } - - public Object pop(){ - - return null; - } - - public Object peek(){ - - return null; - } - - public boolean isEmpty(){ - - return false; - } - - public int size(){ - - return -1; - } -} diff --git a/group16/214074094/readme.txt b/group16/214074094/readme.txt deleted file mode 100644 index c1b06ddcc2..0000000000 --- a/group16/214074094/readme.txt +++ /dev/null @@ -1 +0,0 @@ -I am 北京-Shane diff --git a/group16/214074094/src/com/coding/basic/ArrayList.java b/group16/214074094/src/com/coding/basic/ArrayList.java deleted file mode 100644 index a50055225b..0000000000 --- a/group16/214074094/src/com/coding/basic/ArrayList.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.coding.basic; - -public class ArrayList implements List { - - private int size = 0; - - private final static Object[] EMPTY_ELEMENTDATA = {}; - - /** - * 默认容量 - */ - private static int DEFAULT_CAPACITY = 10; - - private Object[] elementData; - - public ArrayList() { - this.elementData = EMPTY_ELEMENTDATA; - } - - public static void main(String[] args) { - ArrayList list = new ArrayList(); - System.out.println(list.elementData == list.EMPTY_ELEMENTDATA); - } - - public void add(Object o) { - if (elementData == EMPTY_ELEMENTDATA) { - elementData = new Object[DEFAULT_CAPACITY]; - }else if(size < elementData.length){ - size++; - }else{ - _grow(); - } - elementData[size] = o; - } - - private void _grow() { - - } - - public void add(int index, Object o) { - - } - - public Object get(int index) { - return null; - } - - public Object remove(int index) { - return null; - } - - public int size() { - return -1; - } - - public Iterator iterator() { - return null; - } - -} diff --git a/group16/214074094/src/com/coding/basic/BinaryTreeNode.java b/group16/214074094/src/com/coding/basic/BinaryTreeNode.java deleted file mode 100644 index d7ac820192..0000000000 --- a/group16/214074094/src/com/coding/basic/BinaryTreeNode.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.coding.basic; - -public class BinaryTreeNode { - - private Object data; - private BinaryTreeNode left; - private BinaryTreeNode right; - - public Object getData() { - return data; - } - public void setData(Object data) { - this.data = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(Object o){ - return null; - } - -} diff --git a/group16/214074094/src/com/coding/basic/Iterator.java b/group16/214074094/src/com/coding/basic/Iterator.java deleted file mode 100644 index 06ef6311b2..0000000000 --- a/group16/214074094/src/com/coding/basic/Iterator.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coding.basic; - -public interface Iterator { - public boolean hasNext(); - public Object next(); - -} diff --git a/group16/214074094/src/com/coding/basic/LinkedList.java b/group16/214074094/src/com/coding/basic/LinkedList.java deleted file mode 100644 index e2c4e5e795..0000000000 --- a/group16/214074094/src/com/coding/basic/LinkedList.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.coding.basic; - -public class LinkedList implements List { - - private Node head; - - public void add(Object o){ - - } - public void add(int index , Object o){ - - } - public Object get(int index){ - return null; - } - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public void addFirst(Object o){ - - } - public void addLast(Object o){ - - } - public Object removeFirst(){ - return null; - } - public Object removeLast(){ - return null; - } - public Iterator iterator(){ - return null; - } - - - private static class Node{ - Object data; - Node next; - - } -} diff --git a/group16/214074094/src/com/coding/basic/List.java b/group16/214074094/src/com/coding/basic/List.java deleted file mode 100644 index fdaf43f86f..0000000000 --- a/group16/214074094/src/com/coding/basic/List.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.coding.basic; - -public interface List { - - void add(Object o); - - void add(int index, Object o); - - Object get(int index); - - Object remove(int index); - - int size(); - -} diff --git a/group16/214074094/src/com/coding/basic/Queue.java b/group16/214074094/src/com/coding/basic/Queue.java deleted file mode 100644 index 36e516e266..0000000000 --- a/group16/214074094/src/com/coding/basic/Queue.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.coding.basic; - -public class Queue { - - public void enQueue(Object o){ - } - - public Object deQueue(){ - return null; - } - - public boolean isEmpty(){ - return false; - } - - public int size(){ - return -1; - } -} diff --git a/group16/214074094/src/com/coding/basic/Stack.java b/group16/214074094/src/com/coding/basic/Stack.java deleted file mode 100644 index a5a04de76d..0000000000 --- a/group16/214074094/src/com/coding/basic/Stack.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.coding.basic; - -public class Stack { - private ArrayList elementData = new ArrayList(); - - public void push(Object o){ - } - - public Object pop(){ - return null; - } - - public Object peek(){ - return null; - } - public boolean isEmpty(){ - return false; - } - public int size(){ - return -1; - } -} diff --git a/group16/2562124714/src/com/coding/basic/ArrayList.java b/group16/2562124714/src/com/coding/basic/ArrayList.java deleted file mode 100644 index f1d5a9fdd9..0000000000 --- a/group16/2562124714/src/com/coding/basic/ArrayList.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.coding.basic; - -public class ArrayList implements List { - - private int size = 0; - - private int Scale; //每次扩展大小 - - private Object[] elementData = new Object[100]; - - public ArrayList() - { - this.Scale = 10; - } - - public ArrayList(int i) - { - this.Scale = i; - } - - public void add(Object o){ - if (this.size == elementData.length) - { - DoEnlage(); - } - elementData[size] = o; - this.size++; - } - - private void DoEnlage() - { - if (this.Scale >= 1 && this.Scale <= 10000) - { - Object[] NewElementData = new Object[this.elementData.length + this.Scale]; - System.arraycopy(this.elementData,0,NewElementData,0,this.elementData.length); - - this.elementData = NewElementData; - } - - } - - //index从1开始 位置1,2,3,4,5,6 - public void add(int index, Object o){ - if (this.size == elementData.length) - { - DoEnlage(); - } - int i = 0; - //遍历赋值 - for(i = this.size; i >= index;i--) - { - this.elementData[i] = this.elementData[i - 1]; - } - - this.elementData[i] = o; - this.size++; - - } - - public Object get(int index){ - if (index >= 1 && index <= this.size) - { - return this.elementData[index - 1]; - } - else { - return null; - } - - - } - - public Object remove(int index){ - if (index >= 1 && index <= this.size) - { - int i = 0; - Object DelElement = this.elementData[index - 1]; - for(i = index; i <= this.size; i++) - { - this.elementData[i - 1] = this.elementData[i]; - } - this.elementData[i] = null; - this.size--; - - return DelElement; - - } - else { - return null; - } - } - - public int size(){ - return this.size; - } - - public Iterator iterator(){ - return null; - } - -} diff --git a/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java b/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java deleted file mode 100644 index 680c20c419..0000000000 --- a/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.coding.basic; - -public class BinaryTreeNode { - - private TreeData treeData; - //private Object data; - private BinaryTreeNode left; - private BinaryTreeNode right; - - public TreeData getData() { - return treeData; - } - public void setData(TreeData data) { - this.treeData = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(TreeData o){ - - //遍历寻找元素应该插入的位置 - if (o.compareTo(this.treeData) < 0) - { - if (this.left != null) - { - this.left.insert(o); - } - else - { - BinaryTreeNode NewNode = new BinaryTreeNode(); - NewNode.setData(o); - NewNode.setLeft(null); - NewNode.setRight(null); - this.left = NewNode; - } - } - else - { - if (this.right != null) - { - this.right.insert(o); - } - else - { - BinaryTreeNode NewNode = new BinaryTreeNode(); - NewNode.setData(o); - NewNode.setLeft(null); - NewNode.setRight(null); - this.right = NewNode; - } - } - - - return null; - } - -} diff --git a/group16/2562124714/src/com/coding/basic/Iterator.java b/group16/2562124714/src/com/coding/basic/Iterator.java deleted file mode 100644 index 06ef6311b2..0000000000 --- a/group16/2562124714/src/com/coding/basic/Iterator.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.coding.basic; - -public interface Iterator { - public boolean hasNext(); - public Object next(); - -} diff --git a/group16/2562124714/src/com/coding/basic/LinkedList.java b/group16/2562124714/src/com/coding/basic/LinkedList.java deleted file mode 100644 index 8ef49d108a..0000000000 --- a/group16/2562124714/src/com/coding/basic/LinkedList.java +++ /dev/null @@ -1,195 +0,0 @@ -package com.coding.basic; - -import com.sun.org.apache.bcel.internal.generic.NEW; - -import java.awt.*; - -public class LinkedList implements List { - - private Node head; - private int Size; - - public void add(Object o){ - Node NewNode = new Node(o); - - if (this.head == null) - { - head = NewNode; - } - else - { - Node node; - for (node = head; node.next != null; node = node.next) - { - } - node.next = NewNode; - } - this.Size++; - - } - //index为位置1,2,3,4,5,6,7 - public void add(int index , Object o){ - Node NewNode = new Node(o); - - if (1 == index) - { - NewNode.next = head; - head = NewNode; - } - else { - Node node; - int i = 0; - for (i = 1, node = head; i < index - 1; i++, node = node.next) { - } - NewNode.next = node.next; - node.next = NewNode; - } - this.Size++; - - } - public Object get(int index){ - Node node; - int i = 0; - - for (i = 1, node = head; i < index ; i++, node = node.next) { - } - - return node.data; -// return null; - } - public Object remove(int index){ - Node node; - int i = 0; - - if (1 == index) - { - if (head.next == null) - { - Object DelData = head.data; - head = null; - this.Size--; - return DelData; - } - else - { - Node DelNode = head; - head = DelNode.next; - DelNode.next = null; - this.Size--; - return DelNode.data; - - } - } - else { - - for (i = 1, node = head; i < index - 1; i++, node = node.next) { - } - Node DelNode = node.next; - node.next = DelNode.next; - DelNode.next = null; - this.Size--; - return DelNode.data; - } - } - - public int size(){ - - return this.Size; - } - - public void addFirst(Object o){ - Node NewNode = new Node(0); - - if (null == this.head) - { - NewNode.next = null; - head = NewNode; - } - else - { - NewNode.next = head; - head = NewNode; - } - - this.Size++; - - } - public void addLast(Object o){ - Node NewNode = new Node(o); - - if (this.Size == 0) - { - NewNode.next = null; - head = NewNode; - } - else - { -// int i = 0; - Node node; - for (node = head; node.next != null; node = node.next) { - - } - node.next = NewNode; - } - - this.Size++; - - } - public Object removeFirst(){ - Node DelFirst; - - if (1 == this.Size) - { - DelFirst = this.head; - DelFirst.next = null; - head = null; - } - else - { - DelFirst = this.head; - head = head.next; - DelFirst.next = null; - } - this.Size--; - - return DelFirst.data; - } - public Object removeLast(){ - Node DelLast; - - if (1 == this.Size) - { - DelLast = head; - DelLast.next = null; - head = null; - } - else - { - Node node; - for (node = head; node.next.next != null; node = node.next) { - - } - DelLast = node.next; - node.next = null; - } - this.Size--; - - return DelLast.data; - } - public Iterator iterator(){ - return null; - } - - - private static class Node{ - Object data; - Node next; - - public Node(Object o) - { - this.data = o; - this.next = null; - } - - } -} diff --git a/group16/2562124714/src/com/coding/basic/List.java b/group16/2562124714/src/com/coding/basic/List.java deleted file mode 100644 index 10d13b5832..0000000000 --- a/group16/2562124714/src/com/coding/basic/List.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.coding.basic; - -public interface List { - public void add(Object o); - public void add(int index, Object o); - public Object get(int index); - public Object remove(int index); - public int size(); -} diff --git a/group16/2562124714/src/com/coding/basic/Queue.java b/group16/2562124714/src/com/coding/basic/Queue.java deleted file mode 100644 index 40b8f22607..0000000000 --- a/group16/2562124714/src/com/coding/basic/Queue.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.coding.basic; - -public class Queue { - private ArrayList elementData = new ArrayList(); - - public void enQueue(Object o){ - elementData.add(o); - } - - public Object deQueue(){ - - - return elementData.get(1); - } - - public boolean isEmpty(){ - - return elementData.size() == 0 ? true : false; - } - - public int size(){ - return elementData.size(); - } -} diff --git a/group16/2562124714/src/com/coding/basic/Stack.java b/group16/2562124714/src/com/coding/basic/Stack.java deleted file mode 100644 index 61c92b2fe7..0000000000 --- a/group16/2562124714/src/com/coding/basic/Stack.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.coding.basic; - -public class Stack { - private ArrayList elementData = new ArrayList(); - -// public Stack() -// { -// elementData -// } - - public void push(Object o){ - elementData.add(0); - } - - public Object pop(){ - Object o = elementData.remove(elementData.size()); - return o; - } - - public Object peek(){ - Object o = elementData.get(elementData.size()); - return o; - } - public boolean isEmpty(){ - if (elementData.size() == 0) - { - return true; - } - return false; - } - public int size(){ - return elementData.size(); - } -} diff --git a/group16/2562124714/src/com/coding/basic/TreeData.java b/group16/2562124714/src/com/coding/basic/TreeData.java deleted file mode 100644 index 3c39539b28..0000000000 --- a/group16/2562124714/src/com/coding/basic/TreeData.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.coding.basic; - -/** - * Created by zhangwj on 2017/2/22. - */ -public class TreeData> implements Comparable>{ - private int s; - private T t; - - public T getT() - { - return t; - } - - @Override - public int compareTo(TreeData o) { - return getT().compareTo(o.getT()); - } - -// public int compareTo(TreeData o) -// { -// -// } - - -} From 1e1d6a8e7e46c2cf42b3b6ecbc61048abf780f42 Mon Sep 17 00:00:00 2001 From: gaodekui <13526428940@163.com> Date: Thu, 23 Feb 2017 17:43:59 +0800 Subject: [PATCH 03/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org.eclipse.core.resources.prefs | 2 + .../src/com/coding/basic/ArrayList.java | 39 ++++ .../src/com/coding/basic/BinaryTreeNode.java | 29 +++ .../src/com/coding/basic/Iterator.java | 6 + .../src/com/coding/basic/LinkedList.java | 62 ++++++ .../1924332561/src/com/coding/basic/List.java | 9 + .../src/com/coding/basic/Queue.java | 23 +++ .../src/com/coding/basic/Stack.java | 29 +++ group16/214074094/readme.txt | 1 + .../src/com/coding/basic/ArrayList.java | 60 ++++++ .../src/com/coding/basic/BinaryTreeNode.java | 32 +++ .../src/com/coding/basic/Iterator.java | 7 + .../src/com/coding/basic/LinkedList.java | 46 +++++ .../214074094/src/com/coding/basic/List.java | 15 ++ .../214074094/src/com/coding/basic/Queue.java | 19 ++ .../214074094/src/com/coding/basic/Stack.java | 22 ++ .../src/com/coding/basic/ArrayList.java | 100 +++++++++ .../src/com/coding/basic/BinaryTreeNode.java | 67 ++++++ .../src/com/coding/basic/Iterator.java | 7 + .../src/com/coding/basic/LinkedList.java | 195 ++++++++++++++++++ .../2562124714/src/com/coding/basic/List.java | 9 + .../src/com/coding/basic/Queue.java | 24 +++ .../src/com/coding/basic/Stack.java | 34 +++ .../src/com/coding/basic/TreeData.java | 26 +++ 24 files changed, 863 insertions(+) create mode 100644 group16/1924332561/.settings/org.eclipse.core.resources.prefs create mode 100644 group16/1924332561/src/com/coding/basic/ArrayList.java create mode 100644 group16/1924332561/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group16/1924332561/src/com/coding/basic/Iterator.java create mode 100644 group16/1924332561/src/com/coding/basic/LinkedList.java create mode 100644 group16/1924332561/src/com/coding/basic/List.java create mode 100644 group16/1924332561/src/com/coding/basic/Queue.java create mode 100644 group16/1924332561/src/com/coding/basic/Stack.java create mode 100644 group16/214074094/readme.txt create mode 100644 group16/214074094/src/com/coding/basic/ArrayList.java create mode 100644 group16/214074094/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group16/214074094/src/com/coding/basic/Iterator.java create mode 100644 group16/214074094/src/com/coding/basic/LinkedList.java create mode 100644 group16/214074094/src/com/coding/basic/List.java create mode 100644 group16/214074094/src/com/coding/basic/Queue.java create mode 100644 group16/214074094/src/com/coding/basic/Stack.java create mode 100644 group16/2562124714/src/com/coding/basic/ArrayList.java create mode 100644 group16/2562124714/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group16/2562124714/src/com/coding/basic/Iterator.java create mode 100644 group16/2562124714/src/com/coding/basic/LinkedList.java create mode 100644 group16/2562124714/src/com/coding/basic/List.java create mode 100644 group16/2562124714/src/com/coding/basic/Queue.java create mode 100644 group16/2562124714/src/com/coding/basic/Stack.java create mode 100644 group16/2562124714/src/com/coding/basic/TreeData.java diff --git a/group16/1924332561/.settings/org.eclipse.core.resources.prefs b/group16/1924332561/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..99f26c0203 --- /dev/null +++ b/group16/1924332561/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/group16/1924332561/src/com/coding/basic/ArrayList.java b/group16/1924332561/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..9e20bf25c4 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/ArrayList.java @@ -0,0 +1,39 @@ +package com.coding.basic; + +public class ArrayList implements List{ + private int size = 0; + + private Object[] elementDate = new Object[100]; + + + @Override + public void add(Object o) { + + } + + @Override + public void add(int index, Object o) { + + } + + @Override + public Object get(int dex) { + + return null; + } + + @Override + public Object remove(int index) { + return null; + } + + @Override + public int size() { + return -1; + } + + public Iterator iterator(){ + return null; + } + +} diff --git a/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java b/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..e7d9e43e24 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,29 @@ +package com.coding.basic; + +public class BinaryTreeNode { + private Object date; + private BinaryTreeNode left; + private BinaryTreeNode right; + public Object getDate() { + return date; + } + public void setDate(Object date) { + this.date = date; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(Object o){ + return null; + } +} diff --git a/group16/1924332561/src/com/coding/basic/Iterator.java b/group16/1924332561/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..e7cbd474ec --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/Iterator.java @@ -0,0 +1,6 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); +} diff --git a/group16/1924332561/src/com/coding/basic/LinkedList.java b/group16/1924332561/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..d39557be29 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/LinkedList.java @@ -0,0 +1,62 @@ +package com.coding.basic; + +public class LinkedList implements List { + + private static class Node{ + Object date; + Node next; + } + + private Node head; + + + @Override + public void add(Object o) { + + } + + @Override + public void add(int index, Object o) { + + } + + @Override + public Object get(int dex) { + return null; + } + + @Override + public Object remove(int index) { + return null; + } + + @Override + public int size() { + + return 0; + } + + public void addFirst(Object o){ + + } + + public void addLast(Object o){ + + } + + public Object removeFirst(){ + + return null; + } + + public Object removeLast(){ + + return null; + } + + public Iterator iterator(){ + + return null; + } + +} diff --git a/group16/1924332561/src/com/coding/basic/List.java b/group16/1924332561/src/com/coding/basic/List.java new file mode 100644 index 0000000000..9be54168b6 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/List.java @@ -0,0 +1,9 @@ +package com.coding.basic; + +public interface List { + public void add(Object o); + public void add(int index,Object o); + public Object get(int dex); + public Object remove(int index); + public int size(); +} diff --git a/group16/1924332561/src/com/coding/basic/Queue.java b/group16/1924332561/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..7dc7b4820a --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/Queue.java @@ -0,0 +1,23 @@ +package com.coding.basic; + +public class Queue { + + public void enQueue(){ + + + } + public Object deQueue(){ + + return null; + } + + public boolean isEmpty(){ + + return false; + } + + public int size(){ + + return -1; + } +} diff --git a/group16/1924332561/src/com/coding/basic/Stack.java b/group16/1924332561/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..7a49c48279 --- /dev/null +++ b/group16/1924332561/src/com/coding/basic/Stack.java @@ -0,0 +1,29 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementDate = new ArrayList(); + + public void push(Object o){ + + } + + public Object pop(){ + + return null; + } + + public Object peek(){ + + return null; + } + + public boolean isEmpty(){ + + return false; + } + + public int size(){ + + return -1; + } +} diff --git a/group16/214074094/readme.txt b/group16/214074094/readme.txt new file mode 100644 index 0000000000..c1b06ddcc2 --- /dev/null +++ b/group16/214074094/readme.txt @@ -0,0 +1 @@ +I am 北京-Shane diff --git a/group16/214074094/src/com/coding/basic/ArrayList.java b/group16/214074094/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..a50055225b --- /dev/null +++ b/group16/214074094/src/com/coding/basic/ArrayList.java @@ -0,0 +1,60 @@ +package com.coding.basic; + +public class ArrayList implements List { + + private int size = 0; + + private final static Object[] EMPTY_ELEMENTDATA = {}; + + /** + * 默认容量 + */ + private static int DEFAULT_CAPACITY = 10; + + private Object[] elementData; + + public ArrayList() { + this.elementData = EMPTY_ELEMENTDATA; + } + + public static void main(String[] args) { + ArrayList list = new ArrayList(); + System.out.println(list.elementData == list.EMPTY_ELEMENTDATA); + } + + public void add(Object o) { + if (elementData == EMPTY_ELEMENTDATA) { + elementData = new Object[DEFAULT_CAPACITY]; + }else if(size < elementData.length){ + size++; + }else{ + _grow(); + } + elementData[size] = o; + } + + private void _grow() { + + } + + public void add(int index, Object o) { + + } + + public Object get(int index) { + return null; + } + + public Object remove(int index) { + return null; + } + + public int size() { + return -1; + } + + public Iterator iterator() { + return null; + } + +} diff --git a/group16/214074094/src/com/coding/basic/BinaryTreeNode.java b/group16/214074094/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..d7ac820192 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,32 @@ +package com.coding.basic; + +public class BinaryTreeNode { + + private Object data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public Object getData() { + return data; + } + public void setData(Object data) { + this.data = data; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(Object o){ + return null; + } + +} diff --git a/group16/214074094/src/com/coding/basic/Iterator.java b/group16/214074094/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..06ef6311b2 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/Iterator.java @@ -0,0 +1,7 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); + +} diff --git a/group16/214074094/src/com/coding/basic/LinkedList.java b/group16/214074094/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..e2c4e5e795 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/LinkedList.java @@ -0,0 +1,46 @@ +package com.coding.basic; + +public class LinkedList implements List { + + private Node head; + + public void add(Object o){ + + } + public void add(int index , Object o){ + + } + public Object get(int index){ + return null; + } + public Object remove(int index){ + return null; + } + + public int size(){ + return -1; + } + + public void addFirst(Object o){ + + } + public void addLast(Object o){ + + } + public Object removeFirst(){ + return null; + } + public Object removeLast(){ + return null; + } + public Iterator iterator(){ + return null; + } + + + private static class Node{ + Object data; + Node next; + + } +} diff --git a/group16/214074094/src/com/coding/basic/List.java b/group16/214074094/src/com/coding/basic/List.java new file mode 100644 index 0000000000..fdaf43f86f --- /dev/null +++ b/group16/214074094/src/com/coding/basic/List.java @@ -0,0 +1,15 @@ +package com.coding.basic; + +public interface List { + + void add(Object o); + + void add(int index, Object o); + + Object get(int index); + + Object remove(int index); + + int size(); + +} diff --git a/group16/214074094/src/com/coding/basic/Queue.java b/group16/214074094/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..36e516e266 --- /dev/null +++ b/group16/214074094/src/com/coding/basic/Queue.java @@ -0,0 +1,19 @@ +package com.coding.basic; + +public class Queue { + + public void enQueue(Object o){ + } + + public Object deQueue(){ + return null; + } + + public boolean isEmpty(){ + return false; + } + + public int size(){ + return -1; + } +} diff --git a/group16/214074094/src/com/coding/basic/Stack.java b/group16/214074094/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..a5a04de76d --- /dev/null +++ b/group16/214074094/src/com/coding/basic/Stack.java @@ -0,0 +1,22 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementData = new ArrayList(); + + public void push(Object o){ + } + + public Object pop(){ + return null; + } + + public Object peek(){ + return null; + } + public boolean isEmpty(){ + return false; + } + public int size(){ + return -1; + } +} diff --git a/group16/2562124714/src/com/coding/basic/ArrayList.java b/group16/2562124714/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..f1d5a9fdd9 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/ArrayList.java @@ -0,0 +1,100 @@ +package com.coding.basic; + +public class ArrayList implements List { + + private int size = 0; + + private int Scale; //每次扩展大小 + + private Object[] elementData = new Object[100]; + + public ArrayList() + { + this.Scale = 10; + } + + public ArrayList(int i) + { + this.Scale = i; + } + + public void add(Object o){ + if (this.size == elementData.length) + { + DoEnlage(); + } + elementData[size] = o; + this.size++; + } + + private void DoEnlage() + { + if (this.Scale >= 1 && this.Scale <= 10000) + { + Object[] NewElementData = new Object[this.elementData.length + this.Scale]; + System.arraycopy(this.elementData,0,NewElementData,0,this.elementData.length); + + this.elementData = NewElementData; + } + + } + + //index从1开始 位置1,2,3,4,5,6 + public void add(int index, Object o){ + if (this.size == elementData.length) + { + DoEnlage(); + } + int i = 0; + //遍历赋值 + for(i = this.size; i >= index;i--) + { + this.elementData[i] = this.elementData[i - 1]; + } + + this.elementData[i] = o; + this.size++; + + } + + public Object get(int index){ + if (index >= 1 && index <= this.size) + { + return this.elementData[index - 1]; + } + else { + return null; + } + + + } + + public Object remove(int index){ + if (index >= 1 && index <= this.size) + { + int i = 0; + Object DelElement = this.elementData[index - 1]; + for(i = index; i <= this.size; i++) + { + this.elementData[i - 1] = this.elementData[i]; + } + this.elementData[i] = null; + this.size--; + + return DelElement; + + } + else { + return null; + } + } + + public int size(){ + return this.size; + } + + public Iterator iterator(){ + return null; + } + +} diff --git a/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java b/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..680c20c419 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,67 @@ +package com.coding.basic; + +public class BinaryTreeNode { + + private TreeData treeData; + //private Object data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public TreeData getData() { + return treeData; + } + public void setData(TreeData data) { + this.treeData = data; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(TreeData o){ + + //遍历寻找元素应该插入的位置 + if (o.compareTo(this.treeData) < 0) + { + if (this.left != null) + { + this.left.insert(o); + } + else + { + BinaryTreeNode NewNode = new BinaryTreeNode(); + NewNode.setData(o); + NewNode.setLeft(null); + NewNode.setRight(null); + this.left = NewNode; + } + } + else + { + if (this.right != null) + { + this.right.insert(o); + } + else + { + BinaryTreeNode NewNode = new BinaryTreeNode(); + NewNode.setData(o); + NewNode.setLeft(null); + NewNode.setRight(null); + this.right = NewNode; + } + } + + + return null; + } + +} diff --git a/group16/2562124714/src/com/coding/basic/Iterator.java b/group16/2562124714/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..06ef6311b2 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/Iterator.java @@ -0,0 +1,7 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); + +} diff --git a/group16/2562124714/src/com/coding/basic/LinkedList.java b/group16/2562124714/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..8ef49d108a --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/LinkedList.java @@ -0,0 +1,195 @@ +package com.coding.basic; + +import com.sun.org.apache.bcel.internal.generic.NEW; + +import java.awt.*; + +public class LinkedList implements List { + + private Node head; + private int Size; + + public void add(Object o){ + Node NewNode = new Node(o); + + if (this.head == null) + { + head = NewNode; + } + else + { + Node node; + for (node = head; node.next != null; node = node.next) + { + } + node.next = NewNode; + } + this.Size++; + + } + //index为位置1,2,3,4,5,6,7 + public void add(int index , Object o){ + Node NewNode = new Node(o); + + if (1 == index) + { + NewNode.next = head; + head = NewNode; + } + else { + Node node; + int i = 0; + for (i = 1, node = head; i < index - 1; i++, node = node.next) { + } + NewNode.next = node.next; + node.next = NewNode; + } + this.Size++; + + } + public Object get(int index){ + Node node; + int i = 0; + + for (i = 1, node = head; i < index ; i++, node = node.next) { + } + + return node.data; +// return null; + } + public Object remove(int index){ + Node node; + int i = 0; + + if (1 == index) + { + if (head.next == null) + { + Object DelData = head.data; + head = null; + this.Size--; + return DelData; + } + else + { + Node DelNode = head; + head = DelNode.next; + DelNode.next = null; + this.Size--; + return DelNode.data; + + } + } + else { + + for (i = 1, node = head; i < index - 1; i++, node = node.next) { + } + Node DelNode = node.next; + node.next = DelNode.next; + DelNode.next = null; + this.Size--; + return DelNode.data; + } + } + + public int size(){ + + return this.Size; + } + + public void addFirst(Object o){ + Node NewNode = new Node(0); + + if (null == this.head) + { + NewNode.next = null; + head = NewNode; + } + else + { + NewNode.next = head; + head = NewNode; + } + + this.Size++; + + } + public void addLast(Object o){ + Node NewNode = new Node(o); + + if (this.Size == 0) + { + NewNode.next = null; + head = NewNode; + } + else + { +// int i = 0; + Node node; + for (node = head; node.next != null; node = node.next) { + + } + node.next = NewNode; + } + + this.Size++; + + } + public Object removeFirst(){ + Node DelFirst; + + if (1 == this.Size) + { + DelFirst = this.head; + DelFirst.next = null; + head = null; + } + else + { + DelFirst = this.head; + head = head.next; + DelFirst.next = null; + } + this.Size--; + + return DelFirst.data; + } + public Object removeLast(){ + Node DelLast; + + if (1 == this.Size) + { + DelLast = head; + DelLast.next = null; + head = null; + } + else + { + Node node; + for (node = head; node.next.next != null; node = node.next) { + + } + DelLast = node.next; + node.next = null; + } + this.Size--; + + return DelLast.data; + } + public Iterator iterator(){ + return null; + } + + + private static class Node{ + Object data; + Node next; + + public Node(Object o) + { + this.data = o; + this.next = null; + } + + } +} diff --git a/group16/2562124714/src/com/coding/basic/List.java b/group16/2562124714/src/com/coding/basic/List.java new file mode 100644 index 0000000000..10d13b5832 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/List.java @@ -0,0 +1,9 @@ +package com.coding.basic; + +public interface List { + public void add(Object o); + public void add(int index, Object o); + public Object get(int index); + public Object remove(int index); + public int size(); +} diff --git a/group16/2562124714/src/com/coding/basic/Queue.java b/group16/2562124714/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..40b8f22607 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/Queue.java @@ -0,0 +1,24 @@ +package com.coding.basic; + +public class Queue { + private ArrayList elementData = new ArrayList(); + + public void enQueue(Object o){ + elementData.add(o); + } + + public Object deQueue(){ + + + return elementData.get(1); + } + + public boolean isEmpty(){ + + return elementData.size() == 0 ? true : false; + } + + public int size(){ + return elementData.size(); + } +} diff --git a/group16/2562124714/src/com/coding/basic/Stack.java b/group16/2562124714/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..61c92b2fe7 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/Stack.java @@ -0,0 +1,34 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementData = new ArrayList(); + +// public Stack() +// { +// elementData +// } + + public void push(Object o){ + elementData.add(0); + } + + public Object pop(){ + Object o = elementData.remove(elementData.size()); + return o; + } + + public Object peek(){ + Object o = elementData.get(elementData.size()); + return o; + } + public boolean isEmpty(){ + if (elementData.size() == 0) + { + return true; + } + return false; + } + public int size(){ + return elementData.size(); + } +} diff --git a/group16/2562124714/src/com/coding/basic/TreeData.java b/group16/2562124714/src/com/coding/basic/TreeData.java new file mode 100644 index 0000000000..3c39539b28 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/TreeData.java @@ -0,0 +1,26 @@ +package com.coding.basic; + +/** + * Created by zhangwj on 2017/2/22. + */ +public class TreeData> implements Comparable>{ + private int s; + private T t; + + public T getT() + { + return t; + } + + @Override + public int compareTo(TreeData o) { + return getT().compareTo(o.getT()); + } + +// public int compareTo(TreeData o) +// { +// +// } + + +} From b896ee318fa433c30e48c205e204d4dd2024b4a5 Mon Sep 17 00:00:00 2001 From: gaodekui <13526428940@163.com> Date: Thu, 23 Feb 2017 17:53:51 +0800 Subject: [PATCH 04/37] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group16/1154151360/.classpath | 6 + group16/1154151360/.gitignore | 1 + group16/1154151360/.project | 17 ++ .../org.eclipse.core.resources.prefs | 2 + .../1154151360/src/com/list/ArrayList.java | 93 +++++++++++ .../1154151360/src/com/list/LinkedList.java | 158 ++++++++++++++++++ group16/1154151360/src/com/list/Stack.java | 35 ++++ 7 files changed, 312 insertions(+) create mode 100644 group16/1154151360/.classpath create mode 100644 group16/1154151360/.gitignore create mode 100644 group16/1154151360/.project create mode 100644 group16/1154151360/.settings/org.eclipse.core.resources.prefs create mode 100644 group16/1154151360/src/com/list/ArrayList.java create mode 100644 group16/1154151360/src/com/list/LinkedList.java create mode 100644 group16/1154151360/src/com/list/Stack.java diff --git a/group16/1154151360/.classpath b/group16/1154151360/.classpath new file mode 100644 index 0000000000..fb5011632c --- /dev/null +++ b/group16/1154151360/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/group16/1154151360/.gitignore b/group16/1154151360/.gitignore new file mode 100644 index 0000000000..ae3c172604 --- /dev/null +++ b/group16/1154151360/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/group16/1154151360/.project b/group16/1154151360/.project new file mode 100644 index 0000000000..f88388f6d7 --- /dev/null +++ b/group16/1154151360/.project @@ -0,0 +1,17 @@ + + + DataStructure2 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group16/1154151360/.settings/org.eclipse.core.resources.prefs b/group16/1154151360/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000000..99f26c0203 --- /dev/null +++ b/group16/1154151360/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/group16/1154151360/src/com/list/ArrayList.java b/group16/1154151360/src/com/list/ArrayList.java new file mode 100644 index 0000000000..bf19212fbf --- /dev/null +++ b/group16/1154151360/src/com/list/ArrayList.java @@ -0,0 +1,93 @@ +package com.list; + + + +public class ArrayList { + + private int size; + + private Object [] elementData = new Object[10]; + + public boolean add(Object data){ + + getRow(size+1); + elementData[size++] = data; + return true; + } + + public boolean add(int index, Object data){ + if (index < 0 || index > elementData.length){ + throw new IndexOutOfBoundsException("�±�Խ��"); + } + getRow(size + 1); + Object object = elementData [index]; + System.arraycopy(elementData, index,elementData , index + 1,size - index ); + elementData[index] = data; + size++; + return true; + } + + public Object get(int index){ + if (index < 0 || index > elementData.length){ + throw new IndexOutOfBoundsException("下标越界"); + } + return elementData[index]; + } + + public Object remove(int index){ + if (index < 0 || index > elementData.length){ + throw new IndexOutOfBoundsException("下标越界"); + } + Object object = elementData [index]; + System.arraycopy(elementData, index + 1 , elementData, index, size - 1 - index); + elementData[size--]= null; + return object; + } + + + private void getRow(int num){ + if (num > elementData.length ){ + int oldLength = elementData.length; + int newLength = ((num + elementData.length) * 3) >> 2; + Object [] oldelements = elementData; + elementData = new Object[newLength]; + System.arraycopy(oldelements, 0, elementData, 0, size); + } + } + + public int size(){ + return size; + } + + public int length(){ + return elementData.length; + } + public static void main(String[] args) { + ArrayList list = new ArrayList(); + + list.add("A"); + list.add("B"); + list.add("C"); + list.add("D"); + list.add("E"); + list.add("F"); + list.add("G"); + list.add("H"); + list.add("I"); + list.add("J"); + list.add("K"); + list.add("L"); + list.add(2, 1); + System.out.println("elementsData.Length: "+list.length()); + System.out.println("elementsData.size: "+list.size()); + for (int i = 0; i < list.size; i++){ + System.out.print(list.get(i)+ " "); + } + System.out.println(" "); + list.remove(2); + + for (int i = 0; i < list.size; i++){ + System.out.print(list.get(i)+ " "); + } + } +} diff --git a/group16/1154151360/src/com/list/LinkedList.java b/group16/1154151360/src/com/list/LinkedList.java new file mode 100644 index 0000000000..46f61fb667 --- /dev/null +++ b/group16/1154151360/src/com/list/LinkedList.java @@ -0,0 +1,158 @@ +package com.list; + +public class LinkedList { + + private int size; + + private Node head;//头节点 + + Node current; //当前节点 + + public LinkedList(){ + this.head = current = new Node(null); + this.size = 0; + } + + + private boolean add(Object object){ + addAfter(object); + size++; + return true; + } + + + private boolean add(int index,Object object) throws Exception{ + index(index - 1); + current.nextNode = new Node(object,current.nextNode.nextNode); + size++; + return true; + } + + + private boolean addFirst(Object object){ + Node node = new Node(object,null); + current = head.nextNode; + head.nextNode = node; + node.nextNode = current; + size++; + return true; + } + + + private boolean addLast(Object object){ + add(object); + return true; + } + + + private Object get(int index) throws Exception{ + index(index); + return current.object; + } + + + private Object remove(int index) throws Exception{ + + if (index == size - 1){ + Object object = removeLast(); + return object; + } + index(index - 1); + Object object = current.nextNode.object; + + current.nextNode = current.nextNode.nextNode; + size--; + return object; + } + + private Object removeFirst(){ + Object object = null; + if (size > 0){ + current = head.nextNode; + object = current.object; + head.nextNode = head.nextNode.nextNode; + size--; + } + return object; + } + + private Object removeLast() throws Exception{ + Object object = null; + if (size > 0){ + int j = 0; + current = head.nextNode; + + while (current != null){ + current = current.nextNode; + j++; + } + index(j - 1); + object = current.nextNode.object; + current.nextNode = null; + size--; + } + return object; + } + private void index (int index) throws Exception{ + + if (index < -1 || index > size){ + + throw new Exception(" "); + } + + if (index == -1){ + return; + } + current = head.nextNode; + int j = 0; + while (current != null && j < index){ + current = current.nextNode; + j++; + } + } + + + private void addAfter(Object object){ + + if (head.nextNode == null){ + + Node newNode = new Node(object,null); + }else{ + current = head.nextNode; + while (current.nextNode == null){ + current = current.nextNode; + } + current.setNode(new Node(object,null)); + } + + + } + + + + + private static class Node{ + + Object object; + + Node nextNode; + + + Node (Node nextNode){ + this.nextNode = nextNode; + } + + + Node (Object object, Node nextNode){ + this.nextNode = nextNode; + this.object = object; + } + + private void setNode(Node node){ + this.nextNode = node; + } + + } + + +} diff --git a/group16/1154151360/src/com/list/Stack.java b/group16/1154151360/src/com/list/Stack.java new file mode 100644 index 0000000000..f92a9e731c --- /dev/null +++ b/group16/1154151360/src/com/list/Stack.java @@ -0,0 +1,35 @@ +package com.list; + +import java.util.ArrayList; +import java.util.EmptyStackException; + +public class Stack { + + ArrayList elelmentData = new ArrayList(); + + //压入栈 + public void push(Object object){ + elelmentData.add(object); + } + + //弹出栈 + public Object pop(){ + if (isEmpty()){ throw new EmptyStackException();} + return elelmentData.remove(elelmentData.size() - 1); + } + + //取栈顶元素 + public Object peek(){ + if (isEmpty()){return null;} + return elelmentData.get(elelmentData.size() - 1); + } + + public boolean isEmpty(){ + return elelmentData.isEmpty(); + } + + public int size(){ + if (isEmpty()){throw new EmptyStackException();} + return elelmentData.size(); + } +} From 8835e6e740cf26f0e19fd2c2999e0d45a52d8d38 Mon Sep 17 00:00:00 2001 From: shane Date: Thu, 23 Feb 2017 18:21:50 +0800 Subject: [PATCH 05/37] update .gitignore, add *.iml and *.idea format --- .gitignore | 3 +++ group16/214074094/src/com/reading/blog_test.txt | 1 + 2 files changed, 4 insertions(+) create mode 100644 group16/214074094/src/com/reading/blog_test.txt diff --git a/.gitignore b/.gitignore index ec55baf87d..359bdf7ae5 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ *.war *.ear +*.iml +*.idea + # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* diff --git a/group16/214074094/src/com/reading/blog_test.txt b/group16/214074094/src/com/reading/blog_test.txt new file mode 100644 index 0000000000..b7e5cbfe14 --- /dev/null +++ b/group16/214074094/src/com/reading/blog_test.txt @@ -0,0 +1 @@ +just test new fork \ No newline at end of file From 8f629228030607f08b35a6dbef3f45650507e877 Mon Sep 17 00:00:00 2001 From: Alex5Moon <1924332561@qq.com> Date: Thu, 23 Feb 2017 19:28:59 +0800 Subject: [PATCH 06/37] init --- group16/1924332561/.classpath | 6 ++++++ group16/1924332561/.project | 17 +++++++++++++++++ .../src/com/coding/basic/ArrayList.java | 2 ++ .../1924332561/src/com/coding/basic/List.java | 2 +- 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 group16/1924332561/.classpath create mode 100644 group16/1924332561/.project diff --git a/group16/1924332561/.classpath b/group16/1924332561/.classpath new file mode 100644 index 0000000000..fb5011632c --- /dev/null +++ b/group16/1924332561/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/group16/1924332561/.project b/group16/1924332561/.project new file mode 100644 index 0000000000..5f960262bc --- /dev/null +++ b/group16/1924332561/.project @@ -0,0 +1,17 @@ + + + 1924332561Learning + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group16/1924332561/src/com/coding/basic/ArrayList.java b/group16/1924332561/src/com/coding/basic/ArrayList.java index 9e20bf25c4..3fc0960e08 100644 --- a/group16/1924332561/src/com/coding/basic/ArrayList.java +++ b/group16/1924332561/src/com/coding/basic/ArrayList.java @@ -9,6 +9,8 @@ public class ArrayList implements List{ @Override public void add(Object o) { + this.elementDate[this.size]=o; + this.size++; } @Override diff --git a/group16/1924332561/src/com/coding/basic/List.java b/group16/1924332561/src/com/coding/basic/List.java index 9be54168b6..d48b1f4827 100644 --- a/group16/1924332561/src/com/coding/basic/List.java +++ b/group16/1924332561/src/com/coding/basic/List.java @@ -3,7 +3,7 @@ public interface List { public void add(Object o); public void add(int index,Object o); - public Object get(int dex); + public Object get(int index); public Object remove(int index); public int size(); } From e84543236b90a5e60ea9f833f6ae5aec9a737053 Mon Sep 17 00:00:00 2001 From: dongqihust Date: Thu, 23 Feb 2017 19:31:27 +0800 Subject: [PATCH 07/37] =?UTF-8?q?=E8=91=A3=E7=90=AA=E7=81=AB=E9=80=9F?= =?UTF-8?q?=E6=8A=A5=E9=81=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group16/1325756593/dongqihust.readme | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 group16/1325756593/dongqihust.readme diff --git a/group16/1325756593/dongqihust.readme b/group16/1325756593/dongqihust.readme new file mode 100644 index 0000000000..e69de29bb2 From a00469a64935dab0705726ffecd6e14ca0f86338 Mon Sep 17 00:00:00 2001 From: Li Han Date: Fri, 24 Feb 2017 08:08:38 +0800 Subject: [PATCH 08/37] =?UTF-8?q?=E5=AE=9E=E7=8E=B0ArrayList=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0224-实现ArrayList数据结构 --- group16/502059278/.classpath | 6 + group16/502059278/.gitignore | 1 + group16/502059278/.project | 17 +++ .../502059278/src/cn/mark/MyArrayList.java | 144 ++++++++++++++++++ group16/502059278/src/cn/mark/MyList.java | 32 ++++ 5 files changed, 200 insertions(+) create mode 100644 group16/502059278/.classpath create mode 100644 group16/502059278/.gitignore create mode 100644 group16/502059278/.project create mode 100644 group16/502059278/src/cn/mark/MyArrayList.java create mode 100644 group16/502059278/src/cn/mark/MyList.java diff --git a/group16/502059278/.classpath b/group16/502059278/.classpath new file mode 100644 index 0000000000..fb5011632c --- /dev/null +++ b/group16/502059278/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/group16/502059278/.gitignore b/group16/502059278/.gitignore new file mode 100644 index 0000000000..ae3c172604 --- /dev/null +++ b/group16/502059278/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/group16/502059278/.project b/group16/502059278/.project new file mode 100644 index 0000000000..72a951f7c1 --- /dev/null +++ b/group16/502059278/.project @@ -0,0 +1,17 @@ + + + DataStructure + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group16/502059278/src/cn/mark/MyArrayList.java b/group16/502059278/src/cn/mark/MyArrayList.java new file mode 100644 index 0000000000..9e0e406274 --- /dev/null +++ b/group16/502059278/src/cn/mark/MyArrayList.java @@ -0,0 +1,144 @@ +package cn.mark; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * 自定义实现ArrayList的数据结构 + * @author hilih + * + */ +public class MyArrayList implements MyList{ + + private int size = 0; + + private Object[] elementData; + + public MyArrayList(){ + //默认容量初始化为10 + this(10); + } + + /** + * 初始即指定大小的构造方法 + * @param size 集合容量 + */ + public MyArrayList(int size){ + if ( size < 0 ){ + System.out.println("不合法的容量输入"); + return; + } + elementData = new Object[size]; + } + + /** + * 集合增容 + * @param minSize + */ + private void ensureSize(int minSize){ + int oldSize = elementData.length; + if(minSize > oldSize){ + int newSize = 3 * oldSize / 2 + 1; + if(minSize > newSize){ + newSize = minSize; + } + elementData = Arrays.copyOf(elementData, newSize); + } + } + + /** + * 下标范围判断 + * @param index + */ + private boolean rangeCheck(int index){ + if ( index >= size || index < 0 ){ + System.out.println("索引不合法!"); + return false; + } + return true; + } + + @Override + public boolean add(Object o) { + ensureSize(size+1); + elementData[size++] = o; + return true; + } + + @Override + public boolean add(int index, Object o) { + if (!rangeCheck(index)){ + return false; + } + ensureSize(size + 1); + System.arraycopy(elementData, index, elementData, index + 1, size - index); + elementData[index] = o; + size++; + return true; + } + + @Override + public Object get(int index) { + if (!rangeCheck(index)){ + return null; + } + Object o = elementData[index]; + return o; + } + + @Override + public Object remove(int index) { + if (!rangeCheck(index)){ + return null; + } + Object oldValue = elementData[index]; + int numMoved = size - index - 1; + if( numMoved > 0 ){ + System.arraycopy(elementData, index + 1, elementData, index, numMoved); + } + return oldValue; + } + + @Override + public int size() { + return size; + } + + + + @Override + public String toString() { + StringBuilder s = new StringBuilder(); + s.append("["); + for (int i = 0; i < size; i++){ + Object o = elementData[i]; + s.append(o.toString()); + if( i < size-1 ){ + s.append(","); + } + } + s.append("]"); + return s.toString(); + } + + /** + * 判断当前集合是否为空 + * @return + */ + public boolean isEmpty(){ + return size == 0; + } + + public static void main(String[] args) { + MyList list = new MyArrayList(); + list.add("a"); + list.add("b"); + list.add("c"); + list.add(2,"d"); + Object o = list.get(5); + System.out.println(o); + System.out.println(list.size()); + System.out.println(list); + } +} diff --git a/group16/502059278/src/cn/mark/MyList.java b/group16/502059278/src/cn/mark/MyList.java new file mode 100644 index 0000000000..19bc3f92fe --- /dev/null +++ b/group16/502059278/src/cn/mark/MyList.java @@ -0,0 +1,32 @@ +package cn.mark; + +public interface MyList { + /** + * 向集合中增加元素 + * @param o + */ + public boolean add(Object o); + /** + * 向集合指定的位置中增加元素 + * @param index 下标 + * @param o 元素 + */ + public boolean add(int index, Object o); + /** + * 从集合指定位置取出元素 + * @param index 下标 + * @return + */ + public Object get(int index); + /** + * 从集合中删除指定位置的元素 + * @param index 下标 + * @return + */ + public Object remove(int index); + /** + * 当前集合的元素个数 + * @return + */ + public int size(); +} \ No newline at end of file From 032bca58b03126ee7888255b3c3e05a849f31027 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 08:48:02 +0800 Subject: [PATCH 09/37] test --- group16/313001956/.classpath | 12 ++++++ group16/313001956/.gitignore | 1 + group16/313001956/.project | 36 ++++++++++++++++++ group16/313001956/.settings/.jsdtscope | 12 ++++++ .../.settings/org.eclipse.jdt.core.prefs | 7 ++++ .../org.eclipse.wst.common.component | 8 ++++ ....eclipse.wst.common.project.facet.core.xml | 9 +++++ ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../313001956/WebContent/META-INF/MANIFEST.MF | 3 ++ group16/313001956/src/test/testclass.java | Bin 0 -> 56 bytes 11 files changed, 90 insertions(+) create mode 100644 group16/313001956/.classpath create mode 100644 group16/313001956/.gitignore create mode 100644 group16/313001956/.project create mode 100644 group16/313001956/.settings/.jsdtscope create mode 100644 group16/313001956/.settings/org.eclipse.jdt.core.prefs create mode 100644 group16/313001956/.settings/org.eclipse.wst.common.component create mode 100644 group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 group16/313001956/WebContent/META-INF/MANIFEST.MF create mode 100644 group16/313001956/src/test/testclass.java diff --git a/group16/313001956/.classpath b/group16/313001956/.classpath new file mode 100644 index 0000000000..b42037dde2 --- /dev/null +++ b/group16/313001956/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/group16/313001956/.gitignore b/group16/313001956/.gitignore new file mode 100644 index 0000000000..84c048a73c --- /dev/null +++ b/group16/313001956/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/group16/313001956/.project b/group16/313001956/.project new file mode 100644 index 0000000000..c70f2b6986 --- /dev/null +++ b/group16/313001956/.project @@ -0,0 +1,36 @@ + + + test + + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/group16/313001956/.settings/.jsdtscope b/group16/313001956/.settings/.jsdtscope new file mode 100644 index 0000000000..92e666d77d --- /dev/null +++ b/group16/313001956/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/group16/313001956/.settings/org.eclipse.jdt.core.prefs b/group16/313001956/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..c537b63063 --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/group16/313001956/.settings/org.eclipse.wst.common.component b/group16/313001956/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000000..ebe14cd246 --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml b/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000000..611d2dfa73 --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000000..3bd5d0a480 --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000000..05bd71b6ec --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/group16/313001956/WebContent/META-INF/MANIFEST.MF b/group16/313001956/WebContent/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..254272e1c0 --- /dev/null +++ b/group16/313001956/WebContent/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/group16/313001956/src/test/testclass.java b/group16/313001956/src/test/testclass.java new file mode 100644 index 0000000000000000000000000000000000000000..6bb509e442e986399a96fa83edcd0274d77cebbb GIT binary patch literal 56 zcmXRHQBDdV6%@&o0Jr?v&nzF3!>JTrL*{ L|4ntebUhvb?&1{I literal 0 HcmV?d00001 From 1082e16acd903052fd3578bbfc1e8428e8ad31c2 Mon Sep 17 00:00:00 2001 From: zhan2016 Date: Fri, 24 Feb 2017 10:39:22 +0800 Subject: [PATCH 10/37] 20170224 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 完成单元测试编写 未完成 迭代器 --- .../2562124714/.idea/dictionaries/zhangwj.xml | 3 + group16/2562124714/.idea/misc.xml | 22 + group16/2562124714/.idea/modules.xml | 8 + group16/2562124714/.idea/workspace.xml | 780 ++++++++++++++++++ group16/2562124714/2562124714.iml | 21 + .../2562124714/src/Test/ArrayListTest.java | 70 ++ .../src/Test/BinaryTreeNodeTest.java | 100 +++ .../2562124714/src/Test/LinkedListTest.java | 81 ++ group16/2562124714/src/Test/QueueTest.java | 58 ++ group16/2562124714/src/Test/StackTest.java | 57 ++ group16/2562124714/src/Test/TestRunner.java | 19 + .../src/com/coding/basic/BinaryTreeNode.java | 29 +- .../src/com/coding/basic/LinkedList.java | 7 +- .../src/com/coding/basic/Stack.java | 2 +- .../src/com/coding/basic/TestJunit.java | 17 + .../src/com/coding/basic/TestRunner.java | 25 + .../src/com/coding/basic/TreeData.java | 2 + 17 files changed, 1298 insertions(+), 3 deletions(-) create mode 100644 group16/2562124714/.idea/dictionaries/zhangwj.xml create mode 100644 group16/2562124714/.idea/misc.xml create mode 100644 group16/2562124714/.idea/modules.xml create mode 100644 group16/2562124714/.idea/workspace.xml create mode 100644 group16/2562124714/2562124714.iml create mode 100644 group16/2562124714/src/Test/ArrayListTest.java create mode 100644 group16/2562124714/src/Test/BinaryTreeNodeTest.java create mode 100644 group16/2562124714/src/Test/LinkedListTest.java create mode 100644 group16/2562124714/src/Test/QueueTest.java create mode 100644 group16/2562124714/src/Test/StackTest.java create mode 100644 group16/2562124714/src/Test/TestRunner.java create mode 100644 group16/2562124714/src/com/coding/basic/TestJunit.java create mode 100644 group16/2562124714/src/com/coding/basic/TestRunner.java diff --git a/group16/2562124714/.idea/dictionaries/zhangwj.xml b/group16/2562124714/.idea/dictionaries/zhangwj.xml new file mode 100644 index 0000000000..d07fd80ae1 --- /dev/null +++ b/group16/2562124714/.idea/dictionaries/zhangwj.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/group16/2562124714/.idea/misc.xml b/group16/2562124714/.idea/misc.xml new file mode 100644 index 0000000000..e97ef03f44 --- /dev/null +++ b/group16/2562124714/.idea/misc.xml @@ -0,0 +1,22 @@ + + + + + + + + + + 1.7 + + + + + + + + \ No newline at end of file diff --git a/group16/2562124714/.idea/modules.xml b/group16/2562124714/.idea/modules.xml new file mode 100644 index 0000000000..c3fdba38f0 --- /dev/null +++ b/group16/2562124714/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/group16/2562124714/.idea/workspace.xml b/group16/2562124714/.idea/workspace.xml new file mode 100644 index 0000000000..d357c0f9a1 --- /dev/null +++ b/group16/2562124714/.idea/workspace.xml @@ -0,0 +1,780 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + binaryTree.PriOder + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1487640652721 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/group16/2562124714/2562124714.iml b/group16/2562124714/2562124714.iml new file mode 100644 index 0000000000..3a8ffcf1f5 --- /dev/null +++ b/group16/2562124714/2562124714.iml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/group16/2562124714/src/Test/ArrayListTest.java b/group16/2562124714/src/Test/ArrayListTest.java new file mode 100644 index 0000000000..9bd8f2aeca --- /dev/null +++ b/group16/2562124714/src/Test/ArrayListTest.java @@ -0,0 +1,70 @@ +package Test; + +import com.coding.basic.ArrayList; +import org.junit.After; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Created by zhangwj on 2017/2/23. + */ +public class ArrayListTest { + private static ArrayList arraylist = new ArrayList(); + @BeforeClass + public static void setUp() throws Exception { + + System.out.println("初始化变量"); + for (Integer i = 0; i < 5; i++) + { + arraylist.add(i); + } + + + } + + @After + public void tearDown() throws Exception { + + } + + @Test + public void add() throws Exception { + Integer i = arraylist.size(); + Integer AddElement = 999; + arraylist.add(AddElement); + assertEquals(i + 1, arraylist.size()); + assertEquals(AddElement, arraylist.get(arraylist.size())); + arraylist.remove(arraylist.size()); + } + + @Test + public void add1() throws Exception { + Integer AddElement = 999; + arraylist.add(1, AddElement); + assertEquals(AddElement, arraylist.get(1)); + arraylist.remove(1); + } + + @Test + public void get() throws Exception { + assertEquals(null, arraylist.get(9999)); + } + + @Test + public void remove() throws Exception { + Integer i = (Integer)arraylist.get(1); + assertEquals(i, arraylist.remove(1)); + arraylist.add(1, i); + + } + + @Test + public void size() throws Exception { + assertEquals(5, arraylist.size()); + + } + +} \ No newline at end of file diff --git a/group16/2562124714/src/Test/BinaryTreeNodeTest.java b/group16/2562124714/src/Test/BinaryTreeNodeTest.java new file mode 100644 index 0000000000..7d8f4fdd01 --- /dev/null +++ b/group16/2562124714/src/Test/BinaryTreeNodeTest.java @@ -0,0 +1,100 @@ +package Test; + +import com.coding.basic.BinaryTreeNode; +import com.coding.basic.TreeData; +import com.sun.org.apache.bcel.internal.generic.NEW; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Created by zhangwj on 2017/2/23. + */ +public class BinaryTreeNodeTest { + private BinaryTreeNode binaryTree = new BinaryTreeNode(); + @Before + public void setUp() throws Exception { + //System.out.println("初始化二叉树,5, 4, 7"); + TreeData element = new TreeData(); + element.setT((Integer)5); + binaryTree.insert(element); + TreeData element2 = new TreeData(); + element2.setT((Integer)4); + binaryTree.insert(element2); + TreeData element3 = new TreeData(); + element3.setT((Integer)7); + binaryTree.insert(element3); +// binaryTree.PriOder(this.binaryTree); + } + + @Test + public void getData() throws Exception { + assertEquals(5, binaryTree.getData().getT()); + + } + + @Test + public void setData() throws Exception { + TreeData element = new TreeData(); + element.setT(6); + binaryTree.setData(element); + assertEquals(6, binaryTree.getData().getT()); +// binaryTree.PriOder(this.binaryTree); + + } + + @Test + public void getLeft() throws Exception { + assertEquals(4, binaryTree.getLeft().getData().getT()); + + } + + @Test + public void setLeft() throws Exception { + TreeData element = new TreeData(); + element.setT(2); + BinaryTreeNode NewTreeNode = new BinaryTreeNode(); + NewTreeNode.setData(element); + binaryTree.setLeft(NewTreeNode); + assertEquals(2, binaryTree.getLeft().getData().getT()); +// binaryTree.PriOder(this.binaryTree); + } + + @Test + public void getRight() throws Exception { + assertEquals(7, binaryTree.getRight().getData().getT()); + + } + + @Test + public void setRight() throws Exception { + TreeData element = new TreeData(); + element.setT(9); + BinaryTreeNode NewTreeNode = new BinaryTreeNode(); + NewTreeNode.setData(element); + binaryTree.setRight(NewTreeNode); + assertEquals(9, binaryTree.getRight().getData().getT()); + } + + @Test + public void priOder() throws Exception { + + + } + + @Test + public void insert() throws Exception { + TreeData element = new TreeData(); + element.setT(2); + binaryTree.insert(element); + binaryTree.PriOder(this.binaryTree); + element.setT(9); + binaryTree.insert(element); + binaryTree.PriOder(this.binaryTree); + element.setT(8); +// binaryTree.PriOder(this.binaryTree); + + } + +} \ No newline at end of file diff --git a/group16/2562124714/src/Test/LinkedListTest.java b/group16/2562124714/src/Test/LinkedListTest.java new file mode 100644 index 0000000000..276b389f15 --- /dev/null +++ b/group16/2562124714/src/Test/LinkedListTest.java @@ -0,0 +1,81 @@ +package Test; + +import com.coding.basic.LinkedList; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Created by zhangwj on 2017/2/23. + */ +public class LinkedListTest { + private LinkedList linkedlist = new LinkedList(); + + @Before + public void Init() + { + System.out.println("初始化"); + linkedlist.add(9.9); + linkedlist.add(9.99); + } + + + @Test + public void add() throws Exception { + linkedlist.add(8.8); + assertEquals(3, linkedlist.size()); + System.out.println("after add size is " + linkedlist.size()); + System.out.println("after add last element is " + linkedlist.get(linkedlist.size())); + + } + + @Test + public void add1() throws Exception { + linkedlist.add(2, 7.7); + assertEquals(3, linkedlist.size()); + System.out.println("after add in 2th size is " + linkedlist.size()); + System.out.println("after add 2th element is " + linkedlist.get(2)); + } + + @Test + public void get() throws Exception { + assertEquals(9.9, linkedlist.get(1)); + } + + @Test + public void remove() throws Exception { + assertEquals(9.9, linkedlist.remove(1)); + } + + @Test + public void size() throws Exception { + assertEquals(2, linkedlist.size()); + + } + + @Test + public void addFirst() throws Exception { + linkedlist.addFirst(3.3); + assertEquals(3.3, linkedlist.get(1)); +// System.out.println(); + } + + @Test + public void addLast() throws Exception { + linkedlist.addLast(3.3); + assertEquals(3.3, linkedlist.get(linkedlist.size())); + + } + + @Test + public void removeFirst() throws Exception { + assertEquals(9.9, linkedlist.removeFirst()); + } + + @Test + public void removeLast() throws Exception { + assertEquals(9.99, linkedlist.removeLast()); + } + +} \ No newline at end of file diff --git a/group16/2562124714/src/Test/QueueTest.java b/group16/2562124714/src/Test/QueueTest.java new file mode 100644 index 0000000000..3f0557f262 --- /dev/null +++ b/group16/2562124714/src/Test/QueueTest.java @@ -0,0 +1,58 @@ +package Test; + +import com.coding.basic.Queue; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Created by zhangwj on 2017/2/23. + */ +public class QueueTest { + private Queue queue = new Queue(); + @Before + public void setUp() throws Exception { + System.out.println("初始化队列,元素为a,b,c,d"); + + String[] s = {"a", "b","c","d"}; + for (String a:s + ) { + queue.enQueue(a); + } + + } + + @After + public void tearDown() throws Exception { + + } + + @Test + public void enQueue() throws Exception { + queue.enQueue("dasdas"); + assertEquals(5, queue.size()); +// assertEquals("dasdas", queue.); + } + + @Test + public void deQueue() throws Exception { + assertEquals("a",queue.deQueue()); + assertEquals(3, queue.size()); + + } + + @Test + public void isEmpty() throws Exception { + assertEquals(false, queue.isEmpty()); + + } + + @Test + public void size() throws Exception { + assertEquals(4, queue.size()); + + } + +} \ No newline at end of file diff --git a/group16/2562124714/src/Test/StackTest.java b/group16/2562124714/src/Test/StackTest.java new file mode 100644 index 0000000000..0a36d4dc0f --- /dev/null +++ b/group16/2562124714/src/Test/StackTest.java @@ -0,0 +1,57 @@ +package Test; + +import com.coding.basic.Stack; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Created by zhangwj on 2017/2/23. + */ +public class StackTest { + private Stack stack = new Stack(); + @Before + public void setUp() throws Exception { + System.out.println("初始化栈,元素为a,b,c,d"); + + String[] s = {"a", "b","c","d"}; + for (String a:s + ) { + stack.push(a); + } + + } + + @Test + public void push() throws Exception { + stack.push("aaa"); + assertEquals(5, stack.size()); + assertEquals("aaa", stack.peek()); + + } + + @Test + public void pop() throws Exception { + assertEquals("d", stack.pop()); + assertEquals(3, stack.size()); + + } + + @Test + public void peek() throws Exception { + assertEquals("d", stack.peek()); + assertEquals(4, stack.size()); + } + + @Test + public void isEmpty() throws Exception { + assertEquals(false, stack.isEmpty()); + } + + @Test + public void size() throws Exception { + assertEquals(4, stack.size()); + } + +} \ No newline at end of file diff --git a/group16/2562124714/src/Test/TestRunner.java b/group16/2562124714/src/Test/TestRunner.java new file mode 100644 index 0000000000..2bf465f832 --- /dev/null +++ b/group16/2562124714/src/Test/TestRunner.java @@ -0,0 +1,19 @@ +package Test; + +import org.junit.runner.JUnitCore; +import org.junit.runner.notification.Failure; + +import javax.xml.transform.Result; + +/** + * Created by zhangwj on 2017/2/23. 调用测试类 可重复使用 + */ +public class TestRunner { + public static void main(String[] args) { + org.junit.runner.Result result = JUnitCore.runClasses(BinaryTreeNodeTest.class); + for (Failure failure:result.getFailures()) { + System.out.println(failure.toString()); + } + System.out.println(result.wasSuccessful()); + } +} diff --git a/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java b/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java index 680c20c419..a703ad3165 100644 --- a/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java +++ b/group16/2562124714/src/com/coding/basic/BinaryTreeNode.java @@ -1,5 +1,7 @@ package com.coding.basic; +import java.util.Properties; + public class BinaryTreeNode { private TreeData treeData; @@ -25,11 +27,36 @@ public BinaryTreeNode getRight() { public void setRight(BinaryTreeNode right) { this.right = right; } + + public void PriOder(BinaryTreeNode Node) + { + if (Node.treeData != null) + { + System.out.println(Node.treeData.getT()); + if (Node.left != null) + { + PriOder(Node.left); + } + if (Node.right != null) + { + PriOder(Node.right); + } + } + + } + public BinaryTreeNode insert(TreeData o){ + if (this.treeData == null && this.left == null && this.right == null) + { + this.treeData = o; + this.left = null; + this.right = null; + return null; + } //遍历寻找元素应该插入的位置 - if (o.compareTo(this.treeData) < 0) + if (o.compareTo(this.treeData) <= 0) { if (this.left != null) { diff --git a/group16/2562124714/src/com/coding/basic/LinkedList.java b/group16/2562124714/src/com/coding/basic/LinkedList.java index 8ef49d108a..f1de0a6839 100644 --- a/group16/2562124714/src/com/coding/basic/LinkedList.java +++ b/group16/2562124714/src/com/coding/basic/LinkedList.java @@ -5,6 +5,11 @@ import java.awt.*; public class LinkedList implements List { + public LinkedList() + { + head = null; + this.Size = 0; + } private Node head; private int Size; @@ -98,7 +103,7 @@ public int size(){ } public void addFirst(Object o){ - Node NewNode = new Node(0); + Node NewNode = new Node(o); if (null == this.head) { diff --git a/group16/2562124714/src/com/coding/basic/Stack.java b/group16/2562124714/src/com/coding/basic/Stack.java index 61c92b2fe7..9dba3befa5 100644 --- a/group16/2562124714/src/com/coding/basic/Stack.java +++ b/group16/2562124714/src/com/coding/basic/Stack.java @@ -9,7 +9,7 @@ public class Stack { // } public void push(Object o){ - elementData.add(0); + elementData.add(o); } public Object pop(){ diff --git a/group16/2562124714/src/com/coding/basic/TestJunit.java b/group16/2562124714/src/com/coding/basic/TestJunit.java new file mode 100644 index 0000000000..59ef43a992 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/TestJunit.java @@ -0,0 +1,17 @@ +package com.coding.basic; +import org.junit.Test; +import static org.junit.Assert.assertEquals; + +/** + * Created by zhangwj on 2017/2/23. + */ +public class TestJunit { + @Test + + public void testAdd() + { + String str = "Junit is working fine"; + assertEquals("Junit is working fine", str); + } + +} diff --git a/group16/2562124714/src/com/coding/basic/TestRunner.java b/group16/2562124714/src/com/coding/basic/TestRunner.java new file mode 100644 index 0000000000..625ace52c6 --- /dev/null +++ b/group16/2562124714/src/com/coding/basic/TestRunner.java @@ -0,0 +1,25 @@ +package com.coding.basic; + +import com.sun.net.httpserver.Authenticator; +import org.junit.runner.JUnitCore; +import org.junit.runner.notification.Failure; +import org.junit.runners.model.TestClass; + +import javax.xml.transform.Result; + +/** + * Created by zhangwj on 2017/2/23. + */ +public class TestRunner { + public static void main(String[] args) + { + org.junit.runner.Result result = JUnitCore.runClasses(TestJunit.class); + + for (Failure failure : result.getFailures()) + { + System.out.println(failure.toString()); + } + + System.out.println(result.wasSuccessful()); + } +} diff --git a/group16/2562124714/src/com/coding/basic/TreeData.java b/group16/2562124714/src/com/coding/basic/TreeData.java index 3c39539b28..e79b7bd450 100644 --- a/group16/2562124714/src/com/coding/basic/TreeData.java +++ b/group16/2562124714/src/com/coding/basic/TreeData.java @@ -12,6 +12,8 @@ public T getT() return t; } + public void setT(T o) { t = o;} + @Override public int compareTo(TreeData o) { return getT().compareTo(o.getT()); From 640f11ee6a5cd655bf30387d95c1788d8bfc074c Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 13:05:46 +0800 Subject: [PATCH 11/37] test2 --- group16/313001956/src/test/test2.java | Bin 0 -> 52 bytes group16/313001956/src/test/testclass.java | Bin 56 -> 59 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 group16/313001956/src/test/test2.java diff --git a/group16/313001956/src/test/test2.java b/group16/313001956/src/test/test2.java new file mode 100644 index 0000000000000000000000000000000000000000..d3ea89f94c14c6ba5240c69bc1d1f9e907ff5c45 GIT binary patch literal 52 zcmXRHQBLJ!P-6fBMpxbVEt#kH>r@+staGVNV1Ijb;?FL|<(>8?gO)o_5;0Mqrkys) HbkPL>vnF_d&>jiEA From 276413e9366b49a3aafa6f595f407f85d1c56f96 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 15:26:30 +0800 Subject: [PATCH 12/37] delete --- group16/313001956/src/test/test2.java | Bin 52 -> 0 bytes group16/313001956/src/test/testclass.java | Bin 59 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 group16/313001956/src/test/test2.java delete mode 100644 group16/313001956/src/test/testclass.java diff --git a/group16/313001956/src/test/test2.java b/group16/313001956/src/test/test2.java deleted file mode 100644 index d3ea89f94c14c6ba5240c69bc1d1f9e907ff5c45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52 zcmXRHQBLJ!P-6fBMpxbVEt#kH>r@+staGVNV1Ijb;?FL|<(>8?gO)o_5;0Mqrkys) HbkPL>vdV6%@&o0Jr?v&nzF3!>JTrL*{ O{}tY6ydFQdZaDxi(H27h From 03c1b55b9fc0641bc4d03d2a57dbc56badc30a61 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:06:50 +0800 Subject: [PATCH 13/37] Delete .jsdtscope --- group16/313001956/.settings/.jsdtscope | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 group16/313001956/.settings/.jsdtscope diff --git a/group16/313001956/.settings/.jsdtscope b/group16/313001956/.settings/.jsdtscope deleted file mode 100644 index 92e666d77d..0000000000 --- a/group16/313001956/.settings/.jsdtscope +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - From b2da64d0a1e531c620944020e05792aa8767cd78 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:10:52 +0800 Subject: [PATCH 14/37] Delete .project --- group16/313001956/.project | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 group16/313001956/.project diff --git a/group16/313001956/.project b/group16/313001956/.project deleted file mode 100644 index c70f2b6986..0000000000 --- a/group16/313001956/.project +++ /dev/null @@ -1,36 +0,0 @@ - - - test - - - - - - org.eclipse.wst.jsdt.core.javascriptValidator - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.wst.common.project.facet.core.builder - - - - - org.eclipse.wst.validation.validationbuilder - - - - - - org.eclipse.jem.workbench.JavaEMFNature - org.eclipse.wst.common.modulecore.ModuleCoreNature - org.eclipse.wst.common.project.facet.core.nature - org.eclipse.jdt.core.javanature - org.eclipse.wst.jsdt.core.jsNature - - From ac23391664bc730cc375b9ee41985f1ce5dee433 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:16:08 +0800 Subject: [PATCH 15/37] Delete .gitignore --- group16/313001956/.gitignore | 1 - 1 file changed, 1 deletion(-) delete mode 100644 group16/313001956/.gitignore diff --git a/group16/313001956/.gitignore b/group16/313001956/.gitignore deleted file mode 100644 index 84c048a73c..0000000000 --- a/group16/313001956/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build/ From 957e9d80981c110a13d16c8781ce9a90ecd43a7e Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:16:18 +0800 Subject: [PATCH 16/37] Delete .classpath --- group16/313001956/.classpath | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 group16/313001956/.classpath diff --git a/group16/313001956/.classpath b/group16/313001956/.classpath deleted file mode 100644 index b42037dde2..0000000000 --- a/group16/313001956/.classpath +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - From 4f0a341d7607e9a5bef67660b9a1f515ed87a345 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:16:48 +0800 Subject: [PATCH 17/37] Delete MANIFEST.MF --- group16/313001956/WebContent/META-INF/MANIFEST.MF | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 group16/313001956/WebContent/META-INF/MANIFEST.MF diff --git a/group16/313001956/WebContent/META-INF/MANIFEST.MF b/group16/313001956/WebContent/META-INF/MANIFEST.MF deleted file mode 100644 index 254272e1c0..0000000000 --- a/group16/313001956/WebContent/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - From 1dbc8085f9442fad36aba9682a16e9d1c760b1bd Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:17:41 +0800 Subject: [PATCH 18/37] Delete org.eclipse.jdt.core.prefs --- group16/313001956/.settings/org.eclipse.jdt.core.prefs | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 group16/313001956/.settings/org.eclipse.jdt.core.prefs diff --git a/group16/313001956/.settings/org.eclipse.jdt.core.prefs b/group16/313001956/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index c537b63063..0000000000 --- a/group16/313001956/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 From be1ec647bebca7a687fc0093c5522d496dde63f1 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:18:05 +0800 Subject: [PATCH 19/37] Delete org.eclipse.wst.common.component --- .../313001956/.settings/org.eclipse.wst.common.component | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 group16/313001956/.settings/org.eclipse.wst.common.component diff --git a/group16/313001956/.settings/org.eclipse.wst.common.component b/group16/313001956/.settings/org.eclipse.wst.common.component deleted file mode 100644 index ebe14cd246..0000000000 --- a/group16/313001956/.settings/org.eclipse.wst.common.component +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - From 9dfc7527692a29d6cd9fe644dbd9fbcb4e9e4f81 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:18:23 +0800 Subject: [PATCH 20/37] Delete org.eclipse.wst.common.project.facet.core.xml --- .../org.eclipse.wst.common.project.facet.core.xml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml diff --git a/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml b/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml deleted file mode 100644 index 611d2dfa73..0000000000 --- a/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - From bfbeffbc14aa24910fa37fa549f600969192d312 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:18:39 +0800 Subject: [PATCH 21/37] Delete org.eclipse.wst.jsdt.ui.superType.container --- .../.settings/org.eclipse.wst.jsdt.ui.superType.container | 1 - 1 file changed, 1 deletion(-) delete mode 100644 group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container diff --git a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container deleted file mode 100644 index 3bd5d0a480..0000000000 --- a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file From b2ab641a96ecba33d50890bf4a3e5d7741e29f73 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:18:53 +0800 Subject: [PATCH 22/37] Delete org.eclipse.wst.jsdt.ui.superType.name --- .../313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name | 1 - 1 file changed, 1 deletion(-) delete mode 100644 group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name diff --git a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name deleted file mode 100644 index 05bd71b6ec..0000000000 --- a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name +++ /dev/null @@ -1 +0,0 @@ -Window \ No newline at end of file From 28b222da254ba8c482d3926ed4c0e636c60dfa45 Mon Sep 17 00:00:00 2001 From: wanghongdi56 <313001956@qq.com> Date: Fri, 24 Feb 2017 16:39:17 +0800 Subject: [PATCH 23/37] 02_26 --- group16/313001956/.classpath | 12 ++++++ group16/313001956/.gitignore | 1 + group16/313001956/.project | 36 ++++++++++++++++++ group16/313001956/.settings/.jsdtscope | 12 ++++++ .../.settings/org.eclipse.jdt.core.prefs | 7 ++++ .../org.eclipse.wst.common.component | 8 ++++ ....eclipse.wst.common.project.facet.core.xml | 9 +++++ ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../313001956/WebContent/META-INF/MANIFEST.MF | 3 ++ .../src/com/coding/basic/ArrayList.java | Bin 0 -> 453 bytes 11 files changed, 90 insertions(+) create mode 100644 group16/313001956/.classpath create mode 100644 group16/313001956/.gitignore create mode 100644 group16/313001956/.project create mode 100644 group16/313001956/.settings/.jsdtscope create mode 100644 group16/313001956/.settings/org.eclipse.jdt.core.prefs create mode 100644 group16/313001956/.settings/org.eclipse.wst.common.component create mode 100644 group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 group16/313001956/WebContent/META-INF/MANIFEST.MF create mode 100644 group16/313001956/src/com/coding/basic/ArrayList.java diff --git a/group16/313001956/.classpath b/group16/313001956/.classpath new file mode 100644 index 0000000000..b42037dde2 --- /dev/null +++ b/group16/313001956/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/group16/313001956/.gitignore b/group16/313001956/.gitignore new file mode 100644 index 0000000000..84c048a73c --- /dev/null +++ b/group16/313001956/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/group16/313001956/.project b/group16/313001956/.project new file mode 100644 index 0000000000..16d7526efa --- /dev/null +++ b/group16/313001956/.project @@ -0,0 +1,36 @@ + + + assignment + + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/group16/313001956/.settings/.jsdtscope b/group16/313001956/.settings/.jsdtscope new file mode 100644 index 0000000000..92e666d77d --- /dev/null +++ b/group16/313001956/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/group16/313001956/.settings/org.eclipse.jdt.core.prefs b/group16/313001956/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..c537b63063 --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/group16/313001956/.settings/org.eclipse.wst.common.component b/group16/313001956/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000000..2a267dc19d --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml b/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000000..611d2dfa73 --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000000..3bd5d0a480 --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000000..05bd71b6ec --- /dev/null +++ b/group16/313001956/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/group16/313001956/WebContent/META-INF/MANIFEST.MF b/group16/313001956/WebContent/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..254272e1c0 --- /dev/null +++ b/group16/313001956/WebContent/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/group16/313001956/src/com/coding/basic/ArrayList.java b/group16/313001956/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000000000000000000000000000000000..eaaa690fa6b76c4f36483531b915bbdd3a22c926 GIT binary patch literal 453 zcmYciQBK{;Ai&7Lz`*FL8=RPy>X%vqB&Io6+f!T&{DNEEJ+9t=qX%X>Rb^71zNsCDZ;)ah#cI$db@Y1P*6ufr=>-#%}- zPWr9Z;mu|T1P*?CzB=KPo$-#vy#mu^em_yZw5+1eM0dX1ul&R8hkox({Pclu`sW`% z8$4!6c5qp}Tae&?%)9)hufE`o&p{V*X0mA1?qojh*~ocv<}1H~8*|-~^Ud^b^||pp z@3%cLML=_tW_LSVCiAQRhYvlOeO*H^^M}Fev|oAhpKi$uhwUq#uDde1QKhuB_hs!p zcCHA6omu7EI~V({bLHs{SevF=W?;xSEmvxF_^ORDaY4=-x%>7PijuAfJwmhoy6w~W0RZ({nMMEr literal 0 HcmV?d00001 From da9b9c6eb12c12ec6cf5198a4afe57d6f002fc7e Mon Sep 17 00:00:00 2001 From: dongqihust Date: Fri, 24 Feb 2017 22:33:28 +0800 Subject: [PATCH 24/37] =?UTF-8?q?=E5=AE=8C=E6=88=90ArrayList=EF=BC=8Clinke?= =?UTF-8?q?dlist=EF=BC=8Cqueue=E5=92=8Cstack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group16/1325756593/.classpath | 7 + group16/1325756593/.gitignore | 1 + group16/1325756593/.project | 17 ++ .../src/com/dong/week1/ArrayList.java | 71 +++++++ .../src/com/dong/week1/ArrayListTest.java | 63 +++++++ .../src/com/dong/week1/BinaryTreeNode.java | 32 ++++ .../src/com/dong/week1/Iterator.java | 7 + .../src/com/dong/week1/LinkedList.java | 176 ++++++++++++++++++ .../1325756593/src/com/dong/week1/List.java | 9 + .../1325756593/src/com/dong/week1/Queue.java | 24 +++ .../1325756593/src/com/dong/week1/Stack.java | 31 +++ 11 files changed, 438 insertions(+) create mode 100644 group16/1325756593/.classpath create mode 100644 group16/1325756593/.gitignore create mode 100644 group16/1325756593/.project create mode 100644 group16/1325756593/src/com/dong/week1/ArrayList.java create mode 100644 group16/1325756593/src/com/dong/week1/ArrayListTest.java create mode 100644 group16/1325756593/src/com/dong/week1/BinaryTreeNode.java create mode 100644 group16/1325756593/src/com/dong/week1/Iterator.java create mode 100644 group16/1325756593/src/com/dong/week1/LinkedList.java create mode 100644 group16/1325756593/src/com/dong/week1/List.java create mode 100644 group16/1325756593/src/com/dong/week1/Queue.java create mode 100644 group16/1325756593/src/com/dong/week1/Stack.java diff --git a/group16/1325756593/.classpath b/group16/1325756593/.classpath new file mode 100644 index 0000000000..3e0fb272a8 --- /dev/null +++ b/group16/1325756593/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/group16/1325756593/.gitignore b/group16/1325756593/.gitignore new file mode 100644 index 0000000000..ae3c172604 --- /dev/null +++ b/group16/1325756593/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/group16/1325756593/.project b/group16/1325756593/.project new file mode 100644 index 0000000000..e3d07b6899 --- /dev/null +++ b/group16/1325756593/.project @@ -0,0 +1,17 @@ + + + DongqiHomeWork + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group16/1325756593/src/com/dong/week1/ArrayList.java b/group16/1325756593/src/com/dong/week1/ArrayList.java new file mode 100644 index 0000000000..a1477a8dcc --- /dev/null +++ b/group16/1325756593/src/com/dong/week1/ArrayList.java @@ -0,0 +1,71 @@ +package com.dong.week1; + +import java.util.Arrays; + +public class ArrayList implements List { + + private int size = 0; + + private Object[] elementData = new Object[100]; + + public void add(Object o){ + /** + * ���ж������Ƿ��Ѿ����ˣ�����Ѿ����������ݴ��� + */ + if(elementData.length==size){ + elementData = Arrays.copyOf(elementData, elementData.length*2+1); + } + elementData[size++]=o; + + } + public void add(int index, Object o){ + if(index >size || index < 0 ){ + throw new ArrayIndexOutOfBoundsException("����Խ��,��ǰ���鳤����"+size+",��������Ԫ�ص�������:"+index); + } + /** + * �����Ѿ����ˣ������� + */ + if(size==elementData.length){ + elementData = Arrays.copyOf(elementData, elementData.length*2+1); + } + Object[] elementDataClone = elementData.clone(); + System.arraycopy(elementData, index, elementDataClone, index+1, size-index); + elementDataClone[index++]=o; + size++; + elementData = elementDataClone; + } + + + public Object get(int index){ + if(index >=size || index < 0 ){ + throw new ArrayIndexOutOfBoundsException("����Խ��,��ǰ���鳤����"+size+",��������Ԫ�ص�������:"+index); + } + return elementData[index]; + } + + public Object remove(int index){ + if(index >=size || index < 0 ){ + throw new ArrayIndexOutOfBoundsException("����Խ��,��ǰ���鳤����"+size+",����ɾ��Ԫ�ص�������:"+index); + } + elementData[index]=null; + size--; + Object[] elementDataClone = elementData.clone(); + System.arraycopy(elementData, index+1, elementDataClone, index, size-index-1); + elementData = elementDataClone; + return elementData[index]; + } + + public int size(){ + return size; + } + + public Iterator iterator(){ + return null; + } + @Override + public String toString() { + return "ArrayList [size=" + size + ", elementData=" + Arrays.toString(elementData) + "]"; + } + + +} diff --git a/group16/1325756593/src/com/dong/week1/ArrayListTest.java b/group16/1325756593/src/com/dong/week1/ArrayListTest.java new file mode 100644 index 0000000000..128130cfb2 --- /dev/null +++ b/group16/1325756593/src/com/dong/week1/ArrayListTest.java @@ -0,0 +1,63 @@ +package com.dong.week1; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class ArrayListTest { + + //@Test + public void testAddObject() { + ArrayList arrayList = new ArrayList(); + for(int i=0;i<=200;i++){ + arrayList.add(i); + } + System.out.println(arrayList); + } + + //@Test + public void testAddIntObject() { + ArrayList arrayList = new ArrayList(); + for(int i=0;i<=2;i++){ + arrayList.add(i); + } + arrayList.add(1,100); + arrayList.add(1, 1000); + System.out.println(arrayList); + } + +// @Test + public void testGet() { + ArrayList arrayList = new ArrayList(); + for(int i=0;i<=200;i++){ + arrayList.add(i); + } + //System.out.println(arrayList.get(-1)); + //System.out.println(arrayList.get(50)); + System.out.println(arrayList.get(200)); + //System.out.println(arrayList.get(300)); + + + } + + @Test + public void testRemove() { + ArrayList arrayList = new ArrayList(); + for(int i=0;i<=10;i++){ + arrayList.add(i); + } + arrayList.remove(1); + arrayList.remove(1); + System.out.println(arrayList); + } + +// @Test + public void testSize() { + ArrayList arrayList = new ArrayList(); + for(int i=0;i<=10;i++){ + arrayList.add(i); + } + System.out.println(arrayList.size()); + } + +} diff --git a/group16/1325756593/src/com/dong/week1/BinaryTreeNode.java b/group16/1325756593/src/com/dong/week1/BinaryTreeNode.java new file mode 100644 index 0000000000..7fe5033c8c --- /dev/null +++ b/group16/1325756593/src/com/dong/week1/BinaryTreeNode.java @@ -0,0 +1,32 @@ +package com.dong.week1; + +public class BinaryTreeNode { + + private Object data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public Object getData() { + return data; + } + public void setData(Object data) { + this.data = data; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(Object o){ + return null; + } + +} diff --git a/group16/1325756593/src/com/dong/week1/Iterator.java b/group16/1325756593/src/com/dong/week1/Iterator.java new file mode 100644 index 0000000000..9147ab8264 --- /dev/null +++ b/group16/1325756593/src/com/dong/week1/Iterator.java @@ -0,0 +1,7 @@ +package com.dong.week1; + +public interface Iterator { + public boolean hasNext(); + public Object next(); + +} diff --git a/group16/1325756593/src/com/dong/week1/LinkedList.java b/group16/1325756593/src/com/dong/week1/LinkedList.java new file mode 100644 index 0000000000..8291d00756 --- /dev/null +++ b/group16/1325756593/src/com/dong/week1/LinkedList.java @@ -0,0 +1,176 @@ +package com.dong.week1; + + +public class LinkedList implements List { + + private int size = 0; + private Node head; + private Node tail; + + + public void add(Object o){ + //����һ��Ԫ�ص��߼��dz��򵥣�ֻ��Ҫ�ж�head�Ƿ�Ϊ�ա���Ϊ�գ�����ֱ�ӼӼ��� + Node node = new Node(o,null); + if(head ==null){ + head =node; + }else{ + tail.next=node; + } + tail=node; + size++; + + } + public void add(int index , Object o){ + if(index < 0){ + throw new ArrayIndexOutOfBoundsException("index����Ϊ����"); + } + if(index > size){ + throw new ArrayIndexOutOfBoundsException("��ǰlist����Ϊ"+size+",��ȡ�����ǣ�"+index); + } + if(size==0){ + head=new Node(o, null); + tail=head; + return; + } + if(index==0){ + Node curNode =head; + Node newNode =new Node(o, curNode); + head=newNode; + return; + } + Node curNode =head; + Object retVal = null; + for(int i=0;i= size){ + throw new ArrayIndexOutOfBoundsException("��ǰlist����Ϊ"+size+",�Ƴ������ǣ�"+index); + } + Node curNode = head; + for(int i=0;i= size){ + throw new ArrayIndexOutOfBoundsException("��ǰlist����Ϊ"+size+",��ȡ�����ǣ�"+index); + } + Object retVal = null; + if(index==0){ + retVal =head.data; + head=head.next; + return retVal; + } + Node curNode =head; + + for(int i=0;i Date: Fri, 24 Feb 2017 23:19:10 +0800 Subject: [PATCH 25/37] =?UTF-8?q?=E8=BF=AD=E4=BB=A3=E5=99=A8=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/dong/week1/ArrayList.java | 40 +++++++++++++++- .../src/com/dong/week1/LinkedList.java | 48 +++++++++++++++---- 2 files changed, 79 insertions(+), 9 deletions(-) diff --git a/group16/1325756593/src/com/dong/week1/ArrayList.java b/group16/1325756593/src/com/dong/week1/ArrayList.java index a1477a8dcc..a700aecfb5 100644 --- a/group16/1325756593/src/com/dong/week1/ArrayList.java +++ b/group16/1325756593/src/com/dong/week1/ArrayList.java @@ -60,7 +60,7 @@ public int size(){ } public Iterator iterator(){ - return null; + return new IteratorArrayList(this); } @Override public String toString() { @@ -68,4 +68,42 @@ public String toString() { } + private class IteratorArrayList implements Iterator{ + + private ArrayList arrayList; + private int index=0; + + + public IteratorArrayList(ArrayList arrayList) { + super(); + this.arrayList = arrayList; + } + + @Override + public boolean hasNext() { + // TODO Auto-generated method stub + return this.arrayList.size() >index; + } + + @Override + public Object next() { + // TODO Auto-generated method stub + if(hasNext()){ + return this.arrayList.get(index++); + } + return null; + } + + } + + public static void main(String[] args) { + ArrayList arrayList= new ArrayList(); + + Iterator iterator= arrayList.iterator(); + while(iterator.hasNext()){ + System.out.println(iterator.next()); + } + } + + } diff --git a/group16/1325756593/src/com/dong/week1/LinkedList.java b/group16/1325756593/src/com/dong/week1/LinkedList.java index 8291d00756..339b5862ee 100644 --- a/group16/1325756593/src/com/dong/week1/LinkedList.java +++ b/group16/1325756593/src/com/dong/week1/LinkedList.java @@ -1,6 +1,5 @@ package com.dong.week1; - public class LinkedList implements List { private int size = 0; @@ -141,7 +140,7 @@ public Object removeLast(){ return retVal; } public Iterator iterator(){ - return null; + return new IteratorArrayLinkedList(this); } @@ -166,11 +165,44 @@ public String toString() { public String toString() { return "LinkedList [size=" + size + ", head=" + head + ", tail=" + tail + "]"; } + + + private class IteratorArrayLinkedList implements Iterator{ + private LinkedList list; + private int index = 0; + + + + + public IteratorArrayLinkedList(LinkedList list) { + super(); + this.list = list; + } + + @Override + public boolean hasNext() { + // TODO Auto-generated method stub + return this.list.size() >index; + } + + @Override + public Object next() { + // TODO Auto-generated method stub + if(hasNext()){ + return this.list.get(index++); + } + return null; + } +} public static void main(String[] args) { - LinkedList list = new LinkedList(); - // System.out.println(list.size); - list.add(1); - list.add(2); - System.out.println(list.removeFirst()); - } + + LinkedList arrayList= new LinkedList(); + + Iterator iterator= arrayList.iterator(); + while(iterator.hasNext()){ + System.out.println(iterator.next()); + } + +} + } From a0ebef1356f96686a79317445eef931fc5bb967e Mon Sep 17 00:00:00 2001 From: dongqihust Date: Fri, 24 Feb 2017 23:37:14 +0800 Subject: [PATCH 26/37] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=AD=E4=BB=A3?= =?UTF-8?q?=E5=99=A8=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/dong/week1/BinaryTreeNode.java | 53 +++++++++++-------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/group16/1325756593/src/com/dong/week1/BinaryTreeNode.java b/group16/1325756593/src/com/dong/week1/BinaryTreeNode.java index 7fe5033c8c..ef41ced8df 100644 --- a/group16/1325756593/src/com/dong/week1/BinaryTreeNode.java +++ b/group16/1325756593/src/com/dong/week1/BinaryTreeNode.java @@ -1,32 +1,39 @@ package com.dong.week1; public class BinaryTreeNode { + private TreeNode node; + + private static class TreeNode{ + private int key=0; + private TreeNode leftChild=null; + private TreeNode rightChild=null; + + public TreeNode(){} + + /** + * @param key ������� + * @param data ������ + */ + public TreeNode(int key){ + this.key=key; + this.leftChild=null; + this.rightChild=null; + } + + + } - private Object data; - private BinaryTreeNode left; - private BinaryTreeNode right; - public Object getData() { - return data; - } - public void setData(Object data) { - this.data = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - public BinaryTreeNode insert(Object o){ - return null; + public TreeNode insert(TreeNode o){ + if(node == null){ + return o; + } + if(node.key > o.key){ + return insert(o.leftChild); + }else{ + return insert(node.leftChild); + } } } From 9ef84dcc387db5c4963de062d6655f3607758454 Mon Sep 17 00:00:00 2001 From: xiaoyuan Date: Sat, 25 Feb 2017 17:09:20 +0800 Subject: [PATCH 27/37] implement basic data structure --- .../src/com/coding/basic/ArrayList.java | 88 ++++++++ .../src/com/coding/basic/BinaryTreeNode.java | 62 ++++++ .../src/com/coding/basic/Iterator.java | 7 + .../src/com/coding/basic/LinkedList.java | 192 ++++++++++++++++++ .../542087872/src/com/coding/basic/List.java | 9 + .../542087872/src/com/coding/basic/Queue.java | 22 ++ .../542087872/src/com/coding/basic/Stack.java | 25 +++ .../542087872/src/com/coding/basic/Test.java | 166 +++++++++++++++ 8 files changed, 571 insertions(+) create mode 100644 group16/542087872/src/com/coding/basic/ArrayList.java create mode 100644 group16/542087872/src/com/coding/basic/BinaryTreeNode.java create mode 100644 group16/542087872/src/com/coding/basic/Iterator.java create mode 100644 group16/542087872/src/com/coding/basic/LinkedList.java create mode 100644 group16/542087872/src/com/coding/basic/List.java create mode 100644 group16/542087872/src/com/coding/basic/Queue.java create mode 100644 group16/542087872/src/com/coding/basic/Stack.java create mode 100644 group16/542087872/src/com/coding/basic/Test.java diff --git a/group16/542087872/src/com/coding/basic/ArrayList.java b/group16/542087872/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..1b10b441cf --- /dev/null +++ b/group16/542087872/src/com/coding/basic/ArrayList.java @@ -0,0 +1,88 @@ +package com.coding.basic; + +import java.util.Arrays; + +public class ArrayList implements List { + + private int size = 0; + + private Object[] elementData = new Object[10]; + + // 每次乘2增长 + private void grow() { + elementData = Arrays.copyOf(elementData, elementData.length * 2); + } + + + public void add(Object o){ + if (size >= elementData.length) { + this.grow(); + } + + elementData[size++] = o; + } + public void add(int index, Object o){ + if (size >= elementData.length) { + this.grow(); + } + System.arraycopy(elementData, index, elementData, index + 1, size - index); + + elementData[index] = o; + size++; + } + + public Object get(int index){ + if (index >= size) { + throw new IndexOutOfBoundsException(); + } + return elementData[index]; + } + + public Object remove(int index){ + if (index >= size) { + throw new IndexOutOfBoundsException(); + } + + Object el = elementData[index]; + System.arraycopy(elementData, index + 1, elementData, index, size - index - 1); + + size--; + return el; + } + + public int size(){ + return size; + } + + private class ArrIter implements Iterator { + int cursor = 0; + + @Override + public boolean hasNext() { + return cursor < size; + } + + @Override + public Object next() { + return elementData[cursor++]; + } + } + + public Iterator iterator(){ + return new ArrIter(); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("["); + for (int i = 0; i < size; i++) { + sb.append(elementData[i]); + if (i < size - 1) { + sb.append(","); + } + } + sb.append("]"); + return sb.toString(); + } +} diff --git a/group16/542087872/src/com/coding/basic/BinaryTreeNode.java b/group16/542087872/src/com/coding/basic/BinaryTreeNode.java new file mode 100644 index 0000000000..df167343a0 --- /dev/null +++ b/group16/542087872/src/com/coding/basic/BinaryTreeNode.java @@ -0,0 +1,62 @@ +package com.coding.basic; + +public class BinaryTreeNode { + + private int data; + private BinaryTreeNode left; + private BinaryTreeNode right; + + public int getData() { + return data; + } + public void setData(int data) { + this.data = data; + } + public BinaryTreeNode getLeft() { + return left; + } + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + public BinaryTreeNode getRight() { + return right; + } + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + + public BinaryTreeNode(int data) { + this.data = data; + } + + private BinaryTreeNode insertAt(BinaryTreeNode node, int o) { + if (o < node.getData()) { + if (node.getLeft() != null) { + return insertAt(node.getLeft(), o); + } else { + BinaryTreeNode nowNode = new BinaryTreeNode(o); + node.setLeft(nowNode); + + return nowNode; + } + } else { + if (node.getRight() != null) { + return insertAt(node.getRight(), o); + } else { + BinaryTreeNode nowNode = new BinaryTreeNode(o); + node.setRight(nowNode); + return nowNode; + } + } + } + + public BinaryTreeNode insert(int o){ + return insertAt(this, o); + } + + @Override + public String toString() { + return "data: " + data; + } +} diff --git a/group16/542087872/src/com/coding/basic/Iterator.java b/group16/542087872/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..06ef6311b2 --- /dev/null +++ b/group16/542087872/src/com/coding/basic/Iterator.java @@ -0,0 +1,7 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); + +} diff --git a/group16/542087872/src/com/coding/basic/LinkedList.java b/group16/542087872/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..144af4ec8d --- /dev/null +++ b/group16/542087872/src/com/coding/basic/LinkedList.java @@ -0,0 +1,192 @@ +package com.coding.basic; + +public class LinkedList implements List { + + private Node head; + private Node tail; + + public void add(Object o){ + Node nowNode = new Node(o); + if (head == null) { + head = nowNode; + } else { + tail.next = nowNode; + } + tail = nowNode; + } + public void add(int index , Object o){ + int count = 0; + Node lastOne = null; + Node tpHead = head; + while (tpHead != null && count != index) { + count++; + lastOne = tpHead; + tpHead = tpHead.next; + } + if (count != index) { + throw new IndexOutOfBoundsException(); + } + + + Node nowNode = new Node(o); + if (lastOne == null) { + head = nowNode; + head.next = tpHead; + } else { + lastOne.next = nowNode; + nowNode.next = tpHead; + } + } + public Object get(int index){ + int count = 0; + Node tpHead = head; + while (tpHead != null && count != index) { + count++; + tpHead = tpHead.next; + } + if (count != index) { + throw new IndexOutOfBoundsException(); + } + + return tpHead.data; + } + public Object remove(int index){ + int count = 0; + Node lastOne = null; + Node tpHead = head; + while (tpHead != null && count != index) { + count++; + lastOne = tpHead; + tpHead = tpHead.next; + } + if (count != index) { + throw new IndexOutOfBoundsException(); + } + + if (lastOne == null) { + head = tpHead.next; + } else { + lastOne.next = tpHead.next; + } + + if (tpHead.next == null) { + tail = lastOne; + } + + return tpHead.data; + } + + public int size(){ + int count = 0; + Node tpHead = head; + while (tpHead != null) { + count ++; + tpHead = tpHead.next; + } + + return count; + } + + public void addFirst(Object o){ + Node nowNode = new Node(o); + if (head == null) { + head = nowNode; + tail = nowNode; + } else { + nowNode.next = head; + head = nowNode; + } + } + public void addLast(Object o){ + Node nowNode = new Node(o); + if (head == null) { + head = nowNode; + tail = nowNode; + } else { + tail.next = nowNode; + tail = nowNode; + } + } + public Object removeFirst(){ + if (head == null) { + throw new IndexOutOfBoundsException(); + } + + Node nowValue = head; + + Node nextNode = head.next; + if (nextNode == null) { + tail = null; + } + head = nextNode; + + return nowValue.data; + } + public Object removeLast(){ + if (head == null) { + throw new IndexOutOfBoundsException(); + } + + Node nowValue = tail; + + Node lastOne = null; + Node tpHead = head; + while (tpHead != tail) { + lastOne = tpHead; + tpHead = tpHead.next; + } + if (lastOne == null) { + head = null; + } else { + lastOne.next = null; + } + tail = lastOne; + + return nowValue.data; + } + + private class LinkIter implements Iterator { + + Node cursor = head; + + @Override + public boolean hasNext() { + return cursor != null; + } + + @Override + public Object next() { + Node ret = cursor; + cursor = cursor.next; + return ret.data; + } + } + + public Iterator iterator(){ + return new LinkIter(); + } + + + private static class Node{ + Object data; + Node next; + + public Node(Object data) { + this.data = data; + } + } + + @Override + public String toString() { + Node tpHead = head; + StringBuilder sb = new StringBuilder("["); + while (tpHead != null) { + sb.append(tpHead.data); + sb.append(","); + tpHead = tpHead.next; + } + sb.append("]"); + return sb.toString(); + } + +} diff --git a/group16/542087872/src/com/coding/basic/List.java b/group16/542087872/src/com/coding/basic/List.java new file mode 100644 index 0000000000..10d13b5832 --- /dev/null +++ b/group16/542087872/src/com/coding/basic/List.java @@ -0,0 +1,9 @@ +package com.coding.basic; + +public interface List { + public void add(Object o); + public void add(int index, Object o); + public Object get(int index); + public Object remove(int index); + public int size(); +} diff --git a/group16/542087872/src/com/coding/basic/Queue.java b/group16/542087872/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..8e4285464b --- /dev/null +++ b/group16/542087872/src/com/coding/basic/Queue.java @@ -0,0 +1,22 @@ +package com.coding.basic; + +public class Queue { + + private LinkedList linkedList = new LinkedList(); + + public void enQueue(Object o){ + linkedList.addLast(o); + } + + public Object deQueue(){ + return linkedList.removeFirst(); + } + + public boolean isEmpty(){ + return linkedList.size() == 0; + } + + public int size(){ + return linkedList.size(); + } +} diff --git a/group16/542087872/src/com/coding/basic/Stack.java b/group16/542087872/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..bfe98dd8b7 --- /dev/null +++ b/group16/542087872/src/com/coding/basic/Stack.java @@ -0,0 +1,25 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementData = new ArrayList(); + + public void push(Object o){ + elementData.add(o); + } + + public Object pop(){ + Object o = elementData.get(elementData.size() - 1); + elementData.remove(elementData.size() - 1); + return o; + } + + public Object peek(){ + return elementData.get(elementData.size() - 1); + } + public boolean isEmpty(){ + return elementData.size() == 0; + } + public int size(){ + return elementData.size(); + } +} diff --git a/group16/542087872/src/com/coding/basic/Test.java b/group16/542087872/src/com/coding/basic/Test.java new file mode 100644 index 0000000000..2db5b2f9ab --- /dev/null +++ b/group16/542087872/src/com/coding/basic/Test.java @@ -0,0 +1,166 @@ +package com.coding.basic; + + +/** + * Created by xiaoyuan on 25/02/2017. + */ +public class Test { + public static void main(String[] args) { + + testArrayList(); + testLinkedList(); + + testQueue(); + testStack(); + + + testBinaryTreeNode(); + } + + private static void testBinaryTreeNode() { + + BinaryTreeNode binaryTreeNode = new BinaryTreeNode(10); + binaryTreeNode.insert(5); + binaryTreeNode.insert(4); + binaryTreeNode.insert(6); + binaryTreeNode.insert(11); + + traverse(binaryTreeNode); + + } + + private static void traverse(BinaryTreeNode node) { + if (node.getLeft() != null) { + traverse(node.getLeft()); + } + + System.out.println("-- " + node.getData() + " --"); + + if (node.getRight() != null) { + traverse(node.getRight()); + } + + } + + + static void testStack() { + + Stack stack = new Stack(); + stack.push(1); + stack.push(2); + stack.push(3); + stack.push(4); + + System.out.println(stack.size()); + System.out.println(stack.isEmpty()); + + System.out.println(stack.pop()); + System.out.println(stack.pop()); + System.out.println(stack.pop()); + System.out.println(stack.pop()); + + System.out.println(stack.isEmpty()); + + } + + static void testQueue() { + Queue queue = new Queue(); + queue.enQueue(1); + queue.enQueue(2); + + System.out.println(queue.size()); + System.out.println(queue.deQueue()); + System.out.println(queue.deQueue()); + System.out.println(queue.size()); + } + static void testLinkedList() { + LinkedList linkedList = new LinkedList(); + linkedList.add(1); + linkedList.add(2); + + System.out.println(linkedList.size()); + System.out.println(linkedList); + + linkedList.add(4); + linkedList.add(5); + System.out.println(linkedList.size()); + System.out.println(linkedList); + + + linkedList.add(0, 10); + linkedList.add(0, 9); + System.out.println(linkedList.size()); + System.out.println(linkedList); + + System.out.println(linkedList.get(3)); + + linkedList.remove(0); + System.out.println(linkedList.size()); + System.out.println(linkedList); + + + linkedList.addFirst(100); + linkedList.addLast(8888); + System.out.println(linkedList.size()); + System.out.println(linkedList); + + + linkedList.removeFirst(); + linkedList.removeLast(); + System.out.println(linkedList.size()); + System.out.println(linkedList); + + Iterator iterator = linkedList.iterator(); + while (iterator.hasNext()) { + System.out.println(iterator.next()); + } + + } + + static void testArrayList() { + ArrayList arrayList = new ArrayList(); + arrayList.add("1"); + arrayList.add("2"); + // test size and add + System.out.println(arrayList.size()); + System.out.println(arrayList); + + + arrayList.add("3"); + arrayList.add("4"); + arrayList.add("5"); + arrayList.add("6"); + arrayList.add("7"); + arrayList.add("8"); + arrayList.add("9"); + arrayList.add("10"); + arrayList.add("11"); + arrayList.add("12"); + arrayList.add("13"); + + // test size + // test grow + System.out.println(arrayList.size()); + System.out.println(arrayList); + + // test add at index + arrayList.add(2, 100); + System.out.println(arrayList.size()); + System.out.println(arrayList); + + // test remove + arrayList.remove(0); + System.out.println(arrayList.size()); + System.out.println(arrayList); + arrayList.remove(2); + System.out.println(arrayList.size()); + System.out.println(arrayList); + + // test iterator + Iterator iterator = arrayList.iterator(); + while (iterator.hasNext()) { + System.out.println(iterator.next()); + } + + } +} From b8e89d257415856e50253de0fd2a42987f19c3e9 Mon Sep 17 00:00:00 2001 From: stackwei Date: Sat, 25 Feb 2017 22:17:37 +0800 Subject: [PATCH 28/37] first commit homework of 2.19 --- .gitignore | 3 + .../1012075117/DataStructure219/.classpath | 6 + group16/1012075117/DataStructure219/.project | 17 ++ .../.settings/org.eclipse.jdt.core.prefs | 11 + .../com/stackwei/DataStructure/ArrayList.java | 94 +++++++++ .../stackwei/DataStructure/LinkedList.java | 194 ++++++++++++++++++ .../src/com/stackwei/DataStructure/List.java | 13 ++ .../src/com/stackwei/DataStructure/Queue.java | 52 +++++ .../src/com/stackwei/DataStructure/Stack.java | 59 ++++++ 9 files changed, 449 insertions(+) create mode 100644 group16/1012075117/DataStructure219/.classpath create mode 100644 group16/1012075117/DataStructure219/.project create mode 100644 group16/1012075117/DataStructure219/.settings/org.eclipse.jdt.core.prefs create mode 100644 group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/ArrayList.java create mode 100644 group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/LinkedList.java create mode 100644 group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/List.java create mode 100644 group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Queue.java create mode 100644 group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Stack.java diff --git a/.gitignore b/.gitignore index 359bdf7ae5..cedabad551 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ hs_err_pid* #ide config .metadata .recommenders + +#macOS +.DS_Store diff --git a/group16/1012075117/DataStructure219/.classpath b/group16/1012075117/DataStructure219/.classpath new file mode 100644 index 0000000000..fceb4801b5 --- /dev/null +++ b/group16/1012075117/DataStructure219/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/group16/1012075117/DataStructure219/.project b/group16/1012075117/DataStructure219/.project new file mode 100644 index 0000000000..567baae65f --- /dev/null +++ b/group16/1012075117/DataStructure219/.project @@ -0,0 +1,17 @@ + + + DataStructure219 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group16/1012075117/DataStructure219/.settings/org.eclipse.jdt.core.prefs b/group16/1012075117/DataStructure219/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..3a21537071 --- /dev/null +++ b/group16/1012075117/DataStructure219/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/ArrayList.java b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/ArrayList.java new file mode 100644 index 0000000000..a1d46a21d8 --- /dev/null +++ b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/ArrayList.java @@ -0,0 +1,94 @@ +package com.stackwei.DataStructure; + +/** + * + * @author stackwei -2017.2.25 + * + */ +public class ArrayList implements List { + + private int flag = -1; + private static final int DEFAULT_CAPACITY = 1; + private Object[] elementData = new Object[DEFAULT_CAPACITY]; + + @Override + public void add(Object element) { + // 当要添加数据的位置已经超过数组长度时,增长数组长度 + if (size() + 1 == elementData.length) { + grow(); + } + elementData[flag + 1] = element; + flag++; + } + + @Override + public void add(int index, Object element) { + if (index < 0 || index > getFlag() + 1) { + System.out.println("在--" + index + "--添加的--" + element + "--无效,因为越界了!"); + return; + } + // 数组长度永远比已存数据大一个。 + if (size() + 1 == elementData.length) { + grow(); + } + elementData[index] = element; + if (index > getFlag()) { + flag++; + } + } + + @Override + public Object get(int index) { + if (index < 0 || index > getFlag()) { + System.out.print("在--" + index + "--的get无效,因为越界了!"); + return null; + } + return elementData[index]; + } + + @Override + public Object remove(int index) { + if (index < 0 || index > getFlag()) { + System.out.println("在--" + index + "--的remove无效,因为越界了!"); + return null; + } + Object oldValue = elementData[index]; + elementData[index] = null; + // 将删除处后面的数据往前移一格。 + Object[] data2 = new Object[elementData.length - 1]; + System.arraycopy(elementData, 0, data2, 0, getFlag()); + elementData = data2; + flag--; + return oldValue; + } + + @Override + public int size() { + return getFlag() + 1; + } + + public int getFlag() { + return flag; + } + + private void grow() { + Object[] data2 = new Object[elementData.length + 1]; + System.arraycopy(elementData, 0, data2, 0, getFlag() + 2);// 最后一个参数是需要复制的数据的数量。 + elementData = data2; + } + + /** + * 测试用例 + * + * @param args + */ + public static void main(String[] args) { + ArrayList al = new ArrayList(); + al.add(0, 99); + al.add(1, 100); + System.out.println(al.get(1)); + al.remove(1); + System.out.println(al.get(1)); + System.out.println(al.size()); + } +} \ No newline at end of file diff --git a/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/LinkedList.java b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/LinkedList.java new file mode 100644 index 0000000000..a1c728f0a1 --- /dev/null +++ b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/LinkedList.java @@ -0,0 +1,194 @@ +package com.stackwei.DataStructure; + +/** + * + * @author stackwei -2017.2.25 + * + */ +public class LinkedList implements List { + + private Node head = null; + private Node last = null; + private int size = 0; + + private static class Node { + Object item; + Node prev; + Node next; + + public Node(Node prev, Object item, Node next) { + this.prev = prev; + this.item = item; + this.next = next; + } + } + + @Override + public void add(Object element) { + addLast(element); + } + + @Override + public void add(int index, Object element) { + if (index < 0 || index > size) { + System.out.println("操作无效,越界了"); + return; + } + if (index == 0) { + addFirst(element); + return; + } + if (index == size) { + addLast(element); + return; + } + Node indexNode = node(index); + Node newNode = new Node(indexNode.prev, element, indexNode); + indexNode.prev.next = newNode; + indexNode.prev = newNode; + size++; + } + + @Override + public Object get(int index) { + if (index < 0 || index >= size) { + System.out.println("查询无效,越界了"); + return null; + } + if (index == 0) { + return head.item; + } + return node(index).item; + } + + @Override + public Object remove(int index) { + if (index < 0 || index > size) { + System.out.println("是空的,无法删除"); + return null; + } + if (index == 0) { + return removeFirst(); + } + if (index == size - 1) { + return removeLast(); + } + Node x = node(index); + final Object element = x.item; + final Node next = x.next; + final Node prev = x.prev; + + if (prev == null) { + head = next; + } else { + prev.next = next; + x.prev = null; + } + + if (next == null) { + last = prev; + } else { + next.prev = prev; + x.next = null; + } + + x.item = null; + size--; + return element; + } + + @Override + public int size() { + return size; + } + + private void addFirst(Object element) { + final Node f = head; + Node newNode = new Node(null, element, f); + head = newNode; + if (f == null) + last = newNode; + else + f.prev = newNode; + size++; + } + + public void addLast(Object element) { + if (head == null) { + addFirst(element); + } else { + Node newNode = new Node(last, element, null); + last.next = newNode; + last = newNode; + size++; + } + } + + public Object removeFirst() { + if (head == null) { + System.out.println("是空的,无法删除"); + return null; + } else { + Node x = head; + Node next = head.next; + Object element = x.item; + x.item = null; + x.next = null; + head = next; + if (next == null) + last = null; + else + x.prev = null; + size--; + return element; + } + } + + public Object removeLast() { + if (last == null) { + System.out.println("是空的,无法删除"); + return null; + } else { + final Node l = last; + final Object element = l.item; + final Node p = l.prev; + l.item = null; + l.prev = null; + last = p; + if (p == null) + head = null; + else + p.next = null; + size--; + return element; + } + } + + Node node(int index) { + if (index < (size >> 1)) { + Node x = head; + for (int i = 0; i < index; i++) + x = x.next; + return x; + } else { + Node x = last; + for (int i = size - 1; i > index; i--) + x = x.prev; + return x; + } + } + + /** + * 测试用例 + * + * @param args + */ + public static void main(String[] args) { + LinkedList ll = new LinkedList(); + ll.add(0, "xxx"); + ll.add(1, 111); + System.out.println(ll.size()); + System.out.println(ll.get(2)); + + } +} \ No newline at end of file diff --git a/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/List.java b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/List.java new file mode 100644 index 0000000000..5226796141 --- /dev/null +++ b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/List.java @@ -0,0 +1,13 @@ +package com.stackwei.DataStructure; + +public interface List { + public void add(Object o); + + public void add(int index, Object o); + + public Object get(int index); + + public Object remove(int index); + + public int size(); +} diff --git a/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Queue.java b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Queue.java new file mode 100644 index 0000000000..4a227495e9 --- /dev/null +++ b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Queue.java @@ -0,0 +1,52 @@ +package com.stackwei.DataStructure; + +/** + * + * @author stackwei -2017.2.25 + * + */ +public class Queue { + + private LinkedList ll = new LinkedList(); + + /** + * 在队尾添加数据 + * @param element + */ + public void enQueue(Object element) { + ll.addLast(element); + } + + /** + * 删除队头数据 + * @return + */ + public Object deQueue() { + return ll.removeFirst(); + } + + /** + * 队列是否为空 + * @return + */ + public boolean isEmpty() { + if (ll.size() > 0) { + return false; + } + return true; + } + + /** + * 测试用例 + * @param args + */ + public static void main(String[] args) { + Queue q = new Queue(); + q.enQueue(97); + q.enQueue(98); + q.enQueue(99); + System.out.println(q.isEmpty()); + System.out.println(q.deQueue()); + } + +} diff --git a/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Stack.java b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Stack.java new file mode 100644 index 0000000000..1b047ffafd --- /dev/null +++ b/group16/1012075117/DataStructure219/src/com/stackwei/DataStructure/Stack.java @@ -0,0 +1,59 @@ +package com.stackwei.DataStructure; + +/** + * + * @author stackwei -2017.2.25 + * + */ +public class Stack { + + private ArrayList al = new ArrayList(); + + /** + * 进栈 + * @param item + */ + public void push(Object item) { + al.add(item); + } + + /** + * 出栈 + * @return + */ + public Object pop() { + return al.remove(al.getFlag()); + } + + /** + * 获取栈顶元素 + * @return + */ + public Object peek() { + return al.get(al.getFlag()); + } + + /** + * 栈是否为空 + * @return + */ + public boolean isEmpty() { + if (al.getFlag() >= 0) { + return false; + } + return true; + } + + /** + * 测试用例 + * @param args + */ + public static void main(String[] args) { + Stack s = new Stack(); + s.push(98); + s.push(99); + s.pop(); + System.out.println(s.peek()); + } + +} From 051a3a67ace7f5aa69ff9e4877df817cd12dbc2a Mon Sep 17 00:00:00 2001 From: shane Date: Sat, 25 Feb 2017 23:58:45 +0800 Subject: [PATCH 29/37] add ArrayList and LinkedList --- .gitignore | 1 + .../src/com/coding/basic/ArrayList.java | 134 +++++++-- .../src/com/coding/basic/LinkedList.java | 258 +++++++++++++++--- .../src/test/coding/basic/AbstractTest.java | 25 ++ .../src/test/coding/basic/ArrayListTest.java | 59 ++++ .../src/test/coding/basic/LinkedListTest.java | 64 +++++ .../214074094/com/reading/blog_test.txt | 1 + .../214074094/com/reading/blog_test.txt | 1 + group16/out/production/214074094/readme.txt | 1 + .../214074094/src/com/reading/blog_test.txt | 1 + 10 files changed, 483 insertions(+), 62 deletions(-) create mode 100644 group16/214074094/src/test/coding/basic/AbstractTest.java create mode 100644 group16/214074094/src/test/coding/basic/ArrayListTest.java create mode 100644 group16/214074094/src/test/coding/basic/LinkedListTest.java create mode 100644 group16/214074094/target/production/214074094/com/reading/blog_test.txt create mode 100644 group16/out/production/214074094/com/reading/blog_test.txt create mode 100644 group16/out/production/214074094/readme.txt create mode 100644 group16/out/production/214074094/src/com/reading/blog_test.txt diff --git a/.gitignore b/.gitignore index 359bdf7ae5..683c69b370 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ *.iml *.idea +*.DS_Store # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* diff --git a/group16/214074094/src/com/coding/basic/ArrayList.java b/group16/214074094/src/com/coding/basic/ArrayList.java index a50055225b..4f45a4c55b 100644 --- a/group16/214074094/src/com/coding/basic/ArrayList.java +++ b/group16/214074094/src/com/coding/basic/ArrayList.java @@ -1,5 +1,13 @@ package com.coding.basic; +import java.util.*; + +/** + * @Author shane + * @Time 2017/2/25 13:06 + * @Email stevenchenguang@gmail.com + * @Desc OwnArrayList + */ public class ArrayList implements List { private int size = 0; @@ -17,44 +25,132 @@ public ArrayList() { this.elementData = EMPTY_ELEMENTDATA; } - public static void main(String[] args) { - ArrayList list = new ArrayList(); - System.out.println(list.elementData == list.EMPTY_ELEMENTDATA); - } - + @Override public void add(Object o) { if (elementData == EMPTY_ELEMENTDATA) { - elementData = new Object[DEFAULT_CAPACITY]; - }else if(size < elementData.length){ - size++; - }else{ + elementData = Arrays.copyOf(elementData, DEFAULT_CAPACITY); + elementData[0] = o; + } else if (size < elementData.length) { + elementData[size] = o; + } else { _grow(); + elementData[size] = o; } - elementData[size] = o; - } - - private void _grow() { - + size++; + _analyze(); } + @Override public void add(int index, Object o) { - + if (index < 0) { + throw new IndexOutOfBoundsException("Index:" + index + ", Size:" + size); + } + if (elementData == EMPTY_ELEMENTDATA) { + if (index != 0) { + throw new IndexOutOfBoundsException("Index:" + index + ", Size:" + size); + } else { + elementData = new Object[DEFAULT_CAPACITY]; + elementData[0] = o; + } + } else if (index > size) { + throw new IndexOutOfBoundsException("Index:" + index + ", Size:" + size); + } else if (index == size) { + _grow(); + elementData[size] = o; + size++; + } else { + if (elementData.length == size) { + _grow(); + } + System.arraycopy(elementData, index, elementData, index + 1, size - index); + elementData[index] = o; + size++; + } + _analyze(); } + @Override public Object get(int index) { - return null; + if (index < 0 || index > size) { + throw new IndexOutOfBoundsException("Index:" + index + ", Size:" + size); + } + return elementData[index]; } + @Override public Object remove(int index) { - return null; + + if (index < 0 || index > size) { + throw new IndexOutOfBoundsException("Index:" + index + ", Size:" + size); + } + Object oldValue = elementData[index]; + //需要复制的长度 + int needMoveLength = size - index - 1; + //如果该长度小于0, 说明只有一个元素, 直接置空即可 + if (needMoveLength > 0) { + System.arraycopy(elementData, index + 1, elementData, index, needMoveLength); + } + elementData[--size] = null; + _analyze(); + return oldValue; } + @Override public int size() { - return -1; + return size; } public Iterator iterator() { - return null; + return new Itr(); } + /** + * @Author: shane + * @Time: 2017/2/25 20:18 + * @Email: stevenchenguang@gmail.com + * @param: + * @Return: + * @Throw: + * @Desc: 返回真实长度的数组数据 + */ + private void _analyze() { + if (size < elementData.length) { + elementData = Arrays.copyOf(elementData, size); + } + } + + /** + * @Author: shane + * @Time: 2017/2/25 20:19 + * @Email: stevenchenguang@gmail.com + * @param: + * @Return: + * @Throw: + * @Desc: 将数组的长度扩容至2倍 + */ + private void _grow() { + elementData = Arrays.copyOf(elementData, elementData.length << 1); + } + + @Override + public String toString() { + return Arrays.toString(elementData); + } + + private class Itr implements Iterator { + + @Override + public boolean hasNext() { + if (elementData == EMPTY_ELEMENTDATA) { + return false; + } + + return false; + } + + @Override + public Object next() { + return null; + } + } } diff --git a/group16/214074094/src/com/coding/basic/LinkedList.java b/group16/214074094/src/com/coding/basic/LinkedList.java index e2c4e5e795..fe9839838a 100644 --- a/group16/214074094/src/com/coding/basic/LinkedList.java +++ b/group16/214074094/src/com/coding/basic/LinkedList.java @@ -1,46 +1,218 @@ package com.coding.basic; +/** + * @Author shane + * @Time 2017/2/25 21:01 + * @Email stevenchenguang@gmail.com + * @Desc OwnLinkedList + */ public class LinkedList implements List { - - private Node head; - - public void add(Object o){ - - } - public void add(int index , Object o){ - - } - public Object get(int index){ - return null; - } - public Object remove(int index){ - return null; - } - - public int size(){ - return -1; - } - - public void addFirst(Object o){ - - } - public void addLast(Object o){ - - } - public Object removeFirst(){ - return null; - } - public Object removeLast(){ - return null; - } - public Iterator iterator(){ - return null; - } - - - private static class Node{ - Object data; - Node next; - - } -} + + private int size = 0; + + private Node first; + + private Node last; + + public void add(Object o) { + if(size == 0){ + first = new Node(null, o, null); + last = first; + size++; + }else{ + addLast(o); + } + } + + public void add(int index, Object o) { + _checkIndex(index); + if(index == size - 1){ + addLast(o); + }else { + Node prev = _node(index); + Node next = _node(index + 1); + Node newNode = new Node(prev, o, next); + prev.next = newNode; + next.prev = newNode; + size++; + } + } + + public Object get(int index) { + _checkIndex(index); + return node(index); + } + + public Object remove(int index) { + _checkIndex(index); + if(index == 0){ + return removeFirst(); + }else if(index == size - 1){ + return removeLast(); + } + Node curr = _node(index); + Object data = curr.data; + final Node prev = curr.prev; + final Node next = curr.next; + + prev.next = next; + next.prev = prev; + curr = null; + size--; + + return data; + } + + private Object removeFirst() { + Node oldFirst = first; + Object data = first.data; + final Node oldSecond = oldFirst.next; + if(null == oldSecond){ + first = null; + last = null; + }else { + oldSecond.prev = null; + first = oldSecond; + oldFirst = null; + } + size--; + return data; + } + + private Object removeLast() { + Node oldLast = last; + Object data = last.data; + final Node oldLastButOne = last.prev; + if(null == oldLastButOne){ + first = null; + last = null; + }else{ + oldLastButOne.next = null; + last = oldLastButOne; + oldLast = null; + } + size--; + return data; + } + + public void addFirst(Object o) { + final Node oldFirst = first; + final Node param = new Node(null, o, null); + if(null == oldFirst){ + first = param; + }else { + oldFirst.prev = param; + param.next = oldFirst; + first = param; + } + size++; + } + + public void addLast(Object o) { + final Node n = last; + final Node newNode = new Node(n, o, null); + last = newNode; + n.next = newNode; + size++; + } + + public int size() { + return size; + } + + public Iterator iterator() { + return null; + } + + private static class Node { + Node prev; + Object data; + Node next; + + public Node(Node prev, Object data, Node next) { + this.prev = prev; + this.data = data; + this.next = next; + } + } + + /** + * @Author: shane + * @Time: 2017/2/25 22:44 + * @Email: stevenchenguang@gmail.com + * @param: int index + * @Return: Node + * @Throw: + * @Desc: 根据下标获取节点元素上的数据 + */ + private Object node(int index) { + //如果下标在左一半, 从左往右取 + if(index < size >> 1){ + Node tmp = first; + for (int i = 0; i < index; i++) { + tmp = tmp.next; + } + return tmp.data; + }else{ + Node tmp = last; + for (int i = size - 1; i > index; i--) { + tmp = tmp.prev; + } + return tmp.data; + } + } + + /** + * @Author: shane + * @Time: 2017/2/25 22:44 + * @Email: stevenchenguang@gmail.com + * @param: int index + * @Return: Node + * @Throw: + * @Desc: 根据下标获取节点元素 + */ + private Node _node(int index) { + //如果下标在左一半, 从左往右取 + if(index < size >> 1){ + Node tmp = first; + for (int i = 0; i < index; i++) { + tmp = tmp.next; + } + return tmp; + }else{ + Node tmp = last; + for (int i = size - 1; i > index; i--) { + tmp = tmp.prev; + } + return tmp; + } + } + + /** + * @Author: shane + * @Time: 2017/2/25 22:43 + * @Email: stevenchenguang@gmail.com + * @param: int index + * @Return: + * @Throw: IndexOutOfBoundsException + * @Desc: 校验下标是否合法 + */ + private void _checkIndex(int index){ + if(index < 0 || index >= size){ + throw new IndexOutOfBoundsException("Index:" + index + ", Size:" + size); + } + } + + @Override + public String toString() { + if(0 == size){ + return "[]"; + } + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < this.size; i++) { + sb.append(get(i)).append(", "); + } + String tmp = sb.substring(0, sb.length() - 2); + return "[" + tmp + "]"; + } +} \ No newline at end of file diff --git a/group16/214074094/src/test/coding/basic/AbstractTest.java b/group16/214074094/src/test/coding/basic/AbstractTest.java new file mode 100644 index 0000000000..0b19aa71d2 --- /dev/null +++ b/group16/214074094/src/test/coding/basic/AbstractTest.java @@ -0,0 +1,25 @@ +package coding.basic; + +import com.alibaba.fastjson.JSON; + +/** + * @Author shane + * @Time 2017/2/25 13:06 + * @Email stevenchenguang@gmail.com + * @Desc 测试基类 + */ +public class AbstractTest { + + protected void printStar() { + System.out.println("********************************************"); + } + + protected void printHyphen() { + System.out.println("--------------------------------------------"); + } + + protected void printJson(Object obj) { + System.out.println(JSON.toJSONString(obj)); + } + +} diff --git a/group16/214074094/src/test/coding/basic/ArrayListTest.java b/group16/214074094/src/test/coding/basic/ArrayListTest.java new file mode 100644 index 0000000000..4aa506e962 --- /dev/null +++ b/group16/214074094/src/test/coding/basic/ArrayListTest.java @@ -0,0 +1,59 @@ +package coding.basic; + +import com.coding.basic.ArrayList; +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +/** + * @Author shane + * @Time 2017/2/25 13:02 + * @Email stevenchenguang@gmail.com + * @Desc ... + */ + +public class ArrayListTest extends AbstractTest { + + private static ArrayList list; + + @Before + public void before() { + list = new ArrayList(); + list.add("a"); + list.add("b"); + list.add("c"); + list.add("d"); + list.add("e"); + + printStar(); + System.out.println("Before Test data :" + list); + printStar(); + } + + @After + public void after() { + printStar(); + System.out.println("After Test data : " + list); + printStar(); + } + + @Test + public void testAddI() { + int index = list.size(); + list.add(index, "test add i"); + Assert.assertEquals(list.get(index), "test add i"); + } + + @Test + public void testSize(){ + Assert.assertEquals(5, list.size()); + } + + @Test + public void testRemove() { + list.remove(5); + Assert.assertEquals(list.get(3), "d"); + } + +} diff --git a/group16/214074094/src/test/coding/basic/LinkedListTest.java b/group16/214074094/src/test/coding/basic/LinkedListTest.java new file mode 100644 index 0000000000..1479507338 --- /dev/null +++ b/group16/214074094/src/test/coding/basic/LinkedListTest.java @@ -0,0 +1,64 @@ +package coding.basic; + +import com.coding.basic.LinkedList; +import junit.framework.Assert; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * @Author shane + * @Time 2017/2/25 23:32 + * @Email stevenchenguang@gmail.com + * @Desc ... + */ +public class LinkedListTest extends AbstractTest { + + private static LinkedList list; + + @Before + public void before(){ + list = new LinkedList(); + list.add("a"); + list.add("b"); + list.add("c"); + list.add("d"); + list.add("e"); + + printStar(); + System.out.println("Before Test data :" + list); + printHyphen(); + } + + @After + public void after() { + printHyphen(); + System.out.println("After Test data : " + list); + printStar(); + } + + @Test + public void testAddIndex(){ + list.add(0, "after a"); + Assert.assertEquals("after a", list.get(1)); + + list.add(3, "after c"); + Assert.assertEquals("after c", list.get(4)); + + list.add(6, "after e"); + Assert.assertEquals("after e", list.get(7)); + } + + @Test + public void testRemove(){ + list.remove(0); + Assert.assertEquals("b", list.get(0)); + + list.remove(list.size() - 1); + Assert.assertEquals("d", list.get(list.size() - 1)); + + Object obj = list.remove(1); + Assert.assertEquals("c", obj); + Assert.assertEquals(2, list.size()); + } +} diff --git a/group16/214074094/target/production/214074094/com/reading/blog_test.txt b/group16/214074094/target/production/214074094/com/reading/blog_test.txt new file mode 100644 index 0000000000..b7e5cbfe14 --- /dev/null +++ b/group16/214074094/target/production/214074094/com/reading/blog_test.txt @@ -0,0 +1 @@ +just test new fork \ No newline at end of file diff --git a/group16/out/production/214074094/com/reading/blog_test.txt b/group16/out/production/214074094/com/reading/blog_test.txt new file mode 100644 index 0000000000..b7e5cbfe14 --- /dev/null +++ b/group16/out/production/214074094/com/reading/blog_test.txt @@ -0,0 +1 @@ +just test new fork \ No newline at end of file diff --git a/group16/out/production/214074094/readme.txt b/group16/out/production/214074094/readme.txt new file mode 100644 index 0000000000..c1b06ddcc2 --- /dev/null +++ b/group16/out/production/214074094/readme.txt @@ -0,0 +1 @@ +I am 北京-Shane diff --git a/group16/out/production/214074094/src/com/reading/blog_test.txt b/group16/out/production/214074094/src/com/reading/blog_test.txt new file mode 100644 index 0000000000..b7e5cbfe14 --- /dev/null +++ b/group16/out/production/214074094/src/com/reading/blog_test.txt @@ -0,0 +1 @@ +just test new fork \ No newline at end of file From 7ff39a461d6df1080a7f514150db95a70bf610c4 Mon Sep 17 00:00:00 2001 From: hzc1234567 <956647478@qq.com> Date: Sun, 26 Feb 2017 10:11:25 +0800 Subject: [PATCH 30/37] githubDesktop --- group16/956647478/ArrayList/.classpath | 6 ++++++ group16/956647478/ArrayList/.gitignore | 1 + group16/956647478/ArrayList/.project | 17 +++++++++++++++++ .../.settings/org.eclipse.jdt.core.prefs | 11 +++++++++++ .../956647478/RemoteSystemsTempFiles/.project | 12 ++++++++++++ 5 files changed, 47 insertions(+) create mode 100644 group16/956647478/ArrayList/.classpath create mode 100644 group16/956647478/ArrayList/.gitignore create mode 100644 group16/956647478/ArrayList/.project create mode 100644 group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs create mode 100644 group16/956647478/RemoteSystemsTempFiles/.project diff --git a/group16/956647478/ArrayList/.classpath b/group16/956647478/ArrayList/.classpath new file mode 100644 index 0000000000..fb565a588d --- /dev/null +++ b/group16/956647478/ArrayList/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/group16/956647478/ArrayList/.gitignore b/group16/956647478/ArrayList/.gitignore new file mode 100644 index 0000000000..ae3c172604 --- /dev/null +++ b/group16/956647478/ArrayList/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/group16/956647478/ArrayList/.project b/group16/956647478/ArrayList/.project new file mode 100644 index 0000000000..6e2da91f56 --- /dev/null +++ b/group16/956647478/ArrayList/.project @@ -0,0 +1,17 @@ + + + ArrayList + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs b/group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..7341ab1683 --- /dev/null +++ b/group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/group16/956647478/RemoteSystemsTempFiles/.project b/group16/956647478/RemoteSystemsTempFiles/.project new file mode 100644 index 0000000000..5447a64fa9 --- /dev/null +++ b/group16/956647478/RemoteSystemsTempFiles/.project @@ -0,0 +1,12 @@ + + + RemoteSystemsTempFiles + + + + + + + org.eclipse.rse.ui.remoteSystemsTempNature + + From c078bfb361acd92293b335dbb02a861b1495e8d5 Mon Sep 17 00:00:00 2001 From: hzc1234567 <956647478@qq.com> Date: Sun, 26 Feb 2017 10:53:51 +0800 Subject: [PATCH 31/37] Revert "githubDesktop" --- group16/956647478/ArrayList/.classpath | 6 ------ group16/956647478/ArrayList/.gitignore | 1 - group16/956647478/ArrayList/.project | 17 ----------------- .../.settings/org.eclipse.jdt.core.prefs | 11 ----------- .../956647478/RemoteSystemsTempFiles/.project | 12 ------------ 5 files changed, 47 deletions(-) delete mode 100644 group16/956647478/ArrayList/.classpath delete mode 100644 group16/956647478/ArrayList/.gitignore delete mode 100644 group16/956647478/ArrayList/.project delete mode 100644 group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs delete mode 100644 group16/956647478/RemoteSystemsTempFiles/.project diff --git a/group16/956647478/ArrayList/.classpath b/group16/956647478/ArrayList/.classpath deleted file mode 100644 index fb565a588d..0000000000 --- a/group16/956647478/ArrayList/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/group16/956647478/ArrayList/.gitignore b/group16/956647478/ArrayList/.gitignore deleted file mode 100644 index ae3c172604..0000000000 --- a/group16/956647478/ArrayList/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/group16/956647478/ArrayList/.project b/group16/956647478/ArrayList/.project deleted file mode 100644 index 6e2da91f56..0000000000 --- a/group16/956647478/ArrayList/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - ArrayList - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs b/group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 7341ab1683..0000000000 --- a/group16/956647478/ArrayList/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/group16/956647478/RemoteSystemsTempFiles/.project b/group16/956647478/RemoteSystemsTempFiles/.project deleted file mode 100644 index 5447a64fa9..0000000000 --- a/group16/956647478/RemoteSystemsTempFiles/.project +++ /dev/null @@ -1,12 +0,0 @@ - - - RemoteSystemsTempFiles - - - - - - - org.eclipse.rse.ui.remoteSystemsTempNature - - From d4970d055c00e3e3e267d0c9ece4ca1dd1fb0590 Mon Sep 17 00:00:00 2001 From: gaodekui <13526428940@163.com> Date: Thu, 23 Feb 2017 17:57:06 +0800 Subject: [PATCH 32/37] =?UTF-8?q?=E5=86=8D=E6=AC=A1=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group16/1154151360/src/com/list/ArrayList.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group16/1154151360/src/com/list/ArrayList.java b/group16/1154151360/src/com/list/ArrayList.java index bf19212fbf..733dc0f341 100644 --- a/group16/1154151360/src/com/list/ArrayList.java +++ b/group16/1154151360/src/com/list/ArrayList.java @@ -1,7 +1,7 @@ package com.list; - +//ArrayList public class ArrayList { private int size; From d833bb6a49b497bcc90da78ec60ad4b59c6716ac Mon Sep 17 00:00:00 2001 From: gaodekui <13526428940@163.com> Date: Sat, 25 Feb 2017 10:49:46 +0800 Subject: [PATCH 33/37] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=98=9F=E5=88=97?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group16/1154151360/src/com/list/Queue.java | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 group16/1154151360/src/com/list/Queue.java diff --git a/group16/1154151360/src/com/list/Queue.java b/group16/1154151360/src/com/list/Queue.java new file mode 100644 index 0000000000..c2cf67b05d --- /dev/null +++ b/group16/1154151360/src/com/list/Queue.java @@ -0,0 +1,51 @@ +package com.list; + +public class Queue { + + Object [] element; + + private static int DEFAULT_SIZE = 10; + + int front;//头指针 + + int rear;//尾指针 + + public Queue(){ + this(DEFAULT_SIZE); + } + public Queue(int size){ + element = new Object[size]; + this.front = 0; + this.rear = 0; + } + + public boolean enQueue(Object object){ + + if ((rear + 1) % element.length == front){ + return false; + }else{ + element[rear] = object; + rear = (rear + 1) % element.length; + return true; + } + } + + public Object deQueue(){ + if (front == rear){ + return null; + }else{ + Object object = element[front]; + front = (front + 1) % element.length; + return object; + } + + } + + public int size(){ + return (rear -front) & (element.length - 1); + } + + public boolean isEmpty(){ + return rear == front; + } +} From c2028b71cb3fb7416d1934f298dd668844d89aee Mon Sep 17 00:00:00 2001 From: gaodekui <13526428940@163.com> Date: Sun, 26 Feb 2017 10:47:27 +0800 Subject: [PATCH 34/37] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- group16/1154151360/src/com/list/Queue.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/group16/1154151360/src/com/list/Queue.java b/group16/1154151360/src/com/list/Queue.java index c2cf67b05d..faa3e87381 100644 --- a/group16/1154151360/src/com/list/Queue.java +++ b/group16/1154151360/src/com/list/Queue.java @@ -1,5 +1,5 @@ package com.list; - +//队列 public class Queue { Object [] element; From a9c6a64d73872d1c693fbc5ec10f35d67d8a2895 Mon Sep 17 00:00:00 2001 From: duxl Date: Sun, 26 Feb 2017 13:09:16 +0800 Subject: [PATCH 35/37] =?UTF-8?q?0226=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实现了ArrayList,LinkedList,Queue,Stack --- .../0226/src/com/coding/basic/ArrayList.java | 63 +++++++++++ .../0226/src/com/coding/basic/Iterator.java | 6 ++ .../0226/src/com/coding/basic/LinkedList.java | 101 ++++++++++++++++++ .../0226/src/com/coding/basic/List.java | 9 ++ .../0226/src/com/coding/basic/Queue.java | 28 +++++ .../0226/src/com/coding/basic/Stack.java | 38 +++++++ 6 files changed, 245 insertions(+) create mode 100644 group16/1287642108/0226/src/com/coding/basic/ArrayList.java create mode 100644 group16/1287642108/0226/src/com/coding/basic/Iterator.java create mode 100644 group16/1287642108/0226/src/com/coding/basic/LinkedList.java create mode 100644 group16/1287642108/0226/src/com/coding/basic/List.java create mode 100644 group16/1287642108/0226/src/com/coding/basic/Queue.java create mode 100644 group16/1287642108/0226/src/com/coding/basic/Stack.java diff --git a/group16/1287642108/0226/src/com/coding/basic/ArrayList.java b/group16/1287642108/0226/src/com/coding/basic/ArrayList.java new file mode 100644 index 0000000000..e287419dc0 --- /dev/null +++ b/group16/1287642108/0226/src/com/coding/basic/ArrayList.java @@ -0,0 +1,63 @@ +package com.coding.basic; + +public class ArrayList implements List { + + private int size = 0; + + private Object[] elementData = new Object[100]; + + public void add(Object o) { + IncrementsCapacity(size + 1); + elementData[size++] = o; + + } + + public void add(int index, Object o) { + checkIndex(index); + IncrementsCapacity(size + 1); + System.arraycopy(elementData, index, elementData, index + 1, size - index); + elementData[index] = o; + size++; + } + + public Object get(int index) { + checkIndex(index); + return elementData[index]; + } + + public Object remove(int index) { + checkIndex(index); + Object o = elementData[index]; + System.arraycopy(elementData, index + 1, elementData, index, size - index - 1); + elementData[--size] = null; + return o; + } + + public int size() { + return size; + } + + public int length() { + return elementData.length; + } + + // ���� + private void IncrementsCapacity(int num) { + if (num > elementData.length) { + int oldCapacity = elementData.length; // ��ǰ���鳤�� + int newCapacity = ((num + oldCapacity) * 3) >> 2; // ��ǰ���鳤�ȵ�1.5�� + if (newCapacity - num < 0) { + newCapacity = num; // �����������Dz���,ֱ����Ϊ����ֵ + } + Object[] oldelements = elementData; + elementData = new Object[newCapacity]; + System.arraycopy(oldelements, 0, elementData, 0, size); + } + } + + // �±�Խ���ж� + private void checkIndex(int index) { + if (index >= size || index < 0) + throw new IndexOutOfBoundsException("�����±�Խ��"); + } +} diff --git a/group16/1287642108/0226/src/com/coding/basic/Iterator.java b/group16/1287642108/0226/src/com/coding/basic/Iterator.java new file mode 100644 index 0000000000..e7cbd474ec --- /dev/null +++ b/group16/1287642108/0226/src/com/coding/basic/Iterator.java @@ -0,0 +1,6 @@ +package com.coding.basic; + +public interface Iterator { + public boolean hasNext(); + public Object next(); +} diff --git a/group16/1287642108/0226/src/com/coding/basic/LinkedList.java b/group16/1287642108/0226/src/com/coding/basic/LinkedList.java new file mode 100644 index 0000000000..99c92fb9f1 --- /dev/null +++ b/group16/1287642108/0226/src/com/coding/basic/LinkedList.java @@ -0,0 +1,101 @@ +package com.coding.basic; + +public class LinkedList implements List { + + private Node head; + private Node tail; + private int size = 0 ; + + public void add(Object o){ + addLast(o); + } + + public void add(int index, Object o) { + if (index == 0) { + addFirst(o); + } else if (index >= size) { + addLast(o); + } else { + Node node = new Node(); + node.data = o; + node.next = getNode(index); + getNode(index - 1).next = node; + size++; + } + } + + public Object get(int index) { + Node node = getNode(index); + return node.data; + } + + public Object remove(int index){ + Node currentNode = getNode(index); + Node prevNode = getNode(index - 1); + Node lastNode = getNode(index + 1); + prevNode.next = lastNode; + size--; + return currentNode.data; + } + + public int size(){ + return size; + } + + public void addFirst(Object o){ + Node node=new Node(); + node.data = o; + node.next = head; + head = node; + size++; + } + public void addLast(Object o){ + Node node=new Node(); + node.data = o; + node.next = null; + Node lastNode = getNode(size-1); + lastNode.next = node; + size++; + } + public Object removeFirst(){ + Object obj = getNode(0).data; + Node node = getNode(1); + node.next = head; + size--; + return obj; + } + public Object removeLast(){ + Object obj = getNode(size - 1).data; + Node node = getNode(size - 2); + node.next = null; + size--; + return obj; + } + + //��ȡ�ڵ� + public Node getNode(int index){ + checkIndex(index); + if(index == 0 ){ + return head; + }else if(index == size -1 ){ + return tail; + }else{ + Node node = head; + for(int i=0;i= size || index < 0) + throw new IndexOutOfBoundsException("�����±�Խ��"); + } + + private static class Node { + Object data; + Node next; + } +} diff --git a/group16/1287642108/0226/src/com/coding/basic/List.java b/group16/1287642108/0226/src/com/coding/basic/List.java new file mode 100644 index 0000000000..10d13b5832 --- /dev/null +++ b/group16/1287642108/0226/src/com/coding/basic/List.java @@ -0,0 +1,9 @@ +package com.coding.basic; + +public interface List { + public void add(Object o); + public void add(int index, Object o); + public Object get(int index); + public Object remove(int index); + public int size(); +} diff --git a/group16/1287642108/0226/src/com/coding/basic/Queue.java b/group16/1287642108/0226/src/com/coding/basic/Queue.java new file mode 100644 index 0000000000..95dee3d81b --- /dev/null +++ b/group16/1287642108/0226/src/com/coding/basic/Queue.java @@ -0,0 +1,28 @@ +package com.coding.basic; + +public class Queue { + private LinkedList elementData = new LinkedList(); + + public void enQueue(Object o){ + elementData.addLast(o); + } + + public Object deQueue(){ + if (isEmpty()) { + return null; + }else{ + return elementData.removeFirst(); + } + } + + public boolean isEmpty(){ + if (elementData.size() == 0) { + return true; + } + return false; + } + + public int size(){ + return elementData.size(); + } +} diff --git a/group16/1287642108/0226/src/com/coding/basic/Stack.java b/group16/1287642108/0226/src/com/coding/basic/Stack.java new file mode 100644 index 0000000000..c0b7da89f8 --- /dev/null +++ b/group16/1287642108/0226/src/com/coding/basic/Stack.java @@ -0,0 +1,38 @@ +package com.coding.basic; + +public class Stack { + private ArrayList elementData = new ArrayList(); + + public void push(Object o) { + if (isEmpty()) { + elementData.add(elementData.length() - 1, o); + } + elementData.add(elementData.length() - elementData.size() - 1, o); + } + + public Object pop() { + if (isEmpty()) { + return null; + } + return elementData.remove(elementData.length() - elementData.size() - 1); + } + + public Object peek() { + if (isEmpty()) { + return null; + } + return elementData.get(elementData.length() - elementData.size() - 1); + } + + public boolean isEmpty() { + if (elementData.size() == 0) { + return true; + } + return false; + } + + public int size() { + return elementData.size(); + } + +} From ebd58206eb23fe3cf3ffe60a62080218927d8494 Mon Sep 17 00:00:00 2001 From: Li Han Date: Sun, 26 Feb 2017 16:25:16 +0800 Subject: [PATCH 36/37] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 作业提交_0226 --- ...350\260\210_\344\275\234\344\270\232.docx" | Bin 0 -> 532875 bytes .../502059278/src/cn/mark/MyLinkedList.java | 67 ++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 "group16/502059278/homework/\350\256\241\347\256\227\346\234\272\346\274\253\350\260\210_\344\275\234\344\270\232.docx" create mode 100644 group16/502059278/src/cn/mark/MyLinkedList.java diff --git "a/group16/502059278/homework/\350\256\241\347\256\227\346\234\272\346\274\253\350\260\210_\344\275\234\344\270\232.docx" "b/group16/502059278/homework/\350\256\241\347\256\227\346\234\272\346\274\253\350\260\210_\344\275\234\344\270\232.docx" new file mode 100644 index 0000000000000000000000000000000000000000..31dfe4c14bd2c5980ba3209f8e697d71c800b157 GIT binary patch literal 532875 zcmeFZbwF0lw=ce*qPx4h8wBYFX#@cQ>F!1ZL>iQm1`&`F1VvIQ2?0TA6p)q<2|%`*_85SI{Qocg5B5OK!#>x0e0YlAQ-9$0 zOkw1B>s-ICLUM;|N<~Au?FH(>IPb)Vjjs|iVNcoMWvU`7d|qEAVg5=f_YHb6f)dBS zSZ83XKqF1)H8NAGCQN>)B;#e`Uo(PTnUJGP+1+|?U+05Ipr4(Xq8Ps&Gu%e{*r=xh zb}zL(@IAxKk7V(;Ave&!1@rko{+xxzQv70%ZgB{c$hpjN@70@b?B4o&$xH(pR;j6k zWt{h3$s{;lEp>lv@qxY9s8igO+(Ra9yHr4bT+)Kxw4o#NLHN^Q>gOYO<~F|R$_Us< zwFurf^>%4~+`d<&WaB%zj8?*p(VIVJ==#9~hknj)n8S%POZDZ-*Dq)u<#ab673^*$ zM3L#ZV~6H?@wQVe=NT3rSZc+|$O{iNUctPmUkY&#r#@1T|f=Q0^NZNf`|E%2D!}duX~tk#-$Bwi$i=*sR0kq{$yhjc6+3 z_aAp(z{*}ev^{&rsLKBCUYrqe>;MHy(ouBA`!>QQ4u!*|5=;jM_JL6=rk90}Jg$HI zo)IkgIFo;D+)>5kHtJJJ#g<6wS0BiOF>Iw@qziHmtiYhyX&PD&ENm_5iizMt&qt5pJqfbCNnm`w61z+;E%KG#sK$KWjWWknb{|}% z{&jpX5GH4Ef+adA06+zxLHyi2t$BY95^Far9~W>XyI8`04;Tozj)C0&vr|**-{$cX zOFHyBY%JMNb?dm#08|wBINItG-18QLf?@@YXFPa)jcH%0sCk=ag5F65qHcs6#6R(n zW6(~mjBq3m;GwN_Rr!)wp7q@r!Uz+qX6NA@PZ;$2mVT2pJ}xNEGu}IT`GKyX4_#wi zEo4cH!i8B`dNPf|ta*>bK8@*0?IMnDjl?ytiV&%vLFWVqepq{PhQZ zFF!`vjSqzk*iRdBQ5mG=22&CqAA!^DzXsb@oU~;h9ssC&0{}i4LqCJd13dvkscMZu3v6$U(tjFbnsXE(nGY=|{l^Y&Znm0dnJpZ<$3~6%xH%ER87Vj=Gx4)Cqb`Vo9d9$tk;NbXbg-ym{Gs){Q+p$Wy zt1A`=$mE7)n0)-L@!kNM>&ox@1Ut0J(Z#tRK_W>flocuJI0-$BKBv`R+s1aQl>jj^j$Zs>@QHMThr&&fICnH_orh2qbreXWO+ozLG|CBeht zFR1#s@;xTuZgFjqOymY1?%o^U+)nO$q!q)O0Yf3gjyq#D>gC=Wj^(xX^G4D;ZHNen zdCy>Tn@`!BzPr$*{5Wxbq8-wA*ip{cG4`%@tQA|b6I4XrF-?O=FP&P(iZ~Gy$Py^s zcf7&o_OeYibQckaZSG{RhVs#%$dMH7lNP=`{-^RJ_cbQ2_C=W?p-A~N(Ud*dBT6jd zvSU}Jt-d+=dn7*&I0uJoi}deBWb^ND0fbOJ9RJDIOWDZ&I@>Eko(Vuk& zp%!TJuH1=ll`o$6jW(Wf6Yn?JICC{r_bX}KDb3!pLOEk-@wnnV{oMq^El>@^Ng>ex z^Z*yPiPrLz+7>rMpf8*I=wS)(@yShXqQ?NEe-PjL7p6*E!s9U&DZvD9BPBcu1g+PP z_cC_cr4^5Lw#R}okX$wEH49#GGf%qa;&{DFqj=Z)lozpSPr~?|BOJ%vB|h`aB+V+1 zT3@^G#<9yB!2Qhn?b0WzG(3kZlO=k(Fa2IslOaYV+wk45yqaJ?vY<-A(5iU)PV%KklGqMkk8)x#v4?bC&mg>1Ge$;IOHCxU$H! zrx}pmcyrd9Sp4Ob9h*hK?j+}YEz0x9X?8d&5mQfKo-MrGA%)mI&6;-Qi)L$~M`31c zgDZ=OT~71FEodm(5TpQQT#)7-sl&+Uo)YTvWF1d~B~NwBu5K@`6^|m$)~1|9UAG>C z9OwI-UWC>^*kj_)@-av6+npBEFve!J;Qr{84wGc-M$!{DEp+3hIkipNFGyMHUM+z zjbml1)^Jm`q7 z$3yYr6%Ku*GDNw6rTbx*YKh-qy z+Tav@gX=$uPpuU@>Aw}f8K2z9zGh8K#<-?dY(P`jyg&4QVFUMG>vpnr&v6VnU%jfw+s5Z zs;5&zxIXNeQ-nj|agqP|l4nO$tJ#Cw(Z>yLijk!G1p}BBjB9j+0O83AY@25>pp;Rg zc~kPel!NMITlWrTNy*y5Jn8xf=1qBWtXrsc%JjL_-(ji)B+o3l;@&pZ8GfT~ye<^F zvS^=IPPv!O{R2bR!k_d#i-&$Budr2L6;eT$oljF++V~OE?D}#pM&CwusM>y2`Wv*d zP0e6y$WE!n`Y83|T3WYKR?MQxs6fIU>f;?RVNwJkLbu5Ku^NrG^EcBoc`5PdL;<2= z*GgM=Q>zKZAECHtZn4FE)j=qGaO|V%w-r$zPf+@+`Cxk!F2n_qF`Bp`RjeW(8Z+${ z26>Y>Gqnno7$FqM>M6*bc;PNThpkioW7)PFCN>!(z-spmdq$I|mNsDzU*N!Pnx8>8baSOJ`j;hP)Z%84Ih6cD_GF`N#C0CI*CJONe zJnnq=-^@4?gTJE-ztL)bui%wt&?Jxfq^y?x^QSz3T;%{xPYR}PAm;O=c?E6bm(uq* z^LwS2j>t1_BnebKypPW%m;zrZSZpuL!6Go#9K401qOSV&X^iMP&8>#5*x0#@SMIUj zyGVETdHeASn=&gn8iF|Lt*Qj;3BLqtr@s5L6s6Q^anCHxu37S$^zC%J%qR+%I|np8 z@`EqBzhGBwQy7|)8;Z4v8RYvOCPh>FxhLG8UUsjU+wrII%b51{!!(`g zkh^oILb*vf?uRf38|q8+>l4oFTYM6e&JpcqA4WQ|-8Jn6vsXVSRXk!#(INbN+vp7} zHK-tcS0Kl%WB+45>QzFDoq+9qZJOKtHQ&>(9>?xqCHlr}yG&t1v8ohChboS@X(#c9 zPm-a!1beq@Yqn;LKzBO6Cj%v5R#+t>h{hw)?k>g6+9<5Lx%IcBVe*nvxQFC!x7fVr zjWF9c@{0!2%<^%H+UVrJ7Q}HLM?;$bG*PEL|7+k)(x?C-OTH;HQ%}!$J!YuALCq? zIv$gctuN}{Pe`#nPUAn{POPHabM(u3xEWEs{t0qq(t4c>j*|jn;7F zhCXN>GDiRPMfy0H`$l6oW2 zdA<_YJy=!ujo^5@N7~zL;H6_c{aD`C>RaOraaJ2vcZZ@UuUdj`+&D`Sz^^`#GrQKK z$LKAZO%;Mm>~UN5E{pc#^4NwdmU`FcsH2aW6zlbqMsw=;GR^b}KViz7^n4KM<(X5; z`sR53)9B2y_h%Q$K8w^=2N~xd>;m~XQGGK8J@*@Kx<(xomyYS&H6G}c)EJ$lD;>LD zQcA1^7uMNG)!7JGo|!AHwYb-|LN&Zjb}waYOr5_$YTRcuU*d;vT6?5oz*=IsAzO06 z75U^GJ{eJx$G4wgl)UXp!4}SD=6A8$D}FHfrPslSOFeInh5J?4(HNSft3hKbhp&qA?CyA`7&l;qs1F|{E!#9H){^M-(EUf}8(gUBfGnzzX=lW+JqViCC>R)XV`>>WEi1?q0@E;3bwY+w{$C#iP>yz3SZ8aMJ zSgf1kLpwWOYTLKE;lN1SR^G@n5iIctlGM>Os!frhMwTKO_`p=+N;=(3t-bm9Kmo1R zwm~A_4)m!9?U6>7fyHv4MvLQ$rHPrn_PgXC@-E-f<+LeDt?-2h{-D;Nyjck`%(4@S zIFpUodYpD2GcZegSAV86cKfZBs?Bb*xKvec)1;o(gV7`OiC8n%0C(({=OL;wW~7SO z7ZM0iHW-%X-RnP5yVj4la_G@;GR_cnvnc}@xqQ`qfQj>W@F&$2=s zV(B^tR@*iGgy0|HAAamx8RbyCWpSV86Grz6J>AQv3em!qx`hJRLSGKpTWnc9!qmQT z?ojy+o!LZ%Q6I)D9i}OoaAs~O?_BRxKAJ9I&-U0inpOUh^Si#7*#~)jl*$b^G`HeDQwwy#+OspKE+OzU<^*@FsVU&#D;&QBABLf|N$g1~G+J961qRmS?a~)SZsrN(a z`C4BtKKPVa1RF27ZbTmwe>K4Js*q=^p#k!h41FH<@{ur=$Q8$mp^tp+44)r6EG5P{DTRfLJ3C%jKtfJt_ATJF;@0k`oAK|*$1y$#TQ^J6 zp`02j)%#em7!u7#MCy4cJW|^`tqS_M{rMDIf?K9(lb`6Y`jJ!a8j{2T7sgZFxXVik zg}F};FAtty#U(k)l8t2`4O`I+pOL{lL;dWyGQ4wdqo4;7TXp7a-fPln%2hM9Ts`kX z+a2S-;XAck7ot7tdhqRG)c)eF^?j3)+)8}L&XBefzA?pCvlxi+U{+Wh4ec#r86uI_ zQX<}DHR?a?KJg`QgaErAkl?w-?~@OV%X2b%VD=NI-Z%{aTwEl-Pd;31tQ{f07mKTM{EkI1$-p$+1%ihhMPLPKW5R+5YfL}-e(@&cDCy6&o9Y2u( zRKwRo(K9xW{-^5)vQT1u+d6n`p(`pLrG-5E*;04}cHp1R6%bT^EQ=};%Y zueZp-6Lty!)56NjT~=HB+J(#u-k-An;dVIw>kx5-``?%U1M@$Bz_hmUvI332`1;Mw z+RMrXr2PQ^kz?iV37#vV5`p<*e%|gE^o0&Yo}hvted~g@`$dCg0FmV{I{GJ%zOFpT zlLOK?R`wRwAYB2{T$X>!xBDCYO9zkxl%s6pYUAl(MR(x~ZBI8_2WN2p{geKS;y--< zIpN~$1KRvE(Smm@FDE^9@Gl!^d$_fQ!UfF((iK(~ih3Z;1k#hf4hEW+^trpYoGwVS zfT6<^t(hCpYyA9YC3|Ixk2dMoi#7o1>1rv*m(W4 z7nB31@wV4j0rSCj;m+Qk`j>U#iM9?(s+auL_MR#i`4@F3-JO5ND5x6(>gl6at_>-@IpLZ3CTm0xl^z!q(O@)>}(zX5IZ1}wn)Jjme&c>R&^4_-;6@L~I_ zB+S#?!D=93=Wo7p0Bbt^;o$xUk81r_K1X~(tRlw1`vl_i9~pFrDa2>+X9D!iU$(gY zRetH^i=J`-d(`b8`2M*sesjr!mOB5e=>mGe0kqlXZ#HxPT}F3M6WL#_jlmmkj$m~M z*}5iD{FQs*1)C_%Lroxz>#tnCk9=EvV|@91Pxv-qDX>~tGprHz3f2$M!P;PNV6CvX zuqxQ=Km7k$4E^bQ;6n3@xVq5$BD#KC_;+7}5sM>-Ly5zPqkuz;!;Ew74;LK{DGoo5 z3Jxn+LiwlP{)%t9zgrIa#RzQew}1Y9TNh)+;g2M+4mmzz>w^ z3HtjY-duqIkoWH+@6sYT4V)jY`cKgFHlLFa*uBvbM3cvv+Xx^7ird^A8BT7akEA z6&(|soboU=Ej=SMtDx{nQE^FW+0*KmHMMp14UMnbJ371GcK7tY8y*=Q8~^xeVsd_A z@ypWk%Iezs?%w{lgTwDf$3HIYf&j2zW`Xx#mi?1m_@G@-I2;B?y|4=c^}8?}AC92s zMh1acaD0L4L0 z0$4Bz7)&sHKpHsjKmzs&lZ-;pjVEPmeg0ki5L4UHo_=q9@s}@3_=9<$3Kyoio@VfiT99p$#Okl(+Ep zTw4bT;0qvuH~6iq2S{LVVAl@`uyKA5Z1{=@QrJQ5%*Hmke&n;5OWXa*_U=h+(+={p0b9a-snt<52Otn;|13Vlcbu7m^%KO%uX z>8{z+$A$lDgyHr2J5JoLjtCKQ^CfJtq7=iHBHjy;moB$5H^0HJ-bx@2l*jQScRxqelTD7*bVx(T4k`J00DvHAtYF zHUSABTJ6k%;L%rAo3%UpZ_Nop93^In)aP(<{cSnV)Mnqzh&_Kk%ci{fx{+<#U- zpt36XJ$KjqzDCE@{X6;6MHKsY2zwyCp zVSM%A#K?d70do?qL31Q$_MrjFy0cItIj+3MJO z#6r47x?6vk_t9G``qe<&KlNC_ULB@JReQCrP}2V(}g93{>ukNh-fcM{AUMWK6p8)`@ZoPlC|x~3=NVwURmW{g6UdV?JYx>_f! z4y}$(s*aSq%&9}{w4kTAo8%N^AdxHD8mzsu6mK6-8jLb8yzY0}S zd-%|}rFggsRhZMEGHUMosbu?f;kW1hQnZiG(eROhHiCU0k$nmz{c?~>|d znYwAKhc_p)?wH@Joo2ucFoQ6dGO8x3d%X4xP@5wt^(APLzTN9-$o_+svceR}Q@L=sGd}dO%HTdMdfz{25*kLGS|qTog#<=l%YqaATj|d9f-}vSpTjf; zIrQHfV2=H}gFs9p17#F)gqmb+p&`s)4}x#0>;9O(7TvwKa_yM%4Dgx;;;ll{iC z?dGI2{$Jb0y&v)H3cVt^`)r*w*?ju*nla@DcEMVoM}SarAL3b#JHKbKWFEKpi9^HT9&)E@7vvYkQa{Frw+0m?K^ZCdwqC1+g z)y3kgkpIGP&1iyFHHn|$;6w-GSw+P@m)4g&I1-pEqai+OK5;s=ILo#=vfHIp*)fbf zm7FWj!=9c!<=<_|y?s`)fSG`&96Z@EW53%~$nH3akwUaMOoLzwCWFBeGg(7$Qm_ zh>$71zmq=yJ*tJ>|76i1VSe6jS9BpVsc=<%yJY3s+x2dl6rFUleS1&my*^#7zCkG*09lq)3K>nd-`)F3-NH7xfEtTx)f0 zIPW{#+9VmN{dnj$(KWG`irtn}h)J$*ZdjGlYS}vBiTmkf&i?2MX?)1MSlUXL8O!d? z?@3dA4sKL4%;RpgG2B~^8=6L48SCquMzDhKEOl1Z-|jJbf5*y@I<9sSFj-n1k zkx2VLyHNjwu)TPy_}8`QM)y(jH}kR~-g)J*a~)~q@P8|s=c?L~z*OF0>TnC4zt$XT z+dw$M`S7{q(ebX^;^&abJff=}G)WfoF1+)tF_t58-6Fa3>V1thQ!!PR58n2h40zZr zGih9{+gO%888at1yqn%5M4?KCA_P!4ZWTo9W%sXk}l;maS$~iFm4{vHAPY@xX#yqW1{ocl?4(~jMEHI_{}71PBC^~40Nf6kN_Y5~QMmYO;jI0rjhKyS zy0O<)Hq-4AsFZ8F(_MBg&$`i8B-S!w1s~%Zwe&f9^G=BDtFtWO5R4$j-TLq*ofEDg zrCq;H7nniy>lY5&Q{Bc7N=i2-6;Hh!MvMoZn6;EK(d(jprH^GZrYv1H$UKucY&%N` z5iRb4xJYwX*J#0gt?-XukEk&|Shd}%*R zeKIr!OPOcYSmnzDBcqMV$jTxq8=K_W4aQqN>@8E~sw#V5>Xg_g+?D!N?%m*8ond`) zzphaIq}h!#LmAM)X6NtfXK{l9=Cmd$JG_D?MUen;lNS=er0x6xt}On}!s=Vf=IX@5 zTa{P_X(AMNDtsw!I$7DdIXJ-iOv0XKXHM+;-(r48C*4Xyqgm57-4>>s{Q@Q>&`f$ta(zzY! z2`Tsxq;}Qx#6F1sUbi$>h+R1@?dKzjMbp`KUaFZR&aOI&y1OM4#tv)2Gpr-RoTc8q z!uQ#Vrei5>YQql90)U8q+NQHxRXz7v&(ZUDG3P#;W7W(~j2t!|-E;7$JRc^RrIF(H z&+f|V)N>4`uQR1`_z@X@_`^5T#?G%~{q69updIVPT=nOVc-F>KMjtnt9kjA$c2k4Z zPqGn2I>uxXL^?7c@oz8MfB*dXA3WPy(JrVD1(ztaM$j4_D&c>x7y) zj(=hM3=0y7%sP5mr92-J{fO}>Qs}+9nQBEP5}0R*+@sy(EIsdeCK~0PS4S>X4qe== zR)hs4EU`T^;aBys8`n4NrbUysT5G|t+T5f)tT^i3Rc*CB#2~?fiW7&#TbQFnz|Kfri$s++&a98~f zzttt=Bn1f^@C-VA4{ZH+&kY9r=S)z@|ItL*SwUDD{W#G*F@Y^%38(=8222c5B zDP>EQ`(e?Lyz+lm=wND5x2qX-b&ptE;rDSX{%c|t4>t3cKsH?34h|0*J-{Ld-BMt|-vUm(ZMXV?m2 zPhk5y1+i?v|KSBgPWlL(@_7^h_&^7qTZ3n>Ki>iHwzqMy;r)5%zj)nb)5ye$ zQkf{2_nS1=N#$x?d0Y(DlT;$n7leeI>;Y6&O0TWnZ%1b)QR74D12`h&=(z*zAAc*t zEfN}(kv|zk>ZXSao#E$Zrq)Odb7@*q%Dr%@Xbf8E7hTD@;#G6|_+2xaNmQbM!a|y9 zi+(jX*@<=Z!eg6Rns1ocQx93NsUM#3V*S>$j&?eOXG~d7_{V6^m!#E14cYg6XkqUcG($$2FkB7zB zSM}^u*ZaP%BE01*)#QyWKQjB?BO(`LlMCOR>kfL{EEzXjHw5}WdNc=CjhAyDumd}H zUW|mtRlYRa&AB21Q_Dh`o(`-x9^WB98xsziN^PYuyPI76GV<&9=Fv!U?P2eaJFX=Y zYwJIV*&N2lcMf!4Z;T2zK_kez7KOcgpIvY6a!pUfe`BKLKjQP_;2qVYg4oPewJ%nW zNS*M-=xTU@ca5QipB7%CQ$ft<%#f#D8?(roIvu>&hV0M`K7Qk;4}TOrJ>m_a9@E7^ zP~usKr_kp;!&Vh1*=Nt%NxP$AUn`hs$ZJj`9q4hoTEEzxkU)DTV1C=w6|+;;V0#NZ z`#agpKNzT*ZN0O1pM0R&-^EEu?4$jilhcE^m8wU<2g@a_DE`@DXIw#{3_TT;J3X%y z8D7YCK;83N@;d3@Y@9<6U?`S!Hdw1PxWeD=lee{nZpchO@GI>hVVN6SyQ}2S`$X>n zR@;Wf6Nn$$8)~`xw_ovmd}nMyfx6taCKUG?(U$Mv;?~vIyrvK?DNy!Ju5{>gSNjrO zDF2tV97ZcNY)e1<;mud~g4D>!JvMl%#Q|~+0htqHp&~gGHiF>HOf-xTr@DzoD<3qG zvajv()a)Nn+E`NYoNSvgim4Qo-qN)jeG!?-)uyc_xy{uw3QI>}VvP!3NcK1YYj_C?-{7ic=Swg_CAWWNzIoV4T8 zeen5C4Hx#y3#xOA6SBs^yCPUr%m|4Irm^#fKUNLMRx*xt(X)$)*_p_E#`K6hno(w7 zXqIe)eq^d-fiG);_{54km4O5IS!SmOiNi_X*egmXcZGFc=Aw_1FtWLioKOIjmJT*+ zqQrFQSN9&c<#JaDL|z$96?=0k2z@VM*b`%aQKsYigm!WiyDK$|Rc==mF{rk-_{e;X z5hLDkR#NcRK=EgOn3mq^m!;&fJr>-0<5B-`oS|;>5$`ubGZ70E{4%_1S#inBA?Cwh za#!NymJ1Ra*{u5+RtN9$n_~- zOVJiu>2qiZg^ty+&F3-FY)9N;NMkQ2hKd+c^Et_7u;q+C*Qw8G8?leVN*VGD*wxoV z10FqyYj@)3c`EcMetdmx@pVz)80M(eI0C|cBE=*Sx5o4oh2WrT4xMTA!-sIik+uT* zv6X6VTCb|;zFz2FW5Whhyh1}vB8{3f^B(5cM~x->@nvqWEkBv*c}h}hIWY;$7pL@u zTd?sYjLi!k`Uv`zDQRU{<|;LN(6pqfS~H8z-S}#xywHE$H2*DXN}43WY=(kh7TTR_ zwj81N8f;F2Tvu^>xd`9+lRoFWTUKU`#9v4>CR1b>f9cxh@$T8pvOdY+CttFP5(Yfi z88@uOC}i_i;-8rEr?c^YctpS@Va=iPHKK#jiB@Zkn+|Jfyl*&EzVm1}OI|_nO|G#A zv+4VUg2Osy$pS!2j;~dxy7%hc^220JTiV#Q^~!JO;5O^7_i&lpbV|e*1r~?pn{<2Q zLMsXTufGUZ3^!H1P}BYHSn0&$X*$F0@dJ}yp4;?VAqzQWX;GngtsobgKp(ff;MWIY z8&kK09hVRw&x^WZv$B`zhvS=5^ZF(k{=*1czo+VHD zHpOlbt6|q0xUwUN1<0FxZ+Rk=0{+(;JuX)f!_siqH+rlk}P-)|b zlj%VO#4%6r#i`wBZsRq)#=C>+Ia8PTy#LI&XtqK`qE_zZ{#>A!^z!@op_U7(08FVSH&AlirQ7di~l z59TxeLWd!CK>89Lh5~+h{Tm&ILUuv_LWiM%=pc~iC-MtL1_a+>Sy*`5fgrI91QMOE zl^yuaKaMj1pb)rPJGg?Zp&%{w3qeNF2J&#ZxVTw^fTm55X8VOE`z7ZWn(Vhs%Re$L zEbRW!e?ys}DL8n!J6i;RV*c-@zah&&^b>$}iI5@!zsxVaL~LP!bkijYi~yv296*b} zbU{yEqQ)-xH!sm)U*aNRwP5&Ms&H3(uc*L4K&_C2H(~w!B1*fij`Kmk6&5 zInkFWvkUssCEDvJ&n2o0j5KJ?C0Y&C6WV!+dcy(f!Aq3fMctW8l-W<7OSBggnEwq# z!0Cb-fjlrW7Z6(kCQv?%=MqT=#sW;{5?Kb;h2606x^e9n57hS(-3ICav%W-%UDO4! zhdedwz+4yQn*SiB<#s09&|3z+JR;2%_Hf!L~r%;85Ti`1QU5 zh(Wo)fmwoBB}c&F!)E;^_~}=P5{QZM{E6@3zRdYu!|-Q`D|puf0)eeRh^1fUaz9IL zKt$RvMBA_2Uw3X0(RLyA09wsm$^fj=N~`(maGBHfzp0?#Rl})1$yn$S8x`%09+U@2O{94ej?yV;1mEiTnMy8 z7DU5IfMr+yK|`NEy8Y$L-+uqy-Y-PeU-n$)<8a^zUut3b+bXape_Q>}QvND&0IWeS z^?&AsMZ;dgx5V|1Hc7{KwL2mzzAYCxd8z{1dsq^07XCz&;s;9jF}l2 zRrVmF%@ah11p#+~NFWYK1X6)4AP*=6N`YrUHBb*UfhfhdKp!v&i~&<%Tr2?_zz%Q- zoPbalR0uYN5JC>2g)l=nAp#IFh!jK-at)#jF@oHJ*g;$&K9C^DJxClR8IlFbhm=8H zKpG)$AiaC~!hJ9h@7CO%?ccxE0(39t@9%XTeM1b?{F32z(yC13yP#Bd8FZ2yuie;s(MF z;fIJsq#=qCwTLco+$%;%UrnDdy&SOi!cSn^mmv3#%|V3lCCVNGD|V`F2pV9Q_|V|!yiz%Ik?z@EWA z!Xd=r!BNGr#tFg6#;L;@#@WV2$7RNq#WlkX#7)C}i93M1iHDBIf+vq>fftOIjn|0x z5$^z>5T74k3*QAl9{(wRFa9b4Dgg_DB7rqQI6)yn2f-pCjF6E~p3sW$9^n(hF2W@u z6e3n4RU${CIHG4nABc8{35bP=4T$}Tvx%FD=SW~AEF`KV&LjyW)g};pQeCQa8T$__)$Ef=%U!9B%+j{ zw4#iqtfri#f>Lo%=~CUMDx~VCI-sVZR;G5R&ZO?3-lQR+k)d&Mhr$VMq9>*jO~m& zOtefIOhHWLOq0y$%wo*;%<0VC%->m9SqxdCSn63;S;<&cSp!+iSwFL3vq`gguobY4 zvZJtzu{*KnvJY}VIfOavIkGthIH8;(oDQ71oI_j)t}9%wTm@Voxv{uqxqZ3Ix#xLE zc&_n;@znEd^D^-o^Ct0j^Pckw^ErbE)+v4hel`9u{#X2a0vrNX0@(tig4lvef+2zp zg1bVTLN-E=ggyxq3Tp^Q3AYQMiHM4Lid2fMi86`a63r3)C`KfvEfz1}ij#{TWmb#vLmiodqj%%LRUTHuz)HG5w zK5H^-x@y*I0a~hBDO%IotlA#huXRv#v~{v|mUa1cgLJ#~2=&bMp6VUy%jqZRPhDrb z?sL7}0N3EAL7BmKLj}WR!?_#0H}2f%GomnZFlsPHH8wCVHa;*>G)XmCx+#1!^5(cH ztEs+MEK16O8I8{9{Cyg zz4XWTclGZN;0TBbSP4`LEV>Q9ZFRdnh(73U(EJ_QJNdzoV9Vh45XO-3kfl)N(9*jY zcb)FO5913<4*Pb`@ZPI%>hRF;#R%ny@<^OW&&ZEa5>a{4@MwqV4>5uDH8ad|%; zJ3RiBubf|3z*3M_h*IcVxctQ6Nq3Q0QCTqs_+s2yiEGJRscva!nP^$rQ>v#4<CT>n>!DtC@LAD0A9<;f)ZN9O4v)FFlKGkuf zW3*GJ^Fx<5OPWn!sOof7w`PgZ^ z>9iTDnSxpN*{V5_x#oF=`ThmHg{eiW#f>jsUrv|8m$8@AR%lnsRs~j@)|A!;*G<-! zHrzK(HY2z2w{o`Gwrjr1eC^-4v9q-6xr^M3-zVQM`6l$O{XqL*=FsKvg0Ynih3loErAuv$TQ2Ee|(C=ZiVxeGL;MC(`;5!q%BN8UgAqB{s z$UjhuP$g1t(8|yy&<`n5qjkM6xZ<#UiixUMkQZ*B|jgC4IvpLjj+4)KZft@Vco*aWr( z0e4t}#Y0p>P44=HJ-C+|emg=aVlgryN;{f41~V3jgT~|EXL}%(pqXfxWSnfAa^s;v zs(u;>V;);@uGW@5^<@^;A&lD;(stli- zzp$@%f9Y2fTpLywQ6Jq9*O>4s^>t2DadS;eSL?^Nxi{nORUNjSWSu=-X>a|yZF@|6 z4d3bXsrM_tSNWhn;4%1kXkr9&ly^*iT=k>kC$S0UNu0^!snyS)rr*pI&fc4|o4>xG zxv23)Ye{QaZRN@;>FV5C?7GnU+(zkU;FiiZ+IHDj<*$o7g}eTHX8T&-G!7gO+mE7t z)SoFJk(d3?58|EI;B$yYlpQn}x(J3nW)9XI4hOCu-dh54!T_RC5&_aMvS|uo%1Ej~ z8VcGQbV>A044)Yfm=2lOS>Cf2vU##gaiDRGa^`V4atm{x^StGKz-P!$%fBK}Dd;OC zDGU+r5{VVn5+f8Fzmh3#B0(+j8H|FPQshz}rPF0hWLacS33UHzy-!85dSpY%mh$-Df<$dC_~D`(*mQ@%!Yz7_b?5 z9E5p?CYUXRE)*qn_HJ!h!adJ$vxw`FH=-P(@5SWCK8vf3ue)FK;6=i-#ImHK216eH53`eU}^p&yGr4NQESBKXWbeQm~lHhu2({P4oe;=-4WWdzv! zch`nC@HhFkgtu9~;(k5aS>FA)_in%OTmC`Fp}}|7?}tZC$ALd2POwfD&eksbp9iu5 z&4ro4*%7FSU6eJ{b+iTaT}%utX7Imw7~|f>tH2*3KoT(%E0Q>pMv&!^*HCm(_E5d0 zeod24>rW>~_k;ckgF3?oV>A;hQ#-R6^D)aqRzB8uY?Is394nlWTx?uj+*UjQ zPcH9O-cNi!;L}Z&z%_wY!Fxh9LJh*Y!kZ!yqO_v*;8V-$l@M_f@p1`SiQ%hOSGOf^ zOQA|-OAASl%LK~O$TrAn$xX=H%Oe#E6t$Jml{%DzRD@L4RSVQ^s*|aYUrW`{)5O*6 z)w-uGq5Vy#O4mt`Rqu;_{&iCWa)VLBgc~Y1kVdt}&L&JI(>K#hHBArA9-1?o*W8l5 zHEH2*$zb^joJZ_!lx;=ruGp(OSU9>kSvX6(;JJKuEpl^l7j{4O=v^)oJPJ_cM|+^Rr%Nzs>oSyZ-3pF?K#(fncG^ zlbc0u#la;prSWB1{oDquk!usn>PToz^S(ZnXdYhg*ZH!?L4tDFt#=w0i_)4xeHu&FKuK-XMTL6mH4?x7{|EwS2dm#V{_!cWZ zKnA}2!V2&K;^3K!7GMmXgLr|v%LL#NPzkgE1K_)E-@u(C6@(w63^9lJL6RU9kRHe~ z6a~r#y$1Dy=7Re?B)G5h1>f5`hbzNV;0p*rL^NU+MI0p)<#i8;v;X(pK@ z*$nv|3QCGslx9@uR87>rG(t4{wAFN;^uqL~4Bd=rO!mxIS#Vh9SYNV5vs-e=a**_T@=7WkGZ zmIqc#)}L+G?QreY9a0@voUgh(blrAW^LXlo8Ir15XgPI_zqogb|}f+q9HTd4X>ywF;)sf?pBgjuEbShR| z&r*t3_EYgvjeyiZ_ioDEvR8|`{ZYM2qh7OKt5Lh_&ivh@x?=Z?^+N7f>#si$G=v$Y z8_$|vGIKVsvZS{%u}+1xKOD4avCX#&w|9DE@L0>i%rVI6s|(8$Th|6S&r?758IN1f z^S#)-pZfIpUG(<~7(mD&b6)ZWy?wM(=Br zuTe6nKWT)&t^Y9)1Lzd6`!9mTfn1Xsfb_El);!&^OR5u{lg)hzA+l9I&M4)FJSo-t$B=D5SDfA$WS!Z}fHIUX3VFW>X?w)}?Rdlz&s>R!4l zpetw~1QYfUiMjk)^qbg<1dF7?mB&)4SI4gL$k@x4$dMK9EA}cysF*>HL*Lw>+|p4C z23D|Iqd~Jtt52J(qjR_F-W9z<{VN7lhH6G*Caz|T=7pBV)~6pb*~08C9{qGsc8qdb zaxr-F-Axxha_e(zb|4*#!#=}4m&2SJ&yj6=a;_=v`+=$OZ`nsMCmJ#QZ; z5|e{dPN!zQmrw6SJ2cQns4pZD{(LS(V#7pXFh3S?DQO>CW616SiXI<48P zmA);vL$&J0?8&@}P<4p)QTlU-ccP{Ph?#2-Lh@bba@1^eTlT1ie`)Bu`?N{xS4{jX1 zI_M&^k{^(h$pe&=lp7QuN-1T9dXZ{Iji+`~sWfStJuR8mL!%u^A3i#KcliDH`u`({ z$v^8lf7luz$N3)r`+q$(2QPmA`|p4LKvo_#p?mjFWaS@-(SIT<|EI`GrN1C6e_qaN zvY=K%T`;c>L0@3&tpp2V1!&dQm+ad)vXq(YvcEpb{l!D>eR z+%+9OmwJ!7PZE&ydhzl(fwPlZ2l0^<-a}9r?hrJ_i-b#2WYJVoHVs^T2r_l0HlXoC z0GbP%J*ioX9(DGj#LnIk$HV{n=U5T~L$#?UZUNXFokI{NQZ>gv?4NH3Chngz^G})i zrx5&8ar{#g{QuA#5b}s#K#%rlfCvdk)(Zer<0*FJbBI9zp{vlg89O%loyLk<5D7|X z^+OaM98W=`LnmQ4-W28@cf$ zJ#6bJ!eLVgz|Xv&|4&eM|5pUwq7?1{fSzgurp1!h4(0~nqZ6CNBLcEUe8GUvw!P9lp_lt8V0Exh9d1Uh`=r1DrZ!``7 zCL;)m?1lqy%DGK)ChQ=5c6^ggnpwlA(57E}qPS6odM|P-_ulj%Tz%BjWF5fSaR8KvWP=aJX`U7n&vY~31KG%O! za{en*&w22Yd=W8;Drdv3;4|Q_!DX;^7dQaeXLj{;iD3-XV6y1p3cg>dm6J5<;zIVf zsIfQAi@YHi;jMW|Y0*sk;H7E&2^Tz)c2fHgbRB>omT!>&4OZiqrmZdfd)FLKYcX7A zxWiE3?M*#}Y`%e91Yojwcr0}sM!o%{U@snh0eL>+@8eSse8bM)K78E?DMJQE5kze1{};zqU!DjArikvJ!~S!U|2rbp z0Hd88Btrs(slXnZ%Y))AOC~glUU*!8E8y|1&CB&SPxZ5s9#!(KVhI@LiY}QhR_0>7^zXO~Ppx-a# z;o$!VPHktrB4J6Zbot{#rH<%nk2GE`FIGTv9cb5 z>NpQUpJH%`P3WxLZ-3($4e6I`vrO*DV=3Q7zAJ}h#2tc$^a-7~ zMnYI8^mx;$37_QoU5dGNv6H7!Poq6-@-TYuiwE*79W&P8wPZ% zu5GsxZKzql$xWzP5QP9J!IN4!9zwa|hSCkXd{+L2#mqhD;=I(nKz!k!|kTnc>kVef_*1ckeNU5J>NZG#TUcE3(!{ zmpQXnvP%yh&8r#&dbG^)j1?yuteFhsHgXwS!jj}3cUI|f){5`D>s;WL&bL9?r2d4Q zM|MH*3e=bDhoGH1CT1RoApUXaZZA5n1XaROpe+e71<34Jp4V29yk1=piBtxoP^E0R z(*&snWH>_F39uh>OfFzJFkDOq#CvU?t<@Ol>X=w+j+UgfJ z$Hswxz|v%GCJ@YHBRcr~^Mh>8bCXI^`0Q=)(eeOe<u9|nqaCEybUkWVHl}psJR_DdT~nVX&|X&z~_Az$1{HB zNZxJkl5a4Q=pH2odgKs<+XTk70QeiKDgGA7aXH$p4EI-g%+++pr|%d%sNZxFhYj=x zc|;o_F8AXrKi59^`0JT^qd@P8nPieCSC+2c2axpzRRM3qgrF;+&ET-vGfh>McyuJBM>w1Li$siK zP5l&9`i7R1UJ~!W)wB!3MBHBhg z^2MBL6})Easz*^7Fm|M4Nkr3GfNY7E!ZYN_#W z5T6(E_F)=Y!q+Zqy&;yBnnUr$vW3FvAeTrBEoGYY;m?^a5aaIzscZV4R^U{Tr#o|G zL9UzDc?e=}ups!)>4mAdEJS@OY0y;dov9dZKNqfbAu-PMGbOWXK@ntxoO(dh^~Y{f zeSlA7V~crd42y>#Ve~wT%-{??xIZ%gDwi4|Mkz=)xsRa(IzZU&Zo9rZpQK;mc4ZJ%d~Qe?bU7f_l_g( zE*hy(<$BqgHMHJYm2p6ivywa(N;tasW-k(s$EJ7-UKY@dvr2fX-?A|kPtUz#J$u4u zwWS4$EOJv6E6*coY-}m?ALro@r#K2Kr2fHr0#CM=o zE`-fFFeL}M045)FZbzbRl-Y{>`CzYdH5xhZh=~pddu@yrl90!@qm31gyw12%koH=* z;z2@VR!(7Zd{a~=0fp-%By=K=(atyl0_2ZmO)g%o`);i3E}3lqjp!{E+p6#Xo#oxIW-kIN~9^Y>&0yIajaHr$co;P zM%Sge;jYB&2I@W5PtyO9O2Jc;ppNJWG$#T=f#XG@rEtX!a`TUC0_D$rFr7TYGWhDs z{I;U#xYs@3lEGu-wOvlq9+?5zHHH{OZOk5mR(x~c*ocmNU07E9xNvTQ*ic6w?%N^G zmVu`-a$4FL6sgOmzm5MmX<%jGw>ClzDgjuf;B2w5(@n=o4)Zh1t?3#pSN7V>qq{sL z1`79IpKLvLWD8`Aup8%NHknP_*98K$`+)7ynL7kgUu`0H?igEghvr$xWZo$>%$ln6 zf6|BI`@@R5|0onPxtC+`+lnr7W?MKSK9IccrIYc0>6;Ro2{jYgC+Y6+^%|og(*+Q3sEWnqJziLZR`E0k3*m@Csyex2S zM+|)tIrk2_B~9@>FgpbO>RQ`fZHkJyTJdX1PIM?T+Te8*JOrFVx|oV}Z;%UZvt6xA z`|G~-0RDgfrwS|DD#WX$pGgKIgZA7Ul<3=8-Y zoBI*sJCgSnH98bPNF~Y(z%-=*riqH@`c0|1lf^>~jHMdFHcGZW_dTtcPktzNOZ3hi z??9a76`N-64ly*l1Ic;RGJiOcU#mI?es7~EceXGQf-eD*YZpZ*OM0~a9_%=6er?b9 zKe&kfOwosWeLV!7Kwbbw21frQ{fYsTi_r(+6F^Gh?;Or-8YA5yNE8jQ{sbU5>Hv~Z zfk&DYb~5b&5}@s&N6s(;RDv4B+9pi@A;?t~ybm~0Zh$MWyeSj_C0mom*iKS_{Bcl# zQ-UQa6-+Wk^V|!{|KJk;i#T)@9~-#~sw+I*Dn)F1&zixz&Wg{kId#uo{75LQM!c=* zO2BbEvIEJ1=x>rF+{?~4U4@o=$LPJ@QCt^{RLmP;jV<_pZX3j2@kH(B_Hb**dMrLqQ-+K0Q)7oigNVkx4nFtU;Gn~dMYptAS`h0YU zRSknbV{AisMv935Zex}*oaeVV+w3<7kj_?S1n8q+n=p?=(H3Cz#N=-#ON=+)a z9=M?i@J=WT!1{PMKn}?~5T%N&vRX_ZAlc1#P=?jqo7@iE-Z#0OwV ztHld6r@|=g+Zta8;7Is7bnZQmIxTAMZCzcZ-6xAxbLQFe?^YKjvbQnoGBWv<taItp1gozaI1+Icp~_2V4?EuQQ?K(DD~73NoN6d?6>O7XGliNMB9sURJK2x6P_B~bw^ z_yuzU7e%bd1^Z^G=|sRyy-2^Jhye>7E+tNC6)Ma0hNmyG^5{eiWR=L2@4EC_l=tM2 zUtT-lL_hn1=!aFB#3FcT-;w7i^b4CoCfhlK z_J-QByUp}}-fuSLcPS?s0TcU?q&J5=>!a3&VMnM0Xi-1y^dAk797Qm#WN?#S%7@bU zqgs?&RtVES(xtQqD$+E)!*nCL-OO0pzial?#Xpanc({Y1M>dNC0qlD)n=nCc`~}(; z8rsBEPk0@i?*lVTyE9PaYF|6#>BBR2FgSa8G+M!UWAIKbZ(R5tbkcw2Hn?thu^fz;XnJG3{N&db=kTHH{^gCC= zib?XRoP-};9?o0l)7nnrvXT<4gzLAywQI@k*8+q=B;hAWW{Mnv-Wrd=NfTfT-W^sl zbF?CS!aO2-0e)uEX>*=Mo_4kUc@I_U#*8b{)5A57nr($H9jz3y5cf!V1?Rx{(E9m7 z1XK(11(*(THb9dU;Yskvf?Hwqza~#KVtbb2iam=o^~!=~*Ys09#ydqkG^8tBtr{A6x#-^0{~Ntf$$uQrZkfzs{$6R65(!B{R_Ni}7h*$^<*_dV zq_MpMM8_rw|KM&qy)offHNU_pMbqQsl(ze4f!vTbg6Jmkb%vMA8-~|6iYmTINzewJ^0YtsdVR(Y=q@s73&wjG zlzwquRb?kn!h-!$M!E`a8E2$UA-b2>r2ckS-@!3}cLL_7hz_935n>b{Qtn4b>obI; zkCP1tMq|O=MHWte-=#%DhgO%42qm;G=QO!TCqv`b?pS;Mk$wv}hIGt+mQ z&nVhV_O(Yag6Q%u82iQ~a$h3_-tpY^nl6%*HM^1(&38A zv|lE)EQLz)1A;)OpGhn9#2W4T7|u=Vc|Ti6nKsKOCL}&hL5Q5z(;ogfxqE+@0Fk1W0NM{e zNjIO7GS`1HKy>{1%$;GQ$o&k;q~K#&ZH^ZPi+$@~aFImhE9m(Wl_U7_`Mn^|*kGD) z&8UiK&eRV}Z8%YYS4E36GO6CcFs|dq=ioOoD>|^xqnWo%9c`?j&m_B?H@%yxp>OaL z8ITMo6UESrWWP7jLK_{^rLIMiP4yWc(3P?mf)7EA4((xlJHW#I>?SD_JrX)FClN{k z#-wztRLDX5M#w^(m!xfli*bqy8Lb-db(}GqskxOOsdNw;yQaaK$jI?|C`46EFr(yA zNg)0EB_9exoIa|}mN$d{-qQ-(O6R_{WFxy_fB`b!<`9%6gGF}(@nnKH7Bi(|M)1aQ z&!gymH8GRSidMWKJm`#7uMzW6&Lqa#HjGQe)41kSF#JK~6lu<^>8Vf_LSQ)jai4dmjgT-cHt6=hN4~ zoCq*Bmu1vCt2l=opYhG*uyq_LxRu2JoI2@URZ?7NX6+E$yil4F!>2~9d412nL()HT zuxxQy!^`?IH7Csi-x(q6q8E%1)k(K*@i(2IwQX zO~7Q%zzu5%k~>`Y<=>ALe=cpiABuVUiZ4St_25k8bJ6>GVfi63&}Uw7lR){g`PlD3 zny`l{b+irYdQ(?zCZ_Xi~}6p8_XCd=2NNJS45*3$Wf{5U#be z=3Fn02i-F3U5rvFQQ68*n4We&YhaG+4b)awDGT8fGBJ-)eKJNFZXD*E4RNUrnWhMjcoLi54$J_g3xe%%(D*}D9k|y9ivRkZX zh!43vk^G5TzasAu4}ER)Do;*vcvN}gw=57E?9#B8M=~FrI3^*rW=(8m3Z?)LJwe#yoxasM3O|_L+9$Gtx}w|&+s{Ci!+j1O>*w7g}Gyxfe^3lYs7M1eomq z`LrRNRq`Rsx1BU{RYf}!or&Z=%P^VF#Y%V2FF%rU!_)GWJJ@EOBxMJkO5@140v?V+ zBm#H|{jC@_$|b`2q*AQEeJF!lQ%9+&+37CZ>bo~uGG2^dCyP_G#}V`ae1kN8pMrUX zaH-uG$kv8;(zi)jb%(cgbB#mtH&h5#qa0!!kk5ET|Mat^nOS1h-a7mD(yiX?bQR6b zQH6VyFV*4!Qx^Was!$qF68Jy>B0(uc?q6#<6$#_jBtM4Y&LFtfp!hJEB=VItSmoRV z6}3UlcEBueKBp9{GKxOhxop#zSC&U;Z(k+)?{b}fY)Tnl#aOhVr$=H;C$C!Xz+F~8 zkNzbB4uAc~^GnxG6F771QXetH=GXQuA$&fk_Yk_P`BIk?-%Bg%%lm zI_R0n&z5+>6Wy&{gIo1m^xMd97tR%QNKT3hdAohv_nwc=kjFdV92PLI4^S;s+l7`4 zQJ3xG4U*1oCOCCQw+By8*}(wUCHq2J4*o`(c zN}F&U*{ZR-*15>xJlKpik6spgO^Dk2xIyci)qIWk0Z_>+;OOxS>Ud-@jbp9OE&Jo@ zAf_IZrXJl<`t8-xua#HX@rQ4I1TSP1C}To9eDixk|_ltMIYT}3x@FDyI*0O__J`Ms5lI;?tj^n z?cl1{1=vH-q>LJ#A27%vbz>>ekj*PsM3jQfKRim3)31Ki8h?{-nR7>-^ZMhnp=TPT zIr7PaQzk3Z)CR{zqyqll(nkLP;|nFsU?w$* zFY!|AwPYy8j+#xo*zTL}!!;Khy35AloHTi-RcM_!`9w-K&OB$>qE)E%)dWw&VE(fs zp7e72Ec1G#3*%qk9fBTizJ``Aw_C&>p%@Z6+ZtgVetRJSKC__V!p@-0hR1Jw`#-E8 zoztKHzzJ7{WJY$cPI##?BcBmfjU)Q-R@k;rPlRfSvrtf5J=-`VX@NXy4!6 zuYV`LW`?s6bhgrEikvFc5NMMD+6(&rt-WCQe;VhXmaswhs9~;i$)^UxonjTzoqPBTho4C zn>d(!fHyT;R_av};g`8;J^|L2Zsl&1)ACG>pYFSf@+r^G2dngQTbFzih+U2Pet_cN z!ATb%f_#ZK$L!VX(^Ix0_Whpe2A+krRu-tGcd0{{AOcDY4Z>%tM@Ou*i}sChKPL_{ z)+!@6Sm`}~A^Vrt?w0hxai}R?T4d9EC~g)?lhGvh111_A%wxBWRLkVgwo3p)gT@TFq#Y$K`STT^5Q zVh0c_l>)YEP6bJEj{WliI)L)y3jz>meuj>Up|*)oAE50Na4!c`XqzPZRofu7ho3}B zch))(DCA2yj`^4vd(LPJea$(uc{FF=&H(D02Jz?JqVF}(;c_^bKQn<(XnqGqJguq)>@HvdJ%x@od6s#VM)<$ za@B0(;V&C=?&Z1N9eO!u@)k&OI*_XCKi;M+-t(g(&hC-q@NIj{Vt#;wn-X1YM}y}p zp8!}{+9-73AY$pu_iM35`my!0saD>l3!YnSxEY)5S=x8Z>0%Wf!kRucog$U@qhC0) zaHaZ`xoWq{HH{=)ca>+pmzGR!vz$9~wk5bv9H+Og>p^=_4cl8plTyErHL$Aae4KWi z6~H@C1bI|vF-k)R!?;tBA#R{c@0$D=C^|Ukn)pQ9vpbSjNSMq5P@HtqsBnI!s)C;H zUz)@K3vdGJ00t0k41mIt4*(KUi~*jNczDQjD+`U`=c01A2(W%QB=af%(il=qGjvsZ zdFxID&($F}f!Kxs8Hc%aI-)c+vjI%L9-uP@5g}#FZY&$S;1ur4E4?zQYj63sG&_Bh z!+H8!w~bzMLiG5W3W8@OOKTyvbvwuXvXRlt7XT3a>U)qPU8PptiBhm=mSyH<)md7U zYTNNkn{HlPap_l@W5Tqg?BD5hiJw+5-!n1;A z+qLp9%)jm?_RR3Ts5(l=czm3O1??Yo66D zt{3R>KQn1_h2MyAQ|wh+;p)-Sr`jO8xcg2>Hr$TtB}{9b$jf1k0ZFbW^72);cW~2eOvnoTmp-<$lVzMYky$Jz-nnEA&+|n4tln zDQ9nku^@OzC9T$?g!JCLj_VRv9xLS%-$+_>hsQCqU&$G+A4 zn)__9{n(x>&L^DRyp3vuh!16rsWj5v;ZZG=p1t%3AdEyl#fo8xt>dEp+KjBhD&5SAMr}Gen;WME`-;hkx`V<10}QbN@q-&W1T( zZI#`F)AvphbY#8LvMrntoO2-jvjcliKa1Nuq{a?>Pw z-4Tgho!Tqw4wW%Q#9*;&(Hqv+ZWOr>$Cf3ggsR`lYJcFyI*xM-D+G+eR@f^2b}~>@ zNFn*op+mrUlYWvEx)l?a!B>G#4i1p{{;WmTKl({Zpu7syBP~bP zBby<+&;c5Upkiap!2=eAI?#fp09^!6!SR4Uy=X0oCnMc~ zan-$|RLrtI?4r@|(${m>iwmD~Vo{Yq&(-fd=elY(@>iEQ@ktcJy(TDwMg^SPFvz9u znRZDkG=xN!Z+ocdFW>oaxyv|-r(s^mr9(eYIHx4=!6+D5%vK-DokLJ2Jy08@lLDGa z^$$TT3j}f6EAUA`zcQmKaWJ+)*cgn!yahg>i(Q~OkN_piu7~BKvWWp{F*GG&?+CR4 zBJ{$7b_#qFryq}Kzd}Dwz4Rf9ct8r4zR4EUz%Bab(XGkrg8U0yfGc#KZ1uw@%#g&5 z)m3h(xd&8vdaV@`QXlLiKt#36=M!nu}Um%&b!$n8v z=Xc;!HBmkUnXle@N<`OJ%H!@ydynRAUN>_jBEoh+hoI`tHpS)YiiBne%j>00??hg+ zZ`>`>RReC6VMbX=s$!=oQe>MWwJI^vBVxMd8#tIE^)nNy{(E>sSN^bxKJ4 zXH+wSIZ^Umr>KSIMQ*$qtXr)z)#a5m% z^OC>u(-jg1e(jRw(*zDd@<-1K!a3UIGfQqi$tsUL;Vl*VwC93gNY@sr|Aq(b7=^hp zO7{yM9`1^eSWU1dWw$*rv$X1!{FJ79?VWw<)?#v>UU_bLm&?+%+ojVw)k_klgay2r z5aSO&gKj(LI0M)2vAx>oqj~5+r3wCJrpNEyQ*AuNc1RroKl~!!8+@Eh`03%M7pIsD zU-UN7UrGww<-k-gx1F3>K%Vfqa@~$M#eB3`fAwa~H~yuZC?b&*rNnRnuMqq(ddI%} zP3+gGXp?O?p_6uo1&)Qcd*V0VHSsxOGftpK7DCmK*F(EGf}|w+<}KwaLd^`-e`t6^ zAmh~dE1pcKmo)w`qv1!xa?0ZMKZ@JFw9=w;ro*Fr`PZ^I_{D?y5b3Z^<2l4UK}O12lSG;kzI8@v9wMg z+|JP-ub=?E=y4wNFsdI0`RjmY)?fBsRb{J~^;D&hfwrcFMO=O00ctHTG{EGYZ4DFs zd#w0%+q}>`Q9~!It}%VMi&c@7Ycz&r<(G^+<^yQ?BY@BLdJs6)s>A@$K_acKw3**m z#-j$UI}hrE(D-CP-vl+>?nD0)r2_907%xVsYTFa@edqO_gBky)eC@iGJE>Ne6mrrAajQ9IZFmnqkyUMQZ*$TN^vZB{jO; zx;OEOR7*2w-A&c+<1t*RtsvonQ$aBCK8gszD{VfMK&!>}9`gaWmYS}56$EBFGUfH5 z>?$kk^UTlTZs#UZ3iY>I1ike7%o8 zepu5IPh>^+q-*cGNnA%%f%Y@|3XEWxU|iLYn<<=cA&UJ|{34=E*YUEamQheB`OqmaoFuqVt7J5|{U+Eh=7Xz%HBCF1I~sxfNUS`s@a=5|h!W zBb4a#NbRzO4owVC4Mo*fQ z`|~F(oXz2{C~}`xsy_*aVo&mD<){rNj@cIGl^%9!KFTS6eyhzk=%l=avRQhX$F+wJo}oZGfB2v{Mlx{YGtCNG)F)O$ zndNZqT|(^eB^K#f8z=1z;Y#{T$(NCiii!4K_`Q&$w`mrou}3V(d3)0erArm`9Wysy zJi?oVndx1KasYy#N(#~^70QJnv73(t$mBN9qnQJ%cw^Va)5LYs?`+?V?7ttsMB*0o zm$Q4g=U#YiIxvS%XNke+)FJ3DjJX7SpX5HrJ3gEfB;tf;H++iT79#96m<`Wp^(j3@UxPa9O?6_C&B#f5Y*-8CB#Etsodj<- zS#fgQtGd>8UG10wyFgS3^VIw8m#~it=q(V*1xR`@=`HP2NHh#ka`1(L0iQ)0OpBiy zPo5|0hqf=I^WD9kl_{UlwCb*dcjb>AdJwfOk#Om?f>`md(L_J#XOSk(hR$6@8Lzb! zmSP_Q#1<%uI}if~&cP{MKx0{#VHl0^CE**g7wDg+G5yw_pDD8+72K}55Rtp=0E+a3 zBMrKQWYJkU-T}n3ag}-$K%>S%HF5!W_9Nx-%cSd+({twpZPH6@E}=>keA|I|_4qwf z4*rO^(LEI4MrfBod!sDI)Tnx{yH)NpSthf;%t$Z z$KR}dJ*r=`)Wn+3{Moed9+(UfpP21WwcbsysI%HF_woY|a+U&T=B0`CqQ}H~vAM@D zi#`|fmjL%nxdxi}FzpWD8?@HAz%j-yVuf&@c3%?a&bavX(7<%?h+r_~px4?LGrU2-u zy9*RTn+*{1=IzT?K5So;2HhB%bd`*(zTePK@H(Nb$e;64FM-AwL1+?kNS;3gz05SF z5dxKr=m-j?B`qaj63lp1#R@;wB13Zasc?Mqs1C#Wsb75BsR#VFP{=XMXKwpgj37$+ z8&|Zb$h*kpw${1v*Olqsx9Z0}j7zDc-Hvp01BHsCg$0$1kDdk2)O~}~d&kVlt(v$+ zDSp4&zPLK5i<$kE5U4Ul@lxUAIz{jdkU!g?m}EKXaB^!hVaQYHWW~s&+rax&8m<}| zI8I|sCZtC@H=V>YHMCyNYPn_V_mbG8SyKSR@36gw?&t-u0P?qj-WNls^oKcN>)9gE zOeMt<*rvgyIGgyP?pa|Mod|whR?JTij#sxK13Inmek_Q;$f120_h$Z?a?kFLC;#!A z?UUp1tiXQuc5B6jD?Dujt)1Z_W`oMnXs1|yD`4Gg1{Dt!21!Q{| zxn<-9W`oY7DSunHdf!q zyUed6?^_F226eWX?(Fz&l9WhU2=hH_lK8JDW zHru2gK|)x|^H+KvNli@M*GO`CWf&->>E$81p=W_)nyco5 zY}2(txfypAE0_7&0B02^*7($igGIP|C8|HAzfQ(G6FOa(3k8CFFK9pBg>fUB&ovxb z0LSu+kTw-M(sa(7w9Q_vA^4ktL(oiDGOoKxrS7y-b3Nx$c73hPs-n6!1siNt#?wFc zyv@DR-j^;;F{bDhu~9f$i85dw_Bnl0+NW3!bWDG%bm1YWMY#z0B@ytD3;F|$Pe3{# zTU4o~4d)Q;#6yrWj&6MlF-ZP=5Ihg-C<#IF76v%w2Z$1K^J1RR&iiB=YK~P zc9cUaMjuVeCs)QZ?xlRTG{=P0RoB+E4Ss7k<}JBw zZ6566PRGTdysB>g^bWycTvlJ*+2j9oxa=R-|6tkpt0wpx0Qs*SSBbg{YX>q}v8@k= zcLCtEHN!EPnbYswM0m;C;80W4Cf9Huj^ZL@O=k_6W zGIjz_*QNwg`|w4nnous%CgR?BuH)wl*Dlbszsv78z z3h-QD@tP^I8ItX?ca)e58oPeUsd!UZoAJ@8(IwZmGcpV2K)v@k*^6?4nvQhFiC}Xx zUL1nBA&kzGlBib!9-MD`vRu4UXWC8|7CAmTQ&^Q@C)84yShbFQzA-E;*a$=qgxOZG7#LmSNoq{YJwDIqXpIeIp^^=?n~UYtT;; zDzkQ8D}T84v$M2iYUR%~SE4sLR53qmNmxH_tMVA<%> z{p^?@xzffYGc3b<&anH%CVRQhHa*1multg#_MD z@6vipU(=RG=eZJ+o^9#!-TfBq2D0_Af~{v`dw~u_26y~k+v!#PLy)}_ig_cmChh5D ztOHzyT~r{tFzzb!&Qg&<;bjxQnVXe?d&vvc`)S>YJny0vF5TOXOn@=D7B#^D&YfhU z2`L6E6$MZRn0$ptW=L&8=fy}-^QtmtBZ%%$MZ};toUhE+(X9L9lJZTvm($}wKKahR z2=T-jHlVnAXWPyv2g)XUM!(sZyX@6m@HfclZe^gnn5bc@Re$2AahYl_4o2}8qzD4L zI>|FDT}K~T0h>l$>Fd3o+bv0aD=K0b zelp{P_fWhWWMV{P@TT#Q`Y%>{HJbV9m^)W}{m$#UoV$ zD}P#Grq9V{NDp{kuTyhfc!Z1yQpXZbnWZna1}b*7$R*EzFfR47xB)2|Fed{^WMOH; zZz(#$C?I~G*8S(T25QD_p!5%e^$gu7f2W5MR|h*_2H7VD)EtTrOwhe2gWBg90`bLr z03%WP({WKDzNqPnN9HY~A1I7*3Y;gIX(v+D&LN4~UTwsBgHADi|9&av>6!$Z&YaXA zhIQZ>euwNONsm7KAeXu$YHf`Rh2RJkson=+hOjmz${&U{gEGij$FMI`(JtpfJA9rd zy3UhXO==+A_GQ=4&q^rdvsCcEr0H*`!EHk6S|90sD`~6Iga5Xu8G{v@FuD?y@QAW@ z_bk~z{WZy8^y&9D+KCM4DPQFAv1vgqG^`9qA>ZDY1O+(@YEa4%5a2d0Me4die4@05U=R)0$5 z9|o&J+*URp4V=t3&ZrJJ$S@EP`vAoRE`RP&7OW_>Jb{+H+l<(sbpqkVRS@K$>hAwx z-~@>i^e3`1T|*J%O}C{F&XJ0LnVCoV^Rh?aS$qvi6Y`;TP`6zCZVqB_S zIQC|(o!#;qmZ`7;=v0zRFef_1@VGjH?GMAT)oykB8{I4ODs#oYKIG+Q&<><>9z(%5 z`zw>>lEi{mQ1q0~rk?SrMb;g4adGhB8C_GEPZ}Ckt~Q#K zy}115y-tzuH^5t_G=V`(K6$l{*oi7!dL@ub(mN(vhU=fD zyggmPSE_7%b5gM8+RvxdISuJ@5LTXjtyN}N*0%@Z zjN`Y|J{I8F{l`=IL2FW&)7E-~n(zbP%emMD$>zx1W6zRA?k2R`u|9lazwzmPrdC0H zuD>ez=ypDa;sC(4QZ4@;c6M9l&Ok@WW$L(Iaz7~Y@AYT?)(%$L*azBn?8$MTHmzDO zMB|%eOI02*a03d6yMt5Y?}g$}%Ejr$o!*h(zS@>7imsezRa89$;IXlR<_u3aZH^OR zV>#-i)Q~zof**|N71o+Z5V5blT0hnn7c}V_(rA!KtF6+%7EvMl-eqa>(7_iKO|n>% z3o^gSMvZ*7U!~Snt0czgYSiv1aLgNI8yn zG8Nm7;s<`z!f>Xc`u)Juv-J5R~}Hm~gZ>X?Ljqrz0< zpXKtXq|Nhzy6`!%Zk5lO&+1-y@jh`hd|0UYswCNIu~rX8sF>8mzg&N__l%uKila$G z^SDlgiS2r=hK`KRT8`TOL|4i+K&^DZe!y0VqFky5mnW1*7u*H7;E+Po?m?>w!WK3x-JGwp}k;n|+YS6=6n z%9QhA8JVd`VzFj=o)P0<=^G=H&7JABmlz_FVjzzqqE~qcJ#Q_vhx{-2-l`)V#NLu4 zmzFo>hw!+uEwQ?!stf1teiwNOW5zj22g3x)bp2r8>B>WWq_G~=x#V2S$)@XCML2VOUGaeczd7sVNfV5k>5VFJxAQds3gqj85J) zKF2E_(B+-ef*z|Rz#0n8met7!^mb>xz0Q#P1pEEUen||5uW#D)x!HKflZb5mR!HKT zQbluShs-+d*3tGw&@7AE5VFH%c z_g^S6w!=AF8-9tXA4{`hIx8UbYOoNx^N2JT?Uj#Tw8-n1F5e66q7Chz?rnFwdOuw| z@#WK(Ul_V#1HxLM70gYHB+t_6MXcn+7}B_D*mwkHeJ`PRk8A9^)YFF?#D}LOSVbl~ zcpR9)z6PPnQ{Q5*{6^lMZ<>@FdLb{(XVK;X&vCpuX*u31itaitHFHfQ;D+$ebM9U8 zL^CC7Er#R)a_z?xdT}BS69^pH-|Jx4RqP9 zsP0qF0vYxTaZpZ|JO$=4X9HzFv{C*6f5}6+ule;(C`T%c4toWgd5I_W0ATOem=`d~ z;i=>dI`95Tx@2A3LBJZSwO)+QiQoW#_NUT8tPGq^pn(44!~tU-3Z;C-P(rKzFwCL$ zfX8zVoKDVO;E!GaRzHd;Au<eO`eOZ)bcod@PDbJ@ro;Z+p)UU*nnpZ4yyv){ zi>!glsC=H6>%)&R<1zZ$H26Gw6kVR2l1O%I-Qh!pZ|m}l!#@rwKCX?IGo00I{QB*_ zTHKD6>L=UFN~R>!8)BDq)-^L+oZx3FD}n5CR6#DbN!T1wPFv0GD?IriN0HjWec|)8 zV!g1(vx#-TUQlhTBx?ckGfPm?ClFdq4*-c}j2McNCI1q5MR5g|6K&oLBYmTvL;czY zsM3@>z*(&!|NAfeQ2Qf5P5*iVHV^F84@e~LsEP_uY3jhUD97!&Yzp8>nhI5k&Qfa9 zqdh8al8v<#o0V^IOoQ*aE}tKG$)785#K;QOAUIcxl3AY?Ebsq3B7=Og8ai2PS%7P< zVq0PYjoGJgPO4&r=VV!AKhYp;>vtU=iOuK^+Au~LxpwnvclVc^kx#R}qrM(5nGJ)UxYy zC~i7rOvDQhK_fU7?m6&eK=OijS&7E@6K&6&#N&)I^TjPM*MWC;oFqd@&?1eacvK8L z4yv=qm*R(iwdB?3YdDB#pPM{Yv5ptMe8L1x>^a&Q;g)bZ<@$BhL@g@78hxE* zjn7f>sL8Wg?xv5H!F_zym(USYfp7X`ZVwv1eW`066fl3+om7NZTF=W z$Lu&rnHxQxseANTCuCRe+(h-0yHC_C7ChKTM>`Ej!=Wk<)WnyE_ca4KdFnPqu$v4i zra@Qp#S-f3A{g5Aa}I~Pc)EGRc=@+?A8%3*K@L}4x%&2@yas>1|4u!|Pm;R2Hc>ZL zJRgl};D1t4Rasp@DYZM=lC&Chhg8^CW}CwO?n~|r>Ds^$c!F>4!XJP_jQp5w@`zo ziAkd<+a7AnU?FBpDV*fWw<-^zt))Kff#q;j?J0wklj2&E&$PpsWKXd$w!U;piCg)X zGv$tDC9g-#lhNf}4iMu#+!wkmAEmwiw`VkmV_!lI=#GEsVpyX9 zZza+nFg_lK&dZ>7{9$KsyX>%-K}tHx9+dGJ4>JD`yA~j%`;dQ9Jp9vt7(9mmrg*ME z|D{8=Yln`aIxL_%aa5r85m4_->2=A(P|AY5^gH{h5~RK!gwFYc8Oj4SW2Qa^oR;l2TpF+qd0(X*hzt zIleD@2s@r+kn942xYxgip4TNx--FuoE!I5^QG7po_(Z@8?l8JdmK6M*dFP|S@iy{0 zRh2nRGr)pe#$I{Y>$A$zA%uVT-4mg$B-i7L?KWy9H1? zbP$#wNA`;Fkn1nY*Ozgr(QFvwllD~nZfGr+r{i?@#Of!-Fj5w?QD*g%a;KH(-sL20 zG@(m|YB5x<2>KWFB0A+Z1w+2(#Kx}nC~jf8P$4iLUl{eC%{bEdyBqj6HSsQ6xnApV z3_kjG$LF0>%#hFCUg2ue?4!ok3PN&ZRoq)F*P`)SS+B}e%!G`PNNSqe$l_SN&zaQe z^&kuDxT4QFlvKU4;^JEZhME_?evSHmGH(BjWfR_1C+mTm$!ZM@RH`6jql6Q69{8%- z=m=V`UIu!E28-?kz+MgHZCSV<*Ue%}eioNsCm-xSQ`Hrk8P-UBae{y%Jfo>~qX^f& zP1BPKA*50)1oevmj3G+nm28G-ZQ0nCeUCcFZSgog(b0vq+#(+O8Ly`GeE|vR`a;Hk z`Z;U+6|RF$9J-F)#MDD%0bN;fb|UpArIxVXf?=lV4*4JT^`O|qS}fW~{JLJ&+Od#t zVDG{eE!a|55HgvFYX*H>DKmIUeXV4r5J3o!OzU>EE>)uu0n+sxmrbY(c((sY|mBGn;>Y=^Vm1ClAkkkc0CP+UIQtLeivpu zv6rNbj?K8o+-jYD2I~|asz25$m)D+?uGhXVKH{Gfwxr8p@!?r{vJS_lbBEFDOsFq& zo;FpT=0^&CS7-TH72UM(IM%ql_yuOvNM*$vT32+7#-s|zqn_eVERLelz!-wS6t;M) zOuYWiLv5$BzzywBr`sNJZE+XKX&2xSP9h_Vg@`N*EIjP9-bhzC801YpheL} zmYG8ZR-()kg24rc|LPXb!;S)&dU{M^dL_%V7sh-SwEGjyGKN z4;#Iz*8Rhv6-|cSJ7E|c^l37*xeb*Cm46f8{k^Ba)GL5ae(VM}M{jr=`+ zf4a;&FONruT1i!W_*|q>so{s?478t^T^5($c!;5kKO0xjLlmqBz%N z%vD@k{GTn@oTj|_!@w>dX@84i?^ZxDzcU0SKuQKGnmHF|KA*QYs!X=zx@UOLa@w_; zEn*rtccErDPC492Wg`~okazs|NNu$9UKZDbC411fS-j%jjAo6CJ9u2k4IGm>{*f&w z;ys*5fvYzA2$)*LEp_f%*eqL)Jlw!04AOdj({!h-s)?@S*LgryYn_SnV6wK9!{s6m zvhGOE(TaA-D1`YzE`aZRbdkQ^WOh?h`RAzG+=teVY=kPlZKo`dJV(rN z_L}I%>rk$;LS0xDmaK-!ukTLG>&lQjmw)U0RjXT<-WQyDUl%6nSrAL=0SkC6zru_>bTc-16Gi4MIa`^L zkHB(iZfR=xJEJKgV7vr{A!90z&I3X;ZcTu{?IAR2N`U3-4+9`S(E0oQ1eyb2x0AS^ z%L6OeUApE0??xZpepi~VMM2Szmv!JtAeyEqKFDW+AShQAw}toz8fcOJHS{4E;PvFd zEyq>TKQzI@0Wzusd52=BGlBpa2A!(Moxq-1a7DU(PXS1Mpzsd=W#=M<1+%H=EoD!Q6B{4)E=lO(avR7^PWQb0N<=6wGtaALA zzhLE^ztcT>B@Ae1Cs1V5y`25DD1c68?7Pv0g>L;}fa2+gr0I8Pxd&Nw($hV>Gy$?# zAYIT(+kq(P%v>&WOI-6xlZ=Y1lg8NmCx!j^cy9jQz8SCP?R@S@zPjFUEbP zc-<*B&YTeK`st$Kovk^e&0pIj(qhM{DYj;Dp~Si2`8PgXHtfHy#so(S^*sj=j|Vu) zwHgrDjcK^hMwHhUSuVcUnYSI_xP8MS`4ag3%I z?j|FZkyZHV{Xz)Jt^_HN1)9v1ECU_4U zGJqI(?|E#hjG^1So?^^1(`)5D@wPX9yS$}#{j+~GRJ$aM#%qlto1hwnNvH^42}AUL z=-<}~%+uB0-aPvG*%O+eKNEd^Zq5`BE0)3ulMHr@DMyL8;8FIL9@fR0xq4EOcu&db zm7kZ_V@R!Fv@3-Tqfa|i& zIc!y5;nS<*7HzUOD|b^K`P3##KYf^_@FP0ZlabYY%jutW(sKw;KA{G5mH}(p7mDW8 z-ZH5iMY026VT&o2s|}wV?M~Ir`I$2<#y&bZ0`MZPtrgTYs1WKIIug&Rb{Vu40}r$)ZWLAA3lkCf_~@E9*w4$=Kp7L zWCaT>w1Vu10D&|aK5pArl8xP_KQ(BTc%x6B*rsxUTr=^6`0Dy!X+iym=mKF0p$YvJ zmehX}7SOTEirN74Lq6h&*JdD_2jC7tGE0~T5TZrv8Q@#QK>3?l{jed3qs74X9=HNu zq<5}LYfVKt8~Ge***JN|fNinR7ctY)TpAzSxv~F4p9!zC^uiaO(~|C>bUlyoz$37? z`OReu?+c32ouA%)pBnx(NT8XNEIj_;w|#N6X3TiAPCDeFiDEp~?h592M^cz?$%N}x z`M&41g+e^#p2{_#tmy1CFx|ibO1MhuIpCr|Nirxh1|W1M*Vb3S@)P%&X&SV*^f!=y zgdK`<#=YGSZcSxy5aJA@cU9mhid6`e{gRsFV z`{&1A%+G>zO_2K8)VzdT%z z|Db4cNi$|{?&7l(0ZlPH&*c|VD-2d1PNSlLa<79wQ7mi~n5#DTLJL|AD1E3T?(1L?^5R}4vdQ%Dq1(i}Qeo^iUcz z9WVCPS2)Vmbq3$%sf*k8R3`_Yf93c1uk5bj5lcVl)+#XSF?yex0?Dkj09i@U&o7`E z$C|!1DvPsCpsJ0JG`M-Nz3xx8M3h--=V~0T-?TnnsawZwas`#q6U^ro;*JiUJl0od zDQ8T{(C>44JivG89D4OQXE4iLr^-jOADtaD)1r~DP&83GF9_}qLujlifA{e!*vAGS zMc~OsS`Y+Yg`-QYm5NfKOOxrT;d@77oNJeN#0K}>4<3eUIHUgU-hP35189>b?V=Fx zJcRuVWM>ab8TiBS*UHWO9SwCAbfV+lqk4ddy*8i)``%QnB6)B17NT|>_mp=)Nl^@M&xCSPlOb~eI2Z^$rG zr}%@_hjMK__i#ATGL_X3_6*f{jg$a*%+b`4aZpoW!p`a|diD=P_@g@1z}90|R)uQcyb+0x`}Nr%2*Ol{#2aEBZcO%WMtG=?N58D)*e>0POFv?vupy_(A8l(SFqNa1V zlZ-zcd@9F3SOqzO#YE8X0jth+0D~8C=+MRD^x)^o!hRPGH10{{hjogRu({55C zeZEY>YqI9jFGeaNq95af;ph`iWOrUx~YkHn9&c&oZtRgJO2c)7C$)7#`mi$MLfn&VGT?Qm1 z4+gB?ze_o4s`am@ke}oqNvgbuD;`)?JDYC3SSmukHXxbkErFt9M-T&|pV0}SqbRX6@p@UVe{QNw;9R$Y{1 zg7q^t9`Lv!e5yUSM`R`Zhq3UPb3UxYl47(E1_8Jog*(laz?O(7#jkc%|t!LQJpj^*4501P*)ObCC$=D~oFIQsykYIM~bKb5Wy6Sm)*zegBm(pMV{eu1(`oGDK_?l7?i`SLf0{uA_Ei##$ zpr&LK4xQwX@ranb2BQ=E9;-0N;Vwuysws{P6sF(ZH9<$~6Trz-dsgctqQmbt);#Yp z!%?ep3b`e}HY0Cx%{@m9#P4!F=xHmtWjn4nt zpKDWlUbg2e-iIH}f(1WV&Z6$Dy@JqWQ4Kx&r@NucbHIU#>epPEAR)I%dGquXXDDU$ zC6vRT1v&p6#RFn_NmxWpRC+3hTXGYxf$;p;uF4R8c{k9R=68^);zlwcV6&zd=+~E& zs1BP=>?1$#O6(O@D%TCSLMO6|zv{=BZl{dxRz6BGHR5R2n<~p7*A~j*{M`Lc2GezdKT~WiSG19c>G6NAsc@X#-!Jbal{1*Z(lsi(E$D zNmlTlR$Tn#&pih#9sZ6J^mQc#Wf2pxa!YCuILn>{Et(_wC7Mz?mksIwK{FVkQz`X9 zpQISh7`1YRJ`~6NW;cgNw7^4WczG_W^Y3DI)d@!I2fpJd@+g#$j6Dhbx&mPRbCS_? zWg9;N{tZ@T81)>=Lj&kZU|XIACa^$lRG$4(taK-rZRh6Q-cZ@kZCTK1SOZLecAm`B zcyQbwJfJ?B#(;n0)8{{JG`sjfFg!-5yR_+-7r5kg%VCSx<^5|d=H)i_qtjH>8+@V@ z#J!?o>I-phSWp<`Oi>-CbNt7CpecVv2Dc>+p&hRRE_N9{92DlWN78wGZ;;K=Jk!}( z`KfFT^DMT9&_DNHw-S_XF;=GdKzvDMBpA^IC8b8Ow|&;tL2+5IqzeC#IkutIx~}Th zUnI_))HLFQD)6bCUB(_nt#5mAZKr-h!7!(YD#c=!;{fyc;GeXM%j=blYmFh zj{nxhpE4lYI!0!_SKqejP-yc?j+vr*4p%(OcjmCz`kq0g!8@zGfj}>Z{^rYW zmJcsI%v#Xgf!kiH{vGZfUiwpbu1$;~;Jp&7J!Vm+0Lf5sk}!}Gd}HMm>b=9y;Px=1 znKwUQ3;k|5&^3`Kt(ij~-8byL;DG;`h=1uc@x5(xo~)9RlSBjAp*MA`3(zAV$Z8wP z?>`t*IzShxx1_Sy9hn{|Mz`58_tG4MK3a`Q722~+g|t_C-;z;l95eSEw?CpPzFfr~ zdOmjUw{OQwH{jNz#|D0KX?|7SsD_UM9EXl`Rej<4k zGvsmLYZwCGkv5n^l`TceUz#uLx6bPU@gMZPpQcV8ETh{qO7r#}X))(Ksy zpMOUa|LVZAFO)+NRK8D|{K6qskitk+Nz<~M3}aBVW6p7;fB!!%;>3Ml7LsTG0P4vI zaLDeM%h6*-Uc?$mzS?U;RBeN>v@|CqPe)2Xle?qeEKqN_kuDWMR~P+NrtLmveS&(k z!jDD&xm`u+#_OPq0dJcPnLAP}89D0*d_ z4&i5X0qw6=pAPIRF(YYIW&fV0obNd1BY>yCQks6vS|QM%n|75Xm3F-lusiOvzxA;E z7{O_^XyI3%iQzh>BiqDx?Y0SL=5zo|p%t&Ca@{HJiR;2+Q63|eN>@Eeb6syp8d7?T z^(WFibYtyYVN!p-fU3S1x4w4yvx4MU>sJ}|V2;7wOF(ng(_lam%lgTK`#XtL@yx~u ztrK2FXVm3?6p@d-O?nI1)!1Jh*c=q#X7E^H)UY_>;BpY|zo}B$$58((AJr?B8}w~W z8vHMKZ{M7{$2E;w9>8sl5Ny9>WeOgZ^iM%u2s~|g^Kbv6kQ4cBb8sV+wa$SkI<&4L zw{IO0QIh^F;O**vN7t^t9UL<))_n zqCjZMxnH&^)|U4-%J$Nu{3>n@v^&Z6)Su*^--WmNGm+)q1j~9gy1!K$=hoiY`2jZY?p*g zk7LOD>RT_8S)a&>&wkkZz}2k{CYLNLk@I+czK+7@>Gs1<_p+JdPZkPjD0iEemU#Ah zpoX32<0$JpA1GY}7(dOG)UqD9vL!C5wjl`BNYbT9iB#PEwJuGgq(zCw+>Lp_y?OcR zy_E~4AcE={g%eYoAOT=+TrwB;6M|@l`D0DoYY84Xg$J{HRbe7g9<^mWN`7I9)|s}l zX``-(S6h6f!*Nff-}+w}-e%_-g~9zfhCT8`lJD2`7hQ;1Thq2pIU{R5X*pqCa?JT@ z{MV;(#!78Hw7wWvlRPl%;wDS6P0E|O8~su8=-R02T*)58g6H z`(6b1vHq417gEm7WHr&0wS3)7$u2uV{Cq|K%8Jn31LEtz%~aoEH?4KKm>ZI>Z@<2r zg!+zPad7oj(Uo*F57wc$U>wy%D!y^H&5XmA4BS_C8Jq3w0x=giq6JSo@4bCwgw$D8 z$Cp~J>1VFsiBk;dLr-uap$GPiA6al zH$B;UP8W#ko;5Yst5)E9+caaXclzphC&FE&ec;=>1_2{kw{0AatADyD1o|8uAd6gY zQJP+=S=p~!a>}VI##R--`|9o4uV>3$=X61)`q8huOWJpNjco$SvO7wY8)Vy73w)G{ z;h7AkLZZ0a(Q!{1byin}-)k=zGxyjozqhpRsB16#oSAn;{7Wy?t|w4QtO?IeQ;h1~ zSk@)SV=m&n{pMNV~ftLf!$djtKQO@nLcM&ax!wP^oeUBDT-#+M^1H z{f5)(p!ULfWn8!iA}r0w=Yl?_UUMMM+Mv2Aoy0c3tG6p?+bk$Fn$i9Li z)e_@^K4O&yJ#d`J9Gzk(CFxT(J#1b34HvWpQjB^KqFH4nnVH(E<#oo_2Y;qYdf?em z_7lv6>;z&e`xs@c85BLVMfeX4k2;sjm%T4b_;P%PiT{Bp+l9!g&FioA8B_-D#`$|s zEDR>Z;yU-2oK&1yMvQ0Cby?mHHRhwMMfIksPUs&1Oh#3-tx6Kn;n5?Mw&qGDDCo_F z4{bazv3}mSWC&OyUqre+mhkj^0zbYkT$%LTOmj3jy!fbv(*BWY=2gq-RoUsbW`1^1 zqtaW32nOCjedh4!V0K!zYDitm>a!7qK&&^dG$9fqryhPpRK%y*(Qo>z?yS@;a0?EMWC^7gXG$vfTT1I!AQ6ihst&;o}tBIjEx z&4aAP^ewskEs%#7cY+u^)aAdYJeWm(Vf?1d+Yjek0ns{QG>3?3l^&IyW^d{V^D?LN zRFMJ;u&|(Q?=28KY0AZl{4kq5cCIE=Qu6nhT;O~VVK6h2bX9E{bSKOC%2Eb1De78e zcLh%}^1>*wqXT|DL~jRP>jIa%x6yQMl*}MgWrs-AQW-)tp+__ckS2B>c#7<=f}(Ok zbE^_uf1*57&~swNz}n=_lH3@hD~H6!^?Ok>Vn2@Ah-(qPeqHmOTt_7I6wS+9;icnG zn3#&|t*n&oVz3GQ2E*!$fc)V;eGII0w*~Tsi>6*lvX7M4V>c{Q@~zRU8}$etAv#EG zizlGUaHB$V9kcH3_gj0_U0Cso(dp;mTfu~$ra~?PB6x#()&q6w4%5mlQPO3jOGe(u z5rTC)jYmrppA}#ISX89I9Plym)7oCK_1RGmF~+=FXeX^l_Cm{}g(m{V;wgf1_1gxf z{dacM)G6jvBhWagxgtD`4^6^{;_0B=pov;*Ep0SpM-_S5?&Uh_TcTQZCXex|gcsJz z#{FbxWKZ38J4KYL<7+|&d|J#+eDlpM!!#AT%Ag$YDpN)lUM|V62rWtE5KM`KE0_HI zvbT68k6O#-7fnEqh<_J4)5{+82=K7VBTkMZvxi%DJ-uSbKCWS2{MP2|nzd-|V*d2L z!&vy@*#Qo|4{B-9h90KQX*RCbX!-3pdT7A}CB&l1wQ%W+e8ev+Jw!i;{8=3;T#SXo)FBjH+}bluM~`VMSl15rrxCY!cMvO zu=ui4JP6Rp>p~DpEIFvx`2Jv2pvPkbqgndHB8*1M__s*;wKF4ArIkqvUY=4=&w{2U z10nw(P-Yc`A92+mZ%|7@N6=nKfy9nQ|D64&>@VSL3sK5wrP1p(uf6q`Pfi`bVp@%X zlX+gtLAl_NliOXlb>G!fZ2hFtvb_xgH|@$&e(b%@n`Bftd2@QMVf8^@!|;8V5Bo(_ zm`#0H^E{IIid)w0@w`R5`Z8Q?5suV0*PTqYMRqm=W$3_m8(_kSV47$yO{p^WUZ4C~ zY}<)WKd#nFo~!Nh;|oJOKPL^nA0JAU2pIH7d{jFNqE`NGbOcaQ!$EZhL?@dj0n4&Ge>8yCuJwB{!ta)B3SRw=tqPQcAdD zzt?fc}x#oD`vHQuPE%e~*+#sg`gRBRI13fCj(S1C!u(;_w(2e&K{ zEYDxrBp+0Izl;eg{T4H6$@>^DnB3qZI(lri+07dx7JtON9*N&kq;O2*I4Jq8e8Iua zau{wTR{ULc-M1>_?M^q_i=Q?#ts3SI;?1l+T(O*cWSO*sXQ166**6JZae_3wy0U1t zn;`AuA*|e`+VV5aOglT?%v&US@HD68AyX5uW!XH;4=>-%+}-qBKk%*V?fPi{k@q(G zTY9V+u2%3xVg3*Z|15q}Vs|tsX=LLTJgLZ*vP@=fHp42Au?a3;e=lx~ETVqD`rz0t z8Z^4p*L9Jq|M`81rbx6(?Y$pC7ti~2L8f<`AsjSQQnL+&#FRmVuq`Qxg_!wWXk2Q) zZX@hZ*hm_`#vN`&^ZRSQHN=)A8WQH zC4J?AZ?!dJ9%-dGWGBA!d>Kt$pu{IDKv-CIaw}oT2 zx^xXIkP>UYP`@Kr?p5rp^%l0iDY)jWko?Yg~K!QQ3RBd8VUx1cO#4eneF+P7mu0r6hz0(2{7?!({8wjkKPu3Q?;0y-T` zPvH9hOU(uOOU*U@f28IDlv=Uagjp0X&C_7&ZJ$#Mf zo2WUY!GH$l@tgpVs=bRr;tBuHjM<-Nm zq|k=fHjF+;xRA)N7;_a<7AFShfGyx*v$dd)I2P4mEeE5D*@)21%ITS=69G>B0~>B3 zS>_tQz++ia`SSlYbMe3V+mS!R|2K&UZ+z>=5Q;8Y<{HrGjjFFkc;~MwyU!Q5WxW!; z<>BCfa&pVTf3E~A?Fh!+Z$F;T7!@2_kGoitYcl)E&M9%;_T^eRZy(G-em5U-$-hYv z$cz)|f$AE<1vEE|)-~-om_W-lS2bs2iv6-Y6P6=aBc@frd@oS#L>D62gxe8tYz{69 zqe7qfe^k7FZ0;iA(&MQzXwB20#`#Nr)u(w>E%fB)LP}wV-|acM=GfC`k5j}{CYFIQ?^a@DJFLt#)yPj3~#Y>FV%?f(9e?^Tpqhm@t&97tw{MkUzIO( znFPQBm-HS2=JevVcd8Nq z9Q@Z~W(wGMEpf;7?f7O&yyAxVJ;1J_V$kv zIhK|p*Ud-;*P2t^FVMc&syuSpDquf>RBjSt>KEy)6H9MOcPRO}S$386a*TSs^Pb4C zh}+p3`8?5rnbZlt9*r5d{WUI*pM^S{;nwS&h#!E{ZE=F?PqRiyFu1Et$d(MJ;O6_e z#a7d0$;>+dhAak=hT|=m(y!~=Oz>}~Gy#wIx-N9D+5ZQ7@XCk{iio)I^kHlCB0UIuF0ZIc`w zH*@DvVxrR6wkZFh#nh2uqBrYFIZ|6nYMmh(<1gFd=>PL3`ZeSPYUOn5K9~77_~;ol z(GPO}m&e$#ZB>YAM2j2ZQioDXvlq7%I@2MEDIsSeNh951-z<)^0l}(%BINba`>IF1 zJNbD6_iHRR-MlS^s6GBSGz?Z1B8|*;eB+n>pRF(W@>3b#v5{9m+9EM7SR^Wq{CjJ8 z-DtT3MnAzq5PO80v9fJ7IDDBIwMolgMX@5q8z$>fD{51#c_{2N#r;c?aNOjp`P zPE+nhlX;w`gN}vo=SaeAK?uS3r>%1EV#6XOEcWDKWe%a6cESwg_s80*=5hWG*U*H< zxJUfMnCkg`e-Ad_%|XYWI&H~lm4ctqY@j|S;9#7juXuJf)!%2}w4s&+HyO9eO*U_v zWF!YgXCaMk=pEl``i+QpHqIx=@Y)%p9< z$H0WMc!``zHN$SRlr|2d_`_~lVmuySJ$*h&)8x!sVfz9G^uxf2l0m;sI#vc`rHCjJ z=kOnf2=ib=7-CxhO52BlA^~ACX0;A+z-R!HG^jZr^uJ$>+Asp|ja~q1A)M0HLo+)I z*>0%|_}FCe8&DS8BhASEVr5i*q+RqB$R50BMjD?5&`R~@@?eNiN$S-p%w zDW!bFAOv9cUzB{Ir92_NULM(wfa9oLD8R)-;5wgBe(vIX>%2$Fh@;UJF)9qrrLU`- zPQk;zHr{I20e5Fdw|Tzv5;t0ItN#)st~cVd-UTo0>)nDnFt75EKYEaZ={o=1B|CVT z{J+?H@35xRc3qSi3nJ2_DF{&!k*?ANk%)>22$9~&C?Ey|L_mUsL`8ZVP(VP5iik>y z)JTnV5fQ1O2qB^OL?HYi#r^uNz0S4Pn%R4=ea=4ny7oEWAC3&y%&)!edG6P3;pYBYINhG=mPe1BA!C&>Zv91?iHCbF%eY^wf-5~UY^zvmuLhLf z3KRyO+%F?C_{L6me=|g41Q?;C-14bQETCnGABQ;W>e=S+`S7tT?R2B z5Wf`!*fbMjxF#bEfX`omv6NTEK`odPI%s}=$W=qDUxMzB`&1EXwTkzr^L}_>hC1J% z+;q5B+y@o$1k?$JkuHtHpqUkdfD8i^_gBp-mwZ*X6%qh*o718spY@FKj!0$Ply6qK zWZQn~ib-1@))-WMbXD`ghj}mrer!x}QOJ-RWs5!D6Y-;+nrPI=m@gC}-sP;}YJDze z3(tNPSH;@ns=lv69cm8WRWS-$b+2^&>#A~n@aaU{ey-$Px5{vI{EPSZlfJFCXnG@F zI~~`sHe%qYEzOo)ys_zM&)-sd_=X&0ABsrqGUy)wH#O%0kp=&AI(+gP5rlS^UlZPv zu0O>!oncFk<33e+j&L(~b4=?!P513~pj_w7nQBivIfhKZQ|bE3aYfAzPh)9^)0D2f z?fkSpFp_eAEWM1Ce zF+Yx@bqRfw{2y+eyrpM9L0;77WouEE#CCled5fECw(ihSa!4>ZTK2m4)g$7`fn`d^ z^A81)0girG)BmtVcP!W*ke>8O@2*?wBKUTLMN6;5%7R!)9E5@&!;-mLHvU*Gwo0!p z%#x8Hb@$RGyByuz?aAl56Ug%xywBMMKS8h}xpAg`P6G92m$k_e|8Alx|eG47LW2a$8abbk3PORMX%ZemTC)Q|Z9 z)l;2KgLN|X>fFAqLU<%P^IN2Sd|a(Hu`Jy7C(jIZGti4cq}o02QNvH14r4~I#K@(e zt6JyZFUKenf}CMOxY?_4NC-qQtp)eMY;wnpsX?15y^EwRJsQc4euj6-jUas8=KZOv zt7$sQ&Tc+_kGQ}!hpj`^x5GWQ{4y1jsG}p_@oBWmV}hhNMjm9B*FvN8e2W|D;F{@7 zA)W7{uS(L}UeC7PWfqX=m0VfjT@1b%Jhbtvv~K$m*MK;S6l3##Y?BO!FI3cFYn<;h zef;24SwDFW**>{$^M-nSFwdOi)0waRy_nKb)J`1}Z*ebs+NFe!X#w82VJY?gC`r|- zwTgPL>CEv7Y0yDmG9sLk#o zsh|CN%3eIOtCXE-AMX&;m!TuK5uR25eT&jBMfo+4z(&%DqsvYJHm@x|K9REfW`5kj z3iuis8WSE?uih*@x*vI?L05l|{k#`!6qbh7=YGGZz7)zj{f8iE!dRo-pt4)jPYciL z`57$YTZWLEMl>D%Yo#hx?zwInezzj4q@c;%u+=)^;93fhrCs6d;RW6Vzh;cFP764I zn2dH!?or|M!rzza7VmPajx_UZ>m$!g-`gL>i!@~j4PV~If@8eK1E@92l(qJP&y5Uu zy|k-{!8#|TB#srd^<|`KkA*a!^WKsGOv>Y;#j#5BpFCY%ax`anB8-21*RU_Vr5o88 zjY1#JGQ?jl^tfIGi-!vtv%e_(*9Qrr&@VrSQ_rIxjvs*Hu#~mWN*u|LXQHQEs|Eti z_~HwqY(^&UkWPX#Q(oU<$2i6!;PF)raj_n}rxU7S^s*|up ztd7zO^7`BPJEt?;PyKkHh^ zaaKKJhtg9Wt{ZLpUVc`nHQR@gO-)-nM{8?I85=1%XtKvzFIDeHNlFSOYb%}!Jk&aV z@<X)C|iE)ZcreUh1YPWax*Kg;-A!PcDT~9xKs{mGsT_ zM2xidyqsVCVURjCMTCFd(2w9s00Y;peF*M0K$3aa1vXl+q?V$=7(DEuurA>`>f146 znXDYQ<)>?N$hS}L3VkNQmOcV`saK}QPfY8;HUx6zzr4N1shg{4=Y_}m_@LERW&LP_g^ z-{L<1D0K5YVB;~{Xg$UBMW*Tau#A0jPWv4OOu3R-2qR+!pN`mvM9&;W-d`eST$!nkosPd@t!1EYsgxf7kEm}?b& zvim;XJ4Zd9BB&6j`<$WFxu>8?=HRom`?H23!iMYO-QaY!xCh&&uN05~rNTHOXTk$n zdLUBU%|A}s#x+XR0hxVIj@-$-Jv&tV%dqUHzMU1do9ET3F1CJ$TPFQ#t@13yb*p43 zrz?uO^6C&^fT=gxXJ)ucfH8273}bu0amM&TwxRl!l~_$;O;yB7+g{Vf52q$oJd)7U zBIGi%rTp`Q>xEoKS4>T*YGQo$0av>sYYvE!Dxn0w5bUVXMKE*A=o{Q9QE=alU-uou+=T4&m9%pw_Gzv^rkXe3Zrzvk z+%Lg{qr9%3yqx@*q=*}Tw@p?AGT`0cw{jOp7JEZw52T;okJvr;VKsP~1g`m*((ESO z;^C;Rpq+GBBd7;co9On#3>!izsU%4n$ml79W3^z<1J#*>5#M3TDP~}P`%`C-&?O6A z1*R*y11Qkfu||{n@f=-u)ir^AT~zyWpmprif)q2@ z?SQ_^SwCHa6FYxv{?E(Wt(6=5ud7PExpHYTXMF}ww?4?5T)*v)U=twt_)?04iM277 z;DH@p+p^4@wwWD&V}B*2FrVxbR#(C1ZTzkt(>jA@SLdPMP!&u@4aYF;h|RU(QIm}H zt|F{3n4$kp%cQ1#Bl54mO|ye&IOHF=2>744hO@YT$j-Tn5Wur4v?dh zxpD?Iirn8f@x38zDX?)W26f{WpP?UZI+3?h>^J?u8@!_Y$S{}Wwv%JwX+^lV;vwVk zDD-9*quvk*grX*YaZO+k48RI_@TNh%g*1W$GTn^jE~Zz%fjByge34$%mZUF)3wQVQ zzb;o9HRvEcDrCbjAWej^kiuqEmibN^WRj1v?3j{o(v*}&{tov~PUN2ABmyJ?0koZQ zGHfB%5o`~9m%b5mNfXU#luC}g7)#C0&i4GKhCw`^cdBSK(jz=x*6TR)u;1xOR1|%MWJ2R69+9g z&+J{2#puzL$3?k_MKC zPvhO!1V#ughH*Wya3SQ=mS28>lS?}dC*nE>+CDaPq>B2>CGJ?ee6&;cL8%>2SyfP8 znEAfu@pc5EMj@}yyKo9|{{AB&jX4sG9r+(|4@tZgUBZxZ3w(ExmU5y7?ed1xJtCvN z?!~Z?^c>lM?+2|n7+*d*=RMLLag3 z)eoFV-Z5XVFu>NOb|@#>oAw9ySK#E%S2DD?_}6oaUay@-e4Li^0#qt>C>}k}fB5F< zTpZ#$Kot52bA;iR#?nU1ab>1LgyOh+zN62Z1EC@P!#RRvWb6_Y&2K>=5js4`qF+ji*m|-nN3D_-xhx z;-c7!*bY}w~P9%$<6=?El z$x#^T0?Y}(W@1%Vc8S>es60~bsYJM^QHcE6N95* z7{Hq~9H>9e{X{C4Toh*@Z6Hq-_eMJljI}0K67uy|i=ohC9i26uqDo%3`Ox;ygj<9a zSO)&F(Ml~c8~W!Ehw0!$Hp=0(`ZZEF82essQIn_ z^)Ipl^p)u4$(+>-4E#f*wD%dtiaW}}U+Jo=e2_Jbl+=-_Q1VXA*|6h;3xR$7ffIKC zCWZ4(jzWqBQ#lk_f-R*BENxf%zozrp;smpLGEW=S6R8?iyBafb9wjBk*G2#P0R> z*QE^Cs7UcLlv7$e<2p&=O;PZUqRJrjTDCC;SUXSuFwPvWjFv!eD6gU~@&zBiW ze{T@W@itbx;wsK8Ubp)sQ0}p3+^%n=w5r`z?fOIs#A3N&hbhtq`?w?3h(+r7Pad&3 z{7x>+8@V%>B9b4gkDw-o*_UP83#cT&9d6G@r4E_fH zBVBM$e@GFLT(1en%ZRIr?Zj$A?R2C?Pf$U)`nm2}zFa85b$&xK>v}Aws>u7UeI~F0 z#42PsSCsrHz7}iH^>TFdT#V62e?v|^$qP0t?Z_#Ed%}iE%$uAX67@OzJiV>KO_@GW z;QJO(uk|Hg4!&jML0Ew%*bHAaJF z#qE+>X(0`*OsGfYLhj?vlx+*u11S^9Lf&w}oK?L5vkqxptr4WiGbPJ>Vw&hI{R`p9 zIp=G_pE8MR{+Zq4f@YhcerQP$YeR~}r8KJlJ(!GEC|ecBQickQp!V=_pJZY097+F} z+Yqubf z8hK4RGo)4+bX2HWXdm{g2!t4KThy6AY{%F^fHPvrs2Gh-z}S0+Ud81)clcEfz(p&} z)MY9wiXB|^3E|!YI$5KmuhN?~uF5PG8~os8!^fYFDKRLE_Zi7d4^E{%U!X4|q*?Z8 zhEokA3hc!gEBa_lb4Er;bJaMqcN!8kj_+dEVLWb3~O`85jUk|q3 zNXwT^`T_+ukm%MzkP>e*E{?k!^2(pzGLAA(MI$cJ3&&KyAr{veXJ>EY8Uu^8@tQrV zeFIxXG4#Cj=yhFEoGT z%(KD`)3~GQ{3tcGNn(_Vj%L7_=1!?UUpwv^!=-KqD^+qqY7JQ$a-VyUy|=0aiVrDp zq_9mH$jDj&`XP+uYqe+clRDQ&NmSlmjA4lEi^-Nica(NU2v6Mfu@(EyB!v3bXS(Er z+B5W#k7K`h398y7#&p8Hplox=%jIR2#8Tpeo>s93`)HNrQDZ%0nn_wVabx>lCh(NJ zJhodcS-ZCNRK2;bU@54%eLeVZs!iK|e*1q?W%{@77{C3ubj*-B$Ox)^<%w0+gLM`t+}|}+W+_`i={zd zzKBs|c|*9SyJIg{df(9#hGZ?u?>EMd)!=QUes`((Vmj>Gb781l`Q+Qo$9s1j7+)u( z1`9=JbwvUu5@I*o&_Jac3Vw|u39S1IEMTR{W^K&D9J|z(R7ID4gsXqTo;>I}@KEHb z{nFvR(Mm0dZ$KZt;7>+I6F|P%M&-SW`nd5?^;V{yc@NU53G8qo2XsVcJl>QRy!%vj z>W`BeZoU{|W?$NRT1LL{!izPu{*Nn>QdVw@>Z=yZV@?%CTXL%_+}$VWBnv>rY12tw z(JE4Cg3<5IRqmW#wdz?~`8?7Q?D-+q>vT~Myq=|dOZ!no+~ydo5h<=(t{x2+#|lGb zO|oiGFz^S=5lptow(V8u&R-2`Uw#pjmscI*Uh(Ir-K7boi61eIB+p-VHM`LpP2{n? z3_|qHT3c$kSqJMP9=E&GU*Yk>VZX%tcDrW_f7|y-92QdxXiDNkvrbr2u5q|0HJjyY z(Rip@D{8uvcy?Y+kz2TCowmM{NQjtuYvp5fG>hZs`=D#|l-0vrteXdOsHV6pctbXT zrOVb~z#DN7?*dy{_qPu7V~UkEed+|SUfY4bc3kM0ZV^6QXa#18q@!WiDXiDp;+*s#Z4 zquYLw#Vqm&Xx8X_I@@r~XG;V?)N~-K4kRQL!KET1NXwD9dATrTP1iEMH1TEjqpY}oi=E&L^fJX^sMjHWI)EG`{t z_f5I*!p39r>2G~mTVE`EEJA$`NFlN`9^-v9lRuqY7HRIGJ-r@$v@Xq5b1pBWvr}TE zx}wO(**X|(*FKCDrpyepmh+O60X}DM3}NulpN72K?c>qgm{=N{O!Z3PeZuvL`9{A#xtZ*CH=sp7S3Cc_Kzy#|ij|_e&B~h(y$?_5Mxh=}+%Q$z z=bid=d2~3Sv@&U#vlwO$F#QG__~bdre2zm10o}bcl8w(NgA*8jD3CF7sYeqLGwd>) zm>wC-ta10(I6FV-d$sCr0bvhZMXD>ROb@LetYU7nd2Mv5zB5$D;26DLPVZAd=ymZt ztCuE$+UcnXyGOG%G9gVR$@%uM z!tXWQPvwuyV(`&h82V2{Y6Pg{X?R&MJ2a`j@?=)9N_oww7A6;NA5( zw{ADG=yW;b!w^mJ=*zwk%7qNPJ5~P}Ro}um>4qV8ayBU;tI7rQ#gc37y#Ok5QT(h^|A#Hc9%s8*;C?&@u zBO4Rf?xlcEvc>t|-`MW6<@s&x-Ip?_;P(!fHLa)fJF#P{)g}6>ji;VUgoCN!6vR+_ z^uT=dwqXn9LOQ|xs~L@#9piRtjoVfWKA$==8%H<$E%|r0(?YvC4wS!nyyT3`v6Jw@WQRG55}T#G#7$S{xO!4aKV0su(1FW$Kcg|hxILX zD5px7Lx6kvU&-?4J~hWSf$0gF*0GQ)L#Iu44-`Eiu-6%A6hb182R}X1zj48T`sJs% zfWxow$2S&ITGaM;z8x=7tFT$>kk8L56%s#nUi8^iK*LoRn>5qFjcn6zss0}8m2DLy zHHs4hHjLn!Z%n{ptE#|(_cg)yNUF(XRx<+@U7jp4D@Bf6XBmdSL_ZiXJN>~#xn9wx zK<(nLPiKtKgQlOK-LMHeil>Da2R}$x*nt${U9s33S5HRej;ljQ?Qj5Fj!uG8595LS z(s|^|bx^z8#T7zJjweS7MPOlr=I*(59iyN8=6>GhR-#^IWX~CBsxM3 zeqCsf&{ixkTEEi2o{@wRr&40ZM98&5v<__&eI@pw_J*b0lfh!c9gd-Pdw$yOGyA>Y8ifaq?4_vgDl*KgY}@gyHOtQ`3C|_A26djW>Bye$L^v zqQ+C10iOB{Q-ju1AtptkRZll7D+df$Tz((s@3oFNuazi% zMr{3Q0icE9kSvtywVK`Dl`-Z2qkbiGie0s~lmn_4!#R=*vfXg()0ah~Be;VM>4yQj zM5cfLQ~USL)&*+U$u-hr0|?h3WbBgGFEIJS1QW@SP;lUTKVUYT;m-t z1V}UwN-#?_B>#B+DE<1>lT;Ihx?p6UXC^JzS=6rl&f{#PP9QO|w0*qv%Td7s3!Aw{ z!4bC;CL{lTZBFjhzZh-wFtO8AphI_3b#yG(^I%TB0f`iEWdVVXgV4 zTS!CJ{fNhs-J=`daVmjsy>1zMua`4|QD3uA7e$ilddO8ja`w@a6pl7tdvh&MV&1;M z@^&R>==1!BnX?}jG+{MZkS3$h*4)-hxU~!G>s^ZrKY5M-Y?u=-<CG;Il{QGIzY(gz~FRf3R0!!2H@ zUGkOZcRw_02Zd%`O@?lT?$qO3D1#fH&6#C`C%=j`chjEw1uMWj?b1%khjgNAY6_ev z8YqLUa3ib%wh{RQfHz(&B5BLbhskF#!269HhdIN+V@$XV+d(WUU}WSHf%!jV{+6_9+|aHQ4=UJ&-~2@8aq2W zoE@6QYbWQUsN64uzPc%5*|h(ezN}vQ(RY}VyCdOQIt=T`65TPw_>SX=N@;tE8Yt9} zb(Fzq(n^CI_ZW#6IC(1df=0%?AW1l5AsCz*V9PPo9C3C~@l`GKl@oSyY<=Gx@$x0l zJKk@5Y$kW^aPYI+cW`58tz%#9)7q{N`9|+{XSg|ICE$l}<4<@E>V4cVD~hk{ab2kNT?S`=gRvrz2nOx*z(5gznG)bQIRO`Y*kxxeHobEZEi? z(kODuO@rb5D;iUg;{_N^Pb{# zXp!Ea%28RxRckAfuWNq-AVxL#W{u&c?r7{>ZNw9 z2zsABt9~HlefhN;s~gwvf9?Q;OG?{b3+1_6D}|9-t5 zC$nCU?aImF9(9m8-G<+ZF$$-4T56Z(cDidcdnVu7@#4v`bjevp>HALy$w~HK`<}j9 zQSJKh!c;geK^txkK3pn}Zb^WG2}{AAEE}*co`TBD91|`$@5IX#ViK8Zxbp4iJ6ZOF z!Fxin$nQT4ZgQwexNddst^zPq2K(US?}5_l3iT9l${nE$u}mSkJk)SPbq_i=m}QdJ zcRlOalE>GKyt>-2?@f+4UwF50peDi79=B;g-U1O^0|>_7zu?4>#xrrdm-P|3GU_zo zLwM4-*OVi4cW7NHyNC%{j-qI0C^1KAAG zCaxx(7@^A6C`LD3>^~feaV?n3Qp*es2pL~Umf$4u7c3b*kM4}oP37A^aLV`@QUu#Q zd_fP0=pmAFWCyqsm;; zP>Q}W7}8D%54zDX@Mt^E(^^@~{t5qk!^Umx!40%Tqno}#iT0NV{A*Jung}?}^rlN; zReLEG>4C3fXOehxc2wXu+?j#UTO6a8iGf5JL|gh4F=8E_;3m+Gu?~FY=zV;i$vinf zaK*K*+$plUsE&P0vsJS?@{@%tWbGwKckOm-{nEY<#Jj|1mL++4C{ zbHTmZq8?pdzDNdgY1?7lgMZ9jp8_hV;_bb zS%qCITUJz8$C>}W*eRdaJOB+^+3(>S zW3(+bQ7QMhKwpN67%ppwX5IlHNSlz*ynTATT3^L3Kg{WTpK7gI;zrid+_y@`zFxPs zE{jrzTrRio=(|I_vD<9-5z15SF}hB(dLpjeD0(T7Va(+VWoXby4}rSxPWn!K-s~`M zOpvOyCB2iAR4^fPal^cSNsAx~SRtO+Vp(vf+5T3@i8ASU&3#wv8kLAJ2vF z=89ljD8gI;D1&){^Ps3!RemF>oa20@yFy5OY+hooxfgX*@bdzqe|=U}(mV@DO)xhn zKddqxoVFdzu!@tKPOsEp-m0!21z}CZmh8r_ebNvUI`IT|{ZqXJwq0){POED;--v-o zsMP>SaYcH(ikldH>T8<+&bJsf!!T6vjr9WQcpqVczNP7ok8!rCr#QS5I!gsK{7^hI zl%cRB!n%O{%stt&CbV5^X`19Yp1B5WggWwOnGzIKhD|lx`+dv1$l!q89Y?N)RL5-S zv3D?>sX|Lg#`zXx2_YFwEYe_hGZILFvGiss!fX-RW4a)T%8{vvUl_p)6erUPP7(CY zUmVfHmbkxmGXcJ{A9Fs_+(jN-nuwxuYv?mA@SSWJCr7AhDUi#z#E59TLlV|fHE!DS zY8)zO!S;r)BVGa%M!#7vVz85LkWb$V z#RR{>sM0_5O;$&o?_V1^qc`G0CisnWKSx+G1XECNP3~;Dz-~tEE5enl!(V(m&(m~D zf3?L{d$_MlL=0a8@dKxe=zn#(-~o;ozy0j~e;wX-LrowexW7Y@Z=JolO69d5NagpO z<($7BMyhBW-+uGvvoE2YcU{G=yggQb!z6#w(e?dy%*7m4?AYgf z=O#rcV19?n z0_i8am=7zV)1l+-Uf(L7nP@qO!y0=>#ya>>S;4a+4f=B;AxcFDgRD9a+&7?taxkbr z#lY6Wkegl*=;(PY-ep>TE$cSWY0wU_Z?bu0ZdBpf+YYNmBTbLjr~Uf=BHFkHVfZYQ z^rMRb0Lf#={^lb216SD{E62CekdwGTIGSGn_-eQ^81ln6!BYd#y(Qcf9%$}e0m$=T zF1Pgso*7PES0a7lPGcF=@MDcz_Tw|`3m}8qe)bng{gbBy-a=tN&;9G=)}P=`vYO^? zaVeZHoQcLQ%g8lCLl+cV#@z*Ky~Y*5nF1G2+B7u&yUQ&c=X!2L_q_x3e^w@|EpjcF ze-0UeXNY>SMYeI1eSY$&0P-L1$Ajd*x!^xuSm>=S*LXu?Bbk5hqGS(=7fw6c^-G>m zmdthJssSau9k9Q-T4B>>#u&`1fStVTwIVColc1i56~r~0 zT+A_gRlU|A&wdm3y=zQgJ#QbKjCOAr+{!LOd6 zcQBKIdT}UP!{~>;0_&n9A(HK^V*0y6OnHp)kUXdflX|{gya(u|vT7zBySW<5oGkcw zF{MNxpDiZG<=bGL<90HcmM+kSO;1wAc)Q0T3|@H7vFd%(pO}gdDFTJXza8HHYMsD% zQD0KmtM0EkYWmd`ZrMA9R#Tlhe;~zVztZgN$CK6X4?VtTxKE4b{`U4)PFLaQfCFn) zZnGQ{@J6cGCeXsua1J;AlEQ=CHlJnfjoTAcvjUm2Z{OPE1LDP0pC^+uhx|Q`5ANhy z3QIfnQH$Glyh*&)(r~-k9^qpbF7PP5*~jzSN1j_da0lV^8#;?eDS)Hsfs3J3b|q^1 zmqHWFftfnF<)@_|72i8OF zKK-NB^*taMY-7x{!RfX|q79^SL^F){h5_FPsF!Zsh!kE+jzId*Wk6XzW*yRZ^?K#a zJ;(?u%D<7~O(s|0iMSRdEom0EBUQk3dRjSFT<$0wP|n7mk}6-pDuEzy3*CoS{FbUN zjJBp()Quzfp@Q01RL_$p4Bz_4;8bwho-YkDzUgknxPg^DMarhVw*7GeX=ul?|i&KCSR zTw>rFrB~mf5w_&D0`qgL7wS|+v!CgO#dxHDzWuGa)nPyE#EY*s?tO16EEax&2?pM9 z@Oin$KvLvCllX#KnwZnS45>>WDUAb)#VP+2XWYx)<@y!qP^Z}@a*VVoO85V3X8qUc zp}dhAr)uzzr#J*z>=34sGfU0KlA5LS&1Taru40{$^LliQ%ez zX9t#Xa+c~(xS_u~XsUXdn=4Tq=;abjt1rVj&ph@7c5Q2x;aB=(xv#)vA8tV+PO(wI zZRNI)jn$N;oryEUzjPVkaW}4sbFbllN#Y)nO!CEzf2ik&PSDSv*9(aNf%>bgbz%%# zCqV3U(W2VQ%m{7o$K&7AMPn-zZSOp+%oGbEtSuDQ)CpZ6^{o|ovy3b11~g$hi#oTP zleI`sUwHm_b+8tD?H-{#u_+?Of&BcPvIc=KKFDLT<^a3__Yk`a+Ch(|CVvDdX!VtD z0~lNG+f9sau2WLUFp7ReWGB3NN?6jpdhrNRDO=V zK5(v0SVWxVD~==miGWT&;_j9y#Qes|&=+6{vGr=IdTV`I&awXbX5qpf!jQXp%J%e* zgUYN<)5TYQV((e{*01jIS?l({c_De!KkE6sxnVFo1_vqgF0IfIkfOp;2jdYlt8a`p z(vX!%W~x6ZA4w93j@D!bl{_TSO^$h0f4Fjqb>T-!tMW8%2+mB0l36m?9@tJ2it><5 za%ZeGB;FRd-szB*MAMX4Q#~q&Km228s`828<=e*(kh^T`zgAUlR^xr8P{ygluw_M- zDz=*f*bP2iLzHn)C0C~>TXK7#a7M;?;y@wa!FImK*L+Zwld3JR7UXLe*e6>%hUHn zXI4MW(k^>3=7yeWjP(p;Mm{s>eKBtbYOluqs#jx|HNv(ng<0N_m{L}L(i^S$7%`}% z3}tZA!CZeqsnBUbj1bR~7(#5Z0#m?x?V2!d4L=baesRIB`#ODRS?-N3P2ggUXsnkc zucb@~9QLWH@p*O%o$8#ZV_ttk>vMG9^5T;G27K6_$>vmIrLp~Zx{VOe7`7X^yLP+5 zt_9K_j3YICuR16?=Ao+hNPW%Nu@Ii@MxqxdYuayl(r`Y5CPk>v8>L3R2TF@RKD}15 zn_MzL--}3J*!sq;yFr*a&lChFX(~i%Mhf9>3MDv2C+PdK{L%K~1Ignvu?}Vg|EeyX6iaOoygxcF<58v$oPzMX{85FEMKcQZK z0ZG4tzkfGBX}w5R#{Vp2jbeB;ieg|HO%ka)KF~4br9i=&JodTs@R36doAgI>Sq}>b z61Qt#IT%$}UFxB7pqT8=l6py!f}@0n<0mZgXoSHoEBZ#0e;lb4mRuVgQp}HpE_>2P z&_{o)AbNv4?Ev8ftE}zxwdjpwdq5s^jkaPz)*Ln1QikdAeXJG;&L`25*`h4wSMbWu z*eFifQmq$n0#1FBBwiGh3A~Km{H6u@y-cv zDb=r!6<{7^kF09zgUWl`92Ksf=TneWE)rUjh+~7)_dzALXY2?kp2m5ELs51D#YGM8 zdJ#s^ST+sDgK}R=H#ka1GCjviXm7nr!fI@sN4H(*R_HHZGBh*U!vq*hlMzlyXA}p6 z`yd`7%QimNX-qJS!U7ngjrGT?yUQtj4$!3rTsY0wxH&}FX_o197DXji<{$qbJ<{?VUhhMGuGI~?za@EjKcJw}Zy;+RX_ zfEqM1zL8YV&;6!@7byoj?r_F~+H+YK$itokKw#FndFxJ|{?>KE8`SEJjbUtjn3#@s zh>j5RO^!sY>7^^om@^5)k}WeMtT0f%!1%qJWYwV} zhTvTJGo5p*`XcZ|kJ{dq!u8W8zLPcghUO|a)X&tGd`BpxzgyVTwn_&3KHaJdIyTcn z*oN`rkZQMu(3_~|F{+#=`llyYlnA`YQF4B^OK*9H48o;f-=4a3vdu28r^CG8-%q}~ z$Y0Ir2O!UuT@$T%b4Whc&SY?4pNUrB*4#@{770=@UaDbq89}S`5T*|xDrthjA~bQr znsN>^@*f)Po-gr1N^7xV)daej*R!7=%_tZ~Wx1ujE_52mRU;kHc52>hcy+pId&W+G zTQE;<{3&pDtXK^l_^N37_+G77ba4c<-&P{chO7!NJJ{3G zY;Yjy#KBbB;`dj*;6Xu2X*`!CiIHSUVKkwQx0nl6;1#T)jYhZA+2~wG_)~Ipq_X=>)BFbkM~`__yDniTOD;vyRzG5Jc@^RL_R_(RB?p6kuy~+ zP#SA+#NBlDq1jTJ@S;F!FNiQSMxG$V$TLU}^$i)uG~|7@Yi`TcTkl=n2ECD>#wF-C z)jeh$wXirK6_rbMSdy!HFg)D#l^FDaGt8-B2e59k0dxDoL*T#0JkF`tKRfV~M_?^p zJr3Ac8AwAy=Rl8dTeK!enROf`<#M+;KP2BUG>mq}F>(sH9(zlqXs67CP8CfPiFGkF zYx_$B==~R6N^fve!H&7Y<*Q@ab9>>!TrKW^2qqA!U}V#9O)Ep9X0<&SM^q8UfPM`X zOFM;$&%CMG0dzoo4CHDCDmo2@b#tqGZte{|ly13aKI8hXBkY3!E_{%J9meq+?B(`I zhZW8Z;}WhuXmk8lOzVMM9r%d!qMHEobd5lLq#u9)5(Y)RnOY$8#H8= zvBRO;Z*<-7>5*TNK`WlE(B?%LTP%e8Ne56J)@A!pCPOaO0kx@KGq_0H_%Aefp^+=i zAU%MOr^1M^1dQZ_G=I4LrT#TSWC_qwcXVwnbN)W!a=u94dZbIVFvU#zq~3AQBf>sm zTo~ZxIrwsFNp!H3HfZ%fz-I?lfzQW(!N*9ZVJ#>RykR~=hS~*Kd2g@x(Iax(40N|KV12OY(i>?s^qm1Dxbd8FEt}mIK`8 zrWN2*PRnRo`&NFG9Gr1u(f3HT-m9)@7ro=QNs9ZF%HE6QR&(db0OOGK=iUN)pVt%} z%)~%(jcL;j%~x}uU1~|O0C5ttYug9b=f6-}`u^AECkicKDjOWY82a!sR_ksky0OnQ-05#rl=OQWa8`fgzifdU5<@X+_`J2SVFL z8g|xifYsH9`|OAte*t6KYEd}Hydj-&5<6Y}A?Vl9K;gD*#W7Qe#4UWF85FPv|IXh? z+Ep(KNm@N}q#HL0388fy(j|yKb;=f%&<1gaVDQ2j!GQ2tiRl$oH_#aw+q76DsYxKV>)( znc~GS@&`NgE~ONGkJ*m(F(thYvU+T7=XuUgZI*5R0X)3R$PIV}xdASWRv*uAGPh=W z&=p$3krU#}1;xO$;84kj{#sqaTq!yX(c2b1>71ylZ}_gQxZ%uLxxuIAkr8KO@uHW> zVo)~N&U2t%+8IgaivL3pg4qHyUT!x@0xN~CX&jb(SmBGfSnhiIqf<-ei@-N-^LpCJ zdC0lpf%kIhft(zIYDLrU8OzX9-1%~wuzgvDHW}-ya9Q|x7O6yXNtbmTc&wEesA9iy z<+_8H)F+B#$HQSwDGpFa3s$@KzP>ibP=2two)M76JrWumdHlTimp|{xJh=F!p~`Q{u(DvZzOCs!t_`Q;ipao)d7zFu@S{F=-6QN-63=on!!543&1rIQv{B^!`2 zcYvZqtsz~ftrz;b=~4TkSD}AxgHDbqH%pWfuoxJdpD^}yJ9A^G{oP38hF%aT(0LPr zw;!XV;>#r2!Vxt4MGAxR5ngdIc>*TrypTv+P+a$aDCHlEK}klI3keQUn!>JUX@3}g z)35O-YmJskXE;LS6p%NTpsalAKot zN4P_qC{`gG4ES;wo)XLymzZIe>p;)I*9q5tulq7% z#|oFymCXWXFg>~{S#msz+Uj+!hyx zm$qxJK3qO8Mn-dv2195`rvOXVvn4Eby~UW(iOu}#5)SAyy^VL6*uCBBuDg5B;RL?> zknL}yR_DeJ4q&@)W%b!d(HNd4e;OVLW*Hf&dk~cuPF7@0Vx>UAdi!Ti>6)}Je~W=A zr?U3MJMOnE@{-OQHkPa(@D@lgm-H5?vv-7#uPhe94PD*F-Hs^B*ItoMw2(~d&m41H zJ_z&nY5@w8IxUXy@f=baWify)&#&BJK zdS*Uq>%qb~+Odc2`4pFtb7c*_>Y4Rg9-OZ)lRY99G`_K~ftCA&`w=DviUwUtq|%TU zL=HYzeCtaP*9V+(wwIH58gO7jTl%q+0#P3HJFb6pqxEpoa8y3kQNjuov zCV;-v{J^T&;j#7*S~lswu=d_jO?BV8FjhoFL<9tcsDP+6mG+95yo!K`5V3&Lq9Rga z$cusm2-!Be5CsJVAxc$gQbGhVk**>J2t|SrlGrGb1T}0(@mv1Jz2m#*-h009oH2fX zWH5$_J3D*LHP@WaeC9KinCAvX8V3B3m9BM6e8Vwsny@H14xKNueCzY|nin$u3{N0aX@!k-710F{W<9(6< zb?DrkzBS?5c%yIP(i@|a+h)|-P_Y$5Q)= z%7w7jajGzqUOWC$k;iCLR#9%-^?{bGm|_uTj+@>@?3)deKc1#+nM++CtB$Qq9Tn#>uHkvT)t*FoO+Tfsx%R1#}>2(=;3 zL9T=WRK`}YEyAJU5u5a68 zYVQ~w5?Mev529Hwq)PT-Kg6Mwjmi}L zg=FIx`1<}>_o~O%GuIf((qke^N4S}1v7)ttxDQ0!@lrNt=~h4Bx%6AE)2{ zM(mO?8MnRresOZ%0UwXM`i_LpO&&Fm3y->0e*J-xxDgNs!TlfSz=GaXlf=>6Y$S@G+ z2$8pe-9KRn0afyJ8u~;Zwd&??g__ci84Y--Ey^~#v2}|5^?Du7#HY6@;At_d>r7;M zWm)WY*T=ri^vHhX`{n{QL(B_A?QaFCdZ~D??A|W{7TCEGX&rNQLpkh?SZpZYJQ#^z z8+W~R&7mJ#;!DhF(Bmz43+Ag{{+wF0tn4nCi2LmLOa`9Xcpj>HX1cQq>u(IZ3QGu) z-9arqu$r+*v$l+oIjz6`n%8|Rvz?JIWc#ctw7TPFN>8pZ^DU3%XAMdLetc7)ej)D>Xs!V*N|T88;ela>(C?F<6qlSG0F5DtY5l$&c_C->h47- zkM8Lha+2Y#8k!t6t(Lx9A%P(nsr6yb4c-LMB?;&gQ8rNd@a^LxeM5jLYYKUYNx5-?$+eU{# zqn$sP>NIxPXRqQBSq3Ah``9?tVKGdXaD}K)?fyW`o z6*%t`!TH3?Q^dW6U>u<@ta8TB0!>R$HFteeS&}~+ogbS#dfR>=Vf|(@7d?y`Cnq9x z2nhL#7ZSA8R8*SOv`umt*uPW6w{oNiQcd8)=z>wG*1o#M@1`=TD~HvcD?Fz}mo$Kgd!U=Q+uCUhU}X7)44;zM=3b_BI^$ z-Y>wD-rHo0NDhntUI`?Csw^t4$g4Xa`&Le5y3|pR-oLp>ZJS%)AW%WrZ;<3$AID%y zd*N7-t@x5?3rORaj)0|uiDn3Dc88fG2xb_1aBbTg9+tVLh`w=%-Yl$b)p^MJgV)U=B`V zW9L=m5I`tKw)@P}4Toj*zfkpvW4+}+l?%U^wR8o2nb6c6{7_3+JWo0+xSQ`Zi)RDs zUatfp@0V}vvp*%uxVNwKO@@+YFQJ;2O@pw?`=#Q3UD={{+y$Fd#!t>&$9`YvbJ z#$A&#!^-=1J>1px(hf5;<~4Y1R-QeN_~R--b0Pq;pk|NHaMV-zC_Af)5B#wL=xAAP zkK<0w2(%*x`|Mr$2Sf+hj8s$7yI!9WY}J;uK%@Fc8_tvuT5dSAyhXq;U%(!`xI*+^Wf3Oc4E|9yqzIyhdF6%P; z!0d!qUxqhj*rr(j^Ezchck7cKSzGKzVs z7(=QN5(#jWWl-~e5QSN=QEol%Mf}=*I9@QWQ9LRmvpk57ScX{W+p{| zat~aCQN{YNZlvXKAK7^&{>+WcL_bqo+V`n9<7CEe$JRHpl>{HT(!9h7w%~U&1xDPe z1TP(^ZJyfg+P>q_U}Q*yt6S8mDL5UbjD!L#Dwgm^bx#MvK3|?fx%I}ELxUpZ7~Az(*%uv zuvQz5Zs`}(fl&9gmfwaVqXJbv#vC09u~Dz-Tthxcts!hoGq}n-5*6)BS|-XWlx%^T zfw!&;koQ1q%nWN#OQpMQuj3;B8W#$F=FrKyW0T%Dwq3A@RM{Wg@~R>-+EC4Defvrm z(>@p3+F)o2Qj>u10q1ULvry5W_!nqs>e^@BFaZ5p6Tucz)?k z`o+)pmiS)4)L^D1s$egGB48UyVMI72_Gs*}ATBDAHO|S6E)o0};fiQ^VoIG~T!wGwJ>gfd+7~jm3OW&#bFvnC=cmIS(en#SOBn6!V98MngA0!M6rO%0pXQ8N%%DK(P{WKV4T6B{k@(e1p5SaEsN> zI(WDPy*J0<*J`pbn=8I5I@Zb1wW6rXGI>#L0$nGeyy40G4;ni{w%G3w&JJNzgeB0K z=2bBxyfl5Z?OMwlH#eu5#oHgMbzK+;`Nk-MEHTwl&79@(A^*j|@_prR8FdSjC>`K{ zM^HB~T1}W}E@utK4~?yuLLx+@s|6vMla!YjfidfXHMXASLR(RCJ7~$f^eyfju&05a zB7Gq30Vikxg-tm+0J^m)!@1nBT*-knl)DI7X!a3lh*G6*o*=0S2i{j1x~-k;oAB2A zSlu$W=)uRcqAs`3uTf`-0LolCC`+?Pk6T6NMoNT{C-= zA{U-EpC<7yj~Lbe;JA9~hD)U)`}^AHETAP1k@Yw9NO3|3`AROZqrIYp251~V(kk8r z^DDmr;o_!~3u*jrt^~1IR~N4e$Gq(lDC1UV^IlsZB!^x()*iECz1j5+_Q-m**vcVN%O~EU3l|a&mbfMtr5>%hHtCt= zY`bf@?Q##pt1uoccryxhj*$fEB?=HcMuL|XLmf=zMffn*VC|@tOU7%Tf z$j6)Q-O<-=)i<{P$%gQUrr)RcKYeVNp`cwgXIs!T5jdAg?0m6mve)C26dDISasOoQ z{~ufYzy1Dynjq3=tF8mJYQ*eK6ufmtb_eK2Yz}<*D~ZDiD2jQKuo1Ft}1h`n_MtH0jqQMFydq(LSTLA@uUkMNFA&k zYElXe&NyJI-`Zx&Hh&apSbgts_oWSNjhdFOT?K`2wKvpQUA)Un+aTDDc_)vMZ-Rfw zSE_)G3>!s}kz2npX!(UeYVJHxltK131@T<-7PH;(?P9iVn{I_>2U|D3A)WbmwOXOQ zSX_TGbA1Y1k#^P41(f*2?ayTo?z*PxLUGJZJj$xtHNUu=Ko7^P3q(QPf zGax-UiPV=yh_YVt^UjKOQ#~HHLp+39H!t?F;1ky7su`b=R}k;77)e`nYV7b^BDkF- zuu;wtx5)~Kmqf8`a|~^|fpm)y66`FU@J6>YmctevHP8C&aY037BZK}=+3pPkX5Lfo z%EcVFBF;&4Wa(2MmrV!uKbv4oeYsH90_G0xMU7J|Cn)PsSWFUwW<33bk6JD7wUO(> zXbDE%P2VBHTqo&&{6-4Pmr<)G{5K5PyGH9LWxY51 z>GOhBNR2P5j;;vMV_849EOKYi?PjJydK?GwJDZto&Dhi_gqC!*5U|h;3O=x#JSM($ zwf*>(Ia=2nz2%sx*~1aD1{V)C|0AzIJtBVr)xKt1xib8RP^L!Q7Q)A`C!pK>tzm{m zr=N4JH!^BCIHa|P`K5E4cbMwY0B@UGOyZOI zec_@#;;SsVxzrmx{-bb!m?A1pjL#LP2$@$ZNLwZW;B1d8B_P@us#Mg5u@IY_))n8q zj=R2GJLL`nLH#dsUDppEEk8Q08psuubuy?lfW-_$a^(<-rBq#34Rjp+T;)nEB@sE% zK9+YzD_QDg5&sLd6lyt0v~PScgSXc@GMQ?1WXiTgEH_co*k_p(#+SLH;Vp_S+eqqg zX0tb=Lp3RX6Wq?D02unrbGSM7@kz$b0#STXxHo%J^L=CJx4~-fkR8s2t);ESCHYpP z;_eGArw-?l6G0m>MY)bKTqb@ddjRyoEIJYD77*@3lLNpdEjq_GzO2h`V;6TO)%6y> zvB#_2&^dAISziIImQ{fRNw44$ElK$@@=QkD14h+r23|#G7ZXbSB}(*?J(cc}T!fl; z5&>GQVs%FL03^uQj{+s*R=+(5(m#xTbR4%>7djL7baEzoZ~MH@$O?bMzA zylIU?lvU1+>dr6kcs|4QehQ6lBg?l3Lp;}$-sM{lMC!RSkIC*tPF1N9E}EP=dot+x zi=Ie~s-1sgf^&vZ&A`{&2hi$ZOqu3Z9otWzWVhwIE{cM@MT6GQP+{22NZuFqeYsA^ z4Xmb}X?tY4YaTyiZN3xD8<#yQx^VAp+a0j8dfrjBK)L%*uD;BQm)`{fJrEdiGTiniQfwU=6fVSABL zbdm8vUP@EvI7Z+gIYa9C)A4;xRo)K@6N1$dh($zbsPj5U#S%^tjpAs&Pjm^3iJ#T2ZYHA(wfR<(yTYP<{N)Ff?~C2pyOZ;KL!Ix)+eOt=%Ono+R%jU%0@~;a zV5ZWq`YU$Cth6SB5_F%Ufr`e$=f zN>oOGUjNS5S1${Y;aG66y@DMpVOw!l4}CZBG@LAPg{Q=&EGwLrpNN+FOL=`{o?U0_ z;UC|QeCsNlXmr0{l!rK)h4W-%u^RWO+TLHHxBQc9#L7lbg+CQezKHkO@xKXh&#QTzSg5Z=}h$E6=AJ-KpDuAoJIZ7$+lJp@-)> zIGQ9g@CbB>k&=T_9L&TOO~f#6+C!Jl7=7|~ir+9*8gkjQ(LJwd!qdiccFf;z$F(;` z&l?(Zu*pVebM4Op&*t3frw%fOpmD|xNFQkgP@vLj6Yl*ct#QT%!dZzM&Y!=(siwY$ z&iaMLIlC}=sC!~r0fCo!IEx*l?0weNSDvhzNBo+!z#(AdWe7lk6qK_4F%dXL--x`X zJ0;pujI5M+iHkF79z<xhrC;g8C()8~CI&uaZNV~l4*O42>!c+5Br#xUi2U{}CjPXn-W-Kzz*{YvK|$ey$)4OQH4tpzQ%O41 zx%fexdb7tQd*6k~!HCNF zeX(G;Y}X(ZkY^5xBpmAd>SANiKI%6jT_?KyBr+fv$wNaEj;-;~vW2P_*RR2wL1% zJqh;c*4l!%typ{q#);bJV{@wvr!ri2TJz|aeeCe+2VaRx_v?9W^(@(m3i-G9c?#Q+qH zn%8RFKjLWEe7nnFvlu^%pv8+>{)t~u%>q!ToA!`gB(-st*}F(QiTh+vepZc?z0$XC z5)~3SUgRUSsq(7J^I3+=%cUq>$&9?G`X$3mqVigj1)Gew5K8dhOY}1dB$W^ z5X8oFy{?2sa#S44JGozSOgIVbiW{08dd^20GH`p^b!ZV@3S%)SZX4y-eTzQ?z|}*)6{4rU&ZJ`MIt6$> z@Pb;?BPGFz<@V|#S3Y`rScK`!U(AZI8ZswZ7k%_`5i(nJMyG#-9v#M7)^^5L_*Kxm zmhIZV$?M?oxx0)KkC{R0&9gI)x;-lnvS&Fxe@rZKEi`zJ0l0;GFtV?O@(mzJK9%u@ z>L`Hb@Cn8LLrY+d!dZFSeCYzc=dZmGWEPE3z zGHDxeFI@N#hzw+vmC15cY+H~Uh2Ulqv$Q^cJA((u_pP~OE=+ykh4G2~OZ?Z^_EPBef5kQmhdZCeh5mOx zEC*OxfNBCm6BU4h&5Z%8`s^LhpYj)J0JB)?BiRPE^koe3ol`LFTAJ)hn7-G@uT?P2R$I!pXzJ&}x_J#hCeG8B6yc-{N>8_W;XYa7il$vhvm)9Xvro8U58|mRu7aE!LUyZm1AD{4 zV#TQ#4ifu-b5v3Vm?pt_B5gc^{?5h?!*Xtknv!K@{6*M^36L zd|t2fV6F7;{zyIaG0ls)PPDYsl%sdeme$YSNjq}z{OR|dwU-0LBDctq(yDL7&mx01 z;0}XY8Sr*a%ep~1vWtfv?gG`~swBI5vT%^)PIj+jRZ4fFt}pTT_fM|eGGGx_-2dIa zLI1C_b+nOnJ7%!Sl}IbuJ*p}j-=ePxo|u<>AV6FzN^GNS0I9p_Q5H`%QF@Mr_1CWH zZ*mxqi|X(W{E}Macqvdb75``~B;=fUP<8Rxhl5`}cfU1ik#k_6gn!-MM>NN^5NJIe zn_SYtSl+aghglhN`SzPN&$3wU$G&B2RfX&B?`!IU>cFL7tq*pLf`oe4N8G6Um(CuQ3DlW>1vBdc^AJ0NXTuRYD5b~L%LJ;0=X_!f1_v>61d81H+(~fkXAX`g81%CtiBG5 zX!cj%aD~oa`$HCdcXf)BzK8$w{+;)(YKsT*9)!@Hxk4HyVgbV>3v@+Z;sAg=3x!e> z(cYofJkPhokpQG~wyI_Ci_$DEnY=YJHqkfgpR0Gw-PLXXM}Ob#A8~;z?C=ZocLfDf zN-0oh_z^YkoI?5&=N%8DBm4>3;ye*^nh`h78HTv%cHI?n9e-pR&Nv;pk-Wz3(i6@r zrMP46)pqMlLJG%R&2IL(ZObzgT-w&Yy^o9qpWE-%*PC zr{G(nAH}6hVj$J0;Xh2WT0On!NGlCKE%=yYJOrV)-F)+d64obIAgMES>blaRXcn+A14*J_r1@2`#Hh6m68lm-_yp) zuq~PISuFA3bO}fJaxzy>x6@zEZ!dC)w-?L&PsVVa;Y$}ox^tJJLQ&zvfxs2A+;B0zYlN!j9Sqc?0MI>-J6=pQ;6h}E78Kl#^5`!SF*-m@fo;htF7G>V z;cT6-Zeg@Ncch@D*02xx@}hCj{eioiKO~)amtr+`)vmXe_W4U4N|_NvRwD+<>XCm= z%1v|yqJyj$xd~R^2VBRlNl1$rT?JeEQk+BsMaAkbh*4w)Fi_87)%xS-$Q zIZ;_BCj43vkU#uz`|)BW2(vjaIO4|y@X|{b4oZIx(znV-7pkU3AjNcQkX0kly(DFM zzYe|`ujlgtKCkSD?tC@@X%01Gqhg=r4yC_k&j6y41@3}r=KB}XSMTFSUSn+Gc2STx zMFh2C;B9y*NNtb~#(q|FYUpRA(u4_{!#xM4RvD}9Ak&~=Qx6OYMD~^6` zPjGYccV3%qIPtPpHOk3TF?9Qj@sN|+TJ;1v@$xejR_kuLG>yHv5vHf&~*aL zwDHs8qB>DZLRI}=%W8@-ziha2lZ2-o|syWT=y-QOOzTs6h0;;0t0%MVAnI@r9fGRM_v=WzaJoenm;BoC%3Yc zl@T|C_2&)Z*x-yCc*;hdIXwd8$LSXf=ui~G@5qpTlu;cI&wlNrb!k_ z^#FKqt||#tUGX*9-c74jH5q9*WbY9NX|z8cFlZc-x<&F{+(|ihZg6U4s4afo_QC0{ zFpX3Be+Q!e8Q5=z2ZF){S)-hf8h?a~mW}*Ycwhq!&l8P)D|~Dx&3gSGEoJLYz$ec@ zNo3HTSWvgSC1vZw#o(p-d+6T=P6>U)%kn|jz8O=x!6^LFE}!N#@VZkUbv`_dllZ_EZ=G>Utns+Lj86 z8Oea?aSfU@yM!r4n;t21`^R_Rnve36t45rSgH0bkh*)+7SBitIw(SC)D?e3Z<8ucVj(@=+oV{|o+O#}+ee|=Pf}4yA_7OQj?>2(oU&`C zv^6>ve)ThIqZw6H@e-L?Q9CsA_s43Z#xnRGEv{#l(-yZtYUsKwsU@#0 zJaTzqP?=+eHgY5|tfJ=q;Hmbv&Uy-%f?zSoLDC{d@qScl%AS!AhcEYjbbq`wqX>C{e(3f1GjgmzQ8(QZ z!%R%HKOu=Ds=6(v`( zm(Q^RvQJj`|13&bbkX7CN#8NL0X_99>?i_-n@(A&T$$90QjI_->!4dKQaE+1lldr( zKcxWu)Y6fUz9&QS7Z3c*Gv}%39_}}*vJyp=`D3%T8oxXhP+#ww@$8LdOK<;9w+jqS zM_>9bnib_Ec_LB17E*zFT0wRQfwPnM7R(fE}O814$c5y&P((U{i>Y zCiW9D+I0~Ll=XFxhSa@BZbUrFioixR$h+Ya72nvHyux4_{{-vNOVMUH^kjq-Nq|@b=JN4r&&#ta>{mYNj-LMrSc1v#gK3R(7B0T8!SDh|A; z%NWHQG^V>cYp*R^d?O~|y$LTyY*PDMK@&PW2L`Kro7ny&;6YW%+b@KhB|ARX(Jt?8 zm7v{#82JsvoCxY*C?n0FW}~KX(GM`Rs}6mWQrFo^Sug!t#1O2Y=>59?9jVtD%S|Ry zmX%%)=u1qb;?+XSwwHT2#+Zj$1di;O-+c5j|EK<#rKzy(*~_kj+ymjVFK;Aetruff ztM&}dMlfg`K{A)AN{ns-*F*?uEl6|NMB*Ciy_&X~%p2V$=ezX&!YTTvn5?T6C4e3s zJFznE(0~!kc5;Kux|+S$&2k+K<1SGMz!uL-Y(cQHOdj-W32@;&SyCP6gX$~P2I(rw z8vAX$GW<={ni5gl4%oTXCVzEb-M7!ZKXHcM4#mTxz9XAJgQGLWw0eD8&Eanm}xr0o!V0oy8AGjlBji}-;mN8)A~+g z`26aZE5k3_%RPH!k3J*rqZWa*acpA`I0-mOoDG%yK`2C^>k21_b1Rg6hlpo{6KmOT ztW5SgxiZ&Hku(~S8epOe{;_fyZn)v4+MDx^<+Gy>>e4fk-SSa{4sn~Ps*RS7s;9J) zM~r!2(}{k?K3H&+|70KtF2vnD6SG(u0!`)~vAg4)kXsgfw4>fD#=L3qlu_1a{F#P( zF57<5Q}#qBib=DVIB`fnroiHVU2?KuudV#r8i)hJ10AV#AAP5sWy_(Vn=KN@4126p zm&m&jIwW-hxoyFmj1-HG$Bd{%8XWyhd?28SENCs7)XWQStx}Ns>UHr-Z z>RC*XXp6ReAV91@{{4+C&Ijl6z7?n$P|Qq2uw(GDr5iy%f2!PCgwp`S`Q{-6ybSaW zRDA_a_LLAPWPgY{_pMEA{t3t0U%UAng^!N1&ANPmLkA@i2}Npy)s~S_oxxyx+;TD(XWSn1 zV=|`h_Qy~gb+?c*S@uD@OZ#sz!)iv0TMqRak1~XZek=UZZctAJ+6`Awzw}vUuaHQn z*;;NUJt2w`gmXCx@}cY8sA;N%_;JFEqCwO!jvw#0hIXkSnFj{5TNikfn%Lq_o|~e3 zZFQ3t`*KN-olAIVPgC)+-NtXr@md;3eK~{06C@OAbOP+r6$5gW`dncP{+j+C*ocqT zk(%`4@R1hONu84GPY6f*-hOTKF3JgufWzErn{{z^@293kS(jr=)t*Xwg;Ri_)JWP& zVp3`;EtoaZ6T;3bP$(!L7>IAd059+t%_K$~f6j{7yQf)8e`ix;t|P08eezRYh5fF2 z@7Pe+i|Y;?9b$|>Aeq;~`0*+94MyERV0!Ne*8&u%G^MdZa!O?r zO0%@o8Fkazjl@6FYi+h|=1kU{d#;m6@B4kzdUpKXH9eMQ!<79u38VvHAq$R0XdH8QEH0Gcqf(@A@vW;<$kfSc&gI4g%p zJhBu>T_}ejx3R31{g$`1g$Szryr+~xBGSU~rLEy%KZ=ezY#-_Tbq6%3xZzVV!o-RE z-9YQ6ogsKpO8h62|AKfRvqk9o(CtZg5!7N~o-(Ev=O9q#iiM<6y|d&~KA$37n`6!| z^QoiAmAE{Lx*Sw_Xcp5yM3&+Nq$SLfKrXyJzZJ9zVm&pSDb6DDrTK_Mogd0kYu4VI zbh~guta;0)>xrvX!N)gdZ!$bLM+ZJB$g^UxzDveNqDhL~U{X;ha|B$q4FQ_}Z$h<0 z9c~8W%$6#!5AIY1jnDry!4Zi22P=q{#c$j`hD)o7(Pif9%NO9WPdejLL3n2u@X$ndkL_l62q{gx`^>L^f zG4jKW6~VZPMC7)*R7_?o;Q}<1p>VG35blsNPG`nb__;~PmwBl)bf?2-qjx(EC8+^K zfXZF-hle_bP<7c?=?bJiF{73|JuC?g*0D{XZ-oz`Rymhr;>d2Shdt)GtuZ$m(_U64 zBa6AIKDaFomr5pg{=Lcd-e#9MO(X5lt?v2Rw9yGteu>RX$!YnpH&gILqWJ+<-!EK7 zo5o3eVJ)9QqCv^1pFh;%@-)wEB>pIPC2 zX9tA}q}W_rInN;QhiAHw-8_P4r;2xo>R&9ST@DX*waW`JP8MWfNM6_eT8#`KS-h^0hMn>=Pbi+&~Gz$pJzgE`P{dz!a0k zLHEJTt2yz|^*XW=ZkF_c!A3fZy+$m*c+dPGJ}_rmKk4wElAXNQUs^%|Fzst0l#*{J zt7in0*|r^+C5%AeUl1;`9MF*@%mrSjGR(qC*)5QW=BaA=VS7(aEL?3o<<0v08cOw` zx%}0$(6!csXP+nSUz!gIXT*G24RWW{1FYczse5$~5<#?=fhY~HvPC%$bGWX7K49-* zQx-jL7S-10QLI9piX#SOZ7c93YKnmnGbrx`o^(+}@D@+8DEWMM2T66c~(d5&J4XH4#{H47`3 zR|QJez|JiT5NKR&8B-A92Ct5zVPijF_-8+G_FIHSx~{iJl)+A8N|gt)c-jGp$9+m4 zIBdNAXxrzi`*h1JFFB*)dcNj_%;LvLEaDzZ{t*&-pjLKEqKVdUJ!h5FOf=LAX3VL> zs@xvoJKIM3b?$Tdw#mzl$1O*@FXse)q1xQnV2{4_);*WcU1{pE|CNOwe}x`8_8>X2k?G*skIh{4x%o;M9>q&3`dGribq&^^bTHWvAGU_d$GEaC%) zpV;Q}nu5l%rcMMqzxuL|ppjl2dueY+ zv5BkE`*t_G1pOY4yZ*o^|9brwSwgjC!rDS*=>Z@@4JzU9|7R5(`rY$yLt^In zvfGT$J0W2>O4fsxIaXqSPRE}<(RKnHo5S)bR`<9-*La>&E13-Y&4EQKU zhzhFMhe&d|%9ZW^>aJAk9qc4L^uztj#Ttuz0-(9;a#5=Z7QDpPm(HL_@0@I}D>(xD z&!TR6X77AtH$&c%zo!eY7h*blkhr_j$6wp;;dN%seS>GtS9F&~qY5yvr(7ANsNmSLUx|q}@ zW~>0$*@Ib0JR`fOnsTAM$)TJOf8xI9ZVqiNa}KOudaE3l z4L-pIgrD8WI8|OyU4NxJT<7hU1+v&fmIwGB=MmS%6jdWp1Y@l|wsJ~`mTG^7SC+a5 zs}#vlgRhC>T#wUj>L1@4aWorkt)M>Nr5k%ZVTox8YA3@T`v1E5ZT2e80}y6YIWHxu zR*HHz@BcDoMt)EZ&R;*KJU!#3u3UowPU&wT+qzxyTY-PKI-DD)`PC7vnu{@UO}dtJ zbKg?E;rA|v8JF@KDz=?2)yGnwR;L?Sm)a^D7aoTDek-7#4V2>}Dm>qsxw`iAVq|efBrK6DC5m1ggm;c3R>8UlVXUy$UpUk`dWrWjf2}Ym z+1`cwQrErj7e+O7!BppRb~y|k?x6-|EPr{;<))`t?REZz11|cWmIUgn~UERert4Vvh^-ax;jwWpj=GnnzEicy-wbCM9uy!=7S}_qe6m_ zE{2Om6!F7;)CEvT9e<$3u8bcCFvZzE<`E$?rBC*W3Uy1nvM zZ0UYkxqxnjB`LF{Xgpt;D$L8zLnND1U6TxZ%{|wLJ(!?;SmSKEeCxSLy1LfA!p&+l zA)iYVsBx>brS^l!O(fPD>0u!zL9Tm>5QOP(V&0}sltEU%>VmHGhg-3%ISaC#_X9Sb~(lY{Ox~v^A6Ee zm<9E}hXlaiti%lem^G1{CsRhj;V(VPLVZ4uL&@LipkyZ(Gl*rvvw!s=;N5+H75Y`T zOP0lZd{b=Ouu}H5$}{`e*J}6g7JtU?^ndvm;nXC%UmC*A)0uSxwZ`_BAOF_;JHy6y z)y=y{cW?Mr4sgm-`hOfFQ@#&4#^{e19+q5OU7hXP>>-nrp5(mvWbF?ZATcD*F}m$B%3S3~CjyU2F#1 zg+9csIJo=|tof6`%x(lR|5pwXjQicfE(KWFwF(m0G2phduHy8NF!bUoU&P2n{MW_&gw$sUZ@(>vKQJN_W<{SUhx8U1$eakFpw*TatoeK!jX;4l{7R}Lq^ zR!$Chj1975PnQGrS{7Jr0v+PpTGl2c94Ih&^1SGrny30Q6YL+6&_H7)Kx87Ue|P3P zZuvtbEfP5MLFR&^VEOpn=uZt8{nY`ZKYCGey8TN&pe-m#^Q_80AmAARj)eD@t2}@I z<{V^OGT0M<$zT$Y+hGBhK}<&#UyqKgFrm;N3Y&k3Bms)@zkKZM*$En$H!GSg7fD~} ziz>kMV3~XvbrqZr@L;)0U&P@m!O71-^?RUY!@fNjLDh1*b@P&*Y4bE_0NwKc4*Nso zzrVr%Hw^MWYQ{#hH=~#RA2;hEF3P%KItqgVY9QFC16jS2ZwmZgg1L1p^hBUHc*vs% z*4)B|1k^3XGoq@@3)J!+d$28o?|MT;7nl~R8^e=SRIOf`Ib7INAgz15*lhuTw7S0) zn9Zsq)3C+_RmR5ox4ZwAL(Sghq`j%wwv zr}bHiZ}y2KCmkAem~8sfsx;2=JGcSSGrrHd?4*r z-Z{w>xihDYe|m$mak+Tv+@r-SmB{s_HTy%1OGYw+)XHI-d51rJ?su>|CJxe<)&e80 z&2+dA+7FP7fF_992MQViym%lNbHExdPmDy3D%mf-H&!h$3xPpCCsm4NAv-41m@Pz2u2NB2?Z^?46!jz;hG;;ypu%;tTsPmH`snhd#}e-*>Cle8OP zA?9-+p!maffd1R19MjtLzqI@pyV>@oSc=WmGK<9QPeYFS;}%ICevW1?@EWUyzu~3X z#C2m?65S>?93x&#DXa%X6%`UlewY28ey$s;)~MUN;3Su}g>m~ubFt&tt}ia{`~u6G z@rlg3-AM;xt(ou7Hl4F?gD|`6cI2qH`+{&%WsLa8{grX30*Pau3mV|v!{%BpT)X~s zynNHvEhBNRhTQ64*#SYKP#>uz36<0?Zn>V@a_i;mR1MAib*Js;Zy&Tpq=_Jy`gB_g zL|Y(G{SCw}VJ`^o0xeD}vZfi-H4{)0&|nsb^+2RYSb<%Vx`)5W8dyEnJ}~YyTo9Pk zlJD7cx=ISP_4Jsj7L#?}l@m`zGsXJ@SLkbLJ|X>zQGf;?K?)|4+~A?-57`6ERtrw! zUGAFZ!(2=Rg%qB(4|e+X?NZuZypfD2_BoDU-x`qnUEb+QKtM^6i&O;L>^Co)3uva` zg}I_S`EsjfUM5JiSMn`Dxpk-(no|m!U5*Jgl%+usGl2qW!y3dJ^7ZXC8nUjFureBq z@luu)CJR8eqW zIxjeHp1eLkxjncr#P;f*3k}}-?@XE)?mbd`&9qtc_*ck+{?{?y@wbqWB}eD(> z9W`UD0VZ{J@%Rj%m&o-gXOW`^UQ9iF^3GQ&KfzS%i>Gl^R<}eX){PSxt0xjY9AjRV z+)9ah_{ihi4uw6)g(MZhHz>iSh##lHdHkKOGOnP-p$~!r2{Y#`#|YF0>w!Z(mbejK zvhL--G0uHX_3?++^{9tGvtpGqil_&-70=!C&uY0oT%M%W5hz;sQEg^uLy`H|^k?UK zuoHqp1T-!J1+Brj_ zWmP|O!RjUFKEp_XKngOH7?=w=%Vy1P!EX7$`I5Rs2AWycywjOV3NzpLu)!$lLF-FLwn#cLyV=J`of z=@yeio-}(aJV9Zt!+?!a{IeYS2QTZq?5jJIpssGb**c0dj@#^!g#!A z_V;wF$jRsczM1w?OFwaAUXD?W&-{3$Z`5l26HbBaafE}H-7PMr=y6<%;f`%Cp=9FD{*2=jW@{t}O} z_54Zo5G9T)_;5~r)zBhHx;B&nz4<*qL}s^xuzcr*nTC$jEt!;=vG$WT3B(puznLsN z01}8RAP1=MByk+bp}-SB%UK{s;z3=eGH{9s+Ao*(qT-8fQCZs;bAy2GP1cuA4?Dy^ zTKq-)_Ln2bTl-JxNfrCOZ11ZM>3jkx<+1-$HJRVNO8-sq*S`p6E(q^l3LQrzzyOJ@ zcK%YEw*I84=qhsncf!Yfaa%dq1tVkw5m0!lU4d-B3ZU>{Te4(ZW;FniS#7yHUhUnE z0kG2pAXDsr50Lo;1s^v7$ib0$q7Vipq3E1HU4y5|TKWU>WDxYWwQ)KW{c^fqN?dTY zlkNdArH3*}lVaQ~w74@YZANd$qcy@QlSU_;?*`&+PaA)vBw@xD5}mC={6@BK!1~JU zs!c4<_)3!&hT^fDx;LbkLUJvdxsFjw+5}x&$oMzWT;M zEjB))Fx-1OeJ86kCq?b$(bO1=%TPc4e>iQArF)f;yeb_Zd%||mg1o7OL!Kyfg3n|AezK`0djXgAQ*qk`ki?B&Y9C9q94b;BjtuD1mBs zv&c*GMbLCTB(QQOS+q}GKmO40o^}57-RnNBzx4Iex>ZuS7qz8{dn*e!F>X`Pv#4zAR9%Z;0 z(@1J>`MXX`IyWa>xY)38RUj0;L=XN(DwAqLZz2qoVSyiVQezi8UXF@(~(JS z&rNpbz_%x5KLgC4RP%K z34Ga=4_#)k$LWl;hJZ4@!KiMkgvZC!QQ7-fn6mdshJ>&1eiktbc+*`R^j(9$0B4&T z3M@bQ!;@69oaA0f6yJW-k2W$P_kqWwxeI3EV-mWSR)Ufd8lbq}Ma8~CjYRmc0AMhO zcA!-dL%kJ7m1a%*o|MI+H4r7Bt5jfOlp_GboZYx8LetP@gQd}ce8|cq*pN^8^~)&fdFj9;YAcT z2U!m-hx2Qs-U2L7BdxhY^tX=w4~yzCOTB;i(+-aLy_!~@%$8sjH&>Xc`wjB$K1%N1XOr!^ww4FNxLcPd-}z++Ndg`#8Ge8pDl8lc(*A%`Og|f(?b%| z2d=LWyMGGuPqgBo>!cz`Yw?B}VWtWKlTS2d*wi!cRfxvX7v(QXJ$)=Zf2;A`azp-M z^q$=pUhm&e2Bl&63`UAR0?@|kC^X!H;yj|EpwBOh!5IQTKPW`?B-GIMw zT6w<+vj`HW%F$wkm9ReRU~TLjRZe%bYu+w-$en+v5Bsw@057hV&qDOCO_ioju07*( z8HkL0-Spxt#Aiz(`sRWidXWRO!vHv_M+vU|AgK zn?i<$pg+Y`f%dT+-F=DE+#{PERY>XR`=%M&oF3f`;oRa0~-Xp*@1%1&}HAp;{mJJQL(qL zt5dL1{tW7XEb~F;y+k>>ePCD>Lg}=_}h0?d6Ju=;g79!{9 zVNj_{bs^57DZQ({C^j4Gr1rU_s>A1zrtVq6MS~kP*SGKK+x%$nxaOB5SGlcm0MWNc z!(cU=SmYjUB&{;l#S@e_!I_-#33_k(DJOMmh+1MbC3HzNWnykTD&;HXb%%cfyHXgaaN6T;bP))~E~b6mU7U18YofKsmimI@KQv2n@?d zn*Hak4J(+(mVT+cosR3hR4#2TUjgR>EkOPOpg?mLZsEI*X|aU|SQ<5o!Kw6ehG2Ig z?BGDFh}fqfp<`TE-yNj75MUe!>I=8EUxl)#?C!eFt_(l<1Y=X7@7zH0X~U#DU^sTu zJw8nh8{yl4Sb~zhPASAFLAB+i20hL~eN!zLclQtH62A$#~4`2jJoB(ZgXw7H6nI8@h8tV6cjg5 zb~EXjlGSxTt-W+$pqbnl-EyFrmkH978FCVUNJb4!2A5eA1kg8|1Up zOJ222c+U+;g``a`J+7)aMvb+Oy4cv8pSttNs@u`77rUB3XX_BMIz*%CJWb4;?1c zcA-<2kk1_fI#XNEGuVPI*i#@EFevDamCO6_20F10G;c~9$8&-5dLy0mQb(YZ7GN4jH5!AAC9RiBmr zKF8OU|6>o#mw`WX@yR2gY2hD0#kFl)^$fE6WxsvBRIi!vBz$fCijN{1pA=@@V}8LG z1PFSj&o&R)`MvwS*@Z9tKldjDq1{`1HF)>Ax0)tufK7~b9ZABIREnAG@l<2nX$nVr zZajy*j(?)+$$0XXJ|&$;Q@?i3Dd~=#^{?EQ-acbUaeQ9??w5mNY-@oGpLdSaG%?SX zB9bJk0$sVi?seZyx8Z`1w_nZbyXEYC^vp#?%d#wCv3hyC?k&k%jSsd}+f~HirtX%x zy5e4t$<~V}k$3rm2_Ya-{;87!&C&p|{MxNC(g#%dfMR7nsAMT>cnbXaDp=FYLO0Y?0fX`6_ENGw{Tg^a}CbF_@vFTAz;JH zv7-w^?vdjC+5ug|9<(1HicBz&S_AVus1IzdI4QJzcA=D{$+M&l&@<~> zhOC5^OR?{w3S0a%e~yqSD``h;O!CtCr;u3a59dkzyBj+^!giQk;2-iZCQnN6kK!cW zm`ZW2C$#vAxG%6uQ}?KvuqobflfkP`xSWd}=YMwc&ZS4VSC}bW=YFw#nn%Ldjx~oo zg+6PhJ+ScC-EV+mx_>5dl3^?op@`yx()$k)S*Pd#Pqm7E^IKa|6ZWXti;B-n{^n3W zKjGkxXd@4&_b+EScI{33F;*!bZfrhvx!KcaA~^D&6XxN&fPt+Gf8$p2ZV00QhXoxw zP&#tQ*Tk2rQA^m|HFc@7^mWH2aL))@A$xh>s69Ddif^mRJCuJ8C{5Tu^6J_#$MdJ+ zNUH@WgyoPA@UXRpg{)?BczP?afj{Qo=UQ8G0l%9I)mNXt@|tt|u0h4|-)Qob4!quN z^Jvvh2LI$xgWtW^8{hEQ-TSVp-e~t4Q^~RwuiQ_sL{Nzrmg7930^g@QV6^i;DUt zzs;a!tJ@w3zfh#Yws?ASw z24W}YI|6$O!J|Kn<<;Xu1^cNF9Vaum1RnSGTs4 zViaoYt}n7FDR&*r?fieSyK~7*gP6p)|Mcsppq&VieriMiZF>irGB>a!4k9>cxh;aJ z2~kKh2$~~-)L~j-sK&G%>F9vIZxa&=Fx*^)tn|~X9{r$Ga6X(~~QQd^f;HW-UXc&m{GzCG2{u)Meqi*ZS>yi$#&I3=ouast8-bJU9=+ z^9i6{b-Oy5mk;U}@hIV2dS(ORC_wTR@irW69ctYp4mx@cT8pEz9imr7d#dNKCVd+i zrwd$zgSWo;fCLGM*urbP> zPOhUatGT<{bjc<=ZfcJ*C3ezhL$ZbF`$2lPnXR8M458B&-q`f~431 z27K2Vmo;1}z<{((49R24O4M$=DEqB<1Cr=ljiwHH>oUDH8@_=~6$sBuwA_@KeLt!% znZ&ew&6s#BC|p`Z6_NftP(;`Ty&n1wqWc9NgdD&q;QZK_D1t_>z?kb$+bU&=9aNlj z8k3TSYCUtuO%=LWr4ikO$Ge?w=jJ9A z9oIdLve7NU{~)>e9)_$Vz&#ugzzbv*9pJkh74}GksUf@uv*NoPwiq@)N9i`0y&?W; zcDwvuKkL;=2kU}-zr5bOg)vLV9E^sl5_zB1yw1>F|8Z&(2EhiAyf;9?|JrmjJ3NWxG zmr;`r)kC3Z8TbIp(sq0DUp-Gt-o7&f!Z^A;gKGzyf zu!#>ou!WRN%0W4hiY2%Ho`N9`kh>H!xQ;GS1th2~xV{2;DVFs_6U$ee(2kbXrDDRe z)H_TJDpIIXa4cIQHg>=7G=tY0l8NyW&5r&W*chDLp_ux{|nuL(9W z)!>@n8|?CbN85IOG+J88!HOf=)s^{#QPyTT9B;~IuhjH>+cn{`OPK9HAdWCGoU_gs z#Sn?}oI2i59VV7smAZ6lWQ2)zF6?KQW)m~QYQ0+@)K%SB@RZrCmfQZUHdcXhzD%2( z=7q!pa_b?%8koq*n;t5!BgJLOgRsWFkvTJik@HZ^;P8qOD|Fn zTdn)LOhX7S@Kkcq<+XRa{CEVyH3Trubl(qjbxc5eP}H;dZnkS(HVe z31lmr!25_hXCB}un@3VlbuGW(wf21!l#O9FHKAU}-z}zW;QQg4L7gkC2p{ldjJBmi zp4~7U?O0s#dbI7%Q!yS_EU6`%cD~nHMpPPw2 zS78AhS?zlBeH^fk2oAWreAefc!K0wi0%B9pd;`)v!fGK2Z-^}tn8G$3AjJV%f*u$S z$XMs$4-?JWFNN}S9BP;D-=_CeWIff@@$u(>_t9n>Nv#`o)4~)iP1jCGl|nW9&{xnK zfc(x`LJfewpsQr2B`X5Q_gUFz6<==4d8#wACyeMJH{C@v~n&b5n`K^UO9@p}fTQJu1 zYV_Ba=^w}R!{hHaXnys+jJbi|w#-7gdj5 zuUJnI?}jexKP_*lB&}!m3r<2mTajdSgpB%q0$EgjJn@M$+>?Qi_2aF)8tIhKP%M%~ zzX1AR^zLFd5w-#E@JX7E;AhyHb91_3oUf1TZF1Sn!0%p{s}XM!pcV_8)^uAr9H(&_ za~_SYOS8=XZp1V08&Z_^^HnVn{hDYdlo`EEFD=XAjx=O#Y!~c&{0@jpE!^?PQ7z<8 zt`6{JDFw}*i#<(|k65AjxivT&ljy#sNW~-Iox*Ar_c03UE=klxhil#lZNckv!s?Wj z;SR2Hdw*TMvTjNHTni^u8fNevr%#*9Z%)GB$5O=MVK=4I=voq2e>*97%Pf{CgABI%%oY~ zdAwuStxOF^l4CdC?2+KAwHVXN6PLBK18HVS98@{+f`T;eH8;L4pD4^WdL8JBJTcvZ zw9;45q;NTG_XN|80$HHQBBg-$>_k(mTnk~yg3>X4t9N=&Ag!a|f^*%L@(ysFsvA## ztQk%$O}m13ZUp*KbXa4d-U^@|4e0gs%j7Tw%{49X3kdWp7^kgkqe{GXr&qk9RV0qQ zewk#CjcqQNQd3J9bqhf2@7DWVd0t{1n?8A4AoZ3EYu0C(bP~kD+KjI91`Vyf{nFsM zBC{|J{CHQkRJ~q!S&~PRdNnq0tQ~ir@~zX?#M;{v>$`LH)5Ae}@eMV1*?i-#8neYL zR8JV&d=enrq5yE`qu&+78+&=ba-m3HQ#EV}jy7c3q2|steaIPdOc=eK!5St98#YJ0 zzJYZs%>8g&k)$3XDR;OKA`D0X>lBeF$AOypcjXW)O@ovZ*nII$o9Hlyg3|DXmt+P>c=Ck4oMh@Q7l z**d@ZtoYk0anqE=A-mfW}SMy1s%`#ABeEurEyA|Rd}`ZLS_ zTW9Ti-*i3taObJLSM9 zr%!eoE;G{=FryXg@>$jrWrf~;IekZ2j*YQ}7c8Gu=k`}L@~@_TPuv<^wGvo$pO}vA zHWd}-Rf)2v<6Jg(>(G5$Od%z~nNC*6-T@Dk++e3`*PPJdaLVO)Dq2!!7FjsiwdN$r zHOBGz$^n;0NbY~%-4Jpz|CSIRi*!EjK~TfMdT0}@!8gaEDJPK*5)~w`VHAuUZ2ray zG#%jFSyTB?q38O%+(0b!+{^ZhSCA?37BBP2kX1)cXx9~gYUt--&##$PH0c^l38S7Y z1zbcWffr}7xyz@4CfWurBOGrP5WJQlnNQ7&=8B!-UVPs;c|F;nHUIoOnUkNMQQw_& zKk+UF@jK@IscYN&U!^23mLl=ruERYA4 zG+#kHzyP=8{OP{m&%N_>355UW{9?3n{(oo(5rEVtv=G06Yc#oyzfRx@s|}LFlr`WX zpzS}JcDq6@gGE~J4Bzs;W$TL5)}!wCq4uqkm{ey@X6t`Gu~4Y>;K^S7O-JiMbDuv{ zvx~3`6l51B$MtG`KUbTWY&)gnZZ`eUmFR9nO$31&bpiQ*J>ugUH>>Ur(HGmU;@F`Vy( zd@$W0ETE{AvzF8QO)$Ss;U2?9sgtISQ|@S73Mn$$*tl>eH}eC}?@jr;pDnb1z0f#x zrDUy*86G5FKi3K4$Y90NQ5dlA z57ckX*`!IeJiPL22Kw4~<`rlI{v7ANkyvBaf%E>AeQVxJWXQEqno;X|zBpq*9|-U< z9CMTIxo819Xblr;NWdEH&k0wPOI?dzpX^ZNKJpRZI9?gZGtKW}D9yHoJ>Y|HmW(w;Vq z)!$BpT$F@~8fjji#P@(|(|CA64APS`vH;bfWhkwS=a&ToOaBWs5o}5@h(y-;C+uKc zzd@+Ed@g7OSL`Qx;CNSV=i-EIW$X+{%BcH8m*t+~ATJ1p+ki+^?BW-P;rvElV4NJ# z)a$#-jEg$m<+Q-+2aRRn1s=v9^B;NH8{KsJa{dGdGb*2IR8mxy=66*4im$F2e$Q{Z z=nI6sczv!IacXXQBIPFuT!-JcJ)757UCuJiKKxcA7l#(;qvO%^rK5msAk?YG9u(tYfRPi35R7249C+0}!bZHsMXOtV%FY=D-3$Dy`{;XGw5NY@ zns_^@wR)w#{@#Gy8Xbb*LCk8w8IE}@C><>vCxV!gJC)&=Gq!{;`kuBoAdzBQ-=e4z zo@C^v=D0;!G9>ti$lBH+>uKcIA0jhmD9#7O0Qn&@D)mD|)n2(4dXEf|$NlM)G9 zyQb;_`4{j*;7Nq%&hx114>bUu#MT2jk1wvQ;#d#R_=LZ zZ`O}uj*m*g*B}K5nu`RiupOY%;?B(nCEgRz;&$R?^f&025TCSJay9gDHbizV@^1!4 z2C7>YIsm*Qv>?&^1!;!<%Cy{ak96YRj#bMC@m{$0ou z6^fQ4hzORI6{sdFxXE=4M6oM-3%ZBQ!d)ElDbNmHXdDt%I{K5iY^E2!?S}C#sxZ^c zvj1@M2s1H6%bk~&@X=l zdjuY;IRLrSduGp-$dNYmo(A}Ka$|ALHSVgC*o?QI?>r9A`uZ}yBw49K`lA(;87WY7 zEQN*B2si0=gdPO@hO4z>qiO3>QBe3t~i}*+Vc}0^8hjt%a_0U+p${vIK`W2Ndn56j0b^C=utwKQ)~V7M!2_e zX`mir2G^u2Yr+`rjH30L-tQw9;6zsOIp!E+ud+czM{DPHskhi8`*h1PD)s#j5r>LU=2-U*%HoDArScorb{0Nszq~#>^lYW>w`z#)5i>x>&nwFjCliE?l|P;hZB-mMF`4bgw5UsWVa zk7sS`pgLO}oG|D+trxy@Y9V0e;;A%gr>LnZb?4w6Q+hu6cdwL(x_?P=<*gUys=@^z zky#FGd_6F-G~IEMoB+eVsDf+++t+BtbZm#?-f^~G;`+FSBU zCF94`x~l7MoVxc8(|K`VLV~}|<*=K)V5idFk0BB@L1K3dEGy6ZY_0q>2TABYt=Q4# zw!|IG@{Go3)>l70-2k zQ!$e1$&PogCl6IiJ91wIzte5+nY?wos#7oROgRl{l`}HE(z->wA2TWy3k@csUO2>? zI0Gd*uK`ID+k7l(!+h_wG~P@?Y#iC?9QJV5t}&3Kj?)iGn%ww6-vQd(}+}Ye~?emR#$eI zXah&C`wqqzzacq8IE+o8Z4>QCU7^H|t!8Df(s7v6fePY+&sorDE3$er8w8P<7e*6k z)<8_RLS72j{1AM2uvc%R(|D}r*qN~x9%VND=D1SAqE8a*;}*%9f8w2P28*BRG*!E8wd=-B?hL&L6*~fEMQ$G1svPZb zIw>K~j;rg{I{!mt7tqGC{fF9E|2})pmB0pLHP|J0(!uD2(Wkvu=UT3lVtSQi|rF39m2MzYV?d^ z`{*rMEhb`RJ{P)Q60N6lrq*aJeh`w-*GWv<1_r8BtbrJhUWeDoBeX!}Zcox&Rw~Q$ z-5M)d1&T*Ht8DUn$B$TCMHtDppZqHeEZQg7Sj)HFZC5I#)!xjZqR|}N=^ooUR4F6M z)D*AF{YGr^CP_Vl!&#Gx7D>Uky1c29hy6i$CzwY`A2{*4(~zNXDPrD!Z0AtLs-F0G zb}g;yKgw+w-Z5xo1mp@o3um(FnLx`K?7071>gFv%QoZ#K%gN&bV(jpG8BF##~tH8d0sQ;Xu<$2rs+RTO7VPF1fp8g(^nqrONV)>5>%if1;N40!E+ z8pyu;r3Te^OKNv{kHAXKA|!vgDmj=Nhgdj^F5Dm1PIY?># z7Z1Mzu1^*otsEUFnmO6*(r20xf=iXWdPO2Yy;xe?NXrMYMY|DuiM$e+%Ei7hHm{!+ z#f&b=$8WEqcA21a@cX$)nlJ0^0tA$C9x&aON1vhw`%Ny3|SZ(2gqYCX1=!MMbU z7FQqgdyV@&J*}YgD-=3GahToA1>Q5l=K_e027uuPG@xHaGN)?+ACFY;)Olt!XoP5@ z|I7+S)TOS@>6jarpinn@^^1PGwNvlx#RK)m2^kuh{$-Qe>wCN}+D@U?B3}sWpyf}Z z8RIeFC~;_aaZ`y4eV$o*p9I*;2Xnt=<$7<8_SU{eYw68@y1bJy0$t&6kndG){u^{8Bt!R-Dj~Eeo4}bsw-~m)%*v=X^Lc>f znQrT%1ncbd*%o;DH9gUwUDd;}PPI^_@mTO75c=}1&w@hXJy3)M(%8Aft3#58l8ku2 zmyMa{92)4%pfusn8lcl69x;GC$1rp2L9%QFwEzoAgn!CT(HXZQ-MSxx!(2K%qewJj5KHoYO39BE{~yUA4vXeoGEXr3?MoxCM5 z@s0>_pcrJ!0z3MY-v?Nb-I)sV{)Fag9~^=+ax4YCQk?s0K&4L*T%j1 zzPbHaC%kbz#7XGQG;X!+xUQ@2oM8*;yk3*k>l;!yhncY9N)JUgpzoy1$D5jdPgf@n z>6~0z+~zH96LMIC8pA%(_N^~>)YDgU59P>?cDvn;Nt*-SzI_0UXJ(Z!J#$bZ>iGbt zOCB}1%9=m3oDjiYvBag78p1`8@?btfwF6AX5TmY7f{ltJs0ntJa*ZY?!5Ws(ugcNx zH>l*QWP0n&OKtixDyQ%KedJWq$|s`^^1nEqyw4zfg4Zql|?lH+3{`uXZca@51 zXc@w1H0R7~=qk`pz*U-cR_PC}t}+~y5^oq%d@8UQYPOQE52`NnwF0WTVX_f9e!<$S z-KokvXK^20HODKzP9z;OrP?lr@lA;{DhrH1-dP)ENMA(i#MGhKzdS zDf&?S0b7m^Bhus`i=W{*=Y0hm>v_5RQdaxsuUVV2Q>Jw4rQfNQs(rXoYT)*1&z|(j zr%PSd!%`DV=(j|w0mO7#aOfC)J5ai8kJuK4r5U=q03^&Rr_+9j zc%$c>8RKd}o7TKcGtxJ?FeJ4G|62@${v9x1gT!L~Q_kqm-=QoGfwC5Vb^aZi(J~?! zdIzUxE{CAt5g(ca_qW6yYYh8z1I=~sP4zOt^1k%iOD0i;q% zFB~SN_`9uqC2-`13VjTGmhDP$hQqA3k6VQZZIp-ABCZ(Msm8ulbyz$K)fmt(6J?j> z$IhVcVqS_O@gYxoabfjt_-o4hw~h9@Y%U%tt38K&2ULKA}!}=_`;9I|8?`Gq*Sj9EB9!E8N_PggaKs_o9Gg)VDj$ z$GcnAmahJ$*sWB!0>xIAR$h$;fF}) zUW9I*sgk0w-}XbyA-nrYd!%eqw#Fq4hK*vfNH6S)j0QN)*6_Y7jf2vnU!j%T@mrM0 zEQwFQ5F+T;Al4bcSA)p(=~sXS(iNEU%S`5P!SoMHYxnNSJkS_&4w}19_(>oyOohCm z$bLCtJWUSn9%4B}6M$dL!6K?TC#65-saF{TF`#$&D_PfO$pib-5%Y@3+LCyA`&Vgp z!Issx;(70M+O{8-#);jd4<-)C7vUxNRyc`ag<+#2%jU zYAK!FPZP%#AxsX^zVZx+5m{nH78c&hTuch7oNOsngOlA;z6we2&Q?}U^5Gt0IxUx+ z^QSRDah~E00l$qgu1&c1V3a;!IRe@S4<&IZ+`JV4o?N==+5DWS0d zz;Jve%rHbLnLiS&=4Qn|#-#!Mx~xJVFzQ-x0q5ai$?DtAcXd9(=MK7U(v3k zbH&n@rK4rp?aNBy^hqu-j1$+$_ATh20xXgM!OlK?BupQ0o3zZqYa=8Kgc}1AHuFxY z)c91_;|s%r&4O`&Z5*NxW-=GzA8`ljt$U90Y=sX5u54>XM@yjOCzm;dj$j@`G+)zS zhnx;EKi_V0^gu}T{5YA?t5!^-x~U~rL|wRWA={v>d9H;akR}d>Hvv&kEy72z2^jjy zARiIX>pnk;Zd6|Htz=+Xe0;!;Qcg2VMGo4YX831hB;P2o3e=8W`+&as#@fe;PIN$% zXPpN8Nd*!DJE8yj(ptjqiQ$9GDf0rUdUQ`d?~sf;3O8)HLtknPn@ulK6xJ(dxly`%^L3iPD@Rz^)1!jwFM0{ijH!RdAgtg z0&b;zSG^2>GzUOC;K@41kP!Jq>l5QO^&lULMr@D|{6jCKq6nR?`hp-<02UQM2P> zc*LH#g0RaxUjwbh@J+!|b^2VhDh*QHjqe+9U&kuSn^~!^uqyz2)T0l&I_qD!yF$Ub zM|AW}T;F1&w%H3Q^4|>3-@L@w6nuu56g@7wNkCkYUCl>irZRw953%%GfxZG2P8G!d)F=8xO(asJg86idAnIv+-N{_ArNu4p(4?w8=Ea#q zEuBMbDO(JUI)299-ZVf-ZD(G^Bakq=#x1uJ!%csPBm;2^EKDSAI~)lBvglit&CSl! zp;>B>tfz(7_mbw@OD_3O?!S^!EUnd{p8rkLzz>^#OlP0qpQ6LN=1fgEX%mH<=^EMw zVN%uRJg=pe#x%YHMTZrrtA4Nf=H*XhfeGDL%O_U%I(74Ji&|3Cp}T5VD&B@xB5Ox~ zi2PKg^Bkvlj9W$@Lap;sK=O-6KVfHjKQhl5XV&%Y&Gb~=TQ)-tr?gw}+$ylqL*_Fd zS`>~K0JwZBvJ(XJ7{rVSUjR#%JVB)|yg4Gzc(iY>jdv z*9wE#Tj(;rH08d2&vp-K++8YqGAdV6m}=4*h#G&Nn?&zmey6Yf*wh*=pCX9V!T zrd54(q&7y2Q;Mu1b8~pzL>|a(LN6foPzim~%$vW}g}{_YZ*b>|#r4)M1;k8kvljE{ zPS2$5bSp?)k>ICYu+1UiP{StEPLHn-TT?EyrOMCi1U&&*CKCTcb}L{( zAooKANnQ6t}qQ0Yv>+*pj%u7*jea^cOe=LQcOD9>%}Wa z(NrR@Aa&Z7zwT|fjj$jDNL3H(d%H0ooHfIPtN7PWT|<513mA8|M$MhMHdsXO|LoNB zC)ET*@D%Sk7zd58!RXKzrT;^;>|eU;L{Gi1fCv#;LKFxvi$-9b0aC4)Frd`@cXwED zfR9K(U|NYm!)rKTc~S=)=-&^%i?{oS2q_l)2Fxw%{*%k%SpVQA12pIFCgQ;-^hCfO zQT~6E?)OReyUN|)kMlpAOTiY93ZRkvUw`9q^zdc9aM9z!So+}80ge@^Cx@2`R)wTq z!WWVlD2Ei{lC)~%AF_TW)1613$|>Xs@Wj+Cfj0A#AI9WJMtIu-!)Cu z&_Aakwji+(1KTKrSc4KC^&OuJtr~lfZ*^XmJnR12T+c4UoB1BSbkel`f9M^f9msx( zw1p%PCr&{6|H`|Glk%U@CEEla{)L7*cq#@>!CXS>BWLv|tp9u=#ahART5l!0a=$v* z=j=~1T3dDN>y{h+w4LNDoSLTEY1ttp7;I^e%$#i+U+*pQW8ZvGyR+by<@6tIcK+bG z0++=!FH2$R4FM0*UcMxRUdHb*3FO54Z|M$IHuw?H5YBZTCiD6oVnukC8 zs~~a!lV!{f4Th26{rX2*g`0N$5b3&yU0O#z5?gV7X7{h(l89FULgIDv???)NCN3;* z(=~^nZ(#lA_!5N-jPTg?!iA*e4RG)gdIoIAuu&5-PDZl#+NF5Yu(RgJ71@L&!9%dc z%h>1d`y2QrqvS?-ZOkBHEB-7T%pqG^xwFM$CQS_8^{bZembaW#eceV zVdwsp)WG~$+8)qyzoBQyIywjyajo(HWA449n(F#(VN?VWFe<%91w^T$G^NCbfQTR} zC@l{nH6o(YLn0u(L_k3ihzN*EiS$lDnt&Rqp$LH>(jfr}8&aOTe9!sLeV_L{=ZyQ^ zasIe}I7UXYvfW|tz1I58Ie&AWxA9Ms&!3ZBS`2wqe3#5HA)}E@fQy3mn0jOSo|82p zau*)Fnmade$q&bfvEkHS#_o9rIvASq!*&zCABdGS_3%b`@qIG6XVh3(`$TGWHGAsh zyy=~EYL*l0?fSbP1xqJd(ipXn2KuwUst+N6ZBqaRpX>JpJDQd1qAtwI_opaJPLoS8 zqXD#$4=tFg>|U!-pXP5PIJr4#G8tp0SMnmK={k1?nJ`bR+*r)cHeqxUodNaCl2l|hma$)*q!h=G{&8jk{uO+?wUS#UHk=5!K zH);15`XzU^b!x?Rkh1$r(~k`H5Iw)ZZua~t!l;KM_ECGa>H?OR++^YD*8^NFXQw(n zj!T%xiTD8Tw(v@M>_N;cJ%cpmK?ooVgqM?Zh{iCB^JGG!TL~HACm{a(aj5wCBF>{jt{qQ z&!^=utf3`$vW+7@&8;;$?yi_$i7n|+mF4+wu0}rndz%smW^9n9G8+*m5KXv*aRmrD zo$)5^ZI|yC`7QO~6^XnA?84Ipw(^aiGCg1PUxcIvyNIkgtRx@+wjZHl+=dUQvy5mJ z)tfBi3B?ni-k+-9vS+G^?MV5d-vG@yX46)vMDY#bAHzk)psCq(v%t(xev+GJ?UwW~>KulWjH;Ed+|780Wg_JZU`;|tWR zQ2IHLScnPQpbeU@A7D}l=o#WN59JP~%3I{WKO%3{(INV#p8{&Vh9{s=};giVh zGGo#**t`5^m+XJha$?;`pAePqn`{cr;)VNvdt}_=<|Z%W3mgHOhUu^fj%-z=ejweg z!?*);h`t|f-O#skA@03H%&!LVxh>z~tXsW*tPT`T)-jLN)yCI{nbo*F_gdRcer?l- z{EMCYk-z9U%_o!s`P_u9)Blrz69}FEVhXPg&Ik4%4&OR7V^-mdZ0vA2jD6z*n5kHM zKa^AghT~^9ieFP>)E3ixX0K36D4n;Tyb==hROA_sSIW@isM=cq1r1I8<{|&vf4}{i z!vM+K1uEPL3Y=L?+=?EySyA}gHBo64P5zk}|IZKKy?=8@n65`ndGn)B(Hcvp5RwZT z?y{2KULXH%|K;1Bu2(LZL$v5uW&61#a>t%^=bLv9%gAr+wQbh=(m&_rbtlqP{z=67 z>pxPRo49-rH#*^{9j)q#lFw!UC!ngtSFeYXJM$KOc3{dmcl3jmbJQ-uV0gpw> z8p^VES?odU(#TOi=-#bfx8RB`h1Jzjw|J2HwiZ#>7F5O-3 ziiupY#WjeahP11INCmKmr@x~l`=z1GJh9xc?#|DnzRChOXGNFyz+S$$h(>zMtG4Ek zG@7$tBV4fwz+k3)NssXY>H@-JkV{sQ(}HRzf18&vvJgg%(!TUF1` z3yE^*X;+?2oy&SD;`7Z)dM)FDr>j(ORYj;U?Lv=+WXiN zgrZwf2y4P&XdBbk7IL2OZ_b3-LEGrsnmsJlyiuuchwXON3j1tZ8*jVvCZ%h)PwSm& z*AW=uu+l6fy2>F<8SLJ;%w2V7Y$TdKZ@T@FJiN?e(U~5LfK1T5 z+3waOPYZr_6b6WHFtz7S^rU)e--zCl4*zbI-%K3APCj(u?B#shLA@N~m1@pQRoOln zn;4y*`M%>}hQJP`i@Xa~>Wh<1S+rXmXFn+_-7n7T?I-^Z0>o>{A=OyJ+h#mUU#Y+x zHaFhCqjfM!p$oR&kqC(;%*lXTlxN@cL-w}?2|qOPwL5=dEcB6ED4TTkw9pWS9M!Zj zxW&7qM{BtT@rIn(H8uDHF=8m2NrJ28+|B!g-)7#KK^ zcpTBZbZ+ab=4yDVdveGL%R~j01vhkP;d1x3R-@E&eJ*Gs(}43CDUOyy6<`LCI~6`a zUQ_Vc`<;L^NU()LPt_hR%a@hz-!?P1ahXVTjo(DcN7(A`7D72`X2oxq5o3T`_BO{+ zcYJvwUX(E5k?B+h#pIm**qtTpS=sVn$Rzl4T~X(9rt(~Y@`CEc-cifGVrsvNx}})_ z?L)wi3qOvRCKu*DJU~{b zeJJ2fLZeMWlgoi{hrA%Z?{pW@%;#5(tQ#6i`@CEm`qdAWlvO$Onw{V_lFfU`b(K3# z(f7QmuTjQ1mP>xiudhg%WqUn`zw9`!Sjja|b*_VC@nZ!g;e z0qw<48MD-25!hdr<#;fU({nQYVJ>PE{H83-vBy4z$#em*x9r4*aDU3si!(*vD*h3%y$$$?QNSF~h}dwzuJ0=)j9>iQb=LY>d+A&%;;*>)KqYU@eWM+i}~ z0K_dP)`4AmlQ!ogfR_J(DTKvB7=Ru8+xxIZ^_Ab^scPkJEg<)>sD}C`y`^rjZaU~q z{7eC^D3|){VeDtz3D|-$`(ZP;_gGH}!#=K(s;ZhQ(HMA|&PaUX=<9f!uh%Ts;L9Aj zoA8Z)$h*D^+qA4N$qH9j$4%m5a%24yOC=ZWEzb8s8iVAX|MmG4%32_t31ozaOfJbuVsa zM*@fzOzUAGc}8eEcK$o;x3eG(hcadSFW*!CfOR7N&W_Dmo51d3UHjH}h~-I#Cm5;| zaE7uF#jE-o{864d094wrm_Ez2dbt+_fO0H!_+~%SC^YwJ7>Mv?H zfbN)a!h`^K+zz@JMQ_y!{=jVlW!;jJGL`a|&kz+_h^<`~z}-WNvc5*!dYr7(?s##K^D{F#J$BBaJS6)5Lel z-# ztr(%t=PVM5mlv7`X+&2$5hE+bQ^|@)==Kh#`=lT95MRvKz3~i6jeF;@)sA~>kvqS2 ziT-_L%+938T%hOJ?PMJ*2^n!7YpY!c_CBz;YWr$o9n@bsVrgrPG_cqR2Lf{<2k4JO zep^+u{s1Lxx9z{tTa(x-3L6enG1+HW|to!(AB}q2o44N z3yly*&`Jl1o7y-i0J#JnSK}6XIG9pZQNOt$ta@r6@r__t6xC*wMy*4 zr}v-l-PWCo9f{PqY+nhqAkKMv{FU*2>%vzYqEi1sgYEo3o{_Kro{?q5|9M6RozfWH zt=>Ctn;YU0LeR@IG`FYf`yCO)JBXAzViw6{W8&J-^$mG+zOpRWmwQ?7qGTiJeT)((f9j?$VtAAhRI{1gql)aLAFkq?C6@_g zYLA@xlS@U8y>_(a)GxwbT2-sXc1#mewBClPHCMZn9D|0_RbcyAh;Q|Xy>HZ0ge-E?I}++YO)g!849Ko6RNuC2Hc(3fiCzJ|)|8CLz} zZpR;ZzdrmPr6!@)Ti+%V9sJvQ$c+$&+^)s!)W57RMZakG$u|Vvo}SXcAO=&VuKu*G zWNCfrHdS2yyic&vPGt8^uApQH%V>cH&vWGI=D0<|1S%`tHS*niC}PSWui2R;|89;ux0SYB3imOeWh(@1%N|=(FD~Z+BRzRCuLrC{j)|&V$$m^n?$q>STwF; zhO+ilg4##>CG&WInfZe}l)u%1{`%8f3Dwu@5|ur++YKpoW=47+H_w#`YluY*BN=y~ zAl_DZycmL3vOb2`NQQ7!z)g>K=~y}2rHX#o5x*3x^@_)iGXfOCM#+XLv@S1W>d6Xm zJ1qBXmF?q`bLFPqT$NS^KSX{a%f*&XP+|Mg{7_Av2fPf{T3xh`6PUNG_?i8t#X~@e zvARQUxkkNY+xH=>d#7yPwt(Jc(ueXOcniM+ikf2wKYEa69rqykZe7sM7l#u2L;I$m zgo0&JxXbXk!|l=LdRmt%KPpg0*=Ouy25u9Vs|A#|FL zCdbGj|00GF`HH-WE-NuM+S-N^ef#ys^en=bC3?J^x0^7=l!foq#3YP#wTHNPz{{=x0%kr!HYIV4YOnz#+?PKnNvhJ=8MF^yqD=M=s1;0X6- z$65A$ec>Za&nvuG`WjIC8KS3kj@%Xu|HRYah#W;uT)MMm+$N*misVDHF3e5I?4R!) zTAql^=urKDv|8P{@roN!mbREiFV>i%M2T+sr4?L0XH2!=LbAht=x__E#=SowFmoq% zXjv&dz?jhpsdJJhu+qbrzO3Dq)8$Cv_Z}nEcD*z2&h9K<rh2NqtHyQC2#(F7gAcs0y5ZWCbHw*GIZI5ws=Eduf!8Z3cG*Z*=`h zp9z8>+JF?z!cLO*DcMoJJ2d%?czk&KVCL-2FRg2*TZOMlNF|2UB6qU9+0UdYEah}y zfktXFyL(q3j@3xB@4dA=;?S2d)*?RVaZ){T|7EUXenudusSQ|xkdTWkp&&n@QAImj zt%_=~cXZ_g`4?rMgUniK<^K6Eue`@DB&=?_^Xwv=`v8^D&oPkwg)CL3si(yhC48ea zuQG+MCSGZJ=c``_Pt9(D^Bo7RR}o`1%t^j4T>htu!)eNlK`0~_Dr-pxoSDaL$_Wp{ z1HD5d3$~)!64Qa(?Eu?L6IEBkcj0mkrb*RRflzmb2Jp4 ziD>|TZ_t*jJOfUOyQ?kb zZYK3llDYT40oNiP%dc-ii)ynaEb-D1W+_(X#6#ZF0op@OTDsTJ=NG*uHEY;Tmea$1~L6k_=Ij*e1pK9^>VY}vwAB*_vDm8^2S55|>L zZN2C=;z++gZZYcTGQ)u$`9yPb?3Wq$pOb+e&E_P%z zXoB2{pj8pQK67E6Enpd;$@)Hf4F2T$DZ*C%RP!qp2*JmBXx7*tmVH3b;aGyDYt00S z#eiO6A+!md*v#I(&|=%s28&F!J{1+MsT?pF++aw#x`ydc__*^k%IAmK^i0YJaw>#x zMOKpI4flCofy5^9VH`o0YyY~@hpIHkL50D>I}c~h5U=o|-0qTX_GuV8ywtq-L$L3N zyv>Yp3uWj*D@F>MqL+?N;MzUVBFxJyxw0Ou2XsZNGUj!1EMdLBwz}VmuCILjaQ2(e zwDXl8F35Qq*oc1R<*}z|;n(vzd|g-AjvY%kX%=BzZiajNwzu=?RzzpOAVD7rjL^u# zvY|B)5)7pjqv}zUcAc(adP{~!T%x6Tu@*>L~N&W_GK%izL2d7^w-YIceog-Je*=(A!b=NZo12#l)5Z-^8Kq! zQ_Wgz)8X8wxA3GjYs8x|q%9k-ZveK&3tJuG<*L?0IPJkz)DhQ9@d=+63u}1g4iyJr zyhF3pYN|_V8607{(Nf_p52wEL-sv8`Cf6I?Pjcxgq3JAXAb*2TPy|`$+3zui9+I#K z7M4yq2i0$BhtpPCPpM`V>-#BudwAI4kXG`zT{r5<@G<21OV)KSeqM-f2mz23cOIx8 zA4yGg#IYWt#c~5+j95A>x`G=@m|QSFHEK~qYkz%vPc4^;^I27u1FMhsoRDb(MCkg{ zcY5P&1fd%XGQ-9hp3E4zTe z!=9N9e33>YzgztOw`;a3vGY!6^{hhwyltNOv-f{2SPvAsf759IXt{32?utkttnvVb zp1_Uo+yAJ?P29E!53gVy4B7+xMqVVbl;DC`()tE_0}iHaf?B2Q)qfCkzjW>I9CffL z2TcX&8KV#hz{^FoAlKNS7z*hCZuD;feRFP-u*qrsldBOd2vgUi`jxOqS_kqUuJ?uy zUN^@7>yT^zs$MtDzPbfwL)cP~0p&Y-22gWREPwSjgB@+w#J#C~lZly=OU9QQX?O^o%U8VWn>_X_Bzi8~WLf-*Pe!idm!DTb2 z80rE*%%(<1vi(zl@G`QN09`Yb1Q5o;3Ue93(Q?qjhilfsU`Xixh(}}hTT!>9A+hgG z0<>2?{!Jz8y#X_*Czd&h!q02z z$>2x&^*FG<*Es|E#J`K4!AM?4#U3E!01ZM-|KCCX{Xl;?syhg-Ze|yqBLd0tCy>y} zk%mI^0@kQs8>rqf{8ZwOfZ7cU{KrPP1JI&IQ5<;f#^!MYudUPi zJ^kSSan5v$X83BUYXs=_7eK5#NpivqXv(I2w|W5`hf+Px>v5=*9TvuOHy^$?D4o4d zunj9MS*xBqYOXZ^cyT*vr{7*%YYRY)g$93w5DY)I*{0qrkLA(dXc$m7L2M@p%zC_< z>uoLZOy^A!>Qs91a9BU)eBtWe)iZ&j6Fk$m3UJhL2Dm-Lkznz9hcEpwP=98E7|B3Z zq_s5YeSYeR+>?i@TaO7uo-oNg&~Ixk(PeA&@KwCGz8l-tz1X(e#KNX#)@eMd1g2}7H%v;!I za1WFj9QX)|$q7e+L64;Tr4a`#of_LVQ$t>G?FUH{&-?jMa} z4~B9w`chM@5nqdA**WYFzxhev^cJ<~sAXW+jxF1K!(YQLE)0 zub8wrw*lDkHALl{-*0oQX?`PY0hx7n7) zbwCG9T8$w5ss&eB3o$K@l_4(HFCe#Y0gjD8DIINxn25vv^0FmyMA8A+qN2PW%ur!R zB7lRxVn;KR7>X^$wG2WJXfsy^i_z!&y%eSgSY*kB{(I--S4sYwYbV6LvZDou_#_|c z7RPJvw@f?XCW<(oZ;h9~YFG^feLeceekcAOfw90t&Jm>l$yEz(*|!PLKojiWYBfrW zs=i>{XIsz~y~q?GTm}i#GrKo+7z8>QcZa2shduHe|~CwwjOu0}yHWckfBU}zQuYmju&U*R2P?s*$rWr|W-c4w0;ktX!?ZS8atcrO!cl|crCj2&N zW(wIM<2T9?O-nrFy*Gej_k!q)k~Xo`(>3ihGuuVK>&sr%$Zxb|d^)DpGYgCVOo=c*o=N_t+55T)LZ;4Zzu^~Zy7D*ReV3eD`J z?MeqxYKSv{5Y_A~XCEH8Z4o6aQD-lB{NrUrd44>dofA|a78rR*_>YvEhAIQ=ppqAB zPv7`Rs*mpxE+KLthh$uP|w>Z(>oNl;gP5jtCW`XzWM+43^-(fY`tE0}nb;Uu#~4{Lh6x_CIWrX=R3*d(lYZzMK6t^^VgSf&+w`QU`vi zM1C|stz#1Q_*OsKrT8grBb24Ft+}R#f6eTKuP9B;tv0jHO}qzr4Oem zPas28SvTpvIII+EB~>Q5khe+0MP=%{FJpkV)^zadmc~me&bt+R~0Z(j<5e zQ&&|f5r)#=?;XDWQIxmt^{>VjlvUbDZuuq^e9J`^A#xX zR?6ADt&S(jD*khGg`)1+1DZ_Zfa#>e=9R1VU9Uy4s*QgrFTF$zD^K`GN~6z0D+GJA zC;f0bcj-bSqRuYPebqrE37qe87|cyYrMEUtPp z{yOZwF`?Jz@|OgiLQuESb#93P!lLO91NGbf_>y!QZehlBL-Uubzd|eYX%XVnPTf0_ z+Q`%E+E8hgFSWBP*YBbMEM088K5mM*Btfsb3G!<_r4U1-Z9#_Nfs;i>io`)*ndAM< z{G%q4){%N~QF_9uLwhc33^sUTM|meMN8CpX(Y((M7#{bmeIQOO!@%bf0=>3LI~7|R zIf)twG;Qr(#o{QEzlCf2(cDmD3FgzrxHyfy5?LW%T|ekMcIu>4XweUt;_zhPZI!sx z;r^@>r}v__Lu}w>59j8`LSA=LZ-CFG;W=d3;A#CwOTbsS__m~?M&+7&d7A2u+iyv7l#F>G$TtG}y>em{ zhmWNs1}{}5$7tFi1U(A8ALO969(1ZGd+jyVk4aY)=#D%(lwp(G#=MOdZK#&r3k?9f z!->S~w@I*Jeg8LF4NqGqyzEM5ZkT5LI^iZgVY$N_>w*~G=!iFzLkkVyCyiq&_Wf+5 zBBIjb+*35T!c~rmmeyQtR#x%C6SU}Jkr-u`34Y2qstt~#IimkygVoh7n91fnPj8I) z;~m!k$7H5|WzjiMK49rd#fO@zbCSA#Bgf5y{FhGB{F`OPW%;VuPqeym0Kgg zQ#yyy_;#_|`|Y`bKl%@yJ=9on=a0e{59jkt3J|*ukKvg9FN=IMY_eIF6xzq(C% za$cLo{8~a;ct07RTRG6yR``f&G8CAkF*221EYyzW(|2KNFN{>Rs}JX2Ou0&P`H|pH zr9}2f+c{)!=GOOK%dD)LKmKJm_2ecuPjm59yQ~Q0!*oU;rKPo6M2;(;GLCsz$?2y> z#TGW3jVW;qB~J=Zeq82}s=KM{RCD9@b}s#HfL0^QdJ}(s!fl*Ci6hn%+m3f34O-ayHOC{bP z*?Z_mSFG--gmjk)OsSf)e7y5p$aIRW$B3jEx5C3g{(yqF3tbM#UEq>Xkgp(j_wju) zW0ly!o8!jJPxklomF{&rn$lLLtW%gujsf`$3_C~Pv-WP(1WJ7gu`>W?b&FKs?!r)g z*FKZQY3}+so1Jz3NRxCr*E%kCoc|lbgAyUT8_J>iwY@5ZVp3|_Go5KU zQo(tjbu?r=ZsxBaoGnA!l z9x#rqh;PzVyLgZp?-RrF7g5wAxe3LkGx^AXF#o}aq>)`%XHUtWZz&!PINNSh?-SoU zUu+*^eXIU1Tyj}?yyf1{!^OMb81e<{>KXX1^?lmB#OBeUm~YaMj*zE}O(Bv|@XOV!tsah@Hi zOgWKSqCH*k{T#3@#z#Z7I_q@X z!*NymOaz+GMJ=DY&e^a$lf0GVxDMD588`yMrcUa+&~5ebA|Yul_XGSd z^%gTs^KS-{uQ+r*{2;vDBQJIQyGcq~OtQk+2(!q|f+jfaqIxJ^px%te- z*=eo=FTXOuI!#+;YtC>8wk`a+bw!^Q67!TDjkCspg8&Dn*g=T~lYB>Hy&aXXon;5* zej3Tj$#ZP4JKHRfvVL5%~4jpF)A(&81v>l;^3C&(%}&syAt4aN zvgo;Ln2v-RbSHj3OXhRcd^u=5xMP#tf!K-tv5ngNJs`&hwDCn2@f8Af6Myyi2sVx( zdc~|cxzFs35{_Y}A;D74qah#PsTX?HmOX6$1=D_0?XKG0J-5>XpVudA>+XC$vm?|& z*Ix7WsQX06)X}b^Mwt$OEA#v>S|4TyM}HDE19bli^7Q?Wfjs|}8`des|mc?geTk{yIj%QZ^CLdlK`4K?1Qvk@bnW|Nme(qTCsD{`}93 zE*NZ-T(GT}j*87~=yz=hJ~9;$|JnYXvYJnwzD!QyvpkhME^2n-)Z_22hQCZ&x@Oa9 z+##!~h!`zfTSk0L;RxYGvETf#pRp0fjCei7!cPx&%+<{_YKWH+8cbh&9dU?RJ;YDM zM;vrn|0aN9KslK*|98e>z&`Jvr72k!QMH+jA^__to%4VDU8(>NIUN-W zc9w@l+q;Rd1)|7Liq|85FRDTT=&Xu|!|2dnbQ3C=(Q0@hG1P8$~qv6`UN|>l`RRh95Az2MF~Bx8A*B9sB0o_sdS< zPp;Ie-ErP-yJXDFG>n!_57%4WAmM-rIFcjbG~-U;MxXGf)@2VEaX=OCR7PT&?zS&w zo8QIssw%d^6F@K}P;ot!z56V%z&>Eg5tl64-7^1XOsd3&m?acGwv7OjvRbQhURWK` zfBJ0eB?5Lwb7h#HVS#s`XAn_?Xw}^BP+F@$FWcp3Nr3Io8M3-+f7UhUV(qs}m)Q7+ z;*Hxlq}r8M05I!#xPaDL;k=ndmKRp>dUdA2l7xZZ$mshsk_^7k!BT{$E|O}~>OI`Y z2uO&V%Tgm-#IlU`&W_kbF}})SFpC>s?mm~}o!rl@1Qsa}m`(!m^JwWKi+HV7nj}rh0xN`d~3;fFnnD%m-v}7?kOQh~=rt`y|Kt z();4t$c?d4L$6}5smd5xmuLQBD*ih_>^uLITl_Dgc-4{(^9H20y7sYAvoFPj26EpD ztV5J9_c|wqTll!XvCGt9numSY|5BqZV%7D!k;ML>w#+hmg+9rCsjqQw#IJ~XX1+Vu zL5tWmxFwPvvwl)cTuDFT#x@y&S9^S}at2PVlOA(KA&UuQixJL*p4LA4R$pWi%Dz(h z^>YX3#XYfCW@f@q!oO*p`EJR(ZBnt6U5+`D-)i?l%!d8kP|))*Lg4hC1@FBJmeQv0 zOir1(-QG02j!-rc$aqxI&vKy8#B)xtP6OV~6&bpX5SyMNAYlCaxj$Cv(! z;E&t~3k%zQD9h?qa|ETvB~w)26&yuoM+( z>EzPw<5)LE0`_8Xah4#J!WZDp@b2Nr&Nk}ysg;w;p?oB=qC=+NOYAvg&~J^~*ZM0- zt7hJP$4f|tj$*v+Y21yLsezY{;o?|ojpBU*LbHu>;Y-QQj2l2NvivGkWcc32z!~l- zt+^x)8M$qpk=BHlerQGt4;uTW`g67s@qwvYKWXzoMQ1;6X-!k-HU;^_)5Yf|2Wvp> zB?e(9NZbp=vf^;M*m>HXB)2?%oZtdguO_D~=HPx6vDBUdJ?^oxFIQ3$2Bz_17!~LN z;}ae62zxt#b@Ux1>b>uKrgMk3p>ioxX1XyY|G1u=?dHqmKyTNh@RxU&MGq`xJ>52g z-;QuYMvDcJVz76R!=C{~BuHtky4p4g-#-7Xq_-HY_jG5Be0RRZyY788HsQOn)9&vz zA=K1MO;G^CUy=4$--}j2wF&)-qb}`I&5x}YDGFs2=-fls?4MDjY7tq- zVXd2uC*3_57Q<`Qh(+sh!@eBxC{tqQ<9iD}M<(Txy4r$xdG9@46%53+T8x-A!7B(K zMWLJE`JXJVqVrQZ4SP|UhdzbiIs3e92fAViT4KmUgJyb96|_YIxhC%oWYXZ1JQYmq zSx40>b{We#aEc;{KGE+=`&uv&ck52MonEx%uI2P2c;CgeW3}InG>bmm-L$;*NS8FC zIE9U7*-&4qk618H(!5rp^B}$av5|nZ_6MV-?rB?k0^I^vN)o-UFJ`dcXopW*74FC! zDqiWJl)fcG9yy%8E#Aa+7>-ho2umlo2dP!PtJbcvrV;Q85t+%@96LJ)yVUEu^ESM0 z{fONXV_X(oZ#J-UXn)&?nfZl*QiGP3 z2eNt(3E#bkA1k)NVi0hI>!9J~7n7=2&^D9LV9!EpH%OZs)^XNr zX6rV_lbBPtO9PZnRtPFh{>Ws#M5dH6NkhotDe7Sy(;V}~aXrQ99tnN1=e)srI09TXK}u0SDFTn#T%r z?#-XBCu=_0v(4?KE+PA2Ff1mBw~e?bz_?9Gf5#L&UebX75PQw|{#1E_P((da#W-maa@C;hMvn0Kyz4D~spc+8Xh$^EH^P z;JzdO@HqTqKCPn#&KqDmy{_kQvce$fu1kLfua3^;kW08^!?;k#(DTR8U)OFGq`xh; z_58F3gRzd#7-<;&GsWNSp{cf_ZqJ~)&E6efH11-NNn@}FE+q?Ee;(Ho2Y=k~k@ z|AWase_NludbSBjsQ+A_kzFCpyyyARvDx}NcuZtxK1;9)x?3%u_D(w>e}?eDL@qzg z`?}-{|3n*6{*IWu1e$(3fkh?Y`6~hcida96{Xql{lEuh(*O#E2Z=8W_7Uef>+%ikJ z2d3E*e{x+_;b{Z=0yld1S$J})y z^-Aa(`s}Ro)^36wzi75Adf7!wDWlsJbbvq13iwAkg+yS0BBq@3kuq%2d`hPk9+wo5 zZXviZGL4J!!bPxj3Ze7~%KZIZDpSE;qU{{&LErm5qi0tS<)-a#+n%CQl7rTn!b7US z=??H3(JY6F6%kC&$ey?QNN@2kFJr5|^06~6baU#>eOkrY!5%)&heOpf#t&8! z%}_;$b!CeGaQGJUfYH;CGM}^NSGw+x4AS#(8JK~2i0jC*_27l&HXn(V2$rxL!ynMV}JN3*Y^1mHWAeuUCL|tNjM9vna7|`U|)+q|4koNJZo#5cu+@M zbc-0}8=xl1lawqGoATc)K_u8S|{nNVr;g|Kv7RJkmr}LA|8-A@D&l-rV8n+Wi zgBfT@Y{FtY+Jsz@5KM)Ia}?(_W;t*ojW=rDTXe*MLh|>{A05^D8RHV-;-)ab?$=JG z+{xORH5q?J)c0O}B7hrqZijS2sBW~+AOJM{O&m;omc!Lwp@$QoU|l`7I91x2US4hw zf|5G#K6db|{9vY3XCz&Gjo39*d-b|fusBM!u)@FodgG>1P?z$OGU4subo{1FUR4&; zA94Ybw#LuQ)Yv2MPoDk1Sgdjc=?GKICH9Xz@!Whxl^luAA}NiqemZP8am<$#N2$QI z@(BeKqYKgM-io=BMj3ZHA$y05SjjRPLxZ|9YQcC!KcDRuK8cHbh~T$9c5-ARGMJeW zq;Ximd&3&f+z+c@X+tr^C7&A=p>V1m*)Z4PIrixRV8Sjw)j%gLg;KQ?Mz29H9=MCI z4?DZL?Sh}4q$72%Fh4WjUn#eegMwi3L@#e#mSWll1J9?g1G3~kKZDDYn=6!`z~0$} zXKb_?O-NYah+eov3>dWK-HZ^NbKGB|S6cAk?MlD81h%#f^EDnZB;v-nXu85OW!?-Z zUW!ixWU;ChDRADo?@(2Fe2B;)uHb9%lFBcR79*&3j-@HfnQnXo2vz$G3{)4NhHR^H zUO)Wm8?M<$r`2K<1w!c*u?S;`A4ELx%{9$30U<$SREWjj)+ zqGNwnk>E>Xw_V`!c5q!;RDumPz_0f-8U!$Y9!ncP1!Yo?N<^{N`j!!8Q}EN3^&#e5 zHjmWXD5IA-H={<-N14jAJ{`N)&k;~>Z&La~8p0xE$X^s29uS4}wX!+=@bdNi<`t2- zy-*5JcrCK?4p$I{zSd3D53XMeSbX)wjd!uKZl=Ss_u#MMG{#{Uvc4icg&M!uI|h7p zVhG4hLjUN^?^04Oiq(ny*TMOD5518qhK#ACwwHM}1BU9*hHby3<%5@~qhIlNUL|9U zV*8ZzcwWI`F=}Wvi0}q|6<%i3UR+b#F{QsyxNx zYA}azW;#uc;^M%fSotOk#G9nF>S(9im2}3P?a532+NEibd`>zg<6irvZ@lF!VTgCa zB6REeFGtzP5Vy9h16YJTUG~j5CjZ@cc!O%|(%L?Jo%qKCO_mytW1+wx8nlMELLxNg zRBD8GUO=~bK!w*qPERh%+Wd#-DX&k=vJrbVS;edUJ1U|Cb`hLkKSJo0<3@0fkl0&b z!@3Q~;bru$0Q9Jhf7d|0qHp$%iq>(pz8_r$g}bzk{P|=ZCR}fHY<-TnYj_Ltpv_EO zWZ6`*@f@Z35&Yr`(-3`I5*LG3o;29Le!Es6KEXHF{O#);+XEML4vl|Lit@GDWs(d!>)<3ykT-FxO5fNKT1Lbeq6MR{K9pgpsG_C#Z zDMiNDrwI?7jxIIYIcdt~@7B9c8V!>}(QM8^+4+;ci10?m9{sDRgA)<4^SZ7Qya%-E zS9#X0j7~6SkGj#!&O*=J4%!hPb5y~RV~T#_R#beD=Y*LSOuw=&Vgi>ARo6R`SP26X zFZk#!iZL|y#xX$ZhFk=yz$ln~a#UWBqS|^fh}E>GoG2<{2*(TpOqJ?T=VRGB?;vimcTjXeT1O6k77k#?)v^Pg8V5;TR4*_Ef=y~%FSdRP; z_!TS6_uZO6pi0@pa+TL!Vo|n}%g{z01^DO9ug98lK(zto^k@fqsVC6$5C!dlJ$1^>EL)_=&0)JV50fLPBJ$75Be*d(Wt*+Hh?U zD=Hu&y+#E@rKvP&iHd-L5JjXzRHQ~gq(upd(mMhQN{b2zNC_=;h;$JVA=FSpg3=+0 zU%PiVC`HD|jTzW?$y)=$(O& zdXIjxdnx{5`>$vY(C(GI_#ZAR=Xn18{=ZJXgZ%%Hk@H_p<>t)4rI2)XYYT+w>NmMJ z&wb3RPCQ5q%}5Fz^a+e8eRy^KD7!QSazG}3cI^#4E5+av4H%$vRp~MBoBa~+7g>Pt z3Q0%o7hJLOa-t??*r6c+tHCi!DHuL%G+3A!1{+pGUR_i*vTdqKlOrA`x4w})YX|D- z<+Xy34P5qNmMU6-H+Gg&vng^a9qv^bSV*{X2{xWVnD{-)Q4rUT5p7~Uf_Vl;XFMUA zUEz_7%J{NV{H*%ffS>!FCj+gfX)Rt0SJqx222qEck*3Vjuz5@j_kb_xUJYQ+t{g`d zBVO?!l~}1IO&21OA2qLB4U8Oe%?m_^F=y~6TP^6$-r`$8#6t7E-YoBZ^;usDXEJY` zuMSB&eZyr|H!vf6@7WVo7vDR<>}}RKw!UxaHof53uK#tI$3Hw;)F76+F)3V#mE@;- zBhZr3n56wH9`uA*grd3q6s2a{W{Y^;`(zAH+I5pxf0@yck621zAI#~)h~mi(YnY=I zAIF7F$F=m^fCK#w{8@4j>!$D{%iPzd?rOUR8AC-Ob{N@qbyxN^8l>C1Ri^~#o{#;R zDi5lV=u&@`pnB_!w=_uq>r&v(DYq+yOtJd+LCTXH6dFMHKi+JbZqCTX&uJEdFra zPy$ABdqbaM`zpDty@2jVIf`?6JZ-tyC)GRm==LYDOAousgvS_B@P*kG(2+Wa zZCUH-E)uUoZT7TPf+U*Y5pkWWQpwXh9Ch{i{s1WFMp;;xF-LuiKz9Rpv4m(G7ppu? zUu^LIy@UN@2YG&@TJqNZdt05>|G?9m>7*Vr zuJ|=t%G{70j`sTvXS_Hd@YgMmQTNQ-%P9e`ttzi6srC;F&6_v7ep~@&n48blSP3Z2 z2fj)&2K8@n>l5n5ms`Rsd>vSO9?_3d#NOCC1mesj@3-BQy(vq-sr2IAi#(tNR_GFZ z^%9dqNO`sai=DuO+Aq(rp#-oBKGuI}R8v{GLf?GEvK8-HmvR$XnAX^x^4$V2^G0T2 zf0HsK9wMRAs!ZqYxZPewqSgErY*-}{oW6UeAzw*}IJ+NA{d4Ic^8LO((M$7=gUX|J zgsq89SlDE9zQzOL^yH&{8#}Jx+##q!<=>y24VGp5By8wvmco$~a;(B5-=)Q`zaHk- znEdHK_O(Lus>Uh#Cjz-A^^)cnCPbMg|L{n(t2ocGPq#MF7@su#BlizJ){Kg|-=Mz# z!O}bWz@>dx4MpZdi&yYcD4j_-5cq2P+sB`RPGG!pbnyXsycW>YN=sBZno`{x(rbDv zU3W2O-VqPjDnr>g^wY+yB&O5abz6?Ee>gs8*442E)J*ci{Q-~oeH5EL*b>tjnB@0E zqviJ=-C8`(yh`%btyO0=)WgG>f{&Us(y z{OmmFR;^~Qp?w*uG*Z?3#MfN2*!G@imIkYyHAYICdd;jg5|1m2iRK;DIn0Q(04L+|;ehUE4?sE%$>7ey3Bn;;(~10Hh#@#s~|D^$mlLXZ+yOx%Yj=R0iY@W5#ZBtUvqk;od@q)e>@p1I* zM#mC&l6)(%9!(g#G2vS^IXCh5EX7PRfi_xr+0n1)^YS>sKt~l`R#xS`K~80bF}nbr zC5W$;w-kAm$ytE%BlVaM$le>3>RNaSS4VsAkPOK*)qJO%iIh2U9YLw?@AJFS*V)~6 zi?2Zqf@~nbK3|?LkPF;p{CZbt1yfXE_-ylNFigNmGSVhuZWZx(v(n{s8!k`k^iyBO zOpq@ByCL~+S;Zy0 zdm~y9S%lp!?!Y*qb39~150&bFsO|gZS!WjufxgMj_kY!yXSA|jXw7;u5}Roao&WI2 zA;p@;TMv<4pkMMq6KvnowdNb`2gZCWgJv(-*RfJ%5cR}4vcG|DNU6-42r;}gfhc}S zqYhII5RYF#<}rA2ttMpH0(CNHeyN)(v{v;6<~VKu`skyhbE3yzv`(@q`YUHDpX(ZWzP=}@aB`7Qt4 z#nF3OiUbw5EIbVS;R0g+!g_v^)hxz@#^=;3g>0nJ z9WMpt;{$<#RR)LJp0g}z=x)ey@0HKq&7sK#%B2>?Yhq=ABB8b;W}X3uILY65`J?BX zBKY1a$P~t<6rK#yqi}_rbr${ zsC}F4s87$QJVHP^eAaUd3#64cY=F?LQ0|ZR<23aSd?M+{wzMS(#w;#jhF)cEU{y2g z+GR)Uq_1dV)~Eh9wL*%R!P53H2(*^4;BEIU;&4NK!lNuJ2^*a5q99iu-OOsuBr%$!; zT2Ht?RuU;uj$)! zVkxjM&_MugC=pTzp#30P)?EO$b!J;K_38Ru#K#P&<1f`?4V22g^e|Da%5pWD8yBdy zqaO%Js4rXu?K!5V=DCIX!Fa5?QTgj4HyVLnNM#F!c0Q*j1Oct;DrrAb7YI<$CN@Oj z8dZX3)%Yr`1e{Gj`!xF!i)#9VvOZfg{t$0>-t*TpKHUJSH*i^iPNhgZKgro(lnN~umZ-0O4ePU*SFk&fa7FH-ySATljVPGwLWvN z{@v%5didwQFf@Jtz@5<`j%LrvqK(B=u@>cPB1=|VmlHWE-jIV_k!8G~fd;MCh-plo zRVSN9xDzUa`~`?B+SMz1$ZV|{oxL#PRQYw{Y`MDcho*Y3g}eO2@}I_U!}~V>;dv-H zS1+E5Nt+^7$ zsqCKg3Yoc}_guEJ_~&A!ljI09jb^%DIu9bcIWRrT zSLOC`-Une1G9SXkn6Y08ews(HkK&Tee`$Nbqtu&fx?a8r01RboCSIW7(l6;819jGQ zMA%Jj%t@`c{@f|@P@U$E`S5Or+Vs~b?^7N2w2-~*JuKt=S;7~L2wQK)j0}s*KVAD^ zrG4I6@H;f^4r<_XqF_9%-ZVx^U2&Tlmt680wEMfno_JGw`A3Q|a@M#Eyn38&ItZ%S zc?p3#4XQ6V&`2AH$Zh#T&!B0pDiI5x$Yhy(QeQs6(7` zbvEz9ih&~QDl_m}b!6Y1Lc*dnMj$6EtPua&@|=HzDNYgDY#Ld0;&MRtUKZod$z|>p z4z^YDDQQJYy}PB&0<=A3Utiyr#8p;bya1Zo_hA@EB{q=v(y?U0_~z(u%KRWDn+9B~ zNne3My4%W~hpAZr;b|Xt+z!vDwfpZYBLce^LI^x81s;Y6URg&u?A*H@PP2hZYUaJ^ zKM{wmE>PDaXc1m*a!d>6^SeP8*l^aW~IZfi7~tfe&)Z zvH$S64;^quKmpUjxn%NqO}qWNpMee|zQDby>7@KEb+@_Rt9|;st{g6w^CDZAC4(9o z{va1z87ZS98`qdT>wYlA|Dv{Og**3ax_Sf-k_xNkEQ{@6_>fM4CEhE8^cT?}I|`x}X2$tjQn069-IuTPxDoM}UFQuwXt04j`+ z`*ZFvr%VO%kQArWexAu84*+f6wfQ1=p0@gN2~Pwvj(#MUbj3lC4?keAm9T@I#!`4A zH>c-G>l0W+{Xpj+eWE)g_Fn#<;Fo8Hw^z~^=QXO2RRk*pOdF@`=r82InM6$mUITy+ zqzdyu(MCRNVIqEAb17O6{m8y~&PVXiKRg4Me2;gUg02+Z2g5kUU>Vfd9&A0Her&B5 zROk1md^vMYCdy@{jJ*6I(|PxTyl`TSd-yK_mf4U`BBP9^vjHnc^@G7JbaWr-I2U=_un|5_p{7bg*hk_Aq=EJMC&a4h8`wy>79tB^2OD)+HZ3<7)5N zaj~r#>ABhG@6&@<+r~5;Oe{xU0j%#oPpUM>_QGVA9TlD|`K=);(-~_tvGK~IJ0kXi zZvjKs{iyK}bgh4)ACNbCmFe&L^I-P%wl~8}R^@-J|w z@(*yzfn#}U$r+eX)bYj!bEG%+%nggMvETs>^NCkS7~lLK^-dje`-A-AmNWr8qxHl} zEP%C=(Ot?8$6S&B;@7c3h4&=Ex5U$Czfa2E2yn^-cWFU3%AM}fVmnCtjU*bInUQq) zuKMfp>;NYhzNwdtKfXDd_JTmy^B5hA$ARC`95#`5ER$vK*%3Th{^xB+rPwp|XFWzM zqAV9x2V_joPAI3o-QOfRc$r=*?VY4 z12dd;+Z(bUd9Q>y&4?dqbs>j^4PKn}u0lLlHdDGA?zg{u;K|};iO5%i<~vYg#Bcu` zh70W$qX~TiY5B8w@`xfC$1)yB-~Zy`8UE+=(IqWB>uLWIQkYODvIrGtwgBWy!MorB z-fe5k&;|ONweh8Ho2Tg`8zigPtk=IAZ=D5Y95vUR-y|l~;O|Zr{ljC=ElR!&w203d z`_AULwuXRxu-*TXwEyK6@cif3|2yvr+yBDxZRx);B=f&y%>WtW5P&ta2i4&60jw6@ z!=G*{aYbw|0o6+KCi>O{)w>~T{pN3vOxxSUb5dZg^LjoD`;;tK5#LSlAB?4+e$;F0o!+lY6?}_d-9|z!u%3p1>7l znvu84*VGk%|J~U$jLAD95E%O8x#>wyOo+j`Ukq%5>NcRcWKML$>C%+2qP{qqNzNw| z3*t%uU`C!V_Yg8}k(4pgo_M}L4?TBpgpZ1{`0Lq0hl=(cZpX&fl|h=7Tk*ydKhHu% zkx;r~aW^QQ&KE-H_Z7S<&@P}WU4W)v~AHje>e6cf)}&0cdo2yI!Jq~;oBn@+`?GTSRHYzKCcMiKRo*@^yNX5 zm(utT$2D&gPD`;rQ)v!TOWm;e%y#?=;=a&e&1ScrPfm4dk}tNh zJ>9S8TvgExOwoY3QvIpf>;k4N&4}U;@L7GKqRer0H0gM&qCXigu)@d+@RCa2y=YWE z6s9%y{ZhZ16!e(}u{U|?@@JDqqb)5|h24j!++x0gFx(FM-NIr}X=g>L@1q@P`16p- z|9xGM1h2|OjiKF?ITA_JA9z7u5r^3C|Nip5{y#iO0=x(5LgAxI_++&opaDz-Mo8ZM zmey+(=R1i#Dfg2b<-)Lc*#|NP;pT}M4MrH@c$aNeivMx55lLZ!<9xU<3NW8~ky0RZylp1|pp-Lo~xrLmv zUp&SBDwy7LZS~06CZJwAS^-vR&k5w@24P;b3%*i~{&2_&7a$4jD!adkW&D6JsKW2L z-SUsGzBd~p)YbI;XG;!v9cy*-yJ*O>O=-0{{ln%AtqukdUUVkv`zD_#9W$@ExoBVX ziN57Mt3^~U-ZBiSW@>1}L*|!OoIM3uyy+TL`Y}90nTE34LeDQvDGXpKZR- z2ugho=)3+7LVNYve#Dch$DN6*`Ip9mEZxj9YzXR$@6O3|^KrP8z(9^U5;cbR zz{WE2d6-nzEheE0!oRKl@;PA@@Uv=#m75lLXL}TvI=HOJxmg4T`adFAdX_j(8!yGm z|L|9b=T3CuYtbA3?r_y3fRav~s5I}t;p<74?uOu~lRb;L5+>fBt`hQddR1%s&{f&t&nG38HGzce^Nv^F!9 zzPtM4_5GP=CvkbXZ_K_~`@;P_HrzjZx4RSmiVgI-p1{+ss^=|0A}bB9R{)T{vZ!Ra z+PQm&k(o7k*$HY`)0BD6PmUNAV{$uP)B2D?ftx-Bmb#6O1|0{CZST@Wi-3V)ELX}a zlzR#v(W}(hluoj0NME#xITvZBQXz9g!HZAhgviOO*a)OM>pFmo>Oee)rg;*O|_hRN8$%gKk8q@~AOQ_hMa(7d$d=-&Orxi?OXuel;jVF8X%h zcay18cDlsXvU~VnM6w`AU9-J!8HH-}V22x#N<{$JpMgs5>G*Q55-$~Y~KQ=pgBI*(a9Mu{%Xotp~oTW=2olEh=|Gk7a7q?5{Iz@M@ASq=lUDq z4c^)no@YrH67JmDoXO1zacOFY^E;ovF2Z3>>3sU8d?Vd>Q8FoCU}XmMvGxTIB<_R!D@Ce6f{q;^Y*e!?!Oiz70iwYV`&KDeq@ zW%*G(89pioz2beLQK(z|M3S9zE1&=u*EP9Bk z@h7M4=t@cK0N>&@N1JvPx^G4Dr;1SWz@T)ucwF;f)WjY02Dg(lCa`TM=m>iL6{L<7 z(dtPV)S>9SM7ogGiI5&k3RY~UgEF104Hbhq7!JlYjCcBIH|X`I9guvGXfk?`Xn$2y z6*YGq@L6qN0eP-EoII;HUztx=&95k& z0ackDtRJ`gS&~1et~V~3DV8b!yIi{XNT3<)P0v~ZXJ*97q43w6^71SL8*7`aHVeHZ zH^-=RZJv^|JxwNeD$MP0+lxt$ipqQkGOaV7=5Qgck`zcXOc<=bDyLmT)7oQxTw3Vq zeM3$b?_$J=P4i2gsvfrOVHMjpv`F&6S0g!0pP&>Y^}jj9+6r zLB&IysAhMO$j;EP29s>ZW4r(-zSr3Uq3mQnXteNSvsyO|jxQ0J4Cf;eT ze8pD_n-YB9AE(`1?+(7}xVjh?P*<8HstpMdpqZ4olx*DpHSG z>A(!^%J#@nP*VBGh0TrfqaqC|0-s?t~K2Se?o zl1@xHugsm#WC%!6#u+9~7Tu#BgiUL~+JV!Ghp%qQlV&6DL>t_&9l=`rOee|QQVbg!(WWw($W(B$Ks#ijp~$% z1@(ySHq@w`=+f}-^l$U(rS^+2Fgs!)t+he}(C>w3;vOF*;{*;7$H`a!YS&(!E9MWgLE~01U+nM)A>IPu%fm=< zxX9qNl>O+@Ovq zJ1Mr8ofN!(iaoEp2p)SmdadXyFk<+J$IoBbJG~?l7}(TdqVA9ST3xItLxg|Vz_zsI zbw3V!g;~!IYT%=lF=mv5bI=0ZQCBH@a$qOg4}pfLJNspKx*8&}6<*x&=OzUeNOc;f zPd#Q?Ye)=vd{mX~S(u2j{GIT@X*x*0q^Uan*70?*CJ=F{ha`w}U}+%&7fj+8D)g_7 z8|Z7rCb9WSX1@St{b@7jQn1}H}%Jn1f1+XUvKppsL>CQRTJZ}Fyi3sd% z0(0h8@|I!df~xU;PXq?bEROBf?3-&1WxN571;Hr`#zz{g$1M0-#Ss0jF(5Vf?4FYz znNl2enD@vqZ#&`dQZSfqVZCYd(D>Iv3fyI^{Svz4CRk*$xNG+0^t@?jq^4ssHeTzg znpW}H_LR=Kn)>LzNn5_gZ<>GbZ*8>Y7uy6Gc1$Ol4n@2J8V3_V-k~v+)f4OvLj~E; zSnIUPU~e3cZoWl-ph23I_Kf4#Be#!j@L>1fM<@Yf4X})JmQazrbJL&~kh&$6~B6+aa;+#r)>occ`OCGrD*eNW_Ud00H3+ zgi^x1rjX(kC+uIa0zqCvs0H-e$F@HzU;caKNwsTQy-Ze@oH{4Lx7C3jHoyL44S+d* z9d^0f-M+u+oiA{)bCTe)T!Y`FsB~x5hF7=9e6S9zkg{=DY6XpiUl%#!!+Y4p40IRZE*GLuwH8Bo40X~iNPc)^+ z_Cn&Nvhuldqh_&pX>%AKhsP@Og1??LEHyRbDY5;@3hO4=QrvJ4q7aJ#-YQHKvLJ zA#4Y^=h;su((pB{rwjGk2x+NvvlkT~Z=87bDBGDwZ~skEGUO;85Vgu8?=xL!)IOL9 z#K%8QYTFg^^RbrGppI2@q*=r4vx9*K_oq5!^6k}Z9=z;(4#0v$CxAm(JGB0Rj5z|> zO6jX*%tMlauJrG<(v`iSlUluHlq(*ct}8ndmuF|C8!zAcH6vzh`?W)J-!}Rs#B)~I z9H>LO(eWhQy&tIyR1n*wmPGN!-f=P`1WoP>B5c?`j;gDd^h~Q7F?)CX%7F!F1pWx> z(u%8k>%Xdk#}yKPSp=s&Re7EJM$Vfn^;bOw zBEmMNsD?w_0W6TRqRKtHI{sB_&|~&mJ+1!rf_MHcB>r*GA>UIno4Y9@k6s`kU$80p z$2nyXc(_rI)a&H=cfea5SthDS2gl2&aQ?!VdP{?<%WA&WmmQl{?sdv^>qGm_pe}Kz zXl8aGdw;60YBf z)C8>@-9z{|)nJRk2+voySX$?#o>upEjNEUzYSMe|!1B;Z9Uw|;+U^TVuHiudnL35N zih+&Z{B2TE5reBs+UiatDvY=d_mvd%X_(TL7{g5CdBoM`5$^tF@%D>jhcB0gm7+g* zFFzx9s(z1b{PMR_hoL~nzfc1UvW=O93Iy@nKRkWyI-^(vyM_18g?o1|JXF^G_@t({ zUOT|_#LWAX64--wp{S z>@#?}m$4Cy=;l8_&%8DD2#<5Y7`t(71* z1n2EyDv%m}U2nLfe#Ye}4VfxtTBkas()w|BoPy@-p8oShn6plJIucuc0~fb02ZKL;szD&VXMU zwS^0c{TJn&PXn>-F&dJr;!eAFKlJU^sC}Rm*ON>T8NWe2(bzPmCDZfCd-;pu_xH#5 z=^mB(LBYp{JXs0J zzc4XjK6+23DA`?XL;tG$J4(kFX$h>%!kTNbfIGdL^1$3@r3v;saFKoO$5Phsu>hOG z*Xa><6SnEoWw`YKM_9Ky?^^!p9EwgiCNA3+yO8tyJpY}69ACY|zpnWe8|oRvF1oo) zuvJMhplw5M(hj3tzL6dp`KXF!7hC>V1(~e+F{@kdl&|j5hs6QW;sewjvs0d16*t@E z5yzk+Ywe27G|Rk(m=ASuUttrmqwNga2lXDlxyOM>ygoRxQ6ioho1Mxj```q^9K6G zb3l>TE&kL(6En4XX2chBz)Q~6zNBB0SCZ>_8-H{lBBZ;7%6uH-2|wG5 z^gi+XXg@I0A&h5yd$2SCoCX(Dg>6E{4fX%-ZqG9Qg8KmlW(y6^jcwEace4H$XyAeC zE^cha|F|xrl&Qy|#3Eo4Ygu!Lt1@iH#!mgz6s%G^b0=d-|M8(3!Bd`E*U@6k`%I^< zIf)uVxyM94Oy6a~$?BG)ysrOw5!3!Ve}1J*eyVv3vjOs-)&_>&gU{yI2e8AY@h2dc`5&k~9DRKXj{*(7|CW4^k`_qWE8#o#@-hj%xveRxrSM1lem51Jud*`3z z2Wc6|4UEixriEds8iJJBdM)i39j*s8u}rxyUwfDH#(m-!{_9>&Coy*Y@BGk7V2OIc z(i7W*kZ!z)8o7PKZ*bu2j)qhB>BLwMq0c54OJ3S3nFe9~U3C7@g_k!j$DJdd=K^Fkfv;I2_g-Vqo69POok|c4D`bBCQlIp8vIeP?(v;YOtdXvc=HK%Y}rgTwgbZV-2_|mXqPxf%xyi#7M9!e zcqNBgt^|=mFSP^{^Hu46u?9lL7W2S=k@!UY)@t+XCpmTq+kp-n~>?*u)xI zqACG)LNg?)E?np8PtE1JJZY0SBj1DaN2U1HAOCv9*?c;+22;X#&^!Ak?=UfQtt5aLB}E+I73lNzt^+IsTeP`kW*$YvLM z=l#V0$c+6zc{tS+PmC`AU*YX{Fq$2R5BZR8y6#4a1D=sxHq@IQGT}%#MNn&1epWF( zGuc;qGiW;5{AQ3cOFHkmteo`tDDj7TQ-ps_v^G^K({8tf37?0>bu008q29p6bh zi2%x8Q)Vv_^QA(mi^go}lanU2>bRrfA69p=9N**@QKsJ2%_?92`PZrJ*T`o2SW&_c z@#Mk?$@koEC>^8<2LskbxZPj|v&@iMK=U?qXf3-{$?7LExY*ujTt}+#;*f#~pUd_0 zAJR8e$H^HFB@aHd2D|*Ff5+3zhL~r|5UwQh0(VePM9MNNx*RF&E+W1c-8P%~&h3ex zn}zgS|AJ=1rsvzz*5=xD>73D&bDM?PSBAyA%3hRiC|T#GKYi`O{`h9X^mFUuTu1B0 z#bNoi%j_SoPn&27@7QFLzR!Igv8%1at;yZr7kK8i| zbw)?55iK>wz?fFX6^}ESxZaR>KV7w&+R2LX98|< z^U>a2hWAh8T{4~+`h^&p=Dn%LavFX%*Z?{i2 ziyy^gHnDh6og`_LQU{ieVnU1Ao^-poVgEXk0Aj&zRBKR7apY9Y*wP4FrxfPwHGXDJ z@}os;Rdp0_?!8TSy70-Fm>oGrs1SJcyW++Mac-x3q@^WeF~rnZ zhH)(UoVnQVJl*;?8Bd~CHX6FL;2U2*mKScY3%EZpRjHkjM9>k)BQ!CV3}K&~?f}|9 zA?`QyA%iRU6PiH6my8n}FZQ<$Z8qYEn@--R{xHH~dPvX+&PWFDtscEU?(eVmxT5G* z4vxiX6)1B?cW3~p_X`jYif<)fj;TQxW<<~@UT6u}GNi-AXyQ>ge0+0d)L@Z!)|39H z*~BRylc8JDsw4X10t!@6hKw+G%Nue4CCdz(hsEMOLHxwkIU(j9vO2#5Q{TK{SSt^D zYgA>sh0kk!qo85z@#g&4gG^~en(d-~QEpn}SNrs5=tC%=fIq+mAtgt^JWRJP@nPiU z;b3N~^(z=$>eGjCZLC~#yCQs`!u-#l1?$%QaBs`mu9=yy9xDB3mnSR2-c{(`E2D(x zqJwn<&()PvbMaADHzPY)1H}f}n?}7K zPuG#k6#|z%D;v}*KbK%U*wdFII03`Kk+$Rb`46y@IP6Q9DEB-|$*%DLt0aqoX=s@6 z=UznQ7@-An@+@Fu)NPikwntSuML@^Axjn~xWPH>2@(4V`4bEq&a&4woOmzStJ7{pS zxu>TQpC@|I0z^78a3KyQzjpFk>8dTkg_%GyOEpT^G<)Bg;8MMkX6%OGIfw#F3k^zkd`_oPTz_0IYZ z3&Pw21i@et#Myg*Hi@g+fALhJn_!Y2N{EiT{S^}Hu z_sVH+|8caaCL&m*aJF#fnS5B_7D^4>@qjDEmSM`zt232C@`?b0a~DYvVM?j5C|=$x z1gnkJ=>~<28t77FufyM}qsf}Iq_dk272rXchUQNX8=4wpW;{ZGdgBV@(a@n4NB?fn zaUaOR0@&d-lr|GeR)yP)m$!pl5Q~ijF|DQh4YZmutGE2q>`q7XSW#DROKCIHJ`%J{ufR5DO8^;vS z&8^-x!aDU-0u}Mq_ED@y$k;-Qw`F(yX|HK_ck@_<#R+11*8FHD$5(D*0!Peuv$A(L zYiT#Z!QjL|% z7JYRK3*0(5Wa_gquojeD<{-K19zJExDeezA-N{OK`%&c!8JQhyK2S#_Ux!4&B)|%Q zXgKQQbXWWNXKeU<8|gxLJ_X8r=TQ8B;gogqGb6?IimO3+xU%ETJ(&XGu#PL8vdB_I;Q&4fkJNzI>#iCO5NSZGFAj|V+T}Qvc&}Nj zi3O9K2LXrhsRrsr(^~DR-UWS)*8*jD-US~h>OY-n^c044uX=G#bWv^@H3*1LxaXNM z(@vapi09-sUIb9snoXF~0qjI}FcRVYYsy=(t&|U3peYG|Y7-YIq4-s61UMCIfhQB~ zfhL|uNgz4YqwL1evM7l; zX6g-QD7}jjmeSv@gghI&k$o_v#jSp+Iq*=^dYd2ZQl-dse*Z%!&o#fK!UO3vU) zmMz$ROhr{dMV}Gl$<}dqoFP)yph2o{!g%PD}3m`TMQ~SLhOAotI z?G!d>`0J<}CHx$c@`K#>?W}WVUDJ}A4CqyMXa^=yCtnYJ68Q9WYO&sK^nxy1)#Ih^ z7Y+l#auag)qbiZenhw2xcq$V!qx)?odXdCAe`#*_7OU!YH_1*3@|Aem99%zhP6$R3V-=rNXa zgkbNzSAMA`u_$^>sVU6e)BR}MVasr3mfbX4b(9P8!q+tb)DPkQVz%#C{Dj;s2+;)q%~{^({gM^GaT@Z<65b4 z`QmotzW!K$nSPa>pEn{Hqm?1(&xkiCc&`8CZFcs?RAV>dy#*+skK64xeSvw+ zSjO>=S6yho6%L_+7xxU(i=Wbl9YKmQ+d}85M0JX7Vxc|L-}4a*^@ncH z_$LnQ9Dt)(R}A4}uue#|-G*ZtGrtpb4Csq(``A%+P2&?bak;cVPOUm=RZ9Ag6S_dv z_;s|uT2lzpaNh9g@ttTRfMd`%keL*M^bzX!7%$rIgfU z(#c>aRsYUrmp(=i_*7#}UA#LkzO~Te&QYOL`uEHX_GP$!!yE_Lex#{jP*3w9HpW1- z%mnP~QAWlK zGczo`{64f@+HHRGDb@GDgY5;G{pM}j5j=Wd1yV+ zOpU`iwCN3nhHBh@#4fqCV-v7N>IF6q1eVc9Gsr&*m~0BKPM{yO*N+8Z;#^NTXj(#` zZ8d4`F^gYsMf}uIOF5W2RG4>sW z0QK0)^2v(9yh4bInD$zivdIDSq;g;mY6ze2>%>Sf6ML;u1W=t;T?k01(pQeuH79%d zsA{YFr~WO?2ki@_AMd40`))nHTPH(fWT3m;*|vng7U2Z$0PJ8e6imD>_=e((8hurx z?ybquyYkqxlGO1mKQ0FAe^J{#LBc+!y%%Fld0b=_elGeDpM9o7)1QjwMa z>T_bTP!ph0K>UPx3}K;%?vb;9^E(YTE1!{jR zPTTw5cNGo!m?ChSlh2i1>s$iXwJx?#*?yZ8PZCwl3XUcmPQ3Q>!J&D=OUSAFg@Yla zp3|pjA75MqYa*>^*eJBeKRic(UNUrClLM&yC?A~=%3lUQnWuN=BT-JyhmBIzzKywh zKBhP13fr`wS(Wl%Z(?1sUzR&qE$o8=5gsG8$QA~uKWjFvAkVrV<8F%vf1dr>_u`BG zE9Kvq7*g#ZsTY=zug3X|_e?gQo=?euYcl3|Yv8A~)5?stjKWH0h^?1=MV1a`Q-)jV*}s&w5wh?t(Ki=QuU!0_bTo~ zUSzz2JXO`-3K_rSsp{i8a%bYk(9fa$%X3nkH$bf*aJkE=ov#3S{-;9Qn7_o9=5mGM zXko7VQeIx$R9P?H19E&#%C3`%yh|wy^k48#)Y$>6j^Ej8QW~B9elz76r+fdo7l!*s z@pX%zFrsXK8iC<8QpEB|#u~V)&=b3#mVKQ3CN(!3_qB&Zyx`XA#W97U_SqaVK9+Ei zXPIZ2x2m%Bko4TGt-vJ9ii4^mcU)`0A<)}^^@GBHV)*}l|L?%@fByHGvxjkyZtnw# zFl2N`M@tG1fK`bS0E6)}$yC3;jK0`9_}N$niJ84jK#ZHe7&Mk1dkJ$l_$<=X1nJ4LTh|)0xxcQKCl?Z?_9y2lW#q zO7pyCOPoi;n0!9P+aupwLNwXU#^&^FUZ(oBM8**CUiv$LlU+}csbe*#43V_e@zURYS+AAnO*G#vnx{#(w3_Yj5|ix7@5R7OTK-f!&uX zm&W!&k{>)^o#y_82&p2w>DVN#n+Rmq1}gC4GqAp1xdpNVEp17yBVoLC=SIfw3Oc{St1l`y*tZS+sc zKSAPo7Xt2Ls2w=R!?MkwJo@#kDYGUFT>U$BmKmh$#Y8Mvoydr+^Dh28ky&i8$7yey zTUw?@X$qVLf*8>o4h!%BbR8nG!gwt$_S6V9pJy7= zg>H?3cU5vennvH0j!xQ_8rhu&t?1o{d2EJJ9jKxp+nBw6Jh`&7M*--Y@?ee?7cjg0y3 zx|}u(yOCD7{Uf%@<)Gt6z;NXTT}W3;u-v7n;FvcU ztTpxISuE=6`9EZ(`=nK8>92O-T-3Y5l3%KO80{WILMtrCt^(GZB8wB9mRwgEo?@U+2-v@N0EfLZjdfUPgUj7CZ`TWrY zHGaX%={j$k8DOW@B5Ad8@JnKD{u3o=YCri>7lN~%0pcxuJNHUd&$c>pgq!hBhwAOk z)yG|4RMoqi-Q@C?V%q9LUJ{7)BE4!8^>vcI0DQ`jb|_|S`y@M(K0;$E$?YI@*||Xa zX@VZZaFECAS%uGE6>EGj*&x^y5U?=7DLW$@6HTWo`IPM^mcy*29{Rget0M zWuGi>Rs>qKetj2t=yFil9`_i>SPv-)A_@n~EW-`h2Q;);8u1=3A|6tn4?mnJ2iNJAT)=nU^>2Bmvoc56lA&wMv0_lO7#cCir?F8boNZu%0*mj;4k;!_8S_Df< z(t9~M`8glAofUcZ`0{LkpItN;p?rX=l6imlYZ*>}uKnItlKA2g2%$DjQ2kW}uoafnG0sG{%z0s~^{J66Cc zTCC+z2AjJ4b4mU-2z+7E)ewZ^oswBNvmSh)vWs@*txn(5X&bNl+EO=F#hS(@|vKd5S51G$7(Ox%wCuLE8AopM9?D`7U}vFf8oFb-y=obT9%i#+ zGqHSMYoO;TL>|TxQg&riR&Xn#}5&u!16H&sPfEp;MZ7p?&Fgc!@U9u3TN zoF~dtJgL5&2AfH~RoYTE@;E|j0#)lN%OP>C3l&^`q|`o9r|P++aKy&j%2G(IT& z>Q!h#_w`R^J~N-L&Ti}lw@)?SNlhGd6%_XC2&YVr>1mcK*l?=O*xRWql-|pjm#k0G zZK=s==ZcWW=3t6(B(j)+CC98p_hrJorMQn_)is!w?#jv#3)68YPt{KmpgXX4V+O zSvBb3rMVD`Yf~Io#$`OCMEC5C^KHi$8H8EuQ!{c_lN4|Dp5cyqG;>7v{tlnT! zOh?~BEkiFdDY`YKd(zBe%^|!lI2?~=g#gcQnyVv8Rid~=07Q;`&^WM z*~sW1B<4wsgc@g>j}G@b5$EBUMW4;{y-jKKz%Cg!bQwtcq$+Apv9~la=H(RSD!D1u z+0I<)^Znz7S9z`Z4aaSpTN{(!@wIg{rRon3W`{au-tJA?vixQK_Bi`Ue$alfx1Xw9 zVJvew?^RuOO>u+%HrOO1eFn7o-#*e#fB#$C>w$!Q8l*HBY}@7)?>CI68hp$%xY7ZA zM7g_iIOS{=d=@yn+EtpErE&X!{C)crYv#Gibs;3HscB65EBVJ)yGqkUf#g>MJ~%67 zn=Rf;lz1U>BRwe62=B6UCH>jX%ss#+(%GW|%QCe){Ds20-S;fPJLBX0b}sh@&t;pL zjFqzNaE$v>-J`^^Mx)Qzc#RCnuBRGhTzh5P)fxHew+a|79&9x1AzzO4rWh`7=X;8r zK=5|nYy3xiyAp!7PZsJY44h;*e)M0W{skML-gVnsNaG+h>_11@!>)vNUsg~N#oX$2 zSdTh`VYMH+BPAf}t-7!?#gG6W%IPO^{7kZcQ2UTAXE#7t=$^55atMcM>v8H)q%GRJ zFPmcFReUe$ask0KznzI@+rum+(eaG9xDQz`?j^9#tuM6`TzOPY7s#LjpkRmZIjZ>j_?rp?wYf$bqtv=LTlk1%Aa zj104L@)1Xrx~``%*|YZzS4B&>hw2**z0^s5){sVMVd6LQE5Yzh8l~#apvniF*ecC} z?I~;n!=94~S89)4JH9-8)7=*orK?R@SIKQZ8lk?F7RyoZ-Q!J){oaWa&FZln<8iN{ z2r1L?7B(6Eo)NEw=Vh+NBIfDDc!T8mH}?lX>qWPWy3O2Qh<>%(IPTfX|ICe=^c;8p z)LV<5gBheye9-Ih?FFO^4coJ*6{rubvb zEM>w3Sy~+rYF*4aME~{erNV~_H3dD`(EwrBj~-|bZnPTE*Z%E=<3$9 zDxNpZlbjFB>suRc(>X=o-Im(IS9?Tx4qekpuD!fBV8asie&H282>c_7Ms>fl-HMR5 z4fWcyq-c3|_6>d6QbD~!sA}%xiX#*BBB}VS^WyC~^d#3lM=vw0 zceRW7w3t(ay01s9f8r90w)ueUaESk|Ew=4Y{@biq-l1T`rBv{7wp7t8>tdIs^tJ2t zTOB(P|5eGC`Lge-W16oD$vSeWhNE-I1Lg8PW}XKt$rsTitMgcC>h{3H%(hn+4(c(e zNHS-(kky;)DwK!hxbf@ z2fKjN70c<{NA4@{$Ynan*DWMxtgz|(TULYhnK3HwI9lr2Taa2j~YCDfZp71{3wh zA?dryW7d2pCQvc%<;U#tN#!$YW(jVD+-{Yl6O*Pk~4SYa4 zdB+@l?_0gUb>~_~O06|adK5Pu5dBqc`k0;nqZ0EzqMzdxt^vKWk{yFnjhYBaq}P7EQNk`xgSoZ=m87{**F0}KW5*+)@#1;Za5 zL494}TA)#Qxt{8%pV>|2v#C6-P%%jyVzy7F4O`WAIDoKbl&o1H%}^k<{_MBjOdxBqU9Q-|Tc!-3_rLvlRo+?5*H& z6rR!3Wd*Z#eRmx#LI~cQ0jxo~#Ai7!9v7%6mPfsQx0qMM9ub1o4>>Tu_ZaIp0|EdW z`ta0FINgVNyQR=nd>Rynzl8hf!)(;B{JW8u;M53{(g?fb%0PD{Ew)B8W6P2uc2n1r z@I0r360l@Uo15eaTQ`HDzT`%~gX|*|(a2_ORD z>fdd5DCY3Ir~9Lri*OiQj^m7Q#CUH}JzMV}1UoO@S$ZmW%lWru-%;hV60>h0?VYkz z>lYJGc-snGWc@76LDy9-r_mfKgZ;5AKp^CxY~_|Kt65JCC?pAS>WiPCi6uS!QXQhxEKow7TvvORS3$EN0p?6b*NW-kC$wiT!Us8y1x^w zjmbU9edy|QkU7*_n|AiOYT&1>!E}W;_c|GuOM$0g(sdhh&sI&0@^b$R_hs=^n=_MM zDw-Aja&xn4XGG}>om-C0QgYEs-X1M}?%lapya+?+D^Z1Rj|OgEgTfPa~pEJ&cf5@y+wiE^NfeuK{LQW{8S-Yq5Z2Ro1xEBpUh*$RT_NEekl|7lvt?{zA&(bn_&A(=N0IA{q*VFhM z|KU6}gNnI%0=)&Qo5cl=!|INMgc*xJ?4i2OqrL#a7VVvOJZ*EV;ZZ3x7csq>n*1Mw zbd3H_>FNF!j{aFt`tQL1140&H7iUXtT}N&6^Y;4GA8!xjZihHte#7HM}>$+P{S?mONP|e2IWz2ac3KU{L0rewr&;n7xs1c`Iu4idSFkgfRo?eRziDn zN84mvX3P0f`V88iD5)glsLr@J;d>yWd&M&^2t|6{crbaqXTW_jh}p>9FApg1=^09)axAB za=t1w!|qMALC4J~u|W^CTNM4I+=zX}+`YQ5<0Zad=4W3k<td+0>Y7_{TVwpYgqcn zS?pX-HJCVz)#WRhkna}ywed9MgRMK)dP5xduLL*_&@G#SN$^N{v8A*{;!@a1jH+uRU6pZw4#QT->pGIia7Xj2ib?TBCGJoBfNhA=MkS5iAeOW=9l>~#DnbyTJ z9R>nVDA*2+mokzHJJJ_S>R24&wyjQ4wp2wwl;L7eGAP^jZak|wbV)(^J^`2eNR(1Y z@k&tQvgUE7O5ifN_DV+=Iq@^u4wjHK^;fR4hX#ltyDa8pi6v)w1M2-(=gF!FmhD&D zzcyn14~3$paw*c5zY~A_;Fg;jPu*9Fz0g-*(%WlEEo0egT6p|44VS$)Hg#|;XbNoa_*hAGoxv%m# z=a~@YlEH;p`Iw;2rP4Uvb5`YLWm`FqLu}+Y*j3Mj3@%2l$M6&!UWzol$myduzqa5O z?|f*CN84F0mJKF!xZ}qq?)`OG|CM*PZ>hfN)bL=B580vybDcYZ zOoQV@-%b&`gDS?l8#Omr%U^A!@=lu9y4EjtmCcX9G=^xo?Ygxyj(7vpOI$~cW5ka6 zzCQH3@?^20wu_fgb*6?7i#gc1C3hV5Fm!N+oI)=dVak-N#8zg%OE9W5GUYfX;j zVK^%XyScA-H|$0d^d2jC$c!5VcoIg@x)%tIRm+CAS@eW?4sAT$2u`8j7cF*zOZz>o zO!s*N5dwX-6cVW9ktpYV`w1&UtpB2?@x-?NovhmQJ^sTQ!StoH=X|XLizAzN4w-?H zK92n?#ydJ7yh_^?y_)YI$XEGv z8}&y#|4cD??MUUgN>!RKN-#p_#c^RPm;c@`afD>kB#-)$wA*+^LLw{2EA;{AZ4vpc z;w28M&@fbIVO+Zeb}j5YmFm4xUHdZFL-_RU&AJ9++!zD=!93gXt0++c8)|Ha#&J%B zXz<>%BNc)dRreM4Eq^Rg4-*dH_0i@TYN>!lzJc9%bYU0e2S4QPLS`J@9d8QkVK+nR zoY@%OmTzT9rEZ(Up@(0#b7M$BpX4pF`=k%u7 z!VcsN)cXn~TI6R--rN4Q@S?)f^2I8+q)GMfM!FLe_pox3;v&2z8m}hxma*2MUmZ0X0>bg$5?c>e3I_nL(u@&Cr^L_lWf0; z!4E5j(%O@+aco+z>9p+MU(>92+-Uq&Q!MbTV$9gwW#e&Dz(Vs#Qil^NNlCsl@#xfw zIcCZ`9?7CAurbYCU%m{c8hIL%tC?@-23(_%{$xSB%L;Z45Bt{%p|7&Pron{Q(dHHh zO&~sIHI8nir-uF0({v8H5V>z_(`g0j%3X(fC8`-bH+QScu8ants9YN?isEsrv1u7A1;n zrADe6R%I7nEA3MEy^<{=47pW~eoQBWqQZvn=A$Ru;eF4`Kci*Gi^` z?a6${dbE-DpB97f7=><~`;1@5e-PH@SWD06VV@XSVpPk^Q;bCFo*PRAyD{)l%!V z#&ZKXBG=Urhus&-UQ{a@r+;G4S9+h_JtT?I#}OZ6Qgz9J5gCpJTXwmLQ>VFTMmw-j z+vbK&{&5e2rdD#W6T9cFXp3fA4YU^w#JmPVzN)$7rhp?=OjH;6ic zgQ?2mrsGUisTt94d7UWgO+sDD58|fIAGbHIQyyyJhJeq?PAnBB+j=yLGDK_6VysoV z{MzitE3;}e10q2`q?8`SELK9=ZBB0f9Qf@}R1Xqerb^>B&xaPjS!mUYp3gfsvG>DD zCPjKqYk1hJc)?hJ_+EakWRZoUYAc)%H}GBiJ!ag_ts z;Y2xOq)HaSJuPcMV+EUKrbE2MTa3`C|c9_&=zS(v-C>#vJ? zb;PxN2e^96B@-=+{k2hLlvc`4l&r9~5dEt)@@l#$9 zICA{Lh~)elcK>FL=$R#q3#hcF>|y3Di?6lfB_=PquTQ2!Sj0&pT%QW-Ncic#I%)%N zS}b70vQ&i>_vWH{Yi6bUh%pueS$O(oYl$40kG_3hb9T|C*6aBBQ+1!xvpDJCqVIs4 zK+UC0UVMkN!m6Z9?NA9|fogL9uQB>R|Nc*m+2df$uJ~m!!BLn6elO!E3ANF}?2>9U zp({m|qvz@WwO6ls4lS%&yEi(yVvWFYif}8q=gC3LvD4Y zET<@UXABicj#kMGx~A`$48ax1j9a6PbxH9q=UG2V6I!4I3!+*qEBnYdg)K4`i#11J zmV89Nhsy+eDTX$dIB*w=abRAJBMk=&b_b|G*XxY7if4{Tj&7}wZFiu-B5Kazq-GRQ z-}QiHy)JLmnvLPna68or^jQeG)B$GW4IRH~%5cs$L?_S>I`-Lfg&#q5N7X8^4WLU; z+b?W0{onHDA$LmEQ>1NHqjpRgf~Ka?vUNMP!Sz2PzpY+gk9r)yeQ7FDb!km#qHCVOk&t3WB2j3s% zPI<>NdzkMD8S5;%J~lV$!qXN?rs@~|(eke<3Jho`5NIi2ZN4ND`BMq2eFELB@TT}3 z#nWLUARUCC&)zSrkShcxmTw%%r&f zk8hnF-^zI6!;Tq%wZt;D zp3VM2(f_M9Wj}K~bSZYh3|L=_|3rp8t?9DC0xc3&^!u?eSo!#C!TJB_8)bj=gT#Z{ zmYO3HBxn>yHZdJ&u2B6> z39y?BT6q4oYvF_6+_K0)K^YR*&Gl23cO=UQ{2By4DaW~QFEep9-j?GncA1s)vu2`m zOq?**<=M05@V7L5Xmvk#X2&|`SYXubTlK935GZ)jZ@x6Sq5Mfv`=g_yYYpYaqU){# zkMIY>a;4@=)03coC;giff3yk8lbOr<2s{$#kAn+J;Hap$D*}g3PkN9T?Cs|u?&;{@ zYAf#QY3uALE9U0o=zQ|wWDz=}r=_a}!C(-i1O7oLOVD}E5LYJ%GBALIz@tPEEZ!Bu z0}#jpF@qC=;E&*cr63p{A^w8l#-}$=wjhPeF5Us&{x04=oYGtL~ZT;ebg>rzIa;ZU%$W0|NF8#^&59+T=cZ8zmxxK0F{HI zzda!SGRSV{;BW5<;93a6W3>123xFW}A&|};9N=>bqXA6o2M~lHf>U~Fo&SItPhq=1 zV3FT>OpVn+p7VgcWVW_`&JaX#ia%$Ny)!6>0^mqM?d9O=1s=NzU{!k;TL-}WPLM~$ z)6@GD-UP6K-9MG%{7c+S)q*4gWz4coMu=!`0u%!#4EyAODjVPme&ruiwX6 za3yo`(>ZMyw196<-M#fsVKM->df8nv1TZy#U%LW|{)A^;0(Hy)e42mL-d`Q?^0W!V zAqQIxeE_opm_E?mOzlrt%GM7+zw^T{xd!N({t4Upc^m&(K0L_FSgan$__ zE^zeMGy&-V2Y8T^tClW+K}&6e&A7t{^vtt2% zrl;wEhlpi2TfNHwK7H4&Pr&6<{s7$Y;Lt@#9nyd}p+IojLEexXfjs_yKX>8xT}LPgq#ysC`p2`PkkjwGLBF4H zhgQKGJn@+ERPmJYE`sZMa7y7R;3@v~94F;pcoJw5Xb|WSXb}khl>*rVtUbW#2f6-> zG<|T-5m4s`u3mr9@Q?EFSMf*jm+>d@7x8BxbLjK$QvRgW#x=(8FAV-J*#KGurTxJb zN5C;JXzi~&czghBS-cB)=K%fycRYGLW=IrI22i4ghXl0Ag4DmbcZzl3-?;sQmw)m7 zuY9LibN&;Jf2LCiQON#@h239Nftvh_6aTrCf823}96&Dp|C|$%fOv%%Ky)GAAX*U( z5GSGo(TEsAw4K6#;;i+XJI;T<&GU!CWiEv6uNXkRd>DYdn2ZDYY{~ohp^dtXBbNmKD zDxhx=zyC*?TLuJG^g$3q(m&GptRRR<1cF|S*$4Us{ZSs?=?^|c0#Slq!342G+>ijE zM+%aIl%eyGCZq=$LZ;AF=sMuI3*-rK4u&G2Xy`U{2f7PoLb*^OR17_Zs-Txp1Jnw2 zLH*Dm^d6do=0Lmn0&PHOXcsz!!C-_iau^Ma3C02Ag$cu?U*cVOwTT-ak+IqU_j3DyOB0~>|Sz?NWZuph7kI08-vr-ie@`QYMk1-Keq zA8rb_hC9Q3;bHJtcq;q>ya@gbUJvhr55gzmi|`Hj4gx}uBIprZ2vLLrLLFg#e0fZkJpPg zj<3&0)%p-bUFfuhKxsHYgC*rp_=(;Agw%Z0n$!-| zvDC%XJ=7~S2pVo0bsBq`TQpB-`e?q;643I~>e9N=-l46c9i~OoQPauLnbU>P<VqOJa7v5~%0p2}6em)Dn zc)kX{Z~Tn>y8L1MmHZzC$OVuBz5+!86M_VS3WDx}`GW6-;6k!OE<$-iBf@ZDIbm1f zeBn_Md=W(vFOedVX;Cs!HPIl^O3@`Tda;XQF=7p3+u}Upmg4us2gGp_vJxH=PbB6f zsU`I!VQ*-Pa~O-PeVYe}P|8>KNa!ZMCB1u`FGX=Dv#<7K;LkLBd${N$?T z*5rBQZ^%ECpH`q%xU7(@@LCaH@q!{su~l(jNlqz1>7~+lWl?2!)ms^Yoj4m7H z8Lb*i8b=rpn9!Kmm{geTnqDwXGo3RNFbg#6Hm5YdW?pW-XQ5${Zn1bp{7U4N!K=(y zU9UD;5?Y#DmRjyuXo?b#uX|i?v!S%HwRv>||AxhliW^6^ zhPFkvJ9fHu5AD$Q>h{_88xH3k?mMhGo^woh{OWYhDc$Lt^Eu}X=QS6kOP0%~tGa8h zE5=R7tkFd{epG99K-%MY$pT1wI zKg{3SzcGLoh&e-n0)cUXOF^nZc|q7<^Waw@R3Tm=L!m;UiJ@P^w8Bcl@xtxHyCb+F zq9c|f)gm89!J_P4MySk#xB+Bcs@lSI2mzl)KGNssw;%i>mZEL-f&*p)c#xXRlU zxBYHU$1BGdCg3HwCJZM^C*~yLk{puW-jTSIb>}GAKKX5mWXgk-lT@eF;WW9lg1ZEF zz3xukL*9FuPL&>(zLH^(QGcKFe$xG4nKqekvShLfvq`c8vlky+e9)M~lXExcDAy%- zGVelO%|q6Qi4XVk9rDKt&KFb{vK8JbJb2{#=)+^}$Mr>gMOnoJ#X-fZPt2bTlqi&x zmok^$DLpRpDqDPN{Is`RzP!AGwIZz&UKv=q_UziT_f;BIjn$&nk89{_?mUN{2R>ha zapT3*OZ}JKuM}QY*YegrtfQ$*s)yBw)}tF-8WtO`HjXywHFY;DH`ld@wUo7TwdS?a zwWYO_w8yrebcA*6boz8|b~$&gblY^#^<3$h=r!sc?$hsk-LKW(GoUum@%r5B);CIT zn%*kBZ5WgrtRIpcs(UBjd%#Ngzm$6nmwGm`4RtP(x)?@K>VZmq6NW)nnk(Awk3_Fp=FchxfT1B zjnDp{kG{mNlCNfc<@j3uP3l|gn%3I;b*uF+8$KI{o42>9wjOQ^Y}bB2|9uF31^or% zhdKF?{FCWt*)N%2-8+|e=65}J5BHL=OxUOU3i|^G76)GsgO3Q09vllEH{<_Pm6i^HpsC9xI7HF9e_>z(V%Ht%nA+P<6 zn`fG48D(F3pr50idm&Htp<=#tfoP%7 zBZ8t)0!U?W_V{QX7}g5ef;pLYrc5l)}r&0+47|ogU^Ov3|IBODt=@5wz!tGF0;P4 z@pLn6OJ|#CyZpQM_Z4(8CgjKUpN78-cHDNmvGE5D#~LTV3i)^aOCsWm#^szGr9VxWajltM%+h?j4?8-gUlr z{KW!(f~rD9LKDJ;B5tCxqByaB@l**5Ne;=cQq|HyGUsGrvVC$%@`egD3R8+XN><8j z${#^1xTeaaI*rUeZ>7ekc6eb@{e?!drlXdMHkJ0OPOEOFUXZ@yMLPqROWuZ_m+g!U zjg?J=Oj*n*%;Dy{7GJMSUG1@~w#vJfWF2O`~LFh3a|;x3F->|5V8`w8MYrm8p$3dfa1JKaC0HLE+*}k zU+ncbv)fnVT@!94<|kF%sY|X;sZD*6R&}@hUP=0+jJ*4qnQ2*x*)b17bG&n%^IRX^ z%;$DZn@p~IEm^jorOg|F&{?i!qIC8>t z(rN1EbjgR2nO}3%A4NZ1ocCGCUTj$!Tb^H8{=Bh@4{ASpZFGZbQ({YYo9{d2cPx4p zGyUW3&!%6GcTl_Ld;EL5*w+291LZ@qBaP#=KkHu%wgJyaT*ni{C&b4PtP!pgEfZr% zNyvD~)hH|}qt85}8l^s=<)zc4cVmcSEM%%>?qhk)+RxU){+J_#^8)7q*ORmQXE(SL zc=&m`d9U;C^WEo{;D0ONEJ!F=CZr?uRrt1ufJmRHy%;2xFRmi~K_U=HH#JfhrM^ku zl3|x=lr@&!l#7$+kZ%A|%Qr=o61`HTvYIm3o~E*WE?kvRH4iC+oH`$-#;(?Q!SKS2 zx{LaWMv>-aEn=-6?Fbziops$Jy=(f6`coG(4NNXkUV3AA>$39YUq&^??k4;upG_Z| zS(`JNPgtZ~(YbPRwa(JRipT2HwJhsP*1Om5+wj`d-cY+SYa3#B*6srsM_e4Wo#dSr zU36V--8|iGJ&>MfJU@DsczgQD`W*T8_$B#Y4xkH|3oHzB2<8i34JioK4E-495l$OE z9?=rn9@UHLx!Dw59+P$JR;+iN)osmqp#=PdiNu^F%R4-G4wDyC-laCBJ-Qop&njIh zgE?dW{#546tnBQR2kAMFb6@54Km3rtUU2w`{4r;dbg|BpYbD;LQDuowlgn>b*jCCv zqj>hCYO8wxIoS*Lmr}1T*M`^C)?*tLn|zvcTAsHywzags>DcMg?r!Qe>Dw8|dL#XI zVkl+!#(Ui{wF%%lWrpJ8#`5s`&aeH``u{@*clu2rkb|I%XfQ*)4MAo|2)fq`L41>7 z-U*bhm&qZ>R1t#nIYDr;Aqb|l^!N7z1|c8AbvIKe%e=xgD zg9@N(s2v)CmY`o?=Ew?@glWTUV8O6^uxGH>uvIt#TmXI%?hnrg^Sl!&Sn1%Qr2`Nb;DGBLaGG?+eavAbgigOgrlnRtB zXLQcYQ3X(+p{}CQpc$n#r5&X+q#L8Rp~o`hFrH(aXNqKIVQyx*&PvSM$`-^f!~T=w zC8r;kEZ5Q50q!gw7hV-U3cf}DR{{xwc0y{xd?FMghoakJpT#F7>LkOZB&Fu16J%s% zzRNbsrOSsZI4E9Jl2B$)p*Sa|ns;7UE#<-+_3xTQT6Ee>I;^@pdNTT#F8UfgxYTR- z!-(71!X(vnz#Pv)n~DTUgPc8b!T(3T{W?ml%d|516jO0$OQIp*bR?YH`k#;?sQt(XpmF7=-4 zeK!V7-XI6X-wBS$je3n^r}1WqKNc>~EVX~3_!hCDwpH`}@Q2(ltzDA66ztpmZwFrv zXO3!*@8axEBz}({r}a+=bZ^u^=fDN@>C(_Spk+6OZU7BKIFtzGK;=*q&?9_;&@g-$ zGfd)l?T5nd!=A&2VOwxYxHQ}nehX}e_=4a-*dU%DHu2=}V(}*N1@WWtKZ3f?BZLTD z2q%d&i5iK;i7QA1NuH6)kamz=CR-s7p&+Knq~xM}4(6|ORKe8r)D1M|G+VThbR={S z=tb$@GI%pGFm^JzGSf15vUs!duzqCAVZXw`$T7p2&*gAdf*azV;Hl(|<-5i&1Lkt; zfDz*j6y^p;qJcz}exS&ZC_{D4BeVv$m^a+pfcxkS}Q$*m<^kGy8=3e)7K%P##1X>=QB=#uXkE@jglx z^(2}l=6)rJ7FmjY4E$B(qG&U%96?ck@F%iFkh+Q;8AIjRB`^3uciED zE>E9VFjPLQI#<2*Jm;n2tKmA^`oqSeW}{Z9t-Rx6C#Jiw*REgbHP>6b!FTV1MhM;~ zjggHPP1;Nw%y`U|efqk{v3&V+^lJMW!^YihKJ>ev_ji-`bq}SE3XVVHFn`uR9z+cE zxs0Ipg@LX~9l8uOOrB6A==qPKTIe-25BfbBj1P7mW(^C6<-yuuOK@UP>$dPr_@&~DvmA9?ru(FJ|=Tc8FTv|6>>b%u2h_4O~-UlKEX zW+Y}@Z>nxKW#M_1#PZoS^XpVMNbPJKtQCpR_QzM7eCX^62y0s^nMqZ;#equdi?7Z?SGmeAhr*U~GRl z{Ji|@?5~}jlwH={iao`>+`WCQ1-5>le&27ue*f^`{6Xx&n?s62lf&%8_eVrW=Z`{; zUL36*a~)qjPCtHoe2kOCIpDH!gTMi|av>a`KZ8 zf(X+g==k2r$zjpS$#F55YUz)R0(L}Tt z?md3dMa(U2jHa{m8zrIVky+x!oRapNvi}-kG5?<^`d zjnf0~KOOkL51?!%AOJemKaUeo$Y~j;kAeSydi=j`{nvj_K7qwssgqfV49s}pR0t{v z3H`&$xucL0IMe9rMH1sguwj(!5x_zs#wltB#i2^)HZAYt$}WL+?$Ma2wKfvj=B-P2 zSH3?vJ(O%f`k1Wztkg@L#IrBOEr7rHxfAG_9B$qQ>xw$WT&;Mq9iYN{Y2Z8W@6fRS z@vim}(i``D?l2U!1ibWo?_(c3*Rx)y9Hss5-2djuKeeKNx0BQOA^#iu&Jhkv1)8#AmGTS;b0<`YlZzIX3>XU8=0TdBBpMP5o3 zoz1d?_&U6z$d0a{g9mDEfvBocibu*#1$)4gK|hMzwLs*3X;b2(Tmz&EKvD|Jwub$j0qn^c>R|r-Rc6ps&oVgmUMBWFrknYCk$Lm z4D=idF4yN-W1Py|pSWV)DSIZ#HMeFl(tY-#(*KeMG4EU9*bBjSv>p(FF7=22I3WUd zunR{oo_x+WULihrZ!eP$?R|6(i6f2&o`~77U@VOT;lDce?X~}9s(yYj$IHSW9UGq` zzi37P+gnOQF#6g86G-hS1ZoMj^c{C)^k1hAx5WSZ$$xVQw2%LxmJq(kffWeeL}0A? zl?Zz};uadjyS^tP&!|`+XKLF>&tnSiJauEp@D%+rH#@hWt1?ojJDYF`rm)=JU7G*q zzU3#-&o18mr;X2ulfQi-{sbY}$umx%`x*)%)W`YlrhHcoWrM-2IFS+n6*X>zoc2+$Sxil|b zoMSJE6$0J}<8ov3W*X>(D+8uxZ(B{AzT`6p$Ih{RcL$!Ta7bFu-bl$tm|R@oxvHU% z1=^%|cd?LvohZLJWpW3dnZ*E0N*$A5RnTdqnC`pyx zND}-)lSL8IJ1yc+?A5$3V!>=wlK=koN8T+VlT1xfMdLel1r1HRxZf|A$=r{|s4q|V zM)KoG2+?0VErXNAMOA2g*^;H!bg=dJyv}Am5qr=hd4tIQb!Q)wmZ6Hn`UP^aD^0** z+0({>6hVjD=R1|%#%6Ba>2t*Uz-6aD{ zPtxlz>f>&-G$=cyy(^Hhi^p2IpCS4jR4qb5H(f;{8RX|0xjj%<=qx#izLFfM@zM2y ziL2LyiKqBE$|pa5o2}MlBJFAzuz3R zM9><#G zwK24&6pjrUOZ8-Ao|24R=XS*tg1+#41iM>$baySIxU7q-)eWb`)Q&+TukSQFTj zH(`AveB1HkK+72d!>HOX8Sicsr!;@@^KGyy@hR@V?_6N|+LU*TTi0xLJZtz`{dfQQ zKWuzyDRkKD_EBh><%QlfD%{5frdG=8knW!*=(vQ5;)ZcYkGXD9$3(jy<3)7FYTOwa zxmUeRR1B1M&W@R`3?1#%NB6e6YYX=-N=!Z$R537grmw&B?$f8OZ&8mN+YBIJL|hY% zS}fu?)9Q)-xwv=RTZMety@O<7y?Nbg#Mfa}@uEA~OHVRIs5!=Wnl8&ETc07Z?Dnl! z8Fljm7L2|IDtRKkPMJktn2lCly^b<}tw-)pbl> zUNtr4yvX4Rx&MmQH%le=ml^b&@UiTGc}DCP!qK_ybI&N0=iZlHm#-~)((bnOyBzl) zz>kjrwhjX#;j#mFB;v${8bSoCO&Q|<|mCQ%bRw{9-d%92aN%@aYff2*AqzWr~3L@jM%uCe%y+41{z1;OR z4xTz#(C3TF0d*lD5}xZBWg9h*qL1Q)SF>6q|GpDieO;uq<=_-Y_${-c-B}rfNl$!6lnqFgLdq~5V zzx#A)`NxWZN(iO2f;;PG(JbHdoz0!uV|ChSEFgR?FI1bCCzZj`D`e@W>{sK`FTD7Z z9}XfeiO(44U%ftRaQybG;~$MCDg^XkMI1MFV_Ck(o9!BQqffp-xMi&Fe(JpY^iLj* zbh;qxf&7*xM1$Kgg^Gojch(?bVga+KJeyd3q#@##LUlo4=F(3+D&IJ>fPxM4y83*C z=(-EAj6do)F2ji)>7dKD;?XqS?5vo$)wCr~&DzmGTT;&$RNcIc@qT5p>NhOY+8o`% z&9K~Y$+!Hse}4v^gl0CodtQoSUD3OmCC+iHgjnl}WzxgEx;(c%^YE}gKLabMTJZ$g zLXrq_Y~?bN(xyGT+U0K!}F*ONZt%j9X zHyDD-14D2Q?Z%rzC268D156_&v_EnN@m1X1v!sj~tm=GvF(pD*Kd~luUmq(`G&4RF z)Y6li-wWQ1tows?yivB;y=CBnOc_T)w}^`0y)MyKkJcESRpYy#cE|Z@)#qT5e5N}$ zgW0tR$eAvgs9dYiA{WznYq^_dczK0Fx+KG-$Fzo6f6gq9*WG1xGp|E)y8Iv<6z*`4 ztG8da+l8@7Xr((;Jkr5%#L0%%vV{!`hb(~)fn&11FSVo=j$WwO!B6_y0}-A|^D-^* zt1|6-_Om0e9(=)yXekwW$rKC9G`I=vTKrPYe)D^Xh^RSa2x;kUR{%j;DVHf3+@-O% zu4QgNPT&5#ojE0#Z{i^{%-^6X)L!qU+X#Z*Gdw9<$6=2W?c z0Z(e2#H^|fn7mDF9)G^!CDN-i#>$dHck>a61Y4gB ztD*`m%-!#g5UmN;?k|^>Igd~LP|!|ZbEfLki*@9%HxI}^Xmpuv(24+G5PSn3&@3gu zF12FdMXrb(2pq@SbJFR{5ZUoSEcln?iY~ zJe#5mGSvV<2FU1L3LTrbLJ%jA(Uwws6zczB?>(cM?7DSfd@QJlC{>C?MMSztQz=mq z5D+6EU5JWGiGYaokXuFR5D@_dBr07>K$_G@7wKJUNC1(ZP(mPuvwXh&p7HLp-#x}Y zW9;wz+CLaD)*!jpTK8JBTyxHAHf+LDyP$>nKE{vm)1Uucf5?9>dSpY;!~}9b9ocLz z1it#JuS64Dw1A3z&U9dSFy(tn0wv7LqL+Sb{aDg+5sg44`Nfe_#(m$X#!CytbcYul zi$Q*ZQRaE*r(i6JhzWJ}A#os0r@j7o54!;fldJ{}ZT?y7Xd`CD!ce;9x7T%7vzIu} z2_oGqgvrOlj%lQT|J}>O1Fcj%1Iqzq_0R95=rj4S6H1)yw7j$%$*WNJ<<86+Ef6o9oJ?CnG z)3XCOJ(ec_a@4YsPyk=t!7yU?Axnu3$jAgp;K`ya?LHmH&|r$vV>8g_%6r|Va7M@@ zwdADG$B+W)IineF}rd?qwI{?+ooI=56@~)#?Er26!=Sp@phW`&dYqB;)r0 zn-9Ey=xMH|Wwx&wg6=no6rX!MZtR>jr+kU56`-4B44BiN<;@h8m7yfOH+nYZHU_x_ z3Zq2)Qr%Dj3v-^2rBSQ!D-dY_M!5#x(ii&X&OD~61$c@8kK2D7qYu(PfX(lr!)dPc z-bq+cFZv9{C-ecOq%_IvXh$J6fHdHKObRZNREGVwkTe^JSFNv_36VmCTd^7NX{3z@)d6#^cvOfzC11&91^SJwmm$JN~l zJl*`%e>sZRVZ}4u83?8>@K#C6^u-CnKDzR^aal^{ixTL7ZrUjF=p!W2IYPVoVBvi) zS202O{XQ|>d+{4W2fFttA0bZRbLMpge%6_vdS8wW`mgRExM}E!LhS(v6tLsp0nhtF z{okJVRq`Lt`voU(yzTV=)gaQ(ME}Hs`2T$H|HsW?)Gz?DKv+GSH>lADAC+DaCHU+2us-i_)5*J5y3&$C zw+~qAnZ11Pxc^E2i2ZxTL7f)z=y>oR0VS(E1t>#h*C=>8n9CodarJCTvS~}GWqn`#>-}4Bzk$9 zL$}_HiJ+&0iRstlMSQu~0x3~xP#rSU_zn%f=o9;6)l#%HFv`cF_e9kQ&6z+iVQ8YY z%PGewdQs$$o>}c#ftd{BiRQ$tN^e&D^`r|k$!nP*KjxaH^Mbu+yiWA|if%#WEy%S- zP`u7H?@rXg{k;70s^P8J9#bE~(XzqnTug@L<)Q8q z-2{rK)F0aD=J7L>&PJRdriU%U`ot6bBtU{h`~rIIW-=~~v@y8Aq(*Il zA9JM7gK;QH8PD*I_~rXweM=gDYIbrz%X~f)n;DjFimXg5K0#FOmmT>sSjgZ*p2Cb0 zR!~R*_D7|-`_=PnFlWAB{{x2jNeIhiV~OYql_nhS))d|$>poJD&J@km$1 zN#BgLEXvBC7JNM*En7p=LeN0zbL=gOIx7&l%`tl|j^>4NLUT}&jreCcu3~s_J&7Gf zzLaX@p*Y-;MOj{*a#ku@z($of+oOOXL;9rs&s$~jZb?5hFA8syc>U~~#EsM<_qO_a zHoW!GdGVe5!rn}pzCW#JG}JznmDb;9Lo8f56}8PFZO})U&)w$OdWipdf$3dDX>LqH z48NYCfwjLt>3f$ui!vk_m%fQE)^xHf7g#kLqcnU0^ykSwbe&Xa;unH_8LuC<^7&^- zFij0zJSnuS?-h{O8BfWKDDZoztQt9kEotb_hCOzpB*>@4cvqMDZ|DQiV7CZZx?>-p zY*GgL=40YI?&m7o7(3C)dIofvo&i#Z-JQ7Hh{qDS6);C}e>sgG5mJ9;$I5cSYHJ2d zxpjV#8t=3lwX~)LkQE#M^e;Pr7N*Rw1!|)5uzQCh5GA0anWnv)aFTcD7d2va@2TRP zxPCv)GoMH2Qe$tmy4fNZTqaMON5MWhWNi&j4leYA zJvu}uvDx73Qa=IWg+EINn8ZIFP$IXcBA^#uUgVy{Vs+|mv_FrZRnKH7GcHZ8)cpJn z8t7u$MoL|qM}^xFJk#b*cc=w9_hz{C$D{MvpQxe{1-=XQC-E<5-Z)vBCDA-@6;8Ws zHQV{iBYq|_!Tvn|2(<`O^jVP+0DbNqECkTA4$}r)7u|nseDpseiiB9M* zWU33C5;04$3QT3#Us=_Bv#-+qXUEvjj($xa5~>I|fJj0X+W03$Uxgbv=<6|5c* z`E5Xi+Jjp?ty*}l+2Uog-`yI?if{zp6Ntq<^yb}h_j2|{&%8u9TUgLM{S6;GkLl)_ zEuq`N5jEZBh(S$kupn?de`n3F^VH#1WPFkA+5zI0wCqX(EvuU?kLlTR4_c#9@}o#R z^eewoZcmy7VAVU!Z#gWql!Fz32C$b)^tQFf|cYhP_xak7$RC#!j&8t z5jm-{D)+hMTG76cm*o>PUTwvd#$FP^=PEfv$jOsRIUQL8Q3CrOBP{n0+dLk#-Z1*k zkT3_L$s%W)!yagy-`vPpBE<+tXVB+C1H^~$HQDg3;APrVdYKo>%SD^_cXv`&iWYI? ztjE{GIQq(B;wGGC*M*VCv={l#nNv!!WYVPmvjQ)nvX!c!@sY0bwc+ z(*d+v2ZAM6hR^@|#{9EH{|+lo2(FQ1ccsV!{_-GF6s(R&d6siJgrPgLT4pRp3|MF> zV%c91FMi~0Zpnpx=|VFxv{_XsboP>MidL-sHMIMo;La4U`!cSIj;d)cy4AN#yH9Pv z@0cy=vwySAYti7yzP6?+vcHLhuwz@07x0TbR3{lM{icoj4<(>f-oZEb7oe@Fcrr1J zDN9Bk0A_AZcP@c+qIXFSy}TIWnu30qR7g`wcI!ARJ3|@O2#>OANxwHZjD^hB9=0~L zeaaBbJ9pjnYm4Go-&iKA7eI&;@z9D98+c$pyS&pkd9vsJ{;Z)U zgnqkti%&U)eb^&|QL1T=hEvtkHA7$^+k?lqkWwJ&g>JcfCs-qSRK;9H$V3hkRC8`m!k{?rG? z$Dex>@sE3BC(O3As1eHg;mNNf&;tr_qYtN3m-BtYtEf>Ya$g0 ze}Zwfryfk^^Ox|imTo>K1`7ATSk%x2?==3rkbM6|yF=%~@sMP(>g2W9L}#19k-S_? zy5%IW8t|J2gU{gOz1tjX@itqNY!MiFki{zxJY&v3A`1PCj5xrwp$aXY|A+xLNaXK< zkSl643@Ko2Krz68s$7^9EpuEFGpXA&eyBNLQF^OyMqpWfxZ4dbc#gpNuB-Lq-?m1o zsr^*{$9?Kjx#kNM@&T}d^%cY-cvbr=)Syt0y$CE~nEzT~zB5IZ)2@uYf6J&B#w$vFFH|Xf;$nO<^>o>? z{yi2VZxTAR()IumT}PT$H%&j^Bs-ZU&dV)mKwN}|@j$j;(EDT9P$MVv0;HHK`i=OllQ!z?gMbZY zN=CUV;;^l-eV$74{ZqZaqT9FLQKUl8Kj4x4Mp8PP>|&O_w0*W?q8^xcfbRO7mGQxm#x4D1Cx>im&+HC zA7Fdgs=l#g&PYw22_m2GslmFzM1^+;GsQ|1G8XR{r2Ce>@2b1`{N1u$74m7eiAfIE zxw+#{#(~-sgg#OG3<4 z9`?S*ZH{}Q-(Xu<=l;#y8h8xLScf&{kMjfm$(5J?Ne~+LA03;&`ANLDIcB(VGz@Yd zw4sEoic7|vdUBI3rhWI&-eW7===T$fKT$Lr`W;fzGAC$R?9|0PpT$(_so`#SXQgJf zSJrNUrguM|EUwzM99w~x;GrHJu53->_%(*a(E5{n&@DHN@0O;EmEPOYhJ!&K<}JU^ zUR+nDYcSNI+DGUeR7=3Vs}GcC1TRyVVi}@+j1Ft4QFTRr!|~^7K4c3bxN02&yxhr| zr9E=RfoD`-wgdkgRnqV7YQB&Wd38R_`G<)`xyna1oTAPeo`heJVw^!ArH4=|K??)e zUoP4QsMy-hkVMP6_uLEXEGHWtE++#I@uWL`cfEExWG6{hB(;Q5SIN6rd%&Btly^5pN9=0hr=st<%O(7$z z))2Hff>W|!@5!HrE&P- zAv+Dt8!qu>CQlppziqME3LqiE(9VOoTU4OFsLc5H6;?6sKunD zj#`yWXRB@K4czVaqux0=@|EKtCuF0N@=FE~cc9}aSkSX*qYgVZ2)ck_l)82?f=c{`7a@X-(`#Eo3ZS_pg~s$khbxfZ~>Yaf^S~tTmVn=#InrDlFhP^kO##bo4l(%J!gaM*1!966J%a!! z^=U?g!#D>?d)`r&8&ISXtpJ0nic0gc=Vo%*UWHcg?s}7aCkE%r)ey)tjXkw@@;Ws} z-W3-|#P*+}*7JKf%V(PN`roX!ZCLigPth@TQKIO$mPv!Xu=a9#*V9w zOayEv)R~K9?@tG<1v>k*T3IB6a;Qpn1=#?j+(1Oy^T&4(8;GL0DqK;zr6Y|#0xwJr z4J4-YLY1FPJ@p7O?gEYDVM0|m6tThVbF*8&drj_rWt_C&-MqRv++L~}XX{+6`3M!~ ztDm^aP_+nAcXyU$jfUVsyWE#`DYbWN(xYhzd-t6BgaEYt_{ePe)*yKN=~2SCz$PD9 z#BM=)dSI@LHmroco?)CftJEmpm}LxayMoiUz1?sY|9pqA@Gh?-dFHGdjQZ7@V@k}s zrEyiKtX!Pp2d>f5`P#HyLe-^ORu4q$8=~qo`{zD)0n1oXvKK1s>0pKBtTm9%X-xv{0Z09>v{0;4|B7;FeK_5y*)zjM+eC~X)uJlJ&PNxS%_=1<4O zo^Bm{{DaL)WuwhMEYLfWcQ$J1vIrP8-OFEtu##;>_| z(cqy>iFQ90uH<9;NQ&ihndFacj<8yi{w4CCy>K2$`e`;@;cS~UGQ8nz!>EMiRwgj& zVjr)ra-gU{%GMfdJ}Q;E2`~1JR3S;l%`6rSRY|?oLnnK{I%msL;$~$T&X}G9pX(Bvtbk_cn)iAw-u+*yd1yW!(pLgHF-7&{VGjCEmfwu8Yy48Kgr ze(!6>Lb)Ov;9TD~x@OVlZ?aZP?8jJdT=R2~F8)jFYN4U6gxCP-9VH{$H>V!YeRzLE2F%P+vnu%XVq^jdL znrHOD^YJ{u6n6OR3qle7OntEQp5pnGpb-YRoSR#?WlnHvZAEm-6Q5dPb9d$P?$Mxsb#=%uh&mO+MbyR0r|CZ z;+Ex`8ruL@yM(3GoE6qmX3?KF2d2=79?D>kUeGSgrUzW5Eq0E<+BnSW)UqvVSI10bDA=+L?d6TIs2`<+AlLcxgEMqB$LZI;|&X@e|SC z#Kv_Xo4EY{JtIW*8&tPMPuk|t*$+*~6Sg@-@;bSg_vjIzgX%$RyZM-Qlpo~IpXHiI z`LS~P7<>NfskmFQ!g~$Th22PUAbhc_&cn^vrucMSx@}83^V~Wx<8YYFw}or)=LZzz=`VMC;;urodtFaH?UkK%y^jmQnYVVJdtOopx&rILzch{Z%}K8 zW{K?GitLNbQlz2wVWcA;FqyKUmDLUGp95$DE`sdlXgL@xU_L2IA&)Q9k_$=`yS~QQ zbDtAfi5^mBgD;aC30~6_SpW|SpcM%DdtsRhnd<%(mBXKZ4#AWhcD&6N{QAv;^W=s= zE8>|_FG12!VeGT|ER6@rxAuaxrI}yKCoFz%xO%T_TK;gg>%)@3_{`;$zi$BqS`5AK zWbz|vB_+YONw_GzfngZoWW4wOob^+qJLm&@-h*Ad$V&5y$Qe1RNDC>gsp?(QZk01| z&lIxu&e`1@^V+aLLYPz2;x&b#WUSi}H{J?9vcf5^n1(&j7n!;LNZFC4{v#^Y$kHzM z^9^wNL>$^=md73;8uD@gnDyU@6GCP1M<`1Sw`YH!!RCZz-?EB4^!*MZi+NB z`DbVe6sDSw$jsvIJuwGAG#(3xaMdy&@_3cGKtI>1{RYSJV4vEIfg}OIKbwDjT#F)= z8}d(vG?p9KOWz1`MSV6bt<lWoPB<`cBObq=vt!yr9xM z=z7#)Bk0fjHC-}eUi?MiB#=lj;QzA(g(1qGW&nQWEb{y`qUF;WRQ#k=Xw_jVyg8&1 zBLuKvee)W@FE%z!yC{3B%DDMYPvlQVqp+$I=;nPP*o{A>O&)ccb3A z!y)7cCA=cr;#T3~Ok=&}O7kS6Zn(~xVFmozPWaI(7cEVR2hhr6{~6gd`r&O3Nn#U` zc6tb);`i1mn~A{9!q0AVlu2xK@Iw^*^KA|odqhI$|0Y(S3SMLe^yAE*EC3?yQWdn# zkwr^2g=%GitOtJJbw%I@0zAGi;5z;Xu#sX|A^-ip+ykEQD&K{9M_RIP%an!0JEdb2>22-2PNrls_=^uSSxYdf@ z@4*nHtIdCdaTg;6M}7UCR7>epetBLyacEZjXir*-dy&mZc15D)*H?8Z_o7o>FY4Nugkk#cJhePxv>0!l_o z{sX2{1W_-_Gu&)RM`pW7H4#dLLKT>f{%-i!?ego{D)NdtVXg{y3g0h$SW!V)Yc`iv zzCNF5p!Qv@L0jf;uH+NckS6>{FUj&7G8neQi@?kNK{!&g2OJzB6?o`(>IkP&daCu1b$6(+^`%3oEfPF7A0rWvcVanh(>}gAd3>ZRCu^lV!%69JJXJy)A{+s z0k7TM4)n^NPlU!>-Y@M`5?Ef}tmb42M9_|P*YKgw(~GEBasyNp3FlQ+Jmh5Jq*O96TulTmrqhBYL{17F8|eEkgGbJ5}@dC!T90^`*?|jkxlElyn+Sb}d(U z16p!@ylL40meRRMq?FN;D1!@=8QCdY>m`{xex>JhWDBj))Oo@2bV(}cPw?)zF8_@k|H%*M1d%D^&VB?0 zg5xv=n3oj{FM*`` zKOMpvVO9+^xiNuYJ#`0oFB(9Ru(uGA1%XNN`BMF>V=(jq#0~i!`8D1b4rdCs1^e}djC^*TkbjD30c|xgt z!S^GwBco+p%zjl&6B@;lzij0RqPVUh{qDg=IW?o;7MJ_{j{6Oz;iw<1;e7mx`m(yC z_nQ5(G_wTU;J>O2+^LgSswjCgA+b*lqi*Zi9|<9UYGAsugDfj9=y3o^Rq}O+DMn!bZ6x-`FuPW+H_If z=f=n;wXO92*Dd?Xns(>=zB$wcKyVg`qX@RM9Nl;#FkoqBKoHPf-#!T61wGhGWaG4l5cpAVdM z)#Dml_1@~jNop?mykVCu0${9@uH{T{+S zh%^ozg#Xqek4_4&7I#uXl%c*#8@z_U-@wK-yv_^eHBwb}zenTsTQr8+@HWSI0I~P` z=CUv*a$L$IP)t&Inm;>0=u~1}+i-#cZr77r)ox=O@MEX(K;O}QLh6xQ+;lvfJ^Kbm zmkO!B<&j4(g0Bx=!+!yY;6^=Rm4>8)wiXlwJu@>5THA*J(L;!qnNLTu4WMsC2469O z#WBcDtz;V#qM-R{_?nGn;oR1KU%l4a8lLAJbHlB5Hu4$oAG(XEC0c#hB^P;jQ`_BT zLDQ0AQ{N{rJ=AML#p|MyntFdCW19?OZqW6RoW{Zw@Qh4sacC z&acL<+X{Uf3Rag2Hoq*Cr~fls{$aVaA@2aOy<{=4GuUZn7I_!!&;=)G?EqDg#RO{* zLC_twxbQT`Fu!e%jCkav{oG_*uU%*P>~6|pcr@(B0_r)9Y?|r6DQRh zJ#&z=BD)8JpO9Qp8Mn$yi@rqL>9qCX72K{+E`LjlqFF7zw@y51muq9V?iky&Ou74` zv$=+Y`UkRq6u;FUpRJ;HAyVEg(QLd^#X~jO0Hv(*V8F=lj+|tSW`>t0hQTw`dYKbG zlyb5Yu^tbfyvTa5qB-SUBMC6KURy;f{;z~X_q)u(^JEQKDT_61R4LJC+63X{@`2%EC^U1q$n;^r;laDUkg{tOeAU_dJo`W>_By!Sdg*`Ss|RL30%@TP>X24inJE3M^xdhmHu(wJ^{KwE z{nq9~XRe$bx|67OU`K7|$-9*vw>%Plydeo|6f>ZAq-pJaGkqR6T{>PD-xp-d#~QO@ z%5W=czVqyAFC0tiD}G8Fwr&Ddz~dl08q&G1%Kh`V;hQV%xh3mWr3GKY-rUlc(e5Fh znzE2eIfs8X$lfPKalLt(8WO$N*hBeYHVBM~pio6Qv zEUGyZyx&^>T#HF|=&xUHaM+jWQtYN3!wbGs<}69nQ%vSDA_M*&!-VSpG^XexPGT91 zGyrX>fB|jpDIDF1>Cwqj?Sbftti$xm*eA&Z3XpNDMq8pD1RH)3`h&Ck*r%&5O(-5g zL5G>T*|XvT36_+w6jXZeg!75=_{JrHeCvH-Q!8#@lkG(mluG)Ms@g2&2bvG&fCRMJ4@M_)$0YgXx)zD;>Ns@2X-HtfKP?Zwx53wwJS z?yL-198!C8V9!}S1nmGc@fyb|ijUL;Mj-SA$3B(7J}ON?c`wtAs@yA&jQyHD-<&x% zYiE8AcP!3Oz|PszjJ>o)+$>)3>qDzh#raqFpZV5vqhYD~ldJZ1-JGC`ZVl%Wd>{KN z+L`3)J-j@rAEqex#3<0MCjfO+hI~3b$SLLc$upmF9|vaW$mK4z>1`fVdihr_`T=Do zq8NSvtxZW!e_vGZ5?imuG*$j?skCo@(=lv&`CD|Y(aHP4S2aA40|me$F=UDz)kIE4 z!)Nnj0nXEdrJuytf|%tyLbDhJ3i$h!6pA5UbqL%MS-rK*F@|iLTFx))Mg}SzfgRAi zoN2k+Gy`d97*t)IW61uY5?4K<*KTN0gm{jf_Hxh=Wst`7NmE_)6e;X>Iu%|RfWH&1k}{OKenpN zQ}z;5U&T}&u?I|x{8u)7*bb|NLp4!o&j#V-BI$|jUN@zvI3uRaAYBmOB0-TM=n^J? zOR(a>J`R!_MQzzPEJuixS!57yO`SdoR63k#4A?n4e_DQniX6kym#7kTBG_=WPLA5k zfb?RUHx+)*&$&H!k9ql(_rBTzhw#oY^tB&_zWaZ=oJ~;akLxdCv{xx^$y42o8;*$e z9@X0)C7f-Lt+o(bouH8U+0uX_!8Rg95f)5}fJ@LapOha9vZoRtQRrtX&?@P%gHz== zM!GwKRSp}{1h-uREkp-ZQA0-v|Harcj47b}ccsE^ko5oMAN32d?0v|8D^>6Sr3w^I zP^sXBF@uxQ*oA9wM#Z}J%BOIduz%M<_n$iI!uJ3uq!L;U?qt9fUl15?@#BVnH`ra= z=I9WGFEDF(w>g&X68vP(F|Ym3W}ZXW5tIoI%XBGIb_;D>>?!)Tww5-Gg+m{vNcqq# ze^zzUb@Ej=J94n4qpl3+L2p*9RLhF;OzST+E z)R&yR^7SZj(VTG_?E}(lbl9zg;?4ysnSEn^&M z;qKANbMmp6M=3<{{~p+om1r&U+%!6A7Rb;=oG1yW^$^s}R#r)!OkUzQ;2NJNb#nNQ zOg1;<;6u;);y`~%DiqEZr{k>YzGz)CQrHDHY?C)Vh70kMwHoG6dZ=~?AzxcmYQpiddc*&@(ByApb9r10MY-1njp-R$E|(C*vRE5@mqoKOk)J}YtCa*7@>MTkG%(-6*-lurV{oZ2aD%}533^#3 zeV&G(BRCrt^~sH_j%Vq=sdJC%L1uxL^%N^xn@-6loS#ELR$GKXvUH|_vp`Gi_t*uC z8QQ6E=_YBX&}@^Iu_fRdoBU@^_n-0q4#&Ii|Fz>?MWjXFcmf4gdG#zqYgvP7mdTjz z2FQVVbep5VZkZh?vgS)<^}xx}Bb7R2I|-=H zA$%hYHbr?jEHIt+if*0wq$I`6y@F(cke-g^4Lfdu-ZT(Vx)UFhFqJPs^JBfiNTNkS z)80kX<;xjR?7F_YRqmlM$JMb8g=7Z&X z^g~uDTNHhes)i#$yuK(?bsv$%{HT)&yu((h={-TTB=?eAR|b{ztp57(mzbKUto@~l z<)=uoDkU<4vz?3$@mFuiiReI24|9GVT? zAK;MR;wp`wFcASbS}5gZS=~HHVu__2HAs`}lo#c-;dvHUlYe`J{jJ$+1FIz;qtp$fyE|@e8Z%1o9NF=mQ(#gZ z_a*vc9;OvKh&gg$&fhYkN*+p^!`)7}RUUstvZVUCo@GpWoTOmscl6uMP{WiaRXhVBspmmV?Vhzz)uTq=EVu5ndOtO0j@jGPYi!2<^6l0sI7PPH zGj^OKKAC^lE7UT5Kf-+%+XUOG8<^MU#xcPNXI`%c-{FV8T|>!zbZf|ILt9hb(Ud)& zNN&NKZfRJ>i@_F%U*4-};Lb%LiYPA*q1#F@U3ADeQ0QXUnjc<-Z70(s`rv*4;WVXV zc8v}4BOuO<0(JG=Mwukuboi~v-mn}IHBMRUbm!K(Yx)lJh z>y&^6cnW`s{vwslC-2FwkYYbAnc2``OXFS!vD2gAo2vdi4T_s$C7oNpaa(^44mc8) zd=>S#U|0%JLNBZ4nZWiMi9Q>C8XsG}HIUgzC`K-3ldwaK8`TsB`urf%k6bP9P?J)R zu)0zDRw9x7Yfj4fAUXnN8zykisv(a{4__%f0z95Rx-_VQvxu8)S(oa5qUGLTks?yU z?oa7ypDr)|8a-_KaS74-VCBKIE$Rd3^sN0(h7G%ET%Pr@%Ev3um#1$0DBbIGLu6UX z>HZSYP0~PWd>u+rX69-^fQdvccYQN=L)r0EVbPOOiE4e&Q0pWwT987lCmirqthe7u z<$12^s%T!-zqE`EEjj8vsf%)!U*c|W6TH}YKBP6#sQ+%(M|10o4NdlwAVxH}PMmVR z-&WGQ#e#Bhwsg_S!KXDRe2eTU%`Z!K6N2=6^Gc2=8odyDP7av&Hu6P2?6~{7&bW;~ z=bpexPb3Tp)go#R0;@|%Q;U)^Un{bnkwZQzvTSCRpZ@2gjwOjl8jBOrgWaPiW91rO zsliTv%iI-(8|s{BZtUFc+qAVohH4jOu6n&cD=+Ug?`kt_+j>l4J>cDaZ0mDrhqDw?zBx(uVe;Xccs`@`2a45#n*EVcC1Lo5C%?V8Dp8Dpa<}6s`O7Fq#M`M= zm7g)pWBrt?lM_Db) ze>mjstS}udd6C+A;bY`g$pnmAwfuX#QL5s#0vdiPu8Q0plN`(UAI4nc-8A8k}WvtgslL;8NFV2jT&`5x}xaZE5 zdb$YuP=wvQls(TlFXg&@P{%pkem-@j;c7(j3w}EW5#G@{s0$^YlDC)b+2-&f&bSl0 z){r{^^m(a9+;^3XtjE8!K?W_6sruOIm1{7!62CmdmH@H*E?K`GU3Z$U^VAK^lJc@q z&bPA5%juXCXeDr`A2F{}5KXYBHJZH(Du|u7=<@+L`|)eD5Azk=T`i1;+%P}OM4se% zW?dsUu=0goeoc_t!NIDOI+^T{*n1tRL8vr>?3RDFx2*bE2LeO8()KGxpomleCmrwN zbT0*%ZmM8m4yxXfEhEoCV?2ayDFGrdyeGnFM~xKf8*qmJYTRu$`0E?jvqns;^A&8^ z@X{WGKmd;EB9KYPA`b>wE|=SGOtX(bi_H{uUg$6QI<1U7Da1833I{rfNGIApKP<(}B-vNSm_kEHofI~(kH z>+3PcQxF_hzDA@7U$}An59ZYkp^dCCjaz;uz?7)sLha=^Q0~*bUzx0PIO2`e(tLXH ziqB%dVikk=!0yfEn_{Puy=FG52Ib>Mh6t5ry;X{g8+3T1xF9`*oP^}D9~)t+2MAP! z7$x@JbQJoXAFN*do-A%t`rzRF^i!kT2L_YS@~kTDBTREDJ`BzCf$nKq(YJQgUtZY0 z&Q^nBdhg}ShHTfzEA?Wo(gvaWRx~B~+Gd@Pm=5+aSE_G@v^K=3G>@Q?JYOhDwTEFOzFs z<+wjY$qDm1-T%sGPo5OFXuP4Lq$wVvi70+{MDMcD=}vd(?Ds<>{3hr&;OndvJdG zh92FKgb%sUHjI0zDOh&6Cg$^~P1fO+lX9XYb5-y$9LUq+%Ps`Trw}>xe5Pze81?ux4 z_)e4TNcRU=s!ScOS$h`a!c$Fa@+bIjn?7hw0Ken=Iv!%Zho&AV{7x>ox0c#xP zlykizt0EzX`EJg<2fY_mSu9VwGx#6=32yoSn*R@h`}%j=92FL8Ky%0Zrr?-S6eKXD zNA3Y=`oBB(8bmC@R^WvoxWDvomG~$Bx%&Q}|Nhr5?j{QqUOYpalc2uBqU0I zU0*xSMezZGtIWKAJ z3$4WvpAzXvIxu|VRbRh0^?z>`^n`SOl<|G-+&NY1!Dke8T5oR^4@sWKmR0G>)Sa{w zB1M;zToHEKoV~a0^qbT>A3h-nsHXW~ZtXO(?KG?feQc~|7EtYes!U~ z_RFXRHjKh^mu^NG1m-a=LQ^@1X~N1#rGqD`lbXUvc?f+Z_s}fTmFoH;wltG`|Lb$V zlVx@`=TBf6r}vbVtmx<-SJ>RTTm#blLVzLnhe=^pg0O=?Ay76z+KbO`CoS?;X2xbgCVt zn{|2qUlo`4|G$PX%F+gpR}}QDE!x(LXcG>GV~-XQhvk+cB!q4siK%r+to>B8%=aSQ zMlTd6&EyN%uVbl;rj+OI6BV`asf%O%yvYHZvZ>2IT%i{gVDQbcpj+x9Hp7fl?pjSC>dU>HZ|Q{CMe5_W{{N_wu((urj{scXZ4|Gl4BF9uR3F2Jey zRsvnRxq%x|N7&Eg`#?un4y+Mi^W!IaAM`YZeQv(pR=P2OSNa;!8SI=Ff2=W?M@IY0 z*(t{v05k&qDB?TQ2nl1u&~`cV+G^A*H(a*3m&3eb)Iy)E6_)I1EE^tnboync=(E5rgV7bR zOeZ02n3lFE{WgxVrp8c`x!&nPHS;qMsyEHEd|FWZY>GX;h5Bao5QD@=UOnBhc<- zTu2IkH^{Lo$undaR2yWdtMlf%P-^0P&W?`Ct#nEyi9PzjCF~ZFT03#`4JN;&Ot&Ao zGFs1Y)S5~r6ifM*=C!R)k1Z2*iBp(5R_Y}%YgZDEDVRy`5ykTWKj9qZ8=Q6!%S3J7 zp@RC?!_>+J7_X)gWwKEOAF3&lIq%)-sgRvLZ(?vPX8nP4-ouaO5vD0UTz*o{4~kz( zoV9A;73Mt;vI?)@b}_w3L|(KC-LQb3p=D-0$W(TQ{<6Dnyf}JTU(DU>i;38ZtTxwo z2eDFw%^54X-2p3I;bjR~MOBmV+RJ?L7amul47B882Q7&dtyRkbH`R9!Q*2QIM~dft z7jFmmDDjVMIen%I#zpRX-BuWnk>{wpkX456TIAfH&Iw&(o$neff#$piKml1M($ zv81@_#^r|NnTEqEYJ*BP29m>(O*Lq0E5D1?orvQtb;SZdTomk5_TfZ?o6k1Q3zToTE zV{AQQT+JgT+4RdTMdGNA@adM4PRHD;X^=0AM80DkgX$Xk;J+cUdIUbMKhVNmDy(=LA7hqutfX8+=^m-miUDzL@)jtjqC~KfEy5 z+CfYz?3cr!Ki|wK5@wW^RjpUJ6IMX_$^0=h$ z%-%%(l--Z1S8`ivAUg*;snrb9w;WjrD|$BhWH%Zq6n?LuPu@#5X)XE(ZTha&8XaeO zYUYvbO7pKD!lQ5Q=9ZuNsmX2q16L58Vmt3}pkA#r>yAShyDMwiRbeR~Ph5jr6G(T6 zYhZKXlzmWB0$Wh<6ZGp=HxH})&(_-qoQ`dMqc6UB`TghXUAAI>J-XVm94))q#`;tv zhxT&k^;N$}5dxCp!%w=SsoK_9n@#&7n{Hq{}*k9&%7W~yIC`Pe?QtFFw@yJr?t2_!{$dMai~bwx7A%` zPS7Cv!-G8+4Fnp|JfN)Afignw8wOef$;u#dS4roMblxi?J`DD2TuV^Dfju<#mf&CT zOr_v^jH|H8*ZpSSZl|8FB~31ED#F>iiKZROEhJK?btG#kxihB>ddKj^oN$rAhp1fl zhdwIO`(81x_J54m2-SptYLu_!w6K-@evIP3&Y2FKg%^Q5J&>+Vuib;srN=gwv4!bH zWLfEDS53Gl_vn`EsM;yAsL@+I{$*9coSL^nPrI8M_N~HX$^0A?We=ynhZvX87X52^ zK4htvn*WQvH;-y6>-I&l!44sc0!o)sX{0X&MCnpCfPjF2^i9eJ=|ogSf`n`Z>4g*^ zP@)p)QG`en5D0`GQ32@%gpkmQ5J+gkhBUrqefQk^-FxcX`<*x58*hv^&L0_K#>n1l zuf5h>bN=RU{-!p_W-a;JpYZ=({dY=>`m`Gg$^mOo%;azh-s z>3#lcV9|y;ST(8ncCPoJT?>!O4t^uD3`R`VI5jvuWVyZJ;l4Md8P*)eqRi|)f{$~7t;4MbFEclkZliY@p(C!P{P zX=LA`R!ezJ|Ei0L(#fQdKONW zzV1Ow!vhY^FG8hmj*M1hLm3HkE2!X(>8N^?2p13>!zO`+LstTllO4u9!zt6bS;Jp_yz{!mB3~h*{TU0pnMLF)!LnaYhRxEKE*xw8 z5WOI=;=+DBNTNt$L9lMblwEGCzER!zj5fkBZ%rGnc$MckG&{KHDJtZ0TlZ{Gp=*=6 zqlu7_kVMjTDoMt=&@9(5(5fPh!(X7}wSM_Zk%}rV=n|v2c#%qLR|oThNL_>bLNWmq z+e8$G#;Z`R;USs3p_b~OiZk!-K=D|`Y&fn3+G&X3Vh0wuhl;)tL~#e5Om82a8!pZ) zo|Wj>eSy8E8`|I3GCX{maN^LExm0|q#;%S*u2?@#c?`puNU0soAiTziw6zYt&FydD zwbw=Y#mDWqT;V0TV_dYPe&2&lYL90OZsi+W7@6d50P-cyB-}+J{*gS&FYDfHaoVzb z`uEUa_NWj)h8hVmT?t&fqjjH`+nOlC*MKv33I)Gj{{k;gBse05W_N6T0MQPYPI`v( ziM7E|jJ@02tPWz;2Ud87LK+e7B8D<`eOSA|Z7-L7<^AZ1BNyH#?dZ{i%CiL1E{aOT z9EiSX8nf3f*X-9j7f1SWSDLOKD=XY}r#NMlh@pG{i4O+8((5+@T#1w1&TnYvYlYST zWst038j&jjVo))(BCcZt(XzM$MmN<-v2NDn!&F+1v)Gf3ZH1~y#iY$->y(mO`?F&7 z`luU0jptI01k4X&-%~9d&NSH0?Tf7oihW!pIp`)?L3vojW`IYYiKH;y!6R#olxu7# z;tm4O`3}UgOEf~gvYGeb)jkG=Jw)I|A3-yQC3yQNyFsvD1*W9Zmo5}~N~1Lq#PjC} z)|E*Ert|ZuO4wJ%2hVOk->LEXek>M^bwfA8~RzCzAp|Gr-Pj< z+xr>?D|`N|P2Xkkvo^gAL;-joZAI?iNF8$XeySIK`4d_T{0@Z3_uGm7GhzCl{|>Hf z!H1)^^9?Y%Gc;-&Dgvl9b}{*EO!4*4WT!mm?;F_U-$t?$i~J9#Z^Mi{x$@NZ{oy)$ zfD1T6f1w4^Xn+ zf7gW`X+LEw{1PCYXe#sMQ$j+{@zS?~j(biY-2dF+N{VUa&Fk2~|I9t$GAsQ-O^bj4 zO;=afW5IHFoSyzUnPerG+^!IzUI@+wX^m*8h$vwea9nw};xrD*5 z0Pgv+{Bw-}E-eGk2H4l%Jbl66ep@(eHMF#`W()6Rp0(*C%J*r@oNbiUT9epUm1KG? z>4SJs&=oL}q)(=D&(l}GukLraS|12B^ZxVVcN)H^X=v~htn;^me*b~YAGshq@gCy8 ze)%5@A^v|pLu>Vb%a8oBoo4m;E+U#BM7c~1rwZ5og0X?hXYVgO9Pf~@>QkK_cKB3T zU0ITVLHq8ll9m?L>I$H4yss7DXbZ!lx+A3F@6q6?}GTs6!RB5jg-vKv1^<+kRSSvm4E+mD>v9oq{s9GouieC@08~QjZ=A$l)@64qvwX>uAUdOu`cRkImF&p#_GBAss zhAOy#dV4Oa6%HC+@q>P4ty`>Tl)a5n8W%qRlB80!8Mefc)B0d#aA0{lHI#2gA8oE*@JC~YE zGQPjwwCMJ3fNMdeZ3jmd6PR(X-S2Q3eSe*Bw?Ec|PK+{CW%9%GA~Z)wy%Q3R4@5{k z3p#j3@T#=Fhl+8hl|}#1i0!dL?z{iCR4edbI5<80EX4Z`c!=Wwf^F%RPr#5@F?wqUJA0 z)N)fgb2pEEZIb-Gz-dO*;@z*pHTM`z_ksfKfMgDmzb{^r+U&ju4y6WahvcP1;#2t!_(S&#XGb|E5A!(gdTFye6!=RAY6dLp5Q( zWyy5TrP|~HS1l86YR)k1Enh#v@{dzv6lvU?%YpG`UNUOJ>@uG!?RwO4;>=M+LkDKX`X_%HMtHI?zTCO5@KYj`)tSz`}KHqN=E8kKdDaA0FPMRKXlwZnC8Kc`2DVN|w zZj7W;d$?|ezW4niOLDkstjO%#?}@7H<(9ltrblk4c<5E_KDDhF6d%BZlYr%OdIH52 zLjm9ZZ1(>7;p%1Qz(p!cE5VSQrtdoJi*xcR^62%|yDu#PtdeI}IJAc}YTlfo#nh7h zWkCCxf2kX}*L7>^p{*57cTJU>o&07}F$R#wOBksBHWFeaf@EJdC#8$Y@ zdqLaHkXuW4`*>@=xm?Gsp7%??+O5Z3^E+^4b17Mk)zmb0azNW30iSIgJIqq3%G~U) z=BLFDKD28@gemnH^>G!9oDr~RIzGr1Ctsbavak4YQ z)Kcl&pr&b&mhZWNG2@D~T*q(2#xF9z7|-T;+jkHDmZbN-@o3-S$e`cz zDI!6Rhlj2Q2s3I4jWT-YqArEc4;JRO-~L^F;^T8yUb)-dJ0}wI$y&R%Ppp zeKhh330XrXK1To0wt`QoT~I#x3aIuH{21`ywDzzIjBl2>cs9Tvl(X8pd_CMQRs00@ zxctZI(a*7gZ-dNo&%If^&hQ-j^jsl8-ac2_z*MQV(@cNRVR+Vu2=XXLGMLl`K*!lf zDeEgoi}-pP5kF;rtnlrHYXkT=91zfEHRH6b_I|UvMcu2acDKmqyt-#a z()Z4eT+C(9FvroW+k(#u9=Ttm;$f+h`}2GO$|z?iG=B)(0#Pcx@Bu5R6=ZBNn*n#U zhwBHdJO+Jn@ZpJz?%oWkPg}O?ZMu2u)Aqi;o(5&&P=k{Dh62Ij?h1GN<4%t#d}Xuc zMYFM$CrQq;g>DRgJt=oxSdTeKcgJUY$?7o6?~mbWD@l4M^@lR|wy7$NonPKvQf4A2 z*ZQrwP-E*Q_ucR@W*cp~_7(iBp>99^?7*s5ZkTtf_oVEl-b4X9kW)`-JJL3rZtn_=lZ;BoH&FN{v z!sZ92>;m?lJJV~fwRW9R@kP5_Gd99pobOd|oX0#jqpm|kJm+SRPdQVW(D+@C6svd1 zG2?vpyVzr@zu!pJGOwy=rTrnHDxp7E0LL}f$*^udybWf^d#?{pwtA^@_=G*`>-nUX z2f62W%K3cQcI=_6Vp!d;vnWwjqBc?h)@!a)f7?5`r%M|w2h}@!->K{wHCv8lpenc) zz(h2@WPup$oy*TNGlx0WQGKTzeQBPuW!I^k66?sr&!4amLgW!M_ z#~SEF7#{w%la3d0Jr#UoD%G*O-6jW>Ea%ZzxW_KW_N&7dkXIXeHXala=t!c7zz1fX za~!g*m#`w0hAW0;e{Y>z@W@q)v>bo-$6|3!|HzHDXCk2g=_5 z<*;^!CeFKkUA$c$GWZhm!~7|VqFuyv;Wr|Fnn1I>okp!WJr4akexV002fVVdjM$Zg zE$(?7Oi-EcaYiZJ?SD}?t9!3D=X<(1(MRL%3!h;Z^8&{|2XB_aepe1 zB87(i&-ZCFAX-{ndAx*abXQ=Y;h%HT)C*2hL?B6n&;R1= zeNSB1?a|@kCW{EQ@yB=1Ph5PRtv`NrOM0bi18^m~xXy@!0LQpk`Eye|tN~aJ1J!Cz z5m_Vyhu2EReSWDtt@n#7<A$Q7ua`&QJzJY#QE1sO+k#?sYqi z4-j5Rx90Sg_YCDhocQe&Z=p?K8n?N*(Wzn?CSmmTNu(@F+qIZO$Y#sDg zsYYM%Q)uBg%Fy)3=1P>fzBk>?yg_#`;%+cj&-?2B>e^Qo%L*<}-BLEmRrLRETC6{v zoF7rxl}j%w-YBZcnAv(IGrHq#Ld0aY^(!Ymqk<2!HBQ?7n*09WlFMlSOD^MS)DM9m z_x!O-prqh`SIfW2U4wHTYOmqm|LJpp?b&m1Zde6WC3z#(bs#*NEk6fsoHbA^xj2fX z5smgcd_rQODwBCCpb#%ICHT#?`+f+V|DEVXl;AxBa+ITdU|heXWkIvM#Ta5Mb63Yb zYyP1pAhvD_*a7OiY}`peT_?_)(QNNE;n$-sz_p-Z+?g&$Q5o`Nb8w;wAZL zsWWZhzR~CkVR)mK7f+gVp1rS4CHSh9CoybNQaPB}_n+Wkg1V|ohjAUjU zeK87a&N+_(m`^E~H&35ZUY5}Q6j~~+2%A?HVJ)SvSzCp_$c zCANr$hZRJs=pAR~B#MWoQLUMrdEL)n+{1))Cm&bVvL~s;{esk8p;{&)5QNx2A+tZ&7yAkY#lFKrq z3j~?g%v>+Zjhd1Qmx!d00($%@pB~E((|hom=2aUKMj%y0asV|Z&J)i)hHUJ54B{u*f^1M8%Ii+D)?}cK@;OSJBJy{VIKKhQ`kOw)arkx%a6A)P zpy!+LU7|Q#)&w1(v7{-xd<{O4-ng?q5wJqV5Fg3{YfIej4lgi$mXJpY}j2_59@tcm~Zt%jt zj**r;86T{;#|K+1p{c)GE1;bm+9{O^C|YWrvS)s>A1I6bb?{*mbrFVGZObN9%oBiu zAwL1J{0=nl(4WxTO+bamm5JhoqW{qu0cU}|45$D<1WxhN^bxb{LO^FadY_|9qI&?g z(Mba96CS~WaUPo>SE*iztjeum(H35!RX2x8*nKLj1`7Ib_KU_ZhMwV}c_Ctz7LNsALO*G^G`RpQJCreeUYO zdk8LNi8SAQ=ae=KlrahL7pQGh@5}&Y1#8FIrHe1Z>GM0Fr9T$qXX+TfKLku#tQ#o{ zRZ+YU-bJ#TKj8kL=9QpXRbFKKDzO7(dL&Swfi7X=07!C}<`a9W|E*zw1QWc_SBcO{ z`hEI1ab1!|X%4~ZLhVP=p~1@aY=+f?NqiWz^A_HbKZx@~780fz)=tEg$Xni`uhx$I5V#8|kK2Wmalp^2^bP+ZLKt=f>v>w!;y%SlM+lt_R`l$iGafF>$&wI|-O#bX8fqL)I z2_R+*t92doga8ot2rlx&#Z)!8(JJ8md;x3c&@-JM0(%jgz^)^qR?2Zr!@PWmzBh}8 zn)`&ZrR$6EMF3cR8JJuxELatSz$pFIh|c6^Bf1{~KReMG=YR_U%lDVO-E%aMw*wPa zzJxyI{hR4Gjc;q1K9AkQJMCCidvd&HvGdjAs7DE0=tYeMb!yB_dLkLPo(u7bRRIb|6P)*x;;* z{K~@Dzc5~)*4tP6H-?1Xljzs?$Qpw)=mQ3KR9sx1^p@Z2zkxN7|HLk-jw|x%x)iy4 ztGKO^{&&c{kk&O4#cujpEvC(^o3LaqBkt`Ygk$di+)!)j%)#!roG!LvY!E`%~yD9<{() zb2paO*pUIWQ}@cE2=@5HLz-5KL%)|+osZk^Wc$I`6t|5@;qCz$uSl*fYo;x=POn>E zh>nWB=W=&cg{Bj|+7+20nPhPci@uucQjwT7Z0?^oVh}MFZqWOZoOp8~@TESS>tBfj zoU8_5D{rFWDWsV=Lp?8oSRf>XiE5;Za1F*kQbl}ar9W${Ng6m$Tq4!^xliw0)D}K7 z!2h69aHvvgQ`pRfK2eSZIU;>ns)qPQ+2{GSE-NC$*<9TL!^4;$T1AQ8cZupwe5SAc+&xu&)5_DaQ>4ZDkA4?t zgYMt3b<#we`Ybo>51*=Q!s{i(`{3Sk_muOp4#5vO*6vuZ0ky?C86WqPG5iD0JJhaJ zl`~iFpGe-{uIXI19;aTK{^;|wNF6C@|D%y7uhjE^Pvi+aX5or}yM` zW=l&TJajUcXJnE+8>t|?NnrvB5gadzFULjWX(ClbOaR@Xi7JA*{Dx}^LE9n_&7meu zw}eo8zaoWTA3?XnUCkGLPAt0^_tZXqYjk&ax53m%;E~tz)-U=hMppFO+9*s5XvC_8 zx(gf39Be})Kob`Kc-aFiLR8x$E&Oh;y>J{YA&nMizMXtxIO55`ZA`JtvuCVOxitGL zLMIuM=Z?8rq+RDoHKR*4nuXEywR%v8e*#sCYEaW%qxm;l_%=x<)zt(91{aL^h!5^* zpgGj0HE#CSS5EqHJ!vC!!9Cc8Blq@G9U+T*g;%^vj6z9~y0&~r3W5zBGq$Zeo5CE7 z#L5)98EX&|M?2!D`j*XQ@a#tyYio->#wS{0+wCTdo!8qefjuFjS~Vi5<>0A?@@WPG zRZNKe8*EX8DQiQ}zo_4>HABb@%|_YAH5mS8e4b>Wu%n%|CF<#osf^*VW2*7T9y%Yb z^GV{@5ajud6s8d+76p(6t1$FIEC7+h(0hR9NsG1{qN#36=wSo{vDv%&1%t%wyZb}n zz}c5h?wCpkQpkbKh*dw?)~T!So)^C??j_BPP^EysEQ{*r>wup2z2nH3Is-U{2FYUX z9|T4+Dvf%OFNab1(A2W`yQt~y+kPQgK7$qPbT>ZX?uUWfvlmj6zSLKII8v4Np566; zDvk1jq9xgJ$QZ*T-0iH|l(A&>%oF%=KWFxYb+B+12B`KgDJIU8?o{xC`jZ+09-@Wd zGWI%{opA3AU6{&p_8&@XfDm=NaShe}(Kif_!6+xzq_El|*R&kkJ6k=S9E6M*_CGA7 zq!_8G^||R(68+R=Cr1B-+WyEX8=G3-{>|~FdEih93&FM9;@Z$C`*Ft)11fw4bAJnSCl(_IhY}qI9xYDMDQ~7LsHRbgg_S%W%qnN4q)`Lz~f{wS0E`uhj z0LTc+JWC^N!Q2^a+z_lOFZA`Qu?<=JbU&%BN>O{r`b_i3l*WZo;!AU-obRs}R9+}N zc~hJ`s#r^~yHk5>kh+_X^ucNM8XobH6?sc$4a7?%`@S|kptCps7lE<*KM)spHcZ!U zi&dh_3%#qk+r6^e*w(Dn?9HVl@4}qSeCu|v#-2>R$g8zwcT{7>!C?GBHd z0=@6lOe7+%Z>J`Hl}-8FZ7W%%H4rap_i@5TeP3BzcV2ONsN^ZU5bV%|+xZ!+>)jX= zqe|vlRC%tFzqe1#)!$4NxAY~MDkj|@;5lZ+4BWYC6LjO!oo}{}yn9WJROC{U%(F}g zCd@9{iu=hlx+@Ox)(Y8$7^2$mMU?-^s+6j|7hlzSyY;qPhhx@j%u}#8q?b;H1S>DxkB&z8NMYy9bE#5dr)>N7Tw2=k zOG1BkmRGt-Z~8M1C_=AK->$V+@-v0Qpo24|eYE)1H4`+gC*y{zd$V z;9Je~m0d?86|60cNTI7=Ri?CFe-M2orYM1_NG=gB?t`c`2OVLXO#1gfS*P4|`=-oFZT_0~Wh-M( zCnu-bihJoeg0D(sdcKyP-&G9aPrQx74C-2czm3nR>;FZUzz!k<~s>G8hy7+&YV14 zbLm`+=+Vz6(!VPg91su@*z$IBk+r4c(~|`i^A!%=g8F$+lr75-Kbi6^PZ_PK86C-G ztL!--b~)v87$Wz!tPt!Cjy&4?0h5RNhpy7B;Pajwi^VV5Lo=pbpGNOr8{fSt`GLyk zqgf}P9tDjR)*PsP${t$zHe#Opr=*rDl6^Qs3&equl(|Tje-kQdOrP>u+v*@}*wj26 z6_K~RGFv<$^4ak82g2*{@Wekvj;nn3$^!F@{d^C1;h2+!GLs!h&z0>^DDU^;7?@4Y zq(@ECpjDN zEn^dtM0m7P_-c6CQMLC9xv2lyD@AD$jI@YKDVXBEX0tnYp4Ei99BcBp^sP5u`IvR= zkX({`j29j?h&#wNWT9fXs0ph*ux^th5ZHz$WeTkJc)y%E;_C^!q`W_=|5$QCxn=)M z^phl;AalQaD`L`lDW@#&(vy?PKq{MEv%vWJzF(_W$F)~mSi-3!&bBAe(RploI8a!+ zzEh^W6Yg* zZX+S+-%@Q&`|Z9u=-S(qR$B#z&U3`(B5Q!T+yDUL08-Q+i@Y2#(V>n!Otr@}ygS!$ zKzM$qz{D@oTinBq_Omo2zDhatntVQX%0l^ra{0g6AN2KVgKqSOy<#+1=Ou=6wvVh$ zk3TFN^xMFZrQ#xW2kag7(+#rC*JNL=6eq;~IdI#%NK&gXtu@D0(NiMZ!cBW9`zeq~ zA)gwr6|!QsJz8;r5HMtFkvfoCSbDNS?m5B+kZF@b23G%@3F?2Fop$E=5zBNlB`3Kz zNp7Ow@Te#np=l11cIBFdH?a3&HkJ@&9}88lGK6K1g^lGJ?`%Ckak7~H#@fzyuae8t zN`mrpHnacn+B|}$=-+DO#wdaBdC%Pu7y6*2$g%J!|0aM z=9h;tapxa}COIJvhVaz3dI_Ld^vUOMyEfDZr-4NL2>TE)<6)1W2EgL*LJ!rAeNZ9D zeowa^ARknHq>)UQQPDYZ;0_|SQuGihrC#o=Rt70jAx&RW@7I%fPdoE`Tdv2qLWcpJ zY7fTrvsX?Z0dpHm6l@`XyPBkQMBYv2z%~c_t;he^ab#PZl+>styUU{Y#uOkypSct^ zHn#P+scO=mg6LQw&9XgWzsV&(MC*rU@}7X0Dg%1^C;W_K!gb}5xt>|;{C&LV^COLX z(NsG@WV16_k#VOrxao`c&8xQn!h)atWy%uOeUG9IvSNwo65)LAJ}Q6b8pi>T{%Qv-1Gfi73Jdt{g%qamN)9ZDIB=ELhOm%kk(c|FNby4+sja{y88|I z7dLN5VE1zFz&b7N0I`bL8{*Hbq+2lrnTri|NAa!$I9cwgcT7eUyO#g_^O(2joWy;8 zWu~WT?_yC))6no&BG^U}n>yHlnBn z-Quh*CB`%A0u%9|Xp*J#SVMhl>fj#ZH0KjfPbBXQO^Wfy!XkdxFw=hWuZs46O;hUP zzo(WdGK4}Wtafo7dD&Vlrhh$Em}@&>C5@4yrDRlShn`XMZA(ujLI5^M0y;+@Ez;?Y zgDy3_|1`*72G9w2A~d&yiBY$3k)e1w;ih+MMF1R?ej@GOV@~& zMc~chtNECUUUZ+0gk9_6uL})1?o$ z4(z=t>UZWu&%(j-5pRWfb?A-WHeNF#LsHR;N{v2zoq(7Sy8yIS9-tV7Vo;2OL!58Y#2e0>%%QtYIF`jN_a z8j@xLBCn;S2Lp^;4}Ex(aG&HlI^4$v0}6YIm0+bYPBA~4!#l@`LqTY`kltb4N~Cqk zj?4|KhiAbKjulrYtqM$owHI>rFKinsddXzJ@(U0u*KD;O@du!M335K1W6f_zmGjnG zsd!W=`jNi(1Tv=D_{F#%%7*uB^`w^nHVpcFx^GCl@r(^~CPt&YroDKKGefW?z3ac3 zS4Ij`3DG-KYIK{orQ5XE;%fn25-(ql+D!K6X!1uYPM_O062zH{;V-OdS1H~?<} z%Vm{UZ773lql%(_w+NtlKEQfhX8N`QA*_T%mPE_OC+bzWB=9BNWjO$n1KDmtc0Gqm znHk}EUdK;|=DYc&Tn!sAy`g4J-EhrHD>dTz*pt$@$JT?gxq7@BFvv~ZtIV|~jiEwz z5bqDeL-5R5yj8dU<#B+7Q|E}@*tKJg>I>zw*zK7{_q0Ch#eE!cy!P%|#`lwqoV{mn zt2G-Q1aR%vH>{`zC=x1ns7DPU+U_yAQoOeSXozbh?15-{{r<(;r}RStvMZi>Oq@%V za_X6}83>L);n`YA0P zRfl9w#|H`yWHT#U1|@KZ|2XT#5H2QohK{2}9IMFHu?Ngt=fvN(#@FWftEyn*S#xX! zUMUKo29KRh7`7pqm>{+V2@cKm9vBX4MD3$m6(XZWy>$DWrxOwQg}W*Py{b1>M!v{} z9v41F3cs;dxz9?iPt+>coI^EIv@kfJde(B*mlvF&#FU~-w4kHMgvot4P44DClqV$n zE&Wlo$5?XUYwzLy7ef(8u7>7P9WQj<&a>?Ncyn!_I&}6+tMAd{FF9`e?W0>jcJ$~T zYoq-F|Mc1Pqx-+dSumiqhne!J1aZ_jU}!L{79T<-R&5%v9K=WiMTC?s>R1!s!taK= zVXuvhI8Ex@Mqc*8GIFRfm2oWEfA57tWa_5_tzEK%{@qj2e8A0-Y@_p_NF@xFx#_Z2Wg3N`Z zACF970*dPz9sf6LEx{>>iyDtA&*u{2ek$hDIM8Y&b>t)HVFA)+xT9dCj2{96Qjos} zSBt`ffr#$WsWhmGzvI8|@?SHy{s>6Zj2G7(A4$oceRU=!uP+?GDha7+u_bZS?@1v*ifzo6tga zhrRZJRt4Le{KLm~f7TvVpYea;S>U~)mQveKerB!?d&YOaJ^%isLS19l^WPWmwb;DA zJ@xnoa95ok{FBN4XY>7Ue{bSjQ<(wic{%7R8deIz>-*6{ksLi5f)TKf``hPFrWFTB zLNU91PrRIw0(&NKpnsE%O2L!6*?i$AyhnHjNKy)_Gm-IR>ulg}aS!nlv#g>eX(>8q z)ieEnv5@S0J`qA?R1en|w)iS%ka&4e!>6Ao1jCk11&7AnxiJ+ukmifuj}7Fd_)}<_ zOh(Zog^-UQMYCkwTjh*`ksakNJ#7a@&h%ppj=wZfTxSJ)#KK#t|b1{*tG>(W#ugjf~V(9Y9Yd*?|bLtIG zer{%tp1$oDDoq%c?9Vw?`y`Am@#lqz%~~<+j{WIX)+sN#VIFghzcYRu+Ku~)KEPM% zdc{RsMJ#jmnS#WqKo@-6*r}@YMVFpc=%6d;*=xkLm1j)ll4{4Eu!gBIs+Yc6Oe(As zb#V3FMn_xJqI45n{+6KhKLvgNtn~dqI^q8HXg?qCKl%{CLFT71TuJMiM{(4+KD^h4 z%C3S;d;>$&&wM^};FLyj=i#!FMVcd;1Fl|~vOIWqPU&%HmGbo}fd|an@%PDzcXXMK zp7vRI%lu^?2OPT%_BaDBIN8Hq&VoD;pk~iW$SSkCV#zK6g_!9N+dM3+O#0E+GxN{k z75Zb;q&#Bv_CKUOco-c4y+t?qN7o6#6y|b0Rjf`L6NV7uqTu8lXWwdte4ikrz^kF6 zR$B|88ac~1n(sRi+Wh?~{Ah^j6~x^SR5AP;s8V16r*MjM(~uN)cY?ntylKHTt%|w& zsfkfx=D2isZs<`#m129<@JqREWUe3-+_Gx$W@0BsInf1Y!hQxwt8cKM{|{U3-?rR; z;$NIN7R2vih5Vso{9!6dV&0##7mQT>Cgdm7HMDu8kuibVW5tp%X5Kk_n_heJ`#n?P zihOUS3{8Q+<8rx=65m}jS{gQe-WQ~mZ~6iFOd6knnlR<(u?BiUxd66|12}p$iI1T5 zU3eIS;EMkc;HR*D2z;8OA^B$t*xmE|8NM;WJ}vNvz(W&m*O-|KI7VfGt1k#RIk{M9 zSr;||om30JvG@Rt4Dc3a(MWD*9T?`MvO#$W3gprL2z7QF2BTfG6+9vMrF*(#}@{xGH1Tq-VQwc zlosRmDQUsOQsUP5ZU;{EAWQIvz;?jDXqVwVq|9Guq4-I&q^5*i%rg4wmv)wP*<=OJ zYI&Ym2NIWt8ayIUfErdAr!Z1D$FWkZApByTFdU(d9hESvtuCvLFiC^*It*&b?_ULb zYNal3O1+eJOMs!xRD%jMxRT(IKAK(!I#|4-BYBFwzMYLdGcSl&zqZj0UKskKGkKb@ zPP1pL>>g%*oMl`nt&INS#E3P&vu|R_Uk%qQ`f<|LBzdY!oROqpIk5F!aZ;=b)lhXA z5f2K(78C0Ba4#@}0Ew=YD*->FyNR&7n#R;3dxY5Ct4fD1gDOOIyO-7G!4-N93R`1$ z-E>_*)~7Z5C)63Rrk`|JHW)(MK`B|N8osT_M-Y3t3;{6l{-(b<> zvr?_jxm_bS{iM!t1fSe$y0%pNQJie0!r6dJn1vv|Y}1GwI{}|&xisB|+h~=|e!6~& zE<&8(Ajk|HFuh?nkzpudvUWbdi+`L+c~EzZdl*if zph$A{2a2%twrO7F!MF zm?wF8In1?4{lK8tT-R4o8$g0Uila*VGjG|!Y;ObH!V6^V<@hy6Pf)tT0GBHP^s~@-9weA1ZWHYbLq`VV?yVNxRBOH7ld; zdFN?8zu)RN%8QwAPEf6J%>*RH8!@Z_*co~J{je-R&In9v8~Ax8lSr$(5h6Xl6}IdVU1yg%0Ppk!O*{B`^Hco5KbUO;JZ&TVIMszcIJr zH$kNwTq~gzQNK83kJ|ICPR>898p)RQHAHqxG_lu4zmSvA~J>sW_+Y9Y;MXj$cR7jju{_f(cMb9nL1$YX0^3>&Kh!n zN_p{<1g3eM3IaZQA9F`d+)5CWXsBRvqB4}|eGA5ZELdkzebN&u=_>7GGDsgEk>Qr_ zZO1?T(b+9`4d*utG5s9oK@FD1F02v^G{fl4kSJ(GE82azqI+?Ly8Daw*r|SPj288+ zvpa|{s?#pj^l9-BpOQJ-&xMWkT9GPaKMXG!7^_^A;}nDDTpr$ZN+eWOg_n4f0Vz0o%6({jP@ahmO7E0*?-g!V6_c>4NXe)T;;eJ19z zQR$o6M$?LJ(*3^4CzmQh6CnPMTFyDFJsi(DMX5&*>zK0)!vV+#m2@vMCRo{~C#s-v z|NX-+%o~FS*MvPhWIDLwhBsqgy%)>T%}B=d5{@N=P#zL0DGUV1$hU4c{DMhfqe@tW zdGiTkbamGQHLUMdIvJB8<2T;(91sb0uxyjGlIltO2fkaNyPrVk9ZfICWDJQXRp5ByIoHd z&z5^z)EuC7U2O`N1sj2Fy(O8R-?#`XAezIOkG+u0rOn&FfVwU04*}RD2xIQVI?tQ= zlJygS`om-h(eBHy?BFBR>Ku7d(0Jl-T4PrvvMeQvp~LhR#hvNp%-hM2beo$}0@@t|hnP(W+C z4!BZytKl|YtU75H`0^;$w!+*|40MJxIImIOeq&7`UW8cSGUP z;jpIMYyAz^>blm2u~05!1Nlj!Q6mmj9@Ih!1KemWe@Sd8>)H;IyW=K$_n+@qVk3@V%kWt%~q%ooFeu&qVG)n!niCchPU|q9wi#$!5K) zYBs*+HB)hxnr;5AeyLg640Ji zjp*uu%Ak;td{;~vuyI@uItY#sUrnV*3%Q>8vq2?eK5M%NMMq4k`$3Ta5V(~s;h14@ z@IlULnBdL~Yy-q4Si!0u#2Auk%|x-`v#(vf#o~m1l^5@e}7XxFf5RJ4*(0 zs^d6UCeIBdj*N`_U#z`nSW|1eHLA;kiimUtAu4StB}=6!AXzL_K*Xphks1{dLd#NG zfWTCc4kD-^upla3N~9|-QUW3((t?B%5)`D#3`&@ivd-iCzI$KaIeYJKpL6#2!wdBy zGtZp!Dfd0@agWihT^RsFEk|hH6d6($&n{~UM5mf)EoCF(qe5Z$wX)dA%v2%NQqegmL zFg1n?k8~fvroEQwQwjo^`HOH9xbMhDocvRr;l%Jgj-w;pH{~Nk3H!T(LCmJVyjbnn zy?^bYncc+P)`+qZ(QnP#q$yr;B!_yp@e&&?PxeF-0{FYtSMp5JNb(awP+udSQ)0hZ zSUE(ojA-k0px5N#{v0)XJ{Cu9RGseGE@heGsK%HQsx}(u8$_{%;^v`u0-5@M8AP9J z*zowgZQxk#_{aB$Z_asf(e@ywLXq`AM1YnOF)&rV9lOb@e5*0R?_5-SnZ`VQLLTlY zE-)`4Rn+JWvKt%vtAS;J!@bN}CY>{4Z^KE}*m|-$RlD1_;*diEL2Z}!8QTZxw%>5= zv}#alVEqDS_imG8+{1t^$&2S|($V*F3>A}G^LyhOQ5>%($fYm$RmBIO(vNO54-J|W z>T31Yjd`l#2EEUmzos<$s$Y*XjaT@RS-4=sp^U8ZEaA?@LXKpTLuWf>=bVE}ZaE3h z%Wi`EBBl>0o#W!;_2-q6#heM@DD0xvNO?iU1LsCsPOzZiX6SDj>1%&-gBCW0awHKA zbQ=&&cA;=@9XI{<+H^e}b7!FA0>O=-krIV!V@QU2Ff5>jRB9 zExC<}XWdfl58j$-s!tk@sr=kryC{SlexPdf&Yuj(x%}S&NH|cDlHrSNA&|p~LF3y% zv)U;h@aqGR%vKPe9RQF_WF+lt6f~zAYJYLUl$LAst3dxa=3@BtylC$S@_}cb6B^vJ zb->s{;)}sj5b)WMQE#egl=`JtyYfx@#j}NcD=~QakY=Ng=z#-++%jF)>^Y z7Hh{ORCRf=kBd1Dm1zekdwL{#sf7fTezQ2f5bKtB`1L)rfQ>&b1EI+VR28iie-DDs zu$aT`6j^`qUg-(Jb|i=c$sxYu0XC=lJCq%U&t#W<1!m~JlU0LiH35=7ypM&K)qYG} zx@Lvg@)*EnexQtGE81ZO7}QdPToxGzyGQEHV|L(4FU<8jGT6O{nO+GMV20PkXMY)0 z%Q*@xaE=f@$JN|@edAS9piI#~-O8{a=5&1OSx~W|Ohe|)`p7(N!KNmPRLDn>ByMtR z^ExDk8yKuZ)_gJ_Qj>o#x6DQ=>3Z_nnjDXrrj+d!(U+y(=srn)e0~al4@k`e8ASF> zTXHOGmq2S$G8R&BPaSRz*-=;GaCy#Xux}T`^838~^u5rLo!z_K?(B(}+wvm{I>g#l zjf%=q6=u*T8$?HiulyG^h|Gpo%9h4MKI+2>^y)f?OBu+`XU?=zTM@j=Thfr^8m|B*j7CZ49EUnS3((b?u|1scBjso z$~Fv_mXU3#4r8p#vz2EP0{nBTw^>*E{#{Ms~M41lv{SEzQV|%9O@zGsDC=pceS~Ot6xz zFjw*MEa~scSPNkRhLAiG(;4DUKYsSOi^#aHzCWG)`DIs*O<3YnBk8?H0lILrD7^ZR!M&i1A=xp z8yi(cwi$Ho6By*E4lR6V3{j_XMmL8e z;;?30>O3Cy0a}w@TrnGlK8;z@nS&Y-94kj6of!IFKj`U#gDBatu5C;J)O)$<_q3lM z!|Ta&yNUFpQH&T9O`t)ETSb9*N#^yC=LDTP*6qKh2z2u`{%ZOfrZ&M`9Y-Isn- zKUOzdR**XE^D3#m@Lju`rT3NLZ#rC=N!DvL;Nu$#G0=Ig0|+)8 zouC;lQ0MD9&EqTI(Ubryq}sxZ&G%};cCOYkXLxzq^R6Cf@&T3m`o5}%KMEfej>~*1 zy!7`vJZAa8)dwSguXBJhgld9ANEZ!`fZR!%Z_QC2TG3Ipft19!aRJS>{ZyTO!M^^#>KW3iAFKxbrk>C%8|jMcLRBb4 zhbtrV9MIj0Z-Z(S?gHn<-bgzZd^Sm*7?UPCTwVL>h0nEV2^GoRVcA5v#h+ETpWe;!AN>ooN^|*RQ8Rw;|PVboH_r5 zMcjoFBeNYm74P@4?sH6b}s-E^4ypQOct3Ov8mf?m_hJ z4VE7 z6B2gRt2Zf=y;*er zIqQ!cIn5ium>PN`s@4&hJ(=(dp+@`Y16@UFk3imPP(9gC)oHXP@P=csTdZNm9>1E# zRt>lH?|fymlah~chZkk|7$BoZByt~c@SRvOvN2*Fr2QwIQx@b<@uF|S>T#Y&-LOoj zXOC*}#b3@;Y}}rLzfTjxT%nFcK|U1ZAZ>wRf+~Yr3x!XbcL_9y$zEHz2F=Wzs$i%@ zVCGfVz)-UFaXC?M?NK%p>l~X`vw7tH>mDVtGYCOG!PJ%#AyKqt3U1>}JYowiUe~h3 znvIfw@o?EMzs&5WenhCh-%Zd8O%3l0BeG}pcdoO+kktTytTgnY{Gjah+d8#mnd`r*<~bML*a zVjzseTxBuE&0nO`>xr+4qmrjTm~QhtG+$pf@u(0v4BdmS_2;y9EjikxD48$&cvH7a zTM0Aw-8*)|@uC;hVrII9WXKB*uUFg*wI9 zLA8XQdtUP;G1bxi{re>HYl`E=FQ30KakRDQ>0n?}^o!yKJnby&$l5u?@#mh_sYR5T zAj=|jHa<~4XY1gnzJOw~PKkqO@ztU~)~EK*mT5e69P8L6A8k|qB=Mfd|F2JZ{b&Ih z%3T83#KINLxPenVi3e@rG6O4AM6-}?g9Ce0ROrn;cBzPGPosf}Qqe(s%*geN(LOi* zv)%#r-gNQc?B z+D%9{#)m0#P})BX9XKA$#KUSFje4(O(V3#>#vide%EBOaGJ_%~xQQH?#Kwp;kcz3~ zL=}0M*xI|v*~YaL$+|S;qoY?Mp5>M6s%MCMa3+nhOeaf}#;L`3A6<@>TprN>d)+)rQKZs#hn|#1n!!?(rTPNsp#d4GzwkAK1%S z3Ace-)ct8&NTHxt4;|IKW3D_nBs z_dm5abe+OkiY~1SuVhp_8hU^F{^ti~_(%x$rU;&H-~ojF6{yc%SPcJXkT3B7bb{{< zZ>Oyu1$yAl)Im&A2<8I=)0+NVkQcsu{-j*-`=32f|Mmy^``@jY|GSFRIx0t8BndL< zRAc@I=wlBD5~>e)@x!Q}Hi&l2{v=-$s7&`s+JY;3VG7>RfkEAX4dYh&N|?wIt9nLx znLMw5;7zKd*RO>yFFTFCX(pzBE?HOFlD)x?Gc?5>8Ym;Du^UNui--* zJT!8V3)Bl{YeZobcpgZ^%m`Hzrg}v?RrdY8?sEW?OA#o33WKKswH;hA260yr@nxEn-UU-2)Js20flRBz-w?EYFsjcfG+ zw#(g|E?;*%C(9&_w+7S(uBVBtcYShR^6~QXuKJWGx_0#xrh^zM(gc*chm=fC7<@w;k`j^O4r1{4tXB7Tszc)6lKnxlM$n8;v<(e<)4o5OvhXeYP8X z`K;sP+j2H1{lXH0%KabSRv)mJ#{)1~2Ru+Tofc248ondaAYVf8YBD6R_U64GO7$gh zr$Y(N0~_pJoXpheCFVEzU*4U~SN}0A(E}NR=Cx);E6r9PRh~Q&#hvOjHAGNccOI8( z0Rl9|ITuZaTjQ{aHG5QY+q@!Z$UXJ6c)>ApN7eILyALdJXm9WKDzk_2?zX5-S|lz+ zYylt{VjIG{plzmm5uj$UFvM3F?V5sqA&7Pie$}}e%OV>mI0Gw`R}I$bk!>_)rADr9 zMnRW%d^+BJqBgb5w{OuTsVTDQ6^%`GT}x|#p}RGbavm;5G`Kc9bP5t5aUs;-sM4>- zh7sJ0nyS;&U?;gF=9|XS?5HLlEp8tBb+;xNOu7iv5Zhu8nvB4(NN^Zl0XSv2LE|#% zeXEbr$YKqzzAEPIUvnvXC(-YiVT}fw`Mb+euZYh#OgRQj*&Vfoty3PqG3YMKx7#Uo{N6KISy;(j8!I&~9OQEnW?= z;Dx}ZDWJnIMj(Y1ZQBj6+76LJ`Pai)c&YEk*u)%k>N3xfA~!-BZc}7DExpVdbu_WN za2W{+-KE|?N!qCB^|Vir1!_0O4L=gYizjZzEUxDt zBgsrXARi-Swas)W?x2)HHXe}zCPDjaVQujKgFV~(Po3?&0;Nli%)Dk= zv|*$1@JTfCE3R$P_7a!1n9L6oSbiuK9VWF}caQjzac)z@?OqPi6|RtvH`m_El|8#~ zCEfbYr2N`H@8_-hS{n}%K5Dcsb%0v%m>b=cQH7}!R!_-S`}M_X%I4)v%>?RHJ**I= zZ=7{%5UNrY#6PaH6ZMtZ#3vhpTh`!5s5PJN_DlvNQORMFMr?QYnEZtLNj$ zro^n+pr%6JH0xEr8Ys(;!Ap;vEOhacd{r7p2_eZC=BR-0MK!MM5<6!hc9sdXj zYH=Lu9Y_Llhc=Kgh~`v&gNJ%>NtJ~mr>L!xIOsnRFOYp){Fx=3-7WKZ^&+|nYeY#9* zv~A1FSFaxJi`r$r$LDxk_q6FDnAHxAyq^+nn}^dRN5z1=qZ+rc9eulgM=@8jy}nd> zel08+m^Yv85193KtF5f9?5`!%-{sm1Bi_qZUP^pj)Tg?BaGp3fyvb}KU+B{LJsFPS zg(H%D4C(MUcJFH_qFDyfg8Ap`)7ECp;hYpg-bZUcBeh#S>NR=4wJvw<@wm5;pK;#o z=sB${K!jSz;%k#}2yrqw5|RaEh;;%B#2oJN0Rf!cFd0+GnpM0o^1F{uT1Q7{uuhr$ z#NgxoJ3F54*U)eM3kMLww&W4R7TOlbrg>Nq5@4sLb4zx$9G1 zZ9~N6t0Z<{oW1PM#B=1l_^&lkH1OFFm=z)xmcxykp3R5g+W7M}ShJeOiU^PD(e8D2 z{hS^Z14qK5+5WBjw{auy?x#IQC5puQ_aYnkpj^>n>)(XE#9bB0im@#g?J-d%hd7%W zn;f%^%|Dp_ijMRqEBkm|f%o;*C~smKmzm_|f9~OrJ1P8?mqOVskjyiK#dshdiYNdo zC?!)s1W>XynOO;KBe}MV2Zz)d1;#ufpTlqdh!`;$EtBTCo<`!;K@Pzd*4`_`pLeJ2`* z#0AGdf>@t0HSvhQdCq~>njjgAuUMk@DtR#sG7~{~Ydu*9HyT+asC{EPMwT~*j4uQ^ z#AMWS({}4_jQ;rBt>W=*ddfrjv>#9lCO6JhPVie+tBN!dhHgvRj9*XM?5rCmZti0` zHoNAXx#vZ1ep7x$a#yX7ftQDRl}CzA16}E4O^W59sTh2o`vkd9M&(mtBdv{4yw#EY zqCQd2;UCkzi;gCM6_oKhy^Hnv2gP7~Y?u=m$5$X52r~dOg54nM##Ab_qj!mVXp%Hf zKs{8^9~2NY@2*&fCVXa?pi2+~Mq4}Rr>`x_b!n^}MlYiE<&!=)NbE_@D9e3hdN_+M z84Eg?A}))1Ce#vmG00;Do~N+1T<`J1r(p*-?%^)(g2#()j&;U9uSNTX1wluY#JfLh z+H=Si)@pXsQiHW$PDccKI*LGa15}a_RiNPUj#Xu%qFy8X>mNJg`dV&Qn=TaHwqQj}X14sh7 zrgEL)Aga6zKa+j`-92z897HEIhSTdz53PdtsV0Iq77*cb#2KB-m%D z>%u__QA=E~f+Kmq|LiALeilAP6EjtF0GMhtrD$xM8G!O9KZwH`>EwlSSKFvkz@%^ZHARfn%{EL} zF-{`dfl}ME5ody7ebV^UoS_2n+I!6yaK;u{uBN{Kay>Nq$dTP!UGYu;40o55AuCo1 z{{jWs4J{6<3;aSeq8D+}u}8XtC`p&dOVDY&Ih(w`@2TztA$NaTw4& z;s<8=Z^C-LCSzU!QpZLhH~cOE^fG#`yIowE&+&T#z_|M()Yt$kpBsZquJ3+vd|3CY zM#1-;u1Whoi^^~&Wixp_cWp)_9tzq?ZMnY1#bjSFVM0A@2(X<<;*YsjY)q~Vyg6=a zOO3PUg2cubc>MhE1FK+v2di?QMb~Qb=)S0d;!n62!<=~$ei}N}ECy>vnC?O>+E|hz zC6X}!s3$R79o5qwJ@W{>|M8=}W8rxG1asrPU9K)~;$;KnhH#Gr;@qJ4@V#Vd#CWQA z&zHhB7kzGBlz%q<@<1YSYfW=wb+lKk$*ZlYn1k-uKYps5+Bn^Gq1Iwg-QdrhnYdr$5K2bDRB-@1htO}U0zm}c-^Z!O${CBh4|4ou8 zB4Z{wsEt2C&sGT0aDUBGG4m@SA4Goe-2{5Dd!k;f?pN)Bi+urVL;ch52|8}kSNCLH zx?^EyC8hR9<^IZdpWXaU>;1^f^;?tt2a}hx8-wf@6YfTfTvT*Hx+lEi1cqM6g3S^z zvK}I_24QNc4w=Bw67Rub`_;Ie@oBv2Zfq(;so}9tZ|sT6QD%1-VbAijhjCx`;r710 zlbacq{u3M-NKOBSc?B(7d>1aXUaF!%Vp*-wB08qykesTzGa&?=c z%7U)9@m`-z3+G%;8^5hTu^Pn&Hk^0nwFz$fGVt z9QI#(R7)+PPc6wbJxXNi4LHu79~+aD+Vv#Nl*1(XGEUiUOfj;QOSyfla0K)m!eU+4 zKPY3gAF6A+p3&A_Rj*dI5R{N8muZiMMfX=E&i3x@hb@0UacwWWDo_Hs{>H7`pcuh!PVY8g28oLk zXmM2-N+8~t3jrM}=luxJ9i3kLKFxgVAvn=Dep0{aNC#Y{MgLZ;)w5?{0T51+4WIG_ zy@E(b0K#ll&pW< zKC$0Se|+$rYQ)BOsjs%hW95bb7w|9ypO9QTj2AST0Qj|g?O*S7)4#pbf6>ch0ViiN z7WMr)?FWg}@b|j(@6dnvDB84p38??>sitKJy8+trFG_qgRdn95O#feg%KfLH2AQ#qO~m;@CR&^Dm5lj%u{OKqaP113Kf zn}-TnCq9gs&p291w7XnC+ueLXYWSF)Sf-6DTeEE(;!tmk4CX{C3KSX9t}peSG1bS< z^&A$aV~0Nv+!(yJvovA?TWy_Zue^L}+2ZpxgWs3M5LMB(V{9Ez`bq*LqhPAA$@KS6 zVJ%)PLJKV*&7X`8E_=dQ(1XNCCC;@2Xa`NKQEQmBb#*FdsLT3M!rMRl(oYHQ35%OI z%qe08GQA>kE!dWwz9Usv#Na#ai#)qs6 zn2th@X|2x6@zcz2B5BB!`8mMR_zPOKc>ultWp#w*^%ps;uIs{&PPMizv=_Y#4U_1R zdCuxW9h((h3AO$ue1dZ^HICq49HiD@clK~dIT8-@whUjY27^eX?tSpqtBb10R=wPR zOlp6uCZ}+*7+^;zR5>(RN2`YD82P!(^bSBzslCgfY$8q$>Xxb@A$qKJ9yz}yTea^fwa9Qb_&BIc5ifK^pUj?T|l<`GBX5+{_;r z=v*eE{fkX^Pqe`UZ4(BeiyFp;(bN5F^X=)Yn|VP5_ne7-<6~QE&1DKPs+I#j=wPs0 z_K%Z$XI)*8-EdX=gb8wtYv>3UHF9aMHx8=8Nnc*ROuVdH;#nJX<>a33?INGbSkUR2 z>fK@M<%h=zK*$r}FY2UiH8rpg|KPG2u{|Es9=3Vjnf8G`QB{JUHIie+tA7h9$(A|Q zK%-dn=>}Mg=@txlFMdiZC%^wj+E=fhX6!LsErA?4Z@SFLX^M zWLvZjIK9?O7GpV}+ZI_L>z#PSO-;k2`r-)*8Ty-=((F&%d}Grn^*cpDU<2YMt6XqT zU|5sQC~=ELH*UgtXk@7qD90WqWqxZvfR5E)dO_BPJBsv#;1Mo(vPN(U!z$N#fm^R9 zN$V8tAIgtD^{MVfuGJT?NtApP_9CFHym3~T94<}vt^}lS3Ai9sGImXZ(EvS7XmYos z_4{klWUZ&?aYh>YDr*n^UM|I^Ro@&2q83Y(S_FC{@y7=$YalUwrd*5#dfjBe`tN#U8#J z*$oNipEoEhL(sfHWCJ{752GFxJIzkD)pr7#_*G#p$9S{VrG3NuM6E9zeJnSqKX1LX zMe{n1i_T{wMUGCdY`06 zb=gIp3Mo3>*dV>>ogKf*@9O&9&#`djMYh3eI<|jiQIy2j5^VZlvYY>#z_g#dS%7yQyRrfJ-gaR=FGL)-$vigQN1fn7mm5^FOhtmjeVV? zgV;=>kpt-qTy!TZmLjc3MTHMTn+4(=v;vY~AIMeiNSG=iM!)b%(GeyF9=MV&UtiYq zmzKLkqh0OS7o&M*s-wBwDK->?aa&RhAA(-YEU=3~Dzy#chKggRFMI;Y1AF|GqcKq; zIS#Wk053s$Hfou=*}81MPLSom6GG~NKh*lMCfAPnTFcG_LqHwlzA!;VoX38{1Y+E= zAHV&?t=y4>V!4!NP#N6u zY0Nn+^RSu1g)@}_506dL4(MS<#9DJCksf|Xcq^)^kWK|fWT;9xy$y z|K)!iXWzul&ndZDU~@eC^ZOLHvbLv}$HqFZe|TG^U1hGO6M)Y6_Aq=CH!YX10kwd& zQ0*%E0PWOKtHf*+95amc2{<|lFMiK#PF4b@26qp5qXQ)V@MwKq77(l^b!r!Vo0WFI zsO%}RRXnQG~*U@HYF7_ zpkq!Vuz)#KR{6Z8sO!q``FgdIy^o{@89>z&Q?V4=eB3d---y+ku_75~FmbS&%Nn8B z57F4D2kkuhh>ij0^tNXLQn-&NW8~76!Rs%)ipHfc-9H^W52IVrBlz|@R4pEGE_l!& z2fjaZ&xj=n{h{==k7V`uI2l4!i2KCbF?a%#3{gg{0 z3_C_~sKm^|+s%7P$soT@YF3|vYA|#i;wd4BYrV$N?C{9E+E?EGw4Gm=79B0@GShF) zsY?1ZM){RKpJ&y!ex$2G35#f%_Z@bN7*9N64`2*x2MW=3Z%>W^Qn+M4POq}FsLKe~ z9wyJn(;Rcz-LvTMeRLx6SsQUvwPM)447rCIBk~5&Ar}tEY9^K7I|a#+H;9oU{V+623@$M@xhDyy_kISuOXu3pp_ z`Fz7#$s(Q=$oTd2KIJ9BVcY@|E}eYGoedMC%sU|X1yq@|IExwuX$VLKTJgN9L$7{H zv&Sb04Z98pqn10n`IxUIuq&?t!2?#E`XFBAJN2XCg&~pbW%3{3SkNVnx>QsTx;5Hz z@SA8+?0yq_&7A%*<$x*1l572-NzZWNi>^P_3|e9aLNphg;ZdHuu);)=uPu6m-`VKO zHxQT#OGFzOlPPFRAK?lRM1-)CQH)`)) zl&uH3%$c(i{4u_W!iZTgZGv%ZphKkLLEB|=lD#W{8f%JzYpIhZUfpr(r06)R6JgjP zDVLdH+I83&n{QvGS8=2$!SitL8|ozBlmi|!?~L$)iF5E&Zv;wWNsqY8hTQ;6N9Gh6 zuS!V~&giz<2m0@f3{nFU_}tvtt$$7sUJTHi8V;XuFj&4ef+zu|wme?ur+oUxV&R?U zBXghvM5m2F9Lrp*7NK|2d!@?GK1sIO9 zcndSB%}I~>{?SuU=GVeKfeN?YCaXjdWxLeu${#j8pJ2fYv@1hXJ*=;|Z_6J=4_72X z8w+{JR19dVW-T?Nwl<3k!t1&EGYQpKLqll9tPaEUptS*|N3RtA46B`6@dub`)TxP3RMpm`y-m;|y}33Jv?@pGQT`?9NfNW_47gO|`?6yNVnUHnel z>1aQ0Y$a<{RyKI$&>sbd?Pxi@Nv!Sqd=y|gEOt$zV=y)D?aq>uodOv{-rZMlU0V{W zZH@NGDxvW*w<=Lfuf=z^QiN9oF~?-(y)X%_=}?}&6iU?$5M z!-1?C$@cDf5E}9VkVopzU05HnAil32CX4ypm{1wm@mTMTS~dSVkjN^dy1jfrWM=w1 zM}5=eS@C>43t8XY7e34VkONPf1VA}?(n7m zUN<%c%oze{_O$=5T>tL|y#FN<^Ygm8ECIVp)Z5KQi>9?!Q-8K|Pc}f`qI>xm^j#YN zap{~u`wJ*nN}(Db3C5rn7dK%Z2x9PvSO-OdMxcrznwG=R4Pv6ak!B#^T!|1 z3n#j_KOlTA15&CtY7V8_ZwYIyDzVdX%m|zQ7^1JL>n=t#|3L@S&mCd$+6QRf7%>EU zPFNb?<97*}j!+Af0;FWfka+l5Oasnu8p;W1@Pze2L@E{^kFTv zdGAea=0tNgkxomZY&G2^@Iu5(!-ez(8#z@8fFmXhnzM4H&)&wpHs|+ujj(`i}?a2WZ!YCl++{c}7pV-MYrTR_MByFD5 zMf!J-AD$RJ>7#_@>oEJX5QDc9vd-L_za+FBkBI56LUygu?5>W7_{Grx2 zFkZMBTHekQ_?C>e{Yam1UpY;C1EdEmZl3gGV&VlDYOhZ1gCg-_w#`C=@{X}Plnk6n zO8>L04i|;GG)oP}q}A1HrAPjfYT2`mN>Fn76uNa{tXvc`NfXGL_y*&Bgy!j>17+7?Er(m66e$2haa&h>LU3cEf4SUOh4k- zWyrw^q_x^1F@W6=u!ttUt#>^_YpGNGntPM5BW~()HEo+0B&}QBBi>qH#+k(p%Ya4j zwPA8xm)F{Vc|}|Y)5h3orYgLvo}ObzqY~rrn@q$3#-Ae00cs>tWHMK$EPY|%X6SPd zmCaR(7d)irhSzRTbFGWUE!WOu4gw_4-Rnqug+`%r(V=$HDek@pQ`8Y4W*7;82tTgj zLPj|OQ>#Fy#VMi|JZ})Ul8AJN@{EAo;s<}w;N{@^X1R`MXznit-FI#&_&x9T=tG}! z`;*7~@M|Bw7r#14ZlwD5z7uo{UtvJMclQ+TUb8AId{3^g>Y3z0;7MNX)SChnq5np&Ia`J&P_G%)1RxIcXD=o z>-I7<+CN+9&g%i}!7CKxSFuP+E2;+DnzVsq!sAg11@ml&0p|g!(O`L_d|G;#cjBbp z{k-NgA4m0W?K>D=3R!_4L=|YN$o#$T$pR|lXA;Fe z3R8q)R|LI?-9-QK_t=t)BHZec=g(f@k+UWMxikBSIU`VVRF?uKfq#yMXeOeM)S8o&6gK%}K75c6m`3=LyM^oTi6J-T+U}c-rMgzkR z^Nc^{62(enkF|i`Yxw=Bem0?StNr&IA3cvGT{cvx7xc0metlMVwDrGo@c7^T|36L; z3TrtFAg4!-MPG2DXNEQWuAf9S?9vY#(D}PZ8MxDE0p}4V=Gy}9ig0(I1-p25EqA4a zmmmb<{h}e!rhd>=6A0ULeIwaDL1(#VlWuwi2j$O&oUO@wr&&2z-Ge=wGjM(Yy-3-o z>-}|qdUvp@wrlDMUnLO6zZeF%Q}Re12e_e%xWmT@&eg+9 z@heMPowG4cin_^cND7H}v{o9lJ$^TRRT1bG)CImzm->Bqi?f=Wzo1%}-*}SmCpap+ z3rzw=6Uk;N(U{Tj-OpfOCC)R)LZHMIAGrXEf>-z+@D{ZG;M!&7ca=G@o}UbLGp*9e zeqYL{Q>Yp}xiKUDQ)B;u9*yz%{IfRdJw#d)b(K;9tabj8-7V^KH$!n0MUiYThqcp_ zSAQw`6+ynLTIeIC3OhhEKm3*4fVp@RHDMm(Nrl#n09eC2$M>_m&$Ts`YrF(DIM=vXP+g3g0KrrQPBfCEE-WPbaVeL; zKOcO2isZ6U(i6wOMk>FrnG6f+s69doZzA)GCM&54lD{fe!akFNMM3C)f61+3rLpq2zi?6#@D4#y9;`X+V|OS zYNU9iTUHu>O8S)iw%z;AC&?Dj89;kY+zBA0Y$UXlB(oSUDXh$=WpQjMqeNT&)s^Fl zy}#F+UK`V{4fjpC>f@7OcpIHQtvh1>iAX1oB%Bi#2==jwh&r@rhw;MfB3p4g1#;4K z9YErOI&2JT*jYN(?WSVGWVZqrkNOihgYzD>Ys%AUX;_~tu+HM$d%jL%&z#U&Y?hpe znVFQ_4t*Tu;1;V&k@QadE{yjh)c| zrl{_sFN(Y>c6YXU>+rILPDe~}_p>=ga%OF^TE$k=mT>nvJHqaByWLpdca*@YY?X>) zviOiMS<;JuS?Gf_@+U8QJ6Ie0><{)Y8Q=NCfYB@0aH8Jssh{`#E+x7mkQ4GxO8>!o ziDdJC2Td6Y;W|*u0rDX}7U^$m?ctv!xxcof$prXZ^i(kzXq4pOW0;hCM7=DVt9OI6 zo~uv91r*wQ)+PHv68Q_hyT9&__M8i#Nrw*`p<9WFR^0*wV|blh$;cJVM+>_bT(Ow& z{iNnCjaNBQa6uh=SEIQ`l=8wihkBM-Q5?H=Xa!w2PIo;RQF-RY*s~eOQPG~lQx3Ys zUUyI{3hyDG07!uw@T3Tr0LukMK7*KDoq{%pf2{ixFE}-@vfEc9`BHr~(7x4W2D}?B zEv%{PFKzD8Nx3tbx$#wE*?TurKUeUq0pRcyInMu`EI!;UiD`${i-yp9C{pU&oQe`s z`sLxg+6Zwkiv~tO==}KAya7&a4F5QT>(F7zaJ1c?8%9=O_bQ1#20@CL$#|BGz?^T} z6%6h(abU8)rZppKtE-8g=-&b>n&~}Hl~hUx zkmgg+jyEHaHJk)RDM{wH^W4=AaTXI|2el>{cCOuc*P^=S=uT|FKIm*#``|;i2<9{><4-4?8(i6yG}UDo zv;WmVxjwok?7^Z8{j-hipIaJ_k}n8r(2zS8*-KfJ@Z#G$%~B-8buHjz3ock;16Ef0 z7&*`8U;FzV`HNV`wAryyS$^6%hZ7D#sf5Dx)kAGg6DRlw47sAPWR^0D4WM{24kfu+ zf7TSm*KB9St$`C{(a-kV46%B4ZDajIroXARC4(E5f5Eg*trN-jVIo@BH`dbGf-?27}SVEQP&o_*jrGS9q`ODHQ<2;68E zBr{Rzyy?_mmfVi+AMSZb;nW&}IRkdnGz=N@{j8$|CNB7a0)Ypnu6L0O*MaCGAH#m4*Q41&*+Is! z8;q5uF_N>28y&!*oiv&DzN3q%zx8pjgL7SWfM0<2xB4XddDoLdyE4@qwZ9dU8UTqD z4gjQ$-Tz$Y{{vuAiS|Fm?oe*$ZOj5?N;E_3ikCGLpsVN+Vh3f*cS?j}XIn!S_7{?0 zN6=3Jh@k$JY@E%IKTUcrjVY<&4U;r_F6@*i~X|3nou^ zcvnc_YvM1Wo-+9Dlr?e{ZgaxRA_3pW-R&wE-xvL{$Gbfl%$1t&4htcr-<-#4=x{UN zrjw~*pOWbvflcGRqb0?LySuy1GmE1{tBhl@uPCP4m8I_lu|zt*B;ZDoSS{@>GOy8b)5 z%)gt${vQHq@>D>+kdoexSrKAHiJpR&NHILmkpu!A?&MR5LcXZ4*-%LNE(!Pn66Adx z%nqxcO;8mZIC$B)=3nbXeS^6tv5SsgTl~e{5>7V|v~Nhi_uYTLF&sCCi34m9H?E`* z!U7_JVlxVv=PP+YijB~7fH8`Wlg|iq0L6y3(FR^>$KfSwtc~3m{zq==4CUc=&V~4v zNt7`%j*ox4?CIcX?`g+b`+Q+Rs|dS!)@E!?WH;NvV#LsMc7Yj|i>#i4Ef&mkk#9WT z22gv(jDoJuD6%~~^4*wCEFdMf57#nekmNJ<*eVwnlIOswy1^@hj5QLqY-YfYJr!7g z$44C|#?fQ}BZcKyUW144R-?qohkcCJ zjFpn311FRY7*GP(;tgITs=v^R__Pl6G0%m*au4;``>^JrmzT3eA_&-7n*{+=czIH~ zGnbVJR7k`TO8J)@EpBhy7tQ|k)|>;w{+p_;eJn0kg{fH6GjA4-WPQ;_doL{6RG*rj zaO#=ac3y0&_loIxgw6%lcfu@)fFJGbFk0$Vl8hJafH4cb97=*{GkiT0#q&+h#j*=t zh8o)o8fKRQwz}_>3L_1l%SfPTC|zb8&Ha{~*sO>2g3YRj>sHO6RAb^n7E&F0}ycSP2Bj0 z$l9RI0f>Fc3W#o)cy%tNt(z9DSQ{Do*(z_sBWPG-nyqoWZMyM+uLtGuj~f~XZ87>J zYFjd*+1X0l;)z=Y`w{3LTjf2iA;$QT4-9CVs?W*ecp>gl)I|3SFCxSx49{2>4B1We zposy8LLt4t`?=1p@4ju)zxwtsYOX0634KPk0G@q5s1esmYAi%R?+Nb@1ipEZWcQn# zSpn`jJs8AuTLDoPSU%(Wwcnlf&oYiBE|uYJUZfp2`n4zLO`7G%jL?so*t{{kT_g=U zHa46@GKzrcND?pvci9Gek~XwflK8e&4avWMV0yUMN4!6dIXfWF@%o{?0P3p6;^Ti@ zs=8ytFzG$Az>I6CI!(wgo}+AmKDhxl5fwmMeJQxV=AdQiLCkz3Wlf5D3NZ)FP@PpF zi6%;nZ=3|0-y+(Y0FCS$ zy3$Zz|FY4`no#8zq<3d@HH#y*@U2{MN>~uSnS66lq~S<#5kuti=YPA5++bO_H@+NP zc`1>%`e4qdcuOWj%cevwl`yNBRe!4CV5_=-Axr~lV`3n_3ezF^afTBWLr1N1(Oh`s z9_*!;ql~x~kcf_4)v+%MM$+9y^9GrB({CN++fLZII1gKIQ(~Rx6#^}1aiqiz`3u9eA`gIeiIzync(SoX-xozUb z9;GJYrA#-HSacVa2W^o~FfLBtSlr(Gt@C2d;P>kdHvboU-yPM|+U|)J6#=CxEh-=? zB`Qq;$+03LMnpwGh=@|fhzJCT*$UEy2q+vuhzN*?5RoP=5kgTB=|n&XNsx{tl&~Si zdHwF(x%Yne%*^+#nOW=pF@LbmIeVYIv-f`6^FGh7s9!8fv})p?x9yLO&iu05Z=DZq z46zBnn!|WVy-t-CeIC^G2GtwN0oX5u(|-=TW_&!;!SRxp$@$dNqbECuQ_jVnj@hN@ zdi}=iK+fBB4?ADWG-sH2V2YC~(+No|vNF)IQB$afeQ%qs6e+&z*~U$Dwomi)KX_Ab zM@7eAbBp8H%g}YxKa+=!^mJtZSRJczI&aFl$2aSPHFSbHF@=ll{&ZI*d08cs-hmWn;<;Q4CeuKaO) z7FV2SSNS{irfA`=L!PZMBJnhqdt|jSlldA4IYxB+rU5*-%^DeEc*ftzwsNwt zYI$a;RcK|fp)X>lU1VW|WD;Ks+J))>s5Y-vA1-I}$C`ik?{8^36!iy4Wpi!?3fsuS zV_0ucZ%IY=7V};S|AgG2-=c;BMUqGf#f#@4ri9?b0M%&Z6c)Ay+=wv@mXCPg&bR0# zF#NDQVzKZA!nk>$_>1+o?-if(dwvVFc~Dw8E01wh3$Dbo)Iw^zck>^Ns$2k>yAi!{m|P19(5E;YS$w8Xl~ z*W^4?SjGn=^LTCbk9^RnbipAo=|lp*WmOm?Qp3T1g}UTw@s~%f-$(C>w%>VIfN)_u<_6<8~>* z2e0iDgz(LwT0N1hsFh$082pN&Dcux4Qsaf?P{0)JguCj8q_D z^D)9m>r@|YYajQsU24tfCqv=)e7Xn0UaJ#KQGY`735&0Md-4kH)9R|k;8)F^q%KeLQCH%W! z`!=O?qti3k+uJ1KInM!4UagZ^ZinS6iqp>%)MlGM5`G6H5 z1&06vROv4d>PlS7oyLafN239ex^6c?7EY>lpf*ZJWo(BVSfuD%0+;u2ZOE%j)Q2y) z;n}_peG>{_E4{{giX1%mT4d33X*n-53t3+YxY#drZa$OjeW?>*qwcxYdaB=)+`OZz6*mxq0>yLh_0Nalc9vv3}uAw7(0x(6_A2y6mbt#)D%e& zpJ1p6e8_lbZf+AWZb6k?d0Wo4cqs5TCkdbPl&nk2`T|JaKH1}a7n59Fuj%Q%jMw(w z(tO$JvbFZfSsDE+!f^A={erbZ5LmiD0MMz{P^t@n0j%>+^*AnyjsD;yyc&*O@Zl zU;x387A2Z;lz)jyfb=>v+erM&gSP_nM*^YEDA$?w@M1lqWHD}@5tDHcwr3OjNFP!a zX+m2^PJEVBI+Se>2Rq&NwyIHMPbFHpznY={EdM&aOL_ag>>F<|s76H5LeoP-A~Co^ zm`~Y{yMhm>=G+|)s6<6wEi31=a~`yPacz^GvgU2^pOb3w*U*>vHqaJy>icaH2MEi+ zI}t*Sz#(IiqDT#3=;IK7bx>`5_xULhB&HH|;o85M zpC;@o2ptay;6a>+IzHF97vG?ldD6P|iJwOE62k8WVb=Z=6IWN(_cO8~FYo?1 zjt3u88tm>uU4U7=1z{D$gqSm;OYMJov~$$y6VFy;2dodOUy;M0e|VT4q~H2Ky$+;q z{xe}^5c5}`^!Gch1baKy6`y1IF=?Stoe;hdQB?hP7kq01GgB-d5W_aHv2)hLOk9TwKOYs-tBNr~C z-2xGuhd6Ih_#}eQ1<-g|3xT?t65wkEH;DumAY)9I2IDS-hM8mE{UwG6N18nT)7?Y7 zoahU)(yv(|`tLz-=1RlNBQO0DV*o@noQh&@;n0N=J*Y(%O0@Gm1Un9b`;(Ms_~5@y zEd;tVl2B{hqVV^xt7i3|`$;7~x@#xfn-T4vJ?`LVI=+0pCidgr#x33J)gnE%zIh6~ zT0^3*W%$U5C%fr1ZTV!DRQuXlnfsNw);Z-=`c1vcJSKiopje78!(`a-t8Z{g=H3RT4Gy zqejcR1K1luWm8Jm9|zc+9F%rjw=W5VtpWG;d-JG&_f-fxpxRF&^^V`&XZ1nhdp(1S ztsMgbm3Y-tk07RAn{;q$(o43Uqw|-_vxTpZrkgrp38V9?fE|YY$lt-?0^==4@eef(O%fiKfyR

8x3%iP4hL3e$S6O`@%N zTa8!?SqEFcv*EDuuz7`~L)s#1u8~|byHw*cXS-#mWB1q&W3Oia(0x7=^_MV^hk7x^>FEUM`?*X^6P7w%}?DT}6!_KhBmQHaTnC60BC{SYS=mk~#Z zcZh$Va5f=50iS4}_&!M@=~2>QvQzSh6xo!VyQFu$?vA7)Qj71=-wVCBa9{6!{eu$^ z;vf7>L#Dk;mrl=pNck|};q0SJk6vc*XWY%eXS!q#XQ^gYK0f|9?(t5xL-t_Kg`A39 zuH1y&y(g|uK0noZTAwGFm!40WADF*bU|P^!c&@PI8OO7PX9q=IMYF|5#hoQ`B_*ZD zOH;~-$^y!kpIbfuSgv0FvI4}Usbr~4cmcf#c(GD-t!kuNx4OONTunu-K<(o?#=7`= zSba!6rop9Q_NDpDfyRrC?M(_zbE7S+AI1rL zj%=UkxZ3fl)3EbHmu}bFH=1ucx>dT-ZigyTUw%CQv1veYpmh*2*fyj-^yZV!r=H=Pjm~~{_`EdcF@_xv9N(X~ zIY}}ZKXq&>efs!x-i+`}<*e-Nt2y<#-g)Esi3R(G)h~Wu@Lz8)(k!Nbh;zAwdi&F^~c{&eXrfPu+fXTiusE5#U5@Z{$T%6^i%q0` z>ZKalnyFe5+O|4~i)}=wq>MHGa+MU;f-ILA>?)B4q{`yCsX5Rw8WPemZ zbYNXDafoB+>u~6XV1ztM=ceVYfXL*iwA*2Kr0*<5r^Fb<3dB*xLkUEQ^hu|Zl~XR? zHA}U)XL0}P1Jg8L&A@*fLV@gw6^W&ChuWDPn(4((s+eX?eJDfV% zI^TAszX|GgdTag8?7d-+Zm(9K_6L)GpN~%l#)haqi4Uud=!|N7J~t*XPCLFku{8O4 zs%<)dCTiAs?#le-1-&o&U-cI+emlR!x-`2SzaqUdyIQ;!x~~15{CmlU*2V%R9~-=B z^F#lq-j>^TJ1%Cg;XwTm1fl=c{}OOw_%iV<$pR^c98Mui=|c6GdY1MyUC^;N4D5^{ zOrKaJStHq|IAl1ZkALLm;JJDtmAB>OB;OYQw!n&DpHTiOUt#6b8vhZihW1XcD` zht;ao6Ez$)6}9NK7PVV+(k=$-I$pBVbGhuT?`dFXsBffTeA9*Oot0U$e z78RCRR`J%MHm=C4*VJvr?bz&L_A3sq?p4`uRkd~H`9``WvQAmb&rgN6-jkvjYu+}Zw)yt% zj=IjGuBLG%B2D&@XHK2z615kD#InT|#Xp}70JED)$xD(;Qc=>}(l2FF|yBGw^5jp9shebO;g*S`5w!(FmCg^$24M8wzi}(HhZ->bTi>t0Xc#D(bfP z9m{BqnA5Q&v7h2H;w=*R6ZR8lllqbyQ=Z(7NVU8tf1l(2?t_uE>hy;XlOEm6c$!(0 z_2%*C?3JATCp1q_?hEQF?rO;zgW9mV z+Irl}^NrV=GMZnsynNN%`VPI-rq$lqY23Bdo&HYh{ioif57$2G461xm9q|~Wom`#& zu(I`Y_o)B>(!m|Q6G&wt=>9FRLXC!?D+mZm?Svq~VX*E5N>>9K2r@Yj5eYg$MAW?y zOn&a4_XiAuL!=NDL=SW~JdhA{7Lo@#7k$VA=t2Cz>M{k&fhwR@s2`exeu95 z3x+ZvDfOfF_X!ve(hPnX zDjN3e#)*imn=H3dqbP6Ry0aDI7P}gskm#9Qmr8%1Mo>O}UeVd%wH1_jP{^Uwd$uV0U=-m;5;De=?wZ zV*ok_UZ78xf|P)k-2}P@Gz?)-9Fzf-K#f3;Fa=>?Brp!x*|%;RWzDVp-zb#KR=QB)3Q=LEmSQL1Zpu!{i#|FDb++N-2dYpHoRw zp{Wh17ifZMDQMH^cVQ zF3w#d(mQ?GRR4}agW;MnzX|e6w(0cMljd#~^;TroW;U6~u4@Cf?RF*hu@0_|Mo!w! z<}Q)0uia@p>^xh%Ij)ELO!=w$mju!UT@UUF^ID!9cN`QSF?ov`S&SlhVy zgwUk3DMWXt?o~YqOqYJRnNgJ$kS(9H_vBfgWPWzRw`W2{F2yfOS<4=mD^;w&$f!PF z^P$eRe*a}&lVJ<=ssw%MHMTvs)9#J@Ti*A?J$-$F{iGk`2dRhhhLNLsV;&PlQ{QHJ z<_*5wT5MfrUA+s8X#0LV*iPKl*_XuU9DE^Q|L%Wchyv(y*+B1$09}(BWB@cwp3n_2 z@}EMr&|7F4jC*RBAnXFn8Wsl2g1v&x5mA6%wb%+Q=`FPf_?$(ow#kGNp!7H_-UdO3>oyx{hVg2QZj3>M&hoHe|WTD#s?wF2jN3 z3_0%4Wyfv8bNPfGuinW^e0uyw0!TqWp`=r#!f#J6pP>|-lDYGwU zaIQ~2PSISM1abEQUR75u3iM!uW{Xy<_6MDPUENFdm&Np-8;Tj#o2XqGG4nL1w0Lf1 zYD0gG$`0vZ>G;K2!6m^JxF+`K_0sbm^s)3^@(&B-4w?>m6ZZN>HtNdFy~wAxO`~~Y zFmbOE5|f-#v{Kpc^*nG&+kP08L7$oTST?&a*Xb!N?{UGo!r`KT63)`M&ruaxFT|@g zYf<%iFH@S#TUcL>qO;n}JIFc<-$-{iztea>+8g{q{3Cn-Gqf~3Fq%3hG@d;{n9`Vz zpXr&So4>N~UP~uJ3OB?*86|z1w^5_G$Nx_aE+m#FOJM;Dhm1_~irM1M`D>2k#FK2oeMb z!b3t2fp92s=y>?(u=l9{{hXvEkKP^-j9L|_AEyrwe+WVl**yq4NIg8<&pSLk$Ons! zNeFuF@z-~qqs*j0$N3m@1ogb!yLt5cACJS=5Is4J6GjS$orH+!VQ_lbVJCRGKtO=} zI(}z{5y6Q`NXf`4D5*e(x?>O#3=StEhLeySeT;+M0QVtcdJ+a+2^CUCLtC=9|dDEs#ai~PSt**}E+i>?VE2>zi8Mg%~h?*#`~X&fEI|LGw4bpT~6DJjsY z{(T&RN{;F{DhB=o>Pddz`uBeir@+Ts`onRE8mxGU=;8Dba5fLZi?srmu92w`Rp}VA*cc)EMQbcf6P ze#|%*SkceP#iCtu$D0Y{?tYl8?NA)buSh(uMZ+1J&|%TnmDZYn!_$_t%huU$l+}nc zp?HALsMI`qCrM5_zmn${Z;dc`j#+LX7g0J73^m;Rew#$|9D z5kjq4KQY@7_~rDxFL(1c-Gn>g%f^9jE#)5YFhTr^9fQ-K?--77-Vk6iw0QjOJ_w{; zMF$L3gHt-28gAm%Fv)bZxES+~5q%5fyj3q7^*Hw2;l&qHCogkeZgmOYXU|T3))4&l z^V5-XHy-v@_GKhni!g@F0Bd3jLfnV@%=PJaHQ6NEKWN#zoZ@He8sf7U+e`7)$}O;% zFN8%$u152D)qCUJWt{asiAydQ!VNw4hG)ETTlfCFbGtW$+t{wgo}LIERY_k}kN(!F zj2J|!H8w_mXLLOK>1U(YcmFouq!ubZc~d(C@3 z$+@$Y3d0J*vo_hFp9k|8jEJ{L_!R{I&;!PKocov8*Tls9-NTTy8Ufs?#WpS4>4S~Q z2KThP>D=~F7O0GI47MhGW~4PjYwMOw*Q@F>tIO#tYxKHzpHwZ8hUK(BtNg}Cpj@4$ z37a=tcg75MSc4$iz`05eDF)rHXWoLC?+cp?idB}jv~eF#F7f^r9H#%#qwa=CM=SfM zg2*@HfmqV2GbbI=POzF{EGH!vKp;j1RGR_bcK;NRSW5jJ?i;Z-a5N_OwK&<5&FR71 zc@u7^Im)^^(&VM?x{x7=%h&v@RXb5wruSi$R2qF`9<`EZb1rxx{NhK;U=+%!03p+>nohj;XIisTz^d(*mQD$FV4PPMajCOI8kAxdW>^ZJ~NP6meq3^jxaQe(z(9m+dskcmRRUbc$`D+4!!Vh!5Ew@@f z7HwBKCbz)a!NcK#YT&-JFQ#8I<8HUO+`{gfuQe~?x+PB6UQ%Y|DkndZTCy@yBHGDP z-M4K_FBfsCO0&KAJ7ZoW=%<*C9iCSvh8iBecmA-y;P>Dn`NI%8_;MuL&(|Eq4e&%w zW*=FY-ZD4C2`qg`6vEoBppV`>AYjq;zxQOr55W$v|Gfb^r-5RdK7P=EH!P2s2Hx>w zmD$6sTZR-Zu~OT`Se__F<2g~(0$ps2+WcF^^DIy2J-NfUP;-OJPqo>IdD+I|&r9hKN2jIDWoWpkQ6%GP zH%ex*>>j>&+jO0N+yd@*&if~-6=8P>G2>;ixoxB)txR|nmSKEF6AZ>Fq;R>v%JB+GSeUAbX(c z!8P&|9?nItP|~@i0hQxC^ZM%~n3!4CHuSjI!nP`guJaIzN7o@@!*BRtcG{Yg{Sx^kXb+idD*Wt`PRZb#$x_b;N_Sd~wNyB}1@ zl%ZlacRKjf!b`}aoiDa##J*q}R#5@B}*b!^G{bF6LsF-W3tAce^3+Sg%t#9Yy^jFOi_&dTE6 z{DQ%VxAQ0O?-gQ|f*@i3`}U%1VY;jJ*yA5JAw1YB00J*p*sP#2x=G?4C@%C|X5Fi> z?fik-&x#J|dpAC9NAI*pNHn;J+6~(_4)ty4-Q%Q^ec6!BusAQb>EuX{_)xwdNEk*# zEi(JI!Ejw{TG6_>-~QQf-yvl#VD^1X5&3jwbfd&|yy%W+z-k$1vv>3~`>-Qn$Igz(pj}4z3tqW5tSP30oPfNgC4Tf{&EsuJ;7wYr58LJdebP!3q!>#pT zm%kAx=Ju}=1`yneB=a{o=V#XSpW$V&;;$>m8%%I!^w_P+I~#T2t?p89!Nie*=VN6I z_A`i5QRa&e+ofn8h?4AnmMTz&7%#qJ9C!g!ty3SdbHv-dzj^ylzs!FaA3OJs=K8aX z{ky7U>)?UDL4?9_5=Z3h!+iO(xm_`(N0ahXd3ER8<4-*y0w>*3M7aOGLG$e~a1z?e z5bSLA0*i=IX2JP&5CjGbM~dn`dH7Gbh}quneCRW?Dt>&RvzpIs=VMnu#QWD%`W(8l zI|dzeMh8InJ0Cb-#01`X9!`x3EXxa5z#4Tc^VsI$ztnx$Uj?7xYgh5@vB%`y}pc80k{7`rp8pThGx700o9v zXR|1cG|??#4`QkFEh+jrSLd5uf@1jt%qeSNx~d2B$b>_PD1toVV-9-_2HD*o6~T;~ zn_ZX3xXJG6C;ZIPbNV1s#WXVSAGyswuXCG~QJtTXO^dH0uo?aoQ#MD|?tKfy_)zA+ zGvI9JHlk)|YqipKmB`xn0_xL>F8pZL7145cJ#LV%D4*3hfqhl0ho z2Y5RiJw|Oi7W3GK2>3+8__d>thtrUJ3B4UEcl2z#F0VW@?QfQ0Z=GT<#qpKCW%Z4@ zMoUqdg9mFm;*Ep5TL*|)=NNxPWGfHOdKPsP!QkJYAg>?O!c*uvE}QE!ugCK4x&K7- zgZdgBxcP|&m+@(Bejj&YhL-e5U03Dtycni#_PQF%Q+XM@8cYVT|L#PBErx#1_^0q~ z;Hs)o;Se%fCqjq(f!$265GX>W@+t6FLo1I~tnnhokAYJb=;%BIafAL)-hHu-&2bl=xSELhNNVZm9OBcVTCdc7PSz-UZ%gu!=zU^XS+zP>8?oGef zh<(4zez(|JLm+0*)a>@XwQyM$9h0aVql*#chDS(acyOYJ(1FOpA(S!Nj=;kthljx`%>&%;IcU zr!8H!ee}I6-G!w?(@U7*$b+}IR2AaxeP7qk3`pxtZkvz>e&gjLJ^=Iee4Gzm2k;<9 zg`q}}ofsBvIoTu@XKyEcE}+rW^Rkk(3b9?6411bGi{*{Tx!11nV>A&eU{}^_)NI2c z^s_RB;EW^(`xcpb{wo!_R1D8EDK#Q%`}Z;y&U z^!A^`z#p_vl`-hq{PAu)%LIYa9K;+nKZxBx&Bl++)J)}eD`Znrggb{|6WYhSS|4P3 z)fBmTO4plWR1~qPj#ZtP9j@5Dy(bwvAzx>lprh0*<)K8zk$T_lU1e>`DogySiu`tykPB(piWH@S>%XzHz=b)r>+L4RweF)Mvr zg^70pjZIjZ^0qrUk_J7*UYe3OvB*z_sF?nBAR2^R_YF~F8dxF1^26v54L=J z`A;|c{X~51An<|7YozTVG(d^_0U#tD>W49Mh-a;5Uloryc#d)gYieX|Zu`^lTsmdx zrND8*z087>)0^kS%ub%4H%n!3nK(7aHFRCU`XM!{BOd*E0_Z^wp;HNg*3IH=e_P9Hsx&M3~)!N}%*xN4SaapK9d? z0d=#7Q7>iwM0a0recXmaSpS#sRpgo{XjB=XQ8{wRj5vhWvah1fi{O3T50cQc(df-s zG)@Re+52U5-vk^VhF@9&;xC5Bc*_m=3$fb03wj40iOUAAt&yZHjAeKYT*kb1xX|nr z&H7x$7p(=Fd|3lFY|UaM6wX0feq;Hr&fxC|qmb z6tDC#;#|-3vEYDkzL3hR9nZPU3^xhg4ritV9#2_^4D3pH%m{9c(`tkRtVuEllx2dW zwy)#ViU|F{U!<~_cvlMbq|0D1W5+f(f8_hH5T{3OO#72L~~hif5sEN*BzC0aUgGSePJZr zQnm=oYV;}G{<(%{rTN$j$Ai$cyMZ~DuUO6jw$MNKA^-9_F8>$U2VOINdv=%^5Dp_(4mbaHsV-bjp)7$wk-2j{<*4@wE=VqSF}WwCe;nXhct z9rR6ozg4`FUM3PEyS-`gVv4axQM==7|7Z9t8icw8d`of-yh-CyF9Z zaYfq^)L*Y_4m`=X=epO~jF;(48`x)ALNd0(q%!duTD{Pw$s8zLX zvNwnZ{P&2>1-aAx|)v!F1*>0e~+H{C0$FG`P!jygio=P-NT@f>-zhwb9Awo6dXV5 zb^o}KF>V6U0YZ)j<+7cr-AIs^i+_%nD+ca=##s{y0-s$7g8K9*cN|s6$?^9hoCg=u zs|SAuq=eNb`NrR`_vy4*+&XJjKdRY3A&j1Vf_kxzPI1Cn%B?%kk`wqWgNuVX^p33t z=6dMUvlHG+KTGJFZo2jI;B!4+pXh6geIj)1Ml7n9XKikN19$4%O~MH`Fv&DH;4~fC ziq7hGej{&|qRcslKO2R_;4__Ko*}1$#~X5y~!p&kGVgjM~?Lo-*p|8 z&yijY8yn~~(Dm=3_G-%>Q1QXP#?j50b;%mm^^L^zET$B>`ns4Z@ z?3?0BFh4YgS_I0bgDXZnMY=6IIcV?uxmc`-WbH@$Co>1LXb`t}6+XIcR3JsU`+kT( zDY{QG6Yls4?c9u-V4Q2i^%T}6ia%*ZJKWdtD@IN(UpIf-zj!P*bGl z9jACit>rE{o`=4L6RW#Gw`L8bHV8Y6auUWHVlQuWhl)TPsm(lGa zhC%$oApwf%{aNmT_kxFKUHLQ`8zh^z-42>TOckC9mcciuG1T@GjMkee%^#XEoeZuV zEajfERj#&(bQa6?GjE%cbFLI>e@Xs6&3-cVw(n_l53&!1XMWg$WL6B=S0fCdiIq8n zolsFT^sQ%t#XCoi^~@=WbaCKDe$E{G>^gqAq-=%@u^o=p`_kiQ&z)dfYPoE4=Bh1A z{auPDjVb~Wx4|2cg&+-rQr$Z8yVY<31lXDi9C`n(i*Y651Xe3P|I_n2s#l@!hb|8C zC5sqi!sc@Bf2q&5KXz9~I`aW3Te|y|QCjo;PEo{e$g$zIx3k5A}*({W0e| z4#^UC;>YL7KiRtPqAOWBkr|tHRa@q!%&LkjW{Z@dfxU6OmH0ey0&w^OT+ps`?7l-T z+()Vr-XUv(k`W$szz;eKI0ssk0v>#W-t^OtEg9(7^jcmm^4U&kWIA?9Hn3ec?z+n6 zf?E$2GIgoaFQ4bm6w|x=Z4P78fFtGZ!RS&tDwOw%P*oG&7^!Xc%mzP z)J9@h`6N!xuyrs%^JBy*+=oGHB2PC3QPWl3NGdu8)l9Be!!1n#GuxiEftV1YcO&!+ zmY)5flGc?_JkJaLZUp5Ll1UnQCu;spYS?UJ5qhvv=9Q&^{8n~fQft=Sl=7Rs_AoSq z%~T(CsE5iIIw4ZQ4`!Q2{c|(j2UOd&2SpLGV3skDjH;bU02+pviLEU){kd4*q+2+4W6saM{S1csFdt4RmooO z=Da#?-Qmus!`Gt6|3f-mnVrx!Q(biX=LYjca3BiAV#Wk@TGJU|zE|Z1qvwSZS{$Du zm&fmgu%_x2t~PC#Jk$B6Nv+S@@PjD*!fPow9*l)HW6?S!UBnPiLwRl|-7Nxj^+$pf zh@#gW1LA4#J+?TLf2npPoPGA)+Qt?M<^Ub57{Fw45hv2k`tj9=Si?o#;Dtx3Y^jL={NeQ-~k(x&~9fnE0lTVWP zAkEUKWjFj0BbJ3rV!D%B$#94_Aj(Vx>+%e91VcD2mboDz-1=G$buG5FbzCD$#6~0E z9NC+mzG*!{;ki+f$ZFhe&%f$PH_mZBZ>%6~%~#dvzRufy=S!H%Ht$#zi}XzLILS0{ zh8mYk;Xf5LH@^}Zu$%3{`^oEPbGhZ^95yG}Rln_W?ydqxt#9r2qm;&GIkaON$aq?P;C4cr#haSB8Twey z^{&c$GV9`owIg?4b-HnE(uaJV*30;AY94o&z>X)u8H3ra)|vpAGP{l_lbhoOeN2YjW56=E4xHt1LD`2e%M&8ZPo1cPf8oy|VLWOY+xeUW#Ua&ONPAbT=W^M%8(Z zZ-u>!(rToM&^nu@th@QHa`n@mE|{5CvA(9GaYe)Y-Oq(Pmn`$tXg*ago8z=bzL`EX z%p1LUy|g^|;do#BN{>q^OP36FoV2v<>8iLrTX)hmXbHS1RirF23BkES1IZ-4dxTB03mT+`4p~U z0lgklfG5XgfHjsGZU6)lg~USAh2sMBf)f{BExwL#te8LMET^^_P|H?V-y@$@&m%*auHr93*#5wT%&A3wkK9Ttv z*@h=LDkF{rR}P@_DqRlZ8L!XOn5x|#B{(#B);=`W@D%*If6{tZ$CatdJDe8Bh*{kZ z#HiumbB{S*4tND{zOq>Ph8&R*MHw}}dUf}m;*Ldnc~Drf^~Lp@9Ilh4cQo3I;TX&9 zUECFn&^8jcUxe2?sA`o6561SdO<^fKw`OkdMZ_(L)A#umhF=*#)r(nb4%t^X$9vb~ zaxXQTe0-9QH|u?t;I*4aCW6^h35 zoaLcZN_y!!PBla0b}zc!orbbZ(of~PKblQ8Z@6fl^u{dhxuX$FWcWA=nYuj;>>`eX zQ1buihslo2EWnF+FY3q9j0C>h3z|O{VJnXFK;Q%$5|#Oa&9wJXUHzXoLlnabq}`~i zmkqUQEbGbKWjpMYKVJz65j|-&x@%~*-?n1mmHT{obWgL~k)^QE?S)cZUoBWz*ri=; zl7Ad+W~2shBV#5==3-36Kc^S~o(qeZLDq_|^>6Du#hAqe1P&|mC^l#HW44P3_lu6L z>7+f4RPmJhmN9oXfVAcLoAgqby)zH#{g=@u5q_iFKx0GdLuf~09^fzIz#@}`0{bj= z(FJ&kn?=EbdA}N%tTYT1jF899e8&&5n|?$)XT=J zIs90eFY*z&jvj@JFB@M5B%jJR>`}aT_6q!-HZ$QPkYAT_Kli8~+(g*sjxB7P5AogE zs*Gu3^2H^uaGP#ew+gNrKb8>4;MjI0HW%_Z9ed6|(ozqscNpBZb+vmJk8>2t)GmAWPK`(l@)>CXiz^QiMUROl3Zvlldoj@go&b;=H0xt{C z^r!%g@%+pi?-*q&-0RG`u1{tUBdD?B@wG`DAnfJfSYS(2LFR4K(dZBci6WVCXz(39 zvQwXUg(Kz`2$YVxHQpVEazl+b%=LHj#I{o6+7@`2ErUg7r)$Ez^WBvN0ODZyNOcSV zMFZtV-3|SYWxibo6~syj>`rEJBX*q#2Jh}U1Tn2_?3B4 zZ|jjdBn1xHMYgZG(V@&${c-IKvePLzyXDfTNWN?Zfp1??#Fggf!}V?T&h0poH6QEl z-iWtIj4o;{Xqy%LFitUKUv|u0nPRlXBePeTS1n|5!rjnKzH70{PUc)ZJVZ8fXNM)! zapA=)OQB6Mp_i0*5NfqOI2mg>{bAAk91+ip9E(GBR-o~%^ zvJsJ&)m5H+wPw5S=w-PSKCsUf(buHE7PT)G&U=vcQ=effxLF@({;cj1x-qPXj(G)fVpLVSb)H*(k?1}34MtsL^7JRMF(4?IUvnN2jZQLz7|z}|Fz&# z*6Yeb%SpHNHOSq(qK-z$sHraTrjJ;*XyN;N7kdkYxtBGRuej5H*y#I&FT(*9IdR0n zLzJ_%8WM|Gvz?!b<*5ql^yY{i?aUFt1U8Mo8fiJ1xiV*IT95VM78sJDx~25xd&B*) zx^W72hJeJiN@E;Yn-PD(iDU2SC(3WchFi~DOU(y$A=o|#Pv~I_iwBEFT7+*DxsKaB zB*KO2uAknV(AQqCZO3YF|FE*0oSK}n?4#+>I)i*7ZL%q1(Y5b7y}lA*9*iWAFYmJi zOLZZRdEpiEaOvH1h%SBjstpyEtix%ff*&*WWty+LdT{GTNJIMYXlG{5{h|)XkP^YX zO3920F1_`xu1~FfPf=~a?8_NJr(EnAu7O1vMVSxQ(XcE|T){PB{}1-wJF2Ot?-vbS zKtKTjX%T4(0v3wWqS8f-3Q~oLfDl4JDFPA`MVeFv0R;g?X;PxJAT82GMWjn7!9pid z36T`f;IF;sd7pLHbI*PMy6do3k}tDo&z_k*?OQ*BXKPV5r-o7LH+D5q&Dz!XM23Fz zwi9!CTj?Wz+g(KPP$j`cfdtvZ~6FAEIilR%5S2knsOlCC+9Gpmk!1=_Yf-sE8;89*FZ;Vb%^jI z^MoqO{i|(+r^%Tq!qL9_o&t@X>rUp04Qoe*qlF#IHl-Gf!nn>84pW1+mtAk4^O~S* zjlpE%E$9`^0(QMAlkLIqCDOD-k#QHRM|KIkBzvDUo!MT!0 z*dn5=r~xwHE7&a}Vf9w<1-2?(@M^9IHL-8cw92hgn{569KhJ`U5`}2qYtv~T9BAoo z$_y(E4~QXYMd6x-F3nTbMwYR>0G;>ks<5xYQ7zff=hYW|zOP@p`R1)yh|_k*Ky|gj zpZVlqcN9ZE-uq`BuBG%B&<#61iP1D_OcStyQ$G5S&#EG-Ewj@M8)o0 zruNE?%$e^Wz93)2E*SbL1KyD**l`@@pcE_ODB>Jl0dTrG`1W6r+ww=KJ4WJ|a1b=p zzRLQgl#;}qF0pR)r@F&;cL|(N(fNEOX>H^4ndm3of<`@6Tj4duW21h6s}GjlRJ8Kl zVfq6!R(y)_*1kp&a*sK~y8j1EGR(H~idB&|Qr#`g#BBg$;w7`wBOP-auU+R+$6->v zkF-;^^w}bU*YHpUCY+9Dn7A%TQt59=xG0R(%v(XnsRLfhnekfMf{QOzOtz;N#Uq5B z%eJQGt6A+24t(vgHn!KXKm}Cd;PF4L1~~s8enmFTaQ@oliP^Am7zy8zGJc3Hc$)L)dHEpjHMspEb9lvbKmxaK5!aX@FpTeZrOnxDrmO zEC8Fbj9br5MqXv&W&}qE*tnKIRe*=n*j37ma2yG!rdN&r^$9;FFE59RLvANooH*TRc& zp?aLA!@-e{gAS)U%;J+^K5;}ZaQGnewN7shOCSpuZoID_lZeW4tVv$kFteyj!}Py? zcg{{b+QTk!x7JFIopMN!e)UgJGMGbW?t|F(9Gg}*f6S3hyt}JFkkcUa3o>;JQ8r!O zyUgLiIK)&QW~;d}_fd(R**V6J%VkU*3d5{!L?`0y?Wz~{d+f~6TLexLLIYb+0*T#f zsgH>&xUb$RjOWv=IUPn4xl|?z-X^a&fZok88-DD5h5Jk@@7Gk_b2|@nDb41p?+IDc zFLkC6J+Wusf~FbLlc_6$p?aUBi|0MJSZaHQ{Rlus8YrE; zvzi5ku8X?OlDAAKwNGeqe))BSDlzOg@NI|%iA;Oldgs?-J=OK7>{6e6QLFDouSBAV z1imG85^gl1t673|Hv~H7eZGNp7c0lyMTOte77A_K@PGU`>@8_YKXJG;DB_v#)!IWy zhi{AP86%SRht4-uIhU32^q*(|p+Ya=0OlE3eIuQLrP2y^C%ZQkO5h%gU7|k57*ci9 zNE+T|eNUfL@i8IrZKx}j1pVdrDPmy}XX~l1YtM7HjD6`haLg(D@?Ez}wqGZBei0Rp zBI1i|Qc6Hb-T#pm4+Bnuatc}a1a0d4Sf;W3j@*=9t~<&d)_U?3s@X@wJD<)0}}I~I5aW# zJLY76|{idXx$_{tM^YHzzE5>gKW2gb_fzQyrDdTM$@7gqt4f+NV)7DgV_zp-n$Z zl4etaaGa}us5=%LlN3$XEEiLov@oixbNu8ilexBVB1x}udE_kH$6LUIOgh-(BmhJ{8)3(r}#oX(~)wLPn z74jN$`IE!shH%_W(e&0I0k`uAMNyb=0Luc%g2_+3H_Qy#BKhoYSal-tdC@Dt1Jj?7mZMX;Rz

Q}Xo1 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⁡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 literal 0 HcmV?d00001 diff --git a/group16/502059278/src/cn/mark/MyLinkedList.java b/group16/502059278/src/cn/mark/MyLinkedList.java new file mode 100644 index 0000000000..7f9c3856a2 --- /dev/null +++ b/group16/502059278/src/cn/mark/MyLinkedList.java @@ -0,0 +1,67 @@ +package cn.mark; +/** + * 自定义实现LinkedList数据结构 + * @author hilih + * + */ +public class MyLinkedList implements MyList{ + + private Node head; + private int size;//集合的长度 + + /** + * 添加元素 + */ + @Override + public boolean add(Object o) { + //为空判断 + if ( o == null ){ + System.out.println("不允许null的元素插入!"); + return false; + } + if(head == null){ + head = new Node(); + head.data = o; + }else{ + + } + + return false; + } + + @Override + public boolean add(int index, Object o) { + // TODO Auto-generated method stub + return false; + } + + @Override + public Object get(int index) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Object remove(int index) { + // TODO Auto-generated method stub + return null; + } + + @Override + public int size() { + // TODO Auto-generated method stub + return 0; + } + + private static class Node{ + Object data; + Node next; + } + + + public static void main(String[] args) { + + + } + +} From 416c93c725da216902050572d21d4ecf280df918 Mon Sep 17 00:00:00 2001 From: shane Date: Sun, 26 Feb 2017 19:30:16 +0800 Subject: [PATCH 37/37] add Stack and Queue --- .../src/com/coding/basic/ArrayList.java | 29 +++++--- .../src/com/coding/basic/BinaryTreeNode.java | 65 ++++++++++-------- .../src/com/coding/basic/Iterator.java | 8 ++- .../src/com/coding/basic/LinkedList.java | 44 ++++++------ .../214074094/src/com/coding/basic/List.java | 12 ++-- .../214074094/src/com/coding/basic/Queue.java | 49 ++++++++----- .../214074094/src/com/coding/basic/Stack.java | 53 +++++++++------ .../src/test/coding/basic/AbstractTest.java | 6 -- .../src/test/coding/basic/ArrayListTest.java | 30 ++++++-- .../src/test/coding/basic/LinkedListTest.java | 7 +- .../src/test/coding/basic/QueueTest.java | 62 +++++++++++++++++ .../src/test/coding/basic/StackTest.java | 68 +++++++++++++++++++ .../214074094/{com => }/reading/blog_test.txt | 0 13 files changed, 316 insertions(+), 117 deletions(-) create mode 100644 group16/214074094/src/test/coding/basic/QueueTest.java create mode 100644 group16/214074094/src/test/coding/basic/StackTest.java rename group16/214074094/target/production/214074094/{com => }/reading/blog_test.txt (100%) diff --git a/group16/214074094/src/com/coding/basic/ArrayList.java b/group16/214074094/src/com/coding/basic/ArrayList.java index 4f45a4c55b..158c866d45 100644 --- a/group16/214074094/src/com/coding/basic/ArrayList.java +++ b/group16/214074094/src/com/coding/basic/ArrayList.java @@ -1,6 +1,8 @@ -package com.coding.basic; +package coding.basic; -import java.util.*; + +import java.util.Arrays; +import java.util.NoSuchElementException; /** * @Author shane @@ -101,7 +103,7 @@ public int size() { } public Iterator iterator() { - return new Itr(); + return new ArrayListItrator(); } /** @@ -137,20 +139,27 @@ public String toString() { return Arrays.toString(elementData); } - private class Itr implements Iterator { + public boolean isEmpty() { + return size == 0; + } + + private class ArrayListItrator implements Iterator { + + private int position = 0; @Override public boolean hasNext() { - if (elementData == EMPTY_ELEMENTDATA) { - return false; - } - - return false; + return position != size; } @Override public Object next() { - return null; + int i = position; + if (i >= size) { + throw new NoSuchElementException(); + } + position = i + 1; + return elementData[i]; } } } diff --git a/group16/214074094/src/com/coding/basic/BinaryTreeNode.java b/group16/214074094/src/com/coding/basic/BinaryTreeNode.java index d7ac820192..b40066ebe1 100644 --- a/group16/214074094/src/com/coding/basic/BinaryTreeNode.java +++ b/group16/214074094/src/com/coding/basic/BinaryTreeNode.java @@ -1,32 +1,39 @@ -package com.coding.basic; +package coding.basic; public class BinaryTreeNode { - - private Object data; - private BinaryTreeNode left; - private BinaryTreeNode right; - - public Object getData() { - return data; - } - public void setData(Object data) { - this.data = data; - } - public BinaryTreeNode getLeft() { - return left; - } - public void setLeft(BinaryTreeNode left) { - this.left = left; - } - public BinaryTreeNode getRight() { - return right; - } - public void setRight(BinaryTreeNode right) { - this.right = right; - } - - public BinaryTreeNode insert(Object o){ - return null; - } - + + private Object data; + + private BinaryTreeNode left; + + private BinaryTreeNode right; + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } + + public BinaryTreeNode getLeft() { + return left; + } + + public void setLeft(BinaryTreeNode left) { + this.left = left; + } + + public BinaryTreeNode getRight() { + return right; + } + + public void setRight(BinaryTreeNode right) { + this.right = right; + } + + public BinaryTreeNode insert(Object o) { + return null; + } + } diff --git a/group16/214074094/src/com/coding/basic/Iterator.java b/group16/214074094/src/com/coding/basic/Iterator.java index 06ef6311b2..1acc5349a4 100644 --- a/group16/214074094/src/com/coding/basic/Iterator.java +++ b/group16/214074094/src/com/coding/basic/Iterator.java @@ -1,7 +1,9 @@ -package com.coding.basic; +package coding.basic; public interface Iterator { - public boolean hasNext(); - public Object next(); + + boolean hasNext(); + + Object next(); } diff --git a/group16/214074094/src/com/coding/basic/LinkedList.java b/group16/214074094/src/com/coding/basic/LinkedList.java index fe9839838a..9108c2b6fe 100644 --- a/group16/214074094/src/com/coding/basic/LinkedList.java +++ b/group16/214074094/src/com/coding/basic/LinkedList.java @@ -1,4 +1,4 @@ -package com.coding.basic; +package coding.basic; /** * @Author shane @@ -15,20 +15,20 @@ public class LinkedList implements List { private Node last; public void add(Object o) { - if(size == 0){ + if (size == 0) { first = new Node(null, o, null); last = first; size++; - }else{ + } else { addLast(o); } } public void add(int index, Object o) { _checkIndex(index); - if(index == size - 1){ + if (index == size - 1) { addLast(o); - }else { + } else { Node prev = _node(index); Node next = _node(index + 1); Node newNode = new Node(prev, o, next); @@ -45,9 +45,9 @@ public Object get(int index) { public Object remove(int index) { _checkIndex(index); - if(index == 0){ + if (index == 0) { return removeFirst(); - }else if(index == size - 1){ + } else if (index == size - 1) { return removeLast(); } Node curr = _node(index); @@ -67,10 +67,10 @@ private Object removeFirst() { Node oldFirst = first; Object data = first.data; final Node oldSecond = oldFirst.next; - if(null == oldSecond){ + if (null == oldSecond) { first = null; last = null; - }else { + } else { oldSecond.prev = null; first = oldSecond; oldFirst = null; @@ -83,10 +83,10 @@ private Object removeLast() { Node oldLast = last; Object data = last.data; final Node oldLastButOne = last.prev; - if(null == oldLastButOne){ + if (null == oldLastButOne) { first = null; last = null; - }else{ + } else { oldLastButOne.next = null; last = oldLastButOne; oldLast = null; @@ -98,9 +98,9 @@ private Object removeLast() { public void addFirst(Object o) { final Node oldFirst = first; final Node param = new Node(null, o, null); - if(null == oldFirst){ + if (null == oldFirst) { first = param; - }else { + } else { oldFirst.prev = param; param.next = oldFirst; first = param; @@ -124,6 +124,10 @@ public Iterator iterator() { return null; } + public boolean isEmpty() { + return size == 0; + } + private static class Node { Node prev; Object data; @@ -147,13 +151,13 @@ public Node(Node prev, Object data, Node next) { */ private Object node(int index) { //如果下标在左一半, 从左往右取 - if(index < size >> 1){ + if (index < size >> 1) { Node tmp = first; for (int i = 0; i < index; i++) { tmp = tmp.next; } return tmp.data; - }else{ + } else { Node tmp = last; for (int i = size - 1; i > index; i--) { tmp = tmp.prev; @@ -173,13 +177,13 @@ private Object node(int index) { */ private Node _node(int index) { //如果下标在左一半, 从左往右取 - if(index < size >> 1){ + if (index < size >> 1) { Node tmp = first; for (int i = 0; i < index; i++) { tmp = tmp.next; } return tmp; - }else{ + } else { Node tmp = last; for (int i = size - 1; i > index; i--) { tmp = tmp.prev; @@ -197,15 +201,15 @@ private Node _node(int index) { * @Throw: IndexOutOfBoundsException * @Desc: 校验下标是否合法 */ - private void _checkIndex(int index){ - if(index < 0 || index >= size){ + private void _checkIndex(int index) { + if (index < 0 || index >= size) { throw new IndexOutOfBoundsException("Index:" + index + ", Size:" + size); } } @Override public String toString() { - if(0 == size){ + if (0 == size) { return "[]"; } StringBuffer sb = new StringBuffer(); diff --git a/group16/214074094/src/com/coding/basic/List.java b/group16/214074094/src/com/coding/basic/List.java index fdaf43f86f..5da9b0d4c6 100644 --- a/group16/214074094/src/com/coding/basic/List.java +++ b/group16/214074094/src/com/coding/basic/List.java @@ -1,15 +1,15 @@ -package com.coding.basic; +package coding.basic; public interface List { - void add(Object o); + void add(Object o); - void add(int index, Object o); + void add(int index, Object o); - Object get(int index); + Object get(int index); - Object remove(int index); + Object remove(int index); - int size(); + int size(); } diff --git a/group16/214074094/src/com/coding/basic/Queue.java b/group16/214074094/src/com/coding/basic/Queue.java index 36e516e266..869d0f7333 100644 --- a/group16/214074094/src/com/coding/basic/Queue.java +++ b/group16/214074094/src/com/coding/basic/Queue.java @@ -1,19 +1,36 @@ -package com.coding.basic; +package coding.basic; +/** + * @Author shane + * @Time 2017/2/26 17:19 + * @Email stevenchenguang@gmail.com + * @Desc Own Queue + */ public class Queue { - - public void enQueue(Object o){ - } - - public Object deQueue(){ - return null; - } - - public boolean isEmpty(){ - return false; - } - - public int size(){ - return -1; - } + + private LinkedList elementData = new LinkedList(); + + public void enQueue(Object o) { + elementData.add(o); + } + + public Object deQueue() { + if (isEmpty()) { + throw new RuntimeException("Queue is empty"); + } + return elementData.remove(0); + } + + public boolean isEmpty() { + return elementData.isEmpty(); + } + + public int size() { + return elementData.size(); + } + + @Override + public String toString() { + return elementData.toString(); + } } diff --git a/group16/214074094/src/com/coding/basic/Stack.java b/group16/214074094/src/com/coding/basic/Stack.java index a5a04de76d..7ef1c9ad06 100644 --- a/group16/214074094/src/com/coding/basic/Stack.java +++ b/group16/214074094/src/com/coding/basic/Stack.java @@ -1,22 +1,37 @@ -package com.coding.basic; +package coding.basic; +/** + * @Author shane + * @Time 2017/2/26 16:55 + * @Email stevenchenguang@gmail.com + * @Desc Own Stack + */ public class Stack { - private ArrayList elementData = new ArrayList(); - - public void push(Object o){ - } - - public Object pop(){ - return null; - } - - public Object peek(){ - return null; - } - public boolean isEmpty(){ - return false; - } - public int size(){ - return -1; - } + + private ArrayList elementData = new ArrayList(); + + public void push(Object o) { + elementData.add(o); + } + + public Object pop() { + return elementData.remove(elementData.size() - 1); + } + + public Object peek() { + return elementData.get(elementData.size() - 1); + } + + public boolean isEmpty() { + return elementData.isEmpty(); + } + + public int size() { + return elementData.size(); + } + + @Override + public String toString() { + return elementData.toString(); + } } diff --git a/group16/214074094/src/test/coding/basic/AbstractTest.java b/group16/214074094/src/test/coding/basic/AbstractTest.java index 0b19aa71d2..80eaaa6fe5 100644 --- a/group16/214074094/src/test/coding/basic/AbstractTest.java +++ b/group16/214074094/src/test/coding/basic/AbstractTest.java @@ -1,7 +1,5 @@ package coding.basic; -import com.alibaba.fastjson.JSON; - /** * @Author shane * @Time 2017/2/25 13:06 @@ -18,8 +16,4 @@ protected void printHyphen() { System.out.println("--------------------------------------------"); } - protected void printJson(Object obj) { - System.out.println(JSON.toJSONString(obj)); - } - } diff --git a/group16/214074094/src/test/coding/basic/ArrayListTest.java b/group16/214074094/src/test/coding/basic/ArrayListTest.java index 4aa506e962..2f03342d61 100644 --- a/group16/214074094/src/test/coding/basic/ArrayListTest.java +++ b/group16/214074094/src/test/coding/basic/ArrayListTest.java @@ -1,6 +1,5 @@ package coding.basic; -import com.coding.basic.ArrayList; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -19,6 +18,7 @@ public class ArrayListTest extends AbstractTest { @Before public void before() { + list = new ArrayList(); list.add("a"); list.add("b"); @@ -28,12 +28,12 @@ public void before() { printStar(); System.out.println("Before Test data :" + list); - printStar(); + printHyphen(); } @After public void after() { - printStar(); + printHyphen(); System.out.println("After Test data : " + list); printStar(); } @@ -46,7 +46,21 @@ public void testAddI() { } @Test - public void testSize(){ + public void test() { + java.util.ArrayList list = new java.util.ArrayList(); + list.add("a"); + list.add("b"); + java.util.Iterator it = list.iterator(); + while (it.hasNext()) { + + } + System.out.println(it.next()); + System.out.println(it.next()); + System.out.println(it.next()); + } + + @Test + public void testSize() { Assert.assertEquals(5, list.size()); } @@ -56,4 +70,12 @@ public void testRemove() { Assert.assertEquals(list.get(3), "d"); } + @Test + public void testIterator() { + Iterator it = list.iterator(); + while (it.hasNext()) { + System.out.println(it.next()); + } + } + } diff --git a/group16/214074094/src/test/coding/basic/LinkedListTest.java b/group16/214074094/src/test/coding/basic/LinkedListTest.java index 1479507338..bc78728a25 100644 --- a/group16/214074094/src/test/coding/basic/LinkedListTest.java +++ b/group16/214074094/src/test/coding/basic/LinkedListTest.java @@ -1,6 +1,5 @@ package coding.basic; -import com.coding.basic.LinkedList; import junit.framework.Assert; import org.junit.After; import org.junit.Before; @@ -17,7 +16,7 @@ public class LinkedListTest extends AbstractTest { private static LinkedList list; @Before - public void before(){ + public void before() { list = new LinkedList(); list.add("a"); list.add("b"); @@ -38,7 +37,7 @@ public void after() { } @Test - public void testAddIndex(){ + public void testAddIndex() { list.add(0, "after a"); Assert.assertEquals("after a", list.get(1)); @@ -50,7 +49,7 @@ public void testAddIndex(){ } @Test - public void testRemove(){ + public void testRemove() { list.remove(0); Assert.assertEquals("b", list.get(0)); diff --git a/group16/214074094/src/test/coding/basic/QueueTest.java b/group16/214074094/src/test/coding/basic/QueueTest.java new file mode 100644 index 0000000000..12302783b3 --- /dev/null +++ b/group16/214074094/src/test/coding/basic/QueueTest.java @@ -0,0 +1,62 @@ +package coding.basic; + +import junit.framework.Assert; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +/** + * @Author shane + * @Time 2017/2/26 17:24 + * @Email stevenchenguang@gmail.com + * @Desc ... + */ +public class QueueTest extends AbstractTest { + + private static Queue queue; + + @Before + public void before() { + queue = new Queue(); + + queue.enQueue("a"); + queue.enQueue("b"); + queue.enQueue("c"); + queue.enQueue("d"); + queue.enQueue("e"); + + printStar(); + System.out.println("Before Test data :" + queue); + printHyphen(); + } + + @After + public void after() { + printHyphen(); + System.out.println("After Test data : " + queue); + printStar(); + } + + @Test + public void testDeQueueAndIsEmpty() { + Assert.assertEquals("a", queue.deQueue()); + + queue.deQueue(); + queue.deQueue(); + queue.deQueue(); + queue.deQueue(); + + Assert.assertEquals(true, queue.isEmpty()); + + try { + queue.deQueue(); + } catch (RuntimeException e) { + Assert.assertEquals("Queue is empty", e.getMessage()); + } + } + + @Test + public void testSize() { + Assert.assertEquals(5, queue.size()); + } +} diff --git a/group16/214074094/src/test/coding/basic/StackTest.java b/group16/214074094/src/test/coding/basic/StackTest.java new file mode 100644 index 0000000000..f289744a67 --- /dev/null +++ b/group16/214074094/src/test/coding/basic/StackTest.java @@ -0,0 +1,68 @@ +package coding.basic; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +/** + * @Author shane + * @Time 2017/2/26 16:58 + * @Email stevenchenguang@gmail.com + * @Desc ... + */ +public class StackTest extends AbstractTest { + + private static Stack stack; + + @Before + public void before() { + stack = new Stack(); + + stack.push("a"); + stack.push("b"); + stack.push("c"); + stack.push("d"); + stack.push("e"); + + printStar(); + System.out.println("Before Test data :" + stack); + printHyphen(); + } + + @After + public void after() { + printHyphen(); + System.out.println("After Test data : " + stack); + printStar(); + } + + @Test + public void testPop() { + Assert.assertEquals("e", stack.pop()); + } + + @Test + public void testPeek() { + Assert.assertEquals("e", stack.peek()); + } + + @Test + public void testIsEmpty() { + Assert.assertEquals(false, stack.isEmpty()); + + stack.pop(); + stack.pop(); + stack.pop(); + stack.pop(); + stack.pop(); + + Assert.assertEquals(true, stack.isEmpty()); + } + + @Test + public void testSize() { + Assert.assertEquals(5, stack.size()); + } + +} diff --git a/group16/214074094/target/production/214074094/com/reading/blog_test.txt b/group16/214074094/target/production/214074094/reading/blog_test.txt similarity index 100% rename from group16/214074094/target/production/214074094/com/reading/blog_test.txt rename to group16/214074094/target/production/214074094/reading/blog_test.txt

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⁡H5h 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