From 3fe2faa785dea1e87d1ab3dffb86d10f8d531bf4 Mon Sep 17 00:00:00 2001 From: m-gues Date: Mon, 15 Feb 2021 01:35:40 +0100 Subject: [PATCH] version finale du code serveur --- POO/src/communication/udp/UDPServer.java | 3 +- POO/src/connexion/ControleurConnexion.java | 2 +- POO/src/standard/ControleurStandard.java | 2 +- .../src/communication/CommunicationUDP.java | 8 -- POO_Server/src/main/ServletPresence.java | 40 ++++---- POO_Server/src/main/Utilisateur.java | 85 +++++++++++++---- POO_Server/src/messages/Message.java | 86 +++++++++++++----- POO_Server/src/messages/MessageFichier.java | 36 ++++++++ POO_Server/src/messages/MessageSysteme.java | 51 ++++++++++- POO_Server/src/messages/MessageTexte.java | 22 +++++ .../Diagramme_de_classe_projet_coo_poo.png | Bin 78472 -> 0 bytes 11 files changed, 263 insertions(+), 72 deletions(-) delete mode 100644 modelisation/Diagramme_de_classe_projet_coo_poo.png diff --git a/POO/src/communication/udp/UDPServer.java b/POO/src/communication/udp/UDPServer.java index ee117dd..bb46858 100644 --- a/POO/src/communication/udp/UDPServer.java +++ b/POO/src/communication/udp/UDPServer.java @@ -34,7 +34,6 @@ class UDPServer extends Thread { @Override public void run() { while (this.running) { - try { //When a datagram is received, converts its data in a Message @@ -42,7 +41,7 @@ class UDPServer extends Thread { this.sockUDP.receive(inPacket); String msgString = new String(inPacket.getData(), 0, inPacket.getLength()); Message msg = Message.stringToMessage(msgString); - + //Depending on the type of the message switch (msg.getTypeMessage()) { case JE_SUIS_CONNECTE: diff --git a/POO/src/connexion/ControleurConnexion.java b/POO/src/connexion/ControleurConnexion.java index 5de1cd2..53772db 100644 --- a/POO/src/connexion/ControleurConnexion.java +++ b/POO/src/connexion/ControleurConnexion.java @@ -39,7 +39,7 @@ public class ControleurConnexion implements ActionListener{ this.sqlManager = new SQLiteManager(0); this.vueStd = null; - int[] portServer = {2209, 2309, 2409, 2509}; + int[] portServer = {2209, 2309, 2409, 2509, 3334}; try { switch(numtest) { case 0 : diff --git a/POO/src/standard/ControleurStandard.java b/POO/src/standard/ControleurStandard.java index 607068b..74feec4 100644 --- a/POO/src/standard/ControleurStandard.java +++ b/POO/src/standard/ControleurStandard.java @@ -116,7 +116,7 @@ public class ControleurStandard implements ActionListener, ListSelectionListener } } catch (IOException e1) { - e1.printStackTrace(); + vue.displayJOptionResponse("refusee"); } } diff --git a/POO_Server/src/communication/CommunicationUDP.java b/POO_Server/src/communication/CommunicationUDP.java index e418865..973b3d3 100644 --- a/POO_Server/src/communication/CommunicationUDP.java +++ b/POO_Server/src/communication/CommunicationUDP.java @@ -108,7 +108,6 @@ public class CommunicationUDP extends Thread { Message message = new MessageSysteme(Message.TypeMessage.INFO_PSEUDO, idClient, pseudoClient, port); observer.update(this, message); } catch (MauvaisTypeMessageException e) { - e.printStackTrace(); } } @@ -119,7 +118,6 @@ public class CommunicationUDP extends Thread { Message message = new MessageSysteme(Message.TypeMessage.INFO_PSEUDO, idClient, pseudoClient, port); observer.update(this, message); } catch (MauvaisTypeMessageException e) { - e.printStackTrace(); } } @@ -133,7 +131,6 @@ public class CommunicationUDP extends Thread { Message message = new MessageSysteme(Message.TypeMessage.JE_SUIS_DECONNECTE, pseudoClient, idClient, port); observer.update(this, message); } catch (MauvaisTypeMessageException e) { - e.printStackTrace(); } } @@ -165,7 +162,6 @@ public class CommunicationUDP extends Thread { this.client.sendMessageUDP_local(msout, port, InetAddress.getLocalHost()); } } catch (Exception e) { - e.printStackTrace(); } } @@ -188,8 +184,6 @@ public class CommunicationUDP extends Thread { this.client.sendMessageUDP_local(m, port, InetAddress.getLocalHost()); } } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } } @@ -198,8 +192,6 @@ public class CommunicationUDP extends Thread { try { this.client.sendMessageUDP_local(m, port, InetAddress.getLocalHost()); } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } } diff --git a/POO_Server/src/main/ServletPresence.java b/POO_Server/src/main/ServletPresence.java index b5e3fb6..7a373ff 100644 --- a/POO_Server/src/main/ServletPresence.java +++ b/POO_Server/src/main/ServletPresence.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.io.PrintWriter; import java.net.InetAddress; import java.net.UnknownHostException; -import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; @@ -33,20 +32,20 @@ public class ServletPresence extends HttpServlet implements Observer { public ServletPresence() { try { - comUDP = new CommunicationUDP(3333, 3334, new int[] {2209, 2309, 2409, 3334}); + comUDP = new CommunicationUDP(3333, 3334, new int[] {2209, 2309, 2409, 2509, 3334}); } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } comUDP.setObserver(this); remoteUsers = new ArrayList(); try { Utilisateur.setSelf("serv_p", "Serveur de presence", "localhost", 3334); } catch (UnknownHostException e) { - e.printStackTrace(); } } + + // ----- REMOTE USER LIST MANAGEMENT ----- // + private int getIndexByID(String id) { for(int i=0; i < remoteUsers.size() ; i++) { if(remoteUsers.get(i).getId().equals(id) ) { @@ -65,7 +64,8 @@ public class ServletPresence extends HttpServlet implements Observer { return false; } - //Fonctions d'affichage + + // ----- HTML PRINT METHODS ----- // //Affiche la liste des utilisateurs actifs private void printActiveUsers(PrintWriter out) { @@ -103,6 +103,7 @@ public class ServletPresence extends HttpServlet implements Observer { out.println( "

Se connecter : ?type=POST&id=[votre id]&pseudo=[pseudo voulu]&port=[port utilisé]

" ); out.println( "

Se déconnecter : ?type=DELETE&id=[votre id]

" ); out.println( "

Changer de pseudo : ?type=PUT&id=[votre id]&pseudo=[pseudo voulu]

" ); + out.println( "

Rafraîchir la liste des utilisateurs : ?type=GET" ); out.println( "" ); out.println( "" ); } @@ -148,7 +149,9 @@ public class ServletPresence extends HttpServlet implements Observer { } - //Informe de la modification de la liste tous les utilisateurs internes et externes + // ----- NOTIFY METHOD ----- // + + //Informe de la modification de la liste tous les utilisateurs internes et externes : appelée automatiquement à chaque modification de la liste private void snotify(MessageSysteme message, Utilisateur user) { if (remoteUsers.contains(user)) { //diffuse le message localement, envoie la nouvelle liste des utilisateurs aux utilisateurs externes SAUF L'EXPEDITEUR @@ -167,6 +170,10 @@ public class ServletPresence extends HttpServlet implements Observer { } } + + + // ----- HTTP METHODS ----- // + // susbribe/unsubscribe : Permet a un utilisateur externe de s'ajouter/s'enlever à la liste des utilisateurs externes : au tout début de l'application //Note : le serveur agit comme un proxy pour le TCP et remplace le port de l'utilisateur par le sien protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -202,8 +209,6 @@ public class ServletPresence extends HttpServlet implements Observer { printActiveUsersOnly(out); } } catch (UnknownHostException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } out.close(); } @@ -212,13 +217,11 @@ public class ServletPresence extends HttpServlet implements Observer { String id = request.getParameter("id"); int index = getIndexByID(id); Utilisateur user = remoteUsers.get(index); - remoteUsers.remove(index); try { - snotify(new MessageSysteme(Message.TypeMessage.JE_SUIS_DECONNECTE,"", id, -1), user); + snotify(new MessageSysteme(Message.TypeMessage.JE_SUIS_DECONNECTE,"", id, 3334), user); } catch (MauvaisTypeMessageException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } + remoteUsers.remove(index); response.setContentType( "text/html" ); PrintWriter out = response.getWriter(); printHomePage(out); @@ -245,14 +248,13 @@ public class ServletPresence extends HttpServlet implements Observer { try { snotify(new MessageSysteme(Message.TypeMessage.INFO_PSEUDO, pseudo, id, 3334), user); } catch (MauvaisTypeMessageException e) { - // TODO Auto-generated catch block - e.printStackTrace(); } printActiveUsersOnly(out); } out.close(); } + //Méthode générale, embranche vers l'une au l'autre des méthodes HTTP (à défaut d'une "vraie" interface) protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ try { @@ -271,6 +273,12 @@ public class ServletPresence extends HttpServlet implements Observer { doPut(request, response); break; + case "GET" : + //Met à jour la liste des utilisateurs affichée + PrintWriter out1 = response.getWriter(); + printActiveUsersOnly(out1); + out1.close(); + //génère une jolie page default : response.setContentType( "text/html" ); @@ -289,6 +297,7 @@ public class ServletPresence extends HttpServlet implements Observer { } } + // ----- OBSERVER METHOD ----- // @Override //Note : on part du principe que pour les communications TCP et autres, le serveur agira comme un proxy et donc que les @@ -307,7 +316,6 @@ public class ServletPresence extends HttpServlet implements Observer { try { comUDP.sendMessage(new MessageSysteme(Message.TypeMessage.INFO_PSEUDO, u.getPseudo(), u.getId(), u.getPort()), port); } catch (MauvaisTypeMessageException e) { - e.printStackTrace(); } } } diff --git a/POO_Server/src/main/Utilisateur.java b/POO_Server/src/main/Utilisateur.java index 70c6348..1c69b88 100644 --- a/POO_Server/src/main/Utilisateur.java +++ b/POO_Server/src/main/Utilisateur.java @@ -4,9 +4,7 @@ import java.net.*; public class Utilisateur implements Serializable{ - /** - * - */ + private static final long serialVersionUID = 1L; private String id; @@ -14,53 +12,104 @@ public class Utilisateur implements Serializable{ private InetAddress ip; private int port; + //Represents the user that is currently using the application private static Utilisateur self; + + /** + * Create and initialize an object representing an user + * + * @param id : user id as String + * @param pseudo : name under which other users can see this user as String + * @param ip : ip of the device this user is currently using as InetAddress + * @param port : on local mode, port used for the TCP listen socket as int + * + */ public Utilisateur(String id, String pseudo, InetAddress ip, int port) throws UnknownHostException { this.id = id; this.pseudo = pseudo; this.ip = ip; - this.port = port; } - + // ----- GETTERS ----- // + + /** + * Returns user id as String + * + * @return user id as String + */ public String getId() { return id; } + /** + * Returns user pseudo as String + * + * @return user pseudo as String + */ public String getPseudo() { return pseudo; } - - public void setPseudo(String pseudo) { - this.pseudo = pseudo; - } - + + /** + * Returns user device's ip as String + * + * @return user device's ip as String + */ public InetAddress getIp() { return ip; } + /** + * Returns the port the user uses for their TCP listen socket as int + * + * @return TCP listen socket port as int + */ public int getPort() { return port; } + /** + * Returns the user currently using this instance of the application as Utilisateur + * + * @return current user as Utilisateur + */ + public static Utilisateur getSelf() { + return Utilisateur.self; + } + + + // ----- SETTERS ----- // + + /** + * Change the pseudo used by an user + * + * @param pseudo : new pseudo as String + */ + public void setPseudo(String pseudo) { + this.pseudo = pseudo; + } + + /** + * Sets the self static attribute with a new Utilisateur + * + * @param id : user id as String + * @param pseudo : name under which other users can see this user as String + * @param ip : ip of the device this user is currently using as InetAddress + * @param port : on local mode, port used for the TCP listen socket as int + */ public static void setSelf(String id, String pseudo, String host, int port) throws UnknownHostException { if(Utilisateur.self == null) { Utilisateur.self = new Utilisateur(id, pseudo, InetAddress.getByName(host), port); } } - public static Utilisateur getSelf() { - return Utilisateur.self; - } - + /** + * Sets the self static attribute with null + */ public static void resetSelf() { Utilisateur.self = null; } - - public String toString(){ - return id + "###" + pseudo; - } } diff --git a/POO_Server/src/messages/Message.java b/POO_Server/src/messages/Message.java index fc5c65b..71a2c7f 100644 --- a/POO_Server/src/messages/Message.java +++ b/POO_Server/src/messages/Message.java @@ -6,48 +6,101 @@ import java.time.format.DateTimeFormatter; public abstract class Message implements Serializable { - public enum TypeMessage {JE_SUIS_CONNECTE, JE_SUIS_DECONNECTE, INFO_PSEUDO, TEXTE, IMAGE, FICHIER, MESSAGE_NUL, FICHIER_INIT, FICHIER_ANSWER} + public enum TypeMessage {JE_SUIS_CONNECTE, JE_SUIS_DECONNECTE, INFO_PSEUDO, TEXTE, IMAGE, FICHIER, FICHIER_INIT, FICHIER_ANSWER} protected TypeMessage type; private String dateMessage; private String sender; private static final long serialVersionUID = 1L; + + // ------- GETTERS ------ // + + /** + * Returns the current date and time as a string using DateTimeFormatter and LocalDateTime + * + * @return date and time as a String + */ public static String getDateAndTime() { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); LocalDateTime now = LocalDateTime.now(); return dtf.format(now); } - + /** + * Returns the type of the message + * + * @return message type as TypeMessage + */ public TypeMessage getTypeMessage() { return this.type; } - public void setDateMessage(String dateMessage) { - this.dateMessage = dateMessage; - } - + /** + * Returns the date and time to which the message was timestamped + * + * @return date and time of timestamp as String + */ public String getDateMessage() { return this.dateMessage; } + /** + * Returns the sender of the message (used in the database) + * + * @return sender of message as String + */ public String getSender() { return this.sender ; } - public void setSender(String sender) { - this.sender = sender; + + + // ------ SETTERS ------ // + + /** + * Set the date of the message to a specific timestamp + * + * @param timestamp as (formatted) String + */ + public void setDateMessage(String dateMessage) { + this.dateMessage = dateMessage; } + /** + * Set the sender of the message to a specified string + * + * @param sender pseudo as String + */ + public void setSender(String sender) { + this.sender = sender; + } + + // ----- MESSAGE-STRING CONVERSION METHODS -------// + /** + * Returns a string representing the formatted list of attributes + * + *@return attributes as a String + */ protected abstract String attributsToString(); + /** + * Returns the message as a formatted string + * + *@return message as a String + */ public String toString() { return this.type+"###"+this.attributsToString(); } + /** + * Static method. Returns a message obtainer by parsing a given string + * + *@param String representing a message + *@return Message + */ public static Message stringToMessage(String messageString) { try { String[] parts = messageString.split("###"); @@ -74,21 +127,4 @@ public abstract class Message implements Serializable { return null; } - //tests ici - public static void main(String[] args) throws MauvaisTypeMessageException { - Message m1 = new MessageSysteme(TypeMessage.JE_SUIS_CONNECTE); - Message m2 = new MessageSysteme(TypeMessage.JE_SUIS_DECONNECTE,"aker", "man", 5000); - Message m3 = new MessageSysteme(TypeMessage.INFO_PSEUDO, "pseudo156434518", "id236", 1500); - Message m4 = new MessageTexte(TypeMessage.TEXTE, "blablabla"); - Message m5 = new MessageFichier(TypeMessage.FICHIER, "truc", ".pdf"); - - - System.out.println(Message.stringToMessage(m1.toString())); - System.out.println(Message.stringToMessage(m2.toString())); - System.out.println(Message.stringToMessage(m3.toString())); - System.out.println(Message.stringToMessage(m4.toString())); - System.out.println(Message.stringToMessage(m5.toString())); - - } - } diff --git a/POO_Server/src/messages/MessageFichier.java b/POO_Server/src/messages/MessageFichier.java index 15b2ded..0492ae8 100644 --- a/POO_Server/src/messages/MessageFichier.java +++ b/POO_Server/src/messages/MessageFichier.java @@ -7,6 +7,22 @@ public class MessageFichier extends Message { private String contenu; private String extension; + /** + * Create a file message. These message are used for all interactions regarding file transfer. + * + * The "FICHIER_INIT" messages are used to inform the recipient application that you wish to transfer them files. + * The "FICHIER_ANSWER" messages are answers to "FICHIER_INIT" messages. They indicate that you are ready to receive the file. + * The "contenu" argument then contains the port on which you wish to receive the files. + * + * The "FICHIER" messages contains the files themselves. + * The "IMAGE" messages contains images files, which means the application will display a thumbnail for the image to the recipient. + * + * @param TypeMessage type (must be FICHIER_INIT, FICHIER_ANSWER, FICHIER or IMAGE, else an error is raised) + * @param contenu : message content as String + * @param extension : file extension as string + * + * @throws MauvaisTypeMessageException + */ public MessageFichier(TypeMessage type, String contenu, String extension) throws MauvaisTypeMessageException{ if ((type==TypeMessage.IMAGE)||(type==TypeMessage.FICHIER) ||(type==TypeMessage.FICHIER_INIT) || (type==TypeMessage.FICHIER_ANSWER) ) { this.type=type; @@ -17,14 +33,34 @@ public class MessageFichier extends Message { else throw new MauvaisTypeMessageException(); } + // ----- GETTERS ----- // + + + /** + * Returns content of the message + * + * @return content as String + */ public String getContenu() { return this.contenu; } + /** + * Returns extension of the file contained in the message (if the message contains a file) + * + * @return extension as String + */ public String getExtension() { return this.extension; } + // ----- MESSAGE-STRING CONVERSION METHODS -------// + + /** + * Implements attributsToString method of Message + * + * @return attributes as a String + */ @Override protected String attributsToString() { return this.contenu+"###"+this.extension; diff --git a/POO_Server/src/messages/MessageSysteme.java b/POO_Server/src/messages/MessageSysteme.java index 9c76271..58ab678 100644 --- a/POO_Server/src/messages/MessageSysteme.java +++ b/POO_Server/src/messages/MessageSysteme.java @@ -7,8 +7,18 @@ public class MessageSysteme extends Message { private String id; private int port; + // ------ CONSTRUCTORS ------ // + + /** + * Create a system message. These message are used for all system interactions by the UDP channel. + * The "JE_SUIS_CONNECTE" messages are used to inform the network that you just joined. + * They are sent directly after an user log in, and await multiple "INFO_PSEUDO" messages as answers, to build the table of users logged in. + * + * @param TypeMessage type (must be JE_SUIS_CONNECTE, else an error is raised) + * @throws MauvaisTypeMessageException + */ public MessageSysteme(TypeMessage type) throws MauvaisTypeMessageException{ - if ((type==TypeMessage.JE_SUIS_CONNECTE)||(type==TypeMessage.MESSAGE_NUL)) { + if (type==TypeMessage.JE_SUIS_CONNECTE) { this.type=type; this.pseudo=""; this.id=""; @@ -17,6 +27,20 @@ public class MessageSysteme extends Message { else throw new MauvaisTypeMessageException(); } + /** + * Create a system message. These message are used for all system interactions by the UDP channel. + * The "JE_SUIS_DECONNECTE" messages are used to inform the network that you just quit it. + * + * The "INFO_PSEUDO" are used to give informations about you to another user, much like an business card. + * They are used either as an answer to a "JE_SUIS_CONNECTE" message or to inform the network of a change of pseudo. + * + * @param TypeMessage type (must be JE_SUIS_DECONNECTE or INFO_PSEUDO, else an error is raised) + * @param pseudo : user pseudo as String + * @param id : user id as String + * @param port : "server" UDP port used by the application (used when the application id in local mode) + * + * @throws MauvaisTypeMessageException + */ public MessageSysteme(TypeMessage type, String pseudo, String id, int port) throws MauvaisTypeMessageException { if (type==TypeMessage.INFO_PSEUDO ||(type==TypeMessage.JE_SUIS_DECONNECTE)) { this.type=type; @@ -28,18 +52,43 @@ public class MessageSysteme extends Message { } + // ----- GETTERS ----- // + + /** + * Returns pseudo of the sender of the message (when type == INFO_PSEUDO) + * + * @return user pseudo as String + */ public String getPseudo() { return this.pseudo; } + /** + * Returns id of the sender of the message (when type == INFO_PSEUDO) + * + * @return user id as String + */ public String getId() { return this.id; } + /** + * Returns the "server" UDP port used by the sender of the message + * + * @return port as integer + */ public int getPort() { return this.port; } + + // ----- MESSAGE-STRING CONVERSION METHODS -------// + + /** + * Implements attributsToString method of Message + * + * @return attributes as a String + */ @Override protected String attributsToString() { return this.pseudo+"###"+this.id+"###"+this.port; diff --git a/POO_Server/src/messages/MessageTexte.java b/POO_Server/src/messages/MessageTexte.java index 434598b..d68b215 100644 --- a/POO_Server/src/messages/MessageTexte.java +++ b/POO_Server/src/messages/MessageTexte.java @@ -7,6 +7,14 @@ public class MessageTexte extends Message { private String contenu; + /** + * Create a text message. These message are used for basic text conversation via TCP. + * + * @param TypeMessage type (must be TEXT, else an error is raised) + * @param contenu : message content as String + * + * @throws MauvaisTypeMessageException + */ public MessageTexte(TypeMessage type, String contenu) throws MauvaisTypeMessageException{ if (type==TypeMessage.TEXTE) { this.type=type; @@ -16,11 +24,25 @@ public class MessageTexte extends Message { else throw new MauvaisTypeMessageException(); } + // ----- GETTERS ----- // + + /** + * Returns content of the message + * + * @return content as String + */ public String getContenu() { return this.contenu; } + // ----- MESSAGE-STRING CONVERSION METHODS -------// + + /** + * Implements attributsToString method of Message + * + * @return attributes as a String + */ @Override protected String attributsToString() { return this.contenu; diff --git a/modelisation/Diagramme_de_classe_projet_coo_poo.png b/modelisation/Diagramme_de_classe_projet_coo_poo.png deleted file mode 100644 index 55031ed18b27f018f6c62b576518aaab8d22947a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78472 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

)VARdiKeBzJZ&aQSCS@ zv;Y@&l{+t$q)8Y?)~P0J?2%IjCBqRPHLx0fo8aQ@uMaBPVzjaa-dZ1*Wrj{9%M^KE z|C`VEuU9QOuBV>H-1`ixc-F9oqG0B51GOF`n-2>G!kNd*j^jvTg^pAL!j8v|OQJD= zVW?(zRs!s}u@PMCz1FC8L&*$M=>qTBlUun_atxZ#O5;9%SlR!4p%8non|w2%VslMU z1eN8gUBG29eW^HGlflB|3fOPJlMd_#sfVr+LsL*HIkRMyORjR&{E2MIB`YCkSpg?K^GdJ;n=ArZa(6p7r6$~@BCWNR)MK|n=_DD#!)gDY z%}wU2@h+iK0pN3KhvzzKHjG|y?%3oOH?Dw$rX`HLWJMR4hvTD9K*qaCCYMo^MFMxP zIvAn$9@4g-eBgVkjMo|8^C$hejHJ(~`ev@5W_koPh+q`3*Z=x27~STa;Cud&PW?BN zE(C3|rON^v6Tn=W$Og#Fuf*o77F!w_{$o za-q)>8~gTEjCnVDaxw;9g1sE9n(D!*<*x=hWuhptE6vr=-R%N(iG|*#m3H1_urM>l zIG8NSq{Zq;K{@seTEkPDf{nL1744g84$4(8rRm2v%iOxP<9F6E85@@OrLNo`mzhfb z$<@A?^QrX1rfA~6OrPP@;~?VEnTc6p^7Bxr!}%bs|0 zvgZ`0llGX@=6@0eik12x126jsbD*uv*ddD^ zbRMDioApm{^pyC1Zpv6$`?6R~zBd`F$B~;^IMUKP+-wX4N7Tws_E8TYN4q3^_4`{- zlSVvv-j*g8F>mtR#OLYj6~ApNCC~szY#itLvng}=>rVI1t>f))_ax_vOd*~_o+ykO z3RC0bYUunerK4o$O*2Gzldybh{$N#gU>(-oqyE~{hJ%@}?l;omR~(6=B%rOXMk9Amn6qSncV+r!U;+M)c0UINC`$4Ycf{8mPxFMb3mNJWqX(> z`H~X>^jk>3`M4;tM@=Vgy0zEJKKlJ8-E3lzT=ZM<;KCR&(=retC&pCH+s+op34D3n zqi6G-p)p*m6_z33lU;YH0|Z>q)!nF!SJk8IFhx(Q}CqO9evBwENdudZSou zB$CO%9WGBG9mEcKy@A=}6!d+}Z&n2Lel|Opl=&k^v763Gd)!BSu7X2q)}rT<6vM)* zdnma`YfLfU@o7sh4#xQXo8(}+Jjh7!m$TO2D8b}gNu{X}Cn&V4=j`sGcAhk!MHfzb zZYc;OTYFU?bE#+T_G!{|pdfTe&vc5ty;s;DuB@%}lY#nnVB6-if3WhBxOxW9mJBZ_ z0L+!W?sT1c27U7F`~{K=_}vCI@I&cK51u{O`s>l~?p`dQx3P%lLvpmE%JzxSh4SZz z!AWF#(F_V3T8&O?97jmFI00JOsp$!oek4%_bAUpU%XJL~$RlwYZnne+^oWL*umn~A zqYwat?yG^;qex9M3ySh0Wo!L0K!*6doO2nL`%;F|7?=qt6gpg=AHd19ZHzQhCZ#Ai zcmyzR>Eu0TW_;tcb$eKIs<_2k_&mI~K=j=>GAQ7nOv6XAQpGo{wpQC0wn>JtQ1#?@ z-}}JpL1Gi*7GOC+t)Wc`rh{vH$Q*d^LOdyo>^ab7Fm~b=l%AdvxG5G%2ACs0pr@sG zgLCXk^6O)bE1(#R;?I*_gnvO(d|b1aZ0w>^NdW7E3Uf>E_2!>t&15Bj+y@FynY)f# z;H#%9YysOX@&wd6neQg(McO&%1ZSs&ywi)If{(9fF;s`a3Gr=M^$3%vty}vX^&Qk< z_A1XQbv-c!h=fjTwL~`LXlxfqtVKx%Pn-);NoVrSwkGpDuj%g*bDs6VoBXQW(AU0U zP8UOj3B?HBI*D27aZhyWfC9dpf!EM+u^7AKld$rWuNntv? z7cKiR)b8^veAEdM$5!t0><}=oCu8E zJF92khDqDxk#`7LSR@#Pp;HZkG$uxYGGh9%9vdH`nlGtD2kg@3smAz{sQHEWvgq)a zZ4zt_T#f|syt(E^SEZ4Gi&kyrj~3om>dCIwUK)yC;(F-Qz8H1@MG0qqh8KUi&rAp8 zCzG-pxX6^a&d2ky(_HTc>|$oo4v?{$#Bx){QTfP-Tae|Vi~ixsuyvb%FF~`u^HJfF zmHhQOBbU_id0YD7{Gzpm)uwSEF7~-o#{e?Z@bSBw0V=r$JF?y3-AdwsLi_|v*pJBQ z?}nc`4VZ3Gk)Pk@(96ab*mKp6BN|?k{VL6By59{0SLbi*Ket^#1w|n*XiiBdSY6g! zaHGRldc;G@f928PC&s0Z>5qW?x&8nE@q0-or(1g;^&uNM*|rE|irvl4U7sAowtdbq zcO*WMq4ZR+#FDtse3jU8mN~XY^!_m{7+ISsdh{YGsten6VB-LkeuWW)4*=EHBv2>- z7_{rzS^*G3SFj+;le9jq`yBnDaS&YAvgrW;ni>N&hv~GQ#v46~y&#ilTK!e&J1(u9 z!3_C_EgrgFTVMw0_?t(ptuoZP4*2QgZ6~xg0=?GJW6x?g0oDE~gZ=e#P!{ zDw09%+;T1VH#=SGO`={&hZfkw0!RF#PC))xMQreA(NeDBMfgyjwT>byly3R|9`E0n zfT%SGPf#hl5oD%vt0UwyxaTvOJ2W{!+ykw)HXBfxUjW@rjwV*p)JOgNYQ|0X(34pr zNRr7bL;hDFaoxrQbh9r2g4;K+d}0$VF*Y@60x6xZcEpfp_kwh8qvwEhq1t9i>ZAjG zTrXPBc@48-+GCfr_7^_?xo_6zyZp4n^LW-}+nFe5H??&~JJ2Hs&>wr%W@z}2GL8|S zKAg~AkTrYfak7l=el9$vI z&7B^|g=hs|2j6Vs_uF-DgGxX+`fJ?7(D_Ab7d9DaX@-Iv?GdP*`?jAb#|rRT-gCsk z@V8NfqM?Owj0hbbU|DdSB=_ab*n!h#31SUsE>YyDfMh zvI(k{e9K51o@Ny>7kJfS^F4LmXX#?tjPU`aYIBv8eV<+s@paSvoSS}JQPAwTeIqTb z? z(7a%oDrpbDeo|+AqWx0-E5zf3;Kg5G7GDCa`PJUW*DeH;y<_8Y^Gk$dGMg;P({?hU zQ*I7xWmfw!ieFU}ld)dM$fBm8;1|6vbdIj~KOC-P?v}a-B$> zZp;W8>&K@)l^yFWz{H6YHa>RflnX3}PMHQduASs)=)uAr{o$b8f0FX?QJ~wl6JdpR z#QV*@zb040WzO=g(yL~{1fm;Y+h6+c4t>(@XcwZp*D-N-m`7MzqRBs?>yi_6 zZ1*6yR}7$|Ewp<)eVbIV1)3rxamSyCfrsA3;kL9(L65Q0k|!-OuB$X3RYC zqPR^waL9XL%lqg__BUxy)gHHzy(^`~*s6-~{T72~?|WtgY{10_3S{PQx^L-;A9(EV zU7ewaDxIn@!@~}-_E&xyr?t$r2z-g|J6ovr;MIW-(|`=m$}D`FT-0pbKmu@B&g}+H z8L@sO@24a~?@TPwcV7H~6=mO7;R~e1L(#Xvgbxm@dEWhl%Fw`FJp19QOHG4Ur=}??x!K$LCcB@5Wy9y9cHxq znI8nIIscGb4HekW)wJpCqxb!S9Q>oc8_g9?&Y(M-*50!Y71S5rSP>5b)Xyf_r2ttE zBA=y^xSVwo$f6KGlsj3OoIBEj#WA!L)JYeXEFwwHTZo09PwpK-)e=^{quP_ahoOm3 z{xSQ;JQ0dBR--It0Hp?P+9J^s5s`{JHqW$Fi!WVJ?~l)>A5@{B2uN zp5l|gJf?F#$lXo!xo3a9Ur}kP3BPo_=WFMao7OB{ zp_kel0e{wx2rF2I)2~SUNehDYx(WLX#IwgcGk z=aau2L8}y$A>=f<5>QW9`m(6#PQ|2s^jJsEAKZCD%B z2D>mSrQ^$&Mi%KmJUXL3^eX;j5QM_r{I`rb$-QnxN!*aJ>b$n7?#W-r-xrALv z$1SSY({gqp@Bk<$su09^pO4d;QiNyF`4cRY-01UrId&b@k{EYe||sOYmABsBQ4xwDEl6u89L$HHtlGE9x{zaT8-+4upzmnF~veQ;q%% z@x+gyrXNR!_MJz>>wruddBfjYP$KE^e1J!5k^umRx|;y;cVhgP=#G6ZBNs`(%9i6(G(dqQ=u^DY--Hp|fXDaRbJAid zb9B!V8q8z!3^NGgKL2$Q9s^C?=uqiA=KkDi zEvJnkMiXlmNo_&;SB4-HYW>*>=#V$U!aiIzc!Hi9_^a6gXtd70kB#$1t*OgOh`h7% zet$N4voGP5^*7TV=~5?7?4ho$V$r>k~m}CpFfHLs@UwycEwGn z&;{QTiEkdh8Ti5-{)VLJR#&Y>$8=s)77obxmSxs+Hq|aZvoW7VFLuf2>N=+JQQt}5 z_DfMNQ%V7{CJcu8b4*Tb;Xt-k)=pOp#I6OrH1J0HzXA0O@F4Sy9RtD05Ex)f9(joc zQr)rH5;XaCF~!?Nyy-|mlD|GXM%hb-h9?Ha=mt$rB_xC==$C=`&Cf@iMJrqdtc+By z9FecB84y}MgDHNENaZgQod(qy4a3YlV;RE!Xx*C}wVJ*>vi<$vO%T@HJm+IB1$1!b zEr2=-2Qyry-Bg)zLj%siYF`T*Xh1Tkya&CY!k^^jxSkfq{DoJI+jEqR7$+`B6a9WFE zRL5K%Uz(JM*%psD-h)+L&Zbq8s*BVNyJ*c~^`%@i*h3Tn{t<-tlcREM$FxU~O@7=3 zvjceINumrG=rGZ+*#a_l^xLi@_s2s)6d6W_irbsHuU%2P#m|&J$4Zf$T!fDHluzvb4G153&0VLXW=1? z#)KGQ@)tDW>&(apG$q)zb_adMaY+JMiatG7DxjyW9l>Q49;Aj)fnvt7fIQbx%8T^| zV!^xs&zSbcPvjiS!MgKZ@4 zzEShO`{{P|dmZV5;OqA|YV|N!O~p?)+PkpQwQpr#qt`g*DOgn4>&w2AEHaojCtA$L z(U7s&;f?OQw)k-i*)#Zw`1Qb=&gV5Nv#1mAr-PicpX!vYmyDUrXZmXf=V1Oq!WUL@oSrEL{h)C-_j6Ay_Bp)%axc-K z;<~k=B6g80n3Gp(o^9ss`!RF1BHwQ;@#hhCd5=+)XJ2~V^rZqn=k&~=ts{I?CsnZ# zQL|2n3qa5>wT9OB^{u?s?u4N7nVm;`#mr$<0+V+Umy>1*!ab1VI5ci~fHme7c`Q)@ju9A6y z0ywPebQYKC!}EAV4?(PIUCA&YS?~C=%ll_JpygQuG)0xk9oFtYe*aLr5;3UYZ0$<@ z_p4JiLiqSGbV*;{*6qPNjo-ho;U2aP=eCpP8y5_l2#|BaLE9 z#d)vWIhRjR7>V-AZysljai)r~UHXH7E+4&)XYSDam@{#`)VfDeFu%QA^qS@;11oX| zjidIpSW;idMEisLi~RVC{ISqZwq1Zo$K(h-51dZC!9%X&!%WCPebjf|5g$imL#%&V zIhPu4%jy!W`P}{^0YTqtgA&_Ein{Kk?}Uw6AFdqasobyO)TOe_^;}!=)8hD@KFqV* zser;|uzoKjc5V$V*?i656vU}rx(oZ-VDWf@9Gj#U9^~4}jn5ZSzfaAq@2gG9&mVUH z!fMO2prxPZ)1qynoM1qO{Q^4DI}&6kF&3!$xefE!5Ry(i`aAZ0U4aa{Z%CZ=DTz(n z`%ftclskaxiShT71Ab&bg>k_9i30xgSsQ39Re%QUVcAKhP~=I4mt^(4x+8OC;5jjM zJCqwgvVuzc{)~|}EDu}%rWO5>HiD&|{={JQk%(-YrN#D}Pj5QSv>e#@3+h`xxT_2sL;)y0WKprT0&5M_Kptcz zGqZa-Jzus_?&-l&vT?9*4+f#~rxA}4RsJgY;{e*0NYtpbqX1-&_5xoJkr0X2gOjfU5=t6`GUGqzT8B(|HJ&4NOH11&SO>HH#ycnICZis8~cZ)8+E-cklAaf-bcNM&gw2jG~}{p z`hVkAlhtznl_S2YGR#~35x~K*&R9!I8OYP|EjYUy1gv`@u*}p(LUr`#FL$5wulpiXe z?V9O3BsCH6uBRpidr#%l{NZLXMd5zra`yTWt;qJmjp?^W==1R!eRdPP?TBjO4O(4q ztf|l&yJ>htZ0O|9>&ney3oHwB!uIa7@Pq>n%H|k7D7`DRhq_nsd{e~g(lyF&BJ`g` zUa|BYP{{&{y5VO4upn!U!DB&U1?EavZC|IZoqPTQC{jMh)IZSjubu!5e9V3Ik0;`W zI+`1r7C3(~S&g0rPa3)i`8$c+U;`5UCoHyWoRi2B<)=dCz>HgA1$!wnx zxfWkK3HnRB8b)|%rZ!NF?b`HF);nVK#F|Wmih9}EdET|++SJr<_LBzcKZYx9Lf)y! zH>7h6vcq~oP^nhLl|3;9lp)*2T_7NF(55t4pdVux9Y*L zhTNbch1XQNDrEM{ybLc?TyOZ!m|T)ggeaQ^XuJGdgGo`iA#lNB393WuHo3qM~A?%OczesBDm`jl0Ia0-@A!#ycU7hPovF9{!^wC zWfsm_d2I~)K;HO?2&!YbZ@UnmhSlUFJdF+Uh81e4!^XRNJpJ0_D%Xz(&$A-im^oOf zL<}d+!&OwP;1`{3N#vzyI^V2K-M9d)zez^Q=;?sYCc`@4(yJm7D#%8UurcmF_S;41 zK87O4*5l=5OP`EyzO-W zy9`9b2kE`{BE3odcJO)Ld%yqQ@qgnCMFKJB?6c3>Yt1>=+@`jnSFh}1*7CwLYQ@X2 zwYM2f{Hgi5Lz|}*x$%!?oD@7J3z9AK!d)EPbIYm~RxC*G|1RN$6;Y-xUORB1oAd6% z3Q{W~C*?J!uil&FaEtro+zD1cXY{K>=b@!(07TxfzsCJQqrz4krT+l097$TKqj?Zk zW{=8ywPizC?DPM#*bA28eo;7jj>_|hN4lUNPuHLH?kA~y72QkXS!KkUAYJHy2?vwj z?Ab5Mj*kUb|81c^#kA1?HLu0C zcIFRk$-4Hw@!9Gk?&*BB^>B)%kFilu`nr%Ip=6=5sQyqbxPL7y5X+Ov&~lKUTazcW z9GuS`)_0{*;LYcyly1s9lBUe~+z$qCbc6&z8`G69CK`p~8MLB6-q$y-veM;j8CG7Z z@Z{N~Nv)|7d)TY4fd>qB)b(7SyK{{TQnbLQXb3s$$Du24PA9PhW)hrN3atJ!7eCY@ zX)@xG^8A3-?g1u6E2RB>Yy`rCe{iTFEBOZEN3+%S))j$zv9iM#xwz8tG0QcQm4uI` z(YRMg`OUdM_5~^f5eD-7$0y@<|4c5LIzTZPRk@*0)(Cz)E`aA;9b~15987W&&`=Hi ziQN^GRnp)X%%o^^(3lln2mk`FuDgx#=c@uq-LRnG-uAhm8%W!%$3kJ)k@nFvjXNy2 zG4)FW*Rv;kc9E=eC{25ZP2~%QyNawEP{$aziRzVxyVCNSqzUrc_@bK1wVfba&q>6BZJWy zfES^+S72Oddq09A*BXT(6&0!g%~w3+RDw}Jtb|X&c7<`ZC2^|opsL`RA&`v7=pCrl zZDmo#TSB4c)9yVVH0#{*7V}AtgkKtl+uH!owI(GX1vPG^SS@j(8{5SrOP8i?xcz&8 zjP4FS>qzP&w#h1k!Dpy#SQ^s>2lKXP^s-O)u8p(~Dz*?3ga3BddoysXdl|_6A8Eh0 z^o|2kx9SxeS3}y;I&;%n0B5(uZ?teo-Hn@n?#j6OqY_i|oJa6b2jq4~-N8u(FE=dl z_#^CSU#;}@ha2Mmt(F^fgH%{`SSm$eg`c|L(QR+Y;DD>#&ol76JB;0cuKFE=)~`=} zx2#rS%OTSw3vjk7$qjM5OGQ=#Qn(Z7B2QNk&?o%z=4s-Wz3l;DuYZtNsb^lKN@B9k zai3zKNo?pTn36bZ-d}kaCcxte1go<)6`ph(fbRu$86dX2`b6mdcDrxFmSSD+$L*VWx(T~sB)?BljEL~(d(7Y7 zBP)`v|GfD>xjk?GKQP2R>Fd$yz#5tm-t_;OlHtGq!{{bRs!;s(2|P~#bpFotf8ynL zWidy+{j7Oww2>i5g-_g7_L-1!4`_HF3sjx?e}tXNk2ff<5+$VrGxGRoL8 z@S9HlvWuD0Z;uRiM5sRP(dOQ#_(!}pdWsN-&7VgP#0E98k{{Rp&|ly30nJc7KV_gn z61`|@WxI8AbHp>0Bx~C2R@g$xnpoa~gQha=m#-7d_A0GMzkha4t+1Gwc6H>V%4r~*_x*6rvLp}Qd{zXG3oTuF zTQ6{&pHlpQfQK%&r0ezdy|qML3I7ivxItvyCCSk+hfgAiVy7B*1^O#&lo{quGhDfv z7AVc^5P_cIxKQGfy?Z6f!!qt|pKyD1rlIpak)DmnX32Z5fVn0_GeT42uQ!PG!<4)q zT4zv^>+~uge_zG^M0$b_I16j`Db0BpTylIwaqT_*7_q*?AiTe5U8cH1q6&X`b%3B4 z6%c7|NX{YIkXX*XF_6*ig6{hfdp-{rAQlZl5P2J@Canj~i=kRV7n!{xZ>;B*tE5_) z7xNcOY$BT-d1U#n+#_(-2flA{{XC~(V^j?9b%W06_KM!x%EiV^*yu*k2<1=hWjD~R0aHx;T90@? z7;Q^f>Iq783gD#DK9oSLO9p&XKg+0p3Bp|#Lk*k%LON&8f8ydwwc=~g<4O!Jd9=!8 z=i(f0Xx{6BcJ6zW6M;v5a)Izu#Fp(m5(tleF6&`8&d6UB6MLTSG;c|i>S0nk4@Z?}N6Lnpmy*F*q- zmj0ox*9{psK=Zzp2U<~)DO&8tY=Zl~Ki89ScsqnnB19l?6AHrQhLL)e4@o<6+4Arg2s2aHR=Gkml3}|R zTTj?Mgc?@ZvJt!`h%pM=#B5jbo$f-qUzt>^U+BhXW(!-VAFhxoj{Q}b@o1d0z=OWD zm)f-1!uxf$^RVnNgfvCmIDi)TOcseZkO&o@N6a2|nQ`U)Rn1NMJLT!s!0&#$T?-z&|J_tp15mk6MxdM3a|IS5^3)r?{OkuUZQgLJ@ zfN}%=Ppkbm_T#!WEg!Lc>CSrv{1vo;^`tR8=7vz7gsipQ-5J=Se^=D4pegA%?I~TGYktXGe<0yq<+s_Jj^E!`cr*LOO>lgI6YD(_)~Z ztVta3yCt&ho-LyXX8&Zm9O4N}itY^U-a7*AZy=&*rL2PSi8v_(#;(+)168<& zL1U!;0uS%2yyxY8aOn5oa}uHl)bNI z;}62HrJP|V{uewmIf6+Rk$MHqVF_ct2H_0L=aaNK?zQj(OYQy{rEyqT)GtR5MJECG zm%Kb!>EXKHK}=_5fIRoQKA2Ptj4FMk+?7dSh^uiSn1O`K$n1o2G%h4UD~;O>c#W;~ zbnZjBD46DV4co^L0!|=rsMP^EPk4~&K!+;d!A{g}$9tR_#h*gSN>Sjvuy;I@p@*O! z`SJ-1ZZy-Q3gT3@<<@t=*dtdP3A`bIhM{wHsuhM~^8+dNRk|C9b$s3%El=qILJP>v z4qwq2eQu4sBY7OigSA#wz6EOr2j`FZHm`zO)ZT%($58xo8jlr2JMsea*NZJk1=$wo znW+Z>&T&&jNYH!LK9yVVYw`6p(`L6b8uWsRA_OI|wIj2CvMfnDpN;zZXwKJr{#J>6 zGGz9R^eK#ED6*UO^TIAbL+dBC zYLG#d5J4=%0~hXCPM{3ShEl3@UY{woMXW!5@V-3ud>c|>H5k~?IPHrUU(bu*fsS4P z4JpM~vN!~g)!^6EHNp6u&Hu1<8$o}{L3{ttJSg?qlWX`z1t^xFsQt}$k6O{VgMZn~=P>yf5c17a`-Gt%X zZ$r_*+C2UBOwmH%^lc>_|8n+G-)wRPFj1>kQkdzvD3yJ@zZe^DCz@v>j><8zDwLGC zW)QY`L~cjWuZLbCq;UIlFncjsF-5nI2=zWJL(l5eJ}e{7CDTJpHf_w;iiq#XN=ghB zm!ew0N~>by_Nf@+WcdT6^9$Q&oJ2nF%)SMluDXa&m8@t_y09}hE_({lmY=~hAl5Tr z;+8DZB6}-D`#>D}0oW0IKhrr^89Yg(XttvEA0ULAUG`I=e?m8dqt?{<&-Sp5^HfJ93WwjSq_dg#X(|)8oCgqV?Uv(8m}C zhpx+DqBel;-CyKjuKLIR5&C*oCT7l}z*vpw|J*cM2 z8~C@9*50I0q)%U){VoqKCPpUbbstc>1-$Xi9WriP^H+{)0jkRThcr$@cT!K1ft%Q| ztq6vwCu8SG@XaxB`YImj8WqAz7BYnN>@wDUpKdSVTVF9PkQ$MitMdlkg4v;XBH2C9fNwExs; zlQ2OlS)iWnCHsFCJe|Q7|DSRv#WMPH>q2|XQUoPDdLscpB2vjU$rAH7^o4B4}P2T3{;2tK? zuR=FHj846bvA-B#weZ5$9$0{ciFhF{(kFdB`t-}mf zwJph=x3{hlMrNPj<#uLa1lbboLVf_u+{1|!|C&93dZzI1`enzyMm>b##|&D%wfMov z2K3Byn=!IdTQ>u@_J!INJ)6kct6IsELE_BvGJ`StZa8lH{oeDh%PwDYwS`GbOsh0Q z_spIkD#cQh1oc;%ki$Cebyj^qZkTp>8}0wN`{#i8=z+wbMnGz}VV-MN+T(Dbse+O6 z?K`vUOSS$EN~+p+?n!yW5uMt-RO7O9B$t==xyR6rx?7pS?XXXhTYN#|vCJcoy)ESm z0*h}S)Pvw}!~0A{>`O3-9#Dpzz^R^pyQ0s>omKd!B3w238^Mt6OhO1;9H3~)<|_uP z!0cYYEBITsrRWc&Qu!$(vs?HSJ)cLgZ^g3HAb1kzGJ^>zuju01Fv(4KWjy>E^xabC+h z^1w?>Zko%1>EOj7UK&vVY$Sz_UG$E+sGxBS{(GHASPU%hl4{A6;0Pe zC)l)GMwmZNQRu!dduG1CY{ek)vI*&KUZk*Pw5;j^%A6CWEua6CIc@Ve;K0gF;&?mM z;cd%O0BV;x5Es(()^z!}4p{iz=#43aFh=Yq&d!d=cU$^4z^4UiItP{pfRo1Po#;SP z50(kw$^X$!|D-gAuP5h>C2L#X`!3*yBh8cq$eg|y>T1Uyss*93_9tnp*ExI>{r@U) ziMB4B&casYp)bol?+&qin7&(!+m-9QH_Zb^dlanV8@!E|UD}Z;O!y=VCxq(n7S_Rm z`Bh5Q=M)`9L|9ZIOd7Y0d zSskchx;6m~7lQBKFw8*N2?-|&s? z!(z}CUtF^&#&XBK7u0NFNc^&S{x&yZ9n2Vlree~PVUyNJh zk-ScWk;=dBX*r&hV2K4G)?UsHVHintqgy=49WfCm$-m3oZN1Cf@*ZT#z-5_^)a>OJ z)9NGRx|I)))iMQ-u+g!q7O3cmnT7{9GsflCq4yMx!A1l;LT3YUemITDUHYPIl8iNR zlm`X~g(VkS(+B}}>+EU102EFaUk3tA95u{W@XC;$_%3L8LTdvJ^+)?e^i{Cd&$!Sj z+Ae*c^PoxLleGd6c7K+>7)mn@DDe$`>_cIQ2})d)vp696a&Y;NzQVLfq@_6lF3#fk zI232yFHH%2SqX-u(u73U&l7af*tyU=j~g$eC%PWCj=FySiSfgXE&aMGB` zWA1oFi~N>!Z=rXKDnpT+DwMD1eySDfTH2b`%{u-SmxJ$F;E7-Z&K;Jc^`s`)+LqFR zjqZU33NU_e^-n=9kKeoW0x%gZXg%_iE2M)Wa)rMmt_>MgZ+YOMFli1vU6{8y;2yoo zph^4kV^W9vkAEPY9q!M3P<0vgt;h>+JecRgO1E|0TTLDYoj@PA*pxeYHOu8~#AGvY zWa7a1V4qYmObQGzT^HCZClrXA6BxBekkez4A?_hSbs_s`70Yl5IP%0ajhJPcl|Q{; zc)|%1Faw=w*cQhUFph8}-0X*xr&xrNzY#D|)?cWAqDrJecFcR?e*_X3Gu$0KlfZ2@h-@%_=^%!3pzx|DAFf>o zB3p6PgXOG*8hQC`m^)%U^qC%Nf)XHg3Kw2~Am=pZ^>-Yc~ zen5KQkq$CfhV4Nw`@z*8?eJ?JJ_gF{Km)b$pt}9U^Iq^viKLMr&2tK2E9T-T;Q*k-1MYBP=WpdDs|ejMxGKurdl3{Rp~dI^G~LtQ)pbk_Cqr62x?sPh7mh zJjP@jW^bL`L-EDa0fz-`{-CP}WN0ASwi838|96tWO!RZ(!P=txC7_8=4(ldGZa&bh zx_zz5JUvxeEuGBLDlBh?BBhP%~-yZl>zDtX}?~NFB>WD(Q^v;1$;$ zpl=PWF<^ADs;yjgdD_yP>L%lw3cW43DW%iDq?NZ=_j<7blozGMcGzIO*x(fao|LoG zD{SrEv$&kZ_R6(62XPoifwYURBo&u2><Y4RY`P18MyKiwCB*2P?| zP^0N1@HAM6`Wy%tng@JmGmrPmf3rR@aVVT;(|;Sm@e{3W@;4RCZ^9;xc=(UY)ioT+ z>y64gGbTB%Wh)ZHcAIxn>uE10j@D$C!KJzpV|L1LkvmVo6KtZy7mM420 zw(QKkESVW6D=Ch$%GQeg)8Fl)(Uz2TgRn0afrB7G_owFyz6WH;nRzlX*&$fjH&9RK z5Kz}&UVp2Xf7unQNnrH*x9|WoiUqKmA=Ebie?L`lk2X2ojt>0lk>Oub6I3u%gbKzO z?04`lxe3nVq3_i%IAJ$qCbZnj8%JPKx4P5(T#k|Si}nv>%Sx!k-6OCCliN}I)7Y|* zmISaFQ>KX-uv!YveAEy8M?k+}z_(1M0I@LkEj78nvUy-F%5&lqFKSt3XOz_H{W`&|&6G>(iX*C-?WWs6Y__$eRCgvRfU%qsr=I5^YfU13j)E(~bD0 z$d#&d9-#UmW*y4*ymN{^Ees) zIeEFNYBVKUB;H=JV##@Pe$;;A?6aV+^U_WNYrjI2&dcc21dR&1_PrI*3FEZ$8_%S! zQh18JqfEb2Q=Fvl0`Ofn?&BYt(skeZS{fsgxp1Y^VsMjw$QwqF-aNxFSVv``@mEAl{J_!`l{2x% zR`*wba%yRug`X`!jzh^brQadn{&R4=MLtxMDv3q<&@IqeSYITw_ixXvI8VMBZJ_z# zhk_S6|6Io^CeTVglx+B3 zfkyfWi4Q=}M&z&_zFQjnoFs}}NH!BDl7i?OPmKFZYN%h__D@d`_N42&t}83;h@TWs}3*wxyF0KMBVUrU^Iw{;9#UqkAgGsvrlWV*MbonW^U)$NBM*MDcrYTdyuUjjJsLhDz}st z_JWL3H{>6EcxGNhhZ*ahC>!{u>Y~-~J$tQA>m1q0%NO*z=L0zCT1`(J+aHkW6ntLz zS@X~qOtI3-79b9Q~EF#?CgNv+5zbVBw zkA{r{%S)KO2@&SpzlV1dZfDoSJ^BaivYh>GtNwMY65AINRo;jYJd`iDIh;9P4G%3$ zF`^3(P+0S9EDll-tf8gTR58Sxv1Rn@#~y#ueb4goH;u*4OAQgC$aCpN5M2$MkQ+XW z2YXg!nA$pJ!(tedFp8tZ*+9tSR{@ESo?>EKAI9jhC0xEbcpkQ0ZF))U19`3_DjgdV zY*)Gc16tw${ulk>c`1xEolZxB-I*va1W z&_WKlls`Ii|0+L46K^@V{r^4}57icm7crBcI6@W1p~C|cwh%ZBic?U-Ak&$De!7me z#=tmuV=ptVZzWe(i6qyqwY*sI^g&wlHzWzm&V}bNZ+j>d@S`$7bG`hN!iD#**)8lK z8<~FH$bO7>983=`WdhY6^MyV@rn{mIGqKjf_`at2TAQ?d8D}G`F1avKvFP8M@>_)H zhN-Sryg^$!tu^G|<1$-xFH&4~ccG4~?UADFc|VGLlNWyD&=GFxs9l>cH>D`~=CR0w z<}4f;X7XUO$C$2_yOjKWg%}ja^I*N2)aJf?e)nsVXi zX%=A#T2Nu43lVCT%Ln6W-4!gt{Gp4k5`()oW?zX~GCp|oL!PP7AHn#P*}lX69@=q8 zAJTUvxqY_D%qiUlAxI{@dL0Iwnjn?(8m|AA4*l@B{}AZ`v7KTx(z@c(0do0Dws5N@ zZIeV7N#l!yjDAB7D*qYJ;dmo?OTpH7h9IPIEAvbeaVyMfqY7&k9nv^M8H02`(RcQi zwD$2e^+{a!kT_9j_IbpWr!Wh>aSZ*MT|>u^d2MqFx{jO27AH}!evd!*#Pals?in+M zlm9F>xGy7JtB|y*L$-~xUWDnVJ2yqw?sTN+G3TWGJFSg4g;ASa(QAqvR?ypSbD%c@ z{cT%jOgC&);QAP~QQjY)Nc+Q?m~{;mR|n=w+v^529p4U8B$xK$Ejq`HYRB{rS7AF} zjgDY%k;Up+?XbdG4|kKVo-G+?85B1qtRz$VeYi62uBsfdP0>yu$YXbFg6?>p^gO7Q zFPiE|b6v>brCUx`@ZC~SR7R47xQXkOH-JG7H&UkJ$U6Gnwo|+dYrQ^gj7ismIb?2uqFF}*U4hl_$7E& z&p#3WJ1kakLpSq_%g2ZARJd{2LN0DL(EKRhj`H7GcKQ{4{S~LM?A}In@!>rgOOz*3 zoSwSecWXOuH4Lgv>2V0DEXjG#&}}Nq=QqBLtZ~!Kcgh(C_VVz zH>R*m6+8V*$B(EmD`XQ6vC9b6@$NNB7I zmTL7%-S#0F_Evt;5zLm+#%j3LKMyaxkR)wt^{OSnTZETesFFNt&DRQdk^ji*`4h?I zwBWYz*46K@gdGUxoVQZC1>CT}rhRFDMnf2%d+Fu^hCx)6_TQL!`ZcNL9PSKG2a5CC zL*}2Ct#6cb`5Kd)-KIXy#wd)BTmLp|&#>4}iC{@Bsd0pZ%0 zo)G?SUOH&FVv3psANbGGS8@?E`KJBp=_ENlS0h?mbo>clnU9v&^4O<$$ooOJ#-#Wc zLfrR!w({TBVvHs|%MDgvk3(an{*LJt=f?v&e<~tY~g~-SUV`mCg+R zpIc`#1C?}_DE}yo8f!cu86JN;uKHS=K^PBN+?Hrxa`VWE#}^Vt3yhaqniJ)#KmUeP z+2Rz2il~2|_oNG$$*(p3UdOnTKN%-0-;S1p2HU-&4-Xe5;}1zs_71%c4K5w8(^;M1 zF7;l*&5J9HI>sSNY9Eg;ce%U2DdDe$acPRj8tCMu`ad#1Q4_C))kSi6tx*Z1IIYo? zv(QMFn7Ro$ayV~!yQ9;V=pCyk@Dc6#QV@Y7LlG-Y@Dpqc?pT^Z5rJB zX7=px;9H>2C9gQq-Ii}ht9_SnG{Wry&`V2Am|D70wIUJJTk71*DKA@k6mt!XLm^QO zuURI7XK4p5Oxw#W`15nN7vSpG;T^&St(#x2jr4ZxtClB!%@J(nE?$tYl{|K+fu+A_ zHlo-bU5ju&OSo@OKAlcGwoAB%R*ip`g{C^#1*cya={(7iL&T$#5FPknS8GvnVDbto@sL%NLiTk$$lT zq$d#!Ee}g;_B%xds$W}cdY@MrWb>I^W8<`0V?2V-FsV-lyKhl^SpRzjEllxr9MF?_cnz!f+EA<&(s{$nusR z)peIW*dH2nVyzf#fTjQL8lwH>#|^uw(Dp^Ekj9sdQ#L<-+Vzsdpx+UL=(7$Xds;^k zJms8zG6`<2+(3n-|An@sLVdETYgwGlaehTRI#R#Lt77gqsp%d52zl|j?8pfbyF6_D zGx$3D+*vpMP;P{);+?2H|nPJ+&@<77;7 zf9~YX$lfcG;XSh**ybO!#BU2OxM7bB4gQ_%1$vqE5666kdGj*03zIdq6qwbL%n_Dm zjS3MIjy5yf@VTo@+2b1|j7P9qhzyVkg&BT_sN)Y6@PNoL_X~}%C-%jNjpL29Op7C`59wNF?Tdp2|80ZhzVVi+ z>N=_|rK_%W6ciZmyC})EkM4$T5{jh4Yq^uqiGcOSG?J`I*+DmbAC0W0g)4@1jB&7K zSxdc1t*eBmp7Q!>6#cJ2f2DaEDtYXAm|F40ooDaFoN4{wWWPDj)8lyPPe6Q?3*X^} z(8-LmGkif9zbmvAMS5J^wNoAJ0Co;k8+JCtGFUH9V8p@2(>qQ)+Rjap=%%{(Yi7K}uC?MWXlqM^YMNm%g1Lz0eDKQ|<}U zi^w_vw-V1B+H95`kNo#44q{YNGZMl?!bF;yr*Wbr9P9u+wE5-gC`ilfgK#%C)z86s z3;SAia-$H}>~F{!Ke!c*^oiDRzy!aH_ZymX*>`P6+d<+!P) zNssW!-ulV9*JY=={Xg8{Q@+QmWsm6&EPtKEgMcoKx7DfU+i)qKq$%qkA9po13LIXcGkiGGLb#b-3NKJ)MoItN@VMQ~ zSaZPKB^dTQxiJFD=Fx#M@>;XRAoY-!?oD>ydQ%r)`?2H$60|ri=DWt}hk(bGSFyZ(_jJ$_V=@A(-DZFf6ZVrm!9>7Se6PL({ zusL*m_CvDbHn(*U1!0(^0lMRhND}DG?rB+ zfY-UOZ2gq#gbFA)LhJ&B}g@rFw(QPEGMAt zkHrK~#kVouOLDsxLrJd$vKea;38T1Fw@EI}Oh7yP+~amUvfseh?Oy-d6-9vjpqC!! zSEa}QBtK058F3z_j{2wT!a;+&6g+exIb-E62XA1osqt3*{y5cA1~%!y-e~C_DKq7@ zyYTOygXp<%T@#Q7{PV6@ zzHsHAJ+VdPp_p#kM^b&7@=v}sGfh=zsih6N!&e1$Z@{PG=frGUq)aU%1$~=iw<`BjIwAcpxxX;# zX2A+RxxLve2DAs=HdHT@xg5IQtmw#1byfxR3ha_+H;WiLGA&p6xO&P)ckZ3FbDX1S zg~Dqd8=72XR;`(SmNG}pqMkMpSG`@Tl&d1mtZjVp5XJPs?#k1sOZOK(H}!UZ?Afj9 zi(biUzr!nOwu+Zg=(suD*!N!bhMPmJ@vCxHtXE4iXE@GdSuD%{+Y{}QIkX?0hLs#9+-1o;@n2-b#8dulFQhcY@mDMw zast_el_#F2_6UtJg;SYaYm3yX#%T498={RkzPmh${&KO;LOKy5A;{nSiIeDTz*V|d zb;D-`j|bmGUzJA~dLd^;HqwMBacUyLG4`gxrn}|seu&!}cB$gWfylc}em_^hCO&?` z0qhzHwoJ3sJ-h;tAb#fk?+m*FI5Hud$vS80n2+3P*jmo)@g;Hbyp2nASZwbfP31!3 ziOZksVKUT}x06j{cQZ2WS~>h=ScM=i`1z`MfHXWk_E%9Ewpn`*g-?)YhP=OWS?985 zP5bn5c}uIrWb>1}_4U_>*&n}TGdTIP@d?XLMYY2Kx4P)ftpMj8uJ_vAWC)o0X5saU z?JL%sUUoO7WhKquUh`+tHgu8{zZ#F&z(rA);_0HO%jn{l`%GcG6l+PMRyW1Pe36GO z39MBqMpL%vHz#{-U%gx(=Pa3zkS$e6j%hB5zpg?kOGB*D+jX!6Kkax>0w3%(Ssg|3 z>q@(i`f`N1|6t3=_x>6<&=l{T$7KDTirm%B@=5hd_S-l-Y^5}Z?%sZrD*;0KQ~Rkv z425jS&s1X5wD?g;`X7u3tXlU!ru}g|DLjL_92~@gALr82n6O2^`n)l7)k|(F!?+{R zk(e8G1xp{!ct=(5(ZtB(NL4zxi)zd{qbPoU|GJna1dDjZe{&t-i{vULKd5k9-f7qA}j>3z;n29>o_k>|HvQ zrfDAf#eof_-uVYslOAtB6~AjksC(P6TPB2cc2qI^f~_U06_&pJV=3#61bo7iDZulh zve}CO`wRjil>In|2$Z@K;o6}o={djh61vi|v!~Y7A{{sl zsKIzY_t`e9g*#uxjm!11;(lG)r|{+C=(*JUl8h}wp~){y1TP|_dYzf_(gkdY2i+Le zB-BQ$p7vI?f*|uB6jvG#Go=a_cq-@sa0WhLF_pB%_Z~50_InWFSFhMYv{Y)8jr>Gx z#@7qtQfv&tJFExA`Gik@AE{A;NzyMs!&DRrRV)y-RI1ec;4cyZ-;WaBB3YfJI3rM*7RUQv^-h8_C2PjfAcoC`>^=ix53PmTp6N;Zl}&!8&S< zMtqV)O{o}~g<=@i$vcHn^WmJob|-k`e(jch}mcru6McS~@MXC7vp0IV6<+@D_>SnfH005wN>DSZThIBF0-g zdCc_#M290Bsdnq~V}vjO+x#R!N(K(RDO6b2UsyIfrIs!2G!;kxMF>h}q3qfS!^3YQ zlygu$-k9m+fpH~-;Di!@Z{9POtTKio0Tj13UbOe*0xscmzmG~r9Hy278!N}dV5MS3 zt^Fwh3jnf|Ze;0=n*iXHutPVcP8-r?Jw;697DxoK4Sol>LFl1AF`@V!AcCv2!ReDS z>@zN(w`4N*CSVLipuUu1)>MawhIkhHBGbPF-1kB=TcZ_SVj`-d;x52L1tK*`1e9l> z`w!0eHm8+)rdN)L>}X|hsx^APl9b=&el#+jKCLNL z`VmCDg9C?UsBC0QWBm>boAYSk9&w@T3f^BH(kjJHKCvIYgrJ`}Qh~3JjG_?i7_(7ivM^8gjZ$7L_T-7xnXM$<>3|j~cy;qDxg6HV z@#fk`>5||Su)B%X!`+(_YKV8P=vI!uxEfJqmIcS@yw*AgPt;>e;ovE-hx2CrdjILR zQVbZ##I#VaNhK*d)%weab+JY*^}l|rz!TH3iVpFKm(=?wKQ3v|e+c9HfIQTOn+pZ2 zC9M9S38A~Zu>@n#hT6)(Sk#4-}z;> zrDj=XIe(C@*sRi?le72hh<7`%lLv9o|A&_)8>8AnM=3cw&S|wmhGEeA(HrbisojBL zP?=7HKatDUw#2j22R6M@G8eKOY3AowT6JeH@b2R;GlokAyk_lQ4ZG7d2|b*VQF;Q< z9e9DKuxwN!gCZx_KbLQf4r2B>1HkyfMi?JOSmiX+17*cVo$DK)125d;j&EG+Xi>7g zt`S#R%z`~3iyBYzPmy6|fhjeAPHD1iVgg8)uDcBLCli)+?WE)cMfEE>!i&~3vU81}1r8XqPO+qny-oSeEbqER8J93o@)0BF z_LEuqH0l~qLfpMT1P1;)tf^x+R96QA4@K6MXIBTOWM9QF6s#sI2omm?x)GfIvTS1? z-}`;GbXHu*W=muX3=ZRFCttQapII^i^{jWCvdPhR)g&D#7%`y6ct2rI^$pi6l7ID* z1Ykl&MX#S#?n?hMr8o_Ur$O=DY?#$v3D+X57ZV26vz&o)Yc7{_vL)n;O6Wx7inm2F z7D>t-NHFvcaN%e?8a{n+`1VS6MF`^-l=)WtOZ(5YbP`P!N()O3BB$2TN@arI1{wV=H^{d)7+sF&6wh}ZZ&q60Q&Zm(VYX;qTx zy8!l;Snx5Co5-pXuSmu-&NkQe*HkP4;~))0yO zCz3HoLjW>cWrfp=7ra#2(sK3=;BaljPv)MX%BwTLw!Wh^n*8b+XDd*Lh{vIx6<>^^uc1AJBQGHz|S5LgXbKr%6Z`&m}%N!$P0jddee74$e{@~Z9ZyGzP{%a$Rj3-bui-G z^iz9aUIaUa0^YG)8f)$!l7WT|-@O@}<~1FLjw{h!x{F@p)`-K8Un1lvvAUPfo(2sj zTZluV?401^Qh$MAn3*`y1DCRaj`9qg&TSl7WPrO%q!GqQ(6j6nvxw{zjaLO_HZCgr z7p3&yE7<`np1Qf)m@iwYv!UWPR8PF%K0Gu*555kIcxE4;+DF@?E!KP3I|C(VfJ<@z zjIPfiR(b%<-&<~54qx$XA<&DO;zXyp$Q2W@31OrTgIJ;x=P7V-;qP+u3EANOBHS9X z=&+5@vw0vdq4Rv=%eE;qpBf)_2j(K1^=W&>6u7;x3Gf+Q>XCFg5kICzc6ODY@ z+LsjvQ}z=G{)C9%3d0t01&NK@LVi*yMHohZZdlQ59;)CId-3=!n>=T9G0j58;-}o@ z8%A>+?KJO(9z;8iGaBA3>J!zqh2$OBr%B3o-y62H(OPsa&5$rCJ!pz&2mEA@14KwX z{}Z*Uq&Zjl7N#d&l{G#wK(xHAd&^^ucK6bb*6j}ZTT@Uych|c#lFzFTN)_Wfj~enS z+9ns@x9>@{m2Ax=++qtxKaG(5ZHxBPDmzGQjPhPkRtmkX^3q^+^T!>t^=IAulAR3A z`HxC!;x^WqEBAi=Nuv-IcMJN~{MyXr$;ffQve+O*h-KxgW35Sj)CAhDBybPG6w(jwo4=#>=b z9bK_1cv*1boR$I|SM*M0BejLTc8K>T-IF&x(|{Mp7~-r=I+$lmii%2?Ev~(}PAAtd zqo?0s=w%}TpMoYCex_hDkDwH!^2gLB`zYO0XVC2oVdx1SetyLzQVd>jIcvjhVSr?~ zn=U4hG3qzT=T;cQHb}yq$5M=`|HMjkU5DL>f1Zf$c7=R^?)I5rcWiwNQK zy-FLn=Wy~-*GlH=BF9U+zG?G1->=kCp_QCTaCalofngxaY+=Tuv$Maw?K`Nfz#gSo zj}K2TzPW`XqxV|+^=TT)cV34H=ht#TCN&bX8`=U(0((=ih8%wdxt7e5FKt-Ytj8Mj zxsRoNpBzwu6`cmiy;mA!C3(bZH;Cxe3{kK&H4KA@UlSih$ZsQBZ0h``1c34WCVxHg zjj)^YUG5cLH`*WVQ4EYw05ovX@QTC7qbpTgSlNk-i-Rp*vN^o}dHsiQQZ^09C~ zjetPXLxn`}N@+?{BK>@PBtpq?emAvP??^c_h(>UrkWq_fxhWxh7zX$B%Q!z~9=HoW z?*_tWt|j{YbXf{6r_;0M9)rtAu8f4UFTrx*)*r3l7IS24U?M?`@#YSZ94x+4K9iHV zIu*+Vr_YeNi0gmTgE0kAyD&LUjb^e4Drt+1G>0?_U=?Pd>%C7b&+c6EcrM^NoaLL1 z7lUm%B;#!%2b~?4++)}XC3=irN-wh5Sg1bt2_w*Iu^3yUbN5LBjPVxLG-=iKu@x4j zxA&-P9GcY%O9*0WWL+tL{oWSccL0qak1t-`W^igcFZ6o`N_0E3^DrH<2cHS1Y8Uv_ zR2OAnN`Lto%T zBXwq>r-=3cA?>{bseb?W@mEDSnK?v~Jq}7{wvf#+4#~=BvSLLno2_Pftf@Adus_j^76Nw1u9Ki7RfuIq7K*A1qXPBr>OtS-iKB3N0lX*kCV zP&z;4O^*f9#*dM*P7uNCIuzs)bI>{>=4O~khSfxEoHvZk z*sT0H=*TdWJko$G6rlSI#GP27m9OsBl|hJu_T>=1kQP`&x&yVtFA5RQ_F9Kzcs z>V)AVtOTVbEp8XEU$h70_AA7FqL1OiCV!%Z_e`cPdK3vySc$ z9!Y?O?aff~YVn0Tbt^oZgqZgGPU^Avw#3#Js`MX2q*Sf~TADmy7Th z#@(BTvzJk(B>*PKRY+)0cV4lyIQ*G#K%sxh#At4kYUAz@}Jxvs_# zNq!2`6q0TDi^EfuIZk;)Btw4W5nbEwXFWoobi}XMo% zEhkL+F213c5K)^8U&X5kulJ-Il-jnG{?ullV*3Vmb1%Elau_x5{Y1y|DU zv?zM&h=lOz_+E0PatM`@9tsiM{swlC%Ztn10UP}Jap(kAQ`B6rko7$7+kLxc?ey*Z z)kkxEj4#*ag+iPQqvtQsp{`gsL*5l+E(q@Ue#y1SUw-P7dlVyYzyZMeTg!~W-vMVI ziH3*BDmXTL>Ht(9!!0R)*PL<`W6;W>eCs|<*h%EZwtKv9%~gGm&=mrJ&FMrWL#UOG zu2)2jYW}K>n)*#Cp0nfNcF6m^h&vfEV44Woy(U-CjDh11d9k?h8D*Yo>%a9SZRd>8 zdtq4{>DWY+`C}N2T3LEJHs<5EMZR%~ltM-Lb4gjfiMUt4bD5=u6=UpA5A3+4l=|br zLy=o*bu%GdeUVkCRu_<@oZ=U{6~U@f&T@b-|7NRusPDyit@C?FMl)TVoq%udwewdv zVo+`o8nKU7XfV6~M?8Xo-q`6T0AY&*XHe$2=@5vpg~G|U&`HbBv*U=~Cz81URQD7pHN)0)4LnhSMbx)`OtkGeLw;~i5yP9(;`GYJc||h41%%u9 zbtv}wOX<;8!87x3;)o!^CS1Fr5*N_VFojY4Mf4aIO4>E>;B@pOOz<)~TAW^PD()R$ z2>%xxP@O%S$O63UGt4N)B`ej{8xD^+8PMt#<&y&)1=2?f4hrzk*LObj#ogj0?j@O8JnZiaLfAgV zE^Gg*TphNDZv}46ta}YCLfzWSydGZm5Vl6$s2Emda*j+~Ga?HP6{Uu;QsLg$#0|mU0-7=sk*b zM8;cB$07=>ANG+tSSxGL_V0Y=N6ibIx&DqJ^mDncwkc$v(pSQG<7LIKBJviWvv@)W zG4rob_JplcM%EtPf{m=#yIT^ zZ)koLM{M#nk&K0XVmNve11eagDjRl+`YXNp2&2SYpUiRqGRG*nH4OXP5EsrSZB$vS zk0idVIg#%keiIM)1|3=3A`7_VYVcUh>4Z1q-Q6;2At^jla`4*G)RhF?RfBH$DFzUT zYfSz)jwXfco0`tNQ$=lta5m~`rriNF<&aFI_aP`y>x2k_GI?m!=4Ksvx2`N+SDPu zA*{!F!3|NKM>A{5mGiH-Qb_S0ZR8SY80a^lOw-vCGHjF8TiJA2ErvqPDdDqOBP68` zS5c;j^WHNM?ljLnpnk-GEcC1&!`*jUTn&smFls+J#wJ6L5GS)r5r*HRK-_oj=oNB>ArFjjJ z6pP$^FucEY>MR^W;BBDDz#@cu*Xtmt+I0wz&fi)`lie~$I3(GC<+8o}a~+;9j;FAc z(~$+jo|)u4??O`uu|~ZNO8N#EFG5o)9V*EupA}?v1JYr?XHJeX<@<9DKvRR)71SwS zQ;WsjlhoAf@s;U;Y%fyohh5EGulOs7A=QFZ{VD0#EuR2_0hDRoDA4MEozD0P24rfG z#}H7|75G%WI*Ff0N#EkhkKb&qia&-3ZjGmnv-v(ogbaTN(5{THEn5gTtv{fWa;X8 zK$NK-h<%|sx?tuFZ`XxF;5uuOB&&ML<3epfWv#D$9jo5@bL+mW3?p3Alu-K`(Fn&l zDY+SWMs!Cpx~vpvjg!BM+y{ziUkjJeS*Z9jr03Y9Y9$*&A=O`ex(G@U_||EgO?lK( zMy=g9^{IJieca$a!xTS(nw7D}nBOZ-}afuPFI_`6W`I_%(V?xH>V z-j1w$Jz`}}eCj>DE;U@GN1cA=l=Sp@F!igk&n1P=TlkVP`4Vz-Msi&y!c58Ii`RIf zgc)OkN8Ln*GUm&Vtz6(rW(~VCL~XE1-!9MCBZ=u7&MHk7eM4)@YYJ3u1a29hQPO!b zk!&FdEa!(6tw=oqdJjxfA83o4Qwh=P9@+G0pLGBQq;y1GX_s?w8gE^*6~u7|bt1xe5GGv4#c zOAu{!Lv{P-nS~gMN!-SJw%5VI?SW-q^QfwTq@E2A&nbrthNt0HK}j_-F){vO!7;e5B5&;n-h zoD_-rm4~*|p_7=7^ZCnE^*|rfsFtQBA$HRp<;)g%6|s7p8D_67dBpbSI}cql3Me@a z<8PL@J%MMLzKgx7#BohWn~GpTrQ${+1pH)rD+iJj6d?YqWumm*hu?Fm63$me;fb18 z>rx*&;=X=D|5+YUPT<)mPssXo_&UduK;)L~XJwJTVa~lngbJMqTo6cAK&yQ1Ebdj* zQtqPs%BW>t)BSBx#G|Y;&L1kBu;wwo$M3avhE@4fmM5Y-?-GBQmgiG&o+lD&le=~< zn4VW_VpFDuzXileFvh2&#J

4*KgxDk5x1iznnE)8NI)8_fMIRX3`bQ)__tMi8AD z3#t2usl8bLnpv=9NL5A`OpE08qM8&71;E%d?RORbs>TKWtr{n-d=6%TjC3$V* zX^)0BEzrDP8rwWkK+(9n%s+XnURMyEOmlrZ+Zf){P2}L&^jdwgTn0L>c~CXJ(~-*< zZFB0FDuKnxY!wFdYG@+8{-|W}IchPb z#YkN`Bd>p@J1-mWxKshz^ggJff2hon_{NfY|EnegQ~1@vD21E6O+*omR!PC%4!anS zB=T=LIMnvQzhs!I8865Qv;7*PHgIXdddmoD9!FYM8vGR(8f$3qE%8 zhj^mCsl_zIz%&DTAK;K;0XJKyP0t0nF({*zWfgzz-`{FOhbG;H>R)ykH@Y2&0FB){ zshd%wyDvzN#~x}uq?`@+rE8X$l%sg#o-eu~BQ_Dv>HINN;Iqoh-ySl%uKXp`dA7;5 zVV-m_)I|(EhdJmAzG2F9Y;8GqE^7ziwz-Vp!SdT@Y|rkbv$w*sZ&TQi7N(!hIeE$^ z6|0D#U*_)lj%icK-Dg?zSpw6&$lKcaI-M}aD*_Q;6m*}9qNHoJ*h#Jk%mON>Og7}E zXFg?C^m@e)MPOJsKX6K3oqsgk^gE`ZPPPp=us0dB*|I13$-*fYeQrIp>V zC0uGaA$#O=no7evl<5(fMrh|N4bE;@;LTDI`}WaQ{#esl5!xua9gz$h%tzki1YPX& z7UCz^eYP;yLaO&{6PGWZ-zIRQo`4krBEDK|unV2cuI;U!;MGAQdL$IJ<0;Wr#A}-( z8MZ}bdKzc!S0Cs<%B#i(EJ0u!B>PLogu>gVyTGwOoMXeHrO=dLcw}s z@`Etzx#Bk1_imtf;(XmF(I$%h7zkEl@gLf5T+A>F-Z??0wirq(WG|EM4=pK3*0*o( z5pLmdn`GX492*z#ZZXL2&~hlVlv&@F<5MUf%x+&V2e>wNYe z68ghY!!Cl~x9TI?Q+Np*4J#Tn+*IU@R+e{&armNW)Hc$MG=QzqxG(=YWaYx!2-y9H zZs#tk%sp&<_Wz75;Wb)lv4`z(vTlA8m8c^84|nt??P4GuV*oP`r8?$`lwy4kH}f<;_>{612bya1}KBZouEN9RS%IYN;LC1|=$kQ;`n)AnW~y#+T+L;(%7a zwsv?9s>L$#wimS8O_z8w%ISA}zqvpfUC^VRxr<9?B~6Yl=tdwF=zmGxFzQtPr*14t zScDp)V{^`&g@9r38|lqu=qITmNCR+U+d24aRC=%7jQ%Tz$&_h<9VSA}tnnuSRpHY^M~C5sXOo|Hp+%f4jDi}k^^5?6Ba z6`!KKO`OB{)Kj!RYf0VgiO$ZWGG5Nr{OKz@_^$F!L*DD;1D@ArLT)lAAhhtJ4yOAi z3@U#F0Rid3faeK8Tvn}Q$LCjF11kv!4GP1zg(Zy_V-p&QQd2ovcJR~Mmo3f&-3CvZ z>l;3Hem7;Iz}ywm$`#Do_QnjD3_*WATDmz52o~qm-rg+}!rid)2T-TJbD$}5eEZEU zS883#7ntC3oXVkkH7O^x%a~7?s=r&$3>i#EWYs=mI!tf}@^f z!H)%XU$_f$^k6H)I(*W0o^(c826?>7t9V>60;>snhUwT9?Y*5yjBci@XBm3;iO0zA za8d2$g2eCeh!a&);!c>{(E*7e@0BzCjVrGWBDWH-Zg#NB6u(JWfPVI*+sg~ja|Xh& zsIMeLX6YVGptP9G4XQNU@32pSmXR;}s#D9_PU9J|kV@T+Ky*;kZJ18u0doF1R$KNj zRV;6M=$#j1ydK@m%;Y=5Pxgbq0kk0^Og5ax&3=b$>1Hef-~{Up$#@bE|;J|dIAXAwjqYQT-T0<`}`$Hw*b ztnmphBZ(y{#)2yeGM=WI{789ebyU{P34pe@&GYfk0=JbgzLI9Bf}4+{Nk~d;J~`Tb z*gB&Yc({T#-c&G+6~ApDxx~fTsr|$ly*#B~{nYg{4tc;PYxTQ8hk5UxuX|HmBh(s7 zAAx>Z@<7n=5m2ftj!8QqDTgoqEb2|(QJEvSO#Y#??H4~0Yql_rq?XQ9*JO>={6poy z@XdVgv0c-@gxYC`l+|sHCZm;iwjYBiWui>!|tQ22BBGlQHAi(Scu>SjV)B^~Z zngy9_m?oSO2fi9`OEj`LLD-aI+KW0E*AKbbUuCYQX~ro5@24+I>6 zanuQ4gWL7Pl@#DkZEg^Uhv6^TX?JsJ5-k)=exiXqizNh_C!W19ynf*`bxhiIm_Ou? zs@36&GxAcC`#5Tz0$$v_)AFJ@E*^^wRB!r8VpJe98m$d1+PSN#Gm<3%nq9d?r_KxefKkvz4*Kw;ng#c8lTVG1NB! zO+c6+kNcPEy8=m8t^0;9kaZjlj9LYVZ@Ck&;#=Ud11H**+uMVIC2#N40}=4lGT+^$&RKY?-Ydz7N_8Rsw@Rf;qjv;RXT(VD2p-k zMLSF^c10ngcg#RjcxkO9De9oRE0}RKqgn9UX!^YD2@LoO0am>;8m}e&vvny}3G+_} zx4b=#a`4>uoE*2LcIF8%@t78#5dBm`>iq+{ZK>H+8_#?FPMY@c(RjcUSmgX-_ zUE*~h+Eqy2XXs|1#PA?me72z53a%*-_S)~vDoczexV0^ha192z&E;6%#!cphNDPS6 z8wtsXW9}VB-RrE>;T-|O4Zs>G)TPb`qRb}w#BvvyglBWMt-6yny!;IhtmGcYKR?b+ z4}@^4@Py1mJGUh`S|r<-eK(UI?BZbCeCh<4rYlg@0a?P^^BGBBSoTYvG$G3^VC3E5 zc{=hXIsE6L-ROfbSBqHXJFI4&5eu3omwmoDLALU4sINF8UD1vK94~sf2EU)(y`5@& zc_DJnMU3`Bqi}O?pYb_nBr3ta-6UYcn6f$c{AG z>r>TZ!3P)c96C)HiHe^~7w{UCTEWR~x94SZJMxNL|E)o-s`~RB-ckHNXZas}zPB$z zY*@ym_)@CPneTWWs@RyurF~=074fuI(>q(>|2UYtryvJaL!w5aX7WoP=EtMBExy5Z zJ+-`~6H*NpEp_kKYV2ED4kqZR#iYE*v#=OHgNA$R$@RTTXe985_&ajE>S*H?u{kP> zILFjhxBhoHUqlw6gHn794!Vgb#(A(i6_;r=BMerq#36VQqqVJZqofHy+&_Wo1!*m6 zK4~SdwUWEWc`mBYtWrO4Zf{ibClPnOe2(R2 zp^~!8Q4{GY;L|!T(80^T(9>$Y0YW239DoTe|Z4SDCC+;9`NBM^;6-@r$FP)f0F}_cic82sz`U$6uP5O20 zj}W2Na}+HeL3cbJ_17*sBgffVeg|m5!9~Jin+eqaj;si4$L`ydInE>MfSp8^JZhhN zo;t=4x7`+bceome=n-4;26op6Px-fnHZWDiGepu|5pY#(qW*V4prKdeTD?3a?qM6j zu32DkwNT+sP502%R1Sv1h-rxDP+3~uef#;|LOkCh-=xaeSBQkor8fvkKY<@8$=EOZ zQtjT)BOSDt70z*q%UbL66bTNto8>~lc)caB8cXh)>RY-n_q^-r#}F9&D6YG z#@k;Rd`tQ36+8H}QGymCu2q)e0V_$0$O5lGBn-9IajQ^Bo?$$_kN%6T!W{xMV74wJg@O_wywTM(Zlp8GgaiK?VSp%I}*lPJWM|> zO|^QMdQ{6%NF~Zwk)$99H%#W~`y?kx6CZ}jhdqcCLX)C}ccBR}-7>WHt9SywYee=> z;7%!Yzq6hLGNDc_2lAZk_@bxclBy~76gNzPY(1iz&wXpcqxHK10_Clp=x`0_5)jMh=wLgBhuW>zn4IU-ABX3#O_zsNU3yz_`l0> z`>m_PyWRY7jaqYv7>$-bpmkrtwo%_9YU8vDcck#(cCw>az$4mn*N!%YS34u1KGB$R zP8D0B4;*@5EWRG!PvU-62rS_f`wUk&Uynq63b#88=al4tONrA@zsvfXZ>41tc9%+} zo{E!J;3K1^+{D_9oO|VpqV{JTI*)yv{IV})1mziIrvbJ{13mNA_N($W z89)et6})|KTDcJJ0`cq-o4+j1S^=tRyw&`NyV4YY-Y|Onz|3FgSpMlK!j`%|@88v< zg_TVTSrAvg*WWwXReN8g(UvAlAcy%(s4;mk zhk1*FG)8SKyFYI3vSl#}wn)>_{^N!^r$R_^qy}PlIxE~g-Nla;=l!($JZstRpRfDC z3-yc*G-g3uk+=yNv8t z6WHEm5T8S9lJO%_Fpe_yEze`KN+Vh`8P&&o?bH_17zNd|IiLqB+cFp}m7C%uiWY!r z8)LBrbtUG4TPb$ULt{=ykDCcAHg>cBjOYsz3uyI82Jptrq<{hR`brG{hD;<=$*STC zk+8n28vSzNwT%53(D2=r5$hWzMu+ts&ps#q-AW?~p;Jwfov5^oS-%n-m7k*FwM>JM zYr?C;GoJ<@!@D8#N~305B1yG?nywqQ-z1S@N?Dk!!STtzUOGx_a~&{6zv`o=uS6uD z5uY=0kB0tgv${ zt~8dT0UQgC6lvuT?J$JcSM;wA6+#9j*86Su*9ph~MX-5O_mq(orz8`YjHhI~XUjmE{z65|E040)Gb3sr?M$arqXh5cv zhD%ybZ%QE)Vh(k;aE9Usf4krJ05|!$luoLVf-yYelmIu;-vgsO!93S)Rb!rXy1sOrJR6rV zm={=^{vH^@8Qdl&AA&>e-d4#Z%bf!SNHnG zn=5dqUfxl$dqXmoA7PUMPGSC|Ksx6!FEjU#UK&s_;@7pzY>8p8HW(I;lrr!v0WTKK zD})N|-iJj;P!2hVN zQT_XK&Qqvnp+MQbF}CC;_Qeqha_-mEo|Cvv84&h?{g{5(NnhHdWj+viRC(FmGwuD! z?nmIh*g1aG-g)_7pVekw5ngGAA(LgQLJvS|C?D_(u`P^kkawPI&QC*&N6@ALkC z@Ss+b3t!gIRl7hnRTWi~)GoQ^3|VEZ+l5Mjg3*#qEUuu{V!27)&rT!!!&34KOlh>nvbr6aYwi&xWU?-jj@+lxHt$PAVLWnAVHeo4)v8oZANUPr#`6ZKx+HeC&~AG$GHtTl8%OC$ki(N zYVr#jF^!EXzc+noeeCCl*I+r^1K8Fd3O9fagMmJgU;AjSp!xLxl#f>2b_*aDmYldq+JFofk~Vf(7$q=dDf$s?oL z0|fJ*1_KGgK?m(+a-Tr|dU!j6WDu|N4I)q%$MA%R1ufJ@x5)bQI^-}9WTMv1TN`gZ zk>bHu{C=CHuCowb@Z#z@6>8?-sPBTjcF03#ALfPp?3*r4LCCa+8>?Hd$ewjDwQfAIW#9?@2JPYIub}$6L9OK!Nw+xx7+ePS%cF=FbeX?b z0^Bu0Oq-~8c_*+ZODN!7YGO??(rRy6&?)}K{{|g>d|mU#Yh_EPIEfWt zFQZs||Ji&T@(Q)%BV~!DA$%2u9#CU!U-3LaXMEal(U66U%eu`6Z4v;w`OA(|fdpE( z?TL01{e70U)>9vDBG`JVvgH=fDSd)6MALPcCAB7RA2)Xsxc8}L7ivlyPLiWq8kIHV zcwl$H@N-(ZPsn3+H)k&7KxA30+A(&@KZ_u{%yq?95_)_+m#Pqi*6kmUq6j!LXJe6{ z-rfSwbhFKV5`F7E(Tg$#ybwL2A}heY`_lC=HPgCaLpOgCynad|lAIaT0z0TIkwN7D z2%>Xw$SiDCsNBfmoj7oEEuA_7X;v@G01@!zk~HqM{0*78@Vh^LxHUpok3EzxMJUYR z1qFe+aU)35O=2P*MACJZlo$&(?N2;PC0 za^khke)K=m`@Z#EDsy!ry*s|_VopI9S`Yt_zEL2;bLm?CXBi6B6R9kssTq?ooS7%U zFb7OYo%_QP&RFA}UeJ4deRfQ3s^w^sB5|;_QA%?M%(`Wme1jm`9&VNQcw{g87E0(E z%Cns-;PmK4cm^7jE`7BYT{C|H%+A%mD`V3>qca zSleaQvVLI>kf095m%1~+M~%fv)0yx1`hbQLXfuHDz0$#{+N9hZ@4p4xDT+zCu z=6J2OB7w7sSYK6F+hfGT<39s=)~+w9lD4DDgUdb5@UMS5h6^?Gor7UK6Xz=t4n@L0 z>zI0^U1QO#9;2aBdcAwujOprgU;0(qC=D2zKS51zS|A8AU3n3f$ESb#43Qmsj- zqNGP3jG-8%VpYS2cJeQf4@K1+^ZX|vs&-C@hHnNJB|RiWfA`6*1#AL+6RY3vp*6%v zlx+Y(>iq$~z)K+@QRf&i%{g^HKAbbIr8`z1O3BazRTP3~g=kaqmpOi}aWVH7lHUKm zJM~9RXPQ)mk<%q$JBh$l1UNg){8mYbft1!&Z&qP7zD(5{LBg`5KfZYaIZxnbaP?i| zbMo`^scC>G9rxC<=KJT;uM<7}z3q<3hbPH4j)9!+yKt)5h8gfZfbcBwQp%)#2C85~ z8HQKWqrJ3S4N*WL;xd%I?28X?Y7bo@}dwWLVXR8cra+JZC#>EF-YsKDgg4u=tSH>=W3RfH^2S-pCT8OafmqV5l7Q zgGj`;-eX50*^&Av?zEAp=Sd7UE3oEv5RSo*o~5Qc+v+CRmiYECy8Cb!n!OveUQ8%} z@r*V2&-c=WM6v$-%BQrC+bqu~k`v#>eqj85<-*~8UwJHPX-*vioC`}lGd%|#Y5Sky z7!L(V4F!IujNmBCWyGyE81%`2SaZ6Dk_FT!)BE0;@j1QP=nBFOZqBi7p3Q?Tk5}=; zBYD55r0(;$$A`N5aN+rM=;rPnkTfyvaB1?L1(Ar@5EUnZ77=(vb}VeCpMJl!|M2M87%&gq4l{ME%1`=;PZRBx`EQvXG+kCR7TNr%CVPrQa87+p_{eUzwM){ z07wM;5J<~%TgZ-niNH$CDdy#^+mv(Ad1b!LFOEn@;oB6I*8PkES7j+}C<|lKHHxsb zDca*Ae#{kw41*RmgBHkEtHCPSY>p%jdU%S7aQ+}tjt#{Z%gE=lxw>^c z^VAMzdIlvZp=(rrq#+0zB|E#G6J0y#uqtmrYU=2ets)I%X6JRY zmgTwJ2+Tm^078Haf=d!F)(K(>WanuP1a3FfyyF3ZDBAaF9@~?`8Ss1_mN3Q@Hnkyn z`H}hl4eB-6ct-G6b%D1E97qsVI5|nIH;VNcvHxmF+q&Eka4a!6as+I1WxxlLd+X0) zS5WzvEqzx0KQ;(}_EP>LlT6#c0|fSs^LetE6&RbBpkl4J-vqfOpx?#93nEj+5=uVL zvtiqvoPezTa{%rZ^VVAdtCj|ct@8vypo7A)?EbSL?PivIzGWHnHJO4|iy$>>jI#f$ zIABf!Z_QJwj3>F0v_yA% z{kGoU7DXQ%wvQfv*A2ujIH^G1kOzc2yG(tsX6=pPDLRZZX$1#!@d{3X_azzwf!5u` zrd?+`Q%~oXp86X)BFE9by7w-?V_IN7jZ6|LuIZM8PY*yK2UpKua|>oMO9k9L%a7xN zNYOJW8Qi2I{60KO5R^ig)qB8sm>8>9sh{RdyaDG?_`Q;P@N;L--sNd~5Rn&m35nao zs5@LUaGLh&=TW40zC^ExBn<5HT)nwLogH_$&V(!6X0eQe!^C7+3{d=omtt7{E zaH$Ym)WpUo?gu+WQzY+E^DHjpQ%AfX_@aJR_?^h7?kxG_ub`fO^2(8TV!tAxOs6b* z^GR3rYW0&5L{X$LDtqF0&4yiR@7Tt-FFQ@gDF}mNw+V+YONQd#-=?cA$EohJ(tVAh zx6Yg1rc4)duwVIbZ!)=vx%K$B>OMh@$HeXYvLgv0#z`HvXp@_QJhwae+Bf)SOy~P0 zduczr@8C(Q$IQztC#xhyGu*2^iivusHCv!F=}RtgTlhCcg7O3QxAsMZLrktW9XiW+ zfsjS)kx?d7w*p<77|1<3dVT~rZ}S%7yF+t1yTeDf;5-Ww4dFs@dqcZ;OWK6U_0&83 z(~o~Y8z$hSQr*!#-oZbcttV6=S|(7*PXHn^>`l3cr5>n#>GF4juJ&@l=Pa`^H$>gL z60~}ikLus8UL)G-^Za3d^yR57SV4jO>`ppq0dOvQ1l*Lm81aKH^sv&T7uKqJvfgzU ztQm1&qMw-i#JB>3>wGihPbEG6HMZ(eU@{%h)@h19Two8l4A?DKpJS7w&EeB*54u+t z2eAmiCacw3kE$P>I<&38@HGKdvq-ZGJOd}c5Ke1u85A31D^0j)W52BA5My#PN;DM{ zhe?%RSbo%{rWZ@l(Kf^Vi_bHk#WWa5YUa=C2r214M@=4Imx8?IUTABtR1=eyhWKy3dO`cr ztl=ycz$RO=`^-zxDASrQfB$X96dc3!AP(mh*wMx8tMFC%oSA(u*3=Zl3o?n#<7L^& zIiuWr084tYT6|AtiC3r9iOzP{lw+(ar4KPmP1q_BP>?jXgVX&BNJ1;<)sXl_nY0=h zlL1)a?Jfo&;xjiE>S`2NoF8D{T3bC&+uoPXnRj9)R5XaO<4644rX;p&? zG-(AOV!NS>Zs;jqEZD{2hr7=0_oOToAc)HXdK;|}=YPU0`D^;4*TSMhmncxfQ{$Fg z9)7S!^xEC*%%g_8j2JZKeM&c3x0iZ`Nu&5dw$=x#Y4L#FN4;qA|HWV%(L_W6X4~B7^Y=EVL<#BrC{}mxd}JJ4ZQ3}&y99t-F++z$vSj~ij2dz3 z?A<*O*)g==#5SY@jDknBs<(yDHowL0|CQF zJd$64gUjy$D$wg*bGt)IP0nWUW%3v*^JlWmS9`aAcjQt;X?<>;VVMZ~^59PDthZab zZ8H9@h)#I@dZiz}^MBltX9%C$5nKmedcc1vHxnvy!57SW>c>?oK%*%|f#D8s1yzGS zOF?d6M@SotN*o}(tp+7Ga;$_sQ5IyiU3-J3=fJ8^WDn@)je!7io49B8UZM`awxX;@ zAI*+WK~i%)+ji$0Nn8X$Ar<4f-QY`z2I3Y8pwtNy#mNI3?KY++{=DsK z+fM&PvMnQ9z}W9zAeqYx!L^&D(^;w4S3V-u^Pfq-ruR8>PqY0ql}UrCY!(XiAqK0d zJR34;&pg3Z9ze3EB82uJhK(;i*qvQFs(%Hzb}z;ZU`|g%fITm`5)r6ZAg2cOI%Ii) z*Bv;f)Tu+xO-_KNjugffMgRxQ8_f0&==1FzpmWg1JhdG00v3Z=ZNou(RoftoI*%MZ4UT_i}Ec~ z4y`?~v1Dlw7}o&o@mgn41We6X10>uW%^FeX+yi2ubhZ0&rv|l{GIF(#chBZb&RLmIc?s#noozO3!m2hDghzLAk$8r?EYYV z6w4O`CNIxL9*90h59A*dFxsFL3j$L`&ka``Ex_arq#@sHykpN5KeBGGKh~2p(Q6Tf z=-M>q`EXu6!Z@?O=fA+mxaGmj#R_JwAcTSfsJBpO-$3Sq3j#BLS+RT}_6L2)?rn@( zbEEjW+Upx=^}cJ?XHa6aF`D25Vj!cLO1t3hx5RNn#%36f7b!wgf@hHeh+_8eM&4IX zI0=W?o~o0-?Dy7ovPf`*wG+z{2*zZ?i~S8l*(ERBGoenE;VIfSn-M1 z7ts$b;B&cUBjuOBoKD~VC$dB`mm7QPvX%4O5?ZUF2b!QMgaM#l&GjU5R6auxXC$!6 z6Qes)_P46+F(;R9s759M?}j3*;7vV&kNp8L`LoLUFBU9+(VVu=vrVN>Y7jAk2pb{k zk5i?i#P*uxNc?Bhz}6LUdp~t^@h;8fz#hjB(!9T&GkaoSVlYpk}6*918$-*1w77sz+jljzFL^&J~?G!2sj@QQgn zl>Qd|_r~=E(fFgmt`yA46OhmQJnZN=ucvmh2WOqTSJI1e9WlUk5Ty3cB_@_Q*bF}a zg6~C528wB$Mw&(|A9j(OSbVD+O?Pv~W)EQ~XE)JIIk`2L{!|-2pY+a#J-DuaFgbs! z#i_6$66^s}zzvM5K)2)8`&14CUOy~|u-d3!+K zcWB*d$oJxU5}PzhaSQB>D<;^Fm0aYJ&-b&A^%t7nGbWTPji#HFiI!H*Chv6!hms-s zCp#_iKu<)(LOa(VcC#o z*;tz2*e*9?Sux|lH{)F~9n3fVGHxc0Zw56qoi{Y|2C!W-zn>23yHC(~9Ep0a9D7dC zc#ov|EWQ75`cBPQn)<3m!*9UKm77Xg8gxKNsbd($&2ukDR^rD}sdl_-rbBfRa)PON zi#?9Q-uV<3YpU+d+!ZDd@UhX8Z}RLMr32|H1=!xHV8DMOyLgcNaRM_>Yg4(N%g%(2 z?vuJ1GW|P;g#u*tga0)amz^`xLCm=tj`>L|O_pD*jVWGR<pW9(4L$7iJx+(4Fep!nkCPPw?i-HRBIi+T`)qd@jjT`c`u+!ysf zv(o+l`Zyl6g5K&2#J7f@*F1mEP=P$46kB?D3|;CV6K1y^z}F?8>!QG5EdF)nQGXg> zdIBLP1Xr#+NxlN)Ma6Xg>W^V0mVi(b*v(15xC<@7WRAqcFcSdw_z%DeJ{5CVJn6mi zv<&?Bzyz>^09jdRNMgV{=7=x!`-1TS{P~>oLD~HOz}0_-!LI+e>vwK60bEj%HHEOO zZ$Zm8P_!^R15Dfi)Q$I+yE@ry!S-1epQ`EL!jC&q^R@y$&(bRZ`-o95xg*BL+1d~# zk&j)Fsa5d)Ri8R6)Gq-^0Dq73)?=nNqEINr-)9gW6Lk9}$I=&q#GlYwCsTb7Ig2lI z(6jKnYp9256;Dy7djvBP&d8;Y#Qk6A$b&q}F`20s68?_?7xtib7d+24IUAiYI?yFBTJ&F z){-m7XjH1w14n*_CaD^LoG+W-y}5)3gfU_3e6m8afA@d5JH-O_e^}eoD``2otJN+X z0c=L^3S0xXN4J8C78bPqPIRVvc73#G^7gG;V4r}q%KOPB(cy&%pLnU~hxx4JCHs1f z@qJ9U5}wPQn{LGZKA->QLh>zKAc4@d_KV36)xX{h4Qv9nFi#^2YM%a@COvGzTo zR#VU-D@NmcHPet>MwP9YCFk}@$o{teuq@lmksJuvx`%8z*NXP~4t%d`Z_;iQcl+#s zJ;^^@qsSG~0@e~dXY3Q-^Je~C5=$q-oy*IP3<$#jqpR;^LpO86n04pg(wTk2d&Aa*G2E7 znG1W!h)2keC6W-BZqu!z60rA&Ky6_&`3BFk8q#igin4n%8212GNTVqi7uRc|Mr^}7 zv%H|u5bQ*C^Uf(A4pWknI!Rbackc+Dc2=0`ogTdW(n< z-&F#;6)Zr5*={_BD1&?sC4sH`A_!pw0CXMFm(dEOP7qT{&=Ks*&!%vZN1X~|<`VqC z?1@9Q-(@3e7Xp!_z z_hOSH7V9`BVs8(;AU5lO!FGCUlLJA>W$j_CnHdsv~6EOZRC@g*LY~;n;fQld%@lZzm zi@K)3hD?$w7ZS0V6N1h=vJ!;bUgUtr z)DAW050CcXFJFGPx))yq{OkL~OhN1%Rr-FQQ|WgPNA}VUrhM^$^p}Y~fd#ps%b=pA z7$b4CPU!n(L!tt3E$>C&D2Loo>Wb)Q2`0YW$+Y^0Ps#&1#otdu648f#Qs_%ZaGS!E z9ag$;u#Y@m+3O%-;>p1VHi7=je_e~O^&}vcS)Whw$%wAe`0A+QliPKK>19H)u2qar zwsxTz5b3!$GoMB_vb*=t(W`v!;00Umifevk#0*N$QhtAkyKHDIHe{LX3y6)Akj;lc=2UdL} zL}&xMFb-7AQ~0lCQ%e0l4}8ljW1hT+^XL)xFZPRe0N&BaVmo{T99TmFmf6n?%SHv> z39%#(rgN6UNNJ|PDD9~JJcIxF)ksH3ATg!AV}WdWv-bckqkC|s8{nL=-wX9?1;S&! zCCp7E$_GJl&%!UFq=9y2LgDYponlvHjH390RCKWqT;qiVW<=nmF&&lv8WHB7{Cx}l za|C+tBxQfmGFTacngFxZv;3X4?~y`3|62ACLvcCfWY6Ho&k z{r>tsZnox4(A$0YG&{;dB|*hn4n^OH-0ALO=e*YF`(!n3N*1YJ@2h9oiJJ#rYE$YS zkh5q&WtA@S@Sn5^$|zE@#I%K7B6SU_WIockByg2^;=6rEhWYq)+wtuCn)A;l`6j*l zY3n`{@dIV+@5VZdyI%h=XxiL3@%;Z<`|hYFzinIW8Veu+Q7Hl{29#oE?e@!|;dTw4-`gX3Cq034+>3wtOq7hm!Mot-iZ1N!~0?6=csowF3U zU@weM+zk~wHH@jhLn3UzZ#;L9410VSzJ=p8YIFkH=JjJ(Av)Iq_t6oOpH(x0(Dir1 zeTj0m4EagMC!QXKmxdoP@7B25gGs?~+&u{25~@bz;Ksq~H zD-6O@iauoDI1bGX^KD$gQ&yd7I%H(`so^eB?v-x4D8KI_C7f1E=;baOt$?(74s5G1 z?Ho}uVlu`04=oUYhrSWkf0^Y<9&^FVA* zSrV_Zt{M%SveyaMmQyX(Lnzfb)_5mqW#@jHPm{hweAKD($9*3Busf%!E$u^2EaO$W zgtbzp=tMts+H3ISXa4o%xdRe_qm!hplgmQU;*AexF{tUu{F*`4Z5Qp3KD)Ri z^pF3934}@L#TL95)8Y+sfb54k4b6K%_KR)x!bfROzgWCiLa)n-Q5Wg-rf-_JVW9hz z98%+olu4^1hC@5fgsZ4Qi1BFKi>r2?+J@gPAk$jP`l)Ey6X|LeBfds++4)z%^WR(A zAFTIX3pe69qklfR-LQEUhU6-zHt$!~9haucO(&GBopCi*gE+5>DMg$0U7dDUU}pP4 zkJuXD*(n>8_6r&MRKg;eN@#sRSx%N@whv6C-Ky!0uISRhtY&V( zNKm01*MiU+4wGRV94B;(F)!oYYcI5}1z6!L2~sCA~8w?v&t%yX4n8OjU4V*=)N9PGZTJS`$U`M!OavBIyvKPf_l+$bmw3<&dw-*u zHJv#_cu^mE+*Q1g0eH@!M=M&{b4h(@uqT%`|E#p!$W3l1NFjeR2``Guz<7wHXzs%E z;YFj2Z#m)Snhp_lpdm#=_?=$wjAUq>Pkpi#eT;VOttW=&ii_eYHcTeeUcZck3{%TJ z7E}<1KoLV3PthAb!Kcw8CsEBu)x3=4^r-6Dj*|F|V_WeXIhsZ9_rR7zhH^F)5Qet!w4c^0nJ2Vu(he6>`f9xbxBI%n83uC7{_#Ca!{ zD@{d;|H5^8c9#dPz7P)78!`gPkRc4md)*9-ANA(IbIlK$!=)-EhZa;`C#|n(8)CDe zDqaP^*%LNU$XfgW6Uw|8`VwucLMymh!-PtXLYI?6#`Wy5xXXo0Rx232G3f3I?dkNj z&`u!gV9jH;x&s!6_}s#YC2O?9zB8dK5cT9K+J(4F@LW@mis-7st5$`dz z-a2heC}T?!rgmg6BexDvZ|W(Pt_wttn`uTwKOcWM+((`G$xVgjZ);F&-F_vv(^YuJ z%Xyr!VkO)FoM$=MuhhfiHI0ryJzDiG$v%?*3#_^FL@IP-*wc>_v?JI02u)UXZTb+B zf}jvk%lIx+`q3HHcywf zt|vF8H#rZyP;OPpT8U~VhQr-RHO{*Um(npPO%zUh&W_VFr2LW(U;R6yj~EXp+JbT4 zo!y?=gHIiWd-Tr=Fq48x`=xg*CB>;uXBLv42_L24RXq8Ht{iZ}Wli?FN-ysR-=t~C zhqRl@gsl2?WzossAEeg$Ha;&lv}nZXB_Mp9QBG-Bd|!OIl!9x1 zj8z|@n>G3%iufm>xn?c3FUz-jqc^;6jne+@5nJlf)A?g$m4wWJA?SJHR8~6^3Tt~> z^kN0WZ>VUiZ)WH~sxkXgn4EZ7P1+udGxj3-nG#6S=JvQ+CbVz9rk%GtTC_+RHL#qs zJg?sw(M6y%`Ad39jd+?{LOdCZZB@LJ+I_*MJ3qcjHOE3`myu<2s?y8bk79rc=Y38G zn@(ayn#sUTKjupSpB)&5W&{1UD<9U_mFRal%}+ap6~>;m66oB>2=tSAV1pcYx#3&z ziJzCC!WxmdxqWk0xCm$5HfI~HBBm5?kIgIayy_76mdA2_&JgoU5Z7OK@zGDwPaJ(% z$A&eILi<{E@G3V5y~g5r(T|g21qR;$(fOhU+)+%&QQe1Mks|y1K96(Vy9|z+2P3wA z#i!`=M2`1))X&Hw1~Bw3LRlor?tZ6J-wp2sPr3a%q z0yS(+iRc&!o`l-l#nvlwA1zVlptpDkfvZ z1JVr>a31e=As!R5#Rt=%GwtLs6c$O!pby6so&)A84&QQRH~T^6opAS+$7a2X&R!xK zy+!veJaAf$&s0O8ZfDetjM*ZJFfY|jh|W0{87s#G!|7n^jM9gR$~uO{{I zsAQK@Z3lZI+1N>{rX%7vcCtNru*7=G!mD}3+xJU8vRHopy~i~GjP|~jTaK3)Lr;Ia zR+XSU;gF26sEK#NHxwpzz^W2M#@o4*FeX7>&t-Ji(UTZ(0BSVlYda96=!|KDH)x{}3_LPg?CT$PnRfuO^8GHCynG*W#YkzNN(iPvA|W8#PgE*vJM? zD@jKb!$o_uyzX?rGJK%25Kylu2hu@jgvp>CTRJ~r^*AjkEGpS zy6vmgQJ=d!!3ehw8gw)vj{zIvEIg^5S_c)?RhW0c8CFTRITvIMVN&H}A2{GfoJ++u zUU~VUgxz_*7oVcNzeTiu_O)tqZNwKNzH`QIiGDm4hI2HbazhZ zSSuNp4nTL??I@SBg`$udsyg{(AWAsr;rN%|pyl@cq}%(^vhcdh8H z?5r;0RJ=!t#ubSOK@2=f`11U}Eb`TKypRM)YxS({Wgq{Sj>2YS-&1kgadeSaUM}=+ zu*c{@#{KfLtat)5dBU_3Ufju`9glg;_5-C{m|11S_iZCBQPF^vE7!ERwRuA z4mGexbc&vJT?F$e&+|o0eMBN&<>)c2J!ICTWv5*{$q~M#IboG1*!uAXdJV1PIhHu! zglg3$X1a+we!!%@wN`mqHg@F${&|Z$f4XbbTu$-!H)W>`J0wy^7tXb!pJm!@ba?07 z)*frs>P#M`#kKaxL{gz+o7l!bL4{TiK^Zj%W3`tgRh#_E~X{k zn}w-G+%3WED$@mUNhwIBs|OSMS>^b$pCcr@z`O&fH|6+lrEjnPY&pl+iCx&|e7Mc? zxI97B{$ubgva!xob7%*EOk+^sn#p&GzdY>(*?u^=2OV~D&g3dlL23=hI0qYt+PQ%n z$)$)09(5p2<&v!6KFAR-GEt0Z4kIBpPo<$JC&3E=wI$7v(dV8^=%V{6<4 zAhO+PL}UjF)V_6-8^o(L5Zh&BEwxgb@rlRs+vkM#Ch5*PJ;SR^CZ#osMi>J40tb-D zGZ#E#x)Vf9>u}@B70%u9di~cJS4P1LvMMQGh1|uF1eFsEt|pHnJMk761;Cq?!MK2% zW02Y7EuLEd$bkpw-B@M{fA@gMW~=NDV3_JS;O1tLC7j{Io-gCWiQXo~SqtQsmSO4H zIi05V00}*w4*+rRHO4`N9pA3?!b*NJ!`?haoE#J1AuD%A2qH=X5Vcm1yT$V5=%CPO zJdJT(BJZ-@LlSL_3hg+_QY&YZuR$({XJBul8pxJ?pQP z;vK!B>v}zasX__VJ!8OUtXCiwK(?K=Rrnx7q2@~xRyTZfR#$VssQeF@P!~Sdp;e04&JsdzHyfo! zqc=DNgNVPWxavS@kNDS~;-YI=ZN-S62PdH4IDNF7 zx-|_Bkk`)~J-|z%E;J^D8tc_Iz`Drcin&0}IIgxOO>{5J;kE+rzn zp_zchnrgSh0yX=HxR4R(UBtg(r@MN?&bY4<@)krUx!jgSg}NQlbm~;F=u|eori_I% zf4qbHluy`3I0~mpa9cXCg<2&6Ru{541%(%o*K7cIMH@hC8_%RF@weMT>u!yGN7r;j6^qnlVT!9h&8a^!AH<6) zQ$3ll9B>qF`P)#*wA)Q5sL)dkyRH%~VpPLs-xqS(7$~Vat}u~bd)T+6Zw)}fyYJ?k zVGkK{3PT`mvZEP*AbqBBMIoYfhuA`j=e3^RaLKLmYL|bw>!1EO`D_+>b0>Smi&8PQ z2a7OK{cW!?8Gr-ok}ZqCt1u_xxuKwlLuXTW_jPBZu$oG-yvkbO$qlaU!&8Kx z3CiYT2VZ@$(b;@aavrIZ2^d4KPy7!SkXQF0P!8QQzv>oyOXh_n z0%WFNEji!qxQBf#`RcSyBkwbn>0p;@y|=PIUOk&9F8{FuTeojoC(C5iM4K3j383@V z4~ke>Wjp(4)0kZaNO5UI5}f24mh~gf+B)-PW84XgRc?ESZr=jsRk(&kkDp?%a8G~m zaUAEiqYUMlzLEnN+d@ccU&#_IsN+2Ht)sQI;7 zf8k(yXUy9pL$~vJa1IuXg&yZT(VaQvy9PeYS!fX-Z&@EAC*qXXMQk24SPdINrq_m1 z6{j~xOO#AgZI_y#yby@`!jYg$%E4D~r>O*8k@mZpfI+Fw!d{I*PwI|;8GDjpQh9dq zMF~UKAj{&F*fm986)*l+Z4u7wG57S0tpzjEgAVCNDVWVG*;}w@^7CK&me|d_Z}&=U zL?;wgw|zG4C^V<7;8lVHE0@4_f^$k3S>|4CBF@M1`k9BXo|y}Z?ZvC~^qMxC4=PSO z-f1KaV^XdAgp7CjHtu^)Qc4Q2nmdmD<~w^nnLn;o>|XXkpIR<6ex-?0HJa9~J!vGG zp3ECy=^2V}(kKFD-R(>8f2;K%3G-H58gDR7Zq+(+9v&ecaBsqEfNKm(N5RIYO{EvI}}538TPZ22Mjf^{ey! zDDS!U1m6~RO`fWh|GXRf$U`o+1(um6lU-lLxnxPxPU31yT(!p^_t`}42>ik`ds0j5 zO<*!9k&_kDQB>$q8DD}PJUaCBR;tM~ zw-zXZ=(#k(aKhJGEpUJm`kJ{SQ=Rt4{Ggy^f7SfaCgPQyQG+Uj5`cb_NFX6dywO6d zbx^m9Bq7g~?vr?x2M4lzOPE|A#SN`N7h36LKl%fj9B#ZF?$c#~1j~@9cUJT(Nn=Jo zYrpD1$Y6N?EX-nrtDL(~cLGgDT!mCOw25CgXJO?;=NymwI~Sje+@)q%Obe{VX-^{N(+&1iWw;VG`;;sVh`wNryNU@Uku*~G~NvYFauqxhYcmn#P@jc>|x34h(uAV5|QYdt|1;)Jg0E=5Wd0{hn z8Af^*Ci%((%8zF=snZ2kJTu9h@GUnt{EbDg&Z5cKvlAsD`VKg&Sy-7nGQ1NeHSSO) z#24`#fl>(7f1r{KDfBS!a1_n~&@>KN{U8tH-8Nz!DiPBI6Gh~2dDibXj8UukGMpnJ z|8kTHjZOmu9@lP_VHO&7dJV`8D)hP^JN0k_ZnN3G1D&uyY=0%cHHoQI2S|^ILohtW zyT>+nfeGy`m9nqye?yJZe;$Zmq5*aY91&_yU@%CnY^|AzUj`HlAo7wvCZ=|?5|&N5)g0G)c&rKc0+VkG z@BOL!UU|#SZT~hF-_YF3;0-N0)8FPbML^%ZH4oEOSVC)#aHSICS@Z^c;*5yX;ug4k z&EQDIeix)b?w2|!$h`Oq%MOK%y5#nFo_6Pa#dwmT9Hi3S{xVknC}uNWMQ*3(g2p&_ zfehxPWXXwb1zEMZ$8YGHn=tmbAbbE{AJ>tfQOcYazB~z?o<;J-a}zvPlhTJhEgE~Y zCzD`JqWb2y9an2I_>U3xeG@o3q>DhUmV~@8qV^3938#9VE?r@S(7kVof6l7q`Bm8-@dhEIhx z>?slV##SEXEOV%u!wn8&Od3&gZCqg$clnrYa&D-}f;qFou6a*UpakiH2gsIimq79c2=Rh*( zkyKB-iQF;^E8=A5a1G6ftU$l|^TK=2x+TVtE!)ak)j#>$KJqvn2S1M96)dJ|k*(~5VA`6!7Pt#}%GSE7=<1P~K zb`*tJZ5rfr#)0>L0f+eJ?>y=cIwJ#PbHGWli+U&QCA5zpEG3u?2h_FPg?A_hvZ6D&rcMii%c4aT7L z#B;f9{++U0u%Mv8z*Uy1p1=QHF2-c#Dxu$^k%jV0v@^G{y;|T&!qX*i2$-?v*F(-Y z`)ysnEE1Ug)hlan{ClSA6Y5>p7;6=KYC2?Xt&_^up1L(*D?RL-zIYJU9OYbY{<@im ziQ6SSvnw8I(~sfwrGt6`AMIzB8et)Q`iG~4$6ack0=bZ;i7G#3dPe*57qsCR)UwKw zAC8%LR}d=eHBvS#(NjFBRc_m)iSlSy9$A~^92Ofx@{t&ua^H}r2Tcch1FFRD#d&^E@O`u;;IOo40Vz1(U~8N93+!arqM7m4 zY?KguJOz|KQkMbAo!VnK`-~!HTQobdZBW+G>*}bWqXF+e_?DLcm`y8ZT#G%YV%joR z{~gAnaZB%>JEW%X4Dk~AwU*kgWa&WKM%U@e#o!W9jR3(rqN)prckS=KvET<>v2vKa z)8Mxso-Z}PhB}ia(_T_u-ZUk>U?RnrkJ-}8y|ZF!I3)TV)ot9EJY{GsklE#GsJ2-)TGZv+tDQ<}#O)9HX)R_K zQQDd9?H)Klt1XQ^sEYu@)KjM$gqD?Ym+ye#&cC1P)f-fDfF!e1nm@MoAsJ%=d5RLm zQyiBDzN1B)Q~aDDvOyI_^n^M*Ocw-2IbtXRvk3U1Mras%+NWF@Wnl?Xt;DOCys@lA ziatf1g8Lvorryz3gOdaoi096*&1U_nfwxO_JVj7>`2GDV07`k^9fiL(fLdDjI3RoO zJkuk4qd$88qWGdS-?(fF7JbSl|^i&MG-k@3G2) zI1LK{mn=}fumeRZOG)O>tg}gZ<%fD)NL>(TkB4XQqKpzwnkszDUiSP?Ki^|wV)C|x zADi?u@M9{*rR|7ga>{^G1MNEupJ+!fmJbxSsqdC?pUbM;ebkL}DA4n?qeEyHSu)4W z`bz_LXn03c<M+griq#Wk*&{s!@+ZpY;E5yTG6qe&s{o`i-`&!Pj7tp zR*oR$x##-4t9{zH!Swo&w{Y>yPQ8LhK!`MMC79b|P&AqJ#pL7YY+HK6)k}Ed(FNio zdlY=j3-FK}4v{R1w%c?g$M*m<_j(lBh68M{V|08FDAFjC5=|^lUcHc+kc44P^|?r} z2&so0Am&I?F&VYreW!jtPfj+5x(TVGnmgjoXoi6j2gmELVBQ?K;HY_!4}Vnpn2R~Q zAfAGG4GK3L9Ni%0eEp2Q%GM*r>*DoqvlbDXqvUV^-sABe7Uj|mE8+q!@$n=mwltqV zPJ=FO5J%j0Bp%zP*fAo3H@j2bZ(Vny8Fo|f^NVVTO4aFFOyxPM2D$M4pk_9c3{ zt|@;ML;1*D4KGqAllq>=@8OWVVnZxg$VJxF#l2x0{TL9wfNO#w+ULtainx=eNN&i0 ziwA*y+|TI1n>i)6?XYN!#Zz?WM7q~2`oSeydpkev6xB6p-;XQ?B~>aE=u<3f(IaRb zq3!{N;@Mg4=Y(5R$x=`ZC!#UMMAi>#GgyKREUO#@Rbz><(nnOi4`>~J2=*S4ra9PX zNGH{gGA(egFZ->&w@z&iG8;1hWBK97ceL$Uv6zY{FXFUy4s;xH_r^iR=TxnZl9mK} zG$ylq7x5MD)ae&7S|YRF?&Cr0Rg@W46$MH9o(ZZTtT1D7wIMmG^8~Vz8nG3Ddbh;N zQ%_LqpoS#z{cu5oc0vxSmwd642?ee-1Zk{u3U)_`+jL;@3^(jz(|Ym6Colu7=!_%m z={oWQrsg1Hr$CiKN z+&_k#VFX91Cm={bMDaN>q>c3U`%6d?1_TBi<&l^PsCG>uD>F+bp|N(epNm2y%{qNz zbjg6|_V$kf;t*nOV=^rX21>RFBl@&$rnYuk=&i(ZuFMq$c`f3n11!F&`MMcilv1-|~Zxy~c7ph^bjfU;ugNX5pyw zb3Suu+Y8EiSR&Wgb9;e=VjfL)Pwgr}1JTT352Zr0Q*czTJ@1E8sAP=CS0>cxK3J0+ zMLTDKy@dkq3Pk5*C)^WLVmzIkh~~aQ%sroeSA_+EI@$K?e03gdB_X}}@dvQxx!UG` zT?AOOosh^suw$wDxql&`-+>qjcmi2QShfm^mLBquD26V)6sXwQb6(yc=QKs zD=*FfFQ%MIV_StkUeu|lrhE417?PHBk+?YNlc7-9-|%u4`A`6AzeinK`V@ikx|cYsIf28G1H`ywS4plY9EtN-*;WAgS)ZCyICKpf&zgglek zR57+795`m*e{G~FEczWq!P9N!bo*kO|Jq_v6O3`_T1d*n6jcoYDr4kBOMP zQcTqX5HSUG914FE3vA>sm(~pH?14?b6;oDWa~spA zCs>2V&%SxKyZj5I|MN{&n5L?%uNg3y+txu2J3l_>%=Ya)A$Sv$-Pav(j_V7C{o%jm zJ-?mt|I^vo$To2&3&T@c6>PzEJj1SX{NG0g3ZuP_)Y^<98f{|_AuC*<2N+XzB>mym zNvv`9wSS(FgX>r9#^bDf>dxyLq;_v_)N zA{6>RI#hEhWeP+Z_?I69tS()=NTI9w+mi$T+$_hT(8ZKTw(T^Y9K&6v8N<1$d4RJH zXMr8|sGK{*ynOyYop=mON5P&Xj*Zzi5K%aPp@{B@7S}8;X}?k~BbES-J%SwDtIA+i z6>5Tbl_bn-|3BA!|J&6xtNj@r;23_74(sAi^l6~pqH^=hUk5GEA}fe3u;#;m4$}0% zY|l>)-4^^K8X)AmNB>+o*#i^msdBR7S%*kV%x3(?%j+Z0I`{vVp}tgVTr53Ckufgb zbdCs^#`U?oWTxr%AA`y9c#j70u@Cz>A{RsT{&O%n96)X7_mfvWPyUa=Ne2-q&-o`{O2#k1~hoa^tC z<@_E^j@Omsf4+7^_VDgMqsj4J=${je5fpb_EuIA|I0k!wc^UXqt*;X z{Ko67rTM;s+QgJJyf0;=*}0JQg{QGUr}=k!>y?wo{pCeF2c#Y@)Kb8o4aaN$FSIc52@ znpO=!tEN#Se3b+(y>8I#*0ZAHRCb zD_Uh9Lx(Prr%3IWe0@n{Sfl__dVW4^-+^=|TtMahPL0QGYnEKcu>j6A2OWskwzX{^ z-#seUE&9Ft&KEAuZCP5U_n5j7uMl2>N)`*AWt?M!+V9xyZM|Rf>B{OH@4zt^F1~tl zw^~Nkr%X_i>+>nftVsG?s0ERQ-a0eoH?RdwzmI$ccoBIkYb@^33vc1WX4+HArz1VS z*B+`v_mwtdmGB!Muw+R_>$J~tpxu7>{TDKZS@YS!Uji?hGn(`qg!pDyvpO*6$GlW% z8b0xCQJt-T^Bj&FmO0=?GR55{>cUa3*10as_Mh~J*oR%rB zCDaG7@YZb;44*+eEJcV<7~oG6I;aoozgvmwk;HH*v$?7V-(=fQxW|@WMPgMgT_v#7B|yO4p}q`9(RLeAr* zuQ7VnZUaiRF*(^>)3fH(KL$ZhRSbc&Gk;3SAuG!wn16(=jA&S8m!h3;Z94!Lb$#q(w>9E z;58;M1Jf1T!-E%{Ccacj0BjrYQ8OS@Uxt&K?~jAxCP%Z=JfJ0leqYbZ0b)62aSGwn zsqrm?H}SkjpW*YjXNEDydtrJ}p$|k?n}IL{WVK-Wc0WBFRa5cq|gTi_@wVuAbz z<0iML8H7)nCFWs|@=J%?cokD(4*Yc7f{h3Fq<%uD+O*%8o-v(UkyeRqCF7`2;Z#c& z&Bg(|=i`Ro_t1hMz3WZy;ITD(?n8#@eNDYD+~Dkhl=0tc`{4`2i`ZPQ1`3ul_huAY z22@!XfWtUV<`z@>Cd;R>rcnZr64^ZP0ViIx+ulv{xhVkuBNxioYs>@YbDbM77>re8{}ptV_c+zO6}Eq#rtgn zhum+@U2eh#fRHZo`zgUVk^oe_E6keP1r{Fs`+l0is|qnwL(iAltLpB`#_Lj2m!zK0 zoHGt&P2YQ#c>1P~&Jadsoh9Yy^aYRnSn2nSvUpsUS3}+*Mj@xP4LrJ;Uwv6KXW;+u z12n-i2IVY^zW!O?WrmRXfEd-&pFCE_I|4OQ{?Ajf4j*U5oIhjvcp;65SzWBz`Ct;- zx3VyjQOn~FtmBj0zYqE21%F4J_G}HakGM8Df@L-#u}bt`u^q}cn7(yuQ_kh9+H3Uo zUdF)k+N%2)90k^_=XdAi#NP1Urg{Ghd>siww6(73wgKPZ5{B)f9O9dBea$2BAutZx z*yGUZgvuA@|Z$t$g47ZIf9-l|H57aGL4pXKG&n{P9LJpFwjFK$Dzad zh(;jO>p0p-YtAPH1@W{Q_P}N~p`E@|gCyQA=Npjm&E3H2%7W?NkfEK8wjB#!b6lZk zl`az2zFFq>gE3>2*$w$B$I&0II!+FpS{pSrYJ*Lh=-(1Gd`YV#C7m=DI1xxc9O*~Z zyQKyZ13DC7v@CPEuSiG?1N{wD^sPqXb~s657}Moav9c=X1X*&n)klB=1r_?qEwX4* zj0*icKi|5hI89p%^2AfVeu;{M%Pz#z<1=hRuvf@SA`xtuVZf zP5SV2k_IE!0n*OGH-8z!1V)><*f+bg+=aR(K~S{5MU;8vRYDv#IKFz-5j2jdt_9K0 zETx|)Z0WH6awiTn1Hrd|H3=p>p<@i`6|tlGIwR!APnerLf6|9dZ{R;bUr+spp8hwF z&MvD|yHxFW(b=U%bUL7oG~#>q{cB;*RN44T<(v4<2?dbMpC=ZG#{Y0n9S<@ksd5gh z%P&b^aKc5BsP}!p<6P_h;dz?zM);eAkstjAdIB-BuKi8g+LQWhdX4X}zcOQOt$&Dy?!I<*cIjYv zkMG)Ixkkxw9=#;wi&4Qr9~a{V1nT`{KeJwJrgET&vvK7yD_P`_1d8EWnd}qg%Ye{z z!1dP3*oqcTCOKFq^^eyd97C#+sh)`f6VThT;(*OiSI~>-GdC;?Mkf$;K-ss4d(*ei zhLNBX2H_K>uJZx2X#Bzd5?V$GZok&pc2a9x(t8X!&;{%qzmd8b^aqfP%i~r#vCiYY z%(wp7HJg-$)wY&2Rk5{YQ#X3**k}3NZ!2rPK8A$V)5^=`%k!WF0!F@dF9pywr1Sx71v zD9{Tjs#(k_-*mH!KJ`4HhlZ8_B=I^zKaZEk00F@SnmcYXtP{4tI|*2s6+p5hNZTkv z>-P=n+y_cKyI_+Zyl9JJ9w*ky_QcNHU$~tN@+E7w2TO1w`i;*wuLZ;at)Le71oTbV z?)#ud=g7!@ujc)^qCL*+mk;0>L=hPNA0IJ(Z(Z6KWAxt}ITE?d%@o~5L8ZK&$*L}3 z9Ig>HyJwA@A*FoMx3M^zy*9ZSE05Qsd){3nDZl1a8eZk_4srXk_D96+z6nj1t9l}l zHph!ul?*`j5a`({cu|3o_%EY+CPOof}@rux7fyM3_b0-f{9}QB6wdeYz)b!fvT_Q_lCE?&|jLG z=g`wcQ0f+l5C;l0uw^OGyUFBYx|Ww8fQ>y&X>M&3%BJ&K^wlxOPpnScHs*W+vY`m* zs*F0q@JtB>(HQiTJuG3jQ9|1A3-woCwOhfJT-Q#A_TM6ghO_FMv7};o?b;ptB1gMH zUyAJ7@s^the2V&%G@K!xPHCgioT~*%kr>dRW819H=}#WLG-FMU{QgUyaJbVOEkY-c zBTS|>itJ2^iHFpS%+hiZPLAueK0}1%hmAnN*55{+axh5oa#Q(0;8|NnV>w@EE9`p_ z=h||o$=Ki|z`-)Dp&n2%aFNh=dnK&JuPWq@5&C z1ReSC+ISs_t;Nh<(!`030*v1!;4vH$xCr5FTi?LCRd@D17(F0PNt+8q3tVZ`*cv&+ zgvy7TH&neog`S>Zyb(-}JBzZ(ThPlmf^jc>{b*^U}FJ9t+>Ylt3Qc zBL!MOoLP(-e&c)LKPLy;vu9}Tp9Gc6fXTWOtI@2Bk86PZJ>i1$T#gcm&jS|3SkQVP9+%bv z7-rizAUQ{6q(nL;8gJH@y6D{s zXNStixBpzVqKH*vsIhe#G6!UFdT6c$>u(IY2~d+R^cArDS>N&C^9#^6 z_UK$RP5#HVIpj46f|QZE>+_|?74wGKpMsX4Ay9@|a@f4;$qOOR_}a}``(2KA!fu3k zRP1Danyco?(I|;-Cs6FXM(vgWJ1jLE7->mdMazEpX$uNl&qT&~r}KJLZ`&L~%)jqH z8+Y($hUv+7)gQ7f8U~L%%Szwy@aowI+GQ^7yM+$Gk5m_bbFUPq3#L`olo3gm2jSP> zu@WQGx3s&Yg91(CAzfm~F2cdy#PZtc+M*C#!CIKgNXOLMFL7req>d@V5&O(vj34wM zJrFEng8m@F(@7YYkAtm;X1YFtVt{5}cUJYwEoAQHkguAyCIee_ga?jc@_>)>Dr7;W zRRyI-DnaK5kNdyIoF$O+2eoiJ%_M;(>dp>{T`8hk01Csdj{d-(HQK}SrpQe9b|UfH+xddXbjYGs5C7Q z^w>4%%o6aSGPTsh8AQiEAR~*6KYc4>g^NI>J-X_Q12IOX#nbSP59TcuN~>#n`u7rEAmV*5);P@cb)N!yMf z#jj2r1wCz`5q4%DwT}0`GZ2aR9Kch;DnjbewkNjpF*V)LU84kctrUR~wDEStsjmmzAKVzu{|E^(h{9s8%{_%LlpoMc#$W9w#yJlUW z!+H(NohD)doe|IhUMHm-c3-v1F62%FG4w6UDr3b6IIwuS?a{ZoBoz$Hm^t$H{B^Ee z25j%}i_sHutxV|8S#@GF9W>VRFoR>iPHKY+j@uU|^h47T$E`PJ=wQr>b()w^@xkEO zG*F&i3SaHBQ^(1Ry8kfp1v>DIuE+Sx>l{<7SZ`S3O~IS_zFSp(}Ss zb2WzS+y%(S6sm4iX*#iDLUFy$7lL?KGq{o~K(yLM~@6Zr_?U>syg! zIfqN-Y-Kk=D!GnN{E7;R!Bcid^PhF!Ih~!Q$v<-?U$6De`9Acj;&z$@H#_m z@w@YX*2eLqf%(0;o8{zx=UXX&XqI~&7D>&SC$)`!05GY({`v3;yE>ShoZ^UouhqBIfo{RINZEVTe_A{vEB} zjzd3#DuXGjU$OsZRcH(-T`T@ElRq@UgzDdM^S{f?|1}JtqEz9naDYPAP5NgG1foXV zk{7^wWoTQ5t>NTcRN<9kOi474Y5Qk82HwmnzaNMTq}yOA!cK7wg_M&le#(Mq*aCy7 z_U!!m12%9$xbJApWuT|E@%|=%73{;%{O5+Bp1@bcU66JD+ z@*Gd;lB?;Elg&A=^g@xiH8Pj7qpW_Zs)*CJvd#UqgS|*Ejh}wj;3R_NgJW%RV+`Cj~ zH}xbTX6`|Ktd}WFPkAt zX0x)<_!6PcvJ+k@LLO&8OVaHC;C1_448fibDM z6*cJ@APE&ah)0UKy~_w$Y}&~vk6 zrQwD8ckS`=U`BUkE17=4nCvCITT@#u;=C%_Wu7(mIW^uGG*vh9-2)iR0eI#4ms{&8`dCgW&5Kf(TUkmoo?Al&Up@@)=dNpUIZw^3SG*hpB6c17% zsXxK{eGxir-`I|2?7d(ylp6@bpt25H_mQhFot*vM_M9#!xdvCt+Ob_VBcTJ%{vF0-SMgXT%-Y zJ&`Iy{$Wt>t%%SqvHXoISDCs8t;e6BzZE&w_UDXQ8jQ#HLn za@K1>Y9~~f^m04l>c>6dTi$#9<(xb5qFpX3^^7&p4^oSVfv(7xK$eh@at)}Js*Whn zJ%}sFtbQ#nYHB>NqbGIFCy<8*1ql#P5SRLX0Xq}ielg`rZ~F!dY+y;xSnf53l?9h! z=7RKefs{R3w3Kz;(Ge(2k0`@dsi_TP4g)dTG$2i>Mt^w1&ok@|9rR*D(~osf(f~OGQ1g zpzT*ocaaXbg8fVTV_IQWjk-kSBcM2AYK(^Cd z_t$mPn~t0z&yCJ#p8elV6S_!?7hm3yZ64}YOGio8u=}km{=gMV}a|o0RRFeXv2FGhx?2L|A zRsrhhmLFJmW0V2{aw{Un<>NrL$ADgnP<;Xt)WuUo)D7&~7;o0AWHU zHAcswmL!@k@VAb_h10*9&Sfl4X|(p7v9vzLUH>lh*?6(MC})Jt{+;KZnj=Mv_54&X z%pY5Av|bb!M<1RKSpuZ@7}p=bcUPV07bF(G>B~~>uNJT;!X3MeXnu!k4Z@o$nbRkQ zc1zjY|?uLM@;nf1T9*BheOuX|DWmke?R~$ zb^To;_}??|f6U=eRd3pj!