diff options
Diffstat (limited to 'pow/POW-0.7')
-rw-r--r-- | pow/POW-0.7/PKG-INFO | 10 | ||||
-rw-r--r-- | pow/POW-0.7/POW.c | 8564 | ||||
-rw-r--r-- | pow/POW-0.7/README | 116 | ||||
-rwxr-xr-x | pow/POW-0.7/cfgparse.py | 115 | ||||
-rw-r--r-- | pow/POW-0.7/docs/POW.pdf | 17436 | ||||
-rw-r--r-- | pow/POW-0.7/docs/POW_pdf.dsl | 112 | ||||
-rwxr-xr-x | pow/POW-0.7/docs/doc.py | 52 | ||||
-rwxr-xr-x | pow/POW-0.7/docs/doc.sh | 13 | ||||
-rw-r--r-- | pow/POW-0.7/docs/doc.xsl | 188 | ||||
-rw-r--r-- | pow/POW-0.7/dumpasn1.cfg | 6525 | ||||
-rw-r--r-- | pow/POW-0.7/lib/__init__.py | 16 | ||||
-rw-r--r-- | pow/POW-0.7/lib/_der.py | 2294 | ||||
-rwxr-xr-x | pow/POW-0.7/lib/_simpledb.py | 55 | ||||
-rwxr-xr-x | pow/POW-0.7/lib/pkix.py | 2087 | ||||
-rw-r--r-- | pow/POW-0.7/pkix-m2crypto-driver.py | 42 | ||||
-rw-r--r-- | pow/POW-0.7/setup.py | 48 | ||||
-rwxr-xr-x | pow/POW-0.7/test/test.py | 2128 |
17 files changed, 0 insertions, 39801 deletions
diff --git a/pow/POW-0.7/PKG-INFO b/pow/POW-0.7/PKG-INFO deleted file mode 100644 index e77ce266..00000000 --- a/pow/POW-0.7/PKG-INFO +++ /dev/null @@ -1,10 +0,0 @@ -Metadata-Version: 1.0 -Name: POW -Version: 0.7 -Summary: Python OpenSSL Wrappers -Home-page: http://www.sourceforge.net/projects/pow -Author: Peter Shannon -Author-email: peter_shannon@yahoo.com -License: UNKNOWN -Description: UNKNOWN -Platform: UNKNOWN diff --git a/pow/POW-0.7/POW.c b/pow/POW-0.7/POW.c deleted file mode 100644 index 666a8919..00000000 --- a/pow/POW-0.7/POW.c +++ /dev/null @@ -1,8564 +0,0 @@ -/*****************************************************************************/ -/* */ -/* Copyright (c) 2001, 2002, Peter Shannon */ -/* All rights reserved. */ -/* */ -/* Redistribution and use in source and binary forms, with or without */ -/* modification, are permitted provided that the following conditions */ -/* are met: */ -/* */ -/* * Redistributions of source code must retain the above */ -/* copyright notice, this list of conditions and the following */ -/* disclaimer. */ -/* */ -/* * Redistributions in binary form must reproduce the above */ -/* copyright notice, this list of conditions and the following */ -/* disclaimer in the documentation and/or other materials */ -/* provided with the distribution. */ -/* */ -/* * The name of the contributors may be used to endorse or promote */ -/* products derived from this software without specific prior */ -/* written permission. */ -/* */ -/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ -/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ -/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ -/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS */ -/* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ -/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ -/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ -/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ -/* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ -/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ -/* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* */ -/*****************************************************************************/ - -#include <Python.h> - -#include <openssl/opensslconf.h> -#include <openssl/crypto.h> -#include <openssl/rand.h> -#include <openssl/asn1.h> -#include <openssl/x509.h> -#include <openssl/x509v3.h> -#include <openssl/pem.h> -#include <openssl/ssl.h> -#include <openssl/evp.h> -#include <openssl/err.h> -#include <openssl/md5.h> -#ifndef OPENSSL_NO_MD2 -#include <openssl/md2.h> -#endif -#include <openssl/sha.h> -#include <openssl/hmac.h> -#include <openssl/ripemd.h> -#include <openssl/cms.h> - -#include <time.h> - -// Symmetric ciphers -#define DES_ECB 1 -#define DES_EDE 2 -#define DES_EDE3 3 -#define DES_CFB 4 -#define DES_EDE_CFB 5 -#define DES_EDE3_CFB 6 -#define DES_OFB 7 -#define DES_EDE_OFB 8 -#define DES_EDE3_OFB 9 -#define DES_CBC 10 -#define DES_EDE_CBC 11 -#define DES_EDE3_CBC 12 -#define DESX_CBC 13 -#define RC4 14 -#define RC4_40 15 -#define IDEA_ECB 16 -#define IDEA_CFB 17 -#define IDEA_OFB 18 -#define IDEA_CBC 19 -#define RC2_ECB 20 -#define RC2_CBC 21 -#define RC2_40_CBC 22 -#define RC2_CFB 23 -#define RC2_OFB 24 -#define BF_ECB 25 -#define BF_CBC 26 -#define BF_CFB 27 -#define BF_OFB 28 -#define CAST5_ECB 29 -#define CAST5_CBC 30 -#define CAST5_CFB 31 -#define CAST5_OFB 32 -#define RC5_32_12_16_CBC 33 -#define RC5_32_12_16_CFB 34 -#define RC5_32_12_16_ECB 35 -#define RC5_32_12_16_OFB 36 - -// SSL connection methods -#define SSLV2_SERVER_METHOD 1 -#define SSLV2_CLIENT_METHOD 2 -#define SSLV2_METHOD 3 -#define SSLV3_SERVER_METHOD 4 -#define SSLV3_CLIENT_METHOD 5 -#define SSLV3_METHOD 6 -#define TLSV1_SERVER_METHOD 7 -#define TLSV1_CLIENT_METHOD 8 -#define TLSV1_METHOD 9 -#define SSLV23_SERVER_METHOD 10 -#define SSLV23_CLIENT_METHOD 11 -#define SSLV23_METHOD 12 - -// SSL connection states - -// PEM encoded data types -#define RSA_PUBLIC_KEY 1 -#define RSA_PRIVATE_KEY 2 -#define DSA_PUBLIC_KEY 3 -#define DSA_PRIVATE_KEY 4 -#define DH_PUBLIC_KEY 5 -#define DH_PRIVATE_KEY 6 -#define X509_CERTIFICATE 7 -#define X_X509_CRL 8 // X509_CRL already used by OpenSSL library -#define CMS_MESSAGE 9 - -// Asymmetric ciphers -#define RSA_CIPHER 1 -#define DSA_CIPHER 2 -#define DH_CIPHER 3 -//#define NO_DSA -//#define NO_DH - -// Digests -#ifndef OPENSSL_NO_MD2 -#define MD2_DIGEST 1 -#endif -#define MD5_DIGEST 2 -#define SHA_DIGEST 3 -#define SHA1_DIGEST 4 -#define RIPEMD160_DIGEST 5 -#define SHA256_DIGEST 6 -#define SHA384_DIGEST 7 -#define SHA512_DIGEST 8 - -// Object format -#define SHORTNAME_FORMAT 1 -#define LONGNAME_FORMAT 2 - -// Output format -#define PEM_FORMAT 1 -#define DER_FORMAT 2 - -// Object check functions -#define X_X509_Check(op) ((op)->ob_type == &x509type) -#define X_X509_store_Check(op) ((op)->ob_type == &x509_storetype) -#define X_X509_crl_Check(op) ((op)->ob_type == &x509_crltype) -#define X_X509_revoked_Check(op) ((op)->ob_type == &x509_revokedtype) -#define X_asymmetric_Check(op) ((op)->ob_type == &asymmetrictype) -#define X_symmetric_Check(op) ((op)->ob_type == &symmetrictype) -#define X_digest_Check(op) ((op)->ob_type == &digesttype) -#define X_hmac_Check(op) ((op)->ob_type == &hmactype) -#define X_ssl_Check(op) ((op)->ob_type == &ssltype) -#define X_cms_Check(op) ((op)->ob_type == &cmstype) - -// Symbolic representation of "no SSL shutdown mode requested" -#define SSL_NO_SHUTDOWN 0 - -static char pow_module__doc__ [] = -"<moduleDescription>\n" -" <header>\n" -" <name>POW</name>\n" -" <author>Peter Shannon</author>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This third major release of POW addresses the most critical missing\n" -" parts of functionality, X509v3 support. Initially I thought adding\n" -" support via the OpenSSL code would be the easiest option but this\n" -" proved to be incorrect mainly due to the way I have chosen to handle\n" -" the complex data such as <classname>directoryNames</classname> and\n" -" <classname>generalNames</classname>. It is easier in python to\n" -" construct complex sets of data using lists and dictionaries than\n" -" coordinate large numbers of objects and method calls. This is no\n" -" criticism, it is just extremely easy. Coding complex data such as the\n" -" <classname>certificatePolicies</classname> coding coding routines in C\n" -" to handle the data proved laborous and ultimately error prone.\n" -" </para>\n" -" <para>\n" -" PKIX structures are supported by a few operations on the relevant POW\n" -" objects and through a Python library which is modelled on the DER\n" -" encoding rules. Modeling DER does expose some of the complexities of\n" -" the ASN1 specifications but avoids coding many assumptions into the\n" -" data structures and the interface for the objects. For an example of\n" -" overly complex definitions take a look at the\n" -" <classname>Name</classname> object in RFC3280. It is equally\n" -" important that modeling DER in the way leads to a library which is\n" -" trivial to extend to support new objects - simple objects are one\n" -" liners and complex objects only require the definition of a new\n" -" constructor.\n" -" </para>\n" -" <para>\n" -" functionality have been plugged. The <classname>Ssl</classname> class has received\n" -" several new features relating to security. Other areas have been\n" -" improved: PRNG support, certificate and CRL signing, certificate chain\n" -" and client verification. Many bugs have been fixed, and certain\n" -" parts of code re-written where necessary. I hope you enjoy using POW\n" -" and please feel free to send me feature requests and bug reports.\n" -" </para>\n" -" </body>\n" -"</moduleDescription>\n" -; - -/*========== Pre-definitions ==========*/ -static PyObject - *ErrorObject, - *SSLErrorObject, - *ZeroReturnErrorObject, - *WantReadErrorObject, - *WantWriteErrorObject, - *SSLSyscallErrorObject, - *SSLErrorSSLErrorObject, - *SSLSyscallSSLErrorObject, - *SSLUnexpectedEOFErrorObject, - *SSLOtherErrorObject; - -static PyTypeObject - x509type, - x509_storetype, - x509_crltype, - x509_revokedtype, - asymmetrictype, - symmetrictype, - digesttype, - hmactype, - ssltype, - cmstype; -/*========== Pre-definitions ==========*/ - -/*========== C structs ==========*/ -typedef struct { - PyObject_HEAD - X509 *x509; -} x509_object; - -typedef struct { - PyObject_HEAD - X509_STORE *store; -} x509_store_object; - -typedef struct { - PyObject_HEAD - X509_CRL *crl; -} x509_crl_object; - -typedef struct { - PyObject_HEAD - X509_REVOKED *revoked; -} x509_revoked_object; - -typedef struct { - PyObject_HEAD - void *cipher; - int key_type; - int cipher_type; -} asymmetric_object; - -typedef struct { - PyObject_HEAD - EVP_CIPHER_CTX cipher_ctx; - int cipher_type; -} symmetric_object; - -typedef struct { - PyObject_HEAD - EVP_MD_CTX digest_ctx; - int digest_type; -} digest_object; - -typedef struct { - PyObject_HEAD - HMAC_CTX hmac_ctx; -} hmac_object; - -typedef struct { - PyObject_HEAD - int ctxset; - SSL *ssl; - SSL_CTX *ctx; - STACK_OF(X509) *trusted_certs; - char *x509_cb_err; -} ssl_object; - -typedef struct { - PyObject_HEAD - CMS_ContentInfo *cms; -} cms_object; - -/*========== C structs ==========*/ - -/*========== helper functions ==========*/ - -/* - * Minimal intervention debug-by-printf() hack, use only for good. - */ - -#if 0 -#define KVETCH(_msg_) write(2, _msg_ "\n", sizeof(_msg_)) -#else -#define KVETCH(_msg_) -#endif - -/* - * Error handling macros. These macros make two assumptions: - * - * 1) All the macros assume that there's a cleanup label named - * "error" which these macros can use as a goto target. - * - * 2) assert_no_unhandled_openssl_errors() assumes that the return - * value is stored in a PyObject* variable named "result". - * - * These are icky assumptions, but they make it easier to provide - * uniform error handling and make the code easier to read, not to - * mention making it easier to track down obscure OpenSSL errors. - */ - -#define lose(_msg_) \ - do { \ - PyErr_SetString(ErrorObject, (_msg_)); \ - goto error; \ - } while (0) - -#define lose_type_error(_msg_) \ - do { \ - PyErr_SetString(PyExc_TypeError, (_msg_)); \ - goto error; \ - } while (0) - -#define lose_openssl_error(_msg_) \ - do { \ - set_openssl_exception(ErrorObject, (_msg_)); \ - goto error; \ - } while (0) - -#define lose_ssl_error(_self_, _code_) \ - do { \ - set_openssl_ssl_exception(_self_, _code_); \ - goto error; \ - } while (0) - -#define assert_no_unhandled_openssl_errors() \ - do { \ - if (ERR_peek_error()) { \ - if (result) { \ - Py_XDECREF(result); \ - result = NULL; \ - } \ - lose_openssl_error(assert_helper(__LINE__)); \ - } \ - } while (0) - -static char * -assert_helper(int line) -{ - static const char fmt[] = "Unhandled OpenSSL error at " __FILE__ ":%d!"; - static char msg[sizeof(fmt) + 10]; - - snprintf(msg, sizeof(msg), fmt, line); - return msg; -} - -static int -docset_helper_add(PyObject *set, char *v) -{ - PyObject *value = NULL; - - if ((value = PyString_FromString(v)) == NULL) - lose("could not allocate memory"); - - if (PyList_Append(set, value) != 0) - goto error; - - Py_XDECREF(value); - return 1; - - error: - - Py_XDECREF(value); - return 0; -} - -/* - * Generate an encrypion envelope. Saves a lot of space having this case - * statement in one place. - */ -static const EVP_CIPHER * -evp_cipher_factory(int cipher_type) -{ - switch(cipher_type) { -#ifndef OPENSSL_NO_DES - case DES_ECB: return EVP_des_ecb(); - case DES_EDE: return EVP_des_ede(); - case DES_EDE3: return EVP_des_ede3(); - case DES_CFB: return EVP_des_cfb(); - case DES_EDE_CFB: return EVP_des_ede_cfb(); - case DES_EDE3_CFB: return EVP_des_ede3_cfb(); - case DES_OFB: return EVP_des_ofb(); - case DES_EDE_OFB: return EVP_des_ede_ofb(); - case DES_EDE3_OFB: return EVP_des_ede3_ofb(); - case DES_CBC: return EVP_des_cbc(); - case DES_EDE_CBC: return EVP_des_ede_cbc(); - case DES_EDE3_CBC: return EVP_des_ede3_cbc(); - case DESX_CBC: return EVP_desx_cbc(); -#endif -#ifndef OPENSSL_NO_RC4 - case RC4: return EVP_rc4(); - case RC4_40: return EVP_rc4_40(); -#endif -#ifndef OPENSSL_NO_IDEA - case IDEA_ECB: return EVP_idea_ecb(); - case IDEA_CFB: return EVP_idea_cfb(); - case IDEA_OFB: return EVP_idea_ofb(); - case IDEA_CBC: return EVP_idea_cbc(); -#endif -#ifndef OPENSSL_NO_RC2 - case RC2_ECB: return EVP_rc2_ecb(); - case RC2_CBC: return EVP_rc2_cbc(); - case RC2_40_CBC: return EVP_rc2_40_cbc(); - case RC2_CFB: return EVP_rc2_cfb(); - case RC2_OFB: return EVP_rc2_ofb(); -#endif -#ifndef OPENSSL_NO_BF - case BF_ECB: return EVP_bf_ecb(); - case BF_CBC: return EVP_bf_cbc(); - case BF_CFB: return EVP_bf_cfb(); - case BF_OFB: return EVP_bf_ofb(); -#endif -#ifndef OPENSSL_NO_CAST5 - case CAST5_ECB: return EVP_cast5_ecb(); - case CAST5_CBC: return EVP_cast5_cbc(); - case CAST5_CFB: return EVP_cast5_cfb(); - case CAST5_OFB: return EVP_cast5_ofb(); -#endif -#ifndef OPENSSL_NO_RC5 - case RC5_32_12_16_CBC: return EVP_rc5_32_12_16_cbc(); - case RC5_32_12_16_CFB: return EVP_rc5_32_12_16_cfb(); - case RC5_32_12_16_ECB: return EVP_rc5_32_12_16_ecb(); - case RC5_32_12_16_OFB: return EVP_rc5_32_12_16_ofb(); -#endif - default: return NULL; - } -} - -/* - * Raise an exception with data pulled from the OpenSSL error stack. - * Exception value is a tuple with some internal structure. If a - * string error message is supplied, that string is the first element - * of the exception value tuple. Remainder of exception value tuple - * is zero or more tuples, each representing one error from the stack. - * Each error tuple contains six slots: - * - the numeric error code - * - string translation of numeric error code ("reason") - * - name of library in which error occurred - * - name of function in which error occurred - * - name of file in which error occurred - * - line number in file where error occurred - */ - -static void -set_openssl_exception(PyObject *error_class, const char *msg) -{ - PyObject *errors; - unsigned long err; - const char *file; - int line; - - errors = PyList_New(0); - - if (msg) { - PyObject *s = Py_BuildValue("s", msg); - (void) PyList_Append(errors, s); - Py_XDECREF(s); - } - - while ((err = ERR_get_error_line(&file, &line)) != 0) { - PyObject *t = Py_BuildValue("(issssi)", - err, - ERR_reason_error_string(err), - ERR_lib_error_string(err), - ERR_func_error_string(err), - file, - line); - (void) PyList_Append(errors, t); - Py_XDECREF(t); - } - - PyErr_SetObject(error_class, PyList_AsTuple(errors)); - Py_XDECREF(errors); -} - -static void -set_openssl_ssl_exception(const ssl_object *self, const int ret) -{ - int err = SSL_get_error(self->ssl, ret); - const char *s = NULL; - - switch(err) { - - /* - * These three get their own exceptions. - */ - - case SSL_ERROR_ZERO_RETURN: - PyErr_SetNone(ZeroReturnErrorObject); - break; - case SSL_ERROR_WANT_READ: - PyErr_SetNone(WantReadErrorObject); - break; - case SSL_ERROR_WANT_WRITE: - PyErr_SetNone(WantWriteErrorObject); - break; - - case SSL_ERROR_SYSCALL: - /* - * Horrible jumbled mess of I/O related errors. I'd ask what they - * were thinking, except that it's pretty clear that they weren't. - */ - if (ERR_peek_error()) - set_openssl_exception(SSLSyscallSSLErrorObject, NULL); - else if (ret) - PyErr_SetFromErrno(SSLSyscallErrorObject); - else - PyErr_SetNone(SSLUnexpectedEOFErrorObject); - break; - - case SSL_ERROR_SSL: - /* - * Generic OpenSSL error during an SSL call. I think. - */ - set_openssl_exception(SSLErrorSSLErrorObject, self->x509_cb_err); - break; - - /* - * All other SSL errors are returned as a (number, string) tuple. - */ - - case SSL_ERROR_NONE: - s = "SSL_ERROR_NONE"; - break; - case SSL_ERROR_WANT_X509_LOOKUP: - s = "SSL_ERROR_WANT_X509_LOOKUP"; - break; - case SSL_ERROR_WANT_CONNECT: - s = "SSL_ERROR_WANT_CONNECT"; - break; - case SSL_ERROR_WANT_ACCEPT: - s = "SSL_ERROR_WANT_ACCEPT"; - break; - default: - s = "UNKNOWN_SSL_ERROR"; - } - - if (s) - PyErr_SetObject(SSLOtherErrorObject, Py_BuildValue("(is)", err, s)); -} - -static PyObject * -X509_object_helper_set_name(X509_NAME *name, PyObject *name_sequence) -{ - PyObject *pair = NULL; PyObject *type = NULL; PyObject *value = NULL; - int no_pairs = 0, i = 0, str_type = 0, nid; - unsigned char *valueptr = NULL; - char *typeptr = NULL; - - no_pairs = PySequence_Size(name_sequence); - for (i = 0; i < no_pairs; i++) { - if ((pair = PySequence_GetItem(name_sequence, i)) == NULL) - return NULL; - - if (!PyTuple_Check(pair) && !PyList_Check(pair)) - lose_type_error("inapropriate type"); - - if (PySequence_Size(pair) != 2) - lose("each name entry must have 2 elements"); - - if ((type = PySequence_GetItem(pair, 0)) == NULL) - lose_type_error("could not get type string"); - - if (!PyString_Check(type)) - lose_type_error("inapropriate type"); - - if ((value = PySequence_GetItem(pair, 1)) == NULL) - lose_type_error("could not get value string"); - - if (!PyString_Check(value)) - lose_type_error("inapropriate type"); - - typeptr = PyString_AsString(type); - valueptr = (unsigned char *) PyString_AsString(value); - - str_type = ASN1_PRINTABLE_type(valueptr, -1); - if ((nid = OBJ_ln2nid(typeptr)) == 0 && - (nid = OBJ_sn2nid(typeptr)) == 0) - lose("unknown ASN1 object"); - - if (!X509_NAME_add_entry_by_NID(name, nid, str_type, valueptr, - strlen((char *) valueptr), -1, 0)) - lose("unable to add name entry"); - - Py_XDECREF(pair); - Py_XDECREF(type); - Py_XDECREF(value); - pair = NULL; - type = NULL; - value = NULL; - } - return name_sequence; - - error: - - Py_XDECREF(pair); - Py_XDECREF(type); - Py_XDECREF(value); - - return NULL; -} - -static PyObject * -X509_object_helper_get_name(X509_NAME *name, int format) -{ - int no_entries = 0, no_pairs = 0, i = 0, j = 0, value_len = 0, nid = 0; - X509_NAME_ENTRY *entry = NULL; - char *value = NULL, long_name[512]; - const char *short_name; - - PyObject *result_list = NULL; - PyObject *pair = NULL; - PyObject *py_type = NULL; - PyObject *py_value = NULL; - - no_entries = X509_NAME_entry_count(name); - - if ((result_list = PyTuple_New(no_entries)) == NULL) - lose("could not allocate memory"); - - for(i = 0; i < no_entries; i++) { - if ((entry = X509_NAME_get_entry(name, i)) == NULL) - lose("could not get certificate name"); - - if (entry->value->length + 1 > value_len) { - if (value) - free(value); - - if ((value = malloc(entry->value->length + 1)) == NULL) - lose("could not allocate memory"); - - value_len = entry->value->length + 1; - } - memcpy(value, entry->value->data, entry->value->length); - value[entry->value->length] = 0; - - if (!i2t_ASN1_OBJECT(long_name, sizeof(long_name), entry->object)) - lose("could not find object name"); - - switch (format) { - case SHORTNAME_FORMAT: - nid = OBJ_ln2nid(long_name); - short_name = OBJ_nid2sn(nid); - py_type = PyString_FromString(short_name); - break; - case LONGNAME_FORMAT: - py_type = PyString_FromString(long_name); - break; - default: - lose("unknown name format"); - } - - py_value = PyString_FromString(value); - - if ((pair = PyTuple_New(2)) == NULL) - lose("could not allocate memory"); - - PyTuple_SetItem(pair, 0, py_type); - PyTuple_SetItem(pair, 1, py_value); - PyTuple_SetItem(result_list, i, pair); - } - - if (value) - free(value); - - return result_list; - - error: - - if (value) - free(value); - - if (result_list) { - no_pairs = PyTuple_Size(result_list); - for (i = 0; i < no_pairs; i++) { - pair = PyTuple_GetItem(result_list, i); - no_entries = PyTuple_Size(result_list); - for (j = 0; j < no_entries; j++) { - py_value = PyTuple_GetItem(pair, i); - Py_XDECREF(py_value); - } - } - } - - Py_XDECREF(py_type); - Py_XDECREF(py_value); - Py_XDECREF(result_list); - return NULL; -} - -static STACK_OF(X509) * -x509_helper_sequence_to_stack(PyObject *x509_sequence) -{ - x509_object *x509obj = NULL; - STACK_OF(X509) *x509_stack = NULL; - int size = 0, i = 0; - - if (x509_sequence != Py_None && !PyTuple_Check(x509_sequence) && !PyList_Check(x509_sequence)) - lose_type_error("Inapropriate type"); - - if ((x509_stack = sk_X509_new_null()) == NULL) - lose("Couldn't create new X509 stack"); - - if (x509_sequence != Py_None) { - size = PySequence_Size(x509_sequence); - - for (i = 0; i < size; i++) { - if ((x509obj = (x509_object*) PySequence_GetItem(x509_sequence, i)) == NULL) - goto error; - - if (!X_X509_Check(x509obj)) - lose_type_error("Inapropriate type"); - - if (!sk_X509_push(x509_stack, x509obj->x509)) - lose("Couldn't add X509 object to stack"); - - Py_XDECREF(x509obj); - x509obj = NULL; - } - } - - return x509_stack; - - error: - - if (x509_stack) - sk_X509_free(x509_stack); - - Py_XDECREF(x509obj); - - return NULL; -} - -static PyObject * -stack_to_tuple_helper(_STACK *sk, PyObject *(*handler)(void *)) -{ - PyObject *result_list = NULL, *result_tuple = NULL, *obj = NULL; - - if ((result_list = PyList_New(0)) == NULL) - lose("could not allocate memory"); - - while (sk_num(sk)) { - - if ((obj = handler(sk_value(sk, 0))) == NULL) - lose("could not allocate memory"); - - sk_shift(sk); - - if (PyList_Append(result_list, obj) != 0) - goto error; - - Py_XDECREF(obj); - obj = NULL; - } - - result_tuple = PyList_AsTuple(result_list); - Py_XDECREF(result_list); - - return result_tuple; - - error: - - Py_XDECREF(obj); - Py_XDECREF(result_list); - return NULL; -} - -/* - * Time conversion functions. These follow RFC 5280, but use a single - * text encoding that looks like GeneralizedTime as restricted by RFC - * 5280; conversion to and from UTCTime is handled internally - * according to the RFC 5280 rules. The intent is to hide the - * horrible short-sighted mess from Python code entirely. - */ - -static PyObject * -ASN1_TIME_to_Python(ASN1_TIME *t) -{ - ASN1_GENERALIZEDTIME *g = ASN1_TIME_to_generalizedtime(t, NULL); - PyObject *result = NULL; - if (g) { - result = Py_BuildValue("s", g->data); - ASN1_GENERALIZEDTIME_free(g); - } - return result; -} - -static int -python_ASN1_TIME_set_string(ASN1_TIME *t, const char *s) -{ - if (t == NULL || s == NULL || strlen(s) < 10) - return 0; - if ((s[0] == '1' && s[1] == '9' && s[2] > '4') || - (s[0] == '2' && s[1] == '0' && s[2] < '5')) - return ASN1_UTCTIME_set_string(t, s + 2); - else - return ASN1_GENERALIZEDTIME_set_string(t, s); -} - -/*========== helper funcitons ==========*/ - -/*========== X509 code ==========*/ -static x509_object * -X509_object_new(void) -{ - x509_object *self; - - self = PyObject_New(x509_object, &x509type); - if (self == NULL) - goto error; - - self->x509 = X509_new(); - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -/* - * This function is pretty dumb. Most of the work is done by the module - * function pow_module_pem_read(). - */ -static x509_object * -X509_object_pem_read(BIO *in) -{ - x509_object *self; - - if ((self = PyObject_New(x509_object, &x509type)) == NULL) - goto error; - - if ((self->x509 = PEM_read_bio_X509(in, NULL, NULL, NULL)) == NULL) - lose("could not load PEM encoded certificate"); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static x509_object * -X509_object_der_read(unsigned char *src, int len) -{ - x509_object *self; - unsigned char *ptr = src; - - if ((self = PyObject_New(x509_object, &x509type)) == NULL) - goto error; - - self->x509 = X509_new(); - - if(!d2i_X509(&self->x509, (const unsigned char **) &ptr, len)) - lose("could not load PEM encoded certificate"); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -/* - * Unlike the previous function this creates the BIO itself. The BIO_s_mem - * is used as a buffer which the certificate is read into, from this buffer - * it is read into a char[] and returned as a string. - */ -static PyObject * -X509_object_write_helper(x509_object *self, PyObject *args, int format) -{ - int len = 0; - char *buf = NULL; - BIO *out_bio = NULL; - PyObject *cert = NULL; - - if (!PyArg_ParseTuple(args, "")) - return NULL; - - out_bio = BIO_new(BIO_s_mem()); - - switch (format) { - - case DER_FORMAT: - if (!i2d_X509_bio(out_bio, self->x509)) - lose("unable to write certificate"); - break; - - case PEM_FORMAT: - if (!PEM_write_bio_X509(out_bio, self->x509)) - lose("unable to write certificate"); - break; - - default: - lose("internal error, unknown output format"); - } - - if ((len = BIO_ctrl_pending(out_bio)) == 0) - lose("unable to get bytes stored in bio"); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - if (BIO_read(out_bio, buf, len) != len) - lose("unable to write out cert"); - - cert = Py_BuildValue("s#", buf, len); - - BIO_free(out_bio); - free(buf); - return cert; - - error: - - if (out_bio) - BIO_free(out_bio); - - if (buf) - free(buf); - - Py_XDECREF(cert); - return NULL; -} - -static char X509_object_pem_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>pemWrite</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a PEM encoded certificate as a\n" -" string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_pem_write(x509_object *self, PyObject *args) -{ - return X509_object_write_helper(self, args, PEM_FORMAT); -} - -static char X509_object_der_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>derWrite</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a DER encoded certificate as a\n" -" string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_der_write(x509_object *self, PyObject *args) -{ - return X509_object_write_helper(self, args, DER_FORMAT); -} - -/* - * Currently this function only supports RSA keys. - */ -static char X509_object_set_public_key__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>setPublicKey</name>\n" -" <parameter>key</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets the public key for this certificate object. The\n" -" parameter <parameter>key</parameter> should be an instance of\n" -" <classname>Asymmetric</classname> containing a public key.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - - -static PyObject * -X509_object_set_public_key(x509_object *self, PyObject *args) -{ - EVP_PKEY *pkey = NULL; - asymmetric_object *asym; - - if (!PyArg_ParseTuple(args, "O!", &asymmetrictype, &asym)) - goto error; - - if ((pkey = EVP_PKEY_new()) == NULL) - lose("could not allocate memory"); - - if (!EVP_PKEY_assign_RSA(pkey, asym->cipher)) - lose("EVP_PKEY assignment error"); - - if (!X509_set_pubkey(self->x509,pkey)) - lose("could not set certificate's public key"); - - Py_RETURN_NONE; - - error: - - if (pkey) - EVP_PKEY_free(pkey); - - return NULL; - -} - -static char X509_object_sign__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>sign</name>\n" -" <parameter>key</parameter>\n" -" <optional><parameter>digest = MD5_DIGEST</parameter></optional>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method signs a certificate with a private key. See the\n" -" example for the methods which should be invoked before signing a\n" -" certificate. <parameter>key</parameter> should be an instance of\n" -" <classname>Asymmetric</classname> containing a private key.\n" -" The optional parameter <parameter>digest</parameter> indicates\n" -" which digest function should be used to compute the hash to be\n" -" signed, it should be one of the following:\n" -" </para>\n" -" <simplelist>\n" -#ifndef OPENSSL_NO_MD2 -" <member><constant>MD2_DIGEST</constant></member>\n" -#endif -" <member><constant>MD5_DIGEST</constant></member>\n" -" <member><constant>SHA_DIGEST</constant></member>\n" -" <member><constant>SHA1_DIGEST</constant></member>\n" -" <member><constant>RIPEMD160_DIGEST</constant></member>\n" -" <member><constant>SHA256_DIGEST</constant></member>\n" -" <member><constant>SHA384_DIGEST</constant></member>\n" -" <member><constant>SHA512_DIGEST</constant></member>\n" -" </simplelist>\n" -" </body>\n" -"</method>\n" -; - - -static PyObject * -X509_object_sign(x509_object *self, PyObject *args) -{ - EVP_PKEY *pkey = NULL; - asymmetric_object *asym; - int digest = MD5_DIGEST; - - if (!PyArg_ParseTuple(args, "O!|i", &asymmetrictype, &asym, &digest)) - goto error; - - if ((pkey = EVP_PKEY_new()) == NULL) - lose("could not allocate memory"); - - if (asym->key_type != RSA_PRIVATE_KEY) - lose("cannot use this type of key"); - - if (!EVP_PKEY_assign_RSA(pkey, asym->cipher)) - lose("EVP_PKEY assignment error"); - - switch (digest) { - case MD5_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_md5())) - lose("could not sign certificate"); - break; - -#ifndef OPENSSL_NO_MD2 - case MD2_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_md2())) - lose("could not sign certificate"); - break; -#endif - - case SHA_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_sha())) - lose("could not sign certificate"); - break; - - case SHA1_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_sha1())) - lose("could not sign certificate"); - break; - - case RIPEMD160_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_ripemd160())) - lose("could not sign certificate"); - break; - - case SHA256_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_sha256())) - lose("could not sign certificate"); - break; - - case SHA384_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_sha384())) - lose("could not sign certificate"); - break; - - case SHA512_DIGEST: - if (!X509_sign(self->x509, pkey, EVP_sha512())) - lose("could not sign certificate"); - break; - } - - Py_RETURN_NONE; - - error: - - if (pkey) - EVP_PKEY_free(pkey); - - return NULL; - -} - -static char X509_object_get_version__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>getVersion</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the version number from the version field of\n" -" this certificate.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - - -static PyObject * -X509_object_get_version(x509_object *self, PyObject *args) -{ - long version = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - version = X509_get_version(self->x509); - - return Py_BuildValue("l", version); - - error: - - return NULL; -} - -static char X509_object_set_version__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>setVersion</name>\n" -" <parameter>version</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets the version number in the version field of\n" -" this certificate. <parameter>version</parameter> should be an\n" -" integer.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_set_version(x509_object *self, PyObject *args) -{ - long version = 0; - - if (!PyArg_ParseTuple(args, "l", &version)) - goto error; - - if (!X509_set_version(self->x509, version)) - lose("could not set certificate version"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_object_get_serial__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>getSerial</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method get the serial number in the serial field of\n" -" this certificate.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_get_serial(x509_object *self, PyObject *args) -{ - long serial = 0; - ASN1_INTEGER *asn1i = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((asn1i = X509_get_serialNumber(self->x509)) == NULL) - lose("could not get serial number"); - - if ((serial = ASN1_INTEGER_get(asn1i)) == -1) - lose("could not convert ASN1 Integer to long"); - - return Py_BuildValue("l", serial); - - error: - - return NULL; -} - -static char X509_object_set_serial__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>setSerial</name>\n" -" <parameter>serial</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets the serial number in the serial field of\n" -" this certificate. <parameter>serial</parameter> should ba an\n" -" integer.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_set_serial(x509_object *self, PyObject *args) -{ - long serial = 0; - ASN1_INTEGER *asn1i = NULL; - - if (!PyArg_ParseTuple(args, "l", &serial)) - goto error; - - if ((asn1i = ASN1_INTEGER_new()) == NULL) - lose("could not allocate memory"); - - if (!ASN1_INTEGER_set(asn1i, serial)) - lose("could not set ASN1 integer"); - - if (!X509_set_serialNumber(self->x509, asn1i)) - lose("could not set certificate serial"); - - ASN1_INTEGER_free(asn1i); - - Py_RETURN_NONE; - - error: - - if (asn1i) - ASN1_INTEGER_free(asn1i); - - return NULL; -} - -static char X509_object_get_issuer__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>getIssuer</name>\n" -" <parameter>format = SHORTNAME_FORMAT</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a tuple containing the issuers name. Each\n" -" element of the tuple is a tuple with 2 elements. The first tuple\n" -" is an object name and the second is it's value. Both issuer and\n" -" subject are names distinguished normally composed of a small\n" -" number of objects:\n" -" </para>\n" -" <simplelist>\n" -" <member><constant>c</constant> or <constant>countryName</constant></member>\n" -" <member><constant>st</constant> or <constant>stateOrProvinceName</constant></member>\n" -" <member><constant>o</constant> or <constant>organizationName</constant></member>\n" -" <member><constant>l</constant> or <constant>localityName</constant></member>\n" -" <member><constant>ou</constant> or <constant>organizationalUnitName</constant></member>\n" -" <member><constant>cn</constant> or <constant>commonName</constant></member>\n" -" </simplelist>\n" -" <para>\n" -" The data type varies from one object to another, however, all the\n" -" common objects are strings. It would be possible to specify any\n" -" kind of object but that would certainly adversely effect\n" -" portability and is not recommended.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_get_issuer(x509_object *self, PyObject *args) -{ - PyObject *result_list = NULL; - X509_NAME *name = NULL; - int format = SHORTNAME_FORMAT; - - if (!PyArg_ParseTuple(args, "|i", &format)) - goto error; - - if ((name = X509_get_issuer_name(self->x509)) == NULL) - lose("could not get issuers name"); - - if ((result_list = X509_object_helper_get_name(name, format)) == NULL) - lose("failed to produce name list"); - - return result_list; - - error: - - return NULL; -} - -static char X509_object_get_subject__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>getSubject</name>\n" -" <parameter>format = SHORTNAME_FORMAT</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a tuple containing the subjects name. See\n" -" <function>getIssuer</function> for a description of the returned\n" -" object's format.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_get_subject(x509_object *self, PyObject *args) -{ - PyObject *result_list = NULL; - X509_NAME *name = NULL; - int format = SHORTNAME_FORMAT; - - if (!PyArg_ParseTuple(args, "|i", &format)) - goto error; - - if ((name = X509_get_subject_name(self->x509)) == NULL) - lose("could not get issuers name"); - - if ((result_list = X509_object_helper_get_name(name, format)) == NULL) - lose("failed to produce name list"); - - return result_list; - - error: - - return NULL; -} - -static char X509_object_set_subject__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>setSubject</name>\n" -" <parameter>name</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to set the subjects name.\n" -" <parameter>name</parameter> can be comprised of lists or tuples in\n" -" the format described in the <function>getIssuer</function> method.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_set_subject(x509_object *self, PyObject *args) -{ - PyObject *name_sequence = NULL; - X509_NAME *name = NULL; - - if (!PyArg_ParseTuple(args, "O", &name_sequence)) - goto error; - - if (!PyTuple_Check(name_sequence) && !PyList_Check(name_sequence)) - lose_type_error("Inapropriate type"); - - if ((name = X509_NAME_new()) == NULL) - lose("could not allocate memory"); - - if (!X509_object_helper_set_name(name, name_sequence)) - lose("unable to set new name"); - - if (!X509_set_subject_name(self->x509, name)) - lose("unable to set name"); - - X509_NAME_free(name); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_object_set_issuer__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>setIssuer</name>\n" -" <parameter>name</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to set the issuers name.\n" -" <parameter>name</parameter> can be comprised of lists or tuples in\n" -" the format described in the <function>getissuer</function> method.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_set_issuer(x509_object *self, PyObject *args) -{ - PyObject *name_sequence = NULL; - X509_NAME *name = NULL; - - if (!PyArg_ParseTuple(args, "O", &name_sequence)) - goto error; - - if (!PyTuple_Check(name_sequence) && !PyList_Check(name_sequence)) - lose_type_error("Inapropriate type"); - - if ((name = X509_NAME_new()) == NULL) - lose("could not allocate memory"); - - if (!X509_object_helper_set_name(name, name_sequence)) - lose("unable to set new name"); - - if (!X509_set_issuer_name(self->x509,name)) - lose("unable to set name"); - - X509_NAME_free(name); - - Py_RETURN_NONE; - - error: - - if (name) - X509_NAME_free(name); - - return NULL; -} - -static char X509_object_get_not_before__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>getNotBefore</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this function returns a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" - -; - -static PyObject * -X509_object_get_not_before (x509_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return ASN1_TIME_to_Python(self->x509->cert_info->validity->notBefore); - - error: - - return NULL; -} - -static char X509_object_get_not_after__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>getNotAfter</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this function returns a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_get_not_after (x509_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return ASN1_TIME_to_Python(self->x509->cert_info->validity->notAfter); - - error: - - return NULL; -} - -static char X509_object_set_not_after__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>setNotAfter</name>\n" -" <parameter>time</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this accepts one parameter, a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_set_not_after (x509_object *self, PyObject *args) -{ - char *new_time = NULL; - - if (!PyArg_ParseTuple(args, "s", &new_time)) - goto error; - - if (!python_ASN1_TIME_set_string(self->x509->cert_info->validity->notAfter, new_time)) - lose("Could not set notAfter"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_object_set_not_before__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>setNotBefore</name>\n" -" <parameter>time</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this accepts one parameter, a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_set_not_before (x509_object *self, PyObject *args) -{ - char *new_time = NULL; - - if (!PyArg_ParseTuple(args, "s", &new_time)) - goto error; - - if (!python_ASN1_TIME_set_string(self->x509->cert_info->validity->notBefore, new_time)) - lose("Could not set notBefore"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_object_add_extension__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>addExtension</name>\n" -" <parameter>extensionName</parameter>\n" -" <parameter>critical</parameter>\n" -" <parameter>extensionValue</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method adds an extension to this certificate.\n" -" <parameter>extensionName</parameter> should be the of the\n" -" extension. <parameter>critical</parameter> should an integer, 1\n" -" for true and 0 for false. <parameter>extensionValue</parameter>\n" -" should be a string, DER encoded value of the extension. The name\n" -" of the extension must be correct according to OpenSSL and can be\n" -" checked in the <constant>objects.h</constant> header file, part of\n" -" the OpenSSL source distribution. In the majority of cases they\n" -" are the same as those defined in <constant>POW._oids</constant>\n" -" but if you do encounter problems is may be worth checking.\n" -" </para>\n" -" <example>\n" -" <title><function>addExtension</function> method usage</title>\n" -" <programlisting>\n" -" basic = POW.pkix.BasicConstraints()\n" -" basic.set([1,5])\n" -" serverCert.addExtension('basicConstraints', 0, basic.toString())\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_add_extension(x509_object *self, PyObject *args) -{ - int critical = 0, nid = 0, len = 0; - char *name = NULL; - unsigned char *buf = NULL; - ASN1_OCTET_STRING *octetString = NULL; - X509_EXTENSION *extn = NULL; - - if (!PyArg_ParseTuple(args, "sis#", &name, &critical, &buf, &len)) - goto error; - - if ((octetString = M_ASN1_OCTET_STRING_new()) == NULL) - lose("could not allocate memory"); - - if (!ASN1_OCTET_STRING_set(octetString, buf, len)) - lose("could not set ASN1 Octect string"); - - if ((nid = OBJ_txt2nid(name)) == NID_undef) - lose("extension has unknown object identifier"); - - if ((extn = X509_EXTENSION_create_by_NID(NULL, nid, critical, octetString)) == NULL) - lose("unable to create ASN1 X509 Extension object"); - - if (!self->x509->cert_info->extensions && - (self->x509->cert_info->extensions = sk_X509_EXTENSION_new_null()) == NULL) - lose("unable to allocate memory"); - - if (!sk_X509_EXTENSION_push(self->x509->cert_info->extensions, extn)) - lose("unable to add extension"); - - Py_RETURN_NONE; - - error: - - if (extn) - X509_EXTENSION_free(extn); - - return NULL; -} - -static char X509_object_clear_extensions__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>clearExtensions</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method clears the structure which holds the extension for\n" -" this certificate.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_clear_extensions(x509_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (self->x509->cert_info->extensions) { - sk_X509_EXTENSION_free(self->x509->cert_info->extensions); - self->x509->cert_info->extensions = NULL; - } - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_object_count_extensions__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>countExtensions</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the size of the structure which holds the\n" -" extension for this certificate.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_count_extensions(x509_object *self, PyObject *args) -{ - int num = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (self->x509->cert_info->extensions) - num = sk_X509_EXTENSION_num(self->x509->cert_info->extensions); - - return Py_BuildValue("i", num); - - error: - - return NULL; -} - -static char X509_object_get_extension__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>getExtension</name>\n" -" <parameter>index</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a tuple equivalent the parameters of\n" -" <function>addExtension</function>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_object_get_extension(x509_object *self, PyObject *args) -{ - int num = 0, index = 0, ext_nid = 0; - char const *ext_ln = NULL; - char unknown_ext [] = "unknown"; - X509_EXTENSION *ext; - - if (!PyArg_ParseTuple(args, "i", &index)) - goto error; - - if (self->x509->cert_info->extensions) - num = sk_X509_EXTENSION_num(self->x509->cert_info->extensions); - - if (index >= num) - lose("certificate does not have that many extensions"); - - if ((ext = sk_X509_EXTENSION_value(self->x509->cert_info->extensions, index)) == NULL) - lose("could not get extension"); - - if ((ext_nid = OBJ_obj2nid(ext->object)) == NID_undef) - lose("extension has unknown object identifier"); - - if ((ext_ln = OBJ_nid2sn(ext_nid)) == NULL) - ext_ln = unknown_ext; - - return Py_BuildValue("sis#", ext_ln, ext->critical, ext->value->data, ext->value->length); - - error: - - return NULL; -} - -static char x509_object_pprint__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" <name>pprint</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a formatted string showing the information\n" -" held in the certificate.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_object_pprint(x509_object *self, PyObject *args) -{ - int len = 0, ret = 0; - char *buf = NULL; - BIO *out_bio = NULL; - PyObject *cert = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - out_bio = BIO_new(BIO_s_mem()); - - if (!X509_print(out_bio, self->x509)) - lose("unable to write crl"); - - if ((len = BIO_ctrl_pending(out_bio)) == 0) - lose("unable to get bytes stored in bio"); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - if ((ret = BIO_read(out_bio, buf, len)) != len) - lose("unable to write out cert"); - - cert = Py_BuildValue("s#", buf, len); - - BIO_free(out_bio); - free(buf); - return cert; - - error: - - if (out_bio) - BIO_free(out_bio); - - if (buf) - free(buf); - - return NULL; - -} - -static struct PyMethodDef X509_object_methods[] = { - {"pemWrite", (PyCFunction)X509_object_pem_write, METH_VARARGS, NULL}, - {"derWrite", (PyCFunction)X509_object_der_write, METH_VARARGS, NULL}, - {"sign", (PyCFunction)X509_object_sign, METH_VARARGS, NULL}, - {"setPublicKey", (PyCFunction)X509_object_set_public_key, METH_VARARGS, NULL}, - {"getVersion", (PyCFunction)X509_object_get_version, METH_VARARGS, NULL}, - {"setVersion", (PyCFunction)X509_object_set_version, METH_VARARGS, NULL}, - {"getSerial", (PyCFunction)X509_object_get_serial, METH_VARARGS, NULL}, - {"setSerial", (PyCFunction)X509_object_set_serial, METH_VARARGS, NULL}, - {"getIssuer", (PyCFunction)X509_object_get_issuer, METH_VARARGS, NULL}, - {"setIssuer", (PyCFunction)X509_object_set_issuer, METH_VARARGS, NULL}, - {"getSubject", (PyCFunction)X509_object_get_subject, METH_VARARGS, NULL}, - {"setSubject", (PyCFunction)X509_object_set_subject, METH_VARARGS, NULL}, - {"getNotBefore", (PyCFunction)X509_object_get_not_before, METH_VARARGS, NULL}, - {"getNotAfter", (PyCFunction)X509_object_get_not_after, METH_VARARGS, NULL}, - {"setNotAfter", (PyCFunction)X509_object_set_not_after, METH_VARARGS, NULL}, - {"setNotBefore", (PyCFunction)X509_object_set_not_before, METH_VARARGS, NULL}, - {"addExtension", (PyCFunction)X509_object_add_extension, METH_VARARGS, NULL}, - {"clearExtensions", (PyCFunction)X509_object_clear_extensions, METH_VARARGS, NULL}, - {"countExtensions", (PyCFunction)X509_object_count_extensions, METH_VARARGS, NULL}, - {"getExtension", (PyCFunction)X509_object_get_extension, METH_VARARGS, NULL}, - {"pprint", (PyCFunction)x509_object_pprint, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -X509_object_getattr(x509_object *self, char *name) -{ - return Py_FindMethod(X509_object_methods, (PyObject *)self, name); -} - -static void -X509_object_dealloc(x509_object *self, char *name) -{ - X509_free(self->x509); - PyObject_Del(self); -} - -static char x509type__doc__[] = -"<class>\n" -" <header>\n" -" <name>X509</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides access to a significant proportion of X509\n" -" functionality of OpenSSL.\n" -" </para>\n" -"\n" -" <example>\n" -" <title><classname>x509</classname> class usage</title>\n" -" <programlisting>\n" -" privateFile = open('test/private.key', 'r')\n" -" publicFile = open('test/public.key', 'r')\n" -" certFile = open('test/cacert.pem', 'w')\n" -"\n" -" publicKey = POW.pemRead(POW.RSA_PUBLIC_KEY, publicFile.read())\n" -" privateKey = POW.pemRead(POW.RSA_PRIVATE_KEY, privateFile.read(), 'pass')\n" -"\n" -" c = POW.X509()\n" -"\n" -" name = [ ['C', 'GB'], ['ST', 'Hertfordshire'],\n" -" ['O','The House'], ['CN', 'Peter Shannon'] ]\n" -"\n" -" c.setIssuer(name)\n" -" c.setSubject(name)\n" -" c.setSerial(0)\n" -" t1 = POW.pkix.time2utc(time.time())\n" -" t2 = POW.pkix.time2utc(time.time() + 60*60*24*365)\n" -" c.setNotBefore(t1)\n" -" c.setNotAfter(t2)\n" -" c.setPublicKey(publicKey)\n" -" c.sign(privateKey)\n" -"\n" -" certFile.write(c.pemWrite())\n" -"\n" -" privateFile.close()\n" -" publicFile.close()\n" -" certFile.close()\n" -" </programlisting>\n" -" </example>\n" -"\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject x509type = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "X509", /*tp_name*/ - sizeof(x509_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)X509_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)X509_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - x509type__doc__ /* Documentation string */ -}; -/*========== X509 Code ==========*/ - -/*========== x509 store Code ==========*/ -static x509_store_object * -x509_store_object_new(void) -{ - x509_store_object *self = NULL; - - if ((self = PyObject_New(x509_store_object, &x509_storetype)) == NULL) - goto error; - - self->store = X509_STORE_new(); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static char x509_store_object_verify__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Store</memberof>\n" -" <name>verify</name>\n" -" <parameter>certificate</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The <classname>X509Store</classname> method\n" -" <function>verify</function> is based on the\n" -" <function>X509_verify_cert</function>. It handles certain aspects\n" -" of verification but not others. The certificate will be verified\n" -" against <constant>notBefore</constant>,\n" -" <constant>notAfter</constant> and trusted certificates.\n" -" It crucially will not handle checking the certificate against\n" -" CRLs. This functionality will probably make it into OpenSSL\n" -" 0.9.7.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_store_object_verify(x509_store_object *self, PyObject *args) -{ - X509_STORE_CTX csc; - x509_object *x509 = NULL; - int ok; - - if (!PyArg_ParseTuple(args, "O!", &x509type, &x509)) - goto error; - - X509_STORE_CTX_init(&csc, self->store, x509->x509, NULL); - ok = X509_verify_cert(&csc) == 1; - X509_STORE_CTX_cleanup(&csc); - - return PyBool_FromLong(ok); - - error: - - return NULL; -} - -static char x509_store_object_verify_chain__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Store</memberof>\n" -" <name>verifyChain</name>\n" -" <parameter>certificate</parameter>\n" -" <parameter>chain</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The <classname>X509Store</classname> method <function>verifyChain</function>\n" -" is based on the <function>X509_verify_cert</function> but is initialised\n" -" with a <classname>X509</classname> object to verify and list of\n" -" <classname>X509</classname> objects which form a chain to a trusted\n" -" certificate. Certain aspects of the verification are handled but not others.\n" -" The certificates will be verified against <constant>notBefore</constant>,\n" -" <constant>notAfter</constant> and trusted certificates. It crucially will\n" -" not handle checking the certificate against CRLs. This functionality will\n" -" probably make it into OpenSSL 0.9.7.\n" -" </para>\n" -" <para>\n" -" This may all sound quite straight forward but determining the\n" -" certificate associated with the signature on another certificate\n" -" can be very time consuming. The management aspects of\n" -" certificates are addressed by various V3 extensions which are not\n" -" currently supported.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_store_object_verify_chain(x509_store_object *self, PyObject *args) -{ - PyObject *x509_sequence = NULL; - X509_STORE_CTX csc; - x509_object *x509 = NULL; - STACK_OF(X509) *x509_stack = NULL; - int ok; - - if (!PyArg_ParseTuple(args, "O!O", &x509type, &x509, &x509_sequence)) - goto error; - - if ((x509_stack = x509_helper_sequence_to_stack(x509_sequence)) == NULL) - goto error; - - X509_STORE_CTX_init(&csc, self->store, x509->x509, x509_stack); - - ok = X509_verify_cert(&csc) == 1; - - X509_STORE_CTX_cleanup(&csc); - sk_X509_free(x509_stack); - - return PyBool_FromLong(ok); - - error: - - if (x509_stack) - sk_X509_free(x509_stack); - - return NULL; -} - -static char x509_store_object_verify_detailed__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Store</memberof>\n" -" <name>verifyDetailed</name>\n" -" <parameter>certificate</parameter>\n" -" <optional>\n" -" <parameter>chain</parameter>\n" -" </optional>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The <classname>X509Store</classname> method <function>verifyDetailed</function>\n" -" is based on the <function>X509_verify_cert</function> but is initialised\n" -" with a <classname>X509</classname> object to verify and list of\n" -" <classname>X509</classname> objects which form a chain to a trusted\n" -" certificate. Certain aspects of the verification are handled but not others.\n" -" The certificates will be verified against <constant>notBefore</constant>,\n" -" <constant>notAfter</constant> and trusted certificates. It crucially will\n" -" not handle checking the certificate against CRLs. This functionality will\n" -" probably make it into OpenSSL 0.9.7.\n" -" </para>\n" -" <para>\n" -" This may all sound quite straight forward but determining the\n" -" certificate associated with the signature on another certificate\n" -" can be very time consuming. The management aspects of\n" -" certificates are addressed by various V3 extensions which are not\n" -" currently supported.\n" -" </para>\n" -" <para>\n" -" Unlike the <function>verify</function> and <function>verifyChain</function>\n" -" methods, <function>verifyDetailed</function> returns some information about\n" -" what went wrong when verification fails. The return value is currently a 3-tuple:\n" -" the first value is the return value from X509_verify_cert(), the second and third\n" -" are the error and error_depth values from the X509_STORE_CTX.\n" -" Other values may added to this tuple later.\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_store_object_verify_detailed(x509_store_object *self, PyObject *args) -{ - PyObject *x509_sequence = Py_None; - X509_STORE_CTX csc; - x509_object *x509 = NULL; - STACK_OF(X509) *x509_stack = NULL; - PyObject *result = NULL; - int ok; - - if (!PyArg_ParseTuple(args, "O!|O", &x509type, &x509, &x509_sequence)) - goto error; - - if (x509_sequence && !(x509_stack = x509_helper_sequence_to_stack(x509_sequence))) - goto error; - - X509_STORE_CTX_init(&csc, self->store, x509->x509, x509_stack); - - ok = X509_verify_cert(&csc) == 1; - - result = Py_BuildValue("(iii)", ok, csc.error, csc.error_depth); - - X509_STORE_CTX_cleanup(&csc); - - error: /* fall through */ - - if (x509_stack) - sk_X509_free(x509_stack); - - return result; -} - -static char x509_store_object_add_trust__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Store</memberof>\n" -" <name>addTrust</name>\n" -" <parameter>cert</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method adds a new certificate to the store to be used in the\n" -" verification process. <parameter>cert</parameter> should be an\n" -" instance of <classname>X509</classname>. Using trusted certificates to manage\n" -" verification is relatively primitive, more sophisticated systems\n" -" can be constructed at an application level by by constructing\n" -" certificate chains to verify.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_store_object_add_trust(x509_store_object *self, PyObject *args) -{ - x509_object *x509 = NULL; - - if (!PyArg_ParseTuple(args, "O!", &x509type, &x509)) - goto error; - - X509_STORE_add_cert(self->store, x509->x509); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char x509_store_object_add_crl__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Store</memberof>\n" -" <name>addCrl</name>\n" -" <parameter>crl</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method adds a CRL to a store to be used for verification.\n" -" <parameter>crl</parameter> should be an instance of\n" -" <classname>X509Crl</classname>.\n" -" Unfortunately, the current stable release of OpenSSL does not\n" -" support CRL checking for certificate verification.\n" -" This functionality will probably make it into OpenSSL 0.9.7, until\n" -" it does this function is useless and CRL verification must be\n" -" implemented by the application.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_store_object_add_crl(x509_store_object *self, PyObject *args) -{ - x509_crl_object *crl = NULL; - - if (!PyArg_ParseTuple(args, "O!", &x509_crltype, &crl)) - goto error; - - X509_STORE_add_crl(self->store, crl->crl); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static struct PyMethodDef x509_store_object_methods[] = { - {"verify", (PyCFunction)x509_store_object_verify, METH_VARARGS, NULL}, - {"verifyChain", (PyCFunction)x509_store_object_verify_chain, METH_VARARGS, NULL}, - {"verifyDetailed", (PyCFunction)x509_store_object_verify_detailed, METH_VARARGS, NULL}, - {"addTrust", (PyCFunction)x509_store_object_add_trust, METH_VARARGS, NULL}, - {"addCrl", (PyCFunction)x509_store_object_add_crl, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -x509_store_object_getattr(x509_store_object *self, char *name) -{ - return Py_FindMethod(x509_store_object_methods, (PyObject *)self, name); -} - -static void -x509_store_object_dealloc(x509_store_object *self, char *name) -{ - X509_STORE_free(self->store); - PyObject_Del(self); -} - -static char x509_storetype__doc__[] = -"<class>\n" -" <header>\n" -" <name>X509Store</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides preliminary access to OpenSSL X509 verification\n" -" facilities.\n" -" </para>\n" -"\n" -" <example>\n" -" <title><classname>x509_store</classname> class usage</title>\n" -" <programlisting>\n" -" store = POW.X509Store()\n" -"\n" -" caFile = open('test/cacert.pem', 'r')\n" -" ca = POW.pemRead(POW.X509_CERTIFICATE, caFile.read())\n" -" caFile.close()\n" -"\n" -" store.addTrust(ca)\n" -"\n" -" certFile = open('test/foocom.cert', 'r')\n" -" x509 = POW.pemRead(POW.X509_CERTIFICATE, certFile.read())\n" -" certFile.close()\n" -"\n" -" print x509.pprint()\n" -"\n" -" if store.verify(x509):\n" -" print 'Verified certificate!.'\n" -" else:\n" -" print 'Failed to verify certificate!.'\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject x509_storetype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "X509Store", /*tp_name*/ - sizeof(x509_store_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)x509_store_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)x509_store_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - x509_storetype__doc__ /* Documentation string */ -}; -/*========== x509 store Code ==========*/ - -/*========== x509 crl Code ==========*/ -static x509_crl_object * -x509_crl_object_new(void) -{ - x509_crl_object *self = NULL; - - self = PyObject_New(x509_crl_object, &x509_crltype); - if (self == NULL) - goto error; - - self->crl = X509_CRL_new(); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static x509_crl_object * -x509_crl_object_pem_read(BIO *in) -{ - x509_crl_object *self; - - if ((self = PyObject_New(x509_crl_object, &x509_crltype)) == NULL) - goto error; - - if ((self->crl = PEM_read_bio_X509_CRL(in, NULL, NULL, NULL)) == NULL) - lose("could not load certificate"); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static x509_crl_object * -x509_crl_object_der_read(unsigned char *src, int len) -{ - x509_crl_object *self; - unsigned char* ptr = src; - - if ((self = PyObject_New(x509_crl_object, &x509_crltype)) == NULL) - goto error; - - self->crl = X509_CRL_new(); - - if (!d2i_X509_CRL(&self->crl, (const unsigned char **) &ptr, len)) - lose("could not load PEM encoded CRL"); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static char x509_crl_object_get_version__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>getVersion</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the version number from the version field of\n" -" this CRL.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_get_version(x509_crl_object *self, PyObject *args) -{ - long version = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((version = ASN1_INTEGER_get(self->crl->crl->version)) == -1) - lose("could not get crl version"); - - return Py_BuildValue("l", version); - - error: - - return NULL; -} - -static char x509_crl_object_set_version__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>setVersion</name>\n" -" <parameter>version</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets the version number in the version field of\n" -" this CRL. <parameter>version</parameter> should be an\n" -" integer.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_set_version(x509_crl_object *self, PyObject *args) -{ - long version = 0; - ASN1_INTEGER *asn1_version = NULL; - - if (!PyArg_ParseTuple(args, "i", &version)) - goto error; - - if ((asn1_version = ASN1_INTEGER_new()) == NULL) - lose("could not allocate memory"); - - if (!ASN1_INTEGER_set(asn1_version, version)) - lose("could not get set version"); - - self->crl->crl->version = asn1_version; - - Py_RETURN_NONE; - - error: - - if (asn1_version) - ASN1_INTEGER_free(asn1_version); - - return NULL; -} - -static char x509_crl_object_get_issuer__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>getIssuer</name>\n" -" <parameter>format = SHORTNAME_FORMAT</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a tuple containing the issuers name. See the\n" -" <function>getIssuer</function> method of\n" -" <classname>X509</classname> for more details.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_get_issuer(x509_crl_object *self, PyObject *args) -{ - PyObject *result_list = NULL; - int format = SHORTNAME_FORMAT; - - if (!PyArg_ParseTuple(args, "|i", &format)) - goto error; - - if ((result_list = X509_object_helper_get_name(self->crl->crl->issuer, format)) == NULL) - lose("failed to produce name list"); - - return result_list; - - error: - - return NULL; -} - -static char x509_crl_object_set_issuer__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>setIssuer</name>\n" -" <parameter>name</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to set the issuers name.\n" -" <parameter>name</parameter> can be comprised of lists or tuples in\n" -" the format described in the <function>getIssuer</function> method\n" -" of <classname>X509</classname>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_set_issuer(x509_crl_object *self, PyObject *args) -{ - PyObject *name_sequence = NULL; - X509_NAME *name = NULL; - - if (!PyArg_ParseTuple(args, "O", &name_sequence)) - goto error; - - if (!PyTuple_Check(name_sequence) && !PyList_Check(name_sequence)) - lose_type_error("Inapropriate type"); - - if ((name = X509_NAME_new()) == NULL) - lose("could not allocate memory"); - - if (!X509_object_helper_set_name(name, name_sequence)) - lose("unable to set new name"); - - if (!X509_NAME_set(&self->crl->crl->issuer, name)) - lose("unable to set name"); - - X509_NAME_free(name); - - Py_RETURN_NONE; - - error: - - if (name) - X509_NAME_free(name); - - return NULL; -} - -static char x509_crl_object_set_this_update__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>setThisUpdate</name>\n" -" <parameter>time</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this accepts one parameter, a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_set_this_update (x509_crl_object *self, PyObject *args) -{ - char *new_time = NULL; - - if (!PyArg_ParseTuple(args, "s", &new_time)) - goto error; - - if (!python_ASN1_TIME_set_string(self->crl->crl->lastUpdate, new_time)) - lose("Could not set lastUpdate"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char x509_crl_object_get_this_update__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>getThisUpdate</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this function returns a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_get_this_update (x509_crl_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return ASN1_TIME_to_Python(self->crl->crl->lastUpdate); - - error: - - return NULL; -} - -static char x509_crl_object_set_next_update__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>setNextUpdate</name>\n" -" <parameter>time</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this accepts one parameter, a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_set_next_update (x509_crl_object *self, PyObject *args) -{ - char *new_time = NULL; - ASN1_UTCTIME *time = NULL; - - if (!PyArg_ParseTuple(args, "s", &new_time)) - goto error; - - if (self->crl->crl->nextUpdate == NULL && (time = ASN1_UTCTIME_new()) == NULL) - lose("could not allocate memory"); - - self->crl->crl->nextUpdate = time; - - if (!python_ASN1_TIME_set_string(time, new_time)) - lose("Could not set nextUpdate"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char x509_crl_object_get_next_update__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>getNextUpdate</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this function returns a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_get_next_update (x509_crl_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return ASN1_TIME_to_Python(self->crl->crl->nextUpdate); - - error: - - return NULL; -} - -static char x509_crl_object_set_revoked__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>setRevoked</name>\n" -" <parameter>revoked</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets the sequence of revoked certificates in this CRL.\n" -" <parameter>revoked</parameter> should be a list or tuple of\n" -" <classname>X509Revoked</classname>.\n" -" </para>\n" -" <example>\n" -" <title><function>setRevoked</function> function usage</title>\n" -" <programlisting>\n" -" privateFile = open('test/private.key', 'r')\n" -" publicFile = open('test/public.key', 'r')\n" -" crlFile = open('test/crl.pem', 'w')\n" -"\n" -" publicKey = POW.pemRead(POW.RSA_PUBLIC_KEY, publicFile.read())\n" -" privateKey = POW.pemRead(POW.RSA_PRIVATE_KEY, privateFile.read(), 'pass')\n" -"\n" -" crl = POW.X509Crl()\n" -"\n" -" name = [ ['C', 'GB'], ['ST', 'Hertfordshire'],\n" -" ['O','The House'], ['CN', 'Peter Shannon'] ]\n" -"\n" -" t1 = POW.pkix.time2utc(time.time())\n" -" t2 = POW.pkix.time2utc(time.time() + 60*60*24*365)\n" -" crl.setIssuer(name)\n" -" rev = [ POW.X509Revoked(3, t1),\n" -" POW.X509Revoked(4, t1),\n" -" POW.X509Revoked(5, t1) ]\n" -"\n" -" crl.setRevoked(rev)\n" -" crl.setThisUpdate(t1)\n" -" crl.setNextUpdate(t2)\n" -" crl.sign(privateKey)\n" -"\n" -" crlFile.write(crl.pemWrite())\n" -"\n" -" privateFile.close()\n" -" publicFile.close()\n" -" crlFile.close()\n" -" </programlisting>\n" -" </example>\n" -"\n" -" </body>\n" -"</method>\n" -; - -// added because we don't already have one! -static X509_REVOKED * -X509_REVOKED_dup(X509_REVOKED *rev) -{ - return((X509_REVOKED *)ASN1_dup((i2d_of_void *) i2d_X509_REVOKED, - (d2i_of_void *) d2i_X509_REVOKED, - (char *) rev)); -} - -static PyObject * -x509_crl_object_set_revoked(x509_crl_object *self, PyObject *args) -{ - PyObject *revoked_sequence = NULL; - x509_revoked_object *revoked = NULL; - X509_REVOKED *tmp_revoked = NULL; - int i = 0,size = 0; - - if (!PyArg_ParseTuple(args, "O", &revoked_sequence)) - goto error; - - if (!PyTuple_Check(revoked_sequence) && !PyList_Check(revoked_sequence)) - lose_type_error("inapropriate type"); - - size = PySequence_Size(revoked_sequence); - for (i = 0; i < size; i++) { - if ((revoked = (x509_revoked_object*) PySequence_GetItem(revoked_sequence, i)) == NULL) - goto error; - - if (!X_X509_revoked_Check(revoked)) - lose_type_error("inapropriate type"); - - if ((tmp_revoked = X509_REVOKED_dup(revoked->revoked)) == NULL) - lose("could not allocate memory"); - - if (!X509_CRL_add0_revoked(self->crl, tmp_revoked)) - lose("could not add revokation to stack"); - - Py_XDECREF(revoked); - revoked = NULL; - } - - Py_RETURN_NONE; - - error: - - Py_XDECREF(revoked); - - return NULL; -} - -static PyObject * -x509_crl_object_helper_get_revoked(STACK_OF(X509_REVOKED) *revoked) -{ - int no_entries = 0, i = 0; - x509_revoked_object *revoke_obj = NULL; - PyObject *result_list = NULL, *result_tuple = NULL; - - no_entries = sk_X509_REVOKED_num(revoked); - - if ((result_list = PyList_New(0)) == NULL) - lose("could not allocate memory"); - - for (i = 0; i < no_entries; i++) { - if ((revoke_obj = PyObject_New(x509_revoked_object, &x509_revokedtype)) == NULL) - lose("could not allocate memory"); - - if ((revoke_obj->revoked = X509_REVOKED_dup(sk_X509_REVOKED_value(revoked, i))) == NULL) - lose("could not get revocation"); - - if (PyList_Append(result_list, (PyObject*) revoke_obj) != 0) - goto error; - - Py_XDECREF(revoke_obj); - revoke_obj = NULL; - } - - result_tuple = PyList_AsTuple(result_list); - Py_XDECREF(result_list); - - return result_tuple; - - error: - - Py_XDECREF(revoke_obj); - Py_XDECREF(result_list); - return NULL; -} - -static char x509_crl_object_get_revoked__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>getRevoked</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a tuple of <classname>X509Revoked</classname>\n" -" objects described in the CRL.\n" -" </para>\n" -" <example>\n" -" <title><function>getRevoked</function> function usage</title>\n" -" <programlisting>\n" -" publicFile = open('test/public.key', 'r')\n" -" crlFile = open('test/crl.pem', 'r')\n" -"\n" -" publicKey = POW.pemRead(POW.RSA_PUBLIC_KEY, publicFile.read())\n" -"\n" -" crl = POW.pemRead(POW.X509_CRL, crlFile.read())\n" -"\n" -" print crl.pprint()\n" -" if crl.verify(publicKey):\n" -" print 'signature ok!'\n" -" else:\n" -" print 'signature not ok!'\n" -"\n" -" revocations = crl.getRevoked()\n" -" for revoked in revocations:\n" -" print 'serial number:', revoked.getSerial()\n" -" print 'date:', time.ctime(revoked.getDate()[0])\n" -"\n" -" publicFile.close()\n" -" crlFile.close()\n" -" </programlisting>\n" -" </example>\n" -"\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_get_revoked(x509_crl_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return x509_crl_object_helper_get_revoked(X509_CRL_get_REVOKED(self->crl)); - - error: - - return NULL; -} - -static char X509_crl_object_add_extension__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>addExtension</name>\n" -" <parameter>extensionName</parameter>\n" -" <parameter>critical</parameter>\n" -" <parameter>extensionValue</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method adds an extension to this CRL.\n" -" <parameter>extensionName</parameter> should be the of the\n" -" extension. <parameter>critical</parameter> should an integer, 1\n" -" for true and 0 for clase. <parameter>extensionValue</parameter>\n" -" should be a string, DER encoded value of the extension. The name\n" -" of the extension must be correct according to OpenSSL and can be\n" -" checkd in the <constant>objects.h</constant> header file, part of\n" -" the OpenSSL source distrobution. In the majority of cases they\n" -" are the same as those defined in <constant>POW._oids</constant>\n" -" but if you do encounter problems is may be worth checking.\n" -" </para>\n" -" <example>\n" -" <title><function>addExtension</function> method usage</title>\n" -" <programlisting>\n" -" oids = POW.pkix.OidData()\n" -" o2i = oids.obj2oid\n" -"\n" -" n1 = ('directoryName', (((o2i('countryName'), ('printableString', 'UK')),),\n" -" ((o2i('stateOrProvinceName'), ('printableString', 'Herts')),),\n" -" ((o2i('organizationName'), ('printableString', 'The House')),),\n" -" ((o2i('commonName'), ('printableString', 'Shannon Works')),)))\n" -"\n" -" n2 = ('rfc822Name', 'peter_shannon@yahoo.com')\n" -" n3 = ('uri', 'http://www.p-s.org.uk')\n" -" n4 = ('iPAddress', (192,168,100,51))\n" -"\n" -" issuer = POW.pkix.IssuerAltName()\n" -" issuer.set([n1,n2,n3,n4])\n" -" crl.addExtension('issuerAltName', 0, issuer.toString())\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_crl_object_add_extension(x509_crl_object *self, PyObject *args) -{ - int critical = 0, nid = 0, len = 0; - char *name = NULL; - unsigned char *buf = NULL; - ASN1_OCTET_STRING *octetString = NULL; - X509_EXTENSION *extn = NULL; - - if (!PyArg_ParseTuple(args, "sis#", &name, &critical, &buf, &len)) - goto error; - - if ((octetString = M_ASN1_OCTET_STRING_new()) == NULL) - lose("could not allocate memory"); - - if (!ASN1_OCTET_STRING_set(octetString, buf, len)) - lose("could not set ASN1 Octect string"); - - if ((nid = OBJ_txt2nid(name)) == NID_undef) - lose("extension has unknown object identifier"); - - if ((extn = X509_EXTENSION_create_by_NID(NULL, nid, critical, octetString)) == NULL) - lose("unable to create ASN1 X509 Extension object"); - - if (!self->crl->crl->extensions && - (self->crl->crl->extensions = sk_X509_EXTENSION_new_null()) == NULL) - lose("unable to allocate memory"); - - if (!sk_X509_EXTENSION_push(self->crl->crl->extensions, extn)) - lose("unable to add extension"); - - Py_RETURN_NONE; - - error: - - if (extn) - X509_EXTENSION_free(extn); - - return NULL; -} - -static char X509_crl_object_clear_extensions__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>clearExtensions</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method clears the structure which holds the extension for\n" -" this CRL.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_crl_object_clear_extensions(x509_crl_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (self->crl->crl->extensions) { - sk_X509_EXTENSION_free(self->crl->crl->extensions); - self->crl->crl->extensions = NULL; - } - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_crl_object_count_extensions__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>countExtensions</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the size of the structure which holds the\n" -" extension for this CRL.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_crl_object_count_extensions(x509_crl_object *self, PyObject *args) -{ - int num = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (self->crl->crl->extensions) - num = sk_X509_EXTENSION_num(self->crl->crl->extensions); - - return Py_BuildValue("i", num); - - error: - - return NULL; -} - -static char X509_crl_object_get_extension__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>getExtension</name>\n" -" <parameter>index</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a tuple equivalent the parameters of\n" -" <function>addExtension</function>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_crl_object_get_extension(x509_crl_object *self, PyObject *args) -{ - int num = 0, index = 0, ext_nid = 0; - char const *ext_ln = NULL; - char unknown_ext [] = "unknown"; - X509_EXTENSION *ext; - - if (!PyArg_ParseTuple(args, "i", &index)) - goto error; - - if (self->crl->crl->extensions) - num = sk_X509_EXTENSION_num(self->crl->crl->extensions); - - - if (index >= num) - lose("certificate does not have that many extensions"); - - if ((ext = sk_X509_EXTENSION_value(self->crl->crl->extensions, index)) == NULL) - lose("could not get extension"); - - if ((ext_nid = OBJ_obj2nid(ext->object)) == NID_undef) - lose("extension has unknown object identifier"); - - if ((ext_ln = OBJ_nid2sn(ext_nid)) == NULL) - ext_ln = unknown_ext; - - return Py_BuildValue("sis#", ext_ln, ext->critical, ext->value->data, ext->value->length); - - error: - - return NULL; -} - -static char x509_crl_object_sign__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>sign</name>\n" -" <parameter>key</parameter>\n" -" <parameter>digest = MD5_DIGEST</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" <parameter>key</parameter> should be an instance of\n" -" <classname>Asymmetric</classname> and contain a private key.\n" -" <parameter>digest</parameter> indicates\n" -" which digest function should be used to compute the hash to be\n" -" signed, it should be one of the following:\n" -" </para>\n" -" <simplelist>\n" -#ifndef OPENSSL_NO_MD2 -" <member><constant>MD2_DIGEST</constant></member>\n" -#endif -" <member><constant>MD5_DIGEST</constant></member>\n" -" <member><constant>SHA_DIGEST</constant></member>\n" -" <member><constant>SHA1_DIGEST</constant></member>\n" -" <member><constant>RIPEMD160_DIGEST</constant></member>\n" -" <member><constant>SHA256_DIGEST</constant></member>\n" -" <member><constant>SHA384_DIGEST</constant></member>\n" -" <member><constant>SHA512_DIGEST</constant></member>\n" -" </simplelist>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_sign(x509_crl_object *self, PyObject *args) -{ - EVP_PKEY *pkey = NULL; - asymmetric_object *asym; - int digest = MD5_DIGEST; - - if (!PyArg_ParseTuple(args, "O!|i", &asymmetrictype, &asym, &digest)) - goto error; - - if ((pkey = EVP_PKEY_new()) == NULL) - lose("could not allocate memory"); - - if (asym->key_type != RSA_PRIVATE_KEY) - lose("cannot use this type of key"); - - if (!EVP_PKEY_assign_RSA(pkey, asym->cipher)) - lose("EVP_PKEY assignment error"); - - switch (digest) { - case MD5_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_md5())) - lose("could not sign CRL"); - break; - -#ifndef OPENSSL_NO_MD2 - case MD2_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_md2())) - lose("could not sign CRL"); - break; -#endif - - case SHA_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_sha())) - lose("could not sign CRL"); - break; - - case SHA1_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_sha1())) - lose("could not sign CRL"); - break; - - case RIPEMD160_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_ripemd160())) - lose("could not sign CRL"); - break; - - case SHA256_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_sha256())) - lose("could not sign CRL"); - break; - - case SHA384_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_sha384())) - lose("could not sign CRL"); - break; - - case SHA512_DIGEST: - if (!X509_CRL_sign(self->crl, pkey, EVP_sha512())) - lose("could not sign CRL"); - break; - } - - Py_RETURN_NONE; - - error: - - if (pkey) - EVP_PKEY_free(pkey); - - return NULL; - -} - -static char x509_crl_object_verify__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>verify</name>\n" -" <parameter>key</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The <classname>X509Crl</classname> method\n" -" <function>verify</function> is based on the\n" -" <function>X509_CRL_verify</function> function. Unlike the\n" -" <classname>X509</classname> function of the same name, this\n" -" function simply checks the CRL was signed with the private key\n" -" which corresponds the parameter <parameter>key</parameter>.\n" -" <parameter>key</parameter> should be an instance of\n" -" <classname>Asymmetric</classname> and contain a public key.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_verify(x509_crl_object *self, PyObject *args) -{ - EVP_PKEY *pkey = NULL; - asymmetric_object *asym; - int ok; - - if (!PyArg_ParseTuple(args, "O!", &asymmetrictype, &asym)) - goto error; - - if ((pkey = EVP_PKEY_new()) == NULL) - lose("could not allocate memory"); - - if (!EVP_PKEY_assign_RSA(pkey, asym->cipher)) - lose("EVP_PKEY assignment error"); - - ok = X509_CRL_verify(self->crl, pkey); - - return PyBool_FromLong(ok); - - error: - - if (pkey) - EVP_PKEY_free(pkey); - - return NULL; - -} - -static PyObject * -x509_crl_object_write_helper(x509_crl_object *self, PyObject *args, int format) -{ - int len = 0, ret = 0; - char *buf = NULL; - BIO *out_bio = NULL; - PyObject *cert = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - out_bio = BIO_new(BIO_s_mem()); - - switch (format) { - - case DER_FORMAT: - if (!i2d_X509_CRL_bio(out_bio, self->crl)) - lose("unable to write certificate"); - break; - - case PEM_FORMAT: - if (!PEM_write_bio_X509_CRL(out_bio, self->crl)) - lose("unable to write certificate"); - - default: - lose("internal error, unknown output format"); - } - - if ((len = BIO_ctrl_pending(out_bio)) == 0) - lose("unable to get bytes stored in bio"); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - if ((ret = BIO_read(out_bio, buf, len)) != len) - lose("unable to write out cert"); - - cert = Py_BuildValue("s#", buf, len); - - BIO_free(out_bio); - free(buf); - return cert; - - error: - - if (out_bio) - BIO_free(out_bio); - - if (buf) - free(buf); - - return NULL; -} - -static char x509_crl_object_pem_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>pemWrite</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a PEM encoded CRL as a\n" -" string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_pem_write(x509_crl_object *self, PyObject *args) -{ - return x509_crl_object_write_helper(self, args, PEM_FORMAT); -} - -static char x509_crl_object_der_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>derWrite</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a DER encoded CRL as a string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_der_write(x509_crl_object *self, PyObject *args) -{ - return x509_crl_object_write_helper(self, args, DER_FORMAT); -} - -static char x509_crl_object_pprint__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Crl</memberof>\n" -" <name>pprint</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a formatted string showing the information\n" -" held in the CRL.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_crl_object_pprint(x509_crl_object *self, PyObject *args) -{ - int len = 0, ret = 0; - char *buf = NULL; - BIO *out_bio = NULL; - PyObject *crl = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - out_bio = BIO_new(BIO_s_mem()); - - if (!X509_CRL_print(out_bio, self->crl)) - lose("unable to write crl"); - - if ((len = BIO_ctrl_pending(out_bio)) == 0) - lose("unable to get bytes stored in bio"); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - if ((ret = BIO_read(out_bio, buf, len)) != len) - lose("unable to write out cert"); - - crl = Py_BuildValue("s#", buf, len); - - BIO_free(out_bio); - free(buf); - return crl; - - error: - - if (out_bio) - BIO_free(out_bio); - - if (buf) - free(buf); - - return NULL; - -} - -static struct PyMethodDef x509_crl_object_methods[] = { - {"sign", (PyCFunction)x509_crl_object_sign, METH_VARARGS, NULL}, - {"verify", (PyCFunction)x509_crl_object_verify, METH_VARARGS, NULL}, - {"getVersion", (PyCFunction)x509_crl_object_get_version, METH_VARARGS, NULL}, - {"setVersion", (PyCFunction)x509_crl_object_set_version, METH_VARARGS, NULL}, - {"getIssuer", (PyCFunction)x509_crl_object_get_issuer, METH_VARARGS, NULL}, - {"setIssuer", (PyCFunction)x509_crl_object_set_issuer, METH_VARARGS, NULL}, - {"getThisUpdate", (PyCFunction)x509_crl_object_get_this_update, METH_VARARGS, NULL}, - {"setThisUpdate", (PyCFunction)x509_crl_object_set_this_update, METH_VARARGS, NULL}, - {"getNextUpdate", (PyCFunction)x509_crl_object_get_next_update, METH_VARARGS, NULL}, - {"setNextUpdate", (PyCFunction)x509_crl_object_set_next_update, METH_VARARGS, NULL}, - {"setRevoked", (PyCFunction)x509_crl_object_set_revoked, METH_VARARGS, NULL}, - {"getRevoked", (PyCFunction)x509_crl_object_get_revoked, METH_VARARGS, NULL}, - {"addExtension", (PyCFunction)X509_crl_object_add_extension, METH_VARARGS, NULL}, - {"clearExtensions", (PyCFunction)X509_crl_object_clear_extensions, METH_VARARGS, NULL}, - {"countExtensions", (PyCFunction)X509_crl_object_count_extensions, METH_VARARGS, NULL}, - {"getExtension", (PyCFunction)X509_crl_object_get_extension, METH_VARARGS, NULL}, - {"pemWrite", (PyCFunction)x509_crl_object_pem_write, METH_VARARGS, NULL}, - {"derWrite", (PyCFunction)x509_crl_object_der_write, METH_VARARGS, NULL}, - {"pprint", (PyCFunction)x509_crl_object_pprint, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -x509_crl_object_getattr(x509_crl_object *self, char *name) -{ - return Py_FindMethod(x509_crl_object_methods, (PyObject *)self, name); -} - -static void -x509_crl_object_dealloc(x509_crl_object *self, char *name) -{ - X509_CRL_free(self->crl); - PyObject_Del(self); -} - -static char x509_crltype__doc__[] = -"<class>\n" -" <header>\n" -" <name>X509Crl</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides access to OpenSSL X509 CRL management\n" -" facilities.\n" -" </para>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject x509_crltype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "X509Crl", /*tp_name*/ - sizeof(x509_crl_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)x509_crl_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)x509_crl_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - x509_crltype__doc__ /* Documentation string */ -}; -/*========== x509 crl Code ==========*/ - -/*========== revoked Code ==========*/ -x509_revoked_object* x509_revoked_object_new(void) -{ - x509_revoked_object *self = NULL; - - if ((self = PyObject_New(x509_revoked_object, &x509_revokedtype)) == NULL) - goto error; - - self->revoked = X509_REVOKED_new(); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static char x509_revoked_object_set_serial__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>setSerial</name>\n" -" <parameter>serial</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets the serial number in the serial field of\n" -" this object. <parameter>serial</parameter> should be an\n" -" integer.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_revoked_object_set_serial(x509_revoked_object *self, PyObject *args) -{ - int serial = 0; - - if (!PyArg_ParseTuple(args, "i", &serial)) - goto error; - - if (!ASN1_INTEGER_set(self->revoked->serialNumber, serial)) - lose("unable to set serial number"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char x509_revoked_object_get_serial__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>getSerial</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method gets the serial number in the serial field of\n" -" this object.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_revoked_object_get_serial(x509_revoked_object *self, PyObject *args) -{ - int serial = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((serial = ASN1_INTEGER_get(self->revoked->serialNumber)) == -1) - lose("unable to get serial number"); - - return Py_BuildValue("i", serial); - - error: - - return NULL; -} - -static char x509_revoked_object_get_date__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>getDate</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this function returns a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_revoked_object_get_date(x509_revoked_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return ASN1_TIME_to_Python(self->revoked->revocationDate); - - error: - - return NULL; -} - -static char x509_revoked_object_set_date__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>setDate</name>\n" -" <parameter>time</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" In a change from previous releases, for reasons of portability\n" -" and to avoid hard to fix issues with problems in unreliable time\n" -" functions, this accepts one parameter, a UTCTime string. You\n" -" can use the function <function>time2utc</function> to convert to a\n" -" string if you like and <function>utc2time</function> to back.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -x509_revoked_object_set_date(x509_revoked_object *self, PyObject *args) -{ - char *time = NULL; - - if (!PyArg_ParseTuple(args, "s", &time)) - goto error; - - if (!python_ASN1_TIME_set_string(self->revoked->revocationDate, time)) - lose_type_error("Could not set revocationDate"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_revoked_object_add_extension__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>addExtension</name>\n" -" <parameter>extensionName</parameter>\n" -" <parameter>critical</parameter>\n" -" <parameter>extensionValue</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method adds an extension to this revocation.\n" -" <parameter>extensionName</parameter> should be the of the\n" -" extension. <parameter>critical</parameter> should an integer, 1\n" -" for true and 0 for clase. <parameter>extensionValue</parameter>\n" -" should be a string, DER encoded value of the extension. The name\n" -" of the extension must be correct according to OpenSSL and can be\n" -" checkd in the <constant>objects.h</constant> header file, part of\n" -" the OpenSSL source distrobution. In the majority of cases they\n" -" are the same as those defined in <constant>POW._oids</constant>\n" -" but if you do encounter problems is may be worth checking.\n" -" </para>\n" -" <example>\n" -" <title><function>addExtension</function> method usage</title>\n" -" <programlisting>\n" -" reason = POW.pkix.CrlReason()\n" -" reason.set(1)\n" -" revocation.addExtension('CRLReason', 0, reason.toString())\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_revoked_object_add_extension(x509_revoked_object *self, PyObject *args) -{ - int critical = 0, nid = 0, len = 0; - char *name = NULL; - unsigned char *buf = NULL; - ASN1_OCTET_STRING *octetString = NULL; - X509_EXTENSION *extn = NULL; - - if (!PyArg_ParseTuple(args, "sis#", &name, &critical, &buf, &len)) - goto error; - - if ((octetString = M_ASN1_OCTET_STRING_new()) == NULL) - lose("could not allocate memory"); - - if (!ASN1_OCTET_STRING_set(octetString, buf, strlen((char *) buf))) - lose("could not set ASN1 Octect string"); - - if ((nid = OBJ_txt2nid(name)) == NID_undef) - lose("extension has unknown object identifier"); - - if ((extn = X509_EXTENSION_create_by_NID(NULL, nid, critical, octetString)) == NULL) - lose("unable to create ASN1 X509 Extension object"); - - if (!self->revoked->extensions && (self->revoked->extensions = sk_X509_EXTENSION_new_null()) == NULL) - lose("unable to allocate memory"); - - if (!sk_X509_EXTENSION_push(self->revoked->extensions, extn)) - lose("unable to add extension"); - - Py_RETURN_NONE; - - error: - - if (extn) - X509_EXTENSION_free(extn); - - return NULL; -} - -static char X509_revoked_object_clear_extensions__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>clearExtensions</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method clears the structure which holds the extension for\n" -" this revocation.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_revoked_object_clear_extensions(x509_revoked_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (self->revoked->extensions) { - sk_X509_EXTENSION_free(self->revoked->extensions); - self->revoked->extensions = NULL; - } - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char X509_revoked_object_count_extensions__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>countExtensions</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the size of the structure which holds the\n" -" extension for this revocation.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_revoked_object_count_extensions(x509_revoked_object *self, PyObject *args) -{ - int num = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (self->revoked->extensions) - num = sk_X509_EXTENSION_num(self->revoked->extensions); - - return Py_BuildValue("i", num); - - error: - - return NULL; -} - -static char X509_revoked_object_get_extension__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <name>getExtension</name>\n" -" <parameter>index</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a tuple equivalent the parameters of\n" -" <function>addExtension</function>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -X509_revoked_object_get_extension(x509_revoked_object *self, PyObject *args) -{ - int num = 0, index = 0, ext_nid = 0; - char const *ext_ln = NULL; - char unknown_ext [] = "unknown"; - X509_EXTENSION *ext; - - if (!PyArg_ParseTuple(args, "i", &index)) - goto error; - - if (self->revoked->extensions) - num = sk_X509_EXTENSION_num(self->revoked->extensions); - - if (index >= num) - lose("certificate does not have that many extensions"); - - if ((ext = sk_X509_EXTENSION_value(self->revoked->extensions, index)) == NULL) - lose("could not get extension"); - - if ((ext_nid = OBJ_obj2nid(ext->object)) == NID_undef) - lose("extension has unknown object identifier"); - - if ((ext_ln = OBJ_nid2sn(ext_nid)) == NULL) - ext_ln = unknown_ext; - - return Py_BuildValue("sis#", ext_ln, ext->critical, ext->value->data, ext->value->length); - - error: - - return NULL; -} - -static struct PyMethodDef x509_revoked_object_methods[] = { - {"getSerial", (PyCFunction)x509_revoked_object_get_serial, METH_VARARGS, NULL}, - {"setSerial", (PyCFunction)x509_revoked_object_set_serial, METH_VARARGS, NULL}, - {"getDate", (PyCFunction)x509_revoked_object_get_date, METH_VARARGS, NULL}, - {"setDate", (PyCFunction)x509_revoked_object_set_date, METH_VARARGS, NULL}, - {"addExtension", (PyCFunction)X509_revoked_object_add_extension, METH_VARARGS, NULL}, - {"clearExtensions", (PyCFunction)X509_revoked_object_clear_extensions, METH_VARARGS, NULL}, - {"countExtensions", (PyCFunction)X509_revoked_object_count_extensions, METH_VARARGS, NULL}, - {"getExtension", (PyCFunction)X509_revoked_object_get_extension, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -x509_revoked_object_getattr(x509_revoked_object *self, char *name) -{ - return Py_FindMethod(x509_revoked_object_methods, (PyObject *) self, name); -} - -static void -x509_revoked_object_dealloc(x509_revoked_object *self, char *name) -{ - X509_REVOKED_free(self->revoked); - PyObject_Del(self); -} - -static char x509_revokedtype__doc__[] = -"<class>\n" -" <header>\n" -" <name>X509Revoked</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides a container for details of a revoked\n" -" certificate. It normally would only be used in association with\n" -" a CRL, its not much use by itself. Indeed the only reason this\n" -" class exists is because in the future POW is likely to be extended\n" -" to support extensions for certificates, CRLs and revocations.\n" -" <classname>X509Revoked</classname> existing as an object in its\n" -" own right will make adding this support easier, while avoiding\n" -" backwards compatibility issues.\n" -" </para>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject x509_revokedtype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "X509Revoked", /*tp_name*/ - sizeof(x509_revoked_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)x509_revoked_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)x509_revoked_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - x509_revokedtype__doc__ /* Documentation string */ -}; -/*========== x509 revoked Code ==========*/ - -/*========== ssl Code ==========*/ -static char ssl_object_use_certificate__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>useCertificate</name>\n" -" <parameter>cert</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The parameter <parameter>cert</parameter> must be an\n" -" instance of the <classname>X590</classname> class and must be\n" -" called before <function>setFd</function>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_use_certificate(ssl_object *self, PyObject *args) -{ - x509_object *x509 = NULL; - - if (!PyArg_ParseTuple(args, "O!", &x509type, &x509)) - goto error; - - if (self->ctxset) - lose("cannot be called after setFd()"); - - if (!SSL_CTX_use_certificate(self->ctx, x509->x509)) - lose("could not use certificate"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static PyObject * -ssl_object_add_certificate(ssl_object *self, PyObject *args) -{ - x509_object *x509 = NULL; - X509 *x = NULL; - - if (!PyArg_ParseTuple(args, "O!", &x509type, &x509)) - goto error; - - if (self->ctxset) - lose("cannot be called after setFd()"); - - if ((x = X509_dup(x509->x509)) == NULL) - lose("could not duplicate X509 object"); - - if (!SSL_CTX_add_extra_chain_cert(self->ctx, x)) - lose_openssl_error("Could not add certificate"); - - x = NULL; - - Py_RETURN_NONE; - - error: - - if (x) - X509_free(x); - - return NULL; -} - -static PyObject * -ssl_object_add_trust(ssl_object *self, PyObject *args) -{ - x509_object *x509 = NULL; - X509 *x = NULL; - - if (!PyArg_ParseTuple(args, "O!", &x509type, &x509)) - goto error; - - if (self->ctxset) - lose("Cannot be called after setFd()"); - - if (self->trusted_certs == NULL && - (self->trusted_certs = sk_X509_new_null()) == NULL) - lose("Couldn't allocate trusted certificate stack"); - - if ((x = X509_dup(x509->x509)) == NULL) - lose("Couldn't duplicate X509 object"); - - if (!sk_X509_push(self->trusted_certs, x)) - lose("Couldn't push cert onto trusted certificate stack"); - - x = NULL; - - Py_RETURN_NONE; - - error: - - if (x) - X509_free(x); - - return NULL; -} - -static char ssl_object_use_key__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>useKey</name>\n" -" <parameter>key</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The parameter <parameter>key</parameter> must be an\n" -" instance of the <classname>Asymmetric</classname> class and\n" -" must contain the private key. This function cannot be called\n" -" after <function>useKey</function>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_use_key(ssl_object *self, PyObject *args) -{ - asymmetric_object *asym = NULL; - EVP_PKEY *pkey = NULL; - - if (!PyArg_ParseTuple(args, "O!", &asymmetrictype, &asym)) - goto error; - - if (self->ctxset) - lose("cannot be called after setFd()"); - - if ((pkey = EVP_PKEY_new()) == NULL) - lose("could not allocate memory"); - - if (asym->key_type != RSA_PRIVATE_KEY) - lose("cannot use this type of key"); - - if (!EVP_PKEY_set1_RSA(pkey, asym->cipher)) - lose("EVP_PKEY assignment error"); - - if (!SSL_CTX_use_PrivateKey(self->ctx, pkey)) - lose("ctx key assignment error"); - - Py_RETURN_NONE; - - error: - - if(pkey) - EVP_PKEY_free(pkey); - - return NULL; -} - -static char ssl_object_check_key__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>checkKey</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This simple method will return 1 if the public key, contained in\n" -" the X509 certificate this <classname>Ssl</classname> instance is using,\n" -" matches the private key this <classname>Ssl</classname> instance is using.\n" -" Otherwise it will return 0.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_check_key(ssl_object *self, PyObject *args) -{ - return PyBool_FromLong(SSL_CTX_check_private_key(self->ctx)); -} - -static char ssl_object_set_fd__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>setFd</name>\n" -" <parameter>descriptor</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function is used to associate a file descriptor with a\n" -" <classname>Ssl</classname> object. The file descriptor should\n" -" belong to an open TCP connection. Once this function has\n" -" been called, calling <function>useKey</function> or\n" -" <function>useCertificate</function> will, fail rasing exceptions.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_set_fd(ssl_object *self, PyObject *args) -{ - int fd = 0, self_index = 0; - - if (!PyArg_ParseTuple(args, "i", &fd)) - goto error; - - if ((self->ssl = SSL_new(self->ctx)) == NULL) - lose("Unable to create ssl structure"); - - SSL_set_mode(self->ssl, (SSL_MODE_ENABLE_PARTIAL_WRITE | - SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER)); - - if (!SSL_set_fd(self->ssl, fd)) - lose("Unable to set file descriptor"); - - if ((self_index = SSL_get_ex_new_index(0, "self_index", NULL, NULL, NULL)) != -1) - SSL_set_ex_data(self->ssl, self_index, self); - else - lose("Unable to create ex data index"); - - self->ctxset = 1; - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char ssl_object_fileno__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>fileno</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function is used to extract the file descriptor associated\n" -" with a <classname>Ssl</classname> object.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_fileno(ssl_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - return Py_BuildValue("i", SSL_get_fd(self->ssl)); - - error: - - return NULL; -} - -static char ssl_object_accept__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>accept</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function will attempt the SSL level accept with a\n" -" client. The <classname>Ssl</classname> object must have been\n" -" created using a <constant>XXXXX_SERVER_METHOD</constant> or\n" -" a <constant>XXXXX_METHOD</constant> and this function should only be\n" -" called after <function>useKey</function>,\n" -" <function>useCertificate</function> and\n" -" <function>setFd</function> functions have been called.\n" -" </para>\n" -"\n" -" <example>\n" -" <title><function>accept</function> function usage</title>\n" -" <programlisting>\n" -" keyFile = open('test/private.key', 'r')\n" -" certFile = open('test/cacert.pem', 'r')\n" -"\n" -" rsa = POW.pemRead(POW.RSA_PRIVATE_KEY, keyFile.read(), 'pass')\n" -" x509 = POW.pemRead(POW.X509_CERTIFICATE, certFile.read())\n" -"\n" -" keyFile.close()\n" -" certFile.close()\n" -"\n" -" sl = POW.Ssl(POW.SSLV23_SERVER_METHOD)\n" -" sl.useCertificate(x509)\n" -" sl.useKey(rsa)\n" -"\n" -" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -" s.bind(('localhost', 1111))\n" -" s.listen(5)\n" -" s2, addr = s.accept()\n" -"\n" -" s.close()\n" -"\n" -" sl.setFd(s2.fileno())\n" -" sl.accept()\n" -" print sl.read(1024)\n" -" sl.write('Message from server to client...')\n" -"\n" -" s2.close()\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_accept(ssl_object *self, PyObject *args) -{ - int ret = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - Py_BEGIN_ALLOW_THREADS; - ret = SSL_accept(self->ssl); - Py_END_ALLOW_THREADS; - - if (ret <= 0) - lose_ssl_error(self, ret); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char ssl_object_connect__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>connect</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function will attempt the SSL level connection with a\n" -" server. The <classname>Ssl</classname> object must have been\n" -" created using a <constant>XXXXX_CLIENT_METHOD</constant> or\n" -" a <constant>XXXXX_METHOD</constant> and this function should only be\n" -" called after <function>setFd</function> has already been\n" -" called.\n" -" </para>\n" -"\n" -" <example>\n" -" <title><function>connect</function> function usage</title>\n" -" <programlisting>\n" -" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n" -" s.connect(('localhost', 1111))\n" -"\n" -" sl = POW.Ssl(POW.SSLV23_CLIENT_METHOD)\n" -" sl.setFd(s.fileno())\n" -" sl.connect()\n" -" sl.write('Message from client to server...')\n" -" print sl.read(1024)\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_connect(ssl_object *self, PyObject *args) -{ - int ret; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - Py_BEGIN_ALLOW_THREADS; - ret = SSL_connect(self->ssl); - Py_END_ALLOW_THREADS; - - if (ret <= 0) - lose_ssl_error(self, ret); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char ssl_object_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>write</name>\n" -" <parameter>string</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method writes the <parameter>string</parameter> to the\n" -" <classname>Ssl</classname> object, to be read by it's peer. This\n" -" function is analogous to the <classname>socket</classname>\n" -" classes <function>write</function> function.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_write(ssl_object *self, PyObject *args) -{ - char *msg; - int length = 0, ret = 0; - - if (!PyArg_ParseTuple(args, "s#", &msg, &length)) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - Py_BEGIN_ALLOW_THREADS; - ret = SSL_write(self->ssl, msg, length); - Py_END_ALLOW_THREADS; - - if (ret <= 0) - lose_ssl_error(self, ret); - - return Py_BuildValue("i", ret); - - error: - - return NULL; -} - -static char ssl_object_read__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>read</name>\n" -" <parameter>amount = 1024</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method reads up to <parameter>amount</parameter> characters from the\n" -" <classname>Ssl</classname> object. This\n" -" function is analogous to the <classname>socket</classname>\n" -" classes <function>read</function> function.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_read(ssl_object *self, PyObject *args) -{ - PyObject *data; - char *msg = NULL; - int len = 1024, ret = 0; - - if (!PyArg_ParseTuple(args, "|i", &len)) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - if ((msg = malloc(len)) == NULL) - lose("unable to allocate memory"); - - Py_BEGIN_ALLOW_THREADS; - ret = SSL_read(self->ssl, msg, len); - Py_END_ALLOW_THREADS; - - if (ret <= 0) - lose_ssl_error(self, ret); - - data = Py_BuildValue("s#", msg, ret); - - free(msg); - return data; - - error: - - if (msg) - free(msg); - - return NULL; -} - -static char ssl_object_peer_certificate__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>peerCertificate</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns any peer certificate presented in the initial\n" -" SSL negotiation or <constant>None</constant>. If a certificate is\n" -" returned, it will be an instance of <classname>X509</classname>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_peer_certificate(ssl_object *self, PyObject *args) -{ - X509 *x509 = NULL; - x509_object *x509_obj = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - if ((x509_obj = X509_object_new()) == NULL) - lose("could not create x509 object"); - - x509 = SSL_get_peer_certificate(self->ssl); - - if (x509) { - X509_free(x509_obj->x509); - x509_obj->x509 = x509; - return (PyObject *) x509_obj; - } - else { - Py_XDECREF(x509_obj); - Py_RETURN_NONE; - } - - error: - - if (x509) - X509_free(x509); - - Py_XDECREF(x509_obj); - return NULL; -} - -static char ssl_object_clear__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>clear</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method will clear the SSL session ready for\n" -" a new SSL connection. It will not effect the underlying socket.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_clear(ssl_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - if (!SSL_clear(self->ssl)) - lose("failed to clear ssl connection"); - - if (self->x509_cb_err) { - free(self->x509_cb_err); - self->x509_cb_err = NULL; - } - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char ssl_object_shutdown__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>shutdown</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method will issue a <constant>shutdown</constant> signal to it's peer.\n" -" If this connection's peer has already initiated a shutdown this call\n" -" will succeed, otherwise it will raise and exception. In order to\n" -" check the shutdown handshake was successful,\n" -" <function>shutdown</function> must be called again. If no\n" -" exception is raised, the handshake is complete.\n" -" </para>\n" -" <para>\n" -" The odd\n" -" implementation of this function reflects the underlying OpenSSL\n" -" function, which reflects the SSL protocol. Although rasing an\n" -" exception is a bit annoying, the alternative, returning true all\n" -" false will not tell you why the call failed and the exception\n" -" will, at least that is the theory. Look up the exact meaning\n" -" of the exceptions in the OpenSSL man page SSL_get_error.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_shutdown(ssl_object *self, PyObject *args) -{ - int ret = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - ret = SSL_shutdown(self->ssl); - - /* - * The original POW behavior here seems nuts to me. SSL_shutdown() - * returns a tristate: - * - * 1: fully closed - * 0: close notification sent, waiting for peer - * -1: error, WANT_READ, or WANT_WRITE - * - * Doc claims the protocol allows us to bail on 0 return if we don't - * want to wait. So the "obvious" thing to do here is return boolean - * for 1 or 0 and raise an exception for -1. Original author's explanation - * for why he didn't do that makes no sense to me, so I've changed it. - */ - - if (ret < 0) - lose_ssl_error(self, ret); - - return PyBool_FromLong(ret); - - error: - - return NULL; -} - -static char ssl_object_get_shutdown__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>getShutdown</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function returns an integer indicating the state of the\n" -" SSL connection. <constant>SSL_RECEIVED_SHUTDOWN</constant>\n" -" will be set the if it's peer sends a <constant>shutdown</constant>\n" -" signal or the underlying socket\n" -" receives a close notify . The possible values are:\n" -" </para>\n" -" <simplelist>\n" -" <member><constant>SSL_NO_SHUTDOWN</constant></member>\n" -" <member><constant>SSL_SENT_SHUTDOWN</constant></member>\n" -" <member><constant>SSL_RECEIVED_SHUTDOWN</constant></member>\n" -" <member><constant>SSL_SENT_SHUTDOWN</constant> | <constant>SSL_RECEIVED_SHUTDOWN</constant></member>\n" -" </simplelist>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_get_shutdown(ssl_object *self, PyObject *args) -{ - int state = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - state = SSL_get_shutdown(self->ssl); - - return Py_BuildValue("i", state); - - error: - - return NULL; -} - -static char ssl_object_get_ciphers__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>getCiphers</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function returns a list of available ciphers ordered from\n" -" most favored to least. This function must be called after\n" -" <function>setFd</function>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_get_ciphers(ssl_object *self, PyObject *args) -{ - int i = 0; - const char *cipher = NULL; - PyObject *list = NULL, *name = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - list = PyList_New(0); - - cipher = SSL_get_cipher_list(self->ssl, 0); - while (cipher) { - if ((name = PyString_FromString(cipher)) == NULL) - goto error; - if (PyList_Append(list, name) != 0) - goto error; - Py_XDECREF(name); - name = NULL; - cipher = SSL_get_cipher_list(self->ssl, ++i); - } - return list; - - error: - - Py_XDECREF(name); - Py_XDECREF(list); - return NULL; -} - -static char ssl_object_set_ciphers__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>setCiphers</name>\n" -" <parameter>ciphers</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" <function>setCiphers</function>\n" -" can help protect against certain types of attacks which try to\n" -" coerce the server, client or both to negotiate a weak cipher.\n" -" <parameter>ciphers</parameter> should be a list of strings, as\n" -" produced by <function>getCiphers</function> and described in the\n" -" OpenSSL man page ciphers. <function>setCiphers</function> should\n" -" only be called after <function>setFd</function>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_set_ciphers(ssl_object *self, PyObject *args) -{ - PyObject *ciphers = NULL; - PyObject *cipher = NULL; - int size = 0, cipherstrlen = 0, nextstrlen = 0, i = 0; - char *cipherstr = NULL; - - if (!PyArg_ParseTuple(args, "O", &ciphers)) - goto error; - - if (!PyList_Check(ciphers) && !PyTuple_Check(ciphers)) - lose_type_error("inapropriate type"); - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - cipherstr = malloc(8); // Very bogus, realloc() dosn't work without some - // previously allocated memory! Really should. - memset(cipherstr, 0, 8); - size = PySequence_Size(ciphers); - for (i = 0; i < size; i++) { - if ((cipher = PySequence_GetItem(ciphers, i)) == NULL) - goto error; - - if (!PyString_Check(cipher)) - lose_type_error("inapropriate type"); - - cipherstrlen = strlen(cipherstr); - nextstrlen = strlen(PyString_AsString(cipher)); - - if ((cipherstr = realloc(cipherstr, cipherstrlen + nextstrlen + 2)) == NULL) - lose_type_error("could allocate memory"); - - if (cipherstrlen) - strcat(cipherstr, ":\0"); - - strcat(cipherstr, PyString_AsString(cipher)); - Py_XDECREF(cipher); - cipher = NULL; - } - SSL_set_cipher_list(self->ssl, cipherstr); - free(cipherstr); - Py_RETURN_NONE; - - error: - - if (cipherstr) - free(cipherstr); - - Py_XDECREF(cipher); - - return NULL; -} - -static char ssl_object_get_cipher__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>getCipher</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function returns the current cipher in use.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_get_cipher(ssl_object *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - if (!self->ctxset) - lose("cannot be called before setFd()"); - - return Py_BuildValue("s", SSL_get_cipher(self->ssl)); - - error: - - return NULL; -} - -static int ssl_object_verify_callback(X509_STORE_CTX *ctx, void *arg) -{ - ssl_object *self = arg; - int ok; - - if (self->trusted_certs) - X509_STORE_CTX_trusted_stack(ctx, self->trusted_certs); - - if (self->x509_cb_err) { - free(self->x509_cb_err); - self->x509_cb_err = NULL; - } - - ok = X509_verify_cert(ctx) == 1; - - if (!ok) { - - /* - * We probably should be pushing out structured Python data here - * rather than a string, but we're pretty deep in the OpenSSL call - * chain at this point and I'd rather not risk whacky interactions - * with the Python garbage collector. Try this kludge initially, - * rewrite as something better later if it looks worth the effort. - */ - - BIO *b = BIO_new(BIO_s_mem()); - char *buf = NULL; - int len; - - if (!b) - goto fail; - - BIO_puts(b, "TLS validation failure:\n\n"); - - if (self->trusted_certs) { - int i; - BIO_puts(b, "Trusted cert stack\n"); - for (i = 0; i < sk_X509_num(self->trusted_certs); i++) { - X509 *x = sk_X509_value(self->trusted_certs, i); - BIO_printf(b, "[%d] ", i); - if (x) - X509_print(b, x); - else - BIO_puts(b, "<NULL>!\n"); - } - } else { - BIO_puts(b, "No trusted cert stack\n"); - } - - BIO_printf(b, - "\nX509_verify_cert() error: error depth %d error %d current_cert %p current_issuer %p current_crl %p: %s\n", - ctx->error_depth, - ctx->error, - ctx->current_cert, - ctx->current_issuer, - ctx->current_crl, - X509_verify_cert_error_string(ctx->error)); - if (ctx->current_cert) - X509_print(b, ctx->current_cert); - - /* This seems to be returning garbage, don't know why */ - if (ctx->current_issuer) - X509_print(b, ctx->current_issuer); - - if ((len = BIO_ctrl_pending(b)) == 0 || (buf = malloc(len + 1)) == NULL) - goto fail; - - if (BIO_read(b, buf, len) == len) { - buf[len] = '\0'; - self->x509_cb_err = buf; - } else { - free(buf); - } - - fail: - BIO_free(b); - } - - return ok; -} - -static char ssl_object_set_verify_mode__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <name>setVerifyMode</name>\n" -" <parameter>mode</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function sets the behavior of the SSL handshake. The\n" -" parameter <parameter>mode</parameter> should be one of the\n" -" following:\n" -" </para>\n" -" <simplelist>\n" -" <member><constant>SSL_VERIFY_NONE</constant></member>\n" -" <member><constant>SSL_VERIFY_PEER</constant></member>\n" -" <member><constant>SSL_VERIFY_PEER</constant> |\n" -" <constant>SSL_VERIFY_FAIL_IF_NO_PEER_CERT</constant></member>\n" -" </simplelist>\n" -" <para>\n" -" See the OpenSSL man page <function>SSL_CTX_set_verify</function>\n" -" for details. This function must be called after <function>setfd</function>\n" -" has been called.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -ssl_object_set_verify_mode(ssl_object *self, PyObject *args) -{ - int mode = 0; - - if (!PyArg_ParseTuple(args, "i", &mode)) - goto error; - - if (self->ctxset) - lose("cannot be called after setfd()"); - - SSL_CTX_set_verify(self->ctx, mode, NULL); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static struct PyMethodDef ssl_object_methods[] = { - {"useCertificate", (PyCFunction)ssl_object_use_certificate, METH_VARARGS, NULL}, - {"addCertificate", (PyCFunction)ssl_object_add_certificate, METH_VARARGS, NULL}, - {"addTrust", (PyCFunction)ssl_object_add_trust, METH_VARARGS, NULL}, - {"useKey", (PyCFunction)ssl_object_use_key, METH_VARARGS, NULL}, - {"checkKey", (PyCFunction)ssl_object_check_key, METH_VARARGS, NULL}, - {"setFd", (PyCFunction)ssl_object_set_fd, METH_VARARGS, NULL}, - {"fileno", (PyCFunction)ssl_object_fileno, METH_VARARGS, NULL}, - {"connect", (PyCFunction)ssl_object_connect, METH_VARARGS, NULL}, - {"accept", (PyCFunction)ssl_object_accept, METH_VARARGS, NULL}, - {"write", (PyCFunction)ssl_object_write, METH_VARARGS, NULL}, - {"read", (PyCFunction)ssl_object_read, METH_VARARGS, NULL}, - {"peerCertificate", (PyCFunction)ssl_object_peer_certificate, METH_VARARGS, NULL}, - {"clear", (PyCFunction)ssl_object_clear, METH_VARARGS, NULL}, - {"shutdown", (PyCFunction)ssl_object_shutdown, METH_VARARGS, NULL}, - {"getShutdown", (PyCFunction)ssl_object_get_shutdown, METH_VARARGS, NULL}, - {"getCiphers", (PyCFunction)ssl_object_get_ciphers, METH_VARARGS, NULL}, - {"setCiphers", (PyCFunction)ssl_object_set_ciphers, METH_VARARGS, NULL}, - {"getCipher", (PyCFunction)ssl_object_get_cipher, METH_VARARGS, NULL}, - {"setVerifyMode", (PyCFunction)ssl_object_set_verify_mode, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static ssl_object * -newssl_object(int type) -{ - ssl_object *self; - const SSL_METHOD *method; - - - if ((self = PyObject_NEW(ssl_object, &ssltype)) == NULL) - goto error; - - self->ctxset = 0; - self->ssl = NULL; - self->trusted_certs = NULL; - self->x509_cb_err = NULL; - - switch (type) { - case SSLV2_SERVER_METHOD: method = SSLv2_server_method(); break; - case SSLV2_CLIENT_METHOD: method = SSLv2_client_method(); break; - case SSLV2_METHOD: method = SSLv2_method(); break; - case SSLV3_SERVER_METHOD: method = SSLv3_server_method(); break; - case SSLV3_CLIENT_METHOD: method = SSLv3_client_method(); break; - case SSLV3_METHOD: method = SSLv3_method(); break; - case TLSV1_SERVER_METHOD: method = TLSv1_server_method(); break; - case TLSV1_CLIENT_METHOD: method = TLSv1_client_method(); break; - case TLSV1_METHOD: method = TLSv1_method(); break; - case SSLV23_SERVER_METHOD: method = SSLv23_server_method(); break; - case SSLV23_CLIENT_METHOD: method = SSLv23_client_method(); break; - case SSLV23_METHOD: method = SSLv23_method(); break; - - default: - lose("unknown ctx method"); - } - - if ((self->ctx = SSL_CTX_new(method)) == NULL) - lose("unable to create new ctx"); - - SSL_CTX_set_cert_verify_callback(self->ctx, ssl_object_verify_callback, self); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static PyObject * -ssl_object_getattr(ssl_object *self, char *name) -{ - return Py_FindMethod(ssl_object_methods, (PyObject *)self, name); -} - -static void -ssl_object_dealloc(ssl_object *self) -{ - SSL_free(self->ssl); - SSL_CTX_free(self->ctx); - if (self->trusted_certs) - sk_X509_pop_free(self->trusted_certs, X509_free); - if (self->x509_cb_err) - free(self->x509_cb_err); - PyObject_Del(self); -} - -static char ssltype__doc__[] = -"<class>\n" -" <header>\n" -" <name>Ssl</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides access to the Secure Socket Layer\n" -" functionality of OpenSSL. It is designed to be a simple as\n" -" possible to use and is not designed for high performance\n" -" applications which handle many simultaneous connections. The\n" -" original motivation for writing this library was to provide a\n" -" security layer for network agents written in Python, for this\n" -" application, good performance with multiple concurrent connections\n" -" is not an issue.\n" -" </para>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject ssltype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "Ssl", /*tp_name*/ - sizeof(ssl_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)ssl_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)ssl_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - ssltype__doc__ /* Documentation string */ -}; -/*========== ssl Object ==========*/ - -/*========== asymmetric Object ==========*/ -static asymmetric_object * -asymmetric_object_new(int cipher_type, int key_size) -{ - asymmetric_object *self = NULL; - - self = PyObject_New(asymmetric_object, &asymmetrictype); - if (self == NULL) - goto error; - - if (cipher_type != RSA_CIPHER) - lose("unsupported cipher"); - - if ((self->cipher = RSA_generate_key(key_size,RSA_F4,NULL,NULL)) == NULL) - lose("could not generate key"); - - self->key_type = RSA_PRIVATE_KEY; - self->cipher_type = RSA_CIPHER; - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static asymmetric_object * -asymmetric_object_pem_read(int key_type, BIO *in, char *pass) -{ - asymmetric_object *self = NULL; - - self = PyObject_New(asymmetric_object, &asymmetrictype); - if (self == NULL) - goto error; - - switch (key_type) { - - case RSA_PUBLIC_KEY: - if ((self->cipher = PEM_read_bio_RSA_PUBKEY(in, NULL, NULL, NULL)) == NULL) - lose("could not load public key"); - self->key_type = RSA_PUBLIC_KEY; - self->cipher_type = RSA_CIPHER; - break; - - case RSA_PRIVATE_KEY: - if ((self->cipher = PEM_read_bio_RSAPrivateKey(in, NULL, NULL, pass)) == NULL) - lose("could not load private key"); - self->key_type = RSA_PRIVATE_KEY; - self->cipher_type = RSA_CIPHER; - break; - - default: - lose("unknown key type"); - } - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static asymmetric_object * -asymmetric_object_der_read(int key_type, unsigned char *src, int len) -{ - asymmetric_object *self = NULL; - unsigned char *ptr = src; - - self = PyObject_New(asymmetric_object, &asymmetrictype); - if (self == NULL) - goto error; - - switch (key_type) { - case RSA_PUBLIC_KEY: - - if ((self->cipher = d2i_RSA_PUBKEY(NULL, (const unsigned char **) &ptr, len)) == NULL) - lose("could not load public key"); - - self->key_type = RSA_PUBLIC_KEY; - self->cipher_type = RSA_CIPHER; - break; - - case RSA_PRIVATE_KEY: - - if ((self->cipher = d2i_RSAPrivateKey(NULL, (const unsigned char **) &ptr, len)) == NULL) - lose("could not load private key"); - - self->key_type = RSA_PRIVATE_KEY; - self->cipher_type = RSA_CIPHER; - break; - - default: - lose("unknown key type"); - } - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static char asymmetric_object_pem_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <name>pemWrite</name>\n" -" <parameter>keytype</parameter>\n" -" <parameter>ciphertype = None</parameter>\n" -" <parameter>passphrase = None</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to write <classname>Asymmetric</classname>\n" -" objects out as strings. The first argument should be either\n" -" <constant>RSA_PUBLIC_KEY</constant> or\n" -" <constant>RSA_PRIVATE_KEY</constant>. Private keys are often\n" -" saved in encrypted files to offer extra security above access\n" -" control mechanisms. If the <parameter>keytype</parameter> is\n" -" <constant>RSA_PRIVATE_KEY</constant> a\n" -" <parameter>ciphertype</parameter> and\n" -" <parameter>passphrase</parameter> can also be specified. The\n" -" <parameter>ciphertype</parameter> should be one of those listed in\n" -" the <classname>Symmetric</classname> class section.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -asymmetric_object_pem_write(asymmetric_object *self, PyObject *args) -{ - int key_type = 0, cipher = 0, len = 0, ret = 0; - char *kstr = NULL, *buf = NULL; - BIO *out_bio = NULL; - PyObject *asymmetric = NULL; - - if (!PyArg_ParseTuple(args, "|iis", &key_type, &cipher, &kstr)) - goto error; - - if (key_type == 0) - key_type = self->key_type; - - if ((out_bio = BIO_new(BIO_s_mem())) == NULL) - lose("unable to create new BIO"); - - if ((kstr && !cipher) || (cipher && !kstr)) - lose("cipher type and key string must both be supplied"); - - switch(key_type) { - - case RSA_PRIVATE_KEY: - if (kstr && cipher) { - if (!PEM_write_bio_RSAPrivateKey(out_bio, self->cipher, evp_cipher_factory(cipher), NULL, 0, NULL, kstr)) - lose("unable to write key"); - } - else { - if (!PEM_write_bio_RSAPrivateKey(out_bio, self->cipher, NULL, NULL, 0, NULL, NULL)) - lose("unable to write key"); - } - break; - - case RSA_PUBLIC_KEY: - if (kstr && cipher) - lose("public keys should not encrypted"); - else { - if (!PEM_write_bio_RSA_PUBKEY(out_bio, self->cipher)) - lose("unable to write key"); - } - break; - - default: - lose("unsupported key type"); - } - - if ((len = BIO_ctrl_pending(out_bio)) == 0) - lose("unable to get number of bytes in bio"); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - if ((ret = BIO_read(out_bio, buf, len)) != len) - lose("unable to write out key"); - - asymmetric = Py_BuildValue("s#", buf, len); - - BIO_free(out_bio); - free(buf); - return asymmetric; - - error: - - if (out_bio); - BIO_free(out_bio); - - if (buf) - free(buf); - - return NULL; -} - -static char asymmetric_object_der_write__doc__[] = -"<method>" -" <header>" -" <memberof>Asymmetric</memberof>" -" <name>derWrite</name>" -" <parameter>keytype</parameter>" -" </header>" -" <body>" -" <para>" -" This method is used to write <classname>Asymmetric</classname>" -" objects out as strings. The first argument should be either" -" <constant>RSA_PUBLIC_KEY</constant> or " -" <constant>RSA_PRIVATE_KEY</constant>." -" </para>" -" </body>" -"</method>" -; - -static PyObject * -asymmetric_object_der_write(asymmetric_object *self, PyObject *args) -{ - int len = 0, key_type = 0; - unsigned char *buf = NULL, *p = NULL; - PyObject *asymmetric = NULL; - - if (!PyArg_ParseTuple(args, "|i", &key_type)) - goto error; - - if (key_type == 0) - key_type = self->key_type; - - switch(key_type) { - - case RSA_PRIVATE_KEY: - len = i2d_RSAPrivateKey(self->cipher, NULL); - if ((buf = malloc(len)) == NULL) - lose("could not allocate memory"); - p = buf; - if (!i2d_RSAPrivateKey(self->cipher, &buf)) - lose("unable to write key"); - break; - - case RSA_PUBLIC_KEY: - len = i2d_RSA_PUBKEY(self->cipher, NULL); - if ((buf = malloc(len)) == NULL) - lose("could not allocate memory"); - p = buf; - if (!i2d_RSA_PUBKEY(self->cipher, &buf)) - lose("unable to write key"); - break; - - default: - lose("unsupported key type"); - } - - asymmetric = Py_BuildValue("s#", p, len); - - free(p); - return asymmetric; - - error: - - if (p) - free(p); - - return NULL; -} - -static char asymmetric_object_public_encrypt__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <name>publicEncrypt</name>\n" -" <parameter>plaintext</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to encrypt the <parameter>plaintext</parameter>\n" -" using a public key. It should be noted; in practice this\n" -" function would be used almost exclusively to encrypt symmetric cipher\n" -" keys and not data since asymmetric cipher operations are very slow.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -asymmetric_object_public_encrypt(asymmetric_object *self, PyObject *args) -{ - unsigned char *plain_text = NULL, *cipher_text = NULL; - int len = 0, size = 0; - PyObject *obj = NULL; - - if (self->cipher_type != RSA_CIPHER) - lose("unsupported cipher type"); - - if (!PyArg_ParseTuple(args, "s#", &plain_text, &len)) - goto error; - - size = RSA_size(self->cipher); - if (len > size) - lose("plain text is too long"); - - if ((cipher_text = malloc(size + 16)) == NULL) - lose("could not allocate memory"); - - if ((len = RSA_public_encrypt(len, plain_text, cipher_text, self->cipher, RSA_PKCS1_PADDING)) < 0) - lose("could not encrypt plain text"); - - obj = Py_BuildValue("s#", cipher_text, len); - free(cipher_text); - return obj; - - error: - - if (cipher_text) - free(cipher_text); - - return NULL; -} - -static char asymmetric_object_private_encrypt__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <name>privateEncrypt</name>\n" -" <parameter>plaintext</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to encrypt the <parameter>plaintext</parameter>\n" -" using a private key. It should be noted; in practice this\n" -" function would be used almost exclusively to encrypt symmetric cipher\n" -" keys and not data since asymmetric cipher operations are very slow.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -asymmetric_object_private_encrypt(asymmetric_object *self, PyObject *args) -{ - unsigned char *plain_text = NULL, *cipher_text = NULL; - int len = 0, size = 0; - PyObject *obj = NULL; - - if (self->key_type != RSA_PRIVATE_KEY) - lose("cannot perform private encryption with this key"); - - if (!PyArg_ParseTuple(args, "s#", &plain_text, &len)) - goto error; - - size = RSA_size(self->cipher); - if (len > size) - lose("plain text is too long"); - - if ((cipher_text = malloc(size + 16)) == NULL) - lose("could not allocate memory"); - - if ((len = RSA_private_encrypt(len, plain_text, cipher_text, self->cipher, RSA_PKCS1_PADDING)) < 0) - lose("could not encrypt plain text"); - - obj = Py_BuildValue("s#", cipher_text, len); - free(cipher_text); - return obj; - - error: - - if (cipher_text) - free(cipher_text); - - return NULL; -} - -static char asymmetric_object_public_decrypt__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <name>publicDecrypt</name>\n" -" <parameter>ciphertext</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to decrypt the\n" -" <parameter>ciphertext</parameter> which has been encrypted\n" -" using the corresponding private key and the\n" -" <function>privateEncrypt</function> function.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -asymmetric_object_public_decrypt(asymmetric_object *self, PyObject *args) -{ - unsigned char *plain_text = NULL, *cipher_text = NULL; - int len = 0, size = 0; - PyObject *obj = NULL; - - if (self->cipher_type != RSA_CIPHER) - lose("unsupported cipher type"); - - if (!PyArg_ParseTuple(args, "s#", &cipher_text, &len)) - goto error; - - size = RSA_size(self->cipher); - if (len > size) - lose("cipher text is too long"); - - if ((plain_text = malloc(size + 16)) == NULL) - lose("could not allocate memory"); - - if ((len = RSA_public_decrypt(len, cipher_text, plain_text, self->cipher, RSA_PKCS1_PADDING)) < 0) - lose("could not decrypt cipher text"); - - obj = Py_BuildValue("s#", plain_text, len); - free(plain_text); - return obj; - - error: - - if (plain_text) - free(plain_text); - - return NULL; -} - -static char asymmetric_object_private_decrypt__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <name>privateDecrypt</name>\n" -" <parameter>ciphertext</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to decrypt ciphertext which has been encrypted\n" -" using the corresponding public key and the\n" -" <function>publicEncrypt</function> function.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -asymmetric_object_private_decrypt(asymmetric_object *self, PyObject *args) -{ - unsigned char *plain_text = NULL, *cipher_text = NULL; - int len = 0, size = 0; - PyObject *obj = NULL; - - if (self->key_type != RSA_PRIVATE_KEY) - lose("cannot perform private decryption with this key"); - - if (!PyArg_ParseTuple(args, "s#", &cipher_text, &len)) - goto error; - - size = RSA_size(self->cipher); - if (len > size) - lose("cipher text is too long"); - - if ((plain_text = malloc(size + 16)) == NULL) - lose("could not allocate memory"); - - if ((len = RSA_private_decrypt(len, cipher_text, plain_text, self->cipher, RSA_PKCS1_PADDING)) < 0) - lose("could not decrypt cipher text"); - - obj = Py_BuildValue("s#", plain_text, len); - free(plain_text); - return obj; - - error: - - if (plain_text) - free(plain_text); - return NULL; -} - -static char asymmetric_object_sign__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <name>sign</name>\n" -" <parameter>digesttext</parameter>\n" -" <parameter>digesttype</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to produce a signed digest text.\n" -" This instance of\n" -" <classname>Asymmetric</classname> should be a private key used for\n" -" signing. The parameter\n" -" <parameter>digesttext</parameter> should be a digest of the\n" -" data to protect against alteration and\n" -" finally <parameter>digesttype</parameter> should be one of the\n" -" following:\n" -" </para>\n" -" <simplelist>\n" -#ifndef OPENSSL_NO_MD2 -" <member><constant>MD2_DIGEST</constant></member>\n" -#endif -" <member><constant>MD5_DIGEST</constant></member>\n" -" <member><constant>SHA_DIGEST</constant></member>\n" -" <member><constant>SHA1_DIGEST</constant></member>\n" -" <member><constant>RIPEMD160_DIGEST</constant></member>\n" -" <member><constant>SHA256_DIGEST</constant></member>\n" -" <member><constant>SHA384_DIGEST</constant></member>\n" -" <member><constant>SHA512_DIGEST</constant></member>\n" -" </simplelist>\n" -" <para>\n" -" If the procedure was successful, a string containing the signed\n" -" digest is returned.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -asymmetric_object_sign(asymmetric_object *self, PyObject *args) -{ - unsigned char *digest_text = NULL, *signed_text = NULL; - unsigned int digest_len = 0, digest_type = 0, digest_nid = 0, signed_len = 0; - PyObject *obj = NULL; - - if (!PyArg_ParseTuple(args, "s#i", &digest_text, &digest_len, &digest_type)) - goto error; - - if (self->key_type != RSA_PRIVATE_KEY) - lose("unsupported key type"); - - if ((signed_text = malloc(RSA_size(self->cipher))) == NULL) - lose("could not allocate memory"); - - switch(digest_type) { -#ifndef OPENSSL_NO_MD2 - case MD2_DIGEST: - digest_nid = NID_md2; - digest_len = MD2_DIGEST_LENGTH; - break; -#endif - case MD5_DIGEST: - digest_nid = NID_md5; - digest_len = MD5_DIGEST_LENGTH; - break; - case SHA_DIGEST: - digest_nid = NID_sha; - digest_len = SHA_DIGEST_LENGTH; - break; - case SHA1_DIGEST: - digest_nid = NID_sha1; - digest_len = SHA_DIGEST_LENGTH; - break; - case RIPEMD160_DIGEST: - digest_nid = NID_ripemd160; - digest_len = RIPEMD160_DIGEST_LENGTH; - break; - case SHA256_DIGEST: - digest_nid = NID_sha256; - digest_len = SHA256_DIGEST_LENGTH; - break; - case SHA384_DIGEST: - digest_nid = NID_sha384; - digest_len = SHA384_DIGEST_LENGTH; - break; - case SHA512_DIGEST: - digest_nid = NID_sha512; - digest_len = SHA512_DIGEST_LENGTH; - break; - default: - lose("unsupported digest"); - } - - if (!RSA_sign(digest_nid, digest_text, digest_len, signed_text, &signed_len, self->cipher)) - lose("could not sign digest"); - - obj = Py_BuildValue("s#", signed_text, signed_len); - free(signed_text); - return obj; - - error: - - if (signed_text) - free(signed_text); - - return NULL; -} - -static char asymmetric_object_verify__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <name>verify</name>\n" -" <parameter>signedtext</parameter>\n" -" <parameter>digesttext</parameter>\n" -" <parameter>digesttype</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to verify a signed digest text.\n" -" </para>\n" -" <example>\n" -" <title><function>verify</function> method usage</title>\n" -" <programlisting>\n" -" plain_text = 'Hello World!'\n" -" print '\tPlain text:', plain_text\n" -" digest = POW.Digest(POW.RIPEMD160_DIGEST)\n" -" digest.update(plain_text)\n" -" print '\tDigest text:', digest.digest()\n" -"\n" -" privateFile = open('test/private.key', 'r')\n" -" privateKey = POW.pemRead(POW.RSA_PRIVATE_KEY, privateFile.read(), 'pass')\n" -" privateFile.close()\n" -" signed_text = privateKey.sign(digest.digest(), POW.RIPEMD160_DIGEST)\n" -" print '\tSigned text:', signed_text\n" -"\n" -" digest2 = POW.Digest(POW.RIPEMD160_DIGEST)\n" -" digest2.update(plain_text)\n" -" publicFile = open('test/public.key', 'r')\n" -" publicKey = POW.pemRead(POW.RSA_PUBLIC_KEY, publicFile.read())\n" -" publicFile.close()\n" -" if publicKey.verify(signed_text, digest2.digest(), POW.RIPEMD160_DIGEST):\n" -" print 'Signing verified!'\n" -" else:\n" -" print 'Signing gone wrong!'\n" -" </programlisting>\n" -" </example>\n" -" <para>\n" -" The parameter <parameter>signedtext</parameter> should be a\n" -" signed digest text. This instance of\n" -" <classname>Asymmetric</classname> should correspond to the private\n" -" key used to sign the digest. The parameter\n" -" <parameter>digesttext</parameter> should be a digest of the same\n" -" data used to produce the <parameter>signedtext</parameter> and\n" -" finally <parameter>digesttype</parameter> should be one of the\n" -" following:\n" -" </para>\n" -" <simplelist>\n" -#ifndef OPENSSL_NO_MD2 -" <member><constant>MD2_DIGEST</constant></member>\n" -#endif -" <member><constant>MD5_DIGEST</constant></member>\n" -" <member><constant>SHA_DIGEST</constant></member>\n" -" <member><constant>SHA1_DIGEST</constant></member>\n" -" <member><constant>RIPEMD160_DIGEST</constant></member>\n" -" <member><constant>SHA256_DIGEST</constant></member>\n" -" <member><constant>SHA384_DIGEST</constant></member>\n" -" <member><constant>SHA512_DIGEST</constant></member>\n" -" </simplelist>\n" -" <para>\n" -" If the procedure was successful, 1 is returned, otherwise 0 is\n" -" returned.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -asymmetric_object_verify(asymmetric_object *self, PyObject *args) -{ - unsigned char *digest_text = NULL, *signed_text = NULL; - int digest_len = 0, digest_type = 0, digest_nid = 0, signed_len = 0; - - if (!PyArg_ParseTuple(args, "s#s#i", &signed_text, &signed_len, &digest_text, &digest_len, &digest_type)) - goto error; - - switch (digest_type) { -#ifndef OPENSSL_NO_MD2 - case MD2_DIGEST: - digest_len = MD2_DIGEST_LENGTH; - digest_nid = NID_md2; - break; -#endif - case MD5_DIGEST: - digest_len = MD5_DIGEST_LENGTH; - digest_nid = NID_md5; - break; - case SHA_DIGEST: - digest_len = SHA_DIGEST_LENGTH; - digest_nid = NID_sha; - break; - case SHA1_DIGEST: - digest_len = SHA_DIGEST_LENGTH; - digest_nid = NID_sha1; - break; - case RIPEMD160_DIGEST: - digest_len = RIPEMD160_DIGEST_LENGTH; - digest_nid = NID_ripemd160; - break; - case SHA256_DIGEST: - digest_len = SHA256_DIGEST_LENGTH; - digest_nid = NID_sha256; - break; - case SHA384_DIGEST: - digest_len = SHA384_DIGEST_LENGTH; - digest_nid = NID_sha384; - break; - case SHA512_DIGEST: - digest_len = SHA512_DIGEST_LENGTH; - digest_nid = NID_sha512; - break; - default: - lose("unsupported digest"); - } - - return PyBool_FromLong(RSA_verify(digest_nid, digest_text, digest_len, signed_text, signed_len, self->cipher)); - - error: - - return NULL; -} - -static struct PyMethodDef asymmetric_object_methods[] = { - {"pemWrite", (PyCFunction)asymmetric_object_pem_write, METH_VARARGS, NULL}, - {"derWrite", (PyCFunction)asymmetric_object_der_write, METH_VARARGS, NULL}, - {"publicEncrypt", (PyCFunction)asymmetric_object_public_encrypt, METH_VARARGS, NULL}, - {"privateEncrypt", (PyCFunction)asymmetric_object_private_encrypt, METH_VARARGS, NULL}, - {"privateDecrypt", (PyCFunction)asymmetric_object_private_decrypt, METH_VARARGS, NULL}, - {"publicDecrypt", (PyCFunction)asymmetric_object_public_decrypt, METH_VARARGS, NULL}, - {"sign", (PyCFunction)asymmetric_object_sign, METH_VARARGS, NULL}, - {"verify", (PyCFunction)asymmetric_object_verify, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -asymmetric_object_getattr(asymmetric_object *self, char *name) -{ - return Py_FindMethod(asymmetric_object_methods, (PyObject *)self, name); -} - -static void -asymmetric_object_dealloc(asymmetric_object *self, char *name) -{ - switch(self->cipher_type) { - case RSA_CIPHER: - RSA_free(self->cipher); - break; - } - PyObject_Del(self); -} - -static char asymmetrictype__doc__[] = -"<class>\n" -" <header>\n" -" <name>Asymmetric</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides access to RSA asymmetric ciphers in OpenSSL.\n" -" Other ciphers will probably be supported in the future but this is\n" -" not a priority.\n" -" </para>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject asymmetrictype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "Asymmetric", /*tp_name*/ - sizeof(asymmetric_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)asymmetric_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)asymmetric_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - asymmetrictype__doc__ /* Documentation string */ -}; -/*========== asymmetric Code ==========*/ - -/*========== symmetric Code ==========*/ -static symmetric_object * -symmetric_object_new(int cipher_type) -{ - symmetric_object *self = NULL; - - if ((self = PyObject_New(symmetric_object, &symmetrictype)) == NULL) - goto error; - - self->cipher_type = cipher_type; - EVP_CIPHER_CTX_init(&self->cipher_ctx); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static char symmetric_object_encrypt_init__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Symmetric</memberof>\n" -" <name>encryptInit</name>\n" -" <parameter>key</parameter>\n" -" <parameter>initialvalue = ''</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets up the cipher object to start encrypting a stream\n" -" of data. The first parameter is the key used to encrypt the\n" -" data. The second, the <parameter>initialvalue</parameter> serves\n" -" a similar purpose the the salt supplied to the Unix\n" -" <function>crypt</function> function.\n" -" The <parameter>initialvalue</parameter> is normally chosen at random and\n" -" often transmitted with the encrypted data, its purpose is to prevent\n" -" two identical plain texts resulting in two identical cipher texts.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -symmetric_object_encrypt_init(symmetric_object *self, PyObject *args) -{ - unsigned char *key = NULL, *iv = NULL, nulliv [] = ""; - const EVP_CIPHER *cipher = NULL; - - if (!PyArg_ParseTuple(args, "s|s", &key, &iv)) - goto error; - - if (!iv) - iv = nulliv; - - if ((cipher = evp_cipher_factory(self->cipher_type)) == NULL) - lose("unsupported cipher"); - - if (!EVP_EncryptInit(&self->cipher_ctx, cipher, key, iv)) - lose("could not initialise cipher"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char symmetric_object_decrypt_init__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Symmetric</memberof>\n" -" <name>decryptInit</name>\n" -" <parameter>key</parameter>\n" -" <parameter>initialvalue = ''</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method sets up the cipher object to start decrypting a stream\n" -" of data. The first value must be the key used to encrypt the\n" -" data. The second parameter is the <parameter>initialvalue</parameter>\n" -" used to encrypt the data.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -symmetric_object_decrypt_init(symmetric_object *self, PyObject *args) -{ - unsigned char *key = NULL, *iv = NULL, nulliv [] = ""; - const EVP_CIPHER *cipher = NULL; - - if (!PyArg_ParseTuple(args, "s|s", &key, &iv)) - goto error; - - if (!iv) - iv = nulliv; - - if ((cipher = evp_cipher_factory(self->cipher_type)) == NULL) - lose("unsupported cipher"); - - if (!EVP_DecryptInit(&self->cipher_ctx, cipher, key, iv)) - lose("could not initialise cipher"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char symmetric_object_update__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Symmetric</memberof>\n" -" <name>update</name>\n" -" <parameter>data</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method is used to process the bulk of data being encrypted\n" -" or decrypted by the cipher object. <parameter>data</parameter>\n" -" should be a string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -symmetric_object_update(symmetric_object *self, PyObject *args) -{ - int inl = 0, outl = 0; - unsigned char *in = NULL, *out = NULL; - PyObject *py_out = NULL; - - if (!PyArg_ParseTuple(args, "s#", &in, &inl)) - goto error; - - if ((out = malloc(inl + EVP_CIPHER_CTX_block_size(&self->cipher_ctx))) == NULL) - lose("could not allocate memory"); - - if (!EVP_CipherUpdate(&self->cipher_ctx, out, &outl, in, inl)) - lose("could not update cipher"); - - if ((py_out = Py_BuildValue("s#", out, outl)) == NULL) - lose("could not allocate memory"); - - free(out); - return py_out; - - error: - - if (out) - free(out); - - return NULL; -} - -static char symmetric_object_final__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Symmetric</memberof>\n" -" <name>final</name>\n" -" <parameter>size = 1024</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" Most ciphers are block ciphers, that is they encrypt or decrypt a block of\n" -" data at a time. Often the data being processed will not fill an\n" -" entire block, this method processes these half-empty blocks. A\n" -" string is returned of a maximum length <parameter>size</parameter>.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -symmetric_object_final(symmetric_object *self, PyObject *args) -{ - int outl = 0, size = 1024; - unsigned char *out = NULL; - PyObject *py_out = NULL; - - if (!PyArg_ParseTuple(args, "|i", &size)) - goto error; - - if ((out = malloc(size + EVP_CIPHER_CTX_block_size(&self->cipher_ctx))) == NULL) - lose("could not allocate memory"); - - if (!EVP_CipherFinal(&self->cipher_ctx, out, &outl)) - lose("could not update cipher"); - - if ((py_out = Py_BuildValue("s#", out, outl)) == NULL) - lose("could not allocate memory"); - - free(out); - return py_out; - - error: - - if (out) - free(out); - - return NULL; -} - -static struct PyMethodDef symmetric_object_methods[] = { - {"encryptInit", (PyCFunction)symmetric_object_encrypt_init, METH_VARARGS, NULL}, - {"decryptInit", (PyCFunction)symmetric_object_decrypt_init, METH_VARARGS, NULL}, - {"update", (PyCFunction)symmetric_object_update, METH_VARARGS, NULL}, - {"final", (PyCFunction)symmetric_object_final, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -symmetric_object_getattr(symmetric_object *self, char *name) -{ - return Py_FindMethod(symmetric_object_methods, (PyObject *)self, name); -} - -static void -symmetric_object_dealloc(symmetric_object *self, char *name) -{ - PyObject_Del(self); -} - -static char symmetrictype__doc__[] = -"<class>\n" -" <header>\n" -" <name>Symmetric</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides access to all the symmetric ciphers in OpenSSL.\n" -" Initialisation of the cipher structures is performed late, only\n" -" when <function>encryptInit</function> or\n" -" <function>decryptInit</function> is called, the\n" -" constructor only records the cipher type. It is possible to reuse\n" -" the <classname>Symmetric</classname> objects by calling\n" -" <function>encryptInit</function> or <function>decryptInit</function>\n" -" again.\n" -" </para>\n" -" <example>\n" -" <title><classname>Symmetric</classname> class usage</title>\n" -" <programlisting>\n" -" passphrase = 'my silly passphrase'\n" -" md5 = POW.Digest(POW.MD5_DIGEST)\n" -" md5.update(passphrase)\n" -" password = md5.digest()[:8]\n" -"\n" -" plaintext = 'cast test message'\n" -" cast = POW.Symmetric(POW.CAST5_CFB)\n" -" cast.encryptInit(password)\n" -" ciphertext = cast.update(plaintext) + cast.final()\n" -" print 'Cipher text:', ciphertext\n" -"\n" -" cast.decryptInit(password)\n" -" out = cast.update(ciphertext) + cast.final()\n" -" print 'Deciphered text:', out\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject symmetrictype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "Symmetric", /*tp_name*/ - sizeof(symmetric_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)symmetric_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)symmetric_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - symmetrictype__doc__ /* Documentation string */ -}; -/*========== symmetric Code ==========*/ - -/*========== digest Code ==========*/ -static digest_object * -digest_object_new(int digest_type) -{ - digest_object *self = NULL; - - if ((self = PyObject_New(digest_object, &digesttype)) == NULL) - goto error; - - switch(digest_type) { -#ifndef OPENSSL_NO_MD2 - case MD2_DIGEST: - self->digest_type = MD2_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_md2()); - break; -#endif - case MD5_DIGEST: - self->digest_type = MD5_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_md5()); - break; - case SHA_DIGEST: - self->digest_type = SHA_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_sha()); - break; - case SHA1_DIGEST: - self->digest_type = SHA1_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_sha1()); - break; - case RIPEMD160_DIGEST: - self->digest_type = RIPEMD160_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_ripemd160()); - break; - case SHA256_DIGEST: - self->digest_type = SHA256_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_sha256()); - break; - case SHA384_DIGEST: - self->digest_type = SHA384_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_sha384()); - break; - case SHA512_DIGEST: - self->digest_type = SHA512_DIGEST; - EVP_DigestInit(&self->digest_ctx, EVP_sha512()); - break; - default: - lose("unsupported digest"); - } - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static char digest_object_update__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Digest</memberof>\n" -" <name>update</name>\n" -" <parameter>data</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method updates the internal structures of the\n" -" <classname>Digest</classname> object with <parameter>data</parameter>.\n" -" <parameter>data</parameter> should be a string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -digest_object_update(digest_object *self, PyObject *args) -{ - char *data = NULL; - int len = 0; - - if (!PyArg_ParseTuple(args, "s#", &data, &len)) - goto error; - - EVP_DigestUpdate(&self->digest_ctx, data, len); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char digest_object_copy__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Digest</memberof>\n" -" <name>copy</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a copy of the <classname>Digest</classname>\n" -" object.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -digest_object_copy(digest_object *self, PyObject *args) -{ - digest_object *new = NULL; - - if ((new = PyObject_New(digest_object, &digesttype)) == NULL) - lose("could not allocate memory"); - - new->digest_type = self->digest_type; - if (!EVP_MD_CTX_copy(&new->digest_ctx, &self->digest_ctx)) - lose("could not copy digest"); - - return (PyObject*)new; - - error: - - Py_XDECREF(new); - return NULL; -} - -static char digest_object_digest__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Digest</memberof>\n" -" <name>digest</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the digest of all the data which has been\n" -" processed. This function can be called at any time and will not\n" -" effect the internal structure of the <classname>digest</classname>\n" -" object.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -digest_object_digest(digest_object *self, PyObject *args) -{ - unsigned char digest_text[EVP_MAX_MD_SIZE]; - void *md_copy = NULL; - unsigned digest_len = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((md_copy = malloc(sizeof(EVP_MD_CTX))) == NULL) - lose("could not allocate memory"); - - if (!EVP_MD_CTX_copy(md_copy, &self->digest_ctx)) - lose("could not copy digest"); - - EVP_DigestFinal(md_copy, digest_text, &digest_len); - - free(md_copy); - - return Py_BuildValue("s#", digest_text, digest_len); - - error: - - if (md_copy) - free(md_copy); - - return NULL; -} - -static struct PyMethodDef digest_object_methods[] = { - {"update", (PyCFunction)digest_object_update, METH_VARARGS, NULL}, - {"digest", (PyCFunction)digest_object_digest, METH_VARARGS, NULL}, - {"copy", (PyCFunction)digest_object_copy, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -digest_object_getattr(digest_object *self, char *name) -{ - return Py_FindMethod(digest_object_methods, (PyObject *)self, name); -} - -static void -digest_object_dealloc(digest_object *self, char *name) -{ - EVP_MD_CTX_cleanup(&self->digest_ctx); - PyObject_Del(self); -} - -static char digesttype__doc__[] = -"<class>\n" -" <header>\n" -" <name>Digest</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides access to the digest functionality of OpenSSL.\n" -" It emulates the digest modules in the Python Standard Library but\n" -" does not currently support the <function>hexdigest</function>\n" -" function.\n" -" </para>\n" -" <example>\n" -" <title><classname>digest</classname> class usage</title>\n" -" <programlisting>\n" -" plain_text = 'Hello World!'\n" -" sha1 = POW.Digest(POW.SHA1_DIGEST)\n" -" sha1.update(plain_text)\n" -" print '\tPlain text: Hello World! =>', sha1.digest()\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject digesttype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "Digest", /*tp_name*/ - sizeof(digest_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)digest_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)digest_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - digesttype__doc__ /* Documentation string */ -}; -/*========== digest Code ==========*/ - -/*========== hmac Code ==========*/ -static hmac_object * -hmac_object_new(int digest_type, char *key, int key_len) -{ - hmac_object *self = NULL; - const EVP_MD *md = NULL; - - if ((self = PyObject_New(hmac_object, &hmactype)) == NULL) - goto error; - - switch (digest_type) { -#ifndef OPENSSL_NO_MD2 - case MD2_DIGEST: - md = EVP_md2(); - break; -#endif - case MD5_DIGEST: - md = EVP_md5(); - break; - case SHA_DIGEST: - md = EVP_sha(); - break; - case SHA1_DIGEST: - md = EVP_sha1(); - break; - case RIPEMD160_DIGEST: - md = EVP_ripemd160(); - break; - case SHA256_DIGEST: - md = EVP_sha256(); - break; - case SHA384_DIGEST: - md = EVP_sha384(); - break; - case SHA512_DIGEST: - md = EVP_sha512(); - break; - default: - lose("unsupported digest"); - } - - HMAC_Init(&self->hmac_ctx, key, key_len, md); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static char hmac_object_update__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Hmac</memberof>\n" -" <name>update</name>\n" -" <parameter>data</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method updates the internal structures of the\n" -" <classname>Hmac</classname> object with <parameter>data</parameter>.\n" -" <parameter>data</parameter> should be a string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -hmac_object_update(hmac_object *self, PyObject *args) -{ - unsigned char *data = NULL; - int len = 0; - - if (!PyArg_ParseTuple(args, "s#", &data, &len)) - goto error; - - HMAC_Update(&self->hmac_ctx, data, len); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char hmac_object_copy__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Hmac</memberof>\n" -" <name>copy</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a copy of the <classname>Hmac</classname>\n" -" object.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -hmac_object_copy(hmac_object *self, PyObject *args) -{ - hmac_object *new = NULL; - - if ((new = PyObject_New(hmac_object, &hmactype)) == NULL) - lose("could not allocate memory"); - - memcpy(&new->hmac_ctx, &self->hmac_ctx, sizeof(HMAC_CTX)); - - return (PyObject*) new; - - error: - - Py_XDECREF(new); - return NULL; -} - -static char hmac_object_mac__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>Hmac</memberof>\n" -" <name>mac</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the MAC of all the data which has been\n" -" processed. This function can be called at any time and will not\n" -" effect the internal structure of the <classname>Hmac</classname>\n" -" object.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -hmac_object_mac(hmac_object *self, PyObject *args) -{ - unsigned char hmac_text[EVP_MAX_MD_SIZE]; - void *hmac_copy = NULL; - unsigned int hmac_len = 0; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((hmac_copy = malloc(sizeof(HMAC_CTX))) == NULL) - lose("could not allocate memory"); - - memcpy(hmac_copy, &self->hmac_ctx, sizeof(HMAC_CTX)); - HMAC_Final(hmac_copy, hmac_text, &hmac_len); - - free(hmac_copy); - return Py_BuildValue("s#", hmac_text, hmac_len); - - error: - - if (hmac_copy) - free(hmac_copy); - - return NULL; -} - - -static struct PyMethodDef hmac_object_methods[] = { - {"update", (PyCFunction)hmac_object_update, METH_VARARGS, NULL}, - {"mac", (PyCFunction)hmac_object_mac, METH_VARARGS, NULL}, - {"copy", (PyCFunction)hmac_object_copy, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -hmac_object_getattr(hmac_object *self, char *name) -{ - return Py_FindMethod(hmac_object_methods, (PyObject *)self, name); -} - -static void -hmac_object_dealloc(hmac_object *self, char *name) -{ - PyObject_Del(self); -} - -static char hmactype__doc__[] = -"<class>\n" -" <header>\n" -" <name>Hmac</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides access to the HMAC functionality of OpenSSL.\n" -" HMAC's are a variant on digest based MACs, which have the\n" -" interesting property of a provable level of security. HMAC is\n" -" discussed further in RFC 2104.\n" -" </para>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject hmactype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "Hmac", /*tp_name*/ - sizeof(hmac_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)hmac_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)hmac_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - hmactype__doc__ /* Documentation string */ -}; -/*========== hmac Code ==========*/ - -/*========== CMS code ==========*/ -static cms_object * -CMS_object_new(void) -{ - cms_object *self; - - if ((self = PyObject_New(cms_object, &cmstype)) == NULL) - goto error; - - self->cms = NULL; - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static cms_object * -CMS_object_pem_read(BIO *in) -{ - cms_object *self; - - if ((self = PyObject_New(cms_object, &cmstype)) == NULL) - goto error; - - if ((self->cms = PEM_read_bio_CMS(in, NULL, NULL, NULL)) == NULL) - lose("could not load PEM encoded CMS message"); - - return self; - - error: - - Py_XDECREF(self); - return NULL; -} - -static cms_object * -CMS_object_der_read(char *src, int len) -{ - cms_object *self; - BIO *bio = NULL; - - if ((self = PyObject_New(cms_object, &cmstype)) == NULL) - goto error; - - self->cms = CMS_ContentInfo_new(); - - if ((bio = BIO_new_mem_buf(src, len)) == NULL) - goto error; - - if (!d2i_CMS_bio(bio, &self->cms)) - lose("could not load DER encoded CMS message"); - - BIO_free(bio); - - return self; - - error: - - if (bio) - BIO_free(bio); - - Py_XDECREF(self); - return NULL; -} - -static PyObject * -CMS_object_write_helper(cms_object *self, PyObject *args, int format) -{ - int len = 0; - char *buf = NULL; - BIO *out_bio = NULL; - PyObject *cert = NULL; - - if (!PyArg_ParseTuple(args, "")) - return NULL; - - out_bio = BIO_new(BIO_s_mem()); - - switch (format) { - - case DER_FORMAT: - if (!i2d_CMS_bio(out_bio, self->cms)) - lose("unable to write certificate"); - break; - - case PEM_FORMAT: - if (!PEM_write_bio_CMS(out_bio, self->cms)) - lose("unable to write certificate"); - break; - - default: - lose("internal error, unknown output format"); - } - - if ((len = BIO_ctrl_pending(out_bio)) == 0) - lose("unable to get bytes stored in bio"); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - if (BIO_read(out_bio, buf, len) != len) - lose("unable to write out cert"); - - cert = Py_BuildValue("s#", buf, len); - - BIO_free(out_bio); - free(buf); - return cert; - - error: - - if (out_bio) - BIO_free(out_bio); - - if (buf) - free(buf); - - Py_XDECREF(cert); - return NULL; -} - -static char CMS_object_pem_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>pemWrite</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a PEM encoded CMS message as a\n" -" string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_pem_write(cms_object *self, PyObject *args) -{ - return CMS_object_write_helper(self, args, PEM_FORMAT); -} - -static char CMS_object_der_write__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>derWrite</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a DER encoded CMS message as a\n" -" string.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_der_write(cms_object *self, PyObject *args) -{ - return CMS_object_write_helper(self, args, DER_FORMAT); -} - -static char CMS_object_sign__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>sign</name>\n" -" <parameter>signcert</parameter>\n" -" <parameter>key</parameter>\n" -" <parameter>data</parameter>\n" -" <optional>\n" -" <parameter>certs</parameter>\n" -" <parameter>crls</parameter>\n" -" <parameter>eContentType</parameter>\n" -" <parameter>flags</parameter>\n" -" </optional>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method signs a message with a private key.\n" -" Supported flags: CMS_NOCERTS, CMS_NOATTR.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_sign(cms_object *self, PyObject *args) -{ - asymmetric_object *signkey = NULL; - x509_object *signcert = NULL; - x509_crl_object *crlobj = NULL; - PyObject *x509_sequence = Py_None, *crl_sequence = Py_None, *result = NULL; - STACK_OF(X509) *x509_stack = NULL; - EVP_PKEY *pkey = NULL; - char *buf = NULL, *oid = NULL; - int i, n, len; - unsigned flags = 0; - BIO *bio = NULL; - CMS_ContentInfo *cms = NULL; - ASN1_OBJECT *econtent_type = NULL; - - if (!PyArg_ParseTuple(args, "O!O!s#|OOsI", - &x509type, &signcert, - &asymmetrictype, &signkey, - &buf, &len, - &x509_sequence, - &crl_sequence, - &oid, - &flags)) - goto error; - - assert_no_unhandled_openssl_errors(); - - flags &= CMS_NOCERTS | CMS_NOATTR; - flags |= CMS_BINARY | CMS_NOSMIMECAP | CMS_PARTIAL | CMS_USE_KEYID; - - if (signkey->key_type != RSA_PRIVATE_KEY) - lose("unsupported key type"); - - if ((x509_stack = x509_helper_sequence_to_stack(x509_sequence)) == NULL) - goto error; - - assert_no_unhandled_openssl_errors(); - - if ((pkey = EVP_PKEY_new()) == NULL) - lose_openssl_error("Could not allocate memory"); - - assert_no_unhandled_openssl_errors(); - - if (!EVP_PKEY_assign_RSA(pkey, signkey->cipher)) - lose_openssl_error("EVP_PKEY assignment error"); - - assert_no_unhandled_openssl_errors(); - - if ((bio = BIO_new_mem_buf(buf, len)) == NULL) - goto error; - - assert_no_unhandled_openssl_errors(); - - if (oid && (econtent_type = OBJ_txt2obj(oid, 0)) == NULL) - lose_openssl_error("Could not parse OID"); - - assert_no_unhandled_openssl_errors(); - - if ((cms = CMS_sign(NULL, NULL, x509_stack, bio, flags)) == NULL) - lose_openssl_error("Could not create CMS message"); - - assert_no_unhandled_openssl_errors(); - - if (econtent_type) - CMS_set1_eContentType(cms, econtent_type); - - assert_no_unhandled_openssl_errors(); - - if (!CMS_add1_signer(cms, signcert->x509, pkey, EVP_sha256(), flags)) - lose_openssl_error("Could not sign CMS message"); - - pkey = NULL; /* CMS_add1_signer() now owns pkey */ - - assert_no_unhandled_openssl_errors(); - - if (crl_sequence != Py_None) { - - if (!PyTuple_Check(crl_sequence) && !PyList_Check(crl_sequence)) - lose_type_error("inapropriate type"); - - n = PySequence_Size(crl_sequence); - - for (i = 0; i < n; i++) { - - if ((crlobj = (x509_crl_object *) PySequence_GetItem(crl_sequence, i)) == NULL) - goto error; - - if (!X_X509_crl_Check(crlobj)) - lose_type_error("inappropriate type"); - - if (!crlobj->crl) - lose("CRL object with null crl field!"); - - if (!CMS_add1_crl(cms, crlobj->crl)) - lose_openssl_error("Could not add CRL to CMS"); - - assert_no_unhandled_openssl_errors(); - - Py_XDECREF(crlobj); - crlobj = NULL; - } - } - - if (!CMS_final(cms, bio, NULL, flags)) - lose_openssl_error("Could not finalize CMS signatures"); - - assert_no_unhandled_openssl_errors(); - - if (self->cms) - CMS_ContentInfo_free(self->cms); - self->cms = cms; - cms = NULL; - - result = Py_BuildValue(""); - - error: /* fall through */ - - assert_no_unhandled_openssl_errors(); - - if (cms) - CMS_ContentInfo_free(cms); - - if (bio) - BIO_free(bio); - - if (x509_stack) - sk_X509_free(x509_stack); - - if (pkey) - EVP_PKEY_free(pkey); - - if (econtent_type) - ASN1_OBJECT_free(econtent_type); - - if (crlobj) { - Py_XDECREF(crlobj); - } - - return result; -} - -static char CMS_object_verify__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>verify</name>\n" -" <parameter>store</parameter>\n" -" <optional>\n" -" <parameter>certs</parameter>\n" -" <parameter>flags</parameter>\n" -" </optional>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method verifies a message against a trusted store.\n" -" The optional certs parameter is a set of certificates to search\n" -" for the signer's certificate.\n" -" Supported flags: CMS_NOINTERN, CMS_NOCRL,\n" -" CMS_NO_SIGNER_CERT_VERIFY, CMS_NO_ATTR_VERIFY,\n" -" CMS_NO_CONTENT_VERIFY.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_verify(cms_object *self, PyObject *args) -{ - x509_store_object *store = NULL; - PyObject *result = NULL, *certs_sequence = Py_None; - STACK_OF(X509) *certs_stack = NULL; - unsigned flags = 0; - char *buf = NULL; - BIO *bio = NULL; - int len; - - if (!PyArg_ParseTuple(args, "O!|OI", &x509_storetype, &store, &certs_sequence, &flags)) - goto error; - - if ((bio = BIO_new(BIO_s_mem())) == NULL) - goto error; - - assert_no_unhandled_openssl_errors(); - - flags &= CMS_NOINTERN | CMS_NOCRL | CMS_NO_SIGNER_CERT_VERIFY | CMS_NO_ATTR_VERIFY | CMS_NO_CONTENT_VERIFY; - - if (certs_sequence != Py_None && (certs_stack = x509_helper_sequence_to_stack(certs_sequence)) == NULL) - goto error; - - assert_no_unhandled_openssl_errors(); - - if (CMS_verify(self->cms, certs_stack, store->store, NULL, bio, flags) <= 0) - lose_openssl_error("Could not verify CMS message"); - - assert_no_unhandled_openssl_errors(); - - if ((len = BIO_ctrl_pending(bio)) == 0) - lose("unable to get bytes stored in bio"); - - assert_no_unhandled_openssl_errors(); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - assert_no_unhandled_openssl_errors(); - - if (BIO_read(bio, buf, len) != len) - lose("unable to write out CMS content"); - - assert_no_unhandled_openssl_errors(); - - result = Py_BuildValue("s#", buf, len); - - error: /* fall through */ - - assert_no_unhandled_openssl_errors(); - - if (certs_stack) - sk_X509_free(certs_stack); - - if (bio) - BIO_free(bio); - - if (buf) - free(buf); - - return result; -} - -static char CMS_object_eContentType__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>get_eContentType</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the eContentType of a CMS message.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_eContentType(cms_object *self, PyObject *args) -{ - const ASN1_OBJECT *oid = NULL; - PyObject *result = NULL; - char buf[512]; - - if (!PyArg_ParseTuple(args, "")) - return NULL; - - if ((oid = CMS_get0_eContentType(self->cms)) == NULL) - lose_openssl_error("Could not extract eContentType from CMS message"); - - OBJ_obj2txt(buf, sizeof(buf), oid, 1); - - result = Py_BuildValue("s", buf); - - error: - - assert_no_unhandled_openssl_errors(); - - return result; -} - -static char CMS_object_signingTime__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>get_signingTime</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns the signingTime of a CMS message.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_signingTime(cms_object *self, PyObject *args) -{ - PyObject *result = NULL; - STACK_OF(CMS_SignerInfo) *sis = NULL; - CMS_SignerInfo *si = NULL; - X509_ATTRIBUTE *xa = NULL; - ASN1_TYPE *so = NULL; - int i; - - if (!PyArg_ParseTuple(args, "")) - return NULL; - - if ((sis = CMS_get0_SignerInfos(self->cms)) == NULL) - lose("Could not extract signerInfos from CMS message[1]"); - - if (sk_CMS_SignerInfo_num(sis) != 1) - lose("Could not extract signerInfos from CMS message[2]"); - - si = sk_CMS_SignerInfo_value(sis, 0); - - if ((i = CMS_signed_get_attr_by_NID(si, NID_pkcs9_signingTime, -1)) < 0) - lose("Could not extract signerInfos from CMS message[3]"); - - if ((xa = CMS_signed_get_attr(si, i)) == NULL) - lose("Could not extract signerInfos from CMS message[4]"); - - if (xa->single) - lose("Could not extract signerInfos from CMS message[5]"); - - if (sk_ASN1_TYPE_num(xa->value.set) != 1) - lose("Could not extract signerInfos from CMS message[6]"); - - if ((so = sk_ASN1_TYPE_value(xa->value.set, 0)) == NULL) - lose("Could not extract signerInfos from CMS message[7]"); - - switch (so->type) { - case V_ASN1_UTCTIME: - result = ASN1_TIME_to_Python(so->value.utctime); - break; - case V_ASN1_GENERALIZEDTIME: - result = ASN1_TIME_to_Python(so->value.generalizedtime); - break; - default: - lose("Could not extract signerInfos from CMS message[8]"); - } - - error: - - assert_no_unhandled_openssl_errors(); - - return result; -} - -static char CMS_object_pprint__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>pprint</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns a formatted string showing the information\n" -" held in the certificate.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_pprint(cms_object *self, PyObject *args) -{ - int len = 0, ret = 0; - char *buf = NULL; - BIO *bio = NULL; - PyObject *result = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - bio = BIO_new(BIO_s_mem()); - - if (!CMS_ContentInfo_print_ctx(bio, self->cms, 0, NULL)) - lose("unable to pprint CMS"); - - if ((len = BIO_ctrl_pending(bio)) == 0) - lose("unable to get bytes stored in bio"); - - if ((buf = malloc(len)) == NULL) - lose("unable to allocate memory"); - - if ((ret = BIO_read(bio, buf, len)) != len) - lose("unable to pprint CMS"); - - result = Py_BuildValue("s#", buf, len); - - error: /* fall through */ - - assert_no_unhandled_openssl_errors(); - - if (bio) - BIO_free(bio); - - if (buf) - free(buf); - - return result; -} - - -static PyObject * -cms_object_helper_get_cert(void *cert) -{ - x509_object *obj = PyObject_New(x509_object, &x509type); - - if (obj) - obj->x509 = cert; - - return (PyObject *) obj; -} - -static char CMS_object_certs__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>certs</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns any certs embedded in a CMS message.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_certs(cms_object *self, PyObject *args) -{ - STACK_OF(X509) *certs = NULL; - PyObject *result = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((certs = CMS_get1_certs(self->cms)) != NULL) - result = stack_to_tuple_helper(CHECKED_PTR_OF(STACK_OF(X509), certs), - cms_object_helper_get_cert); - else if (!ERR_peek_error()) - result = Py_BuildValue("()"); - else - lose_openssl_error("Could not extract certs from CMS message"); - - error: /* fall through */ - - if (certs) - sk_X509_pop_free(certs, X509_free); - - return result; -} - -static PyObject * -cms_object_helper_get_crl(void *crl) -{ - x509_crl_object *obj = PyObject_New(x509_crl_object, &x509_crltype); - - if (obj) - obj->crl = crl; - - return (PyObject *) obj; -} - -static char CMS_object_crls__doc__[] = -"<method>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" <name>crls</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This method returns any CRLs embedded in a CMS message.\n" -" </para>\n" -" </body>\n" -"</method>\n" -; - -static PyObject * -CMS_object_crls(cms_object *self, PyObject *args) -{ - STACK_OF(X509_CRL) *crls = NULL; - PyObject *result = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((crls = CMS_get1_crls(self->cms)) != NULL) - result = stack_to_tuple_helper(CHECKED_PTR_OF(STACK_OF(X509_CRL), crls), - cms_object_helper_get_crl); - else if (!ERR_peek_error()) - result = Py_BuildValue("()"); - else - lose_openssl_error("Could not extract CRLs from CMS message"); - - error: /* fall through */ - - if (crls) - sk_X509_CRL_pop_free(crls, X509_CRL_free); - - return result; -} - -static struct PyMethodDef CMS_object_methods[] = { - {"pemWrite", (PyCFunction)CMS_object_pem_write, METH_VARARGS, NULL}, - {"derWrite", (PyCFunction)CMS_object_der_write, METH_VARARGS, NULL}, - {"sign", (PyCFunction)CMS_object_sign, METH_VARARGS, NULL}, - {"verify", (PyCFunction)CMS_object_verify, METH_VARARGS, NULL}, - {"eContentType", (PyCFunction)CMS_object_eContentType, METH_VARARGS, NULL}, - {"signingTime", (PyCFunction)CMS_object_signingTime, METH_VARARGS, NULL}, - {"pprint", (PyCFunction)CMS_object_pprint, METH_VARARGS, NULL}, - {"certs", (PyCFunction)CMS_object_certs, METH_VARARGS, NULL}, - {"crls", (PyCFunction)CMS_object_crls, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; - -static PyObject * -CMS_object_getattr(cms_object *self, char *name) -{ - return Py_FindMethod(CMS_object_methods, (PyObject *)self, name); -} - -static void -CMS_object_dealloc(cms_object *self, char *name) -{ - CMS_ContentInfo_free(self->cms); - PyObject_Del(self); -} - -static char cmstype__doc__[] = -"<class>\n" -" <header>\n" -" <name>CMS</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This class provides basic access OpenSSL's CMS functionality.\n" -" </para>\n" -" </body>\n" -"</class>\n" -; - -static PyTypeObject cmstype = { - PyObject_HEAD_INIT(0) - 0, /*ob_size*/ - "CMS", /*tp_name*/ - sizeof(cms_object), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor)CMS_object_dealloc, /*tp_dealloc*/ - (printfunc)0, /*tp_print*/ - (getattrfunc)CMS_object_getattr, /*tp_getattr*/ - (setattrfunc)0, /*tp_setattr*/ - (cmpfunc)0, /*tp_compare*/ - (reprfunc)0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - (hashfunc)0, /*tp_hash*/ - (ternaryfunc)0, /*tp_call*/ - (reprfunc)0, /*tp_str*/ - 0, - 0, - 0, - 0, - cmstype__doc__ /* Documentation string */ -}; -/*========== CMS Code ==========*/ - -/*========== module functions ==========*/ -static char pow_module_new_ssl__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>Ssl</memberof>\n" -" <parameter>protocol = SSLV23METHOD</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor creates a new <classname>Ssl</classname> object which will behave as a client\n" -" or server, depending on the <parameter>protocol</parameter> value passed. The\n" -" <parameter>protocol</parameter> also determines the protocol type\n" -" and version and should be one of the following:\n" -" </para>\n" -"\n" -" <simplelist>\n" -" <member><constant>SSLV2_SERVER_METHOD</constant></member>\n" -" <member><constant>SSLV2_CLIENT_METHOD</constant></member>\n" -" <member><constant>SSLV2_METHOD</constant></member>\n" -" <member><constant>SSLV3_SERVER_METHOD</constant></member>\n" -" <member><constant>SSLV3_CLIENT_METHOD</constant></member>\n" -" <member><constant>SSLV3_METHOD</constant></member>\n" -" <member><constant>TLSV1_SERVER_METHOD</constant></member>\n" -" <member><constant>TLSV1_CLIENT_METHOD</constant></member>\n" -" <member><constant>TLSV1_METHOD</constant></member>\n" -" <member><constant>SSLV23_SERVER_METHOD</constant></member>\n" -" <member><constant>SSLV23_CLIENT_METHOD</constant></member>\n" -" <member><constant>SSLV23_METHOD</constant></member>\n" -" </simplelist>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_ssl (PyObject *self, PyObject *args) -{ - ssl_object *ssl = NULL; - int ctxtype = SSLV23_METHOD; - - if (!PyArg_ParseTuple(args, "|i", &ctxtype)) - goto error; - - if ((ssl = newssl_object(ctxtype)) == NULL) - goto error; - - return (PyObject*) ssl; - - error: - - return NULL; -} - -static char pow_module_new_x509__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>X509</memberof>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor creates a skeletal X509 certificate object.\n" -" It won't be any use at all until several structures\n" -" have been created using it's member functions.\n" -" </para>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_x509 (PyObject *self, PyObject *args) -{ - x509_object *x509 = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((x509 = X509_object_new()) == NULL) - lose("could not create new x509 object"); - - return (PyObject*)x509; - - error: - - return NULL; -} - -static char pow_module_new_asymmetric__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>Asymmetric</memberof>\n" -" <parameter>ciphertype = RSA_CIPHER</parameter>\n" -" <parameter>keylength = 1024</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor builds a new cipher object. Only RSA ciphers\n" -" are currently support, so the first argument should always be\n" -" <constant>RSA_CIPHER</constant>. The second argument,\n" -" <parameter>keylength</parameter>,\n" -" is normally 512, 768, 1024 or 2048. Key lengths as short as 512\n" -" bits are generally considered weak, and can be cracked by\n" -" determined attackers without tremendous expense.\n" -" </para>\n" -" <example>\n" -" <title><classname>asymmetric</classname> class usage</title>\n" -" <programlisting>\n" -" privateFile = open('test/private.key', 'w')\n" -" publicFile = open('test/public.key', 'w')\n" -"\n" -" passphrase = 'my silly passphrase'\n" -" md5 = POW.Digest(POW.MD5_DIGEST)\n" -" md5.update(passphrase)\n" -" password = md5.digest()\n" -"\n" -" rsa = POW.Asymmetric(POW.RSA_CIPHER, 1024)\n" -" privateFile.write(rsa.pemWrite(\n" -" POW.RSA_PRIVATE_KEY, POW.DES_EDE3_CFB, password))\n" -" publicFile.write(rsa.pemWrite(POW.RSA_PUBLIC_KEY))\n" -"\n" -" privateFile.close()\n" -" publicFile.close()\n" -" </programlisting>\n" -" </example>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_asymmetric (PyObject *self, PyObject *args) -{ - int cipher_type = RSA_CIPHER, key_size = 1024; - - if (!PyArg_ParseTuple(args, "|ii", &cipher_type, &key_size)) - goto error; - - return (PyObject*) asymmetric_object_new(cipher_type, key_size); - - error: - - return NULL; -} - -static char pow_module_new_digest__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>Digest</memberof>\n" -" <parameter>type</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor creates a new <classname>Digest</classname>\n" -" object. The parameter <parameter>type</parameter> specifies what kind\n" -" of digest to create and should be one of the following:\n" -" </para>\n" -" <simplelist>\n" -#ifndef OPENSSL_NO_MD2 -" <member><constant>MD2_DIGEST</constant></member>\n" -#endif -" <member><constant>MD5_DIGEST</constant></member>\n" -" <member><constant>SHA_DIGEST</constant></member>\n" -" <member><constant>SHA1_DIGEST</constant></member>\n" -" <member><constant>RIPEMD160_DIGEST</constant></member>\n" -" <member><constant>SHA256_DIGEST</constant></member>\n" -" <member><constant>SHA384_DIGEST</constant></member>\n" -" <member><constant>SHA512_DIGEST</constant></member>\n" -" </simplelist>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_digest (PyObject *self, PyObject *args) -{ - int digest_type = 0; - - if (!PyArg_ParseTuple(args, "i", &digest_type)) - goto error; - - return (PyObject*) digest_object_new(digest_type); - - error: - - return NULL; -} - -static char pow_module_new_hmac__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>Hmac</memberof>\n" -" <parameter>type</parameter>\n" -" <parameter>key</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor creates a new <classname>Hmac</classname>\n" -" object. The parameter <parameter>key</parameter> should be a\n" -" string and <parameter>type</parameter> should be one of the following:\n" -" </para>\n" -" <simplelist>\n" -#ifndef OPENSSL_NO_MD2 -" <member><constant>MD2_DIGEST</constant></member>\n" -#endif -" <member><constant>MD5_DIGEST</constant></member>\n" -" <member><constant>SHA_DIGEST</constant></member>\n" -" <member><constant>SHA1_DIGEST</constant></member>\n" -" <member><constant>RIPEMD160_DIGEST</constant></member>\n" -" <member><constant>SHA256_DIGEST</constant></member>\n" -" <member><constant>SHA384_DIGEST</constant></member>\n" -" <member><constant>SHA512_DIGEST</constant></member>\n" -" </simplelist>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_hmac (PyObject *self, PyObject *args) -{ - int digest_type = 0, key_len = 0; - char *key = NULL; - - if (!PyArg_ParseTuple(args, "is#", &digest_type, &key, &key_len)) - goto error; - - return (PyObject*) hmac_object_new(digest_type, key, key_len); - - error: - - return NULL; -} - -static char pow_module_new_cms__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>CMS</memberof>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor creates a skeletal CMS object.\n" -" </para>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_cms (PyObject *self, PyObject *args) -{ - cms_object *cms = NULL; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - if ((cms = CMS_object_new()) == NULL) - lose("could not create new CMS object"); - - return (PyObject*)cms; - - error: - - return NULL; -} - -static char pow_module_pem_read__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>pemRead</name>\n" -" <parameter>type</parameter>\n" -" <parameter>string</parameter>\n" -" <parameter>pass = None</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function attempts to parse the <parameter>string</parameter> according to the PEM\n" -" type passed. <parameter>type</parameter> should be one of the\n" -" following:\n" -" </para>\n" -" <simplelist>\n" -" <member><constant>RSA_PUBLIC_KEY</constant></member>\n" -" <member><constant>RSA_PRIVATE_KEY</constant></member>\n" -" <member><constant>X509_CERTIFICATE</constant></member>\n" -" <member><constant>X509_CRL</constant></member>\n" -" <member><constant>CMS_MESSAGE</constant></member>\n" -" </simplelist>\n" -" <para>\n" -" <parameter>pass</parameter> should only be provided if an encrypted\n" -" <classname>Asymmetric</classname> is being loaded. If the password\n" -" is incorrect an exception will be raised, if no password is provided\n" -" and the PEM file is encrypted the user will be prompted. If this is\n" -" not desirable, always supply a password. The object returned will be\n" -" and instance of <classname>Asymmetric</classname>,\n" -" <classname>X509</classname>, <classname>X509Crl</classname>,\n" -" or <classname>CMS</classname>.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_pem_read (PyObject *self, PyObject *args) -{ - BIO *in = NULL; - PyObject *obj = NULL; - int object_type = 0, len = 0; - char *pass = NULL, *src = NULL; - - if (!PyArg_ParseTuple(args, "is#|s", &object_type, &src, &len, &pass)) - goto error; - - if ((in = BIO_new_mem_buf(src, len)) == NULL) - lose("unable to create new BIO"); - - switch(object_type) { - case RSA_PRIVATE_KEY: - obj = (PyObject*)asymmetric_object_pem_read(object_type, in, pass); - break; - case RSA_PUBLIC_KEY: - obj = (PyObject*)asymmetric_object_pem_read(object_type, in, pass); - break; - case X509_CERTIFICATE: - obj = (PyObject*)X509_object_pem_read(in); - break; - case X_X509_CRL: - obj = (PyObject*)x509_crl_object_pem_read(in); - break; - case CMS_MESSAGE: - obj = (PyObject*)CMS_object_pem_read(in); - break; - default: - lose("unknown pem encoding"); - } - - BIO_free(in); - - if (obj) - return obj; - - error: - - return NULL; -} - - -static char pow_module_der_read__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>derRead</name>\n" -" <parameter>type</parameter>\n" -" <parameter>string</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function attempts to parse the <parameter>string</parameter> according to the PEM\n" -" type passed. <parameter>type</parameter> should be one of the\n" -" following:\n" -" </para>\n" -" <simplelist>\n" -" <member><constant>RSA_PUBLIC_KEY</constant></member>\n" -" <member><constant>RSA_PRIVATE_KEY</constant></member>\n" -" <member><constant>X509_CERTIFICATE</constant></member>\n" -" <member><constant>X509_CRL</constant></member>\n" -" <member><constant>CMS_MESSAGE</constant></member>\n" -" </simplelist>\n" -" <para>\n" -" As with the PEM operations, the object returned will be and instance\n" -" of <classname>Asymmetric</classname>, <classname>X509</classname>,\n" -" <classname>X509Crl</classname>, or <classname>CMS</classname>.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_der_read (PyObject *self, PyObject *args) -{ - PyObject *obj = NULL; - int object_type = 0, len = 0; - unsigned char *src = NULL; - - if (!PyArg_ParseTuple(args, "is#", &object_type, &src, &len)) - goto error; - - switch(object_type) { - case RSA_PRIVATE_KEY: - obj = (PyObject*) asymmetric_object_der_read(object_type, src, len); - break; - case RSA_PUBLIC_KEY: - obj = (PyObject*) asymmetric_object_der_read(object_type, src, len); - break; - case X509_CERTIFICATE: - obj = (PyObject*)X509_object_der_read(src, len); - break; - case X_X509_CRL: - obj = (PyObject*)x509_crl_object_der_read(src, len); - break; - case CMS_MESSAGE: - obj = (PyObject*)CMS_object_der_read((char *) src, len); - break; - default: - lose("unknown der encoding"); - } - - if (obj) - return obj; - - error: - - return NULL; -} - -static char pow_module_new_x509_store__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>X509Store</memberof>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor takes no arguments. The\n" -" <classname>X509Store</classname> returned cannot be used for\n" -" verifying certificates until at least one trusted certificate has been\n" -" added.\n" -" </para>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_x509_store (PyObject *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return (PyObject *) x509_store_object_new(); - - error: - - return NULL; -} - -static char pow_module_new_symmetric__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>Symmetric</memberof>\n" -" <parameter>type</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor creates a new <classname>Symmetric</classname>\n" -" object. The parameter <parameter>type</parameter> specifies which kind\n" -" of cipher to create. <constant>type</constant> should be one of the following:\n" -" </para>\n" -" <simplelist columns = \"2\">\n" -" <member><constant>DES_ECB</constant></member>\n" -" <member><constant>DES_EDE</constant></member>\n" -" <member><constant>DES_EDE3</constant></member>\n" -" <member><constant>DES_CFB</constant></member>\n" -" <member><constant>DES_EDE_CFB</constant></member>\n" -" <member><constant>DES_EDE3_CFB</constant></member>\n" -" <member><constant>DES_OFB</constant></member>\n" -" <member><constant>DES_EDE_OFB</constant></member>\n" -" <member><constant>DES_EDE3_OFB</constant></member>\n" -" <member><constant>DES_CBC</constant></member>\n" -" <member><constant>DES_EDE_CBC</constant></member>\n" -" <member><constant>DES_EDE3_CBC</constant></member>\n" -" <member><constant>DESX_CBC</constant></member>\n" -" <member><constant>RC4</constant></member>\n" -" <member><constant>RC4_40</constant></member>\n" -" <member><constant>IDEA_ECB</constant></member>\n" -" <member><constant>IDEA_CFB</constant></member>\n" -" <member><constant>IDEA_OFB</constant></member>\n" -" <member><constant>IDEA_CBC</constant></member>\n" -" <member><constant>RC2_ECB</constant></member>\n" -" <member><constant>RC2_CBC</constant></member>\n" -" <member><constant>RC2_40_CBC</constant></member>\n" -" <member><constant>RC2_CFB</constant></member>\n" -" <member><constant>RC2_OFB</constant></member>\n" -" <member><constant>BF_ECB</constant></member>\n" -" <member><constant>BF_CBC</constant></member>\n" -" <member><constant>BF_CFB</constant></member>\n" -" <member><constant>BF_OFB</constant></member>\n" -" <member><constant>CAST5_ECB</constant></member>\n" -" <member><constant>CAST5_CBC</constant></member>\n" -" <member><constant>CAST5_CFB</constant></member>\n" -" <member><constant>CAST5_OFB</constant></member>\n" -" <member><constant>RC5_32_12_16_CBC</constant></member>\n" -" <member><constant>RC5_32_12_16_CFB</constant></member>\n" -" <member><constant>RC5_32_12_16_ECB</constant></member>\n" -" <member><constant>RC5_32_12_16_OFB</constant></member>\n" -" </simplelist>\n" -" <para>\n" -" Please note your version of OpenSSL might not have been compiled with\n" -" all the ciphers listed above. If that is the case, which is very\n" -" likely if you are using a stock binary, the unsuported ciphers will not even\n" -" be in the module namespace.\n" -" </para>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_symmetric (PyObject *self, PyObject *args) -{ - int cipher_type = 0; - - if (!PyArg_ParseTuple(args, "i", &cipher_type)) - goto error; - - return (PyObject *) symmetric_object_new(cipher_type); - - error: - - return NULL; -} - -static char pow_module_new_x509_crl__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>x509_crl</memberof>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor builds an empty CRL.\n" -" </para>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_x509_crl (PyObject *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - return (PyObject *) x509_crl_object_new(); - - error: - - return NULL; -} - -static char pow_module_new_x509_revoked__doc__[] = -"<constructor>\n" -" <header>\n" -" <memberof>X509Revoked</memberof>\n" -" <parameter>serial</parameter>\n" -" <parameter>date</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This constructor builds a X509 Revoked structure. <parameter>serial</parameter>\n" -" should be an integer and <parameter>date</parameter> should be and\n" -" UTCTime string.\n" -" </para>\n" -" </body>\n" -"</constructor>\n" -; - -static PyObject * -pow_module_new_x509_revoked (PyObject *self, PyObject *args) -{ - int serial = -1; - char *date = NULL; - x509_revoked_object *revoke = NULL; - - if (!PyArg_ParseTuple(args, "|is", &serial, &date)) - goto error; - - revoke = x509_revoked_object_new(); - if (serial != -1 && !ASN1_INTEGER_set(revoke->revoked->serialNumber, serial)) - lose("unable to set serial number"); - - if (date != NULL && !python_ASN1_TIME_set_string(revoke->revoked->revocationDate, date)) - lose_type_error("Could not set revocationDate"); - - return (PyObject*) revoke; - - error: - - return NULL; -} - -static char pow_module_add_object__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>addObject</name>\n" -" <parameter>oid</parameter>\n" -" <parameter>shortName</parameter>\n" -" <parameter>longName</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function can be used to dynamically add new objects to\n" -" OpenSSL. The <parameter>oid</parameter> should be a string of space separated numbers\n" -" and <parameter>shortName</parameter> and\n" -" <parameter>longName</parameter> are the names of the object, ie\n" -" 'cn' and 'commonName'.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_add_object(PyObject *self, PyObject *args) -{ - char *oid = NULL, *sn = NULL, *ln = NULL; - - if (!PyArg_ParseTuple(args, "sss", &oid, &sn, &ln)) - goto error; - - if (!OBJ_create(oid, sn, ln)) - lose("unable to add object"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char pow_module_get_error__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>getError</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" Pops an error off the global error stack and returns it as a string.\n" -" Returns None if the global error stack is empty.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_get_error(PyObject *self, PyObject *args) -{ - unsigned long error; - char buf[256]; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - error = ERR_get_error(); - - if (!error) - Py_RETURN_NONE; - - ERR_error_string_n(error, buf, sizeof(buf)); - - return Py_BuildValue("s", buf); - - error: - - return NULL; -} - -static char pow_module_clear_error__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>clearError</name>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" Removes all errors from the global error stack.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_clear_error(PyObject *self, PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - goto error; - - ERR_clear_error(); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char pow_module_seed__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>seed</name>\n" -" <parameter>data</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The <function>seed</function> function adds data to OpenSSLs PRNG\n" -" state. It is often said the hardest part of cryptography is\n" -" getting good random data, after all if you don't have good random\n" -" data, a 1024 bit key is no better than a 512 bit key and neither\n" -" would provide protection from a targeted brute force attack.\n" -" The <function>seed</function> and <function>add</function> are very\n" -" similar, except the entropy of the data is assumed to be equal to\n" -" the length for <function>seed</function>. One final point to be aware\n" -" of, only systems which support /dev/urandom are automatically seeded.\n" -" If your system does not support /dev/urandom it is your responsibility\n" -" to seed OpenSSL's PRNG.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_seed(PyObject *self, PyObject *args) -{ - char *in = NULL; - int inl = 0; - - if (!PyArg_ParseTuple(args, "s#", &in, &inl)) - goto error; - - RAND_seed(in, inl); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char pow_module_add__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>add</name>\n" -" <parameter>data</parameter>\n" -" <parameter>entropy</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" The <function>add</function> function adds data to OpenSSLs PRNG\n" -" state. <parameter>data</parameter> should be data obtained from a\n" -" random source and <parameter>entropy</parameter> is an estimation of the number of random\n" -" bytes in <parameter>data</parameter>.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_add(PyObject *self, PyObject *args) -{ - char *in = NULL; - int inl = 0; - double entropy = 0; - - if (!PyArg_ParseTuple(args, "s#d", &in, &inl, &entropy)) - goto error; - - RAND_add(in, inl, entropy); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char pow_module_write_random_file__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>writeRandomFile</name>\n" -" <parameter>filename</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function writes the current random state to a file. Clearly\n" -" this function should be used in conjunction with\n" -" <function>readRandomFile</function>.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_write_random_file(PyObject *self, PyObject *args) -{ - char *file = NULL; - - if (!PyArg_ParseTuple(args, "s", &file)) - goto error; - - if (RAND_write_file(file) == -1) - lose("could not write random file"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static char pow_module_read_random_file__doc__[] = -"<modulefunction>\n" -" <header>\n" -" <name>readRandomFile</name>\n" -" <parameter>filename</parameter>\n" -" </header>\n" -" <body>\n" -" <para>\n" -" This function reads a previously saved random state. It can be very\n" -" useful to improve the quality of random data used by an application.\n" -" The random data should be added to, using the\n" -" <function>add</function> function, with data from other\n" -" suitable random sources.\n" -" </para>\n" -" </body>\n" -"</modulefunction>\n" -; - -static PyObject * -pow_module_read_random_file(PyObject *self, PyObject *args) -{ - char *file = NULL; - int len = -1; - - if (!PyArg_ParseTuple(args, "s|i", &file, &len)) - goto error; - - if (!RAND_load_file(file, len)) - lose("could not load random file"); - - Py_RETURN_NONE; - - error: - - return NULL; -} - -static PyObject * -pow_module_docset(PyObject *self, PyObject *args) -{ - PyObject *docset; - - if (!PyArg_ParseTuple(args, "")) - goto error; - - docset = PyList_New(0); - - // module documentation - docset_helper_add(docset, pow_module__doc__); - - // constructors - docset_helper_add(docset, pow_module_new_symmetric__doc__); - docset_helper_add(docset, pow_module_new_asymmetric__doc__); - docset_helper_add(docset, pow_module_new_digest__doc__); - docset_helper_add(docset, pow_module_new_hmac__doc__); - docset_helper_add(docset, pow_module_new_ssl__doc__); - docset_helper_add(docset, pow_module_new_x509__doc__); - docset_helper_add(docset, pow_module_new_x509_store__doc__); - docset_helper_add(docset, pow_module_new_x509_crl__doc__); - docset_helper_add(docset, pow_module_new_x509_revoked__doc__); - docset_helper_add(docset, pow_module_new_cms__doc__); - - // functions - docset_helper_add(docset, pow_module_pem_read__doc__); - docset_helper_add(docset, pow_module_der_read__doc__); - docset_helper_add(docset, pow_module_seed__doc__); - docset_helper_add(docset, pow_module_add__doc__); - docset_helper_add(docset, pow_module_read_random_file__doc__); - docset_helper_add(docset, pow_module_write_random_file__doc__); - docset_helper_add(docset, pow_module_get_error__doc__); - docset_helper_add(docset, pow_module_clear_error__doc__); - docset_helper_add(docset, pow_module_add_object__doc__); - - // ssl documentation - docset_helper_add(docset, ssltype__doc__); - docset_helper_add(docset, ssl_object_set_fd__doc__); - docset_helper_add(docset, ssl_object_fileno__doc__); - docset_helper_add(docset, ssl_object_accept__doc__); - docset_helper_add(docset, ssl_object_connect__doc__); - docset_helper_add(docset, ssl_object_write__doc__); - docset_helper_add(docset, ssl_object_read__doc__); - docset_helper_add(docset, ssl_object_peer_certificate__doc__); - docset_helper_add(docset, ssl_object_use_certificate__doc__); - docset_helper_add(docset, ssl_object_use_key__doc__); - docset_helper_add(docset, ssl_object_check_key__doc__); - docset_helper_add(docset, ssl_object_clear__doc__); - docset_helper_add(docset, ssl_object_shutdown__doc__); - docset_helper_add(docset, ssl_object_get_shutdown__doc__); - docset_helper_add(docset, ssl_object_get_ciphers__doc__); - docset_helper_add(docset, ssl_object_set_ciphers__doc__); - docset_helper_add(docset, ssl_object_get_cipher__doc__); - docset_helper_add(docset, ssl_object_set_verify_mode__doc__); - - // x509 documentation - docset_helper_add(docset, x509type__doc__); - docset_helper_add(docset, X509_object_pem_write__doc__); - docset_helper_add(docset, X509_object_der_write__doc__); - docset_helper_add(docset, X509_object_sign__doc__); - docset_helper_add(docset, X509_object_set_public_key__doc__); - docset_helper_add(docset, X509_object_get_version__doc__); - docset_helper_add(docset, X509_object_set_version__doc__); - docset_helper_add(docset, X509_object_get_serial__doc__); - docset_helper_add(docset, X509_object_set_serial__doc__); - docset_helper_add(docset, X509_object_get_issuer__doc__); - docset_helper_add(docset, X509_object_set_issuer__doc__); - docset_helper_add(docset, X509_object_get_subject__doc__); - docset_helper_add(docset, X509_object_set_subject__doc__); - docset_helper_add(docset, X509_object_get_not_before__doc__); - docset_helper_add(docset, X509_object_set_not_before__doc__); - docset_helper_add(docset, X509_object_get_not_after__doc__); - docset_helper_add(docset, X509_object_set_not_after__doc__); - docset_helper_add(docset, X509_object_add_extension__doc__); - docset_helper_add(docset, X509_object_clear_extensions__doc__); - docset_helper_add(docset, X509_object_count_extensions__doc__); - docset_helper_add(docset, X509_object_get_extension__doc__); - docset_helper_add(docset, x509_object_pprint__doc__); - - // x509_crl documentation - docset_helper_add(docset, x509_crltype__doc__); - docset_helper_add(docset, x509_crl_object_pem_write__doc__); - docset_helper_add(docset, x509_crl_object_der_write__doc__); - docset_helper_add(docset, x509_crl_object_get_version__doc__); - docset_helper_add(docset, x509_crl_object_set_version__doc__); - docset_helper_add(docset, x509_crl_object_get_issuer__doc__); - docset_helper_add(docset, x509_crl_object_set_issuer__doc__); - docset_helper_add(docset, x509_crl_object_get_this_update__doc__); - docset_helper_add(docset, x509_crl_object_set_this_update__doc__); - docset_helper_add(docset, x509_crl_object_get_next_update__doc__); - docset_helper_add(docset, x509_crl_object_set_next_update__doc__); - docset_helper_add(docset, x509_crl_object_get_revoked__doc__); - docset_helper_add(docset, x509_crl_object_set_revoked__doc__); - docset_helper_add(docset, x509_crl_object_verify__doc__); - docset_helper_add(docset, x509_crl_object_sign__doc__); - docset_helper_add(docset, X509_crl_object_add_extension__doc__); - docset_helper_add(docset, X509_crl_object_clear_extensions__doc__); - docset_helper_add(docset, X509_crl_object_count_extensions__doc__); - docset_helper_add(docset, X509_crl_object_get_extension__doc__); - docset_helper_add(docset, x509_crl_object_pprint__doc__); - - // x509_revoked documentation - docset_helper_add(docset, x509_revokedtype__doc__); - docset_helper_add(docset, x509_revoked_object_get_date__doc__); - docset_helper_add(docset, x509_revoked_object_set_date__doc__); - docset_helper_add(docset, x509_revoked_object_get_serial__doc__); - docset_helper_add(docset, x509_revoked_object_set_serial__doc__); - docset_helper_add(docset, X509_revoked_object_add_extension__doc__); - docset_helper_add(docset, X509_revoked_object_clear_extensions__doc__); - docset_helper_add(docset, X509_revoked_object_count_extensions__doc__); - docset_helper_add(docset, X509_revoked_object_get_extension__doc__); - - // x509_store documentation - docset_helper_add(docset, x509_storetype__doc__); - docset_helper_add(docset, x509_store_object_verify__doc__); - docset_helper_add(docset, x509_store_object_verify_chain__doc__); - docset_helper_add(docset, x509_store_object_verify_detailed__doc__); - docset_helper_add(docset, x509_store_object_add_trust__doc__); - docset_helper_add(docset, x509_store_object_add_crl__doc__); - - // digest documentation - docset_helper_add(docset, digesttype__doc__); - docset_helper_add(docset, digest_object_update__doc__); - docset_helper_add(docset, digest_object_copy__doc__); - docset_helper_add(docset, digest_object_digest__doc__); - - // hmac documentation - docset_helper_add(docset, hmactype__doc__); - docset_helper_add(docset, hmac_object_update__doc__); - docset_helper_add(docset, hmac_object_copy__doc__); - docset_helper_add(docset, hmac_object_mac__doc__); - - // cms documentation - docset_helper_add(docset, CMS_object_pem_write__doc__); - docset_helper_add(docset, CMS_object_der_write__doc__); - docset_helper_add(docset, CMS_object_sign__doc__); - docset_helper_add(docset, CMS_object_verify__doc__); - docset_helper_add(docset, CMS_object_eContentType__doc__); - docset_helper_add(docset, CMS_object_signingTime__doc__); - docset_helper_add(docset, CMS_object_pprint__doc__); - docset_helper_add(docset, CMS_object_certs__doc__); - docset_helper_add(docset, CMS_object_crls__doc__); - - // symmetric documentation - docset_helper_add(docset, symmetrictype__doc__); - docset_helper_add(docset, symmetric_object_encrypt_init__doc__); - docset_helper_add(docset, symmetric_object_decrypt_init__doc__); - docset_helper_add(docset, symmetric_object_update__doc__); - docset_helper_add(docset, symmetric_object_final__doc__); - - // asymmetric documentation - docset_helper_add(docset, asymmetrictype__doc__); - docset_helper_add(docset, asymmetric_object_pem_write__doc__); - docset_helper_add(docset, asymmetric_object_der_write__doc__); - docset_helper_add(docset, asymmetric_object_public_encrypt__doc__); - docset_helper_add(docset, asymmetric_object_public_decrypt__doc__); - docset_helper_add(docset, asymmetric_object_private_encrypt__doc__); - docset_helper_add(docset, asymmetric_object_private_decrypt__doc__); - docset_helper_add(docset, asymmetric_object_sign__doc__); - docset_helper_add(docset, asymmetric_object_verify__doc__); - - return docset; - - error: - - return NULL; -} - -static struct PyMethodDef pow_module_methods[] = { - {"Ssl", (PyCFunction)pow_module_new_ssl, METH_VARARGS, NULL}, - {"X509", (PyCFunction)pow_module_new_x509, METH_VARARGS, NULL}, - {"pemRead", (PyCFunction)pow_module_pem_read, METH_VARARGS, NULL}, - {"derRead", (PyCFunction)pow_module_der_read, METH_VARARGS, NULL}, - {"Digest", (PyCFunction)pow_module_new_digest, METH_VARARGS, NULL}, - {"Hmac", (PyCFunction)pow_module_new_hmac, METH_VARARGS, NULL}, - {"CMS", (PyCFunction)pow_module_new_cms, METH_VARARGS, NULL}, - {"Asymmetric", (PyCFunction)pow_module_new_asymmetric, METH_VARARGS, NULL}, - {"Symmetric", (PyCFunction)pow_module_new_symmetric, METH_VARARGS, NULL}, - {"X509Store", (PyCFunction)pow_module_new_x509_store, METH_VARARGS, NULL}, - {"X509Crl", (PyCFunction)pow_module_new_x509_crl, METH_VARARGS, NULL}, - {"X509Revoked", (PyCFunction)pow_module_new_x509_revoked, METH_VARARGS, NULL}, - {"getError", (PyCFunction)pow_module_get_error, METH_VARARGS, NULL}, - {"clearError", (PyCFunction)pow_module_clear_error, METH_VARARGS, NULL}, - {"seed", (PyCFunction)pow_module_seed, METH_VARARGS, NULL}, - {"add", (PyCFunction)pow_module_add, METH_VARARGS, NULL}, - {"readRandomFile", (PyCFunction)pow_module_read_random_file, METH_VARARGS, NULL}, - {"writeRandomFile", (PyCFunction)pow_module_write_random_file, METH_VARARGS, NULL}, - {"addObject", (PyCFunction)pow_module_add_object, METH_VARARGS, NULL}, - - {"_docset", (PyCFunction)pow_module_docset, METH_VARARGS, NULL}, - - {NULL} /* sentinel */ -}; -/*========== module functions ==========*/ - - -/*==========================================================================*/ -void -init_POW(void) -{ - PyObject *m; - - x509type.ob_type = &PyType_Type; - x509_storetype.ob_type = &PyType_Type; - x509_crltype.ob_type = &PyType_Type; - x509_revokedtype.ob_type = &PyType_Type; - ssltype.ob_type = &PyType_Type; - asymmetrictype.ob_type = &PyType_Type; - symmetrictype.ob_type = &PyType_Type; - digesttype.ob_type = &PyType_Type; - hmactype.ob_type = &PyType_Type; - cmstype.ob_type = &PyType_Type; - - m = Py_InitModule3("_POW", pow_module_methods, pow_module__doc__); - -#define Define_Exception(__name__, __parent__) \ - PyModule_AddObject(m, #__name__, ((__name__##Object) = PyErr_NewException("POW." #__name__, __parent__, NULL))) - - Define_Exception(Error, NULL); - Define_Exception(SSLError, ErrorObject); - Define_Exception(ZeroReturnError, SSLErrorObject); - Define_Exception(WantReadError, SSLErrorObject); - Define_Exception(WantWriteError, SSLErrorObject); - Define_Exception(SSLSyscallError, SSLErrorObject); - Define_Exception(SSLErrorSSLError, SSLErrorObject); - Define_Exception(SSLSyscallSSLError, SSLErrorObject); - Define_Exception(SSLUnexpectedEOFError,SSLErrorObject); - Define_Exception(SSLOtherError, SSLErrorObject); - -#undef Define_Exception - -#define Define_Integer_Constant(__name__) \ - PyModule_AddIntConstant(m, #__name__, __name__) - - // constants for SSL_get_error() - Define_Integer_Constant(SSL_ERROR_NONE); - Define_Integer_Constant(SSL_ERROR_ZERO_RETURN); - Define_Integer_Constant(SSL_ERROR_WANT_READ); - Define_Integer_Constant(SSL_ERROR_WANT_WRITE); - Define_Integer_Constant(SSL_ERROR_WANT_X509_LOOKUP); - Define_Integer_Constant(SSL_ERROR_SYSCALL); - Define_Integer_Constant(SSL_ERROR_SSL); - Define_Integer_Constant(SSL_ERROR_WANT_CONNECT); - Define_Integer_Constant(SSL_ERROR_WANT_ACCEPT); - - // constants for different types of connection methods - Define_Integer_Constant(SSLV2_SERVER_METHOD); - Define_Integer_Constant(SSLV2_CLIENT_METHOD); - Define_Integer_Constant(SSLV2_METHOD); - Define_Integer_Constant(SSLV3_SERVER_METHOD); - Define_Integer_Constant(SSLV3_CLIENT_METHOD); - Define_Integer_Constant(SSLV3_METHOD); - Define_Integer_Constant(SSLV23_SERVER_METHOD); - Define_Integer_Constant(SSLV23_CLIENT_METHOD); - Define_Integer_Constant(SSLV23_METHOD); - Define_Integer_Constant(TLSV1_SERVER_METHOD); - Define_Integer_Constant(TLSV1_CLIENT_METHOD); - Define_Integer_Constant(TLSV1_METHOD); - - Define_Integer_Constant(SSL_NO_SHUTDOWN); - Define_Integer_Constant(SSL_SENT_SHUTDOWN); - Define_Integer_Constant(SSL_RECEIVED_SHUTDOWN); - - // ssl verification mode - Define_Integer_Constant(SSL_VERIFY_NONE); - Define_Integer_Constant(SSL_VERIFY_PEER); - Define_Integer_Constant(SSL_VERIFY_FAIL_IF_NO_PEER_CERT); - Define_Integer_Constant(SSL_VERIFY_CLIENT_ONCE); - - // object format types - Define_Integer_Constant(LONGNAME_FORMAT); - Define_Integer_Constant(SHORTNAME_FORMAT); - - // PEM encoded types -#ifndef OPENSSL_NO_RSA - Define_Integer_Constant(RSA_PUBLIC_KEY); - Define_Integer_Constant(RSA_PRIVATE_KEY); -#endif -#ifndef OPENSSL_NO_DSA - Define_Integer_Constant(DSA_PUBLIC_KEY); - Define_Integer_Constant(DSA_PRIVATE_KEY); -#endif -#ifndef OPENSSL_NO_DH - Define_Integer_Constant(DH_PUBLIC_KEY); - Define_Integer_Constant(DH_PRIVATE_KEY); -#endif - Define_Integer_Constant(X509_CERTIFICATE); - PyModule_AddIntConstant(m, "X509_CRL", X_X509_CRL); - Define_Integer_Constant(CMS_MESSAGE); - - // asymmetric ciphers -#ifndef OPENSSL_NO_RSA - Define_Integer_Constant(RSA_CIPHER); -#endif -#ifndef OPENSSL_NO_DSA - Define_Integer_Constant(DSA_CIPHER); -#endif -#ifndef OPENSSL_NO_DH - Define_Integer_Constant(DH_CIPHER); -#endif - - // symmetric ciphers -#ifndef OPENSSL_NO_DES - Define_Integer_Constant(DES_ECB); - Define_Integer_Constant(DES_EDE); - Define_Integer_Constant(DES_EDE3); - Define_Integer_Constant(DES_CFB); - Define_Integer_Constant(DES_EDE_CFB); - Define_Integer_Constant(DES_EDE3_CFB); - Define_Integer_Constant(DES_OFB); - Define_Integer_Constant(DES_EDE_OFB); - Define_Integer_Constant(DES_EDE3_OFB); - Define_Integer_Constant(DES_CBC); - Define_Integer_Constant(DES_EDE_CBC); - Define_Integer_Constant(DES_EDE3_CBC); - Define_Integer_Constant(DESX_CBC); -#endif -#ifndef OPENSSL_NO_RC4 - Define_Integer_Constant(RC4); - Define_Integer_Constant(RC4_40); -#endif -#ifndef OPENSSL_NO_IDEA - Define_Integer_Constant(IDEA_ECB); - Define_Integer_Constant(IDEA_CFB); - Define_Integer_Constant(IDEA_OFB); - Define_Integer_Constant(IDEA_CBC); -#endif -#ifndef OPENSSL_NO_RC2 - Define_Integer_Constant(RC2_ECB); - Define_Integer_Constant(RC2_CBC); - Define_Integer_Constant(RC2_40_CBC); - Define_Integer_Constant(RC2_CFB); - Define_Integer_Constant(RC2_OFB); -#endif -#ifndef OPENSSL_NO_BF - Define_Integer_Constant(BF_ECB); - Define_Integer_Constant(BF_CBC); - Define_Integer_Constant(BF_CFB); - Define_Integer_Constant(BF_OFB); -#endif - Define_Integer_Constant(CAST5_ECB); - Define_Integer_Constant(CAST5_CBC); - Define_Integer_Constant(CAST5_CFB); - Define_Integer_Constant(CAST5_OFB); -#ifndef OPENSSL_NO_RC5 - Define_Integer_Constant(RC5_32_12_16_CBC); - Define_Integer_Constant(RC5_32_12_16_CFB); - Define_Integer_Constant(RC5_32_12_16_ECB); - Define_Integer_Constant(RC5_32_12_16_OFB); -#endif - - // message digests -#ifndef OPENSSL_NO_MD2 - Define_Integer_Constant(MD2_DIGEST); -#endif - Define_Integer_Constant(MD5_DIGEST); - Define_Integer_Constant(SHA_DIGEST); - Define_Integer_Constant(SHA1_DIGEST); - Define_Integer_Constant(RIPEMD160_DIGEST); - Define_Integer_Constant(SHA256_DIGEST); - Define_Integer_Constant(SHA384_DIGEST); - Define_Integer_Constant(SHA512_DIGEST); - - // general name - Define_Integer_Constant(GEN_OTHERNAME); - Define_Integer_Constant(GEN_EMAIL); - Define_Integer_Constant(GEN_DNS); - Define_Integer_Constant(GEN_X400); - Define_Integer_Constant(GEN_DIRNAME); - Define_Integer_Constant(GEN_EDIPARTY); - Define_Integer_Constant(GEN_URI); - Define_Integer_Constant(GEN_IPADD); - Define_Integer_Constant(GEN_RID); - - // CMS flags - Define_Integer_Constant(CMS_NOCERTS); - Define_Integer_Constant(CMS_NOATTR); - Define_Integer_Constant(CMS_NOINTERN); - Define_Integer_Constant(CMS_NOCRL); - Define_Integer_Constant(CMS_NO_SIGNER_CERT_VERIFY); - Define_Integer_Constant(CMS_NO_ATTR_VERIFY); - Define_Integer_Constant(CMS_NO_CONTENT_VERIFY); - -#undef Define_Integer_Constant - - // initialise library - SSL_library_init(); - OpenSSL_add_all_algorithms(); - OpenSSL_add_all_ciphers(); - OpenSSL_add_all_digests(); - - // load error strings - SSL_load_error_strings(); - - if (PyErr_Occurred()) - Py_FatalError("Can't initialize module POW"); -} -/*==========================================================================*/ - -/* - * Local Variables: - * indent-tabs-mode: nil - * End: - */ diff --git a/pow/POW-0.7/README b/pow/POW-0.7/README deleted file mode 100644 index f418e2af..00000000 --- a/pow/POW-0.7/README +++ /dev/null @@ -1,116 +0,0 @@ -Python OpenSSL Wrappers - http://www.sourceforge.net/projects/pow -================================================================= - -Instalation. ------------- -To install POW you will need to have OpenSSL libraries installed on you -computer. I have been working on Suse8.0/Gentoo1.2 and with OpenSSL 0.9.6. - -run the following command to compile and install the module: - - root@alecto:/tmp/pow > python setup.py install - -Testing -------- -To test POW, run test.py in the testing directory. - -Notes -===== - -notBefore, notAfter, thisUpdate, nextUpdate, revocationDate ------------------------------------------------------------ -The objects are now all set using a UTCTime string instead of an integer. -The reasons for this are as follows: - the time functions are unreliable and building them into the - encodeer/decoder cuased some testing problems. - - it allows the use of Python's strptime function which incerases - portablity - - easier to work around problems with a specific version of - strptime/strftime. - -PEM Encoded Public RSA Key Backward Incompatibity -------------------------------------------------- -Previous versions of POW have been incompatible with the openssl -application in regards to reading pem encoded public RSA keys. To fix this -I changed the function for reading and writing public keys in pem format to -be compitable wiht openssl. This virsion of POW will not be able to read -keys encoded in the old format. It would be possible to get round this by -saving them in DER format using POW-0.6 and resaving them in PEM format -using POW-0.7 - -Patent Encumbered Ciphers -------------------------- -If I run the above command on my machine I get these warnings which indicate -the linker could not find a symbol in the source code or any of the -libraries the source is linked against. - -././pow.c: In function `evp_cipher_factory': -././pow.c:292: warning: implicit declaration of function `EVP_rc5_32_12_16_cbc' -././pow.c:292: warning: return makes pointer from integer without a cast -././pow.c:293: warning: implicit declaration of function `EVP_rc5_32_12_16_cfb' -././pow.c:293: warning: return makes pointer from integer without a cast -././pow.c:294: warning: implicit declaration of function `EVP_rc5_32_12_16_ecb' -././pow.c:294: warning: return makes pointer from integer without a cast -././pow.c:295: warning: implicit declaration of function `EVP_rc5_32_12_16_ofb' -././pow.c:295: warning: return makes pointer from integer without a cast - -The OpenSSL package which comes with Suse 7.2 does not have support for the -RC5 cipher. The configure script which comes with OpenSSL can create a -Makefile which builds libraries without any of the ciphers so it may be -necessary to build POW without support for some ciphers. This can be done -by issuing an extra command to setup.py. - -The first command build_ext, builds C and C++ extensions and can be used to -add directories to search for include files and libraries. For a list of -these options run the command: - - root@alecto:/tmp/pow > python setup.py --help build_ext - -To fix this problem we need to add an extra #define for the C preprocessor: - - root@alecto:/tmp/pow > python setup.py build_ext -D NO_RC5_32_12_16 install - -Possible defines are: - - NO_DES - NO_RC4 - NO_IDEA - NO_RC2 - NO_BF - NO_CAST5 - NO_RC5_32_12_16 - -Extras ------- -There are a couple of extra file included for completeness which I used to -build the documentation. - -POW.pdf -- The module documentation produced direct from the doc strings. -doc.sh -- This script sets up the enviroment and runs xdoc.py, jade and - pdfjadetex. -doc.py -- This script processes the doc strings to produce DocBook SGML. -doc.xsl -- This is the style sheet used to turn the doc strings into one - document. -POW.dsl -- This is the DSSSL driver file used to drive OpenJade. - -Version 1.72 of the DSSSL DocBook style sheets were used, along with Xalan -to perform the XSL transformation. - -Changes -------- -Hmac added 0.6.1 -DER encoding and decoding routinse added 0.7 -Many PKIX objects added 0.7 -Routrines for manipulating extensions for: - X509 - X509CRL - X509Revoked -added 0.7 -PEM encoding routine for public RSA keys changed 0.7 - -Acknowledgements ----------------- -Thanks to Pete Gutmann who wrote the invaluable dumpasn1. -Thanks to Goetz Isenmann for patch for Windows. diff --git a/pow/POW-0.7/cfgparse.py b/pow/POW-0.7/cfgparse.py deleted file mode 100755 index 303eb969..00000000 --- a/pow/POW-0.7/cfgparse.py +++ /dev/null @@ -1,115 +0,0 @@ -#*****************************************************************************# -#* *# -#* Copyright (c) 2002, Peter Shannon *# -#* All rights reserved. *# -#* *# -#* Redistribution and use in source and binary forms, with or without *# -#* modification, are permitted provided that the following conditions *# -#* are met: *# -#* *# -#* * Redistributions of source code must retain the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer. *# -#* *# -#* * Redistributions in binary form must reproduce the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer in the documentation and/or other materials *# -#* provided with the distribution. *# -#* *# -#* * The name of the contributors may be used to endorse or promote *# -#* products derived from this software without specific prior *# -#* written permission. *# -#* *# -#* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *# -#* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *# -#* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *# -#* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS *# -#* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *# -#* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *# -#* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *# -#* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *# -#* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *# -#* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *# -#* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *# -#* *# -#*****************************************************************************# - -import string, re, types, pprint - -def decodeOid(val): - val = [int(val,16) for val in val.split(" ")][2:] - arc12 = val[0] - arc1, arc2 = divmod(arc12, 40) - oids = [arc1,arc2] - total = 0 - for byte in val[1:]: - if byte & 0x80: - total = (total << 7) | (byte ^ 0x80) - else: - total = (total << 7) | byte - oids.append(total) - total = 0 - return tuple(oids) - -# for people out there who, like me, hate regexs(too easy to make mistakes -# with) I apologise profusely! - -class Parser: - def __init__(self, filename): - self.file = filename - self.handle = open(self.file) - self.whiteMatch = re.compile(r'^\s*$') - self.hashMatch = re.compile(r'^#') - self.warningMatch = re.compile(r'^Warning') - self.oidMatch = re.compile(r'(?:^OID\s*=\s* )(.*)') - self.commentMatch = re.compile(r'(?:^Comment\s*=\s*)(.*)') - self.descriptionMatch = re.compile(r'(?:^Description\s*=\s*)(.*)') - self.oids = {} - self.objs = {} - self.__parse() - - def __store(self, dict): - self.objs[dict['name']] = dict - self.oids[dict['oid' ]] = dict - - def __parse(self): - dict = None - broken = False - for line in self.handle: - m = self.oidMatch.match(line) - if m: - if dict and not broken: - self.__store(dict) - dict = { 'hexoid' : m.group(1), - 'oid' : decodeOid(m.group(1)) } - broken = False - continue - if self.warningMatch.match(line): - broken = True - continue - if self.whiteMatch.match(line) or self.hashMatch.match(line): - continue - m = self.commentMatch.match(line) - if m: - dict['comment'] = m.group(1) - continue - m = self.descriptionMatch.match(line) - if m: - dict['description'] = m.group(1) - dict['name'] = m.group(1).strip().split(' ')[0] - continue - raise Exception, 'unhandled pattern' - if dict and not broken: - self.__store(dict) - - def dumpobjs(self, path): - file = open(path, 'w') - file.write('data = ') - pprint.pprint( self.objs, file ) - file.close() - - def dumpoids(self, path): - file = open(path, 'w') - file.write('data = ') - pprint.pprint( self.oids, file ) - file.close() diff --git a/pow/POW-0.7/docs/POW.pdf b/pow/POW-0.7/docs/POW.pdf deleted file mode 100644 index 246431a3..00000000 --- a/pow/POW-0.7/docs/POW.pdf +++ /dev/null @@ -1,17436 +0,0 @@ -%PDF-1.3 -1 0 obj -<< /S /GoTo /D (1.0) >> -endobj -4 0 obj -(The POW Package) -endobj -5 0 obj -<< /S /GoTo /D (2.0) >> -endobj -8 0 obj -(Table of Contents) -endobj -9 0 obj -<< /S /GoTo /D (3.0) >> -endobj -12 0 obj -(List of Examples) -endobj -13 0 obj -<< /S /GoTo /D (4.0) >> -endobj -16 0 obj -(Chapter 1. The POW Module) -endobj -17 0 obj -<< /S /GoTo /D (4.1.1) >> -endobj -20 0 obj -(Introduction) -endobj -21 0 obj -<< /S /GoTo /D (4.2.1) >> -endobj -24 0 obj -(Module Functions) -endobj -25 0 obj -<< /S /GoTo /D (4.2.1.2) >> -endobj -28 0 obj -(Function Prototypes) -endobj -29 0 obj -<< /S /GoTo /D (4.2.2.2) >> -endobj -32 0 obj -(Function Descriptions) -endobj -33 0 obj -<< /S /GoTo /D (4.2.2.1.3) >> -endobj -36 0 obj -(The pemRead Function) -endobj -37 0 obj -<< /S /GoTo /D (4.2.2.2.3) >> -endobj -40 0 obj -(The derRead Function) -endobj -41 0 obj -<< /S /GoTo /D (4.2.2.3.3) >> -endobj -44 0 obj -(The seed Function) -endobj -45 0 obj -<< /S /GoTo /D (4.2.2.4.3) >> -endobj -48 0 obj -(The add Function) -endobj -49 0 obj -<< /S /GoTo /D (4.2.2.5.3) >> -endobj -52 0 obj -(The readRandomFile Function) -endobj -53 0 obj -<< /S /GoTo /D (4.2.2.6.3) >> -endobj -56 0 obj -(The writeRandomFile Function) -endobj -57 0 obj -<< /S /GoTo /D (4.2.2.7.3) >> -endobj -60 0 obj -(The getError Function) -endobj -61 0 obj -<< /S /GoTo /D (4.2.2.8.3) >> -endobj -64 0 obj -(The clearError Function) -endobj -65 0 obj -<< /S /GoTo /D (4.2.2.9.3) >> -endobj -68 0 obj -(The addObject Function) -endobj -69 0 obj -<< /S /GoTo /D (4.3.1) >> -endobj -72 0 obj -(Module Classes) -endobj -73 0 obj -<< /S /GoTo /D (4.3.3.2) >> -endobj -76 0 obj -(The Ssl Class) -endobj -77 0 obj -<< /S /GoTo /D (4.3.3.10.3) >> -endobj -80 0 obj -(Class Prototypes) -endobj -81 0 obj -<< /S /GoTo /D (4.3.3.11.3) >> -endobj -84 0 obj -(The init Method) -endobj -85 0 obj -<< /S /GoTo /D (4.3.3.12.3) >> -endobj -88 0 obj -(The setFd Method) -endobj -89 0 obj -<< /S /GoTo /D (4.3.3.13.3) >> -endobj -92 0 obj -(The accept Method) -endobj -93 0 obj -<< /S /GoTo /D (4.3.3.14.3) >> -endobj -96 0 obj -(The connect Method) -endobj -97 0 obj -<< /S /GoTo /D (4.3.3.15.3) >> -endobj -100 0 obj -(The write Method) -endobj -101 0 obj -<< /S /GoTo /D (4.3.3.16.3) >> -endobj -104 0 obj -(The read Method) -endobj -105 0 obj -<< /S /GoTo /D (4.3.3.17.3) >> -endobj -108 0 obj -(The peerCertificate Method) -endobj -109 0 obj -<< /S /GoTo /D (4.3.3.18.3) >> -endobj -112 0 obj -(The useCertificate Method) -endobj -113 0 obj -<< /S /GoTo /D (4.3.3.19.3) >> -endobj -116 0 obj -(The useKey Method) -endobj -117 0 obj -<< /S /GoTo /D (4.3.3.20.3) >> -endobj -120 0 obj -(The checkKey Method) -endobj -121 0 obj -<< /S /GoTo /D (4.3.3.21.3) >> -endobj -124 0 obj -(The clear Method) -endobj -125 0 obj -<< /S /GoTo /D (4.3.3.22.3) >> -endobj -128 0 obj -(The shutdown Method) -endobj -129 0 obj -<< /S /GoTo /D (4.3.3.23.3) >> -endobj -132 0 obj -(The getShutdown Method) -endobj -133 0 obj -<< /S /GoTo /D (4.3.3.24.3) >> -endobj -136 0 obj -(The getCiphers Method) -endobj -137 0 obj -<< /S /GoTo /D (4.3.3.25.3) >> -endobj -140 0 obj -(The setCiphers Method) -endobj -141 0 obj -<< /S /GoTo /D (4.3.3.26.3) >> -endobj -144 0 obj -(The getCipher Method) -endobj -145 0 obj -<< /S /GoTo /D (4.3.3.27.3) >> -endobj -148 0 obj -(The setVerifyMode Method) -endobj -149 0 obj -<< /S /GoTo /D (4.3.4.2) >> -endobj -152 0 obj -(The X509 Class) -endobj -153 0 obj -<< /S /GoTo /D (4.3.4.28.3) >> -endobj -156 0 obj -(Class Prototypes) -endobj -157 0 obj -<< /S /GoTo /D (4.3.4.29.3) >> -endobj -160 0 obj -(The init Method) -endobj -161 0 obj -<< /S /GoTo /D (4.3.4.30.3) >> -endobj -164 0 obj -(The pemWrite Method) -endobj -165 0 obj -<< /S /GoTo /D (4.3.4.31.3) >> -endobj -168 0 obj -(The derWrite Method) -endobj -169 0 obj -<< /S /GoTo /D (4.3.4.32.3) >> -endobj -172 0 obj -(The sign Method) -endobj -173 0 obj -<< /S /GoTo /D (4.3.4.33.3) >> -endobj -176 0 obj -(The setPublicKey Method) -endobj -177 0 obj -<< /S /GoTo /D (4.3.4.34.3) >> -endobj -180 0 obj -(The getVersion Method) -endobj -181 0 obj -<< /S /GoTo /D (4.3.4.35.3) >> -endobj -184 0 obj -(The setVersion Method) -endobj -185 0 obj -<< /S /GoTo /D (4.3.4.36.3) >> -endobj -188 0 obj -(The getSerial Method) -endobj -189 0 obj -<< /S /GoTo /D (4.3.4.37.3) >> -endobj -192 0 obj -(The setSerial Method) -endobj -193 0 obj -<< /S /GoTo /D (4.3.4.38.3) >> -endobj -196 0 obj -(The getIssuer Method) -endobj -197 0 obj -<< /S /GoTo /D (4.3.4.39.3) >> -endobj -200 0 obj -(The setIssuer Method) -endobj -201 0 obj -<< /S /GoTo /D (4.3.4.40.3) >> -endobj -204 0 obj -(The getSubject Method) -endobj -205 0 obj -<< /S /GoTo /D (4.3.4.41.3) >> -endobj -208 0 obj -(The setSubject Method) -endobj -209 0 obj -<< /S /GoTo /D (4.3.4.42.3) >> -endobj -212 0 obj -(The getNotBefore Method) -endobj -213 0 obj -<< /S /GoTo /D (4.3.4.43.3) >> -endobj -216 0 obj -(The setNotBefore Method) -endobj -217 0 obj -<< /S /GoTo /D (4.3.4.44.3) >> -endobj -220 0 obj -(The getNotAfter Method) -endobj -221 0 obj -<< /S /GoTo /D (4.3.4.45.3) >> -endobj -224 0 obj -(The setNotAfter Method) -endobj -225 0 obj -<< /S /GoTo /D (4.3.4.46.3) >> -endobj -228 0 obj -(The addExtension Method) -endobj -229 0 obj -<< /S /GoTo /D (4.3.4.47.3) >> -endobj -232 0 obj -(The clearExtensions Method) -endobj -233 0 obj -<< /S /GoTo /D (4.3.4.48.3) >> -endobj -236 0 obj -(The countExtensions Method) -endobj -237 0 obj -<< /S /GoTo /D (4.3.4.49.3) >> -endobj -240 0 obj -(The getExtension Method) -endobj -241 0 obj -<< /S /GoTo /D (4.3.4.50.3) >> -endobj -244 0 obj -(The pprint Method) -endobj -245 0 obj -<< /S /GoTo /D (4.3.5.2) >> -endobj -248 0 obj -(The X509Crl Class) -endobj -249 0 obj -<< /S /GoTo /D (4.3.5.51.3) >> -endobj -252 0 obj -(Class Prototypes) -endobj -253 0 obj -<< /S /GoTo /D (4.3.5.52.3) >> -endobj -256 0 obj -(The pemWrite Method) -endobj -257 0 obj -<< /S /GoTo /D (4.3.5.53.3) >> -endobj -260 0 obj -(The derWrite Method) -endobj -261 0 obj -<< /S /GoTo /D (4.3.5.54.3) >> -endobj -264 0 obj -(The getVersion Method) -endobj -265 0 obj -<< /S /GoTo /D (4.3.5.55.3) >> -endobj -268 0 obj -(The setVersion Method) -endobj -269 0 obj -<< /S /GoTo /D (4.3.5.56.3) >> -endobj -272 0 obj -(The getIssuer Method) -endobj -273 0 obj -<< /S /GoTo /D (4.3.5.57.3) >> -endobj -276 0 obj -(The setIssuer Method) -endobj -277 0 obj -<< /S /GoTo /D (4.3.5.58.3) >> -endobj -280 0 obj -(The getThisUpdate Method) -endobj -281 0 obj -<< /S /GoTo /D (4.3.5.59.3) >> -endobj -284 0 obj -(The setThisUpdate Method) -endobj -285 0 obj -<< /S /GoTo /D (4.3.5.60.3) >> -endobj -288 0 obj -(The getNextUpdate Method) -endobj -289 0 obj -<< /S /GoTo /D (4.3.5.61.3) >> -endobj -292 0 obj -(The setNextUpdate Method) -endobj -293 0 obj -<< /S /GoTo /D (4.3.5.62.3) >> -endobj -296 0 obj -(The getRevoked Method) -endobj -297 0 obj -<< /S /GoTo /D (4.3.5.63.3) >> -endobj -300 0 obj -(The setRevoked Method) -endobj -301 0 obj -<< /S /GoTo /D (4.3.5.64.3) >> -endobj -304 0 obj -(The verify Method) -endobj -305 0 obj -<< /S /GoTo /D (4.3.5.65.3) >> -endobj -308 0 obj -(The sign Method) -endobj -309 0 obj -<< /S /GoTo /D (4.3.5.66.3) >> -endobj -312 0 obj -(The addExtension Method) -endobj -313 0 obj -<< /S /GoTo /D (4.3.5.67.3) >> -endobj -316 0 obj -(The clearExtensions Method) -endobj -317 0 obj -<< /S /GoTo /D (4.3.5.68.3) >> -endobj -320 0 obj -(The countExtensions Method) -endobj -321 0 obj -<< /S /GoTo /D (4.3.5.69.3) >> -endobj -324 0 obj -(The getExtension Method) -endobj -325 0 obj -<< /S /GoTo /D (4.3.5.70.3) >> -endobj -328 0 obj -(The pprint Method) -endobj -329 0 obj -<< /S /GoTo /D (4.3.6.2) >> -endobj -332 0 obj -(The X509Revoked Class) -endobj -333 0 obj -<< /S /GoTo /D (4.3.6.71.3) >> -endobj -336 0 obj -(Class Prototypes) -endobj -337 0 obj -<< /S /GoTo /D (4.3.6.72.3) >> -endobj -340 0 obj -(The init Method) -endobj -341 0 obj -<< /S /GoTo /D (4.3.6.73.3) >> -endobj -344 0 obj -(The getDate Method) -endobj -345 0 obj -<< /S /GoTo /D (4.3.6.74.3) >> -endobj -348 0 obj -(The setDate Method) -endobj -349 0 obj -<< /S /GoTo /D (4.3.6.75.3) >> -endobj -352 0 obj -(The getSerial Method) -endobj -353 0 obj -<< /S /GoTo /D (4.3.6.76.3) >> -endobj -356 0 obj -(The setSerial Method) -endobj -357 0 obj -<< /S /GoTo /D (4.3.6.77.3) >> -endobj -360 0 obj -(The addExtension Method) -endobj -361 0 obj -<< /S /GoTo /D (4.3.6.78.3) >> -endobj -364 0 obj -(The clearExtensions Method) -endobj -365 0 obj -<< /S /GoTo /D (4.3.6.79.3) >> -endobj -368 0 obj -(The countExtensions Method) -endobj -369 0 obj -<< /S /GoTo /D (4.3.6.80.3) >> -endobj -372 0 obj -(The getExtension Method) -endobj -373 0 obj -<< /S /GoTo /D (4.3.7.2) >> -endobj -376 0 obj -(The X509Store Class) -endobj -377 0 obj -<< /S /GoTo /D (4.3.7.81.3) >> -endobj -380 0 obj -(Class Prototypes) -endobj -381 0 obj -<< /S /GoTo /D (4.3.7.82.3) >> -endobj -384 0 obj -(The init Method) -endobj -385 0 obj -<< /S /GoTo /D (4.3.7.83.3) >> -endobj -388 0 obj -(The verify Method) -endobj -389 0 obj -<< /S /GoTo /D (4.3.7.84.3) >> -endobj -392 0 obj -(The verifyChain Method) -endobj -393 0 obj -<< /S /GoTo /D (4.3.7.85.3) >> -endobj -396 0 obj -(The addTrust Method) -endobj -397 0 obj -<< /S /GoTo /D (4.3.7.86.3) >> -endobj -400 0 obj -(The addCrl Method) -endobj -401 0 obj -<< /S /GoTo /D (4.3.8.2) >> -endobj -404 0 obj -(The Digest Class) -endobj -405 0 obj -<< /S /GoTo /D (4.3.8.87.3) >> -endobj -408 0 obj -(Class Prototypes) -endobj -409 0 obj -<< /S /GoTo /D (4.3.8.88.3) >> -endobj -412 0 obj -(The init Method) -endobj -413 0 obj -<< /S /GoTo /D (4.3.8.89.3) >> -endobj -416 0 obj -(The update Method) -endobj -417 0 obj -<< /S /GoTo /D (4.3.8.90.3) >> -endobj -420 0 obj -(The copy Method) -endobj -421 0 obj -<< /S /GoTo /D (4.3.8.91.3) >> -endobj -424 0 obj -(The digest Method) -endobj -425 0 obj -<< /S /GoTo /D (4.3.9.2) >> -endobj -428 0 obj -(The Hmac Class) -endobj -429 0 obj -<< /S /GoTo /D (4.3.9.92.3) >> -endobj -432 0 obj -(Class Prototypes) -endobj -433 0 obj -<< /S /GoTo /D (4.3.9.93.3) >> -endobj -436 0 obj -(The init Method) -endobj -437 0 obj -<< /S /GoTo /D (4.3.9.94.3) >> -endobj -440 0 obj -(The update Method) -endobj -441 0 obj -<< /S /GoTo /D (4.3.9.95.3) >> -endobj -444 0 obj -(The copy Method) -endobj -445 0 obj -<< /S /GoTo /D (4.3.9.96.3) >> -endobj -448 0 obj -(The mac Method) -endobj -449 0 obj -<< /S /GoTo /D (4.3.10.2) >> -endobj -452 0 obj -(The Symmetric Class) -endobj -453 0 obj -<< /S /GoTo /D (4.3.10.97.3) >> -endobj -456 0 obj -(Class Prototypes) -endobj -457 0 obj -<< /S /GoTo /D (4.3.10.98.3) >> -endobj -460 0 obj -(The init Method) -endobj -461 0 obj -<< /S /GoTo /D (4.3.10.99.3) >> -endobj -464 0 obj -(The encryptInit Method) -endobj -465 0 obj -<< /S /GoTo /D (4.3.10.100.3) >> -endobj -468 0 obj -(The decryptInit Method) -endobj -469 0 obj -<< /S /GoTo /D (4.3.10.101.3) >> -endobj -472 0 obj -(The update Method) -endobj -473 0 obj -<< /S /GoTo /D (4.3.10.102.3) >> -endobj -476 0 obj -(The final Method) -endobj -477 0 obj -<< /S /GoTo /D (4.3.11.2) >> -endobj -480 0 obj -(The Asymmetric Class) -endobj -481 0 obj -<< /S /GoTo /D (4.3.11.103.3) >> -endobj -484 0 obj -(Class Prototypes) -endobj -485 0 obj -<< /S /GoTo /D (4.3.11.104.3) >> -endobj -488 0 obj -(The init Method) -endobj -489 0 obj -<< /S /GoTo /D (4.3.11.105.3) >> -endobj -492 0 obj -(The pemWrite Method) -endobj -493 0 obj -<< /S /GoTo /D (4.3.11.106.3) >> -endobj -496 0 obj -(The derWrite Method) -endobj -497 0 obj -<< /S /GoTo /D (4.3.11.107.3) >> -endobj -500 0 obj -(The publicEncrypt Method) -endobj -501 0 obj -<< /S /GoTo /D (4.3.11.108.3) >> -endobj -504 0 obj -(The publicDecrypt Method) -endobj -505 0 obj -<< /S /GoTo /D (4.3.11.109.3) >> -endobj -508 0 obj -(The privateEncrypt Method) -endobj -509 0 obj -<< /S /GoTo /D (4.3.11.110.3) >> -endobj -512 0 obj -(The privateDecrypt Method) -endobj -513 0 obj -<< /S /GoTo /D (4.3.11.111.3) >> -endobj -516 0 obj -(The sign Method) -endobj -517 0 obj -<< /S /GoTo /D (4.3.11.112.3) >> -endobj -520 0 obj -(The verify Method) -endobj -521 0 obj -<< /S /GoTo /D (5.0) >> -endobj -524 0 obj -(Chapter 2. The POW.pkix Module) -endobj -525 0 obj -<< /S /GoTo /D (5.4.1) >> -endobj -528 0 obj -(Introduction) -endobj -529 0 obj -<< /S /GoTo /D (5.5.1) >> -endobj -532 0 obj -(Module Functions) -endobj -533 0 obj -<< /S /GoTo /D (5.5.12.2) >> -endobj -536 0 obj -(Function Prototypes) -endobj -537 0 obj -<< /S /GoTo /D (5.5.13.2) >> -endobj -540 0 obj -(Function Descriptions) -endobj -541 0 obj -<< /S /GoTo /D (5.5.13.113.3) >> -endobj -544 0 obj -(The utc2time Function) -endobj -545 0 obj -<< /S /GoTo /D (5.5.13.114.3) >> -endobj -548 0 obj -(The time2utc Function) -endobj -549 0 obj -<< /S /GoTo /D (5.5.13.115.3) >> -endobj -552 0 obj -(The gen2time Function) -endobj -553 0 obj -<< /S /GoTo /D (5.5.13.116.3) >> -endobj -556 0 obj -(The time2gen Function) -endobj -557 0 obj -<< /S /GoTo /D (5.6.1) >> -endobj -560 0 obj -(Module Classes) -endobj -561 0 obj -<< /S /GoTo /D (5.6.14.2) >> -endobj -564 0 obj -(The GeneralObject Class) -endobj -565 0 obj -<< /S /GoTo /D (5.6.14.117.3) >> -endobj -568 0 obj -(Class Prototypes) -endobj -569 0 obj -<< /S /GoTo /D (5.6.14.118.3) >> -endobj -572 0 obj -(The init Method) -endobj -573 0 obj -<< /S /GoTo /D (5.6.14.119.3) >> -endobj -576 0 obj -(The reset Method) -endobj -577 0 obj -<< /S /GoTo /D (5.6.14.120.3) >> -endobj -580 0 obj -(The set Method) -endobj -581 0 obj -<< /S /GoTo /D (5.6.14.121.3) >> -endobj -584 0 obj -(The get Method) -endobj -585 0 obj -<< /S /GoTo /D (5.6.14.122.3) >> -endobj -588 0 obj -(The implied Method) -endobj -589 0 obj -<< /S /GoTo /D (5.6.14.123.3) >> -endobj -592 0 obj -(The read Method) -endobj -593 0 obj -<< /S /GoTo /D (5.6.14.124.3) >> -endobj -596 0 obj -(The write Method) -endobj -597 0 obj -<< /S /GoTo /D (5.6.14.125.3) >> -endobj -600 0 obj -(The toString Method) -endobj -601 0 obj -<< /S /GoTo /D (5.6.14.126.3) >> -endobj -604 0 obj -(The fromString Method) -endobj -605 0 obj -<< /S /GoTo /D (5.6.15.2) >> -endobj -608 0 obj -(The Boolean Class) -endobj -609 0 obj -<< /S /GoTo /D (5.6.15.127.3) >> -endobj -612 0 obj -(Class Prototypes) -endobj -613 0 obj -<< /S /GoTo /D (5.6.16.2) >> -endobj -616 0 obj -(The Integer Class) -endobj -617 0 obj -<< /S /GoTo /D (5.6.16.128.3) >> -endobj -620 0 obj -(Class Prototypes) -endobj -621 0 obj -<< /S /GoTo /D (5.6.17.2) >> -endobj -624 0 obj -(The BitString Class) -endobj -625 0 obj -<< /S /GoTo /D (5.6.17.129.3) >> -endobj -628 0 obj -(Class Prototypes) -endobj -629 0 obj -<< /S /GoTo /D (5.6.18.2) >> -endobj -632 0 obj -(The AltBitString Class) -endobj -633 0 obj -<< /S /GoTo /D (5.6.18.130.3) >> -endobj -636 0 obj -(Class Prototypes) -endobj -637 0 obj -<< /S /GoTo /D (5.6.19.2) >> -endobj -640 0 obj -(The OctetString Class) -endobj -641 0 obj -<< /S /GoTo /D (5.6.19.131.3) >> -endobj -644 0 obj -(Class Prototypes) -endobj -645 0 obj -<< /S /GoTo /D (5.6.20.2) >> -endobj -648 0 obj -(The Null Class) -endobj -649 0 obj -<< /S /GoTo /D (5.6.20.132.3) >> -endobj -652 0 obj -(Class Prototypes) -endobj -653 0 obj -<< /S /GoTo /D (5.6.21.2) >> -endobj -656 0 obj -(The Oid Class) -endobj -657 0 obj -<< /S /GoTo /D (5.6.21.133.3) >> -endobj -660 0 obj -(Class Prototypes) -endobj -661 0 obj -<< /S /GoTo /D (5.6.22.2) >> -endobj -664 0 obj -(The Enum Class) -endobj -665 0 obj -<< /S /GoTo /D (5.6.22.134.3) >> -endobj -668 0 obj -(Class Prototypes) -endobj -669 0 obj -<< /S /GoTo /D (5.6.23.2) >> -endobj -672 0 obj -(The Utf8String Class) -endobj -673 0 obj -<< /S /GoTo /D (5.6.23.135.3) >> -endobj -676 0 obj -(Class Prototypes) -endobj -677 0 obj -<< /S /GoTo /D (5.6.24.2) >> -endobj -680 0 obj -(The NumericString Class) -endobj -681 0 obj -<< /S /GoTo /D (5.6.24.136.3) >> -endobj -684 0 obj -(Class Prototypes) -endobj -685 0 obj -<< /S /GoTo /D (5.6.25.2) >> -endobj -688 0 obj -(The PrintableString Class) -endobj -689 0 obj -<< /S /GoTo /D (5.6.25.137.3) >> -endobj -692 0 obj -(Class Prototypes) -endobj -693 0 obj -<< /S /GoTo /D (5.6.26.2) >> -endobj -696 0 obj -(The T61String Class) -endobj -697 0 obj -<< /S /GoTo /D (5.6.26.138.3) >> -endobj -700 0 obj -(Class Prototypes) -endobj -701 0 obj -<< /S /GoTo /D (5.6.27.2) >> -endobj -704 0 obj -(The VideotexString Class) -endobj -705 0 obj -<< /S /GoTo /D (5.6.27.139.3) >> -endobj -708 0 obj -(Class Prototypes) -endobj -709 0 obj -<< /S /GoTo /D (5.6.28.2) >> -endobj -712 0 obj -(The IA5String Class) -endobj -713 0 obj -<< /S /GoTo /D (5.6.28.140.3) >> -endobj -716 0 obj -(Class Prototypes) -endobj -717 0 obj -<< /S /GoTo /D (5.6.29.2) >> -endobj -720 0 obj -(The UtcTime Class) -endobj -721 0 obj -<< /S /GoTo /D (5.6.29.141.3) >> -endobj -724 0 obj -(Class Prototypes) -endobj -725 0 obj -<< /S /GoTo /D (5.6.30.2) >> -endobj -728 0 obj -(The GeneralizedTime Class) -endobj -729 0 obj -<< /S /GoTo /D (5.6.30.142.3) >> -endobj -732 0 obj -(Class Prototypes) -endobj -733 0 obj -<< /S /GoTo /D (5.6.31.2) >> -endobj -736 0 obj -(The GraphicString Class) -endobj -737 0 obj -<< /S /GoTo /D (5.6.31.143.3) >> -endobj -740 0 obj -(Class Prototypes) -endobj -741 0 obj -<< /S /GoTo /D (5.6.32.2) >> -endobj -744 0 obj -(The VisibleString Class) -endobj -745 0 obj -<< /S /GoTo /D (5.6.32.144.3) >> -endobj -748 0 obj -(Class Prototypes) -endobj -749 0 obj -<< /S /GoTo /D (5.6.33.2) >> -endobj -752 0 obj -(The GeneralString Class) -endobj -753 0 obj -<< /S /GoTo /D (5.6.33.145.3) >> -endobj -756 0 obj -(Class Prototypes) -endobj -757 0 obj -<< /S /GoTo /D (5.6.34.2) >> -endobj -760 0 obj -(The UniversalString Class) -endobj -761 0 obj -<< /S /GoTo /D (5.6.34.146.3) >> -endobj -764 0 obj -(Class Prototypes) -endobj -765 0 obj -<< /S /GoTo /D (5.6.35.2) >> -endobj -768 0 obj -(The BmpString Class) -endobj -769 0 obj -<< /S /GoTo /D (5.6.35.147.3) >> -endobj -772 0 obj -(Class Prototypes) -endobj -773 0 obj -<< /S /GoTo /D (5.6.36.2) >> -endobj -776 0 obj -(The Sequence Class) -endobj -777 0 obj -<< /S /GoTo /D (5.6.36.148.3) >> -endobj -780 0 obj -(Class Prototypes) -endobj -781 0 obj -<< /S /GoTo /D (5.6.36.149.3) >> -endobj -784 0 obj -(The init Method) -endobj -785 0 obj -<< /S /GoTo /D (5.6.36.150.3) >> -endobj -788 0 obj -(The readContents Method) -endobj -789 0 obj -<< /S /GoTo /D (5.6.36.151.3) >> -endobj -792 0 obj -(The read Method) -endobj -793 0 obj -<< /S /GoTo /D (5.6.36.152.3) >> -endobj -796 0 obj -(The write Method) -endobj -797 0 obj -<< /S /GoTo /D (5.6.36.153.3) >> -endobj -800 0 obj -(The set Method) -endobj -801 0 obj -<< /S /GoTo /D (5.6.36.154.3) >> -endobj -804 0 obj -(The get Method) -endobj -805 0 obj -<< /S /GoTo /D (5.6.37.2) >> -endobj -808 0 obj -(The SequenceOf Class) -endobj -809 0 obj -<< /S /GoTo /D (5.6.37.155.3) >> -endobj -812 0 obj -(Class Prototypes) -endobj -813 0 obj -<< /S /GoTo /D (5.6.37.156.3) >> -endobj -816 0 obj -(The init Method) -endobj -817 0 obj -<< /S /GoTo /D (5.6.38.2) >> -endobj -820 0 obj -(The Set Class) -endobj -821 0 obj -<< /S /GoTo /D (5.6.38.157.3) >> -endobj -824 0 obj -(Class Prototypes) -endobj -825 0 obj -<< /S /GoTo /D (5.6.38.158.3) >> -endobj -828 0 obj -(The init Method) -endobj -829 0 obj -<< /S /GoTo /D (5.6.39.2) >> -endobj -832 0 obj -(The SetOf Class) -endobj -833 0 obj -<< /S /GoTo /D (5.6.39.159.3) >> -endobj -836 0 obj -(Class Prototypes) -endobj -837 0 obj -<< /S /GoTo /D (5.6.39.160.3) >> -endobj -840 0 obj -(The init Method) -endobj -841 0 obj -<< /S /GoTo /D (5.6.40.2) >> -endobj -844 0 obj -(The Explicit Class) -endobj -845 0 obj -<< /S /GoTo /D (5.6.40.161.3) >> -endobj -848 0 obj -(Class Prototypes) -endobj -849 0 obj -<< /S /GoTo /D (5.6.40.162.3) >> -endobj -852 0 obj -(The init Method) -endobj -853 0 obj -<< /S /GoTo /D (5.6.40.163.3) >> -endobj -856 0 obj -(The set Method) -endobj -857 0 obj -<< /S /GoTo /D (5.6.40.164.3) >> -endobj -860 0 obj -(The get Method) -endobj -861 0 obj -<< /S /GoTo /D (5.6.41.2) >> -endobj -864 0 obj -(The Choice Class) -endobj -865 0 obj -<< /S /GoTo /D (5.6.41.165.3) >> -endobj -868 0 obj -(Class Prototypes) -endobj -869 0 obj -<< /S /GoTo /D (5.6.41.166.3) >> -endobj -872 0 obj -(The init Method) -endobj -873 0 obj -<< /S /GoTo /D (5.6.41.167.3) >> -endobj -876 0 obj -(The reset Method) -endobj -877 0 obj -<< /S /GoTo /D (5.6.41.168.3) >> -endobj -880 0 obj -(The set Method) -endobj -881 0 obj -<< /S /GoTo /D (5.6.41.169.3) >> -endobj -884 0 obj -(The get Method) -endobj -885 0 obj -<< /S /GoTo /D (5.6.41.170.3) >> -endobj -888 0 obj -(The toString Method) -endobj -889 0 obj -<< /S /GoTo /D (5.6.41.171.3) >> -endobj -892 0 obj -(The fromString Method) -endobj -893 0 obj -<< /S /GoTo /D (5.6.41.172.3) >> -endobj -896 0 obj -(The read Method) -endobj -897 0 obj -<< /S /GoTo /D (5.6.41.173.3) >> -endobj -900 0 obj -(The write Method) -endobj -901 0 obj -<< /S /GoTo /D (5.6.42.2) >> -endobj -904 0 obj -(The Certificate Class) -endobj -905 0 obj -<< /S /GoTo /D (5.6.42.174.3) >> -endobj -908 0 obj -(Class Prototypes) -endobj -909 0 obj -<< /S /GoTo /D (5.6.42.175.3) >> -endobj -912 0 obj -(The setVersion Method) -endobj -913 0 obj -<< /S /GoTo /D (5.6.42.176.3) >> -endobj -916 0 obj -(The getVersion Method) -endobj -917 0 obj -<< /S /GoTo /D (5.6.42.177.3) >> -endobj -920 0 obj -(The setSerial Method) -endobj -921 0 obj -<< /S /GoTo /D (5.6.42.178.3) >> -endobj -924 0 obj -(The getVersion Method) -endobj -925 0 obj -<< /S /GoTo /D (5.6.42.179.3) >> -endobj -928 0 obj -(The setIssuer Method) -endobj -929 0 obj -<< /S /GoTo /D (5.6.42.180.3) >> -endobj -932 0 obj -(The getIssuer Method) -endobj -933 0 obj -<< /S /GoTo /D (5.6.42.181.3) >> -endobj -936 0 obj -(The setSubject Method) -endobj -937 0 obj -<< /S /GoTo /D (5.6.42.182.3) >> -endobj -940 0 obj -(The getSubject Method) -endobj -941 0 obj -<< /S /GoTo /D (5.6.42.183.3) >> -endobj -944 0 obj -(The setNotBefore Method) -endobj -945 0 obj -<< /S /GoTo /D (5.6.42.184.3) >> -endobj -948 0 obj -(The getNotBefore Method) -endobj -949 0 obj -<< /S /GoTo /D (5.6.42.185.3) >> -endobj -952 0 obj -(The setNotAfter Method) -endobj -953 0 obj -<< /S /GoTo /D (5.6.42.186.3) >> -endobj -956 0 obj -(The getNotAfter Method) -endobj -957 0 obj -<< /S /GoTo /D (5.6.42.187.3) >> -endobj -960 0 obj -(The setIssuerUniqueID Method) -endobj -961 0 obj -<< /S /GoTo /D (5.6.42.188.3) >> -endobj -964 0 obj -(The getIssuerUniqueID Method) -endobj -965 0 obj -<< /S /GoTo /D (5.6.42.189.3) >> -endobj -968 0 obj -(The setSubjectUniqueID Method) -endobj -969 0 obj -<< /S /GoTo /D (5.6.42.190.3) >> -endobj -972 0 obj -(The getSubjectUniqueID Method) -endobj -973 0 obj -<< /S /GoTo /D (5.6.42.191.3) >> -endobj -976 0 obj -(The setExtensions Method) -endobj -977 0 obj -<< /S /GoTo /D (5.6.42.192.3) >> -endobj -980 0 obj -(The getExtensions Method) -endobj -981 0 obj -<< /S /GoTo /D (5.6.42.193.3) >> -endobj -984 0 obj -(The sign Method) -endobj -985 0 obj -<< /S /GoTo /D (5.6.42.194.3) >> -endobj -988 0 obj -(The verify Method) -endobj -989 0 obj -<< /S /GoTo /D (5.6.42.195.3) >> -endobj -992 0 obj -(The sign Method) -endobj -993 0 obj -<< /S /GoTo /D (5.6.43.2) >> -endobj -996 0 obj -(The CertificateList Class) -endobj -997 0 obj -<< /S /GoTo /D (5.6.43.196.3) >> -endobj -1000 0 obj -(Class Prototypes) -endobj -1001 0 obj -<< /S /GoTo /D (5.6.43.197.3) >> -endobj -1004 0 obj -(The setVersion Method) -endobj -1005 0 obj -<< /S /GoTo /D (5.6.43.198.3) >> -endobj -1008 0 obj -(The getVersion Method) -endobj -1009 0 obj -<< /S /GoTo /D (5.6.43.199.3) >> -endobj -1012 0 obj -(The setIssuer Method) -endobj -1013 0 obj -<< /S /GoTo /D (5.6.43.200.3) >> -endobj -1016 0 obj -(The getIssuer Method) -endobj -1017 0 obj -<< /S /GoTo /D (5.6.43.201.3) >> -endobj -1020 0 obj -(The getThisUpdate Method) -endobj -1021 0 obj -<< /S /GoTo /D (5.6.43.202.3) >> -endobj -1024 0 obj -(The setNextUpdate Method) -endobj -1025 0 obj -<< /S /GoTo /D (5.6.43.203.3) >> -endobj -1028 0 obj -(The getNextUpdate Method) -endobj -1029 0 obj -<< /S /GoTo /D (5.6.43.204.3) >> -endobj -1032 0 obj -(The setExtensions Method) -endobj -1033 0 obj -<< /S /GoTo /D (5.6.43.205.3) >> -endobj -1036 0 obj -(The getExtensions Method) -endobj -1037 0 obj -<< /S /GoTo /D (5.6.43.206.3) >> -endobj -1040 0 obj -(The setRevokedCertificates Method) -endobj -1041 0 obj -<< /S /GoTo /D (5.6.43.207.3) >> -endobj -1044 0 obj -(The getRevokedCertificates Method) -endobj -1045 0 obj -<< /S /GoTo /D (5.6.43.208.3) >> -endobj -1048 0 obj -(The verify Method) -endobj -1049 0 obj -<< /S /GoTo /D (5.6.44.2) >> -endobj -1052 0 obj -(The BasicConstraints Class) -endobj -1053 0 obj -<< /S /GoTo /D (5.6.44.209.3) >> -endobj -1056 0 obj -(Class Prototypes) -endobj -1057 0 obj -<< /S /GoTo /D (5.6.45.2) >> -endobj -1060 0 obj -(The KeyUsage Class) -endobj -1061 0 obj -<< /S /GoTo /D (5.6.45.210.3) >> -endobj -1064 0 obj -(Class Prototypes) -endobj -1065 0 obj -<< /S /GoTo /D (5.6.46.2) >> -endobj -1068 0 obj -(The SubjectAltName Class) -endobj -1069 0 obj -<< /S /GoTo /D (5.6.46.211.3) >> -endobj -1072 0 obj -(Class Prototypes) -endobj -1073 0 obj -<< /S /GoTo /D (5.6.47.2) >> -endobj -1076 0 obj -(The IssuerAltName Class) -endobj -1077 0 obj -<< /S /GoTo /D (5.6.47.212.3) >> -endobj -1080 0 obj -(Class Prototypes) -endobj -1081 0 obj -<< /S /GoTo /D (5.6.48.2) >> -endobj -1084 0 obj -(The SubjectKeyIdentifier Class) -endobj -1085 0 obj -<< /S /GoTo /D (5.6.48.213.3) >> -endobj -1088 0 obj -(Class Prototypes) -endobj -1089 0 obj -<< /S /GoTo /D (5.6.49.2) >> -endobj -1092 0 obj -(The AuthorityKeyIdentifier Class) -endobj -1093 0 obj -<< /S /GoTo /D (5.6.49.214.3) >> -endobj -1096 0 obj -(Class Prototypes) -endobj -1097 0 obj -<< /S /GoTo /D (5.6.50.2) >> -endobj -1100 0 obj -(The PrivateKeyUsagePeriod Class) -endobj -1101 0 obj -<< /S /GoTo /D (5.6.50.215.3) >> -endobj -1104 0 obj -(Class Prototypes) -endobj -1105 0 obj -<< /S /GoTo /D (5.6.51.2) >> -endobj -1108 0 obj -(The CertificatePolicies Class) -endobj -1109 0 obj -<< /S /GoTo /D (5.6.51.216.3) >> -endobj -1112 0 obj -(Class Prototypes) -endobj -1113 0 obj -<< /S /GoTo /D (5.6.52.2) >> -endobj -1116 0 obj -(The CRLDistrobutionPoints Class) -endobj -1117 0 obj -<< /S /GoTo /D (5.6.52.217.3) >> -endobj -1120 0 obj -(Class Prototypes) -endobj -1121 0 obj -<< /S /GoTo /D (5.6.53.2) >> -endobj -1124 0 obj -(The CrlNumber Class) -endobj -1125 0 obj -<< /S /GoTo /D (5.6.53.218.3) >> -endobj -1128 0 obj -(Class Prototypes) -endobj -1129 0 obj -<< /S /GoTo /D (5.6.54.2) >> -endobj -1132 0 obj -(The DeltaCrlIndicator Class) -endobj -1133 0 obj -<< /S /GoTo /D (5.6.54.219.3) >> -endobj -1136 0 obj -(Class Prototypes) -endobj -1137 0 obj -<< /S /GoTo /D (5.6.55.2) >> -endobj -1140 0 obj -(The InvalidityDate Class) -endobj -1141 0 obj -<< /S /GoTo /D (5.6.55.220.3) >> -endobj -1144 0 obj -(Class Prototypes) -endobj -1145 0 obj -<< /S /GoTo /D (5.6.56.2) >> -endobj -1148 0 obj -(The CrlReason Class) -endobj -1149 0 obj -<< /S /GoTo /D (5.6.56.221.3) >> -endobj -1152 0 obj -(Class Prototypes) -endobj -1153 0 obj -<< /S /GoTo /D (5.6.57.2) >> -endobj -1156 0 obj -(The Extension Class) -endobj -1157 0 obj -<< /S /GoTo /D (5.6.57.222.3) >> -endobj -1160 0 obj -(Class Prototypes) -endobj -1161 0 obj -<< /S /GoTo /D (5.6.57.223.3) >> -endobj -1164 0 obj -(The set Method) -endobj -1165 0 obj -<< /S /GoTo /D (5.6.57.224.3) >> -endobj -1168 0 obj -(The get Method) -endobj -1169 0 obj -<< /S /GoTo /D [1170 0 R /Fit ] >> -endobj -1172 0 obj << -/Length 183 -/Filter /FlateDecode ->> -stream -xÚ=1†÷ûÛ¡±I[Ó®‚ -. -ÄáÐóññÿcï<ÄÁAùàÍûØB(®‰˜¦Ž·ÊB[”eEã†÷ CL¥ÿ!šÀ„ŽÁ|f¹š,˜=J‚|ŠEã -=ÔRé9>¹:Ø›góxÓ¶—ºëî]o®æùsóø²IþþøÐ‰@¬endstream -endobj -1170 0 obj << -/Type /Page -/Contents 1172 0 R -/Resources 1171 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1178 0 R ->> endobj -1173 0 obj << -/D [1170 0 R /XYZ 71.731 778.968 null] ->> endobj -1174 0 obj << -/D [1170 0 R /XYZ 71.731 768.009 null] ->> endobj -1175 0 obj << -/D [1170 0 R /XYZ 71.731 768.009 null] ->> endobj -2 0 obj << -/D [1170 0 R /XYZ 404.126 749.925 null] ->> endobj -1171 0 obj << -/Font << /F22 1177 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1181 0 obj << -/Length 179 -/Filter /FlateDecode ->> -stream -xÚ½ -Â0€÷>ÅɘËO“¬‚ -.8ˆC±±‚¸øöžZªƒƒÜÿ}w‡ H<JoÈø c 9 -Zª, -:¬Ò…Hþ¢p¥Ñ ¾ -j¾hû;ͦʷ|}»ë®îûKÿœ,fi¼w8ÅÐÿýíÿq@Hendstream -endobj -1180 0 obj << -/Type /Page -/Contents 1181 0 R -/Resources 1179 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1178 0 R ->> endobj -1182 0 obj << -/D [1180 0 R /XYZ 71.731 778.968 null] ->> endobj -1179 0 obj << -/Font << /F22 1177 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1187 0 obj << -/Length 45790 -/Filter /FlateDecode ->> -stream -xÚ¬Ý]lWzeç{ýŠsYuQÑ™‘_·–[†m-tàÃØä‘ªìY Yôï½óÄš+b®Œ=b°m°ÛÖö|v2TLžâx3¿<lÿ×ã—×ÇÃëqû¼¾Þ_Þ¾|ÿo÷ðå_·ÿÉÿòwã‰Óéýðüö¾ýŸoüÿðüôx8>}ùÃÕÀÿôÇ¿ûOÿðôôåéáðòüþåÿ2‘ç§ÃûqûÿòÃÿù»?þþíáwßý÷ß?>üî/_ÿ‡§×·ßýô/çÿçßÿôã¯_üõ—ßÿ_üßþî?ÿqZÛ‹<?}y}z߆o¾ëòÌ®úö>Û;¾o/xüxuèã}þüð»?þéëùÿðOÿå÷Ûÿýÿ8ÿ¿üãO?üm{Íå…ž^Û$¼Ðãö?8íü¥{zx;¼>¾ò»æ¡ëw=|z‘ÇÇÃöàù¬ŽgY]wÔãáåý]ªçgï¨=¸£¾ß¬z~öŽÚƒ;êÛáÅþþöè³æn“Û²_9žetÜQ·ÏàŪçgï¨=¸£nŸÁíÿhßPÏÏÞQ{pGÝ>…ÓQªçgï¨=x[=nÃQªãYV—ÁuûžNR=?{GíÁuûŸ¥z~öŽÚƒ;êö1<Xõüìµo«§ÇÃÃû‹Sdz¬.ƒ;êqûîü*Õó³wÔÜQ_¯V=?{GíÁõíðlÿ.<ž½£öàmõyûžå7œñ,«ËàŽº}'«žŸ½£öàŽº}òoçGï˜5·CnŸÁQ~ÃÏÞA{ð¶ú²}ORϲºî¨Ûgð(¿Ígï¨=¸£nŸÂƒUÏÏÞQ{pG};œÞå·¹ñìµo«¯‡÷7ù¿ÁãYV—Áõx8½ZõüìµwÔçíyùmn<{GíÁuûžå·¹ñìµo«oÛÇp’êx–ÕepGÝ>†£ü67ž½£öàŽº}OòÛÜxöŽÚƒ;êö1<Zõüìµo«ïÛÇð ¿ÍgY]wÔícæÇ“wÄë±ïù`ÿÈz~ôŽXs;äÛáø&¿Ágï =xS=><Þ^Ý·š<‹ê:¸£Ç«žŸ½£öàŽº} -ÏG©žŸ½£öàŽº}§“TÏÏÞQ{ð¶ú¸}G©ŽgY]wÔícxz–êùÙ;jî¨ÛÇðø"Õó³wÔÜQ·áÁªçgï¨=x[}z8¼¾»opy–ÕepG=¶ïR=?{GíÁõùðújÕó³wÔÜQßO/ïR=?{GíÁÛêqûäÿ2e³çvÈí3ÿY=?z‡¬¹rû -2;ɳwÔ¼>mÓTdz¬.ƒ;êö1<ž¤z~öŽÚƒ;êö1Èì$ÏÞQ{pG}=¼½[õüìµo«Ç‡ÃñÍ}›Ë³¬.ƒ;êÓáMf'yöŽÚƒ;êóáøbÕó³wÔÜQ·áY~›ÏÞQ{ð¶zÚ>™äYV—ÁuûŽV=?{GíÁuûäßšÎÞ1kn‡Ü>™äÙ;hÞVŸ·ÏàQªãYV—Áuûdv’gï¨=¸£>ždv’gï¨=¸£¾^߬z~öŽÚƒ·Õ—‡Ã“ÌNò,«ËàŽútx•ÙIž½£öàŽº}ÏV=?{GíÁuûdv’gï¨=x[}Ý>™äYV—Áuûž¬z~öŽÚƒ;êö1Èì$ÏÞQ{pGÝ>™äÙ;jÞVßò`"ϲºî¨O‡‹~{ôŽYs;äóáQÆ'yöÚƒ;êëáåÕªçgï¨=x[}ß>ŸäYV—Áuûd|’gï¨=¸£nÃɪçgï¨=¸£nƒŒOòìµoªÏÛÇ ÿ…vžEuÜQ·áѪçgï¨=¸£nƒŒOòìµwÔ×óüï™òìµo«‡y0‘gY]wԧóŒOòìµwÔçÃÃ탉ËâÓëãÞmçãËö'š÷{/r~¨Ž)?½ÈùJ”.7¯ãϰÛ;·¿%ܼî<§oÿ|<m -1-.€5†%®ñFˆKÞõg¸L…KbÍqƒkÈ$¸DÖ¸‚œý-=Çõ!ßYsœÞ2å-‘5ÇÝ!“ÝYsÝ -r6·@ö·†LpKdÍqnkÈÔ¶DÖ·¶†LjKdÍqh+ÈÙÙÙs\Ù2‘-‘5lj!SØYsØ×qäµ^a\+¼´µàÕ—µLXKbÍqVkÈTµDÖ7µ†LRKdÍqP+ÈÙÓÙs\Ó21-‘5Ç)!SÒYsÜÑ2-‘5Ç gCdÏqAkÈ´DÖ糆L=KdÍq;kȤ³DÖ‡³÷ÉK7»O.s\Í2Ñ,‘5Çɬ!SÌYsØËqä²^q,+ÀÙÊ‚Øs\Ê2¡,‘5Ç™¬!SÉYsÜÈ2‰,‘5Ǭ gdÏqkÈıDÖ§±†LKdÍqkÈd±DÖG±‚œM,=ÇE¬!ÄYsœÃ25,‘5Ç-¬!“ÂYs -rv°@öW°†LKdÍakÄQÀx=Æý«“¿’Xs¿ -r¶¯@ö—¯†LøJdÍqöjÈT¯DÖ7¯†LòJdÍqð*ÈÙ»Ùs\»2±+‘5Ç©«!SºYsܹ2™+‘5Ç‘« gã -dÏqájÈ®DÖç†LÝJdÍqÛjȤDÖ‡‚œ]+=‡U«GÔJàõ'LÑJbÍqÏjÈä¬DÖǬ‚œ-+=Ç%«!²Ysœ±2+‘5Ç
«!“°Ys°Þ'/ýê>¹Ìq½jÈÄ«DÖ§«†L¹JdÍq·jÈd«DÖG«‚œÍ*=ÇŪ!¬Ysœ«BHijUz‹«^Þb·UÝ}‰%U}º“ªžÞÏÛ6±UϸXõ‡¯?ÿÿ«^^ë¬V…/kæªW_Ö~¯úùE XEµ9Y5êlVI]©ZUæ9[EñzÃUŽrÅšãvU™‰WíAÎW…zéWA]¹`UjVT{#V¥¦bEµ¹cUjBVT{SV£Î–•ÔekV¥&gEµ9hUjŠVT{›V¥&jEµ9k5êìZI]¹lUjÒVT{ãV¥¦nEµ¹oUjWT{Wƒ¦q%³ç°rUäÈ\‘¬9]•™ÒÑäÖU©‰]QíAÎ]:{WR—A.^•šäÕäèU©©^QíAî^•šðÕäôÕ¨³}%uäúU©É_QíA`•šÕäV©‰`QíAÎ`:;XR—A.a•šÕäV©©aQíAìa:‚X4k“XC¦‰%²ç¸ŠUf²XD{ÃX¥¦ŒEµ¹UjâXT{óX£Î>–ÔeY¥&‘Eµ9’Uj*YT{;Y¥&”Eµ9•5êleI]¹–UjrYT{ƒY¥¦˜Eµ¹™Uj¢YT{³Y¡^ºYP×A.g•štÕäxV©©gQíAìg:Z4kŽZcΆ–Ðe+Z¥&£Eµ9¤UjJZT{[Z¥&¦Eµ9§5êìiI]¹¨Uj’ZT{£Z¥¦ªEµ¹«UjÂZT{ÓZ£Î¶–ÔeëZ¥&¯Eµ9°Uj -[T{[¥&²Eµ9³5êìlI]¹´UjR[T{c[…ŽÚÍšãÞV™ níANn:›[R—A®n•šìÕäðV©)oQíAno•šøÕäüÖ¨³¿%uäW©IpQíAŽp•š -ÕäW© qQíANq:[\R—A®q•šÕä W©)rQíAnr•š(Õä,ר³Ë%uÄ2W¡#ÍE³æ8ÎUfê\D{û\¥&ÐEµ9Ñ5êltI]¹ÒUj2]T{C]¥¦ÔEµ¹ÕUjb]T{s]¡^z]P×A.v•šdÕähW©©vQíAîv•špÕätר³Ý%uäzW©ÉwQíAx).5/¾ÈHx¯^äi¯áÝßøóf/‡—‡WŽxÇ3.âýåë×ïÓéððx¯à}yÛ¾õ?}¹z§õÅŸ¶zÚ+x·6{;ñ×”‡®¿¦ÏÉçëñpz=Ýz‘êùÙ;jî¨ÏÛóÏR=?{GíÁõípz~‘êùÙ;jî4ÒÛÇp’êx–ÕepGÝ>†zWêùÙ;jî¨#Wj*tT{+t¥¦BGµ¹B7ê¬ÐI]©BWæ¹BGñz+tŽ -Åšã -]™©ÐíA®Ð…z©ÐA]¹BWj*tT{+t¥¦BGµ¹BWj*tT{+t£Î -Ôe+t¥¦BGµ¹BWj*tT{+t¥¦BGµ¹B7ê¬ÐI]¹BWj*tT{+t¥¦BGµ¹BWj*tT{+tƒ¦B'³ç°BWä¨Ð‘¬9®Ð•™ -Ñä -]©©ÐQíA®Ð:+tR—A®Ð•š -Õä -]©©ÐQíA®Ð•š -Õä -ݨ³B'uä -]©©ÐQíA®Ð•š -Õä -]©©ÐQíA®Ð:+tR—A®Ð•š -Õä -]©©ÐQíA¬Ð:*t4k+tC¦B'²ç¸BWf*tD{+t¥¦BGµ¹BWj*tT{+t£Î -Ôe+t¥¦BGµ¹BWj*tT{+t¥¦BGµ¹B7ê¬ÐI]¹BWj*tT{+t¥¦BGµ¹BWj*tT{+t¡^*tP×A®Ð•š -Õä -]©©ÐQíA¬Ð:*t4kŽ+tcÎ -Ðe+t¥¦BGµ¹BWj*tT{+t¥¦BGµ¹B7ê¬ÐI]¹BWj*tT{+t¥¦BGµ¹BWj*tT{+t£Î -Ôe+t¥¦BGµ¹BWj*tT{+t¥¦BGµ¹B7ê¬ÐI]¹BWj*tT{+t…Ž -Íšã -]™©ÐíA®Ð:+tR—A®Ð•š -Õä -]©©ÐQíA®Ð•š -Õä -ݨ³B'uä -]©©ÐQíA®Ð•š -Õä -]©©ÐQíA®Ð:+tR—A®Ð•š -Õä -]©©ÐQíA®Ð•š -Õä -ݨ³B'uÄ -]¡£BG³æ¸BWf*tD{+t¥¦BGµ¹B7ê¬ÐI]¹BWj*tT{+t¥¦BGµ¹BWj*tT{+t¡^*tP×A®Ð•š -Õä -]©©ÐQíA®Ð•š -Õä -ݨ³B'uä -]©©ÐQíA®Ð÷iW¡ã‹Œ -ýêEv+ôý÷ø?Júé¸ýÝê™+ôñŒ«Ð¿ûáF„þø¶ý}ân„þÑ”=}¹z¥õ½?¾Iï5èÛÿßÏßþÕ$|Eyèú+ú|¾¼n¾Ç
õüìµwÔ·Ãéý(Õó³wÔÜiÐG”oÔYù“ºrå¯ÔTþ¨ö WþJMåjrå¯ÔTþ¨ö WþF•?©Ë WþJMåjrå¯ÔTþ¨ö WþJMåjråoÔYù“ºRå¯ÌsåâõVþ -•?Š5Ç•¿2Sù#Úƒ\ùõRùƒºrå¯ÔTþ¨ö WþJMåjrå¯ÔTþ¨ö WþF•?©Ë WþJMåjrå¯ÔTþ¨ö WþJMåjråoÔYù“ºrå¯ÔTþ¨ö WþJMåjrå¯ÔTþ¨ö VþMåOfÏaå¯ÈQù#Ys\ù+3•?¢=È•¿RSù£Úƒ\ùuVþ¤.ƒ\ù+5•?ª=È•¿RSù£Úƒ\ù+5•?ª=È•¿QgåOê2È•¿RSù£Úƒ\ù+5•?ª=È•¿RSù£Úƒ\ùuVþ¤.ƒ\ù+5•?ª=È•¿RSù£ÚƒXù+tTþhÖVþ†LåOdÏqå¯ÌTþˆö WþJMåjrå¯ÔTþ¨ö WþF•?©Ë WþJMåjrå¯ÔTþ¨ö WþJMåjråoÔYù“ºrå¯ÔTþ¨ö WþJMåjrå¯ÔTþ¨ö WþB½Tþ ®ƒ\ù+5•?ª=È•¿RSù£ÚƒXù+tTþhÖWþÆœ•?¡Ë WþJMåjrå¯ÔTþ¨ö WþJMåjråoÔYù“ºrå¯ÔTþ¨ö WþJMåjrå¯ÔTþ¨ö WþF•?©Ë WþJMåjrå¯ÔTþ¨ö WþJMåjråoÔYù“ºrå¯ÔTþ¨ö Vþ -•?š5Ç•¿2Sù#Úƒ\ùuVþ¤.ƒ\ù+5•?ª=È•¿RSù£Úƒ\ù+5•?ª=È•¿QgåOê2È•¿RSù£Úƒ\ù+5•?ª=È•¿RSù£Úƒ\ùuVþ¤.ƒ\ù+5•?ª=È•¿RSù£Úƒ\ù+5•?ª=È•¿QgåOê2ˆ•¿BGåfÍqå¯ÌTþˆö WþJMåjråoÔYù“ºrå¯ÔTþ¨ö WþJMåjrå¯ÔTþ¨ö WþB½Tþ ®ƒ\ù+5•?ª=È•¿RSù£Úƒ\ù+5•?ª=È•¿QgåOê2È•¿RSù£Úƒ\ùïè®òÇ•ÿÕ‹ìVþûïñÖüö×üã_ècå?žq•ÿÏ_¿ûá¿~÷ã?ýÛ?üù/_?ÿÛ÷÷·‡·;ÅÿñiûP¾\½ÜçÞÿõímç¯ö¥t‚/n–NW_Ü~éôùE tBµ¹tRjJ'T{K'ƒ¦t"³ç°tRä(¬9.”™Ò ÑäÒI©)PíA.Œ:K'R—A.”šÒ ÕäÒI©)PíA.”šÒ ÕäÒɨ³t"uäÒI©)PíA.”šÒ ÕäÒI©)PíA.Œ:K'R—A.”šÒ ÕäÒI©)PíA,:J'4kK'C¦t"²ç¸tRfJ'D{K'¥¦tBµ¹tRjJ'T{K'£ÎÒ‰ÔeK'¥¦tBµ¹tRjJ'T{K'¥¦tBµ¹t2ê,H]¹tRjJ'T{K'¥¦tBµ¹tRjJ'T{K'¡^J'P×A.”šÒ ÕäÒI©)PíA,:J'4kŽK'cÎÒ‰ÐeK'¥¦tBµ¹tRjJ'T{K'¥¦tBµ¹t2ê,H]¹tRjJ'T{K'¥¦tBµ¹tRjJ'T{K'£ÎÒ‰ÔeK'¥¦tBµ¹tRjJ'T{K'¥¦tBµ¹t2ê,H]¹tRjJ'T{K'…ŽÒ ÍšãÒI™)íA.Œ:K'R—A.”šÒ ÕäÒI©)PíA.”šÒ ÕäÒɨ³t"uäÒI©)PíA.”šÒ ÕäÒI©)PíA.Œ:K'R—A.”šÒ ÕäÒI©)PíA.”šÒ ÕäÒɨ³t"uÄÒI¡£tB³æ¸tRfJ'D{K'¥¦tBµ¹t2ê,H]¹tRjJ'T{K'¥¦tBµ¹tRjJ'T{K'¡^J'P×A.”šÒ ÕäÒI©)PíA.”šÒ ÕäÒɨ³t"uäÒI©)PíA.öÛW:ዌÒéêEvK§ý÷øm¥Óö)^·¿[Qé”g\éôï?ÿùׯ”:½·ï@÷S§íco_®^ïsët|{ßmFÿC_^ºþòöúŸï±Ûÿ ÙsÔÿ8òÜÿ0YsØÿ8sô?Œö ö?Ný«=ˆýRÓÿ ºbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?Ný«=ˆýRÓÿ ºbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?Ný«=ˆýRÓÿ ºbÿãÔÑÿ°ÚƒØÿ8uô?¬ö õ?=÷?lÖõ?Šý’=‡ý3GÿÃhbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?JMÿƒê2ˆýSGÿÃjbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?JMÿƒê2ˆýSGÿÃjbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?Fý©ë ö?Ný«=ˆýSGÿÃjRÿãÐsÿÃfÍaÿ£Ìô?ˆ.ƒØÿ8uô?¬ö ö?Ný«=ˆýSGÿÃjbÿ£Ôô?¨.ƒØÿ8uô?¬ö ö?Ný«=ˆýSGÿÃjbÿ£Ôô?¨.ƒØÿ8uô?¬ö ö?Ný«=ˆýSGÿÃjbÿ£Ôô?¨.ƒØÿ8uô?¬ö õ?=÷?lÖö?Îý£=ˆýRÓÿ ºbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?Ný«=ˆýRÓÿ ºbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?Ný«=ˆýRÓÿ ºbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?Ný«=ˆýRÓÿ ºRÿãÐsÿÃfÍaÿãÌÑÿ0ÚƒØÿ8uô?¬ö ö?JMÿƒê2ˆýSGÿÃjbÿãÔÑÿ°ÚƒØÿ8uô?¬ö ö?Fý©ë ö?Ný«=ˆýSGÿÃjbÿãÔÑÿ°ÚƒØÿ(5ýªË ö?Ný«=ˆýô(ªÿá9?tý"ÇþÞã·ý>ãç·ÓöGGîÆ3®ÿùׯ¿þçŸþéçÏáÏöǺç§÷{¿Õxû›öÓÇŸÃ./ö¹üyÙý)Gó—xÒ–‡®¿°_âyã5ö~‰'‹×côK<xþ%ž,ÖþOgŽ_âÉhâ/ñ4êü%ž¤®ƒøK<:~‰'«=ˆ¿ÄÓ©ã—x²ÚƒøK<:~‰'«=ˆ¿ÄS©ù%ž¨.ƒøK<:~‰'«=ˆ¿ÄÓ©ã—x²ÚƒøK<:~‰'«=ˆ¿ÄS©ù%ž¨.ƒøK<:~´«=ˆ?ÚΩãGÛ±Úƒø£íœš´ÕÄ´Õ I[Éì9L[9ÒV$kŽÓVe&mE´9mUjÒVT{ÓV£Î´•ÔeÓV¥&mEµ9mUjÒVT{ÓV¥&mEµ9m5êL[I]9mUjÒVT{ÓV¥&mEµ9mUjÒVT{ÓV£Î´•ÔeÓV¥&mEµ9mUjÒVT{ÓV…Ž´ÍšÃ´ÕI[‰ì9N[•™´Ñä´U©I[QíAN[•š´Õä´Õ¨3m%uä´U©I[QíAN[•š´Õä´U©I[QíAN[:ÓVR—AN[•š´Õä´U©I[QíAN[•š´Õä´U¨—´ÔuÓV¥&mEµ9mUjÒVT{ÓV…Ž´Íšã´Õ˜3m%tä´U©I[QíAN[•š´Õä´U©I[QíAN[:ÓVR—AN[•š´Õä´U©I[QíAN[•š´Õä´Õ¨3m%uä´U©I[QíAN[•š´Õä´U©I[QíAN[:ÓVR—AN[•š´ÕÄ´U¡#mE³æ8mUfÒVD{ÓV£Î´•ÔeÓV¥&mEµ9mUjÒVT{ÓV¥&mEµ9m5êL[I]9mUjÒVT{ÓV¥&mEµ9mUjÒVT{ÓV£Î´•ÔeÓV¥&mEµ9mUjÒVT{ÓV¥&mEµ9m5êL[I]1mUèH[Ѭ9N[•™´Ñä´U©I[QíAN[:ÓVR—AN[•š´Õä´U©I[QíAN[•š´Õä´U¨—´ÔuÓV¥&mEµ9mUjÒVT{ÓV¥&mEµ9m5êL[I]9mUjÒVT{ÓÖýàÒ¥ø"#m½z‘Ý´uÿ=~ã¶{}Üþ,Ëeëù¶~ÿ—¯ßý¼“¶>¿l{÷ÒÖNñýãÔ|±õ埾Փ;?ÓnF‰û_×l/_×~’øé- H$²æ¸G4drD"kŽcDAÎÈžãÑ ‰¬9Î
™ -‘ÈšãÑI‰¬99ûC {ŽëCC&>$²æ8=4dÊC"kŽ»CC&;$²æ0:bšC -C"kŽûBC&/$²æ8.älì9.
™°Èšã¬Ð© -‰¬9n -
™¤Èšã P³'²ç¸&4dbB"kŽSBC¦$$²æ°#4âÈ ¼ÃˆPxiÁ«1.
˜€Äšã|Щ‰¬9n
™tÈšãpP³²ç¸4d¢A"kŽ“AC¦$²æ¸4drA"kŽcAAÎVÈžãRÐ ‰¬9Î
™JÈšãFÐI‰¬9ï“—>pŸ\æ¸4dâ@"kŽÓ@C¦$²æ°4âÈ ¼ã(P€³ ±ç¸4d‚@"kŽs@C¦$²æ¸4dR@"kŽC@AÎÈžã -Љ -OP×An<•šÈÕäÌS©é<QíA.=•šÔÕäØÓ¨³ö$uäÞS© >QíAN>÷[D×|⋌èóêEv«Ïý÷øÃñuü–~ãéx8}ûûçög÷Óëíìs<”g>^èúáoùúû?<=?üîïÿòÝ/¿|ýåS0ùð²ý‘ñøåjúó_«··Ó^·ùðvxýöߪëå¡ëWû\n>nŸÉÃÛù¬ŽgY]wÔãömý]ªçgï¨=¸£¾lß×z~öŽÚƒ;êÛáÅþþöè³æn“Û -Ç (Ö'(3Ç ˆö 'õrœ -Ç hÖ'(3Ç ˆö 'u'ºòq‚Rsœ€jòq‚Rsœ€jòq‚Rsœ€jòq‚Qçq©Ë '(5Ç ¨ö '(5Ç ¨ö '(5Ç ¨ö 'u'ºòq‚Rsœ€jòq‚Rsœ€jòq‚Rsœ€jòq‚Qçq©Ë '(t' Ys|œ Ì' Úƒ|œ Ô' Úƒ|œ`Ôyœ@ê2ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ B½'€ºòq‚Rsœ€jòq‚Rsœ€jòq‚Rsœ€jòq‚Qçq©Ë '(5Ç ¨ö 'ìçöî8_d'\½ÈîqÂþ{üÆã„í“~Øþ¡Æ3ü{vžÆ¯ÑùçþóþõŸÿùó/ÛÙþX÷üô>ûǯ¿þé§n»¯ýÑåµ>Ÿ5<žö®fÃ_Õlx¯¾ªý†÷ó{@ËjrÃkÔÙð’ºRëÌsËâõ6¼ -
/Š5Ç
¯2Óð"ÚƒÜð -õÒð‚ºrëÔ4¼¨ö 7¼JMËjrëÔ4¼¨ö 7¼F
/©Ë 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÙð’ºrëÔ4¼¨ö 7¼JMËjrëÔ4¼¨ö 6¼MÃKfÏaëÈÑð"YsÜð*3
/¢=È
¯RÓð¢ÚƒÜðu6¼¤.ƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QgÃKê2È
¯RÓð¢ÚƒÜð*5
/ª=È
¯RÓð¢ÚƒÜðu6¼¤.ƒÜð*5
/ª=È
¯RÓð¢ÚƒØð*t4¼hÖ6¼†LÃKdÏqëÌ4¼ˆö 7¼JMËjrëÔ4¼¨ö 7¼F
/©Ë 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÙð’ºrëÔ4¼¨ö 7¼JMËjrëÔ4¼¨ö 7¼B½4¼ ®ƒÜð*5
/ª=È
¯RÓð¢ÚƒØð*t4¼hÖ7¼Æœ
/¡Ë 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÙð’ºrëÔ4¼¨ö 7¼JMËjrëÔ4¼¨ö 7¼F
/©Ë 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÙð’ºrëÔ4¼¨ö 6¼ -
/š5Ç
¯2Óð"ÚƒÜðu6¼¤.ƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QgÃKê2È
¯RÓð¢ÚƒÜð*5
/ª=È
¯RÓð¢ÚƒÜðu6¼¤.ƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QgÃKê2ˆ
¯BGËfÍqëÌ4¼ˆö 7¼JMËjrÃkÔÙð’ºrëÔ4¼¨ö 7¼JMËjrëÔ4¼¨ö 7¼B½4¼ ®ƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QgÃKê2È
¯RÓð¢ÚƒÜðî·¥®áÅ
ïÕ‹œöÞý÷XÞ'nxOï§íïØðæ×ðþòõ×øásÀûô~8Þéw_Þ¿ý{Ù«Wúü×øx|Ùxóƒ¤éKÊC×_Òî’¾ñ"û?HšÕÄ$íÔñƒ¤YíAüAÒN?HšÕÄ$Ôü iT—AüAÒN?HšÕÄ$íÔ¡³Úƒ¡;uDè¬ö FèJM„Žê2º3¿Eè,^Q„îÀs„ÎbÍa„îÌ¡3Úƒ¡uF褮ƒ¡;uDè¬ö FèN:«=ˆºSG„Îjb„®ÔDè¨.ƒ¡;uDè¬ö FèN:«=ˆºSG„Îjb„®ÔDè¨.ƒ¡;uDè¬ö FèN:«=ˆºSG„ÎjR„®Ð¡£Ùs¡;ò¡3Ys¡;sDèŒö FèN:«=ˆºR¡£ºb„îÔ¡³Úƒ¡;uDè¬ö FèN:«=ˆºR¡£ºb„îÔ¡³Úƒ¡;uDè¬ö FèN:«=ˆºR¡£ºb„îÔ¡³Úƒ¡;uDè¬ö Eè=GèlÖEèŠ:’=‡º3G„Îhb„îÔ¡³Úƒ¡;uDè¬ö FèJM„Žê2ˆºSG„Îjb„îÔ¡³Úƒ¡;uDè¬ö FèJM„Žê2ˆºSG„Îjb„îÔ¡³Úƒ¡;uDè¬ö FèF:©ë FèN:«=ˆºSG„ÎjR„îÐs„ÎfÍa„®ÌDèˆ.ƒ¡;uDè¬ö FèN:«=ˆºSG„Îjb„®ÔDè¨.ƒ¡;uDè¬ö FèN:«=ˆºSG„Îjb„®ÔDè¨.ƒ¡;uDè¬ö FèN:«=ˆºSG„Îjb„®ÔDè¨.ƒ¡;uDè¬ö Eè=GèlÖFèÎ:£=ˆºR¡£ºb„îÔ¡³Úƒ¡;uDè¬ö FèN:«=ˆºR¡£ºb„îÔ¡³Úƒ¡;uDè¬ö FèN:«=ˆºR¡£ºb„îÔ¡³Úƒ¡;uDè¬ö FèN:«=ˆºR¡£ºR„îÐs„ÎfÍa„îÌ¡3Úƒ¡;uDè¬ö FèJM„Žê2ˆºSG„Îjb„îÔ¡³Úƒ¡;uDè¬ö FèF:©ë FèN:«=ˆºSG„Îjb„îÔ¡³Úƒ¡+5:ªË FèN:«=ˆ:Ò"Bç9?tý"{:¼ÇoûAÒ§·Çí7èçG\‚þÝ÷ßý믟ôãéðúÊ
úömí|£Ï?Búýøº› 'ËÞÿ‚f•}ù‚ö£ìOoM6‘5ÇE¶ g
dÏqŽmÈÔØDַ؆LŠMdÍqˆmÈtØDÖWØ‚œ6=G ¶Ï6qWSØ_mä×Ä]q|mÀ´×$Ö—×÷ÉKx½O.sœ]2Õ5‘5Ç͵!“\Ys\2½5‘5ǵµ gl
dÏqjmÈ”ÖDÖwÖ†LfMdÍqdmÈ4ÖDÖÖ‚œ5=Çyµ!SWYsÜV2i5‘5Çaµ!ÓUYsXU1Q5€5†IµñFQMÞõ÷ÔLNMbÍqLmÈ´ÔDÖ—Ô‚œ!5=ǵ!SQYsÜP2 5‘5ǵ!ÓOYs\OrÆÓ@ö§Ó†L9MdÍq7mÈdÓDÖGÓ†L3MdÍq1-ÈLÙsœK2µ4‘5Ç´!“JYsJqtÒ^a%-¼DÒàÕ'ÒL!MbÍqmÈäÑDÖÇцLMdÍq-ÈFÙsœE2U4‘5ÇM´!“DYsD2=4‘5Ç5´ g
dÏq -mÈ”ÐDÖwІLMdÍqmÈ4ÐDÖÐ÷ÉK -X©É€QíA:K`R—An•šÕäX©éQíA.‚•š$Õä(ب³ -&uä.X© ƒQíANƒ•š6Õä:X©ÉƒQíA„…z)„A]¹Vj"aT{3a¥¦Fµ±VèH…Ѭ9Ž…9kaB—Aî…•š`ÕädX©i†QíA®†•šlÕäpب³&uävX©‰‡QíA·•š~Õä‚X©IˆQíAŽˆ:+bR—AšÕä”X©i‰QíA®‰•šœÕä Ø¨³(&uä¦X©‰ŠQíAÌŠ:ºb4kŽËbe&-F´9.6ꬋI]¹/VjcT{c¥¦1Fµ¹2Vj2cT{Cc£ÎÒ˜Ôe[c¥&6Fµ97VjzcT{‹c¥&9Fµ9:6ꬎI]¹;VjÂcT{Óc¥¦=Fµ¹>VjòcT{d£Î™Ôed…ŽÍšãY™éíA.‘•šÕäÙ¨³F&uäY© ’QíAN’•š&Õä*Y©É’QíA“…z)“A]¹MVjâdT{ód¥¦OFµ¹PVjeT{#e£ÎJ™Ôe;e¥&TFµ9UÞi]«Œ/2bå«yÞ«•÷ßã7þˆä(ßþšc®<žq¹ò¿ÿüç_¿~Ž•ŸÞÛ׆±òËûùßË^^éó_ããñe÷‡$?loqâ/)]I7~Lòñpz=Ýz‘êùÙ;jî¨ã8+5?Õä ÔüLhT{*´Qg„Nê2ȺR¡£Úƒ¡+5:ª=ȺR¡£Úƒ¡uFè¤.ƒ¡+ó¡£x=†ºG„ŽbÍq„®ÌDèˆö GèB½Dè ®ƒ¡+5:ª=ȺR¡£Úƒ¡+5:ª=ȺQg„Nê2ȺR¡£Úƒ¡+5:ª=ȺR¡£Úƒ¡uFè¤.ƒ¡+5:ª=ȺR¡£Úƒ¡+5:ª=ˆºA¡“Ùs¡+rDèHÖGèÊL„Žhr„®ÔDè¨ö GèF:©Ë GèJM„Žjr„®ÔDè¨ö GèJM„Žjr„nÔ¡“ºr„®ÔDè¨ö GèJM„Žjr„®ÔDè¨ö GèF:©Ë GèJM„Žjr„®ÔDè¨ö Fè -:š5‡º!¡Ùs¡+3:¢=ȺR¡£Úƒ¡+5:ª=ȺQg„Nê2ȺR¡£Úƒ¡+5:ª=ȺR¡£Úƒ¡uFè¤.ƒ¡+5:ª=ȺR¡£Úƒ¡+5:ª=ȺP/:¨ë GèJM„Žjr„®ÔDè¨ö Fè -:š5Ǻ1g„Nè2ȺR¡£Úƒ¡+5:ª=ȺR¡£Úƒ¡uFè¤.ƒ¡+5:ª=ȺR¡£Úƒ¡+5:ª=ȺQg„Nê2ȺR¡£Úƒ¡+5:ª=ȺR¡£Úƒ¡uFè¤.ƒ¡+5:ª=ˆºBG„ŽfÍq„®ÌDèˆö GèF:©Ë GèJM„Žjr„®ÔDè¨ö GèJM„Žjr„nÔ¡“ºr„®ÔDè¨ö GèJM„Žjr„®ÔDè¨ö GèF:©Ë GèJM„Žjr„®ÔDè¨ö GèJM„Žjr„nÔ¡“ºb„®Ð¡£Ys¡+3:¢=ȺR¡£Úƒ¡uFè¤.ƒ¡+5:ª=ȺR¡£Úƒ¡+5:ª=ȺP/:¨ë GèJM„Žjr„®ÔDè¨ö GèJM„Žjr„nÔ¡“ºr„®ÔDè¨ö GèH›_dDèW/²¡ï¿Çoü™ÙÛŸïŽÇgŽÐÇ3.Bÿùëw?ÜhÐO‡‡Ç;
úéœã\Þèó_â×ío6;
úËËáááÎW”‡®¿¢ÏÁçËÛáô~¼õ"7Ôó³wÔÜ©ÁGoÔÙÛ“ºro¯Ôôö¨ö ÷öJMojro¯Ôôö¨ö ÷öF½=©Ë ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÙÛ“ºRo¯Ìsoâõöö -½=Š5ǽ½2ÓÛ#ÚƒÜÛõÒÛƒºro¯Ôôö¨ö ÷öJMojro¯Ôôö¨ö ÷öF½=©Ë ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÙÛ“ºro¯Ôôö¨ö ÷öJMojro¯Ôôö¨ö ööMoOfÏao¯ÈÑÛ#YsÜÛ+3½=¢=Ƚ½RÓÛ£ÚƒÜÛuöö¤.ƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½QgoOê2Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛuöö¤.ƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒØÛ+tôöhÖöö†LoOdÏqo¯Ìôöˆö ÷öJMojro¯Ôôö¨ö ÷öF½=©Ë ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÙÛ“ºro¯Ôôö¨ö ÷öJMojro¯Ôôö¨ö ÷öB½ôö ®ƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒØÛ+tôöhÖ÷öÆœ½=¡Ë ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÙÛ“ºro¯Ôôö¨ö ÷öJMojro¯Ôôö¨ö ÷öF½=©Ë ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÙÛ“ºro¯Ôôö¨ö öö -½=š5ǽ½2ÓÛ#ÚƒÜÛuöö¤.ƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½QgoOê2Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛuöö¤.ƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½QgoOê2ˆ½½BGofÍqo¯Ìôöˆö ÷öJMojrooÔÙÛ“ºro¯Ôôö¨ö ÷öJMojro¯Ôôö¨ö ÷öB½ôö ®ƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½QgoOê2Ƚ½RÓÛ£ÚƒÜÛSnz{|‘ÑÛ_½Èno¿ÿ¿ñ‡¾ü0ö·÷öã×ÛÿõëןÿþëÏ¿þù_þüýw·~üûÛqûô†íýG†´ýìËÕÛ_ÂÇ׿÷—ûÁW7££«¯n?:úü"¡Úƒ4Ñ™=‡Ñ‘"Gt„dÍqt¤ÌDGˆö GGJMt„jrtdÔ‘ºrt¤ÔDG¨ö GGJMt„jrt¤ÔDG¨ö GGFÑ©Ë GGJMt„jrt¤ÔDG¨ö GGJMt„jrtdÔ‘ºrt¤ÔDG¨ö GGJMt„jbt¤Ð¡Ys2Ñ‘=ÇÑ‘2!Úƒ)5Ѫ=ÈÑ‘R¡ÚƒuFG¤.ƒ)5Ѫ=ÈÑ‘R¡Úƒ)5Ѫ=ÈÑ‘QgtDê2ÈÑ‘R¡Úƒ)5Ѫ=ÈÑ‘R¡Úƒ õºrt¤ÔDG¨ö GGJMt„jbt¤Ð¡YssFG„.ƒ)5Ѫ=ÈÑ‘R¡Úƒ)5Ѫ=ÈÑ‘QgtDê2ÈÑ‘R¡Úƒ)5Ѫ=ÈÑ‘R¡ÚƒuFG¤.ƒ)5Ѫ=ÈÑ‘R¡Úƒ)5Ѫ=ÈÑ‘QgtDê2ÈÑ‘R¡Úƒ)tDGhÖGGÊLt„hrtdÔ‘ºrt¤ÔDG¨ö GGJMt„jrt¤ÔDG¨ö GGFÑ©Ë GGJMt„jrt¤ÔDG¨ö GGJMt„jrtdÔ‘ºrt¤ÔDG¨ö GGJMt„jrt¤ÔDG¨ö GGFÑ©Ë FG -Ñš5ÇÑ‘2!Úƒ)5Ѫ=ÈÑ‘QgtDê2ÈÑ‘R¡Úƒ)5Ѫ=ÈÑ‘R¡Úƒ õºrt¤ÔDG¨ö GGJMt„jrt¤ÔDG¨ö GGFÑ©Ë GGJMt„jrt´_Á¸è_dDGW/²í¿ÇoŒŽ6ô´ýa££ñŒ‹ŽþöËWl޶ïïowš£Ç·í¯öë—«—[¿‚{ßkŽæ’‚/nþ(©«/nÿGI}~øQR¤.ƒü£¤”š%…jò’Rjª.T{«.¥¦êBµ±ê2hª.2{«.EŽªÉšãªK™©ºíA®º”šªÕäªË¨³ê"uäªK©©ºPíA®º”šªÕäªK©©ºPíA®ºŒ:«.R—A®º”šªÕäªK©©ºPíA®º”šªÕäªË¨³ê"uäªK©©ºPíA®º”šªÕĪK¡£êB³æ°ê2dª."{Ž«.e¦êB´¹êRjª.T{«.¥¦êBµ¹ê2ꬺH]¹êRjª.T{«.¥¦êBµ¹êRjª.T{«.£Îª‹Ôe«.¥¦êBµ¹êRjª.T{«.¥¦êBµ¹êê¥êuäªK©©ºPíA®º”šªÕĪK¡£êB³æ¸ê2欺]¹êRjª.T{«.¥¦êBµ¹êRjª.T{«.£Îª‹Ôe«.¥¦êBµ¹êRjª.T{«.¥¦êBµ¹ê2ꬺH]¹êRjª.T{«.¥¦êBµ¹êRjª.T{«.£Îª‹Ôe«.¥¦êBµ±êR診Ь9®º”™ªÑäªË¨³ê"uäªK©©ºPíA®º”šªÕäªK©©ºPíA®ºŒ:«.R—A®º”šªÕäªK©©ºPíA®º”šªÕäªË¨³ê"uäªK©©ºPíA®º”šªÕäªK©©ºPíA®ºŒ:«.R—A¬º:ª.4kŽ«.e¦êB´¹êRjª.T{«.£Îª‹Ôe«.¥¦êBµ¹êRjª.T{«.¥¦êBµ¹êê¥êuäªK©©ºPíA®º”šªÕäªK©©ºPíA®ºŒ:«.R—A®º”šªÕäªk¿3rU¾È¨º®^d·êÚßø«›Ž‡ÓÛ#W]ã]uýï_ÿãsÍu<^_ù—7oÿÀñðñ‹Z/ïô9æz?¾îýòæùK~ákš¿ä÷êkÚÿ%¿Ÿ_~É/ª=È¿äרó—ü’ºò/ùUj~É/ª=È¿äW©ù%¿¨ö ÿ’_¥æ—ü¢ÚƒüK~:É/©Ë ý’_ežÉ/Š×cøK~8~É/Š5Ç¿äW™ù%¿ˆö ÿ’_¡^~É/¨ë ÿ’_¥æ—ü¢ÚƒüK~•š_ò‹jò/ùUj~É/ª=È¿äרó—ü’ºò/ùUj~É/ª=È¿äW©ù%¿¨ö ÿ’_¥¦ÌFµ¹Ì6ê,³I]¹ÌVjÊlT{Ël¥¦ÌFµ¹ÌVjÊlT{Ëlƒ¦Ì&³ç°ÌVä(³‘¬9.³•™2Ñä2[©)³QíA.³:ËlR—A.³•š2Õä2[©)³QíA.³•š2Õä2Û¨³Ì&uä2[©)³QíA.³•š2Õä2[©)³QíA.³:ËlR—A.³•š2Õä2[©)³QíA,³:Êl4kËlC¦Ì&²ç¸ÌVfÊlD{Ël¥¦ÌFµ¹ÌVjÊlT{Ël£Î2›ÔeËl¥¦ÌFµ¹ÌVjÊlT{Ël¥¦ÌFµ¹Ì6ê,³I]¹ÌVjÊlT{Ël¥¦ÌFµ¹ÌVjÊlT{Ël¡^ÊlP×A.³•š2Õä2[©)³QíA,³:Êl4kŽËlcÎ2›ÐeËl¥¦ÌFµ¹ÌVjÊlT{Ël¥¦ÌFµ¹Ì6ê,³I]¹ÌVjÊlT{Ël¥¦ÌFµ¹ÌVjÊlT{Ël£Î2›ÔeËl¥¦ÌFµ¹ÌVjÊlT{Ël¥¦ÌFµ¹Ì6ê,³I]¹ÌVjÊlT{Ël…Ž2Íšã2[™)³íA.³:ËlR—A.³•š2Õä2[©)³QíA.³•š2Õä2Û¨³Ì&uä2[©)³QíA.³•š2Õä2[©)³QíA.³:ËlR—A.³•š2Õä2[©)³QíA.³•š2Õä2Û¨³Ì&uÄ2[¡£ÌF³æ¸ÌVfÊlD{Ël¥¦ÌFµ¹Ì6ê,³I]¹ÌVjÊlT{Ël¥¦ÌFµ¹ÌVjÊlT{Ël¡^ÊlP×A.³•š2Õä2[©)³QíA.³•š2Õä2Û¨³Ì&uä2[©)³QíA.³÷£aWf㋌2ûêEvËìý÷øm?oóü_Åc˜=q]ö÷úúýÿs³ÌÞþP÷üôÎiööÍéõííËå¥>—Ù§½0;/|IyæêKÚÍw?¿Ä~½‹dÍa»kȤ»Dö„» -üÖí"w5EÕ®ÒÎÑ.r×c˜ì*p»(Ööº‚œ¹.ËÆºŠ.’5‡¥®"G¨‹dÍa¦«ÈQé"YsØè2‰.‘=‡®"GŸ‹dÍa«Èç"Ys˜æ*r”¹HÖv¹†L–KdÏa”«ÈÑä"YsXä*r¹HÖæ¸Š5.’5G-®GŠK`Qˆ«¼s‡‹ÞõV¸ -.Š5‡ ®"G‹dÍakÈä·DöÆ·Ší-’5‡å"Gx‹dÍav«ÈQÝ"YsØÜ2É-‘=‡Á"Go‹dÍam«ÈÛ"Ys˜Ú*r”¶HÖv¶†LfKdÏad«ÈÑØ"YsXØ*r¶HÖåµJ<×µ^Q[k¼‘Ö’WcÖ*ptµ(ÖVµŠQ-’5‡I"GQ‹dÍaOkÈä´DöÆ´Š--’5‡%"GH‹dÍaF«ÈQÑ"YsØÐ2 -‘=‡"G?‹dÍa=«ÈÏ"Ys˜Î*r”³HÖv³‚œÙ,ËF³ŠÍ,’5‡Å¬"G0‹dÍQ.«Äs-‹àõ¶²L*KbÏa(«ÈÑÉ"YsXÉ*rD²HÖ&²Š…,’5‡}¬!“ÇÙsÇ*r´±HÖ–±Ša,’5‡Y¬"G‹dÍakÈ$±Dö±Š=,’5‡5¬"G‹dÍa -«ÈQÂ"YsØÁ2,‘=‡¬"G‹dÍQ«Äs -õ+Š5‡í«!“¾Ùs¾*rt¯HÖV¯ŠÑ+’5‡É«"GñŠdÍaïjÈä®DöÆ®Š+’5‡¥«"GèŠdÍaæªÈQ¹"Ysظ2‰+‘=‡«"GߊdÍaݪȷ"Ys˜¶*r”HÖv†LÖJdÏQÔªÄsÓŠàõ -A+Š5‡9«"GÍŠdÍaËjȤ¬Dö†¬Š+’5‡«"GÄŠdÍaªÈQ°"Ysد -ræ«@.s¯*r´«HÖ–«Šá*’5‡Ùª"GµŠdÍa³jÈ$«Dö«Š½*’5‡µê~G©bU|‹ó3Woñ²“ªî¿ÄoûÂÇíûçÇŽ©êxF¶ªùúÝÏŸCÕ_e§S}y?ÿ»ÍË+}þ|<¾ìþá‡í-Nü%å¡ë/éÆ>N¯§[/rC=?{GíÁõüÓ:~\2«=ˆ?.Ù©ãÇ%³Úƒøã’•š—Œê2ˆ?.Ù©ãÇ%³Úƒøã’šÚÕäÞZ© ®QíAN®:›kR—Aª®•yήQ¼ÃðZ£¼F±æ¸½VfâkD{ók¡^úkP×A.°•šÕä[©©°QíAî°•šÕäÛ¨³Å&uä[©É±QíA²•š"Õä&[©‰²QíAβ:»lR—A.³•š4Õä8[©©³QíAš@ÕÄDÛ i´Éì9¬´92m$kŽCme¦ÔF´¹ÕVjbmT{sm£Î^›Ôe‹m¥&ÙFµ9ÚVjªmT{»m¥&ÜFµ9Ý6êl·I]¹ÞVjòmT{n¥¦àFµ¹áVj"nT{3n£ÎŽ›ÔeKn¥&åFµ9æVjjnT{{n…Ž ÍšÃ¤Ûiº‰ì9®º•™¬Ñä°[©)»QíAn»•š¸Õä¼Û¨³ï&uäÂ[©I¼QíA޼•šÊÕäÎ[© ½QíAN½:[oR—A®½•šÜÕäà[©)¾QíAn¾•šèÕäì[¨—îÔuËo¥&ýFµ9þVjêoT{ûo…Ž -\©ÉÀQíAÁ•šÕä\©‰ÁQíAÎÁ:{pR—A.•š$Õä(\©©ÂQíA0Õä4ܨ³
'uä:\©ÉÃQíAÄ•šBÕäF\©‰ÄQíAÎÄ:;qR—A.Å•šTÕÄX\¡£G³æ¸Wf‚qD{“q£ÎfœÔe«q¥&Gµ9WjÊqT{Ûq¥&Gµ97êìÇI]¹ WjrT{#r¥¦"Gµ¹#WjBrT{Sr£Î–œÔekr¥&'Gµ9(WjŠrT{›r¥&*Gµ9+7êìÊI]±,WèHËѬ9ŽË•™ºÑä¾\© ÌQíANÌ:sR—A®Ì•šÌÕäÐ\©)ÍQíAnÍ•šØÕäÜ\¨—ÞÔu‹s¥&9Gµ9:WjªsT{»s¥&<Gµ9=7êlÏI]¹>WjòsT{t -¤MŽ/2ô«ÙmÐ÷ßã7þ¸ä—ÓáeûGŒÐÇ3.BÿåOûõ‡ŸþýÇÿo?0ùòZÿC?1¾ªÙð^}Uû
ïç÷€†Õä†×¨³á%u¤†W™ç†Åë1lx8^kŽ^e¦áE´¹áê¥áuä†W©ixQíAnx•š†Õä†W©ixQíAnx:^R—Anx•š†Õä†W©ixQíAnx•š†Õä†×¨³á%uä†W©ixQíAnx•š†Õä†W©ixQíAlx
š†—̞ÆW‘£áE²æ¸áUf^D{^¥¦áEµ¹á5êlxI]¹áUj^T{^¥¦áEµ¹áUj^T{^£Î†—Ôe^¥¦áEµ¹áUj^T{^¥¦áEµ¹á5êlxI]¹áUj^T{^¥¦áEµ±áUèhxѬ9lx
™†—Èžã†W™ixíAnx•š†Õä†W©ixQíAnx:^R—Anx•š†Õä†W©ixQíAnx•š†Õä†×¨³á%uä†W©ixQíAnx•š†Õä†W©ixQíAnx…zixA]¹áUj^T{^¥¦áEµ±áUèhxѬ9nx9^B—Anx•š†Õä†W©ixQíAnx•š†Õä†×¨³á%uä†W©ixQíAnx•š†Õä†W©ixQíAnx:^R—Anx•š†Õä†W©ixQíAnx•š†Õä†×¨³á%uä†W©ixQíAlx:^4kŽ^e¦áE´¹á5êlxI]¹áUj^T{^¥¦áEµ¹áUj^T{^£Î†—Ôe^¥¦áEµ¹áUj^T{^¥¦áEµ¹á5êlxI]¹áUj^T{^¥¦áEµ¹áUj^T{^£Î†—Ôe^…Ž†Íšã†W™ixíAnx•š†Õä†×¨³á%uä†W©ixQíAnx•š†Õä†W©ixQíAnx…zixA]¹áUj^T{^¥¦áEµ¹áUj^T{^£Î†—Ôe^¥¦áEµ¹áÝoK]Ë/2Þ«Ùmx÷ßã7þ éçÇíïÌÏÜðŽg\Ãû¯_ýo»ï˶ôÂïñáñðþñ;—7ûü—zûƒÿÎ_êK–_Ù̯¾²ý,ñó‹@–ˆjr–¨Ôd‰¨ö g‰FY"©Ë g‰JM–ˆjr–¨Ôd‰¨ö g‰JM–ˆjr–hÔ™%’ºr–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö f‰M–HfÏa–¨È‘%"Ysœ%*3Y"¢=ÈY¢R“%¢Úƒœ%uf‰¤.ƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qg–Hê2ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%uf‰¤.ƒœ%*5Y"ª=ÈY¢R“%¢Úƒ˜%*td‰hÖf‰†L–HdÏq–¨Ìd‰ˆö g‰JM–ˆjr–¨Ôd‰¨ö g‰FY"©Ë g‰JM–ˆjr–¨Ôd‰¨ö g‰JM–ˆjr–hÔ™%’ºr–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö g‰B½d‰ ®ƒœ%*5Y"ª=ÈY¢R“%¢Úƒ˜%*td‰hÖg‰ÆœY"¡Ë g‰JM–ˆjr–¨Ôd‰¨ö g‰JM–ˆjr–hÔ™%’ºr–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö g‰FY"©Ë g‰JM–ˆjr–¨Ôd‰¨ö g‰JM–ˆjr–hÔ™%’ºr–¨Ôd‰¨ö f‰ -Y"š5ÇY¢2“%"Úƒœ%uf‰¤.ƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qg–Hê2ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%uf‰¤.ƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qg–Hê2ˆY¢BG–ˆfÍq–¨Ìd‰ˆö g‰JM–ˆjr–hÔ™%’ºr–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö g‰B½d‰ ®ƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qg–Hê2ÈY¢R“%¢úÿ¶v7»‘é•…o¥†=i‚ÿIŽ=j40`÷¬`»²ílT[I5¨»w0ãÛ_Ä~ɳ¸RÖü`?'ĪTJZodr–HœÉñEV–xõ"‡Yâñ{üàW‹>¼œ~kñÈYâzFg‰÷í/ÿñõç_ÞW‰OϧÁO¾\ôõùæéí¿Î^^ìý_é—“~ðí¢û‹!áƒí/†¼ú`Ç_ùþEà‹!AƒüÅJM‰jr©Ô˜¨ö ˜JM‰jriÔ]`’:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`*5&ª=ȦRS`¢ÚƒX`4&™=‡¦"W‰dÍq©Ì˜ˆö ˜JM‰jriÔ]`’:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`*5&ª=ȦRS`¢Úƒ\`u˜¤ŽA.0•šÕäS©)0QíA,0º -L4kLC¦À$²ç¸ÀTf -LD{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`*5&ª=ȦRS`¢Úƒ\`u˜¤ŽA.0•šÕäS©)0QíA.0•šÕäS¨—Ô9ȦRS`¢Úƒ\`*5&ª=ˆ¦BW‰fÍqiÌ]`:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`*5&ª=ȦRS`¢Úƒ\`u˜¤ŽA.0•šÕäS©)0QíA.0•šÕäÓ¨»À$ur©Ô˜¨ö ˜ -]&š5Ǧ2S`"Úƒ\`u˜¤ŽA.0•šÕäS©)0QíA.0•šÕäÓ¨»À$ur©Ô˜¨ö ˜JM‰jr©Ô˜¨ö ˜FÝ&©cL¥¦ÀDµ¹ÀTj -LT{L¥¦ÀDµ¹À4ê.0IƒX`*t˜hÖ˜ÊL‰hr©Ô˜¨ö ˜FÝ&©cL¥¦ÀDµ¹ÀTj -LT{L¥¦ÀDµ¹Àê¥Àur©Ô˜¨ö ˜JM‰jr©Ô˜¨ö ˜FÝ&©cL¥¦ÀDµ¹À¤.Иø"«À¼z‘Ãóø=~°ÀüžÞ<p¹ž‘¸ûïT`^^ì·˜ðÁvyõÁŽÌ÷/&¨sL¥¦ÀDµ¹ÀTj -LT{L¥¦ÀDµ¹À4ê.0Iƒ\`*5&ª=ȦRS`¢Úƒ\`*5&ª=ȦQwIêäS©)0QíA.0•šÕäS©)0QíA,0
š“ÌžÃS‘«ÀD²æ¸ÀTf -LD{L¥¦ÀDµ¹À4ê.0Iƒ\`*5&ª=ȦRS`¢Úƒ\`*5&ª=ȦQwIêäS©)0QíA.0•šÕäS©)0QíA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜ -]&š5‡¦!S`Ùs\`*3&¢=ȦRS`¢Úƒ\`*5&ª=ȦQwIêäS©)0QíA.0•šÕäS©)0QíA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜JM‰jr)ÔK êäS©)0QíA.0•šÕÄS¡«ÀD³æ¸À4æ.0 ƒ\`*5&ª=ȦRS`¢Úƒ\`*5&ª=ȦQwIêäS©)0QíA.0•šÕäS©)0QíA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜JM‰jriÔ]`’:¹ÀTj -LT{L…®ÍšãS™)0íA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜JM‰jriÔ]`’:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`*5&ª=ȦRS`¢Úƒ\`u˜¤ŽA,0º -L4kŽLe¦ÀD´¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`*5&ª=ȦRS`¢Úƒ\` -õR`‚:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`Rh -L|‘U`^½Èayü?øGsŸzûÇ,0×3?ø˜˜·7¯·Ÿ˜w§_³_þpõ^óåï¿7GæÃÍ#ªó#ןéæýK<ݼýå÷ïðøýÑOÄš; WªÌT¦ˆö W¦B½T¦ ÎA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ±25h*S2{+SE®ÊÉšãÊT™©LíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢ÚƒX™*tU¦hÖV¦†LeJdÏqeªÌT¦ˆö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©P/•)¨s+S¥¦2Eµ¹2Uj*ST{+S…®ÊÍšãÊÔ˜»2%treªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©QweJêäÊT©©LQíA¬Lº*S4kŽ+Se¦2E´¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©QweJêäÊT©©LQíA®L•šÊÕäÊT©©LQíA®Lº+SRÇ W¦JMeŠjreªÔT¦¨ö W¦JMeŠjrejÔ]™’:±2UèªLѬ9®L•™ÊÑäÊT©©LQíA®Lº+SRÇ W¦JMeŠjreªÔT¦¨ö W¦JMeŠjre*ÔKe -êäÊT©©LQíA®L•šÊÕäÊT©©LQíA®Lº+SRÇ W¦JMeŠjrez?ºÊ_dU¦W/rX™¿Ç}ÏçýëëéŸÛ12]èoùü§¯?û¿ûûŸþôõ}gzúÌãýv¦oíùä]Þl¾ýíéל—ƒ¿Ò»^ƒ–g®>Øa»öþ-ŽÓ5$kÃ5E®n
ÉšÃj͉ֈì9LÖ¹Š5$k{5E®\
ÉšÃXM‘«UC²æ¨T3â -Õ¬1ÊÔ”w®ÔлÃFM+QC±æ0PSäêÓ¬9¬Ó™8ÈžÃ4M‘«LC²æ°KSäÊÒ¬9ŒÒ¹š4$k‹4C&H#²ç0GSäªÑ¬9lѹR4$kC4E®
ɚà -͉Јì9Lй -4$kû3E®üÉš£øL‰çöÁë1*ÏŒ·Â3òj³3®êÅšÃæL‘+9C²æ08Säêͬ9¬Í™ØŒÈžÃÔL‘«4C²æ°3SäÊ̬9ŒÌ¹3$k3C&0#²ç0/SäªË¬9l˹Ò2$kÃ2E®®ÉšÃªL;*rÌaR¦ÈU”!YsØ“)rådHÖÅdJ<·d^aIfÀ„d$öfdŠ\’5‡
™"WB†dÍa@¦ÈÕ!YsX2ñ‘=‡é˜"W9†dÍa7¦È•!Ys)r5cHÖc†L0FdÏa.¦ÈU‹!YsØŠ)r¥bHÖ†bŠ\’5‡•˜!‰Ùs˜ˆ)rbHÖõaJ<ça^a¦ÀÕ†¡XsX†2a‘=‡Y˜"W†dÍa¦È•„!Ys„)rõ`HÖÖ`†LFdÏa -¦ÈU‚!YsØ)re`HÖF`Š\
’5‡˜!€Ùs˜)rÕ_HÖ¶_Š\é’5‡á—"W÷…dÍaõeÈD_Dö%_J<_^aï¥À•{¡Xs{)rµ^HÖ–^†LèEdÏaæ¥ÈUy!YsØx)r%^HÖ^Š\}’5‡u— wÜä˜Ã´K‘«ìB²æ°ëRäʺ¬9Œº¹š.$k‹.C&è"²ç0çR䪹¬9l¹Ž#•rá[œŸ¹z‹£ëø%¾ÿÚ×·ÿŽHßxú-ÐÃÛW¿Ý¿<ß¼žþ–ýaȵÊ3\r=¬:ëÿ<ݾ¾¸îonïÖ÷çùå—w_—÷p{zÛ‡?\½Ðû~ëî(ߺ¸»¹ûþ€ðyòÐõçyÿµ}7Ï÷½ÇêùÙOÔ<PŸoîÞ~-QêùÙOÔ<P_nžoz~öµ?Vïnn_Ÿºžeu¨7Oo¿¨(õüì'j¨Ï7·_¬z~öµÔ—›§·_©”z~öµ?VŸN?†§W§®gYƒêéÇðhÕ󳟨=x ž~ò‰ó£Ÿ˜5w@ž~wÒ<?û Úƒ«Ï§ŸÁ½T׳¬ŽÁõô3¸»—êùÙOÔ<PO?…[«žŸýDíÁõåæñõAªçg?Q{ðcõËéo·/òÁëYVÇàúpóøÅªçg?Q{ð@}:=/ÿ6·žýDíÁõôcx’›[Ï~¢öàÇêËéÇð(Õõ,«cð@=ýäßæÖ³Ÿ¨=x ž~÷òosëÙOÔ<PO?†;«žŸýDíÁƒo“>Ó¶R׳¬ŽÁõ훵ùýkºY¼£¯évàùkºY¬9üšng®¯éf´ñkºº¿¦›Ô9ˆ_ÓíÔõ5ݬö ~M·S××t³Úƒø5ÝN]_ÓÍjâ×t+5_ÓêįévjPíA>uRjnPíA¾vRjÎPíA>x2ê¾x"uòÍ“Rsô„jòÙ“Rs÷„jòå“Rsú„jâñ“AsýDfÏáý“"×’5Ç'PÊÌ
¢=ÈWPJͪ=ȇPFÝ—P¤ŽA¾…RjŽ¡PíA>‡Rjî¡PíA¾ˆRjN¢PíA>Š2꾊"uò]”Rs…jòi”Rs…jòu”Rs…jò”Q÷…©co¤”š#)T{Ϥ”š;)T{/¥ºN¥Ð¬9<–2d®¥ˆì9¾—Rf¦íA>™Rjn¦PíA¾šRjΦPíA>œ2꾜"uòí”Rs<…jòù”Rs?…jò•RsB…jò•Q÷©c﨔šC*T{O©”š[*T{¯©”šs*T{ª„z¹¨uòM•RsT…jòY•RsW…jâe•B×iš5ÇÇUÆÜ×U„ŽA¾¯Rj¬PíA>±Rjn¬PíA¾²RjάPíA>´2ê¾´"uò•Rsl…jò¹•Rso…jòÅ•Rsr…jòÑ•Q÷Õ©cï®”šÃ+T{O¯”šÛ+T{¯¯”šó+T{°Œº/°Hƒ|ƒ¥Ôa¡Úƒx†¥Ðu‡…fÍñ%–2sŠ…hò1–Q÷5©cï±”šƒ,T{O²”š›,T{¯²”š³,T{³Œº/³Hƒ|›¥Ôg¡Úƒ|ž¥ÔÜg¡Úƒ|¡¥Ôœh¡Úƒ|¤eÔ}¥Eêä;-¥æPÕäS-¥æVÕäk-¥æ\Õäƒ-£î‹-RÇ Þl)tm¡Ys|¶¥ÌÜm!Úƒ|¹¥Ôœn¡Úƒ|¼eÔ}½Eêäû-¥æ€Õä.¥æ†Õä+.¥æŒÕäC.¡^.¹@ƒ|Ë¥Ôs¡Úƒ|Î¥ÔÜs¡Úƒ|Ñ¥Ôœt¡Úƒ|ÔeÔ}ÕEêä».¥æ°ÕäÓ®ãã#wÛ…/²Ž»®^äËÑu×ñ{üà×ty8ùŸ|O÷zæršõ?ïŸnÿÇ?üüÓ¯?ýú·¿|}ªõtþæî«ñ÷§Zo'·Zû8^n'\½ÜñqÂûãRÇ '(5Ç ¨ö '(5Ç ¨ö '(5Ç ¨ö 'u':ù8A©9N@µù8A©9N@µù8A©9N@µù8Á¨û8Ô1ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ FÝÇ ¤ŽA:NPæù8Åë1<NPà:N@±æø8A™9N@´ù8A¨—ãPç '(5Ç ¨ö '(5Ç ¨ö '(5Ç ¨ö 'u':ù8A©9N@µù8A©9N@µù8A©9N@µù8Á¨û8Ô1ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ JÍqª=ˆÇ Íq™=‡Ç Š\Ç HÖ'(3Ç ˆö '(5Ç ¨ö 'u':ù8A©9N@µù8A©9N@µù8A©9N@µù8Á¨û8Ô1ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ FÝÇ ¤ŽA>NPjŽPíA>NPjŽPíA<NPè:N@³æð8Á9N ²çø8A™9N@´ù8A©9N@µù8A©9N@µù8Á¨û8Ô1ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ FÝÇ ¤ŽA>NPjŽPíA>NPjŽPíA>NPjŽPíA>Nêå8Ô9ÈÇ JÍqª=ÈÇ JÍqª=ˆÇ -]Ç hÖ's':ù8A©9N@µù8A©9N@µù8A©9N@µù8Á¨û8Ô1ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ JÍqª=ÈÇ FÝÇ ¤ŽA>NPjŽPíA>NPjŽPíA>NPjŽPíA>N0ê>N uòq‚Rsœ€jâq‚B×qš5ÇÇ ÊÌq¢=ÈÇ FÝÇ ¤ŽA>NPjŽPíA>NPjŽPíA>NPjŽPíA>N0ê>N uòq‚Rsœ€jòq‚Rsœ€jòq‚Rsœ€jòq‚Q÷q©c”šãT{”šãT{”šãT{ŒºHƒxœ Ðuœ€fÍñq‚2sœ€hòq‚Rsœ€jòq‚Q÷q©c”šãT{”šãT{”šãT{„z9N -]
/š5Ç
¯2Óð"ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAnx…zixAƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnxÛR×ð⋬†÷êE^ŽÞã÷øÁ/|ùþ;°á]ϸ†÷/_ÿÿ?ÿüíׯÿ½†÷òZ¿©á…OµÞ«OuÜð¾hxQíAnxº^RÇ 5¼Ê<7¼(^aëÀÕð¢XsÜð*3
/¢=È
¯P/
/¨s^¥¦áEµ¹áUj^T{^¥¦áEµ¹á5ênxIƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAlx
š†—̞ÆW‘«áE²æ¸áUf^D{^¥¦áEµ¹á5ênxIƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 6¼ -]
/š5‡
¯!ÓðÙsÜð*3
/¢=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃ+ÔKÃêä†W©ixQíAnx•š†ÕĆW¡«áE³æ¸á5ænx ƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÝð’:¹áUj^T{^…®†Íšã†W™ixíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÝð’:¹áUj^T{^¥¦áEµ¹áUj^T{^£î†—Ô1È
¯RÓð¢ÚƒÜð*5
/ª=È
¯RÓð¢ÚƒÜðu7¼¤ŽAlxº^4kŽ^e¦áE´¹áUj^T{^£î†—Ô1È
¯RÓð¢ÚƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð -õÒð‚:¹áUj^T{^¥¦áEµ¹áUj^T{^£î†—Ô1È
¯RÓð¢ÚƒÜð·¥®áÅY
ïÕ‹6¼ÇïñƒßÃ{ú'è»»{nx×3®áýÓן‡†÷òZ¿©á…OµÞ«OuÜð¾hxQíAnxº^RÇ 5¼Ê<7¼(^aëÀÕð¢XsÜð*3
/¢=È
¯P/
/¨s^¥¦áEµ¹áUj^T{^¥¦áEµ¹á5ênxIƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAlx
š†—̞ÆW‘«áE²æ¸áUf^D{^¥¦áEµ¹á5ênxIƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 6¼ -]
/š5‡
¯!ÓðÙsÜð*3
/¢=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃ+ÔKÃêä†W©ixQíAnx•š†ÕĆW¡«áE³æ¸á5ænx ƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð*5
/ª=È
¯QwÃKêä†W©ixQíAnx•š†Õä†W©ixQíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÝð’:¹áUj^T{^…®†Íšã†W™ixíAnxº^RÇ 7¼JMËjrëÔ4¼¨ö 7¼JMËjrÃkÔÝð’:¹áUj^T{^¥¦áEµ¹áUj^T{^£î†—Ô1È
¯RÓð¢ÚƒÜð*5
/ª=È
¯RÓð¢ÚƒÜðu7¼¤ŽAlxº^4kŽ^e¦áE´¹áUj^T{^£î†—Ô1È
¯RÓð¢ÚƒÜð*5
/ª=È
¯RÓð¢ÚƒÜð -õÒð‚:¹áUj^T{^¥¦áEµ¹áUj^T{^£î†—Ô1È
¯RÓð¢ÚƒÜð·¥®áÅY
ïÕ‹6¼ÇïñƒßÃ{ú5òŽÞõŒkxùöïÿù¾ß½¼¹½ã|÷ùñœã\Þèý_â/‡ýîóóÍíí'Ÿ(]¢÷ÁçóËÍãëÃG/òz~öµ?VO¿³|}ytêz–Õ1x >Ü<~±êùÙOÔ<PŸNÏ?Iõüì'j¨§ÃÓ³TÏÏ~¢öàA
~ú1<Ju=Ëê<PO?†·NQêùÙOÔ<PW¯Ôôö¨ö ÷öJMojrooÔÝÛ“:©·Wæ¹·Gñz{{®ÞÅšãÞ^™éííAîí…zéíAƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½QwoOêäÞ^©éíQíAî핚ÞÕäÞ^©éíQíAîíº{{RÇ ÷öJMojro¯Ôôö¨ö ÷öJMojbooÐôödöööŠ\½=’5ǽ½2ÓÛ#ÚƒÜÛ+5½=ª=Ƚ½QwoOêäÞ^©éíQíAî핚ÞÕäÞ^©éíQíAîíº{{RÇ ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÝÛ“:¹·Wjz{T{{{¥¦·Gµ±·WèêíѬ9ìí
™ÞžÈžãÞ^™éííAî핚ÞÕäÞ^©éíQíAîíº{{RÇ ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÝÛ“:¹·Wjz{T{{{¥¦·Gµ¹·Wjz{T{{{¡^z{Pç ÷öJMojro¯Ôôö¨ö öö -]½=š5ǽ½1woOèäÞ^©éíQíAî핚ÞÕäÞ^©éíQíAîíº{{RÇ ÷öJMojro¯Ôôö¨ö ÷öJMojrooÔÝÛ“:¹·Wjz{T{{{¥¦·Gµ¹·Wjz{T{{{£îÞžÔ1Ƚ½RÓÛ£ÚƒØÛ+tõöhÖ÷öÊLohrooÔÝÛ“:¹·Wjz{T{{{¥¦·Gµ¹·Wjz{T{{{£îÞžÔ1Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛu÷ö¤ŽAî핚ÞÕäÞ^©éíQíAî핚ÞÕäÞÞ¨»·'ubo¯ÐÕÛ£YsÜÛ+3½=¢=Ƚ½RÓÛ£ÚƒÜÛu÷ö¤ŽAî핚ÞÕäÞ^©éíQíAî핚ÞÕäÞ^¨—ÞÔ9Ƚ½RÓÛ£ÚƒÜÛ+5½=ª=Ƚ½RÓÛ£ÚƒÜÛu÷ö¤ŽAî핚ÞÕäÞžbpÓÛ㋬ÞþêE{ûã÷øÁÞþöõô7yÎíÏÈÚþë¯ÿð×ýó·ûß_ÿö¾º?ýžíö‘¿5ûáô?½‡·s½_ìý_è·O÷ñ_èK¨wü¹v§wù\Ǚ޻·€JÈžãFÏIôˆ¬9ô™>Èšã:ωóˆ¬9Nó¹Ë< {Ž»<C&Ë#²æ8Ê3dš<"kŽ‹<C&È#²æ0Çbj< -ωðˆ¬9Nð¹< {Žû;C&¿#²æ8¾3dÚ;"kŽË;C&¼#²æ8»ä®î€ì9nî™äŽÈšãàÎé투9®í™ØŽÈšãÔN»´²ç¸³3d2;"kŽ#;C¦±#²æ°°3â -ì¼Ã¼Nx©ëÀ«1n똴ŽÄšã°Îéꈬ9®ê™¨ŽÈšã¤N»¨²ç¸§3dr:"kŽc:C¦¥#²æ¸¤3dB:"kŽ3:AîŠÈžã†ÎI般9è™~ŽÈšãzΉ爬9Nç>'/åÜ19減3d²9"kŽ£9C¦™#²æ°˜3â -æ¼ã\N€»–±ç¸•3dR9"kŽC9C¦“#²æ¸’3d"9"kŽ9AîBÈžã>ÎÉ㈬9Žã™6ŽÈšã2Π㈬9Î⹫8 {Ž›8C&‰#²æ8ˆ3dz8"kŽk8C&†#²æ8…ä.á€ì9îà™ŽÈšÃΈ«#ðzŒ8&€#±æ8ä®ß€ì9nß™ôÈšãðÍéÞˆ¬9®Þ™èÈšãäM»x²ç¸w3dr7"kŽc7C¦u#²æ¸t3dB7"kŽ37AîÊ
ÈžãÆÍI܈¬9Ü™¾ÈšãºÍ‰Ûˆ¬9NÛ¹Ë6 {»6#®¬Àë1ŽÚ˜¦Äšã¢Í Úˆ¬9ÎÙ¹k6 {Ž[6C&e#²æ8d3d:6"kŽ+6C&b#²æ8aûœ¼lÇä˜ã~ÍÉ׈¬9Ž×™vÈšãrÍ ×ˆ¬9ÎÖ¹«5 {Ž›5C&Y#²æ8XƒŒÊôjô+W»¼Åavø#V»çXíîõùôÛ¯¬ÕòŒËÕþýë¯ÿôõç_¾ýôÁWÄ>†^8V»?aO/¸z±÷™_NúÁwÄæëéƒå¡ëvøu¼Èñ×’:ñ뺾.Õįtêúº@V{¿.Щ«Bdµ±CTjBDTÇ ¦ˆN]-"«=ˆ5¢SWŽÈjbèÔU$²ÚƒØ$*5Q"ªc³D§®.‘ÕÄ2Ñ©+Mdµ1NtêªYíAêºE4{ŽEGžE&k+Eg®L‘ÑÄPÑ©«Tdµ±UTjbETÇ æŠN]½"«=ˆÅ¢SW²Èjb´èÔU-²ÚƒØ-*5á"ªcÓE§®v‘ÕÄzÑ©+_dµ1`tê*YíAl•šˆÕ1ˆ£SWÇÈjbÉèÔ•2²Úƒ3:ô\3²YsÔ3*rHö&Î\M#£=ˆU£SWÖÈjbØèÔU6²ÚƒØ6*5q#ªcóF§®¾‘ÕÄÂÑ©+qdµ1rtêªYíA앚ÐÕ1ˆ©£SWëÈjbíèÔ•;²Úƒ<:u¬ö 6FÝÑ#©s³G§®î‘ÕÄòÑ©+}dµ)~tè¹~d³æ°TfHDÇ &N]
$«=ˆ¤SWÉjbéÔUB²ÚƒØB*51$ªcsH§®’ÕÄ"Ò©+‰dµ1Štêª"YíAì"•š0Õ1ˆi¤SWÉjbéÔ•G²ÚƒH:u’¬ö 6’JM$‰êÄLÒ©«“dµ©”tè9•d³æ0–tæª%íAì%•š`Õ1ˆÉ¤SW3Éjb5éÔ•M²ÚƒN:u•“¬ö ¶“JM<‰êÄ|Ò©«Ÿdµ± têJ(YíAŒ(º*JV{;J¥&¤DubJéÔÕR²ÚƒXS:u唬ö •N]E%«=ˆM¥RU¢:)«t蹫d³æ°¬tæJ+íAŒ+ºêJV{ûJ¥&°DubbéÔÕX²ÚƒXY:ue–¬ö †–N]¥%«=ˆ¥QwlIêÄÜÒ©«·dµ±¸têJ.YíAŒ.ºªKV{»K¥&¼DubzéÔÕ^²ÚƒX_b(òK~‘óC×/r`Â{üØ×Þ½<|ÿv>,0×3ú—óòb¿À„¶Ì«v\`¾(0Aƒ\`*5&ª=ȦRS`¢Úƒ\`*5&ª=ȦQwIêäS©)0QíA.0•šÕäS©)0QíA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜JM‰jbiИdö˜Š\&’5Ǧ2S`"Úƒ\`*5&ª=ȦQwIêäS©)0QíA.0•šÕäS©)0QíA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜JM‰jriÔ]`’:¹ÀTj -LT{L¥¦ÀDµ±ÀTè*0Ѭ9,0
™“ÈžãS™)0íA.0•šÕäS©)0QíA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜JM‰jriÔ]`’:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L¡^ -LPç ˜JM‰jr©Ô˜¨ö ˜ -]&š5Ǧ1wIèäS©)0QíA.0•šÕäS©)0QíA.0ºLRÇ ˜JM‰jr©Ô˜¨ö ˜JM‰jriÔ]`’:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢ÚƒX`*t˜hÖ˜ÊL‰hriÔ]`’:¹ÀTj -LT{L¥¦ÀDµ¹ÀTj -LT{L£î“Ô1ȦRS`¢Úƒ\`*5&ª=ȦRS`¢Úƒ\`u˜¤ŽA.0•šÕäS©)0QíA.0•šÕäÓ¨»À$ub©ÐU`¢Ys\`*3&¢=ȦRS`¢Úƒ\`u˜¤ŽA.0•šÕäS©)0QíA.0•šÕäS¨—Ô9ȦRS`¢Úƒ\`*5&ª=ȦRS`¢Úƒ\`u˜¤ŽA.0•šÕ䓺@S`⋬óêEÌã÷øÁïÀ<ý†æáô›7,0×3ú;0ÿñëÏßþåϘ·7¯·Ÿ˜w§_³_þpõ^óåï¿7GæÃÍ#ªó#ןéæýK<ݼýå÷ïðøýÑOÄš; WªÌT¦ˆö W¦B½T¦ ÎA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ±25h*S2{+SE®ÊÉšãÊT™©LíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢ÚƒX™*tU¦hÖV¦†LeJdÏqeªÌT¦ˆö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©P/•)¨s+S¥¦2Eµ¹2Uj*ST{+S…®ÊÍšãÊÔ˜»2%treªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©QweJêäÊT©©LQíA¬Lº*S4kŽ+Se¦2E´¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©QweJêäÊT©©LQíA®L•šÊÕäÊT©©LQíA®Lº+SRÇ W¦JMeŠjreªÔT¦¨ö W¦JMeŠjrejÔ]™’:±2UèªLѬ9®L•™ÊÑäÊT©©LQíA®Lº+SRÇ W¦JMeŠjreªÔT¦¨ö W¦JMeŠjre*ÔKe -êäÊT©©LQíA®L•šÊÕäÊT©©LQíA®Lº+SRÇ W¦JMeŠjrez?ºÊ_dU¦W/rX™¿Ç~Ïçé·Ç·\™®gô÷|þ•éå½~Ke -ŸjU¦WŸé°2}ÿÇ•)Š5Ç•©2S™"Úƒ\™ -õR™‚:¹2Uj*ST{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕÄÊÔ ©LÉì9¬L¹*S$kŽ+Se¦2E´¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjbeªÐU™¢YsX™2•)‘=Ç•©2S™"Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦B½T¦ ÎA®L•šÊÕäÊT©©LQíA¬Lº*S4kŽ+ScîÊ”Ð1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ±2UèªLѬ9®L•™ÊÑäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©QweJêÄÊT¡«2E³æ¸2Uf*SD{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•©RS™¢Úƒ\™*5•)ª=È•©P/•)¨s+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒ\™*5•)ª=È•éqüè*S|‘U™^½ÈëQezü?ø]¦7燎+ÓõŒþ.ÓÿõË/ýúó¯2½¼×o©LáSÊôê3V¦ïßá¸2E±æ¸2Uf*SD{+S¡^*SPç W¦JMeŠjreªÔT¦¨ö W¦JMeŠjrejÔ]™’:¹2Uj*ST{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢ÚƒX™4•)™=‡•©"WeŠdÍqeªÌT¦ˆö W¦JMeŠjrejÔ]™’:¹2Uj*ST{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA¬Lº*S4k+SC¦2%²ç¸2Uf*SD{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊT¨—ÊÔ9È•©RS™¢Úƒ\™*5•)ª=ˆ•©BWeŠfÍqejÌ]™:¹2Uj*ST{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö V¦ -]•)š5Ç•©2S™"Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒX™*tU¦hÖW¦ÊLeŠhreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹2ê¥2ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2=Ž]eŠ/²*Ó«9¬Lßã¿ËôáîæéöŽ+ÓõŒþ.Óߣ2½¼×o©LáSÊôê3V¦ïßá¸2E±æ¸2Uf*SD{+S¡^*SPç W¦JMeŠjreªÔT¦¨ö W¦JMeŠjrejÔ]™’:¹2Uj*ST{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢ÚƒX™4•)™=‡•©"WeŠdÍqeªÌT¦ˆö W¦JMeŠjrejÔ]™’:¹2Uj*ST{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA¬Lº*S4k+SC¦2%²ç¸2Uf*SD{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊT¨—ÊÔ9È•©RS™¢Úƒ\™*5•)ª=ˆ•©BWeŠfÍqejÌ]™:¹2Uj*ST{+S¥¦2Eµ¹2Uj*ST{+S£îÊ”Ô1È•©RS™¢Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö V¦ -]•)š5Ç•©2S™"Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹25ê®LIƒX™*tU¦hÖW¦ÊLeŠhreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ¹2ê¥2ureªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2=Ž]eŠ/²*Ó«9¬Lßã+Ó»—›ÓïÝ02=?¢¿Éôÿú¯ÿïë¿ýúAdú|Úû,2}¾yzûo³ûµÞÿe~9áGiòËãOµëË˧:Ž/ß½´—Çä˜ãòÒ /‰¬9Î.
™ê’ÈšãæÒI.‰¬9.¹{K {ŽkKC&¶$²æ8µ4dJK"kŽ;KC&³$²æ8²än,ì9.,
™À’Èšã¼Ò©+‰¬9n+
™´’ȚðRˆé*¬1¬*·¢Jò®Ç8©4`ŠJkŽ{JC&§$²æ8¦än)ì9.)
™’ÈšãŒÒ©(‰¬9n(
™„’Èšã€R»Ÿ²ç¸ž4dâI"kŽÓIC¦œ$²æ¸›4d²I"kŽ£IAîfÈžãbÒ &‰¬9Î%
™Z’ÈšÃVÒˆ+•$ðzCIᥓ¯Æ¸’4`"IkŽIC¦$²æ¸4dòH"kŽãHAî6Èžã2Ò #‰¬9Î"
™*’Èšã&ÒI"‰¬9"¹{H {ŽkHC&†$²æ8…4dJH"kŽ;HC&ƒ$²æ8‚üœ¼4Çä˜ãÒ ‰¬9Î
™ú‘ÈšÃöш+}$ðzŒÃGîîÄžãêщ‰¬9N
™â‘ÈšãÞÑɉ¬9޹[G {ŽKGC&t$²æ8s4d*G"kŽGC&q$²æ8päîì9®
™¸‘Èšã´Ñ)‰¬9î
™¬‘Èšã¨Q»i²ç¸h4d‚F"ksF#®š‘Àë1n
˜”‘ÄšãQ»c²ç¸b4d"F"kŽFC¦`$²æ¸_4dòE"kŽãEAîvÈžãrÑ ‰¬9Î
™j‘ÈšãfÑI‰¬9¹{E {ŽkEC&V$²æ8U4dJE"kŽ;EC&S$²æ8Ränì9,¸E¯Ç8O4`êDkŽÛDC&M$²æ8Läîì9®
™(‘Èšã$Ñ)‰¬9î
™‘ÈšãñsòÒ"“cŽKDC&D$²æ8C4d*D"kŽDC&A$²æ8@äîì9®
™øÈšãô’8SÒ[¬ððò‡ÝááKüà¡~ûöi^¸;\Ïè/·ü]ÂÃË‹ý¶ò>ØN¯>Øq{øþE >ur~¨Ôô‡¨ö ˆJM‚ˆjr„¨ÔTˆ¨ö wˆFÝ!"©cSD¥¦EDµ¹FTjrDT{ƒD¥¦HDµ¹I4êŽIƒœ%*5]"ª=Èe¢R“&¢Úƒ'*5u"ª=ˆ}¢A(’Ùs˜(*r5ŠHÖWŠÊL¦ˆhr¨¨Ô”Ѝö ·ŠFݱ"©csE¥¦WDµ¹XTj’ET{£E¥¦ZDµ¹[4êIƒœ.*5í"ª=Èõ¢R“/¢Úƒ0*5#ª=È
£QwÄHêäŒQ©éQíA.•š”ÕĘQ¡«fD³æ°g4d‚F"{Ž“Fe¦iD´¹jTj²FT{ÃF¥¦lDµ¹m4êŽIƒœ7*5}#ª=È…£R“8¢Úƒ9*5•#ª=È£QwèHêäÔQ©iQíA®•šÜÕäàQ©)QíAn…z‰Aƒœ=*5Ý#ª=Èå£R“>¢Úƒ?*tÕhÖ÷ÆÜ$¡cH¥¦Dµ¹‚Tj2HT{CH¥¦„Dµ¹…4êŽ!IƒœC*5=$ª=ÈE¤R“D¢ÚƒE*5U$ª=È]¤QwIêä4R©i#QíA®#•š<Õä@R©)$QíAn$º#IRÇ g’JM'‰jb)©Ð•J¢YsK*3µ$¢=Ƚ¤Qw0IêädR©i&QíA®&•šlÕäpR©)'QíAn'ºãIRÇ ç“JM?‰jrA©Ô$”¨ö G”JME‰jrGiÔR’:9¥TjZJT{kJ¥&§Dµ9¨TjŠJT{›J£î¨’Ô1ˆY¥BWW‰fÍqY©Ì¤•ˆö Ç•JM]‰jr_iÔX’:9±TjKT{+K¥&³Dµ9´TjJKT{[K¡^bKPç ç–JMo‰jrq©Ô$—¨ö G—JMu‰jrwiÔ^’:9½TjÚKT{ëKêM~‰/²úË«90ßãô;¯7OoÿÒôéùô;ß¿øñËÝÍ—‡ï¿zß¼Ü}Ù¯sú¿òÕë<ÜÜÞÝÿa=òö6ß¾};xŸËN¨ÿD—+endstream -endobj -1186 0 obj << -/Type /Page -/Contents 1187 0 R -/Resources 1185 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1178 0 R -/Annots [ 1189 0 R 1192 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R ] ->> endobj -1189 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 729.538 207.063 736.522] -/Subtype /Link -/A << /S /GoTo /D (6) >> ->> endobj -1192 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 729.538 521.32 736.522] -/Subtype /Link -/A << /S /GoTo /D (6) >> ->> endobj -1193 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [143.462 714.216 192.717 721.07] -/Subtype /Link -/A << /S /GoTo /D (8) >> ->> endobj -1194 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 714.216 521.32 721.07] -/Subtype /Link -/A << /S /GoTo /D (8) >> ->> endobj -1195 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [143.462 701.264 216.248 708.119] -/Subtype /Link -/A << /S /GoTo /D (18) >> ->> endobj -1196 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 701.264 521.32 708.119] -/Subtype /Link -/A << /S /GoTo /D (18) >> ->> endobj -1197 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 686.256 247.91 695.167] -/Subtype /Link -/A << /S /GoTo /D (20) >> ->> endobj -1198 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 686.256 521.32 695.167] -/Subtype /Link -/A << /S /GoTo /D (20) >> ->> endobj -1199 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 673.304 255.65 682.216] -/Subtype /Link -/A << /S /GoTo /D (78) >> ->> endobj -1200 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 673.304 521.32 682.216] -/Subtype /Link -/A << /S /GoTo /D (78) >> ->> endobj -1201 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 661.102 284.841 669.264] -/Subtype /Link -/A << /S /GoTo /D (80) >> ->> endobj -1204 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 661.102 521.32 669.264] -/Subtype /Link -/A << /S /GoTo /D (80) >> ->> endobj -1205 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 649.37 284.841 656.313] -/Subtype /Link -/A << /S /GoTo /D (111) >> ->> endobj -1206 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 649.37 521.32 656.313] -/Subtype /Link -/A << /S /GoTo /D (111) >> ->> endobj -1207 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 636.419 268.702 643.361] -/Subtype /Link -/A << /S /GoTo /D (138) >> ->> endobj -1208 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 636.419 521.32 643.361] -/Subtype /Link -/A << /S /GoTo /D (138) >> ->> endobj -1209 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 623.467 263.322 630.41] -/Subtype /Link -/A << /S /GoTo /D (152) >> ->> endobj -1210 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 623.467 521.32 630.41] -/Subtype /Link -/A << /S /GoTo /D (152) >> ->> endobj -1211 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 610.516 322.5 617.459] -/Subtype /Link -/A << /S /GoTo /D (168) >> ->> endobj -1212 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 610.516 521.32 617.459] -/Subtype /Link -/A << /S /GoTo /D (168) >> ->> endobj -1213 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 597.564 327.88 604.507] -/Subtype /Link -/A << /S /GoTo /D (179) >> ->> endobj -1214 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 597.564 521.32 604.507] -/Subtype /Link -/A << /S /GoTo /D (179) >> ->> endobj -1215 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 583.393 290.221 591.556] -/Subtype /Link -/A << /S /GoTo /D (190) >> ->> endobj -1216 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 583.393 521.32 591.556] -/Subtype /Link -/A << /S /GoTo /D (190) >> ->> endobj -1217 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 571.661 300.981 578.604] -/Subtype /Link -/A << /S /GoTo /D (199) >> ->> endobj -1218 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 571.661 521.32 578.604] -/Subtype /Link -/A << /S /GoTo /D (199) >> ->> endobj -1219 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 557.491 295.601 565.653] -/Subtype /Link -/A << /S /GoTo /D (208) >> ->> endobj -1220 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 557.491 521.32 565.653] -/Subtype /Link -/A << /S /GoTo /D (208) >> ->> endobj -1221 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [143.462 545.847 206.833 552.701] -/Subtype /Link -/A << /S /GoTo /D (225) >> ->> endobj -1222 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 545.847 521.32 552.701] -/Subtype /Link -/A << /S /GoTo /D (225) >> ->> endobj -1223 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 532.807 225.574 539.75] -/Subtype /Link -/A << /S /GoTo /D (227) >> ->> endobj -1224 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 532.807 521.32 539.75] -/Subtype /Link -/A << /S /GoTo /D (227) >> ->> endobj -1225 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 517.887 257.982 526.799] -/Subtype /Link -/A << /S /GoTo /D (231) >> ->> endobj -1226 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 517.887 521.32 526.799] -/Subtype /Link -/A << /S /GoTo /D (231) >> ->> endobj -1227 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 506.044 285.788 513.847] -/Subtype /Link -/A << /S /GoTo /D (295) >> ->> endobj -1228 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 506.044 521.32 513.847] -/Subtype /Link -/A << /S /GoTo /D (295) >> ->> endobj -1229 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 493.953 269.648 500.896] -/Subtype /Link -/A << /S /GoTo /D (327) >> ->> endobj -1230 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 493.953 521.32 500.896] -/Subtype /Link -/A << /S /GoTo /D (327) >> ->> endobj -1231 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 479.782 275.028 487.944] -/Subtype /Link -/A << /S /GoTo /D (334) >> ->> endobj -1232 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 479.782 521.32 487.944] -/Subtype /Link -/A << /S /GoTo /D (334) >> ->> endobj -1233 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 468.05 280.408 474.993] -/Subtype /Link -/A << /S /GoTo /D (348) >> ->> endobj -1234 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 468.05 521.32 474.993] -/Subtype /Link -/A << /S /GoTo /D (348) >> ->> endobj -1235 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 455.099 269.648 462.041] -/Subtype /Link -/A << /S /GoTo /D (360) >> ->> endobj -1236 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 455.099 521.32 462.041] -/Subtype /Link -/A << /S /GoTo /D (360) >> ->> endobj -1237 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 442.147 264.269 449.09] -/Subtype /Link -/A << /S /GoTo /D (368) >> ->> endobj -1238 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 442.147 521.32 449.09] -/Subtype /Link -/A << /S /GoTo /D (368) >> ->> endobj -1239 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 427.976 323.447 436.139] -/Subtype /Link -/A << /S /GoTo /D (376) >> ->> endobj -1240 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 427.976 521.32 436.139] -/Subtype /Link -/A << /S /GoTo /D (376) >> ->> endobj -1241 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 416.244 318.067 423.187] -/Subtype /Link -/A << /S /GoTo /D (382) >> ->> endobj -1242 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 416.244 521.32 423.187] -/Subtype /Link -/A << /S /GoTo /D (382) >> ->> endobj -1243 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 402.073 275.028 410.236] -/Subtype /Link -/A << /S /GoTo /D (389) >> ->> endobj -1244 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 402.073 521.32 410.236] -/Subtype /Link -/A << /S /GoTo /D (389) >> ->> endobj -1245 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 389.122 285.788 397.284] -/Subtype /Link -/A << /S /GoTo /D (396) >> ->> endobj -1246 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 389.122 521.32 397.284] -/Subtype /Link -/A << /S /GoTo /D (396) >> ->> endobj -1247 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 377.39 269.648 384.333] -/Subtype /Link -/A << /S /GoTo /D (402) >> ->> endobj -1248 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 377.39 521.32 384.333] -/Subtype /Link -/A << /S /GoTo /D (402) >> ->> endobj -1249 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 364.439 285.788 371.381] -/Subtype /Link -/A << /S /GoTo /D (406) >> ->> endobj -1250 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 364.439 521.32 371.381] -/Subtype /Link -/A << /S /GoTo /D (406) >> ->> endobj -1251 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 350.268 301.927 358.43] -/Subtype /Link -/A << /S /GoTo /D (413) >> ->> endobj -1252 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 350.268 521.32 358.43] -/Subtype /Link -/A << /S /GoTo /D (413) >> ->> endobj -1253 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 337.316 296.548 345.479] -/Subtype /Link -/A << /S /GoTo /D (429) >> ->> endobj -1254 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 337.316 521.32 345.479] -/Subtype /Link -/A << /S /GoTo /D (429) >> ->> endobj -1255 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 324.365 296.548 332.527] -/Subtype /Link -/A << /S /GoTo /D (434) >> ->> endobj -1256 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 324.365 521.32 332.527] -/Subtype /Link -/A << /S /GoTo /D (434) >> ->> endobj -1257 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 311.413 291.168 319.576] -/Subtype /Link -/A << /S /GoTo /D (443) >> ->> endobj -1258 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 311.413 521.32 319.576] -/Subtype /Link -/A << /S /GoTo /D (443) >> ->> endobj -1259 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 298.462 312.687 306.624] -/Subtype /Link -/A << /S /GoTo /D (447) >> ->> endobj -1260 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 298.462 521.32 306.624] -/Subtype /Link -/A << /S /GoTo /D (447) >> ->> endobj -1261 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 286.73 230.953 293.673] -/Subtype /Link -/A << /S /GoTo /D (460) >> ->> endobj -1262 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 286.73 521.32 293.673] -/Subtype /Link -/A << /S /GoTo /D (460) >> ->> endobj -1263 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 271.81 257.982 280.721] -/Subtype /Link -/A << /S /GoTo /D (468) >> ->> endobj -1264 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 271.81 521.32 280.721] -/Subtype /Link -/A << /S /GoTo /D (468) >> ->> endobj -1265 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 259.966 285.788 267.77] -/Subtype /Link -/A << /S /GoTo /D (557) >> ->> endobj -1266 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 259.966 521.32 267.77] -/Subtype /Link -/A << /S /GoTo /D (557) >> ->> endobj -1267 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 246.656 285.788 254.818] -/Subtype /Link -/A << /S /GoTo /D (561) >> ->> endobj -1268 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 246.656 521.32 254.818] -/Subtype /Link -/A << /S /GoTo /D (561) >> ->> endobj -1269 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 234.924 285.788 241.867] -/Subtype /Link -/A << /S /GoTo /D (565) >> ->> endobj -1270 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 234.924 521.32 241.867] -/Subtype /Link -/A << /S /GoTo /D (565) >> ->> endobj -1271 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 220.753 264.269 228.916] -/Subtype /Link -/A << /S /GoTo /D (569) >> ->> endobj -1272 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 220.753 521.32 228.916] -/Subtype /Link -/A << /S /GoTo /D (569) >> ->> endobj -1273 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 207.802 307.307 215.964] -/Subtype /Link -/A << /S /GoTo /D (587) >> ->> endobj -1274 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 207.802 521.32 215.964] -/Subtype /Link -/A << /S /GoTo /D (587) >> ->> endobj -1275 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 194.851 296.548 203.013] -/Subtype /Link -/A << /S /GoTo /D (593) >> ->> endobj -1276 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 194.851 521.32 203.013] -/Subtype /Link -/A << /S /GoTo /D (593) >> ->> endobj -1277 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 183.118 296.548 190.061] -/Subtype /Link -/A << /S /GoTo /D (597) >> ->> endobj -1278 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 183.118 521.32 190.061] -/Subtype /Link -/A << /S /GoTo /D (597) >> ->> endobj -1279 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 168.948 291.168 177.11] -/Subtype /Link -/A << /S /GoTo /D (602) >> ->> endobj -1280 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 168.948 521.32 177.11] -/Subtype /Link -/A << /S /GoTo /D (602) >> ->> endobj -1281 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 157.185 291.168 164.158] -/Subtype /Link -/A << /S /GoTo /D (606) >> ->> endobj -1282 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 157.185 521.32 164.158] -/Subtype /Link -/A << /S /GoTo /D (606) >> ->> endobj -1283 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 143.045 291.168 151.207] -/Subtype /Link -/A << /S /GoTo /D (611) >> ->> endobj -1284 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 143.045 521.32 151.207] -/Subtype /Link -/A << /S /GoTo /D (611) >> ->> endobj -1285 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 131.282 291.168 138.256] -/Subtype /Link -/A << /S /GoTo /D (635) >> ->> endobj -1286 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 131.282 521.32 138.256] -/Subtype /Link -/A << /S /GoTo /D (635) >> ->> endobj -1287 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 117.142 296.548 125.304] -/Subtype /Link -/A << /S /GoTo /D (641) >> ->> endobj -1288 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 117.142 521.32 125.304] -/Subtype /Link -/A << /S /GoTo /D (641) >> ->> endobj -1289 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 104.19 296.548 112.353] -/Subtype /Link -/A << /S /GoTo /D (646) >> ->> endobj -1290 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 104.19 521.32 112.353] -/Subtype /Link -/A << /S /GoTo /D (646) >> ->> endobj -1188 0 obj << -/D [1186 0 R /XYZ 71.731 778.968 null] ->> endobj -6 0 obj << -/D [1186 0 R /XYZ 244.332 752.939 null] ->> endobj -1185 0 obj << -/Font << /F22 1177 0 R /F32 1191 0 R /F26 1184 0 R /F33 1203 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1344 0 obj << -/Length 44420 -/Filter /FlateDecode ->> -stream -xÚ¬Ý]¤Wž]÷ûù¼”/&œï•yiÉ’a¡m0ŒAC]ÓÓШ٠)AúöŽbœ}2ö?óY±Š&Axzÿž¨`UV±Ö‰¼ÿáîüîørúòxþ¾¼žÞ^^øOÿåïî~øóùŸüow¿N<=½ž_ßÎÿÿOþáß?>Þî¿üð÷w§·‡‡OÏܿݟ^øû/ϯ§»§—o‡þåþîþ7/?¼ÙÇþð?äPÎüáOÿÏ¿øÃ?}ýŸþß?üÿó¿y|üáÛó½üzðËéíõá¼üíÄŸ¿þòï~üå_~ýÇZG¯7_¾œ§ÞÖÑûõ—úñOßýÝ¿þÃ~¸Ç»/§óÿýáêÑæóßÿú^þÝëéñé‰_Z]¿´Ó‡¹¿;½>>}ö Õu–Õ1x >žž¥z9{CíÁõùôzÿ"ÕËÙj¨ç·áΪ—³7Ôü\=ÿÄøòöÅ©ë,«cð@}<ÿlz•êåì
µÔçÓùW©^ÎÞP{ð@}==¼¼Iõrö†ÚƒŸ«ç_ø¾È™.GÙì¹òüÈŸ«—£7Èš; ÏoÀÓ½4/go =x žß€Ç©^ÎÞP{ðsõéü<Hueu¨çwáþQª—³7Ô<PÏoÃüj³ÎÞP{ð@}=Ý¿Yõrö†ÚƒŸ«Ïw§—Wùófeu¨§{ûÄ:{CíÁõùôòbÕËÙj¨ç·áY~[go¨=ø¹úr~žäW›u–Õ1x žß†G«^ÎÞP{ð@=¿
òkÜ:{CíÁõü6È_/Go˜5÷9ùåüȯ7—£LöÜy~î¬y9{íÁõùôü&p×Ùj¨çøjÕËÙj~®¾Þž¿È¯që,«cð@}<ݽȯ6ëì
µÔóÛðlÕËÙj¨ßþ¡ü·ÎÞP{ðsõíü6<Jueu¨ç·áA~[go¨=x žß†{ù5n½¡öàzþ‡wV½œ½¡öà§êÓÝÝééÍ}ËYTçàúpz{}“êåì
µÔçÓÓ«^ÎÞP{ð@ýr’ÿQ`½aÖÜçäýù=_Zs–Ñ1x žßƒg«^ÎÞP{ð@=¿OR½œ½¡öàz~¥z9{CíÁÏÕ‡óÛð Õu–Õ1x žß†û'©^ÎÞP{ð@=¿
wÏR½œ½¡öàúåôúfÕËÙj~®>Þ_Ý—¹œeu¨§×/òW¦uö†ÚƒêóéñŪ—³7Ô<PÏoóü2·ÎÞP{ðsõéü6<É/8ë,«cð@=¿
V½œ½¡öàz~ä/M—£7Ìš; ÏïÁƒü‚³ÎÞ@{ðsõùüÜKueu¨ç÷àN~™[go¨=x >ŸÞ仺ÎÞP{ð@ýrúòjÕËÙj~®¾Ü¾È/së,«cð@}8}y‘_pÖÙj¨ç·áÙª—³7Ô<PÏoÓü2·ÎÞP{ðsõËùmx”_pÖYVÇàz~¬z9{CíÁõü6ÜË/sëì
µÔóÛp'¿à¬³7Ôü\}½;Ý¿Iueu¨§‹þzô†YsäóéþU~ÁYgo =x ~9½|±êåì
µ?WßÎïÁ‹ü2·Î²:Ôó»ð,¿à¬³7Ô<PÏoÓU/go¨=x žßŸäì
µ?UŸïÎoƒüíœEu¨ç·áÞª—³7Ô<PÏoƒŒOrö†Úƒê—Ó³üïL9{CíÁÏÕû»ÓÝ«T×YVÇàúpz–ñIÎÞP{ð@}>ݽ¼r?öðåþ {¾9ÿ‰æíÖƒ\]?ÈÛ‡y¸?}žL|lõÖBãVïüg»·gnõÖ×êýü»µzïöÛZ=xi»Õ»ziÇÞÇVÔ1ÈžRÓê¡ÚƒÜê)5ª=ÈžRÓê¡ÚƒÜêu·z¤ŽAnõ”šVÕäVO©iõPíAnõ”šVÕÄVÏ iõÈì9lõ¹Z=$kŽ[=e¦ÕC´¹ÕSjZ=T{[=£îVÔ1ÈžRÓê¡ÚƒÜê)5ª=ÈžRÓê¡ÚƒÜêu·z¤ŽAnõ”šVÕäVO©iõPíAnõ”šVÕäVϨ»Õ#ur«§Ô´z¨ö ·zJM«‡jb«§ÐÕê¡YsØê2‘=Çž2Óê!ÚƒÜê)5ª=ÈžRÓê¡ÚƒÜêu·z¤ŽAnõ”šVÕäVO©iõPíAnõ”šVÕäVϨ»Õ#ur«§Ô´z¨ö ·zJM«‡jr«§Ô´z¨ö ·zB}oõ@ƒÜê)5ª=ÈžRÓê¡ÚƒØê)tµzhÖ·zÆÜ¡c[=¥¦ÕCµ¹ÕSjZ=T{[=¥¦ÕCµ¹Õ3ênõHƒÜê)5ª=ÈžRÓê¡ÚƒÜê)5ª=ÈžQw«GêäVO©iõPíAnõ”šVÕäVO©iõPíAnõŒº[=RÇ ·zJM«‡jb«§ÐÕê¡YsÜê)3¢=ÈžQw«GêäVO©iõPíAnõ”šVÕäVO©iõPíAnõŒº[=RÇ ·zJM«‡jr«§Ô´z¨ö ·zJM«‡jr«gÔÝê‘:¹ÕSjZ=T{[=¥¦ÕCµ¹ÕSjZ=T{[=£îVÔ1ˆžBW«‡fÍq«§Ì´zˆö ·zJM«‡jr«gÔÝê‘:¹ÕSjZ=T{[=¥¦ÕCµ¹ÕSjZ=T{[=¡¾·z ÎAnõ”šVÕäVO©iõPíAnõ”šVÕäVϨ»Õ#ur«§Ô´z¨ö ·zÔ™VdµzWrØê?Çhõn}®ÞùÏíß~ÝÀVoùžÏÕû_þñ—¯?}’êÝŸ^^n¥z÷§·o¿Ùy²?Ôç?ø¦z§Ç_¿2À+Ë¡ëWöñ?ÊŸê½>?~ö Ÿ¨—³7Ô<PWE¨Ôd‰¨ö g‰FÝY"©c³D¥&KDµ9KTj²DT{³D¥&KDµ9K4êÎIƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ˆY¢A“%’Ùs˜%*re‰HÖg‰ÊL–ˆhr–¨Ôd‰¨ö g‰FÝY"©c³D¥&KDµ9KTj²DT{³D¥&KDµ9K4êÎIƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qw–Hêä,Q©ÉQíAΕš,ÕÄ,Q¡+KD³æ0K4d²D"{޳De&KD´9KTj²DT{³D¥&KDµ9K4êÎIƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qw–Hêä,Q©ÉQíAΕš,Õä,Q©ÉQíAÎ…úž%‚:9KTj²DT{³D¥&KDµ1KTèÊѬ9ι³DBÇ g‰JM–ˆjr–¨Ôd‰¨ö g‰JM–ˆjr–hÔ%’:9KTj²DT{³D¥&KDµ9KTj²DT{³D£î,‘Ô1ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%ug‰¤ŽAΕš,ÕÄ,Q¡+KD³æ8KTf²DD{³D£î,‘Ô1ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%ug‰¤ŽAΕš,Õä,Q©ÉQíAΕš,Õä,Ѩ;K$ur–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö g‰FÝY"©c³D…®,Íšã,Q™ÉíAΕš,Õä,Ѩ;K$ur–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö g‰B}ÏAƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qw–Hêä,Q©ÉQíAΩ•3Y">Èʯä0K<~ŽïüÁû·ó¾Î×™ïùÁß!K|²ß–%Â+ÛYâÕ+;Î?>d‰¨ö g‰JM–ˆjr–hÔ%’:9KTj²DT{³D¥&KDµ9KTj²DT{³D£î,‘Ô1ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒ˜%4Y"™=‡Y¢"W–ˆdÍq–¨Ìd‰ˆö g‰JM–ˆjr–hÔ%’:9KTj²DT{³D¥&KDµ9KTj²DT{³D£î,‘Ô1ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%ug‰¤ŽAΕš,Õä,Q©ÉQíA̺²D4k³DC&K$²ç8KTf²DD{³D¥&KDµ9KTj²DT{³D£î,‘Ô1ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%ug‰¤ŽAΕš,Õä,Q©ÉQíAΕš,Õä,Q¨ïY"¨s³D¥&KDµ9KTj²DT{³D…®,Íšã,ј;K$tr–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö g‰FÝY"©c³D¥&KDµ9KTj²DT{³D¥&KDµ9K4êÎIƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qw–Hêä,Q©ÉQíA̺²D4k޳De&KD´9K4êÎIƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢Qw–Hêä,Q©ÉQíAΕš,Õä,Q©ÉQíAκ³DRÇ g‰JM–ˆjr–¨Ôd‰¨ö g‰JM–ˆjr–hÔ%’:1KTèÊѬ9Ε™,Ñä,Q©ÉQíAκ³DRÇ g‰JM–ˆjr–¨Ôd‰¨ö g‰JM–ˆjr–(Ô÷,Ô9ÈY¢R“%¢Úƒœ%*5Y"ª=ÈY¢R“%¢Úƒœ%R?öðå°Ô»?=Þúº~Žû»£Tïø9¾3Õ»{9=<Ýsª·Î¸TïúÓ¿þï¿|ýëÏùñ¯ÿÿ¾Ûïû£ý¶ïö/m÷kW/í¸_ûø Я‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒØ¯4ý™=‡ýš"W¿†dÍq¿¦Ìôkˆö ÷kJM¿†jr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAì׺ú54kû5C¦_#²ç¸_Sfú5D{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~M¨ïý¨sû5¥¦_Cµ¹_Sjú5T{û5…®~
Íšã~͘»_#tr¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšQw¿Fêä~M©é×PíAì׺ú54kŽû5e¦_C´¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšQw¿Fêä~M©é×PíAî×”š~
Õä~M©é×PíAî׌ºû5RÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jr¿fÔݯ‘:±_Sèê×Ь9î×”™~
Ñä~M©é×PíAî׌ºû5RÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jr¿&Ô÷~
Ô9ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯QS%ú5zŽôkWÏqܯ?Ç÷}Ü—·oÌök9ãúµÿôÏ_ÿøÓ.Ø~þ˜°½>žU~å„íáñtþCÊWO7_ÂÃùMGŸì·Czu9týêCœOä8Äaµ)ÄQè -qÐì9 -qy q˜¬9qœ¹BF{C§®‡ÕÄG© qPƒâ8u…8¬ö †8N]!«=ˆ!ŽSWˆÃjbˆ£Ô„8¨ŽAqœºBV{C§®‡ÕÄÇ©+Äaµ1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjRˆãÐKˆÃfÍQˆ£Èâ Ùsâ8s…8Œö †8N]!«=ˆ!ŽSWˆÃjbˆ£Ô„8¨ŽAqœºBV{C§®‡ÕÄÇ©+Äaµ1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjbˆãÔâ°Úƒâu‡8¤ÎAqœºBV{C§®‡Õ¤Ç¡—‡ÍšÃG™ qƒâ8u…8¬ö †8N]!«=ˆ!ŽSWˆÃjbˆ£Ô„8¨ŽAqœºBV{C§®‡ÕÄÇ©+Äaµ1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ(5!ªcC§®‡Õ¤Ç¡—‡ÍšÃÇ™+Äa´1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ(5!ªcC§®‡ÕÄÇ©+Äaµ1Äqê -qXíAq”šÕ1ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ8u…8¬ö †8JMˆƒê¤Ç¡—‡ÍšÃÇ™+Äa´1Äqê -qXíAq”šÕ1ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ8u…8¬ö †8FÝ!©sC§®‡ÕÄÇ©+Äaµ1Äqê -qXíAq 1!>Ç:tý‡!<Ç÷}ÔËù‹Áãã+‡8ëŒq~ü¯ýå÷ -qÞŸî·…8ðêvˆsõêŽCœ!ª=ˆ!ŽAâÙsâ(r…8HÖ‡8ÊLˆƒhrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ9ÄQjBT{C¥&ÄAµ9Ä1êqHƒâ(5!ª=È!ŽRâ Úƒâ(5!ª=È!ŽQwˆCêäG© qPíAq”šÕÄG¡+ÄA³æ0Ä1dB"{ŽCe&ÄA´9ÄQjBT{C¥&ÄAµ9Ä1êqHƒâ(5!ª=È!ŽRâ Úƒâ(5!ª=È!ŽQwˆCêäG© qPíAq”šÕäG© qPíAq„úâ€:9ÄQjBT{C¥&ÄAµ1ÄQè -qЬ9qŒ¹CBÇ ‡8JMˆƒjrˆ£Ô„8¨ö ‡8JMˆƒjrˆcÔâ:9ÄQjBT{C¥&ÄAµ9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕÄG¡+ÄA³æ8ÄQfBD{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC…®ÍšãG™ qíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8B}q@ƒâ(5!ª=È!ŽRâ Úƒâ(5!ª=È!Îq¢BzŽ„8WÏqâ?Çw~"Îù·ßþ!Î:ãBœ?ýå÷ùŽnWö›¾£½´º~i‡ßÑí“9þŽn¨ŽAüŽnN]ßÑÕÄïèæÔõÝXíAüŽnN]ßÑÕÄïè¦Ô|G7TÇ ~G7§®ïèÆjâwtsjú5T{û5¥¦_Cµ±_3hú52{û5E®~
Éšã~M™é×íAî×”š~
Õä~ͨ»_#ur¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒØ¯)tõkhÖök†L¿FdÏq¿¦Ìôkˆö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšPßû5Pç ÷kJM¿†jr¿¦Ôôk¨ö ök -]ýš5Çýš1w¿Fèä~M©é×PíAî×”š~
Õä~M©é×PíAî׌ºû5RÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒØ¯)tõkhÖ÷kÊL¿†hr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~ͨ»_#ub¿¦ÐÕ¯¡Ysܯ)3ý¢=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~M¨ïý¨sû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_£¦Jôkôé×®žã¸_;~Žïü ©ç§ÓùO–ܯ3®_ûÛß~úË_ùX®=>¾|ÁpíáüEøîáõ‡«gš~wz;×¾ýÏß~ým#¼¦º~M§òzzz~ùìA>Q/go¨=ø¹zþºüö$Õu–Õ1x >žÿá©^ÎÞP{ð@=¿
Ÿ¿ÕŸ¨—³7Ô<PÏoýU/go¨=ø¹zþÒüöíwyF]gYƒêùmæ·“7Äë±ïùôj_ä¯Goˆ5w@¾ž¼—æåì
´?ÿû«óWä×/JÍYTçàúxz|±êåì
µÔó»ðü(ÕËÙj¨+.VjjeT{ke£îZ™Ô1ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕÄZÙ ©•Éì9¬•¹je$kŽkee¦VF´¹VVjjeT{ke£îZ™Ô1ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&ur¬ÔÔʨö ×ÊJMŒjb¬ÐU+£YsX+2µ2‘=ǵ²2S+#Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&ur¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊB}¯•Aƒ\++5µ2ª=ȵ²RS+£ÚƒX++tÕÊhÖ×ÊÆÜµ2¡cke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹V6ꮕIƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJMŒjb¬ÐU+£Ys\++3µ2¢=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjrlÔ]+“:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£îZ™Ô1ˆµ²BWŒfÍq¬ÌÔʈö ×ÊJMŒjrlÔ]+“:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke¡¾×Ê ÎA®••šZÕäZY©©•QíA®••šZÕäZù8¤Uµ2=Gjå«ç8®•Ÿã׿z}ûöƒôi›ßjç_3º§ûÓÓù·ŒŸÖÊëPÎpü¸Jäÿø|÷ö¯~úç¹òùÏt÷ûƒ6ÿÕ?ÿñçŸ?ä‡ç?—Ü}û]óûC}üQ>©>Ê•Ÿ^OÏ/¯ü¢rèúE}ì ŸïOwÏoŸ=ÈGueu¨§ç'«^ÎÞP{ð@}9}«úëÑfÍç÷àñ^š—³7Ðü\}9¿R]gYƒêù=¸êåì
µÔó»pgÕËÙj¨¯§§Ïþ~¢^ÎÞP{ðànÁÝù—ùoð:Ëê<PÏ¿Yõrö†Úƒêºl¡ÔÜÞ@µùö†Rs{ÕäÛFÝ·7Hƒ|{C©¹½jòí
¥æöª=È·7”šÛ¨ö ßÞ0ê¾½Aê¤ÛʼÜÞ@ñzoo(pÝÞ@±æøö†2s{ÑäÛB}¿½êäÛJÍí
T{oo(5·7PíA¾½¡ÔÜÞ@µùö†Q÷í
RÇ ßÞPjno Úƒ|{C©¹½jòí
¥æöª=È·7Œºoo:ùö†Rs{ÕäÛJÍí
T{oo(5·7PíA¼½aÐÜÞ ³çðö†"×í
$kŽoo(3·7íA¾½¡ÔÜÞ@µùö†Q÷í
RÇ ßÞPjno Úƒ|{C©¹½jòí
¥æöª=È·7Œºoo:ùö†Rs{ÕäÛJÍí
T{oo(5·7PíA¾½aÔ}{ƒÔ1È·7”šÛ¨ö ßÞPjno Úƒx{C¡ëöš5‡·7™ÛDößÞPfno Úƒ|{C©¹½jòí
¥æöª=È·7Œºoo:ùö†Rs{ÕäÛJÍí
T{oo(5·7PíA¾½aÔ}{ƒÔ1È·7”šÛ¨ö ßÞPjno Úƒ|{C©¹½jòí
¡¾ßÞ -Äí
zŽÜÞ¸zŽãÛÇÏñŸ5ÿð{àÏš_gÞo]üýÃóÝ¿ø÷?ýøË¿ü¿}ýxãùòáóWã?4þù×›ŸÞÂØÁ><Üö¯î8Øÿø ì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'uR°¯ÌK°âõû -\Á>Š5ÇÁ¾2ì#Úƒìõ=Øur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾Aì“Ùsì+rûHÖûÊL°hr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`ÕÄ`_¡+ØG³æ0Ø7d‚}"{Žƒ}e&ØG´9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö…úìƒ:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö¹ƒ}BÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`ÕÄ`_¡+ØG³æ8ØWf‚}D{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB}öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁþq‚®‚}zŽûWÏqì?Çwû÷ϧç×{ö×þvë)üíëù¿úË/_?ù~癇|¿…ûõ—úñOŸU¬_¾59ïõ1õ¿:*ýw× -¯jwW¯ê¸kýøÐµ¢ÚƒÜµuw¤ŽAêZ•yéZQ¼Ã®U«kE±æ¸kUfºVD{»V¡¾w ÎAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%urתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ±k5hºV2{»VE®®Éšã®U™éZíAîZ•š®Õä®Õ¨»k%urתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tuhÖv†L×JdÏqתÌtˆö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Pß»VPç wJM׊jrתÔt¨ö v -]]+š5Ç]«1w×Jèä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒØµ*tuhÖwÊL׊hr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuw¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%ubתÐÕµ¢Ysܵ*3]+¢=È]«RÓµ¢ÚƒÜµuw¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®U¨ï]+¨s»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k=î-U×JÏ‘®õê9îïºÖãç]ëîõÛ;ýðÆ]ë:ãºÖ?}ýéwèZßë7uðªv×zõªŽ»ÖÏ]+ª=È]«Qw×J꤮U™—®Åë1ìZ¸ºVkŽ»Ve¦kE´¹kê{× -êä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»Vƒ¦k%³ç°kUäêZ‘¬9îZ•™®Ñä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«BW׊fÍa×jÈtDöwÊL׊hrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ -õ½kurתÔt¨ö wJM׊jbתÐÕµ¢Ysܵsw„ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%urתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=ˆ]«BW׊fÍqתÌtˆö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ v -]]+š5Ç]«2Óµ"ڃܵ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZ…úÞµ‚:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»ÖãÞRuôéZ¯žã¸k=~Žïû¼Öç×·ó¯V¯ØµæŒëZÿüõ—ÿëëO?ÿåÇ¿~,[Ÿ_΃7ÊÖ·—ÓóÓëWöñGúõ¬¤©é…åÐõ;¬?yã*‘Ô9ˆU¢SW•Èjb•èÔU%²ÚƒX%:uU‰¬ö V‰JM•ˆêÄ*Ñ©«Jdµ±JtêªYíA¬ºªDV{«D¥¦JDub•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=HU¢BW•ˆfÏQ•èÈK•ÈdÍa•èÌU%2ÚƒX%:uU‰¬ö V‰JM•ˆêÄ*Ñ©«Jdµ±JtêªYíA¬ºªDV{«D¥¦JDub•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=ˆU¢RS%¢:±JtêªYíA¬ºªDV{ªD‡^ªD6kŽªDE®*ÉžÃ*Ñ™«Jd´±JtêªYíA¬ºªDV{«D¥¦JDub•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=ˆU¢RS%¢:±JtêªYíA¬ºªDV{«D§®*‘ÕÄ*Ѩ»J$ub•èÔU%²ÚƒX%:uU‰¬ö U‰½T‰lÖV‰ÊL•ˆèÄ*Ñ©«Jdµ±JtêªYíA¬ºªDV{«D¥¦JDub•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=ˆU¢RS%¢:±JtêªYíA¬ºªDV{«D§®*‘ÕÄ*Q©©QƒX%:uU‰¬ö U‰½T‰lÖV‰Î\U"£=ˆU¢RS%¢:±JtêªYíA¬ºªDV{«D§®*‘ÕÄ*Q©©QƒX%:uU‰¬ö V‰N]U"«=ˆU¢SW•Èjb•¨ÔT‰¨ŽA¬ºªDV{«D§®*‘ÕÄ*Ñ©«Jdµ±JTjªDTÇ U‰½T‰lÖV‰Î\U"£=ˆU¢SW•Èjb•¨ÔT‰¨ŽA¬ºªDV{«D§®*‘ÕÄ*Ñ©«Jdµ±J4ê®IƒX%:uU‰¬ö V‰N]U"«=ˆU¢SW•Èjb•ˆÜí*Ÿcº~ŽÃ*žãû>móùËËùËíW‰ëŒ«þªÄ÷ûmU"¼°]%^½°ã*ñãƒ@•êä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«Dƒ¦J$³ç°JT䪑¬9®•™*Ñä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ˆU¢BW•ˆfÍa•hÈT‰DöW‰ÊL•ˆhr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\% -õ½Jur•¨ÔT‰¨ö W‰JM•ˆjb•¨ÐU%¢Ys\%sW‰„ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ˆU¢BW•ˆfÍq•¨ÌT‰ˆö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ V‰ -]U"š5ÇU¢2S%"Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®…ú^%‚:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«DjåD•HÏ‘*ñê9Ž«ÄãçøÎÏJ|y<}ùòÌUâ:£?+ñÿùçÿúõ§O¢ÄËw¤æ(ñþüëØëWÏ5þá×îá(Jüõ»TÓ«º¹~MGߥú“g8ü.Õ,Ö~—jg¦¼D´¹¼ê{y êäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ ——JMy‰jry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËKƒ¦¼$³ç°¼Tä*/‘¬9./•™òÑäòR©)/QíA./ºËKRÇ ——JMy‰jry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=ˆå¥BWy‰fÍayiÈ”—Dö——ÊLy‰hry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^ -õ½¼ury©Ô”—¨ö ——JMy‰jby©ÐU^¢Ys\^s——„ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=ˆå¥BWy‰fÍqy©Ì”—ˆö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ –— -]å%š5Çå¥2S^"Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./…ú^^‚:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËËã P•—ô)/¯žã¸¼<~Žïü<ÈóoÊ_¹¼\gôçAþååûsý–ò^Õ*/¯^ÓayùñŽËKkŽËKe¦¼D´¹¼ê{y êäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ ——JMy‰jry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËKƒ¦¼$³ç°¼Tä*/‘¬9./•™òÑäòR©)/QíA./ºËKRÇ ——JMy‰jry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=ˆå¥BWy‰fÍayiÈ”—Dö——ÊLy‰hry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^ -õ½¼ury©Ô”—¨ö ——JMy‰jby©ÐU^¢Ys\^s——„ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=ˆå¥BWy‰fÍqy©Ì”—ˆö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ –— -]å%š5Çå¥2S^"Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./…ú^^‚:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËËã P•—ô)/¯žã¸¼<~ŽïüÌËo¾ûòÀåå:£?óòÿô—ŸÿÏ¿ýé¿|ýX_ž¿¼?=¼b}ùx~ð—o?ØïÏ6_ÀÝù§âëÁö{Ô¯mG]W¯í8êúø u¡Úƒu)5Qª=ÈQ—QwÔEêä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŒºš¨‹ÌžÃ¨K‘+êB²æ8êRf¢.D{£.¥&êBµ9ê2ꎺHƒu)5Qª=ÈQ—Ru¡Úƒu)5Qª=ÈQ—QwÔEêä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŽºŒº£.RÇ G]JMÔ…jrÔ¥ÔD]¨ö F] -]Qš5‡Q—!uÙsu)3Q¢=ÈQ—Ru¡Úƒu)5Qª=ÈQ—QwÔEêä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŽºŒº£.RÇ G]JMÔ…jrÔ¥ÔD]¨ö G]JMÔ…jrÔ%Ô÷¨Ô9ÈQ—Ru¡Úƒu)5Qª=ˆQ—BWÔ…fÍqÔeÌu:9êRj¢.T{£.¥&êBµ9êRj¢.T{£.£î¨‹Ô1ÈQ—Ru¡Úƒu)5Qª=ÈQ—Ru¡ÚƒuuG]¤ŽAŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨Ë¨;ê"urÔ¥ÔD]¨ö F] -]Qš5ÇQ—2u!ÚƒuuG]¤ŽAŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨Ë¨;ê"urÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.¥&êBµ9ê2ꎺHƒu)tE]hÖG]ÊLÔ…hrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.¥&êBµ9êê{Ôêä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŽºŽ;#uÑs$êºzŽã¨ëø9¾3êzx:½=ÜsÔµÎèÓû½¢®÷gûmQ¼¶u]½¶ã¨ëãƒ@Ô…jrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.¥&êBµ1ê2h¢.2{£.E®¨Éšã¨K™‰ºíAŽº”š¨Õä¨Ë¨;ê"urÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.¥&êBµ9ê2ꎺHƒu)5Qª=ÈQ—Ru¡Úƒu)tE]hÖF]†LÔEdÏqÔ¥ÌD]ˆö G]JMÔ…jrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.¥&êBµ9ê2ꎺHƒu)5Qª=ÈQ—Ru¡Úƒu)5Qª=ÈQ—Pߣ.Pç G]JMÔ…jrÔ¥ÔD]¨ö F] -]Qš5ÇQ—1wÔEèä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŽºŒº£.RÇ G]JMÔ…jrÔ¥ÔD]¨ö G]JMÔ…jrÔeÔu‘:9êRj¢.T{£.¥&êBµ9êRj¢.T{£.£î¨‹Ô1ÈQ—Ru¡Úƒu)tE]hÖG]ÊLÔ…hrÔeÔu‘:9êRj¢.T{£.¥&êBµ9êRj¢.T{£.£î¨‹Ô1ÈQ—Ru¡Úƒu)5Qª=ÈQ—Ru¡ÚƒuuG]¤ŽAŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨Ë¨;ê"ubÔ¥Ðu¡Ysu)3Q¢=ÈQ—Ru¡ÚƒuuG]¤ŽAŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨K¨ïQ¨s£.¥&êBµ9êRj¢.T{£.¥&êBµ9ê:îŒTÔEÏ‘¨ëê9Ž£®ãçøÎï‘zVßο2cÔµÎèOêúw_ÿû/¿GÔõþl¿-ê‚×¶£®«×vu}|ˆºPíAŽº”š¨Õä¨Ë¨;ê"urÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö F]MÔEfÏaÔ¥Èu!Ysu)3Q¢=ÈQ—Ru¡ÚƒuuG]¤ŽAŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨Ë¨;ê"urÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.…®¨ÍšÃ¨Ë‰ºˆì9Žº”™¨Ñä¨K©‰ºPíAŽº”š¨Õä¨Ë¨;ê"urÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.¥&êBµ9êê{Ôêä¨K©‰ºPíAŽº”š¨ÕĨK¡+êB³æ8ê2掺ƒu)5Qª=ÈQ—Ru¡Úƒu)5Qª=ÈQ—QwÔEêä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŽºŒº£.RÇ G]JMÔ…jrÔ¥ÔD]¨ö G]JMÔ…jrÔeÔu‘:9êRj¢.T{£.…®¨Íšã¨K™‰ºíAŽºŒº£.RÇ G]JMÔ…jrÔ¥ÔD]¨ö G]JMÔ…jrÔeÔu‘:9êRj¢.T{£.¥&êBµ9êRj¢.T{£.£î¨‹Ô1ÈQ—Ru¡Úƒu)5Qª=ÈQ—Ru¡ÚƒuuG]¤ŽAŒºº¢.4kŽ£.e&êB´9êRj¢.T{£.£î¨‹Ô1ÈQ—Ru¡Úƒu)5Qª=ÈQ—Ru¡Úƒu õ=êurÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö G]Ç‘Šºè9u]=ÇqÔuüß÷I]Ooo§»ó>ŠºrFR×ïu]=ÛoŠºèµåÐõk;Œº>y㨋ÕĨ˩+êbµ1êRj¢.TÇ F]N]Q«=ˆQ—SWÔÅjbÔåÔu±Úƒu)tE]höE]޼D]LÖF]Î\Q£=ˆQ—SWÔÅjbÔ¥ÔD]¨ŽAŒºœº¢.V{£.§®¨‹ÕĨ˩+êbµ1êRj¢.TÇ F]N]Q«=ˆQ—SWÔÅjbÔåÔu±Úƒu)5Qªc£.§®¨‹ÕĨ˩+êbµ)êrè%êb³æ(êR䊺ì9Œºœ¹¢.F{£.§®¨‹ÕĨ˩+êbµ1êRj¢.TÇ F]N]Q«=ˆQ—SWÔÅjbÔåÔu±Úƒu)5Qªc£.§®¨‹ÕĨ˩+êbµ1êrꊺXíAŒºŒº£.Rç F]N]Q«=ˆQ—SWÔÅjRÔåÐKÔÅfÍaÔ¥ÌD]ˆŽAŒºœº¢.V{£.§®¨‹ÕĨ˩+êbµ1êRj¢.TÇ F]N]Q«=ˆQ—SWÔÅjbÔåÔu±Úƒu)5Qªc£.§®¨‹ÕĨ˩+êbµ1êrꊺXíAŒº”š¨Õ1ˆQ—SWÔÅjRÔåÐKÔÅfÍaÔåÌu1Úƒu)5Qªc£.§®¨‹ÕĨ˩+êbµ1êrꊺXíAŒº”š¨Õ1ˆQ—SWÔÅjbÔåÔu±Úƒu9uE]¬ö F]JMÔ…êĨ˩+êbµ1êrꊺXíAŒºœº¢.V{£.¥&êBuRÔåÐKÔÅfÍaÔåÌu1Úƒu9uE]¬ö F]JMÔ…êĨ˩+êbµ1êrꊺXíAŒºœº¢.V{£.£î¨‹Ô9ˆQ—SWÔÅjbÔåÔu±Úƒu9uE]¬ö F]Й¨Ÿcº~Žû‡ƒ¨žãû>©ëéõåt÷òÂQ×:£?©ë?|ýo?þç¯úXt=¿œß°èzx{9=ûË÷ûø#ýzÖ?ÿ¡~x{==þú…^X]¿°ÿúü3ïÛw¸üäA>þ¯³¨ÎÁõñü§|«^ÎÞP{ð@}>ÿ)ÿQª—³7Ô<PÏoÃÓ“T/go¨=xÐÌ߆G©®³¬ŽÁuE„JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«Dƒ¦J$³ç°JT䪑¬9®•™*Ñä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ˆU¢BW•ˆfÍa•hÈT‰DöW‰ÊL•ˆhr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\% -õ½Jur•¨ÔT‰¨ö W‰JM•ˆjb•¨ÐU%¢Ys\%sW‰„ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ˆU¢BW•ˆfÍq•¨ÌT‰ˆö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ V‰ -]U"š5ÇU¢2S%"Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®…ú^%‚:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«DjåD•HÏ‘*ñê9Ž«ÄãçøÎšûö;çw«ÄuFÔÜïR%¾?Øo«á…í*ñê…W‰ªDPç W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢ÚƒX%4U"™=‡U¢"W•ˆdÍq•¨ÌT‰ˆö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA¬ºªD4k«DC¦J$²ç¸JTfªDD{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Q¨ïU"¨s«D¥¦JDµ¹JTjªDT{«D…®*Íšã*ј»J$tr•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA¬ºªD4kŽ«De¦JD´¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:±JTèªÑ¬9®•™*Ñä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•(Ô÷*Ô9ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%R+'ªDzŽT‰WÏq\%?Çw~VâË·_7¹J\g\•øß¾þô—ü‹Äǧӗ/$ž¿ß=¼þpõL¿ñíÛãÑò·ÿùÛ¯¿m„×”CׯéôñA^OOÏ/Ÿ=È'êåì
µ?WÏ_—ßž¤ºÎ²:ÔÇÓÓ·ßå)õrö†ÚƒêùmøüþD½œ½¡öàz~îz9{CíÁÏÕó—æ·o¿Ë3ê:Ëê<PÏoƒ4¿¼!^xϧWû"=zC¬¹rÅÅÊLŒhr,Ô÷ZÔ9ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&ur¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ÖÊMLfÏa¬ÈU+#Ys\++3µ2¢=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&ur¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊFݵ2©cke¥¦VFµ¹VVjjeT{ke…®ZÍšÃZÙ©•‰ì9®••™ZÑäZY©©•QíA®••šZÕäZÙ¨»V&ur¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊFݵ2©cke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹Vê{êäZY©©•QíA®••šZÕÄZY¡«VF³æ¸V6殕 ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjrlÔ]+“:¹VVjjeT{ke…®ZÍšãZY™©•íA®•ºkeRÇ ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjrlÔ]+“:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£îZ™Ô1ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA¬•ºje4kŽkee¦VF´¹VVjjeT{ke£îZ™Ô1ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+õ½Vur¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊÇ!ª•é9R+_=ÇýãQ|üßùªç? -<Ü?p¼ÎÈÏPýËŸÿú±U~x:ÝÝs«üòtITÞŸèãñ—óOÀƒVùååtwwãåÐõ+úA¾¼žžÞ?{OÔËÙjÒwçÄ'§®³¬ŽÁõñôôŪ—³7Ô<PW2®Ô4è¨ö 7èJMƒŽjrƒnÔÝ “:¹AWjtT{t¥¦AGµ¹AWjtT{t£îÔ1H
º2/
:Š×cØ +p5è(Ö7èÊLƒŽhrƒ.Ô÷Ô9È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ u7褎AnЕšÕä]©iÐQíAnЕšÕäݨ»A'urƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 6èMƒNfÏaƒ®ÈÕ #YsÜ +3
:¢=È
ºRÓ £ÚƒÜ u7褎AnЕšÕä]©iÐQíAnЕšÕäݨ»A'urƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èFÝ
:©ct¥¦AGµ¹AWjtT{t…®ÍšÃÝiЉì9nЕ™Ñä]©iÐQíAnЕšÕäݨ»A'urƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èFÝ
:©ct¥¦AGµ¹AWjtT{t¥¦AGµ¹Aê{ƒêä]©iÐQíAnЕšÕÄ]¡«AG³æ¸A7ænÐ ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQwƒNêä]©iÐQíAnЕšÕä]©iÐQíAnкtRÇ 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÝ “:¹AWjtT{t…®Íšã]™iÐíAnкtRÇ 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÝ “:¹AWjtT{t¥¦AGµ¹AWjtT{t£îÔ1È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ u7褎Alкt4kŽte¦AG´¹AWjtT{t£îÔ1È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ õ½Aurƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èH‹ž#
úÕs7èÇÏñ
úã·òûžôuÆ5èüÓŸþõÿåë_þËŸ´èçßÉÜÿ`G1úãù
yüößsßíãõÝág¿÷kðÒv¿võÒŽûµý©cû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ˆýšAÓ¯‘Ùsد)rõkHÖ÷kÊL¿†hr¿¦Ôôk¨ö ÷kFÝý©cû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšQw¿Fêä~M©é×PíAî×”š~
ÕÄ~M¡«_C³æ°_3dú5"{Žû5e¦_C´¹_Sjú5T{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšQw¿Fêä~M©é×PíAî×”š~
Õä~M©é×PíAîׄúÞ¯:¹_Sjú5T{û5¥¦_Cµ±_Sèê×Ь9î׌¹û5BÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
ÕÄ~M¡«_C³æ¸_Sfú5D{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~ͨ»_#ur¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5…®~
Íšã~M™é×íAî×”š~
Õä~ͨ»_#ur¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kB}ï×@ƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=Èý5U¢_£çH¿võÇýÚñsŒ~íáF¿ömïü%ûµuÆõkÿ響þñ§]°ýü1a{}<ÿªüÊ ÛÃãéü‡”®žn¾„‡ó›î¶âÀ«Û!ÎÕ«;q>>„8¨ö †8MˆCfÏaˆ£Èâ Ysâ(3!¢=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ9ÄQjBT{C…®ÍšÃÇ qˆì9q”™ÑäG© qPíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ9ÄQjBT{C¥&ÄAµ9Äê{ˆêäG© qPíAq”šÕÄG¡+ÄA³æ8Ä1æqƒâ(5!ª=È!ŽRâ Úƒâ(5!ª=È!ŽQwˆCêäG© qPíAq”šÕäG© qPíAqŒºCRÇ ‡8JMˆƒjrˆ£Ô„8¨ö ‡8JMˆƒjrˆcÔâ:9ÄQjBT{C…®ÍšãG™ qíAqŒºCRÇ ‡8JMˆƒjrˆ£Ô„8¨ö ‡8JMˆƒjrˆcÔâ:9ÄQjBT{C¥&ÄAµ9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAqºB4kŽCe&ÄA´9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâõ=Äurˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8Çeˆ -qè9â\=ÇýÓQˆsüßùARß>Qéüç;qÖâüø_ÿúËïâ¼?ÝoqàÕíçêÕ‡8BT{Cƒ&Ä!³ç0ÄQä -q¬9q”™ÑäG© qPíAqŒºCRÇ ‡8JMˆƒjrˆ£Ô„8¨ö ‡8JMˆƒjrˆcÔâ:9ÄQjBT{C¥&ÄAµ9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=ˆ!ŽBWˆƒfÍaˆcÈ„8Dö‡8ÊLˆƒhrˆ£Ô„8¨ö ‡8JMˆƒjrˆcÔâ:9ÄQjBT{C¥&ÄAµ9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâõ=Äurˆ£Ô„8¨ö ‡8JMˆƒjbˆ£Ðâ Ysâs‡8„ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ9ÄQjBT{C¥&ÄAµ9Ä1êqHƒâ(5!ª=ˆ!ŽBWˆƒfÍqˆ£Ì„8ˆö ‡8FÝ!©cC¥&ÄAµ9ÄQjBT{C¥&ÄAµ9Ä1êqHƒâ(5!ª=È!ŽRâ Úƒâ(5!ª=È!ŽQwˆCêäG© qPíAq”šÕäG© qPíAqŒºCRÇ †8 -]!š5Ç!Ž2â Úƒâ(5!ª=È!ŽQwˆCêäG© qPíAq”šÕäG© qPíAq„úâ€:9ÄQjBT{C¥&ÄAµ9ÄQjBT{Cœã2D…8ô q®žã8Ä9~ŽïûDœoÿÉöéücN!NθçÏ_ù}¾£ÛÕ£ý¦ïèF/-‡®_ÚáwtûäAŽ¿£ªc¿£›S×wtcµñ;º9u}G7V{¿£›S×wtcµñ;º)5ßÑ
Õ1ˆßÑÍ©ë;º±ÚƒøÝœºú5V{û5§®~Õ¤~M¡«_C³ç¨_sä¥_c²æ°_sæê×íAìלºú5V{û5¥¦_Cub¿æÔÕ¯±ÚƒØ¯9uõk¬ö ökN]ý«=ˆýšRÓ¯¡:±_sêê×XíAìלºú5V{û5§®~ÕÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=HýšC/ý›5Gýš"W¿†dÏa¿æÌÕ¯1ڃد9uõk¬ö ökN]ý«=ˆýšRÓ¯¡:±_sêê×XíAìלºú5V{û5§®~ÕÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=ˆýšSW¿Æjb¿fÔݯ‘:±_sêê×XíAìלºú5V{ú5‡^ú56kû5e¦_Ctb¿æÔÕ¯±ÚƒØ¯9uõk¬ö ökN]ý«=ˆýšRÓ¯¡:±_sêê×XíAìלºú5V{û5§®~ÕÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=ˆýšSW¿Æjb¿¦Ôôk¨ŽAìלºú5V{ú5‡^ú56kû5g®~ÑÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=ˆýšSW¿Æjb¿¦Ôôk¨ŽAìלºú5V{û5§®~ÕÄ~Í©«_cµ±_Sjú5TÇ ökN]ý«=ˆýšSW¿Æjb¿æÔÕ¯±ÚƒØ¯)5ýªcú5‡^ú56kû5g®~ÑÄ~Í©«_cµ±_Sjú5TÇ ökN]ý«=ˆýšSW¿Æjb¿æÔÕ¯±ÚƒØ¯u÷k¤ÎAìלºú5V{û5§®~ÕÄ~Í©«_cµ±_æêv¿†Ï±]?Ça¿Ïñ}$õxþ…ùü›Uî×Öׯýío?ý寿|,ןN_¾`¸öpþ"|÷ðúÃÕ3Í¿;½†kßþço¿þ¶^S]¿¦ÓÇy=ÿ×Ïäõrö†ÚƒŸ«ç¯ËoOR]gYƒêãééÛïò”z9{CíÁõü6|þV¢^ÎÞP{ð@=¿
÷V½œ½¡öàçêùKóÛ·ßåueu¨ç·AšßNޯǼçÓ«}‘¿½!ÖÜùzzüöû;e^ÎÞ@{ðó¿¿:E~ýò ÔœEu¨§Ç«^ÎÞP{ð@=¿ÏR½œ½¡öàºâb¥¦VFµ¹V6ꮕIƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA¬•
šZ™ÌžÃZY‘«VF²æ¸VVfjeD{ke¥¦VFµ¹V6ꮕIƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJMŒjr¬ÔÔʨö ÖÊ -]µ2š5‡µ²!S+Ùs\++3µ2¢=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjr,Ô÷ZÔ9ȵ²RS+£Úƒ\++5µ2ª=ˆµ²BWŒfÍqlÌ]+:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£îZ™Ô1ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&ur¬ÔÔʨö ÖÊ -]µ2š5ǵ²2S+#Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&ur¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊFݵ2©cke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹V6ꮕIƒX++tÕÊhÖ×ÊÊLŒhr¬ÔÔʨö ×ÊFݵ2©cke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹Vê{êäZY©©•QíA®••šZÕäZY©©•QíA®•CZU+Ós¤V¾zŽãZùø9~ý«×·o1HŸ¶yþÅã¯ÝËÛéùîñóZyÊ®•W‰üŸïÞþÃ×ÿöãþú§O>lóþôò’ÛüWÿüÇŸþ ¾¼žÿÕ{G?ÿŽ·_“å»ó³<ñË¡ëöI²üxzúòôÙƒ|¢^ÎÞP{ð@]5µR“g£Úƒœg+5y6ª=Èy¶QwžMêä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ åÙʼäÙ(^ažÀ•g£Xsœg+3y6¢=Èy¶PßólPç çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól£î<›Ô1Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£Úƒ˜g4y6™=‡y¶"WždÍqžÌäÙˆö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól£î<›Ô1Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£ÚƒœguçÙ¤ŽAγ•š<Õä<[©É³QíA̳ºòl4kólC&Ï&²ç8ÏVfòlD{ól¥&ÏFµ9ÏVjòlT{ól£î<›Ô1Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£ÚƒœguçÙ¤ŽAγ•š<Õä<[©É³QíAγ•š<Õä<[¨ïy6¨sól¥&ÏFµ9ÏVjòlT{ól…®<Íšã<Û˜;Ï&tržÔäÙ¨ö çÙJMžjržÔäÙ¨ö çÙFÝy6©cól¥&ÏFµ9ÏVjòlT{ól¥&ÏFµ9Ï6êγIƒœg+5y6ª=Èy¶R“g£Úƒœg+5y6ª=Èy¶QwžMêä<[©É³QíA̳ºòl4kŽóle&ÏF´9Ï6êγIƒœg+5y6ª=Èy¶R“g£Úƒœg+5y6ª=Èy¶QwžMêä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:1ÏVèʳѬ9γ•™<Ñä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjrž-Ô÷<Ô9Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£ÚƒœgGÃ*ϦçHž}õÇyöñs|ç‡I?¿œž/
÷ñ‡I¯3ïIõß?<ßý‹ÿÓ¿üøËÿøÛ׉õóåÓ¥¯Æ?~*ôóÓÛQbýüzz~¼ç‡Ë¡ë‡ûØ3¾ÜŸîî?{ê:Ëê<POÏ÷R½œ½¡öàúrº»³êåì
µÔ×ÓÓÛ£T/go¨=x“¯¾Þ¨;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£x=†Á¾W°bÍq°¯Ìûˆö ûB}öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠ\Á>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö
™`ŸÈžã`_™ öíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡¾û ÎAö•š`Õä`_© öQíAöº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè -öѬ9ö•™`Ñä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°OêÄ`_¡+ØG³æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P߃}Pç ûJM°jr°¯Ôû¨ö ûJM°jr°œ «`Ÿž#ÁþÕsûÇÏñÁþÓãéåýu†?Oýa}Jú?üÃ_þú—_þá>~˜úù:Ïù0õûõ—úñOŸU¬_¾59ïõ1õ¿:*ýw× -¯jwW¯ê¸kýøÐµ¢ÚƒÜµuw¤ŽAêZ•yéZQ¼Ã®U«kE±æ¸kUfºVD{»V¡¾w ÎAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%urתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ±k5hºV2{»VE®®Éšã®U™éZíAîZ•š®Õä®Õ¨»k%urתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tuhÖv†L×JdÏqתÌtˆö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Pß»VPç wJM׊jrתÔt¨ö v -]]+š5Ç]«1w×Jèä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒØµ*tuhÖwÊL׊hr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuw¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%ubתÐÕµ¢Ysܵ*3]+¢=È]«RÓµ¢ÚƒÜµuw¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®U¨ï]+¨s»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k=î-U×JÏ‘®õê9Ž»Öãç]ëîõñÛ_¾q׺θ®õÏ_ù_ÿøË×O²Öó¿ÉÏ7ªÖ»ÓÓÝëWõÉX?¾fùhZxQû£i¯^ÔñGÓ~|øhZT{?šV©IxQíANx•š„Õä„ר;á%uR«ÌK‹âõ&¼ -\ /Š5Ç ¯2“ð"Úƒœð -õ=áur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9á5êNxIƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=ˆ ¯A“ð’Ùs˜ð*r%¼HÖ'¼ÊL‹hr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9á5êNxIƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=È ¯QwÂKêä„W©IxQíANx•š„ÕÄ„W¡+áE³æ0á5d^"{Ž^e&áE´9áUj^T{^¥&áEµ9á5êNxIƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=È ¯QwÂKêä„W©IxQíANx•š„Õä„W©IxQíANx…úžð‚:9áUj^T{^¥&áEµ1áUèJxѬ9Nx¹^BÇ '¼JM‹jr«Ô$¼¨ö '¼JM‹jrÂkÔð’:9áUj^T{^¥&áEµ9áUj^T{^£î„—Ô1È ¯R“ð¢Úƒœð*5 /ª=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„ÕÄ„W¡+áE³æ8áUf^D{^£î„—Ô1È ¯R“ð¢Úƒœð*5 /ª=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^…®„Íšã„W™IxíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼B}OxAƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=È ïq\ª^zŽ$¼WÏqœð?Çw~4íýùßê·WNx×—ðþü;$¼ïõÛ^xQ;á½zQÇ ïÿ×ÚÝôÈu¥Wþ+5ôÄ æ39.÷Ѐ÷ g‚Ðb»RAb]ÿ¾#gŸˆýïÊÅêšyp±ŸL™"Këܸ=$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^ež^¯Ç0áUàJxQ¬9Nx•™„Ñä„W¨—„Ô9È ¯R“ð¢Úƒœð*5 /ª=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö &¼MÂKfÏa«ȕð"Ysœð*3 /¢=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^…®„͚Ä×Ix‰ì9Nx•™„Ñä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9áê%áur«Ô$¼¨ö '¼JM‹jb«Еð¢Ysœðs'¼„ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9á5êNxIƒœð*5 /ª=ˆ ¯BW‹fÍq«Ì$¼ˆö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9á5êNxIƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=È ¯QwÂKêä„W©IxQíANx•š„Õä„W©IxQíANxº^RÇ &¼ -] /š5Ç ¯2“ð"Úƒœð*5 /ª=È ¯QwÂKêä„W©IxQíANx•š„Õä„W©IxQíANx…zIxAƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=È ïq\ª^:GÞ«sÜ?%¼ÇçøÎ·ð~xúúGLx×3ú-¼ÿùù÷Ÿüå6â}>W–XñžÌû¯º:×<üÃ×îá â]å%|ªU^^}¦ÃòòöÇå%Š5Çå¥2S^"Úƒ\^ -õR^‚:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕÄòÒ )/Éì9,/¹ÊK$kŽËKe¦¼D´¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$ury©Ô”—¨ö ——JMy‰jby©ÐU^¢YsX^2å%‘=Çå¥2S^"Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——B½”— ÎA./•šòÕäòR©)/QíA,/ºÊK4kŽËKcîò’Ð1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ±¼Tè*/Ѭ9./•™òÑäòÒ¨»¼$ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêÄòR¡«¼D³æ¸¼TfÊKD{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥P/å%¨sËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼<UyIçHyyuŽãòòøß÷òÔ·Òñåô÷v*/óŒ~yê?¡¼¼:×?P^Ò§:?rý™ŽÊËoœá°¼d±æ°¼tæ*/íA,/ºËKRç –—N]å%«=ˆå¥SWyÉjbyéÔU^²ÚƒX^*5å%ªcËK§®ò’ÕÄòÒ©«¼dµ±¼tê*/YíA,/•šòÕ1ˆå¥SWyÉjbyéÔU^²ÚƒX^:u•—¬ö •— -]å%š=Gå¥#Ïå%“5‡å¥3WyÉhbyéÔU^²ÚƒX^*5å%ªcËK§®ò’ÕÄòÒ©«¼dµ±¼tê*/YíA,/•šòÕ1ˆå¥SWyÉjbyéÔU^²ÚƒX^:u•—¬ö –—JMy‰êÄòÒ©«¼dµ±¼tê*/YíA*/z./Ù¬9*/¹ÊK${ËKg®ò’ÑÄòÒ©«¼dµ±¼tê*/YíA,/•šòÕ1ˆå¥SWyÉjbyéÔU^²ÚƒX^:u•—¬ö –—JMy‰êÄòÒ©«¼dµ±¼tê*/YíA,/ºÊKV{ËK£îò’Ô9ˆå¥SWyÉjbyéÔU^²ÚƒT^:ô\^²YsX^*3å%¢cËK§®ò’ÕÄòÒ©«¼dµ±¼tê*/YíA,/•šòÕ1ˆå¥SWyÉjbyéÔU^²ÚƒX^:u•—¬ö –—JMy‰êÄòÒ©«¼dµ±¼tê*/YíA,/ºÊKV{ËK¥¦¼DubyéÔU^²ÚƒT^:ô\^²YsX^:s•—Œö –—JMy‰êÄòÒ©«¼dµ±¼tê*/YíA,/ºÊKV{ËK¥¦¼DubyéÔU^²ÚƒX^:u•—¬ö –—N]å%«=ˆå¥RS^¢:±¼tê*/YíA,/ºÊKV{ËK§®ò’ÕÄòR©)/QƒT^:ô\^²YsX^:s•—Œö –—N]å%«=ˆå¥RS^¢:±¼tê*/YíA,/ºÊKV{ËK§®ò’ÕÄòÒ¨»¼$ubyéÔU^²ÚƒX^:u•—¬ö –—N]å%«=ˆå%¦¼Äs¬‡®ÏqX^Â9¾ï—/¯w¯§ÿ_Âòr=ãÊËúéüß/Ÿýãçß~½/O’ùðÄñåãéòøö¿ç^Žvûkýö¿ý‹}é×à£í~íê£÷k·~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
ÕÄ~Í é×Èì9ì×¹ú5$kŽû5e¦_C´¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~ͨ»_#ur¿¦Ôôk¨ö ÷kJM¿†jb¿¦ÐÕ¯¡Ysد2ý‘=Çýš2Ó¯!ڃܯ)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~ͨ»_#ur¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kB½ôk ÎAî×”š~
Õä~M©é×PíAì׺ú54kŽû5cî~Ð1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~ͨ»_#ur¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5¥¦_Cµ±_Sèê×Ь9î×”™~
Ñä~ͨ»_#ur¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšQw¿FêÄ~M¡«_C³æ¸_Sfú5D{û5¥¦_Cµ¹_3êî×HƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšP/ý¨sû5¥¦_Cµ¹_Sjú5T{û5¥¦_Cµ¹_£¦JôktŽôkWç8î׎ÏñoüøöV»î×Ö3®_ûß¿|þñ÷]°ýq›°½>ž~W~å„íáñîô—”?]îöý÷G ÛqàÓíçêÓ‡8·ÕÄÇ qÈì9q¹B$kŽCe&ÄA´9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjbˆ£Ðâ Ysâ2!‘=Ç!Ž2â Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8B½„8 ÎAq”šÕäG© qPíAqºB4kŽCcî‡Ð1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ1ÄQè -qЬ9q”™ÑäǨ;Ä!urˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ9ÄQjBT{C¥&ÄAµ9Ä1êqHƒâ(5!ª=È!ŽRâ Úƒâ(5!ª=È!ŽQwˆCêÄG¡+ÄA³æ8ÄQfBD{C¥&ÄAµ9Ä1êqHƒâ(5!ª=È!ŽRâ Úƒâ(5!ª=È!ŽP/!¨sC¥&ÄAµ9ÄQjBT{C¥&ÄAµ9Ä9.CTˆCçHˆsuŽãçøßù"©Ó?=q‡s~Df8¿ýí×/ÿ¬gŸí«pŽ?ÚŽp.í¸Á¹9$8DÖ8BL`a}c¼ßw=ÆéSÞXsÜÝ2Ù
‘5ÇÑ wsdÏqqcÈ7DÖç6†LmCdÍqkcȤ6DÖ‡6‚Ü
=Ç•!ÙYsœØ2…
‘5Ç}!“×Ys×r·5@ö—5†LXCdÍqVcÈT5DÖ65F\I
×cÔ/=
x5Æ5ÓXsœÒ2%
‘5Ç!“ÑYsÑr74@ö4†L@CdÍq>cÈÔ3DÖ·3†L:CdÍq8#ÈÝÍ -‘5ǹŠ!S«Ysܪ2© -‘5Ç¡Êa;¡:8D2•Ë!Ž+•ÃC|çÛb?}ý_ó°RYϸLå¿>ù'}ÛÙåhÿØ·ÁGÛßvvõÑŽ¿íìö ðmg¤ŽAþ¶3¥æÛÎPíAþ¶3¥æÛÎPíAþ¶3¥æÛÎPíAþ¶3£îo;#uò·)5ßv†jò·)5yª=È—RSx¡ÚƒØx4‘™=‡™—"Wç…dÍqé¥Ì¤^ˆö Ç^JMí…jrïeÔ|‘:9ùRjš/T{«/¥&ûBµ9üRjÊ/T{Û/£îø‹Ô1Èù—RÓ¡Úƒ\€)5 ª=ȘRS¡ÚƒÜu‡`¤ŽANÁ”šÕäL©ÉÁPíAºŠ04k›0C& -#²ç8Sfº0D{Ë0¥&
Cµ9Sjê0T{û0£î@ŒÔ1ȉ˜RÓˆ¡Úƒ\‰)5™ª=È¡˜RSŠ¡ÚƒÜŠuÇb¤ŽAÎÅ”š^ÕäbL©IÆPíAŽÆ”šjÕänL¨—pÔ9Èé˜RÓŽ¡Úƒ\)5ùª=ˆ™BWA†fÍqCfÌ‘:9#Sj:2T{K2¥&%Cµ9&Sjj2T{{2£î ŒÔ1ÈI™RÓ”¡Úƒ\•)5Yª=Èa™RS–¡ÚƒÜ–uÇe¤ŽAÎË”š¾ÕäÂL©IÌPíAŽÌ”šÊÕäĮ̂;4#urj¦Ô´f¨ö Öf -]¹š5ÇÁ™2Sœ!ڃܜuGg¤ŽAÎΔšîÕäòL©IÏPíAŽÏ”šúÕäþ̨;@#ur‚¦Ô4h¨ö WhJM††jrˆ¦Ô”h¨ö ·hFÝ1©cs4¥¦GCµ¹HSj’4T{£4¥¦JCµ¹K3êÓHƒ˜¦)tµihÖ×iÊLž†hr ¦Ôj¨ö 7jFÝ‘©c35¥¦SCµ¹TSjR5T{c5¥¦VCµ¹Wê%Xur²¦Ô4k¨ö WkJM¶†jr¸¦Ô”k¨ö ·kÔT‰xΑzíêÇùÚñ9¾þ§×OoÿaúµÓŸ(_Þ~O9ý½ýÃãë·ûµõPžá~íqEiÿëùçÿüòÛïŸoãµÓ_ -ÏR=?ûŽÚƒêêò•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ1ô7hB2{CE®ÐÉšãÐ_™ ýíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+t…þhÖ†þ†LèOdÏqè¯Ì„þˆö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿P/¡?¨sC¥&ôGµ9ôWjBT{C…®ÐÍšãÐߘ;ô'trè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAýºB4kŽCe&ôG´9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAýºCRÇ ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“:1ôWè -ýѬ9ý•™ÐÑäÐ_© ýQíAýºCRÇ ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrè/ÔKèêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAýtúÓ9ú_ã8ô?>Çw~›òýÓéƒ}äÕ®g.yþ¿><ø—ÿøý·/¿}ùû_?3×{síÕøm®ÿüõ}µÇ¹þ=.]î8Ø¿=û¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£x=†Á¾W°bÍq°¯Ìûˆö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ1Ø7h‚}2{ƒ}E®`Éšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+tûhÖû†L°OdÏq°¯Ìûˆö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`Íšã`ߘ;Ø'tr°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAöº‚}4kŽƒ}e&ØG´9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:1ØWè -öѬ9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAötìÓ9ì_ãþãQ°|Žì߿츿»|æ`=ÃoæXoÜÿᇟýùË?ܾ˜ÿôW燼˜ÿß?ùËo?}«b}ykr.ǺMýJÿݵ§Ú]ëÕ§:îZoÏ]+ª=È]«Qw×J꤮U™ç®Åë1ìZ¸ºVkŽ»Ve¦kE´¹kê¥kurתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*ruHÖwÊL׊hrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®ÕÄ®U¡«kE³æ°k5dºV"{Ž»Ve¦kE´¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZ…zéZAƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tuhÖwÆÜ]+¡c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jbתÐÕµ¢Ysܵ*3]+¢=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1ˆ]«BW׊fÍqתÌtˆö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^ºVPç wJM׊jrתÔt¨ö wJM׊jr×zÜ[ª®•Α®õêÇ]ëñ9¾ïEÔ÷¯¯§ß#±kÍ3®kýïÏ¿ÿüþ~[µ>>ݽ¼pÔzú—ð‡‡×?]é6jýôxô«¼ßÂKŸ)]¦Ã·ð~ã Çoáeµñ-¼JÍ[xQƒø^§®·ð²Úƒø^§®Z™ÕÄZÙ©«Vfµ±VVjjeTÇ ÔÊÎüZ+³x=Fµ²Ïµ2‹5‡µ²3WÌhblÔ]+“:±VvꪕYíA¬•ºjeV{ke§®Z™ÕÄZY©©•QƒX+;uÕʬö ÖÊN]µ2«=ˆµ²SWÌjb¬ÔÔʨŽA¬•ºjeV{ke§®Z™ÕÄZÙ©«Vfµ©VV誕Ñì9ª•y®•™¬9¬•¹jeF{ke§®Z™ÕÄZY©©•QƒX+;uÕʬö ÖÊN]µ2«=ˆµ²SWÌjb¬ÔÔʨŽA¬•ºjeV{ke§®Z™ÕÄZÙ©«Vfµ±VVjjeTÇ ÖÊN]µ2«=ˆµ²SWÌjRìÐsÌfÍQ¬ÈU+#ÙsX+;sÕÊŒö ÖÊN]µ2«=ˆµ²SWÌjb¬ÔÔʨŽA¬•ºjeV{ke§®Z™ÕÄZÙ©«Vfµ±VVjjeTÇ ÖÊN]µ2«=ˆµ²SWÌjbìÔU+³ÚƒX+u×ʤÎA¬•ºjeV{ke§®Z™Õ¤ZÙ¡çZ™ÍšÃZY™©•ƒX+;uÕʬö ÖÊN]µ2«=ˆµ²SWÌjb¬ÔÔʨŽA¬•ºjeV{ke§®Z™ÕÄZÙ©«Vfµ±VVjjeTÇ ÖÊN]µ2«=ˆµ²SWÌjbìÔU+³ÚƒX++5µ2ªcke§®Z™Õ¤ZÙ¡çZ™ÍšÃZÙ™«Vf´±VVjjeTÇ ÖÊN]µ2«=ˆµ²SWÌjbìÔU+³ÚƒX++5µ2ªcke§®Z™ÕÄZÙ©«Vfµ±VvꪕYíA¬••šZÕ1ˆµ²SWÌjbìÔU+³ÚƒX+;uÕʬö ÖÊJMŒê¤ZÙ¡çZ™ÍšÃZÙ™«Vf´±VvꪕYíA¬••šZÕ1ˆµ²SWÌjbìÔU+³ÚƒX+;uÕʬö ÖÊFݵ2©ske§®Z™ÕÄZÙ©«Vfµ±VvꪕYíA¬•!¤5µ2žc=t}ŽÃZÎñ}oá½ûßã×Êë™ï©•ÿü—þõ6Yþx÷ñ#¿ˆ÷ñÃýݧ·? -]©š5‡©ž!“êÙsœê)3©¢=È©žR“ê¡Úƒœê)5©ª=È©žQwªGêäTO©IõPíANõ”šTÕäTO©IõPíANõŒºS=RÇ §zJMª‡jrª§Ô¤z¨ö §zJMª‡jrª'ÔKªêäTO©IõPíANõ”šTÕÄTO¡+ÕC³æ8Õ3æNõƒœê)5©ª=È©žR“ê¡Úƒœê)5©ª=È©žQwªGêäTO©IõPíANõ”šTÕäTO©IõPíANõŒºS=RÇ §zJMª‡jrª§Ô¤z¨ö §zJMª‡jrªgÔê‘:9ÕSjR=T{S=…®TÍšãTO™IõíANõŒºS=RÇ §zJMª‡jrª§Ô¤z¨ö §zJMª‡jrªgÔê‘:9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£îTÔ1È©žR“ê¡Úƒœê)5©ª=È©žR“ê¡Úƒœêu§z¤ŽALõºR=4kŽS=e&ÕC´9ÕSjR=T{S=£îTÔ1È©žR“ê¡Úƒœê)5©ª=È©žR“ê¡Úƒœê õ’ê:9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=êÇDªGçHªwuŽãTïøßùbÑÓ£^¹Ô;?âB½úéþþ·?¾ÜVz§¿è<?p¥÷övÈ—·"gêöÅ¢÷OGïÝïŸ<þHûõ“—tüöÉ›CÀË'‰¬9~õ¤ ÷›'ì9zï¤Ï¯$îj -_:i´õÎIâ®Çø“Ì'I¬9~Ýäûäåm“Çä˜ãwM2ý*‘5Çõª!¯Ysœ®2å*‘5Çݪ w¶ -dÏq´jÈ4«DÖ«†L°JdÍq®jÈÔªDÖ·ª‚Ü©*=Ç¡ª!Ó©Ys\©2‘*‘5ljª!S¨Ysا -1y*€5†qªñV›JÞõ—©L˜JbÍq–jÈT©DÖ7©‚ÜI*=ÇAª!Ó£Ys\£21*‘5Ç)ª!S¢YsÜ¡ -rg¨@öG¨†LƒJdÍqjȨDÖ秆L}JdÍq{*ÈžÙsž2Ý)‘5ÇÕ©!Ys˜œq§^ao*¼ä¦àÕǦLkJbÍqijÈ„¦DÖg¦†LeJdÍqc*ȘÙs˜2})‘5Çu©!—Ysœ–2e)‘5Ç]© wV -dÏqTjÈ4¥DÖ¥†LPJdÍqNjÈÔ¤DÖ·¤ï“—”ô˜s’2)‘5Ç©!‘Ys˜q¤^q?*À‚Øs2í(‘5Çå¨!ŽYsœ2Õ(‘5Çͨ w2 -dÏq0jÈô¢DÖ×¢†L,JdÍq*jÈ”¢DÖw¢‚Ü™(=Ç‘¨!ÓˆYs\ˆ2(‘5Çy¨!S‡Ys܆ -r§¡@ö‡¡†LJdÍajÄ…x=ÆI¨S„’Xs܃ -rç @öÇ †LJdÍq jÈ„ DÖg †LJdÍq*È€Ùs€2ý'‘5Çõ§!Ysœ~2å'‘5Çݧ wö dÏqôiÈ4ŸDÖŸ†LðIdÍqîiÈÔžDÖ·ž‚Ü©'=‡¡§WçIàõWžLäIbÍqâiÈžDÖ÷‚Üy'=Çq§!ÓvYs\v2a'‘5ÇY§!SuYsÜt¾O^’ÎcrÌqÐiÈôœDÖל†LÌIdÍqÊiÈ”œDÖwœ‡…¡Ê8á©8/‡8Ž8ñ¯[|útšûÄçzFWœþý—ÿ¯/‡¿œéûrxøLûËá¯>Óñ—Ãß¾Õä/‡7êþrxRÇ 9¼Róåð¨ö 9¼Rç¢Úƒœç*5}.ª=È…®Qw¢Kê¤HW™çJÅë1ìt¸B]kŽS]e¦ÕE´¹Öê%×ur°«Ô»¨ö 7»JM´‹jr¶«Ôt»¨ö —»FÝé.©cã]¥¦ÞEµ¹ßUj^T{^¥¦áEµ¹â5êÎxIƒò*5%/ª=È-¯Ró¢Úƒœó*5=/ª=ˆE¯A“ô’Ùsõ*rU½HÖw½ÊLØ‹hrÚ«Ô´½¨ö ×½FÝy/©c_¥¦ðEµ¹ñUj"_T{3_¥¦óEµ¹ô5êN}Iƒû*5µ/ª=Ƚ¯Rü¢Úƒœü*5Í/ª=ÈÕ¯QwöKêäðW©)QíAn•šøÕÄüW¡«ÿE³æ° -+5¥0ª=ȰR£Úƒ˜+tõÂhÖÃÆÜÉ0¡c£a¥¦Fµ¹VjÂaT{Óa¥¦Fµ¹6ê·Iƒ+51ª=È
±R£Úƒœ+51ª=È%±QwJLêä˜X©©‰QíAš Õä¤X©iŠQíA®Šº³bRÇ ‡ÅJMYŒjb[¬Ð£Ysœ+3}1¢=È…±QwbLêäÈX©©ŒQíAšÐÕäÔX©iQíA®ºscRÇ ÇJMqŒjrs¬ÔDǨö gÇJMwŒjrylÔ“:9>VjêcT{ûc¥&@Fµ9AVjdT{+d£î™Ô1ˆ!²BW‰ŒfÍq‹¬ÌÄȈö çÈJMŒjr‘lÔ$“:9JVjªdT{»d¥&LFµ9MVjÚdT{ëd¡^òdPç ÊJM¡Œjr£¬ÔDʨö gÊJM§Œjr©|ÒªT™Î‘Vùê÷/G±òñ9¾þ§×O_ÿà Ôʧ?Q<~Íè?žþƒWή‡ò×Ê«Dþ·Ÿÿëó·Þ8ûV+ïï…ÿó/?þñÇM}øt÷òöŸù/gºýE~}9|åìÓãÝóë¦<tý™n3ȧw^^¾uo¨çgßQ{ð@}½{þø*Õó³ï¨=ømõùþîÃó'§®gYƒêéÇðdÕó³ï¨=x ž~Oýúè;fͧŸÁã½4ÏϾƒöà·Õ§ŸÁƒT׳¬ŽÁõô3¸êùÙwÔ<PO?…V=?ûŽÚƒêëÝÓ§G©žŸ}GíÁƒkN¿Óʂ׳¬ŽÁõñîéŪçgßQ{ð@]÷J”š‹*¨ö _TQj.ª Úƒ|QŨû¢ -©c/ª(5UPíA¾¨¢Ô\TAµù¢ŠRsQÕä‹*FÝUHƒtQE™ç‹*(^áE®‹*(Ö_TQf.ª Úƒ|QE¨—‹* ÎA¾¨¢Ô\TAµù¢ŠRsQÕä‹*JÍET{/ªu_T!uòE¥æ¢ -ª=ÈU”š‹*¨ö _TQj.ª Úƒ|QŨû¢ -©c/ª(5UPíA¾¨¢Ô\TAµù¢ŠRsQÕÄ‹*ÍE2{/ª(r]TA²æø¢Š2sQÑä‹*JÍET{/ªu_T!uòE¥æ¢ -ª=ÈU”š‹*¨ö _TQj.ª Úƒ|QŨû¢ -©c/ª(5UPíA¾¨¢Ô\TAµù¢ŠRsQÕä‹*FÝUHƒ|QE©¹¨‚jòE¥æ¢ -ª=ˆUº.ª YsxQʍBdÏñEeæ¢ -¢=ÈU”š‹*¨ö _TQj.ª Úƒ|QŨû¢ -©c/ª(5UPíA¾¨¢Ô\TAµù¢ŠRsQÕä‹*FÝUHƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈU”š‹*¨ö _Têå¢ -¨s/ª(5UPíA¾¨¢Ô\TAµñ¢ŠB×E4kŽ/ªs_T!tòE¥æ¢ -ª=ÈU”š‹*¨ö _TQj.ª Úƒ|QŨû¢ -©c/ª(5UPíA¾¨¢Ô\TAµù¢ŠRsQÕä‹*FÝUHƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈU”š‹*¨ö _T1꾨Bêä‹*JÍET{/ª(t]TA³æø¢Š2sQÑä‹*FÝUHƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈU”š‹*¨ö _T1꾨Bêä‹*JÍET{/ª(5UPíA¾¨¢Ô\TAµù¢ŠQ÷ERÇ _TQj.ª Úƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈUŒº/ª:ñ¢ŠB×E4kŽ/ª(3UíA¾¨¢Ô\TAµù¢ŠQ÷ERÇ _TQj.ª Úƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈU„z¹¨êä‹*JÍET{/ª(5UPíA¾¨¢Ô\TAµù¢ -Ý¡U蹨ruŽã‹*Çç¯ÕxçµúwO§càkõ×3—&ÿúðüá_þã÷ß¾üöåïý|{ãäùüžý«ñÛ÷ã¿]+8¸q²ƒ}8Üö¯wìß‚}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽA -ö•yöQ¼Ã`_+ØG±æ8ØWf‚}D{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì4Á>™=‡Á¾"W°dÍq°¯Ìûˆö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAöº‚}4kƒ}C&Ø'²ç8ØWf‚}D{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BW°fÍq°oÌì:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö û -]Á>š5ÇÁ¾2ì#Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+tûhÖûÊL°hr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûÇ º -öé ö¯ÎqìŸcû÷ïûoÿ‹×Ë3ûëþf‰‡õ¥?üðó¯?ùá‡Ûï–8ýUçù!ß-ñüå·Ÿ¾U±¾¼59—cݦþ÷‡ß-±»VøT»k½úTÇ]ëí9 kEµ¹k5êîZIƒÔµ*óܵ¢x=†]«W׊bÍqתÌtˆö wB½t ÎAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%urתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ±k5hºV2{»VE®®Éšã®U™éZíAîZ•š®Õä®Õ¨»k%urתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tuhÖv†L×JdÏqתÌtˆö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«P/]+¨s»V¥¦kEµ¹kUjºVT{»V…®®Íšã®Õ˜»k%trתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAìZººV4kŽ»Ve¦kE´¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:±kUèêZѬ9îZ•™®Ñä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×*ÔK× -êä®U©éZQíAîZ•š®Õä®U©éZQíAîZ{KÕµÒ9Òµ^ã¸k=>Ç÷½ˆúôõóÃ#fëWµþí¯?ýøåómÓúøt÷òÂIëé_Á^ÿt9ÑmÑúéñè—x¿‚>Pž¹ú@‡/à½=Åñûw‘¬9|û®!óò]"{_½«Èõæ]$kß»«È•'#Ys'+rµÉH֖ɆL˜LdÏA–¬À¯U2rWSÔ$+íœ$#w=†A²WŒbÍa,È#9æ0EVä*‘‘¬9ì¹2d$k#dE®ÉšÃÙ ‰ì9̹êc$kÛcE®ôÉšÃðX‘«;F²æ°:6d¢c"{“cE®âÉšÃÞX‘+7F²æ06Väj‘¬9*¸BckŒ2cå+cô®Ç°1VàJŒQ¬9Œ¹úb$këbC&.&²ç0-Vä*‹‘¬9승²b$k£bE®¦ÉšÃ¢Ø Љì9̉¹jb$k[bE®”ÉšÃX‘«#F²æ°"6d"b"{bE®‚ÉšÃ~X‘+F²æ(Vâ¹FðzŒÊaãp˜¼ÃlX«F±æ°VäJ†‘¬9†¹za$kkaC&&²ç0Vä*…‘¬9섹2a$k#aE®FÉšÃBØ „‰ì9̃¹ê`$kÛ`E®4ÉšÃ0X‘«F²æ° -䎂s˜+rÁHÖöÀŠ\90’5G1°Ï-0‚×cX0!0‰=‡°"WŒdÍa¬È• -endobj -1343 0 obj << -/Type /Page -/Contents 1344 0 R -/Resources 1342 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1178 0 R -/Annots [ 1346 0 R 1347 0 R 1348 0 R 1349 0 R 1350 0 R 1351 0 R 1352 0 R 1353 0 R 1354 0 R 1355 0 R 1356 0 R 1357 0 R 1358 0 R 1359 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1364 0 R 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1380 0 R 1381 0 R 1382 0 R 1383 0 R 1384 0 R 1385 0 R 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R 1394 0 R 1395 0 R 1396 0 R 1397 0 R 1398 0 R 1399 0 R 1400 0 R 1401 0 R 1402 0 R 1403 0 R 1404 0 R 1405 0 R 1406 0 R 1407 0 R 1408 0 R 1409 0 R 1410 0 R 1411 0 R 1412 0 R 1413 0 R 1414 0 R 1415 0 R 1416 0 R 1417 0 R 1418 0 R 1419 0 R 1420 0 R 1421 0 R 1422 0 R 1423 0 R 1424 0 R 1425 0 R 1426 0 R 1427 0 R 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R ] ->> endobj -1346 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 756.639 307.307 764.801] -/Subtype /Link -/A << /S /GoTo /D (652) >> ->> endobj -1347 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 756.639 521.32 764.801] -/Subtype /Link -/A << /S /GoTo /D (652) >> ->> endobj -1348 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 744.876 307.307 751.849] -/Subtype /Link -/A << /S /GoTo /D (658) >> ->> endobj -1349 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 744.876 521.32 751.849] -/Subtype /Link -/A << /S /GoTo /D (658) >> ->> endobj -1350 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 730.736 301.927 738.898] -/Subtype /Link -/A << /S /GoTo /D (664) >> ->> endobj -1351 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 730.736 521.32 738.898] -/Subtype /Link -/A << /S /GoTo /D (664) >> ->> endobj -1352 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 719.004 301.927 725.947] -/Subtype /Link -/A << /S /GoTo /D (670) >> ->> endobj -1353 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 719.004 521.32 725.947] -/Subtype /Link -/A << /S /GoTo /D (670) >> ->> endobj -1354 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 706.052 307.307 712.995] -/Subtype /Link -/A << /S /GoTo /D (676) >> ->> endobj -1355 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 706.052 521.32 712.995] -/Subtype /Link -/A << /S /GoTo /D (676) >> ->> endobj -1356 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 693.101 323.447 700.044] -/Subtype /Link -/A << /S /GoTo /D (689) >> ->> endobj -1357 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 693.101 521.32 700.044] -/Subtype /Link -/A << /S /GoTo /D (689) >> ->> endobj -1358 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 680.149 323.447 687.092] -/Subtype /Link -/A << /S /GoTo /D (693) >> ->> endobj -1359 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 680.149 521.32 687.092] -/Subtype /Link -/A << /S /GoTo /D (693) >> ->> endobj -1360 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 665.979 307.307 674.141] -/Subtype /Link -/A << /S /GoTo /D (697) >> ->> endobj -1361 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 665.979 521.32 674.141] -/Subtype /Link -/A << /S /GoTo /D (697) >> ->> endobj -1362 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 653.027 275.028 661.189] -/Subtype /Link -/A << /S /GoTo /D (702) >> ->> endobj -1363 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 653.027 521.32 661.189] -/Subtype /Link -/A << /S /GoTo /D (702) >> ->> endobj -1364 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 641.295 247.093 648.238] -/Subtype /Link -/A << /S /GoTo /D (706) >> ->> endobj -1365 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 641.295 521.32 648.238] -/Subtype /Link -/A << /S /GoTo /D (706) >> ->> endobj -1366 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 626.375 257.982 635.287] -/Subtype /Link -/A << /S /GoTo /D (710) >> ->> endobj -1367 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 626.375 521.32 635.287] -/Subtype /Link -/A << /S /GoTo /D (710) >> ->> endobj -1368 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 614.173 285.788 622.335] -/Subtype /Link -/A << /S /GoTo /D (788) >> ->> endobj -1369 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 614.173 521.32 622.335] -/Subtype /Link -/A << /S /GoTo /D (788) >> ->> endobj -1370 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 602.441 285.788 609.384] -/Subtype /Link -/A << /S /GoTo /D (792) >> ->> endobj -1371 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 602.441 521.32 609.384] -/Subtype /Link -/A << /S /GoTo /D (792) >> ->> endobj -1372 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 588.27 296.548 596.432] -/Subtype /Link -/A << /S /GoTo /D (796) >> ->> endobj -1373 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 588.27 521.32 596.432] -/Subtype /Link -/A << /S /GoTo /D (796) >> ->> endobj -1374 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 576.538 296.548 583.481] -/Subtype /Link -/A << /S /GoTo /D (800) >> ->> endobj -1375 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 576.538 521.32 583.481] -/Subtype /Link -/A << /S /GoTo /D (800) >> ->> endobj -1376 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 562.367 291.168 570.529] -/Subtype /Link -/A << /S /GoTo /D (805) >> ->> endobj -1377 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 562.367 521.32 570.529] -/Subtype /Link -/A << /S /GoTo /D (805) >> ->> endobj -1378 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 550.635 291.168 557.578] -/Subtype /Link -/A << /S /GoTo /D (811) >> ->> endobj -1379 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 550.635 521.32 557.578] -/Subtype /Link -/A << /S /GoTo /D (811) >> ->> endobj -1380 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 536.464 312.687 544.627] -/Subtype /Link -/A << /S /GoTo /D (818) >> ->> endobj -1381 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 536.464 521.32 544.627] -/Subtype /Link -/A << /S /GoTo /D (818) >> ->> endobj -1382 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 523.513 312.687 531.675] -/Subtype /Link -/A << /S /GoTo /D (824) >> ->> endobj -1383 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 523.513 521.32 531.675] -/Subtype /Link -/A << /S /GoTo /D (824) >> ->> endobj -1384 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 510.561 312.687 518.724] -/Subtype /Link -/A << /S /GoTo /D (830) >> ->> endobj -1385 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 510.561 521.32 518.724] -/Subtype /Link -/A << /S /GoTo /D (830) >> ->> endobj -1386 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 497.61 312.687 505.772] -/Subtype /Link -/A << /S /GoTo /D (836) >> ->> endobj -1387 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 497.61 521.32 505.772] -/Subtype /Link -/A << /S /GoTo /D (836) >> ->> endobj -1388 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 484.659 296.548 492.821] -/Subtype /Link -/A << /S /GoTo /D (842) >> ->> endobj -1389 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 484.659 521.32 492.821] -/Subtype /Link -/A << /S /GoTo /D (842) >> ->> endobj -1390 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 472.927 296.548 479.869] -/Subtype /Link -/A << /S /GoTo /D (851) >> ->> endobj -1391 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 472.927 521.32 479.869] -/Subtype /Link -/A << /S /GoTo /D (851) >> ->> endobj -1392 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 458.756 275.028 466.918] -/Subtype /Link -/A << /S /GoTo /D (861) >> ->> endobj -1393 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 458.756 521.32 466.918] -/Subtype /Link -/A << /S /GoTo /D (861) >> ->> endobj -1394 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 445.804 264.269 453.967] -/Subtype /Link -/A << /S /GoTo /D (872) >> ->> endobj -1395 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 445.804 521.32 453.967] -/Subtype /Link -/A << /S /GoTo /D (872) >> ->> endobj -1396 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 434.072 307.307 441.015] -/Subtype /Link -/A << /S /GoTo /D (890) >> ->> endobj -1397 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 434.072 521.32 441.015] -/Subtype /Link -/A << /S /GoTo /D (890) >> ->> endobj -1398 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 421.121 323.447 428.064] -/Subtype /Link -/A << /S /GoTo /D (903) >> ->> endobj -1399 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 421.121 521.32 428.064] -/Subtype /Link -/A << /S /GoTo /D (903) >> ->> endobj -1400 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 408.169 323.447 415.112] -/Subtype /Link -/A << /S /GoTo /D (907) >> ->> endobj -1401 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 408.169 521.32 415.112] -/Subtype /Link -/A << /S /GoTo /D (907) >> ->> endobj -1402 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 393.999 307.307 402.161] -/Subtype /Link -/A << /S /GoTo /D (911) >> ->> endobj -1403 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 393.999 521.32 402.161] -/Subtype /Link -/A << /S /GoTo /D (911) >> ->> endobj -1404 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 381.047 275.028 389.209] -/Subtype /Link -/A << /S /GoTo /D (916) >> ->> endobj -1405 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 381.047 521.32 389.209] -/Subtype /Link -/A << /S /GoTo /D (916) >> ->> endobj -1406 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 369.315 268.612 376.258] -/Subtype /Link -/A << /S /GoTo /D (920) >> ->> endobj -1407 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 369.315 521.32 376.258] -/Subtype /Link -/A << /S /GoTo /D (920) >> ->> endobj -1408 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 354.395 257.982 363.307] -/Subtype /Link -/A << /S /GoTo /D (925) >> ->> endobj -1409 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 354.395 521.32 363.307] -/Subtype /Link -/A << /S /GoTo /D (925) >> ->> endobj -1410 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 342.552 285.788 350.355] -/Subtype /Link -/A << /S /GoTo /D (968) >> ->> endobj -1411 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 342.552 521.32 350.355] -/Subtype /Link -/A << /S /GoTo /D (968) >> ->> endobj -1412 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 329.241 280.408 337.404] -/Subtype /Link -/A << /S /GoTo /D (974) >> ->> endobj -1413 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 329.241 521.32 337.404] -/Subtype /Link -/A << /S /GoTo /D (974) >> ->> endobj -1414 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 317.509 280.408 324.452] -/Subtype /Link -/A << /S /GoTo /D (980) >> ->> endobj -1415 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 317.509 521.32 324.452] -/Subtype /Link -/A << /S /GoTo /D (980) >> ->> endobj -1416 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 303.339 291.168 311.501] -/Subtype /Link -/A << /S /GoTo /D (986) >> ->> endobj -1417 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 303.339 521.32 311.501] -/Subtype /Link -/A << /S /GoTo /D (986) >> ->> endobj -1418 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 291.607 291.168 298.549] -/Subtype /Link -/A << /S /GoTo /D (990) >> ->> endobj -1419 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 291.607 521.32 298.549] -/Subtype /Link -/A << /S /GoTo /D (990) >> ->> endobj -1420 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 278.655 307.307 285.598] -/Subtype /Link -/A << /S /GoTo /D (995) >> ->> endobj -1421 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 278.655 521.32 285.598] -/Subtype /Link -/A << /S /GoTo /D (995) >> ->> endobj -1422 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 265.704 323.447 272.646] -/Subtype /Link -/A << /S /GoTo /D (1008) >> ->> endobj -1423 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 265.704 521.32 272.646] -/Subtype /Link -/A << /S /GoTo /D (1008) >> ->> endobj -1424 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 252.752 323.447 259.695] -/Subtype /Link -/A << /S /GoTo /D (1012) >> ->> endobj -1425 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 252.752 521.32 259.695] -/Subtype /Link -/A << /S /GoTo /D (1012) >> ->> endobj -1426 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 238.581 307.307 246.744] -/Subtype /Link -/A << /S /GoTo /D (1016) >> ->> endobj -1427 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 238.581 521.32 246.744] -/Subtype /Link -/A << /S /GoTo /D (1016) >> ->> endobj -1428 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 226.849 257.852 233.792] -/Subtype /Link -/A << /S /GoTo /D (1021) >> ->> endobj -1429 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 226.849 521.32 233.792] -/Subtype /Link -/A << /S /GoTo /D (1021) >> ->> endobj -1430 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 211.929 257.982 220.841] -/Subtype /Link -/A << /S /GoTo /D (1029) >> ->> endobj -1431 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 211.929 521.32 220.841] -/Subtype /Link -/A << /S /GoTo /D (1029) >> ->> endobj -1432 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 200.086 285.788 207.889] -/Subtype /Link -/A << /S /GoTo /D (1055) >> ->> endobj -1433 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 200.086 521.32 207.889] -/Subtype /Link -/A << /S /GoTo /D (1055) >> ->> endobj -1434 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 186.776 275.028 194.938] -/Subtype /Link -/A << /S /GoTo /D (1060) >> ->> endobj -1435 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 186.776 521.32 194.938] -/Subtype /Link -/A << /S /GoTo /D (1060) >> ->> endobj -1436 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 173.824 301.927 181.986] -/Subtype /Link -/A << /S /GoTo /D (1069) >> ->> endobj -1437 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 173.824 521.32 181.986] -/Subtype /Link -/A << /S /GoTo /D (1069) >> ->> endobj -1438 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 162.092 285.788 169.035] -/Subtype /Link -/A << /S /GoTo /D (1081) >> ->> endobj -1439 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 162.092 521.32 169.035] -/Subtype /Link -/A << /S /GoTo /D (1081) >> ->> endobj -1440 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 149.141 275.028 156.084] -/Subtype /Link -/A << /S /GoTo /D (1087) >> ->> endobj -1441 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 149.141 521.32 156.084] -/Subtype /Link -/A << /S /GoTo /D (1087) >> ->> endobj -1442 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 134.97 241.713 143.132] -/Subtype /Link -/A << /S /GoTo /D (1093) >> ->> endobj -1443 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 134.97 521.32 143.132] -/Subtype /Link -/A << /S /GoTo /D (1093) >> ->> endobj -1444 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 121.269 257.982 130.181] -/Subtype /Link -/A << /S /GoTo /D (1102) >> ->> endobj -1445 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 121.269 521.32 130.181] -/Subtype /Link -/A << /S /GoTo /D (1102) >> ->> endobj -1446 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 109.426 285.788 117.229] -/Subtype /Link -/A << /S /GoTo /D (1121) >> ->> endobj -1447 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 109.426 521.32 117.229] -/Subtype /Link -/A << /S /GoTo /D (1121) >> ->> endobj -1448 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 96.116 275.028 104.278] -/Subtype /Link -/A << /S /GoTo /D (1138) >> ->> endobj -1449 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 96.116 521.32 104.278] -/Subtype /Link -/A << /S /GoTo /D (1138) >> ->> endobj -1345 0 obj << -/D [1343 0 R /XYZ 71.731 778.968 null] ->> endobj -1342 0 obj << -/Font << /F26 1184 0 R /F33 1203 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1504 0 obj << -/Length 48344 -/Filter /FlateDecode ->> -stream -xÚ¬Ý]dW~¥÷{} -^J“‘¯—¶fÆ‚¸¹0¢M–$ÂÝM‚]=p{Ÿ¬ØkG¬qžx(lÁ}´~'b«ùü3¿{ØþŸÇï^¯§íÿóúvxyûî‡?ýÝÃwÿºý'ÿËß=Ž'žžÞÏoïÛÿ|ã?üÝéôpx8½~÷»ãÃáýx¼ùÌãûãáøvúîw¯Ïo‡‡§—‡þçßÿÝú¯Ç—ïÞ7öôÝïÿå»<”g~ÿãÿù÷¿ÿ·/ÿðýþûOÿõtúîãý^¾=øzx;nËOüðó/;?r½u|:<<Ž'þéË×ûùÇgþî¿ü~¾Óñåép|yÿîêÖ×þøó´óU_^w¾¢<tý>¿ÈÛáéýtëEn¨çgï¨=x[}Ý>·'§ŽgY]wÔÓáéÕªçgï¨=¸£>oÏ?KõüìµwÔícx~‘êùÙ;jÞVß¶áIªãYV—Áuû¶_œz~öŽÚƒ;êö1ߤz~öŽÚƒ;êö1<Zõüìµo«ïÛÇððîÔñ,«ËàŽº}ÒüxòŽx=¶ã=ÞìùíÑ;bÍío‡ÓÛ£4ÏÏÞA{ð¦zzx8¼½•šgQ]wÔÓáôbÕó³wÔÜQ·Oáù$Õó³wÔÜQ·áéIªçgï¨=x[}Ü>†“Tdz¬.ƒ;êö1Ÿ¥z~öŽÚƒ;êö1<¾HõüìµwÔícx°êùÙ;jÞV·¸}}w¿ÁåYV—Áõ´ýñ›TÏÏÞQ{pG}>lêùÙ;jî¨o{ÿ<~C=?{GíÁÛêö‡—WùLçGÙì¹rûäß«çGï5·CnÀÓ£4ÏÏÞA{pGÝ>€“üÝf<{GíÁÛêÓö¥:žeuÜQ·OáQþ7ž½£öàŽº}òw›ñìµwÔ·Ãã»UÏÏÞQ{ð¶úüpxy“ߌgY]wÔÓáÑþ1ž½£öàŽú|xy±êùÙ;jî¨ÛÇð,ÏÞQ{ð¶ú²}Oòw›ñ,«ËàŽº}'«žŸ½£öàŽº}Gù{ÜxöŽÚƒ;êö1È_ÏÞ1kî6ùº}ò÷›ó£Löܹ} -2>ɳwÔÜQ·áɪçgï¨=¸£nƒŒOòìµoªÏÛÇ ÿ…vžEuÜQ·áѪçgï¨=¸£nƒŒOòìµwÔ×óüï™òìµo«‡‡·W¤·ßµn÷ÑχӽA˜‡®ßãñõÓ‹·§Žô—}ü×JÜ oþxØþÜŽ
úxÆ5è?þô¯_þòõs…~z:¼¾r…¾ý&üðQœ^Þi}ñ‡Ãûiï¯ò¥V†¯iÖÊW_Ó~üùE VFµ¹V6ꬕI]¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£ÎZ™Ôejeežke¯Ç°VVਕQ¬9®••™ZÑäZY¨—ZÔuke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹V6ꬕI]¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£ÎZ™Ôeke¥¦VFµ¹VVjjeT{ke¥¦VFµ±V6hje2{keEŽZÉšãZY™©•íA®••šZÕäZÙ¨³V&uäZY©©•QíA®••šZÕäZY©©•QíA®•:keR—A®••šZÕäZY©©•QíA®••šZÕäZÙ¨³V&uäZY©©•QíA®••šZÕÄZY¡£VF³æ°V6dje"{Žkee¦VF´¹VVjjeT{ke¥¦VFµ¹V6ꬕI]¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£ÎZ™Ôeke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹Vê¥VuäZY©©•QíA®••šZÕÄZY¡£VF³æ¸V6欕 ]¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£ÎZ™Ôeke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹V6ꬕI]¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£ÎZ™Ôeke¥¦VFµ±VV訕Ѭ9®••™ZÑäZÙ¨³V&uäZY©©•QíA®••šZÕäZY©©•QíA®•:keR—A®••šZÕäZY©©•QíA®••šZÕäZÙ¨³V&uäZY©©•QíA®••šZÕäZY©©•QíA®•:keR—A¬•:je4kŽkee¦VF´¹VVjjeT{ke£ÎZ™Ôeke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹Vê¥VuäZY©©•QíA®••šZÕäZY©©•QíA®•÷CZU+Ó{¤V¾zýZyÿ=¾ý«×÷1øí¿VÚùŽÙÛ?Qœ¾etÛŸe?þ^ºY+‡ò×ʧQ"ÿ¯úÃü³ÿñøË_>¥‡Ûåß?~)¹¼ÐçTyûz§T>=¿ýY¾ž<týõ|N O§ÃËñéÖ{ÜPÏÏÞQ{pG}9<~ü
§Ôó³wÔÜQß/V=?{GíÁÛêÓãö»/Nϲºî¨§ÃóÇßÁJ=?{GíÁõåððjÕó³wÔÜQßÏ/oR=?{GíÁÛêóö1<¿;u<Ëê2¸£nÓUÏÏÞQ{pGÝ>ù‹ÄùÑ;fÍíÛgðñ“”y~öÚƒ;?>`ûŽRϲºî¨Ûgðx”êùÙ;jî¨?OÁªçgï¨=È? A©ù
¨ö ÿ€£ÎÐ@ê2È? A©ù
¨ö ÿ€¥æä Õä“'¥æä Õä“'£Î“'R—A>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê<y"u¤“'ežOžP¼Ã“'Ž“'kŽOž”™“'D{Ož„z9yuä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'£Î“'R—A>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê<y"uä“'¥æä Õä“'¥æä Õä“'¥æä ÕÄ“'ƒæä‰ÌžÃ“'EŽ“'$kŽOž”™“'D{Ož”š“'T{OžŒ:OžH]ùäI©9yBµùäI©9yBµùäI©9yBµùäɨóä‰ÔeOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒ:OžH]ùäI©9yBµùäI©9yBµñäI¡ãä ͚Ó'Cæä‰Èžã“'eæä Ñä“'¥æä Õä“'¥æä Õä“'£Î“'R—A>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê<y"uä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'¡^Nž@]ùäI©9yBµùäI©9yBµñäI¡ãä Íšã“'cΓ'B—A>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê<y"uä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'£Î“'R—A>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê<y"uä“'¥æä ÕÄ“'…Ž“'4kŽOž”™“'D{OžŒ:OžH]ùäI©9yBµùäI©9yBµùäI©9yBµùäɨóä‰ÔeOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒ:OžH]ùäI©9yBµùäI©9yBµùäI©9yBµùäɨóä‰ÔeOž:NžÐ¬9>yRfNžíA>yRjNžPíA>y2ê<y"uä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'¡^Nž@]ùäI©9yBµùäI©9yBµùäI©9yBµùäiÿ G<Ñ{ääéê=ßöNžößã7þ€†Ç÷í7ƒ#ÿ€†ñÌå\éwÇ燿ÿç_þúó׿ýòåóùÒóù'6\>_ú8+ع_šÁ>¼Üö¯^n?Øÿü"쓺r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÁ>©Ë ûJM°jr°¯Ôû¨ö ûJM°jr°oÔ쓺r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÁ>©Ë ûÊ<û(^a°¯Àì£Xsì+3Á>¢=ÈÁ¾P/Á>¨ë ûJM°jr°¯Ôû¨ö ûJM°jr°oÔ쓺r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÁ>©Ë ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠÁ>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qg°Oê2ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤.ƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qg°Oê2ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BG°fÍa°oÈûDöûÊL°hr°¯Ôû¨ö ûJM°jr°oÔ쓺r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÁ>©Ë ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°ê:ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BG°fÍq°oÌìºr°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÁ>©Ë ûJM°jr°¯Ôû¨ö ûJM°jr°oÔ쓺r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÁ>©Ë ûJM°jb°¯Ðì£Ysì+3Á>¢=ÈÁ¾Qg°Oê2ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤.ƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qg°Oê2ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤.ƒì+tûhÖûÊL°hr°¯Ôû¨ö ûFÁ>©Ë ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°ê:ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìï'è*ا÷H°õûÁþþ{üÆ`ÿáåp|zä`<Ã?£ä8~É÷ßÿô矾~ÿýçŸS²ýQçùø>û§/_ÿíçoU¬¯MÎåµnü¤’§½ÒvðUÍ®õê«ÚïZ?¿t¨ö wF]+©Ë uÊ<w(^aתÀѵ¢Xsܵ*3]+¢=È]«P/]+¨ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jb×jÐtdövŠ]+’5Ç]«2Óµ"ڃܵ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«BG׊fÍa×jÈtDöwÊL׊hrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×*ÔK× -ê:È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«BG׊fÍq×jÌÙµºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jbתÐѵ¢Ysܵ*3]+¢=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒØµ*tthÖwÊL׊hrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×*ÔK× -ê:È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµî÷–ªk¥÷H×zõû]ëþ{,]ë‘»Ö—÷æ»Ö<ãºÖ¿þòã¾~ù\µžž¯¯µn¿ ?ß¾»z§ÏQëûiï¯òü.¼ô5å¡ë¯i÷»ðÞx‘ýïÂËjâwáUj¾/ªË ~^§ŽïÂËjâwáuꨕYíA¬•:jeV{ke¥¦VFu„ZÙ™ßje¯Ç¨Vvà¹Vf±æ°Vv樕íA¬•:keR×A¬•:jeV{ke§ŽZ™ÕÄZÙ©£Vfµ±VVjjeT—A¬•:jeV{ke§ŽZ™ÕÄZÙ©£Vfµ±VVjjeT—A¬•:jeV{ke§ŽZ™ÕÄZÙ©£Vfµ©VV訕Ñì9ª•y®•™¬9¬•9jeF{ke§ŽZ™ÕÄZY©©•Q]±VvꨕYíA¬•:jeV{ke§ŽZ™ÕÄZY©©•Q]±VvꨕYíA¬•:jeV{ke§ŽZ™ÕÄZY©©•Q]±VvꨕYíA¬•:jeV{je‡žke6kŽjeEŽZÉžÃZÙ™£Vf´±VvꨕYíA¬•:jeV{ke¥¦VFuÄZÙ©£Vfµ±VvꨕYíA¬•:jeV{ke¥¦VFuÄZÙ©£Vfµ±VvꨕYíA¬•:jeV{ke£ÎZ™Ôuke§ŽZ™ÕÄZÙ©£Vfµ©Vvè¹Vf³æ°VVfjeD—A¬•:jeV{ke§ŽZ™ÕÄZÙ©£Vfµ±VVjjeT—A¬•:jeV{ke§ŽZ™ÕÄZÙ©£Vfµ±VVjjeT—A¬•:jeV{ke§ŽZ™ÕÄZÙ©£Vfµ±VVjjeT—A¬•:jeV{je‡žke6kkegŽZ™ÑÄZY©©•Q]±VvꨕYíA¬•:jeV{ke§ŽZ™ÕÄZY©©•Q]±VvꨕYíA¬•:jeV{ke§ŽZ™ÕÄZY©©•Q]±VvꨕYíA¬•:jeV{ke§ŽZ™ÕÄZY©©•Q]©Vvè¹Vf³æ°Vv樕íA¬•:jeV{ke¥¦VFuÄZÙ©£Vfµ±VvꨕYíA¬•:jeV{ke£ÎZ™Ôuke§ŽZ™ÕÄZÙ©£Vfµ±VvꨕYíA¬•!¤5µ2¾Çxèú=vkexßö]x_¶ßN§7®•Ç3®Vþáç_þö¹U>>¹U~y:'*—7úü—øõ´ûx_^w¾¢<tý}Ž _ÞOï§[/rC=?{GíÁBúaû‹øäÔñ,«ËàŽz:<½ZõüìµwÔ‘Œ+5
:ª=È
ºRÓ £ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2H
º2Ï
:Š×cØ +p4è(Ö7èÊLƒŽhrƒ.ÔKƒê:È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒØ 4
:™=‡
º"GƒŽdÍqƒ®Ì4èˆö 7èJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èF
:©Ë 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjbƒ®ÐÑ £YsØ 2
:‘=Ç
º2Ó #ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ õÒ ƒºrƒ®Ô4è¨ö 7èJMƒŽjbƒ®ÐÑ £YsÜ s6è„.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2È
ºRÓ £ÚƒØ +t4èhÖ7èÊLƒŽhrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èF
:©Ë 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èF
:©Ë 6è -
:š5Ç
º2Ó #ÚƒÜ +5
:ª=È
ºQgƒNê2È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ õÒ ƒºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èH‹Þ#
úÕ{ì7èûïñ¿cöö‚Æ}<ãô?ýá‡Ï úãÛö÷'èÏo‡·ÿfóòBë[§ãn‚þxxøöçø‚òÐõt#A?ž?þÞ繡žŸ½£öàŽúQÇ[õüìµ9·Wjr{T{s{£ÎÜžÔes{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÌíI]9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£ÎÜžÔer{ežs{¯Ç0·WàÈíQ¬9Îí•™ÜÑäÜ^¨—ÜÔus{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÌíI]9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£ÎÜžÔes{¥&·Gµ9·Wjr{T{s{¥&·Gµ1·7hr{2{s{EŽÜÉšãÜ^™ÉííAÎ핚ÜÕäÜÞ¨3·'uäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎí:s{R—AÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨3·'uäÜ^©ÉíQíAÎ핚ÜÕÄÜ^¡#·G³æ0·7dr{"{Žs{e&·G´9·Wjr{T{s{¥&·Gµ9·7êÌíI]9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£ÎÜžÔes{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·ê%·uäÜ^©ÉíQíAÎ핚ÜÕÄÜ^¡#·G³æ8·7æÌí ]9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£ÎÜžÔes{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÌíI]9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£ÎÜžÔes{¥&·Gµ1·WèÈíѬ9Îí•™ÜÑäÜÞ¨3·'uäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎí:s{R—AÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨3·'uäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎí:s{R—AÌí:r{4kŽs{e&·G´9·Wjr{T{s{£ÎÜžÔes{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·ê%·uäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎí÷cp•ÛÓ{$·¿zýÜ~ÿ=¾ý«×÷1Hßòýãÿ[F÷ütØþdy;·åÎíSÓÿûÓŸ¾|ýõ§Ñýó¹²<?÷üÃ_þò9ºÿøãæ…¼ñîÛ¯®o{ÑýóÛáÛ¯YðUg®¿¨úèò?¿„þ„.ƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QgèOê2È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu†þ¤.ƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QgèOê2H¡¿2Ï¡?Š×cú+p„þ(Ö‡þÊLèhrè/ÔKèê:È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu†þ¤.ƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QgèOê2È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒú4¡?™=‡¡¿"GèdÍqè¯Ì„þˆö ‡þJMèjrèoÔú“ºrè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þF¡?©Ë ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“ºrè¯Ô„þ¨ö ‡þJMèjbè¯Ðú£Ysú2¡?‘=Ç¡¿2ú#Úƒú+5¡?ª=È¡¿Rú£Úƒúu†þ¤.ƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QgèOê2È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúõúƒºrè¯Ô„þ¨ö ‡þJMèjbè¯Ðú£Ysús†þ„.ƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QgèOê2È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu†þ¤.ƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QgèOê2È¡¿Rú£Úƒú+t„þhÖ‡þÊLèhrèoÔú“ºrè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þF¡?©Ë ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“ºrè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þF¡?©Ë †þ -¡?š5Ç¡¿2ú#Úƒú+5¡?ª=È¡¿QgèOê2È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúõúƒºrè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þûº -ýé=ú_½Ç~è¿ÿ¿ñûê?=ž¶ÿ¿¯þxæ’çÿîøüð÷ÿüëÏ_þú·_¾ÜÌõ?¾ÑþÕøç\ÿùésýG~¹<týrûÁþç`ŸÔeƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöI]9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£Î`ŸÔeƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöI])ØWæ9ØGñzƒ}Ž`Åšã`_™ öíAö…z öA]9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£Î`ŸÔeƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöI]9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}ƒ&Ø'³ç0ØWäö‘¬9ö•™`Ñä`_© öQíAö:ƒ}R—Aö•š`Õä`_© öQíAö•š`Õä`ߨ3Ø'uä`_© öQíAö•š`Õä`_© öQíAö:ƒ}R—Aö•š`Õä`_© öQíAö:‚}4kƒ}C&Ø'²ç8ØWf‚}D{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£Î`ŸÔeƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöI]9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}P×Aö•š`Õä`_© öQíAö:‚}4kŽƒ}cÎ`ŸÐeƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöI]9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£Î`ŸÔeƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöI]9ØWj‚}T{ƒ}…Ž`Íšã`_™ öíAö:ƒ}R—Aö•š`Õä`_© öQíAö•š`Õä`ߨ3Ø'uä`_© öQíAö•š`Õä`_© öQíAö:ƒ}R—Aö•š`Õä`_© öQíAö•š`Õä`ߨ3Ø'uÄ`_¡#ØG³æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöI]9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}P×Aö•š`Õä`_© öQíAö•š`Õä`?AWÁ>½G‚ý«÷x|ßö÷ßc öïûÇîýÈÁþx†¿3ÿq|Çýï¿ÿéÏ?}ýþûÏߘû£Îó1ߘÿŸ¾|ý·Ÿ¼U±¾~49—×úœú?>í•þ³k…¯jvW_Õ~×úù= kEµ¹k5êìZI]©kUæ¹kEñz»VŽ®Åšã®U™éZíAîZ…zéZA]¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£Î®•Ôe»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êìZI]¹kUjºVT{»V¥¦kEµ¹kUjºVT{»Vƒ¦k%³ç°kUäèZ‘¬9îZ•™®Ñä®U©éZQíAîZ:»VR—AîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨³k%uä®U©éZQíAîZ•š®Õä®U©éZQíAîZ:»VR—AîZ•š®Õä®U©éZQíAìZ:ºV4k»VC¦k%²ç¸kUfºVD{»V¥¦kEµ¹kUjºVT{»V£Î®•Ôe»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êìZI]¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^ºVP×AîZ•š®Õä®U©éZQíAìZ:ºV4kŽ»Vcή•Ðe»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êìZI]¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£Î®•Ôe»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êìZI]¹kUjºVT{»V…Ž®Íšã®U™éZíAîZ:»VR—AîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨³k%uä®U©éZQíAîZ•š®Õä®U©éZQíAîZ:»VR—AîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨³k%uÄ®U¡£kE³æ¸kUfºVD{»V¥¦kEµ¹k5êìZI]¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^ºVP×AîZ•š®Õä®U©éZQíAîZ•š®Õä®u¿·T]+½GºÖ«÷ØïZ÷ßã7vχç·GîZÇ3®kýòç~ýÛ/_ÿÛŸúú9m}y<¼¼pÚzzx<¼üÀåÍ>ÿ¥þø&Ü·ÿZ_R=øÊfªwõ•í§zŸ_R=T{S=¥&ÕCµ9Õ3êLõH]9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ1Õ3hR=2{S=EŽTÉšãTO™IõíANõ”šTÕäTϨ3Õ#uäTO©IõPíANõ”šTÕäTO©IõPíANõŒ:S=R—ANõ”šTÕäTO©IõPíANõ”šTÕäTϨ3Õ#uäTO©IõPíANõ”šTÕÄTO¡#ÕC³æ0Õ3dR="{ŽS=e&ÕC´9ÕSjR=T{S=¥&ÕCµ9Õ3êLõH]9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ9Õê%ÕuäTO©IõPíANõ”šTÕÄTO¡#ÕC³æ8Õ3æLõ]9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ9Õ3êLõH]9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ1ÕSèHõЬ9Nõ”™TÑäTϨ3Õ#uäTO©IõPíANõ”šTÕäTO©IõPíANõŒ:S=R—ANõ”šTÕäTO©IõPíANõ”šTÕäTϨ3Õ#uäTO©IõPíANõ”šTÕäTO©IõPíANõŒ:S=R—ALõ:R=4kŽS=e&ÕC´9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ9Õê%ÕuäTO©IõPíANõ”šTÕäTO©IõPíANõ¨©½GR½«÷ØOõößcIõŽwR½OúøÎ©ÞxÆ¥z?~ùJõ.oöïKõà+›©ÞÕW¶Ÿê}~HõPíANõ”šTÕäTϨ3Õ#uäTO©IõPíANõ”šTÕäTO©IõPíANõŒ:S=R—ANõ”šTÕäTO©IõPíANõ”šTÕÄTÏ IõÈì9Lõ9R=$kŽS=e&ÕC´9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ9Õ3êLõH]9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=…ŽTÍšÃTÏIõˆì9Nõ”™TÑäTO©IõPíANõ”šTÕäTϨ3Õ#uäTO©IõPíANõ”šTÕäTO©IõPíANõŒ:S=R—ANõ”šTÕäTO©IõPíANõ”šTÕäTO¨—TÔuS=¥&ÕCµ9ÕSjR=T{S=…ŽTÍšãTϘ3Õ#täTO©IõPíANõ”šTÕäTO©IõPíANõŒ:S=R—ANõ”šTÕäTO©IõPíANõ”šTÕäTϨ3Õ#uäTO©IõPíANõ”šTÕäTO©IõPíANõŒ:S=R—ANõ”šTÕÄTO¡#ÕC³æ8ÕSfR=D{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ9Õ3êLõH]9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£ÎTÔeS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ9Õ3êLõH]1ÕSèHõЬ9Nõ”™TÑäTO©IõPíANõŒ:S=R—ANõ”šTÕäTO©IõPíANõ”šTÕäTO¨—TÔuS=¥&ÕCµ9ÕSjR=T{S=¥&ÕCµ9Õ£~L¤zôIõ®Þc?ÕÛßö]õžßÞ·_Þ0ÕË3.Õûë/?þáë—Ï•ÞééðúÊ?*zûMøáøöÝÕ;}þQÑï§½¿ÊÿëïÿØH_Sºþš>ÿpá×·ÃÓó˹¡žŸ½£öàÎO¨Þ¾º'©ŽgY]wÔÓaûC¾TÏÏÞQ{pG=ÿÈn§ŽŸÎjâÏ -ê:È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ4]+™=‡]«"G׊dÍqתÌtˆö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jbתÐѵ¢Ysص2]+‘=Ç]«2Óµ"ڃܵ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ -õÒµ‚ºrתÔt¨ö wJM׊jbתÐѵ¢Ysܵsv„.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒØµ*tthÖwÊL׊hr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë v -]+š5Ç]«2Óµ"ڃܵ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ -õÒµ‚ºrתÔt¨ö wJM׊jrתÔt¨ö wû½¥êZé=Òµ^½Ç~׺ÿ¿±k=>ÞܵŽg\×úË—?ý÷_úúåÿ_×zyW× -_ÕìZ¯¾ªý®õó{@׊jr×jÔÙµ’ºRתÌs׊âõv -]+Š5Ç]«2Óµ"ڃܵ -õÒµ‚ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö vM×JfÏaתÈѵ"Ysܵ*3]+¢=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tthÖv†L×JdÏqתÌtˆö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wB½t ®ƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tthÖwÆœ]+¡Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö v -]+š5Ç]«2Óµ"ڃܵuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2ˆ]«BG׊fÍqתÌtˆö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wB½t ®ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]ë~o©ºVztWïq|ÜëZ÷ßcéZwºÖM}ß~eÆ®u<ãºÖ¿üúе^^ëßÕµÂW5»Ö«¯j¿kýüе¢ÚƒÜµuv¤.ƒÔµ*óܵ¢x=†]«G׊bÍqתÌtˆö wB½t ®ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*rtHÖwÊL׊hrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö v -]+š5‡]«!ÓµÙsܵ*3]+¢=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«P/]+¨ë wJM׊jrתÔt¨ö v -]+š5Ç]«1g×Jè2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=ˆ]«BG׊fÍqתÌtˆö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºrתÔt¨ö wJM׊jrתÔt¨ö wF]+©Ë wJM׊jrתÔt¨ö wJM׊jr×jÔÙµ’ºbתÐѵ¢Ysܵ*3]+¢=È]«RÓµ¢ÚƒÜµuv¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«P/]+¨ë wJM׊jrתÔt¨ö wJM׊jr׺ß[ª®•Þ#]ëÕ{ìwûïñÛ¾_ëÓûûáaûºÖ<#¿_ë_ÿï?þôÃùó¿þí—¯ŸãÖí·÷§ãƧíÅ_¶¿ØWïö9n}9½íüÕžQ}myèúkÛºn¼È~ÔÅjbÔåÔu±Úƒu)5QªË F]NQ«=ˆQ—SGÔÅjbÔåÔu±Úƒu)tD]höE]Ž<G]LÖF]ÎQ£=ˆQ—SGÔÅjbÔ¥ÔD]¨.ƒu9uD]¬ö F]NQ«=ˆQ—SGÔÅjbÔ¥ÔD]¨.ƒu9uD]¬ö F]NQ«=ˆQ—SGÔÅjbÔ¥ÔD]¨.ƒu9uD]¬ö F]NQ«=HQ—CÏQ›5GQ—"GÔ…dÏaÔåÌu1Úƒu9uD]¬ö F]NQ«=ˆQ—Ru¡ºbÔåÔu±Úƒu9uD]¬ö F]NQ«=ˆQ—Ru¡ºbÔåÔu±Úƒu9uD]¬ö F]NQ«=ˆQ—QgÔEê:ˆQ—SGÔÅjbÔåÔu±Úƒu9ôu±Ysu)3Q¢Ë F]NQ«=ˆQ—SGÔÅjbÔåÔu±Úƒu)5QªË F]NQ«=ˆQ—SGÔÅjbÔåÔu±Úƒu)5QªË F]NQ«=ˆQ—SGÔÅjbÔåÔu±Úƒu)5QªË F]NQ«=HQ—CÏQ›5‡Q—3GÔÅhbÔ¥ÔD]¨.ƒu9uD]¬ö F]NQ«=ˆQ—SGÔÅjbÔ¥ÔD]¨.ƒu9uD]¬ö F]NQ«=ˆQ—SGÔÅjbÔ¥ÔD]¨.ƒu9uD]¬ö F]NQ«=ˆQ—SGÔÅjbÔ¥ÔD]¨.ƒu9ôu±Ysu9sD]Œö F]NQ«=ˆQ—Ru¡ºbÔåÔu±Úƒu9uD]¬ö F]NQ«=ˆQ—QgÔEê:ˆQ—SGÔÅjbÔåÔu±Úƒu9uD]¬ö F]Й¨ßc<tý»Q¼Çoûf…Oo/‡‡—ŽºÆ3¿%êúÏ_þ¢®Ë»ýû¢.øÚfÔuõµíG]Ÿ_¢.T{£.¥&êBµ9ê2ꌺH]9êRj¢.T{£.¥&êBµ9êRj¢.T{£.ƒ&ê"³ç0êR䈺¬9Žº”™¨Ñä¨K©‰ºPíAŽºŒ:£.R—AŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨Ë¨3ê"uä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŽºŒ:£.R—AŽº”š¨Õä¨K©‰ºPíAŒº:¢.4k£.C&ê"²ç8êRf¢.D{£.¥&êBµ9êRj¢.T{£.£Î¨‹Ôe£.¥&êBµ9êRj¢.T{£.¥&êBµ9ê2ꌺH]9êRj¢.T{£.¥&êBµ9êRj¢.T{£.¡^¢.P×AŽº”š¨Õä¨K©‰ºPíAŒº:¢.4kŽ£.cΨ‹Ðe£.¥&êBµ9êRj¢.T{£.¥&êBµ9ê2ꌺH]9êRj¢.T{£.¥&êBµ9êRj¢.T{£.£Î¨‹Ôe£.¥&êBµ9êRj¢.T{£.¥&êBµ9ê2ꌺH]9êRj¢.T{£.…Ž¨Íšã¨K™‰ºíAŽºŒ:£.R—AŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨Ë¨3ê"uä¨K©‰ºPíAŽº”š¨Õä¨K©‰ºPíAŽºŒ:£.R—AŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨Ë¨3ê"uĨK¡#êB³æ8êRf¢.D{£.¥&êBµ9ê2ꌺH]9êRj¢.T{£.¥&êBµ9êRj¢.T{£.¡^¢.P×AŽº”š¨Õä¨K©‰ºPíAŽº”š¨Õä¨k¿3RQ½G¢®«÷غößã7~§®±³}ÒugdÔõëOÿã_¿ì«®íÏ÷ª®·í«{ýîêå>W]ÇÓûnÕ•Ò ¾¸Y:]}qû¥ÓçÒ‰ÔeK'¥¦tBµ¹tRjJ'T{K'¥¦tBµ±t2hJ'2{K'EŽÒ ÉšãÒI™)íA.”šÒ ÕäÒɨ³t"uäÒI©)PíA.”šÒ ÕäÒI©)PíA.Œ:K'R—A.”šÒ ÕäÒI©)PíA.”šÒ ÕäÒɨ³t"uäÒI©)PíA.”šÒ ÕÄÒI¡£tB³æ°t2dJ'"{ŽK'e¦tB´¹tRjJ'T{K'¥¦tBµ¹t2ê,H]¹tRjJ'T{K'¥¦tBµ¹tRjJ'T{K'£ÎÒ‰ÔeK'¥¦tBµ¹tRjJ'T{K'¥¦tBµ¹tê¥tuäÒI©)PíA.”šÒ ÕÄÒI¡£tB³æ¸t2æ,]¹tRjJ'T{K'¥¦tBµ¹tRjJ'T{K'£ÎÒ‰ÔeK'¥¦tBµ¹tRjJ'T{K'¥¦tBµ¹t2ê,H]¹tRjJ'T{K'¥¦tBµ¹tRjJ'T{K'£ÎÒ‰ÔeK'¥¦tBµ±tRè(Ь9.”™Ò ÑäÒɨ³t"uäÒI©)PíA.”šÒ ÕäÒI©)PíA.Œ:K'R—A.”šÒ ÕäÒI©)PíA.”šÒ ÕäÒɨ³t"uäÒI©)PíA.”šÒ ÕäÒI©)PíA.Œ:K'R—A,:J'4kŽK'e¦tB´¹tRjJ'T{K'£ÎÒ‰ÔeK'¥¦tBµ¹tRjJ'T{K'¥¦tBµ¹tê¥tuäÒI©)PíA.”šÒ ÕäÒI©)PíA.öÛU:Ñ{¤tºzýÒiÿ=~ã·¯zùøuãÄ¥Óxæ7•Nûß¿ê7”N——û÷•NðÅÍÒéê‹Û/>¿”N¤.ƒ\:)5¥ª=È¥“RS:¡Úƒ\:)5¥ª=ˆ¥“AS:‘ÙsX:)r”NHÖ—NÊLé„hré¤Ô”N¨ö —NF¥©Ë —NJMé„jré¤Ô”N¨ö —NJMé„jrédÔY:‘ºré¤Ô”N¨ö —NJMé„jré¤Ô”N¨ö —NF¥©Ë —NJMé„jré¤Ô”N¨ö –N -¥š5‡¥“!S:Ùs\:)3¥¢=È¥“RS:¡Úƒ\:)5¥ª=È¥“QgéDê2È¥“RS:¡Úƒ\:)5¥ª=È¥“RS:¡Úƒ\:u–N¤.ƒ\:)5¥ª=È¥“RS:¡Úƒ\:)5¥ª=È¥“P/¥¨ë —NJMé„jré¤Ô”N¨ö –N -¥š5Ç¥“1géDè2È¥“RS:¡Úƒ\:)5¥ª=È¥“RS:¡Úƒ\:u–N¤.ƒ\:)5¥ª=È¥“RS:¡Úƒ\:)5¥ª=È¥“QgéDê2È¥“RS:¡Úƒ\:)5¥ª=È¥“RS:¡Úƒ\:u–N¤.ƒ\:)5¥ª=ˆ¥“BGé„fÍqé¤Ì”Nˆö —NF¥©Ë —NJMé„jré¤Ô”N¨ö —NJMé„jrédÔY:‘ºré¤Ô”N¨ö —NJMé„jré¤Ô”N¨ö —NF¥©Ë —NJMé„jré¤Ô”N¨ö —NJMé„jrédÔY:‘ºbé¤ÐQ:¡Ys\:)3¥¢=È¥“RS:¡Úƒ\:u–N¤.ƒ\:)5¥ª=È¥“RS:¡Úƒ\:)5¥ª=È¥“P/¥¨ë —NJMé„jré¤Ô”N¨ö —NJMé„jré´ßÞ¨Ò‰Þ#¥ÓÕ{ì—Nûïñ¿§ÓöGãã‘K§ñŒ+þòÓ¿þùsßt|:<<bÞt|y:'*—7úü—øuûðö_ããËËáááÎW”‡®¿¢Ãçy;<½Ÿn½È
õüìµo«Û?m½¿=9u<Ëê2¸£žO¯V=?{GíÁõy{þYªçgï¨=¸£nÃó‹TÏÏÞQ{ð¶ºýÓÖû“Tdz¬.ƒ;êö1|ü³»RÏÏÞQ{pGÝ>†ã›TÏÏÞQ{pGÝ>†G«žŸ½£öàmuû®÷‡w§ŽgY]wÔícæÇ“wÄë±ïùðf¿ÈoÞkn‡|;œÞ¥y~öÚƒ·ÿäöÏYo¯G¥æYT×Áõt8½XõüìµwÔíSx>IõüìµwÔícxz’êùÙ;jîüÔÛíc8Iu<Ëê2¸£Ž¬Ôü\aT{®°Rós…QíAþ¹ÂJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 6èMƒNfÏaƒ®ÈÑ #YsÜ +3
:¢=È
ºRÓ £ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒØ +t4èhÖ6è†LƒNdÏqƒ®Ì4èˆö 7èJMƒŽjrƒ®Ô4è¨ö 7èF
:©Ë 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èB½4è ®ƒÜ +5
:ª=È
ºRÓ £ÚƒØ +t4èhÖ7èÆœ
:¡Ë 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èF
:©Ë 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 6è -
:š5Ç
º2Ó #ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2È
ºRÓ £ÚƒÜ +5
:ª=È
ºRÓ £ÚƒÜ u6è¤.ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQgƒNê2ˆ
ºBGƒŽfÍqƒ®Ì4èˆö 7èJMƒŽjrƒnÔÙ “ºrƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èB½4è ®ƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
:Ò¢A§÷Hƒ~õû
úþ{üÆýôQ~?rƒ>žq
úÿøòëOÿò·Ïú6òúÊúö›ðÃGqzy§Ïßdóý´÷WùR+Ã×4k嫯i¿Vþü"P+£Úƒ\+uÖʤ.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QgLê2Hµ²2ϵ2Š×cX++pÔÊ(Ö×ÊÊLŒhr,ÔKê:ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+uÖʤ.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QgLê2ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£ÚƒX+4µ2™=‡µ²"GŒdÍq¬ÌÔʈö ×ÊJMŒjrlÔY+“ºr¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊFµ2©Ë ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjrlÔY+“ºr¬ÔÔʨö ×ÊJMŒjb¬ÐQ+£YsX+2µ2‘=ǵ²2S+#Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+uÖʤ.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QgLê2ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+õR+ƒºr¬ÔÔʨö ×ÊJMŒjb¬ÐQ+£Ys\+sÖÊ„.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QgLê2ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+uÖʤ.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QgLê2ȵ²RS+£ÚƒX++tÔÊhÖ×ÊÊLŒhrlÔY+“ºr¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊFµ2©Ë ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjrlÔY+“ºr¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×ÊFµ2©Ë ÖÊ -µ2š5ǵ²2S+#Úƒ\++5µ2ª=ȵ²QgLê2ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+õR+ƒºr¬ÔÔʨö ×ÊJMŒjr¬ÔÔʨö ×Êû!ª•é=R+_½Ç~¼ÿ¿{zxÜþÉhû
ïqû£ÅÓíïªýøø~x~þø5åñíð¾ýÆ—7Ú¶/µòx(Ï|{£Ã?üîøüðZþö?üóÿþÛÿû¿ÿÃûñï¿ü??ý¿çÿ¿ÿôóýã—Oyáñõðôño^/è翊¯»9òñíðòíxé<týÒŸ;ÇÓæœN·^ä³:žeuÜQO‡—ã“TÏÏÞQ{pG}9<~ü½¬Ôó³wÔÜQ·áÁªçgï¨=x[}z<<¼¿8u<Ëê2¸£žÏ¿8(õüìµwÔ—ÃëUÏÏÞQ{pG};<o¿¸8õüìµo«ÏÛÇðüîÔñ,«ËàŽº}OV=?{GíÁuûä/çGï˜5·CnŸÁéQšçgï =¸ó“ ¶Ïà(Õñ,«ËàŽº}G©žŸ½£öàŽúñ£¬z~öŽÚƒü³”šŸý€jòÏ~0êüÙ¤.ƒü³”šŸý€jòÏ~Pj®©PíA¾¦Rj®©PíA¾¦2꼦"uäk*¥æš -Õäk*¥æš -Õäk*¥æš -Õäk*£Îk*R—Aº¦Ræùš -Åë1¼¦RฦB±æøšJ™¹¦B´ùšJ¨—k*P×A¾¦Rj®©PíA¾¦Rj®©PíA¾¦Rj®©PíA¾¦2꼦"uäk*¥æš -Õäk*¥æš -Õäk*¥æš -Õäk*£Îk*R—A¾¦Rj®©PíA¾¦Rj®©PíA¾¦Rj®©PíA¼¦2h®©Èì9¼¦R並B²æøšJ™¹¦B´ùšJ©¹¦BµùšÊ¨óšŠÔe¯©”šk*T{¯©”šk*T{¯©”šk*T{¯©Œ:¯©H]ùšJ©¹¦BµùšJ©¹¦BµùšJ©¹¦BµùšÊ¨óšŠÔe¯©”šk*T{¯©”šk*T{¯©:®©Ð¬9¼¦2d®©ˆì9¾¦Rf®©íA¾¦Rj®©PíA¾¦Rj®©PíA¾¦2꼦"uäk*¥æš -Õäk*¥æš -Õäk*¥æš -Õäk*£Îk*R—A¾¦Rj®©PíA¾¦Rj®©PíA¾¦Rj®©PíA¾¦êåš -Ôu¯©”šk*T{¯©”šk*T{¯©:®©Ð¬9¾¦2漦"täk*¥æš -Õäk*¥æš -Õäk*¥æš -Õäk*£Îk*R—A¾¦Rj®©PíA¾¦Rj®©PíA¾¦Rj®©PíA¾¦2꼦"uäk*¥æš -Õäk*¥æš -Õäk*¥æš -Õäk*£Îk*R—A¾¦Rj®©PíA¼¦R踦B³æøšJ™¹¦B´ùšÊ¨óšŠÔe¯©”šk*T{¯©”šk*T{¯©”šk*T{¯©Œ:¯©H]ùšJ©¹¦BµùšJ©¹¦BµùšJ©¹¦BµùšÊ¨óšŠÔe¯©”šk*T{¯©”šk*T{¯©”šk*T{¯©Œ:¯©H]ñšJ¡ãš -Íšãk*eæš -Ñäk*¥æš -Õäk*£Îk*R—A¾¦Rj®©PíA¾¦Rj®©PíA¾¦Rj®©PíA¾¦êåš -Ôu¯©”šk*T{¯©”šk*T{¯©”šk*T{¯©èH\SÑ{äšêúvé´wMµÿ¿;½Ž?×}»¦ºýó!¶¿}Oß~My8ž__nÿì‡ñPžùx£ÿö篿þüã_øúÓÏ^ßíqûÕàõã¿þ½l~þ‹ôðü²óWéñýtxýö¯IèÆC×ïtøü"/‡ãÇ¿Õøü"7Ôó³wÔÜQ߯ÿl¨Ôó³wÔ¼l>lÿ‡÷äÔ<‹ê:¸£nÃéEªçgï¨=¸£nÃñUªçgï¨=¸£¾íýŸõ
õüìµo«Û/ÛƒNϲºî¨§íŸÓÞ¥z~öŽÚƒ;êËöjV=?{GíÁõíðbÿ{ôŽYs·Éãǵè£3dzŒ.ƒ;êö¼XõüìµwÔí3x>JõüìµwÔqL«Ô\ç¢Úƒ|kÔyKê2È×¹JÍu.ª=È×¹JÍu.ª=È×¹JÍu.ª=È×¹F×¹¤.ƒ|«Ô\ç¢Úƒ|«Ô\ç¢Úƒ|«Ô\ç¢Úƒ|kÔyKê2È×¹JÍu.ª=ˆ×¹ -×¹hÖ_ç*3×¹ˆö _çu^ç’ºòu®Rs‹jòu®Rs‹jòu®Rs‹jòu®Qçu.©Ë _ç*5×¹¨ö _ç*5×¹¨ö _ç*5×¹¨ö _çu^ç’ºòu®Rs‹jòu®Rs‹jòu®Rs‹jòu®Qçu.©Ë ]ç*ó|‹âõ^ç*p\ç¢Xs|«Ì\ç"Úƒ|+ÔËu.¨ë _ç*5×¹¨ö _ç*5×¹¨ö _ç*5×¹¨ö _çu^ç’ºòu®Rs‹jòu®Rs‹jòu®Rs‹jòu®Qçu.©Ë _ç*5×¹¨ö _ç*5×¹¨ö _ç*5×¹¨ö ^ç4×¹dö^ç*r\ç"Ys|«Ì\ç"Úƒ|«Ô\ç¢Úƒ|kÔyKê2È×¹JÍu.ª=È×¹JÍu.ª=È×¹JÍu.ª=È×¹F×¹¤.ƒ|«Ô\ç¢Úƒ|«Ô\ç¢Úƒ|«Ô\ç¢Úƒ|kÔyKê2È×¹JÍu.ª=È×¹JÍu.ª=ˆ×¹ -×¹hÖ^ç2×¹Dö_ç*3×¹ˆö _ç*5×¹¨ö _ç*5×¹¨ö _çu^ç’ºòu®Rs‹jòu®Rs‹jòu®Rs‹jòu®Qçu.©Ë _ç*5×¹¨ö _ç*5×¹¨ö _ç*5×¹¨ö _ç -õrê:È×¹JÍu.ª=È×¹JÍu.ª=ˆ×¹ -×¹hÖ_çs^çºòu®Rs‹jòu®Rs‹jòu®Rs‹jòu®Qçu.©Ë _ç*5×¹¨ö _ç*5×¹¨ö _ç*5×¹¨ö _çu^ç’ºòu®Rs‹jòu®Rs‹jòu®Rs‹jòu®Qçu.©Ë _ç*5×¹¨ö ^ç*t\ç¢Ys|«Ì\ç"Úƒ|kÔyKê2È×¹JÍu.ª=È×¹JÍu.ª=È×¹JÍu.ª=È×¹F×¹¤.ƒ|«Ô\ç¢Úƒ|«Ô\ç¢Úƒ|«Ô\ç¢Úƒ|kÔyKê2È×¹JÍu.ª=È×¹JÍu.ª=È×¹JÍu.ª=È×¹F×¹¤.ƒx«Ðq‹fÍñu®2s‹hòu®Rs‹jòu®Qçu.©Ë _ç*5×¹¨ö _ç*5×¹¨ö _ç*5×¹¨ö _ç -õrê:È×¹JÍu.ª=È×¹JÍu.ª=È×¹JÍu.ª=È×¹tx*®sé=r{õû×¹ûïquûñ_+ݹÎýø¯§?rè:7Ï|¼Ñø!†ß~ áý럿]éþåÖµÝñéí»«ñõ
އíOÑ{?ÓpÜÂÑ»g®_m÷îÆkìßÂ!ºâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ9uܱڃx§ÔÜ¡ºâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ9uܱڃx§ÔÜ¡ºâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ9uܱڃx§ÔÜ¡ºâ-œSÇ-«=H·p=ß±YsxçÌqÇhâ-œRs‡ê2ˆ·pN·p¬ö ÞÂ9uܱڃxçÔqÇjâ-œRs‡ê2ˆ·pN·p¬ö ÞÂ9uܱڃxçÔqÇjâ-œRs‡ê2ˆ·pN·p¬ö ÞÂ9uܱڃxçÔqÇjâ-œRs‡ê2·pÎüvÇâõÝÂ9ð|ÇbÍá-œ3Ç-£=ˆ·pF·p¤®ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ)5·p¨.ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ)5·p¨.ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÝÂ)tÜ¡ÙstçÈó-“5‡·pηpŒö ÞÂ9uܱڃx§ÔÜ¡ºâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ9uܱڃx§ÔÜ¡ºâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ9uܱڃx§ÔÜ¡ºâ-œSÇ-«=ˆ·pN·p¬ö ÝÂ9ô|ÇfÍÑ-œ"Ç-’=‡·pηpŒö ÞÂ9uܱڃxçÔqÇjâ-œRs‡ê2ˆ·pN·p¬ö ÞÂ9uܱڃxçÔqÇjâ-œRs‡ê2ˆ·pN·p¬ö ÞÂ9uܱڃxçÔqÇjâ-œQç-©ë ÞÂ9uܱڃxçÔqÇjÒ-œCÏ·plÖÞÂ)3·pˆ.ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ)5·p¨.ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ)5·p¨.ƒxçÔqÇjâ-œSÇ-«=ˆ·pNÍ$«=ˆ·pJÍ-ªË ÞÂ9uܱڃtçÐó-›5‡·pηpŒö ÞÂ)5·p¨.ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ)5·p¨.ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ)5·p¨.ƒxçÔqÇjâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ)5·p¨.ƒtçÐó-›5‡·pηpŒö ÞÂ9uܱڃx§ÔÜ¡ºâ-œSÇ-«=ˆ·pN·p¬ö ÞÂ9uܱڃxgÔyGê:ˆ·pN·p¬ö ÞÂ9uܱڃxçÔqÇjâ-\w™[8|ñÐõ{ìÞÂÁ{|ûW¯ïO¹…{¼}·ýÅé[F÷úñ«Õéö-Üx(Ï|¼QîßÎ×pÿüëÏ_þú·_¾|>‡Ûþˆñ¨¼ì¯/±}Ïï{çpóÞob\½ßþ!ÆçCR—A>ÄPj1PíA<ÄPè8Ä@³æøC™9Ä@´ùèóƒÔe1”šCT{1”šCT{1”šCT{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùèóƒÔe1”šCT{1”šCT{1”šCT{1Œ:1H]éC™çC¯ÇðCãÅšãCeæÑäC¡^1@]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùèóƒÔe1”šCT{1”šCT{1”šCT{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µñà 9Ä ³çðC‘ãÉšãCeæÑäC¥æÕäC£ÎCR—A>ÄPj1PíA>ÄPj1PíA>ÄPj1PíA>Ä0ê<Ä uäC¥æÕäC¥æÕäC¥æÕäC£ÎCR—A>ÄPj1PíA>ÄPj1PíA<ÄPè8Ä@³æðÃ9Ä ²çøC™9Ä@´ùC©9Ä@µùC©9Ä@µùèóƒÔe1”šCT{1”šCT{1”šCT{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùC¨—CP×A>ÄPj1PíA>ÄPj1PíA<ÄPè8Ä@³æøÃ˜óƒÐe1”šCT{1”šCT{1”šCT{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùèóƒÔe1”šCT{1”šCT{1”šCT{1Œ:1H]ùC©9Ä@µñC¡ãÍšãCeæÑäC£ÎCR—A>ÄPj1PíA>ÄPj1PíA>ÄPj1PíA>Ä0ê<Ä uäC¥æÕäC¥æÕäC¥æÕäC£ÎCR—A>ÄPj1PíA>ÄPj1PíA>ÄPj1PíA>Ä0ê<Ä uÄC…ŽC4kŽ1”™CD{1”šCT{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùC¨—CP×A>ÄPj1PíA>ÄPj1PíA>ÄPj1PíA>ÄØ¿+P‡ô9ĸzýCŒý÷X1Žw1^ž¶ßnùc<óùã?ùË¿þôËíŸLôñ¯YŸ¿»>_bœv1r' -]whÖÞ 2wDöß (3wˆö ß (5w¨ö ß (5w¨ö ß uß :ùN@©¹@µùN@©¹@µùN@©¹@µùNÀ¨ûN€Ô1ÈwJÍ -7É»ãlÓ€©6I¬9n6
™d“Èšã`S»×²ç¸Ö4dbM"kŽSMC¦Ô$²æ¸Ó4d2M"kŽ#MAîFÈžãBÓ 4‰¬9Î3
™:“Èšã6ÓI3‰¬93¹»L {Ž«LC&Ê$²æ8É4dŠL"k{L#®“Àë1Œ1…—¼ãÓ€ 1I¬9Î0
™ -“ÈšãÓI0‰¬90¹ûK {ŽëKC&¾$²æ8½4dÊK"kŽ»KC&»$²æ8ºän.ì9..
™à’ÈšãÜÒ©-‰¬9n-
™Ô’ÈšãÐò6yé,É1Ç•¥!YYsœX2…%‘5‡}¥W^IàõÇ•Üm%ˆ=Çe¥!VYsœU2U%‘5ÇM¥!“TYsT -r÷”@ö×”†LLIdÍqJiÈ””DÖw”†LFIdÍqD)ÈÝPÙs\P2%‘5Çù¤!SOYsÜN2é$‘5Çᤠw7 dÏq5iÈD“DÖ&“F\Å$×cÜK0¹$‰5DZ¤ w+ dÏq)iÈ„’DÖg’†L%IdÍq#iÈ$’DÖ’‚Ü}$=Çu¤!GYsœF2e$‘5Ç]¤!“EYsE -r7‘@ö‘†LIdÍqiÈÔDÖ·†L -IdÍq)ÈÝAÙsXAqE^qiÀ$Ö÷†LþHdÍqü(ÈÝ>Ùs\>2á#‘5ÇÙ£!S=YsÜ<2É#‘5ÇÁãmòÒ;“cŽkGC&v$²æ8u4dJG"kŽ;GC&s$²æ8r<ŒïTã/‘ÄñòÇ…ãáKŒÀññFàøôv÷vúÍÇõŒKßóÆÇûþmâxy±¿¬q„/lGŽW_ØQåøñ53G¯Ç0tTà*Q¬9n•™ØÑäÜQ¨—ÞÔ9ÈÅ£R“<¢Úƒ=*5Õ#ª=ÈÝ£R>¢Úƒœ>u·¤ŽA®•šüÕä -KT{K¥&²Dµ9³ê¥³uri©Ô¤–¨ö Ç–JMm‰jbo©Ð\¢Ysœ\s7—„ŽA®.•šìÕäðR©)/QíAn/•šøÕäüÒ¨»¿$ur©Ô$˜¨ö G˜JM…‰jr‡©Ô„˜¨ö §˜FÝ-&©ckL¥&ÇDµ9ÈTjŠLT{›L¥&ÊDµ9Ë4êî2Iƒ\f*5i&ª=ˆq¦BW‰fÍqŸ©Ìšˆö 'šFÝ&©c+M¥&ÓDµ9ÔTjJMT{[M¥&ÖDµ9×4êî5Iƒ\l*5É&ª=ÈѦRSm¢ÚƒÜm*5á&ª=Èé¦Qw»IêäzS©É7QíA8•š‚Õä†S©‰8QíAÎ8º;NRÇ –œ -])'š5Ç1§2Ss"ÚƒÜs*5A'ª=ÈI§QwÓIêäªS©É:QíA;•š²Õä¶S©‰;QíAÎ;…zé;Aƒ\x*5‰'ª=È‘§RSy¢ÚƒÜy*5¡'ª=È©çq„¨ZOzÄžWïq\{¿Çoü<ËÇ—»·×h¹žq¹ç¿ýüÿå-//ö—åžð…íÜóê;Ê=?¾Æaî‰âõæž -\¹'Š5ǹ§2“{"Úƒœ{ -õ’{‚:9÷TjrOT{sO¥&÷Dµ9÷TjrOT{sO£îÜ“Ô1ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕÄÜÓ É=Éì9Ì=¹rO$kŽsOe&÷D´9÷TjrOT{sO£îÜ“Ô1ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jbî©Ð•{¢Ys˜{2¹'‘=ǹ§2“{"Úƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžB½äž ÎAÎ=•šÜÕäÜS©É=QíAÌ=ºrO4kŽsOcîÜ“Ð1ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ1÷TèÊ=Ѭ9Î=•™ÜÑäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ9÷TjrOT{sO¥&÷Dµ9÷4êÎ=Iƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§QwîIêÄÜS¡+÷D³æ8÷TfrOD{sO¥&÷Dµ9÷4êÎ=Iƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§P/¹'¨ssO¥&÷Dµ9÷TjrOT{sO¥&÷Dµ9÷<ŽUîIï‘Üóê=ŽsÏã÷ø¹çûC¯œ{®g~ç{þñÛÏmîyy±¿,÷„/lçžW_ØQîùñ5sO¯Ç0÷TàÊ=Q¬9Î=•™ÜÑäÜS¨—ÜÔ9ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jrî©Ô䞨ö æžMîIfÏaî©È•{"Ysœ{*3¹'¢=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ9÷TjrOT{sO…®ÜÍšÃÜÓÉ=‰ì9Î=•™ÜÑäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ9÷TjrOT{sO¥&÷Dµ9÷ê%÷urî©Ô䞨ö çžJMî‰jbî©Ð•{¢Ysœ{sçž„ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$urî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ9÷TjrOT{sO¥&÷Dµ9÷4êÎ=Iƒœ{*5¹'ª=ˆ¹§BWî‰fÍqî©Ì䞈ö çžFݹ'©csO¥&÷Dµ9÷TjrOT{sO¥&÷Dµ9÷4êÎ=Iƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§QwîIêäÜS©É=QíAÎ=•šÜÕäÜS©É=QíAÎ=ºsORÇ æž -]¹'š5ǹ§2“{"Úƒœ{*5¹'ª=ȹ§QwîIêäÜS©É=QíAÎ=•šÜÕäÜS©É=QíAÎ=…zÉ=Aƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{*5¹'ª=ȹçq„¨rOzäžWïñø|”{¿Çïž¾¬?×Ñs~º{~ÿ{Êã×÷xþ<÷\å™÷7úû_þéßþôí?üîñåþoÿîOøóŸ¿ýùCDxÿzúcÔÓß\Müµz{{> -6ïßî¾¼ÿ›fzµ<týjkÆÓ¯èéÁÏ^䣺žeu¨O§ßê¾Jõüì
µÔ×ÓïuV=?{CíÁõíîÕþÿxô†YsŸ“§ÿ<|ypæz–Ñ1x ž¾¯V=?{CíÁõô=xy”êùÙj¨§ïÂó“TÏÏÞP{ðsõéômx’êz–Õ1x ž¾
ÏR=?{CíÁõôm8ýöêÔó³7Ô<PO߆{«žŸ½¡öàçêóÃÝý×W§®gYƒêÓÝËÛ©žŸ½¡öàúzwÿŪçgo¨=x ¾Ý½Ø¿¯go¨=ø¹úrú6¼ÈßpÖ³¬ŽÁõômx¶êùÙj¨§oƒü›ÄùÑfͧïÁ“ü
g={íÁÏÕ×Ó÷àQªëYVÇàzú<ÈßæÖ³7Ô<POß…{«žŸ½¡öàúv÷üUþ6·ž½¡öàçê—û»¯oò¯àõ,«cð@=ýùá‹UÏÏÞP{ð@}9ýåosëÙj¨§oËümn={CíÁÏÕ·Ó·áYªëYVÇàzú6<ÉßæÖ³7Ô<PO߆GùÛÜzö†ÚƒêéÛð`Õó³7Ô<¸Ã;ß#*5ލŽA8ptæG¯ÇèÀÑçGk¹íA<p4ê>p$uâ£S×#«=ˆŽN]ެö 8:u8²Úƒxà¨Ô8¢:ñÀÑ©ëÀ‘ÕÄG§®GV{ºYíA<pTjQƒxàèÔuàÈjâ£S×#«=ˆŽN]ެö 8*t8¢ÙstàèÈó#“5‡ŽÎ\ŽŒö 8:u8²Úƒxà¨Ô8¢:ñÀÑ©ëÀ‘ÕÄG§®GV{ºYíA<pTjQƒxàèÔuàÈjâ£S×#«=ˆŽN]ެö 8*5ލŽA<ptê:pdµñÀÑ©ëÀ‘Õ¤G‡žÙ¬9:pTä:pD²çðÀÑ™ëÀ‘ÑÄG§®GV{ºYíA<pTjQƒxàèÔuàÈjâ£S×#«=ˆŽN]ެö 8*5ލŽA<ptê:pdµñÀÑ©ëÀ‘ÕÄG§®GV{ºIƒxàèÔuàÈjâ£S×#«=HŽ=8²Ysxà¨Ì8":ñÀÑ©ëÀ‘ÕÄG§®GV{ºYíA<pTjQƒxàèÔuàÈjâ£S×#«=ˆŽN]ެö 8*5ލŽA<ptê:pdµñÀÑ©ëÀ‘ÕÄG§®–ÕÄG¥æÀÕ1ˆŽN]ެö 8:ô|àÈfÍá£3×#£=ˆŽJÍ#ªcºYíA<ptê:pdµñÀÑ©ëÀ‘ÕÄG¥æÀÕ1ˆŽN]ެö 8:u8²ÚƒxàèÔuàÈjâ£RsàˆêÄG§®GV{ºYíA<ptê:pdµñÀQ©9pDuÒ£CÏŽlÖ8:s82ÚƒxàèÔuàÈjâ£RsàˆêÄG§®GV{ºYíA<ptê:pdµñÀѨûÀ‘Ô9ˆŽN]ެö 8:u8²ÚƒxàèÔuàÈjâ#íÝ>pÄ÷X]¿Çá#¼ÇÿôúõùžÅéŸ(ž~dt§¿[Ý?<}~à¸Ê3üó,žÖªøýùöó·_ÿð§ÿö?ÿ÷·üþñ§Z¼Ÿ_Þ¿‡ÜH~ŒJŸï¾¼\ÜO±ßÿ»ñÁ…ä®[ákÛuëÕ×v\·~|¨[QíA®[ºëVRÇ ÕÊ<×(^aݪÀU·¢Xs\·*3u+¢=Èu«P/u+¨sëV¥¦nEµ¹nUjêVT{ëV¥¦nEµ¹n5ê®[Iƒ\·*5u+ª=Èu«RS·¢Úƒ\·*5u+ª=Èu«QwÝJêäºU©©[QíA®[•šºÕäºU©©[QíA¬[
šº•̞úU‘«nE²æ¸nUfêVD{ëV¥¦nEµ¹n5ê®[Iƒ\·*5u+ª=Èu«RS·¢Úƒ\·*5u+ª=Èu«QwÝJêäºU©©[QíA®[•šºÕäºU©©[QíA®[ºëVRÇ ×JMÝŠjrݪÔÔ¨ö Ö -]u+š5‡u«!S·Ùs\·*3u+¢=Èu«RS·¢Úƒ\·*5u+ª=Èu«QwÝJêäºU©©[QíA®[•šºÕäºU©©[QíA®[ºëVRÇ ×JMÝŠjrݪÔÔ¨ö ×JMÝŠjrÝ*ÔKÝ -êäºU©©[QíA®[•šºÕĺU¡«nE³æ¸n5æ®[ ƒ\·*5u+ª=Èu«RS·¢Úƒ\·*5u+ª=Èu«QwÝJêäºU©©[QíA®[•šºÕäºU©©[QíA®[ºëVRÇ ×JMÝŠjrݪÔÔ¨ö ×JMÝŠjrÝjÔ]·’:¹nUjêVT{ëV…®ºÍšãºU™©[íA®[ºëVRÇ ×JMÝŠjrݪÔÔ¨ö ×JMÝŠjrÝjÔ]·’:¹nUjêVT{ëV¥¦nEµ¹nUjêVT{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·uפŽA¬[ºêV4kŽëVe¦nE´¹nUjêVT{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\· -õR·‚:¹nUjêVT{ëV¥¦nEµ¹nUjêVT{ëV -.EÝJõê=ŽëÖã÷øÑfÜ¿ÿæN?¾ãëéuüãä—ç»ûׇÏëÖõPž¹ä¨?~zÇ?üúË÷_¾ÿû¿~ò<^Þs×Ç¿¹ŸopÿãC³òÔýqÔðrû㨯^îøã¨?¾|5©c?ŽZ©ù8jT{?ŽZ©ù8jT{?ŽZ©ù8jT{?ŽÚ¨ûã¨IƒüqÔJÍÇQ£ÚƒüqÔJÍÇQ£ÚƒüqÔJÍÇQ£ÚƒüqÔFÝGMêä£Vj>ŽÕä£Vj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£x=†Á¾W°bÍq°¯Ìûˆö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ1Ø7h‚}2{ƒ}E®`Éšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+tûhÖû†L°OdÏq°¯Ìûˆö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`Íšã`ߘ;Ø'tr°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAöº‚}4kŽƒ}e&ØG´9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:1ØWè -öѬ9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAötìÓ{$Ø¿zã`ÿø=F°ÿp#Ø}¸{¸ÑëŸá£~̇Qÿþ§ŸúþûßüêÓt^¿®ÇþþÛ÷þåŸ>kX¿¼9û¥>vþÏ7?…úøKÚMëåK:NZ?¼DÖ÷¬‚Ü9+=G1«Ï-+qWSX²m…¬Ä]qÆjÀT¬$Ö7¬·ÉKÂzLŽ9X
™~•ÈšãzÕ‰W‰¬9NW
™r•ÈšãnU;[²ç8Z5dšU"kŽ‹UC&X%²æ8W5djU"kŽ[UAîTÈžãPÕéT‰¬9®T
™H•ÈšãDÕ)T‰¬9ìS…˜<ÀÃ8Õx«M%ïzŒËT&L%±æ8K5dªT"kŽ›TAî$Èžã ÕéQ‰¬9®Q
™•ÈšãÕ)Q‰¬9îP¹3T {Ž#TC¦A%²æ¸@5dT"kŽóSC¦>%²æ¸=äNOì9O
™î”ÈšãêÔ‰N‰¬9LN¸ŠS¯Ç°7^rSðjŒcS¦5%±æ¸45dBS"kŽ3SC¦2%²æ¸1äNLì9L
™¾”ÈšãºÔ‰K‰¬9NK
™²”Èšã®T;+²ç8*5dšR"kŽ‹RC&(%²æ8'5djR"kŽ[ÒÛä%%=&LJ¤†LGJdÍqEjÈD¤DÖ&¤F\)×cÜ -pç£ öÇ£†L;JdÍq9jÈ„£DÖg£†L5JdÍq3*ÈŒÙsŒ2½(‘5ǵ¨!‹YsœŠ2¥(‘5Ǩ w& -dÏq$jÈ4¢DÖ¢†L JdÍqjÈÔ¡DÖ·¡‚Üi(=Ça¨!Ó…YsX…qE¡^qjÀ¡$Ö÷ ‚Ü9(=Ç1¨!Ó‚Ys\‚2!(‘5Ǩ!SYsÜ€ -r' @ö †LÿIdÍqýiÈÄŸDÖ§Ÿ†LùIdÍq÷)È}Ùs}2Í'‘5Çŧ!|Ysœ{2µ'‘5ǧ wê dÏaèiÄÕyx=Æ•§y’Xsœx2…'‘5Ç}§ wÞ dÏqÜiÈ´DÖ—†LØIdÍqÖiÈTDÖ7·ÉKÒyLŽ9:
™ž“ÈšãšÓ‰9‰¬9N9
™’“ÈšãŽó°0T'¼D*ÎËKGœ‡/ñ?tùý¿Ôžþ†çzÆUœ¿~ûó·ïÎǯwO7 -Îׯçÿêwy¥¿ÀOO¯G
çþp]ø’ö‡ë^}IÇ®ûñEàÃuQíAþp]¥æÃuQíAþp]¥æÃuQíAþp]£î×%uò‡ë*5®‹jò‡ë*52ª=È%²R“"£Úƒ#u×ȤŽAê‘•y’Q¼Ã$Y«IF±æ¸JVf²dD{Ãd¡^ÊdPç ·ÉJMœŒjrž¬Ôôɨö ÊJM¢Œjr¤lÔ])“:¹SVjBeT{Se¥¦UFµ¹VVjreT{ƒe£îb™Ô1ÈͲR-£Úƒœ-+5Ý2ª=Èå²R“.£Úƒ/4õ2™=‡ý²"WÀŒdÍq¬Ì4̈ö WÌJMÆŒjrÈlÔ]2“:¹eVjbfT{sf¥¦gFµ¹hVj’fT{£f£îª™Ô1È]³R6£Úƒœ6+5m3ª=Èu³R“7£Úƒ8uΤŽAnœ•šÈÕäÌY©éœQíA,ºRg4kcgC¦v&²ç¸wVf‚gD{“g¥¦yFµ¹zVj²gT{Ãg£îò™Ô1Èí³R?£Úƒœ?+5ý3ª=È´R“@£ÚƒAuWФŽAî •šÕäZ©i¡QíA®¡•šÕä Z¨—"Ô9ÈM´RE£ÚƒœE+5]4ª=ˆe´BWfÍqmÌ]G:¹VjiT{i¥¦‘Fµ¹’Vj2iT{Ci£îRšÔ1È´RK£ÚƒœK+5½4ª=ÈÅ´R“L£ÚƒMuWÓ¤ŽAšpÕätZ©i§QíA®§•š|Õä€Ú¨» &urCÔDÔ¨ö fÔ -]5š5Ç%µ2“R#ÚƒSu×Ô¤ŽAî©•š Õä¤Z©iªQíA®ª•š¬Õä°Ú¨»¬&ur[ÔÄÕ¨ö çÕJM_jraÔ$Ö¨ö GÖFÝ•5©c;k¥&´Fµ9µVjZkT{kk¥&·Fµ9¸6ê.®IƒØ\+tE×hÖg×ÊLwhryԤרö Ç×FÝõ5©cûk¥&ÀFµ9ÁVjlT{+l¥&ÃFµ9Äê¥Äur‹ÔÄØ¨ö çØJMjr‘Ô$Ù¨ö GÙ
‹*›Þ#YöÕ{wÙÇïñ?\÷ô§ÊÇû/f¯g\˜ýi–ýðvúßgÙ/owoïÿfóòBóïž²ìׇ»ûî/(]AÈ×§»—÷ÿ¦÷ñE>QÏÏÞP{ð@}½»¿·êùÙj¨owÏ_Ÿ¤z~ö†Úƒ1øªãºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1H¹½2Ϲ=Š×c˜Û+påö(ÖçöÊLnhrn/ÔKnêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{ƒ&·'³ç0·WäÊ푬9Îí•™ÜÑäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ˆ¹½BWnfÍanoÈäöDöçöÊLnhrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛõ’Ûƒ:9·Wjr{T{s{¥&·Gµ1·WèÊíѬ9Îí¹s{BÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕÄÜ^¡+·G³æ8·Wfr{D{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{…®ÜÍšãÜ^™ÉííAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöB½äö ÎAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜþ8W¹=½Grû«÷x|9Êíßã7æö§ yåÜ~=ãrû?þ•¹ýå…þ²Ü¾ Û_}AǹýÇÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒ”Û+óœÛ£x=†¹½WnbÍqn¯Ìäöˆö çöB½äö ÎAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ1·7hr{2{s{E®ÜÉšãÜ^™ÉííAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£Úƒ˜Û+tåöhÖæö†LnOdÏqn¯Ìäöˆö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½P/¹=¨ss{¥&·Gµ9·Wjr{T{s{…®ÜÍšãÜÞ˜;·'trn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÌíºr{4kŽs{e&·G´9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:1·WèÊíѬ9Îí•™ÜÑäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrn/ÔKnêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎícp•ÛÓ{$·¿zãÜþø=Fnÿx#·¿ÿz÷tÿ̹ýzÆåö?ýË¿þé§oÿô1¹?ý™îô—&÷§ß™žïßþæê¥æ›¿ÿËô·£ä~'¼ðEí„÷ê‹:Nx?¾$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^ež^¯Ç0áUàJxQ¬9Nx•™„Ñä„W¨—„Ô9È ¯R“ð¢Úƒœð*5 /ª=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö &¼MÂKfÏa«ȕð"Ysœð*3 /¢=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^…®„͚Ä×Ix‰ì9Nx•™„Ñä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9áê%áur«Ô$¼¨ö '¼JM‹jb«Еð¢Ysœðs'¼„ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%ur«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9á5êNxIƒœð*5 /ª=ˆ ¯BW‹fÍq«Ì$¼ˆö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9á5êNxIƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=È ¯QwÂKêä„W©IxQíANx•š„Õä„W©IxQíANxº^RÇ &¼ -] /š5Ç ¯2“ð"Úƒœð*5 /ª=È ¯QwÂKêä„W©IxQíANx•š„Õä„W©IxQíANx…zIxAƒœð*5 /ª=È ¯R“ð¢Úƒœð*5 /ª=È ïq\ª^z$¼Wïqœð¿ÇoûÄ쇯¯'õ Þ<ãÞ_¿ýá“~÷ñùîþûÝ×ç‰ÊÕ}ü%þrúàÑGf¿Bô¯(]E‡#ýÉ‹Œ4«=ˆ#Ô|Œ4ªc?FÚ©ëc¤YíAüi§®‘fµñc¤º>FšÕÄ‘VjtTÇ 6èN]
:«=ˆ
ºSWƒÎjbƒîÔÕ ³ÚƒØ +5
:ªctgþhÐY¼£ÝçÅšÃÝ™«Ag´±A7ênÐIƒØ ;u5è¬ö 6èN]
:«=ˆ
ºSWƒÎjbƒ®Ô4討AlкtV{t§®ÕÄÝ©«Agµ±AWjtTÇ 6èN]
:«=ˆ
ºSWƒÎjbƒîÔÕ ³ÚƒÔ +t5èhö5èŽ<7èLÖ6èÎ\
:£=ˆ
ºSWƒÎjbƒ®Ô4討AlкtV{t§®ÕÄÝ©«Agµ±AWjtTÇ 6èN]
:«=ˆ
ºSWƒÎjbƒîÔÕ ³ÚƒØ +5
:ªct§®ÕÄÝ©«Agµ©Awè¹Ag³æ¨AWäjБì9lйtF{t§®ÕÄÝ©«Agµ±AWjtTÇ 6èN]
:«=ˆ
ºSWƒÎjbƒîÔÕ ³ÚƒØ +5
:ªct§®ÕÄÝ©«Agµ±AwêjÐYíAlкtRç 6èN]
:«=ˆ
ºSWƒÎjRƒîÐsƒÎfÍaƒ®Ì4舎AlкtV{t§®ÕÄÝ©«Agµ±AWjtTÇ 6èN]
:«=ˆ
ºSWƒÎjbƒîÔÕ ³ÚƒØ +5
:ªct§®ÕÄÝ©«Agµ±AwêjÐYíAlЕšÕ1ˆ
ºSWƒÎjRƒîÐsƒÎfÍaƒîÌÕ 3ÚƒØ +5
:ªct§®ÕÄÝ©«Agµ±AwêjÐYíAlЕšÕ1ˆ
ºSWƒÎjbƒîÔÕ ³ÚƒØ ;u5è¬ö 6èJMƒŽêÄÝ©«Agµ±AwêjÐYíAlкtV{t¥¦AGuRƒîÐsƒÎfÍaƒîÌÕ 3ÚƒØ ;u5è¬ö 6èJMƒŽêÄÝ©«Agµ±AwêjÐYíAlкtV{t£îÔ9ˆ
ºSWƒÎjbƒîÔÕ ³ÚƒØ ;u5è¬ö 6èHßnÐñ=ÖC×ïqØ Ã{ü¶‘~xoKï¸A_ϸýÿþúÓ÷oŸDè_ïN´âýëù¿U^^éã¯ñÓÓëQ„¾Ãlø’v˜}õ%‡Ù_ÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA -³•y³Q¼Ã0[+ÌF±æ8ÌVfÂlD{Ãl¡^ÂlPç ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙJM˜jr˜mÔf“:9ÌVjÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒf4a6™=‡a¶"W˜dÍq˜Ì„Ùˆö ‡ÙJM˜jr˜mÔf“:9ÌVjÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³ºÂl4kÃlC&Ì&²ç8ÌVfÂlD{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0[¨—0Ô9Èa¶Rf£Úƒf+5a6ª=ˆa¶BW˜fÍq˜mÌf:9ÌVjÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&ur˜Ô„Ù¨ö †Ù -]a6š5Ça¶2f#Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&ur˜Ô„Ù¨ö ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙFÝa6©cÃl¥&ÌFµ9ÌVjÂlT{Ãl¥&ÌFµ9Ì6ê³Iƒf+t…ÙhÖ‡ÙÊL˜hr˜Ô„Ù¨ö ‡ÙFÝa6©cÃl¥&ÌFµ9ÌVjÂlT{Ãl¥&ÌFµ9Ìê%Ìur˜Ô„Ù¨ö ‡ÙJM˜jr˜Ô„Ù¨ö ‡Ù
‹0›Þ#aöÕ{‡ÙÇïñ?üô›üówÙçG\–ýý—ÿþýן~þãÇ2ûô—ÇiöéoØ_Þ‹œýRóÅOÿc8ütðµI»i½|IÇI뇗€¢•ÈšãžU;g²ç(f5à¹e%îj -KV£•¸ë1ÎX
˜Š•Äšã†õ6yIXÉ1Ç«!Ó¯Ys\¯2ñ*‘5Çéª!S®YsÜ -rg«@öG«†L³JdÍq±jÈ«DÖ窆LJdÍq«*ȪÙsª2*‘5Ç•ª!©Ysœ¨2…*‘5‡}ª“§Xc§oµ©ä]q™jÀ„©$Ög©†L•JdÍq“*ȤÙs¤2=*‘5Ç5ª!£Ysœ¢2%*‘5Ǫ w† -dÏq„jÈ4¨DÖ¨†L€JdÍq~jÈÔ§DÖ·§‚Üé)=Çá©!ÓYs\2Ñ)‘5‡É©WqJàõö¦ÂKn -^qljÀ´¦$Ö—¦†LhJdÍqfjÈT¦DÖ7¦‚܉)=Ç©!Ó—Ys\—2q)‘5Çi©!S–YsÜ• -rg¥@öG¥†LSJdÍqQjÈ¥DÖ礆LMJdÍqKz›¼¤¤Çä˜ãÔéH‰¬9®H
™ˆ”ȚÄԈ« %ðzŒûQî|ÄžãxÔiG‰¬9.G
™p”ÈšãlÔ©F‰¬9nF¹“Q {ŽƒQC¦%²æ¸5dbQ"kŽSQC¦%²æ¸äÎDì9ŽD
™F”ÈšãBÔ D‰¬9ÎC
™:”Èšã6T;
²ç85dºP"k«P#®(”Àë1NB
˜"”ÄšãT;²ç85dZP"kŽKPC&%²æ85d*P"kŽPAîÈžã -ÕäP© QíAN•šÕäP¨—Ô9ÈA RS¢ÚƒÜ*5Q ª=ˆY BWˆfÍqhÌ:9Tjê@T{û@¥&Dµ9TjAT{+A£îLÔ1È¡ RS -¢ÚƒÜ -*5± ª=ȹ RÓ¢Úƒ\u'ƒ¤ŽAŽ•šjÕänP© QíAN•švÕäzШ;$ur@¨Ô„¨ö 6„ -]!š5Ç¡2Ó"Úƒ\u§„¤ŽAŽ •ššÕäžP© -QíAN -•š¦ÕäªÐ¨;+$urX¨Ô”…¨ö ·…JM\ˆjr^¨Ôô…¨ö †F݉!©c#C¥¦2Dµ¹3TjBCT{SC¥¦5Dµ¹64êÎ
Iƒ*t‡hÖ7‡ÊLtˆhrv¨Ôt‡¨ö —‡FÝé!©cãC¥¦>Dµ¹?TjDT{D¥¦ADµ¹Bê%Curˆ¨Ô”ˆ¨ö ·ˆJMŒˆjrލÔôˆ¨ö ‰Ôʉ$‘Þ#MâÕ{G‰Çïñã?½~ýñá“%OÿDñô#£{~¾{yþòy•¸Ê3\%>Øð?ýòËŸ¾ýáçO>Zòýc!“$þÝŸþðç?(O.¹ÿ§æËK}üU>ýV}T$>¿Ý½¼¾ñ•‡®¿¨Møòpwÿòõ³ù¨®gYƒêÓéÿhÕó³7Ô<P_ïÞ+…þxô†Ysäé{ðô Íó³7Ðü\}=}¥ºžeu¨§ïÁãTÏÏÞP{ð@=}îz~ö†ÚƒêÛéïJOR=?{CíÁÏÕÓŸS¾¾É¿‚׳¬ŽÁõéô·"«žŸ½¡öàúrzþEªçgo¨=x ž¾
/¯R=?{CíÁƒø=}ž¥ºžeu¨§oÃûŸz•z~ö†ÚƒêúÈc¥æ#”QíAþe¥æS”QíAþe£îR&uÒG)+óüYÊ(^á§)+p}œ2Š5Ǩ¬Ì\o Úƒ|½!ÔËõ¨s¯7”šë
T{¯7”šë
T{¯7”šë
T{¯7Œº¯7Hƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½aÔ}½Aêäë
¥æzÕäë
¥æzÕäë
¥æzÕÄë
ƒæzƒÌžÃë
E®ë
$kޝ7”™ë
D{¯7”šë
T{¯7Œº¯7Hƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½aÔ}½Aêäë
¥æzÕäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö ^o(t]o Ysx½aÈ\oÙs|½¡Ì\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½aÔ}½Aêäë
¥æzÕäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö _o(5רö _oõr½êäë
¥æzÕäë
¥æzÕÄë
…®ë
4kޝ7Œ¹¯7ƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½aÔ}½Aêäë
¥æzÕäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö _o(5רö _ou_o:ùzC©¹Þ@µñzC¡ëzÍšãë
eæzÑäë
£îë
RÇ _o(5רö _o(5רö _o(5רö _ou_o:ùzC©¹Þ@µùzC©¹Þ@µùzC©¹Þ@µùzèûzƒÔ1È×JÍõª=È×JÍõª=È×JÍõª=È×FÝפŽA¼ÞPèºÞ@³æøzC™¹Þ@´ùzC©¹Þ@µùzèûzƒÔ1È×JÍõª=È×JÍõª=È×JÍõª=È×B½\o€:ùzC©¹Þ@µùzC©¹Þ@µùzC©¹Þ@µùzƒî -Äõ½G®7®Þãøzãø=ÆgJ?ÜøL駇ÓWÿÊŸ)½ž¹\]üîñåþoÿá×_¾ÿòýßÿõÛÇ+Œ—ó‡L_Ï7¸ÿqVpp…±ƒ}x¹ì_½Üq°ÿñE Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oê¤`_™ç`Åë1ö¸‚}kŽƒ}e&ØG´9Øê%Øur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾Aì“Ùsì+rûHÖûÊL°hr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`ÕÄ`_¡+ØG³æ0Ø7d‚}"{Žƒ}e&ØG´9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+tûhÖûÆÜÁ>¡cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jb°¯Ðì£Ysì+3Á>¢=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ˆÁ¾BW°fÍq°¯Ìûˆö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö ûJM°jr°œ «`ŸÞ#ÁþÕ{ûÇï1~ÜÂã·ððv÷úüÌ?na=ã~ÜÂýùû·?~ûõ¯úq——úË~Ü|QûÇ-\}QÇ?náã‹À[ uò[Pj~ܪ=ˆ?nA¡ëÇ- Ysüã”™ë
D{¯7Œº¯7Hƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½aÔ}½Aêäë
¥æzÕäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö _o(5רö _ou_o:ézC™çë
¯ÇðzCëzÅšãë
eæzÑäë
¡^®7@ƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½aÔ}½Aêäë
¥æzÕäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö _o(5רö ^o4×dö^o(r]o Ys|½¡Ì\o Úƒ|½¡Ô\o Úƒ|½aÔ}½Aêäë
¥æzÕäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö _o(5רö _ou_o:ùzC©¹Þ@µùzC©¹Þ@µñzC¡ëzÍšÃë
CæzƒÈžãë
eæzÑäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö _o(5רö _ou_o:ùzC©¹Þ@µùzC©¹Þ@µùzC©¹Þ@µùzC¨—ë
Pç _o(5רö _o(5רö ^o(t]o Ys|½aÌ}½Aèäë
¥æzÕäë
¥æzÕäë
¥æzÕäë
£îë
RÇ _o(5רö _o(5רö _o(5רö _ou_o:ùzC©¹Þ@µùzC©¹Þ@µùzC©¹Þ@µùzèûzƒÔ1È×JÍõª=ˆ× -]×hÖ_o(3׈ö _ou_o:ùzC©¹Þ@µùzC©¹Þ@µùzC©¹Þ@µùzèûzƒÔ1È×JÍõª=È×JÍõª=È×JÍõª=È×FÝפŽA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞPj®7PíA¾Þ0ê¾Þ uâõ†B×õš5Ç×ÊÌõ¢=È×JÍõª=È×FÝפŽA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞêåzÔ9È×JÍõª=È×JÍõª=È×JÍõª=È×tW ®7è=r½qõ¯G×ÇïñÜÂé×üõôªøãÖ3¿ýÇ-\Æÿ²· -öѬ9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAötìÓ{$Ø¿zã`ÿø=Nøz÷òþ/_^OLýüG2|y¸ûòôãïhwo_öûœþò¾zŸÓÿûé×e=òþ:ÿçàm.+þŸ—.endstream -endobj -1503 0 obj << -/Type /Page -/Contents 1504 0 R -/Resources 1502 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1178 0 R -/Annots [ 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1517 0 R 1518 0 R 1519 0 R 1520 0 R 1521 0 R 1522 0 R 1523 0 R 1524 0 R 1525 0 R 1526 0 R 1527 0 R 1528 0 R 1529 0 R 1530 0 R 1531 0 R 1532 0 R 1533 0 R 1534 0 R 1535 0 R 1536 0 R 1537 0 R 1538 0 R 1539 0 R 1540 0 R 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1558 0 R 1559 0 R 1560 0 R 1561 0 R 1562 0 R 1563 0 R 1564 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1594 0 R 1595 0 R 1596 0 R 1597 0 R 1598 0 R 1599 0 R 1600 0 R 1601 0 R 1602 0 R 1603 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R ] ->> endobj -1506 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 756.639 264.269 764.801] -/Subtype /Link -/A << /S /GoTo /D (1145) >> ->> endobj -1507 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 756.639 521.32 764.801] -/Subtype /Link -/A << /S /GoTo /D (1145) >> ->> endobj -1508 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 743.687 275.028 751.849] -/Subtype /Link -/A << /S /GoTo /D (1150) >> ->> endobj -1509 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 743.687 521.32 751.849] -/Subtype /Link -/A << /S /GoTo /D (1150) >> ->> endobj -1510 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 731.955 230.953 738.898] -/Subtype /Link -/A << /S /GoTo /D (1155) >> ->> endobj -1511 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 731.955 521.32 738.898] -/Subtype /Link -/A << /S /GoTo /D (1155) >> ->> endobj -1512 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 717.035 257.982 725.947] -/Subtype /Link -/A << /S /GoTo /D (1159) >> ->> endobj -1513 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 717.035 521.32 725.947] -/Subtype /Link -/A << /S /GoTo /D (1159) >> ->> endobj -1514 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 705.192 285.788 712.995] -/Subtype /Link -/A << /S /GoTo /D (1180) >> ->> endobj -1515 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 705.192 521.32 712.995] -/Subtype /Link -/A << /S /GoTo /D (1180) >> ->> endobj -1516 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 691.882 275.028 700.044] -/Subtype /Link -/A << /S /GoTo /D (1198) >> ->> endobj -1517 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 691.882 521.32 700.044] -/Subtype /Link -/A << /S /GoTo /D (1198) >> ->> endobj -1518 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 678.93 264.269 687.092] -/Subtype /Link -/A << /S /GoTo /D (1205) >> ->> endobj -1519 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 678.93 521.32 687.092] -/Subtype /Link -/A << /S /GoTo /D (1205) >> ->> endobj -1520 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 667.198 258.889 674.141] -/Subtype /Link -/A << /S /GoTo /D (1210) >> ->> endobj -1521 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 667.198 521.32 674.141] -/Subtype /Link -/A << /S /GoTo /D (1210) >> ->> endobj -1522 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 653.027 257.852 661.189] -/Subtype /Link -/A << /S /GoTo /D (1215) >> ->> endobj -1523 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 653.027 521.32 661.189] -/Subtype /Link -/A << /S /GoTo /D (1215) >> ->> endobj -1524 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 639.327 257.982 648.238] -/Subtype /Link -/A << /S /GoTo /D (1228) >> ->> endobj -1525 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 639.327 521.32 648.238] -/Subtype /Link -/A << /S /GoTo /D (1228) >> ->> endobj -1526 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 627.483 285.788 635.287] -/Subtype /Link -/A << /S /GoTo /D (1257) >> ->> endobj -1527 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 627.483 521.32 635.287] -/Subtype /Link -/A << /S /GoTo /D (1257) >> ->> endobj -1528 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 614.173 301.927 622.335] -/Subtype /Link -/A << /S /GoTo /D (1338) >> ->> endobj -1529 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 614.173 521.32 622.335] -/Subtype /Link -/A << /S /GoTo /D (1338) >> ->> endobj -1530 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 601.221 301.927 609.384] -/Subtype /Link -/A << /S /GoTo /D (1345) >> ->> endobj -1531 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 601.221 521.32 609.384] -/Subtype /Link -/A << /S /GoTo /D (1345) >> ->> endobj -1532 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 588.27 275.028 596.432] -/Subtype /Link -/A << /S /GoTo /D (1350) >> ->> endobj -1533 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 588.27 521.32 596.432] -/Subtype /Link -/A << /S /GoTo /D (1350) >> ->> endobj -1534 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 576.538 269.648 583.481] -/Subtype /Link -/A << /S /GoTo /D (1355) >> ->> endobj -1535 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 576.538 521.32 583.481] -/Subtype /Link -/A << /S /GoTo /D (1355) >> ->> endobj -1536 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 562.367 263.232 570.529] -/Subtype /Link -/A << /S /GoTo /D (1360) >> ->> endobj -1537 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 562.367 521.32 570.529] -/Subtype /Link -/A << /S /GoTo /D (1360) >> ->> endobj -1538 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 548.667 257.982 557.578] -/Subtype /Link -/A << /S /GoTo /D (1364) >> ->> endobj -1539 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 548.667 521.32 557.578] -/Subtype /Link -/A << /S /GoTo /D (1364) >> ->> endobj -1540 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 536.823 285.788 544.627] -/Subtype /Link -/A << /S /GoTo /D (1417) >> ->> endobj -1541 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 536.823 521.32 544.627] -/Subtype /Link -/A << /S /GoTo /D (1417) >> ->> endobj -1542 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 523.513 285.788 531.675] -/Subtype /Link -/A << /S /GoTo /D (1427) >> ->> endobj -1543 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 523.513 521.32 531.675] -/Subtype /Link -/A << /S /GoTo /D (1427) >> ->> endobj -1544 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 511.781 285.788 518.724] -/Subtype /Link -/A << /S /GoTo /D (1440) >> ->> endobj -1545 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 511.781 521.32 518.724] -/Subtype /Link -/A << /S /GoTo /D (1440) >> ->> endobj -1546 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 497.61 312.687 505.772] -/Subtype /Link -/A << /S /GoTo /D (1447) >> ->> endobj -1547 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 497.61 521.32 505.772] -/Subtype /Link -/A << /S /GoTo /D (1447) >> ->> endobj -1548 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 484.659 312.687 492.821] -/Subtype /Link -/A << /S /GoTo /D (1452) >> ->> endobj -1549 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 484.659 521.32 492.821] -/Subtype /Link -/A << /S /GoTo /D (1452) >> ->> endobj -1550 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 471.707 318.067 479.869] -/Subtype /Link -/A << /S /GoTo /D (1458) >> ->> endobj -1551 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 471.707 521.32 479.869] -/Subtype /Link -/A << /S /GoTo /D (1458) >> ->> endobj -1552 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 458.756 318.067 466.918] -/Subtype /Link -/A << /S /GoTo /D (1463) >> ->> endobj -1553 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 458.756 521.32 466.918] -/Subtype /Link -/A << /S /GoTo /D (1463) >> ->> endobj -1554 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 445.804 264.269 453.967] -/Subtype /Link -/A << /S /GoTo /D (1468) >> ->> endobj -1555 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 445.804 521.32 453.967] -/Subtype /Link -/A << /S /GoTo /D (1468) >> ->> endobj -1556 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 432.853 275.028 441.015] -/Subtype /Link -/A << /S /GoTo /D (1487) >> ->> endobj -1557 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 432.853 521.32 441.015] -/Subtype /Link -/A << /S /GoTo /D (1487) >> ->> endobj -1558 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 416.896 227.466 425.782] -/Subtype /Link -/A << /S /GoTo /D (1513) >> ->> endobj -1559 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 416.896 521.32 425.782] -/Subtype /Link -/A << /S /GoTo /D (1513) >> ->> endobj -1560 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [143.462 403.476 192.717 410.33] -/Subtype /Link -/A << /S /GoTo /D (1515) >> ->> endobj -1561 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 403.476 521.32 410.33] -/Subtype /Link -/A << /S /GoTo /D (1515) >> ->> endobj -1562 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [143.462 390.525 216.248 397.379] -/Subtype /Link -/A << /S /GoTo /D (1526) >> ->> endobj -1563 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 390.525 521.32 397.379] -/Subtype /Link -/A << /S /GoTo /D (1526) >> ->> endobj -1564 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 375.516 247.91 384.427] -/Subtype /Link -/A << /S /GoTo /D (1528) >> ->> endobj -1565 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 375.516 521.32 384.427] -/Subtype /Link -/A << /S /GoTo /D (1528) >> ->> endobj -1566 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 362.564 255.65 371.476] -/Subtype /Link -/A << /S /GoTo /D (1551) >> ->> endobj -1567 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 362.564 521.32 371.476] -/Subtype /Link -/A << /S /GoTo /D (1551) >> ->> endobj -1568 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 351.582 290.221 358.524] -/Subtype /Link -/A << /S /GoTo /D (1553) >> ->> endobj -1569 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 351.582 521.32 358.524] -/Subtype /Link -/A << /S /GoTo /D (1553) >> ->> endobj -1570 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 338.63 290.221 345.573] -/Subtype /Link -/A << /S /GoTo /D (1563) >> ->> endobj -1571 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 338.63 521.32 345.573] -/Subtype /Link -/A << /S /GoTo /D (1563) >> ->> endobj -1572 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 324.459 290.221 332.622] -/Subtype /Link -/A << /S /GoTo /D (1573) >> ->> endobj -1573 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 324.459 521.32 332.622] -/Subtype /Link -/A << /S /GoTo /D (1573) >> ->> endobj -1574 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 311.508 290.221 319.67] -/Subtype /Link -/A << /S /GoTo /D (1583) >> ->> endobj -1575 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 311.508 521.32 319.67] -/Subtype /Link -/A << /S /GoTo /D (1583) >> ->> endobj -1576 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [143.462 299.865 206.833 306.719] -/Subtype /Link -/A << /S /GoTo /D (1593) >> ->> endobj -1577 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 299.865 521.32 306.719] -/Subtype /Link -/A << /S /GoTo /D (1593) >> ->> endobj -1578 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 285.605 284.752 293.767] -/Subtype /Link -/A << /S /GoTo /D (1595) >> ->> endobj -1579 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 285.605 521.32 293.767] -/Subtype /Link -/A << /S /GoTo /D (1595) >> ->> endobj -1580 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 271.904 257.982 280.816] -/Subtype /Link -/A << /S /GoTo /D (1601) >> ->> endobj -1581 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 271.904 521.32 280.816] -/Subtype /Link -/A << /S /GoTo /D (1601) >> ->> endobj -1582 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 260.061 285.788 267.864] -/Subtype /Link -/A << /S /GoTo /D (1654) >> ->> endobj -1583 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 260.061 521.32 267.864] -/Subtype /Link -/A << /S /GoTo /D (1654) >> ->> endobj -1584 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 247.97 269.648 254.913] -/Subtype /Link -/A << /S /GoTo /D (1665) >> ->> endobj -1585 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 247.97 521.32 254.913] -/Subtype /Link -/A << /S /GoTo /D (1665) >> ->> endobj -1586 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 235.019 258.889 241.962] -/Subtype /Link -/A << /S /GoTo /D (1669) >> ->> endobj -1587 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 235.019 521.32 241.962] -/Subtype /Link -/A << /S /GoTo /D (1669) >> ->> endobj -1588 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 220.848 258.889 229.01] -/Subtype /Link -/A << /S /GoTo /D (1674) >> ->> endobj -1589 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 220.848 521.32 229.01] -/Subtype /Link -/A << /S /GoTo /D (1674) >> ->> endobj -1590 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 207.896 280.408 216.059] -/Subtype /Link -/A << /S /GoTo /D (1678) >> ->> endobj -1591 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 207.896 521.32 216.059] -/Subtype /Link -/A << /S /GoTo /D (1678) >> ->> endobj -1592 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 196.164 264.269 203.107] -/Subtype /Link -/A << /S /GoTo /D (1683) >> ->> endobj -1593 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 196.164 521.32 203.107] -/Subtype /Link -/A << /S /GoTo /D (1683) >> ->> endobj -1594 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 183.213 269.648 190.156] -/Subtype /Link -/A << /S /GoTo /D (1690) >> ->> endobj -1595 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 183.213 521.32 190.156] -/Subtype /Link -/A << /S /GoTo /D (1690) >> ->> endobj -1596 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 169.042 285.788 177.204] -/Subtype /Link -/A << /S /GoTo /D (1696) >> ->> endobj -1597 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 169.042 521.32 177.204] -/Subtype /Link -/A << /S /GoTo /D (1696) >> ->> endobj -1598 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 156.091 296.548 164.253] -/Subtype /Link -/A << /S /GoTo /D (1700) >> ->> endobj -1599 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 156.091 521.32 164.253] -/Subtype /Link -/A << /S /GoTo /D (1700) >> ->> endobj -1600 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 144.359 247.093 151.302] -/Subtype /Link -/A << /S /GoTo /D (1704) >> ->> endobj -1601 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 144.359 521.32 151.302] -/Subtype /Link -/A << /S /GoTo /D (1704) >> ->> endobj -1602 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 129.439 257.982 138.35] -/Subtype /Link -/A << /S /GoTo /D (1708) >> ->> endobj -1603 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 129.439 521.32 138.35] -/Subtype /Link -/A << /S /GoTo /D (1708) >> ->> endobj -1604 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 117.236 247.093 125.399] -/Subtype /Link -/A << /S /GoTo /D (1721) >> ->> endobj -1605 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 117.236 521.32 125.399] -/Subtype /Link -/A << /S /GoTo /D (1721) >> ->> endobj -1606 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 103.536 257.982 112.447] -/Subtype /Link -/A << /S /GoTo /D (1725) >> ->> endobj -1607 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 103.536 521.32 112.447] -/Subtype /Link -/A << /S /GoTo /D (1725) >> ->> endobj -1505 0 obj << -/D [1503 0 R /XYZ 71.731 778.968 null] ->> endobj -1502 0 obj << -/Font << /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1661 0 obj << -/Length 49392 -/Filter /FlateDecode ->> -stream -xÚ¬ÝMtéy]é¹~E
Ý¥óûch7l£{`í‰áL•å(Ê J@·½#+žýDì;ó¬XoÁð@x¼¯H¦X/‹\÷‰‡ŸîOÿïá§·‡»·§Óÿx{¿ûx}ÿéÿðW÷?ýýéùwõ°žx~þ¸{yÿ8ýïßüƒýôòt÷ñüþÓ_?Þß}<>~ûÌÃëÛÝÓÛãOýöò~wÿüúùпþÃ_ýËûøúÓlj}úéÿý§<”gþðwÿå_üáüüý×?ü¿ÿòß>=ýôùù^{ðíîãýé´üùÄ¿þå׿ùõ/¿üùïÏÏ]¾œ>ÐýÇzîÿþÓßþÓ?}>óWÿæûƒ=¾¼Ý½¿\Èo>ûýÝëÛûÁþxúÿöòÄ?Õzæú‡ºûò1^îî¾û_Íõ,£cð@}º{yx”êùÙj¨¯w÷÷V=?{CíÁõýîùãIªçgo¨=ø½úvú¿À÷g§®gYƒêÓÝó›UÏÏÞP{ð@}9=ÿ"Õó³7Ô<PO¿†—W©žŸ½¡öà÷êûé×ð,Õõ,«cð@=ýžÞ¤z~ö†Úƒêé×ðø.Õó³7Ô<PO¿†«žŸ½¡öà÷êÇùO¥®gYƒêé× ÍÏ'oˆ×cÞËÝ»ý!{ô†XsäûÝÓ»ün={íÁoÕ§ûû»÷7÷GMžEu¨OwO¯V=?{CíÁõô[xy’êùÙj¨§_Ãó³TÏÏÞP{ð{õáôkx’êz–Õ1x ž~
/R=?{CíÁõôkxx•êùÙj¨§_ýUÏÏÞP{ð{õôwoî¸<Ëê<PŸîN:Hõüì
µÔ—»ÓßrIõüì
µÔ÷»ÇשžŸ½¡öà÷êÓé× ÿéü(›=w@ž~ò_«çGo5w@ž~ÏÒ<?{íÁõôx’Ú¬go¨=ø½ú|ú<Ju=Ëê<PO¿…ùgÜzö†Úƒêé×p/ÿ´YÏÞP{ð@}¿{ø°êùÙj~¯¾Üß½¾ËݬgYƒêÓ݃ýÄzö†ÚƒêËÝë«UÏÏÞP{ð@=ý^äŸqëÙj~¯¾ž~
ÏòO›õ,«cð@=ýž¬z~ö†Úƒêé×ð(ÿŒ[ÏÞP{ð@=ýä_ÏÞ0kî{òíô;Þœe²çÈÓ/àÞšçgo =x ¾Ü½|Èr׳7Ô<POÿà»UÏÏÞP{ð{õýþîåMþ·žeu¨Ow÷¯òO›õì
µÔÓ¯áŪçgo¨=x ~þƒòϸõì
µ¿W?N¿†'©®gYƒêé×ð(ÿŒ[ÏÞP{ð@=ýäŸqëÙj¨§ðÞªçgo¨=øú|÷üáþŒË³¨ÎÁõñîCþgxyö†ÚƒêËÝó›UÏÏÞP{ð@}»“ÿ¡Àzô†Ysß“§ßü£5Ï2:ÔÓïàŪçgo¨=x ž~ÏR=?{CíÁõô[xz’êùÙj~¯>ž~
R]ϲ:ÔÓ¯ááYªçgo¨=x ž~
÷/R=?{CíÁõíîýêçgo¨=ø½út÷ôîþ˜Ë³¬ŽÁõñîýMþ•i={CíÁõåîéÕªçgo¨=x ~†ò¹õì
µ¿WŸO¿†gùÎz–Õ1x ž~
OV=?{CíÁõôki:?zì¹òô;ÙIž½öà÷êËéwð Õõ,«cð@=ýdv’go¨=x ¾Ü=Êì$ÏÞP{ð@}»{{·êùÙj~¯¾Þß=Êì$ϲ:ÔÇ»7™äÙj¨§_ËUÏÏÞP{ð@=ýdv’go¨=ø½úvú5Èì$ϲ:ÔÓ¯áѪçgo¨=x ž~
2;ɳ7Ô<PO¿™äÙj~¯¾ßß=|Hu=Ëê<Pï^-úÛ£7Ìš; _îd|’go =x ¾Ý½¾Yõüì
µ¿W?N¿ŸäYVÇàzú-Èø$ÏÞP{ð@=ýžz~ö†Úƒêé× ã“<{CíÁoÕ—ûÓ¯AþÚyÕ9x ž~
V=?{CíÁõôkñIž½¡öàúv÷"ÿs¦<{CíÁïÕ‡û»û÷7 -ÐNÿ&è ?yx¸{ºõ_æ¡ëÏñøúåƒ<žžÂþ·6ãþó÷õ+}úœ>îoÿvòô÷÷§¿oÿ6ô_å™Kžÿ×/÷ÿâ?þåýÇ_ÿÿÿùó·¹þÇçƒrÿšë¿<`®ÿÀ.]¸ã`ÿë`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©c‚}ežƒ}¯Ç0ØWà -öQ¬9ö•™`Ñä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûM°OfÏa°¯Èì#Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`ÍšÃ`ß ö‰ì9ö•™`Ñä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysìsû„ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ˆÁ¾BW°fÍq°¯Ìûˆö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ û -]Á>š5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁþq‚®‚}ú ö¯>Çq°ü9.oæÿí?VºõfþÓßË~þk ßÌ¿žqoæÿWú^Κ¼~Ç—ó¿>þÇEýöŸê·§£Ú7Ëð“ífùê';n–¿~h–QíAn–º›eRÇ 7ËJM³Œjr³¬Ô4˨ö 7ËJM³Œjr³lÔÝ,“:©YVæ¹YFñz›e®fÅšãfY™i–íAn–…zi–AƒÜ,+5Í2ª=ÈͲRÓ,£ÚƒÜ,+5Í2ª=ÈͲQw³LêäfY©i–QíAn–•šfÕäfY©i–QíAn–º›eRÇ 7ËJM³Œjr³¬Ô4˨ö 7ËJM³Œjb³lÐ4Ëdö6ËŠ\Í2’5ÇͲ2Ó,#ÚƒÜ,+5Í2ª=ÈͲQw³LêäfY©i–QíAn–•šfÕäfY©i–QíAn–º›eRÇ 7ËJM³Œjr³¬Ô4˨ö 7ËJM³Œjr³lÔÝ,“:¹YVjšeT{›e¥¦YFµ±YVèj–Ѭ9l–
™f™ÈžãfY™i–íAn–•šfÕäfY©i–QíAn–º›eRÇ 7ËJM³Œjr³¬Ô4˨ö 7ËJM³Œjr³lÔÝ,“:¹YVjšeT{›e¥¦YFµ¹YVjšeT{›e¡^šePç 7ËJM³Œjr³¬Ô4˨ö 6Ë -]Í2š5ÇͲ1w³LèäfY©i–QíAn–•šfÕäfY©i–QíAn–º›eRÇ 7ËJM³Œjr³¬Ô4˨ö 7ËJM³Œjr³lÔÝ,“:¹YVjšeT{›e¥¦YFµ¹YVjšeT{›e£îf™Ô1ÈͲRÓ,£ÚƒØ,+t5ËhÖ7ËÊL³Œhr³lÔÝ,“:¹YVjšeT{›e¥¦YFµ¹YVjšeT{›e£îf™Ô1ÈͲRÓ,£ÚƒÜ,+5Í2ª=ÈͲRÓ,£ÚƒÜ,u7ˤŽAn–•šfÕäfY©i–QíAn–•šfÕäfÙ¨»Y&ub³¬ÐÕ,£YsÜ,+3Í2¢=ÈͲRÓ,£ÚƒÜ,u7ˤŽAn–•šfÕäfY©i–QíAn–•šfÕäfY¨—fÔ9ÈͲRÓ,£ÚƒÜ,+5Í2ª=ÈͲRÓ,£ÚƒÜ,SH+šeúi–¯>Çq³|ü9~ð%ã§?ù%ãë™Éøeü÷½d>Ü~ÉøÕ‡;~Éø×/'uòKÆ•š—Œ£Úƒü’q¥æ%ã¨ö ¿d\©yÉ8ª=È/7ê~É8©c_2®Ô¼dÕä—Œ+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'uR°¯Ìs°âõû -\Á>Š5ÇÁ¾2ì#Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`ÕÄ`ß öÉì9ö¹‚}$kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAöº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè -öѬ9ö•™`Ñä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°OêÄ`_¡+ØG³æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø?NÐU°OŸ#ÁþÕç8ö?ÇxÉøÃ—Œß¿Þ=>?ðKÆ×3î%ãÿá¿þ|üŽñ‡»××|Çøëûéÿô.è7Ÿþñ·OuôŽñäÙðƒí<ûê;γ¿~ȳQíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:)ÏVæ9ÏFñzól®<Åšã<[™É³íAγ…zɳAƒœg+5y6ª=Èy¶R“g£Úƒœg+5y6ª=Èy¶QwžMêä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjbžmÐäÙdöæÙŠ\y6’5Çy¶2“g#Úƒœg+5y6ª=Èy¶QwžMêä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ1ÏVèʳѬ9̳
™<›Èžã<[™É³íAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól¡^òlPç çÙJMžjržÔäÙ¨ö æÙ -]y6š5Çy¶1wžMèä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól£î<›Ô1Èy¶R“g£Úƒ˜g+tåÙhÖçÙÊLžhržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól£î<›Ô1Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£ÚƒœguçÙ¤ŽAγ•š<Õä<[©É³QíAγ•š<Õä<Û¨;Ï&ubžÐ•g£Ysœg+3y6¢=Èy¶R“g£ÚƒœguçÙ¤ŽAγ•š<Õä<[©É³QíAγ•š<Õä<[¨—<Ô9Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£ÚƒœgGÃ*Ϧϑ<ûêsçÙÇŸc¼Oý‘ß§þúñÁ|àûÔóÌ¿Oýjüw½O>\ºþp‡ïSÿ惿OÕ1ˆïSwêzŸ:«=ˆïSwêzŸ:«=ˆïSwêzŸ:«=ˆïSWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1Á¾3öY¼£`ßç`ŸÅšÃ`ß™+Øg´1Ø7êöIƒì;uû¬ö ûN]Á>«=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+tûhöûŽ<ûLÖûÎ\Á>£=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ)Øwè9Øg³æ(ØWä -ö‘ì9ö¹‚}F{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAöºƒ}Rç ûN]Á>«=ˆÁ¾SW°ÏjR°ïÐs°ÏfÍa°¯ÌûˆŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°ÏjR°ïÐs°ÏfÍa°ïÌì3Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö ûJM°êÄ`ß©+Øgµ1Øwê -öYíAöº‚}V{ƒ}¥&ØGuR°ïÐs°ÏfÍa°ïÌì3Úƒì;uû¬ö ûJM°êÄ`ß©+Øgµ1Øwê -öYíAöº‚}V{ƒ}£î`ŸÔ9ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö û ›`?Çzèúsûð9~ì}ꯧ?žžÞñ}êyƽOýßÿóŸþôõEêÏw÷øõÓßÊ|þ¥äò¾Fþ§?¡ÿ§‡»‡ßþ^~ž<týó|M Ÿžî^Ÿ¿ûߨçgo¨=x ¾Þ=|þN©çgo¨=x ¾ß½Þ[õüì
µ¿WŸîî?^ºžeu¨Ow/Ÿÿ -VêùÙj¨¯w÷oV=?{CíÁõýîåõ]ªçgo¨=ø½úrú5¼|8u=Ëê<PŸ~»ýqêùÙj¨§_ƒü‹ÄùÑfÍëBI™9yB´ùäɨûä‰Ô1È'OJÍɪ=È'OJÍɪ=È'OJÍɪ=È'OFÝ'O¤ŽA>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê>y"uòÉ“Rsò„jòÉ“Rsò„jòÉ“Rsò„jòÉ“Q÷É©cNž”y>yBñzOž¸NžP¬9>yRfNžíA>yêåä Ô9È'OJÍɪ=È'OJÍɪ=È'OJÍɪ=È'OFÝ'O¤ŽA>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê>y"uòÉ“Rsò„jòÉ“Rsò„jòÉ“Rsò„jâÉ“AsòDfÏáÉ“"×É’5Ç'OÊÌÉ¢=È'OJÍɪ=È'OFÝ'O¤ŽA>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê>y"uòÉ“Rsò„jòÉ“Rsò„jòÉ“Rsò„jòÉ“Q÷É©cOž”š“'T{Ož”š“'T{OžºNžÐ¬9<y2dNžˆì9>yRfNžíA>yRjNžPíA>yRjNžPíA>y2ê>y"uòÉ“Rsò„jòÉ“Rsò„jòÉ“Rsò„jòÉ“Q÷É©cOž”š“'T{Ož”š“'T{Ož”š“'T{Ož„z9yuòÉ“Rsò„jòÉ“Rsò„jâÉ“B×Éš5Ç'OÆÜ'O„ŽA>yRjNžPíA>yRjNžPíA>yRjNžPíA>y2ê>y"uòÉ“Rsò„jòÉ“Rsò„jòÉ“Rsò„jòÉ“Q÷É©cOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒºOžHƒ|ò¤Ôœ<¡Úƒxò¤Ðuò„fÍñÉ“2sò„hòÉ“Q÷É©cOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒºOžHƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|òdÔ}òDêä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'£î“'RÇ ž<)t<¡Ys|ò¤Ìœ<!Úƒ|ò¤Ôœ<¡Úƒ|òdÔ}òDêä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'¡^Nž@ƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|òt|£NžèsääéêsŸ<ŽüŽ’Ï³¦ÓßAãw”¬g~ü;J.ã¿ï;JàÃí`ÿêÃû_?û¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£x=†Á¾W°bÍq°¯Ìûˆö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ1Ø7h‚}2{ƒ}E®`Éšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+tûhÖû†L°OdÏq°¯Ìûˆö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`Íšã`ߘ;Ø'tr°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAöº‚}4kŽƒ}e&ØG´9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:1ØWè -öѬ9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAötìÓçH°õ9ŽƒýãÏñƒßQòò|wú;KþŽ’õŒûŽ’ÿðËß}ýŠ’‡÷Ó¿vð+J_î^>ÿMäåó|Óø¿~GÉãëÝÃËŸ']ÿ<_ÈÇÓGýü‹Ë×òz~ö†Úƒß²¾>ŨûûXHƒü},JÍ÷± Úƒü},JÍ÷± Úƒü},JÍ÷± Úƒü},FÝßÇBêäïcQj¾ÕäïcQj¾ÕäïcQj¾Õäïc1êþ>RÇ ‹Ró},¨ö ~‹B×÷± Ysü},ÊÌy¢=Èç]FÝç]¤ŽA>ïRjλPíA>ïRjλPíA>ïRjλPíA>ï2ê>ï"uòy—RsÞ…jòy—RsÞ…jòy—RsÞ…jòy—Q÷y©cÏ»”šó.T{Ï»”šó.T{Ï»”šó.T{Ï»ŒºÏ»HƒtÞ¥ÌóyŠ×cxÞ¥ÀuÞ…bÍñy—2sÞ…hòy—P/ç] ÎA>ïRjλPíA>ïRjλPíA>ïRjλPíA>ï2ê>ï"uòy—RsÞ…jòy—RsÞ…jòy—RsÞ…jòy—Q÷y©cÏ»”šó.T{Ï»”šó.T{Ï»”šó.T{Ï»šó.2{Ï»¹Î»¬9>ïRfλíA>ïRjλPíA>ï2ê>ï"uòy—RsÞ…jòy—RsÞ…jòy—RsÞ…jòy—Q÷y©cÏ»”šó.T{Ï»”šó.T{Ï»”šó.T{Ï»ŒºÏ»Hƒ|Þ¥Ôœw¡Úƒ|Þ¥Ôœw¡ÚƒxÞ¥ÐuÞ…fÍáy—!sÞEdÏñy—2sÞ…hòy—RsÞ…jòy—RsÞ…jòy—Q÷y©cÏ»”šó.T{Ï»”šó.T{Ï»”šó.T{Ï»ŒºÏ»Hƒ|Þ¥Ôœw¡Úƒ|Þ¥Ôœw¡Úƒ|Þ¥Ôœw¡Úƒ|Þ%ÔËy¨sÏ»”šó.T{Ï»”šó.T{Ï»ºÎ»Ð¬9>ï2æ>ï"tòy—RsÞ…jòy—RsÞ…jòy—RsÞ…jòy—Q÷y©cÏ»”šó.T{Ï»”šó.T{Ï»”šó.T{Ï»ŒºÏ»Hƒ|Þ¥Ôœw¡Úƒ|Þ¥Ôœw¡Úƒ|Þ¥Ôœw¡Úƒ|ÞeÔ}ÞEêäó.¥æ¼ÕÄó.…®ó.4kŽÏ»”™ó.D{Ï»ŒºÏ»Hƒ|Þ¥Ôœw¡Úƒ|Þ¥Ôœw¡Úƒ|Þ¥Ôœw¡Úƒ|ÞeÔ}ÞEêäó.¥æ¼Õäó.¥æ¼Õäó.¥æ¼Õäó.£îó.RÇ Ÿw)5ç]¨ö Ÿw)5ç]¨ö Ÿw)5ç]¨ö ŸwuŸw‘:ñ¼K¡ë¼Íšãó.eæ¼Ñäó.¥æ¼Õäó.£îó.RÇ Ÿw)5ç]¨ö Ÿw)5ç]¨ö Ÿw)5ç]¨ö Ÿw õrÞêäó.¥æ¼Õäó.¥æ¼Õäó.¥æ¼Õäó®ãë#uÞEŸ#ç]WŸãø¼ëøsüà÷±<?Ü=Ÿþü>–õÌËeü÷}|¸ì_}¸ã`ÿë`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©c‚}ežƒ}¯Ç0ØWà -öQ¬9ö•™`Ñä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûM°OfÏa°¯Èì#Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`ÍšÃ`ß ö‰ì9ö•™`Ñä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysìsû„ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ˆÁ¾BW°fÍq°¯Ìûˆö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ û -]Á>š5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁþq‚®‚}ú ö¯>ÇãÛQ°ü9~ðûX?»÷Gþ>–õŒû>–óçþ‡¯_Èòø|wÿ€_Èrú[ùÏ¿”\>Ð×ÈÿáðûXöw”Àϳ¿£äêç9þŽ’¯Ÿ¾£Õäï(Qj¾£Õäï(Qj¾£Õäï(1êþŽRÇ G‰Ró%¨ö G‰Ró%¨ö G‰Ró%¨ö G‰Q÷w”:ù;J”šï(Aµñ;Jº¾£Íšãï(QfNžíA>y2ê>y"uòÉ“Rsò„jòÉ“Rsò„jòÉ“Rsò„jòÉ“Q÷É©cOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒºOžHƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|òdÔ}òDꤓ'ežOžP¼Ã“'®“'kŽOž”™“'D{Ož„z9yuòÉ“Rsò„jòÉ“Rsò„jòÉ“Rsò„jòÉ“Q÷É©cOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒºOžHƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡ÚƒxòdМ<‘Ùsxò¤Èuò„dÍñÉ“2sò„hòÉ“Rsò„jòÉ“Q÷É©cOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒºOžHƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|òdÔ}òDêä“'¥æä Õä“'¥æä ÕÄ“'…®“'4kOž™“'"{ŽOž”™“'D{Ož”š“'T{Ož”š“'T{OžŒºOžHƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|òdÔ}òDêä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'¡^Nž@ƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒxò¤Ðuò„fÍñÉ“1÷É¡cOž”š“'T{Ož”š“'T{Ož”š“'T{OžŒºOžHƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|ò¤Ôœ<¡Úƒ|òdÔ}òDêä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'£î“'RÇ Ÿ<)5'O¨ö ž<)t<¡Ys|ò¤Ìœ<!Úƒ|òdÔ}òDêä“'¥æä Õä“'¥æä Õä“'¥æä Õä“'£î“'RÇ Ÿ<)5'O¨ö Ÿ<)5'O¨ö Ÿ<)5'O¨ö Ÿ<uŸ<‘:ùäI©9yBµùäI©9yBµùäI©9yBµùäɨûä‰Ô1ˆ'O -]'OhÖŸ<)3'Oˆö Ÿ<)5'O¨ö Ÿ<uŸ<‘:ùäI©9yBµùäI©9yBµùäI©9yBµùäI¨—“'Pç Ÿ<)5'O¨ö Ÿ<)5'O¨ö Ÿ<)5'O¨ö Ÿ<䨓'ú9yºúÇ'OÇŸc|GÉÃï(yx¹{yàï(YÏüøw”\Æßw”À‡ÛÁþÕ‡;ö¿~öIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:)ØWæ9ØGñzƒ}®`Åšã`_™ öíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠ\Á>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö
™`ŸÈžã`_™ öíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö û -]Á>š5ÇÁ¾1w°Oèä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+tûhÖûÊL°hr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ub°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اϑ`ÿêsûÇŸc|GÉãï(ùüM?~ðw”¬gÜw”ü§_ÿûûßüú—_þü÷_¿©äåõîñý¿ªäõéœ5\>××Öÿñð«Jvþ?ÖÎ߯~¬ãüýëç€üÕäü]©ÉßQíAÎߺówRÇ çïJMþŽjrþ®Ôäï¨ö çïJMþŽjrþnÔ¿“:9WjòwT{ów¥&Gµ9WjòwT{ów£îüÔ1Hù»2Ïù;Š×c˜¿+påï(ÖçïÊLþŽhrþ.ÔKþêäü]©ÉßQíAÎß•šüÕäü]©ÉßQíAÎߺówRÇ çïJMþŽjrþ®Ôäï¨ö çïJMþŽjrþnÔ¿“:9WjòwT{ów¥&Gµ9WjòwT{ówƒ&'³ç0WäÊß‘¬9Îß•™üÑäü]©ÉßQíAÎߺówRÇ çïJMþŽjrþ®Ôäï¨ö çïJMþŽjrþnÔ¿“:9WjòwT{ów¥&Gµ9WjòwT{ów£îüÔ1Èù»R“¿£Úƒœ¿+5ù;ª=ˆù»BWþŽfÍaþnÈäïDöçïÊLþŽhrþ®Ôäï¨ö çïJMþŽjrþnÔ¿“:9WjòwT{ów¥&Gµ9WjòwT{ów£îüÔ1Èù»R“¿£Úƒœ¿+5ù;ª=Èù»R“¿£Úƒœ¿õ’¿ƒ:9WjòwT{ów¥&Gµ1WèÊßѬ9Îß¹ówBÇ çïJMþŽjrþ®Ôäï¨ö çïJMþŽjrþnÔ¿“:9WjòwT{ów¥&Gµ9WjòwT{ów£îüÔ1Èù»R“¿£Úƒœ¿+5ù;ª=Èù»R“¿£Úƒœ¿uç癩AÎß•šüÕÄü]¡+G³æ8WfòwD{ów£îüÔ1Èù»R“¿£Úƒœ¿+5ù;ª=Èù»R“¿£Úƒœ¿uç癩AÎß•šüÕäü]©ÉßQíAÎß•šüÕäüݨ;'urþ®Ôäï¨ö çïJMþŽjrþ®Ôäï¨ö çïFÝù;©ców…®üÍšãü]™ÉßíAÎß•šüÕäüݨ;'urþ®Ôäï¨ö çïJMþŽjrþ®Ôäï¨ö çïB½äï ÎAÎß•šüÕäü]©ÉßQíAÎß•šüÕäüý¸ÊVù;}ŽäïWŸã8?þ?ö¾ú—÷Ó_Þñ}õyæ‡ßW5þ»ÞWO.]¸Ã÷ÕóAŽßWêÄ÷Õ;uû¬ö ûN]Á>«=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªc‚}gþì³x=FÁ¾ÏÁ>‹5‡Á¾3W°Ïhb°oÔì“:1Øwê -öYíAöº‚}V{ƒ}§®`ŸÕÄ`_© öQƒì;uû¬ö ûN]Á>«=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ)ØWè -öÑì9 -öyö™¬9ö¹‚}F{ƒ}§®`ŸÕÄ`_© öQƒì;uû¬ö ûN]Á>«=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°ÏjR°ïÐs°ÏfÍQ°¯Èì#Ùsì;sûŒö ûN]Á>«=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒìuû¤ÎAöº‚}V{ƒ}§®`ŸÕ¤`ß¡ç`ŸÍšÃ`_™ öƒì;uû¬ö ûN]Á>«=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕ¤`ß¡ç`ŸÍšÃ`ß™+Øg´1ØWj‚}TÇ ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö ûJM°ê¤`ß¡ç`ŸÍšÃ`ß™+Øg´1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö ûFÝÁ>©sƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö!A7Á>~ŽõÐõç8öásüØûê_Þ^OܾâûêóŒ{_ý¿ÿçøù/¿üñè•õ§?ÞŸ{ßüñ+ëß>ŠýöŸë—Ó¿á<ÈýwÈ?Úy¯~´ã÷ëÕäW© yQíAy•šÕäר;ä%uRÈ«ÌsÈ‹âõ†¼ -\!/Š5Ç!¯2ò"Úƒò -õò‚:9äUjB^T{C^¥&äEµ9äUjB^T{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕÄ× yÉì9y¹B^$kŽC^e&äE´9äUjB^T{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕäר;ä%urȫԄ¼¨ö ‡¼JMÈ‹jbÈ«Ðò¢Ysò2!/‘=Ç!¯2ò"Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕäר;ä%urȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼B½„¼ ÎAy•šÕäW© yQíAyºB^4kŽC^cî—Ð1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕäר;ä%urȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼FÝ!/©cC^¥&äEµ1äUè -yѬ9y•™Ñäר;ä%urȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼FÝ!/©cC^¥&äEµ9äUjB^T{C^¥&äEµ9ä5êyIƒò*5!/ª=È!¯Rò¢Úƒò*5!/ª=È!¯QwÈKêÄW¡+äE³æ8äUfB^D{C^¥&äEµ9ä5êyIƒò*5!/ª=È!¯Rò¢Úƒò*5!/ª=È!¯P/!/¨sC^¥&äEµ9äUjB^T{C^¥&äEµ9䥸T„¼ô9ò^}Žã÷øsüà›·_ŸîÞÞ^øÍÛë™óöeü÷½y>Ü~óöÕ‡;~óö×oÞ&uò›·•š7o£Úƒüæm¥æÍÛ¨ö ¿y[©yó6ª=ÈoÞ6ê~ó6©cß¼Ô¼yÕä7o+5oÞFµùÍÛJÍ›·QíA~ó¶Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûÊ<û(^a°¯Àì£Xsì+3Á>¢=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö
š`ŸÌžÃ`_‘+ØG²æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö û -]Á>š5‡Á¾!ìÙsì+3Á>¢=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`ÕÄ`_¡+ØG³æ8Ø7æö ƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}…®`Íšã`_™ öíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAöº‚}4kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒýã]ûô9ì_}Žã`ÿøsüà›·Oÿ¦üýñ‰ß¼½žqoÞþùåÏ¿þíûÓÏGïÞ~:ýU™ß½ýù³Ïÿòá¾ÿŸÍAð¿“OøávòyõÃ%Ÿ_?Æaò‰âõ&Ÿ -\É'Š5Çɧ2“|"Úƒœ| -õ’|‚:9ùTj’OT{“O¥&ùDµ9ùTj’OT{“O£îä“Ô1ÈɧR“|¢Úƒœ|*5É'ª=ÈɧR“|¢Úƒœ|u'Ÿ¤ŽAN>•šäÕääS©I>QíAN>•šäÕÄäÓ I>Éì9L>¹’O$kŽ“Oe&ùD´9ùTj’OT{“O£îä“Ô1ÈɧR“|¢Úƒœ|*5É'ª=ÈɧR“|¢Úƒœ|u'Ÿ¤ŽAN>•šäÕääS©I>QíAN>•šäÕääÓ¨;ù$urò©Ô$Ÿ¨ö 'ŸJMò‰jbò©Ð•|¢Ys˜|2É'‘=Çɧ2“|"Úƒœ|*5É'ª=ÈɧR“|¢Úƒœ|u'Ÿ¤ŽAN>•šäÕääS©I>QíAN>•šäÕääÓ¨;ù$urò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸB½$Ÿ ÎAN>•šäÕääS©I>QíAL>º’O4kŽ“Ocîä“Ð1ÈɧR“|¢Úƒœ|*5É'ª=ÈɧR“|¢Úƒœ|u'Ÿ¤ŽAN>•šäÕääS©I>QíAN>•šäÕääÓ¨;ù$urò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ1ùTèJ>Ѭ9N>•™äÑääÓ¨;ù$urò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ9ùTj’OT{“O¥&ùDµ9ù4êN>Iƒœ|*5É'ª=ÈɧR“|¢Úƒœ|*5É'ª=ÈɧQwòIêÄäS¡+ùD³æ8ùTf’OD{“O¥&ùDµ9ù4êN>Iƒœ|*5É'ª=ÈɧR“|¢Úƒœ|*5É'ª=ÈɧP/É'¨s“O¥&ùDµ9ùTj’OT{“O¥&ùDµ9ù<ŽUòIŸ#ÉçÕç8N>?Ǿ£ùóïïÞùÍë™Góeü÷½£>Ü~GóÕ‡;~Gó×ïh&uò;š•šw4£ÚƒüŽf¥æÍ¨ö ¿£Y©yG3ª=Èïh6ê~G3©cßѬԼ£Õäw4+5ïhFµùÍJÍ;šQíA~G³Q÷;šIƒüŽf¥æÍ¨ö ¿£Y©yG3ª=ÈïhVjÞÑŒjò;šºƒ}RÇ ûÊ<û(^a°¯Àì£Xsì+3Á>¢=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö
š`ŸÌžÃ`_‘+ØG²æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö û -]Á>š5‡Á¾!ìÙsì+3Á>¢=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`ÕÄ`_¡+ØG³æ8Ø7æö ƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}…®`Íšã`_™ öíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAöº‚}4kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒýã]ûô9ì_}Žã`ÿøsŒw4?ÜxGóãóÝÇã¿£y=ãÞÑü‡×‡£·3¿œ+Kz;óËçßn^ÈoSÿ×ã·3ÿVñóOµž¹þ¡ŽCÿ¯BBÇ ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽA -ý•yýQ¼ÃÐ_+ôG±æ8ôWfBD{C¡^BPç ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒú4¡?™=‡¡¿"WèdÍqè¯Ì„þˆö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAýºB4kCC&ô'²ç8ôWfBD{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐ_¨—ÐÔ9È¡¿Rú£Úƒú+5¡?ª=ˆ¡¿BWèfÍqèoÌú:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö †þ -]¡?š5Ç¡¿2ú#Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+t…þhÖ‡þÊLèhrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ôê%ôurè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þǺ -ýés$ô¿úÇ¡ÿñçoæ¼ñfþ“úqú+3¾™=óão濌ÿ¾7óÇÛoæ¿úpÇÁþ×Á>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûÊ<û(^a°¯Àì£Xsì+3Á>¢=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö
š`ŸÌžÃ`_‘+ØG²æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö û -]Á>š5‡Á¾!ìÙsì+3Á>¢=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`ÕÄ`_¡+ØG³æ8Ø7æö ƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}…®`Íšã`_™ öíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAöº‚}4kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒýã]ûô9ì_}ŽÇ÷£`ÿøsüØ›ùŸ?>îîOðÑ›ùóŒ{3ÿþåï~þÇ_þÿŽ^Ïú3ïýþ_Ïÿþ|÷örq¿ý'ûó¿7>èýS·ÒÏ–‡®¶Ãºõ›r\·²ÚƒX·*5u+ªcêVgþV·²x=Fu«Ïu+‹5‡u«3WÝÊhbÝjÔ]·’:±nuêª[YíA¬[ºêVV{ëV§®º•ÕĺU©©[QƒX·:uÕ¬ö ÖN]u+«=ˆu«SWÝÊjbݪÔÔ¨ŽA¬[ºêVV{ëV§®º•Õĺթ«neµ©nUèª[Ñì9ª[y®[™¬9¬[¹êVF{ëV§®º•ÕĺU©©[QƒX·:uÕ¬ö ÖN]u+«=ˆu«SWÝÊjbݪÔÔ¨ŽA¬[ºêVV{ëV§®º•Õĺթ«neµ±nUjêVTÇ ÖN]u+«=ˆu«SWÝÊjRÝêÐsÝÊfÍQݪÈU·"ÙsX·:sÕŒö ÖN]u+«=ˆu«SWÝÊjbݪÔÔ¨ŽA¬[ºêVV{ëV§®º•Õĺթ«neµ±nUjêVTÇ ÖN]u+«=ˆu«SWÝÊjbÝêÔU·²ÚƒX·uפÎA¬[ºêVV{ëV§®º•Õ¤ºÕ¡çº•͚úU™©[ƒX·:uÕ¬ö ÖN]u+«=ˆu«SWÝÊjbݪÔÔ¨ŽA¬[ºêVV{ëV§®º•Õĺթ«neµ±nUjêVTÇ ÖN]u+«=ˆu«SWÝÊjbÝêÔU·²ÚƒX·*5u+ªcëV§®º•Õ¤ºÕ¡çº•͚úՙ«ne´±nUjêVTÇ ÖN]u+«=ˆu«SWÝÊjbÝêÔU·²ÚƒX·*5u+ªcëV§®º•Õĺթ«neµ±nuêª[YíA¬[•šºÕ1ˆu«SWÝÊjbÝêÔU·²ÚƒX·:uÕ¬ö ÖJM݊ꤺա纕͚úՙ«ne´±nuêª[YíA¬[•šºÕ1ˆu«SWÝÊjbÝêÔU·²ÚƒX·:uÕ¬ö ÖFÝu+©sëV§®º•Õĺթ«neµ±nuêª[YíA¬[1¸¼]·âçX]ŽÃº>ǽŽúùýõîþõ_Gg~øuÔWã¿ëuÔôáòÐõ‡;|õ7äøuÔ¨ŽA|µS×ë¨YíA|µS×ë¨YíA|µS×ë¨YíA|µRó:jTÇ ¾ŽÚ©ëuÔ¬ö ¾ŽÚ©ëuÔ¬ö ¾ŽÚ©ëuÔ¬ö ¾ŽZ©y5ªc_GíÔõ:jV{_GíÔû¨ö ûJM°jr°oÔì“:)ØWæ9ØGñzƒ}®`Åšã`_™ öíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠ\Á>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö
™`ŸÈžã`_™ öíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö û -]Á>š5ÇÁ¾1w°Oèä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+tûhÖûÊL°hr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ub°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اϑ`ÿêsûÇŸã_Gýù_ìœ~Óø:êõŒ{õÿó¯^ŽÞDýr®,éMÔ/Ÿ»y!¿Mý_ßÞ1õçŸj=sýC‡þ_?„þ„ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+óú£x=†¡¿WèbÍqè¯Ì„þˆö ‡þB½„þ ÎAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ1ô7hB2{CE®ÐÉšãÐ_™ ýíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+t…þhÖ†þ†LèOdÏqè¯Ì„þˆö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿P/¡?¨sC¥&ôGµ9ôWjBT{C…®ÐÍšãÐߘ;ô'trè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAýºB4kŽCe&ôG´9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAýºCRÇ ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“:1ôWè -ýѬ9ý•™ÐÑäÐ_© ýQíAýºCRÇ ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrè/ÔKèêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAýtúÓçHèõ9ŽCÿãÏñƒoæýüëÆ¿™=óão濌ÿ¾7óÇÛoæ¿úpÇÁþ×Á>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûÊ<û(^a°¯Àì£Xsì+3Á>¢=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö
š`ŸÌžÃ`_‘+ØG²æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö û -]Á>š5‡Á¾!ìÙsì+3Á>¢=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`ÕÄ`_¡+ØG³æ8Ø7æö ƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}…®`Íšã`_™ öíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAöº‚}4kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒýã]ûô9ì_}Žã`ÿøsüà›ùO+ðøðÈoæ_ϸ7óÿ§_ÿø‡_þáç¯ïå?ý=ÝÃ3¿—ÿÝþ»æË‡úúÏòéê£Ðÿùýîåõ¨<týC}í _îî_>¾û ßœœŸeu¨O¿18õüì
µÔ×»ÏÊA¡¿=zì¹r[(3׈ö _ou_o:ùzC©¹Þ@µùzC©¹Þ@µùzC©¹Þ@µùzèûzƒÔ1È×JÍõª=È×JÍõª=È×JÍõª=È×FÝפŽA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞPj®7PíA¾Þ0ê¾Þ uÒõ†2Ï×(^áõ†×õŠ5Ç×ÊÌõ¢=È×B½\o€:ùzC©¹Þ@µùzC©¹Þ@µùzC©¹Þ@µùzèûzƒÔ1È×JÍõª=È×JÍõª=È×JÍõª=È×FÝפŽA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞPj®7PíA¼Þ0h®7Èì9¼ÞPäºÞ@²æøzC™¹Þ@´ùzC©¹Þ@µùzèûzƒÔ1È×JÍõª=È×JÍõª=È×JÍõª=È×FÝפŽA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞPj®7PíA¾Þ0ê¾Þ uòõ†Rs½jòõ†Rs½jâõ†B×õš5‡×†Ìõ‘=Ç×ÊÌõ¢=È×JÍõª=È×JÍõª=È×FÝפŽA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞPj®7PíA¾Þ0ê¾Þ uòõ†Rs½jòõ†Rs½jòõ†Rs½jòõ†P/× ÎA¾ÞPj®7PíA¾ÞPj®7PíA¼ÞPèºÞ@³æøzØûzƒÐ1È×JÍõª=È×JÍõª=È×JÍõª=È×FÝפŽA¾ÞPj®7PíA¾ÞPj®7PíA¾ÞPj®7PíA¾Þ0ê¾Þ uòõ†Rs½jòõ†Rs½jòõ†Rs½jòõ†Q÷õ©c¯7”šë
T{¯7º®7Ь9¾ÞPf®7íA¾Þ0ê¾Þ uòõ†Rs½jòõ†Rs½jòõ†Rs½jòõ†Q÷õ©c¯7”šë
T{¯7”šë
T{¯7”šë
T{¯7Œº¯7Hƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½aÔ}½AêÄë
…®ë
4kޝ7”™ë
D{¯7”šë
T{¯7Œº¯7Hƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½¡Ô\o Úƒ|½!ÔËõ¨s¯7”šë
T{¯7”šë
T{¯7”šë
T{¯7è®@\oÐçÈõÆÕç8¾Þ8þãën|ÝÂÓóÝãëÝÂzæÇ¿ná2þû¾n>Üö¯>Üq°ÿõƒ@°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1HÁ¾2ÏÁ>Š×cì+pû(ÖûÊL°hr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}ƒ&Ø'³ç0ØWä -ö‘¬9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BW°fÍa°oÈûDöûÊL°hr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö¹ƒ}BÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`ÕÄ`_¡+ØG³æ8ØWf‚}D{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ÿ8AWÁ>}ŽûWŸã8Ø?þãëo|ÝÂçÞé üº…õŒûº…÷óŸþËßþé—ÿõóß}ÿµïO§¿*¿ã×.|þÅì3Æ¿|¸¯ÁÿgDsüïä~¸|^ýpGÉç×q˜|¢x=†É§Wò‰bÍqò©Ì$Ÿˆö 'ŸB½$Ÿ ÎAN>•šäÕääS©I>QíAN>•šäÕääÓ¨;ù$urò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ9ùTj’OT{“O¥&ùDµ1ù4h’O2{“OE®äÉšãäS™I>íAN>•šäÕääÓ¨;ù$urò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ9ùTj’OT{“O¥&ùDµ9ù4êN>Iƒœ|*5É'ª=ÈɧR“|¢Úƒ˜|*t%ŸhÖ&Ÿ†LòIdÏqò©Ì$Ÿˆö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ9ùTj’OT{“O¥&ùDµ9ù4êN>Iƒœ|*5É'ª=ÈɧR“|¢Úƒœ|*5É'ª=ÈɧP/É'¨s“O¥&ùDµ9ùTj’OT{“O…®äÍšãäÓ˜;ù$trò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ9ùTj’OT{“O¥&ùDµ9ù4êN>Iƒœ|*5É'ª=ÈɧR“|¢Úƒœ|*5É'ª=ÈɧQwòIêääS©I>QíAL>º’O4kŽ“Oe&ùD´9ù4êN>Iƒœ|*5É'ª=ÈɧR“|¢Úƒœ|*5É'ª=ÈɧQwòIêääS©I>QíAN>•šäÕääS©I>QíAN>º“ORÇ 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸJMò‰jròiÔ|’:1ùTèJ>Ѭ9N>•™äÑääS©I>QíAN>º“ORÇ 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸJMò‰jrò)ÔKò êääS©I>QíAN>•šäÕääS©I>QíAN>#D•|ÒçHòyõ9Ž“ÏãÏñƒïhþ¹N‡ïh^Ïüø;š/ã¿ïÍðáö;š¯>Üñ;š¿~xG3©cßѬԼ£Õäw4+5ïhFµùÍJÍ;šQíA~G³Q÷;šIƒüŽf¥æÍ¨ö ¿£Y©yG3ª=ÈïhVjÞÑŒjò;šºßÑLêäw4+5ïhFµùÍJÍ;šQíA~G³RóŽfT{ßÑlÔì“:)ØWæ9ØGñzƒ}®`Åšã`_™ öíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠ\Á>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö
™`ŸÈžã`_™ öíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö û -]Á>š5ÇÁ¾1w°Oèä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+tûhÖûÊL°hr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ub°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اϑ`ÿêsûÇŸãÇÞÑüùÙ>Ÿþ9§w4çùŽæ¿üíÿü¿üño~ýË/þû¯oh>ýñþüÈoh~û(öÛ®_Nÿ†ó ÷OÈK?ZºþÑCÞo>ÈqÈËjbÈëÔò²Úƒò:u…¼¬ö †¼JMÈ‹ê„×™¿…¼,^QÈëÀsÈËbÍaÈëÌò2Úƒòu‡¼¤ÎAyºB^V{C^§®—ÕÄש+äeµ1äUjB^TÇ †¼N]!/«=ˆ!¯SWÈËjbÈëÔò²Úƒò*5!/ªcC^§®—ÕÄש+äeµ1äuê -yYíA -yºB^4{ŽB^GžC^&kC^g®—ÑÄש+äeµ1äUjB^TÇ †¼N]!/«=ˆ!¯SWÈËjbÈëÔò²Úƒò*5!/ªcC^§®—ÕÄש+äeµ1äuê -yYíAy•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:ôò²Ysò*r…¼Hö†¼Î\!/£=ˆ!¯SWÈËjbÈëÔò²Úƒò*5!/ªcC^§®—ÕÄש+äeµ1äuê -yYíAy•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:u…¼¬ö †¼FÝ!/©sC^§®—ÕÄש+äeµ)äuè9äe³æ0äUfB^DÇ †¼N]!/«=ˆ!¯SWÈËjbÈëÔò²Úƒò*5!/ªcC^§®—ÕÄש+äeµ1äuê -yYíAy•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:u…¼¬ö †¼JMÈ‹êÄש+äeµ)äuè9äe³æ0äuæ -yíAy•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:u…¼¬ö †¼JMÈ‹êÄש+äeµ1äuê -yYíAyºB^V{C^¥&äEubÈëÔò²Úƒò:u…¼¬ö †¼N]!/«=ˆ!¯Rò¢:)äuè9äe³æ0äuæ -yíAyºB^V{C^¥&äEubÈëÔò²Úƒò:u…¼¬ö †¼N]!/«=ˆ!¯QwÈKêÄש+äeµ1äuê -yYíAyºB^V{C^ŒKo‡¼ø9ÖCןã0ä…ÏñcoÞ~:ý…ùôoVñÍÛyæ‡ß¼}5þ»Þ¼M.]¸Ã7oóAŽß¼êÄ7o;u½y›ÕÄ7o;u½y›ÕÄ7o;u½y›ÕÄ7o+5oÞFuâ›·ºÞ¼Íjâ›·ºÞ¼Íjâ›·ºÞ¼Íjâ›·•ºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:)ØWæ9ØGñzƒ}®`Åšã`_™ öíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠ\Á>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö
™`ŸÈžã`_™ öíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö û -]Á>š5ÇÁ¾1w°Oèä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+tûhÖûÊL°hr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ub°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اϑ`ÿês<~ûÇŸãß¼ýúq÷rÿÄoÞ^ϸ7oÿç_þé—ÿö§Ÿÿ¼yûòÑ~ß›·áGÛ!ïÕvò~ý ò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽA -y•yyQ¼ÃW+äE±æ8äUfB^D{C^¡^B^Pç ‡¼JMÈû¿[»ƒ^»îôºÓ_ÅÃLBˆ¤(‘ÓÎ GF02ŒXiT9UJùöMêîµïYò<\ªdj¬g_IESâï݇j:äÔ„¼T{Ð!ï¤&ä¥Úƒyõy¥ƒy'5!/ÕtÈ;© y©ö CÞIMÈKµò.êòJ=òNjB^ª=èwRòRíA‡¼“š—j2ä]Є¼2{Ž!ïD^!/ÉšsÈ;™ y‰ö CÞIMÈKµò.êòJ=òNjB^ª=èwRòRíA‡¼“š—j:ä]Ô;ä•z:äÔ„¼T{Ð!ï¤&ä¥Úƒy'5!/ÕtÈ»¨wÈ+õtÈ;© y©ö CÞIMÈKµòNèòÒ¬9†¼™WdÏ9äÌ„¼D{Ð!ï¤&ä¥Úƒy'5!/ÕtÈ»¨wÈ+õtÈ;© y©ö CÞIMÈKµòNjB^ª=èwQïWê1èwRòRíA‡¼“š—j:äÔ„¼T{Ð!ï ¾†¼PÏA‡¼“š—j:äÔ„¼T{!ï„^!/ÍšsÈ»˜wÈ+ôtÈ;© y©ö CÞIMÈKµòNjB^ª=èwQïWê1èwRòRíA‡¼“š—j:äÔ„¼T{Ð!ï¢Þ!¯ÔcÐ!ï¤&ä¥Úƒy'5!/ÕtÈ;© y©ö CÞE½C^©Ç CÞIMÈKµòNèòÒ¬9‡¼“™—h:ä]Ô;ä•z:äÔ„¼T{Ð!ï¤&ä¥Úƒy'5!/ÕtÈ»¨wÈ+õtÈ;© y©ö CÞIMÈKµòNjB^ª=èwQïWê1èwRòRíA‡¼“š—j:äÔ„¼T{Ð!ï¢Þ!¯Ôc!ï„^!/ÍšsÈ;™ y‰ö CÞIMÈKµò.êòJ=òNjB^ª=èwRòRíA‡¼“š—j:äÔ×ê9èwRòRíA‡¼“š—j:äÔ„¼T{Ð!¯âÒ!äÕs$ä}xŽç!ïóçøƒoÞþðÓ›/µïó7o_ŸùãoÞ~ÿûÞ¼‡»ß¼ýðpÏß¼ýõƒàÍÛRA¿y{Róæmª=è7oOjÞ¼MµýæíIÍ›·©ö ß¼½¨÷›·¥ƒ~óö¤æÍÛT{ÐoÞžÔ¼y›júÍÛ“š7oSíA¿y{Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcPÁþd¾ûÇìOàìS¬9û“™`Ÿh:ØÔ×`ê9è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÐÁþ¤&اڃö'5Á>Õt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAûš`_fÏ1ØŸÈ+Ø'Ysö'3Á>Ñt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAû‹zûRAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒý ½‚}š5Ç`!ì‹ì9û“™`Ÿh:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:ØÔ×`ê9è`RìSíAû“š`Ÿj2ØŸÐ+اYsöóö…ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒý ½‚}š5ç`2ìíAû‹zûRAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:Ø_Ô;Ø—z2ØŸÐ+اYsö'3Á>Ñt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAûƒúìC=ìOj‚}ª=è`RìSíAû“š`Ÿj:Øž OÁ¾ž#ÁþÃs<öŸ?Çñæí·ßyóöïßüôÃ[¿yûúÌöæíÿû×?ÿú×þ¯ÿÞ¼ýúhß›·ñ£Ý!ïÃö<äýúAòRíA‡¼“š—j:äÔ„¼T{Ð!ï¢Þ!¯ÔcP!ïd¾„¼ÇòNàòR¬9‡¼“™—h:äÔ×ê9èwRòRíA‡¼“š—j:äÔ„¼T{Ð!ï¢Þ!¯ÔcÐ!ï¤&ä¥Úƒy'5!/ÕtÈ;© y©ö CÞE½C^©Ç CÞIMÈKµòNjB^ª=èwRòRíA†¼šWfÏ1äÈ+ä%Ysy'3!/ÑtÈ;© y©ö CÞE½C^©Ç CÞIMÈKµòNjB^ª=èwRòRíA‡¼‹z‡¼RA‡¼“š—j:äÔ„¼T{Ð!ï¤&ä¥Úƒyõy¥ƒy'5!/ÕtÈ;© y©ö CÞ ½B^š5Çw!òŠì9‡¼“™—h:äÔ„¼T{Ð!ï¤&ä¥Úƒyõy¥ƒy'5!/ÕtÈ;© y©ö CÞIMÈKµò.êòJ=òNjB^ª=èwRòRíA‡¼“š—j:äÔ×ê9èwRòRíA‡¼“š—j2äÐ+ä¥Ysyóy…ƒy'5!/ÕtÈ;© y©ö CÞIMÈKµò.êòJ=òNjB^ª=èwRòRíA‡¼“š—j:ä]Ô;ä•z:äÔ„¼T{Ð!ï¤&ä¥Úƒy'5!/ÕtÈ»¨wÈ+õtÈ;© y©ö CÞ ½B^š5çw2òíA‡¼‹z‡¼RA‡¼“š—j:äÔ„¼T{Ð!ï¤&ä¥Úƒyõy¥ƒy'5!/ÕtÈ;© y©ö CÞIMÈKµò.êòJ=òNjB^ª=èwRòRíA‡¼“š—j:ä]Ô;ä•z2äÐ+ä¥Ysy'3!/ÑtÈ;© y©ö CÞE½C^©Ç CÞIMÈKµòNjB^ª=èwRòRíA‡¼ƒúòB=òNjB^ª=èwRòRíA‡¼“š—j:äU\:„¼zŽ„¼Ïñ<ä}þÇ›·ß}çÍÛï¿üá'¿yûúÌóöëøß÷æm<Üýæí‡‡{þæí¯oÞ–zúÍÛ“š7oSíA¿y{Róæmª=è7oOjÞ¼MµýæíE½ß¼-õô›·'5oÞ¦Úƒ~óö¤æÍÛT{ÐoÞžÔ¼y›júÍÛ‹zûRAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒ -ö'ó%اø8Æ`¯`ŸbÍ9ØŸÌûD{ÐÁþ ¾ûPÏAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj2Ø_Ðû2{ŽÁþD^Á>Éšs°?™ ö‰ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOèìÓ¬9û™`_dÏ9ØŸÌûD{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ ¾ûPÏAû“š`Ÿj:ØŸÔûT{Áþ„^Á>Íšs°¿˜w°/ôt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÐÁþ¤&اڃö'5Á>Õt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOèìÓ¬9û“™`Ÿh:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÁþ„^Á>Íšs°?™ ö‰ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:ØÔ×`ê9è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþó} -öõ öžãy°ÿü9þà›·ß~þ§úÓG¿yûúÌöæíÿôç?ýÏ_ÿú·çïÞþøþó¯Ê~÷ö—_Ì¾Äø¯÷uðÿ%¢yüßÉ'~¸;ù|øáž%Ÿ_?ÆÓä“âã“Ï ¼’OŠ5çäs2“|íA'Ÿƒúš|B=|Nj’Oª=èäsR“|RíA'Ÿ“šä“j:ù\Ô;ù”z:ùœÔ$ŸT{ÐÉç¤&ù¤ÚƒN>'5É'Õtò¹¨wò)õtò9©I>©ö “ÏIMòIµ|Nj’Oª=ÈäsA“|Êì9&Ÿy%Ÿ$kÎÉçd&ù$ÚƒN>'5É'Õtò¹¨wò)õtò9©I>©ö “ÏIMòIµ|Nj’Oª=èäsQïäSê1èäsR“|RíA'Ÿ“šä“j:ùœÔ$ŸT{ÐÉç¢ÞɧÔcÐÉç¤&ù¤ÚƒN>'5É'Õdò9¡WòI³æ˜|.d’O‘=çäs2“|íA'Ÿ“šä“j:ùœÔ$ŸT{ÐÉç¢ÞɧÔcÐÉç¤&ù¤ÚƒN>'5É'Õtò9©I>©ö “ÏE½“O©Ç “ÏIMòIµ|Nj’Oª=èäsR“|RíA'Ÿƒúš|B=|Nj’Oª=èäsR“|RíA&Ÿz%Ÿ4kÎÉçbÞɧÐcÐÉç¤&ù¤ÚƒN>'5É'Õtò9©I>©ö “ÏE½“O©Ç “ÏIMòIµ|Nj’Oª=èäsR“|RíA'Ÿ‹z'ŸRA'Ÿ“šä“j:ùœÔ$ŸT{ÐÉç¤&ù¤ÚƒN>õN>¥ƒN>'5É'Õdò9¡WòI³æœ|Nf’O¢=èäsQïäSê1èäsR“|RíA'Ÿ“šä“j:ùœÔ$ŸT{ÐÉç¢ÞɧÔcÐÉç¤&ù¤ÚƒN>'5É'Õtò9©I>©ö “ÏE½“O©Ç “ÏIMòIµ|Nj’Oª=èäsR“|RíA'Ÿ‹z'ŸRA&Ÿz%Ÿ4kÎÉçd&ù$ÚƒN>'5É'Õtò¹¨wò)õtò9©I>©ö “ÏIMòIµ|Nj’Oª=èäsP_“O¨ç “ÏIMòIµ|Nj’Oª=èäsR“|RíA'ŸÏ#Ä)ùÔs$ù|xŽçÉçóçøƒïhþáÇßkÁw4_Ÿùãïh~ÿûÞÑŒ‡»ßÑüðpÏßÑüõƒàÍRA¿£yRóŽfª=èw4OjÞÑLµýŽæIÍ;š©ö ßѼ¨÷;š¥ƒ~Gó¤æÍT{ÐïhžÔ¼£™júÍ“šw4SíA¿£yQïw4K=ýŽæIÍ;š©ö ßÑ<©yG3Õô;š'5ïh¦Úƒ~Gó¢ÞÁ¾ÔcPÁþd¾ûÇìOàìS¬9û“™`Ÿh:ØÔ×`ê9è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÐÁþ¤&اڃö'5Á>Õt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAûš`_fÏ1ØŸÈ+Ø'Ysö'3Á>Ñt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAû‹zûRAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒý ½‚}š5Ç`!ì‹ì9û“™`Ÿh:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:ØÔ×`ê9è`RìSíAû“š`Ÿj2ØŸÐ+اYsöóö…ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒý ½‚}š5ç`2ìíAû‹zûRAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:Ø_Ô;Ø—z2ØŸÐ+اYsö'3Á>Ñt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAûƒúìC=ìOj‚}ª=è`RìSíAû“š`Ÿj:Øž OÁ¾ž#ÁþÃs<öŸ?Ç{Gó»OoßüüùßÛõŽæ|f{GóÿõßþíÙÛ™?¼T–z;ó‡/ÿºùJ~3õÿéùÛ™¯øýS]Ÿyü¡ž†þßxŒç¡?Ñc¡ÿ¦^¡¿Õdè¿©Wèoµúoêú[íA†þ“šÐŸê1ÈÐS¯Ðßj2ôßÔ+ô·Úƒý7õ -ýö CÿIMèOõdè¿©Wèoµúoêú[íA†þ›z…þV{¡ÿ¤&ô§z"ôßÌßC‹c -ý7ð%ô·Xsý7ó -ýö CÿE½C©ç CÿM½B«=ÈÐS¯Ðßj2ôßÔ+ô·Úƒý'5¡?Õc¡ÿ¦^¡¿Õdè¿©Wèoµúoêú[íA†þ“šÐŸê1ÈÐS¯Ðßj2ôßÔ+ô·Úƒý7õ -ýö Bÿ ½Bš=§Ð#_B“5ÇÐ3¯Ðßh2ôßÔ+ô·Úƒý'5¡?Õc¡ÿ¦^¡¿Õdè¿©Wèoµúoêú[íA†þ“šÐŸê1ÈÐS¯Ðßj2ôßÔ+ô·Úƒý7õ -ýö CÿIMèOõdè¿©Wèoµúoêú[íA…þúúÛ¬9…þy…þ${Ž¡ÿf^¡¿Ñdè¿©Wèoµúoêú[íA†þ“šÐŸê1ÈÐS¯Ðßj2ôßÔ+ô·Úƒý7õ -ýö CÿIMèOõdè¿©Wèoµúoêú[íA†þ›z…þV{¡ÿ¢Þ¡¿Ôs¡ÿ¦^¡¿Õdè¿©WèoµúoèKèo³æúOfB¢Ç CÿM½B«=ÈÐS¯Ðßj2ôßÔ+ô·Úƒý'5¡?Õc¡ÿ¦^¡¿Õdè¿©Wèoµúoêú[íA†þ“šÐŸê1ÈÐS¯Ðßj2ôßÔ+ô·Úƒý7õ -ýö CÿIMèOõdè¿©WèoµúoèKèo³æúoæúíA†þ“šÐŸê1ÈÐS¯Ðßj2ôßÔ+ô·Úƒý7õ -ýö CÿIMèOõdè¿©Wèoµúoêú[íA†þ›z…þV{¡ÿ¤&ô§z2ôßÔ+ô·Úƒý7õ -ýö CÿM½B«=ÈÐRúS=úoèKèo³æúoæúíA†þ›z…þV{¡ÿ¤&ô§z2ôßÔ+ô·Úƒý7õ -ýö CÿM½B«=ÈÐQïÐ_ê9ÈÐS¯Ðßj2ôßÔ+ô·Úƒý7õ -ýö CèKèÏç¸>ôøOC<Ç{3ÿ—Žöãçÿ-éÍüùÌ~3ÿÃøßõf~=\>ôøpσý¯Á¾ÔcÐÁþ¤&اڃö'5Á>Õt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAû‹zûRAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒ -ö'ó%اø8Æ`¯`ŸbÍ9ØŸÌûD{ÐÁþ ¾ûPÏAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj2Ø_Ðû2{ŽÁþD^Á>Éšs°?™ ö‰ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOèìÓ¬9û™`_dÏ9ØŸÌûD{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ ¾ûPÏAû“š`Ÿj:ØŸÔûT{Áþ„^Á>Íšs°¿˜w°/ôt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÐÁþ¤&اڃö'5Á>Õt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOèìÓ¬9û“™`Ÿh:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÁþ„^Á>Íšs°?™ ö‰ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:ØÔ×`ê9è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþó} -öõ öžãy°ÿü9þà›ùúR¾ó›ù¯Ïloæÿ§_ÿûÿøõÏÿùׯ_Ìÿù_u>¼û΋ùß½ùñË‚¼>Õ×™øù§§¥ÿûßï -•z:Ôt¡T{Ðeè¤&
¥ÚƒŽC'5u(Õtº¨w *õt":©iD©ö +ÑIM&JµŠNèUŠÒ¬9¶¢™XTdÏ9Ìô¢D{ÐÅè¤&¥ÚƒŽF'5Õ(Õt7º¨w8*õt::©iG©ö ëÑIM>JµNj -Rª=è†tQïˆTê1èŒtRÓ‘RíA—¤“š””j:&ÔÔ¤T{Ð=é ¾¥PÏA'¥“š¦”jº*Ôd¥T{aé„^e)Íšs[º˜w\*ôt^:©éK©ö ÓIMbJµ™Nj*Sª=èÎtQïÐTê1èÔtRÓšRíAצ“šÜ”j:8Ô§T{ÐÍé¢ÞÑ©ÔcÐÙ餦;¥Úƒ.O'5é)Õt|:©©O©ö ûÓE½T©Ç ÔIMƒJµY¡Nè•¡Ò¬9‡¨“™•hºE]Ô;F•z:GÔô¨T{ÐEê¤&I¥ÚƒŽR'5U*Õt—º¨w˜*õtš:©iS©ö ëÔIMžJµ¨Nj -Uª=èFuQïHUê1èLuRÓ©RíA—ª“šT•j:VÔÔªT{нê¢ÞÁªÔcÉê„^Í*Íšsµ:™ÉV‰ö ÃÕIM¹JµÝ®.ê¯J=¯NjúUª=è‚uR“°RíAG¬“šŠ•jºcÔ×ê9è”uRÓ²RíA׬“šœ•j:hÔT{ÐMëóÞrŠZõ©ZžãýϲÖçÏñ»ÖÏÿÞþÃûîZ¯Ïl]ë_ýçùùóo¿þù·¿}ݶ~þÌ?ºm}ÿùoÈû/ÿ=÷õѾþkýåüö_ì×~
?Úݯ=ühÏûµ¯ýšÔcÐýÚ¤¦_£Úƒî×&5ýÕt¿6©éרö ûµE½û5©Ç ûµIM¿FµÝ¯Mjú5ª=è~mRÓ¯QíAökš~Mfϱ_›È«_#Ysî×&3ýÑt¿6©éרö ûµE½û5©Ç ûµIM¿FµÝ¯Mjú5ª=è~mRÓ¯QíA÷k‹z÷kRA÷k“š~jº_›ÔôkT{ÐýÚ¤¦_£Úƒî×õîפƒî×&5ýÕt¿6©éרö ûµ ½ú5š5Ç~m!Ó¯‰ì9÷k“™~hº_›ÔôkT{ÐýÚ¤¦_£Úƒî×õîפƒî×&5ýÕt¿6©éרö ûµIM¿FµÝ¯-êݯI=ݯMjú5ª=è~mRÓ¯QíA÷k“š~jº_Ô×~
ê9è~mRÓ¯QíA÷k“š~j²_›Ð«_£Ysî×óîׄƒî×&5ýÕt¿6©éרö ûµIM¿FµÝ¯-êݯI=ݯMjú5ª=è~mRÓ¯QíA÷k“š~jº_[Ô»_“zº_›ÔôkT{ÐýÚ¤¦_£Úƒî×&5ýÕt¿¶¨w¿&õt¿6©éרö ûµ ½ú5š5ç~m2Ó¯íA÷k‹z÷kRA÷k“š~jº_›ÔôkT{ÐýÚ¤¦_£Úƒî×õîפƒî×&5ýÕt¿6©éרö ûµIM¿FµÝ¯-êݯI=ݯMjú5ª=è~mRÓ¯QíA÷k“š~jº_[Ô»_“z²_›Ð«_£Ysî×&3ýÑt¿6©éרö ûµE½û5©Ç ûµIM¿FµÝ¯Mjú5ª=è~mRÓ¯QíA÷kƒúÚ¯A=ݯMjú5ª=è~mRÓ¯QíA÷k“š~jº_SS5ôkzŽôkÏñ¼_{þG¿öî;ýÚÛ?ÿ`?¹_»>³÷k_wkï>O¼õ+úñ%Qy}¢¯ÿÿüþé;ÿ:ûïüDùÐãOôüKï¿~|ë=Õô÷Þ/êýÅ÷RÁ'êõ]õ“úòÙï¨=øD½¾®~R_>ûµŸ¨×7ÖOêËg¿£öà“7|^_Z¿¨×gƒOÔë{ë'õå³ßQ{ð‰z½òtRóUª=èw¨NjÞ¡JµýÕE½ß¡*õÔ;T'óåªÇøÕ ¼Þ¡J±æüÕÉÌ;T‰ö ß¡:¨¯ïP…zúª“šw¨RíA¿CuRóUª=èw¨Njtª=è}Qï]ê1è}RÓ SíA7蓚jºAŸÔ4èT{Ð
ú¢Þ
ºÔcÐ
ú¤¦A§ÚƒnÐ'5
:Õtƒ>©iЩö ôMƒ.³çØ OäÕ “¬97è“™hºAŸÔ4èT{Ð
ú¢Þ
ºÔcÐ
ú¤¦A§ÚƒnÐ'5
:Õtƒ>©iЩö ôE½t©Ç ôIMƒNµÝ Ojtª=è}RÓ SíA7è‹z7èRA7蓚jºAŸÔ4èT{
ú„^
:Íšcƒ¾iÐEöœôÉLƒN´Ý Ojtª=è}RÓ SíA7è‹z7èRA7蓚jºAŸÔ4èT{Ð
ú¤¦A§ÚƒnÐõnÐ¥ƒnÐ'5
:Õtƒ>©iЩö ôIMƒNµÝ êkƒõtƒ>©iЩö ôIMƒNµÙ OèÕ Ó¬97è‹y7èBA7蓚jºAŸÔ4èT{Ð
ú¤¦A§ÚƒnÐõnÐ¥ƒnÐ'5
:Õtƒ>©iЩö ôIMƒNµÝ /êÝ K=Ý Ojtª=è}RÓ SíA7蓚jºA_Ô»A—zºAŸÔ4èT{
ú„^
:Íšsƒ>™iЉö ôE½t©Ç ôIMƒNµÝ Ojtª=è}RÓ SíA7è‹z7èRA7蓚jºAŸÔ4èT{Ð
ú¤¦A§ÚƒnÐõnÐ¥ƒnÐ'5
:Õtƒ>©iЩö ôIMƒNµÝ /êÝ K=Ù OèÕ Ó¬97è“™hºAŸÔ4èT{Ð
ú¢Þ
ºÔcÐ
ú¤¦A§ÚƒnÐ'5
:Õtƒ>©iЩö ôA}mСžƒnÐ'5
:Õtƒ>©iЩö ôIMƒNµÝ +t=Gô‡çxÞ ?Ž?øÕÞ¾yûþƒôë3[ƒþÿýõO¿ýúýÓ›÷Ÿ¾¡zù³Ê×Gúú¯ñû÷?=‹Ðï0?Òf?üHÏÃì¯a6Õt˜=© ³©ö ÃìIM˜Mµf/êfK=fOjÂlª=è0{RfSíA‡Ù“š0›j:Ì^Ô;Ì–z*̞̗0›âãÃì ¼ÂlŠ5ç0{2fíA‡ÙƒúfC=fOjÂlª=è0{RfSíA‡Ù“š0›j:Ì^Ô;Ì–z:ÌžÔ„ÙT{Ðaö¤&̦ڃ³'5a6Õt˜½¨w˜-õt˜=© ³©ö ÃìIM˜MµfOjÂlª=È0{AfËì9†Ùy…Ù$kÎaöd&Ì&Úƒ³'5a6Õt˜½¨w˜-õt˜=© ³©ö ÃìIM˜MµfOjÂlª=è0{Qï0[ê1è0{RfSíA‡Ù“š0›j:ÌžÔ„ÙT{Ðaö¢Þa¶ÔcÐaö¤&̦ڃ³'5a6Õd˜=¡W˜M³æf/dÂl‘=ç0{2fíA‡Ù“š0›j:ÌžÔ„ÙT{Ðaö¢Þa¶ÔcÐaö¤&̦ڃ³'5a6Õt˜=© ³©ö ÃìE½Ãl©Ç ÃìIM˜MµfOjÂlª=è0{RfSíA‡ÙƒúfC=fOjÂlª=è0{RfSíA†Ùz…Ù4kÎaöbÞa¶ÐcÐaö¤&̦ڃ³'5a6Õt˜=© ³©ö ÃìE½Ãl©Ç ÃìIM˜MµfOjÂlª=è0{RfSíA‡Ù‹z‡ÙRA‡Ù“š0›j:ÌžÔ„ÙT{Ðaö¤&̦ڃ³õ³¥ƒ³'5a6Õd˜=¡W˜M³æfOfÂl¢=è0{Qï0[ê1è0{RfSíA‡Ù“š0›j:ÌžÔ„ÙT{Ðaö¢Þa¶ÔcÐaö¤&̦ڃ³'5a6Õt˜=© ³©ö ÃìE½Ãl©Ç ÃìIM˜MµfOjÂlª=è0{RfSíA‡Ù‹z‡ÙRA†Ùz…Ù4kÎaöd&Ì&Úƒ³'5a6Õt˜½¨w˜-õt˜=© ³©ö ÃìIM˜MµfOjÂlª=è0{P_Ãl¨ç ÃìIM˜MµfOjÂlª=è0{RfSíA‡ÙІ‡0[Ï‘0ûá9ž‡ÙÏŸã½üíÇŸ|Ï0;ŸÙÂì¿ýúÛ×YöÛŸÿ·ã,ûÃÇ7?~ú‡‡:ŸúÝçùÝÓwƒ¿}ó×ïÑ”=þ@ßx7øû7Þ¾ûÖƒ|C}ùìwÔ|¢~ymùª¾|ö;jò=è›z½Ýjò=蓚ܞê1ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí7õÊíö sûIMnOõdn¿©Wnoµ™Ûoê•Û[íAæö›zåöV{¹ý¤&·§z"·ßÌßs{‹cÊí7ð%··XsÌí7óÊíö sûE½s{©ç sûM½r{«=ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí'5¹=Õc¹ý¦^¹½Õdn¿©Wnoµ™Ûoê•Û[íAæö“šÜžê1ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí7õÊíö rû ½r{š=§Ü~#_r{“5ÇÜ~3¯ÜÞh2·ßÔ+··ÚƒÌí'5¹=Õc¹ý¦^¹½Õdn¿©Wnoµ™Ûoê•Û[íAæö“šÜžê1ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí7õÊíö sûIMnOõdn¿©Wnoµ™Ûoê•Û[íAåöú’ÛÛ¬9åöyåö${޹ýf^¹½Ñdn¿©Wnoµ™Ûoê•Û[íAæö“šÜžê1ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí7õÊíö sûIMnOõdn¿©Wnoµ™Ûoê•Û[íAæö›zåöV{¹ý¢Þ¹½Ôs¹ý¦^¹½Õdn¿©Wnoµ•ÛoèKno³æ˜ÛOfr{¢Ç sûM½r{«=ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí'5¹=Õc¹ý¦^¹½Õdn¿©Wnoµ™Ûoê•Û[íAæö“šÜžê1ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí7õÊíö sûIMnOõdn¿©Wnoµ•ÛoèKno³æ˜Ûoæ•ÛíAæö“šÜžê1ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí7õÊíö sûIMnOõdn¿©Wnoµ™Ûoê•Û[íAæö›zåöV{¹ý¤&·§z2·ßÔ+··ÚƒÌí7õÊíö sûM½r{«=ÈÜ~R“ÛS=•ÛoèKno³æ˜Ûoæ•ÛíAæö›zåöV{¹ý¤&·§z2·ßÔ+··ÚƒÌí7õÊíö sûM½r{«=ÈÜ~QïÜ^ê9ÈÜ~S¯ÜÞj2·ßÔ+··ÚƒÌí7õÊíö s{ÄàKnÏç¸>ôøOs{<Ç{úÛ/ÿïý;çö×g¶ÜþÿýßÌí_èïËíñݹýÃô<·ÿúAÛSíAçö“šÜžj:·ŸÔäöT{йý¢Þ¹½Ôcйý¤&·§ÚƒÎí'5¹=Õtn?©Éí©ö sûE½s{©Ç sûIMnOµÛOjr{ª=èÜ~R“ÛSíAçö‹zçöRAåö“ù’ÛS|cn?WnO±æœÛOfr{¢=èÜ~P_s{¨ç sûIMnOµÛOjr{ª=èÜ~R“ÛSíAçö‹zçöRAçö“šÜžj:·ŸÔäöT{йý¤&·§ÚƒÎíõÎí¥ƒÎí'5¹=Õtn?©Éí©ö sûIMnOµ™Û/hr{™=ÇÜ~"¯ÜždÍ9·ŸÌäöD{йý¤&·§ÚƒÎíõÎí¥ƒÎí'5¹=Õtn?©Éí©ö sûIMnOµÛ/êÛK=ÛOjr{ª=èÜ~R“ÛSíAçö“šÜžj:·_Ô;·—z:·ŸÔäöT{йý¤&·§ÚƒÌí'ôÊíiÖsû…Ln/²çœÛOfr{¢=èÜ~R“ÛSíAçö“šÜžj:·_Ô;·—z:·ŸÔäöT{йý¤&·§ÚƒÎí'5¹=Õtn¿¨wn/õtn?©Éí©ö sûIMnOµÛOjr{ª=èÜ~P_s{¨ç sûIMnOµÛOjr{ª=ÈÜ~B¯ÜžfÍ9·_Ì;·z:·ŸÔäöT{йý¤&·§ÚƒÎí'5¹=Õtn¿¨wn/õtn?©Éí©ö sûIMnOµÛOjr{ª=èÜ~QïÜ^ê1èÜ~R“ÛSíAçö“šÜžj:·ŸÔäöT{йý¢Þ¹½Ôcйý¤&·§ÚƒÌí'ôÊíiÖœsûÉLnO´Û/êÛK=ÛOjr{ª=èÜ~R“ÛSíAçö“šÜžj:·_Ô;·—z:·ŸÔäöT{йý¤&·§ÚƒÎí'5¹=Õtn¿¨wn/õtn?©Éí©ö sûIMnOµÛOjr{ª=èÜ~QïÜ^ê1ÈÜ~B¯ÜžfÍ9·ŸÌäöD{йý¤&·§ÚƒÎíõÎí¥ƒÎí'5¹=Õtn?©Éí©ö sûIMnOµÛêknõtn?©Éí©ö sûIMnOµÛOjr{ª=èÜþy>åözŽäöÏñ<·þ¿ÿÑë§ßÿ`o·ÿü;Š÷¿gtŸõîã·kûë3×GÛ§¥ÿ§_ÿûÿøõÏÿù×ÿç¿|ÝÜøéóΧëƒÿá¿þóßþöÔý÷¨á~ªóÉøòVܧ}þ3ÝéûëÏô¼|ÿê!¾‹¬9gï™ê]d͹yÈ;yÙsÞ2½»Èšsí¾‰ÝEÖœS÷…Lé.²æÜ¹ä¹ƒì9Gî™Æ]d͹p_Èî"kÎyûB¦nYsnÛòNÛAöœÂö|éÚÅ=L±j_´+j÷8æ¤}S´K¬9÷ìß'_söçä1ç˜}!Ó²‹¬9—ì™]dÍ9c_ÈTì"kÎ
û@Þ ;ÈžsÀ¾é×EÖœëõ…L¼.²æœ®/dÊu‘5çn} ïldÏ9Z_È4ë"kÎÅúB&XYsÎÕ2µºÈšc«>ˆIÕÖCõÅ»:uyc®Ô0‘ºÄšs¢¾)ÔEÖœûô¼ót=ç8}!Ó¦‹¬9—é™0]dÍ9K_ÈTé"kÎMú@ÞI:Èžs¾éÑEÖœkô…LŒ.²æœ¢/dJt‘5ç} ïdÏ9B_È4è"kÎúB&@YsÌÏñªÏ>ޱ=¼¤çðjÌáù¦;—Xs®Î2ѹȚsr¾)ÎEÖœ{ó¼ss=çØ|!Óš‹¬9—æ™Ð\dÍ93_ÈTæ"kÎù@Þ‰9Èžs`¾éËEÖœëò…L\.²æœ–/dÊr‘5ç®üûäkVþœ<æ•/dšr‘5ç¢|!”‹¬9æä‹xÕäÇÜ’à’Cì9‡ä™Ž\d͹"_ÈDä"kÎ ùB¦ YsîÇòÎÇAöœãñ…L;.²æ\Ž/dÂq‘5çl|!S‹¬97ãy'ã {ÎÁøB¦Ys®Å2±¸Èšs*¾)ÅEÖœ;ñ¼3q=çH|!Óˆ‹¬9â‹xâÇœ‡/`êp‰5ç6| ï4dÏ9_Ètá"kÎUøB& -YsNÂ2E¸Èšs>w²çƒ/dZp‘5ç|!‚‹¬9gà™ -\d͹È;ÙsÀ2ý·Èšsý½‰¿EÖœÓï…Lù-²æÜ}ä}ƒì9Fß‹x5ßÇ\|/`‚o‰5çÜ{!S{‹¬9·Þy§Þ {Ρ÷B¦óYs®¼2‘·Èšsâ½)¼EÖœûîy÷sò˜sܽi»EÖœËî…LØ-²æœu/dªn‘5ç¦ûil<%ÝxˆÝ¯ñþí³ ûéCüÁ×§ÿøéóÜ'¿>ýúÌk†ýïß}øáßýÇ¿þå·¿üö¿þíׯ³ì/ïSÿºËþðã§gaö‡o>¼ë‡Ë‡îôõ¾ô¯/`—zú쓚j:CŸÔtèT{Ð%ú¤&E§ÚƒŽÑõ®Ñ¥ƒîÑ'5A:Õt’>©iÒ©ö «ôIM–Nµ¦/ê]¦K=ݦOjâtª=è<}RÓ§SíAꓚDj:R_Ô»R—zªSŸÌ—PâãSõ ¼ZuŠ5çZ}2“«íAëƒúZ¬C=ݬOj¢uª=èl}RÓSíA—듚tj:^_Ô»^—zº_ŸÔìT{Ð û¤¦a§Úƒ®Ø'5;ÕtȾ¨wÉ.õtË>©‰Ù©ö söIMÏNµ]´Oj’vª=Ȩ}ASµËì9víy…í$kÎiûd¦m'Úƒ®Û'5y;Õtྨwá.õtã>©‰Ü©ö 3÷IMçNµ]ºOjRwª=èØ}QïÚ]ê1èÞ}R¼SíA'æjºzŸÔdïT{Ðáû¢Þå»ÔcÐíû¤&~§ÚƒÎß'5ý;Õd?¡WO³æÁ/d*x‘=ç~2ÂíA§ð“šžjº†ŸÔäðT{ÐAü¢ÞE¼ÔcÐMü¤&Š§ÚƒÎâ'5]<Õt?©Iã©ö ãøE½ëx©Ç ûøIM OµÈOjyª=èJ~R“ÉSíA‡òƒúZÊC=ÝÊOjbyª=è\~RÓËSíAóz%ó4kÎÑübÞÕ¼ÐcÐÝü¤&œ§ÚƒNç'5í<Õt=?©Éç©ö úE½z©Ç úIMDOµÑOj:zª=è’~R“ÒSíAÇô‹z×ôRA÷ô“š žj:©ŸÔ4õT{ÐUý¤&«§Úƒëõ.륃në'5q=Õd^?¡W_O³æ\ØOf{¢=èÈ~QïÊ^ê1èÎ~RÚSíA§ö“šÖžjº¶ŸÔäöT{ÐÁý¢ÞŽÔcÐÍý¤&º§ÚƒÎî'5Ý=Õty?©Iï©ö ãûE½ë{©Ç ûûIM€OµàOj|ª=è -R“áSíA‡ø‹z—øRA¶øzÅø4kÎ9þd¦Ç'Úƒ.ò'5I>Õt”¿¨w•/õt—?© ó©ö ÓüIM›Oµ]çOjò|ª=è@P_}¨ç ýIM¤OµéOj:}ª=èRR“êSíAÇúÏô©Ö×s$×xŽç½þóçøƒÁþûŸÞ¼ÿù£ƒýë3~û»ëÍê¿üò§?ÿé·_~ùúìŸÿUçû¼€ýýí_ÿò/ߪXþÒä¼>ÖשÿÛŸ•þw׊ŸêîZ~ªç]ë×Ï®•jºk]Ô»k•zªkÌ—®•âã»Ö ¼ºVŠ5ç®u2ÓµíAwƒúÚµB=ݵNjºVª=è®uRÓµRíAw“š®•jºk]Ô»k•zºkÔtT{Ð]뤦k¥ÚƒîZ'5]+Õt׺¨w×*õt×:©éZ©ö »ÖIM×JµÝµNjºVª=È®uAÓµÊì9vyu$kÎ]ëd¦k%ÚƒîZ'5]+Õt׺¨w×*õt×:©éZ©ö »ÖIM×JµÝµNjºVª=è®uQï®Uê1è®uRÓµRíAw“š®•jºkÔtT{Ð]ë¢Þ]«ÔcÐ]뤦k¥ÚƒîZ'5]+Õd×:¡W×J³æØµ.dºV‘=ç®u2ÓµíAw“š®•jºkÔtT{Ð]ë¢Þ]«ÔcÐ]뤦k¥ÚƒîZ'5]+Õt×:©éZ©ö »ÖE½»V©Ç »ÖIM×JµÝµNjºVª=è®uRÓµRíAwƒúÚµB=ݵNjºVª=è®uRÓµRíAvzu4kÎ]ëbÞ]«ÐcÐ]뤦k¥ÚƒîZ'5]+Õt×:©éZ©ö »ÖE½»V©Ç »ÖIM×JµÝµNjºVª=è®uRÓµRíAw‹zwRAw“š®•jºkÔtT{Ð]뤦k¥ÚƒîZõîZ¥ƒîZ'5]+Õd×:¡W×J³æÜµNfºV¢=è®uQï®Uê1è®uRÓµRíAw“š®•jºkÔtT{Ð]ë¢Þ]«ÔcÐ]뤦k¥ÚƒîZ'5]+Õt×:©éZ©ö »ÖE½»V©Ç »ÖIM×JµÝµNjºVª=è®uRÓµRíAw‹zwRAvzu4kÎ]ëd¦k%ÚƒîZ'5]+Õt׺¨w×*õt×:©éZ©ö »ÖIM×JµÝµNjºVª=è®uP_»V¨ç »ÖIM×JµÝµNjºVª=è®uRÓµRíAwÏ{Ë©kÕs¤k}xŽç]ëóçøý^?ýþƒ_þ³Ò»owŸGñþ÷ŒîÝû7?~~Œovׇòwï¯`õŸ~ýíë¤õíÇÏÿÛ¹>ðò.ë³<|÷á͇/¿‰|}žo¼»úóOü¤h}÷Ó›·¾óóäC?Ï× ä»Ïúå—¯äêËg¿£öà·Õ÷oß¼}?ª×gƒOÔ÷o~z÷㨾|ö;j>Q?ÿmøò‹Ë¤¾|ö;j>Q?ÿmøaU_>ûµ¿þøöÍŸ~ÚÔë³VÁ'êû7¾üj5©/ŸýŽÚƒOÔŸÞüðóª¾|ö;j>Q?¾ùðÓÇQ}ùìwÔü¶úáó߆Ÿ6õú¬Õcð‰úþ÷÷÷oêËg¿£öàõó߆ñ‰—~Ǭ¹'äõ-“™¯- ÚƒþÚ‚E½¿¶@ê1è¯-˜Ô|mÕô×Lj¾¶€júk&5_[@µýµ‹zmÔcÐ_[0©ùÚª=è¯-˜Ô|mÕô×Lj¾¶€júkõþÚ©Ç ¿¶`RóµT{Ð_[0©9ï¢Úƒ>ïšÔœwQíAŸw-ê}Þ%õÔy×d¾œwQ|ãy×^ç]kÎç]“™ó.¢=èó®A}=ï‚zú¼kRsÞEµ}Þ5©9ï¢Úƒ>ïšÔœwQíAŸw-ê}Þ%õôyפ漋jú¼kRsÞEµ}Þ5©9ï¢Úƒ>ïZÔû¼Kê1èó®IÍyÕôyפ漋jú¼kRsÞEµyÞµ 9ï’Ùs<ïšÈ뼋dÍù¼k2sÞE´}Þ5©9ï¢Úƒ>ïZÔû¼Kê1èó®IÍyÕôyפ漋jú¼kRsÞEµ}Þµ¨÷y—ÔcÐç]“šó.ª=èó®IÍyÕôyפ漋jú¼kQïó.©Ç Ï»&5ç]T{Ðç]“šó.ª=Èó® ½Î»hÖÏ»2ç]"{Îç]“™ó.¢=èó®IÍyÕôyפ漋jú¼kQïó.©Ç Ï»&5ç]T{Ðç]“šó.ª=èó®IÍyÕôy×¢Þç]RAŸwMjλ¨ö Ï»&5ç]T{Ðç]“šó.ª=èó®A}=ï‚zú¼kRsÞEµ}Þ5©9ï¢Úƒ<ïšÐ뼋fÍù¼k1ïó.¡Ç Ï»&5ç]T{Ðç]“šó.ª=èó®IÍyÕôy×¢Þç]RAŸwMjλ¨ö Ï»&5ç]T{Ðç]“šó.ª=èó®E½Ï»¤ƒ>ïšÔœwQíAŸwMjλ¨ö Ï»&5ç]T{Ðç]‹zŸwI=}Þ5©9ï¢Úƒ<ïšÐ뼋fÍù¼k2sÞE´}Þµ¨÷y—ÔcÐç]“šó.ª=èó®IÍyÕôyפ漋jú¼kQïó.©Ç Ï»&5ç]T{Ðç]“šó.ª=èó®IÍyÕôy×¢Þç]RAŸwMjλ¨ö Ï»&5ç]T{Ðç]“šó.ª=èó®E½Ï»¤ƒ<ïšÐ뼋fÍù¼k2sÞE´}Þ5©9ï¢Úƒ>ïZÔû¼Kê1èó®IÍyÕôyפ漋jú¼kRsÞEµ}Þ5¨¯ç]PÏAŸwMjλ¨ö Ï»&5ç]T{Ðç]“šó.ª=èó®ç×GÓy—ž#ç]Ïñü¼ëùsüÁ¯-øò_¼~þà¯-¸>óz›õïß}øáßýÇ¿þå·¿üö¿þíׯoµ>¼|ÁÃø7nµ~üôìVëöñpw°ÿðpσý¯Á¾ÔcÐÁþ¤&اڃö'5Á>Õt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOj‚}ª=è`RìSíAû‹zûRAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒ -ö'ó%اø8Æ`¯`ŸbÍ9ØŸÌûD{ÐÁþ ¾ûPÏAû“š`Ÿj:ØŸÔûT{ÐÁþ¤&اڃöõö¥ƒö'5Á>Õt°?© ö©ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj2Ø_Ðû2{ŽÁþD^Á>Éšs°?™ ö‰ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOèìÓ¬9û™`_dÏ9ØŸÌûD{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ ¾ûPÏAû“š`Ÿj:ØŸÔûT{Áþ„^Á>Íšs°¿˜w°/ôt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÐÁþ¤&اڃö'5Á>Õt°?© ö©ö ƒýE½ƒ}©Ç ƒýIM°OµìOèìÓ¬9û“™`Ÿh:Ø_Ô;Ø—z:ØŸÔûT{ÐÁþ¤&اڃö'5Á>Õt°¿¨w°/õt°?© ö©ö ƒýIM°OµìOj‚}ª=è`Qï`_ê1è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþ¢ÞÁ¾ÔcÁþ„^Á>Íšs°?™ ö‰ö ƒýIM°Oµì/êìK=ìOj‚}ª=è`RìSíAû“š`Ÿj:ØÔ×`ê9è`RìSíAû“š`Ÿj:ØŸÔûT{ÐÁþó} -öõ öžãy°ÿü9Ž`ÿƒýÏÿPx÷ž½þõË»ëËV~ùåOþÓo¿üòõW²|þï>]ûÇ_û׿üË·ÖŸ?~ü‡×‡úºóûã³Ì?Q+~¤|æáGzš´~ýÏ‹V’5Çžu!“³Šì9Ĭø{ËJîaJ%뤽„¬äǘ±NàU±R¬96¬y'¬ 9¬yõ«$kŽõêD^ñ*Éšcº:‘W¹J²æØ.d²U‘=Çhu"¯f•dͱXÈ+X%YsÌU'òªUIÖ[Õ…Lª*²çªNäÕ©’¬9VªyEª$kމêD^…*ÉšSŸºˆWž*°Æ§NÞK›JïqŒeê^a*Åšc–:‘W•J²æØ¤.d’T‘=Ç u"¯•dͱFÈ+F%YsLQ'ò*QIÖ;Ô…L†*²ç¡NäÕ ’¬9¨y¨$kŽùéD^õ)Éšc{ºIOEöÃÓ‰¼ºS’5Çêt"¯è”dÍ)9Ä—â”àã˜zÓÅ»rSy5ÆØt¯Ö”bͱ4È+4%YsÌL'òªLIÖÓ…Lb*²ç˜NäÕ—’¬9Ö¥yÅ¥$kŽiéD^e)ÉšcWºÉJEö£Ò‰¼šR’5Ç¢t"¯ ”dÍ1'È«&%YslIòNIAsI'òêHIÖ+Ò‰¼"R’5§„t_ -R‚cìG0ù¨Äžc<:‘W;J²æXŽN䎒¬9f£yU£$kŽÍèB&ÙsF'òêEIÖkщ¼bQ’5ÇTt"¯R”dͱ]Èd¢"{Ž‘èD^(Éšc!:‘W J²æ˜‡NäU‡’¬9¶¡™4TdÏ1È«%YsªB'ñ% -%ø8Æ$t¯"”bͱ]Èä "{Ž1èD^-(Éšc :‘WJ²æ˜NäU’¬96 ™TdÏ1 -O’5Ǿs!“wŠì9Æyµ$kŽeçD^a'ÉšcÖ9‘WÕI²æØtät‚<ætNäÕs’¬9ÖœyÅœ$kŽ)çD^%'ÉšcÇù¼0\2N=Äõ™‡‡xq>ˆÏ¿iÿôæÃ—ÿˆ÷ãÇÏÿOãÛ/fþù훟ßÿþkÖ›o¾ŸæË?ͯOóãçÖ~þ‡ë#_žæþéÉÓ¼ÎDúÿd§Uwendstream -endobj -1660 0 obj << -/Type /Page -/Contents 1661 0 R -/Resources 1659 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1178 0 R -/Annots [ 1663 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1699 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R 1766 0 R ] ->> endobj -1663 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 756.639 257.852 764.801] -/Subtype /Link -/A << /S /GoTo /D (1738) >> ->> endobj -1664 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 756.639 521.32 764.801] -/Subtype /Link -/A << /S /GoTo /D (1738) >> ->> endobj -1665 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 742.938 257.982 751.849] -/Subtype /Link -/A << /S /GoTo /D (1742) >> ->> endobj -1666 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 742.938 521.32 751.849] -/Subtype /Link -/A << /S /GoTo /D (1742) >> ->> endobj -1667 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 730.736 273.992 738.898] -/Subtype /Link -/A << /S /GoTo /D (1755) >> ->> endobj -1668 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 730.736 521.32 738.898] -/Subtype /Link -/A << /S /GoTo /D (1755) >> ->> endobj -1669 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 717.035 257.982 725.947] -/Subtype /Link -/A << /S /GoTo /D (1762) >> ->> endobj -1670 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 717.035 521.32 725.947] -/Subtype /Link -/A << /S /GoTo /D (1762) >> ->> endobj -1671 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 704.833 268.612 712.995] -/Subtype /Link -/A << /S /GoTo /D (1775) >> ->> endobj -1672 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 704.833 521.32 712.995] -/Subtype /Link -/A << /S /GoTo /D (1775) >> ->> endobj -1673 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 691.132 257.982 700.044] -/Subtype /Link -/A << /S /GoTo /D (1779) >> ->> endobj -1674 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 691.132 521.32 700.044] -/Subtype /Link -/A << /S /GoTo /D (1779) >> ->> endobj -1675 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 680.149 230.953 687.092] -/Subtype /Link -/A << /S /GoTo /D (1792) >> ->> endobj -1676 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 680.149 521.32 687.092] -/Subtype /Link -/A << /S /GoTo /D (1792) >> ->> endobj -1677 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 665.229 257.982 674.141] -/Subtype /Link -/A << /S /GoTo /D (1796) >> ->> endobj -1678 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 665.229 521.32 674.141] -/Subtype /Link -/A << /S /GoTo /D (1796) >> ->> endobj -1679 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 654.247 225.574 661.189] -/Subtype /Link -/A << /S /GoTo /D (1809) >> ->> endobj -1680 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 654.247 521.32 661.189] -/Subtype /Link -/A << /S /GoTo /D (1809) >> ->> endobj -1681 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 639.327 257.982 648.238] -/Subtype /Link -/A << /S /GoTo /D (1813) >> ->> endobj -1682 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 639.327 521.32 648.238] -/Subtype /Link -/A << /S /GoTo /D (1813) >> ->> endobj -1683 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 628.344 230.953 635.287] -/Subtype /Link -/A << /S /GoTo /D (1826) >> ->> endobj -1684 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 628.344 521.32 635.287] -/Subtype /Link -/A << /S /GoTo /D (1826) >> ->> endobj -1685 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 613.424 257.982 622.335] -/Subtype /Link -/A << /S /GoTo /D (1830) >> ->> endobj -1686 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 613.424 521.32 622.335] -/Subtype /Link -/A << /S /GoTo /D (1830) >> ->> endobj -1687 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 601.221 263.232 609.384] -/Subtype /Link -/A << /S /GoTo /D (1843) >> ->> endobj -1688 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 601.221 521.32 609.384] -/Subtype /Link -/A << /S /GoTo /D (1843) >> ->> endobj -1689 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 587.521 257.982 596.432] -/Subtype /Link -/A << /S /GoTo /D (1847) >> ->> endobj -1690 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 587.521 521.32 596.432] -/Subtype /Link -/A << /S /GoTo /D (1847) >> ->> endobj -1691 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 575.319 279.372 583.481] -/Subtype /Link -/A << /S /GoTo /D (1860) >> ->> endobj -1692 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 575.319 521.32 583.481] -/Subtype /Link -/A << /S /GoTo /D (1860) >> ->> endobj -1693 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 561.618 257.982 570.529] -/Subtype /Link -/A << /S /GoTo /D (1864) >> ->> endobj -1694 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 561.618 521.32 570.529] -/Subtype /Link -/A << /S /GoTo /D (1864) >> ->> endobj -1695 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 549.416 290.131 557.578] -/Subtype /Link -/A << /S /GoTo /D (1877) >> ->> endobj -1696 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 549.416 521.32 557.578] -/Subtype /Link -/A << /S /GoTo /D (1877) >> ->> endobj -1697 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 535.715 257.982 544.627] -/Subtype /Link -/A << /S /GoTo /D (1881) >> ->> endobj -1698 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 535.715 521.32 544.627] -/Subtype /Link -/A << /S /GoTo /D (1881) >> ->> endobj -1699 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 523.513 257.852 531.675] -/Subtype /Link -/A << /S /GoTo /D (1894) >> ->> endobj -1700 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 523.513 521.32 531.675] -/Subtype /Link -/A << /S /GoTo /D (1894) >> ->> endobj -1701 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 509.812 257.982 518.724] -/Subtype /Link -/A << /S /GoTo /D (1898) >> ->> endobj -1702 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 509.812 521.32 518.724] -/Subtype /Link -/A << /S /GoTo /D (1898) >> ->> endobj -1703 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 497.61 284.752 505.772] -/Subtype /Link -/A << /S /GoTo /D (1911) >> ->> endobj -1704 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 497.61 521.32 505.772] -/Subtype /Link -/A << /S /GoTo /D (1911) >> ->> endobj -1705 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 483.909 257.982 492.821] -/Subtype /Link -/A << /S /GoTo /D (1915) >> ->> endobj -1706 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 483.909 521.32 492.821] -/Subtype /Link -/A << /S /GoTo /D (1915) >> ->> endobj -1707 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 471.707 257.852 479.869] -/Subtype /Link -/A << /S /GoTo /D (1928) >> ->> endobj -1708 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 471.707 521.32 479.869] -/Subtype /Link -/A << /S /GoTo /D (1928) >> ->> endobj -1709 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 458.007 257.982 466.918] -/Subtype /Link -/A << /S /GoTo /D (1932) >> ->> endobj -1710 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 458.007 521.32 466.918] -/Subtype /Link -/A << /S /GoTo /D (1932) >> ->> endobj -1711 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 447.024 247.093 453.967] -/Subtype /Link -/A << /S /GoTo /D (1945) >> ->> endobj -1712 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 447.024 521.32 453.967] -/Subtype /Link -/A << /S /GoTo /D (1945) >> ->> endobj -1713 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 432.104 257.982 441.015] -/Subtype /Link -/A << /S /GoTo /D (1951) >> ->> endobj -1714 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 432.104 521.32 441.015] -/Subtype /Link -/A << /S /GoTo /D (1951) >> ->> endobj -1715 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 421.121 290.131 428.064] -/Subtype /Link -/A << /S /GoTo /D (1964) >> ->> endobj -1716 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 421.121 521.32 428.064] -/Subtype /Link -/A << /S /GoTo /D (1964) >> ->> endobj -1717 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 406.201 257.982 415.112] -/Subtype /Link -/A << /S /GoTo /D (1970) >> ->> endobj -1718 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 406.201 521.32 415.112] -/Subtype /Link -/A << /S /GoTo /D (1970) >> ->> endobj -1719 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 393.999 279.372 402.161] -/Subtype /Link -/A << /S /GoTo /D (1983) >> ->> endobj -1720 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 393.999 521.32 402.161] -/Subtype /Link -/A << /S /GoTo /D (1983) >> ->> endobj -1721 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 380.298 257.982 389.209] -/Subtype /Link -/A << /S /GoTo /D (1987) >> ->> endobj -1722 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 380.298 521.32 389.209] -/Subtype /Link -/A << /S /GoTo /D (1987) >> ->> endobj -1723 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 368.096 279.372 376.258] -/Subtype /Link -/A << /S /GoTo /D (2000) >> ->> endobj -1724 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 368.096 521.32 376.258] -/Subtype /Link -/A << /S /GoTo /D (2000) >> ->> endobj -1725 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 354.395 257.982 363.307] -/Subtype /Link -/A << /S /GoTo /D (2004) >> ->> endobj -1726 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 354.395 521.32 363.307] -/Subtype /Link -/A << /S /GoTo /D (2004) >> ->> endobj -1727 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 342.193 279.372 350.355] -/Subtype /Link -/A << /S /GoTo /D (2017) >> ->> endobj -1728 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 342.193 521.32 350.355] -/Subtype /Link -/A << /S /GoTo /D (2017) >> ->> endobj -1729 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 328.492 257.982 337.404] -/Subtype /Link -/A << /S /GoTo /D (2021) >> ->> endobj -1730 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 328.492 521.32 337.404] -/Subtype /Link -/A << /S /GoTo /D (2021) >> ->> endobj -1731 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 316.29 290.131 324.452] -/Subtype /Link -/A << /S /GoTo /D (2034) >> ->> endobj -1732 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 316.29 521.32 324.452] -/Subtype /Link -/A << /S /GoTo /D (2034) >> ->> endobj -1733 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 302.589 257.982 311.501] -/Subtype /Link -/A << /S /GoTo /D (2038) >> ->> endobj -1734 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 302.589 521.32 311.501] -/Subtype /Link -/A << /S /GoTo /D (2038) >> ->> endobj -1735 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 290.387 257.852 298.549] -/Subtype /Link -/A << /S /GoTo /D (2051) >> ->> endobj -1736 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 290.387 521.32 298.549] -/Subtype /Link -/A << /S /GoTo /D (2051) >> ->> endobj -1737 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 276.687 257.982 285.598] -/Subtype /Link -/A << /S /GoTo /D (2055) >> ->> endobj -1738 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 276.687 521.32 285.598] -/Subtype /Link -/A << /S /GoTo /D (2055) >> ->> endobj -1739 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 264.484 252.473 272.646] -/Subtype /Link -/A << /S /GoTo /D (2068) >> ->> endobj -1740 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 264.484 521.32 272.646] -/Subtype /Link -/A << /S /GoTo /D (2068) >> ->> endobj -1741 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 250.784 257.982 259.695] -/Subtype /Link -/A << /S /GoTo /D (2072) >> ->> endobj -1742 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 250.784 521.32 259.695] -/Subtype /Link -/A << /S /GoTo /D (2072) >> ->> endobj -1743 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 238.94 285.788 246.744] -/Subtype /Link -/A << /S /GoTo /D (2108) >> ->> endobj -1744 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 238.94 521.32 246.744] -/Subtype /Link -/A << /S /GoTo /D (2108) >> ->> endobj -1745 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 226.849 307.307 233.792] -/Subtype /Link -/A << /S /GoTo /D (2115) >> ->> endobj -1746 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 226.849 521.32 233.792] -/Subtype /Link -/A << /S /GoTo /D (2115) >> ->> endobj -1747 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 213.898 264.269 220.841] -/Subtype /Link -/A << /S /GoTo /D (2127) >> ->> endobj -1748 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 213.898 521.32 220.841] -/Subtype /Link -/A << /S /GoTo /D (2127) >> ->> endobj -1749 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 200.946 269.648 207.889] -/Subtype /Link -/A << /S /GoTo /D (2134) >> ->> endobj -1750 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 200.946 521.32 207.889] -/Subtype /Link -/A << /S /GoTo /D (2134) >> ->> endobj -1751 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 187.995 258.889 194.938] -/Subtype /Link -/A << /S /GoTo /D (2142) >> ->> endobj -1752 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 187.995 521.32 194.938] -/Subtype /Link -/A << /S /GoTo /D (2142) >> ->> endobj -1753 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 173.824 258.889 181.986] -/Subtype /Link -/A << /S /GoTo /D (2150) >> ->> endobj -1754 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 173.824 521.32 181.986] -/Subtype /Link -/A << /S /GoTo /D (2150) >> ->> endobj -1755 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 160.873 263.232 169.035] -/Subtype /Link -/A << /S /GoTo /D (2155) >> ->> endobj -1756 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 160.873 521.32 169.035] -/Subtype /Link -/A << /S /GoTo /D (2155) >> ->> endobj -1757 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 147.172 257.982 156.084] -/Subtype /Link -/A << /S /GoTo /D (2159) >> ->> endobj -1758 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 147.172 521.32 156.084] -/Subtype /Link -/A << /S /GoTo /D (2159) >> ->> endobj -1759 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 135.329 285.788 143.132] -/Subtype /Link -/A << /S /GoTo /D (2174) >> ->> endobj -1760 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 135.329 521.32 143.132] -/Subtype /Link -/A << /S /GoTo /D (2174) >> ->> endobj -1761 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 123.238 225.574 130.181] -/Subtype /Link -/A << /S /GoTo /D (2179) >> ->> endobj -1762 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 123.238 521.32 130.181] -/Subtype /Link -/A << /S /GoTo /D (2179) >> ->> endobj -1763 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 108.318 257.982 117.229] -/Subtype /Link -/A << /S /GoTo /D (2183) >> ->> endobj -1764 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 108.318 521.32 117.229] -/Subtype /Link -/A << /S /GoTo /D (2183) >> ->> endobj -1765 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 96.474 285.788 104.278] -/Subtype /Link -/A << /S /GoTo /D (2198) >> ->> endobj -1766 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 96.474 521.32 104.278] -/Subtype /Link -/A << /S /GoTo /D (2198) >> ->> endobj -1662 0 obj << -/D [1660 0 R /XYZ 71.731 778.968 null] ->> endobj -1659 0 obj << -/Font << /F26 1184 0 R /F33 1203 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1821 0 obj << -/Length 44823 -/Filter /FlateDecode ->> -stream -xÚ¼Ý]dW~¥÷{} -^Ê“ï•yéf-@‚oƒh««Õ44¢À®oï(Æ^;rý3Ï[‚1Œ€Þ³~'jf‘õìS÷?ÜÿÏý_îO_ÏÿÏ—×ÓÛËëÿøßþêî‡:ÿ'ÿÓ_ݯOOo§ç×·óÿüÉø»ÇçÇÓÛÓë¿{¸;½=<|zæþåËéñËÿûòüzº{zù~è?ÿÃ_ý§ÿúðòÃÛ™}üáþøCåÌ?üáÿøëøÓ×ÿáÿü‡ÿå?ý×ÇǾ?ß˯¿œÞ^ÏËßOüý×oÿÛ/gÞ=¼ßÖ‘¿ùçßÿùÏßüÕù‡ýL/§Çóê»'šýpz8?ÎçŸúáñõôr÷ÌŸ(‡Þ¢Ó‡yº?ݽ½|ö Õu–Õ1x >ž¿Ó/R½œ½¡öàúrºûbÕËÙj¨¯§çóÿj;õrö†ÚƒŸ«Ïç¯áùÍ©ë,«cð@=
OV½œ½¡öàzþž$úëÑfÍçïàûß·”y9{íÁÏÕ—ówð Õu–Õ1x ž¿ƒû©^ÎÞP{ð@=wV½œ½¡öàúzzz{”êåì
µ?W¿œx½Êÿ
^gYƒêãéé‹U/go¨=x >ŸÏ?Kõrö†Úƒêùkx–?æÖÙj~®¾ž¿†'©®³¬ŽÁõü5<Êsëì
µÔó×ð ̳7Ô<PÏ_ýU/go¨=ø¹úvþîä¹u–Õ1x ž¿i~?yC|?và=Ÿ^í‡üõè
±æÈ×Óã«ü·ÎÞ@{ðSõñîîôúÅý¨ÉYTçàúxz|±êåì
µÔó·ðü(ÕËÙj¨ç¯áéIª—³7Ôü\½?
R]gYƒêùkxx–êåì
µÔó×pÿ"ÕËÙj¨ç¯áΪ—³7Ôü\=ÿ³þ—7÷.gYƒêãéüÓAª—³7Ô<PŸO_¾Xõrö†ÚƒêëéáåMª—³7Ôü\}<
ò™.GÙì¹òüÈÿ®^ŽÞ kî€<O÷Ò¼œ½öàzþåO›uö†ÚƒŸ«Oç¯àAªë,«cð@=÷ògÜ:{CíÁõü5È
‘³7Ô<P_O÷oV½œ½¡öàçêóÝéåUþ÷feu¨§{û7ˆuö†ÚƒêóéåŪ—³7Ô<PÏ_óü·ÎÞP{ðsõåü5<ÉŸ6ë,«cð@=
V½œ½¡öàzþäϸuö†ÚƒêùkC¼½aÖÜçä—ów Þ\Ž2Ùsäù¸³æåì
´ÔçÓó›ü‹»ÎÞP{ð@=ÿ‡¯V½œ½¡öàçêëÝéù‹ü·Î²:ÔÇÓÝ‹üi³ÎÞP{ð@=
ÏV½œ½¡öàúý?”?ãÖÙj~®¾¿†G©®³¬ŽÁõü5<ÈŸqëì
µÔó×p/Ƴ7Ô<PÏÿáU/go¨=ø©útwwzzs?ãrÕ9x >œÞä¿ÃËÙj¨Ï§§/V½œ½¡öàúå$ÿ¥À:zì¹ÏÉûów ´æ,£cð@=ÏV½œ½¡öàzþž¤z9{CíÁõü-<>Jõrö†ÚƒŸ«ç¯áAªë,«cð@=
÷OR½œ½¡öàzþz9{CíÁõËéõͪ—³7Ôü\}¼;=¾ºs9Ëê<PN¯2;ÉÙj¨Ï§Ç«^ÎÞP{ð@=
ÏòÇÜ:{CíÁÏÕ§ó× ³“œeu¨ç¯áѪ—³7Ô<PÏ_ƒü[Óåè
³æÈów ³“œ½öàçêóù;¸—ê:Ëê<PÏßÌNrö†ÚƒêóéAf'9{CíÁõËéË«U/go¨=ø¹úrwzÙIβ:Ô‡Ó™äì
µÔó×ðlÕËÙj¨ç¯Af'9{CíÁÏÕ/ç¯Af'9Ëê<PÏ_ÃU/go¨=x ž¿™äì
µÔó× ³“œ½¡öàçêëÝéþMªë,«cð@}8½Xô×£7Ìš; ŸO÷2>ÉÙh¨_N/_¬z9{CíÁÏÕ·ów 㓜eu¨çoAÆ'9{CíÁõü5<Yõrö†ÚƒêùkñIÎÞP{ðSõùîü5ÈßÐÎYTçàzþîz9{CíÁõü5Èø$go¨=x ~9=ËÏ”³7Ôü\½¿;Ý}~a"GîÏ¿:¸.ò|z¼õ„9ôþ9ï?<ÈÃùÔ=ǯmÆÝ÷îë_+}z%çíü¸¿þròüÏwçnÿôJÎ:”3×Û4¿{x¾ûë¿ûåço?û·ýúñvÍó÷;:?¼ŸOp÷뵂ƒÛ5;؇‡ÛÁþ»‡;ö?>û¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£ø~ƒ}®`Åšã`_™ öíAö…z
öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠ\Á>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö
™`ŸÈžã`_™ öíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^ƒ}Pç ûJM°jr°¯Ôû¨ö û -]Á>š5ÇÁ¾1w°Oèä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+tûhÖûÊL°hr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ub°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨×`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اçH°ÿî9ŽƒýãçÁþÃ`ÿüϲßÿ»„Áþ:ÆÆÃú2~üñ§ùéÛ?~üc4ÎÏüü?Gão¿~ûÓÏø¬býò½É¹>ÖÇÔÿþé¨ôß]+|ªÝµ¾ûTÇ]ëÇ瀮Õä®Õ¨»k%uRתÌK׊âû1ìZ¸ºVkŽ»Ve¦kE´¹kêµkurתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*ruHÖwÊL׊hrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®ÕÄ®U¡«kE³æ°k5dºV"{Ž»Ve¦kE´¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZ…zíZAƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tuhÖwÆÜ]+¡c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jbתÐÕµ¢Ysܵ*3]+¢=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1ˆ]«BW׊fÍqתÌtˆö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^»VPç wJM׊jrתÔt¨ö wJM׊jr×zÜ[ª®•ž#]ë»ç8îZŸã×ßz}ûþƒô"êó¯(ÍèîßÎ?>ïZסœá®õq«ÿåÿý×þéúv£k½¼ÑúìNOßäúTÿ2ß}y9|ƒõã¯ï·ÆO•Cï?ÕÇòùåôý·þ?>Ç'è¯Go˜5w@®7k+3¯êF´ùUÝFݯê&uò«º•šWu£Úƒüªn¥æUݨö ¿ª[©yU7ª=ȯê6ê~U7©c_ÕÔ¼ªÕäWu+5¯êFµùUÝJÍ«ºQíA~U·Q÷«ºIƒüªn¥æUݨö ¿ª[©¹Ò€jò•¥æJª=ÈWŒº¯4:éJƒ2/WP|?†W¸®4 Xs|¥A™¹Ò€hò•¡^¯4€:ùJƒRs¥Õä+
JÍ•T{¯4(5WPíA¾Ò`Ô}¥Ô1ÈW”š+
¨ö _iPj®4 Úƒ|¥A©¹Ò€jò•£î+
¤ŽA¾Ò Ô\i@µùJƒRs¥Õä+
JÍ•T{¯44WÈì9¼Ò Èu¥Éšã+
ÊÌ•D{¯4(5WPíA¾Ò`Ô}¥Ô1ÈW”š+
¨ö _iPj®4 Úƒ|¥A©¹Ò€jò•£î+
¤ŽA¾Ò Ô\i@µùJƒRs¥Õä+
JÍ•T{¯4u_i uò•¥æJª=ÈW”š+
¨ö ^iPèºÒ€fÍá•CæJ‘=ÇW”™+
ˆö _iPj®4 Úƒ|¥A©¹Ò€jò•£î+
¤ŽA¾Ò Ô\i@µùJƒRs¥Õä+
JÍ•T{¯4u_i uò•¥æJª=ÈW”š+
¨ö _iPj®4 Úƒ|¥A¨×+
ÎA¾Ò Ô\i@µùJƒRs¥ÕÄ+
-]WЬ9¾Ò`Ì}¥Ð1ÈW”š+
¨ö _iPj®4 Úƒ|¥A©¹Ò€jò•£î+
¤ŽA¾Ò Ô\i@µùJƒRs¥Õä+
JÍ•T{¯4u_i uò•¥æJª=ÈW”š+
¨ö _iPj®4 Úƒ|¥Á¨ûJ©c¯4(5WPíA¼Ò Ðu¥Íšã+
ÊÌ•D{¯4u_i uò•¥æJª=ÈW”š+
¨ö _iPj®4 Úƒ|¥Á¨ûJ©c¯4(5WPíA¾Ò Ô\i@µùJƒRs¥Õä+
FÝWHƒ|¥A©¹Ò€jò•¥æJª=ÈW”š+
¨ö _i0ê¾Ò@êÄ+
-]WЬ9¾Ò Ì\i@´ùJƒRs¥Õä+
FÝWHƒ|¥A©¹Ò€jò•¥æJª=ÈW”š+
¨ö _iêõJ¨s¯4(5WPíA¾Ò Ô\i@µùJƒRs¥Õä+
ÔÚ‹+
ô¹Òðî9ޝ4?ÇxU÷ýWuß½œžîùUÝëÌõ&Âïžïþúï~ùùÛÏßþí_¿~r3áòîîwã_¸ýýZÁÑÍ„ûðp;Ø÷pÇÁþÇ`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©c‚}e^‚}ßa°¯Àì£Xsì+3Á>¢=ÈÁ¾P¯Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö
š`ŸÌžÃ`_‘+ØG²æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö û -]Á>š5‡Á¾!ìÙsì+3Á>¢=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/Ôk°êä`_© öQíAö•š`ÕÄ`_¡+ØG³æ8Ø7æö ƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}…®`Íšã`_™ öíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAöº‚}4kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒýã]ûô öß=Çq°ü#Øà`ÿåí{ó†Á~ÎðŸAð°þpüé_~úöã7þ‚¿ýúíO?ÿ᳊õËëëïëcêÿtTú§k¥O•Cï?Õa×úÉsw¬ö vJM׊ꄮՙ¿v,¾£®Õ—®•Śîՙ«ke´±k5êîZIƒØµ:uu¬ö vN]]+«=ˆ]«SW×ÊjbתÔt¨ŽAìZººVV{»V§®®•ÕĮթ«keµ±kUjºVTÇ vN]]+«=ˆ]«SW×Êjb×êÔÕµ²ÚƒÔµ*tuhöu޼tLÖvÎ\]+£=ˆ]«SW×ÊjbתÔt¨ŽAìZººVV{»V§®®•ÕĮթ«keµ±kUjºVTÇ vN]]+«=ˆ]«SW×Êjb×êÔÕµ²ÚƒØµ*5]+ªc»V§®®•ÕĮթ«keµ©kuè¥ke³æ¨kUäêZ‘ì9ìZ¹ºVF{»V§®®•ÕĮթ«keµ±kUjºVTÇ vN]]+«=ˆ]«SW×Êjb×êÔÕµ²ÚƒØµ*5]+ªc»V§®®•ÕĮթ«keµ±kuêêZYíAìZº»VRç vN]]+«=ˆ]«SW×ÊjR×êÐK×ÊfÍaתÌtˆŽAìZººVV{»V§®®•ÕĮթ«keµ±kUjºVTÇ vN]]+«=ˆ]«SW×Êjb×êÔÕµ²ÚƒØµ*5]+ªc»V§®®•ÕĮթ«keµ±kuêêZYíAìZ•š®Õ1ˆ]«SW×ÊjR×êÐK×ÊfÍa×êÌÕµ2ڃص*5]+ªc»V§®®•ÕĮթ«keµ±kuêêZYíAìZ•š®Õ1ˆ]«SW×Êjb×êÔÕµ²ÚƒØµ:uu¬ö vJM׊êĮթ«keµ±kuêêZYíAìZººVV{»V¥¦kEuR×êÐK×ÊfÍa×êÌÕµ2ڃص:uu¬ö vJM׊êĮթ«keµ±kuêêZYíAìZººVV{»V£î®•Ô9ˆ]«SW×Êjb×êÔÕµ²ÚƒØµ:uu¬ö vÐ[š®Ÿczÿ‡]+<Ço{õËù‡Áãã+wëŒëZÿüõÛǤõþõüß.ZŸ_O¯ßÿÍæõæS?œîŽ’Ö¼Fš>P½ÿ@‡¯‘þäAŽ_#Íjâk¤º^#Íjâk¤º^#Íjâk¤•š×H£:ñ5ÒN]¯‘fµñ5ÒN]¯‘fµñ5ÒN]¯‘fµñ5ÒJÍk¤Qƒøi§®×H³Úƒøi§&·Gµ9·Wjr{T{s{£îÜžÔ1H¹½2/¹=ŠïÇ0·WàÊíQ¬9Îí•™ÜÑäÜ^¨×ÜÔ9ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö æöMnOfÏan¯È•Û#YsœÛ+3¹=¢=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{…®ÜÍšÃÜÞÉí‰ì9Îí•™ÜÑäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·ê5·urn¯Ôäö¨ö çöJMnjbn¯Ð•Û£YsœÛsçö„ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ˆ¹½BWnfÍqn¯Ìäöˆö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ æö -]¹=š5ǹ½2“Û#ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎí…zÍíAƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹýq®r{zŽäöïžãñá(·?~Žßøéó/-¾ÿ4æöëŒËíÿéß™Û_è/ËíáíÜþÝ:Îí?>äö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOê¤Ü^™—ÜÅ÷c˜Û+påö(ÖçöÊLnhrn/ÔknêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{ƒ&·'³ç0·WäÊ푬9Îí•™ÜÑäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ˆ¹½BWnfÍanoÈäöDöçöÊLnhrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛõšÛƒ:9·Wjr{T{s{¥&·Gµ1·WèÊíѬ9Îí¹s{BÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕÄÜ^¡+·G³æ8·Wfr{D{s{£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{…®ÜÍšãÜ^™ÉííAÎ핚ÜÕäÜÞ¨;·'urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöB½æö ÎAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜþ8W¹==GrûwÏqœÛ?ǯ¿õúöý7éíößÿÿÿšÑ=?Îÿdùyn¿åçö©éÿæO?ÿô_?÷Oç_¯½åÐ?ÿþÏþP>ÝŸ¾|ÿmþë3}ü‹üzþ•æAqÿôxz~ýŸ)‡Þ¦äÓËéîË—Ïäõrö†ÚƒêëéùåUª—³7Ôü\}¾?Ý=¿9ueu¨ç¯áɪ—³7Ô<PÏ_ÓD=zì¹òü<ÞKóröÚƒ×(Ö½£î‹*¤ŽA¾¨¢Ô\TAµù¢ŠRsQÕä‹*JÍET{/ªu_T!uòE¥æ¢ -ª=ÈU”š‹*¨ö _TQj.ª Úƒ|QŨû¢ -©c/ª(5UPíA¾¨¢Ô\TAµù¢ŠRsQÕä‹*FÝUHƒtQE™—‹*(¾Ã‹* -\UP¬9¾¨¢Ì\TA´ù¢ŠP¯U@ƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈU”š‹*¨ö _T1꾨Bêä‹*JÍET{/ª(5UPíA¾¨¢Ô\TAµù¢ŠQ÷ERÇ _TQj.ª Úƒ|QE©¹¨‚jòE¥æ¢ -ª=ˆUš‹*dö^TQ亨‚dÍñEeæ¢ -¢=ÈU”š‹*¨ö _T1꾨Bêä‹*JÍET{/ª(5UPíA¾¨¢Ô\TAµù¢ŠQ÷ERÇ _TQj.ª Úƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈUŒº/ª:ù¢ŠRsQÕä‹*JÍET{/ª(t]TA³æð¢Š!sQ…Èžã‹*ÊÌED{/ª(5UPíA¾¨¢Ô\TAµù¢ŠQ÷ERÇ _TQj.ª Úƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈUŒº/ª:ù¢ŠRsQÕä‹*JÍET{/ª(5UPíA¾¨"ÔëEPç _TQj.ª Úƒ|QE©¹¨‚jâE…®‹*hÖ_T1澨Bèä‹*JÍET{/ª(5UPíA¾¨¢Ô\TAµù¢ŠQ÷ERÇ _TQj.ª Úƒ|QE©¹¨‚jòE¥æ¢ -ª=ÈUŒº/ª:ù¢ŠRsQÕä‹*JÍET{/ª(5UPíA¾¨bÔ}Q…Ô1ÈU”š‹*¨ö ^TQ躨‚fÍñEeæ¢ -¢=ÈUŒº/ª:ù¢ŠRsQÕä‹*JÍET{/ª(5UPíA¾¨bÔ}Q…Ô1ÈU”š‹*¨ö _TQj.ª Úƒ|QE©¹¨‚jòE£î‹*¤ŽA¾¨¢Ô\TAµù¢ŠRsQÕä‹*JÍET{/ªu_T!uâE…®‹*hÖ_TQf.ª Úƒ|QE©¹¨‚jòE£î‹*¤ŽA¾¨¢Ô\TAµù¢ŠRsQÕä‹*JÍET{/ªõzQÔ9ÈU”š‹*¨ö _TQj.ª Úƒ|QE©¹¨‚jòEºC!.ªÐsä¢Ê»ç8¾¨rü¿ñÏ…xº?=ÿüs!Ö™ë
“ß=<ßýõßýòó·Ÿ¿ýÛ¿~ýxãäùòE¼ŸOp÷뵂ƒ';؇‡ÛÁþ»‡;ö?>û¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£ø~ƒ}®`Åšã`_™ öíAö…z
öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jb°oÐûdöûŠ\Á>’5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö
™`ŸÈžã`_™ öíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^ƒ}Pç ûJM°jr°¯Ôû¨ö û -]Á>š5ÇÁ¾1w°Oèä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+tûhÖûÊL°hr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ub°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨×`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اçH°ÿî9ŽƒýãçÁþý`ÿá{÷þÀÁþ:òÄÃúC#~üñ§ùéÛ?~ü³%Îÿ¨óü?[âo¿~ûÓÏø¬býò½É¹>ÖÇÔÿþðÏ–Ø]+|ªÝµ¾ûTÇ]ëÇ瀮Õä®Õ¨»k%uRתÌK׊âû1ìZ¸ºVkŽ»Ve¦kE´¹kêµkurתÔt¨ö wJM׊jrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*ruHÖwÊL׊hrתÔt¨ö wFÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®ÕÄ®U¡«kE³æ°k5dºV"{Ž»Ve¦kE´¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZ…zíZAƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tuhÖwÆÜ]+¡c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jbתÐÕµ¢Ysܵ*3]+¢=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1ˆ]«BW׊fÍqתÌtˆö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^»VPç wJM׊jrתÔt¨ö wJM׊jr×zÜ[ª®•ž#]ë»ç8îZŸã7v÷ϧç×{îZ××µþòõÏ_¿}ŒZÞN7šÖ—·ËïU^éã_ãÇÇ—£¨u¿p>Ò~áð»tüÂá/Fµù…ÃJ͇QíA~á°RóÂaT{_8lÔýÂaRÇ ¿pX©yá0ª=È/VjÂlT{Ãl¥&ÌFµ9Ì6ê³Iƒf+óf£ø~Ãl®0Åšã0[™ ³íA³…z
³Aƒf+5a6ª=Èa¶Rf£Úƒf+5a6ª=Èa¶Qw˜Mêä0[© ³QíA³•š0Õä0[© ³QíA³ºÃlRÇ ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙJM˜jb˜mЄÙdö†ÙŠ\a6’5Ça¶2f#Úƒf+5a6ª=Èa¶Qw˜Mêä0[© ³QíA³•š0Õä0[© ³QíA³ºÃlRÇ ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙJM˜jr˜mÔf“:9ÌVjÂlT{Ãl¥&ÌFµ1ÌVè -³Ñ¬9³
™0›Èžã0[™ ³íA³•š0Õä0[© ³QíA³ºÃlRÇ ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙJM˜jr˜mÔf“:9ÌVjÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl¡^ÃlPç ‡ÙJM˜jr˜Ô„Ù¨ö †Ù -]a6š5Ça¶1w˜Mèä0[© ³QíA³•š0Õä0[© ³QíA³ºÃlRÇ ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙJM˜jr˜mÔf“:9ÌVjÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+t…ÙhÖ‡ÙÊL˜hr˜mÔf“:9ÌVjÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&ub˜Ðf£Ysf+3a6¢=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0[¨×0Ô9Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£ÚƒfS4,ÂlzŽ„Ùïžã8Ì>~Žf?ܳ¿Óof¯3.Ìþ4˾=ÿw‡³ìç×Óë÷³y} ùÔ§ûLJ£,ûåþt÷ë?÷ÀÊ¡÷ècùòxzþþ{zäõrö†ÚƒêËéîΪ—³7Ô<P_OOoR½œ½¡öàA¾êx£îÜžÔ1ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'uRn¯ÌKnâû1Ìí¸r{kŽs{e&·G´9·ê5·urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ˆ¹½A“Û“Ùs˜Û+råöHÖçöÊLnhrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕÄÜ^¡+·G³æ0·7dr{"{Žs{e&·G´9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎí…zÍíAƒœÛ+5¹=ª=ȹ½R“Û£Úƒ˜Û+tåöhÖçöÆÜ¹=¡cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ çöJMnjbn¯Ð•Û£YsœÛ+3¹=¢=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ˆ¹½BWnfÍqn¯Ìäöˆö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{¡^s{Pç çöJMnjrn¯Ôäö¨ö çöJMnjrnƒ«Üžž#¹ý»ç8ÎíŸã·½ýùõíüw«WÌísÆåöÿôïËíß=Ð_”ÛÓÊ¡÷è0·ÿäAŽs{V{s{§®ÜžÕÄÜÞ©+·gµ1·Wjr{TÇ æöN]¹=«=ˆ¹½SWnÏjbnïÔ•Û³Úƒ˜Û+5¹=ªcs{§®ÜžÕÄÜÞ©+·gµ1·wêÊíYíAÌ핚ÜÕ1¹½3ÍíY|?F¹½/¹=‹5‡¹½3WnÏhbnoÔÛ“:1·wêÊíYíAÌíºr{V{s{§®ÜžÕÄÜ^©ÉíQƒ˜Û;uåö¬ö æöN]¹=«=ˆ¹½SWnÏjbn¯Ôäö¨ŽAÌíºr{V{s{§®ÜžÕÄÜÞ©+·gµ)·WèÊíÑì9ÊíyÉ홬9Ìí¹r{F{s{§®ÜžÕÄÜ^©ÉíQƒ˜Û;uåö¬ö æöN]¹=«=ˆ¹½SWnÏjbn¯Ôäö¨ŽAÌíºr{V{s{§®ÜžÕÄÜÞ©+·gµ1·Wjr{TÇ æöN]¹=«=ˆ¹½SWnÏjRnïÐKnÏfÍQn¯È•Û#Ùs˜Û;såöŒö æöN]¹=«=ˆ¹½SWnÏjbn¯Ôäö¨ŽAÌíºr{V{s{§®ÜžÕÄÜÞ©+·gµ1·Wjr{TÇ æöN]¹=«=ˆ¹½SWnÏjbnïÔ•Û³Úƒ˜Ûuçö¤ÎAÌíºr{V{s{§®ÜžÕ¤ÜÞ¡—ܞ͚ÃÜ^™É탘Û;uåö¬ö æöN]¹=«=ˆ¹½SWnÏjbn¯Ôäö¨ŽAÌíºr{V{s{§®ÜžÕÄÜÞ©+·gµ1·Wjr{TÇ æöN]¹=«=ˆ¹½SWnÏjbnïÔ•Û³Úƒ˜Û+5¹=ªcs{§®ÜžÕ¤ÜÞ¡—ܞ͚ÃÜÞ™+·g´1·Wjr{TÇ æöN]¹=«=ˆ¹½SWnÏjbnïÔ•Û³Úƒ˜Û+5¹=ªcs{§®ÜžÕÄÜÞ©+·gµ1·wêÊíYíAÌ핚ÜÕ1ˆ¹½SWnÏjbnïÔ•Û³Úƒ˜Û;uåö¬ö æöJMnê¤ÜÞ¡—ܞ͚ÃÜÞ™+·g´1·wêÊíYíAÌ핚ÜÕ1ˆ¹½SWnÏjbnïÔ•Û³Úƒ˜Û;uåö¬ö æöFݹ=©ss{§®ÜžÕÄÜÞ©+·gµ1·wêÊíYíAÌí!7¹=>Ç:ôþ9s{xŽßövûç//ç·/œÛ¯3.·ÿöóßûå§ù§ÍýùužÞ8º?ÿ-ûË÷&çúXóÙÏÿ}x:jîw× -Ÿjwï>Õq×úñ9 kEµ¹k5êîZIƒÔµ*óÒµ¢ø~»V®®Åšã®U™éZíAîZ…zíZAƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jb×jÐtdövŠ\]+’5Ç]«2Óµ"ڃܵ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ±kUèêZѬ9ìZ
™®•Èžã®U™éZíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^»VPç wJM׊jrתÔt¨ö v -]]+š5Ç]«1w×Jèä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ wJM׊jrתÔt¨ö wJM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒØµ*tuhÖwÊL׊hr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuw¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%ubתÐÕµ¢Ysܵ*3]+¢=È]«RÓµ¢ÚƒÜµuw¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®U¨×®Ô9È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ÷–ªk¥çH×úî9Ž»Öãçø¯‘~y<}ùòÌ]ë:ãºÖ?þòó;*[Ÿ_΃7ÊÖ·—Óó÷ß±¼>ØÇ¿Ò¯Gië®áƒí*ñÝ;®?>T‰ ÎA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ±J4hªD2{«DE®*Éšã*Q™©íA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢ÚƒX%*tU‰hÖV‰†L•HdÏq•¨ÌT‰ˆö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢P¯U"¨s«D¥¦JDµ¹JTjªDT{«D…®*Íšã*ј»J$tr•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA¬ºªD4kŽ«De¦JD´¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:±JTèªÑ¬9®•™*Ñä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•(Ôk•êä*Q©©QíA®•š*Õä*Q©©QíA®©•U"=GªÄwÏñøxT%?Ço|Ûæùå¯\%®3®Jüåëïÿð±G|x:ÝÝsŽøòtIT®Oôñ/ñ—ÇÃ7m¾¼œîîn|¢zÿ‰>¾šñåõôôöøÙƒ|¢^ÎÞP{ðsõü«·×'§®³¬ŽÁõñôôŪ—³7Ô<PŸÏ知z9{CíÁõü5<¿Hõrö†Úƒïm=
OR]gYƒêùkøþkw¥^ÎÞP{ð@]/²UjÞŒ‹jò›q•š7ã¢Úƒüf\£î7ã’:é͸ʼ¼Å÷cøf\®7ã¢Xsüf\e¦AG´¹AêµAurƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èFÝ
:©ct¥¦AGµ¹AWjtT{t¥¦AGµ¹A7ênÐIƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=ˆ
ºAÓ “ÙsØ +r5èHÖ7èÊLƒŽhrƒ®Ô4è¨ö 7èFÝ
:©ct¥¦AGµ¹AWjtT{t¥¦AGµ¹A7ênÐIƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQwƒNêä]©iÐQíAnЕšÕÄ]¡«AG³æ°A7dt"{Žte¦AG´¹AWjtT{t¥¦AGµ¹A7ênÐIƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQwƒNêä]©iÐQíAnЕšÕä]©iÐQíAnÐ…zmÐAƒÜ +5
:ª=È
ºRÓ £ÚƒØ +t5èhÖ7èÆÜ
:¡ct¥¦AGµ¹AWjtT{t¥¦AGµ¹A7ênÐIƒÜ +5
:ª=È
ºRÓ £ÚƒÜ +5
:ª=È
ºQwƒNêä]©iÐQíAnЕšÕä]©iÐQíAnкtRÇ 7èJMƒŽjbƒ®ÐÕ £YsÜ +3
:¢=È
ºQwƒNêä]©iÐQíAnЕšÕä]©iÐQíAnкtRÇ 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒnÔÝ “:¹AWjtT{t¥¦AGµ¹AWjtT{t£îÔ1ˆ
ºBWƒŽfÍqƒ®Ì4èˆö 7èJMƒŽjrƒnÔÝ “:¹AWjtT{t¥¦AGµ¹AWjtT{t¡^tPç 7èJMƒŽjrƒ®Ô4è¨ö 7èJMƒŽjrƒN´hÐé9Ò ¿{Žãýø9~ã›q¿ÿóÝ—nÐ×× ÿ?¿üôíë'úÛéñÆ;q_Þ.¿Wy}¤_Ž"ôfÃGÚaö»tf|³QíA³•š0Õä0[© ³QíA³ºÃlRÇ ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙJM˜jr˜mÔf“:)ÌVæ%ÌFñý†Ù -\a6Š5Ça¶2f#Úƒfõfƒ:9ÌVjÂlT{Ãl¥&ÌFµ9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0ÕÄ0Û ³Éì9³¹Âl$kŽÃle&ÌF´9ÌVjÂlT{Ãl£î0›Ô1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&ur˜Ô„Ù¨ö ‡ÙJM˜jb˜Ðf£Ysf2a6‘=Ça¶2f#Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&ur˜Ô„Ù¨ö ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙB½†Ù ÎA³•š0Õä0[© ³QíA³ºÂl4kŽÃlcî0›Ð1Èa¶Rf£Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&ur˜Ô„Ù¨ö ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙFÝa6©cÃl¥&ÌFµ1ÌVè -³Ñ¬9³•™0Ñä0Û¨;Ì&ur˜Ô„Ù¨ö ‡ÙJM˜jr˜Ô„Ù¨ö ‡ÙFÝa6©cÃl¥&ÌFµ9ÌVjÂlT{Ãl¥&ÌFµ9Ì6ê³Iƒf+5a6ª=Èa¶Rf£Úƒf+5a6ª=Èa¶Qw˜MêÄ0[¡+ÌF³æ8ÌVfÂlD{Ãl¥&ÌFµ9Ì6ê³Iƒf+5a6ª=Èa¶Rf£Úƒf+5a6ª=Èa¶P¯a6¨sÃl¥&ÌFµ9ÌVjÂlT{Ãl¥&ÌFµ9̦hX„Ùô ³ß=Çq˜}ü¿þÖëÛ÷ߤ0ûü+ŠÇ_3º‡§ÓÛÃýçaö:”3f?®êúo¾þòí§?þô¿ÿ,Ï~¹?½¼¤Ïþ›þýŸÿüÙ«¹_î¯è'OÿðëSÝʳáƒí<ûÝ;γ?>äÙ¨ö çÙJMžjržÔäÙ¨ö çÙFÝy6©cól¥&ÏFµ9ÏVjòlT{ól¥&ÏFµ9Ï6êγIƒ”g+ó’g£ø~ól®<Åšã<[™É³íAγ…zͳAƒœg+5y6ª=Èy¶R“g£Úƒœg+5y6ª=Èy¶QwžMêä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjbžmÐäÙdöæÙŠ\y6’5Çy¶2“g#Úƒœg+5y6ª=Èy¶QwžMêä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ1ÏVèʳѬ9̳
™<›Èžã<[™É³íAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól¡^ólPç çÙJMžjržÔäÙ¨ö æÙ -]y6š5Çy¶1wžMèä<[©É³QíAγ•š<Õä<[©É³QíAγºólRÇ çÙJMžjržÔäÙ¨ö çÙJMžjržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól£î<›Ô1Èy¶R“g£Úƒ˜g+tåÙhÖçÙÊLžhržmÔg“:9ÏVjòlT{ól¥&ÏFµ9ÏVjòlT{ól£î<›Ô1Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£ÚƒœguçÙ¤ŽAγ•š<Õä<[©É³QíAγ•š<Õä<Û¨;Ï&ubžÐ•g£Ysœg+3y6¢=Èy¶R“g£ÚƒœguçÙ¤ŽAγ•š<Õä<[©É³QíAγ•š<Õä<[¨×<Ô9Èy¶R“g£Úƒœg+5y6ª=Èy¶R“g£ÚƒœgGÃ*ϦçHžýî9ŽóìãçïÍ~¸ñÞì³úvþ;3¾7{¹&Õ¿{x¾ûë¿ûåço?û·ýú1±~¾¼HûÝø|‚»ÓóÓÛQbýüzz~¼ç‡Ë¡÷÷±g|¹?Ý=Üö Õu–Õ1x >žžï¤z9{CíÁõåtwgÕËÙj¨¯§§·G©^ÎÞP{ð '_}½Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:)ØWæ%ØGñýû -\Á>Š5ÇÁ¾2ì#Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`ÕÄ`ß öÉì9ö¹‚}$kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAöº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè -öѬ9ö•™`Ñä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°OêÄ`_¡+ØG³æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P¯Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø?NÐU°OÏ‘`ÿÝsûÇÏ1‚ý{öŸÞÞNwç|ìç¿Oýa½%ýÏ_¿ýï_ùóO?ÿËÇש?¿œó:õ¿ýúíO?ÿác‚ørz~zýá݃}ü+ýúøxû§J¤–Cï?Øa•øÉƒW‰¤ÎA¬ºªDV{«D§®*‘ÕÄ*Ñ©«Jdµ±JTjªDTÇ V‰N]U"«=ˆU¢SW•Èjb•èÔU%²ÚƒX%*5U"ªc«D§®*‘ÕÄ*Ñ©«Jdµ±JtêªYíAªºªD4{ŽªDG^ªD&k«Dg®*‘ÑÄ*Ñ©«Jdµ±JTjªDTÇ V‰N]U"«=ˆU¢SW•Èjb•èÔU%²ÚƒX%*5U"ªc«D§®*‘ÕÄ*Ñ©«Jdµ±JtêªYíA¬•š*Õ1ˆU¢SW•Èjb•èÔU%²ÚƒT%:ôR%²YsT%*rU‰HöV‰Î\U"£=ˆU¢SW•Èjb•èÔU%²ÚƒX%*5U"ªc«D§®*‘ÕÄ*Ñ©«Jdµ±JtêªYíA¬•š*Õ1ˆU¢SW•Èjb•èÔU%²ÚƒX%:uU‰¬ö V‰FÝU"©s«D§®*‘ÕÄ*Ñ©«Jdµ©Jtè¥Jd³æ°JTfªDDÇ V‰N]U"«=ˆU¢SW•Èjb•èÔU%²ÚƒX%*5U"ªc«D§®*‘ÕÄ*Ñ©«Jdµ±JtêªYíA¬•š*Õ1ˆU¢SW•Èjb•èÔU%²ÚƒX%:uU‰¬ö V‰JM•ˆêÄ*Ñ©«Jdµ©Jtè¥Jd³æ°JtæªíA¬•š*Õ1ˆU¢SW•Èjb•èÔU%²ÚƒX%:uU‰¬ö V‰JM•ˆêÄ*Ñ©«Jdµ±JtêªYíA¬ºªDV{«D¥¦JDub•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=ˆU¢RS%¢:©Jtè¥Jd³æ°JtæªíA¬ºªDV{«D¥¦JDub•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=ˆU¢Qw•HêÄ*Ñ©«Jdµ±JtêªYíA¬ºªDV{«DlånW‰øëÐûçx|:¨á9~Ûk„Ÿ^_Nw//\%®3®Jü§ÿ *ñú`Y•lW‰ï>Øq•øñA Jur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ˆU¢AS%’ÙsX%*rU‰HÖW‰ÊL•ˆhr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*ÕÄ*Q¡«JD³æ°J4dªD"{Ž«De¦JD´¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®…zAƒ\%*5U"ª=ÈU¢RS%¢ÚƒX%*tU‰hÖW‰ÆÜU"¡c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ W‰JM•ˆjb•¨ÐU%¢Ys\%*3U"¢=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ˆU¢BW•ˆfÍq•¨ÌT‰ˆö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D¡^«DPç W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•Hœ¨é9R%¾{Žã*ñø9~㻿ÿÆÎù›Æ*qÑïJüû¯¿üôûþ$J¼ü‰Ô%ÞŸÿ>öúûçšÿðk÷p%þú§TÓ§ºyÿ™Žþ”êOžáðO©f±æðO©vfÊKD{ËK¡^ËKPç ——JMy‰jry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢ÚƒX^4å%™=‡å¥"Wy‰dÍqy©Ì”—ˆö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA,/ºÊK4kËKC¦¼$²ç¸¼TfÊKD{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòR¨×òÔ9Èå¥RS^¢Úƒ\^*5å%ª=ˆå¥BWy‰fÍqyiÌ]^:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$ury©Ô”—¨ö –— -]å%š5Çå¥2S^"Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./IƒX^*t•—hÖ——ÊLy‰hry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼êµ¼ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——ÇA */é9R^¾{Žãòòø9~ãû _¾ÿ}ã‘ËËuæÿß÷A^ì/{$|°]%¾û`ÇUâÇ*Ô9ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö V‰M•HfÏa•¨ÈU%"Ys\%*3U"¢=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D…®*ÍšÃ*Ñ©‰ì9®•™*Ñä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹JêµJur•¨ÔT‰¨ö W‰JM•ˆjb•¨ÐU%¢Ys\%sW‰„ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ˆU¢BW•ˆfÍq•¨ÌT‰ˆö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ V‰ -]U"š5ÇU¢2S%"Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®…zAƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU"µr¢J¤çH•øî9Ž«Äãçøïƒ<ÿ£ÀÃýW‰ëŒ~äÿüç?ÿ÷¯¿üûÞy}®¿ä}ð©Öû ß}¦Ã÷A~|†ã÷A¢Xsü>He¦¼D´¹¼êµ¼ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=ˆå¥AS^’ÙsX^*r•—HÖ——ÊLy‰hry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕÄòR¡«¼D³æ°¼4dÊK"{ŽËKe¦¼D´¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./…z-/Aƒ\^*5å%ª=Èå¥RS^¢ÚƒX^*t•—hÖ——ÆÜå%¡cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ ——JMy‰jby©ÐU^¢Ys\^*3å%¢=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ ——JMy‰jry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1ˆå¥BWy‰fÍqy©Ì”—ˆö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK¡^ËKPç ——JMy‰jry©Ô”—¨ö ——JMy‰jryyªò’ž#åå»ç8./Ÿã7–—O§‡—{./×ý>Èÿˆòòú\Iy Ÿj•—ï>ÓayùñŽËKkŽËKe¦¼D´¹¼êµ¼ury©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=ˆå¥AS^’ÙsX^*r•—HÖ——ÊLy‰hry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕÄòR¡«¼D³æ°¼4dÊK"{ŽËKe¦¼D´¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./…z-/Aƒ\^*5å%ª=Èå¥RS^¢ÚƒX^*t•—hÖ——ÆÜå%¡cËK¥¦¼Dµ¹¼TjÊKT{ËK¥¦¼Dµ¹¼4ê./Iƒ\^*5å%ª=Èå¥RS^¢Úƒ\^*5å%ª=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ ——JMy‰jby©ÐU^¢Ys\^*3å%¢=Èå¥QwyIêäòR©)/QíA./•šòÕäòR©)/QíA./ºËKRÇ ——JMy‰jry©Ô”—¨ö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK£îò’Ô1ˆå¥BWy‰fÍqy©Ì”—ˆö ——JMy‰jryiÔ]^’:¹¼TjÊKT{ËK¥¦¼Dµ¹¼TjÊKT{ËK¡^ËKPç ——JMy‰jry©Ô”—¨ö ——JMy‰jryyªò’ž#åå»ç8./Ÿã7þIÜß÷Î?‚°¼\gô;/ÿþ¿ÿ_ÿ÷×üöïû“¸¯ö—ýIÜðÁv•øîƒW‰ªDPç W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢ÚƒX%4U"™=‡U¢"W•ˆdÍq•¨ÌT‰ˆö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA¬ºªD4k«DC¦J$²ç¸JTfªDD{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Q¨×*Ô9ÈU¢RS%¢Úƒ\%*5U"ª=ˆU¢BW•ˆfÍq•hÌ]%:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö V‰ -]U"š5ÇU¢2S%"Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$ur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®IƒX%*tU‰hÖW‰ÊL•ˆhr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹JêµJur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰Ôʉ*‘ž#Uâ»ç8®Ÿã7¾ò{Èuþç;¬×ý>Èÿ*ñú`Y•lW‰ï>Øq•øñA Jur•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ˆU¢AS%’ÙsX%*rU‰HÖW‰ÊL•ˆhr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*ÕÄ*Q¡«JD³æ°J4dªD"{Ž«De¦JD´¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®…zAƒ\%*5U"ª=ÈU¢RS%¢ÚƒX%*tU‰hÖW‰ÆÜU"¡c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ¹J4ê®Iƒ\%*5U"ª=ÈU¢RS%¢Úƒ\%*5U"ª=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ W‰JM•ˆjb•¨ÐU%¢Ys\%*3U"¢=ÈU¢Qw•Hêä*Q©©QíA®•š*Õä*Q©©QíA®º«DRÇ W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D£î*‘Ô1ˆU¢BW•ˆfÍq•¨ÌT‰ˆö W‰JM•ˆjr•hÔ]%’:¹JTjªDT{«D¥¦JDµ¹JTjªDT{«D¡^«DPç W‰JM•ˆjr•¨ÔT‰¨ö W‰JM•ˆjr•Hœ¨é9R%¾{Žã*ñø9~Û»¿ÿ+Û§ó_sªsF¿+ñýùÛþúÇŸùú±K<ÿJæî‰»ÄÇórþ¿?¼{´¿ÀÏÿbï~>Z½ÿh‡ýÚ'rܯ¡:±_sêê×XíAìלºú5V{û5§®~ÕÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=ˆýšSW¿ÆjR¿¦ÐÕ¯¡ÙsÔ¯9òÒ¯1Ysد9sõkŒö ökN]ý«=ˆýšRÓ¯¡:±_sêê×XíAìלºú5V{û5§®~ÕÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=ˆýšSW¿Æjb¿¦Ôôk¨ŽAìלºú5V{û5§®~Õ¤~Í¡—~Íš£~M‘«_C²ç°_sæê×íAìלºú5V{û5§®~ÕÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=ˆýšSW¿Æjb¿¦Ôôk¨ŽAìלºú5V{û5§®~ÕÄ~Í©«_cµ±_3êî×HƒØ¯9uõk¬ö ökN]ý«=HýšC/ý›5‡ýš2Ó¯!:±_sêê×XíAìלºú5V{û5§®~ÕÄ~M©é×PƒØ¯9uõk¬ö ökN]ý«=ˆýšSW¿Æjb¿¦Ôôk¨ŽAìלºú5V{û5§®~ÕÄ~Í©«_cµ±_Sjú5TÇ ökN]ý«=HýšC/ý›5‡ýš3W¿Æhb¿¦Ôôk¨ŽAìלºú5V{û5§®~ÕÄ~Í©«_cµ±_Sjú5TÇ ökN]ý«=ˆýšSW¿Æjb¿æÔÕ¯±ÚƒØ¯)5ýªcû5§®~ÕÄ~Í©«_cµ±_sêê×XíAì×”š~
Õ1HýšC/ý›5‡ýš3W¿Æhb¿æÔÕ¯±ÚƒØ¯)5ýªcû5§®~ÕÄ~Í©«_cµ±_sêê×XíAì׌ºû5Rç ökN]ý«=ˆýšSW¿Æjb¿æÔÕ¯±ÚƒØ¯aSu»_ÃçX‡Þ?ÇãóA¿ÏñÛÞª÷xþóù«Ü¯3úzÿAýÚõÑþ²~
>Úî×Þ}´ã~íãƒ@¿Fêä~M©é×PíAî×”š~
Õä~M©é×PíAî׌ºû5RÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jb¿fÐôkdöökŠ\ý’5Çýš2Ó¯!ڃܯ)5ýª=ÈýšQw¿Fêä~M©é×PíAî×”š~
Õä~M©é×PíAî׌ºû5RÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ±_Sèê×Ь9ì×™~Èžã~M™é×íAî×”š~
Õä~M©é×PíAî׌ºû5RÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5¡^û5Pç ÷kJM¿†jr¿¦Ôôk¨ö ök -]ýš5Çýš1w¿Fèä~M©é×PíAî×”š~
Õä~M©é×PíAî׌ºû5RÇ ÷kJM¿†jr¿¦Ôôk¨ö ÷kJM¿†jr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒØ¯)tõkhÖ÷kÊL¿†hr¿fÔݯ‘:¹_Sjú5T{û5¥¦_Cµ¹_Sjú5T{û5£î~Ô1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~ͨ»_#ub¿¦ÐÕ¯¡Ysܯ)3ý¢=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~
Õä~M©é×PíAî×”š~
Õä~M¨×~
Ô9ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯QS%ú5zŽôkïžã¸_;~Žßøþµ—·ÓóÝ#÷këÌoyÿÚÿøÇo_ù$_»?½¼ÜÊ×îOoßp}²©Ïÿ0|˜¯?*•>Y½ÿd‡Tê'rüG¥²ÚƒøG¥:5©ª=È©žQwªGêäTO©IõPíANõ”šTÕäTO©IõPíANõŒºS=RÇ §zJMª‡jrª§Ô¤z¨ö §zJMª‡jbªgФzdö¦zŠ\©’5Ç©ž2“ê!Úƒœê)5©ª=È©žQwªGêäTO©IõPíANõ”šTÕäTO©IõPíANõŒºS=RÇ §zJMª‡jrª§Ô¤z¨ö §zJMª‡jrªgÔê‘:9ÕSjR=T{S=¥&ÕCµ1ÕSèJõЬ9Lõ™TÈžãTO™IõíANõ”šTÕäTO©IõPíANõŒºS=RÇ §zJMª‡jrª§Ô¤z¨ö §zJMª‡jrªgÔê‘:9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=¡^S=Pç §zJMª‡jrª§Ô¤z¨ö ¦z -]©š5Ç©ž1wªGèäTO©IõPíANõ”šTÕäTO©IõPíANõŒºS=RÇ §zJMª‡jrª§Ô¤z¨ö §zJMª‡jrªgÔê‘:9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£îTÔ1È©žR“ê¡Úƒ˜ê)t¥zhÖ§zÊLª‡hrªgÔê‘:9ÕSjR=T{S=¥&ÕCµ9ÕSjR=T{S=£îTÔ1È©žR“ê¡Úƒœê)5©ª=È©žR“ê¡Úƒœêu§z¤ŽANõ”šTÕäTO©IõPíANõ”šTÕäTϨ;Õ#ubª§Ð•ê¡Ysœê)3©¢=È©žR“ê¡Úƒœêu§z¤ŽANõ”šTÕäTO©IõPíANõ”šTÕäTO¨×TÔ9È©žR“ê¡Úƒœê)5©ª=È©žR“ê¡ÚƒœêQ?&R=zޤzïžã8Õ;~Žßøª¹ç—Óó¥ç;NõÖ™ßòª¹ÿ€TïúdYªŸl§zï>Ùqª÷ñA ÕCµ9ÕSjR=T{S=£îTÔ1È©žR“ê¡Úƒœê)5©ª=È©žR“ê¡Úƒœêu§z¤ŽANõ”šTÕäTO©IõPíANõ”šTÕÄTÏ IõÈì9Lõ¹R=$kŽS=e&ÕC´9ÕSjR=T{S=£îTÔ1È©žR“ê¡Úƒœê)5©ª=È©žR“ê¡Úƒœêu§z¤ŽANõ”šTÕäTO©IõPíANõ”šTÕäTϨ;Õ#urª§Ô¤z¨ö §zJMª‡jbª§Ð•ê¡Ys˜ê2©‘=Ç©ž2“ê!Úƒœê)5©ª=È©žR“ê¡Úƒœêu§z¤ŽANõ”šTÕäTO©IõPíANõ”šTÕäTϨ;Õ#urª§Ô¤z¨ö §zJMª‡jrª§Ô¤z¨ö §zB½¦z ÎANõ”šTÕäTO©IõPíALõºR=4kŽS=cîTÐ1È©žR“ê¡Úƒœê)5©ª=È©žR“ê¡Úƒœêu§z¤ŽANõ”šTÕäTO©IõPíANõ”šTÕäTϨ;Õ#urª§Ô¤z¨ö §zJMª‡jrª§Ô¤z¨ö §zFÝ©©cS=¥&ÕCµ1ÕSèJõЬ9Nõ”™TÑäTϨ;Õ#urª§Ô¤z¨ö §zJMª‡jrª§Ô¤z¨ö §zFÝ©©cS=¥&Õûÿz»›Þº²õºÂÅÍtBˆ<¤D¶7.§c˶‚ Ê)é×ÿ>GuÖ\ç̗܃CJ!½´1ÇÚ¤>XÒƒE¬ö S=U
ÕÃj2ÕSÕP=¬ö S=SÝTªc©žª†êaµ™ê©j¨V{©žª†êaµ™ê™ê¦zTƒHõTtQ=lÖS=ÕÕÃh2ÕSÕP=¬ö S=SÝTªc©žª†êaµ™ê©j¨V{©žª†êaµ™ê‰ê•êAu2ÕSÕP=¬ö S=U
ÕÃj2ÕSÕP=¬ö S=òc‚êÑ9BõnÎqLõŽÏñƒTïñt÷ñÃ=S½õŒ¾UïO_¿þåóo÷Ë—ÿó—Ïú¯ÁÞËéîåñ™ÁÞéñîáûÏ…ëù^ÀŸŽÁÞ†ð~nܼß1Üx}€XíA†¦ºáUÇ Ã
U
ÜÀj2ÜPÕÀ
¬ö Ã
U
ÜÀj2Ü0Õ
7¨:n¨jàV{ᆪn`µn¨jàV{ᆩn¸AÕ1ÈpCU7°Úƒ7T5p«=ˆpCEÜÀfÍ!Ü0ÉÀ
JöÃ
ÕÜÀh2ÜPÕÀ
¬ö Ã
U
ÜÀj2Ü0Õ
7¨:n¨jàV{ᆪn`µn¨jàV{ᆩn¸AÕ1ÈpCU7°Úƒ7T5p«=ÈpCU7°Úƒ7Dõ -7 :n¨jàV{ᆪn`µn¨è‚ج9†¦¹áEÇ Ã
U
ÜÀj2ÜPÕÀ
¬ö Ã
U
ÜÀj2Ü0Õ
7¨:n¨jàV{ᆪn`µn¨jàV{ᆩn¸AÕ1ÈpCU7°Úƒ7T5p«=ÈpCU7°Úƒ7LuÃ
ªŽA†ª¸ÕD¸¡¢n`³æn¨fàF{ᆩn¸AÕ1ÈpCU7°Úƒ7T5p«=ÈpCU7°Úƒ7LuÃ
ªŽA†ª¸Õd¸¡ªXíA†ª¸Õd¸aªnPu2ÜPÕÀ
¬ö Ã
U
ÜÀj2ÜPÕÀ
¬ö Ã
SÝpƒªcᆊ.¸Íšc¸¡šíA†ª¸Õd¸aªnPu2ÜPÕÀ
¬ö Ã
U
ÜÀj2ÜPÕÀ
¬ö Ã
Q½Â
¨ÎA†ª¸Õd¸¡ªXíA†ª¸Õd¸AŽ@À
:GàÆÍ9ŽáÆñ9~ðÛ!ž¾ÿáÃõŒ¾cé„×óýÜ€÷ÛpãæýŽáÆëƒ -M²©-’L¹Û1É&LÅšcü~òŠ‘“cŽ)²IF"S²æØ!›d2%k޲IÆ S²æX ‹äÈì9æÇ&}LÉšc{l’¡Ç”¬9†Ç&wLÉšcu,’C²ç˜›dÄ1%k޽±I†S²æ›d¬1%k¥±(C°Æ›ÞRÆÔ»ccl‚!ÆT¬9Æ&_LÉšc],’C²ç˜›dd1%kŽ]±I†S²æ›dL1%kŽE±HnPÉžcNl’ÑÄ”¬9¶Ä&JLÉšcHl’qÄ”¬9VÄ"¹1${Ž ±IFS²æØ›dø0%kñ°).;LÁÛ1”â8½c6l‚QÃT¬96Ã&2LÉšc0l’ñ”¬9ÖÂ"¹±0${Ž©°IF -S²æØ ›d˜0%kŽ‘°IÆS²æX‹äÂì9æÁ&LÉšcl’¡Á”¬9†Á&LÉšcü~òŠ‚“cŽI°IFS²æØ›d80%k1°).LÁÛ1–À"¸!0{ްIFS²æØ -§êd®ªqáXíA–᪎Õd®ªÑáXíAöᦺ8UÇ qUÇj²WÕ0q¬ö CqUÇj²7ÕÅ©:™‹«j¼8V{ŸŠ.2ŽÍšc4®šQãíAv㦺á8UÇ ÓqUÇj²WÕðq¬ö rU Çj²!7ÕÈ©:™‘«j9V{%¹ª†’cµ“«j49V{=¹©nPNÕ1Ȥ\Ucʱڃ¬ÊU5¬«=Ȱ\U#˱ڃlËMuãrªŽAäå*º|96kŽ…¹j†˜c´™«j”9V{¹©nhNÕ1ÈÔ\Ucͱڃ¬ÍU5Ü«=Èà\U#αڃlÎEõŠÎ¡:™«jÜ9V{幪†žcµŸ«jô9V{ý9iÐéè7ç8&èÇçøýŸ^_¾ÿà ôóW§ßÝùÿÛ?œžß6èë¡<Ãý´„ùøüÛ·/ÿøåïÿüíóúòõÛkŽþ|:ÿ®üœ§ÿ÷Ÿ¿~}ËwÞŸîÿææp¯o‡þŽh8ú&Ÿðr›|Þ¼Üù|}ŒCò‰ÅÛ1$Ÿ*¸È'kŽÉ§j†|b´™|Šê•|Bu2ùTÕO¬ö “OU
ùÄj2ùTÕO¬ö “OSÝ䓪cɧª†|bµ™|ªjÈ'V{ɧª†|bµ™|šê&ŸTƒL>U5ä«=ÈäSUC>±ÚƒL>U5ä«=ˆäÓDC>©ÙsH>Ur‘OLÖ“OÕùÄh2ùTÕO¬ö “OSÝ䓪cɧª†|bµ™|ªjÈ'V{ɧª†|bµ™|šê&ŸTƒL>U5ä«=ÈäSUC>±ÚƒL>U5ä«=ÈäÓT7ù¤êdò©ª!ŸXíA&Ÿªò‰ÕDò©¢‹|b³æ|šdÈ'%{ŽÉ§j†|b´™|ªjÈ'V{ɧª†|bµ™|šê&ŸTƒL>U5ä«=ÈäSUC>±ÚƒL>U5ä«=ÈäÓT7ù¤êdò©ª!ŸXíA&Ÿªò‰Õdò©ª!ŸXíA&Ÿ¢z%ŸPƒL>U5ä«=ÈäSUC>±ÚƒH>Ut‘OlÖ“OÓÜä“¢cɧª†|bµ™|ªjÈ'V{ɧª†|bµ™|šê&ŸTƒL>U5ä«=ÈäSUC>±ÚƒL>U5ä«=ÈäÓT7ù¤êdò©ª!ŸXíA&Ÿªò‰Õdò©ª!ŸXíA&Ÿ¦ºÉ'UÇ “OU
ùÄj"ùTÑE>±YsL>U3ä£=ÈäÓT7ù¤êdò©ª!ŸXíA&Ÿªò‰Õdò©ª!ŸXíA&Ÿ¦ºÉ'UÇ “OU
ùÄj2ùTÕO¬ö “OU
ùÄj2ù4ÕM>©:™|ªjÈ'V{ɧª†|bµ™|ªjÈ'V{ɧ©nòIÕ1ˆäSEùÄfÍ1ùTÍOŒö “OU
ùÄj2ù4ÕM>©:™|ªjÈ'V{ɧª†|bµ™|ªjÈ'V{ɧ¨^É'Tç “OU
ùÄj2ùTÕO¬ö “OU
ùÄj2ù<FˆŠ|Ò9B>oÎqL>Ï1®~xçÚáûÇó‹}äk‡×3W¢ùïž>ü»ÿúÛ¯ß~ýöoÿòù5Ù|ºÜC|3þšl>ÿÿî€l>=ß=îùpyèöpoÜ |÷ááþƒ¼qƒðåY®ŽÁƒêéîéþAV/ϾSíÁƒê÷+•mõòì;Õä;šU5w4cµùŽfSÝw4Suòͪš;š±Úƒ|G³ªæŽf¬ö ßѬª¹£«=Èw4›ê¾£™ªcïhVÕÜÑŒÕä;šU5w4cµùŽfUÍÍXíA¾£ÙT7اê$°¯š°ÅÛ1û*¸À>kŽÁ¾jìc´ì‹êìCu2ØWÕ€}¬ö ƒ}U
ØÇj2ØWÕ€}¬ö ƒ}SÝ`ŸªcÁ¾ªìcµì«jÀ>V{Á¾ªìcµì›êûTƒöU5`«=È`_Uö±ÚƒöU5`«=ˆ`ßDö©ÙsöUr}LÖƒ}ÕØÇh2ØWÕ€}¬ö ƒ}SÝ`ŸªcÁ¾ªìcµì«jÀ>V{Á¾ªìcµì›êûTƒöU5`«=È`_Uö±ÚƒöU5`«=È`ßT7اêd°¯ªûXíAûª°ÕD°¯¢ìc³æì›dÀ>%{ŽÁ¾jìc´ì«jÀ>V{Á¾ªìcµì›êûTƒöU5`«=È`_Uö±ÚƒöU5`«=È`ßT7اêd°¯ªûXíAûª°Õd°¯ªûXíAû¢zûPƒöU5`«=È`_Uö±ÚƒöUt}lÖƒ}ÓÜ`Ÿ¢cÁ¾ªìcµì«jÀ>V{Á¾ªìcµì›êûTƒöU5`«=È`_Uö±ÚƒöU5`«=È`ßT7اêd°¯ªûXíAûª°Õd°¯ªûXíAû¦ºÁ>UÇ ƒ}U
ØÇj"ØWÑö±YsöU3`£=È`ßT7اêd°¯ªûXíAûª°Õd°¯ªûXíAû¦ºÁ>UÇ ƒ}U
ØÇj2ØWÕ€}¬ö ƒ}U
ØÇj2Ø7Õ
ö©:ì«jÀ>V{Á¾ªìcµì«jÀ>V{Á¾©n°OÕ1ˆ`_EØÇfÍ1ØWÍ€}Œö ƒ}U
ØÇj2Ø7Õ
ö©:ì«jÀ>V{Á¾ªìcµì«jÀ>V{Á¾¨^Á>Tç ƒ}U
ØÇj2ØWÕ€}¬ö ƒ}U
ØÇj2Ø?&è -ìÓ9öoÎqöÏ1Àþý;`ÿÃýÝýé‰Áþz†ïh~X·.ýüí|þíë—_y}=óÓÇóàËzð?þöÏ¿þÃk‚øñîéû¿X^öú#ý|:ÞÏ•/¶UâÍ‹«ÄוÕ9È*QU£±Úƒ¬U5*«=È*QU£±Úƒ¬Mu«DªŽAV‰ª•ˆÕd•¨ªQ‰XíAV‰ª•ˆÕd•hª[%Ru²JTÕ¨D¬ö «DUJÄj²JTÕ¨D¬ö ªDJ¤fÏ¡JTÉ¥1Ys¬U3*£=È*QU£±Úƒ¬Mu«DªŽAV‰ª•ˆÕd•¨ªQ‰XíAV‰ª•ˆÕd•hª[%Ru²JTÕ¨D¬ö «DUJÄj²JTÕ¨D¬ö «DSÝ*‘ªcU¢ªF%bµY%ªjT"V{U¢Š.•ˆÍšC•h’Q‰”ì9V‰ª•ˆÑd•¨ªQ‰XíAV‰ª•ˆÕd•hª[%Ru²JTÕ¨D¬ö «DUJÄj²JTÕ¨D¬ö «DSÝ*‘ªcU¢ªF%bµY%ªjT"V{U¢ªF%bµY%ŠêU%Bu²JTÕ¨D¬ö «DUJÄj¢JTÑ¥±Ys¬Ms«DŠŽAV‰ª•ˆÕd•¨ªQ‰XíAV‰ª•ˆÕd•hª[%Ru²JTÕ¨D¬ö «DUJÄj²JTÕ¨D¬ö «DSÝ*‘ªcU¢ªF%bµY%ªjT"V{U¢ªF%bµY%šêV‰Tƒ¬U5*«=ˆ*QE—JÄfͱJTͨDŒö «DSÝ*‘ªcU¢ªF%bµY%ªjT"V{U¢ªF%bµY%šêV‰Tƒ¬U5*«=È*QU£±Úƒ¬U5*«=È*ÑT·J¤êd•¨ªQ‰XíAV‰ª•ˆÕd•¨ªQ‰XíAV‰¦ºU"UÇ ªD]*›5Ç*Q5£1Úƒ¬U5*«=È*ÑT·J¤êd•¨ªQ‰XíAV‰ª•ˆÕd•¨ªQ‰XíAV‰¢zU‰Pƒ¬U5*«=È*QU£±Úƒ¬U5*«=È*‘¬œP‰tލěsœ>©ÄãsüØ5Â÷ÏÏçß#O¨óŒS‰ÿôǨěƒý”J¤ËC·/v¨ß8ȱJ¤êD•èªK%rµQ%ºêR‰\íAT‰®ºT"W{U¢ªF%bu¢JtÕ¥¹Úƒ¨]u©D®ö ªDW]*‘«=ˆ*QU£±:Q%ºêR‰\íAT‰®ºT"W{U¢«.•ÈÕ$•¨¢K%b³çH%ºäE%r²æP%ºæR‰íAT‰®ºT"W{U¢ªF%bu¢JtÕ¥¹Úƒ¨]u©D®ö ªDW]*‘«=ˆ*QU£±:Q%ºêR‰\íAT‰®ºT"W{U¢«.•ÈÕD•¨ªQ‰Xƒ¨]u©D®ö ªDW]*‘«=H*ÑE/*‘›5G*Q%—JÄdÏ¡JtÍ¥9Úƒ¨]u©D®ö ªDW]*‘«=ˆ*QU£±:Q%ºêR‰\íAT‰®ºT"W{U¢«.•ÈÕD•¨ªQ‰Xƒ¨]u©D®ö ªDW]*‘«=ˆ*ÑU—Jäj¢J4Õ©:Q%ºêR‰\íAT‰®ºT"W{T¢‹^T"7kU¢jF%bt¢JtÕ¥¹Úƒ¨]u©D®ö ªDW]*‘«=ˆ*QU£±:Q%ºêR‰\íAT‰®ºT"W{U¢«.•ÈÕD•¨ªQ‰Xƒ¨]u©D®ö ªDW]*‘«=ˆ*ÑU—Jäj¢JTÕ¨D¬ŽAT‰®ºT"W{T¢‹^T"7kU¢k.•ÈÑD•¨ªQ‰Xƒ¨]u©D®ö ªDW]*‘«=ˆ*ÑU—Jäj¢JTÕ¨D¬ŽAT‰®ºT"W{U¢«.•ÈÕD•èªK%rµQ%ªjT"VÇ ªDW]*‘«=ˆ*ÑU—Jäj¢JtÕ¥¹Úƒ¨U5*«cT¢‹^T"7kU¢k.•ÈÑD•èªK%rµQ%ªjT"VÇ ªDW]*‘«=ˆ*ÑU—Jäj¢JtÕ¥¹Úƒ¨Mu«DªÎAT‰®ºT"W{U¢«.•ÈÕD•èªK%rµQ%¢•{_%â9ÖC·ç8T‰pŽ»+ñþû|§V‰ë}W⟾~ýËçßÞ@‰—ïHÍ(ñþüûØóßÜœkþá÷8B‰¿—jz«Ë#·ïtô]ªß8Ãáw©æbÍáw©vÍÈKŒö ËKQ½ÊK¨ÎA–—ªy‰Õdy©ª‘—XíA–—ªy‰Õdyiª[^Ru²¼TÕÈK¬ö ËKU¼Äj²¼TÕÈK¬ö ËKSÝò’ªc奪F^bµY^ªjä%V{奪F^bµQ^šhä%5{å¥J.y‰Éšcy©š‘—íA–—ªy‰Õdyiª[^Ru²¼TÕÈK¬ö ËKU¼Äj²¼TÕÈK¬ö ËKSÝò’ªc奪F^bµY^ªjä%V{奪F^bµY^šê–—Tƒ,/U5ò«=ÈòRU#/±Úƒ(/UtÉKlÖÊK“Œ¼¤dϱ¼TÍÈKŒö ËKU¼Äj²¼TÕÈK¬ö ËKSÝò’ªc奪F^bµY^ªjä%V{奪F^bµY^šê–—Tƒ,/U5ò«=ÈòRU#/±Úƒ,/U5ò«=ÈòRT¯òªs奪F^bµY^ªjä%V{奊.y‰Íšcyiš[^Rt²¼TÕÈK¬ö ËKU¼Äj²¼TÕÈK¬ö ËKSÝò’ªc奪F^bµY^ªjä%V{奪F^bµY^šê–—Tƒ,/U5ò«=ÈòRU#/±Úƒ,/U5ò«=ÈòÒT·¼¤êdy©ª‘—XíA”—*ºä%6kŽå¥jF^b´Y^šê–—Tƒ,/U5ò«=ÈòRU#/±Úƒ,/U5ò«=ÈòÒT·¼¤êdy©ª‘—XíA–—ªy‰Õdy©ª‘—XíA–—¦ºå%UÇ ËKU¼Äj²¼TÕÈK¬ö ËKU¼Äj²¼4Õ-/©:Q^ªè’—ج9–—ªy‰Ñdy©ª‘—XíA–—¦ºå%UÇ ËKU¼Äj²¼TÕÈK¬ö ËKU¼Äj²¼Õ«¼„êdy©ª‘—XíA–—ªy‰Õdy©ª‘—XíA–—Ç PÉK:GäåÍ9Žååñ9~ð>Èó—QÏ//èÛ ÿw¹Oõ3ìòø•–º¼¾Ð!º|u€csI¹Û1—&pIÅšcnù~òª-“cŽ¥I†ZR²æZšdœ%%kŽ•¥IYR²æ˜XŠä–ì9ö•&^IÉšc\i’±•”¬9–•&XIÉšcV)’[UB²çØTšdH%%kŽA¥IÆSR²æXSšd0%%k)¥(FRB°ÆÐQšÞb”Ô»cDi‚1”T¬9”&@IÉšc>)’[OB²çØNšdè$%kŽá¤IÆMR²æXMšdÐ$%kŽÉ¤Hn1 Éžc/i’á’”¬9Æ’&+IÉšc)i’’”¬9f’"¹•$${ޤI†HR²æHšd|$%ku¤).IÁÛ1¤‘¢ ½ci‚a‘T¬9F‘&IÉšci’‘”¬9æ"¹5$${Ž-¤I†BR²æBšd$%kޤIAR²æ˜@Šäì9ö&þHÉšcüh’±”¬9–&øHÉšcöø~òª“cŽÍ£I†<R²æ<šd¼#%kµ£).ìHÁÛ1¦Ž"¸¥#{Ž£I†9R²æ9šdŒ#%kŽ…£I8R²æ˜7ŠäÖì9¶&ÚHÉšcØh’q”¬9V&ÔHÉšcÒ(’[4B²çØ3šd8#%kŽ1£IÆ2R²æX2šd #%kŽ£HnÅÉžcÃh’!Œ”¬9Œ¦¸ü"oÇX/š`ð"kŽé¢Hn¹Éžc·h’a‹”¬9F‹&³HÉšc±h’‹”¬9æŠ"¹µ"${Ž¢I†*R²æ*šdœ"%kŽ•¢I)R²æ˜(ŠäŠì9ö‰&žHÉšcœh’±‰”¬9–‰&˜HÉšc–(’[%B²çÐ$šâ"‰¼ch‚ñˆT¬9Öˆ&ŒHÉšcŠ(’["B²çØ!šd"%kŽ¢IÆ R²æX šd -«=È2JUC£°ÚƒŒ£Luë(ªŽAöQª …Õd"¥ª1RXíATR*º˜6k¡”IFJQ²çØJ©f°F{¹”ªÆKaµYL©jÈV{Ñ”©n5EÕ1ÈnJU§°ÚƒL§T5v -«=ÈzJUç°Úƒ¨Lu*ªŽA6TªD…ÕdF¥ªqTXíA–TªJ…ÕdL%ªWMÕ9ÈžJUª°ÚƒLªT5¦ -«=ˆªJE«ÂfÍ1¬2Í-«(:ÙV©jpV{y•ªÆWaµYX©jˆV{‘•©neEÕ1ÈÎJU°ÚƒLT5Ö -«=ÈÚJUðڃ®Lu‹+ªŽA6Wªt…Õdv¥ªqWXíA–Wªz…Õd|eª[_Qu²¿RÕ -K5ð0Úƒ±LuK,ªŽA¶XªŒ…ÕdŽ¥ªñXXíAYª’…Õd”eª[eQu²ËRÕÀ,¬ö Ó,UÍÂj²ÎRÕð,¬ö -SÝB‹ªc–ªiaµ™i©jœV{¥–ª†jaµk™êÖZTƒèµTt-lÖ“-ÕŒÙÂh²ÚRÕ°-¬ö Ã-SÝr‹ªcí–ªoaµ™o©jüV{—ª†paµq‰êUqAu²ãRÕ@.¬ö S.UåÂj²æRÕp.¬ö ƒ®cg¤D#¤ëæÇ¦ëø?ˆºNïNŸÞ¹Dn=£¿{ïùü×o꺞íçP¼ÛF]7ïvŒº^PV{Q—ªuaµu™êF]TƒŒºT5¨«=ȨKUƒº°ÚƒŒºT5¨«=ˆ¨ËDƒº¨ÙsˆºTr¡.LÖ£.ÕêÂh2êRÕ .¬ö £.Sݨ‹ªcQ—ªuaµu©jPV{Q—ªuaµu™êF]TƒŒºT5¨«=ȨKUƒº°ÚƒŒºT5¨«=ȨËT7ê¢êdÔ¥ªA]XíAF]ªÔ…ÕDÔ¥¢ua³æu™dP%{ŽQ—jua´u©jPV{Q—ªuaµu™êF]TƒŒºT5¨«=ȨKUƒº°ÚƒŒºT5¨«=ȨËT7ê¢êdÔ¥ªA]XíAF]ªÔ…ÕdÔ¥ªA]XíAF]¢zE]PƒŒºT5¨«=ȨKUƒº°ÚƒˆºTt¡.lÖ£.Óܨ‹¢cQ—ªuaµu©jPV{Q—ªuaµu™êF]TƒŒºT5¨«=ȨKUƒº°ÚƒŒºT5¨«=ȨËT7ê¢êdÔ¥ªA]XíAF]ªÔ…ÕdÔ¥ªA]XíAF]¦ºQUÇ £.U
êÂj"êRÑ…º°YsŒºT3¨£=ȨËT7ê¢êdÔ¥ªA]XíAF]ªÔ…ÕdÔ¥ªA]XíAF]¦ºQUÇ £.U
êÂj2êRÕ .¬ö £.U
êÂj2ê2Õº¨:u©jPV{Q—ªuaµu©jPV{Q—©nÔEÕ1ˆ¨KEêÂfÍ1êRÍ .Œö £.U
êÂj2ê2Õº¨:u©jPV{Q—ªuaµu©jPV{Q—¨^QTç £.U
êÂj2êRÕ .¬ö £.U
êÂj2ê:vF -uÑ9‚ºnÎqŒºŽÏñƒßôát÷x>¢®õŒ¾©ëB]׳ýê‚wÛ¨ëæÝŽQ×ëƒ -uÑ9‚ºnÎqŒºŽÏñc7uR?=œÐtGô=]麞ì§D¼Xž¹y±CÏõúÇœ“5‡˜K%—åÂdÍ¡ä2É@.Jö2.•\Š“5‡†K%áÂdÍ!àRÉå·0Ys¤·Lqá- -ÖÑ-Õ»È-ìÝŽ¡ÛRÁŶ°Xsˆ¶Tr™-LÖŠ-“Ø¢dÏ!×RÉ¥µ0YshµTrQ-LÖB-•\N“5‡JË$ƒ´(ÙsH´Tr -LÖú,•\<“5‡8K%—ÍÂdÍ¡Ì2ÉÀ,Jö²,•\*“5‡&K%ÉÂdÍÈRÅ‹ÇÂàíi,Ó[‹z5†K—ÄÂbÍ¡ÃRÉŰ0Ysˆ°Tr,LÖ -,“À¢dÏ!¿RÉ¥¯0Ysh¯TrÑ+LÖÂ+•\î -“5‡êÊ$ƒ®(ÙsH®Tr‰+LÖz+•\Ü -“5‡ØJ%—µÂdÍ¡´É
9æY©äRV˜¬94V*¹ˆ&kŽ€•*^|oÇPW™`p{i•J.Y…ÉšCW¥’‹Ua²æU©ä2U˜¬9U&PEÉžCN¥’KSa²æÐR©ä¢T˜¬9„T*¹&k•IQQ²çP©äT˜¬9ôS*¹ø&kñ”J.;…ÉšC9e’S”ì9dS*¹Ô&kŽÌ”*^ÈoÇL©àòRX¬9ÔR&,EÉžC*¥’KJa²æÐI©äbR˜¬9DR*¹Œ&k…”IHQ²çG©äÒQ˜¬9´Q*¹h&ka”J.…ÉšCe’AQ”ì9$Q*¹D&k=”J.…ÉšC¥’ËBa²æPB™d %{Ž”*^oÇÐ@©à"PX¬9P*¹ü&kõ“I?Q²ç>©ä’O˜¬9tO*¹Ø&kÑ“J.ó„ÉšCñ$’<ArÌ!wRÉ¥0YshTrQ'LÖB'•\Î “5‡Êé˜ÞäD‡XÏÜâ8âüEûËÝÓ÷¿Ä{|>ÿ¡ñöÕVŸîï>~ÿ=ëîùþÓ>Í÷ŸÍ}šç¿Y|?Í¿~ùrpœëNRÿA”®]endstream -endobj -1820 0 obj << -/Type /Page -/Contents 1821 0 R -/Resources 1819 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1927 0 R -/Annots [ 1823 0 R 1824 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R ] ->> endobj -1823 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 757.858 236.333 764.801] -/Subtype /Link -/A << /S /GoTo /D (2203) >> ->> endobj -1824 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 757.858 521.32 764.801] -/Subtype /Link -/A << /S /GoTo /D (2203) >> ->> endobj -1825 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 742.938 257.982 751.849] -/Subtype /Link -/A << /S /GoTo /D (2207) >> ->> endobj -1826 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 742.938 521.32 751.849] -/Subtype /Link -/A << /S /GoTo /D (2207) >> ->> endobj -1827 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 731.094 285.788 738.898] -/Subtype /Link -/A << /S /GoTo /D (2222) >> ->> endobj -1828 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 731.094 521.32 738.898] -/Subtype /Link -/A << /S /GoTo /D (2222) >> ->> endobj -1829 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 717.784 252.473 725.947] -/Subtype /Link -/A << /S /GoTo /D (2227) >> ->> endobj -1830 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 717.784 521.32 725.947] -/Subtype /Link -/A << /S /GoTo /D (2227) >> ->> endobj -1831 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 704.084 257.982 712.995] -/Subtype /Link -/A << /S /GoTo /D (2231) >> ->> endobj -1832 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 704.084 521.32 712.995] -/Subtype /Link -/A << /S /GoTo /D (2231) >> ->> endobj -1833 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 692.24 285.788 700.044] -/Subtype /Link -/A << /S /GoTo /D (2259) >> ->> endobj -1834 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 692.24 521.32 700.044] -/Subtype /Link -/A << /S /GoTo /D (2259) >> ->> endobj -1835 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 680.149 258.889 687.092] -/Subtype /Link -/A << /S /GoTo /D (2270) >> ->> endobj -1836 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 680.149 521.32 687.092] -/Subtype /Link -/A << /S /GoTo /D (2270) >> ->> endobj -1837 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 665.979 258.889 674.141] -/Subtype /Link -/A << /S /GoTo /D (2276) >> ->> endobj -1838 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 665.979 521.32 674.141] -/Subtype /Link -/A << /S /GoTo /D (2276) >> ->> endobj -1839 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 654.247 241.713 661.189] -/Subtype /Link -/A << /S /GoTo /D (2280) >> ->> endobj -1840 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 654.247 521.32 661.189] -/Subtype /Link -/A << /S /GoTo /D (2280) >> ->> endobj -1841 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 639.327 257.982 648.238] -/Subtype /Link -/A << /S /GoTo /D (2284) >> ->> endobj -1842 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 639.327 521.32 648.238] -/Subtype /Link -/A << /S /GoTo /D (2284) >> ->> endobj -1843 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 627.483 285.788 635.287] -/Subtype /Link -/A << /S /GoTo /D (2321) >> ->> endobj -1844 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 627.483 521.32 635.287] -/Subtype /Link -/A << /S /GoTo /D (2321) >> ->> endobj -1845 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 615.392 269.648 622.335] -/Subtype /Link -/A << /S /GoTo /D (2331) >> ->> endobj -1846 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 615.392 521.32 622.335] -/Subtype /Link -/A << /S /GoTo /D (2331) >> ->> endobj -1847 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 602.441 258.889 609.384] -/Subtype /Link -/A << /S /GoTo /D (2335) >> ->> endobj -1848 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 602.441 521.32 609.384] -/Subtype /Link -/A << /S /GoTo /D (2335) >> ->> endobj -1849 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 588.27 258.889 596.432] -/Subtype /Link -/A << /S /GoTo /D (2340) >> ->> endobj -1850 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 588.27 521.32 596.432] -/Subtype /Link -/A << /S /GoTo /D (2340) >> ->> endobj -1851 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 575.319 285.788 583.481] -/Subtype /Link -/A << /S /GoTo /D (2344) >> ->> endobj -1852 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 575.319 521.32 583.481] -/Subtype /Link -/A << /S /GoTo /D (2344) >> ->> endobj -1853 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 562.367 296.548 570.529] -/Subtype /Link -/A << /S /GoTo /D (2348) >> ->> endobj -1854 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 562.367 521.32 570.529] -/Subtype /Link -/A << /S /GoTo /D (2348) >> ->> endobj -1855 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 550.635 264.269 557.578] -/Subtype /Link -/A << /S /GoTo /D (2352) >> ->> endobj -1856 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 550.635 521.32 557.578] -/Subtype /Link -/A << /S /GoTo /D (2352) >> ->> endobj -1857 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 537.684 269.648 544.627] -/Subtype /Link -/A << /S /GoTo /D (2359) >> ->> endobj -1858 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 537.684 521.32 544.627] -/Subtype /Link -/A << /S /GoTo /D (2359) >> ->> endobj -1859 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 524.732 268.612 531.675] -/Subtype /Link -/A << /S /GoTo /D (2365) >> ->> endobj -1860 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 524.732 521.32 531.675] -/Subtype /Link -/A << /S /GoTo /D (2365) >> ->> endobj -1861 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 509.812 257.982 518.724] -/Subtype /Link -/A << /S /GoTo /D (2372) >> ->> endobj -1862 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 509.812 521.32 518.724] -/Subtype /Link -/A << /S /GoTo /D (2372) >> ->> endobj -1863 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 498.829 296.548 505.772] -/Subtype /Link -/A << /S /GoTo /D (2461) >> ->> endobj -1864 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 498.829 521.32 505.772] -/Subtype /Link -/A << /S /GoTo /D (2461) >> ->> endobj -1865 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 484.659 296.548 492.821] -/Subtype /Link -/A << /S /GoTo /D (2466) >> ->> endobj -1866 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 484.659 521.32 492.821] -/Subtype /Link -/A << /S /GoTo /D (2466) >> ->> endobj -1867 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 472.927 291.168 479.869] -/Subtype /Link -/A << /S /GoTo /D (2470) >> ->> endobj -1868 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 472.927 521.32 479.869] -/Subtype /Link -/A << /S /GoTo /D (2470) >> ->> endobj -1869 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 458.756 296.548 466.918] -/Subtype /Link -/A << /S /GoTo /D (2475) >> ->> endobj -1870 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 458.756 521.32 466.918] -/Subtype /Link -/A << /S /GoTo /D (2475) >> ->> endobj -1871 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 447.024 291.168 453.967] -/Subtype /Link -/A << /S /GoTo /D (2479) >> ->> endobj -1872 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 447.024 521.32 453.967] -/Subtype /Link -/A << /S /GoTo /D (2479) >> ->> endobj -1873 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 432.853 291.168 441.015] -/Subtype /Link -/A << /S /GoTo /D (2485) >> ->> endobj -1874 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 432.853 521.32 441.015] -/Subtype /Link -/A << /S /GoTo /D (2485) >> ->> endobj -1875 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 419.901 296.548 428.064] -/Subtype /Link -/A << /S /GoTo /D (2489) >> ->> endobj -1876 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 419.901 521.32 428.064] -/Subtype /Link -/A << /S /GoTo /D (2489) >> ->> endobj -1877 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 406.95 296.548 415.112] -/Subtype /Link -/A << /S /GoTo /D (2495) >> ->> endobj -1878 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 406.95 521.32 415.112] -/Subtype /Link -/A << /S /GoTo /D (2495) >> ->> endobj -1879 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 395.218 307.307 402.161] -/Subtype /Link -/A << /S /GoTo /D (2499) >> ->> endobj -1880 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 395.218 521.32 402.161] -/Subtype /Link -/A << /S /GoTo /D (2499) >> ->> endobj -1881 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 381.047 307.307 389.209] -/Subtype /Link -/A << /S /GoTo /D (2514) >> ->> endobj -1882 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 381.047 521.32 389.209] -/Subtype /Link -/A << /S /GoTo /D (2514) >> ->> endobj -1883 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 369.315 301.927 376.258] -/Subtype /Link -/A << /S /GoTo /D (2519) >> ->> endobj -1884 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 369.315 521.32 376.258] -/Subtype /Link -/A << /S /GoTo /D (2519) >> ->> endobj -1885 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 355.144 301.927 363.307] -/Subtype /Link -/A << /S /GoTo /D (2525) >> ->> endobj -1886 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 355.144 521.32 363.307] -/Subtype /Link -/A << /S /GoTo /D (2525) >> ->> endobj -1887 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 342.193 334.206 350.355] -/Subtype /Link -/A << /S /GoTo /D (2530) >> ->> endobj -1888 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 342.193 521.32 350.355] -/Subtype /Link -/A << /S /GoTo /D (2530) >> ->> endobj -1889 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 329.241 334.206 337.404] -/Subtype /Link -/A << /S /GoTo /D (2536) >> ->> endobj -1890 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 329.241 521.32 337.404] -/Subtype /Link -/A << /S /GoTo /D (2536) >> ->> endobj -1891 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 316.29 339.586 324.452] -/Subtype /Link -/A << /S /GoTo /D (2540) >> ->> endobj -1892 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 316.29 521.32 324.452] -/Subtype /Link -/A << /S /GoTo /D (2540) >> ->> endobj -1893 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 303.339 339.586 311.501] -/Subtype /Link -/A << /S /GoTo /D (2546) >> ->> endobj -1894 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 303.339 521.32 311.501] -/Subtype /Link -/A << /S /GoTo /D (2546) >> ->> endobj -1895 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 291.607 312.687 298.549] -/Subtype /Link -/A << /S /GoTo /D (2550) >> ->> endobj -1896 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 291.607 521.32 298.549] -/Subtype /Link -/A << /S /GoTo /D (2550) >> ->> endobj -1897 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 277.436 312.687 285.598] -/Subtype /Link -/A << /S /GoTo /D (2556) >> ->> endobj -1898 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 277.436 521.32 285.598] -/Subtype /Link -/A << /S /GoTo /D (2556) >> ->> endobj -1899 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 264.484 264.269 272.646] -/Subtype /Link -/A << /S /GoTo /D (2562) >> ->> endobj -1900 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 264.484 521.32 272.646] -/Subtype /Link -/A << /S /GoTo /D (2562) >> ->> endobj -1901 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 251.533 275.028 259.695] -/Subtype /Link -/A << /S /GoTo /D (2570) >> ->> endobj -1902 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 251.533 521.32 259.695] -/Subtype /Link -/A << /S /GoTo /D (2570) >> ->> endobj -1903 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 238.581 264.269 246.744] -/Subtype /Link -/A << /S /GoTo /D (2575) >> ->> endobj -1904 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 238.581 521.32 246.744] -/Subtype /Link -/A << /S /GoTo /D (2575) >> ->> endobj -1905 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 226.849 290.131 233.792] -/Subtype /Link -/A << /S /GoTo /D (2583) >> ->> endobj -1906 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 226.849 521.32 233.792] -/Subtype /Link -/A << /S /GoTo /D (2583) >> ->> endobj -1907 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 211.929 257.982 220.841] -/Subtype /Link -/A << /S /GoTo /D (2590) >> ->> endobj -1908 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 211.929 521.32 220.841] -/Subtype /Link -/A << /S /GoTo /D (2590) >> ->> endobj -1909 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 200.946 296.548 207.889] -/Subtype /Link -/A << /S /GoTo /D (2642) >> ->> endobj -1910 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 200.946 521.32 207.889] -/Subtype /Link -/A << /S /GoTo /D (2642) >> ->> endobj -1911 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 186.776 296.548 194.938] -/Subtype /Link -/A << /S /GoTo /D (2647) >> ->> endobj -1912 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 186.776 521.32 194.938] -/Subtype /Link -/A << /S /GoTo /D (2647) >> ->> endobj -1913 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 175.044 291.168 181.986] -/Subtype /Link -/A << /S /GoTo /D (2651) >> ->> endobj -1914 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 175.044 521.32 181.986] -/Subtype /Link -/A << /S /GoTo /D (2651) >> ->> endobj -1915 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 160.873 291.168 169.035] -/Subtype /Link -/A << /S /GoTo /D (2656) >> ->> endobj -1916 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 160.873 521.32 169.035] -/Subtype /Link -/A << /S /GoTo /D (2656) >> ->> endobj -1917 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 147.921 312.687 156.084] -/Subtype /Link -/A << /S /GoTo /D (2660) >> ->> endobj -1918 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 147.921 521.32 156.084] -/Subtype /Link -/A << /S /GoTo /D (2660) >> ->> endobj -1919 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 134.97 312.687 143.132] -/Subtype /Link -/A << /S /GoTo /D (2664) >> ->> endobj -1920 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 134.97 521.32 143.132] -/Subtype /Link -/A << /S /GoTo /D (2664) >> ->> endobj -1921 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 122.018 312.687 130.181] -/Subtype /Link -/A << /S /GoTo /D (2669) >> ->> endobj -1922 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 122.018 521.32 130.181] -/Subtype /Link -/A << /S /GoTo /D (2669) >> ->> endobj -1923 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 110.286 312.687 117.229] -/Subtype /Link -/A << /S /GoTo /D (2674) >> ->> endobj -1924 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 110.286 521.32 117.229] -/Subtype /Link -/A << /S /GoTo /D (2674) >> ->> endobj -1925 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 96.116 312.687 104.278] -/Subtype /Link -/A << /S /GoTo /D (2680) >> ->> endobj -1926 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 96.116 521.32 104.278] -/Subtype /Link -/A << /S /GoTo /D (2680) >> ->> endobj -1822 0 obj << -/D [1820 0 R /XYZ 71.731 778.968 null] ->> endobj -1819 0 obj << -/Font << /F26 1184 0 R /F33 1203 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -1982 0 obj << -/Length 29763 -/Filter /FlateDecode ->> -stream -xÚ´ÝM“dÙy]é9E
©Bñ‘C ”ÚØlÉh4jëAH’%¨¶ªñïÛ³üìã¾ßˆ»beÉdˆf¸ØÏõt²"³îº'ï¾»=ý¿»ï^în^NÿßËëͧç×ï~ÿ¯uûÝ?Ÿþ“ÿã¯îÖŸnž^?þçwþÃß<<ÜÞÜ>¼|÷›ûÛ›O÷÷ï^s÷éîæþõá»ß¼<½ÞÜ>>½è?þî¯þý¾þîÓ‰}øîwÿô].Ê5¿ûÃÿý׿û—ÏÿîÿùÝÿùïÿóÃÃw_ïïù—_n>½ÞŸ–¿^ñóç/ÿðùß~üŸŸÿðÛÏ?}ùáŸ~øý÷_>ÿ»ßÜýõÏçÿb §[|}|YÿÍÿòùË¿üø‡¯WýÕúݾׇ绛»Û§ï®ît~œûÓç}8úÕx~¸¹{xåOš‹®?éÍÛyºy¾ÿôÞ¼£ž¯ý@íÁõõæî^¢¿\úYsï“/·7ÏwŽ<_Êdϧ/àÖšçk?@{ð@}ºyú$q×µ¨=x žþÃW«ž¯ý@íÁ÷Õ×Û›§—§®kYƒêÃÍíó£TÏ×~ öàzúž¬z¾öµÔ¯ÿá“TÏ×~ öàûê§Ó×ð Õu-«cð@=}
§ÿ–SÏ×~ öàzúî^¤z¾öµÔÓxkÕóµ¨=ø®úx{{óøéU©¹Õ9x ÞŸ~”’êùÚÔ<PŸn_¬z¾öµÔÓo[^$úË¥˜5÷>ywúäÖ\Ëè<POßÁ“UÏ×~ öàzúï¥z¾öµÔÓ·ðð Õóµ¨=ø¾zú}ìã½T×µ¬ŽÁõô5Ü=Jõ|íj¨§¯áöIªçk?P{ð@}¹yýdÕóµ¨=ø¾zú£Ôëû1—kYƒêýÍë‹ü'ÓºöµÔ§›‡g«ž¯ý@íÁõô5<ÉsëÚÔ|_}<}
òκ–Õ1x ž¾†«ž¯ý@íÁõô5È4/ýÀ¬¹òôÜË8ëÚÐ|_}:}wR]ײ:ÔÓwp+Ìk?P{ð@}º¹ÿ$¿Õuíj¨/7/¯V=_ûÚƒï«Ï·7÷/òÇܺ–Õ1x Þß¼<Ë8ëÚÔ<PO_ÓUÏ×~ öàzúå¹uíj¾¯¾œ¾†ùg]Ëê<PO_ýUÏ×~ öàzúîä¹uíj¨§¯áVþÀY×~ öàûêëíÍÝ'©®kYƒêýͳE¹ô³æÈ§›»Wùg]ûÚƒêËÍó‹UÏ×~ öàûê§Ówð,ÌkYƒêé[x’?pÖµ¨=x ž¾†G«ž¯ý@íÁõô5<ÈsëÚÔ|W}º=}
÷îN®Eu¨§¯áΪçk?P{ð@=}
·ÏR=_ûÚƒêËÍ“ü÷L¹öµßWïnon__è©ÙÝé7AÍžîînž>ºuÑõ}<¼¼¹‘ûÓU÷t—–ë_+ñËÓŸ?nOnÇ–ë÷ÀòŸÿw=°¼Üé¯{` Ÿt?°¼ú¤Ç,ßÞ<°Dµñ¥B×K4kX2,‰ì9~`©Ì<°D´ù¥RóÀÕä–JÍKT{Xu?°$uòK¥æ%ª=È,•š–¨ö ?°TjX¢ÚƒüÀÒ¨û%©cX*5,QíA~`©Ô<°Dµù¥RóÀÕä–B½<°uòK¥æ%ª=È,•š–¨ö >°Tèz`‰fÍñKcî–„ŽA~`©Ô<°Dµù¥RóÀÕä–JÍKT{Xu?°$uòK¥æ%ª=È,•š–¨ö ?°TjX¢ÚƒüÀÒ¨û%©cX*5,QíA~`©Ô<°Dµù¥RóÀÕä–FÝ,IƒüÀR©y`‰jâK…®–hÖ?°TfX"ÚƒüÀÒ¨û%©cX*5,QíA~`©Ô<°Dµù¥RóÀÕä–FÝ,IƒüÀR©y`‰jòK¥æ%ª=È,•š–¨ö ?°4ê~`Iêä–JÍKT{X*5,QíA~`©Ô<°Dµù¥Q÷KRÇ >°Tèz`‰fÍñKeæ%¢=È,•š–¨ö ?°4ê~`Iêä–JÍKT{X*5,QíA~`©Ô<°Dµù¥P/,AƒüÀR©y`‰jòK¥æ%ª=È,•š–¨ö ?°<~j¦XÒ}äåÕ}<¼=°<¾ñÀò£7,O–ýúKøÀr]ãXþÛçŸ~ø§¿¼}8ùðxóÂ&ïO?„oï_¿»º§yã·7ŸŽ~•¿þ×?ýòÛFøL¹èú3ݼ½‘כǧç÷näõ|íj¾¯ž~.z”꺖Õ1x >Ü<~ý]žRÏ×~ öàzúÞÿªßQÏ×~ öàzúî¬z¾öµßWO?š?}ý]žQ×µ¬ŽÁõô5Hó땈×cÞÓÍ«ý¿\úXsäëÍÃ×ßß)ó|íh¾ÿüêôùõå^©¹Õ9x >Ü<<[õ|íj¨§oáéAªçk?P{ð@=}
R=_ûڃ﫧ñ¯R]ײ:ÔÓ×pÿ$Õóµ¨=x ž¾†»g©ž¯ý@íÁõô5ÜZõ|íj¾¯ÞßÞ¼|r?àr-«cð@}8ýÞéUªçk?P{ð@}:ý&˪çk?P{ð@}½¹þ$Õóµ¨=ø¾zúmî‹ü_¦ó¥löÜyúäÿž/ý€¬¹òô<ÞIó|íh¨§/àAþ´Y×~ öàûêãé+¸—꺖Õ1x ž¾…;ù3n]ûÚƒêék¸•?mÖµ¨=x ¾ÞÜ}²êùÚÔ|_}º½y~•ÿw³®eu¨7wöëÚÔ<PŸnžŸz¾öµÔÓ×ð$Æk?P{ð ¥=}
ò§Íº–Õ1x ®¸X©©•QíA®••šZÕÄZY¡«VF³æ°V6dje"{Žkee¦VF´¹VVjjeT{ke¥¦VFµ¹V6ꮕIƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•…z©•Aƒ\++5µ2ª=ȵ²RS+£ÚƒX++tÕÊhÖ×ÊÆÜµ2¡cke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹V6ꮕIƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJMŒjb¬ÐU+£Ys\++3µ2¢=ȵ²QwLêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjrlÔ]+“:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£îZ™Ô1ˆµ²BWŒfÍq¬ÌÔʈö ×ÊJMŒjrlÔ]+“:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke¡^jePç ×ÊJMŒjr¬ÔÔʨö ×ÊJMŒjr|ÒªZ™î#µòÕ}×ÊÇ÷ñË£×O_ÒñJ§ßQ<ü’ÑÝ}:ý0¸¿V^宕V‰ü¿ÿù‡ßÿöÇ?ýüå§ïøÓ—wUz}½yz~]—ÿößÿüó{éãÓ×?*\îîm·üðrô7âì>\rÈ«ÏvœC¾½
È!íAÎ!…zÉ!AƒœC*59$ª=È9¤R“C¢ÚƒœC*59$ª=È9¤QwIêäR©É!QíAÎ!•šÕäR©É!QíAÎ!ºsHRÇ çJM‰jr©Ôä¨ö çJM‰jbiÐädöæŠ\9$’5Ç9¤2“C"ÚƒœC*59$ª=È9¤QwIêäR©É!QíAÎ!•šÕäR©É!QíAÎ!ºsHRÇ çJM‰jr©Ôä¨ö çJM‰jriÔC’:9‡TjrHT{sH¥&‡Dµ1‡TèÊ!Ѭ9Ì!
™’ÈžãR™É!íAÎ!•šÕäR©É!QíAÎ!ºsHRÇ çJM‰jr©Ôä¨ö çJM‰jriÔC’:9‡TjrHT{sH¥&‡Dµ9‡TjrHT{sH¡^rHPç çJM‰jr©Ôä¨ö æ -]9$š5Ç9¤1wIèäR©É!QíAÎ!•šÕäR©É!QíAÎ!ºsHRÇ çJM‰jr©Ôä¨ö çJM‰jriÔC’:9‡TjrHT{sH¥&‡Dµ9‡TjrHT{sH£î’Ô1È9¤R“C¢Úƒ˜C*tåhÖçÊL‰hriÔC’:9‡TjrHT{sH¥&‡Dµ9‡TjrHT{sH£î’Ô1È9¤R“C¢ÚƒœC*59$ª=È9¤R“C¢ÚƒœCu礎AÎ!•šÕäR©É!QíAÎ!•šÕäÒ¨;‡$ub©Ð•C¢YsœC*39$¢=È9¤R“C¢ÚƒœCu礎AÎ!•šÕäR©É!QíAÎ!•šÕäR¨—Ô9È9¤R“C¢ÚƒœC*59$ª=È9¤R“C¢ÚƒœC÷y*‡¤ûHyuÇ9äñ}|ãß6yû|sÿxLJ·®k.õâoîŸnÿúïúñË_þòÿ~~[3>Os½[3>=ÖŒO¯7Ow|s¹èúæÞöŒÏw7·÷wïÝÈ[u]Ëê<Pnžîî¥z¾öµÔç›Û[«ž¯ý@íÁõõæñÓƒTÏ×~ öàÁ麷§ÿ{t꺖Õ1x >Ü<¾Xõ|íj¨ë¸a¥æübT{Ï/VjÎ/Fµùüb£îó‹Iƒ|~±Rs~1ª=Èç+5ç£Úƒ|~±Rs~1ª=ÈçuŸ_Lê¤ó‹•y>¿Åë1<¿X+ØG±æ8ØWf‚}D{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì4Á>™=‡Á¾"W°dÍq°¯Ìûˆö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAöº‚}4kƒ}C&Ø'²ç8ØWf‚}D{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BW°fÍq°oÌì:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö û -]Á>š5ÇÁ¾2ì#Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+tûhÖûÊL°hr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûÇ º -öé>ì_ÝÇq°|ãüâ{>¿øùÓ׿ž_œkÜùÅ÷ù/ÿýçïÿùóÛs‹OÔyºÿ„çŸ~³þøòðÝÕ]½ýe¾}y>,ý~y -]¯4 ÙsôJƒ#ϯ40YsøJƒ3×+
Œö ¾ÒàÔõJ«=ˆ¯4(5¯4 :ñ•§®WXíA|¥Á©ë•V{_ipêz¥ÕÄW”šWPƒøJƒS×+
¬ö ¾ÒàÔõJ«=ˆ¯48u½ÒÀjâ+
JÍ+
¨ŽA|¥Á©ë•V{_ipêz¥Õ¤Wz~¥Íš£W¹^i@²çð•g®WíA|¥Á©ë•V{_ipêz¥ÕÄW”šWPƒøJƒS×+
¬ö ¾ÒàÔõJ«=ˆ¯48u½ÒÀjâ+
JÍ+
¨ŽA|¥Á©ë•V{_ipêz¥ÕÄWœº^i`µñ•£îWHƒøJƒS×+
¬ö ¾ÒàÔõJ«=H¯48ôüJ›5‡¯4(3¯4 :ñ•§®WXíA|¥Á©ë•V{_ipêz¥ÕÄW”šWPƒøJƒS×+
¬ö ¾ÒàÔõJ«=ˆ¯48u½ÒÀjâ+
JÍ+
¨ŽA|¥Á©ë•V{_ipêz¥ÕÄWœº^i`µñ•¥æ•TÇ ¾ÒàÔõJ«=H¯48ôüJ›5‡¯48s½ÒÀhâ+
JÍ+
¨ŽA|¥Á©ë•V{_ipêz¥ÕÄWœº^i`µñ•¥æ•TÇ ¾ÒàÔõJ«=ˆ¯48u½ÒÀjâ+
N]¯4°ÚƒøJƒRóJªc_ipêz¥ÕÄWœº^i`µñ•§®WXíA|¥A©y¥Õ1H¯48ôüJ›5‡¯48s½ÒÀhâ+
N]¯4°ÚƒøJƒRóJªc_ipêz¥ÕÄWœº^i`µñ•§®WXíA|¥Á¨û•Rç ¾ÒàÔõJ«=ˆ¯48u½ÒÀjâ+
N]¯4°ÚƒøJ¶ö¿Ò€÷±.º¾ÃWà>¾íï x>ý0xxxÅ¿ƒ ×|óßAp5þ«þº¹ì_ÝÜq°ÿöF Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oê¤`_™ç`Åë1ö¸‚}kŽƒ}e&ØG´9Øê%Øur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾Aì“Ùsì+rûHÖûÊL°hr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`ÕÄ`_¡+ØG³æ0Ø7d‚}"{Žƒ}e&ØG´9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+tûhÖûÆÜÁ>¡cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jb°¯Ðì£Ysì+3Á>¢=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ˆÁ¾BW°fÍq°¯Ìûˆö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö ûJM°jr°œ «`Ÿî#ÁþÕ}ûÇ÷ñÁ×ÿáô'hü;Ö5îï øoþÇÿñù÷_þÿü×ïÿõ¿‰àô3ïõöÿ&‚×Ç›—§‹ûî/öÝñßD°ëVøl»n½úlÇuëÛºÕäºÕ¨»n%uRݪÌsÝŠâõÖ -\u+Š5Çu«2S·"Úƒ\· -õR·‚:¹nUjêVT{ëV¥¦nEµ¹nUjêVT{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·uפŽA®[•šºÕäºU©©[QíA®[•šºÕÄºÕ ©[Éì9¬[¹êV$kŽëVe¦nE´¹nUjêVT{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·uפŽA®[•šºÕäºU©©[QíA®[•šºÕäºÕ¨»n%urݪÔÔ¨ö ×JMÝŠjbݪÐU·¢YsX·2u+‘=Çu«2S·"Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·uפŽA®[•šºÕäºU©©[QíA®[•šºÕäºÕ¨»n%urݪÔÔ¨ö ×JMÝŠjrݪÔÔ¨ö ×B½Ô ÎA®[•šºÕäºU©©[QíA¬[ºêV4kŽëVcÐ1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·uפŽA®[•šºÕäºU©©[QíA®[•šºÕäºÕ¨»n%urݪÔÔ¨ö ×JMÝŠjrݪÔÔ¨ö ×FÝu+©cëV¥¦nEµ±nUèª[Ѭ9®[•™ºÑäºÕ¨»n%urݪÔÔ¨ö ×JMÝŠjrݪÔÔ¨ö ×FÝu+©cëV¥¦nEµ¹nUjêVT{ëV¥¦nEµ¹n5ê®[Iƒ\·*5u+ª=Èu«RS·¢Úƒ\·*5u+ª=Èu«QwÝJêĺU¡«nE³æ¸nUfêVD{ëV¥¦nEµ¹n5ê®[Iƒ\·*5u+ª=Èu«RS·¢Úƒ\·*5u+ª=Èu«P/u+¨sëV¥¦nEµ¹nUjêVT{ëV¥¦nEµ¹n¥àRÔt©[¯îã¸n=¾o<Žúéñæô'K>Žz]óíÇQ_ÆÝqÔpsû8ê«›;>ŽúíÀqÔ¤ŽA>ŽZ©9ŽÕä㨕šã¨QíA>ŽZ©9ŽÕä㨺£&uòqÔJÍqÔ¨ö GÔGjòqÔJÍqÔ¨ö GmÔ}5©c£VjŽ£Fµù8j¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1HÁ¾2ÏÁ>Š×cì+pû(ÖûÊL°hr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}ƒ&Ø'³ç0ØWä -ö‘¬9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BW°fÍa°oÈûDöûÊL°hr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö¹ƒ}BÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`ÕÄ`_¡+ØG³æ8ØWf‚}D{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ÿ8AWÁ>ÝG‚ý«û8öïã£~¼»y<ý–£^׸ã¨ÿöçŸÿüù§ãÓ¨ïoïù4ê—Ožûkýtú
çÑiÔ yá£í÷꣇¼ooB^T{C^¥&äEµ9äUjB^T{C^£î—Ô1H!¯2Ï!/Š×cò*p…¼(Ö‡¼ÊLÈ‹hrÈ+ÔKÈêäW© yQíAy•šÕäW© yQíAyºC^RÇ ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼JMÈ‹jrÈkÔò’:9äUjB^T{C^¥&äEµ9äUjB^T{C^ƒ&ä%³ç0äUä -y‘¬9y•™ÑäW© yQíAyºC^RÇ ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼JMÈ‹jrÈkÔò’:9äUjB^T{C^¥&äEµ9äUjB^T{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=ˆ!¯BWÈ‹fÍaÈkÈ„¼Dö‡¼ÊLÈ‹hrȫԄ¼¨ö ‡¼JMÈ‹jrÈkÔò’:9äUjB^T{C^¥&äEµ9äUjB^T{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒò -õò‚:9äUjB^T{C^¥&äEµ1äUè -yѬ9y¹C^BÇ ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼JMÈ‹jrÈkÔò’:9äUjB^T{C^¥&äEµ9äUjB^T{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕÄW¡+äE³æ8äUfB^D{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕäר;ä%urȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼FÝ!/©cC^…®ÍšãW™ yíAy•šÕäר;ä%urȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼B½„¼ ÎAy•šÕäW© yQíAy•šÕä—âRòÒ}$佺ã÷ø>¾ñäíû¯XßóÉÛëšo?yû2þëNÞ†›Û'o_ÝÜñÉÛooNÞ&uòÉÛJÍÉÛ¨ö Ÿ¼Ôœ¼jòÉÛJÍÉÛ¨ö Ÿ¼mÔ}ò6©cOÞVjNÞFµùäm¥æämT{OÞVjNÞFµùäm£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽA -ö•yöQ¼Ã`_+ØG±æ8ØWf‚}D{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì4Á>™=‡Á¾"W°dÍq°¯Ìûˆö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAöº‚}4kƒ}C&Ø'²ç8ØWf‚}D{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BW°fÍq°oÌì:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö û -]Á>š5ÇÁ¾2ì#Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+tûhÖûÊL°hr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûÇ º -öé>ì_ÝÇq°|ãäí»NÞ¾{ºyz½ã“·×5îäíÿöçüŸÿåï>ÿåoÿðùO_~ø§>ÿôö -'p?œfo¾»ºÃ÷~ÉŸ~Í/¹|Â;]}ÂãÜéí@îDêäÜI©ÉPíAΔšÜ ÕäÜI©ÉPíA̚܉̞ÃÜI‘+wB²æ8wRfr'D{s'¥&wBµ9w2êÎHƒœ;)5¹ª=ȹ“R“;¡Úƒœ;)5¹ª=ȹ“QwîDêäÜI©ÉPíAΔšÜ ÕäÜI©ÉPíAÎŒºs'RÇ çNJMî„jrî¤ÔäN¨ö æN -]¹š5‡¹“!“;Ùsœ;)3¹¢=ȹ“R“;¡Úƒœ;)5¹ª=ȹ“QwîDêäÜI©ÉPíAΔšÜ ÕäÜI©ÉPíAÎŒºs'RÇ çNJMî„jrî¤ÔäN¨ö çNJMî„jrî$ÔKîêäÜI©ÉPíAΔšÜ ÕÄÜI¡+wB³æ8w2æÎƒœ;)5¹ª=ȹ“R“;¡Úƒœ;)5¹ª=ȹ“QwîDêäÜI©ÉPíAΔšÜ ÕäÜI©ÉPíAÎŒºs'RÇ çNJMî„jrî¤ÔäN¨ö çNJMî„jrîdÔ;‘:9wRjr'T{s'…®Ü ÍšãÜI™ÉíAÎŒºs'RÇ çNJMî„jrî¤ÔäN¨ö çNJMî„jrîdÔ;‘:9wRjr'T{s'¥&wBµ9wRjr'T{s'£î܉Ô1ȹ“R“;¡Úƒœ;)5¹ª=ȹ“R“;¡Úƒœ;uçN¤ŽA̺r'4kŽs'e&wB´9wRjr'T{s'£î܉Ô1ȹ“R“;¡Úƒœ;)5¹ª=ȹ“R“;¡Úƒœ; õ’;:9wRjr'T{s'¥&wBµ9wRjr'T{s'no>Ìè>’;]ÝÇqît|ã|ÒûÎ'ýúMßâóI×5ß~>éeü×O -7·Ï'½º¹ãóIßÞœOJêäóI•šóIQíA>ŸT©9ŸÕäóI•šóIQíA>ŸÔ¨û|RRÇ ŸOªÔœOŠjòù¤JÍù¤¨ö ŸOªÔœOŠjòù¤FÝç“’:ù|R¥æ|RT{Ï'UjÎ'Eµù|R¥æ|RT{Ï'5ê>Ÿ”Ô1Hç“*ó|>)Š×cx>©×ù¤(ÖŸOªÌœOŠhòù¤B½œO -êäóI•šóIQíA>ŸT©9ŸÕäóI•šóIQíA>ŸÔ¨û|RRÇ ŸOªÔœOŠjòù¤JÍù¤¨ö ŸOªÔû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ1Ø7h‚}2{ƒ}E®`Éšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+tûhÖû†L°OdÏq°¯Ìûˆö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`Íšã`ߘ;Ø'tr°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAöº‚}4kŽƒ}e&ØG´9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:1ØWè -öѬ9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAötìÓ}$Ø¿º‡OGÁþñ}|Ûù¤O¯ŸNÿ´zÅóIs;Ÿô?üùË¿üøÓ_þòÑ ¥÷·7¯|Béýéçã§ï®îñm÷ÿõßKœPš0†>c.ºþŒGaÌ;÷qÆ ÙsÆ8òÆ0YsÆ8s…1Œö †1N]a«=ˆaŒRÆ :1Œqê -cXíAcœºÂV{ç®0†ÕÄ0F© cPƒÆ8u…1¬ö †1N]a«=ˆaŒSWÃjb£Ô„1¨ŽAcœºÂV{ç®0†Õ¤0Æ¡ç0†Íš£0F‘+ŒA²ç0Œqæ -cíAcœºÂV{ç®0†ÕÄ0F© cPƒÆ8u…1¬ö †1N]a«=ˆaŒSWÃjb£Ô„1¨ŽAcœºÂV{ç®0†ÕÄ0Æ©+Œaµ1Œ1êcHƒÆ8u…1¬ö †1N]a«=HaŒCÏa›5‡aŒ2Æ :1Œqê -cXíAcœºÂV{ç®0†ÕÄ0F© cPƒÆ8u…1¬ö †1N]a«=ˆaŒSWÃjb£Ô„1¨ŽAcœºÂV{ç®0†ÕÄ0Æ©+Œaµ1ŒQjÂTÇ †1N]a«=HaŒCÏa›5‡aŒ3WÃhb£Ô„1¨ŽAcœºÂV{ç®0†ÕÄ0Æ©+Œaµ1ŒQjÂTÇ †1N]a«=ˆaŒSWÃjbãÔÆ°ÚƒÆ(5aªcç®0†ÕÄ0Æ©+Œaµ1Œqê -cXíAc”š0Õ1HaŒCÏa›5‡aŒ3WÃhbãÔÆ°ÚƒÆ(5aªcç®0†ÕÄ0Æ©+Œaµ1Œqê -cXíAcŒºÃRç †1N]a«=ˆaŒSWÃjbãÔÆ°ÚƒÆ@£a¼uÑõ}†1pßv’åÓËóéÇí3žd™k¾ù$Ë«ñ_u’%Ý\.º¾¹Ã“,ß¹‘ã“,Qƒx’¥S×I–¬ö ždéÔu’%«=ˆ'Y:udÉjâI–JÍI–¨ŽA<ÉÒ©ë$KV{O²tê:É’ÕÄ“,ºN²dµñ$K¥æ$KTÇ ždéÔu’%«=ˆ'Y:udÉjâI–N]'Y²Úƒx’¥Rs’%ªcN²tæ/'Y²x=F'Y:ð|’%‹5‡'Y:sdÉhâI–FÝ'Y’:ñ$K§®“,YíA<ÉÒ©ë$KV{O²tê:É’ÕÄ“,•š“,Qƒx’¥S×I–¬ö ždéÔu’%«=ˆ'Y:udÉjâI–JÍI–¨ŽA<ÉÒ©ë$KV{O²tê:É’ÕÄ“,š`ÕÄ`ß öÉì9ö¹‚}$kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAöº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè -öѬ9ö•™`Ñä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°OêÄ`_¡+ØG³æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø?NÐU°O÷‘`ÿê>ŽƒýãûøÆ“,Ÿn^^žø$Ëu;Éòïúáß¾ÿòùï>ÿå¿ÿüý?þûÏ?ýðãÞ9Èòë¿~zþà Ëû›¯]Ååßfÿ¯/¯‡Y¦‚¸ «xÜ -öѬ9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAötìÓ}$Ø¿ºã`ÿø>¾ñÐί¾{¹çC;×5îÐÎß~þéËÿôÃï¿ÿòùïüã¿ÿáôéÛÇÓO>>²óôëñüõߊ]îðí/ùóé÷gvî´>áN»®>áqÚõöF íBµ9íRjÒ.T{Ó.£î´‹Ô1Èi—R“v¡Úƒœv)5iª=Èi—R“v¡Úƒ˜v4i™=‡i—"WÚ…dÍqڥ̤]ˆö §]JMÚ…jrÚeÔv‘:9íRjÒ.T{Ó.¥&íBµ9íRjÒ.T{Ó.£î´‹Ô1Èi—R“v¡Úƒœv)5iª=Èi—R“v¡Úƒœvu§]¤ŽAN»”š´Õä´K©I»PíAL»ºÒ.4kÓ.C&í"²ç8íRfÒ.D{Ó.¥&íBµ9íRjÒ.T{Ó.£î´‹Ô1Èi—R“v¡Úƒœv)5iª=Èi—R“v¡Úƒœvu§]¤ŽAN»”š´Õä´K©I»PíAN»”š´Õä´K¨—´Ô9Èi—R“v¡Úƒœv)5iª=ˆi—BWÚ…fÍqÚeÌv:9íRjÒ.T{Ó.¥&íBµ9íRjÒ.T{Ó.£î´‹Ô1Èi—R“v¡Úƒœv)5iª=Èi—R“v¡Úƒœvu§]¤ŽAN»”š´Õä´K©I»PíAN»”š´Õä´Ë¨;í"urÚ¥Ô¤]¨ö ¦] -]iš5Çi—2“v!Úƒœvu§]¤ŽAN»”š´Õä´K©I»PíAN»”š´Õä´Ë¨;í"urÚ¥Ô¤]¨ö §]JMÚ…jrÚ¥Ô¤]¨ö §]FÝi©cÓ.¥&íBµ9íRjÒ.T{Ó.¥&íBµ9í2êN»Hƒ˜v)t¥]hÖ§]ÊLÚ…hrÚ¥Ô¤]¨ö §]FÝi©cÓ.¥&íBµ9íRjÒ.T{Ó.¥&íBµ9íê%íurÚ¥Ô¤]¨ö §]JMÚ…jrÚ¥Ô¤]¨ö §]Ô‰´‹î#i×Õ}§]Ç÷1Îb½ûà,ÖûÇ›O÷w|ëºæÛÏb½Œÿº³XáæöY¬W7w|ëÛ³XIƒ|«Rs+ª=Èg±*5g±¢Úƒ|«Rs+ª=Èg±uŸÅJêä³X•š³XQíA>‹U©9‹Õä³X•š³XQíA>‹Õ¨û,VRÇ ŸÅªÔœÅŠjòY¬JÍY¬¨ö ŸÅªÔœÅŠjòY¬FÝg±’:é,VežÏbEñzÏbUà:‹Åšã³X•™³XíA>‹U¨—³XAƒ|«Rs+ª=Èg±*5g±¢Úƒ|«Rs+ª=Èg±uŸÅJêä³X•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûM°OfÏa°¯Èì#Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`ÍšÃ`ß ö‰ì9ö•™`Ñä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysìsû„ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ˆÁ¾BW°fÍq°¯Ìûˆö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ û -]Á>š5ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁþq‚®‚}ºûW÷qìßÇ8‹õþƒ³XOê§Ó?™ñ,Öu<‹õþ¯¿ùáç/?ýøþòÃúûøÓ—÷Ncýú¯Ÿžù4Öûû›¯]Ååßfÿ¯/¯G‡±î>ân€®>âqôöF Bµ¹Rj T{ ƒ¦"³ç°Räj€¬9n€”™ÑäH©i€PíAn€Œº RÇ 7@JM„jr¤Ô4@¨ö 7@JM„jrdÔÝ -öYíAöº‚}V{ƒ}¥&ØGub°ïÔì³Úƒì;uû¬ö ûN]Á>«=ˆÁ¾Rì£:1Øwê -öYíAöº‚}V{‚}‡žƒ}6kŽ‚}E®`ÉžÃ`ß™+Øg´1Øwê -öYíAöº‚}V{ƒ}¥&ØGub°ïÔì³Úƒì;uû¬ö ûN]Á>«=ˆÁ¾Rì£:1Øwê -öYíAöº‚}V{ƒ}§®`ŸÕÄ`ߨ;Ø'ub°ïÔì³Úƒì;uû¬ö û=ûlÖûÊL°èÄ`ß©+Øgµ1Øwê -öYíAöº‚}V{ƒ}¥&ØGub°ïÔì³Úƒì;uû¬ö ûN]Á>«=ˆÁ¾Rì£:1Øwê -öYíAöº‚}V{ƒ}§®`ŸÕÄ`_© öQƒì;uû¬ö û=ûlÖûÎ\Á>£=ˆÁ¾Rì£:1Øwê -öYíAöº‚}V{ƒ}§®`ŸÕÄ`_© öQƒì;uû¬ö ûN]Á>«=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1ØWj‚}TÇ û=ûlÖûÎ\Á>£=ˆÁ¾SW°Ïjb°¯Ôû¨ŽAöº‚}V{ƒ}§®`ŸÕÄ`ß©+Øgµ1Ø7êöIƒì;uû¬ö ûN]Á>«=ˆÁ¾SW°Ïjb° º öñ>ÖE×÷qìÃ}|Û¡¯Ï7·ÏÏxhg®‘‡vþôÇÿúçýÇÏ?½=¨óé\YÂ9_Sÿ×§ùnêÿ|xPç¹âçOµ®¹þPÇ¡ÿÛۀПÐ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cBežC¯Ç0ôWà -ýQ¬9ý•™ÐÑäÐ_¨—ÐÔ9È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö †þMèOfÏaè¯Èú#Ysú+3¡?¢=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C…®ÐÍšÃÐß ý‰ì9ý•™ÐÑäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ôê%ôurè¯Ô„þ¨ö ‡þJMèjbè¯Ðú£Ysús‡þ„ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=ˆ¡¿BWèfÍqè¯Ì„þˆö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAýºCRÇ †þ -]¡?š5Ç¡¿2ú#Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAý…z ýAƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡ÿq€®Bº„þW÷qúßÇ7žÌÿõÁÎ雯“ù×5ß~2ÿeü×Ì7·O濺¹ã`ÿí@°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1HÁ¾2ÏÁ>Š×cì+pû(ÖûÊL°hr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}ƒ&Ø'³ç0ØWä -ö‘¬9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BW°fÍa°oÈûDöûÊL°hr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö¹ƒ}BÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`ÕÄ`_¡+ØG³æ8ØWf‚}D{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ÿ8AWÁ>ÝG‚ý«û8öïãOæþúÏ>™]ãNæÿ›Ïüòýoúãßþé?üþû/?¾sBÿ§¯7øB'ôÿRð}ºûîêöæg¸¿y|¹;ø¿ôzðñv¯wõñŽ{½·7½ª=ȽžRÓë¡ÚƒÜëu÷z¤ŽAîõ”š^Õä^O©éõPíAîõ”š^Õä^Ϩ»×#ur¯§Ôôz¨ö ÷zJM¯‡jr¯§Ôôz¨ö özM¯GfÏa¯§ÈÕë!YsÜë)3½¢=ȽžRÓë¡ÚƒÜëu÷z¤ŽAîõ”š^Õä^O©éõPíAîõ”š^Õä^Ϩ»×#ur¯§Ôôz¨ö ÷zJM¯‡jr¯§Ôôz¨ö ÷zFݽ©c{=¥¦×Cµ¹×Sjz=T{{=…®^ÍšÃ^Ïéõˆì9îõ”™^Ñä^O©éõPíAîõ”š^Õä^Ϩ»×#ur¯§Ôôz¨ö ÷zJM¯‡jr¯§Ôôz¨ö ÷zFݽ©c{=¥¦×Cµ¹×Sjz=T{{=¥¦×Cµ¹×ê¥×ur¯§Ôôz¨ö ÷zJM¯‡jb¯§ÐÕë¡YsÜës÷z„ŽAîõ”š^Õä^O©éõPíAîõ”š^Õä^Ϩ»×#ur¯§Ôôz¨ö ÷zJM¯‡jr¯§Ôôz¨ö ÷zFݽ©c{=¥¦×Cµ¹×Sjz=T{{=¥¦×Cµ¹×3êîõHƒÜë)5½ª=ˆ½žBW¯‡fÍq¯§Ìôzˆö ÷zFݽ©c{=¥¦×Cµ¹×Sjz=T{{=¥¦×Cµ¹×3êîõHƒÜë)5½ª=ȽžRÓë¡ÚƒÜë)5½ª=ȽžQw¯Gêä^O©éõPíAîõ”š^Õä^O©éõPíAîõŒº{=RÇ öz -]½š5ǽž2Óë!ÚƒÜë)5½ª=ȽžQw¯Gêä^O©éõPíAîõ”š^Õä^O©éõPíAîõ„zéõ@ƒÜë)5½ª=ȽžRÓë¡ÚƒÜë)5½ª=ȽÞq?¦z=ºôzW÷qÜëßÇ7°{ú£ÀýÝ=°»®ùöv/ã¿î€]¸¹}ÀîÕͰûöFà€]RÇ °«Ô°‹jò»JÍ»¨ö °«Ô°‹jò»FÝì’:ù€]¥æ€]T{ØUjØEµù€]¥æ€]T{Ø5ê>`—Ô1Èì*5ì¢Úƒ|À®RsÀ.ª=Èì*5ì¢Úƒ|À®Q÷»¤ŽA:`W™çvQ¼Ãv¸ØE±æø€]eæ€]D{Øêå€]Pç °«Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾Aì“Ùsì+rûHÖûÊL°hr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`ÕÄ`_¡+ØG³æ0Ø7d‚}"{Žƒ}e&ØG´9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAö…z öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+tûhÖûÆÜÁ>¡cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jb°¯Ðì£Ysì+3Á>¢=ÈÁ¾Qw°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ˆÁ¾BW°fÍq°¯Ìûˆö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}¡^‚}Pç ûJM°jr°¯Ôû¨ö ûJM°jr°œ «`Ÿî#ÁþÕ}ûÇ÷1ؽûà€Ý‡Ç›ûç;>`w]ãØýÛ?ýÛ÷üá?|ùËß|ÿåóÛÓuO?ó^o_étÝû×Ç›—§‹ûî/ö×çÆ½ÿ®[á³íºõê³×ooêVT{ëV£îº•Ô1Hu«2Ïu+Š×cX·*pÕ(Ö×ÊLÝŠhrÝ*ÔKÝ -êäºU©©[QíA®[•šºÕäºU©©[QíA®[ºëVRÇ ×JMÝŠjrݪÔÔ¨ö ×JMÝŠjrÝjÔ]·’:¹nUjêVT{ëV¥¦nEµ¹nUjêVT{ëVƒ¦n%³ç°nUäª[‘¬9®[•™ºÑäºU©©[QíA®[ºëVRÇ ×JMÝŠjrݪÔÔ¨ö ×JMÝŠjrÝjÔ]·’:¹nUjêVT{ëV¥¦nEµ¹nUjêVT{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=ˆu«BWÝŠfÍaÝjÈÔDö×ÊLÝŠhrݪÔÔ¨ö ×JMÝŠjrÝjÔ]·’:¹nUjêVT{ëV¥¦nEµ¹nUjêVT{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\· -õR·‚:¹nUjêVT{ëV¥¦nEµ±nUèª[Ѭ9®[¹ëVBÇ ×JMÝŠjrݪÔÔ¨ö ×JMÝŠjrÝjÔ]·’:¹nUjêVT{ëV¥¦nEµ¹nUjêVT{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·uפŽA®[•šºÕĺU¡«nE³æ¸nUfêVD{ëV£îº•Ô1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·uפŽA®[•šºÕäºU©©[QíA®[•šºÕäºÕ¨»n%urݪÔÔ¨ö ×JMÝŠjrݪÔÔ¨ö ×FÝu+©cëV…®ºÍšãºU™©[íA®[•šºÕäºÕ¨»n%urݪÔÔ¨ö ×JMÝŠjrݪÔÔ¨ö ×B½Ô ÎA®[•šºÕäºU©©[QíA®[•šºÕ井‚KQ·Ò}¤n½ºãºõø>ÆqÔ÷Gýuïô#£^×|ûqÔ—ñ_w5ÜÜ>ŽúêæŽ£~{#p5©c£VjŽ£Fµù8j¥æ8jT{£VjŽ£Fµù8j£îã¨Iƒ|µRs5ª=ÈÇQ+5ÇQ£Úƒ|µRs5ª=ÈÇQuGMêä㨕šã¨QíA>ŽZ© öQíAö•š`Õä`ߨ;Ø'uR°¯Ìs°âõû -\Á>Š5ÇÁ¾2ì#Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`ÕÄ`ß öÉì9ö¹‚}$kŽƒ}e&ØG´9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAöº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè -öѬ9ö•™`Ñä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Qw°OêÄ`_¡+ØG³æ8ØWf‚}D{ƒ}¥&ØGµ9Ø7êöIƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾P/Á>¨sƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø?NÐU°O÷‘`ÿê>ŽƒýãûøÆã¨¿†\§?ßáqÔëwõoúã?|þþçÿôö$ê§seI'Q?}ýãæ…|7õ~yÅÔŸ?ÕºæúC‡þooBBÇ ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽA -ý•yýQ¼ÃÐ_+ôG±æ8ôWfBD{C¡^BPç ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒú4¡?™=‡¡¿"WèdÍqè¯Ì„þˆö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAýºB4kCC&ô'²ç8ôWfBD{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐ_¨—ÐÔ9È¡¿Rú£Úƒú+5¡?ª=ˆ¡¿BWèfÍqèoÌú:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö †þ -]¡?š5Ç¡¿2ú#Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'urè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+t…þhÖ‡þÊLèhrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ôê%ôurè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þǺ -ýé>ú_ÝÇqè|ßv2ÿ×eûxú5§“ùsÍ7ŸÌ5þ«Næ§›ËE×7wì¿s#ÇÁ>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö ûJM°êÄ`ß©+Øgµ1Øwê -öYíAöº‚}V{ƒ}¥&ØGuB°ïÌ_‚}¯Ç(Øwà9Øg±æ0Øwæ -öíAöºƒ}Rç ûN]Á>«=ˆÁ¾SW°Ïjb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö û -]Á>š=GÁ¾#ÏÁ>“5‡Á¾3W°Ïhb°ïÔì³Úƒì+5Á>ªcƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö ûJM°êÄ`ß©+Øgµ1Øwê -öYíA -özöÙ¬9 -ö¹‚}${ƒ}g®`ŸÑÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö ûJM°êÄ`ß©+Øgµ1Øwê -öYíAöº‚}V{ƒ}£î`ŸÔ9ˆÁ¾SW°Ïjb°ïÔì³Úƒì;ôì³Ysì+3Á>¢cƒ}§®`ŸÕÄ`ß©+Øgµ1Øwê -öYíAö•š`Õ1ˆÁ¾SW°Ïjb°ïÔì³Úƒì;uû¬ö ûJM°êÄ`ß©+Øgµ1Øwê -öYíAöº‚}V{ƒ}¥&ØGub°ïÔì³Úƒì;ôì³Ysì;sûŒö ûJM°êÄ`ß©+Øgµ1Øwê -öYíAöº‚}V{ƒ}¥&ØGub°ïÔì³Úƒì;uû¬ö ûN]Á>«=ˆÁ¾Rì£:1Øwê -öYíAöº‚}V{ƒ}§®`ŸÕÄ`_© öQƒì;ôì³Ysì;sûŒö ûN]Á>«=ˆÁ¾Rì£:1Øwê -öYíAöº‚}V{ƒ}§®`ŸÕÄ`ߨ;Ø'ub°ïÔì³Úƒì;uû¬ö ûN]Á>«=ˆÁ>$è&ØÇûX]ßÇa°÷ñm'ó?œþÁ|úÍ*žÌŸkÜÉüÿéÿûòùO?ÿð¿v2ÿÕmýš“ùéSk®?Ôqèÿö6 ô'trè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOê¤Ð_™çÐÅë1ý¸BkŽCe&ôG´9ôê%ôurè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=ˆ¡¿Aú“Ùsú+r…þHÖ‡þÊLèhrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAý•šÐÕÄÐ_¡+ôG³æ0ô7dB"{ŽCe&ôG´9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAý…z ýAƒú+5¡?ª=È¡¿Rú£Úƒú+t…þhÖ‡þÆÜ¡?¡cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+5¡?ª=È¡¿Rú£Úƒú+5¡?ª=È¡¿QwèOêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAýºCRÇ ‡þJMèjbè¯Ðú£Ysú+3¡?¢=È¡¿QwèOêäÐ_© ýQíAý•šÐÕäÐ_© ýQíAýºCRÇ ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C£îПÔ1ˆ¡¿BWèfÍqè¯Ì„þˆö ‡þJMèjrèoÔú“:9ôWjBT{C¥&ôGµ9ôWjBT{C¡^BPç ‡þJMèjrè¯Ô„þ¨ö ‡þJMèjrè «ÐŸî#¡ÿÕ}‡þÇ÷ñ'ó?ºyº}à“ù×5ß~2ÿeü×Ì7·O濺¹ã`ÿí@°Oêä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1HÁ¾2ÏÁ>Š×cì+pû(ÖûÊL°hr°/ÔK°êä`_© öQíAö•š`Õä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}ƒ&Ø'³ç0ØWä -ö‘¬9ö•™`Ñä`_© öQíAöºƒ}RÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ˆÁ¾BW°fÍa°oÈûDöûÊL°hr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìõìƒ:9ØWj‚}T{ƒ}¥&ØGµ1ØWè -öѬ9ö¹ƒ}BÇ ûJM°jr°¯Ôû¨ö ûJM°jr°oÔì“:9ØWj‚}T{ƒ}¥&ØGµ9ØWj‚}T{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`ÕÄ`_¡+ØG³æ8ØWf‚}D{ƒ}£î`ŸÔ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'ur°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ÿ8AWÁ>ÝG‚ý«ûx¼; -öïcûwûOÏ7Oçªÿ8Ø_×ðÉü÷ëÄýŸ?y{&ÿÝëéÿvÖÿåó—ùño#ÿכׯÿfórCó®ïoîî"ÿÛÃÚ¹ýÕ:ÎíßÞäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOê¤Ü^™çÜÅë1Ìí¸r{kŽs{e&·G´9·ê%·urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ˆ¹½A“Û“Ùs˜Û+råöHÖçöÊLnhrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕÄÜ^¡+·G³æ0·7dr{"{Žs{e&·G´9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎí…zÉíAƒœÛ+5¹=ª=ȹ½R“Û£Úƒ˜Û+tåöhÖçöÆÜ¹=¡cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ çöJMnjbn¯Ð•Û£YsœÛ+3¹=¢=ȹ½QwnOêäÜ^©ÉíQíAÎ핚ÜÕäÜ^©ÉíQíAÎíºs{RÇ çöJMnjrn¯Ôäö¨ö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{£îÜžÔ1ˆ¹½BWnfÍqn¯Ìäöˆö çöJMnjrnoÔÛ“:9·Wjr{T{s{¥&·Gµ9·Wjr{T{s{¡^r{Pç çöJMnjrn¯Ôäö¨ö çöJMnjrnƒ«Üžî#¹ýÕ}çöÇ÷ñ¹ýãÃÍóíçöë—Ûÿóÿbn¹¡_—ÛÃÚ¹ýÕ:ÎíßÞäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒœÛ+5¹=ª=ȹ½R“Û£ÚƒœÛ+5¹=ª=ȹ½QwnOê¤Ü^™çÜÅë1Ìí¸r{kŽs{e&·G´9·ê%·urn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cðÿoÔŽRˆ¢ ˆn%+Lê’Ü@ÖŸ1L?íK¦¨ÿ¡ë""*‡¹½ª†Ûcµ™Û«j¸=V{¹½ª†Ûcµ™Û›êâöTƒÌíU5Ü«=ÈÜ^UÃí±ÚƒÌíU5Ü«=ˆÜÞDÃí©ÙsÈíUrçö˜¬9æöªnÑdn¯ªáöXíAæö¦º¸=UÇ s{U
·Çj2·WÕp{¬ö s{U
·Çj2·7ÕÅí©:™Û«j¸=V{¹½ª†Ûcµ™Û«j¸=V{¹½©.nOÕ1ÈÜ^UÃí±ÚƒÌíU5Ü«=ˆÜ^EwnÍšCno’áö”ì9æöªnÑdn¯ªáöXíAæöªnÕdnoª‹ÛSu2·WÕp{¬ö s{U
·Çj2·WÕp{¬ö s{S]Üžªc¹½ª†Ûcµ™Û«j¸=V{¹½ª†Ûcµ™Û‹ê‹ÛCu2·WÕp{¬ö s{U
·Çj"·WÑÛc³æ˜Û›æâöƒÌíU5Ü«=ÈÜ^UÃí±ÚƒÌíU5Ü«=ÈÜÞT·§êdn¯ªáöXíAæöªnÕdn¯ªáöXíAæö¦º¸=UÇ s{U
·Çj2·WÕp{¬ö s{U
·Çj2·7ÕÅí©:™Û«j¸=V{¹½ŠîÜ›5ÇÜ^5Ãí1ÚƒÌíMuq{ªŽAæöªnÕdn¯ªáöXíAæöªnÕdnoª‹ÛSu2·WÕp{¬ö s{U
·Çj2·WÕp{¬ö s{S]Üžªc¹½ª†Ûcµ™Û«j¸=V{¹½ª†Ûcµ™Û›êâöTƒÈíUtçöج9æöªnÑdn¯ªáöXíAæö¦º¸=UÇ s{U
·Çj2·WÕp{¬ö s{U
·Çj2·Õ·‡êdn¯ªáöXíAæöªnÕdn¯ªáöXíAæöÇ\q{º#ÜþíŽcn|Çöà~ú~þ‘øy¿l_/ÿ>t=Ÿ®_i§ÛùºÚÞßo/ÌmÛ¹}ì<ïùy<½†Òú«endstream -endobj -1981 0 obj << -/Type /Page -/Contents 1982 0 R -/Resources 1980 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1927 0 R -/Annots [ 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2019 0 R 2020 0 R 2021 0 R 2022 0 R 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R ] ->> endobj -1984 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 757.858 361.105 764.801] -/Subtype /Link -/A << /S /GoTo /D (2686) >> ->> endobj -1985 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 757.858 521.32 764.801] -/Subtype /Link -/A << /S /GoTo /D (2686) >> ->> endobj -1986 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 743.687 361.105 751.849] -/Subtype /Link -/A << /S /GoTo /D (2692) >> ->> endobj -1987 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 743.687 521.32 751.849] -/Subtype /Link -/A << /S /GoTo /D (2692) >> ->> endobj -1988 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 730.736 275.028 738.898] -/Subtype /Link -/A << /S /GoTo /D (2697) >> ->> endobj -1989 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 730.736 521.32 738.898] -/Subtype /Link -/A << /S /GoTo /D (2697) >> ->> endobj -1990 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 719.004 295.511 725.947] -/Subtype /Link -/A << /S /GoTo /D (2703) >> ->> endobj -1991 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 719.004 521.32 725.947] -/Subtype /Link -/A << /S /GoTo /D (2703) >> ->> endobj -1992 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 704.084 257.982 712.995] -/Subtype /Link -/A << /S /GoTo /D (2713) >> ->> endobj -1993 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 704.084 521.32 712.995] -/Subtype /Link -/A << /S /GoTo /D (2713) >> ->> endobj -1994 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 691.882 252.473 700.044] -/Subtype /Link -/A << /S /GoTo /D (2726) >> ->> endobj -1995 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 691.882 521.32 700.044] -/Subtype /Link -/A << /S /GoTo /D (2726) >> ->> endobj -1996 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 678.181 257.982 687.092] -/Subtype /Link -/A << /S /GoTo /D (2729) >> ->> endobj -1997 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 678.181 521.32 687.092] -/Subtype /Link -/A << /S /GoTo /D (2729) >> ->> endobj -1998 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 665.979 284.752 674.141] -/Subtype /Link -/A << /S /GoTo /D (2736) >> ->> endobj -1999 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 665.979 521.32 674.141] -/Subtype /Link -/A << /S /GoTo /D (2736) >> ->> endobj -2000 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 652.278 257.982 661.189] -/Subtype /Link -/A << /S /GoTo /D (2739) >> ->> endobj -2001 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 652.278 521.32 661.189] -/Subtype /Link -/A << /S /GoTo /D (2739) >> ->> endobj -2002 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 641.295 279.372 648.238] -/Subtype /Link -/A << /S /GoTo /D (2746) >> ->> endobj -2003 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 641.295 521.32 648.238] -/Subtype /Link -/A << /S /GoTo /D (2746) >> ->> endobj -2004 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 626.375 257.982 635.287] -/Subtype /Link -/A << /S /GoTo /D (2749) >> ->> endobj -2005 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 626.375 521.32 635.287] -/Subtype /Link -/A << /S /GoTo /D (2749) >> ->> endobj -2006 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 614.173 317.03 622.335] -/Subtype /Link -/A << /S /GoTo /D (2756) >> ->> endobj -2007 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 614.173 521.32 622.335] -/Subtype /Link -/A << /S /GoTo /D (2756) >> ->> endobj -2008 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 600.472 257.982 609.384] -/Subtype /Link -/A << /S /GoTo /D (2759) >> ->> endobj -2009 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 600.472 521.32 609.384] -/Subtype /Link -/A << /S /GoTo /D (2759) >> ->> endobj -2010 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 588.27 327.79 596.432] -/Subtype /Link -/A << /S /GoTo /D (2766) >> ->> endobj -2011 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 588.27 521.32 596.432] -/Subtype /Link -/A << /S /GoTo /D (2766) >> ->> endobj -2012 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 574.569 257.982 583.481] -/Subtype /Link -/A << /S /GoTo /D (2774) >> ->> endobj -2013 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 574.569 521.32 583.481] -/Subtype /Link -/A << /S /GoTo /D (2774) >> ->> endobj -2014 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 562.367 322.41 570.529] -/Subtype /Link -/A << /S /GoTo /D (2787) >> ->> endobj -2015 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 562.367 521.32 570.529] -/Subtype /Link -/A << /S /GoTo /D (2787) >> ->> endobj -2016 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 548.667 257.982 557.578] -/Subtype /Link -/A << /S /GoTo /D (2794) >> ->> endobj -2017 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 548.667 521.32 557.578] -/Subtype /Link -/A << /S /GoTo /D (2794) >> ->> endobj -2018 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 537.653 311.651 544.627] -/Subtype /Link -/A << /S /GoTo /D (2807) >> ->> endobj -2019 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 537.653 521.32 544.627] -/Subtype /Link -/A << /S /GoTo /D (2807) >> ->> endobj -2020 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 522.764 257.982 531.675] -/Subtype /Link -/A << /S /GoTo /D (2814) >> ->> endobj -2021 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 522.764 521.32 531.675] -/Subtype /Link -/A << /S /GoTo /D (2814) >> ->> endobj -2022 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 511.781 322.41 518.724] -/Subtype /Link -/A << /S /GoTo /D (2827) >> ->> endobj -2023 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 511.781 521.32 518.724] -/Subtype /Link -/A << /S /GoTo /D (2827) >> ->> endobj -2024 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 496.861 257.982 505.772] -/Subtype /Link -/A << /S /GoTo /D (2834) >> ->> endobj -2025 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 496.861 521.32 505.772] -/Subtype /Link -/A << /S /GoTo /D (2834) >> ->> endobj -2026 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 485.878 257.852 492.821] -/Subtype /Link -/A << /S /GoTo /D (2847) >> ->> endobj -2027 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 485.878 521.32 492.821] -/Subtype /Link -/A << /S /GoTo /D (2847) >> ->> endobj -2028 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 470.958 257.982 479.869] -/Subtype /Link -/A << /S /GoTo /D (2850) >> ->> endobj -2029 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 470.958 521.32 479.869] -/Subtype /Link -/A << /S /GoTo /D (2850) >> ->> endobj -2030 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 459.975 300.891 466.918] -/Subtype /Link -/A << /S /GoTo /D (2857) >> ->> endobj -2031 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 459.975 521.32 466.918] -/Subtype /Link -/A << /S /GoTo /D (2857) >> ->> endobj -2032 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 445.055 257.982 453.967] -/Subtype /Link -/A << /S /GoTo /D (2860) >> ->> endobj -2033 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 445.055 521.32 453.967] -/Subtype /Link -/A << /S /GoTo /D (2860) >> ->> endobj -2034 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 432.853 284.752 441.015] -/Subtype /Link -/A << /S /GoTo /D (2867) >> ->> endobj -2035 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 432.853 521.32 441.015] -/Subtype /Link -/A << /S /GoTo /D (2867) >> ->> endobj -2036 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 419.152 257.982 428.064] -/Subtype /Link -/A << /S /GoTo /D (2870) >> ->> endobj -2037 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 419.152 521.32 428.064] -/Subtype /Link -/A << /S /GoTo /D (2870) >> ->> endobj -2038 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 408.169 257.852 415.112] -/Subtype /Link -/A << /S /GoTo /D (2877) >> ->> endobj -2039 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 408.169 521.32 415.112] -/Subtype /Link -/A << /S /GoTo /D (2877) >> ->> endobj -2040 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 393.249 257.982 402.161] -/Subtype /Link -/A << /S /GoTo /D (2880) >> ->> endobj -2041 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 393.249 521.32 402.161] -/Subtype /Link -/A << /S /GoTo /D (2880) >> ->> endobj -2042 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [167.372 382.267 257.852 389.209] -/Subtype /Link -/A << /S /GoTo /D (2887) >> ->> endobj -2043 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 382.267 521.32 389.209] -/Subtype /Link -/A << /S /GoTo /D (2887) >> ->> endobj -2044 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 367.347 257.982 376.258] -/Subtype /Link -/A << /S /GoTo /D (2922) >> ->> endobj -2045 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 367.347 521.32 376.258] -/Subtype /Link -/A << /S /GoTo /D (2922) >> ->> endobj -2046 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 356.364 258.889 363.307] -/Subtype /Link -/A << /S /GoTo /D (2936) >> ->> endobj -2047 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 356.364 521.32 363.307] -/Subtype /Link -/A << /S /GoTo /D (2936) >> ->> endobj -2048 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [191.283 342.193 258.889 350.355] -/Subtype /Link -/A << /S /GoTo /D (2943) >> ->> endobj -2049 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 342.193 521.32 350.355] -/Subtype /Link -/A << /S /GoTo /D (2943) >> ->> endobj -1983 0 obj << -/D [1981 0 R /XYZ 71.731 778.968 null] ->> endobj -1980 0 obj << -/Font << /F26 1184 0 R /F33 1203 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2085 0 obj << -/Length 23347 -/Filter /FlateDecode ->> -stream -xÚÅÝ]dW~ù{} -^ÊÎŒ|¿´4mcÆÂ@°å+Ã08du«`5i°ª…îo?'ëìµ3ÖÎ<O<%`0ð…ëôúETÌ"ûÿ0n¸ÙþßíO·§§»í<=Ÿ^ŸøéOsó÷ÿËú›ÛñÄýýËéáùeûß?ø?þîá|{º;ÿ𻋿û§¿ù÷ÿñ|þá|sz|xùáŸþ0‘‡óéånûÿùù¿ÿí?|þòõßýîüôü·¿þaÿŸ¿ÿËúßÿòéË¿ûÿôýÍïÿi··›ÿpþáéü²í}ø—g~wñÐþ2xÙ^×Ýë«X‡^_ÆíïnO¯à¿ÿww?¼¾ƒÇoO>ŸÎ¯ã¯üøÓOŸþ÷×ý¡Ë¹»ûÓÓÓxæþ姯Ÿýe{'7ûç/?þñÓú6Îw7ßþ“ð6nN·O¿Ìç»ÛÓíöñ
æ¡Ë7xzÿ:îNçû^ÇêþìµÔÇÓííƒT÷g¯¨=x >Ÿo¬º?{EíÁÕûÛÓÍË£Sdz¬.ƒêÝö§é“T÷g¯¨=x >žnž¬º?{EíÁõùô°ýÅÆ©û³WÔüX}Ø>†í/hJϲº¨ÛÇpoÕýÙ+j¨ÛÇ ÿ"±?zŬ¹rû^J(sö -Úƒ«Ûgp–êx–Õeð@Ý>ƒÛ³T÷g¯¨=x nŸÂU÷g¯¨=x >Ÿî_?{EíÁÕ§íÇí³ü#x<Ëê2x Þº?{EíÁõa{^þ˜Ï^Q{ð@Ý>†ùcn<{EíÁÕçíc¸—êx–Õeð@Ý>†;ùcn<{EíÁuûÎòÇÜxöŠÚƒêö1ÜZuöŠÚƒ«/ÛÇp#ÌgY]Ôícæë“WÄ˱ïáôlßä·G¯ˆ5w@>Ÿîžå¸ñì´?TïnnNÏOîGMžEu<PïNwVÝŸ½¢öàº} -wRÝŸ½¢öàº}÷÷RÝŸ½¢öàÇêíö1ÜIu<Ëê2x nÃùAªû³WÔ<P·áöQªû³WÔ<P·áƪû³WÔüX=ßœž^ܸ<Ëê2x Þ¶ŸRÝŸ½¢öàúpzz²êþìµÔרô"ÕýÙ+j~¬Þmƒüƒi”Íž; ·Ï@þ¹º?z…¬¹rû -·ògÜxöŠÚƒêö1È‘g¯¨=x >Ÿn_¬º?{EíÁÕ‡›Óã³üóf<Ëê2x Þní_ ƳWÔ<PNVÝŸ½¢öàº}ògÜxöŠÚƒ«ÛÇp/ÚŒgY]Ôíc¸³êþìµÔíc8ËŸqãÙ+j¨ÛÇ ÿ‚¸?zŬ¹É§í3?oöG™ì¹rû -ÚƒêÓéñɪû³WÔüX}Ù>y|’gY]ÔíSÇ'yöŠÚƒêö1Ü[uöŠÚƒêö1Èã“<{EíÁÕ‡›ícÿ…vžEu<P·áÖªû³WÔ<P·AŸäÙ+j¨O§ùÏ™òìµ?VooN72˜È³¬.ƒêùô OòìµÔ‡ÓÍÇÁÄ̬¶ßðÝE^·ÛßѼ\{!ûC—/äþÝÙs1j¹îon·ßnïúÛ?B;_é½6ôiûã{¯ñÌÞ{¯õ^?ýúË/Ÿ~ú øÚþvûóç;‚¯í×ãõ/io/q}ç=_é‘à-Îéâ-÷Hï_ôH¤.ƒÜ#)5=ª=È=’RÓ#¡ÚƒÜ#)5=ª=È=’QgDê2È=’RÓ#¡ÚƒØ#)tôHhÖ÷HÊL„hrdÔÙ#‘ºr¤ÔôH¨ö ÷HJM„jr¤ÔôH¨ö ÷HF=©Ë ÷HJM„jr¤ÔôH¨ö ÷HJM„jrdÔÙ#‘ºr¤ÔôH¨ö ÷HJM„jr¤ÔôH¨ö ÷HF=©Ë õHÊÜ{$/ǰGRàè‘P¬9î‘”™ ÑäI¨o=¨ë ÷HJM„jr¤ÔôH¨ö ÷HJM„jrdÔÙ#‘ºr¤ÔôH¨ö ÷HJM„jr¤ÔôH¨ö ÷HF=©Ë ÷HJM„jr¤ÔôH¨ö ÷HJM„jbdÐôHdööHŠ=’5Ç=’2Ó#!ÚƒÜ#)5=ª=È=’QgDê2È=’RÓ#¡ÚƒÜ#)5=ª=È=’RÓ#¡ÚƒÜ#uöH¤.ƒÜ#)5=ª=È=’RÓ#¡ÚƒÜ#)5=ª=È=’QgDê2È=’RÓ#¡ÚƒÜ#)5=ª=ˆ=’BG„fÍadÈôHDö÷HÊL„hr¤ÔôH¨ö ÷HJM„jrdÔÙ#‘ºr¤ÔôH¨ö ÷HJM„jr¤ÔôH¨ö ÷HF=©Ë ÷HJM„jr¤ÔôH¨ö ÷HJM„jr$Ô· Ôu{$¥¦GBµ¹GRjz$T{{$…Ž Íšãɘ³G"täI©é‘PíAî‘”š ÕäI©é‘PíA:{$R—Aî‘”š ÕäI©é‘PíAî‘”š Õäɨ³G"uäI©é‘PíAî‘”š ÕäI©é‘PíA:{$R—Aî‘”š ÕÄI¡£GB³æ¸GRfz$D{{$£Î‰Ôe{$¥¦GBµ¹GRjz$T{{$¥¦GBµ¹G2êì‘H]¹GRjz$T{{$¥¦GBµ¹GRjz$T{{$£Î‰Ôe{$¥¦GBµ¹GRjz$T{{$¥¦GBµ¹G2êì‘H]±GRèè‘Ь9î‘”™ ÑäI©é‘PíA:{$R—Aî‘”š ÕäI©é‘PíAî‘”š ÕäI¨o=¨ë ÷HJM„jr¤ÔôH¨ö ÷HJM„jrdÔÙ#‘ºr¤ÔôH¨ö ÷HÇmŒë‘ð…Œéâ…<õHǯcé‘n¯ôH7w§§í7oØ#göéîZô—‡›—÷1Òùþt3‹¥ùñË*‘n¶_‰×ßǾ½¸÷%ÒÝÃa‰tó|zúöÏåáÍå¡Ë7÷þöóvûTož?z!ïÕñ,«Ëàz·ýÆàEªû³WÔ<P·ßXuöŠÚƒêóéÑþ{ôŠYs“ÛŸB·¯¿1æx–Ñeð@Ý>ƒG«îÏ^Q{ð@Ý>ƒ‹?…YÝŸ½¢öàº} -¯¿Qêþìµ¾<m|›œQç×Ó‘ºò×Ó)5_O‡jò×Ó)5_O‡jò×Ó)59(ª=È9¨QgJê2È9¨R“ƒ¢Úƒœƒ*59(ª=È9¨R“ƒ¢Úƒœƒuæ ¤.ƒœƒ*59(ª=ˆ9¨BGŠfÍqªÌä ˆö ç F9(©Ë ç JMŠjrªÔä ¨ö ç JMŠjrjÔ™ƒ’ºrªÔä ¨ö ç JMŠjrªÔä ¨ö ç F9(©Ë ç JMŠjrªÔä ¨ö ç JMŠjrjÔ™ƒ’ºRªÌ=EñrsPŽÅšãT™ÉAíAÎA…ú–ƒ‚ºrªÔä ¨ö ç JMŠjrªÔä ¨ö ç F9(©Ë ç JMŠjrªÔä ¨ö ç JMŠjrjÔ™ƒ’ºrªÔä ¨ö ç JMŠjrªÔä ¨ö æ MJfÏaªÈ‘ƒ"Ysœƒ*39(¢=È9¨R“ƒ¢Úƒœƒuæ ¤.ƒœƒ*59(ª=È9¨R“ƒ¢Úƒœƒ*59(ª=È9¨QgJê2È9¨R“ƒ¢Úƒœƒ*59(ª=È9¨R“ƒ¢Úƒœƒuæ ¤.ƒœƒ*59(ª=È9¨R“ƒ¢Úƒ˜ƒ*tä hÖæ †LJdÏqªÌä ˆö ç JMŠjrªÔä ¨ö ç F9(©Ë ç JMŠjrªÔä ¨ö ç JMŠjrjÔ™ƒ’ºrªÔä ¨ö ç JMŠjrªÔä ¨ö ç B}ËAA]9UjrPT{sP¥&Eµ1UèÈAѬ9ÎA9sPB—AÎA•šÕäT©ÉAQíAÎA•šÕäÔ¨3%uäT©ÉAQíAÎA•šÕäT©ÉAQíAÎA:sPR—AÎA•šÕäT©ÉAQíAÎA•šÕäÔ¨3%uäT©ÉAQíAÌA:rP4kŽsPe&E´95êÌAI]9UjrPT{sP¥&Eµ9UjrPT{sP£Î”ÔesP¥&Eµ9UjrPT{sP¥&Eµ95êÌAI]9UjrPT{sP¥&Eµ9UjrPT{sP£Î”ÔesP…ŽÍšãT™ÉAíAÎA•šÕäÔ¨3%uäT©ÉAQíAÎA•šÕäT©ÉAQíAÎA…ú–ƒ‚ºrªÔä ¨ö ç JMŠjrªÔä ¨ö ç F9(©Ë ç JMŠjrz(º_ÈÈA/^ÈÓQzü:¾/}Üþù|s9hžÙsÐûk9è?ÿüû¿|ýôË—×oŸ{—…n¿m»Ùþ.vôOŸ¾þó¯?Sú°ý·?Õ/^æû_÷×´ç Mp@o3]¾ÍÃààƒr°Úƒ8u¬ö NÁ«=ˆÁR ºbpàÔ°Úƒ8u¬ö NÁ«=ˆÁR ºbpàÔ°Úƒ8u¬ö NÁ«=ˆÁR ºBpàÌoÁ‹—c8pX¬9œ9‚F{ƒ£Îà€Ôuƒ§Žà€ÕÄàÀ©#8`µ18pêXíA”šà -:‚4{Ž‚GîÁ“5‡Á3GpÀhbpàÔ°Úƒ(5ÁªË NÁ«=ˆÁSGpÀjbpàÔ°Úƒ(5ÁªË NÁ«=ˆÁSGpÀjbpàÔ°Úƒ(5ÁªË NÁ«=ˆÁSGpÀjRpàÐ=8`³æ(8Päì9œ9‚F{ƒ§Žà€ÕÄàÀ©#8`µ18Pj‚T—Aœ:‚V{ƒ§Žà€ÕÄàÀ©#8`µ18Pj‚T—Aœ:‚V{ƒ§Žà€ÕÄàÀ©#8`µ180êH]18pêXíAœ:‚V{‚‡îÁ›5‡Á2 ºbpàÔ°Úƒ8u¬ö NÁ«=ˆÁR ºbpàÔ°Úƒ8u¬ö NÁ«=ˆÁR ºbpàÔ°Úƒ8u¬ö NÁ«=ˆÁR ºbpàÔ°Úƒ8tج9œ9‚F{ƒ¥&8@uÄàÀ©#8`µ18pêXíAœ:‚V{ƒ¥&8@uÄàÀ©#8`µ18pêXíAœ:‚V{ƒ¥&8@uÄàÀ©#8`µ18pêXíAœ:‚V{ƒ¥&8@u¤àÀ¡{pÀfÍapàÌ0Úƒ8u¬ö JMp€ê2ˆÁSGpÀjbpàÔ°Úƒ8u¬ö FÁ©ë NÁ«=ˆÁSGpÀjbpàÔ°Úƒà1øöSëèÿötwí¿ ÌCuò~sp„¯c9Â?_9Âzýû»3ágö#ü‡kGøüôõ¿|ú×_ÿ×§ŸßŸà?<žÎÏ9Áÿßùéëë¥>áŸO÷¯¿£}{™á?áçKèmæ¡Ë·yô¥ -¼ŽÃ/U`³æðKœ9¾TÑÄ/UPêlH]¹qPjT{¥¦q@µ¹qPjT{£ÎÆÔe¥¦q@µ¹qPjT{¥¦q@µ¹q0êlH]¹qPjT{¥¦q@µ¹qPjT{£ÎÆÔeecØ8(p4(Ö7ÊLã€hrã Ô·ÆÔu¥¦q@µ¹qPjT{¥¦q@µ¹q0êlH]¹qPjT{¥¦q@µ¹qPjT{£ÎÆÔe¥¦q@µ¹qPjT{¥¦q@µ±q0h2{EŽÆÉšãÆA™iíAn”šÆÕäÆÁ¨³q uäÆA©iPíAn”šÆÕäÆA©iPíAnŒ:R—An”šÆÕäÆA©iPíAn”šÆÕäÆÁ¨³q uäÆA©iPíAn”šÆÕÄÆA¡£q@³æ°q0d"{Že¦q@´¹qPjT{¥¦q@µ¹q0êlH]¹qPjT{¥¦q@µ¹qPjT{£ÎÆÔe¥¦q@µ¹qPjT{¥¦q@µ¹qê[ã -Š5ǃ2Ó8 ÚƒÜ8õq -š5ǃ2Ó8 ÚƒÜ8(5ª=ȃQgã@ê2ȃRÓ8 ÚƒÜ8(5ª=ȃRÓ8 ÚƒÜ8õq -Gø(Öá+3Gøˆö áõíÔuð•š#|T{ð•š#|T{ð•š#|T{ð:ðI]ù_©9ÂGµù_©9ÂGµù_©9ÂGµùߨóŸÔeð•š#|T{ð•š#|T{ð•š#|T{ð
š#|2{ð9Žð‘¬9>ÂWfŽðíA>ÂWjŽðQíA>Â7ê<Â'uä#|¥æÕä#|¥æÕä#|¥æÕä#|£Î#|R—A>ÂWjŽðQíA>ÂWjŽðQíA>ÂWjŽðQíA>Â7ê<Â'uä#|¥æÕä#|¥æÕÄ#|…Ž#|4kð
™#|"{Žð•™#|D{ð•š#|T{ð•š#|T{ð:ðI]ù_©9ÂGµù_©9ÂGµù_©9ÂGµùߨóŸÔeð•š#|T{ð•š#|T{ð•š#|T{ð…úv„ê:ÈGøJÍ>ª=ÈGøJÍ>ª=ˆGø -GøhÖásáºò¾Rs„jò¾Rs„jò¾Rs„jò¾Qç>©Ë á+5Gø¨ö á+5Gø¨ö á+5Gø¨ö áuᓺò¾Rs„jò¾Rs„jò¾Rs„jò¾Qç>©Ë á+5Gø¨ö á+tá£Ys|„¯Ìá#Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøFGø¤.ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøFGø¤.ƒx„¯Ðq„fÍñ¾2s„hò¾Rs„jò¾Qç>©Ë á+5Gø¨ö á+5Gø¨ö á+5Gø¨ö áõíÔuð•š#|T{ð•š#|T{ð•š#|T{ðé\áÓëÈþåÉûÝÑþñëøÎ/¸{>½¼<óþxf?ÂþÿåÿíeþÛŽðámÎ#ü‹·y|„ÿþ…À>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøFGø¤.ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøFGø¤.ƒt„¯ÌýÅË1<ÂWà8ÂG±æø_™9ÂG´ù_¨oGø ®ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøFGø¤.ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒx„oÐá“Ùsx„¯Èq„dÍñ¾2s„hò¾Rs„jò¾Qç>©Ë á+5Gø¨ö á+5Gø¨ö á+5Gø¨ö áuᓺò¾Rs„jò¾Rs„jò¾Rs„jò¾Qç>©Ë á+5Gø¨ö á+5Gø¨ö á+tá£Ysx„oÈáÙs|„¯Ìá#Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøFGø¤.ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„/Ô·#|P×A>ÂWjŽðQíA>ÂWjŽðQíA<ÂWè8ÂG³æøß˜óŸÐeð•š#|T{ð•š#|T{ð•š#|T{ð:ðI]ù_©9ÂGµù_©9ÂGµù_©9ÂGµùߨóŸÔeð•š#|T{ð•š#|T{ð•š#|T{ð:ðI]ù_©9ÂGµñ_¡ãÍšã#|eæÑä#|£Î#|R—A>ÂWjŽðQíA>ÂWjŽðQíA>ÂWjŽðQíA>Â7ê<Â'uä#|¥æÕä#|¥æÕä#|¥æÕä#|£Î#|R—A>ÂWjŽðQíA>ÂWjŽðQíA>ÂWjŽðQíA>Â7ê<Â'uÄ#|…Ž#|4kŽð•™#|D{ð•š#|T{ð:ðI]ù_©9ÂGµù_©9ÂGµù_©9ÂGµù_¨oGø ®ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„OÇàâŸ^GŽð/OÞŽŽð_Çwþ›ðϧ›í·x„?žÙð_®áÿåáæå~ùúëoŸÞŸà?<žÎÏ9Áÿé_~üò….ð·7ùøzdöö×7r>m¿¿?ºÀ¿ßïóñ=æ¡Ë÷øþ,òþîôðúé¿!¨û³WÔ<P·ÿã“U÷g¯¨=x >Ÿ¶?zœº?{EíÁÕ‡ícxxqêx–Õeð@Ý>†{«îÏ^Q{ð@}ý?JôÛ£WÌš; ·ÏàîVšû³WÐ<ˆ9FÝbԙ˺r.£Ôä2¨ö ç2JM.ƒjr.£Ôä2¨ö ç2F¹©Ë ç2JM.ƒjr.£Ôä2¨ö ç2JM.ƒjr.cԙ˺r.£Ôä2¨ö ç2JM.ƒjr.£Ôä2¨ö ç2F¹©Ë å2ÊÜs/Ç0—QàÈeP¬9Îe”™\Ñä\F¨o¹¨ë ç2JM.ƒjr.£Ôä2¨ö ç2JM.ƒjr.cԙ˺r.£Ôä2¨ö ç2JM.ƒjr.£Ôä2¨ö ç2F¹©Ë ç2JM.ƒjr.£Ôä2¨ö ç2JM.ƒjb.cÐä2döæ2й’5ǹŒ2“Ë ÚƒœË(5¹ª=ȹŒQg.Cê2ȹŒR“Ë ÚƒœË(5¹ª=ȹŒR“Ë ÚƒœËuæ2¤.ƒœË(5¹ª=ȹŒR“Ë ÚƒœË(5¹ª=ȹŒQg.Cê2ȹŒR“Ë ÚƒœË(5¹ª=ˆ¹ŒBG.ƒfÍa.cÈä2Döç2ÊL.ƒhr.£Ôä2¨ö ç2JM.ƒjr.cԙ˺r.£Ôä2¨ö ç2JM.ƒjr.£Ôä2¨ö ç2F¹©Ë ç2JM.ƒjr.£Ôä2¨ö ç2JM.ƒjr.#Ô·\Ôus¥&—Aµ9—QjrT{s…Ž\Íšã\Ƙ3—!tä\F©ÉePíAÎe”š\Õä\F©ÉePíAÎeŒ:sR—AÎe”š\Õä\F©ÉePíAÎe”š\Õä\ƨ3—!uä\F©ÉePíAÎe”š\Õä\F©ÉePíAÎeŒ:sR—AÎe”š\ÕÄ\F¡#—A³æ8—QfrD{s£Î\†Ôes¥&—Aµ9—QjrT{s¥&—Aµ9—1êÌeH]9—QjrT{s¥&—Aµ9—QjrT{s£Î\†Ôes¥&—Aµ9—QjrT{s¥&—Aµ9—1êÌeH]1—QèÈeЬ9Îe”™\Ñä\F©ÉePíAÎeŒ:sR—AÎe”š\Õä\F©ÉePíAÎe”š\Õä\F¨o¹¨ë ç2JM.ƒjr.£Ôä2¨ö ç2JM.ƒjr.s\n¨\†^Gr™Ë8å0—9~ßù·w§›íïÛ1—Ïì¹Ìö+ñ¾—y=¥¹?æçÏüôåëûVæîþôôdS™óyÿcáíõ½ÿØ~'vÊl/èñÛ?íƒ÷—‡.ßßû“ÈíWúöâO"dzWÔ<P_K¡;©îÏ^Q{ðcõîöt{'Õñ,«Ëàº}ç{©îÏ^Q{ð@Ý>†×¿Ä)uöŠÚƒêö1ÜXuöŠÚƒ ÔhÂŒ:#3R—AŽÌ”šÈÕäÈL©‰ÌPíAŽÌ”šÈÕäĘ̀32#uäÈL©‰ÌPíAŒÌ:"34kŽ#3e&2C´923êŒÌH]92Sj"3T{#3¥&2Cµ92Sj"3T{#3£ÎÈŒÔe#3¥&2Cµ92Sj"3T{#3¥&2Cµ923êŒÌH]92Sj"3T{#3¥&2Cµ92Sj"3T{#3£ÎÈŒÔe"3e—c™)pDf(ÖGfÊLd†hrd&Ô·ÈÔu#3¥&2Cµ92Sj"3T{#3¥&2Cµ923êŒÌH]92Sj"3T{#3¥&2Cµ92Sj"3T{#3£ÎÈŒÔe#3¥&2Cµ92Sj"3T{#3¥&2Cµ123h"32{#3EŽÈÉšãÈL™‰ÌíAŽÌ”šÈÕäĘ̀32#uäÈL©‰ÌPíAŽÌ”šÈÕäÈL©‰ÌPíAŽÌŒ:#3R—AŽÌ”šÈÕäÈL©‰ÌPíAŽÌ”šÈÕäĘ̀32#uäÈL©‰ÌPíAŽÌ”šÈÕÄÈL¡#2C³æ023d"3"{Ž#3e&2C´92Sj"3T{#3¥&2Cµ923êŒÌH]92Sj"3T{#3¥&2Cµ92Sj"3T{#3£ÎÈŒÔe#3¥&2Cµ92Sj"3T{#3¥&2Cµ92ê[dê:È‘™R™¡Úƒ™)5‘ª=ˆ‘™BGd†fÍqdfÌ™ºrd¦ÔDf¨ö GfJMd†jrd¦ÔDf¨ö GfF‘©Ë GfJMd†jrd¦ÔDf¨ö GfJMd†jrdfÔ™‘ºrd¦ÔDf¨ö GfJMd†jrd¦ÔDf¨ö GfF‘©Ë GfJMd†jbd¦Ð™¡Ys™)3‘¢=È‘™QgdFê2È‘™R™¡Úƒ™)5‘ª=È‘™R™¡Úƒ™uFf¤.ƒ™)5‘ª=È‘™R™¡Úƒ™)5‘ª=È‘™QgdFê2È‘™R™¡Úƒ™)5‘ª=È‘™R™¡Úƒ™uFf¤.ƒ™)tDfhÖGfÊLd†hrd¦ÔDf¨ö GfF‘©Ë GfJMd†jrd¦ÔDf¨ö GfJMd†jrd&Ô·ÈÔu#3¥&2Cµ92Sj"3T{#3¥&2Cµ92£æIDfô:™]&]OG‘ÙñëøÎÈìõ¯û{ŽÌÆ3#2»½™ý׿þéOŸ¾þöù§¾“éæôrû_Ét~ý]ÏÛK\ßÇö7/GÙltà-ÎFçâ-7:ï_4:¤.ƒÜè(5ª=ÈŽRÓè ÚƒÜè(5ª=ÈŽQg£Cê2ÈŽRÓè ÚƒØè(t4:hÖ7:ÊL£ƒhr£cÔÙèºr££Ô4:¨ö 7:JM£ƒjr££Ô4:¨ö 7:F©Ë 7:JM£ƒjr££Ô4:¨ö 7:JM£ƒjr£cÔÙèºr££Ô4:¨ö 7:JM£ƒjr££Ô4:¨ö 7:F©Ë 5:ÊÜ/ǰÑQàhtP¬9nt”™FÑäFG¨o¨ë 7:JM£ƒjr££Ô4:¨ö 7:JM£ƒjr£cÔÙèºr££Ô4:¨ö 7:JM£ƒjr££Ô4:¨ö 7:F©Ë 7:JM£ƒjr££Ô4:¨ö 7:JM£ƒjb£cÐ4:dö6:Š’5ÇŽ2Óè ÚƒÜè(5ª=ÈŽQg£Cê2ÈŽRÓè ÚƒÜè(5ª=ÈŽRÓè ÚƒÜèu6:¤.ƒÜè(5ª=ÈŽRÓè ÚƒÜè(5ª=ÈŽQg£Cê2ÈŽRÓè ÚƒÜè(5ª=ˆŽBG£ƒfÍa£cÈ4:Dö7:ÊL£ƒhr££Ô4:¨ö 7:JM£ƒjr£cÔÙèºr££Ô4:¨ö 7:JM£ƒjr££Ô4:¨ö 7:F©Ë 7:JM£ƒjr££Ô4:¨ö 7:JM£ƒjr£#Ô·FÔu¥¦ÑAµ¹ÑQjT{…ŽFÍšãFǘ³Ñ!täFG©itPíAnt”šFÕäFG©itPíAntŒ:R—Ant”šFÕäFG©itPíAnt”šFÕäFǨ³Ñ!uäFG©itPíAnt”šFÕäFG©itPíAntŒ:R—Ant”šFÕÄFG¡£ÑA³æ¸ÑQfD{£ÎF‡Ôe¥¦ÑAµ¹ÑQjT{¥¦ÑAµ¹Ñ1êltH]¹ÑQjT{¥¦ÑAµ¹ÑQjT{£ÎF‡Ôe¥¦ÑAµ¹ÑQjT{¥¦ÑAµ¹Ñ1êltH]±ÑQèhtЬ9nt”™FÑäFG©itPíAntŒ:R—Ant”šFÕäFG©itPíAnt”šFÕäFG¨o¨ë 7:JM£ƒjr££Ô4:¨ö 7:JM£ƒjr£sÜ‹¨F‡^GË"æù¨Ñ9~K£sæFçaû«ÕíË<3óµFçÇ/é<žÎÏ/¶Ò¹ýFŸÇ.^äúNΧû‡Û£J'
½É<tù&’^ÈqCÂjbC¢Ô4$¨.ƒØ8u4$¬ö 5$Ý6kgކ„ÑĆD©iHP]±!qêhHXíAlHœ:V{§Ž†„ÕĆD©iHP]±!qêhHXíAlHœ:V{§Ž†„ÕĆD©iHP]±!qêhHXíAlHœ:V{§Ž†„ÕĆD©iHP]¡!qæ·†„ÅË1jH¸7$,Ö6$Î
£=ˆ
‰QgCBê:ˆ
‰SGCÂjbCâÔѰڃØ8u4$¬ö 6$JMC‚ê2ˆ
‰SGCÂjbCâÔѰڃØ8u4$¬ö 6$JMC‚ê2ˆ
‰SGCÂjbCâÔѰڃØ8u4$¬ö 5$ -
š=G
‰#÷†„ɚÆę£!a´±!qêhHXíAlH”š†Õe§Ž†„ÕĆĩ£!aµ±!qêhHXíAlH”š†Õe§Ž†„ÕĆĩ£!aµ±!qêhHXíAlH”š†Õe§Ž†„ÕĆĩ£!aµ©!qèÞ°YsÔ(r4$Hö6$Î
£=ˆ
‰SGCÂjbCâÔѰڃØ(5
ªË 6$N
«=ˆ
‰SGCÂjbCâÔѰڃØ(5
ªË 6$N
«=ˆ
‰SGCÂjbCâÔѰڃØu6$¤®ƒØ8u4$¬ö 6$N
«=H
‰C÷†„͚ÆD™iH]±!qêhHXíAlHœ:V{§Ž†„ÕĆD©iHP]±!qêhHXíAlHœ:V{§Ž†„ÕĆD©iHP]±!qêhHXíAlHœ:V{§Ž†„ÕĆD©iHP]±!qêhHXíAjHº7$lÖ6$Î
£=ˆ
‰RÓ ºbCâÔѰڃØ8u4$¬ö 6$N
«=ˆ
‰RÓ ºbCâÔѰڃØ8u4$¬ö 6$N
«=ˆ
‰RÓ ºbCâÔѰڃØ8u4$¬ö 6$N
«=ˆ
‰RÓ ºRCâн!a³æ°!qæhHíAlHœ:V{¥¦!AuĆĩ£!aµ±!qêhHXíAlHœ:V{£Î†„Ôu§Ž†„ÕĆĩ£!aµ±!qêhHXíAlH f0
¾ŽñÐåë8ß4$ð:¾ï{^žîOçû[nHÆ3£!¹»Öüë§ß>ÿá¯ïû‘»ûÓÓÓxæOŸ¾þó¯?ã·¼l¾þ>àí¾ÿ–———§ÃoyyÍOîù
æ¡Ë7øþ&òîñtûúçÂûòº?{EíÁuÿ§Žo´aµñm”šo´AuÄo´qêøFV{¿ÑÆ©©‘PíA®‘”š Õäɨ³F"uäI©©‘PíA¬‘:j$4kŽk$e¦FB´¹F2ꬑH]¹FRjj$T{k$¥¦FBµ¹FRjj$T{k$£Î‰Ôek$¥¦FBµ¹FRjj$T{k$¥¦FBµ¹F2ꬑH]¹FRjj$T{k$¥¦FBµ¹FRjj$T{k$£Î‰Ôej$eî5Š—cX#)pÔH(Ö×HÊL„hr$Ô· Ôuk$¥¦FBµ¹FRjj$T{k$¥¦FBµ¹F2ꬑH]¹FRjj$T{k$¥¦FBµ¹FRjj$T{k$£Î‰Ôek$¥¦FBµ¹FRjj$T{k$¥¦FBµ±F2hj$2{k$EŽ ÉšãI™©‘íA®‘”š Õäɨ³F"uäI©©‘PíA®‘”š ÕäI©©‘PíA®‘Œ:k$R—A®‘”š ÕäI©©‘PíA®‘”š Õäɨ³F"uäI©©‘PíA®‘”š ÕÄI¡£FB³æ°F2dj$"{Žk$e¦FB´¹FRjj$T{k$¥¦FBµ¹F2ꬑH]¹FRjj$T{k$¥¦FBµ¹FRjj$T{k$£Î‰Ôek$¥¦FBµ¹FRjj$T{k$¥¦FBµ¹Fê[ê:È5’RS#¡Úƒ\#)55ª=ˆ5’BG„fÍqdÌY#ºr¤ÔÔH¨ö ×HJM„jr¤ÔÔH¨ö ×HF5©Ë ×HJM„jr¤ÔÔH¨ö ×HJM„jrdÔY#‘ºr¤ÔÔH¨ö ×HJM„jr¤ÔÔH¨ö ×HF5©Ë ×HJM„jb¤ÐQ#¡Ys\#)35¢=È5’QgDê2È5’RS#¡Úƒ\#)55ª=È5’RS#¡Úƒ\#uÖH¤.ƒ\#)55ª=È5’RS#¡Úƒ\#)55ª=È5’QgDê2È5’RS#¡Úƒ\#)55ª=È5’RS#¡Úƒ\#uÖH¤.ƒX#)tÔHhÖ×HÊL„hr¤ÔÔH¨ö ×HF5©Ë ×HJM„jr¤ÔÔH¨ö ×HJM„jr$Ô· Ôuk$¥¦FBµ¹FRjj$T{k$¥¦FBµ¹F:ncTD¯#5ÒÅë8Ÿj¤ã×ñßhóxûí+f°FÏ|{E¿»=í
Ñýôõëç_þø¾Lºßþ·íïÉ÷êèï?ýöõó>ÿôã×÷½Ñyûé÷záôö>èQÏççÓã·¿TÀ[ÈC—oáƒòçöt{w÷Ñù üÙŸeu<PG -¥Ô´U¨ö ·UJM[…jr[¥Ô´U¨ö ·UFm©Ë ·UJM[…jr[¥Ô´U¨ö ·UJM[…jr[eÔÙV‘ºr[¥Ô´U¨ö ¶U -mš5Çm•2ÓV!ÚƒÜVu¶U¤.ƒÜV)5mª=Èm•RÓV¡ÚƒÜV)5mª=Èm•Qg[Eê2Èm•RÓV¡ÚƒÜV)5mª=Èm•RÓV¡ÚƒÜVu¶U¤.ƒÜV)5mª=Èm•RÓV¡ÚƒÜV)5mª=Èm•Qg[Eê2Hm•2÷¶ -ÅË1l«8Ú*kŽÛ*e¦B´¹ê[[ê:Èm•RÓV¡ÚƒÜV)5mª=Èm•RÓV¡ÚƒÜVu¶U¤.ƒÜV)5mª=Èm•RÓV¡ÚƒÜV)5mª=Èm•Qg[Eê2Èm•RÓV¡ÚƒÜV)5mª=Èm•RÓV¡ÚƒØV4m™=‡m•"G[…dÍq[¥Ì´Uˆö ·UJM[…jr[eÔÙV‘ºr[¥Ô´U¨ö ·UJM[…jr[¥Ô´U¨ö ·UFm©Ë ·UJM[…jr[¥Ô´U¨ö ·UJM[…jr[eÔÙV‘ºr[¥Ô´U¨ö ·UJM[…jb[¥ÐÑV¡YsØV2m‘=Çm•2ÓV!ÚƒÜV)5mª=Èm•RÓV¡ÚƒÜVu¶U¤.ƒÜV)5mª=Èm•RÓV¡ÚƒÜV)5mª=Èm•Qg[Eê2Èm•RÓV¡ÚƒÜV)5mª=Èm•RÓV¡ÚƒÜV õuä¶J©i«PíAn«”š¶ -ÕĶJ¡£B³æ¸2æl«]¹RjÚ*T{Û*¥¦Bµ¹RjÚ*T{Û*£Î¶ŠÔeÛ*¥¦Bµ¹RjÚ*T{Û*¥¦Bµ¹2êl«H]¹RjÚ*T{Û*¥¦Bµ¹RjÚ*T{Û*£Î¶ŠÔeÛ*¥¦Bµ±Rèh«Ð¬9n«”™¶ -Ñä¶Ê¨³"uä¶J©i«PíAn«”š¶ -Õä¶J©i«PíAn«Œ:Û*R—An«”š¶ -Õä¶J©i«PíAn«”š¶ -Õä¶Ê¨³"uä¶J©i«PíAn«”š¶ -Õä¶J©i«PíAn«Œ:Û*R—Al«:Ú*4kŽÛ*e¦B´¹RjÚ*T{Û*£Î¶ŠÔeÛ*¥¦Bµ¹RjÚ*T{Û*¥¦Bµ¹ê[[ê:Èm•RÓV¡ÚƒÜV)5mª=Èm•RÓV¡ÚƒÜVw@ª¢×‘¶êâuÜݵUǯã;¿ééþyûûgn«Æ3{[uþà‹žn_¯KnGNõåÓ×ÿûׯ÷é¿þöéý×=m¿•¹ÙþÎÎ~ßÓÃö|ýÃÿíe¾ÿuÍ]ú«y„osá_¼Íã#ü÷/ŽðQíA>ÂWjŽðQíA>ÂWjŽðQíA>Â7ê<Â'uä#|¥æÕä#|¥æÕä#|¥æÕä#|£Î#|R—A>ÂWjŽðQíA>ÂWjŽðQíA>ÂWjŽðQíA>Â7ê<Â'u¤#|eîGø(^Žá¾Ç>Š5ÇGøÊÌ>¢=ÈGøB};Âuä#|¥æÕä#|¥æÕä#|¥æÕä#|£Î#|R—A>ÂWjŽðQíA>ÂWjŽðQíA>ÂWjŽðQíA>Â7ê<Â'uä#|¥æÕä#|¥æÕä#|¥æÕÄ#|ƒæŸÌžÃ#|EŽ#|$kŽð•™#|D{ð•š#|T{ð:ðI]ù_©9ÂGµù_©9ÂGµù_©9ÂGµùߨóŸÔeð•š#|T{ð•š#|T{ð•š#|T{ð:ðI]ù_©9ÂGµù_©9ÂGµñ_¡ãÍšÃ#|CæŸÈžã#|eæÑä#|¥æÕä#|¥æÕä#|£Î#|R—A>ÂWjŽðQíA>ÂWjŽðQíA>ÂWjŽðQíA>Â7ê<Â'uä#|¥æÕä#|¥æÕä#|¥æÕä#|¡¾áƒºò¾Rs„jò¾Rs„jâ¾BÇ>š5ÇGøÆœGø„.ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøFGø¤.ƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„¯Ôá£Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ˆGø -GøhÖá+3Gøˆö áuᓺò¾Rs„jò¾Rs„jò¾Rs„jò¾Qç>©Ë á+5Gø¨ö á+5Gø¨ö á+5Gø¨ö áuᓺò¾Rs„jò¾Rs„jò¾Rs„jò¾Qç>©Ë á+tá£Ys|„¯Ìá#Úƒ|„¯Ôá£Úƒ|„oÔy„Oê2ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøJÍ>ª=ÈGøB};Âuä#|¥æÕä#|¥æÕä#|¥æÕä#|:Gøô:r„ñ:ð_Çw~ÁÉëßUnGøã™ýÿîßú'ÿðùË×÷ßð²ýãᇋ—ñþ×õù|td?¿¾ -åš5‡å„!SNÙs\N(3å¢=Èå„RSN Úƒ\N(5åª=Èå„Qg9Aê2Èå„RSN Úƒ\N(5åª=Èå„RSN Úƒ\Nu–¤.ƒ\N(5åª=Èå„RSN Úƒ\N(5åª=Èå„PßÊ P×A.'”šrÕärB©)'PíA,':Ê 4kŽË cÎr‚ÐeË ¥¦œ@µ¹œPjÊ T{Ë ¥¦œ@µ¹œ0ê,'H]¹œPjÊ T{Ë ¥¦œ@µ¹œPjÊ T{Ë £Îr‚ÔeË ¥¦œ@µ¹œPjÊ T{Ë ¥¦œ@µ¹œ0ê,'H]¹œPjÊ T{Ë …ŽrÍšãrB™)'íA.'Œ:Ë R—A.'”šrÕärB©)'PíA.'”šrÕär¨³œ uärB©)'PíA.'”šrÕärB©)'PíA.'Œ:Ë R—A.'”šrÕärB©)'PíA.'”šrÕär¨³œ uÄrB¡£œ@³æ¸œPfÊ D{Ë ¥¦œ@µ¹œ0ê,'H]¹œPjÊ T{Ë ¥¦œ@µ¹œPjÊ T{Ë ¡¾• ®ƒ\N(5åª=Èå„RSN Úƒ\N(5åª=Èå]ø‹r‚^Gʉ‹×q÷xTN¿Žïüú‚óù´ý%—㙽œ¸ÿ®râï~üòù§¿ÿõ—/_ûñó/_¿¼?ä¿ßÿH{{ïaï·?ŽÒ‰ÑÀÛHOpñ.Ž{‚÷/zD{{£Îž€Ôe{¥¦'@µ¹'PjzT{{¥¦'@µ¹'0êì H]¹'PjzT{{¥¦'@µ¹'PjzT{{£Îž€Ôe{¥¦'@µ¹'PjzT{{¥¦'@µ¹'0êì H]©'PæÞ x9†=GO€bÍqO Ìôˆö ÷B}ë @]¹'PjzT{{¥¦'@µ¹'PjzT{{£Îž€Ôe{¥¦'@µ¹'PjzT{{¥¦'@µ¹'0êì H]¹'PjzT{{¥¦'@µ¹'PjzT{{ƒ¦' ³ç°'Päè ¬9î ”™ž -=š5Ç=2Ó ÚƒÜuö¤.ƒÜ(5=ª=È=RÓ ÚƒÜ(5=ª=È=QgO@ê2È=RÓ ÚƒÜ(5=ª=È=RÓ ÚƒÜuö¤.ƒÜ(5=ª=È=RÓ ÚƒÜ(5=ª=È=QgO@ê2ˆ=BGO€fÍqO Ìôˆö ÷JMO€jrO`ÔÙºrO Ôô¨ö ÷JMO€jrO Ôô¨ö ÷B}ë @]¹'PjzT{{¥¦'@µ¹'PjzT{{:{=½Žô¯ãîù¨'8~ßÙܼœîŸï¹'Ïì=ÁÃwõÿáÏ_ÿù×ß>ýëþô×ÿóçO¿¼~-çßÞŸ‘>žž_ÿKï·Wóþ—÷áøæe)¼›yYzñnŽ/Kß¿¸,%u¤ËReî—¥(^Žáe©Çe)Š5Ç—¥ÊÌe)¢=È—¥B}»,uäËR¥æ²ÕäËR¥æ²ÕäËR¥æ²ÕäËR£ÎËRR—A¾,Uj.KQíA¾,Uj.KQíA¾,Uj.KQíA¾,5ê¼,%uäËR¥æ²ÕäËR¥æ²ÕäËR¥æ²ÕÄËRƒæ²”ÌžÃËREŽËR$kŽ/K•™ËRD{/K•šËRT{/K:/KI]ù²T©¹,Eµù²T©¹,Eµù²T©¹,Eµù²Ô¨ó²”Ôe/K•šËRT{/K•šËRT{/K•šËRT{/K:/KI]ù²T©¹,Eµù²T©¹,Eµñ²T¡ã²ÍšÃËRC沔ȞãËReæ²ÑäËR¥æ²ÕäËR¥æ²ÕäËR£ÎËRR—A¾,Uj.KQíA¾,Uj.KQíA¾,Uj.KQíA¾,5ê¼,%uäËR¥æ²ÕäËR¥æ²ÕäËR¥æ²ÕäËR¡¾]–‚ºòe©RsYŠjòe©RsYŠjâe©BÇe)š5Ç—¥Æœ—¥„.ƒ|YªÔ\–¢Úƒ|YªÔ\–¢Úƒ|YªÔ\–¢Úƒ|YjÔyYJê2È—¥JÍe)ª=È—¥JÍe)ª=È—¥JÍe)ª=È—¥F—¥¤.ƒ|YªÔ\–¢Úƒ|YªÔ\–¢Úƒ|YªÔ\–¢Úƒ|YjÔyYJê2È—¥JÍe)ª=ˆ—¥ -—¥hÖ_–*3—¥ˆö _–u^–’ºòe©RsYŠjòe©RsYŠjòe©RsYŠjòe©Qçe)©Ë _–*5—¥¨ö _–*5—¥¨ö _–*5—¥¨ö _–u^–’ºòe©RsYŠjòe©RsYŠjòe©RsYŠjòe©Qçe)©Ë ^–*t\–¢Ys|YªÌ\–"Úƒ|YªÔ\–¢Úƒ|YjÔyYJê2È—¥JÍe)ª=È—¥JÍe)ª=È—¥JÍe)ª=È—¥B}»,uäËR¥æ²ÕäËR¥æ²ÕäËR¥æ²ÕäËR:}—¥ô:rYzñ:î^Ž.K_ÇrYzæËÒû—ÇÓÃÝ/KóÌ~Yúø]—¥ÿøÛçýñë§ÿüé¯ÿíËüôŸ~ûüëÏïKoO·÷?\¼˜÷¿º/ç»ÃÃÒñ¯g¥7“‡.ßÌ῞õƒrü¯geµñ_ÏêÔqDËjâRsD‹ê2G´ÎüvDËâåÑ:p?¢e±æðˆÖ™ãˆ–ÑÄ#Z£Î#ZR×A<¢uê8¢eµñˆÖ©ãˆ–ÕÄ#Z§Ž#ZV{h•š#ZT—A<¢uê8¢eµñˆÖ©ãˆ–ÕÄ#Z§Ž#ZV{h•š#ZT—A<¢uê8¢eµñˆÖ©ãˆ–ÕÄ#Z§Ž#ZV{Žh:ŽhÑì9:¢uä~DËdÍá3Ç-£=ˆG´NG´¬ö Ñ*5G´¨.ƒxDëÔqDËjâSÇ-«=ˆG´NG´¬ö Ñ*5G´¨.ƒxDëÔqDËjâSÇ-«=ˆG´NG´¬ö Ñ*5G´¨.ƒxDëÔqDËjâSÇ-«=HG´ÝhÙ¬9:¢Uä8¢E²çðˆÖ™ãˆ–ÑÄ#Z§Ž#ZV{h:ŽhYíA<¢UjŽhQ]ñˆÖ©ãˆ–ÕÄ#Z§Ž#ZV{h:ŽhYíA<¢UjŽhQ]ñˆÖ©ãˆ–ÕÄ#Z§Ž#ZV{h:ŽhYíA<¢5ê<¢%uÄ#Z§Ž#ZV{h:ŽhYíA:¢uè~DËfÍá2sD‹è2ˆG´NG´¬ö Ñ:uѲڃxDëÔqDËjâRsD‹ê2ˆG´NG´¬ö Ñ:uѲڃxDëÔqDËjâRsD‹ê2ˆG´NG´¬ö Ñ:uѲڃxDëÔqDËjâRsD‹ê2ˆG´NG´¬ö Ñ:t?¢e³æðˆÖ™ãˆ–ÑÄ#Z¥æˆÕeh:ŽhYíA<¢uê8¢eµñˆÖ©ãˆ–ÕÄ#Z¥æˆÕeh:ŽhYíA<¢uê8¢eµñˆÖ©ãˆ–ÕÄ#Z¥æˆÕeh:ŽhYíA<¢uê8¢eµñˆÖ©ãˆ–ÕÄ#Z¥æˆÕeŽhºÑ²YsxDëÌqDËhâSÇ-«=ˆG´JÍ-ªË Ñ:uѲڃxDëÔqDËjâSÇ-«=ˆG´FG´¤®ƒxDëÔqDËjâSÇ-«=ˆG´NG´¬ö Ñâ™çõ#Z|ã¡Ë×qxD¯ãûþõ¬÷Ïw§‡ç[>¢ÏìG´OßuDû÷Ÿ~{ý7²þôã×Oÿøë¿|þéó§/ßg<½þ·o/e}½¯¿9º ÝþÓ/Ï÷üNòÐå;yüøtwºúðu| îÏ^Q{ð@}ØžêþìµÔçÓýãT÷g¯¨=xp-¼}÷Rϲº¨ã|Z©¹ÇFµù[©¹ÇFµù[©¹ÇFµùÛ¨ó›Ôe¹ßc£x9†÷Ø -÷Ø(Ößc+3÷؈ö ßcõíÔuﱕš{lT{ﱕš{lT{ﱕš{lT{ï±:ï±I]ù[©¹ÇFµù[©¹ÇFµù[©¹ÇFµùÛ¨ó›Ôeﱕš{lT{ﱕš{lT{ﱕš{lT{ï±
š{l2{ï±9¬9¾ÇVfî±íA¾ÇVjî±QíA¾Ç6ê¼Ç&uä{l¥æÕä{l¥æÕä{l¥æÕä{l£Î{lR—A¾ÇVjî±QíA¾ÇVjî±QíA¾ÇVjî±QíA¾Ç6ê¼Ç&uä{l¥æÕä{l¥æÕÄ{l…Ž{l4kï±
™{l"{Žï±•™{lD{ﱕš{lT{ﱕš{lT{ï±:ï±I]ù[©¹ÇFµù[©¹ÇFµù[©¹ÇFµùÛ¨ó›Ôeﱕš{lT{ﱕš{lT{ﱕš{lT{ï±…úv
ê:È÷ØJÍ=6ª=È÷ØJÍ=6ª=ˆ÷Ø -÷ØhÖßcsÞcºò=¶Rsjò=¶Rsjò=¶Rsjò=¶Qç=6©Ë ßc+5÷بö ßc+5÷بö ßc+5÷بö ßcuÞc“ºò=¶Rsjò=¶Rsjò=¶Rsjò=¶Qç=6©Ë ßc+5÷بö Þc+tÜc£Ys|ÌÜc#Úƒ|mÔyMê2È÷ØJÍ=6ª=È÷ØJÍ=6ª=È÷ØJÍ=6ª=È÷ØF÷ؤ.ƒ|ÔÜc£Úƒ|ÔÜc£Úƒ|ÔÜc£Úƒ|mÔyMê2È÷ØJÍ=6ª=È÷ØJÍ=6ª=È÷ØJÍ=6ª=È÷ØF÷ؤ.ƒxÐqfÍñ=¶2shò=¶Rsjò=¶Qç=6©Ë ßc+5÷بö ßc+5÷بö ßc+5÷بö ßcõíÔuﱕš{lT{ﱕš{lT{ﱕš{lT{ï±o†Õ=6½ŽÜc_¼Žã{ìã×ñÿRã×ÿ6éüÂ÷Øã™ýûùûî±ÿË?üŸ¿|ýí×ÿçÏ_?ÿúË?þúù—¯_ÿ¥Æo/æßö/5†73h/ÞÌñíûG´¨ö Ñ*5G´¨ö ÑuÑ’ºÒ2÷#Z/ÇðˆVãˆÅšã#ZeæˆÑä#Z¡¾Ñ‚ºòRsD‹jòRsD‹jòRsD‹jòQç-©Ë Ñ*5G´¨ö Ñ*5G´¨ö Ñ*5G´¨ö ÑuÑ’ºòRsD‹jòRsD‹jòRsD‹jâAsDKfÏá"Ç-’5ÇG´ÊÌ-¢=ÈG´JÍ-ª=ÈG´FG´¤.ƒ|D«ÔÑ¢Úƒ|D«ÔÑ¢Úƒ|D«ÔÑ¢Úƒ|DkÔyDKê2ÈG´JÍ-ª=ÈG´JÍ-ª=ÈG´JÍ-ª=ÈG´FG´¤.ƒ|D«ÔÑ¢Úƒ|D«ÔÑ¢ÚƒxD«ÐqD‹fÍá!sDKdÏñ2sD‹hòRsD‹jòRsD‹jòQç-©Ë Ñ*5G´¨ö Ñ*5G´¨ö Ñ*5G´¨ö ÑuÑ’ºòRsD‹jòRsD‹jòRsD‹jòPߎhA]ùˆV©9¢EµùˆV©9¢EµñˆV¡ãˆÍšã#ZcÎ#ZB—A>¢UjŽhQíA>¢UjŽhQíA>¢UjŽhQíA>¢5ê<¢%uä#Z¥æˆÕä#Z¥æˆÕä#Z¥æˆÕä#Z£Î#ZR—A>¢UjŽhQíA>¢UjŽhQíA>¢UjŽhQíA>¢5ê<¢%uä#Z¥æˆÕÄ#Z…Ž#Z4kŽh•™#ZD{h:hI]ùˆV©9¢EµùˆV©9¢EµùˆV©9¢EµùˆÖ¨óˆ–Ôeh•š#ZT{h•š#ZT{h•š#ZT{h:hI]ùˆV©9¢EµùˆV©9¢EµùˆV©9¢EµùˆÖ¨óˆ–Ôeh:ŽhѬ9>¢UfŽhíA>¢UjŽhQíA>¢5ê<¢%uä#Z¥æˆÕä#Z¥æˆÕä#Z¥æˆÕä#Z¡¾Ñ‚ºòRsD‹jòRsD‹jòRsD‹jò-yŠ#Zz9¢½x÷7GG´Ç¯ã;ÿ¥Æ¯µzæ#ÚñÌ~Dûò]G´¿ÿË×O¿|ùüë/ïN
o·W÷øÃÅxÿ+út¾?:œ½}>½¾Gzýã™Ë—ÿþâqûõ¼}ºýèe¼7dzŒ.ƒêÝéñѪû³WÔ<PO·Ÿ'«û³WÔ<P·Oáõ¯ÖJÝŸ½¢öàÇêÝö1ÜIu<Ëê2x nÃöǬS÷g¯¨=x nÃë_•º?{EíÁuûn¬º?{EíÁÕûÛÓÍË£Sdz¬.ƒêk³ð$ÕýÙ+j¨§›'«îÏ^Q{ð@}>=\üe“ÕýÙ+j~¬>lÃËSdz¬.ƒêö1Ü[uöŠÚƒêö1È¿Hì^1kî€Ü>ƒ;ùg<{íÁÕÇí38Ku<Ëê2x nŸÁü17ž½¢öàº} -7VÝŸ½¢öàú|º‘?æÆ³WÔ<øJ„ñF_:Aê2È_:¡Ô|éª=È_:¡Ô|éª=È_:¡Ô|éª=È_:aÔù¥¤.ƒü¥JM/‡jr/§Ôôr¨ö ÷rJM/‡jr/gÔÙË‘ºR/§Ì½—Cñr{9Ž^Åšã^N™éåíAîå„úÖ˺r/§Ôôr¨ö ÷rJM/‡jr/§Ôôr¨ö ÷rF½©Ë ÷rJM/‡jr/§Ôôr¨ö ÷rJM/‡jr/gÔÙË‘ºr/§Ôôr¨ö ÷rJM/‡jr/§Ôôr¨ö örM/GfÏa/§ÈÑË!YsÜË)3½¢=ȽœRÓˡڃÜËuör¤.ƒÜË)5½ª=ȽœRÓˡڃÜË)5½ª=ȽœQg/Gê2ȽœRÓˡڃÜË)5½ª=ȽœRÓˡڃÜËuör¤.ƒÜË)5½ª=ȽœRÓˡڃØË)tôrhÖör†L/GdÏq/§Ìôrˆö ÷rJM/‡jr/§Ôôr¨ö ÷rF½©Ë ÷rJM/‡jr/§Ôôr¨ö ÷rJM/‡jr/gÔÙË‘ºr/§Ôôr¨ö ÷rJM/‡jr/§Ôôr¨ö ÷rB}ëå@]¹—Sjz9T{{9¥¦—Cµ±—SèèåЬ9îåŒ9{9B—Aî唚^Õä^N©éåPíAî唚^Õä^Ψ³—#uä^N©éåPíAî唚^Õä^N©éåPíAîåŒ:{9R—Aî唚^Õä^N©éåPíAî唚^Õä^Ψ³—#uä^N©éåPíAìå:z94kŽ{9e¦—C´¹—3êìåH]¹—Sjz9T{{9¥¦—Cµ¹—Sjz9T{{9£Î^ŽÔe{9¥¦—Cµ¹—Sjz9T{{9¥¦—Cµ¹—3êìåH]¹—Sjz9T{{9¥¦—Cµ¹—Sjz9T{{9£Î^ŽÔe{9…Ž^Íšã^N™éåíAî唚^Õä^Ψ³—#uä^N©éåPíAî唚^Õä^N©éåPíAîå„úÖ˺r/§Ôôr¨ö ÷rJM/‡jr/§Ôôr¨ö ÷rTw‰^Ž^Gz¹‹×q{ÔË¿Žío^NßþAâÍóéùñã`îéöôôí&~{äöi¾ íï‹tºùömßy}=Ÿÿrø%™‰ôÿOLŒendstream -endobj -2084 0 obj << -/Type /Page -/Contents 2085 0 R -/Resources 2083 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1927 0 R -/Annots [ 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R 2111 0 R 2112 0 R 2113 0 R 2114 0 R 2115 0 R 2116 0 R 2117 0 R 2118 0 R 2119 0 R 2120 0 R 2121 0 R 2122 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R ] ->> endobj -2087 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 727.501 230.963 736.412] -/Subtype /Link -/A << /S /GoTo /D (344) >> ->> endobj -2088 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 727.501 521.32 736.412] -/Subtype /Link -/A << /S /GoTo /D (344) >> ->> endobj -2089 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 714.55 236.343 723.461] -/Subtype /Link -/A << /S /GoTo /D (356) >> ->> endobj -2090 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 714.55 521.32 723.461] -/Subtype /Link -/A << /S /GoTo /D (356) >> ->> endobj -2091 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 701.598 206.365 710.51] -/Subtype /Link -/A << /S /GoTo /D (464) >> ->> endobj -2092 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [516.339 701.598 521.32 710.51] -/Subtype /Link -/A << /S /GoTo /D (464) >> ->> endobj -2093 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 688.647 259.925 697.558] -/Subtype /Link -/A << /S /GoTo /D (685) >> ->> endobj -2094 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 688.647 521.32 697.558] -/Subtype /Link -/A << /S /GoTo /D (685) >> ->> endobj -2095 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 675.695 252.483 684.607] -/Subtype /Link -/A << /S /GoTo /D (847) >> ->> endobj -2096 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 675.695 521.32 684.607] -/Subtype /Link -/A << /S /GoTo /D (847) >> ->> endobj -2097 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 662.744 252.483 671.655] -/Subtype /Link -/A << /S /GoTo /D (857) >> ->> endobj -2098 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 662.744 521.32 671.655] -/Subtype /Link -/A << /S /GoTo /D (857) >> ->> endobj -2099 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 649.792 259.925 658.704] -/Subtype /Link -/A << /S /GoTo /D (899) >> ->> endobj -2100 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 649.792 521.32 658.704] -/Subtype /Link -/A << /S /GoTo /D (899) >> ->> endobj -2101 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 636.841 259.925 645.752] -/Subtype /Link -/A << /S /GoTo /D (1004) >> ->> endobj -2102 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 636.841 521.32 645.752] -/Subtype /Link -/A << /S /GoTo /D (1004) >> ->> endobj -2103 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 623.89 238.644 632.801] -/Subtype /Link -/A << /S /GoTo /D (1025) >> ->> endobj -2104 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 623.89 521.32 632.801] -/Subtype /Link -/A << /S /GoTo /D (1025) >> ->> endobj -2105 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 610.938 222.106 619.85] -/Subtype /Link -/A << /S /GoTo /D (1098) >> ->> endobj -2106 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 610.938 521.32 619.85] -/Subtype /Link -/A << /S /GoTo /D (1098) >> ->> endobj -2107 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 597.987 238.246 606.898] -/Subtype /Link -/A << /S /GoTo /D (1224) >> ->> endobj -2108 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 597.987 521.32 606.898] -/Subtype /Link -/A << /S /GoTo /D (1224) >> ->> endobj -2109 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 585.035 243.626 593.947] -/Subtype /Link -/A << /S /GoTo /D (1423) >> ->> endobj -2110 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 585.035 521.32 593.947] -/Subtype /Link -/A << /S /GoTo /D (1423) >> ->> endobj -2111 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 572.084 232.627 580.995] -/Subtype /Link -/A << /S /GoTo /D (1491) >> ->> endobj -2112 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 572.084 521.32 580.995] -/Subtype /Link -/A << /S /GoTo /D (1491) >> ->> endobj -2113 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 559.132 227.716 568.044] -/Subtype /Link -/A << /S /GoTo /D (2368) >> ->> endobj -2114 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 559.132 521.32 568.044] -/Subtype /Link -/A << /S /GoTo /D (2368) >> ->> endobj -2115 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 546.181 259.925 555.092] -/Subtype /Link -/A << /S /GoTo /D (2510) >> ->> endobj -2116 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 546.181 521.32 555.092] -/Subtype /Link -/A << /S /GoTo /D (2510) >> ->> endobj -2117 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 533.23 249.235 542.141] -/Subtype /Link -/A << /S /GoTo /D (2586) >> ->> endobj -2118 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 533.23 521.32 542.141] -/Subtype /Link -/A << /S /GoTo /D (2586) >> ->> endobj -2119 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 520.278 254.615 529.19] -/Subtype /Link -/A << /S /GoTo /D (2709) >> ->> endobj -2120 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 520.278 521.32 529.19] -/Subtype /Link -/A << /S /GoTo /D (2709) >> ->> endobj -2121 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 507.327 286.894 516.238] -/Subtype /Link -/A << /S /GoTo /D (2770) >> ->> endobj -2122 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 507.327 521.32 516.238] -/Subtype /Link -/A << /S /GoTo /D (2770) >> ->> endobj -2123 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 494.375 281.514 503.287] -/Subtype /Link -/A << /S /GoTo /D (2790) >> ->> endobj -2124 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 494.375 521.32 503.287] -/Subtype /Link -/A << /S /GoTo /D (2790) >> ->> endobj -2125 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 481.424 270.754 490.335] -/Subtype /Link -/A << /S /GoTo /D (2810) >> ->> endobj -2126 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 481.424 521.32 490.335] -/Subtype /Link -/A << /S /GoTo /D (2810) >> ->> endobj -2127 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 468.472 281.514 477.384] -/Subtype /Link -/A << /S /GoTo /D (2830) >> ->> endobj -2128 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 468.472 521.32 477.384] -/Subtype /Link -/A << /S /GoTo /D (2830) >> ->> endobj -2129 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [119.552 455.521 216.956 464.432] -/Subtype /Link -/A << /S /GoTo /D (2918) >> ->> endobj -2130 0 obj << -/Type /Annot -/Border[0 0 0]/H/I/C[1 0 0] -/Rect [511.357 455.521 521.32 464.432] -/Subtype /Link -/A << /S /GoTo /D (2918) >> ->> endobj -2086 0 obj << -/D [2084 0 R /XYZ 71.731 778.968 null] ->> endobj -10 0 obj << -/D [2084 0 R /XYZ 235.902 752.939 null] ->> endobj -2083 0 obj << -/Font << /F22 1177 0 R /F26 1184 0 R /F33 1203 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2155 0 obj << -/Length 2336 -/Filter /FlateDecode ->> -stream -xÚíYÝoã¸ß¿"2«¢¨Ïî¡ÍíÒÞfƒl€Ð»E¢míÉ¢JJ›óßù dÙÖn’¾(„äpHÎg~3”ÅU -ÃeôâÙ=V5ª¢Íá®Ø+{éÃi -¡”À"dQ.÷‰Ÿ‘ãØªV™¢ùÆfIäÇqæX1#pžÛ]ž»t…Æ‘[n;4à<ŠÆ!›'Bßhmo†²‡g†šU½Û½[g*Øf ¨@—X‹8÷ƒ<;±NS[Z§ ;:!÷«šƒÅÔÊÍö;Ù–¥Öœ½è›|=Ûà0ñÚaÿ¤Œ[H"Q?}{˜Îª˜ºW ±;b¹±>÷ <÷ضšqä×v½àë5ÁCä1EÞ—Á: -›¬7j¯(Ž‘D8Dxà3åF»(†>Øúhh$°Y±Çˆ½Âƒ®{á:¡“ǹsˆR™¾Þ -‘MH—±Gî„«ËÏnŠÓh(p/e6”µJ"…ÞÓ°áþÄç¼ÃçÑO;ž¢e"›ª °à5f˜Å’!ȹSP 1ï£Ù°¾ =‘Ô `N¬‚‰Öp¯è2^@ŽÌ,äðóÔ%ƬG¦ù•³¢¸sLà!Áï>ÜÈx™zÛ3• Æê߃+‰Hy –‚LRn»=ú>ãÐÉgç§P¥¨¸?ÕÈ -Ã`£Š #"Ì -ëÒk0«¦Ê’„jaÝ&¥×3JÖZVµÒ~â&ïãÆ¯rå÷¬®r&y:JJ˜€.ßëëñe¦LY?÷¸§‡þºö¸V€!âùÛ] -?ÉØFv÷É€ÿ½îZ~f…ü!ƒžYjÃ,Q8+…‹1Î;µ -endobj -2154 0 obj << -/Type /Page -/Contents 2155 0 R -/Resources 2153 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1927 0 R ->> endobj -1293 0 obj << -/D [2154 0 R /XYZ 71.731 768.009 null] ->> endobj -14 0 obj << -/D [2154 0 R /XYZ 347.333 752.939 null] ->> endobj -1294 0 obj << -/D [2154 0 R /XYZ 71.731 742.207 null] ->> endobj -18 0 obj << -/D [2154 0 R /XYZ 155.125 706.744 null] ->> endobj -2156 0 obj << -/D [2154 0 R /XYZ 71.731 699.392 null] ->> endobj -2157 0 obj << -/D [2154 0 R /XYZ 119.552 647.765 null] ->> endobj -2158 0 obj << -/D [2154 0 R /XYZ 214.092 647.765 null] ->> endobj -2159 0 obj << -/D [2154 0 R /XYZ 358.611 621.862 null] ->> endobj -2160 0 obj << -/D [2154 0 R /XYZ 71.731 601.773 null] ->> endobj -2161 0 obj << -/D [2154 0 R /XYZ 499.801 552.124 null] ->> endobj -2162 0 obj << -/D [2154 0 R /XYZ 71.731 506.131 null] ->> endobj -2163 0 obj << -/D [2154 0 R /XYZ 270.001 495.337 null] ->> endobj -1295 0 obj << -/D [2154 0 R /XYZ 71.731 449.344 null] ->> endobj -22 0 obj << -/D [2154 0 R /XYZ 194.476 417.11 null] ->> endobj -1296 0 obj << -/D [2154 0 R /XYZ 71.731 416.931 null] ->> endobj -26 0 obj << -/D [2154 0 R /XYZ 235.552 385.429 null] ->> endobj -2164 0 obj << -/D [2154 0 R /XYZ 71.731 376.977 null] ->> endobj -2165 0 obj << -/D [2154 0 R /XYZ 71.731 370.999 null] ->> endobj -2166 0 obj << -/D [2154 0 R /XYZ 141.071 355.84 null] ->> endobj -2169 0 obj << -/D [2154 0 R /XYZ 178.73 355.84 null] ->> endobj -2170 0 obj << -/D [2154 0 R /XYZ 184.11 355.84 null] ->> endobj -2171 0 obj << -/D [2154 0 R /XYZ 214.237 355.84 null] ->> endobj -2172 0 obj << -/D [2154 0 R /XYZ 214.237 355.84 null] ->> endobj -2173 0 obj << -/D [2154 0 R /XYZ 254.047 355.84 null] ->> endobj -2174 0 obj << -/D [2154 0 R /XYZ 254.047 355.84 null] ->> endobj -2175 0 obj << -/D [2154 0 R /XYZ 71.731 354.573 null] ->> endobj -2176 0 obj << -/D [2154 0 R /XYZ 141.071 344.183 null] ->> endobj -2177 0 obj << -/D [2154 0 R /XYZ 178.73 344.183 null] ->> endobj -2178 0 obj << -/D [2154 0 R /XYZ 184.11 344.183 null] ->> endobj -2179 0 obj << -/D [2154 0 R /XYZ 214.237 344.183 null] ->> endobj -2180 0 obj << -/D [2154 0 R /XYZ 214.237 344.183 null] ->> endobj -2181 0 obj << -/D [2154 0 R /XYZ 71.731 342.917 null] ->> endobj -2182 0 obj << -/D [2154 0 R /XYZ 141.071 332.527 null] ->> endobj -2183 0 obj << -/D [2154 0 R /XYZ 162.59 332.527 null] ->> endobj -2184 0 obj << -/D [2154 0 R /XYZ 167.97 332.527 null] ->> endobj -2185 0 obj << -/D [2154 0 R /XYZ 71.731 331.478 null] ->> endobj -2186 0 obj << -/D [2154 0 R /XYZ 141.071 320.871 null] ->> endobj -2187 0 obj << -/D [2154 0 R /XYZ 157.21 320.871 null] ->> endobj -2188 0 obj << -/D [2154 0 R /XYZ 162.59 320.871 null] ->> endobj -2189 0 obj << -/D [2154 0 R /XYZ 192.717 320.871 null] ->> endobj -2190 0 obj << -/D [2154 0 R /XYZ 192.717 320.871 null] ->> endobj -2191 0 obj << -/D [2154 0 R /XYZ 71.731 319.604 null] ->> endobj -2192 0 obj << -/D [2154 0 R /XYZ 141.071 309.215 null] ->> endobj -2193 0 obj << -/D [2154 0 R /XYZ 216.388 309.215 null] ->> endobj -2194 0 obj << -/D [2154 0 R /XYZ 221.768 309.215 null] ->> endobj -2195 0 obj << -/D [2154 0 R /XYZ 71.731 308.166 null] ->> endobj -2196 0 obj << -/D [2154 0 R /XYZ 141.071 297.558 null] ->> endobj -2197 0 obj << -/D [2154 0 R /XYZ 221.768 297.558 null] ->> endobj -2198 0 obj << -/D [2154 0 R /XYZ 227.148 297.558 null] ->> endobj -2199 0 obj << -/D [2154 0 R /XYZ 71.731 296.509 null] ->> endobj -2200 0 obj << -/D [2154 0 R /XYZ 141.071 285.902 null] ->> endobj -2201 0 obj << -/D [2154 0 R /XYZ 71.731 284.687 null] ->> endobj -2202 0 obj << -/D [2154 0 R /XYZ 141.071 274.246 null] ->> endobj -2203 0 obj << -/D [2154 0 R /XYZ 71.731 273.197 null] ->> endobj -2204 0 obj << -/D [2154 0 R /XYZ 141.071 262.589 null] ->> endobj -2205 0 obj << -/D [2154 0 R /XYZ 189.489 262.589 null] ->> endobj -2206 0 obj << -/D [2154 0 R /XYZ 194.869 262.589 null] ->> endobj -2207 0 obj << -/D [2154 0 R /XYZ 220.154 262.589 null] ->> endobj -2208 0 obj << -/D [2154 0 R /XYZ 220.154 262.589 null] ->> endobj -2209 0 obj << -/D [2154 0 R /XYZ 274.491 262.589 null] ->> endobj -2210 0 obj << -/D [2154 0 R /XYZ 274.491 262.589 null] ->> endobj -1297 0 obj << -/D [2154 0 R /XYZ 71.731 244.657 null] ->> endobj -30 0 obj << -/D [2154 0 R /XYZ 245.761 215.167 null] ->> endobj -1298 0 obj << -/D [2154 0 R /XYZ 71.731 212.693 null] ->> endobj -34 0 obj << -/D [2154 0 R /XYZ 222.525 188.766 null] ->> endobj -2211 0 obj << -/D [2154 0 R /XYZ 71.731 182.57 null] ->> endobj -2212 0 obj << -/D [2154 0 R /XYZ 71.731 177.589 null] ->> endobj -2213 0 obj << -/D [2154 0 R /XYZ 141.071 162.166 null] ->> endobj -2214 0 obj << -/D [2154 0 R /XYZ 178.73 162.166 null] ->> endobj -2215 0 obj << -/D [2154 0 R /XYZ 184.11 162.166 null] ->> endobj -2216 0 obj << -/D [2154 0 R /XYZ 214.237 162.166 null] ->> endobj -2217 0 obj << -/D [2154 0 R /XYZ 214.237 162.166 null] ->> endobj -2218 0 obj << -/D [2154 0 R /XYZ 254.047 162.166 null] ->> endobj -2219 0 obj << -/D [2154 0 R /XYZ 254.047 162.166 null] ->> endobj -2220 0 obj << -/D [2154 0 R /XYZ 71.731 139.252 null] ->> endobj -2221 0 obj << -/D [2154 0 R /XYZ 262.461 126.301 null] ->> endobj -2222 0 obj << -/D [2154 0 R /XYZ 440.799 126.301 null] ->> endobj -2153 0 obj << -/Font << /F22 1177 0 R /F26 1184 0 R /F33 1203 0 R /F42 2168 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2225 0 obj << -/Length 1907 -/Filter /FlateDecode ->> -stream -xÚXmã6þ¾¿"ßê -ŒRuÛ©Q78Ýš ~‘'wQ·éô„‹~™3šÛ)EÔÍ"ZGf$•ìvR,œ³2Öê•óÂÂu¼§hã¿VzïjÓàÖ—z»ÅÙ2ú–-ëVWWHôñccps¬Màhqìì‰Æô¼eYº-K>Þü„[¿QÊ·z,àdëÀÒth!:ñDˆŠg*YÂjœ‚;/‚àÒ“gd…C€‚£„û8$Tºm¹Üê+Ü(·þváŠå1~Ôö{ï>a?4°ÁNØ3Ëÿ¢åanÁä‰;Ø&\µu”ØT£ëáûÕMëÊfßĬ/P‚ÿñì%þ'HVä‘ñjBUçÇ>ì&ÊvÆNÄ…®íöRˆ -N¡û"¥¤`€†<%i”¸ž8“ÅŠ©3‡ÂFwü*:`¡Yx¸ZÜwǽž°eADšM¼~ïMݼ7€È…XØIöíåk€¯[ˆ¬HžvÖñ‘ɺ³WX•Îiˆ«¸çŽûÒ¶:’6S7‘àδ˜Pv䊰Þdå -p« -È8< ± -ôNŽœzÈòâU¥+¿‚xù3p•f$Ë;´Rc„åìØè,›õ¸0 -Éå[
–¡<)°ö„£9 ¡2þ&ßÌ¡HuHÙ”sN}Býõ¢“Â(—HXÖI¿ûj*¨Ç¨@‹Pz^–GK¸_PY‚6›PßÊ,H‚b×(\žÖ¦ÀÒh -h”Ž¡õdÁ*IÞ×Î_1ëØ|sÆyr‡ƒï^š ÉÞÔCzP
Æ 5Œ¥·¶6’Ìú -?ƒ†Þþˆ‹öØBÕ"Ë—M½ÚàÔ7ÆFéoÁ¡¸øóí¡‹pF'¹<8³ƒ¬¼‚>ƪ%%B¦.„½&tV¡×T´ -âu™´?oü{aò™<Úg$ÒéÖ¡‡ÑãD¡% <Ï5PQ•Ÿ5Óé˜õã4ôä$“Ù8å]6†YÌÆ)Ãl”A6†UÌÆ0‹ÙxBÈú\\ØïI/Îûz¨÷Y!Yº²Æ¾1xqˆá Q0cä»-„D×ÞO¢6|#ÒÉçê].Sƒß–P\ü¹§uõ®ìªzÙ±4‡¿G÷3c·ßçn˜/NG±õ„ûsJÁ]äÓfßçO•¿àL}]ÐZhÀ·õV_ŠÍÀíóìùø-r¢2_Ê^ÀSg…fðt,aQ¼M¹›# 4„<Åá¼ñ×e™“œeOþþ|b¹øùYôQtRüaü+¿&_ô?êBÔ›endstream -endobj -2224 0 obj << -/Type /Page -/Contents 2225 0 R -/Resources 2223 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1927 0 R ->> endobj -2226 0 obj << -/D [2224 0 R /XYZ 71.731 758.046 null] ->> endobj -2227 0 obj << -/D [2224 0 R /XYZ 71.731 758.046 null] ->> endobj -2228 0 obj << -/D [2224 0 R /XYZ 71.731 713.004 null] ->> endobj -2229 0 obj << -/D [2224 0 R /XYZ 71.731 713.004 null] ->> endobj -2230 0 obj << -/D [2224 0 R /XYZ 310.219 700.052 null] ->> endobj -2231 0 obj << -/D [2224 0 R /XYZ 165.479 661.198 null] ->> endobj -2232 0 obj << -/D [2224 0 R /XYZ 224.258 661.198 null] ->> endobj -2233 0 obj << -/D [2224 0 R /XYZ 259.058 661.198 null] ->> endobj -1299 0 obj << -/D [2224 0 R /XYZ 71.731 654.777 null] ->> endobj -38 0 obj << -/D [2224 0 R /XYZ 222.525 630.812 null] ->> endobj -2234 0 obj << -/D [2224 0 R /XYZ 71.731 625.651 null] ->> endobj -2235 0 obj << -/D [2224 0 R /XYZ 71.731 620.67 null] ->> endobj -2236 0 obj << -/D [2224 0 R /XYZ 141.071 604.212 null] ->> endobj -2237 0 obj << -/D [2224 0 R /XYZ 178.73 604.212 null] ->> endobj -2238 0 obj << -/D [2224 0 R /XYZ 184.11 604.212 null] ->> endobj -2239 0 obj << -/D [2224 0 R /XYZ 214.237 604.212 null] ->> endobj -2240 0 obj << -/D [2224 0 R /XYZ 214.237 604.212 null] ->> endobj -2241 0 obj << -/D [2224 0 R /XYZ 71.731 581.298 null] ->> endobj -2242 0 obj << -/D [2224 0 R /XYZ 262.461 568.346 null] ->> endobj -2243 0 obj << -/D [2224 0 R /XYZ 440.799 568.346 null] ->> endobj -2244 0 obj << -/D [2224 0 R /XYZ 71.731 537.462 null] ->> endobj -2245 0 obj << -/D [2224 0 R /XYZ 71.731 537.462 null] ->> endobj -2246 0 obj << -/D [2224 0 R /XYZ 71.731 492.419 null] ->> endobj -2247 0 obj << -/D [2224 0 R /XYZ 427.177 479.468 null] ->> endobj -2248 0 obj << -/D [2224 0 R /XYZ 487.484 479.468 null] ->> endobj -2249 0 obj << -/D [2224 0 R /XYZ 119.552 466.516 null] ->> endobj -1300 0 obj << -/D [2224 0 R /XYZ 71.731 461.347 null] ->> endobj -42 0 obj << -/D [2224 0 R /XYZ 206.385 436.13 null] ->> endobj -2250 0 obj << -/D [2224 0 R /XYZ 71.731 430.97 null] ->> endobj -2251 0 obj << -/D [2224 0 R /XYZ 71.731 425.988 null] ->> endobj -2252 0 obj << -/D [2224 0 R /XYZ 141.071 409.53 null] ->> endobj -2253 0 obj << -/D [2224 0 R /XYZ 162.59 409.53 null] ->> endobj -2254 0 obj << -/D [2224 0 R /XYZ 167.97 409.53 null] ->> endobj -2255 0 obj << -/D [2224 0 R /XYZ 71.731 386.616 null] ->> endobj -2256 0 obj << -/D [2224 0 R /XYZ 137.603 373.665 null] ->> endobj -2257 0 obj << -/D [2224 0 R /XYZ 119.552 334.81 null] ->> endobj -2258 0 obj << -/D [2224 0 R /XYZ 161.802 334.81 null] ->> endobj -2259 0 obj << -/D [2224 0 R /XYZ 134.379 321.859 null] ->> endobj -1301 0 obj << -/D [2224 0 R /XYZ 71.731 290.875 null] ->> endobj -46 0 obj << -/D [2224 0 R /XYZ 201.006 265.57 null] ->> endobj -2260 0 obj << -/D [2224 0 R /XYZ 71.731 260.409 null] ->> endobj -2261 0 obj << -/D [2224 0 R /XYZ 71.731 255.428 null] ->> endobj -2262 0 obj << -/D [2224 0 R /XYZ 141.071 238.97 null] ->> endobj -2263 0 obj << -/D [2224 0 R /XYZ 157.21 238.97 null] ->> endobj -2264 0 obj << -/D [2224 0 R /XYZ 162.59 238.97 null] ->> endobj -2265 0 obj << -/D [2224 0 R /XYZ 192.717 238.97 null] ->> endobj -2266 0 obj << -/D [2224 0 R /XYZ 192.717 238.97 null] ->> endobj -2267 0 obj << -/D [2224 0 R /XYZ 71.731 216.056 null] ->> endobj -2268 0 obj << -/D [2224 0 R /XYZ 137.653 203.104 null] ->> endobj -2269 0 obj << -/D [2224 0 R /XYZ 340.425 203.104 null] ->> endobj -2270 0 obj << -/D [2224 0 R /XYZ 164.921 190.153 null] ->> endobj -2271 0 obj << -/D [2224 0 R /XYZ 405.965 190.153 null] ->> endobj -1302 0 obj << -/D [2224 0 R /XYZ 71.731 183.015 null] ->> endobj -50 0 obj << -/D [2224 0 R /XYZ 260.184 159.767 null] ->> endobj -2272 0 obj << -/D [2224 0 R /XYZ 71.731 154.606 null] ->> endobj -2273 0 obj << -/D [2224 0 R /XYZ 71.731 149.625 null] ->> endobj -2274 0 obj << -/D [2224 0 R /XYZ 141.071 133.166 null] ->> endobj -2275 0 obj << -/D [2224 0 R /XYZ 216.388 133.166 null] ->> endobj -2276 0 obj << -/D [2224 0 R /XYZ 221.768 133.166 null] ->> endobj -2223 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F26 1184 0 R /F22 1177 0 R /F42 2168 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2279 0 obj << -/Length 1668 -/Filter /FlateDecode ->> -stream -xÚ]oÛ6ð=¿ÂoQ€˜Eê«À^Ö5[‡¶ c{X‡€–h›,zÝÀÿ¾wü°e[IS Ç»ã}ÓtÃä”ä>yAʬ˜Të‹x²„?.¨§˜z’逿·ÙÅ/7ŒOJ@°Él1á1'9ìåEBÒ”Ofõ¿Ñë•ØÙ]M“4Ž(qßÙJ:àîö -þÿãïu½mäÕ³¿.ÞÌö’Ó„–<«›'9Ó-ɺQZ‚NÀ'-HÌ3«Ûl¥z]¦ÑbÛVFéWYÔIQû
á>›N^%iôUémßìU/®’8úzEÓHÖŽ¬m×î0’8Ò·Æá*á%Ì¥C¸ÓÝζ½\lGa´Ã©õ¦ÓHåHÒXûÕÿ[Ñ(ãëÚL2¥ )SjïTbIÕ„ -”T;Ü|ç0¨®ÅfÓ¨J 1ˆÛ±Î«X]Ñ(pëWzÛ~Òó«ë Âèë UµK[YGCü° :-C1ž‘,+á¨9pp$Gn, ™§^»¶÷ž²,#qžøë'–äQ™•‹.wy„õ@Ôð¡Ùo•s¸TãCsïKÜÔÛ®’=ñú$}ÀØ,&¬åoœÒ˜ð"¨üØ)#?ZÖ7ª‘çF8œsÔ7!,ÏL5¥1#%/'Ólf‰k¹NIJË焹1ÉÊÜSŠÓx@çH‘Â]ƒõE+Öc~, V¤6ôÕ¹#§œÍ°¢°”Y:HHF‡ ‰+«¸ß±±ÏhUÛ®“qØ}lRŸyžX»¯pG>ÅqÒ`R"îu#E‡É츎KÞ‡6Às/Ø'`”§ªt;=Ê=|ŸU‚Ȇâ™R°(;[aá9ŽÑr ¦Á?#Ñ8¥Œ˜A?”KiÞtîÎrðM\|?!ó’’þP0rãŒÄ¬DáS!”q(é… '÷NozgnáÍ.—î,â·0¡-='†p ‡@ª¾nµ/Òl»ÖËPÆï™á\…î'T‹ -Cô פI³üû®És§?ä™S©GáÊH^/ðÕav”ëA'&kšŸúÓ -í¼ÄËc/¸è'XšÍíü³¬Ìˆ¡)¡År -&V¿k#pζ -endobj -2278 0 obj << -/Type /Page -/Contents 2279 0 R -/Resources 2277 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 1927 0 R ->> endobj -2280 0 obj << -/D [2278 0 R /XYZ 71.731 768.009 null] ->> endobj -2281 0 obj << -/D [2278 0 R /XYZ 466.221 745.095 null] ->> endobj -1303 0 obj << -/D [2278 0 R /XYZ 71.731 727.063 null] ->> endobj -54 0 obj << -/D [2278 0 R /XYZ 265.563 701.757 null] ->> endobj -2282 0 obj << -/D [2278 0 R /XYZ 71.731 696.597 null] ->> endobj -2283 0 obj << -/D [2278 0 R /XYZ 71.731 691.616 null] ->> endobj -2284 0 obj << -/D [2278 0 R /XYZ 141.071 675.157 null] ->> endobj -2285 0 obj << -/D [2278 0 R /XYZ 221.768 675.157 null] ->> endobj -2286 0 obj << -/D [2278 0 R /XYZ 227.148 675.157 null] ->> endobj -2287 0 obj << -/D [2278 0 R /XYZ 71.731 652.243 null] ->> endobj -2288 0 obj << -/D [2278 0 R /XYZ 174.903 626.34 null] ->> endobj -1304 0 obj << -/D [2278 0 R /XYZ 71.731 619.202 null] ->> endobj -58 0 obj << -/D [2278 0 R /XYZ 227.905 595.954 null] ->> endobj -2289 0 obj << -/D [2278 0 R /XYZ 71.731 589.758 null] ->> endobj -2290 0 obj << -/D [2278 0 R /XYZ 71.731 584.777 null] ->> endobj -2291 0 obj << -/D [2278 0 R /XYZ 141.071 569.354 null] ->> endobj -2292 0 obj << -/D [2278 0 R /XYZ 71.731 546.44 null] ->> endobj -1305 0 obj << -/D [2278 0 R /XYZ 71.731 526.35 null] ->> endobj -62 0 obj << -/D [2278 0 R /XYZ 238.664 503.102 null] ->> endobj -2293 0 obj << -/D [2278 0 R /XYZ 71.731 497.942 null] ->> endobj -2294 0 obj << -/D [2278 0 R /XYZ 71.731 492.96 null] ->> endobj -2295 0 obj << -/D [2278 0 R /XYZ 141.071 476.502 null] ->> endobj -2296 0 obj << -/D [2278 0 R /XYZ 71.731 453.588 null] ->> endobj -1306 0 obj << -/D [2278 0 R /XYZ 71.731 433.498 null] ->> endobj -66 0 obj << -/D [2278 0 R /XYZ 233.285 410.251 null] ->> endobj -2297 0 obj << -/D [2278 0 R /XYZ 71.731 404.054 null] ->> endobj -2298 0 obj << -/D [2278 0 R /XYZ 71.731 399.073 null] ->> endobj -2299 0 obj << -/D [2278 0 R /XYZ 141.071 383.65 null] ->> endobj -2300 0 obj << -/D [2278 0 R /XYZ 189.489 383.65 null] ->> endobj -2301 0 obj << -/D [2278 0 R /XYZ 194.869 383.65 null] ->> endobj -2302 0 obj << -/D [2278 0 R /XYZ 220.154 383.65 null] ->> endobj -2303 0 obj << -/D [2278 0 R /XYZ 220.154 383.65 null] ->> endobj -2304 0 obj << -/D [2278 0 R /XYZ 274.491 383.65 null] ->> endobj -2305 0 obj << -/D [2278 0 R /XYZ 274.491 383.65 null] ->> endobj -2306 0 obj << -/D [2278 0 R /XYZ 71.731 360.736 null] ->> endobj -2307 0 obj << -/D [2278 0 R /XYZ 430.398 347.785 null] ->> endobj -2308 0 obj << -/D [2278 0 R /XYZ 250.187 334.833 null] ->> endobj -2309 0 obj << -/D [2278 0 R /XYZ 318.549 334.833 null] ->> endobj -1307 0 obj << -/D [2278 0 R /XYZ 71.731 306.838 null] ->> endobj -70 0 obj << -/D [2278 0 R /XYZ 180.158 272.547 null] ->> endobj -1308 0 obj << -/D [2278 0 R /XYZ 71.731 272.368 null] ->> endobj -74 0 obj << -/D [2278 0 R /XYZ 198.718 240.866 null] ->> endobj -2310 0 obj << -/D [2278 0 R /XYZ 71.731 234.673 null] ->> endobj -1309 0 obj << -/D [2278 0 R /XYZ 71.731 170.031 null] ->> endobj -78 0 obj << -/D [2278 0 R /XYZ 200.736 144.726 null] ->> endobj -2277 0 obj << -/Font << /F34 1292 0 R /F26 1184 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2313 0 obj << -/Length 1484 -/Filter /FlateDecode ->> -stream -xÚXYoÛ8~ϯð[e fyˆ: -ô¡ëuv³=$FÚÅva(k+K†D7Ϳߡ†²%˱• 9ú8ç ÅF~ÙÈgÄððzÁ(^_ÐѼùã‚YÄÄB&-Ìoó‹·WÂ…@£ùräR—øðÎ8‘ÒÍ“œé*ÚhUŽ'\R‡|ÎW -·7cøÿ'Ÿ‹d›©ñ¿ó¿.fódÉü¤nÒ×MŒÁ3º1—êƒ2 ÔõjݵO<J(ŽÕF§’Â{gT -j÷:ÍëM zÕÈm8Õ3ý²±ô(OiT¥µ#öodo±Íìø±Vüà BUF‡0ÜÀÜ6‰b‰OÝte‘eE&àîw}“G`"ß#Ab¸Üzà‹ûÙÝÃìnñy6ÿóæ÷]²QB™l¡¦Ÿ®g_æÇP^u’‰$J%^g2ÿtÿÀΊBÔ9Qˆ:íšafñavñ¶a‡µk·®Zº @^%}^<$žw¶nIJ˜lêo×-î9ËmkŒcî;
:a‚] R±ˆS¨hHŽúRž)'ªŠËtƒ Ï©^ÙµG¢˜â†þÉ‚z‚Gž°@Ä)ñ»L„w*+ vÕÙ™ ™#:å „£RíæPí2ŸÞ"ÉÀSßÜä±ÂWÚ:“vœÉœUdÉJYRe /”žËý<EÍü0âúÍÖâÁ¤ï"áhç¢òH_¡-/wOFGEÔ1É:…Ê´”K[™Æ\”f8+£ -ûŒ•©‡¿Ì1Œ¯À>ÒUHA‰¼!ÇÖ>!áˆ{>æ¡ŸŠ£½Zúím’~Ó4aiÖ[}“Ï8ÈêYJZ>u¼Ë N `ƒ%89Ú¾8tê±3YàSvØöáz[ÙÑA§Š
8£C} -IlèCPùïìïÖîbèKSÁ s5‡Žoæ§_%ô¥’°€ícXÇXƒažì²~§çÃá¨b«žviNZ[ -3‚Múôȳ=Â…Ã:- ‚ÐvÌE®˜1… -œÓ)¯¦#'Üž—}f.T~60}¿u$56÷' -jX9“::œ´»Q:ΊjwË?áþ>°ýQÅ~Íq0ÿä÷ž=¤÷¹GBz ˆY1ÒÝW¾Þôý‘/À¸endstream -endobj -2312 0 obj << -/Type /Page -/Contents 2313 0 R -/Resources 2311 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2332 0 R ->> endobj -1310 0 obj << -/D [2312 0 R /XYZ 71.731 593.451 null] ->> endobj -82 0 obj << -/D [2312 0 R /XYZ 221.26 569.454 null] ->> endobj -2314 0 obj << -/D [2312 0 R /XYZ 71.731 563.257 null] ->> endobj -2315 0 obj << -/D [2312 0 R /XYZ 245.08 551.521 null] ->> endobj -2316 0 obj << -/D [2312 0 R /XYZ 119.552 538.569 null] ->> endobj -2317 0 obj << -/D [2312 0 R /XYZ 238.06 538.569 null] ->> endobj -2318 0 obj << -/D [2312 0 R /XYZ 71.731 507.685 null] ->> endobj -2319 0 obj << -/D [2312 0 R /XYZ 71.731 507.685 null] ->> endobj -1311 0 obj << -/D [2312 0 R /XYZ 71.731 387.501 null] ->> endobj -86 0 obj << -/D [2312 0 R /XYZ 205.12 362.096 null] ->> endobj -2320 0 obj << -/D [2312 0 R /XYZ 71.731 356.936 null] ->> endobj -2321 0 obj << -/D [2312 0 R /XYZ 343.049 344.164 null] ->> endobj -2322 0 obj << -/D [2312 0 R /XYZ 401.03 331.212 null] ->> endobj -2323 0 obj << -/D [2312 0 R /XYZ 446.003 331.212 null] ->> endobj -1312 0 obj << -/D [2312 0 R /XYZ 71.731 311.123 null] ->> endobj -90 0 obj << -/D [2312 0 R /XYZ 210.5 287.875 null] ->> endobj -2324 0 obj << -/D [2312 0 R /XYZ 71.731 281.678 null] ->> endobj -2325 0 obj << -/D [2312 0 R /XYZ 382.613 269.942 null] ->> endobj -2326 0 obj << -/D [2312 0 R /XYZ 151.494 256.991 null] ->> endobj -2327 0 obj << -/D [2312 0 R /XYZ 275.327 256.991 null] ->> endobj -2328 0 obj << -/D [2312 0 R /XYZ 119.552 244.039 null] ->> endobj -2329 0 obj << -/D [2312 0 R /XYZ 156.812 244.039 null] ->> endobj -2330 0 obj << -/D [2312 0 R /XYZ 251.497 244.039 null] ->> endobj -2131 0 obj << -/D [2312 0 R /XYZ 71.731 242.6 null] ->> endobj -2331 0 obj << -/D [2312 0 R /XYZ 71.731 209.14 null] ->> endobj -2311 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2335 0 obj << -/Length 1507 -/Filter /FlateDecode ->> -stream -xÚÅXÝoÛ6Ï_á·Ø@ÄòC¤¤‡=t™³emš¢1Úë(2k“%C¢Ûæ¿ßQGÙR$ÙÉÓ ¤NÇûâÝïNf -l0X‚D*œ$›3:y„7¿Ÿ1Çá9¯ÅóëâìÍ•ð'Äd±šøÔ'¼BN¤ô'‹å_ÓËu¼5ºœy\Ò)#¸.Ö7ogðÿ|¸)–»LÏþ^üy6_ì5KΈàGms,}ÛÄÄ”µIFBë£ õUm[•Í<Eéô\>Þ~!wUöJÚ"ܽÿÌg›Šû»ù§ÏóO÷7óÅ·¿!ð2k0Øá1F”l“]¥/uiÒUšÄFdþ”4²;vüì;ýt8SVq_D0G:nTEò¯6—ƒûlý€Wo¯î¯?Ìþ»ÛËw÷w‹Oó·7Ç}#i¾<ȵ»ó¬Hâl]TæÜ eVc¬r\\–VFçVŒìñÈÃÔx¹,»¾’8Iô¶v³î$YQéAÑD¼ÒæªåSÅÉ*Ít^ìO¸ía+Z<Û2Íž‘Rǵ6F¹?æsF~”)fÎù®ªøQãùUYl0ƒ*]~×. ¦À5ÉRBÈùX<x? o®8?”±'8áA4ñ|¥‚1²[3úüPSœ? ßr$EžëÄôÅùÀÅCÇu£ÍºX:&ÕÒ©(‰Ô2H$¸Ó™Bf.ÏØt—'&-r$üH3¨]Á£ilŒÞl
’ÅK…ªE -à —Óï3&§Úp†¶d™µ“…Öú@9“rJ¸Xƒ
.m\á#~Ô¸ðÑ÷E€&LÅÃ?6Jµ¾Í®r†¯ã§ÎL¤<h
-óú=Á :ÜF‡“HbtH"£— -£›QÎß- -endobj -2334 0 obj << -/Type /Page -/Contents 2335 0 R -/Resources 2333 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2332 0 R ->> endobj -1313 0 obj << -/D [2334 0 R /XYZ 71.731 554.908 null] ->> endobj -94 0 obj << -/D [2334 0 R /XYZ 215.88 529.503 null] ->> endobj -2336 0 obj << -/D [2334 0 R /XYZ 71.731 524.343 null] ->> endobj -2337 0 obj << -/D [2334 0 R /XYZ 411.049 511.571 null] ->> endobj -2338 0 obj << -/D [2334 0 R /XYZ 180.795 498.619 null] ->> endobj -2339 0 obj << -/D [2334 0 R /XYZ 302.202 498.619 null] ->> endobj -2340 0 obj << -/D [2334 0 R /XYZ 140.294 485.668 null] ->> endobj -2132 0 obj << -/D [2334 0 R /XYZ 71.731 483.511 null] ->> endobj -2341 0 obj << -/D [2334 0 R /XYZ 71.731 450.769 null] ->> endobj -1314 0 obj << -/D [2334 0 R /XYZ 71.731 342.903 null] ->> endobj -98 0 obj << -/D [2334 0 R /XYZ 205.12 317.498 null] ->> endobj -2342 0 obj << -/D [2334 0 R /XYZ 71.731 312.338 null] ->> endobj -2343 0 obj << -/D [2334 0 R /XYZ 214.556 299.566 null] ->> endobj -2344 0 obj << -/D [2334 0 R /XYZ 274.921 299.566 null] ->> endobj -2345 0 obj << -/D [2334 0 R /XYZ 144.458 286.614 null] ->> endobj -2346 0 obj << -/D [2334 0 R /XYZ 209.384 286.614 null] ->> endobj -1315 0 obj << -/D [2334 0 R /XYZ 71.731 281.445 null] ->> endobj -102 0 obj << -/D [2334 0 R /XYZ 199.74 256.228 null] ->> endobj -2347 0 obj << -/D [2334 0 R /XYZ 71.731 251.068 null] ->> endobj -2348 0 obj << -/D [2334 0 R /XYZ 221.628 238.295 null] ->> endobj -2349 0 obj << -/D [2334 0 R /XYZ 338.418 238.295 null] ->> endobj -2350 0 obj << -/D [2334 0 R /XYZ 119.552 225.344 null] ->> endobj -2351 0 obj << -/D [2334 0 R /XYZ 184.478 225.344 null] ->> endobj -1316 0 obj << -/D [2334 0 R /XYZ 71.731 220.174 null] ->> endobj -106 0 obj << -/D [2334 0 R /XYZ 258.918 194.958 null] ->> endobj -2352 0 obj << -/D [2334 0 R /XYZ 71.731 188.762 null] ->> endobj -2353 0 obj << -/D [2334 0 R /XYZ 451.684 177.025 null] ->> endobj -2354 0 obj << -/D [2334 0 R /XYZ 281.134 164.074 null] ->> endobj -1317 0 obj << -/D [2334 0 R /XYZ 71.731 157.653 null] ->> endobj -110 0 obj << -/D [2334 0 R /XYZ 253.539 133.688 null] ->> endobj -2355 0 obj << -/D [2334 0 R /XYZ 71.731 128.527 null] ->> endobj -2356 0 obj << -/D [2334 0 R /XYZ 179.855 115.755 null] ->> endobj -2357 0 obj << -/D [2334 0 R /XYZ 310.115 115.755 null] ->> endobj -2358 0 obj << -/D [2334 0 R /XYZ 460.839 115.755 null] ->> endobj -1318 0 obj << -/D [2334 0 R /XYZ 71.731 108.617 null] ->> endobj -2333 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2361 0 obj << -/Length 2093 -/Filter /FlateDecode ->> -stream -xÚkoã¸ñûþ -«Ä<Rõè·ë^¶Ýöns¸¤½m±`d:"K†H55Ðß!gô²”Íî¡
‡£™á¼)‹
‡?±IK#x¤Ë“lSœÞñÍìüñ Š‘ì&4xx÷݇(Þ䀈6‡MÌc–Â^š…LÊxó°ÿGðþ¨ÎV·Û](y >ŽŸï¶ðÿW\üÔì»Joÿõðçw·ƒd -…_ÔHº…ᨛ9è|dÆxœxÝœ í»q¸qo&Ž0ä,Î"`ì(:£ÿ¢/H4åI`’ÑOÚ›=%#ÑNJ&ÍDÊrЯ¹ó48«V´³Œ/ŠF
ÁÂ8'æÏƒø g8‹à½Ž§ÎXäùèygªq]ÖÆªº ls@¬íO=•)xÎx/ó{s9nmY,EË\aQ)c«ª÷(fT§hj«Êz”ê÷Ïm¹
eðo÷OY²ÆóVð@o….ÛDÌÉÝìÂ8a!Á€!ËeoÀÒ`¸ºº°eSãªPuÝX„u«¶"¨ô—ê°jnG,Kò5OÎ…,L{"¶ŒprÂÄÄ.â,ʾ6ÀŠ£.žWC,–,ão†XÊû‹¦ŠE`ÊÓ¹r¶ˆÃà„<þ¥¬*ĶÚvmX¨ò€Kt ÎÝc‘à‘W~ºA -r´&öÞå€&"ø»ä9QêÖ–ÿä<,Ðõ^¨»pJ$9“©¤ãß›j% 2&!‘‘bu8Q - -6)ë§„OÊ‚hÃöEi¡@–ðÓÃÓkªC°${Có$ך{–3-©ZÞfíK š˜žŠ ÐàH€ùjx&)‹„øÖð¬´j—Üœ%ÉÛå3!Wc3c<üGÓÀEz=Àýým¦|êάöÄzEá£ÖÎy/³·¹‹ÓZûšÁpç£%éXC -»âþ~0ÇÎî›—úÿ_&¢ttE”õ– -÷TTLWÌU±ÈU´jØ„N-‚=¾²ü§Ðç>@÷‘ThÚ=ÎP-çš›ë„ê+×L÷et¡I›£¢:¶3îÎÑ/£ssè\Û¼YD׳èj<ɨ-ghEïÀ©§-ÙÒŸ¶¼»]7øœÙI¼/`Ë[ÑÛ<ë- -8¬}¡¶š:m\#¬*ºj0¶T`«oH®oYƒhÛvÃ+¢>8+£Wb™ÒIäT²¡ [Ý£.M‡¨—ã»5 Ñæ -(1a‡Ø´×† -Z–±½Eêxƒ
r‘iÓÒ|ëw~lšg„ºóª\1³<úI«zh3>þ¦ÓËLc -sœÈò‘h3?Q•9«'Ú‡½ÏOÚ~ÖmÛP9~µ‡¥_ÙÀßý«mî<yœ¾ÕÆà^GW÷)gfòdr€¥¤ðê7UM@Y[o¡'WO=aYïKG½E=‰·’‡Œ›þü¤ê—ÎÖWÞˆ - è
iÿaÅŽ²¯ È`*ƒjòßâÞ©êkî]0_r¢ë§+Û‘H‚£®ÎJý(ã/eÝO†Öîó‚ÿâä(íåìrÝá]dxzkUñlpŸÆ)‡·Ð–hp¯htë®äçK n± µÛ˜»o^dUÂ@ˆµtŸ:ÙßKe<Â`:¿‡îŠêÚPã¯%tÀh°ÇôßYŽrÿµ“LõšAc¸…'Ãæ¾jO*Ñ ¦TÁ8U„±-TnsCúÄ‚ö]¡éÞòxYÑ-Iá -¼V#¦éÅé¬?âé°×¦hËÇ>;ÊújÖÇnVÆ2Êšñò² ~-ÊçfùÂ~Pêê²øÞøæÇFž11ͮߔÊQ–³TÊoÌåÁ
+©m?{»R–¤«•zñ9v¬ÔS]A׺„™øgîÜÎàmlú -endobj -2360 0 obj << -/Type /Page -/Contents 2361 0 R -/Resources 2359 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2332 0 R ->> endobj -2362 0 obj << -/D [2360 0 R /XYZ 71.731 790.923 null] ->> endobj -114 0 obj << -/D [2360 0 R /XYZ 210.5 758.046 null] ->> endobj -2363 0 obj << -/D [2360 0 R /XYZ 71.731 751.85 null] ->> endobj -2364 0 obj << -/D [2360 0 R /XYZ 180.801 740.114 null] ->> endobj -2365 0 obj << -/D [2360 0 R /XYZ 308.994 740.114 null] ->> endobj -2366 0 obj << -/D [2360 0 R /XYZ 263.421 727.162 null] ->> endobj -1319 0 obj << -/D [2360 0 R /XYZ 71.731 720.773 null] ->> endobj -118 0 obj << -/D [2360 0 R /XYZ 221.26 696.776 null] ->> endobj -2367 0 obj << -/D [2360 0 R /XYZ 71.731 690.58 null] ->> endobj -2368 0 obj << -/D [2360 0 R /XYZ 470.127 678.843 null] ->> endobj -2369 0 obj << -/D [2360 0 R /XYZ 268.232 665.892 null] ->> endobj -1320 0 obj << -/D [2360 0 R /XYZ 71.731 658.754 null] ->> endobj -122 0 obj << -/D [2360 0 R /XYZ 205.12 635.506 null] ->> endobj -2370 0 obj << -/D [2360 0 R /XYZ 71.731 630.345 null] ->> endobj -1321 0 obj << -/D [2360 0 R /XYZ 71.731 597.484 null] ->> endobj -126 0 obj << -/D [2360 0 R /XYZ 221.26 574.236 null] ->> endobj -2371 0 obj << -/D [2360 0 R /XYZ 71.731 569.075 null] ->> endobj -2372 0 obj << -/D [2360 0 R /XYZ 218.837 556.303 null] ->> endobj -2373 0 obj << -/D [2360 0 R /XYZ 228.716 530.4 null] ->> endobj -2374 0 obj << -/D [2360 0 R /XYZ 71.731 510.31 null] ->> endobj -1322 0 obj << -/D [2360 0 R /XYZ 71.731 453.523 null] ->> endobj -130 0 obj << -/D [2360 0 R /XYZ 237.399 430.275 null] ->> endobj -2375 0 obj << -/D [2360 0 R /XYZ 71.731 424.079 null] ->> endobj -2376 0 obj << -/D [2360 0 R /XYZ 119.552 399.391 null] ->> endobj -2377 0 obj << -/D [2360 0 R /XYZ 377.072 399.391 null] ->> endobj -2378 0 obj << -/D [2360 0 R /XYZ 71.731 368.507 null] ->> endobj -2379 0 obj << -/D [2360 0 R /XYZ 71.731 368.507 null] ->> endobj -1323 0 obj << -/D [2360 0 R /XYZ 71.731 328.446 null] ->> endobj -134 0 obj << -/D [2360 0 R /XYZ 232.019 303.041 null] ->> endobj -2380 0 obj << -/D [2360 0 R /XYZ 71.731 296.845 null] ->> endobj -2381 0 obj << -/D [2360 0 R /XYZ 178.47 272.157 null] ->> endobj -1324 0 obj << -/D [2360 0 R /XYZ 71.731 266.987 null] ->> endobj -138 0 obj << -/D [2360 0 R /XYZ 232.019 241.771 null] ->> endobj -2382 0 obj << -/D [2360 0 R /XYZ 71.731 235.575 null] ->> endobj -2383 0 obj << -/D [2360 0 R /XYZ 71.731 235.575 null] ->> endobj -2384 0 obj << -/D [2360 0 R /XYZ 259.52 210.887 null] ->> endobj -2385 0 obj << -/D [2360 0 R /XYZ 467.522 210.887 null] ->> endobj -2386 0 obj << -/D [2360 0 R /XYZ 317.936 197.935 null] ->> endobj -2387 0 obj << -/D [2360 0 R /XYZ 482.408 197.935 null] ->> endobj -1325 0 obj << -/D [2360 0 R /XYZ 71.731 190.797 null] ->> endobj -142 0 obj << -/D [2360 0 R /XYZ 226.64 167.549 null] ->> endobj -2388 0 obj << -/D [2360 0 R /XYZ 71.731 161.353 null] ->> endobj -1326 0 obj << -/D [2360 0 R /XYZ 71.731 142.478 null] ->> endobj -2359 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2391 0 obj << -/Length 1306 -/Filter /FlateDecode ->> -stream -xÚ¥W[s›8~ϯð›q·(’ -e¡ãt\) üÀø±j]íxÁ=Âyíjµ,6YRhÌÊÅ®}@Ó³6$ŒzNBOG`^dY1àžõ3Íoö˜D -˜CJ˜.ñѯhµÎÌÑÈl‡ìžNpz9uè~5¡ëRBt)3ˆN6U´ØS¾¶G ãK„™ŽáºL#).R4eH©õV_ -ðäõh_b™%O
’<ˆ§þk
ê—}À°¦=ÖÓí¹ÞÜgi|”U"í©¾DêkE)SžÆH!¬Åª¡ü¹EÉâ0Þ±ó£xÚâ_Eñ%ȇô¸u3y7ÿ}öéò|öqôÝp·ž’ðˆE]\0A<¬õ%[ -o.¿¼›ŽºÛ”m©T™Õ_Cò7ÞQ‹u]3l 8J ‡9²%sr¼öÏ›ð~8ëßí·ýÉ´Ùÿò -endobj -2390 0 obj << -/Type /Page -/Contents 2391 0 R -/Resources 2389 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2332 0 R ->> endobj -146 0 obj << -/D [2390 0 R /XYZ 248.159 758.046 null] ->> endobj -2392 0 obj << -/D [2390 0 R /XYZ 71.731 751.85 null] ->> endobj -2393 0 obj << -/D [2390 0 R /XYZ 410.43 740.114 null] ->> endobj -2394 0 obj << -/D [2390 0 R /XYZ 71.731 720.024 null] ->> endobj -2395 0 obj << -/D [2390 0 R /XYZ 71.731 695.012 null] ->> endobj -2396 0 obj << -/D [2390 0 R /XYZ 236.898 684.217 null] ->> endobj -2397 0 obj << -/D [2390 0 R /XYZ 119.552 671.266 null] ->> endobj -1327 0 obj << -/D [2390 0 R /XYZ 71.731 661.115 null] ->> endobj -150 0 obj << -/D [2390 0 R /XYZ 205.174 631.814 null] ->> endobj -2398 0 obj << -/D [2390 0 R /XYZ 71.731 625.621 null] ->> endobj -2133 0 obj << -/D [2390 0 R /XYZ 71.731 610.728 null] ->> endobj -2399 0 obj << -/D [2390 0 R /XYZ 71.731 577.986 null] ->> endobj -1328 0 obj << -/D [2390 0 R /XYZ 71.731 253.632 null] ->> endobj -154 0 obj << -/D [2390 0 R /XYZ 200.736 228.227 null] ->> endobj -2389 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2402 0 obj << -/Length 1392 -/Filter /FlateDecode ->> -stream -xÚÅÛnÛ6ô=_á·Z@Í’’¨K=¤KÒfCš"1ÚëÈsµ%C¢šæïwŽ%KQ»@†"@Hžû•–˜pø“P°Ðƒ%ŒXD“tsÄ'·póþHXŒ™E™õpÞÍÞœyþ$€7™/'>÷Ywaä2)ýÉ<û{úû*ÙU:3Wò©`´ÎWŠ6Ÿ.øÿ…EV¯•óÏü£Óy'Yº‚yY”±nÞê&|Áx6ʈq?htËÔÒ™œOo•9¯ªZ•_¹äË¢Ü$æ·kg&¦.¯æ/NoÎ.¯.Žçp-Þ¢‚ w&äFUŸQžlÔ^ -}]/þU©éÉFÑ×{e‡#Ù=N‡ -ÿX˜w -Ä"2?ľÑ$>@ÒñÒk1¦ßÊyVF’e§?ŒÊ+]äH¤ð€š!à#øã5ᥥ6:MÖö¨ZšÏɺÞ/%]«¤ìäTY“unöÑŒ=6°Fç™úÖì¥ÜnK›7g®»«ÓÔ‹1¬’ù\6ÔX’
¢ïîŠÆåÌ<ƒ77:׿æfÌÏ—,â‘E»PfUd)è
æÆP"d1T& Õ•3óB<”W¦¬SS”PªÄ({›àâM«oŽ€x•IÖtñ—ä±ÅW¥Ñ_9wS #Pѣù!wÈ¢È_9"šºZXü$w„œÞÓ¡®$+Y[™Jm·€ãÊéw$S%èÔÅe±…dT]¢%ØãV‰ãrKA…Â$Å™œÁÁA¾Îo ®Í+GÊ©å°Q›EÛO—užÌ(6 -èáqæEÁáݪÍ(õâá%¥ªf_*ðGn/;N/Èl•§E¦,惘6øC:p/¸é¬ÏTùë¬?9½úµÖWú6sq}æFñ>Ë}˜ù¡k-wû–‡rgy4B,8¡å¡…€t§Íª‡L·Ž˜–šÊþuˆÔ -¨`9eDtìµi^¡$”Éf»¶€%v˜ -)iU»[éte^õ:#ðB
Š›ìÔ¹ãc1CE¤bG`〤=šM¥‡„–T¡U;Ûm‡ï•€ùa›wßÔýØõeŸNÙF¼•–Óª¡·&yj¡ÅòiÒbO¼Ž«û
8¥ÔéX¨X Zµ k›DÌÛ>znæ¹.ºã#AŒbû:„M±5UäØî°MJãøœ[ `–…m5ë[U™±òžd¦%·ÑËtJ3y·¢–¼·-–N;/ÇÖËN -1i±ÙÖÆaVÖBr€6ýZ%ÕŠj¹¡mÆmH•½n'€¶â<cq‹¼Ý,-³ö}½,ÖëÃp1z;öhá; `QSŸ¸7'çïO¯ç]ÂsÆ…´—ò±Kj3׎Ÿ¦„KñôíÕ9€ðÊÃ'K§©oYÐÖ”ùT/Ö:ý³+ŸË „
á¾ö…,z´¯Çb×Ý`²,”œ›-ʆ(¥tì'{ NÔP´vD -endobj -2401 0 obj << -/Type /Page -/Contents 2402 0 R -/Resources 2400 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2332 0 R ->> endobj -1337 0 obj << -/D [2401 0 R /XYZ 71.731 790.923 null] ->> endobj -1329 0 obj << -/D [2401 0 R /XYZ 71.731 616.763 null] ->> endobj -158 0 obj << -/D [2401 0 R /XYZ 221.26 592.766 null] ->> endobj -2403 0 obj << -/D [2401 0 R /XYZ 71.731 586.57 null] ->> endobj -1330 0 obj << -/D [2401 0 R /XYZ 71.731 554.744 null] ->> endobj -162 0 obj << -/D [2401 0 R /XYZ 221.26 531.496 null] ->> endobj -2404 0 obj << -/D [2401 0 R /XYZ 71.731 525.3 null] ->> endobj -1331 0 obj << -/D [2401 0 R /XYZ 71.731 506.425 null] ->> endobj -166 0 obj << -/D [2401 0 R /XYZ 221.26 483.177 null] ->> endobj -2405 0 obj << -/D [2401 0 R /XYZ 71.731 478.017 null] ->> endobj -1332 0 obj << -/D [2401 0 R /XYZ 71.731 458.106 null] ->> endobj -170 0 obj << -/D [2401 0 R /XYZ 199.74 434.858 null] ->> endobj -2406 0 obj << -/D [2401 0 R /XYZ 71.731 428.662 null] ->> endobj -2407 0 obj << -/D [2401 0 R /XYZ 266.03 403.974 null] ->> endobj -2408 0 obj << -/D [2401 0 R /XYZ 385.411 403.974 null] ->> endobj -2409 0 obj << -/D [2401 0 R /XYZ 235.022 391.023 null] ->> endobj -2410 0 obj << -/D [2401 0 R /XYZ 71.731 360.139 null] ->> endobj -2411 0 obj << -/D [2401 0 R /XYZ 71.731 360.139 null] ->> endobj -1333 0 obj << -/D [2401 0 R /XYZ 71.731 310.062 null] ->> endobj -174 0 obj << -/D [2401 0 R /XYZ 242.779 284.657 null] ->> endobj -2412 0 obj << -/D [2401 0 R /XYZ 71.731 278.461 null] ->> endobj -2413 0 obj << -/D [2401 0 R /XYZ 415.558 266.724 null] ->> endobj -2414 0 obj << -/D [2401 0 R /XYZ 130.341 253.773 null] ->> endobj -1334 0 obj << -/D [2401 0 R /XYZ 71.731 246.635 null] ->> endobj -178 0 obj << -/D [2401 0 R /XYZ 232.019 223.387 null] ->> endobj -2415 0 obj << -/D [2401 0 R /XYZ 71.731 217.191 null] ->> endobj -1335 0 obj << -/D [2401 0 R /XYZ 71.731 200.373 null] ->> endobj -182 0 obj << -/D [2401 0 R /XYZ 232.019 175.068 null] ->> endobj -2416 0 obj << -/D [2401 0 R /XYZ 71.731 169.907 null] ->> endobj -2417 0 obj << -/D [2401 0 R /XYZ 428.324 157.135 null] ->> endobj -1336 0 obj << -/D [2401 0 R /XYZ 71.731 137.046 null] ->> endobj -2400 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2420 0 obj << -/Length 1765 -/Filter /FlateDecode ->> -stream -xÚÅXÝoÛ6Ï_á·É@Š”¨=¶h‡èðíA–阫,Õ.ýëwÇ;ÚRl§-’¢É3ïów<JÌ"ø³L„YC–‡EšÏªÝU4»…ß®s,˜e1ây±¼zþ:Nf,ijåf–DI˜Á^–ËP©d¶\ÿ¼Ü–{«»ùBª(!Ë&âý»9üÿƒ&oÚõPëù?Ë߯^-’•a,ÔYNt“ò¨›èç¨<Œ’Ôé†j€´ç¯9Ã_¦È(£0Éc89nµ½Ñ)kâ¨D(òœùÞh»m×Ì”™Ðmi*Š,,@E’jz2xG¿r4H"Âzßô$x!“"h†ÝÊ;Ñ4—þ;Ф®ùÌvã9½ÄJwÖ OUZžÍqÆù·ú§RÿÄø$õçìž‹€Mÿ‘>ÕŽ€ìÎ -uðÀÈü‘e1@!ó<ÛvðòV%eã5µz.Ä¿›+œ‰É"ç¨T}gh ¡®û~€cŸ<4¹:†&OƒNÛ¡kx£¤ÁûZÓvÕ6¶4inyËÅãÔ뉫)wà‡ ¤Ù«²Ú“®õN7––]°ÆGŒÄ˜‹ -|6–“h&&¹a¡„³‰ô 9)•&$0ºÞÒ„OCåàˆÄ±]ý«+fsFðTÅ•^ƒ#ÖÓ3ŒýƒÎ³Os ê׃fU^´¨7ñ»@ŽO†‡‘ä²ÓÛ¨Ô >œÕkÓ[Á`úæTlÚnçðSßqæ·»}Ûë{Èà„íwe}iž‹ÜÐÿz/a‘³…Lü(œZÕi¶eaîÑÒv§gˆ ÇûU;4¶»{‹¾F“"k<qF—„íD‚ˆC©¾""÷2zØ×½ïÚO¦©ôQ–LÂ(kŠP(Eg=ʘ¶»-ó¥´¦m²¨~””ºÊÚØ}ÖôÙØ”²þÐûRG÷]7’Y5” »;:î^“YÉÜÙ*¤8”Í…˜K‹y-“ÀÞíyð× 7]»#ž¶av¤mK›e88$QðŒv¶-žôYÏÝ¡PÜ'»#”ì•!+F -+O”€éÞ¬jž¡Ú8ö d¯+³¹£9Ô3Д'«2@!¾Ýè‹
Ы¹Œ‚'v[:*éâ6ð…º_ûó×ìŠ^û%½Amçî[ø¨µ2˜¬^->jæ™×r×Ôit¢nÖzý4mÍÞã¶/ŽÒÃÝG*ðkƒ+»HQ|êÀî‰Òã}‰(íà©sý‰€þDD)«ØœÅ`; -‘»ÊàLJ—ûÎ4¢Hƒ®ž8ÚŽuÃ{‘52ÍD_,Þ/–Á¥ì‘cðÖº¯:³ò÷͸g;1*U¡ÊF‡gd˜ŠÂ"òÕ}®¥"…pËïo©nøÒ=Í‹<úõ¼€’¤ÎõT±”Ǽ -šÌŠQ#~ÀŒ+0ÚéðŒ»Ü¼F£Xá2Åêšá!!³¯¡*äÍxàŠÅŒÐŒËÔCGÐQˆ€ -1t×¹˜Äô1€¾þI€~ÛÚÓ§‡¦Y<1;rèæÉqv‹Ü5Î0TÛ²¹ÕDsK!Š`ßQ{`0C†ž;xŒ”=¾ƒúg´â°†¿ì`£u,˜¸Âè.L[:‘x["áš§\ÕŸð_kÖt䝨Ž'ž_;ÿéJ+â§ŠêÚÕâÌ
¯'ä-…»H‚¡3Lé\·f§ig34V gò;Äw|Pôžƒá(½|¹œÇ hÇ'SKÒäϹpíA(€eÀ¢vO‹Óœœ¶O¨·ì™ÇJ¹{¨†ÎƒîñÔ`“ÇMŽÿ˜ÓNßPNaF?œîœÊ@Ôæ#6Pš¾ø`$O‹A’@ö) ºIçÜoSpUVÏAGÆ*LsõýeõA'V:±*ÐÁ%‚®:èÀsÙ8Üà -ãóʱºÊCÖ0npî.&u7¸p¦"HèàÖ¶ìÖ´é™7¸éqƒË7§9‚ˆ#ŒÀÀœÔ0¸C€ª¬*½÷Ï„TD4Ѹ^vpSØÑ»£p9Ç Š`áˆ"˜ŒP3B‘,E²8\éÓ"pR˜[…ïE -¢D ý·‹ˆJ¿ Qñ%@?Wówò$‡ÔÎü’~d9ù®à6‹áÌ,(´¸ð]üTÐÿl4¹endstream -endobj -2419 0 obj << -/Type /Page -/Contents 2420 0 R -/Resources 2418 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2332 0 R ->> endobj -1453 0 obj << -/D [2419 0 R /XYZ 71.731 790.923 null] ->> endobj -186 0 obj << -/D [2419 0 R /XYZ 226.64 758.046 null] ->> endobj -2421 0 obj << -/D [2419 0 R /XYZ 71.731 751.85 null] ->> endobj -190 0 obj << -/D [2419 0 R /XYZ 226.64 709.728 null] ->> endobj -2422 0 obj << -/D [2419 0 R /XYZ 71.731 704.567 null] ->> endobj -2423 0 obj << -/D [2419 0 R /XYZ 402.347 691.795 null] ->> endobj -1338 0 obj << -/D [2419 0 R /XYZ 71.731 684.657 null] ->> endobj -194 0 obj << -/D [2419 0 R /XYZ 226.64 661.409 null] ->> endobj -2424 0 obj << -/D [2419 0 R /XYZ 71.731 655.212 null] ->> endobj -2425 0 obj << -/D [2419 0 R /XYZ 71.731 599.64 null] ->> endobj -2426 0 obj << -/D [2419 0 R /XYZ 71.731 599.64 null] ->> endobj -2427 0 obj << -/D [2419 0 R /XYZ 71.731 534.854 null] ->> endobj -1339 0 obj << -/D [2419 0 R /XYZ 71.731 490.919 null] ->> endobj -198 0 obj << -/D [2419 0 R /XYZ 226.64 465.613 null] ->> endobj -2428 0 obj << -/D [2419 0 R /XYZ 71.731 460.453 null] ->> endobj -2429 0 obj << -/D [2419 0 R /XYZ 301.657 447.681 null] ->> endobj -2430 0 obj << -/D [2419 0 R /XYZ 185.125 434.729 null] ->> endobj -1340 0 obj << -/D [2419 0 R /XYZ 71.731 428.34 null] ->> endobj -202 0 obj << -/D [2419 0 R /XYZ 232.019 404.343 null] ->> endobj -2431 0 obj << -/D [2419 0 R /XYZ 71.731 398.147 null] ->> endobj -2432 0 obj << -/D [2419 0 R /XYZ 376.063 386.41 null] ->> endobj -1341 0 obj << -/D [2419 0 R /XYZ 71.731 366.321 null] ->> endobj -206 0 obj << -/D [2419 0 R /XYZ 232.019 343.073 null] ->> endobj -2433 0 obj << -/D [2419 0 R /XYZ 71.731 336.877 null] ->> endobj -2434 0 obj << -/D [2419 0 R /XYZ 304.279 325.14 null] ->> endobj -2435 0 obj << -/D [2419 0 R /XYZ 185.125 312.189 null] ->> endobj -1450 0 obj << -/D [2419 0 R /XYZ 71.731 305.8 null] ->> endobj -210 0 obj << -/D [2419 0 R /XYZ 242.779 281.803 null] ->> endobj -2436 0 obj << -/D [2419 0 R /XYZ 71.731 275.606 null] ->> endobj -2437 0 obj << -/D [2419 0 R /XYZ 119.552 237.967 null] ->> endobj -2438 0 obj << -/D [2419 0 R /XYZ 309.707 237.967 null] ->> endobj -1451 0 obj << -/D [2419 0 R /XYZ 71.731 230.829 null] ->> endobj -214 0 obj << -/D [2419 0 R /XYZ 242.779 207.581 null] ->> endobj -2439 0 obj << -/D [2419 0 R /XYZ 71.731 202.42 null] ->> endobj -2440 0 obj << -/D [2419 0 R /XYZ 155.248 163.745 null] ->> endobj -2441 0 obj << -/D [2419 0 R /XYZ 345.403 163.745 null] ->> endobj -1452 0 obj << -/D [2419 0 R /XYZ 71.731 156.607 null] ->> endobj -2418 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2444 0 obj << -/Length 1836 -/Filter /FlateDecode ->> -stream -xÚ½XmoÛ6þÞ_áoµ˜)Q/öaÍÒaÃú‚Ök7´Å Ht¤V–<‰JÛýúÝñHÙ²”´Ò!ˆIäñá=w¤øÂƒ?¾ˆ8‹|(¢˜%a¼Èv÷¼Åôü|[µUYé<ÚÜ{ðØ üÅf»¼€EÐÅ‚I,6ù›åy‘îµjWk!½%gTn -E•çÏVðûšOš¼¯ÔêÝæ×{›ae)8óŶY•‰mBlã<›`3/mh¬öàq 82DEá± öabÔ¸Rúi£ÜâŒæñ”!gIYÍ'JMn•ƒҰüÅšG,Qõ—öËãeJEV¤õ•¢ú¶mvXK–ûVD¸¼.›¾#I«*•v+¾TÝI¶MKÃZèhêŽÍ–Ê}Óêô²¬JýÙ®WçTÑ3@xËküiÊœ¦,`þ´µ
§÷ÖóÄ'ª–]×+»ÐÇRv©¶¹\ãÞŒ5,‘´ÓJíP7‘Ë÷œË¾†m”ée¥H®Ë¢žm_gº„]œÙž¢´cmXV“ UºokÛ›Òðß7盕íìÌnËúŠQãÏç°Ëžt³ÔNÔwÎŒâÄ -:Hß?ø…Û7;C»E¯³é’I‘X¯0‚kg0c€Xs¹T&¡ëL© ƒ©^n©ülL†JU~€-,-mð$'ò `!XB+ƒm€;k bßeš}`S__²0–‹µï1?þZÖtwË`/
k|™¬A±¥ûù±Ò…Dã¬1rÔµÄÁ6FÄ1K"qPá"FÄÁ®Â°;’e
v:Ö Ø°fJ¤¥‹Hˆ.PŽèmK¨è‚=D¨¥Y¦`g{mÛMm‡ìÓ6Ý)<pE;,¥bÌØ#ö@‹ØƒÆuÎ*òˆŠÜL%tªÄ9êÿÏ$ -Qµ&‰Bœ‡åÈø7–ÃD‰îž¥Z±)˜ÂóOJÊM÷4C4]ˆ86’M_Yã.•[W‘†¯Á‰±3vÀ„€|0rÓ¬-u™¥ÕÌÙ†pSà§–xœÀñ°T›%¯Ja/§‚Âhé¶WnœÀ£«ºèŽiÕÍÇ£„Åqt -Þ«´êçЋñ&45Ù€K¦Ô$†Xƒºxa耉 Å%UgM®ÌòÀ5*³hÒî -·X#œØ,g2 -¸6õ £˜¬Hû9 -Ãàk&äôæ¹ø”îö•„¯6
ñð -ñ~cˆ÷Ç!Þ.ZãÌ}—^Íxè:‚Aà€<!àÒ®ÌVëÐó–?Pï?”ŸØ#ì:_9ÜÀ§RˆiÝ[OzðÏÁL2<ÌÄà‚‡:oø™|wƒb§ÚkÕžCf`£íÁB8”¬¸o¦;?¬|ÿŒ:<[Òrºyi╳Ë-y’^}ÁD”,Ö -£½"ëžÆË¿ûÒ¼˜(¹«ZŸ€4¼ºói@\Þ|g=2<˜”. ÍÞ“Î"Èßé~1BO§ƒ×Æ!~Þ¦ÄWñE|f—‚ƒhòéîaíÇA0 [Öf¤œ¯PUîºNtÈŒ+9!DÝDJç…ߤ˜@Æ=d -endobj -2443 0 obj << -/Type /Page -/Contents 2444 0 R -/Resources 2442 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2465 0 R ->> endobj -2445 0 obj << -/D [2443 0 R /XYZ 71.731 778.968 null] ->> endobj -218 0 obj << -/D [2443 0 R /XYZ 237.399 758.046 null] ->> endobj -2446 0 obj << -/D [2443 0 R /XYZ 71.731 751.85 null] ->> endobj -2447 0 obj << -/D [2443 0 R /XYZ 119.552 714.211 null] ->> endobj -2448 0 obj << -/D [2443 0 R /XYZ 309.707 714.211 null] ->> endobj -222 0 obj << -/D [2443 0 R /XYZ 237.399 683.825 null] ->> endobj -2449 0 obj << -/D [2443 0 R /XYZ 71.731 678.664 null] ->> endobj -2450 0 obj << -/D [2443 0 R /XYZ 155.248 639.989 null] ->> endobj -2451 0 obj << -/D [2443 0 R /XYZ 345.403 639.989 null] ->> endobj -1454 0 obj << -/D [2443 0 R /XYZ 71.731 632.851 null] ->> endobj -226 0 obj << -/D [2443 0 R /XYZ 242.779 609.603 null] ->> endobj -2452 0 obj << -/D [2443 0 R /XYZ 71.731 604.442 null] ->> endobj -2453 0 obj << -/D [2443 0 R /XYZ 322.751 591.67 null] ->> endobj -2454 0 obj << -/D [2443 0 R /XYZ 119.552 578.719 null] ->> endobj -2455 0 obj << -/D [2443 0 R /XYZ 345.479 578.719 null] ->> endobj -2456 0 obj << -/D [2443 0 R /XYZ 229.161 552.816 null] ->> endobj -2457 0 obj << -/D [2443 0 R /XYZ 338.136 539.865 null] ->> endobj -2134 0 obj << -/D [2443 0 R /XYZ 71.731 524.756 null] ->> endobj -2458 0 obj << -/D [2443 0 R /XYZ 71.731 492.014 null] ->> endobj -1455 0 obj << -/D [2443 0 R /XYZ 71.731 442.43 null] ->> endobj -230 0 obj << -/D [2443 0 R /XYZ 258.918 417.025 null] ->> endobj -2459 0 obj << -/D [2443 0 R /XYZ 71.731 411.865 null] ->> endobj -1456 0 obj << -/D [2443 0 R /XYZ 71.731 394.012 null] ->> endobj -234 0 obj << -/D [2443 0 R /XYZ 258.918 368.706 null] ->> endobj -2460 0 obj << -/D [2443 0 R /XYZ 71.731 363.546 null] ->> endobj -1457 0 obj << -/D [2443 0 R /XYZ 71.731 345.693 null] ->> endobj -238 0 obj << -/D [2443 0 R /XYZ 242.779 320.388 null] ->> endobj -2461 0 obj << -/D [2443 0 R /XYZ 71.731 314.191 null] ->> endobj -2462 0 obj << -/D [2443 0 R /XYZ 346.767 302.455 null] ->> endobj -1458 0 obj << -/D [2443 0 R /XYZ 71.731 295.317 null] ->> endobj -242 0 obj << -/D [2443 0 R /XYZ 210.5 272.069 null] ->> endobj -2463 0 obj << -/D [2443 0 R /XYZ 71.731 265.873 null] ->> endobj -1459 0 obj << -/D [2443 0 R /XYZ 71.731 242.017 null] ->> endobj -246 0 obj << -/D [2443 0 R /XYZ 224.541 214.684 null] ->> endobj -2464 0 obj << -/D [2443 0 R /XYZ 71.731 208.491 null] ->> endobj -1460 0 obj << -/D [2443 0 R /XYZ 71.731 193.598 null] ->> endobj -250 0 obj << -/D [2443 0 R /XYZ 200.736 170.35 null] ->> endobj -2442 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2468 0 obj << -/Length 1442 -/Filter /FlateDecode ->> -stream -xÚÅX_oÛ6ϧð£Ä,I‰”4 ]’v–dHÜvÃ:²DÛBlɨ,ùö»#)ÛŠìØ²BòxäýáýîÎb -l2ú0„‰e4H—'t0ƒO'ÌqŒËh‹ççñÉ»~0ˆàÆÓA@Â^q"D0gygód¥U5qA=Fì8ž+;ùýzÿ¿ÙÅe™55ü{üëÉÅx-YpF|þ¬nŽ¥¯›?@‚DÝXÀ
ÁFH£[¦¦Ã‘¤Ô›)ý¹®U}§‚NËj™è÷·Ãó~¹¾_}¸¼øññúæòöÙO¨ È1F¤xrQ½}Q‘,ÕÁ z<Ïë/«,ÑÈMû'žŒî /*{Œ¬+õ Ÿ“Õ·§{â%²nÔ}y§²cÚb¯ìô(A÷ªÊ§xêN=6(ŸŽ÷ÔR²|¦jýþ…‹çŸ?]ÜŽê›dÙŃVE—æ>…¼ Wððîö´Êuž&·T홯ɢ9éB%ÕZN}Ô“¥eSèžÇêX“™zØíý'~Xª¼Ð!ï>r¾É #À¦`1Œ‚@~0§þ†1à€rJ‚È9ȱRËoà9Õ¿/$¢‘c»Tz^fŽIn •’ð2IYÀ -Ík›g–ö”™WJ7Uá6—”. x{ªHËL9γ›ßW—»Öàék -ó)ñ#y¤Í™ªÞÎæó‹›·°ï«ª0ìúw I„Y†„Š—Ûús?d†ÌCh–“¶`M«r¹çÈšÿ;¥\-œ˜rÚ²·J€_ÁQõÿæ(Tï5ü´ÃKyñj>Ú.ÙÊ9gØ}Ç|¹Ýu&Z7Í˦3qÊ$E«%`ôšÚBx;e䳈ð xyÛ¢¿ãiaÑAäBo%ù|ëm|?\¿ïG› ÆÄºYAÓd¶Ó²ÐI^ -zͤWŸZ -BÏœ¬`£4¥&yø*+LòE®È"³Œb«ÇJ -ý0¤¬†JóF§;*`€·±hÜ'°ß/†Áºäj¡rG¿æPæªï£Q&‹ün(Ûÿá3ö“ -¤mÉÛxݸñìq -N’ônp¸/ˆŒÄËóó_àø"^I8H5À‘ -endobj -2467 0 obj << -/Type /Page -/Contents 2468 0 R -/Resources 2466 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2465 0 R ->> endobj -2469 0 obj << -/D [2467 0 R /XYZ 71.731 778.968 null] ->> endobj -1461 0 obj << -/D [2467 0 R /XYZ 71.731 593.451 null] ->> endobj -254 0 obj << -/D [2467 0 R /XYZ 221.26 569.454 null] ->> endobj -2470 0 obj << -/D [2467 0 R /XYZ 71.731 563.257 null] ->> endobj -1462 0 obj << -/D [2467 0 R /XYZ 71.731 544.383 null] ->> endobj -258 0 obj << -/D [2467 0 R /XYZ 221.26 521.135 null] ->> endobj -2471 0 obj << -/D [2467 0 R /XYZ 71.731 515.974 null] ->> endobj -1463 0 obj << -/D [2467 0 R /XYZ 71.731 496.064 null] ->> endobj -262 0 obj << -/D [2467 0 R /XYZ 232.019 472.816 null] ->> endobj -2472 0 obj << -/D [2467 0 R /XYZ 71.731 466.62 null] ->> endobj -1464 0 obj << -/D [2467 0 R /XYZ 71.731 449.802 null] ->> endobj -266 0 obj << -/D [2467 0 R /XYZ 232.019 424.497 null] ->> endobj -2473 0 obj << -/D [2467 0 R /XYZ 71.731 419.337 null] ->> endobj -2474 0 obj << -/D [2467 0 R /XYZ 397.646 406.564 null] ->> endobj -1465 0 obj << -/D [2467 0 R /XYZ 71.731 399.426 null] ->> endobj -270 0 obj << -/D [2467 0 R /XYZ 226.64 376.178 null] ->> endobj -2475 0 obj << -/D [2467 0 R /XYZ 71.731 369.982 null] ->> endobj -2476 0 obj << -/D [2467 0 R /XYZ 388.132 358.246 null] ->> endobj -2477 0 obj << -/D [2467 0 R /XYZ 484.822 358.246 null] ->> endobj -1466 0 obj << -/D [2467 0 R /XYZ 71.731 340.213 null] ->> endobj -274 0 obj << -/D [2467 0 R /XYZ 226.64 314.908 null] ->> endobj -2478 0 obj << -/D [2467 0 R /XYZ 71.731 309.748 null] ->> endobj -2479 0 obj << -/D [2467 0 R /XYZ 301.657 296.975 null] ->> endobj -2480 0 obj << -/D [2467 0 R /XYZ 185.125 284.024 null] ->> endobj -2481 0 obj << -/D [2467 0 R /XYZ 279.202 284.024 null] ->> endobj -1467 0 obj << -/D [2467 0 R /XYZ 71.731 277.635 null] ->> endobj -278 0 obj << -/D [2467 0 R /XYZ 248.159 253.638 null] ->> endobj -2482 0 obj << -/D [2467 0 R /XYZ 71.731 247.442 null] ->> endobj -2483 0 obj << -/D [2467 0 R /XYZ 119.552 209.802 null] ->> endobj -2484 0 obj << -/D [2467 0 R /XYZ 309.707 209.802 null] ->> endobj -1468 0 obj << -/D [2467 0 R /XYZ 71.731 202.664 null] ->> endobj -282 0 obj << -/D [2467 0 R /XYZ 248.159 179.416 null] ->> endobj -2485 0 obj << -/D [2467 0 R /XYZ 71.731 173.22 null] ->> endobj -2486 0 obj << -/D [2467 0 R /XYZ 155.248 135.581 null] ->> endobj -2487 0 obj << -/D [2467 0 R /XYZ 345.403 135.581 null] ->> endobj -1469 0 obj << -/D [2467 0 R /XYZ 71.731 128.442 null] ->> endobj -2466 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2490 0 obj << -/Length 1494 -/Filter /FlateDecode ->> -stream -xÚÍXmoÛ6þž_á}²ÄŒHêµÀ>´^ÚuM×"u×iQÐ2k‘%’Òæß,ÉŠÝlX»!@øv¼{îx¹ðGG!%!‡&ŒHD£ds⎮aåÙ µS+2íÈ<™Ÿœ=åÞ(† >š¯Fžë‘Öˆß÷Fóå•3[‹m%ÕdÊ|סĴóµ4ׯ&ðÿ¼,–u&'翜œÏw–}F gG±Y‘6ÆZl”Æ€ ôøq½@cC`íì©ÇF¸3@Aæ/â %®eõ«üR½Ý.Eee»JCFB7´²/eµ.–V(h…¦1'4MiHb@‰¢Ïsð˜FŽ0M²ùµ4ý•*6Ø‹’æ;·ê¤E]šI%3)J˜’å©™YÊìT°Pä¥+ÓnU‰Eš¥Õ5™/M§*Ì#ð¯H—FåôeÜ×e_L7-ËZZCŸÓjmM©b1E÷!SÊHìg3¹AÙØwRt;öœ:7R±È¤™¯Ò4+«:Oª¼8µ+ëÔîµ+€,7JVµÊíª0ÛßÎgó C«¹¬Tš_3x?¡¼¬l"¬¢ºl`¬÷P˜³ä¼MŽÆ3ª=Cܬ®’á™{>ñYlCGò;ÆšúŽT•™l…i`ÓOW¦½Ó¡“¥7à‚c¹ƒ'9 -¢Ùc¨ƒ“†:š7Zycæ1Ý
upŒÔAu´I¤J`À†upiyƒ‹å
.6¼ÁiÍ›!YD–0,6„¶G[Â@¯G\1„žHtl[Ùq‘Û-[¡ÄFâÉh· Óôù-`ÐáŒ\Ù 29±G’ÃdÂ´Š›Týþ\‚à -ð˜0ï˜Ew»„ÖšëR\Ëa@¦ðò -q5ÁB-´Êãž®Žíq™^çfO¸ùÕŒõÖioo¨÷ʬ”ÿDq^èŠö´wŽ@AÎ'B—ÞQ ×H í¢¦Å½¡2u-Å]Ê2HÀÍ$˜@Mhæa¾@À…M޼Þ,ðu5)lí Â7ZòÈ9vÕâ[d§¯r‚j쵇ÛQþÈ7ª¯Ü{ùÕ'ߣ9I²¢”G€5<Û+œ‚Á/öðç×7«AÐÖèƒ);k®j=õg-óÄŽôh›4ø`2¥×jH „§øPJÜñú&Äi]´ÚÆì¬½ÿ;—-B¸lÝ]>ß[w<¨¶nSwÊuQgÖøÂ¢¦ÉÒ²²°•5¯kŸ>pî†ðl{O¶{ë¡KÂ(~H9ôcBÃæ,î«mv–¶àk¥üÖ¥M¥·@”c•iÕÈJ>¬¸ý*æçÿ´bö/3àAƒhOô
^>ÿíñü¼k±=®½êIÆá(ËC>ßWµ1Çgjp
w -M.6ý¨_=†íx¶‹ó³'㧦j]ßÌwó?ÃEfY®S%Qdï#‘ý:åE$¢áÑïWÈàó•qæPѬ‚¦ìÀ稡¥¿ -Šendstream -endobj -2489 0 obj << -/Type /Page -/Contents 2490 0 R -/Resources 2488 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2465 0 R ->> endobj -2491 0 obj << -/D [2489 0 R /XYZ 71.731 778.968 null] ->> endobj -286 0 obj << -/D [2489 0 R /XYZ 248.159 758.046 null] ->> endobj -2492 0 obj << -/D [2489 0 R /XYZ 71.731 751.85 null] ->> endobj -2493 0 obj << -/D [2489 0 R /XYZ 119.552 714.211 null] ->> endobj -2494 0 obj << -/D [2489 0 R /XYZ 309.707 714.211 null] ->> endobj -1470 0 obj << -/D [2489 0 R /XYZ 71.731 707.073 null] ->> endobj -290 0 obj << -/D [2489 0 R /XYZ 248.159 683.825 null] ->> endobj -2495 0 obj << -/D [2489 0 R /XYZ 71.731 677.628 null] ->> endobj -2496 0 obj << -/D [2489 0 R /XYZ 155.248 639.989 null] ->> endobj -2497 0 obj << -/D [2489 0 R /XYZ 345.403 639.989 null] ->> endobj -1471 0 obj << -/D [2489 0 R /XYZ 71.731 632.851 null] ->> endobj -294 0 obj << -/D [2489 0 R /XYZ 232.019 609.603 null] ->> endobj -2498 0 obj << -/D [2489 0 R /XYZ 71.731 603.407 null] ->> endobj -2499 0 obj << -/D [2489 0 R /XYZ 242.41 591.67 null] ->> endobj -2135 0 obj << -/D [2489 0 R /XYZ 71.731 589.513 null] ->> endobj -2500 0 obj << -/D [2489 0 R /XYZ 71.731 556.771 null] ->> endobj -1472 0 obj << -/D [2489 0 R /XYZ 71.731 309.03 null] ->> endobj -298 0 obj << -/D [2489 0 R /XYZ 232.019 283.625 null] ->> endobj -2501 0 obj << -/D [2489 0 R /XYZ 71.731 278.465 null] ->> endobj -2502 0 obj << -/D [2489 0 R /XYZ 386.952 265.693 null] ->> endobj -2503 0 obj << -/D [2489 0 R /XYZ 130.341 252.741 null] ->> endobj -2136 0 obj << -/D [2489 0 R /XYZ 71.731 252.553 null] ->> endobj -2504 0 obj << -/D [2489 0 R /XYZ 71.731 217.842 null] ->> endobj -2488 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2507 0 obj << -/Length 1891 -/Filter /FlateDecode ->> -stream -xÚ¥isÛ6ö{~…¾IîZ(Né‡lì4i›Ø+ÍÎ$™MÂj‰Ð”ï¯ß÷ -x‹•©ßo‹¬q–<OªûþÖt ùSÐfY"ж2 -ˆ$ènV¶@Q‡¥RDad1I…è³ì&–@.Š5ô¸ÕzHN‚`©P›Ï.)8eÌG¥zÒ3ÖR25¸q¢f·Y}Æfºð3[úo3&oÄIB“޼_^¼ûóË)n‰ -’¤ {?!Që•õÊîÖ…—ê6H—•þkʺÉÊ<¬‚}¬Ò„ÄÆžÔóúq‡ªL>d©"“0+ÃÜ–Mf·,¨Æ%?îj:RíYû‰„r"¡‡Iôƒ™Í>$~{ò͉˜žKè‘bÞË#'µœ&5ÇAÍQPsÜSs<®æRDôcj*î«9îª9òjއž‹ãúî{§$4nOU˜¥®›‘”&I"Z1LY˜XÔž‡'ÊÌÇ¡`¿nn8D8:اB¿VÛºäÍÍv×è£[eõªÚñ9à<ø|sš›-¡Ð'~g×k‹ªüj€}¹üe¨98øÖœG$ISïaüËÅëß.oûÜA …Ð÷›jlÓ;øÍ«ç§1a“Þ}÷úúòÍ‹hä(¤’Êpø~@eEqùÑeæŒâNI=Y “˜$Çõ“½ŒÒÙ«¡ÃsS`60ˆd”x¯ÝKà¶ÐθÕì©@
óéT’(j}Z·DÞbùH,¢¹ “8®«0@'ñìÃBOÄ9@ã)tEª9tt>cˆrˆGù%•>¯À×”
j
¹.¡ÒH:;÷ÌîlåMµÓ-ª£!fô$_gµÓ”t!ºû+[ïÆ”—.Ոȷ-Ͻ†ìV.ƒ´—ïBЀܣdÚ+±ºÌmá -8—!™!g7u
|}5‡Á‘ÜÚ¢Ýô÷!žÆóK›$.7º
@®Øça1ËaZÀ%ë¿W[]ÞÜüÙkØ!W0QŽÖã+C3vû&löfŒF[ï´·ƒ@5YÔ =ckˆ•Î -¼#ÙO”òµëµ¤ëR?¤zw`ìíaܤ¶»*…ûÙÛ3ù9t—B¤³×}Éáø ->á={n²¿-xü#^æ|á7öൟ!ß|á,«ôaÙ
|ßÈeâº<¿·?,4Ñõ|85åH¦†Ê’¶ÁÂ{çk ßµH!—·¾ÎÈÁíÎKRX¿€þº+ý{ -L· §µÞÔ^!ÿr¯v¸@…ÙdýbäÚX[5¡¨97‡kc´“}ñâ™Ïå—ß2è”6É0³+¸¥'»è'v*Óþ-(æl9â óT¨as7Fæ« Síè[È•).²&Ãkí7NËMép}ƒ‘;tÙÐAÂÓÂ`äÚêS>>1N=Ïð䨇û6pthÎ’É¿yHB{=ØöRž \îß¡Þÿ1í_ÏÏ/&²:WªwÂqîÐ36úªº®ìƒ)sd¡¿/IGŠWºjêÓ‚ÐÁVˬ4ÿÍW-Q„ÿƒÿѫ݈ §^‚NYc³ñEû {Z„ð -èglu_‹±FiI²ã7Îð¸*è`â'Ÿ_ ƒ×WgÄî=€àQ™8ñš:äô?QŸ¦æendstream -endobj -2506 0 obj << -/Type /Page -/Contents 2507 0 R -/Resources 2505 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2465 0 R ->> endobj -2508 0 obj << -/D [2506 0 R /XYZ 71.731 778.968 null] ->> endobj -1473 0 obj << -/D [2506 0 R /XYZ 71.731 531.596 null] ->> endobj -302 0 obj << -/D [2506 0 R /XYZ 210.5 506.191 null] ->> endobj -2509 0 obj << -/D [2506 0 R /XYZ 71.731 499.995 null] ->> endobj -2510 0 obj << -/D [2506 0 R /XYZ 137.879 488.258 null] ->> endobj -2511 0 obj << -/D [2506 0 R /XYZ 211.096 488.258 null] ->> endobj -2512 0 obj << -/D [2506 0 R /XYZ 309.018 488.258 null] ->> endobj -2513 0 obj << -/D [2506 0 R /XYZ 475.944 488.258 null] ->> endobj -2514 0 obj << -/D [2506 0 R /XYZ 227.167 462.355 null] ->> endobj -2515 0 obj << -/D [2506 0 R /XYZ 248.288 462.355 null] ->> endobj -2516 0 obj << -/D [2506 0 R /XYZ 365.697 462.355 null] ->> endobj -1474 0 obj << -/D [2506 0 R /XYZ 71.731 455.217 null] ->> endobj -306 0 obj << -/D [2506 0 R /XYZ 199.74 431.969 null] ->> endobj -2517 0 obj << -/D [2506 0 R /XYZ 71.731 425.773 null] ->> endobj -2518 0 obj << -/D [2506 0 R /XYZ 71.731 425.773 null] ->> endobj -2519 0 obj << -/D [2506 0 R /XYZ 237.366 414.036 null] ->> endobj -2520 0 obj << -/D [2506 0 R /XYZ 397.801 414.036 null] ->> endobj -2521 0 obj << -/D [2506 0 R /XYZ 71.731 383.152 null] ->> endobj -2522 0 obj << -/D [2506 0 R /XYZ 71.731 383.152 null] ->> endobj -1475 0 obj << -/D [2506 0 R /XYZ 71.731 333.076 null] ->> endobj -310 0 obj << -/D [2506 0 R /XYZ 242.779 307.671 null] ->> endobj -2523 0 obj << -/D [2506 0 R /XYZ 71.731 302.51 null] ->> endobj -2524 0 obj << -/D [2506 0 R /XYZ 314.22 289.738 null] ->> endobj -2525 0 obj << -/D [2506 0 R /XYZ 119.552 276.787 null] ->> endobj -2526 0 obj << -/D [2506 0 R /XYZ 345.856 276.787 null] ->> endobj -2527 0 obj << -/D [2506 0 R /XYZ 225.629 250.884 null] ->> endobj -2528 0 obj << -/D [2506 0 R /XYZ 338.136 237.932 null] ->> endobj -2137 0 obj << -/D [2506 0 R /XYZ 71.731 222.824 null] ->> endobj -2529 0 obj << -/D [2506 0 R /XYZ 71.731 190.082 null] ->> endobj -2505 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2532 0 obj << -/Length 1528 -/Filter /FlateDecode ->> -stream -xÚµX[oÛ6~ϯð[dÀfDRÔ¥À€uY;th× õÖmÈs‘%W¤šf¿~ç”ìXÎe† -JR<£HIÅÖ·šMçq?¸ås(ÂÓvU¤Œý–oäéÌ‘O·à,
àWz×uSÿx—¯›†Íæd(zŽÌ)%±ðšùXsתAåژ틳³Û[Ô|K¶sMšöšt7*ŒÆ -ÕÅ˲l¥Ö½Z¤ÒŒ¡ÎÓ
Ù ¨q_+ã„Snµ*;¼›=Íï?’íúNÞàªj_Vñ@íxçô-
2}ªé¬f³šÏÐk|y@ªh+’—å«ïFÖZ55Êz|P!ŠÊÞxÄЯޢi>˜VÕ׃o=ÖÞÙkÆvÑ9猰$›Ì#à -I”rpÖ:Yɼ\Ôcµ)'È9îwÒ¬›Ò3Å{¶iÈIqšbÕWÚEþƉÙgkÐÓMŸ'Ú´St…éZO¹]«bí×MU -È)Aïµ#š¶gêíž_¾%ãÁ-ñð4y.DMW›'!Jž‘xBêDêo€È¿4«1€ÿz`ñ -ïò~Š#h©g=‚åœeÐyþ/!Ýn¡,˜±:. ÷Ó§À‚þ_Ñ„HÙäÆÈr>¨QþyÝ ´·a@VÕVÒ!·–UÙoðÞK\(©™}àe$l„
¡3[” -‡D-[•Wvˆ¤A „³â‹#Ãé
ÍùgÇ>É«w¼Fmž¥ûƒuè¸öd¤}Çû'Šsò£Vgl /(d 8\û™ºh•Q…G¢—ù#¯º§Ïr0(ï&òCïNu0=>,7ÆîÞ©”ú>xz8Hø±)ž9Gô±3Ö ’†ONqL`€96ÔÆ[Ÿ›KílC×Á¤è”H!wdŒyG¸<Öõe˜oT5ƒu’ö㘜±«<"i60]SD›X¾Ñ„e°BýÂ_ÃXó®eÛï•c»ðó“ð˜y•˜lc«0ŽP>¶ŠP`ðµ‹ÇœÐä~íBƒ¶ôü¾8_`/‚tÛ¶Èágÿý"JaLNý±c}àˆØ³ #4zàƒÅØÒ?ãgŒ§endstream -endobj -2531 0 obj << -/Type /Page -/Contents 2532 0 R -/Resources 2530 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2465 0 R ->> endobj -2533 0 obj << -/D [2531 0 R /XYZ 71.731 778.968 null] ->> endobj -1484 0 obj << -/D [2531 0 R /XYZ 71.731 790.923 null] ->> endobj -1476 0 obj << -/D [2531 0 R /XYZ 71.731 671.471 null] ->> endobj -314 0 obj << -/D [2531 0 R /XYZ 258.918 646.066 null] ->> endobj -2534 0 obj << -/D [2531 0 R /XYZ 71.731 640.906 null] ->> endobj -1477 0 obj << -/D [2531 0 R /XYZ 71.731 623.053 null] ->> endobj -318 0 obj << -/D [2531 0 R /XYZ 258.918 597.747 null] ->> endobj -2535 0 obj << -/D [2531 0 R /XYZ 71.731 592.587 null] ->> endobj -1478 0 obj << -/D [2531 0 R /XYZ 71.731 574.734 null] ->> endobj -322 0 obj << -/D [2531 0 R /XYZ 242.779 549.429 null] ->> endobj -2536 0 obj << -/D [2531 0 R /XYZ 71.731 543.232 null] ->> endobj -2537 0 obj << -/D [2531 0 R /XYZ 346.767 531.496 null] ->> endobj -1479 0 obj << -/D [2531 0 R /XYZ 71.731 524.358 null] ->> endobj -326 0 obj << -/D [2531 0 R /XYZ 210.5 501.11 null] ->> endobj -2538 0 obj << -/D [2531 0 R /XYZ 71.731 494.914 null] ->> endobj -1480 0 obj << -/D [2531 0 R /XYZ 71.731 471.058 null] ->> endobj -330 0 obj << -/D [2531 0 R /XYZ 250.364 443.725 null] ->> endobj -2539 0 obj << -/D [2531 0 R /XYZ 71.731 437.532 null] ->> endobj -2540 0 obj << -/D [2531 0 R /XYZ 169.826 385.942 null] ->> endobj -1481 0 obj << -/D [2531 0 R /XYZ 71.731 370.833 null] ->> endobj -334 0 obj << -/D [2531 0 R /XYZ 200.736 347.586 null] ->> endobj -1482 0 obj << -/D [2531 0 R /XYZ 71.731 219.652 null] ->> endobj -338 0 obj << -/D [2531 0 R /XYZ 221.26 195.655 null] ->> endobj -2541 0 obj << -/D [2531 0 R /XYZ 71.731 189.459 null] ->> endobj -2542 0 obj << -/D [2531 0 R /XYZ 323.337 177.723 null] ->> endobj -2543 0 obj << -/D [2531 0 R /XYZ 458.594 177.723 null] ->> endobj -1483 0 obj << -/D [2531 0 R /XYZ 71.731 157.633 null] ->> endobj -2530 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2546 0 obj << -/Length 1785 -/Filter /FlateDecode ->> -stream -xÚ½XYÛ6~ϯð[m`Íðu<ô¥›MÑ"i‚]·iÑ…,Ó+%¶äêH6ýõá²eËÙ
º ‚¬xçâ|3C‹ ‡b )øD1KÂx’mŸðÉ-ìüøD8й#™Ðü°xòô¹ -& ,¨Éb= xÀ"Ø‹bÉ´&‹ÕŸÓË<ݵ¦žÍ¥æSÁè»È
^¿šÁß74yYº™ýµøùÉÕ¢—¬¥`J~V7Gr¢›”{Ý„H@'à£cƃÐê†j€´§Ï9Á“!J΂Xc¤¸5í³´uT‡ì ’±£ziÚ¼Z9¢pO49K(("–€‚HûS ÆŠxšÒ'ËÓòÖÐx]W[%Ó]mfRO?ÌÄ´¨º†k³1iK¦¹ •uUÓÉ6ª²¡Iµ¦ï®ªÛtYlŠö“Y®hÐV^ÉAü©Š±ÌZ»‰§{˹¼£aÑ4q‚>mîDÕÕrŽöƒCæB²D“±³EÚDO4; ¦] férch½-¶†vÖ]™µXqávòÂu; YIµi»ºt»)ÿuq¹˜)´uœ›¶.Ê[F“?fB€•Ñf©cÔ5^üHºL¥öqá-Ö2Ô[vmvzéfZ&.2¬!´3à ¯…žšº¥E¿™Ò‡¦q±¦ï'«26Å{0aê`ƒ7y¢ ‚&$t“Ö¹£ -ª#ý–iöžFù\*ÍÂXOæŠ3?5Í#¢Fõ¨QÚ¢Fé¤G
.jpuW#8,p5¸H¨±±ÔZÇH'ÔàQƒÔX‘ˆ¤@_‘ÔàVn!ƒ›žÈA7=dpÙBæ'ˆ‡™Và;À -ÌV`4À -îV`”f¶kݼ*Ý‘]Z§[ƒ™âÐKé3„,ì¡“èÀŒ ƒÊ5^+ -‡#|œÇFTâ£ôÛÜH↤ÏB *¨Š¿IPnL]¤›S†Z0ß‹%FC,-(X@Õ-²cäV[_œ’<—A2-»íÒWqŸ£„0ÆÀ7Ç´Z{J/²Z¾3Y;âþå9æy¦9ãˆ$góWqÎa@Ê0bq({Óì>0IA÷yš¼ê¼ eë^EÈÍ€ [ÐYëéX°*.Yˆ-ÕÝIºZ]ݵ¦lzà2”Œî»–,vLt+Š'ýàd¹U4KYDƒM½x»e³1÷ùG¾±Â쥘¡ÆÜ
}¬H§ªñ<IÇ’@¤É‘ÛQº„RЖ˜~Gô€œ1)Ô VduÑÙØýC:ƒG -“²Å|µ14¢¥¶âë½`;ðÆØISuuæ6VÜ_µDÄuó´J¨£Ûkæk@~,÷¹MßU5½_jÑð›aêmì+$ 4Á…8š´6ûe;hìMÊ -¼o˜Ž}2xýê
ûú¾fÄ‹œÅ‰}g¯cë§64YU´€ñÚ•ô<’}h"Ãr«F_ŸÒOÃÜþ{h]s×(a˜ØŽìZ =ϯîÒín㘈yÌNS<<˜U"Φx5Lñ<ð.8¬¡]“ÞŽDè<QL„ ÔbÈ¡xŠž²3xðé÷ôAŸïÞwì²Þ\ÏæÐã#É[®9ü=|€‡x0(ÜH$ÎR}ð%àÀ*äoy“ìï.¯_\[vß]Ð -w_'¤nlzêÕ±›^äqY•LF² ~’¬ª<`êÞéÍ)ÛX± ¼·° -® ŒÐïXy'T@]oqy‘¹hË«ÍêøÀQ–Ä%*ƒŽçl9þ?¡ÅÔ7tØþçˆÇŠÍAÞ:væ×õ$\Õ#9ÞÚÓ=Ø‘î9×v}z‡í?]áìÄÚnÊöÈYý3·é›ìÓŒ.±«Òç›ÖÝCh2´Ïh{wBI´¦-ÐvC¦ ]ëSPÎ"¬<§ß5OnÚª6#CÁéµ»„N«s)”vŽÁ VÉäȧ™=Dþ¨+ŸÅÊô+fSl¡Òá}®Šà¯þ„Çö'¨/ÜÛ»ÀºIˆu!‰(Íð‡“Â4ìøW\÷óqC$DŸýyOròû²')y.h´Ðg~/>•ôövendstream -endobj -2545 0 obj << -/Type /Page -/Contents 2546 0 R -/Resources 2544 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2465 0 R ->> endobj -2547 0 obj << -/D [2545 0 R /XYZ 71.731 778.968 null] ->> endobj -342 0 obj << -/D [2545 0 R /XYZ 215.88 758.046 null] ->> endobj -2548 0 obj << -/D [2545 0 R /XYZ 71.731 751.85 null] ->> endobj -2549 0 obj << -/D [2545 0 R /XYZ 119.552 714.211 null] ->> endobj -2550 0 obj << -/D [2545 0 R /XYZ 309.707 714.211 null] ->> endobj -346 0 obj << -/D [2545 0 R /XYZ 215.88 683.825 null] ->> endobj -2551 0 obj << -/D [2545 0 R /XYZ 71.731 678.664 null] ->> endobj -2552 0 obj << -/D [2545 0 R /XYZ 155.248 639.989 null] ->> endobj -2553 0 obj << -/D [2545 0 R /XYZ 345.403 639.989 null] ->> endobj -1485 0 obj << -/D [2545 0 R /XYZ 71.731 632.851 null] ->> endobj -350 0 obj << -/D [2545 0 R /XYZ 226.64 609.603 null] ->> endobj -2554 0 obj << -/D [2545 0 R /XYZ 71.731 603.407 null] ->> endobj -1486 0 obj << -/D [2545 0 R /XYZ 71.731 584.532 null] ->> endobj -354 0 obj << -/D [2545 0 R /XYZ 226.64 561.284 null] ->> endobj -2555 0 obj << -/D [2545 0 R /XYZ 71.731 556.124 null] ->> endobj -2556 0 obj << -/D [2545 0 R /XYZ 387.414 543.351 null] ->> endobj -1487 0 obj << -/D [2545 0 R /XYZ 71.731 536.213 null] ->> endobj -358 0 obj << -/D [2545 0 R /XYZ 242.779 512.965 null] ->> endobj -2557 0 obj << -/D [2545 0 R /XYZ 71.731 507.805 null] ->> endobj -2558 0 obj << -/D [2545 0 R /XYZ 323.746 495.033 null] ->> endobj -2559 0 obj << -/D [2545 0 R /XYZ 119.552 482.081 null] ->> endobj -2560 0 obj << -/D [2545 0 R /XYZ 345.856 482.081 null] ->> endobj -2561 0 obj << -/D [2545 0 R /XYZ 225.629 456.178 null] ->> endobj -2562 0 obj << -/D [2545 0 R /XYZ 338.136 443.227 null] ->> endobj -2138 0 obj << -/D [2545 0 R /XYZ 71.731 428.119 null] ->> endobj -2563 0 obj << -/D [2545 0 R /XYZ 71.731 395.376 null] ->> endobj -1488 0 obj << -/D [2545 0 R /XYZ 71.731 345.792 null] ->> endobj -362 0 obj << -/D [2545 0 R /XYZ 258.918 320.388 null] ->> endobj -2564 0 obj << -/D [2545 0 R /XYZ 71.731 315.227 null] ->> endobj -1489 0 obj << -/D [2545 0 R /XYZ 71.731 297.374 null] ->> endobj -366 0 obj << -/D [2545 0 R /XYZ 258.918 272.069 null] ->> endobj -2565 0 obj << -/D [2545 0 R /XYZ 71.731 266.908 null] ->> endobj -1490 0 obj << -/D [2545 0 R /XYZ 71.731 249.055 null] ->> endobj -370 0 obj << -/D [2545 0 R /XYZ 242.779 223.75 null] ->> endobj -2566 0 obj << -/D [2545 0 R /XYZ 71.731 217.554 null] ->> endobj -2567 0 obj << -/D [2545 0 R /XYZ 346.767 205.817 null] ->> endobj -1491 0 obj << -/D [2545 0 R /XYZ 71.731 193.698 null] ->> endobj -374 0 obj << -/D [2545 0 R /XYZ 237.453 166.365 null] ->> endobj -2568 0 obj << -/D [2545 0 R /XYZ 71.731 160.172 null] ->> endobj -2139 0 obj << -/D [2545 0 R /XYZ 71.731 145.279 null] ->> endobj -2544 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2571 0 obj << -/Length 1779 -/Filter /FlateDecode ->> -stream -xÚXYÛ6~ß_á>Ä\RÔ Éb·H‘ Ab$šÂ mÚVcK®De³ÿ¾3êZ9Ž{ ØðÎ|œã#e1áðOLbÁb Mœ°4J&«ÃŸlaå—+á$fNdÖ“y9¿º¹—Á$… 9™o&Xkqâ³0&óõïÞíN.§3?äž`ÔÎwš:ïÞNáÿO4xS¬ë½žþ1ÿõênÞZ}Á¤›có;lB¤€ ô„ ãAd±Ý}S‡ãÞA³”¡í›ûÀŸ ž·´LÁ -Šyº¨LQj’ë«#æ'àj¯ªŠ´Ö•Ú6â²S;“àŽDj÷ÞYĹ÷35ïÞ~b¿É¸ò™‡þª+3_2)|²¦î³ýpkqÔ9î ѵѕ¹Y©éLx+]vÔ‡ëgn¼¦N_¹ -óxÔÕ¸Èù À) ݶªiHçÑP¤ƒJXkçûÅ"Ë3³X4az~"Zá.D½óá±/Ü ŒåÝvÜiU4¹é–Ï«ê×%êoˆGn˽·
I?‰Gã#?d¼JF¬ís$Ò±qã¼±¾ d OœØmvÅÚ E=£P{ -·ŒˆY*}g4ƒPJ.½U‘WSᙲ^A@iΨ/SÁ=íDò[ßSåT$Þ¶>èÜTŒÖZôý¼1g~ì`u¹2B -ÀõKr¥6u™cÆ[X -@åyah¸ÔÔÖ øÀlìש=÷,ßÒšûgÎý•¡n9\WÂgiØ\:F7W\n²=u•¡v¯UåºEîîWÇ -:5/6ø0krM[ )©v¬ûd³$ºoptëˆDžðS¦öûGšv>ò'LQ -ðùEÃ+œ(ZFaGÑ2 -ðœvÒ–=vNñ²ÝUjÚAÔ±¦Ù6Æ8 tZ¶ÆÁ|ç6)‹‰š¬¦¡}8dËØÖüÆæƒ”ùŒÂó=þ1cçHKì”:"èEIÈ1;£²³]ìØ§ Gþ‰†q²cgkeŽiVMçÜÞ]ƒê“6ðfCÚö‡™Ì=ÁÒí
oì»8 ÷/¨zÌÓ6P}Ž´Ïj‘‚>ôd’"W¤^UÔÖ±0÷WífM©²íÎÐÄøa¨rMË]2B»Ö¼Ð
¹.uîóQ 9ÓUU@X\Sâ%»BÑ|¶ÍÕìÄEoqM‘³ÕÊm
àÀz“ÚPNpé&\Ú?ÒÈd‡F¾8êVC¾e4EƒÊÕVã†3Ú6"Ù8˜0O -e©>žÔ¼¿K]UÍ£}éâýuê#dEíÒ壤V#êop(øü¨2ü8¢¼!ž³/úÒe ==ðK .K€ÜäRUEiܳ¿ÿS û
Š6ª<÷+e'2ú‘2„¯OO~'‚‡Ñw~t[úU†Åendstream -endobj -2570 0 obj << -/Type /Page -/Contents 2571 0 R -/Resources 2569 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2591 0 R ->> endobj -2572 0 obj << -/D [2570 0 R /XYZ 71.731 778.968 null] ->> endobj -2573 0 obj << -/D [2570 0 R /XYZ 71.731 746.061 null] ->> endobj -1492 0 obj << -/D [2570 0 R /XYZ 71.731 526.614 null] ->> endobj -378 0 obj << -/D [2570 0 R /XYZ 200.736 501.21 null] ->> endobj -1493 0 obj << -/D [2570 0 R /XYZ 71.731 420.26 null] ->> endobj -382 0 obj << -/D [2570 0 R /XYZ 221.26 395.904 null] ->> endobj -2574 0 obj << -/D [2570 0 R /XYZ 71.731 389.708 null] ->> endobj -2575 0 obj << -/D [2570 0 R /XYZ 289.822 377.972 null] ->> endobj -1494 0 obj << -/D [2570 0 R /XYZ 71.731 359.939 null] ->> endobj -386 0 obj << -/D [2570 0 R /XYZ 210.5 334.634 null] ->> endobj -2576 0 obj << -/D [2570 0 R /XYZ 71.731 328.438 null] ->> endobj -2577 0 obj << -/D [2570 0 R /XYZ 137.732 316.701 null] ->> endobj -2578 0 obj << -/D [2570 0 R /XYZ 221.416 316.701 null] ->> endobj -2579 0 obj << -/D [2570 0 R /XYZ 318.607 316.701 null] ->> endobj -2580 0 obj << -/D [2570 0 R /XYZ 378.751 303.75 null] ->> endobj -2581 0 obj << -/D [2570 0 R /XYZ 432.032 303.75 null] ->> endobj -1495 0 obj << -/D [2570 0 R /XYZ 71.731 270.709 null] ->> endobj -390 0 obj << -/D [2570 0 R /XYZ 237.399 247.461 null] ->> endobj -2582 0 obj << -/D [2570 0 R /XYZ 71.731 241.265 null] ->> endobj -2583 0 obj << -/D [2570 0 R /XYZ 137.965 229.528 null] ->> endobj -2584 0 obj << -/D [2570 0 R /XYZ 222.114 229.528 null] ->> endobj -2585 0 obj << -/D [2570 0 R /XYZ 347.365 229.528 null] ->> endobj -2586 0 obj << -/D [2570 0 R /XYZ 127.708 216.577 null] ->> endobj -2587 0 obj << -/D [2570 0 R /XYZ 265.964 216.577 null] ->> endobj -2588 0 obj << -/D [2570 0 R /XYZ 119.552 190.674 null] ->> endobj -2589 0 obj << -/D [2570 0 R /XYZ 173.586 190.674 null] ->> endobj -2590 0 obj << -/D [2570 0 R /XYZ 71.731 170.584 null] ->> endobj -1496 0 obj << -/D [2570 0 R /XYZ 71.731 126.749 null] ->> endobj -2569 0 obj << -/Font << /F34 1292 0 R /F32 1191 0 R /F42 2168 0 R /F33 1203 0 R /F22 1177 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2594 0 obj << -/Length 1765 -/Filter /FlateDecode ->> -stream -xÚµkoÛ6ð{~…÷)2P³$%Jb€
Ø’ô14hиè€mIŽµÊ’ ÉMýïwÔõˆÜ¤6ˆŽ¼ãñÞw´Xpø‹@°À…O2퇋xwÂ÷€y}"ˆbE$«Íoë“—¯\o¡aÃ]¬7{, -¢°§¾,…rÒÚ2ÏJ"¨ê2N›†¡N®;ØÇU` !Is#Ù\o qúDÒlË}Þg±rÅ„Á ’i…1RJ_9Q߬hÚ¨ˆi·ÜÌE8¸Û#ö(®H ˜šH²úØdÅ=‚qª1ŠYL¬ÛAi¾¾³[ -,ºOq96`¬Å*£“ušÃ®qçܯêl—/pgÜÖGz.ÙF íÊ -¥͌dFÚ@:Í$ß5¸ˆ;£.Ñl”`½z÷äQK_"Œª*Ïz¹‘§#Yqëî@L˜¢ýÌÎ4 »mžë4áÿv¦„ô¶¶Û– 6›§sÁ³á$çyÏù¸ -2üÙÔTŠ)צ¦;JM9JMcjJLMó9ÿðÎ -èf2""èáóPí-~}€ÊE»dO¢šœó.»«£ÚHåiçn)¹³'R(„y@ŒY™“C‡´"ïÎË”’Løv,ئ_“±¯Fn€ñAsëPk/[÷FUzËx -VyÔ·ûaoÔ•ËÂ[¯Á¶´·)Mq2¦„qèìHg:4â³Pc^\]H[wlìqÆ…OHu‰¡%ëI¤ø6ßo¯/¯.„ÏG$c¹—ÔSîw†2fÞÿðbГ^CìÌ -rФ‘˜ëDð_äæ7ýkÂ;endstream -endobj -2593 0 obj << -/Type /Page -/Contents 2594 0 R -/Resources 2592 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2591 0 R ->> endobj -2595 0 obj << -/D [2593 0 R /XYZ 71.731 778.968 null] ->> endobj -394 0 obj << -/D [2593 0 R /XYZ 221.26 758.046 null] ->> endobj -2596 0 obj << -/D [2593 0 R /XYZ 71.731 752.886 null] ->> endobj -2597 0 obj << -/D [2593 0 R /XYZ 469.964 740.114 null] ->> endobj -2598 0 obj << -/D [2593 0 R /XYZ 189.876 727.162 null] ->> endobj -1497 0 obj << -/D [2593 0 R /XYZ 71.731 694.121 null] ->> endobj -398 0 obj << -/D [2593 0 R /XYZ 210.5 670.873 null] ->> endobj -2599 0 obj << -/D [2593 0 R /XYZ 71.731 665.713 null] ->> endobj -2600 0 obj << -/D [2593 0 R /XYZ 365.065 652.94 null] ->> endobj -2601 0 obj << -/D [2593 0 R /XYZ 481.171 652.94 null] ->> endobj -1498 0 obj << -/D [2593 0 R /XYZ 71.731 601.967 null] ->> endobj -402 0 obj << -/D [2593 0 R /XYZ 218.085 574.634 null] ->> endobj -2602 0 obj << -/D [2593 0 R /XYZ 71.731 567.199 null] ->> endobj -2603 0 obj << -/D [2593 0 R /XYZ 371.714 542.754 null] ->> endobj -2140 0 obj << -/D [2593 0 R /XYZ 71.731 540.597 null] ->> endobj -2604 0 obj << -/D [2593 0 R /XYZ 71.731 507.855 null] ->> endobj -1499 0 obj << -/D [2593 0 R /XYZ 71.731 451.596 null] ->> endobj -406 0 obj << -/D [2593 0 R /XYZ 200.736 426.191 null] ->> endobj -1500 0 obj << -/D [2593 0 R /XYZ 71.731 356.539 null] ->> endobj -410 0 obj << -/D [2593 0 R /XYZ 221.26 332.542 null] ->> endobj -2608 0 obj << -/D [2593 0 R /XYZ 71.731 326.346 null] ->> endobj -2609 0 obj << -/D [2593 0 R /XYZ 245.049 314.609 null] ->> endobj -2610 0 obj << -/D [2593 0 R /XYZ 371.117 314.609 null] ->> endobj -2611 0 obj << -/D [2593 0 R /XYZ 71.731 283.725 null] ->> endobj -2612 0 obj << -/D [2593 0 R /XYZ 71.731 283.725 null] ->> endobj -1501 0 obj << -/D [2593 0 R /XYZ 71.731 233.648 null] ->> endobj -414 0 obj << -/D [2593 0 R /XYZ 210.5 208.244 null] ->> endobj -2613 0 obj << -/D [2593 0 R /XYZ 71.731 202.047 null] ->> endobj -2614 0 obj << -/D [2593 0 R /XYZ 317.636 190.311 null] ->> endobj -2615 0 obj << -/D [2593 0 R /XYZ 398.813 190.311 null] ->> endobj -2616 0 obj << -/D [2593 0 R /XYZ 425.102 190.311 null] ->> endobj -1608 0 obj << -/D [2593 0 R /XYZ 71.731 183.173 null] ->> endobj -418 0 obj << -/D [2593 0 R /XYZ 199.74 159.925 null] ->> endobj -2617 0 obj << -/D [2593 0 R /XYZ 71.731 153.729 null] ->> endobj -2618 0 obj << -/D [2593 0 R /XYZ 256.417 141.992 null] ->> endobj -1609 0 obj << -/D [2593 0 R /XYZ 71.731 134.854 null] ->> endobj -2592 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R /F49 2607 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2621 0 obj << -/Length 1675 -/Filter /FlateDecode ->> -stream -xÚÕX]oÛ6}ϯð[e bER”¨{è’tí° A Ûȶk³%C’Ûùßï—’¥Hùö2¨èËËËûqxy>ðÏbÎb‰O¬YéÙrwÌî1óËw¾Sñ{:?ßž½û(ÃYœÝ®ga²s±L©pv»úÝ;ߤû&«æ¾PÇ}o7
®¿Ìñÿ7úqU®Ûlþçí¯g—·ÝÎJp&Å“¾9•‘oBœ|ã<O°£4ÂÈúfÜÀnï>†bfVFFQ,Ô†Æ*¿ÏꆔúÖ¤‚í”®²fS®œRtRò•bÊäŒÇ,´e^#Ú8ñv´Ê:ðª¬9T…›hlr u›[a¹&Y:çÞvKcRÄä*mRýØäË
7iM²E–$ÚWå2«ëlÅè·s:ëC±lòÒé-Ó¢]Ú -¶ÛÌFˆ}.X¢(œ´¡ÒaWÞ‘~4ù.kÅ+üÈÓ¥[’çBykÄ“-¨ia‘€L‘º%uS–H›´©pÚ6çRöª'x<U¾^e¤Áiâ”ÊÅ_ð€uEæá)[@E,ÖÑÌ— •†°c·
™Š[ƒŸvéršH[Ïηi]OAF²Ÿ#"‘ yK»ÃØ”Òdü{¾ÊÜdº4µ¥qS’–CHä}ºú0ïœ~µÕN·ys$M›TL}ÙgÅÍÍol¸ìÍ\)ÏíœVÎfJŸï¦Œi•§EãL4qJ~nZ¤€ ©!÷Z·¸W¿%I‹`7é\°8³@8ÖóâžÈÇ>«:’€P—4oóe…Öbë,á+”ÛdÛ_ -ÜeËCe2)ÑT/Æ‹šWy½<˜s5qBÖ‡ -^W-®éûõã9
GË·˜Š…êa9ÕÞueRR6esÜgõþf!g'ä8¼DA@˜´£÷ÖIh)hù€g¤¨®p"ÆÝ]^äÍÝÝ -Ì>oIüw†ÔrRþ¾tbùa~”™Å¦/=«¾,÷G£<VŒ‡Šˆ` 7L™ßFd¾°¿·¡Ží…ŠéàÙþ ’¶ÃËþqÕ -‘ÔºÊÊ *Óí§Ò§°ü1®&G,ÍcÔVz. óH¥´2k–.Yöi•â¶G;$‹â¶'™ì›F·öëMyØ®Èê"Hé0êжýñV(i,œ!«gbq{@ø2F"=8X‹ö:(&î;X—ÛmiSÏÞOÜ,Ñ0Ó ˜«qwñù—˛ۈ®å&Õã“7Ÿ>LMFí$|é×Ï×—W< -z*±Ýyª—B›ŽáB]ÀFb;ê¢ÚÓ^/põ‰;¼~Á%Γ„ÅèÅ}À°o™F³[cÝ‘:C—Æ© -›0ˆ§-ô\êNŠ -:¤¦]*€Ç‰®ïKÃcQP_Lê—rTÓ@ÇÆàŒÐÏ–9Š'êƒ2Ÿê)l<çAËúp¿zOUâœEê•EJŽ -Ó±zešú¤lÐÝ‚ä¹,ýÉDLvyÝãñ‰ÍÒ@‰Ò•×Þ‰6àqùÄK‰Èë“ZK䓎A舼n‰¼~@ä1sò¦GäµáíðÆnÿ+—=búD^E,ñ+‰üÍq‡êVù›8áÈÓl^cW¸ 6Æ›Gl’ŽÍ‡šØ¼‘Ù¼‡-Ç î$‹ùTÓY°\«
£Ga©‡à3Oê_Cš:¬„•}ãdÍmdÊæOpy×Ò¥Ô–
›/xøº¬v†â›Ÿ[\oiXÛ£ÞØ{¿Æ]"”¸Û>›Ëê¸oŒÇãìF‚©î=UNC"»WÞ*{©©6:(Îu›+퓺.(ËRðbkUƒCUe˲Z‹B8#Bv©µBP!FâÏ
‰¬ø½/ë:o+F``ªìP·¢É“ƒW… -ä#0î®"9<?Î×ÅѹŠ,b7Ú#Æ…†/,”Lø…©”,Œ’²ž.˜)m{»¥÷sÐмh/íþ]á}ܨÓå?én¿u
ˆ›§Æøæˆ$“Y}¿¾}ôîö@VT§÷uñ5:Z ´=í7Uj -jž9?ÑçÍîHƒíÖyOõÍÄ‹j·R×_¾±û7Ϧ“ìʼâN\ÖÊÍ£jâí“ìôœ#Õ¡¿¼[Úÿ›ûca¨™Fÿ~êω'•Ñ_‘pÄ©¸~䯃ãþWôTnendstream -endobj -2620 0 obj << -/Type /Page -/Contents 2621 0 R -/Resources 2619 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2591 0 R ->> endobj -2622 0 obj << -/D [2620 0 R /XYZ 71.731 778.968 null] ->> endobj -422 0 obj << -/D [2620 0 R /XYZ 210.5 758.046 null] ->> endobj -2623 0 obj << -/D [2620 0 R /XYZ 71.731 751.85 null] ->> endobj -2624 0 obj << -/D [2620 0 R /XYZ 351.569 727.162 null] ->> endobj -1610 0 obj << -/D [2620 0 R /XYZ 71.731 715.043 null] ->> endobj -426 0 obj << -/D [2620 0 R /XYZ 205.174 687.71 null] ->> endobj -2625 0 obj << -/D [2620 0 R /XYZ 71.731 681.517 null] ->> endobj -1611 0 obj << -/D [2620 0 R /XYZ 71.731 642.779 null] ->> endobj -430 0 obj << -/D [2620 0 R /XYZ 200.736 617.473 null] ->> endobj -1612 0 obj << -/D [2620 0 R /XYZ 71.731 548.18 null] ->> endobj -434 0 obj << -/D [2620 0 R /XYZ 221.26 523.825 null] ->> endobj -2626 0 obj << -/D [2620 0 R /XYZ 71.731 517.628 null] ->> endobj -2627 0 obj << -/D [2620 0 R /XYZ 244.707 505.892 null] ->> endobj -2628 0 obj << -/D [2620 0 R /XYZ 359.742 505.892 null] ->> endobj -2629 0 obj << -/D [2620 0 R /XYZ 470.392 505.892 null] ->> endobj -2630 0 obj << -/D [2620 0 R /XYZ 71.731 475.008 null] ->> endobj -2631 0 obj << -/D [2620 0 R /XYZ 71.731 475.008 null] ->> endobj -1613 0 obj << -/D [2620 0 R /XYZ 71.731 424.931 null] ->> endobj -438 0 obj << -/D [2620 0 R /XYZ 210.5 399.526 null] ->> endobj -2632 0 obj << -/D [2620 0 R /XYZ 71.731 393.33 null] ->> endobj -2633 0 obj << -/D [2620 0 R /XYZ 319.33 381.594 null] ->> endobj -2634 0 obj << -/D [2620 0 R /XYZ 390.383 381.594 null] ->> endobj -2635 0 obj << -/D [2620 0 R /XYZ 416.884 381.594 null] ->> endobj -1614 0 obj << -/D [2620 0 R /XYZ 71.731 374.455 null] ->> endobj -442 0 obj << -/D [2620 0 R /XYZ 199.74 351.207 null] ->> endobj -2636 0 obj << -/D [2620 0 R /XYZ 71.731 345.011 null] ->> endobj -2637 0 obj << -/D [2620 0 R /XYZ 256.417 333.275 null] ->> endobj -1615 0 obj << -/D [2620 0 R /XYZ 71.731 326.137 null] ->> endobj -446 0 obj << -/D [2620 0 R /XYZ 194.361 302.889 null] ->> endobj -2638 0 obj << -/D [2620 0 R /XYZ 71.731 297.728 null] ->> endobj -2639 0 obj << -/D [2620 0 R /XYZ 351.569 272.004 null] ->> endobj -1616 0 obj << -/D [2620 0 R /XYZ 71.731 259.885 null] ->> endobj -450 0 obj << -/D [2620 0 R /XYZ 237.453 232.552 null] ->> endobj -2640 0 obj << -/D [2620 0 R /XYZ 71.731 225.117 null] ->> endobj -2641 0 obj << -/D [2620 0 R /XYZ 263.444 200.672 null] ->> endobj -2642 0 obj << -/D [2620 0 R /XYZ 337.659 200.672 null] ->> endobj -2643 0 obj << -/D [2620 0 R /XYZ 324.055 187.721 null] ->> endobj -2644 0 obj << -/D [2620 0 R /XYZ 450.63 187.721 null] ->> endobj -2645 0 obj << -/D [2620 0 R /XYZ 119.552 174.769 null] ->> endobj -2141 0 obj << -/D [2620 0 R /XYZ 71.731 172.612 null] ->> endobj -2646 0 obj << -/D [2620 0 R /XYZ 71.731 139.87 null] ->> endobj -2619 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2649 0 obj << -/Length 1625 -/Filter /FlateDecode ->> -stream -xÚ¥XÛnÛ8}ïWø26f%R× -·Ì¾£šÖ´
(Þ\sÞŸ¹™àŒG <#憹܅3ÅÎM=å°R—ú©’
- ˜ãÅ@ZˆÊºô£á¹1 —<ó “B¬V -B¾Z¡·¨=>?ánÁAj~“OÖO…NìJóïi¾—o¿pîÿî`ß™îÀ~Ïá™þP{·ÑúW¾õ܆ƒýjcÈæ»aÁrh€>ïw†»ÌèCDÜ1Ÿ°Ø-ìƒÔÛ2³ p 4O RzK·J戛8ë²ht½_ë²¶SÏ©%¸o)= -9åó0N"ëo˜X#úÌÙ¸,°¨òî¹ÖŒ˜©€P¥uº“ [ÆHO›æØXT(¶ÒTp¤¾¸.oyتõ–Äo D
ÊuœJîóŒÇ‚ÅQ -‘øóþòêÝj~1ï’xA¼¼²Àsn–
qá' - -(ôðÜŽ•Õ -endobj -2648 0 obj << -/Type /Page -/Contents 2649 0 R -/Resources 2647 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2591 0 R ->> endobj -2650 0 obj << -/D [2648 0 R /XYZ 71.731 778.968 null] ->> endobj -1617 0 obj << -/D [2648 0 R /XYZ 71.731 629.827 null] ->> endobj -454 0 obj << -/D [2648 0 R /XYZ 200.736 604.422 null] ->> endobj -1618 0 obj << -/D [2648 0 R /XYZ 71.731 523.473 null] ->> endobj -458 0 obj << -/D [2648 0 R /XYZ 221.26 499.117 null] ->> endobj -2651 0 obj << -/D [2648 0 R /XYZ 71.731 492.921 null] ->> endobj -2652 0 obj << -/D [2648 0 R /XYZ 240.921 481.185 null] ->> endobj -2653 0 obj << -/D [2648 0 R /XYZ 379.826 481.185 null] ->> endobj -2654 0 obj << -/D [2648 0 R /XYZ 158.555 468.233 null] ->> endobj -2655 0 obj << -/D [2648 0 R /XYZ 71.731 450.3 null] ->> endobj -2656 0 obj << -/D [2648 0 R /XYZ 71.731 450.3 null] ->> endobj -2657 0 obj << -/D [2648 0 R /XYZ 71.731 265.043 null] ->> endobj -1619 0 obj << -/D [2648 0 R /XYZ 71.731 219.05 null] ->> endobj -462 0 obj << -/D [2648 0 R /XYZ 237.399 195.803 null] ->> endobj -2658 0 obj << -/D [2648 0 R /XYZ 71.731 189.606 null] ->> endobj -2659 0 obj << -/D [2648 0 R /XYZ 307.646 164.918 null] ->> endobj -2660 0 obj << -/D [2648 0 R /XYZ 205.376 151.967 null] ->> endobj -2661 0 obj << -/D [2648 0 R /XYZ 292.62 151.967 null] ->> endobj -1620 0 obj << -/D [2648 0 R /XYZ 71.731 118.926 null] ->> endobj -2647 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2664 0 obj << -/Length 1859 -/Filter /FlateDecode ->> -stream -xÚ•koÛ6ð{…¿EbV”D=ôC›¸[Öu oŰm3±V½@ÉI½_¿;)Ù–›¶’Ç{ßñîd>ñáOÎ’–$eYœNVåò - -ŸsÏèœWt+é¦í´’¥erOëZv’Ñvî„}òý@·VÂãy <Ylí]¹uK5è6ƒ¦<`™ ?ŸsßM„·£Ðn[µ¦é·•ÑÒ]>8…¢lÈ‘VêÊR7RKpšË'ò£ï´€l÷B$3ÉB˜ËâÑ3ŠRœ@RdõÇ”¥Å4È& ¥¦ @˜~oªmà§ÆìBª¥ßÊ2!˜ÀçiÒ,ÜK³0ðû4yæ9‰;4×F×+ÕÚkc$â/ϹøL`L\ÑtÚ-•I4Ü:/qϱ®µE§gäÀËÝ‘—à†Æ$8ÇÓ¥§—‰ŒüDÌçÖWí¦Þ6K2iSªÓ õÉØ?¹û¼’ŘW±8þvà|ÆÅaàÞ׿•ät§né,µ¢Í²¨WŸq›ZßµtÑmdGð¼uþ!ÂiÈd@Áð ІÇÊ »^BFÕ@tƒsˆÛå¥b¹¹ïT5èö‹EÐfN‡.õ̳‹ï)/ -º¨êŽ6X•PV´ªªËC€Ä¨{AðŽê+ìúúÚË -[¦Hº>Ö6,ß1Q°0§3Ú¾ÃP@±GªµtvGÓwÛ -GÌ;蟚šRì=)i& $©,lef%dgy¬´\ÑיŀY|œküÄ*ó~–‘]çÈ´íaO¹imußè´‚(ë½7ÆfÜ*7˵4ÇéϾȲ)lûä¨Èø=Ç!—_òhVÙg-à¦.ضçÑ'¨|8‘¸Ó4Q?8è”¶t¾ÍQ',K¯h©Á¬egN-0¤¼´˜’ïÌ–°³§3Ó^ÆU‘:³\Mq|IˆÏ0
ÀœÒpè†LÏÊ«â&a°n¨g'ê~¹no>²+SŽQ¹öU¼‹«ëŸgws‚Å``Éè³v`q¨/“ƽYOµ^¨„üÖ½J#‡PaÖÙ1Ì;{¶ p7_èaŸ4+>Nöä&¢ -Zø_ùIp,éy~endstream -endobj -2663 0 obj << -/Type /Page -/Contents 2664 0 R -/Resources 2662 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2591 0 R ->> endobj -2665 0 obj << -/D [2663 0 R /XYZ 71.731 778.968 null] ->> endobj -466 0 obj << -/D [2663 0 R /XYZ 237.399 758.046 null] ->> endobj -2666 0 obj << -/D [2663 0 R /XYZ 71.731 751.85 null] ->> endobj -2667 0 obj << -/D [2663 0 R /XYZ 350.045 727.162 null] ->> endobj -1621 0 obj << -/D [2663 0 R /XYZ 71.731 720.024 null] ->> endobj -470 0 obj << -/D [2663 0 R /XYZ 210.5 696.776 null] ->> endobj -2668 0 obj << -/D [2663 0 R /XYZ 71.731 690.58 null] ->> endobj -2669 0 obj << -/D [2663 0 R /XYZ 119.552 665.892 null] ->> endobj -1622 0 obj << -/D [2663 0 R /XYZ 71.731 658.754 null] ->> endobj -474 0 obj << -/D [2663 0 R /XYZ 205.12 635.506 null] ->> endobj -2670 0 obj << -/D [2663 0 R /XYZ 71.731 630.345 null] ->> endobj -2671 0 obj << -/D [2663 0 R /XYZ 252.372 591.67 null] ->> endobj -1623 0 obj << -/D [2663 0 R /XYZ 71.731 579.551 null] ->> endobj -478 0 obj << -/D [2663 0 R /XYZ 243.909 552.218 null] ->> endobj -2672 0 obj << -/D [2663 0 R /XYZ 71.731 544.783 null] ->> endobj -1624 0 obj << -/D [2663 0 R /XYZ 71.731 518.181 null] ->> endobj -482 0 obj << -/D [2663 0 R /XYZ 200.736 494.933 null] ->> endobj -1625 0 obj << -/D [2663 0 R /XYZ 71.731 367 null] ->> endobj -486 0 obj << -/D [2663 0 R /XYZ 221.26 343.003 null] ->> endobj -2673 0 obj << -/D [2663 0 R /XYZ 71.731 336.807 null] ->> endobj -2674 0 obj << -/D [2663 0 R /XYZ 231.473 312.119 null] ->> endobj -2675 0 obj << -/D [2663 0 R /XYZ 381.891 312.119 null] ->> endobj -2142 0 obj << -/D [2663 0 R /XYZ 71.731 284.059 null] ->> endobj -2676 0 obj << -/D [2663 0 R /XYZ 71.731 251.317 null] ->> endobj -2662 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2679 0 obj << -/Length 1827 -/Filter /FlateDecode ->> -stream -xÚíXm“Û4þÞ_‘Î'$ùM‚O…^á€6Ða(ÓÑ9ÊÅàØÛ¡½Ï®VrœØiïàss‘´ZK«Ýg½ˆ‡?±ÈËc(rÅt¦Åî _ÜAÏ7O„׸ò*W#¯VO>'
‚x±Ú,ž°úr%Yš&‹Õú×èëÙ÷¶]^É”G‚Q¹ÚZª¼üq ¿o¨ñ¢Y*»ümõÝ“ëÕ0s*‹åGmó*SÛâ -2´M¤‚)\cªO2gÛ¾-ÿ4½}^V–UÓÙ·<åð/ÐúJ–¥^÷p[•żêçÏ¥<zá*–Læzq•H˜Iº¯qÁNÚƒI’³DÅ0ßîÞ´eo§ã%)S\yµ¶ß6k¯”&Í2&5øBäLúiÒ²[^%±ŒvKч®Ä‡Î:‰ˆú†$ï&œ8Of,ƒ©O»ûÝÎömYLí@ïjí›ÛßmÑûɰáÐSÝxYƒÔw##*Pü–sÙv=IM»*º;ìlí¿î¶Í¡ò†ß:kaÙ*ab@H¦Sᦷe¿äMV#s²ñÕë§ï^þôÕ7_¿ûþú—é‚rͲ<(7íœoFF£½ºùùéêz~8ÅY¦C0ݺóèe[.eý‰? -¬’*kÓ?PYûåñb4ã€Ë† ÞìmkœgšÚS;`…loï=V
.è=Ea‚Bþ·@ýÌþc –cTâH‚Š@-!S>P®mˆ„ºjÁôéÞ6i8Ùê`ñûmYliÐñÝZ<l¡£vø¸JÑ´íöM½Æ>YŘaÚýù‰#5NŠ¨Í¥IPIK7™S²9gÌàŽ&³T—¦pŽÎ‹Š¹éǰ€[ú4,Kó9®“êÈup¸2ÏuPs\=G®Cá<,R8
fâºL‹3®ƒQ
Í4‰ öÍHéÁ'éÌ‘ÈÒ“tpÇ’HïÈxmòÿo‘ÿ1ã¶/SÞ£±}ByzDyšGAvŒ…‚(oð}ï/g>úž¼@—ÈKäuŒ¤õóòÒ¼ô)y›}·ßÕ§Ñz$_%ŠÁ9ê#g£ìdI¤z]A¨¾Ò®¼«§ƒÁ]C‡Æ‹L–çrî/ºãú`B3ˆ}0eLÁɾmև’Р-zëòκDyˆ2£®ãleÝõ¦¦Q÷¾²™{ì°ýȇݸœÞòâ‘£çÔçh*–9K…:¡©€Ä2;‹6
>/À -endobj -2678 0 obj << -/Type /Page -/Contents 2679 0 R -/Resources 2677 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2591 0 R ->> endobj -2680 0 obj << -/D [2678 0 R /XYZ 71.731 778.968 null] ->> endobj -1626 0 obj << -/D [2678 0 R /XYZ 71.731 729.752 null] ->> endobj -490 0 obj << -/D [2678 0 R /XYZ 221.26 704.348 null] ->> endobj -2681 0 obj << -/D [2678 0 R /XYZ 71.731 698.151 null] ->> endobj -2682 0 obj << -/D [2678 0 R /XYZ 246.085 686.415 null] ->> endobj -2683 0 obj << -/D [2678 0 R /XYZ 146.593 673.464 null] ->> endobj -2684 0 obj << -/D [2678 0 R /XYZ 238.922 673.464 null] ->> endobj -2685 0 obj << -/D [2678 0 R /XYZ 381.174 660.512 null] ->> endobj -2686 0 obj << -/D [2678 0 R /XYZ 432.626 660.512 null] ->> endobj -2687 0 obj << -/D [2678 0 R /XYZ 119.552 647.561 null] ->> endobj -2688 0 obj << -/D [2678 0 R /XYZ 192.311 647.561 null] ->> endobj -2689 0 obj << -/D [2678 0 R /XYZ 352.517 647.561 null] ->> endobj -2690 0 obj << -/D [2678 0 R /XYZ 144.458 634.609 null] ->> endobj -1627 0 obj << -/D [2678 0 R /XYZ 71.731 628.22 null] ->> endobj -494 0 obj << -/D [2678 0 R /XYZ 221.26 604.223 null] ->> endobj -2691 0 obj << -/D [2678 0 R /XYZ 71.731 599.063 null] ->> endobj -2692 0 obj << -/D [2678 0 R /XYZ 235.966 586.29 null] ->> endobj -2693 0 obj << -/D [2678 0 R /XYZ 119.552 573.339 null] ->> endobj -2694 0 obj << -/D [2678 0 R /XYZ 208.149 573.339 null] ->> endobj -1628 0 obj << -/D [2678 0 R /XYZ 71.731 567.309 null] ->> endobj -498 0 obj << -/D [2678 0 R /XYZ 248.159 542.953 null] ->> endobj -2695 0 obj << -/D [2678 0 R /XYZ 71.731 536.757 null] ->> endobj -2696 0 obj << -/D [2678 0 R /XYZ 265.699 525.02 null] ->> endobj -1629 0 obj << -/D [2678 0 R /XYZ 71.731 491.979 null] ->> endobj -502 0 obj << -/D [2678 0 R /XYZ 248.159 468.731 null] ->> endobj -2697 0 obj << -/D [2678 0 R /XYZ 71.731 462.535 null] ->> endobj -2698 0 obj << -/D [2678 0 R /XYZ 261.452 450.799 null] ->> endobj -2699 0 obj << -/D [2678 0 R /XYZ 197.379 437.847 null] ->> endobj -1630 0 obj << -/D [2678 0 R /XYZ 71.731 430.709 null] ->> endobj -506 0 obj << -/D [2678 0 R /XYZ 253.539 407.461 null] ->> endobj -2700 0 obj << -/D [2678 0 R /XYZ 71.731 401.265 null] ->> endobj -2701 0 obj << -/D [2678 0 R /XYZ 264.768 389.528 null] ->> endobj -1631 0 obj << -/D [2678 0 R /XYZ 71.731 356.487 null] ->> endobj -510 0 obj << -/D [2678 0 R /XYZ 253.539 333.239 null] ->> endobj -2702 0 obj << -/D [2678 0 R /XYZ 71.731 327.043 null] ->> endobj -2703 0 obj << -/D [2678 0 R /XYZ 167.721 302.355 null] ->> endobj -1632 0 obj << -/D [2678 0 R /XYZ 71.731 295.217 null] ->> endobj -514 0 obj << -/D [2678 0 R /XYZ 199.74 271.969 null] ->> endobj -2704 0 obj << -/D [2678 0 R /XYZ 71.731 265.773 null] ->> endobj -2705 0 obj << -/D [2678 0 R /XYZ 391.044 254.036 null] ->> endobj -2706 0 obj << -/D [2678 0 R /XYZ 270.197 241.085 null] ->> endobj -2707 0 obj << -/D [2678 0 R /XYZ 204.502 228.134 null] ->> endobj -2708 0 obj << -/D [2678 0 R /XYZ 71.731 210.201 null] ->> endobj -2709 0 obj << -/D [2678 0 R /XYZ 71.731 210.201 null] ->> endobj -2710 0 obj << -/D [2678 0 R /XYZ 71.731 155.143 null] ->> endobj -1633 0 obj << -/D [2678 0 R /XYZ 71.731 135.053 null] ->> endobj -2677 0 obj << -/Font << /F34 1292 0 R /F33 1203 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2713 0 obj << -/Length 1194 -/Filter /FlateDecode ->> -stream -xÚWmoâ8þÞ_Á}¤âÆvœ—J÷¡»ÐÝn¯jÕrWnOUJ6$QÚòïoœ±ÁB«qì™gžy±=¡=~´çSâsxø ½ 7[ž8½¬|;¡Zb¤EF–Ì—éÉÙ%w{!LðÞtÞs—ø°æŒáö¦ñ?ƒ¯/QQËr8bÂP‚Ïé‹ÄÁÝíþñå&W©þ;ýq2™n,F gG¹i‘7ƶÜ(
àˆ€8®×pS4ÀÚÙ¥ËzJÓS‚Ì!nÀXI¼Ê2™¯QÈFã@-t#ë—<ÖBÞVh$*fÔ'!ðC“I…Þ.Q«›¹U%õLãóuHÅ@‘ÒÁ§"|TÉ"3Òq²U5¥Ry¯ âk§7bŒ„33y–EªAG”“v0<N¸ÏÆå*롲ÝZUÑBG˜ó-èÈ$ð _6†Z‘FIöTËwðÂsœÁïøè—išãø1‡*¢ƒ4þ¯0•7 -t.U
–×y!3¥Ö¯e¥˜ÕgZ’ü’kÎ~ÙïðU_Ëu+–…\ÞËHaÆv@!˜Ow÷W]L'Oד¿MʶI)£xã -ªw$ÆƒŠ½Ä(3ÏÚJ„¯:¨Ÿ†:´Q…ȸ"g5¨€Žàøj²kº¯F,ÇgQBK:“[Ývú Çóÿ\1ßä9Ê´¥ŸŽÃ²(M×mh×#îi]Èd¿züY3ovY3˜£§Úˆ´¦õwb5ÏUËeñûôü@öH{ÂNp'ÞŒ™9gÌ9ç -ÄÜWsÝ"›ÏÈïLÆ«R¿¾©òt/^f3YUÐwÏWé©î’wÛõRÖ«®WsÀ-ß’J£9‡…ÉþŽþ²‚3.€LûöÚŠ´>½·Îr-¢¼e¬ãSªmé?¸£kendstream -endobj -2712 0 obj << -/Type /Page -/Contents 2713 0 R -/Resources 2711 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2726 0 R ->> endobj -2714 0 obj << -/D [2712 0 R /XYZ 71.731 778.968 null] ->> endobj -518 0 obj << -/D [2712 0 R /XYZ 210.5 758.046 null] ->> endobj -2715 0 obj << -/D [2712 0 R /XYZ 71.731 751.85 null] ->> endobj -2143 0 obj << -/D [2712 0 R /XYZ 71.731 737.957 null] ->> endobj -2716 0 obj << -/D [2712 0 R /XYZ 71.731 705.214 null] ->> endobj -2717 0 obj << -/D [2712 0 R /XYZ 71.731 445.817 null] ->> endobj -2718 0 obj << -/D [2712 0 R /XYZ 181.97 432.866 null] ->> endobj -2719 0 obj << -/D [2712 0 R /XYZ 437.404 432.866 null] ->> endobj -2720 0 obj << -/D [2712 0 R /XYZ 392.855 419.914 null] ->> endobj -2721 0 obj << -/D [2712 0 R /XYZ 275.205 406.963 null] ->> endobj -2722 0 obj << -/D [2712 0 R /XYZ 379.292 406.963 null] ->> endobj -2723 0 obj << -/D [2712 0 R /XYZ 71.731 376.079 null] ->> endobj -2724 0 obj << -/D [2712 0 R /XYZ 71.731 376.079 null] ->> endobj -2725 0 obj << -/D [2712 0 R /XYZ 71.731 321.021 null] ->> endobj -2711 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F32 1191 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2729 0 obj << -/Length 1883 -/Filter /FlateDecode ->> -stream -xÚÝXK“ã4¾ï¯È
§ŠËò“ìÎPK,¡ Š¥(ÇQ&Dz¼Ãü{ºÕ-Çç0§åQ9¸Õ’Z\Åð“«BŠBÁ§(E•—«æô*^=ÀÌW¯$¯HÓJdeôÉM–H¡’Õf&àËí«Ïî“d•Ä"ϪÕö0’%¢RÀÙÿ½>Ög§íz“e”únšˆïÞ³8úi]Æ‘8ÿaþ"î7ý~lõú×í×^¾L…Js”¯6i.d•yÑo;g×IÁêÆ™¾ã
ùª
®OQ& <h(Ú´=šNQEtZˈòÃÀ®ñ“GCߎ^¨gºž¸V×{Ó=ðÊnOÜGkÜÄý9‹«ê2á4Ë8V·O4a˜÷Ý“;ö Á[G“û^³.ã ‰Õš“qz7D#H°o&ý}kGucZP·©<‹¶?öUؗؽ%b0×þH|XË,ÒÖ€ÄèišÞ¡…GGwÔ¨’M?¶¼qÇ,«ÏmÝhæêz0p] 1Þ²3„ƒù»œwu¹Ä_îÄþQJ±ž*õ¾@†7ÆÑÄ06†ÃØ¢™qæûû×*)cGVh¯2l±ú ÕÌ%ÉiT4~Ômˇ|ö‘ÏúÑ6ºé÷<~<j«o¸§Ó¨Rmƒ!’Bô§`C8»qÄ%_·?ã<W#ý€i -B2ª¢½~ÇIg\÷mûN³rozâyË̲¼Éƒàáá…Ä^»Ú´ƒ˜v
”ßuW7G\TÁÝ;p;.ýîw°j”ÇAÉ0çþth>ZQÔ—`jZGó|o˜8[³NÀyóvO´‘¯UE_üð$ -\ÔŸNzsŸûÚ[gÑ·è -j`X1b[H„¢[TåLà&ãèÝýR°ÊDY$ׂI&oÂ}z»×¬þt5¿?©aybªN¸Óøò ¥je Õvó AIJ™¾äÚžŒ ׎¾vìœ9ñ"Œ*ÞzK™ ˜±LÖ¯œ€îWf·fg1yÒ‘¾."ÕùHÁûþ²CyÐéù -3tŸ¬%à]ŒÕÝ—¤/‰ÛUˆ]M#‰H ‘— Q…È+|ªÝ
”¢\`ÄK¶:ˆ±ÄLßhøã@ f²«ƒ¡RÌD\º"¦Š_>è’ÿ¼Ûe–‹[¥™Û}NÌâKª'M?YgàQâLYža›§|’rÇ}“¡û¾1µ n$¤ -Ô”Q&·Úä¹H*éÍÿÅv¹&3cŸ˜çó?;JnßKjšásÔíÙw@ÏJRºv ÜhéO‚i[ý¸}½]ãߨà!Š¿¬OËJ¨QþÜÀâ€ã{“=•…’ÿéðZ]ú/Îq´—¥Qµ’vmÏ:Õ5úY¿Bï)•‹Ð¬QHÒ -톞£¡ižá\¢üáð…w¸9míž‹w\©ƒ„It©½7œ*ÝØYÝ|à‰›HW±PeþB¤_§Ì„ô"O¿éi¾5}.HO¯ž¤§s¤§Üô -¸Ñ_I¦`ÈB0¤>ºA‚xz
ñôâs¡ñôñWwÛé_dþ8…×´Ò·þfæ›Ëÿ/³J/îÏ ´(¨Õ¼-“¨ç'ñßÕË“þéYendstream -endobj -2728 0 obj << -/Type /Page -/Contents 2729 0 R -/Resources 2727 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2726 0 R ->> endobj -2730 0 obj << -/D [2728 0 R /XYZ 71.731 778.968 null] ->> endobj -1634 0 obj << -/D [2728 0 R /XYZ 71.731 768.009 null] ->> endobj -522 0 obj << -/D [2728 0 R /XYZ 392.761 752.939 null] ->> endobj -1635 0 obj << -/D [2728 0 R /XYZ 71.731 742.207 null] ->> endobj -526 0 obj << -/D [2728 0 R /XYZ 155.125 706.744 null] ->> endobj -2731 0 obj << -/D [2728 0 R /XYZ 71.731 699.392 null] ->> endobj -2732 0 obj << -/D [2728 0 R /XYZ 71.731 629.733 null] ->> endobj -2733 0 obj << -/D [2728 0 R /XYZ 234.995 578.027 null] ->> endobj -2734 0 obj << -/D [2728 0 R /XYZ 304.526 578.027 null] ->> endobj -2735 0 obj << -/D [2728 0 R /XYZ 257.243 552.124 null] ->> endobj -2736 0 obj << -/D [2728 0 R /XYZ 71.731 532.034 null] ->> endobj -2737 0 obj << -/D [2728 0 R /XYZ 433.246 521.239 null] ->> endobj -2738 0 obj << -/D [2728 0 R /XYZ 340.56 495.337 null] ->> endobj -2739 0 obj << -/D [2728 0 R /XYZ 429.158 495.337 null] ->> endobj -1636 0 obj << -/D [2728 0 R /XYZ 71.731 488.198 null] ->> endobj -530 0 obj << -/D [2728 0 R /XYZ 194.476 455.964 null] ->> endobj -1637 0 obj << -/D [2728 0 R /XYZ 71.731 455.785 null] ->> endobj -534 0 obj << -/D [2728 0 R /XYZ 235.552 424.283 null] ->> endobj -2740 0 obj << -/D [2728 0 R /XYZ 71.731 415.831 null] ->> endobj -2741 0 obj << -/D [2728 0 R /XYZ 71.731 409.853 null] ->> endobj -2742 0 obj << -/D [2728 0 R /XYZ 141.071 394.694 null] ->> endobj -2743 0 obj << -/D [2728 0 R /XYZ 184.11 394.694 null] ->> endobj -2744 0 obj << -/D [2728 0 R /XYZ 189.489 394.694 null] ->> endobj -2745 0 obj << -/D [2728 0 R /XYZ 71.731 393.645 null] ->> endobj -2746 0 obj << -/D [2728 0 R /XYZ 141.071 383.038 null] ->> endobj -2747 0 obj << -/D [2728 0 R /XYZ 184.11 383.038 null] ->> endobj -2748 0 obj << -/D [2728 0 R /XYZ 189.489 383.038 null] ->> endobj -2749 0 obj << -/D [2728 0 R /XYZ 71.731 381.989 null] ->> endobj -2750 0 obj << -/D [2728 0 R /XYZ 141.071 371.381 null] ->> endobj -2751 0 obj << -/D [2728 0 R /XYZ 184.11 371.381 null] ->> endobj -2752 0 obj << -/D [2728 0 R /XYZ 189.489 371.381 null] ->> endobj -2753 0 obj << -/D [2728 0 R /XYZ 71.731 370.167 null] ->> endobj -2754 0 obj << -/D [2728 0 R /XYZ 141.071 359.725 null] ->> endobj -2755 0 obj << -/D [2728 0 R /XYZ 184.11 359.725 null] ->> endobj -2756 0 obj << -/D [2728 0 R /XYZ 189.489 359.725 null] ->> endobj -1638 0 obj << -/D [2728 0 R /XYZ 71.731 341.792 null] ->> endobj -538 0 obj << -/D [2728 0 R /XYZ 245.761 312.303 null] ->> endobj -1639 0 obj << -/D [2728 0 R /XYZ 71.731 309.828 null] ->> endobj -542 0 obj << -/D [2728 0 R /XYZ 227.905 285.902 null] ->> endobj -2757 0 obj << -/D [2728 0 R /XYZ 71.731 280.741 null] ->> endobj -2758 0 obj << -/D [2728 0 R /XYZ 71.731 275.76 null] ->> endobj -2759 0 obj << -/D [2728 0 R /XYZ 141.071 259.302 null] ->> endobj -2760 0 obj << -/D [2728 0 R /XYZ 184.11 259.302 null] ->> endobj -2761 0 obj << -/D [2728 0 R /XYZ 189.489 259.302 null] ->> endobj -2762 0 obj << -/D [2728 0 R /XYZ 71.731 236.388 null] ->> endobj -1640 0 obj << -/D [2728 0 R /XYZ 71.731 203.347 null] ->> endobj -546 0 obj << -/D [2728 0 R /XYZ 227.905 180.099 null] ->> endobj -2763 0 obj << -/D [2728 0 R /XYZ 71.731 174.938 null] ->> endobj -2764 0 obj << -/D [2728 0 R /XYZ 71.731 169.957 null] ->> endobj -2765 0 obj << -/D [2728 0 R /XYZ 141.071 153.499 null] ->> endobj -2766 0 obj << -/D [2728 0 R /XYZ 184.11 153.499 null] ->> endobj -2767 0 obj << -/D [2728 0 R /XYZ 189.489 153.499 null] ->> endobj -2768 0 obj << -/D [2728 0 R /XYZ 71.731 130.584 null] ->> endobj -1641 0 obj << -/D [2728 0 R /XYZ 71.731 97.543 null] ->> endobj -2727 0 obj << -/Font << /F22 1177 0 R /F26 1184 0 R /F33 1203 0 R /F42 2168 0 R /F34 1292 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2771 0 obj << -/Length 1761 -/Filter /FlateDecode ->> -stream -xÚåXKÛ6¾ï¯ð2°fHê —¦IA‚tšb¡•è5Y2$*Éö×w†3’åµöqè¡@±À’çA~ó ÕJŸZ¥J¤!i&ò$[•û¹º…•wŠ96̲™ñü|uñâmr „««í*ÌçÉ*Í´ˆãhuUý¼ÞgºõFÇ2Ђƫ¡É§køÿû:×8|µ?ˆú¡†z³þóê׋7W“±V"ÔÚÉ,gvj}´S©ì9q&d”x;Ñ$Ðöâm¤W¸3AF-E”… 9nM£Ý3Û\^‹LfÌövhJgÛ†ØÂð(m“$Bç`£N)ÌvA©±Ê•Î¥E¡áÈöEÆrÆ"SäˆE˜ŽË2àÂ$;ÊP/Ù¹äèÜ&&¯6!x™Ä|X¶_oB4†AAŸ;S𲑴¯lÛŽ&nèÛÜžl{gÓµýÛTWë0ÐX¿Þ»ŽyAUãZÞÕL³V1R·Žã@õ½#.Û7?U8"߬µ[»i/ ¬e›èòá 6J‹ ^š¦l+ï
ïmSš"·Ÿ|[ë8(:Û=F—ùóûΖ;šïzS±˜–Æ}ÑØØ2Ô…»¯ÁíY»ë†NÎܓִ®õúë»”w`h:SÛâ¦6â´ÀJ!ûLø#‚4Àñß¿TÏ€Sµÿµ -ŒÙÒÔ‡P2Z‰ól½‹0ö¦³6–p¤¡§8LFK`§+n/‰T›æÖíˆZ4¼…€_†u][”ÌÕ²Epp‚fïAŸ›ìXÂim¿®•Àpwí@“ïHn‡ÚÇL -G<v7c(G_S „vï€h9¢’ mIðÖ!çÎô¼VÙŽlTMI‚å½§MûõP1{Á»L_vöÀ©
”!νƒøFƒï¨±CÐsÐôD¯Ú)Uág‹kìhg+ß ú…ý€çìY¶É<ÑÚ¾ÇBnPÔÈüöl̔NJæF‡P\ ÅNÉx®>m|êð -×>Éú½³Î<“×µ¿ù*þ,¯¶]»_`¿V†ŽÇjôÌ>oÄÔ}ÞãvmõH—§R‘ÃòŽÐìÏ£0Ö"„pz <q€`½ñ©k¾F¹þ’>Œ}I“¡™e—®/jf€,]Û²@ _NŠúŽ5pé‚$E"0Í»±{˜ûÅI¤J±Õc;‚T3ç|qa³ÒáIu#§ x90ËÉ_ ðÒÜ_ KãRN¹ -ÃòI>w,Èàý~tƒ"`á–R'ùü–æ–A½$ -o_²?cûÌ€Ä ø“áIÝ8f¦kàýf3ktcaÂáøèÄ/îpê -*²§ì³Zî©XãqBÝ/óZÇ«eÙv•ï¼Äݸ; -h<ØÙ±ú,„W,’TÍqDþba¸iÛÚ`[¨¸À¦‚ÖžQŽ.I[âs»qãØ;â|¢±nAŸô³ìö,˜ä©‡¢+öãŠ$tÇça–bÞïŽkç‚7ÒçÍÇ’…:&
O8è˜y–D8j†mED‚ L¦Ë»¤ï1*`Ú悔ôâ ¡GR°™ÀqÒˆõ;NtÀlC{j3Ã^Ó‹õD5±a‡Šd&ów£ ½9‡Zî -wgCm‚¸ÿà ÿ:e"S飿_YÎ~¾Œ¡Ò"ëèŸ Ï5ýªÐ”gendstream -endobj -2770 0 obj << -/Type /Page -/Contents 2771 0 R -/Resources 2769 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2726 0 R ->> endobj -2772 0 obj << -/D [2770 0 R /XYZ 71.731 778.968 null] ->> endobj -1648 0 obj << -/D [2770 0 R /XYZ 71.731 790.923 null] ->> endobj -550 0 obj << -/D [2770 0 R /XYZ 227.905 758.046 null] ->> endobj -2773 0 obj << -/D [2770 0 R /XYZ 71.731 751.85 null] ->> endobj -2774 0 obj << -/D [2770 0 R /XYZ 71.731 746.869 null] ->> endobj -2775 0 obj << -/D [2770 0 R /XYZ 141.071 731.446 null] ->> endobj -2776 0 obj << -/D [2770 0 R /XYZ 184.11 731.446 null] ->> endobj -2777 0 obj << -/D [2770 0 R /XYZ 189.489 731.446 null] ->> endobj -2778 0 obj << -/D [2770 0 R /XYZ 71.731 708.532 null] ->> endobj -1642 0 obj << -/D [2770 0 R /XYZ 71.731 664.597 null] ->> endobj -554 0 obj << -/D [2770 0 R /XYZ 227.905 639.292 null] ->> endobj -2779 0 obj << -/D [2770 0 R /XYZ 71.731 633.095 null] ->> endobj -2780 0 obj << -/D [2770 0 R /XYZ 71.731 628.114 null] ->> endobj -2781 0 obj << -/D [2770 0 R /XYZ 141.071 612.691 null] ->> endobj -2782 0 obj << -/D [2770 0 R /XYZ 184.11 612.691 null] ->> endobj -2783 0 obj << -/D [2770 0 R /XYZ 189.489 612.691 null] ->> endobj -2784 0 obj << -/D [2770 0 R /XYZ 71.731 589.777 null] ->> endobj -1643 0 obj << -/D [2770 0 R /XYZ 71.731 535.88 null] ->> endobj -558 0 obj << -/D [2770 0 R /XYZ 180.158 501.588 null] ->> endobj -1644 0 obj << -/D [2770 0 R /XYZ 71.731 501.409 null] ->> endobj -562 0 obj << -/D [2770 0 R /XYZ 269.732 469.907 null] ->> endobj -2785 0 obj << -/D [2770 0 R /XYZ 71.731 462.471 null] ->> endobj -2786 0 obj << -/D [2770 0 R /XYZ 71.731 462.471 null] ->> endobj -2787 0 obj << -/D [2770 0 R /XYZ 282.33 412.124 null] ->> endobj -1645 0 obj << -/D [2770 0 R /XYZ 71.731 409.967 null] ->> endobj -566 0 obj << -/D [2770 0 R /XYZ 200.736 386.719 null] ->> endobj -1646 0 obj << -/D [2770 0 R /XYZ 71.731 258.786 null] ->> endobj -570 0 obj << -/D [2770 0 R /XYZ 221.26 234.789 null] ->> endobj -2788 0 obj << -/D [2770 0 R /XYZ 71.731 228.592 null] ->> endobj -2789 0 obj << -/D [2770 0 R /XYZ 71.731 228.592 null] ->> endobj -2790 0 obj << -/D [2770 0 R /XYZ 467.659 216.856 null] ->> endobj -2791 0 obj << -/D [2770 0 R /XYZ 332.386 203.904 null] ->> endobj -2792 0 obj << -/D [2770 0 R /XYZ 119.552 190.953 null] ->> endobj -2793 0 obj << -/D [2770 0 R /XYZ 119.552 178.002 null] ->> endobj -2794 0 obj << -/D [2770 0 R /XYZ 152.909 165.05 null] ->> endobj -2795 0 obj << -/D [2770 0 R /XYZ 474.384 165.05 null] ->> endobj -1647 0 obj << -/D [2770 0 R /XYZ 71.731 134.066 null] ->> endobj -2769 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F33 1203 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2798 0 obj << -/Length 1956 -/Filter /FlateDecode ->> -stream -xÚÛŽã¶î}¿"ou€Õùö¸Û]ô íí }8=Š$:ëØ©-o:_R¤;ÉÎè @LQER¼IÑ*„_´Ê#‘'ðÉQfŪ:¼ W;˜ùø&bŠ{&¹ŸÑ¼{|óí‡D®J@$«Çí*)2‘–Ù*/b‘¦rõXÿ7øn¯ŽV÷ëû8
ƒXÐ÷q¯ øùÓþ_—q ŽŸÍ_„ý±«Çfzý¿Çÿ¼yxœ¤HãH$ñ³r2É•œq|–3ŠJø¤…eæäD‘`·o?Èx…+3$ŒC!‹#E¯m‰fÎ,.EûÍÚ‰²3Ñ}Š(ñ¢\” íhÒw;¶•5]K£^ß›ÖX£˜#0‘õ6ë6ÿו½£AÕhÕ›vwAóe§jF¿„í -؉ØX^ÔÑWµë(
žhPëí:Ü4V\«®î“PÀ‰ÿCëÝ´]´aù’í’R$e̶Kæ¶+ò î†ö›uT¨M‘Á˜ð‡±Ú¤Q¿*}´4l׳´Àm’6J2&ga¾8ã]Ég¢(½ÀwÄïŽ1Ô¦y" ޽qö†)ËœzÃvG¤;$ -’@·E*KÉeáp€6Š3–éÆžP4UÊbæmhDÑÓ¼+ù0Œ§üI#49OGÍÜÊõˆuF0õÑ -…IÊê¿×ýCß“[,
3Io¥ÅÉPØCúO:ßÑúï•ô¹á_Ú2–”§ï<9ÀR•”þ>³!”†¤ôa-gAÊ`±5ïüF¾©ŸÑ€ŸÔE Bx±.YOeÿZTO=<…™¼l,ø^êûÖå1!æ,Û¬€¸öë`»ì÷kŽcsEï~á(ý„™ïdý|ÿí7¢{nM dÊñ'o—†¶ûÕºg™ëþ:…ÛûËýu&ârù\ôàD~á~aÚÉ0óú%K®Jò:^ÇÁÉüŒúù?TÛw‡¯ ÍDúr*Ê!b/ÞËÞë[ ™/‹5]Ädùõ±çã]âòjEàÆ©×¾2¯´B‘gÜM¦^§w]×hÕÞ`$‘FÞF߹瓚CkQbŽÓÆåâµ+œuÄnس@>ŠÛ¾0xûëOAï>}úááíO<…Uþ{K_jÖanÃK)çônCSç—Á…áôP -endobj -2797 0 obj << -/Type /Page -/Contents 2798 0 R -/Resources 2796 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2726 0 R ->> endobj -2799 0 obj << -/D [2797 0 R /XYZ 71.731 778.968 null] ->> endobj -1657 0 obj << -/D [2797 0 R /XYZ 71.731 790.923 null] ->> endobj -574 0 obj << -/D [2797 0 R /XYZ 205.12 758.046 null] ->> endobj -2800 0 obj << -/D [2797 0 R /XYZ 71.731 752.886 null] ->> endobj -578 0 obj << -/D [2797 0 R /XYZ 194.361 709.728 null] ->> endobj -2801 0 obj << -/D [2797 0 R /XYZ 71.731 704.567 null] ->> endobj -2802 0 obj << -/D [2797 0 R /XYZ 256.459 691.795 null] ->> endobj -1649 0 obj << -/D [2797 0 R /XYZ 71.731 632.851 null] ->> endobj -582 0 obj << -/D [2797 0 R /XYZ 194.361 609.603 null] ->> endobj -2803 0 obj << -/D [2797 0 R /XYZ 71.731 603.407 null] ->> endobj -1650 0 obj << -/D [2797 0 R /XYZ 71.731 584.532 null] ->> endobj -586 0 obj << -/D [2797 0 R /XYZ 215.88 561.284 null] ->> endobj -2804 0 obj << -/D [2797 0 R /XYZ 71.731 555.088 null] ->> endobj -2805 0 obj << -/D [2797 0 R /XYZ 258.579 517.449 null] ->> endobj -1651 0 obj << -/D [2797 0 R /XYZ 71.731 510.31 null] ->> endobj -590 0 obj << -/D [2797 0 R /XYZ 199.74 487.063 null] ->> endobj -2806 0 obj << -/D [2797 0 R /XYZ 71.731 481.902 null] ->> endobj -2807 0 obj << -/D [2797 0 R /XYZ 71.731 481.902 null] ->> endobj -2808 0 obj << -/D [2797 0 R /XYZ 248.786 456.178 null] ->> endobj -2809 0 obj << -/D [2797 0 R /XYZ 71.731 449.04 null] ->> endobj -1652 0 obj << -/D [2797 0 R /XYZ 71.731 405.205 null] ->> endobj -594 0 obj << -/D [2797 0 R /XYZ 205.12 381.957 null] ->> endobj -2810 0 obj << -/D [2797 0 R /XYZ 71.731 376.796 null] ->> endobj -2811 0 obj << -/D [2797 0 R /XYZ 436.587 364.024 null] ->> endobj -2812 0 obj << -/D [2797 0 R /XYZ 71.731 345.992 null] ->> endobj -1653 0 obj << -/D [2797 0 R /XYZ 71.731 313.05 null] ->> endobj -598 0 obj << -/D [2797 0 R /XYZ 221.26 289.802 null] ->> endobj -2813 0 obj << -/D [2797 0 R /XYZ 71.731 283.606 null] ->> endobj -1654 0 obj << -/D [2797 0 R /XYZ 71.731 264.731 null] ->> endobj -602 0 obj << -/D [2797 0 R /XYZ 232.019 241.483 null] ->> endobj -2814 0 obj << -/D [2797 0 R /XYZ 71.731 235.287 null] ->> endobj -1655 0 obj << -/D [2797 0 R /XYZ 71.731 211.431 null] ->> endobj -606 0 obj << -/D [2797 0 R /XYZ 224.541 184.099 null] ->> endobj -2815 0 obj << -/D [2797 0 R /XYZ 71.731 177.906 null] ->> endobj -1656 0 obj << -/D [2797 0 R /XYZ 71.731 152.119 null] ->> endobj -2796 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2818 0 obj << -/Length 1206 -/Filter /FlateDecode ->> -stream -xÚÕ˜_oÛ6Àßó)ô6 ¨9’õg@’"<tIÑxØÃ:ŠMÇÚÒ“è¦Ù§ß‘GÉVä8ÝÒ(Dy<ï~¼£Ì -,ÈÉbxd9)Ò<˜ßÑàFΘ—˜x‘ÉŽÌéìèûã$( #fË ÎS"Š4ÈrN„H‚Ùâ·ðíª\ÙD.hÈ >g+‰÷—üÿ5*xHÖVŸ±÷g½ØÔeôûì§£³Yo…àŒÄü ^dd'ç[;+À>Ð#rB“í¬Ë¶…å³<|ßDœ†Úhó°–µ¶V_j§Ó`‹¤¬pç81¥4<Õº–¥Â—TÐës©dSÖÑ„…—7ȹ^öƒU€ -*&T ´a!—8÷úºR•¹¾¶:ôÚTZ•õ±UBß -k[ˆqeÞ`k;};’‹%@Ípÿç|”îzmI,ë—mµ¿~Â;©Í!¨s˜ í0ÔŒ -g|Õ1{ªcš¨¶c.~v -‡>ãÂKl
^¬-o‹óm±ÀWwKgf¸F°>S¶C8«[¥é‹ÈýJv]iñXÜ7•1Ý ”®ÿPØÑwPé -endobj -2817 0 obj << -/Type /Page -/Contents 2818 0 R -/Resources 2816 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2726 0 R ->> endobj -2819 0 obj << -/D [2817 0 R /XYZ 71.731 778.968 null] ->> endobj -610 0 obj << -/D [2817 0 R /XYZ 200.736 758.046 null] ->> endobj -614 0 obj << -/D [2817 0 R /XYZ 224.541 690.3 null] ->> endobj -2820 0 obj << -/D [2817 0 R /XYZ 71.731 682.865 null] ->> endobj -1658 0 obj << -/D [2817 0 R /XYZ 71.731 669.215 null] ->> endobj -618 0 obj << -/D [2817 0 R /XYZ 200.736 645.967 null] ->> endobj -1767 0 obj << -/D [2817 0 R /XYZ 71.731 606.302 null] ->> endobj -622 0 obj << -/D [2817 0 R /XYZ 237.453 578.221 null] ->> endobj -2821 0 obj << -/D [2817 0 R /XYZ 71.731 570.785 null] ->> endobj -1768 0 obj << -/D [2817 0 R /XYZ 71.731 544.901 null] ->> endobj -626 0 obj << -/D [2817 0 R /XYZ 200.736 520.935 null] ->> endobj -1769 0 obj << -/D [2817 0 R /XYZ 71.731 481.271 null] ->> endobj -630 0 obj << -/D [2817 0 R /XYZ 256.82 453.19 null] ->> endobj -2822 0 obj << -/D [2817 0 R /XYZ 71.731 445.754 null] ->> endobj -2823 0 obj << -/D [2817 0 R /XYZ 428.95 434.261 null] ->> endobj -2824 0 obj << -/D [2817 0 R /XYZ 154.41 408.358 null] ->> endobj -2825 0 obj << -/D [2817 0 R /XYZ 288.347 408.358 null] ->> endobj -1770 0 obj << -/D [2817 0 R /XYZ 71.731 406.201 null] ->> endobj -634 0 obj << -/D [2817 0 R /XYZ 200.736 382.953 null] ->> endobj -1771 0 obj << -/D [2817 0 R /XYZ 71.731 343.289 null] ->> endobj -638 0 obj << -/D [2817 0 R /XYZ 250.364 315.207 null] ->> endobj -2826 0 obj << -/D [2817 0 R /XYZ 71.731 307.771 null] ->> endobj -1772 0 obj << -/D [2817 0 R /XYZ 71.731 294.121 null] ->> endobj -642 0 obj << -/D [2817 0 R /XYZ 200.736 270.873 null] ->> endobj -1773 0 obj << -/D [2817 0 R /XYZ 71.731 231.209 null] ->> endobj -646 0 obj << -/D [2817 0 R /XYZ 205.174 203.127 null] ->> endobj -2827 0 obj << -/D [2817 0 R /XYZ 71.731 196.935 null] ->> endobj -1774 0 obj << -/D [2817 0 R /XYZ 71.731 169.09 null] ->> endobj -650 0 obj << -/D [2817 0 R /XYZ 200.736 145.842 null] ->> endobj -1775 0 obj << -/D [2817 0 R /XYZ 71.731 106.178 null] ->> endobj -2816 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F33 1203 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2830 0 obj << -/Length 1154 -/Filter /FlateDecode ->> -stream -xÚí˜_o¤6Àßó)x)ëÃc¨”‡ë59¥Ò%‘n£>4ÕÊË:YZ+0w—oß13°dÿ$QÕV=©ŠÇãñØþÍ -õKC:C+}-ì%#eÑÒPÝÐâݦ¤åë{T•5—þƒiúm¶g\ÀQð~S+s†¢*ª0R_WØbT-uŠCéÜs_·»UmI²km‰TÎqÓŽÚÆ^79ù]ë@„þÞ0†
œ¨mŠÜšöñ"…»Å—@H_—iOÉ¢ÆÖTy½r»™nUô[½e(O‘׈ZE-‡AŽâ×¢,QÚ4@uNÜ/õ -…Æ@Û•¶e#[#6°¢,ã [3¡àà·ÕÚÖŽâ-Š<G|2Lä,áˆZŽ“0ìîþ⣩L£Ëk¸`Æýܺ¸è7Ó%LŸç‰Tt¹÷8w±(ªÂ.ÎG½±E]éòÌ9OÑ -'nG¨wK}!ÁîvˆJ«37ñ®°š»ÛupçMé’ªç -endobj -2829 0 obj << -/Type /Page -/Contents 2830 0 R -/Resources 2828 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2726 0 R ->> endobj -2831 0 obj << -/D [2829 0 R /XYZ 71.731 778.968 null] ->> endobj -654 0 obj << -/D [2829 0 R /XYZ 198.718 758.046 null] ->> endobj -2832 0 obj << -/D [2829 0 R /XYZ 71.731 751.854 null] ->> endobj -1776 0 obj << -/D [2829 0 R /XYZ 71.731 711.058 null] ->> endobj -658 0 obj << -/D [2829 0 R /XYZ 200.736 687.81 null] ->> endobj -1777 0 obj << -/D [2829 0 R /XYZ 71.731 648.146 null] ->> endobj -662 0 obj << -/D [2829 0 R /XYZ 205.174 620.064 null] ->> endobj -2833 0 obj << -/D [2829 0 R /XYZ 71.731 613.871 null] ->> endobj -1778 0 obj << -/D [2829 0 R /XYZ 71.731 586.026 null] ->> endobj -666 0 obj << -/D [2829 0 R /XYZ 200.736 562.779 null] ->> endobj -1779 0 obj << -/D [2829 0 R /XYZ 71.731 523.114 null] ->> endobj -670 0 obj << -/D [2829 0 R /XYZ 243.909 495.033 null] ->> endobj -2834 0 obj << -/D [2829 0 R /XYZ 71.731 487.597 null] ->> endobj -1780 0 obj << -/D [2829 0 R /XYZ 71.731 460.995 null] ->> endobj -674 0 obj << -/D [2829 0 R /XYZ 200.736 437.747 null] ->> endobj -1781 0 obj << -/D [2829 0 R /XYZ 71.731 398.083 null] ->> endobj -678 0 obj << -/D [2829 0 R /XYZ 263.276 370.002 null] ->> endobj -2835 0 obj << -/D [2829 0 R /XYZ 71.731 362.566 null] ->> endobj -1782 0 obj << -/D [2829 0 R /XYZ 71.731 335.964 null] ->> endobj -682 0 obj << -/D [2829 0 R /XYZ 200.736 312.716 null] ->> endobj -1783 0 obj << -/D [2829 0 R /XYZ 71.731 273.052 null] ->> endobj -686 0 obj << -/D [2829 0 R /XYZ 276.187 244.97 null] ->> endobj -2836 0 obj << -/D [2829 0 R /XYZ 71.731 237.535 null] ->> endobj -1784 0 obj << -/D [2829 0 R /XYZ 71.731 210.933 null] ->> endobj -690 0 obj << -/D [2829 0 R /XYZ 200.736 187.685 null] ->> endobj -1785 0 obj << -/D [2829 0 R /XYZ 71.731 148.021 null] ->> endobj -2828 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2839 0 obj << -/Length 1175 -/Filter /FlateDecode ->> -stream -xÚå˜]oÛ6†ïó+t)3+Rüä¢K×"²¨Û¡[C–åX«-–ܵûõ{)IþŠ`Ib‘‡‡‡äó’´¸â{†3áab–èØËV¡w‹šWœ<Fä2Úñùi|ñìe$½‘7ž{Q¬™J´gbÁ”’Þxö‡µH×M¾ FB…¾`î9^äÎxó:Àÿß‚Dølý©øâJoªÙvp?þÿrñó¸ÏB Î"q6Or9ÊSs–(eå<A‚¤bJÝ&jsBwÏ^Jx†Ìhë($S&AäÖCó·Í¦(oß^DÍ™š¯–i]““¦g„é Cå8R õZÔ´ˆýjúWž5ÎÞäk“×yÙPuÓNŒçoåÎòq_×9Z1ª<¸^TÛåÌÙS -XÛVTÿwÑ,œ•ReÛż&/ÙøÛ5õ\
9bÔ˜…˜Þ1]¯—E–6EUºåmÝñÌËz»!ŠÆ=«Ò.üW÷’Ue“eíÞ>Bù鲘Qå"ݤТêyE5näÖÂŒ°~±úu@zB1‰•k$Lì¿Ù)4•mHEžIw
9ÓÜ-]æê0Ü] ûú1TáäU^Zì9R~Ý® -÷¹Gq«Mf@Ý:ê0OGíñFù”:¼aÞpK©¦ß×moäÕ…m‰ŽˆhJð¹¯L<ɾþÈ~×dãb•Ÿˆ'c„“÷pm"&ÑÉ[‹Þ¹\hp%ÞAEtkÑýEûïÆWã R¾Íª'u§ã—M—Ed£ »±hwcÑD6E™S]·nKÚ£Y´Cf«ÔÆ4ÆÿðáææÅ‹Åbµªëß™cÈ]YQ¹È—ëö>‹Âù¶ÌìRž`J„šñÈÐÜ6Ø6ÙñôJÅâþLMËÙq$nG’Î1D3,æ]²´tN)ëmÏ\I«R;t¶tºE\²8IöäÝcPk Lq -endobj -2838 0 obj << -/Type /Page -/Contents 2839 0 R -/Resources 2837 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2850 0 R ->> endobj -2840 0 obj << -/D [2838 0 R /XYZ 71.731 778.968 null] ->> endobj -694 0 obj << -/D [2838 0 R /XYZ 237.453 758.046 null] ->> endobj -2841 0 obj << -/D [2838 0 R /XYZ 71.731 750.611 null] ->> endobj -1786 0 obj << -/D [2838 0 R /XYZ 71.731 724.009 null] ->> endobj -698 0 obj << -/D [2838 0 R /XYZ 200.736 700.761 null] ->> endobj -1787 0 obj << -/D [2838 0 R /XYZ 71.731 661.097 null] ->> endobj -702 0 obj << -/D [2838 0 R /XYZ 269.732 633.015 null] ->> endobj -2842 0 obj << -/D [2838 0 R /XYZ 71.731 625.58 null] ->> endobj -1788 0 obj << -/D [2838 0 R /XYZ 71.731 598.978 null] ->> endobj -706 0 obj << -/D [2838 0 R /XYZ 200.736 575.73 null] ->> endobj -1789 0 obj << -/D [2838 0 R /XYZ 71.731 536.066 null] ->> endobj -710 0 obj << -/D [2838 0 R /XYZ 237.453 507.984 null] ->> endobj -2843 0 obj << -/D [2838 0 R /XYZ 71.731 500.549 null] ->> endobj -1790 0 obj << -/D [2838 0 R /XYZ 71.731 473.947 null] ->> endobj -714 0 obj << -/D [2838 0 R /XYZ 200.736 450.699 null] ->> endobj -1791 0 obj << -/D [2838 0 R /XYZ 71.731 411.035 null] ->> endobj -718 0 obj << -/D [2838 0 R /XYZ 224.541 382.953 null] ->> endobj -2844 0 obj << -/D [2838 0 R /XYZ 71.731 376.76 null] ->> endobj -2845 0 obj << -/D [2838 0 R /XYZ 325.689 351.072 null] ->> endobj -2846 0 obj << -/D [2838 0 R /XYZ 388.646 351.072 null] ->> endobj -1792 0 obj << -/D [2838 0 R /XYZ 71.731 335.964 null] ->> endobj -722 0 obj << -/D [2838 0 R /XYZ 200.736 312.716 null] ->> endobj -1793 0 obj << -/D [2838 0 R /XYZ 71.731 273.052 null] ->> endobj -726 0 obj << -/D [2838 0 R /XYZ 276.187 244.97 null] ->> endobj -2847 0 obj << -/D [2838 0 R /XYZ 71.731 238.778 null] ->> endobj -2848 0 obj << -/D [2838 0 R /XYZ 368.545 213.09 null] ->> endobj -2849 0 obj << -/D [2838 0 R /XYZ 430.297 213.09 null] ->> endobj -1794 0 obj << -/D [2838 0 R /XYZ 71.731 197.982 null] ->> endobj -730 0 obj << -/D [2838 0 R /XYZ 200.736 174.734 null] ->> endobj -1795 0 obj << -/D [2838 0 R /XYZ 71.731 135.07 null] ->> endobj -2837 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2853 0 obj << -/Length 967 -/Filter /FlateDecode ->> -stream -xÚí˜ßoœ8ÇßóWðR×µm R.QºÊImsÊ^ï¡=Ø]§KKcÙ´ýïoŒ0l~ét«*R)xÇ_fÆžG -áÅ$Q±·þzB½O03?a¨˜¡dæhÎ'/_‡ÂKÀz‹/Œ‘‰ò¢˜)…·Ø|ðÏ·iÕè:˜qI}Nìu±Õvpõ.€ÿ ÷Iõ%ûnoÊÍ>˜¯ƒ¿¿Ÿ\,ú,$g$俉’ƒ<9÷#‰”&QÆHɘP¡ÚDMNîåkJJ"e„\%àÙ(æuZm³õuSgÅ'«y#ÂE'>ÏÓÝEjØ¢}Ìc@~<ÁÐÙVr¿\}ÖëÆŒC¿ÖUwºhp®i7
¿]¿eV2ÎȪ~TšØÙl!zýݶÜç›Ã(®}…v'¿eÍÖšRT·‘ˆµ]6f}°Þã°¬]Kj¸¯ìµ)ñÚ•<ª<[§MVc…†t‹Ý¾F]ÖØkYä?ìh]Mšà6àÒOólƒ“Û´N×@Nß”u¸KÉnMW·¾$?—DPéÔmƣؿªñ›Ò܈µCÏp¥ºQÌqmoT”NËbL©¤Ëy0¨]§ù»¶`e¯ÚMGDIäFߨ{—ˬȚåÒø(+³qi~j\ÑV -
N[r`€ÐÃÒ2Õ¿
˜ôÝô¬ñ‡áð”#œÎ> éÚWÊž -endobj -2852 0 obj << -/Type /Page -/Contents 2853 0 R -/Resources 2851 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2850 0 R ->> endobj -2854 0 obj << -/D [2852 0 R /XYZ 71.731 778.968 null] ->> endobj -734 0 obj << -/D [2852 0 R /XYZ 263.276 758.046 null] ->> endobj -2855 0 obj << -/D [2852 0 R /XYZ 71.731 750.611 null] ->> endobj -1796 0 obj << -/D [2852 0 R /XYZ 71.731 724.009 null] ->> endobj -738 0 obj << -/D [2852 0 R /XYZ 200.736 700.761 null] ->> endobj -1797 0 obj << -/D [2852 0 R /XYZ 71.731 661.097 null] ->> endobj -742 0 obj << -/D [2852 0 R /XYZ 263.276 633.015 null] ->> endobj -2856 0 obj << -/D [2852 0 R /XYZ 71.731 625.58 null] ->> endobj -1798 0 obj << -/D [2852 0 R /XYZ 71.731 598.978 null] ->> endobj -746 0 obj << -/D [2852 0 R /XYZ 200.736 575.73 null] ->> endobj -1799 0 obj << -/D [2852 0 R /XYZ 71.731 536.066 null] ->> endobj -750 0 obj << -/D [2852 0 R /XYZ 263.276 507.984 null] ->> endobj -2857 0 obj << -/D [2852 0 R /XYZ 71.731 500.549 null] ->> endobj -1800 0 obj << -/D [2852 0 R /XYZ 71.731 473.947 null] ->> endobj -754 0 obj << -/D [2852 0 R /XYZ 200.736 450.699 null] ->> endobj -1801 0 obj << -/D [2852 0 R /XYZ 71.731 411.035 null] ->> endobj -758 0 obj << -/D [2852 0 R /XYZ 276.187 382.953 null] ->> endobj -2858 0 obj << -/D [2852 0 R /XYZ 71.731 375.517 null] ->> endobj -1802 0 obj << -/D [2852 0 R /XYZ 71.731 348.916 null] ->> endobj -762 0 obj << -/D [2852 0 R /XYZ 200.736 325.668 null] ->> endobj -1803 0 obj << -/D [2852 0 R /XYZ 71.731 286.004 null] ->> endobj -766 0 obj << -/D [2852 0 R /XYZ 237.453 257.922 null] ->> endobj -2859 0 obj << -/D [2852 0 R /XYZ 71.731 250.486 null] ->> endobj -1804 0 obj << -/D [2852 0 R /XYZ 71.731 223.885 null] ->> endobj -770 0 obj << -/D [2852 0 R /XYZ 200.736 200.637 null] ->> endobj -1805 0 obj << -/D [2852 0 R /XYZ 71.731 160.972 null] ->> endobj -774 0 obj << -/D [2852 0 R /XYZ 230.997 132.891 null] ->> endobj -2860 0 obj << -/D [2852 0 R /XYZ 71.731 125.455 null] ->> endobj -1806 0 obj << -/D [2852 0 R /XYZ 71.731 111.805 null] ->> endobj -2851 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2863 0 obj << -/Length 2540 -/Filter /FlateDecode ->> -stream -xÚ]sã¸í}…ß*ÏØ¬HQ”Ô™{¸n³×ëÜî^»nûÐídd›ŽÕ(’O’7›_€ - -¿äåÙ¾.Æa÷xÓ[^{«Xè0v[Ñð¢VÃ}ªPè4&ˆá5?§§c‘†)£½·Ý±Þ3’15F¨ìP&"£™0˜ $jþŠçô´Y–1Z{¬Ïå~¹Ž²$ØZü¦ANÓ²h;Ô
Aºó©d$ŸÃ±*ð©;uGKh=kÚ|àÍGÞÚ²I‚o–)\éR‚{ x8ÕM—W»'<½ŽñôJdðE¡ìÃÖ6H?6AÞX ’‹¤¶{tÇ¢½lmלw vÇŠã@л¢i»¹NUh„fmÙò *ûµ›k5–ná
üü÷<HUÓ÷l퉡M¾»§¡S|ÅîH:PUŒT¬E&ðƒa„I5œ¿³FHÛ‡œó–¶ÖVB—cÔóngÛù,Ÿ–Æ©1)¤:J ¶ýêŠvâP$j¢çí.Q"1ñ…Ý!ù%~à©@¹/Yùb©Hèljdž*‹ÂT¦ƒÚEÖ€-\/ªœn -9lªçT%ø¦ç-ˆ&j):›ú -Ô<ç3ä4õ7´¢ikOy“;÷xV â¨HLh.8q{‰Îj#ï@xu
zPÇÊ=°ïG1TVÑÄ÷;_ìMí!ßÑ—ì -½Fô79M£k¥
$!p<%€‹)Úg¥ãKVšýZGa”W{Z…¹€À¢rñL“zµñ‘KÇ=—>–¯NÑ€H:—×Ð<ÅùD`D:ÉÆ¡Ø•<W2U$’>ÿ¯XÉY& N(yûtåš•0I_×P%ÊUè•€f-ÓÞçÙÃÅô-†ÊÁ†…wvåø*uîEb,ÔûKKÄvyYº{‚1F$ü’÷ãˆê»;„ï©©!U¶—¨›Áz`V0)ôáAlRµ4ry2‰(9dÇÌ@
¹¥ïC8_ðŸ“?Y–•œ"Îæ9_ðV—$P(¦¹ùÇR£IÓÌy¶õþŦ
#ÔÔï”\æTðjÒ쵤¢µH5qà÷µs¥])ŒYtLõf„Q¬AŸ.pâë2hŒ“ÓlxÝÃ$$5¾%G²BÑjzÔ¶f†,ê.¯ˆ‹+|œXTzYg¬óà¾%üxxÆ·½Ëýsà•f¼ò’š†Ôg}&ô.곂¸Ö9¼_g -®»b™0æš-LŽ€Ù/žÚÂK1Ï@uÞשxñ©4Toâ -×¼‹«¨#{&@z ÕìBF”Œá‹'–Úé -ŠtàùûwÈJ¡0Ÿá›/ª]…\£À’c
ßþÃI€O„yæ8 :ö=ôŠ¢iÏo˜¯izäQ‰Rû†òC]Ùoh€Ö_±4ZјÌMMÛÄO^-1ÔÓ'%wMÆLÑWW`‚V3
ƒ~}C²`¸²Ï@œs¡v~@`Œ-W8Xë•B2ZÉKs5ôIFdL/8Æ>Ë%·÷¸Ü$˜)ÐÄZÁ:ÐXÑf“ðS]ß³+vÍ -ÙãìGþ#.¬ä_L5êþ—~SPf?©ÆRŠ(N<<V>ó³èœÓÿ -ý¸hendstream -endobj -2862 0 obj << -/Type /Page -/Contents 2863 0 R -/Resources 2861 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2850 0 R ->> endobj -2864 0 obj << -/D [2862 0 R /XYZ 71.731 778.968 null] ->> endobj -778 0 obj << -/D [2862 0 R /XYZ 200.736 758.046 null] ->> endobj -1807 0 obj << -/D [2862 0 R /XYZ 71.731 665.082 null] ->> endobj -782 0 obj << -/D [2862 0 R /XYZ 221.26 641.085 null] ->> endobj -2865 0 obj << -/D [2862 0 R /XYZ 71.731 634.889 null] ->> endobj -2866 0 obj << -/D [2862 0 R /XYZ 139.004 623.152 null] ->> endobj -2867 0 obj << -/D [2862 0 R /XYZ 326.198 610.201 null] ->> endobj -2868 0 obj << -/D [2862 0 R /XYZ 370.278 597.249 null] ->> endobj -1808 0 obj << -/D [2862 0 R /XYZ 71.731 564.208 null] ->> endobj -786 0 obj << -/D [2862 0 R /XYZ 242.779 540.96 null] ->> endobj -2869 0 obj << -/D [2862 0 R /XYZ 71.731 535.8 null] ->> endobj -2870 0 obj << -/D [2862 0 R /XYZ 174.708 510.076 null] ->> endobj -2871 0 obj << -/D [2862 0 R /XYZ 270.258 510.076 null] ->> endobj -2872 0 obj << -/D [2862 0 R /XYZ 431.25 510.076 null] ->> endobj -2873 0 obj << -/D [2862 0 R /XYZ 71.731 489.987 null] ->> endobj -2874 0 obj << -/D [2862 0 R /XYZ 465.031 479.192 null] ->> endobj -2875 0 obj << -/D [2862 0 R /XYZ 132.225 466.241 null] ->> endobj -2876 0 obj << -/D [2862 0 R /XYZ 210.033 466.241 null] ->> endobj -2877 0 obj << -/D [2862 0 R /XYZ 259.939 466.241 null] ->> endobj -1809 0 obj << -/D [2862 0 R /XYZ 71.731 446.151 null] ->> endobj -790 0 obj << -/D [2862 0 R /XYZ 199.74 422.903 null] ->> endobj -2878 0 obj << -/D [2862 0 R /XYZ 71.731 417.743 null] ->> endobj -2879 0 obj << -/D [2862 0 R /XYZ 306.755 404.97 null] ->> endobj -2880 0 obj << -/D [2862 0 R /XYZ 460.877 404.97 null] ->> endobj -2881 0 obj << -/D [2862 0 R /XYZ 119.552 392.019 null] ->> endobj -1810 0 obj << -/D [2862 0 R /XYZ 71.731 386.849 null] ->> endobj -794 0 obj << -/D [2862 0 R /XYZ 205.12 361.633 null] ->> endobj -2882 0 obj << -/D [2862 0 R /XYZ 71.731 356.472 null] ->> endobj -2883 0 obj << -/D [2862 0 R /XYZ 71.731 356.472 null] ->> endobj -2884 0 obj << -/D [2862 0 R /XYZ 119.552 330.749 null] ->> endobj -2885 0 obj << -/D [2862 0 R /XYZ 197.36 330.749 null] ->> endobj -2886 0 obj << -/D [2862 0 R /XYZ 323.943 330.749 null] ->> endobj -1811 0 obj << -/D [2862 0 R /XYZ 71.731 312.716 null] ->> endobj -798 0 obj << -/D [2862 0 R /XYZ 194.361 287.411 null] ->> endobj -2887 0 obj << -/D [2862 0 R /XYZ 71.731 282.251 null] ->> endobj -2888 0 obj << -/D [2862 0 R /XYZ 71.731 223.486 null] ->> endobj -2889 0 obj << -/D [2862 0 R /XYZ 71.731 223.486 null] ->> endobj -2890 0 obj << -/D [2862 0 R /XYZ 393.694 199.74 null] ->> endobj -2891 0 obj << -/D [2862 0 R /XYZ 331.829 186.789 null] ->> endobj -1812 0 obj << -/D [2862 0 R /XYZ 71.731 166.699 null] ->> endobj -802 0 obj << -/D [2862 0 R /XYZ 194.361 143.451 null] ->> endobj -2892 0 obj << -/D [2862 0 R /XYZ 71.731 137.255 null] ->> endobj -2893 0 obj << -/D [2862 0 R /XYZ 444.636 112.567 null] ->> endobj -2861 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F33 1203 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2896 0 obj << -/Length 948 -/Filter /FlateDecode ->> -stream -xÚÕWßoÛ6~Ï_¡G ¨X’")±@¶Ì6 M·xØC;ŠLÛjeI“¨6ùï{)YþQ§ÉŒaƒ“<~<ÞïãQÄÃð#^LPA'HŠÄË6Ø[ÁÌÏÄ!B '˜ç/¯"æIDÞ|éE‰@\ -/N(âœyóÅ{ÿrÖZ5AH9ö)²í|lçÝu -©Rª¨Êý/{Ï -|rÝE¾4ˆ¥j¿Ûåº=ÛÝûÅÜÏy¡ªûÚio·›í¨ì6wªqã¡|\E
G¯£þ¼Z¥!ŸÓ¢S‚W<⦟T%(!ñÉ/¿-äàÃÊŠ `b6È7>Þwú -<ºjendstream -endobj -2895 0 obj << -/Type /Page -/Contents 2896 0 R -/Resources 2894 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2850 0 R ->> endobj -2897 0 obj << -/D [2895 0 R /XYZ 71.731 778.968 null] ->> endobj -1934 0 obj << -/D [2895 0 R /XYZ 71.731 790.923 null] ->> endobj -1813 0 obj << -/D [2895 0 R /XYZ 71.731 768.009 null] ->> endobj -806 0 obj << -/D [2895 0 R /XYZ 243.909 758.046 null] ->> endobj -2898 0 obj << -/D [2895 0 R /XYZ 71.731 750.611 null] ->> endobj -1814 0 obj << -/D [2895 0 R /XYZ 71.731 736.96 null] ->> endobj -810 0 obj << -/D [2895 0 R /XYZ 200.736 713.713 null] ->> endobj -1815 0 obj << -/D [2895 0 R /XYZ 71.731 679.03 null] ->> endobj -814 0 obj << -/D [2895 0 R /XYZ 221.26 655.033 null] ->> endobj -2899 0 obj << -/D [2895 0 R /XYZ 71.731 648.836 null] ->> endobj -2900 0 obj << -/D [2895 0 R /XYZ 137.534 637.1 null] ->> endobj -1816 0 obj << -/D [2895 0 R /XYZ 71.731 624.98 null] ->> endobj -818 0 obj << -/D [2895 0 R /XYZ 198.718 597.648 null] ->> endobj -2901 0 obj << -/D [2895 0 R /XYZ 71.731 591.455 null] ->> endobj -1817 0 obj << -/D [2895 0 R /XYZ 71.731 576.562 null] ->> endobj -822 0 obj << -/D [2895 0 R /XYZ 200.736 553.314 null] ->> endobj -1818 0 obj << -/D [2895 0 R /XYZ 71.731 518.631 null] ->> endobj -826 0 obj << -/D [2895 0 R /XYZ 221.26 494.634 null] ->> endobj -2902 0 obj << -/D [2895 0 R /XYZ 71.731 488.438 null] ->> endobj -2903 0 obj << -/D [2895 0 R /XYZ 137.534 476.701 null] ->> endobj -1928 0 obj << -/D [2895 0 R /XYZ 71.731 464.582 null] ->> endobj -830 0 obj << -/D [2895 0 R /XYZ 211.63 437.249 null] ->> endobj -2904 0 obj << -/D [2895 0 R /XYZ 71.731 431.057 null] ->> endobj -1929 0 obj << -/D [2895 0 R /XYZ 71.731 416.163 null] ->> endobj -834 0 obj << -/D [2895 0 R /XYZ 200.736 392.916 null] ->> endobj -1930 0 obj << -/D [2895 0 R /XYZ 71.731 358.233 null] ->> endobj -838 0 obj << -/D [2895 0 R /XYZ 221.26 334.236 null] ->> endobj -2905 0 obj << -/D [2895 0 R /XYZ 71.731 328.039 null] ->> endobj -2906 0 obj << -/D [2895 0 R /XYZ 137.534 316.303 null] ->> endobj -1931 0 obj << -/D [2895 0 R /XYZ 71.731 304.183 null] ->> endobj -842 0 obj << -/D [2895 0 R /XYZ 230.997 276.851 null] ->> endobj -2907 0 obj << -/D [2895 0 R /XYZ 71.731 269.415 null] ->> endobj -1932 0 obj << -/D [2895 0 R /XYZ 71.731 242.814 null] ->> endobj -846 0 obj << -/D [2895 0 R /XYZ 200.736 219.566 null] ->> endobj -1933 0 obj << -/D [2895 0 R /XYZ 71.731 161.57 null] ->> endobj -2894 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2910 0 obj << -/Length 1733 -/Filter /FlateDecode ->> -stream -xÚÍÛnÛ6ô=_áGˆYñ¦Ë€>l][tÀÖb
°‡u™Žµ*’!QMó÷;‡‡”%KiÚa(† -oƈ("¦R „ãúº¬K{}MhczJ³4J=گƚ!Iy¢µc&2', ×|>UÞužd<")Y$ÉË95ÅÒTøc ²oÚ»9™°Xg_&ÂODêþî<5#£#P/éM_íÀO*ZßZóŽÖîhŠòC ãÊšVÎ<xäßÿÆi·kŠþÎÔ6·eãAãPz¢ÍÍߦ°lÁ \q&â6‚eš,Z4µ’KÕLÊs%¤WÖ¼¦•øÑ¾¬;›×…Çèúâàq»¹8\)–%Áeo@ŒÛ%c>í“dˆ¸·ånN€§LÉà5g.ˆ–iËÐëO®×f7WèþPºþxlZÛÑ—
á?±°Ðœñ”{sJƒ×¦6m^½E²sñÁ”V(Á -í~ÃAÀ°yâl=öVFŠÇW&bg윘%‚ôÑ”“™ð9(î§¼êÍ\˜‘z¸XëcÜuÞb½+[²¬âkÛÌÙ%â3žI=u¦V£ÙY{pµÏí
zòó±*‹Ò3"w^Òq×Å(;ùºn<Ò”¯xÁ‹N™É]àÀgUv|ë…è•ù騯AšÊP‘ÂH€àÉ$éšž -wÞúºÊÚ²¾õPZ 5;Ûö…Ö;‚‘2À†/DGôqqûMq1vÃ4.ÄÀÏÉø 3Ê ‰¼§õÌ3z”h*£ˆXklßÖÆ«›×~C¾Í±÷瓱œùO6ጃQ2¦´˜…G,!£(¦“ ò‹CSf,Ò!Q_,w!ìY±DgƒEæYÝ}žÇÖt®ò’üTî³Pîä%¡ã‡£Yö¸ÐLAÞ„ÚŠ$]¿k7Ú/._¼ÈYÌIDê©Û8:1Åý.‚Osl€¯)´vfO¡ÅcÜîfw‰'GlRyõ<º$T¸“÷•}þA…ñKÄ#O7™ÒEÓ`”GsÌ3 <ž+JO"ß~%QÛ¼·-¤ã2ò™¬û¶¹ûz|®Z¾CIJyõ¾-+)û²:)wÖ‚{FqðG3jÞýsD3nr>HdšÊ,¬˜Á™‚æP¸iìê®.k:úý¶Ô¡4Zú^ìÈ’œ'¡ûOZñBwXh½Ü‹ªq°ùˆpWѨÌKè‘“Îc¨¤såÓ›Ëuß9ýNGÊYÔ)üçt8€«xcZ¾T -æç+ZM]4;´>ÿüòw‚íí’¾)$`0„^¯&A"^òØE<®=NEÆñ1€+ ÌŒ:ÔÁÐñB2=0tÜUZF
×ê
m±Øø+m Už¸·D·ôô5TSFû7žEmJ¬Û\ª„‰T=S1LÄú4~/͘’©³gÉã>«IˆŽ§œC;Ç6QmçÏ‹Ð[¡ã†š‚CEèÔAúò¯ñCÞMfމ£p_VþÊgzhê¦5»¥QÞkòm#›kŒsbP|â8}jhƒw)×ülh*ïûºðïJ7žl±C”9º8~vgÆ<
ÕhL(í0½ÚÇæÀvaÔ
£ mÂÀG5õ̾Xåÿƒ÷{=„D¬gçÄ?œSz{&á -ÎÉ» -endobj -2909 0 obj << -/Type /Page -/Contents 2910 0 R -/Resources 2908 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2850 0 R ->> endobj -2911 0 obj << -/D [2909 0 R /XYZ 71.731 778.968 null] ->> endobj -1943 0 obj << -/D [2909 0 R /XYZ 71.731 790.923 null] ->> endobj -850 0 obj << -/D [2909 0 R /XYZ 221.26 758.046 null] ->> endobj -2912 0 obj << -/D [2909 0 R /XYZ 71.731 751.85 null] ->> endobj -2913 0 obj << -/D [2909 0 R /XYZ 71.731 751.85 null] ->> endobj -2914 0 obj << -/D [2909 0 R /XYZ 167.472 740.114 null] ->> endobj -2915 0 obj << -/D [2909 0 R /XYZ 210.012 740.114 null] ->> endobj -2916 0 obj << -/D [2909 0 R /XYZ 119.552 727.162 null] ->> endobj -2917 0 obj << -/D [2909 0 R /XYZ 309.86 727.162 null] ->> endobj -2918 0 obj << -/D [2909 0 R /XYZ 352.302 727.162 null] ->> endobj -2919 0 obj << -/D [2909 0 R /XYZ 119.552 714.211 null] ->> endobj -854 0 obj << -/D [2909 0 R /XYZ 194.361 683.825 null] ->> endobj -2920 0 obj << -/D [2909 0 R /XYZ 71.731 678.664 null] ->> endobj -2921 0 obj << -/D [2909 0 R /XYZ 71.731 678.664 null] ->> endobj -2922 0 obj << -/D [2909 0 R /XYZ 222.123 665.892 null] ->> endobj -1935 0 obj << -/D [2909 0 R /XYZ 71.731 645.802 null] ->> endobj -858 0 obj << -/D [2909 0 R /XYZ 194.361 622.554 null] ->> endobj -2923 0 obj << -/D [2909 0 R /XYZ 71.731 616.358 null] ->> endobj -1936 0 obj << -/D [2909 0 R /XYZ 71.731 592.502 null] ->> endobj -862 0 obj << -/D [2909 0 R /XYZ 218.085 565.17 null] ->> endobj -2924 0 obj << -/D [2909 0 R /XYZ 71.731 558.977 null] ->> endobj -1937 0 obj << -/D [2909 0 R /XYZ 71.731 544.084 null] ->> endobj -866 0 obj << -/D [2909 0 R /XYZ 200.736 520.836 null] ->> endobj -1938 0 obj << -/D [2909 0 R /XYZ 71.731 404.918 null] ->> endobj -870 0 obj << -/D [2909 0 R /XYZ 221.26 380.562 null] ->> endobj -2925 0 obj << -/D [2909 0 R /XYZ 71.731 374.366 null] ->> endobj -2926 0 obj << -/D [2909 0 R /XYZ 71.731 374.366 null] ->> endobj -2927 0 obj << -/D [2909 0 R /XYZ 370.32 362.629 null] ->> endobj -2928 0 obj << -/D [2909 0 R /XYZ 387.302 349.678 null] ->> endobj -2929 0 obj << -/D [2909 0 R /XYZ 308.595 336.726 null] ->> endobj -2930 0 obj << -/D [2909 0 R /XYZ 466.836 323.775 null] ->> endobj -2931 0 obj << -/D [2909 0 R /XYZ 119.552 310.823 null] ->> endobj -1939 0 obj << -/D [2909 0 R /XYZ 71.731 303.685 null] ->> endobj -874 0 obj << -/D [2909 0 R /XYZ 205.12 280.437 null] ->> endobj -2932 0 obj << -/D [2909 0 R /XYZ 71.731 275.277 null] ->> endobj -1940 0 obj << -/D [2909 0 R /XYZ 71.731 255.366 null] ->> endobj -878 0 obj << -/D [2909 0 R /XYZ 194.361 232.119 null] ->> endobj -2933 0 obj << -/D [2909 0 R /XYZ 71.731 226.958 null] ->> endobj -2934 0 obj << -/D [2909 0 R /XYZ 71.731 226.958 null] ->> endobj -1941 0 obj << -/D [2909 0 R /XYZ 71.731 196.154 null] ->> endobj -882 0 obj << -/D [2909 0 R /XYZ 194.361 170.848 null] ->> endobj -2935 0 obj << -/D [2909 0 R /XYZ 71.731 164.652 null] ->> endobj -1942 0 obj << -/D [2909 0 R /XYZ 71.731 134.883 null] ->> endobj -2908 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F33 1203 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2938 0 obj << -/Length 1603 -/Filter /FlateDecode ->> -stream -xÚXÝsÓ8ï_‘·$\",ùûá -Pæ ÍÁÃqsã8Jãñ‚-·ôþúÛ•VNÜ$
Ì0Ðz%ÿ´Úýí‡Tóÿø æ,öá',’A¾>ó·ðæõ'Ä” ÓÌËÙÙóW~0HaÂÌ–?‰X˜Fƒ8,ƒÁlñ×è|•m´¬ÇSz#Áìs¶’Vøp=†ßŸÇ©±Í×â»}§m9æ#9þ{ööìrÖY -Î|ñ¤Ù³Sˆœ§`è æ‘±M‚Ýž¿ -Ä -M -p|·ÎM¹`iÈ‹ó¼q)-E~a’„mS€—.w‰æ"e’e}T.*¹Ouè³8uKMé²lä„LYöjõ¨¢r‰¬gm©]ÂeÚ¦æ^4ZÕrÁˆÄgžßO -Û㘪ÚÊ»,ÁФ8<)ÅAZ¶U®Eð…2Ñ‹“Q¥´*ªE‘gš4mžË†ÖÎÇ%Üý -Ø´êžþÙà«7úD ã8½ÚÔ -u™ÈXÕSãGq¶]!˶,ÆQhÈpÕ¨iž2´â®Pmm§ -*ó;´ÎJ;‚4³¯iW›½0ÎUý¢¥ä„ ý°‘¤P¹¤YÃ.(R ÕÕ×ÙYB@µA:í¶0ª{.ÙÔ%“±,ä±Ì ´z… ¬(ÛšZuI
†@^Û¡!–j†ó®ûÛà¹é‡î0O[™¹4&ÿ‚6w_Zès)‹¢“'\è1ò^Jcò¹ tBɵ ”M]¡`r…¹”•• Û£€]ª}aåâ1~+e' -šj8æt·Ñn¼”€ÛxMÜ‹½¾âƒCž’û²¾¬k›}‚ˆñÀ±Ô‹Œy?òÔ}/“ìG¼Î -¬(—t}.E€óö¹Û`h›T‡(Q°=(\Y;GÈݱ9q/¦Ð©:‚<ѲbvÂYöXûp†£æ µ(¿µ¶Ò,ŒýJëŽú~¤pÆšwÛ?=05Þ«þ]¨ÑŦ-÷ nUT¨×Øüîû×1R(+w&Aézü½ãÅ•çàJèJ1e5ÅÝRä‹#ºN„±»NœËZKÛ¹÷µÅó}wY8ÇÓ˜òv§j§)¤0`"K½Ø^9¿gëMI¾ˆ)'ço¤Öݽn·;¤hÛQ“z׸M)lÆYÄS{ij Ì"8<~·×ŸÙ‹æa½–p¿Ë¿x¡?¼‹:,#:2j½·ÿ@`dÂxÊGhÆAq§ƒA|’uYHþÄv½‘u‘•ˆw‘ÂgвÊÖ²g‚·Òv¤Dƒa®ÚJ×hîÃ{X;D½“í‚á.º:›—Ò^¬‡ônøú¥vH>±+Ѥ -endobj -2937 0 obj << -/Type /Page -/Contents 2938 0 R -/Resources 2936 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2850 0 R ->> endobj -2939 0 obj << -/D [2937 0 R /XYZ 71.731 778.968 null] ->> endobj -886 0 obj << -/D [2937 0 R /XYZ 221.26 758.046 null] ->> endobj -2940 0 obj << -/D [2937 0 R /XYZ 71.731 751.85 null] ->> endobj -890 0 obj << -/D [2937 0 R /XYZ 232.019 709.728 null] ->> endobj -2941 0 obj << -/D [2937 0 R /XYZ 71.731 703.531 null] ->> endobj -1944 0 obj << -/D [2937 0 R /XYZ 71.731 684.657 null] ->> endobj -894 0 obj << -/D [2937 0 R /XYZ 199.74 661.409 null] ->> endobj -2942 0 obj << -/D [2937 0 R /XYZ 71.731 656.248 null] ->> endobj -2943 0 obj << -/D [2937 0 R /XYZ 71.731 656.248 null] ->> endobj -2944 0 obj << -/D [2937 0 R /XYZ 248.786 630.525 null] ->> endobj -2945 0 obj << -/D [2937 0 R /XYZ 71.731 623.386 null] ->> endobj -1945 0 obj << -/D [2937 0 R /XYZ 71.731 579.551 null] ->> endobj -898 0 obj << -/D [2937 0 R /XYZ 205.12 556.303 null] ->> endobj -2946 0 obj << -/D [2937 0 R /XYZ 71.731 551.142 null] ->> endobj -2947 0 obj << -/D [2937 0 R /XYZ 436.587 538.37 null] ->> endobj -2948 0 obj << -/D [2937 0 R /XYZ 71.731 520.338 null] ->> endobj -1946 0 obj << -/D [2937 0 R /XYZ 71.731 482.415 null] ->> endobj -902 0 obj << -/D [2937 0 R /XYZ 250.364 455.082 null] ->> endobj -2144 0 obj << -/D [2937 0 R /XYZ 71.731 454.867 null] ->> endobj -2949 0 obj << -/D [2937 0 R /XYZ 71.731 418.191 null] ->> endobj -1947 0 obj << -/D [2937 0 R /XYZ 71.731 175.431 null] ->> endobj -2936 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2952 0 obj << -/Length 1041 -/Filter /FlateDecode ->> -stream -xÚÝX[oÛ6~ϯУÄI‰ºèÃÚuC4-o{X†@±i[›-¹Õ&ÿ~çèP±:±¶y˜4u¾s¿P‡ðÁ’–$eYœz‹Ý÷Öðäç3a)f–d6 y;?ûî§0ò28½ùÊÓ˜©,ö’T2¥"o¾ü÷É÷F×ÁL*îKFë|£ióéc -&Òô¤¡²»Œx\/a$z?B.•t@%ƒ»£%“²4R'KF@àÂÇ%ƒ</+\Á›_n¢ÃQæ5DPàXZ•¬ÃqU‡À"å&Ç«Mê˜ïº+£5¬w"GÆÒ,UIÙîn§Rþk$:)ùÅÎþÎI±›ýÖSÿer—Æù‹ç®ëÛëÕ“½^ÊÌŠ»„Kœ+LFŒ§Ï¿+]†QÌ$-ùð–ïðÁ†¸m_
:õû.‘[4æð]¾Ûoõ_˜¶ "²!H¦gâ«…`”ˆvÜ,ªÝŠpKÆÙÜjÁÄþqirx·)×6'!SëUóB”nw¯PŒÿ¿4¾mÛWþÆ€HžýSà@âü' à®ÂÍÔ’ >aôÄ{½+é±HQ -endstream -endobj -2951 0 obj << -/Type /Page -/Contents 2952 0 R -/Resources 2950 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2967 0 R ->> endobj -2953 0 obj << -/D [2951 0 R /XYZ 71.731 778.968 null] ->> endobj -1956 0 obj << -/D [2951 0 R /XYZ 71.731 790.923 null] ->> endobj -906 0 obj << -/D [2951 0 R /XYZ 200.736 758.046 null] ->> endobj -1948 0 obj << -/D [2951 0 R /XYZ 71.731 478.581 null] ->> endobj -910 0 obj << -/D [2951 0 R /XYZ 232.019 454.584 null] ->> endobj -2954 0 obj << -/D [2951 0 R /XYZ 71.731 449.424 null] ->> endobj -2955 0 obj << -/D [2951 0 R /XYZ 205.175 436.652 null] ->> endobj -1949 0 obj << -/D [2951 0 R /XYZ 71.731 418.619 null] ->> endobj -914 0 obj << -/D [2951 0 R /XYZ 232.019 393.314 null] ->> endobj -2956 0 obj << -/D [2951 0 R /XYZ 71.731 387.118 null] ->> endobj -1950 0 obj << -/D [2951 0 R /XYZ 71.731 368.243 null] ->> endobj -918 0 obj << -/D [2951 0 R /XYZ 226.64 344.995 null] ->> endobj -2957 0 obj << -/D [2951 0 R /XYZ 71.731 339.835 null] ->> endobj -2958 0 obj << -/D [2951 0 R /XYZ 208.397 327.063 null] ->> endobj -1951 0 obj << -/D [2951 0 R /XYZ 71.731 309.03 null] ->> endobj -922 0 obj << -/D [2951 0 R /XYZ 232.019 283.725 null] ->> endobj -2959 0 obj << -/D [2951 0 R /XYZ 71.731 277.529 null] ->> endobj -1952 0 obj << -/D [2951 0 R /XYZ 71.731 258.654 null] ->> endobj -926 0 obj << -/D [2951 0 R /XYZ 226.64 235.406 null] ->> endobj -2960 0 obj << -/D [2951 0 R /XYZ 71.731 230.246 null] ->> endobj -2961 0 obj << -/D [2951 0 R /XYZ 204.781 217.474 null] ->> endobj -2962 0 obj << -/D [2951 0 R /XYZ 274.997 217.474 null] ->> endobj -1953 0 obj << -/D [2951 0 R /XYZ 71.731 210.335 null] ->> endobj -930 0 obj << -/D [2951 0 R /XYZ 226.64 187.087 null] ->> endobj -2963 0 obj << -/D [2951 0 R /XYZ 71.731 180.891 null] ->> endobj -1954 0 obj << -/D [2951 0 R /XYZ 71.731 162.017 null] ->> endobj -934 0 obj << -/D [2951 0 R /XYZ 232.019 138.769 null] ->> endobj -2964 0 obj << -/D [2951 0 R /XYZ 71.731 132.572 null] ->> endobj -2965 0 obj << -/D [2951 0 R /XYZ 204.781 120.836 null] ->> endobj -2966 0 obj << -/D [2951 0 R /XYZ 274.997 120.836 null] ->> endobj -1955 0 obj << -/D [2951 0 R /XYZ 71.731 113.698 null] ->> endobj -2950 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F33 1203 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2970 0 obj << -/Length 1286 -/Filter /FlateDecode ->> -stream -xÚíXßoÛ6~Ï_¡·Ê@Äð‡(‰{X²¶È€®â¢¶=¨6mk³%W¢’ö¿ß‘GÉr¥8Ù–ÃPŽ$Þéãñ»;ÞQ, ðÇ‚”‘TÀ%͈J²`±;£Á$¯Ï˜×ˆ¼J4йœŸ]¼q `@óU ²„H•iƉ”q0_þ^mò½Ñõ,â’†œàu¾Ñxóîíþ˜)’ýÅg}S-Û팅zöÛüdz—óÞ -Éü¤^ed'ç;S`àÈŒÐ8qvZ“`¶‹W1웉Uä”Ä™ -ÄÅŸÌ—½×«Vî½æŒA±òs6³Ä{óV£0^z;ã2Ì·&ø|£'b‹%ÎDíI¾ŠÛnïÚ¥†’¸ª|‘áïÔ¿ïW¶¡û‰?ì';ò„ŸÆ= -endobj -2969 0 obj << -/Type /Page -/Contents 2970 0 R -/Resources 2968 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2967 0 R ->> endobj -2971 0 obj << -/D [2969 0 R /XYZ 71.731 778.968 null] ->> endobj -1965 0 obj << -/D [2969 0 R /XYZ 71.731 790.923 null] ->> endobj -938 0 obj << -/D [2969 0 R /XYZ 232.019 758.046 null] ->> endobj -2972 0 obj << -/D [2969 0 R /XYZ 71.731 751.85 null] ->> endobj -942 0 obj << -/D [2969 0 R /XYZ 242.779 709.728 null] ->> endobj -2973 0 obj << -/D [2969 0 R /XYZ 71.731 704.567 null] ->> endobj -2974 0 obj << -/D [2969 0 R /XYZ 197.685 691.795 null] ->> endobj -2975 0 obj << -/D [2969 0 R /XYZ 326.964 691.795 null] ->> endobj -2976 0 obj << -/D [2969 0 R /XYZ 398.364 691.795 null] ->> endobj -2977 0 obj << -/D [2969 0 R /XYZ 119.552 678.843 null] ->> endobj -2978 0 obj << -/D [2969 0 R /XYZ 168.014 678.843 null] ->> endobj -2979 0 obj << -/D [2969 0 R /XYZ 216.476 678.843 null] ->> endobj -2980 0 obj << -/D [2969 0 R /XYZ 279.767 678.843 null] ->> endobj -2145 0 obj << -/D [2969 0 R /XYZ 71.731 663.735 null] ->> endobj -2981 0 obj << -/D [2969 0 R /XYZ 71.731 630.993 null] ->> endobj -1957 0 obj << -/D [2969 0 R /XYZ 71.731 581.409 null] ->> endobj -946 0 obj << -/D [2969 0 R /XYZ 242.779 556.004 null] ->> endobj -2982 0 obj << -/D [2969 0 R /XYZ 71.731 549.808 null] ->> endobj -2983 0 obj << -/D [2969 0 R /XYZ 119.552 525.12 null] ->> endobj -1958 0 obj << -/D [2969 0 R /XYZ 71.731 519.95 null] ->> endobj -950 0 obj << -/D [2969 0 R /XYZ 237.399 494.734 null] ->> endobj -2984 0 obj << -/D [2969 0 R /XYZ 71.731 489.573 null] ->> endobj -2985 0 obj << -/D [2969 0 R /XYZ 199.8 476.801 null] ->> endobj -2986 0 obj << -/D [2969 0 R /XYZ 280.776 476.801 null] ->> endobj -1959 0 obj << -/D [2969 0 R /XYZ 71.731 469.663 null] ->> endobj -954 0 obj << -/D [2969 0 R /XYZ 237.399 446.415 null] ->> endobj -2987 0 obj << -/D [2969 0 R /XYZ 71.731 440.219 null] ->> endobj -2988 0 obj << -/D [2969 0 R /XYZ 119.552 415.531 null] ->> endobj -1960 0 obj << -/D [2969 0 R /XYZ 71.731 410.361 null] ->> endobj -958 0 obj << -/D [2969 0 R /XYZ 269.678 385.145 null] ->> endobj -2989 0 obj << -/D [2969 0 R /XYZ 71.731 378.948 null] ->> endobj -2990 0 obj << -/D [2969 0 R /XYZ 205.608 367.212 null] ->> endobj -2991 0 obj << -/D [2969 0 R /XYZ 419.951 354.261 null] ->> endobj -1961 0 obj << -/D [2969 0 R /XYZ 71.731 334.171 null] ->> endobj -962 0 obj << -/D [2969 0 R /XYZ 269.678 310.923 null] ->> endobj -2992 0 obj << -/D [2969 0 R /XYZ 71.731 304.727 null] ->> endobj -1962 0 obj << -/D [2969 0 R /XYZ 71.731 285.852 null] ->> endobj -966 0 obj << -/D [2969 0 R /XYZ 275.058 262.604 null] ->> endobj -2993 0 obj << -/D [2969 0 R /XYZ 71.731 256.408 null] ->> endobj -2994 0 obj << -/D [2969 0 R /XYZ 205.608 244.672 null] ->> endobj -2995 0 obj << -/D [2969 0 R /XYZ 419.951 231.72 null] ->> endobj -1963 0 obj << -/D [2969 0 R /XYZ 71.731 211.63 null] ->> endobj -970 0 obj << -/D [2969 0 R /XYZ 275.058 188.383 null] ->> endobj -2996 0 obj << -/D [2969 0 R /XYZ 71.731 182.186 null] ->> endobj -1964 0 obj << -/D [2969 0 R /XYZ 71.731 163.312 null] ->> endobj -2968 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2999 0 obj << -/Length 1573 -/Filter /FlateDecode ->> -stream -xÚXMsÛ6½çWèf* -+#_À’Ëôj Š7ADPƨ
©Q ti&tP{û˜â&5EN=›·ºÌ®ïÆî8ýä{Ù ¤x³S
TZ_±”å,šÚõo÷v“™`*§Ôª—´v~âf7•v¦&XhÚ”Y¾¶ï8h,l+M¶i³Mì±Pm(¼O)‘,>E¿µé×´'n±@|
«£Dê|¶&Ûbïz›*Ëᯌopó¦´ÜÍ¥ð¡F<š&õ/.<ˆ{YçÕ$yê¶1Íh4-H2 P#–´¤7XæG "˜øIQR$<œÛúùjÜ´/Ƀk§N¶§NTiÎÏ)g(rÀ„V´ú©DѺ_™ ÷§Ä‰r¸yÓð‡6A‰”ñ„LUL §t S`‘ýŽ× ¥a«hÕĚÇ$lÄX%…š¨I½÷Ó -Ÿ·×.Øë@'Á« -EÅ_º+B²³×Dü.ñùánQ×(*£“#À“¸_ø²A"àcD• -çäÅ×¹/ƒÀûÙ>Þ_~2Ÿ<¤Îvš ðàs ;Œ½f»àµÝæ
ɇ¢ …²iÙ€¶œðŽÎµñ~ߟìCOá/Ÿr)žR6ZÍÆ®¬’Ñb¿Tw;ø -(³ôàØM„C©-i¹FéŠ0Û »én°è£›.løvæ¶«Ëd»„ž-ìØ!Óá48-3sø -–™Ó¢Ék\µ¼{sÏÐD$7W5Ö¬ÑÙ«çgC0;!…@!
Ò<½xUC.Ë÷eq•C¨â5dkUmLJ}?¦a¦áå:ɳ¬ïÐáC°˜¯J|{]@Á?‚Þ&-v;€1€@OC8ßf:¯§bpÄ¿ÍPá»»ú¶HÍæ«1…pZ,IÄÕû <ëIöZÔ[¨HOE„=¢×Žƒüÿz=η7tRyŸ{ÒCÜ»ˆÛ2q´I7I(u¬7(¿VU£K\öiQÁôÝèU«ð†¿p›é°Odø1¡Nâ\ÌE§yo_ˆ¿Ñó‹__]\-Ûéý_ºÜÏmÀ°ˆª“?Èu&£ßãlÂÞ™ &.ïùMm¼Òi/)¤endstream -endobj -2998 0 obj << -/Type /Page -/Contents 2999 0 R -/Resources 2997 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2967 0 R ->> endobj -3000 0 obj << -/D [2998 0 R /XYZ 71.731 778.968 null] ->> endobj -974 0 obj << -/D [2998 0 R /XYZ 248.159 758.046 null] ->> endobj -3001 0 obj << -/D [2998 0 R /XYZ 71.731 752.886 null] ->> endobj -3002 0 obj << -/D [2998 0 R /XYZ 207.913 740.114 null] ->> endobj -3003 0 obj << -/D [2998 0 R /XYZ 119.552 727.162 null] ->> endobj -978 0 obj << -/D [2998 0 R /XYZ 248.159 683.825 null] ->> endobj -3004 0 obj << -/D [2998 0 R /XYZ 71.731 677.628 null] ->> endobj -3005 0 obj << -/D [2998 0 R /XYZ 245.727 665.892 null] ->> endobj -3006 0 obj << -/D [2998 0 R /XYZ 343.699 665.892 null] ->> endobj -1966 0 obj << -/D [2998 0 R /XYZ 71.731 658.754 null] ->> endobj -982 0 obj << -/D [2998 0 R /XYZ 199.74 635.506 null] ->> endobj -3007 0 obj << -/D [2998 0 R /XYZ 71.731 629.31 null] ->> endobj -3008 0 obj << -/D [2998 0 R /XYZ 275.44 617.573 null] ->> endobj -3009 0 obj << -/D [2998 0 R /XYZ 353.745 617.573 null] ->> endobj -3010 0 obj << -/D [2998 0 R /XYZ 193.165 604.622 null] ->> endobj -3011 0 obj << -/D [2998 0 R /XYZ 242.231 604.622 null] ->> endobj -1967 0 obj << -/D [2998 0 R /XYZ 71.731 597.484 null] ->> endobj -986 0 obj << -/D [2998 0 R /XYZ 210.5 574.236 null] ->> endobj -3012 0 obj << -/D [2998 0 R /XYZ 71.731 568.039 null] ->> endobj -3013 0 obj << -/D [2998 0 R /XYZ 505.181 556.303 null] ->> endobj -1968 0 obj << -/D [2998 0 R /XYZ 71.731 536.213 null] ->> endobj -990 0 obj << -/D [2998 0 R /XYZ 199.74 512.965 null] ->> endobj -3014 0 obj << -/D [2998 0 R /XYZ 71.731 506.769 null] ->> endobj -3015 0 obj << -/D [2998 0 R /XYZ 279.677 495.033 null] ->> endobj -3016 0 obj << -/D [2998 0 R /XYZ 380.914 495.033 null] ->> endobj -3017 0 obj << -/D [2998 0 R /XYZ 251.266 482.081 null] ->> endobj -3018 0 obj << -/D [2998 0 R /XYZ 347.246 482.081 null] ->> endobj -1969 0 obj << -/D [2998 0 R /XYZ 71.731 469.962 null] ->> endobj -994 0 obj << -/D [2998 0 R /XYZ 276.187 442.629 null] ->> endobj -2146 0 obj << -/D [2998 0 R /XYZ 71.731 442.414 null] ->> endobj -3019 0 obj << -/D [2998 0 R /XYZ 71.731 405.738 null] ->> endobj -1970 0 obj << -/D [2998 0 R /XYZ 71.731 139.665 null] ->> endobj -2997 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -3022 0 obj << -/Length 1165 -/Filter /FlateDecode ->> -stream -xÚÅ]oÛ6ð=¿Bo‘ -F -é³vÇNJ; ÉÀ>ÃR„£XÛYåB€ú$õ?´Å~#ùmË…²Ü=%/VìØ›‚’˜d=ãB3ÆûW¼•å²\ä’¿-…ÔÀ[Ìp0%þ
ÿ«ãõ‚Ùü¨„z „)aL[Qð¥æº»+ëRÞÝ)îf+˦ΫWJžh Ì»J¾º¥4DâÃÒ—¿òV€%ïAo•´9W#N—<q½¢ã¢®ó
ÇhXŽ¡ž¯Kñy[@5éš?Êç8\'r€ŽÙ£äµŠ“ò{ߣܳãÐ'þÐ|á…Í7¥ LÇz÷_Ø!yÊå·é¸¸¦6)Cf=·ª÷ž0¢CQŒ¢4=ŠbÈPW"ƒ®'†ð—ë¦0DñžÚ$A mJ”A±j¥Ð
eÙÕÙ§¼:.Ïk·ºS†(ÍŒ¶7µä+è^Žº#ÂQsÿ'_HÓÚ°^ʺèû€U¤—‡€0_¹ ÍÍZCôrõéíÄUŒ0Oy-#Ý1¢·@ üa×b}ùÈkXý×ÐrÙµµA}]C°[75TÚwÂq^ÇÜÄZìîÕ°5˿Û®2q½7Bñdçfx¤ßñ‰qÜõÁa$ˆ¤é‹a„ÒKˆ‰#=W:_CGv•Ñaò$—$Î
ÿEB1'$”©šE³ZÛV\%/d§Î]Ë^Úzer -z°•§(Œm£vŒÚÓÇ@¦£Ž>Ñb®ª¸æF_n´ÝÌ>ªúÿ<»¾šiÈûךb§ixß
Ôf›·ð˜ÀE¿uM’(F¬Ù/j5°–f(άµ»w:훳èFÑÆ¥¥æz©D«!¶«ÃVÓÕbÕú)΢+e~o©d£W=6 -¦ó4µÍ'%c*cpÿSPu³©qJ»¯ßï¥0 -½·:ÓÓrÞä¤'?°6ìQ¦Âî$¡1" {š´r£Ìæ¶íæ\˜¡ZEßÁ¤‡ÇIÆv:x ûŸÌwŽ(E)Ižý28Bif¥(Åaò3\M,k‹±endstream -endobj -3021 0 obj << -/Type /Page -/Contents 3022 0 R -/Resources 3020 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2967 0 R ->> endobj -3023 0 obj << -/D [3021 0 R /XYZ 71.731 778.968 null] ->> endobj -998 0 obj << -/D [3021 0 R /XYZ 200.736 758.046 null] ->> endobj -1971 0 obj << -/D [3021 0 R /XYZ 71.731 583.488 null] ->> endobj -1002 0 obj << -/D [3021 0 R /XYZ 232.019 559.491 null] ->> endobj -3024 0 obj << -/D [3021 0 R /XYZ 71.731 554.33 null] ->> endobj -3025 0 obj << -/D [3021 0 R /XYZ 204.781 541.558 null] ->> endobj -1972 0 obj << -/D [3021 0 R /XYZ 71.731 534.42 null] ->> endobj -1006 0 obj << -/D [3021 0 R /XYZ 232.019 511.172 null] ->> endobj -3026 0 obj << -/D [3021 0 R /XYZ 71.731 504.976 null] ->> endobj -1973 0 obj << -/D [3021 0 R /XYZ 71.731 486.101 null] ->> endobj -1010 0 obj << -/D [3021 0 R /XYZ 226.64 462.853 null] ->> endobj -3027 0 obj << -/D [3021 0 R /XYZ 71.731 457.693 null] ->> endobj -3028 0 obj << -/D [3021 0 R /XYZ 204.781 444.921 null] ->> endobj -1974 0 obj << -/D [3021 0 R /XYZ 71.731 437.782 null] ->> endobj -1014 0 obj << -/D [3021 0 R /XYZ 226.64 414.535 null] ->> endobj -3029 0 obj << -/D [3021 0 R /XYZ 71.731 408.338 null] ->> endobj -1975 0 obj << -/D [3021 0 R /XYZ 71.731 389.464 null] ->> endobj -1018 0 obj << -/D [3021 0 R /XYZ 248.159 366.216 null] ->> endobj -3030 0 obj << -/D [3021 0 R /XYZ 71.731 360.019 null] ->> endobj -1976 0 obj << -/D [3021 0 R /XYZ 71.731 328.193 null] ->> endobj -1022 0 obj << -/D [3021 0 R /XYZ 248.159 304.946 null] ->> endobj -3031 0 obj << -/D [3021 0 R /XYZ 71.731 298.749 null] ->> endobj -3032 0 obj << -/D [3021 0 R /XYZ 149.987 287.013 null] ->> endobj -1977 0 obj << -/D [3021 0 R /XYZ 71.731 280.624 null] ->> endobj -1026 0 obj << -/D [3021 0 R /XYZ 248.159 256.627 null] ->> endobj -3033 0 obj << -/D [3021 0 R /XYZ 71.731 250.43 null] ->> endobj -3034 0 obj << -/D [3021 0 R /XYZ 149.987 238.694 null] ->> endobj -1978 0 obj << -/D [3021 0 R /XYZ 71.731 232.305 null] ->> endobj -1030 0 obj << -/D [3021 0 R /XYZ 248.159 208.308 null] ->> endobj -3035 0 obj << -/D [3021 0 R /XYZ 71.731 203.147 null] ->> endobj -3036 0 obj << -/D [3021 0 R /XYZ 207.913 190.375 null] ->> endobj -3037 0 obj << -/D [3021 0 R /XYZ 119.552 177.424 null] ->> endobj -1979 0 obj << -/D [3021 0 R /XYZ 71.731 159.391 null] ->> endobj -1034 0 obj << -/D [3021 0 R /XYZ 248.159 134.086 null] ->> endobj -3038 0 obj << -/D [3021 0 R /XYZ 71.731 127.89 null] ->> endobj -3039 0 obj << -/D [3021 0 R /XYZ 245.727 116.153 null] ->> endobj -3040 0 obj << -/D [3021 0 R /XYZ 343.699 116.153 null] ->> endobj -2050 0 obj << -/D [3021 0 R /XYZ 71.731 109.015 null] ->> endobj -3020 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F33 1203 0 R /F42 2168 0 R /F26 1184 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -3043 0 obj << -/Length 1309 -/Filter /FlateDecode ->> -stream -xÚµWÛnã6}ÏWøQb./¢$ÈCì.¶ín‹>4E È´F‘R‘Jâ¿ïŒHÙr¤\H±Èò¢™ááá™!Ífþ±YÂH" IR¢ât–ßÑÙ¾|>bÞbîM曳ÅчO"š)˜³Åj&Ò˜HÏ’”)£ÙbùWp¾Éî¬nÂ9—4àĵ‹vï¿…ðÿŸ¡â¹»)Ýì×zÙ–!tø÷â磋 -ÉüEœÞd„“ó=NÆàƒ82%4Š;œ Vûð)â3ôŒÑS¥£…Ñöw}_ßèå¹nl±*òÌj㜢ƥ÷úªí¦^z«xo5g#1M¡“ˆˆÂ„sIU°j«ÜuåF°´ŸÏ a40Èο®rí&ê•[Bˆ=zI"Eâ4#ìcPŒ2¢˜w¨¯ÿѹ5Ä-¼‡ææ]7w‡`³’84º?½CDs%$ŠØ4'JºMýZ;F• -ÂÒÔ£ZÕ^KYåZXJÙí]é5Ttmœa§5šŒiîÃÎ% Ü7Š`ýŠ@D€À÷"ÀQ£mÛø~æƒ -£ŽyUc\áý‰ŸÕu©¡¬ŽÈŠ(Ü -|(«.Z5iÏU/À/•Õk¸úGñDBbÙŸ(qѺ'àq€*mº|€YHE¬Qx›?ã÷b{ûÉ{¨ð‰Ñ}7n:sÃóÓc7öö °
D-ݤßÇÞ¸XƒÀ<”:H¾²î•îp¾^;ç§>Ŷuë«ô¦îž3>mÓâö°û°)òÍ“Ô1¿_‡AíîNȱp#G]éÞ4>ÇÄ ~‚ -8€gî%öqxIòyäßbÚZLàQ‰V˜€/çÝáÝEA†›/f.¡®ópSœ¸æiK*)ü±dÁSÆÞ“À£
œ+öرë³Î§Ÿf×P%CâÕž³A˜ó$
¾7!jmm·wÚLÜÁrç8…gYíÂ?ÆÏOÝv ‚dê`OK½rq®®Šª°WWèÙ¿œÂ9N¨ß!XfmiO.9v!ŸÖÏ~‘(ao¬Ÿ¿èí&[뉀2"*™¨šCbx8Gª;눾±;T»³>+ì…m -d¥Z?GýÁÍ_¸Ô:-í·ìvŠ%HBå+0¸1x½; OÐí¨øŒ$è -¯ü`^cãd|1¦ÕÍó\¤ á‘z•FRž¾;‡àöTèNc*†?ý/Õ^½ð¼xé·ìÞdôSVÂÆ„Lú(O¤Ïü¯ôhõÃendstream -endobj -3042 0 obj << -/Type /Page -/Contents 3043 0 R -/Resources 3041 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2967 0 R ->> endobj -3044 0 obj << -/D [3042 0 R /XYZ 71.731 778.968 null] ->> endobj -2063 0 obj << -/D [3042 0 R /XYZ 71.731 790.923 null] ->> endobj -1038 0 obj << -/D [3042 0 R /XYZ 296.577 758.046 null] ->> endobj -3045 0 obj << -/D [3042 0 R /XYZ 71.731 752.886 null] ->> endobj -3046 0 obj << -/D [3042 0 R /XYZ 265.089 740.114 null] ->> endobj -3047 0 obj << -/D [3042 0 R /XYZ 119.552 727.162 null] ->> endobj -2051 0 obj << -/D [3042 0 R /XYZ 71.731 720.024 null] ->> endobj -1042 0 obj << -/D [3042 0 R /XYZ 296.577 696.776 null] ->> endobj -3048 0 obj << -/D [3042 0 R /XYZ 71.731 690.58 null] ->> endobj -3049 0 obj << -/D [3042 0 R /XYZ 258.44 678.843 null] ->> endobj -2052 0 obj << -/D [3042 0 R /XYZ 71.731 671.705 null] ->> endobj -1046 0 obj << -/D [3042 0 R /XYZ 210.5 648.457 null] ->> endobj -3050 0 obj << -/D [3042 0 R /XYZ 71.731 642.261 null] ->> endobj -3051 0 obj << -/D [3042 0 R /XYZ 119.552 617.573 null] ->> endobj -3052 0 obj << -/D [3042 0 R /XYZ 244.433 617.573 null] ->> endobj -2053 0 obj << -/D [3042 0 R /XYZ 71.731 605.454 null] ->> endobj -1050 0 obj << -/D [3042 0 R /XYZ 282.643 578.121 null] ->> endobj -3053 0 obj << -/D [3042 0 R /XYZ 71.731 571.928 null] ->> endobj -3054 0 obj << -/D [3042 0 R /XYZ 138.781 546.241 null] ->> endobj -3055 0 obj << -/D [3042 0 R /XYZ 209.992 546.241 null] ->> endobj -2147 0 obj << -/D [3042 0 R /XYZ 71.731 531.132 null] ->> endobj -3056 0 obj << -/D [3042 0 R /XYZ 71.731 498.39 null] ->> endobj -2054 0 obj << -/D [3042 0 R /XYZ 71.731 465.444 null] ->> endobj -1054 0 obj << -/D [3042 0 R /XYZ 200.736 440.039 null] ->> endobj -2055 0 obj << -/D [3042 0 R /XYZ 71.731 400.375 null] ->> endobj -1058 0 obj << -/D [3042 0 R /XYZ 230.997 372.293 null] ->> endobj -2056 0 obj << -/D [3042 0 R /XYZ 71.731 370.835 null] ->> endobj -1062 0 obj << -/D [3042 0 R /XYZ 200.736 345.892 null] ->> endobj -2057 0 obj << -/D [3042 0 R /XYZ 71.731 317.884 null] ->> endobj -1066 0 obj << -/D [3042 0 R /XYZ 269.732 289.802 null] ->> endobj -2058 0 obj << -/D [3042 0 R /XYZ 71.731 288.344 null] ->> endobj -1070 0 obj << -/D [3042 0 R /XYZ 200.736 263.401 null] ->> endobj -2059 0 obj << -/D [3042 0 R /XYZ 71.731 235.393 null] ->> endobj -1074 0 obj << -/D [3042 0 R /XYZ 263.276 207.312 null] ->> endobj -2060 0 obj << -/D [3042 0 R /XYZ 71.731 207.096 null] ->> endobj -1078 0 obj << -/D [3042 0 R /XYZ 200.736 180.911 null] ->> endobj -2061 0 obj << -/D [3042 0 R /XYZ 71.731 153.261 null] ->> endobj -3041 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -3059 0 obj << -/Length 1070 -/Filter /FlateDecode ->> -stream -xÚÅW]oÛ6}ϯЛm bDRÔG<¤iÚdÝ£vë`¨msq,U¢šúßï’”e1rìè0±iêÞÃs/Ï¡$ìxð‡£ÂW¡8ˆœôáÄspåà n"Ü&Äíļžœ½§¾Ãu¦s‡Fbqà„AŒùÎ4ûkx¹L -ÉË‘K˜7$È|O—ÜÆ·#ø¼ÅdˆŠ{ñÓÌþ‘gõj„‡|ô÷ô·“«iË‚Œ(9ȳ éñ$ÄÁÅŒ)¢Ç@€X„<?ÐD'Xî콑 -H|ÄÂUĤþöOåG¾¹ÉøZй€ºtŠ
N òé6ér•TUÕ¶ÊÅ,DŽ—È÷p'Ö%a4—#â
s™ËMÁ›|JU“&æA"FŽubjÏ듹x¨ˆê«_=æÝ¦’ˉ,Åz?ñ›=% -“—wÀUÏ)ÐÏ“‹ÙøËÛßo.g¯þTˆ=T³á÷|sTK‹mg¥L†Šª¸ÜU¥F
î©™ù”¯¹b=Ô8VO®" 8—‚o‚_ç—Þ–j¿Ì-ÇLø÷š¯SÞÚÅ,XÝŠ3>7³™X9›©Ì¼"_'«s…ê5•CdR¯äùWBüçènWÐ>Ä/4â¸?@PÊ—*Yð1/Eží=¢”µØQRXÛ.>нpŸƒWñ -~RÌÁƽD -·¥Xˆõq%„‡”ì„ D €_#„tCÍŒUò^%îž8\s<½n®“Â8²OîïºvêúRqhböÞ -endobj -3058 0 obj << -/Type /Page -/Contents 3059 0 R -/Resources 3057 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 2967 0 R ->> endobj -3060 0 obj << -/D [3058 0 R /XYZ 71.731 778.968 null] ->> endobj -1082 0 obj << -/D [3058 0 R /XYZ 308.466 758.046 null] ->> endobj -2062 0 obj << -/D [3058 0 R /XYZ 71.731 756.588 null] ->> endobj -1086 0 obj << -/D [3058 0 R /XYZ 200.736 731.645 null] ->> endobj -1090 0 obj << -/D [3058 0 R /XYZ 321.378 675.556 null] ->> endobj -3061 0 obj << -/D [3058 0 R /XYZ 71.731 668.12 null] ->> endobj -2148 0 obj << -/D [3058 0 R /XYZ 71.731 668.12 null] ->> endobj -3062 0 obj << -/D [3058 0 R /XYZ 71.731 634.679 null] ->> endobj -2064 0 obj << -/D [3058 0 R /XYZ 71.731 566.764 null] ->> endobj -1094 0 obj << -/D [3058 0 R /XYZ 200.736 541.359 null] ->> endobj -2065 0 obj << -/D [3058 0 R /XYZ 71.731 501.695 null] ->> endobj -1098 0 obj << -/D [3058 0 R /XYZ 314.922 473.613 null] ->> endobj -2149 0 obj << -/D [3058 0 R /XYZ 71.731 472.155 null] ->> endobj -3063 0 obj << -/D [3058 0 R /XYZ 71.731 436.721 null] ->> endobj -2066 0 obj << -/D [3058 0 R /XYZ 71.731 403.775 null] ->> endobj -1102 0 obj << -/D [3058 0 R /XYZ 200.736 378.37 null] ->> endobj -2067 0 obj << -/D [3058 0 R /XYZ 71.731 338.706 null] ->> endobj -1106 0 obj << -/D [3058 0 R /XYZ 302.011 310.624 null] ->> endobj -2150 0 obj << -/D [3058 0 R /XYZ 71.731 310.409 null] ->> endobj -3064 0 obj << -/D [3058 0 R /XYZ 71.731 273.733 null] ->> endobj -2068 0 obj << -/D [3058 0 R /XYZ 71.731 112.567 null] ->> endobj -3057 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -3067 0 obj << -/Length 946 -/Filter /FlateDecode ->> -stream -xÚÍVÛnÛ8}ÏWèÍ6 ±$%ê²@¶MÚ¦í6Fã"ÛE H´CT&]‰ -š~ýEI–-·qc±`ë2sæÌ™áÄÁp'"(òá/ŠQÆN¶>ÃÎ -¾¼9#…ךx›—‹³¯ýÀIà…ï,–އˆ%¡Å18‹üï髇t£y9ó(ÃSŠìÿâÛ›ùõ~og ¢ÍWñݾýKåu1#S>ûgñîìrѳ`” Ÿþ’gk2âIé–'! ð#„–g‘V„â鼜Q<UZé§
¯HÓw^hܱãA$cfCŒ§¯x©ÅRd©æsUˆLÌ<H¢ýø3|ÿÕ\füz Oäí -}wg|ÕF%ÓâÜ€b×€eZúü¥AÙ$p c†®×EðD¤‰` -ÐX`‰QÔäEÄ¢ÒkôøôáBTºT÷µ‰;WBêê -„øGôtYÈÈÉu3ìæc«Ç³Z)Å•|L‘ýtûʼÄGfÏÉ@bDãàä2ì±ë{âM³ñJ^Â×<_ˆ5?Uo€èŸxZÁÖð¿[-¯^…KY¯û´‡'èög›˜D¿<èoMFç|yû0Ï[C'À?9«#ýœ+ endstream -endobj -3066 0 obj << -/Type /Page -/Contents 3067 0 R -/Resources 3065 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 3071 0 R ->> endobj -3068 0 obj << -/D [3066 0 R /XYZ 71.731 778.968 null] ->> endobj -3069 0 obj << -/D [3066 0 R /XYZ 71.731 790.923 null] ->> endobj -1110 0 obj << -/D [3066 0 R /XYZ 200.736 758.046 null] ->> endobj -2069 0 obj << -/D [3066 0 R /XYZ 71.731 718.382 null] ->> endobj -1114 0 obj << -/D [3066 0 R /XYZ 314.922 690.3 null] ->> endobj -2151 0 obj << -/D [3066 0 R /XYZ 71.731 690.085 null] ->> endobj -3070 0 obj << -/D [3066 0 R /XYZ 71.731 653.409 null] ->> endobj -2070 0 obj << -/D [3066 0 R /XYZ 71.731 515.556 null] ->> endobj -1118 0 obj << -/D [3066 0 R /XYZ 200.736 490.151 null] ->> endobj -2071 0 obj << -/D [3066 0 R /XYZ 71.731 450.487 null] ->> endobj -1122 0 obj << -/D [3066 0 R /XYZ 237.453 422.405 null] ->> endobj -2072 0 obj << -/D [3066 0 R /XYZ 71.731 422.19 null] ->> endobj -1126 0 obj << -/D [3066 0 R /XYZ 200.736 396.004 null] ->> endobj -2073 0 obj << -/D [3066 0 R /XYZ 71.731 367.996 null] ->> endobj -1130 0 obj << -/D [3066 0 R /XYZ 289.099 339.914 null] ->> endobj -2074 0 obj << -/D [3066 0 R /XYZ 71.731 339.699 null] ->> endobj -1134 0 obj << -/D [3066 0 R /XYZ 200.736 313.513 null] ->> endobj -2075 0 obj << -/D [3066 0 R /XYZ 71.731 285.505 null] ->> endobj -1138 0 obj << -/D [3066 0 R /XYZ 269.732 257.424 null] ->> endobj -2076 0 obj << -/D [3066 0 R /XYZ 71.731 255.966 null] ->> endobj -1142 0 obj << -/D [3066 0 R /XYZ 200.736 231.023 null] ->> endobj -2077 0 obj << -/D [3066 0 R /XYZ 71.731 203.015 null] ->> endobj -1146 0 obj << -/D [3066 0 R /XYZ 237.453 174.933 null] ->> endobj -2078 0 obj << -/D [3066 0 R /XYZ 71.731 174.718 null] ->> endobj -1150 0 obj << -/D [3066 0 R /XYZ 200.736 148.532 null] ->> endobj -2079 0 obj << -/D [3066 0 R /XYZ 71.731 120.883 null] ->> endobj -3065 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F33 1203 0 R /F42 2168 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -3074 0 obj << -/Length 1683 -/Filter /FlateDecode ->> -stream -xÚ•koÛ6ð{~…¿EbV$%Y*0`[ÚÙÖ.h³íÃ6²DÇ\eÑ“¨¤þ÷»ãQ/Ûí6Éã½y/™/Bøã‹5gk Ë:eY’.ŠýU¸x„›ï®¸ÇXy”ÕçÛ‡«od´È -ÇÑâ¡ü-¸Ý嫚åJÄa ;E›ûŸ–ðÿ×e&vø¨?ô)»jɵüãáû«×ƒ±àLŠ/êéQÎôbÁ9Ëâå<Qœ²0Jœ¢¨ˆ{ñ&ÌD‹×pFŒ×Ÿ¬ª[mj›qL8‹Dâo«¼m=R2ºgî Ãx±â šÈ¼T݂ё -Gä¶âANÇ®U[ð‡ÛWÚÚJÑÞlþR…et¸³DÓ³k•¥ÍæHëØëú‘v×(EOKyÕ©ö%Ýåµg¯Ë›9D×V-y<ªæ÷0sb°1¦R=J£òª:Â-GûÁ+.ÀGÜ›×%`¥ÂË šÑ™Â"•Ž%¾¿ã -g]—ºÈQxÐzÈ–H,ùvN³á…¨¿*m¾š‹™ÈŸ¢Kô·×ÓZÉ™Nœº$mjªp¦šº -‘¯›m‘ -ñs}CàëåŠëÏv—×µ©¿>æ;cXaöןc1(ÈrdY( |nd<ƳãuÃoF|§â
‚˜Î‡¦3>@Ý)N+¹fa"&g%Öipß,¤¤5öxPí¹SCïΔšgŽ•ú þî°dqˆ~TÆåöÈcžy¬}Ìm‰ÊûáÉu–‘dî±û‘°¼C{A"fQŸµë±¾„,J¥',Úg¬°õ†}ĽUPÊá&3&3"øše’K†œ7u±$DîLWaï’Š#¬Øë$TVô ~×àj%Ü÷¶c+¾éïüïÅ2ê{pª°Ï›KnÆByu9,gMYš^{"cÖÒ˜{•·nÚÙîœÞ1
2 ºúcmPÆsM®wáë§ -ì=–n7ªg|8(ïf¹Ø}*8TÅ‹†Ö»íƒ<¤«®éEE×xðøÎ”î;Á±ï#ã¤qL»Þ/—Ó JYí…‡Ï4rÎÇu–ÃzÖXÕ*:8cauéïæc88[ -s[ -endobj -3073 0 obj << -/Type /Page -/Contents 3074 0 R -/Resources 3072 0 R -/MediaBox [0 0 593.051 838.744] -/Parent 3071 0 R ->> endobj -3075 0 obj << -/D [3073 0 R /XYZ 71.731 778.968 null] ->> endobj -1154 0 obj << -/D [3073 0 R /XYZ 237.453 758.046 null] ->> endobj -3076 0 obj << -/D [3073 0 R /XYZ 71.731 751.854 null] ->> endobj -3077 0 obj << -/D [3073 0 R /XYZ 71.731 694.186 null] ->> endobj -2152 0 obj << -/D [3073 0 R /XYZ 71.731 567.86 null] ->> endobj -3078 0 obj << -/D [3073 0 R /XYZ 71.731 533.06 null] ->> endobj -2080 0 obj << -/D [3073 0 R /XYZ 71.731 488.457 null] ->> endobj -1158 0 obj << -/D [3073 0 R /XYZ 200.736 463.053 null] ->> endobj -2081 0 obj << -/D [3073 0 R /XYZ 71.731 416.713 null] ->> endobj -1162 0 obj << -/D [3073 0 R /XYZ 194.361 392.716 null] ->> endobj -3079 0 obj << -/D [3073 0 R /XYZ 71.731 387.556 null] ->> endobj -3080 0 obj << -/D [3073 0 R /XYZ 71.731 387.556 null] ->> endobj -3081 0 obj << -/D [3073 0 R /XYZ 396.895 361.832 null] ->> endobj -3082 0 obj << -/D [3073 0 R /XYZ 494.421 361.832 null] ->> endobj -2082 0 obj << -/D [3073 0 R /XYZ 71.731 343.8 null] ->> endobj -1166 0 obj << -/D [3073 0 R /XYZ 194.361 318.495 null] ->> endobj -3083 0 obj << -/D [3073 0 R /XYZ 71.731 312.298 null] ->> endobj -3084 0 obj << -/D [3073 0 R /XYZ 119.552 274.659 null] ->> endobj -3085 0 obj << -/D [3073 0 R /XYZ 273.631 261.708 null] ->> endobj -3072 0 obj << -/Font << /F34 1292 0 R /F22 1177 0 R /F42 2168 0 R /F26 1184 0 R /F33 1203 0 R /F32 1191 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -2606 0 obj << -/Length1 773 -/Length2 1036 -/Length3 532 -/Length 1609 -/Filter /FlateDecode ->> -stream -xÚíR}8UÙž!Ñ%åúhaÜIr¾Øtt«{|äŠsŽ!“¶³×a眽Ùç9„fˆI¹·¦¤CÒ0’!ÃĤAC_ÊMiNMq»¦¦¡G—ÜÛDšÛ3Ϙ?gþšgÖúgý~ï»Þõ®w-g‡07NÅÀ
©r㲸ÞÀW(äfÉá Îξ4ÄTEúa*è
¸|¾'ب–ž;àxy£îÞ(Š8_*AC±q*°Â×ešä -HRŒBLŒ†“ƒ0JJ@•†r9Þ¡¡P é$ˆ³.à„Tb`,A"ìiK¤Œ^³m\ðJ‚´’1VÌØtŒIœ"å€CÂQÌiñò[Øš+¾A-—‹0Å´ütP¿€1!×üŸ@)Ô*H!…CšœKÝg½ !N¨sÑ@&'¤2V׃Åñ˜íÊ
D2ÄC•4È0¹Îô!‰ÏuÂÄ7ãƒý·°p±Èuöag°Œ U›4 p~"ÏÔÜŸj&"šH‘‡ÃeˆÌ|½Ú:ç,RJáx¨'ÀhÓ FЇ¢ •‡É -¼« ýÜ¿—Շؖ.'e¬”jõ‰Qáªe¬-yK·ú}—[Wø¨{K„8ÿÌžeëØ„Fޝ\ïôåTXæ‰w%Öžv‰TȾª¦,³ËáÛá«Ú. I&’=·Ð&Û-ëÔQ˜ót7ºSž9.êi__ßî|܈ïjœX"ûÏŸm_`¼óƘ²Î|mÃð§W.FµŒèQòëÑS)Ûv‰/彺}þ•k¾ËCÝM§]z-íá_ÄäSîïO͈±É)Žþö3ÁM‰½ºLëpµ³âyæ-¨Là÷;GâÕÕ7=hóeήè•hû, -JÙÛEÞòŽöçFݾããðÜçå¢u&7šÛÿrD¢øGt%þ-q´€gØbÜ#˜3p7´ÊÞå>¾ä'ÙRÑ)ì;/é -Þ6ÆZo^¡§NMáüÊü!ð»Ê!F«(FÇ#?`X¤endstream -endobj -2607 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 3086 0 R -/FirstChar 62 -/LastChar 62 -/Widths 3087 0 R -/BaseFont /HPSUON+CMMI9 -/FontDescriptor 2605 0 R ->> endobj -2605 0 obj << -/Ascent 694 -/CapHeight 683 -/Descent -194 -/FontName /HPSUON+CMMI9 -/ItalicAngle -14 -/StemV 74 -/XHeight 431 -/FontBBox [-29 -250 1075 750] -/Flags 4 -/CharSet (/greater) -/FontFile 2606 0 R ->> endobj -3087 0 obj -[799 ] -endobj -3086 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 62/greater 63/.notdef] ->> endobj -3088 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] ->> endobj -2168 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 3088 0 R -/BaseFont /Courier-Bold ->> endobj -1292 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 3088 0 R -/BaseFont /Times-Italic ->> endobj -1203 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 3088 0 R -/BaseFont /Courier ->> endobj -1191 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 3088 0 R -/BaseFont /Times-Bold ->> endobj -1184 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 3088 0 R -/BaseFont /Times-Roman ->> endobj -1177 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 3088 0 R -/BaseFont /Helvetica-Bold ->> endobj -1178 0 obj << -/Type /Pages -/Count 6 -/Parent 3089 0 R -/Kids [1170 0 R 1180 0 R 1186 0 R 1343 0 R 1503 0 R 1660 0 R] ->> endobj -1927 0 obj << -/Type /Pages -/Count 6 -/Parent 3089 0 R -/Kids [1820 0 R 1981 0 R 2084 0 R 2154 0 R 2224 0 R 2278 0 R] ->> endobj -2332 0 obj << -/Type /Pages -/Count 6 -/Parent 3089 0 R -/Kids [2312 0 R 2334 0 R 2360 0 R 2390 0 R 2401 0 R 2419 0 R] ->> endobj -2465 0 obj << -/Type /Pages -/Count 6 -/Parent 3089 0 R -/Kids [2443 0 R 2467 0 R 2489 0 R 2506 0 R 2531 0 R 2545 0 R] ->> endobj -2591 0 obj << -/Type /Pages -/Count 6 -/Parent 3089 0 R -/Kids [2570 0 R 2593 0 R 2620 0 R 2648 0 R 2663 0 R 2678 0 R] ->> endobj -2726 0 obj << -/Type /Pages -/Count 6 -/Parent 3089 0 R -/Kids [2712 0 R 2728 0 R 2770 0 R 2797 0 R 2817 0 R 2829 0 R] ->> endobj -2850 0 obj << -/Type /Pages -/Count 6 -/Parent 3090 0 R -/Kids [2838 0 R 2852 0 R 2862 0 R 2895 0 R 2909 0 R 2937 0 R] ->> endobj -2967 0 obj << -/Type /Pages -/Count 6 -/Parent 3090 0 R -/Kids [2951 0 R 2969 0 R 2998 0 R 3021 0 R 3042 0 R 3058 0 R] ->> endobj -3071 0 obj << -/Type /Pages -/Count 2 -/Parent 3090 0 R -/Kids [3066 0 R 3073 0 R] ->> endobj -3089 0 obj << -/Type /Pages -/Count 36 -/Parent 3091 0 R -/Kids [1178 0 R 1927 0 R 2332 0 R 2465 0 R 2591 0 R 2726 0 R] ->> endobj -3090 0 obj << -/Type /Pages -/Count 14 -/Parent 3091 0 R -/Kids [2850 0 R 2967 0 R 3071 0 R] ->> endobj -3091 0 obj << -/Type /Pages -/Count 50 -/Kids [3089 0 R 3090 0 R] ->> endobj -3092 0 obj << -/Type /Outlines -/First 3 0 R -/Last 523 0 R -/Count 5 ->> endobj -1167 0 obj << -/Title 1168 0 R -/A 1165 0 R -/Parent 1155 0 R -/Prev 1163 0 R ->> endobj -1163 0 obj << -/Title 1164 0 R -/A 1161 0 R -/Parent 1155 0 R -/Prev 1159 0 R -/Next 1167 0 R ->> endobj -1159 0 obj << -/Title 1160 0 R -/A 1157 0 R -/Parent 1155 0 R -/Next 1163 0 R ->> endobj -1155 0 obj << -/Title 1156 0 R -/A 1153 0 R -/Parent 559 0 R -/Prev 1147 0 R -/First 1159 0 R -/Last 1167 0 R -/Count -3 ->> endobj -1151 0 obj << -/Title 1152 0 R -/A 1149 0 R -/Parent 1147 0 R ->> endobj -1147 0 obj << -/Title 1148 0 R -/A 1145 0 R -/Parent 559 0 R -/Prev 1139 0 R -/Next 1155 0 R -/First 1151 0 R -/Last 1151 0 R -/Count -1 ->> endobj -1143 0 obj << -/Title 1144 0 R -/A 1141 0 R -/Parent 1139 0 R ->> endobj -1139 0 obj << -/Title 1140 0 R -/A 1137 0 R -/Parent 559 0 R -/Prev 1131 0 R -/Next 1147 0 R -/First 1143 0 R -/Last 1143 0 R -/Count -1 ->> endobj -1135 0 obj << -/Title 1136 0 R -/A 1133 0 R -/Parent 1131 0 R ->> endobj -1131 0 obj << -/Title 1132 0 R -/A 1129 0 R -/Parent 559 0 R -/Prev 1123 0 R -/Next 1139 0 R -/First 1135 0 R -/Last 1135 0 R -/Count -1 ->> endobj -1127 0 obj << -/Title 1128 0 R -/A 1125 0 R -/Parent 1123 0 R ->> endobj -1123 0 obj << -/Title 1124 0 R -/A 1121 0 R -/Parent 559 0 R -/Prev 1115 0 R -/Next 1131 0 R -/First 1127 0 R -/Last 1127 0 R -/Count -1 ->> endobj -1119 0 obj << -/Title 1120 0 R -/A 1117 0 R -/Parent 1115 0 R ->> endobj -1115 0 obj << -/Title 1116 0 R -/A 1113 0 R -/Parent 559 0 R -/Prev 1107 0 R -/Next 1123 0 R -/First 1119 0 R -/Last 1119 0 R -/Count -1 ->> endobj -1111 0 obj << -/Title 1112 0 R -/A 1109 0 R -/Parent 1107 0 R ->> endobj -1107 0 obj << -/Title 1108 0 R -/A 1105 0 R -/Parent 559 0 R -/Prev 1099 0 R -/Next 1115 0 R -/First 1111 0 R -/Last 1111 0 R -/Count -1 ->> endobj -1103 0 obj << -/Title 1104 0 R -/A 1101 0 R -/Parent 1099 0 R ->> endobj -1099 0 obj << -/Title 1100 0 R -/A 1097 0 R -/Parent 559 0 R -/Prev 1091 0 R -/Next 1107 0 R -/First 1103 0 R -/Last 1103 0 R -/Count -1 ->> endobj -1095 0 obj << -/Title 1096 0 R -/A 1093 0 R -/Parent 1091 0 R ->> endobj -1091 0 obj << -/Title 1092 0 R -/A 1089 0 R -/Parent 559 0 R -/Prev 1083 0 R -/Next 1099 0 R -/First 1095 0 R -/Last 1095 0 R -/Count -1 ->> endobj -1087 0 obj << -/Title 1088 0 R -/A 1085 0 R -/Parent 1083 0 R ->> endobj -1083 0 obj << -/Title 1084 0 R -/A 1081 0 R -/Parent 559 0 R -/Prev 1075 0 R -/Next 1091 0 R -/First 1087 0 R -/Last 1087 0 R -/Count -1 ->> endobj -1079 0 obj << -/Title 1080 0 R -/A 1077 0 R -/Parent 1075 0 R ->> endobj -1075 0 obj << -/Title 1076 0 R -/A 1073 0 R -/Parent 559 0 R -/Prev 1067 0 R -/Next 1083 0 R -/First 1079 0 R -/Last 1079 0 R -/Count -1 ->> endobj -1071 0 obj << -/Title 1072 0 R -/A 1069 0 R -/Parent 1067 0 R ->> endobj -1067 0 obj << -/Title 1068 0 R -/A 1065 0 R -/Parent 559 0 R -/Prev 1059 0 R -/Next 1075 0 R -/First 1071 0 R -/Last 1071 0 R -/Count -1 ->> endobj -1063 0 obj << -/Title 1064 0 R -/A 1061 0 R -/Parent 1059 0 R ->> endobj -1059 0 obj << -/Title 1060 0 R -/A 1057 0 R -/Parent 559 0 R -/Prev 1051 0 R -/Next 1067 0 R -/First 1063 0 R -/Last 1063 0 R -/Count -1 ->> endobj -1055 0 obj << -/Title 1056 0 R -/A 1053 0 R -/Parent 1051 0 R ->> endobj -1051 0 obj << -/Title 1052 0 R -/A 1049 0 R -/Parent 559 0 R -/Prev 995 0 R -/Next 1059 0 R -/First 1055 0 R -/Last 1055 0 R -/Count -1 ->> endobj -1047 0 obj << -/Title 1048 0 R -/A 1045 0 R -/Parent 995 0 R -/Prev 1043 0 R ->> endobj -1043 0 obj << -/Title 1044 0 R -/A 1041 0 R -/Parent 995 0 R -/Prev 1039 0 R -/Next 1047 0 R ->> endobj -1039 0 obj << -/Title 1040 0 R -/A 1037 0 R -/Parent 995 0 R -/Prev 1035 0 R -/Next 1043 0 R ->> endobj -1035 0 obj << -/Title 1036 0 R -/A 1033 0 R -/Parent 995 0 R -/Prev 1031 0 R -/Next 1039 0 R ->> endobj -1031 0 obj << -/Title 1032 0 R -/A 1029 0 R -/Parent 995 0 R -/Prev 1027 0 R -/Next 1035 0 R ->> endobj -1027 0 obj << -/Title 1028 0 R -/A 1025 0 R -/Parent 995 0 R -/Prev 1023 0 R -/Next 1031 0 R ->> endobj -1023 0 obj << -/Title 1024 0 R -/A 1021 0 R -/Parent 995 0 R -/Prev 1019 0 R -/Next 1027 0 R ->> endobj -1019 0 obj << -/Title 1020 0 R -/A 1017 0 R -/Parent 995 0 R -/Prev 1015 0 R -/Next 1023 0 R ->> endobj -1015 0 obj << -/Title 1016 0 R -/A 1013 0 R -/Parent 995 0 R -/Prev 1011 0 R -/Next 1019 0 R ->> endobj -1011 0 obj << -/Title 1012 0 R -/A 1009 0 R -/Parent 995 0 R -/Prev 1007 0 R -/Next 1015 0 R ->> endobj -1007 0 obj << -/Title 1008 0 R -/A 1005 0 R -/Parent 995 0 R -/Prev 1003 0 R -/Next 1011 0 R ->> endobj -1003 0 obj << -/Title 1004 0 R -/A 1001 0 R -/Parent 995 0 R -/Prev 999 0 R -/Next 1007 0 R ->> endobj -999 0 obj << -/Title 1000 0 R -/A 997 0 R -/Parent 995 0 R -/Next 1003 0 R ->> endobj -995 0 obj << -/Title 996 0 R -/A 993 0 R -/Parent 559 0 R -/Prev 903 0 R -/Next 1051 0 R -/First 999 0 R -/Last 1047 0 R -/Count -13 ->> endobj -991 0 obj << -/Title 992 0 R -/A 989 0 R -/Parent 903 0 R -/Prev 987 0 R ->> endobj -987 0 obj << -/Title 988 0 R -/A 985 0 R -/Parent 903 0 R -/Prev 983 0 R -/Next 991 0 R ->> endobj -983 0 obj << -/Title 984 0 R -/A 981 0 R -/Parent 903 0 R -/Prev 979 0 R -/Next 987 0 R ->> endobj -979 0 obj << -/Title 980 0 R -/A 977 0 R -/Parent 903 0 R -/Prev 975 0 R -/Next 983 0 R ->> endobj -975 0 obj << -/Title 976 0 R -/A 973 0 R -/Parent 903 0 R -/Prev 971 0 R -/Next 979 0 R ->> endobj -971 0 obj << -/Title 972 0 R -/A 969 0 R -/Parent 903 0 R -/Prev 967 0 R -/Next 975 0 R ->> endobj -967 0 obj << -/Title 968 0 R -/A 965 0 R -/Parent 903 0 R -/Prev 963 0 R -/Next 971 0 R ->> endobj -963 0 obj << -/Title 964 0 R -/A 961 0 R -/Parent 903 0 R -/Prev 959 0 R -/Next 967 0 R ->> endobj -959 0 obj << -/Title 960 0 R -/A 957 0 R -/Parent 903 0 R -/Prev 955 0 R -/Next 963 0 R ->> endobj -955 0 obj << -/Title 956 0 R -/A 953 0 R -/Parent 903 0 R -/Prev 951 0 R -/Next 959 0 R ->> endobj -951 0 obj << -/Title 952 0 R -/A 949 0 R -/Parent 903 0 R -/Prev 947 0 R -/Next 955 0 R ->> endobj -947 0 obj << -/Title 948 0 R -/A 945 0 R -/Parent 903 0 R -/Prev 943 0 R -/Next 951 0 R ->> endobj -943 0 obj << -/Title 944 0 R -/A 941 0 R -/Parent 903 0 R -/Prev 939 0 R -/Next 947 0 R ->> endobj -939 0 obj << -/Title 940 0 R -/A 937 0 R -/Parent 903 0 R -/Prev 935 0 R -/Next 943 0 R ->> endobj -935 0 obj << -/Title 936 0 R -/A 933 0 R -/Parent 903 0 R -/Prev 931 0 R -/Next 939 0 R ->> endobj -931 0 obj << -/Title 932 0 R -/A 929 0 R -/Parent 903 0 R -/Prev 927 0 R -/Next 935 0 R ->> endobj -927 0 obj << -/Title 928 0 R -/A 925 0 R -/Parent 903 0 R -/Prev 923 0 R -/Next 931 0 R ->> endobj -923 0 obj << -/Title 924 0 R -/A 921 0 R -/Parent 903 0 R -/Prev 919 0 R -/Next 927 0 R ->> endobj -919 0 obj << -/Title 920 0 R -/A 917 0 R -/Parent 903 0 R -/Prev 915 0 R -/Next 923 0 R ->> endobj -915 0 obj << -/Title 916 0 R -/A 913 0 R -/Parent 903 0 R -/Prev 911 0 R -/Next 919 0 R ->> endobj -911 0 obj << -/Title 912 0 R -/A 909 0 R -/Parent 903 0 R -/Prev 907 0 R -/Next 915 0 R ->> endobj -907 0 obj << -/Title 908 0 R -/A 905 0 R -/Parent 903 0 R -/Next 911 0 R ->> endobj -903 0 obj << -/Title 904 0 R -/A 901 0 R -/Parent 559 0 R -/Prev 863 0 R -/Next 995 0 R -/First 907 0 R -/Last 991 0 R -/Count -22 ->> endobj -899 0 obj << -/Title 900 0 R -/A 897 0 R -/Parent 863 0 R -/Prev 895 0 R ->> endobj -895 0 obj << -/Title 896 0 R -/A 893 0 R -/Parent 863 0 R -/Prev 891 0 R -/Next 899 0 R ->> endobj -891 0 obj << -/Title 892 0 R -/A 889 0 R -/Parent 863 0 R -/Prev 887 0 R -/Next 895 0 R ->> endobj -887 0 obj << -/Title 888 0 R -/A 885 0 R -/Parent 863 0 R -/Prev 883 0 R -/Next 891 0 R ->> endobj -883 0 obj << -/Title 884 0 R -/A 881 0 R -/Parent 863 0 R -/Prev 879 0 R -/Next 887 0 R ->> endobj -879 0 obj << -/Title 880 0 R -/A 877 0 R -/Parent 863 0 R -/Prev 875 0 R -/Next 883 0 R ->> endobj -875 0 obj << -/Title 876 0 R -/A 873 0 R -/Parent 863 0 R -/Prev 871 0 R -/Next 879 0 R ->> endobj -871 0 obj << -/Title 872 0 R -/A 869 0 R -/Parent 863 0 R -/Prev 867 0 R -/Next 875 0 R ->> endobj -867 0 obj << -/Title 868 0 R -/A 865 0 R -/Parent 863 0 R -/Next 871 0 R ->> endobj -863 0 obj << -/Title 864 0 R -/A 861 0 R -/Parent 559 0 R -/Prev 843 0 R -/Next 903 0 R -/First 867 0 R -/Last 899 0 R -/Count -9 ->> endobj -859 0 obj << -/Title 860 0 R -/A 857 0 R -/Parent 843 0 R -/Prev 855 0 R ->> endobj -855 0 obj << -/Title 856 0 R -/A 853 0 R -/Parent 843 0 R -/Prev 851 0 R -/Next 859 0 R ->> endobj -851 0 obj << -/Title 852 0 R -/A 849 0 R -/Parent 843 0 R -/Prev 847 0 R -/Next 855 0 R ->> endobj -847 0 obj << -/Title 848 0 R -/A 845 0 R -/Parent 843 0 R -/Next 851 0 R ->> endobj -843 0 obj << -/Title 844 0 R -/A 841 0 R -/Parent 559 0 R -/Prev 831 0 R -/Next 863 0 R -/First 847 0 R -/Last 859 0 R -/Count -4 ->> endobj -839 0 obj << -/Title 840 0 R -/A 837 0 R -/Parent 831 0 R -/Prev 835 0 R ->> endobj -835 0 obj << -/Title 836 0 R -/A 833 0 R -/Parent 831 0 R -/Next 839 0 R ->> endobj -831 0 obj << -/Title 832 0 R -/A 829 0 R -/Parent 559 0 R -/Prev 819 0 R -/Next 843 0 R -/First 835 0 R -/Last 839 0 R -/Count -2 ->> endobj -827 0 obj << -/Title 828 0 R -/A 825 0 R -/Parent 819 0 R -/Prev 823 0 R ->> endobj -823 0 obj << -/Title 824 0 R -/A 821 0 R -/Parent 819 0 R -/Next 827 0 R ->> endobj -819 0 obj << -/Title 820 0 R -/A 817 0 R -/Parent 559 0 R -/Prev 807 0 R -/Next 831 0 R -/First 823 0 R -/Last 827 0 R -/Count -2 ->> endobj -815 0 obj << -/Title 816 0 R -/A 813 0 R -/Parent 807 0 R -/Prev 811 0 R ->> endobj -811 0 obj << -/Title 812 0 R -/A 809 0 R -/Parent 807 0 R -/Next 815 0 R ->> endobj -807 0 obj << -/Title 808 0 R -/A 805 0 R -/Parent 559 0 R -/Prev 775 0 R -/Next 819 0 R -/First 811 0 R -/Last 815 0 R -/Count -2 ->> endobj -803 0 obj << -/Title 804 0 R -/A 801 0 R -/Parent 775 0 R -/Prev 799 0 R ->> endobj -799 0 obj << -/Title 800 0 R -/A 797 0 R -/Parent 775 0 R -/Prev 795 0 R -/Next 803 0 R ->> endobj -795 0 obj << -/Title 796 0 R -/A 793 0 R -/Parent 775 0 R -/Prev 791 0 R -/Next 799 0 R ->> endobj -791 0 obj << -/Title 792 0 R -/A 789 0 R -/Parent 775 0 R -/Prev 787 0 R -/Next 795 0 R ->> endobj -787 0 obj << -/Title 788 0 R -/A 785 0 R -/Parent 775 0 R -/Prev 783 0 R -/Next 791 0 R ->> endobj -783 0 obj << -/Title 784 0 R -/A 781 0 R -/Parent 775 0 R -/Prev 779 0 R -/Next 787 0 R ->> endobj -779 0 obj << -/Title 780 0 R -/A 777 0 R -/Parent 775 0 R -/Next 783 0 R ->> endobj -775 0 obj << -/Title 776 0 R -/A 773 0 R -/Parent 559 0 R -/Prev 767 0 R -/Next 807 0 R -/First 779 0 R -/Last 803 0 R -/Count -7 ->> endobj -771 0 obj << -/Title 772 0 R -/A 769 0 R -/Parent 767 0 R ->> endobj -767 0 obj << -/Title 768 0 R -/A 765 0 R -/Parent 559 0 R -/Prev 759 0 R -/Next 775 0 R -/First 771 0 R -/Last 771 0 R -/Count -1 ->> endobj -763 0 obj << -/Title 764 0 R -/A 761 0 R -/Parent 759 0 R ->> endobj -759 0 obj << -/Title 760 0 R -/A 757 0 R -/Parent 559 0 R -/Prev 751 0 R -/Next 767 0 R -/First 763 0 R -/Last 763 0 R -/Count -1 ->> endobj -755 0 obj << -/Title 756 0 R -/A 753 0 R -/Parent 751 0 R ->> endobj -751 0 obj << -/Title 752 0 R -/A 749 0 R -/Parent 559 0 R -/Prev 743 0 R -/Next 759 0 R -/First 755 0 R -/Last 755 0 R -/Count -1 ->> endobj -747 0 obj << -/Title 748 0 R -/A 745 0 R -/Parent 743 0 R ->> endobj -743 0 obj << -/Title 744 0 R -/A 741 0 R -/Parent 559 0 R -/Prev 735 0 R -/Next 751 0 R -/First 747 0 R -/Last 747 0 R -/Count -1 ->> endobj -739 0 obj << -/Title 740 0 R -/A 737 0 R -/Parent 735 0 R ->> endobj -735 0 obj << -/Title 736 0 R -/A 733 0 R -/Parent 559 0 R -/Prev 727 0 R -/Next 743 0 R -/First 739 0 R -/Last 739 0 R -/Count -1 ->> endobj -731 0 obj << -/Title 732 0 R -/A 729 0 R -/Parent 727 0 R ->> endobj -727 0 obj << -/Title 728 0 R -/A 725 0 R -/Parent 559 0 R -/Prev 719 0 R -/Next 735 0 R -/First 731 0 R -/Last 731 0 R -/Count -1 ->> endobj -723 0 obj << -/Title 724 0 R -/A 721 0 R -/Parent 719 0 R ->> endobj -719 0 obj << -/Title 720 0 R -/A 717 0 R -/Parent 559 0 R -/Prev 711 0 R -/Next 727 0 R -/First 723 0 R -/Last 723 0 R -/Count -1 ->> endobj -715 0 obj << -/Title 716 0 R -/A 713 0 R -/Parent 711 0 R ->> endobj -711 0 obj << -/Title 712 0 R -/A 709 0 R -/Parent 559 0 R -/Prev 703 0 R -/Next 719 0 R -/First 715 0 R -/Last 715 0 R -/Count -1 ->> endobj -707 0 obj << -/Title 708 0 R -/A 705 0 R -/Parent 703 0 R ->> endobj -703 0 obj << -/Title 704 0 R -/A 701 0 R -/Parent 559 0 R -/Prev 695 0 R -/Next 711 0 R -/First 707 0 R -/Last 707 0 R -/Count -1 ->> endobj -699 0 obj << -/Title 700 0 R -/A 697 0 R -/Parent 695 0 R ->> endobj -695 0 obj << -/Title 696 0 R -/A 693 0 R -/Parent 559 0 R -/Prev 687 0 R -/Next 703 0 R -/First 699 0 R -/Last 699 0 R -/Count -1 ->> endobj -691 0 obj << -/Title 692 0 R -/A 689 0 R -/Parent 687 0 R ->> endobj -687 0 obj << -/Title 688 0 R -/A 685 0 R -/Parent 559 0 R -/Prev 679 0 R -/Next 695 0 R -/First 691 0 R -/Last 691 0 R -/Count -1 ->> endobj -683 0 obj << -/Title 684 0 R -/A 681 0 R -/Parent 679 0 R ->> endobj -679 0 obj << -/Title 680 0 R -/A 677 0 R -/Parent 559 0 R -/Prev 671 0 R -/Next 687 0 R -/First 683 0 R -/Last 683 0 R -/Count -1 ->> endobj -675 0 obj << -/Title 676 0 R -/A 673 0 R -/Parent 671 0 R ->> endobj -671 0 obj << -/Title 672 0 R -/A 669 0 R -/Parent 559 0 R -/Prev 663 0 R -/Next 679 0 R -/First 675 0 R -/Last 675 0 R -/Count -1 ->> endobj -667 0 obj << -/Title 668 0 R -/A 665 0 R -/Parent 663 0 R ->> endobj -663 0 obj << -/Title 664 0 R -/A 661 0 R -/Parent 559 0 R -/Prev 655 0 R -/Next 671 0 R -/First 667 0 R -/Last 667 0 R -/Count -1 ->> endobj -659 0 obj << -/Title 660 0 R -/A 657 0 R -/Parent 655 0 R ->> endobj -655 0 obj << -/Title 656 0 R -/A 653 0 R -/Parent 559 0 R -/Prev 647 0 R -/Next 663 0 R -/First 659 0 R -/Last 659 0 R -/Count -1 ->> endobj -651 0 obj << -/Title 652 0 R -/A 649 0 R -/Parent 647 0 R ->> endobj -647 0 obj << -/Title 648 0 R -/A 645 0 R -/Parent 559 0 R -/Prev 639 0 R -/Next 655 0 R -/First 651 0 R -/Last 651 0 R -/Count -1 ->> endobj -643 0 obj << -/Title 644 0 R -/A 641 0 R -/Parent 639 0 R ->> endobj -639 0 obj << -/Title 640 0 R -/A 637 0 R -/Parent 559 0 R -/Prev 631 0 R -/Next 647 0 R -/First 643 0 R -/Last 643 0 R -/Count -1 ->> endobj -635 0 obj << -/Title 636 0 R -/A 633 0 R -/Parent 631 0 R ->> endobj -631 0 obj << -/Title 632 0 R -/A 629 0 R -/Parent 559 0 R -/Prev 623 0 R -/Next 639 0 R -/First 635 0 R -/Last 635 0 R -/Count -1 ->> endobj -627 0 obj << -/Title 628 0 R -/A 625 0 R -/Parent 623 0 R ->> endobj -623 0 obj << -/Title 624 0 R -/A 621 0 R -/Parent 559 0 R -/Prev 615 0 R -/Next 631 0 R -/First 627 0 R -/Last 627 0 R -/Count -1 ->> endobj -619 0 obj << -/Title 620 0 R -/A 617 0 R -/Parent 615 0 R ->> endobj -615 0 obj << -/Title 616 0 R -/A 613 0 R -/Parent 559 0 R -/Prev 607 0 R -/Next 623 0 R -/First 619 0 R -/Last 619 0 R -/Count -1 ->> endobj -611 0 obj << -/Title 612 0 R -/A 609 0 R -/Parent 607 0 R ->> endobj -607 0 obj << -/Title 608 0 R -/A 605 0 R -/Parent 559 0 R -/Prev 563 0 R -/Next 615 0 R -/First 611 0 R -/Last 611 0 R -/Count -1 ->> endobj -603 0 obj << -/Title 604 0 R -/A 601 0 R -/Parent 563 0 R -/Prev 599 0 R ->> endobj -599 0 obj << -/Title 600 0 R -/A 597 0 R -/Parent 563 0 R -/Prev 595 0 R -/Next 603 0 R ->> endobj -595 0 obj << -/Title 596 0 R -/A 593 0 R -/Parent 563 0 R -/Prev 591 0 R -/Next 599 0 R ->> endobj -591 0 obj << -/Title 592 0 R -/A 589 0 R -/Parent 563 0 R -/Prev 587 0 R -/Next 595 0 R ->> endobj -587 0 obj << -/Title 588 0 R -/A 585 0 R -/Parent 563 0 R -/Prev 583 0 R -/Next 591 0 R ->> endobj -583 0 obj << -/Title 584 0 R -/A 581 0 R -/Parent 563 0 R -/Prev 579 0 R -/Next 587 0 R ->> endobj -579 0 obj << -/Title 580 0 R -/A 577 0 R -/Parent 563 0 R -/Prev 575 0 R -/Next 583 0 R ->> endobj -575 0 obj << -/Title 576 0 R -/A 573 0 R -/Parent 563 0 R -/Prev 571 0 R -/Next 579 0 R ->> endobj -571 0 obj << -/Title 572 0 R -/A 569 0 R -/Parent 563 0 R -/Prev 567 0 R -/Next 575 0 R ->> endobj -567 0 obj << -/Title 568 0 R -/A 565 0 R -/Parent 563 0 R -/Next 571 0 R ->> endobj -563 0 obj << -/Title 564 0 R -/A 561 0 R -/Parent 559 0 R -/Next 607 0 R -/First 567 0 R -/Last 603 0 R -/Count -10 ->> endobj -559 0 obj << -/Title 560 0 R -/A 557 0 R -/Parent 523 0 R -/Prev 531 0 R -/First 563 0 R -/Last 1155 0 R -/Count -44 ->> endobj -555 0 obj << -/Title 556 0 R -/A 553 0 R -/Parent 539 0 R -/Prev 551 0 R ->> endobj -551 0 obj << -/Title 552 0 R -/A 549 0 R -/Parent 539 0 R -/Prev 547 0 R -/Next 555 0 R ->> endobj -547 0 obj << -/Title 548 0 R -/A 545 0 R -/Parent 539 0 R -/Prev 543 0 R -/Next 551 0 R ->> endobj -543 0 obj << -/Title 544 0 R -/A 541 0 R -/Parent 539 0 R -/Next 547 0 R ->> endobj -539 0 obj << -/Title 540 0 R -/A 537 0 R -/Parent 531 0 R -/Prev 535 0 R -/First 543 0 R -/Last 555 0 R -/Count -4 ->> endobj -535 0 obj << -/Title 536 0 R -/A 533 0 R -/Parent 531 0 R -/Next 539 0 R ->> endobj -531 0 obj << -/Title 532 0 R -/A 529 0 R -/Parent 523 0 R -/Prev 527 0 R -/Next 559 0 R -/First 535 0 R -/Last 539 0 R -/Count -2 ->> endobj -527 0 obj << -/Title 528 0 R -/A 525 0 R -/Parent 523 0 R -/Next 531 0 R ->> endobj -523 0 obj << -/Title 524 0 R -/A 521 0 R -/Parent 3092 0 R -/Prev 15 0 R -/First 527 0 R -/Last 559 0 R -/Count -3 ->> endobj -519 0 obj << -/Title 520 0 R -/A 517 0 R -/Parent 479 0 R -/Prev 515 0 R ->> endobj -515 0 obj << -/Title 516 0 R -/A 513 0 R -/Parent 479 0 R -/Prev 511 0 R -/Next 519 0 R ->> endobj -511 0 obj << -/Title 512 0 R -/A 509 0 R -/Parent 479 0 R -/Prev 507 0 R -/Next 515 0 R ->> endobj -507 0 obj << -/Title 508 0 R -/A 505 0 R -/Parent 479 0 R -/Prev 503 0 R -/Next 511 0 R ->> endobj -503 0 obj << -/Title 504 0 R -/A 501 0 R -/Parent 479 0 R -/Prev 499 0 R -/Next 507 0 R ->> endobj -499 0 obj << -/Title 500 0 R -/A 497 0 R -/Parent 479 0 R -/Prev 495 0 R -/Next 503 0 R ->> endobj -495 0 obj << -/Title 496 0 R -/A 493 0 R -/Parent 479 0 R -/Prev 491 0 R -/Next 499 0 R ->> endobj -491 0 obj << -/Title 492 0 R -/A 489 0 R -/Parent 479 0 R -/Prev 487 0 R -/Next 495 0 R ->> endobj -487 0 obj << -/Title 488 0 R -/A 485 0 R -/Parent 479 0 R -/Prev 483 0 R -/Next 491 0 R ->> endobj -483 0 obj << -/Title 484 0 R -/A 481 0 R -/Parent 479 0 R -/Next 487 0 R ->> endobj -479 0 obj << -/Title 480 0 R -/A 477 0 R -/Parent 71 0 R -/Prev 451 0 R -/First 483 0 R -/Last 519 0 R -/Count -10 ->> endobj -475 0 obj << -/Title 476 0 R -/A 473 0 R -/Parent 451 0 R -/Prev 471 0 R ->> endobj -471 0 obj << -/Title 472 0 R -/A 469 0 R -/Parent 451 0 R -/Prev 467 0 R -/Next 475 0 R ->> endobj -467 0 obj << -/Title 468 0 R -/A 465 0 R -/Parent 451 0 R -/Prev 463 0 R -/Next 471 0 R ->> endobj -463 0 obj << -/Title 464 0 R -/A 461 0 R -/Parent 451 0 R -/Prev 459 0 R -/Next 467 0 R ->> endobj -459 0 obj << -/Title 460 0 R -/A 457 0 R -/Parent 451 0 R -/Prev 455 0 R -/Next 463 0 R ->> endobj -455 0 obj << -/Title 456 0 R -/A 453 0 R -/Parent 451 0 R -/Next 459 0 R ->> endobj -451 0 obj << -/Title 452 0 R -/A 449 0 R -/Parent 71 0 R -/Prev 427 0 R -/Next 479 0 R -/First 455 0 R -/Last 475 0 R -/Count -6 ->> endobj -447 0 obj << -/Title 448 0 R -/A 445 0 R -/Parent 427 0 R -/Prev 443 0 R ->> endobj -443 0 obj << -/Title 444 0 R -/A 441 0 R -/Parent 427 0 R -/Prev 439 0 R -/Next 447 0 R ->> endobj -439 0 obj << -/Title 440 0 R -/A 437 0 R -/Parent 427 0 R -/Prev 435 0 R -/Next 443 0 R ->> endobj -435 0 obj << -/Title 436 0 R -/A 433 0 R -/Parent 427 0 R -/Prev 431 0 R -/Next 439 0 R ->> endobj -431 0 obj << -/Title 432 0 R -/A 429 0 R -/Parent 427 0 R -/Next 435 0 R ->> endobj -427 0 obj << -/Title 428 0 R -/A 425 0 R -/Parent 71 0 R -/Prev 403 0 R -/Next 451 0 R -/First 431 0 R -/Last 447 0 R -/Count -5 ->> endobj -423 0 obj << -/Title 424 0 R -/A 421 0 R -/Parent 403 0 R -/Prev 419 0 R ->> endobj -419 0 obj << -/Title 420 0 R -/A 417 0 R -/Parent 403 0 R -/Prev 415 0 R -/Next 423 0 R ->> endobj -415 0 obj << -/Title 416 0 R -/A 413 0 R -/Parent 403 0 R -/Prev 411 0 R -/Next 419 0 R ->> endobj -411 0 obj << -/Title 412 0 R -/A 409 0 R -/Parent 403 0 R -/Prev 407 0 R -/Next 415 0 R ->> endobj -407 0 obj << -/Title 408 0 R -/A 405 0 R -/Parent 403 0 R -/Next 411 0 R ->> endobj -403 0 obj << -/Title 404 0 R -/A 401 0 R -/Parent 71 0 R -/Prev 375 0 R -/Next 427 0 R -/First 407 0 R -/Last 423 0 R -/Count -5 ->> endobj -399 0 obj << -/Title 400 0 R -/A 397 0 R -/Parent 375 0 R -/Prev 395 0 R ->> endobj -395 0 obj << -/Title 396 0 R -/A 393 0 R -/Parent 375 0 R -/Prev 391 0 R -/Next 399 0 R ->> endobj -391 0 obj << -/Title 392 0 R -/A 389 0 R -/Parent 375 0 R -/Prev 387 0 R -/Next 395 0 R ->> endobj -387 0 obj << -/Title 388 0 R -/A 385 0 R -/Parent 375 0 R -/Prev 383 0 R -/Next 391 0 R ->> endobj -383 0 obj << -/Title 384 0 R -/A 381 0 R -/Parent 375 0 R -/Prev 379 0 R -/Next 387 0 R ->> endobj -379 0 obj << -/Title 380 0 R -/A 377 0 R -/Parent 375 0 R -/Next 383 0 R ->> endobj -375 0 obj << -/Title 376 0 R -/A 373 0 R -/Parent 71 0 R -/Prev 331 0 R -/Next 403 0 R -/First 379 0 R -/Last 399 0 R -/Count -6 ->> endobj -371 0 obj << -/Title 372 0 R -/A 369 0 R -/Parent 331 0 R -/Prev 367 0 R ->> endobj -367 0 obj << -/Title 368 0 R -/A 365 0 R -/Parent 331 0 R -/Prev 363 0 R -/Next 371 0 R ->> endobj -363 0 obj << -/Title 364 0 R -/A 361 0 R -/Parent 331 0 R -/Prev 359 0 R -/Next 367 0 R ->> endobj -359 0 obj << -/Title 360 0 R -/A 357 0 R -/Parent 331 0 R -/Prev 355 0 R -/Next 363 0 R ->> endobj -355 0 obj << -/Title 356 0 R -/A 353 0 R -/Parent 331 0 R -/Prev 351 0 R -/Next 359 0 R ->> endobj -351 0 obj << -/Title 352 0 R -/A 349 0 R -/Parent 331 0 R -/Prev 347 0 R -/Next 355 0 R ->> endobj -347 0 obj << -/Title 348 0 R -/A 345 0 R -/Parent 331 0 R -/Prev 343 0 R -/Next 351 0 R ->> endobj -343 0 obj << -/Title 344 0 R -/A 341 0 R -/Parent 331 0 R -/Prev 339 0 R -/Next 347 0 R ->> endobj -339 0 obj << -/Title 340 0 R -/A 337 0 R -/Parent 331 0 R -/Prev 335 0 R -/Next 343 0 R ->> endobj -335 0 obj << -/Title 336 0 R -/A 333 0 R -/Parent 331 0 R -/Next 339 0 R ->> endobj -331 0 obj << -/Title 332 0 R -/A 329 0 R -/Parent 71 0 R -/Prev 247 0 R -/Next 375 0 R -/First 335 0 R -/Last 371 0 R -/Count -10 ->> endobj -327 0 obj << -/Title 328 0 R -/A 325 0 R -/Parent 247 0 R -/Prev 323 0 R ->> endobj -323 0 obj << -/Title 324 0 R -/A 321 0 R -/Parent 247 0 R -/Prev 319 0 R -/Next 327 0 R ->> endobj -319 0 obj << -/Title 320 0 R -/A 317 0 R -/Parent 247 0 R -/Prev 315 0 R -/Next 323 0 R ->> endobj -315 0 obj << -/Title 316 0 R -/A 313 0 R -/Parent 247 0 R -/Prev 311 0 R -/Next 319 0 R ->> endobj -311 0 obj << -/Title 312 0 R -/A 309 0 R -/Parent 247 0 R -/Prev 307 0 R -/Next 315 0 R ->> endobj -307 0 obj << -/Title 308 0 R -/A 305 0 R -/Parent 247 0 R -/Prev 303 0 R -/Next 311 0 R ->> endobj -303 0 obj << -/Title 304 0 R -/A 301 0 R -/Parent 247 0 R -/Prev 299 0 R -/Next 307 0 R ->> endobj -299 0 obj << -/Title 300 0 R -/A 297 0 R -/Parent 247 0 R -/Prev 295 0 R -/Next 303 0 R ->> endobj -295 0 obj << -/Title 296 0 R -/A 293 0 R -/Parent 247 0 R -/Prev 291 0 R -/Next 299 0 R ->> endobj -291 0 obj << -/Title 292 0 R -/A 289 0 R -/Parent 247 0 R -/Prev 287 0 R -/Next 295 0 R ->> endobj -287 0 obj << -/Title 288 0 R -/A 285 0 R -/Parent 247 0 R -/Prev 283 0 R -/Next 291 0 R ->> endobj -283 0 obj << -/Title 284 0 R -/A 281 0 R -/Parent 247 0 R -/Prev 279 0 R -/Next 287 0 R ->> endobj -279 0 obj << -/Title 280 0 R -/A 277 0 R -/Parent 247 0 R -/Prev 275 0 R -/Next 283 0 R ->> endobj -275 0 obj << -/Title 276 0 R -/A 273 0 R -/Parent 247 0 R -/Prev 271 0 R -/Next 279 0 R ->> endobj -271 0 obj << -/Title 272 0 R -/A 269 0 R -/Parent 247 0 R -/Prev 267 0 R -/Next 275 0 R ->> endobj -267 0 obj << -/Title 268 0 R -/A 265 0 R -/Parent 247 0 R -/Prev 263 0 R -/Next 271 0 R ->> endobj -263 0 obj << -/Title 264 0 R -/A 261 0 R -/Parent 247 0 R -/Prev 259 0 R -/Next 267 0 R ->> endobj -259 0 obj << -/Title 260 0 R -/A 257 0 R -/Parent 247 0 R -/Prev 255 0 R -/Next 263 0 R ->> endobj -255 0 obj << -/Title 256 0 R -/A 253 0 R -/Parent 247 0 R -/Prev 251 0 R -/Next 259 0 R ->> endobj -251 0 obj << -/Title 252 0 R -/A 249 0 R -/Parent 247 0 R -/Next 255 0 R ->> endobj -247 0 obj << -/Title 248 0 R -/A 245 0 R -/Parent 71 0 R -/Prev 151 0 R -/Next 331 0 R -/First 251 0 R -/Last 327 0 R -/Count -20 ->> endobj -243 0 obj << -/Title 244 0 R -/A 241 0 R -/Parent 151 0 R -/Prev 239 0 R ->> endobj -239 0 obj << -/Title 240 0 R -/A 237 0 R -/Parent 151 0 R -/Prev 235 0 R -/Next 243 0 R ->> endobj -235 0 obj << -/Title 236 0 R -/A 233 0 R -/Parent 151 0 R -/Prev 231 0 R -/Next 239 0 R ->> endobj -231 0 obj << -/Title 232 0 R -/A 229 0 R -/Parent 151 0 R -/Prev 227 0 R -/Next 235 0 R ->> endobj -227 0 obj << -/Title 228 0 R -/A 225 0 R -/Parent 151 0 R -/Prev 223 0 R -/Next 231 0 R ->> endobj -223 0 obj << -/Title 224 0 R -/A 221 0 R -/Parent 151 0 R -/Prev 219 0 R -/Next 227 0 R ->> endobj -219 0 obj << -/Title 220 0 R -/A 217 0 R -/Parent 151 0 R -/Prev 215 0 R -/Next 223 0 R ->> endobj -215 0 obj << -/Title 216 0 R -/A 213 0 R -/Parent 151 0 R -/Prev 211 0 R -/Next 219 0 R ->> endobj -211 0 obj << -/Title 212 0 R -/A 209 0 R -/Parent 151 0 R -/Prev 207 0 R -/Next 215 0 R ->> endobj -207 0 obj << -/Title 208 0 R -/A 205 0 R -/Parent 151 0 R -/Prev 203 0 R -/Next 211 0 R ->> endobj -203 0 obj << -/Title 204 0 R -/A 201 0 R -/Parent 151 0 R -/Prev 199 0 R -/Next 207 0 R ->> endobj -199 0 obj << -/Title 200 0 R -/A 197 0 R -/Parent 151 0 R -/Prev 195 0 R -/Next 203 0 R ->> endobj -195 0 obj << -/Title 196 0 R -/A 193 0 R -/Parent 151 0 R -/Prev 191 0 R -/Next 199 0 R ->> endobj -191 0 obj << -/Title 192 0 R -/A 189 0 R -/Parent 151 0 R -/Prev 187 0 R -/Next 195 0 R ->> endobj -187 0 obj << -/Title 188 0 R -/A 185 0 R -/Parent 151 0 R -/Prev 183 0 R -/Next 191 0 R ->> endobj -183 0 obj << -/Title 184 0 R -/A 181 0 R -/Parent 151 0 R -/Prev 179 0 R -/Next 187 0 R ->> endobj -179 0 obj << -/Title 180 0 R -/A 177 0 R -/Parent 151 0 R -/Prev 175 0 R -/Next 183 0 R ->> endobj -175 0 obj << -/Title 176 0 R -/A 173 0 R -/Parent 151 0 R -/Prev 171 0 R -/Next 179 0 R ->> endobj -171 0 obj << -/Title 172 0 R -/A 169 0 R -/Parent 151 0 R -/Prev 167 0 R -/Next 175 0 R ->> endobj -167 0 obj << -/Title 168 0 R -/A 165 0 R -/Parent 151 0 R -/Prev 163 0 R -/Next 171 0 R ->> endobj -163 0 obj << -/Title 164 0 R -/A 161 0 R -/Parent 151 0 R -/Prev 159 0 R -/Next 167 0 R ->> endobj -159 0 obj << -/Title 160 0 R -/A 157 0 R -/Parent 151 0 R -/Prev 155 0 R -/Next 163 0 R ->> endobj -155 0 obj << -/Title 156 0 R -/A 153 0 R -/Parent 151 0 R -/Next 159 0 R ->> endobj -151 0 obj << -/Title 152 0 R -/A 149 0 R -/Parent 71 0 R -/Prev 75 0 R -/Next 247 0 R -/First 155 0 R -/Last 243 0 R -/Count -23 ->> endobj -147 0 obj << -/Title 148 0 R -/A 145 0 R -/Parent 75 0 R -/Prev 143 0 R ->> endobj -143 0 obj << -/Title 144 0 R -/A 141 0 R -/Parent 75 0 R -/Prev 139 0 R -/Next 147 0 R ->> endobj -139 0 obj << -/Title 140 0 R -/A 137 0 R -/Parent 75 0 R -/Prev 135 0 R -/Next 143 0 R ->> endobj -135 0 obj << -/Title 136 0 R -/A 133 0 R -/Parent 75 0 R -/Prev 131 0 R -/Next 139 0 R ->> endobj -131 0 obj << -/Title 132 0 R -/A 129 0 R -/Parent 75 0 R -/Prev 127 0 R -/Next 135 0 R ->> endobj -127 0 obj << -/Title 128 0 R -/A 125 0 R -/Parent 75 0 R -/Prev 123 0 R -/Next 131 0 R ->> endobj -123 0 obj << -/Title 124 0 R -/A 121 0 R -/Parent 75 0 R -/Prev 119 0 R -/Next 127 0 R ->> endobj -119 0 obj << -/Title 120 0 R -/A 117 0 R -/Parent 75 0 R -/Prev 115 0 R -/Next 123 0 R ->> endobj -115 0 obj << -/Title 116 0 R -/A 113 0 R -/Parent 75 0 R -/Prev 111 0 R -/Next 119 0 R ->> endobj -111 0 obj << -/Title 112 0 R -/A 109 0 R -/Parent 75 0 R -/Prev 107 0 R -/Next 115 0 R ->> endobj -107 0 obj << -/Title 108 0 R -/A 105 0 R -/Parent 75 0 R -/Prev 103 0 R -/Next 111 0 R ->> endobj -103 0 obj << -/Title 104 0 R -/A 101 0 R -/Parent 75 0 R -/Prev 99 0 R -/Next 107 0 R ->> endobj -99 0 obj << -/Title 100 0 R -/A 97 0 R -/Parent 75 0 R -/Prev 95 0 R -/Next 103 0 R ->> endobj -95 0 obj << -/Title 96 0 R -/A 93 0 R -/Parent 75 0 R -/Prev 91 0 R -/Next 99 0 R ->> endobj -91 0 obj << -/Title 92 0 R -/A 89 0 R -/Parent 75 0 R -/Prev 87 0 R -/Next 95 0 R ->> endobj -87 0 obj << -/Title 88 0 R -/A 85 0 R -/Parent 75 0 R -/Prev 83 0 R -/Next 91 0 R ->> endobj -83 0 obj << -/Title 84 0 R -/A 81 0 R -/Parent 75 0 R -/Prev 79 0 R -/Next 87 0 R ->> endobj -79 0 obj << -/Title 80 0 R -/A 77 0 R -/Parent 75 0 R -/Next 83 0 R ->> endobj -75 0 obj << -/Title 76 0 R -/A 73 0 R -/Parent 71 0 R -/Next 151 0 R -/First 79 0 R -/Last 147 0 R -/Count -18 ->> endobj -71 0 obj << -/Title 72 0 R -/A 69 0 R -/Parent 15 0 R -/Prev 23 0 R -/First 75 0 R -/Last 479 0 R -/Count -9 ->> endobj -67 0 obj << -/Title 68 0 R -/A 65 0 R -/Parent 31 0 R -/Prev 63 0 R ->> endobj -63 0 obj << -/Title 64 0 R -/A 61 0 R -/Parent 31 0 R -/Prev 59 0 R -/Next 67 0 R ->> endobj -59 0 obj << -/Title 60 0 R -/A 57 0 R -/Parent 31 0 R -/Prev 55 0 R -/Next 63 0 R ->> endobj -55 0 obj << -/Title 56 0 R -/A 53 0 R -/Parent 31 0 R -/Prev 51 0 R -/Next 59 0 R ->> endobj -51 0 obj << -/Title 52 0 R -/A 49 0 R -/Parent 31 0 R -/Prev 47 0 R -/Next 55 0 R ->> endobj -47 0 obj << -/Title 48 0 R -/A 45 0 R -/Parent 31 0 R -/Prev 43 0 R -/Next 51 0 R ->> endobj -43 0 obj << -/Title 44 0 R -/A 41 0 R -/Parent 31 0 R -/Prev 39 0 R -/Next 47 0 R ->> endobj -39 0 obj << -/Title 40 0 R -/A 37 0 R -/Parent 31 0 R -/Prev 35 0 R -/Next 43 0 R ->> endobj -35 0 obj << -/Title 36 0 R -/A 33 0 R -/Parent 31 0 R -/Next 39 0 R ->> endobj -31 0 obj << -/Title 32 0 R -/A 29 0 R -/Parent 23 0 R -/Prev 27 0 R -/First 35 0 R -/Last 67 0 R -/Count -9 ->> endobj -27 0 obj << -/Title 28 0 R -/A 25 0 R -/Parent 23 0 R -/Next 31 0 R ->> endobj -23 0 obj << -/Title 24 0 R -/A 21 0 R -/Parent 15 0 R -/Prev 19 0 R -/Next 71 0 R -/First 27 0 R -/Last 31 0 R -/Count -2 ->> endobj -19 0 obj << -/Title 20 0 R -/A 17 0 R -/Parent 15 0 R -/Next 23 0 R ->> endobj -15 0 obj << -/Title 16 0 R -/A 13 0 R -/Parent 3092 0 R -/Prev 11 0 R -/Next 523 0 R -/First 19 0 R -/Last 71 0 R -/Count -3 ->> endobj -11 0 obj << -/Title 12 0 R -/A 9 0 R -/Parent 3092 0 R -/Prev 7 0 R -/Next 15 0 R ->> endobj -7 0 obj << -/Title 8 0 R -/A 5 0 R -/Parent 3092 0 R -/Prev 3 0 R -/Next 11 0 R ->> endobj -3 0 obj << -/Title 4 0 R -/A 1 0 R -/Parent 3092 0 R -/Next 7 0 R ->> endobj -3093 0 obj << -/Names [(0) 1175 0 R (1.0) 2 0 R (10) 2156 0 R (1000) 2559 0 R (1001) 2560 0 R (1002) 2561 0 R (1003) 2562 0 R (1004) 2138 0 R (1007) 2563 0 R (1008) 1488 0 R (1011) 2564 0 R (1012) 1489 0 R (1015) 2565 0 R (1016) 1490 0 R (1019) 2566 0 R (1020) 2567 0 R (1021) 1491 0 R (1024) 2568 0 R (1025) 2139 0 R (1028) 2573 0 R (1029) 1492 0 R (105) 2228 0 R (1055) 1493 0 R (1058) 2574 0 R (1059) 2575 0 R (106) 2229 0 R (1060) 1494 0 R (1063) 2576 0 R (1064) 2577 0 R (1065) 2578 0 R (1066) 2579 0 R (1067) 2580 0 R (1068) 2581 0 R (1069) 1495 0 R (107) 2230 0 R (1072) 2582 0 R (1073) 2583 0 R (1074) 2584 0 R (1075) 2585 0 R (1076) 2586 0 R (1077) 2587 0 R (1078) 2588 0 R (1079) 2589 0 R (108) 2231 0 R (1080) 2590 0 R (1081) 1496 0 R (1084) 2596 0 R (1085) 2597 0 R (1086) 2598 0 R (1087) 1497 0 R (109) 2232 0 R (1090) 2599 0 R (1091) 2600 0 R (1092) 2601 0 R (1093) 1498 0 R (1096) 2602 0 R (1097) 2603 0 R (1098) 2140 0 R (11) 2157 0 R (110) 2233 0 R (1101) 2604 0 R (1102) 1499 0 R (111) 1299 0 R (1121) 1500 0 R (1124) 2608 0 R (1125) 2609 0 R (1126) 2610 0 R (1127) 2611 0 R (1138) 1501 0 R (114) 2234 0 R (1141) 2613 0 R (1142) 2614 0 R (1143) 2615 0 R (1144) 2616 0 R (1145) 1608 0 R (1148) 2617 0 R (1149) 2618 0 R (115) 2235 0 R (1150) 1609 0 R (1153) 2623 0 R (1154) 2624 0 R (1155) 1610 0 R (1158) 2625 0 R (1159) 1611 0 R (117) 2236 0 R (118) 2237 0 R (1180) 1612 0 R (1183) 2626 0 R (1184) 2627 0 R (1185) 2628 0 R (1186) 2629 0 R (1187) 2630 0 R (119) 2238 0 R (1198) 1613 0 R (12) 2158 0 R (120) 2239 0 R (1201) 2632 0 R (1202) 2633 0 R (1203) 2634 0 R (1204) 2635 0 R (1205) 1614 0 R (1208) 2636 0 R (1209) 2637 0 R (121) 2240 0 R (1210) 1615 0 R (1213) 2638 0 R (1214) 2639 0 R (1215) 1616 0 R (1218) 2640 0 R (1219) 2641 0 R (122) 2241 0 R (1220) 2642 0 R (1221) 2643 0 R (1222) 2644 0 R (1223) 2645 0 R (1224) 2141 0 R (1227) 2646 0 R (1228) 1617 0 R (123) 2242 0 R (124) 2243 0 R (125) 2244 0 R (1257) 1618 0 R (1260) 2651 0 R (1261) 2652 0 R (1262) 2653 0 R (1263) 2654 0 R (1264) 2655 0 R (13) 2159 0 R (1337) 2657 0 R (1338) 1619 0 R (134) 2246 0 R (1341) 2658 0 R (1342) 2659 0 R (1343) 2660 0 R (1344) 2661 0 R (1345) 1620 0 R (1348) 2666 0 R (1349) 2667 0 R (135) 2247 0 R (1350) 1621 0 R (1353) 2668 0 R (1354) 2669 0 R (1355) 1622 0 R (1358) 2670 0 R (1359) 2671 0 R (136) 2248 0 R (1360) 1623 0 R (1363) 2672 0 R (1364) 1624 0 R (137) 2249 0 R (138) 1300 0 R (14) 2160 0 R (141) 2250 0 R (1417) 1625 0 R (142) 2251 0 R (1420) 2673 0 R (1421) 2674 0 R (1422) 2675 0 R (1423) 2142 0 R (1426) 2676 0 R (1427) 1626 0 R (1430) 2681 0 R (1431) 2682 0 R (1432) 2683 0 R (1433) 2684 0 R (1434) 2685 0 R (1435) 2686 0 R (1436) 2687 0 R (1437) 2688 0 R (1438) 2689 0 R (1439) 2690 0 R (144) 2252 0 R (1440) 1627 0 R (1443) 2691 0 R (1444) 2692 0 R (1445) 2693 0 R (1446) 2694 0 R (1447) 1628 0 R (145) 2253 0 R (1450) 2695 0 R (1451) 2696 0 R (1452) 1629 0 R (1455) 2697 0 R (1456) 2698 0 R (1457) 2699 0 R (1458) 1630 0 R (146) 2254 0 R (1461) 2700 0 R (1462) 2701 0 R (1463) 1631 0 R (1466) 2702 0 R (1467) 2703 0 R (1468) 1632 0 R (147) 2255 0 R (1471) 2704 0 R (1472) 2705 0 R (1473) 2706 0 R (1474) 2707 0 R (1475) 2708 0 R (148) 2256 0 R (1486) 2710 0 R (1487) 1633 0 R (149) 2257 0 R (1490) 2715 0 R (1491) 2143 0 R (1494) 2716 0 R (1495) 2717 0 R (1496) 2718 0 R (1497) 2719 0 R (1498) 2720 0 R (1499) 2721 0 R (15) 2161 0 R (150) 2258 0 R (1500) 2722 0 R (1501) 2723 0 R (151) 2259 0 R (1512) 2725 0 R (1513) 1634 0 R (1515) 1635 0 R (1517) 2731 0 R (1518) 2732 0 R (1519) 2733 0 R (152) 1301 0 R (1520) 2734 0 R (1521) 2735 0 R (1522) 2736 0 R (1523) 2737 0 R (1524) 2738 0 R (1525) 2739 0 R (1526) 1636 0 R (1528) 1637 0 R (1530) 2740 0 R (1531) 2741 0 R (1533) 2742 0 R (1534) 2743 0 R (1535) 2744 0 R (1536) 2745 0 R (1538) 2746 0 R (1539) 2747 0 R (1540) 2748 0 R (1541) 2749 0 R (1543) 2750 0 R (1544) 2751 0 R (1545) 2752 0 R (1546) 2753 0 R (1548) 2754 0 R (1549) 2755 0 R (155) 2260 0 R (1550) 2756 0 R (1551) 1638 0 R (1553) 1639 0 R (1556) 2757 0 R (1557) 2758 0 R (1559) 2759 0 R (156) 2261 0 R (1560) 2760 0 R (1561) 2761 0 R (1562) 2762 0 R (1563) 1640 0 R (1566) 2763 0 R (1567) 2764 0 R (1569) 2765 0 R (1570) 2766 0 R (1571) 2767 0 R (1572) 2768 0 R (1573) 1641 0 R (1576) 2773 0 R (1577) 2774 0 R (1579) 2775 0 R (158) 2262 0 R (1580) 2776 0 R (1581) 2777 0 R (1582) 2778 0 R (1583) 1642 0 R (1586) 2779 0 R (1587) 2780 0 R (1589) 2781 0 R (159) 2263 0 R (1590) 2782 0 R (1591) 2783 0 R (1592) 2784 0 R (1593) 1643 0 R (1595) 1644 0 R (1598) 2785 0 R (1599) 2786 0 R (16) 2162 0 R (160) 2264 0 R (1600) 2787 0 R (1601) 1645 0 R (161) 2265 0 R (162) 2266 0 R (163) 2267 0 R (164) 2268 0 R (165) 2269 0 R (1654) 1646 0 R (1657) 2788 0 R (1658) 2789 0 R (1659) 2790 0 R (166) 2270 0 R (1660) 2791 0 R (1661) 2792 0 R (1662) 2793 0 R (1663) 2794 0 R (1664) 2795 0 R (1665) 1647 0 R (1668) 2800 0 R (1669) 1648 0 R (167) 2271 0 R (1672) 2801 0 R (1673) 2802 0 R (1674) 1649 0 R (1677) 2803 0 R (1678) 1650 0 R (168) 1302 0 R (1681) 2804 0 R (1682) 2805 0 R (1683) 1651 0 R (1686) 2806 0 R (1687) 2807 0 R (1688) 2808 0 R (1689) 2809 0 R (1690) 1652 0 R (1693) 2810 0 R (1694) 2811 0 R (1695) 2812 0 R (1696) 1653 0 R (1699) 2813 0 R (17) 2163 0 R (1700) 1654 0 R (1703) 2814 0 R (1704) 1655 0 R (1707) 2815 0 R (1708) 1656 0 R (171) 2272 0 R (172) 2273 0 R (1721) 1657 0 R (1724) 2820 0 R (1725) 1658 0 R (1738) 1767 0 R (174) 2274 0 R (1741) 2821 0 R (1742) 1768 0 R (175) 2275 0 R (1755) 1769 0 R (1758) 2822 0 R (1759) 2823 0 R (176) 2276 0 R (1760) 2824 0 R (1761) 2825 0 R (1762) 1770 0 R (177) 2280 0 R (1775) 1771 0 R (1778) 2826 0 R (1779) 1772 0 R (178) 2281 0 R (179) 1303 0 R (1792) 1773 0 R (1795) 2827 0 R (1796) 1774 0 R (18) 1295 0 R (1809) 1775 0 R (1812) 2832 0 R (1813) 1776 0 R (182) 2282 0 R (1826) 1777 0 R (1829) 2833 0 R (183) 2283 0 R (1830) 1778 0 R (1843) 1779 0 R (1846) 2834 0 R (1847) 1780 0 R (185) 2284 0 R (186) 2285 0 R (1860) 1781 0 R (1863) 2835 0 R (1864) 1782 0 R (187) 2286 0 R (1877) 1783 0 R (188) 2287 0 R (1880) 2836 0 R (1881) 1784 0 R (189) 2288 0 R (1894) 1785 0 R (1897) 2841 0 R (1898) 1786 0 R (190) 1304 0 R (1911) 1787 0 R (1914) 2842 0 R (1915) 1788 0 R (1928) 1789 0 R (193) 2289 0 R (1931) 2843 0 R (1932) 1790 0 R (194) 2290 0 R (1945) 1791 0 R (1948) 2844 0 R (1949) 2845 0 R (1950) 2846 0 R (1951) 1792 0 R (196) 2291 0 R (1964) 1793 0 R (1967) 2847 0 R (1968) 2848 0 R (1969) 2849 0 R (1970) 1794 0 R (198) 2292 0 R (1983) 1795 0 R (1986) 2855 0 R (1987) 1796 0 R (199) 1305 0 R (2.0) 6 0 R (20) 1296 0 R (2000) 1797 0 R (2003) 2856 0 R (2004) 1798 0 R (2017) 1799 0 R (202) 2293 0 R (2020) 2857 0 R (2021) 1800 0 R (203) 2294 0 R (2034) 1801 0 R (2037) 2858 0 R (2038) 1802 0 R (205) 2295 0 R (2051) 1803 0 R (2054) 2859 0 R (2055) 1804 0 R (2068) 1805 0 R (207) 2296 0 R (2071) 2860 0 R (2072) 1806 0 R (208) 1306 0 R (2108) 1807 0 R (211) 2297 0 R (2111) 2865 0 R (2112) 2866 0 R (2113) 2867 0 R (2114) 2868 0 R (2115) 1808 0 R (2118) 2869 0 R (2119) 2870 0 R (212) 2298 0 R (2120) 2871 0 R (2121) 2872 0 R (2122) 2873 0 R (2123) 2874 0 R (2124) 2875 0 R (2125) 2876 0 R (2126) 2877 0 R (2127) 1809 0 R (2130) 2878 0 R (2131) 2879 0 R (2132) 2880 0 R (2133) 2881 0 R (2134) 1810 0 R (2137) 2882 0 R (2138) 2883 0 R (2139) 2884 0 R (214) 2299 0 R (2140) 2885 0 R (2141) 2886 0 R (2142) 1811 0 R (2145) 2887 0 R (2146) 2888 0 R (2147) 2889 0 R (2148) 2890 0 R (2149) 2891 0 R (215) 2300 0 R (2150) 1812 0 R (2153) 2892 0 R (2154) 2893 0 R (2155) 1813 0 R (2158) 2898 0 R (2159) 1814 0 R (216) 2301 0 R (217) 2302 0 R (2174) 1815 0 R (2177) 2899 0 R (2178) 2900 0 R (2179) 1816 0 R (218) 2303 0 R (2182) 2901 0 R (2183) 1817 0 R (219) 2304 0 R (2198) 1818 0 R (22) 2164 0 R (220) 2305 0 R (2201) 2902 0 R (2202) 2903 0 R (2203) 1928 0 R (2206) 2904 0 R (2207) 1929 0 R (221) 2306 0 R (222) 2307 0 R (2222) 1930 0 R (2225) 2905 0 R (2226) 2906 0 R (2227) 1931 0 R (223) 2308 0 R (2230) 2907 0 R (2231) 1932 0 R (224) 2309 0 R (225) 1307 0 R (2259) 1933 0 R (2262) 2912 0 R (2263) 2913 0 R (2264) 2914 0 R (2265) 2915 0 R (2266) 2916 0 R (2267) 2917 0 R (2268) 2918 0 R (2269) 2919 0 R (227) 1308 0 R (2270) 1934 0 R (2273) 2920 0 R (2274) 2921 0 R (2275) 2922 0 R (2276) 1935 0 R (2279) 2923 0 R (2280) 1936 0 R (2283) 2924 0 R (2284) 1937 0 R (23) 2165 0 R (230) 2310 0 R (231) 1309 0 R (2321) 1938 0 R (2324) 2925 0 R (2325) 2926 0 R (2326) 2927 0 R (2327) 2928 0 R (2328) 2929 0 R (2329) 2930 0 R (2330) 2931 0 R (2331) 1939 0 R (2334) 2932 0 R (2335) 1940 0 R (2338) 2933 0 R (2339) 2934 0 R (2340) 1941 0 R (2343) 2935 0 R (2344) 1942 0 R (2347) 2940 0 R (2348) 1943 0 R (2351) 2941 0 R (2352) 1944 0 R (2355) 2942 0 R (2356) 2943 0 R (2357) 2944 0 R (2358) 2945 0 R (2359) 1945 0 R (2362) 2946 0 R (2363) 2947 0 R (2364) 2948 0 R (2365) 1946 0 R (2368) 2144 0 R (2371) 2949 0 R (2372) 1947 0 R (2461) 1948 0 R (2464) 2954 0 R (2465) 2955 0 R (2466) 1949 0 R (2469) 2956 0 R (2470) 1950 0 R (2473) 2957 0 R (2474) 2958 0 R (2475) 1951 0 R (2478) 2959 0 R (2479) 1952 0 R (2482) 2960 0 R (2483) 2961 0 R (2484) 2962 0 R (2485) 1953 0 R (2488) 2963 0 R (2489) 1954 0 R (2492) 2964 0 R (2493) 2965 0 R (2494) 2966 0 R (2495) 1955 0 R (2498) 2972 0 R (2499) 1956 0 R (25) 2166 0 R (2502) 2973 0 R (2503) 2974 0 R (2504) 2975 0 R (2505) 2976 0 R (2506) 2977 0 R (2507) 2978 0 R (2508) 2979 0 R (2509) 2980 0 R (2510) 2145 0 R (2513) 2981 0 R (2514) 1957 0 R (2517) 2982 0 R (2518) 2983 0 R (2519) 1958 0 R (2522) 2984 0 R (2523) 2985 0 R (2524) 2986 0 R (2525) 1959 0 R (2528) 2987 0 R (2529) 2988 0 R (2530) 1960 0 R (2533) 2989 0 R (2534) 2990 0 R (2535) 2991 0 R (2536) 1961 0 R (2539) 2992 0 R (2540) 1962 0 R (2543) 2993 0 R (2544) 2994 0 R (2545) 2995 0 R (2546) 1963 0 R (2549) 2996 0 R (2550) 1964 0 R (2553) 3001 0 R (2554) 3002 0 R (2555) 3003 0 R (2556) 1965 0 R (2559) 3004 0 R (2560) 3005 0 R (2561) 3006 0 R (2562) 1966 0 R (2565) 3007 0 R (2566) 3008 0 R (2567) 3009 0 R (2568) 3010 0 R (2569) 3011 0 R (2570) 1967 0 R (2573) 3012 0 R (2574) 3013 0 R (2575) 1968 0 R (2578) 3014 0 R (2579) 3015 0 R (2580) 3016 0 R (2581) 3017 0 R (2582) 3018 0 R (2583) 1969 0 R (2586) 2146 0 R (2589) 3019 0 R (2590) 1970 0 R (26) 2169 0 R (2642) 1971 0 R (2645) 3024 0 R (2646) 3025 0 R (2647) 1972 0 R (2650) 3026 0 R (2651) 1973 0 R (2654) 3027 0 R (2655) 3028 0 R (2656) 1974 0 R (2659) 3029 0 R (2660) 1975 0 R (2663) 3030 0 R (2664) 1976 0 R (2667) 3031 0 R (2668) 3032 0 R (2669) 1977 0 R (2672) 3033 0 R (2673) 3034 0 R (2674) 1978 0 R (2677) 3035 0 R (2678) 3036 0 R (2679) 3037 0 R (2680) 1979 0 R (2683) 3038 0 R (2684) 3039 0 R (2685) 3040 0 R (2686) 2050 0 R (2689) 3045 0 R (2690) 3046 0 R (2691) 3047 0 R (2692) 2051 0 R (2695) 3048 0 R (2696) 3049 0 R (2697) 2052 0 R (27) 2170 0 R (2700) 3050 0 R (2701) 3051 0 R (2702) 3052 0 R (2703) 2053 0 R (2706) 3053 0 R (2707) 3054 0 R (2708) 3055 0 R (2709) 2147 0 R (2712) 3056 0 R (2713) 2054 0 R (2726) 2055 0 R (2729) 2056 0 R (2736) 2057 0 R (2739) 2058 0 R (2746) 2059 0 R (2749) 2060 0 R (2756) 2061 0 R (2759) 2062 0 R (2766) 2063 0 R (2769) 3061 0 R (2770) 2148 0 R (2773) 3062 0 R (2774) 2064 0 R (2787) 2065 0 R (2790) 2149 0 R (2793) 3063 0 R (2794) 2066 0 R (28) 2171 0 R (2807) 2067 0 R (2810) 2150 0 R (2813) 3064 0 R (2814) 2068 0 R (2827) 2069 0 R (2830) 2151 0 R (2833) 3070 0 R (2834) 2070 0 R (2847) 2071 0 R (2850) 2072 0 R (2857) 2073 0 R (2860) 2074 0 R (2867) 2075 0 R (2870) 2076 0 R (2877) 2077 0 R (2880) 2078 0 R (2887) 2079 0 R (2890) 3076 0 R (2891) 3069 0 R (29) 2172 0 R (2918) 2152 0 R (2921) 3078 0 R (2922) 2080 0 R (2936) 2081 0 R (2939) 3079 0 R (2940) 3080 0 R (2941) 3081 0 R (2942) 3082 0 R (2943) 2082 0 R (2946) 3083 0 R (2947) 3084 0 R (2948) 3085 0 R (295) 1310 0 R (298) 2314 0 R (299) 2315 0 R (3.0) 10 0 R (30) 2173 0 R (300) 2316 0 R (301) 2317 0 R (302) 2318 0 R (31) 2174 0 R (32) 2175 0 R (327) 1311 0 R (330) 2320 0 R (331) 2321 0 R (332) 2322 0 R (333) 2323 0 R (334) 1312 0 R (337) 2324 0 R (338) 2325 0 R (339) 2326 0 R (34) 2176 0 R (340) 2327 0 R (341) 2328 0 R (342) 2329 0 R (343) 2330 0 R (344) 2131 0 R (347) 2331 0 R (348) 1313 0 R (35) 2177 0 R (351) 2336 0 R (352) 2337 0 R (353) 2338 0 R (354) 2339 0 R (355) 2340 0 R (356) 2132 0 R (359) 2341 0 R (36) 2178 0 R (360) 1314 0 R (363) 2342 0 R (364) 2343 0 R (365) 2344 0 R (366) 2345 0 R (367) 2346 0 R (368) 1315 0 R (37) 2179 0 R (371) 2347 0 R (372) 2348 0 R (373) 2349 0 R (374) 2350 0 R (375) 2351 0 R (376) 1316 0 R (379) 2352 0 R (38) 2180 0 R (380) 2353 0 R (381) 2354 0 R (382) 1317 0 R (385) 2355 0 R (386) 2356 0 R (387) 2357 0 R (388) 2358 0 R (389) 1318 0 R (39) 2181 0 R (392) 2363 0 R (393) 2364 0 R (394) 2365 0 R (395) 2366 0 R (396) 1319 0 R (399) 2367 0 R (4.0) 14 0 R (4.1.1) 18 0 R (4.2.1) 22 0 R (4.2.1.2) 26 0 R (4.2.2.1.3) 34 0 R (4.2.2.2) 30 0 R (4.2.2.2.3) 38 0 R (4.2.2.3.3) 42 0 R (4.2.2.4.3) 46 0 R (4.2.2.5.3) 50 0 R (4.2.2.6.3) 54 0 R (4.2.2.7.3) 58 0 R (4.2.2.8.3) 62 0 R (4.2.2.9.3) 66 0 R (4.3.1) 70 0 R (4.3.10.100.3) 466 0 R (4.3.10.101.3) 470 0 R (4.3.10.102.3) 474 0 R (4.3.10.2) 450 0 R (4.3.10.97.3) 454 0 R (4.3.10.98.3) 458 0 R (4.3.10.99.3) 462 0 R (4.3.11.103.3) 482 0 R (4.3.11.104.3) 486 0 R (4.3.11.105.3) 490 0 R (4.3.11.106.3) 494 0 R (4.3.11.107.3) 498 0 R (4.3.11.108.3) 502 0 R (4.3.11.109.3) 506 0 R (4.3.11.110.3) 510 0 R (4.3.11.111.3) 514 0 R (4.3.11.112.3) 518 0 R (4.3.11.2) 478 0 R (4.3.3.10.3) 78 0 R (4.3.3.11.3) 82 0 R (4.3.3.12.3) 86 0 R (4.3.3.13.3) 90 0 R (4.3.3.14.3) 94 0 R (4.3.3.15.3) 98 0 R (4.3.3.16.3) 102 0 R (4.3.3.17.3) 106 0 R (4.3.3.18.3) 110 0 R (4.3.3.19.3) 114 0 R (4.3.3.2) 74 0 R (4.3.3.20.3) 118 0 R (4.3.3.21.3) 122 0 R (4.3.3.22.3) 126 0 R (4.3.3.23.3) 130 0 R (4.3.3.24.3) 134 0 R (4.3.3.25.3) 138 0 R (4.3.3.26.3) 142 0 R (4.3.3.27.3) 146 0 R (4.3.4.2) 150 0 R (4.3.4.28.3) 154 0 R (4.3.4.29.3) 158 0 R (4.3.4.30.3) 162 0 R (4.3.4.31.3) 166 0 R (4.3.4.32.3) 170 0 R (4.3.4.33.3) 174 0 R (4.3.4.34.3) 178 0 R (4.3.4.35.3) 182 0 R (4.3.4.36.3) 186 0 R (4.3.4.37.3) 190 0 R (4.3.4.38.3) 194 0 R (4.3.4.39.3) 198 0 R (4.3.4.40.3) 202 0 R (4.3.4.41.3) 206 0 R (4.3.4.42.3) 210 0 R (4.3.4.43.3) 214 0 R (4.3.4.44.3) 218 0 R (4.3.4.45.3) 222 0 R (4.3.4.46.3) 226 0 R (4.3.4.47.3) 230 0 R (4.3.4.48.3) 234 0 R (4.3.4.49.3) 238 0 R (4.3.4.50.3) 242 0 R (4.3.5.2) 246 0 R (4.3.5.51.3) 250 0 R (4.3.5.52.3) 254 0 R (4.3.5.53.3) 258 0 R (4.3.5.54.3) 262 0 R (4.3.5.55.3) 266 0 R (4.3.5.56.3) 270 0 R (4.3.5.57.3) 274 0 R (4.3.5.58.3) 278 0 R (4.3.5.59.3) 282 0 R (4.3.5.60.3) 286 0 R (4.3.5.61.3) 290 0 R (4.3.5.62.3) 294 0 R (4.3.5.63.3) 298 0 R (4.3.5.64.3) 302 0 R (4.3.5.65.3) 306 0 R (4.3.5.66.3) 310 0 R (4.3.5.67.3) 314 0 R (4.3.5.68.3) 318 0 R (4.3.5.69.3) 322 0 R (4.3.5.70.3) 326 0 R (4.3.6.2) 330 0 R (4.3.6.71.3) 334 0 R (4.3.6.72.3) 338 0 R (4.3.6.73.3) 342 0 R (4.3.6.74.3) 346 0 R (4.3.6.75.3) 350 0 R (4.3.6.76.3) 354 0 R (4.3.6.77.3) 358 0 R (4.3.6.78.3) 362 0 R (4.3.6.79.3) 366 0 R (4.3.6.80.3) 370 0 R (4.3.7.2) 374 0 R (4.3.7.81.3) 378 0 R (4.3.7.82.3) 382 0 R (4.3.7.83.3) 386 0 R (4.3.7.84.3) 390 0 R (4.3.7.85.3) 394 0 R (4.3.7.86.3) 398 0 R (4.3.8.2) 402 0 R (4.3.8.87.3) 406 0 R (4.3.8.88.3) 410 0 R (4.3.8.89.3) 414 0 R (4.3.8.90.3) 418 0 R (4.3.8.91.3) 422 0 R (4.3.9.2) 426 0 R (4.3.9.92.3) 430 0 R (4.3.9.93.3) 434 0 R (4.3.9.94.3) 438 0 R (4.3.9.95.3) 442 0 R (4.3.9.96.3) 446 0 R (400) 2368 0 R (401) 2369 0 R (402) 1320 0 R (405) 2370 0 R (406) 1321 0 R (409) 2371 0 R (41) 2182 0 R (410) 2372 0 R (411) 2373 0 R (412) 2374 0 R (413) 1322 0 R (416) 2375 0 R (417) 2376 0 R (418) 2377 0 R (419) 2378 0 R (42) 2183 0 R (429) 1323 0 R (43) 2184 0 R (432) 2380 0 R (433) 2381 0 R (434) 1324 0 R (437) 2382 0 R (438) 2383 0 R (439) 2384 0 R (44) 2185 0 R (440) 2385 0 R (441) 2386 0 R (442) 2387 0 R (443) 1325 0 R (446) 2388 0 R (447) 1326 0 R (450) 2392 0 R (451) 2393 0 R (452) 2362 0 R (457) 2395 0 R (458) 2396 0 R (459) 2397 0 R (46) 2186 0 R (460) 1327 0 R (463) 2398 0 R (464) 2133 0 R (467) 2399 0 R (468) 1328 0 R (47) 2187 0 R (48) 2188 0 R (49) 2189 0 R (5.0) 522 0 R (5.4.1) 526 0 R (5.5.1) 530 0 R (5.5.12.2) 534 0 R (5.5.13.113.3) 542 0 R (5.5.13.114.3) 546 0 R (5.5.13.115.3) 550 0 R (5.5.13.116.3) 554 0 R (5.5.13.2) 538 0 R (5.6.1) 558 0 R (5.6.14.117.3) 566 0 R (5.6.14.118.3) 570 0 R (5.6.14.119.3) 574 0 R (5.6.14.120.3) 578 0 R (5.6.14.121.3) 582 0 R (5.6.14.122.3) 586 0 R (5.6.14.123.3) 590 0 R (5.6.14.124.3) 594 0 R (5.6.14.125.3) 598 0 R (5.6.14.126.3) 602 0 R (5.6.14.2) 562 0 R (5.6.15.127.3) 610 0 R (5.6.15.2) 606 0 R (5.6.16.128.3) 618 0 R (5.6.16.2) 614 0 R (5.6.17.129.3) 626 0 R (5.6.17.2) 622 0 R (5.6.18.130.3) 634 0 R (5.6.18.2) 630 0 R (5.6.19.131.3) 642 0 R (5.6.19.2) 638 0 R (5.6.20.132.3) 650 0 R (5.6.20.2) 646 0 R (5.6.21.133.3) 658 0 R (5.6.21.2) 654 0 R (5.6.22.134.3) 666 0 R (5.6.22.2) 662 0 R (5.6.23.135.3) 674 0 R (5.6.23.2) 670 0 R (5.6.24.136.3) 682 0 R (5.6.24.2) 678 0 R (5.6.25.137.3) 690 0 R (5.6.25.2) 686 0 R (5.6.26.138.3) 698 0 R (5.6.26.2) 694 0 R (5.6.27.139.3) 706 0 R (5.6.27.2) 702 0 R (5.6.28.140.3) 714 0 R (5.6.28.2) 710 0 R (5.6.29.141.3) 722 0 R (5.6.29.2) 718 0 R (5.6.30.142.3) 730 0 R (5.6.30.2) 726 0 R (5.6.31.143.3) 738 0 R (5.6.31.2) 734 0 R (5.6.32.144.3) 746 0 R (5.6.32.2) 742 0 R (5.6.33.145.3) 754 0 R (5.6.33.2) 750 0 R (5.6.34.146.3) 762 0 R (5.6.34.2) 758 0 R (5.6.35.147.3) 770 0 R (5.6.35.2) 766 0 R (5.6.36.148.3) 778 0 R (5.6.36.149.3) 782 0 R (5.6.36.150.3) 786 0 R (5.6.36.151.3) 790 0 R (5.6.36.152.3) 794 0 R (5.6.36.153.3) 798 0 R (5.6.36.154.3) 802 0 R (5.6.36.2) 774 0 R (5.6.37.155.3) 810 0 R (5.6.37.156.3) 814 0 R (5.6.37.2) 806 0 R (5.6.38.157.3) 822 0 R (5.6.38.158.3) 826 0 R (5.6.38.2) 818 0 R (5.6.39.159.3) 834 0 R (5.6.39.160.3) 838 0 R (5.6.39.2) 830 0 R (5.6.40.161.3) 846 0 R (5.6.40.162.3) 850 0 R (5.6.40.163.3) 854 0 R (5.6.40.164.3) 858 0 R (5.6.40.2) 842 0 R (5.6.41.165.3) 866 0 R (5.6.41.166.3) 870 0 R (5.6.41.167.3) 874 0 R (5.6.41.168.3) 878 0 R (5.6.41.169.3) 882 0 R (5.6.41.170.3) 886 0 R (5.6.41.171.3) 890 0 R (5.6.41.172.3) 894 0 R (5.6.41.173.3) 898 0 R (5.6.41.2) 862 0 R (5.6.42.174.3) 906 0 R (5.6.42.175.3) 910 0 R (5.6.42.176.3) 914 0 R (5.6.42.177.3) 918 0 R (5.6.42.178.3) 922 0 R (5.6.42.179.3) 926 0 R (5.6.42.180.3) 930 0 R (5.6.42.181.3) 934 0 R (5.6.42.182.3) 938 0 R (5.6.42.183.3) 942 0 R (5.6.42.184.3) 946 0 R (5.6.42.185.3) 950 0 R (5.6.42.186.3) 954 0 R (5.6.42.187.3) 958 0 R (5.6.42.188.3) 962 0 R (5.6.42.189.3) 966 0 R (5.6.42.190.3) 970 0 R (5.6.42.191.3) 974 0 R (5.6.42.192.3) 978 0 R (5.6.42.193.3) 982 0 R (5.6.42.194.3) 986 0 R (5.6.42.195.3) 990 0 R (5.6.42.2) 902 0 R (5.6.43.196.3) 998 0 R (5.6.43.197.3) 1002 0 R (5.6.43.198.3) 1006 0 R (5.6.43.199.3) 1010 0 R (5.6.43.2) 994 0 R (5.6.43.200.3) 1014 0 R (5.6.43.201.3) 1018 0 R (5.6.43.202.3) 1022 0 R (5.6.43.203.3) 1026 0 R (5.6.43.204.3) 1030 0 R (5.6.43.205.3) 1034 0 R (5.6.43.206.3) 1038 0 R (5.6.43.207.3) 1042 0 R (5.6.43.208.3) 1046 0 R (5.6.44.2) 1050 0 R (5.6.44.209.3) 1054 0 R (5.6.45.2) 1058 0 R (5.6.45.210.3) 1062 0 R (5.6.46.2) 1066 0 R (5.6.46.211.3) 1070 0 R (5.6.47.2) 1074 0 R (5.6.47.212.3) 1078 0 R (5.6.48.2) 1082 0 R (5.6.48.213.3) 1086 0 R (5.6.49.2) 1090 0 R (5.6.49.214.3) 1094 0 R (5.6.50.2) 1098 0 R (5.6.50.215.3) 1102 0 R (5.6.51.2) 1106 0 R (5.6.51.216.3) 1110 0 R (5.6.52.2) 1114 0 R (5.6.52.217.3) 1118 0 R (5.6.53.2) 1122 0 R (5.6.53.218.3) 1126 0 R (5.6.54.2) 1130 0 R (5.6.54.219.3) 1134 0 R (5.6.55.2) 1138 0 R (5.6.55.220.3) 1142 0 R (5.6.56.2) 1146 0 R (5.6.56.221.3) 1150 0 R (5.6.57.2) 1154 0 R (5.6.57.222.3) 1158 0 R (5.6.57.223.3) 1162 0 R (5.6.57.224.3) 1166 0 R (50) 2190 0 R (51) 2191 0 R (53) 2192 0 R (54) 2193 0 R (55) 2194 0 R (557) 1329 0 R (56) 2195 0 R (560) 2403 0 R (561) 1330 0 R (564) 2404 0 R (565) 1331 0 R (568) 2405 0 R (569) 1332 0 R (572) 2406 0 R (573) 2407 0 R (574) 2408 0 R (575) 2409 0 R (576) 2410 0 R (58) 2196 0 R (587) 1333 0 R (59) 2197 0 R (590) 2412 0 R (591) 2413 0 R (592) 2414 0 R (593) 1334 0 R (596) 2415 0 R (597) 1335 0 R (6) 1293 0 R (60) 2198 0 R (600) 2416 0 R (601) 2417 0 R (602) 1336 0 R (605) 2421 0 R (606) 1337 0 R (609) 2422 0 R (61) 2199 0 R (610) 2423 0 R (611) 1338 0 R (614) 2424 0 R (615) 2425 0 R (63) 2200 0 R (634) 2427 0 R (635) 1339 0 R (638) 2428 0 R (639) 2429 0 R (640) 2430 0 R (641) 1340 0 R (644) 2431 0 R (645) 2432 0 R (646) 1341 0 R (649) 2433 0 R (65) 2201 0 R (650) 2434 0 R (651) 2435 0 R (652) 1450 0 R (655) 2436 0 R (656) 2437 0 R (657) 2438 0 R (658) 1451 0 R (661) 2439 0 R (662) 2440 0 R (663) 2441 0 R (664) 1452 0 R (667) 2446 0 R (668) 2447 0 R (669) 2448 0 R (67) 2202 0 R (670) 1453 0 R (673) 2449 0 R (674) 2450 0 R (675) 2451 0 R (676) 1454 0 R (679) 2452 0 R (680) 2453 0 R (681) 2454 0 R (682) 2455 0 R (683) 2456 0 R (684) 2457 0 R (685) 2134 0 R (688) 2458 0 R (689) 1455 0 R (69) 2203 0 R (692) 2459 0 R (693) 1456 0 R (696) 2460 0 R (697) 1457 0 R (700) 2461 0 R (701) 2462 0 R (702) 1458 0 R (705) 2463 0 R (706) 1459 0 R (709) 2464 0 R (71) 2204 0 R (710) 1460 0 R (72) 2205 0 R (73) 2206 0 R (74) 2207 0 R (75) 2208 0 R (76) 2209 0 R (77) 2210 0 R (78) 1297 0 R (788) 1461 0 R (791) 2470 0 R (792) 1462 0 R (795) 2471 0 R (796) 1463 0 R (799) 2472 0 R (8) 1294 0 R (80) 1298 0 R (800) 1464 0 R (803) 2473 0 R (804) 2474 0 R (805) 1465 0 R (808) 2475 0 R (809) 2476 0 R (810) 2477 0 R (811) 1466 0 R (814) 2478 0 R (815) 2479 0 R (816) 2480 0 R (817) 2481 0 R (818) 1467 0 R (821) 2482 0 R (822) 2483 0 R (823) 2484 0 R (824) 1468 0 R (827) 2485 0 R (828) 2486 0 R (829) 2487 0 R (83) 2211 0 R (830) 1469 0 R (833) 2492 0 R (834) 2493 0 R (835) 2494 0 R (836) 1470 0 R (839) 2495 0 R (84) 2212 0 R (840) 2496 0 R (841) 2497 0 R (842) 1471 0 R (845) 2498 0 R (846) 2499 0 R (847) 2135 0 R (850) 2500 0 R (851) 1472 0 R (854) 2501 0 R (855) 2502 0 R (856) 2503 0 R (857) 2136 0 R (86) 2213 0 R (860) 2504 0 R (861) 1473 0 R (864) 2509 0 R (865) 2510 0 R (866) 2511 0 R (867) 2512 0 R (868) 2513 0 R (869) 2514 0 R (87) 2214 0 R (870) 2515 0 R (871) 2516 0 R (872) 1474 0 R (875) 2517 0 R (876) 2518 0 R (877) 2519 0 R (878) 2520 0 R (879) 2521 0 R (88) 2215 0 R (89) 2216 0 R (890) 1475 0 R (893) 2523 0 R (894) 2524 0 R (895) 2525 0 R (896) 2526 0 R (897) 2527 0 R (898) 2528 0 R (899) 2137 0 R (90) 2217 0 R (902) 2529 0 R (903) 1476 0 R (906) 2534 0 R (907) 1477 0 R (91) 2218 0 R (910) 2535 0 R (911) 1478 0 R (914) 2536 0 R (915) 2537 0 R (916) 1479 0 R (919) 2538 0 R (92) 2219 0 R (920) 1480 0 R (923) 2539 0 R (924) 2540 0 R (925) 1481 0 R (93) 2220 0 R (94) 2221 0 R (95) 2222 0 R (96) 2226 0 R (968) 1482 0 R (971) 2541 0 R (972) 2542 0 R (973) 2543 0 R (974) 1483 0 R (977) 2548 0 R (978) 2549 0 R (979) 2550 0 R (980) 1484 0 R (983) 2551 0 R (984) 2552 0 R (985) 2553 0 R (986) 1485 0 R (989) 2554 0 R (990) 1486 0 R (993) 2555 0 R (994) 2556 0 R (995) 1487 0 R (998) 2557 0 R (999) 2558 0 R (Doc-Start) 1174 0 R (page.1) 1173 0 R (page.10) 2445 0 R (page.11) 2469 0 R (page.12) 2491 0 R (page.13) 2508 0 R (page.14) 2533 0 R (page.15) 2547 0 R (page.16) 2572 0 R (page.17) 2595 0 R (page.18) 2622 0 R (page.19) 2650 0 R (page.2) 1182 0 R (page.20) 2665 0 R (page.21) 2680 0 R (page.22) 2714 0 R (page.23) 2730 0 R (page.24) 2772 0 R (page.25) 2799 0 R (page.26) 2819 0 R (page.27) 2831 0 R (page.28) 2840 0 R (page.29) 2854 0 R (page.3) 1188 0 R (page.30) 2864 0 R (page.31) 2897 0 R (page.32) 2911 0 R (page.33) 2939 0 R (page.34) 2953 0 R (page.35) 2971 0 R (page.36) 3000 0 R (page.37) 3023 0 R (page.38) 3044 0 R (page.39) 3060 0 R (page.4) 1345 0 R (page.40) 3068 0 R (page.41) 3075 0 R (page.5) 1505 0 R (page.6) 1662 0 R (page.7) 1822 0 R (page.8) 1983 0 R (page.9) 2086 0 R (table.1) 2227 0 R (table.10) 2631 0 R (table.11) 2656 0 R (table.12) 2709 0 R (table.13) 2724 0 R (table.14) 3077 0 R (table.2) 2245 0 R (table.3) 2319 0 R (table.4) 2379 0 R (table.5) 2394 0 R (table.6) 2411 0 R (table.7) 2426 0 R (table.8) 2522 0 R (table.9) 2612 0 R] -/Limits [(0) (table.9)] ->> endobj -3094 0 obj << -/Kids [3093 0 R] ->> endobj -3095 0 obj << -/Dests 3094 0 R ->> endobj -3096 0 obj << -/Type /Catalog -/Pages 3091 0 R -/Outlines 3092 0 R -/Names 3095 0 R -/PageMode /UseOutlines /URI<</Base()>> /ViewerPreferences<<>> -/OpenAction 1169 0 R -/PTEX.Fullbanner (This is pdfTeX, Version 3.14159-1.00b-pretest-20020211) ->> endobj -3097 0 obj << -/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.00b)/Keywords() -/Producer (pdfTeX-1.0b-pdfcrypt) -/CreationDate (D:20020918152200) ->> endobj -xref -0 3098 -0000001176 65535 f -0000000009 00000 n -0000026183 00000 n -0000612818 00000 n -0000000048 00000 n -0000000081 00000 n -0000088115 00000 n -0000612733 00000 n -0000000120 00000 n -0000000155 00000 n -0000412449 00000 n -0000612646 00000 n -0000000194 00000 n -0000000229 00000 n -0000415231 00000 n -0000612519 00000 n -0000000269 00000 n -0000000313 00000 n -0000415356 00000 n -0000612445 00000 n -0000000355 00000 n -0000000386 00000 n -0000415990 00000 n -0000612321 00000 n -0000000428 00000 n -0000000463 00000 n -0000416114 00000 n -0000612247 00000 n -0000000507 00000 n -0000000545 00000 n -0000419094 00000 n -0000612136 00000 n -0000000589 00000 n -0000000629 00000 n -0000419219 00000 n -0000612062 00000 n -0000000675 00000 n -0000000714 00000 n -0000422856 00000 n -0000611975 00000 n -0000000760 00000 n -0000000799 00000 n -0000423996 00000 n -0000611888 00000 n -0000000845 00000 n -0000000881 00000 n -0000424749 00000 n -0000611801 00000 n -0000000927 00000 n -0000000962 00000 n -0000425631 00000 n -0000611714 00000 n -0000001008 00000 n -0000001054 00000 n -0000428204 00000 n -0000611627 00000 n -0000001100 00000 n -0000001147 00000 n -0000428773 00000 n -0000611540 00000 n -0000001193 00000 n -0000001233 00000 n -0000429149 00000 n -0000611453 00000 n -0000001279 00000 n -0000001321 00000 n -0000429526 00000 n -0000611379 00000 n -0000001367 00000 n -0000001408 00000 n -0000430473 00000 n -0000611267 00000 n -0000001450 00000 n -0000001483 00000 n -0000430598 00000 n -0000611153 00000 n -0000001527 00000 n -0000001559 00000 n -0000430786 00000 n -0000611079 00000 n -0000001606 00000 n -0000001641 00000 n -0000432730 00000 n -0000610992 00000 n -0000001688 00000 n -0000001722 00000 n -0000433233 00000 n -0000610905 00000 n -0000001769 00000 n -0000001804 00000 n -0000433611 00000 n -0000610818 00000 n -0000001851 00000 n -0000001887 00000 n -0000436160 00000 n -0000610731 00000 n -0000001934 00000 n -0000001971 00000 n -0000436729 00000 n -0000610642 00000 n -0000002018 00000 n -0000002054 00000 n -0000437172 00000 n -0000610551 00000 n -0000002102 00000 n -0000002137 00000 n -0000437616 00000 n -0000610459 00000 n -0000002185 00000 n -0000002231 00000 n -0000437933 00000 n -0000610367 00000 n -0000002279 00000 n -0000002324 00000 n -0000440819 00000 n -0000610275 00000 n -0000002372 00000 n -0000002409 00000 n -0000441197 00000 n -0000610183 00000 n -0000002457 00000 n -0000002496 00000 n -0000441512 00000 n -0000610091 00000 n -0000002544 00000 n -0000002580 00000 n -0000441700 00000 n -0000609999 00000 n -0000002628 00000 n -0000002667 00000 n -0000442076 00000 n -0000609907 00000 n -0000002715 00000 n -0000002757 00000 n -0000442519 00000 n -0000609815 00000 n -0000002805 00000 n -0000002846 00000 n -0000442771 00000 n -0000609723 00000 n -0000002894 00000 n -0000002935 00000 n -0000443278 00000 n -0000609631 00000 n -0000002983 00000 n -0000003023 00000 n -0000445107 00000 n -0000609553 00000 n -0000003071 00000 n -0000003115 00000 n -0000445612 00000 n -0000609422 00000 n -0000003160 00000 n -0000003194 00000 n -0000445927 00000 n -0000609343 00000 n -0000003242 00000 n -0000003278 00000 n -0000447857 00000 n -0000609250 00000 n -0000003326 00000 n -0000003361 00000 n -0000448044 00000 n -0000609157 00000 n -0000003409 00000 n -0000003448 00000 n -0000448230 00000 n -0000609064 00000 n -0000003496 00000 n -0000003535 00000 n -0000448418 00000 n -0000608971 00000 n -0000003583 00000 n -0000003618 00000 n -0000448923 00000 n -0000608878 00000 n -0000003666 00000 n -0000003709 00000 n -0000449240 00000 n -0000608785 00000 n -0000003757 00000 n -0000003798 00000 n -0000449429 00000 n -0000608692 00000 n -0000003846 00000 n -0000003887 00000 n -0000451845 00000 n -0000608599 00000 n -0000003935 00000 n -0000003975 00000 n -0000451969 00000 n -0000608506 00000 n -0000004023 00000 n -0000004063 00000 n -0000452221 00000 n -0000608413 00000 n -0000004111 00000 n -0000004151 00000 n -0000452596 00000 n -0000608320 00000 n -0000004199 00000 n -0000004239 00000 n -0000452911 00000 n -0000608227 00000 n -0000004287 00000 n -0000004328 00000 n -0000453163 00000 n -0000608134 00000 n -0000004376 00000 n -0000004417 00000 n -0000453477 00000 n -0000608041 00000 n -0000004465 00000 n -0000004508 00000 n -0000453794 00000 n -0000607948 00000 n -0000004556 00000 n -0000004599 00000 n -0000456344 00000 n -0000607855 00000 n -0000004647 00000 n -0000004689 00000 n -0000456597 00000 n -0000607762 00000 n -0000004737 00000 n -0000004779 00000 n -0000456914 00000 n -0000607669 00000 n -0000004827 00000 n -0000004870 00000 n -0000457547 00000 n -0000607576 00000 n -0000004918 00000 n -0000004964 00000 n -0000457736 00000 n -0000607483 00000 n -0000005012 00000 n -0000005058 00000 n -0000457925 00000 n -0000607390 00000 n -0000005106 00000 n -0000005149 00000 n -0000458178 00000 n -0000607311 00000 n -0000005197 00000 n -0000005234 00000 n -0000458365 00000 n -0000607179 00000 n -0000005279 00000 n -0000005316 00000 n -0000458554 00000 n -0000607100 00000 n -0000005364 00000 n -0000005400 00000 n -0000460533 00000 n -0000607007 00000 n -0000005448 00000 n -0000005487 00000 n -0000460721 00000 n -0000606914 00000 n -0000005535 00000 n -0000005574 00000 n -0000460909 00000 n -0000606821 00000 n -0000005622 00000 n -0000005663 00000 n -0000461097 00000 n -0000606728 00000 n -0000005711 00000 n -0000005752 00000 n -0000461350 00000 n -0000606635 00000 n -0000005800 00000 n -0000005840 00000 n -0000461666 00000 n -0000606542 00000 n -0000005888 00000 n -0000005928 00000 n -0000462046 00000 n -0000606449 00000 n -0000005976 00000 n -0000006020 00000 n -0000462363 00000 n -0000606356 00000 n -0000006068 00000 n -0000006112 00000 n -0000464571 00000 n -0000606263 00000 n -0000006160 00000 n -0000006204 00000 n -0000464887 00000 n -0000606170 00000 n -0000006252 00000 n -0000006296 00000 n -0000465204 00000 n -0000606077 00000 n -0000006344 00000 n -0000006385 00000 n -0000465580 00000 n -0000605984 00000 n -0000006433 00000 n -0000006474 00000 n -0000468326 00000 n -0000605891 00000 n -0000006522 00000 n -0000006559 00000 n -0000468961 00000 n -0000605798 00000 n -0000006607 00000 n -0000006642 00000 n -0000469466 00000 n -0000605705 00000 n -0000006690 00000 n -0000006733 00000 n -0000472102 00000 n -0000605612 00000 n -0000006781 00000 n -0000006827 00000 n -0000472291 00000 n -0000605519 00000 n -0000006875 00000 n -0000006921 00000 n -0000472480 00000 n -0000605426 00000 n -0000006969 00000 n -0000007012 00000 n -0000472733 00000 n -0000605347 00000 n -0000007060 00000 n -0000007097 00000 n -0000472919 00000 n -0000605215 00000 n -0000007142 00000 n -0000007183 00000 n -0000473172 00000 n -0000605136 00000 n -0000007231 00000 n -0000007267 00000 n -0000473298 00000 n -0000605043 00000 n -0000007315 00000 n -0000007350 00000 n -0000475797 00000 n -0000604950 00000 n -0000007398 00000 n -0000007436 00000 n -0000476049 00000 n -0000604857 00000 n -0000007484 00000 n -0000007522 00000 n -0000476365 00000 n -0000604764 00000 n -0000007570 00000 n -0000007610 00000 n -0000476553 00000 n -0000604671 00000 n -0000007658 00000 n -0000007698 00000 n -0000476805 00000 n -0000604578 00000 n -0000007746 00000 n -0000007789 00000 n -0000477440 00000 n -0000604485 00000 n -0000007837 00000 n -0000007883 00000 n -0000477629 00000 n -0000604392 00000 n -0000007931 00000 n -0000007977 00000 n -0000477818 00000 n -0000604313 00000 n -0000008025 00000 n -0000008068 00000 n -0000478070 00000 n -0000604182 00000 n -0000008113 00000 n -0000008152 00000 n -0000480576 00000 n -0000604103 00000 n -0000008200 00000 n -0000008236 00000 n -0000480700 00000 n -0000604010 00000 n -0000008284 00000 n -0000008319 00000 n -0000480952 00000 n -0000603917 00000 n -0000008367 00000 n -0000008404 00000 n -0000481457 00000 n -0000603824 00000 n -0000008452 00000 n -0000008494 00000 n -0000484334 00000 n -0000603731 00000 n -0000008542 00000 n -0000008581 00000 n -0000484650 00000 n -0000603652 00000 n -0000008629 00000 n -0000008666 00000 n -0000484963 00000 n -0000603521 00000 n -0000008711 00000 n -0000008747 00000 n -0000485342 00000 n -0000603442 00000 n -0000008795 00000 n -0000008831 00000 n -0000485468 00000 n -0000603349 00000 n -0000008879 00000 n -0000008914 00000 n -0000485910 00000 n -0000603256 00000 n -0000008962 00000 n -0000008999 00000 n -0000486289 00000 n -0000603163 00000 n -0000009047 00000 n -0000009082 00000 n -0000488642 00000 n -0000603084 00000 n -0000009130 00000 n -0000009167 00000 n -0000488892 00000 n -0000602953 00000 n -0000009212 00000 n -0000009246 00000 n -0000489080 00000 n -0000602874 00000 n -0000009294 00000 n -0000009330 00000 n -0000489205 00000 n -0000602781 00000 n -0000009378 00000 n -0000009413 00000 n -0000489711 00000 n -0000602688 00000 n -0000009461 00000 n -0000009498 00000 n -0000490088 00000 n -0000602595 00000 n -0000009546 00000 n -0000009581 00000 n -0000490340 00000 n -0000602516 00000 n -0000009629 00000 n -0000009663 00000 n -0000490593 00000 n -0000602385 00000 n -0000009709 00000 n -0000009748 00000 n -0000493263 00000 n -0000602306 00000 n -0000009797 00000 n -0000009833 00000 n -0000493389 00000 n -0000602213 00000 n -0000009882 00000 n -0000009917 00000 n -0000493953 00000 n -0000602120 00000 n -0000009966 00000 n -0000010008 00000 n -0000496590 00000 n -0000602027 00000 n -0000010058 00000 n -0000010100 00000 n -0000496842 00000 n -0000601934 00000 n -0000010150 00000 n -0000010187 00000 n -0000497092 00000 n -0000601855 00000 n -0000010237 00000 n -0000010273 00000 n -0000497343 00000 n -0000601737 00000 n -0000010319 00000 n -0000010359 00000 n -0000497532 00000 n -0000601658 00000 n -0000010409 00000 n -0000010445 00000 n -0000497654 00000 n -0000601565 00000 n -0000010495 00000 n -0000010530 00000 n -0000500335 00000 n -0000601472 00000 n -0000010580 00000 n -0000010619 00000 n -0000501098 00000 n -0000601379 00000 n -0000010669 00000 n -0000010708 00000 n -0000501477 00000 n -0000601286 00000 n -0000010758 00000 n -0000010802 00000 n -0000501729 00000 n -0000601193 00000 n -0000010852 00000 n -0000010896 00000 n -0000502046 00000 n -0000601100 00000 n -0000010946 00000 n -0000010991 00000 n -0000502299 00000 n -0000601007 00000 n -0000011041 00000 n -0000011086 00000 n -0000502552 00000 n -0000600914 00000 n -0000011136 00000 n -0000011171 00000 n -0000504713 00000 n -0000600835 00000 n -0000011221 00000 n -0000011258 00000 n -0000507891 00000 n -0000600717 00000 n -0000011299 00000 n -0000011349 00000 n -0000508017 00000 n -0000600638 00000 n -0000011392 00000 n -0000011424 00000 n -0000508715 00000 n -0000600506 00000 n -0000011467 00000 n -0000011503 00000 n -0000508841 00000 n -0000600427 00000 n -0000011549 00000 n -0000011588 00000 n -0000510046 00000 n -0000600309 00000 n -0000011634 00000 n -0000011675 00000 n -0000510172 00000 n -0000600230 00000 n -0000011725 00000 n -0000011766 00000 n -0000510677 00000 n -0000600137 00000 n -0000011816 00000 n -0000011857 00000 n -0000513404 00000 n -0000600044 00000 n -0000011907 00000 n -0000011948 00000 n -0000513909 00000 n -0000599965 00000 n -0000011998 00000 n -0000012039 00000 n -0000514414 00000 n -0000599845 00000 n -0000012082 00000 n -0000012116 00000 n -0000514540 00000 n -0000599726 00000 n -0000012162 00000 n -0000012205 00000 n -0000514855 00000 n -0000599647 00000 n -0000012255 00000 n -0000012291 00000 n -0000514981 00000 n -0000599554 00000 n -0000012341 00000 n -0000012376 00000 n -0000518031 00000 n -0000599461 00000 n -0000012426 00000 n -0000012462 00000 n -0000518156 00000 n -0000599368 00000 n -0000012512 00000 n -0000012546 00000 n -0000518409 00000 n -0000599275 00000 n -0000012596 00000 n -0000012630 00000 n -0000518598 00000 n -0000599182 00000 n -0000012680 00000 n -0000012718 00000 n -0000518849 00000 n -0000599089 00000 n -0000012768 00000 n -0000012803 00000 n -0000519226 00000 n -0000598996 00000 n -0000012853 00000 n -0000012889 00000 n -0000519540 00000 n -0000598903 00000 n -0000012939 00000 n -0000012978 00000 n -0000519728 00000 n -0000598824 00000 n -0000013028 00000 n -0000013069 00000 n -0000519917 00000 n -0000598692 00000 n -0000013115 00000 n -0000013152 00000 n -0000521710 00000 n -0000598627 00000 n -0000013202 00000 n -0000013238 00000 n -0000521773 00000 n -0000598495 00000 n -0000013284 00000 n -0000013321 00000 n -0000521960 00000 n -0000598430 00000 n -0000013371 00000 n -0000013407 00000 n -0000522086 00000 n -0000598298 00000 n -0000013453 00000 n -0000013492 00000 n -0000522275 00000 n -0000598233 00000 n -0000013542 00000 n -0000013578 00000 n -0000522401 00000 n -0000598101 00000 n -0000013624 00000 n -0000013666 00000 n -0000522778 00000 n -0000598036 00000 n -0000013716 00000 n -0000013752 00000 n -0000522904 00000 n -0000597904 00000 n -0000013798 00000 n -0000013839 00000 n -0000523093 00000 n -0000597839 00000 n -0000013889 00000 n -0000013925 00000 n -0000523219 00000 n -0000597707 00000 n -0000013971 00000 n -0000014005 00000 n -0000523407 00000 n -0000597642 00000 n -0000014055 00000 n -0000014091 00000 n -0000525085 00000 n -0000597510 00000 n -0000014137 00000 n -0000014170 00000 n -0000525274 00000 n -0000597445 00000 n -0000014220 00000 n -0000014256 00000 n -0000525399 00000 n -0000597313 00000 n -0000014302 00000 n -0000014336 00000 n -0000525588 00000 n -0000597248 00000 n -0000014386 00000 n -0000014422 00000 n -0000525714 00000 n -0000597116 00000 n -0000014468 00000 n -0000014508 00000 n -0000525903 00000 n -0000597051 00000 n -0000014558 00000 n -0000014594 00000 n -0000526029 00000 n -0000596919 00000 n -0000014640 00000 n -0000014683 00000 n -0000526218 00000 n -0000596854 00000 n -0000014733 00000 n -0000014769 00000 n -0000526344 00000 n -0000596722 00000 n -0000014815 00000 n -0000014860 00000 n -0000526532 00000 n -0000596657 00000 n -0000014910 00000 n -0000014946 00000 n -0000528231 00000 n -0000596525 00000 n -0000014992 00000 n -0000015031 00000 n -0000528420 00000 n -0000596460 00000 n -0000015081 00000 n -0000015117 00000 n -0000528546 00000 n -0000596328 00000 n -0000015163 00000 n -0000015207 00000 n -0000528734 00000 n -0000596263 00000 n -0000015257 00000 n -0000015293 00000 n -0000528859 00000 n -0000596131 00000 n -0000015339 00000 n -0000015378 00000 n -0000529048 00000 n -0000596066 00000 n -0000015428 00000 n -0000015464 00000 n -0000529174 00000 n -0000595934 00000 n -0000015510 00000 n -0000015547 00000 n -0000529490 00000 n -0000595869 00000 n -0000015597 00000 n -0000015633 00000 n -0000529616 00000 n -0000595737 00000 n -0000015679 00000 n -0000015724 00000 n -0000529930 00000 n -0000595672 00000 n -0000015774 00000 n -0000015810 00000 n -0000531420 00000 n -0000595540 00000 n -0000015856 00000 n -0000015899 00000 n -0000531609 00000 n -0000595475 00000 n -0000015949 00000 n -0000015985 00000 n -0000531735 00000 n -0000595343 00000 n -0000016031 00000 n -0000016074 00000 n -0000531923 00000 n -0000595278 00000 n -0000016124 00000 n -0000016160 00000 n -0000532048 00000 n -0000595146 00000 n -0000016206 00000 n -0000016249 00000 n -0000532237 00000 n -0000595081 00000 n -0000016299 00000 n -0000016335 00000 n -0000532363 00000 n -0000594949 00000 n -0000016381 00000 n -0000016426 00000 n -0000532552 00000 n -0000594884 00000 n -0000016476 00000 n -0000016512 00000 n -0000532678 00000 n -0000594752 00000 n -0000016558 00000 n -0000016597 00000 n -0000532867 00000 n -0000594687 00000 n -0000016647 00000 n -0000016683 00000 n -0000532993 00000 n -0000594555 00000 n -0000016729 00000 n -0000016767 00000 n -0000536120 00000 n -0000594476 00000 n -0000016817 00000 n -0000016853 00000 n -0000536246 00000 n -0000594383 00000 n -0000016903 00000 n -0000016938 00000 n -0000536626 00000 n -0000594290 00000 n -0000016988 00000 n -0000017031 00000 n -0000537322 00000 n -0000594197 00000 n -0000017081 00000 n -0000017116 00000 n -0000537700 00000 n -0000594104 00000 n -0000017166 00000 n -0000017202 00000 n -0000538142 00000 n -0000594011 00000 n -0000017252 00000 n -0000017286 00000 n -0000538584 00000 n -0000593932 00000 n -0000017336 00000 n -0000017370 00000 n -0000540246 00000 n -0000593800 00000 n -0000017416 00000 n -0000017456 00000 n -0000540434 00000 n -0000593721 00000 n -0000017506 00000 n -0000017542 00000 n -0000540559 00000 n -0000593642 00000 n -0000017592 00000 n -0000017627 00000 n -0000540808 00000 n -0000593510 00000 n -0000017673 00000 n -0000017706 00000 n -0000540997 00000 n -0000593431 00000 n -0000017756 00000 n -0000017792 00000 n -0000541123 00000 n -0000593352 00000 n -0000017842 00000 n -0000017877 00000 n -0000541375 00000 n -0000593220 00000 n -0000017923 00000 n -0000017958 00000 n -0000541563 00000 n -0000593141 00000 n -0000018008 00000 n -0000018044 00000 n -0000541689 00000 n -0000593062 00000 n -0000018094 00000 n -0000018129 00000 n -0000541941 00000 n -0000592930 00000 n -0000018175 00000 n -0000018213 00000 n -0000542130 00000 n -0000592851 00000 n -0000018263 00000 n -0000018299 00000 n -0000544449 00000 n -0000592758 00000 n -0000018349 00000 n -0000018384 00000 n -0000545018 00000 n -0000592665 00000 n -0000018434 00000 n -0000018468 00000 n -0000545334 00000 n -0000592586 00000 n -0000018518 00000 n -0000018552 00000 n -0000545523 00000 n -0000592454 00000 n -0000018598 00000 n -0000018634 00000 n -0000545711 00000 n -0000592375 00000 n -0000018684 00000 n -0000018720 00000 n -0000545837 00000 n -0000592282 00000 n -0000018770 00000 n -0000018805 00000 n -0000546407 00000 n -0000592189 00000 n -0000018855 00000 n -0000018891 00000 n -0000546595 00000 n -0000592096 00000 n -0000018941 00000 n -0000018975 00000 n -0000546847 00000 n -0000592003 00000 n -0000019025 00000 n -0000019059 00000 n -0000549037 00000 n -0000591910 00000 n -0000019109 00000 n -0000019148 00000 n -0000549161 00000 n -0000591817 00000 n -0000019198 00000 n -0000019239 00000 n -0000549350 00000 n -0000591724 00000 n -0000019289 00000 n -0000019324 00000 n -0000549728 00000 n -0000591645 00000 n -0000019374 00000 n -0000019410 00000 n -0000550042 00000 n -0000591512 00000 n -0000019456 00000 n -0000019497 00000 n -0000551810 00000 n -0000591433 00000 n -0000019547 00000 n -0000019583 00000 n -0000551936 00000 n -0000591340 00000 n -0000019633 00000 n -0000019674 00000 n -0000552189 00000 n -0000591247 00000 n -0000019724 00000 n -0000019765 00000 n -0000552378 00000 n -0000591154 00000 n -0000019815 00000 n -0000019855 00000 n -0000552629 00000 n -0000591061 00000 n -0000019905 00000 n -0000019946 00000 n -0000552818 00000 n -0000590968 00000 n -0000019996 00000 n -0000020036 00000 n -0000553134 00000 n -0000590875 00000 n -0000020086 00000 n -0000020126 00000 n -0000553322 00000 n -0000590782 00000 n -0000020176 00000 n -0000020217 00000 n -0000555386 00000 n -0000590689 00000 n -0000020267 00000 n -0000020308 00000 n -0000555511 00000 n -0000590596 00000 n -0000020358 00000 n -0000020401 00000 n -0000556274 00000 n -0000590503 00000 n -0000020451 00000 n -0000020494 00000 n -0000556525 00000 n -0000590410 00000 n -0000020544 00000 n -0000020586 00000 n -0000556840 00000 n -0000590317 00000 n -0000020636 00000 n -0000020678 00000 n -0000557093 00000 n -0000590224 00000 n -0000020728 00000 n -0000020776 00000 n -0000557410 00000 n -0000590131 00000 n -0000020826 00000 n -0000020874 00000 n -0000557599 00000 n -0000590038 00000 n -0000020924 00000 n -0000020973 00000 n -0000557914 00000 n -0000589945 00000 n -0000021023 00000 n -0000021072 00000 n -0000560088 00000 n -0000589852 00000 n -0000021122 00000 n -0000021166 00000 n -0000560342 00000 n -0000589759 00000 n -0000021216 00000 n -0000021260 00000 n -0000560659 00000 n -0000589666 00000 n -0000021310 00000 n -0000021345 00000 n -0000561101 00000 n -0000589573 00000 n -0000021395 00000 n -0000021432 00000 n -0000561352 00000 n -0000589494 00000 n -0000021482 00000 n -0000021517 00000 n -0000561796 00000 n -0000589359 00000 n -0000021563 00000 n -0000021608 00000 n -0000563625 00000 n -0000589278 00000 n -0000021658 00000 n -0000021695 00000 n -0000563751 00000 n -0000589181 00000 n -0000021746 00000 n -0000021788 00000 n -0000564003 00000 n -0000589083 00000 n -0000021839 00000 n -0000021881 00000 n -0000564193 00000 n -0000588985 00000 n -0000021932 00000 n -0000021973 00000 n -0000564446 00000 n -0000588887 00000 n -0000022024 00000 n -0000022065 00000 n -0000564635 00000 n -0000588789 00000 n -0000022116 00000 n -0000022161 00000 n -0000564825 00000 n -0000588691 00000 n -0000022212 00000 n -0000022257 00000 n -0000565079 00000 n -0000588593 00000 n -0000022308 00000 n -0000022353 00000 n -0000565332 00000 n -0000588495 00000 n -0000022404 00000 n -0000022449 00000 n -0000565650 00000 n -0000588397 00000 n -0000022500 00000 n -0000022545 00000 n -0000567737 00000 n -0000588299 00000 n -0000022596 00000 n -0000022650 00000 n -0000568055 00000 n -0000588201 00000 n -0000022701 00000 n -0000022755 00000 n -0000568307 00000 n -0000588118 00000 n -0000022806 00000 n -0000022844 00000 n -0000568623 00000 n -0000587980 00000 n -0000022891 00000 n -0000022938 00000 n -0000569066 00000 n -0000587911 00000 n -0000022989 00000 n -0000023026 00000 n -0000569193 00000 n -0000587772 00000 n -0000023073 00000 n -0000023112 00000 n -0000569320 00000 n -0000587703 00000 n -0000023163 00000 n -0000023200 00000 n -0000569447 00000 n -0000587564 00000 n -0000023247 00000 n -0000023292 00000 n -0000569574 00000 n -0000587495 00000 n -0000023343 00000 n -0000023380 00000 n -0000569701 00000 n -0000587356 00000 n -0000023427 00000 n -0000023471 00000 n -0000569828 00000 n -0000587287 00000 n -0000023522 00000 n -0000023559 00000 n -0000571437 00000 n -0000587148 00000 n -0000023606 00000 n -0000023657 00000 n -0000571564 00000 n -0000587079 00000 n -0000023708 00000 n -0000023745 00000 n -0000571628 00000 n -0000586940 00000 n -0000023792 00000 n -0000023845 00000 n -0000571942 00000 n -0000586871 00000 n -0000023896 00000 n -0000023933 00000 n -0000572069 00000 n -0000586732 00000 n -0000023980 00000 n -0000024032 00000 n -0000572322 00000 n -0000586663 00000 n -0000024083 00000 n -0000024120 00000 n -0000572448 00000 n -0000586524 00000 n -0000024167 00000 n -0000024217 00000 n -0000574108 00000 n -0000586455 00000 n -0000024268 00000 n -0000024305 00000 n -0000574235 00000 n -0000586316 00000 n -0000024352 00000 n -0000024404 00000 n -0000574486 00000 n -0000586247 00000 n -0000024455 00000 n -0000024492 00000 n -0000574613 00000 n -0000586108 00000 n -0000024539 00000 n -0000024579 00000 n -0000574739 00000 n -0000586039 00000 n -0000024630 00000 n -0000024667 00000 n -0000574866 00000 n -0000585900 00000 n -0000024714 00000 n -0000024762 00000 n -0000574993 00000 n -0000585831 00000 n -0000024813 00000 n -0000024850 00000 n -0000575120 00000 n -0000585692 00000 n -0000024897 00000 n -0000024942 00000 n -0000575247 00000 n -0000585623 00000 n -0000024993 00000 n -0000025030 00000 n -0000575374 00000 n -0000585484 00000 n -0000025077 00000 n -0000025117 00000 n -0000575501 00000 n -0000585415 00000 n -0000025168 00000 n -0000025205 00000 n -0000577709 00000 n -0000585291 00000 n -0000025252 00000 n -0000025292 00000 n -0000578086 00000 n -0000585207 00000 n -0000025343 00000 n -0000025380 00000 n -0000578213 00000 n -0000585108 00000 n -0000025431 00000 n -0000025466 00000 n -0000578592 00000 n -0000585024 00000 n -0000025517 00000 n -0000025552 00000 n -0000025870 00000 n -0000026244 00000 n -0000025606 00000 n -0000025994 00000 n -0000026057 00000 n -0000026120 00000 n -0000001183 00000 f -0000583464 00000 n -0000583561 00000 n -0000026765 00000 n -0000026578 00000 n -0000026318 00000 n -0000026702 00000 n -0000001190 00000 f -0000583370 00000 n -0000088176 00000 n -0000072724 00000 n -0000026853 00000 n -0000088052 00000 n -0000073742 00000 n -0000001202 00000 f -0000583277 00000 n -0000073887 00000 n -0000074031 00000 n -0000074175 00000 n -0000074318 00000 n -0000074464 00000 n -0000074609 00000 n -0000074754 00000 n -0000074899 00000 n -0000075044 00000 n -0000075189 00000 n -0000001291 00000 f -0000583187 00000 n -0000075335 00000 n -0000075480 00000 n -0000075626 00000 n -0000075771 00000 n -0000075918 00000 n -0000076064 00000 n -0000076210 00000 n -0000076355 00000 n -0000076500 00000 n -0000076646 00000 n -0000076792 00000 n -0000076938 00000 n -0000077085 00000 n -0000077231 00000 n -0000077378 00000 n -0000077524 00000 n -0000077671 00000 n -0000077817 00000 n -0000077964 00000 n -0000078110 00000 n -0000078256 00000 n -0000078401 00000 n -0000078548 00000 n -0000078694 00000 n -0000078841 00000 n -0000078987 00000 n -0000079134 00000 n -0000079280 00000 n -0000079427 00000 n -0000079573 00000 n -0000079719 00000 n -0000079864 00000 n -0000080011 00000 n -0000080157 00000 n -0000080303 00000 n -0000080448 00000 n -0000080595 00000 n -0000080741 00000 n -0000080888 00000 n -0000081034 00000 n -0000081181 00000 n -0000081327 00000 n -0000081474 00000 n -0000081620 00000 n -0000081766 00000 n -0000081911 00000 n -0000082058 00000 n -0000082204 00000 n -0000082350 00000 n -0000082495 00000 n -0000082642 00000 n -0000082788 00000 n -0000082935 00000 n -0000083081 00000 n -0000083228 00000 n -0000083374 00000 n -0000083521 00000 n -0000083667 00000 n -0000083813 00000 n -0000083958 00000 n -0000084104 00000 n -0000084249 00000 n -0000084395 00000 n -0000084540 00000 n -0000084687 00000 n -0000084833 00000 n -0000084980 00000 n -0000085126 00000 n -0000085273 00000 n -0000085419 00000 n -0000085566 00000 n -0000085712 00000 n -0000085859 00000 n -0000086005 00000 n -0000086152 00000 n -0000086298 00000 n -0000086444 00000 n -0000086589 00000 n -0000086736 00000 n -0000086882 00000 n -0000087029 00000 n -0000087175 00000 n -0000087322 00000 n -0000087468 00000 n -0000087615 00000 n -0000087761 00000 n -0000087907 00000 n -0000002167 00000 f -0000583092 00000 n -0000415168 00000 n -0000415293 00000 n -0000415927 00000 n -0000416051 00000 n -0000419031 00000 n -0000419156 00000 n -0000422793 00000 n -0000423933 00000 n -0000424686 00000 n -0000425568 00000 n -0000428141 00000 n -0000428710 00000 n -0000429087 00000 n -0000429463 00000 n -0000430410 00000 n -0000430535 00000 n -0000430723 00000 n -0000432667 00000 n -0000433170 00000 n -0000433548 00000 n -0000436097 00000 n -0000436666 00000 n -0000437109 00000 n -0000437553 00000 n -0000437870 00000 n -0000438251 00000 n -0000441134 00000 n -0000441449 00000 n -0000441637 00000 n -0000442013 00000 n -0000442456 00000 n -0000442708 00000 n -0000443215 00000 n -0000443403 00000 n -0000445549 00000 n -0000445864 00000 n -0000447794 00000 n -0000447981 00000 n -0000448167 00000 n -0000448355 00000 n -0000448860 00000 n -0000449177 00000 n -0000449366 00000 n -0000449619 00000 n -0000447731 00000 n -0000452158 00000 n -0000452533 00000 n -0000452849 00000 n -0000453100 00000 n -0000149198 00000 n -0000132807 00000 n -0000088306 00000 n -0000149135 00000 n -0000133879 00000 n -0000134026 00000 n -0000134172 00000 n -0000134319 00000 n -0000134465 00000 n -0000134612 00000 n -0000134758 00000 n -0000134905 00000 n -0000135051 00000 n -0000135198 00000 n -0000135344 00000 n -0000135491 00000 n -0000135637 00000 n -0000135784 00000 n -0000135930 00000 n -0000136077 00000 n -0000136223 00000 n -0000136370 00000 n -0000136516 00000 n -0000136663 00000 n -0000136809 00000 n -0000136956 00000 n -0000137102 00000 n -0000137249 00000 n -0000137395 00000 n -0000137542 00000 n -0000137688 00000 n -0000137834 00000 n -0000137979 00000 n -0000138126 00000 n -0000138272 00000 n -0000138419 00000 n -0000138565 00000 n -0000138712 00000 n -0000138858 00000 n -0000139005 00000 n -0000139151 00000 n -0000139298 00000 n -0000139444 00000 n -0000139591 00000 n -0000139737 00000 n -0000139883 00000 n -0000140028 00000 n -0000140175 00000 n -0000140321 00000 n -0000140468 00000 n -0000140614 00000 n -0000140761 00000 n -0000140907 00000 n -0000141054 00000 n -0000141200 00000 n -0000141347 00000 n -0000141493 00000 n -0000141640 00000 n -0000141786 00000 n -0000141933 00000 n -0000142079 00000 n -0000142226 00000 n -0000142372 00000 n -0000142519 00000 n -0000142665 00000 n -0000142812 00000 n -0000142958 00000 n -0000143105 00000 n -0000143251 00000 n -0000143398 00000 n -0000143544 00000 n -0000143691 00000 n -0000143837 00000 n -0000143984 00000 n -0000144130 00000 n -0000144277 00000 n -0000144423 00000 n -0000144570 00000 n -0000144716 00000 n -0000144863 00000 n -0000145009 00000 n -0000145157 00000 n -0000145304 00000 n -0000145452 00000 n -0000145599 00000 n -0000145747 00000 n -0000145894 00000 n -0000146042 00000 n -0000146189 00000 n -0000146337 00000 n -0000146484 00000 n -0000146632 00000 n -0000146779 00000 n -0000146927 00000 n -0000147074 00000 n -0000147222 00000 n -0000147369 00000 n -0000147517 00000 n -0000147664 00000 n -0000147812 00000 n -0000147959 00000 n -0000148106 00000 n -0000148252 00000 n -0000148400 00000 n -0000148547 00000 n -0000148695 00000 n -0000148842 00000 n -0000148989 00000 n -0000453416 00000 n -0000453731 00000 n -0000454047 00000 n -0000451782 00000 n -0000456851 00000 n -0000457485 00000 n -0000457673 00000 n -0000457862 00000 n -0000458115 00000 n -0000458302 00000 n -0000458491 00000 n -0000460470 00000 n -0000460658 00000 n -0000460846 00000 n -0000461034 00000 n -0000461287 00000 n -0000461603 00000 n -0000461983 00000 n -0000462300 00000 n -0000462616 00000 n -0000464824 00000 n -0000465141 00000 n -0000465518 00000 n -0000468263 00000 n -0000468898 00000 n -0000469403 00000 n -0000472039 00000 n -0000472228 00000 n -0000472417 00000 n -0000472670 00000 n -0000472856 00000 n -0000473109 00000 n -0000473235 00000 n -0000473551 00000 n -0000471976 00000 n -0000476302 00000 n -0000476490 00000 n -0000476742 00000 n -0000477377 00000 n -0000477566 00000 n -0000477755 00000 n -0000478007 00000 n -0000480513 00000 n -0000480638 00000 n -0000480889 00000 n -0000481394 00000 n -0000482094 00000 n -0000484587 00000 n -0000484900 00000 n -0000485279 00000 n -0000485405 00000 n -0000485847 00000 n -0000213867 00000 n -0000197725 00000 n -0000149300 00000 n -0000213804 00000 n -0000198779 00000 n -0000198927 00000 n -0000199074 00000 n -0000199222 00000 n -0000199369 00000 n -0000199517 00000 n -0000199664 00000 n -0000199812 00000 n -0000199959 00000 n -0000200107 00000 n -0000200254 00000 n -0000200402 00000 n -0000200549 00000 n -0000200696 00000 n -0000200842 00000 n -0000200990 00000 n -0000201137 00000 n -0000201285 00000 n -0000201432 00000 n -0000201580 00000 n -0000201727 00000 n -0000201875 00000 n -0000202022 00000 n -0000202170 00000 n -0000202317 00000 n -0000202465 00000 n -0000202612 00000 n -0000202759 00000 n -0000202905 00000 n -0000203053 00000 n -0000203200 00000 n -0000203348 00000 n -0000203495 00000 n -0000203643 00000 n -0000203790 00000 n -0000203938 00000 n -0000204085 00000 n -0000204233 00000 n -0000204380 00000 n -0000204528 00000 n -0000204675 00000 n -0000204822 00000 n -0000204968 00000 n -0000205116 00000 n -0000205263 00000 n -0000205411 00000 n -0000205558 00000 n -0000205706 00000 n -0000205853 00000 n -0000206001 00000 n -0000206148 00000 n -0000206296 00000 n -0000206443 00000 n -0000206591 00000 n -0000206738 00000 n -0000206885 00000 n -0000207031 00000 n -0000207179 00000 n -0000207326 00000 n -0000207473 00000 n -0000207620 00000 n -0000207767 00000 n -0000207914 00000 n -0000208062 00000 n -0000208209 00000 n -0000208356 00000 n -0000208502 00000 n -0000208650 00000 n -0000208797 00000 n -0000208944 00000 n -0000209090 00000 n -0000209238 00000 n -0000209385 00000 n -0000209533 00000 n -0000209680 00000 n -0000209828 00000 n -0000209975 00000 n -0000210123 00000 n -0000210270 00000 n -0000210417 00000 n -0000210563 00000 n -0000210711 00000 n -0000210858 00000 n -0000211005 00000 n -0000211151 00000 n -0000211299 00000 n -0000211446 00000 n -0000211594 00000 n -0000211741 00000 n -0000211889 00000 n -0000212036 00000 n -0000212184 00000 n -0000212331 00000 n -0000212479 00000 n -0000212626 00000 n -0000212774 00000 n -0000212921 00000 n -0000213068 00000 n -0000213214 00000 n -0000213362 00000 n -0000213509 00000 n -0000213657 00000 n -0000486226 00000 n -0000486478 00000 n -0000488829 00000 n -0000489017 00000 n -0000489143 00000 n -0000489648 00000 n -0000490025 00000 n -0000490277 00000 n -0000490530 00000 n -0000493200 00000 n -0000493326 00000 n -0000493891 00000 n -0000494270 00000 n -0000496779 00000 n -0000497029 00000 n -0000497280 00000 n -0000497469 00000 n -0000497595 00000 n -0000500272 00000 n -0000501036 00000 n -0000501414 00000 n -0000501666 00000 n -0000501983 00000 n -0000502236 00000 n -0000502489 00000 n -0000503058 00000 n -0000507828 00000 n -0000507954 00000 n -0000508652 00000 n -0000508778 00000 n -0000509983 00000 n -0000510109 00000 n -0000510614 00000 n -0000511120 00000 n -0000513846 00000 n -0000514352 00000 n -0000514477 00000 n -0000514792 00000 n -0000514918 00000 n -0000515551 00000 n -0000513341 00000 n -0000518346 00000 n -0000518535 00000 n -0000518787 00000 n -0000519163 00000 n -0000519478 00000 n -0000519665 00000 n -0000519854 00000 n -0000520043 00000 n -0000517968 00000 n -0000521897 00000 n -0000279923 00000 n -0000263456 00000 n -0000213983 00000 n -0000279860 00000 n -0000264528 00000 n -0000264676 00000 n -0000264823 00000 n -0000264971 00000 n -0000265118 00000 n -0000265266 00000 n -0000265413 00000 n -0000265561 00000 n -0000265708 00000 n -0000265856 00000 n -0000266003 00000 n -0000266151 00000 n -0000266298 00000 n -0000266446 00000 n -0000266593 00000 n -0000266741 00000 n -0000266888 00000 n -0000267036 00000 n -0000267183 00000 n -0000267331 00000 n -0000267478 00000 n -0000267626 00000 n -0000267773 00000 n -0000267921 00000 n -0000268068 00000 n -0000268216 00000 n -0000268363 00000 n -0000268511 00000 n -0000268658 00000 n -0000268806 00000 n -0000268953 00000 n -0000269101 00000 n -0000269248 00000 n -0000269396 00000 n -0000269543 00000 n -0000269691 00000 n -0000269838 00000 n -0000269986 00000 n -0000270133 00000 n -0000270281 00000 n -0000270428 00000 n -0000270575 00000 n -0000270721 00000 n -0000270869 00000 n -0000271016 00000 n -0000271164 00000 n -0000271311 00000 n -0000271459 00000 n -0000271606 00000 n -0000271754 00000 n -0000271901 00000 n -0000272049 00000 n -0000272196 00000 n -0000272344 00000 n -0000272491 00000 n -0000272639 00000 n -0000272786 00000 n -0000272934 00000 n -0000273081 00000 n -0000273229 00000 n -0000273376 00000 n -0000273524 00000 n -0000273671 00000 n -0000273819 00000 n -0000273966 00000 n -0000274114 00000 n -0000274261 00000 n -0000274409 00000 n -0000274556 00000 n -0000274703 00000 n -0000274849 00000 n -0000274997 00000 n -0000275144 00000 n -0000275292 00000 n -0000275439 00000 n -0000275587 00000 n -0000275734 00000 n -0000275882 00000 n -0000276029 00000 n -0000276177 00000 n -0000276324 00000 n -0000276471 00000 n -0000276617 00000 n -0000276765 00000 n -0000276912 00000 n -0000277060 00000 n -0000277207 00000 n -0000277355 00000 n -0000277502 00000 n -0000277650 00000 n -0000277797 00000 n -0000277945 00000 n -0000278092 00000 n -0000278240 00000 n -0000278387 00000 n -0000278535 00000 n -0000278682 00000 n -0000278830 00000 n -0000278977 00000 n -0000279125 00000 n -0000279272 00000 n -0000279420 00000 n -0000279567 00000 n -0000279714 00000 n -0000522023 00000 n -0000522212 00000 n -0000522338 00000 n -0000522715 00000 n -0000522841 00000 n -0000523030 00000 n -0000523156 00000 n -0000523345 00000 n -0000523470 00000 n -0000525211 00000 n -0000525336 00000 n -0000525525 00000 n -0000525651 00000 n -0000525840 00000 n -0000525966 00000 n -0000526155 00000 n -0000526281 00000 n -0000526469 00000 n -0000526595 00000 n -0000528357 00000 n -0000528483 00000 n -0000528671 00000 n -0000528796 00000 n -0000528985 00000 n -0000529111 00000 n -0000529427 00000 n -0000529553 00000 n -0000529867 00000 n -0000529993 00000 n -0000531546 00000 n -0000531672 00000 n -0000531860 00000 n -0000531985 00000 n -0000532174 00000 n -0000532300 00000 n -0000532489 00000 n -0000532615 00000 n -0000532804 00000 n -0000532930 00000 n -0000533119 00000 n -0000536183 00000 n -0000536563 00000 n -0000537259 00000 n -0000537637 00000 n -0000538079 00000 n -0000538521 00000 n -0000540183 00000 n -0000540372 00000 n -0000540497 00000 n -0000540746 00000 n -0000540934 00000 n -0000541060 00000 n -0000341392 00000 n -0000324929 00000 n -0000280025 00000 n -0000341329 00000 n -0000326001 00000 n -0000326149 00000 n -0000326296 00000 n -0000326444 00000 n -0000326591 00000 n -0000326739 00000 n -0000326886 00000 n -0000327034 00000 n -0000327181 00000 n -0000327329 00000 n -0000327476 00000 n -0000327623 00000 n -0000327769 00000 n -0000327917 00000 n -0000328064 00000 n -0000328212 00000 n -0000328359 00000 n -0000328507 00000 n -0000328654 00000 n -0000328802 00000 n -0000328949 00000 n -0000329097 00000 n -0000329244 00000 n -0000329392 00000 n -0000329539 00000 n -0000329687 00000 n -0000329834 00000 n -0000329981 00000 n -0000330127 00000 n -0000330275 00000 n -0000330422 00000 n -0000330570 00000 n -0000330717 00000 n -0000330865 00000 n -0000331012 00000 n -0000331160 00000 n -0000331307 00000 n -0000331455 00000 n -0000331602 00000 n -0000331750 00000 n -0000331897 00000 n -0000332045 00000 n -0000332192 00000 n -0000332340 00000 n -0000332487 00000 n -0000332635 00000 n -0000332782 00000 n -0000332930 00000 n -0000333077 00000 n -0000333225 00000 n -0000333372 00000 n -0000333520 00000 n -0000333667 00000 n -0000333815 00000 n -0000333962 00000 n -0000334109 00000 n -0000334255 00000 n -0000334403 00000 n -0000334550 00000 n -0000334698 00000 n -0000334845 00000 n -0000334993 00000 n -0000335140 00000 n -0000335288 00000 n -0000335435 00000 n -0000335583 00000 n -0000335730 00000 n -0000335878 00000 n -0000336025 00000 n -0000336172 00000 n -0000336318 00000 n -0000336466 00000 n -0000336613 00000 n -0000336761 00000 n -0000336908 00000 n -0000337056 00000 n -0000337203 00000 n -0000337351 00000 n -0000337498 00000 n -0000337646 00000 n -0000337793 00000 n -0000337941 00000 n -0000338088 00000 n -0000338236 00000 n -0000338383 00000 n -0000338531 00000 n -0000338678 00000 n -0000338826 00000 n -0000338973 00000 n -0000339121 00000 n -0000339268 00000 n -0000339416 00000 n -0000339563 00000 n -0000339711 00000 n -0000339858 00000 n -0000340006 00000 n -0000340153 00000 n -0000340300 00000 n -0000340446 00000 n -0000340594 00000 n -0000340741 00000 n -0000340889 00000 n -0000341036 00000 n -0000341183 00000 n -0000583686 00000 n -0000541312 00000 n -0000541500 00000 n -0000541626 00000 n -0000541878 00000 n -0000542067 00000 n -0000542193 00000 n -0000540120 00000 n -0000545271 00000 n -0000545460 00000 n -0000545648 00000 n -0000545774 00000 n -0000546344 00000 n -0000546532 00000 n -0000546784 00000 n -0000546973 00000 n -0000544386 00000 n -0000549287 00000 n -0000549665 00000 n -0000549979 00000 n -0000550231 00000 n -0000551873 00000 n -0000552126 00000 n -0000552315 00000 n -0000552567 00000 n -0000552755 00000 n -0000553071 00000 n -0000553259 00000 n -0000553576 00000 n -0000551747 00000 n -0000556211 00000 n -0000556463 00000 n -0000556777 00000 n -0000557030 00000 n -0000557347 00000 n -0000557536 00000 n -0000557852 00000 n -0000558040 00000 n -0000555323 00000 n -0000560596 00000 n -0000561038 00000 n -0000561289 00000 n -0000561733 00000 n -0000561985 00000 n -0000563688 00000 n -0000563941 00000 n -0000564130 00000 n -0000564383 00000 n -0000564572 00000 n -0000564762 00000 n -0000565016 00000 n -0000565269 00000 n -0000565587 00000 n -0000381860 00000 n -0000371338 00000 n -0000341494 00000 n -0000381797 00000 n -0000372068 00000 n -0000372216 00000 n -0000372363 00000 n -0000372511 00000 n -0000372658 00000 n -0000372806 00000 n -0000372953 00000 n -0000373101 00000 n -0000373248 00000 n -0000373396 00000 n -0000373543 00000 n -0000373691 00000 n -0000373838 00000 n -0000373986 00000 n -0000374133 00000 n -0000374281 00000 n -0000374428 00000 n -0000374576 00000 n -0000374723 00000 n -0000374871 00000 n -0000375018 00000 n -0000375166 00000 n -0000375313 00000 n -0000375460 00000 n -0000375607 00000 n -0000375755 00000 n -0000375902 00000 n -0000376048 00000 n -0000376194 00000 n -0000376342 00000 n -0000376489 00000 n -0000376636 00000 n -0000376783 00000 n -0000376931 00000 n -0000377078 00000 n -0000377226 00000 n -0000377373 00000 n -0000377521 00000 n -0000377668 00000 n -0000377815 00000 n -0000377962 00000 n -0000378110 00000 n -0000378257 00000 n -0000378405 00000 n -0000378552 00000 n -0000378700 00000 n -0000378847 00000 n -0000378995 00000 n -0000379142 00000 n -0000379290 00000 n -0000379437 00000 n -0000379585 00000 n -0000379732 00000 n -0000379880 00000 n -0000380027 00000 n -0000380175 00000 n -0000380322 00000 n -0000380470 00000 n -0000380617 00000 n -0000380765 00000 n -0000380912 00000 n -0000381060 00000 n -0000381207 00000 n -0000381355 00000 n -0000381502 00000 n -0000381650 00000 n -0000565904 00000 n -0000567992 00000 n -0000568244 00000 n -0000568560 00000 n -0000569003 00000 n -0000569130 00000 n -0000569257 00000 n -0000569384 00000 n -0000569511 00000 n -0000569638 00000 n -0000569765 00000 n -0000569892 00000 n -0000571501 00000 n -0000567674 00000 n -0000571879 00000 n -0000572006 00000 n -0000572259 00000 n -0000572385 00000 n -0000572638 00000 n -0000574172 00000 n -0000574423 00000 n -0000574550 00000 n -0000574677 00000 n -0000574803 00000 n -0000574930 00000 n -0000575057 00000 n -0000575184 00000 n -0000575311 00000 n -0000575438 00000 n -0000575565 00000 n -0000578023 00000 n -0000578150 00000 n -0000578531 00000 n -0000412511 00000 n -0000405390 00000 n -0000381962 00000 n -0000412386 00000 n -0000405922 00000 n -0000406069 00000 n -0000406215 00000 n -0000406361 00000 n -0000406506 00000 n -0000406652 00000 n -0000406797 00000 n -0000406944 00000 n -0000407090 00000 n -0000407237 00000 n -0000407383 00000 n -0000407530 00000 n -0000407676 00000 n -0000407823 00000 n -0000407969 00000 n -0000408117 00000 n -0000408264 00000 n -0000408411 00000 n -0000408557 00000 n -0000408704 00000 n -0000408850 00000 n -0000408998 00000 n -0000409145 00000 n -0000409293 00000 n -0000409440 00000 n -0000409588 00000 n -0000409735 00000 n -0000409883 00000 n -0000410030 00000 n -0000410178 00000 n -0000410325 00000 n -0000410472 00000 n -0000410618 00000 n -0000410765 00000 n -0000410911 00000 n -0000411059 00000 n -0000411206 00000 n -0000411354 00000 n -0000411501 00000 n -0000411649 00000 n -0000411796 00000 n -0000411944 00000 n -0000412091 00000 n -0000412239 00000 n -0000434118 00000 n -0000436540 00000 n -0000445738 00000 n -0000457359 00000 n -0000465392 00000 n -0000465834 00000 n -0000469910 00000 n -0000477251 00000 n -0000478196 00000 n -0000485153 00000 n -0000491038 00000 n -0000497907 00000 n -0000504836 00000 n -0000550105 00000 n -0000556085 00000 n -0000561859 00000 n -0000568878 00000 n -0000571754 00000 n -0000572133 00000 n -0000572512 00000 n -0000574297 00000 n -0000577899 00000 n -0000420043 00000 n -0000415044 00000 n -0000412627 00000 n -0000415418 00000 n -0000415481 00000 n -0000415545 00000 n -0000415609 00000 n -0000415673 00000 n -0000415736 00000 n -0000415800 00000 n -0000415863 00000 n -0000416176 00000 n -0000416239 00000 n -0000416302 00000 n -0000000000 00000 f -0000582997 00000 n -0000416365 00000 n -0000416427 00000 n -0000416489 00000 n -0000416552 00000 n -0000416615 00000 n -0000416678 00000 n -0000416741 00000 n -0000416804 00000 n -0000416868 00000 n -0000416931 00000 n -0000416994 00000 n -0000417058 00000 n -0000417122 00000 n -0000417185 00000 n -0000417249 00000 n -0000417312 00000 n -0000417375 00000 n -0000417438 00000 n -0000417502 00000 n -0000417565 00000 n -0000417628 00000 n -0000417692 00000 n -0000417756 00000 n -0000417819 00000 n -0000417883 00000 n -0000417947 00000 n -0000418011 00000 n -0000418074 00000 n -0000418138 00000 n -0000418202 00000 n -0000418266 00000 n -0000418329 00000 n -0000418393 00000 n -0000418456 00000 n -0000418520 00000 n -0000418583 00000 n -0000418647 00000 n -0000418711 00000 n -0000418775 00000 n -0000418839 00000 n -0000418903 00000 n -0000418967 00000 n -0000419281 00000 n -0000419343 00000 n -0000419406 00000 n -0000419470 00000 n -0000419533 00000 n -0000419596 00000 n -0000419660 00000 n -0000419724 00000 n -0000419788 00000 n -0000419852 00000 n -0000419915 00000 n -0000419979 00000 n -0000426011 00000 n -0000422161 00000 n -0000420173 00000 n -0000422285 00000 n -0000422348 00000 n -0000422411 00000 n -0000422474 00000 n -0000422537 00000 n -0000422601 00000 n -0000422665 00000 n -0000422729 00000 n -0000422918 00000 n -0000422981 00000 n -0000423043 00000 n -0000423107 00000 n -0000423170 00000 n -0000423233 00000 n -0000423297 00000 n -0000423361 00000 n -0000423424 00000 n -0000423488 00000 n -0000423552 00000 n -0000423615 00000 n -0000423678 00000 n -0000423741 00000 n -0000423805 00000 n -0000423869 00000 n -0000424057 00000 n -0000424119 00000 n -0000424182 00000 n -0000424245 00000 n -0000424307 00000 n -0000424369 00000 n -0000424432 00000 n -0000424496 00000 n -0000424559 00000 n -0000424622 00000 n -0000424810 00000 n -0000424873 00000 n -0000424936 00000 n -0000424999 00000 n -0000425061 00000 n -0000425123 00000 n -0000425186 00000 n -0000425249 00000 n -0000425312 00000 n -0000425376 00000 n -0000425440 00000 n -0000425504 00000 n -0000425693 00000 n -0000425756 00000 n -0000425819 00000 n -0000425883 00000 n -0000425947 00000 n -0000430848 00000 n -0000427890 00000 n -0000426141 00000 n -0000428014 00000 n -0000428077 00000 n -0000428266 00000 n -0000428329 00000 n -0000428392 00000 n -0000428456 00000 n -0000428520 00000 n -0000428584 00000 n -0000428647 00000 n -0000428835 00000 n -0000428898 00000 n -0000428961 00000 n -0000429025 00000 n -0000429211 00000 n -0000429274 00000 n -0000429336 00000 n -0000429400 00000 n -0000429588 00000 n -0000429651 00000 n -0000429714 00000 n -0000429777 00000 n -0000429840 00000 n -0000429903 00000 n -0000429966 00000 n -0000430029 00000 n -0000430092 00000 n -0000430155 00000 n -0000430218 00000 n -0000430282 00000 n -0000430346 00000 n -0000430660 00000 n -0000434241 00000 n -0000432543 00000 n -0000430978 00000 n -0000432791 00000 n -0000432854 00000 n -0000432917 00000 n -0000432981 00000 n -0000433044 00000 n -0000433107 00000 n -0000433294 00000 n -0000433357 00000 n -0000433421 00000 n -0000433484 00000 n -0000433671 00000 n -0000433734 00000 n -0000433798 00000 n -0000433862 00000 n -0000433926 00000 n -0000433990 00000 n -0000434054 00000 n -0000434179 00000 n -0000583811 00000 n -0000438314 00000 n -0000435973 00000 n -0000434385 00000 n -0000436221 00000 n -0000436284 00000 n -0000436348 00000 n -0000436412 00000 n -0000436476 00000 n -0000436603 00000 n -0000436790 00000 n -0000436853 00000 n -0000436917 00000 n -0000436981 00000 n -0000437045 00000 n -0000437234 00000 n -0000437297 00000 n -0000437361 00000 n -0000437425 00000 n -0000437489 00000 n -0000437679 00000 n -0000437742 00000 n -0000437806 00000 n -0000437996 00000 n -0000438059 00000 n -0000438123 00000 n -0000438187 00000 n -0000443466 00000 n -0000440632 00000 n -0000438458 00000 n -0000440756 00000 n -0000440880 00000 n -0000440942 00000 n -0000441006 00000 n -0000441070 00000 n -0000441259 00000 n -0000441321 00000 n -0000441385 00000 n -0000441574 00000 n -0000441762 00000 n -0000441825 00000 n -0000441889 00000 n -0000441951 00000 n -0000442139 00000 n -0000442202 00000 n -0000442266 00000 n -0000442330 00000 n -0000442393 00000 n -0000442582 00000 n -0000442645 00000 n -0000442834 00000 n -0000442897 00000 n -0000442960 00000 n -0000443023 00000 n -0000443087 00000 n -0000443151 00000 n -0000443340 00000 n -0000445990 00000 n -0000444983 00000 n -0000443596 00000 n -0000445170 00000 n -0000445232 00000 n -0000445295 00000 n -0000445358 00000 n -0000445421 00000 n -0000445485 00000 n -0000445675 00000 n -0000445801 00000 n -0000449682 00000 n -0000447607 00000 n -0000446134 00000 n -0000447919 00000 n -0000448106 00000 n -0000448292 00000 n -0000448480 00000 n -0000448543 00000 n -0000448606 00000 n -0000448670 00000 n -0000448734 00000 n -0000448797 00000 n -0000448986 00000 n -0000449049 00000 n -0000449113 00000 n -0000449303 00000 n -0000449492 00000 n -0000449555 00000 n -0000454110 00000 n -0000451658 00000 n -0000449812 00000 n -0000451907 00000 n -0000452031 00000 n -0000452094 00000 n -0000452283 00000 n -0000452346 00000 n -0000452408 00000 n -0000452470 00000 n -0000452658 00000 n -0000452721 00000 n -0000452785 00000 n -0000452974 00000 n -0000453037 00000 n -0000453226 00000 n -0000453289 00000 n -0000453352 00000 n -0000453540 00000 n -0000453603 00000 n -0000453667 00000 n -0000453857 00000 n -0000453919 00000 n -0000453983 00000 n -0000458616 00000 n -0000456157 00000 n -0000454240 00000 n -0000456281 00000 n -0000456407 00000 n -0000456469 00000 n -0000456533 00000 n -0000456660 00000 n -0000456723 00000 n -0000456787 00000 n -0000456977 00000 n -0000457040 00000 n -0000457103 00000 n -0000457167 00000 n -0000457231 00000 n -0000457295 00000 n -0000457422 00000 n -0000457610 00000 n -0000457799 00000 n -0000457988 00000 n -0000458051 00000 n -0000458239 00000 n -0000458428 00000 n -0000583936 00000 n -0000462679 00000 n -0000460283 00000 n -0000458760 00000 n -0000460407 00000 n -0000460595 00000 n -0000460783 00000 n -0000460972 00000 n -0000461160 00000 n -0000461223 00000 n -0000461412 00000 n -0000461475 00000 n -0000461539 00000 n -0000461728 00000 n -0000461791 00000 n -0000461855 00000 n -0000461919 00000 n -0000462109 00000 n -0000462172 00000 n -0000462236 00000 n -0000462426 00000 n -0000462488 00000 n -0000462552 00000 n -0000465960 00000 n -0000464384 00000 n -0000462809 00000 n -0000464508 00000 n -0000464634 00000 n -0000464696 00000 n -0000464760 00000 n -0000464950 00000 n -0000465013 00000 n -0000465077 00000 n -0000465267 00000 n -0000465330 00000 n -0000465455 00000 n -0000465643 00000 n -0000465706 00000 n -0000465770 00000 n -0000465897 00000 n -0000470036 00000 n -0000468076 00000 n -0000466104 00000 n -0000468200 00000 n -0000468387 00000 n -0000468450 00000 n -0000468514 00000 n -0000468578 00000 n -0000468642 00000 n -0000468706 00000 n -0000468770 00000 n -0000468834 00000 n -0000469023 00000 n -0000469086 00000 n -0000469149 00000 n -0000469213 00000 n -0000469277 00000 n -0000469340 00000 n -0000469529 00000 n -0000469591 00000 n -0000469654 00000 n -0000469718 00000 n -0000469782 00000 n -0000469846 00000 n -0000469973 00000 n -0000473614 00000 n -0000471789 00000 n -0000470180 00000 n -0000471913 00000 n -0000472165 00000 n -0000472354 00000 n -0000472543 00000 n -0000472606 00000 n -0000472793 00000 n -0000472982 00000 n -0000473045 00000 n -0000473360 00000 n -0000473423 00000 n -0000473487 00000 n -0000478259 00000 n -0000475610 00000 n -0000473744 00000 n -0000475734 00000 n -0000475859 00000 n -0000475921 00000 n -0000475985 00000 n -0000476111 00000 n -0000476174 00000 n -0000476238 00000 n -0000476427 00000 n -0000476615 00000 n -0000476678 00000 n -0000476868 00000 n -0000476931 00000 n -0000476995 00000 n -0000477059 00000 n -0000477123 00000 n -0000477187 00000 n -0000477314 00000 n -0000477503 00000 n -0000477692 00000 n -0000477880 00000 n -0000477943 00000 n -0000478133 00000 n -0000482157 00000 n -0000480263 00000 n -0000478403 00000 n -0000480387 00000 n -0000480450 00000 n -0000480762 00000 n -0000480825 00000 n -0000481013 00000 n -0000481076 00000 n -0000481140 00000 n -0000481204 00000 n -0000481268 00000 n -0000481331 00000 n -0000481520 00000 n -0000481583 00000 n -0000481647 00000 n -0000481711 00000 n -0000481775 00000 n -0000481839 00000 n -0000481903 00000 n -0000481967 00000 n -0000482031 00000 n -0000584061 00000 n -0000486541 00000 n -0000484147 00000 n -0000482301 00000 n -0000484271 00000 n -0000484396 00000 n -0000484459 00000 n -0000484523 00000 n -0000484711 00000 n -0000484774 00000 n -0000484837 00000 n -0000485026 00000 n -0000485089 00000 n -0000485216 00000 n -0000580885 00000 n -0000578991 00000 n -0000580721 00000 n -0000485530 00000 n -0000485593 00000 n -0000485657 00000 n -0000485721 00000 n -0000485784 00000 n -0000485971 00000 n -0000486034 00000 n -0000486098 00000 n -0000486162 00000 n -0000486351 00000 n -0000486414 00000 n -0000491163 00000 n -0000488455 00000 n -0000486699 00000 n -0000488579 00000 n -0000488703 00000 n -0000488765 00000 n -0000488954 00000 n -0000489267 00000 n -0000489330 00000 n -0000489394 00000 n -0000489458 00000 n -0000489522 00000 n -0000489585 00000 n -0000489772 00000 n -0000489834 00000 n -0000489897 00000 n -0000489961 00000 n -0000490150 00000 n -0000490213 00000 n -0000490403 00000 n -0000490466 00000 n -0000490656 00000 n -0000490719 00000 n -0000490783 00000 n -0000490847 00000 n -0000490911 00000 n -0000490974 00000 n -0000491101 00000 n -0000494333 00000 n -0000493013 00000 n -0000491307 00000 n -0000493137 00000 n -0000493451 00000 n -0000493514 00000 n -0000493578 00000 n -0000493642 00000 n -0000493706 00000 n -0000493767 00000 n -0000493828 00000 n -0000494016 00000 n -0000494079 00000 n -0000494143 00000 n -0000494207 00000 n -0000498033 00000 n -0000496403 00000 n -0000494463 00000 n -0000496527 00000 n -0000496653 00000 n -0000496715 00000 n -0000496903 00000 n -0000496965 00000 n -0000497154 00000 n -0000497217 00000 n -0000497406 00000 n -0000497716 00000 n -0000497779 00000 n -0000497843 00000 n -0000497970 00000 n -0000503121 00000 n -0000500085 00000 n -0000498177 00000 n -0000500209 00000 n -0000500397 00000 n -0000500460 00000 n -0000500524 00000 n -0000500588 00000 n -0000500652 00000 n -0000500716 00000 n -0000500780 00000 n -0000500844 00000 n -0000500908 00000 n -0000500972 00000 n -0000501160 00000 n -0000501223 00000 n -0000501286 00000 n -0000501350 00000 n -0000501540 00000 n -0000501603 00000 n -0000501792 00000 n -0000501855 00000 n -0000501919 00000 n -0000502109 00000 n -0000502172 00000 n -0000502362 00000 n -0000502425 00000 n -0000502614 00000 n -0000502677 00000 n -0000502741 00000 n -0000502805 00000 n -0000502869 00000 n -0000502932 00000 n -0000502995 00000 n -0000505533 00000 n -0000504526 00000 n -0000503251 00000 n -0000504650 00000 n -0000504774 00000 n -0000504899 00000 n -0000504962 00000 n -0000505025 00000 n -0000505088 00000 n -0000505152 00000 n -0000505216 00000 n -0000505280 00000 n -0000505344 00000 n -0000505407 00000 n -0000505470 00000 n -0000584186 00000 n -0000511182 00000 n -0000507641 00000 n -0000505677 00000 n -0000507765 00000 n -0000508080 00000 n -0000508143 00000 n -0000508206 00000 n -0000508270 00000 n -0000508334 00000 n -0000508398 00000 n -0000508461 00000 n -0000508525 00000 n -0000508588 00000 n -0000508904 00000 n -0000508967 00000 n -0000509030 00000 n -0000509094 00000 n -0000509157 00000 n -0000509221 00000 n -0000509284 00000 n -0000509348 00000 n -0000509411 00000 n -0000509475 00000 n -0000509538 00000 n -0000509602 00000 n -0000509665 00000 n -0000509729 00000 n -0000509792 00000 n -0000509856 00000 n -0000509919 00000 n -0000510235 00000 n -0000510298 00000 n -0000510360 00000 n -0000510424 00000 n -0000510487 00000 n -0000510551 00000 n -0000510740 00000 n -0000510803 00000 n -0000510866 00000 n -0000510930 00000 n -0000510993 00000 n -0000511057 00000 n -0000515614 00000 n -0000513154 00000 n -0000511312 00000 n -0000513278 00000 n -0000513467 00000 n -0000513529 00000 n -0000513592 00000 n -0000513656 00000 n -0000513719 00000 n -0000513783 00000 n -0000513972 00000 n -0000514035 00000 n -0000514098 00000 n -0000514162 00000 n -0000514225 00000 n -0000514289 00000 n -0000514603 00000 n -0000514666 00000 n -0000514729 00000 n -0000515043 00000 n -0000515106 00000 n -0000515169 00000 n -0000515233 00000 n -0000515297 00000 n -0000515361 00000 n -0000515425 00000 n -0000515488 00000 n -0000520106 00000 n -0000517781 00000 n -0000515744 00000 n -0000517905 00000 n -0000518093 00000 n -0000518219 00000 n -0000518282 00000 n -0000518472 00000 n -0000518660 00000 n -0000518723 00000 n -0000518911 00000 n -0000518974 00000 n -0000519037 00000 n -0000519101 00000 n -0000519288 00000 n -0000519351 00000 n -0000519415 00000 n -0000519602 00000 n -0000519791 00000 n -0000519980 00000 n -0000523533 00000 n -0000521523 00000 n -0000520236 00000 n -0000521647 00000 n -0000521834 00000 n -0000522149 00000 n -0000522462 00000 n -0000522525 00000 n -0000522588 00000 n -0000522651 00000 n -0000522967 00000 n -0000523282 00000 n -0000526658 00000 n -0000524898 00000 n -0000523663 00000 n -0000525022 00000 n -0000525148 00000 n -0000525462 00000 n -0000525777 00000 n -0000526092 00000 n -0000526406 00000 n -0000530055 00000 n -0000528044 00000 n -0000526788 00000 n -0000528168 00000 n -0000528294 00000 n -0000528609 00000 n -0000528922 00000 n -0000529237 00000 n -0000529299 00000 n -0000529363 00000 n -0000529678 00000 n -0000529741 00000 n -0000529804 00000 n -0000584311 00000 n -0000533182 00000 n -0000531233 00000 n -0000530185 00000 n -0000531357 00000 n -0000531483 00000 n -0000531798 00000 n -0000532111 00000 n -0000532426 00000 n -0000532741 00000 n -0000533056 00000 n -0000538774 00000 n -0000535933 00000 n -0000533312 00000 n -0000536057 00000 n -0000536308 00000 n -0000536371 00000 n -0000536435 00000 n -0000536499 00000 n -0000536688 00000 n -0000536749 00000 n -0000536813 00000 n -0000536877 00000 n -0000536940 00000 n -0000537003 00000 n -0000537067 00000 n -0000537131 00000 n -0000537195 00000 n -0000537384 00000 n -0000537447 00000 n -0000537510 00000 n -0000537573 00000 n -0000537762 00000 n -0000537825 00000 n -0000537888 00000 n -0000537952 00000 n -0000538015 00000 n -0000538205 00000 n -0000538268 00000 n -0000538331 00000 n -0000538394 00000 n -0000538457 00000 n -0000538647 00000 n -0000538710 00000 n -0000542255 00000 n -0000539933 00000 n -0000538904 00000 n -0000540057 00000 n -0000540309 00000 n -0000540621 00000 n -0000540684 00000 n -0000540871 00000 n -0000541185 00000 n -0000541248 00000 n -0000541437 00000 n -0000541751 00000 n -0000541814 00000 n -0000542004 00000 n -0000547036 00000 n -0000544199 00000 n -0000542385 00000 n -0000544323 00000 n -0000544511 00000 n -0000544573 00000 n -0000544635 00000 n -0000544699 00000 n -0000544763 00000 n -0000544827 00000 n -0000544890 00000 n -0000544954 00000 n -0000545081 00000 n -0000545144 00000 n -0000545207 00000 n -0000545397 00000 n -0000545585 00000 n -0000545899 00000 n -0000545962 00000 n -0000546025 00000 n -0000546088 00000 n -0000546152 00000 n -0000546216 00000 n -0000546280 00000 n -0000546469 00000 n -0000546658 00000 n -0000546721 00000 n -0000546910 00000 n -0000550294 00000 n -0000548850 00000 n -0000547166 00000 n -0000548974 00000 n -0000549099 00000 n -0000549224 00000 n -0000549412 00000 n -0000549475 00000 n -0000549538 00000 n -0000549602 00000 n -0000549790 00000 n -0000549853 00000 n -0000549916 00000 n -0000550168 00000 n -0000553639 00000 n -0000551560 00000 n -0000550438 00000 n -0000551684 00000 n -0000551999 00000 n -0000552062 00000 n -0000552252 00000 n -0000552440 00000 n -0000552503 00000 n -0000552692 00000 n -0000552880 00000 n -0000552943 00000 n -0000553007 00000 n -0000553196 00000 n -0000553385 00000 n -0000553448 00000 n -0000553512 00000 n -0000584436 00000 n -0000558103 00000 n -0000555136 00000 n -0000553769 00000 n -0000555260 00000 n -0000555449 00000 n -0000555574 00000 n -0000555637 00000 n -0000555701 00000 n -0000555765 00000 n -0000555829 00000 n -0000555893 00000 n -0000555957 00000 n -0000556021 00000 n -0000556148 00000 n -0000556337 00000 n -0000556400 00000 n -0000556588 00000 n -0000556651 00000 n -0000556713 00000 n -0000556903 00000 n -0000556966 00000 n -0000557156 00000 n -0000557219 00000 n -0000557283 00000 n -0000557473 00000 n -0000557662 00000 n -0000557725 00000 n -0000557789 00000 n -0000557977 00000 n -0000562048 00000 n -0000559901 00000 n -0000558247 00000 n -0000560025 00000 n -0000560151 00000 n -0000560214 00000 n -0000560278 00000 n -0000560405 00000 n -0000560468 00000 n -0000560532 00000 n -0000560721 00000 n -0000560783 00000 n -0000560846 00000 n -0000560910 00000 n -0000560974 00000 n -0000561162 00000 n -0000561225 00000 n -0000561414 00000 n -0000561477 00000 n -0000561541 00000 n -0000561605 00000 n -0000561669 00000 n -0000561922 00000 n -0000565967 00000 n -0000563438 00000 n -0000562192 00000 n -0000563562 00000 n -0000563815 00000 n -0000563877 00000 n -0000564067 00000 n -0000564256 00000 n -0000564319 00000 n -0000564509 00000 n -0000564699 00000 n -0000564889 00000 n -0000564952 00000 n -0000565143 00000 n -0000565205 00000 n -0000565396 00000 n -0000565459 00000 n -0000565523 00000 n -0000565714 00000 n -0000565776 00000 n -0000565840 00000 n -0000569955 00000 n -0000567487 00000 n -0000566097 00000 n -0000567611 00000 n -0000567801 00000 n -0000567864 00000 n -0000567928 00000 n -0000568119 00000 n -0000568181 00000 n -0000568369 00000 n -0000568432 00000 n -0000568496 00000 n -0000568687 00000 n -0000568750 00000 n -0000568814 00000 n -0000568941 00000 n -0000572701 00000 n -0000571250 00000 n -0000570099 00000 n -0000571374 00000 n -0000571692 00000 n -0000571816 00000 n -0000572196 00000 n -0000572575 00000 n -0000575628 00000 n -0000573858 00000 n -0000572831 00000 n -0000573982 00000 n -0000574045 00000 n -0000574360 00000 n -0000584561 00000 n -0000578847 00000 n -0000577522 00000 n -0000575758 00000 n -0000577646 00000 n -0000577773 00000 n -0000577836 00000 n -0000577961 00000 n -0000578277 00000 n -0000578340 00000 n -0000578403 00000 n -0000578467 00000 n -0000578656 00000 n -0000578719 00000 n -0000578783 00000 n -0000581117 00000 n -0000581092 00000 n -0000581206 00000 n -0000584650 00000 n -0000584776 00000 n -0000584875 00000 n -0000584948 00000 n -0000612890 00000 n -0000636722 00000 n -0000636763 00000 n -0000636803 00000 n -0000637052 00000 n -trailer -<< -/Size 3098 -/Root 3096 0 R -/Info 3097 0 R ->> -startxref -637241 -%%EOF diff --git a/pow/POW-0.7/docs/POW_pdf.dsl b/pow/POW-0.7/docs/POW_pdf.dsl deleted file mode 100644 index d74f6704..00000000 --- a/pow/POW-0.7/docs/POW_pdf.dsl +++ /dev/null @@ -1,112 +0,0 @@ -<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ -<!ENTITY dbstyle SYSTEM "/usr/share/sgml/docbook/dsssl-stylesheets-1.77/print/docbook.dsl" CDATA DSSSL> -]> - -<style-sheet> -<style-specification use="docbook"> -<style-specification-body> - -;; user modifications -(define %paper-type% "A4") -(define %default-quadding% 'justify) -(define %block-sep% (* %para-sep% 1.0)) - - -;; modify paramdef to replace trailing semicolon with colon -(element paramdef - (let ((param (select-elements (children (current-node)) (normalize "parameter")))) - (make sequence - (if (equal? (child-number (current-node)) 1) - (literal "(") - (empty-sosofo)) - (if (equal? %funcsynopsis-style% 'ansi) - (process-children) - (process-node-list param)) - (if (equal? (gi (ifollow (current-node))) (normalize "paramdef")) - (literal ", ") - (literal "):"))))) - -(element void - (literal "():")) - -(element parameter ($mono-seq$)) - -(mode cs-python-mode - (element classsynopsis - (let* ((classes (select-elements (children (current-node)) - (normalize "ooclass"))) - (classname (node-list-first classes)) - (superclasses (node-list-rest classes))) - (make display-group - use: verbatim-style - (make paragraph - (literal "class ") - (process-node-list classname) - (if (node-list-empty? superclasses) - (literal ":") - (make sequence - (literal "(") - (process-node-list superclasses) - (literal "):")))) - (process-node-list - (node-list-filter-by-gi - (children (current-node)) - (list (normalize "constructorsynopsis") - (normalize "destructorsynopsis") - (normalize "fieldsynopsis") - (normalize "methodsynopsis") - (normalize "classsynopsisinfo")))) - )))) - -(element ooclass - (make sequence - (process-children) - (cond - ;;((first-sibling?) (literal " ")) - ((first-sibling?) (empty-sosofo)) - ((last-sibling?) (empty-sosofo)) - (#t (literal ", "))))) - - - (element constructorsynopsis - (python-constructor-synopsis)) - - (element destructorsynopsis - (python-constructor-synopsis)) - - (element classsynopsisinfo - ($verbatim-display$ %indent-classsynopsisinfo-lines% %number-classsynopsisinfo-lines%)) - -(define (python-constructor-synopsis #!optional (nd (current-node))) - (let* ((the-method-params (select-elements (children nd) (normalize "methodparam")))) - (make paragraph - (literal " def __init__(") - (process-node-list the-method-params) - (literal "):")))) - -(define (python-destructor-synopsis #!optional (nd (current-node))) - (let* ((the-method-params (select-elements (children nd) (normalize "methodparam")))) - (make paragraph - (literal " def __del__(") - (process-node-list the-method-params) - (literal "):")))) - -;;(element parameter -;; (process-children)) - -(define (python-method-synopsis #!optional (nd (current-node))) - (let* ((the-method-name (select-elements (children nd) (normalize "methodname"))) - (the-method-params (select-elements (children nd) (normalize "methodparam"))) - ) - (make paragraph - (literal " def ") - (process-node-list the-method-name) - (literal "(") - (process-node-list the-method-params) - (literal "):")))) - - -</style-specification-body> -</style-specification> -<external-specification id="docbook" document="dbstyle"> -</style-sheet> diff --git a/pow/POW-0.7/docs/doc.py b/pow/POW-0.7/docs/doc.py deleted file mode 100755 index 0a0e4450..00000000 --- a/pow/POW-0.7/docs/doc.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python - -import sys, string, os, commands - -class DocError(Exception): - def __init__(self, mesg): - self.mesg = mesg - - def __str__(self): - return self.mesg - -class Extractor: - def __init__(self, module): - exec('import %s' % module) - self.module = eval(module) - - def get(self): - fragments = '' - for doc in self.module._docset(): - fragments += doc - - return '<moduleSet>' + fragments + '</moduleSet>' - - -if __name__ == '__main__': - if len(sys.argv) < 2: - raise DocError( 'module name must be supplied') - - lines = '' - for mod in sys.argv[1:]: - print 'processing module', mod - ex = Extractor(mod) - lines += ex.get() - - file = open('fragments.xml', 'w') - file.write('%s\n%s\n%s' % ('<collection>', lines, '</collection>')) - file.close() - - print 'transforming document...' - (status, doc) = commands.getstatusoutput('java org.apache.xalan.xslt.Process -IN fragments.xml -XSL doc.xsl' ) - if status: - print doc - sys.exit(1) - - doc = doc.replace('/>', '>') - lines = string.split(doc, '\n') - lines[0] = '<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN">' - - file = open(sys.argv[1] + '.sgm', 'w') - file.write( string.join(lines, '\n') ) - file.close() - diff --git a/pow/POW-0.7/docs/doc.sh b/pow/POW-0.7/docs/doc.sh deleted file mode 100755 index 32fe72e9..00000000 --- a/pow/POW-0.7/docs/doc.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/ksh - -PACKAGE="POW" -MODULES="POW POW.pkix" - -./doc.py ${MODULES} -if [[ $? == 0 ]] -then - openjade -t tex -d POW_pdf.dsl ${PACKAGE}.sgm - pdfjadetex ${PACKAGE}.tex -else - print 'error producing SGML file' -fi diff --git a/pow/POW-0.7/docs/doc.xsl b/pow/POW-0.7/docs/doc.xsl deleted file mode 100644 index 61b95670..00000000 --- a/pow/POW-0.7/docs/doc.xsl +++ /dev/null @@ -1,188 +0,0 @@ -<?xml version="1.0"?> - -<xsl:stylesheet - xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - version="1.0" -> - <xsl:template match="/"> - <book> - <bookinfo> - <title>The POW Package</title> - <author><firstname>Peter</firstname> <surname>Shannon</surname></author> - </bookinfo> - <xsl:for-each select="collection/moduleSet"> - <xsl:call-template name="processModule"/> - </xsl:for-each> - </book> - </xsl:template> - - <xsl:template name="processModule"> - <chapter> - <title>The <xsl:value-of select="moduleDescription/header/name"/> Module</title> - <sect1> - <title>Introduction</title> - <xsl:copy-of select="moduleDescription/body/*"/> - </sect1> - <xsl:if test="modulefunction"> - <sect1> - <title>Module Functions</title> - <xsl:call-template name="functionPrototypes"/> - <xsl:call-template name="functionDescriptions"/> - </sect1> - </xsl:if> - <sect1> - <title>Module Classes</title> - <xsl:call-template name="moduleClasses"/> - </sect1> - </chapter> - </xsl:template> - - <xsl:template name="functionPrototypes"> - <sect2> - <title>Function Prototypes</title> - <funcsynopsis> - <xsl:for-each select="modulefunction"> - <funcprototype> - <funcdef>def <function><xsl:value-of select="header/name"/></function></funcdef> - <xsl:call-template name="functionParameter"/> - </funcprototype> - </xsl:for-each> - </funcsynopsis> - </sect2> - </xsl:template> - - <xsl:template name="functionDescriptions"> - <sect2> - <title>Function Descriptions</title> - <xsl:for-each select="modulefunction"> - <sect3> - <title>The <function><xsl:value-of select="header/name"/></function> Function</title> - - <funcsynopsis> - <funcprototype> - <funcdef>def <function><xsl:value-of select="header/name"/></function></funcdef> - <xsl:call-template name="functionParameter"/> - </funcprototype> - </funcsynopsis> - - <xsl:copy-of select="body/*"/> - </sect3> - </xsl:for-each> - </sect2> - </xsl:template> - - - <xsl:template name="moduleClasses"> - <xsl:for-each select="class"> - <xsl:variable name="class"> - <xsl:value-of select="header/name"/> - </xsl:variable> - <sect2> - <title>The <classname><xsl:value-of select="$class"/></classname> Class</title> - - <xsl:copy-of select="body/*"/> - - <sect3> - <title>Class Prototypes</title> - <xsl:call-template name="methodPrototypes"> - <xsl:with-param name="class"> - <xsl:value-of select="$class"/> - </xsl:with-param> - </xsl:call-template> - </sect3> - - <xsl:call-template name="methodDescriptions"> - <xsl:with-param name="class"> - <xsl:value-of select="$class"/> - </xsl:with-param> - </xsl:call-template> - - </sect2> - </xsl:for-each> - </xsl:template> - - <xsl:template name="methodPrototypes"> - <xsl:param name="class"/> - <classsynopsis> - <xsl:attribute name="language">python</xsl:attribute> - <ooclass><classname><xsl:value-of select="$class"/></classname></ooclass> - <xsl:if test="header/super"> - <xsl:for-each select="header/super"> - <ooclass><classname><xsl:value-of select="."/></classname></ooclass> - </xsl:for-each> - </xsl:if> - <xsl:if test="..//header[memberof=$class]"> - <xsl:for-each select="../constructor[header/memberof=$class]"> - <constructorsynopsis> - <methodname><xsl:value-of select="$class"/></methodname> - <xsl:call-template name="methodParameter"/> - </constructorsynopsis> - </xsl:for-each> - <xsl:for-each select="../method[header/memberof=$class]"> - <methodsynopsis> - <methodname><xsl:value-of select="header/name"/></methodname> - <xsl:call-template name="methodParameter"/> - </methodsynopsis> - </xsl:for-each> - </xsl:if> - </classsynopsis> - </xsl:template> - - <xsl:template name="functionParameter"> - <xsl:choose> - <xsl:when test="header/parameter"> - <xsl:for-each select="header/parameter"> - <paramdef> - <parameter> - <xsl:value-of select="self::node()"/> - </parameter> - </paramdef> - </xsl:for-each> - </xsl:when> - <xsl:otherwise> - <void/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="methodParameter"> - <xsl:choose> - <xsl:when test="header/parameter"> - <xsl:for-each select="header/parameter"> - <methodparam> - <parameter> - <xsl:value-of select="self::node()"/> - </parameter> - </methodparam> - </xsl:for-each> - </xsl:when> - <xsl:otherwise> - <void/> - </xsl:otherwise> - </xsl:choose> - </xsl:template> - - <xsl:template name="methodDescriptions"> - <xsl:param name="class"/> - - <xsl:for-each select="../constructor[header/memberof=$class]"> - <xsl:if test="body"> - <sect3> - <title>The <function>__init__</function> Method</title> - <xsl:copy-of select="body/*"/> - </sect3> - </xsl:if> - </xsl:for-each> - - <xsl:for-each select="../method[header/memberof=$class]"> - <xsl:if test="body"> - <sect3> - <title>The <function><xsl:value-of select="header/name"/></function> Method</title> - <xsl:copy-of select="body/*"/> - </sect3> - </xsl:if> - </xsl:for-each> - - </xsl:template> - -</xsl:stylesheet> diff --git a/pow/POW-0.7/dumpasn1.cfg b/pow/POW-0.7/dumpasn1.cfg deleted file mode 100644 index a653f049..00000000 --- a/pow/POW-0.7/dumpasn1.cfg +++ /dev/null @@ -1,6525 +0,0 @@ -# dumpasn1 Object Identifier configuration file, available from -# http://www.cs.auckland.ac.nz/~pgut001/dumpasn1.cfg. This is read by -# dumpasn1.c and is used to display information on Object Identifiers found in -# ASN.1 objects. This is merely a list of things that you might conceivably -# find in use somewhere, and should in no way be taken as a guide to which OIDs -# to use - many of these will never been seen in the wild, or should be shot on -# sight if encountered. -# -# The format of this file is as follows: -# -# - All blank lines and lines beginning with a '#' are ignored. -# - OIDs are described by a set of attributes, of which at least the 'OID' and -# 'Description' must be present. Optional attributes are a 'Comment' and a -# 'Warning' (to indicate that dumpasn1 will display a warning if this OID is -# encountered). -# - Attributes are listed one per line. The first attribute should be an 'OID' -# attribute since this is used to denote the start of a new OID description. -# The other attributes may be given in any order. -# - Offical attribute names vary widely depending on who's creating them. In -# an attempt at avoiding a confusing mass of naming styles, this file aims -# for consistency by normalising the naming for attributes, however this -# means that the name used here may not entirely match the actual name. -# -# See the rest of this file for examples of what an OID description should look -# like. - -# Deutsche Telekom/Telesec - -OID = 06 05 02 82 06 01 0A -Comment = Deutsche Telekom -Description = Telesec (0 2 262 1 10) - -OID = 06 06 02 82 06 01 0A 00 -Comment = Telesec -Description = extension (0 2 262 1 10 0) - -OID = 06 06 02 82 06 01 0A 01 -Comment = Telesec -Description = mechanism (0 2 262 1 10 1) - -OID = 06 07 02 82 06 01 0A 01 00 -Comment = Telesec mechanism -Description = authentication (0 2 262 1 10 1 0) - -OID = 06 08 02 82 06 01 0A 01 00 01 -Comment = Telesec authentication -Description = passwordAuthentication (0 2 262 1 10 1 0 1) - -OID = 06 08 02 82 06 01 0A 01 00 02 -Comment = Telesec authentication -Description = protectedPasswordAuthentication (0 2 262 1 10 1 0 2) - -OID = 06 08 02 82 06 01 0A 01 00 03 -Comment = Telesec authentication -Description = oneWayX509Authentication (0 2 262 1 10 1 0 3) - -OID = 06 08 02 82 06 01 0A 01 00 04 -Comment = Telesec authentication -Description = twoWayX509Authentication (0 2 262 1 10 1 0 4) - -OID = 06 08 02 82 06 01 0A 01 00 05 -Comment = Telesec authentication -Description = threeWayX509Authentication (0 2 262 1 10 1 0 5) - -OID = 06 08 02 82 06 01 0A 01 00 06 -Comment = Telesec authentication -Description = oneWayISO9798Authentication (0 2 262 1 10 1 0 6) - -OID = 06 08 02 82 06 01 0A 01 00 07 -Comment = Telesec authentication -Description = twoWayISO9798Authentication (0 2 262 1 10 1 0 7) - -OID = 06 08 02 82 06 01 0A 01 00 08 -Comment = Telesec authentication -Description = telekomAuthentication (0 2 262 1 10 1 0 8) - -OID = 06 07 02 82 06 01 0A 01 01 -Comment = Telesec mechanism -Description = signature (0 2 262 1 10 1 1) - -OID = 06 08 02 82 06 01 0A 01 01 01 -Comment = Telesec mechanism -Description = md4WithRSAAndISO9697 (0 2 262 1 10 1 1 1) - -OID = 06 08 02 82 06 01 0A 01 01 02 -Comment = Telesec mechanism -Description = md4WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 2) - -OID = 06 08 02 82 06 01 0A 01 01 03 -Comment = Telesec mechanism -Description = md5WithRSAAndISO9697 (0 2 262 1 10 1 1 3) - -OID = 06 08 02 82 06 01 0A 01 01 04 -Comment = Telesec mechanism -Description = md5WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 4) - -# PKCS #1 signature with RIPEMD-160 -OID = 06 08 02 82 06 01 0A 01 01 05 -Comment = Telesec mechanism -Description = ripemd160WithRSAAndTelekomSignatureStandard (0 2 262 1 10 1 1 5) - -# RIPEMD-160 with raw RSA (ie no padding, just 160 bytes encrypted) signature -OID = 06 08 02 82 06 01 0A 01 01 09 -Comment = Telesec signature -Description = hbciRsaSignature (0 2 262 1 10 1 1 9) - -OID = 06 07 02 82 06 01 0A 01 02 -Comment = Telesec mechanism -Description = encryption (0 2 262 1 10 1 2) - -# Specially recommended by the NSA for German use -OID = 06 08 02 82 06 01 0A 01 02 00 -Comment = Telesec encryption -Description = none (0 2 262 1 10 1 2 0) - -OID = 06 08 02 82 06 01 0A 01 02 01 -Comment = Telesec encryption -Description = rsaTelesec (0 2 262 1 10 1 2 1) - -OID = 06 08 02 82 06 01 0A 01 02 02 -Comment = Telesec encryption -Description = des (0 2 262 1 10 1 2 2) - -OID = 06 09 02 82 06 01 0A 01 02 02 01 -Comment = Telesec encryption -Description = desECB (0 2 262 1 10 1 2 2 1) - -OID = 06 09 02 82 06 01 0A 01 02 02 02 -Comment = Telesec encryption -Description = desCBC (0 2 262 1 10 1 2 2 2) - -OID = 06 09 02 82 06 01 0A 01 02 02 03 -Comment = Telesec encryption -Description = desOFB (0 2 262 1 10 1 2 2 3) - -OID = 06 09 02 82 06 01 0A 01 02 02 04 -Comment = Telesec encryption -Description = desCFB8 (0 2 262 1 10 1 2 2 4) - -OID = 06 09 02 82 06 01 0A 01 02 02 05 -Comment = Telesec encryption -Description = desCFB64 (0 2 262 1 10 1 2 2 5) - -OID = 06 08 02 82 06 01 0A 01 02 03 -Comment = Telesec encryption -Description = des3 (0 2 262 1 10 1 2 3) - -OID = 06 09 02 82 06 01 0A 01 02 03 01 -Comment = Telesec encryption -Description = des3ECB (0 2 262 1 10 1 2 3 1) - -OID = 06 09 02 82 06 01 0A 01 02 03 02 -Comment = Telesec encryption -Description = des3CBC (0 2 262 1 10 1 2 3 2) - -OID = 06 09 02 82 06 01 0A 01 02 03 03 -Comment = Telesec encryption -Description = des3OFB (0 2 262 1 10 1 2 3 3) - -OID = 06 09 02 82 06 01 0A 01 02 03 04 -Comment = Telesec encryption -Description = des3CFB8 (0 2 262 1 10 1 2 3 4) - -OID = 06 09 02 82 06 01 0A 01 02 03 05 -Comment = Telesec encryption -Description = des3CFB64 (0 2 262 1 10 1 2 3 5) - -OID = 06 08 02 82 06 01 0A 01 02 04 -Comment = Telesec encryption -Description = magenta (0 2 262 1 10 1 2 4) - -OID = 06 08 02 82 06 01 0A 01 02 05 -Comment = Telesec encryption -Description = idea (0 2 262 1 10 1 2 5) - -OID = 06 09 02 82 06 01 0A 01 02 05 01 -Comment = Telesec encryption -Description = ideaECB (0 2 262 1 10 1 2 5 1) - -OID = 06 09 02 82 06 01 0A 01 02 05 02 -Comment = Telesec encryption -Description = ideaCBC (0 2 262 1 10 1 2 5 2) - -OID = 06 09 02 82 06 01 0A 01 02 05 03 -Comment = Telesec encryption -Description = ideaOFB (0 2 262 1 10 1 2 5 3) - -OID = 06 09 02 82 06 01 0A 01 02 05 04 -Comment = Telesec encryption -Description = ideaCFB8 (0 2 262 1 10 1 2 5 4) - -OID = 06 09 02 82 06 01 0A 01 02 05 05 -Comment = Telesec encryption -Description = ideaCFB64 (0 2 262 1 10 1 2 5 5) - -OID = 06 07 02 82 06 01 0A 01 03 -Comment = Telesec mechanism -Description = oneWayFunction (0 2 262 1 10 1 3) - -OID = 06 08 02 82 06 01 0A 01 03 01 -Comment = Telesec one-way function -Description = md4 (0 2 262 1 10 1 3 1) - -OID = 06 08 02 82 06 01 0A 01 03 02 -Comment = Telesec one-way function -Description = md5 (0 2 262 1 10 1 3 2) - -OID = 06 08 02 82 06 01 0A 01 03 03 -Comment = Telesec one-way function -Description = sqModNX509 (0 2 262 1 10 1 3 3) - -OID = 06 08 02 82 06 01 0A 01 03 04 -Comment = Telesec one-way function -Description = sqModNISO (0 2 262 1 10 1 3 4) - -OID = 06 08 02 82 06 01 0A 01 03 05 -Comment = Telesec one-way function -Description = ripemd128 (0 2 262 1 10 1 3 5) - -OID = 06 08 02 82 06 01 0A 01 03 06 -Comment = Telesec one-way function -Description = hashUsingBlockCipher (0 2 262 1 10 1 3 6) - -OID = 06 08 02 82 06 01 0A 01 03 07 -Comment = Telesec one-way function -Description = mac (0 2 262 1 10 1 3 7) - -OID = 06 08 02 82 06 01 0A 01 03 08 -Comment = Telesec one-way function -Description = ripemd160 (0 2 262 1 10 1 3 8) - -OID = 06 07 02 82 06 01 0A 01 04 -Comment = Telesec mechanism -Description = fecFunction (0 2 262 1 10 1 4) - -OID = 06 08 02 82 06 01 0A 01 04 01 -Comment = Telesec mechanism -Description = reedSolomon (0 2 262 1 10 1 4 1) - -OID = 06 06 02 82 06 01 0A 02 -Comment = Telesec -Description = module (0 2 262 1 10 2) - -OID = 06 07 02 82 06 01 0A 02 00 -Comment = Telesec module -Description = algorithms (0 2 262 1 10 2 0) - -OID = 06 07 02 82 06 01 0A 02 01 -Comment = Telesec module -Description = attributeTypes (0 2 262 1 10 2 1) - -OID = 06 07 02 82 06 01 0A 02 02 -Comment = Telesec module -Description = certificateTypes (0 2 262 1 10 2 2) - -OID = 06 07 02 82 06 01 0A 02 03 -Comment = Telesec module -Description = messageTypes (0 2 262 1 10 2 3) - -OID = 06 07 02 82 06 01 0A 02 04 -Comment = Telesec module -Description = plProtocol (0 2 262 1 10 2 4) - -OID = 06 07 02 82 06 01 0A 02 05 -Comment = Telesec module -Description = smeAndComponentsOfSme (0 2 262 1 10 2 5) - -OID = 06 07 02 82 06 01 0A 02 06 -Comment = Telesec module -Description = fec (0 2 262 1 10 2 6) - -OID = 06 07 02 82 06 01 0A 02 07 -Comment = Telesec module -Description = usefulDefinitions (0 2 262 1 10 2 7) - -OID = 06 07 02 82 06 01 0A 02 08 -Comment = Telesec module -Description = stefiles (0 2 262 1 10 2 8) - -OID = 06 07 02 82 06 01 0A 02 09 -Comment = Telesec module -Description = sadmib (0 2 262 1 10 2 9) - -OID = 06 07 02 82 06 01 0A 02 0A -Comment = Telesec module -Description = electronicOrder (0 2 262 1 10 2 10) - -OID = 06 07 02 82 06 01 0A 02 0B -Comment = Telesec module -Description = telesecTtpAsymmetricApplication (0 2 262 1 10 2 11) - -OID = 06 07 02 82 06 01 0A 02 0C -Comment = Telesec module -Description = telesecTtpBasisApplication (0 2 262 1 10 2 12) - -OID = 06 07 02 82 06 01 0A 02 0D -Comment = Telesec module -Description = telesecTtpMessages (0 2 262 1 10 2 13) - -OID = 06 07 02 82 06 01 0A 02 0E -Comment = Telesec module -Description = telesecTtpTimeStampApplication (0 2 262 1 10 2 14) - -OID = 06 06 02 82 06 01 0A 03 -Comment = Telesec -Description = objectClass (0 2 262 1 10 3) - -OID = 06 07 02 82 06 01 0A 03 00 -Comment = Telesec object class -Description = telesecOtherName (0 2 262 1 10 3 0) - -OID = 06 07 02 82 06 01 0A 03 01 -Comment = Telesec object class -Description = directory (0 2 262 1 10 3 1) - -OID = 06 07 02 82 06 01 0A 03 02 -Comment = Telesec object class -Description = directoryType (0 2 262 1 10 3 2) - -OID = 06 07 02 82 06 01 0A 03 03 -Comment = Telesec object class -Description = directoryGroup (0 2 262 1 10 3 3) - -OID = 06 07 02 82 06 01 0A 03 04 -Comment = Telesec object class -Description = directoryUser (0 2 262 1 10 3 4) - -OID = 06 07 02 82 06 01 0A 03 05 -Comment = Telesec object class -Description = symmetricKeyEntry (0 2 262 1 10 3 5) - -OID = 06 06 02 82 06 01 0A 04 -Comment = Telesec -Description = package (0 2 262 1 10 4) - -OID = 06 06 02 82 06 01 0A 05 -Comment = Telesec -Description = parameter (0 2 262 1 10 5) - -OID = 06 06 02 82 06 01 0A 06 -Comment = Telesec -Description = nameBinding (0 2 262 1 10 6) - -OID = 06 06 02 82 06 01 0A 07 -Comment = Telesec -Description = attribute (0 2 262 1 10 7) - -OID = 06 07 02 82 06 01 0A 07 00 -Comment = Telesec attribute -Description = applicationGroupIdentifier (0 2 262 1 10 7 0) - -OID = 06 07 02 82 06 01 0A 07 01 -Comment = Telesec attribute -Description = certificateType (0 2 262 1 10 7 1) - -OID = 06 07 02 82 06 01 0A 07 02 -Comment = Telesec attribute -Description = telesecCertificate (0 2 262 1 10 7 2) - -OID = 06 07 02 82 06 01 0A 07 03 -Comment = Telesec attribute -Description = certificateNumber (0 2 262 1 10 7 3) - -OID = 06 07 02 82 06 01 0A 07 04 -Comment = Telesec attribute -Description = certificateRevocationList (0 2 262 1 10 7 4) - -OID = 06 07 02 82 06 01 0A 07 05 -Comment = Telesec attribute -Description = creationDate (0 2 262 1 10 7 5) - -OID = 06 07 02 82 06 01 0A 07 06 -Comment = Telesec attribute -Description = issuer (0 2 262 1 10 7 6) - -OID = 06 07 02 82 06 01 0A 07 07 -Comment = Telesec attribute -Description = namingAuthority (0 2 262 1 10 7 7) - -OID = 06 07 02 82 06 01 0A 07 08 -Comment = Telesec attribute -Description = publicKeyDirectory (0 2 262 1 10 7 8) - -OID = 06 07 02 82 06 01 0A 07 09 -Comment = Telesec attribute -Description = securityDomain (0 2 262 1 10 7 9) - -OID = 06 07 02 82 06 01 0A 07 0A -Comment = Telesec attribute -Description = subject (0 2 262 1 10 7 10) - -OID = 06 07 02 82 06 01 0A 07 0B -Comment = Telesec attribute -Description = timeOfRevocation (0 2 262 1 10 7 11) - -OID = 06 07 02 82 06 01 0A 07 0C -Comment = Telesec attribute -Description = userGroupReference (0 2 262 1 10 7 12) - -OID = 06 07 02 82 06 01 0A 07 0D -Comment = Telesec attribute -Description = validity (0 2 262 1 10 7 13) - -OID = 06 07 02 82 06 01 0A 07 0E -Comment = Telesec attribute -Description = zert93 (0 2 262 1 10 7 14) - -# It really is called that -OID = 06 07 02 82 06 01 0A 07 0F -Comment = Telesec attribute -Description = securityMessEnv (0 2 262 1 10 7 15) - -OID = 06 07 02 82 06 01 0A 07 10 -Comment = Telesec attribute -Description = anonymizedPublicKeyDirectory (0 2 262 1 10 7 16) - -OID = 06 07 02 82 06 01 0A 07 11 -Comment = Telesec attribute -Description = telesecGivenName (0 2 262 1 10 7 17) - -OID = 06 07 02 82 06 01 0A 07 12 -Comment = Telesec attribute -Description = nameAdditions (0 2 262 1 10 7 18) - -OID = 06 07 02 82 06 01 0A 07 13 -Comment = Telesec attribute -Description = telesecPostalCode (0 2 262 1 10 7 19) - -OID = 06 07 02 82 06 01 0A 07 14 -Comment = Telesec attribute -Description = nameDistinguisher (0 2 262 1 10 7 20) - -OID = 06 07 02 82 06 01 0A 07 15 -Comment = Telesec attribute -Description = telesecCertificateList (0 2 262 1 10 7 21) - -OID = 06 07 02 82 06 01 0A 07 16 -Comment = Telesec attribute -Description = teletrustCertificateList (0 2 262 1 10 7 22) - -OID = 06 07 02 82 06 01 0A 07 17 -Comment = Telesec attribute -Description = x509CertificateList (0 2 262 1 10 7 23) - -OID = 06 07 02 82 06 01 0A 07 18 -Comment = Telesec attribute -Description = timeOfIssue (0 2 262 1 10 7 24) - -OID = 06 07 02 82 06 01 0A 07 19 -Comment = Telesec attribute -Description = physicalCardNumber (0 2 262 1 10 7 25) - -OID = 06 07 02 82 06 01 0A 07 1A -Comment = Telesec attribute -Description = fileType (0 2 262 1 10 7 26) - -OID = 06 07 02 82 06 01 0A 07 1B -Comment = Telesec attribute -Description = ctlFileIsArchive (0 2 262 1 10 7 27) - -OID = 06 07 02 82 06 01 0A 07 1C -Comment = Telesec attribute -Description = emailAddress (0 2 262 1 10 7 28) - -OID = 06 07 02 82 06 01 0A 07 1D -Comment = Telesec attribute -Description = certificateTemplateList (0 2 262 1 10 7 29) - -OID = 06 07 02 82 06 01 0A 07 1E -Comment = Telesec attribute -Description = directoryName (0 2 262 1 10 7 30) - -OID = 06 07 02 82 06 01 0A 07 1F -Comment = Telesec attribute -Description = directoryTypeName (0 2 262 1 10 7 31) - -OID = 06 07 02 82 06 01 0A 07 20 -Comment = Telesec attribute -Description = directoryGroupName (0 2 262 1 10 7 32) - -OID = 06 07 02 82 06 01 0A 07 21 -Comment = Telesec attribute -Description = directoryUserName (0 2 262 1 10 7 33) - -OID = 06 07 02 82 06 01 0A 07 22 -Comment = Telesec attribute -Description = revocationFlag (0 2 262 1 10 7 34) - -OID = 06 07 02 82 06 01 0A 07 23 -Comment = Telesec attribute -Description = symmetricKeyEntryName (0 2 262 1 10 7 35) - -OID = 06 07 02 82 06 01 0A 07 24 -Comment = Telesec attribute -Description = glNumber (0 2 262 1 10 7 36) - -OID = 06 07 02 82 06 01 0A 07 25 -Comment = Telesec attribute -Description = goNumber (0 2 262 1 10 7 37) - -OID = 06 07 02 82 06 01 0A 07 26 -Comment = Telesec attribute -Description = gKeyData (0 2 262 1 10 7 38) - -OID = 06 07 02 82 06 01 0A 07 27 -Comment = Telesec attribute -Description = zKeyData (0 2 262 1 10 7 39) - -OID = 06 07 02 82 06 01 0A 07 28 -Comment = Telesec attribute -Description = ktKeyData (0 2 262 1 10 7 40) - -OID = 06 07 02 82 06 01 0A 07 29 -Comment = Telesec attribute -Description = ktKeyNumber (0 2 262 1 10 7 41) - -OID = 06 07 02 82 06 01 0A 07 33 -Comment = Telesec attribute -Description = timeOfRevocationGen (0 2 262 1 10 7 51) - -OID = 06 07 02 82 06 01 0A 07 34 -Comment = Telesec attribute -Description = liabilityText (0 2 262 1 10 7 52) - -OID = 06 06 02 82 06 01 0A 08 -Comment = Telesec -Description = attributeGroup (0 2 262 1 10 8) - -OID = 06 06 02 82 06 01 0A 09 -Comment = Telesec -Description = action (0 2 262 1 10 9) - -OID = 06 06 02 82 06 01 0A 0A -Comment = Telesec -Description = notification (0 2 262 1 10 10) - -OID = 06 06 02 82 06 01 0A 0B -Comment = Telesec -Description = snmp-mibs (0 2 262 1 10 11) - -OID = 06 07 02 82 06 01 0A 0B 01 -Comment = Telesec SNMP MIBs -Description = securityApplication (0 2 262 1 10 11 1) - -OID = 06 06 02 82 06 01 0A 0C -Comment = Telesec -Description = certAndCrlExtensionDefinitions (0 2 262 1 10 12) - -# ISIS-MTT SigG-Profile: Indicates that an attribute certificate -# exists, which limits the usability of this public key certificate. -OID = 06 07 02 82 06 01 0A 0C 00 -Comment = Telesec cert/CRL extension -Description = liabilityLimitationFlag (0 2 262 1 10 12 0) - -OID = 06 07 02 82 06 01 0A 0C 01 -Comment = Telesec cert/CRL extension -Description = telesecCertIdExt (0 2 262 1 10 12 1) - -OID = 06 07 02 82 06 01 0A 0C 02 -Comment = Telesec cert/CRL extension -Description = Telesec policyIdentifier (0 2 262 1 10 12 2) - -OID = 06 07 02 82 06 01 0A 0C 03 -Comment = Telesec cert/CRL extension -Description = telesecPolicyQualifierID (0 2 262 1 10 12 3) - -OID = 06 07 02 82 06 01 0A 0C 04 -Comment = Telesec cert/CRL extension -Description = telesecCRLFilteredExt (0 2 262 1 10 12 4) - -OID = 06 07 02 82 06 01 0A 0C 05 -Comment = Telesec cert/CRL extension -Description = telesecCRLFilterExt (0 2 262 1 10 12 5) - -OID = 06 07 02 82 06 01 0A 0C 06 -Comment = Telesec cert/CRL extension -Description = telesecNamingAuthorityExt (0 2 262 1 10 12 6) - -# BSI e-Pass (TR-03110/TR-03111). TA = Terminal Authentication (Passport -# PKI with monthly global cert updates), CA = Chip Authentication -# (Auth using static [EC]DH). - -OID = 06 05 04 00 7F 00 07 -Comment = BSI TR-03110/TR-03111 -Description = bsi (0 4 0 127 0 7) - -OID = 06 06 04 00 7F 00 07 01 -Comment = BSI TR-03111 -Description = bsiEcc (0 4 0 127 0 7 1) - -OID = 06 07 04 00 7F 00 07 01 01 -Comment = BSI TR-03111 -Description = bsifieldType (0 4 0 127 0 7 1 1) - -OID = 06 08 04 00 7F 00 07 01 01 01 -Comment = BSI TR-03111 -Description = bsiPrimeField (0 4 0 127 0 7 1 1 1) - -OID = 06 08 04 00 7F 00 07 01 01 02 -Comment = BSI TR-03111 -Description = bsiCharacteristicTwoField (0 4 0 127 0 7 1 1 2) - -OID = 06 09 04 00 7F 00 07 01 01 02 03 -Comment = BSI TR-03111 -Description = bsiCharacteristicTwoBasis (0 4 0 127 0 7 1 1 2 3) - -OID = 06 0A 04 00 7F 00 07 01 01 02 03 01 -Comment = BSI TR-03111 -Description = bsiGnBasis (0 4 0 127 0 7 1 1 2 3 1) - -OID = 06 0A 04 00 7F 00 07 01 01 02 03 02 -Comment = BSI TR-03111 -Description = bsiTpBasis (0 4 0 127 0 7 1 1 2 3 2) - -OID = 06 0A 04 00 7F 00 07 01 01 02 03 03 -Comment = BSI TR-03111 -Description = bsiPpBasis (0 4 0 127 0 7 1 1 2 3 3) - -OID = 06 07 04 00 7F 00 07 01 02 -Comment = BSI TR-03111 -Description = bsiEcKeyType (0 4 0 127 0 7 1 2) - -OID = 06 08 04 00 7F 00 07 01 02 01 -Comment = BSI TR-03111 -Description = bsiEcPublicKey (0 4 0 127 0 7 1 2 1) - -OID = 06 08 04 00 7F 00 07 01 04 01 -Comment = BSI TR-03111 -Description = bsiEcdsaSignatures (0 4 0 127 0 7 1 4 1) - -OID = 06 09 04 00 7F 00 07 01 04 01 01 -Comment = BSI TR-03111 -Description = bsiEcdsaWithSHA1 (0 4 0 127 0 7 1 4 1 1) - -OID = 06 09 04 00 7F 00 07 01 04 01 02 -Comment = BSI TR-03111 -Description = bsiEcdsaWithSHA224 (0 4 0 127 0 7 1 4 1 2) - -OID = 06 09 04 00 7F 00 07 01 04 01 03 -Comment = BSI TR-03111 -Description = bsiEcdsaWithSHA256 (0 4 0 127 0 7 1 4 1 3) - -OID = 06 09 04 00 7F 00 07 01 04 01 04 -Comment = BSI TR-03111 -Description = bsiEcdsaWithSHA384 (0 4 0 127 0 7 1 4 1 4) - -OID = 06 09 04 00 7F 00 07 01 04 01 05 -Comment = BSI TR-03111 -Description = bsiEcdsaWithSHA512 (0 4 0 127 0 7 1 4 1 5) - -OID = 06 09 04 00 7F 00 07 01 04 01 06 -Comment = BSI TR-03111 -Description = bsiEcdsaWithRIPEMD160 (0 4 0 127 0 7 1 4 1 6) - -OID = 06 08 04 00 7F 00 07 01 05 01 -Comment = BSI TR-03111 -Description = bsiKaeg (0 4 0 127 0 7 1 5 1) - -OID = 06 09 04 00 7F 00 07 01 05 01 01 -Comment = BSI TR-03111 -Description = bsiKaegWithX963KDF (0 4 0 127 0 7 1 5 1 1) - -OID = 06 09 04 00 7F 00 07 01 05 01 02 -Comment = BSI TR-03111 -Description = bsiKaegWith3DESKDF (0 4 0 127 0 7 1 5 1 2) - -OID = 06 08 04 00 7F 00 07 02 02 01 -Comment = BSI TR-03110 -Description = bsiCA (0 4 0 127 0 7 2 2 1) - -OID = 06 09 04 00 7F 00 07 02 02 01 01 -Comment = BSI TR-03110 -Description = bsiCA_DH (0 4 0 127 0 7 2 2 1 1) - -OID = 06 09 04 00 7F 00 07 02 02 01 02 -Comment = BSI TR-03110 -Description = bsiCA_ECDH (0 4 0 127 0 7 2 2 1 2) - -OID = 06 08 04 00 7F 00 07 02 02 02 -Comment = BSI TR-03110 -Description = bsiTA (0 4 0 127 0 7 2 2 2) - -OID = 06 09 04 00 7F 00 07 02 02 02 01 -Comment = BSI TR-03110 -Description = bsiTA_RSA (0 4 0 127 0 7 2 2 2 1) - -OID = 06 0A 04 00 7F 00 07 02 02 02 01 01 -Comment = BSI TR-03110 -Description = bsiTA_RSAv1_5_SHA1 (0 4 0 127 0 7 2 2 2 1 1) - -OID = 06 0A 04 00 7F 00 07 02 02 02 01 02 -Comment = BSI TR-03110 -Description = bsiTA_RSAv1_5_SHA256 (0 4 0 127 0 7 2 2 2 1 2) - -OID = 06 0A 04 00 7F 00 07 02 02 02 01 03 -Comment = BSI TR-03110 -Description = bsiTA_RSAPSS_SHA1 (0 4 0 127 0 7 2 2 2 1 3) - -OID = 06 0A 04 00 7F 00 07 02 02 02 01 04 -Comment = BSI TR-03110 -Description = bsiTA_RSAPSS_SHA256 (0 4 0 127 0 7 2 2 2 1 4) - -OID = 06 09 04 00 7F 00 07 02 02 02 02 -Comment = BSI TR-03110 -Description = bsiTA_ECDSA (0 4 0 127 0 7 2 2 2 2) - -OID = 06 0A 04 00 7F 00 07 02 02 02 02 01 -Comment = BSI TR-03110 -Description = bsiTA_ECDSA_SHA1 (0 4 0 127 0 7 2 2 2 2 1) - -OID = 06 0A 04 00 7F 00 07 02 02 02 02 02 -Comment = BSI TR-03110 -Description = bsiTA_ECDSA_SHA224 (0 4 0 127 0 7 2 2 2 2 2) - -OID = 06 0A 04 00 7F 00 07 02 02 02 02 03 -Comment = BSI TR-03110 -Description = bsiTA_ECDSA_SHA256 (0 4 0 127 0 7 2 2 2 2 3) - -OID = 06 08 04 00 7F 00 07 03 01 02 -Comment = BSI TR-03110 -Description = bsiRoleEAC (0 4 0 127 0 7 3 1 2) - -# ETSI TS 101 862 V1.3.3 (2006-01), Qualified certificate profile - -OID = 06 04 04 00 8E 46 -Comment = ETSI TS 101 862 qualified certificates -Description = etsiQcsProfile (0 4 0 1862) - -OID = 06 05 04 00 8E 46 01 -Comment = ETSI TS 101 862 qualified certificates -Description = etsiQcs (0 4 0 1862 1) - -OID = 06 06 04 00 8E 46 01 01 -Comment = ETSI TS 101 862 qualified certificates -Description = etsiQcsCompliance (0 4 0 1862 1 1) - -OID = 06 06 04 00 8E 46 01 02 -Comment = ETSI TS 101 862 qualified certificates -Description = etsiQcsLimitValue (0 4 0 1862 1 2) - -OID = 06 06 04 00 8E 46 01 03 -Comment = ETSI TS 101 862 qualified certificates -Description = etsiQcsRetentionPeriod (0 4 0 1862 1 3) - -OID = 06 06 04 00 8E 46 01 04 -Comment = ETSI TS 101 862 qualified certificates -Description = etsiQcsQcSSCD (0 4 0 1862 1 4) - -# RFC 1274 (X.500 attribute collection from the UK, thus the weird OID). - -OID = 06 0A 09 92 26 89 93 F2 2C 64 01 01 -Comment = Some oddball X.500 attribute collection -Description = userID (0 9 2342 19200300 100 1 1) - -OID = 06 0A 09 92 26 89 93 F2 2C 64 01 03 -Comment = Some oddball X.500 attribute collection -Description = rfc822Mailbox (0 9 2342 19200300 100 1 3) - -# RFC 2247, How to Kludge an FQDN as a DN (or words to that effect), another -# fine product of the UK (also present in the above mentioned RFC 1274). - -OID = 06 0A 09 92 26 89 93 F2 2C 64 01 19 -Comment = Men are from Mars, this OID is from Pluto -Description = domainComponent (0 9 2342 19200300 100 1 25) - -# Australian Government - -OID = 06 06 2A 24 01 82 4D 01 -Comment = Australian Government corporate taxpayer ID -Description = australianBusinessNumber (1 2 36 1 333 1) - -# Certificates Australia (Australia use the corporate tax identifier (ABN) -# as de facto unique identifiers in OIDs, thus the bizarre fourth value. -# See also Signet and other Australian corporate OIDs). - -OID = 06 0A 2A 24 A4 97 A3 53 01 64 01 01 -Comment = Certificates Australia CA -Description = Certificates Australia policyIdentifier (1 2 36 75878867 1 100 1 1) - -# Signet - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 02 -Comment = Signet CA -Description = Signet personal (1 2 36 68980861 1 1 2) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 03 -Comment = Signet CA -Description = Signet business (1 2 36 68980861 1 1 3) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 04 -Comment = Signet CA -Description = Signet legal (1 2 36 68980861 1 1 4) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 0A -Comment = Signet CA -Description = Signet pilot (1 2 36 68980861 1 1 10) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 0B -Comment = Signet CA -Description = Signet intraNet (1 2 36 68980861 1 1 11) - -OID = 06 09 2A 24 A0 F2 A0 7D 01 01 14 -Comment = Signet CA -Description = Signet policyIdentifier (1 2 36 68980861 1 1 20) - -# Mitsubishi - -OID = 06 0A 2A 83 08 8C 9A 4B 3D 01 01 01 -Comment = Mitsubishi security algorithm -Description = symmetric-encryption-algorithm (1 2 392 200011 61 1 1 1) - -OID = 06 0B 2A 83 08 8C 9A 4B 3D 01 01 01 01 -Comment = Mitsubishi security algorithm -Description = misty1-cbc (1 2 392 200011 61 1 1 1 1) - -# SEIS - -OID = 06 05 2A 85 70 22 01 -Comment = SEIS Project -Description = seis-cp (1 2 752 34 1) - -OID = 06 06 2A 85 70 22 01 01 -Comment = SEIS Project certificate policies -Description = SEIS high-assurance policyIdentifier (1 2 752 34 1 1) - -OID = 06 06 2A 85 70 22 01 02 -Comment = SEIS Project certificate policies -Description = SEIS GAK policyIdentifier (1 2 752 34 1 2) - -OID = 06 05 2A 85 70 22 02 -Comment = SEIS Project -Description = SEIS pe (1 2 752 34 2) - -OID = 06 05 2A 85 70 22 03 -Comment = SEIS Project -Description = SEIS at (1 2 752 34 3) - -OID = 06 06 2A 85 70 22 03 01 -Comment = SEIS Project attribute -Description = SEIS at-personalIdentifier (1 2 752 34 3 1) - -# ANSI X9.57 - -OID = 06 06 2A 86 48 CE 38 01 -Comment = ANSI X9.57 -Description = module (1 2 840 10040 1) - -OID = 06 07 2A 86 48 CE 38 01 01 -Comment = ANSI X9.57 module -Description = x9f1-cert-mgmt (1 2 840 10040 1 1) - -OID = 06 06 2A 86 48 CE 38 02 -Comment = ANSI X9.57 -Description = holdinstruction (1 2 840 10040 2) - -OID = 06 07 2A 86 48 CE 38 02 01 -Comment = ANSI X9.57 hold instruction -Description = holdinstruction-none (1 2 840 10040 2 1) - -OID = 06 07 2A 86 48 CE 38 02 02 -Comment = ANSI X9.57 hold instruction -Description = callissuer (1 2 840 10040 2 2) - -OID = 06 07 2A 86 48 CE 38 02 03 -Comment = ANSI X9.57 hold instruction -Description = reject (1 2 840 10040 2 3) - -OID = 06 07 2A 86 48 CE 38 02 04 -Comment = ANSI X9.57 hold instruction -Description = pickupToken (1 2 840 10040 2 4) - -OID = 06 06 2A 86 48 CE 38 03 -Comment = ANSI X9.57 -Description = attribute (1 2 840 10040 3) - -OID = 06 07 2A 86 48 CE 38 03 01 -Comment = ANSI X9.57 attribute -Description = countersignature (1 2 840 10040 3 1) - -OID = 06 07 2A 86 48 CE 38 03 02 -Comment = ANSI X9.57 attribute -Description = attribute-cert (1 2 840 10040 3 2) - -OID = 06 06 2A 86 48 CE 38 04 -Comment = ANSI X9.57 -Description = algorithm (1 2 840 10040 4) - -OID = 06 07 2A 86 48 CE 38 04 01 -Comment = ANSI X9.57 algorithm -Description = dsa (1 2 840 10040 4 1) - -OID = 06 07 2A 86 48 CE 38 04 02 -Comment = ANSI X9.57 algorithm -Description = dsa-match (1 2 840 10040 4 2) - -OID = 06 07 2A 86 48 CE 38 04 03 -Comment = ANSI X9.57 algorithm -Description = dsaWithSha1 (1 2 840 10040 4 3) - -# ANSI X9.62 - -OID = 06 06 2A 86 48 CE 3D 01 -Comment = ANSI X9.62. This OID is also assigned as ecdsa-with-SHA1 -Description = fieldType (1 2 840 10045 1) - -OID = 06 07 2A 86 48 CE 3D 01 01 -Comment = ANSI X9.62 field type -Description = prime-field (1 2 840 10045 1 1) - -OID = 06 07 2A 86 48 CE 3D 01 02 -Comment = ANSI X9.62 field type -Description = characteristic-two-field (1 2 840 10045 1 2) - -OID = 06 08 2A 86 48 CE 3D 01 02 03 -Comment = ANSI X9.62 field type -Description = characteristic-two-basis (1 2 840 10045 1 2 3) - -OID = 06 09 2A 86 48 CE 3D 01 02 03 01 -Comment = ANSI X9.62 field basis -Description = onBasis (1 2 840 10045 1 2 3 1) - -OID = 06 09 2A 86 48 CE 3D 01 02 03 02 -Comment = ANSI X9.62 field basis -Description = tpBasis (1 2 840 10045 1 2 3 2) - -OID = 06 09 2A 86 48 CE 3D 01 02 03 03 -Comment = ANSI X9.62 field basis -Description = ppBasis (1 2 840 10045 1 2 3 3) - -# The definition for the following OID is somewhat confused, and is given as -# keyType, publicKeyType, and public-key-type, all within 4 lines of text. -# ecPublicKey is defined using the ID publicKeyType, so this is what's used -# here. -OID = 06 06 2A 86 48 CE 3D 02 -Comment = ANSI X9.62 -Description = publicKeyType (1 2 840 10045 2) - -OID = 06 07 2A 86 48 CE 3D 02 01 -Comment = ANSI X9.62 public key type -Description = ecPublicKey (1 2 840 10045 2 1) - -OID = 06 08 2A 86 48 CE 3D 03 00 01 -Comment = ANSI X9.62 named elliptic curve -Description = c2pnb163v1 (1 2 840 10045 3 0 1) - -OID = 06 08 2A 86 48 CE 3D 03 00 02 -Comment = ANSI X9.62 named elliptic curve -Description = c2pnb163v2 (1 2 840 10045 3 0 2) - -OID = 06 08 2A 86 48 CE 3D 03 00 03 -Comment = ANSI X9.62 named elliptic curve -Description = c2pnb163v3 (1 2 840 10045 3 0 3) - -OID = 06 08 2A 86 48 CE 3D 03 00 05 -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb191v1 (1 2 840 10045 3 0 5) - -OID = 06 08 2A 86 48 CE 3D 03 00 06 -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb191v2 (1 2 840 10045 3 0 6) - -OID = 06 08 2A 86 48 CE 3D 03 00 07 -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb191v3 (1 2 840 10045 3 0 7) - -OID = 06 08 2A 86 48 CE 3D 03 00 0A -Comment = ANSI X9.62 named elliptic curve -Description = c2pnb208w1 (1 2 840 10045 3 0 10) - -OID = 06 08 2A 86 48 CE 3D 03 00 0B -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb239v1 (1 2 840 10045 3 0 11) - -OID = 06 08 2A 86 48 CE 3D 03 00 0C -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb239v2 (1 2 840 10045 3 0 12) - -OID = 06 08 2A 86 48 CE 3D 03 00 0D -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb239v3 (1 2 840 10045 3 0 13) - -OID = 06 08 2A 86 48 CE 3D 03 00 10 -Comment = ANSI X9.62 named elliptic curve -Description = c2pnb272w1 (1 2 840 10045 3 0 16) - -OID = 06 08 2A 86 48 CE 3D 03 00 12 -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb359v1 (1 2 840 10045 3 0 18) - -OID = 06 08 2A 86 48 CE 3D 03 00 13 -Comment = ANSI X9.62 named elliptic curve -Description = c2pnb368w1 (1 2 840 10045 3 0 19) - -OID = 06 08 2A 86 48 CE 3D 03 00 14 -Comment = ANSI X9.62 named elliptic curve -Description = c2tnb431r1 (1 2 840 10045 3 0 20) - -OID = 06 08 2A 86 48 CE 3D 03 01 01 -Comment = ANSI X9.62 named elliptic curve -Description = ansiX9p192r1 (1 2 840 10045 3 1 1) - -OID = 06 09 2A 86 48 CE 3D 03 01 01 01 -Comment = ANSI X9.62 named elliptic curve -Description = prime192v1 (1 2 840 10045 3 1 1 1) - -OID = 06 09 2A 86 48 CE 3D 03 01 01 02 -Comment = ANSI X9.62 named elliptic curve -Description = prime192v2 (1 2 840 10045 3 1 1 2) - -OID = 06 09 2A 86 48 CE 3D 03 01 01 03 -Comment = ANSI X9.62 named elliptic curve -Description = prime192v3 (1 2 840 10045 3 1 1 3) - -OID = 06 09 2A 86 48 CE 3D 03 01 01 04 -Comment = ANSI X9.62 named elliptic curve -Description = prime239v1 (1 2 840 10045 3 1 1 4) - -OID = 06 09 2A 86 48 CE 3D 03 01 01 05 -Comment = ANSI X9.62 named elliptic curve -Description = prime239v2 (1 2 840 10045 3 1 1 5) - -OID = 06 09 2A 86 48 CE 3D 03 01 01 06 -Comment = ANSI X9.62 named elliptic curve -Description = prime239v3 (1 2 840 10045 3 1 1 6) - -OID = 06 09 2A 86 48 CE 3D 03 01 01 07 -Comment = ANSI X9.62 named elliptic curve -Description = prime256v1 (1 2 840 10045 3 1 1 7) - -OID = 06 08 2A 86 48 CE 3D 03 01 07 -Comment = ANSI X9.62 named elliptic curve -Description = ansiX9p256r1 (1 2 840 10045 3 1 7) - -OID = 06 07 2A 86 48 CE 3D 04 01 -Comment = ANSI X9.62 ECDSA algorithm with SHA1 -Description = ecdsaWithSHA1 (1 2 840 10045 4 1) - -OID = 06 07 2A 86 48 CE 3D 04 02 -Comment = ANSI X9.62 ECDSA algorithm with Recommended -Description = ecdsaWithRecommended (1 2 840 10045 4 2) - -OID = 06 07 2A 86 48 CE 3D 04 03 -Comment = ANSI X9.62 ECDSA algorithm with Specified -Description = ecdsaWithSpecified (1 2 840 10045 4 3) - -OID = 06 08 2A 86 48 CE 3D 04 03 01 -Comment = ANSI X9.62 ECDSA algorithm with SHA224 -Description = ecdsaWithSHA224 (1 2 840 10045 4 3 1) - -OID = 06 08 2A 86 48 CE 3D 04 03 02 -Comment = ANSI X9.62 ECDSA algorithm with SHA256 -Description = ecdsaWithSHA256 (1 2 840 10045 4 3 2) - -OID = 06 08 2A 86 48 CE 3D 04 03 03 -Comment = ANSI X9.62 ECDSA algorithm with SHA384 -Description = ecdsaWithSHA384 (1 2 840 10045 4 3 3) - -OID = 06 08 2A 86 48 CE 3D 04 03 04 -Comment = ANSI X9.62 ECDSA algorithm with SHA512 -Description = ecdsaWithSHA512 (1 2 840 10045 4 3 4) - -# ANSI X9.42 - -OID = 06 06 2A 86 48 CE 3E 01 -Comment = ANSI X9.42 -Description = fieldType (1 2 840 10046 1) - -OID = 06 07 2A 86 48 CE 3E 01 01 -Comment = ANSI X9.42 field type -Description = gf-prime (1 2 840 10046 1 1) - -OID = 06 06 2A 86 48 CE 3E 02 -Comment = ANSI X9.42 -Description = numberType (1 2 840 10046 2) - -OID = 06 07 2A 86 48 CE 3E 02 01 -Comment = ANSI X9.42 number type -Description = dhPublicKey (1 2 840 10046 2 1) - -OID = 06 06 2A 86 48 CE 3E 03 -Comment = ANSI X9.42 -Description = scheme (1 2 840 10046 3) - -OID = 06 07 2A 86 48 CE 3E 03 01 -Comment = ANSI X9.42 scheme -Description = dhStatic (1 2 840 10046 3 1) - -OID = 06 07 2A 86 48 CE 3E 03 02 -Comment = ANSI X9.42 scheme -Description = dhEphem (1 2 840 10046 3 2) - -OID = 06 07 2A 86 48 CE 3E 03 03 -Comment = ANSI X9.42 scheme -Description = dhHybrid1 (1 2 840 10046 3 3) - -OID = 06 07 2A 86 48 CE 3E 03 04 -Comment = ANSI X9.42 scheme -Description = dhHybrid2 (1 2 840 10046 3 4) - -OID = 06 07 2A 86 48 CE 3E 03 05 -Comment = ANSI X9.42 scheme -Description = mqv2 (1 2 840 10046 3 5) - -OID = 06 07 2A 86 48 CE 3E 03 06 -Comment = ANSI X9.42 scheme -Description = mqv1 (1 2 840 10046 3 6) - -# ASTM 31.20 - -OID = 06 07 2A 86 48 CE 51 02 02 -Comment = ASTM 31.20 -Description = ? (1 2 840 10065 2 2) - -OID = 06 07 2A 86 48 CE 51 02 03 -Comment = ASTM 31.20 -Description = healthcareLicense (1 2 840 10065 2 3) - -OID = 06 09 2A 86 48 CE 51 02 03 01 01 -Comment = ASTM 31.20 healthcare license type -Description = license? (1 2 840 10065 2 3 1 1) - -# Nortel Secure Networks/Entrust - -OID = 06 07 2A 86 48 86 F6 7D 07 -Description = nsn (1 2 840 113533 7) - -OID = 06 08 2A 86 48 86 F6 7D 07 41 -Description = nsn-ce (1 2 840 113533 7 65) - -OID = 06 09 2A 86 48 86 F6 7D 07 41 00 -Comment = Nortel Secure Networks ce -Description = entrustVersInfo (1 2 840 113533 7 65 0) - -OID = 06 08 2A 86 48 86 F6 7D 07 42 -Description = nsn-alg (1 2 840 113533 7 66) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 03 -Comment = Nortel Secure Networks alg -Description = cast3CBC (1 2 840 113533 7 66 3) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0A -Comment = Nortel Secure Networks alg -Description = cast5CBC (1 2 840 113533 7 66 10) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0B -Comment = Nortel Secure Networks alg -Description = cast5MAC (1 2 840 113533 7 66 11) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0C -Comment = Nortel Secure Networks alg -Description = pbeWithMD5AndCAST5-CBC (1 2 840 113533 7 66 12) - -OID = 06 09 2A 86 48 86 F6 7D 07 42 0D -Comment = Nortel Secure Networks alg -Description = passwordBasedMac (1 2 840 113533 7 66 13) - -OID = 06 08 2A 86 48 86 F6 7D 07 43 -Description = nsn-oc (1 2 840 113533 7 67) - -OID = 06 09 2A 86 48 86 F6 7D 07 43 00 -Comment = Nortel Secure Networks oc -Description = entrustUser (1 2 840 113533 7 67 0) - -OID = 06 08 2A 86 48 86 F6 7D 07 44 -Description = nsn-at (1 2 840 113533 7 68) - -OID = 06 09 2A 86 48 86 F6 7D 07 44 00 -Comment = Nortel Secure Networks at -Description = entrustCAInfo (1 2 840 113533 7 68 0) - -OID = 06 09 2A 86 48 86 F6 7D 07 44 0A -Comment = Nortel Secure Networks at -Description = attributeCertificate (1 2 840 113533 7 68 10) - -# PKCS #1 - -OID = 06 08 2A 86 48 86 F7 0D 01 01 -Description = pkcs-1 (1 2 840 113549 1 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 01 -Comment = PKCS #1 -Description = rsaEncryption (1 2 840 113549 1 1 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 02 -Comment = PKCS #1 -Description = md2withRSAEncryption (1 2 840 113549 1 1 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 03 -Comment = PKCS #1 -Description = md4withRSAEncryption (1 2 840 113549 1 1 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 04 -Comment = PKCS #1 -Description = md5withRSAEncryption (1 2 840 113549 1 1 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 05 -Comment = PKCS #1 -Description = sha1withRSAEncryption (1 2 840 113549 1 1 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 07 -Comment = PKCS #1 -Description = rsaOAEP (1 2 840 113549 1 1 7) - -# This is also used with PSS so it's given the more general label 'pkcs1-XXX' -# rather than 'rsaOAEP-XXX'. -OID = 06 09 2A 86 48 86 F7 0D 01 01 08 -Comment = PKCS #1 -Description = pkcs1-MGF (1 2 840 113549 1 1 8) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 09 -Comment = PKCS #1 -Description = rsaOAEP-pSpecified (1 2 840 113549 1 1 9) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 0A -Comment = PKCS #1 -Description = rsaPSS (1 2 840 113549 1 1 10) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 0B -Comment = PKCS #1 -Description = sha256WithRSAEncryption (1 2 840 113549 1 1 11) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 0C -Comment = PKCS #1 -Description = sha384WithRSAEncryption (1 2 840 113549 1 1 12) - -OID = 06 09 2A 86 48 86 F7 0D 01 01 0D -Comment = PKCS #1 -Description = sha512WithRSAEncryption (1 2 840 113549 1 1 13) - -# There is some confusion over the identity of the following OID. The OAEP -# one is more recent, but independant vendors have already used the RIPEMD -# one, however it's likely that the SET usage will claim to be more -# authoritative so we report it as that. -OID = 06 09 2A 86 48 86 F7 0D 01 01 06 -Comment = PKCS #1. This OID may also be assigned as ripemd160WithRSAEncryption -Description = rsaOAEPEncryptionSET (1 2 840 113549 1 1 6) -# ripemd160WithRSAEncryption (1 2 840 113549 1 1 6) - -# BSAFE/PKCS #2 (obsolete) - -OID = 06 08 2A 86 48 86 F7 0D 01 02 -Comment = Obsolete BSAFE OID -Description = bsafeRsaEncr (1 2 840 113549 1 2) -Warning - -# PKCS #3 - -OID = 06 08 2A 86 48 86 F7 0D 01 03 -Description = pkcs-3 (1 2 840 113549 1 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 03 01 -Comment = PKCS #3 -Description = dhKeyAgreement (1 2 840 113549 1 3 1) - -# PKCS #5 - -OID = 06 08 2A 86 48 86 F7 0D 01 05 -Description = pkcs-5 (1 2 840 113549 1 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 01 -Comment = PKCS #5 -Description = pbeWithMD2AndDES-CBC (1 2 840 113549 1 5 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 03 -Comment = PKCS #5 -Description = pbeWithMD5AndDES-CBC (1 2 840 113549 1 5 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 04 -Comment = PKCS #5 -Description = pbeWithMD2AndRC2-CBC (1 2 840 113549 1 5 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 06 -Comment = PKCS #5 -Description = pbeWithMD5AndRC2-CBC (1 2 840 113549 1 5 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 09 -Comment = PKCS #5, used in BSAFE only -Description = pbeWithMD5AndXOR (1 2 840 113549 1 5 9) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0A -Comment = PKCS #5 -Description = pbeWithSHAAndDES-CBC (1 2 840 113549 1 5 10) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0C -Comment = PKCS #5 v2.0 -Description = pkcs5PBKDF2 (1 2 840 113549 1 5 12) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0D -Comment = PKCS #5 v2.0 -Description = pkcs5PBES2 (1 2 840 113549 1 5 13) - -OID = 06 09 2A 86 48 86 F7 0D 01 05 0E -Comment = PKCS #5 v2.0 -Description = pkcs5PBMAC1 (1 2 840 113549 1 5 14) - -# PKCS #7 - -OID = 06 08 2A 86 48 86 F7 0D 01 07 -Description = pkcs-7 (1 2 840 113549 1 7) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 01 -Comment = PKCS #7 -Description = data (1 2 840 113549 1 7 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 02 -Comment = PKCS #7 -Description = signedData (1 2 840 113549 1 7 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 03 -Comment = PKCS #7 -Description = envelopedData (1 2 840 113549 1 7 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 04 -Comment = PKCS #7 -Description = signedAndEnvelopedData (1 2 840 113549 1 7 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 05 -Comment = PKCS #7 -Description = digestedData (1 2 840 113549 1 7 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 06 -Comment = PKCS #7 -Description = encryptedData (1 2 840 113549 1 7 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 07 07 -Comment = PKCS #7 experimental -Description = dataWithAttributes (1 2 840 113549 1 7 7) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 07 08 -Comment = PKCS #7 experimental -Description = encryptedPrivateKeyInfo (1 2 840 113549 1 7 8) -Warning - -# PKCS #9 - -OID = 06 08 2A 86 48 86 F7 0D 01 09 -Description = pkcs-9 (1 2 840 113549 1 9) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 01 -Comment = PKCS #9. Deprecated, use an altName extension instead -Description = emailAddress (1 2 840 113549 1 9 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 02 -Comment = PKCS #9 -Description = unstructuredName (1 2 840 113549 1 9 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 03 -Comment = PKCS #9 -Description = contentType (1 2 840 113549 1 9 3) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 04 -Comment = PKCS #9 -Description = messageDigest (1 2 840 113549 1 9 4) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 05 -Comment = PKCS #9 -Description = signingTime (1 2 840 113549 1 9 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 06 -Comment = PKCS #9 -Description = countersignature (1 2 840 113549 1 9 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 07 -Comment = PKCS #9 -Description = challengePassword (1 2 840 113549 1 9 7) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 08 -Comment = PKCS #9 -Description = unstructuredAddress (1 2 840 113549 1 9 8) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 09 -Comment = PKCS #9 -Description = extendedCertificateAttributes (1 2 840 113549 1 9 9) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0A -Comment = PKCS #9 experimental -Description = issuerAndSerialNumber (1 2 840 113549 1 9 10) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0B -Comment = PKCS #9 experimental -Description = passwordCheck (1 2 840 113549 1 9 11) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0C -Comment = PKCS #9 experimental -Description = publicKey (1 2 840 113549 1 9 12) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0D -Comment = PKCS #9 -Description = signingDescription (1 2 840 113549 1 9 13) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0E -Comment = PKCS #9 via CRMF -Description = extensionRequest (1 2 840 113549 1 9 14) - -# PKCS #9 for use with S/MIME - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0F -Comment = PKCS #9. This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name -Description = sMIMECapabilities (1 2 840 113549 1 9 15) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 01 -Comment = sMIMECapabilities -Description = preferSignedData (1 2 840 113549 1 9 15 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 02 -Comment = sMIMECapabilities -Description = canNotDecryptAny (1 2 840 113549 1 9 15 2) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 03 -Comment = sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 1) instead -Description = receiptRequest (1 2 840 113549 1 9 15 3) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 04 -Comment = sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 1 1) instead -Description = receipt (1 2 840 113549 1 9 15 4) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 05 -Comment = sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 4) instead -Description = contentHints (1 2 840 113549 1 9 15 5) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 0F 06 -Comment = sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 3) instead -Description = mlExpansionHistory (1 2 840 113549 1 9 15 6) -Warning - -OID = 06 09 2A 86 48 86 F7 0D 01 09 10 -Comment = PKCS #9 -Description = id-sMIME (1 2 840 113549 1 9 16) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 00 -Comment = id-sMIME -Description = id-mod (1 2 840 113549 1 9 16 0) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 01 -Comment = S/MIME Modules -Description = id-mod-cms (1 2 840 113549 1 9 16 0 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 02 -Comment = S/MIME Modules -Description = id-mod-ess (1 2 840 113549 1 9 16 0 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 03 -Comment = S/MIME Modules -Description = id-mod-oid (1 2 840 113549 1 9 16 0 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 04 -Comment = S/MIME Modules -Description = id-mod-msg-v3 (1 2 840 113549 1 9 16 0 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 05 -Comment = S/MIME Modules -Description = id-mod-ets-eSignature-88 (1 2 840 113549 1 9 16 0 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 06 -Comment = S/MIME Modules -Description = id-mod-ets-eSignature-97 (1 2 840 113549 1 9 16 0 6) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 07 -Comment = S/MIME Modules -Description = id-mod-ets-eSigPolicy-88 (1 2 840 113549 1 9 16 0 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 00 08 -Comment = S/MIME Modules -Description = id-mod-ets-eSigPolicy-88 (1 2 840 113549 1 9 16 0 8) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 01 -Comment = S/MIME -Description = contentType (1 2 840 113549 1 9 16 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 01 -Comment = S/MIME Content Types -Description = receipt (1 2 840 113549 1 9 16 1 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 02 -Comment = S/MIME Content Types -Description = authData (1 2 840 113549 1 9 16 1 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 03 -Comment = S/MIME Content Types -Description = publishCert (1 2 840 113549 1 9 16 1 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 04 -Comment = S/MIME Content Types -Description = tSTInfo (1 2 840 113549 1 9 16 1 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 05 -Comment = S/MIME Content Types -Description = tDTInfo (1 2 840 113549 1 9 16 1 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 06 -Comment = S/MIME Content Types -Description = contentInfo (1 2 840 113549 1 9 16 1 6) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 07 -Comment = S/MIME Content Types -Description = dVCSRequestData (1 2 840 113549 1 9 16 1 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 08 -Comment = S/MIME Content Types -Description = dVCSResponseData (1 2 840 113549 1 9 16 1 8) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 09 -Comment = S/MIME Content Types -Description = compressedData (1 2 840 113549 1 9 16 1 9) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 02 -Comment = S/MIME -Description = authenticatedAttributes (1 2 840 113549 1 9 16 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 01 -Comment = S/MIME Authenticated Attributes -Description = receiptRequest (1 2 840 113549 1 9 16 2 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 02 -Comment = S/MIME Authenticated Attributes -Description = securityLabel (1 2 840 113549 1 9 16 2 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 03 -Comment = S/MIME Authenticated Attributes -Description = mlExpandHistory (1 2 840 113549 1 9 16 2 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 04 -Comment = S/MIME Authenticated Attributes -Description = contentHint (1 2 840 113549 1 9 16 2 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 05 -Comment = S/MIME Authenticated Attributes -Description = msgSigDigest (1 2 840 113549 1 9 16 2 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 06 -Comment = S/MIME Authenticated Attributes. Obsolete -Description = encapContentType (1 2 840 113549 1 9 16 2 6) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 07 -Comment = S/MIME Authenticated Attributes -Description = contentIdentifier (1 2 840 113549 1 9 16 2 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 08 -Comment = S/MIME Authenticated Attributes. Obsolete -Description = macValue (1 2 840 113549 1 9 16 2 8) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 09 -Comment = S/MIME Authenticated Attributes -Description = equivalentLabels (1 2 840 113549 1 9 16 2 9) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0A -Comment = S/MIME Authenticated Attributes -Description = contentReference (1 2 840 113549 1 9 16 2 10) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0B -Comment = S/MIME Authenticated Attributes -Description = encrypKeyPref (1 2 840 113549 1 9 16 2 11) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0C -Comment = S/MIME Authenticated Attributes -Description = signingCertificate (1 2 840 113549 1 9 16 2 12) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0D -Comment = S/MIME Authenticated Attributes -Description = smimeEncryptCerts (1 2 840 113549 1 9 16 2 13) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0E -Comment = S/MIME Authenticated Attributes -Description = timeStampToken (1 2 840 113549 1 9 16 2 14) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 0F -Comment = S/MIME Authenticated Attributes -Description = sigPolicyId (1 2 840 113549 1 9 16 2 15) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 10 -Comment = S/MIME Authenticated Attributes -Description = commitmentType (1 2 840 113549 1 9 16 2 16) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 11 -Comment = S/MIME Authenticated Attributes -Description = signerLocation (1 2 840 113549 1 9 16 2 17) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 12 -Comment = S/MIME Authenticated Attributes -Description = signerAttr (1 2 840 113549 1 9 16 2 18) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 13 -Comment = S/MIME Authenticated Attributes -Description = otherSigCert (1 2 840 113549 1 9 16 2 19) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 14 -Comment = S/MIME Authenticated Attributes -Description = contentTimestamp (1 2 840 113549 1 9 16 2 20) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 15 -Comment = S/MIME Authenticated Attributes -Description = certificateRefs (1 2 840 113549 1 9 16 2 21) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 16 -Comment = S/MIME Authenticated Attributes -Description = revocationRefs (1 2 840 113549 1 9 16 2 22) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 17 -Comment = S/MIME Authenticated Attributes -Description = certValues (1 2 840 113549 1 9 16 2 23) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 18 -Comment = S/MIME Authenticated Attributes -Description = revocationValues (1 2 840 113549 1 9 16 2 24) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 19 -Comment = S/MIME Authenticated Attributes -Description = escTimeStamp (1 2 840 113549 1 9 16 2 25) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1A -Comment = S/MIME Authenticated Attributes -Description = certCRLTimestamp (1 2 840 113549 1 9 16 2 26) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1B -Comment = S/MIME Authenticated Attributes -Description = archiveTimeStamp (1 2 840 113549 1 9 16 2 27) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1C -Comment = S/MIME Authenticated Attributes -Description = signatureType (1 2 840 113549 1 9 16 2 28) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 02 1D -Comment = S/MIME Authenticated Attributes -Description = dvcs-dvc (1 2 840 113549 1 9 16 2 29) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 01 -Comment = S/MIME Algorithms. Obsolete -Description = algESDHwith3DES (1 2 840 113549 1 9 16 3 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 02 -Comment = S/MIME Algorithms. Obsolete -Description = algESDHwithRC2 (1 2 840 113549 1 9 16 3 2) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 03 -Comment = S/MIME Algorithms. Obsolete -Description = alg3DESwrap (1 2 840 113549 1 9 16 3 3) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 04 -Comment = S/MIME Algorithms. Obsolete -Description = algRC2wrap (1 2 840 113549 1 9 16 3 4) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 05 -Comment = S/MIME Algorithms -Description = esDH (1 2 840 113549 1 9 16 3 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 06 -Comment = S/MIME Algorithms -Description = cms3DESwrap (1 2 840 113549 1 9 16 3 6) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 07 -Comment = S/MIME Algorithms -Description = cmsRC2wrap (1 2 840 113549 1 9 16 3 7) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 08 -Comment = S/MIME Algorithms -Description = zlib (1 2 840 113549 1 9 16 3 8) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 03 09 -Comment = S/MIME Algorithms -Description = pwri-KEK (1 2 840 113549 1 9 16 3 9) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 04 01 -Comment = S/MIME Certificate Distribution -Description = certDist-ldap (1 2 840 113549 1 9 16 4 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 05 01 -Comment = S/MIME Signature Policy Qualifier -Description = sigPolicyQualifier-spuri (1 2 840 113549 1 9 16 5 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 05 02 -Comment = S/MIME Signature Policy Qualifier -Description = sigPolicyQualifier-spUserNotice (1 2 840 113549 1 9 16 5 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 01 -Comment = S/MIME -Description = proofOfOrigin (1 2 840 113549 1 9 16 6 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 02 -Comment = S/MIME -Description = proofOfReceipt (1 2 840 113549 1 9 16 6 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 03 -Comment = S/MIME -Description = proofOfDelivery (1 2 840 113549 1 9 16 6 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 04 -Comment = S/MIME -Description = proofOfSender (1 2 840 113549 1 9 16 6 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 05 -Comment = S/MIME -Description = proofOfApproval (1 2 840 113549 1 9 16 6 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 06 06 -Comment = S/MIME -Description = proofOfCreation (1 2 840 113549 1 9 16 6 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 0F -Comment = PKCS #9. This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name -Description = sMIMECapabilities (1 2 840 113549 1 9 15) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 09 -Comment = S/MIME -Description = signatureTypeIdentifier (1 2 840 113549 1 9 16 9) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 09 01 -Comment = S/MIME Signature Type Identifier -Description = originatorSig (1 2 840 113549 1 9 16 9 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 09 02 -Comment = S/MIME Signature Type Identifier -Description = domainSig (1 2 840 113549 1 9 16 9 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 09 03 -Comment = S/MIME Signature Type Identifier -Description = additionalAttributesSig (1 2 840 113549 1 9 16 9 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 09 04 -Comment = S/MIME Signature Type Identifier -Description = reviewSig (1 2 840 113549 1 9 16 9 4) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 0B -Comment = S/MIME -Description = capabilities (1 2 840 113549 1 9 16 11) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 0B 01 -Comment = S/MIME Capability -Description = preferBinaryInside (1 2 840 113549 1 9 16 11 1) - -# PKCS #9 for use with PKCS #12 - -OID = 06 09 2A 86 48 86 F7 0D 01 09 14 -Comment = PKCS #9 via PKCS #12 -Description = friendlyName (for PKCS #12) (1 2 840 113549 1 9 20) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 15 -Comment = PKCS #9 via PKCS #12 -Description = localKeyID (for PKCS #12) (1 2 840 113549 1 9 21) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 16 -Comment = PKCS #9 via PKCS #12 -Description = certTypes (for PKCS #12) (1 2 840 113549 1 9 22) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 16 01 -Comment = PKCS #9 via PKCS #12 -Description = x509Certificate (for PKCS #12) (1 2 840 113549 1 9 22 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 16 02 -Comment = PKCS #9 via PKCS #12 -Description = sdsiCertificate (for PKCS #12) (1 2 840 113549 1 9 22 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 17 -Comment = PKCS #9 via PKCS #12 -Description = crlTypes (for PKCS #12) (1 2 840 113549 1 9 23) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 17 01 -Comment = PKCS #9 via PKCS #12 -Description = x509Crl (for PKCS #12) (1 2 840 113549 1 9 23 1) - -# PKCS #9, another set of branches used for accumulating further cruft - -OID = 06 09 2A 86 48 86 F7 0D 01 09 18 -Comment = PKCS #9/RFC 2985 -Description = pkcs9objectClass (1 2 840 113549 1 9 24) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 19 -Comment = PKCS #9/RFC 2985 -Description = pkcs9attributes (1 2 840 113549 1 9 25) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 19 01 -Comment = PKCS #9/RFC 2985 attribute -Description = pkcs15Token (1 2 840 113549 1 9 25 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 19 02 -Comment = PKCS #9/RFC 2985 attribute -Description = encryptedPrivateKeyInfo (1 2 840 113549 1 9 25 2) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 19 03 -Comment = PKCS #9/RFC 2985 attribute -Description = randomNonce (1 2 840 113549 1 9 25 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 19 04 -Comment = PKCS #9/RFC 2985 attribute -Description = sequenceNumber (1 2 840 113549 1 9 25 4) - -OID = 06 0A 2A 86 48 86 F7 0D 01 09 19 05 -Comment = PKCS #9/RFC 2985 attribute -Description = pkcs7PDU (1 2 840 113549 1 9 25 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 1A -Comment = PKCS #9/RFC 2985 -Description = pkcs9syntax (1 2 840 113549 1 9 26) - -OID = 06 09 2A 86 48 86 F7 0D 01 09 1B -Comment = PKCS #9/RFC 2985 -Description = pkcs9matchingRules (1 2 840 113549 1 9 27) - -# PKCS #12. Note that current PKCS #12 implementations tend to be strange and -# peculiar, with implementors misusing OIDs or basing their work on earlier PFX -# drafts or defining their own odd OIDs. In addition the PFX/PKCS #12 spec -# itself is full of errors and inconsistencies, and a number of OIDs have been -# redefined in different drafts (often multiple times), which doesn't make the -# implementors job any easier. - -OID = 06 08 2A 86 48 86 F7 0D 01 0C -Description = pkcs-12 (1 2 840 113549 1 12) - -OID = 06 09 2A 86 48 86 F7 0D 01 0C 01 -Comment = This OID was formerly assigned as PKCS #12 modeID -Description = pkcs-12-PbeIds (1 2 840 113549 1 12 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 01 -Comment = PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OfflineTransportMode -Description = pbeWithSHAAnd128BitRC4 (1 2 840 113549 1 12 1 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 02 -Comment = PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OnlineTransportMode -Description = pbeWithSHAAnd40BitRC4 (1 2 840 113549 1 12 1 2) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 03 -Comment = PKCS #12 PbeIds -Description = pbeWithSHAAnd3-KeyTripleDES-CBC (1 2 840 113549 1 12 1 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 04 -Comment = PKCS #12 PbeIds -Description = pbeWithSHAAnd2-KeyTripleDES-CBC (1 2 840 113549 1 12 1 4) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 05 -Comment = PKCS #12 PbeIds -Description = pbeWithSHAAnd128BitRC2-CBC (1 2 840 113549 1 12 1 5) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 01 06 -Comment = PKCS #12 PbeIds -Description = pbeWithSHAAnd40BitRC2-CBC (1 2 840 113549 1 12 1 6) - -OID = 06 09 2A 86 48 86 F7 0D 01 0C 02 -Comment = Deprecated -Description = pkcs-12-ESPVKID (1 2 840 113549 1 12 2) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 02 01 -Comment = PKCS #12 ESPVKID. Deprecated, use (1 2 840 113549 1 12 3 5) instead -Description = pkcs-12-PKCS8KeyShrouding (1 2 840 113549 1 12 2 1) -Warning - -# The following appear to have been redefined yet again at 12 10 in the latest -# PKCS #12 spec. -OID = 06 09 2A 86 48 86 F7 0D 01 0C 03 -Description = pkcs-12-BagIds (1 2 840 113549 1 12 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 01 -Comment = PKCS #12 BagIds -Description = pkcs-12-keyBagId (1 2 840 113549 1 12 3 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 02 -Comment = PKCS #12 BagIds -Description = pkcs-12-certAndCRLBagId (1 2 840 113549 1 12 3 2) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 03 -Comment = PKCS #12 BagIds -Description = pkcs-12-secretBagId (1 2 840 113549 1 12 3 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 04 -Comment = PKCS #12 BagIds -Description = pkcs-12-safeContentsId (1 2 840 113549 1 12 3 4) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 03 05 -Comment = PKCS #12 BagIds -Description = pkcs-12-pkcs-8ShroudedKeyBagId (1 2 840 113549 1 12 3 5) - -OID = 06 09 2A 86 48 86 F7 0D 01 0C 04 -Comment = Deprecated -Description = pkcs-12-CertBagID (1 2 840 113549 1 12 4) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 04 01 -Comment = PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-X509CertCRLBag -Description = pkcs-12-X509CertCRLBagID (1 2 840 113549 1 12 4 1) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 04 02 -Comment = PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-SDSICertBag -Description = pkcs-12-SDSICertBagID (1 2 840 113549 1 12 4 2) - -# The following are from PFX. The ... 5 1 values have been reassigned to OIDs -# with incompatible algorithms at ... 1, the 5 2 values seem to have vanished. -OID = 06 09 2A 86 48 86 F7 0D 01 0C 05 -Description = pkcs-12-OID (1 2 840 113549 1 12 5) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 05 01 -Comment = PKCS #12 OID. Deprecated, use the partially compatible (1 2 840 113549 1 12 1) OIDs instead -Description = pkcs-12-PBEID (1 2 840 113549 1 12 5 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 01 -Comment = PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 1) instead -Description = pkcs-12-PBEWithSha1And128BitRC4 (1 2 840 113549 1 12 5 1 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 02 -Comment = PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 2) instead -Description = pkcs-12-PBEWithSha1And40BitRC4 (1 2 840 113549 1 12 5 1 2) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 03 -Comment = PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 3) or (1 2 840 113549 1 12 1 4) instead -Description = pkcs-12-PBEWithSha1AndTripleDESCBC (1 2 840 113549 1 12 5 1 3) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 04 -Comment = PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 5) instead -Description = pkcs-12-PBEWithSha1And128BitRC2CBC (1 2 840 113549 1 12 5 1 4) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 05 -Comment = PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 6) instead -Description = pkcs-12-PBEWithSha1And40BitRC2CBC (1 2 840 113549 1 12 5 1 5) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 06 -Comment = PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 1) or (1 2 840 113549 1 12 1 2) instead -Description = pkcs-12-PBEWithSha1AndRC4 (1 2 840 113549 1 12 5 1 6) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 01 07 -Comment = PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 5) or (1 2 840 113549 1 12 1 6) instead -Description = pkcs-12-PBEWithSha1AndRC2CBC (1 2 840 113549 1 12 5 1 7) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 05 02 -Comment = PKCS #12 OID. Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-EnvelopingID (1 2 840 113549 1 12 5 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 02 01 -Comment = PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSAEncryptionWith128BitRC4 (1 2 840 113549 1 12 5 2 1) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 02 02 -Comment = PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSAEncryptionWith40BitRC4 (1 2 840 113549 1 12 5 2 2) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 02 03 -Comment = PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSAEncryptionWithTripleDES (1 2 840 113549 1 12 5 2 3) -Warning - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 05 03 -Comment = PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-SignatureID (1 2 840 113549 1 12 5 3) -Warning - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 03 01 -Comment = PKCS #12 OID SignatureID. Deprecated, use the conventional PKCS #1 OIDs instead -Description = pkcs-12-RSASignatureWithSHA1Digest (1 2 840 113549 1 12 5 3 1) -Warning - -# Yet *another* redefinition of the PKCS #12 "bag" ID's, now in a different -# order than the last redefinition at ... 12 3. -OID = 06 09 2A 86 48 86 F7 0D 01 0C 0A -Description = pkcs-12Version1 (1 2 840 113549 1 12 10) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0C 0A 01 -Description = pkcs-12BadIds (1 2 840 113549 1 12 10 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 01 -Comment = PKCS #12 BagIds -Description = pkcs-12-keyBag (1 2 840 113549 1 12 10 1 1) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 02 -Comment = PKCS #12 BagIds -Description = pkcs-12-pkcs-8ShroudedKeyBag (1 2 840 113549 1 12 10 1 2) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 03 -Comment = PKCS #12 BagIds -Description = pkcs-12-certBag (1 2 840 113549 1 12 10 1 3) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 04 -Comment = PKCS #12 BagIds -Description = pkcs-12-crlBag (1 2 840 113549 1 12 10 1 4) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 05 -Comment = PKCS #12 BagIds -Description = pkcs-12-secretBag (1 2 840 113549 1 12 10 1 5) - -OID = 06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 06 -Comment = PKCS #12 BagIds -Description = pkcs-12-safeContentsBag (1 2 840 113549 1 12 10 1 6) - -# PKCS #15 - -OID = 06 09 2A 86 48 86 F7 0D 01 0F 01 -Comment = PKCS #15 -Description = pkcs15modules (1 2 840 113549 1 15 1) - -OID = 06 09 2A 86 48 86 F7 0D 01 0F 02 -Comment = PKCS #15 -Description = pkcs15attributes (1 2 840 113549 1 15 2) - -OID = 06 09 2A 86 48 86 F7 0D 01 0F 03 -Comment = PKCS #15 -Description = pkcs15contentType (1 2 840 113549 1 15 3) - -OID = 06 0A 2A 86 48 86 F7 0D 01 0F 03 01 -Comment = PKCS #15 content type -Description = pkcs15content (1 2 840 113549 1 15 3 1) - -# RSADSI digest algorithms - -OID = 06 07 2A 86 48 86 F7 0D 02 -Description = digestAlgorithm (1 2 840 113549 2) - -OID = 06 08 2A 86 48 86 F7 0D 02 02 -Comment = RSADSI digestAlgorithm -Description = md2 (1 2 840 113549 2 2) - -OID = 06 08 2A 86 48 86 F7 0D 02 04 -Comment = RSADSI digestAlgorithm -Description = md4 (1 2 840 113549 2 4) - -OID = 06 08 2A 86 48 86 F7 0D 02 05 -Comment = RSADSI digestAlgorithm -Description = md5 (1 2 840 113549 2 5) - -OID = 06 08 2A 86 48 86 F7 0D 02 07 -Comment = RSADSI digestAlgorithm -Description = hmacWithSHA1 (1 2 840 113549 2 7) - -OID = 06 08 2A 86 48 86 F7 0D 02 08 -Comment = RSADSI digestAlgorithm -Description = hmacWithSHA224 (1 2 840 113549 2 8) - -OID = 06 08 2A 86 48 86 F7 0D 02 09 -Comment = RSADSI digestAlgorithm -Description = hmacWithSHA256 (1 2 840 113549 2 9) - -OID = 06 08 2A 86 48 86 F7 0D 02 0A -Comment = RSADSI digestAlgorithm -Description = hmacWithSHA384 (1 2 840 113549 2 10) - -OID = 06 08 2A 86 48 86 F7 0D 02 0B -Comment = RSADSI digestAlgorithm -Description = hmacWithSHA512 (1 2 840 113549 2 11) - -# RSADSI encryption algorithms - -OID = 06 07 2A 86 48 86 F7 0D 03 -Description = encryptionAlgorithm (1 2 840 113549 3) - -OID = 06 08 2A 86 48 86 F7 0D 03 02 -Comment = RSADSI encryptionAlgorithm -Description = rc2CBC (1 2 840 113549 3 2) - -OID = 06 08 2A 86 48 86 F7 0D 03 03 -Comment = RSADSI encryptionAlgorithm -Description = rc2ECB (1 2 840 113549 3 3) - -OID = 06 08 2A 86 48 86 F7 0D 03 04 -Comment = RSADSI encryptionAlgorithm -Description = rc4 (1 2 840 113549 3 4) - -OID = 06 08 2A 86 48 86 F7 0D 03 05 -Comment = RSADSI encryptionAlgorithm -Description = rc4WithMAC (1 2 840 113549 3 5) - -OID = 06 08 2A 86 48 86 F7 0D 03 06 -Comment = RSADSI encryptionAlgorithm -Description = desx-CBC (1 2 840 113549 3 6) - -OID = 06 08 2A 86 48 86 F7 0D 03 07 -Comment = RSADSI encryptionAlgorithm -Description = des-EDE3-CBC (1 2 840 113549 3 7) - -OID = 06 08 2A 86 48 86 F7 0D 03 08 -Comment = RSADSI encryptionAlgorithm -Description = rc5CBC (1 2 840 113549 3 8) - -OID = 06 08 2A 86 48 86 F7 0D 03 09 -Comment = RSADSI encryptionAlgorithm -Description = rc5-CBCPad (1 2 840 113549 3 9) - -OID = 06 08 2A 86 48 86 F7 0D 03 0A -Comment = RSADSI encryptionAlgorithm. Formerly called CDMFCBCPad -Description = desCDMF (1 2 840 113549 3 10) - -# Identrus - -OID = 06 09 2A 86 48 86 FA 65 01 06 01 -Comment = Identrus -Description = Identrus unknown policyIdentifier (1 2 840 114021 1 6 1) - -OID = 06 08 2A 86 48 86 FA 65 04 01 -Comment = Identrus -Description = identrusOCSP (1 2 840 114021 4 1) - -# Microsoft (both 1 2 840 and 1 3 6 1 4 1 arcs) - -OID = 06 0A 2A 86 48 86 F7 14 01 02 81 71 -Comment = Microsoft Exchange Server - attribute -Description = deliveryMechanism (1 2 840 113556 1 2 241) - -OID = 06 09 2A 86 48 86 F7 14 01 03 00 -Comment = Microsoft Exchange Server - object class -Description = site-Addressing (1 2 840 113556 1 3 0) - -OID = 06 09 2A 86 48 86 F7 14 01 03 0D -Comment = Microsoft Exchange Server - object class -Description = classSchema (1 2 840 113556 1 3 13) - -OID = 06 09 2A 86 48 86 F7 14 01 03 0E -Comment = Microsoft Exchange Server - object class -Description = attributeSchema (1 2 840 113556 1 3 14) - -OID = 06 09 2A 86 48 86 F7 14 01 03 11 -Comment = Microsoft Exchange Server - object class -Description = mailbox-Agent (1 2 840 113556 1 3 17) - -OID = 06 09 2A 86 48 86 F7 14 01 03 16 -Comment = Microsoft Exchange Server - object class -Description = mailbox (1 2 840 113556 1 3 22) - -OID = 06 09 2A 86 48 86 F7 14 01 03 17 -Comment = Microsoft Exchange Server - object class -Description = container (1 2 840 113556 1 3 23) - -OID = 06 09 2A 86 48 86 F7 14 01 03 2E -Comment = Microsoft Exchange Server - object class -Description = mailRecipient (1 2 840 113556 1 3 46) - -OID = 06 0A 2A 86 48 86 F7 14 01 02 82 19 -Comment = Microsoft Cert Template - attribute -Description = ntSecurityDescriptor (1 2 840 113556 1 2 281) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 81 11 -Comment = Microsoft Cert Template - attribute -Description = revision (1 2 840 113556 1 4 145) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 2F -Comment = Microsoft Cert Template - attribute -Description = pKIDefaultKeySpec (1 2 840 113556 1 4 1327) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 30 -Comment = Microsoft Cert Template - attribute -Description = pKIKeyUsage (1 2 840 113556 1 4 1328) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 31 -Comment = Microsoft Cert Template - attribute -Description = pKIMaxIssuingDepth (1 2 840 113556 1 4 1329) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 32 -Comment = Microsoft Cert Template - attribute -Description = pKICriticalExtensions (1 2 840 113556 1 4 1330) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 33 -Comment = Microsoft Cert Template - attribute -Description = pKIExpirationPeriod (1 2 840 113556 1 4 1331) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 34 -Comment = Microsoft Cert Template - attribute -Description = pKIOverlapPeriod (1 2 840 113556 1 4 1332) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 35 -Comment = Microsoft Cert Template - attribute -Description = pKIExtendedKeyUsage (1 2 840 113556 1 4 1333) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 36 -Comment = Microsoft Cert Template - attribute -Description = pKIDefaultCSPs (1 2 840 113556 1 4 1334) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8A 37 -Comment = Microsoft Cert Template - attribute -Description = pKIEnrollmentAccess (1 2 840 113556 1 4 1335) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 15 -Comment = Microsoft Cert Template - attribute -Description = msPKI-RA-Signature (1 2 840 113556 1 4 1429) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 16 -Comment = Microsoft Cert Template - attribute -Description = msPKI-Enrollment-Flag (1 2 840 113556 1 4 1430) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 17 -Comment = Microsoft Cert Template - attribute -Description = msPKI-Private-Key-Flag (1 2 840 113556 1 4 1431) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 18 -Comment = Microsoft Cert Template - attribute -Description = msPKI-Certificate-Name-Flag (1 2 840 113556 1 4 1432) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 19 -Comment = Microsoft Cert Template - attribute -Description = msPKI-Minimal-Key-Size (1 2 840 113556 1 4 1433) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 1A -Comment = Microsoft Cert Template - attribute -Description = msPKI-Template-Schema-Version (1 2 840 113556 1 4 1434) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 1B -Comment = Microsoft Cert Template - attribute -Description = msPKI-Template-Minor-Revision (1 2 840 113556 1 4 1435) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 1C -Comment = Microsoft Cert Template - attribute -Description = msPKI-Cert-Template-OID (1 2 840 113556 1 4 1436) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 1D -Comment = Microsoft Cert Template - attribute -Description = msPKI-Supersede-Templates (1 2 840 113556 1 4 1437) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 1E -Comment = Microsoft Cert Template - attribute -Description = msPKI-RA-Policies (1 2 840 113556 1 4 1438) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8B 1F -Comment = Microsoft Cert Template - attribute -Description = msPKI-Certificate-Policy (1 2 840 113556 1 4 1439) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8D 0A -Comment = Microsoft Cert Template - attribute -Description = msPKI-Certificate-Application-Policy (1 2 840 113556 1 4 1674) - -OID = 06 0A 2A 86 48 86 F7 14 01 04 8D 0B -Comment = Microsoft Cert Template - attribute -Description = msPKI-RA-Application-Policies (1 2 840 113556 1 4 1675) - -OID = 06 08 2A 86 48 86 F7 14 04 03 -Comment = Microsoft -Description = microsoftExcel (1 2 840 113556 4 3) - -OID = 06 08 2A 86 48 86 F7 14 04 04 -Comment = Microsoft -Description = titledWithOID (1 2 840 113556 4 4) - -OID = 06 08 2A 86 48 86 F7 14 04 05 -Comment = Microsoft -Description = microsoftPowerPoint (1 2 840 113556 4 5) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 04 -Comment = Microsoft code signing -Description = spcIndirectDataContext (1 3 6 1 4 1 311 2 1 4) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0A -Comment = Microsoft code signing. Also known as policyLink -Description = spcAgencyInfo (1 3 6 1 4 1 311 2 1 10) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0B -Comment = Microsoft code signing -Description = spcStatementType (1 3 6 1 4 1 311 2 1 11) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0C -Comment = Microsoft code signing -Description = spcSpOpusInfo (1 3 6 1 4 1 311 2 1 12) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0E -Comment = Microsoft -Description = certReqExtensions (1 3 6 1 4 1 311 2 1 14) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 0F -Comment = Microsoft code signing -Description = spcPEImageData (1 3 6 1 4 1 311 2 1 15) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 12 -Comment = Microsoft code signing -Description = spcRawFileData (1 3 6 1 4 1 311 2 1 18) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 13 -Comment = Microsoft code signing -Description = spcStructuredStorageData (1 3 6 1 4 1 311 2 1 19) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 14 -Comment = Microsoft code signing. Formerly "link extension" aka "glue extension" -Description = spcJavaClassData (type 1) (1 3 6 1 4 1 311 2 1 20) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 15 -Comment = Microsoft -Description = individualCodeSigning (1 3 6 1 4 1 311 2 1 21) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 16 -Comment = Microsoft -Description = commercialCodeSigning (1 3 6 1 4 1 311 2 1 22) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 19 -Comment = Microsoft code signing. Also known as "glue extension" -Description = spcLink (type 2) (1 3 6 1 4 1 311 2 1 25) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 1A -Comment = Microsoft code signing -Description = spcMinimalCriteriaInfo (1 3 6 1 4 1 311 2 1 26) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 1B -Comment = Microsoft code signing -Description = spcFinancialCriteriaInfo (1 3 6 1 4 1 311 2 1 27) - -OID = 06 0A 2B 06 01 04 01 82 37 02 01 1C -Comment = Microsoft code signing. Also known as "glue extension" -Description = spcLink (type 3) (1 3 6 1 4 1 311 2 1 28) - -OID = 06 0A 2B 06 01 04 01 82 37 03 02 01 -Comment = Microsoft code signing -Description = timestampRequest (1 3 6 1 4 1 311 3 2 1) - -OID = 06 09 2B 06 01 04 01 82 37 0A 01 -Comment = Microsoft PKCS #7 contentType -Description = certTrustList (1 3 6 1 4 1 311 10 1) - -OID = 06 09 2B 06 01 04 01 82 37 0A 02 -Comment = Microsoft -Description = nextUpdateLocation (1 3 6 1 4 1 311 10 2) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 01 -Comment = Microsoft enhanced key usage -Description = certTrustListSigning (1 3 6 1 4 1 311 10 3 1) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 02 -Comment = Microsoft enhanced key usage -Description = timeStampSigning (1 3 6 1 4 1 311 10 3 2) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 03 -Comment = Microsoft enhanced key usage -Description = serverGatedCrypto (1 3 6 1 4 1 311 10 3 3) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 03 04 -Comment = Microsoft enhanced key usage -Description = encryptedFileSystem (1 3 6 1 4 1 311 10 3 4) - -OID = 06 0A 2B 06 01 04 01 82 37 0A 04 01 -Comment = Microsoft attribute -Description = yesnoTrustAttr (1 3 6 1 4 1 311 10 4 1) - -# Certificate signing a renewal request -OID = 06 09 2B 06 01 04 01 82 37 0D 01 -Comment = Microsoft attribute -Description = renewalCertificate (1 3 6 1 4 1 311 13 1) - -# Name-and-value string pairs -OID = 06 0A 2B 06 01 04 01 82 37 0D 02 01 -Comment = Microsoft attribute -Description = enrolmentNameValuePair (1 3 6 1 4 1 311 13 2 1) - -# CAPI cert enrolment CSP, contains a BMPString describing the CAPI level and -# a BIT STRING blob containing a key spec -OID = 06 0A 2B 06 01 04 01 82 37 0D 02 02 -Comment = Microsoft attribute -Description = enrolmentCSP (1 3 6 1 4 1 311 13 2 2) - -# Windows OS version -OID = 06 0A 2B 06 01 04 01 82 37 0D 02 03 -Comment = Microsoft attribute -Description = osVersion (1 3 6 1 4 1 311 13 2 3) - -# This is just the normal issuerAndSerialNumber but with a MS-specific OID. -# Apparently it's used for CryptEncode/DecodeObject, whatever that is. -OID = 06 09 2B 06 01 04 01 82 37 10 04 -Comment = Microsoft attribute -Description = microsoftRecipientInfo (1 3 6 1 4 1 311 16 4) - -OID = 06 09 2B 06 01 04 01 82 37 14 02 -Comment = Microsoft CAPICOM certificate template, V1 -Description = enrollCerttypeExtension (1 3 6 1 4 1 311 20 2) - -OID = 06 0A 2B 06 01 04 01 82 37 14 02 03 -Comment = Microsoft UPN -Description = universalPrincipalName (1 3 6 1 4 1 311 20 2 3) - -# Win2K CA certificate key/cert counter, high 16 bits = key index, low 16 bits -# = cert index. Key index is inc'd when a CA gets a new key, cert index is -# inc'd when a CA gets a new cert (ie recertifies a current key). This -# extension has two purposes, as a hint to rebuild key/cert lists when a Win2K -# CA is restored, and as a poster boy for the kind of crap that people are -# shovelling into certs that has no place there -OID = 06 09 2B 06 01 04 01 82 37 15 01 -Comment = Microsoft attribute -Description = cAKeyCertIndexPair (1 3 6 1 4 1 311 21 1) - -# EKU: Encryption certificate for sending the private key to the CA -OID = 06 09 2B 06 01 04 01 82 37 15 05 -Comment = Microsoft extended key usage -Description = caExchange (1 3 6 1 4 1 311 21 5) -Warning - -# EKU: keyRecovery -OID = 06 09 2B 06 01 04 01 82 37 15 06 -Comment = Microsoft extended key usage -Description = keyRecovery (1 3 6 1 4 1 311 21 6) -Warning - -OID = 06 09 2B 06 01 04 01 82 37 15 07 -Comment = Microsoft CAPICOM certificate template, V2 -Description = certificateTemplate (1 3 6 1 4 1 311 21 7) - -# This one is at least as bad as cAKeyCertIndexPair: The first part of -# the arc, 1 3 6 1 4 1 311 21 8, is fixed, then 6 32-bit values are -# randomly generated and appended to create the full semi-random OID. -# Obviously it's not possible to usefull display these things... -# Comment = Microsoft braindamage -# Description = autoEnrollEFS (1 3 6 1 4 1 311 21 8 x x x x x x) - -# Encrypted private key -OID = 06 09 2B 06 01 04 01 82 37 15 0D -Comment = Microsoft attribute -Description = archivedKey (1 3 6 1 4 1 311 21 13) - -# Identity of the client application/ActiveX control, user, and machine -# that generated the request -OID = 06 09 2B 06 01 04 01 82 37 15 14 -Comment = Microsoft attribute -Description = requestClientInfo (1 3 6 1 4 1 311 21 20) - -# Hash of private key -OID = 06 09 2B 06 01 04 01 82 37 15 15 -Comment = Microsoft attribute -Description = encryptedKeyHash (1 3 6 1 4 1 311 21 21) - -# EKU: Health (= proof of compliance with system security policy) certificate -# (This may also be a policy OID rather than an EKU OID) -OID = 06 0A 2B 06 01 04 01 82 37 2F 01 01 -Comment = Microsoft extended key usage -Description = systemHealth (1 3 6 1 4 1 311 47 1 1) - -# EKU: Extended health (= proof of compliance with system security policy) -# certificate This is an interesting example of the triumph of politics -# over security, the "Health" key usage is meant to indicate compliance with -# a system or corporate security policy, and this key usage is for systems -# that don't comply with the policy but that need a "Health" certificate -# anyway -OID = 06 0A 2B 06 01 04 01 82 37 2F 01 03 -Comment = Microsoft extended key usage -Description = systemHealthLoophole (1 3 6 1 4 1 311 47 1 3) - -# CAPICOM original filename (something to do with signed files?) -OID = 06 0A 2B 06 01 04 01 82 37 58 02 01 -Comment = Microsoft attribute -Description = originalFilename (1 3 6 1 4 1 311 88 2 1) - -# Ascom Systech - -OID = 06 0A 2B 06 01 04 01 81 3C 07 01 01 -Comment = Ascom Systech -Description = ascom (1 3 6 1 4 1 188 7 1 1) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 01 -Comment = Ascom Systech -Description = ideaECB (1 3 6 1 4 1 188 7 1 1 1) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 02 -Comment = Ascom Systech -Description = ideaCBC (1 3 6 1 4 1 188 7 1 1 2) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 03 -Comment = Ascom Systech -Description = ideaCFB (1 3 6 1 4 1 188 7 1 1 3) - -OID = 06 0B 2B 06 01 04 01 81 3C 07 01 01 04 -Comment = Ascom Systech -Description = ideaOFB (1 3 6 1 4 1 188 7 1 1 4) - -# UNINETT - -OID = 06 0A 2B 06 01 04 01 92 7C 0A 01 01 -Comment = UNINETT PCA -Description = UNINETT policyIdentifier (1 3 6 1 4 1 2428 10 1 1) - -# ICE-TEL - -OID = 06 08 2B 06 01 04 01 95 18 0A -Comment = ICE-TEL CA -Description = ICE-TEL policyIdentifier (1 3 6 1 4 1 2712 10) - -OID = 06 0A 2B 06 01 04 01 95 62 01 01 01 -Comment = ICE-TEL CA policy -Description = ICE-TEL Italian policyIdentifier (1 3 6 1 4 1 2786 1 1 1) - -# cryptlib - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 01 -Comment = cryptlib encryption algorithm -Description = blowfishECB (1 3 6 1 4 1 3029 1 1 1) - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 02 -Comment = cryptlib encryption algorithm -Description = blowfishCBC (1 3 6 1 4 1 3029 1 1 2) - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 03 -Comment = cryptlib encryption algorithm -Description = blowfishCFB (1 3 6 1 4 1 3029 1 1 3) - -OID = 06 0A 2B 06 01 04 01 97 55 01 01 04 -Comment = cryptlib encryption algorithm -Description = blowfishOFB (1 3 6 1 4 1 3029 1 1 4) - -OID = 06 0A 2B 06 01 04 01 97 55 01 02 01 -Comment = cryptlib public-key algorithm -Description = elgamal (1 3 6 1 4 1 3029 1 2 1) - -OID = 06 0B 2B 06 01 04 01 97 55 01 02 01 01 -Comment = cryptlib public-key algorithm -Description = elgamalWithSHA-1 (1 3 6 1 4 1 3029 1 2 1 1) - -OID = 06 0B 2B 06 01 04 01 97 55 01 02 01 02 -Comment = cryptlib public-key algorithm -Description = elgamalWithRIPEMD-160 (1 3 6 1 4 1 3029 1 2 1 2) - -OID = 06 0A 2B 06 01 04 01 97 55 03 01 01 -Comment = cryptlib attribute type -Description = cryptlibPresenceCheck (1 3 6 1 4 1 3029 3 1 1) - -OID = 06 0A 2B 06 01 04 01 97 55 03 01 02 -Comment = cryptlib attribute type -Description = pkiBoot (1 3 6 1 4 1 3029 3 1 2) - -OID = 06 0A 2B 06 01 04 01 97 55 03 01 04 -Comment = cryptlib attribute type -Description = crlExtReason (1 3 6 1 4 1 3029 3 1 4) - -OID = 06 0A 2B 06 01 04 01 97 55 03 01 05 -Comment = cryptlib attribute type -Description = keyFeatures (1 3 6 1 4 1 3029 3 1 5) - -OID = 06 09 2B 06 01 04 01 97 55 04 01 -Comment = cryptlib -Description = cryptlibContent (1 3 6 1 4 1 3029 4 1) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 01 -Comment = cryptlib content type -Description = cryptlibConfigData (1 3 6 1 4 1 3029 4 1 1) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 02 -Comment = cryptlib content type -Description = cryptlibUserIndex (1 3 6 1 4 1 3029 4 1 2) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 03 -Comment = cryptlib content type -Description = cryptlibUserInfo (1 3 6 1 4 1 3029 4 1 3) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 04 -Comment = cryptlib content type -Description = rtcsRequest (1 3 6 1 4 1 3029 4 1 4) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 05 -Comment = cryptlib content type -Description = rtcsResponse (1 3 6 1 4 1 3029 4 1 5) - -OID = 06 0A 2B 06 01 04 01 97 55 04 01 06 -Comment = cryptlib content type -Description = rtcsResponseExt (1 3 6 1 4 1 3029 4 1 6) - -OID = 06 0B 2B 06 01 04 01 97 55 2A D7 24 01 -Comment = cryptlib special MPEG-of-cat OID -Description = mpeg-1 (1 3 6 1 4 1 3029 42 11172 1) - -OID = 06 0C 2B 06 01 04 01 97 55 58 59 5A 5A 59 -Comment = cryptlib certificate policy -Description = xYZZY policyIdentifier (1 3 6 1 4 1 3029 88 89 90 90 89) - -# PGP Inc. - -OID = 06 0A 2B 06 01 04 01 9A 49 08 01 01 -Comment = PGP key information -Description = pgpExtension (1 3 6 1 4 1 3401 8 1 1) - -# EDI messaging for TMN Interactive Agents - -OID = 06 08 2B 06 01 04 01 9B 78 07 -Comment = TMN EDI for Interactive Agents -Description = eciaAscX12Edi (1 3 6 1 4 1 3576 7) - -OID = 06 09 2B 06 01 04 01 9B 78 07 01 -Comment = TMN EDI for Interactive Agents -Description = plainEDImessage (1 3 6 1 4 1 3576 7 1) - -OID = 06 09 2B 06 01 04 01 9B 78 07 02 -Comment = TMN EDI for Interactive Agents -Description = signedEDImessage (1 3 6 1 4 1 3576 7 2) - -OID = 06 09 2B 06 01 04 01 9B 78 07 05 -Comment = TMN EDI for Interactive Agents -Description = integrityEDImessage (1 3 6 1 4 1 3576 7 5) - -OID = 06 09 2B 06 01 04 01 9B 78 07 41 -Comment = TMN EDI for Interactive Agents -Description = iaReceiptMessage (1 3 6 1 4 1 3576 7 65) - -OID = 06 09 2B 06 01 04 01 9B 78 07 61 -Comment = TMN EDI for Interactive Agents -Description = iaStatusMessage (1 3 6 1 4 1 3576 7 97) - -OID = 06 08 2B 06 01 04 01 9B 78 08 -Comment = TMN EDI for Interactive Agents -Description = eciaEdifact (1 3 6 1 4 1 3576 8) - -OID = 06 08 2B 06 01 04 01 9B 78 09 -Comment = TMN EDI for Interactive Agents -Description = eciaNonEdi (1 3 6 1 4 1 3576 9) - -# Timeproof (www.timeproof.de) - -OID = 06 07 2B 06 01 04 01 AA 60 -Comment = enterprise -Description = timeproof (1 3 6 1 4 1 5472) - -OID = 06 08 2B 06 01 04 01 AA 60 01 -Comment = timeproof -Description = tss (1 3 6 1 4 1 5472 1) - -OID = 06 09 2B 06 01 04 01 AA 60 01 01 -Comment = timeproof TSS -Description = tss80 (1 3 6 1 4 1 5472 1 1) - -OID = 06 09 2B 06 01 04 01 AA 60 01 02 -Comment = timeproof TSS -Description = tss380 (1 3 6 1 4 1 5472 1 2) - -OID = 06 09 2B 06 01 04 01 AA 60 01 03 -Comment = timeproof TSS -Description = tss400 (1 3 6 1 4 1 5472 1 3) - -# MEDePass - -OID = 06 09 2B 06 01 04 01 AD 0A 00 03 -Comment = MEDePass -Description = secondaryPractices (1 3 6 1 4 1 5770 0 3) - -OID = 06 09 2B 06 01 04 01 AD 0A 00 04 -Comment = MEDePass -Description = physicianIdentifiers (1 3 6 1 4 1 5770 0 4) - -# Comodo CA - -OID = 06 0C 2B 06 01 04 01 B2 31 01 02 01 03 01 -Comment = Comodo CA -Description = comodoPolicy (1 3 6 1 4 1 6449 1 2 1 3 1) - -OID = 06 0B 2B 06 01 04 01 B2 31 01 03 05 02 -Comment = Comodo CA -Description = comodoCertifiedDeliveryService (1 3 6 1 4 1 6449 1 3 5 2) - -# TU Darmstadt ValidityModel -# http://www.cdc.informatik.tu-darmstadt.de/TI/Forschung/FlexiPKI/validitymodel/index.html - -OID = 06 09 2B 06 01 04 01 C0 6D 03 05 -Comment = TU Darmstadt ValidityModel -Description = validityModel (1 3 6 1 4 1 8301 3 5) - -OID = 06 0A 2B 06 01 04 01 C0 6D 03 05 01 -Comment = TU Darmstadt ValidityModel -Description = validityModelChain (1 3 6 1 4 1 8301 3 5 1) - -OID = 06 0A 2B 06 01 04 01 C0 6D 03 05 02 -Comment = ValidityModel -Description = validityModelShell (1 3 6 1 4 1 8301 3 5 2) - -# Chilean Government - -OID = 06 08 2B 06 01 04 01 C0 27 01 -Comment = Chilean Government national unique roll number -Description = rolUnicoNacional (1 3 6 1 4 1 8231 1) - -# GNU Project - -OID = 06 07 2B 06 01 04 01 DA 47 -Comment = GNU Project (see http://www.gnupg.org/oids.html) -Description = gnu (1 3 6 1 4 1 11591) - -OID = 06 08 2B 06 01 04 01 DA 47 01 -Comment = GNU Radius -Description = gnuRadius (1 3 6 1 4 1 11591 1) - -OID = 06 08 2B 06 01 04 01 DA 47 03 -Comment = GNU Radar -Description = gnuRadar (1 3 6 1 4 1 11591 3) - -OID = 06 08 2B 06 01 04 01 DA 47 0C -Comment = GNU digest algorithm -Description = gnuDigestAlgorithm (1 3 6 1 4 1 11591 12) - -OID = 06 09 2B 06 01 04 01 DA 47 0C 02 -Comment = GNU digest algorithm -Description = tiger (1 3 6 1 4 1 11591 12 2) - -OID = 06 08 2B 06 01 04 01 DA 47 0D -Comment = GNU encryption algorithm -Description = gnuEncryptionAlgorithm (1 3 6 1 4 1 11591 13) - -OID = 06 09 2B 06 01 04 01 DA 47 0D 02 -Comment = GNU encryption algorithm -Description = serpent (1 3 6 1 4 1 11591 13 2) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 01 -Comment = GNU encryption algorithm -Description = serpent128_ECB (1 3 6 1 4 1 11591 13 2 1) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 02 -Comment = GNU encryption algorithm -Description = serpent128_CBC (1 3 6 1 4 1 11591 13 2 2) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 03 -Comment = GNU encryption algorithm -Description = serpent128_OFB (1 3 6 1 4 1 11591 13 2 3) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 04 -Comment = GNU encryption algorithm -Description = serpent128_CFB (1 3 6 1 4 1 11591 13 2 4) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 15 -Comment = GNU encryption algorithm -Description = serpent192_ECB (1 3 6 1 4 1 11591 13 2 21) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 16 -Comment = GNU encryption algorithm -Description = serpent192_CBC (1 3 6 1 4 1 11591 13 2 22) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 17 -Comment = GNU encryption algorithm -Description = serpent192_OFB (1 3 6 1 4 1 11591 13 2 23) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 18 -Comment = GNU encryption algorithm -Description = serpent192_CFB (1 3 6 1 4 1 11591 13 2 24) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 29 -Comment = GNU encryption algorithm -Description = serpent256_ECB (1 3 6 1 4 1 11591 13 2 41) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 2A -Comment = GNU encryption algorithm -Description = serpent256_CBC (1 3 6 1 4 1 11591 13 2 42) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 2B -Comment = GNU encryption algorithm -Description = serpent256_OFB (1 3 6 1 4 1 11591 13 2 43) - -OID = 06 0A 2B 06 01 04 01 DA 47 0D 02 2C -Comment = GNU encryption algorithm -Description = serpent256_CFB (1 3 6 1 4 1 11591 13 2 44) - -# Northrop Grumman Mission Systems - -OID = 06 0B 2B 06 01 04 01 FF 4E 83 7D 01 01 -Comment = Northrop Grumman extended key usage -Description = Northrop Grumman extKeyUsage? (1 3 6 1 4 1 16334 509 1 1) - -OID = 06 0B 2B 06 01 04 01 FF 4E 83 7D 02 01 -Comment = Northrop Grumman policy -Description = ngcClass1 (1 3 6 1 4 1 16334 509 2 1) - -OID = 06 0B 2B 06 01 04 01 FF 4E 83 7D 02 02 -Comment = Northrop Grumman policy -Description = ngcClass2 (1 3 6 1 4 1 16334 509 2 2) - -OID = 06 0B 2B 06 01 04 01 FF 4E 83 7D 02 03 -Comment = Northrop Grumman policy -Description = ngcClass3 (1 3 6 1 4 1 16334 509 2 3) - -# PKIX - -OID = 06 06 2B 06 01 05 05 07 -Description = pkix (1 3 6 1 5 5 7) - -OID = 06 08 2B 06 01 05 05 07 00 0C -Comment = PKIX -Description = attributeCert (1 3 6 1 5 5 7 0 12) - -OID = 06 07 2B 06 01 05 05 07 01 -Comment = PKIX -Description = privateExtension (1 3 6 1 5 5 7 1) - -OID = 06 08 2B 06 01 05 05 07 01 01 -Comment = PKIX private extension -Description = authorityInfoAccess (1 3 6 1 5 5 7 1 1) - -OID = 06 08 2B 06 01 05 05 07 01 02 -Comment = PKIX private extension -Description = biometricInfo (1 3 6 1 5 5 7 1 2) - -OID = 06 08 2B 06 01 05 05 07 01 03 -Comment = PKIX private extension -Description = qcStatements (1 3 6 1 5 5 7 1 3) - -OID = 06 08 2B 06 01 05 05 07 01 04 -Comment = PKIX private extension -Description = acAuditIdentity (1 3 6 1 5 5 7 1 4) - -OID = 06 08 2B 06 01 05 05 07 01 05 -Comment = PKIX private extension -Description = acTargeting (1 3 6 1 5 5 7 1 5) - -OID = 06 08 2B 06 01 05 05 07 01 06 -Comment = PKIX private extension -Description = acAaControls (1 3 6 1 5 5 7 1 6) - -OID = 06 08 2B 06 01 05 05 07 01 07 -Comment = PKIX private extension -Description = sbgp-ipAddrBlock (1 3 6 1 5 5 7 1 7) - -OID = 06 08 2B 06 01 05 05 07 01 08 -Comment = PKIX private extension -Description = sbgp-autonomousSysNum (1 3 6 1 5 5 7 1 8) - -OID = 06 08 2B 06 01 05 05 07 01 09 -Comment = PKIX private extension -Description = sbgp-routerIdentifier (1 3 6 1 5 5 7 1 9) - -OID = 06 08 2B 06 01 05 05 07 01 0A -Comment = PKIX private extension -Description = acProxying (1 3 6 1 5 5 7 1 10) - -OID = 06 08 2B 06 01 05 05 07 01 0B -Comment = PKIX private extension -Description = subjectInfoAccess (1 3 6 1 5 5 7 1 11) - -OID = 06 08 2B 06 01 05 05 07 01 0C -Comment = PKIX private extension -Description = logoType (1 3 6 1 5 5 7 1 12) - -OID = 06 07 2B 06 01 05 05 07 02 -Comment = PKIX -Description = policyQualifierIds (1 3 6 1 5 5 7 2) - -OID = 06 08 2B 06 01 05 05 07 02 01 -Comment = PKIX policy qualifier -Description = cps (1 3 6 1 5 5 7 2 1) - -OID = 06 08 2B 06 01 05 05 07 02 02 -Comment = PKIX policy qualifier -Description = unotice (1 3 6 1 5 5 7 2 2) - -OID = 06 08 2B 06 01 05 05 07 02 03 -Comment = PKIX policy qualifier -Description = textNotice (1 3 6 1 5 5 7 2 3) - -OID = 06 07 2B 06 01 05 05 07 03 -Comment = PKIX -Description = keyPurpose (1 3 6 1 5 5 7 3) - -OID = 06 08 2B 06 01 05 05 07 03 01 -Comment = PKIX key purpose -Description = serverAuth (1 3 6 1 5 5 7 3 1) - -OID = 06 08 2B 06 01 05 05 07 03 02 -Comment = PKIX key purpose -Description = clientAuth (1 3 6 1 5 5 7 3 2) - -OID = 06 08 2B 06 01 05 05 07 03 03 -Comment = PKIX key purpose -Description = codeSigning (1 3 6 1 5 5 7 3 3) - -OID = 06 08 2B 06 01 05 05 07 03 04 -Comment = PKIX key purpose -Description = emailProtection (1 3 6 1 5 5 7 3 4) - -OID = 06 08 2B 06 01 05 05 07 03 05 -Comment = PKIX key purpose -Description = ipsecEndSystem (1 3 6 1 5 5 7 3 5) - -OID = 06 08 2B 06 01 05 05 07 03 06 -Comment = PKIX key purpose -Description = ipsecTunnel (1 3 6 1 5 5 7 3 6) - -OID = 06 08 2B 06 01 05 05 07 03 07 -Comment = PKIX key purpose -Description = ipsecUser (1 3 6 1 5 5 7 3 7) - -OID = 06 08 2B 06 01 05 05 07 03 08 -Comment = PKIX key purpose -Description = timeStamping (1 3 6 1 5 5 7 3 8) - -OID = 06 08 2B 06 01 05 05 07 03 09 -Comment = PKIX key purpose -Description = ocspSigning (1 3 6 1 5 5 7 3 9) - -OID = 06 08 2B 06 01 05 05 07 03 0A -Comment = PKIX key purpose -Description = dvcs (1 3 6 1 5 5 7 3 10) - -OID = 06 08 2B 06 01 05 05 07 03 0B -Comment = PKIX key purpose -Description = sbgpCertAAServerAuth (1 3 6 1 5 5 7 3 11) - -OID = 06 08 2B 06 01 05 05 07 03 0D -Comment = PKIX key purpose -Description = eapOverPPP (1 3 6 1 5 5 7 3 13) - -OID = 06 08 2B 06 01 05 05 07 03 0E -Comment = PKIX key purpose -Description = wlanSSID (1 3 6 1 5 5 7 3 14) - -OID = 06 07 2B 06 01 05 05 07 04 -Comment = PKIX -Description = cmpInformationTypes (1 3 6 1 5 5 7 4) - -OID = 06 08 2B 06 01 05 05 07 04 01 -Comment = PKIX CMP information -Description = caProtEncCert (1 3 6 1 5 5 7 4 1) - -OID = 06 08 2B 06 01 05 05 07 04 02 -Comment = PKIX CMP information -Description = signKeyPairTypes (1 3 6 1 5 5 7 4 2) - -OID = 06 08 2B 06 01 05 05 07 04 03 -Comment = PKIX CMP information -Description = encKeyPairTypes (1 3 6 1 5 5 7 4 3) - -OID = 06 08 2B 06 01 05 05 07 04 04 -Comment = PKIX CMP information -Description = preferredSymmAlg (1 3 6 1 5 5 7 4 4) - -OID = 06 08 2B 06 01 05 05 07 04 05 -Comment = PKIX CMP information -Description = caKeyUpdateInfo (1 3 6 1 5 5 7 4 5) - -OID = 06 08 2B 06 01 05 05 07 04 06 -Comment = PKIX CMP information -Description = currentCRL (1 3 6 1 5 5 7 4 6) - -OID = 06 08 2B 06 01 05 05 07 04 07 -Comment = PKIX CMP information -Description = unsupportedOIDs (1 3 6 1 5 5 7 4 7) - -OID = 06 08 2B 06 01 05 05 07 04 0A -Comment = PKIX CMP information -Description = keyPairParamReq (1 3 6 1 5 5 7 4 10) - -OID = 06 08 2B 06 01 05 05 07 04 0B -Comment = PKIX CMP information -Description = keyPairParamRep (1 3 6 1 5 5 7 4 11) - -OID = 06 08 2B 06 01 05 05 07 04 0C -Comment = PKIX CMP information -Description = revPassphrase (1 3 6 1 5 5 7 4 12) - -OID = 06 08 2B 06 01 05 05 07 04 0D -Comment = PKIX CMP information -Description = implicitConfirm (1 3 6 1 5 5 7 4 13) - -OID = 06 08 2B 06 01 05 05 07 04 0E -Comment = PKIX CMP information -Description = confirmWaitTime (1 3 6 1 5 5 7 4 14) - -OID = 06 08 2B 06 01 05 05 07 04 0F -Comment = PKIX CMP information -Description = origPKIMessage (1 3 6 1 5 5 7 4 15) - -OID = 06 08 2B 06 01 05 05 07 04 10 -Comment = PKIX CMP information -Description = suppLangTags (1 3 6 1 5 5 7 4 16) - -OID = 06 07 2B 06 01 05 05 07 05 -Comment = PKIX -Description = crmfRegistration (1 3 6 1 5 5 7 5) - -OID = 06 08 2B 06 01 05 05 07 05 01 -Comment = PKIX CRMF registration -Description = regCtrl (1 3 6 1 5 5 7 5 1) - -OID = 06 09 2B 06 01 05 05 07 05 01 01 -Comment = PKIX CRMF registration control -Description = regToken (1 3 6 1 5 5 7 5 1 1) - -OID = 06 09 2B 06 01 05 05 07 05 01 02 -Comment = PKIX CRMF registration control -Description = authenticator (1 3 6 1 5 5 7 5 1 2) - -OID = 06 09 2B 06 01 05 05 07 05 01 03 -Comment = PKIX CRMF registration control -Description = pkiPublicationInfo (1 3 6 1 5 5 7 5 1 3) - -OID = 06 09 2B 06 01 05 05 07 05 01 04 -Comment = PKIX CRMF registration control -Description = pkiArchiveOptions (1 3 6 1 5 5 7 5 1 4) - -OID = 06 09 2B 06 01 05 05 07 05 01 05 -Comment = PKIX CRMF registration control -Description = oldCertID (1 3 6 1 5 5 7 5 1 5) - -OID = 06 09 2B 06 01 05 05 07 05 01 06 -Comment = PKIX CRMF registration control -Description = protocolEncrKey (1 3 6 1 5 5 7 5 1 6) - -OID = 06 09 2B 06 01 05 05 07 05 01 07 -Comment = PKIX CRMF registration control -Description = altCertTemplate (1 3 6 1 5 5 7 5 1 7) - -OID = 06 09 2B 06 01 05 05 07 05 01 08 -Comment = PKIX CRMF registration control -Description = wtlsTemplate (1 3 6 1 5 5 7 5 1 8) - -OID = 06 08 2B 06 01 05 05 07 05 02 -Comment = PKIX CRMF registration -Description = utf8Pairs (1 3 6 1 5 5 7 5 2) - -OID = 06 09 2B 06 01 05 05 07 05 02 01 -Comment = PKIX CRMF registration control -Description = utf8Pairs (1 3 6 1 5 5 7 5 2 1) - -OID = 06 09 2B 06 01 05 05 07 05 02 02 -Comment = PKIX CRMF registration control -Description = certReq (1 3 6 1 5 5 7 5 2 2) - -OID = 06 07 2B 06 01 05 05 07 06 -Comment = PKIX -Description = algorithms (1 3 6 1 5 5 7 6) - -OID = 06 08 2B 06 01 05 05 07 06 01 -Comment = PKIX algorithm -Description = des40 (1 3 6 1 5 5 7 6 1) - -OID = 06 08 2B 06 01 05 05 07 06 02 -Comment = PKIX algorithm -Description = noSignature (1 3 6 1 5 5 7 6 2) - -OID = 06 08 2B 06 01 05 05 07 06 03 -Comment = PKIX algorithm -Description = dh-sig-hmac-sha1 (1 3 6 1 5 5 7 6 3) - -OID = 06 08 2B 06 01 05 05 07 06 04 -Comment = PKIX algorithm -Description = dh-pop (1 3 6 1 5 5 7 6 4) - -OID = 06 07 2B 06 01 05 05 07 07 -Comment = PKIX -Description = cmcControls (1 3 6 1 5 5 7 7) - -OID = 06 07 2B 06 01 05 05 07 08 -Comment = PKIX -Description = otherNames (1 3 6 1 5 5 7 8) - -OID = 06 08 2B 06 01 05 05 07 08 01 -Comment = PKIX other name -Description = personalData (1 3 6 1 5 5 7 8 1) - -OID = 06 08 2B 06 01 05 05 07 08 02 -Comment = PKIX other name -Description = userGroup (1 3 6 1 5 5 7 8 2) - -OID = 06 07 2B 06 01 05 05 07 09 -Comment = PKIX qualified certificates -Description = personalData (1 3 6 1 5 5 7 9) - -OID = 06 08 2B 06 01 05 05 07 09 01 -Comment = PKIX personal data -Description = dateOfBirth (1 3 6 1 5 5 7 9 1) - -OID = 06 08 2B 06 01 05 05 07 09 02 -Comment = PKIX personal data -Description = placeOfBirth (1 3 6 1 5 5 7 9 2) - -OID = 06 08 2B 06 01 05 05 07 09 03 -Comment = PKIX personal data -Description = gender (1 3 6 1 5 5 7 9 3) - -OID = 06 08 2B 06 01 05 05 07 09 04 -Comment = PKIX personal data -Description = countryOfCitizenship (1 3 6 1 5 5 7 9 4) - -OID = 06 08 2B 06 01 05 05 07 09 05 -Comment = PKIX personal data -Description = countryOfResidence (1 3 6 1 5 5 7 9 5) - -OID = 06 07 2B 06 01 05 05 07 0A -Comment = PKIX -Description = attributeCertificate (1 3 6 1 5 5 7 10) - -OID = 06 08 2B 06 01 05 05 07 0A 01 -Comment = PKIX attribute certificate extension -Description = authenticationInfo (1 3 6 1 5 5 7 10 1) - -OID = 06 08 2B 06 01 05 05 07 0A 02 -Comment = PKIX attribute certificate extension -Description = accessIdentity (1 3 6 1 5 5 7 10 2) - -OID = 06 08 2B 06 01 05 05 07 0A 03 -Comment = PKIX attribute certificate extension -Description = chargingIdentity (1 3 6 1 5 5 7 10 3) - -OID = 06 08 2B 06 01 05 05 07 0A 04 -Comment = PKIX attribute certificate extension -Description = group (1 3 6 1 5 5 7 10 4) - -OID = 06 08 2B 06 01 05 05 07 0A 05 -Comment = PKIX attribute certificate extension -Description = role (1 3 6 1 5 5 7 10 5) - -OID = 06 08 2B 06 01 05 05 07 0A 06 -Comment = PKIX attribute certificate extension -Description = encAttrs (1 3 6 1 5 5 7 10 6) - -OID = 06 07 2B 06 01 05 05 07 0B -Comment = PKIX qualified certificates -Description = personalData (1 3 6 1 5 5 7 11) - -OID = 06 08 2B 06 01 05 05 07 0B 01 -Comment = PKIX qualified certificates -Description = pkixQCSyntax-v1 (1 3 6 1 5 5 7 11 1) - -OID = 06 07 2B 06 01 05 05 07 14 -Comment = PKIX qualified certificates -Description = logo (1 3 6 1 5 5 7 20) - -OID = 06 08 2B 06 01 05 05 07 14 01 -Comment = PKIX -Description = logoLoyalty (1 3 6 1 5 5 7 20 1) - -OID = 06 08 2B 06 01 05 05 07 14 02 -Comment = PKIX -Description = logoBackground (1 3 6 1 5 5 7 20 2) - -# OCSP - -OID = 06 08 2B 06 01 05 05 07 30 01 -Comment = PKIX -Description = ocsp (1 3 6 1 5 5 7 48 1) - -OID = 06 09 2B 06 01 05 05 07 30 01 01 -Comment = OCSP -Description = ocspBasic (1 3 6 1 5 5 7 48 1 1) - -OID = 06 09 2B 06 01 05 05 07 30 01 02 -Comment = OCSP -Description = ocspNonce (1 3 6 1 5 5 7 48 1 2) - -OID = 06 09 2B 06 01 05 05 07 30 01 03 -Comment = OCSP -Description = ocspCRL (1 3 6 1 5 5 7 48 1 3) - -OID = 06 09 2B 06 01 05 05 07 30 01 04 -Comment = OCSP -Description = ocspResponse (1 3 6 1 5 5 7 48 1 4) - -OID = 06 09 2B 06 01 05 05 07 30 01 05 -Comment = OCSP -Description = ocspNoCheck (1 3 6 1 5 5 7 48 1 5) - -OID = 06 09 2B 06 01 05 05 07 30 01 06 -Comment = OCSP -Description = ocspArchiveCutoff (1 3 6 1 5 5 7 48 1 6) - -OID = 06 09 2B 06 01 05 05 07 30 01 07 -Comment = OCSP -Description = ocspServiceLocator (1 3 6 1 5 5 7 48 1 7) - -# Subject/AuthorityInfo types (OCSP is already listed above) - -OID = 06 08 2B 06 01 05 05 07 30 02 -Comment = PKIX subject/authority info access descriptor -Description = caIssuers (1 3 6 1 5 5 7 48 2) - -OID = 06 08 2B 06 01 05 05 07 30 03 -Comment = PKIX subject/authority info access descriptor -Description = timeStamping (1 3 6 1 5 5 7 48 3) - -OID = 06 08 2B 06 01 05 05 07 30 05 -Comment = PKIX subject/authority info access descriptor -Description = caRepository (1 3 6 1 5 5 7 48 5) - -# ISAKMP - -OID = 06 08 2B 06 01 05 05 08 01 01 -Comment = ISAKMP HMAC algorithm -Description = hmacMD5 (1 3 6 1 5 5 8 1 1) - -OID = 06 08 2B 06 01 05 05 08 01 02 -Comment = ISAKMP HMAC algorithm -Description = hmacSHA (1 3 6 1 5 5 8 1 2) - -OID = 06 08 2B 06 01 05 05 08 01 03 -Comment = ISAKMP HMAC algorithm -Description = hmacTiger (1 3 6 1 5 5 8 1 3) - -OID = 06 08 2B 06 01 05 05 08 02 02 -Comment = IKE ??? -Description = iKEIntermediate (1 3 6 1 5 5 8 2 2) - -# DEC (via ECMA) - -OID = 06 07 2B 0C 02 87 73 07 01 -Comment = DASS algorithm -Description = decEncryptionAlgorithm (1 3 12 2 1011 7 1) - -OID = 06 08 2B 0C 02 87 73 07 01 02 -Comment = DASS encryption algorithm -Description = decDEA (1 3 12 2 1011 7 1 2) - -OID = 06 07 2B 0C 02 87 73 07 02 -Comment = DASS algorithm -Description = decHashAlgorithm (1 3 12 2 1011 7 2) - -OID = 06 08 2B 0C 02 87 73 07 02 01 -Comment = DASS hash algorithm -Description = decMD2 (1 3 12 2 1011 7 2 1) - -OID = 06 08 2B 0C 02 87 73 07 02 02 -Comment = DASS hash algorithm -Description = decMD4 (1 3 12 2 1011 7 2 2) - -OID = 06 07 2B 0C 02 87 73 07 03 -Comment = DASS algorithm -Description = decSignatureAlgorithm (1 3 12 2 1011 7 3) - -OID = 06 08 2B 0C 02 87 73 07 03 01 -Comment = DASS signature algorithm -Description = decMD2withRSA (1 3 12 2 1011 7 3 1) - -OID = 06 08 2B 0C 02 87 73 07 03 02 -Comment = DASS signature algorithm -Description = decMD4withRSA (1 3 12 2 1011 7 3 2) - -OID = 06 08 2B 0C 02 87 73 07 03 03 -Comment = DASS signature algorithm -Description = decDEAMAC (1 3 12 2 1011 7 3 3) - -# NIST Open Systems Environment (OSE) Implementor's Workshop (OIW), -# specialising in oddball and partially-defunct OIDs - -OID = 06 05 2B 0E 02 1A 05 -Comment = Unsure about this OID -Description = sha (1 3 14 2 26 5) - -OID = 06 06 2B 0E 03 02 01 01 -Comment = X.509. Unsure about this OID -Description = rsa (1 3 14 3 2 1 1) - -OID = 06 05 2B 0E 03 02 02 -Comment = Oddball OIW OID -Description = md4WitRSA (1 3 14 3 2 2) - -OID = 06 05 2B 0E 03 02 03 -Comment = Oddball OIW OID -Description = md5WithRSA (1 3 14 3 2 3) - -OID = 06 05 2B 0E 03 02 04 -Comment = Oddball OIW OID -Description = md4WithRSAEncryption (1 3 14 3 2 4) - -OID = 06 06 2B 0E 03 02 02 01 -Comment = X.509. Deprecated -Description = sqmod-N (1 3 14 3 2 2 1) -Warning - -OID = 06 06 2B 0E 03 02 03 01 -Comment = X.509. Deprecated -Description = sqmod-NwithRSA (1 3 14 3 2 3 1) -Warning - -OID = 06 05 2B 0E 03 02 06 -Description = desECB (1 3 14 3 2 6) - -OID = 06 05 2B 0E 03 02 07 -Description = desCBC (1 3 14 3 2 7) - -OID = 06 05 2B 0E 03 02 08 -Description = desOFB (1 3 14 3 2 8) - -OID = 06 05 2B 0E 03 02 09 -Description = desCFB (1 3 14 3 2 9) - -OID = 06 05 2B 0E 03 02 0A -Description = desMAC (1 3 14 3 2 10) - -OID = 06 05 2B 0E 03 02 0B -Comment = ISO 9796-2, also X9.31 Part 1 -Description = rsaSignature (1 3 14 3 2 11) - -OID = 06 05 2B 0E 03 02 0C -Comment = OIW?, supposedly from an incomplete version of SDN.701 (doesn't match final SDN.701) -Description = dsa (1 3 14 3 2 12) -Warning - -OID = 06 05 2B 0E 03 02 0D -Comment = Oddball OIW OID. Incorrectly used by JDK 1.1 in place of (1 3 14 3 2 27) -# Their response was that they know it's wrong, but noone uses SHA0 so it won't -# cause any problems, right? -Description = dsaWithSHA (1 3 14 3 2 13) -Warning - -# The various md<x>WithRSASignature OIDs are for the ANSI X9.31 draft and use -# ISO 9796-2 padding rules. This work was derailed during the PKP brouhaha and -# is still in progress (and probably will remain so) -OID = 06 05 2B 0E 03 02 0E -Comment = Oddball OIW OID using 9796-2 padding rules -Description = mdc2WithRSASignature (1 3 14 3 2 14) - -OID = 06 05 2B 0E 03 02 0F -Comment = Oddball OIW OID using 9796-2 padding rules -Description = shaWithRSASignature (1 3 14 3 2 15) - -OID = 06 05 2B 0E 03 02 10 -Comment = Oddball OIW OID. Deprecated, use a plain DH OID instead -Description = dhWithCommonModulus (1 3 14 3 2 16) -Warning - -OID = 06 05 2B 0E 03 02 11 -Comment = Oddball OIW OID. Mode is ECB -Description = desEDE (1 3 14 3 2 17) - -OID = 06 05 2B 0E 03 02 12 -Comment = Oddball OIW OID -Description = sha (1 3 14 3 2 18) - -OID = 06 05 2B 0E 03 02 13 -Comment = Oddball OIW OID, DES-based hash, planned for X9.31 Part 2 -Description = mdc-2 (1 3 14 3 2 19) - -OID = 06 05 2B 0E 03 02 14 -Comment = Oddball OIW OID. Deprecated, use a plain DSA OID instead -Description = dsaCommon (1 3 14 3 2 20) -Warning - -OID = 06 05 2B 0E 03 02 15 -Comment = Oddball OIW OID. Deprecated, use a plain dsaWithSHA OID instead -Description = dsaCommonWithSHA (1 3 14 3 2 21) -Warning - -OID = 06 05 2B 0E 03 02 16 -Comment = Oddball OIW OID -Description = rsaKeyTransport (1 3 14 3 2 22) - -OID = 06 05 2B 0E 03 02 17 -Comment = Oddball OIW OID -Description = keyed-hash-seal (1 3 14 3 2 23) - -OID = 06 05 2B 0E 03 02 18 -Comment = Oddball OIW OID using 9796-2 padding rules -Description = md2WithRSASignature (1 3 14 3 2 24) - -OID = 06 05 2B 0E 03 02 19 -Comment = Oddball OIW OID using 9796-2 padding rules -Description = md5WithRSASignature (1 3 14 3 2 25) - -OID = 06 05 2B 0E 03 02 1A -Comment = OIW -Description = sha1 (1 3 14 3 2 26) - -# Yet another multiply-assigned OID -OID = 06 05 2B 0E 03 02 1B -Comment = OIW. This OID may also be assigned as ripemd-160 -Description = dsaWithSHA1 (1 3 14 3 2 27) - -OID = 06 05 2B 0E 03 02 1C -Comment = OIW -Description = dsaWithCommonSHA1 (1 3 14 3 2 28) - -OID = 06 05 2B 0E 03 02 1D -Comment = Oddball OIW OID -Description = sha-1WithRSAEncryption (1 3 14 3 2 29) - -OID = 06 05 2B 0E 03 03 01 -Comment = Oddball OIW OID -Description = simple-strong-auth-mechanism (1 3 14 3 3 1) - -OID = 06 06 2B 0E 07 02 01 01 -Comment = Unsure about this OID -Description = ElGamal (1 3 14 7 2 1 1) - -OID = 06 06 2B 0E 07 02 03 01 -Comment = Unsure about this OID -Description = md2WithRSA (1 3 14 7 2 3 1) - -OID = 06 06 2B 0E 07 02 03 02 -Comment = Unsure about this OID -Description = md2WithElGamal (1 3 14 7 2 3 2) - -# Teletrust - -OID = 06 03 2B 24 01 -Comment = Teletrust document -Description = document (1 3 36 1) - -OID = 06 04 2B 24 01 01 -Comment = Teletrust document -Description = finalVersion (1 3 36 1 1) - -OID = 06 04 2B 24 01 02 -Comment = Teletrust document -Description = draft (1 3 36 1 2) - -OID = 06 03 2B 24 02 -Comment = Teletrust sio -Description = sio (1 3 36 2) - -OID = 06 04 2B 24 02 01 -Comment = Teletrust sio -Description = sedu (1 3 36 2 1) - -OID = 06 03 2B 24 03 -Comment = Teletrust algorithm -Description = algorithm (1 3 36 3) - -OID = 06 04 2B 24 03 01 -Comment = Teletrust algorithm -Description = encryptionAlgorithm (1 3 36 3 1) - -OID = 06 05 2B 24 03 01 01 -Comment = Teletrust encryption algorithm -Description = des (1 3 36 3 1 1) - -OID = 06 06 2B 24 03 01 01 01 -Comment = Teletrust encryption algorithm -Description = desECB_pad (1 3 36 3 1 1 1) - -OID = 06 07 2B 24 03 01 01 01 01 -Comment = Teletrust encryption algorithm -Description = desECB_ISOpad (1 3 36 3 1 1 1 1) - -OID = 06 07 2B 24 03 01 01 02 01 -Comment = Teletrust encryption algorithm -Description = desCBC_pad (1 3 36 3 1 1 2 1) - -OID = 06 08 2B 24 03 01 01 02 01 01 -Comment = Teletrust encryption algorithm -Description = desCBC_ISOpad (1 3 36 3 1 1 2 1 1) - -OID = 06 05 2B 24 03 01 03 -Comment = Teletrust encryption algorithm -Description = des_3 (1 3 36 3 1 3) - -OID = 06 07 2B 24 03 01 03 01 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3ECB_pad (1 3 36 3 1 3 1 1) - -OID = 06 08 2B 24 03 01 03 01 01 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3ECB_ISOpad (1 3 36 3 1 3 1 1 1) - -OID = 06 07 2B 24 03 01 03 02 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3CBC_pad (1 3 36 3 1 3 2 1) - -OID = 06 08 2B 24 03 01 03 02 01 01 -Comment = Teletrust encryption algorithm. EDE triple DES -Description = des_3CBC_ISOpad (1 3 36 3 1 3 2 1 1) - -OID = 06 05 2B 24 03 01 02 -Comment = Teletrust encryption algorithm -Description = idea (1 3 36 3 1 2) - -OID = 06 06 2B 24 03 01 02 01 -Comment = Teletrust encryption algorithm -Description = ideaECB (1 3 36 3 1 2 1) - -OID = 06 07 2B 24 03 01 02 01 01 -Comment = Teletrust encryption algorithm -Description = ideaECB_pad (1 3 36 3 1 2 1 1) - -OID = 06 08 2B 24 03 01 02 01 01 01 -Comment = Teletrust encryption algorithm -Description = ideaECB_ISOpad (1 3 36 3 1 2 1 1 1) - -OID = 06 06 2B 24 03 01 02 02 -Comment = Teletrust encryption algorithm -Description = ideaCBC (1 3 36 3 1 2 2) - -OID = 06 07 2B 24 03 01 02 02 01 -Comment = Teletrust encryption algorithm -Description = ideaCBC_pad (1 3 36 3 1 2 2 1) - -OID = 06 08 2B 24 03 01 02 02 01 01 -Comment = Teletrust encryption algorithm -Description = ideaCBC_ISOpad (1 3 36 3 1 2 2 1 1) - -OID = 06 06 2B 24 03 01 02 03 -Comment = Teletrust encryption algorithm -Description = ideaOFB (1 3 36 3 1 2 3) - -OID = 06 06 2B 24 03 01 02 04 -Comment = Teletrust encryption algorithm -Description = ideaCFB (1 3 36 3 1 2 4) - -OID = 06 05 2B 24 03 01 04 -Comment = Teletrust encryption algorithm -Description = rsaEncryption (1 3 36 3 1 4) - -OID = 06 08 2B 24 03 01 04 84 00 11 -Comment = Teletrust encryption algorithm -Description = rsaEncryptionWithlmod512expe17 (1 3 36 3 1 4 512 17) - -OID = 06 05 2B 24 03 01 05 -Comment = Teletrust encryption algorithm -Description = bsi-1 (1 3 36 3 1 5) - -OID = 06 06 2B 24 03 01 05 01 -Comment = Teletrust encryption algorithm -Description = bsi_1ECB_pad (1 3 36 3 1 5 1) - -OID = 06 06 2B 24 03 01 05 02 -Comment = Teletrust encryption algorithm -Description = bsi_1CBC_pad (1 3 36 3 1 5 2) - -OID = 06 07 2B 24 03 01 05 02 01 -Comment = Teletrust encryption algorithm -Description = bsi_1CBC_PEMpad (1 3 36 3 1 5 2 1) - -OID = 06 04 2B 24 03 02 -Comment = Teletrust algorithm -Description = hashAlgorithm (1 3 36 3 2) - -OID = 06 05 2B 24 03 02 01 -Comment = Teletrust hash algorithm -Description = ripemd160 (1 3 36 3 2 1) - -OID = 06 05 2B 24 03 02 02 -Comment = Teletrust hash algorithm -Description = ripemd128 (1 3 36 3 2 2) - -OID = 06 05 2B 24 03 02 03 -Comment = Teletrust hash algorithm -Description = ripemd256 (1 3 36 3 2 3) - -OID = 06 05 2B 24 03 02 04 -Comment = Teletrust hash algorithm -Description = mdc2singleLength (1 3 36 3 2 4) - -OID = 06 05 2B 24 03 02 05 -Comment = Teletrust hash algorithm -Description = mdc2doubleLength (1 3 36 3 2 5) - -OID = 06 04 2B 24 03 03 -Comment = Teletrust algorithm -Description = signatureAlgorithm (1 3 36 3 3) - -OID = 06 05 2B 24 03 03 01 -Comment = Teletrust signature algorithm -Description = rsaSignature (1 3 36 3 3 1) - -OID = 06 06 2B 24 03 03 01 01 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1 (1 3 36 3 3 1 1) - -# What *were* they thinking? -OID = 06 09 2B 24 03 03 01 01 84 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l2 (1 3 36 3 3 1 1 512 2) -OID = 06 09 2B 24 03 03 01 01 85 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l2 (1 3 36 3 3 1 1 640 2) -OID = 06 09 2B 24 03 03 01 01 86 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l2 (1 3 36 3 3 1 1 768 2) -OID = 06 09 2B 24 03 03 01 01 87 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l2 (1 3 36 3 3 1 1 896 2) -OID = 06 09 2B 24 03 03 01 01 88 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l2 (1 3 36 3 3 1 1 1024 2) -OID = 06 09 2B 24 03 03 01 01 84 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l3 (1 3 36 3 3 1 1 512 3) -OID = 06 09 2B 24 03 03 01 01 85 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l3 (1 3 36 3 3 1 1 640 3) -OID = 06 09 2B 24 03 03 01 01 86 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l3 (1 3 36 3 3 1 1 768 3) -OID = 06 09 2B 24 03 03 01 01 87 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l3 (1 3 36 3 3 1 1 896 3) -OID = 06 09 2B 24 03 03 01 01 88 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l3 (1 3 36 3 3 1 1 1024 3) -OID = 06 09 2B 24 03 03 01 01 84 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l5 (1 3 36 3 3 1 1 512 5) -OID = 06 09 2B 24 03 03 01 01 85 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l5 (1 3 36 3 3 1 1 640 5) -OID = 06 09 2B 24 03 03 01 01 86 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l5 (1 3 36 3 3 1 1 768 5) -OID = 06 09 2B 24 03 03 01 01 87 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l5 (1 3 36 3 3 1 1 896 5) -OID = 06 09 2B 24 03 03 01 01 88 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l5 (1 3 36 3 3 1 1 1024 5) -OID = 06 09 2B 24 03 03 01 01 84 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l9 (1 3 36 3 3 1 1 512 9) -OID = 06 09 2B 24 03 03 01 01 85 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l9 (1 3 36 3 3 1 1 640 9) -OID = 06 09 2B 24 03 03 01 01 86 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l9 (1 3 36 3 3 1 1 768 9) -OID = 06 09 2B 24 03 03 01 01 87 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l9 (1 3 36 3 3 1 1 896 9) -OID = 06 09 2B 24 03 03 01 01 88 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l9 (1 3 36 3 3 1 1 1024 9) -OID = 06 09 2B 24 03 03 01 01 84 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l512_l11 (1 3 36 3 3 1 1 512 11) -OID = 06 09 2B 24 03 03 01 01 85 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l640_l11 (1 3 36 3 3 1 1 640 11) -OID = 06 09 2B 24 03 03 01 01 86 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l768_l11 (1 3 36 3 3 1 1 768 11) -OID = 06 09 2B 24 03 03 01 01 87 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l896_l11 (1 3 36 3 3 1 1 896 11) -OID = 06 09 2B 24 03 03 01 01 88 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithsha1_l1024_l11 (1 3 36 3 3 1 1 1024 11) - -OID = 06 06 2B 24 03 03 01 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160 (1 3 36 3 3 1 2) - -OID = 06 09 2B 24 03 03 01 02 84 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l2 (1 3 36 3 3 1 2 512 2) -OID = 06 09 2B 24 03 03 01 02 85 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l2 (1 3 36 3 3 1 2 640 2) -OID = 06 09 2B 24 03 03 01 02 86 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l2 (1 3 36 3 3 1 2 768 2) -OID = 06 09 2B 24 03 03 01 02 87 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l2 (1 3 36 3 3 1 2 896 2) -OID = 06 09 2B 24 03 03 01 02 88 00 02 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l2 (1 3 36 3 3 1 2 1024 2) -OID = 06 09 2B 24 03 03 01 02 84 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l3 (1 3 36 3 3 1 2 512 3) -OID = 06 09 2B 24 03 03 01 02 85 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l3 (1 3 36 3 3 1 2 640 3) -OID = 06 09 2B 24 03 03 01 02 86 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l3 (1 3 36 3 3 1 2 768 3) -OID = 06 09 2B 24 03 03 01 02 87 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l3 (1 3 36 3 3 1 2 896 3) -OID = 06 09 2B 24 03 03 01 02 88 00 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l3 (1 3 36 3 3 1 2 1024 3) -OID = 06 09 2B 24 03 03 01 02 84 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l5 (1 3 36 3 3 1 2 512 5) -OID = 06 09 2B 24 03 03 01 02 85 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l5 (1 3 36 3 3 1 2 640 5) -OID = 06 09 2B 24 03 03 01 02 86 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l5 (1 3 36 3 3 1 2 768 5) -OID = 06 09 2B 24 03 03 01 02 87 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l5 (1 3 36 3 3 1 2 896 5) -OID = 06 09 2B 24 03 03 01 02 88 00 05 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l5 (1 3 36 3 3 1 2 1024 5) -OID = 06 09 2B 24 03 03 01 02 84 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l9 (1 3 36 3 3 1 2 512 9) -OID = 06 09 2B 24 03 03 01 02 85 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l9 (1 3 36 3 3 1 2 640 9) -OID = 06 09 2B 24 03 03 01 02 86 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l9 (1 3 36 3 3 1 2 768 9) -OID = 06 09 2B 24 03 03 01 02 87 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l9 (1 3 36 3 3 1 2 896 9) -OID = 06 09 2B 24 03 03 01 02 88 00 09 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l9 (1 3 36 3 3 1 2 1024 9) -OID = 06 09 2B 24 03 03 01 02 84 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l512_l11 (1 3 36 3 3 1 2 512 11) -OID = 06 09 2B 24 03 03 01 02 85 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l640_l11 (1 3 36 3 3 1 2 640 11) -OID = 06 09 2B 24 03 03 01 02 86 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l768_l11 (1 3 36 3 3 1 2 768 11) -OID = 06 09 2B 24 03 03 01 02 87 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l896_l11 (1 3 36 3 3 1 2 896 11) -OID = 06 09 2B 24 03 03 01 02 88 00 0B -Comment = Teletrust signature algorithm -Description = rsaSignatureWithripemd160_l1024_l11 (1 3 36 3 3 1 2 1024 11) - -OID = 06 06 2B 24 03 03 01 03 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithrimpemd128 (1 3 36 3 3 1 3) - -OID = 06 06 2B 24 03 03 01 04 -Comment = Teletrust signature algorithm -Description = rsaSignatureWithrimpemd256 (1 3 36 3 3 1 4) - -OID = 06 05 2B 24 03 03 02 -Comment = Teletrust signature algorithm -Description = ecsieSign (1 3 36 3 3 2) - -OID = 06 06 2B 24 03 03 02 01 -Comment = Teletrust signature algorithm -Description = ecsieSignWithsha1 (1 3 36 3 3 2 1) - -OID = 06 06 2B 24 03 03 02 02 -Comment = Teletrust signature algorithm -Description = ecsieSignWithripemd160 (1 3 36 3 3 2 2) - -OID = 06 06 2B 24 03 03 02 03 -Comment = Teletrust signature algorithm -Description = ecsieSignWithmd2 (1 3 36 3 3 2 3) - -OID = 06 06 2B 24 03 03 02 04 -Comment = Teletrust signature algorithm -Description = ecsieSignWithmd5 (1 3 36 3 3 2 4) - -OID = 06 04 2B 24 03 04 -Comment = Teletrust algorithm -Description = signatureScheme (1 3 36 3 4) - -OID = 06 05 2B 24 03 04 01 -Comment = Teletrust signature scheme -Description = sigS_ISO9796-1 (1 3 36 3 4 1) - -OID = 06 05 2B 24 03 04 02 -Comment = Teletrust signature scheme -Description = sigS_ISO9796-2 (1 3 36 3 4 2) - -OID = 06 06 2B 24 03 04 02 01 -Comment = Teletrust signature scheme. Unsure what this is supposed to be -Description = sigS_ISO9796-2Withred (1 3 36 3 4 2 1) - -OID = 06 06 2B 24 03 04 02 02 -Comment = Teletrust signature scheme. Unsure what this is supposed to be -Description = sigS_ISO9796-2Withrsa (1 3 36 3 4 2 2) - -OID = 06 06 2B 24 03 04 02 03 -Comment = Teletrust signature scheme. 9796-2 with random number in padding field -Description = sigS_ISO9796-2Withrnd (1 3 36 3 4 2 3) - -OID = 06 03 2B 24 04 -Comment = Teletrust attribute -Description = attribute (1 3 36 4) - -OID = 06 03 2B 24 05 -Comment = Teletrust policy -Description = policy (1 3 36 5) - -OID = 06 03 2B 24 06 -Comment = Teletrust API -Description = api (1 3 36 6) - -OID = 06 04 2B 24 06 01 -Comment = Teletrust API -Description = manufacturer-specific_api (1 3 36 6 1) - -OID = 06 05 2B 24 06 01 01 -Comment = Teletrust API -Description = utimaco-api (1 3 36 6 1 1) - -OID = 06 04 2B 24 06 02 -Comment = Teletrust API -Description = functionality-specific_api (1 3 36 6 2) - -OID = 06 03 2B 24 07 -Comment = Teletrust key management -Description = keymgmnt (1 3 36 7) - -OID = 06 04 2B 24 07 01 -Comment = Teletrust key management -Description = keyagree (1 3 36 7 1) - -OID = 06 05 2B 24 07 01 01 -Comment = Teletrust key management -Description = bsiPKE (1 3 36 7 1 1) - -OID = 06 04 2B 24 07 02 -Comment = Teletrust key management -Description = keytrans (1 3 36 7 2) - -OID = 06 05 2B 24 07 02 01 -Comment = Teletrust key management. 9796-2 with key stored in hash field -Description = encISO9796-2Withrsa (1 3 36 7 2 1) - -OID = 06 05 2B 24 08 01 01 -Comment = Teletrust policy -Description = Teletrust SigGConform policyIdentifier (1 3 36 8 1 1) - -OID = 06 05 2B 24 08 02 01 -Comment = Teletrust extended key usage -Description = directoryService (1 3 36 8 2 1) - -OID = 06 05 2B 24 08 03 01 -Comment = Teletrust attribute -Description = dateOfCertGen (1 3 36 8 3 1) - -OID = 06 05 2B 24 08 03 02 -Comment = Teletrust attribute -Description = procuration (1 3 36 8 3 2) - -OID = 06 05 2B 24 08 03 03 -Comment = Teletrust attribute -Description = admission (1 3 36 8 3 3) - -OID = 06 05 2B 24 08 03 04 -Comment = Teletrust attribute -Description = monetaryLimit (1 3 36 8 3 4) - -OID = 06 05 2B 24 08 03 05 -Comment = Teletrust attribute -Description = declarationOfMajority (1 3 36 8 3 5) - -OID = 06 05 2B 24 08 03 06 -Comment = Teletrust attribute -Description = integratedCircuitCardSerialNumber (1 3 36 8 3 6) - -OID = 06 05 2B 24 08 03 07 -Comment = Teletrust attribute -Description = pKReference (1 3 36 8 3 7) - -OID = 06 05 2B 24 08 03 08 -Comment = Teletrust attribute -Description = restriction (1 3 36 8 3 8) - -OID = 06 05 2B 24 08 03 09 -Comment = Teletrust attribute -Description = retrieveIfAllowed (1 3 36 8 3 9) - -OID = 06 05 2B 24 08 03 0A -Comment = Teletrust attribute -Description = requestedCertificate (1 3 36 8 3 10) - -# The following are left in German because there's no clear -# equivalent for many of the terms in English. Tut mir sorry. -# (Note that they actually genderise the OIDs, which is quite -# bizarre since they're simply role identifiers). -OID = 06 05 2B 24 08 03 0B -Comment = Teletrust attribute -Description = namingAuthorities (1 3 36 8 3 11) - -OID = 06 06 2B 24 08 03 0B 01 -Comment = Teletrust naming authorities -Description = rechtWirtschaftSteuern (1 3 36 8 3 11 1) - -OID = 06 07 2B 24 08 03 0B 01 01 -Comment = Teletrust ProfessionInfo -Description = rechtsanwaeltin (1 3 36 8 3 11 1 1) - -OID = 06 07 2B 24 08 03 0B 01 02 -Comment = Teletrust ProfessionInfo -Description = rechtsanwalt (1 3 36 8 3 11 1 2) - -OID = 06 07 2B 24 08 03 0B 01 03 -Comment = Teletrust ProfessionInfo -Description = rechtsBeistand (1 3 36 8 3 11 1 3) - -OID = 06 07 2B 24 08 03 0B 01 04 -Comment = Teletrust ProfessionInfo -Description = steuerBeraterin (1 3 36 8 3 11 1 4) - -OID = 06 07 2B 24 08 03 0B 01 05 -Comment = Teletrust ProfessionInfo -Description = steuerBerater (1 3 36 8 3 11 1 5) - -OID = 06 07 2B 24 08 03 0B 01 06 -Comment = Teletrust ProfessionInfo -Description = steuerBevollmaechtigte (1 3 36 8 3 11 1 6) - -OID = 06 07 2B 24 08 03 0B 01 07 -Comment = Teletrust ProfessionInfo -Description = steuerBevollmaechtigter (1 3 36 8 3 11 1 7) - -OID = 06 07 2B 24 08 03 0B 01 08 -Comment = Teletrust ProfessionInfo -Description = notarin (1 3 36 8 3 11 1 8) - -OID = 06 07 2B 24 08 03 0B 01 09 -Comment = Teletrust ProfessionInfo -Description = notar (1 3 36 8 3 11 1 9) - -OID = 06 07 2B 24 08 03 0B 01 0A -Comment = Teletrust ProfessionInfo -Description = notarVertreterin (1 3 36 8 3 11 1 10) - -OID = 06 07 2B 24 08 03 0B 01 0B -Comment = Teletrust ProfessionInfo -Description = notarVertreter (1 3 36 8 3 11 1 11) - -OID = 06 07 2B 24 08 03 0B 01 0C -Comment = Teletrust ProfessionInfo -Description = notariatsVerwalterin (1 3 36 8 3 11 1 12) - -OID = 06 07 2B 24 08 03 0B 01 0D -Comment = Teletrust ProfessionInfo -Description = notariatsVerwalter (1 3 36 8 3 11 1 13) - -OID = 06 07 2B 24 08 03 0B 01 0E -Comment = Teletrust ProfessionInfo -Description = wirtschaftsPrueferin (1 3 36 8 3 11 1 14) - -OID = 06 07 2B 24 08 03 0B 01 0F -Comment = Teletrust ProfessionInfo -Description = wirtschaftsPruefer (1 3 36 8 3 11 1 15) - -OID = 06 07 2B 24 08 03 0B 01 10 -Comment = Teletrust ProfessionInfo -Description = vereidigteBuchprueferin (1 3 36 8 3 11 1 16) - -OID = 06 07 2B 24 08 03 0B 01 11 -Comment = Teletrust ProfessionInfo -Description = vereidigterBuchpruefer (1 3 36 8 3 11 1 17) - -OID = 06 07 2B 24 08 03 0B 01 12 -Comment = Teletrust ProfessionInfo -Description = patentAnwaeltin (1 3 36 8 3 11 1 18) - -OID = 06 07 2B 24 08 03 0B 01 13 -Comment = Teletrust ProfessionInfo -Description = patentAnwalt (1 3 36 8 3 11 1 19) - -OID = 06 05 2B 24 08 03 0C -Comment = Teletrust OCSP attribute (obsolete) -Description = certInDirSince (1 3 36 8 3 12) -Warning - -OID = 06 05 2B 24 08 03 0D -Comment = Teletrust OCSP attribute -Description = certHash (1 3 36 8 3 13) - -OID = 06 05 2B 24 08 03 0E -Comment = Teletrust attribute -Description = nameAtBirth (1 3 36 8 3 14) - -OID = 06 05 2B 24 08 03 0F -Comment = Teletrust attribute -Description = additionalInformation (1 3 36 8 3 15) - -OID = 06 05 2B 24 08 04 01 -Comment = Teletrust OtherName attribute -Description = personalData (1 3 36 8 4 1) - -OID = 06 05 2B 24 08 04 08 -Comment = Teletrust attribute certificate attribute -Description = restriction (1 3 36 8 4 8) - -OID = 06 07 2B 24 08 05 01 01 01 -Comment = Teletrust signature algorithm -Description = rsaIndicateSHA1 (1 3 36 8 5 1 1 1) - -OID = 06 07 2B 24 08 05 01 01 02 -Comment = Teletrust signature algorithm -Description = rsaIndicateRIPEMD160 (1 3 36 8 5 1 1 2) - -OID = 06 07 2B 24 08 05 01 01 03 -Comment = Teletrust signature algorithm -Description = rsaWithSHA1 (1 3 36 8 5 1 1 3) - -OID = 06 07 2B 24 08 05 01 01 04 -Comment = Teletrust signature algorithm -Description = rsaWithRIPEMD160 (1 3 36 8 5 1 1 4) - -OID = 06 07 2B 24 08 05 01 02 01 -Comment = Teletrust signature algorithm -Description = dsaExtended (1 3 36 8 5 1 2 1) - -OID = 06 07 2B 24 08 05 01 02 02 -Comment = Teletrust signature algorithm -Description = dsaWithRIPEMD160 (1 3 36 8 5 1 2 2) - -OID = 06 05 2B 24 08 06 01 -Comment = Teletrust signature attributes -Description = cert (1 3 36 8 6 1) - -OID = 06 05 2B 24 08 06 02 -Comment = Teletrust signature attributes -Description = certRef (1 3 36 8 6 2) - -OID = 06 05 2B 24 08 06 03 -Comment = Teletrust signature attributes -Description = attrCert (1 3 36 8 6 3) - -OID = 06 05 2B 24 08 06 04 -Comment = Teletrust signature attributes -Description = attrRef (1 3 36 8 6 4) - -OID = 06 05 2B 24 08 06 05 -Comment = Teletrust signature attributes -Description = fileName (1 3 36 8 6 5) - -OID = 06 05 2B 24 08 06 06 -Comment = Teletrust signature attributes -Description = storageTime (1 3 36 8 6 6) - -OID = 06 05 2B 24 08 06 07 -Comment = Teletrust signature attributes -Description = fileSize (1 3 36 8 6 7) - -OID = 06 05 2B 24 08 06 08 -Comment = Teletrust signature attributes -Description = location (1 3 36 8 6 8) - -OID = 06 05 2B 24 08 06 09 -Comment = Teletrust signature attributes -Description = sigNumber (1 3 36 8 6 9) - -OID = 06 05 2B 24 08 06 0A -Comment = Teletrust signature attributes -Description = autoGen (1 3 36 8 6 10) - -OID = 06 06 2B 24 08 07 01 01 -Comment = Teletrust presentation types -Description = ptAdobeILL (1 3 36 8 7 1 1) - -OID = 06 06 2B 24 08 07 01 02 -Comment = Teletrust presentation types -Description = ptAmiPro (1 3 36 8 7 1 2) - -OID = 06 06 2B 24 08 07 01 03 -Comment = Teletrust presentation types -Description = ptAutoCAD (1 3 36 8 7 1 3) - -OID = 06 06 2B 24 08 07 01 04 -Comment = Teletrust presentation types -Description = ptBinary (1 3 36 8 7 1 4) - -OID = 06 06 2B 24 08 07 01 05 -Comment = Teletrust presentation types -Description = ptBMP (1 3 36 8 7 1 5) - -OID = 06 06 2B 24 08 07 01 06 -Comment = Teletrust presentation types -Description = ptCGM (1 3 36 8 7 1 6) - -OID = 06 06 2B 24 08 07 01 07 -Comment = Teletrust presentation types -Description = ptCorelCRT (1 3 36 8 7 1 7) - -OID = 06 06 2B 24 08 07 01 08 -Comment = Teletrust presentation types -Description = ptCorelDRW (1 3 36 8 7 1 8) - -OID = 06 06 2B 24 08 07 01 09 -Comment = Teletrust presentation types -Description = ptCorelEXC (1 3 36 8 7 1 9) - -OID = 06 06 2B 24 08 07 01 0A -Comment = Teletrust presentation types -Description = ptCorelPHT (1 3 36 8 7 1 10) - -OID = 06 06 2B 24 08 07 01 0B -Comment = Teletrust presentation types -Description = ptDraw (1 3 36 8 7 1 11) - -OID = 06 06 2B 24 08 07 01 0C -Comment = Teletrust presentation types -Description = ptDVI (1 3 36 8 7 1 12) - -OID = 06 06 2B 24 08 07 01 0D -Comment = Teletrust presentation types -Description = ptEPS (1 3 36 8 7 1 13) - -OID = 06 06 2B 24 08 07 01 0E -Comment = Teletrust presentation types -Description = ptExcel (1 3 36 8 7 1 14) - -OID = 06 06 2B 24 08 07 01 0F -Comment = Teletrust presentation types -Description = ptGEM (1 3 36 8 7 1 15) - -OID = 06 06 2B 24 08 07 01 10 -Comment = Teletrust presentation types -Description = ptGIF (1 3 36 8 7 1 16) - -OID = 06 06 2B 24 08 07 01 11 -Comment = Teletrust presentation types -Description = ptHPGL (1 3 36 8 7 1 17) - -OID = 06 06 2B 24 08 07 01 12 -Comment = Teletrust presentation types -Description = ptJPEG (1 3 36 8 7 1 18) - -OID = 06 06 2B 24 08 07 01 13 -Comment = Teletrust presentation types -Description = ptKodak (1 3 36 8 7 1 19) - -OID = 06 06 2B 24 08 07 01 14 -Comment = Teletrust presentation types -Description = ptLaTeX (1 3 36 8 7 1 20) - -OID = 06 06 2B 24 08 07 01 15 -Comment = Teletrust presentation types -Description = ptLotus (1 3 36 8 7 1 21) - -OID = 06 06 2B 24 08 07 01 16 -Comment = Teletrust presentation types -Description = ptLotusPIC (1 3 36 8 7 1 22) - -OID = 06 06 2B 24 08 07 01 17 -Comment = Teletrust presentation types -Description = ptMacPICT (1 3 36 8 7 1 23) - -OID = 06 06 2B 24 08 07 01 18 -Comment = Teletrust presentation types -Description = ptMacWord (1 3 36 8 7 1 24) - -OID = 06 06 2B 24 08 07 01 19 -Comment = Teletrust presentation types -Description = ptMSWfD (1 3 36 8 7 1 25) - -OID = 06 06 2B 24 08 07 01 1A -Comment = Teletrust presentation types -Description = ptMSWord (1 3 36 8 7 1 26) - -OID = 06 06 2B 24 08 07 01 1B -Comment = Teletrust presentation types -Description = ptMSWord2 (1 3 36 8 7 1 27) - -OID = 06 06 2B 24 08 07 01 1C -Comment = Teletrust presentation types -Description = ptMSWord6 (1 3 36 8 7 1 28) - -OID = 06 06 2B 24 08 07 01 1D -Comment = Teletrust presentation types -Description = ptMSWord8 (1 3 36 8 7 1 29) - -OID = 06 06 2B 24 08 07 01 1E -Comment = Teletrust presentation types -Description = ptPDF (1 3 36 8 7 1 30) - -OID = 06 06 2B 24 08 07 01 1F -Comment = Teletrust presentation types -Description = ptPIF (1 3 36 8 7 1 31) - -OID = 06 06 2B 24 08 07 01 20 -Comment = Teletrust presentation types -Description = ptPostscript (1 3 36 8 7 1 32) - -OID = 06 06 2B 24 08 07 01 21 -Comment = Teletrust presentation types -Description = ptRTF (1 3 36 8 7 1 33) - -OID = 06 06 2B 24 08 07 01 22 -Comment = Teletrust presentation types -Description = ptSCITEX (1 3 36 8 7 1 34) - -OID = 06 06 2B 24 08 07 01 23 -Comment = Teletrust presentation types -Description = ptTAR (1 3 36 8 7 1 35) - -OID = 06 06 2B 24 08 07 01 24 -Comment = Teletrust presentation types -Description = ptTarga (1 3 36 8 7 1 36) - -OID = 06 06 2B 24 08 07 01 25 -Comment = Teletrust presentation types -Description = ptTeX (1 3 36 8 7 1 37) - -OID = 06 06 2B 24 08 07 01 26 -Comment = Teletrust presentation types -Description = ptText (1 3 36 8 7 1 38) - -OID = 06 06 2B 24 08 07 01 27 -Comment = Teletrust presentation types -Description = ptTIFF (1 3 36 8 7 1 39) - -OID = 06 06 2B 24 08 07 01 28 -Comment = Teletrust presentation types -Description = ptTIFF-FC (1 3 36 8 7 1 40) - -OID = 06 06 2B 24 08 07 01 29 -Comment = Teletrust presentation types -Description = ptUID (1 3 36 8 7 1 41) - -OID = 06 06 2B 24 08 07 01 2A -Comment = Teletrust presentation types -Description = ptUUEncode (1 3 36 8 7 1 42) - -OID = 06 06 2B 24 08 07 01 2B -Comment = Teletrust presentation types -Description = ptWMF (1 3 36 8 7 1 43) - -OID = 06 06 2B 24 08 07 01 2C -Comment = Teletrust presentation types -Description = ptWordPerfect (1 3 36 8 7 1 44) - -OID = 06 06 2B 24 08 07 01 2D -Comment = Teletrust presentation types -Description = ptWPGrph (1 3 36 8 7 1 45) - -# Brainpool ECC Curves. Note that these fall under the Teletrust ECC -# signature algorithm arc (ecsieSign, 1 3 36 3 3 2), but they're listed -# separately here because they were standardised under the Brainpool -# initiative. - -OID = 06 09 2B 24 03 03 02 08 01 01 01 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 1) - -OID = 06 09 2B 24 03 03 02 08 01 01 02 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 2) - -OID = 06 09 2B 24 03 03 02 08 01 01 03 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 3) - -OID = 06 09 2B 24 03 03 02 08 01 01 04 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 4) - -OID = 06 09 2B 24 03 03 02 08 01 01 05 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 5) - -OID = 06 09 2B 24 03 03 02 08 01 01 06 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 6) - -OID = 06 09 2B 24 03 03 02 08 01 01 07 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 7) - -OID = 06 09 2B 24 03 03 02 08 01 01 08 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 8) - -OID = 06 09 2B 24 03 03 02 08 01 01 09 -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 9) - -OID = 06 09 2B 24 03 03 02 08 01 01 0A -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 10) - -OID = 06 09 2B 24 03 03 02 08 01 01 0B -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 11) - -OID = 06 09 2B 24 03 03 02 08 01 01 0C -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 12) - -OID = 06 09 2B 24 03 03 02 08 01 01 0D -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 13) - -OID = 06 09 2B 24 03 03 02 08 01 01 0E -Comment = ECC Brainpool Standard Curves and Curve Generation -Description = brainpoolP224r1 (1 3 36 3 3 2 8 1 1 14) - -# Thawte - -OID = 06 04 2B 65 01 04 -Comment = Thawte -Description = thawte-ce (1 3 101 1 4) - -OID = 06 05 2B 65 01 04 01 -Comment = Thawte certificate extension -Description = strongExtranet (1 3 101 1 4 1) - -# SECG (Standards for Efficient Cryptography Group), who are just -# Certicom "All your curves are belong to us" named elliptic curves - -OID = 06 05 2B 81 04 00 01 -Comment = SECG (Certicom) named elliptic curve -Description = sect163k1 (1 3 132 0 1) - -OID = 06 05 2B 81 04 00 02 -Comment = SECG (Certicom) named elliptic curve -Description = sect163r1 (1 3 132 0 2) - -OID = 06 05 2B 81 04 00 03 -Comment = SECG (Certicom) named elliptic curve -Description = sect239k1 (1 3 132 0 3) - -OID = 06 05 2B 81 04 00 04 -Comment = SECG (Certicom) named elliptic curve -Description = sect113r1 (1 3 132 0 4) - -OID = 06 05 2B 81 04 00 05 -Comment = SECG (Certicom) named elliptic curve -Description = sect113r2 (1 3 132 0 5) - -OID = 06 05 2B 81 04 00 06 -Comment = SECG (Certicom) named elliptic curve -Description = secp112r1 (1 3 132 0 6) - -OID = 06 05 2B 81 04 00 07 -Comment = SECG (Certicom) named elliptic curve -Description = secp112r2 (1 3 132 0 7) - -OID = 06 05 2B 81 04 00 08 -Comment = SECG (Certicom) named elliptic curve -Description = secp160r1 (1 3 132 0 8) - -OID = 06 05 2B 81 04 00 09 -Comment = SECG (Certicom) named elliptic curve -Description = secp160k1 (1 3 132 0 9) - -OID = 06 05 2B 81 04 00 0A -Comment = SECG (Certicom) named elliptic curve -Description = secp256k1 (1 3 132 0 10) - -OID = 06 05 2B 81 04 00 0F -Comment = SECG (Certicom) named elliptic curve -Description = sect163r2 (1 3 132 0 15) - -OID = 06 05 2B 81 04 00 10 -Comment = SECG (Certicom) named elliptic curve -Description = sect283k1 (1 3 132 0 16) - -OID = 06 05 2B 81 04 00 11 -Comment = SECG (Certicom) named elliptic curve -Description = sect283r1 (1 3 132 0 17) - -OID = 06 05 2B 81 04 00 16 -Comment = SECG (Certicom) named elliptic curve -Description = sect131r1 (1 3 132 0 22) - -OID = 06 05 2B 81 04 00 17 -Comment = SECG (Certicom) named elliptic curve -Description = sect131r2 (1 3 132 0 23) - -OID = 06 05 2B 81 04 00 18 -Comment = SECG (Certicom) named elliptic curve -Description = sect193r1 (1 3 132 0 24) - -OID = 06 05 2B 81 04 00 19 -Comment = SECG (Certicom) named elliptic curve -Description = sect193r2 (1 3 132 0 25) - -OID = 06 05 2B 81 04 00 1A -Comment = SECG (Certicom) named elliptic curve -Description = sect233k1 (1 3 132 0 26) - -OID = 06 05 2B 81 04 00 1B -Comment = SECG (Certicom) named elliptic curve -Description = sect233r1 (1 3 132 0 27) - -OID = 06 05 2B 81 04 00 1C -Comment = SECG (Certicom) named elliptic curve -Description = secp128r1 (1 3 132 0 28) - -OID = 06 05 2B 81 04 00 1D -Comment = SECG (Certicom) named elliptic curve -Description = secp128r2 (1 3 132 0 29) - -OID = 06 05 2B 81 04 00 1E -Comment = SECG (Certicom) named elliptic curve -Description = secp160r2 (1 3 132 0 30) - -OID = 06 05 2B 81 04 00 1F -Comment = SECG (Certicom) named elliptic curve -Description = secp192k1 (1 3 132 0 31) - -OID = 06 05 2B 81 04 00 20 -Comment = SECG (Certicom) named elliptic curve -Description = secp224k1 (1 3 132 0 32) - -OID = 06 05 2B 81 04 00 21 -Comment = SECG (Certicom) named elliptic curve -Description = secp224r1 (1 3 132 0 33) - -OID = 06 05 2B 81 04 00 22 -Comment = SECG (Certicom) named elliptic curve -Description = secp384r1 (1 3 132 0 34) - -OID = 06 05 2B 81 04 00 23 -Comment = SECG (Certicom) named elliptic curve -Description = secp521r1 (1 3 132 0 35) - -OID = 06 05 2B 81 04 00 24 -Comment = SECG (Certicom) named elliptic curve -Description = sect409k1 (1 3 132 0 36) - -OID = 06 05 2B 81 04 00 25 -Comment = SECG (Certicom) named elliptic curve -Description = sect409r1 (1 3 132 0 37) - -OID = 06 05 2B 81 04 00 26 -Comment = SECG (Certicom) named elliptic curve -Description = sect571k1 (1 3 132 0 38) - -OID = 06 05 2B 81 04 00 27 -Comment = SECG (Certicom) named elliptic curve -Description = sect571r1 (1 3 132 0 39) - -# X.520. X.500v4 added encrypted versions of most of these attributes -# at n+2 (i.e. foo = 2 4 5 1, encryptedFoo = 2 4 5 1 2), this smells -# like a horrible kludge for something and probably isn't used, so we -# don't define them all here. - -OID = 06 03 55 04 00 -Comment = X.520 id-at (2 5 4) -Description = objectClass (2 5 4 0) - -OID = 06 03 55 04 01 -Comment = X.520 id-at (2 5 4) -Description = aliasedEntryName (2 5 4 1) - -OID = 06 03 55 04 02 -Comment = X.520 id-at (2 5 4) -Description = knowledgeInformation (2 5 4 2) - -OID = 06 03 55 04 03 -Comment = X.520 id-at (2 5 4) -Description = commonName (2 5 4 3) - -OID = 06 03 55 04 04 -Comment = X.520 id-at (2 5 4) -Description = surname (2 5 4 4) - -OID = 06 03 55 04 05 -Comment = X.520 id-at (2 5 4) -Description = serialNumber (2 5 4 5) - -OID = 06 03 55 04 06 -Comment = X.520 id-at (2 5 4) -Description = countryName (2 5 4 6) - -OID = 06 03 55 04 07 -Comment = X.520 id-at (2 5 4) -Description = localityName (2 5 4 7) - -OID = 06 04 55 04 07 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveLocalityName (2 5 4 7 1) - -OID = 06 03 55 04 08 -Comment = X.520 id-at (2 5 4) -Description = stateOrProvinceName (2 5 4 8) - -OID = 06 04 55 04 08 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveStateOrProvinceName (2 5 4 8 1) - -OID = 06 03 55 04 09 -Comment = X.520 id-at (2 5 4) -Description = streetAddress (2 5 4 9) - -OID = 06 04 55 04 09 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveStreetAddress (2 5 4 9 1) - -OID = 06 03 55 04 0A -Comment = X.520 id-at (2 5 4) -Description = organizationName (2 5 4 10) - -OID = 06 04 55 04 0A 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveOrganizationName (2 5 4 10 1) - -OID = 06 03 55 04 0B -Comment = X.520 id-at (2 5 4) -Description = organizationalUnitName (2 5 4 11) - -OID = 06 04 55 04 0B 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveOrganizationalUnitName (2 5 4 11 1) - -OID = 06 03 55 04 0C -Comment = X.520 id-at (2 5 4) -Description = title (2 5 4 12) - -OID = 06 03 55 04 0D -Comment = X.520 id-at (2 5 4) -Description = description (2 5 4 13) - -OID = 06 03 55 04 0E -Comment = X.520 id-at (2 5 4) -Description = searchGuide (2 5 4 14) - -OID = 06 03 55 04 0F -Comment = X.520 id-at (2 5 4) -Description = businessCategory (2 5 4 15) - -OID = 06 03 55 04 10 -Comment = X.520 id-at (2 5 4) -Description = postalAddress (2 5 4 16) - -OID = 06 04 55 04 10 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePostalAddress (2 5 4 16 1) - -OID = 06 03 55 04 11 -Comment = X.520 id-at (2 5 4) -Description = postalCode (2 5 4 17) - -OID = 06 04 55 04 11 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePostalCode (2 5 4 17 1) - -OID = 06 03 55 04 12 -Comment = X.520 id-at (2 5 4) -Description = postOfficeBox (2 5 4 18) - -OID = 06 04 55 04 12 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePostOfficeBox (2 5 4 18 1) - -OID = 06 03 55 04 13 -Comment = X.520 id-at (2 5 4) -Description = physicalDeliveryOfficeName (2 5 4 19) - -OID = 06 04 55 04 13 01 -Comment = X.520 id-at (2 5 4) -Description = collectivePhysicalDeliveryOfficeName (2 5 4 19 1) - -OID = 06 03 55 04 14 -Comment = X.520 id-at (2 5 4) -Description = telephoneNumber (2 5 4 20) - -OID = 06 04 55 04 14 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveTelephoneNumber (2 5 4 20 1) - -OID = 06 03 55 04 15 -Comment = X.520 id-at (2 5 4) -Description = telexNumber (2 5 4 21) - -OID = 06 04 55 04 15 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveTelexNumber (2 5 4 21 1) - -OID = 06 03 55 04 16 -Comment = X.520 id-at (2 5 4) -Description = teletexTerminalIdentifier (2 5 4 22) - -OID = 06 04 55 04 16 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveTeletexTerminalIdentifier (2 5 4 22 1) - -OID = 06 03 55 04 17 -Comment = X.520 id-at (2 5 4) -Description = facsimileTelephoneNumber (2 5 4 23) - -OID = 06 04 55 04 17 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveFacsimileTelephoneNumber (2 5 4 23 1) - -OID = 06 03 55 04 18 -Comment = X.520 id-at (2 5 4) -Description = x121Address (2 5 4 24) - -OID = 06 03 55 04 19 -Comment = X.520 id-at (2 5 4) -Description = internationalISDNNumber (2 5 4 25) - -OID = 06 04 55 04 19 01 -Comment = X.520 id-at (2 5 4) -Description = collectiveInternationalISDNNumber (2 5 4 25 1) - -OID = 06 03 55 04 1A -Comment = X.520 id-at (2 5 4) -Description = registeredAddress (2 5 4 26) - -OID = 06 03 55 04 1B -Comment = X.520 id-at (2 5 4) -Description = destinationIndicator (2 5 4 27) - -OID = 06 03 55 04 1C -Comment = X.520 id-at (2 5 4) -Description = preferredDeliveryMehtod (2 5 4 28) - -OID = 06 03 55 04 1D -Comment = X.520 id-at (2 5 4) -Description = presentationAddress (2 5 4 29) - -OID = 06 03 55 04 1E -Comment = X.520 id-at (2 5 4) -Description = supportedApplicationContext (2 5 4 30) - -OID = 06 03 55 04 1F -Comment = X.520 id-at (2 5 4) -Description = member (2 5 4 31) - -OID = 06 03 55 04 20 -Comment = X.520 id-at (2 5 4) -Description = owner (2 5 4 32) - -OID = 06 03 55 04 21 -Comment = X.520 id-at (2 5 4) -Description = roleOccupant (2 5 4 33) - -OID = 06 03 55 04 22 -Comment = X.520 id-at (2 5 4) -Description = seeAlso (2 5 4 34) - -OID = 06 03 55 04 23 -Comment = X.520 id-at (2 5 4) -Description = userPassword (2 5 4 35) - -OID = 06 03 55 04 24 -Comment = X.520 id-at (2 5 4) -Description = userCertificate (2 5 4 36) - -OID = 06 03 55 04 25 -Comment = X.520 id-at (2 5 4) -Description = caCertificate (2 5 4 37) - -OID = 06 03 55 04 26 -Comment = X.520 id-at (2 5 4) -Description = authorityRevocationList (2 5 4 38) - -OID = 06 03 55 04 27 -Comment = X.520 id-at (2 5 4) -Description = certificateRevocationList (2 5 4 39) - -OID = 06 03 55 04 28 -Comment = X.520 id-at (2 5 4) -Description = crossCertificatePair (2 5 4 40) - -OID = 06 03 55 04 29 -Comment = X.520 id-at (2 5 4) -Description = name (2 5 4 41) - -OID = 06 03 55 04 2A -Comment = X.520 id-at (2 5 4) -Description = givenName (2 5 4 42) - -OID = 06 03 55 04 2B -Comment = X.520 id-at (2 5 4) -Description = initials (2 5 4 43) - -OID = 06 03 55 04 2C -Comment = X.520 id-at (2 5 4) -Description = generationQualifier (2 5 4 44) - -OID = 06 03 55 04 2D -Comment = X.520 id-at (2 5 4) -Description = uniqueIdentifier (2 5 4 45) - -OID = 06 03 55 04 2E -Comment = X.520 id-at (2 5 4) -Description = dnQualifier (2 5 4 46) - -OID = 06 03 55 04 2F -Comment = X.520 id-at (2 5 4) -Description = enhancedSearchGuide (2 5 4 47) - -OID = 06 03 55 04 30 -Comment = X.520 id-at (2 5 4) -Description = protocolInformation (2 5 4 48) - -OID = 06 03 55 04 31 -Comment = X.520 id-at (2 5 4) -Description = distinguishedName (2 5 4 49) - -OID = 06 03 55 04 32 -Comment = X.520 id-at (2 5 4) -Description = uniqueMember (2 5 4 50) - -OID = 06 03 55 04 33 -Comment = X.520 id-at (2 5 4) -Description = houseIdentifier (2 5 4 51) - -OID = 06 03 55 04 34 -Comment = X.520 id-at (2 5 4) -Description = supportedAlgorithms (2 5 4 52) - -OID = 06 03 55 04 35 -Comment = X.520 id-at (2 5 4) -Description = deltaRevocationList (2 5 4 53) - -OID = 06 03 55 04 36 -Comment = X.520 id-at (2 5 4) -Description = dmdName (2 5 4 54) - -OID = 06 03 55 04 37 -Comment = X.520 id-at (2 5 4) -Description = clearance (2 5 4 55) - -OID = 06 03 55 04 38 -Comment = X.520 id-at (2 5 4) -Description = defaultDirQop (2 5 4 56) - -OID = 06 03 55 04 39 -Comment = X.520 id-at (2 5 4) -Description = attributeIntegrityInfo (2 5 4 57) - -OID = 06 03 55 04 3A -Comment = X.520 id-at (2 5 4) -Description = attributeCertificate (2 5 4 58) - -OID = 06 03 55 04 3B -Comment = X.520 id-at (2 5 4) -Description = attributeCertificateRevocationList (2 5 4 59) - -OID = 06 03 55 04 3C -Comment = X.520 id-at (2 5 4) -Description = confKeyInfo (2 5 4 60) - -OID = 06 03 55 04 3D -Comment = X.520 id-at (2 5 4) -Description = aACertificate (2 5 4 61) - -OID = 06 03 55 04 3E -Comment = X.520 id-at (2 5 4) -Description = attributeDescriptorCertificate (2 5 4 62) - -OID = 06 03 55 04 3F -Comment = X.520 id-at (2 5 4) -Description = attributeAuthorityRevocationList (2 5 4 63) - -OID = 06 03 55 04 40 -Comment = X.520 id-at (2 5 4) -Description = familyInformation (2 5 4 64) - -OID = 06 03 55 04 41 -Comment = X.520 id-at (2 5 4) -Description = pseudonym (2 5 4 65) - -OID = 06 03 55 04 42 -Comment = X.520 id-at (2 5 4) -Description = communicationsService (2 5 4 66) - -OID = 06 03 55 04 43 -Comment = X.520 id-at (2 5 4) -Description = communicationsNetwork (2 5 4 67) - -OID = 06 03 55 04 44 -Comment = X.520 id-at (2 5 4) -Description = certificationPracticeStmt (2 5 4 68) - -OID = 06 03 55 04 45 -Comment = X.520 id-at (2 5 4) -Description = certificatePolicy (2 5 4 69) - -OID = 06 03 55 04 46 -Comment = X.520 id-at (2 5 4) -Description = pkiPath (2 5 4 70) - -OID = 06 03 55 04 47 -Comment = X.520 id-at (2 5 4) -Description = privPolicy (2 5 4 71) - -OID = 06 03 55 04 48 -Comment = X.520 id-at (2 5 4) -Description = role (2 5 4 72) - -OID = 06 03 55 04 49 -Comment = X.520 id-at (2 5 4) -Description = delegationPath (2 5 4 73) - -# X.500 object classes - -OID = 06 03 55 06 00 -Comment = X.520 objectClass (2 5 6) -Description = top (2 5 6 0) - -OID = 06 03 55 06 01 -Comment = X.520 objectClass (2 5 6) -Description = alias (2 5 6 1) - -OID = 06 03 55 06 02 -Comment = X.520 objectClass (2 5 6) -Description = country (2 5 6 2) - -OID = 06 03 55 06 03 -Comment = X.520 objectClass (2 5 6) -Description = locality (2 5 6 3) - -OID = 06 03 55 06 04 -Comment = X.520 objectClass (2 5 6) -Description = organization (2 5 6 4) - -OID = 06 03 55 06 05 -Comment = X.520 objectClass (2 5 6) -Description = organizationalUnit (2 5 6 5) - -OID = 06 03 55 06 06 -Comment = X.520 objectClass (2 5 6) -Description = person (2 5 6 6) - -OID = 06 03 55 06 07 -Comment = X.520 objectClass (2 5 6) -Description = organizationalPerson (2 5 6 7) - -OID = 06 03 55 06 08 -Comment = X.520 objectClass (2 5 6) -Description = organizationalRole (2 5 6 8) - -OID = 06 03 55 06 09 -Comment = X.520 objectClass (2 5 6) -Description = groupOfNames (2 5 6 9) - -OID = 06 03 55 06 0A -Comment = X.520 objectClass (2 5 6) -Description = residentialPerson (2 5 6 10) - -OID = 06 03 55 06 0B -Comment = X.520 objectClass (2 5 6) -Description = applicationProcess (2 5 6 11) - -OID = 06 03 55 06 0C -Comment = X.520 objectClass (2 5 6) -Description = applicationEntity (2 5 6 12) - -OID = 06 03 55 06 0D -Comment = X.520 objectClass (2 5 6) -Description = dSA (2 5 6 13) - -OID = 06 03 55 06 0E -Comment = X.520 objectClass (2 5 6) -Description = device (2 5 6 14) - -OID = 06 03 55 06 0F -Comment = X.520 objectClass (2 5 6) -Description = strongAuthenticationUser (2 5 6 15) - -OID = 06 03 55 06 10 -Comment = X.520 objectClass (2 5 6) -Description = certificateAuthority (2 5 6 16) - -OID = 06 03 55 06 11 -Comment = X.520 objectClass (2 5 6) -Description = groupOfUniqueNames (2 5 6 17) - -OID = 06 03 55 06 15 -Comment = X.520 objectClass (2 5 6) -Description = pkiUser (2 5 6 21) - -OID = 06 03 55 06 16 -Comment = X.520 objectClass (2 5 6) -Description = pkiCA (2 5 6 22) - -# X.500 algorithms - -OID = 06 02 55 08 -Description = X.500-Algorithms (2 5 8) - -OID = 06 03 55 08 01 -Description = X.500-Alg-Encryption (2 5 8 1) - -OID = 06 04 55 08 01 01 -Comment = X.500 algorithms. Ambiguous, since no padding rules specified -Description = rsa (2 5 8 1 1) -Warning - -# X.509. Some of the smaller values are from early X.509 drafts with -# cross-pollination from X9.55 and are now deprecated. Alternative OIDs are -# marked if these are known. In some cases there are multiple generations of -# superseded OIDs - -OID = 06 03 55 1D 01 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 35) instead -Description = authorityKeyIdentifier (2 5 29 1) -Warning - -OID = 06 03 55 1D 02 -Comment = X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead -Description = keyAttributes (2 5 29 2) -Warning - -OID = 06 03 55 1D 03 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 32) instead -Description = certificatePolicies (2 5 29 3) -Warning - -OID = 06 03 55 1D 04 -Comment = X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead -Description = keyUsageRestriction (2 5 29 4) -Warning - -OID = 06 03 55 1D 05 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 33) instead -Description = policyMapping (2 5 29 5) -Warning - -OID = 06 03 55 1D 06 -Comment = X.509 id-ce (2 5 29). Obsolete, use nameConstraints instead -Description = subtreesConstraint (2 5 29 6) -Warning - -OID = 06 03 55 1D 07 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 17) instead -Description = subjectAltName (2 5 29 7) -Warning - -OID = 06 03 55 1D 08 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 18) instead -Description = issuerAltName (2 5 29 8) -Warning - -OID = 06 03 55 1D 09 -Comment = X.509 id-ce (2 5 29) -Description = subjectDirectoryAttributes (2 5 29 9) - -OID = 06 03 55 1D 0A -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 19) instead -Description = basicConstraints (2 5 29 10) -Warning - -OID = 06 03 55 1D 0B -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 30) instead -Description = nameConstraints (2 5 29 11) -Warning - -OID = 06 03 55 1D 0C -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 36) instead -Description = policyConstraints (2 5 29 12) -Warning - -OID = 06 03 55 1D 0D -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 19) instead -Description = basicConstraints (2 5 29 13) -Warning - -OID = 06 03 55 1D 0E -Comment = X.509 id-ce (2 5 29) -Description = subjectKeyIdentifier (2 5 29 14) - -OID = 06 03 55 1D 0F -Comment = X.509 id-ce (2 5 29) -Description = keyUsage (2 5 29 15) - -OID = 06 03 55 1D 10 -Comment = X.509 id-ce (2 5 29) -Description = privateKeyUsagePeriod (2 5 29 16) - -OID = 06 03 55 1D 11 -Comment = X.509 id-ce (2 5 29) -Description = subjectAltName (2 5 29 17) - -OID = 06 03 55 1D 12 -Comment = X.509 id-ce (2 5 29) -Description = issuerAltName (2 5 29 18) - -OID = 06 03 55 1D 13 -Comment = X.509 id-ce (2 5 29) -Description = basicConstraints (2 5 29 19) - -OID = 06 03 55 1D 14 -Comment = X.509 id-ce (2 5 29) -Description = cRLNumber (2 5 29 20) - -OID = 06 03 55 1D 15 -Comment = X.509 id-ce (2 5 29) -Description = cRLReason (2 5 29 21) - -OID = 06 03 55 1D 16 -Comment = X.509 id-ce (2 5 29). Deprecated, alternative OID uncertain -Description = expirationDate (2 5 29 22) -Warning - -OID = 06 03 55 1D 17 -Comment = X.509 id-ce (2 5 29) -Description = instructionCode (2 5 29 23) - -OID = 06 03 55 1D 18 -Comment = X.509 id-ce (2 5 29) -Description = invalidityDate (2 5 29 24) - -OID = 06 03 55 1D 19 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 31) instead -Description = cRLDistributionPoints (2 5 29 25) -Warning - -OID = 06 03 55 1D 1A -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 28) instead -Description = issuingDistributionPoint (2 5 29 26) -Warning - -OID = 06 03 55 1D 1B -Comment = X.509 id-ce (2 5 29) -Description = deltaCRLIndicator (2 5 29 27) - -OID = 06 03 55 1D 1C -Comment = X.509 id-ce (2 5 29) -Description = issuingDistributionPoint (2 5 29 28) - -OID = 06 03 55 1D 1D -Comment = X.509 id-ce (2 5 29) -Description = certificateIssuer (2 5 29 29) - -OID = 06 03 55 1D 1E -Comment = X.509 id-ce (2 5 29) -Description = nameConstraints (2 5 29 30) - -OID = 06 03 55 1D 1F -Comment = X.509 id-ce (2 5 29) -Description = cRLDistributionPoints (2 5 29 31) - -OID = 06 03 55 1D 20 -Comment = X.509 id-ce (2 5 29) -Description = certificatePolicies (2 5 29 32) - -OID = 06 04 55 1D 20 00 -Comment = X.509 certificatePolicies (2 5 29 32) -Description = anyPolicy (2 5 29 32 0) - -OID = 06 03 55 1D 21 -Comment = X.509 id-ce (2 5 29) -Description = policyMappings (2 5 29 33) - -OID = 06 03 55 1D 22 -Comment = X.509 id-ce (2 5 29). Deprecated, use (2 5 29 36) instead -Description = policyConstraints (2 5 29 34) -Warning - -OID = 06 03 55 1D 23 -Comment = X.509 id-ce (2 5 29) -Description = authorityKeyIdentifier (2 5 29 35) - -OID = 06 03 55 1D 24 -Comment = X.509 id-ce (2 5 29) -Description = policyConstraints (2 5 29 36) - -OID = 06 03 55 1D 25 -Comment = X.509 id-ce (2 5 29) -Description = extKeyUsage (2 5 29 37) - -OID = 06 04 55 1D 25 00 -Comment = X.509 extended key usage -Description = anyExtendedKeyUsage (2 5 29 37 0) - -OID = 06 03 55 1D 2E -Comment = X.509 id-ce (2 5 29) -Description = freshestCRL (2 5 29 46) - -OID = 06 03 55 1D 36 -Comment = X.509 id-ce (2 5 29) -Description = inhibitAnyPolicy (2 5 29 54) - -# DMS - -OID = 06 09 60 86 48 01 65 02 01 01 01 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsSignatureAlgorithm (2 16 840 1 101 2 1 1 1) - -OID = 06 09 60 86 48 01 65 02 01 01 02 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicSignatureAlgorithm, this OID is better known as dsaWithSHA-1. -Description = fortezzaSignatureAlgorithm (2 16 840 1 101 2 1 1 2) - -OID = 06 09 60 86 48 01 65 02 01 01 03 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsConfidentialityAlgorithm (2 16 840 1 101 2 1 1 3) - -OID = 06 09 60 86 48 01 65 02 01 01 04 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicConfidentialityAlgorithm -Description = fortezzaConfidentialityAlgorithm (2 16 840 1 101 2 1 1 4) - -OID = 06 09 60 86 48 01 65 02 01 01 05 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsIntegrityAlgorithm (2 16 840 1 101 2 1 1 5) - -OID = 06 09 60 86 48 01 65 02 01 01 06 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicIntegrityAlgorithm -Description = fortezzaIntegrityAlgorithm (2 16 840 1 101 2 1 1 6) - -OID = 06 09 60 86 48 01 65 02 01 01 07 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 7) - -OID = 06 09 60 86 48 01 65 02 01 01 08 -Comment = SDN.700 INFOSEC algorithms. Formerly know as mosaicTokenProtectionAlgorithm -Description = fortezzaTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 8) - -OID = 06 09 60 86 48 01 65 02 01 01 09 -Comment = SDN.700 INFOSEC algorithms -Description = sdnsKeyManagementAlgorithm (2 16 840 1 101 2 1 1 9) - -OID = 06 09 60 86 48 01 65 02 01 01 0A -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyManagementAlgorithm -Description = fortezzaKeyManagementAlgorithm (2 16 840 1 101 2 1 1 10) - -OID = 06 09 60 86 48 01 65 02 01 01 0B -Comment = SDN.700 INFOSEC algorithms -Description = sdnsKMandSigAlgorithm (2 16 840 1 101 2 1 1 11) - -OID = 06 09 60 86 48 01 65 02 01 01 0C -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandSigAlgorithm -Description = fortezzaKMandSigAlgorithm (2 16 840 1 101 2 1 1 12) - -OID = 06 09 60 86 48 01 65 02 01 01 0D -Comment = SDN.700 INFOSEC algorithms -Description = suiteASignatureAlgorithm (2 16 840 1 101 2 1 1 13) - -OID = 06 09 60 86 48 01 65 02 01 01 0E -Comment = SDN.700 INFOSEC algorithms -Description = suiteAConfidentialityAlgorithm (2 16 840 1 101 2 1 1 14) - -OID = 06 09 60 86 48 01 65 02 01 01 0F -Comment = SDN.700 INFOSEC algorithms -Description = suiteAIntegrityAlgorithm (2 16 840 1 101 2 1 1 15) - -OID = 06 09 60 86 48 01 65 02 01 01 10 -Comment = SDN.700 INFOSEC algorithms -Description = suiteATokenProtectionAlgorithm (2 16 840 1 101 2 1 1 16) - -OID = 06 09 60 86 48 01 65 02 01 01 11 -Comment = SDN.700 INFOSEC algorithms -Description = suiteAKeyManagementAlgorithm (2 16 840 1 101 2 1 1 17) - -OID = 06 09 60 86 48 01 65 02 01 01 12 -Comment = SDN.700 INFOSEC algorithms -Description = suiteAKMandSigAlgorithm (2 16 840 1 101 2 1 1 18) - -OID = 06 09 60 86 48 01 65 02 01 01 13 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedSigAlgorithm -Description = fortezzaUpdatedSigAlgorithm (2 16 840 1 101 2 1 1 19) - -OID = 06 09 60 86 48 01 65 02 01 01 14 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandUpdSigAlgorithms -Description = fortezzaKMandUpdSigAlgorithms (2 16 840 1 101 2 1 1 20) - -OID = 06 09 60 86 48 01 65 02 01 01 15 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedIntegAlgorithm -Description = fortezzaUpdatedIntegAlgorithm (2 16 840 1 101 2 1 1 21) - -OID = 06 09 60 86 48 01 65 02 01 01 16 -Comment = SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyEncryptionAlgorithm -Description = keyExchangeAlgorithm (2 16 840 1 101 2 1 1 22) - -OID = 06 09 60 86 48 01 65 02 01 01 17 -Comment = SDN.700 INFOSEC algorithms -Description = fortezzaWrap80Algorithm (2 16 840 1 101 2 1 1 23) - -OID = 06 09 60 86 48 01 65 02 01 01 18 -Comment = SDN.700 INFOSEC algorithms -Description = kEAKeyEncryptionAlgorithm (2 16 840 1 101 2 1 1 24) - -OID = 06 09 60 86 48 01 65 02 01 02 01 -Comment = SDN.700 INFOSEC format -Description = rfc822MessageFormat (2 16 840 1 101 2 1 2 1) - -OID = 06 09 60 86 48 01 65 02 01 02 02 -Comment = SDN.700 INFOSEC format -Description = emptyContent (2 16 840 1 101 2 1 2 2) - -OID = 06 09 60 86 48 01 65 02 01 02 03 -Comment = SDN.700 INFOSEC format -Description = cspContentType (2 16 840 1 101 2 1 2 3) - -OID = 06 09 60 86 48 01 65 02 01 02 2A -Comment = SDN.700 INFOSEC format -Description = mspRev3ContentType (2 16 840 1 101 2 1 2 42) - -OID = 06 09 60 86 48 01 65 02 01 02 30 -Comment = SDN.700 INFOSEC format -Description = mspContentType (2 16 840 1 101 2 1 2 48) - -OID = 06 09 60 86 48 01 65 02 01 02 31 -Comment = SDN.700 INFOSEC format -Description = mspRekeyAgentProtocol (2 16 840 1 101 2 1 2 49) - -OID = 06 09 60 86 48 01 65 02 01 02 32 -Comment = SDN.700 INFOSEC format -Description = mspMMP (2 16 840 1 101 2 1 2 50) - -OID = 06 09 60 86 48 01 65 02 01 02 42 -Comment = SDN.700 INFOSEC format -Description = mspRev3-1ContentType (2 16 840 1 101 2 1 2 66) - -OID = 06 09 60 86 48 01 65 02 01 02 48 -Comment = SDN.700 INFOSEC format -Description = forwardedMSPMessageBodyPart (2 16 840 1 101 2 1 2 72) - -OID = 06 09 60 86 48 01 65 02 01 02 49 -Comment = SDN.700 INFOSEC format -Description = mspForwardedMessageParameters (2 16 840 1 101 2 1 2 73) - -OID = 06 09 60 86 48 01 65 02 01 02 4A -Comment = SDN.700 INFOSEC format -Description = forwardedCSPMsgBodyPart (2 16 840 1 101 2 1 2 74) - -OID = 06 09 60 86 48 01 65 02 01 02 4B -Comment = SDN.700 INFOSEC format -Description = cspForwardedMessageParameters (2 16 840 1 101 2 1 2 75) - -OID = 06 09 60 86 48 01 65 02 01 02 4C -Comment = SDN.700 INFOSEC format -Description = mspMMP2 (2 16 840 1 101 2 1 2 76) - -OID = 06 09 60 86 48 01 65 02 01 03 01 -Comment = SDN.700 INFOSEC policy -Description = sdnsSecurityPolicy (2 16 840 1 101 2 1 3 1) - -OID = 06 09 60 86 48 01 65 02 01 03 02 -Comment = SDN.700 INFOSEC policy -Description = sdnsPRBAC (2 16 840 1 101 2 1 3 2) - -OID = 06 09 60 86 48 01 65 02 01 03 03 -Comment = SDN.700 INFOSEC policy -Description = mosaicPRBAC (2 16 840 1 101 2 1 3 3) - -OID = 06 09 60 86 48 01 65 02 01 03 0A -Comment = SDN.700 INFOSEC policy -Description = siSecurityPolicy (2 16 840 1 101 2 1 3 10) - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 00 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siNASP (2 16 840 1 101 2 1 3 10 0) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 01 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siELCO (2 16 840 1 101 2 1 3 10 1) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 02 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siTK (2 16 840 1 101 2 1 3 10 2) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 03 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siDSAP (2 16 840 1 101 2 1 3 10 3) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 04 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siSSSS (2 16 840 1 101 2 1 3 10 4) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 05 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siDNASP (2 16 840 1 101 2 1 3 10 5) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 06 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siBYEMAN (2 16 840 1 101 2 1 3 10 6) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 07 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-US (2 16 840 1 101 2 1 3 10 7) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 08 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-AUS (2 16 840 1 101 2 1 3 10 8) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 09 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-CAN (2 16 840 1 101 2 1 3 10 9) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 0A -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL_UK (2 16 840 1 101 2 1 3 10 10) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 0B -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siREL-NZ (2 16 840 1 101 2 1 3 10 11) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0A 0C -Comment = SDN.700 INFOSEC policy (obsolete) -Description = siGeneric (2 16 840 1 101 2 1 3 10 12) -Warning - -OID = 06 09 60 86 48 01 65 02 01 03 0B -Comment = SDN.700 INFOSEC policy -Description = genser (2 16 840 1 101 2 1 3 11) - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 00 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = genserNations (2 16 840 1 101 2 1 3 11 0) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 01 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = genserComsec (2 16 840 1 101 2 1 3 11 1) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 02 -Comment = SDN.700 INFOSEC policy (obsolete) -Description = genserAcquisition (2 16 840 1 101 2 1 3 11 2) -Warning - -OID = 06 0A 60 86 48 01 65 02 01 03 0B 03 -Comment = SDN.700 INFOSEC policy -Description = genserSecurityCategories (2 16 840 1 101 2 1 3 11 3) - -OID = 06 0B 60 86 48 01 65 02 01 03 0B 03 00 -Comment = SDN.700 INFOSEC GENSER policy -Description = genserTagSetName (2 16 840 1 101 2 1 3 11 3 0) - -OID = 06 09 60 86 48 01 65 02 01 03 0C -Comment = SDN.700 INFOSEC policy -Description = defaultSecurityPolicy (2 16 840 1 101 2 1 3 12) - -OID = 06 09 60 86 48 01 65 02 01 03 0D -Comment = SDN.700 INFOSEC policy -Description = capcoMarkings (2 16 840 1 101 2 1 3 13) - -OID = 06 0A 60 86 48 01 65 02 01 03 0D 00 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoSecurityCategories (2 16 840 1 101 2 1 3 13 0) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 01 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName1 (2 16 840 1 101 2 1 3 13 0 1) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 02 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName2 (2 16 840 1 101 2 1 3 13 0 2) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 03 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName3 (2 16 840 1 101 2 1 3 13 0 3) - -OID = 06 0B 60 86 48 01 65 02 01 03 0D 00 04 -Comment = SDN.700 INFOSEC policy CAPCO markings -Description = capcoTagSetName4 (2 16 840 1 101 2 1 3 13 0 4) - -OID = 06 09 60 86 48 01 65 02 01 05 01 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsKeyManagementCertificate (2 16 840 1 101 2 1 5 1) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 02 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsUserSignatureCertificate (2 16 840 1 101 2 1 5 2) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 03 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsKMandSigCertificate (2 16 840 1 101 2 1 5 3) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 04 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaKeyManagementCertificate (2 16 840 1 101 2 1 5 4) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 05 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaKMandSigCertificate (2 16 840 1 101 2 1 5 5) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 06 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaUserSignatureCertificate (2 16 840 1 101 2 1 5 6) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 07 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaCASignatureCertificate (2 16 840 1 101 2 1 5 7) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 08 -Comment = SDN.700 INFOSEC attributes (superseded) -Description = sdnsCASignatureCertificate (2 16 840 1 101 2 1 5 8) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 0A -Comment = SDN.700 INFOSEC attributes (superseded) -Description = auxiliaryVector (2 16 840 1 101 2 1 5 10) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 0B -Comment = SDN.700 INFOSEC attributes -Description = mlReceiptPolicy (2 16 840 1 101 2 1 5 11) - -OID = 06 09 60 86 48 01 65 02 01 05 0C -Comment = SDN.700 INFOSEC attributes -Description = mlMembership (2 16 840 1 101 2 1 5 12) - -OID = 06 09 60 86 48 01 65 02 01 05 0D -Comment = SDN.700 INFOSEC attributes -Description = mlAdministrators (2 16 840 1 101 2 1 5 13) - -OID = 06 09 60 86 48 01 65 02 01 05 0E -Comment = SDN.700 INFOSEC attributes -Description = alid (2 16 840 1 101 2 1 5 14) - -OID = 06 09 60 86 48 01 65 02 01 05 14 -Comment = SDN.700 INFOSEC attributes -Description = janUKMs (2 16 840 1 101 2 1 5 20) - -OID = 06 09 60 86 48 01 65 02 01 05 15 -Comment = SDN.700 INFOSEC attributes -Description = febUKMs (2 16 840 1 101 2 1 5 21) - -OID = 06 09 60 86 48 01 65 02 01 05 16 -Comment = SDN.700 INFOSEC attributes -Description = marUKMs (2 16 840 1 101 2 1 5 22) - -OID = 06 09 60 86 48 01 65 02 01 05 17 -Comment = SDN.700 INFOSEC attributes -Description = aprUKMs (2 16 840 1 101 2 1 5 23) - -OID = 06 09 60 86 48 01 65 02 01 05 18 -Comment = SDN.700 INFOSEC attributes -Description = mayUKMs (2 16 840 1 101 2 1 5 24) - -OID = 06 09 60 86 48 01 65 02 01 05 19 -Comment = SDN.700 INFOSEC attributes -Description = junUKMs (2 16 840 1 101 2 1 5 25) - -OID = 06 09 60 86 48 01 65 02 01 05 1A -Comment = SDN.700 INFOSEC attributes -Description = julUKMs (2 16 840 1 101 2 1 5 26) - -OID = 06 09 60 86 48 01 65 02 01 05 1B -Comment = SDN.700 INFOSEC attributes -Description = augUKMs (2 16 840 1 101 2 1 5 27) - -OID = 06 09 60 86 48 01 65 02 01 05 1C -Comment = SDN.700 INFOSEC attributes -Description = sepUKMs (2 16 840 1 101 2 1 5 28) - -OID = 06 09 60 86 48 01 65 02 01 05 1D -Comment = SDN.700 INFOSEC attributes -Description = octUKMs (2 16 840 1 101 2 1 5 29) - -OID = 06 09 60 86 48 01 65 02 01 05 1E -Comment = SDN.700 INFOSEC attributes -Description = novUKMs (2 16 840 1 101 2 1 5 30) - -OID = 06 09 60 86 48 01 65 02 01 05 1F -Comment = SDN.700 INFOSEC attributes -Description = decUKMs (2 16 840 1 101 2 1 5 31) - -OID = 06 09 60 86 48 01 65 02 01 05 28 -Comment = SDN.700 INFOSEC attributes -Description = metaSDNSckl (2 16 840 1 101 2 1 5 40) - -OID = 06 09 60 86 48 01 65 02 01 05 29 -Comment = SDN.700 INFOSEC attributes -Description = sdnsCKL (2 16 840 1 101 2 1 5 41) - -OID = 06 09 60 86 48 01 65 02 01 05 2A -Comment = SDN.700 INFOSEC attributes -Description = metaSDNSsignatureCKL (2 16 840 1 101 2 1 5 42) - -OID = 06 09 60 86 48 01 65 02 01 05 2B -Comment = SDN.700 INFOSEC attributes -Description = sdnsSignatureCKL (2 16 840 1 101 2 1 5 43) - -OID = 06 09 60 86 48 01 65 02 01 05 2C -Comment = SDN.700 INFOSEC attributes -Description = sdnsCertificateRevocationList (2 16 840 1 101 2 1 5 44) - -OID = 06 09 60 86 48 01 65 02 01 05 2D -Comment = SDN.700 INFOSEC attributes (superseded) -Description = fortezzaCertificateRevocationList (2 16 840 1 101 2 1 5 45) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 2E -Comment = SDN.700 INFOSEC attributes -Description = fortezzaCKL (2 16 840 1 101 2 1 5 46) - -OID = 06 09 60 86 48 01 65 02 01 05 2F -Comment = SDN.700 INFOSEC attributes -Description = alExemptedAddressProcessor (2 16 840 1 101 2 1 5 47) - -OID = 06 09 60 86 48 01 65 02 01 05 30 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = guard (2 16 840 1 101 2 1 5 48) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 31 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = algorithmsSupported (2 16 840 1 101 2 1 5 49) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 32 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = suiteAKeyManagementCertificate (2 16 840 1 101 2 1 5 50) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 33 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = suiteAKMandSigCertificate (2 16 840 1 101 2 1 5 51) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 34 -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = suiteAUserSignatureCertificate (2 16 840 1 101 2 1 5 52) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 35 -Comment = SDN.700 INFOSEC attributes -Description = prbacInfo (2 16 840 1 101 2 1 5 53) - -OID = 06 09 60 86 48 01 65 02 01 05 36 -Comment = SDN.700 INFOSEC attributes -Description = prbacCAConstraints (2 16 840 1 101 2 1 5 54) - -OID = 06 09 60 86 48 01 65 02 01 05 37 -Comment = SDN.700 INFOSEC attributes -Description = sigOrKMPrivileges (2 16 840 1 101 2 1 5 55) - -OID = 06 09 60 86 48 01 65 02 01 05 38 -Comment = SDN.700 INFOSEC attributes -Description = commPrivileges (2 16 840 1 101 2 1 5 56) - -OID = 06 09 60 86 48 01 65 02 01 05 39 -Comment = SDN.700 INFOSEC attributes -Description = labeledAttribute (2 16 840 1 101 2 1 5 57) - -OID = 06 09 60 86 48 01 65 02 01 05 3A -Comment = SDN.700 INFOSEC attributes (obsolete) -Description = policyInformationFile (2 16 840 1 101 2 1 5 58) -Warning - -OID = 06 09 60 86 48 01 65 02 01 05 3B -Comment = SDN.700 INFOSEC attributes -Description = secPolicyInformationFile (2 16 840 1 101 2 1 5 59) - -OID = 06 09 60 86 48 01 65 02 01 05 3C -Comment = SDN.700 INFOSEC attributes -Description = cAClearanceConstraint (2 16 840 1 101 2 1 5 60) - -OID = 06 09 60 86 48 01 65 02 01 07 01 -Comment = SDN.700 INFOSEC extensions -Description = cspExtns (2 16 840 1 101 2 1 7 1) - -OID = 06 0A 60 86 48 01 65 02 01 07 01 00 -Comment = SDN.700 INFOSEC extensions -Description = cspCsExtn (2 16 840 1 101 2 1 7 1 0) - -OID = 06 09 60 86 48 01 65 02 01 08 01 -Comment = SDN.700 INFOSEC security category -Description = mISSISecurityCategories (2 16 840 1 101 2 1 8 1) - -OID = 06 09 60 86 48 01 65 02 01 08 02 -Comment = SDN.700 INFOSEC security category -Description = standardSecurityLabelPrivileges (2 16 840 1 101 2 1 8 2) - -OID = 06 09 60 86 48 01 65 02 01 0A 01 -Comment = SDN.700 INFOSEC privileges -Description = sigPrivileges (2 16 840 1 101 2 1 10 1) - -OID = 06 09 60 86 48 01 65 02 01 0A 02 -Comment = SDN.700 INFOSEC privileges -Description = kmPrivileges (2 16 840 1 101 2 1 10 2) - -OID = 06 09 60 86 48 01 65 02 01 0A 03 -Comment = SDN.700 INFOSEC privileges -Description = namedTagSetPrivilege (2 16 840 1 101 2 1 10 3) - -OID = 06 09 60 86 48 01 65 02 01 0B 01 -Comment = SDN.700 INFOSEC certificate policy -Description = ukDemo (2 16 840 1 101 2 1 11 1) - -OID = 06 09 60 86 48 01 65 02 01 0B 02 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass2 (2 16 840 1 101 2 1 11 2) - -OID = 06 09 60 86 48 01 65 02 01 0B 03 -Comment = SDN.700 INFOSEC certificate policy -Description = usMediumPilot (2 16 840 1 101 2 1 11 3) - -OID = 06 09 60 86 48 01 65 02 01 0B 04 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass4 (2 16 840 1 101 2 1 11 4) - -OID = 06 09 60 86 48 01 65 02 01 0B 05 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass3 (2 16 840 1 101 2 1 11 5) - -OID = 06 09 60 86 48 01 65 02 01 0B 06 -Comment = SDN.700 INFOSEC certificate policy -Description = usDODClass5 (2 16 840 1 101 2 1 11 6) - -OID = 06 09 60 86 48 01 65 02 01 0C 00 -Comment = SDN.700 INFOSEC test objects -Description = testSecurityPolicy (2 16 840 1 101 2 1 12 0) - -OID = 06 0A 60 86 48 01 65 02 01 0C 00 01 -Comment = SDN.700 INFOSEC test objects -Description = tsp1 (2 16 840 1 101 2 1 12 0 1) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 01 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp1SecurityCategories (2 16 840 1 101 2 1 12 0 1 0) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 01 00 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp1TagSetZero (2 16 840 1 101 2 1 12 0 1 0 0) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 01 00 01 -Comment = SDN.700 INFOSEC test objects -Description = tsp1TagSetOne (2 16 840 1 101 2 1 12 0 1 0 1) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 01 00 02 -Comment = SDN.700 INFOSEC test objects -Description = tsp1TagSetTwo (2 16 840 1 101 2 1 12 0 1 0 2) - -OID = 06 0A 60 86 48 01 65 02 01 0C 00 02 -Comment = SDN.700 INFOSEC test objects -Description = tsp2 (2 16 840 1 101 2 1 12 0 2) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 02 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp2SecurityCategories (2 16 840 1 101 2 1 12 0 2 0) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 02 00 00 -Comment = SDN.700 INFOSEC test objects -Description = tsp2TagSetZero (2 16 840 1 101 2 1 12 0 2 0 0) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 02 00 01 -Comment = SDN.700 INFOSEC test objects -Description = tsp2TagSetOne (2 16 840 1 101 2 1 12 0 2 0 1) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 02 00 02 -Comment = SDN.700 INFOSEC test objects -Description = tsp2TagSetTwo (2 16 840 1 101 2 1 12 0 2 0 2) - -# At least someone there has a sense of humour :-) -OID = 06 0A 60 86 48 01 65 02 01 0C 00 03 -Comment = SDN.700 INFOSEC test objects -Description = kafka (2 16 840 1 101 2 1 12 0 3) - -OID = 06 0B 60 86 48 01 65 02 01 0C 00 03 00 -Comment = SDN.700 INFOSEC test objects -Description = kafkaSecurityCategories (2 16 840 1 101 2 1 12 0 3 0) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 03 00 01 -Comment = SDN.700 INFOSEC test objects -Description = kafkaTagSetName1 (2 16 840 1 101 2 1 12 0 3 0 1) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 03 00 02 -Comment = SDN.700 INFOSEC test objects -Description = kafkaTagSetName2 (2 16 840 1 101 2 1 12 0 3 0 2) - -OID = 06 0C 60 86 48 01 65 02 01 0C 00 03 00 03 -Comment = SDN.700 INFOSEC test objects -Description = kafkaTagSetName3 (2 16 840 1 101 2 1 12 0 3 0 3) - -OID = 06 0A 60 86 48 01 65 02 01 0C 01 01 -Comment = SDN.700 INFOSEC test objects -Description = tcp1 (2 16 840 1 101 2 1 12 1 1) - -# CSOR GAK-FIPS - -OID = 06 07 60 86 48 01 65 03 01 -Comment = CSOR GAK -Description = slabel (2 16 840 1 101 3 1) -Warning - -OID = 06 07 60 86 48 01 65 03 02 -Comment = CSOR GAK -Description = pki (2 16 840 1 101 3 2) -Warning - -OID = 06 08 60 86 48 01 65 03 02 01 -Comment = CSOR GAK policy -Description = GAK policyIdentifier (2 16 840 1 101 3 2 1) -Warning - -OID = 06 0A 60 86 48 01 65 03 02 01 03 01 -Comment = Federal Bridge CA Policy -Description = FBCA-Rudimentary policyIdentifier (2 16 840 1 101 3 2 1 3 1) - -OID = 06 0A 60 86 48 01 65 03 02 01 03 02 -Comment = Federal Bridge CA Policy -Description = FBCA-Basic policyIdentifier (2 16 840 1 101 3 2 1 3 2) - -OID = 06 0A 60 86 48 01 65 03 02 01 03 03 -Comment = Federal Bridge CA Policy -Description = FBCA-Medium policyIdentifier (2 16 840 1 101 3 2 1 3 3) - -OID = 06 0A 60 86 48 01 65 03 02 01 03 04 -Comment = Federal Bridge CA Policy -Description = FBCA-High policyIdentifier (2 16 840 1 101 3 2 1 3 4) - -OID = 06 08 60 86 48 01 65 03 02 02 -Comment = CSOR GAK extended key usage -Description = GAK (2 16 840 1 101 3 2 2) -Warning - -OID = 06 09 60 86 48 01 65 03 02 02 01 -Comment = CSOR GAK extended key usage -Description = kRAKey (2 16 840 1 101 3 2 2 1) -Warning - -OID = 06 08 60 86 48 01 65 03 02 03 -Comment = CSOR GAK extensions -Description = extensions (2 16 840 1 101 3 2 3) -Warning - -OID = 06 09 60 86 48 01 65 03 02 03 01 -Comment = CSOR GAK extensions -Description = kRTechnique (2 16 840 1 101 3 2 3 1) -Warning - -OID = 06 09 60 86 48 01 65 03 02 03 02 -Comment = CSOR GAK extensions -Description = kRecoveryCapable (2 16 840 1 101 3 2 3 2) -Warning - -OID = 06 09 60 86 48 01 65 03 02 03 03 -Comment = CSOR GAK extensions -Description = kR (2 16 840 1 101 3 2 3 3) -Warning - -OID = 06 08 60 86 48 01 65 03 02 04 -Comment = CSOR GAK -Description = keyrecoveryschemes (2 16 840 1 101 3 2 4) -Warning - -OID = 06 08 60 86 48 01 65 03 02 05 -Comment = CSOR GAK -Description = krapola (2 16 840 1 101 3 2 5) -Warning - -OID = 06 07 60 86 48 01 65 03 03 -Comment = CSOR GAK -Description = arpa (2 16 840 1 101 3 3) -Warning - -# CSOR (NIST) Algorithms - -OID = 06 07 60 86 48 01 65 03 04 -Comment = NIST Algorithm -Description = nistAlgorithm (2 16 840 1 101 3 4) - -OID = 06 08 60 86 48 01 65 03 04 01 -Comment = NIST Algorithm -Description = aes (2 16 840 1 101 3 4 1) - -OID = 06 09 60 86 48 01 65 03 04 01 01 -Comment = NIST Algorithm -Description = aes128-ECB (2 16 840 1 101 3 4 1 1) - -OID = 06 09 60 86 48 01 65 03 04 01 02 -Comment = NIST Algorithm -Description = aes128-CBC (2 16 840 1 101 3 4 1 2) - -OID = 06 09 60 86 48 01 65 03 04 01 03 -Comment = NIST Algorithm -Description = aes128-OFB (2 16 840 1 101 3 4 1 3) - -OID = 06 09 60 86 48 01 65 03 04 01 04 -Comment = NIST Algorithm -Description = aes128-CFB (2 16 840 1 101 3 4 1 4) - -OID = 06 09 60 86 48 01 65 03 04 01 15 -Comment = NIST Algorithm -Description = aes192-ECB (2 16 840 1 101 3 4 1 21) - -OID = 06 09 60 86 48 01 65 03 04 01 16 -Comment = NIST Algorithm -Description = aes192-CBC (2 16 840 1 101 3 4 1 22) - -OID = 06 09 60 86 48 01 65 03 04 01 17 -Comment = NIST Algorithm -Description = aes192-OFB (2 16 840 1 101 3 4 1 23) - -OID = 06 09 60 86 48 01 65 03 04 01 18 -Comment = NIST Algorithm -Description = aes192-CFB (2 16 840 1 101 3 4 1 24) - -OID = 06 09 60 86 48 01 65 03 04 01 29 -Comment = NIST Algorithm -Description = aes256-ECB (2 16 840 1 101 3 4 1 41) - -OID = 06 09 60 86 48 01 65 03 04 01 2A -Comment = NIST Algorithm -Description = aes256-CBC (2 16 840 1 101 3 4 1 42) - -OID = 06 09 60 86 48 01 65 03 04 01 2B -Comment = NIST Algorithm -Description = aes256-OFB (2 16 840 1 101 3 4 1 43) - -OID = 06 09 60 86 48 01 65 03 04 01 2C -Comment = NIST Algorithm -Description = aes256-CFB (2 16 840 1 101 3 4 1 44) - -OID = 06 08 60 86 48 01 65 03 04 02 -Comment = NIST Algorithm -Description = hashAlgos (2 16 840 1 101 3 4 2) - -OID = 06 09 60 86 48 01 65 03 04 02 01 -Comment = NIST Algorithm -Description = sha-256 (2 16 840 1 101 3 4 2 1) - -OID = 06 09 60 86 48 01 65 03 04 02 02 -Comment = NIST Algorithm -Description = sha-384 (2 16 840 1 101 3 4 2 2) - -OID = 06 09 60 86 48 01 65 03 04 02 03 -Comment = NIST Algorithm -Description = sha-512 (2 16 840 1 101 3 4 2 3) - -OID = 06 09 60 86 48 01 65 03 04 02 04 -Comment = NIST Algorithm -Description = sha-224 (2 16 840 1 101 3 4 2 4) - -# The spec for these is incorrect, listing both as ... 1. Presumably one -# of them is meant to be ...2. -OID = 06 09 60 86 48 01 65 03 04 03 01 -Comment = NIST Algorithm -Description = dsaWithSha224 (2 16 840 1 101 3 4 3 1) - -OID = 06 09 60 86 48 01 65 03 04 03 02 -Comment = NIST Algorithm -Description = dsaWithSha256 (2 16 840 1 101 3 4 3 2) - -# Novell - -OID = 06 0A 60 86 48 01 86 F8 37 01 02 08 -Comment = Novell -Description = novellAlgorithm (2 16 840 1 113719 1 2 8) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 16 -Comment = Novell encryption algorithm -Description = desCbcIV8 (2 16 840 1 113719 1 2 8 22) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 17 -Comment = Novell encryption algorithm -Description = desCbcPadIV8 (2 16 840 1 113719 1 2 8 23) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 18 -Comment = Novell encryption algorithm -Description = desEDE2CbcIV8 (2 16 840 1 113719 1 2 8 24) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 19 -Comment = Novell encryption algorithm -Description = desEDE2CbcPadIV8 (2 16 840 1 113719 1 2 8 25) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1A -Comment = Novell encryption algorithm -Description = desEDE3CbcIV8 (2 16 840 1 113719 1 2 8 26) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1B -Comment = Novell encryption algorithm -Description = desEDE3CbcPadIV8 (2 16 840 1 113719 1 2 8 27) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1C -Comment = Novell encryption algorithm -Description = rc5CbcPad (2 16 840 1 113719 1 2 8 28) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1D -Comment = Novell signature algorithm -Description = md2WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 29) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1E -Comment = Novell signature algorithm -Description = md5WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 30) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 1F -Comment = Novell signature algorithm -Description = sha1WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 31) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 20 -Comment = Novell digest algorithm -Description = LMDigest (2 16 840 1 113719 1 2 8 32) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 28 -Comment = Novell digest algorithm -Description = MD2 (2 16 840 1 113719 1 2 8 40) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 32 -Comment = Novell digest algorithm -Description = MD5 (2 16 840 1 113719 1 2 8 50) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 33 -Comment = Novell signature algorithm -Description = IKEhmacWithSHA1-RSA (2 16 840 1 113719 1 2 8 51) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 34 -Comment = Novell signature algorithm -Description = IKEhmacWithMD5-RSA (2 16 840 1 113719 1 2 8 52) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 45 -Comment = Novell encryption algorithm -Description = rc2CbcPad (2 16 840 1 113719 1 2 8 69) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 52 -Comment = Novell digest algorithm -Description = SHA-1 (2 16 840 1 113719 1 2 8 82) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 5C -Comment = Novell encryption algorithm -Description = rc2BSafe1Cbc (2 16 840 1 113719 1 2 8 92) - -OID = 06 0B 60 86 48 01 86 F8 37 01 02 08 5F -Comment = Novell digest algorithm -Description = MD4 (2 16 840 1 113719 1 2 8 95) - -OID = 06 0C 60 86 48 01 86 F8 37 01 02 08 81 02 -Comment = Novell keyed hash -Description = MD4Packet (2 16 840 1 113719 1 2 8 130) - -OID = 06 0C 60 86 48 01 86 F8 37 01 02 08 81 03 -Comment = Novell encryption algorithm -Description = rsaEncryptionBsafe1 (2 16 840 1 113719 1 2 8 131) - -OID = 06 0C 60 86 48 01 86 F8 37 01 02 08 81 04 -Comment = Novell encryption algorithm -Description = NWPassword (2 16 840 1 113719 1 2 8 132) - -OID = 06 0C 60 86 48 01 86 F8 37 01 02 08 81 05 -Comment = Novell encryption algorithm -Description = novellObfuscate-1 (2 16 840 1 113719 1 2 8 133) - -OID = 06 09 60 86 48 01 86 F8 37 01 09 -Comment = Novell -Description = pki (2 16 840 1 113719 1 9) - -OID = 06 0A 60 86 48 01 86 F8 37 01 09 04 -Comment = Novell PKI -Description = pkiAttributeType (2 16 840 1 113719 1 9 4) - -OID = 06 0B 60 86 48 01 86 F8 37 01 09 04 01 -Comment = Novell PKI attribute type -Description = securityAttributes (2 16 840 1 113719 1 9 4 1) - -OID = 06 0B 60 86 48 01 86 F8 37 01 09 04 02 -Comment = Novell PKI attribute type -Description = relianceLimit (2 16 840 1 113719 1 9 4 2) - -# Netscape - -OID = 06 08 60 86 48 01 86 F8 42 01 -Comment = Netscape -Description = cert-extension (2 16 840 1 113730 1) - -OID = 06 09 60 86 48 01 86 F8 42 01 01 -Comment = Netscape certificate extension -Description = netscape-cert-type (2 16 840 1 113730 1 1) - -OID = 06 09 60 86 48 01 86 F8 42 01 02 -Comment = Netscape certificate extension -Description = netscape-base-url (2 16 840 1 113730 1 2) - -OID = 06 09 60 86 48 01 86 F8 42 01 03 -Comment = Netscape certificate extension -Description = netscape-revocation-url (2 16 840 1 113730 1 3) - -OID = 06 09 60 86 48 01 86 F8 42 01 04 -Comment = Netscape certificate extension -Description = netscape-ca-revocation-url (2 16 840 1 113730 1 4) - -OID = 06 09 60 86 48 01 86 F8 42 01 07 -Comment = Netscape certificate extension -Description = netscape-cert-renewal-url (2 16 840 1 113730 1 7) - -OID = 06 09 60 86 48 01 86 F8 42 01 08 -Comment = Netscape certificate extension -Description = netscape-ca-policy-url (2 16 840 1 113730 1 8) - -OID = 06 09 60 86 48 01 86 F8 42 01 09 -Comment = Netscape certificate extension -Description = HomePage-url (2 16 840 1 113730 1 9) - -OID = 06 09 60 86 48 01 86 F8 42 01 0A -Comment = Netscape certificate extension -Description = EntityLogo (2 16 840 1 113730 1 10) - -OID = 06 09 60 86 48 01 86 F8 42 01 0B -Comment = Netscape certificate extension -Description = UserPicture (2 16 840 1 113730 1 11) - -OID = 06 09 60 86 48 01 86 F8 42 01 0C -Comment = Netscape certificate extension -Description = netscape-ssl-server-name (2 16 840 1 113730 1 12) - -OID = 06 09 60 86 48 01 86 F8 42 01 0D -Comment = Netscape certificate extension -Description = netscape-comment (2 16 840 1 113730 1 13) - -OID = 06 08 60 86 48 01 86 F8 42 02 -Comment = Netscape -Description = data-type (2 16 840 1 113730 2) - -OID = 06 09 60 86 48 01 86 F8 42 02 01 -Comment = Netscape data type -Description = dataGIF (2 16 840 1 113730 2 1) - -OID = 06 09 60 86 48 01 86 F8 42 02 02 -Comment = Netscape data type -Description = dataJPEG (2 16 840 1 113730 2 2) - -OID = 06 09 60 86 48 01 86 F8 42 02 03 -Comment = Netscape data type -Description = dataURL (2 16 840 1 113730 2 3) - -OID = 06 09 60 86 48 01 86 F8 42 02 04 -Comment = Netscape data type -Description = dataHTML (2 16 840 1 113730 2 4) - -OID = 06 09 60 86 48 01 86 F8 42 02 05 -Comment = Netscape data type -Description = certSequence (2 16 840 1 113730 2 5) - -OID = 06 09 60 86 48 01 86 F8 42 02 06 -Comment = Netscape certificate extension -Description = certURL (2 16 840 1 113730 2 6) - -OID = 06 08 60 86 48 01 86 F8 42 03 -Comment = Netscape -Description = directory (2 16 840 1 113730 3) - -OID = 06 09 60 86 48 01 86 F8 42 03 01 -Comment = Netscape directory -Description = ldapDefinitions (2 16 840 1 113730 3 1) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 01 -Comment = Netscape LDAP definitions -Description = carLicense (2 16 840 1 113730 3 1 1) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 02 -Comment = Netscape LDAP definitions -Description = departmentNumber (2 16 840 1 113730 3 1 2) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 03 -Comment = Netscape LDAP definitions -Description = employeeNumber (2 16 840 1 113730 3 1 3) - -OID = 06 0A 60 86 48 01 86 F8 42 03 01 04 -Comment = Netscape LDAP definitions -Description = employeeType (2 16 840 1 113730 3 1 4) - -OID = 06 0A 60 86 48 01 86 F8 42 03 02 02 -Comment = Netscape LDAP definitions -Description = inetOrgPerson (2 16 840 1 113730 3 2 2) - -OID = 06 09 60 86 48 01 86 F8 42 04 01 -Comment = Netscape -Description = serverGatedCrypto (2 16 840 1 113730 4 1) - -# Verisign - -# Country, zip, date of birth (age), and gender of cert owner (CZAG) in -# obfuscated form -OID = 06 0A 60 86 48 01 86 F8 45 01 06 03 -Comment = Verisign extension -Description = verisignCZAG (2 16 840 1 113733 1 6 3) - -# Text string used in certs issued to Netscape InBox customers -OID = 06 0A 60 86 48 01 86 F8 45 01 06 06 -Comment = Verisign extension -Description = verisignInBox (2 16 840 1 113733 1 6 6) - -OID = 06 0A 60 86 48 01 86 F8 45 01 06 0B -Comment = Verisign extension -Description = Unknown Verisign VPN extension (2 16 840 1 113733 1 6 11) - -OID = 06 0A 60 86 48 01 86 F8 45 01 06 0D -Comment = Verisign extension -Description = Unknown Verisign VPN extension (2 16 840 1 113733 1 6 13) - -# Contains DUN, among other things -OID = 06 0A 60 86 48 01 86 F8 45 01 06 0F -Comment = Verisign extension -Description = Verisign serverID (2 16 840 1 113733 1 6 15) - -OID = 06 0B 60 86 48 01 86 F8 45 01 07 01 01 -Comment = Verisign policy -Description = Verisign policyIdentifier (2 16 840 1 113733 1 7 1 1) - -OID = 06 0C 60 86 48 01 86 F8 45 01 07 01 01 01 -Comment = Verisign policy (obsolete) -Description = verisignCPSv1notice (2 16 840 1 113733 1 7 1 1 1) - -# DN contains non-verified subscriber information -OID = 06 0C 60 86 48 01 86 F8 45 01 07 01 01 02 -Comment = Verisign policy (obsolete) -Description = verisignCPSv1nsi (2 16 840 1 113733 1 7 1 1 2) - -OID = 06 0A 60 86 48 01 86 F8 45 01 08 01 -Comment = Verisign -Description = Verisign SGC CA? (2 16 840 1 113733 1 8 1) - -# SCEP - -OID = 06 08 60 86 48 01 86 F8 45 01 -Comment = Verisign extension -Description = pki (2 16 840 1 113733 1) - -OID = 06 09 60 86 48 01 86 F8 45 01 09 -Comment = Verisign PKI extension -Description = pkcs7Attribute (2 16 840 1 113733 1 9) - -OID = 06 0A 60 86 48 01 86 F8 45 01 09 02 -Comment = Verisign PKCS #7 attribute -Description = messageType (2 16 840 1 113733 1 9 2) - -OID = 06 0A 60 86 48 01 86 F8 45 01 09 03 -Comment = Verisign PKCS #7 attribute -Description = pkiStatus (2 16 840 1 113733 1 9 3) - -OID = 06 0A 60 86 48 01 86 F8 45 01 09 04 -Comment = Verisign PKCS #7 attribute -Description = failInfo (2 16 840 1 113733 1 9 4) - -OID = 06 0A 60 86 48 01 86 F8 45 01 09 05 -Comment = Verisign PKCS #7 attribute -Description = senderNonce (2 16 840 1 113733 1 9 5) - -OID = 06 0A 60 86 48 01 86 F8 45 01 09 06 -Comment = Verisign PKCS #7 attribute -Description = recipientNonce (2 16 840 1 113733 1 9 6) - -OID = 06 0A 60 86 48 01 86 F8 45 01 09 07 -Comment = Verisign PKCS #7 attribute -Description = transID (2 16 840 1 113733 1 9 7) - -# Supposedly the attribute for X.509v3 extensions in PKCS #10 requests, -# but everyone seems to use the RSA OID instead -OID = 06 0A 60 86 48 01 86 F8 45 01 09 08 -Comment = Verisign PKCS #7 attribute. Use PKCS #9 extensionRequest instead -Description = extensionReq (2 16 840 1 113733 1 9 8) -Warning - -# SET - -OID = 06 03 67 2A 00 -Comment = SET -Description = contentType (2 23 42 0) - -OID = 06 04 67 2A 00 00 -Comment = SET contentType -Description = PANData (2 23 42 0 0) - -OID = 06 04 67 2A 00 01 -Comment = SET contentType -Description = PANToken (2 23 42 0 1) - -OID = 06 04 67 2A 00 02 -Comment = SET contentType -Description = PANOnly (2 23 42 0 2) - -# And on and on and on for another 80-odd OIDs that I'm not going to type in - -OID = 06 03 67 2A 01 -Comment = SET -Description = msgExt (2 23 42 1) - -OID = 06 03 67 2A 02 -Comment = SET -Description = field (2 23 42 2) - -OID = 06 04 67 2A 02 00 -Comment = SET field -Description = fullName (2 23 42 2 0) - -OID = 06 04 67 2A 02 01 -Comment = SET field -Description = givenName (2 23 42 2 1) - -OID = 06 04 67 2A 02 02 -Comment = SET field -Description = familyName (2 23 42 2 2) - -OID = 06 04 67 2A 02 03 -Comment = SET field -Description = birthFamilyName (2 23 42 2 3) - -OID = 06 04 67 2A 02 04 -Comment = SET field -Description = placeName (2 23 42 2 4) - -OID = 06 04 67 2A 02 05 -Comment = SET field -Description = identificationNumber (2 23 42 2 5) - -OID = 06 04 67 2A 02 06 -Comment = SET field -Description = month (2 23 42 2 6) - -OID = 06 04 67 2A 02 07 -Comment = SET field -Description = date (2 23 42 2 7) - -OID = 06 04 67 2A 02 08 -Comment = SET field -Description = address (2 23 42 2 8) - -OID = 06 04 67 2A 02 09 -Comment = SET field -Description = telephone (2 23 42 2 9) - -OID = 06 04 67 2A 02 0A -Comment = SET field -Description = amount (2 23 42 2 10) - -OID = 06 04 67 2A 02 0B -Comment = SET field -Description = accountNumber (2 23 42 2 11) - -OID = 06 04 67 2A 02 0C -Comment = SET field -Description = passPhrase (2 23 42 2 12) - -OID = 06 03 67 2A 03 -Comment = SET -Description = attribute (2 23 42 3) - -OID = 06 04 67 2A 03 00 -Comment = SET attribute -Description = cert (2 23 42 3 0) - -OID = 06 05 67 2A 03 00 00 -Comment = SET cert attribute -Description = rootKeyThumb (2 23 42 3 0 0) - -OID = 06 05 67 2A 03 00 01 -Comment = SET cert attribute -Description = additionalPolicy (2 23 42 3 0 1) - -OID = 06 03 67 2A 04 -Comment = SET -Description = algorithm (2 23 42 4) - -OID = 06 03 67 2A 05 -Comment = SET -Description = policy (2 23 42 5) - -OID = 06 04 67 2A 05 00 -Comment = SET policy -Description = root (2 23 42 5 0) - -OID = 06 03 67 2A 06 -Comment = SET -Description = module (2 23 42 6) - -OID = 06 03 67 2A 07 -Comment = SET -Description = certExt (2 23 42 7) - -OID = 06 04 67 2A 07 00 -Comment = SET cert extension -Description = hashedRootKey (2 23 42 7 0) - -OID = 06 04 67 2A 07 01 -Comment = SET cert extension -Description = certificateType (2 23 42 7 1) - -OID = 06 04 67 2A 07 02 -Comment = SET cert extension -Description = merchantData (2 23 42 7 2) - -OID = 06 04 67 2A 07 03 -Comment = SET cert extension -Description = cardCertRequired (2 23 42 7 3) - -OID = 06 04 67 2A 07 04 -Comment = SET cert extension -Description = tunneling (2 23 42 7 4) - -OID = 06 04 67 2A 07 05 -Comment = SET cert extension -Description = setExtensions (2 23 42 7 5) - -OID = 06 04 67 2A 07 06 -Comment = SET cert extension -Description = setQualifier (2 23 42 7 6) - -OID = 06 03 67 2A 08 -Comment = SET -Description = brand (2 23 42 8) - -OID = 06 04 67 2A 08 01 -Comment = SET brand -Description = IATA-ATA (2 23 42 8 1) - -OID = 06 04 67 2A 08 04 -Comment = SET brand -Description = VISA (2 23 42 8 4) - -OID = 06 04 67 2A 08 05 -Comment = SET brand -Description = MasterCard (2 23 42 8 5) - -OID = 06 04 67 2A 08 1E -Comment = SET brand -Description = Diners (2 23 42 8 30) - -OID = 06 04 67 2A 08 22 -Comment = SET brand -Description = AmericanExpress (2 23 42 8 34) - -OID = 06 05 67 2A 08 AE 7B -Comment = SET brand -Description = Novus (2 23 42 8 6011) - -OID = 06 03 67 2A 09 -Comment = SET -Description = vendor (2 23 42 9) - -OID = 06 04 67 2A 09 00 -Comment = SET vendor -Description = GlobeSet (2 23 42 9 0) - -OID = 06 04 67 2A 09 01 -Comment = SET vendor -Description = IBM (2 23 42 9 1) - -OID = 06 04 67 2A 09 02 -Comment = SET vendor -Description = CyberCash (2 23 42 9 2) - -OID = 06 04 67 2A 09 03 -Comment = SET vendor -Description = Terisa (2 23 42 9 3) - -OID = 06 04 67 2A 09 04 -Comment = SET vendor -Description = RSADSI (2 23 42 9 4) - -OID = 06 04 67 2A 09 05 -Comment = SET vendor -Description = VeriFone (2 23 42 9 5) - -OID = 06 04 67 2A 09 06 -Comment = SET vendor -Description = TrinTech (2 23 42 9 6) - -OID = 06 04 67 2A 09 07 -Comment = SET vendor -Description = BankGate (2 23 42 9 7) - -OID = 06 04 67 2A 09 08 -Comment = SET vendor -Description = GTE (2 23 42 9 8) - -OID = 06 04 67 2A 09 09 -Comment = SET vendor -Description = CompuSource (2 23 42 9 9) - -OID = 06 04 67 2A 09 0A -Comment = SET vendor -Description = Griffin (2 23 42 9 10) - -OID = 06 04 67 2A 09 0B -Comment = SET vendor -Description = Certicom (2 23 42 9 11) - -OID = 06 04 67 2A 09 0C -Comment = SET vendor -Description = OSS (2 23 42 9 12) - -OID = 06 04 67 2A 09 0D -Comment = SET vendor -Description = TenthMountain (2 23 42 9 13) - -OID = 06 04 67 2A 09 0E -Comment = SET vendor -Description = Antares (2 23 42 9 14) - -OID = 06 04 67 2A 09 0F -Comment = SET vendor -Description = ECC (2 23 42 9 15) - -OID = 06 04 67 2A 09 10 -Comment = SET vendor -Description = Maithean (2 23 42 9 16) - -OID = 06 04 67 2A 09 11 -Comment = SET vendor -Description = Netscape (2 23 42 9 17) - -OID = 06 04 67 2A 09 12 -Comment = SET vendor -Description = Verisign (2 23 42 9 18) - -OID = 06 04 67 2A 09 13 -Comment = SET vendor -Description = BlueMoney (2 23 42 9 19) - -OID = 06 04 67 2A 09 14 -Comment = SET vendor -Description = Lacerte (2 23 42 9 20) - -OID = 06 04 67 2A 09 15 -Comment = SET vendor -Description = Fujitsu (2 23 42 9 21) - -OID = 06 04 67 2A 09 16 -Comment = SET vendor -Description = eLab (2 23 42 9 22) - -OID = 06 04 67 2A 09 17 -Comment = SET vendor -Description = Entrust (2 23 42 9 23) - -OID = 06 04 67 2A 09 18 -Comment = SET vendor -Description = VIAnet (2 23 42 9 24) - -OID = 06 04 67 2A 09 19 -Comment = SET vendor -Description = III (2 23 42 9 25) - -OID = 06 04 67 2A 09 1A -Comment = SET vendor -Description = OpenMarket (2 23 42 9 26) - -OID = 06 04 67 2A 09 1B -Comment = SET vendor -Description = Lexem (2 23 42 9 27) - -OID = 06 04 67 2A 09 1C -Comment = SET vendor -Description = Intertrader (2 23 42 9 28) - -OID = 06 04 67 2A 09 1D -Comment = SET vendor -Description = Persimmon (2 23 42 9 29) - -OID = 06 04 67 2A 09 1E -Comment = SET vendor -Description = NABLE (2 23 42 9 30) - -OID = 06 04 67 2A 09 1F -Comment = SET vendor -Description = espace-net (2 23 42 9 31) - -OID = 06 04 67 2A 09 20 -Comment = SET vendor -Description = Hitachi (2 23 42 9 32) - -OID = 06 04 67 2A 09 21 -Comment = SET vendor -Description = Microsoft (2 23 42 9 33) - -OID = 06 04 67 2A 09 22 -Comment = SET vendor -Description = NEC (2 23 42 9 34) - -OID = 06 04 67 2A 09 23 -Comment = SET vendor -Description = Mitsubishi (2 23 42 9 35) - -OID = 06 04 67 2A 09 24 -Comment = SET vendor -Description = NCR (2 23 42 9 36) - -OID = 06 04 67 2A 09 25 -Comment = SET vendor -Description = e-COMM (2 23 42 9 37) - -OID = 06 04 67 2A 09 26 -Comment = SET vendor -Description = Gemplus (2 23 42 9 38) - -OID = 06 03 67 2A 0A -Comment = SET -Description = national (2 23 42 10) - -OID = 06 05 67 2A 0A 83 08 -Comment = SET national -Description = Japan (2 23 42 10 392) - -# Draft SET. These were invented for testing in pre-1.0 drafts, but have -# been used nonetheless by implementors - -OID = 06 05 81 06 8D 6F 02 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = hashedRootKey (2 54 1775 2) -Warning - -OID = 06 05 81 06 8D 6F 03 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = certificateType (2 54 1775 3) -Warning - -OID = 06 05 81 06 8D 6F 04 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = merchantData (2 54 1775 4) -Warning - -OID = 06 05 81 06 8D 6F 05 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = cardCertRequired (2 54 1775 5) -Warning - -OID = 06 05 81 06 8D 6F 06 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = tunneling (2 54 1775 6) -Warning - -OID = 06 05 81 06 8D 6F 07 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = setQualifier (2 54 1775 7) -Warning - -OID = 06 05 81 06 8D 6F 63 -Comment = SET. Deprecated, use (2 23 42 7 0) instead -Description = setData (2 54 1775 99) -Warning - -# End of Fahnenstange - -# Local additions - -OID = 06 08 2B 06 01 05 05 07 0E 02 -Comment = RPKI project -Description = id-cp-ipAddr-asNumber (1 3 6 1 5 5 7 14 2) - -OID = 06 08 2B 06 01 05 05 07 30 09 -Comment = RPKI project -Description = id-ad-signedObjectRepository (1 3 6 1 5 5 7 48 9) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 18 -Comment = RPKI project -Description = id-ct-routeOriginAttestation (1 2 840 113549 1 9 16 1 24) - -OID = 06 08 2B 06 01 05 05 07 30 0A -Comment = RPKI project -Description = id-ad-rpkiManifest (1 3 6 1 5 5 7 48 10) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 1A -Comment = RPKI project -Description = id-ct-rpkiManifest (1 2 840 113549 1 9 16 1 26) - -OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 1C -Comment = RPKI project -Description = id-ct-xml (1 2 840 113549 1 9 16 1 28) - -OID = 06 08 2B 06 01 05 05 07 30 0B -Comment = RPKI project -Description = id-ad-signedObject (1 3 6 1 5 5 7 48 11) diff --git a/pow/POW-0.7/lib/__init__.py b/pow/POW-0.7/lib/__init__.py deleted file mode 100644 index b150bbf1..00000000 --- a/pow/POW-0.7/lib/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -from _POW import * -from _POW import _docset - -## @mainpage -## -## Python OpenSSL Wrappers (POW) is an old (but well-written) -## interface between Python and OpenSSL (ok, you could have guessed -## that from the name). Sadly, it appears to have fallen by the -## wayside, and M2Crypto is getting a lot more attention these days. -## -## POW ships with a submodule, POW.pkix, which includes a wonderful -## set of pure-Python routines for dealing with ASN.1 encodings of -## X.509v3 certificates, extensions, and related data. I haven't -## found anything as good anywhere else. This code deserves to be -## salvaged and put to work. - diff --git a/pow/POW-0.7/lib/_der.py b/pow/POW-0.7/lib/_der.py deleted file mode 100644 index c7f58411..00000000 --- a/pow/POW-0.7/lib/_der.py +++ /dev/null @@ -1,2294 +0,0 @@ -#*****************************************************************************# -#* *# -#* Copyright (c) 2002, Peter Shannon *# -#* All rights reserved. *# -#* *# -#* Redistribution and use in source and binary forms, with or without *# -#* modification, are permitted provided that the following conditions *# -#* are met: *# -#* *# -#* * Redistributions of source code must retain the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer. *# -#* *# -#* * Redistributions in binary form must reproduce the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer in the documentation and/or other materials *# -#* provided with the distribution. *# -#* *# -#* * The name of the contributors may be used to endorse or promote *# -#* products derived from this software without specific prior *# -#* written permission. *# -#* *# -#* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *# -#* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *# -#* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *# -#* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS *# -#* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *# -#* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *# -#* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *# -#* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *# -#* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *# -#* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *# -#* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *# -#* *# -#*****************************************************************************# - -import exceptions, types, copy, string, time, base64, traceback, cStringIO - -DEBUG = 0 - -# CLASS -CLASS_UNIVERSAL = 0x00 -CLASS_APPLICATION = 0x40 -CLASS_CONTEXT = 0x80 -CLASS_PRIVATE = 0xC0 - -# FORM -FORM_PRIMITIVE = 0x00 -FORM_CONSTRUCTED = 0x20 - -# TAG -TAG_BOOLEAN = 0x01 -TAG_INTEGER = 0x02 -TAG_BITSTRING = 0x03 -TAG_OCTETSTRING = 0x04 -TAG_NULL = 0x05 -TAG_OID = 0x06 -TAG_OBJDESCRIPTOR = 0x07 -TAG_EXTERNAL = 0x08 -TAG_REAL = 0x09 -TAG_ENUMERATED = 0x0A -TAG_EMBEDDED_PDV = 0x0B -TAG_UTF8STRING = 0x0C -TAG_SEQUENCE = 0x10 -TAG_SET = 0x11 -TAG_NUMERICSTRING = 0x12 -TAG_PRINTABLESTRING = 0x13 -TAG_T61STRING = 0x14 -TAG_VIDEOTEXSTRING = 0x15 -TAG_IA5STRING = 0x16 -TAG_UTCTIME = 0x17 -TAG_GENERALIZEDTIME = 0x18 -TAG_GRAPHICSTRING = 0x19 -TAG_VISIBLESTRING = 0x1A -TAG_GENERALSTRING = 0x1B -TAG_UNIVERSALSTRING = 0x1C -TAG_BMPSTRING = 0x1E - -_fragments = [] - -def _docset(): - return _fragments - -def _addFragment(frag): - global _fragments - _fragments.append(frag) - - -_addFragment(''' -<moduleDescription> - <header> - <name>POW.pkix</name> - <author>Peter Shannon</author> - </header> - <body> - <para> - This module is a solution to reading and writing X509v3 written - purely in Python. It does use limited facilities from POW for - signing and verifying but these could be replaced easily. It is - an abstract module and to use it successfully RFC3280 should be - referred to as well as the sourcecode where necessary. The correct - use of many extensions often not clear from the definitions alone. - Do refer to the RFC for details. - </para> - <para> - Each constructed objects defined in the RFC is built from primitives - defined by the ASN1 recommedations. Not all ASN1 primitive are available but all those - required for X509v3 should be. The implementation is more or less - complete for DER encoding the only caveat, aside from a few - missing objects, is the behaviour of <classname>SET</classname> objects - and <classname>SET OF</classname> objects. The order the objects are - written in should be determined at runtime by sorting their tags but this - library does not do this. For X509 it isn't really necessary - since all the <classname>Set</classname> objects are simple and the - order they are written in is defined by the object's constructor. - </para> - <para> - Every documented object in this module supports the functions documented for - <classname>_GeneralObject</classname>. In general the function - will only be documented in descendant classes if the class changes - the behaviour significantly from its ancestor. This would - normally be <classname>_GeneralObject</classname> or - <classname>Sequence</classname>. - </para> - </body> -</moduleDescription> -''') - -class DerError(Exception): - def __init__(self, msg): - if not isinstance(msg, types.StringType): - raise Exception, 'argunment should be a string' - self.msg = msg - - def __repr__(self): - return self.msg - - __str__ = __repr__ - -class _Tag(object): - def __init__(self): - self.tagclass = 0 - self.tagform = 0 - self.tagnumber = 0 - - def __repr__(self): - return '(%s, %s, %s)' % (self.tagclass, self.tagform, self.tagnumber) - - def write(self, file): - if self.tagnumber < 31: - file.write( chr(self.tagclass | self.tagform | self.tagnumber) ) - else: - val = copy.deepcopy(self.tagnumber) - bytes = [] - while val: - byte = val & 0x7F - bytes.append(byte | 0x80) - val = val >> 7 - bytes[0] = bytes[0] ^ 0x80 - bytes.append( self.tagclass | self.tagform | 0x1F ) - bytes.reverse() - file.write( string.join(map(chr, bytes), '') ) - - def read(self, file): - octet1 = ord( file.read(1) ) - self.tagclass = octet1 & 0xC0 - self.tagform = octet1 & 0x20 - value = octet1 & 0x1F - if value < 31: - self.tagnumber = value - else: - total = 0 - byte = 0x80 - while byte & 0x80: - byte = ord( file.read(1) ) - if byte & 0x80: - total = (total << 7) | byte ^ 0x80 - else: - total = (total << 7) | byte - self.tagnumber = total - -class _Length(object): - def __init__(self): - self.length = 0 - - def __repr__(self): - return '(%s)' % self.length - - def write(self, file): - if self.length < 128: - file.write( chr(self.length) ) - else: - val = copy.deepcopy(self.length) - bytes = [] - while val: - byte = val & 0xFF - bytes.append(byte) - val = val >> 8 - lengthOfLength = len(bytes) - if lengthOfLength > 126: - raise DerError, 'object is too long!' - bytes.append(lengthOfLength) - bytes.reverse() - bytes[0] = bytes[0] ^ 0x80 - file.write( string.join(map(chr, bytes), '') ) - - def read(self, file): - octet1 = ord( file.read(1) ) - if octet1 < 128: - self.length = octet1 - else: - total = 0 - byte = 0 - for i in range(octet1 ^ 0x80): - byte = ord( file.read(1) ) - total = (total << 8) | byte - self.length = total - -class _TlvIo(_Tag, _Length): - def __init__(self, file): - self.file = file - self.offset = None - self.valueOffset = None - - def __repr__(self): - return '<TAG:%s Length:%s>' % (_Tag.__repr__(self), _Length.__repr__(self)) - - def __nonzero__(self): - pos = self.file.tell() - self.file.seek(0,2) - if self.file.tell(): - self.file.seek(pos) - return 1 - else: - return 0 - - def read(self): - self.offset = self.file.tell() - _Tag.read( self, self.file ) - _Length.read( self, self.file ) - self.valueOffset = self.file.tell() - self.file.seek( self.length, 1 ) - - def readValue(self): - self.file.seek( self.valueOffset ) - return self.file.read( self.length ) - - def write(self, val): - _Tag.write( self, self.file ) - self.length = len(val) - _Length.write( self, self.file ) - self.file.write(val) - -def _decodeBoolean(val): - 'der encoded value not including tag or length' - if not isinstance(val, types.StringType): - raise DerError, 'argument should be a string' - if ord(val) == 0xFF: - return 1 - elif ord(val) == 0x00: - return 0 - else: - raise DerError, 'boolean should be encode as all 1s or all 0s' - -def _encodeBoolean(val): - 'anything we can test for truth' - if val: - return chr(0xFF) - else: - return chr(0x00) - -def _decodeInteger(val): - 'der encoded value not including tag or length' - if not isinstance(val, types.StringType): - raise DerError, 'argument should be a string' - total = 0L - if ord(val[0]) & 0x80: - val = map( lambda x : ord(x) ^ 0xFF, val ) - for byte in val: - total = (total << 8) | byte - total = -(total+1) - else: - for byte in val: - total = (total << 8) | ord(byte) - return total - -def _encodeInteger(val): - 'python integer' - if not isinstance(val, types.IntType) and not isinstance(val, types.LongType): - raise DerError, 'argument should be an integer' - if val == 0: - return chr(0x00) - else: - val2 = copy.deepcopy(val) - if val2 < 0: - val2 = -(val2+1) - bytes = [] - byte = 0 - while val2: - byte = val2 & 0xFF - bytes.append(byte) - val2 = val2 >> 8 - # if we have no used up the last byte to represent the value we need - # to add one more on to show if this is negative of positive. Also, - # due to adding 1 and inverting -1 would be 0 or if 0 is the encoding - # value, so bytes would empty and this would lead to and empty value - # and this would not be working properly. Adding this null byte - # fixes this, since it is inverted to -1 and preserved for 0. - if byte & 0x80 or not bytes: - bytes.append(0x00) - if val < 0: - bytes = map( lambda x : x ^ 0xFF, bytes ) - bytes.reverse() - - return string.join(map(chr, bytes), '') - -def _decodeBitString(val): - 'der encoded value not including tag or length' - if not isinstance(val, types.StringType): - raise DerError, 'argument should be a string' - bitmasks = [0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01] - unused = ord( val[0] ) - bits = [] - for byte in val[1:]: - for j in range(8): - if ord(byte) & bitmasks[j]: - bits.append(1) - else: - bits.append(0) - if unused == 0: - return tuple(bits) - else: - return tuple(bits[:-unused]) - -def _encodeBitString(val): - 'list of true/false objects ie [0,1,1,0,1,1]' - if not (isinstance(val, types.ListType) or isinstance(val, types.TupleType)): - raise DerError, 'argument should be a list or tuple' - bitmasks = [0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01] - bytes = [] - fits, leftover = divmod(len(val), 8) - nobytes = fits - if leftover > 0: - nobytes = nobytes + 1 - if leftover: - unused = 8 - leftover - else: - unused = 0 - bytes.append(unused) - for i in range(nobytes): - byte = 0 - for j in range(8): - offset = j + i*8 - if offset < len(val): - if val[offset]: - byte = byte | bitmasks[j] - bytes.append(byte) - - return string.join(map(chr, bytes), '') - -def _decodeOid(val): - 'der encoded value not including tag or length' - if not isinstance(val, types.StringType): - raise DerError, 'argument should be a string' - arc12 = ord( val[0] ) - arc1, arc2 = divmod(arc12, 40) - oids = [arc1,arc2] - - total = 0 - for byte in val[1:]: - val = ord(byte) - if val & 0x80: - total = (total << 7) | (val ^ 0x80) - else: - total = (total << 7) | val - oids.append(total) - total = 0 - - return tuple(oids) - -def _encodeOid(val): - 'list of intgers' - if not (isinstance(val, types.ListType) or isinstance(val, types.TupleType)): - raise DerError, 'argument should be a list or tuple' - oids = [] - oids.append( chr(40 * val[0] + val[1]) ) - for val in val[2:]: - if val == 0: - oids.append( chr(0) ) - else: - bytes = [] - while val: - val, rem = divmod(val, 128) - bytes.append(rem | 0x80) - bytes[0] = bytes[0] ^ 0x80 - bytes.reverse() - oids.append( string.join(map(chr, bytes), '') ) - - return string.join(oids, '') - -def _decodeSequence(val): - 'der encoded value not including tag or length' - if not isinstance(val, types.StringType): - raise DerError, 'argument should be a string' - buf = cStringIO.StringIO(val) - buflen = len(val) - tvls = [] - while buf.tell() < buflen: - t = _TlvIo(buf) - t.read() - tvls.append(t) - return tuple(tvls) - -def _encodeSequence(val): - 'list of GenerlObjects' - if not (isinstance(val, types.ListType) or isinstance(val, types.TupleType)): - raise DerError, 'argument should be a list or tuple' - buf = cStringIO.StringIO() - for obj in val: - if obj or isinstance(obj, _GeneralObject): - obj.write(buf) - elif not obj.optional: - raise DerError, 'object not set which should be: %s' % obj - - return buf.getvalue() - -_addFragment(''' -<class> - <header> - <name>_GeneralObject</name> - </header> - <body> - <para> - <classname>_GeneralObject</classname> is the basis for all DER objects, - primitive or constructed. It defines the basic behaviour of an - object which is serialised using the tag, length and value - approach of DER. It is unlikely you would ever want to - instantiate one of these directly but I include a description - since many primatives don't override much of - <classname>_GeneralObject</classname>'s functions. - </para> - </body> -</class> -''') - -class _GeneralObject(object): - - _addFragment(''' - <constructor> - <header> - <memberof>_GeneralObject</memberof> - <parameter>normclass</parameter> - <parameter>normform</parameter> - <parameter>normnumber</parameter> - <parameter>encRoutine</parameter> - <parameter>decRoutine</parameter> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - <body> - <para> - <parameter>normclass</parameter> is the class of the object, - ei: universal, application, context or private. - <parameter>normform</parameter> is the form of the object, ei - primitive or constructed. <parameter>normnumber</parameter> is - the tag number of the object. - <parameter>encRoutine</parameter> is a function which takes a - value and encodes it according the appropriate DER rules. - <parameter>decRoutine</parameter> is a function which reads a - string value and returns a value which is more useful in - Python. <parameter>optional</parameter> is a boolean - indicating if this object is optional. The final parameter, - <parameter>default</parameter> is the base 64 encoded DER - value, which should be used as the default in leu of a value to - read or incase it is unset. - </para> - </body> - </constructor> - ''') - - def __init__(self, normclass, normform, normnumber, encRoutine, decRoutine, optional=0, default=''): - if not isinstance(normclass, types.IntType): - raise DerError, 'nomrclass argument should be an integer : %s' % normclass - if not isinstance(normform, types.IntType): - raise DerError, 'normform argument should be an integer : %s' % normform - if not isinstance(normnumber, types.IntType): - raise DerError, 'normnumber argument should be an integer : %s' % normnumber - if not isinstance(encRoutine, types.FunctionType): - raise DerError, 'encRoutine argument should be an function : %s' % encRoutine - if not isinstance(decRoutine, types.FunctionType): - raise DerError, 'decRoutine argument should be an function : %s' % decRoutine - if not isinstance(optional, types.IntType): - raise DerError, 'optional argument should be an integer : %s' % optional - if not isinstance(default, types.StringType): - raise DerError, 'default argument should be an String : %s' % default - self.normclass = normclass - self.normform = normform - self.normnumber = normnumber - self.encRoutine = encRoutine - self.decRoutine = decRoutine - self.value = None - self.optional = optional - self.default = default - self.reset() - - def _ioSafe(self): - 'is it safe to write this object' - if self.optional or self._isSet(): - return 1 - else: - return 0 - - def _isSet(self): - 'are the values of this object set or not' - if self.value is not None: - return 1 - else: - return 0 - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>reset</name> - </header> - <body> - <para> - This function re-initialises the object, clearing the value or - setting it to any default. - </para> - </body> - </method> - ''') - def reset(self): - self.value = None - if self.default: - buf = cStringIO.StringIO( base64.decodestring( self.default ) ) - io = _TlvIo(buf) - io.read() - self.read(io) - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>set</name> - <parameter>value</parameter> - </header> - <body> - <para> - This dosn't do much except store <parameter>value</parameter>, - presumably prior to writing the object. The correct values to - use would be determined by the encoder or decoder this class is - instantiated with. Be careful, there is some flexibility in - setting objects so you might find that once the object has been - written and read back in the value isn't identical. A good - example would be anything which contains a sequence(list or - tuple), all sequence objects are returned as tuples. - </para> - </body> - </method> - ''') - def set(self, value): - if value is not None: - self.value = value - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>get</name> - </header> - <body> - <para> - Gets the value stored presumably after reading the object. - </para> - </body> - </method> - ''') - def get(self): - return self.value - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>implied</name> - <parameter>impclass</parameter> - <parameter>impform</parameter> - <parameter>impnumber</parameter> - </header> - <body> - <para> - This function is used to change how the tag is written or read - for a particular object and should be called in the constructor - for derived objects. If you have an example of the structure you need to - process, Pete Gutmann's excellent - <application>dumpasn1</application> can be invaluable for - debugging objects. - </para> - </body> - </method> - ''') - def implied(self, impclass, impform, impnumber): - if not isinstance(impclass, types.IntType): - raise DerError, 'impclass argument should be an integer' - if not isinstance(impform, types.IntType): - raise DerError, 'impform argument should be an integer' - if not isinstance(impnumber, types.IntType): - raise DerError, 'impnumber argument should be an integer' - self.normclass = impclass - self.normform = impform - self.normnumber = impnumber - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>read</name> - <parameter>io</parameter> - </header> - <body> - <para> - <parameter>io</parameter> should be a file like object. If the - object being read matches the expected class, form and tag the - value is read and decoded using - <function>decRoutine</function>. Else, if it has a default - that is read and stored. - </para> - <para> - The return value of this function does not indicate success but - whether this TLV was processed successfully. This bahaviour is - vital for processing constructed types since the object may be - optional or have a default. Failure to decode would be indicated - by an exception. - </para> - </body> - </method> - ''') - - def read(self, io=None): - - processDefOpt = 0 - if io is None: - processDefOpt = 1 - elif isinstance(io, _TlvIo): - if not io: - processDefOpt = 1 - else: - pos = io.tell() - io.seek(0,2) - if io.tell(): - io.seek(pos) - else: - processDefOpt = 1 - - if processDefOpt: - if self.optional or self.default: - self.reset() - return 0 - else: - raise DerError, 'no TLV is available to read in non-optional/non-default object: %s' % repr(self) - - if not isinstance(io, _TlvIo): - tmp = _TlvIo(io) - tmp.read() - io = tmp - - if io.tagclass != self.normclass or io.tagform != self.normform or io.tagnumber != self.normnumber: - if self.default or self.optional: - self.reset() - return 0 - else: - raise DerError, 'error in encoding, missing object:%s' % repr(self) - else: - derval = io.readValue() - self.value = self.decRoutine( derval ) - return 1 - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>write</name> - <parameter>io</parameter> - </header> - <body> - <para> - If this object has not been set and is not optional and dosn't - have a default, a <classname>DerError</classname> exception will be raised - </para> - <para> - If no value has been set and this object is optional, nothing - is written. If this object's value is equal to the default, - nothing is written as stipulated by DER. Otherwise the value - is encoded and written. - </para> - </body> - </method> - ''') - - def write(self, file): - if not self._ioSafe(): - raise DerError, 'object not set which must be: %s' % repr(self) - elif self.optional and self.value is None: - pass - else: - buf = cStringIO.StringIO() - io = _TlvIo(buf) - io.tagclass = self.normclass - io.tagform = self.normform - io.tagnumber = self.normnumber - derval = self.encRoutine( self.value ) - io.length = len(derval) - io.write(derval) - if self.default: - if buf.getvalue() != base64.decodestring(self.default): - file.write( buf.getvalue() ) - else: - file.write( buf.getvalue() ) - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>toString</name> - </header> - <body> - <para> - Encodes the value in DER and returns it as a string. - </para> - </body> - </method> - ''') - - def toString(self): - buf = cStringIO.StringIO() - self.write(buf) - return buf.getvalue() - - _addFragment(''' - <method> - <header> - <memberof>_GeneralObject</memberof> - <name>fromString</name> - </header> - <body> - <para> - Decodes the string and sets the value of this object. - </para> - </body> - </method> - ''') - - def fromString(self, value): - buf = cStringIO.StringIO(value) - self.read(buf) - -class Any(_GeneralObject): - - def __init__(self): - self.value = None - self.normclass = None - self.normform = None - self.normnumber = None - - def _ioSafe(self): - if self.optional or (self._isSet() and self.normclass is not None and self.normform is not None and self.normnumber is not None): - return 1 - else: - return 0 - - def setTag(self, klass, form, number): - self.normclass = klass - self.normform = form - self.normnumber = number - - def reset(self): - self.value = None - - def get(self): - return self.value - - def set(self, value): - self.value = value - - def write(self,file): - if not self._ioSafe(): - raise DerError, 'object not set which must be: %s' % repr(self) - elif self.optional and self.value is None: - pass - else: - buf = cStringIO.StringIO() - io = _TlvIo(buf) - io.tagclass = self.normclass - io.tagform = self.normform - io.tagnumber = self.normnumber - io.length = len(self.value) - io.write(self.value) - file.write(buf.getvalue()) - - def read(self, io=None): - - processDefOpt = 0 - if io is None: - processDefOpt = 1 - elif isinstance(io, _TlvIo): - if not io: - processDefOpt = 1 - else: - pos = io.tell() - io.seek(0,2) - if io.tell(): - io.seek(pos) - else: - processDefOpt = 1 - if processDefOpt: - if self.optional or self.default: - self.reset() - return 0 - else: - raise DerError, 'no TLV is available to read in non-optional/non-default object: %s' % repr(self) - - if not isinstance(io, _TlvIo): - tmp = _TlvIo(io) - tmp.read() - io = tmp - - self.value = io.readValue() - self.normclass = io.tagclass - self.normform = io.tagform - self.normnumber = io.tagnumber - -_addFragment(''' -<class> - <header> - <name>Boolean</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 BOOLEAN type. It can be set - with any object which can be tested for truth. - </para> - </body> -</class> -''') - -class Boolean(_GeneralObject): # 0x01 - - _addFragment(''' - <constructor> - <header> - <memberof>Boolean</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_BOOLEAN, _encodeBoolean, _decodeBoolean, optional, default) - -_addFragment(''' -<class> - <header> - <name>Integer</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 INTEGER type. It should be set - with a Python integer. - </para> - </body> -</class> -''') - -class Integer(_GeneralObject): # 0x02 - - _addFragment(''' - <constructor> - <header> - <memberof>Integer</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_INTEGER, _encodeInteger, _decodeInteger, optional, default) - -_addFragment(''' -<class> - <header> - <name>BitString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 BIT STRING type. It should be set - with a sequence of integers. A non-zero number will set the bit, - zero will leave the bit unset. - </para> - </body> -</class> -''') - -class BitString(_GeneralObject): # 0x03 - - _addFragment(''' - <constructor> - <header> - <memberof>BitString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_BITSTRING, _encodeBitString, _decodeBitString, optional, default) - -_addFragment(''' -<class> - <header> - <name>AltBitString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 BIT STRING type. It differs from - the first <classname>BitString</classname> in that it's coding - routines treat values as binary data and do not interpret the data - in any way. Some application treat the - <classname>BIT STRING</classname> in the same way as - <classname>OCTET STRING</classname> type, hence this extra object. - </para> - </body> -</class> -''') - -class AltBitString(_GeneralObject): # 0x03 - - _addFragment(''' - <constructor> - <header> - <memberof>AltBitString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_BITSTRING, lambda x : chr(0)+x, lambda x : x[1:], optional, default) - -_addFragment(''' -<class> - <header> - <name>OctetString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 OCTET STRING type. This object - can be set with any binary data. - </para> - </body> -</class> -''') -class OctetString(_GeneralObject): # 0x04 - - _addFragment(''' - <constructor> - <header> - <memberof>OctetString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_OCTETSTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>Null</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 NULL type. There is no point in - setting this object, the value will always be ignored when it is - written out. - </para> - </body> -</class> -''') -class Null(_GeneralObject): # 0x05 - - _addFragment(''' - <constructor> - <header> - <memberof>Null</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_NULL, lambda x : '', lambda x : '', optional, default) - self.value = '' - - def _ioSafe(self): - return 1 - - def reset(self): - self.value = '' - -_addFragment(''' -<class> - <header> - <name>Oid</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 OID type. This object should be - set with a list or tuple of integers defining an objects oid. - Please note that the first three arcs have a restricted set of - values, so encoding (5, 3, 7, 1) will produce bad results. - </para> - </body> -</class> -''') -class Oid(_GeneralObject): # 0x06 - - _addFragment(''' - <constructor> - <header> - <memberof>Oid</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_OID, _encodeOid, _decodeOid, optional, default) - -_addFragment(''' -<class> - <header> - <name>Enum</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 ENUM type. This should be set - using a Python integer, the meaning should be described in the - ASN1 document for the object you are encoding. - </para> - </body> -</class> -''') -class Enum(_GeneralObject): # 0x0A - - _addFragment(''' - <constructor> - <header> - <memberof>Enum</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_ENUMERATED, _encodeInteger, _decodeInteger, optional, default) - -_addFragment(''' -<class> - <header> - <name>Utf8String</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 UTF8String type. This object - should be set with a string. It is up to the application to ensure - it only contains valid characters for this type. - </para> - </body> -</class> -''') -class Utf8String(_GeneralObject): # 0x0C - - _addFragment(''' - <constructor> - <header> - <memberof>Utf8String</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_UTF8STRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>NumericString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 NumericString type. This should - object should be set with a string. It is up to the application to ensure - it only contains valid characters for this type. - </para> - </body> -</class> -''') -class NumericString(_GeneralObject): # 0x12 - - _addFragment(''' - <constructor> - <header> - <memberof>NumericString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_NUMERICSTRING, lambda x : x, lambda x : x, optional, default) -_addFragment(''' -<class> - <header> - <name>PrintableString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 PrintableString type. This should - object should be set with a string. It is up to the application to ensure - it only contains valid characters for this type. - </para> - </body> -</class> -''') -class PrintableString(_GeneralObject): # 0x13 - - _addFragment(''' - <constructor> - <header> - <memberof>PrintableString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_PRINTABLESTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>T61String</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 T61String type. This object - should be set with a string. It is up to the application to ensure - it only contains valid characters for this type. - </para> - </body> -</class> -''') -class T61String(_GeneralObject): # 0x14 - - _addFragment(''' - <constructor> - <header> - <memberof>T61String</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_T61STRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>VideotexString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 VideotexString type. This should - object should be set with a string. It is up to the application to ensure - it only contains valid characters for this type. - </para> - </body> -</class> -''') -class VideotexString(_GeneralObject): # 0x15 - - _addFragment(''' - <constructor> - <header> - <memberof>VideotexString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_VIDEOTEXSTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>IA5String</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 IA5String type. This object - should be set with a string. It is up to the application to ensure - it only contains valid characters for this type. - </para> - </body> -</class> -''') -class IA5String(_GeneralObject): # 0x16 - - _addFragment(''' - <constructor> - <header> - <memberof>IA5String</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_IA5STRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>UtcTime</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 UTCTime type. This object should - be set with a string of the general format YYMMDDhhmmssZ. The - helper functions <function>time2utc</function> and - <function>utc2time</function> can be used to handle the conversion - from an integer to a string and back. - </para> - </body> -</class> -''') -class UtcTime(_GeneralObject): # 0x17 - - _addFragment(''' - <constructor> - <header> - <memberof>UtcTime</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_UTCTIME, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>GeneralizedTime</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 GeneralizedTime type. This object should - be set with a string of the general format YYYYMMDDhhmmssZ. The - helper functions <function>time2utc</function> and - <function>utc2time</function> can be used to handle the conversion - from an integer to a string and back. - </para> - </body> -</class> -''') -class GeneralizedTime(_GeneralObject): # 0x18 - - _addFragment(''' - <constructor> - <header> - <memberof>GeneralizedTime</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_GENERALIZEDTIME, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>GraphicString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 GraphicString type. This should - object should be set with a string. It is up to the application to - ensure it only contains valid characters for this type. - </para> - </body> -</class> -''') -class GraphicString(_GeneralObject): # 0x19 - - _addFragment(''' - <constructor> - <header> - <memberof>GraphicString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_GRAPHICSTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>VisibleString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 VisibleString type. This should - object should be set with a string. It is up to the application to - ensure it only contains valid characters for this type. - </para> - </body> -</class> -''') -class VisibleString(_GeneralObject): # 0xC0 - - _addFragment(''' - <constructor> - <header> - <memberof>VisibleString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_VISIBLESTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>GeneralString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 GeneralString type. This should - object should be set with a string. It is up to the application to - ensure it only contains valid characters for this type. - </para> - </body> -</class> -''') -class GeneralString(_GeneralObject): # 0xC0 - - _addFragment(''' - <constructor> - <header> - <memberof>GeneralString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_GENERALSTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>UniversalString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 UniversalString type. This should - object should be set with a string. It is up to the application to - ensure it only contains valid characters for this type. - </para> - </body> -</class> -''') -class UniversalString(_GeneralObject): # 0xC0 - - _addFragment(''' - <constructor> - <header> - <memberof>UniversalString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_UNIVERSALSTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>BmpString</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 BMPString type. This object - should be set with a string. It is up to the application to ensure - it only contains valid characters for this type. - </para> - </body> -</class> -''') -class BmpString(_GeneralObject): # 0xC0 - - _addFragment(''' - <constructor> - <header> - <memberof>BmpString</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - - def __init__(self, optional=0, default=''): - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_PRIMITIVE, TAG_BMPSTRING, lambda x : x, lambda x : x, optional, default) - -_addFragment(''' -<class> - <header> - <name>Sequence</name> - <super>_GeneralObject</super> - </header> - <body> - <para> - This object represents the ASN1 SEQUENCE type. - </para> - </body> -</class> -''') -class Sequence(_GeneralObject): # 0x10 - - _addFragment(''' - <constructor> - <header> - <memberof>Sequence</memberof> - <super>_GeneralObject</super> - <parameter>contents</parameter> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - <body> - <para> - The <parameter>contents</parameter> should be a list or tuple containing - the contents of the sequence. - Two important members are initialised this this constructor. - First <constant>self.next</constant> this is used to keep track - of which TLVs in this sequence has been read succesfully. The second, - <constant>self.contents</constant> should be set to the list of - objects stored in this sequence. Note that the order they are - specified in is the order in which they are written or read. - </para> - </body> - </constructor> - ''') - - def __init__(self, contents, optional=0, default=''): - self.contents = contents - self.next = 0 - _GeneralObject.__init__(self, CLASS_UNIVERSAL, FORM_CONSTRUCTED, TAG_SEQUENCE, _encodeSequence, _decodeSequence, optional, default) - - def _childRead(self, obj): - if self.next < len(self.value): - if obj.read( self.value[self.next] ): - self.next += 1 - else: - obj.read() - - _addFragment(''' - <method> - <header> - <memberof>Sequence</memberof> - <name>readContents</name> - <parameter>io</parameter> - <parameter>contents</parameter> - </header> - <body> - <para> - This function implements basic SEQUENCE like reading behaviour. - It will attempt to read each of the objects in - <parameter>contents</parameter> in turn from - <parameter>io</parameter>. It exists as a function, separate - from <function>read</function> for the benefit of the SEQUENCE - OF implementation. - </para> - <para> - The TLV of this SEQUENCE is read and parsed into a list of - TLVs, which are store in <constant>self.value</constant>, by - <classname>_GeneralObject</classname>.<function>read</function>. - Then <function>read</function> is called on each member to - process each TLV in turn. The next TLV is moved onto only when - a member returns TRUE from the read call. - </para> - </body> - </method> - ''') - - def readContents(self, io, contents): - if _GeneralObject.read( self, io ): - for item in contents: - Sequence._childRead( self, item ) - return 1 - else: - return 0 - - _addFragment(''' - <method> - <header> - <memberof>Sequence</memberof> - <name>read</name> - <parameter>io</parameter> - </header> - <body> - <para> - Most of the logic for reading is implemented in <function>readContents</function> - so it can be reused for <classname>SequenceOf</classname>'s - <function>read</function> function. - </para> - </body> - </method> - ''') - - def read(self, io=None): - self.next = 0 - return self.readContents(io, self.contents) - - _addFragment(''' - <method> - <header> - <memberof>Sequence</memberof> - <name>write</name> - <parameter>file</parameter> - </header> - <body> - <para> - <constant>self.value</constant> is set to the contents of this - SEQUENCE and then written by calling - <classname>_GeneralObject</classname>.<function>write</function> - whos encoder will call <function>write</function> of - each element in the list of contents in turn. - </para> - </body> - </method> - ''') - - def write(self, file): - if self._ioSafe(): - if self._isSet(): - _GeneralObject.set( self, self.contents ) - _GeneralObject.write( self, file ) - elif self.optional: - pass - else: - prob = self.findUnset() - raise DerError, '%s is not in a state which can be written, %s is unset' % (repr(self), repr(prob) ) - - _addFragment(''' - <method> - <header> - <memberof>Sequence</memberof> - <name>set</name> - <parameter>values</parameter> - </header> - <body> - <para> - Accessing and setting values for ASN1 objects is a bit of a - thorny issue. The problem stems from the arbitrary complexity - of the data and the possible levels of nesting, which in - practice are used and are quite massive. Designing a good general - approach is a bit tricky, perhaps nearly - impossible. I choose to use a most compact - form which is excellent for simple objects and is very concise. - </para> - <para> - <parameter>value</parameter> should be a list or tuple of - values. Each element of the list (or tuple) will be used in - turn to set a member. Defaults can be specified by using the - default value itself or <constant>None</constant>. Hence, for - SEQUENCES of SEQUENCES, SEQUENCES OF, SET and so on - <parameter>values</parameter> should consist of nested lists or - tuples. Look at the ASN1 specs for that object to figure out - exactly what these should look like. - </para> - </body> - </method> - ''') - - def set(self, values): - if self.contents is None: - raise DerError, 'the contents attribute should be set before using this object' - if not( isinstance(values, types.ListType) or isinstance(values, types.TupleType) ): - raise DerError, 'a sequence should be set with a list or tuple of values' - if len(values) != len(self.contents): - raise DerError, 'wrong number of values have been supplied to set %s. Expecting %i, got %i' % \ - (self.__class__.__name__, len(self.contents), len(values) ) - - i = 0 - for val in values: - self.contents[i].set(val) - i = i + 1 - - _addFragment(''' - <method> - <header> - <memberof>Sequence</memberof> - <name>get</name> - </header> - <body> - <para> - A tuple of the values of the contents of this sequence will be - returned. Hence, for SEQUENCES of SEQUENCES, SEQUENCES OF, SET - and so on nested tuples will be returned. - <function>get</function> always returns tuples even if a list - was used to set and object. - </para> - </body> - </method> - ''') - - def get(self): - if self.contents is None: - return _GeneralObject.get(self) - else: - results = [] - for obj in self.contents: - results.append( obj.get() ) - return tuple(results) - - def reset(self): - if self.contents is None: - raise DerError, 'this object has no members to set' - self.next = 0 - for obj in self.contents: - obj.reset() # clear all child objects prior to possible setting - # via default - _GeneralObject.reset(self) - - def _isSet(self): - if self.contents is None: - raise DerError, 'this object has no members to set' - for obj in self.contents: - if not obj._ioSafe(): - return 0 - return 1 - - def findUnset(self): - if self.contents is None: - raise DerError, 'this object has no members to check' - for obj in self.contents: - if not obj._ioSafe(): - return obj - - def _ioSafe(self): - if self.optional or self._isSet(): - return 1 - else: - for obj in self.contents: - if not obj._ioSafe(): - return 0 - return 1 - -_addFragment(''' -<class> - <header> - <name>SequenceOf</name> - <super>Sequence</super> - </header> - <body> - <para> - This object represents the ASN1 SEQUENCE OF construct. - </para> - </body> -</class> -''') -class SequenceOf(Sequence): - - _addFragment(''' - <constructor> - <header> - <memberof>SequenceOf</memberof> - <super>Sequence</super> - <parameter>contains</parameter> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - <body> - <para> - The <parameter>contains</parameter> should be the constructor - for the objects which this SEQUENCE OF contains. - </para> - </body> - </constructor> - ''') - - def __init__(self, contains, optional=0, default=''): - self.contains = contains - self.sequenceOf = [] - Sequence.__init__(self, [], optional, default) - - def _ioSafe(self): - return 1 - - def reset(self): - if self.contents is None: - raise DerError, 'this object has no members to set' - self.next = 0 - self.sequenceOf = [] - _GeneralObject.reset(self) - - def _isSet(self): - if self.sequenceOf: - for obj in self.contents: - if not obj._ioSafe(): - return 0 - return 1 - else: - return 0 - - def set(self, values): - if isinstance(values, types.NoneType): - return - objects = [] - for val in values: - obj = self.contains() - obj.set(val) - objects.append(obj) - self.sequenceOf = objects - - def get(self): - results = [] - for obj in self.sequenceOf: - results.append( obj.get() ) - return tuple(results) - - def read(self, io=None): - self.sequenceOf = [] - self.next = 0 - if _GeneralObject.read( self, io ): - for tagio in _GeneralObject.get(self): - value = self.contains() - value.read(tagio) - self.sequenceOf.append(value) - return 1 - else: - return 0 - - def write(self, file): - if not self._isSet() and self.optional: - pass - else: - _GeneralObject.set( self, self.sequenceOf ) - _GeneralObject.write( self, file ) - - def __len__(self): - return len(self.sequenceOf) - - def __getitem__(self, key): - return self.sequenceOf[key] - - def __iter__(self): - for i in self.sequenceOf: - yield(i) - - def __contains__(self, item): - return item in self.sequenceOf - -_addFragment(''' -<class> - <header> - <name>Set</name> - <super>Sequence</super> - </header> - <body> - <para> - This object represents the ASN1 Set type. - </para> - </body> -</class> -''') -class Set(Sequence): # 0x11 - - _addFragment(''' - <constructor> - <header> - <memberof>Set</memberof> - <super>Sequence</super> - <parameter>contents</parameter> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - <body> - <para> - The <parameter>contents</parameter> should be a list containing - the contents of the sequence. - </para> - </body> - </constructor> - ''') - - def __init__(self, contents, optional=0, default=''): - Sequence.__init__(self, contents, optional, default) - self.normnumber = TAG_SET - -_addFragment(''' -<class> - <header> - <name>SetOf</name> - <super>SequenceOf</super> - </header> - <body> - <para> - This object represents the ASN1 SET OF construct. - </para> - </body> -</class> -''') -class SetOf(SequenceOf): - - _addFragment(''' - <constructor> - <header> - <memberof>SetOf</memberof> - <super>SequenceOf</super> - <parameter>contains</parameter> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - <body> - <para> - The <parameter>contains</parameter> should be the constructor - for the objects which this SET OF contains. - </para> - </body> - </constructor> - ''') - - def __init__(self, contains, optional=0, default=''): - SequenceOf.__init__(self, contains, optional, default) - self.normnumber = TAG_SET - -_addFragment(''' -<class> - <header> - <name>Explicit</name> - <super>Sequence</super> - </header> - <body> - <para> - Explicit objects support the DER concept of explicit tagging. In - general they behave just like a SEQUENCE which must have only one - element. See below for other differences. - </para> - </body> -</class> -''') -class Explicit(Sequence): - - _addFragment(''' - <constructor> - <header> - <memberof>Explicit</memberof> - <super>Sequence</super> - <parameter>expclass</parameter> - <parameter>expform</parameter> - <parameter>expnumber</parameter> - <parameter>contents</parameter> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - <body> - <para> - <parameter>expclass</parameter>, - <parameter>expform</parameter>, - <parameter>expnumber</parameter> should be as - specified in the ASN1 documentation for this object. - <parameter>contents</parameter> should be an object instance - such as <classname>Integer</classname>, - <classname>Oid</classname> or a derived object which supports - the <classname>_GeneralObjec</classname> interface. - </para> - </body> - </constructor> - ''') - - def __init__(self, expclass, expform, expnumber, contents, optional=0, default=''): - self.contents = [contents] - self.next = 0 - _GeneralObject.__init__(self, expclass, expform, expnumber, _encodeSequence, _decodeSequence, optional, default) - - _addFragment(''' - <method> - <header> - <memberof>Explicit</memberof> - <name>set</name> - <parameter>value</parameter> - </header> - <body> - <para> - <parameter>value</parameter> is passed direct to - <function>set</function> of the explicit object, so it should - not be placed in a list or tuple(unless you are setting a constructed - object). - </para> - </body> - </method> - ''') - def set(self, value): - return Sequence.set(self, [value]) - - _addFragment(''' - <method> - <header> - <memberof>Explicit</memberof> - <name>get</name> - </header> - <body> - <para> - The value of explicit object is returned and not - put in a tuple. - </para> - </body> - </method> - ''') - def get(self): - return Sequence.get(self)[0] - -_addFragment(''' -<class> - <header> - <name>Choice</name> - </header> - <body> - <para> - This object represents the ASN1 Choice type. - </para> - </body> -</class> -''') -class Choice(object): - - _addFragment(''' - <constructor> - <header> - <memberof>Choice</memberof> - <parameter>choices</parameter> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - <body> - <para> - <parameter>choices</parameter> should be a dictionary of - objects which support the <classname>_GeneralObject</classname> - interface. The key being the name of the choice specified in the - ASN1 documentation. <parameter>optional</parameter> is a boolean - indicating if this object is optional. The final parameter, - <parameter>default</parameter> is the base 64 encoded DER - value, which should be used as the default in leu of a value to - read or incase it is unset. If neither - <parameter>optional</parameter> or - <parameter>default</parameter> is not set then the first choice - which is optional or has a default will be honored. - </para> - </body> - </constructor> - ''') - - def __init__(self, choices, optional=0, default=''): - self.value = None - self.choices = choices - self.optional = optional - self.default = default - self.choice = None - self.reset() - - def _ioSafe(self): - if self.optional or self._isSet(): - return 1 - elif self.choice and self.choices[ self.choice ]._ioSafe(): - return 1 - else: - return 0 - - def _isSet(self): - if self.choice and self.choices[self.choice]._isSet(): - return 1 - else: - return 0 - - _addFragment(''' - <method> - <header> - <memberof>Choice</memberof> - <name>reset</name> - </header> - <body> - <para> - This function re-initialises the object, clearing the value or - setting it to any default. - </para> - </body> - </method> - ''') - def reset(self): - self.value = None - self.choice = None - if self.default: - buf = cStringIO.StringIO( base64.decodestring( self.default ) ) - io = _TlvIo(buf) - io.read() - self.read(io) - else: - for key in self.choices.keys(): - self.choices[key].reset() - if self.choices[key]._ioSafe(): - self.choice = key - break; - - - _addFragment(''' - <method> - <header> - <memberof>Choice</memberof> - <name>set</name> - <parameter>value</parameter> - </header> - <body> - <para> - <parameter>value</parameter> should be a list or tuple with two - elements. The first value should be the name of the choice to - be set and the second the value to set it with. - </para> - </body> - </method> - ''') - def set(self, val): - if val is None: - return - if not (isinstance(val, types.ListType) or isinstance(val, types.TupleType)): - raise DerError, 'argument should be a list or tuple' - if not self.choices.has_key( val[0] ): - raise DerError, 'unknown choice: %s' % val[0] - self.choices[ val[0] ].set(val[1]) - self.choice = val[0] - - _addFragment(''' - <method> - <header> - <memberof>Choice</memberof> - <name>get</name> - </header> - <body> - <para> - This function will return tuple with two elements. The first - value will be the name of the choice which was set and the second - the value it was set to. - </para> - </body> - </method> - ''') - - def get(self): - if self._isSet(): - return (self.choice, self.choices[ self.choice ].get()) - else: - return None - - _addFragment(''' - <method> - <header> - <memberof>Choice</memberof> - <name>toString</name> - </header> - <body> - <para> - Encodes the value in DER and returns it as a string. - </para> - </body> - </method> - ''') - - def toString(self): - buf = cStringIO.StringIO() - self.write(buf) - return buf.getvalue() - - _addFragment(''' - <method> - <header> - <memberof>Choice</memberof> - <name>fromString</name> - </header> - <body> - <para> - Decodes the string and sets the value of this object. - </para> - </body> - </method> - ''') - - def fromString(self, value): - buf = cStringIO.StringIO(value) - self.read(buf) - - _addFragment(''' - <method> - <header> - <memberof>Choice</memberof> - <name>read</name> - <parameter>io</parameter> - </header> - <body> - <para> - <parameter>io</parameter> should be a file like object. If the - object being read matches the expected class, form and tag the - value is read and decoded using - <function>decRoutine</function>. Else, if it has a default - that is read and stored. - </para> - <para> - The return value of this function does not indicate success but - whether this TLV was processed successfully. This bahaviour is - vital for processing constructed types since the object may be - optional or have a default. Failure to decode would be indicated - by an exception. - </para> - </body> - </method> - ''') - - def _readChoices(self, io): - for key in self.choices.keys(): - try: - readindicator = self.choices[key].read(io) - self.choice = key - break; - except DerError: - if DEBUG: - traceback.print_exc() - return readindicator - - def read(self, io=None): - - self.choice = None - processDefOpt = 0 - readindicator = 0 - - if io is None: - processDefOpt = 1 - elif isinstance(io, _TlvIo): - if not io: - processDefOpt = 1 - else: - pos = io.tell() - io.seek(0,2) - if io.tell(): - io.seek(pos) - else: - processDefOpt = 1 - - if processDefOpt: - if self.optional or self.default: - self.reset() - return 0 - else: - readindicator = self._readChoices(io) - for key in self.choices.keys(): - try: - readindicator = self.choices[key].read(io) - self.choice = key - break; - except DerError: - if DEBUG: - traceback.print_exc() - if not self._isSet(): - raise DerError, 'no TLV is available to read in non-optional/non-default object: %s' % repr(self) - else: - return readindicator - - if not isinstance(io, _TlvIo): - tmp = _TlvIo(io) - tmp.read() - io = tmp - - for key in self.choices.keys(): - try: - if self.choices[key].read(io): - self.choice = key - readindicator = 1 - break; - except DerError: - if DEBUG: - traceback.print_exc() - - if not self._isSet(): - self.reset() - else: - return readindicator - - _addFragment(''' - <method> - <header> - <memberof>Choice</memberof> - <name>write</name> - <parameter>file</parameter> - </header> - <body> - <para> - If this object has not been set and is not optional and dosn't - have a default, a <classname>DerError</classname> exception will be raised - </para> - <para> - If no value has been set and this object is optional, nothing - is written. If this object's value is equal to the default, - nothing is written as stipulated by DER. Otherwise the value - is encoded and written. - </para> - </body> - </method> - ''') - def write(self,file): - if self.optional and not self.choice: - pass - elif not self.choice: - raise DerError, 'choice not set' - elif self.choice: - if self.default: - defval = base64.decodestring( self.default ) - if defval != self.choices[ self.choice ].toString(): - self.choices[ self.choice ].write(file) - else: - self.choices[ self.choice ].write(file) - else: - raise DerError, 'an internal error has occured: %s' % repr(self) - - diff --git a/pow/POW-0.7/lib/_simpledb.py b/pow/POW-0.7/lib/_simpledb.py deleted file mode 100755 index 190e96be..00000000 --- a/pow/POW-0.7/lib/_simpledb.py +++ /dev/null @@ -1,55 +0,0 @@ -#*****************************************************************************# -#* *# -#* Copyright (c) 2002, Peter Shannon *# -#* All rights reserved. *# -#* *# -#* Redistribution and use in source and binary forms, with or without *# -#* modification, are permitted provided that the following conditions *# -#* are met: *# -#* *# -#* * Redistributions of source code must retain the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer. *# -#* *# -#* * Redistributions in binary form must reproduce the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer in the documentation and/or other materials *# -#* provided with the distribution. *# -#* *# -#* * The name of the contributors may be used to endorse or promote *# -#* products derived from this software without specific prior *# -#* written permission. *# -#* *# -#* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *# -#* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *# -#* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *# -#* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS *# -#* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *# -#* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *# -#* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *# -#* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *# -#* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *# -#* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *# -#* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *# -#* *# -#*****************************************************************************# - -import _oids, _objects, types - -class OidData(object): - def __init__(self): - self.oids = _oids.data - self.objs = _objects.data - - def obj2oid(self, obj): - if not self.objs.has_key(obj): - raise Exception, 'unknown object: %s' % obj - return tuple(self.objs[obj]['oid']) - - def oid2obj(self, oid): - if isinstance( oid, types.ListType ): - oid = tuple(oid) - if not self.oids.has_key(oid): - raise Exception, 'unknown oid %s' % `oid` - return self.oids[oid]['name'] - diff --git a/pow/POW-0.7/lib/pkix.py b/pow/POW-0.7/lib/pkix.py deleted file mode 100755 index e7d9dde1..00000000 --- a/pow/POW-0.7/lib/pkix.py +++ /dev/null @@ -1,2087 +0,0 @@ -#*****************************************************************************# -#* *# -#* Copyright (c) 2002, Peter Shannon *# -#* All rights reserved. *# -#* *# -#* Redistribution and use in source and binary forms, with or without *# -#* modification, are permitted provided that the following conditions *# -#* are met: *# -#* *# -#* * Redistributions of source code must retain the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer. *# -#* *# -#* * Redistributions in binary form must reproduce the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer in the documentation and/or other materials *# -#* provided with the distribution. *# -#* *# -#* * The name of the contributors may be used to endorse or promote *# -#* products derived from this software without specific prior *# -#* written permission. *# -#* *# -#* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *# -#* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *# -#* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *# -#* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS *# -#* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *# -#* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *# -#* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *# -#* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *# -#* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *# -#* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *# -#* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *# -#* *# -#*****************************************************************************# - -import types, time, pprint, cStringIO, _der -from _simpledb import OidData as _OidData -from _der import * - -DEBUG = 0 - -_oidData = _OidData() -obj2oid = _oidData.obj2oid -oid2obj = _oidData.oid2obj - -_fragments = [] - -def _docset(): - return _der._docset() + _fragments - -#---------- crypto driver ----------# - -class CryptoDriver(object): - """Dispatcher for crypto calls. - - This module has very minimal dependencies on crypto code, as it's - almost entirely about ASN.1 encoding and decoding. Rather than - wiring in the handful of crypto calls, we dispatch them through - this driver. The default driver uses POW, but you can replace it - with any crypto package you like. - - This is a virtual class. You will have to subtype it. - """ - - def getOID(self, digestType): - """Convert a digest identifier into an OID. - - If the identifier we get is a tuple, we assume it's already an - OID and just return it. If the identifier is in the driver - identifier mapping table, we use that to return an OID. - Otherwise, we try mapping it via the name-to-OID database. - """ - if isinstance(digestType, tuple): - return digestType - if digestType in self.driver2OID: - return self.driver2OID[digestType] - return obj2oid(digestType) - - def sign(self, key, oid, plaintext): - """Sign something with an RSA key and a given digest algorithm.""" - raise NotImplementedError - - def verify(self, key, oid, plaintext, signature): - """Verify a signature.""" - raise NotImplementedError - - def toPublicDER(self, key): - """Get the DER representation of an RSA key.""" - raise NotImplementedError - - def fromPublicDER(self, der): - """Set the driver representation of an RSA key from DER.""" - raise NotImplementedError - -class POWCryptoDriver(CryptoDriver): - """Dispatcher for crypto calls using POW package.""" - - def __init__(self): - global POW - try: - import rpki.POW - POW = rpki.POW - except ImportError: - import POW - self.driver2OID = {} - for k, v in (("MD2_DIGEST", (1, 2, 840, 113549, 1, 1, 2)), # md2WithRSAEncryption - ("MD5_DIGEST", (1, 2, 840, 113549, 1, 1, 4)), # md5WithRSAEncryption - ("SHA_DIGEST", (1, 3, 14, 3, 2, 15)), # shaWithRSAEncryption - ("SHA1_DIGEST", (1, 2, 840, 113549, 1, 1, 5)), # sha1withRSAEncryption - ("RIPEMD160_DIGEST", (1, 2, 840, 113549, 1, 1, 6)), # ripemd160WithRSAEncryption - ("SHA256_DIGEST", (1, 2, 840, 113549, 1, 1, 11)), # sha256WithRSAEncryption - ("SHA384_DIGEST", (1, 2, 840, 113549, 1, 1, 12)), # sha384WithRSAEncryption - ("SHA512_DIGEST", (1, 2, 840, 113549, 1, 1, 13)), # sha512WithRSAEncryption - ): - try: - self.driver2OID[getattr(POW, k)] = v - except AttributeError: - pass - self.OID2driver = dict((v,k) for k,v in self.driver2OID.items()) - - def _digest(self, oid, plaintext): - digest = POW.Digest(self.OID2driver[oid]) - digest.update(plaintext) - return digest.digest() - - def sign(self, key, oid, plaintext): - return key.sign(self._digest(oid, plaintext), self.OID2driver[oid]) - - def verify(self, key, oid, plaintext, signature): - return key.verify(signature, self._digest(oid, plaintext), self.OID2driver[oid]) - - def toPublicDER(self, key): - return key.derWrite(POW.RSA_PUBLIC_KEY) - - def fromPublicDER(self, der): - return POW.derRead(POW.RSA_PUBLIC_KEY, der) - -_cryptoDriver = None # Don't touch this directly - -def setCryptoDriver(driver): - """Set crypto driver. - - The driver should be an instance of CryptoDriver. - """ - assert isinstance(driver, CryptoDriver) - global _cryptoDriver - _cryptoDriver = driver - -def getCryptoDriver(): - """Return the currently selected CryptoDriver instance. - - If no driver has been selected, instantiate the default POW driver. - """ - global _cryptoDriver - if _cryptoDriver is None: - setCryptoDriver(POWCryptoDriver()) - return _cryptoDriver - -#---------- crypto driver ----------# - -def _addFragment(frag): - global _fragments - _fragments.append(frag) - -_addFragment(''' -<modulefunction> - <header> - <name>utc2time</name> - <parameter>time</parameter> - </header> - <body> - <para> - This is a helper function for turning a UTCTime string into an - integer. It isn't built into the encoder since the various - functions which are used to manipulate the tm structure are - notoriously unreliable. - </para> - </body> -</modulefunction> -''') -def utc2time(val): - 'der encoded value not including tag or length' - if not isinstance(val, types.StringType): - raise DerError, 'argument should be a string' - t = time.strptime(val, '%y%m%d%H%M%SZ') - return int(time.mktime(t)) - -_addFragment(''' -<modulefunction> - <header> - <name>time2utc</name> - <parameter>time</parameter> - </header> - <body> - <para> - This is a helper function for turning an integer into a - UTCTime string. It isn't built into the encoder since the - various functions which are used to manipulate the tm structure - are notoriously unreliable. - </para> - </body> -</modulefunction> -''') -def time2utc(val): - 'numerical time value like time_t' - val = int(val) - t = time.gmtime(val) - return time.strftime('%y%m%d%H%M%SZ', t) - -_addFragment(''' -<modulefunction> - <header> - <name>gen2time</name> - <parameter>time</parameter> - </header> - <body> - <para> - This is a helper function for turning a GeneralizedTime string into an - integer. It isn't built into the encoder since the various - functions which are used to manipulate the tm structure are - notoriously unreliable. - </para> - </body> -</modulefunction> -''') -def gen2Time(val): - 'der encoded value not including tag or length' - if not isinstance(val, types.StringType): - raise DerError, 'argument should be a string' - t = time.strptime(val, '%Y%m%d%H%M%SZ') - return int(time.mktime(t)) - -_addFragment(''' -<modulefunction> - <header> - <name>time2gen</name> - <parameter>time</parameter> - </header> - <body> - <para> - This is a helper function for turning an integer into a - GeneralizedTime string. It isn't built into the encoder since the - various functions which are used to manipulate the tm structure - are notoriously unreliable. - </para> - </body> -</modulefunction> -''') -def time2gen(val): - 'numerical time value like time_t' - val = int(val) - t = time.gmtime(val) - return time.strftime('%Y%m%d%H%M%SZ', t) - -_addFragment(''' -<method> - <header> - <name>ip42oct</name> - <parameter>ip</parameter> - </header> - <body> - <para> - <parameter>ip</parameter> should be a list or tuple of integers, - from 0 to 256. - </para> - <example> - <title>Setting <classname>IpAddress</classname></title> - <programlisting> - ip = IpAddress() - ip.set( ip42oct(192, 168, 0, 231) ) - </programlisting> - </example> - </body> -</method> -''') -def ip42oct(val0, val1, val2, val3): - return chr(val0) + chr(val1) + chr(val2) + chr(val3) - -_addFragment(''' -<method> - <header> - <name>oct2ip4</name> - <parameter>val</parameter> - </header> - <body> - <para> - Returns a tuple of 4 integers, from 0 to 256. - </para> - </body> -</method> -''') -def oct2ip4(val): - if not isinstance(val, types.StringType) or len(val) != 4: - raise DerError, 'parameter should be string of 4 characters' - return ( ord(val[0]), ord(val[1]), ord(val[2]), ord(val[3]) ) - -#---------- certificate support ----------# -class TbsCertificate(Sequence): - def __init__(self, optional=0, default=''): - - self.version = Integer() - self.explicitVersion = Explicit( CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.version, 0, 'oAMCAQA=\n' ) - - self.serial = Integer() - self.signature = AlgorithmIdentifier() - self.issuer = Name() - self.subject = Name() - self.subjectPublicKeyInfo = SubjectPublicKeyInfo() - - self.validity = Validity() - - self.issuerUniqueID = BitString(1) - self.issuerUniqueID.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 1 ) - self.subjectUniqueID = BitString(1) - self.subjectUniqueID.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 2 ) - - self.extensions = Extensions() - self.explicitExtensions = Explicit( CLASS_CONTEXT, FORM_CONSTRUCTED, 3, self.extensions, 1 ) - - contents = [ - self.explicitVersion, - self.serial, - self.signature, - self.issuer, - self.validity, - self.subject, - self.subjectPublicKeyInfo, - self.issuerUniqueID, - self.subjectUniqueID, - self.explicitExtensions - ] - - Sequence.__init__(self, contents, optional, default) - -class Validity(Sequence): - def __init__(self, optional=0, default=''): - Time = lambda : Choice({ 'generalTime' : GeneralizedTime(), 'utcTime' : UtcTime() }) - self.notBefore = Time() - self.notAfter = Time() - contents = [self.notBefore, self.notAfter] - Sequence.__init__(self, contents, optional, default) - -# IA5String should not be allowed in DirectoryString, but old -# implementations (deprecated but not quite outlawed by RFC 3280) -# sometimes use it for EmailAddress attributes in subject names, which -# triggers decode failures here unless we violate RFC 3280 by allowing -# IA5String. Do not use, do not use, do not use. - -class DirectoryString(Choice): - def __init__(self, optional=0, default=''): - choices = { 'teletexString' : T61String(), - 'printableString' : PrintableString(), - 'universalString' : UniversalString(), - 'bmpString' : BmpString(), - 'utf8String' : Utf8String(), - 'ia5String' : IA5String() } - - Choice.__init__(self, choices, optional, default) - -class AttributeTypeAndValue(Sequence): - def __init__(self, optional=0, default=''): - self.type = Oid() - self.dirstr = DirectoryString() - contents = [ self.type, self.dirstr ] - Sequence.__init__(self, contents, optional, default) - -class RelativeDistinguishedName(SetOf): - def __init__(self, optional=0, default=''): - SetOf.__init__(self, AttributeTypeAndValue, optional, default) - -class Name(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, RelativeDistinguishedName, optional, default) - -class AlgorithmIdentifier(Sequence): - def __init__(self, optional=0, default=''): - self.algorithm = Oid() - self.parameters = Null() - contents = [self.algorithm, self.parameters] - Sequence.__init__(self, contents, optional, default) - -class SubjectPublicKeyInfo(Sequence): - def __init__(self, optional=0, default=''): - self.algorithmId = AlgorithmIdentifier() - self.subjectPublicKey = AltBitString() - contents = [ self.algorithmId, self.subjectPublicKey ] - Sequence.__init__(self, contents, optional, default) - -class Extensions(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, Extension, optional, default) - -_addFragment(''' -<class> - <header> - <name>Certificate</name> - <super>Sequence</super> - </header> - <body> - <example> - <title>Setting <classname>Certificate</classname></title> - <programlisting> - rsa = POW.Asymmetric() - cert = POW.pkix.Certificate() - cert.setVersion(1) - cert.setSerial(5) - - name = ( (( o2i('countryName'), ('printableString', 'GB') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Hertfordshire') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Client') ),) ) - - cert.setIssuer(name) - cert.setSubject(name) - - now = POW.pkix.time2gen( time.time() ) - then = POW.pkix.time2gen(time.time() + 60*60*24*365*12) - cert.setNotBefore( ('generalTime', now) ) - cert.setNotAfter( ( 'generalTime', then) ) - cert.setIssuerUniqueID((1,0,1,0)) - cert.setSubjectUniqueID((1,0,0,1)) - cert.sign(rsa, POW.MD5_DIGEST) - </programlisting> - </example> - </body> -</class> -''') - -class Certificate(Sequence): - - _addFragment(''' - <constructor> - <header> - <memberof>Certificate</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - self.tbs = TbsCertificate() - self.signatureAlgorithm = AlgorithmIdentifier() - self.signatureValue = AltBitString() - contents = [ self.tbs, self.signatureAlgorithm, self.signatureValue ] - Sequence.__init__(self, contents, optional, default) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setVersion</name> - <parameter>version</parameter> - </header> - <body> - <para> - This function sets an <classname>Integer</classname> object. 0 - indicates a version 1 certificate, 1 a version 2 certificate and 2 a - version 3 certificate. - </para> - </body> - </method> - ''') - def setVersion(self, version): - self.tbs.version.set(version) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getVersion</name> - </header> - <body> - <para> - This function returns whatever the version object is set to, - this should be 0, 1 or 2. - </para> - </body> - </method> - ''') - def getVersion(self): - return self.tbs.version.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setSerial</name> - <parameter>serial</parameter> - </header> - <body> - <para> - This function sets an <classname>Integer</classname> object. - No two certificates issued should ever have the same serial - number. - </para> - </body> - </method> - ''') - def setSerial(self, serial): - self.tbs.serial.set(serial) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getVersion</name> - </header> - <body> - <para> - This function returns whatever the serial object is set to. - </para> - </body> - </method> - ''') - def getSerial(self): - return self.tbs.serial.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setIssuer</name> - <parameter>names</parameter> - </header> - <body> - <para> - This function sets an <classname>Name</classname> object. - See <classname>Certificate</classname> class for an example. - </para> - </body> - </method> - ''') - def setIssuer(self, issuer): - self.tbs.issuer.set(issuer) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getIssuer</name> - </header> - <body> - <para> - This function returns a complex tuple containing other tuples. - </para> - </body> - </method> - ''') - def getIssuer(self): - return self.tbs.issuer.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setSubject</name> - <parameter>names</parameter> - </header> - <body> - <para> - This function sets an <classname>Name</classname> object. - See <classname>Certificate</classname> class for an example. - </para> - </body> - </method> - ''') - def setSubject(self, subject): - self.tbs.subject.set(subject) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getSubject</name> - </header> - <body> - <para> - This function returns a complex tuple containing other tuples. - </para> - </body> - </method> - ''') - def getSubject(self): - return self.tbs.subject.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setNotBefore</name> - <parameter>time</parameter> - </header> - <body> - <para> - This function sets a <classname>Choice</classname> object. - It can be either a <classname>GeneralTime</classname> or - <classname>UTCTime</classname> object. The functions - <function>gen2time</function>, <function>utc2time</function>, - <function>time2gen</function> and <function>time2utc</function> - can be used to convert to and from integer times and their - string representation. - </para> - <example> - <title><function>setNotBefore</function> method usage</title> - <programlisting> - cert = POW.pkix.Certificate() - now = POW.pkix.time2gen( time.time() ) - cert.setNotBefore( ('generalTime', now) ) - </programlisting> - </example> - </body> - </method> - ''') - def setNotBefore(self, nb): - self.tbs.validity.notBefore.set(nb) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getNotBefore</name> - </header> - <body> - <para> - This function returns a tuple indicating which type of time was - stored and its value. See <function>setNotBefore</function> for details. - </para> - </body> - </method> - ''') - def getNotBefore(self): - return self.tbs.validity.notBefore.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setNotAfter</name> - <parameter>time</parameter> - </header> - <body> - <para> - This function sets a <classname>Choice</classname> object. - See <function>setNotBefore</function> for details. - </para> - </body> - </method> - ''') - def setNotAfter(self, na): - self.tbs.validity.notAfter.set(na) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getNotAfter</name> - </header> - <body> - <para> - This function returns a tuple indicating which type of time was - stored and its value. See <function>setNotBefore</function> for details. - </para> - </body> - </method> - ''') - def getNotAfter(self): - return self.tbs.validity.notAfter.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setIssuerUniqueID</name> - <parameter>id</parameter> - </header> - <body> - <para> - This function sets a <classname>BitString</classname> object. - This is part of the X509v2 standard and is quite poorly - regarded in general, its use is not recommended. It is set - using the normal <classname>BitString</classname> method, that - is with a sequence of true/false objects. - </para> - </body> - </method> - ''') - def setIssuerUniqueID(self, id): - self.tbs.issuerUniqueID.set(id) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getIssuerUniqueID</name> - </header> - <body> - <para> - This function returns a tuple of integers, 1 or 0. - </para> - </body> - </method> - ''') - def getIssuerUniqueID(self): - return self.tbs.issuerUniqueID.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setSubjectUniqueID</name> - <parameter>id</parameter> - </header> - <body> - <para> - This function sets a <classname>BitString</classname> object. - This is part of the X509v2 standard and is quite poorly - regarded in general, its use is not recommended. It is set - using the normal <classname>BitString</classname> method, that - is with a sequence of true/false objects. - </para> - </body> - </method> - ''') - def setSubjectUniqueID(self, id): - self.tbs.subjectUniqueID.set(id) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getSubjectUniqueID</name> - </header> - <body> - <para> - This function returns a tuple of integers, 1 or 0. - </para> - </body> - </method> - ''') - def getSubjectUniqueID(self): - return self.tbs.subjectUniqueID.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>setExtensions</name> - <parameter>extns</parameter> - </header> - <body> - <para> - This method sets an <classname>Extensions</classname> object, - defined as SEQUENCE OF Extension. The parameter - <parameter>extns</parameter> should consist of a list or tuple - of values suitable to set an extension. See the extension - class for details. - </para> - </body> - </method> - ''') - def setExtensions(self, extns): - self.tbs.extensions.set(extns) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>getExtensions</name> - </header> - <body> - <para> - This function returns a tuple of - <classname>Extension</classname> values. See - <classname>Extension</classname> for details. - </para> - </body> - </method> - ''') - def getExtensions(self): - return self.tbs.extensions.get() - - def getExtension(self, oid): - for x in self.getExtensions(): - if x[0] == oid: - return x - return None - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>sign</name> - <parameter>rsa</parameter> - <parameter>digestType</parameter> - </header> - <body> - <para> - This function updates structured of the - <classname>Certificate</classname> and - <constant>tbs</constant> as appropriate and performs the - specified digest on the <constant>tbs</constant> and set - <constant>signedText</constant> to signed the digest. - </para> - </body> - </method> - ''') - def sign(self, rsa, digestType): - driver = getCryptoDriver() - oid = driver.getOID(digestType) - self.tbs.signature.set([oid, None]) - signedText = driver.sign(rsa, oid, self.tbs.toString()) - self.signatureAlgorithm.set([oid, None]) - self.signatureValue.set(signedText) - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>verify</name> - <parameter>rsa</parameter> - </header> - <body> - <para> - This function works out what kind of digest was used to - during signing, calculates the digest of - <constant>tbs</constant> and verifies the envelope using the - key. - </para> - </body> - </method> - ''') - def verify(self, rsa): - driver = getCryptoDriver() - oid = self.signatureAlgorithm.get()[0] - return driver.verify(rsa, oid, self.tbs.toString(), self.signatureValue.get()) - -#---------- certificate support ----------# -#---------- CRL ----------# - -class RevokedCertificate(Sequence): - def __init__(self, optional=0, default=''): - self.userCertificate = Integer() - self.revocationDate = Choice( { 'generalTime' : GeneralizedTime(), 'utcTime' : UtcTime() } ) - self.crlEntryExtensions = Extensions(1) - contents = [ self.userCertificate, self.revocationDate, self.crlEntryExtensions ] - Sequence.__init__(self, contents, optional, default) - -class RevokedCertificates(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, RevokedCertificate, optional, default) - -class TbsCertList(Sequence): - def __init__(self, optional=0, default=''): - self.version = Integer(1) - self.signature = AlgorithmIdentifier() - self.issuer = Name() - self.thisUpdate = Choice( { 'generalTime' : GeneralizedTime(), 'utcTime' : UtcTime() } ) - self.nextUpdate = Choice( { 'generalTime' : GeneralizedTime(), 'utcTime' : UtcTime() }, 1 ) - self.revokedCertificates = RevokedCertificates(1) - self.crlExtensions = Extensions() - self.explicitCrlExtensions = Explicit( CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.crlExtensions, 1 ) - contents = [ self.version, - self.signature, - self.issuer, - self.thisUpdate, - self.nextUpdate, - self.revokedCertificates, - self.explicitCrlExtensions ] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>CertificateList</name> - <super>Sequence</super> - </header> - <body> - <example> - <title>Setting <classname>CertificateList</classname></title> - <programlisting> - now = POW.pkix.time2gen( time.time() ) - then = POW.pkix.time2gen(time.time() + 60*60*24*365*12) - rsa = POW.Asymmetric() - - crl = POW.pkix.CertificateList() - crl.setThisUpdate( ('generalTime', now ) ) - - name = ( (( o2i('countryName'), ('printableString', 'GB') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Hertfordshire') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Client') ),) ) - - myRevocations = ( - (1, ('generalTime', now), ()), - (2, ('generalTime', now), ()), - (3, ('generalTime', now), (( o2i('cRLReason'), 0, 1),)) - ) - - crl.setIssuer(name) - crl.setRevokedCertificates( myRevocations ) - - crl.sign(rsa, POW.MD5_DIGEST) - </programlisting> - </example> - </body> -</class> -''') -class CertificateList(Sequence): - _addFragment(''' - <constructor> - <header> - <memberof>CertificateList</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - self.tbs = TbsCertList() - self.signatureAlgorithm = AlgorithmIdentifier() - self.signature = AltBitString() - contents = [self.tbs, self.signatureAlgorithm, self.signature] - Sequence.__init__(self, contents, optional, default) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>setVersion</name> - <parameter>version</parameter> - </header> - <body> - <para> - This function sets an <classname>Integer</classname> object. 0 - indicates a version 1 CRL, and 1 a version 2 CRL. - </para> - </body> - </method> - ''') - def setVersion(self, version): - self.tbs.version.set(version) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>getVersion</name> - </header> - <body> - <para> - This function returns whatever the version object is set to, - this should be 0, 1 or 2. - </para> - </body> - </method> - ''') - def getVersion(self): - return self.tbs.version.get() - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>setIssuer</name> - <parameter>names</parameter> - </header> - <body> - <para> - This function sets an <classname>Name</classname> object. - </para> - </body> - </method> - ''') - def setIssuer(self, issuer): - self.tbs.issuer.set(issuer) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>getIssuer</name> - </header> - <body> - <para> - This function returns a complex tuple containing other tuples. - </para> - </body> - </method> - ''') - def getIssuer(self): - return self.tbs.issuer.get() - - _addFragment(''' - <method> - <header> - <memberof>setThisUpdate</memberof> - <name>setNotBefore</name> - <parameter>time</parameter> - </header> - <body> - <para> - This function sets a <classname>Choice</classname> object. - It can be either a <classname>GeneralTime</classname> or - <classname>UTCTime</classname> object. The functions - <function>gen2time</function>, <function>utc2time</function>, - <function>time2gen</function> and <function>time2utc</function> - can be used to convert to and from integer times and their - string representation. - </para> - <example> - <title><function>setNotBefore</function> method usage</title> - <programlisting> - crl = POW.pkix.CertificateList() - now = POW.pkix.time2gen( time.time() ) - crl.setNotBefore( ('generalTime', now) ) - </programlisting> - </example> - </body> - </method> - ''') - def setThisUpdate(self, nu): - self.tbs.thisUpdate.set(nu) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>getThisUpdate</name> - </header> - <body> - <para> - This function returns a tuple containing two strings. The first - is either 'utcTime' or 'generalTime' and the second is the time - value as a string. - </para> - </body> - </method> - ''') - def getThisUpdate(self): - return self.tbs.thisUpdate.get() - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>setNextUpdate</name> - </header> - <body> - <para> - See set <function>setThisUpdate</function>. - </para> - </body> - </method> - ''') - def setNextUpdate(self, nu): - self.tbs.nextUpdate.set(nu) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>getNextUpdate</name> - </header> - <body> - <para> - See set <function>getThisUpdate</function>. - </para> - </body> - </method> - ''') - def getNextUpdate(self): - return self.tbs.nextUpdate.get() - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>setExtensions</name> - <parameter>extns</parameter> - </header> - <body> - <para> - This method sets an <classname>Extensions</classname> object, - defined as SEQUENCE OF Extension. The parameter - <parameter>extns</parameter> should consist of a list or tuple - of values suitable to set an extension. See the extension - class for details. - </para> - </body> - </method> - ''') - def setExtensions(self, extns): - self.tbs.crlExtensions.set(extns) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>getExtensions</name> - </header> - <body> - <para> - This function returns a tuple of - <classname>Extension</classname> values. See - <classname>Extension</classname> for details. - </para> - </body> - </method> - ''') - def getExtensions(self): - return self.tbs.crlExtensions.get() - - def getExtension(self, oid): - for x in self.getExtensions(): - if x[0] == oid: - return x - return None - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>setRevokedCertificates</name> - </header> - <body> - <para> - This function sets a sequence of - <classname>revokedCertificate</classname> objects. - This object is optional. See - <classname>CertificateList</classname> for an example of its - use. - </para> - </body> - </method> - ''') - def setRevokedCertificates(self, rc): - self.tbs.revokedCertificates.set(rc) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>getRevokedCertificates</name> - </header> - <body> - <para> - This function return a sequence of - <classname>revokedCertificate</classname> objects or None. - </para> - </body> - </method> - ''') - def getRevokedCertificates(self): - return self.tbs.revokedCertificates.get() - - _addFragment(''' - <method> - <header> - <memberof>Certificate</memberof> - <name>sign</name> - </header> - <body> - <para> - This function updates structured of the - <classname>certificateList</classname> and - <classname>tBSCertList</classname> as appropriate, performs the - specified digest on the <classname>tBSCertList</classname> and sets - <constant>signedValue</constant> to signed the digest. - </para> - </body> - </method> - ''') - def sign(self, rsa, digestType): - driver = getCryptoDriver() - oid = driver.getOID(digestType) - self.tbs.signature.set([oid, None]) - signedText = driver.sign(rsa, oid, self.tbs.toString()) - self.signatureAlgorithm.set([oid, None]) - self.signature.set(signedText) - - _addFragment(''' - <method> - <header> - <memberof>CertificateList</memberof> - <name>verify</name> - </header> - <body> - <para> - This function works out what kind of digest was used to during - signing, calculates the digest of - <classname>tBSCertList</classname> and verifies the - <constant>signedText</constant> using the key. - </para> - </body> - </method> - ''') - def verify(self, rsa): - driver = getCryptoDriver() - oid = self.signatureAlgorithm.get()[0] - return driver.verify(rsa, oid, self.tbs.toString(), self.signature.get()) - -#---------- CRL ----------# -#---------- PKCS10 ----------# - -# My ASN.1-foo (and perhaps this ASN.1 implementation) isn't quite up -# to X.501 or PKCS #10, so this is partly based on a dump of what -# OpenSSL generates, and doesn't handle attributes other than X.509v3 -# extensions. - -class PKCS10AttributeSet(SetOf): - def __init__(self, optional=0, default=''): - SetOf.__init__(self, Extensions, optional, default) - -class PKCS10AttributeChoice(Choice): - def __init__(self, optional=0, default=''): - choices = { 'single' : Extensions(), - 'set' : PKCS10AttributeSet() } - Choice.__init__(self, choices, optional, default) - -class PKCS10Attributes(Sequence): - def __init__(self, optional=1, default=''): - self.oid = Oid() - self.val = PKCS10AttributeChoice() - contents = [ self.oid, self.val ] - Sequence.__init__(self, contents, optional, default) - -class CertificationRequestInfo(Sequence): - def __init__(self, optional=0, default=''): - self.version = Integer() - self.subject = Name() - self.subjectPublicKeyInfo = SubjectPublicKeyInfo() - self.attributes = PKCS10Attributes() - self.explicitAttributes = Explicit(CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.attributes) - contents = [ self.version, self.subject, self.subjectPublicKeyInfo, self.explicitAttributes ] - Sequence.__init__(self, contents, optional, default) - -class CertificationRequest(Sequence): - def __init__(self, optional=0, default=''): - self.certificationRequestInfo = CertificationRequestInfo() - self.signatureAlgorithm = AlgorithmIdentifier() - self.signatureValue = AltBitString() - contents = [ self.certificationRequestInfo, self.signatureAlgorithm, self.signatureValue ] - Sequence.__init__(self, contents, optional, default) - - def sign(self, rsa, digestType): - driver = getCryptoDriver() - oid = driver.getOID(digestType) - self.certificationRequestInfo.subjectPublicKeyInfo.fromString(driver.toPublicDER(rsa)) - signedText = driver.sign(rsa, oid, self.certificationRequestInfo.toString()) - self.signatureAlgorithm.set([oid, None]) - self.signatureValue.set(signedText) - - def verify(self): - driver = getCryptoDriver() - oid = self.signatureAlgorithm.get()[0] - rsa = driver.fromPublicDER(self.certificationRequestInfo.subjectPublicKeyInfo.toString()) - return driver.verify(rsa, oid, self.certificationRequestInfo.toString(), self.signatureValue.get()) - - def getExtensions(self): - oid = self.certificationRequestInfo.attributes.oid.get() - if oid is None: - return () - if oid != (1, 2, 840, 113549, 1, 9, 14) or \ - self.certificationRequestInfo.attributes.val.choice != "set" or \ - len(self.certificationRequestInfo.attributes.val.choices["set"]) > 1: - raise DerError, "failed to understand X.501 Attribute encoding, sorry: %s" % self.get() - return self.certificationRequestInfo.attributes.val.choices["set"][0].get() - - def getExtension(self, oid): - for x in self.getExtensions(): - if x[0] == oid: - return x - return None - - def setExtensions(self, exts): - self.certificationRequestInfo.attributes.oid.set((1, 2, 840, 113549, 1, 9, 14)) - self.certificationRequestInfo.attributes.val.set(("set", [exts])) - -#---------- PKCS10 ----------# -#---------- GeneralNames object support ----------# -class OtherName(Sequence): - def __init__(self, optional=0, default=''): - self.typeId = Oid() - self.any = Any() - contents = [self.typeId, self.any] - Sequence.__init__(self, contents, optional, default) - -class EdiPartyName(Sequence): - def __init__(self, optional=0, default=''): - self.nameAssigner = DirectoryString() - self.partyName = DirectoryString() - self.explicitNameAssigner = Explicit( CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.nameAssigner, 1 ) - self.explicitPartyName = Explicit( CLASS_CONTEXT, FORM_CONSTRUCTED, 1, self.partyName ) - contents = [ self.explicitNameAssigner, self.explicitPartyName ] - Sequence.__init__(self, contents, optional, default) - -class IpAddress(OctetString): - pass - -class GeneralName(Choice): - def __init__(self, optional=0, default=''): - - otherName = OtherName() - otherName.implied( CLASS_CONTEXT, FORM_CONSTRUCTED, 0 ) - rfc822Name = IA5String() - rfc822Name.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 1 ) - dnsName = IA5String() - dnsName.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 2 ) - directoryName = Name() - explicitDirectoryName = Explicit( CLASS_CONTEXT, FORM_CONSTRUCTED, 4, directoryName) - ediPartyName = EdiPartyName() - ediPartyName.implied( CLASS_CONTEXT, FORM_CONSTRUCTED, 5 ) - uri = IA5String() - uri.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 6 ) - ipAddress = IpAddress() - ipAddress.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 7 ) - registeredId = Oid() - registeredId.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 8 ) - - choices = { 'otherName' : otherName , - 'rfc822Name' : rfc822Name , - 'dNSName' : dnsName , - 'directoryName' : explicitDirectoryName , - 'ediPartyName' : ediPartyName , - 'uri' : uri , - 'iPAddress' : ipAddress , - 'registeredId' : registeredId } - - Choice.__init__(self, choices, optional, default) - -class GeneralNames(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, GeneralName, optional, default) - -#---------- GeneralNames object support ----------# -#---------- X509v3 extensions ----------# - -_addFragment(''' -<class> - <header> - <name>BasicConstraints</name> - <super>Sequence</super> - </header> - <body> - <para> - This little extension has recently caused plenty of problems for - several large organisations. It consist of a - <classname>Boolean</classname> and an - <classname>Integer</classname>. The first indicates if the owner - is a CA, the second indicates how long a chain of CAs you should - trust which the subject of this certificate trusts. - </para> - <example> - <title>Setting <classname>BasicConstraints</classname></title> - <programlisting> - bc = BasicConstraints() - bc.set( (1, 1) ) - </programlisting> - </example> - </body> -</class> -''') -class BasicConstraints(Sequence): - _addFragment(''' - <constructor> - <header> - <memberof>BasicConstraints</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - self.ca = Boolean(0, 'AQEA\n') - self.pathLenConstraint = Integer(1) - contents = [self.ca, self.pathLenConstraint] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>KeyUsage</name> - <super>BitString</super> - </header> -</class> -''') -class KeyUsage(BitString): - pass - -_addFragment(''' -<class> - <header> - <name>SubjectAltName</name> - <super>GeneralNames</super> - </header> -</class> -''') -class SubjectAltName(GeneralNames): - pass - -_addFragment(''' -<class> - <header> - <name>IssuerAltName</name> - <super>GeneralNames</super> - </header> -</class> -''') -class IssuerAltName(GeneralNames): - pass - -_addFragment(''' -<class> - <header> - <name>SubjectKeyIdentifier</name> - <super>OctetString</super> - </header> -</class> -''') -class SubjectKeyIdentifier(OctetString): - pass - -_addFragment(''' -<class> - <header> - <name>AuthorityKeyIdentifier</name> - <super>Sequence</super> - </header> - <body> - <para> - </para> - <example> - <title>Setting <classname>AuthorityKeyIdentifier</classname></title> - <programlisting> - id = AuthorityKeyIdentifier() - authdigest = POW.Digest( POW.SHA1_DIGEST ) - authdigest.update(rsa.derWrite(POW.RSA_PUBLIC_KEY)) - keyHash = authdigest.digest() - id.set( (keyHash, None, None) ) - </programlisting> - </example> - </body> - -</class> -''') -class AuthorityKeyIdentifier(Sequence): - _addFragment(''' - <constructor> - <header> - <memberof>AuthorityKeyIdentifier</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - self.keyIdentifier = OctetString(1) - self.keyIdentifier.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 0 ) - self.authorityCertIssuer = GeneralNames(1) - self.authorityCertIssuer.implied( CLASS_CONTEXT, FORM_CONSTRUCTED, 1 ) - self.authorityCertSerialNumber = Integer(1) - self.authorityCertSerialNumber.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 2 ) - contents = [self.keyIdentifier, self.authorityCertIssuer, self.authorityCertSerialNumber] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>PrivateKeyUsagePeriod</name> - <super>Sequence</super> - </header> - <body> - <example> - <title>Setting <classname>PrivateKeyUsagePeriod</classname></title> - <programlisting> - period = PrivateKeyUsagePeriod() - period.set( ( time2gen( time.time() ), None) ) - </programlisting> - </example> - </body> -</class> -''') -class PrivateKeyUsagePeriod(Sequence): - _addFragment(''' - <constructor> - <header> - <memberof>PrivateKeyUsagePeriod</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - self.notBefore = GeneralizedTime() - self.notBefore.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 0 ) - self.notAfter = GeneralizedTime() - self.notAfter.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 1 ) - contents = [self.notBefore, self.notAfter] - Sequence.__init__(self, contents, optional, default) - -class DisplayText(Choice): - def __init__(self, optional=0, default=''): - choices = { 'visibleString' : VisibleString(), - 'bmpString' : BmpString(), - 'utf8String' : Utf8String() } - - Choice.__init__(self, choices, optional, default) - -class NoticeNumbers(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, Integer, optional, default) - -class NoticeReference(Sequence): - def __init__(self, optional=0, default=''): - self.organization = DisplayText() - self.noticeNumbers = NoticeNumbers() - contents = [self.organization, self.noticeNumbers] - Sequence.__init__(self, contents, optional, default) - -class UserNotice(Sequence): - def __init__(self, optional=0, default=''): - self.noticeRef = NoticeReference(1) - self.explicitText = DisplayText(1) - contents = [self.noticeRef, self.explicitText] - Sequence.__init__(self, contents, optional, default) - -class Qualifier(Choice): - def __init__(self, optional=0, default=''): - choices = { 'cPSuri' : IA5String(), - 'userNotice' : UserNotice() } - - Choice.__init__(self, choices, optional, default) - -class PolicyQualifierInfo(Sequence): - def __init__(self, optional=0, default=''): - self.policyQualifierId = Oid() - self.qualifier = Qualifier() - contents = [self.policyQualifierId, self.qualifier] - Sequence.__init__(self, contents, optional, default) - -class PolicyQualifiers(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, PolicyQualifierInfo, optional, default) - -class PolicyInformation(Sequence): - def __init__(self, optional=0, default=''): - self.policyIdentifier = Oid() - self.policyQualifiers = PolicyQualifiers(1) - contents = [self.policyIdentifier, self.policyQualifiers] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>CertificatePolicies</name> - <super>SequenceOf</super> - </header> - <body> - <example> - <title>Setting <classname>CertificatePolicies</classname></title> - <programlisting> - data = ( - ( o2i('id-cti-ets-proofOfReceipt'), ( - (o2i('cps'), ('cPSuri', 'http://www.p-s.org.uk/policies/policy1')), - (o2i('unotice'), ( 'userNotice', - ((('visibleString', 'The House'),(1,2,3)), - ('visibleString', 'We guarentee nothing')))), - )), - ( o2i('id-cti-ets-proofOfOrigin'), ( - (o2i('cps'), ('cPSuri', 'http://www.p-s.org.uk/policies/policy2')), - )) - ) - policies = CertificatePolicies() - policies.set( data ) - </programlisting> - </example> - </body> -</class> -''') -class CertificatePolicies(SequenceOf): - _addFragment(''' - <constructor> - <header> - <memberof>CertificatePolicies</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, PolicyInformation, optional, default) - -class DistributionPointName(Choice): - def __init__(self, optional=0, default=''): - fullName = GeneralNames() - fullName.implied( CLASS_CONTEXT, FORM_CONSTRUCTED, 0 ) - nameRelativeToCRLIssuer = RelativeDistinguishedName() - nameRelativeToCRLIssuer.implied( CLASS_CONTEXT, FORM_CONSTRUCTED, 1 ) - - choices = { 'fullName' : fullName, - 'nameRelativeToCRLIssuer ' : nameRelativeToCRLIssuer } - - Choice.__init__(self, choices, optional, default) - -class DistributionPoint(Sequence): - def __init__(self, optional=0, default=''): - self.distributionPoint = DistributionPointName(1) - self.explicitDistributionPoint = Explicit(CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.distributionPoint) - self.reasons = BitString(1) - self.reasons.implied( CLASS_CONTEXT, FORM_PRIMITIVE, 1 ) - self.cRLIssuer = GeneralNames(1) - self.cRLIssuer.implied( CLASS_CONTEXT, FORM_CONSTRUCTED, 2 ) - contents = [self.explicitDistributionPoint, self.reasons, self.cRLIssuer] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>CRLDistrobutionPoints</name> - <super>SequenceOf</super> - </header> - <body> - <example> - <title>Setting <classname>CRLDistrobutionPoints</classname></title> - <programlisting> - n1 = ('directoryName', - ( (( o2i('countryName'), ('printableString', 'UK') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Herts') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Shannon Works') ),) ) ) - - n2 = ('iPAddress', POW.pkix.ip42oct(192,168,100,51)) - - data = ( ( ('fullName',(n1, n2)), (1,1,1,1,1), (n1,) ), ) - points = CRLDistrobutionPoints() - points.set( data ) - </programlisting> - </example> - </body> -</class> -''') -class CRLDistributionPoints(SequenceOf): - _addFragment(''' - <constructor> - <header> - <memberof>CRLDistrobutionPoints</memberof> - <parameter>optional=0</parameter> - <parameter>default=''</parameter> - </header> - </constructor> - ''') - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, DistributionPoint, optional, default) - -_addFragment(''' -<class> - <header> - <name>CrlNumber</name> - <super>Integer</super> - </header> -</class> -''') -class CrlNumber(Integer): - pass - -_addFragment(''' -<class> - <header> - <name>DeltaCrlIndicator</name> - <super>Integer</super> - </header> -</class> -''') -class DeltaCrlIndicator(Integer): - pass - -_addFragment(''' -<class> - <header> - <name>InvalidityDate</name> - <super>GeneralizedTime</super> - </header> -</class> -''') -class InvalidityDate(GeneralizedTime): - pass - -_addFragment(''' -<class> - <header> - <name>CrlReason</name> - <super>Enum</super> - </header> -</class> -''') -class CrlReason(Enum): - pass - -_addFragment(''' -<class> - <header> - <name>IPAddressRange</name> - <super>Sequence</super> - </header> -</class> -''') -class IPAddressRange(Sequence): - def __init__(self, optional=0, default=''): - self.min = BitString() - self.max = BitString() - contents = [ self.min, self.max ] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>IPAddressOrRange</name> - <super>Choice</super> - </header> -</class> -''') -class IPAddressOrRange(Choice): - def __init__(self, optional=0, default=''): - choices = { 'addressPrefix' : BitString(), - 'addressRange' : IPAddressRange() } - Choice.__init__(self, choices, optional, default) - -_addFragment(''' -<class> - <header> - <name>IPAddressesOrRanges</name> - <super>SequenceOf</super> - </header> -</class> -''') -class IPAddressesOrRanges(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, IPAddressOrRange, optional, default) - -_addFragment(''' -<class> - <header> - <name>IPAddressChoice</name> - <super>Choice</super> - </header> -</class> -''') -class IPAddressChoice(Choice): - def __init__(self, optional=0, default=''): - choices = { 'inherit' : Null(), - 'addressesOrRanges' : IPAddressesOrRanges() } - Choice.__init__(self, choices, optional, default) - -_addFragment(''' -<class> - <header> - <name>IPAddressFamily</name> - <super>Sequence</super> - </header> -</class> -''') -class IPAddressFamily(Sequence): - def __init__(self, optional=0, default=''): - self.addressFamily = OctetString() - self.ipAddressChoice = IPAddressChoice() - contents = [ self.addressFamily, self.ipAddressChoice ] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>IPAddrBlocks</name> - <super>SequenceOf</super> - </header> - <body> - <para> - Implementation of RFC 3779 section 2.2.3. - </para> - </body> -</class> -''') -class IPAddrBlocks(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, IPAddressFamily, optional, default) - -_addFragment(''' -<class> - <header> - <name>ASRange</name> - <super>Sequence</super> - </header> -</class> -''') -class ASRange(Sequence): - def __init__(self, optional=0, default=''): - self.min = Integer() - self.max = Integer() - contents = [ self.min, self.max ] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>ASIdOrRange</name> - <super>Choice</super> - </header> -</class> -''') -class ASIdOrRange(Choice): - def __init__(self, optional=0, default=''): - choices = { 'id' : Integer(), - 'range' : ASRange() } - Choice.__init__(self, choices, optional, default) - -_addFragment(''' -<class> - <header> - <name>ASIdsOrRanges</name> - <super>SequenceOf</super> - </header> -</class> -''') -class ASIdsOrRanges(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, ASIdOrRange, optional, default) - -_addFragment(''' -<class> - <header> - <name>ASIdentifierChoice</name> - <super>Choice</super> - </header> -</class> -''') -class ASIdentifierChoice(Choice): - def __init__(self, optional=0, default=''): - choices = { 'inherit' : Null(), - 'asIdsOrRanges' : ASIdsOrRanges() } - Choice.__init__(self, choices, optional, default) - -_addFragment(''' -<class> - <header> - <name>ASIdentifiers</name> - <super>Sequence</super> - </header> - <body> - <para> - Implementation of RFC 3779 section 3.2.3. - </para> - </body> -</class> -''') -class ASIdentifiers(Sequence): - def __init__(self, optional=0, default=''): - # - # This is what we -should- be doing - #self.asnum = ASIdentifierChoice() - #self.rdi = ASIdentifierChoice() - #self.explicitAsnum = Explicit(CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.asnum, 1) - #self.explictRdi = Explicit(CLASS_CONTEXT, FORM_CONSTRUCTED, 1, self.rdi, 1) - #contents = [ self.explicitAsnum, self.explictRdi ] - # - # ...but it generates a spurious empty RDI clause, so try this instead - # since we know that we never use RDI anyway. - self.asnum = ASIdentifierChoice() - self.explicitAsnum = Explicit(CLASS_CONTEXT, FORM_CONSTRUCTED, 0, self.asnum, 1) - contents = [ self.explicitAsnum ] - # - Sequence.__init__(self, contents, optional, default) - - def set(self, values): - assert len(values) == 1 or (len(values) == 2 and values[1] is None) - Sequence.set(self, (values[0],)) - -_addFragment(''' -<class> - <header> - <name>AccessDescription</name> - <super>Sequence</super> - </header> -</class> -''') -class AccessDescription(Sequence): - def __init__(self, optional=0, default=''): - self.accessMethod = Oid() - self.accessLocation = GeneralName() - contents = [ self.accessMethod, self.accessLocation ] - Sequence.__init__(self, contents, optional, default) - -_addFragment(''' -<class> - <header> - <name>AuthorityInfoAccess</name> - <super>SequenceOf</super> - </header> - <body> - <para> - Implementation of RFC 3280 section 4.2.2.1. - </para> - </body> -</class> -''') -class AuthorityInfoAccess(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, AccessDescription, optional, default) - -_addFragment(''' -<class> - <header> - <name>SubjectInfoAccess</name> - <super>SequenceOf</super> - </header> - <body> - <para> - Implementation of RFC 3280 section 4.2.2.2. - </para> - </body> -</class> -''') -class SubjectInfoAccess(SequenceOf): - def __init__(self, optional=0, default=''): - SequenceOf.__init__(self, AccessDescription, optional, default) - -#---------- X509v3 extensions ----------# - -_addFragment(''' -<class> - <header> - <name>Extension</name> - <super>Sequence</super> - </header> - <body> - <para> - This class is a useful little object. It is set by passing three - values: an oid, an integer(a boolean really) and a value. The - boolean indicates if this extension is critical. The value is - used to set the extension once it has been created. The oid - is used to create the correct object which, to be fully supported it must - be one of these: - <simplelist> - <member><classname>basicConstraints</classname></member> - <member><classname>subjectAltName</classname></member> - <member><classname>issuerAltName</classname></member> - <member><classname>authorityKeyIdentifier</classname></member> - <member><classname>privateKeyUsagePeriod</classname></member> - <member><classname>certificatePolicies</classname></member> - <member><classname>cRLDistributionPoints</classname></member> - <member><classname>subjectKeyIdentifier</classname></member> - <member><classname>keyUsage</classname></member> - <member><classname>crlNumber</classname></member> - <member><classname>deltaCrlIndicator</classname></member> - <member><classname>invalidityDate</classname></member> - <member><classname>crlReason</classname></member> - </simplelist> - </para> - <example> - <title>Setting <classname>Extension</classname></title> - <programlisting> - extn = Extension() - email = ('rfc822Name', 'peter_shannon@yahoo.com') - extn.set( (obj2oid('subjectAltName'),1, (email,)) ) - </programlisting> - </example> - </body> -</class> -''') -class Extension(Sequence): - - classMap = { - (2, 5, 29, 19) : BasicConstraints, - (2, 5, 29, 17) : SubjectAltName, - (2, 5, 29, 18) : IssuerAltName, - (2, 5, 29, 35) : AuthorityKeyIdentifier, - (2, 5, 29, 16) : PrivateKeyUsagePeriod, - (2, 5, 29, 32) : CertificatePolicies, - (2, 5, 29, 31) : CRLDistributionPoints, - (2, 5, 29, 14) : SubjectKeyIdentifier, - (2, 5, 29, 15) : KeyUsage, - (2, 5, 29, 20) : CrlNumber, - (2, 5, 29, 27) : DeltaCrlIndicator, - (2, 5, 29, 24) : InvalidityDate, - (2, 5, 29, 21) : CrlReason, - (1, 3, 6, 1, 5, 5, 7, 1, 1) : AuthorityInfoAccess, - (1, 3, 6, 1, 5, 5, 7, 1, 7) : IPAddrBlocks, - (1, 3, 6, 1, 5, 5, 7, 1, 8) : ASIdentifiers, - (1, 3, 6, 1, 5, 5, 7, 1, 11) : SubjectInfoAccess, - } -# Missing -- fix later -# extendedKeyUsage -# privateKeyUsagePeriod -# policyMappings -# nameConstraints -# policyConstraints -# subjectDirectoryAttributes -# instructionCode -# issuingDistrobutionPoint - - def __init__(self, optional=0, default=''): - self.extnID = Oid() - self.critical = Boolean(0, 'AQEA') - self.extnValue = OctetString() - contents = [self.extnID, self.critical, self.extnValue] - Sequence.__init__(self, contents, optional, default) - - _addFragment(''' - <method> - <header> - <memberof>Extension</memberof> - <name>set</name> - <parameter>values</parameter> - </header> - <body> - <para> - <parameter>values</parameter> should be a sequence of three - values, the oid, critical marker and a value to set the - extension. If an unknown oid is passed to this function it - will raise an exception. <parameter>critical</parameter> is a - boolean. <parameter>value</parameter> will be used to set the - extension after it has been created. - </para> - </body> - </method> - ''') - def set(self, (oid, critical, val) ): - self.extnID.set( oid ) - self.critical.set( critical ) - - extnObj = None - if self.classMap.has_key(oid): - extnObj = self.classMap[oid]() - else: - if not (isinstance(oid, types.TupleType) or isinstance(oid, types.ListType)): - raise DerError, 'the oid should be specified as a sequence of integers' - else: - raise DerError, 'unknown object extension %s' % oid - - try: - extnObj.set( val ) - self.extnValue.set( extnObj.toString() ) - except DerError, e: - raise DerError, 'failed to set %s, with:\n\t%s\nresulting in:\n\t%s' % (oid, val, `e`) - - _addFragment(''' - <method> - <header> - <memberof>Extension</memberof> - <name>get</name> - </header> - <body> - <para> - There are several ways this function might fail to decode an - extension. Firstly if the extension was marked critical but if - the oid cannot be mapped to a class or If a failure occurs decoding the - <constant>extnValue</constant>, an exception will be raised. - If a failure occurred and the extension was not marked critical it - will return a tuple like this: <constant>(oid, critical, - ())</constant>. If no failures occur a tuple will be returned, - containg the oid, critical and extension values. - </para> - </body> - </method> - ''') - def get(self): - oid = self.extnID.get() - critical = self.critical.get() - - if self.classMap.has_key(oid): - extnObj = self.classMap[oid]() - else: - if critical: - raise DerError, 'failed to read critical extension %s' % str(oid) - else: - return (oid, critical, ()) - - try: - extnObj = self.classMap[oid]() - extnObj.fromString(self.extnValue.get()) - value = extnObj.get() - except: - if critical: - raise DerError, 'failed to read critical extension %s' % str(oid) - else: - return (oid, critical, ()) - - return (oid, critical, value) diff --git a/pow/POW-0.7/pkix-m2crypto-driver.py b/pow/POW-0.7/pkix-m2crypto-driver.py deleted file mode 100644 index 61dabac7..00000000 --- a/pow/POW-0.7/pkix-m2crypto-driver.py +++ /dev/null @@ -1,42 +0,0 @@ -# $Id$ - -"""Crypto driver for POW.pkix using M2Crypto. - -This driver is part of an attempt to salvage the (really nice) -POW.pkix code from the POW package. I like POW well enough, but it's -old and missing some pieces and the Python world seems to have moved -to M2Crypto. But M2Crypto has nothing like POW.pkix, so I whacked -together an interface to let POW.pkix run over other crypto packages. - -This module is a driver for M2Crypto. -""" - -# NB: Module names may change eventually - -import POW.pkix - -class M2CryptoCryptoDriver(POW.pkix.CryptoDriver): - """Dispatcher for crypto calls using M2Crypto package.""" - - def __init__(self): - import M2Crypto - self.driver2OID = { - "md5" : (1, 2, 840, 113549, 1, 1, 4), # md5WithRSAEncryption - "sha1" : (1, 2, 840, 113549, 1, 1, 5), # sha1withRSAEncryption - "ripemd160" : (1, 2, 840, 113549, 1, 1, 6), # ripemd160WithRSAEncryption - "sha256" : (1, 2, 840, 113549, 1, 1, 11), # sha256WithRSAEncryption - } - self.OID2driver = dict((v,k) for k,v in self.driver2OID.iteritems()) - - def sign(self, key, oid, plaintext): - digest = M2Crypto.EVP.MessageDigest(self.OID2driver[oid]) - digest.update(plaintext) - return key.sign(digest.final(), self.OID2driver[oid]) - - def verify(self, key, oid, plaintext, signature): - return key.verify(plaintext, signature, self.OID2driver[oid]) - - def keyDER(self, key): - bio = M2Crypto.BIO.MemoryBuffer() - key.save_key_der_bio(bio) - return bio.read() diff --git a/pow/POW-0.7/setup.py b/pow/POW-0.7/setup.py deleted file mode 100644 index 8a9ec00f..00000000 --- a/pow/POW-0.7/setup.py +++ /dev/null @@ -1,48 +0,0 @@ -# [sra] Changes here are specific to the RPKI project, in order to get POW linked -# against a copy of the OpenSSL libraries with the right options enabled. -# Unlike the other changes to this package, I don't expect this one to be -# useful to other POW users. - -from distutils.core import setup, Extension -import sys, os, cfgparse - -print 'parsing configuration file' -oidinfo = cfgparse.Parser('dumpasn1.cfg') -print 'writing object module' -oidinfo.dumpobjs('lib/_objects.py') -print 'writing oid module' -oidinfo.dumpoids('lib/_oids.py') - -# Setting -rpath to point to the OpenSSL build directory is temporary. -# Once we figure out how and where to install this stuff, we'll need -# to adjust this to point to the installation location. We wouldn't -# be using shared libraries at all except for a GNU linker bug. Ick. - -openssl_dir = os.path.realpath(os.path.join(os.getcwd(), "../../openssl/openssl")) - -library_dirs = [ openssl_dir ] -include_dirs = [ openssl_dir + "/include" ] -libraries = [ "ssl", "crypto" ] -extra_link_args = [ "-Wl,-rpath", openssl_dir ] - -setup(name = 'POW', - version = '0.7', - description = 'Python OpenSSL Wrappers', - author = 'Peter Shannon', - author_email = 'peter_shannon@yahoo.com', - license = 'BSD', - url = 'http://www.sourceforge.net/projects/pow', - packages = ['POW'], - package_dir = {'POW':'lib'}, - ext_modules = [ Extension('POW._POW', - ['POW.c'], - libraries = libraries, -# library_dirs = library_dirs, -# include_dirs = include_dirs, -# extra_link_args = extra_link_args, - extra_compile_args = list(os.environ["AC_CFLAGS"].split()), - extra_link_args = list(os.environ["AC_LDFLAGS"].split()) - ) ]) - -os.remove('lib/_objects.py') -os.remove('lib/_oids.py') diff --git a/pow/POW-0.7/test/test.py b/pow/POW-0.7/test/test.py deleted file mode 100755 index a2070df5..00000000 --- a/pow/POW-0.7/test/test.py +++ /dev/null @@ -1,2128 +0,0 @@ -#!/usr/bin/env python - -#*****************************************************************************# -#* *# -#* Copyright (c) 2002, Peter Shannon *# -#* All rights reserved. *# -#* *# -#* Redistribution and use in source and binary forms, with or without *# -#* modification, are permitted provided that the following conditions *# -#* are met: *# -#* *# -#* * Redistributions of source code must retain the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer. *# -#* *# -#* * Redistributions in binary form must reproduce the above *# -#* copyright notice, this list of conditions and the following *# -#* disclaimer in the documentation and/or other materials *# -#* provided with the distribution. *# -#* *# -#* * The name of the contributors may be used to endorse or promote *# -#* products derived from this software without specific prior *# -#* written permission. *# -#* *# -#* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *# -#* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *# -#* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *# -#* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS *# -#* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *# -#* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *# -#* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *# -#* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *# -#* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *# -#* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *# -#* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *# -#* *# -#*****************************************************************************# - -import unittest, POW.pkix, POW._oids, base64, sys, os, socket, time, types, string, StringIO, pprint - -if not os.path.isdir('working'): - os.mkdir('working') - -DEBUG = 0 - -o2i = POW.pkix.obj2oid - -def wo(mystring): - file = open('test.der', 'w') - file.write(mystring) - file.close() - -def checkValue(constructor, val1): - obj1 = constructor() - obj1.set(val1) - io = obj1.toString() - if DEBUG: - file = open('test.der', 'w') - obj1.write(file) - file.close() - - obj2 = constructor() - obj2.fromString(io) - val2 = obj2.get() - if val2 == val1: - return 1 - else: - if DEBUG: - print 'read result:', val2 - return 0 - -class DerEncodingTestCase(unittest.TestCase): - 'a small suite of tests for the most complex codings' - - def booleanTest(self): - 'test boolean support' - print - self.failUnless( checkValue(POW.pkix.Boolean, 1), 'true was not presereved correctly') - self.failUnless( checkValue(POW.pkix.Boolean, 0), 'false was not presereved correctly') - - def integerTest(self): - 'test integer support' - print - for i in range(-5000, 5000): - print 'checking codings for', i - self.failUnless( checkValue(POW.pkix.Integer, i), '%i was not presereved correctly' % i) - - def oidTest(self): - 'test oid support' - print - for oid in POW._oids.data.keys(): - print 'checking codings for', oid - self.failUnless( checkValue(POW.pkix.Oid, oid), '%s was not presereved correctly' % `oid`) - - def bitStringTest(self): - 'test bitstring support' - values = [ - (0,), (1,), (0,0), (0,1), (1,0), (1,1), (0,1,0,1,0), (0,0,0,0,0,0,0), - (1,1,1,1,1,1,1,), (0,0,0,0,0,0,0,0), (1,1,1,1,1,1,1,1), - (0,0,0,0,0,0,0,0,0), (1,1,1,1,1,1,1,1,1,) - ] - print - for val in values: - print 'checking codings for', val - self.failUnless( checkValue(POW.pkix.BitString, val), '%s was not presereved correctly' % `val`) - - -class ComplexDerTestCase(unittest.TestCase): - '''a suite of tests for testing encoding of defaults, optional, explicit, - implied and choice objects''' - - def emptySeqTest(self): - 'checking coding of empty sequence object' - seq = POW.pkix.Sequence([]) - try: - seq.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - self.failUnless(seq.toString() == '0\x00', 'empty sequence encoded incorrectly') - seq.fromString(seq.toString()) - self.failUnless(seq.get() == (), 'empty sequence decoded incorrectly') - self.failUnless(seq.toString() == '0\x00', 'empty sequence encoded incorrectly') - - def seqOfSimpleTest(self): - 'checking coding of basic sequence object' - seq = POW.pkix.Sequence([ POW.pkix.Integer(), POW.pkix.Boolean(), POW.pkix.T61String() ]) - try: - seq.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - values = (64, 1, 'Hello World') - seq.set( values ) - self.failUnless(seq.toString() == '0\x13\x02\x01@\x01\x01\xff\x14\x0bHello World', 'sequence of basic encoded incorrectly') - seq.fromString(seq.toString()) - self.failUnless(seq.get() == values, 'sequence of basic decoded incorrectly') - self.failUnless(seq.toString() == '0\x13\x02\x01@\x01\x01\xff\x14\x0bHello World', 'sequence of basic encoded incorrectly') - - def seqOfSeqTest(self): - 'checking coding of sequence of sequence object' - seqa = POW.pkix.Sequence([ POW.pkix.Integer(), POW.pkix.Boolean(), POW.pkix.T61String() ]) - seqb = POW.pkix.Sequence([ seqa, POW.pkix.Integer(), POW.pkix.Boolean() ]) - try: - seqb.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - values = ((64, 1, 'Hello World'), 128, 0) - seqb.set( values ) - self.failUnless(seqb.toString() == '0\x1c0\x13\x02\x01@\x01\x01\xff\x14\x0bHello World\x02\x02\x00\x80\x01\x01\x00', - 'sequence of sequence encoded incorrectly') - seqb.fromString(seqb.toString()) - self.failUnless(seqb.get() == values, 'sequence of sequence decoded incorrectly') - self.failUnless(seqb.toString() == '0\x1c0\x13\x02\x01@\x01\x01\xff\x14\x0bHello World\x02\x02\x00\x80\x01\x01\x00', - 'sequence of sequence encoded incorrectly') - - def seqOfSimpleWithOptionalTest(self): - 'checking coding of sequence of basic objects with optional object' - seq = POW.pkix.Sequence([ POW.pkix.Integer(1), POW.pkix.Boolean(), POW.pkix.T61String() ]) - try: - seq.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - values = (None, 1, 'Hello World') - seq.set(values) - self.failUnless(seq.toString() == '0\x10\x01\x01\xff\x14\x0bHello World', 'sequence of basic with optional encoded incorrectly') - seq.fromString(seq.toString()) - self.failUnless(seq.get() == values, 'sequence of basic with optional decoded incorrectly') - self.failUnless(seq.toString() == '0\x10\x01\x01\xff\x14\x0bHello World', 'sequence of basic with optional encoded incorrectly') - - def seqOfSimpleWithDefaultTest(self): - 'checking coding of sequence of basic objects with default object' - seq = POW.pkix.Sequence([ POW.pkix.Integer(), POW.pkix.Boolean(), POW.pkix.T61String(0, 'FAtIZWxsbyBXb3JsZA==\n') ]) - try: - seq.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - values = (32, 1, None) - seq.set( values ) - self.failUnless(seq.toString() == '0\x06\x02\x01 \x01\x01\xff', 'sequence of basic with default encoded incorrectly') - seq.fromString(seq.toString()) - self.failUnless(seq.get() == (32,1,'Hello World'), 'sequence of basic with default decoded incorrectly') - self.failUnless(seq.toString() == '0\x06\x02\x01 \x01\x01\xff', 'sequence of basic with default encoded incorrectly') - - def seqOfOptionalSeqTest(self): - 'checking coding of sequence of optional sequence object' - seq = POW.pkix.Sequence([ POW.pkix.Sequence([POW.pkix.Integer()],1) ]) - try: - seq.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - rep = seq.toString() - self.failUnless(seq.toString() == '0\x00', 'sequence of optional sequence encoded incorrectly') - seq.fromString('0\x00') - self.failUnless(seq.toString() == '0\x00', 'sequence of optional sequence encoded incorrectly') - values = ((64,),) - seq.set( values ) - self.failUnless(seq.toString() == '0\x050\x03\x02\x01@', 'sequence of set optional sequence encoded incorrectly') - seq.fromString(seq.toString()) - self.failUnless(seq.get() == values, 'sequence of set optional sequence decoded incorrectly') - - def seqOfPartiallySetOptionalSeqTest(self): - 'checking coding of sequence of optional sequence objects' - seq = POW.pkix.Sequence([ POW.pkix.Sequence([POW.pkix.Integer(), POW.pkix.Integer()],1) ]) - try: - seq.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(seq.toString() == '0\x00', 'sequence of optional sequence encoded incorrectly') - seq.fromString('0\x00') - self.failUnless(seq.toString() == '0\x00', 'sequence of optional sequence encoded incorrectly') - values = ((7,None),) - seq.set( values ) - self.failUnless(seq.toString() == '0\x00', 'sequence of set optional sequence encoded incorrectly') - seq.fromString(seq.toString()) - values = ((7,14),) - seq.set( values ) - self.failUnless(seq.toString() == '0\x080\x06\x02\x01\x07\x02\x01\x0e', 'sequence of set optional sequence encoded incorrectly') - seq.fromString('0\x080\x06\x02\x01\x07\x02\x01\x0e') - self.failUnless(seq.toString() == '0\x080\x06\x02\x01\x07\x02\x01\x0e', 'sequence of set optional sequence encoded incorrectly') - - - def defaultSeqTest(self): - 'checking coding of default sequence object' - seq = POW.pkix.Sequence([POW.pkix.Integer()], 0, 'MAMCAQc=\n') - try: - seq.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(seq.toString() == '', 'unset default sequence encoded incorrectly') - seq.fromString('') - self.failUnless(seq.toString() == '', 'unset default sequence encoded incorrectly') - values = (64,) - seq.set( values ) - self.failUnless(seq.toString() == '0\x03\x02\x01@', 'set default sequence encoded incorrectly') - seq.reset() - seq.fromString('0\x03\x02\x01@') - self.failUnless(seq.get() == (64,), 'set default sequence decoded incorrectly') - self.failUnless(seq.toString() == '0\x03\x02\x01@', 'set default sequence encoded incorrectly') - - def sequenceOfChoiceTest(self): - 'checking coding of sequence of choice objects' - Time = lambda : POW.pkix.Choice({ 'generalTime' : POW.pkix.GeneralizedTime(), - 'utcTime' : POW.pkix.UtcTime() }) - seq = POW.pkix.Sequence([Time(), Time()]) - try: - seq.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - now = POW.pkix.time2gen(1031669280.1208529) - then = POW.pkix.time2gen(1031669280.1208529 + 60*60*24*365*12) - seq.set( (('generalTime',now),('generalTime',then)) ) - self.failUnless(seq.get() == (('generalTime', '20020910144800Z'), ('generalTime', '20140907144800Z')), - 'sequence of choice encoded incorrectly') - self.failUnless(seq.toString() == '0"\x18\x0f20020910144800Z\x18\x0f20140907144800Z', - 'sequence of choice encoded incorrectly') - self.failUnless(seq.get() == (('generalTime', '20020910144800Z'), ('generalTime', '20140907144800Z')), - 'sequence of choice decoded incorrectly') - - - def seqOfDefaultSeqTest(self): - 'checking coding of sequence of default sequence object' - seq = POW.pkix.Sequence([ POW.pkix.Sequence([POW.pkix.Integer()], 0, 'MAMCAQc=\n') ] ) - try: - seq.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(seq.toString() == '0\x00', 'unset sequence of default sequence encoded incorrectly') - seq.fromString('0\x00') - values = ((128,),) - seq.set( values ) - self.failUnless(seq.toString() == '0\x060\x04\x02\x02\x00\x80', 'set sequence of default sequence encoded incorrectly') - seq.fromString(seq.toString()) - self.failUnless(seq.toString() == '0\x060\x04\x02\x02\x00\x80', 'set sequence of default sequence encoded incorrectly') - self.failUnless(seq.get() == ((128,),), 'set sequence of default sequence decoded incorrectly') - seq.reset() - seq.fromString('0\x00') - self.failUnless(seq.get() == ((7,),), 'default of sequence of default sequence decoded incorrectly') - - def sequenceOfSimpleTest(self): - 'checking coding of basic and empty sequenceOf object' - sqo = POW.pkix.SequenceOf(POW.pkix.Integer) - derval = sqo.toString() - self.failUnless(sqo.toString() == '0\x00', 'empty sequenceOf encoded incorrectly') - sqo.fromString('0\x00') - self.failUnless(sqo.toString() == '0\x00', 'empty sequenceOf encoded incorrectly') - sqo.set( (1,2,3,4) ) - sqo.fromString(derval) - self.failUnless(sqo.get() == (), 'empty sequenceOf decoded incorrectly') - sqo.set( (1,2,3,4) ) - self.failUnless(sqo.toString() == '0\x0c\x02\x01\x01\x02\x01\x02\x02\x01\x03\x02\x01\x04', 'populated sequenceOf encoded incorrectly') - sqo.reset() - sqo.fromString('0\x0c\x02\x01\x01\x02\x01\x02\x02\x01\x03\x02\x01\x04') - self.failUnless(sqo.toString() == '0\x0c\x02\x01\x01\x02\x01\x02\x02\x01\x03\x02\x01\x04', 'populated sequenceOf encoded incorrectly') - self.failUnless(sqo.get() == (1,2,3,4), 'populated sequenceOf decoded incorrectly') - - def defaultSequenceOfTest(self): - 'checking coding of default sequenceOf object' - sqo = POW.pkix.SequenceOf(POW.pkix.Integer,0,'MAwCAQECAQICAQMCAQQ=\n') - try: - sqo.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(sqo.toString() == '', 'unset default sequenceOf encoded incorrectly') - sqo.set(()) - sqo.fromString('') - self.failUnless(sqo.toString() == '', 'unset default sequenceOf encoded incorrectly') - sqo.fromString(sqo.toString()) - self.failUnless(sqo.get() == (1,2,3,4), 'default sequenceOf decoded incorrectly') - sqo.set((24,48) ) - self.failUnless(sqo.toString() == '0\x06\x02\x01\x18\x02\x010', 'populated default sequenceOf encoded incorrectly') - sqo.reset() - sqo.fromString('0\x06\x02\x01\x18\x02\x010') - self.failUnless(sqo.get() == (24,48), 'populated default sequenceOf decoded incorrectly') - self.failUnless(sqo.toString() == '0\x06\x02\x01\x18\x02\x010', 'populated default sequenceOf encoded incorrectly') - - def sequenceOfDefaultSequenceOfTest(self): - 'checking coding of sequence of default sequenceOf object' - seq = POW.pkix.Sequence([ POW.pkix.SequenceOf(POW.pkix.Integer,0,'MAwCAQECAQICAQMCAQQ=\n') ]) - try: - seq.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(seq.toString() == '0\x00', 'unset sequence of default sequenceOf encoded incorrectly') - derval = seq.toString() - seq.set( ((),) ) - seq.fromString(derval) - self.failUnless(seq.get() == ((1,2,3,4),), 'sequence of default sequenceOf decoded incorrectly') - seq.set( ((24,48),) ) - self.failUnless(seq.toString() == '0\x080\x06\x02\x01\x18\x02\x010', 'populated sequence of default sequenceOf encoded incorrectly') - seq.reset() - seq.fromString('0\x080\x06\x02\x01\x18\x02\x010') - self.failUnless(seq.get() == ((24,48),), 'populated sequence of default sequenceOf decoded incorrectly') - self.failUnless(seq.toString() == '0\x080\x06\x02\x01\x18\x02\x010', 'populated sequence of default sequenceOf encoded incorrectly') - - def optionalSequenceOfTest(self): - 'checking coding of optional sequenceOf object' - sqo = POW.pkix.SequenceOf(POW.pkix.Integer,1) - try: - sqo.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(sqo.toString() == '', 'unset optional sequenceOf encoded incorrectly') - sqo.set((24,48) ) - self.failUnless(sqo.toString() == '0\x06\x02\x01\x18\x02\x010', 'set optional sequenceOf encoded incorrectly') - sqo.reset() - sqo.fromString('0\x06\x02\x01\x18\x02\x010') - self.failUnless(sqo.get() == (24,48), 'set optional sequenceOf decoded incorrectly') - self.failUnless(sqo.toString() == '0\x06\x02\x01\x18\x02\x010', 'set optional sequenceOf encoded incorrectly') - - def sequenceOfOptionalSequenceOfTest(self): - 'checking coding of sequence of optional sequenceOf object' - seq = POW.pkix.Sequence([ POW.pkix.SequenceOf(POW.pkix.Integer,1) ]) - try: - seq.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(seq.toString() == '0\x00', 'unset sequence of optional sequenceOf encoded incorrectly') - seq.set( ((1,2,3,4),) ) - self.failUnless(seq.toString() == '0\x0e0\x0c\x02\x01\x01\x02\x01\x02\x02\x01\x03\x02\x01\x04', - 'populated sequence of optional sequenceOf encoded incorrectly') - seq.reset() - seq.fromString('0\x0e0\x0c\x02\x01\x01\x02\x01\x02\x02\x01\x03\x02\x01\x04') - self.failUnless(seq.get() == ((1,2,3,4),), 'populated sequence of optional sequenceOf decoded incorrectly') - - def basicExplicitTest(self): - 'checking coding of basic explicit object' - exp = POW.pkix.Explicit( POW.pkix.CLASS_CONTEXT, POW.pkix.FORM_CONSTRUCTED, 0, POW.pkix.Integer() ) - try: - exp.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - exp.set(1) - self.failUnless(exp.toString() == '\xa0\x03\x02\x01\x01', 'set explicit integer encoded incorrectly') - exp.reset() - exp.fromString('\xa0\x03\x02\x01\x01') - self.failUnless(exp.toString() == '\xa0\x03\x02\x01\x01', 'set explicit integer encoded incorrectly') - self.failUnless(exp.get() == 1, 'set explicit integer decoded incorrectly') - - def defaultExplicitTest(self): - 'checking coding of default explicit object' - exp = POW.pkix.Explicit( POW.pkix.CLASS_CONTEXT, POW.pkix.FORM_CONSTRUCTED, 0, POW.pkix.Integer(), 0, 'oAMCAQE=\n' ) - try: - exp.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(exp.toString() == '', 'unset default epxlicit integer encoded incorrectly') - exp.set(14) - self.failUnless(exp.toString() == '\xa0\x03\x02\x01\x0e', 'set explicit integer encoded incorrectly') - exp.reset() - exp.fromString('\xa0\x03\x02\x01\x0e') - self.failUnless(exp.get() == 14, 'set explicit integer decoded incorrectly') - self.failUnless(exp.toString() == '\xa0\x03\x02\x01\x0e', 'set explicit integer encoded incorrectly') - - def optionalExplicitTest(self): - 'checking coding of optional explicit object' - exp = POW.pkix.Explicit( POW.pkix.CLASS_CONTEXT, POW.pkix.FORM_CONSTRUCTED, 0, POW.pkix.Integer(), 1 ) - try: - exp.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(exp.toString() == '', 'unset default epxlicit integer encoded incorrectly') - exp.set(14) - self.failUnless(exp.toString() == '\xa0\x03\x02\x01\x0e', 'set explicit integer encoded incorrectly') - exp.reset() - exp.fromString('\xa0\x03\x02\x01\x0e') - self.failUnless(exp.get() == 14, 'set explicit integer decoded incorrectly') - self.failUnless(exp.toString() == '\xa0\x03\x02\x01\x0e', 'set explicit integer encoded incorrectly') - - def basicChoiceTest(self): - 'checking coding of basic choice object' - chint = POW.pkix.Integer() - chstring = POW.pkix.OctetString() - chbool = POW.pkix.Boolean() - choices = { 'i' : chint, - 's' : chstring, - 'b' : chbool } - - ch = POW.pkix.Choice(choices) - try: - ch.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - ch.set(('i',7)) - self.failUnless(ch.toString() == '\x02\x01\x07', 'set integer choice encoded incorrectly') - ch.set(('s','Hello World')) - self.failUnless(ch.toString() == '\x04\x0bHello World', 'set octet string choice encoded incorrectly') - ch.set(('b',1)) - self.failUnless(ch.toString() == '\x01\x01\xff', 'set boolean choice encoded incorrectly') - - ch.fromString('\x02\x01\x07') - self.failUnless(ch.get() == ('i',7), 'set integer choice decoded incorrectly') - ch.fromString('\x04\x0bHello World') - self.failUnless(ch.get() == ('s','Hello World'), 'set octet string choice decoded incorrectly') - ch.fromString('\x01\x01\xff') - self.failUnless(ch.get() == ('b',1), 'set integer boolean decoded incorrectly') - - def defaultChoiceTest(self): - 'checking coding of default choice object' - chint = POW.pkix.Integer() - chstring = POW.pkix.OctetString() - chbool = POW.pkix.Boolean() - choices = { 'i' : chint, - 's' : chstring, - 'b' : chbool } - - ch = POW.pkix.Choice(choices,0,'AQH/\n') - try: - ch.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(ch.toString() == '', 'unset default choice encoded incorrectly') - ch.set(('i',7)) - self.failUnless(ch.toString() == '\x02\x01\x07', 'set integer choice encoded incorrectly') - ch.set(('s','Hello World')) - self.failUnless(ch.toString() == '\x04\x0bHello World', 'set octet string choice encoded incorrectly') - - ch.fromString('\x02\x01\x07') - self.failUnless(ch.get() == ('i',7), 'set integer choice decoded incorrectly') - ch.fromString('\x04\x0bHello World') - self.failUnless(ch.get() == ('s','Hello World'), 'set octet string choice decoded incorrectly') - ch.fromString('') - self.failUnless(ch.get() == ('b',1), 'set integer boolean decoded incorrectly') - - def optionalChoiceTest(self): - 'checking coding of optional choice object' - chint = POW.pkix.Integer() - chstring = POW.pkix.OctetString() - chbool = POW.pkix.Boolean() - choices = { 'i' : chint, - 's' : chstring, - 'b' : chbool } - - ch = POW.pkix.Choice(choices,1) - try: - ch.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(ch.toString() == '', 'unset choice encoded incorrectly') - ch.set(('i',7)) - self.failUnless(ch.toString() == '\x02\x01\x07', 'set integer choice encoded incorrectly') - ch.set(('s','Hello World')) - self.failUnless(ch.toString() == '\x04\x0bHello World', 'set octet string choice encoded incorrectly') - ch.set(('b',1)) - self.failUnless(ch.toString() == '\x01\x01\xff', 'set boolean choice encoded incorrectly') - - ch.fromString('') - self.failUnless(ch.get() == None, 'unset choice decoded incorrectly') - ch.fromString('\x02\x01\x07') - self.failUnless(ch.get() == ('i',7), 'set integer choice decoded incorrectly') - ch.fromString('\x04\x0bHello World') - self.failUnless(ch.get() == ('s','Hello World'), 'set octet string choice decoded incorrectly') - ch.fromString('\x01\x01\xff') - self.failUnless(ch.get() == ('b',1), 'set integer boolean decoded incorrectly') - - def choiceWithDefaultElementTest(self): - 'checking coding of choice object with default choice' - chint = POW.pkix.Integer() - chstring = POW.pkix.OctetString(0,'BAtIZWxsbyBXb3JsZA==\n') - chbool = POW.pkix.Boolean() - choices = { 'i' : chint, - 's' : chstring, - 'b' : chbool } - - ch = POW.pkix.Choice(choices) - try: - ch.toString() - except: - self.fail('attempting to write this should not have raised and exception') - pass - self.failUnless(ch.get() == ('s','Hello World'), 'set octet string choice decoded incorrectly') - ch.set(('i',7)) - self.failUnless(ch.toString() == '\x02\x01\x07', 'set integer choice encoded incorrectly') - ch.set(('s','Hello World')) - self.failUnless(ch.toString() == '', 'set octet string choice encoded incorrectly') - ch.set(('b',1)) - self.failUnless(ch.toString() == '\x01\x01\xff', 'set boolean choice encoded incorrectly') - - ch.fromString('\x02\x01\x07') - self.failUnless(ch.get() == ('i',7), 'set integer choice decoded incorrectly') - ch.fromString('\x04\x0bHello World') - self.failUnless(ch.get() == ('s','Hello World'), 'set octet string choice decoded incorrectly') - ch.fromString('\x01\x01\xff') - self.failUnless(ch.get() == ('b',1), 'set integer boolean decoded incorrectly') - -class PkixTestCase(unittest.TestCase): - 'a set of tests to check codings of x509v3 objects' - - def confirmvalues(self, os, ns): - for i in range( len(os) ): - if os[i] != ns[i]: - sys.stderr.write( '%i is faulty!\n' % i ) - sys.stderr.write( `os[i]`+'\n' ) - sys.stderr.write( `ns[i]`+'\n' ) - if isinstance(os[i], types.TupleType): - self.confvalue(os[i], ns[i]) - else: - print '%i is ok!' % i - - def validityTest(self): - 'checking coding of validity object' - v = POW.pkix.Validity() - try: - v.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - now = POW.pkix.time2gen(1031669280.1208529) - v.set( (('generalTime', now),('generalTime', now)) ) - self.failUnless(v.toString() == '0"\x18\x0f20020910144800Z\x18\x0f20020910144800Z', 'set validity encoded incorrectly') - v.fromString('0"\x18\x0f20020910144800Z\x18\x0f20020910144800Z') - self.failUnless(v.get() == (('generalTime', now), ('generalTime', now)), 'set validity encoded incorrectly') - self.failUnless(v.toString() == '0"\x18\x0f20020910144800Z\x18\x0f20020910144800Z', 'set validity encoded incorrectly') - - now = POW.pkix.time2utc(1031669280.1208529) - v.set( (('utcTime', now),('utcTime', now)) ) - self.failUnless(v.toString() == '0\x1e\x17\r020910144800Z\x17\r020910144800Z', 'set validity encoded incorrectly') - v.fromString('0\x1e\x17\r020910144800Z\x17\r020910144800Z') - self.failUnless(v.get() == (('utcTime', now), ('utcTime', now)), 'set validity encoded incorrectly') - self.failUnless(v.toString() == '0\x1e\x17\r020910144800Z\x17\r020910144800Z', 'set validity encoded incorrectly') - - def directoryStringTest(self): - 'checking coding of directoryString object' - d = POW.pkix.DirectoryString() - try: - d.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - - d.set( ('teletexString', 'Hello World') ) - derval = '\x14\x0bHello World' - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - d.fromString(derval) - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - self.failUnless(d.get() == ('teletexString', 'Hello World'), 'set directoryString encoded incorrectly') - - d.set( ('printableString', 'Hello World') ) - derval = '\x13\x0bHello World' - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - d.fromString(derval) - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - self.failUnless(d.get() == ('printableString', 'Hello World'), 'set directoryString encoded incorrectly') - - d.set( ('universalString', 'Hello World') ) - derval = '\x1c\x0bHello World' - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - d.fromString(derval) - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - self.failUnless(d.get() == ('universalString', 'Hello World'), 'set directoryString encoded incorrectly') - - d.set( ('bmpString', 'Hello World') ) - derval = '\x1e\x0bHello World' - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - d.fromString(derval) - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - self.failUnless(d.get() == ('bmpString', 'Hello World'), 'set directoryString encoded incorrectly') - - d.set( ('utf8String', 'Hello World') ) - derval = '\x0c\x0bHello World' - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - d.fromString(derval) - self.failUnless(d.toString() == derval, 'set directoryString encoded incorrectly') - self.failUnless(d.get() == ('utf8String', 'Hello World'), 'set directoryString encoded incorrectly') - - def attributeTypeAndValueTest(self): - 'checking coding of attributeTypeAndValueTest object' - av = POW.pkix.AttributeTypeAndValue() - try: - av.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - av.set( (o2i('commonName'), None ) ) - try: - av.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - av.set( (o2i('commonName'), ('utf8String', None) ) ) - try: - av.toString() - self.fail('attempting to write this should have raised and exception') - except: - pass - - av.set( (o2i('commonName'), ('utf8String', u'Peter Shannon') ) ) - derval = '0\x14\x06\x03U\x04\x03\x0c\rPeter Shannon' - self.failUnless(av.toString() == derval, 'set attributeTypeAndValue encoded incorrectly') - av.fromString(derval) - self.failUnless(av.toString() == derval, 'set attributeTypeAndValue encoded incorrectly') - self.failUnless(av.get() == (o2i('commonName'), ('utf8String', u'Peter Shannon')), 'set attributeTypeAndValue encoded incorrectly') - - - def x509v2Test(self): - 'checking coding of x509v2 object' - cipher = ciphers.getCipher('client') - rsa = cipher[1] - - old = POW.pkix.Certificate() - old.setVersion(1) - old.setSerial(5) - - name = ( (( o2i('countryName'), ('printableString', 'GB') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Hertfordshire') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Client') ),) ) - - old.setIssuer(name) - old.setSubject(name) - - now = ('generalTime', POW.pkix.time2gen( time.time() ) ) - then = ('generalTime', POW.pkix.time2gen(time.time() + 60*60*24*365*12) ) - old.setNotBefore(now) - old.setNotAfter(then) - old.setIssuerUniqueID((1,0,1,0)) - old.setSubjectUniqueID((1,0,0,1)) - old.sign(rsa, POW.MD5_DIGEST) - - new = POW.pkix.Certificate() - new.fromString( old.toString() ) - self.failUnless( new.getVersion() == 1, 'version was not presereved correctly') - self.failUnless( new.getSerial() == 5, 'serial was not presereved correctly') - self.failUnless( new.getNotBefore() == now, 'notBefore was not presereved correctly') - self.failUnless( new.getNotAfter() == then, 'notAfter was not presereved correctly') - self.failUnless( new.getIssuer() == name, 'issuerName was not presereved correctly') - self.failUnless( new.getSubject() == name, 'subjectName was not presereved correctly') - self.failUnless( new.getIssuerUniqueID() == (1,0,1,0), 'issuerUniqueId was not presereved correctly') - self.failUnless( new.getSubjectUniqueID() == (1,0,0,1), 'subjectUniqueId was not presereved correctly') - self.failUnless( new.verify(rsa), 'signed text was not verified') - -# os = old.get() -# ns = new.get() -# self.confirmvalues(os,ns) - - - def x509v3Test(self): - 'checking coding of x509v3 object' - - now = POW.pkix.time2gen( time.time() ) - then = POW.pkix.time2gen(time.time() + 60*60*24*365*12) - cipher = ciphers.getCipher('client') - rsa = cipher[1] - - policy = ( - ( o2i('id-cti-ets-proofOfReceipt'), ( - (o2i('cps'), ('cPSuri', 'http://www.p-s.org.uk/policies/policy1')), - (o2i('unotice'), ('userNotice', ((('visibleString', 'The House'),(1,2,3)), ('visibleString', 'We guarentee nothing')) )), - )), - ( o2i('id-cti-ets-proofOfOrigin'), ( - (o2i('cps'), ('cPSuri', 'http://www.p-s.org.uk/policies/policy2')), - )) - ) - - n1 = ('directoryName', ( (( o2i('countryName'), ('printableString', 'UK') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Herts') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Shannon Works') ),) ) ) - - n2 = ('rfc822Name', 'peter_shannon@yahoo.com') - n3 = ('uri', 'http://www.p-s.org.uk') - n4 = ('iPAddress', POW.pkix.ip42oct(192,168,100,51)) - - points = ( ( ('fullName',(n1, n4)), (1,1,1,1,1), (n1,) ), ) - - authdigest = POW.Digest( POW.SHA1_DIGEST ) - authdigest.update(rsa.derWrite(POW.RSA_PUBLIC_KEY)) - keyHash = authdigest.digest() - - myExtensions = ( - ( o2i('privateKeyUsagePeriod'),0, (now, then)), - ( o2i('keyUsage'),0, (1,1)), - ( o2i('basicConstraints'),0, (0,None)), - ( o2i('subjectKeyIdentifier'),0, keyHash), - ( o2i('certificatePolicies'),0, policy ), - ( o2i('subjectAltName'),0, (n2,)), - ( o2i('issuerAltName'),0, (n1,n2,n3,n4)), - ( o2i('authorityKeyIdentifier'),0, (keyHash, (), None) ), - ( o2i('cRLDistributionPoints'),0, points ), - ) - - old = POW.pkix.Certificate() - old.setVersion(2) - old.setSerial(5) - - name = ( - (( o2i('commonName'), ('printableString', 'Peter Shannon') ),), - ) - - old.setIssuer(name) - old.setSubject(name) - - old.setNotBefore( ('generalTime', now) ) - old.setNotAfter( ( 'generalTime', then) ) - - old.setExtensions( myExtensions ) - old.sign(rsa, POW.MD5_DIGEST) - - new = POW.pkix.Certificate() - new.fromString( old.toString() ) - - extns = new.getExtensions() - -# ns = new.getExtensions() -# self.confirmvalues(myExtensions,ns) - - self.failUnless( new.getVersion() == 2, 'version was not presereved correctly') - self.failUnless( new.getSerial() == 5, 'serial was not presereved correctly') - self.failUnless( new.getIssuer() == name, 'issuerName was not presereved correctly') - self.failUnless( new.getSubject() == name, 'subjectName was not presereved correctly') - self.failUnless( new.getNotBefore()[1] == now, 'notBefore was not presereved correctly') - self.failUnless( new.getNotAfter()[1] == then, 'notAfter was not presereved correctly') - self.failUnless( new.getExtensions() == myExtensions, 'extensions were not presereved correctly') - self.failUnless( new.verify(rsa), 'signed text was not verified') - - def basicConstraintsTest(self): - 'checking coding of basicConstraints' - for val in [(0,0),(0,None), (1,None), (0,1),(0,2),(1,0),(1,1),(1,2)]: - self.failUnless( checkValue(POW.pkix.BasicConstraints, val), '%s was not presereved correctly' % `val`) - - def generalNameTest(self): - 'checking coding of subjectAltName' - values = [ - (('directoryName', ( (( o2i('countryName'), ('printableString', 'UK') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Herts') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Shannon Works') ),), ) - ),), - (('rfc822Name', 'peter_shannon@yahoo.com'),), - (('uri', 'http://www.p-s.org.uk'),), - (('iPAddress', POW.pkix.ip42oct(192,168,100,51)),), - (('registeredId', o2i('countryName')),), - (), - ] - for val in values: - self.failUnless( checkValue(POW.pkix.GeneralNames, val), '%s was not presereved correctly' % `val`) - - def crlv1Test(self): - 'checking coding of CRLv1 object' - now = POW.pkix.time2gen( time.time() ) - then = POW.pkix.time2gen(time.time() + 60*60*24*365*12) - cipher = ciphers.getCipher('client') - rsa = cipher[1] - - old = POW.pkix.CertificateList() - old.setThisUpdate( ('generalTime', now ) ) - - name = ( (( o2i('countryName'), ('printableString', 'GB') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Hertfordshire') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Client') ),) ) - - myRevocations = ( - (1, ('generalTime', now), ()), - (2, ('generalTime', now), ()), - (3, ('generalTime', now), (( o2i('cRLReason'), 0, 1),)) - ) - - old.setIssuer(name) - old.setRevokedCertificates( myRevocations ) - - old.sign(rsa, POW.MD5_DIGEST) - - new = POW.pkix.CertificateList() - new.fromString( old.toString() ) - self.failUnless( new.getVersion() == None, 'version was not presereved correctly') - self.failUnless( new.getThisUpdate()[1] == now, 'thisUpdate was not presereved correctly') - self.failUnless( new.getIssuer() == name, 'issuerName was not presereved correctly') - self.failUnless( new.getRevokedCertificates() == myRevocations, 'revokedCerticates was not presereved correctly') - self.failUnless( new.verify(rsa), 'signed envelope was not presereved correctly') - - -class ExtensionsTestCase(unittest.TestCase): - 'Extentions Tests' - - def extensionManipulationTest(self): - 'Extensions manipulation for X509 object tests' - sc = certs.getCert('server') - basic = POW.pkix.BasicConstraints() - basic.set([1,5]) - sc.addExtension( 'basicConstraints', 0, basic.toString() ) - sc.addExtension( 'basicConstraints', 0, basic.toString() ) - sc.addExtension( 'basicConstraints', 0, basic.toString() ) - self.failUnless( sc.countExtensions() == 3, 'cert should have 3 any extensions') - sc.clearExtensions() - self.failUnless( sc.countExtensions() == 0, 'cert should not have any extensions') - sc.addExtension( 'basicConstraints', 0, basic.toString() ) - basic.set([0,1]) - sc.addExtension( 'basicConstraints', 0, basic.toString() ) - basic = POW.pkix.BasicConstraints() - basic.fromString( sc.getExtension(1)[2] ) - self.failUnless( basic.get() == (0,1), 'incorrect extension handling ') - - def basicConstraintTest(self): - 'Basic constraints tests' - serverCert = certs.getCert('server') - basic = POW.pkix.BasicConstraints() - basic.set([1,5]) - serverCert.addExtension( 'basicConstraints', 0, basic.toString() ) - basic = POW.pkix.BasicConstraints() - basic.fromString( serverCert.getExtension(0)[2] ) - values = basic.get() - self.failUnless( values[0] == 1, 'ca value should be true') - self.failUnless( values[1] == 5, 'pathlen values should be 5') - - def privateKeyUsagePeriodTest(self): - 'Private key usage period tests' - serverCert = certs.getCert('server') - period = POW.pkix.PrivateKeyUsagePeriod() - t1 = POW.pkix.time2gen( time.time() ) - t2 = POW.pkix.time2gen(time.time() + 60*60*24*365 ) - period.set([t1,t2]) - serverCert.addExtension( 'privateKeyUsagePeriod', 0, period.toString() ) - period = POW.pkix.PrivateKeyUsagePeriod() - period.fromString( serverCert.getExtension(0)[2] ) - values = period.get() - self.failUnless( values == (t1,t2), 'private key usage period is incorrect') - - def keyUsageTest(self): - 'privateKeyUsage tests' - serverCert = certs.getCert('server') - usage = POW.pkix.KeyUsage() - usage.set([1,1]) - serverCert.addExtension( 'keyUsage', 0, usage.toString() ) - usage = POW.pkix.KeyUsage() - usage.fromString( serverCert.getExtension(0)[2] ) - values = usage.get() - self.failUnless( values == (1,1), 'bit pattern is incorrect') - - def issuerAltNameTest(self): - 'Issuer Alt Name tests' - n1 = ('directoryName', ( (( o2i('countryName'), ('printableString', 'UK') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Herts') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Shannon Works') ),) ) ) - - n2 = ('rfc822Name', 'peter_shannon@yahoo.com') - n3 = ('uri', 'http://www.p-s.org.uk') - n4 = ('iPAddress', POW.pkix.ip42oct(192,168,100,51)) - - serverCert = certs.getCert('server') - issuer = POW.pkix.IssuerAltName() - issuer.set([n1,n2,n3,n4]) - serverCert.addExtension( 'issuerAltName', 0, issuer.toString() ) - issuer = POW.pkix.IssuerAltName() - issuer.fromString( serverCert.getExtension(0)[2] ) - values = issuer.get() - self.failUnless( values == (n1,n2,n3,n4), 'generalNames are incorrect') - - def subjectAltNameTest(self): - 'Subject Alt Name tests' - n1 = ('directoryName', ( (( o2i('countryName'), ('printableString', 'UK') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Herts') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Shannon Works') ),) ) ) - - n2 = ('rfc822Name', 'peter_shannon@yahoo.com') - n3 = ('uri', 'http://www.p-s.org.uk') - n4 = ('iPAddress', POW.pkix.ip42oct(192,168,100,51)) - - serverCert = certs.getCert('server') - subject = POW.pkix.SubjectAltName() - subject.set([n1,n2,n3,n4]) - serverCert.addExtension( 'subjectAltName', 0, subject.toString() ) - subject = POW.pkix.SubjectAltName() - subject.fromString( serverCert.getExtension(0)[2] ) - values = subject.get() - self.failUnless( values == (n1,n2,n3,n4), 'generalNames are incorrect') - - - def certPolicyTest(self): - 'Certificate Policies tests' - policies=( - ( o2i('id-cti-ets-proofOfReceipt'), ( - (o2i('cps'), ('cPSuri', 'http://www.p-s.org.uk/policies/ps1')), - (o2i('unotice'), ('userNotice', ((('visibleString', 'The House'),(1,2,3)), ('visibleString', 'We guarentee nothing')) )), - )), - ( o2i('id-cti-ets-proofOfOrigin'), ( - (o2i('cps'), ('cPSuri', 'http://www.p-s.org.uk/policies/p2')), - )) - ) - - serverCert = certs.getCert('server') - policy = POW.pkix.CertificatePolicies() - policy.set(policies) - serverCert.addExtension( 'certificatePolicies', 0, policy.toString() ) - policy = POW.pkix.CertificatePolicies() - policy.fromString( serverCert.getExtension(0)[2] ) - values = policy.get() - self.failUnless( values == policies, 'policies are incorrect') - - - -#--------------- Hash test case ---------------# - -class HashTestCase(unittest.TestCase): - 'Hash algorithm tests' - - plainText = 'My extremely silly pass phrase!' - - def _symmetricGeneralTest(self, type, expected=None): - digest = POW.Digest( type ) - digest.update( self.plainText ) - b64Text = base64.encodestring( digest.digest() ) - self.failUnlessEqual( b64Text, expected, 'Digest result incorrect' ) - - def testMd2(self): - 'Generate and check MD2 hash' - self._symmetricGeneralTest( POW.MD2_DIGEST, 'O9VUpKqYAHkCgPyAkclL8g==\n' ) - - def testMd5(self): - 'Generate and check MD5 hash' - self._symmetricGeneralTest( POW.MD5_DIGEST, 'kzb1VPPjrYNNA0gwsoKsQw==\n' ) - - def testSha(self): - 'Generate and check SHA hash' - self._symmetricGeneralTest( POW.SHA_DIGEST, 'ptkIj1ilu9oFTFbP3A6o3KuJL+Q=\n') - - def testSha1(self): - 'Generate and check SHA1 hash' - self._symmetricGeneralTest( POW.SHA1_DIGEST, '7zk06ujVcAWhzREYzY4s4lCw4WQ=\n' ) - - def testRipemd160(self): - 'Generate and check RIPEMD160 hash' - self._symmetricGeneralTest( POW.RIPEMD160_DIGEST, 'R+ve9PdUxqr45duMhG8CBQiahkU=\n' ) - -#--------------- Hash test case ---------------# -#--------------- Hmac test case ---------------# - -class HmacTestCase(unittest.TestCase): - 'HMAC algorithm tests' - - plainText = 'My extremely silly pass phrase!' - password = 'Puny pass word' - - def _symmetricGeneralTest(self, type, expected=None): - hmac = POW.Hmac( type, self.password ) - hmac.update( self.plainText ) - b64Text = base64.encodestring( hmac.mac() ) - self.failUnlessEqual( b64Text, expected, 'HMAC result incorrect' ) - - def testHmacMd2(self): - 'Generate and check MD2 HMAC' - self._symmetricGeneralTest( POW.MD2_DIGEST, 'UgWmfru6kM68GFn3HMmbeg==\n' ) - - def testHmacMd5(self): - 'Generate and check MD5 HMAC' - self._symmetricGeneralTest( POW.MD5_DIGEST, '+l1oP2UbL0dW7L51lw2LSg==\n' ) - - def testHmacSha(self): - 'Generate and check SHA HMAC' - self._symmetricGeneralTest( POW.SHA_DIGEST, 'xuLEZcpj96p2Uo0/Ief1zjUdJdM=\n') - - def testHmacSha1(self): - 'Generate and check SHA1 HMAC' - self._symmetricGeneralTest( POW.SHA1_DIGEST, 'nnT7qPYMHjJ46JXQWmR/Ap0XK2E=\n' ) - - def testHmacRipemd160(self): - 'Generate and check RIPEMD160 HMAC' - self._symmetricGeneralTest( POW.RIPEMD160_DIGEST, 'AeSjVffp5FPIBBtabpD/nwVDz/s=\n' ) - -#--------------- Hmac test case ---------------# -#--------------- Symmetric cipher test case ---------------# - -class SymmetricTestCase(unittest.TestCase): - 'Symmetric algorithm tests' - - password = 'Hello :)' - - plainText = ''' -# Basic system aliases that MUST be present. -postmaster: root -mailer-daemon: postmaster - -# amavis -virusalert: root - -# General redirections for pseudo accounts in /etc/passwd. -administrator: root -daemon: root -lp: root -news: root -uucp: root -games: root -man: root -at: root -postgres: root -mdom: root -amanda: root -ftp: root -wwwrun: root -squid: root -msql: root -gnats: root -nobody: root -''' - - plainText = 'Hello World' - - def _symmetricGeneralTest(self, type): - symmetric = POW.Symmetric( type ) - symmetric.encryptInit( self.password ) - cipherText = symmetric.update( self.plainText ) + symmetric.final() - symmetric.decryptInit( self.password ) - decipheredText = symmetric.update( cipherText ) + symmetric.final() - self.failUnlessEqual( self.plainText, decipheredText, 'decrypted cipher text not equal to original text' ) - - def testDES_ECB(self): - 'Generate and check DES_ECB encrypted text' - self._symmetricGeneralTest( POW.DES_ECB ) - - def testDES_EDE(self): - 'Generate and check DES_EDE encrypted text' - self._symmetricGeneralTest( POW.DES_EDE ) - - def testDES_EDE3(self): - 'Generate and check DES_EDE3 encrypted text' - self._symmetricGeneralTest( POW.DES_EDE3 ) - - def testDES_CFB(self): - 'Generate and check DES_CFB encrypted text' - self._symmetricGeneralTest( POW.DES_ECB ) - - def testDES_EDE_CFB(self): - 'Generate and check DES_EDE_CFB encrypted text' - self._symmetricGeneralTest( POW.DES_EDE_CFB ) - - def testDES_EDE3_CFB(self): - 'Generate and check DES_EDE3_CFB encrypted text' - self._symmetricGeneralTest( POW.DES_EDE3_CFB ) - - def testDES_OFB(self): - 'Generate and check DES_OFB encrypted text' - self._symmetricGeneralTest( POW.DES_OFB ) - - def testDES_EDE_OFB(self): - 'Generate and check DES_EDE_OFB encrypted text' - self._symmetricGeneralTest( POW.DES_EDE_OFB ) - - def testDES_EDE3_OFB(self): - 'Generate and check DES_EDE3_OFB encrypted text' - self._symmetricGeneralTest( POW.DES_EDE3_OFB ) - - def testDES_CBC(self): - 'Generate and check DES_CBC encrypted text' - self._symmetricGeneralTest( POW.DES_CBC ) - - def testDES_EDE_CBC(self): - 'Generate and check DES_EDE_CBC encrypted text' - self._symmetricGeneralTest( POW.DES_EDE_CBC ) - - def testDES_EDE3_CBC(self): - 'Generate and check DES_EDE3_CBC encrypted text' - self._symmetricGeneralTest( POW.DES_EDE3_CBC ) - - def testDESX_CBC(self): - 'Generate and check DESX_CBC encrypted text' - self._symmetricGeneralTest( POW.DESX_CBC ) - - def testRC4(self): - 'Generate and check RC4 encrypted text' - self._symmetricGeneralTest( POW.RC4 ) - - def testRC4_40(self): - 'Generate and check RC4_40 encrypted text' - self._symmetricGeneralTest( POW.DES_EDE3_CBC ) - - def testIDEA_ECB(self): - 'Generate and check IDEA_ECB encrypted text' - self._symmetricGeneralTest( POW.IDEA_ECB ) - - def testIDEA_CFB(self): - 'Generate and check IDEA_CFB encrypted text' - self._symmetricGeneralTest( POW.IDEA_CFB ) - - def testIDEA_OFB(self): - 'Generate and check IDEA_OFB encrypted text' - self._symmetricGeneralTest( POW.IDEA_OFB ) - - def testIDEA_CBC(self): - 'Generate and check IDEA_CBC encrypted text' - self._symmetricGeneralTest( POW.IDEA_CBC ) - - def testRC2_ECB(self): - 'Generate and check RC2_ECB encrypted text' - self._symmetricGeneralTest( POW.RC2_ECB ) - - def testRC2_CBC(self): - 'Generate and check RC2_CBC encrypted text' - self._symmetricGeneralTest( POW.RC2_CBC ) - - def testRC2_40_CBC(self): - 'Generate and check RC2_40_CBC encrypted text' - self._symmetricGeneralTest( POW.RC2_40_CBC ) - - def testRC2_CFB(self): - 'Generate and check RC2_CFB encrypted text' - self._symmetricGeneralTest( POW.RC2_CFB ) - - def testRC2_OFB(self): - 'Generate and check RC2_OFB encrypted text' - self._symmetricGeneralTest( POW.RC2_OFB ) - - def testBF_ECB(self): - 'Generate and check BF_ECB encrypted text' - self._symmetricGeneralTest( POW.BF_ECB ) - - def testBF_CBC(self): - 'Generate and check BF_CBC encrypted text' - self._symmetricGeneralTest( POW.BF_CBC ) - - def testBF_CFB(self): - 'Generate and check BF_CFB encrypted text' - self._symmetricGeneralTest( POW.BF_CFB ) - - def testBF_OFB(self): - 'Generate and check BF_OFB encrypted text' - self._symmetricGeneralTest( POW.BF_OFB ) - - def testCAST5_ECB(self): - 'Generate and check CAST5_ECB encrypted text' - self._symmetricGeneralTest( POW.CAST5_ECB ) - - def testCAST5_CBC(self): - 'Generate and check CAST5_CBC encrypted text' - self._symmetricGeneralTest( POW.CAST5_CBC ) - - def testCAST5_CFB(self): - 'Generate and check CAST5_CFB encrypted text' - self._symmetricGeneralTest( POW.CAST5_CFB ) - - def testCAST5_OFB(self): - 'Generate and check CAST5_OFB encrypted text' - self._symmetricGeneralTest( POW.CAST5_OFB ) - - def testRC5_32_12_16_CBC(self): - 'Generate and check CAST5_OFB encrypted text' - self._symmetricGeneralTest( POW.CAST5_OFB ) - - def testRC5_32_12_16_CFB(self): - 'Generate and check CAST5_OFB encrypted text' - self._symmetricGeneralTest( POW.CAST5_OFB ) - - def testRC5_32_12_16_ECB(self): - 'Generate and check CAST5_OFB encrypted text' - self._symmetricGeneralTest( POW.CAST5_OFB ) - - def testRC5_32_12_16_OFB(self): - 'Generate and check CAST5_OFB encrypted text' - self._symmetricGeneralTest( POW.CAST5_OFB ) - -#--------------- Symmetric cipher test case ---------------# -#--------------- Asymmetric cipher test case ---------------# - -class AsymmetricUtilities: - - keys = { 'client' : { 'priv' : 'working/key1Priv', 'pub' : 'working/key1Pub' }, - 'server' : { 'priv' : 'working/key2Priv', 'pub' : 'working/key2Pub' }, - 'ca' : { 'priv' : 'working/key3Priv', 'pub' : 'working/key3Pub' }, - 'ca2' : { 'priv' : 'working/key4Priv', 'pub' : 'working/key4Pub' }, - 'ca3' : { 'priv' : 'working/key5Priv', 'pub' : 'working/key5Pub' }, - 'server2': { 'priv' : 'working/key6Priv', 'pub' : 'working/key6Pub' } } - - password = 'Silly password' - - def prepCiphers(self): - for entity in self.keys.keys(): - self.makeCipher(entity) - - def unPrepCiphers(self): - for entity in self.keys.keys(): - self.remCipher(entity) - - def getCipher(self, entry): - privFile = open( self.keys[entry]['priv'] ) - pubFile = open( self.keys[entry]['pub'] ) - priv = POW.pemRead( POW.RSA_PRIVATE_KEY,privFile.read(), self.password ) - pub = POW.pemRead( POW.RSA_PUBLIC_KEY, pubFile.read() ) - privFile.close() - pubFile.close() - return (pub, priv) - - def makeCipher(self, entry): - cipher = POW.Asymmetric() - privFile = open( self.keys[entry]['priv'], 'w' ) - pubFile = open( self.keys[entry]['pub'], 'w' ) - privFile.write( cipher.pemWrite( POW.RSA_PRIVATE_KEY, POW.DES_EDE3_CFB, self.password ) ) - pubFile.write( cipher.pemWrite( POW.RSA_PUBLIC_KEY ) ) - privFile.close() - pubFile.close() - - def remCipher(self, entry): - try: os.remove( self.keys[entry]['priv'] ) - except: pass - try: os.remove( self.keys[entry]['pub'] ) - except: pass - -class AsymmetricTestCase(unittest.TestCase): - 'Asymmetric algorithm tests' - - plainText = 'A little text to encrypt!' - - def testPemIo(self): - 'Read and write ciphers in PEM format' - cipher = ciphers.getCipher('client') - public = cipher[0] - private = cipher[1] - pub = public.pemWrite( POW.RSA_PUBLIC_KEY ) - public2 = POW.pemRead( POW.RSA_PUBLIC_KEY, pub ) - priv = private.pemWrite( POW.RSA_PRIVATE_KEY ) - private2 = POW.pemRead( POW.RSA_PRIVATE_KEY, priv ) - priv = private.pemWrite( POW.RSA_PRIVATE_KEY, POW.DES_EDE3_CFB, 'password' ) - private2 = POW.pemRead( POW.RSA_PRIVATE_KEY, priv, 'password' ) - cipherText = public2.publicEncrypt( self.plainText ) - deCiphered = private2.privateDecrypt( cipherText ) - self.failUnlessEqual( self.plainText, deCiphered ) - - def testDerIo(self): - 'Read and write ciphers in DER format' - cipher = ciphers.getCipher('client') - publicKey = cipher[0] - privateKey = cipher[1] - pubDer = publicKey.derWrite( POW.RSA_PUBLIC_KEY ) - publicKey2 = POW.derRead( POW.RSA_PUBLIC_KEY, pubDer ) - privDer = privateKey.derWrite( POW.RSA_PRIVATE_KEY ) - privateKey2 = POW.derRead( POW.RSA_PRIVATE_KEY, privDer) - cipherText = publicKey.publicEncrypt( self.plainText ) - deCiphered = privateKey.privateDecrypt( cipherText ) - self.failUnlessEqual( self.plainText, deCiphered ) - - def testPublicEncrypt(self): - 'Encrypt text using public RSA cipher, decrypt and compare' - cipher = ciphers.getCipher('client') - public = cipher[0] - private = cipher[1] - cipherText = public.publicEncrypt( self.plainText ) - deCiphered = private.privateDecrypt( cipherText ) - self.failUnlessEqual( self.plainText, deCiphered ) - - def testPrivateEncrypt(self): - 'Encrypt text using private RSA cipher, decrypt and compare' - cipher = ciphers.getCipher('client') - public = cipher[0] - private = cipher[1] - cipherText = private.privateEncrypt( self.plainText ) - deCiphered = public.publicDecrypt( cipherText ) - self.failUnlessEqual( self.plainText, deCiphered ) - - def testSign(self): - 'Sign text using private RSA cipher and verify' - cipher = ciphers.getCipher('client') - public = cipher[0] - private = cipher[1] - digest = POW.Digest( POW.SHA1_DIGEST ) - digest.update( self.plainText ) - signedText = private.sign( digest.digest(), POW.SHA1_DIGEST ) - self.failUnless( public.verify( signedText, digest.digest(), POW.SHA1_DIGEST ) ) - -#--------------- Asymmetric cipher test case ---------------# -#--------------- X509 test case ---------------# - -class X509Utilities: - - certs = { 'client' : 'working/cert1', - 'server' : 'working/cert2', - 'ca' : 'working/cert3', - 'ca2' : 'working/cert4', - 'ca3' : 'working/cert5', - 'server2': 'working/cert6' } - - clientName = ( ('C', 'GB'), ('ST', 'Hertfordshire'), - ('O', 'The House'), ('CN', 'Client') ) - - serverName = ( ('C', 'GB'), ('ST', 'Hertfordshire'), - ('O', 'The House'), ('CN', 'Server') ) - - caName = ( ('C', 'GB'), ('ST', 'Hertfordshire'), - ('O', 'The House'), ('CN', 'CA') ) - - ca2Name = ( ('C', 'GB'), ('ST', 'Hertfordshire'), - ('O', 'The House'), ('CN', 'CA2') ) - - ca3Name = ( ('C', 'GB'), ('ST', 'Hertfordshire'), - ('O', 'The House'), ('CN', 'CA3') ) - - server2Name = ( ('C', 'GB'), ('ST', 'Hertfordshire'), - ('O', 'The House'), ('CN', 'server2') ) - - notBefore = POW.pkix.time2utc(1005960447) - notAfter = POW.pkix.time2utc(1037496447) - - caSerial = 0 - serverSerial = 1 - clientSerial = 2 - ca2Serial = 3 - ca3Serial = 4 - server2Serial = 5 - - def __init__(self): - self.asymUtils = AsymmetricUtilities() - self.asymUtils.prepCiphers() - - def prepCerts(self): - for cert in self.certs.keys(): - self.makeCert(cert) - - def unPrepCerts(self): - self.asymUtils.unPrepCiphers() - for cert in self.certs.keys(): - self.remCert(cert) - - def getCert(self, entry): - certFile = open( self.certs[entry] ) - cert = POW.pemRead( POW.X509_CERTIFICATE, certFile.read() ) - certFile.close() - return cert - - def makeCert(self, entry): - caCipher = self.asymUtils.getCipher('ca') - ca2Cipher = self.asymUtils.getCipher('ca2') - ca3Cipher = self.asymUtils.getCipher('ca3') - cert = POW.X509() - #cert.setVersion(2) - - if entry == 'server': - serverCipher = self.asymUtils.getCipher('server') - cert.setIssuer( self.caName ) - cert.setSubject( self.serverName ) - cert.setSerial( self.serverSerial ) - cert.setNotBefore( self.notBefore ) - cert.setNotAfter( self.notAfter ) - cert.setPublicKey( serverCipher[1] ) - cert.sign( caCipher[1] ) - - elif entry == 'client': - clientCipher = self.asymUtils.getCipher('client') - cert.setIssuer( self.caName ) - cert.setSubject( self.clientName ) - cert.setSerial( self.clientSerial ) - cert.setNotBefore( self.notBefore ) - cert.setNotAfter( self.notAfter ) - cert.setPublicKey( clientCipher[0] ) - cert.sign( caCipher[1] ) - - elif entry == 'ca': - cert.setIssuer( self.caName ) - cert.setSubject( self.caName ) - cert.setSerial( self.caSerial ) - cert.setNotBefore( self.notBefore ) - cert.setNotAfter( self.notAfter ) - cert.setPublicKey( caCipher[0] ) - cert.sign( caCipher[1] ) - - elif entry == 'ca2': - cert.setIssuer( self.caName ) - cert.setSubject( self.ca2Name ) - cert.setSerial( self.ca2Serial ) - cert.setNotBefore( self.notBefore ) - cert.setNotAfter( self.notAfter ) - cert.setPublicKey( ca2Cipher[0] ) - cert.sign( caCipher[1] ) - - elif entry == 'ca3': - cert.setIssuer( self.ca2Name ) - cert.setSubject( self.ca3Name ) - cert.setSerial( self.ca3Serial ) - cert.setNotBefore( self.notBefore ) - cert.setNotAfter( self.notAfter ) - cert.setPublicKey( ca3Cipher[0] ) - cert.sign( ca2Cipher[1] ) - - elif entry == 'server2': - server2Cipher = self.asymUtils.getCipher('server2') - cert.setIssuer( self.ca3Name ) - cert.setSubject( self.server2Name ) - cert.setSerial( self.server2Serial ) - cert.setNotBefore( self.notBefore ) - cert.setNotAfter( self.notAfter ) - cert.setPublicKey( server2Cipher[0] ) - cert.sign( ca3Cipher[1] ) - - else: - raise Exception, 'Entry should be ca, ca2, server, server2 or client!' - - certFile = open( self.certs[entry], 'w' ) - certFile.write( cert.pemWrite() ) - certFile.close() - - def remCert(self, entry): - try: os.remove( self.certs[entry] ) - except: pass - -class X509TestCase(unittest.TestCase): - 'X509 tests' - - def testPemIo(self): - 'Read and write certificate in PEM format' - serverCert = certs.getCert('server') - cert = serverCert.pemWrite() - cert2 = POW.pemRead( POW.X509_CERTIFICATE, cert ) - serverCert.getIssuer() - - def testDerIo(self): - 'Read and write certificate in DER format' - serverCert = certs.getCert('server') - cert = serverCert.derWrite() - cert2 = POW.derRead( POW.X509_CERTIFICATE, cert ) - serverCert.getIssuer() - - def testIssuer(self): - 'Check the issuer is correct for server cerficate' - serverCert = certs.getCert('server') - self.failUnlessEqual( certs.caName, serverCert.getIssuer() ) - - def testSubject(self): - 'Check the subject is correct for server cerficate' - serverCert = certs.getCert('server') - self.failUnlessEqual( certs.serverName, serverCert.getSubject() ) - - def testVersion(self): - 'Check version number is correct for server cerficate' - serverCert = certs.getCert('server') - self.failUnlessEqual( 1, serverCert.getSerial() ) - - def testSerial(self): - 'Check serial number is correct for server cerficate' - serverCert = certs.getCert('server') - self.failUnlessEqual( certs.serverSerial, serverCert.getSerial() ) - - def testNotBefore(self): - 'Check notBefore date is correct for server cerficate' - serverCert = certs.getCert('server') - self.failUnlessEqual( certs.notBefore, serverCert.getNotBefore() ) - - def testNotAfter(self): - 'Check notAfter date is correct for server cerficate' - serverCert = certs.getCert('server') - self.failUnlessEqual( certs.notAfter, serverCert.getNotAfter() ) - -#--------------- X509 test case ---------------# -#--------------- X509 Store test case ---------------# - -class X509StoreTestCase(unittest.TestCase): - 'X509 Store tests' - - def testVerify(self): - 'Verify server\'s certificate againtst CA certificate' - caCert = certs.getCert('ca') - serverCert = certs.getCert('server') - - store = POW.X509Store() - store.addTrust( caCert ) - self.failUnless( store.verify( serverCert ) ) - - def testVerifyChain(self): - 'Verify chain of certificate againtst CA certificate' - caCert = certs.getCert('ca') - ca2Cert = certs.getCert('ca2') - ca3Cert = certs.getCert('ca3') - server2Cert = certs.getCert('server2') - - store = POW.X509Store() - store.addTrust( caCert ) - self.failUnless( store.verifyChain( server2Cert, [ca3Cert, ca2Cert ]) ) - - -#--------------- X509 Store test case ---------------# -#--------------- X509 Revoked test case ---------------# - -class X509RevokedTestCase(unittest.TestCase): - 'X509 Store tests' - - serial = 7 - revokedOn = POW.pkix.time2utc(1005960447) - - def testRevoked(self): - 'Create X509 revocation and check values are correct' - rev = POW.X509Revoked( self.serial, self.revokedOn ) - self.failUnlessEqual( rev.getDate(), self.revokedOn ) - self.failUnlessEqual( rev.getSerial(), self.serial ) - -#--------------- X509 Revoked test case ---------------# -#--------------- X509 CRL test case ---------------# - -class X509CrlTestCase(unittest.TestCase): - 'X509 CRL tests' - - revocationData = ( ( 1, POW.pkix.time2utc(1005960447) ), - ( 2, POW.pkix.time2utc(1005960448) ), - ( 3, POW.pkix.time2utc(1005960449) ), - ( 4, POW.pkix.time2utc(1005960450) ), - ( 5, POW.pkix.time2utc(1005960451) ) ) - - thisUpdate = POW.pkix.time2utc(1005960447) - nextUpdate = POW.pkix.time2utc(1037496447) - - version = 2 - - def setUp(self): - self.ca = certs.getCert('ca') - self.caCipher = ciphers.getCipher('ca') - - revocations = [] - for rev in self.revocationData: - revocation = POW.X509Revoked( rev[0], rev[1] ) - revocations.append( revocation ) - - self.crl = POW.X509Crl() - self.crl.setVersion( self.version ) - self.crl.setIssuer( self.ca.getIssuer() ) - self.crl.setThisUpdate( self.thisUpdate ) - self.crl.setNextUpdate( self.nextUpdate ) - self.crl.setRevoked( revocations ) - self.crl.sign( self.caCipher[1] ) - - def tearDown(self): - del self.ca - del self.caCipher - del self.crl - - def testPemIo(self): - 'Read and write CRL in PEM format' - pemCrl = self.crl.pemWrite() - newCrl = POW.pemRead( POW.X509_CRL, pemCrl ) - self.failUnlessEqual( self.version, newCrl.getVersion() ) - - def testDerIo(self): - 'Read and write CRL in DER format' - derCrl = self.crl.derWrite() - newCrl = POW.derRead( POW.X509_CRL, derCrl ) - self.failUnlessEqual( self.version, newCrl.getVersion() ) - - def testVersion(self): - 'Create CRL and check version number is correct' - self.failUnlessEqual( self.version, self.crl.getVersion() ) - - def testIssuer(self): - 'Create CRL and check issuer name is correct' - self.failUnlessEqual( self.ca.getIssuer(), self.crl.getIssuer() ) - - def testThisUpdate(self): - 'Create CRL and check thisUpdate is correct' - self.failUnlessEqual( self.thisUpdate, self.crl.getThisUpdate() ) - - def testNextUpdate(self): - 'Create CRL and check nextUpdate is correct' - self.failUnlessEqual( self.nextUpdate, self.crl.getNextUpdate() ) - - def testRevoked(self): - 'Create CRL and check list of revoked objects is correct' - revokedCerts = self.crl.getRevoked() - for i in range( len(revokedCerts) ): - revocation = revokedCerts[i] - serial = revocation.getSerial() - date = revocation.getDate() - index = serial - 1 - self.failUnlessEqual( self.revocationData[index][0], serial ) - self.failUnlessEqual( self.revocationData[index][1], date ) - - - - def crlIssuerAltNameTest(self): - 'CRL Issuer Alt Name tests' - - n1 = ('directoryName', ( (( o2i('countryName'), ('printableString', 'UK') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Herts') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Shannon Works') ),) ) ) - - n2 = ('rfc822Name', 'peter_shannon@yahoo.com') - n3 = ('uri', 'http://www.p-s.org.uk') - n4 = ('iPAddress', POW.pkix.ip42oct(192,168,100,51)) - - issuer = POW.pkix.IssuerAltName() - issuer.set([n1,n2,n3,n4]) - self.crl.addExtension( 'issuerAltName', 0, issuer.toString() ) - issuer = POW.pkix.IssuerAltName() - issuer.fromString( self.crl.getExtension(0)[2] ) - values = issuer.get() - self.failUnless( values == (n1,n2,n3,n4), 'generalNames are incorrect') - - def crlExtensionManipulationTest(self): - 'Extension manipulation for CRL object tests' - - n1 = ('directoryName', ( (( o2i('countryName'), ('printableString', 'UK') ),), - (( o2i('stateOrProvinceName'), ('printableString', 'Herts') ),), - (( o2i('organizationName'), ('printableString', 'The House') ),), - (( o2i('commonName'), ('printableString', 'Shannon Works') ),) ) ) - - n2 = ('rfc822Name', 'peter_shannon@yahoo.com') - n3 = ('uri', 'http://www.p-s.org.uk') - n4 = ('iPAddress', POW.pkix.ip42oct(192,168,100,51)) - - issuer = POW.pkix.IssuerAltName() - issuer.set((n1,n2,n3,n4)) - self.crl.addExtension( 'issuerAltName', 0, issuer.toString() ) - self.crl.addExtension( 'issuerAltName', 0, issuer.toString() ) - self.failUnless( self.crl.countExtensions() == 2, 'CRL should have 2 any extensions') - self.crl.clearExtensions() - self.failUnless( self.crl.countExtensions() == 0, 'CRL should have no extensions') - self.crl.addExtension( 'issuerAltName', 0, issuer.toString() ) - - issuer = POW.pkix.IssuerAltName() - issuer.fromString( self.crl.getExtension(0)[2] ) - self.failUnless( issuer.get() == (n1,n2,n3,n4), 'incorrect extension handling ') - - - issuer = POW.pkix.IssuerAltName() - issuer.fromString( self.crl.getExtension(0)[2] ) - values = issuer.get() - self.failUnless( values == (n1,n2,n3,n4), 'generalNames are incorrect') - - def revExtensionManipulationTest(self): - 'Extension manipulation for CRL revocation object tests' - invalid = POW.pkix.InvalidityDate() - invalid.set( POW.pkix.time2gen(time.time()) ) - reason = POW.pkix.CrlReason() - reason.set(1) - - revdata = self.revocationData[0] - revo = POW.X509Revoked( revdata[0], revdata[1] ) - revo.addExtension( 'invalidityDate', 0, invalid.toString() ) - revo.addExtension( 'CRLReason', 0, reason.toString() ) - self.failUnless( revo.countExtensions() == 2, 'revocation should have 2 any extensions') - revo.clearExtensions() - self.failUnless( revo.countExtensions() == 0, 'revocation should have no extensions') - revo.addExtension( 'CRLReason', 0, reason.toString() ) - revo.addExtension( 'invalidityDate', 0, invalid.toString() ) - reason = POW.pkix.CrlReason() - reason.fromString( revo.getExtension(0)[2] ) - self.failUnless( reason.get() == 1, 'incorrect extension handling ') - - def revocationExtensionTest(self): - 'CRL Revocation Extension tests' - self.ca = certs.getCert('ca') - self.caCipher = ciphers.getCipher('ca') - - revocations = [] - invalid = POW.pkix.InvalidityDate() - invalid.set( POW.pkix.time2gen(time.time()) ) - reason = POW.pkix.CrlReason() - reason.set(1) - for rev in self.revocationData: - revocation = POW.X509Revoked( rev[0], rev[1] ) - revocation.addExtension( 'invalidityDate', 0, invalid.toString() ) - revocation.addExtension( 'CRLReason', 0, reason.toString() ) - revocations.append( revocation ) - - self.crl = POW.X509Crl() - self.crl.setVersion( self.version ) - self.crl.setIssuer( self.ca.getIssuer() ) - self.crl.setThisUpdate( self.thisUpdate ) - self.crl.setNextUpdate( self.nextUpdate ) - self.crl.setRevoked( revocations ) - self.crl.sign( self.caCipher[1] ) - - - -#--------------- X509 CRL test case ---------------# -#--------------- SSL test case ---------------# - -serverPort = 7777 -clientMsg = 'Message from client to server...' -serverMsg = 'Message from server to client...' - -def serverCertKey(): - cert = certs.getCert('server') - key = ciphers.getCipher('server')[1] - return cert, key - -def clientCertKey(): - cert = certs.getCert('client') - key = ciphers.getCipher('client')[1] - return cert, key - -class SimpleSslServer: - - def __init__(self, test): - cert, key = serverCertKey() - ssl = POW.Ssl( POW.SSLV23_SERVER_METHOD ) - ssl.useCertificate(cert) - ssl.useKey(key) - - sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) - sock.bind( ('', serverPort) ) - sock.listen(1) - conn, addr = sock.accept() - sock.shutdown(0) - sock.close() - ssl.setFd( conn.fileno() ) - ssl.accept() - - msg = ssl.read() - ssl.write(serverMsg) - - while 1: - try: ssl.shutdown(); break - except: time.sleep(1) - - conn.shutdown(0) - conn.close() - test.failUnlessEqual( clientMsg, msg, 'client/server communication failiure' ) - -class ValidatingSslServer: - - def __init__(self, test): - cert, key = serverCertKey() - ssl = POW.Ssl( POW.SSLV23_SERVER_METHOD ) - ssl.useCertificate(cert) - ssl.useKey(key) - ssl.setVerifyMode( POW.SSL_VERIFY_PEER ) - - store = POW.X509Store() - store.addTrust( certs.getCert('ca') ) - - sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) - sock.bind( ('', serverPort) ) - sock.listen(1) - conn, addr = sock.accept() - sock.shutdown(0) - sock.close() - ssl.setFd( conn.fileno() ) - ssl.accept() - - clientCert = ssl.peerCertificate() - - msg = ssl.read() - ssl.write(serverMsg) - - while 1: - try: ssl.shutdown(); break - except: time.sleep(1) - - conn.shutdown(0) - conn.close() - test.failUnless( store.verify( clientCert ), 'client certificate failed verification' ) - -class SslClient: - - def __init__(self, test): - cert, key = clientCertKey() - ssl = POW.Ssl( POW.SSLV23_CLIENT_METHOD ) - ssl.useCertificate(cert) - ssl.useKey(key) - sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) - sock.connect( ('', serverPort) ) - ssl.setFd( sock.fileno() ) - ssl.connect() - - ssl.write(clientMsg) - ssl.read() - - while 1: - try: ssl.shutdown(); break - except: time.sleep(1) - - sock.shutdown(0) - sock.close() - -class ValidatingSslClient: - - def __init__(self, test): - cert, key = clientCertKey() - ssl = POW.Ssl( POW.SSLV23_CLIENT_METHOD ) - ssl.useCertificate(cert) - ssl.useKey(key) - ssl.setVerifyMode( POW.SSL_VERIFY_PEER ) - - store = POW.X509Store() - store.addTrust( certs.getCert('ca') ) - - sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) - sock.connect( ('', serverPort) ) - ssl.setFd( sock.fileno() ) - ssl.connect() - - serverCert = ssl.peerCertificate() - - ssl.write(clientMsg) - ssl.read() - - while 1: - try: ssl.shutdown(); break - except: time.sleep(1) - - sock.shutdown(0) - sock.close() - test.failUnless( store.verify( serverCert ), 'client certificate failed verification' ) - - - -class SslTestCase(unittest.TestCase): - 'SSL tests' - - def testSimple(self): - '''Test client/server communication over SSL''' - global serverPort - serverPort += 1 - pid = os.fork() - if pid: - time.sleep(1) - SimpleSslServer(self) - else: - time.sleep(3) - SslClient(self) - os._exit(0) - - def testClientValidation(self): - '''Request and validate client certificate''' - global serverPort - serverPort += 1 - pid = os.fork() - if pid: - time.sleep(1) - ValidatingSslServer(self) - else: - time.sleep(3) - SslClient(self) - os._exit(0) - - def testServerValidation(self): - '''Request and validate server certificate''' - global serverPort - serverPort += 1 - pid = os.fork() - if pid: - time.sleep(3) - ValidatingSslClient(self) - else: - time.sleep(1) - SimpleSslServer(self) - os._exit(0) - -#--------------- SSL test case ---------------# -#--------------- Test suite generators ---------------# - -def derEncodingTests(): - suite = unittest.TestSuite() - suite.addTest( DerEncodingTestCase('integerTest') ) - suite.addTest( DerEncodingTestCase('oidTest') ) - suite.addTest( DerEncodingTestCase('booleanTest') ) - suite.addTest( DerEncodingTestCase('bitStringTest') ) - return suite - -def complexDerTests(): - suite = unittest.TestSuite() - suite.addTest( ComplexDerTestCase('emptySeqTest') ) - suite.addTest( ComplexDerTestCase('seqOfSimpleTest') ) - suite.addTest( ComplexDerTestCase('seqOfSeqTest') ) - suite.addTest( ComplexDerTestCase('seqOfSimpleWithOptionalTest') ) - suite.addTest( ComplexDerTestCase('seqOfSimpleWithDefaultTest') ) - suite.addTest( ComplexDerTestCase('seqOfOptionalSeqTest') ) - suite.addTest( ComplexDerTestCase('seqOfPartiallySetOptionalSeqTest') ) - suite.addTest( ComplexDerTestCase('defaultSeqTest') ) - suite.addTest( ComplexDerTestCase('sequenceOfChoiceTest') ) - suite.addTest( ComplexDerTestCase('seqOfDefaultSeqTest') ) - suite.addTest( ComplexDerTestCase('sequenceOfSimpleTest') ) - suite.addTest( ComplexDerTestCase('defaultSequenceOfTest') ) - suite.addTest( ComplexDerTestCase('sequenceOfDefaultSequenceOfTest') ) - suite.addTest( ComplexDerTestCase('optionalSequenceOfTest') ) - suite.addTest( ComplexDerTestCase('sequenceOfOptionalSequenceOfTest') ) - suite.addTest( ComplexDerTestCase('basicExplicitTest') ) - suite.addTest( ComplexDerTestCase('defaultExplicitTest') ) - suite.addTest( ComplexDerTestCase('optionalExplicitTest') ) - suite.addTest( ComplexDerTestCase('basicChoiceTest') ) - suite.addTest( ComplexDerTestCase('defaultChoiceTest') ) - suite.addTest( ComplexDerTestCase('optionalChoiceTest') ) - suite.addTest( ComplexDerTestCase('choiceWithDefaultElementTest') ) - return suite - -def pkixTests(): - suite = unittest.TestSuite() - suite.addTest( PkixTestCase('validityTest') ) - suite.addTest( PkixTestCase('directoryStringTest') ) - suite.addTest( PkixTestCase('attributeTypeAndValueTest') ) - suite.addTest( PkixTestCase('x509v2Test') ) - suite.addTest( PkixTestCase('basicConstraintsTest') ) - suite.addTest( PkixTestCase('generalNameTest') ) - suite.addTest( PkixTestCase('x509v3Test') ) - suite.addTest( PkixTestCase('crlv1Test') ) - return suite - -def x509ExtensionSuite(): - suite = unittest.TestSuite() - suite.addTest( ExtensionsTestCase('extensionManipulationTest') ) - suite.addTest( ExtensionsTestCase('basicConstraintTest') ) - suite.addTest( ExtensionsTestCase('privateKeyUsagePeriodTest') ) - suite.addTest( ExtensionsTestCase('keyUsageTest') ) - suite.addTest( ExtensionsTestCase('issuerAltNameTest') ) - suite.addTest( ExtensionsTestCase('subjectAltNameTest') ) - suite.addTest( ExtensionsTestCase('certPolicyTest') ) - return suite - -def hashSuite(): - suite = unittest.TestSuite() - suite.addTest( HashTestCase('testMd2') ) - suite.addTest( HashTestCase('testMd5') ) - suite.addTest( HashTestCase('testSha') ) - suite.addTest( HashTestCase('testSha1') ) - suite.addTest( HashTestCase('testRipemd160') ) - return suite - -def hmacSuite(): - suite = unittest.TestSuite() - suite.addTest( HmacTestCase('testHmacMd2') ) - suite.addTest( HmacTestCase('testHmacMd5') ) - suite.addTest( HmacTestCase('testHmacSha') ) - suite.addTest( HmacTestCase('testHmacSha1') ) - suite.addTest( HmacTestCase('testHmacRipemd160') ) - return suite - -def symmetricSuite(): - suite = unittest.TestSuite() - if 'DES_ECB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_ECB') ) - if 'DES_EDE' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE') ) - if 'DES_EDE3' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE3') ) - if 'DES_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_CFB') ) - if 'DES_EDE_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE_CFB') ) - if 'DES_EDE3_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE3_CFB') ) - if 'DES_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_OFB') ) - if 'DES_EDE_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE_OFB') ) - if 'DES_EDE3_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE3_OFB') ) - if 'DES_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_CBC') ) - if 'DES_EDE_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE_CBC') ) - if 'DES_EDE3_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDES_EDE3_CBC') ) - if 'DESX_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testDESX_CBC') ) - if 'RC4' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC4') ) - if 'RC4_40' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC4_40') ) - if 'IDEA_ECB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testIDEA_ECB') ) - if 'IDEA_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testIDEA_CFB') ) - if 'IDEA_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testIDEA_OFB') ) - if 'IDEA_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testIDEA_CBC') ) - if 'RC2_ECB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC2_ECB') ) - if 'RC2_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC2_CBC') ) - if 'RC2_40_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC2_40_CBC') ) - if 'RC2_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC2_CFB') ) - if 'RC2_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC2_OFB') ) - if 'BF_ECB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testBF_ECB') ) - if 'BF_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testBF_CBC') ) - if 'BF_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testBF_CFB') ) - if 'BF_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testBF_OFB') ) - if 'CAST5_ECB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testCAST5_ECB') ) - if 'CAST5_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testCAST5_CBC') ) - if 'CAST5_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testCAST5_CFB') ) - if 'CAST5_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testCAST5_OFB') ) - if 'RC5_32_12_16_CBC' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC5_32_12_16_CBC') ) - if 'RC5_32_12_16_CFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC5_32_12_16_CFB') ) - if 'RC6_32_12_16_ECB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC5_32_12_16_ECB') ) - if 'RC5_32_12_16_OFB' in POW.__dict__.keys(): - suite.addTest( SymmetricTestCase('testRC5_32_12_16_OFB') ) - return suite - -def asymmetricSuite(): - suite = unittest.TestSuite() - suite.addTest( AsymmetricTestCase('testPemIo') ) - suite.addTest( AsymmetricTestCase('testDerIo') ) - suite.addTest( AsymmetricTestCase('testPublicEncrypt') ) - suite.addTest( AsymmetricTestCase('testPrivateEncrypt') ) - suite.addTest( AsymmetricTestCase('testSign') ) - return suite - -def x509Suite(): - suite = unittest.TestSuite() - suite.addTest( X509TestCase('testPemIo') ) - suite.addTest( X509TestCase('testDerIo') ) - suite.addTest( X509TestCase('testIssuer') ) - suite.addTest( X509TestCase('testSubject') ) - suite.addTest( X509TestCase('testVersion') ) - suite.addTest( X509TestCase('testSerial') ) - suite.addTest( X509TestCase('testNotBefore') ) - suite.addTest( X509TestCase('testNotAfter') ) - return suite - -def x509StoreSuite(): - suite = unittest.TestSuite() - suite.addTest( X509StoreTestCase('testVerify') ) - suite.addTest( X509StoreTestCase('testVerifyChain') ) - return suite - -def x509RevokedSuite(): - suite = unittest.TestSuite() - suite.addTest( X509RevokedTestCase('testRevoked') ) - return suite - -def x509CrlSuite(): - suite = unittest.TestSuite() - suite.addTest( X509CrlTestCase('testPemIo') ) - suite.addTest( X509CrlTestCase('testDerIo') ) - suite.addTest( X509CrlTestCase('testVersion') ) - suite.addTest( X509CrlTestCase('testIssuer') ) - suite.addTest( X509CrlTestCase('testThisUpdate') ) - suite.addTest( X509CrlTestCase('testNextUpdate') ) - suite.addTest( X509CrlTestCase('testRevoked') ) - suite.addTest( X509CrlTestCase('crlIssuerAltNameTest') ) - suite.addTest( X509CrlTestCase('revExtensionManipulationTest') ) - suite.addTest( X509CrlTestCase('revocationExtensionTest') ) - suite.addTest( X509CrlTestCase('crlExtensionManipulationTest') ) - return suite - -def sslSuite(): - suite = unittest.TestSuite() - suite.addTest( SslTestCase('testSimple') ) - suite.addTest( SslTestCase('testClientValidation') ) - suite.addTest( SslTestCase('testServerValidation') ) - return suite - -#--------------- Test suite generators ---------------# -#--------------- main ---------------# - -if __name__ == '__main__': - print '\n\tGenerating RSA keys and certificates to use for testing...\n' - - certs = X509Utilities() - ciphers = certs.asymUtils - certs.prepCerts() - - runner = unittest.TextTestRunner( sys.stderr, 1, 2) - runner.run( derEncodingTests() ) - runner.run( complexDerTests() ) - runner.run( pkixTests() ) - runner.run( hashSuite() ) - runner.run( hmacSuite() ) - runner.run( symmetricSuite() ) - runner.run( asymmetricSuite() ) - runner.run( x509Suite() ) - runner.run( x509StoreSuite() ) - runner.run( x509RevokedSuite() ) - runner.run( x509CrlSuite() ) - runner.run( x509ExtensionSuite() ) - if sys.platform != 'win32': - runner.run( sslSuite() ) - - certs.unPrepCerts() - -#--------------- main ---------------# |