New snapshot from Meeroh; eliminated the GSS Window class
authorTheodore Tso <tytso@mit.edu>
Wed, 11 Jun 1997 20:46:25 +0000 (20:46 +0000)
committerTheodore Tso <tytso@mit.edu>
Wed, 11 Jun 1997 20:46:25 +0000 (20:46 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10097 dc483132-0cff-0310-8789-dd5450dbe970

src/mac/gss/CGSSDocument.cp
src/mac/gss/CGSSDocument.h
src/mac/gss/CGSSWindow.cp [deleted file]
src/mac/gss/CGSSWindow.h [deleted file]
src/mac/gss/CW-Project.hqx
src/mac/gss/GSSSample.cp
src/mac/gss/GSSSample.h
src/mac/gss/GSSSample.rsrc.hqx
src/mac/gss/gss.h

index ea46cbc4d4cbffa85ca7d6cae9b078ff898948d3..db98f2f4449dc669d30f5220a31d63bed9e22c47 100644 (file)
@@ -1,3 +1,18 @@
+// ===========================================================================
+//     CGSSdocument.cp
+//     ©1997 Massachusetts Institute of Technology, All Rights Reserved
+//     By meeroh@mit.edu
+//     Started 2/28/97
+// ===========================================================================
+// Implementation of CGSSDocument, a document class derived from LSingleDoc
+// CGSSDocument is the core of the GSS Sample app: it contains the interface 
+// to GSS (in member functions whose name starts with GSS). It also provides
+// AppleEvent handler  for query events and supports saving itself into a 
+// file.
+// CGSSDocument is also derived from LListener so it can easily respond to
+// Query button being clicked
+
+
 #include "CGSSDocument.h"
 
 #include <stdio.h>
@@ -6,11 +21,9 @@
 #include <ctype.h>
 
 extern "C" {
-#include <mit-sock.h>
+       #include <mit-sock.h>
 }
 
-#include "CGSSWindow.h"
-
 const  ResIDT          wind_GSS                        = 128;
 const  PaneIDT         pane_Status                     = 904;
 const  PaneIDT         pane_QueryArgument      = 900;
@@ -18,13 +31,16 @@ const       PaneIDT         pbut_Query                      = 901;
 const  PaneIDT         text_Output                     = 903;
 // Message the Query button broadcasts
 const  MessageT        msg_Query                       = 'GSSq';
-// AppleEvent reference number
-const  long            ae_Query                        = 4001;
+
+// ---------------------------------------------------------------------------
+//             \80 CGSSDocument
+// ---------------------------------------------------------------------------
+//     Constructor
 
 CGSSDocument::CGSSDocument ()
 {
        // Make us a window
-       mWindow = CGSSWindow::CreateGSSWindow (wind_GSS, this);
+       mWindow = LWindow::CreateWindow (wind_GSS, this);
 
        // A window, I said
        SignalIf_ (mWindow == nil);             
@@ -34,10 +50,20 @@ CGSSDocument::CGSSDocument ()
        ((LControl*) mWindow -> FindPaneByID (pbut_Query)) -> AddListener (this);
 }
 
+// ---------------------------------------------------------------------------
+//             \80 ~CGSSDocument
+// ---------------------------------------------------------------------------
+//     Destructor
+
 CGSSDocument::~CGSSDocument ()
 {
 }
 
+// ---------------------------------------------------------------------------
+//             \80 HandleAppleEvent
+// ---------------------------------------------------------------------------
+//     AppleEvent handler
+
 void
 CGSSDocument::HandleAppleEvent (
        const AppleEvent&       inAppleEvent,
@@ -49,8 +75,9 @@ CGSSDocument::HandleAppleEvent (
 
                case ae_Query:
                        // extract the query string from the appleevent
-                       AEDesc  queryData;
+                       AEDesc  queryData = {typeNull, nil};
                        OSErr err = ::AEGetParamDesc (&inAppleEvent, keyDirectObject, typeChar, &queryData);
+                       ThrowIfOSErr_ (err);
                        char queryString [255];
                        UInt8 dataSize;
                        {
@@ -67,12 +94,18 @@ CGSSDocument::HandleAppleEvent (
                        ::AEDisposeDesc (&queryData);
                        break;
 
+                       // Unhandled events passed up to LSingleDoc
                default:
                        LSingleDoc::HandleAppleEvent (inAppleEvent, outAEReply, outResult, inAENumber);
                        break;
        }
 }
 
+// ---------------------------------------------------------------------------
+//             \80 ObeyCommand
+// ---------------------------------------------------------------------------
+//     Handle our own commands
+
 Boolean
 CGSSDocument::ObeyCommand(
        CommandT        inCommand,
@@ -86,6 +119,9 @@ CGSSDocument::ObeyCommand(
                // Any that you don't handle will be passed to LApplication
                        
                case msg_Query:
+               // Handle query command by figuring out the query string and calling GSSQuery
+               // The reason why this is in ObeyCommand and not in ListenToMessage is to allow us
+               // to add a Query menu command easily
                        Str255 theArgument = "\0";              
                        (LEditField*) (mWindow -> FindPaneByID (pane_QueryArgument)) -> GetDescriptor (theArgument);
                        P2CStr (theArgument);
@@ -101,11 +137,17 @@ CGSSDocument::ObeyCommand(
 
 }
 
+// ---------------------------------------------------------------------------
+//             \80 DoAESave
+// ---------------------------------------------------------------------------
+//     Save self
+
 void
 CGSSDocument::DoAESave(
        FSSpec& inFileSpec,
        OSType  inFileType)
 {
+       // Get a handle to text
        TEHandle teHandle = ((LTextEdit*) (mWindow -> FindPaneByID (text_Output))) -> GetMacTEH ();
        Handle textHandle = (*teHandle) -> hText;
        UInt32 textSize = ::GetHandleSize (textHandle);
@@ -121,15 +163,22 @@ CGSSDocument::DoAESave(
                // If opening failed, try creating the file
                saveStream.CreateNewDataFile ('CWIE', 'TEXT', smSystemScript);
                saveStream.OpenDataFork (fsRdWrPerm);
+               // If creating andopening fails, OpenDataFork will throw
        }
        
        saveStream.SetLength (0); // Zap!
-       
+
+       // Write the data       
        StHandleLocker dataLock (textHandle);
        saveStream.WriteData (*textHandle, (*teHandle) -> teLength);
        SetModified (false);
 }
 
+// ---------------------------------------------------------------------------
+//             \80 ListenToMessage
+// ---------------------------------------------------------------------------
+//     Deal with broadcast messages
+
 void
 CGSSDocument::ListenToMessage (
        MessageT        inMessage,
@@ -172,9 +221,18 @@ CGSSDocument::AppendCString (
        AppendPString ((ConstStringPtr) inString);
 }
 
+// ---------------------------------------------------------------------------
+//             GSS Interface
+// ---------------------------------------------------------------------------
+
 #pragma mark -
 #pragma mark \80 GSS Functions \80
 
+// ---------------------------------------------------------------------------
+//             \80 GSSQuery
+// ---------------------------------------------------------------------------
+//     Do some basic parsing of the input string
+
 void
 CGSSDocument::GSSQuery (
        char*   inQueryString)
@@ -267,7 +325,7 @@ CGSSDocument::GSSQuery (
 }
 
 /*
- * Function: call_server
+ * Function: GSSCallServer
  *
  * Purpose: Call the "sign" service.
  *
@@ -289,8 +347,6 @@ CGSSDocument::GSSQuery (
  * verifies it with gss_verify.  -1 is returned if any step fails,
  * otherwise 0 is returned.
  */
- // meeroh: put this in CGSSDocument for easier access to Stderr
- // could have done in a different way; this simplifies the code
 int
 CGSSDocument::GSSCallServer (
        char *host,
@@ -569,53 +625,6 @@ CGSSDocument::GSSCallServer (
        return 0;
 }
 
-void
-CGSSDocument::GSSDisplayStatus (
-       char *m,
-       OM_uint32 maj_stat,
-       OM_uint32 min_stat)
-{
-    OM_uint32 my_maj_stat, my_min_stat;
-    gss_buffer_desc msg;
-    #ifdef GSSAPI_V2
-        OM_uint32 msg_ctx;
-    #else      /* GSSAPI_V2 */
-        int msg_ctx;
-    #endif     /* GSSAPI_V2 */
-
-       Str255 msgString;
-
-    msg_ctx = 0;
-    while (1) {
-        my_maj_stat = gss_display_status(
-               &my_min_stat, maj_stat, GSS_C_GSS_CODE, GSS_C_NULL_OID, &msg_ctx, &msg);
-
-        sprintf ((char*) msgString, "GSS-API error %s: %s\r", m, (char *)msg.value);
-               C2PStr ((char*) msgString);
-           AppendPString (msgString);
-
-        (void) gss_release_buffer(&min_stat, &msg);
-
-        if (!msg_ctx)
-            break;
-    }
-
-    msg_ctx = 0;
-    while (1) {
-        my_maj_stat = gss_display_status(
-               &my_min_stat, min_stat, GSS_C_MECH_CODE, GSS_C_NULL_OID, &msg_ctx, &msg);
-
-        sprintf ((char*) msgString, "GSS-API error %s: %s\r", m, (char *)msg.value);
-               C2PStr ((char*) msgString);
-           AppendPString (msgString);
-
-        (void) gss_release_buffer(&min_stat, &msg);
-
-        if (!msg_ctx)
-            break;
-    }
-}
-
 /*
  * Function: connect_to_server
  *
@@ -923,3 +932,51 @@ CGSSDocument::GSSReceiveToken (
 
        return 0;
 } /* recv_token */
+
+void
+CGSSDocument::GSSDisplayStatus (
+       char *m,
+       OM_uint32 maj_stat,
+       OM_uint32 min_stat)
+{
+    OM_uint32 my_maj_stat, my_min_stat;
+    gss_buffer_desc msg;
+    #ifdef GSSAPI_V2
+        OM_uint32 msg_ctx;
+    #else      /* GSSAPI_V2 */
+        int msg_ctx;
+    #endif     /* GSSAPI_V2 */
+
+       Str255 msgString;
+
+    msg_ctx = 0;
+    while (1) {
+        my_maj_stat = gss_display_status(
+               &my_min_stat, maj_stat, GSS_C_GSS_CODE, GSS_C_NULL_OID, &msg_ctx, &msg);
+
+        sprintf ((char*) msgString, "GSS-API error %s: %s\r", m, (char *)msg.value);
+               C2PStr ((char*) msgString);
+           AppendPString (msgString);
+
+        (void) gss_release_buffer(&min_stat, &msg);
+
+        if (!msg_ctx)
+            break;
+    }
+
+    msg_ctx = 0;
+    while (1) {
+        my_maj_stat = gss_display_status(
+               &my_min_stat, min_stat, GSS_C_MECH_CODE, GSS_C_NULL_OID, &msg_ctx, &msg);
+
+        sprintf ((char*) msgString, "GSS-API error %s: %s\r", m, (char *)msg.value);
+               C2PStr ((char*) msgString);
+           AppendPString (msgString);
+
+        (void) gss_release_buffer(&min_stat, &msg);
+
+        if (!msg_ctx)
+            break;
+    }
+}
+
index cc7afb93cd171af9db58c3a410d1ceee5a72d2ac..512582362e4c8b8467ee326432c04607bd6064df 100644 (file)
@@ -1,36 +1,58 @@
+// ===========================================================================
+//     CGSSdocument.h
+//     ©1997 Massachusetts Institute of Technology, All Rights Reserved
+//     By meeroh@mit.edu
+//     Started 2/28/97
+// ===========================================================================
+
+#pragma once
+
 #include <LSingleDoc.h>
 #include "gss.h"
 
+// AppleEvent reference number for the query event
+const  long            ae_Query                        = 4001;
+
 class CGSSDocument:
        public LSingleDoc,
        public LListener
 {
        public:
+               // Constructors / destuctors
                CGSSDocument ();
                ~CGSSDocument ();
-               void    ListenToMessage (
+               
+               // Overrides from LListener
+               
+               virtual void    ListenToMessage (
                                        MessageT        inMessage,
                                        void*           ioParam);
-               Boolean ObeyCommand (
+                                       
+               // Overrides from LSingleDoc
+               
+               virtual Boolean ObeyCommand (
                                        CommandT        inCommand,
                                        void            *ioParam);
-               void    GSSQuery (
-                                       char*                           inQueryString);
-               void    HandleAppleEvent (
+               virtual void    HandleAppleEvent (
                                        const AppleEvent&       inAppleEvent,
                                        AppleEvent&                     outAEReply,
                                        AEDesc&                         outResult,
                                        long                            inAENumber);
-               void    DoAESave(
+               virtual void    DoAESave(
                                        FSSpec& inFileSpec,
                                        OSType  inFileType);
-
+                                       
+               // Interface to GSS
+               // The query string has the format:
+               // [-port port] [-v2] host service msg
+               // e.g.,
+               // -port 13136 dcl.mit.edu sample@dcl.mit.edu hi
+               
+               void    GSSQuery (
+                                       char*                           inQueryString);
 
        private:
-               void    AppendPString (
-                                       ConstStringPtr          inString);
-               void    AppendCString (
-                                       char*                           inString);
+               // GSS calls
                int             GSSCallServer   (
                                        char *host,
                                        u_short port,
@@ -54,4 +76,10 @@ class CGSSDocument:
                int             GSSReceiveToken (
                                        SOCKET s,
                                        gss_buffer_t tok);
+                                       
+               // String display utilities
+               void    AppendPString (
+                                       ConstStringPtr          inString);
+               void    AppendCString (
+                                       char*                           inString);
 };
\ No newline at end of file
diff --git a/src/mac/gss/CGSSWindow.cp b/src/mac/gss/CGSSWindow.cp
deleted file mode 100644 (file)
index 49e7464..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "CGSSWindow.h"
-
-const  PaneIDT         text_Output                     = 903;
-
-CGSSWindow::CGSSWindow ():
-       LWindow ()
-{
-};
-
-CGSSWindow::CGSSWindow (
-       LStream*        inStream):
-       LWindow (inStream)
-{
-}
-
-CGSSWindow::~CGSSWindow ()
-{
-}
-
-CGSSWindow*
-CGSSWindow::CreateGSSWindow (
-       ResIDT          inWindowID,
-       LCommander*     inSuperCommander)
-{
-       return (CGSSWindow*) LWindow::CreateWindow (inWindowID, inSuperCommander);
-}
-
-CGSSWindow*
-CGSSWindow::CreateGSSWindowStream (
-       LStream*        inStream)
-{
-       return new CGSSWindow (inStream);
-}
-
-Boolean        
-CGSSWindow::ObeyCommand (
-       CommandT        inCommand,
-       void            *ioParam)
-{
-       switch (inCommand)
-       {
-               case cmd_Close:
-               // Quit when we close the window
-               // We shouldn't get this message because the close box is disabled
-                       GetSuperCommander () -> ObeyCommand (cmd_Quit);
-                       return true;
-                       break;
-                       
-               default:
-                       return LWindow::ObeyCommand (inCommand, ioParam);
-       }
-}              
diff --git a/src/mac/gss/CGSSWindow.h b/src/mac/gss/CGSSWindow.h
deleted file mode 100644 (file)
index 8f3b0cd..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <LWindow.h>
-
-#pragma once
-
-class CGSSWindow:
-       public LWindow {
-public:
-       enum { class_ID = 'GSSw' };
-       CGSSWindow ();
-       CGSSWindow (
-               LStream* inStream);
-       ~CGSSWindow ();
-       static  CGSSWindow*             CreateGSSWindow (
-                                               ResIDT          inWindowID,
-                                               LCommander*     inSuperCommander);
-       static  CGSSWindow*             CreateGSSWindowStream (
-                                               LStream*        inStream);
-       
-       virtual Boolean         ObeyCommand(
-                                                       CommandT        inCommand,
-                                                       void            *ioParam);
-/*                     Boolean         AttemptQuit (
-                                                       long    inSaveOption);*/
-       
-};
\ No newline at end of file
index 64e33c8be2e308cce90618137bd13fc51d8083f6..a436393b3db9072e83db979da5277ae1ebbde91e 100644 (file)
 (This file must be converted with BinHex 4.0)
-:#d&bBfKTGQ8ZFfPd!&0*9%46593K!*!%CeB!N!3aKe0*9#%!"!!!CeCb6'&e!J#
-3""C#4!d0&8G6N!0KEA"XC5if1'XZBfCY,R"bDJ#!!*!%""-qG+@3!!#3&"TF!*!
-%rj!%68e38N0A588"!+a9%Fq[Y-Z*!!![#`!!1AB!!![&!!!1%9Ide13!N!DYU!h
-!V5H6di&XC3lNP&011GdX2%[jdk,GbZcXmeC#bj9T9rjQ+lZ9h9UE(Z%TBCSRTqH
-a0Aq[AhNTfGTEZMdhLflc#%pbh+fEEEV*mDGeK2,,ccHbkH@QC%ZhlQ2A%jEEf*I
-A`)YYXYPRkIEF!m*@i+X'FATeEKe&-ip(q(QE(GQRK'fbM`cf56E$N`f`'R!kk3*
-J!*!!'`+i",pU6F20!arU1e8+"Z`fRb31dqG0aH[Yjqc,V9DVVGVRP[5M4Xr4fkq
-Ue[[m,K@S`'bfc$#94[j2+LCFBcGfGUHcFQE+1S!aF`''*Veh13lJpTXE(VhM#Qd
-l"m-Um[A$pF-V4RAfkJ0`kBU'YE0##@C,U@LYNYcZ8D-rLrf'kiHpLdX&N!$fVBB
-R0Rk[h`5RaqB@,C0-*3&p3,,Kh843-IP3Td33q2p)Ad3*f9`N(jj88'-M0@VURAj
-eH12MrPe(K5J5&3"34-jNBU526HqY#Al3a8KrK2#Im2qCV)iPU"Cdp0%KQPN`8YA
-!(J-Ye[X$C&f(rr-JMN%)I88qS9"8CIeM#VRV,S"a)IVa+m4-3TcCkl(C[9d-#T!
-!!iQX4E8`qRr2)65k+k&2XYPQRfB9b4UQ1$ec*2pl5-)G,"E6J3kCibf@+@FN9il
-Im6kI@aN!KpNmTE#RMhD+Xd+F91hcqS0%lEiHCXZ8#3S"1%T04FS![-k`cYJ2m"-
-F*F9P*@Tp4C@G,UMqF#qAq61r+F0[-TEmF0lQ(fN+E@kheqX4*dTZ(l9j-a6#qdE
-3cRp&@#`5$)j$THFS$Kf0Z93d$6APjKj5Kia$d0YcFa8"F+MepL1%R-4"Y#X$m1V
-V!R)#Kc6[##&r2E*HUcl9+aQ%M+1EMEk)`f,$M)TTmL#a-Umq@d!T!)HpLpNHALN
-J%Bii`['"%ah(SG+rPj-kMRU'G-h(HJdFmHNiT'&mS*Vl0'rc&jmZ-dhVc6(*e'4
-#Gj*aH1derl-JRMrm!AphD$L')e$PVZMTSl88(f89F34V&!*`F(hU85AriG9#@Zc
-*j!SJL4ZThGIM91)qK%-a)(&2+j`Xp[*"ml@MI#Kp*2H$V*j+lYdi6L6hAKc(NRX
-[VmH5H`m1jBAN[Tq2IbEh3m4qNYalF"a,l[YKR%lZh6L8!j+lJ!2dbUPV&`,lD5Y
-SCTGAKGif-UURYiQ3!,6Qkp$#XZ[QV@f%K#9)cZXmVq$p4Z00jBm`c58MU+lmNEJ
-2#[p8iMlXX)S"LE[8kFNI,XiE2HT!iNlm4f*#)%HFiAKLkXCa)ZRdmR%XkI6J11l
-Nqh'FG[*Z('TpYq[&)`i8IQmd2q-`-4aZCjIY[62C1+`d`Z'YF(AKQ&EKkX'4B$k
-icK%9KpNd84'!p)pQ$I()"PId84cS91kZc*P#10bf3%!dHDYp6[Hll%DF!48YAD8
-)`1XCCiKPmZjXIaa(M`2hk#cQR-%ZQ4dl550`@mb+QeRaV"'A[JadKkNh,3AY9fT
-Km`qTpKK6Ej5MKrEk+qAl'bQ3!$')AmdREpLM$V3h0SCV'hNrlCF`3Er-lm4-,p*
-r8l0-p@Sa'kd5qb9(qTmmL,pjFlLrKISMVYIqh[rm'lpTA2D'"G,bF,Z1H-'0+jC
-US$2(Ac&5c"mkE-c3-CFD'L'cqR&)c`HD$`KYGcG$TV80cV8X%Hkmm(%CblAVKEB
-94F)GeAPB63dM(#qd,GZ+rAC-"%%)VAq*0Y85m!kI#iE@hlS%#XEjTKIP&e'GqZ0
-p[U3@D[YYP#EXCi6+iUf3!,CU#k(PpFc5,%ME'FqUK)eB,qGeH8q0piH8A&46VVc
-peVE-"jQcm$[E*r1hE08pLl"AkR-&pb`5DPIA#EAY@,H3!!D5$)CUCh")`'ZIBi#
-il2K3bjF[#lAF9)[I&GK',EamB6,@XN)YApf0hqFjCbfL,Y6b('+*VX[*Q&Th03U
-Y[bi,YDcc#8[rf#`m[m*(Gl$A8SMlH4km''J@@Pr&1kmZKhj6jmPBAX$k0NZSKDV
-,03!VbRH64PApNl(2+kV+M!Y3[dJ9l89Hj"'@2XeRTZ51f(F$'2ZZ96pm`eXFrp+
-f(,S[h0U(Ba0Z(V#C&#Zd[PD'[Ci&b$"LM`cmL[M9i6H,0B&U)VT!UDHkUV*#,"J
-5Q1qa$lP-Y*UR@3`P9C,SNDi@cC0+a)SDTpXK"[f5C-#b!E0M6$K1MpeGij!!$%h
-h"B8P9D6&Q#mdI6Y,D+V2kr#&TRTMc"F@0%Gp!I[[mi@QqSA`K6923GVh&pm`QYI
-V),2bENMldlhS#dhBiKC)@I4X[4mSrJKiIhRSa`drLrT#8rd1X,fG$TRH(G`AQZU
-Mi*!!R``8PfUB39jcX0Ei++ND,0kV*Er&EI0Jb5*Dr**GMR!1('6E(*)r32P"a4`
-2j)&ZjL[iAFmRDSi("K&jS$Yl-0Cfi6FC8UmVJC6kjQ`N"ZXLX-'rLKUci`',A"m
-FC,PVPJIXILHFJqD)rIN1TZ0"$%()$qmIMreA2JZkM0MqC2CY$aY[Ii48`h-'pRX
-3G1H[C'0r8SHe$BL[M[Yr5RfYh"rjS2kk!C%45`B-i&Z`Qd'9H9J$Z@[U@F(m,G6
-3H01UhI59-6B'mC[$aMk'0p-f4$JYK(J0D!EUSMcTaT-6GBH8-$j`K(&3(6f2m,#
-akclF-(N0!V!,fYMBDq,*3j!!rmA%#IDAmjEQJX@3!(,R[D3$cXFhQ*&rScSJ$3c
-DSi')fQGkR(2a2ik2)cHi"JU+NTRph"(-RV'&&I4(KpAa55QcTbIr5`1'AmJTbal
-'3AA5!1*K"41MkD9A!`86Ph-0f-r"UBN1q8QApIkZ"KjRCr0[K`D'(0#!GAiJ+&@
-,aI1#IPXJUJ0@p*dkjYS4a'm1-lf&i6re+FkGDpZrID$`L9fmi!VMS$TT!2'`ST9
-hrdd$43mYiKT`E8FI5(d+qqrhJ5GC#[r'0-$c3)l&lh9*pU"S$GU#6Up(mXmIC0K
-l*kS5CBJm`-C1hkNNN!!(cYhM!cJ3p0[m6JNe6hNJV00S(P"@m)(La4NRID$m)ar
-i!4[0[adqd'q2"QMbB%3X@e&hfME888k-X+L19BLad`GFff)qi0Uf#lqG2Z$DeZN
-$b2%4(h"Ylr3"cNGl,KciZqXlI-#eAIB"VY(Y'a"IT`m3(rYm!-R8i%X259BR[5-
-K&NV5QHdKaBk$-aLfp`d-CCDMLlbk%AdK3Mk*r#N0r2)l@ML,*-2[b$GDd8GBhii
-h58k$(iG(hMGP#m[NfHURKr"%LqqrPi%iCIRMNEF[4q!%@DBp08DQcbpGjCbhGh!
-HCCqrAG*qE`1kDhYGlV9F)FCJrRYQc`i%EIkZKe)8%-j)5'JArmQMfG03"fU9E+'
-Xie8Df@MT"[e&@q@cBm82f6!GIlj(LHBm5F1,cYKNdMqkTmNlX5JF@A#`U3`3N!"
-kC0XHS0k26hSHFZM0UH1!"%@!"jL83BkXQ)iRVMUIra,'#0QI)B9RXIY"43%8XL$
-6pcPD-f0cV58c"Z,rkp@[ab!*MIc**rT#dAH"pUiZS&Tj&Y$iFM,9[PJ,p1J"Ac)
-CCi,Tq(FREliERih#)4b9F[5!$c@`+kM@CaQ1fB!YTCTd(q$L#Bi1LDF%Z"BJ[B#
-E3""`UhJ!MaG6I`pI`rR8)UTGG"[FJc8qdSer!A!X0r"qUKQYX!TVI1`hr"Ci'[F
-FH,r"$B#V!GRmAQ%*[)UeCkL@[a#f)TTkUK@R`*qapK,95SBcA+LjD"[9-XXBMJ`
-[jKQMD"A$FGc&D9`6H3a(l4G[SYU#)%1qFYkN@[U,$%IRJakLfZM2XjPBqbAA34Z
-0!#pj)bbTmdKr9&$[i2IiBNPIH4qde1Eh1$f9QXM3f1`-f2Y&LLM6!%k3!,9mj61
-k)*K%5lmQVd1kA2)NaKD!qE9`Cfd%J6b(MbYf1)0H[c$"k`R'PGMmP9*3-pjZPh$
-Vd'),9Z&phLD*hZm)!dZQ@T%cJ*Z*8R8&SNk-2Hl"qd53!-Sd4VJ*Pm1X"Z*-%mc
-BV&piUcl5*9+2Y%QLTlSL`+R@!6cfMYGC9-)PDpi[6)"'INi'LI4)EJeZZNG4rKm
-!N!-0`(LDecRYmr-bchS[VpFQ1FVVk18Jbr@i+kF[Qh31m06`c-1c@e2+m4QlY3M
-E%KVCC%XffH5f6cMCP'`*[qc*eRdQf462j+Im)Rc5+H'Gj$Gj(Z&ZBph#cdljB1'
-%[lr2*lFPYjp`FJbi%EYSDjpfpV@'hk`Mh%e'R0`qEb@862D4hm"N&AM&UV22CaK
-q!&$`Gb,!iR6mRBBj$riQiprHKA5B$8N`-D1`[Yk[qe4,0`)R-"6I'eF80*AHqKS
-2j0&)!Z3"6%m[-ZVUe%#eCJE[rTbA@UUT9XM8JR2Rh#hqfaf#Pq*4!eS`B1A0qib
-A"01c5R@rPMFYVm)b0EAZR,j-8QmYVf5(&V##Rp8[aD8(,9+2q9r8Ed4&U,lH-+f
-m"9r`dVb@lYFYA3Yq8HmdPejPUZER22)a(Eq)6XcplDr*G`aI"$$[kLL2!Z&jmP%
-5`SrGk"h$3#P!YdMDRqiUp"'(b2I94pADiImlUZbT,&PA56+3!%5THdHkh%DejLr
-@6FeR'@BRh'kGGS*6-32$'$@(89GAE82U'F&fklaR"(AH-j!!h+l9BaVeQQNeG'N
-0[j)Q+[4+'U5)ZRS$eBE@94T*IGN[U#rlB6M61XT,6B4jL,ZQNii+&dUY#f%%Sil
-aPS3Y8r9CTDC49eK5V!9pl@"N'C*U3#UPILI(GFUJZlXKI2K2JRVi6j!!aUKC,QR
-6dG,DqrlqBdl&$+46kXiFeh,68+YpDY#+FZh`Dq1%eYI'33DMCVU)4@U"@"FKkfP
-*I4Sb'6AEjG&-hDM'b[UlZAEc$dGb+QBJLe+hCEZ+98YPAKqPKSmd#De(QL#E8G0
-Gr84+E8KTj96-3!kP0UA5ZXDB50hPIj46-31jM*T,U5ZaJG4Zbd0Ui"j"$G`$)bP
-eEVTVHFLb"[beGGCM`[0Q23DM'$A$9D6@$pLb(Alc5G%0Eci*SbA9#&LQ%@dl3Re
-`lhT1a3aF`+KCVQ*Gp4Xebie`Mk1%hpSSY,ke%FB)DNQeETAUQVqkKrVcX-+TQ)'
-aM*VU)N2J31Fph(BVTf)'aM&U0RCjp8"TlAe0HF,cQ[,J3U&eMDlY(0$kL'm(Tf)
-'aSYqAD[Mi0$(Y9[R2L6kGHj$-)&3PBmbA5Y-BqF')eCE1rc1)G&$lab#LaJeeHA
-@!U'"#YfReR!UCQ!LSfC3kR)e0YVBpfej59#h[!3A-qTSEkRI`&%M8)2MbAE,U)r
-3lGDTpiZk6VdI*K%Uc-P"HdANCM,+"XrSE8jrJIXVbF"NU[AT,'qa9K@UU8&bVk1
-mpjcSK[HHJca'cI8@QqT1C&CBUR@QMq`I"FCc+QCJ5S6D@b)lI(5"d(Td!9c#U$R
-HNX!1h63#G6MS4HHKSqXNG4eF+ZTD%[CTrEjXlhj46$DBJFXB0GZl5Q[!A3B1$Yd
-Y4,3q,V8q$P1&9VG@CjJ0CiC34QdmY)T6-3264&dpf+qNbhZiG[MBad,VXBrKFP'
-KFNd0k(8pF`e5[E1r`DQBJHQL3Z9D$8j%Z,2SlI,MQiA@ijYKKY"Di6-e,H$"68T
-20a`A2S3CZ%*3+l@`9@QUZYAE3mIIPp6hi8T'cI!b,imLUHHPK)6RTB6J+M'r&PU
-@kUY9Ura40lHpqIH+EXLr&fDHT[BD#PESe3p%K9lp!2)TGG*SMbH2HQ@K(hFE`A`
-cD2VDrIA4PeBVHmSVbSY)"QBaVD0GG%&4V!IV9FYAfcQHf`mri4C6e"0ZQ%fTqh1
-pP5@NLf,l([Xfpj@FLKQB)r`9YbmUERV)L"Meef-(TD-FK,QXVQ1aVN`R@GqK(89
-+fhccRl%ED&da!r2BM%+RqGM33,6qE0K1TC&Ua3aF,DCH-TI(TPG5SIrhFLTQB,k
-JHR3I@9r'U,FPlHC8c-!#4XeaHIbU6bXcr$hl&e4iA'Sp$JXC0G0&AGN)pHiFl2$
-EB`6el6'`5&$4+3dr'N-[YA9*2UGL"KB,+ZPa-T[hDAe"DRd"PR"rpAL-UL+r'Ja
-U2IkkYkU58c%$e`LYTBB[&1aV2G`Af%,V@cBXTG4YZDibA&rjYGMQaJkhl4,8YPf
-`M(P$YUYFVGB0(,0$(D-VTlkl39$Ih3$ALVQm8UhUBe,U38Np#0HaZSkL1p%G@Uc
-rl1D'YCb+'5LJe+Bd9k&TUPhl58PpT1a*6X8-&$,U5%EY@b[CYmpTj&6-`(*'c5C
-E`(Ue"dRVH[J18GI$Gd!4@4T2h*1jST!$3Uh$"@G2N9V80jjP9*+"BNE02NR&rAI
-9'HV,j8SMXAH5JC*1DXG3`kK,$pr*UCL"8NE01%QYlHkK&[83peH5J49LkQfI86V
-*1*Qm$l`E-&2'ZK`llh5A4lLi@4XMU*KC5DK`rqM#%Sqa8c0a$JKB&5%G0aAYA$Y
-Vf$&1*CRV#e)!KNr+,#cK`h*$Y,$08aS2-#V0V1+EElC,jXYPl(5VSd+[r&*8#$-
-ZTM9jDhe2m`MU[JFAFbV*Z"NeSe`,'L(6KriIK8FUG)1BSULjNJNJ5X8TD*'S%'C
-@#qT+Ra'JQm!BGDbNMJ@2f1HKPmH-J9"hl5VM9*+j8H`Tb6c%Gl"Rd2EY5bCc+XQ
-8XleAG[[HU`[E[2(1E0i0*&2"h#ZV#1eVB(hBSVBp)0bVl3'Sj+jmLYTGfjDP4lr
-,UCJ",k111ZA+TVC9lfM!PQ8M$h!UCQ"0`6$XKK%M2Cl0G0p3TURNd+I6mrCqkjZ
-m'dKQ,G1D8K2XG3ATbQh5PGYJA8%D30V-9(3l-XchpHYeqrl#YC,-HNBGdE"$MED
-FS,EqF5@RNX`'['5"XQ!DEJ"ReUQq',GPbrSMM%Sc0c'Y`d1"cVijAD'@AiN+BHC
-QAU'JKB2S3)91eh8MTfle"5cr@@V,8e,V8l#*9bL)Zp#c&IT&frFiP@3fFkUPerA
-lC'H&Y["qa@l!dJldDhXhU,bZSEMB#,@+8G0#H(QPpR-M9"rAkV-DkMr9ZZp$@GF
-2SCTi`r86FY'pe(TpF`djC0'l,+*PmQpIjqk&'G!B0C94qm5fH2r`AHiS*,09HPk
-eAkrkTqI9&+5L+rmZ"kHKS)&1(V4#9EKrkC`fjRq8a5T%-P$,HdK3qh[S%dI4bAA
-JKF[6kh4VCY$`EHr&fRYq-S965@BElBEITlT9Af@4TlqZM3GQF#V*E'GDFiA@QD4
-[ZdcGcUlR8a60q-8P%$Rm1hX*e#Df,jL"1NC0TG5"@iV`NIf#HQ3r"1MFF%X@6P(
-Xl+jK`D*9h9hqR+)d"Q[p953$"TZLaN5QU+*5Gc[GIQ6V0QKdZi[+D+DHG(RbXjN
-V!lMNfBVV3e4mTN,0UhpDJ&V4!NJ'EQ(8A(BYafm2ZmM0`@8ijj%+N3bBK$VX"q-
-,EkKBQ6IpDRh@SZSCH8AjV%,j%Qqh[VK!DA4lA+8N!d&+[AbdHbd$PBI`KJ$G15,
-AEX8V-8l&+c',9ZM&m@l9UN853`[4RfJpJ*XH4Me`*m#N@PLYj1)I*p!E9KBdiqb
-RC"6aEareH38f8SG63+0HV%!ChGJSX)fkN3,EUEmSS&028f!0R@kaRfPr+V#*6Nm
-+h%aG@B'Yr(XGrpl-[lI3D85"QrLhbVqVq2F'1PdUX*l1TJU`L9f"YA3Z9U#D6KJ
-+P0,YP3*H1TZMAL$@Q0,4$miq38B&rqkSUp"r5ZH`Gr!lSY2Cm-NSjYqN2dMIBIf
-6llUVNIrV32*Gpca2qqkFcZK18%B*rpi%@m4INRIr4ZLFRGbdiA@DlpATA"r)Q-Z
-r5k&-k[cqhLf`jU6qXcUGk`dCqEdk0hATT$l!,RDP6ZG59!EkFG3(9Y#pjdNIB(f
-9h+(6Z5f9JI0R9'H(2Tb@f[Yrm%C'aXcrk)YGlXLi+U(2ZD+9J6IjAqPclRTNc%V
-SFqjjC@3-p9rmmPG'jRPpC"Gl5Tpc5bYMC%+IFh8VBp5J2Z(M%Ah1ABQ-krLhQ'2
-r9FG2li"PM%ldLA-a,11#)Ahaff)CBa,kR,XP'GF-q8Mm)Nf'H+rK5hh1&E@-X82
-eLpr'bCLId1GFdFPB-06ImAXl'3Z(p2h$`9RJQaaIkA2Zh@@-'kTIr%C3aZ)KIiT
-IhXZi-+(2ZG'A-Ikm2Vb!1Pfrq#jCKRL9jNYpcSCE"RRRjprkR!Y,'8Z(kKGrUd0
-'9N+ImkU(M1ccqSDIeZHmAL0$l-GLqJ*!b--lp$R[h-J3qj19p&C3JH[TEGfjHEq
-RRRd[j-J32[UP2ZG9("Q#kqa&)[UFph0NM1$IUqLpilNq%6bZdlR3P9&`[NmLqTa
-EAKQ&#Ah1eDq-j3PpcVXi-R)5qT`AG'53!1Z3!-reLAhhbERfdfY['GFQp$Nhk$+
-@RII"L$lRr3-CmrLhLel`R[2"6Tha0lp1dllU`rKV1$)Q*23jlqE)Z#LKchPK4`D
-q[jISmrMEC$,%A0bKcmhRa-%k1Qrqb,Jid5I1Lb)bf$YerITZJfrM[p2NABR`fm&
-A+@3XiGpLAhi$[6CAB$@p(eI!3br#&EL4hRMhqkASedJGR&H3!'4-kUec1Ed5lqU
-RL%lRh53CNmrhDd5Imm+5M,crkR-DC8T#Rr0UNia,%[UFpjeNA*V3jl`%*H1bSIV
-&hib5-IAmh0,Chr'hJ'6-kG8AZd2Vl22i+eBbb,ZRArGKr,dV'CF2p@(mC5`Cj!h
-2VqXAId0,aS`KII(AYQ4FNG$R[-XPimT"IAK25HmbaEfGQ(X(ljKP"2PhV`lR1Pa
-')+l$ZIb@)EUK9iGc#blMPVJ1jcTFKMQSBr$b@iCiYdE-&4%Gc[X(-QViGbfrpil
-j!M'GaFPKA1#AiT&*f&2UTjfHI1Q-Kh$Tp'YbJqja"8qpTT0%,TZ62"9DcBN6mNq
-ih8QD6[j$&2d2$3d44e13!f&YF'aP,MBiDbj`FQS'1J#3!i!!N!3%%cjd,Si!N"%
-@!!!e*J#3"2q3"%e08&*$9dP&!3#X94(2Vl6,K3!!,`X!!$dU!!!,X3!!$UPdMRM
-2!*!''Sm0`+dRNp1"A3lNP&011GfXPCh(6cYVC6E+@cHpcGE1R[ZjXPZjDd9[5rJ
-4TKQHdr2BQVrACdAV+0QHPmAFE,001Gh[%ClNZ*fEEEV25pT&D1AR'pRdFM1bT9[
-hXH`)ff`rbp)pm'+EE'C4RK*qlJ&K+r"9JrKDPr[BjA8d16dHi8IE(YRR%4lCNX%
-QQh$aC!0N`1pR&`!$J"`r`&LmPDU@PCNEiZH+2Ur9iKBe%l5jFc'pjb4GC$DE,E9
-ZKkLG1Qf4eZfa+d!"4U0T[U&X9M',a!"+@RZVdeQh)1PaJ2ba!12MANf1!VKTCF[
-p0eq@d-2"K-T*fSRDLC96HfX0!lK`EF[@+r`a4P1CaP`M1Ka6Tef-p5CU*ac'T3"
-)q8E,3cZr0lc%jV3i0+CCKP+[eLYD-$F@&%`k9#N@"2iIV)XS)BZ,j+f6$%SXT%4
-0[9+[#62HUGph&)JL9JB!4I$-*ND'@E5ZaEihUZMT4`Mm"2iAX#B@SlJQ8NH0D+k
-!+BS@pJ"dB(`%3-C5r-q&+!Cql#[5mIY$+KX49XLYY`,-m02(8iLCQ#LMbfQaZ[S
-B&#!EBPQ(iVV3rk&$D05A`l"%Sm8kckbKeM$(jP`NHPj&%UKJ-KPHUj!!AQ!bc6N
-YZ3Um#paZKc`!$U0a6Z&!RB3jYNV0V&Uhbq-MDSr@-*VQP-J%i#Jc&-N$m$VI22m
-B`2GaP"DAPbUeP69@5P$mm5iZmmGq9ijh)SBmF-kZ(kN+,3k(bqA8c"3GELVcSYq
-2qAT)@,*ED0!3$)j$SH8S6Kb9X8aM''r)b6QK$JQ(S,AQj-J#i&"UV5F*H3m(d5i
-2`+Zl$mLl1-5kNi6mr8KkVIQIAUP"5$MkfBK((#B,HP4dNmH*PAKe@lab!6LXIF`
-1m%S'LA"%%Bih1Y%T(!VYUciTFT6caD[IdD[hC*q13KS+[,@m6r-bIqh6jBCjJci
-QNBU8p$ZC+TGemFFYL2X2MpI6EaU'F(KV(*8$G4*-a@qbLMKmLf8#F("pDP%PrqA
-94&SFm13b))iEU6eDi`2(I3+(E)$MRPFi@c2)"mhAhZ4$lX1j(fIe!qIHMq0Gjck
-)BmLj$r)kj0`(F-J[12GMI2cEZCmJpRhR2S"Mb,NIJr'KFqr()4rJh!8FS&I2hAS
-GX*p["YA#LKVrbhT'mG41$F4Yq4TdX+bQZUfY%,-+bAQHqaA-Ep@[U,L2UFC1TVM
-mKq-q,[`2(2IV(9Bf`('AfCb6*QVUTNepcA((rXXa)C!!NjhKP'2Uar'ZdaRNBmM
-T$1!ieFQ2iIL`NrIM8'VlZeidiN$K$eVcdadQM-0KkfYlVd`fAPFDiA"9f[Y`c+Z
-d$q#)-4jIj`L*`fLB+3Y!qYZcKQKNJb[k64cBU4apRM1*F$JXAUr'i+Tefab(f3e
-f"P5dH+8X!+qR1d2BNrGlqe-i"MV`J-l#RG2A*l1K%cFCYmA-Z*N9c9Tak8Y(18c
-j9#-NI+NHG[f3!')2-191bASN,,YFbYp*KSa"p#BqHF-D6C!!F!2IP-2B6Pi[iI2
-SS*rThCi,eAqUAD*kNbB,@bA@5`c@IqmJr[CGJISQUSqiR[YRrA0[q,Tqp3XQ5-R
-&l6VL"6HZQ&+RdhNUTfJQMCm`IIcd#h9iY8*klB13!$S*D$iJG0l@$ZRQ6MMEY%U
-ijE`(*5cAEKFkeaB*0pIQBM3jJ,"!k&bp&qYec`4"m'prQME9BM#(c`ApffpF"AN
-ch*F865UL10A(I,kNjZrmIBJQV+H(kZ+pN!#bF3qKjI(dXJa)f4r0DS5G'+rJF@P
-2MGH(T"a88ikdrGDjfJhT9q#pd#haYhVM(FZa9[)6HAFX&qSh03Re29MhN!!'iP%
-$ZPUEl`+[blT)PaAYlrM#Tr`G+qVaASYPP-)cjb9L,-2ImH@$H$r*1H[3U2dG6b#
-@d,UFK'RcJ9CKmfr,r4f2ZiA'2l8,6kje8`l@DS5SAqE#clcY`ZCR-HIC06"mETf
-%j5FBlc,jD4F2eUJ!ePBF*)dU4L4LRGf+kV44U&qNL[BLchF+MBrbQ5Pe4kbl!r6
-a@jAhA[m5aprBQ8hj`Sh$1$CKjFKGT&KKmh2P@'XE3*SHDk6KVF&EMAF'D`0fCN3
-$0UI9XEK+e0NUMq4SI"j4e"PRPHV31aj*ErZf6eK93eS-pi@fEfB)EFfjNEl3eU`
-2pi9VfN0p!HXIl3YYcGI"ClBm!LRIElKq'Smh3AVeEC!!mZHlX#qdBBN[3Y,bEFd
-H)2XMB2iDripEIK(U#fh0h@"j14A5AGfm,l3eKm!K2fNS,X8%RE6QB&lX*UHU-lN
-q+hT-$SX63bD0b50D*3YAKB0X5jASmC*r8,#UpEQJAV!ElqemSPDeIJb4"qScaf(
-X!0k*N!#mY"55QYZcN!!BM'Z!MIY0U$&AV6G*mA%qPV0PMGIUXF&Cf"ba2Yr"V,S
-(64$b`qY(Breefd#G&YkIc2V+[IUElL29F*q"pHi"pERV@2j2Qc#f!r%emIkIe&`
-[e8FqU,jkC($%NJBMq4EX,P#N[kk"R#h0,'r*(LUSAl(a)0d5aPBIhYNXr`(-60N
-4j,33SP@JbP5(H&)A8#IU0bN"I&!9`%&al(Q%Kq8rrYD'bA2JK323bI+[MUBHJ[`
-h%#GBAr*EUP%0N!"dbefN!ml(l8c2lj!!$NJ$B`jT)+Mf"8lE9IL2iq0J"YG!AP%
-LXjipQ9R6pV#m%GKKeAa5bUbTLIr4J1jANXZb"R"3R$5!H&MHc*!!HaR830l-09`
-$eV0`DU*'IP)P[4r@`)2X6(j(0($"DaS`,r(ka&T0FCh2Br''G-#+[Y2%l0dq[,1
-Ci58drmQ2F1lXA4reJF+($[#!2B#$iU3"a-1+eYhf$`d8E9M10@$IKhdJq4'XIk`
-22-b5q"h@!2F$f5D2bbjDI4Uccq+cZCbLCmNBhC'FN!"+j#(m!-ZrC,qFJ"miqe!
-I`)'Jaq+aLDKjmJ-"RBEmJ,a#(bKZ5(Z[$e5mh3Gq`+Ea1p)(KKr5!%dHp)KP,qS
-ZS40eP"dQ,+4M"@,Xl32fVR!IX(FG`,Zh$pLlH[X!FRbb$pMhpIB"cNH2,mcm`l*
-)(l$[NrS!eqLq(BL[Y`m3(dIl!*+T`TFHiX`fHNG#8bL+TlH(C$X1cQ$BN6F`j&Q
-11[MU4ZL&#1R%mUFdm1Bj#A!'5BER5"QEkF@3!2M)Qb3IJVr)kc9,qkBT$H@lj3$
-)R)%R&,`8I'`4DqGXSG1iFaB&8Y!e4-jNR#",Y#H(bA4la#YYG8F'jb(fqGXP2AN
-lT1jkZ*EmceQid1ZcH2SH5T&"1&-JjL0"U`i99)05)E93&RQ94QUdP%'rf&Ejl&M
-f3cC-cCr[ND-j$p2`SYFf'E6h(bT#0NDb4B`'!hM6Jd$Pd[+*c)&XH`c8hjiEdR,
-63qp1R3)Nb-Ei)%NaN5HZHTrr%UBV5Mp"#XpJGi1#$#KN3,Vl8PScBeHC5qGRi[m
-bjI0K5%)VfR+bjRL+[JZdGc@+BK8C312,f46lA$h3S`Gmb@5'!5l"hrd8Lpq*cdE
-K%)jL-8Q!$c@`bbKQdq+B$9JMa4+[!P`m`G%KRR0'`l8!UAN8QhFli&Ea5'i[TMi
--AmAje(++6Im@h)%a2Y)GeJ)iPXZmQf,AES+0'10M[m`li9(FFq$e5TB"VJCNmEc
-,kq&CM$h'-GA$APb1DDEBa@2K,aKlQQ*eh3`ADXl[SPMC8SBM`p(FBe`mNH%iER3
-+a6kYBMKU(rd8a6kjK5&If5pbI63b(*f2f8#a#@PX!FCqc8A8552!X5m%*(81kBm
-#bQkHaaG,iU9pd$+,afPc9UZ#3f1Mc@XG(JbL6,di38lJ+jqK"F%i@[SeZ+V%Ld4
-RE(J"Q+F&+LF%%8Kcq+ML+T[2j4&+A%jI9+R&8bhk9!9@UiKEKbD,V`EcHCNiHVm
-M!#b4BN8f,fiQLV@9L$Sfr,J(Va0%+Y%Bj#B3$V$UM6+8',(Bm-"@IE"+-"iX%dG
-2G3@"8b`#22b1eaN8`L9VALp!J%Tk6JD*G)S1&@kkKe$q(`#3!`h!H*VA1HhNMM,
-2HLm[dr,cmT[3@ICV+DFQGp#CKkH'CjlXeM5qRM%Y`MT#)j[`)j[XJ4IKC&0bM2!
-M2)pXGQ36IQ462,11mS[`5AU%Af5`b@dMQffffIEp[2+5F20,)cc*l5HF(!0Za#l
-DfZI!XP[$EjD%dddf'A$#)lm55LBmXXN')U[!+eD0FZQk"`!8r"d2F2-Vq,XIBhE
-mMFHr(B&NZ"lLB(a+RXrRFEY8`kel6k)8ejqZc@dX[ZpY,Z44aF8K$f"UFS&H@kY
-kUc4rB1XPAQ+aTKT"[aDB2@ZVq'qR"#r"VRUeJ0I)R[-9,khBlG'bTf3l$,qQePl
-NTC*mDpP&'c@[%IJbI`NfGm!JqCMl96k'1B)qRqihXZGpa8Yb'Qk2fh"VJ5pjFFL
-cZ5[pU[m5$cpJ+ZcBGS,piHp2aSGHr!&!`TKH(X$[b%G4%$mfBqmB!NSZGSZiCj*
-YH5l5)A*F[LkhCZM0SmU@LU)9&53#FC5kIELY9+r52)9Z[qBbG(mlh'bCFT*6-3*
-$'$@$8FXUeb2eV''cCFkVJMVR9BK[p@Vhkcl0Ep4hH!hY6a)CfTm%#5+[6Qq9VR@
-N4P,ImJMU@aiBbVb1F0)Q`RT)DA8l(4hH+,hH#--BGD5c+'6i9CG4l0GVmiS+YB#
-V&B`XA9*e5+68lfAB6MIScQS)(IK)8!pm"%Q-QQD6EESVYHD1Icc"U4L"C%UYbl$
-Pqh@ebU8'M#kZ'ATlY2$kpQK)BG48'fQ4QMG54FMD*DQl)*94dfefcHr@Uc#cRNk
-ZfI56iCb+%8LMe2ATYN,98&Q[lk+'$M8+ViFD)Ce4NfhRL*4DRp$#U4L"$%TY6+4
-jM6#4ZXRc(+GL"$)C0C05&f-"UCdY$kRH4`69q`J-Tp6CbEEmS'(dpGH@QFq,RMI
-cH4M"U#Qf!YAAejE0d,X[L@TipbA)NP6GDrMeVV)Me+HfVq48M-"PM*TQ+h5V(Vd
-kA`peGj63HkZ&erG@`dK",DTb'm9Zc9296AdbT(!U4Q!8SbEDb"$B9hP2(lk28c%
-#SaNe(DZmULqejSl'E0(c'V0KM2"kKeZVkr2kV'XMTf)%aSTkAHl'`D'ADlE-hLR
-UGIC1'%HSbQHTYN9q[@k9(XQY'ITJRkLK$rE"jBbDD#[9[-'q$$fQ9R-U4Q!mSkC
-3DViD'@h-apDq)DKVhi!V'$A,@Hc4FG6`9Z0iXX(3I@'kf6*jQmMVj'd`J9"K9JD
-f9d5Z)D0Xi+cITZ5p[,q5#%bNARHP13ZebQ"e0C*l1XU(ViYUq2"eb'E86'HKAke
-$TX03ME0eC$lZ(FZT')&*B@T2LXc3dAR#kp&jF#@MCML,["[GIYeELi0HecadG)@
-NVS#V4&k,3LlYA&mf0rp46$BBJDXC0Gfj9+[(A3B1$TdP4,bq),fq!*1&ee+Y9[I
-ARae#'E9Khe*1a3K-%AQeBlf5+ZrQQU&MR`Z[ack(Dd5'bMA9kklYRQZ3!1UmrPj
-1a3K-&4NUekTa)X+G48q9(emM["jI!p1%9iI,VfPH1fj5ZU[KZ1K$')&V"E9##aN
-9IY9Yp063mBmPp@1BcUJT6YE,Zj!!Y1FP"%A25`M#G@*qc6--e9@M9RUkZVRTc(P
-89%21Sc$M$,@RS@#'$Ti3'6Ti!R)SG8+@hCj0Hf@H"hFEJ4ar`1pUlDr2[9'QE#P
-hP"H3!!M-C&kcE(4"8HJ1q&6$9G-qRTY2[eJUTUJA5q&k5RdQdeP44+SSXZma(bL
-GcUNBJ9QL[q,f4F90$aN4ZrVVX6fbSqb"f5b[Sc#[c#GChf%l#UHfkDkrB$A3[')
-%jV!CK8lcND'"H2hCN!!kTB&ka3MF)+CH-TG(TPH5S6ml148M-&G3l@iA@9p'U!r
-%EHC8M-!m4Xf`f6fU5b[42Ghl&h4iA(Sp$MFbDUU0GQ8pf,0c-%2[Ma68pdI#I%(
-&6UPlX$(d8&X@jR!U4Q#"S*)D*l0jVpHpdZYH@-MlUpfZ9aCie%"!kqk[fbXV1"8
-MF*2`@UblJS(HdX0pJ5Qm[QI#cC5k2Y0@JZXVMaECh*LK`jX%pI!QZ)AeKR4EZ9V
-PeR(-$VD0VTakC*@J(PN&YiUj[%+Yl'95kKj*h31hXEb1S$[4M9UNrXbQqZ@FLK(
-)TG6'*&ZHhkpfl#FPpGQ5PcJ9)j!!akM$'E9hV@3q1+Z"8c%#qBbD6VD!2V8E5I0
-ki#'4e`-233(ZLf(mPY4&$SG$VF8&ChH5QRG@Cc%UL8!KSkDISZ,qZr)XYHSeTB'
-dGa+"SRCUfe$$U-BB&kGL")SC0Dd!XAd,Q1DG03G%KQS1`+,F4+b'AfHiG'p!4kF
-")eL*rDZ0fM6hXc4'*4%S%4Y(FQ"`IZ0i@&3j4Q!aSbC5DYr1*R6S'8%pp!`X)6F
-CBh+c5TIRe,U0'3(GY5&Rh[`014jhDb%eVcmbA@NSYGZ+535@iRiH5Zj*4NTe))$
-!T9eHQjfrqC!!8c%#0P)0mAmE9kSD0AK,J06XBRAU$HkCkfE1VjU@JhrKFm0ZR&%
-)P85JP&,h*C@UVM*(@ekqQ$CfEjA8VE#-8UmFNlI-XCLC,#BQ#dLZT&0#2B(6"U1
-Hf!YPY&ir65Z`Hi)"mY[YefajCCQJ[V)-l)5DN!"f@9i4ZacJGaMS-NFr6GeqErT
-ZTD%XIdNfLF$YV+1-10fpr0SkGbLR*Yb(VZ1GNN5J2"FV,flBF,Yp$Ch,5c59(-5
-%S6J2hImGi2-34Kb-1L*-EDYEmpQPVd&$D@P"#Be8X!`PN!!5$rYVcC!!ZZm`ca"
-'`*QE"*!!0#-4&bpN9)k!cGYfr*9RL%6ZB04Kp4Y9h*,eZM9ErV#B8dPN1HP$5mC
-PBSC8RhY006N&F,[DmFd6Ir81ca"'B!@M*M*UVpPQjqprb,c5b%VDm`**Z-ZE8DY
-fQ"68Y5X2F5U*V'*j(4VdYPIfQ@TSrU@S"ScFbDXKB1")f9F0CfVS,NjGjr)DR[2
-8jTHPejGK0Fp3!,HDjc2dmm-rjP35ZCY6$AHYGL'[V4PD`hX$9J1QYUmhY&E$@Tl
-AB04XQ+SbDP)3EkM8Fp``YC*lG4Re[JYHGh`LmrS*Z&LR6$R9bl[)c9ZqrbR[3aL
-"+MledTPb-CdT1l(0@a`"3A8%3'-l!*c,cq`!fLD!d,XMHBC)C"fGmr+6jC!!eje
-DFmY2*h%UL9666[RE4*bp+JVXjqUeBIFd6L@4'ZBe8hLG3@UTSkQEkEjd6L84YpJ
-3YqlcfLhM&ZpMN9H-V#G8f*D99f6Akc3rEVqm1(qjF6rI5ME6KKcM9",CN!#E!$"
-d3QTH%9m4ehIPYQP5`fj'T4%2[rGL&e6mT!Vh'dCEK[Er3Q3))lA-Dr`khrNK#Qp
-%RPV!U56LCG58FLfJ"rfZXqA6Q5&Gl!lT5SRX[EUSZ2ZE,c+%%CqJ,XBp"EerL9"
-(5HSSZ%GFXH!'+p,`#(A6TK*1*4'rZ-iK@d"qHA3@E6kiF#+RNNL!AAZNYejlG'#
-E9[q)Ga3D-IJ%),B[jbD!,qDK)0m2NDjFL1Y$ZM$[310qTdaZHXTJSlKqFf##2"U
-#Hfi1$MiZYLm((iFk4KeK3elIX4fb&NMU!JJaDLUKX[4dl`kE(Q[N9)a!2FYV4QY
-H1m#Bc4DCeaEB*+Ij+Pb&r'ZDKq`hS8,*a$q1ShI!9(%dBZhiT!ViGb@GX"5iLeD
-R!L[S0+k!4ZFD"DVTc+&!$CdL&&K(*aF&bZRQ3`%(h@8SX*V1V3VF561NJ*0rhmf
-rep$j6i&9r(XYreEjpdSkcbY`"pdm+"#NGDp!&Ch+&'$E$`@@daf$!LikibP`1ph
-EB&j`,X)e89Xp@"Y&U@,qhCCAiCrl9)BUZ)f#X@dqVEUAUZq[Zm&kfr3r%qVZG,d
-0q3#r`h9JEBZP#NAG,GU&(l[L(plm42c$pjrB!)$epHJlmAJ$!(%(UlldfE9IPLV
-keUGeb5)eqeZIeL@3!&61[hh5IXLZ[dreUIkVBbR5j6VlSC[Z"8leJEYK,9,Lfha
-DGmT512pdqHchCmed8R8aIpEd*a@+qE-Q@DQ0!rj`Np6D(r[[dD4QI1X[FL8RG9h
--Rh@a,T8FmfIGd%R0M2QcEZHP8JEV,hTP,j8ki)pXJ%llXql@TBE(r&NAlP)Mq[f
-*15IXclVKNVU0IiYpahrbH1(QALSV9LI@GEl8CB2qSRIm8L0MrU`E3DQE"[Y)p2T
-6kSDB2q[&!UP4JrQ,hU&+cBhjXbj@THB0eRIdYPAUaN&rrqcJ620MrUbh*D4'$qB
-[HSmVY@#`2d9IZC!!%Qm$I6-(APUHSXB1q-1lLc2jLpj65Lf1qE1Z2+9+B[kXDfD
-TQ`Ic&hdA4bSYjXpk38FUIF$Id$2qV*HLT-4q,1,2#i3mY-fIpDD8P0LIV+FA5JT
-XS"Fp&qIplRcf[NBP*IVSerkX&kLN"0IDLi6p@@p953hMhajkCA@a6J52ql5ZiD9
-b"qSNl-qkQjI+LrQc,ZbPmQ2qV$HST$*LrUcAUU6)&G%PIq)Hi04FHq&P"DPEBrk
-XpakNEKRSJf&rePXM8R2iGbfp'lcB"pYp4YrANa,h)0r8BI6P+DPa-Ar@'e95PmI
-m@DpC5H&EPl%kMli$+#AQiMCrAMiRpZI4HPp,kSTBR9L[pdL4YbI2qhX![S[r6T*
-h0k,IpVm!)l@3!(q,IEP1Ee`9m0'V93AZSAHS#[MTCHQjILRU0C`(km8aU3NpH3l
-3fp51HJVlY0iSNjSi8+pKIpCVCP,Crr9R&FUNQ$rVK65T+f2qV,I8T+k+qE0HAC1
-kHM"rdIICT#B2c#hYp4epGdYU9Sqrb*eHHje(Aib6QM*BKp'hjD5Z'Dc$k#Yd8P-
-(maGpVdjUfU#rk-Yf8YI'r&P[i%P0lrGA$#AdEPAFfh&reUXm8Z4pDU)H(pEl3e+
-P84r@Ld45bk)qV$H+T-UL2UbARk5@4(eBEd&*LEq,Z5,X`hSV5fS4rcEiIIVAIF&
-kK8V+GLS8[b!HAcD2`d[mX5rELcd"pTm%["3IMpF"f@rDEB(6Ei(%iImJcZl3UNq
-HP(r#,9(F92)IXNrl2`d0&8G6N!0KEA"XC5j`F'-ZBfCY,R"bDJ#!!*!%""-qG1#
-e!*!3'P`!!%YS!*!%rj!%68e38N0A588"!+a9%Fq[Y-Yb!!![#`!!+9i!!![*!!!
-+#Gp'&kJ!N!B+-3h!V5H6di&XC3jN&de1&aDHTEe&Z5Zc3@mVSHA+EZf+9QaPYh,
-A1Sm``Nd0Rmccf*UrefHGedQfpTCZBjY&HHF4RZ6BEADE46IC*UdMP&pq[RAd10f
--E1R@IH`l`MEEcljd$eLa6EL@TB5ICFG@i+X'FITe(EZmMLDRab2m[1f4I4lKN5h
-jI@56KH(*"PJ01+""GJ%`!-J,!jb0AkfZlXC"prDH+SH#NX-[Lb10q92aHZ[THj(
-GERG8qcfbdHqAM0,FDU-ri0D!"Ua@fh4,DI6rj#,Lj8jX4kHcGNED*S"KP`'-5(R
-pFJ,!,6I@2A$V,(fV"L-V4KY('8G9R0H1e3[Jr$9e'fH(Nkbf8Y&H*AXmjihp$1+
-0-Sima%X$N!"a4ph$fllACj,,kr#)YXQ@NU!a+$[`EM*SQ())+4N%rMq+Lb`KKj[
-NhC-1@J65SUGH`k["'qrMGai0XNK@!@!424H6)VdF4Yrmd0XSC[SM42j%rXpJ05a
-*Fe8EMJ(Cc)Cc0AAX3@M#qJ#!l'[`IciN-!KMAe&11"acfB#i3fkr(@"mQ(lm#LQ
-6P'$eH4f5Ve0"!A)KQ69T&XIqGaaLBlJ8HU9D(G)dZfLc@F3T,Zmm1I!kNak%V!N
-ffj46PL[(l`5rhk-1`-0UR6+a'dFra98K6Ulfq`)KN[B`KY8fCC*+!)p55k%kJ+l
-6lG12%2b)4dP4@BR@@&%Pd3A0+hGbQcraZc,mTQ)T!'IXq*&ZSX2MmIQmBV(Xm42
--Lq%`hMH$IZ&1BDP)0$J2MC'c1(CdeP,4-X+5PhI-(3S2`5MPjDN#m0!DTH1#I-L
-$C&F(d0AI5H3$([+#ii,mp5KqVIU[AkP"+$bke1L02'`1c+LB*Sm+UqMUG`69!RK
-)RFTfkdS"LAJN%)qh1p&*(KVMkcQTl@LRbeHqlpIJm6kGJ$*-#&Ec2XeKrYbRbbc
-6HR*-+S&-kNSb6TmdrrpE%-mIJ@#J+c5Fi"'XmP4diqKY4HqSLMa#me8#H("r'Y%
-Prp(94Pj8%MH0De4,%MG+HaMMim4pM)GU31+H0[&LX8F2QUqpSiID4h)rUZV(bEf
-,a`I*[BI(LH6HSqZ*j0l03hdKZ4r4ijr*rCL`(bAhEKiRN[X4'TmNpbiHkJ(*AF!
-"HZA8MBZ"rA`pk1D89i9I0M1UpfX@)@A$9k'*jG3Xf&J25FY3R1GjAX(lpHBEbZp
-RZV2(8&hp)h%I0Il(LIZY$UXDN!#i5ehHdD2%"@22Hc0a*rmM-5'4ijhKC',Ui[&
-"dZR4id65kHCaXT-IiI&**qrLS69fGEe%j)('liRQTcT-R)I(eGRfATYX[18diZ'
-VF(IbQ&EKlZD4C$fkcK%cKp95V!SJqRZcKN48Jc[k(4lBU6bGQ610H(JF`D"Sm9A
-lACj$kNBl!cTDRUX+S1ZTcK$2j&hCrL52lJlFlE0ij`aefZc%54Q$ff*fh-a+C2@
-ip'@L1dblI6RS[l3)G[b3!'S2-Zdf*AVSVle8ZEq0!KQ$a-Iij!daDN"rIAfNYSh
-Mk6q2#ISCILIHp+,ifaX9U4m6Fl"9)PjU&2r$Jr`EGd6`EB52[*lp1rkCehrG[2)
-&'f6NihBGkB)E9bcG4'GHS1*FFI5)N4H-Z1"m8ceN96m%r8B$c3H%jK@0N!"PEiE
-qYQA#EB-I8VKF[89SAP-Sh&UGMpAd#--*3[2+2BLhVaJ%)EcPDGT85m)lI#iBhR,
-6-LJBllqNF(3Ke3NIlr-PYA$cFc'C%-m-P89l)'2GEQ,,keQPfC!!X6q493REX&l
-1kmUH'XH(Y$ad8jkbrGDmdJpCXr%lakrSYh,GUL@)PIjN`DSP`U,(DS4&V9ahN`G
-56+CU9fKid#I0-d&#6Q+ik3XAKTYZ@)6I03LM&CiCR)Uel($6c3Iaqa6AV%NdK*Z
-H4#kaG6Q&drS$pF,khjD&QcEjKH9rD"5H@Z1R1iLe("*qQ3mr#cB+khIKR9fVSFr
-8"3UARf#pa4DQA6aBV30B8hk3!$bU'C!!LMJl0C@CCk&r85VDLacL&CBrcQHQe"d
-4GbZBHfr8hRIG5jcrmZCFZLrFe)Yc%fiFZ)-F+karYJba0J0NQK%M%lmLIJhic@B
-0S#R',P$UVDkUV"!,KJFAHUAK&iTfkc5EUD4+&Vhb&D*eFSPB-GrPFBUKJ#bEX'c
-#l"JhMXXVHHBlC92$Yd,#XLVbBV`[0(`M@fLSc@rV#`fejRKIZ+SaeKF3rh"ID+K
-G$*rGm#KNI(rTG@0j[3Db+PG!aUYhBPpS3)J[3YU5cE8"S2JMi2h9i4rAr5,@&aT
-Upi(MjAk3!1AEarY#3ff-(1U6LHE5M$3TD`lfqAj+ULDEl`SjB2-i[&LbLED!,#N
-4cSQ$E)G6$J3T2fLBmqjm--cBLGmYI+,Q[(XBL3H'[ZGJl3"q8b(pQK*)Ufh-3@'
-`,J)ljcHaaZbmfkE8c`Qa[!fVJe,!"DGMFd4m[S2T[!G$%1V$m4-4IqeQ-'6'pbG
-c[RbIqCElb68mCb$H2@!iFbdEpp-DV'e&IM@mrkI9,P,`83r#0`b-MPJbB5$IJYd
-"QUbh2*!!Yk'@&5cF6B$Q'pBGT+r#X6k%he`flN'mQE%eUZP%505"ET!!)DD6B3*
-eSUk3!",K"mi)$kTMcb-qE0bQGcG-RS8J()"Q0Zl+41SKU2p5dJ6aPEbP1fXTT0e
-f*rQ!kr%eCZEIQ!r)!m-k2""eq`b[kh,mMq2Mk!hZJB,#9#Ee(m1Nc0fXB!"f@!1
-IP$+TAqUr2'$kPC+bT!J2UT-(N!!2+bL1TCFH$a38VqBHN!"1akQ*!IATTrMpN!!
-((Q*pqEI0!m2Ip)"pB6!N9iY&#d)"4c$Q!eEil4VQhKI#Ebkc[)6K2re4VTfljG-
-q-2(K!lcJM[#J1RN!qE$#Y5[qjS(#HjG`$lMhBKp)Ia6aMr5"4eJDrmBp`20!VLh
-JFmY55,5((#'AcbX(&Jic[A%RjK*eL$c!aPfbAddJ$r6[k!-i%!`i!LiC28pj)1,
-6@"j39qJ$48Xc2q`$jHreJ4q`XIcEeJIkG(L!*JpQj,)(IDG[4KrPaJ@,q9L$(0[
-lJ,XPhJIF,3I`fpi(h#hYI3!e2Yi(h([Eq`$ASc8A$[VpY@ep`,eAk32FShZh)Vr
-f2N"k(1i$++B1AhT)XE[S(3PaSLbIfKj5l6JiJf&[[)'KcR)-m9FhfTl+51C2DH#
-Ahp,$D@3CINHjXCjH$-%0i5+RUr-KLkic(SqbEmS@Pqe8!a#6q-5+-b(%jV&'VKB
-QM@p1jKSIHUeL$%k3!"AKdeXI@!R)Fed,hKLFap6REjHdhYZUG0G$@1SrCmkFB-J
-4q(Gr838ijd,5TiE@G3!D3+Y4@LKVHj9'DE4dJrjL@q@cBp82fc!$Ilj(MHBm3X1
-,hQe219Q-$h5!["D,)T%&"jYPb[+*bS&Y@`28AjiE-[,33fp1R53NU-EN)-8aE8p
-FY6rr*9`JQ2q2(*l0lJ)0"9$)KLcr6&ScBjIE5kB2`[rADTq28a,U-CC60-G6q"f
-J[DZcU&DH$65q[*KUReX%p1J"Ac)CEi&,m1pqU[Ar,MiEK8-iUPha+Z"$$@`@e8U
-+FF`'E$R9%[m%Z(L#Sd-mJl2JDS"q"93EH62J9[&!(LrQh3&I`IR8%UTCRi09@1-
-MAGmN`,(FS,XipLZ`$QYml(I9IRJFpa`iAP%fi'T!$VmRMi&G@(Z#DV0FX!HABfU
-T*YA"(l(f009'AmC`S@C)#p@'lQ%i-Kc+-mE-&3c(F8-cU#EQ-"be$ph1HEF`e#[
-h4BiaK1(SI0Lp9$ZMP-h!fUqjLCTT"(Mf#a&,R8(qSi*f(lr(&dYk+rZJTBk!eq@
-Ye%@(aPCA81S6,D*0JcK"e[19cpL#B!SYr9Tm6[NLfCXFA`$Qeb,)qLJ$C3kI31-
-8Ad#Bj21'%NSFJ8SjT*XJ56*Z(GSFS5Umcf&5k2f1#,&8UK@kJVLC+&GA)1[Nq1-
-H(#I+9*%aUNfN(&%eQ'#CC%@`2T'YqLK+Y"k&5D'RZU,%UGC'22k1efP8`L9VMKF
-43+Fm*i0#HQ@2$MIGBbcr"`!!$F$d1RZ[Xe'dblaqj3-["fR[F6m[HcVaf1Gkl&C
-#cFeZ-l)Pl2$8m*ZfE[&8+F&Rl0BLE%XS*`0'CTYYmTZ4ii3Ii6djITdG1BVRpV6
-)mCIF0X)MQm`BfFF))cbf@HDj26FMl2,NH@56fq6f%dk1!GF$(ih3hS'G*ClK+F!
-qh5b#RJe%U-"iV2U8*R4G!i!#r$XIB0(I!4C2a9S8ril(cbj##Db!3TJrZEUe98X
-Q&$1TTkkJ#K+I,UNk&(VqM#[Nf5SX4"iD+DR9@eU89*0UT&qmcCX88K8cBkMTLT8
-[dVH$)Pj49%QTkC3CU,c$+`dP06@`-"!c$99Tq5p[LZLh'JMZ890QqT[q&B@6D92
-dBp@GINb-C9TEGF--V,l$+ikE55eT*YAd0la#j)@6MBCLh1EK$eL%[i42V2hVRq-
-26RJFS2+a%4l!(m@2B!Crl-IG-3i+UR"E!*5%Ua0L3j3R@R0ZVHbI,a@md"$FhL!
-U81K3Ci3MHT1Ue5800@(U4KrFkPaiaD9L"FBje'N1G@[M$j!!1Q$BkUcmN!#SP4r
-#q&k[880[93fcVGpVpZ0LkY$(a9"%IBfRQR5e[c9-2D84pC3'%acUc,Lp4*`G%QR
-ZSk2$0Hae$8adU'AaB0BdP)3C-[5@kQ#GQNldJT'P-e@(56309aIdi$4N6hp"e00
-I3,&$,3hcQXkeeRVMhcphU9L"%[*DBqK+8d**QcQZP6dcKlbHQ316(HU8X&L4DLS
-r4FMkJ+NI`"5(1M8F9BfNhS5Ge3Dj9XG2ClK8V%!T8HX88h&fIBkD2AZ)[*ip"&0
-TbQm5E@TE8DG,a3T-FkL6l,lQQ8MGTlhM8V%#dahUG*Zk#3G)'9aj5%fp40685c#
-$1P56-Fh4rGUjr&hDHF[IKCN1GA+i9QNGAFY@pV1M0!fI(B9C6096TU(RaNj3Irh
-DGedU9Z!ZfLKe58A6Qf[dl0"'bCjlPVbHHaE+L"TX5TUKT+Se$9&rP5e`U9L"f64
-jiK%i1RP[G6h[8V%#FfJha-bQdGCDEa`+d-il&)#lbHYhNZVH8Dp(%RYF+PCJ,Xh
-VYL3q(%Di9QI&Qc5[&@r#2E3T0aMkhKek[VG@pX*(0%-A2S*je+')QXU-GZJ9TGQ
-PBJAQdj3,DSf5IpTBVq`k5G4G*q&HKcSV(Y*dI'UNQ[&jmTbTYekR@jd,AU@q,RJ
-9lR2I$EKH%EP62'A6!hil5Nkiqe98i(jh0m6Ve-C-Fc15KcI+jmGS'Mir"J&h[mE
-V$'8[-Q1QBJl-NI@ce&bALK9ii$TeZ%9@pY*UmRTT06cSpM8H61e*'RUU"4pkZII
-3THe-h3i289q$fB4kFbpEqrp%,aZX`-2ZpST[9Y[`PS%2Km%4%PlIBkr[`3,b'P&
-EG+0Yi"(U80XrfZa5X3),UDp4R&Faj80F+h[jDr*kq@YiK$T8VbUTC-[3Z`DTm48
-rG+PBJ8A8SAUe'9p%H,-BR[,ZRH5eHbFX*UqaK+'UU5KH8SDQSC[f%&CJ#9%Ee+c
-CB#K*FhL'ZVpNkTH`e0f8F@HAjj!!pXiVbY$1+mV!Sr6DU$C0*E&EDG4bfpb+Plp
--de$q-Lbl4KeH+0LK6lkL$Rhb&C5l@cND$GLlXPV$fdDkh%JELGlpqXl*V38[e-I
-UDd8&PV[8X(fJU%ZQ@a8cXE[[H@kppAk%AP([4f!&EFU'S*LLr,h(1K"CkP+a!LZ
-*LYFA"5mpiSQBfkqAMr0'13i9$R8fpYAa+FjhZ)kZYlEMHhr$DE$lLK@S[2UDccm
-DK0GIMYYEd'jla3Sm4ZmKm5l2[ej&KriDGkPBJ99%M5B6iRbCTaiSh1p5X3+VkBi
-5eC5%ZP(AKZi[k,#E[AE$'RSGfPYCc`cI(+cXq6+LRLq$aiQ+Qe,AF$%-8c[APEY
-8V-"DSSSC&frc%DmRf1X*@1GZVfK8Ekc9P(4D(GU[Vc8fZ&5X`"2N0D3R-ZQ4dF0
-lJ89HceQ`RZiS'r&mTDRjbif9lGT(e+jpm#6YehUP+DRM-cYciqRU8LrZ)1V&(I!
-86i251-+dUFHCHKbHGUJclC[S(M8rIeC(fcDALK@SUTTNHpf8`LIHph%pi#&h`'[
-(ePp8&E5Rc8bMU%#e3jhZA%2Gfh)rZ52pj'q4ZPYV&"@SFDK6)pYUkc2id'Y4b`I
-G@Tfr19r3(SQ'3k)#Y8jILm29KU(dAe#CHQ6M8EH[@)%kZVrDe*($Pr@MPHdZ&5X
-3T(R&1f@V-S5d*qrd3CUmd`FKK"GY-8-EBV'BdS)Rf+%Q(9BqrEe$&4ABi&#RpP"
-aL[URiE"bUVkJA6a!4!8fpP&[2,XFk[V62hDT@)&0$V@d&V'M*k,$5YIVe+'Zeq%
-CGekVYm3f"@V,Sp(DSANp-Ur#R9HX`'D(1M'LQ,Z(PSQc'rj`J(B$9L$X8+FPp&4
-Dakk+9B2E[)qkkKqP6SG%"5*fNJ4Q4ED9Yb60C@NpmCcG*ZfDlm1lG[c1kC!!U-!
-@QR)4d[#ZYPfd+E%#@qRZ*DLMGkrXfEH*H[CY6,D-XbF2"mq*5,4KI`BQ,hiXiNb
-$U1"9rL+53rKKJG0KS8+l)VF-5p$TGjm,Z3PBQmM&Z![p,Z6ZBQhieN9ZPl%fHLl
-NUje9iEQ3!$F09RR[G$NT&ABKda%XHqIPAFLd"+Ziei@pEkj1epKYKlAXYS[mABR
-eU1G#*MPB*Ci,H8&L,IGFb(`)Dl)r&hjHK$@PeiApNZKa)A-@V"QH#jQlB-hdA-M
-l!H[TX9lF5R1`CRNZC,U$GCI[`NplX-Sm&r*Ha(V#R`[rhXHL0&c1K8bLX'El[I#
-[L+a9RJYj9@5YpUI,[c+be[JZrV1e('(Hm+B,QGKKcI&liGmb@@[p5IGc3+bl24F
-b&m5DfqZLk%B[r-X(Dk[R3PjG@&Xm&r)1beV[pm,2lE&+24FbamF55HFH&a1ZZC!
-!U93@A3Pb,Q4+P8A[@+mA)kP9&ZfCR!ZC4f840qG#jP0C%hYG809e)Dr(,,V0j9c
-)Dc+VcR-KVmZXS1G#jN"Cdc`A-KI+QYlVJZj@2@qG@dN&eP1H#jQ5B$hTZC!!14a
-@THr#6jDck(ii2"GqXT*eMqG#*LeCmc`A-RR*`[r,i-f&RdaRd4XTjd,Q19RhHLj
-N*ScPr+F"FN(A8YSkBqNKeMV2KFbDXZlcA-MX+HYqciA-SV)#rh-K@rV!VENBbkU
-b([6R`XqZXKkk0HPM@9E@`hi[r'`VDi%rAAibNEA5Rbir-FYDk-q&Rk"P2H,2KCq
-SCBRrr6(D#cpKbeVXZr!6Yk`PRJZC`'8Y*4GfSS5b#r3'(%[@XDSm&c*TakVfA-M
-N(D[QPSZa2"MV'Fq&c'ba-!eediA-9E(%IaMUQI6V,Q6UM"AfHL%6Ekc09"LrG[a
-ZT'02T[mP'Y,5lMFr`HR!M9ef-4T1QchB3R&9+Sc'e1BV9rJMI+dA,K,IL%[%r`%
-!N!-0$4&(8j!$B@e`E'8ZF("M,R"bDJBk!*!$J!#3"!362R4VU`#3%$8Q!*!)rj!
-%68e38N0A588"!+a9%Fq[Y-Yp!!![,`!!2`J!!![*!!!2YIY6AGS!N!ENFJh!V5H
-6di&XE5+l++HFFX1cP"[YV*AC+'mPY-e@GQ[AC,19hFTZVHJ46[J4TRPbHKjEmcH
-qBr[BGC6XBrR&EK[E,,U2m#-mbGE1cD+EF$GKea(+4rRH2RV**I[@IDaB!m)ffkH
-j6iYX,lE*`MlhHARZNfaAi+X'YGEAXF[VD(*k2-,2falCja%H@6MjI@56cI"Ni`0
-BJ3-DC"F!!i!KQ3$&H'V&GGF0Z,[h$#N8G$S#NMM-@$)$VlGrfC2YGVZM2Z#9M)'
-!daL3!$dDd)$9DTYYUCaDcT)e!2NA(HMdVCq6r4M!q&5!S812A%i"Z1'kGIIIH*Q
-qAB0K051-`ih$DdChB28#Z'60ZUeA40+XYNV4ALGj[D2(I"VaKKZ((HDP!FLpIGe
-$1lkA1FRYFhK&fe4,4G!BP"ai0add62N)+4d%rMq'LbbKN!#Ej*d["l3)T%92(F4
-Va"[[iAGq'Q54VJ,!)[C0)d9k1BcqqD'h8-cd4iMqLIkI`aTCQZEU*)i1fG5#Q3e
-P9EaZ`2Sm@+aj5+1&0Uch!bLi"[qA3!U$5#3''iR%AGF[iCLEEmEZ%+%I[d*+TD9
-Br6k(dpqTU!"&N!$1fM5,i[m2IF6'F$RdbV)kR$2YSXeQ%DHlII-Nq3L6(S6m#6E
-Ep$-@V-Cc3L$J93IJBE91RpL0SjrZVK'ReJImFSLN2BTKY8fIT",!Sp*5TJkJkfc
-ll'-%2q4489j9S6A@e$RTJZB2DlR0Ir5E+MbcX#6$Z6XIe8edH,eq[dqF)RN$"20
-L*),hcD"IZ%YB,K)0cN0Mj#a1I$TVT@JCDLNZ2Z%1KBGJG"BAU`,`d"UG*`AjJ!I
-*VJkJDk#6b2XmT!8R"IRVTrLelMpqT3DKm1K5ScIbX$N`Xf+k2#kXSQ[!%93,i1(
-X9,CE9`T)a#1&H,c9L8lcd"L2j+6NTjdYAI@HAi-Rqh3+bM!K@-rl0)IjFjqZXXc
-Xb6&C"$+T+mQir-ljrfe"2(r)3ENV0*cL%DcceR6Mk'hPEkZ+2%,c93*iF(mDd5A
-reY9'AP350ie[9%X50dTl&11Ma(f#KfT!iTijFCVBS`I0fpl@3qdMZ4pApD2NhXA
-MrH6H`q08FZr4p94blqDK[T!!h)rTmFrNIN,B$j0l0ip6bIdBMBq6HaF2pB$N,Z"
-![AE'eNA!RYS-ZVR9GC&Ac)cUIF-LC'cj1V5a`XB&@jXKE3@+m`,2+hLrfEbXqMk
-Q'cb5kZSILIZim6p+h'pf@0@!a&hTpSdB,LiB-rU0a*hqMm5%4%jfKY1*UB[(qdQ
-R4ip65DHEaqP1ISc(ajfmLiI@f0Ae8T%('VmRQTrT-!NHARGRfcXifAM6DF6$Aq2
-Tj$'caY20)mekI*dMEJkVCBSUJ1M[cKT583hZk,GjB+IbGQE1E1,KG35$SX9I(h"
-l$kXEk`cSD1P+93"Gch5'4#E[b[DRHA4hi'kI*6TRU00QTlk-NEJpCXG0V96@M%Y
-J*VV$Y%q["2eA'Q$R$kRf!02Z8++(I[(Pb[dG&-JBT'lLNcI%D!6pYFh4fJk1Trm
-L*ZKRq*e%di[K2pfU5,e*,-4@LAKC-I`22Z6IZM1+Eb0mj2Amhr(2[rDEjP@rY8&
-Z#@lEN5kiFF@d*T0*VKNPMKJkE1c3XCHBm'L'r2S(SHm)S2Q!%,kP&I,YB6M(YN+
-ikF)(&5jIf#D%ej3*0pDAB$8RbR##%&ke"r(f6`&"L'cl1@fZTH%G2KH-E,Yq"C5
-1$m`U'e&'GF,(qhaT,4,q[lK-L'H'f[)pN!#lB6HajIAmbJ,)I5Q9e3NlX&l0kmU
-H'XH(l'*d8l'b$4GH&B$m+r#F'e$d@lAKYU@)PI0%k@e,KBC0M8*$1pIGj)(Hk!&
-6[6YdFG$[R'FU6)fdIHP6NECP$ALZ34LYm-b&@9JVL,4pp68mRq5DYBQ'50X6b#@
-q,UG`fRbJ@GMmkkT)ff-"BH8I@i8Re`6S$Q+YK*4R5q"R`9CKmh0ijlR9N!!jBi(
-#j5GBhfZ,d#iHV0B"V+PqM6bUkCH&1,XdYANAS(p4+YU6(1J69[k!cdbT1b,ZGM$
-hhUUpCmR,R2r+F"(G&kl[aEN*erAI5Bi90MpIK9L2!q5C%5-26a&2!ji&V!9BRk3
-(h$kRGlj,-KfZchGlA@*)PL56G@U&#E2Mkj!!,Gm1#5[Ub)Z*[Y$bV3+KTDNNf4G
-DQXb*[R"eDl`[)2l4[Y$5Y!JqXf8Mj$kbI-NBAQq%r0TE)2I9YGJA@K$Lbj!![I6
-a*KNSrJKiIhANaqY`[cAD&eUDpS2MPEk3!1rIcrY#5e1F(1U6KqE5$$-TD`lfq3&
-+ULDErh15E2-kI&LbL6CCFLS4cS@$E)G,NS18(c6-G@F*'1EX`R-ERkLjlKa%iS'
-Kca#X(F!c#h+ZUB$XTYC#&!EV)V!K[iShCYHG0U8q*-5+Yk`11Q8hR)h0%I(j$UE
-V,Ja"U!r(6dAmpBq$)5qa2eRiYA[-0pa(VZ%j!r(Z!X2jkpQiRcCLE6[bDq6p2lZ
-T3F&(23MId$mfBXQ$rR`VGLGSmYrd32'@*PDkF$F"QTGYH)e1K@0c#-mL0Zi"[*Q
-l2DET4%M9J@k!)Dk6B3*eSUk3!",P"kiS$kTMcb-qE0aMlfbB2!p"1!"K0ZkU91S
-KU2pbdJ6aPEbPZf!jC0qdPRc!pEL9QINCp`&jB0!K$m6F2XIRrLcqar&al!Eh3'P
-C&R1H-j)jmhDcdRlBB3em8XUFIE2qh`1QAbSTbaRP3AAb!2*KT92LkDA(!k969R-
-21-r'UBN"pHQVq2f`"ajNIILCp-$&EhM![M!BNZV&mJ8Kf4'-qi#9hG[)22Y$H"B
-abmXBrR-fFZdmHcrT!a-I1X!,RLJ2UT-(N!!2+eYrbpmm8(Eh8Zi"cclX!cNE%Ip
-B(hLBCI-ci3'H"iTXXYmM181L2H3)ZIdq59iib26kREK,e#(b!"Xhkb8eJ6a`cU%
-qJ!0"f5'l*I3mjB'S6q0j3&fK$j3[crZJ$e5rf`HqcmE`-pN(-JpjJ#B2CZ5b"hf
-R$k12LK+#aAfX3BiGIF#c0p%(2(X2i0R4"cal1rS!DRbb$hMfGI3"VNGl,Kc`ZmA
-*2Z$CTr3"lY&pfj&I4amJ2Blf!446KbmrC0MGp+k%1&'5cQ`2UACm0)2*8'Z4rU!
-*m$-NAZ&)2Tf4cTr@`*2IdX0C@1&(&'Fc[5##'m,P,RIR`aCGhhMmP(e6YUKUPaU
-!SX3RAV`83Q`HDq9UBG+iBbVAq2"V&50aJU`)Rp2qi)SXAHPHm2VJ2+iqImZNrGj
-fTEXHFCIUccGhEM$NN!$re9p8!Ej4N!$fLD(TUCD$R`'dQQJr6Ej5Sc4DZN&rXDh
-bfE(UKffBJ6rRSdEc28c$Lpl*TjdXa[X2J8`1"Zfa@"50,$MBV&+@6e31E0XHS2l
-br*!!NBFHHSIU0#&"05B(+Bj*2RR9m4bB-&BS2ImP[&,!(J!0"9!i$r)$Pp+D'9Y
-XVjJp!2q[e,k3!+!N0'-XTfL1ApPhJ2DZ,U"DG3(3q()De6lI!26S!9mb'@q"@IL
-A1)+K(Uj!2[aKKH(2JS5ef95EZaB`0M#q!6Mi+8$hXeZTeQmQl@qa293Ee3H@!I6
-P)rbD*A!$32qP9$2eJ@rJV!VVb1qlF!I@eP1YI$$J'(c!`aa[,Mb#Y8HT&PS'q$a
-C)FI,(!kii&()leff(ICLE3I9VVUIp"Ti(p9XYf-hJB&i&d!-Bm+!JArL'[qHi6V
-A4AcXR9I+m%@bLp!V!!dL+m8DA`kTU')iEa[%3hV'H3cA`!CYSPVG[3ap-1K&EUJ
-`M31,B`BpPla)"HeqZMIi9DVe9RC$+afbcqfVeF8'b&Chd*NC+k*PJcK0e[2ecrL
-bB!BY!&[m,QQbj%Y2,!2cDe(NXbb1N!$$kkr9ajJSXrN8'V(iC@'5haG+UA$)Y9*
-)0m(TP(!6dHB)eH&p$T0"EhT%#@C4VF`Ga'e&UEi'fDFR([cJ1&''HNA1Q%E4FP6
-GB)TPNKA"-U1EpM'8@$d'Nd(2Gm@)8be*22'feeP8`X9VMKF93+Fm-B0#qL5[$VI
-Iibcr"`h!q0KDjl561mV0cQiIkq`pQfcfHIYmHMR)IMefkkB[Qh5qH1T*ApDDaYF
-cGQ[PPY$)INBff50''1&Z,pDRa@iIfC*0CEDCl50XRld5hT2E4jjhZSeY9RVjqpL
-@X'+rYI,**SYN(q(!MGKYHMD8RE@'hfa,Z*Z-'0P2EL@862D466B``5XHUfBZAIF
-#J),IX3"h2ilIJqKci0H+[ld'U6!G,$!fVF$[phTFUZ(4I@qL+DkIhjkrSq5K9lJ
-KMjV&JMb!bDQ&HPfGkR0VJH#MEr155c69#!@di-`CMiTrZdc`NKbU6`[kM0aClr!
-b5MaH,IH@h()MS+PeehMT*0jDE[%'c@F%raDr**XRD*!!H-aq*aj$bN0q[ai`FZH
-m`dYa'Kk[ar"S`HXmQkFUS!EHjK'laKZ5@`V+M,--"bq3!%Ga#"qEXAB-!L8IUi9
-PIkUY`%8U4*l,hbdL%RlTV2*84I(+#Z)"#kAZ'@Uckfl0@q3*D#j$$l6$)mfh[-Q
-Tk)&"M*V&U-ZUeL1e8h#NHGCcJMVV1E#fD(8%G,m@-1SlY)CI6K%4HMN&NN4FR6k
-hVR@%4P*rjKA8RhPK-0-kc%Q,#+XKpTTf1LUF+lA1K5'-1YaC($B#UXXS#HKe"F9
-&@Y$9!ND@,UNk*&2Ual*XP`Td9cD%MreD8)rp'P)B0F-Qbh4hD#0lrlL,8p%$UC5
-k-FZf)+#VETFD0,UjNI!V)iA@9dC#'U1QfdL*e(ba,%,@Xj,k,+3cDUE0S38mZKX
-MkqhL4KSr0j46d3-CP,SqdeDN'LUVpGh8m)NG3ZZ*(C!!bDLTYLY%5Ue2DZC8p%!
-@THj)TR'0-C'kbIY96N82C$0U0U8Z`J45ZdSH8Rdl"G@h%iC5kXa8fi+3!'(deGI
-QD3G&cCYf%)BaDTUY82AhPH9)q"I2L'cia613!#1TZXm)k0eT4kK2leR&UHL"QaJ
-e`eEN8Eekc3)ph&04`UIA#+fRem"`35efHi`5MqCepe#r&&Bi&6d`JP'6ED3*l-Z
-mVjamL&24!b-C041ch0dAfXMH(EQLjZh)K9&#kh+2YV&2k`(A"Nj&$i`@qEV#Jih
-$C@kNHHBqNDmcpm%B3P9qRfjE'0!hVYCMXBf%ca`41A6Q#0c-U-NfZqB,p8AS#E@
-'8p%$BaNeM9)AU,(@*[*%j9&"V6`+lf,8('H*9mG@`eH$lFRpKZk2dL20NhD,Z%l
-D$H-)&@CNBAP&j$V5bJBlp6DQ[XMV+r(!H+Vef3aRN9B9UUP"FQp&qGAc)KYqp6c
-N-QUfXbLJEN4QZD%DRAN8HG)hQP24!a1Le0i34F*Rj`LYCqI!4%E0FKEl0RJ#ZUm
-1'lhZIZMX5NPG#Hm@F5d1Zl3VG6QbqDHLXd%2[)G4-je,Y(UFC@$Md*9#41[ATGD
-[`b5KeDl9kB(kcLD884Z1,1&8p-!Y)Ui1c&H5j6hF52MFRi6@Fhq#@d@%bM69jkR
-Vk@Z3!1UFrN&143p-&K%UdfU`)m)C4'q@RemRY*jI"lF*VH@ZJ+Ej($K*kFQ'mk)
-1S3GZ&p3+,@a8"&52dCY$jbp)kJ@iJe(6R+b@Gb0Tc8X+LCUA&))TSRmY-!c99DY
-@HEZVHF5CpjM)KVc(B'SVYEHJB)51[b%LG2`0b+28F6N14bkYP39HR'd%m`,"J+Z
-P[Rlek$,PUE,bXN,LJ@P-Dik0$LL+2%'rDVKUfp[cb&HqB4GGe$IX-*e5pfFl+iT
-*&XAQ2C'YpMXi&6d`3p4AR,kS11NK,@*hI6eh@&D8`c#6aA8%aTAT*1-l,%I4d$E
-HpcTQ!idVHQ!@ke&S0apV'SM@,`lDU1bL@Y%$la9G,qR,BpdVLG![RCb+(TJYU!k
-2Li`[Bp5YPXfFLKkB`kKC0SGAG@QPZVGRrS)+cdZYjf%ZSkEED&A@3ldcKdMieH'
-#qZT`Z&03X9,UAL`-[G6QqAQFLKkB*kJNadP[IPRVLe,VLc#IeeH(3kmUp+V"S0C
-6ArG89A!UHZ"p3QZ*lJS&,kFHcJXL3Z[T#,bI8YGRfdTaI1A9BT1E52MN*N%pZ3R
-ZBV8KdeDQZMdkYYQKYYD98epE,DL[VBDl49pHS9CGCP,UB8Np$2H`Z!kM-p%0@Lc
-r)She+cJ92C!!Rjq-SrI[T5rbBBYAMH8""l1G@KZAI5&If48d3PA%!`@-QXfQSAb
-fh%&Z$0je#+QehLVLJ3@%DRNKdlkLX#b%M9kGPYHP0Y,ml9H9AAD(VB4iS*!!6E"
-5E!@"J0Sa3CA8!kA2m,LL"iSBG5LMAKjm46ieSi&6d32&M*T*jT4qY3G*-qrBTdA
-Q(IXdP1$'!ScGNVk`[,aFVF-4E%q3!*VfeH3`+[(!3NE0[%M&,1V)KUCplZmSZdJ
-$3Ma3fNjYDlXBe4MPiP6d`+,m34MA)F-FMR@dBb[99,)UiA!84R1SHLIXXYX,5kP
-R-G1DGP&VE9IQ0@hjq'pjA0%$5d3hhp*lYC1ailS!2)I3Bf29#r1eYAT&Z6Ja(#k
-Sk,%6+Zc1+5Kfk"Ze!2Bh2Ua'(Tc!Y(!M'B21F5Va,-e2!KJm,VfJQ!m"kVX$fcL
-Ki4#M8Xmb2Y&R-h)q0-IkB,4&k1@[L3LKam'd@U[p2FNMU(ZIRXHTa2-"4NdVdi*
-k+1$#[UBE(Se3QHJ1DG0!1TYZ+RChGiS)SDGF8"HjG"qGF-DS)b4e"&5)15Af+,(
-#3+LE0T9b+[%iaIb9p(PmYYb*MRaUrRK1*ClPE*kAf6,2km!fVYQ@bE1"H&D`kT9
-4L1@VEbcDY+rfQ+M+YFGJ*DrPPkKGX@hD8Ki80Dmm#+XBGGLP@Kl3UMeY#GKN61&
-p!r(!DPD9KdDVFR[0fr14$r&X)*jlQGDNQQ"[9H"De5-RZ9Ed`(hj+3!T8j1afT%
-KaH9m[@I[llK@iPR$U%2U0kMG+5FlYTmXiP6L@BXE1P!D6-(*jY3ke4AM0P@Z1X'
-Se,11D4dFmVAR6@Z%QViP)S5H5KkKS)%0GPq%@Z1UFQUebfGiVe+E[LQeIK1UH)5
-#111p'U%[RhbB8iR(aDQdhldDejB)ZAQqBMCJD2[bY58E0"lA8&aXP&V0U#NKh#K
-6Vh#Me"UZe@A8qpr5Z[Fh-UkrJ9T5'aD2bFEUTISpkfV)JSkRSd3dMIrZ+9kpd!-
-H4NeQe-YLQj`rrL5[+-5cAYBmYpG6pIHDGcqGE@c2,&KD[LLh-!plj*iTaB'ECr)
-T"AV!5kQlKpK9SlCRK-*kP"pY&4-4p%!GS9TqN!#&R9G3akk"$&K`KY91RIhl$*B
-0a!-qRUq#HL9Ire+pG&U9(dM&9##Y3e[[Ic'(RVHaZ")2q-PHjUMm(2Z+[$U2-6@
-SZqkR+B%U@Q[jDTa58#Tki!&+AC!!+T%p)BTXqI`%(L(L#G!Xrf'bAA99&$UZj'[
-$SGXiPAL#6'Zfd$U9e+11CL@5kHIG)I8BBR1,,'THhG`k+DCPk)%3SbC6DYrZ5rM
-%IN%pX4mfX)iYLr5846Kdl"fcBrrC,$[4CYM)U*NYe)kF30Bb59d'B4UKM`fc)E*
-[43rRq20%K)l2JhUaReH1cD&A3hE[9X6a*bAe5GM%U1P%DbbSK0Via!j143mm5+R
-M4T,Y!Fl0lG`J`*d"9@RJf`-U`-3'F#VCq1-BZMe-c8)pjYa0@JPrep"14!'9eN8
-&2,4E8-"'CdS+"'KG85")+i8#$p$UT-"UfRmVX)K1aa5SS[fG!T@dEe$J2[jfmEH
-EpNN+V10[MEqVqAXYlAX9@%1lCJ8fdJa@B#@G+5K`,qhF&DLP2C!!!S[TI%f"9A4
-kS#L$&H`HB(4E2TKe4YU'rR`Bb)2erc8K(hJH3$9fP3"*EAPJ6RkNVH$[YVJ+hCI
-bEG!Cp%GeQK0FD3[j'q-YmXfkIAX$rqZ3!(AlcKGSrDNQlN#pYHUjkGB(ce6H$i"
-ele5$YHT3!eL1Zm(blB0JH4dR9DrRJf9h0PJqR`b@Sp[`qcMkTS$PjcH"jE1I32q
-(`I)8lY2rp[YJHI`8XJK[,'V!piNpB2Q$(rp(jKmH"X[6q0r4-,k2JqAr[FK!AE[
-a[pfld)GD,k#qPaci08LqpHG"pdaD@QPR(PJ,+Q8H*-h0jRR3VG2Fcj%f8pCpS4L
-XMqbTK1AFZ4BUVCZrda$6DHih5F[VeEQf9@HXITLGN!#d"dAHA2b&eLPHRkbIqIi
-Tkb1,ml&HN!#qB*reS@PBpD`26rlG)I,#1Y-!Iak+[+a"fp&r#,m(m2X'8d+Z*Z$
-GJ@eiJB&%+"Rr,-8[AQJJr68DcK`B+*E@5bFJ@%'QJ9mrIV%URpk-ljAiG31qERh
-8qXM5kE*Hmq9qfEIdlj4,)p(YUYG,k#E"aEi!mij',kV6h%+A*L,HTV0IRpPl5`X
-Rp*RpYV40#AhQ&%"DrA9p109Tk42kY`fP6Ifh[YJ1T,3T#AhQ23*TU3PpjSDNY'N
-*IHCP"'PT!rNA[k%J,Ifk2YCr5(hQ93*T3a2kc2X&dSEeka0p6P5IZD%Rl4lq&R1
-TImEaVBX+dR)5H@,HAT!!GY1![[L9"QR$%rV-$9"TlaZS)r(GAQR[6HJcle&)'c%
-3[rL@XE6C#AhQ2V+d132j(GpFPMCh30pI+cLc1a2kc-XKdNB1a#qqE5eYhN"pLYm
-`N6BUSFqmGL*Yp(9pZ(2C'VriPSFdFTIUArV-h40TBX2dKMjc9ehDq`IL&lpk*#d
-MSFqmMb3YmlUq`Dhkc$YJdX4m,+E2KeY5Z+lETXqm'#C0c%rXG$YCJD9dQrGD[pm
-6cmZhaU5*1RT$RhPI6*VJQR14U$lc%TQd)IbpM'jBAmX6`H-kc8X#dX5#h!epjXd
-"D88*IHCe!QR&#AhQK6&T@3PpjLdbD@6EkfepBKrJBPrleYd-DAFRp*RA2+6GGEd
-14[@CPf5NcH*["ldCF+d1YZZ-Adq8*[C9rT'(mEYLdXBNp*NAb+6GR0"RhLU6KTG
--%hNH[r)S6I6&EISq`2[%rMLDep1N[5Z4*qCY*QRN8ZK9I9[KSrKhLYbl%I@frlk
-2Y2Rm,HEPCI5qK3,Pp'+&!Z`'K3*1HPAL5Vd8q4U0JhP26YUihMJ[ThFT1[)TUY1
-m3#GYr29mMHScEp9*brf22M04*L6dQII[T%e-k$-[j8PlGd+IH902fRX'iKHr[LG
-Yd[@qT6frieI9T-hSe4IEdf[2mrJp3'Qh$14Kr(+JY&X(mM"qBe$Dj)(iaDm45VY
-Y3&rmEU'dfa2kc!Z(dZlSeiGlYh5[9ZcELIP$rddcDIRmhD[$[()QV5#Z`lal*Qe
-"[ilqbb65F"(iUJlcTSFdNCfp1Xb,)Y*drKCp495(H39&QVLRlZ2h#Ql8"I0'Lc4
-bUCkEGCje'r,aJX6Srh18H)2m(cF1Ih#lCf+$`aDmG!I-3LDl&NHj9[2Qa@eTR"*
-C*T0rb$cYI`!!'IB!!!:
+:#d&bBfKTGQ8ZFfPd!&0*9%46593K!*!%CmB!N!3A$90*9#%!"!!!CmCb6'&e!J#
+3""C#4!d0&8G6N!0KEA"XC5if1'XZBfCY,R"bDJ#!!*!%""j840)[!*!8'P`!N!6
+rN!4069"53eG*43%!V&84ckqdd,X!!#m,!!!jGJ!!#m8!!!i4[3V8j!#3"U+d$F#
+Y*j26JFNFb0lNG''(CbNr,FTGQ8eA3XZeXbZ[Ff@hXPYVdlETCTSRmcbfjZref8A
+V+0QD@EU0E4EGla'Hj,LGQffkbI(d)j4IRT[PNdd[0b0EZR8Iqik`cIDc,pefV0J
+QQeQ@4rLj"i5[`&F0i[5k,VfmMLDRab2m[+eNRdGiC*%-pNNf`j-0X"T`1ZN#B!#
+3!"X#Z"5rDXhU@`FqQ$a9#JEX0TmN$Y2R6FAVVDIA&9DVe9EPFd[kd@2RkHecUr3
+q[dZ&0meQb`a6DH6rj')')6cYh3&QQpI-60d1-'i"`0#NBlFK$Z$f@eFrFXI9fPB
+1KT@2d!rA$bmIhGkV"m#B9DZhc3iPQ#fPSV95FVY(Mld+q`hA$cZ'#`P+rqEU4hG
+rVqG%TmIQ&Lf6658"I8#biGe%8$(j8+G%%2Mr5&p%#GPF*1qH0&"M)c9UkY9qYAM
+MrIiG4i8S%K8!8%61PF4)$j[H1criGKFMr4(#Im,rCl*DPU#k[Uf2$Y(-KP'Ue@`
+GM-&k2i#X'r&r(X54#d6DK%*4PI@,+H5ZZ`!QK1M(Va!c#A&QVmGQphB`+%!1*,)
+QeD,Srk1(d1LZJ4iTCTYpQP8NDjMLp-b6r+mK#AH`@%a[GXJXX&LQR*GF'Ai,I$k
+h-J!1XhP+B9FIl44RZ6LjbZIe"iRDich-PLN6&3*`P*U+P!&iR@'GF3,JKcK+LQH
+9U2APPADkS2V$I9cQMrpf&Rj6X15(#rIq5&0SFlZpASmi5A,lU-d,S4$H0i*fi6j
+KU8J`1!k9RU-iG66Q8Y%de*5EHdSG-Jj"Emr0936!SGEE6a0b$JI4VJc!Ukm$b!F
+iT1V6K2ceb(UYr%5[C"!bMNifNK'(aBBC&G2N5@*PARffJ&)!$RX(Xefm8N!L(('
+%ifdR1SY$TAmY*l8Gp3cTZ[Ie'MMYdh&)3d'JL[XdEr-ARjjPQYDGBe+SbF61*12
+`fZIrei*ir[!(r*fKi3b13+@l[+Z2eP,m$UZ))cKI)3!(ekFH9I*[ALfNaDj-VJ#
+5Z*(Dicdq5YbRF#J'*1jTK9H+hAc3I1dG2T3qN[Y*9Mp+lTdi2NMZh6M1*2GZAXm
+NpbiFbJ[*r33IrdcZTiMp-,Phi6L6h%r!q$LjGq*3$NMZ!Jl3+kCZ@`6XjeY!-kH
+X-[5bN9'pGl-)59Zr$NdXZlCk@cdN,%0bRZ0j"HrA'fmTHjKT,Ke*GH@2a(e5q"m
+PlVFF9M%JFCFk251'Lp9M4lqCZ"2rNCJ3b'PR1*ZB1R&mN!"dZ[NiNh5kF*aemK-
+i2REb6KaUIDIVa5-1&(jh0$r[-$%FEQH(lEdkfAK,DB6$@qlU`$'Yh0@&)m&mFTd
+M+JkcDC)L!1R[c4VLN3fZk(G`S&1j1c*R+Z&`f`)"dH5YmMRGapL01!-U@TUV#-$
+VH@H)CI,1E(m@4jF$GqNXjTc"$TQG18NMF9[-LTYCmD`HPli-G)HTpb`(lCGVB1m
+2UED1UAI,d81lq"VjrQi+C!cL0r2*'rDS"Hh0pH(DEYj2q`9-d%rc1c(6Lr6IdbK
+6[9R-4U[%ILQ4rZF1iQrF'qj[SIk)kpQrpqprmcH-+jkh3(SHVImK,lKaaG)-G1E
+jbdH*)iB1'cGdh"K$2@4@VBIH)i$Q!d,chBf3!'PYKVk@CF+G&kqAXGb`8fKH956
+F8C@(eE3``J+KHF9"l(Gi%JK#D1G6Y+Q@J(IiA$#dmlCPN!!r`6HpD%34eDNrhZG
+,DU(Qhd9T`Rj'U#Jq#1NE$a"DAXmXcB,d&q0CTE!Ekf@m,ZqTmIk3!*U,DXU9Ypq
+D9rJJFcCqjrKNrPCX[(F*pNTl)[rH*8,0jPUKTKAV!G*!NX&3j3`1#AMYm``3Pad
+ID[VLjD'Q@fV`Z`VEU)@R,dl"@PDSk5Z[i2G*cPQ6U!Xe2B&BfPFQK5e(kS8Y[jN
+9DYVZ%jErX9&iFT@2lQ#[j4$hbcci@D"4f,)IlqaI#6fR9XYBIS,e&NZSLDSV03#
+VbPiKMDVkT@#IIDU+M)Y3[dJ9l89HiK'@2mCRTZ51f(FA'*1hU4qkk5@1IhPc$Yd
+AEZ["X3Qh$YK,LK@f2$X,Hqd!b$"LM`cmL[M9i6H,0B"U%VT!UDHUXU*Fc"m5@1L
+a$lPFY*UR@3`PPC,SNDi9cC0,a2,j6VG$$2SPbB"P!fE(Q(#F(VYl[N-b0(`l+#b
+V*#h'I+(K@eP#3eeHQbmde"PM[R"pBp3AX2paAfLS@`5IflS*dVqrp+Da[&i,Q49
+h3rUIlN0ID-!@Ai,8*6[Ur%$a4m$l+d-rA[f,U#mde"d'fmZp)G0lQ2Y#3ed8(2+
+6JH*5$62)D`l@q6j+UJD,peV*Eh(E2&LbL"DrC*FMR!-(f6D(j!p3IP!aapSmd-h
+FKpqGI+,Q@$ZBb!0GVmZ`GJ5r+C!!GQ-*T0BeCL-a@"H"AIEVU$%lePVNqQ9"PVY
+eCF$ZGd)I0%IXchF`(3pJ#%*qH2pil,pQ"qJbB[Z6f9ppb(Ml`k3DRM1`h`1Jklq
+'MIpT,GCf)EjDl[qTG69bIq5$qZX'4%BX'6#!Em(Z"9AQ@aV)h9V(mKFHS)E'@cD
+q3PmCBhd3[cPXr$UmQEiV`QNKa'Y!-e!Aj8PA3%l8'9,#q-!4aN&ep$c#`mC[IhI
+$j&N)`"&SCZ1[LbF23IkA%LIBAmjEQSZ@3ZUGpj%11"rh-#2r4R9!'KKm9!-4YFr
+d1"IJIa`I4fj`$H3AT6"lhj(-RR'!jIG$KpAa55QcpdljI`dBRT&6PMf-JqUN!F6
+$mLG&ddZh"[)RVH3DX2I"UBN1qHNYkrfB"YDcA[cETS%KEfV!ZM!3P+V%iZUJhaD
+)kS!9IDH@Z3i(mC[$6#pKq%rEa,PcYIc,"`SI2F),VM!1UT-'%!mV@R2hhc43p1!
+5VJ(A)I5"Y%hBri32E'#Tr"[6!-m$14DrebACJk)eD!Xk[4l*[h#`iI8l8C8S3q3
+"0RlkLdS#HD$[84r!JD$IjRG+U(R+!f'G4[1!XS)2&#r011F$CHrj`!rB@2jYmi'
+H4c9!N`FMBMQ)ZY-fSijbBS4&GDa#M1dqi'U*qB#Vj3Kqfhh!eG,Z!mMaD4p`(@V
+h!Fj(DbiFq2[&E6lJ1L6l!0ISS9f)Vpd(L)rM2S"ND[#PKb5VNpk4%!XPkIcfN!"
+Lam%C$([p$3aPPU1,[,S4I5&#2SRm+3hmmMYDZ)!N`qr)0lDJMl$NYMG*2JBr!Bq
+mEmS@cC*RUjmF`K-Y[[&H"Z+8jBp(hViFL40NQIDd'*Nq[c6A@Ihki$c+2RqlT2A
+H,R6AeVVFDk9#M-(mjmbC%`MDr"d2T5JJR&'3!0!UrR0(Fl5K$Y3Uf8*CfkXdXY(
+5$IU,YXTRaiSIXQ%krRb2%XhC3-1,pYKNdMpbY-QVX5JF@A#`U3`3N!#kC0XDS0k
+)6hSHFP6(SXlEJ!4&J!HBP%'1V*Lf*klDRrm5aJRCrdFEI&RXIP"4!)8Xb24pLYE
+-f!*VbBb"q(qaqVNB*+%HBcP&Fca&h`ADZlU)DQ9C312,+kRfq4UJ4`riNXN%%dc
+([bp5E@S,2KZ&3cLUC8`!I+L"A8fe"90`c!CX1G8q[3G`m34(K`6X-0`!d$ZIDRd
+Bi&Ea!"i["Pd&Am2je"+UpGm!pf+0Mh6RV38Fb`fmRfV5)0L)06lfUci)Mq'H!qp
+R%!"A!l,j[8Xq!rZapMM9aSk%JhLMM[1KJMpMl5QU*Ab@i8,0*5e8FkaM1$)Fa$0
+'A#R$FGbJG&lEcR$82QJ2emFp$2R+HB&U5@D'Sr2"$e)Yq4Nf%fZriL*UTK(JTFq
+(*A8KkBm+kX2m(PmX5CEh38YYISr68k'*$)h0cS#pCk5)-JhJ"&R,9ckM#i**Y24
+VmMUN+b42BQ`"Q&m,GpC'%-Kcq,KLKc2Sp3X6[CjJA)R0Ab%&039fZi4EKaCEX",
+[mcC*p(j('&J+eBUF!Ga-P+V+%A9Ll(%2hLH#9+Ba`Nfi('Be%'HDD-CQ2F0EpC%
+ZNAUN64)pe48"6V8fi,&h[#kJ%LjCmhjK!M6bFc*)T%GbDh$62BVbI`#3!`h!H*V
+A1Hhcmc,2HLq[ebBjbZ[Sj5$,pEJVTbqEG!l`e2$-`l0E8mVa'EZe#0X5'YPN5cE
+Cj,C210Q8E!Qrl-R@I5EC&-rNTr`LI0)TiChN0hNHi@jMhF,26[PJiB5r[mmRYb@
+hRh"b$,J4ZfKVRhEfYBEIV#2F68DFh$j[*C4-pT(I`'39H-@UXmpR'(i!82"h)X$
+LG2bGKMN2rLEMhpk&G*J056!aSl#qhUrl9%Xh!LF`&0mE9a3dPGlk'JrNd8J#j!&
+-6bmbkZV83,9Q"ZrqR*GDUUP@b05#FqIF,IlE(B+AiP%$@M"JjFhlM*F%dl0+GEq
+@0bf[`M)eYHkF[Na5Ebf[C)F@X)+Ie5r&T3FY8SrjAp4[4%@S[Yi`VE`&Ar$5[*E
+ZebeG#hj4lc5AAQ@UjZFmmM%G[iK1c2hYVmPh$&m%-1rU+)m#iARb84,#MphS(F0
+!+8#h50UIlLVd%BI)pp9(eGVKrcZUl+NX@9G*-T!!4+Pl4lVF4VAQ,pC0c@FCCLI
+FETefJP-a!m-B0BG49eGY3qSC`AEV['F%GGicN!$FVY9M'[@DD69dD3frNLBUp%S
+DT)LkHJ29KYC9'NPpf5qS,rYK10-kbNY0K(Q)ZkD6MJSA5Ud,B35MM['@K#e6p9Q
+PTP&A@&+X"AhYB'3CNQT!+U9q*mGebU#lZb&mq%q#H[K2N!$'U&NZDG24dYVlr[j
+M6X8-T&2UcKcAFY03UheUd)TblI"Vii6@emC""U0QZSK&DS&B&b(VD8Pp'M)C0G[
+Pd8cGU-E+qVZjG[-24h)UCL#,8VGPZiT95f9H(k@'Mc3*V8HD)*Y4dehp4%TY5'R
+P9-a!$U8fTG+kaTK)hH9rP&-a!lQ-QNZT+l'"e'l,3fVJ(N%0h!-M+A9ZZQYjb,)
+'r,9eeQ2#mfBp"U-B0F09T0B2f,)GI[0*d3e[2JQM*G8)@+B4E6Y#IA$[HNl&$&c
+!U&QZBPhe'cA,MA#2Si6IfLLd[V84aJKU5E9ZPHUD[lU(q[1``UQBJE'-QZSL3q"
+!jchFGLZRBJE'-@SfGRRe3'RYI8ej`[1DmZ"#SA@0VZdFd2U)E`HRBJE'LhjGUq2
+Jd-He@qFq*2TelN-`J9#9Mc*G+daMj`BM9PXlr-iKd82[()+,'$A9jGB#SB%+hDI
+@F#TQB#+MCP$UFM8ffYMhEAP*8,Hm""FckQK[UGr!8503Jq2*GXZSMp$YeURhLlT
+1[4mQ%5V-b8&l4H4Q-XS'cqKY6Rq"qb[*`'5UpHNXEl&@&DUT3A+[SlchR1L'pjk
+$2%E0p4DEkNjN9PLUGDD2l"m&aR-UCQ"+K0TE)MYmG)(3HR3"A-+S1Gk5`!lG0!*
+e11K&jk'Mkb4e(9`UkPS5pQRp[Qc[IP&-0TL"baJeflY+Dm"G"Ji1h5e%Y$iZY6i
+18i9@YeCRQ!eRKP"'E6bdLP-a!p0%A6hBVk6,HlKfq0M(3ZZaMq&b8D&b63hSG6e
+c$9+pXlr"UCL"kD*#j9S06N5iXqMYmZ1EKGEMQf''d&VK-c8Yi-&05Nmh("FqK"Q
+i3P!VYE"9DDUkeGY$apqAe2IK5NE0m$)[Mb+Tjk@%K1HPK1!U-Em@@TEUUe@Vr&%
+hYlhjpiTZb,mACTkQpKS+9ZM9$d5&A[d!mLPedQL2*ipkCD%IGa["I$0SqYVppG'
+A9LYlbL[+LdJ'CM'YSeed39'X"qY9beIE1ClE$crK&P28%fkB6DRlFlf9*D5,B[X
+HqcEhPCb+'CJMr"@h,bTZHXL)'2AAB`HPSab%ZDbZBl'Z6#GChk%G48VEI21IX4Y
+SA6%$mpL-3UIjf0"!Y2jXf%kPN@V&$&`YTPibPmHQ9e+KrrGb+QCJ[U"kG"pCAmD
+SYbAYjP6-`!*'cA&jr+T2+c2m2IXA9(KFDMd1#aNedd9Gf3MelKcXm0YM"2AY-E"
+)80%T$6mD3bqeG8NqTf)'&JXUkA%bQrGTI8&UI3'@F(reH)bU)VmD$'SprVUhUT*
+6-32A#+fPKLm8l'Xph"IB3ZYE0LbPe'fjVM*FArQef1E'$VIY%Y5fAE#-H81fUeb
+YeJdFXd-GSbZR[VY"80rG!0H+ZEa5VHTM8ZT"56d)el'kMU)ld4eDV2rXjSDeR)S
+C++$8TM4AS@QUAIY*5AfNl%P1a3`8-ZT)4ZeE+pQhcfRN9-c!FNE0*P[!HV8(5HY
+kq!j4em0h3"&C'NrFNlQLN!0#VF-&Cdq4@Y3hRQ98NS&L4Xdq5FApGp8CkX[P5L1
+aGj+"NNjUae$$U%X2hmQTQ)&54Xdi5DhYlU%@p4$h9j+"&@,UECp41XNiQE`2["X
+`8mDk($[[G*G(Z,KC'b1SQ&P*U($rk-)5Ml&6-h%1#&J9)4dh&HeF1f[B-8iPQHX
+,8J#'6mSX,1($FN1dX-e6'Jm`+XfXiTY[YN[QbfAXG+ZM3Urm8P3)-bkQ0APVI8r
+c#1Uq"aGc+XQi'6@MA!XD)G1(rKq&4bTdJjLLU,Q5#5"+a5PSNDJ3CPB,kNUI%D#
+E`"KeV+51"BrBjk'Aaib"8(IY+Z08NVP4l#R*2-4hX'I3pZe,*R-UbC5c[9Gfqpk
+V#pZmmFjXhJdN8m(F+kX)l@YJIGLLYMdJh+[Y!DMNVRb+fPhEPU9([mZTQ!%[Sii
+kjFUQYPA[D-#@C5-2F#TQB%h"-1b'%5-pRXedhe#QUH63Tp2cpRlVQl`E5'BYdjT
+5%qae"HR+EG+9ff"G34T!fXa8G$Xbc2IekhAlrX+eNXak4Kh4X%10YTbJY[ja*DH
+5c!DmC)'bB"TZ!'I@UEiBYfA,qL1-5M-h-Dh$3i(1[MPGSCCIL3TKjQCHSD#&JqK
+!K8lAG51RE[8&,2pCDXY68ZY6X)PA+)Lld,-9qNAEpcL9C$CcUUAApIYNCi@fm(l
+&EX$5$[4VHcHS[+kKZ0J)YBT4dd*iHDAfFb08(pIUXaVU2p@kld0Ce`qKQRM$p40
+bdEh8HRec$6PNdEXXSQAbEerRlS8Cd"JeP9(la,Cirr"GlLJNXe9kAV9IVrURjp8
+8T+)Vrbi(Tk'JJ8iHY%*9Z(rTR$EQIj6&+N3b8-Yl5&$lHqJ64p(*GH#&bp2VG'Y
+Qd2"YlmADHhibK90*CK[YKYqRZP9ICC'R[kk0"fC`+XPXCeTcKGDCT'ql60h1VZG
+6&-hia5831I`lH`R8*VB[Q)%k4NfPe)&EL[#4rB*kC$m%k0a`5aC18HcXVQ("SPA
+GAIkFSM3'Dre9*!-'Qk,'4+DSSP*h1peqC1XfD(5lLmTSTTjdHI+cQ5X$Z16CLZY
+$9(bQ3XfVIeU!@Y%#5!CZBG4FGLh(E`qlb-h"C6MRN3U4$*L%1Z`(i`Y[U&LC0re
+UIGDLkKPj4IQX3[N5ElHqZ%"TG(YFT53$38UpI,4l,319Kr#'!0dj)YGZa5Xa6X8
+V-BY@k-AaEY@U44*$#p'ID$f!Qaj'2A!R`+4D@+hNiKmRd"Y@&M6Ml+GN&2&[(r9
+j"6C5Ke0!SekX3"RGf#L`MEU4!YZT[bLJ8dp6B!fGEV'IDAmUX)P16`VF6&eCJDh
+mHahrhXbrYp"T4)'Eq,I+[k[ip`BkA5U`RXkQ#V#*AB'eG#j@S*T1'!U8dZf9!Pi
+kQk0H)0DBdY%2cMj"4JArlULVd(p+jl"hm$ZLdpR`b5MQhk3r50pKrC2[ZUZ4rqY
+!mPhh2%rllTc1k%j34JRrhJ4Ea&q5Grp'k*bGh,6KGCV[eHPF(mLBblp,S8cUr2l
+H,E$QT2kc1ThV$4Rj[6ShGHQN2X!ZGU91je*8"[Tae!G@d,hR54pJICAFSG1j,C@
+"mfG8CiFqR*EDqhr`4NE'c2rSLehZb,JUSFqjST@"0rPIkA2ZHQ6-5ZKclRPPC!c
+eArcb9dEQHAeN&hY+Rh0,+f0N3TpcG5YMe+!qiH-4IFjGLBcVq,HBBrp9adr[J'@
+-6[5*Fc%Xii)KII(EBKPM%[UFZb8Ce`cj52`L6BCiVq&,IFi9YBba3r@,hmE*Q*r
+3jec4b9J`e0raHcXC#iIdrF2"@H#E(&rTFqlGCB`EUPrm4P$'iL&rLPrHblJ`SFq
+jdCFarV`q[)!kAEri,PQ'H*AQ5hh1KPX'HHIRhrUF#dXC5iIU&hqV3dC@3TrcUSH
+-l22kKTr@jlaH)d2Xaf,k!N$)`c[d1HrFb"$lNjAd9P#"kqPYhEPj[kHHI5rNb"!
+qqU8qje8F'B,Vl%8LqTchFf5-i0qVk,hMZ6i42+l6ZG#98A#q6b,kR&YH'B8*IFl
+9VicP#Ah1ZcJbFK,kR"GdC*!!kj!!cr@*III*ZIE6DfmCebEd16IS-TDGpm')2ZI
+p!aRcq,H,A[#Hmm&1RI%h[dl6[ZV$q'Xi-LBNp$R[jXLi++(2H@&("VkrPqMcq0Y
+N-X4Fh+(2cHI%`6SkErl)Z$M4*mk,)M,B1hApqQk$Eq1rdq4GLI$E`9FTC#cKhf*
+IIJ1p0PGJ0EdI9m"$,m)9Z*(HH2IlTHMA5"fF9j!!C%cUVA-j[4,[kUH)6ZIG*"Q
+6crGV4*rc`T+-[2rUFaTP5N+ImfU6M%X5qTchR@4FQY$R[!3Pil+KqXAIM*)apIc
+FdYRImEH!C-cTe4Hl3q[XmrJV9M,)ZkGIpf(m[5XCP`reBIaP,"RN$Fq[kaGr3d[
+'M#&pmGHfC&b4d1HmbbAMbN&pH%p*lc,&[CfBH`I[Q'8%qAH[$ZFkA%BJVX1jr*B
+KZU&AKh-,,Z1@Z!lR1Pb'1DKMm2*EKRLh4X`9%4h1q`FbD[Kh,ErhM[N#-Ch&b@&
+Fi*ILN8RB8qURRCjmkBb(F1RdDh+$lR%&6lfQNd3ZQj-m&9V0L42b6lMG5CT1rN-
+8r3m0$4&(8j!$B@e`E'8Z0MKV,R"bDKmU!*!$J!#3"!3H9%33&`#3%4B!!$@U!*!
+%rj!%68e38N0A588"!+a9%Fq[ZDJ(!!![#`!!2VB!!!ZY!!!2-AF`"r`!N!B9B3h
+!V5H6di&G$Z588dij*Db9TIaT*lq9HAeQkkEPfYQ99e4f+lZeSVFPA-)d`h0k(P[
+cpfUXD"dPf`RPXG['0Z9d[dGiNZ0Zh@c6r@a,k`MPPjp[C02MG&1bT9Z,C8IBC[X
+dbY0pjX8LQeQ@%RlZ!H%Vm&@$q0U9qpMPG63j24lK4pXHfHF4(YQ5`5DEE)BR'b!
+$IMql!"J!j!B!*Z'YeV4H1q'1a(QLAl,E[+)ZAjmh$p2l6XTj9U[99ZGeLIVT-jE
+U[6kR#P4J0PX@QXVRPV"S,)#R[cV!B[2k45Q2!Tal$m$NK(hC%!0`rE@YGpp`B9)
+I"rP98r96p&1UT[IA'J0`pYV@6BX$F@C,ZFjD+lTFdfGm'ZY0dHI[`k8#52Y@khh
+EIMKfYX0YFqNXFdePNPi5ECJE$bSQ(kS8$`,r$p9&P*!!c8AbcNN&04C5SkCHUpH
+-'Hr9(c`U4"'[!)!LG-iR4XEBp*jPrVHU'1P(#2i%raHaCKDRZLaD4iYS&X0CUPC
+f$b)$'!H3!(8PrZG"$(@"8*P!)+bbF4'&h(36`+`!I6b&Q)Q,-A[F0VYRN!""!A)
+JRR@UVJMr$aa#Sld)aL5EEIEj9KfeKP+(HkRSHae*X),&BRUM3QDKa9*k6(+9H"G
+k[5jP!"aQFfR4F*fN8NH9EQkGeq2c%l8(DTJYTE-9!R#8QiU9!AKGD&ei%1#(1-T
+++XV8qUTD1b@SrV#1brcKjb[`6XD3!!p1kRP%8f4cZ6`HYfk1k2*5QCF#!F`h3Y,
+blF*+(F(J1&4kMZ,`dCM,GDE*TYcF`qU3!(%)HRYZVL)!$VAHIS53!!p`%1h+!,a
+k"i'mMd1X2d,)hikXepVrkT8DK)aML)e%a''aS8G&0hQ)@*PAVde5#X"K(f4fQ&F
+b5)3MKR#meBQ1iP$TArG*dD0H+&lkRPkP)hdk"QNSP1TiRqCPrY+R+dcc4ha--K@
+C2H4NUMhfCIpV3Garq#6IN!"T'-8KeEUUKZXN@8VHCK9aq*FT"1$JqY5M5[l$Ui@
+d11c*&8!F0e*lS-C(M[X`$X8!acfrk(cG#"mdAhZE$k82jhk)eBqFqa#1pjhl#)j
+4jcl#kkKc(mDK[1$F$r,a,qGqQ0J2RIX`MP(RIK$'amjp#)GbJ(-AF)"H-fr6&F#
+Hk!,0NXVD`#Y'4[(dEKdNE2`kG,,Xj[T0E4#h#XPjJIX9c'mcVULmLfNQ6D1imSI
+M2L6mMachQae@-F"aPc[F8kISkQG-Im0aarr6-5'3!#1GiDKM'X,a[Y-Ci@28k3c
+M10V*$q,iZ*-2i9$VKlTH,1*!iBpBmf-G*S,$j4KXHkp00Yj8'Z(`9$N(FFb[FJl
+ML$-I@ZF)Lm0XQU-)32UlXiCBC)-VqQdFf+PFJjicKA#iE*+N-hRU[!lA2RC$R3%
+9,9kX#-$VXFi3mH4$h[iSMZ%12+bc51Id$mTXp#4-`fda+fjQaE)fA2Sb8!j62pN
+%59pZJ*kI81`HTYiQ@iqNUbk5mlH4)@-3qb#I[''0CNLkTLdBfmEV*Ad"(I662#I
+5p%,eRqb3!+Pq8*H0V4,V*BIUIh!3IdG2X,k&kL1Zjrj4rq4V[QPFrD)&d[*`Zij
+i`BdVTMBB$,kUXh46*qHI-rQFX`eiY8&QhEf3!$i9D$iJG0rF!CR@EMM4XNUimG4
+lC5bAEa'keaB,0p6PB63eL,"3k&kp%q[YRJ1#%0Mb&'fUa@%1R`X'YPbh#JTQH4F
+86bfQ10A(I,kN&ZMqACJQV'H%QT+GN!#fB3HKjI(-mLa)fa2,DS9Y'+rNFAP2MGH
+(P&a88kkmrGDpfJZCLr&HiTAj@lhKPNDXPITB`5f03X1$c8*$(pBGT)&%e)#KcZ%
+r8r,BPaUbB`1GAc`hd,QL!Hqe@%BY2(eU-XDb!TeIH4A[acPRR6TYS2-aa0+r-LP
+dl@d6ZRjE%HKme#XdrE&$H(bYPh+`9K2%r#S2IL&e#&h2BXkcDf$X[(SCbmm`hQX
+*G&*dM3CJEH@VT&(9Z'5XXee9Nh%+kKHTSVh)dpa#dd0mCNVG%HYZ"@2L*[@G9lr
+-m6Geje#qF0dBMNfiGR`2+9ESHUi#Dfd'b$"LM3bmGAKVmFjLlF#1MfV!iEDlPP@
+,"NI9rKbGhbH+"[2F-J0karhTlGrc#kYU5BZ4[Y$ql5bK[58[fKID@ib4[R"C4lJ
+[B2d$ID'pj3Vil-B()1e(+kqH`H20N!"CFc1Nr@NGpS9f,2%P5'RFh1)$XMm#jUm
+*r,6ePq'qd0kb'fb[T%1QCcI[#qdYBA$)6`D+5j9[N!$A(+c,[148$4E2jd5Ia@9
+cBmLLXrK%ZfcKUR'3!'fV&Rd5q3F9UliY$l5,YZ1pK8r8UQqE515"p[Jc-,BAlf4
+)[E)-8PSkXT%BM1Z!RI'EF'1Z[XdLamr`Xpb0Db5lc`%RB(2%qR`(XrTf0%()$km
+ILrAAE`CY4Q4r-[ZVGaU[[iY8`hd'eVXGY#H[Cc0rhSbaVBL[QIIrP*B'Z6lb3I@
+eid-MPJ`BclGJHd#9qDB'FMHfX),P1kLJFF@'9qQ@-EEjmFjK-h&&'0+fKMJYJPJ
+0D#CS`caT#kN6$CQ8)$kS$Z+J12Bm`X0Q2[V1KXPc)-&Hk'Bc,ifP(S,mVb41X,l
+XYc5RV)58'pH4$MJIhf"'ISGe3"UB1+#"N!$D&lNGPq!rMSp$'9`$"FA*c(lL0'E
+2f-%+aQ'(eI**+E1R*rpE!iCIbbl,(X4"FG)!iQ%&Fm,ZC83$"A2@F!hB6m#TL4E
+j5CIe[Nm$pl,Mq4h9`*P[D-#kA2+,GEU5HVr2*S9e`)UrhmbFZreijc$6bfMq8ar
+Jh$Pl2qN$4IIYj3&R%!I&531)Ka@[[rR['LLqSj&V`,N,qd$U!eMrB"qiRkA`1k)
+"lJGb,$k28l6lG9DrcHr`Z%AImSQ'r6PKP5K$q!%fFm%H*3%rF1*!(m#"S-rQFiL
+SHI)$3Cf'rB#b3KmS@CRa34qSI,F2r*M0i(Hd$i`Gd!"0(Sb)C5IU,UNEGC36)5b
+XBa9Ll1m$cYj)(h$flX@l[`miHr[l!(*mT!miGrAh!Fj(RbqFm2ZVSRh!Z8[Z!eb
+MZlBL[[iq3(`Fk!0)TJCIHNL`1ZJG#9f4+"lE(P,X1$L$BI[I`&"Q1GV3Ua[K&b,
+N%mqIdX#Ejb6"F53CRL0RG0',)BR40dNq"RqH*&RPIG1dP4AEP3$)R)8R(,`!r'`
+Tkq"XSG2ilP`+T+&VL*jT1%'@D8q0N!$TpBNA1qVh$ml$l21h5rVbYXVGG9mYjCq
+cC)RNYrN'(dT43$KR3G`RJYB-&05#@L@h8"CpP8CZY*4"[pK@qHaBm8-f6-ZIle'
+L1II6m+,I0TRdG`m8)4XMfb*'J`'mk8'J#RRj41&!YRd'kUr2$HQjkD&hTii#%K4
+MI*!!V*MS%eIpchm*THXdfIGM5KDl&94N3#%,-VdAd*SCZm4DYR!#rPqPIL%#5@K
+$@dl@(%ra$i$fVNkK@'8@d2L5RS1#ccF!2AV!PdaQQ@!"rZlKf#IKXe%iK+0Bl41
+!$c@`#bNflANFX`&VSPMq)i#,*cJka(01$e`1N!"H3,%,9J"Z&BrRpX+a"lk'mkP
+'LK9p"fl"'"rTMJm!MZ8Qh%UaNRQ`!@0ml'GF!!rKRJ1[pjNF`0@!E*lhU4Ci&Q-
+28mac(qc%jCJ@LQ9ZKMpMl#RHI1BcA+JjVCGL&Fm`("QHcMe'53R$FGcTD4chI)D
+MpY1IT0LC0c,N+qFPLPh8b("d2[%1LLeqQ#h#f$0F40dd!TcdBP"5*j(q++$HcI2
+iBNQL[!pDE[1j(HiD6@KSE(C)pV'K)-T8`JPb%Prj$#m)*Y$5VmP6,CiRZZ-M#m!
+m,9Jj+B4!RX2(P&3lr"kI-0[MpXH8fA`eSPp6D,H,Z(9SXIPV-CqA5D$h1i,!NLP
+@l*!!F$04V+Y#e2'4aceiR4"5QFB30m&`N!"9+FBdfic&aJDhkN093[&3Q34kULX
+%R'*4i*&h[)kM%#jCmhT"!M6bFc*)T&YdDA$62Bcbr`h!H*VA1@hHHADGPb0$31m
+jNYQ[G5[ANddkmr$8m24PYkD8VfIX9RD%GB5fch-If@5I6cMCE"0'q"'HNXf1E-+
+2E)TRmP0q%@kIAYH4`5DhMA!hff`lm2,+5m,0Eq&'&L@m*jaX"Yb)AE5elhc,EJf
+r@8Fih@6%#Hr)VB4Z-YMN'0R!"+piV*UjG0d$!!TqV`1BX`#rCHKci$F@IcX1L6!
+4BZ#kT1bU+SrET4TZhAX'6A(pF8c@0YXpEh&$(V@B'13"M%V-e5XV9@qTj[0[rj)
+AEp08)q$6r*-RE4IrAM6"Lh1SAXh[06+QI-9,XENp@XE)M#,$TkQ99hR**0jD4[j
+kc@[i[iKIR0hY0dJmTRd9Maj&JDSUh@GN62q+Pq!dh"khiGEmAr"LN!"RGjIi90q
+A2(c!+0Lpmc6liDq2a`DIqcj!h)!f(X#Vj*%I`-GQV"hG3-R#DK'c*p'Hl5)9)Y0
+9eDc@$,jq3YP5R,qmQ(JJKP*hpE3AkU@D*mrYdeb'lQZ%Qh8Mch!UHU!ESkBakZ+
+5Y8Lp)0LXQr+bS%jj'@,VY6TmHTAQ-cBfD3fqQ5!Lp'B#a)Qi1VfPZYB8'NPp`b1
+SEhLJ1p2DbdQ,#+XKKH@0G&3i3fUG!6dBYDmc2fMi9*GKmqQ9fIPjQYp9$dD@,UN
+ka&2Upp,Xj`Vda@`)([j38!pr#!Q-QQ+ACESjY1EZ[qhJ924!)U9Z5,2Rq(5ee+A
+kM@DZ'AbV[p$k9Rp)BY4N1bQ4QMHF4FMD*kRl)*P48qd1cHI@5c'bRSYFXqE(26N
+92C!!3UPV8qejUU'b@Yp-$4lG*V3Hh3DTM*TS[d5Ne)eaGCb+(NLMe'ha0+jK*P)
+hHClK924!1U1Q8qTm6#$eBXP$U[GK3I8q$$dTGA+L25GJ'1heY@l#Xk,Q6AJ@HM&
+UNMeAV@S[bfE`RHG&0Vcc225@90eVq26QY#28*hDYi&6d3"p'6E(RZ9@2ATkM"eX
+U5[$G98,VZkZJVk$QPlS0Qe[cP,C3(`mUR)SHk-HSmAE5",CRhP2(lZ&8p%"r4Nh
+&,#pY$kfjHeZ'U(RE-Q#!d,V8V@eSerUdDcfRSJF'LRaGjXE'SBeVeNeq8Z6Vj#G
+K%+%URb6EjrRd$5[eF'c0i2Z(4!kpI`J'-fUm[9$c"YSMp+KDcURSJHXB0BP5Fp4
+`Df-qZZBe39hc'Pc2U,fG0Sq1VBDh(0Z6GBCH&D+EG50fLVL1f!P$#"8QT@&j4H4
+UdXVk,qLY56c)kb[a`&#UG9q+-dmV#C5A)lQeSRc`LXL'$ek"$%C0GqEje!h),$*
+8id)HQBpj"h)UHQ"BL0SD)M0iBVV3HQ)k$'I80'HqGlhEThXVXG&VlSG1,*I8jA#
+$L'Yqd+9GUX[QjMq)cJBpF#1MTMSADKYaPS'0`m88)PVh5UelBB63@UK9kVk0&jT
+34UdqY*!!8p%$)d9F(CL[*-YEZ'E`j'G#kmR2i#B4S5@DkR9AY[3e5(91[*Y6d31
+M4)5@D1AB%H(-SMA,6kd@@NqYKY&#Dj(,TfPH"dj5@V,KP+K$k)%aJPUX"BeLRqS
+f@R2Se%H5qK'-CG3N*k[Pc8KDmq)#SZE&"@#Fk&qc$80e9DJPRZCUEMSc(a(CN!$
+j#)`r6fdY+"LK)kG&K)kFKNa+(G,EiFLJY6,EJl-0IkE2lh29epGRAPZXE&P5Y#5
+AH'!#dpVE6JF8H@jrP@Ui+KVEFr1Tj`T&&r9F)8bNe$hTcZ*mNNAKHBqjYA!XTk)
+(*SRkLY-A&5FpT%9XVUmR$mL+FJ!QXlMf`lJbR@4mKq8S&0UD1ri2Xi('&6d`KI8
+SY*X20`e%kdqlE9#UU9Ed`&64pC+q20bpNJMpbFQTk)&TJZT`ZmMi-NcG'V1C8p%
+$daNecHl`U#kY32Hdc&p3i5QTp46-B04N1kh+HU"ejQ!'hqXVU1reKCQ#LT95pf"
+KD+A@cFlN926!,%%P18jkmcDY"kA@Jc#EeeH(3br*pDKq[pC5AhH9&(-UHZ"QSG@
+QZ`,qYY6$HB%TY,jV`Lf8ZMEGAS$M+im@RYbB`@1E"2AB*VL9eBC8qa+ee+eMQae
+SD&djpIK+36fq%ZD)[VaB,@PM8ZS"56d!FePFHp'Ck(SYR(pQcFCPR)SHb+,8E3R
+fE*p2ECT25ZV6"Fpc+RSJQe&l-QVE@-QmIe)eTk)(FKJeP8`"Up3@*)hVi3G%A!m
+r!,Ni,iC9HFRcLT!$e%SFF,B%UAE[&KZM%JrN8@TqkPNUcVp,,P#hINZT*Z@GH##
+rNGV3e$#U-F$&UHJ"@eBma[AAD5lGkpH4k6F#*9L*'UJedcj*B4%L(TJRCSGN9H$
+bl2#Bb&Id3!'MaP0Uqr3PH(52S"lG!r2*GX@!V0k&bc)VhFCi[qjDPcPpjVT-MlX
+q*@VA(KqV9"Fkl$ELJ38iDBH#Za+48Zlh)h"KXpCDjfmqi&6d`%+5$E&r'95S'K@
+i&B$8$*XkDUTl3YQ%QD@M-r%AhJ(Xafk$8)N(l*4k++&3G5dZDSM,jhh$rZf5ZKd
+++AAiJ1a&4I1C5"X4Q8YL*C85kQRX'aMep%&B422ere0b(Ck!RhaEp*Te,bi5e"F
+A`@*#M8[TNjh2GJ$i4J@Uc0628AIGRETIU9kFXb#$H(#cK9D[AZIUN!"2+h-(-bY
+#&@8FVhR%!lGPBHE&p1MTF+bQ(AD"TT,9PK!81j[l[JfmXd(2%NEY&D)fj+hjp-*
+I3R9KB@i"p45a#-@4&!rT#eA+6d9phIST&'FP!#5-MmF4#QPk`f"clZirm`J4Mj0
+4HfaFVq+mUdfY@IIlqCa+2%Y*(9S`+"dMT&Dj9jH6SElEeBL[(IUVYhQ%d!2,'$@
+H8G[%eMTrp`1QPAU@djVR6m#Th2K+Y8QNS+jCFC46L@F&Lf[hJ,FaXmpR3qd[4$D
+JCbA2"Vq"c@&l0Tc2SGXjYFcP06bAUE8[5+d[`"dm3RkF6ek1d-q1rC!!8iPR&DF
+DlNVY5PcV)h3RV`fB$4MDpYT3R`fVH9`$%E%KkKT'63MJ0T4kL4ZLUPbVbpKBG8A
+VlSpPA$q'%PBTNml@mQCblGlULD*59Nm%&q[,X9FqhjFhe2,J1hfj9Z)TT4eE6U*
+XeeU#C'ljb6"1*4k0eVcIaQ-A9CcVZ*4jeIY(FbVaP$'Yk8,VH*)96HAC6+e+j96
+L+4G6frSC@k0NR+ap*1++RJT#KCfpXr-GqJE0Ka-T,hC5ETbCej20P'iR1C9ih&P
+a!0f(*'IRml(YaZEBeJbVhXqSe,1@lf#aV5DqjS3c"k-K3QrqA%3)2HZBeYLbUX[
+Y%1jY2$',8iR(`kK*5c5r([#j,U62a3K9LRNH(I13!&P8-aARF60&K0$M&G6j1('
+J1bPKDMp*l3Hkf#c"U9+iG"(UTNd&R%Sm9@*MKNcQq$E3"E4jrqbKR%SmGl%0M06
+k$B`QE-fU"hP&S4iIVq9LMR+TPRrHfIKC98l0aE+FKb-p1X4Z3YIZ[IFP8CA[I3N
+-XC&@K!(bD!KZh3-imTLBSaaj$!+-fXZ1[2B&1'60NY4CX*j4N`Q9KDGPRPIck$C
+143pXB(&0UipV%lKflhemeNXm%*4pH5N10IlCPm2`9k'),1A#!,UE5bf'HUbjQl4
+FrPCTVk6!l63l&9K'qfS&A,5[88#M2BF#CE5,8+#8GLi+h%CR'!SXS9-*"HkJ(DJ
+#+fQ%&&M&hhI5$Nk"&IbpQVrAm2GbfT%Vi+5c!`Am00m9++*c#`@@dZQ!!L@d1e2
+!35FZ#[bp*Ij@rNREd"(rVVJ(qCYPkV8)mZ"Fr,ZpMqp3r+d*UV3mrVE0fiH2IE%
+2EGi4qp"pTpF"i0cXNEGMF5i1-8G+XGZXS2%[-lI%EKQI`E@HMYdbj8%Dre8XrV(
+9hkQQFGl%iqdm'hIk&[('2+Q21qBIb`XHrk8mrS(D*bX@NlbVh9,N*rP8Uaik4[1
+6jS(5ABR[L(rc,&KDrV8!iSp,m9Mc-ek(11K1iJm*Z!qI"-Q3!!+TN!!'kG!6HN&
+[k!0pS4rdaeSe%!E"B0bN[ak'`&$)3$dlZ*iG9-pS'!0MB4b-KdbUCa*-KLN`&DE
+"G*J"-f%@c)DEi4Di&HE!A-L#E-J*ji'e&50YmV91mX$DHT+@HDf3!$`Jm8%"FD3
+EVHq,1ME!T@'dU6Ad1H9d(R5frlJ6eL!PYN'RY6-Z$I[HCTdGqUaHAKUj2["[I9E
+A,fep9*me`C!!*UCHPMkF)0Eh2aflJG,'reGIH'04fVLS2ZYkJ,6%U$jVRe(DK+J
+qkik"Y+5Zr)YF2*!!PYbTMdcqcZQcEJK)kaR9CedEN!$@Ud1Ik(0#qUap1QPcq9[
+-ZIi9ab[h$k6eMZD*G5P"@TmZIC'E#Y,k4[9CqjV5EZkU)j&0A'P6SrUXka(5qRA
+&,l)6,'eD9*qe25aYHPGq4rD-TFhSd[H2#XjXCP5IGHG$@[qZq%9fSkA0kUT2NBX
+MdX5GTQrk`-KY%QN$1rAK[Xhjq%8fBU89429CHlV5jNAe@C[PdQlTLPrN4T'dP+J
+qkjU4Y041IGh2kl1ZGNN6ml'`2Lm3F[F'IGCp,fPLIP*"0p-8F000VU[pINXmfbk
+$540ep'YpeM8`DB*Vc89#qUblBG*km2GDZPeh08m%MqZd,K0)bqV-Nj!!2ZZ'JE6
+XU$lVfS'dR+JqkakBY,5S2ZYbQ,6d6ReL(q"XAh[PbS@d19&peZd0DEGfeX'3!$l
+VlSZd+IbpMZk,AUf$M6SMY`kPLAf9Er)`FJ9-fU#S2ZYHQ,6"8Ah@C6&TH(FdQZH
+4Qic54&rFS-r$qm511&UhcU4G(md6kj+50()(p,+qVI"Gr$Y"lYf)HYYaM8IDE2i
+@mr*+ZYZ-r6RG9PC!Tr[(#P64MH*,p9,NDbJ1e[8hD80Dih`Ah8PZbUH3!%lVATb
+dSChj'Y*RACD6aMI(rU225T4K8Ah@Y6TT`k2kV,YfdQk)kV-Zi%QlX5YqN9YjdNC
+dpLf0q4fjJ5CY8UZqm*jHBjj(V[G*'pQ9Kj%lIp*ZkXV$b%9!DD1kiKHj(5KYG*H
+qb*9"D@1LqUalK0,'GZLc33(GUaAlGPbIG9G*fQ,qEY9KAC!!NQD2k,"Z5NNVM1L
+`VNa*@a64BGhZNMBrSX1kjL80El06%he&5)Gel8bDMEppr"l#ehA"ZL-Ql9`iBqf
+2idAa'&3qd1'`HIcm(jcm$2i4ZAAKX2[2hB#*)CF,BKa&@[QC-r)RC-@-)[q3!(R
+Dr`!0$49(8j!$B@e`E'8ZF("M,Q0QE5j`FQS!J!#3"!3H9%5A#J#3%"TF!!",j!#
+3"2q3"%e08&*$9dP&!3#X94(2Vl6,FJ!!,`X!!#PH!!!,`3!!#JP`EaHS!*!'X5%
+0`+dRNp1"E'81j%D6dmh#XjHI&Z@Zc1Yl@`NY9hCV9l4L+lZ9ZpCjK"2ZCKSqQHH
+a0Aq[cr,cb0EHBVICCTY&HHF4RZ6BEGdXZXNf+ImS[ramkqKaZKRCdUhl@(D%EED
+ICHNHH,&0Z*DPK*pPj`TmeD$mZSjGANFcMdIiHGXMqj6`b*B-0YPN-ccC!+X""c6
+),J!'!(PKJ,2aUpA9,apbGpmTFLJS1Ibb@'$-Ri,AfmkT&pRYGNH0hb-ErAl*+-f
+Z-IS$EJhHY$N#)IZNk2r534fimI2YHcHY9LSM8YkiR!"``r,kqfkm90qQ38(P+10
+)imM+mcU`qJ#F[lCqima`NY9@*YUVCBrR[$'I4Vb4aS,p[&#JM&[V(pckrAi6A9k
+(4l40XT3'M8(CJAH63F183dM*)2$r89aN#6RF*1qHG0!LN!!@2E82VaC[[)rIG66
+))PN&J%AdA%b+p(%BIA0$lk#BkBm3q42j2jh9XL60`RBF!l+C#HGUkYRpd)ceJ3$
+C9q(rI%KJ%-DqSTa`11DbJA'(h(`c`,J`rIJ98LBT`HVc1L4IPi)#j%)bDpBXM[h
+[2-6'F"Rd5E8kT+Pfd@DcL*0GhMPbi!dQ[3KCifffb5FY9i(ImAkr4af!Kp8kH8)
+2MRkbUe+F912h"8)Nl3%-Ufhb4*8!(Q@@)R8!ADICTadNq"'2dZ,b8UfaXPUL#jT
+AEq-fIqchjIK0a9)!6YrfBpd%KmIMmhR&%YRM*jLA`Q'mE`EpJZh#-T&SF"iD)fG
+aq1LXCD*PK#8[ll!l&"k#8FV,8`AJS69+4`6jN!!(bDi1S+ZrLmJ(216j4`6jfe(
+m@[eI[e+$8(KdUp%AHGJFQ&%a64i59Y(9l`LU"I#3!,U8lG'9!K,a5#!Hlh5Lic`
+daMGb8[[46T1[H0q[`50p1J&P'"qXiAfD`rbP6jGET[EQQ&3#QGLGC*`qDHlr@K$
+2(i&JS$Xd(1-4V2C8pZ$SEF9(988HSENU!6bi2ihSN[rSDL-[+SQEaM@U*BNET6f
+!F5*a(qDK'T!!Z+G1Z&MXeB2QDdIe82Y)lSG82C(FZhPmN!$FHhNF5qkpZKj,lMd
+me"H5qd%prTAF$`[l8A,[iA%XZ4qNmA&blqDK(T!!h!8FS&G0fEJBf#r@Jfj@4AA
+i&61MH[m@%9)fI"@D@8lYr)d0N!#d!X9jJHF9[0pJAPTa,p1G2CVUkKq*qj!!m8m
+NlVFlV'T!iLjcH8H0&1H21HqYa*hmcm5%4)jdKZ1*UC[("dQR9ipM5DH(ar&1IT!
+!amHG[*Z(eYMGp4+4"aUr0jUIl$"a(KjA9p[E0pPiffR%`eITlZ)aYG,G`b2*HQL
+G)fB1Uk9%&8$dpfB0LDJ'Gr44(YLT2&fC-ieiH"c"S'MaeIKGR[hU4MX$1PUHV3U
+JkmR1%-rNhGRq1)qH$YcMXhMR$(ACl0K*'BhEBREFc%TN$EMdCD)l62[85Y"rD4&
+Xqa(9lQIDV8Vdd&ppQA*r+`8b"SQ2m-NEBY5#rYU'5'dVap0r(K2d-ra1[1P&mCp
+U8U4q4-c"9SPiU9(m$`rbEpS@`EF42[*klKriCeclGI2U&ff3!*&2khqS#fjFXA3
+6R6Q"bR2&85-+,KKa`IQQ"XLUH3$kM`+D$`JYUjSJbpi#!f`VK*[1I%$KFZ9QS@9
+YNA"M66j@db--a`XYUhFLhZi5%)6`jUGT8bd*lr#jB(McG5ZJF*crNU*4493RI,c
+2Pp6#,Fr(C%)m-e39li5-G6Z),DpRP@9$aTj%9LeXaAS&VbYlDK`Id[,36AR+pP[
+,DMpNcF6[,,qLhqTeYba"V23R#QpC)LakT&CBe-Ce"hNJa@5UFB@'"hh5("-Nj#5
+'Qlp`BEKjk5,mVN8BVI$-QDPBb`ihArmkITrNQM@,KR$c%mJPYLkRF&UrYd&Brl[
+bF22MIQ(P(jZ%*pIkk3jLVB5%AqA$ci00`[TRmFkcDk$IP2N+PjpL[G8@TPdm@+-
+$@&[a1RP8-c!9FECVUM)(Shp4+YU,2-XVV(b8cdbT1b,Z&M$hhDLpjjUA1Iq9,EP
+dAlLZ$qFQ,"qdM4`VV(qZ(,%f!@5D%5-6[b*q$IM0CSfJ+F%Z81DYUDkU&!Z("aG
+iTH%ALREV9*ZTY&S@[I)md6UT9+bFkr)ia9"!PNeB0Q&fM"[(jC8mFjfbUI&E)@&
+&0ANahKFD[j%Y00EPYrH&aMTc[#mXE)Ve"F3rd"FDkaE$CcFm$"Nr@(E0'&k[KDb
+U9C!!mGTYf"FD%H+,N!#fC&0G!#Mq#(Kr6IJRpEq-pBA'ZYhJH+8rC2Pfmll3@"F
+MKrTNSVNd"5CPcF%qedp*e@6ccC-$0Sr$Lb@ED![)NK,KR$M)GMMP3*!!mS1'1Hr
+-"m2dlIMGc#GUcMZ(NAKJ128FV1h&EbUNAe8+DA9015J-eN9Jjr`feTLGGpU8qMN
+KPVGK69!+Z1!dE)k)chF`RAGK#%*p1(iLiYqa#3bCmIh*R#rIBllKAR)0caQ)GaF
+BcVL$MIeC,GDf),pDh[r6kKBTq+J(i4X'48FXQ6#)Em&Z!dh@fal)fe$(#KIX)%$
+cdR@[deIKf"$#EbiEHcrHc0J5eA3#*1T!0m33dmN`RMT4GdL*m!0RK!I9XHF4(cE
+fmAFh6*k$)1b&&MEfLN6U)DMr-Y)%mC@mT4Zm$0*ZZSem`2Ai'M2cEm`(j)&KR4k
+)ZRfkeh8jrXIaFI3'pd"K85U6"SaQ8ZB19MJ31kb"6dUCe$rehai`r9T*@9+%"pA
+*!mL(&CE%dNZ["`T,eR!25+IKe-5!q[4Ar,lI!`q`8rQhh32$hr+!I8%`*0H)aI0
+$!8F`jJ0@p*eDjYiG`QmZXlb-i6rpBDkGZr@62M$K`Efmi)l`S$Tj!2Q`SMY@rGd
+$4AF[i4j`lm)qN!$q-1)Il!-2X66qMAZ!ji&F@m$RPU@3!'J218)ZReF1,"KQH[0
+1c#AU%(Q!MEeNMjT!(KM3f3G`)"K`"&`bHTlb3-5RX6bJVY!(LTGPIYJ(+YlV!cp
+NBrLh[3rdkr3!64l-b'8RqNlIJMl+M3X@ml%'1AEd!AGV[!qi@rILYk-2Z&XlqJ"
+UI+32Z(Gep!'Z4eXZ(2+(Up[lJ(ZAdJHi4hGY3AiGIB$d10!(8%`G[[53!'*hd6X
+5iJ4C2VNpT0TaF!E$hR`$3jhP'1+[EV3rPC(-Rp,!,lqPKe2)-[b1FQ-p[4L#'m,
+&6PIA3aEGCa`HCGq8,5lIVJBJ*['*&@G!L-eK69`Y6"VIa"G5L'FRj'LF)#[#TlF
+pX"+3!'HljVmj1)qTcpmZDEZh4HQZql(8ImkX@F%32QUMlL$"ZC!!p)QKGCf!"Y"
+UP"E+fPqP84SYhD#rf&Ejl&Me`cE-`*r[8D-j$p(`SQrl8di@ihfG)2YL855bi'#
+cA&Nq86Q`E9Z!qZYc3dBHHM6lSXp43S*U6!j5(02qa&A(mer#"B,j8q6`E(BlD#L
+!3MCNq@I3QKQlh&ikE3Mq[eVl3Tb5d)#aR+)jRU,[!ZeG$DCD46E3q2*LUReZ%G#
+M"hc*C*`&,X'rHkJfi([iE"31iDJflcA!KaVBT93V,F%a'l#99%[m-q$L#Bi1mCb
+C"9F#p#qN@X(eJ&[&JhLmQ(-VI!AR8dZSCRdHEX%D(qRk*J+1jBEFcV&IKA9Bif1
+rKA[J8Gaci(M&fB#V!6RmRM`DRXADBe5le!8lF6QQMQT52I`*Ddp6EG4R'#l8R09
++YD%l'Bi-Kr+--@-9`h(Fd!bUL6N-4qe$Rq+m@aRUPIX5acL,iHKmf0e81lf-6FI
+DElL*@QJ%H2D,%8ZG6[kMJRBh[mFA5rSUqk"PMS$AjDh54BI'9PG3kKFYSNf$1%(
+@mjA2f)*J#Lhp@Ra1q5,CQaaI!1EA)XMk+!0P$Tp!ia4I3*MSmiB55Kf"+MQN'bp
+*-QiGfKbKDVc2B9,SrBi)X95U&EQ#Z*NSee3Lkq6iiaiF*mT8N6'U6D3F86@BB*P
+S4E"qNDhk+%Ud(S9*SDHkSX5TeNimrSlA+96#*@Z1&a&!Tc`RJd*kCBm10peM,2m
+2!!!0`23kHkqc8E6,[(lP!bm(DHpa2bpl1[(BjhVX9N,0c@icXLAXm06`QlCZm93
+T`@IXeL*X5bJR!dCQQfhbQj(MK"rK26PqR4djLZIfY-MaPp`f`L1Ec"MCa`JM2,C
+CjVNp0b2XmZ4jC*2Ej2B66Si"e`-IMG$HJCdPRZ%T`$lG,)+H$85S`(LXqT3QG&d
+$J!,m1apJdGm"&Nr&@K6rMXI2,N)*V)"#Q$qjZV995bB8-kQRVU!+%TmZU6S8H[k
+-+q6C+La%(KSTUG9E@T48NfUNAlc0Qa45&60MU1Q+P5r5Yi-LAP&85DRTP"QS[--
+V$58e0E!`%$-09@Rj,fq+k,FD#1j48fEkQri9KC0T8r4MeCeq6)aP@PYe``bX[X-
+VMTY*,@NQeI3h[%,NKC10KQ,FjZ%2@)5rK%qXrHZIi`p1H"bJmV%4(X!IaBpJ"Rr
+Xapda$JUUF&X!P)5V%f*$P#GDFfkYl*m[&Ec3%0cH)#T3k&"RK#0kNkV9*3deBHT
+'(pcUA(M&T@)&aMR8D3jeDq-2N!!kB0MUV2b3!+L9(m,iAUp43fp9$E1Yhf[fif,
+Ud-I&8%4pMDHDG,@r08`pT4(eP!B6(1V-Z,e%R"d5DHkMSm-el(806(5SCI&JeM5
+8K"Nbp*EUB*fD6[5#ND8c9BG*0!eA&r6J0'42Id(8dep!X8-Y$I1DcVA@HZ2I2hH
+T@)%5mPTMk%T63NQE1Dk9261([*kC!j-GkT5`@*&U+Mp&b2U!U4r!&)Fk04a9MD6
+HK*h9"VP@adpRZ&5X3#P4ka46FACpMTSpHiLmRMd%8fR+Ea*YDPY4Td[&#NacU*2
+X[ZDC50fR[H05X3,6(HTdQlS*"dJCA(P)6Ee%e04,-)-k9*-acG(pfVRmAGTjbpq
+&Q3jeFVK@D4eGbeEfXk-d$CmGK9P-e91QSHI'6P"rrGThA5T@i#lD+(9*4G1EDr6
+Xd%E*RRZ@[*jl&XU)'Qa+QU'NUM808Aq9,A#T@)(C0(RL%6JkH@pe2Hp5X3*cD$I
+%c+E4ePT[(!V3cMX8J,[*khH5kYj4VdF5He`U9Q!ZcHZf*$iF4VK@Cm@E0+m9Em)
+pY#Nh'2VH(AUqYeEf`NFd3aFqJRR8SBLDbSafk"@PfD9L"HE6P!YUMC*rfPL[l$T
+*e&dRi9k(1LXHdR4mDU5DmARbR+QhAUGER3YHTEiZH"AZFpm0Z&i4Z9-mCG-$IMY
++6VMl996JIRFha1[8aNac-j+(0mVRafJD2Mm'!AHraZX-C5mbBkCL$Xb4pE28A*H
++&AMJ1R@i49EfdQVbHQNe21Mf04j-l8NDHUS&(hUjpp#Pl8cG$Jp4Ai2CK(Tc,e[
+lrd3['kc!`qlfLQp@fr#@J3q(`4%5AYpMVqr"![)D89YdSfhJ%HT3fcrDl&+a!JZ
+TVe'F9c(P3e`VHrPVmRVjDhL%1P5[+UPNbp#l"URa&6pdU9L"4G5KHV8CAd4iXaL
+HmZkGj,9l*b`QVl'%SDUT+&j5KUDKQrB39Q!*84[8V0PJ+%PcH)Dk[f6UPl$8hC4
+aCjIRN!$fcL[+d-iVbX#Mp0US0NdPX9YTe(,Eh)UA[dc682ib,,Y'(9iSf+&2[U)
+1II)9P,YE14S0f,Zb@X2E4VVF5"Z*h[hkcXQY"5r8aqTV43@@Zp5`ID#S5kCE&61
+aZqpjEVheIS4H8Hp(B!9YbSDJQ+,m[FFk%&RU8V%#+iQ+eaF&,chLLCMEVjH2mdB
+j$K81G6EfeI%TcRHiMUkhYZ0lIm0TX2Z+&DLmqTV22aU%eeq1fe[3ER[&#Ma'lb(
+a,XqrAN@(rKThU9L"9850*K2LI*QR(LMFle+a!U[TMK,9P)5k8GH'lLrSX*ZpGX-
+DHKhD@eR2$0mFV1cj-U+H,i2(LBUE8YG`-3a61pH9Ze5X`&ULLKNAEr-4VbIBk`P
+Bjfk[D&4[V0@8G&SGfUq[06Di9+c!%q3eT#FbkC(4`hZ"49l2@E#HlLJEmAbPUIR
+,MCAYfNI8VRh`*1hAHU8TUH-c1h2MkHT5,qiJkX8Gm"42Jp)i`V5TajPk(*jfU$2
+YQqJH06pr9NIE0TH+&DLUQQ4lhC6#*plhF6hJ)AI!DmI@Ae39Y+I06+1S3,9$RHj
+F3phEFMqj)rhNEj'k@fX8&DKaU&-MffVV-rM3De(,"peDREmjAp!HLBC$SJ+e6Pq
+,`p@'SI4I8*PkC104YkpBJ6Uk[pV8NF1ApD19l5i9+a#NHF8lCDXbK,3Rlr4"QVc
+6"b'%&fda3aYLXCM5JLIBS5BG9Mlp[8-9&GMJ8+If8('+qUIKX(+U[U"G2%"%"6E
+f8@mmZacUqY-rGUPBJ8d1YE3@XD-RSX0+eq[8SDlAi4PhAUZha$B&DXZMdGUKH6d
+bVm+G9kc!CSFk-D+BZiH@LE-ErR#!GJ0@)1a3TbAd9&V(VST9JpZmMlVU(k91Kd3
+&)RD5"'C&YT@h*-ePD6haR0dQlCV[`lYfr-lTN!#S`"DDFK(5m+kfAE3TX3*EkHi
+PU+0hVqcCYiPkpQe-YSbc*`m(ciP)Y'&r"LB[ILcL6)1Si&Aq)T*$q''"df'K3VX
+LY`a,d1PhR`Zj#9LEb-@i#rdZj1jLEIM@4@kAX6Ck,Z5VR9AKZC!!0`e@HHpd15N
+9GL(6%5aljq9Gb,3%UlMAKEe[VNlAf'f(YHbfLraGLI@Sjd)Q19JPRJYj3@)Ypec
+)I!KVXMmAIPk%0DAAKIf5k(%KFaDX'Ci,QEYJcI4Fb2X"kqQaAYa+Fl"QH5jNZS0
+ePqr#6hZ`bM`AmPl%HX+I#rrHak)dA-k&6++`C[Zpm+q)V&@H#hP9C+hfTmZr-V,
+@q#lqXl8FBGl`TJZCf'(0mA[Khc*CDre*ph0!V,Xp&c)Aa*VEkk,S4Lrmb`GVUqG
+#APeB@c`AmJl,@Zrh`XrYX8Sp&c,(aa**jaiA%kkjN!#T9"CG#A)ZC%U94HpBVaF
+MU98@lCQF#jP(C4%hjd,Q8eN6Hee3eA8KVmFXZXhPA-KV-U[1Fb'[bkbJjd,Q3&R
+62"Fb&mUDhZZ#lPBpEjeE53A@8ji,QC*J2HQjN!!j(&DPlm*2PV2SIMJm&hkbNR@
+2jd)Q,9Rc2"FbHFR#rm[JcB@I6'I4'bRR3ZBj@IGk,Q3QM1AmT`&b3GG5fMTMk5(
+@1Xq&c*Ubl[0Fb1`Tkhl2KFbLXJ,rFb&EqX#YZ4M,UV)Hp1I#ckkb(VSek@0C9YE
+$ILrmE#YVJ6pGIM+4YG+I,MmabeVSci@IS'8piXq&RkKPLIrp-GS,2f(,@Zblm"1
+hV#@H#jR!C5dP&hDLK,),p!BF5pDaUM`A-QR(U[CFb13GUqD@Ll%m'1XCciA-E,%
+`$AA6KFa9XF4r'1UCp1XZC1U-&ICk)40[V-e8',pfr'kNBdqQrb8DdY,Z0cr"kF#
+0AABa'NkE2GK#F98UM-E8jLYAq#0mV4FZ%Yq)5m6r!3#3!`d0%8G6N!0KEA"XC5j
+`F'-ZF(*U(bS!N!1!!*!%""j84&8b!*!30DS!N!MrN!4069"53eG*43%!V&84ckq
+dbhd!!#m[!!!r#!!!#ld!!!qee@jGfJ#3"K4a$F#Y*j26JGP%*UHFFXS0ce*Z[V8
+b'r5f%YTQDfGAAM'lPE['MalKK"qKCiERp$bfjZr9Br[BGC6XBjR&EK[E,,U2m#-
+mbGE1cD+EF$GKedAjfq@NSjHFNRed(bZ@(@'ElY2FTd@f&pYNXmppATll*0X9q+T
+"JlldmMUDH6c#cpXHfHF4(YQ5`5DEE)BR'ar!#Kc3),X!'!#-63()`e-[VVPZa0h
+*Xb4&GMN$NMMHR$m,VhGpD4Fi(!jRIF!VQ3-"PcN3p1M`PYdC9"`cbSB63RIYMHm
+lkcEGUPE'MGYr13lJKZ[@h(IMTFBZ$FCA6c42-%qS2VFAD`M!HD[@E,`mP&"U,aF
+GGC,AHqlN6b2H"22iIEa3T)cEecbijIXTdp`qTeHdcl#9b@CCFZ,G40!ap51N4"$
+ir`JZXS4FET*h[R63)j!!(Mh9MGH)0pl$lrYdb#*4!i"&j,Z3!"3CiM6ljbP[SeM
+TMa$q%rjr-@YN#EUVHR!-b+B@V'`FUq"e%pER`L,GJcSpY'&p'%$1eIJr(q)BK%)
+4f&!SkVTK-FIFI$2!e"$pq"95+L'Ze1pcZ[apLJS`#K*CQfjKp2rHMpLB,S-KUD9
+1efb(D,IEa*PZhe`TZ*r*)%*fSGdqmi3&Ur!X$!5mfJ!m5NYR&JhJ''HkUm8Cp3&
+r8#&T$f#8fQG1d`MJ8@iVeJE3GBjMcN'#(r)S+kNSdjZVkead3IHReGcQ2rjY"Ck
+T@!V#U9XI-a3j[9krhbG1Pl`"JRNa&-,l9M!Zf#BX&BN'jk%cFaD(2d0TZ@JECm[
+,1q`1PBGJGZAPD3,`d*YG4`6jJ!I*VJfJDk#2b2XmT2P("2RETrUelVpqT3DKmZK
+A)aPjf*fB@6&G(K*@e6AJP,8#H,MkP"h3P3)5mBJM(QphSZ-mG1Ep1DRRdmq4VRc
+2Vr+42Kf(-K6+pEa2FjLrpZN+fqc"(*0+)02kNdb0hcA[Ibf)jiqJ(1`2$FGib(A
+HkJ%FSlhNU+V)3jQR%F#$qp1-,[Q2VREbSTUiDAbM@C+i8GS$'"mPlX-m0!-5pqb
+L#m9"2@MHGP32VBrNINM9Mj*l2irhNrXJMf2*I9$ABmPpJ)If3R)rU-HrN[YKB6p
+-lJ-mMLAhJc3q6Zlp2,3$NVZ!!rAD@4XA!RZU(3b99A@K9kb-kTNG)L4Yq$UdXGc
+'q4ZE)@%CL[-#cbYi[pQkT'SG-ibC4(AYMm4pb2JI*Hkh1UaQ31)ZGrXQ6K$R6cl
+hcF5Gq-r%K%51G)EMLDQIarY*Ce#2BdPRJ-Ia6Rk3!-I(REbIKplFhrALN3FDIc#
+DRqJ`-4jHGerEkjjX[18diZ'[p[6aQ&hY'H#48(TSR50UMP,EG%d!dGqG0F5M'Yc
+44hPJTr,fCFidiZ&ebV*SmpF(h0jpkNBk!cTDZN)630F6R5'@bIZcrA%H!aei`'H
+acURdfHcBPc3*YmFFZ+N9cjTa#Fa#GjMqkH9Jr%S$E2d4eHjRqLeUp$!ZZNbp[i8
+#'B2ipAcbKKL0B,bf19cE`['-Am3%r3br%fYk%IbR@e@TeiZjf#S4,c@#rm'(r&Z
+hK[(YK)qmR[m(rZRAIY1ki[Gfb-LRP8$8"6HZQ0jLX35Vca%RMKYrrVMccl2Jd3c
+Cp3p!jN5JqB$3F8XVC$Xki"6l-Z'Q-ap3ZAaKXp#aUPLiX6iIUqPKKS9#aiSGL,G
+l1JK#D2-[D(-Y!Hr`Z@"SmrA,S'"Ui+,LLF98*hbmcjI@3KfrLmU%H&DS,GN"'3p
+[*lDmRPfH!aN[aE-kB3[@UhKGh92Mq*!!PSGZbP1hi6T@"#$lFM`V!kTq+akqE6&
+LT6p4F0YLS@&pSp$3aA8lH5!C2@#TGbYRbhlAA%YZI+MY5jm+Y5eT`(-9`ZL&Cmj
+-a9T1U1fVVq(j*0HX665&fTj!,Y&e1C96qjjQSIdh&D'fa`2#mMqh#NqZ#Y!Ga&S
+1FFrQ`mrP9U(p1Ecch%T)Q69IjI*6V1qdKfJA$eBD!&C9[8BHe3e,4CaYZYUX-p#
+r+"AY5Bld#FYrb'HQe"d4Ya1Xb4[epecc-ZHr['-8h4HZ(m+j#GF0hdU1&GUIVd#
+X63"C9X6)`P2%di4R$QX"0V6(!fkIbcZ[4V,XUmpcHfY%*5K*PY)CC4E-MUp$YRa
+E%CE9N4GMID(P@cP#5e0q6epSDE,'qX*9VG'qJ2J(qN*,dd,ic)C()124TGG-j[9
+'b+kp"6*HABepS38K[JaTLcFe"B(LMi$h9iCqXZDAdEl3dV3ER+pN3VCr0qm,,8e
+4FUK2&TT,0pkLVMNijJ8SU9VXrXp*3E[AkF15AE3(*CFDi@T`N!$YV*'#-Z8((DZ
+j-ap-&fr$Fc1IU0AF1CV%!p23X9MEJfFUT&pG"QP0VENS$0C&B'0r(@h-0AIDeIT
+BKH9Y@#QlJQii'CXMi[-Gc*Ul-!5K2K`r([(AEJ*69Qar-[GVpeK[@%HZi6N$mHi
+#dqPVfC5I0@+Y%rNem[kIeY5JiU-HK'mD(KQaC-&`[K@l&A6CEhNJEd-6+eL`R3#
+Y5ajqM8k9Bl1#jbJfjAkmQG%CdE3)iJeJ'''+kQ3UT%l8(e,#r+!Qc)2Uf21)$j[
+bq$XE*Xq$$(ZJJdfj-Tjk#1UrP$4"I$9['FjB#QNhV5BIF$eZC9Cq4Re!(KLpe`-
+4YerXFhm@rq2i1(+$Hk#J1*@j6TR%A&RE@F%`l,!Q2LPPVXc8Ih[!mLXeCER#2+K
+1(N!qV'"k0,d-HU"JqNVZ!GI*1$8aS6kCUYrhHH!"0T5I24iiqdd21"E)LP3[PXa
+AJNijkJ0@I'mMmqa@m"c&E#pMq%prK'[RfIP*(bKkF!m[H-)mU%iH3$kXH1dYIrG
+!mGf,Z3FmZl!2T$q#q!Il`%-XMCma$r!m--SHp(XNPb)k&+ILp[ZNi),4PYI[4&f
+L$C%(f*5,AY)5b!1Rl1d$1"!-1S0Z#6e2H5$XdfJHd&ES!b9,XclS!eA[pS%IX-R
+ml1N$+AXp3*-(+h,CJEicGU#24X8%LrTBKaalqi"RCk`2H(EZ`E1h$hKfp[B"e2K
+)(r$XkZd$A)qZA$ML$iYkqS"RPpS(Z%GhG5+rhMj!HKcS!bLQ!9pq5(+ik9d*X8L
+56Q`2DACm0)0*dQU4[YX%q*PLVh$d2*f4b*r@`*2I-X**@1&('+HGAK$"$H'5'RI
+I`aEphe6me(e6YV"LQaD!SX3R@V`%&$DAYA+e-'RF-B0V[1qeLNNi39D&6qpkF#8
+SAH'HrrVJ2+SqImZNkekRfPhhZd[cjkZXP"9mj%EE3B*c)1%63p06,GfI#I5kF$r
+YHD9'EE4dJrjL@q@cBmd2fc!6Imj(LqClL)BAb6e21pR-pqd&Z8#@(C&B&)iX10L
+X8*G20!jXfa@JhRKqb-a$MkilqK`P*'M'j#$9-6e2A[8q"bDF,a5FrK*Hb@(hJii
+#+*`'fB&,D-f-,A+8c4Q"rjIVAiK4%TSaPP-dakriZd"l9fG3V5S(D(aj)G8qh`$
+dk!&I-TPUJi[`,h%%8ceFMRci``S6RJ8*Dh1S9VND-$B`[J%ijLP!pc2qK0L`fE5
+raAC3lCbKX!3JNir`Ukq"'`#',kDDC5Km!fG9@%Gqhi-lX,D@DL9M!-IJ)alLH*A
+`+0BHSjUb""l(R3H1Pc)"F-%MPpqlY"0fBQd,eDkmMr3DZBjUpYZaQm")[!XJGQ$
+#J*&ri4VrNH%keePml*e9`2"&XV23+`!0)L[!'Pm1+DYJ1'mEc80kdQN-em"'VkG
+DhEd-I6$k4@kS$KS(jN8-HLTjN3VkhA4[c+Y85eCh3mZG3CrE9fZ)$*!!5pfb+b9
+54-[+1%dfm[A2k,*J%Ld!fr`edJ@5,c'f$-b[KC&2XMN9TpGIDi``8@IcF64Lm3H
+&DAkI%PIQ$0C+LU(3jC*`%p(Z91V`2SG*SMFp`J46U9EXPR&E8DU[4[D*X3Fr1%k
+BS9'9-k*4Z"a@9ikc65Y&X*6`TRd%*9+2`#64med4iP6V)4jlfqXN+Z(L0FF,#f"
+3RjK")Af5ei$Ele'@r`F0`2MB@ZHdNc[+cFjZ(q[X2CYXpRRlI(Sjb(ipGZZQ,jY
+d[RMU59r@QXEA-hCVjCE3b(j'0YNM4KMKELr@Tm9Z(pQ56@@fQHdME*qp%Yk6fdH
+HGlU0E9CkqI[BPV"L[lAbb5D,C"rK`)hBEASfP*feKYpX5lLEM"MC6fiPP%cfN8d
+f--%V(UYQ,Phh!S##hl%!Gcq1hi2SFq$ALVqp"UN`(5``0Uh!lrGkA+VKdAe[SLQ
+ZRpqH[k2NS9Hi)BqDaB)mJ-QTKATGRHTcDi(JSfrcNNXde3J&Y1$-'Bq+IlY-m*)
+FUNm,qScF@Hr`-NSmALhhPYab)k#TGGGik56H@Qla"XeR"2m@[b5E*fL3!(M-ILF
+H3mT$IVmH-(,R[-0,F4SHVmI`D-(V2*ZR+U!'hZB4ZmBENPX+bSbc$!F[N!"(F3J
+IQl&f$!)P(kZ&CAqUVF"&+N5HbpmY)K*qkDcb9%AabJVL!3ZPlKPUXqYZc9[N#@J
+Z3`qd`b20Ylc*UHL"3BbDaDM,UYBMY90`T(R@Fi)kkcQ`YQKe"(5r&M$U1l5'Adi
+4%ASj"C*%A*dqYkjeK%C5IqB9e*pjB6$61Xa*L`LV)IDDGMSUR#ZecS8KM$VF@4`
+f!UV,+!RSG3A&49V3e3*'PLkT1L46kXHbE*F+G&FfK)rp@P#2r4T5'$A$*XYdGfJ
+MHrqiLe24!kQ8ZM(,YL#JUfkA'M5kZC(`+b1&ePG'3KUMTYY)LG4mX5a#eV15qLb
+N-fUQcD%&2,SE)q[YiNBD2cH88p%$'C5k2Y0@T"SUUrAGe2#*(8,VL4f3!-QSUEB
+V4%UY6fVQ924!&UAZ5+CaM6'4ZXRl98j&$f3cDMDP,X)%8VY+(P*p1`A9Ya1'8ZV
+-90Z#N!"Kp0AAjQN(4FfEGK#'-@UDV9$epjAP52JAciKXq-8cN!!MUEV2#1MGD8H
+S6qpCaDRSJCXB0F0@j&'pHXd#2Ga68F+Re`LYTpI!F%%YGRZ-%SrQGIG3[a4@1"8
+p-)*4NffN#Hc,[+qFI)K6d3-M'686XpcG&pV)hKfjSZEYb)943ZYbMlDa6qX"e`C
+143q-&[Qk`S10`f9ZT(RQ2T'[-rI"'%*9ITpZ@aM30k
\ No newline at end of file
index 0ffcc111f3eb32be8c1225bb5855e8a465e27b7e..6d13a8aba3b8296da8b04ff34e7236fcc6c4a48f 100644 (file)
@@ -6,7 +6,8 @@
 //     Started 2/28/97
 // ===========================================================================
 //
-//     This file contains the code for the GSS Sample application
+// Implementation of CGSSSample, an application class derived from LDocApplication
+// Handles top-level chores: initialization, destruction, AppleEvent dispatch
 
 #include "gss.h"
 #include "GSSSample.h"
@@ -29,12 +30,7 @@ extern "C" {
 // for mit-sock
 OSErr MacOSErr;
 
-#include "CGSSWindow.h"
-
-// put declarations for resource ids (ResIDTs) here
-
-// AppleEvent reference number
-const  long            ae_Query                        = 4001;
+#include "CGSSDocument.h"
 
 // ===========================================================================
 //             \80 Main Program
@@ -84,9 +80,9 @@ CGSSSample::CGSSSample():
        URegistrar::RegisterClass(LWindow::class_ID,            (ClassCreatorFunc) LWindow::CreateWindowStream);
 
        URegistrar::RegisterClass(LActiveScroller::class_ID,            (ClassCreatorFunc) LActiveScroller::CreateActiveScrollerStream);
-       URegistrar::RegisterClass(CGSSWindow::class_ID,                         (ClassCreatorFunc) CGSSWindow::CreateGSSWindowStream);
+//     URegistrar::RegisterClass(CGSSWindow::class_ID,                         (ClassCreatorFunc) CGSSWindow::CreateGSSWindowStream);
 
-       // Init sokets library  
+       // Initialize sockets library   
        init_network (nil, true);
 }
 
@@ -104,6 +100,7 @@ CGSSSample::~CGSSSample()
 void
 CGSSSample::StartUp ()
 {
+       // On startup, always create a new document
        MakeNewDocument ();
 }
 
@@ -122,7 +119,7 @@ CGSSSample::ObeyCommand(
        switch (inCommand) {
        
                // Deal with command messages
-               // Any that you don't handle will be passed to LApplication
+               // Any that you don't handle will be passed to LDocApplication
                        
                case cmd_Close:
                // Quit when the window is closed
@@ -154,7 +151,7 @@ CGSSSample::FindCommandStatus(
        switch (inCommand) {
        
                // Return menu item status according to command messages.
-               // Any that you don't handle will be passed to LApplication
+               // Any that you don't handle will be passed to LDocApplication
 
                case cmd_Close:
                        // Always enabled
@@ -168,6 +165,22 @@ CGSSSample::FindCommandStatus(
        }
 }
 
+// ---------------------------------------------------------------------------
+//             \80 MakeNewDocument
+// ---------------------------------------------------------------------------
+//     This function creates a new document
+//
+
+LModelObject*
+CGSSSample::MakeNewDocument ()
+{
+       // There should be only one document!
+       SignalIf_ (mGSSDocument != nil);
+       
+       return (mGSSDocument = new CGSSDocument ());
+}
+
+
 // ===========================================================================
 // \80 Apple Event Handlers                                                              Apple Event Handlers \80
 // ===========================================================================
@@ -181,6 +194,9 @@ CGSSSample::HandleAppleEvent (
 {
        switch (inAENumber) {
 
+               // Deal with AppleEvents
+               // Any that you don't handle will be passed to LDocApplication
+
                case ae_Query:
                // Dispatch query to the document
                        mGSSDocument -> HandleAppleEvent (inAppleEvent, outAEReply, outResult, inAENumber);
@@ -191,32 +207,3 @@ CGSSSample::HandleAppleEvent (
                        break;
        }
 }
-
-LModelObject*
-CGSSSample::MakeNewDocument ()
-{
-       // There should be only one document!
-       SignalIf_ (mGSSDocument != nil);
-       
-       return (mGSSDocument = new CGSSDocument ());
-}
-
-void
-CGSSSample::GetSubModelByPosition (
-       DescType                inModelID,
-       Int32                   inPosition,
-       AEDesc                  &outToken) const
-{
-       switch (inModelID) {
-       
-               case cDocument:
-               // Assume there is only one document and always return it
-                       PutInToken (mGSSDocument, outToken);
-                       break;
-                       
-               default:
-                       LDocApplication::GetSubModelByPosition(inModelID, inPosition,
-                                                                                                       outToken);
-                       break;
-       }
-}
\ No newline at end of file
index d191ab4dd84116e2c333b3bad95fedbde66eed4b..42d3dd521d9b13813c1a02a4070a2465487967dc 100644 (file)
@@ -1,12 +1,16 @@
 // ===========================================================================
 //     GSSSample.h
+//     ©1997 Massachusetts Institute of Technology, All Rights Reserved
+//     Based on <PP StarterApp>.h by Metrowerks Inc.
+//     Modification by meeroh@mit.edu
+//     Started 2/28/97
 // ===========================================================================
 
 #pragma once
 
 #include <LApplication.h>
-#include "gss.h"
 
+#include "gss.h"
 #include "CGSSDocument.h"
 
 class  CGSSSample:
@@ -25,28 +29,24 @@ public:
        virtual void            FindCommandStatus(CommandT inCommand,
                                                        Boolean &outEnabled, Boolean &outUsesMark,
                                                        Char16 &outMark, Str255 outName);
-                       void            ListenToMessage (
-                                                       MessageT        inMessage,
-                                                       void*           ioParam);
-//                     void            ShowGSSWindow ();
-//                     void            HideGSSWindow ();               
-                       LModelObject*   MakeNewDocument ();
-                       void            HandleAppleEvent (
+
+               // this overriding function is called on startup
+               // it always creates a new document
+
+       virtual void            StartUp ();
+       
+               // this overriding function creates a new document
+
+       virtual LModelObject*   MakeNewDocument ();
+       
+               // this overriding function handles incoming AppleEvents
+       
+       virtual void            HandleAppleEvent (
                                                        const AppleEvent&       inAppleEvent,
                                                        AppleEvent&                     outAEReply,
                                                        AEDesc&                         outResult,
                                                        long                            inAENumber);
-                       void            StartUp ();
-                       void            GetSubModelByPosition (
-                                                       DescType                inModelID,
-                                                       Int32                   inPosition,
-                                                       AEDesc                  &outToken) const;
                                                        
-       
-protected:
-
-//     virtual void            Initialize();           // overriding startup functions
-       
        private:
                CGSSDocument*   mGSSDocument;   
 };
\ No newline at end of file
index 386f0e2372b2f52f4e8f2c0e2c2828e7c63af040..b3c9446e9d8050e96f36ff4e0ea0a4bbe90b3a96 100644 (file)
@@ -1,66 +1,69 @@
 (This file must be converted with BinHex 4.0)
-:#d&bBfKTGQ8ZFfPd!&0*9%46593K!*!%$%3!N!6Yj&0*9#%!!J!!$%4b6'&e!J#
-3""B!!!d!$NG6N!0KEA"XC5j`F'pL&!!h"MS!N!1!!*!%""-qG2Sc!*!8![-!N!6
-rN!4bFh*M69G$-J%!Vcc-4kq`C--!!!6a!*!'!Qd!N!4Hk`#3#0lA)d31)LVk&*%
-6PI'MEcl&Rj@91$0LZT`a@@fR&1[8C&eL$El&mA%V)j')P-iSh*I*D,hF#I9U3ip
-eVJ[-Fe!ZG`a&h2fqXqc*P6E#rqdSLrq@&B6pp8*Phj`3d1*mRD6VXUDcpQ!,Dr3
-YJZ2(TELH#DaVEaNHd9-L2GIMaK00K0Fpbd4e-4fDcUHQ)K#Ad2R!`NBP-%&QBP9
-cVjBe'C)Al1KPHVDP*bZpk@U*bfC4)'[5HJ5DTQ@'+%"8(*B-Np0D)'N+Ph5KaX`
-9R6E#&4ic@E1L8(-q4MS&@(X$)e5"kSfU4cANV4T4-Bcj!l)DYhbN!Cd-X()!bN`
-G2@lTp%@HcKcj9PRKVM1cXNPR(M'VKH4#FQUp'i8CNc!'!m"@[Q4EmAUSp%$"8K&
-2'RNGLi6e!'1fh1'Lmah@!jBrDPc"X"4NqeME(iB*PGXjjXPXmN&6F-J[D01)*lX
-(d40N3I)"L`rbJmSd@'#*'LqiQF3aMH"Q'6e)%`YQD%*BUCXKFc1DEV,'qBhc&l&
-i62'PCG2(iePQ@'1HFS3b5aDLki[blP)b[CKc8R3K,42ZL1hZp52ZB*+qq%lXLM1
-cA"mU*!8eUM#(i!6'QX`Q&lf1-08Mm6VA6VLBeICecEhKA(#UQ$J6[8DPIiUpLh-
-dcYrF,GE6Z*E3'R,5fCfaG"cpiN!ih![HKR"B%rffGHfK)2UGhA+m!rhZmk`&EYq
-6JYM,cTf*LiGJUH"L1QaK5mQ$,M'[JIb9HBd!G1rR0IUJ@jhA#%IhD"iELJ5j2$B
-+LGk9amB#SkY,dCa"l1,L`YhUaP@GA-hf5[VB!U6MmJIS+J!!$3!14e13!f&YF'a
-P,R*cFQ-8!$F'1J#3!i!!N!3%%cjdZHm!N"%@!*!)rj!%FR0bBe*6483"!+mmeAq
-[G"KM!!!4KJ#3"JMK!*!%TmB!N!M(hJc!q+l2bm[NjZ9YYZNq"X!lMqcchC5`I5a
-br'+%NFeZjI6k*0b"D4%@Z@eN%i$9!1MTC[JdK[I@hMMjcED4fi5666Ej65DE6$D
-jEC*0*TYXXSm-pS"XQl!p)2[B2X)fqIfk"cBJ[mQ@l,FMNddf'91J$[ppZGPQC(Z
-4hj,I"!fE)'1[i3A+bim5"85dmb@L5Ab$c`'Ff9%2XbMekN3cmMDV8)9Umr0R&Qf
-hILp0RUVAklUGaQBQFePS+L"NB+&qBLkJMBdYP2(E[bmF[IR"(,RV)rfT0r0MCYp
-&&bA,UTC#Al'%9'GH[60PRGjRe[XeMihYTfY-'1`4(CmLfLh`)hqJi$Kp0Rcj'Rr
-[D1IIh9q8PHIBPr!iT-f+YcT0LDTr&UaT3f#[-*EQf&mBZp+*2,#rJ[16SFe-'0Z
-%D0Y2#X`"qkPJL6I!ILCBCQ*J,c,@0,%&GP-`DpD!rCba+lEa!@#rB'cCq#D`A`U
-(LpD"r8VQ[)Q![F4Bfkk`[PmcjV4J[a%XjriYpR0$pYMJIBerY4fjX''@`6rq!Q1
-K6E[![LCBfQN!qlTJ(Dq!IB1aTRABqrJh'62)!@$I%LaT-RD0XDLpR!(lYQ#Z!bq
--IiHapNS%,iarPl&81qEl(Q1mGD+*!i+YC$chIFEJkcD`(c$@5CKMr$TM,JkCiiI
-Bjb3GT[I6(i1[d0@jZ82ECD*&cp#2Jcr4M@,LA1(VM`@Mp&c`f&$Pr"1#6p$MG$#
-BHRCQhUkDE$l@#D*Y66*-c@Gf1G2Y(A@2Q$'C*%m8DKqaXfQY8(3U826Hi+QHSZh
-d""d*RRVfdPPi-HZUb#RieR0d,AALH%E0adBlScaQ[98kMXe+T$d'@NDPQ@h%TUd
-DAF@K`D61YSe#d(6D*[&Z4Vd-M8p6"E%!2p2dDT3dXBR+Slr28iYcYFa@q0S92,9
-3Tr!,i[Skl3l+M(XA[SG,eZQ""CcZZL1UCH,BUP@EaC!!!(-lI'I!pL"9*im@lP$
-RG0ZmCdFG8D014R"0c4hC2UZ6QejG&,[5AIm+fYY$XT'p0,BjXl%aFXSNCN8$8a!
-p4(m,$Z'eJ6mf@RpI3MHq[eMVm15#34`M893GU@`H@M4Cfm&IfLZcBZ!lj(RTC19
-DYK-hPHZNU8AX)((C6ld@-!Rh*dfG&9VH-Q[EEE!L$b"Tb@DUEChI&14QlB)4"D2
-$l''cFjCI5LF+AM5K,aY"JM3JZNUB8V[Cr2Ni&QA&r)DQi0F4K$KLJ2#dr$hQ8K0
-'5j&aDV9P3*XT,#'aAS8YR5aMV&KS`m$&+r"!`f"0TXb6jkJ5*A4j+BTe(,Rl@$F
-`Sk)%HU+`aHUC9q)Sh`Kf00E8ALY8$R2rJ['G$!E!110-h1Kkk,C,@c[QKS)5Y(b
-J4`@'[USH-BN$$JiQ9eYXQ*jNMP"X"3[04,[K3%2A3UcZ2f@mD")bYQ0["93fTJI
-aflIBimKXHh1hZIUh[DEq9H&$EAhCl$U,Kp)U-D[+),'4c@@MBchhRFqeP'E0C$F
-XFN!),AN'I"bLUKLmE-2BGe-cc84KV*fBkJjV4AZ+%YI#0hk)af0EK"N5VZGL6"[
-8Bji[U1(MeFLhC,ImC@I)I*4%2Y*ahd8$8VKrTl#LQk33K14*XkE(VZh$Qp`V1Zi
-J"8Vf2PZj`lkH)B`QdqIab'1N-%QcF1$Eh30Pdpl-b'1jTm55,'"'S@D`1E9#NRQ
-@b8N'[B-8k$Y`"QP+`fN@*Ij0mrakA6XhqdhYa`ID4F,ra%YL$A'`lT&d4E)KZF"
-DK,kN&8rQU[08QKUSjPP48GR-EmQYrqBhGRS9QH&S+IBTjmXM29C'5hq@(I-e+4`
-09kQ+VHfZBh1p(Gpd-TV[$fRlleBMT8B+#VHDS1)YP3QdS``i54!1p[&"R8*[6Hq
-T)GN'P3hC`Y96h"#L!&-9*AJY34&&r1+1%(BSB(5%bl&G*HBBVDP,18S6)`f,8i+
-MY*%dVc3cIcp[3'BdbL'5$C9['HiSXbbA-89M8XXd'RSVM"X0Dq0ljb`mhqG3VGc
-F3J4*DmH)4RcNX49+mAkG8fK83fIJ(-DN@8ZMjKShU(hLN!"1Zm&P,cGVXGNT'Pf
-+,9b"KKLjTCMehA0ERc"!&!fhE92(+9l-Xr[d,4DCCCBa'$PDjbfRQ9YRTReE6,e
-jCKYGYlE0)25[YjPYlaCE1Fp1B)bGX)jGJQR2(5E62$C&3faH5['+F0(Eba5j1@i
-YIiUfiCB8mCl`PXecAq[V+DCP5bR+VaaZd2,GK6RF$Y(hBDIB,+%j@jXeS`4('#N
-VKEIi0eU')M'`[DEQ5T`U@eYk`cqhe+1Q8AK,5JC&KIF12klc9I9#Yf(3KNSHe0i
-Nc(-A,C!!cc%VXNEq"3!Y9DYGir"48h*j+8m(#IC@55`P9UQljkcF"56##i+UGTI
-a8G-e2&KH"afaGdJSmTlfRZ9MASc,LV%GTmS,L$Yid4RFX2L)JP08IP$4QH&E$cU
-$6VV+LJl(Pa,L+efqXC%-M*Nr[#$236q#B&k#R&!3Ze!9GiZV"CJFql@m"flfLUN
-qIDjXF$6DBCY0"iP0a3HV4aG4NTH,9I82)pL@R09FHGZ4M4e8$4`jmiA5HFL3!#Y
-1-1*3+N,raVSmAff0XL@q52kRrH3UZ1XA[c&Fbr1MdLiJld"e33"KE@)ZiQ'jL`A
-$&cUi@8h!c5cS#S-bI3&GT@b,LbHHA*cL'iH-BkrSU-YE&lD*NK-Ar8rI[Z`2(DM
-prIMc'*N1GY%fEA$(VG*MY6-,Lb$+jNi[RX(lSr2c&[GJHVkqZ2"@[$qrZ1BcA"4
-IZ(6kh"c`hfR$Yfek"3ESrcj%1r&k@,"RF*XRHP'`$l-9*RmNf&9k3&(`'F&Zd'&
-JAmlRq)iCA-rR0MB89CLIPhF5!I`*`Di6M&+9@cpd[!reFEE3MCYfpFP#0fl495Q
--i(iDf,2&G[#Zm[med$pZKYYRq@BQd#5RB6m%afTSLPipCYGfR8(*++kmPh5@`()
-64c16aKVCMD2S@)pc[0je(QIGNcEaScJMjd"qh&6[[N@kl35UCq4DrA6i2qR,!!!:
+:#(*cFQ-ZFfPd!&0*9%46593K!*!%$4`!N!3G%&0*9#%!!3!!$4ab6'&e![m!N!-
+@rrmJ)!4bFh*M!*!EU4)!N!2f!Ad#a!0Q!*!$!J#3$iB!!!)3rj!%!3#[Y-ZqVlP
+pMJ#3"KBd!*!'$*Erm2ri!*!'Pc!0!!j(8j!$B@e`E'8ZF("[BJ#3%@$9!*!4&J!
+!!eX!N!-@rj!%FR0bBdeA3c)"!+mmc%H[ZBD#!!!%VJ#3"J*P!*!%3fd!N!Jp-50
+%$L)UZT6)LFT-4ppmLMmV+h&Qa(3jBl,D6LR@UFQka"TmLq-R"669-29Xc06d+%p
+Rf0c'q3X@RECNiC+'H8ii)D3EHUacA@!H83k28Tc[K[@I@[EN5K[Mla[PmGqbJV#
+rAUMXQa-#@Tb[Nh4GeR6@(QaKMEj&F2Qi&0FcJAAY,F-MHXT2(I2*M5HD5*pDp[J
+b89e-KkEcUDN)a#9d2V#`83P-N!#C@0AFUf90YM)5B4%TR9&iJCjYkFP+ElTDiV*
+C&-LDY"k"TQQC)3S3&BFP`q5d&NLD`L9GU$&c4DH0F)A(60DX+05FMj&1!GEH`!K
+9S(UMkP%0HDY'e,l)bTN4hbSVh(9Q9METc#0'Y2#bN!#F@Zr'1&$6J+c'%5ilVKG
+S-F9Gj#,RHXGZ)9M%NdCHab*Kp''%PMYFG,l$HX$b4i@KYSqe(&6h`k#JFM[(2*P
+02QJ+$[N&E4VaC2FJHQ,U!1dCF`,j3@8D,,"%M4IF61+B0(#cM"kNL38c0#'Xe-f
+3!,NC66GCirc'qBYB2+EidV,Tir%X-k`46MP#Q58,dI9&HAFTQ9l--#QkN!#@#AI
+%G[Ik%AH`#lli6Zb+-l0F(bSN"68+N!"!Xc&Njr)4LU%k&dQi5*M1+VMYA-9mB2'
+1'3q,Z5AITC)ra8i&,,(6hpb02U1c*E5'R06G'8[(dFm,Kc8ae@[AYBH#k$Gebr%
+1p$[13el1h5H)AH[FJlK-#*B*,TY(,@`THB42532j+r-D!HKHc@[d3EFkVa'1lXd
+m0K6ThC!!adB"SfY+dCa"f1+5`KhTaP@GA-hf5VSe'C1aT#S(rKkk#J!0!!j(8j!
+$B@e`E'8ZFR0bB`#3%5-*!*!4KJ!!$+`!N!-@rj!%FR0bBe*6483"!+mmeAq[G"K
+M!!!4KJ#3"JMK!*!%p)d!N!Jmr!c!q+l2bd&bmr)ffh3I!f$l2,,SZe$#pV()mBX
+46MBlmrSNh)&T%4DjE@36J08!k1PQq$5'ppEH10RNf$DbMc#bb5Drb@56b5Dh6E,
+*C*00pT("(K"q6GJHN!"pE"pKQraqh3-EN!$IC%[ffj(**TZ-+9#(rljZXb4E0rN
+Yq8h3X!NbpKTHS,cm+&&!40YH*TV!0rJm`1Ra@TK&U9I('T'h@B8U0$-rIfV4GQV
+lD1*%V9E6V63fdjR,3P-"iEc1I1hNiMj!Vk&hIPpmiB-IbC&l2YUEHLXrTRHIGe'
+bV'C5k#Z@N!"#MRTRbMUpckchDaiEfd0AQ6$B+6Sq6E4$i%Ir3-%4qPcibPAqhY9
+rljGNj6RfC6`1D,2LV8j6SZUI"@[B%0LVM+8jpKI',V8M$qb[i2a8D$-6aMBKf[+
+6!R2!ILTBiJf`R`Q@Q4MB5i`e6'b"h4$-QM9J2fIXNUer!0J['&Xf[J(XPm,KSR9
+J[j)jEb*J,c2@XLZXlpH-15hBE`6,ZAq,r9bA2GCjAk-[Y#)AeXdbq%GIC#bdD3I
+Be`4,fh9JAaHXl4@`Ec$@X!jl(rdQB`Bj!1aEJL80aUib&V@@-f$I&XbeiBA4lc$
+@@SRJKG([-TCUahcIBibh6M5f9l#9M1HqcaKmh3,f!mED#A1-AQ2-a5&cr"$lR+#
+$p(lkBr"9ZM`hGf#V6$6T@ITam#HkANbF+Acpm@#BRJZ1$P612LRi'$e"qi2*+p2
+cGY9Nml&1%'eVNQ&U2V2,Q@k0ecaLaQ552&'SIF61TV9#dBP!dAZ$TlZ+YY+6G#K
+iqXU&dr"LeP'48r#YjqKDDXIaY*U2MAC'HFakUh3FQj9)H``dM8Sc@ip05p8lLN1
+$5CeY'B@JDEG-iYfdHJ8DRk%+BJ&qTUR9+'PJ%jA(ITqReNEaB`bqGJA26+K6q!9
+aIBef"'A'[3[IJbAV90m#6RIF)G8dF@c9UXeL5)#j(El6B(Z)UK12&qj3Ch6,['H
+mKUK4ab1iCXBGfMUVNaYHR4HldMhr$0VE3l+4A65b1E1a-A6#*'C&!e-328"r#`l
+JYB%r0PT[Ad)hZUGBkq$%JN%F)e&8$DPX(Pid@F["ApSVXf,J1q4jk@6PQVBG0j4
+VTkP&l#"af8rG&M!"pbF0R49DhMCV@bf`)JmJDFPQUQ@Gha6NCZf#%3A$JqaKXff
+@AdSR#PidS5mE3B)d),T-Q&)lf2cj1"CPaIb'*Z(A)B3iBS$`Y2`pl&)64NZ4F@U
+eD8#E+5`KX9k&6CdXBkaBD0h!a5[`30eJ6DE-NqHS%L9dF5Q+G4bjqeNh-+1L"(U
+LX-RUQ9IL+0m)GM65d&iV9!lc`),al3`'`$MM6&c[H1Lf5lGfc!d&*@KjEjF+$$e
+9A@)5"qc[6kiff6"Gb4bKf!S@QSPf`i''VS9BhA2#H0%NC'c(lJUSE%`2iEGlXFZ
+4fGEQER2erhGArH[#"eVkSYPq'JqP9@*@P8&L)j[,4XGklMqEDbR0QXPZ@'5I%&V
+b$2J%4&8aH0''XHqNCSU*`PJl-G8GeSVf&#@ZL@rm-)r(YJJc*&cAaCJfU-FmAe$
+$akZ4EmTZqF[1N!$j+)PmT11HLrUNF2mfB88h55%)bC0Q$BpGfdFfZ9Gdh%B+P1`
+pYR+(26d$'%fQcZ+4adKKNNEK`(Hi"mZQ[CQ4Kh02L59C`,4#c@"cDS8Nmbb6N`a
+kqbR3Fq!ddT3'dba+r&[QqI@'GQlfQpU2p,@,K2q+Pm3Di'$G+HQ+C%0bJE8)I8N
+VRXa9jkNdf9I0Xk+LXTRINP[rb@rXp$)b`p&5l&21PdHlV)b@rL`ljPdT(!fAUBU
+YlDKKFpdGhh!bQZm2DIZ[9L1P4JS+YjUJiLf9#64H"T`N#!IlD,p1SEHQpmdJfIU
+9$GR#e92F%+)!8a8PH#e"%8AmiSi3YLPJG)M,X9dPjKLH84GbP-D'kKDR"%GT2@P
+FDQ6q!Gk!c'L83b3E+Ymbh&&Q@5jMNNDNPQNdp'BBeq[@a[[Q,$cIie$0h0a#"%P
+VKiQ'I15a&8VaIS06D&4GCq!Fa+4C5k2''MHShH+3!(DVcQ8[0fZaf8NDASSYA)'
+'',QPQ2AGGeZI-%!8$ECX3mFTAXbciq40&TPPPK%B19VR,DHC@fHQhEHBZ[2-0Va
+ZEBY"k&p[-GZZ@fcP2$Z"-AE#1RB*TTehQ%cMm#30X(NTa5[#4@mA8q6QZ,Rm5GU
+#@e,%Hm*E0XppVDHRQ*BYT5LrFVK"bhIRjR!l40q(R@+cK1CXEGD)%KaKT+`8hZ,
+IF"Q+a-$@'69AiP5jYD8h[EDP,M80`eY5-LJU[(I`#Cf[UKZkGB-f92+JpLCKRVY
+SJAb1@C%emLm!D+PDl4L(MjU8bdYj1NL`YdTL+E&+h6YRj5iJ%9i39,@lL)qDQX'
+$jEA4%EZ(K#,[DGGT2ZE&Z+`BfhDU[)#irHHG`3f,MbJi4H8(&CdC[[@J-qLNSkc
+SF(`T)El5j4XEbX#BqB-,mZch)`MQ*FJ*"E%,9A'RZ&U!bE&Ibh[JCUqBl0(Rb[T
+(Sh(ED$K)E#Jq@$ffL*+mA+bUGaM"YZ5XjXVEMQaX[kVMb*N[P-j#KPaaJL'(8K(
+k0pINqATVP#ha4I,Il5GA`9frq)hJ@TiIPEB$qAp8&`33eLEQ)Kk@ZeJ`H+k0Qp8
+Bh-b#,M%SdqI39FUfZ(MXUF9*[R()12D+MVTmkm)f9R,LS[qCfjIpJEdcIcrb2%D
+QJZfd44[FFDYdG1E8`L+)XVQ6LkI`rYMm[-8pQ*k[,5km(Hm[,+lj$"I&&bqF2$-
+(r(IDm'fEAS8"HVm2d6Dm(K(X@GcQL9i5l-0XKBNI#ADC(P38I&D`kh33f&Ib1Ej
+M"YIbZBd044AQjq8G4`"r8V"V"+08jGB2(Hp$IC`YG11QAAfUd)eEG&8+)lLI!AD
+Pf!lH9Ikr"[V(cA$V,0r-"*VJ01b&i-J-QU*A4qhDpP-S'F@9pi,1%PKZl2(-T,&
+'GZ-S1Y,P(+eeR-GCplK0r$$1b$Q3!"mheEY[NQijKZSCZ@B[(Ii(!*!$)5%%FR0
+bB`#3)2B"I3,%!fB!N!-"!!!$@`#3"aB!N!1'!!!#%2q3"!%!Vl6,[UqjIBi!N!B
+@0!#3"J`Qrr$rq!#3"[l)R!i!!!:
index 485cd507b34ddf075da99e7ec98e0bb0ffe047b7..87e4765b9fea0c7818a83930ced80b5d9728eda7 100644 (file)
@@ -7,24 +7,7 @@
 #define SOCKET int
 
 extern "C" {
-
-#include <string.h>
-
-//#include "gssapi.h"
 #include "gssapi_generic.h"
+}
 
 typedef unsigned short u_short;
-
-/*
-// gss-misc.c
-int send_token(SOCKET s, gss_buffer_t tok);
-int recv_token(SOCKET s, gss_buffer_t tok);
-void display_status(char *msg, OM_uint32 maj_stat, OM_uint32 min_stat);
-static void display_status_1(char *m, OM_uint32 code, int type);
-
-// gss-client.c
-int gss (char *host, char *name, char *msg, int port);
-int call_server(char *host, u_short port, int dov2, char *service_name, char *msg);
-SOCKET connect_to_server(char *host, u_short port);
-int client_establish_context(SOCKET s, char *service_name, gss_ctx_id_t *gss_context);*/
-}
\ No newline at end of file