aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2007-07-07 17:04:37 +0000
committerRob Austein <sra@hactrn.net>2007-07-07 17:04:37 +0000
commited43d040bf72c2b8eb9d2cec3444556761b3c606 (patch)
tree57d47ba90cd2c6672f32f0a514c47058e23e3f90
parent2d5c53975e6ddaec9ac3d49a70278fcdd584273d (diff)
Add pow
svn path=/pow/POW-0.7/PKG-INFO; revision=722
-rw-r--r--pow/POW-0.7/PKG-INFO10
-rw-r--r--pow/POW-0.7/POW.c7110
-rw-r--r--pow/POW-0.7/README116
-rwxr-xr-xpow/POW-0.7/cfgparse.py120
-rw-r--r--pow/POW-0.7/docs/POW.pdf17436
-rw-r--r--pow/POW-0.7/docs/POW_pdf.dsl112
-rwxr-xr-xpow/POW-0.7/docs/doc.py52
-rwxr-xr-xpow/POW-0.7/docs/doc.sh13
-rw-r--r--pow/POW-0.7/docs/doc.xsl188
-rw-r--r--pow/POW-0.7/dumpasn1.cfg5276
-rw-r--r--pow/POW-0.7/lib/__init__.py2
-rw-r--r--pow/POW-0.7/lib/_der.py2281
-rw-r--r--pow/POW-0.7/lib/_objects.py5944
-rw-r--r--pow/POW-0.7/lib/_oids.py7102
-rwxr-xr-xpow/POW-0.7/lib/_simpledb.py55
-rwxr-xr-xpow/POW-0.7/lib/pkix.py1685
-rw-r--r--pow/POW-0.7/setup.py38
-rwxr-xr-xpow/POW-0.7/test/test.py2128
-rw-r--r--pow/README22
19 files changed, 49690 insertions, 0 deletions
diff --git a/pow/POW-0.7/PKG-INFO b/pow/POW-0.7/PKG-INFO
new file mode 100644
index 00000000..e77ce266
--- /dev/null
+++ b/pow/POW-0.7/PKG-INFO
@@ -0,0 +1,10 @@
+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
new file mode 100644
index 00000000..f1bdf4f4
--- /dev/null
+++ b/pow/POW-0.7/POW.c
@@ -0,0 +1,7110 @@
+/*****************************************************************************/
+/* */
+/* 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/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>
+#include <openssl/md2.h>
+#include <openssl/sha.h>
+#include <openssl/hmac.h>
+
+#include <time.h>
+
+// semetric 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
+
+// asymmetric ciphers
+#define RSA_CIPHER 1
+#define DSA_CIPHER 2
+#define DH_CIPHER 3
+#define NO_DSA
+#define NO_DH
+
+// digests
+#define MD2_DIGEST 1
+#define MD5_DIGEST 2
+#define SHA_DIGEST 3
+#define SHA1_DIGEST 4
+#define RIPEMD160_DIGEST 5
+
+//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)
+
+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 *SSLErrorObject;
+static PyTypeObject x509type;
+static PyTypeObject x509_storetype;
+static PyTypeObject x509_crltype;
+static PyTypeObject x509_revokedtype;
+static PyTypeObject asymmetrictype;
+static PyTypeObject symmetrictype;
+static PyTypeObject digesttype;
+static PyTypeObject hmactype;
+static PyTypeObject ssltype;
+/*========== Pre-definitions ==========*/
+
+/*========== C stucts ==========*/
+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;
+} ssl_object;
+/*========== C stucts ==========*/
+
+/*========== helper funcitons ==========*/
+
+/*
+ Simple function to install a constant in the module name space.
+*/
+static void
+install_int_const( PyObject *d, char *name, int value )
+{
+ PyObject *v = PyInt_FromLong( (long)value );
+ if (!v || PyDict_SetItemString(d, name, v) )
+ PyErr_Clear();
+
+ Py_XDECREF(v);
+}
+
+int
+docset_helper_add(PyObject *set, char *v)
+{
+ PyObject *value=NULL;
+
+ if ( !(value = PyString_FromString(v) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( PyList_Append( set, value ) != 0)
+ goto error;
+
+ return 1;
+
+error:
+
+ Py_XDECREF(value);
+ return 0;
+}
+
+/*
+ Generate an encrypion envelope. Saves a lot of space having thie case
+ statement in one place.
+*/
+static EVP_CIPHER *
+evp_cipher_factory(int cipher_type)
+{
+ switch(cipher_type)
+ {
+#ifndef 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 NO_RC4
+ case RC4: return EVP_rc4();
+ case RC4_40: return EVP_rc4_40();
+#endif
+#ifndef 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 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 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 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 NO_RC5_32_12_16
+ 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;
+ }
+}
+
+static PyObject *
+ssl_err_factory(int err)
+{
+ switch(err)
+ {
+ case SSL_ERROR_NONE:
+ return Py_BuildValue( "(is)", SSL_ERROR_NONE, "SSL_ERROR_NONE" );
+ case SSL_ERROR_ZERO_RETURN:
+ return Py_BuildValue( "(is)", SSL_ERROR_ZERO_RETURN, "SSL_ERROR_ZERO_RETURN" );
+ case SSL_ERROR_WANT_READ:
+ return Py_BuildValue( "(is)", SSL_ERROR_WANT_READ, "SSL_ERROR_WANT_READ" );
+ case SSL_ERROR_WANT_WRITE:
+ return Py_BuildValue( "(is)", SSL_ERROR_WANT_WRITE, "SSL_ERROR_WANT_WRITE" );
+ case SSL_ERROR_WANT_X509_LOOKUP:
+ return Py_BuildValue( "(is)", SSL_ERROR_WANT_X509_LOOKUP, "SSL_ERROR_WANT_X509_LOOKUP" );
+ case SSL_ERROR_SYSCALL:
+ return Py_BuildValue( "(is)", SSL_ERROR_SYSCALL, "SSL_ERROR_SYSCALL" );
+ case SSL_ERROR_SSL:
+ return Py_BuildValue( "(is)", SSL_ERROR_SSL, "SSL_ERROR_SSL" );
+
+ default:
+ return Py_BuildValue( "(is)", err, "UNKOWN_SSL_ERROR" );
+ }
+}
+
+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;
+ char *valueptr = NULL, *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) ) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ if ( PySequence_Size(pair) != 2 )
+ { PyErr_SetString( SSLErrorObject, "each name entry must have 2 elements" ); goto error; }
+
+ if ( !(type = PySequence_GetItem( pair, 0 ) ) )
+ { PyErr_SetString( PyExc_TypeError, "could not get type string" ); goto error; }
+
+ if ( !PyString_Check(type) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ if ( !( value = PySequence_GetItem( pair, 1 ) ) )
+ { PyErr_SetString( PyExc_TypeError, "could not get value string" ); goto error; }
+
+ if ( !PyString_Check(value) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ typeptr = PyString_AsString(type);
+ valueptr = PyString_AsString(value);
+
+ str_type = ASN1_PRINTABLE_type( valueptr, -1 );
+ if ( !(nid = OBJ_ln2nid(typeptr)) )
+ if ( !(nid = OBJ_sn2nid(typeptr)) )
+ { PyErr_SetString( SSLErrorObject, "unknown ASN1 object" ); goto error; }
+
+ if ( !X509_NAME_add_entry_by_NID( name, nid, str_type, valueptr, strlen(valueptr), -1, 0 ) )
+ { PyErr_SetString( SSLErrorObject, "unable to add name entry" ); goto error; }
+
+ Py_DECREF(pair);
+ Py_DECREF(type);
+ Py_DECREF(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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ for(i=0; i<no_entries; i++)
+ {
+ if ( !(entry = X509_NAME_get_entry( name, i ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get certificate name" ); goto error; }
+
+ if (entry->value->length + 1 > value_len)
+ {
+ if (value)
+ free(value);
+
+ if ( !(value = malloc( entry->value->length + 1 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ 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) ) )
+ { PyErr_SetString( SSLErrorObject, "could not object name" ); goto error; }
+
+ if ( format == SHORTNAME_FORMAT )
+ {
+ nid = OBJ_ln2nid( long_name );
+ short_name = OBJ_nid2sn( nid );
+ py_type = PyString_FromString(short_name);
+ }
+ else if ( format == LONGNAME_FORMAT )
+ py_type = PyString_FromString(long_name);
+ else
+ { PyErr_SetString( SSLErrorObject, "unkown name format" ); goto error; }
+
+ py_value = PyString_FromString(value);
+
+ if ( !(pair = PyTuple_New( 2 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ 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_DECREF( py_value );
+ }
+ }
+ }
+
+ Py_XDECREF(py_type);
+ Py_XDECREF(py_value);
+ Py_XDECREF(result_list);
+ return NULL;
+}
+/*========== 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 ) ) )
+ goto error;
+
+ if( !(self->x509 = PEM_read_bio_X509( in, NULL, NULL, NULL ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load PEM encoded certificate" ); goto error; }
+
+ return self;
+
+error:
+
+ Py_XDECREF(self);
+ return NULL;
+}
+
+static x509_object *
+X509_object_der_read(char *src, int len)
+{
+ x509_object *self;
+ unsigned char *ptr = src;
+
+ if ( !(self = PyObject_New( x509_object, &x509type ) ) )
+ goto error;
+
+ self->x509 = X509_new();
+
+ if( !(d2i_X509( &self->x509, &ptr, len ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load PEM encoded certificate" ); goto error; }
+
+ 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());
+
+ if (format == DER_FORMAT)
+ {
+ if (!i2d_X509_bio(out_bio, self->x509) )
+ { PyErr_SetString( SSLErrorObject, "unable to write certificate" ); goto error; }
+ }
+ else if (format == PEM_FORMAT)
+ {
+ if (!PEM_write_bio_X509(out_bio, self->x509) )
+ { PyErr_SetString( SSLErrorObject, "unable to write certificate" ); goto error; }
+ }
+ else
+ { PyErr_SetString( SSLErrorObject, "internal error, unkown output format" ); goto error; }
+
+ if ( !(len = BIO_ctrl_pending(out_bio) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to get bytes stored in bio" ); goto error; }
+
+ if ( !(buf = malloc(len) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( BIO_read( out_bio, buf, len ) != len )
+ { PyErr_SetString( SSLErrorObject, "unable to write out cert" ); goto error; }
+
+ 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() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !(EVP_PKEY_assign_RSA(pkey, asym->cipher) ) )
+ { PyErr_SetString( SSLErrorObject, "EVP_PKEY assignment error" ); goto error; }
+
+ if ( !(X509_set_pubkey(self->x509,pkey) ) )
+ { PyErr_SetString( SSLErrorObject, "could not set certificate's public key" ); goto error; }
+
+ return Py_BuildValue("");
+
+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"
+" <parameter>digest=MD5_DIGEST</parameter>\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"
+" <member><constant>MD2_DIGEST</constant></member>\n"
+" <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"
+" </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() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if (asym->key_type != RSA_PRIVATE_KEY)
+ { PyErr_SetString( SSLErrorObject, "cannot use this type of key" ); goto error; }
+
+ if ( !(EVP_PKEY_assign_RSA(pkey, asym->cipher) ) )
+ { PyErr_SetString( SSLErrorObject, "EVP_PKEY assignment error" ); goto error; }
+
+ switch (digest)
+ {
+ case MD5_DIGEST:
+ {
+ if (!X509_sign(self->x509, pkey, EVP_md5() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case MD2_DIGEST:
+ {
+ if (!X509_sign(self->x509, pkey, EVP_md2() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case SHA_DIGEST:
+ {
+ if (!X509_sign(self->x509, pkey, EVP_sha() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case SHA1_DIGEST:
+ {
+ if (!X509_sign(self->x509, pkey, EVP_sha1() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case RIPEMD160_DIGEST:
+ {
+ if (!X509_sign(self->x509, pkey, EVP_ripemd160() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ }
+
+ return Py_BuildValue("");
+
+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;
+
+ if ( !(version = X509_get_version( self->x509 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get certificate version" ); goto error; }
+
+ 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 ) )
+ { PyErr_SetString( SSLErrorObject, "could not set certificate version" ); goto error; }
+
+ return Py_BuildValue("");
+
+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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get serial number" ); goto error; }
+
+ if ( (serial = ASN1_INTEGER_get(asn1i) ) == -1 )
+ { PyErr_SetString( SSLErrorObject, "could not convert ASN1 Integer to long" ); goto error; }
+
+ 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() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !ASN1_INTEGER_set( asn1i, serial ) )
+ { PyErr_SetString( SSLErrorObject, "could not set ASN1 integer" ); goto error; }
+
+ if ( !X509_set_serialNumber( self->x509, asn1i ) )
+ { PyErr_SetString( SSLErrorObject, "could not set certificate serial" ); goto error; }
+
+ ASN1_INTEGER_free(asn1i);
+
+ return Py_BuildValue("");
+
+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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get issuers name" ); goto error; }
+
+ if ( !(result_list = X509_object_helper_get_name(name, format) ) )
+ { PyErr_SetString( SSLErrorObject, "failed to produce name list" ); goto error; }
+
+ 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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get issuers name" ); goto error; }
+
+ if ( !(result_list = X509_object_helper_get_name(name, format) ) )
+ { PyErr_SetString( SSLErrorObject, "failed to produce name list" ); goto error; }
+
+ 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) ) )
+ { PyErr_SetString( PyExc_TypeError, "Inapropriate type" ); goto error; }
+
+ if ( !(name = X509_NAME_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !X509_object_helper_set_name(name, name_sequence) )
+ { PyErr_SetString( SSLErrorObject, "unable to set new name" ); goto error; }
+
+ if ( !X509_set_subject_name(self->x509,name) )
+ { PyErr_SetString( SSLErrorObject, "unable to set name" ); goto error; }
+
+ X509_NAME_free(name);
+
+ return Py_BuildValue("");
+
+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) ) )
+ { PyErr_SetString( PyExc_TypeError, "Inapropriate type" ); goto error; }
+
+ if ( !(name = X509_NAME_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !X509_object_helper_set_name(name, name_sequence) )
+ { PyErr_SetString( SSLErrorObject, "unable to set new name" ); goto error; }
+
+ if ( !X509_set_issuer_name(self->x509,name) )
+ { PyErr_SetString( SSLErrorObject, "unable to set name" ); goto error; }
+
+ X509_NAME_free(name);
+
+ return Py_BuildValue("");
+
+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)
+{
+ ASN1_UTCTIME *time;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ return Py_BuildValue("s", self->x509->cert_info->validity->notBefore->data);
+
+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)
+{
+ ASN1_UTCTIME *time=NULL;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ return Py_BuildValue("s", self->x509->cert_info->validity->notAfter->data);
+
+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)
+{
+ //int new_time = 0;
+ char *new_time=NULL;
+
+ if (!PyArg_ParseTuple(args, "s", &new_time))
+ goto error;
+
+ if ( !ASN1_UTCTIME_set_string(self->x509->cert_info->validity->notAfter, new_time) )
+ { PyErr_SetString( SSLErrorObject, "could not set time" ); goto error; }
+
+ return Py_BuildValue("");
+
+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)
+{
+ //int new_time = 0;
+ char *new_time=NULL;
+
+ if (!PyArg_ParseTuple(args, "s", &new_time))
+ goto error;
+
+ if ( !ASN1_UTCTIME_set_string(self->x509->cert_info->validity->notBefore, new_time) )
+ { PyErr_SetString( SSLErrorObject, "could not set time" ); goto error; }
+
+ return Py_BuildValue("");
+
+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;
+ char *name=NULL, *buf=NULL;
+ ASN1_OCTET_STRING *octetString=NULL;
+ X509_EXTENSION *extn=NULL;
+
+ if (!PyArg_ParseTuple(args, "sis", &name, &critical, &buf))
+ goto error;
+
+ if ( !(octetString = M_ASN1_OCTET_STRING_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !ASN1_OCTET_STRING_set(octetString, buf, strlen(buf)) )
+ { PyErr_SetString( SSLErrorObject, "could not set ASN1 Octect string" ); goto error; }
+
+ if ( NID_undef == (nid = OBJ_txt2nid(name) ) )
+ { PyErr_SetString( SSLErrorObject, "extension has unknown object identifier" ); goto error; }
+
+ if ( !( extn = X509_EXTENSION_create_by_NID(NULL, nid, critical, octetString) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to create ASN1 X509 Extension object" ); goto error; }
+
+ if (!self->x509->cert_info->extensions)
+ if ( !(self->x509->cert_info->extensions = sk_X509_EXTENSION_new_null() ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( !sk_X509_EXTENSION_push(self->x509->cert_info->extensions, extn) )
+ { PyErr_SetString( SSLErrorObject, "unable to add extension" ); goto error; }
+
+ return Py_BuildValue("");
+
+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;
+ }
+
+ return Py_BuildValue("");
+
+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);
+ }
+ else
+ return Py_BuildValue("i", 0);
+
+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 [] = "unkown";
+ 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);
+ }
+ else
+ num = 0;
+
+ if (index >= num)
+ { PyErr_SetString( SSLErrorObject, "certificate does not have that many extensions" ); goto error; }
+
+ if ( !(ext = sk_X509_EXTENSION_value(self->x509->cert_info->extensions, index) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get extension" ); goto error; }
+
+ if ( NID_undef == (ext_nid = OBJ_obj2nid(ext->object) ) )
+ { PyErr_SetString( SSLErrorObject, "extension has unknown object identifier" ); goto error; }
+
+ if ( NULL == (ext_ln = OBJ_nid2sn(ext_nid) ) )
+ ext_ln = unknown_ext;
+
+ return Py_BuildValue("sis", ext_ln, ext->critical, ext->value->data );
+
+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) )
+ { PyErr_SetString( SSLErrorObject, "unable to write crl" ); goto error; }
+
+ if ( !(len = BIO_ctrl_pending(out_bio) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to get bytes stored in bio" ); goto error; }
+
+ if ( !(buf = malloc(len) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( (ret = BIO_read( out_bio, buf, len ) ) != len )
+ { PyErr_SetString( SSLErrorObject, "unable to write out cert" ); goto error; }
+
+ 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, 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;
+
+ self = PyObject_New( x509_store_object, &x509_storetype );
+ if (self == 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 result=0;
+
+ if (!PyArg_ParseTuple(args, "O!", &x509type, &x509))
+ goto error;
+
+ X509_STORE_CTX_init( &csc, self->store, x509->x509, NULL );
+ result = X509_verify_cert( &csc );
+
+ X509_STORE_CTX_cleanup( &csc );
+
+ return Py_BuildValue("i", result);
+
+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, *tmpX509=NULL;
+ STACK_OF(X509) *x509_stack=NULL;
+ int result=0, size=0, i=0;
+
+ if (!PyArg_ParseTuple(args, "O!O", &x509type, &x509, &x509_sequence))
+ goto error;
+
+ if ( !( PyTuple_Check( x509_sequence ) || PyList_Check(x509_sequence) ) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ size = PySequence_Size( x509_sequence );
+
+ if (!(x509_stack = sk_X509_new_null() ) )
+ { PyErr_SetString( SSLErrorObject, "could not create new x509 stack" ); goto error; }
+
+ for (i=0; i < size; i++)
+ {
+ if ( !( tmpX509 = (x509_object*)PySequence_GetItem( x509_sequence, i ) ) )
+ goto error;
+
+ if ( !X_X509_Check( tmpX509 ) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ if (!sk_X509_push( x509_stack, tmpX509->x509 ) )
+ { PyErr_SetString( SSLErrorObject, "could not add x509 to stack" ); goto error; }
+ Py_DECREF(tmpX509);
+ tmpX509 = NULL;
+ }
+
+ X509_STORE_CTX_init( &csc, self->store, x509->x509, x509_stack );
+ result = X509_verify_cert( &csc );
+
+ X509_STORE_CTX_cleanup( &csc );
+ sk_X509_free(x509_stack);
+ return Py_BuildValue("i", result);
+
+error:
+
+ if(x509_stack)
+ sk_X509_free(x509_stack);
+
+ Py_XDECREF(tmpX509);
+
+ return NULL;
+}
+
+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 );
+
+ return Py_BuildValue("");
+
+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 );
+
+ return Py_BuildValue("");
+
+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},
+ {"addTrust", (PyCFunction)x509_store_object_add_trust, METH_VARARGS, NULL},
+ {"addCrl", (PyCFunction)x509_store_object_add_crl, METH_VARARGS, NULL},
+
+ {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;
+
+ self = PyObject_New( x509_crl_object, &x509_crltype );
+ if (self == NULL)
+ goto error;
+
+ if( !(self->crl = PEM_read_bio_X509_CRL( in, NULL, NULL, NULL ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load certificate" ); goto error; }
+
+ return self;
+
+error:
+
+ Py_XDECREF(self);
+ return NULL;
+}
+
+static x509_crl_object *
+x509_crl_object_der_read(char *src, int len)
+{
+ x509_crl_object *self;
+ unsigned char* ptr = src;
+
+ if ( !(self = PyObject_New( x509_crl_object, &x509_crltype ) ) )
+ goto error;
+
+ self->crl = X509_CRL_new();
+
+ if( !(d2i_X509_CRL( &self->crl, &ptr, len ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load PEM encoded CRL" ); goto error; }
+
+ 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 )
+ { PyErr_SetString( SSLErrorObject, "could not get crl version" ); goto error; }
+
+ 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() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !ASN1_INTEGER_set( asn1_version, version ) )
+ { PyErr_SetString( SSLErrorObject, "could not get set version" ); goto error; }
+
+ self->crl->crl->version = asn1_version;
+
+ return Py_BuildValue("");
+
+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) ) )
+ { PyErr_SetString( SSLErrorObject, "failed to produce name list" ); goto error; }
+
+ 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) ) )
+ { PyErr_SetString( PyExc_TypeError, "Inapropriate type" ); goto error; }
+
+ if ( !(name = X509_NAME_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !X509_object_helper_set_name(name, name_sequence) )
+ { PyErr_SetString( SSLErrorObject, "unable to set new name" ); goto error; }
+
+ if ( !X509_NAME_set(&self->crl->crl->issuer,name ) )
+ { PyErr_SetString( SSLErrorObject, "unable to set name" ); goto error; }
+
+ X509_NAME_free(name);
+
+ return Py_BuildValue("");
+
+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)
+{
+ //int new_time = 0;
+ char *new_time=NULL;
+
+ if (!PyArg_ParseTuple(args, "s", &new_time))
+ goto error;
+
+ if ( !ASN1_UTCTIME_set_string(self->crl->crl->lastUpdate,new_time) )
+ { PyErr_SetString( SSLErrorObject, "could not set time" ); goto error; }
+
+ return Py_BuildValue("");
+
+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 Py_BuildValue("s", self->crl->crl->lastUpdate->data);
+
+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)
+{
+ //int new_time = 0;
+ char *new_time=NULL;
+ ASN1_UTCTIME *time=NULL;
+
+ if (!PyArg_ParseTuple(args, "s", &new_time))
+ goto error;
+
+ if (self->crl->crl->nextUpdate == NULL)
+ if ( !(time = ASN1_UTCTIME_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ self->crl->crl->nextUpdate = time;
+
+ if (!ASN1_UTCTIME_set_string(time, new_time) )
+ { PyErr_SetString( SSLErrorObject, "could not set next update" ); goto error; }
+
+
+ return Py_BuildValue("");
+
+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 Py_BuildValue("s", self->crl->crl->nextUpdate->data);
+
+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((int (*)())i2d_X509_REVOKED,
+ (char *(*)())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;
+ STACK_OF(X509_REVOKED) *revoked_stack = 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) ) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ revoked_stack = self->crl->crl->revoked;
+
+ size = PySequence_Size( revoked_sequence );
+ for (i=0; i < size; i++)
+ {
+ if ( !( revoked = (x509_revoked_object*)PySequence_GetItem( revoked_sequence, i ) ) )
+ goto error;
+
+ if ( !X_X509_revoked_Check( revoked ) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ if ( !(tmp_revoked = X509_REVOKED_dup( revoked->revoked ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if (!sk_X509_REVOKED_push( revoked_stack, tmp_revoked ) )
+ { PyErr_SetString( SSLErrorObject, "could not add revokation to stack" ); goto error; }
+
+ Py_DECREF(revoked);
+ revoked = NULL;
+ }
+
+ return Py_BuildValue("");
+
+error:
+
+ Py_XDECREF(revoked);
+
+ return NULL;
+}
+
+static PyObject *
+x509_crl_object_helper_get_revoked(STACK_OF(X509_REVOKED) *revoked)
+{
+ int no_entries=0, inlist=0, i=0;
+ X509_REVOKED *revoke_tmp=NULL;
+ x509_revoked_object *revoke_obj=NULL;
+ PyObject *item=NULL, *result_list=NULL, *result_tuple=NULL;
+
+ no_entries = sk_X509_REVOKED_num( revoked );
+
+ if ( !(result_list = PyList_New(0) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ for(i=0; i<no_entries; i++)
+ {
+ if ( !(revoke_obj = PyObject_New( x509_revoked_object, &x509_revokedtype ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !(revoke_tmp = sk_X509_REVOKED_value( revoked, i ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get revocation" ); goto error; }
+
+ revoke_obj->revoked = revoke_tmp;
+
+ if ( PyList_Append( result_list, (PyObject*)revoke_obj ) != 0)
+ goto error;
+
+ revoke_obj = NULL; revoke_tmp = NULL;
+ }
+
+ result_tuple = PyList_AsTuple( result_list );
+ Py_DECREF(result_list);
+
+ return Py_BuildValue("O", result_tuple);
+
+error:
+
+ if (result_list)
+ {
+ inlist = PyList_Size( result_list );
+ for (i=0; i < inlist; i++)
+ {
+ item = PyList_GetItem( result_list, i );
+ Py_DECREF(item);
+ }
+ Py_DECREF(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)
+{
+ PyObject *revoked = NULL;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ revoked = x509_crl_object_helper_get_revoked( X509_CRL_get_REVOKED(self->crl) );
+
+ return revoked;
+
+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;
+ char *name=NULL, *buf=NULL;
+ ASN1_OCTET_STRING *octetString=NULL;
+ X509_EXTENSION *extn=NULL;
+
+ if (!PyArg_ParseTuple(args, "sis", &name, &critical, &buf))
+ goto error;
+
+ if ( !(octetString = M_ASN1_OCTET_STRING_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !ASN1_OCTET_STRING_set(octetString, buf, strlen(buf)) )
+ { PyErr_SetString( SSLErrorObject, "could not set ASN1 Octect string" ); goto error; }
+
+ if ( NID_undef == (nid = OBJ_txt2nid(name) ) )
+ { PyErr_SetString( SSLErrorObject, "extension has unknown object identifier" ); goto error; }
+
+ if ( !( extn = X509_EXTENSION_create_by_NID(NULL, nid, critical, octetString) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to create ASN1 X509 Extension object" ); goto error; }
+
+ if (!self->crl->crl->extensions)
+ if ( !(self->crl->crl->extensions = sk_X509_EXTENSION_new_null() ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( !sk_X509_EXTENSION_push(self->crl->crl->extensions, extn) )
+ { PyErr_SetString( SSLErrorObject, "unable to add extension" ); goto error; }
+
+ return Py_BuildValue("");
+
+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;
+ }
+
+ return Py_BuildValue("");
+
+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);
+ }
+ else
+ return Py_BuildValue("i", 0);
+
+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 [] = "unkown";
+ 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);
+ }
+ else
+ num = 0;
+
+ if (index >= num)
+ { PyErr_SetString( SSLErrorObject, "certificate does not have that many extensions" ); goto error; }
+
+ if ( !(ext = sk_X509_EXTENSION_value(self->crl->crl->extensions, index) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get extension" ); goto error; }
+
+ if ( NID_undef == (ext_nid = OBJ_obj2nid(ext->object) ) )
+ { PyErr_SetString( SSLErrorObject, "extension has unknown object identifier" ); goto error; }
+
+ if ( NULL == (ext_ln = OBJ_nid2sn(ext_nid) ) )
+ ext_ln = unknown_ext;
+
+ return Py_BuildValue("sis", ext_ln, ext->critical, ext->value->data );
+
+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"
+" <member><constant>MD2_DIGEST</constant></member>\n"
+" <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"
+" </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() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if (asym->key_type != RSA_PRIVATE_KEY)
+ { PyErr_SetString( SSLErrorObject, "cannot use this type of key" ); goto error; }
+
+ if ( !(EVP_PKEY_assign_RSA(pkey, asym->cipher) ) )
+ { PyErr_SetString( SSLErrorObject, "EVP_PKEY assignment error" ); goto error; }
+
+ switch (digest)
+ {
+ case MD5_DIGEST:
+ {
+ if (!X509_CRL_sign(self->crl, pkey, EVP_md5() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case MD2_DIGEST:
+ {
+ if (!X509_CRL_sign(self->crl, pkey, EVP_md2() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case SHA_DIGEST:
+ {
+ if (!X509_CRL_sign(self->crl, pkey, EVP_sha() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case SHA1_DIGEST:
+ {
+ if (!X509_CRL_sign(self->crl, pkey, EVP_sha1() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ case RIPEMD160_DIGEST:
+ {
+ if (!X509_CRL_sign(self->crl, pkey, EVP_ripemd160() ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign certificate" ); goto error; }
+ break;
+ }
+ }
+
+ return Py_BuildValue("");
+
+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)
+{
+ int result=0;
+ EVP_PKEY *pkey=NULL;
+ asymmetric_object *asym;
+
+ if (!PyArg_ParseTuple(args, "O!", &asymmetrictype, &asym))
+ goto error;
+
+ if ( !(pkey = EVP_PKEY_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !(EVP_PKEY_assign_RSA(pkey, asym->cipher) ) )
+ { PyErr_SetString( SSLErrorObject, "EVP_PKEY assignment error" ); goto error; }
+
+ result = X509_CRL_verify(self->crl,pkey);
+
+ return Py_BuildValue("i", result);
+
+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());
+
+ if (format == DER_FORMAT)
+ {
+ if (!i2d_X509_CRL_bio(out_bio, self->crl) )
+ { PyErr_SetString( SSLErrorObject, "unable to write certificate" ); goto error; }
+ }
+ else if (format == PEM_FORMAT)
+ {
+ if (!PEM_write_bio_X509_CRL(out_bio, self->crl) )
+ { PyErr_SetString( SSLErrorObject, "unable to write certificate" ); goto error; }
+ }
+ else
+ { PyErr_SetString( SSLErrorObject, "internal error, unkown output format" ); goto error; }
+
+ if ( !(len = BIO_ctrl_pending(out_bio) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to get bytes stored in bio" ); goto error; }
+
+ if ( !(buf = malloc(len) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( (ret = BIO_read( out_bio, buf, len ) ) != len )
+ { PyErr_SetString( SSLErrorObject, "unable to write out cert" ); goto error; }
+
+ 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) )
+ { PyErr_SetString( SSLErrorObject, "unable to write crl" ); goto error; }
+
+ if ( !(len = BIO_ctrl_pending(out_bio) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to get bytes stored in bio" ); goto error; }
+
+ if ( !(buf = malloc(len) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( (ret = BIO_read( out_bio, buf, len ) ) != len )
+ { PyErr_SetString( SSLErrorObject, "unable to write out cert" ); goto error; }
+
+ 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, 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 ) ) )
+ 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 ) )
+ { PyErr_SetString( SSLErrorObject, "unable to set serial number" ); goto error; }
+
+ return Py_BuildValue("");
+
+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 )
+ { PyErr_SetString( SSLErrorObject, "unable to get serial number" ); goto error; }
+
+ 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 Py_BuildValue("s", self->revoked->revocationDate->data);
+
+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 (!ASN1_UTCTIME_set_string( self->revoked->revocationDate, time ))
+ { PyErr_SetString( PyExc_TypeError, "could not set revocationDate" ); goto error; }
+
+ return Py_BuildValue("");
+
+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;
+ char *name=NULL, *buf=NULL;
+ ASN1_OCTET_STRING *octetString=NULL;
+ X509_EXTENSION *extn=NULL;
+
+ if (!PyArg_ParseTuple(args, "sis", &name, &critical, &buf))
+ goto error;
+
+ if ( !(octetString = M_ASN1_OCTET_STRING_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !ASN1_OCTET_STRING_set(octetString, buf, strlen(buf)) )
+ { PyErr_SetString( SSLErrorObject, "could not set ASN1 Octect string" ); goto error; }
+
+ if ( NID_undef == (nid = OBJ_txt2nid(name) ) )
+ { PyErr_SetString( SSLErrorObject, "extension has unknown object identifier" ); goto error; }
+
+ if ( !( extn = X509_EXTENSION_create_by_NID(NULL, nid, critical, octetString) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to create ASN1 X509 Extension object" ); goto error; }
+
+ if (!self->revoked->extensions)
+ if ( !(self->revoked->extensions = sk_X509_EXTENSION_new_null() ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( !sk_X509_EXTENSION_push(self->revoked->extensions, extn) )
+ { PyErr_SetString( SSLErrorObject, "unable to add extension" ); goto error; }
+
+ return Py_BuildValue("");
+
+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;
+ }
+
+ return Py_BuildValue("");
+
+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);
+ }
+ else
+ return Py_BuildValue("i", 0);
+
+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 [] = "unkown";
+ X509_EXTENSION *ext;
+ if (!PyArg_ParseTuple(args, "i", &index))
+ goto error;
+
+ if (self->revoked->extensions)
+ {
+ num = sk_X509_EXTENSION_num(self->revoked->extensions);
+ }
+ else
+ num = 0;
+
+ if (index >= num)
+ { PyErr_SetString( SSLErrorObject, "certificate does not have that many extensions" ); goto error; }
+
+ if ( !(ext = sk_X509_EXTENSION_value(self->revoked->extensions, index) ) )
+ { PyErr_SetString( SSLErrorObject, "could not get extension" ); goto error; }
+
+ if ( NID_undef == (ext_nid = OBJ_obj2nid(ext->object) ) )
+ { PyErr_SetString( SSLErrorObject, "extension has unknown object identifier" ); goto error; }
+
+ if ( NULL == (ext_ln = OBJ_nid2sn(ext_nid) ) )
+ ext_ln = unknown_ext;
+
+ return Py_BuildValue("sis", ext_ln, ext->critical, ext->value->data );
+
+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, 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)
+ { PyErr_SetString( SSLErrorObject, "cannont be called after setFd()" ); goto error; }
+
+ if ( !SSL_CTX_use_certificate(self->ctx, x509->x509) )
+ { PyErr_SetString( SSLErrorObject, "could not use certificate" ); goto error; }
+
+ return Py_BuildValue("");
+
+error:
+
+ 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)
+ { PyErr_SetString( SSLErrorObject, "cannont be called after setFd()" ); goto error; }
+
+ if ( !(pkey = EVP_PKEY_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if (asym->key_type != RSA_PRIVATE_KEY)
+ { PyErr_SetString( SSLErrorObject, "cannot use this type of key" ); goto error; }
+
+ if ( !EVP_PKEY_assign_RSA(pkey, asym->cipher) )
+ { PyErr_SetString( SSLErrorObject, "EVP_PKEY assignment error" ); goto error; }
+
+ if ( !SSL_CTX_use_PrivateKey(self->ctx, pkey) )
+ { PyErr_SetString( SSLErrorObject, "ctx key assignment error" ); goto error; }
+
+ return Py_BuildValue("");
+
+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)
+{
+ if ( SSL_CTX_check_private_key(self->ctx) )
+ return Py_BuildValue("i", 1);
+ else
+ return Py_BuildValue("i", 0);
+}
+
+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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to create ssl sturcture" ); goto error; }
+
+ if ( !SSL_set_fd( self->ssl, fd ) )
+ { PyErr_SetString( SSLErrorObject, "unable to set file descriptor" ); goto error; }
+
+ 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
+ { PyErr_SetString( SSLErrorObject, "unable to create ex data index" ); goto error; }
+
+ self->ctxset = 1;
+
+ return Py_BuildValue("");
+
+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, err=0;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = SSL_accept( self->ssl );
+ Py_END_ALLOW_THREADS
+
+ if (ret <= 0)
+ {
+ err = SSL_get_error( self->ssl, ret );
+ PyErr_SetObject(SSLErrorObject, ssl_err_factory( err ) );
+ goto error;
+ }
+ return Py_BuildValue("");
+
+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, err=0;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = SSL_connect( self->ssl );
+ Py_END_ALLOW_THREADS
+
+ if (ret <= 0)
+ {
+ err = SSL_get_error( self->ssl, ret );
+ PyErr_SetObject(SSLErrorObject, ssl_err_factory( err ) );
+ goto error;
+ }
+ return Py_BuildValue("");
+
+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, err=0;
+
+ if (!PyArg_ParseTuple(args, "s#", &msg, &length))
+ goto error;
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = SSL_write( self->ssl, msg, length );
+ Py_END_ALLOW_THREADS
+
+ if (ret <= 0)
+ {
+ err = SSL_get_error( self->ssl, ret );
+ PyErr_SetObject(SSLErrorObject, ssl_err_factory( err ) );
+ goto error;
+ }
+ 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, err=0;
+
+ if (!PyArg_ParseTuple(args, "|i", &len))
+ goto error;
+
+ if ( !(msg = malloc(len) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = SSL_read( self->ssl, msg, len );
+ Py_END_ALLOW_THREADS
+
+ if (ret <= 0)
+ {
+ free(msg);
+ err = SSL_get_error( self->ssl, ret );
+ PyErr_SetObject(SSLErrorObject, ssl_err_factory( err ) );
+ goto error;
+ }
+ else
+ 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 ( !(x509_obj = X509_object_new() ) )
+ { PyErr_SetString( SSLErrorObject, "could not create x509 object" ); goto error; }
+
+ x509 = SSL_get_peer_certificate( self->ssl );
+
+ if (x509)
+ {
+ X509_free( x509_obj->x509 );
+
+ if ( !(x509_obj->x509 = x509 ) )
+ { PyErr_SetString( SSLErrorObject, "could not create x509 object" ); goto error; }
+ return Py_BuildValue("O", x509_obj);
+ }
+ else
+ {
+ Py_XDECREF( x509_obj );
+ return Py_BuildValue("");
+ }
+
+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 (!SSL_clear( self->ssl ) )
+ { PyErr_SetString( SSLErrorObject, "failed to clear ssl connection" ); goto error; }
+
+ return Py_BuildValue("");
+
+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, err=0;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ ret = SSL_shutdown(self->ssl);
+
+ if (ret <= 0)
+ {
+ err = SSL_get_error( self->ssl, ret );
+ PyErr_SetObject(SSLErrorObject, ssl_err_factory( err ) );
+ goto error;
+ }
+
+ return Py_BuildValue("");
+
+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_RECIEVED_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_RECIEVED_SHUTDOWN</constant></member>\n"
+" <member><constant>SSL_SENT_SHUTDOWN</constant> | <constant>SSL_RECIEVED_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;
+
+ 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 inlist=0, i=0;
+ const char *cipher=NULL;
+ PyObject *list=NULL, *name=NULL;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ if (!self->ctxset)
+ { PyErr_SetString( SSLErrorObject, "cannont be called before setFd()" ); goto error; }
+
+ list = PyList_New(0);
+
+ cipher = SSL_get_cipher_list(self->ssl, 0);
+ while (cipher)
+ {
+ if ( !(name = PyString_FromString(cipher) ) )
+ goto error;
+ if ( PyList_Append( list, name ) != 0)
+ goto error;
+ cipher = SSL_get_cipher_list(self->ssl, ++i);
+ }
+ return Py_BuildValue("O", list);
+
+error:
+
+ if (list)
+ {
+ inlist = PyList_Size( list );
+ for (i=0; i < inlist; i++)
+ {
+ name = PyList_GetItem( list, i );
+ Py_DECREF(name);
+ }
+ Py_DECREF(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)) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ if (!self->ctxset)
+ { PyErr_SetString( SSLErrorObject, "cannont be called before setFd()" ); goto error; }
+
+ cipherstr = malloc(8); //very bogus, realloc dosn't work with out 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 ) ) )
+ goto error;
+
+ if ( !PyString_Check(cipher) )
+ { PyErr_SetString( PyExc_TypeError, "inapropriate type" ); goto error; }
+
+ cipherstrlen = strlen(cipherstr);
+ nextstrlen = strlen( PyString_AsString(cipher) );
+
+ if ( !(cipherstr = realloc( cipherstr, cipherstrlen + nextstrlen + 2)) )
+ { PyErr_SetString( PyExc_TypeError, "could allocate memory" ); goto error; }
+
+ if (cipherstrlen)
+ strcat( cipherstr, ":\0" );
+
+ strcat( cipherstr, PyString_AsString(cipher) );
+ Py_DECREF(cipher);
+ cipher = NULL;
+ }
+ SSL_set_cipher_list( self->ssl, cipherstr );
+ free(cipherstr);
+ return Py_BuildValue("");
+
+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)
+ { PyErr_SetString( SSLErrorObject, "cannont be called before setFd()" ); goto error; }
+
+ return Py_BuildValue("s", SSL_get_cipher( self->ssl ));
+
+error:
+
+ return NULL;
+}
+
+static int stub_callback(int preverify_ok, X509_STORE_CTX *ctx)
+{
+ return 1;
+}
+
+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"
+" </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)
+ { PyErr_SetString( SSLErrorObject, "cannont be called after setfd()" ); goto error; }
+
+ SSL_CTX_set_verify( self->ctx, mode, stub_callback );
+
+ return Py_BuildValue("");
+
+error:
+
+ return NULL;
+}
+
+static struct PyMethodDef ssl_object_methods[] = {
+ {"useCertificate", (PyCFunction)ssl_object_use_certificate, 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},
+ {"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, NULL} /* sentinel */
+};
+
+static ssl_object *
+newssl_object(int type)
+{
+ ssl_object *self;
+ SSL_METHOD *method;
+
+
+ if ( !(self = PyObject_NEW(ssl_object, &ssltype) ) )
+ goto error;
+
+ self->ctxset = 0;
+ self->ssl = 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:
+ { PyErr_SetString( SSLErrorObject, "unkown ctx method" ); goto error; }
+
+ }
+
+ if ( !(self->ctx = SSL_CTX_new( method ) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to create new ctx" ); goto error; }
+
+ 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 );
+ 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)
+ { PyErr_SetString( SSLErrorObject, "unsupported cipher" ); goto error; }
+
+ if ( !(self->cipher = RSA_generate_key(key_size,RSA_F4,NULL,NULL) ) )
+ { PyErr_SetString( SSLErrorObject, "could not generate key" ); goto error; }
+
+ 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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load public key" ); goto error; }
+ 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) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load private key" ); goto error; }
+ self->key_type = RSA_PRIVATE_KEY;
+ self->cipher_type = RSA_CIPHER;
+ break;
+ }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unkown key type" ); goto error; }
+ }
+
+ return self;
+
+error:
+
+ Py_XDECREF(self);
+ return NULL;
+}
+
+static asymmetric_object *
+asymmetric_object_der_read(int key_type, 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_RSAPublicKey( NULL, &ptr, len ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load public key" ); goto error; }
+
+ self->key_type = RSA_PUBLIC_KEY;
+ self->cipher_type = RSA_CIPHER;
+ break;
+ }
+ case RSA_PRIVATE_KEY:
+ {
+ if( !(self->cipher = d2i_RSAPrivateKey( NULL, &ptr, len ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not load private key" ); goto error; }
+
+ self->key_type = RSA_PRIVATE_KEY;
+ self->cipher_type = RSA_CIPHER;
+ break;
+ }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unkown key type" ); goto error; }
+ }
+
+ 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()) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to create new BIO" ); goto error; }
+
+ if ( (kstr && !cipher) || (cipher && !kstr) )
+ {PyErr_SetString(SSLErrorObject,"cipher type and key string must both be supplied");goto error;}
+
+
+ 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) )
+ { PyErr_SetString( SSLErrorObject, "unable to write key" ); goto error; }
+ }
+ else
+ {
+ if (!PEM_write_bio_RSAPrivateKey(out_bio, self->cipher, NULL, NULL, 0, NULL, NULL) )
+ { PyErr_SetString( SSLErrorObject, "unable to write key" ); goto error; }
+ }
+ break;
+ }
+ case RSA_PUBLIC_KEY:
+ {
+ if (kstr && cipher)
+ { PyErr_SetString( SSLErrorObject, "public keys should not encrypted" ); goto error; }
+ else
+ {
+ if (!PEM_write_bio_RSA_PUBKEY(out_bio, self->cipher) )
+ { PyErr_SetString( SSLErrorObject, "unable to write key" ); goto error; }
+ }
+ break;
+ }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported key type" ); goto error; }
+ }
+
+ if ( !(len = BIO_ctrl_pending(out_bio) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to get number of bytes in bio" ); goto error; }
+
+ if ( !(buf = malloc(len) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to allocate memory" ); goto error; }
+
+ if ( (ret = BIO_read( out_bio, buf, len ) ) != len )
+ { PyErr_SetString( SSLErrorObject, "unable to write out key" ); goto error; }
+
+ 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) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+ p = buf;
+ if (!i2d_RSAPrivateKey(self->cipher, &buf) )
+ { PyErr_SetString( SSLErrorObject, "unable to write key" ); goto error; }
+ break;
+ }
+ case RSA_PUBLIC_KEY:
+ {
+ len = i2d_RSAPublicKey(self->cipher, NULL);
+ if ( !(buf = malloc(len) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+ p = buf;
+ if (!i2d_RSAPublicKey(self->cipher, &buf) )
+ { PyErr_SetString( SSLErrorObject, "unable to write key" ); goto error; }
+ break;
+ }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported key type" ); goto error; }
+ }
+
+ 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)
+{
+ char *plain_text=NULL, *cipher_text=NULL;
+ int len=0, size=0;
+ PyObject *obj=NULL;
+
+ switch( self->cipher_type )
+ {
+ case RSA_CIPHER:
+ {
+ if (!PyArg_ParseTuple(args, "s#", &plain_text, &len))
+ goto error;
+
+ size = RSA_size(self->cipher);
+ if ( len > size )
+ { PyErr_SetString( SSLErrorObject, "plain text is too long" ); goto error; }
+
+ if ( !(cipher_text = malloc( size + 16 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( (len = RSA_public_encrypt( len, plain_text, cipher_text, self->cipher, RSA_PKCS1_PADDING ) ) < 0 )
+ { PyErr_SetString( SSLErrorObject, "could not encrypt plain text" ); goto error; }
+ break;
+ }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported cipher type" ); goto error; }
+ }
+
+ 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)
+{
+ char *plain_text=NULL, *cipher_text=NULL;
+ int len=0, size=0;
+ PyObject *obj=NULL;
+
+ if ( !(self->key_type == RSA_PRIVATE_KEY) )
+ { PyErr_SetString( SSLErrorObject, "cannot perform private encryption with this key" ); goto error; }
+
+ if (!PyArg_ParseTuple(args, "s#", &plain_text, &len) )
+ goto error;
+
+ size = RSA_size(self->cipher);
+ if ( len > size )
+ { PyErr_SetString( SSLErrorObject, "plain text is too long" ); goto error; }
+
+ if ( !(cipher_text = malloc( size + 16 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( (len = RSA_private_encrypt( len, plain_text, cipher_text, self->cipher, RSA_PKCS1_PADDING ) ) < 0 )
+ { PyErr_SetString( SSLErrorObject, "could not encrypt plain text" ); goto error; }
+
+ 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)
+{
+ char *plain_text=NULL, *cipher_text=NULL;
+ int len=0, size=0;
+ PyObject *obj=NULL;
+
+ switch( self->cipher_type )
+ {
+ case RSA_CIPHER:
+ {
+ if (!PyArg_ParseTuple(args, "s#", &cipher_text, &len))
+ goto error;
+
+ size = RSA_size(self->cipher);
+ if ( len > size )
+ { PyErr_SetString( SSLErrorObject, "cipher text is too long" ); goto error; }
+
+ if ( !(plain_text = malloc( size + 16 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( (len = RSA_public_decrypt( len, cipher_text, plain_text, self->cipher, RSA_PKCS1_PADDING ) ) < 0 )
+ { PyErr_SetString( SSLErrorObject, "could not decrypt cipher text" ); goto error; }
+ break;
+ }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported cipher type" ); goto error; }
+ }
+
+ 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)
+{
+ char *plain_text=NULL, *cipher_text=NULL;
+ int len=0, size=0;
+ PyObject *obj=NULL;
+
+ if ( !(self->key_type == RSA_PRIVATE_KEY) )
+ { PyErr_SetString( SSLErrorObject, "cannot perform private decryption with this key" ); goto error; }
+
+ if (!PyArg_ParseTuple(args, "s#", &cipher_text, &len))
+ goto error;
+
+ size = RSA_size(self->cipher);
+ if ( len > size )
+ { PyErr_SetString( SSLErrorObject, "cipher text is too long" ); goto error; }
+
+ if ( !(plain_text = malloc( size + 16 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( (len = RSA_private_decrypt( len, cipher_text, plain_text, self->cipher, RSA_PKCS1_PADDING ) ) < 0 )
+ { PyErr_SetString( SSLErrorObject, "could not decrypt cipher text" ); goto error; }
+
+ 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"
+" <member><constant>MD2_DIGEST</constant></member>\n"
+" <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"
+" </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)
+{
+ char *digest_text=NULL, *signed_text=NULL;
+ 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)
+ { PyErr_SetString( SSLErrorObject, "unsupported key type" ); goto error; }
+
+ if ( !(signed_text = malloc( RSA_size(self->cipher) ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ switch(digest_type)
+ {
+ case MD2_DIGEST:
+ { digest_nid = NID_md2; digest_len = MD2_DIGEST_LENGTH; break; }
+ 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; }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported digest" ); goto error; }
+ }
+ if ( !(RSA_sign( digest_nid, digest_text, digest_len, signed_text, &signed_len, self->cipher ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not sign digest" ); goto error; }
+
+ 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"
+" <member><constant>MD2_DIGEST</constant></member>\n"
+" <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"
+" </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)
+{
+ char *digest_text=NULL, *signed_text=NULL;
+ int digest_len=0, digest_type=0, digest_nid=0, signed_len=0, result=0;
+
+ if (!PyArg_ParseTuple(args, "s#s#i", &signed_text, &signed_len, &digest_text, &digest_len, &digest_type))
+ goto error;
+
+ switch(digest_type)
+ {
+ case MD2_DIGEST:
+ { digest_len = MD2_DIGEST_LENGTH; digest_nid = NID_md2; break; }
+ 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; }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported digest" ); goto error; }
+ }
+ result = RSA_verify( digest_nid, digest_text, digest_len, signed_text, signed_len, self->cipher );
+
+ return Py_BuildValue("i", result);
+
+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, 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;
+
+ self = PyObject_New( symmetric_object, &symmetrictype );
+ if (self == 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)
+{
+ char *key=NULL, *iv=NULL, nulliv [] = "";
+ 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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "unsupported cipher" ); goto error; }
+
+ if ( !EVP_EncryptInit( &self->cipher_ctx, cipher, key, iv ) )
+ { PyErr_SetString( SSLErrorObject, "could not initialise cipher" ); goto error; }
+
+ return Py_BuildValue("");
+
+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)
+{
+ char *key=NULL, *iv=NULL, nulliv [] = "";
+ 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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "unsupported cipher" ); goto error; }
+
+ if ( !EVP_DecryptInit( &self->cipher_ctx, cipher, key, iv ) )
+ { PyErr_SetString( SSLErrorObject, "could not initialise cipher" ); goto error; }
+
+ return Py_BuildValue("");
+
+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;
+ 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) ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !EVP_CipherUpdate( &self->cipher_ctx, out, &outl, in, inl ) )
+ { PyErr_SetString( SSLErrorObject, "could not update cipher" ); goto error; }
+
+ if ( !(py_out = Py_BuildValue("s#", out, outl) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ 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;
+ 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) ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ if ( !EVP_CipherFinal( &self->cipher_ctx, out, &outl ) )
+ { PyErr_SetString( SSLErrorObject, "could not update cipher" ); goto error; }
+
+ if ( !(py_out = Py_BuildValue("s#", out, outl) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ 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, 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;
+
+ self = PyObject_New( digest_object, &digesttype );
+ if (self == NULL)
+ goto error;
+
+ switch(digest_type)
+ {
+ case MD2_DIGEST:
+ { self->digest_type = MD2_DIGEST; EVP_DigestInit( &self->digest_ctx, EVP_md2() ); break; }
+ 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; }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported digest" ); goto error; }
+ }
+
+ 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 );
+
+ return Py_BuildValue("");
+
+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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ new->digest_type = self->digest_type;
+ memcpy( &new->digest_ctx, &self->digest_ctx, sizeof(EVP_MD_CTX) );
+
+ 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)
+{
+ char digest_text[EVP_MAX_MD_SIZE];
+ void *md_copy=NULL;
+ int digest_len=0;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ if ( !(md_copy = malloc( sizeof(EVP_MD_CTX) ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+ memcpy( md_copy, &self->digest_ctx, sizeof(EVP_MD_CTX) );
+ 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, 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)
+{
+ 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;
+ EVP_MD *md=NULL;
+
+ self = PyObject_New( hmac_object, &hmactype );
+ if (self == NULL)
+ goto error;
+
+ switch(digest_type)
+ {
+ case MD2_DIGEST:
+ { md = EVP_md2(); break; }
+ 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; }
+ default:
+ { PyErr_SetString( SSLErrorObject, "unsupported digest" ); goto error; }
+ }
+
+ 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)
+{
+ char *data=NULL;
+ int len=0;
+
+ if (!PyArg_ParseTuple(args, "s#", &data, &len))
+ goto error;
+
+ HMAC_Update( &self->hmac_ctx, data, len );
+
+ return Py_BuildValue("");
+
+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 ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ 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)
+{
+ char hmac_text[EVP_MAX_MD_SIZE];
+ void *hmac_copy=NULL;
+ int hmac_len=0;
+
+ if (!PyArg_ParseTuple(args, ""))
+ goto error;
+
+ if ( !(hmac_copy = malloc( sizeof(HMAC_CTX) ) ) )
+ { PyErr_SetString( SSLErrorObject, "could not allocate memory" ); goto error; }
+
+ 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, 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 ==========*/
+/*========== 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) ) )
+ 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() ) )
+ { PyErr_SetString( SSLErrorObject, "could not create new x509 object" ); goto error; }
+
+ 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"
+" <member><constant>MD2_DIGEST</constant></member>\n"
+" <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"
+" </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"
+" <member><constant>MD2_DIGEST</constant></member>\n"
+" <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"
+" </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_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"
+" </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> or <classname>X509Crl</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, -1) ) )
+ { PyErr_SetString( SSLErrorObject, "unable to create new BIO" ); goto error; }
+
+ if ( !BIO_write( in, src, len ) )
+ { PyErr_SetString( SSLErrorObject, "unable to write to BIO" ); goto error; }
+
+ 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 ; }
+
+ default:
+ { PyErr_SetString( SSLErrorObject, "unknown pem encoding" ); goto error; }
+ }
+
+ 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"
+" </simplelist>\n"
+" <para>\n"
+" As with the PEM operations, the object returned will be and instance \n"
+" of <classname>Asymmetric</classname>, <classname>X509</classname> or \n"
+" <classname>X509Crl</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;
+ 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 ; }
+
+ default:
+ { PyErr_SetString( SSLErrorObject, "unknown der encoding" ); goto error; }
+ }
+
+ 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)
+ if ( !ASN1_INTEGER_set( revoke->revoked->serialNumber, serial ) )
+ { PyErr_SetString( SSLErrorObject, "unable to set serial number" ); goto error; }
+
+ if (date != NULL)
+ if (!ASN1_UTCTIME_set_string( revoke->revoked->revocationDate, date ))
+ { PyErr_SetString( PyExc_TypeError, "could not set revocationDate" ); goto error; }
+
+ 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) )
+ {PyErr_SetString(SSLErrorObject, "unable to add object"); goto error;}
+
+ return Py_BuildValue("");
+
+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"
+" </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();
+ ERR_error_string( error, 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();
+
+ return Py_BuildValue("");
+
+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>. I 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 );
+
+ return Py_BuildValue("");
+
+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 );
+
+ return Py_BuildValue("");
+
+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 )
+ {PyErr_SetString(SSLErrorObject, "could not write random file"); goto error;}
+
+ return Py_BuildValue("");
+
+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 ) )
+ {PyErr_SetString(SSLErrorObject, "could not load random file"); goto error;}
+
+ return Py_BuildValue("");
+
+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__ );
+ // 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_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_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__ );
+
+ // 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 Py_BuildValue("O", 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},
+ {"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, (PyCFunction)NULL, 0, NULL} /* sentinel */
+};
+/*========== module functions ==========*/
+
+
+/*==========================================================================*/
+void
+init_POW(void)
+{
+ PyObject *m, *d;
+
+ 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;
+
+ m = Py_InitModule4("_POW", pow_module_methods,
+ pow_module__doc__,
+ (PyObject*)NULL,PYTHON_API_VERSION);
+
+ d = PyModule_GetDict(m);
+ SSLErrorObject = PyString_FromString("POW.SSLError");
+ PyDict_SetItemString(d, "SSLError", SSLErrorObject);
+
+ // constants for SSL_get_error()
+ install_int_const( d, "SSL_ERROR_NONE", SSL_ERROR_NONE );
+ install_int_const( d, "SSL_ERROR_ZERO_RETURN", SSL_ERROR_ZERO_RETURN );
+ install_int_const( d, "SSL_ERROR_WANT_READ", SSL_ERROR_WANT_READ );
+ install_int_const( d, "SSL_ERROR_WANT_WRITE", SSL_ERROR_WANT_WRITE );
+ install_int_const( d, "SSL_ERROR_WANT_X509_LOOKUP",SSL_ERROR_WANT_X509_LOOKUP );
+ install_int_const( d, "SSL_ERROR_SYSCALL", SSL_ERROR_SYSCALL );
+ install_int_const( d, "SSL_ERROR_SSL", SSL_ERROR_SSL );
+
+ // constants for different types of connection methods
+ install_int_const( d, "SSLV2_SERVER_METHOD", SSLV2_SERVER_METHOD );
+ install_int_const( d, "SSLV2_CLIENT_METHOD", SSLV2_CLIENT_METHOD );
+ install_int_const( d, "SSLV2_METHOD", SSLV2_METHOD );
+ install_int_const( d, "SSLV3_SERVER_METHOD", SSLV3_SERVER_METHOD );
+ install_int_const( d, "SSLV3_CLIENT_METHOD", SSLV3_CLIENT_METHOD );
+ install_int_const( d, "SSLV3_METHOD", SSLV3_METHOD );
+ install_int_const( d, "SSLV23_SERVER_METHOD", SSLV23_SERVER_METHOD );
+ install_int_const( d, "SSLV23_CLIENT_METHOD", SSLV23_CLIENT_METHOD );
+ install_int_const( d, "SSLV23_METHOD", SSLV23_METHOD );
+ install_int_const( d, "TLSV1_SERVER_METHOD", TLSV1_SERVER_METHOD );
+ install_int_const( d, "TLSV1_CLIENT_METHOD", TLSV1_CLIENT_METHOD );
+ install_int_const( d, "TLSV1_METHOD", TLSV1_METHOD );
+
+ install_int_const( d, "SSL_NO_SHUTDOWN", 0 );
+ install_int_const( d, "SSL_SENT_SHUTDOWN", SSL_SENT_SHUTDOWN );
+ install_int_const( d, "SSL_RECIEVED_SHUTDOWN", SSL_RECEIVED_SHUTDOWN );
+
+ // ssl verification mode
+ install_int_const( d, "SSL_VERIFY_NONE", SSL_VERIFY_NONE );
+ install_int_const( d, "SSL_VERIFY_PEER", SSL_VERIFY_PEER );
+
+ // object format types
+ install_int_const( d, "LONGNAME_FORMAT", LONGNAME_FORMAT );
+ install_int_const( d, "SHORTNAME_FORMAT", SHORTNAME_FORMAT );
+
+ // PEM encoded types
+#ifndef NO_RSA
+ install_int_const( d, "RSA_PUBLIC_KEY", RSA_PUBLIC_KEY );
+ install_int_const( d, "RSA_PRIVATE_KEY", RSA_PRIVATE_KEY );
+#endif
+#ifndef NO_DSA
+ install_int_const( d, "DSA_PUBLIC_KEY", DSA_PUBLIC_KEY );
+ install_int_const( d, "DSA_PRIVATE_KEY", DSA_PRIVATE_KEY );
+#endif
+#ifndef NO_DH
+ install_int_const( d, "DH_PUBLIC_KEY", DH_PUBLIC_KEY );
+ install_int_const( d, "DH_PRIVATE_KEY", DH_PRIVATE_KEY );
+#endif
+ install_int_const( d, "X509_CERTIFICATE", X509_CERTIFICATE );
+ install_int_const( d, "X509_CRL", X_X509_CRL );
+
+ // asymmetric ciphers
+#ifndef NO_RSA
+ install_int_const( d, "RSA_CIPHER", RSA_CIPHER );
+#endif
+#ifndef NO_DSA
+ install_int_const( d, "DSA_CIPHER", DSA_CIPHER );
+#endif
+#ifndef NO_DH
+ install_int_const( d, "DH_CIPHER", DH_CIPHER );
+#endif
+
+ // symmetric ciphers
+#ifndef NO_DES
+ install_int_const( d, "DES_ECB", DES_ECB );
+ install_int_const( d, "DES_EDE", DES_EDE );
+ install_int_const( d, "DES_EDE3", DES_EDE3 );
+ install_int_const( d, "DES_CFB", DES_CFB );
+ install_int_const( d, "DES_EDE_CFB", DES_EDE_CFB );
+ install_int_const( d, "DES_EDE3_CFB", DES_EDE3_CFB );
+ install_int_const( d, "DES_OFB", DES_OFB );
+ install_int_const( d, "DES_EDE_OFB", DES_EDE_OFB );
+ install_int_const( d, "DES_EDE3_OFB", DES_EDE3_OFB );
+ install_int_const( d, "DES_CBC", DES_CBC );
+ install_int_const( d, "DES_EDE_CBC", DES_EDE_CBC );
+ install_int_const( d, "DES_EDE3_CBC", DES_EDE3_CBC );
+ install_int_const( d, "DESX_CBC", DESX_CBC );
+#endif
+#ifndef NO_RC4
+ install_int_const( d, "RC4", RC4 );
+ install_int_const( d, "RC4_40", RC4_40 );
+#endif
+#ifndef NO_IDEA
+ install_int_const( d, "IDEA_ECB", IDEA_ECB );
+ install_int_const( d, "IDEA_CFB", IDEA_CFB );
+ install_int_const( d, "IDEA_OFB", IDEA_OFB );
+ install_int_const( d, "IDEA_CBC", IDEA_CBC );
+#endif
+#ifndef NO_RC2
+ install_int_const( d, "RC2_ECB", RC2_ECB );
+ install_int_const( d, "RC2_CBC", RC2_CBC );
+ install_int_const( d, "RC2_40_CBC", RC2_40_CBC );
+ install_int_const( d, "RC2_CFB", RC2_CFB );
+ install_int_const( d, "RC2_OFB", RC2_OFB );
+#endif
+#ifndef NO_BF
+ install_int_const( d, "BF_ECB", BF_ECB );
+ install_int_const( d, "BF_CBC", BF_CBC );
+ install_int_const( d, "BF_CFB", BF_CFB );
+ install_int_const( d, "BF_OFB", BF_OFB );
+#endif
+ install_int_const( d, "CAST5_ECB", CAST5_ECB );
+ install_int_const( d, "CAST5_CBC", CAST5_CBC );
+ install_int_const( d, "CAST5_CFB", CAST5_CFB );
+ install_int_const( d, "CAST5_OFB", CAST5_OFB );
+#ifndef NO_RC5_32_12_16
+ install_int_const( d, "RC5_32_12_16_CBC", RC5_32_12_16_CBC );
+ install_int_const( d, "RC5_32_12_16_CFB", RC5_32_12_16_CFB );
+ install_int_const( d, "RC5_32_12_16_ECB", RC5_32_12_16_ECB );
+ install_int_const( d, "RC5_32_12_16_OFB", RC5_32_12_16_OFB );
+#endif
+
+ // message digests
+ install_int_const( d, "MD2_DIGEST", MD2_DIGEST );
+ install_int_const( d, "MD5_DIGEST", MD5_DIGEST );
+ install_int_const( d, "SHA_DIGEST", SHA_DIGEST );
+ install_int_const( d, "SHA1_DIGEST", SHA1_DIGEST );
+ install_int_const( d, "RIPEMD160_DIGEST", RIPEMD160_DIGEST );
+
+ // general name
+ install_int_const( d, "GEN_OTHERNAME", GEN_OTHERNAME );
+ install_int_const( d, "GEN_EMAIL", GEN_EMAIL );
+ install_int_const( d, "GEN_DNS", GEN_DNS );
+ install_int_const( d, "GEN_X400", GEN_X400 );
+ install_int_const( d, "GEN_DIRNAME", GEN_DIRNAME );
+ install_int_const( d, "GEN_EDIPARTY", GEN_EDIPARTY );
+ install_int_const( d, "GEN_URI", GEN_URI );
+ install_int_const( d, "GEN_IPADD", GEN_IPADD );
+ install_int_const( d, "GEN_RID", GEN_RID );
+
+ // 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");
+}
+/*==========================================================================*/
diff --git a/pow/POW-0.7/README b/pow/POW-0.7/README
new file mode 100644
index 00000000..f418e2af
--- /dev/null
+++ b/pow/POW-0.7/README
@@ -0,0 +1,116 @@
+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
new file mode 100755
index 00000000..d3de41b8
--- /dev/null
+++ b/pow/POW-0.7/cfgparse.py
@@ -0,0 +1,120 @@
+#*****************************************************************************#
+#* *#
+#* 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
+
+# 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.oidNameMatch = re.compile(r'(^[\w\-\.\? ]*)(?:\([\w\-# ]*\)\s?)?(?:\()([\d ]*)(?:\))')
+ self.oidMatch = re.compile(r'(?:^OID = )(.*)')
+ self.commentMatch = re.compile(r'(?:^Comment = )(.*)')
+ self.descriptionMatch = re.compile(r'(?:^Description = )(.*)')
+ self.oids = {}
+ self.objs = {}
+ self.__parse()
+
+ def __update(self, dict, line):
+ m = self.oidMatch.match( line )
+ if m:
+ dict['hexoid'] = m.group(1)
+ return 0
+ else:
+ m = self.commentMatch.match( line )
+ if m:
+ dict['comment'] = m.group(1)
+ return 0
+ else:
+ m = self.descriptionMatch.match( line )
+ if m:
+ dict['description'] = m.group(1)
+ n = self.oidNameMatch.match( m.group(1) )
+ dict['name'] = string.strip( n.group(1) )
+ dict['oid'] = tuple( map(int, string.split( n.group(2), ' ') ) )
+ return 0
+ else:
+ m = self.warningMatch.match( line )
+ if m:
+ return 1
+ else:
+ m = self.whiteMatch.match( line )
+ if m:
+ return 0
+ else:
+ m = self.hashMatch.match( line )
+ if m:
+ return 0
+ else:
+ raise Exception, 'unhandled pattern'
+
+ def __parse(self):
+ line = self.handle.readline()
+ dict = {}
+ complete = None
+ while line:
+ warning = self.__update( dict, line )
+
+ if warning:
+ complete = None
+ elif complete:
+ self.objs[ complete['name'] ] = complete
+ self.oids[ complete['oid'] ] = complete
+ complete = None
+
+ if len(dict) == 5:
+ complete = dict
+ dict = {}
+
+ line = self.handle.readline()
+
+ 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
new file mode 100644
index 00000000..246431a3
--- /dev/null
+++ b/pow/POW-0.7/docs/POW.pdf
@@ -0,0 +1,17436 @@
+%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Ç­ gC dÏqAkÈ´DÖ糆L=KdÍq;kȤ³DÖ‡³÷ÉK7»O.s\Í2Ñ,‘5Çɬ!SÌYsØËqä²^q,+ÀÙÊ‚Øs\Ê2¡,‘5Ç™¬!SÉYsÜÈ2‰,‘5Ǭ g dÏ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£Î>–Ôe Y¥&‘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µ!ÓUYsXU 1Q5€5†IµñFQMÞõ÷ÔLNMbÍqLmÈ´ÔDÖ—Ô‚œ!5=ǵ!SQYsÜP2 5‘5ǵ!ÓOYs\O rÆÓ@ö§Ó†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ÓÛ£ÚƒÜÛS nz{|‘ÑÛ_½È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Ž=j4 0`÷¬`»²í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º
+L4k LC¦À$²ç¸À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•šÕäÓ¨»À$u r©Ô˜¨ö ˜
+]&š5Ǧ2S`"Úƒ\`u˜¤ŽA.0•šÕäS©)0QíA.0•šÕäÓ¨»À$u r©Ô˜¨ö ˜JM‰jr©Ô˜¨ö ˜FÝ&©c L¥¦ÀDµ¹ÀTj
+LT{ L¥¦ÀDµ¹À4ê.0IƒX`*t˜hÖ˜ÊL‰hr©Ô˜¨ö ˜FÝ&©c L¥¦ÀDµ¹ÀTj
+LT{ L¥¦ÀDµ¹Àê¥Àur©Ô˜¨ö ˜JM‰jr©Ô˜¨ö ˜FÝ&©c L¥¦ÀDµ¹À¤.Иø"«À¼z‘Ãóø=~°ÀüžÞ<p¹ž‘¸ûïT`^^ì·˜ðÁvyõÁŽ Ì÷/&¨s L¥¦À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%u reªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ±25h*S2{+SE®ÊÉšãÊT™©LíA®L•šÊÕäÊÔ¨»2%u reªÔ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%t reªÔ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$k 3C&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ÖÖ`†L FdÏ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žo­z~öµ?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î핚ÞÕäÞÞ¨»·'u bo¯ÐÕÛ£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»¼Åa­vø#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¥&¤Du bJéÔÕR²ÚƒXS:u唬ö •N]E%«=ˆM¥RU¢:)«t蹫d³æ°¬tæJ+íAŒ+ºêJV{ûJ¥&°Du bbéÔÕX²ÚƒXY:ue–¬ö †–N]¥%«=ˆ­¥QwlIêÄÜÒ©«·dµ±¸têJ.YíAŒ.ºªKV{»K¥&¼Du bzéÔÕ^²Úƒ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•šÕäÓ¨»À$u b©Ð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%u reªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ¹2Uj*ST{+S¥¦2Eµ±25h*S2{+SE®ÊÉšãÊT™©LíA®L•šÊÕäÊÔ¨»2%u reªÔ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%t reªÔ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%u reªÔT¦¨ö W¦JMeŠjbeªÐU™¢YsX™2•)‘=Ç•©2S™"Úƒ\™*5•)ª=È•©RS™¢Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%u reªÔ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%u reªÔT¦¨ö W¦JMeŠjreªÔT¦¨ö W¦FÝ•)©c+S¥¦2Eµ±2UèªLѬ9®L•™ÊÑäÊÔ¨»2%u reªÔ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%u reªÔT¦¨ö V¦
+]•)š5Ç•©2S™"Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%u reªÔ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%u reªÔT¦¨ö V¦
+]•)š5Ç•©2S™"Úƒ\™uW¦¤ŽA®L•šÊÕäÊT©©LQíA®L•šÊÕäÊÔ¨»2%u reªÔ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Òˆ+•$ðz CIᥓ¯Æ¸’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~‰/²úË«9 0ßãô;¯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¡m 0Œ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Ϩ»Õ#u r«§Ô´z¨ö ·zJM«‡jb«§ÐÕê¡YsØê2­‘=Ç­ž2Óê!ÚƒÜê)5­ª=È­žRÓê¡ÚƒÜêu·z¤ŽAnõ”šVÕäVO©iõPíAnõ”šVÕäVϨ»Õ#u r«§Ô´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Ϩ»Õ#u r«§Ô´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$u r–¨Ôd‰¨ö g‰JM–ˆjr–¨Ôd‰¨ö g‰FÝY"©c³D…®,Íšã,Q™ÉíAΕš,Õä,Ѩ;K$u r–¨Ô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$t r–¨Ô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…®~ Íšã~͘»_#t r¿¦Ôô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˜¬9 qœ¹BF{C§®‡ÕÄG© qPƒâ8u…8¬ö †8N]!«=ˆ!ŽSWˆÃjbˆ£Ô„8¨ŽA qœºBV{C§®‡ÕÄÇ©+Äaµ1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjRˆãÐKˆÃfÍQˆ£Èâ Ùsâ8s…8Œö †8N]!«=ˆ!ŽSWˆÃjbˆ£Ô„8¨ŽA qœºBV{C§®‡ÕÄÇ©+Äaµ1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjbˆãÔâ°Úƒâu‡8¤ÎA qœºBV{C§®‡Õ¤Ç¡—‡ÍšÃG™ qƒâ8u…8¬ö †8N]!«=ˆ!ŽSWˆÃjbˆ£Ô„8¨ŽA qœºBV{C§®‡ÕÄÇ©+Äaµ1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ(5!ªcC§®‡Õ¤Ç¡—‡ÍšÃÇ™+Äa´1ÄQjBTÇ †8N]!«=ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ(5!ªcC§®‡ÕÄÇ©+Äaµ1Äqê
+qXíA q”šÕ1ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ8u…8¬ö †8JMˆƒê¤Ç¡—‡ÍšÃÇ™+Äa´1Äqê
+qXíA q”šÕ1ˆ!ŽSWˆÃjbˆãÔâ°Úƒâ8u…8¬ö †8FÝ!©sC§®‡ÕÄÇ©+Äaµ1Äqê
+qXíA q  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”šÕäǨ;Ä!u rˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC…®ÍšãG™ qíAq”šÕäǨ;Ä!u rˆ£Ô„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î×”š~ Õä~ͨ»_#u r¿¦Ôô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î×”š~ Õä~ͨ»_#u b¿¦ÐÕ¯¡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&u r­¬ÔÔʨö ×ÊJM­Œjb­¬ÐU+£YsX+2µ2‘=ǵ²2S+#Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&u r­¬ÔÔʨö ×ÊJM­Œjr­¬ÔÔʨö ×ÊB}¯•Aƒ\++5µ2ª=ȵ²RS+£ÚƒX++tÕÊhÖ×ÊÆÜµ2¡cke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹V6ꮕIƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJM­Œjb­¬ÐU+£Ys\++3µ2¢=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJM­Œjr­¬ÔÔʨö ×ÊJM­Œjr­lÔ]+“:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£îZ™Ô1ˆµ²BW­ŒfÍq­¬ÌÔʈö ×ÊJM­Œjr­lÔ]+“:¹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ê¤ÛʼÜÞ@ñz oo(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ö•š`Õä`ߨ;Ø'u R°¯Ì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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB}öAƒì+5Á>ª=ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁþq‚®‚}zŽûWÏqì?Çwû÷ϧç×{ö×þv ë)üíëù¿úË/_?ù~ 癇|¿…ûõ—úñOŸU¬_¾59ïõ1õ¿:*ýw×
+¯jw­W¯ê¸kýøе¢ÚƒÜµuw­¤ŽAêZ•yéZQ¼îU«kE±æ¸kUfºVD{»V¡¾w­ ÎAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%u rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ±k5hºV2{»VE®®Éšã®U™éZíAîZ•š®Õä®Õ¨»k%u rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tu­hÖv­†L×JdÏqתÌt­ˆö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Pß»VPç w­JM׊jrתÔt­¨ö v­
+]]+š5Ç]«1w×Jèä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒØµ*tu­hÖw­ÊL׊hr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuw­¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%u bתÐÕµ¢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Ç w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»Vƒ¦k%³ç°kUäêZ‘¬9îZ•™®Ñä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«BW׊fÍa×jÈt­Döw­ÊL׊hrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ
+õ½kurתÔt­¨ö w­JM׊jbתÐÕµ¢Ysܵsw­„ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%u rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=ˆ]«BW׊fÍqתÌt­ˆö w­FÝ]+©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¥¦JDu b•èÔ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¥¦JDu b•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=ˆU¢RS%¢:±JtêªYíA¬ºªDV{ªD‡^ªD6kŽªDE®*ÉžÃ*Ñ™«Jd´±JtêªYíA¬ºªDV{«D¥¦JDu b•èÔ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¥¦JDu b•èÔ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$u r•¨Ô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./•šòÕäòÒ¨»¼$u ry©Ô”—¨ö ——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./•šòÕäòÒ¨»¼$u ry©Ô”—¨ö ——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Žº”š¨ Õä¨Ë¨;ê"u rÔ¥ÔD]¨ö F]
+]Qš5ÇQ—2u!ÚƒuuG]¤ŽAŽº”š¨ Õä¨K©‰ºPíAŽº”š¨ Õä¨Ë¨;ê"u rÔ¥Ô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Žº”š¨ Õä¨Ë¨;ê"u rÔ¥Ô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Žº”š¨ Õä¨Ë¨;ê"u bÔ¥Ð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Žº”š¨ Õä¨Ë¨;ê"u rÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö F]MÔEfÏaÔ¥Èu!Ysu)3Q¢=ÈQ—Ru¡ÚƒuuG]¤ŽAŽº”š¨ Õä¨K©‰ºPíAŽº”š¨ Õä¨Ë¨;ê"u rÔ¥ÔD]¨ö G]JMÔ…jrÔ¥ÔD]¨ö G]FÝQ©c£.¥&êBµ9êRj¢.T{£.…®¨ ͚èˉºˆì9Žº”™¨ Ñä¨K©‰ºPíAŽº”š¨ Õä¨Ë¨;ê"u rÔ¥Ô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{£.¥&êBu RÔåÐ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$u r•¨Ô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$t r•¨Ô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&u r­¬ÔÔʨö ×ÊJM­Œjr­¬ÔÔʨö ÖÊM­LfÏa­¬ÈU+#Ys\++3µ2¢=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&u r­¬ÔÔʨö ×ÊJM­Œjr­¬ÔÔʨö ×ÊFݵ2©cke¥¦VFµ¹VVjjeT{ke…®ZÍšÃZÙ©•‰ì9®••™ZÑäZY©©•QíA®••šZÕäZÙ¨»V&u r­¬ÔÔʨö ×ÊJM­Œjr­¬ÔÔʨö ×ÊFݵ2©cke¥¦VFµ¹VVjjeT{ke¥¦VFµ¹Vê{­ êäZY©©•QíA®••šZÕÄZY¡«VF³æ¸V6殕 ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJM­Œjr­¬ÔÔʨö ×ÊJM­Œjr­lÔ]+“:¹VVjjeT{ke…®ZÍšãZY™©•íA®•ºkeRÇ ×ÊJM­Œjr­¬ÔÔʨö ×ÊJM­Œjr­lÔ]+“:¹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'u rƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 6èMƒNfÏaƒ®ÈÕ #YsÜ +3 :¢=È ºRÓ £ÚƒÜ u7褎AnЕšÕä]©iÐQíAnЕšÕäݨ»A'u rƒ®Ô4è¨ö 7èJMƒŽjrƒ®Ô4è¨ö 7èFÝ :©ct¥¦AGµ¹AWjtT{t…®ÍšÃÝiЉì9nЕ™Ñä]©iÐQíAnЕšÕäݨ»A'u rƒ®Ô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î×”š~ Õä~ͨ»_#u r¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5…®~ Íšã~M™é×íAî×”š~ Õä~ͨ»_#u r¿¦Ôô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”šÕäǨ;Ä!u rˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ9ÄQjBT{C…®ÍšÃÇ qˆì9q”™ÑäG© qPíAq”šÕäǨ;Ä!u rˆ£Ô„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¤ŽA qºB4kŽCe&ÄA´9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâõ=Äurˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8Çeˆ
+qè9â\=ÇýÓQˆsüßùARß>Qéüç; qÖâüø_ÿúËïâ¼?Ýo qàÕíçêÕ‡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”šÕäǨ;Ä!u rˆ£Ô„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¥¦_Cu b¿æÔÕ¯±ÚƒØ¯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¦_Ct b¿æÔÕ¯±ÚƒØ¯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ª=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA¬• šZ™ÌžÃZY‘«VF²æ¸VVfjeD{ke¥¦VFµ¹V6ꮕIƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJM­Œjr­¬ÔÔʨö ÖÊ
+]µ2š5‡µ²!S+Ùs\++3µ2¢=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJM­Œjr­¬ÔÔʨö ×ÊJM­Œjr­,Ô÷ZÔ9ȵ²RS+£Úƒ\++5µ2ª=ˆµ²BW­ŒfÍq­lÌ]+:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£îZ™Ô1ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&u r­¬ÔÔʨö ÖÊ
+]µ2š5ǵ²2S+#Úƒ\+u×ʤŽA®••šZÕäZY©©•QíA®••šZÕäZÙ¨»V&u r­¬ÔÔʨö ×Ê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…®<Íšã<Û˜;Ï&t rž­ÔäÙ¨ö çÙ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“¯¾Þ¨;Ø'u r°¯Ôû¨ö û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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè
+öѬ9ö•™`Ñä`ߨ;Ø'u r°¯Ôû¨ö û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×
+¯jw­W¯ê¸kýøе¢ÚƒÜµuw­¤ŽAêZ•yéZQ¼îU«kE±æ¸kUfºVD{»V¡¾w­ ÎAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%u rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ±k5hºV2{»VE®®Éšã®U™éZíAîZ•š®Õä®Õ¨»k%u rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tu­hÖv­†L×JdÏqתÌt­ˆö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Pß»VPç w­JM׊jrתÔt­¨ö v­
+]]+š5Ç]«1w×Jèä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒØµ*tu­hÖw­ÊL׊hr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuw­¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%u bתÐÕµ¢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•š„Õä„ר;á%u R«Ì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•š„Õä„ר;á%u r«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^…®„Íšã„W™IxíANx•š„Õä„ר;á%u r«Ô$¼¨ö '¼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•š„Õä„ר;á%u r«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö &¼MÂKfÏa«ȕð"Ysœð*3 /¢=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%u r«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^…®„͚Ä×Ix‰ì9Nx•™„Ñä„W©IxQíANx•š„Õä„ר;á%u r«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9áê%áur«Ô$¼¨ö '¼JM‹jb«Еð¢Ysœðs'¼„ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%u r«Ô$¼¨ö '¼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úúG Lx×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./•šòÕäòÒ¨»¼$u ry©Ô”—¨ö ——JMy‰jby©ÐU^¢YsX^2å%‘=Çå¥2S^"Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$u ry©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——B½”— ÎA./•šòÕäòR©)/QíA,/ºÊK4kŽËKcîò’Ð1Èå¥RS^¢Úƒ\^*5å%ª=Èå¥RS^¢Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$u ry©Ô”—¨ö ——JMy‰jry©Ô”—¨ö ——FÝå%©cËK¥¦¼Dµ±¼Tè*/Ѭ9./•™òÑäòÒ¨»¼$u ry©Ô”—¨ö ——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¥¦¼Du byéÔU^²ÚƒT^:ô\^²YsX^:s•—Œö –—JMy‰êÄòÒ©«¼dµ±¼tê*/YíA,/ºÊKV{ËK¥¦¼Du byéÔ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î×”š~ Õä~ͨ»_#u r¿¦Ôôk¨ö ÷kJM¿†jb¿¦ÐÕ¯¡Ysد2ý‘=Çýš2Ó¯!ڃܯ)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~ Õä~M©é×PíAî×”š~ Õä~ͨ»_#u r¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kB½ôk ÎAî×”š~ Õä~M©é×PíAì׺ú54kŽû5cî~Ð1ÈýšRÓ¯¡ÚƒÜ¯)5ýª=ÈýšRÓ¯¡ÚƒÜ¯u÷k¤ŽAî×”š~ Õä~M©é×PíAî×”š~ Õä~ͨ»_#u r¿¦Ôôk¨ö ÷kJM¿†jr¿¦Ôôk¨ö ÷kFÝý©cû5¥¦_Cµ±_Sèê×Ь9î×”™~ Ñä~ͨ»_#u r¿¦Ôô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Èì9 q¹B$kŽCe&ÄA´9ÄQjBT{C£î‡Ô1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!u rˆ£Ô„8¨ö ‡8JMˆƒjbˆ£Ðâ Ysâ2!‘=Ç!Ž2â Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!u rˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8B½„8 ÎAq”šÕäG© qPíA qºB4kŽCcî‡Ð1È!ŽRâ Úƒâ(5!ª=È!ŽRâ Úƒâu‡8¤ŽAq”šÕäG© qPíAq”šÕäǨ;Ä!u rˆ£Ô„8¨ö ‡8JMˆƒjrˆ£Ô„8¨ö ‡8FÝ!©cC¥&ÄAµ1ÄQè
+qЬ9q”™ÑäǨ;Ä!u rˆ£Ô„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&
+#²ç8 Sfº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#u rj¦Ô´f¨ö Öf
+]¹š5ÇÁ™2Sœ!ڃܜuGg¤ŽAÎΔšî ÕäòL©IÏPíAŽÏ”šú Õäþ̨;@#u r‚¦Ô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=?ûŽÚƒêêò•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ1ô7hB2{CE®ÐÉšãÐ_™ ýíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þ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…®ÐÍšãÐߘ;ô't rè¯Ô„þ¨ö ‡þ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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£x=†Á¾W°bÍq°¯Ìûˆö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ1Ø7h‚}2{ƒ}E®`Éšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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{ƒ}…®`Íšã`ߘ;Ø't r°¯Ôû¨ö û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­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*ru­HÖw­ÊL׊hrתÔt­¨ö w­FÝ]+©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Óµ¢ÚƒØµ*tu­hÖw­ÆÜ]+¡c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jbתÐÕµ¢Ysܵ*3]+¢=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1ˆ]«BW׊fÍqתÌt­ˆö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^ºVPç w­JM׊jrתÔt­¨ö w­JM׊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­Ìhb­lÔ]+“:±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ç @öÇ †L JdÍ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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û
+]Á>š5ÇÁ¾2ì#Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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­ˆö w­B½t­ ÎAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%u rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ±k5hºV2{»VE®®Éšã®U™éZíAîZ•š®Õä®Õ¨»k%u rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tu­hÖv­†L×JdÏqתÌt­ˆö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«P/]+¨s»V¥¦kEµ¹kUjºVT{»V…®®Íšã®Õ˜»k%t rתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©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Ç w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:±kUèêZѬ9îZ•™®Ñä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊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­¨ö w­F]+©Ë u­Ê<w­(^aתÀѵ¢Xsܵ*3]+¢=È]«P/]+¨ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jb×jÐt­döv­Š]+’5Ç]«2Óµ"ڃܵ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«BG׊fÍa×jÈt­Döw­ÊL׊hrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×*ÔK×
+ê:È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«BG׊fÍq×jÌÙµº rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jbתÐѵ¢Ysܵ*3]+¢=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒØµ*tt­hÖw­ÊL׊hrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊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…¯jv­W_Õ~×úù= 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­ˆö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jbתÐѵ¢Ysص2]+‘=Ç]«2Óµ"ڃܵ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ
+õÒµ‚ºrתÔt­¨ö w­JM׊jbתÐѵ¢Ysܵsv­„.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒØµ*tt­hÖw­ÊL׊hr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë v­
+]+š5Ç]«2Óµ"ڃܵ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ
+õÒµ‚ºrתÔt­¨ö w­JM׊jrתÔt­¨ö w­û½¥êZé=Òµ^½Ç~׺ÿ¿±k=>ÞܵŽg\×úË—?ý÷_úúåÿ_×zy­W×
+_ÕìZ¯¾ªý®õó{@׊jr×jÔÙµ’º RתÌs׊âõv­
+]+Š5Ç]«2Óµ"ڃܵ
+õÒµ‚ºrתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö v­M×JfÏaתÈѵ"Ysܵ*3]+¢=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tt­hÖv­†L×JdÏqתÌt­ˆö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­B½t­ ®ƒÜµ*5]+ª=È]«RÓµ¢ÚƒØµ*tt­hÖw­Æœ]+¡Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊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­ˆö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­B½t­ ®ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]ë~o©ºVzt­Wïq|ÜëZ÷ßcéZwºÖM}ß~eÆ®u<ãºÖ¿üúе^^ëßÕµÂW5»Ö«¯j¿kýüе¢ÚƒÜµuv­¤.ƒÔµ*óܵ¢x=†]«G׊bÍqתÌt­ˆö w­B½t­ ®ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*rt­HÖw­ÊL׊hrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö v­
+]+š5‡]«!ÓµÙsܵ*3]+¢=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qg×Jê2È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«P/]+¨ë w­JM׊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­ˆö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º rתÔt­¨ö w­JM׊jrתÔt­¨ö w­F]+©Ë w­JM׊jrתÔt­¨ö w­JM׊jr×jÔÙµ’º bתÐѵ¢Ysܵ*3]+¢=È]«RÓµ¢ÚƒÜµuv­¤.ƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«P/]+¨ë w­JM׊jrתÔt­¨ö w­JM׊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ª=ȵ²Qg­Lê2Hµ²2ϵ2Š×cX++pÔÊ(Ö×ÊÊL­Œhr­,ÔK­ ê:ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+uÖʤ.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qg­Lê2ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£ÚƒX+4µ2™=‡µ²"G­ŒdÍq­¬ÌÔʈö ×ÊJM­Œjr­lÔY+“º r­¬ÔÔʨö ×ÊJM­Œjr­¬ÔÔʨö ×ÊFµ2©Ë ×ÊJM­Œjr­¬ÔÔʨö ×ÊJM­Œjr­lÔY+“º r­¬ÔÔʨö ×ÊJM­Œjb­¬ÐQ+£YsX+2µ2‘=ǵ²2S+#Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+uÖʤ.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qg­Lê2ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+ õR+ƒºr­¬ÔÔʨö ×ÊJM­Œjb­¬ÐQ+£Ys\+sÖÊ„.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qg­Lê2ȵ²RS+£Úƒ\++5µ2ª=ȵ²RS+£Úƒ\+uÖʤ.ƒ\++5µ2ª=ȵ²RS+£Úƒ\++5µ2ª=ȵ²Qg­Lê2ȵ²RS+£ÚƒX++tÔÊhÖ×ÊÊL­Œhr­lÔY+“º r­¬ÔÔʨö ×ÊJM­Œjr­¬ÔÔʨö ×ÊFµ2©Ë ×ÊJM­Œjr­¬ÔÔʨö ×ÊJM­Œjr­lÔY+“º r­¬ÔÔʨö ×ÊJM­Œjr­¬ÔÔʨö ×ÊFµ2©Ë ÖÊ
+µ2š5ǵ²2S+#Úƒ\++5µ2ª=ȵ²Qg­Lê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ܱڃx gÔy Gê:ˆ·pN·p¬ö ÞÂ9uܱڃx çÔq Çjâ-\w™[8|ñÐõ{ìÞÂÁ{|ûW¯ïO¹…{¼} ·ýÅé[F÷úñ«Õéö-Üx(Ï|¼QîßÎ×pÿüëÏ_þú·_¾|>‡Ûþˆñ­¨¼ì¯/±}Ïï{çpóÞob\½ßþ!ÆçC R—A>ÄPj1PíA<ÄPè8Ä@³æøC™9Ä@´ùèóƒÔe1”šC T{1”šC T{1”šC T{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùèóƒÔe1”šC T{1”šC T{1”šC T{1Œ:1H]éC™çC ¯ÇðCãÅšãC eæÑäC ¡^1@]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùèóƒÔe1”šC T{1”šC T{1”šC T{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µñà9Ä ³çðC‘ãÉšãC eæÑäC ¥æÕäC £ÎC R—A>ÄPj1PíA>ÄPj1PíA>ÄPj1PíA>Ä0ê<Ä uäC ¥æÕäC ¥æÕäC ¥æÕäC £ÎC R—A>ÄPj1PíA>ÄPj1PíA<ÄPè8Ä@³æðÃ9Ä ²çøC™9Ä@´ùC©9Ä@µùC©9Ä@µùèóƒÔe1”šC T{1”šC T{1”šC T{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùC¨—C P×A>ÄPj1PíA>ÄPj1PíA<ÄPè8Ä@³æøØóƒÐe1”šC T{1”šC T{1”šC T{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùèóƒÔe1”šC T{1”šC T{1”šC T{1Œ:1H]ùC©9Ä@µñC¡ãÍšãC eæÑäC £ÎC R—A>ÄPj1PíA>ÄPj1PíA>ÄPj1PíA>Ä0ê<Ä uäC ¥æÕäC ¥æÕäC ¥æÕäC £ÎC R—A>ÄPj1PíA>ÄPj1PíA>ÄPj1PíA>Ä0ê<Ä uÄC …ŽC 4kŽ1”™C D{1”šC T{1Œ:1H]ùC©9Ä@µùC©9Ä@µùC©9Ä@µùC¨—C P×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/•šøÕäüÒ¨»¿$u r©Ô$˜¨ö 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Î=•šÜÕäÜÓ¨;÷$u rî©Ô䞨ö çžJMî‰jbî©Ð•{¢Ys˜{2¹'‘=ǹ§2“{"Úƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$u rî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžB½äž ÎAÎ=•šÜÕäÜS©É=QíAÌ=ºrO4kŽsOcîÜ“Ð1ȹ§R“{¢Úƒœ{*5¹'ª=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$u rî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ1÷TèÊ=Ѭ9Î=•™ÜÑäÜÓ¨;÷$u rî©Ô䞨ö çž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Î=•šÜÕäÜÓ¨;÷$u rî©Ô䞨ö çžJMî‰jrî©Ô䞨ö æžMîIfÏaî©È•{"Ysœ{*3¹'¢=ȹ§R“{¢Úƒœ{u瞤ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$u rî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ9÷TjrOT{sO…®ÜÍšÃÜÓÉ=‰ì9Î=•™ÜÑäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$u rî©Ô䞨ö çžJMî‰jrî©Ô䞨ö çžFݹ'©csO¥&÷Dµ9÷TjrOT{sO¥&÷Dµ9÷ê%÷urî©Ô䞨ö çžJMî‰jbî©Ð•{¢Ysœ{sçž„ŽAÎ=•šÜÕäÜS©É=QíAÎ=•šÜÕäÜÓ¨;÷$u rî©Ô䞨ö çž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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ1Ø7h‚}2{ƒ}E®`Éšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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{ƒ}…®`Íšã`ߘ;Ø't r°¯Ôû¨ö û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®§•š|Õä€Ú¨» &u rC­ÔDÔ¨ö fÔ
+]5š5Ç%µ2“R#ÚƒSu×Ô¤ŽAî©•š Õä¤Z©iªQíA®ª•š¬Õä°Ú¨»¬&u r[­ÔÄÕ¨ö çÕ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Î핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{…®ÜÍšãÜ^™ÉííAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöB½äö ÎAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜþ8W¹=½Grû«÷x|9Êíßã7æö§ yåÜ~=ãrû?þ•¹ýå…þ²Ü¾ Û_}AǹýÇÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·7êÎíIƒ”Û+óœÛ£x=†¹½WnbÍqn¯Ìäöˆö çöB½äö ÎAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ1·7hr{2{s{E®ÜÉšãÜ^™ÉííAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çö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{…®ÜÍšãÜÞ˜;·'t rn¯Ôäö¨ö çö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•š„Õä„ר;á%u r«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö &¼MÂKfÏa«ȕð"Ysœð*3 /¢=È ¯R“ð¢Úƒœðu'¼¤ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%u r«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^…®„͚Ä×Ix‰ì9Nx•™„Ñä„W©IxQíANx•š„Õä„ר;á%u r«Ô$¼¨ö '¼JM‹jr«Ô$¼¨ö '¼FÝ /©c^¥&áEµ9áUj^T{^¥&áEµ9áê%áur«Ô$¼¨ö '¼JM‹jb«Еð¢Ysœðs'¼„ŽANx•š„Õä„W©IxQíANx•š„Õä„ר;á%u r«Ô$¼¨ö '¼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¥¦AGu RƒîÐ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Û¨;Ì&u r˜­Ô„Ù¨ö †Ù
+]a6š5Ça¶2f#Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&u r˜­Ô„Ù¨ö ‡Ù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Ö窆L­JdÍ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; ²ç8 5dº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Ш;$u r@¨Ô„¨ö 6„
+]!š5Ç¡2Ó"Úƒ\u§„¤ŽAŽ •ššÕäžP©
+QíAN
+•š¦ÕäªÐ¨;+$u rX¨Ô”…¨ö ·…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 Ø'u r°¯Ôû¨ö û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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©c‚}ežƒ}¯Ç0ØWà
+öQ¬9ö•™`Ñä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûM°OfÏa°¯Èì#Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`ÍšÃ`ß ö‰ì9ö•™`Ñä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysìsû„ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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&u b³¬ÐÕ,£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ö•š`Õä`ߨ;Ø'u R°¯Ì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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíA öº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè
+öѬ9ö•™`Ñä`ߨ;Ø'u r°¯Ôû¨ö û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γ•š<Õä<Û¨;Ï&u bž­Ð•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{ƒ}¥&ØGu R°ïÐ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ñz Ož¸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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Ø7êöIƒì+óì£x=†Á¾W°bÍq°¯Ìûˆö ûB½û ÎAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ1Ø7h‚}2{ƒ}E®`Éšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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{ƒ}…®`Íšã`ߘ;Ø't r°¯Ôû¨ö û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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©c‚}ežƒ}¯Ç0ØWà
+öQ¬9ö•™`Ñä`_¨—`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûM°OfÏa°¯Èì#Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`ÍšÃ`ß ö‰ì9ö•™`Ñä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysìsû„ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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ö•š`Õä`ߨ;Ø'u b°¯Ðì£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Îß•šüÕäüݨ;'u rþ®Ôäï¨ö çïJMþŽjrþ®Ôäï¨ö çïFÝù;©ców…®üÍšãü]™ÉßíAÎß•šüÕäüݨ;'u rþ®Ôäï¨ö çï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•šÕäר;ä%u RÈ«ÌsÈ‹âõ†¼
+\!/Š5Ç!¯2ò"Úƒò
+õò‚:9äUjB^T{C^¥&äEµ9äUjB^T{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕÄ×  yÉì9 y¹B^$kŽC^e&äE´9äUjB^T{C^£î—Ô1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕäר;ä%u rȫԄ¼¨ö ‡¼JMÈ‹jbÈ«Ðò¢Ysò2!/‘=Ç!¯2ò"Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕäר;ä%u rȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼B½„¼ ÎAy•šÕäW© yQíA yºB^4kŽC^cî—Ð1È!¯Rò¢Úƒò*5!/ª=È!¯Rò¢Úƒòu‡¼¤ŽAy•šÕäW© yQíAy•šÕäר;ä%u rȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼FÝ!/©cC^¥&äEµ1äUè
+yѬ9y•™Ñäר;ä%u rȫԄ¼¨ö ‡¼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>•šäÕääÓ¨;ù$u rò©Ô$Ÿ¨ö 'ŸJMò‰jbò©Ð•|¢Ys˜|2É'‘=Çɧ2“|"Úƒœ|*5É'ª=ÈɧR“|¢Úƒœ|u'Ÿ¤ŽAN>•šäÕääS©I>QíAN>•šäÕääÓ¨;ù$u rò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸB½$Ÿ ÎAN>•šäÕääS©I>QíAL>º’O4kŽ“Ocîä“Ð1ÈɧR“|¢Úƒœ|*5É'ª=ÈɧR“|¢Úƒœ|u'Ÿ¤ŽAN>•šäÕääS©I>QíAN>•šäÕääÓ¨;ù$u rò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ1ùTèJ>Ѭ9N>•™äÑääÓ¨;ù$u rò©Ô$Ÿ¨ö 'Ÿ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ý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö †þ
+]¡?š5Ç¡¿2ú#Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þ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ö•š`Õä`ߨ;Ø'u b°¯Ðì£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ý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ô7êýIƒú+óú£x=†¡¿WèbÍqè¯Ì„þˆö ‡þB½„þ ÎAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ1ô7hB2{CE®ÐÉšãÐ_™ ýíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þ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…®ÐÍšãÐߘ;ô't rè¯Ô„þ¨ö ‡þ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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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>•šäÕääÓ¨;ù$u rò©Ô$Ÿ¨ö 'ŸJMò‰jrò©Ô$Ÿ¨ö 'ŸFÝÉ'©c“O¥&ùDµ9ùTj’OT{“O¥&ùDµ1ù4h’O2{“OE®äÉšãäS™I>íAN>•šäÕääÓ¨;ù$u rò©Ô$Ÿ¨ö 'Ÿ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…®äÍšãäÓ˜;ù$t rò©Ô$Ÿ¨ö 'Ÿ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ö•š`Õä`ߨ;Ø'u b°¯Ðì£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‡¼¤ÎA yº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íA y•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:ôò²Ysò*r…¼Hö†¼Î\!/£=ˆ!¯SWÈËjbÈëÔò²Úƒò*5!/ªcC^§®—ÕÄש+äeµ1äuê
+yYíA y•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:u…¼¬ö †¼FÝ!/©sC^§®—ÕÄש+äeµ)äuè9äe³æ0äUfB^DÇ †¼N]!/«=ˆ!¯SWÈËjbÈëÔò²Úƒò*5!/ªcC^§®—ÕÄש+äeµ1äuê
+yYíA y•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:u…¼¬ö †¼JMÈ‹êÄש+äeµ)äuè9äe³æ0äuæ
+yíA y•šÕ1ˆ!¯SWÈËjbÈëÔò²Úƒò:u…¼¬ö †¼JMÈ‹êÄש+äeµ1äuê
+yYíA yºB^V{C^¥&äEu bÈëÔò²Úƒò:u…¼¬ö †¼N]!/«=ˆ!¯Rò¢:)äuè9äe³æ0äuæ
+yíA yºB^V{C^¥&äEu bÈëÔò²Úƒò:u…¼¬ö †¼N]!/«=ˆ!¯QwÈKêÄש+äeµ1äuê
+yYíA yº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ö•š`Õä`ߨ;Ø'u b°¯Ðì£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:Ø_Ô;Ø—z 2ØŸÐ+ا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:ä]Ô;ä•z 2äÐ+ä¥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:Ø_Ô;Ø—z 2ØŸÐ+ا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{¡ÿ¤&ô§z 2ôßÔ+ô·Úƒ ý7õ
+ý­ö CÿM½B«=ÈÐRúS=úoèKèo³æúoæúíA†þ›z…þV{¡ÿ¤&ô§z 2ôßÔ+ô·Úƒ ý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{¹ý¤&·§z 2·ßÔ+··ÚƒÌí7õÊí­ö sûM½r{«=ÈÜ~R“ÛS=•ÛoèKno³æ˜Ûoæ•ÛíAæö›zåöV{¹ý¤&·§z 2·ßÔ+··ÚƒÌí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Ôt­T{Ð]뤦k¥ÚƒîZ'5]+Õt׺¨w×*õt×:©éZ©ö »ÖIM×JµݵNjºVª=È®uAÓµÊì9v­yu­$kÎ]ëd¦k%ÚƒîZ'5]+Õt׺¨w×*õt×:©éZ©ö »ÖIM×JµݵNjºVª=è®uQï®Uê1è®uRÓµRíAw­“š®•jºkÔt­T{Ð]ë¢Þ]«ÔcÐ]뤦k¥ÚƒîZ'5]+Õd×:¡W×J³æØµ.dºV‘=ç®u2ÓµíAw­“š®•jºkÔt­T{Ð]ë¢Þ]«ÔcÐ]뤦k¥ÚƒîZ'5]+Õt×:©éZ©ö »ÖE½»V©Ç »ÖIM×JµݵNjºVª=è®uRÓµRíAw­ƒúÚµB=ݵNjºVª=è®uRÓµRíAv­zu­4kÎ]ëbÞ]«ÐcÐ]뤦k¥ÚƒîZ'5]+Õt×:©éZ©ö »ÖE½»V©Ç »ÖIM×JµݵNjºVª=è®uRÓµRíAw­‹zw­RAw­“š®•jºkÔt­T{Ð]뤦k¥ÚƒîZõîZ¥ƒîZ'5]+Õd×:¡W×J³æÜµNfºV¢=è®uQï®Uê1è®uRÓµRíAw­“š®•jºkÔt­T{Ð]ë¢Þ]«ÔcÐ]뤦k¥ÚƒîZ'5]+Õt×:©éZ©ö »ÖE½»V©Ç »ÖIM×JµݵNjºVª=è®uRÓµRíAw­‹zw­RAv­zu­4kÎ]ë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òNIAs I'òêHIÖ+Ò‰¼"R’5§„t_
+R‚cìG0ù¨Äžc<:‘W;J²æXŽN䎒¬9f£yU£$kŽÍèB&Ùs F'òê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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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ö•š`Õä`ߨ;Ø'u b°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨×`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اçH°ÿî9ŽƒýãçÁþÃ`ÿüϲßÿ»„Áþ:ÆÆÃú2~üñ§ùéÛ?~üc4ÎÏüü?Gão¿~ûÓÏø¬býò½É¹>ÖÇÔÿþé¨ôß]+|ªÝµ¾ûTÇ]ëÇ瀮Õä®Õ¨»k%u RתÌK׊âû1ìZ¸ºVkŽ»Ve¦kE´¹kêµkurתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*ru­HÖw­ÊL׊hrתÔt­¨ö w­FÝ]+©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Óµ¢ÚƒØµ*tu­hÖw­ÆÜ]+¡c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jbתÐÕµ¢Ysܵ*3]+¢=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1ˆ]«BW׊fÍqתÌt­ˆö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^»VPç w­JM׊jrתÔt­¨ö w­JM׊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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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­¬ö v­JM׊ê„®Õ™¿v­,¾£®Õ—®•Śîՙ«ke´±k5êîZIƒØµ:uu­¬ö v­N]]+«=ˆ]«SW×ÊjbתÔt­¨ŽAìZººVV{»V§®®•ÕĮթ«keµ±kUjºVTÇ v­N]]+«=ˆ]«SW×Êjb×êÔÕµ²ÚƒÔµ*tu­höu­Ž¼t­LÖv­Î\]+£=ˆ]«SW×ÊjbתÔt­¨ŽAìZººVV{»V§®®•ÕĮթ«keµ±kUjºVTÇ v­N]]+«=ˆ]«SW×Êjb×êÔÕµ²ÚƒØµ*5]+ªc»V§®®•ÕĮթ«keµ©kuè¥ke³æ¨kUäêZ‘ì9ìZ¹ºVF{»V§®®•ÕĮթ«keµ±kUjºVTÇ v­N]]+«=ˆ]«SW×Êjb×êÔÕµ²ÚƒØµ*5]+ªc»V§®®•ÕĮթ«keµ±kuêêZYíAìZº»VRç v­N]]+«=ˆ]«SW×ÊjR×êÐK×ÊfÍaתÌt­ˆŽAìZººVV{»V§®®•ÕĮթ«keµ±kUjºVTÇ v­N]]+«=ˆ]«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­¬ö v­JM׊êĮթ«keµ±kuêêZYíAìZººVV{»V¥¦kEu R×êÐK×ÊfÍa×êÌÕµ2ڃص:uu­¬ö v­JM׊êĮթ«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Î핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö æöMnOfÏan¯È•Û#YsœÛ+3¹=¢=ȹ½R“Û£ÚƒœÛuçö¤ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{…®ÜÍšÃÜÞÉí‰ì9Îí•™ÜÑäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{¥&·Gµ9·Wjr{T{s{¥&·Gµ9·ê5·urn¯Ôäö¨ö çöJMnjbn¯Ð•Û£YsœÛsçö„ŽAÎ핚ÜÕäÜ^©ÉíQíAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çö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Î핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çöJMnjrn¯Ôäö¨ö çöFݹ=©cs{…®ÜÍšãÜ^™ÉííAÎ핚ÜÕäÜÞ¨;·'u rn¯Ôäö¨ö çö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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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ö•š`Õä`ߨ;Ø'u b°¯Ðì£Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`_¨×`Ô9ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒì'è*اçH°ÿî9ŽƒýãçÁþý`ÿá{÷þÀÁþ:òÄÃúC#~üñ§ùéÛ?~ü³%Îÿ¨óü?[âo¿~ûÓÏø¬býò½É¹>ÖÇÔÿþðÏ–Ø]+|ªÝµ¾ûTÇ]ëÇ瀮Õä®Õ¨»k%u RתÌK׊âû1ìZ¸ºVkŽ»Ve¦kE´¹kêµkurתÔt­¨ö w­JM׊jrתÔt­¨ö w­FÝ]+©c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=ˆ]«AÓµ’Ùsص*ru­HÖw­ÊL׊hrתÔt­¨ö w­FÝ]+©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Óµ¢ÚƒØµ*tu­hÖw­ÆÜ]+¡c»V¥¦kEµ¹kUjºVT{»V¥¦kEµ¹k5êîZIƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jbתÐÕµ¢Ysܵ*3]+¢=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1ˆ]«BW׊fÍqתÌt­ˆö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^»VPç w­JM׊jrתÔt­¨ö w­JM׊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Û¨;Ì&u b˜­Ð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Î핚ÜÕäÜÞ¨;·'u Rn¯Ì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Ç w­JM׊jrתÔt­¨ö w­JM׊jb×jÐt­döv­Š\]+’5Ç]«2Óµ"ڃܵ*5]+ª=È]«Qw×Jêä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ±kUèêZѬ9ìZ ™®•Èžã®U™éZíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V¡^»VPç w­JM׊jrתÔt­¨ö v­
+]]+š5Ç]«1w×Jèä®U©éZQíAîZ•š®Õä®U©éZQíAîZº»VRÇ w­JM׊jrתÔt­¨ö w­JM׊jr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒØµ*tu­hÖw­ÊL׊hr×jÔݵ’:¹kUjºVT{»V¥¦kEµ¹kUjºVT{»V£î®•Ô1È]«RÓµ¢ÚƒÜµ*5]+ª=È]«RÓµ¢ÚƒÜµuw­¤ŽAîZ•š®Õä®U©éZQíAîZ•š®Õä®Õ¨»k%u bתÐÕµ¢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$u r•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D¥¦JDµ±J4hªD2{«DE®*Éšã*Q™©íA®•š*Õä*Ѩ»J$u r•¨Ô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$t r•¨Ô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Û¨;Ì&u r˜­Ô„Ù¨ö ‡ÙJM˜jb˜­Ðf£Ysf2a6‘=Ça¶2f#Úƒf+5a6ª=Èa¶Rf£Úƒfu‡Ù¤ŽA³•š0Õä0[© ³QíA³•š0Õä0Û¨;Ì&u r˜­Ô„Ù¨ö ‡Ù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Û¨;Ì&u r˜­Ô„Ù¨ö ‡ÙJM˜jr˜­Ô„Ù¨ö ‡ÙFÝa6©cÃl¥&ÌFµ1ÌVè
+³Ñ¬9³•™0Ñä0Û¨;Ì&u r˜­Ô„Ù¨ö ‡Ù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γ•š<Õä<Û¨;Ï&u bž­Ð•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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíA öº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè
+öѬ9ö•™`Ñä`ߨ;Ø'u r°¯Ôû¨ö û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¥¦JDu b•èÔU%²ÚƒX%:uU‰¬ö V‰N]U"«=ˆU¢RS%¢:©Jtè¥Jd³æ°JtæªíA¬ºªDV{«D¥¦JDu b•èÔ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®…z­Aƒ\%*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./•šòÕäòÒ¨»¼$u ry©Ô”—¨ö –—
+]å%š5Çå¥2S^"Úƒ\^u——¤ŽA./•šòÕäòR©)/QíA./•šòÕäòÒ¨»¼$u ry©Ô”—¨ö ——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$u r•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö V‰M•HfÏa•¨ÈU%"Ys\%*3U"¢=ÈU¢RS%¢Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$u r•¨ÔT‰¨ö W‰JM•ˆjr•¨ÔT‰¨ö W‰FÝU"©c«D¥¦JDµ¹JTjªDT{«D…®*ÍšÃ*Ñ©‰ì9®•™*Ñä*Q©©QíA®•š*Õä*Ѩ»J$u r•¨Ô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$u r•¨Ô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®…z­Aƒ\%*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$u r•¨ÔT‰¨ö V‰
+]U"š5ÇU¢2S%"Úƒ\%uW‰¤ŽA®•š*Õä*Q©©QíA®•š*Õä*Ѩ»J$u r•¨Ô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®…z­Aƒ\%*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î×”š~ Õä~ͨ»_#u b¿¦ÐÕ¯¡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Ϩ;Õ#u bª§Ð•ê¡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Ϩ;Õ#u rª§Ô¤z¨ö §zJMª‡jbª§Ð•ê¡Ys˜ê2©‘=Ç©ž2“ê!Úƒœê)5©ª=È©žR“ê¡Úƒœêu§z¤ŽANõ”šTÕäTO©IõPíANõ”šTÕäTϨ;Õ#u rª§Ô¤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Ϩ;Õ#u rª§Ô¤z¨ö §zJMª‡jrª§Ô¤z¨ö §zFÝ©©cS=¥&ÕCµ1ÕSèJõЬ9Nõ”™TÑäTϨ;Õ#u rª§Ô¤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ªnPu 2ÜPÕÀ ¬ö à U ÜÀj2ÜPÕÀ ¬ö à SÝpƒªcᆊ.¸Íšc¸¡šíA†ª¸Õd¸aªnPu 2Ü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­°ÚƒL­T5Ö
+«=ÈÚ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?=œÐt­Gô=]麞ì§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ª=ȵ²Qw­Lêä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ª=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJM­Œjb­¬ÐU+£Ys\++3µ2¢=ȵ²Qw­LêäZY©©•QíA®••šZÕäZY©©•QíA®•ºkeRÇ ×ÊJM­Œjr­¬ÔÔʨö ×ÊJM­Œjr­lÔ]+“:¹VVjjeT{ke¥¦VFµ¹VVjjeT{ke£îZ™Ô1ˆµ²BW­ŒfÍq­¬ÌÔʈö ×ÊJM­Œjr­lÔ]+“:¹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Î!•šÕäÒ¨;‡$u b©Ð•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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û
+]Á>š5ÇÁ¾2ì#Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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 Ø'u r°¯Ôû¨ö û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%u RݪÌ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%u rݪÔÔ­¨ö ×­JMÝŠjbݪÐU·¢YsX·2u+‘=Çu«2S·"Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·u×­¤ŽA®[•šºÕäºU©©[QíA®[•šºÕäºÕ¨»n%u rݪÔÔ­¨ö ×­JMÝŠjrݪÔÔ­¨ö ×­B½Ô­ ÎA®[•šºÕäºU©©[QíA¬[ºêV4kŽëVcÐ1Èu«RS·¢Úƒ\·*5u+ª=Èu«RS·¢Úƒ\·u×­¤ŽA®[•šºÕäºU©©[QíA®[•šºÕäºÕ¨»n%u rݪÔÔ­¨ö ×­JMÝŠjrݪÔÔ­¨ö ×­FÝu+©cëV¥¦nEµ±nUèª[Ѭ9®[•™ºÑäºÕ¨»n%u rݪÔÔ­¨ö ×­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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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•šÕäר;ä%u rȫԄ¼¨ö ‡¼JMÈ‹jrȫԄ¼¨ö ‡¼FÝ!/©cC^…®ÍšãW™ yíAy•šÕäר;ä%u rȫԄ¼¨ö ‡¼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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û
+]Á>š5ÇÁ¾2ì#Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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{ƒ}…®`Íšã`ߘ;Ø't r°¯Ôû¨ö û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íA cœºÂV{ç®0†ÕÄ0F© cPƒÆ8u…1¬ö †1N]a «=ˆaŒSWÃjb£Ô„1¨ŽA cœºÂV{ç®0†Õ¤0Æ¡ç0†Íš£0F‘+ŒA²ç0Œqæ
+cíA cœºÂV{ç®0†ÕÄ0F© cPƒÆ8u…1¬ö †1N]a «=ˆaŒSWÃjb£Ô„1¨ŽA cœºÂV{ç®0†ÕÄ0Æ©+Œaµ1Œ1êcHƒÆ8u…1¬ö †1N]a «=HaŒCÏa ›5‡aŒ2Æ :1Œqê
+cXíA cœºÂV{ç®0†ÕÄ0F© cPƒÆ8u…1¬ö †1N]a «=ˆaŒSWÃjb£Ô„1¨ŽA cœºÂV{ç®0†ÕÄ0Æ©+Œaµ1ŒQjÂTÇ †1N]a «=HaŒCÏa ›5‡aŒ3WÃhb£Ô„1¨ŽA cœºÂV{ç®0†ÕÄ0Æ©+Œaµ1ŒQjÂTÇ †1N]a «=ˆaŒSWÃjbãÔưڃÆ(5a ªcç®0†ÕÄ0Æ©+Œaµ1Œqê
+cXíA c”š0Õ1HaŒCÏa ›5‡aŒ3WÃhbãÔưڃÆ(5a ªcç®0†ÕÄ0Æ©+Œaµ1Œqê
+cXíA cŒºÃ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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíA öº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè
+öѬ9ö•™`Ñä`ߨ;Ø'u r°¯Ôû¨ö û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»”š´ Õä´Ë¨;í"u rÚ¥Ô¤]¨ö ¦]
+]iš5Çi—2“v!Úƒœvu§]¤ŽAN»”š´ Õä´K©I»PíAN»”š´ Õä´Ë¨;í"u rÚ¥Ô¤]¨ö §]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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûM°OfÏa°¯Èì#Ysì+3Á>¢=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}…®`ÍšÃ`ß ö‰ì9ö•™`Ñä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ9ØWj‚}T{ƒ}¥&ØGµ9Øê%Øur°¯Ôû¨ö ûJM°jb°¯Ðì£Ysìsû„ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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{ƒ}¥&ØGu b°ïÔì³Úƒì;uû¬ö ûN]Á>«=ˆÁ¾Rì£:1Øwê
+öYíA öº‚}V{‚}‡žƒ}6kŽ‚}E®`ÉžÃ`ß™+Øg´1Øwê
+öYíA öº‚}V{ƒ}¥&ØGu b°ïÔì³Úƒì;uû¬ö ûN]Á>«=ˆÁ¾Rì£:1Øwê
+öYíA öº‚}V{ƒ}§®`ŸÕÄ`ߨ;Ø'ub°ïÔì³Úƒì;uû¬ö û=ûlÖûÊL°èÄ`ß©+Øgµ1Øwê
+öYíA öº‚}V{ƒ}¥&ØGu b°ïÔì³Úƒì;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ý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cBežC¯Ç0ôWà
+ýQ¬9ý•™ÐÑäÐ_¨—ÐÔ9È¡¿Rú£Úƒú+5¡?ª=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö †þMèOfÏaè¯Èú#Ysú+3¡?¢=È¡¿Rú£Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C…®ÐÍšÃÐß ý‰ì9ý•™ÐÑäÐ_© ýQíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þJMèjrè¯Ô„þ¨ö ‡þFÝ¡?©cC¥&ôGµ9ôWjBT{C¥&ôGµ9ôê%ôurè¯Ô„þ¨ö ‡þJMèjbè¯Ðú£Ysús‡þ„ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þ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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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îõ”š^Õä^Ϩ»×#u r¯§Ôôz¨ö ÷zJM¯‡jr¯§Ôôz¨ö özM¯GfÏa¯§ÈÕë!YsÜë)3½¢=ȽžRÓë¡ÚƒÜëu÷z¤ŽAîõ”š^Õä^O©éõPíAîõ”š^Õä^Ϩ»×#u r¯§Ôôz¨ö ÷zJM¯‡jr¯§Ôôz¨ö ÷zFݽ©c{=¥¦×Cµ¹×Sjz=T{{=…®^ÍšÃ^Ïéõˆì9îõ”™^Ñä^O©éõPíAîõ”š^Õä^Ϩ»×#u r¯§Ôôz¨ö ÷zJM¯‡jr¯§Ôôz¨ö ÷zFݽ©c{=¥¦×Cµ¹×Sjz=T{{=¥¦×Cµ¹×ê¥×ur¯§Ôôz¨ö ÷zJM¯‡jb¯§ÐÕë¡YsÜës÷z„ŽAîõ”š^Õä^O©éõPíAîõ”š^Õä^Ϩ»×#u r¯§Ôô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%u rݪÔÔ­¨ö ×­JMÝŠjrݪÔÔ­¨ö ×­FÝu+©cëV…®ºÍšãºU™©[íA®[•šºÕäºÕ¨»n%u rݪÔÔ­¨ö ×­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ö•š`Õä`ߨ;Ø'u R°¯Ì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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jb°¯Ðì£Ysì2Á>‘=ÇÁ¾2ì#Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûB½û ÎAö•š`Õä`_© öQíA öº‚}4kŽƒ}cî`ŸÐ1ÈÁ¾Rì£Úƒì+5Á>ª=ÈÁ¾Rì£Úƒìuû¤ŽAö•š`Õä`_© öQíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}¥&ØGµ1ØWè
+öѬ9ö•™`Ñä`ߨ;Ø'u r°¯Ôû¨ö û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ý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö †þ
+]¡?š5Ç¡¿2ú#Úƒúu‡þ¤ŽAý•šÐÕäÐ_© ýQíAý•šÐÕäÐߨ;ô'u rè¯Ô„þ¨ö ‡þ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{ƒ}¥&ØGu B°ïÌ_‚}¯Ç(Ø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{ƒ}¥&ØGu b°ïÔì³Úƒì;ôì³Ysì;sûŒö ûJM°êÄ`ß©+Øgµ1Øwê
+öYíA öº‚}V{ƒ}¥&ØGu b°ïÔì³Úƒì;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ýš“ùéS­k®?Ôqèÿö6 ô't rè¯Ô„þ¨ö ‡þ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ö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö ûJM°jr°¯Ôû¨ö ûFÝÁ>©cƒ}…®`Íšã`_™ öíAö•š`Õä`ߨ;Ø'u r°¯Ôû¨ö û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ª‹ÛSu 2·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ª‹ÛSu 2·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ñr sPŽÅšã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ä1 EÞ—Á:
+›¬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º²Æ¾1x­qˆá 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\|?!ó’’þP0 rãŒÄ¬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 ˆY 1ÒÝ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:&ÕÒ©(‰Ô2 H$¸Ó™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œÈò‘h 3?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ˆN 6U´Ø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²%s r¼öÏ›ð~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
+ 1­i±ÙÖÆ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„Y C–‡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–ûV­D¸¼.›¾#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™5 5ü{üëÉÅ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 •’ð2 I YÀ
+Ík›g–ö”™WJ7Uá6—”. x{ªHËL9γ›ßW—»Öàék
+ó)ñ#y¤Í™ªÞÎæó‹›·°﫪0ìúw I„ Y†„Š—­Ûús?d†ÌC ­h–“¶`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ä¥+Ón U‰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`À †upi­yƒ‹å .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Ø!W 0QŽÖã+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ÚDO 4; ¦] 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±¦ï'«2 6Å{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&X kqâ³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ÜÖG z.Ù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 4 O 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ðû4 yæ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ÕrWnOUJ 6$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²U­5¥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ÁêÆ™¾ã ùª ®O Q& <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æûû×*)c GVh¯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ñâm­r „««í*ÌçÉ*Í´ˆã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¢’ m IðÖ!çÎô¼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ç|q a³Òá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•mH Ež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õ%ûn­oÊÍ>˜¯ƒ¿¿Ÿ\,ú,$g$ä扒ƒ<9÷#‰”&QÆHɘP¡ÚDMNîåkJJ"e„\%àÙ(æuZm³õuSgÅ'«y#ÂE'>ÏÓÝEjØ¢}Ìc@~<ÁÐÙVr¿\}ÖëÆŒC¿ÖU­wº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#ï@x u 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€+ ÌŒ:ÔÁÐñB­2=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¶§N TiÎÏ)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èÙ¿œÂ9 N¨ß!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=Ô8V­O ®" 8—‚o‚_ç—Þ–j¿Ì-ÇLø÷š¯SÞÚÅ,XÝŠ3>7³™X 9›©Ì¼"_'«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
new file mode 100644
index 00000000..d74f6704
--- /dev/null
+++ b/pow/POW-0.7/docs/POW_pdf.dsl
@@ -0,0 +1,112 @@
+<!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
new file mode 100755
index 00000000..0a0e4450
--- /dev/null
+++ b/pow/POW-0.7/docs/doc.py
@@ -0,0 +1,52 @@
+#!/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
new file mode 100755
index 00000000..32fe72e9
--- /dev/null
+++ b/pow/POW-0.7/docs/doc.sh
@@ -0,0 +1,13 @@
+#!/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
new file mode 100644
index 00000000..61b95670
--- /dev/null
+++ b/pow/POW-0.7/docs/doc.xsl
@@ -0,0 +1,188 @@
+<?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
new file mode 100644
index 00000000..1aa6fedd
--- /dev/null
+++ b/pow/POW-0.7/dumpasn1.cfg
@@ -0,0 +1,5276 @@
+# 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 which 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.
+#
+# 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)
+# conflicts with more useful definition
+
+#OID = 06 07 02 82 06 01 0A 02 00
+#Comment = Telesec module
+#Description = algorithms (0 2 262 1 10 2 0)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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 2A
+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)
+
+OID = 06 07 02 82 06 01 0A 0C 00
+Comment = Telesec cert/CRL extension
+Description = certExtensionLiabilityLimitationExt (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)
+
+# 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.
+
+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)
+
+# Certificates Australia
+
+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 0B 2A 83 08 8C 1A 4B 3D 01 01 01
+Comment = Mitsubishi security algorithm
+Description = symmetric-encryption-algorithm (1 2 392 200011 61 1 1 1)
+
+OID = 06 0C 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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+#OID = 06 06 2A 86 48 CE 38 03 01
+#Comment = ANSI X9.57 attribute
+#Description = countersignature (1 2 840 10040 3 1)
+# conflicts with more useful definition
+
+OID = 06 06 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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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 09 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 0A 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 0A 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 0A 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)
+
+# 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)
+
+# 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 (1 2 840 113533 7 65)
+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 (1 2 840 113533 7 66)
+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 (1 2 840 113533 7 66)
+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 (1 2 840 113533 7 66)
+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 (1 2 840 113533 7 66)
+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 (1 2 840 113533 7 66)
+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 0C
+Comment = Nortel Secure Networks oc (1 2 840 113533 7 67)
+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 (1 2 840 113533 7 68)
+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 (1 2 840 113533 7 68)
+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)
+
+# 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 SET will be a bigger hammer (at least as a
+# standard) 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)
+Description = ripemd160WithRSAEncryption (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 01
+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 09 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 09 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 09 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 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 (1 2 840 113549 1 9) experimental
+Description = signingDescription (1 2 840 113549 1 9 13)
+Warning
+
+OID = 06 09 2A 86 48 86 F7 0D 01 09 0E
+Comment = PKCS #9 (1 2 840 113549 1 9) experimental
+Description = extensionReq (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 (1 2 840 113549 1 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 (1 2 840 113549 1 9 15)
+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 (1 2 840 113549 1 9 15)
+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 (1 2 840 113549 1 9 15). 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 (1 2 840 113549 1 9 15). 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 (1 2 840 113549 1 9 15). 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 (1 2 840 113549 1 9 15). 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 (1 2 840 113549 1 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 (1 2 840 113549 1 9 16)
+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 (1 2 840 113549 1 9 16 0)
+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 (1 2 840 113549 1 9 16 0)
+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 (1 2 840 113549 1 9 16 0)
+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 (1 2 840 113549 1 9 16 0)
+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 (1 2 840 113549 1 9 16 0)
+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 (1 2 840 113549 1 9 16 0)
+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 (1 2 840 113549 1 9 16 0)
+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 (1 2 840 113549 1 9 16 0)
+Description = id-mod-ets-eSigPolicy-97 (1 2 840 113549 1 9 16 0 8)
+
+OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 01
+Comment = id-sMIME (1 2 840 113549 1 9 16)
+Description = id-ct (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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-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 (1 2 840 113549 1 9 16 1)
+Description = id-ct-DVCSResponseData (1 2 840 113549 1 9 16 1 8)
+
+OID = 06 0B 2A 86 48 86 F7 0D 01 09 10 01 07
+Comment = S/MIME Content Types (1 2 840 113549 1 9 16 1)
+Description = id-ct-compressedData (1 2 840 113549 1 9 16 1 9)
+
+OID = 06 0A 2A 86 48 86 F7 0D 01 09 10 02
+Comment = id-sMIME (1 2 840 113549 1 9 16)
+Description = id-aa (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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2). Obsolete
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2). Obsolete
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-ets-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 2)
+Description = id-aa-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 (1 2 840 113549 1 9 16 3). Obsolete
+Description = id-alg-ESDHwith3DES (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 (1 2 840 113549 1 9 16 3). Obsolete
+Description = id-alg-ESDHwithRC2 (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 (1 2 840 113549 1 9 16 3). Obsolete
+Description = id-alg-3DESwrap (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 (1 2 840 113549 1 9 16 3). Obsolete
+Description = id-alg-RC2wrap (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 (1 2 840 113549 1 9 16 3)
+Description = id-alg-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 (1 2 840 113549 1 9 16 3)
+Description = id-alg-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 (1 2 840 113549 1 9 16 3)
+Description = id-alg-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 (1 2 840 113549 1 9 16 3)
+Description = id-alg-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 (1 2 840 113549 1 9 16 3)
+Description = id-alg-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 (1 2 840 113549 1 9 16 4)
+Description = id-cd-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 (1 2 840 113549 1 9 16 5)
+Description = id-spq-ets-sqt-uri (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 (1 2 840 113549 1 9 16 5)
+Description = id-spq-ets-sqt-unotice (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 Signature Policy Qualifier (1 2 840 113549 1 9 16 6)
+Description = id-cti-ets-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 Signature Policy Qualifier (1 2 840 113549 1 9 16 6)
+Description = id-cti-ets-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 Signature Policy Qualifier (1 2 840 113549 1 9 16 6)
+Description = id-cti-ets-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 Signature Policy Qualifier (1 2 840 113549 1 9 16 6)
+Description = id-cti-ets-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 Signature Policy Qualifier (1 2 840 113549 1 9 16 6)
+Description = id-cti-ets-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 Signature Policy Qualifier (1 2 840 113549 1 9 16 6)
+Description = id-cti-ets-proofOfCreation (1 2 840 113549 1 9 16 6 6)
+
+# PKCS #9 for use with PKCS #12
+
+OID = 06 09 2A 86 48 86 F7 0D 01 09 14
+Comment = PKCS #9 (1 2 840 113549 1 9)
+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 (1 2 840 113549 1 9)
+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 (1 2 840 113549 1 9)
+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 (1 2 840 113549 1 9)
+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 (1 2 840 113549 1 9)
+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 (1 2 840 113549 1 9)
+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 (1 2 840 113549 1 9)
+Description = x509Crl (for PKCS #12) (1 2 840 113549 1 9 23 1)
+
+# 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 (1 2 840 113549 1 12 1). 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 (1 2 840 113549 1 12 2). 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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 2). 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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 3)
+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 (1 2 840 113549 1 12 4). 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 (1 2 840 113549 1 12 4). 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 (1 2 840 113549 1 12 5). 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 (1 2 840 113549 1 12 5 1). 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 (1 2 840 113549 1 12 5 1). 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 (1 2 840 113549 1 12 5 1). 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 (1 2 840 113549 1 12 5 1). 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 (1 2 840 113549 1 12 5 1). 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 (1 2 840 113549 1 12 5 1). 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 (1 2 840 113549 1 12 5 1). 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
+Description = pkcs-12-EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead
+Warning
+
+OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 02 01
+Comment = PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). 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 (1 2 840 113549 1 12 5 2). 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 (1 2 840 113549 1 12 5 2). 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
+Description = pkcs-12-SignatureID (1 2 840 113549 1 12 5 3). Deprecated, use the conventional PKCS #1 OIDs instead
+Warning
+
+OID = 06 0B 2A 86 48 86 F7 0D 01 0C 05 03 01
+Comment = PKCS #12 OID SignatureID (1 2 840 113549 1 12 5 3). 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 (1 2 840 113549 1 12 10 1)
+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 (1 2 840 113549 1 12 10 1)
+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 (1 2 840 113549 1 12 10 1)
+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 (1 2 840 113549 1 12 10 1)
+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 (1 2 840 113549 1 12 10 1)
+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 (1 2 840 113549 1 12 10 1)
+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 08 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 (1 2 840 113549 2)
+Description = md2 (1 2 840 113549 2 2)
+
+#OID = 06 08 2A 86 48 86 F7 0D 02 04
+#Comment = RSADSI digestAlgorithm (1 2 840 113549 2)
+#Description = md4 (1 2 840 113549 2 4)
+# conflicts with more useful definition
+
+#OID = 06 08 2A 86 48 86 F7 0D 02 05
+#Comment = RSADSI digestAlgorithm (1 2 840 113549 2)
+#Description = md5 (1 2 840 113549 2 5)
+# conflicts with more useful definition
+
+OID = 06 08 2A 86 48 86 F7 0D 02 07
+Comment = RSADSI digestAlgorithm (1 2 840 113549 2)
+Description = hmacWithSHA1 (1 2 840 113549 2 7)
+
+# RSADSI encryption algorithms
+
+OID = 06 08 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 (1 2 840 113549 3)
+Description = rc2CBC (1 2 840 113549 3 2)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 03
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3)
+Description = rc2ECB (1 2 840 113549 3 3)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 04
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3)
+Description = rc4 (1 2 840 113549 3 4)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 05
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3)
+Description = rc4WithMAC (1 2 840 113549 3 5)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 06
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3)
+Description = desx-CBC (1 2 840 113549 3 6)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 07
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3)
+Description = des-EDE3-CBC (1 2 840 113549 3 7)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 08
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3)
+Description = rc5CBC (1 2 840 113549 3 8)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 09
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3)
+Description = rc5-CBCPad (1 2 840 113549 3 9)
+
+OID = 06 08 2A 86 48 86 F7 0D 03 0A
+Comment = RSADSI encryptionAlgorithm (1 2 840 113549 3). 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)
+
+# 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)
+# conflicts with more useful definition
+
+#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)
+# conflicts with more useful definition
+
+#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)
+# conflicts with more useful definition
+
+#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)
+# conflicts with more useful definition
+
+# Microsoft
+
+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 00)
+
+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 174)
+
+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 09 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 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 = spcPelmageData (1 3 6 1 4 1 311 2 1 15)
+
+OID = 06 0A 2B 06 01 04 01 82 37 02 01 14
+Comment = Microsoft code signing. Also known as "glue extension"
+Description = spcLink (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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+OID = 06 0A 2B 06 01 04 01 82 37 03 02 01
+Comment = Microsoft code signing
+Description = timestampCountersignature (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)
+# conflicts with more useful definition
+
+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)
+
+# 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 0A 2B 06 01 04 01 82 37 10 04
+Comment = Microsoft attribute
+Description = microsoftRecipientInfo (1 3 6 1 4 1 311 16 4)
+
+# 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 which people are
+# shovelling into certs which 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)
+
+# 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)
+
+# 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 09 2B 06 01 04 01 97 55 03 01
+Comment = cryptlib attribute type
+Description = cryptlibPKIXFix (1 3 6 1 4 1 3029 3 1)
+
+OID = 06 0A 2B 06 01 04 01 97 55 03 01 01
+Comment = cryptlib PKIX fix attribute
+Description = cryptlibPresenceCheck (1 3 6 1 4 1 3029 3 1 1)
+
+OID = 06 0A 2B 06 01 04 01 97 55 04 01 01
+Comment = cryptlib attribute type
+Description = cryptlibAttribute (1 3 6 1 4 1 3029 4 1 1)
+
+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 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)
+
+# Timeproof (www.timeproof.de)
+
+OID = 06 09 2B 06 01 04 01 AA 60
+Comment = enterprise
+Description = timeproof (1 3 6 1 4 1 5472)
+
+OID = 06 09 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 01
+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 01
+Comment = timeproof TSS
+Description = tss400 (1 3 6 1 4 1 5472 1 3)
+
+# PKIX
+
+OID = 06 06 2B 06 01 05 05 07
+Description = pkix (1 3 6 1 5 5 7)
+
+OID = 06 06 2B 06 01 05 05 07
+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 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 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)
+# conflicts with more useful definition
+
+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 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 = (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
+#Description = personalData (1 3 6 1 5 5 7 9)
+# conflicts with more useful definition
+
+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 = pseudonym (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 = gender (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 = countryOfCitizenship (1 3 6 1 5 5 7 9 5)
+
+OID = 06 08 2B 06 01 05 05 07 09 06
+Comment = PKIX personal data
+Description = countryOfResidence (1 3 6 1 5 5 7 9 6)
+
+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)
+
+# 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)
+
+# AuthorityInfo types (OCSP is already listed above)
+
+OID = 06 08 2B 06 01 05 05 07 30 02
+Comment = PKIX 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 authority info access descriptor
+Description = timeStamping (1 3 6 1 5 5 7 48 3)
+
+# 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 07 2B 0C 02 87 73 07 02 01
+Comment = DASS hash algorithm
+Description = decMD2 (1 3 12 2 1011 7 2 1)
+
+OID = 06 07 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 07 2B 0C 02 87 73 07 03 01
+Comment = DASS signature algorithm
+Description = decMD2withRSA (1 3 12 2 1011 7 3 1)
+
+OID = 06 07 2B 0C 02 87 73 07 03 02
+Comment = DASS signature algorithm
+Description = decMD4withRSA (1 3 12 2 1011 7 3 2)
+
+OID = 06 07 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)
+# conflicts with more useful definition
+
+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
+# conflicts with more useful definition
+
+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>WithRSASIsignature 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
+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)
+# conflicts with more useful definition
+
+#OID = 06 04 2B 24 03 01
+#Comment = Teletrust algorithm
+#Description = encryptionAlgorithm (1 3 36 3 1)
+# conflicts with more useful definition
+
+#OID = 06 05 2B 24 03 01 01
+#Comment = Teletrust encryption algorithm
+#Description = des (1 3 36 3 1 1)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+#OID = 06 06 2B 24 03 01 02 01
+#Comment = Teletrust encryption algorithm
+#Description = ideaECB (1 3 36 3 1 2 1)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+#OID = 06 06 2B 24 03 01 02 04
+#Comment = Teletrust encryption algorithm
+#Description = ideaCFB (1 3 36 3 1 2 4)
+# conflicts with more useful definition
+
+#OID = 06 05 2B 24 03 01 04
+#Comment = Teletrust encryption algorithm
+#Description = rsaEncryption (1 3 36 3 1 4)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+#OID = 06 05 2B 24 03 02 02
+#Comment = Teletrust hash algorithm
+#Description = ripemd128 (1 3 36 3 2 2)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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 892 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 11
+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 11
+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 11
+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 11
+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 11
+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 892 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 11
+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 11
+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 11
+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 11
+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 11
+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 05 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)
+# conflicts with more useful definition
+
+#OID = 06 03 2B 24 05
+#Comment = Teletrust policy
+#Description = policy (1 3 36 5)
+# conflicts with more useful definition
+
+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 SigiSigConform 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)
+# conflicts with more useful definition
+
+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)
+
+OID = 06 05 2B 24 08 03 0B
+Comment = Teletrust attribute
+Description = namingAuthorities (1 3 36 8 3 11)
+
+OID = 06 05 2B 24 08 03 0C
+Comment = Teletrust attribute
+Description = certInDirSince (1 3 36 8 3 12)
+
+OID = 06 05 2B 24 08 03 0D
+Comment = Teletrust attribute
+Description = certHash (1 3 36 8 3 13)
+
+#OID = 06 05 2B 24 08 04 01
+#Comment = Teletrust OtherName attribute
+#Description = personalData (1 3 36 8 4 1)
+# conflicts with more useful definition
+
+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)
+# conflicts with more useful definition
+
+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)
+
+# 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)
+
+# X.520
+
+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 = clearance (2 5 4 55)
+
+#OID = 06 03 55 04 3A
+#Comment = X.520 id-at (2 5 4)
+#Description = crossCertificatePair (2 5 4 58)
+# conflicts with more useful definition
+
+# 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
+# conflicts with more useful definition
+
+# 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
+# conflicts with more useful definition
+
+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
+# conflicts with more useful definition
+
+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
+# conflicts with more useful definition
+
+#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
+# conflicts with more useful definition
+
+#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
+# conflicts with more useful definition
+
+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
+# conflicts with more useful definition
+
+#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
+# conflicts with more useful definition
+
+#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
+# conflicts with more useful definition
+
+#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
+# conflicts with more useful definition
+
+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
+# conflicts with more useful definition
+
+#ID = 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
+# conflicts with more useful definition
+
+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 policyIdentifier (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
+# conflicts with more useful definition
+
+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)
+
+# 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 50
+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 51
+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 52
+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)
+# conflicts with more useful definition
+
+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 0B 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 0B 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 0B 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 0B 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 0B 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 0B 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 0B 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 0B 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 0B 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
+# conflicts with more useful definition
+
+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)
+
+# 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 0B 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 0B 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
+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
+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
+#Description = Unknown Verisign VPN extension (2 16 840 1 113733 1 6 11)
+# conflicts with more useful definition
+
+OID = 06 0A 60 86 48 01 86 F8 45 01 06 0D
+Comment = Verisign
+Description = Unknown Verisign VPN extension (2 16 840 1 113733 1 6 13)
+
+OID = 06 0B 60 86 48 01 86 F8 45 01 07 01 01
+Comment = Verisign
+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 (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 (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)
+
+# SET
+
+#OID = 06 03 67 2A 00
+#Comment = SET
+#Description = contentType (2 23 42 0)
+# conflicts with more useful definition
+
+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 which 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)
+# conflicts with more useful definition
+
+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 7 11)
+
+OID = 06 04 67 2A 02 0C
+Comment = SET field
+Description = passPhrase (2 23 42 2 7 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 E2 00
+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 04 86 8D 6F 02
+#Comment = SET. Deprecated, use (2 23 42 7 0) instead
+#Description = hashedRootKey (2 54 1775 2)
+#Warning
+# conflicts with more useful definition
+
+#OID = 06 04 86 8D 6F 03
+#Comment = SET. Deprecated, use (2 23 42 7 0) instead
+#Description = certificateType (2 54 1775 3)
+#Warning
+# conflicts with more useful definition
+
+#OID = 06 04 86 8D 6F 04
+#Comment = SET. Deprecated, use (2 23 42 7 0) instead
+#Description = merchantData (2 54 1775 4)
+#Warning
+# conflicts with more useful definition
+
+#OID = 06 04 86 8D 6F 05
+#Comment = SET. Deprecated, use (2 23 42 7 0) instead
+#Description = cardCertRequired (2 54 1775 5)
+#Warning
+# conflicts with more useful definition
+
+#OID = 06 04 86 8D 6F 06
+#Comment = SET. Deprecated, use (2 23 42 7 0) instead
+#Description = tunneling (2 54 1775 6)
+#Warning
+# conflicts with more useful definition
+
+#OID = 06 04 86 8D 6F 07
+#Comment = SET. Deprecated, use (2 23 42 7 0) instead
+#Description = setQualifier (2 54 1775 7)
+#Warning
+# conflicts with more useful definition
+
+OID = 06 04 86 8D 6F 63
+Comment = SET. Deprecated, use (2 23 42 7 0) instead
+Description = set-data (2 54 1775 99)
+Warning
+
+# End of Fahnenstange
diff --git a/pow/POW-0.7/lib/__init__.py b/pow/POW-0.7/lib/__init__.py
new file mode 100644
index 00000000..1140ec1f
--- /dev/null
+++ b/pow/POW-0.7/lib/__init__.py
@@ -0,0 +1,2 @@
+from _POW import *
+from _POW import _docset
diff --git a/pow/POW-0.7/lib/_der.py b/pow/POW-0.7/lib/_der.py
new file mode 100644
index 00000000..590185c4
--- /dev/null
+++ b/pow/POW-0.7/lib/_der.py
@@ -0,0 +1,2281 @@
+#*****************************************************************************#
+#* *#
+#* 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:
+ 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:
+ 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 = 0
+ 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):
+ 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:
+ 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:
+
+ _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 != 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 != 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 == 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 == 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 != None and self.normform != None and self.normnumber != 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 == 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 == 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 == 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 == 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 == 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 == 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 == 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 == 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 )
+
+_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:
+
+ _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 isinstance(val, types.NoneType):
+ 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 == 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/_objects.py b/pow/POW-0.7/lib/_objects.py
new file mode 100644
index 00000000..cae45040
--- /dev/null
+++ b/pow/POW-0.7/lib/_objects.py
@@ -0,0 +1,5944 @@
+data = {'': {'comment': 'PKIX CRMF registration control',
+ 'description': '(1 3 6 1 5 5 7 5 2)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 02 01',
+ 'name': '',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 2)},
+ 'AmericanExpress': {'comment': 'SET brand',
+ 'description': 'AmericanExpress (2 23 42 8 34)',
+ 'hexoid': '06 05 67 2A 08 AE 7B',
+ 'name': 'AmericanExpress',
+ 'oid': (2, 23, 42, 8, 34)},
+ 'Antares': {'comment': 'SET vendor',
+ 'description': 'Antares (2 23 42 9 14)',
+ 'hexoid': '06 04 67 2A 09 0F',
+ 'name': 'Antares',
+ 'oid': (2, 23, 42, 9, 14)},
+ 'AnyPolicy policyIdentifier': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'AnyPolicy policyIdentifier (2 5 29 32 0)',
+ 'hexoid': '06 03 55 1D 21',
+ 'name': 'AnyPolicy policyIdentifier',
+ 'oid': (2, 5, 29, 32, 0)},
+ 'BankGate': {'comment': 'SET vendor',
+ 'description': 'BankGate (2 23 42 9 7)',
+ 'hexoid': '06 04 67 2A 09 08',
+ 'name': 'BankGate',
+ 'oid': (2, 23, 42, 9, 7)},
+ 'BlueMoney': {'comment': 'SET vendor',
+ 'description': 'BlueMoney (2 23 42 9 19)',
+ 'hexoid': '06 04 67 2A 09 14',
+ 'name': 'BlueMoney',
+ 'oid': (2, 23, 42, 9, 19)},
+ 'Certicom': {'comment': 'SET vendor',
+ 'description': 'Certicom (2 23 42 9 11)',
+ 'hexoid': '06 04 67 2A 09 0C',
+ 'name': 'Certicom',
+ 'oid': (2, 23, 42, 9, 11)},
+ 'Certificates Australia policyIdentifier': {'comment': 'Certificates Australia CA',
+ 'description': 'Certificates Australia policyIdentifier (1 2 36 75878867 1 100 1 1)',
+ 'hexoid': '06 0A 2A 24 A4 97 A3 53 01 64 01 01',
+ 'name': 'Certificates Australia policyIdentifier',
+ 'oid': (1,
+ 2,
+ 36,
+ 75878867,
+ 1,
+ 100,
+ 1,
+ 1)},
+ 'CompuSource': {'comment': 'SET vendor',
+ 'description': 'CompuSource (2 23 42 9 9)',
+ 'hexoid': '06 04 67 2A 09 0A',
+ 'name': 'CompuSource',
+ 'oid': (2, 23, 42, 9, 9)},
+ 'CyberCash': {'comment': 'SET vendor',
+ 'description': 'CyberCash (2 23 42 9 2)',
+ 'hexoid': '06 04 67 2A 09 03',
+ 'name': 'CyberCash',
+ 'oid': (2, 23, 42, 9, 2)},
+ 'Diners': {'comment': 'SET brand',
+ 'description': 'Diners (2 23 42 8 30)',
+ 'hexoid': '06 04 67 2A 08 22',
+ 'name': 'Diners',
+ 'oid': (2, 23, 42, 8, 30)},
+ 'ECC': {'comment': 'SET vendor',
+ 'description': 'ECC (2 23 42 9 15)',
+ 'hexoid': '06 04 67 2A 09 10',
+ 'name': 'ECC',
+ 'oid': (2, 23, 42, 9, 15)},
+ 'ElGamal': {'comment': 'Unsure about this OID',
+ 'description': 'ElGamal (1 3 14 7 2 1 1)',
+ 'hexoid': '06 06 2B 0E 07 02 03 01',
+ 'name': 'ElGamal',
+ 'oid': (1, 3, 14, 7, 2, 1, 1)},
+ 'EntityLogo': {'comment': 'Netscape certificate extension',
+ 'description': 'EntityLogo (2 16 840 1 113730 1 10)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0B',
+ 'name': 'EntityLogo',
+ 'oid': (2, 16, 840, 1, 113730, 1, 10)},
+ 'Entrust': {'comment': 'SET vendor',
+ 'description': 'Entrust (2 23 42 9 23)',
+ 'hexoid': '06 04 67 2A 09 18',
+ 'name': 'Entrust',
+ 'oid': (2, 23, 42, 9, 23)},
+ 'FBCA-Basic policyIdentifier': {'comment': 'Federal Bridge CA Policy',
+ 'description': 'FBCA-Basic policyIdentifier (2 16 840 1 101 3 2 1 3 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 03',
+ 'name': 'FBCA-Basic policyIdentifier',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 1, 3, 2)},
+ 'FBCA-High policyIdentifier': {'comment': 'CSOR GAK extended key usage',
+ 'description': 'FBCA-High policyIdentifier (2 16 840 1 101 3 2 1 3 4)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 02',
+ 'name': 'FBCA-High policyIdentifier',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 1, 3, 4)},
+ 'FBCA-Medium policyIdentifier': {'comment': 'Federal Bridge CA Policy',
+ 'description': 'FBCA-Medium policyIdentifier (2 16 840 1 101 3 2 1 3 3)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 04',
+ 'name': 'FBCA-Medium policyIdentifier',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 1, 3, 3)},
+ 'FBCA-Rudimentary policyIdentifier': {'comment': 'Federal Bridge CA Policy',
+ 'description': 'FBCA-Rudimentary policyIdentifier (2 16 840 1 101 3 2 1 3 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 02',
+ 'name': 'FBCA-Rudimentary policyIdentifier',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 3,
+ 2,
+ 1,
+ 3,
+ 1)},
+ 'Fujitsu': {'comment': 'SET vendor',
+ 'description': 'Fujitsu (2 23 42 9 21)',
+ 'hexoid': '06 04 67 2A 09 16',
+ 'name': 'Fujitsu',
+ 'oid': (2, 23, 42, 9, 21)},
+ 'GAK': {'comment': 'CSOR GAK extended key usage',
+ 'description': 'GAK (2 16 840 1 101 3 2 2)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 02 01',
+ 'name': 'GAK',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 2)},
+ 'GAK policyIdentifier': {'comment': 'Federal Bridge CA Policy',
+ 'description': 'GAK policyIdentifier (2 16 840 1 101 3 2 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 01',
+ 'name': 'GAK policyIdentifier',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 1)},
+ 'GTE': {'comment': 'SET vendor',
+ 'description': 'GTE (2 23 42 9 8)',
+ 'hexoid': '06 04 67 2A 09 09',
+ 'name': 'GTE',
+ 'oid': (2, 23, 42, 9, 8)},
+ 'Gemplus': {'comment': 'SET',
+ 'description': 'Gemplus (2 23 42 9 38)',
+ 'hexoid': '06 03 67 2A 0A',
+ 'name': 'Gemplus',
+ 'oid': (2, 23, 42, 9, 38)},
+ 'GlobeSet': {'comment': 'SET vendor',
+ 'description': 'GlobeSet (2 23 42 9 0)',
+ 'hexoid': '06 04 67 2A 09 01',
+ 'name': 'GlobeSet',
+ 'oid': (2, 23, 42, 9, 0)},
+ 'Griffin': {'comment': 'SET vendor',
+ 'description': 'Griffin (2 23 42 9 10)',
+ 'hexoid': '06 04 67 2A 09 0B',
+ 'name': 'Griffin',
+ 'oid': (2, 23, 42, 9, 10)},
+ 'Hitachi': {'comment': 'SET vendor',
+ 'description': 'Hitachi (2 23 42 9 32)',
+ 'hexoid': '06 04 67 2A 09 21',
+ 'name': 'Hitachi',
+ 'oid': (2, 23, 42, 9, 32)},
+ 'HomePage-url': {'comment': 'Netscape certificate extension',
+ 'description': 'HomePage-url (2 16 840 1 113730 1 9)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0A',
+ 'name': 'HomePage-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 9)},
+ 'IATA-ATA': {'comment': 'SET brand',
+ 'description': 'IATA-ATA (2 23 42 8 1)',
+ 'hexoid': '06 04 67 2A 08 04',
+ 'name': 'IATA-ATA',
+ 'oid': (2, 23, 42, 8, 1)},
+ 'IBM': {'comment': 'SET vendor',
+ 'description': 'IBM (2 23 42 9 1)',
+ 'hexoid': '06 04 67 2A 09 02',
+ 'name': 'IBM',
+ 'oid': (2, 23, 42, 9, 1)},
+ 'ICE-TEL Italian policyIdentifier': {'comment': 'cryptlib encryption algorithm',
+ 'description': 'ICE-TEL Italian policyIdentifier (1 3 6 1 4 1 2786 1 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 01',
+ 'name': 'ICE-TEL Italian policyIdentifier',
+ 'oid': (1,
+ 3,
+ 6,
+ 1,
+ 4,
+ 1,
+ 2786,
+ 1,
+ 1,
+ 1)},
+ 'ICE-TEL policyIdentifier': {'comment': 'ICE-TEL CA policy',
+ 'description': 'ICE-TEL policyIdentifier (1 3 6 1 4 1 2712 10)',
+ 'hexoid': '06 0A 2B 06 01 04 01 95 62 01 01 01',
+ 'name': 'ICE-TEL policyIdentifier',
+ 'oid': (1, 3, 6, 1, 4, 1, 2712, 10)},
+ 'III': {'comment': 'SET vendor',
+ 'description': 'III (2 23 42 9 25)',
+ 'hexoid': '06 04 67 2A 09 1A',
+ 'name': 'III',
+ 'oid': (2, 23, 42, 9, 25)},
+ 'IKEhmacWithMD5-RSA': {'comment': 'Novell encryption algorithm',
+ 'description': 'IKEhmacWithMD5-RSA (2 16 840 1 113719 1 2 8 52)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 45',
+ 'name': 'IKEhmacWithMD5-RSA',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 52)},
+ 'IKEhmacWithSHA1-RSA': {'comment': 'Novell signature algorithm',
+ 'description': 'IKEhmacWithSHA1-RSA (2 16 840 1 113719 1 2 8 51)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 34',
+ 'name': 'IKEhmacWithSHA1-RSA',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 51)},
+ 'Identrus unknown policyIdentifier': {'comment': 'Identrus',
+ 'description': 'Identrus unknown policyIdentifier (1 2 840 114021 1 6 1)',
+ 'hexoid': '06 08 2A 86 48 86 FA 65 04 01',
+ 'name': 'Identrus unknown policyIdentifier',
+ 'oid': (1, 2, 840, 114021, 1, 6, 1)},
+ 'Intertrader': {'comment': 'SET vendor',
+ 'description': 'Intertrader (2 23 42 9 28)',
+ 'hexoid': '06 04 67 2A 09 1D',
+ 'name': 'Intertrader',
+ 'oid': (2, 23, 42, 9, 28)},
+ 'Japan': {'comment': 'SET. Deprecated, use (2 23 42 7 0) instead',
+ 'description': 'Japan (2 23 42 10 392)',
+ 'hexoid': '06 04 86 8D 6F 63',
+ 'name': 'Japan',
+ 'oid': (2, 23, 42, 10, 392)},
+ 'LMDigest': {'comment': 'Novell digest algorithm',
+ 'description': 'LMDigest (2 16 840 1 113719 1 2 8 32)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 28',
+ 'name': 'LMDigest',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 32)},
+ 'Lacerte': {'comment': 'SET vendor',
+ 'description': 'Lacerte (2 23 42 9 20)',
+ 'hexoid': '06 04 67 2A 09 15',
+ 'name': 'Lacerte',
+ 'oid': (2, 23, 42, 9, 20)},
+ 'Lexem': {'comment': 'SET vendor',
+ 'description': 'Lexem (2 23 42 9 27)',
+ 'hexoid': '06 04 67 2A 09 1C',
+ 'name': 'Lexem',
+ 'oid': (2, 23, 42, 9, 27)},
+ 'MD2': {'comment': 'Novell digest algorithm',
+ 'description': 'MD2 (2 16 840 1 113719 1 2 8 40)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 32',
+ 'name': 'MD2',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 40)},
+ 'MD4': {'comment': 'Novell keyed hash',
+ 'description': 'MD4 (2 16 840 1 113719 1 2 8 95)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 81 02',
+ 'name': 'MD4',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 95)},
+ 'MD4Packet': {'comment': 'Novell encryption algorithm',
+ 'description': 'MD4Packet (2 16 840 1 113719 1 2 8 130)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 37 01 02 08 81 03',
+ 'name': 'MD4Packet',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 130)},
+ 'MD5': {'comment': 'Novell signature algorithm',
+ 'description': 'MD5 (2 16 840 1 113719 1 2 8 50)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 33',
+ 'name': 'MD5',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 50)},
+ 'Maithean': {'comment': 'SET vendor',
+ 'description': 'Maithean (2 23 42 9 16)',
+ 'hexoid': '06 04 67 2A 09 11',
+ 'name': 'Maithean',
+ 'oid': (2, 23, 42, 9, 16)},
+ 'MasterCard': {'comment': 'SET brand',
+ 'description': 'MasterCard (2 23 42 8 5)',
+ 'hexoid': '06 04 67 2A 08 1E',
+ 'name': 'MasterCard',
+ 'oid': (2, 23, 42, 8, 5)},
+ 'Microsoft': {'comment': 'SET vendor',
+ 'description': 'Microsoft (2 23 42 9 33)',
+ 'hexoid': '06 04 67 2A 09 22',
+ 'name': 'Microsoft',
+ 'oid': (2, 23, 42, 9, 33)},
+ 'Mitsubishi': {'comment': 'SET vendor',
+ 'description': 'Mitsubishi (2 23 42 9 35)',
+ 'hexoid': '06 04 67 2A 09 24',
+ 'name': 'Mitsubishi',
+ 'oid': (2, 23, 42, 9, 35)},
+ 'NABLE': {'comment': 'SET vendor',
+ 'description': 'NABLE (2 23 42 9 30)',
+ 'hexoid': '06 04 67 2A 09 1F',
+ 'name': 'NABLE',
+ 'oid': (2, 23, 42, 9, 30)},
+ 'NCR': {'comment': 'SET vendor',
+ 'description': 'NCR (2 23 42 9 36)',
+ 'hexoid': '06 04 67 2A 09 25',
+ 'name': 'NCR',
+ 'oid': (2, 23, 42, 9, 36)},
+ 'NEC': {'comment': 'SET vendor',
+ 'description': 'NEC (2 23 42 9 34)',
+ 'hexoid': '06 04 67 2A 09 23',
+ 'name': 'NEC',
+ 'oid': (2, 23, 42, 9, 34)},
+ 'NWPassword': {'comment': 'Novell encryption algorithm',
+ 'description': 'NWPassword (2 16 840 1 113719 1 2 8 132)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 81 05',
+ 'name': 'NWPassword',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 132)},
+ 'Netscape': {'comment': 'SET vendor',
+ 'description': 'Netscape (2 23 42 9 17)',
+ 'hexoid': '06 04 67 2A 09 12',
+ 'name': 'Netscape',
+ 'oid': (2, 23, 42, 9, 17)},
+ 'Novus': {'comment': 'SET',
+ 'description': 'Novus (2 23 42 8 6011)',
+ 'hexoid': '06 03 67 2A 09',
+ 'name': 'Novus',
+ 'oid': (2, 23, 42, 8, 6011)},
+ 'OSS': {'comment': 'SET vendor',
+ 'description': 'OSS (2 23 42 9 12)',
+ 'hexoid': '06 04 67 2A 09 0D',
+ 'name': 'OSS',
+ 'oid': (2, 23, 42, 9, 12)},
+ 'OpenMarket': {'comment': 'SET vendor',
+ 'description': 'OpenMarket (2 23 42 9 26)',
+ 'hexoid': '06 04 67 2A 09 1B',
+ 'name': 'OpenMarket',
+ 'oid': (2, 23, 42, 9, 26)},
+ 'PANData': {'comment': 'SET contentType',
+ 'description': 'PANData (2 23 42 0 0)',
+ 'hexoid': '06 04 67 2A 00 01',
+ 'name': 'PANData',
+ 'oid': (2, 23, 42, 0, 0)},
+ 'PANOnly': {'comment': 'SET',
+ 'description': 'PANOnly (2 23 42 0 2)',
+ 'hexoid': '06 03 67 2A 01',
+ 'name': 'PANOnly',
+ 'oid': (2, 23, 42, 0, 2)},
+ 'PANToken': {'comment': 'SET contentType',
+ 'description': 'PANToken (2 23 42 0 1)',
+ 'hexoid': '06 04 67 2A 00 02',
+ 'name': 'PANToken',
+ 'oid': (2, 23, 42, 0, 1)},
+ 'Persimmon': {'comment': 'SET vendor',
+ 'description': 'Persimmon (2 23 42 9 29)',
+ 'hexoid': '06 04 67 2A 09 1E',
+ 'name': 'Persimmon',
+ 'oid': (2, 23, 42, 9, 29)},
+ 'RSADSI': {'comment': 'SET vendor',
+ 'description': 'RSADSI (2 23 42 9 4)',
+ 'hexoid': '06 04 67 2A 09 05',
+ 'name': 'RSADSI',
+ 'oid': (2, 23, 42, 9, 4)},
+ 'SEIS GAK policyIdentifier': {'comment': 'SEIS Project certificate policies',
+ 'description': 'SEIS GAK policyIdentifier (1 2 752 34 1 2)',
+ 'hexoid': '06 06 2A 85 70 22 01 02',
+ 'name': 'SEIS GAK policyIdentifier',
+ 'oid': (1, 2, 752, 34, 1, 2)},
+ 'SEIS at': {'comment': 'SEIS Project',
+ 'description': 'SEIS at (1 2 752 34 3)',
+ 'hexoid': '06 05 2A 85 70 22 03',
+ 'name': 'SEIS at',
+ 'oid': (1, 2, 752, 34, 3)},
+ 'SEIS at-personalIdentifier': {'comment': 'SEIS Project attribute',
+ 'description': 'SEIS at-personalIdentifier (1 2 752 34 3 1)',
+ 'hexoid': '06 06 2A 85 70 22 03 01',
+ 'name': 'SEIS at-personalIdentifier',
+ 'oid': (1, 2, 752, 34, 3, 1)},
+ 'SEIS high-assurance policyIdentifier': {'comment': 'SEIS Project certificate policies',
+ 'description': 'SEIS high-assurance policyIdentifier (1 2 752 34 1 1)',
+ 'hexoid': '06 06 2A 85 70 22 01 01',
+ 'name': 'SEIS high-assurance policyIdentifier',
+ 'oid': (1, 2, 752, 34, 1, 1)},
+ 'SEIS pe': {'comment': 'SEIS Project',
+ 'description': 'SEIS pe (1 2 752 34 2)',
+ 'hexoid': '06 05 2A 85 70 22 02',
+ 'name': 'SEIS pe',
+ 'oid': (1, 2, 752, 34, 2)},
+ 'SHA-1': {'comment': 'Novell encryption algorithm',
+ 'description': 'SHA-1 (2 16 840 1 113719 1 2 8 82)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 5C',
+ 'name': 'SHA-1',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 82)},
+ 'Signet business': {'comment': 'Signet CA',
+ 'description': 'Signet business (1 2 36 68980861 1 1 3)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 03',
+ 'name': 'Signet business',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 3)},
+ 'Signet intraNet': {'comment': 'Signet CA',
+ 'description': 'Signet intraNet (1 2 36 68980861 1 1 11)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 0B',
+ 'name': 'Signet intraNet',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 11)},
+ 'Signet legal': {'comment': 'Signet CA',
+ 'description': 'Signet legal (1 2 36 68980861 1 1 4)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 04',
+ 'name': 'Signet legal',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 4)},
+ 'Signet personal': {'comment': 'Signet CA',
+ 'description': 'Signet personal (1 2 36 68980861 1 1 2)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 02',
+ 'name': 'Signet personal',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 2)},
+ 'Signet pilot': {'comment': 'Signet CA',
+ 'description': 'Signet pilot (1 2 36 68980861 1 1 10)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 0A',
+ 'name': 'Signet pilot',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 10)},
+ 'Signet policyIdentifier': {'comment': 'Signet CA',
+ 'description': 'Signet policyIdentifier (1 2 36 68980861 1 1 20)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 14',
+ 'name': 'Signet policyIdentifier',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 20)},
+ 'Telesec': {'comment': 'Deutsche Telekom',
+ 'description': 'Telesec (0 2 262 1 10)',
+ 'hexoid': '06 05 02 82 06 01 0A',
+ 'name': 'Telesec',
+ 'oid': (0, 2, 262, 1, 10)},
+ 'Telesec policyIdentifier': {'comment': 'Telesec cert/CRL extension',
+ 'description': 'Telesec policyIdentifier (0 2 262 1 10 12 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 02',
+ 'name': 'Telesec policyIdentifier',
+ 'oid': (0, 2, 262, 1, 10, 12, 2)},
+ 'Teletrust SigiSigConform policyIdentifier': {'comment': 'Teletrust extended key usage',
+ 'description': 'Teletrust SigiSigConform policyIdentifier (1 3 36 8 1 1)',
+ 'hexoid': '06 05 2B 24 08 02 01',
+ 'name': 'Teletrust SigiSigConform policyIdentifier',
+ 'oid': (1, 3, 36, 8, 1, 1)},
+ 'TenthMountain': {'comment': 'SET vendor',
+ 'description': 'TenthMountain (2 23 42 9 13)',
+ 'hexoid': '06 04 67 2A 09 0E',
+ 'name': 'TenthMountain',
+ 'oid': (2, 23, 42, 9, 13)},
+ 'Terisa': {'comment': 'SET vendor',
+ 'description': 'Terisa (2 23 42 9 3)',
+ 'hexoid': '06 04 67 2A 09 04',
+ 'name': 'Terisa',
+ 'oid': (2, 23, 42, 9, 3)},
+ 'TrinTech': {'comment': 'SET vendor',
+ 'description': 'TrinTech (2 23 42 9 6)',
+ 'hexoid': '06 04 67 2A 09 07',
+ 'name': 'TrinTech',
+ 'oid': (2, 23, 42, 9, 6)},
+ 'UNINETT policyIdentifier': {'comment': 'ICE-TEL CA',
+ 'description': 'UNINETT policyIdentifier (1 3 6 1 4 1 2428 10 1 1)',
+ 'hexoid': '06 08 2B 06 01 04 01 95 18 0A',
+ 'name': 'UNINETT policyIdentifier',
+ 'oid': (1, 3, 6, 1, 4, 1, 2428, 10, 1, 1)},
+ 'Unknown Verisign VPN extension': {'comment': 'Verisign',
+ 'description': 'Unknown Verisign VPN extension (2 16 840 1 113733 1 6 13)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 45 01 07 01 01',
+ 'name': 'Unknown Verisign VPN extension',
+ 'oid': (2, 16, 840, 1, 113733, 1, 6, 13)},
+ 'UserPicture': {'comment': 'Netscape certificate extension',
+ 'description': 'UserPicture (2 16 840 1 113730 1 11)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0C',
+ 'name': 'UserPicture',
+ 'oid': (2, 16, 840, 1, 113730, 1, 11)},
+ 'VIAnet': {'comment': 'SET vendor',
+ 'description': 'VIAnet (2 23 42 9 24)',
+ 'hexoid': '06 04 67 2A 09 19',
+ 'name': 'VIAnet',
+ 'oid': (2, 23, 42, 9, 24)},
+ 'VISA': {'comment': 'SET brand',
+ 'description': 'VISA (2 23 42 8 4)',
+ 'hexoid': '06 04 67 2A 08 05',
+ 'name': 'VISA',
+ 'oid': (2, 23, 42, 8, 4)},
+ 'VeriFone': {'comment': 'SET vendor',
+ 'description': 'VeriFone (2 23 42 9 5)',
+ 'hexoid': '06 04 67 2A 09 06',
+ 'name': 'VeriFone',
+ 'oid': (2, 23, 42, 9, 5)},
+ 'Verisign': {'comment': 'SET vendor',
+ 'description': 'Verisign (2 23 42 9 18)',
+ 'hexoid': '06 04 67 2A 09 13',
+ 'name': 'Verisign',
+ 'oid': (2, 23, 42, 9, 18)},
+ 'Verisign SGC CA?': {'comment': 'SET contentType',
+ 'description': 'Verisign SGC CA? (2 16 840 1 113733 1 8 1)',
+ 'hexoid': '06 04 67 2A 00 00',
+ 'name': 'Verisign SGC CA?',
+ 'oid': (2, 16, 840, 1, 113733, 1, 8, 1)},
+ 'Verisign policyIdentifier': {'comment': 'Verisign (obsolete)',
+ 'description': 'Verisign policyIdentifier (2 16 840 1 113733 1 7 1 1)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 45 01 07 01 01 01',
+ 'name': 'Verisign policyIdentifier',
+ 'oid': (2, 16, 840, 1, 113733, 1, 7, 1, 1)},
+ 'X.500-Alg-Encryption': {'comment': 'X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead',
+ 'description': 'X.500-Alg-Encryption (2 5 8 1)',
+ 'hexoid': '06 03 55 1D 02',
+ 'name': 'X.500-Alg-Encryption',
+ 'oid': (2, 5, 8, 1)},
+ 'acAaControls': {'comment': 'PKIX private extension',
+ 'description': 'acAaControls (1 3 6 1 5 5 7 1 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 07',
+ 'name': 'acAaControls',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 6)},
+ 'acAuditIdentity': {'comment': 'PKIX private extension',
+ 'description': 'acAuditIdentity (1 3 6 1 5 5 7 1 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 05',
+ 'name': 'acAuditIdentity',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 4)},
+ 'acProxying': {'comment': 'PKIX private extension',
+ 'description': 'acProxying (1 3 6 1 5 5 7 1 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 0B',
+ 'name': 'acProxying',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 10)},
+ 'acTargeting': {'comment': 'PKIX private extension',
+ 'description': 'acTargeting (1 3 6 1 5 5 7 1 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 06',
+ 'name': 'acTargeting',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 5)},
+ 'accessIdentity': {'comment': 'PKIX attribute certificate extension',
+ 'description': 'accessIdentity (1 3 6 1 5 5 7 10 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 03',
+ 'name': 'accessIdentity',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 2)},
+ 'accountNumber': {'comment': 'SET field',
+ 'description': 'accountNumber (2 23 42 2 7 11)',
+ 'hexoid': '06 04 67 2A 02 0C',
+ 'name': 'accountNumber',
+ 'oid': (2, 23, 42, 2, 7, 11)},
+ 'action': {'comment': 'Telesec',
+ 'description': 'action (0 2 262 1 10 9)',
+ 'hexoid': '06 06 02 82 06 01 0A 09',
+ 'name': 'action',
+ 'oid': (0, 2, 262, 1, 10, 9)},
+ 'additionalPolicy': {'comment': 'SET',
+ 'description': 'additionalPolicy (2 23 42 3 0 1)',
+ 'hexoid': '06 03 67 2A 04',
+ 'name': 'additionalPolicy',
+ 'oid': (2, 23, 42, 3, 0, 1)},
+ 'address': {'comment': 'SET field',
+ 'description': 'address (2 23 42 2 8)',
+ 'hexoid': '06 04 67 2A 02 09',
+ 'name': 'address',
+ 'oid': (2, 23, 42, 2, 8)},
+ 'admission': {'comment': 'Teletrust attribute',
+ 'description': 'admission (1 3 36 8 3 3)',
+ 'hexoid': '06 05 2B 24 08 03 04',
+ 'name': 'admission',
+ 'oid': (1, 3, 36, 8, 3, 3)},
+ 'aes': {'comment': 'NIST Algorithm',
+ 'description': 'aes (2 16 840 1 101 3 4 1)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 01',
+ 'name': 'aes',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1)},
+ 'aes128-CBC': {'comment': 'NIST Algorithm',
+ 'description': 'aes128-CBC (2 16 840 1 101 3 4 1 2)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 03',
+ 'name': 'aes128-CBC',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 2)},
+ 'aes128-CFB': {'comment': 'NIST Algorithm',
+ 'description': 'aes128-CFB (2 16 840 1 101 3 4 1 4)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 15',
+ 'name': 'aes128-CFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 4)},
+ 'aes128-ECB': {'comment': 'NIST Algorithm',
+ 'description': 'aes128-ECB (2 16 840 1 101 3 4 1 1)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 02',
+ 'name': 'aes128-ECB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 1)},
+ 'aes128-OFB': {'comment': 'NIST Algorithm',
+ 'description': 'aes128-OFB (2 16 840 1 101 3 4 1 3)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 04',
+ 'name': 'aes128-OFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 3)},
+ 'aes192-CBC': {'comment': 'NIST Algorithm',
+ 'description': 'aes192-CBC (2 16 840 1 101 3 4 1 22)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 17',
+ 'name': 'aes192-CBC',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 22)},
+ 'aes192-CFB': {'comment': 'NIST Algorithm',
+ 'description': 'aes192-CFB (2 16 840 1 101 3 4 1 24)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 29',
+ 'name': 'aes192-CFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 24)},
+ 'aes192-ECB': {'comment': 'NIST Algorithm',
+ 'description': 'aes192-ECB (2 16 840 1 101 3 4 1 21)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 16',
+ 'name': 'aes192-ECB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 21)},
+ 'aes192-OFB': {'comment': 'NIST Algorithm',
+ 'description': 'aes192-OFB (2 16 840 1 101 3 4 1 23)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 18',
+ 'name': 'aes192-OFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 23)},
+ 'aes256-CBC': {'comment': 'NIST Algorithm',
+ 'description': 'aes256-CBC (2 16 840 1 101 3 4 1 42)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 2B',
+ 'name': 'aes256-CBC',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 42)},
+ 'aes256-CFB': {'comment': 'Novell',
+ 'description': 'aes256-CFB (2 16 840 1 101 3 4 1 44)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 37 01 02 08',
+ 'name': 'aes256-CFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 44)},
+ 'aes256-ECB': {'comment': 'NIST Algorithm',
+ 'description': 'aes256-ECB (2 16 840 1 101 3 4 1 41)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 2A',
+ 'name': 'aes256-ECB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 41)},
+ 'aes256-OFB': {'comment': 'NIST Algorithm',
+ 'description': 'aes256-OFB (2 16 840 1 101 3 4 1 43)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 2C',
+ 'name': 'aes256-OFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 43)},
+ 'alExemptedAddressProcessor': {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'alExemptedAddressProcessor (2 16 840 1 101 2 1 5 47)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 30',
+ 'name': 'alExemptedAddressProcessor',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 47)},
+ 'algorithm': {'comment': 'SET',
+ 'description': 'algorithm (2 23 42 4)',
+ 'hexoid': '06 03 67 2A 05',
+ 'name': 'algorithm',
+ 'oid': (2, 23, 42, 4)},
+ 'algorithms': {'comment': 'PKIX algorithm',
+ 'description': 'algorithms (1 3 6 1 5 5 7 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 01',
+ 'name': 'algorithms',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6)},
+ 'algorithmsSupported': {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'algorithmsSupported (2 16 840 1 101 2 1 5 49)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 32',
+ 'name': 'algorithmsSupported',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 49)},
+ 'alias': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'alias (2 5 6 1)',
+ 'hexoid': '06 03 55 06 02',
+ 'name': 'alias',
+ 'oid': (2, 5, 6, 1)},
+ 'aliasedEntryName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'aliasedEntryName (2 5 4 1)',
+ 'hexoid': '06 03 55 04 02',
+ 'name': 'aliasedEntryName',
+ 'oid': (2, 5, 4, 1)},
+ 'alid': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'alid (2 16 840 1 101 2 1 5 14)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 14',
+ 'name': 'alid',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 14)},
+ 'altCertTemplate': {'comment': 'PKIX CRMF registration control',
+ 'description': 'altCertTemplate(1 3 6 1 5 5 7 5 1 7)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 08',
+ 'name': 'altCertTemplate',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 7)},
+ 'amount': {'comment': 'SET field',
+ 'description': 'amount (2 23 42 2 10)',
+ 'hexoid': '06 04 67 2A 02 0B',
+ 'name': 'amount',
+ 'oid': (2, 23, 42, 2, 10)},
+ 'anonymizedPublicKeyDirectory': {'comment': 'Telesec attribute',
+ 'description': 'anonymizedPublicKeyDirectory (0 2 262 1 10 7 16)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 10',
+ 'name': 'anonymizedPublicKeyDirectory',
+ 'oid': (0, 2, 262, 1, 10, 7, 16)},
+ 'api': {'comment': 'Teletrust API',
+ 'description': 'api (1 3 36 6)',
+ 'hexoid': '06 04 2B 24 06 01',
+ 'name': 'api',
+ 'oid': (1, 3, 36, 6)},
+ 'applicationEntity': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'applicationEntity (2 5 6 12)',
+ 'hexoid': '06 03 55 06 0D',
+ 'name': 'applicationEntity',
+ 'oid': (2, 5, 6, 12)},
+ 'applicationGroupIdentifier': {'comment': 'Telesec attribute',
+ 'description': 'applicationGroupIdentifier (0 2 262 1 10 7 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 00',
+ 'name': 'applicationGroupIdentifier',
+ 'oid': (0, 2, 262, 1, 10, 7, 0)},
+ 'applicationProcess': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'applicationProcess (2 5 6 11)',
+ 'hexoid': '06 03 55 06 0C',
+ 'name': 'applicationProcess',
+ 'oid': (2, 5, 6, 11)},
+ 'aprUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'aprUKMs (2 16 840 1 101 2 1 5 23)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 18',
+ 'name': 'aprUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 23)},
+ 'arpa': {'comment': 'NIST Algorithm',
+ 'description': 'arpa (2 16 840 1 101 3 3)',
+ 'hexoid': '06 07 60 86 48 01 65 03 04',
+ 'name': 'arpa',
+ 'oid': (2, 16, 840, 1, 101, 3, 3)},
+ 'ascom': {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'ascom (1 3 6 1 4 1 188 7 1 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 00',
+ 'name': 'ascom',
+ 'oid': (1, 3, 6, 1, 4, 1, 188, 7, 1, 1)},
+ 'attrCert': {'comment': 'Teletrust signature attributes',
+ 'description': 'attrCert (1 3 36 8 6 3)',
+ 'hexoid': '06 05 2B 24 08 06 04',
+ 'name': 'attrCert',
+ 'oid': (1, 3, 36, 8, 6, 3)},
+ 'attrRef': {'comment': 'Teletrust signature attributes',
+ 'description': 'attrRef (1 3 36 8 6 4)',
+ 'hexoid': '06 05 2B 24 08 06 05',
+ 'name': 'attrRef',
+ 'oid': (1, 3, 36, 8, 6, 4)},
+ 'attribute': {'comment': 'SET attribute',
+ 'description': 'attribute (2 23 42 3)',
+ 'hexoid': '06 04 67 2A 03 00',
+ 'name': 'attribute',
+ 'oid': (2, 23, 42, 3)},
+ 'attribute-cert': {'comment': 'ANSI X9.57 attribute',
+ 'description': 'attribute-cert (1 2 840 10040 3 2)',
+ 'hexoid': '06 06 2A 86 48 CE 38 03 02',
+ 'name': 'attribute-cert',
+ 'oid': (1, 2, 840, 10040, 3, 2)},
+ 'attributeCert': {'comment': 'PKIX',
+ 'description': 'attributeCert (1 3 6 1 5 5 7 0 12)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 01',
+ 'name': 'attributeCert',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 0, 12)},
+ 'attributeCertificate': {'comment': 'PKIX attribute certificate extension',
+ 'description': 'attributeCertificate (1 3 6 1 5 5 7 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 01',
+ 'name': 'attributeCertificate',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10)},
+ 'attributeGroup': {'comment': 'Telesec',
+ 'description': 'attributeGroup (0 2 262 1 10 8)',
+ 'hexoid': '06 06 02 82 06 01 0A 08',
+ 'name': 'attributeGroup',
+ 'oid': (0, 2, 262, 1, 10, 8)},
+ 'attributeSchema': {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'attributeSchema (1 2 840 113556 1 3 14)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 11',
+ 'name': 'attributeSchema',
+ 'oid': (1, 2, 840, 113556, 1, 3, 14)},
+ 'attributeTypes': {'comment': 'Telesec module',
+ 'description': 'attributeTypes (0 2 262 1 10 2 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 01',
+ 'name': 'attributeTypes',
+ 'oid': (0, 2, 262, 1, 10, 2, 1)},
+ 'augUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'augUKMs (2 16 840 1 101 2 1 5 27)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1C',
+ 'name': 'augUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 27)},
+ 'authentication': {'comment': 'Telesec mechanism',
+ 'description': 'authentication (0 2 262 1 10 1 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 00',
+ 'name': 'authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0)},
+ 'authenticationInfo': {'comment': 'PKIX attribute certificate extension',
+ 'description': 'authenticationInfo (1 3 6 1 5 5 7 10 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 02',
+ 'name': 'authenticationInfo',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 1)},
+ 'authenticator': {'comment': 'PKIX CRMF registration control',
+ 'description': 'authenticator (1 3 6 1 5 5 7 5 1 2)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 03',
+ 'name': 'authenticator',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 2)},
+ 'authorityInfoAccess': {'comment': 'PKIX private extension',
+ 'description': 'authorityInfoAccess (1 3 6 1 5 5 7 1 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 04',
+ 'name': 'authorityInfoAccess',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 1)},
+ 'authorityKeyIdentifier': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'authorityKeyIdentifier (2 5 29 35)',
+ 'hexoid': '06 03 55 1D 24',
+ 'name': 'authorityKeyIdentifier',
+ 'oid': (2, 5, 29, 35)},
+ 'authorityRevocationList': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'authorityRevocationList (2 5 4 38)',
+ 'hexoid': '06 03 55 04 27',
+ 'name': 'authorityRevocationList',
+ 'oid': (2, 5, 4, 38)},
+ 'autoGen': {'comment': 'Teletrust presentation types',
+ 'description': 'autoGen (1 3 36 8 6 10)',
+ 'hexoid': '06 06 2B 24 08 07 01 01',
+ 'name': 'autoGen',
+ 'oid': (1, 3, 36, 8, 6, 10)},
+ 'auxiliaryVector': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'auxiliaryVector (2 16 840 1 101 2 1 5 10)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0B',
+ 'name': 'auxiliaryVector',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 10)},
+ 'basicConstraints': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'basicConstraints (2 5 29 19)',
+ 'hexoid': '06 03 55 1D 14',
+ 'name': 'basicConstraints',
+ 'oid': (2, 5, 29, 19)},
+ 'birthFamilyName': {'comment': 'SET field',
+ 'description': 'birthFamilyName (2 23 42 2 3)',
+ 'hexoid': '06 04 67 2A 02 04',
+ 'name': 'birthFamilyName',
+ 'oid': (2, 23, 42, 2, 3)},
+ 'blowfishCBC': {'comment': 'cryptlib encryption algorithm',
+ 'description': 'blowfishCBC (1 3 6 1 4 1 3029 1 1 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 03',
+ 'name': 'blowfishCBC',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 2)},
+ 'blowfishCFB': {'comment': 'cryptlib encryption algorithm',
+ 'description': 'blowfishCFB (1 3 6 1 4 1 3029 1 1 3)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 04',
+ 'name': 'blowfishCFB',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 3)},
+ 'blowfishECB': {'comment': 'cryptlib encryption algorithm',
+ 'description': 'blowfishECB (1 3 6 1 4 1 3029 1 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 02',
+ 'name': 'blowfishECB',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 1)},
+ 'blowfishOFB': {'comment': 'cryptlib public-key algorithm',
+ 'description': 'blowfishOFB (1 3 6 1 4 1 3029 1 1 4)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 02 01',
+ 'name': 'blowfishOFB',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 4)},
+ 'brand': {'comment': 'SET brand',
+ 'description': 'brand (2 23 42 8)',
+ 'hexoid': '06 04 67 2A 08 01',
+ 'name': 'brand',
+ 'oid': (2, 23, 42, 8)},
+ 'bsi-1': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'bsi-1 (1 3 36 3 1 5)',
+ 'hexoid': '06 06 2B 24 03 01 05 01',
+ 'name': 'bsi-1',
+ 'oid': (1, 3, 36, 3, 1, 5)},
+ 'bsiPKE': {'comment': 'Teletrust key management',
+ 'description': 'bsiPKE (1 3 36 7 1 1)',
+ 'hexoid': '06 04 2B 24 07 02',
+ 'name': 'bsiPKE',
+ 'oid': (1, 3, 36, 7, 1, 1)},
+ 'bsi_1CBC_PEMpad': {'comment': 'Teletrust algorithm',
+ 'description': 'bsi_1CBC_PEMpad (1 3 36 3 1 5 2 1)',
+ 'hexoid': '06 04 2B 24 03 02',
+ 'name': 'bsi_1CBC_PEMpad',
+ 'oid': (1, 3, 36, 3, 1, 5, 2, 1)},
+ 'bsi_1CBC_pad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'bsi_1CBC_pad (1 3 36 3 1 5 2)',
+ 'hexoid': '06 07 2B 24 03 01 05 02 01',
+ 'name': 'bsi_1CBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 5, 2)},
+ 'bsi_1ECB_pad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'bsi_1ECB_pad (1 3 36 3 1 5 1)',
+ 'hexoid': '06 06 2B 24 03 01 05 02',
+ 'name': 'bsi_1ECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 5, 1)},
+ 'businessCategory': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'businessCategory (2 5 4 15)',
+ 'hexoid': '06 03 55 04 10',
+ 'name': 'businessCategory',
+ 'oid': (2, 5, 4, 15)},
+ 'cAClearanceConstraint': {'comment': 'SDN.700 INFOSEC extensions',
+ 'description': 'cAClearanceConstraint (2 16 840 1 101 2 1 5 60)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 07 01',
+ 'name': 'cAClearanceConstraint',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 60)},
+ 'cAKeyCertIndexPair': {'comment': 'Microsoft attribute',
+ 'description': 'cAKeyCertIndexPair (1 3 6 1 4 1 311 21 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 58 02 01',
+ 'name': 'cAKeyCertIndexPair',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 21, 1)},
+ 'cRLDistributionPoints': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'cRLDistributionPoints (2 5 29 31)',
+ 'hexoid': '06 03 55 1D 20',
+ 'name': 'cRLDistributionPoints',
+ 'oid': (2, 5, 29, 31)},
+ 'cRLNumber': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'cRLNumber (2 5 29 20)',
+ 'hexoid': '06 03 55 1D 15',
+ 'name': 'cRLNumber',
+ 'oid': (2, 5, 29, 20)},
+ 'cRLReason': {'comment': 'X.509 id-ce (2 5 29). Deprecated, alternative OID uncertain',
+ 'description': 'cRLReason (2 5 29 21)',
+ 'hexoid': '06 03 55 1D 16',
+ 'name': 'cRLReason',
+ 'oid': (2, 5, 29, 21)},
+ 'caCertificate': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'caCertificate (2 5 4 37)',
+ 'hexoid': '06 03 55 04 26',
+ 'name': 'caCertificate',
+ 'oid': (2, 5, 4, 37)},
+ 'caIssuers': {'comment': 'PKIX authority info access descriptor',
+ 'description': 'caIssuers (1 3 6 1 5 5 7 48 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 30 03',
+ 'name': 'caIssuers',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 2)},
+ 'caKeyUpdateInfo': {'comment': 'PKIX CMP information',
+ 'description': 'caKeyUpdateInfo (1 3 6 1 5 5 7 4 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 06',
+ 'name': 'caKeyUpdateInfo',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 5)},
+ 'caProtEncCert': {'comment': 'PKIX CMP information',
+ 'description': 'caProtEncCert (1 3 6 1 5 5 7 4 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 02',
+ 'name': 'caProtEncCert',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 1)},
+ 'callissuer': {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'callissuer (1 2 840 10040 2 2)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 02',
+ 'name': 'callissuer',
+ 'oid': (1, 2, 840, 10040, 2, 2)},
+ 'canNotDecryptAny': {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 1) instead',
+ 'description': 'canNotDecryptAny (1 2 840 113549 1 9 15 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 03',
+ 'name': 'canNotDecryptAny',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 2)},
+ 'capcoMarkings': {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoMarkings (2 16 840 1 101 2 1 3 13)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0D 00',
+ 'name': 'capcoMarkings',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 13)},
+ 'capcoSecurityCategories': {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoSecurityCategories (2 16 840 1 101 2 1 3 13 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 01',
+ 'name': 'capcoSecurityCategories',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 13, 0)},
+ 'capcoTagSetName1': {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoTagSetName1 (2 16 840 1 101 2 1 3 13 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 02',
+ 'name': 'capcoTagSetName1',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 1)},
+ 'capcoTagSetName2': {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoTagSetName2 (2 16 840 1 101 2 1 3 13 0 2)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 03',
+ 'name': 'capcoTagSetName2',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 2)},
+ 'capcoTagSetName3': {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoTagSetName3 (2 16 840 1 101 2 1 3 13 0 3)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 04',
+ 'name': 'capcoTagSetName3',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 3)},
+ 'capcoTagSetName4': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'capcoTagSetName4 (2 16 840 1 101 2 1 3 13 0 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 01',
+ 'name': 'capcoTagSetName4',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 4)},
+ 'carLicense': {'comment': 'Netscape LDAP definitions',
+ 'description': 'carLicense (2 16 840 1 113730 3 1 1)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 02',
+ 'name': 'carLicense',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 1)},
+ 'cardCertRequired': {'comment': 'SET cert extension',
+ 'description': 'cardCertRequired (2 23 42 7 3)',
+ 'hexoid': '06 04 67 2A 07 04',
+ 'name': 'cardCertRequired',
+ 'oid': (2, 23, 42, 7, 3)},
+ 'cast3CBC': {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'cast3CBC (1 2 840 113533 7 66 3)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0A',
+ 'name': 'cast3CBC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 3)},
+ 'cast5CBC': {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'cast5CBC (1 2 840 113533 7 66 10)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0B',
+ 'name': 'cast5CBC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 10)},
+ 'cast5MAC': {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'cast5MAC (1 2 840 113533 7 66 11)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0C',
+ 'name': 'cast5MAC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 11)},
+ 'cert': {'comment': 'SET cert attribute',
+ 'description': 'cert (2 23 42 3 0)',
+ 'hexoid': '06 05 67 2A 03 00 00',
+ 'name': 'cert',
+ 'oid': (2, 23, 42, 3, 0)},
+ 'cert-extension': {'comment': 'Netscape certificate extension',
+ 'description': 'cert-extension (2 16 840 1 113730 1)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 01',
+ 'name': 'cert-extension',
+ 'oid': (2, 16, 840, 1, 113730, 1)},
+ 'certAndCrlExtensionDefinitions': {'comment': 'Telesec',
+ 'description': 'certAndCrlExtensionDefinitions (0 2 262 1 10 12)',
+ 'hexoid': '06 06 02 82 06 01 0A 0C',
+ 'name': 'certAndCrlExtensionDefinitions',
+ 'oid': (0, 2, 262, 1, 10, 12)},
+ 'certExt': {'comment': 'SET cert extension',
+ 'description': 'certExt (2 23 42 7)',
+ 'hexoid': '06 04 67 2A 07 00',
+ 'name': 'certExt',
+ 'oid': (2, 23, 42, 7)},
+ 'certExtensionLiabilityLimitationExt': {'comment': 'Telesec cert/CRL extension',
+ 'description': 'certExtensionLiabilityLimitationExt (0 2 262 1 10 12 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 00',
+ 'name': 'certExtensionLiabilityLimitationExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 0)},
+ 'certHash': {'comment': 'Teletrust attribute certificate attribute',
+ 'description': 'certHash (1 3 36 8 3 13)',
+ 'hexoid': '06 05 2B 24 08 04 08',
+ 'name': 'certHash',
+ 'oid': (1, 3, 36, 8, 3, 13)},
+ 'certInDirSince': {'comment': 'Teletrust attribute',
+ 'description': 'certInDirSince (1 3 36 8 3 12)',
+ 'hexoid': '06 05 2B 24 08 03 0D',
+ 'name': 'certInDirSince',
+ 'oid': (1, 3, 36, 8, 3, 12)},
+ 'certRef': {'comment': 'Teletrust signature attributes',
+ 'description': 'certRef (1 3 36 8 6 2)',
+ 'hexoid': '06 05 2B 24 08 06 03',
+ 'name': 'certRef',
+ 'oid': (1, 3, 36, 8, 6, 2)},
+ 'certReq': {'comment': 'PKIX',
+ 'description': 'certReq (1 3 6 1 5 5 7 5 2 2)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 06',
+ 'name': 'certReq',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 2, 2)},
+ 'certReqExtensions': {'comment': 'Microsoft code signing',
+ 'description': 'certReqExtensions (1 3 6 1 4 1 311 2 1 14)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0F',
+ 'name': 'certReqExtensions',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 14)},
+ 'certSequence': {'comment': 'Netscape certificate extension',
+ 'description': 'certSequence (2 16 840 1 113730 2 5)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 06',
+ 'name': 'certSequence',
+ 'oid': (2, 16, 840, 1, 113730, 2, 5)},
+ 'certTrustList': {'comment': 'Microsoft',
+ 'description': 'certTrustList (1 3 6 1 4 1 311 10 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 82 37 0A 02',
+ 'name': 'certTrustList',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 1)},
+ 'certTrustListSigning': {'comment': 'Microsoft enhanced key usage',
+ 'description': 'certTrustListSigning (1 3 6 1 4 1 311 10 3 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 03 02',
+ 'name': 'certTrustListSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 3, 1)},
+ 'certTypes': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'certTypes (for PKCS #12) (1 2 840 113549 1 9 22)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 16 01',
+ 'name': 'certTypes',
+ 'oid': (1, 2, 840, 113549, 1, 9, 22)},
+ 'certURL': {'comment': 'Netscape',
+ 'description': 'certURL (2 16 840 1 113730 2 6)',
+ 'hexoid': '06 08 60 86 48 01 86 F8 42 03',
+ 'name': 'certURL',
+ 'oid': (2, 16, 840, 1, 113730, 2, 6)},
+ 'certificateAuthority': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'certificateAuthority (2 5 6 16)',
+ 'hexoid': '06 03 55 06 11',
+ 'name': 'certificateAuthority',
+ 'oid': (2, 5, 6, 16)},
+ 'certificateIssuer': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'certificateIssuer (2 5 29 29)',
+ 'hexoid': '06 03 55 1D 1E',
+ 'name': 'certificateIssuer',
+ 'oid': (2, 5, 29, 29)},
+ 'certificateNumber': {'comment': 'Telesec attribute',
+ 'description': 'certificateNumber (0 2 262 1 10 7 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 03',
+ 'name': 'certificateNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 3)},
+ 'certificatePolicies': {'comment': 'X.509 certificatePolicies (2 5 29 32)',
+ 'description': 'certificatePolicies (2 5 29 32)',
+ 'hexoid': '06 04 55 1D 20 00',
+ 'name': 'certificatePolicies',
+ 'oid': (2, 5, 29, 32)},
+ 'certificateRevocationList': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'certificateRevocationList (2 5 4 39)',
+ 'hexoid': '06 03 55 04 28',
+ 'name': 'certificateRevocationList',
+ 'oid': (2, 5, 4, 39)},
+ 'certificateTemplateList': {'comment': 'Telesec attribute',
+ 'description': 'certificateTemplateList (0 2 262 1 10 7 29)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1D',
+ 'name': 'certificateTemplateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 29)},
+ 'certificateType': {'comment': 'SET cert extension',
+ 'description': 'certificateType (2 23 42 7 1)',
+ 'hexoid': '06 04 67 2A 07 02',
+ 'name': 'certificateType',
+ 'oid': (2, 23, 42, 7, 1)},
+ 'certificateTypes': {'comment': 'Telesec module',
+ 'description': 'certificateTypes (0 2 262 1 10 2 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 02',
+ 'name': 'certificateTypes',
+ 'oid': (0, 2, 262, 1, 10, 2, 2)},
+ 'challengePassword': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'challengePassword (1 2 840 113549 1 9 7)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 08',
+ 'name': 'challengePassword',
+ 'oid': (1, 2, 840, 113549, 1, 9, 7)},
+ 'characteristic-two-basis': {'comment': 'ANSI X9.62 field type',
+ 'description': 'characteristic-two-basis (1 2 840 10045 1 2 3)',
+ 'hexoid': '06 09 2A 86 48 CE 3D 01 02 03',
+ 'name': 'characteristic-two-basis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3)},
+ 'characteristic-two-field': {'comment': 'ANSI X9.62 field type',
+ 'description': 'characteristic-two-field (1 2 840 10045 1 2)',
+ 'hexoid': '06 07 2A 86 48 CE 3D 01 02',
+ 'name': 'characteristic-two-field',
+ 'oid': (1, 2, 840, 10045, 1, 2)},
+ 'chargingIdentity': {'comment': 'PKIX attribute certificate extension',
+ 'description': 'chargingIdentity (1 3 6 1 5 5 7 10 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 04',
+ 'name': 'chargingIdentity',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 3)},
+ 'classSchema': {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'classSchema (1 2 840 113556 1 3 13)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 0E',
+ 'name': 'classSchema',
+ 'oid': (1, 2, 840, 113556, 1, 3, 13)},
+ 'clearance': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'clearance (2 5 4 55)',
+ 'hexoid': '06 03 55 06 00',
+ 'name': 'clearance',
+ 'oid': (2, 5, 4, 55)},
+ 'clientAuth': {'comment': 'PKIX key purpose',
+ 'description': 'clientAuth (1 3 6 1 5 5 7 3 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 03',
+ 'name': 'clientAuth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 2)},
+ 'cmcControls': {'comment': 'PKIX',
+ 'description': 'cmcControls (1 3 6 1 5 5 7 7)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 08',
+ 'name': 'cmcControls',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 7)},
+ 'cmpInformationTypes': {'comment': 'PKIX CMP information',
+ 'description': 'cmpInformationTypes (1 3 6 1 5 5 7 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 01',
+ 'name': 'cmpInformationTypes',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4)},
+ 'codeSigning': {'comment': 'PKIX key purpose',
+ 'description': 'codeSigning (1 3 6 1 5 5 7 3 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 04',
+ 'name': 'codeSigning',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 3)},
+ 'collectiveFacsimileTelephoneNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveFacsimileTelephoneNumber (2 5 4 23 1)',
+ 'hexoid': '06 03 55 04 18',
+ 'name': 'collectiveFacsimileTelephoneNumber',
+ 'oid': (2, 5, 4, 23, 1)},
+ 'collectiveInternationalISDNNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveInternationalISDNNumber (2 5 4 25 1)',
+ 'hexoid': '06 03 55 04 1A',
+ 'name': 'collectiveInternationalISDNNumber',
+ 'oid': (2, 5, 4, 25, 1)},
+ 'collectiveLocalityName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveLocalityName (2 5 4 7 1)',
+ 'hexoid': '06 03 55 04 08',
+ 'name': 'collectiveLocalityName',
+ 'oid': (2, 5, 4, 7, 1)},
+ 'collectiveOrganizationName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveOrganizationName (2 5 4 10 1)',
+ 'hexoid': '06 03 55 04 0B',
+ 'name': 'collectiveOrganizationName',
+ 'oid': (2, 5, 4, 10, 1)},
+ 'collectiveOrganizationalUnitName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveOrganizationalUnitName (2 5 4 11 1)',
+ 'hexoid': '06 03 55 04 0C',
+ 'name': 'collectiveOrganizationalUnitName',
+ 'oid': (2, 5, 4, 11, 1)},
+ 'collectivePhysicalDeliveryOfficeName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePhysicalDeliveryOfficeName (2 5 4 19 1)',
+ 'hexoid': '06 03 55 04 14',
+ 'name': 'collectivePhysicalDeliveryOfficeName',
+ 'oid': (2, 5, 4, 19, 1)},
+ 'collectivePostOfficeBox': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePostOfficeBox (2 5 4 18 1)',
+ 'hexoid': '06 03 55 04 13',
+ 'name': 'collectivePostOfficeBox',
+ 'oid': (2, 5, 4, 18, 1)},
+ 'collectivePostalAddress': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePostalAddress (2 5 4 16 1)',
+ 'hexoid': '06 03 55 04 11',
+ 'name': 'collectivePostalAddress',
+ 'oid': (2, 5, 4, 16, 1)},
+ 'collectivePostalCode': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePostalCode (2 5 4 17 1)',
+ 'hexoid': '06 03 55 04 12',
+ 'name': 'collectivePostalCode',
+ 'oid': (2, 5, 4, 17, 1)},
+ 'collectiveStateOrProvinceName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveStateOrProvinceName (2 5 4 8 1)',
+ 'hexoid': '06 03 55 04 09',
+ 'name': 'collectiveStateOrProvinceName',
+ 'oid': (2, 5, 4, 8, 1)},
+ 'collectiveStreetAddress': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveStreetAddress (2 5 4 9 1)',
+ 'hexoid': '06 03 55 04 0A',
+ 'name': 'collectiveStreetAddress',
+ 'oid': (2, 5, 4, 9, 1)},
+ 'collectiveTelephoneNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveTelephoneNumber (2 5 4 20 1)',
+ 'hexoid': '06 03 55 04 15',
+ 'name': 'collectiveTelephoneNumber',
+ 'oid': (2, 5, 4, 20, 1)},
+ 'collectiveTeletexTerminalIdentifier': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveTeletexTerminalIdentifier (2 5 4 22 1)',
+ 'hexoid': '06 03 55 04 17',
+ 'name': 'collectiveTeletexTerminalIdentifier',
+ 'oid': (2, 5, 4, 22, 1)},
+ 'collectiveTelexNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveTelexNumber (2 5 4 21 1)',
+ 'hexoid': '06 03 55 04 16',
+ 'name': 'collectiveTelexNumber',
+ 'oid': (2, 5, 4, 21, 1)},
+ 'commPrivileges': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'commPrivileges (2 16 840 1 101 2 1 5 56)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 39',
+ 'name': 'commPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 56)},
+ 'commercialCodeSigning': {'comment': 'Microsoft code signing',
+ 'description': 'commercialCodeSigning (1 3 6 1 4 1 311 2 1 22)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 1A',
+ 'name': 'commercialCodeSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 22)},
+ 'commonName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'commonName (2 5 4 3)',
+ 'hexoid': '06 03 55 04 04',
+ 'name': 'commonName',
+ 'oid': (2, 5, 4, 3)},
+ 'confirmWaitTime': {'comment': 'PKIX CMP information',
+ 'description': 'confirmWaitTime (1 3 6 1 5 5 7 4 14)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0F',
+ 'name': 'confirmWaitTime',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 14)},
+ 'container': {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'container (1 2 840 113556 1 3 23)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 2E',
+ 'name': 'container',
+ 'oid': (1, 2, 840, 113556, 1, 3, 23)},
+ 'contentHints': {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 3) instead',
+ 'description': 'contentHints (1 2 840 113549 1 9 15 5)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 06',
+ 'name': 'contentHints',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 5)},
+ 'contentType': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'contentType (1 2 840 113549 1 9 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 04',
+ 'name': 'contentType',
+ 'oid': (1, 2, 840, 113549, 1, 9, 3)},
+ 'countersignature': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'countersignature (1 2 840 113549 1 9 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 07',
+ 'name': 'countersignature',
+ 'oid': (1, 2, 840, 113549, 1, 9, 6)},
+ 'country': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'country (2 5 6 2)',
+ 'hexoid': '06 03 55 06 03',
+ 'name': 'country',
+ 'oid': (2, 5, 6, 2)},
+ 'countryName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'countryName (2 5 4 6)',
+ 'hexoid': '06 03 55 04 07',
+ 'name': 'countryName',
+ 'oid': (2, 5, 4, 6)},
+ 'countryOfCitizenship': {'comment': 'PKIX personal data',
+ 'description': 'countryOfCitizenship (1 3 6 1 5 5 7 9 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 06',
+ 'name': 'countryOfCitizenship',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 5)},
+ 'countryOfResidence': {'comment': 'PKIX',
+ 'description': 'countryOfResidence (1 3 6 1 5 5 7 9 6)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 0A',
+ 'name': 'countryOfResidence',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 6)},
+ 'cps': {'comment': 'PKIX policy qualifier',
+ 'description': 'cps (1 3 6 1 5 5 7 2 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 02 02',
+ 'name': 'cps',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2, 1)},
+ 'creationDate': {'comment': 'Telesec attribute',
+ 'description': 'creationDate (0 2 262 1 10 7 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 05',
+ 'name': 'creationDate',
+ 'oid': (0, 2, 262, 1, 10, 7, 5)},
+ 'crlTypes': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'crlTypes (for PKCS #12) (1 2 840 113549 1 9 23)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 17 01',
+ 'name': 'crlTypes',
+ 'oid': (1, 2, 840, 113549, 1, 9, 23)},
+ 'crmfRegistration': {'comment': 'PKIX CRMF registration',
+ 'description': 'crmfRegistration (1 3 6 1 5 5 7 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 05 01',
+ 'name': 'crmfRegistration',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5)},
+ 'crossCertificatePair': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'crossCertificatePair (2 5 4 40)',
+ 'hexoid': '06 03 55 04 29',
+ 'name': 'crossCertificatePair',
+ 'oid': (2, 5, 4, 40)},
+ 'cryptlibAttribute': {'comment': 'cryptlib',
+ 'description': 'cryptlibAttribute (1 3 6 1 4 1 3029 4 1 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 97 55 04 01',
+ 'name': 'cryptlibAttribute',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1, 1)},
+ 'cryptlibConfigData': {'comment': 'cryptlib content type',
+ 'description': 'cryptlibConfigData (1 3 6 1 4 1 3029 4 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 02',
+ 'name': 'cryptlibConfigData',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1, 1)},
+ 'cryptlibContent': {'comment': 'cryptlib content type',
+ 'description': 'cryptlibContent (1 3 6 1 4 1 3029 4 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 01',
+ 'name': 'cryptlibContent',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1)},
+ 'cryptlibPKIXFix': {'comment': 'cryptlib PKIX fix attribute',
+ 'description': 'cryptlibPKIXFix (1 3 6 1 4 1 3029 3 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 03 01 01',
+ 'name': 'cryptlibPKIXFix',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 3, 1)},
+ 'cryptlibPresenceCheck': {'comment': 'cryptlib attribute type',
+ 'description': 'cryptlibPresenceCheck (1 3 6 1 4 1 3029 3 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 01',
+ 'name': 'cryptlibPresenceCheck',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 3, 1, 1)},
+ 'cryptlibUserIndex': {'comment': 'cryptlib content type',
+ 'description': 'cryptlibUserIndex (1 3 6 1 4 1 3029 4 1 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 03',
+ 'name': 'cryptlibUserIndex',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1, 2)},
+ 'cryptlibUserInfo': {'comment': 'cryptlib special MPEG-of-cat OID',
+ 'description': 'cryptlibUserInfo (1 3 6 1 4 1 3029 4 1 3)',
+ 'hexoid': '06 0B 2B 06 01 04 01 97 55 2A D7 24 01',
+ 'name': 'cryptlibUserInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1, 3)},
+ 'cspContentType': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'cspContentType (2 16 840 1 101 2 1 2 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 2A',
+ 'name': 'cspContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 3)},
+ 'cspCsExtn': {'comment': 'SDN.700 INFOSEC security category',
+ 'description': 'cspCsExtn (2 16 840 1 101 2 1 7 1 0)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 08 01',
+ 'name': 'cspCsExtn',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 7, 1, 0)},
+ 'cspExtns': {'comment': 'SDN.700 INFOSEC extensions',
+ 'description': 'cspExtns (2 16 840 1 101 2 1 7 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 07 01 00',
+ 'name': 'cspExtns',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 7, 1)},
+ 'cspForwardedMessageParameters': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'cspForwardedMessageParameters (2 16 840 1 101 2 1 2 75)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 52',
+ 'name': 'cspForwardedMessageParameters',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 75)},
+ 'ctlFileIsArchive': {'comment': 'Telesec attribute',
+ 'description': 'ctlFileIsArchive (0 2 262 1 10 7 27)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1B',
+ 'name': 'ctlFileIsArchive',
+ 'oid': (0, 2, 262, 1, 10, 7, 27)},
+ 'currentCRL': {'comment': 'PKIX CMP information',
+ 'description': 'currentCRL (1 3 6 1 5 5 7 4 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 07',
+ 'name': 'currentCRL',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 6)},
+ 'dSA': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'dSA (2 5 6 13)',
+ 'hexoid': '06 03 55 06 0E',
+ 'name': 'dSA',
+ 'oid': (2, 5, 6, 13)},
+ 'data': {'comment': 'PKCS #7',
+ 'description': 'data (1 2 840 113549 1 7 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 02',
+ 'name': 'data',
+ 'oid': (1, 2, 840, 113549, 1, 7, 1)},
+ 'data-type': {'comment': 'Netscape data type',
+ 'description': 'data-type (2 16 840 1 113730 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 01',
+ 'name': 'data-type',
+ 'oid': (2, 16, 840, 1, 113730, 2)},
+ 'dataGIF': {'comment': 'Netscape data type',
+ 'description': 'dataGIF (2 16 840 1 113730 2 1)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 02',
+ 'name': 'dataGIF',
+ 'oid': (2, 16, 840, 1, 113730, 2, 1)},
+ 'dataHTML': {'comment': 'Netscape data type',
+ 'description': 'dataHTML (2 16 840 1 113730 2 4)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 05',
+ 'name': 'dataHTML',
+ 'oid': (2, 16, 840, 1, 113730, 2, 4)},
+ 'dataJPEG': {'comment': 'Netscape data type',
+ 'description': 'dataJPEG (2 16 840 1 113730 2 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 03',
+ 'name': 'dataJPEG',
+ 'oid': (2, 16, 840, 1, 113730, 2, 2)},
+ 'dataURL': {'comment': 'Netscape data type',
+ 'description': 'dataURL (2 16 840 1 113730 2 3)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 04',
+ 'name': 'dataURL',
+ 'oid': (2, 16, 840, 1, 113730, 2, 3)},
+ 'dataWithAttributes': {'comment': 'PKCS #7 experimental',
+ 'description': 'dataWithAttributes (1 2 840 113549 1 7 7)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 08',
+ 'name': 'dataWithAttributes',
+ 'oid': (1, 2, 840, 113549, 1, 7, 7)},
+ 'date': {'comment': 'SET field',
+ 'description': 'date (2 23 42 2 7)',
+ 'hexoid': '06 04 67 2A 02 08',
+ 'name': 'date',
+ 'oid': (2, 23, 42, 2, 7)},
+ 'dateOfBirth': {'comment': 'PKIX personal data',
+ 'description': 'dateOfBirth (1 3 6 1 5 5 7 9 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 02',
+ 'name': 'dateOfBirth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 1)},
+ 'dateOfCertGen': {'comment': 'Teletrust attribute',
+ 'description': 'dateOfCertGen (1 3 36 8 3 1)',
+ 'hexoid': '06 05 2B 24 08 03 02',
+ 'name': 'dateOfCertGen',
+ 'oid': (1, 3, 36, 8, 3, 1)},
+ 'decDEA': {'comment': 'DASS algorithm',
+ 'description': 'decDEA (1 3 12 2 1011 7 1 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 02',
+ 'name': 'decDEA',
+ 'oid': (1, 3, 12, 2, 1011, 7, 1, 2)},
+ 'decDEAMAC': {'comment': 'X.509. Unsure about this OID',
+ 'description': 'decDEAMAC (1 3 12 2 1011 7 3 3)',
+ 'hexoid': '06 06 2B 0E 03 02 01 01',
+ 'name': 'decDEAMAC',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3, 3)},
+ 'decEncryptionAlgorithm': {'comment': 'DASS encryption algorithm',
+ 'description': 'decEncryptionAlgorithm (1 3 12 2 1011 7 1)',
+ 'hexoid': '06 08 2B 0C 02 87 73 07 01 02',
+ 'name': 'decEncryptionAlgorithm',
+ 'oid': (1, 3, 12, 2, 1011, 7, 1)},
+ 'decHashAlgorithm': {'comment': 'DASS hash algorithm',
+ 'description': 'decHashAlgorithm (1 3 12 2 1011 7 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 02 01',
+ 'name': 'decHashAlgorithm',
+ 'oid': (1, 3, 12, 2, 1011, 7, 2)},
+ 'decMD2': {'comment': 'DASS hash algorithm',
+ 'description': 'decMD2 (1 3 12 2 1011 7 2 1)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 02 02',
+ 'name': 'decMD2',
+ 'oid': (1, 3, 12, 2, 1011, 7, 2, 1)},
+ 'decMD2withRSA': {'comment': 'DASS signature algorithm',
+ 'description': 'decMD2withRSA (1 3 12 2 1011 7 3 1)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03 02',
+ 'name': 'decMD2withRSA',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3, 1)},
+ 'decMD4': {'comment': 'DASS algorithm',
+ 'description': 'decMD4 (1 3 12 2 1011 7 2 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03',
+ 'name': 'decMD4',
+ 'oid': (1, 3, 12, 2, 1011, 7, 2, 2)},
+ 'decMD4withRSA': {'comment': 'DASS signature algorithm',
+ 'description': 'decMD4withRSA (1 3 12 2 1011 7 3 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03 03',
+ 'name': 'decMD4withRSA',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3, 2)},
+ 'decSignatureAlgorithm': {'comment': 'DASS signature algorithm',
+ 'description': 'decSignatureAlgorithm (1 3 12 2 1011 7 3)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03 01',
+ 'name': 'decSignatureAlgorithm',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3)},
+ 'decUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'decUKMs (2 16 840 1 101 2 1 5 31)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 28',
+ 'name': 'decUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 31)},
+ 'declarationOfMajority': {'comment': 'Teletrust attribute',
+ 'description': 'declarationOfMajority (1 3 36 8 3 5)',
+ 'hexoid': '06 05 2B 24 08 03 06',
+ 'name': 'declarationOfMajority',
+ 'oid': (1, 3, 36, 8, 3, 5)},
+ 'defaultSecurityPolicy': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'defaultSecurityPolicy (2 16 840 1 101 2 1 3 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0D',
+ 'name': 'defaultSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 12)},
+ 'deliveryMechanism': {'comment': 'Microsoft',
+ 'description': 'deliveryMechanism (1 2 840 113556 1 2 241)',
+ 'hexoid': '06 08 2A 86 48 86 F7 14 04 03',
+ 'name': 'deliveryMechanism',
+ 'oid': (1, 2, 840, 113556, 1, 2, 241)},
+ 'deltaCRLIndicator': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'deltaCRLIndicator (2 5 29 27)',
+ 'hexoid': '06 03 55 1D 1C',
+ 'name': 'deltaCRLIndicator',
+ 'oid': (2, 5, 29, 27)},
+ 'deltaRevocationList': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'deltaRevocationList (2 5 4 53)',
+ 'hexoid': '06 03 55 04 36',
+ 'name': 'deltaRevocationList',
+ 'oid': (2, 5, 4, 53)},
+ 'departmentNumber': {'comment': 'Netscape LDAP definitions',
+ 'description': 'departmentNumber (2 16 840 1 113730 3 1 2)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 03',
+ 'name': 'departmentNumber',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 2)},
+ 'des': {'comment': 'Telesec encryption',
+ 'description': 'des (0 2 262 1 10 1 2 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 02',
+ 'name': 'des',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2)},
+ 'des-EDE3-CBC': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'des-EDE3-CBC (1 2 840 113549 3 7)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 08',
+ 'name': 'des-EDE3-CBC',
+ 'oid': (1, 2, 840, 113549, 3, 7)},
+ 'des3': {'comment': 'Telesec encryption',
+ 'description': 'des3 (0 2 262 1 10 1 2 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 03',
+ 'name': 'des3',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3)},
+ 'des3CBC': {'comment': 'Telesec encryption',
+ 'description': 'des3CBC (0 2 262 1 10 1 2 3 2)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 02',
+ 'name': 'des3CBC',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 2)},
+ 'des3CFB64': {'comment': 'Telesec encryption',
+ 'description': 'des3CFB64 (0 2 262 1 10 1 2 3 5)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 05',
+ 'name': 'des3CFB64',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 5)},
+ 'des3CFB8': {'comment': 'Telesec encryption',
+ 'description': 'des3CFB8 (0 2 262 1 10 1 2 3 4)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 04',
+ 'name': 'des3CFB8',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 4)},
+ 'des3ECB': {'comment': 'Telesec encryption',
+ 'description': 'des3ECB (0 2 262 1 10 1 2 3 1)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 01',
+ 'name': 'des3ECB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 1)},
+ 'des3OFB': {'comment': 'Telesec encryption',
+ 'description': 'des3OFB (0 2 262 1 10 1 2 3 3)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 03',
+ 'name': 'des3OFB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 3)},
+ 'des40': {'comment': 'PKIX algorithm',
+ 'description': 'des40 (1 3 6 1 5 5 7 6 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 02',
+ 'name': 'des40',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 1)},
+ 'desCBC': {'comment': 'Telesec encryption',
+ 'description': 'desCBC (0 2 262 1 10 1 2 2 2)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 02',
+ 'name': 'desCBC',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 2)},
+ 'desCBC_ISOpad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desCBC_ISOpad (1 3 36 3 1 1 2 1 1)',
+ 'hexoid': '06 05 2B 24 03 01 03',
+ 'name': 'desCBC_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 1, 2, 1, 1)},
+ 'desCBC_pad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desCBC_pad (1 3 36 3 1 1 2 1)',
+ 'hexoid': '06 08 2B 24 03 01 01 02 01 01',
+ 'name': 'desCBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 1, 2, 1)},
+ 'desCDMF': {'comment': 'Identrus',
+ 'description': 'desCDMF (1 2 840 113549 3 10)',
+ 'hexoid': '06 09 2A 86 48 86 FA 65 01 06 01',
+ 'name': 'desCDMF',
+ 'oid': (1, 2, 840, 113549, 3, 10)},
+ 'desCFB64': {'comment': 'Telesec encryption',
+ 'description': 'desCFB64 (0 2 262 1 10 1 2 2 5)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 05',
+ 'name': 'desCFB64',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 5)},
+ 'desCFB8': {'comment': 'Telesec encryption',
+ 'description': 'desCFB8 (0 2 262 1 10 1 2 2 4)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 04',
+ 'name': 'desCFB8',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 4)},
+ 'desCbcIV8': {'comment': 'Novell encryption algorithm',
+ 'description': 'desCbcIV8 (2 16 840 1 113719 1 2 8 22)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 17',
+ 'name': 'desCbcIV8',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 22)},
+ 'desCbcPadIV8': {'comment': 'Novell encryption algorithm',
+ 'description': 'desCbcPadIV8 (2 16 840 1 113719 1 2 8 23)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 18',
+ 'name': 'desCbcPadIV8',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 23)},
+ 'desECB': {'comment': 'Telesec encryption',
+ 'description': 'desECB (0 2 262 1 10 1 2 2 1)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 01',
+ 'name': 'desECB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 1)},
+ 'desECB_ISOpad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desECB_ISOpad (1 3 36 3 1 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 01 02 01',
+ 'name': 'desECB_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 1, 1, 1)},
+ 'desECB_pad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desECB_pad (1 3 36 3 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 01 01 01',
+ 'name': 'desECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 1, 1)},
+ 'desEDE': {'comment': 'Oddball OIW OID',
+ 'description': 'desEDE (1 3 14 3 2 17)',
+ 'hexoid': '06 05 2B 0E 03 02 12',
+ 'name': 'desEDE',
+ 'oid': (1, 3, 14, 3, 2, 17)},
+ 'desEDE2CbcIV8': {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE2CbcIV8 (2 16 840 1 113719 1 2 8 24)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 19',
+ 'name': 'desEDE2CbcIV8',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 24)},
+ 'desEDE2CbcPadIV8': {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE2CbcPadIV8 (2 16 840 1 113719 1 2 8 25)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1A',
+ 'name': 'desEDE2CbcPadIV8',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 25)},
+ 'desEDE3CbcIV8': {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE3CbcIV8 (2 16 840 1 113719 1 2 8 26)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1B',
+ 'name': 'desEDE3CbcIV8',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 26)},
+ 'desEDE3CbcPadIV8': {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE3CbcPadIV8 (2 16 840 1 113719 1 2 8 27)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1C',
+ 'name': 'desEDE3CbcPadIV8',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 27)},
+ 'desMAC': {'comment': 'ISO 9796-2, also X9.31 Part 1',
+ 'description': 'desMAC (1 3 14 3 2 10)',
+ 'hexoid': '06 05 2B 0E 03 02 0B',
+ 'name': 'desMAC',
+ 'oid': (1, 3, 14, 3, 2, 10)},
+ 'desOFB': {'comment': 'Telesec encryption',
+ 'description': 'desOFB (0 2 262 1 10 1 2 2 3)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 03',
+ 'name': 'desOFB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 3)},
+ 'des_3': {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3 (1 3 36 3 1 3)',
+ 'hexoid': '06 07 2B 24 03 01 03 01 01',
+ 'name': 'des_3',
+ 'oid': (1, 3, 36, 3, 1, 3)},
+ 'des_3CBC_ISOpad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'des_3CBC_ISOpad (1 3 36 3 1 3 2 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 02 01 01',
+ 'name': 'des_3CBC_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 3, 2, 1, 1)},
+ 'des_3CBC_pad': {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3CBC_pad (1 3 36 3 1 3 2 1)',
+ 'hexoid': '06 08 2B 24 03 01 03 02 01 01',
+ 'name': 'des_3CBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 3, 2, 1)},
+ 'des_3ECB_ISOpad': {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3ECB_ISOpad (1 3 36 3 1 3 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 03 02 01',
+ 'name': 'des_3ECB_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 3, 1, 1, 1)},
+ 'des_3ECB_pad': {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3ECB_pad (1 3 36 3 1 3 1 1)',
+ 'hexoid': '06 08 2B 24 03 01 03 01 01 01',
+ 'name': 'des_3ECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 3, 1, 1)},
+ 'description': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'description (2 5 4 13)',
+ 'hexoid': '06 03 55 04 0E',
+ 'name': 'description',
+ 'oid': (2, 5, 4, 13)},
+ 'destinationIndicator': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'destinationIndicator (2 5 4 27)',
+ 'hexoid': '06 03 55 04 1C',
+ 'name': 'destinationIndicator',
+ 'oid': (2, 5, 4, 27)},
+ 'desx-CBC': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'desx-CBC (1 2 840 113549 3 6)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 07',
+ 'name': 'desx-CBC',
+ 'oid': (1, 2, 840, 113549, 3, 6)},
+ 'device': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'device (2 5 6 14)',
+ 'hexoid': '06 03 55 06 0F',
+ 'name': 'device',
+ 'oid': (2, 5, 6, 14)},
+ 'dh-pop': {'comment': 'PKIX',
+ 'description': 'dh-pop (1 3 6 1 5 5 7 6 4)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 07',
+ 'name': 'dh-pop',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 4)},
+ 'dh-sig-hmac-sha1': {'comment': 'PKIX algorithm',
+ 'description': 'dh-sig-hmac-sha1 (1 3 6 1 5 5 7 6 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 04',
+ 'name': 'dh-sig-hmac-sha1',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 3)},
+ 'dhEphem': {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhEphem (1 2 840 10046 3 2)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 02',
+ 'name': 'dhEphem',
+ 'oid': (1, 2, 840, 10046, 3, 2)},
+ 'dhHybrid1': {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhHybrid1 (1 2 840 10046 3 3)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 03',
+ 'name': 'dhHybrid1',
+ 'oid': (1, 2, 840, 10046, 3, 3)},
+ 'dhHybrid2': {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhHybrid2 (1 2 840 10046 3 4)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 04',
+ 'name': 'dhHybrid2',
+ 'oid': (1, 2, 840, 10046, 3, 4)},
+ 'dhPublicKey': {'comment': 'ANSI X9.42 number type',
+ 'description': 'dhPublicKey (1 2 840 10046 2 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 02 01',
+ 'name': 'dhPublicKey',
+ 'oid': (1, 2, 840, 10046, 2, 1)},
+ 'dhStatic': {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhStatic (1 2 840 10046 3 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 01',
+ 'name': 'dhStatic',
+ 'oid': (1, 2, 840, 10046, 3, 1)},
+ 'dhWithCommonModulus': {'comment': 'Oddball OIW OID. Mode is ECB',
+ 'description': 'dhWithCommonModulus (1 3 14 3 2 16)',
+ 'hexoid': '06 05 2B 0E 03 02 11',
+ 'name': 'dhWithCommonModulus',
+ 'oid': (1, 3, 14, 3, 2, 16)},
+ 'digestAlgorithm': {'comment': 'RSADSI digestAlgorithm (1 2 840 113549 2)',
+ 'description': 'digestAlgorithm (1 2 840 113549 2)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 02 02',
+ 'name': 'digestAlgorithm',
+ 'oid': (1, 2, 840, 113549, 2)},
+ 'digestedData': {'comment': 'PKCS #7',
+ 'description': 'digestedData (1 2 840 113549 1 7 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 06',
+ 'name': 'digestedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 5)},
+ 'directory': {'comment': 'Netscape directory',
+ 'description': 'directory (2 16 840 1 113730 3)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 03 01',
+ 'name': 'directory',
+ 'oid': (2, 16, 840, 1, 113730, 3)},
+ 'directoryGroup': {'comment': 'Telesec object class',
+ 'description': 'directoryGroup (0 2 262 1 10 3 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 03',
+ 'name': 'directoryGroup',
+ 'oid': (0, 2, 262, 1, 10, 3, 3)},
+ 'directoryGroupName': {'comment': 'Telesec attribute',
+ 'description': 'directoryGroupName (0 2 262 1 10 7 32)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 20',
+ 'name': 'directoryGroupName',
+ 'oid': (0, 2, 262, 1, 10, 7, 32)},
+ 'directoryName': {'comment': 'Telesec attribute',
+ 'description': 'directoryName (0 2 262 1 10 7 30)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1E',
+ 'name': 'directoryName',
+ 'oid': (0, 2, 262, 1, 10, 7, 30)},
+ 'directoryService': {'comment': 'Teletrust attribute',
+ 'description': 'directoryService (1 3 36 8 2 1)',
+ 'hexoid': '06 05 2B 24 08 03 01',
+ 'name': 'directoryService',
+ 'oid': (1, 3, 36, 8, 2, 1)},
+ 'directoryType': {'comment': 'Telesec object class',
+ 'description': 'directoryType (0 2 262 1 10 3 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 02',
+ 'name': 'directoryType',
+ 'oid': (0, 2, 262, 1, 10, 3, 2)},
+ 'directoryTypeName': {'comment': 'Telesec attribute',
+ 'description': 'directoryTypeName (0 2 262 1 10 7 31)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1F',
+ 'name': 'directoryTypeName',
+ 'oid': (0, 2, 262, 1, 10, 7, 31)},
+ 'directoryUser': {'comment': 'Telesec object class',
+ 'description': 'directoryUser (0 2 262 1 10 3 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 04',
+ 'name': 'directoryUser',
+ 'oid': (0, 2, 262, 1, 10, 3, 4)},
+ 'directoryUserName': {'comment': 'Telesec attribute',
+ 'description': 'directoryUserName (0 2 262 1 10 7 33)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 21',
+ 'name': 'directoryUserName',
+ 'oid': (0, 2, 262, 1, 10, 7, 33)},
+ 'distinguishedName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'distinguishedName (2 5 4 49)',
+ 'hexoid': '06 03 55 04 32',
+ 'name': 'distinguishedName',
+ 'oid': (2, 5, 4, 49)},
+ 'dnQualifier': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'dnQualifier (2 5 4 46)',
+ 'hexoid': '06 03 55 04 2F',
+ 'name': 'dnQualifier',
+ 'oid': (2, 5, 4, 46)},
+ 'document': {'comment': 'Teletrust document',
+ 'description': 'document (1 3 36 1)',
+ 'hexoid': '06 04 2B 24 01 01',
+ 'name': 'document',
+ 'oid': (1, 3, 36, 1)},
+ 'domainComponent': {'comment': 'Men are from Mars, this OID is from Pluto',
+ 'description': 'domainComponent (0 9 2342 19200300 100 1 25)',
+ 'hexoid': '06 0A 09 92 26 89 93 F2 2C 64 01 19',
+ 'name': 'domainComponent',
+ 'oid': (0, 9, 2342, 19200300, 100, 1, 25)},
+ 'draft': {'comment': 'Teletrust sio',
+ 'description': 'draft (1 3 36 1 2)',
+ 'hexoid': '06 03 2B 24 02',
+ 'name': 'draft',
+ 'oid': (1, 3, 36, 1, 2)},
+ 'dsa': {'comment': 'ANSI X9.57 algorithm',
+ 'description': 'dsa (1 2 840 10040 4 1)',
+ 'hexoid': '06 07 2A 86 48 CE 38 04 01',
+ 'name': 'dsa',
+ 'oid': (1, 2, 840, 10040, 4, 1)},
+ 'dsa-match': {'comment': 'ANSI X9.57 algorithm',
+ 'description': 'dsa-match (1 2 840 10040 4 2)',
+ 'hexoid': '06 07 2A 86 48 CE 38 04 02',
+ 'name': 'dsa-match',
+ 'oid': (1, 2, 840, 10040, 4, 2)},
+ 'dsaCommon': {'comment': 'Oddball OIW OID. Deprecated, use a plain dsaWithSHA OID instead',
+ 'description': 'dsaCommon (1 3 14 3 2 20)',
+ 'hexoid': '06 05 2B 0E 03 02 15',
+ 'name': 'dsaCommon',
+ 'oid': (1, 3, 14, 3, 2, 20)},
+ 'dsaCommonWithSHA': {'comment': 'Oddball OIW OID',
+ 'description': 'dsaCommonWithSHA (1 3 14 3 2 21)',
+ 'hexoid': '06 05 2B 0E 03 02 16',
+ 'name': 'dsaCommonWithSHA',
+ 'oid': (1, 3, 14, 3, 2, 21)},
+ 'dsaExtended': {'comment': 'Teletrust signature algorithm',
+ 'description': 'dsaExtended (1 3 36 8 5 1 2 1)',
+ 'hexoid': '06 07 2B 24 08 05 01 02 02',
+ 'name': 'dsaExtended',
+ 'oid': (1, 3, 36, 8, 5, 1, 2, 1)},
+ 'dsaWithCommonSHA1': {'comment': 'Oddball OIW OID',
+ 'description': 'dsaWithCommonSHA1 (1 3 14 3 2 28)',
+ 'hexoid': '06 05 2B 0E 03 02 1D',
+ 'name': 'dsaWithCommonSHA1',
+ 'oid': (1, 3, 14, 3, 2, 28)},
+ 'dsaWithRIPEMD160': {'comment': 'Teletrust signature attributes',
+ 'description': 'dsaWithRIPEMD160 (1 3 36 8 5 1 2 2)',
+ 'hexoid': '06 05 2B 24 08 06 02',
+ 'name': 'dsaWithRIPEMD160',
+ 'oid': (1, 3, 36, 8, 5, 1, 2, 2)},
+ 'dsaWithSHA': {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'dsaWithSHA (1 3 14 3 2 13)',
+ 'hexoid': '06 05 2B 0E 03 02 0E',
+ 'name': 'dsaWithSHA',
+ 'oid': (1, 3, 14, 3, 2, 13)},
+ 'dsaWithSHA1': {'comment': 'OIW',
+ 'description': 'dsaWithSHA1 (1 3 14 3 2 27)',
+ 'hexoid': '06 05 2B 0E 03 02 1C',
+ 'name': 'dsaWithSHA1',
+ 'oid': (1, 3, 14, 3, 2, 27)},
+ 'dsaWithSha1': {'comment': 'ANSI X9.57 algorithm',
+ 'description': 'dsaWithSha1 (1 2 840 10040 4 3)',
+ 'hexoid': '06 07 2A 86 48 CE 38 04 03',
+ 'name': 'dsaWithSha1',
+ 'oid': (1, 2, 840, 10040, 4, 3)},
+ 'dvcs': {'comment': 'PKIX key purpose',
+ 'description': 'dvcs (1 3 6 1 5 5 7 3 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 0B',
+ 'name': 'dvcs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 10)},
+ 'e-COMM': {'comment': 'SET vendor',
+ 'description': 'e-COMM (2 23 42 9 37)',
+ 'hexoid': '06 04 67 2A 09 26',
+ 'name': 'e-COMM',
+ 'oid': (2, 23, 42, 9, 37)},
+ 'eLab': {'comment': 'SET vendor',
+ 'description': 'eLab (2 23 42 9 22)',
+ 'hexoid': '06 04 67 2A 09 17',
+ 'name': 'eLab',
+ 'oid': (2, 23, 42, 9, 22)},
+ 'ecPublicKey': {'comment': 'ANSI X9.62 public key type',
+ 'description': 'ecPublicKey (1 2 840 10045 2 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3D 02 01',
+ 'name': 'ecPublicKey',
+ 'oid': (1, 2, 840, 10045, 2, 1)},
+ 'ecsieSign': {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSign (1 3 36 3 3 2)',
+ 'hexoid': '06 06 2B 24 03 03 02 01',
+ 'name': 'ecsieSign',
+ 'oid': (1, 3, 36, 3, 3, 2)},
+ 'ecsieSignWithmd2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSignWithmd2 (1 3 36 3 3 2 3)',
+ 'hexoid': '06 06 2B 24 03 03 02 04',
+ 'name': 'ecsieSignWithmd2',
+ 'oid': (1, 3, 36, 3, 3, 2, 3)},
+ 'ecsieSignWithmd5': {'comment': 'Teletrust algorithm',
+ 'description': 'ecsieSignWithmd5 (1 3 36 3 3 2 4)',
+ 'hexoid': '06 04 2B 24 03 04',
+ 'name': 'ecsieSignWithmd5',
+ 'oid': (1, 3, 36, 3, 3, 2, 4)},
+ 'ecsieSignWithripemd160': {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSignWithripemd160 (1 3 36 3 3 2 2)',
+ 'hexoid': '06 06 2B 24 03 03 02 03',
+ 'name': 'ecsieSignWithripemd160',
+ 'oid': (1, 3, 36, 3, 3, 2, 2)},
+ 'ecsieSignWithsha1': {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSignWithsha1 (1 3 36 3 3 2 1)',
+ 'hexoid': '06 06 2B 24 03 03 02 02',
+ 'name': 'ecsieSignWithsha1',
+ 'oid': (1, 3, 36, 3, 3, 2, 1)},
+ 'electronicOrder': {'comment': 'Telesec module',
+ 'description': 'electronicOrder (0 2 262 1 10 2 10)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0A',
+ 'name': 'electronicOrder',
+ 'oid': (0, 2, 262, 1, 10, 2, 10)},
+ 'elgamal': {'comment': 'cryptlib public-key algorithm',
+ 'description': 'elgamal (1 3 6 1 4 1 3029 1 2 1)',
+ 'hexoid': '06 0B 2B 06 01 04 01 97 55 01 02 01 01',
+ 'name': 'elgamal',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 2, 1)},
+ 'elgamalWithRIPEMD-160': {'comment': 'cryptlib attribute type',
+ 'description': 'elgamalWithRIPEMD-160 (1 3 6 1 4 1 3029 1 2 1 2)',
+ 'hexoid': '06 09 2B 06 01 04 01 97 55 03 01',
+ 'name': 'elgamalWithRIPEMD-160',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 2, 1, 2)},
+ 'elgamalWithSHA-1': {'comment': 'cryptlib public-key algorithm',
+ 'description': 'elgamalWithSHA-1 (1 3 6 1 4 1 3029 1 2 1 1)',
+ 'hexoid': '06 0B 2B 06 01 04 01 97 55 01 02 01 02',
+ 'name': 'elgamalWithSHA-1',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 2, 1, 1)},
+ 'emailAddress': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'emailAddress (1 2 840 113549 1 9 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 02',
+ 'name': 'emailAddress',
+ 'oid': (1, 2, 840, 113549, 1, 9, 1)},
+ 'emailProtection': {'comment': 'PKIX key purpose',
+ 'description': 'emailProtection (1 3 6 1 5 5 7 3 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 05',
+ 'name': 'emailProtection',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 4)},
+ 'employeeNumber': {'comment': 'Netscape LDAP definitions',
+ 'description': 'employeeNumber (2 16 840 1 113730 3 1 3)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 04',
+ 'name': 'employeeNumber',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 3)},
+ 'employeeType': {'comment': 'Netscape LDAP definitions',
+ 'description': 'employeeType (2 16 840 1 113730 3 1 4)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 02 02',
+ 'name': 'employeeType',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 4)},
+ 'emptyContent': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'emptyContent (2 16 840 1 101 2 1 2 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 03',
+ 'name': 'emptyContent',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 2)},
+ 'encAttrs': {'comment': 'PKIX',
+ 'description': 'encAttrs (1 3 6 1 5 5 7 10 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 30 01',
+ 'name': 'encAttrs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 6)},
+ 'encISO9796-2Withrsa': {'comment': 'Teletrust policy',
+ 'description': 'encISO9796-2Withrsa (1 3 36 7 2 1)',
+ 'hexoid': '06 05 2B 24 08 01 01',
+ 'name': 'encISO9796-2Withrsa',
+ 'oid': (1, 3, 36, 7, 2, 1)},
+ 'encKeyPairTypes': {'comment': 'PKIX CMP information',
+ 'description': 'encKeyPairTypes (1 3 6 1 5 5 7 4 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 04',
+ 'name': 'encKeyPairTypes',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 3)},
+ 'encryptedData': {'comment': 'PKCS #7 experimental',
+ 'description': 'encryptedData (1 2 840 113549 1 7 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 07',
+ 'name': 'encryptedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 6)},
+ 'encryptedFileSystem': {'comment': 'Microsoft attribute',
+ 'description': 'encryptedFileSystem (1 3 6 1 4 1 311 10 3 4)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 04 01',
+ 'name': 'encryptedFileSystem',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 3, 4)},
+ 'encryption': {'comment': 'Telesec mechanism',
+ 'description': 'encryption (0 2 262 1 10 1 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 02',
+ 'name': 'encryption',
+ 'oid': (0, 2, 262, 1, 10, 1, 2)},
+ 'encryptionAlgorithm': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'encryptionAlgorithm (1 2 840 113549 3)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 02',
+ 'name': 'encryptionAlgorithm',
+ 'oid': (1, 2, 840, 113549, 3)},
+ 'enhancedSearchGuide': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'enhancedSearchGuide (2 5 4 47)',
+ 'hexoid': '06 03 55 04 30',
+ 'name': 'enhancedSearchGuide',
+ 'oid': (2, 5, 4, 47)},
+ 'enrolmentCSP': {'comment': 'Microsoft attribute',
+ 'description': 'enrolmentCSP (1 3 6 1 4 1 311 13 2 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0D 02 03',
+ 'name': 'enrolmentCSP',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 13, 2, 2)},
+ 'entrustCAInfo': {'comment': 'Nortel Secure Networks at (1 2 840 113533 7 68)',
+ 'description': 'entrustCAInfo (1 2 840 113533 7 68 0)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 44 0A',
+ 'name': 'entrustCAInfo',
+ 'oid': (1, 2, 840, 113533, 7, 68, 0)},
+ 'envelopedData': {'comment': 'PKCS #7',
+ 'description': 'envelopedData (1 2 840 113549 1 7 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 04',
+ 'name': 'envelopedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 3)},
+ 'espace-net': {'comment': 'SET vendor',
+ 'description': 'espace-net (2 23 42 9 31)',
+ 'hexoid': '06 04 67 2A 09 20',
+ 'name': 'espace-net',
+ 'oid': (2, 23, 42, 9, 31)},
+ 'expirationDate': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'expirationDate (2 5 29 22)',
+ 'hexoid': '06 03 55 1D 17',
+ 'name': 'expirationDate',
+ 'oid': (2, 5, 29, 22)},
+ 'extKeyUsage': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'extKeyUsage (2 5 29 37)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 01',
+ 'name': 'extKeyUsage',
+ 'oid': (2, 5, 29, 37)},
+ 'extendedCertificateAttributes': {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'extendedCertificateAttributes (1 2 840 113549 1 9 9)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0A',
+ 'name': 'extendedCertificateAttributes',
+ 'oid': (1, 2, 840, 113549, 1, 9, 9)},
+ 'extension': {'comment': 'Telesec',
+ 'description': 'extension (0 2 262 1 10 0)',
+ 'hexoid': '06 06 02 82 06 01 0A 00',
+ 'name': 'extension',
+ 'oid': (0, 2, 262, 1, 10, 0)},
+ 'extensionReq': {'comment': 'PKCS #9 (1 2 840 113549 1 9). This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name',
+ 'description': 'extensionReq (1 2 840 113549 1 9 14)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0F',
+ 'name': 'extensionReq',
+ 'oid': (1, 2, 840, 113549, 1, 9, 14)},
+ 'extensions': {'comment': 'CSOR GAK extensions',
+ 'description': 'extensions (2 16 840 1 101 3 2 3)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 03 01',
+ 'name': 'extensions',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3)},
+ 'facsimileTelephoneNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'facsimileTelephoneNumber (2 5 4 23)',
+ 'hexoid': '06 04 55 04 17 01',
+ 'name': 'facsimileTelephoneNumber',
+ 'oid': (2, 5, 4, 23)},
+ 'familyName': {'comment': 'SET field',
+ 'description': 'familyName (2 23 42 2 2)',
+ 'hexoid': '06 04 67 2A 02 03',
+ 'name': 'familyName',
+ 'oid': (2, 23, 42, 2, 2)},
+ 'febUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'febUKMs (2 16 840 1 101 2 1 5 21)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 16',
+ 'name': 'febUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 21)},
+ 'fec': {'comment': 'Telesec module',
+ 'description': 'fec (0 2 262 1 10 2 6)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 06',
+ 'name': 'fec',
+ 'oid': (0, 2, 262, 1, 10, 2, 6)},
+ 'fecFunction': {'comment': 'Telesec mechanism',
+ 'description': 'fecFunction (0 2 262 1 10 1 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 04',
+ 'name': 'fecFunction',
+ 'oid': (0, 2, 262, 1, 10, 1, 4)},
+ 'field': {'comment': 'SET field',
+ 'description': 'field (2 23 42 2)',
+ 'hexoid': '06 04 67 2A 02 00',
+ 'name': 'field',
+ 'oid': (2, 23, 42, 2)},
+ 'fieldType': {'comment': 'ANSI X9.42',
+ 'description': 'fieldType (1 2 840 10046 1)',
+ 'hexoid': '06 06 2A 86 48 CE 3E 01',
+ 'name': 'fieldType',
+ 'oid': (1, 2, 840, 10046, 1)},
+ 'fileName': {'comment': 'Teletrust signature attributes',
+ 'description': 'fileName (1 3 36 8 6 5)',
+ 'hexoid': '06 05 2B 24 08 06 06',
+ 'name': 'fileName',
+ 'oid': (1, 3, 36, 8, 6, 5)},
+ 'fileSize': {'comment': 'Teletrust signature attributes',
+ 'description': 'fileSize (1 3 36 8 6 7)',
+ 'hexoid': '06 05 2B 24 08 06 08',
+ 'name': 'fileSize',
+ 'oid': (1, 3, 36, 8, 6, 7)},
+ 'fileType': {'comment': 'Telesec attribute',
+ 'description': 'fileType (0 2 262 1 10 7 26)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1A',
+ 'name': 'fileType',
+ 'oid': (0, 2, 262, 1, 10, 7, 26)},
+ 'finalVersion': {'comment': 'Teletrust document',
+ 'description': 'finalVersion (1 3 36 1 1)',
+ 'hexoid': '06 04 2B 24 01 02',
+ 'name': 'finalVersion',
+ 'oid': (1, 3, 36, 1, 1)},
+ 'fortezzaCASignatureCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaCASignatureCertificate (2 16 840 1 101 2 1 5 7)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 08',
+ 'name': 'fortezzaCASignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 7)},
+ 'fortezzaCKL': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'fortezzaCKL (2 16 840 1 101 2 1 5 46)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2F',
+ 'name': 'fortezzaCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 46)},
+ 'fortezzaCertificateRevocationList': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'fortezzaCertificateRevocationList (2 16 840 1 101 2 1 5 45)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2E',
+ 'name': 'fortezzaCertificateRevocationList',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 5,
+ 45)},
+ 'fortezzaConfidentialityAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaConfidentialityAlgorithm (2 16 840 1 101 2 1 1 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 05',
+ 'name': 'fortezzaConfidentialityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 4)},
+ 'fortezzaIntegrityAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaIntegrityAlgorithm (2 16 840 1 101 2 1 1 6)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 07',
+ 'name': 'fortezzaIntegrityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 6)},
+ 'fortezzaKMandSigAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaKMandSigAlgorithm (2 16 840 1 101 2 1 1 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0D',
+ 'name': 'fortezzaKMandSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 12)},
+ 'fortezzaKMandSigCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaKMandSigCertificate (2 16 840 1 101 2 1 5 5)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 06',
+ 'name': 'fortezzaKMandSigCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 5)},
+ 'fortezzaKMandUpdSigAlgorithms': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedIntegAlgorithm',
+ 'description': 'fortezzaKMandUpdSigAlgorithms (2 16 840 1 101 2 1 1 20)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 15',
+ 'name': 'fortezzaKMandUpdSigAlgorithms',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 20)},
+ 'fortezzaKeyManagementAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaKeyManagementAlgorithm (2 16 840 1 101 2 1 1 10)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0B',
+ 'name': 'fortezzaKeyManagementAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 10)},
+ 'fortezzaKeyManagementCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaKeyManagementCertificate (2 16 840 1 101 2 1 5 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 05',
+ 'name': 'fortezzaKeyManagementCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 4)},
+ 'fortezzaSignatureAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaSignatureAlgorithm (2 16 840 1 101 2 1 1 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 03',
+ 'name': 'fortezzaSignatureAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 2)},
+ 'fortezzaTokenProtectionAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 8)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 09',
+ 'name': 'fortezzaTokenProtectionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 8)},
+ 'fortezzaUpdatedIntegAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyEncryptionAlgorithm',
+ 'description': 'fortezzaUpdatedIntegAlgorithm (2 16 840 1 101 2 1 1 21)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 16',
+ 'name': 'fortezzaUpdatedIntegAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 21)},
+ 'fortezzaUpdatedSigAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandUpdSigAlgorithms',
+ 'description': 'fortezzaUpdatedSigAlgorithm (2 16 840 1 101 2 1 1 19)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 14',
+ 'name': 'fortezzaUpdatedSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 19)},
+ 'fortezzaUserSignatureCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaUserSignatureCertificate (2 16 840 1 101 2 1 5 6)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 07',
+ 'name': 'fortezzaUserSignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 6)},
+ 'fortezzaWrap80Algorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaWrap80Algorithm (2 16 840 1 101 2 1 1 23)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 18',
+ 'name': 'fortezzaWrap80Algorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 23)},
+ 'forwardedCSPMsgBodyPart': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'forwardedCSPMsgBodyPart (2 16 840 1 101 2 1 2 74)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 51',
+ 'name': 'forwardedCSPMsgBodyPart',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 74)},
+ 'forwardedMSPMessageBodyPart': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'forwardedMSPMessageBodyPart (2 16 840 1 101 2 1 2 72)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 49',
+ 'name': 'forwardedMSPMessageBodyPart',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 72)},
+ 'friendlyName': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'friendlyName (for PKCS #12) (1 2 840 113549 1 9 20)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 15',
+ 'name': 'friendlyName',
+ 'oid': (1, 2, 840, 113549, 1, 9, 20)},
+ 'fullName': {'comment': 'SET field',
+ 'description': 'fullName (2 23 42 2 0)',
+ 'hexoid': '06 04 67 2A 02 02',
+ 'name': 'fullName',
+ 'oid': (2, 23, 42, 2, 0)},
+ 'functionality-specific_api': {'comment': 'Teletrust key management',
+ 'description': 'functionality-specific_api (1 3 36 6 2)',
+ 'hexoid': '06 03 2B 24 07',
+ 'name': 'functionality-specific_api',
+ 'oid': (1, 3, 36, 6, 2)},
+ 'gKeyData': {'comment': 'Telesec attribute',
+ 'description': 'gKeyData (0 2 262 1 10 7 38)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 26',
+ 'name': 'gKeyData',
+ 'oid': (0, 2, 262, 1, 10, 7, 38)},
+ 'gender': {'comment': 'PKIX personal data',
+ 'description': 'gender (1 3 6 1 5 5 7 9 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 05',
+ 'name': 'gender',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 4)},
+ 'generationQualifier': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'generationQualifier (2 5 4 44)',
+ 'hexoid': '06 03 55 04 2D',
+ 'name': 'generationQualifier',
+ 'oid': (2, 5, 4, 44)},
+ 'genser': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'genser (2 16 840 1 101 2 1 3 11)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 00',
+ 'name': 'genser',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 11)},
+ 'genserAcquisition': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'genserAcquisition (2 16 840 1 101 2 1 3 11 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 03',
+ 'name': 'genserAcquisition',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 11, 2)},
+ 'genserComsec': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'genserComsec (2 16 840 1 101 2 1 3 11 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 02',
+ 'name': 'genserComsec',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 11, 1)},
+ 'genserNations': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'genserNations (2 16 840 1 101 2 1 3 11 0)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 01',
+ 'name': 'genserNations',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 11, 0)},
+ 'genserSecurityCategories': {'comment': 'SDN.700 INFOSEC GENSER policy',
+ 'description': 'genserSecurityCategories (2 16 840 1 101 2 1 3 11 3)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0B 03 00',
+ 'name': 'genserSecurityCategories',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 11, 3)},
+ 'genserTagSetName': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'genserTagSetName (2 16 840 1 101 2 1 3 11 3 0)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0C',
+ 'name': 'genserTagSetName',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 11, 3, 0)},
+ 'gf-prime': {'comment': 'ANSI X9.42 field type',
+ 'description': 'gf-prime (1 2 840 10046 1 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 01 01',
+ 'name': 'gf-prime',
+ 'oid': (1, 2, 840, 10046, 1, 1)},
+ 'givenName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'givenName (2 5 4 42)',
+ 'hexoid': '06 03 55 04 2B',
+ 'name': 'givenName',
+ 'oid': (2, 5, 4, 42)},
+ 'glNumber': {'comment': 'Telesec attribute',
+ 'description': 'glNumber (0 2 262 1 10 7 36)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 24',
+ 'name': 'glNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 36)},
+ 'goNumber': {'comment': 'Telesec attribute',
+ 'description': 'goNumber (0 2 262 1 10 7 37)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 25',
+ 'name': 'goNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 37)},
+ 'group': {'comment': 'PKIX attribute certificate extension',
+ 'description': 'group (1 3 6 1 5 5 7 10 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 05',
+ 'name': 'group',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 4)},
+ 'groupOfNames': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'groupOfNames (2 5 6 9)',
+ 'hexoid': '06 03 55 06 0A',
+ 'name': 'groupOfNames',
+ 'oid': (2, 5, 6, 9)},
+ 'groupOfUniqueNames': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'groupOfUniqueNames (2 5 6 17)',
+ 'hexoid': '06 03 55 06 15',
+ 'name': 'groupOfUniqueNames',
+ 'oid': (2, 5, 6, 17)},
+ 'guard': {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'guard (2 16 840 1 101 2 1 5 48)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 31',
+ 'name': 'guard',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 48)},
+ 'hashAlgorithm': {'comment': 'Teletrust hash algorithm',
+ 'description': 'hashAlgorithm (1 3 36 3 2)',
+ 'hexoid': '06 05 2B 24 03 02 03',
+ 'name': 'hashAlgorithm',
+ 'oid': (1, 3, 36, 3, 2)},
+ 'hashUsingBlockCipher': {'comment': 'Telesec one-way function',
+ 'description': 'hashUsingBlockCipher (0 2 262 1 10 1 3 6)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 06',
+ 'name': 'hashUsingBlockCipher',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 6)},
+ 'hashedRootKey': {'comment': 'SET cert extension',
+ 'description': 'hashedRootKey (2 23 42 7 0)',
+ 'hexoid': '06 04 67 2A 07 01',
+ 'name': 'hashedRootKey',
+ 'oid': (2, 23, 42, 7, 0)},
+ 'hbciRsaSignature': {'comment': 'Telesec signature',
+ 'description': 'hbciRsaSignature (0 2 262 1 10 1 1 9)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 09',
+ 'name': 'hbciRsaSignature',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 9)},
+ 'hmacMD5': {'comment': 'ISAKMP HMAC algorithm',
+ 'description': 'hmacMD5 (1 3 6 1 5 5 8 1 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 01 02',
+ 'name': 'hmacMD5',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 1, 1)},
+ 'hmacSHA': {'comment': 'ISAKMP HMAC algorithm',
+ 'description': 'hmacSHA (1 3 6 1 5 5 8 1 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 01 03',
+ 'name': 'hmacSHA',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 1, 2)},
+ 'hmacTiger': {'comment': 'IKE ???',
+ 'description': 'hmacTiger (1 3 6 1 5 5 8 1 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 02 02',
+ 'name': 'hmacTiger',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 1, 3)},
+ 'holdinstruction': {'comment': 'ANSI X9.57',
+ 'description': 'holdinstruction (1 2 840 10040 2)',
+ 'hexoid': '06 06 2A 86 48 CE 38 02',
+ 'name': 'holdinstruction',
+ 'oid': (1, 2, 840, 10040, 2)},
+ 'holdinstruction-none': {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'holdinstruction-none (1 2 840 10040 2 1)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 01',
+ 'name': 'holdinstruction-none',
+ 'oid': (1, 2, 840, 10040, 2, 1)},
+ 'houseIdentifier': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'houseIdentifier (2 5 4 51)',
+ 'hexoid': '06 03 55 04 34',
+ 'name': 'houseIdentifier',
+ 'oid': (2, 5, 4, 51)},
+ 'iKEIntermediate': {'comment': 'DASS algorithm',
+ 'description': 'iKEIntermediate (1 3 6 1 5 5 8 2 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 01',
+ 'name': 'iKEIntermediate',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 2, 2)},
+ 'id-aa': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa (1 2 840 113549 1 9 16 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 01',
+ 'name': 'id-aa',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2)},
+ 'id-aa-contentHint': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-contentHint (1 2 840 113549 1 9 16 2 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 05',
+ 'name': 'id-aa-contentHint',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 4)},
+ 'id-aa-contentIdentifier': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2). Obsolete',
+ 'description': 'id-aa-contentIdentifier (1 2 840 113549 1 9 16 2 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 08',
+ 'name': 'id-aa-contentIdentifier',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 7)},
+ 'id-aa-contentReference': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-contentReference (1 2 840 113549 1 9 16 2 10)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0B',
+ 'name': 'id-aa-contentReference',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 10)},
+ 'id-aa-dvcs-dvc': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-aa-dvcs-dvc (1 2 840 113549 1 9 16 2 29)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 01',
+ 'name': 'id-aa-dvcs-dvc',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 29)},
+ 'id-aa-encapContentType': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-encapContentType (1 2 840 113549 1 9 16 2 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 07',
+ 'name': 'id-aa-encapContentType',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 6)},
+ 'id-aa-encrypKeyPref': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-encrypKeyPref (1 2 840 113549 1 9 16 2 11)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0C',
+ 'name': 'id-aa-encrypKeyPref',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 11)},
+ 'id-aa-equivalentLabels': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-equivalentLabels (1 2 840 113549 1 9 16 2 9)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0A',
+ 'name': 'id-aa-equivalentLabels',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 9)},
+ 'id-aa-ets-CertificateRefs': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-CertificateRefs (1 2 840 113549 1 9 16 2 21)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 16',
+ 'name': 'id-aa-ets-CertificateRefs',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 21)},
+ 'id-aa-ets-RevocationRefs': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-RevocationRefs (1 2 840 113549 1 9 16 2 22)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 17',
+ 'name': 'id-aa-ets-RevocationRefs',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 22)},
+ 'id-aa-ets-archiveTimeStamp': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-archiveTimeStamp (1 2 840 113549 1 9 16 2 27)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1C',
+ 'name': 'id-aa-ets-archiveTimeStamp',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 27)},
+ 'id-aa-ets-certCRLTimestamp': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-certCRLTimestamp (1 2 840 113549 1 9 16 2 26)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1B',
+ 'name': 'id-aa-ets-certCRLTimestamp',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 26)},
+ 'id-aa-ets-certValues': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-certValues (1 2 840 113549 1 9 16 2 23)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 18',
+ 'name': 'id-aa-ets-certValues',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 23)},
+ 'id-aa-ets-commitmentType': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-commitmentType (1 2 840 113549 1 9 16 2 16)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 11',
+ 'name': 'id-aa-ets-commitmentType',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 16)},
+ 'id-aa-ets-contentTimestamp': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-contentTimestamp (1 2 840 113549 1 9 16 2 20)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 15',
+ 'name': 'id-aa-ets-contentTimestamp',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 20)},
+ 'id-aa-ets-escTimeStamp': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-escTimeStamp (1 2 840 113549 1 9 16 2 25)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1A',
+ 'name': 'id-aa-ets-escTimeStamp',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 25)},
+ 'id-aa-ets-otherSigCert': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-otherSigCert (1 2 840 113549 1 9 16 2 19)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 14',
+ 'name': 'id-aa-ets-otherSigCert',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 19)},
+ 'id-aa-ets-revocationValues': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-revocationValues (1 2 840 113549 1 9 16 2 24)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 19',
+ 'name': 'id-aa-ets-revocationValues',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 24)},
+ 'id-aa-ets-sigPolicyId': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-sigPolicyId (1 2 840 113549 1 9 16 2 15)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 10',
+ 'name': 'id-aa-ets-sigPolicyId',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 15)},
+ 'id-aa-ets-signerAttr': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-signerAttr (1 2 840 113549 1 9 16 2 18)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 13',
+ 'name': 'id-aa-ets-signerAttr',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 18)},
+ 'id-aa-ets-signerLocation': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-signerLocation (1 2 840 113549 1 9 16 2 17)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 12',
+ 'name': 'id-aa-ets-signerLocation',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 17)},
+ 'id-aa-macValue': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-macValue (1 2 840 113549 1 9 16 2 8)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 09',
+ 'name': 'id-aa-macValue',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 8)},
+ 'id-aa-mlExpandHistory': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-mlExpandHistory (1 2 840 113549 1 9 16 2 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 04',
+ 'name': 'id-aa-mlExpandHistory',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 3)},
+ 'id-aa-msgSigDigest': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2). Obsolete',
+ 'description': 'id-aa-msgSigDigest (1 2 840 113549 1 9 16 2 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 06',
+ 'name': 'id-aa-msgSigDigest',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 5)},
+ 'id-aa-receiptRequest': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-receiptRequest (1 2 840 113549 1 9 16 2 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 02',
+ 'name': 'id-aa-receiptRequest',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 1)},
+ 'id-aa-securityLabel': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-securityLabel (1 2 840 113549 1 9 16 2 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 03',
+ 'name': 'id-aa-securityLabel',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 2)},
+ 'id-aa-signatureType': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-signatureType (1 2 840 113549 1 9 16 2 28)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1D',
+ 'name': 'id-aa-signatureType',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 28)},
+ 'id-aa-signingCertificate': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-signingCertificate (1 2 840 113549 1 9 16 2 12)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0D',
+ 'name': 'id-aa-signingCertificate',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 12)},
+ 'id-aa-smimeEncryptCerts': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-smimeEncryptCerts (1 2 840 113549 1 9 16 2 13)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0E',
+ 'name': 'id-aa-smimeEncryptCerts',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 13)},
+ 'id-aa-timeStampToken': {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-timeStampToken (1 2 840 113549 1 9 16 2 14)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0F',
+ 'name': 'id-aa-timeStampToken',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2, 14)},
+ 'id-alg-3DESwrap': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-alg-3DESwrap (1 2 840 113549 1 9 16 3 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 04',
+ 'name': 'id-alg-3DESwrap',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 3)},
+ 'id-alg-CMS3DESwrap': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-CMS3DESwrap (1 2 840 113549 1 9 16 3 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 07',
+ 'name': 'id-alg-CMS3DESwrap',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 6)},
+ 'id-alg-CMSRC2wrap': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-CMSRC2wrap (1 2 840 113549 1 9 16 3 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 08',
+ 'name': 'id-alg-CMSRC2wrap',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 7)},
+ 'id-alg-ESDH': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-ESDH (1 2 840 113549 1 9 16 3 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 06',
+ 'name': 'id-alg-ESDH',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 5)},
+ 'id-alg-ESDHwith3DES': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-alg-ESDHwith3DES (1 2 840 113549 1 9 16 3 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 02',
+ 'name': 'id-alg-ESDHwith3DES',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 1)},
+ 'id-alg-ESDHwithRC2': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-alg-ESDHwithRC2 (1 2 840 113549 1 9 16 3 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 03',
+ 'name': 'id-alg-ESDHwithRC2',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 2)},
+ 'id-alg-PWRI-KEK': {'comment': 'S/MIME Certificate Distribution (1 2 840 113549 1 9 16 4)',
+ 'description': 'id-alg-PWRI-KEK (1 2 840 113549 1 9 16 3 9)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 04 01',
+ 'name': 'id-alg-PWRI-KEK',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 9)},
+ 'id-alg-RC2wrap': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-RC2wrap (1 2 840 113549 1 9 16 3 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 05',
+ 'name': 'id-alg-RC2wrap',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 4)},
+ 'id-alg-zlib': {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-zlib (1 2 840 113549 1 9 16 3 8)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 09',
+ 'name': 'id-alg-zlib',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 3, 8)},
+ 'id-cd-ldap': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 5)',
+ 'description': 'id-cd-ldap (1 2 840 113549 1 9 16 4 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 05 01',
+ 'name': 'id-cd-ldap',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 4, 1)},
+ 'id-ct': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct (1 2 840 113549 1 9 16 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 01',
+ 'name': 'id-ct',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1)},
+ 'id-ct-DVCSRequestData': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-DVCSRequestData (1 2 840 113549 1 9 16 1 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 08',
+ 'name': 'id-ct-DVCSRequestData',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 7)},
+ 'id-ct-DVCSResponseData': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-DVCSResponseData (1 2 840 113549 1 9 16 1 8)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 07',
+ 'name': 'id-ct-DVCSResponseData',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 8)},
+ 'id-ct-TDTInfo': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-TDTInfo (1 2 840 113549 1 9 16 1 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 06',
+ 'name': 'id-ct-TDTInfo',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 5)},
+ 'id-ct-TSTInfo': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-TSTInfo (1 2 840 113549 1 9 16 1 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 05',
+ 'name': 'id-ct-TSTInfo',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 4)},
+ 'id-ct-authData': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-authData (1 2 840 113549 1 9 16 1 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 03',
+ 'name': 'id-ct-authData',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 2)},
+ 'id-ct-compressedData': {'comment': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'description': 'id-ct-compressedData (1 2 840 113549 1 9 16 1 9)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 10 02',
+ 'name': 'id-ct-compressedData',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 9)},
+ 'id-ct-contentInfo': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-contentInfo (1 2 840 113549 1 9 16 1 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 07',
+ 'name': 'id-ct-contentInfo',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 6)},
+ 'id-ct-publishCert': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-publishCert (1 2 840 113549 1 9 16 1 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 04',
+ 'name': 'id-ct-publishCert',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 3)},
+ 'id-ct-receipt': {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-receipt (1 2 840 113549 1 9 16 1 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 02',
+ 'name': 'id-ct-receipt',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1, 1)},
+ 'id-cti-ets-proofOfApproval': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfApproval (1 2 840 113549 1 9 16 6 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 06',
+ 'name': 'id-cti-ets-proofOfApproval',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 6, 5)},
+ 'id-cti-ets-proofOfCreation': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'id-cti-ets-proofOfCreation (1 2 840 113549 1 9 16 6 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 14',
+ 'name': 'id-cti-ets-proofOfCreation',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 6, 6)},
+ 'id-cti-ets-proofOfDelivery': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfDelivery (1 2 840 113549 1 9 16 6 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 04',
+ 'name': 'id-cti-ets-proofOfDelivery',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 6, 3)},
+ 'id-cti-ets-proofOfOrigin': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfOrigin (1 2 840 113549 1 9 16 6 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 02',
+ 'name': 'id-cti-ets-proofOfOrigin',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 6, 1)},
+ 'id-cti-ets-proofOfReceipt': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfReceipt (1 2 840 113549 1 9 16 6 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 03',
+ 'name': 'id-cti-ets-proofOfReceipt',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 6, 2)},
+ 'id-cti-ets-proofOfSender': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfSender (1 2 840 113549 1 9 16 6 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 05',
+ 'name': 'id-cti-ets-proofOfSender',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 6, 4)},
+ 'id-mod': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod (1 2 840 113549 1 9 16 0)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 01',
+ 'name': 'id-mod',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0)},
+ 'id-mod-cms': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-cms (1 2 840 113549 1 9 16 0 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 02',
+ 'name': 'id-mod-cms',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 1)},
+ 'id-mod-ess': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ess (1 2 840 113549 1 9 16 0 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 03',
+ 'name': 'id-mod-ess',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 2)},
+ 'id-mod-ets-eSigPolicy-88': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ets-eSigPolicy-88 (1 2 840 113549 1 9 16 0 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 08',
+ 'name': 'id-mod-ets-eSigPolicy-88',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 7)},
+ 'id-mod-ets-eSigPolicy-97': {'comment': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'description': 'id-mod-ets-eSigPolicy-97 (1 2 840 113549 1 9 16 0 8)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 10 01',
+ 'name': 'id-mod-ets-eSigPolicy-97',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 8)},
+ 'id-mod-ets-eSignature-88': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ets-eSignature-88 (1 2 840 113549 1 9 16 0 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 06',
+ 'name': 'id-mod-ets-eSignature-88',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 5)},
+ 'id-mod-ets-eSignature-97': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ets-eSignature-97 (1 2 840 113549 1 9 16 0 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 07',
+ 'name': 'id-mod-ets-eSignature-97',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 6)},
+ 'id-mod-msg-v3': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-msg-v3 (1 2 840 113549 1 9 16 0 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 05',
+ 'name': 'id-mod-msg-v3',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 4)},
+ 'id-mod-oid': {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-oid (1 2 840 113549 1 9 16 0 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 04',
+ 'name': 'id-mod-oid',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0, 3)},
+ 'id-sMIME': {'comment': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'description': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 10 00',
+ 'name': 'id-sMIME',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16)},
+ 'id-spq-ets-sqt-unotice': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-spq-ets-sqt-unotice (1 2 840 113549 1 9 16 5 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 01',
+ 'name': 'id-spq-ets-sqt-unotice',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 5, 2)},
+ 'id-spq-ets-sqt-uri': {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 5)',
+ 'description': 'id-spq-ets-sqt-uri (1 2 840 113549 1 9 16 5 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 05 02',
+ 'name': 'id-spq-ets-sqt-uri',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 5, 1)},
+ 'idea': {'comment': 'Telesec encryption',
+ 'description': 'idea (0 2 262 1 10 1 2 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 05',
+ 'name': 'idea',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5)},
+ 'ideaCBC': {'comment': 'Telesec encryption',
+ 'description': 'ideaCBC (0 2 262 1 10 1 2 5 2)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 02',
+ 'name': 'ideaCBC',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 2)},
+ 'ideaCBC_ISOpad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaCBC_ISOpad (1 3 36 3 1 2 2 1 1)',
+ 'hexoid': '06 08 2B 24 03 01 04 84 00 11',
+ 'name': 'ideaCBC_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 2, 2, 1, 1)},
+ 'ideaCBC_pad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaCBC_pad (1 3 36 3 1 2 2 1)',
+ 'hexoid': '06 08 2B 24 03 01 02 02 01 01',
+ 'name': 'ideaCBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 2, 2, 1)},
+ 'ideaCFB64': {'comment': 'Telesec encryption',
+ 'description': 'ideaCFB64 (0 2 262 1 10 1 2 5 5)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 05',
+ 'name': 'ideaCFB64',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 5)},
+ 'ideaCFB8': {'comment': 'Telesec encryption',
+ 'description': 'ideaCFB8 (0 2 262 1 10 1 2 5 4)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 04',
+ 'name': 'ideaCFB8',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 4)},
+ 'ideaECB': {'comment': 'Telesec encryption',
+ 'description': 'ideaECB (0 2 262 1 10 1 2 5 1)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 01',
+ 'name': 'ideaECB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 1)},
+ 'ideaECB_ISOpad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaECB_ISOpad (1 3 36 3 1 2 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 02 02 01',
+ 'name': 'ideaECB_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 2, 1, 1, 1)},
+ 'ideaECB_pad': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaECB_pad (1 3 36 3 1 2 1 1)',
+ 'hexoid': '06 08 2B 24 03 01 02 01 01 01',
+ 'name': 'ideaECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 2, 1, 1)},
+ 'ideaOFB': {'comment': 'Telesec encryption',
+ 'description': 'ideaOFB (0 2 262 1 10 1 2 5 3)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 03',
+ 'name': 'ideaOFB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 3)},
+ 'identificationNumber': {'comment': 'SET field',
+ 'description': 'identificationNumber (2 23 42 2 5)',
+ 'hexoid': '06 04 67 2A 02 06',
+ 'name': 'identificationNumber',
+ 'oid': (2, 23, 42, 2, 5)},
+ 'identrusOCSP': {'comment': 'Ascom Systech',
+ 'description': 'identrusOCSP (1 2 840 114021 4 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 81 3C 07 01 01',
+ 'name': 'identrusOCSP',
+ 'oid': (1, 2, 840, 114021, 4, 1)},
+ 'implicitConfirm': {'comment': 'PKIX CMP information',
+ 'description': 'implicitConfirm (1 3 6 1 5 5 7 4 13)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0E',
+ 'name': 'implicitConfirm',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 13)},
+ 'individualCodeSigning': {'comment': 'Microsoft',
+ 'description': 'individualCodeSigning (1 3 6 1 4 1 311 2 1 21)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 16',
+ 'name': 'individualCodeSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 21)},
+ 'inetOrgPerson': {'comment': 'Netscape',
+ 'description': 'inetOrgPerson (2 16 840 1 113730 3 2 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 04 01',
+ 'name': 'inetOrgPerson',
+ 'oid': (2, 16, 840, 1, 113730, 3, 2, 2)},
+ 'initials': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'initials (2 5 4 43)',
+ 'hexoid': '06 03 55 04 2C',
+ 'name': 'initials',
+ 'oid': (2, 5, 4, 43)},
+ 'instructionCode': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'instructionCode (2 5 29 23)',
+ 'hexoid': '06 03 55 1D 18',
+ 'name': 'instructionCode',
+ 'oid': (2, 5, 29, 23)},
+ 'integratedCircuitCardSerialNumber': {'comment': 'Teletrust attribute',
+ 'description': 'integratedCircuitCardSerialNumber (1 3 36 8 3 6)',
+ 'hexoid': '06 05 2B 24 08 03 07',
+ 'name': 'integratedCircuitCardSerialNumber',
+ 'oid': (1, 3, 36, 8, 3, 6)},
+ 'internationalISDNNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'internationalISDNNumber (2 5 4 25)',
+ 'hexoid': '06 04 55 04 19 01',
+ 'name': 'internationalISDNNumber',
+ 'oid': (2, 5, 4, 25)},
+ 'invalidityDate': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'invalidityDate (2 5 29 24)',
+ 'hexoid': '06 03 55 1D 1B',
+ 'name': 'invalidityDate',
+ 'oid': (2, 5, 29, 24)},
+ 'ipsecEndSystem': {'comment': 'PKIX key purpose',
+ 'description': 'ipsecEndSystem (1 3 6 1 5 5 7 3 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 06',
+ 'name': 'ipsecEndSystem',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 5)},
+ 'ipsecTunnel': {'comment': 'PKIX key purpose',
+ 'description': 'ipsecTunnel (1 3 6 1 5 5 7 3 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 07',
+ 'name': 'ipsecTunnel',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 6)},
+ 'ipsecUser': {'comment': 'PKIX key purpose',
+ 'description': 'ipsecUser (1 3 6 1 5 5 7 3 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 09',
+ 'name': 'ipsecUser',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 7)},
+ 'issuer': {'comment': 'Telesec attribute',
+ 'description': 'issuer (0 2 262 1 10 7 6)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 06',
+ 'name': 'issuer',
+ 'oid': (0, 2, 262, 1, 10, 7, 6)},
+ 'issuerAltName': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'issuerAltName (2 5 29 18)',
+ 'hexoid': '06 03 55 1D 13',
+ 'name': 'issuerAltName',
+ 'oid': (2, 5, 29, 18)},
+ 'issuerAndSerialNumber': {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'issuerAndSerialNumber (1 2 840 113549 1 9 10)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0B',
+ 'name': 'issuerAndSerialNumber',
+ 'oid': (1, 2, 840, 113549, 1, 9, 10)},
+ 'issuingDistributionPoint': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'issuingDistributionPoint (2 5 29 28)',
+ 'hexoid': '06 03 55 1D 1D',
+ 'name': 'issuingDistributionPoint',
+ 'oid': (2, 5, 29, 28)},
+ 'janUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'janUKMs (2 16 840 1 101 2 1 5 20)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 15',
+ 'name': 'janUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 20)},
+ 'julUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'julUKMs (2 16 840 1 101 2 1 5 26)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1B',
+ 'name': 'julUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 26)},
+ 'junUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'junUKMs (2 16 840 1 101 2 1 5 25)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1A',
+ 'name': 'junUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 25)},
+ 'kEAKeyEncryptionAlgorithm': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'kEAKeyEncryptionAlgorithm (2 16 840 1 101 2 1 1 24)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 01',
+ 'name': 'kEAKeyEncryptionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 24)},
+ 'kR': {'comment': 'CSOR GAK',
+ 'description': 'kR (2 16 840 1 101 3 2 3 3)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 04',
+ 'name': 'kR',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3, 3)},
+ 'kRAKey': {'comment': 'CSOR GAK extensions',
+ 'description': 'kRAKey (2 16 840 1 101 3 2 2 1)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 03',
+ 'name': 'kRAKey',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 2, 1)},
+ 'kRTechnique': {'comment': 'CSOR GAK extensions',
+ 'description': 'kRTechnique (2 16 840 1 101 3 2 3 1)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 03 02',
+ 'name': 'kRTechnique',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3, 1)},
+ 'kRecoveryCapable': {'comment': 'CSOR GAK extensions',
+ 'description': 'kRecoveryCapable (2 16 840 1 101 3 2 3 2)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 03 03',
+ 'name': 'kRecoveryCapable',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3, 2)},
+ 'kafka': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafka (2 16 840 1 101 2 1 12 0 3)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00',
+ 'name': 'kafka',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 3)},
+ 'kafkaSecurityCategories': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaSecurityCategories (2 16 840 1 101 2 1 12 0 3 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00 01',
+ 'name': 'kafkaSecurityCategories',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0)},
+ 'kafkaTagSetName1': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaTagSetName1 (2 16 840 1 101 2 1 12 0 3 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00 02',
+ 'name': 'kafkaTagSetName1',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0, 1)},
+ 'kafkaTagSetName2': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaTagSetName2 (2 16 840 1 101 2 1 12 0 3 0 2)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00 03',
+ 'name': 'kafkaTagSetName2',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0, 2)},
+ 'kafkaTagSetName3': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaTagSetName3 (2 16 840 1 101 2 1 12 0 3 0 3)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 01 01',
+ 'name': 'kafkaTagSetName3',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0, 3)},
+ 'keyAttributes': {'comment': 'X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead',
+ 'description': 'keyAttributes (2 5 29 2)',
+ 'hexoid': '06 03 55 1D 04',
+ 'name': 'keyAttributes',
+ 'oid': (2, 5, 29, 2)},
+ 'keyExchangeAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'keyExchangeAlgorithm (2 16 840 1 101 2 1 1 22)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 17',
+ 'name': 'keyExchangeAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 22)},
+ 'keyPairParamRep': {'comment': 'PKIX CMP information',
+ 'description': 'keyPairParamRep (1 3 6 1 5 5 7 4 11)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0C',
+ 'name': 'keyPairParamRep',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 11)},
+ 'keyPairParamReq': {'comment': 'PKIX CMP information',
+ 'description': 'keyPairParamReq (1 3 6 1 5 5 7 4 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0B',
+ 'name': 'keyPairParamReq',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 10)},
+ 'keyPurpose': {'comment': 'PKIX key purpose',
+ 'description': 'keyPurpose (1 3 6 1 5 5 7 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 01',
+ 'name': 'keyPurpose',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3)},
+ 'keyUsage': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'keyUsage (2 5 29 15)',
+ 'hexoid': '06 03 55 1D 10',
+ 'name': 'keyUsage',
+ 'oid': (2, 5, 29, 15)},
+ 'keyUsageRestriction': {'comment': 'X.509 id-ce (2 5 29). Deprecated, use (2 5 29 33) instead',
+ 'description': 'keyUsageRestriction (2 5 29 4)',
+ 'hexoid': '06 03 55 1D 05',
+ 'name': 'keyUsageRestriction',
+ 'oid': (2, 5, 29, 4)},
+ 'keyagree': {'comment': 'Teletrust key management',
+ 'description': 'keyagree (1 3 36 7 1)',
+ 'hexoid': '06 05 2B 24 07 01 01',
+ 'name': 'keyagree',
+ 'oid': (1, 3, 36, 7, 1)},
+ 'keyed-hash-seal': {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'keyed-hash-seal (1 3 14 3 2 23)',
+ 'hexoid': '06 05 2B 0E 03 02 18',
+ 'name': 'keyed-hash-seal',
+ 'oid': (1, 3, 14, 3, 2, 23)},
+ 'keymgmnt': {'comment': 'Teletrust key management',
+ 'description': 'keymgmnt (1 3 36 7)',
+ 'hexoid': '06 04 2B 24 07 01',
+ 'name': 'keymgmnt',
+ 'oid': (1, 3, 36, 7)},
+ 'keyrecoveryschemes': {'comment': 'CSOR GAK',
+ 'description': 'keyrecoveryschemes (2 16 840 1 101 3 2 4)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 05',
+ 'name': 'keyrecoveryschemes',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 4)},
+ 'keytrans': {'comment': 'Teletrust key management. 9796-2 with key stored in hash field',
+ 'description': 'keytrans (1 3 36 7 2)',
+ 'hexoid': '06 05 2B 24 07 02 01',
+ 'name': 'keytrans',
+ 'oid': (1, 3, 36, 7, 2)},
+ 'kmPrivileges': {'comment': 'SDN.700 INFOSEC privileges',
+ 'description': 'kmPrivileges (2 16 840 1 101 2 1 10 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0A 03',
+ 'name': 'kmPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 10, 2)},
+ 'knowledgeInformation': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'knowledgeInformation (2 5 4 2)',
+ 'hexoid': '06 03 55 04 03',
+ 'name': 'knowledgeInformation',
+ 'oid': (2, 5, 4, 2)},
+ 'krapola': {'comment': 'CSOR GAK',
+ 'description': 'krapola (2 16 840 1 101 3 2 5)',
+ 'hexoid': '06 07 60 86 48 01 65 03 03',
+ 'name': 'krapola',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 5)},
+ 'ktKeyData': {'comment': 'Telesec attribute',
+ 'description': 'ktKeyData (0 2 262 1 10 7 40)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 28',
+ 'name': 'ktKeyData',
+ 'oid': (0, 2, 262, 1, 10, 7, 40)},
+ 'ktKeyNumber': {'comment': 'Telesec attribute',
+ 'description': 'ktKeyNumber (0 2 262 1 10 7 41)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 2A',
+ 'name': 'ktKeyNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 41)},
+ 'labeledAttribute': {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'labeledAttribute (2 16 840 1 101 2 1 5 57)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 3A',
+ 'name': 'labeledAttribute',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 57)},
+ 'ldapDefinitions': {'comment': 'Netscape LDAP definitions',
+ 'description': 'ldapDefinitions (2 16 840 1 113730 3 1)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 01',
+ 'name': 'ldapDefinitions',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1)},
+ 'liabilityText': {'comment': 'Telesec attribute',
+ 'description': 'liabilityText (0 2 262 1 10 7 52)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 34',
+ 'name': 'liabilityText',
+ 'oid': (0, 2, 262, 1, 10, 7, 52)},
+ 'localKeyID': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'localKeyID (for PKCS #12) (1 2 840 113549 1 9 21)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 16',
+ 'name': 'localKeyID',
+ 'oid': (1, 2, 840, 113549, 1, 9, 21)},
+ 'locality': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'locality (2 5 6 3)',
+ 'hexoid': '06 03 55 06 04',
+ 'name': 'locality',
+ 'oid': (2, 5, 6, 3)},
+ 'localityName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'localityName (2 5 4 7)',
+ 'hexoid': '06 04 55 04 07 01',
+ 'name': 'localityName',
+ 'oid': (2, 5, 4, 7)},
+ 'location': {'comment': 'Teletrust signature attributes',
+ 'description': 'location (1 3 36 8 6 8)',
+ 'hexoid': '06 05 2B 24 08 06 09',
+ 'name': 'location',
+ 'oid': (1, 3, 36, 8, 6, 8)},
+ 'mISSISecurityCategories': {'comment': 'SDN.700 INFOSEC security category',
+ 'description': 'mISSISecurityCategories (2 16 840 1 101 2 1 8 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 08 02',
+ 'name': 'mISSISecurityCategories',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 8, 1)},
+ 'mac': {'comment': 'Telesec one-way function',
+ 'description': 'mac (0 2 262 1 10 1 3 7)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 07',
+ 'name': 'mac',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 7)},
+ 'magenta': {'comment': 'Telesec encryption',
+ 'description': 'magenta (0 2 262 1 10 1 2 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 04',
+ 'name': 'magenta',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 4)},
+ 'mailRecipient': {'comment': 'Microsoft Exchange Server - attribute',
+ 'description': 'mailRecipient (1 2 840 113556 1 3 46)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 02 81 71',
+ 'name': 'mailRecipient',
+ 'oid': (1, 2, 840, 113556, 1, 3, 46)},
+ 'mailbox': {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'mailbox (1 2 840 113556 1 3 22)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 17',
+ 'name': 'mailbox',
+ 'oid': (1, 2, 840, 113556, 1, 3, 22)},
+ 'mailbox-Agent': {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'mailbox-Agent (1 2 840 113556 1 3 174)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 16',
+ 'name': 'mailbox-Agent',
+ 'oid': (1, 2, 840, 113556, 1, 3, 174)},
+ 'manufacturer-specific_api': {'comment': 'Teletrust API',
+ 'description': 'manufacturer-specific_api (1 3 36 6 1)',
+ 'hexoid': '06 05 2B 24 06 01 01',
+ 'name': 'manufacturer-specific_api',
+ 'oid': (1, 3, 36, 6, 1)},
+ 'marUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'marUKMs (2 16 840 1 101 2 1 5 22)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 17',
+ 'name': 'marUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 22)},
+ 'mayUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mayUKMs (2 16 840 1 101 2 1 5 24)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 19',
+ 'name': 'mayUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 24)},
+ 'md2': {'comment': 'RSADSI digestAlgorithm (1 2 840 113549 2)',
+ 'description': 'md2 (1 2 840 113549 2 2)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 02 07',
+ 'name': 'md2',
+ 'oid': (1, 2, 840, 113549, 2, 2)},
+ 'md2WithElGamal': {'comment': 'Teletrust document',
+ 'description': 'md2WithElGamal (1 3 14 7 2 3 2)',
+ 'hexoid': '06 03 2B 24 01',
+ 'name': 'md2WithElGamal',
+ 'oid': (1, 3, 14, 7, 2, 3, 2)},
+ 'md2WithRSA': {'comment': 'Unsure about this OID',
+ 'description': 'md2WithRSA (1 3 14 7 2 3 1)',
+ 'hexoid': '06 06 2B 0E 07 02 03 02',
+ 'name': 'md2WithRSA',
+ 'oid': (1, 3, 14, 7, 2, 3, 1)},
+ 'md2WithRSAEncryptionBSafe1': {'comment': 'Novell signature algorithm',
+ 'description': 'md2WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 29)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1E',
+ 'name': 'md2WithRSAEncryptionBSafe1',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 29)},
+ 'md2WithRSASignature': {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'md2WithRSASignature (1 3 14 3 2 24)',
+ 'hexoid': '06 05 2B 0E 03 02 19',
+ 'name': 'md2WithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 24)},
+ 'md2withRSAEncryption': {'comment': 'PKCS #1',
+ 'description': 'md2withRSAEncryption (1 2 840 113549 1 1 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 03',
+ 'name': 'md2withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 2)},
+ 'md4': {'comment': 'Telesec one-way function',
+ 'description': 'md4 (0 2 262 1 10 1 3 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 01',
+ 'name': 'md4',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 1)},
+ 'md4WitRSA': {'comment': 'Oddball OIW OID',
+ 'description': 'md4WitRSA (1 3 14 3 2 2)',
+ 'hexoid': '06 05 2B 0E 03 02 03',
+ 'name': 'md4WitRSA',
+ 'oid': (1, 3, 14, 3, 2, 2)},
+ 'md4WithRSAAndISO9697': {'comment': 'Telesec mechanism',
+ 'description': 'md4WithRSAAndISO9697 (0 2 262 1 10 1 1 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 01',
+ 'name': 'md4WithRSAAndISO9697',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 1)},
+ 'md4WithRSAAndTelesecSignatureStandard': {'comment': 'Telesec mechanism',
+ 'description': 'md4WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 02',
+ 'name': 'md4WithRSAAndTelesecSignatureStandard',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 2)},
+ 'md4WithRSAEncryption': {'comment': 'X.509. Deprecated',
+ 'description': 'md4WithRSAEncryption (1 3 14 3 2 4)',
+ 'hexoid': '06 06 2B 0E 03 02 02 01',
+ 'name': 'md4WithRSAEncryption',
+ 'oid': (1, 3, 14, 3, 2, 4)},
+ 'md4withRSAEncryption': {'comment': 'PKCS #1',
+ 'description': 'md4withRSAEncryption (1 2 840 113549 1 1 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 04',
+ 'name': 'md4withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 3)},
+ 'md5': {'comment': 'Telesec one-way function',
+ 'description': 'md5 (0 2 262 1 10 1 3 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 02',
+ 'name': 'md5',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 2)},
+ 'md5WithRSA': {'comment': 'Oddball OIW OID',
+ 'description': 'md5WithRSA (1 3 14 3 2 3)',
+ 'hexoid': '06 05 2B 0E 03 02 04',
+ 'name': 'md5WithRSA',
+ 'oid': (1, 3, 14, 3, 2, 3)},
+ 'md5WithRSAAndISO9697': {'comment': 'Telesec mechanism',
+ 'description': 'md5WithRSAAndISO9697 (0 2 262 1 10 1 1 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 03',
+ 'name': 'md5WithRSAAndISO9697',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 3)},
+ 'md5WithRSAAndTelesecSignatureStandard': {'comment': 'Telesec mechanism',
+ 'description': 'md5WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 04',
+ 'name': 'md5WithRSAAndTelesecSignatureStandard',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 4)},
+ 'md5WithRSAEncryptionBSafe1': {'comment': 'Novell signature algorithm',
+ 'description': 'md5WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 30)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1F',
+ 'name': 'md5WithRSAEncryptionBSafe1',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 30)},
+ 'md5WithRSASignature': {'comment': 'OIW',
+ 'description': 'md5WithRSASignature (1 3 14 3 2 25)',
+ 'hexoid': '06 05 2B 0E 03 02 1A',
+ 'name': 'md5WithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 25)},
+ 'md5withRSAEncryption': {'comment': 'PKCS #1',
+ 'description': 'md5withRSAEncryption (1 2 840 113549 1 1 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 05',
+ 'name': 'md5withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 4)},
+ 'mdc-2': {'comment': 'Oddball OIW OID. Deprecated, use a plain DSA OID instead',
+ 'description': 'mdc-2 (1 3 14 3 2 19)',
+ 'hexoid': '06 05 2B 0E 03 02 14',
+ 'name': 'mdc-2',
+ 'oid': (1, 3, 14, 3, 2, 19)},
+ 'mdc2WithRSASignature': {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'mdc2WithRSASignature (1 3 14 3 2 14)',
+ 'hexoid': '06 05 2B 0E 03 02 0F',
+ 'name': 'mdc2WithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 14)},
+ 'mdc2doubleLength': {'comment': 'Teletrust algorithm',
+ 'description': 'mdc2doubleLength (1 3 36 3 2 5)',
+ 'hexoid': '06 04 2B 24 03 03',
+ 'name': 'mdc2doubleLength',
+ 'oid': (1, 3, 36, 3, 2, 5)},
+ 'mdc2singleLength': {'comment': 'Teletrust hash algorithm',
+ 'description': 'mdc2singleLength (1 3 36 3 2 4)',
+ 'hexoid': '06 05 2B 24 03 02 05',
+ 'name': 'mdc2singleLength',
+ 'oid': (1, 3, 36, 3, 2, 4)},
+ 'mechanism': {'comment': 'Telesec',
+ 'description': 'mechanism (0 2 262 1 10 1)',
+ 'hexoid': '06 06 02 82 06 01 0A 01',
+ 'name': 'mechanism',
+ 'oid': (0, 2, 262, 1, 10, 1)},
+ 'member': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'member (2 5 4 31)',
+ 'hexoid': '06 03 55 04 20',
+ 'name': 'member',
+ 'oid': (2, 5, 4, 31)},
+ 'merchantData': {'comment': 'SET cert extension',
+ 'description': 'merchantData (2 23 42 7 2)',
+ 'hexoid': '06 04 67 2A 07 03',
+ 'name': 'merchantData',
+ 'oid': (2, 23, 42, 7, 2)},
+ 'messageDigest': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'messageDigest (1 2 840 113549 1 9 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 05',
+ 'name': 'messageDigest',
+ 'oid': (1, 2, 840, 113549, 1, 9, 4)},
+ 'messageTypes': {'comment': 'Telesec module',
+ 'description': 'messageTypes (0 2 262 1 10 2 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 03',
+ 'name': 'messageTypes',
+ 'oid': (0, 2, 262, 1, 10, 2, 3)},
+ 'metaSDNSckl': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'metaSDNSckl (2 16 840 1 101 2 1 5 40)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 29',
+ 'name': 'metaSDNSckl',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 40)},
+ 'metaSDNSsignatureCKL': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'metaSDNSsignatureCKL (2 16 840 1 101 2 1 5 42)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2B',
+ 'name': 'metaSDNSsignatureCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 42)},
+ 'microsoftExcel': {'comment': 'Microsoft',
+ 'description': 'microsoftExcel (1 2 840 113556 4 3)',
+ 'hexoid': '06 08 2A 86 48 86 F7 14 04 04',
+ 'name': 'microsoftExcel',
+ 'oid': (1, 2, 840, 113556, 4, 3)},
+ 'microsoftPowerPoint': {'comment': 'Microsoft code signing',
+ 'description': 'microsoftPowerPoint (1 2 840 113556 4 5)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 04',
+ 'name': 'microsoftPowerPoint',
+ 'oid': (1, 2, 840, 113556, 4, 5)},
+ 'microsoftRecipientInfo': {'comment': 'Microsoft attribute',
+ 'description': 'microsoftRecipientInfo (1 3 6 1 4 1 311 16 4)',
+ 'hexoid': '06 09 2B 06 01 04 01 82 37 15 01',
+ 'name': 'microsoftRecipientInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 16, 4)},
+ 'misty1-cbc': {'comment': 'Mitsubishi security algorithm',
+ 'description': 'misty1-cbc (1 2 392 200011 61 1 1 1 1)',
+ 'hexoid': '06 0C 2A 83 08 8C 9A 4B 3D 01 01 01 01',
+ 'name': 'misty1-cbc',
+ 'oid': (1, 2, 392, 200011, 61, 1, 1, 1, 1)},
+ 'mlAdministrators': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mlAdministrators (2 16 840 1 101 2 1 5 13)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0E',
+ 'name': 'mlAdministrators',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 13)},
+ 'mlExpansionHistory': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'mlExpansionHistory (1 2 840 113549 1 9 15 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 10',
+ 'name': 'mlExpansionHistory',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 6)},
+ 'mlMembership': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mlMembership (2 16 840 1 101 2 1 5 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0D',
+ 'name': 'mlMembership',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 12)},
+ 'mlReceiptPolicy': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mlReceiptPolicy (2 16 840 1 101 2 1 5 11)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0C',
+ 'name': 'mlReceiptPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 11)},
+ 'module': {'comment': 'SET',
+ 'description': 'module (2 23 42 6)',
+ 'hexoid': '06 03 67 2A 07',
+ 'name': 'module',
+ 'oid': (2, 23, 42, 6)},
+ 'monetaryLimit': {'comment': 'Teletrust attribute',
+ 'description': 'monetaryLimit (1 3 36 8 3 4)',
+ 'hexoid': '06 05 2B 24 08 03 05',
+ 'name': 'monetaryLimit',
+ 'oid': (1, 3, 36, 8, 3, 4)},
+ 'month': {'comment': 'SET field',
+ 'description': 'month (2 23 42 2 6)',
+ 'hexoid': '06 04 67 2A 02 07',
+ 'name': 'month',
+ 'oid': (2, 23, 42, 2, 6)},
+ 'mosaicPRBAC': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'mosaicPRBAC (2 16 840 1 101 2 1 3 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0A',
+ 'name': 'mosaicPRBAC',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 3)},
+ 'mpeg-1': {'comment': 'cryptlib certificate policy',
+ 'description': 'mpeg-1 (1 3 6 1 4 1 3029 42 11172 1)',
+ 'hexoid': '06 0C 2B 06 01 04 01 97 55 58 59 5A 5A 59',
+ 'name': 'mpeg-1',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 42, 11172, 1)},
+ 'mqv1': {'comment': 'ANSI X9.42 scheme',
+ 'description': 'mqv1 (1 2 840 10046 3 6)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 06',
+ 'name': 'mqv1',
+ 'oid': (1, 2, 840, 10046, 3, 6)},
+ 'mqv2': {'comment': 'ANSI X9.42 scheme',
+ 'description': 'mqv2 (1 2 840 10046 3 5)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 05',
+ 'name': 'mqv2',
+ 'oid': (1, 2, 840, 10046, 3, 5)},
+ 'msgExt': {'comment': 'SET',
+ 'description': 'msgExt (2 23 42 1)',
+ 'hexoid': '06 03 67 2A 02',
+ 'name': 'msgExt',
+ 'oid': (2, 23, 42, 1)},
+ 'mspContentType': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspContentType (2 16 840 1 101 2 1 2 48)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 31',
+ 'name': 'mspContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 48)},
+ 'mspForwardedMessageParameters': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspForwardedMessageParameters (2 16 840 1 101 2 1 2 73)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 50',
+ 'name': 'mspForwardedMessageParameters',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 73)},
+ 'mspMMP': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspMMP (2 16 840 1 101 2 1 2 50)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 42',
+ 'name': 'mspMMP',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 50)},
+ 'mspMMP2': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'mspMMP2 (2 16 840 1 101 2 1 2 76)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 01',
+ 'name': 'mspMMP2',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 76)},
+ 'mspRekeyAgentProtocol': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspRekeyAgentProtocol (2 16 840 1 101 2 1 2 49)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 32',
+ 'name': 'mspRekeyAgentProtocol',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 49)},
+ 'mspRev3-1ContentType': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspRev3-1ContentType (2 16 840 1 101 2 1 2 66)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 48',
+ 'name': 'mspRev3-1ContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 66)},
+ 'mspRev3ContentType': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspRev3ContentType (2 16 840 1 101 2 1 2 42)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 30',
+ 'name': 'mspRev3ContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 42)},
+ 'name': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'name (2 5 4 41)',
+ 'hexoid': '06 03 55 04 2A',
+ 'name': 'name',
+ 'oid': (2, 5, 4, 41)},
+ 'nameAdditions': {'comment': 'Telesec attribute',
+ 'description': 'nameAdditions (0 2 262 1 10 7 18)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 12',
+ 'name': 'nameAdditions',
+ 'oid': (0, 2, 262, 1, 10, 7, 18)},
+ 'nameBinding': {'comment': 'Telesec',
+ 'description': 'nameBinding (0 2 262 1 10 6)',
+ 'hexoid': '06 06 02 82 06 01 0A 06',
+ 'name': 'nameBinding',
+ 'oid': (0, 2, 262, 1, 10, 6)},
+ 'nameConstraints': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'nameConstraints (2 5 29 30)',
+ 'hexoid': '06 03 55 1D 1F',
+ 'name': 'nameConstraints',
+ 'oid': (2, 5, 29, 30)},
+ 'nameDistinguisher': {'comment': 'Telesec attribute',
+ 'description': 'nameDistinguisher (0 2 262 1 10 7 20)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 14',
+ 'name': 'nameDistinguisher',
+ 'oid': (0, 2, 262, 1, 10, 7, 20)},
+ 'namedTagSetPrivilege': {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'namedTagSetPrivilege (2 16 840 1 101 2 1 10 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 01',
+ 'name': 'namedTagSetPrivilege',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 10, 3)},
+ 'namingAuthorities': {'comment': 'Teletrust attribute',
+ 'description': 'namingAuthorities (1 3 36 8 3 11)',
+ 'hexoid': '06 05 2B 24 08 03 0C',
+ 'name': 'namingAuthorities',
+ 'oid': (1, 3, 36, 8, 3, 11)},
+ 'namingAuthority': {'comment': 'Telesec attribute',
+ 'description': 'namingAuthority (0 2 262 1 10 7 7)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 07',
+ 'name': 'namingAuthority',
+ 'oid': (0, 2, 262, 1, 10, 7, 7)},
+ 'national': {'comment': 'SET national',
+ 'description': 'national (2 23 42 10)',
+ 'hexoid': '06 05 67 2A 0A E2 00',
+ 'name': 'national',
+ 'oid': (2, 23, 42, 10)},
+ 'netscape-base-url': {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-base-url (2 16 840 1 113730 1 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 03',
+ 'name': 'netscape-base-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 2)},
+ 'netscape-ca-policy-url': {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-ca-policy-url (2 16 840 1 113730 1 8)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 09',
+ 'name': 'netscape-ca-policy-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 8)},
+ 'netscape-ca-revocation-url': {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-ca-revocation-url (2 16 840 1 113730 1 4)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 07',
+ 'name': 'netscape-ca-revocation-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 4)},
+ 'netscape-cert-renewal-url': {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-cert-renewal-url (2 16 840 1 113730 1 7)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 08',
+ 'name': 'netscape-cert-renewal-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 7)},
+ 'netscape-cert-type': {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-cert-type (2 16 840 1 113730 1 1)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 02',
+ 'name': 'netscape-cert-type',
+ 'oid': (2, 16, 840, 1, 113730, 1, 1)},
+ 'netscape-comment': {'comment': 'Netscape',
+ 'description': 'netscape-comment (2 16 840 1 113730 1 13)',
+ 'hexoid': '06 08 60 86 48 01 86 F8 42 02',
+ 'name': 'netscape-comment',
+ 'oid': (2, 16, 840, 1, 113730, 1, 13)},
+ 'netscape-revocation-url': {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-revocation-url (2 16 840 1 113730 1 3)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 04',
+ 'name': 'netscape-revocation-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 3)},
+ 'netscape-ssl-server-name': {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-ssl-server-name (2 16 840 1 113730 1 12)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0D',
+ 'name': 'netscape-ssl-server-name',
+ 'oid': (2, 16, 840, 1, 113730, 1, 12)},
+ 'nextUpdateLocation': {'comment': 'Microsoft enhanced key usage',
+ 'description': 'nextUpdateLocation (1 3 6 1 4 1 311 10 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 03 01',
+ 'name': 'nextUpdateLocation',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 2)},
+ 'nistAlgorithm': {'comment': 'NIST Algorithm',
+ 'description': 'nistAlgorithm (2 16 840 1 101 3 4)',
+ 'hexoid': '06 08 60 86 48 01 65 03 04 01',
+ 'name': 'nistAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 3, 4)},
+ 'noSignature': {'comment': 'PKIX algorithm',
+ 'description': 'noSignature (1 3 6 1 5 5 7 6 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 03',
+ 'name': 'noSignature',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 2)},
+ 'none': {'comment': 'Telesec encryption',
+ 'description': 'none (0 2 262 1 10 1 2 0)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 00',
+ 'name': 'none',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 0)},
+ 'notification': {'comment': 'Telesec',
+ 'description': 'notification (0 2 262 1 10 10)',
+ 'hexoid': '06 06 02 82 06 01 0A 0A',
+ 'name': 'notification',
+ 'oid': (0, 2, 262, 1, 10, 10)},
+ 'novUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'novUKMs (2 16 840 1 101 2 1 5 30)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1F',
+ 'name': 'novUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 30)},
+ 'novellAlgorithm': {'comment': 'Novell encryption algorithm',
+ 'description': 'novellAlgorithm (2 16 840 1 113719 1 2 8)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 16',
+ 'name': 'novellAlgorithm',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8)},
+ 'novellObfuscate-1': {'comment': 'Novell',
+ 'description': 'novellObfuscate-1 (2 16 840 1 113719 1 2 8 133)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 37 01 09',
+ 'name': 'novellObfuscate-1',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 133)},
+ 'nsn-alg': {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'nsn-alg (1 2 840 113533 7 66)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 03',
+ 'name': 'nsn-alg',
+ 'oid': (1, 2, 840, 113533, 7, 66)},
+ 'nsn-at': {'comment': 'Nortel Secure Networks at (1 2 840 113533 7 68)',
+ 'description': 'nsn-at (1 2 840 113533 7 68)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 44 00',
+ 'name': 'nsn-at',
+ 'oid': (1, 2, 840, 113533, 7, 68)},
+ 'nsn-ce': {'comment': 'Nortel Secure Networks ce (1 2 840 113533 7 65)',
+ 'description': 'nsn-ce (1 2 840 113533 7 65)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 41 00',
+ 'name': 'nsn-ce',
+ 'oid': (1, 2, 840, 113533, 7, 65)},
+ 'nsn-oc': {'comment': 'Nortel Secure Networks oc (1 2 840 113533 7 67)',
+ 'description': 'nsn-oc (1 2 840 113533 7 67)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 43 0C',
+ 'name': 'nsn-oc',
+ 'oid': (1, 2, 840, 113533, 7, 67)},
+ 'numberType': {'comment': 'ANSI X9.42',
+ 'description': 'numberType (1 2 840 10046 2)',
+ 'hexoid': '06 06 2A 86 48 CE 3E 02',
+ 'name': 'numberType',
+ 'oid': (1, 2, 840, 10046, 2)},
+ 'objectClass': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'objectClass (2 5 4 0)',
+ 'hexoid': '06 03 55 04 01',
+ 'name': 'objectClass',
+ 'oid': (2, 5, 4, 0)},
+ 'ocsp': {'comment': 'OCSP',
+ 'description': 'ocsp (1 3 6 1 5 5 7 48 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 01',
+ 'name': 'ocsp',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1)},
+ 'ocspArchiveCutoff': {'comment': 'OCSP',
+ 'description': 'ocspArchiveCutoff (1 3 6 1 5 5 7 48 1 6)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 07',
+ 'name': 'ocspArchiveCutoff',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 6)},
+ 'ocspBasic': {'comment': 'OCSP',
+ 'description': 'ocspBasic (1 3 6 1 5 5 7 48 1 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 02',
+ 'name': 'ocspBasic',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 1)},
+ 'ocspCRL': {'comment': 'OCSP',
+ 'description': 'ocspCRL (1 3 6 1 5 5 7 48 1 3)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 04',
+ 'name': 'ocspCRL',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 3)},
+ 'ocspNoCheck': {'comment': 'OCSP',
+ 'description': 'ocspNoCheck (1 3 6 1 5 5 7 48 1 5)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 06',
+ 'name': 'ocspNoCheck',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 5)},
+ 'ocspNonce': {'comment': 'OCSP',
+ 'description': 'ocspNonce (1 3 6 1 5 5 7 48 1 2)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 03',
+ 'name': 'ocspNonce',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 2)},
+ 'ocspResponse': {'comment': 'OCSP',
+ 'description': 'ocspResponse (1 3 6 1 5 5 7 48 1 4)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 05',
+ 'name': 'ocspResponse',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 4)},
+ 'ocspServiceLocator': {'comment': 'PKIX authority info access descriptor',
+ 'description': 'ocspServiceLocator (1 3 6 1 5 5 7 48 1 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 30 02',
+ 'name': 'ocspServiceLocator',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 7)},
+ 'ocspSigning': {'comment': 'PKIX key purpose',
+ 'description': 'ocspSigning (1 3 6 1 5 5 7 3 9)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 0A',
+ 'name': 'ocspSigning',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 9)},
+ 'octUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'octUKMs (2 16 840 1 101 2 1 5 29)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1E',
+ 'name': 'octUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 29)},
+ 'oldCertID': {'comment': 'PKIX CRMF registration control',
+ 'description': 'oldCertID (1 3 6 1 5 5 7 5 1 5)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 06',
+ 'name': 'oldCertID',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 5)},
+ 'onBasis': {'comment': 'ANSI X9.62 field basis',
+ 'description': 'onBasis (1 2 840 10045 1 2 3 1)',
+ 'hexoid': '06 0A 2A 86 48 CE 3D 01 02 03 01',
+ 'name': 'onBasis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3, 1)},
+ 'oneWayFunction': {'comment': 'Telesec mechanism',
+ 'description': 'oneWayFunction (0 2 262 1 10 1 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 03',
+ 'name': 'oneWayFunction',
+ 'oid': (0, 2, 262, 1, 10, 1, 3)},
+ 'oneWayISO9798Authentication': {'comment': 'Telesec authentication',
+ 'description': 'oneWayISO9798Authentication (0 2 262 1 10 1 0 6)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 06',
+ 'name': 'oneWayISO9798Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 6)},
+ 'oneWayX509Authentication': {'comment': 'Telesec authentication',
+ 'description': 'oneWayX509Authentication (0 2 262 1 10 1 0 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 03',
+ 'name': 'oneWayX509Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 3)},
+ 'organization': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organization (2 5 6 4)',
+ 'hexoid': '06 03 55 06 05',
+ 'name': 'organization',
+ 'oid': (2, 5, 6, 4)},
+ 'organizationName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'organizationName (2 5 4 10)',
+ 'hexoid': '06 04 55 04 0A 01',
+ 'name': 'organizationName',
+ 'oid': (2, 5, 4, 10)},
+ 'organizationalPerson': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organizationalPerson (2 5 6 7)',
+ 'hexoid': '06 03 55 06 08',
+ 'name': 'organizationalPerson',
+ 'oid': (2, 5, 6, 7)},
+ 'organizationalRole': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organizationalRole (2 5 6 8)',
+ 'hexoid': '06 03 55 06 09',
+ 'name': 'organizationalRole',
+ 'oid': (2, 5, 6, 8)},
+ 'organizationalUnit': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organizationalUnit (2 5 6 5)',
+ 'hexoid': '06 03 55 06 06',
+ 'name': 'organizationalUnit',
+ 'oid': (2, 5, 6, 5)},
+ 'organizationalUnitName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'organizationalUnitName (2 5 4 11)',
+ 'hexoid': '06 04 55 04 0B 01',
+ 'name': 'organizationalUnitName',
+ 'oid': (2, 5, 4, 11)},
+ 'origPKIMessage': {'comment': 'PKIX CMP information',
+ 'description': 'origPKIMessage (1 3 6 1 5 5 7 4 15)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 10',
+ 'name': 'origPKIMessage',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 15)},
+ 'originalFilename': {'comment': 'UNINETT PCA',
+ 'description': 'originalFilename (1 3 6 1 4 1 311 88 2 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 92 7C 0A 01 01',
+ 'name': 'originalFilename',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 88, 2, 1)},
+ 'osVersion': {'comment': 'Microsoft attribute',
+ 'description': 'osVersion (1 3 6 1 4 1 311 13 2 3)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 10 04',
+ 'name': 'osVersion',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 13, 2, 3)},
+ 'otherNames': {'comment': 'PKIX other name',
+ 'description': 'otherNames (1 3 6 1 5 5 7 8)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 08 01',
+ 'name': 'otherNames',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 8)},
+ 'owner': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'owner (2 5 4 32)',
+ 'hexoid': '06 03 55 04 21',
+ 'name': 'owner',
+ 'oid': (2, 5, 4, 32)},
+ 'pKReference': {'comment': 'Teletrust attribute',
+ 'description': 'pKReference (1 3 36 8 3 7)',
+ 'hexoid': '06 05 2B 24 08 03 09',
+ 'name': 'pKReference',
+ 'oid': (1, 3, 36, 8, 3, 7)},
+ 'package': {'comment': 'Telesec',
+ 'description': 'package (0 2 262 1 10 4)',
+ 'hexoid': '06 06 02 82 06 01 0A 04',
+ 'name': 'package',
+ 'oid': (0, 2, 262, 1, 10, 4)},
+ 'parameter': {'comment': 'Telesec',
+ 'description': 'parameter (0 2 262 1 10 5)',
+ 'hexoid': '06 06 02 82 06 01 0A 05',
+ 'name': 'parameter',
+ 'oid': (0, 2, 262, 1, 10, 5)},
+ 'passPhrase': {'comment': 'SET',
+ 'description': 'passPhrase (2 23 42 2 7 12)',
+ 'hexoid': '06 03 67 2A 03',
+ 'name': 'passPhrase',
+ 'oid': (2, 23, 42, 2, 7, 12)},
+ 'passwordAuthentication': {'comment': 'Telesec authentication',
+ 'description': 'passwordAuthentication (0 2 262 1 10 1 0 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 01',
+ 'name': 'passwordAuthentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 1)},
+ 'passwordCheck': {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'passwordCheck (1 2 840 113549 1 9 11)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0C',
+ 'name': 'passwordCheck',
+ 'oid': (1, 2, 840, 113549, 1, 9, 11)},
+ 'pbeWithMD2AndDES-CBC': {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD2AndDES-CBC (1 2 840 113549 1 5 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 03',
+ 'name': 'pbeWithMD2AndDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 1)},
+ 'pbeWithMD2AndRC2-CBC': {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD2AndRC2-CBC (1 2 840 113549 1 5 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 06',
+ 'name': 'pbeWithMD2AndRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 4)},
+ 'pbeWithMD5AndCAST5-CBC': {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'pbeWithMD5AndCAST5-CBC (1 2 840 113533 7 66 12)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0D',
+ 'name': 'pbeWithMD5AndCAST5-CBC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 12)},
+ 'pbeWithMD5AndDES-CBC': {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD5AndDES-CBC (1 2 840 113549 1 5 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 04',
+ 'name': 'pbeWithMD5AndDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 3)},
+ 'pbeWithMD5AndRC2-CBC': {'comment': 'PKCS #5, used in BSAFE only',
+ 'description': 'pbeWithMD5AndRC2-CBC (1 2 840 113549 1 5 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 09',
+ 'name': 'pbeWithMD5AndRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 6)},
+ 'pbeWithMD5AndXOR': {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD5AndXOR (1 2 840 113549 1 5 9)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0A',
+ 'name': 'pbeWithMD5AndXOR',
+ 'oid': (1, 2, 840, 113549, 1, 5, 9)},
+ 'pbeWithSHAAnd128BitRC2-CBC': {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd128BitRC2-CBC (1 2 840 113549 1 12 1 5)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 06',
+ 'name': 'pbeWithSHAAnd128BitRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 5)},
+ 'pbeWithSHAAnd128BitRC4': {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 2). This OID was formerly assigned as pkcs-12-OnlineTransportMode',
+ 'description': 'pbeWithSHAAnd128BitRC4 (1 2 840 113549 1 12 1 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 02',
+ 'name': 'pbeWithSHAAnd128BitRC4',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 1)},
+ 'pbeWithSHAAnd2-KeyTripleDES-CBC': {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd2-KeyTripleDES-CBC (1 2 840 113549 1 12 1 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 05',
+ 'name': 'pbeWithSHAAnd2-KeyTripleDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 4)},
+ 'pbeWithSHAAnd3-KeyTripleDES-CBC': {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd3-KeyTripleDES-CBC (1 2 840 113549 1 12 1 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 04',
+ 'name': 'pbeWithSHAAnd3-KeyTripleDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 3)},
+ 'pbeWithSHAAnd40BitRC2-CBC': {'comment': 'Deprecated',
+ 'description': 'pbeWithSHAAnd40BitRC2-CBC (1 2 840 113549 1 12 1 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0C 02',
+ 'name': 'pbeWithSHAAnd40BitRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 6)},
+ 'pbeWithSHAAnd40BitRC4': {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd40BitRC4 (1 2 840 113549 1 12 1 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 03',
+ 'name': 'pbeWithSHAAnd40BitRC4',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 2)},
+ 'pbeWithSHAAndDES-CBC': {'comment': 'PKCS #5 v2.0',
+ 'description': 'pbeWithSHAAndDES-CBC (1 2 840 113549 1 5 10)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0C',
+ 'name': 'pbeWithSHAAndDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 10)},
+ 'person': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'person (2 5 6 6)',
+ 'hexoid': '06 03 55 06 07',
+ 'name': 'person',
+ 'oid': (2, 5, 6, 6)},
+ 'personalData': {'comment': 'PKIX other name',
+ 'description': 'personalData (1 3 6 1 5 5 7 8 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 08 02',
+ 'name': 'personalData',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 8, 1)},
+ 'physicalCardNumber': {'comment': 'Telesec attribute',
+ 'description': 'physicalCardNumber (0 2 262 1 10 7 25)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 19',
+ 'name': 'physicalCardNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 25)},
+ 'physicalDeliveryOfficeName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'physicalDeliveryOfficeName (2 5 4 19)',
+ 'hexoid': '06 04 55 04 13 01',
+ 'name': 'physicalDeliveryOfficeName',
+ 'oid': (2, 5, 4, 19)},
+ 'pickupToken': {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'pickupToken (1 2 840 10040 2 4)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 04',
+ 'name': 'pickupToken',
+ 'oid': (1, 2, 840, 10040, 2, 4)},
+ 'pkcs-1': {'comment': 'PKCS #1',
+ 'description': 'pkcs-1 (1 2 840 113549 1 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 01',
+ 'name': 'pkcs-1',
+ 'oid': (1, 2, 840, 113549, 1, 1)},
+ 'pkcs-12': {'comment': 'This OID was formerly assigned as PKCS #12 modeID',
+ 'description': 'pkcs-12 (1 2 840 113549 1 12)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0C 01',
+ 'name': 'pkcs-12',
+ 'oid': (1, 2, 840, 113549, 1, 12)},
+ 'pkcs-12-BagIds': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-BagIds (1 2 840 113549 1 12 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 01',
+ 'name': 'pkcs-12-BagIds',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3)},
+ 'pkcs-12-CertBagID': {'comment': 'PKCS #12 CertBagID (1 2 840 113549 1 12 4). This OID was formerly assigned as pkcs-12-X509CertCRLBag',
+ 'description': 'pkcs-12-CertBagID (1 2 840 113549 1 12 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 04 01',
+ 'name': 'pkcs-12-CertBagID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 4)},
+ 'pkcs-12-ESPVKID': {'comment': 'PKCS #12 ESPVKID (1 2 840 113549 1 12 2). Deprecated, use (1 2 840 113549 1 12 3 5) instead',
+ 'description': 'pkcs-12-ESPVKID (1 2 840 113549 1 12 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 02 01',
+ 'name': 'pkcs-12-ESPVKID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 2)},
+ 'pkcs-12-EnvelopingID': {'comment': 'PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 02 01',
+ 'name': 'pkcs-12-EnvelopingID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5, 2)},
+ 'pkcs-12-OID': {'comment': 'PKCS #12 OID (1 2 840 113549 1 12 5). Deprecated, use the partially compatible (1 2 840 113549 1 12 1) OIDs instead',
+ 'description': 'pkcs-12-OID (1 2 840 113549 1 12 5)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 05 01',
+ 'name': 'pkcs-12-OID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5)},
+ 'pkcs-12-PBEID': {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 1) instead',
+ 'description': 'pkcs-12-PBEID (1 2 840 113549 1 12 5 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 01',
+ 'name': 'pkcs-12-PBEID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5, 1)},
+ 'pkcs-12-PBEWithSha1And128BitRC2CBC': {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 6) instead',
+ 'description': 'pkcs-12-PBEWithSha1And128BitRC2CBC (1 2 840 113549 1 12 5 1 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 05',
+ 'name': 'pkcs-12-PBEWithSha1And128BitRC2CBC',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 4)},
+ 'pkcs-12-PBEWithSha1And128BitRC4': {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 2) instead',
+ 'description': 'pkcs-12-PBEWithSha1And128BitRC4 (1 2 840 113549 1 12 5 1 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 02',
+ 'name': 'pkcs-12-PBEWithSha1And128BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 1)},
+ 'pkcs-12-PBEWithSha1And40BitRC2CBC': {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). 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-PBEWithSha1And40BitRC2CBC (1 2 840 113549 1 12 5 1 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 06',
+ 'name': 'pkcs-12-PBEWithSha1And40BitRC2CBC',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 5)},
+ 'pkcs-12-PBEWithSha1And40BitRC4': {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). 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-PBEWithSha1And40BitRC4 (1 2 840 113549 1 12 5 1 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 03',
+ 'name': 'pkcs-12-PBEWithSha1And40BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 2)},
+ 'pkcs-12-PBEWithSha1AndRC4': {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). 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-PBEWithSha1AndRC4 (1 2 840 113549 1 12 5 1 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 07',
+ 'name': 'pkcs-12-PBEWithSha1AndRC4',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5, 1, 6)},
+ 'pkcs-12-PBEWithSha1AndTripleDESCBC': {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 5) instead',
+ 'description': 'pkcs-12-PBEWithSha1AndTripleDESCBC (1 2 840 113549 1 12 5 1 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 04',
+ 'name': 'pkcs-12-PBEWithSha1AndTripleDESCBC',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 3)},
+ 'pkcs-12-PbeIds': {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 1). This OID was formerly assigned as pkcs-12-OfflineTransportMode',
+ 'description': 'pkcs-12-PbeIds (1 2 840 113549 1 12 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 01',
+ 'name': 'pkcs-12-PbeIds',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1)},
+ 'pkcs-12-RSAEncryptionWith128BitRC4': {'comment': 'PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-RSAEncryptionWith128BitRC4 (1 2 840 113549 1 12 5 2 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 02 02',
+ 'name': 'pkcs-12-RSAEncryptionWith128BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 2,
+ 1)},
+ 'pkcs-12-RSAEncryptionWith40BitRC4': {'comment': 'PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-RSAEncryptionWith40BitRC4 (1 2 840 113549 1 12 5 2 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 02 03',
+ 'name': 'pkcs-12-RSAEncryptionWith40BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 2,
+ 2)},
+ 'pkcs-12-SignatureID': {'comment': 'PKCS #12 OID SignatureID (1 2 840 113549 1 12 5 3). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-SignatureID (1 2 840 113549 1 12 5 3). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 03 01',
+ 'name': 'pkcs-12-SignatureID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5, 3)},
+ 'pkcs-12-X509CertCRLBagID': {'comment': 'PKCS #12 CertBagID (1 2 840 113549 1 12 4). This OID was formerly assigned as pkcs-12-SDSICertBag',
+ 'description': 'pkcs-12-X509CertCRLBagID (1 2 840 113549 1 12 4 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 04 02',
+ 'name': 'pkcs-12-X509CertCRLBagID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 4, 1)},
+ 'pkcs-12-certAndCRLBagId': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-certAndCRLBagId (1 2 840 113549 1 12 3 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 03',
+ 'name': 'pkcs-12-certAndCRLBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 2)},
+ 'pkcs-12-certBag': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-certBag (1 2 840 113549 1 12 10 1 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 04',
+ 'name': 'pkcs-12-certBag',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1, 3)},
+ 'pkcs-12-crlBag': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-crlBag (1 2 840 113549 1 12 10 1 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 05',
+ 'name': 'pkcs-12-crlBag',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1, 4)},
+ 'pkcs-12-keyBag': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-keyBag (1 2 840 113549 1 12 10 1 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 02',
+ 'name': 'pkcs-12-keyBag',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1, 1)},
+ 'pkcs-12-keyBagId': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-keyBagId (1 2 840 113549 1 12 3 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 02',
+ 'name': 'pkcs-12-keyBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 1)},
+ 'pkcs-12-pkcs-8ShroudedKeyBag': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-pkcs-8ShroudedKeyBag (1 2 840 113549 1 12 10 1 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 03',
+ 'name': 'pkcs-12-pkcs-8ShroudedKeyBag',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1, 2)},
+ 'pkcs-12-pkcs-8ShroudedKeyBagId': {'comment': 'Deprecated',
+ 'description': 'pkcs-12-pkcs-8ShroudedKeyBagId (1 2 840 113549 1 12 3 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0C 04',
+ 'name': 'pkcs-12-pkcs-8ShroudedKeyBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 5)},
+ 'pkcs-12-safeContentsBag': {'comment': 'PKCS #15',
+ 'description': 'pkcs-12-safeContentsBag (1 2 840 113549 1 12 10 1 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0F 01',
+ 'name': 'pkcs-12-safeContentsBag',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1, 6)},
+ 'pkcs-12-safeContentsId': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-safeContentsId (1 2 840 113549 1 12 3 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 05',
+ 'name': 'pkcs-12-safeContentsId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 4)},
+ 'pkcs-12-secretBag': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-secretBag (1 2 840 113549 1 12 10 1 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 06',
+ 'name': 'pkcs-12-secretBag',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1, 5)},
+ 'pkcs-12-secretBagId': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-secretBagId (1 2 840 113549 1 12 3 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 04',
+ 'name': 'pkcs-12-secretBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 3)},
+ 'pkcs-12BadIds': {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12BadIds (1 2 840 113549 1 12 10 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 01',
+ 'name': 'pkcs-12BadIds',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1)},
+ 'pkcs-3': {'comment': 'PKCS #3',
+ 'description': 'pkcs-3 (1 2 840 113549 1 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 03 01',
+ 'name': 'pkcs-3',
+ 'oid': (1, 2, 840, 113549, 1, 3)},
+ 'pkcs-5': {'comment': 'PKCS #5',
+ 'description': 'pkcs-5 (1 2 840 113549 1 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 01',
+ 'name': 'pkcs-5',
+ 'oid': (1, 2, 840, 113549, 1, 5)},
+ 'pkcs-7': {'comment': 'PKCS #7',
+ 'description': 'pkcs-7 (1 2 840 113549 1 7)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 01',
+ 'name': 'pkcs-7',
+ 'oid': (1, 2, 840, 113549, 1, 7)},
+ 'pkcs-9': {'comment': 'PKCS #9 (1 2 840 113549 1 9). Deprecated, use an altName extension instead',
+ 'description': 'pkcs-9 (1 2 840 113549 1 9)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 01',
+ 'name': 'pkcs-9',
+ 'oid': (1, 2, 840, 113549, 1, 9)},
+ 'pkcs15attributes': {'comment': 'PKCS #15',
+ 'description': 'pkcs15attributes (1 2 840 113549 1 15 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0F 03',
+ 'name': 'pkcs15attributes',
+ 'oid': (1, 2, 840, 113549, 1, 15, 2)},
+ 'pkcs15contentType': {'comment': 'PKCS #15 content type',
+ 'description': 'pkcs15contentType (1 2 840 113549 1 15 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0F 03 01',
+ 'name': 'pkcs15contentType',
+ 'oid': (1, 2, 840, 113549, 1, 15, 3)},
+ 'pkcs15modules': {'comment': 'PKCS #15',
+ 'description': 'pkcs15modules (1 2 840 113549 1 15 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0F 02',
+ 'name': 'pkcs15modules',
+ 'oid': (1, 2, 840, 113549, 1, 15, 1)},
+ 'pkcs5PBES2': {'comment': 'PKCS #5 v2.0',
+ 'description': 'pkcs5PBES2 (1 2 840 113549 1 5 13)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0E',
+ 'name': 'pkcs5PBES2',
+ 'oid': (1, 2, 840, 113549, 1, 5, 13)},
+ 'pkcs5PBKDF2': {'comment': 'PKCS #5 v2.0',
+ 'description': 'pkcs5PBKDF2 (1 2 840 113549 1 5 12)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0D',
+ 'name': 'pkcs5PBKDF2',
+ 'oid': (1, 2, 840, 113549, 1, 5, 12)},
+ 'pki': {'comment': 'Novell PKI',
+ 'description': 'pki (2 16 840 1 113719 1 9)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 37 01 09 04',
+ 'name': 'pki',
+ 'oid': (2, 16, 840, 1, 113719, 1, 9)},
+ 'pkiArchiveOptions': {'comment': 'PKIX CRMF registration control',
+ 'description': 'pkiArchiveOptions (1 3 6 1 5 5 7 5 1 4)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 05',
+ 'name': 'pkiArchiveOptions',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 4)},
+ 'pkiAttributeType': {'comment': 'Novell PKI attribute type',
+ 'description': 'pkiAttributeType (2 16 840 1 113719 1 9 4)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 09 04 01',
+ 'name': 'pkiAttributeType',
+ 'oid': (2, 16, 840, 1, 113719, 1, 9, 4)},
+ 'pkiPublicationInfo': {'comment': 'PKIX CRMF registration control',
+ 'description': 'pkiPublicationInfo (1 3 6 1 5 5 7 5 1 3)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 04',
+ 'name': 'pkiPublicationInfo',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 3)},
+ 'pkiUser': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'pkiUser (2 5 6 21)',
+ 'hexoid': '06 03 55 06 16',
+ 'name': 'pkiUser',
+ 'oid': (2, 5, 6, 21)},
+ 'pkix': {'comment': 'PKIX',
+ 'description': 'pkix (1 3 6 1 5 5 7)',
+ 'hexoid': '06 06 2B 06 01 05 05 07',
+ 'name': 'pkix',
+ 'oid': (1, 3, 6, 1, 5, 5, 7)},
+ 'plProtocol': {'comment': 'Telesec module',
+ 'description': 'plProtocol (0 2 262 1 10 2 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 04',
+ 'name': 'plProtocol',
+ 'oid': (0, 2, 262, 1, 10, 2, 4)},
+ 'placeName': {'comment': 'SET field',
+ 'description': 'placeName (2 23 42 2 4)',
+ 'hexoid': '06 04 67 2A 02 05',
+ 'name': 'placeName',
+ 'oid': (2, 23, 42, 2, 4)},
+ 'placeOfBirth': {'comment': 'PKIX personal data',
+ 'description': 'placeOfBirth (1 3 6 1 5 5 7 9 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 03',
+ 'name': 'placeOfBirth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 2)},
+ 'policy': {'comment': 'SET policy',
+ 'description': 'policy (2 23 42 5)',
+ 'hexoid': '06 04 67 2A 05 00',
+ 'name': 'policy',
+ 'oid': (2, 23, 42, 5)},
+ 'policyConstraints': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'policyConstraints (2 5 29 36)',
+ 'hexoid': '06 03 55 1D 25',
+ 'name': 'policyConstraints',
+ 'oid': (2, 5, 29, 36)},
+ 'policyInformationFile': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'policyInformationFile (2 16 840 1 101 2 1 5 58)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 3B',
+ 'name': 'policyInformationFile',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 58)},
+ 'policyMapping': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'policyMapping (2 5 29 5)',
+ 'hexoid': '06 03 55 1D 09',
+ 'name': 'policyMapping',
+ 'oid': (2, 5, 29, 5)},
+ 'policyMappings': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'policyMappings (2 5 29 33)',
+ 'hexoid': '06 03 55 1D 23',
+ 'name': 'policyMappings',
+ 'oid': (2, 5, 29, 33)},
+ 'policyQualifierIds': {'comment': 'PKIX policy qualifier',
+ 'description': 'policyQualifierIds (1 3 6 1 5 5 7 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 02 01',
+ 'name': 'policyQualifierIds',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2)},
+ 'postOfficeBox': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'postOfficeBox (2 5 4 18)',
+ 'hexoid': '06 04 55 04 12 01',
+ 'name': 'postOfficeBox',
+ 'oid': (2, 5, 4, 18)},
+ 'postalAddress': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'postalAddress (2 5 4 16)',
+ 'hexoid': '06 04 55 04 10 01',
+ 'name': 'postalAddress',
+ 'oid': (2, 5, 4, 16)},
+ 'postalCode': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'postalCode (2 5 4 17)',
+ 'hexoid': '06 04 55 04 11 01',
+ 'name': 'postalCode',
+ 'oid': (2, 5, 4, 17)},
+ 'ppBasis': {'comment': 'ANSI X9.62 field basis',
+ 'description': 'ppBasis (1 2 840 10045 1 2 3 3)',
+ 'hexoid': '06 0A 2A 86 48 CE 3D 01 02 03 03',
+ 'name': 'ppBasis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3, 3)},
+ 'prbacCAConstraints': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'prbacCAConstraints (2 16 840 1 101 2 1 5 54)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 37',
+ 'name': 'prbacCAConstraints',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 54)},
+ 'prbacInfo': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'prbacInfo (2 16 840 1 101 2 1 5 53)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 36',
+ 'name': 'prbacInfo',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 53)},
+ 'preferSignedData': {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15)',
+ 'description': 'preferSignedData (1 2 840 113549 1 9 15 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 02',
+ 'name': 'preferSignedData',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 1)},
+ 'preferredDeliveryMehtod': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'preferredDeliveryMehtod (2 5 4 28)',
+ 'hexoid': '06 03 55 04 1D',
+ 'name': 'preferredDeliveryMehtod',
+ 'oid': (2, 5, 4, 28)},
+ 'preferredSymmAlg': {'comment': 'PKIX CMP information',
+ 'description': 'preferredSymmAlg (1 3 6 1 5 5 7 4 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 05',
+ 'name': 'preferredSymmAlg',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 4)},
+ 'presentationAddress': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'presentationAddress (2 5 4 29)',
+ 'hexoid': '06 03 55 04 1E',
+ 'name': 'presentationAddress',
+ 'oid': (2, 5, 4, 29)},
+ 'prime-field': {'comment': 'ANSI X9.62 field type',
+ 'description': 'prime-field (1 2 840 10045 1 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3D 01 01',
+ 'name': 'prime-field',
+ 'oid': (1, 2, 840, 10045, 1, 1)},
+ 'privateExtension': {'comment': 'PKIX private extension',
+ 'description': 'privateExtension (1 3 6 1 5 5 7 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 01',
+ 'name': 'privateExtension',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1)},
+ 'privateKeyUsagePeriod': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'privateKeyUsagePeriod (2 5 29 16)',
+ 'hexoid': '06 03 55 1D 11',
+ 'name': 'privateKeyUsagePeriod',
+ 'oid': (2, 5, 29, 16)},
+ 'procuration': {'comment': 'Teletrust attribute',
+ 'description': 'procuration (1 3 36 8 3 2)',
+ 'hexoid': '06 05 2B 24 08 03 03',
+ 'name': 'procuration',
+ 'oid': (1, 3, 36, 8, 3, 2)},
+ 'protectedPasswordAuthentication': {'comment': 'Telesec authentication',
+ 'description': 'protectedPasswordAuthentication (0 2 262 1 10 1 0 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 02',
+ 'name': 'protectedPasswordAuthentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 2)},
+ 'protocolEncrKey': {'comment': 'PKIX CRMF registration control',
+ 'description': 'protocolEncrKey (1 3 6 1 5 5 7 5 1 6)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 07',
+ 'name': 'protocolEncrKey',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 6)},
+ 'protocolInformation': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'protocolInformation (2 5 4 48)',
+ 'hexoid': '06 03 55 04 31',
+ 'name': 'protocolInformation',
+ 'oid': (2, 5, 4, 48)},
+ 'pseudonym': {'comment': 'PKIX personal data',
+ 'description': 'pseudonym (1 3 6 1 5 5 7 9 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 04',
+ 'name': 'pseudonym',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 3)},
+ 'ptAdobeILL': {'comment': 'Teletrust presentation types',
+ 'description': 'ptAdobeILL (1 3 36 8 7 1 1)',
+ 'hexoid': '06 06 2B 24 08 07 01 02',
+ 'name': 'ptAdobeILL',
+ 'oid': (1, 3, 36, 8, 7, 1, 1)},
+ 'ptAmiPro': {'comment': 'Teletrust presentation types',
+ 'description': 'ptAmiPro (1 3 36 8 7 1 2)',
+ 'hexoid': '06 06 2B 24 08 07 01 03',
+ 'name': 'ptAmiPro',
+ 'oid': (1, 3, 36, 8, 7, 1, 2)},
+ 'ptAutoCAD': {'comment': 'Teletrust presentation types',
+ 'description': 'ptAutoCAD (1 3 36 8 7 1 3)',
+ 'hexoid': '06 06 2B 24 08 07 01 04',
+ 'name': 'ptAutoCAD',
+ 'oid': (1, 3, 36, 8, 7, 1, 3)},
+ 'ptBMP': {'comment': 'Teletrust presentation types',
+ 'description': 'ptBMP (1 3 36 8 7 1 5)',
+ 'hexoid': '06 06 2B 24 08 07 01 06',
+ 'name': 'ptBMP',
+ 'oid': (1, 3, 36, 8, 7, 1, 5)},
+ 'ptBinary': {'comment': 'Teletrust presentation types',
+ 'description': 'ptBinary (1 3 36 8 7 1 4)',
+ 'hexoid': '06 06 2B 24 08 07 01 05',
+ 'name': 'ptBinary',
+ 'oid': (1, 3, 36, 8, 7, 1, 4)},
+ 'ptCGM': {'comment': 'Teletrust presentation types',
+ 'description': 'ptCGM (1 3 36 8 7 1 6)',
+ 'hexoid': '06 06 2B 24 08 07 01 07',
+ 'name': 'ptCGM',
+ 'oid': (1, 3, 36, 8, 7, 1, 6)},
+ 'ptCorelCRT': {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelCRT (1 3 36 8 7 1 7)',
+ 'hexoid': '06 06 2B 24 08 07 01 08',
+ 'name': 'ptCorelCRT',
+ 'oid': (1, 3, 36, 8, 7, 1, 7)},
+ 'ptCorelDRW': {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelDRW (1 3 36 8 7 1 8)',
+ 'hexoid': '06 06 2B 24 08 07 01 09',
+ 'name': 'ptCorelDRW',
+ 'oid': (1, 3, 36, 8, 7, 1, 8)},
+ 'ptCorelEXC': {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelEXC (1 3 36 8 7 1 9)',
+ 'hexoid': '06 06 2B 24 08 07 01 0A',
+ 'name': 'ptCorelEXC',
+ 'oid': (1, 3, 36, 8, 7, 1, 9)},
+ 'ptCorelPHT': {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelPHT (1 3 36 8 7 1 10)',
+ 'hexoid': '06 06 2B 24 08 07 01 0B',
+ 'name': 'ptCorelPHT',
+ 'oid': (1, 3, 36, 8, 7, 1, 10)},
+ 'ptDVI': {'comment': 'Teletrust presentation types',
+ 'description': 'ptDVI (1 3 36 8 7 1 12)',
+ 'hexoid': '06 06 2B 24 08 07 01 0D',
+ 'name': 'ptDVI',
+ 'oid': (1, 3, 36, 8, 7, 1, 12)},
+ 'ptDraw': {'comment': 'Teletrust presentation types',
+ 'description': 'ptDraw (1 3 36 8 7 1 11)',
+ 'hexoid': '06 06 2B 24 08 07 01 0C',
+ 'name': 'ptDraw',
+ 'oid': (1, 3, 36, 8, 7, 1, 11)},
+ 'ptEPS': {'comment': 'Teletrust presentation types',
+ 'description': 'ptEPS (1 3 36 8 7 1 13)',
+ 'hexoid': '06 06 2B 24 08 07 01 0E',
+ 'name': 'ptEPS',
+ 'oid': (1, 3, 36, 8, 7, 1, 13)},
+ 'ptExcel': {'comment': 'Teletrust presentation types',
+ 'description': 'ptExcel (1 3 36 8 7 1 14)',
+ 'hexoid': '06 06 2B 24 08 07 01 0F',
+ 'name': 'ptExcel',
+ 'oid': (1, 3, 36, 8, 7, 1, 14)},
+ 'ptGEM': {'comment': 'Teletrust presentation types',
+ 'description': 'ptGEM (1 3 36 8 7 1 15)',
+ 'hexoid': '06 06 2B 24 08 07 01 10',
+ 'name': 'ptGEM',
+ 'oid': (1, 3, 36, 8, 7, 1, 15)},
+ 'ptGIF': {'comment': 'Teletrust presentation types',
+ 'description': 'ptGIF (1 3 36 8 7 1 16)',
+ 'hexoid': '06 06 2B 24 08 07 01 11',
+ 'name': 'ptGIF',
+ 'oid': (1, 3, 36, 8, 7, 1, 16)},
+ 'ptHPGL': {'comment': 'Teletrust presentation types',
+ 'description': 'ptHPGL (1 3 36 8 7 1 17)',
+ 'hexoid': '06 06 2B 24 08 07 01 12',
+ 'name': 'ptHPGL',
+ 'oid': (1, 3, 36, 8, 7, 1, 17)},
+ 'ptJPEG': {'comment': 'Teletrust presentation types',
+ 'description': 'ptJPEG (1 3 36 8 7 1 18)',
+ 'hexoid': '06 06 2B 24 08 07 01 13',
+ 'name': 'ptJPEG',
+ 'oid': (1, 3, 36, 8, 7, 1, 18)},
+ 'ptKodak': {'comment': 'Teletrust presentation types',
+ 'description': 'ptKodak (1 3 36 8 7 1 19)',
+ 'hexoid': '06 06 2B 24 08 07 01 14',
+ 'name': 'ptKodak',
+ 'oid': (1, 3, 36, 8, 7, 1, 19)},
+ 'ptLaTeX': {'comment': 'Teletrust presentation types',
+ 'description': 'ptLaTeX (1 3 36 8 7 1 20)',
+ 'hexoid': '06 06 2B 24 08 07 01 15',
+ 'name': 'ptLaTeX',
+ 'oid': (1, 3, 36, 8, 7, 1, 20)},
+ 'ptLotus': {'comment': 'Teletrust presentation types',
+ 'description': 'ptLotus (1 3 36 8 7 1 21)',
+ 'hexoid': '06 06 2B 24 08 07 01 16',
+ 'name': 'ptLotus',
+ 'oid': (1, 3, 36, 8, 7, 1, 21)},
+ 'ptLotusPIC': {'comment': 'Teletrust presentation types',
+ 'description': 'ptLotusPIC (1 3 36 8 7 1 22)',
+ 'hexoid': '06 06 2B 24 08 07 01 17',
+ 'name': 'ptLotusPIC',
+ 'oid': (1, 3, 36, 8, 7, 1, 22)},
+ 'ptMSWfD': {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWfD (1 3 36 8 7 1 25)',
+ 'hexoid': '06 06 2B 24 08 07 01 1A',
+ 'name': 'ptMSWfD',
+ 'oid': (1, 3, 36, 8, 7, 1, 25)},
+ 'ptMSWord': {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord (1 3 36 8 7 1 26)',
+ 'hexoid': '06 06 2B 24 08 07 01 1B',
+ 'name': 'ptMSWord',
+ 'oid': (1, 3, 36, 8, 7, 1, 26)},
+ 'ptMSWord2': {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord2 (1 3 36 8 7 1 27)',
+ 'hexoid': '06 06 2B 24 08 07 01 1C',
+ 'name': 'ptMSWord2',
+ 'oid': (1, 3, 36, 8, 7, 1, 27)},
+ 'ptMSWord6': {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord6 (1 3 36 8 7 1 28)',
+ 'hexoid': '06 06 2B 24 08 07 01 1D',
+ 'name': 'ptMSWord6',
+ 'oid': (1, 3, 36, 8, 7, 1, 28)},
+ 'ptMSWord8': {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord8 (1 3 36 8 7 1 29)',
+ 'hexoid': '06 06 2B 24 08 07 01 1E',
+ 'name': 'ptMSWord8',
+ 'oid': (1, 3, 36, 8, 7, 1, 29)},
+ 'ptMacPICT': {'comment': 'Teletrust presentation types',
+ 'description': 'ptMacPICT (1 3 36 8 7 1 23)',
+ 'hexoid': '06 06 2B 24 08 07 01 18',
+ 'name': 'ptMacPICT',
+ 'oid': (1, 3, 36, 8, 7, 1, 23)},
+ 'ptMacWord': {'comment': 'Teletrust presentation types',
+ 'description': 'ptMacWord (1 3 36 8 7 1 24)',
+ 'hexoid': '06 06 2B 24 08 07 01 19',
+ 'name': 'ptMacWord',
+ 'oid': (1, 3, 36, 8, 7, 1, 24)},
+ 'ptPDF': {'comment': 'Teletrust presentation types',
+ 'description': 'ptPDF (1 3 36 8 7 1 30)',
+ 'hexoid': '06 06 2B 24 08 07 01 1F',
+ 'name': 'ptPDF',
+ 'oid': (1, 3, 36, 8, 7, 1, 30)},
+ 'ptPIF': {'comment': 'Teletrust presentation types',
+ 'description': 'ptPIF (1 3 36 8 7 1 31)',
+ 'hexoid': '06 06 2B 24 08 07 01 20',
+ 'name': 'ptPIF',
+ 'oid': (1, 3, 36, 8, 7, 1, 31)},
+ 'ptPostscript': {'comment': 'Teletrust presentation types',
+ 'description': 'ptPostscript (1 3 36 8 7 1 32)',
+ 'hexoid': '06 06 2B 24 08 07 01 21',
+ 'name': 'ptPostscript',
+ 'oid': (1, 3, 36, 8, 7, 1, 32)},
+ 'ptRTF': {'comment': 'Teletrust presentation types',
+ 'description': 'ptRTF (1 3 36 8 7 1 33)',
+ 'hexoid': '06 06 2B 24 08 07 01 22',
+ 'name': 'ptRTF',
+ 'oid': (1, 3, 36, 8, 7, 1, 33)},
+ 'ptSCITEX': {'comment': 'Teletrust presentation types',
+ 'description': 'ptSCITEX (1 3 36 8 7 1 34)',
+ 'hexoid': '06 06 2B 24 08 07 01 23',
+ 'name': 'ptSCITEX',
+ 'oid': (1, 3, 36, 8, 7, 1, 34)},
+ 'ptTAR': {'comment': 'Teletrust presentation types',
+ 'description': 'ptTAR (1 3 36 8 7 1 35)',
+ 'hexoid': '06 06 2B 24 08 07 01 24',
+ 'name': 'ptTAR',
+ 'oid': (1, 3, 36, 8, 7, 1, 35)},
+ 'ptTIFF': {'comment': 'Teletrust presentation types',
+ 'description': 'ptTIFF (1 3 36 8 7 1 39)',
+ 'hexoid': '06 06 2B 24 08 07 01 28',
+ 'name': 'ptTIFF',
+ 'oid': (1, 3, 36, 8, 7, 1, 39)},
+ 'ptTIFF-FC': {'comment': 'Teletrust presentation types',
+ 'description': 'ptTIFF-FC (1 3 36 8 7 1 40)',
+ 'hexoid': '06 06 2B 24 08 07 01 29',
+ 'name': 'ptTIFF-FC',
+ 'oid': (1, 3, 36, 8, 7, 1, 40)},
+ 'ptTarga': {'comment': 'Teletrust presentation types',
+ 'description': 'ptTarga (1 3 36 8 7 1 36)',
+ 'hexoid': '06 06 2B 24 08 07 01 25',
+ 'name': 'ptTarga',
+ 'oid': (1, 3, 36, 8, 7, 1, 36)},
+ 'ptTeX': {'comment': 'Teletrust presentation types',
+ 'description': 'ptTeX (1 3 36 8 7 1 37)',
+ 'hexoid': '06 06 2B 24 08 07 01 26',
+ 'name': 'ptTeX',
+ 'oid': (1, 3, 36, 8, 7, 1, 37)},
+ 'ptText': {'comment': 'Teletrust presentation types',
+ 'description': 'ptText (1 3 36 8 7 1 38)',
+ 'hexoid': '06 06 2B 24 08 07 01 27',
+ 'name': 'ptText',
+ 'oid': (1, 3, 36, 8, 7, 1, 38)},
+ 'ptUID': {'comment': 'Teletrust presentation types',
+ 'description': 'ptUID (1 3 36 8 7 1 41)',
+ 'hexoid': '06 06 2B 24 08 07 01 2A',
+ 'name': 'ptUID',
+ 'oid': (1, 3, 36, 8, 7, 1, 41)},
+ 'ptUUEncode': {'comment': 'Teletrust presentation types',
+ 'description': 'ptUUEncode (1 3 36 8 7 1 42)',
+ 'hexoid': '06 06 2B 24 08 07 01 2B',
+ 'name': 'ptUUEncode',
+ 'oid': (1, 3, 36, 8, 7, 1, 42)},
+ 'ptWMF': {'comment': 'Teletrust presentation types',
+ 'description': 'ptWMF (1 3 36 8 7 1 43)',
+ 'hexoid': '06 06 2B 24 08 07 01 2C',
+ 'name': 'ptWMF',
+ 'oid': (1, 3, 36, 8, 7, 1, 43)},
+ 'ptWPGrph': {'comment': 'Thawte',
+ 'description': 'ptWPGrph (1 3 36 8 7 1 45)',
+ 'hexoid': '06 04 2B 65 01 04',
+ 'name': 'ptWPGrph',
+ 'oid': (1, 3, 36, 8, 7, 1, 45)},
+ 'ptWordPerfect': {'comment': 'Teletrust presentation types',
+ 'description': 'ptWordPerfect (1 3 36 8 7 1 44)',
+ 'hexoid': '06 06 2B 24 08 07 01 2D',
+ 'name': 'ptWordPerfect',
+ 'oid': (1, 3, 36, 8, 7, 1, 44)},
+ 'publicKey': {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'publicKey (1 2 840 113549 1 9 12)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0D',
+ 'name': 'publicKey',
+ 'oid': (1, 2, 840, 113549, 1, 9, 12)},
+ 'publicKeyDirectory': {'comment': 'Telesec attribute',
+ 'description': 'publicKeyDirectory (0 2 262 1 10 7 8)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 08',
+ 'name': 'publicKeyDirectory',
+ 'oid': (0, 2, 262, 1, 10, 7, 8)},
+ 'publicKeyType': {'comment': 'ANSI X9.62',
+ 'description': 'publicKeyType (1 2 840 10045 2)',
+ 'hexoid': '06 06 2A 86 48 CE 3D 02',
+ 'name': 'publicKeyType',
+ 'oid': (1, 2, 840, 10045, 2)},
+ 'rc2BSafe1Cbc': {'comment': 'Novell digest algorithm',
+ 'description': 'rc2BSafe1Cbc (2 16 840 1 113719 1 2 8 92)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 5F',
+ 'name': 'rc2BSafe1Cbc',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 92)},
+ 'rc2CBC': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc2CBC (1 2 840 113549 3 2)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 03',
+ 'name': 'rc2CBC',
+ 'oid': (1, 2, 840, 113549, 3, 2)},
+ 'rc2CbcPad': {'comment': 'Novell digest algorithm',
+ 'description': 'rc2CbcPad (2 16 840 1 113719 1 2 8 69)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 52',
+ 'name': 'rc2CbcPad',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 69)},
+ 'rc2ECB': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc2ECB (1 2 840 113549 3 3)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 04',
+ 'name': 'rc2ECB',
+ 'oid': (1, 2, 840, 113549, 3, 3)},
+ 'rc4': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc4 (1 2 840 113549 3 4)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 05',
+ 'name': 'rc4',
+ 'oid': (1, 2, 840, 113549, 3, 4)},
+ 'rc4WithMAC': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc4WithMAC (1 2 840 113549 3 5)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 06',
+ 'name': 'rc4WithMAC',
+ 'oid': (1, 2, 840, 113549, 3, 5)},
+ 'rc5-CBCPad': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3). Formerly called CDMFCBCPad',
+ 'description': 'rc5-CBCPad (1 2 840 113549 3 9)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 0A',
+ 'name': 'rc5-CBCPad',
+ 'oid': (1, 2, 840, 113549, 3, 9)},
+ 'rc5CBC': {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc5CBC (1 2 840 113549 3 8)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 09',
+ 'name': 'rc5CBC',
+ 'oid': (1, 2, 840, 113549, 3, 8)},
+ 'rc5CbcPad': {'comment': 'Novell signature algorithm',
+ 'description': 'rc5CbcPad (2 16 840 1 113719 1 2 8 28)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1D',
+ 'name': 'rc5CbcPad',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 28)},
+ 'receipt': {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 4) instead',
+ 'description': 'receipt (1 2 840 113549 1 9 15 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 05',
+ 'name': 'receipt',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 4)},
+ 'receiptRequest': {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 1 1) instead',
+ 'description': 'receiptRequest (1 2 840 113549 1 9 15 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 04',
+ 'name': 'receiptRequest',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 3)},
+ 'reedSolomon': {'comment': 'Telesec mechanism',
+ 'description': 'reedSolomon (0 2 262 1 10 1 4 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 04 01',
+ 'name': 'reedSolomon',
+ 'oid': (0, 2, 262, 1, 10, 1, 4, 1)},
+ 'regCtrl': {'comment': 'PKIX CRMF registration control',
+ 'description': 'regCtrl (1 3 6 1 5 5 7 5 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 01',
+ 'name': 'regCtrl',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1)},
+ 'regToken': {'comment': 'PKIX CRMF registration control',
+ 'description': 'regToken (1 3 6 1 5 5 7 5 1 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 02',
+ 'name': 'regToken',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 1)},
+ 'registeredAddress': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'registeredAddress (2 5 4 26)',
+ 'hexoid': '06 03 55 04 1B',
+ 'name': 'registeredAddress',
+ 'oid': (2, 5, 4, 26)},
+ 'reject': {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'reject (1 2 840 10040 2 3)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 03',
+ 'name': 'reject',
+ 'oid': (1, 2, 840, 10040, 2, 3)},
+ 'relianceLimit': {'comment': 'Netscape',
+ 'description': 'relianceLimit (2 16 840 1 113719 1 9 4 2)',
+ 'hexoid': '06 08 60 86 48 01 86 F8 42 01',
+ 'name': 'relianceLimit',
+ 'oid': (2, 16, 840, 1, 113719, 1, 9, 4, 2)},
+ 'requestedCertificate': {'comment': 'Teletrust attribute',
+ 'description': 'requestedCertificate (1 3 36 8 3 10)',
+ 'hexoid': '06 05 2B 24 08 03 0B',
+ 'name': 'requestedCertificate',
+ 'oid': (1, 3, 36, 8, 3, 10)},
+ 'residentialPerson': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'residentialPerson (2 5 6 10)',
+ 'hexoid': '06 03 55 06 0B',
+ 'name': 'residentialPerson',
+ 'oid': (2, 5, 6, 10)},
+ 'restriction': {'comment': 'Teletrust signature algorithm',
+ 'description': 'restriction (1 3 36 8 4 8)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 01',
+ 'name': 'restriction',
+ 'oid': (1, 3, 36, 8, 4, 8)},
+ 'retrieveIfAllowed': {'comment': 'Teletrust attribute',
+ 'description': 'retrieveIfAllowed (1 3 36 8 3 9)',
+ 'hexoid': '06 05 2B 24 08 03 0A',
+ 'name': 'retrieveIfAllowed',
+ 'oid': (1, 3, 36, 8, 3, 9)},
+ 'revPassphrase': {'comment': 'PKIX CMP information',
+ 'description': 'revPassphrase (1 3 6 1 5 5 7 4 12)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0D',
+ 'name': 'revPassphrase',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 12)},
+ 'revocationFlag': {'comment': 'Telesec attribute',
+ 'description': 'revocationFlag (0 2 262 1 10 7 34)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 22',
+ 'name': 'revocationFlag',
+ 'oid': (0, 2, 262, 1, 10, 7, 34)},
+ 'rfc822Mailbox': {'comment': 'Some oddball X.500 attribute collection',
+ 'description': 'rfc822Mailbox (0 9 2342 19200300 100 1 3)',
+ 'hexoid': '06 0A 09 92 26 89 93 F2 2C 64 01 03',
+ 'name': 'rfc822Mailbox',
+ 'oid': (0, 9, 2342, 19200300, 100, 1, 3)},
+ 'rfc822MessageFormat': {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'rfc822MessageFormat (2 16 840 1 101 2 1 2 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 02',
+ 'name': 'rfc822MessageFormat',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 1)},
+ 'ripemd128': {'comment': 'Telesec one-way function',
+ 'description': 'ripemd128 (0 2 262 1 10 1 3 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 05',
+ 'name': 'ripemd128',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 5)},
+ 'ripemd160': {'comment': 'Telesec one-way function',
+ 'description': 'ripemd160 (0 2 262 1 10 1 3 8)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 08',
+ 'name': 'ripemd160',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 8)},
+ 'ripemd160WithRSAAndTelekomSignatureStandard': {'comment': 'Telesec mechanism',
+ 'description': 'ripemd160WithRSAAndTelekomSignatureStandard (0 2 262 1 10 1 1 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 05',
+ 'name': 'ripemd160WithRSAAndTelekomSignatureStandard',
+ 'oid': (0,
+ 2,
+ 262,
+ 1,
+ 10,
+ 1,
+ 1,
+ 5)},
+ 'ripemd160WithRSAEncryption': {'comment': 'Obsolete BSAFE OID',
+ 'description': 'ripemd160WithRSAEncryption (1 2 840 113549 1 1 6)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 01 01',
+ 'name': 'ripemd160WithRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 6)},
+ 'ripemd256': {'comment': 'Teletrust hash algorithm',
+ 'description': 'ripemd256 (1 3 36 3 2 3)',
+ 'hexoid': '06 05 2B 24 03 02 04',
+ 'name': 'ripemd256',
+ 'oid': (1, 3, 36, 3, 2, 3)},
+ 'role': {'comment': 'PKIX attribute certificate extension',
+ 'description': 'role (1 3 6 1 5 5 7 10 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 06',
+ 'name': 'role',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 5)},
+ 'roleOccupant': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'roleOccupant (2 5 4 33)',
+ 'hexoid': '06 03 55 04 22',
+ 'name': 'roleOccupant',
+ 'oid': (2, 5, 4, 33)},
+ 'root': {'comment': 'SET',
+ 'description': 'root (2 23 42 5 0)',
+ 'hexoid': '06 03 67 2A 06',
+ 'name': 'root',
+ 'oid': (2, 23, 42, 5, 0)},
+ 'rootKeyThumb': {'comment': 'SET cert attribute',
+ 'description': 'rootKeyThumb (2 23 42 3 0 0)',
+ 'hexoid': '06 05 67 2A 03 00 01',
+ 'name': 'rootKeyThumb',
+ 'oid': (2, 23, 42, 3, 0, 0)},
+ 'rsa': {'comment': 'Oddball OIW OID',
+ 'description': 'rsa (1 3 14 3 2 1 1)',
+ 'hexoid': '06 05 2B 0E 03 02 02',
+ 'name': 'rsa',
+ 'oid': (1, 3, 14, 3, 2, 1, 1)},
+ 'rsaEncryption': {'comment': 'PKCS #1',
+ 'description': 'rsaEncryption (1 2 840 113549 1 1 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 02',
+ 'name': 'rsaEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 1)},
+ 'rsaEncryptionBsafe1': {'comment': 'Novell encryption algorithm',
+ 'description': 'rsaEncryptionBsafe1 (2 16 840 1 113719 1 2 8 131)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 37 01 02 08 81 04',
+ 'name': 'rsaEncryptionBsafe1',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 131)},
+ 'rsaEncryptionWithlmod512expe17': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'rsaEncryptionWithlmod512expe17 (1 3 36 3 1 4 512 17)',
+ 'hexoid': '06 05 2B 24 03 01 05',
+ 'name': 'rsaEncryptionWithlmod512expe17',
+ 'oid': (1, 3, 36, 3, 1, 4, 512, 17)},
+ 'rsaIndicateRIPEMD160': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaIndicateRIPEMD160 (1 3 36 8 5 1 1 2)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 03',
+ 'name': 'rsaIndicateRIPEMD160',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 2)},
+ 'rsaIndicateSHA1': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaIndicateSHA1 (1 3 36 8 5 1 1 1)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 02',
+ 'name': 'rsaIndicateSHA1',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 1)},
+ 'rsaKeyTransport': {'comment': 'Oddball OIW OID',
+ 'description': 'rsaKeyTransport (1 3 14 3 2 22)',
+ 'hexoid': '06 05 2B 0E 03 02 17',
+ 'name': 'rsaKeyTransport',
+ 'oid': (1, 3, 14, 3, 2, 22)},
+ 'rsaSignature': {'comment': 'Oddball OIW OID. Incorrectly used by JDK 1.1 in place of (1 3 14 3 2 27)',
+ 'description': 'rsaSignature (1 3 14 3 2 11)',
+ 'hexoid': '06 05 2B 0E 03 02 0D',
+ 'name': 'rsaSignature',
+ 'oid': (1, 3, 14, 3, 2, 11)},
+ 'rsaSignatureWithrimpemd128': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithrimpemd128 (1 3 36 3 3 1 3)',
+ 'hexoid': '06 06 2B 24 03 03 01 04',
+ 'name': 'rsaSignatureWithrimpemd128',
+ 'oid': (1, 3, 36, 3, 3, 1, 3)},
+ 'rsaSignatureWithrimpemd256': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithrimpemd256 (1 3 36 3 3 1 4)',
+ 'hexoid': '06 05 2B 24 03 03 02',
+ 'name': 'rsaSignatureWithrimpemd256',
+ 'oid': (1, 3, 36, 3, 3, 1, 4)},
+ 'rsaSignatureWithripemd160': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160 (1 3 36 3 3 1 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 02',
+ 'name': 'rsaSignatureWithripemd160',
+ 'oid': (1, 3, 36, 3, 3, 1, 2)},
+ 'rsaSignatureWithripemd160_l1024_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l11 (1 3 36 3 3 1 2 1024 11)',
+ 'hexoid': '06 06 2B 24 03 03 01 03',
+ 'name': 'rsaSignatureWithripemd160_l1024_l11',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 1024,
+ 11)},
+ 'rsaSignatureWithripemd160_l1024_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l2 (1 3 36 3 3 1 2 1024 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 03',
+ 'name': 'rsaSignatureWithripemd160_l1024_l2',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 1024,
+ 2)},
+ 'rsaSignatureWithripemd160_l1024_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l3 (1 3 36 3 3 1 2 1024 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 05',
+ 'name': 'rsaSignatureWithripemd160_l1024_l3',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 1024,
+ 3)},
+ 'rsaSignatureWithripemd160_l1024_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l5 (1 3 36 3 3 1 2 1024 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 09',
+ 'name': 'rsaSignatureWithripemd160_l1024_l5',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 1024,
+ 5)},
+ 'rsaSignatureWithripemd160_l1024_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l9 (1 3 36 3 3 1 2 1024 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 11',
+ 'name': 'rsaSignatureWithripemd160_l1024_l9',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 1024,
+ 9)},
+ 'rsaSignatureWithripemd160_l512_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l11 (1 3 36 3 3 1 2 512 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 11',
+ 'name': 'rsaSignatureWithripemd160_l512_l11',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 512,
+ 11)},
+ 'rsaSignatureWithripemd160_l512_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l2 (1 3 36 3 3 1 2 512 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 02',
+ 'name': 'rsaSignatureWithripemd160_l512_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 2)},
+ 'rsaSignatureWithripemd160_l512_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l3 (1 3 36 3 3 1 2 512 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 03',
+ 'name': 'rsaSignatureWithripemd160_l512_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 3)},
+ 'rsaSignatureWithripemd160_l512_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l5 (1 3 36 3 3 1 2 512 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 05',
+ 'name': 'rsaSignatureWithripemd160_l512_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 5)},
+ 'rsaSignatureWithripemd160_l512_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l9 (1 3 36 3 3 1 2 512 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 09',
+ 'name': 'rsaSignatureWithripemd160_l512_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 9)},
+ 'rsaSignatureWithripemd160_l640_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l11 (1 3 36 3 3 1 2 640 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 11',
+ 'name': 'rsaSignatureWithripemd160_l640_l11',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 640,
+ 11)},
+ 'rsaSignatureWithripemd160_l640_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l2 (1 3 36 3 3 1 2 640 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 02',
+ 'name': 'rsaSignatureWithripemd160_l640_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 2)},
+ 'rsaSignatureWithripemd160_l640_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l3 (1 3 36 3 3 1 2 640 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 03',
+ 'name': 'rsaSignatureWithripemd160_l640_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 3)},
+ 'rsaSignatureWithripemd160_l640_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l5 (1 3 36 3 3 1 2 640 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 05',
+ 'name': 'rsaSignatureWithripemd160_l640_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 5)},
+ 'rsaSignatureWithripemd160_l640_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l9 (1 3 36 3 3 1 2 640 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 09',
+ 'name': 'rsaSignatureWithripemd160_l640_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 9)},
+ 'rsaSignatureWithripemd160_l768_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l11 (1 3 36 3 3 1 2 768 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 11',
+ 'name': 'rsaSignatureWithripemd160_l768_l11',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 768,
+ 11)},
+ 'rsaSignatureWithripemd160_l768_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l2 (1 3 36 3 3 1 2 768 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 02',
+ 'name': 'rsaSignatureWithripemd160_l768_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 2)},
+ 'rsaSignatureWithripemd160_l768_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l3 (1 3 36 3 3 1 2 768 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 03',
+ 'name': 'rsaSignatureWithripemd160_l768_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 3)},
+ 'rsaSignatureWithripemd160_l768_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l5 (1 3 36 3 3 1 2 768 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 05',
+ 'name': 'rsaSignatureWithripemd160_l768_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 5)},
+ 'rsaSignatureWithripemd160_l768_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l9 (1 3 36 3 3 1 2 768 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 09',
+ 'name': 'rsaSignatureWithripemd160_l768_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 9)},
+ 'rsaSignatureWithripemd160_l896_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l11 (1 3 36 3 3 1 2 896 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 11',
+ 'name': 'rsaSignatureWithripemd160_l896_l11',
+ 'oid': (1,
+ 3,
+ 36,
+ 3,
+ 3,
+ 1,
+ 2,
+ 896,
+ 11)},
+ 'rsaSignatureWithripemd160_l896_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l2 (1 3 36 3 3 1 2 892 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 02',
+ 'name': 'rsaSignatureWithripemd160_l896_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 892, 2)},
+ 'rsaSignatureWithripemd160_l896_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l3 (1 3 36 3 3 1 2 896 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 03',
+ 'name': 'rsaSignatureWithripemd160_l896_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 896, 3)},
+ 'rsaSignatureWithripemd160_l896_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l5 (1 3 36 3 3 1 2 896 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 05',
+ 'name': 'rsaSignatureWithripemd160_l896_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 896, 5)},
+ 'rsaSignatureWithripemd160_l896_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l9 (1 3 36 3 3 1 2 896 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 09',
+ 'name': 'rsaSignatureWithripemd160_l896_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 896, 9)},
+ 'rsaSignatureWithsha1': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1 (1 3 36 3 3 1 1)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 02',
+ 'name': 'rsaSignatureWithsha1',
+ 'oid': (1, 3, 36, 3, 3, 1, 1)},
+ 'rsaSignatureWithsha1_l1024_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l11 (1 3 36 3 3 1 1 1024 11)',
+ 'hexoid': '06 06 2B 24 03 03 01 02',
+ 'name': 'rsaSignatureWithsha1_l1024_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 11)},
+ 'rsaSignatureWithsha1_l1024_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l2 (1 3 36 3 3 1 1 1024 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 03',
+ 'name': 'rsaSignatureWithsha1_l1024_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 2)},
+ 'rsaSignatureWithsha1_l1024_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l3 (1 3 36 3 3 1 1 1024 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 05',
+ 'name': 'rsaSignatureWithsha1_l1024_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 3)},
+ 'rsaSignatureWithsha1_l1024_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l5 (1 3 36 3 3 1 1 1024 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 09',
+ 'name': 'rsaSignatureWithsha1_l1024_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 5)},
+ 'rsaSignatureWithsha1_l1024_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l9 (1 3 36 3 3 1 1 1024 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 11',
+ 'name': 'rsaSignatureWithsha1_l1024_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 9)},
+ 'rsaSignatureWithsha1_l512_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l11 (1 3 36 3 3 1 1 512 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 11',
+ 'name': 'rsaSignatureWithsha1_l512_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 11)},
+ 'rsaSignatureWithsha1_l512_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l2 (1 3 36 3 3 1 1 512 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 02',
+ 'name': 'rsaSignatureWithsha1_l512_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 2)},
+ 'rsaSignatureWithsha1_l512_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l3 (1 3 36 3 3 1 1 512 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 03',
+ 'name': 'rsaSignatureWithsha1_l512_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 3)},
+ 'rsaSignatureWithsha1_l512_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l5 (1 3 36 3 3 1 1 512 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 05',
+ 'name': 'rsaSignatureWithsha1_l512_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 5)},
+ 'rsaSignatureWithsha1_l512_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l9 (1 3 36 3 3 1 1 512 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 09',
+ 'name': 'rsaSignatureWithsha1_l512_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 9)},
+ 'rsaSignatureWithsha1_l640_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l11 (1 3 36 3 3 1 1 640 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 11',
+ 'name': 'rsaSignatureWithsha1_l640_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 11)},
+ 'rsaSignatureWithsha1_l640_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l2 (1 3 36 3 3 1 1 640 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 02',
+ 'name': 'rsaSignatureWithsha1_l640_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 2)},
+ 'rsaSignatureWithsha1_l640_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l3 (1 3 36 3 3 1 1 640 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 03',
+ 'name': 'rsaSignatureWithsha1_l640_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 3)},
+ 'rsaSignatureWithsha1_l640_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l5 (1 3 36 3 3 1 1 640 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 05',
+ 'name': 'rsaSignatureWithsha1_l640_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 5)},
+ 'rsaSignatureWithsha1_l640_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l9 (1 3 36 3 3 1 1 640 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 09',
+ 'name': 'rsaSignatureWithsha1_l640_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 9)},
+ 'rsaSignatureWithsha1_l768_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l11 (1 3 36 3 3 1 1 768 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 11',
+ 'name': 'rsaSignatureWithsha1_l768_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 11)},
+ 'rsaSignatureWithsha1_l768_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l2 (1 3 36 3 3 1 1 768 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 02',
+ 'name': 'rsaSignatureWithsha1_l768_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 2)},
+ 'rsaSignatureWithsha1_l768_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l3 (1 3 36 3 3 1 1 768 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 03',
+ 'name': 'rsaSignatureWithsha1_l768_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 3)},
+ 'rsaSignatureWithsha1_l768_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l5 (1 3 36 3 3 1 1 768 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 05',
+ 'name': 'rsaSignatureWithsha1_l768_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 5)},
+ 'rsaSignatureWithsha1_l768_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l9 (1 3 36 3 3 1 1 768 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 09',
+ 'name': 'rsaSignatureWithsha1_l768_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 9)},
+ 'rsaSignatureWithsha1_l896_l11': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l11 (1 3 36 3 3 1 1 896 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 11',
+ 'name': 'rsaSignatureWithsha1_l896_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 11)},
+ 'rsaSignatureWithsha1_l896_l2': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l2 (1 3 36 3 3 1 1 892 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 02',
+ 'name': 'rsaSignatureWithsha1_l896_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 892, 2)},
+ 'rsaSignatureWithsha1_l896_l3': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l3 (1 3 36 3 3 1 1 896 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 03',
+ 'name': 'rsaSignatureWithsha1_l896_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 3)},
+ 'rsaSignatureWithsha1_l896_l5': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l5 (1 3 36 3 3 1 1 896 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 05',
+ 'name': 'rsaSignatureWithsha1_l896_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 5)},
+ 'rsaSignatureWithsha1_l896_l9': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l9 (1 3 36 3 3 1 1 896 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 09',
+ 'name': 'rsaSignatureWithsha1_l896_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 9)},
+ 'rsaTelesec': {'comment': 'Telesec encryption',
+ 'description': 'rsaTelesec (0 2 262 1 10 1 2 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 01',
+ 'name': 'rsaTelesec',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 1)},
+ 'rsaWithRIPEMD160': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaWithRIPEMD160 (1 3 36 8 5 1 1 4)',
+ 'hexoid': '06 07 2B 24 08 05 01 02 01',
+ 'name': 'rsaWithRIPEMD160',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 4)},
+ 'rsaWithSHA1': {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaWithSHA1 (1 3 36 8 5 1 1 3)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 04',
+ 'name': 'rsaWithSHA1',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 3)},
+ 'sMIMECapabilities': {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15)',
+ 'description': 'sMIMECapabilities (1 2 840 113549 1 9 15)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 01',
+ 'name': 'sMIMECapabilities',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15)},
+ 'sadmib': {'comment': 'Telesec module',
+ 'description': 'sadmib (0 2 262 1 10 2 9)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 09',
+ 'name': 'sadmib',
+ 'oid': (0, 2, 262, 1, 10, 2, 9)},
+ 'sbgp-autonomousSysNum': {'comment': 'PKIX private extension',
+ 'description': 'sbgp-autonomousSysNum (1 3 6 1 5 5 7 1 8)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 09',
+ 'name': 'sbgp-autonomousSysNum',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 8)},
+ 'sbgp-ipAddrBlock': {'comment': 'PKIX private extension',
+ 'description': 'sbgp-ipAddrBlock (1 3 6 1 5 5 7 1 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 08',
+ 'name': 'sbgp-ipAddrBlock',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 7)},
+ 'sbgp-routerIdentifier': {'comment': 'PKIX private extension',
+ 'description': 'sbgp-routerIdentifier (1 3 6 1 5 5 7 1 9)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 0A',
+ 'name': 'sbgp-routerIdentifier',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 9)},
+ 'sbgpCertAAServerAuth': {'comment': 'PKIX',
+ 'description': 'sbgpCertAAServerAuth (1 3 6 1 5 5 7 3 11)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 04',
+ 'name': 'sbgpCertAAServerAuth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 11)},
+ 'scheme': {'comment': 'ANSI X9.42',
+ 'description': 'scheme (1 2 840 10046 3)',
+ 'hexoid': '06 06 2A 86 48 CE 3E 03',
+ 'name': 'scheme',
+ 'oid': (1, 2, 840, 10046, 3)},
+ 'sdnsCASignatureCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsCASignatureCertificate (2 16 840 1 101 2 1 5 8)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0A',
+ 'name': 'sdnsCASignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 8)},
+ 'sdnsCKL': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'sdnsCKL (2 16 840 1 101 2 1 5 41)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2A',
+ 'name': 'sdnsCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 41)},
+ 'sdnsConfidentialityAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicConfidentialityAlgorithm',
+ 'description': 'sdnsConfidentialityAlgorithm (2 16 840 1 101 2 1 1 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 04',
+ 'name': 'sdnsConfidentialityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 3)},
+ 'sdnsIntegrityAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicIntegrityAlgorithm',
+ 'description': 'sdnsIntegrityAlgorithm (2 16 840 1 101 2 1 1 5)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 06',
+ 'name': 'sdnsIntegrityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 5)},
+ 'sdnsKMandSigAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandSigAlgorithm',
+ 'description': 'sdnsKMandSigAlgorithm (2 16 840 1 101 2 1 1 11)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0C',
+ 'name': 'sdnsKMandSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 11)},
+ 'sdnsKMandSigCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsKMandSigCertificate (2 16 840 1 101 2 1 5 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 04',
+ 'name': 'sdnsKMandSigCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 3)},
+ 'sdnsKeyManagementAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyManagementAlgorithm',
+ 'description': 'sdnsKeyManagementAlgorithm (2 16 840 1 101 2 1 1 9)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0A',
+ 'name': 'sdnsKeyManagementAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 9)},
+ 'sdnsKeyManagementCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsKeyManagementCertificate (2 16 840 1 101 2 1 5 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 02',
+ 'name': 'sdnsKeyManagementCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 1)},
+ 'sdnsPRBAC': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'sdnsPRBAC (2 16 840 1 101 2 1 3 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 03',
+ 'name': 'sdnsPRBAC',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 2)},
+ 'sdnsSecurityPolicy': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'sdnsSecurityPolicy (2 16 840 1 101 2 1 3 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 02',
+ 'name': 'sdnsSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 1)},
+ 'sdnsSignatureAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicSignatureAlgorithm, this OID is better known as dsaWithSHA-1.',
+ 'description': 'sdnsSignatureAlgorithm (2 16 840 1 101 2 1 1 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 02',
+ 'name': 'sdnsSignatureAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 1)},
+ 'sdnsSignatureCKL': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsSignatureCKL (2 16 840 1 101 2 1 5 43)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2D',
+ 'name': 'sdnsSignatureCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 43)},
+ 'sdnsTokenProtectionAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly know as mosaicTokenProtectionAlgorithm',
+ 'description': 'sdnsTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 7)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 08',
+ 'name': 'sdnsTokenProtectionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 7)},
+ 'sdnsUserSignatureCertificate': {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsUserSignatureCertificate (2 16 840 1 101 2 1 5 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 03',
+ 'name': 'sdnsUserSignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 2)},
+ 'sdsiCertificate': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'sdsiCertificate (for PKCS #12) (1 2 840 113549 1 9 22 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 17',
+ 'name': 'sdsiCertificate',
+ 'oid': (1, 2, 840, 113549, 1, 9, 22, 2)},
+ 'searchGuide': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'searchGuide (2 5 4 14)',
+ 'hexoid': '06 03 55 04 0F',
+ 'name': 'searchGuide',
+ 'oid': (2, 5, 4, 14)},
+ 'secPolicyInformationFile': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'secPolicyInformationFile (2 16 840 1 101 2 1 5 59)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 3C',
+ 'name': 'secPolicyInformationFile',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 59)},
+ 'securityApplication': {'comment': 'Telesec SNMP MIBs',
+ 'description': 'securityApplication (0 2 262 1 10 11 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 0B 01',
+ 'name': 'securityApplication',
+ 'oid': (0, 2, 262, 1, 10, 11, 1)},
+ 'securityAttributes': {'comment': 'Novell PKI attribute type',
+ 'description': 'securityAttributes (2 16 840 1 113719 1 9 4 1)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 09 04 02',
+ 'name': 'securityAttributes',
+ 'oid': (2, 16, 840, 1, 113719, 1, 9, 4, 1)},
+ 'securityDomain': {'comment': 'Telesec attribute',
+ 'description': 'securityDomain (0 2 262 1 10 7 9)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 09',
+ 'name': 'securityDomain',
+ 'oid': (0, 2, 262, 1, 10, 7, 9)},
+ 'securityMessEnv': {'comment': 'Telesec attribute',
+ 'description': 'securityMessEnv (0 2 262 1 10 7 15)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0F',
+ 'name': 'securityMessEnv',
+ 'oid': (0, 2, 262, 1, 10, 7, 15)},
+ 'sedu': {'comment': 'Teletrust encryption algorithm',
+ 'description': 'sedu (1 3 36 2 1)',
+ 'hexoid': '06 06 2B 24 03 01 01 01',
+ 'name': 'sedu',
+ 'oid': (1, 3, 36, 2, 1)},
+ 'seeAlso': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'seeAlso (2 5 4 34)',
+ 'hexoid': '06 03 55 04 23',
+ 'name': 'seeAlso',
+ 'oid': (2, 5, 4, 34)},
+ 'seis-cp': {'comment': 'SEIS Project',
+ 'description': 'seis-cp (1 2 752 34 1)',
+ 'hexoid': '06 05 2A 85 70 22 01',
+ 'name': 'seis-cp',
+ 'oid': (1, 2, 752, 34, 1)},
+ 'sepUKMs': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'sepUKMs (2 16 840 1 101 2 1 5 28)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1D',
+ 'name': 'sepUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 28)},
+ 'serialNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'serialNumber (2 5 4 5)',
+ 'hexoid': '06 03 55 04 06',
+ 'name': 'serialNumber',
+ 'oid': (2, 5, 4, 5)},
+ 'serverAuth': {'comment': 'PKIX key purpose',
+ 'description': 'serverAuth (1 3 6 1 5 5 7 3 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 02',
+ 'name': 'serverAuth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 1)},
+ 'serverGatedCrypto': {'comment': 'Verisign',
+ 'description': 'serverGatedCrypto (2 16 840 1 113730 4 1)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 06 03',
+ 'name': 'serverGatedCrypto',
+ 'oid': (2, 16, 840, 1, 113730, 4, 1)},
+ 'setExtensions': {'comment': 'SET cert extension',
+ 'description': 'setExtensions (2 23 42 7 5)',
+ 'hexoid': '06 04 67 2A 07 06',
+ 'name': 'setExtensions',
+ 'oid': (2, 23, 42, 7, 5)},
+ 'setQualifier': {'comment': 'SET',
+ 'description': 'setQualifier (2 23 42 7 6)',
+ 'hexoid': '06 03 67 2A 08',
+ 'name': 'setQualifier',
+ 'oid': (2, 23, 42, 7, 6)},
+ 'sha': {'comment': 'Oddball OIW OID, DES-based hash, planned for X9.31 Part 2',
+ 'description': 'sha (1 3 14 3 2 18)',
+ 'hexoid': '06 05 2B 0E 03 02 13',
+ 'name': 'sha',
+ 'oid': (1, 3, 14, 3, 2, 18)},
+ 'sha-1WithRSAEncryption': {'comment': 'Oddball OIW OID',
+ 'description': 'sha-1WithRSAEncryption (1 3 14 3 2 29)',
+ 'hexoid': '06 05 2B 0E 03 03 01',
+ 'name': 'sha-1WithRSAEncryption',
+ 'oid': (1, 3, 14, 3, 2, 29)},
+ 'sha1': {'comment': 'OIW. This OID may also be assigned as ripemd-160',
+ 'description': 'sha1 (1 3 14 3 2 26)',
+ 'hexoid': '06 05 2B 0E 03 02 1B',
+ 'name': 'sha1',
+ 'oid': (1, 3, 14, 3, 2, 26)},
+ 'sha1WithRSAEncryptionBSafe1': {'comment': 'Novell digest algorithm',
+ 'description': 'sha1WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 31)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 20',
+ 'name': 'sha1WithRSAEncryptionBSafe1',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8, 31)},
+ 'sha1withRSAEncryption': {'comment': 'PKCS #1. This OID may also be assigned as ripemd160WithRSAEncryption',
+ 'description': 'sha1withRSAEncryption (1 2 840 113549 1 1 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 06',
+ 'name': 'sha1withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 5)},
+ 'shaWithRSASignature': {'comment': 'Oddball OIW OID. Deprecated, use a plain DH OID instead',
+ 'description': 'shaWithRSASignature (1 3 14 3 2 15)',
+ 'hexoid': '06 05 2B 0E 03 02 10',
+ 'name': 'shaWithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 15)},
+ 'siBYEMAN': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siBYEMAN (2 16 840 1 101 2 1 3 10 6)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 07',
+ 'name': 'siBYEMAN',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 6)},
+ 'siDNASP': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siDNASP (2 16 840 1 101 2 1 3 10 5)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 06',
+ 'name': 'siDNASP',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 5)},
+ 'siDSAP': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siDSAP (2 16 840 1 101 2 1 3 10 3)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 04',
+ 'name': 'siDSAP',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 3)},
+ 'siELCO': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siELCO (2 16 840 1 101 2 1 3 10 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 02',
+ 'name': 'siELCO',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 1)},
+ 'siGeneric': {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'siGeneric (2 16 840 1 101 2 1 3 10 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0B',
+ 'name': 'siGeneric',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 12)},
+ 'siNASP': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siNASP (2 16 840 1 101 2 1 3 10 0)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 01',
+ 'name': 'siNASP',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 0)},
+ 'siREL-AUS': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-AUS (2 16 840 1 101 2 1 3 10 8)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 09',
+ 'name': 'siREL-AUS',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 8)},
+ 'siREL-CAN': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-CAN (2 16 840 1 101 2 1 3 10 9)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 0A',
+ 'name': 'siREL-CAN',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 9)},
+ 'siREL-NZ': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-NZ (2 16 840 1 101 2 1 3 10 11)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 0C',
+ 'name': 'siREL-NZ',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 11)},
+ 'siREL-US': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-US (2 16 840 1 101 2 1 3 10 7)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 08',
+ 'name': 'siREL-US',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 7)},
+ 'siREL_UK': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL_UK (2 16 840 1 101 2 1 3 10 10)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 0B',
+ 'name': 'siREL_UK',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 10)},
+ 'siSSSS': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siSSSS (2 16 840 1 101 2 1 3 10 4)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 05',
+ 'name': 'siSSSS',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 4)},
+ 'siSecurityPolicy': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siSecurityPolicy (2 16 840 1 101 2 1 3 10)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 00',
+ 'name': 'siSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10)},
+ 'siTK': {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siTK (2 16 840 1 101 2 1 3 10 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 03',
+ 'name': 'siTK',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10, 2)},
+ 'sigNumber': {'comment': 'Teletrust signature attributes',
+ 'description': 'sigNumber (1 3 36 8 6 9)',
+ 'hexoid': '06 05 2B 24 08 06 0A',
+ 'name': 'sigNumber',
+ 'oid': (1, 3, 36, 8, 6, 9)},
+ 'sigOrKMPrivileges': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'sigOrKMPrivileges (2 16 840 1 101 2 1 5 55)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 38',
+ 'name': 'sigOrKMPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 55)},
+ 'sigPrivileges': {'comment': 'SDN.700 INFOSEC privileges',
+ 'description': 'sigPrivileges (2 16 840 1 101 2 1 10 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0A 02',
+ 'name': 'sigPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 10, 1)},
+ 'sigS_ISO9796-1': {'comment': 'Teletrust signature scheme',
+ 'description': 'sigS_ISO9796-1 (1 3 36 3 4 1)',
+ 'hexoid': '06 05 2B 24 03 04 02',
+ 'name': 'sigS_ISO9796-1',
+ 'oid': (1, 3, 36, 3, 4, 1)},
+ 'sigS_ISO9796-2': {'comment': 'Teletrust signature scheme. Unsure what this is supposed to be',
+ 'description': 'sigS_ISO9796-2 (1 3 36 3 4 2)',
+ 'hexoid': '06 05 2B 24 03 04 02 01',
+ 'name': 'sigS_ISO9796-2',
+ 'oid': (1, 3, 36, 3, 4, 2)},
+ 'sigS_ISO9796-2Withred': {'comment': 'Teletrust signature scheme. Unsure what this is supposed to be',
+ 'description': 'sigS_ISO9796-2Withred (1 3 36 3 4 2 1)',
+ 'hexoid': '06 06 2B 24 03 04 02 02',
+ 'name': 'sigS_ISO9796-2Withred',
+ 'oid': (1, 3, 36, 3, 4, 2, 1)},
+ 'sigS_ISO9796-2Withrnd': {'comment': 'Teletrust API',
+ 'description': 'sigS_ISO9796-2Withrnd (1 3 36 3 4 2 3)',
+ 'hexoid': '06 03 2B 24 06',
+ 'name': 'sigS_ISO9796-2Withrnd',
+ 'oid': (1, 3, 36, 3, 4, 2, 3)},
+ 'sigS_ISO9796-2Withrsa': {'comment': 'Teletrust signature scheme. 9796-2 with random number in padding field',
+ 'description': 'sigS_ISO9796-2Withrsa (1 3 36 3 4 2 2)',
+ 'hexoid': '06 06 2B 24 03 04 02 03',
+ 'name': 'sigS_ISO9796-2Withrsa',
+ 'oid': (1, 3, 36, 3, 4, 2, 2)},
+ 'signKeyPairTypes': {'comment': 'PKIX CMP information',
+ 'description': 'signKeyPairTypes (1 3 6 1 5 5 7 4 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 03',
+ 'name': 'signKeyPairTypes',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 2)},
+ 'signature': {'comment': 'Telesec mechanism',
+ 'description': 'signature (0 2 262 1 10 1 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 01',
+ 'name': 'signature',
+ 'oid': (0, 2, 262, 1, 10, 1, 1)},
+ 'signatureAlgorithm': {'comment': 'Teletrust signature algorithm',
+ 'description': 'signatureAlgorithm (1 3 36 3 3)',
+ 'hexoid': '06 06 2B 24 03 03 01 01',
+ 'name': 'signatureAlgorithm',
+ 'oid': (1, 3, 36, 3, 3)},
+ 'signatureScheme': {'comment': 'Teletrust signature scheme',
+ 'description': 'signatureScheme (1 3 36 3 4)',
+ 'hexoid': '06 05 2B 24 03 04 01',
+ 'name': 'signatureScheme',
+ 'oid': (1, 3, 36, 3, 4)},
+ 'signedAndEnvelopedData': {'comment': 'PKCS #7',
+ 'description': 'signedAndEnvelopedData (1 2 840 113549 1 7 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 05',
+ 'name': 'signedAndEnvelopedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 4)},
+ 'signedData': {'comment': 'PKCS #7',
+ 'description': 'signedData (1 2 840 113549 1 7 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 03',
+ 'name': 'signedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 2)},
+ 'signingDescription': {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'signingDescription (1 2 840 113549 1 9 13)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0E',
+ 'name': 'signingDescription',
+ 'oid': (1, 2, 840, 113549, 1, 9, 13)},
+ 'signingTime': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'signingTime (1 2 840 113549 1 9 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 06',
+ 'name': 'signingTime',
+ 'oid': (1, 2, 840, 113549, 1, 9, 5)},
+ 'simple-strong-auth-mechanism': {'comment': 'Unsure about this OID',
+ 'description': 'simple-strong-auth-mechanism (1 3 14 3 3 1)',
+ 'hexoid': '06 06 2B 0E 07 02 01 01',
+ 'name': 'simple-strong-auth-mechanism',
+ 'oid': (1, 3, 14, 3, 3, 1)},
+ 'sio': {'comment': 'Teletrust sio',
+ 'description': 'sio (1 3 36 2)',
+ 'hexoid': '06 04 2B 24 02 01',
+ 'name': 'sio',
+ 'oid': (1, 3, 36, 2)},
+ 'site-Addressing': {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'site-Addressing (1 2 840 113556 1 3 00)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 0D',
+ 'name': 'site-Addressing',
+ 'oid': (1, 2, 840, 113556, 1, 3, 0)},
+ 'slabel': {'comment': 'CSOR GAK policy',
+ 'description': 'slabel (2 16 840 1 101 3 1)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 01',
+ 'name': 'slabel',
+ 'oid': (2, 16, 840, 1, 101, 3, 1)},
+ 'smeAndComponentsOfSme': {'comment': 'Telesec module',
+ 'description': 'smeAndComponentsOfSme (0 2 262 1 10 2 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 05',
+ 'name': 'smeAndComponentsOfSme',
+ 'oid': (0, 2, 262, 1, 10, 2, 5)},
+ 'snmp-mibs': {'comment': 'Telesec',
+ 'description': 'snmp-mibs (0 2 262 1 10 11)',
+ 'hexoid': '06 06 02 82 06 01 0A 0B',
+ 'name': 'snmp-mibs',
+ 'oid': (0, 2, 262, 1, 10, 11)},
+ 'spcAgencyInfo': {'comment': 'Microsoft code signing',
+ 'description': 'spcAgencyInfo (1 3 6 1 4 1 311 2 1 10)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0B',
+ 'name': 'spcAgencyInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 10)},
+ 'spcFinancialCriteriaInfo': {'comment': 'Microsoft code signing',
+ 'description': 'spcFinancialCriteriaInfo (1 3 6 1 4 1 311 2 1 27)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 03 02 01',
+ 'name': 'spcFinancialCriteriaInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 27)},
+ 'spcIndirectDataContext': {'comment': 'Microsoft code signing. Also known as policyLink',
+ 'description': 'spcIndirectDataContext (1 3 6 1 4 1 311 2 1 4)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0A',
+ 'name': 'spcIndirectDataContext',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 4)},
+ 'spcLink': {'comment': 'Microsoft',
+ 'description': 'spcLink (type 1) (1 3 6 1 4 1 311 2 1 20)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 15',
+ 'name': 'spcLink',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 20)},
+ 'spcMinimalCriteriaInfo': {'comment': 'Microsoft code signing',
+ 'description': 'spcMinimalCriteriaInfo (1 3 6 1 4 1 311 2 1 26)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 1B',
+ 'name': 'spcMinimalCriteriaInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 26)},
+ 'spcPelmageData': {'comment': 'Microsoft code signing. Also known as "glue extension"',
+ 'description': 'spcPelmageData (1 3 6 1 4 1 311 2 1 15)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 14',
+ 'name': 'spcPelmageData',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 15)},
+ 'spcSpOpusInfo': {'comment': 'Microsoft',
+ 'description': 'spcSpOpusInfo (1 3 6 1 4 1 311 2 1 12)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0E',
+ 'name': 'spcSpOpusInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 12)},
+ 'spcStatementType': {'comment': 'Microsoft code signing',
+ 'description': 'spcStatementType (1 3 6 1 4 1 311 2 1 11)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0C',
+ 'name': 'spcStatementType',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 11)},
+ 'sqModNISO': {'comment': 'Telesec one-way function',
+ 'description': 'sqModNISO (0 2 262 1 10 1 3 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 04',
+ 'name': 'sqModNISO',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 4)},
+ 'sqModNX509': {'comment': 'Telesec one-way function',
+ 'description': 'sqModNX509 (0 2 262 1 10 1 3 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 03',
+ 'name': 'sqModNX509',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 3)},
+ 'sqmod-N': {'comment': 'X.509. Deprecated',
+ 'description': 'sqmod-N (1 3 14 3 2 2 1)',
+ 'hexoid': '06 06 2B 0E 03 02 03 01',
+ 'name': 'sqmod-N',
+ 'oid': (1, 3, 14, 3, 2, 2, 1)},
+ 'standardSecurityLabelPrivileges': {'comment': 'SDN.700 INFOSEC privileges',
+ 'description': 'standardSecurityLabelPrivileges (2 16 840 1 101 2 1 8 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0A 01',
+ 'name': 'standardSecurityLabelPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 8, 2)},
+ 'stateOrProvinceName': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'stateOrProvinceName (2 5 4 8)',
+ 'hexoid': '06 04 55 04 08 01',
+ 'name': 'stateOrProvinceName',
+ 'oid': (2, 5, 4, 8)},
+ 'stefiles': {'comment': 'Telesec module',
+ 'description': 'stefiles (0 2 262 1 10 2 8)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 08',
+ 'name': 'stefiles',
+ 'oid': (0, 2, 262, 1, 10, 2, 8)},
+ 'storageTime': {'comment': 'Teletrust signature attributes',
+ 'description': 'storageTime (1 3 36 8 6 6)',
+ 'hexoid': '06 05 2B 24 08 06 07',
+ 'name': 'storageTime',
+ 'oid': (1, 3, 36, 8, 6, 6)},
+ 'streetAddress': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'streetAddress (2 5 4 9)',
+ 'hexoid': '06 04 55 04 09 01',
+ 'name': 'streetAddress',
+ 'oid': (2, 5, 4, 9)},
+ 'strongAuthenticationUser': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'strongAuthenticationUser (2 5 6 15)',
+ 'hexoid': '06 03 55 06 10',
+ 'name': 'strongAuthenticationUser',
+ 'oid': (2, 5, 6, 15)},
+ 'strongExtranet': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'strongExtranet (1 3 101 1 4 1)',
+ 'hexoid': '06 03 55 04 00',
+ 'name': 'strongExtranet',
+ 'oid': (1, 3, 101, 1, 4, 1)},
+ 'subject': {'comment': 'Telesec attribute',
+ 'description': 'subject (0 2 262 1 10 7 10)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0A',
+ 'name': 'subject',
+ 'oid': (0, 2, 262, 1, 10, 7, 10)},
+ 'subjectAltName': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'subjectAltName (2 5 29 17)',
+ 'hexoid': '06 03 55 1D 12',
+ 'name': 'subjectAltName',
+ 'oid': (2, 5, 29, 17)},
+ 'subjectDirectoryAttributes': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'subjectDirectoryAttributes (2 5 29 9)',
+ 'hexoid': '06 03 55 1D 0E',
+ 'name': 'subjectDirectoryAttributes',
+ 'oid': (2, 5, 29, 9)},
+ 'subjectInfoAccess': {'comment': 'PKIX',
+ 'description': 'subjectInfoAccess (1 3 6 1 5 5 7 1 11)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 02',
+ 'name': 'subjectInfoAccess',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 11)},
+ 'subjectKeyIdentifier': {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'subjectKeyIdentifier (2 5 29 14)',
+ 'hexoid': '06 03 55 1D 0F',
+ 'name': 'subjectKeyIdentifier',
+ 'oid': (2, 5, 29, 14)},
+ 'suiteAConfidentialityAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteAConfidentialityAlgorithm (2 16 840 1 101 2 1 1 14)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0F',
+ 'name': 'suiteAConfidentialityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 14)},
+ 'suiteAIntegrityAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteAIntegrityAlgorithm (2 16 840 1 101 2 1 1 15)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 10',
+ 'name': 'suiteAIntegrityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 15)},
+ 'suiteAKMandSigAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedSigAlgorithm',
+ 'description': 'suiteAKMandSigAlgorithm (2 16 840 1 101 2 1 1 18)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 13',
+ 'name': 'suiteAKMandSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 18)},
+ 'suiteAKMandSigCertificate': {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'suiteAKMandSigCertificate (2 16 840 1 101 2 1 5 51)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 34',
+ 'name': 'suiteAKMandSigCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 51)},
+ 'suiteAKeyManagementAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteAKeyManagementAlgorithm (2 16 840 1 101 2 1 1 17)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 12',
+ 'name': 'suiteAKeyManagementAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 17)},
+ 'suiteAKeyManagementCertificate': {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'suiteAKeyManagementCertificate (2 16 840 1 101 2 1 5 50)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 33',
+ 'name': 'suiteAKeyManagementCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 50)},
+ 'suiteASignatureAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteASignatureAlgorithm (2 16 840 1 101 2 1 1 13)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0E',
+ 'name': 'suiteASignatureAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 13)},
+ 'suiteATokenProtectionAlgorithm': {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteATokenProtectionAlgorithm (2 16 840 1 101 2 1 1 16)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 11',
+ 'name': 'suiteATokenProtectionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 16)},
+ 'suiteAUserSignatureCertificate': {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'suiteAUserSignatureCertificate (2 16 840 1 101 2 1 5 52)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 35',
+ 'name': 'suiteAUserSignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 52)},
+ 'suppLangTags': {'comment': 'PKIX',
+ 'description': 'suppLangTags (1 3 6 1 5 5 7 4 16)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 05',
+ 'name': 'suppLangTags',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 16)},
+ 'supportedAlgorithms': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'supportedAlgorithms (2 5 4 52)',
+ 'hexoid': '06 03 55 04 35',
+ 'name': 'supportedAlgorithms',
+ 'oid': (2, 5, 4, 52)},
+ 'supportedApplicationContext': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'supportedApplicationContext (2 5 4 30)',
+ 'hexoid': '06 03 55 04 1F',
+ 'name': 'supportedApplicationContext',
+ 'oid': (2, 5, 4, 30)},
+ 'surname': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'surname (2 5 4 4)',
+ 'hexoid': '06 03 55 04 05',
+ 'name': 'surname',
+ 'oid': (2, 5, 4, 4)},
+ 'symmetric-encryption-algorithm': {'comment': 'Mitsubishi security algorithm',
+ 'description': 'symmetric-encryption-algorithm (1 2 392 200011 61 1 1 1)',
+ 'hexoid': '06 0B 2A 83 08 8C 1A 4B 3D 01 01 01',
+ 'name': 'symmetric-encryption-algorithm',
+ 'oid': (1, 2, 392, 200011, 61, 1, 1, 1)},
+ 'symmetricKeyEntry': {'comment': 'Telesec object class',
+ 'description': 'symmetricKeyEntry (0 2 262 1 10 3 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 05',
+ 'name': 'symmetricKeyEntry',
+ 'oid': (0, 2, 262, 1, 10, 3, 5)},
+ 'symmetricKeyEntryName': {'comment': 'Telesec attribute',
+ 'description': 'symmetricKeyEntryName (0 2 262 1 10 7 35)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 23',
+ 'name': 'symmetricKeyEntryName',
+ 'oid': (0, 2, 262, 1, 10, 7, 35)},
+ 'tcp1': {'comment': 'CSOR GAK',
+ 'description': 'tcp1 (2 16 840 1 101 2 1 12 1 1)',
+ 'hexoid': '06 07 60 86 48 01 65 03 01',
+ 'name': 'tcp1',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 1, 1)},
+ 'telekomAuthentication': {'comment': 'Telesec authentication',
+ 'description': 'telekomAuthentication (0 2 262 1 10 1 0 8)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 08',
+ 'name': 'telekomAuthentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 8)},
+ 'telephone': {'comment': 'SET field',
+ 'description': 'telephone (2 23 42 2 9)',
+ 'hexoid': '06 04 67 2A 02 0A',
+ 'name': 'telephone',
+ 'oid': (2, 23, 42, 2, 9)},
+ 'telephoneNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'telephoneNumber (2 5 4 20)',
+ 'hexoid': '06 04 55 04 14 01',
+ 'name': 'telephoneNumber',
+ 'oid': (2, 5, 4, 20)},
+ 'telesecCRLFilterExt': {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecCRLFilterExt (0 2 262 1 10 12 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 05',
+ 'name': 'telesecCRLFilterExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 5)},
+ 'telesecCRLFilteredExt': {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecCRLFilteredExt (0 2 262 1 10 12 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 04',
+ 'name': 'telesecCRLFilteredExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 4)},
+ 'telesecCertIdExt': {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecCertIdExt (0 2 262 1 10 12 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 01',
+ 'name': 'telesecCertIdExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 1)},
+ 'telesecCertificate': {'comment': 'Telesec attribute',
+ 'description': 'telesecCertificate (0 2 262 1 10 7 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 02',
+ 'name': 'telesecCertificate',
+ 'oid': (0, 2, 262, 1, 10, 7, 2)},
+ 'telesecCertificateList': {'comment': 'Telesec attribute',
+ 'description': 'telesecCertificateList (0 2 262 1 10 7 21)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 15',
+ 'name': 'telesecCertificateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 21)},
+ 'telesecGivenName': {'comment': 'Telesec attribute',
+ 'description': 'telesecGivenName (0 2 262 1 10 7 17)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 11',
+ 'name': 'telesecGivenName',
+ 'oid': (0, 2, 262, 1, 10, 7, 17)},
+ 'telesecNamingAuthorityExt': {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecNamingAuthorityExt (0 2 262 1 10 12 6)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 06',
+ 'name': 'telesecNamingAuthorityExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 6)},
+ 'telesecOtherName': {'comment': 'Telesec object class',
+ 'description': 'telesecOtherName (0 2 262 1 10 3 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 00',
+ 'name': 'telesecOtherName',
+ 'oid': (0, 2, 262, 1, 10, 3, 0)},
+ 'telesecPolicyQualifierID': {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecPolicyQualifierID (0 2 262 1 10 12 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 03',
+ 'name': 'telesecPolicyQualifierID',
+ 'oid': (0, 2, 262, 1, 10, 12, 3)},
+ 'telesecPostalCode': {'comment': 'Telesec attribute',
+ 'description': 'telesecPostalCode (0 2 262 1 10 7 19)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 13',
+ 'name': 'telesecPostalCode',
+ 'oid': (0, 2, 262, 1, 10, 7, 19)},
+ 'telesecTtpAsymmetricApplication': {'comment': 'Telesec module',
+ 'description': 'telesecTtpAsymmetricApplication (0 2 262 1 10 2 11)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0B',
+ 'name': 'telesecTtpAsymmetricApplication',
+ 'oid': (0, 2, 262, 1, 10, 2, 11)},
+ 'telesecTtpBasisApplication': {'comment': 'Telesec module',
+ 'description': 'telesecTtpBasisApplication (0 2 262 1 10 2 12)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0C',
+ 'name': 'telesecTtpBasisApplication',
+ 'oid': (0, 2, 262, 1, 10, 2, 12)},
+ 'telesecTtpMessages': {'comment': 'Telesec module',
+ 'description': 'telesecTtpMessages (0 2 262 1 10 2 13)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0D',
+ 'name': 'telesecTtpMessages',
+ 'oid': (0, 2, 262, 1, 10, 2, 13)},
+ 'telesecTtpTimeStampApplication': {'comment': 'Telesec module',
+ 'description': 'telesecTtpTimeStampApplication (0 2 262 1 10 2 14)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0E',
+ 'name': 'telesecTtpTimeStampApplication',
+ 'oid': (0, 2, 262, 1, 10, 2, 14)},
+ 'teletexTerminalIdentifier': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'teletexTerminalIdentifier (2 5 4 22)',
+ 'hexoid': '06 04 55 04 16 01',
+ 'name': 'teletexTerminalIdentifier',
+ 'oid': (2, 5, 4, 22)},
+ 'teletrustCertificateList': {'comment': 'Telesec attribute',
+ 'description': 'teletrustCertificateList (0 2 262 1 10 7 22)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 16',
+ 'name': 'teletrustCertificateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 22)},
+ 'telexNumber': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'telexNumber (2 5 4 21)',
+ 'hexoid': '06 04 55 04 15 01',
+ 'name': 'telexNumber',
+ 'oid': (2, 5, 4, 21)},
+ 'testSecurityPolicy': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'testSecurityPolicy (2 16 840 1 101 2 1 12 0)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 00 01',
+ 'name': 'testSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0)},
+ 'textNotice': {'comment': 'PKIX',
+ 'description': 'textNotice (1 3 6 1 5 5 7 2 3)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 03',
+ 'name': 'textNotice',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2, 3)},
+ 'thawte-ce': {'comment': 'Thawte certificate extension',
+ 'description': 'thawte-ce (1 3 101 1 4)',
+ 'hexoid': '06 05 2B 65 01 04 01',
+ 'name': 'thawte-ce',
+ 'oid': (1, 3, 101, 1, 4)},
+ 'threeWayX509Authentication': {'comment': 'Telesec authentication',
+ 'description': 'threeWayX509Authentication (0 2 262 1 10 1 0 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 05',
+ 'name': 'threeWayX509Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 5)},
+ 'timeOfIssue': {'comment': 'Telesec attribute',
+ 'description': 'timeOfIssue (0 2 262 1 10 7 24)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 18',
+ 'name': 'timeOfIssue',
+ 'oid': (0, 2, 262, 1, 10, 7, 24)},
+ 'timeOfRevocation': {'comment': 'Telesec attribute',
+ 'description': 'timeOfRevocation (0 2 262 1 10 7 11)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0B',
+ 'name': 'timeOfRevocation',
+ 'oid': (0, 2, 262, 1, 10, 7, 11)},
+ 'timeOfRevocationGen': {'comment': 'Telesec attribute',
+ 'description': 'timeOfRevocationGen (0 2 262 1 10 7 51)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 33',
+ 'name': 'timeOfRevocationGen',
+ 'oid': (0, 2, 262, 1, 10, 7, 51)},
+ 'timeStampSigning': {'comment': 'Microsoft enhanced key usage',
+ 'description': 'timeStampSigning (1 3 6 1 4 1 311 10 3 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 03 04',
+ 'name': 'timeStampSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 3, 2)},
+ 'timeStamping': {'comment': 'ISAKMP HMAC algorithm',
+ 'description': 'timeStamping (1 3 6 1 5 5 7 48 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 01 01',
+ 'name': 'timeStamping',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 3)},
+ 'timeproof': {'comment': 'timeproof',
+ 'description': 'timeproof (1 3 6 1 4 1 5472)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01',
+ 'name': 'timeproof',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472)},
+ 'timestampCountersignature': {'comment': 'Microsoft PKCS #7 contentType',
+ 'description': 'timestampCountersignature (1 3 6 1 4 1 311 3 2 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 82 37 0A 01',
+ 'name': 'timestampCountersignature',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 3, 2, 1)},
+ 'title': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'title (2 5 4 12)',
+ 'hexoid': '06 03 55 04 0D',
+ 'name': 'title',
+ 'oid': (2, 5, 4, 12)},
+ 'titledWithOID': {'comment': 'Microsoft',
+ 'description': 'titledWithOID (1 2 840 113556 4 4)',
+ 'hexoid': '06 08 2A 86 48 86 F7 14 04 05',
+ 'name': 'titledWithOID',
+ 'oid': (1, 2, 840, 113556, 4, 4)},
+ 'top': {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'top (2 5 6 0)',
+ 'hexoid': '06 03 55 06 01',
+ 'name': 'top',
+ 'oid': (2, 5, 6, 0)},
+ 'tpBasis': {'comment': 'ANSI X9.62 field basis',
+ 'description': 'tpBasis (1 2 840 10045 1 2 3 2)',
+ 'hexoid': '06 0A 2A 86 48 CE 3D 01 02 03 02',
+ 'name': 'tpBasis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3, 2)},
+ 'tsp1': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1 (2 16 840 1 101 2 1 12 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00',
+ 'name': 'tsp1',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 1)},
+ 'tsp1SecurityCategories': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1SecurityCategories (2 16 840 1 101 2 1 12 0 1 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00 00',
+ 'name': 'tsp1SecurityCategories',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0)},
+ 'tsp1TagSetOne': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1TagSetOne (2 16 840 1 101 2 1 12 0 1 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00 02',
+ 'name': 'tsp1TagSetOne',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0, 1)},
+ 'tsp1TagSetTwo': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1TagSetTwo (2 16 840 1 101 2 1 12 0 1 0 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 00 02',
+ 'name': 'tsp1TagSetTwo',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0, 2)},
+ 'tsp1TagSetZero': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1TagSetZero (2 16 840 1 101 2 1 12 0 1 0 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00 01',
+ 'name': 'tsp1TagSetZero',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0, 0)},
+ 'tsp2': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2 (2 16 840 1 101 2 1 12 0 2)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00',
+ 'name': 'tsp2',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 2)},
+ 'tsp2SecurityCategories': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2SecurityCategories (2 16 840 1 101 2 1 12 0 2 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00 00',
+ 'name': 'tsp2SecurityCategories',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0)},
+ 'tsp2TagSetOne': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2TagSetOne (2 16 840 1 101 2 1 12 0 2 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00 02',
+ 'name': 'tsp2TagSetOne',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0, 1)},
+ 'tsp2TagSetTwo': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2TagSetTwo (2 16 840 1 101 2 1 12 0 2 0 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 00 03',
+ 'name': 'tsp2TagSetTwo',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0, 2)},
+ 'tsp2TagSetZero': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2TagSetZero (2 16 840 1 101 2 1 12 0 2 0 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00 01',
+ 'name': 'tsp2TagSetZero',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0, 0)},
+ 'tss': {'comment': 'timeproof TSS',
+ 'description': 'tss (1 3 6 1 4 1 5472 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01 01',
+ 'name': 'tss',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472, 1)},
+ 'tss380': {'comment': 'timeproof TSS',
+ 'description': 'tss380 (1 3 6 1 4 1 5472 1 2)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01 01',
+ 'name': 'tss380',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472, 1, 2)},
+ 'tss80': {'comment': 'timeproof TSS',
+ 'description': 'tss80 (1 3 6 1 4 1 5472 1 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01 01',
+ 'name': 'tss80',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472, 1, 1)},
+ 'tunneling': {'comment': 'SET cert extension',
+ 'description': 'tunneling (2 23 42 7 4)',
+ 'hexoid': '06 04 67 2A 07 05',
+ 'name': 'tunneling',
+ 'oid': (2, 23, 42, 7, 4)},
+ 'twoWayISO9798Authentication': {'comment': 'Telesec authentication',
+ 'description': 'twoWayISO9798Authentication (0 2 262 1 10 1 0 7)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 07',
+ 'name': 'twoWayISO9798Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 7)},
+ 'twoWayX509Authentication': {'comment': 'Telesec authentication',
+ 'description': 'twoWayX509Authentication (0 2 262 1 10 1 0 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 04',
+ 'name': 'twoWayX509Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 4)},
+ 'ukDemo': {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'ukDemo (2 16 840 1 101 2 1 11 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 02',
+ 'name': 'ukDemo',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 1)},
+ 'uniqueIdentifier': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'uniqueIdentifier (2 5 4 45)',
+ 'hexoid': '06 03 55 04 2E',
+ 'name': 'uniqueIdentifier',
+ 'oid': (2, 5, 4, 45)},
+ 'uniqueMember': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'uniqueMember (2 5 4 50)',
+ 'hexoid': '06 03 55 04 33',
+ 'name': 'uniqueMember',
+ 'oid': (2, 5, 4, 50)},
+ 'unotice': {'comment': 'PKIX policy qualifier',
+ 'description': 'unotice (1 3 6 1 5 5 7 2 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 02 03',
+ 'name': 'unotice',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2, 2)},
+ 'unstructuredAddress': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'unstructuredAddress (1 2 840 113549 1 9 8)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 09',
+ 'name': 'unstructuredAddress',
+ 'oid': (1, 2, 840, 113549, 1, 9, 8)},
+ 'unstructuredName': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'unstructuredName (1 2 840 113549 1 9 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 03',
+ 'name': 'unstructuredName',
+ 'oid': (1, 2, 840, 113549, 1, 9, 2)},
+ 'unsupportedOIDs': {'comment': 'PKIX CMP information',
+ 'description': 'unsupportedOIDs (1 3 6 1 5 5 7 4 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0A',
+ 'name': 'unsupportedOIDs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 7)},
+ 'usDODClass2': {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usDODClass2 (2 16 840 1 101 2 1 11 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 03',
+ 'name': 'usDODClass2',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 2)},
+ 'usDODClass3': {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usDODClass3 (2 16 840 1 101 2 1 11 5)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 06',
+ 'name': 'usDODClass3',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 5)},
+ 'usDODClass4': {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usDODClass4 (2 16 840 1 101 2 1 11 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 05',
+ 'name': 'usDODClass4',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 4)},
+ 'usDODClass5': {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'usDODClass5 (2 16 840 1 101 2 1 11 6)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0C 00',
+ 'name': 'usDODClass5',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 6)},
+ 'usMediumPilot': {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usMediumPilot (2 16 840 1 101 2 1 11 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 04',
+ 'name': 'usMediumPilot',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 3)},
+ 'usefulDefinitions': {'comment': 'Telesec module',
+ 'description': 'usefulDefinitions (0 2 262 1 10 2 7)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 07',
+ 'name': 'usefulDefinitions',
+ 'oid': (0, 2, 262, 1, 10, 2, 7)},
+ 'userCertificate': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'userCertificate (2 5 4 36)',
+ 'hexoid': '06 03 55 04 25',
+ 'name': 'userCertificate',
+ 'oid': (2, 5, 4, 36)},
+ 'userGroup': {'comment': 'PKIX personal data',
+ 'description': 'userGroup (1 3 6 1 5 5 7 8 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 01',
+ 'name': 'userGroup',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 8, 2)},
+ 'userGroupReference': {'comment': 'Telesec attribute',
+ 'description': 'userGroupReference (0 2 262 1 10 7 12)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0C',
+ 'name': 'userGroupReference',
+ 'oid': (0, 2, 262, 1, 10, 7, 12)},
+ 'userID': {'comment': 'Some oddball X.500 attribute collection',
+ 'description': 'userID (0 9 2342 19200300 100 1 1)',
+ 'hexoid': '06 0A 09 92 26 89 93 F2 2C 64 01 01',
+ 'name': 'userID',
+ 'oid': (0, 9, 2342, 19200300, 100, 1, 1)},
+ 'userPassword': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'userPassword (2 5 4 35)',
+ 'hexoid': '06 03 55 04 24',
+ 'name': 'userPassword',
+ 'oid': (2, 5, 4, 35)},
+ 'utf8Pairs': {'comment': 'PKIX CRMF registration control',
+ 'description': 'utf8Pairs (1 3 6 1 5 5 7 5 2 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 02 02',
+ 'name': 'utf8Pairs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 2, 1)},
+ 'utimaco-api': {'comment': 'Teletrust API',
+ 'description': 'utimaco-api (1 3 36 6 1 1)',
+ 'hexoid': '06 04 2B 24 06 02',
+ 'name': 'utimaco-api',
+ 'oid': (1, 3, 36, 6, 1, 1)},
+ 'validity': {'comment': 'Telesec attribute',
+ 'description': 'validity (0 2 262 1 10 7 13)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0D',
+ 'name': 'validity',
+ 'oid': (0, 2, 262, 1, 10, 7, 13)},
+ 'vendor': {'comment': 'SET vendor',
+ 'description': 'vendor (2 23 42 9)',
+ 'hexoid': '06 04 67 2A 09 00',
+ 'name': 'vendor',
+ 'oid': (2, 23, 42, 9)},
+ 'verisignCPSv1notice': {'comment': 'Verisign (obsolete)',
+ 'description': 'verisignCPSv1notice (2 16 840 1 113733 1 7 1 1 1)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 45 01 07 01 01 02',
+ 'name': 'verisignCPSv1notice',
+ 'oid': (2, 16, 840, 1, 113733, 1, 7, 1, 1, 1)},
+ 'verisignCPSv1nsi': {'comment': 'Verisign',
+ 'description': 'verisignCPSv1nsi (2 16 840 1 113733 1 7 1 1 2)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 08 01',
+ 'name': 'verisignCPSv1nsi',
+ 'oid': (2, 16, 840, 1, 113733, 1, 7, 1, 1, 2)},
+ 'verisignCZAG': {'comment': 'Verisign',
+ 'description': 'verisignCZAG (2 16 840 1 113733 1 6 3)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 06 06',
+ 'name': 'verisignCZAG',
+ 'oid': (2, 16, 840, 1, 113733, 1, 6, 3)},
+ 'verisignInBox': {'comment': 'Verisign',
+ 'description': 'verisignInBox (2 16 840 1 113733 1 6 6)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 06 0D',
+ 'name': 'verisignInBox',
+ 'oid': (2, 16, 840, 1, 113733, 1, 6, 6)},
+ 'wtlsTemplate': {'comment': 'PKIX CRMF registration',
+ 'description': 'wtlsTemplate (1 3 6 1 5 5 7 5 1 8)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 05 02',
+ 'name': 'wtlsTemplate',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 8)},
+ 'x121Address': {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'x121Address (2 5 4 24)',
+ 'hexoid': '06 03 55 04 19',
+ 'name': 'x121Address',
+ 'oid': (2, 5, 4, 24)},
+ 'x509Certificate': {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'x509Certificate (for PKCS #12) (1 2 840 113549 1 9 22 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 16 02',
+ 'name': 'x509Certificate',
+ 'oid': (1, 2, 840, 113549, 1, 9, 22, 1)},
+ 'x509CertificateList': {'comment': 'Telesec attribute',
+ 'description': 'x509CertificateList (0 2 262 1 10 7 23)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 17',
+ 'name': 'x509CertificateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 23)},
+ 'x9f1-cert-mgmt': {'comment': 'ANSI X9.57 module',
+ 'description': 'x9f1-cert-mgmt (1 2 840 10040 1 1)',
+ 'hexoid': '06 07 2A 86 48 CE 38 01 01',
+ 'name': 'x9f1-cert-mgmt',
+ 'oid': (1, 2, 840, 10040, 1, 1)},
+ 'xYZZY policyIdentifier': {'comment': 'enterprise',
+ 'description': 'xYZZY policyIdentifier (1 3 6 1 4 1 3029 88 89 90 90 89)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60',
+ 'name': 'xYZZY policyIdentifier',
+ 'oid': (1,
+ 3,
+ 6,
+ 1,
+ 4,
+ 1,
+ 3029,
+ 88,
+ 89,
+ 90,
+ 90,
+ 89)},
+ 'yesnoTrustAttr': {'comment': 'Microsoft attribute',
+ 'description': 'yesnoTrustAttr (1 3 6 1 4 1 311 10 4 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0D 02 02',
+ 'name': 'yesnoTrustAttr',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 4, 1)},
+ 'zKeyData': {'comment': 'Telesec attribute',
+ 'description': 'zKeyData (0 2 262 1 10 7 39)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 27',
+ 'name': 'zKeyData',
+ 'oid': (0, 2, 262, 1, 10, 7, 39)},
+ 'zert93': {'comment': 'Telesec attribute',
+ 'description': 'zert93 (0 2 262 1 10 7 14)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0E',
+ 'name': 'zert93',
+ 'oid': (0, 2, 262, 1, 10, 7, 14)}}
diff --git a/pow/POW-0.7/lib/_oids.py b/pow/POW-0.7/lib/_oids.py
new file mode 100644
index 00000000..0800085d
--- /dev/null
+++ b/pow/POW-0.7/lib/_oids.py
@@ -0,0 +1,7102 @@
+data = {(0, 2, 262, 1, 10): {'comment': 'Deutsche Telekom',
+ 'description': 'Telesec (0 2 262 1 10)',
+ 'hexoid': '06 05 02 82 06 01 0A',
+ 'name': 'Telesec',
+ 'oid': (0, 2, 262, 1, 10)},
+ (0, 2, 262, 1, 10, 0): {'comment': 'Telesec',
+ 'description': 'extension (0 2 262 1 10 0)',
+ 'hexoid': '06 06 02 82 06 01 0A 00',
+ 'name': 'extension',
+ 'oid': (0, 2, 262, 1, 10, 0)},
+ (0, 2, 262, 1, 10, 1): {'comment': 'Telesec',
+ 'description': 'mechanism (0 2 262 1 10 1)',
+ 'hexoid': '06 06 02 82 06 01 0A 01',
+ 'name': 'mechanism',
+ 'oid': (0, 2, 262, 1, 10, 1)},
+ (0, 2, 262, 1, 10, 1, 0): {'comment': 'Telesec mechanism',
+ 'description': 'authentication (0 2 262 1 10 1 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 00',
+ 'name': 'authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0)},
+ (0, 2, 262, 1, 10, 1, 0, 1): {'comment': 'Telesec authentication',
+ 'description': 'passwordAuthentication (0 2 262 1 10 1 0 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 01',
+ 'name': 'passwordAuthentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 1)},
+ (0, 2, 262, 1, 10, 1, 0, 2): {'comment': 'Telesec authentication',
+ 'description': 'protectedPasswordAuthentication (0 2 262 1 10 1 0 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 02',
+ 'name': 'protectedPasswordAuthentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 2)},
+ (0, 2, 262, 1, 10, 1, 0, 3): {'comment': 'Telesec authentication',
+ 'description': 'oneWayX509Authentication (0 2 262 1 10 1 0 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 03',
+ 'name': 'oneWayX509Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 3)},
+ (0, 2, 262, 1, 10, 1, 0, 4): {'comment': 'Telesec authentication',
+ 'description': 'twoWayX509Authentication (0 2 262 1 10 1 0 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 04',
+ 'name': 'twoWayX509Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 4)},
+ (0, 2, 262, 1, 10, 1, 0, 5): {'comment': 'Telesec authentication',
+ 'description': 'threeWayX509Authentication (0 2 262 1 10 1 0 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 05',
+ 'name': 'threeWayX509Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 5)},
+ (0, 2, 262, 1, 10, 1, 0, 6): {'comment': 'Telesec authentication',
+ 'description': 'oneWayISO9798Authentication (0 2 262 1 10 1 0 6)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 06',
+ 'name': 'oneWayISO9798Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 6)},
+ (0, 2, 262, 1, 10, 1, 0, 7): {'comment': 'Telesec authentication',
+ 'description': 'twoWayISO9798Authentication (0 2 262 1 10 1 0 7)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 07',
+ 'name': 'twoWayISO9798Authentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 7)},
+ (0, 2, 262, 1, 10, 1, 0, 8): {'comment': 'Telesec authentication',
+ 'description': 'telekomAuthentication (0 2 262 1 10 1 0 8)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 00 08',
+ 'name': 'telekomAuthentication',
+ 'oid': (0, 2, 262, 1, 10, 1, 0, 8)},
+ (0, 2, 262, 1, 10, 1, 1): {'comment': 'Telesec mechanism',
+ 'description': 'signature (0 2 262 1 10 1 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 01',
+ 'name': 'signature',
+ 'oid': (0, 2, 262, 1, 10, 1, 1)},
+ (0, 2, 262, 1, 10, 1, 1, 1): {'comment': 'Telesec mechanism',
+ 'description': 'md4WithRSAAndISO9697 (0 2 262 1 10 1 1 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 01',
+ 'name': 'md4WithRSAAndISO9697',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 1)},
+ (0, 2, 262, 1, 10, 1, 1, 2): {'comment': 'Telesec mechanism',
+ 'description': 'md4WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 02',
+ 'name': 'md4WithRSAAndTelesecSignatureStandard',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 2)},
+ (0, 2, 262, 1, 10, 1, 1, 3): {'comment': 'Telesec mechanism',
+ 'description': 'md5WithRSAAndISO9697 (0 2 262 1 10 1 1 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 03',
+ 'name': 'md5WithRSAAndISO9697',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 3)},
+ (0, 2, 262, 1, 10, 1, 1, 4): {'comment': 'Telesec mechanism',
+ 'description': 'md5WithRSAAndTelesecSignatureStandard (0 2 262 1 10 1 1 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 04',
+ 'name': 'md5WithRSAAndTelesecSignatureStandard',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 4)},
+ (0, 2, 262, 1, 10, 1, 1, 5): {'comment': 'Telesec mechanism',
+ 'description': 'ripemd160WithRSAAndTelekomSignatureStandard (0 2 262 1 10 1 1 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 05',
+ 'name': 'ripemd160WithRSAAndTelekomSignatureStandard',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 5)},
+ (0, 2, 262, 1, 10, 1, 1, 9): {'comment': 'Telesec signature',
+ 'description': 'hbciRsaSignature (0 2 262 1 10 1 1 9)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 01 09',
+ 'name': 'hbciRsaSignature',
+ 'oid': (0, 2, 262, 1, 10, 1, 1, 9)},
+ (0, 2, 262, 1, 10, 1, 2): {'comment': 'Telesec mechanism',
+ 'description': 'encryption (0 2 262 1 10 1 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 02',
+ 'name': 'encryption',
+ 'oid': (0, 2, 262, 1, 10, 1, 2)},
+ (0, 2, 262, 1, 10, 1, 2, 0): {'comment': 'Telesec encryption',
+ 'description': 'none (0 2 262 1 10 1 2 0)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 00',
+ 'name': 'none',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 0)},
+ (0, 2, 262, 1, 10, 1, 2, 1): {'comment': 'Telesec encryption',
+ 'description': 'rsaTelesec (0 2 262 1 10 1 2 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 01',
+ 'name': 'rsaTelesec',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 1)},
+ (0, 2, 262, 1, 10, 1, 2, 2): {'comment': 'Telesec encryption',
+ 'description': 'des (0 2 262 1 10 1 2 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 02',
+ 'name': 'des',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2)},
+ (0, 2, 262, 1, 10, 1, 2, 2, 1): {'comment': 'Telesec encryption',
+ 'description': 'desECB (0 2 262 1 10 1 2 2 1)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 01',
+ 'name': 'desECB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 1)},
+ (0, 2, 262, 1, 10, 1, 2, 2, 2): {'comment': 'Telesec encryption',
+ 'description': 'desCBC (0 2 262 1 10 1 2 2 2)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 02',
+ 'name': 'desCBC',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 2)},
+ (0, 2, 262, 1, 10, 1, 2, 2, 3): {'comment': 'Telesec encryption',
+ 'description': 'desOFB (0 2 262 1 10 1 2 2 3)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 03',
+ 'name': 'desOFB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 3)},
+ (0, 2, 262, 1, 10, 1, 2, 2, 4): {'comment': 'Telesec encryption',
+ 'description': 'desCFB8 (0 2 262 1 10 1 2 2 4)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 04',
+ 'name': 'desCFB8',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 4)},
+ (0, 2, 262, 1, 10, 1, 2, 2, 5): {'comment': 'Telesec encryption',
+ 'description': 'desCFB64 (0 2 262 1 10 1 2 2 5)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 02 05',
+ 'name': 'desCFB64',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 2, 5)},
+ (0, 2, 262, 1, 10, 1, 2, 3): {'comment': 'Telesec encryption',
+ 'description': 'des3 (0 2 262 1 10 1 2 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 03',
+ 'name': 'des3',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3)},
+ (0, 2, 262, 1, 10, 1, 2, 3, 1): {'comment': 'Telesec encryption',
+ 'description': 'des3ECB (0 2 262 1 10 1 2 3 1)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 01',
+ 'name': 'des3ECB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 1)},
+ (0, 2, 262, 1, 10, 1, 2, 3, 2): {'comment': 'Telesec encryption',
+ 'description': 'des3CBC (0 2 262 1 10 1 2 3 2)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 02',
+ 'name': 'des3CBC',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 2)},
+ (0, 2, 262, 1, 10, 1, 2, 3, 3): {'comment': 'Telesec encryption',
+ 'description': 'des3OFB (0 2 262 1 10 1 2 3 3)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 03',
+ 'name': 'des3OFB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 3)},
+ (0, 2, 262, 1, 10, 1, 2, 3, 4): {'comment': 'Telesec encryption',
+ 'description': 'des3CFB8 (0 2 262 1 10 1 2 3 4)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 04',
+ 'name': 'des3CFB8',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 4)},
+ (0, 2, 262, 1, 10, 1, 2, 3, 5): {'comment': 'Telesec encryption',
+ 'description': 'des3CFB64 (0 2 262 1 10 1 2 3 5)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 03 05',
+ 'name': 'des3CFB64',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 3, 5)},
+ (0, 2, 262, 1, 10, 1, 2, 4): {'comment': 'Telesec encryption',
+ 'description': 'magenta (0 2 262 1 10 1 2 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 04',
+ 'name': 'magenta',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 4)},
+ (0, 2, 262, 1, 10, 1, 2, 5): {'comment': 'Telesec encryption',
+ 'description': 'idea (0 2 262 1 10 1 2 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 02 05',
+ 'name': 'idea',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5)},
+ (0, 2, 262, 1, 10, 1, 2, 5, 1): {'comment': 'Telesec encryption',
+ 'description': 'ideaECB (0 2 262 1 10 1 2 5 1)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 01',
+ 'name': 'ideaECB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 1)},
+ (0, 2, 262, 1, 10, 1, 2, 5, 2): {'comment': 'Telesec encryption',
+ 'description': 'ideaCBC (0 2 262 1 10 1 2 5 2)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 02',
+ 'name': 'ideaCBC',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 2)},
+ (0, 2, 262, 1, 10, 1, 2, 5, 3): {'comment': 'Telesec encryption',
+ 'description': 'ideaOFB (0 2 262 1 10 1 2 5 3)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 03',
+ 'name': 'ideaOFB',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 3)},
+ (0, 2, 262, 1, 10, 1, 2, 5, 4): {'comment': 'Telesec encryption',
+ 'description': 'ideaCFB8 (0 2 262 1 10 1 2 5 4)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 04',
+ 'name': 'ideaCFB8',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 4)},
+ (0, 2, 262, 1, 10, 1, 2, 5, 5): {'comment': 'Telesec encryption',
+ 'description': 'ideaCFB64 (0 2 262 1 10 1 2 5 5)',
+ 'hexoid': '06 09 02 82 06 01 0A 01 02 05 05',
+ 'name': 'ideaCFB64',
+ 'oid': (0, 2, 262, 1, 10, 1, 2, 5, 5)},
+ (0, 2, 262, 1, 10, 1, 3): {'comment': 'Telesec mechanism',
+ 'description': 'oneWayFunction (0 2 262 1 10 1 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 03',
+ 'name': 'oneWayFunction',
+ 'oid': (0, 2, 262, 1, 10, 1, 3)},
+ (0, 2, 262, 1, 10, 1, 3, 1): {'comment': 'Telesec one-way function',
+ 'description': 'md4 (0 2 262 1 10 1 3 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 01',
+ 'name': 'md4',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 1)},
+ (0, 2, 262, 1, 10, 1, 3, 2): {'comment': 'Telesec one-way function',
+ 'description': 'md5 (0 2 262 1 10 1 3 2)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 02',
+ 'name': 'md5',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 2)},
+ (0, 2, 262, 1, 10, 1, 3, 3): {'comment': 'Telesec one-way function',
+ 'description': 'sqModNX509 (0 2 262 1 10 1 3 3)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 03',
+ 'name': 'sqModNX509',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 3)},
+ (0, 2, 262, 1, 10, 1, 3, 4): {'comment': 'Telesec one-way function',
+ 'description': 'sqModNISO (0 2 262 1 10 1 3 4)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 04',
+ 'name': 'sqModNISO',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 4)},
+ (0, 2, 262, 1, 10, 1, 3, 5): {'comment': 'Telesec one-way function',
+ 'description': 'ripemd128 (0 2 262 1 10 1 3 5)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 05',
+ 'name': 'ripemd128',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 5)},
+ (0, 2, 262, 1, 10, 1, 3, 6): {'comment': 'Telesec one-way function',
+ 'description': 'hashUsingBlockCipher (0 2 262 1 10 1 3 6)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 06',
+ 'name': 'hashUsingBlockCipher',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 6)},
+ (0, 2, 262, 1, 10, 1, 3, 7): {'comment': 'Telesec one-way function',
+ 'description': 'mac (0 2 262 1 10 1 3 7)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 07',
+ 'name': 'mac',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 7)},
+ (0, 2, 262, 1, 10, 1, 3, 8): {'comment': 'Telesec one-way function',
+ 'description': 'ripemd160 (0 2 262 1 10 1 3 8)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 03 08',
+ 'name': 'ripemd160',
+ 'oid': (0, 2, 262, 1, 10, 1, 3, 8)},
+ (0, 2, 262, 1, 10, 1, 4): {'comment': 'Telesec mechanism',
+ 'description': 'fecFunction (0 2 262 1 10 1 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 01 04',
+ 'name': 'fecFunction',
+ 'oid': (0, 2, 262, 1, 10, 1, 4)},
+ (0, 2, 262, 1, 10, 1, 4, 1): {'comment': 'Telesec mechanism',
+ 'description': 'reedSolomon (0 2 262 1 10 1 4 1)',
+ 'hexoid': '06 08 02 82 06 01 0A 01 04 01',
+ 'name': 'reedSolomon',
+ 'oid': (0, 2, 262, 1, 10, 1, 4, 1)},
+ (0, 2, 262, 1, 10, 2, 1): {'comment': 'Telesec module',
+ 'description': 'attributeTypes (0 2 262 1 10 2 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 01',
+ 'name': 'attributeTypes',
+ 'oid': (0, 2, 262, 1, 10, 2, 1)},
+ (0, 2, 262, 1, 10, 2, 2): {'comment': 'Telesec module',
+ 'description': 'certificateTypes (0 2 262 1 10 2 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 02',
+ 'name': 'certificateTypes',
+ 'oid': (0, 2, 262, 1, 10, 2, 2)},
+ (0, 2, 262, 1, 10, 2, 3): {'comment': 'Telesec module',
+ 'description': 'messageTypes (0 2 262 1 10 2 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 03',
+ 'name': 'messageTypes',
+ 'oid': (0, 2, 262, 1, 10, 2, 3)},
+ (0, 2, 262, 1, 10, 2, 4): {'comment': 'Telesec module',
+ 'description': 'plProtocol (0 2 262 1 10 2 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 04',
+ 'name': 'plProtocol',
+ 'oid': (0, 2, 262, 1, 10, 2, 4)},
+ (0, 2, 262, 1, 10, 2, 5): {'comment': 'Telesec module',
+ 'description': 'smeAndComponentsOfSme (0 2 262 1 10 2 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 05',
+ 'name': 'smeAndComponentsOfSme',
+ 'oid': (0, 2, 262, 1, 10, 2, 5)},
+ (0, 2, 262, 1, 10, 2, 6): {'comment': 'Telesec module',
+ 'description': 'fec (0 2 262 1 10 2 6)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 06',
+ 'name': 'fec',
+ 'oid': (0, 2, 262, 1, 10, 2, 6)},
+ (0, 2, 262, 1, 10, 2, 7): {'comment': 'Telesec module',
+ 'description': 'usefulDefinitions (0 2 262 1 10 2 7)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 07',
+ 'name': 'usefulDefinitions',
+ 'oid': (0, 2, 262, 1, 10, 2, 7)},
+ (0, 2, 262, 1, 10, 2, 8): {'comment': 'Telesec module',
+ 'description': 'stefiles (0 2 262 1 10 2 8)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 08',
+ 'name': 'stefiles',
+ 'oid': (0, 2, 262, 1, 10, 2, 8)},
+ (0, 2, 262, 1, 10, 2, 9): {'comment': 'Telesec module',
+ 'description': 'sadmib (0 2 262 1 10 2 9)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 09',
+ 'name': 'sadmib',
+ 'oid': (0, 2, 262, 1, 10, 2, 9)},
+ (0, 2, 262, 1, 10, 2, 10): {'comment': 'Telesec module',
+ 'description': 'electronicOrder (0 2 262 1 10 2 10)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0A',
+ 'name': 'electronicOrder',
+ 'oid': (0, 2, 262, 1, 10, 2, 10)},
+ (0, 2, 262, 1, 10, 2, 11): {'comment': 'Telesec module',
+ 'description': 'telesecTtpAsymmetricApplication (0 2 262 1 10 2 11)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0B',
+ 'name': 'telesecTtpAsymmetricApplication',
+ 'oid': (0, 2, 262, 1, 10, 2, 11)},
+ (0, 2, 262, 1, 10, 2, 12): {'comment': 'Telesec module',
+ 'description': 'telesecTtpBasisApplication (0 2 262 1 10 2 12)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0C',
+ 'name': 'telesecTtpBasisApplication',
+ 'oid': (0, 2, 262, 1, 10, 2, 12)},
+ (0, 2, 262, 1, 10, 2, 13): {'comment': 'Telesec module',
+ 'description': 'telesecTtpMessages (0 2 262 1 10 2 13)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0D',
+ 'name': 'telesecTtpMessages',
+ 'oid': (0, 2, 262, 1, 10, 2, 13)},
+ (0, 2, 262, 1, 10, 2, 14): {'comment': 'Telesec module',
+ 'description': 'telesecTtpTimeStampApplication (0 2 262 1 10 2 14)',
+ 'hexoid': '06 07 02 82 06 01 0A 02 0E',
+ 'name': 'telesecTtpTimeStampApplication',
+ 'oid': (0, 2, 262, 1, 10, 2, 14)},
+ (0, 2, 262, 1, 10, 3, 0): {'comment': 'Telesec object class',
+ 'description': 'telesecOtherName (0 2 262 1 10 3 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 00',
+ 'name': 'telesecOtherName',
+ 'oid': (0, 2, 262, 1, 10, 3, 0)},
+ (0, 2, 262, 1, 10, 3, 2): {'comment': 'Telesec object class',
+ 'description': 'directoryType (0 2 262 1 10 3 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 02',
+ 'name': 'directoryType',
+ 'oid': (0, 2, 262, 1, 10, 3, 2)},
+ (0, 2, 262, 1, 10, 3, 3): {'comment': 'Telesec object class',
+ 'description': 'directoryGroup (0 2 262 1 10 3 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 03',
+ 'name': 'directoryGroup',
+ 'oid': (0, 2, 262, 1, 10, 3, 3)},
+ (0, 2, 262, 1, 10, 3, 4): {'comment': 'Telesec object class',
+ 'description': 'directoryUser (0 2 262 1 10 3 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 04',
+ 'name': 'directoryUser',
+ 'oid': (0, 2, 262, 1, 10, 3, 4)},
+ (0, 2, 262, 1, 10, 3, 5): {'comment': 'Telesec object class',
+ 'description': 'symmetricKeyEntry (0 2 262 1 10 3 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 03 05',
+ 'name': 'symmetricKeyEntry',
+ 'oid': (0, 2, 262, 1, 10, 3, 5)},
+ (0, 2, 262, 1, 10, 4): {'comment': 'Telesec',
+ 'description': 'package (0 2 262 1 10 4)',
+ 'hexoid': '06 06 02 82 06 01 0A 04',
+ 'name': 'package',
+ 'oid': (0, 2, 262, 1, 10, 4)},
+ (0, 2, 262, 1, 10, 5): {'comment': 'Telesec',
+ 'description': 'parameter (0 2 262 1 10 5)',
+ 'hexoid': '06 06 02 82 06 01 0A 05',
+ 'name': 'parameter',
+ 'oid': (0, 2, 262, 1, 10, 5)},
+ (0, 2, 262, 1, 10, 6): {'comment': 'Telesec',
+ 'description': 'nameBinding (0 2 262 1 10 6)',
+ 'hexoid': '06 06 02 82 06 01 0A 06',
+ 'name': 'nameBinding',
+ 'oid': (0, 2, 262, 1, 10, 6)},
+ (0, 2, 262, 1, 10, 7, 0): {'comment': 'Telesec attribute',
+ 'description': 'applicationGroupIdentifier (0 2 262 1 10 7 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 00',
+ 'name': 'applicationGroupIdentifier',
+ 'oid': (0, 2, 262, 1, 10, 7, 0)},
+ (0, 2, 262, 1, 10, 7, 2): {'comment': 'Telesec attribute',
+ 'description': 'telesecCertificate (0 2 262 1 10 7 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 02',
+ 'name': 'telesecCertificate',
+ 'oid': (0, 2, 262, 1, 10, 7, 2)},
+ (0, 2, 262, 1, 10, 7, 3): {'comment': 'Telesec attribute',
+ 'description': 'certificateNumber (0 2 262 1 10 7 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 03',
+ 'name': 'certificateNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 3)},
+ (0, 2, 262, 1, 10, 7, 5): {'comment': 'Telesec attribute',
+ 'description': 'creationDate (0 2 262 1 10 7 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 05',
+ 'name': 'creationDate',
+ 'oid': (0, 2, 262, 1, 10, 7, 5)},
+ (0, 2, 262, 1, 10, 7, 6): {'comment': 'Telesec attribute',
+ 'description': 'issuer (0 2 262 1 10 7 6)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 06',
+ 'name': 'issuer',
+ 'oid': (0, 2, 262, 1, 10, 7, 6)},
+ (0, 2, 262, 1, 10, 7, 7): {'comment': 'Telesec attribute',
+ 'description': 'namingAuthority (0 2 262 1 10 7 7)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 07',
+ 'name': 'namingAuthority',
+ 'oid': (0, 2, 262, 1, 10, 7, 7)},
+ (0, 2, 262, 1, 10, 7, 8): {'comment': 'Telesec attribute',
+ 'description': 'publicKeyDirectory (0 2 262 1 10 7 8)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 08',
+ 'name': 'publicKeyDirectory',
+ 'oid': (0, 2, 262, 1, 10, 7, 8)},
+ (0, 2, 262, 1, 10, 7, 9): {'comment': 'Telesec attribute',
+ 'description': 'securityDomain (0 2 262 1 10 7 9)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 09',
+ 'name': 'securityDomain',
+ 'oid': (0, 2, 262, 1, 10, 7, 9)},
+ (0, 2, 262, 1, 10, 7, 10): {'comment': 'Telesec attribute',
+ 'description': 'subject (0 2 262 1 10 7 10)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0A',
+ 'name': 'subject',
+ 'oid': (0, 2, 262, 1, 10, 7, 10)},
+ (0, 2, 262, 1, 10, 7, 11): {'comment': 'Telesec attribute',
+ 'description': 'timeOfRevocation (0 2 262 1 10 7 11)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0B',
+ 'name': 'timeOfRevocation',
+ 'oid': (0, 2, 262, 1, 10, 7, 11)},
+ (0, 2, 262, 1, 10, 7, 12): {'comment': 'Telesec attribute',
+ 'description': 'userGroupReference (0 2 262 1 10 7 12)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0C',
+ 'name': 'userGroupReference',
+ 'oid': (0, 2, 262, 1, 10, 7, 12)},
+ (0, 2, 262, 1, 10, 7, 13): {'comment': 'Telesec attribute',
+ 'description': 'validity (0 2 262 1 10 7 13)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0D',
+ 'name': 'validity',
+ 'oid': (0, 2, 262, 1, 10, 7, 13)},
+ (0, 2, 262, 1, 10, 7, 14): {'comment': 'Telesec attribute',
+ 'description': 'zert93 (0 2 262 1 10 7 14)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0E',
+ 'name': 'zert93',
+ 'oid': (0, 2, 262, 1, 10, 7, 14)},
+ (0, 2, 262, 1, 10, 7, 15): {'comment': 'Telesec attribute',
+ 'description': 'securityMessEnv (0 2 262 1 10 7 15)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 0F',
+ 'name': 'securityMessEnv',
+ 'oid': (0, 2, 262, 1, 10, 7, 15)},
+ (0, 2, 262, 1, 10, 7, 16): {'comment': 'Telesec attribute',
+ 'description': 'anonymizedPublicKeyDirectory (0 2 262 1 10 7 16)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 10',
+ 'name': 'anonymizedPublicKeyDirectory',
+ 'oid': (0, 2, 262, 1, 10, 7, 16)},
+ (0, 2, 262, 1, 10, 7, 17): {'comment': 'Telesec attribute',
+ 'description': 'telesecGivenName (0 2 262 1 10 7 17)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 11',
+ 'name': 'telesecGivenName',
+ 'oid': (0, 2, 262, 1, 10, 7, 17)},
+ (0, 2, 262, 1, 10, 7, 18): {'comment': 'Telesec attribute',
+ 'description': 'nameAdditions (0 2 262 1 10 7 18)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 12',
+ 'name': 'nameAdditions',
+ 'oid': (0, 2, 262, 1, 10, 7, 18)},
+ (0, 2, 262, 1, 10, 7, 19): {'comment': 'Telesec attribute',
+ 'description': 'telesecPostalCode (0 2 262 1 10 7 19)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 13',
+ 'name': 'telesecPostalCode',
+ 'oid': (0, 2, 262, 1, 10, 7, 19)},
+ (0, 2, 262, 1, 10, 7, 20): {'comment': 'Telesec attribute',
+ 'description': 'nameDistinguisher (0 2 262 1 10 7 20)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 14',
+ 'name': 'nameDistinguisher',
+ 'oid': (0, 2, 262, 1, 10, 7, 20)},
+ (0, 2, 262, 1, 10, 7, 21): {'comment': 'Telesec attribute',
+ 'description': 'telesecCertificateList (0 2 262 1 10 7 21)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 15',
+ 'name': 'telesecCertificateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 21)},
+ (0, 2, 262, 1, 10, 7, 22): {'comment': 'Telesec attribute',
+ 'description': 'teletrustCertificateList (0 2 262 1 10 7 22)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 16',
+ 'name': 'teletrustCertificateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 22)},
+ (0, 2, 262, 1, 10, 7, 23): {'comment': 'Telesec attribute',
+ 'description': 'x509CertificateList (0 2 262 1 10 7 23)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 17',
+ 'name': 'x509CertificateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 23)},
+ (0, 2, 262, 1, 10, 7, 24): {'comment': 'Telesec attribute',
+ 'description': 'timeOfIssue (0 2 262 1 10 7 24)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 18',
+ 'name': 'timeOfIssue',
+ 'oid': (0, 2, 262, 1, 10, 7, 24)},
+ (0, 2, 262, 1, 10, 7, 25): {'comment': 'Telesec attribute',
+ 'description': 'physicalCardNumber (0 2 262 1 10 7 25)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 19',
+ 'name': 'physicalCardNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 25)},
+ (0, 2, 262, 1, 10, 7, 26): {'comment': 'Telesec attribute',
+ 'description': 'fileType (0 2 262 1 10 7 26)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1A',
+ 'name': 'fileType',
+ 'oid': (0, 2, 262, 1, 10, 7, 26)},
+ (0, 2, 262, 1, 10, 7, 27): {'comment': 'Telesec attribute',
+ 'description': 'ctlFileIsArchive (0 2 262 1 10 7 27)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1B',
+ 'name': 'ctlFileIsArchive',
+ 'oid': (0, 2, 262, 1, 10, 7, 27)},
+ (0, 2, 262, 1, 10, 7, 29): {'comment': 'Telesec attribute',
+ 'description': 'certificateTemplateList (0 2 262 1 10 7 29)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1D',
+ 'name': 'certificateTemplateList',
+ 'oid': (0, 2, 262, 1, 10, 7, 29)},
+ (0, 2, 262, 1, 10, 7, 30): {'comment': 'Telesec attribute',
+ 'description': 'directoryName (0 2 262 1 10 7 30)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1E',
+ 'name': 'directoryName',
+ 'oid': (0, 2, 262, 1, 10, 7, 30)},
+ (0, 2, 262, 1, 10, 7, 31): {'comment': 'Telesec attribute',
+ 'description': 'directoryTypeName (0 2 262 1 10 7 31)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 1F',
+ 'name': 'directoryTypeName',
+ 'oid': (0, 2, 262, 1, 10, 7, 31)},
+ (0, 2, 262, 1, 10, 7, 32): {'comment': 'Telesec attribute',
+ 'description': 'directoryGroupName (0 2 262 1 10 7 32)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 20',
+ 'name': 'directoryGroupName',
+ 'oid': (0, 2, 262, 1, 10, 7, 32)},
+ (0, 2, 262, 1, 10, 7, 33): {'comment': 'Telesec attribute',
+ 'description': 'directoryUserName (0 2 262 1 10 7 33)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 21',
+ 'name': 'directoryUserName',
+ 'oid': (0, 2, 262, 1, 10, 7, 33)},
+ (0, 2, 262, 1, 10, 7, 34): {'comment': 'Telesec attribute',
+ 'description': 'revocationFlag (0 2 262 1 10 7 34)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 22',
+ 'name': 'revocationFlag',
+ 'oid': (0, 2, 262, 1, 10, 7, 34)},
+ (0, 2, 262, 1, 10, 7, 35): {'comment': 'Telesec attribute',
+ 'description': 'symmetricKeyEntryName (0 2 262 1 10 7 35)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 23',
+ 'name': 'symmetricKeyEntryName',
+ 'oid': (0, 2, 262, 1, 10, 7, 35)},
+ (0, 2, 262, 1, 10, 7, 36): {'comment': 'Telesec attribute',
+ 'description': 'glNumber (0 2 262 1 10 7 36)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 24',
+ 'name': 'glNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 36)},
+ (0, 2, 262, 1, 10, 7, 37): {'comment': 'Telesec attribute',
+ 'description': 'goNumber (0 2 262 1 10 7 37)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 25',
+ 'name': 'goNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 37)},
+ (0, 2, 262, 1, 10, 7, 38): {'comment': 'Telesec attribute',
+ 'description': 'gKeyData (0 2 262 1 10 7 38)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 26',
+ 'name': 'gKeyData',
+ 'oid': (0, 2, 262, 1, 10, 7, 38)},
+ (0, 2, 262, 1, 10, 7, 39): {'comment': 'Telesec attribute',
+ 'description': 'zKeyData (0 2 262 1 10 7 39)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 27',
+ 'name': 'zKeyData',
+ 'oid': (0, 2, 262, 1, 10, 7, 39)},
+ (0, 2, 262, 1, 10, 7, 40): {'comment': 'Telesec attribute',
+ 'description': 'ktKeyData (0 2 262 1 10 7 40)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 28',
+ 'name': 'ktKeyData',
+ 'oid': (0, 2, 262, 1, 10, 7, 40)},
+ (0, 2, 262, 1, 10, 7, 41): {'comment': 'Telesec attribute',
+ 'description': 'ktKeyNumber (0 2 262 1 10 7 41)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 2A',
+ 'name': 'ktKeyNumber',
+ 'oid': (0, 2, 262, 1, 10, 7, 41)},
+ (0, 2, 262, 1, 10, 7, 51): {'comment': 'Telesec attribute',
+ 'description': 'timeOfRevocationGen (0 2 262 1 10 7 51)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 33',
+ 'name': 'timeOfRevocationGen',
+ 'oid': (0, 2, 262, 1, 10, 7, 51)},
+ (0, 2, 262, 1, 10, 7, 52): {'comment': 'Telesec attribute',
+ 'description': 'liabilityText (0 2 262 1 10 7 52)',
+ 'hexoid': '06 07 02 82 06 01 0A 07 34',
+ 'name': 'liabilityText',
+ 'oid': (0, 2, 262, 1, 10, 7, 52)},
+ (0, 2, 262, 1, 10, 8): {'comment': 'Telesec',
+ 'description': 'attributeGroup (0 2 262 1 10 8)',
+ 'hexoid': '06 06 02 82 06 01 0A 08',
+ 'name': 'attributeGroup',
+ 'oid': (0, 2, 262, 1, 10, 8)},
+ (0, 2, 262, 1, 10, 9): {'comment': 'Telesec',
+ 'description': 'action (0 2 262 1 10 9)',
+ 'hexoid': '06 06 02 82 06 01 0A 09',
+ 'name': 'action',
+ 'oid': (0, 2, 262, 1, 10, 9)},
+ (0, 2, 262, 1, 10, 10): {'comment': 'Telesec',
+ 'description': 'notification (0 2 262 1 10 10)',
+ 'hexoid': '06 06 02 82 06 01 0A 0A',
+ 'name': 'notification',
+ 'oid': (0, 2, 262, 1, 10, 10)},
+ (0, 2, 262, 1, 10, 11): {'comment': 'Telesec',
+ 'description': 'snmp-mibs (0 2 262 1 10 11)',
+ 'hexoid': '06 06 02 82 06 01 0A 0B',
+ 'name': 'snmp-mibs',
+ 'oid': (0, 2, 262, 1, 10, 11)},
+ (0, 2, 262, 1, 10, 11, 1): {'comment': 'Telesec SNMP MIBs',
+ 'description': 'securityApplication (0 2 262 1 10 11 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 0B 01',
+ 'name': 'securityApplication',
+ 'oid': (0, 2, 262, 1, 10, 11, 1)},
+ (0, 2, 262, 1, 10, 12): {'comment': 'Telesec',
+ 'description': 'certAndCrlExtensionDefinitions (0 2 262 1 10 12)',
+ 'hexoid': '06 06 02 82 06 01 0A 0C',
+ 'name': 'certAndCrlExtensionDefinitions',
+ 'oid': (0, 2, 262, 1, 10, 12)},
+ (0, 2, 262, 1, 10, 12, 0): {'comment': 'Telesec cert/CRL extension',
+ 'description': 'certExtensionLiabilityLimitationExt (0 2 262 1 10 12 0)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 00',
+ 'name': 'certExtensionLiabilityLimitationExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 0)},
+ (0, 2, 262, 1, 10, 12, 1): {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecCertIdExt (0 2 262 1 10 12 1)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 01',
+ 'name': 'telesecCertIdExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 1)},
+ (0, 2, 262, 1, 10, 12, 2): {'comment': 'Telesec cert/CRL extension',
+ 'description': 'Telesec policyIdentifier (0 2 262 1 10 12 2)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 02',
+ 'name': 'Telesec policyIdentifier',
+ 'oid': (0, 2, 262, 1, 10, 12, 2)},
+ (0, 2, 262, 1, 10, 12, 3): {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecPolicyQualifierID (0 2 262 1 10 12 3)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 03',
+ 'name': 'telesecPolicyQualifierID',
+ 'oid': (0, 2, 262, 1, 10, 12, 3)},
+ (0, 2, 262, 1, 10, 12, 4): {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecCRLFilteredExt (0 2 262 1 10 12 4)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 04',
+ 'name': 'telesecCRLFilteredExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 4)},
+ (0, 2, 262, 1, 10, 12, 5): {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecCRLFilterExt (0 2 262 1 10 12 5)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 05',
+ 'name': 'telesecCRLFilterExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 5)},
+ (0, 2, 262, 1, 10, 12, 6): {'comment': 'Telesec cert/CRL extension',
+ 'description': 'telesecNamingAuthorityExt (0 2 262 1 10 12 6)',
+ 'hexoid': '06 07 02 82 06 01 0A 0C 06',
+ 'name': 'telesecNamingAuthorityExt',
+ 'oid': (0, 2, 262, 1, 10, 12, 6)},
+ (0, 9, 2342, 19200300, 100, 1, 1): {'comment': 'Some oddball X.500 attribute collection',
+ 'description': 'userID (0 9 2342 19200300 100 1 1)',
+ 'hexoid': '06 0A 09 92 26 89 93 F2 2C 64 01 01',
+ 'name': 'userID',
+ 'oid': (0, 9, 2342, 19200300, 100, 1, 1)},
+ (0, 9, 2342, 19200300, 100, 1, 3): {'comment': 'Some oddball X.500 attribute collection',
+ 'description': 'rfc822Mailbox (0 9 2342 19200300 100 1 3)',
+ 'hexoid': '06 0A 09 92 26 89 93 F2 2C 64 01 03',
+ 'name': 'rfc822Mailbox',
+ 'oid': (0, 9, 2342, 19200300, 100, 1, 3)},
+ (0, 9, 2342, 19200300, 100, 1, 25): {'comment': 'Men are from Mars, this OID is from Pluto',
+ 'description': 'domainComponent (0 9 2342 19200300 100 1 25)',
+ 'hexoid': '06 0A 09 92 26 89 93 F2 2C 64 01 19',
+ 'name': 'domainComponent',
+ 'oid': (0,
+ 9,
+ 2342,
+ 19200300,
+ 100,
+ 1,
+ 25)},
+ (1, 2, 36, 68980861, 1, 1, 2): {'comment': 'Signet CA',
+ 'description': 'Signet personal (1 2 36 68980861 1 1 2)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 02',
+ 'name': 'Signet personal',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 2)},
+ (1, 2, 36, 68980861, 1, 1, 3): {'comment': 'Signet CA',
+ 'description': 'Signet business (1 2 36 68980861 1 1 3)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 03',
+ 'name': 'Signet business',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 3)},
+ (1, 2, 36, 68980861, 1, 1, 4): {'comment': 'Signet CA',
+ 'description': 'Signet legal (1 2 36 68980861 1 1 4)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 04',
+ 'name': 'Signet legal',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 4)},
+ (1, 2, 36, 68980861, 1, 1, 10): {'comment': 'Signet CA',
+ 'description': 'Signet pilot (1 2 36 68980861 1 1 10)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 0A',
+ 'name': 'Signet pilot',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 10)},
+ (1, 2, 36, 68980861, 1, 1, 11): {'comment': 'Signet CA',
+ 'description': 'Signet intraNet (1 2 36 68980861 1 1 11)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 0B',
+ 'name': 'Signet intraNet',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 11)},
+ (1, 2, 36, 68980861, 1, 1, 20): {'comment': 'Signet CA',
+ 'description': 'Signet policyIdentifier (1 2 36 68980861 1 1 20)',
+ 'hexoid': '06 09 2A 24 A0 F2 A0 7D 01 01 14',
+ 'name': 'Signet policyIdentifier',
+ 'oid': (1, 2, 36, 68980861, 1, 1, 20)},
+ (1, 2, 36, 75878867, 1, 100, 1, 1): {'comment': 'Certificates Australia CA',
+ 'description': 'Certificates Australia policyIdentifier (1 2 36 75878867 1 100 1 1)',
+ 'hexoid': '06 0A 2A 24 A4 97 A3 53 01 64 01 01',
+ 'name': 'Certificates Australia policyIdentifier',
+ 'oid': (1,
+ 2,
+ 36,
+ 75878867,
+ 1,
+ 100,
+ 1,
+ 1)},
+ (1, 2, 392, 200011, 61, 1, 1, 1): {'comment': 'Mitsubishi security algorithm',
+ 'description': 'symmetric-encryption-algorithm (1 2 392 200011 61 1 1 1)',
+ 'hexoid': '06 0B 2A 83 08 8C 1A 4B 3D 01 01 01',
+ 'name': 'symmetric-encryption-algorithm',
+ 'oid': (1, 2, 392, 200011, 61, 1, 1, 1)},
+ (1, 2, 392, 200011, 61, 1, 1, 1, 1): {'comment': 'Mitsubishi security algorithm',
+ 'description': 'misty1-cbc (1 2 392 200011 61 1 1 1 1)',
+ 'hexoid': '06 0C 2A 83 08 8C 9A 4B 3D 01 01 01 01',
+ 'name': 'misty1-cbc',
+ 'oid': (1,
+ 2,
+ 392,
+ 200011,
+ 61,
+ 1,
+ 1,
+ 1,
+ 1)},
+ (1, 2, 752, 34, 1): {'comment': 'SEIS Project',
+ 'description': 'seis-cp (1 2 752 34 1)',
+ 'hexoid': '06 05 2A 85 70 22 01',
+ 'name': 'seis-cp',
+ 'oid': (1, 2, 752, 34, 1)},
+ (1, 2, 752, 34, 1, 1): {'comment': 'SEIS Project certificate policies',
+ 'description': 'SEIS high-assurance policyIdentifier (1 2 752 34 1 1)',
+ 'hexoid': '06 06 2A 85 70 22 01 01',
+ 'name': 'SEIS high-assurance policyIdentifier',
+ 'oid': (1, 2, 752, 34, 1, 1)},
+ (1, 2, 752, 34, 1, 2): {'comment': 'SEIS Project certificate policies',
+ 'description': 'SEIS GAK policyIdentifier (1 2 752 34 1 2)',
+ 'hexoid': '06 06 2A 85 70 22 01 02',
+ 'name': 'SEIS GAK policyIdentifier',
+ 'oid': (1, 2, 752, 34, 1, 2)},
+ (1, 2, 752, 34, 2): {'comment': 'SEIS Project',
+ 'description': 'SEIS pe (1 2 752 34 2)',
+ 'hexoid': '06 05 2A 85 70 22 02',
+ 'name': 'SEIS pe',
+ 'oid': (1, 2, 752, 34, 2)},
+ (1, 2, 752, 34, 3): {'comment': 'SEIS Project',
+ 'description': 'SEIS at (1 2 752 34 3)',
+ 'hexoid': '06 05 2A 85 70 22 03',
+ 'name': 'SEIS at',
+ 'oid': (1, 2, 752, 34, 3)},
+ (1, 2, 752, 34, 3, 1): {'comment': 'SEIS Project attribute',
+ 'description': 'SEIS at-personalIdentifier (1 2 752 34 3 1)',
+ 'hexoid': '06 06 2A 85 70 22 03 01',
+ 'name': 'SEIS at-personalIdentifier',
+ 'oid': (1, 2, 752, 34, 3, 1)},
+ (1, 2, 840, 10040, 1, 1): {'comment': 'ANSI X9.57 module',
+ 'description': 'x9f1-cert-mgmt (1 2 840 10040 1 1)',
+ 'hexoid': '06 07 2A 86 48 CE 38 01 01',
+ 'name': 'x9f1-cert-mgmt',
+ 'oid': (1, 2, 840, 10040, 1, 1)},
+ (1, 2, 840, 10040, 2): {'comment': 'ANSI X9.57',
+ 'description': 'holdinstruction (1 2 840 10040 2)',
+ 'hexoid': '06 06 2A 86 48 CE 38 02',
+ 'name': 'holdinstruction',
+ 'oid': (1, 2, 840, 10040, 2)},
+ (1, 2, 840, 10040, 2, 1): {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'holdinstruction-none (1 2 840 10040 2 1)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 01',
+ 'name': 'holdinstruction-none',
+ 'oid': (1, 2, 840, 10040, 2, 1)},
+ (1, 2, 840, 10040, 2, 2): {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'callissuer (1 2 840 10040 2 2)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 02',
+ 'name': 'callissuer',
+ 'oid': (1, 2, 840, 10040, 2, 2)},
+ (1, 2, 840, 10040, 2, 3): {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'reject (1 2 840 10040 2 3)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 03',
+ 'name': 'reject',
+ 'oid': (1, 2, 840, 10040, 2, 3)},
+ (1, 2, 840, 10040, 2, 4): {'comment': 'ANSI X9.57 hold instruction',
+ 'description': 'pickupToken (1 2 840 10040 2 4)',
+ 'hexoid': '06 07 2A 86 48 CE 38 02 04',
+ 'name': 'pickupToken',
+ 'oid': (1, 2, 840, 10040, 2, 4)},
+ (1, 2, 840, 10040, 3, 2): {'comment': 'ANSI X9.57 attribute',
+ 'description': 'attribute-cert (1 2 840 10040 3 2)',
+ 'hexoid': '06 06 2A 86 48 CE 38 03 02',
+ 'name': 'attribute-cert',
+ 'oid': (1, 2, 840, 10040, 3, 2)},
+ (1, 2, 840, 10040, 4, 1): {'comment': 'ANSI X9.57 algorithm',
+ 'description': 'dsa (1 2 840 10040 4 1)',
+ 'hexoid': '06 07 2A 86 48 CE 38 04 01',
+ 'name': 'dsa',
+ 'oid': (1, 2, 840, 10040, 4, 1)},
+ (1, 2, 840, 10040, 4, 2): {'comment': 'ANSI X9.57 algorithm',
+ 'description': 'dsa-match (1 2 840 10040 4 2)',
+ 'hexoid': '06 07 2A 86 48 CE 38 04 02',
+ 'name': 'dsa-match',
+ 'oid': (1, 2, 840, 10040, 4, 2)},
+ (1, 2, 840, 10040, 4, 3): {'comment': 'ANSI X9.57 algorithm',
+ 'description': 'dsaWithSha1 (1 2 840 10040 4 3)',
+ 'hexoid': '06 07 2A 86 48 CE 38 04 03',
+ 'name': 'dsaWithSha1',
+ 'oid': (1, 2, 840, 10040, 4, 3)},
+ (1, 2, 840, 10045, 1, 1): {'comment': 'ANSI X9.62 field type',
+ 'description': 'prime-field (1 2 840 10045 1 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3D 01 01',
+ 'name': 'prime-field',
+ 'oid': (1, 2, 840, 10045, 1, 1)},
+ (1, 2, 840, 10045, 1, 2): {'comment': 'ANSI X9.62 field type',
+ 'description': 'characteristic-two-field (1 2 840 10045 1 2)',
+ 'hexoid': '06 07 2A 86 48 CE 3D 01 02',
+ 'name': 'characteristic-two-field',
+ 'oid': (1, 2, 840, 10045, 1, 2)},
+ (1, 2, 840, 10045, 1, 2, 3): {'comment': 'ANSI X9.62 field type',
+ 'description': 'characteristic-two-basis (1 2 840 10045 1 2 3)',
+ 'hexoid': '06 09 2A 86 48 CE 3D 01 02 03',
+ 'name': 'characteristic-two-basis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3)},
+ (1, 2, 840, 10045, 1, 2, 3, 1): {'comment': 'ANSI X9.62 field basis',
+ 'description': 'onBasis (1 2 840 10045 1 2 3 1)',
+ 'hexoid': '06 0A 2A 86 48 CE 3D 01 02 03 01',
+ 'name': 'onBasis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3, 1)},
+ (1, 2, 840, 10045, 1, 2, 3, 2): {'comment': 'ANSI X9.62 field basis',
+ 'description': 'tpBasis (1 2 840 10045 1 2 3 2)',
+ 'hexoid': '06 0A 2A 86 48 CE 3D 01 02 03 02',
+ 'name': 'tpBasis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3, 2)},
+ (1, 2, 840, 10045, 1, 2, 3, 3): {'comment': 'ANSI X9.62 field basis',
+ 'description': 'ppBasis (1 2 840 10045 1 2 3 3)',
+ 'hexoid': '06 0A 2A 86 48 CE 3D 01 02 03 03',
+ 'name': 'ppBasis',
+ 'oid': (1, 2, 840, 10045, 1, 2, 3, 3)},
+ (1, 2, 840, 10045, 2): {'comment': 'ANSI X9.62',
+ 'description': 'publicKeyType (1 2 840 10045 2)',
+ 'hexoid': '06 06 2A 86 48 CE 3D 02',
+ 'name': 'publicKeyType',
+ 'oid': (1, 2, 840, 10045, 2)},
+ (1, 2, 840, 10045, 2, 1): {'comment': 'ANSI X9.62 public key type',
+ 'description': 'ecPublicKey (1 2 840 10045 2 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3D 02 01',
+ 'name': 'ecPublicKey',
+ 'oid': (1, 2, 840, 10045, 2, 1)},
+ (1, 2, 840, 10046, 1): {'comment': 'ANSI X9.42',
+ 'description': 'fieldType (1 2 840 10046 1)',
+ 'hexoid': '06 06 2A 86 48 CE 3E 01',
+ 'name': 'fieldType',
+ 'oid': (1, 2, 840, 10046, 1)},
+ (1, 2, 840, 10046, 1, 1): {'comment': 'ANSI X9.42 field type',
+ 'description': 'gf-prime (1 2 840 10046 1 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 01 01',
+ 'name': 'gf-prime',
+ 'oid': (1, 2, 840, 10046, 1, 1)},
+ (1, 2, 840, 10046, 2): {'comment': 'ANSI X9.42',
+ 'description': 'numberType (1 2 840 10046 2)',
+ 'hexoid': '06 06 2A 86 48 CE 3E 02',
+ 'name': 'numberType',
+ 'oid': (1, 2, 840, 10046, 2)},
+ (1, 2, 840, 10046, 2, 1): {'comment': 'ANSI X9.42 number type',
+ 'description': 'dhPublicKey (1 2 840 10046 2 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 02 01',
+ 'name': 'dhPublicKey',
+ 'oid': (1, 2, 840, 10046, 2, 1)},
+ (1, 2, 840, 10046, 3): {'comment': 'ANSI X9.42',
+ 'description': 'scheme (1 2 840 10046 3)',
+ 'hexoid': '06 06 2A 86 48 CE 3E 03',
+ 'name': 'scheme',
+ 'oid': (1, 2, 840, 10046, 3)},
+ (1, 2, 840, 10046, 3, 1): {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhStatic (1 2 840 10046 3 1)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 01',
+ 'name': 'dhStatic',
+ 'oid': (1, 2, 840, 10046, 3, 1)},
+ (1, 2, 840, 10046, 3, 2): {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhEphem (1 2 840 10046 3 2)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 02',
+ 'name': 'dhEphem',
+ 'oid': (1, 2, 840, 10046, 3, 2)},
+ (1, 2, 840, 10046, 3, 3): {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhHybrid1 (1 2 840 10046 3 3)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 03',
+ 'name': 'dhHybrid1',
+ 'oid': (1, 2, 840, 10046, 3, 3)},
+ (1, 2, 840, 10046, 3, 4): {'comment': 'ANSI X9.42 scheme',
+ 'description': 'dhHybrid2 (1 2 840 10046 3 4)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 04',
+ 'name': 'dhHybrid2',
+ 'oid': (1, 2, 840, 10046, 3, 4)},
+ (1, 2, 840, 10046, 3, 5): {'comment': 'ANSI X9.42 scheme',
+ 'description': 'mqv2 (1 2 840 10046 3 5)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 05',
+ 'name': 'mqv2',
+ 'oid': (1, 2, 840, 10046, 3, 5)},
+ (1, 2, 840, 10046, 3, 6): {'comment': 'ANSI X9.42 scheme',
+ 'description': 'mqv1 (1 2 840 10046 3 6)',
+ 'hexoid': '06 07 2A 86 48 CE 3E 03 06',
+ 'name': 'mqv1',
+ 'oid': (1, 2, 840, 10046, 3, 6)},
+ (1, 2, 840, 113533, 7, 65): {'comment': 'Nortel Secure Networks ce (1 2 840 113533 7 65)',
+ 'description': 'nsn-ce (1 2 840 113533 7 65)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 41 00',
+ 'name': 'nsn-ce',
+ 'oid': (1, 2, 840, 113533, 7, 65)},
+ (1, 2, 840, 113533, 7, 66): {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'nsn-alg (1 2 840 113533 7 66)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 03',
+ 'name': 'nsn-alg',
+ 'oid': (1, 2, 840, 113533, 7, 66)},
+ (1, 2, 840, 113533, 7, 66, 3): {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'cast3CBC (1 2 840 113533 7 66 3)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0A',
+ 'name': 'cast3CBC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 3)},
+ (1, 2, 840, 113533, 7, 66, 10): {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'cast5CBC (1 2 840 113533 7 66 10)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0B',
+ 'name': 'cast5CBC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 10)},
+ (1, 2, 840, 113533, 7, 66, 11): {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'cast5MAC (1 2 840 113533 7 66 11)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0C',
+ 'name': 'cast5MAC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 11)},
+ (1, 2, 840, 113533, 7, 66, 12): {'comment': 'Nortel Secure Networks alg (1 2 840 113533 7 66)',
+ 'description': 'pbeWithMD5AndCAST5-CBC (1 2 840 113533 7 66 12)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 42 0D',
+ 'name': 'pbeWithMD5AndCAST5-CBC',
+ 'oid': (1, 2, 840, 113533, 7, 66, 12)},
+ (1, 2, 840, 113533, 7, 67): {'comment': 'Nortel Secure Networks oc (1 2 840 113533 7 67)',
+ 'description': 'nsn-oc (1 2 840 113533 7 67)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 43 0C',
+ 'name': 'nsn-oc',
+ 'oid': (1, 2, 840, 113533, 7, 67)},
+ (1, 2, 840, 113533, 7, 68): {'comment': 'Nortel Secure Networks at (1 2 840 113533 7 68)',
+ 'description': 'nsn-at (1 2 840 113533 7 68)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 44 00',
+ 'name': 'nsn-at',
+ 'oid': (1, 2, 840, 113533, 7, 68)},
+ (1, 2, 840, 113533, 7, 68, 0): {'comment': 'Nortel Secure Networks at (1 2 840 113533 7 68)',
+ 'description': 'entrustCAInfo (1 2 840 113533 7 68 0)',
+ 'hexoid': '06 09 2A 86 48 86 F6 7D 07 44 0A',
+ 'name': 'entrustCAInfo',
+ 'oid': (1, 2, 840, 113533, 7, 68, 0)},
+ (1, 2, 840, 113549, 1, 1): {'comment': 'PKCS #1',
+ 'description': 'pkcs-1 (1 2 840 113549 1 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 01',
+ 'name': 'pkcs-1',
+ 'oid': (1, 2, 840, 113549, 1, 1)},
+ (1, 2, 840, 113549, 1, 1, 1): {'comment': 'PKCS #1',
+ 'description': 'rsaEncryption (1 2 840 113549 1 1 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 02',
+ 'name': 'rsaEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 1)},
+ (1, 2, 840, 113549, 1, 1, 2): {'comment': 'PKCS #1',
+ 'description': 'md2withRSAEncryption (1 2 840 113549 1 1 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 03',
+ 'name': 'md2withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 2)},
+ (1, 2, 840, 113549, 1, 1, 3): {'comment': 'PKCS #1',
+ 'description': 'md4withRSAEncryption (1 2 840 113549 1 1 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 04',
+ 'name': 'md4withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 3)},
+ (1, 2, 840, 113549, 1, 1, 4): {'comment': 'PKCS #1',
+ 'description': 'md5withRSAEncryption (1 2 840 113549 1 1 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 05',
+ 'name': 'md5withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 4)},
+ (1, 2, 840, 113549, 1, 1, 5): {'comment': 'PKCS #1. This OID may also be assigned as ripemd160WithRSAEncryption',
+ 'description': 'sha1withRSAEncryption (1 2 840 113549 1 1 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 01 06',
+ 'name': 'sha1withRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 5)},
+ (1, 2, 840, 113549, 1, 1, 6): {'comment': 'Obsolete BSAFE OID',
+ 'description': 'ripemd160WithRSAEncryption (1 2 840 113549 1 1 6)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 01 01',
+ 'name': 'ripemd160WithRSAEncryption',
+ 'oid': (1, 2, 840, 113549, 1, 1, 6)},
+ (1, 2, 840, 113549, 1, 3): {'comment': 'PKCS #3',
+ 'description': 'pkcs-3 (1 2 840 113549 1 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 03 01',
+ 'name': 'pkcs-3',
+ 'oid': (1, 2, 840, 113549, 1, 3)},
+ (1, 2, 840, 113549, 1, 5): {'comment': 'PKCS #5',
+ 'description': 'pkcs-5 (1 2 840 113549 1 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 01',
+ 'name': 'pkcs-5',
+ 'oid': (1, 2, 840, 113549, 1, 5)},
+ (1, 2, 840, 113549, 1, 5, 1): {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD2AndDES-CBC (1 2 840 113549 1 5 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 03',
+ 'name': 'pbeWithMD2AndDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 1)},
+ (1, 2, 840, 113549, 1, 5, 3): {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD5AndDES-CBC (1 2 840 113549 1 5 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 04',
+ 'name': 'pbeWithMD5AndDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 3)},
+ (1, 2, 840, 113549, 1, 5, 4): {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD2AndRC2-CBC (1 2 840 113549 1 5 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 06',
+ 'name': 'pbeWithMD2AndRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 4)},
+ (1, 2, 840, 113549, 1, 5, 6): {'comment': 'PKCS #5, used in BSAFE only',
+ 'description': 'pbeWithMD5AndRC2-CBC (1 2 840 113549 1 5 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 09',
+ 'name': 'pbeWithMD5AndRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 6)},
+ (1, 2, 840, 113549, 1, 5, 9): {'comment': 'PKCS #5',
+ 'description': 'pbeWithMD5AndXOR (1 2 840 113549 1 5 9)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0A',
+ 'name': 'pbeWithMD5AndXOR',
+ 'oid': (1, 2, 840, 113549, 1, 5, 9)},
+ (1, 2, 840, 113549, 1, 5, 10): {'comment': 'PKCS #5 v2.0',
+ 'description': 'pbeWithSHAAndDES-CBC (1 2 840 113549 1 5 10)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0C',
+ 'name': 'pbeWithSHAAndDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 5, 10)},
+ (1, 2, 840, 113549, 1, 5, 12): {'comment': 'PKCS #5 v2.0',
+ 'description': 'pkcs5PBKDF2 (1 2 840 113549 1 5 12)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0D',
+ 'name': 'pkcs5PBKDF2',
+ 'oid': (1, 2, 840, 113549, 1, 5, 12)},
+ (1, 2, 840, 113549, 1, 5, 13): {'comment': 'PKCS #5 v2.0',
+ 'description': 'pkcs5PBES2 (1 2 840 113549 1 5 13)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 05 0E',
+ 'name': 'pkcs5PBES2',
+ 'oid': (1, 2, 840, 113549, 1, 5, 13)},
+ (1, 2, 840, 113549, 1, 7): {'comment': 'PKCS #7',
+ 'description': 'pkcs-7 (1 2 840 113549 1 7)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 01',
+ 'name': 'pkcs-7',
+ 'oid': (1, 2, 840, 113549, 1, 7)},
+ (1, 2, 840, 113549, 1, 7, 1): {'comment': 'PKCS #7',
+ 'description': 'data (1 2 840 113549 1 7 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 02',
+ 'name': 'data',
+ 'oid': (1, 2, 840, 113549, 1, 7, 1)},
+ (1, 2, 840, 113549, 1, 7, 2): {'comment': 'PKCS #7',
+ 'description': 'signedData (1 2 840 113549 1 7 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 03',
+ 'name': 'signedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 2)},
+ (1, 2, 840, 113549, 1, 7, 3): {'comment': 'PKCS #7',
+ 'description': 'envelopedData (1 2 840 113549 1 7 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 04',
+ 'name': 'envelopedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 3)},
+ (1, 2, 840, 113549, 1, 7, 4): {'comment': 'PKCS #7',
+ 'description': 'signedAndEnvelopedData (1 2 840 113549 1 7 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 05',
+ 'name': 'signedAndEnvelopedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 4)},
+ (1, 2, 840, 113549, 1, 7, 5): {'comment': 'PKCS #7',
+ 'description': 'digestedData (1 2 840 113549 1 7 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 06',
+ 'name': 'digestedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 5)},
+ (1, 2, 840, 113549, 1, 7, 6): {'comment': 'PKCS #7 experimental',
+ 'description': 'encryptedData (1 2 840 113549 1 7 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 07',
+ 'name': 'encryptedData',
+ 'oid': (1, 2, 840, 113549, 1, 7, 6)},
+ (1, 2, 840, 113549, 1, 7, 7): {'comment': 'PKCS #7 experimental',
+ 'description': 'dataWithAttributes (1 2 840 113549 1 7 7)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 07 08',
+ 'name': 'dataWithAttributes',
+ 'oid': (1, 2, 840, 113549, 1, 7, 7)},
+ (1, 2, 840, 113549, 1, 9): {'comment': 'PKCS #9 (1 2 840 113549 1 9). Deprecated, use an altName extension instead',
+ 'description': 'pkcs-9 (1 2 840 113549 1 9)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 01',
+ 'name': 'pkcs-9',
+ 'oid': (1, 2, 840, 113549, 1, 9)},
+ (1, 2, 840, 113549, 1, 9, 1): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'emailAddress (1 2 840 113549 1 9 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 02',
+ 'name': 'emailAddress',
+ 'oid': (1, 2, 840, 113549, 1, 9, 1)},
+ (1, 2, 840, 113549, 1, 9, 2): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'unstructuredName (1 2 840 113549 1 9 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 03',
+ 'name': 'unstructuredName',
+ 'oid': (1, 2, 840, 113549, 1, 9, 2)},
+ (1, 2, 840, 113549, 1, 9, 3): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'contentType (1 2 840 113549 1 9 3)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 04',
+ 'name': 'contentType',
+ 'oid': (1, 2, 840, 113549, 1, 9, 3)},
+ (1, 2, 840, 113549, 1, 9, 4): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'messageDigest (1 2 840 113549 1 9 4)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 05',
+ 'name': 'messageDigest',
+ 'oid': (1, 2, 840, 113549, 1, 9, 4)},
+ (1, 2, 840, 113549, 1, 9, 5): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'signingTime (1 2 840 113549 1 9 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 06',
+ 'name': 'signingTime',
+ 'oid': (1, 2, 840, 113549, 1, 9, 5)},
+ (1, 2, 840, 113549, 1, 9, 6): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'countersignature (1 2 840 113549 1 9 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 07',
+ 'name': 'countersignature',
+ 'oid': (1, 2, 840, 113549, 1, 9, 6)},
+ (1, 2, 840, 113549, 1, 9, 7): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'challengePassword (1 2 840 113549 1 9 7)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 08',
+ 'name': 'challengePassword',
+ 'oid': (1, 2, 840, 113549, 1, 9, 7)},
+ (1, 2, 840, 113549, 1, 9, 8): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'unstructuredAddress (1 2 840 113549 1 9 8)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 09',
+ 'name': 'unstructuredAddress',
+ 'oid': (1, 2, 840, 113549, 1, 9, 8)},
+ (1, 2, 840, 113549, 1, 9, 9): {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'extendedCertificateAttributes (1 2 840 113549 1 9 9)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0A',
+ 'name': 'extendedCertificateAttributes',
+ 'oid': (1, 2, 840, 113549, 1, 9, 9)},
+ (1, 2, 840, 113549, 1, 9, 10): {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'issuerAndSerialNumber (1 2 840 113549 1 9 10)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0B',
+ 'name': 'issuerAndSerialNumber',
+ 'oid': (1, 2, 840, 113549, 1, 9, 10)},
+ (1, 2, 840, 113549, 1, 9, 11): {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'passwordCheck (1 2 840 113549 1 9 11)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0C',
+ 'name': 'passwordCheck',
+ 'oid': (1, 2, 840, 113549, 1, 9, 11)},
+ (1, 2, 840, 113549, 1, 9, 12): {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'publicKey (1 2 840 113549 1 9 12)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0D',
+ 'name': 'publicKey',
+ 'oid': (1, 2, 840, 113549, 1, 9, 12)},
+ (1, 2, 840, 113549, 1, 9, 13): {'comment': 'PKCS #9 (1 2 840 113549 1 9) experimental',
+ 'description': 'signingDescription (1 2 840 113549 1 9 13)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0E',
+ 'name': 'signingDescription',
+ 'oid': (1, 2, 840, 113549, 1, 9, 13)},
+ (1, 2, 840, 113549, 1, 9, 14): {'comment': 'PKCS #9 (1 2 840 113549 1 9). This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name',
+ 'description': 'extensionReq (1 2 840 113549 1 9 14)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 0F',
+ 'name': 'extensionReq',
+ 'oid': (1, 2, 840, 113549, 1, 9, 14)},
+ (1, 2, 840, 113549, 1, 9, 15): {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15)',
+ 'description': 'sMIMECapabilities (1 2 840 113549 1 9 15)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 01',
+ 'name': 'sMIMECapabilities',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15)},
+ (1, 2, 840, 113549, 1, 9, 15, 1): {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15)',
+ 'description': 'preferSignedData (1 2 840 113549 1 9 15 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 02',
+ 'name': 'preferSignedData',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 1)},
+ (1, 2, 840, 113549, 1, 9, 15, 2): {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 1) instead',
+ 'description': 'canNotDecryptAny (1 2 840 113549 1 9 15 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 03',
+ 'name': 'canNotDecryptAny',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 2)},
+ (1, 2, 840, 113549, 1, 9, 15, 3): {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 1 1) instead',
+ 'description': 'receiptRequest (1 2 840 113549 1 9 15 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 04',
+ 'name': 'receiptRequest',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 3)},
+ (1, 2, 840, 113549, 1, 9, 15, 4): {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 4) instead',
+ 'description': 'receipt (1 2 840 113549 1 9 15 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 05',
+ 'name': 'receipt',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 4)},
+ (1, 2, 840, 113549, 1, 9, 15, 5): {'comment': 'sMIMECapabilities (1 2 840 113549 1 9 15). Deprecated, use (1 2 840 113549 1 9 16 2 3) instead',
+ 'description': 'contentHints (1 2 840 113549 1 9 15 5)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 0F 06',
+ 'name': 'contentHints',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 5)},
+ (1, 2, 840, 113549, 1, 9, 15, 6): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'mlExpansionHistory (1 2 840 113549 1 9 15 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 10',
+ 'name': 'mlExpansionHistory',
+ 'oid': (1, 2, 840, 113549, 1, 9, 15, 6)},
+ (1, 2, 840, 113549, 1, 9, 16): {'comment': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'description': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 10 00',
+ 'name': 'id-sMIME',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16)},
+ (1, 2, 840, 113549, 1, 9, 16, 0): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod (1 2 840 113549 1 9 16 0)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 01',
+ 'name': 'id-mod',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 0)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 1): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-cms (1 2 840 113549 1 9 16 0 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 02',
+ 'name': 'id-mod-cms',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 2): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ess (1 2 840 113549 1 9 16 0 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 03',
+ 'name': 'id-mod-ess',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 2)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 3): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-oid (1 2 840 113549 1 9 16 0 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 04',
+ 'name': 'id-mod-oid',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 3)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 4): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-msg-v3 (1 2 840 113549 1 9 16 0 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 05',
+ 'name': 'id-mod-msg-v3',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 4)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 5): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ets-eSignature-88 (1 2 840 113549 1 9 16 0 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 06',
+ 'name': 'id-mod-ets-eSignature-88',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 5)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 6): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ets-eSignature-97 (1 2 840 113549 1 9 16 0 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 07',
+ 'name': 'id-mod-ets-eSignature-97',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 6)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 7): {'comment': 'S/MIME Modules (1 2 840 113549 1 9 16 0)',
+ 'description': 'id-mod-ets-eSigPolicy-88 (1 2 840 113549 1 9 16 0 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 00 08',
+ 'name': 'id-mod-ets-eSigPolicy-88',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 7)},
+ (1, 2, 840, 113549, 1, 9, 16, 0, 8): {'comment': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'description': 'id-mod-ets-eSigPolicy-97 (1 2 840 113549 1 9 16 0 8)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 10 01',
+ 'name': 'id-mod-ets-eSigPolicy-97',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 0,
+ 8)},
+ (1, 2, 840, 113549, 1, 9, 16, 1): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct (1 2 840 113549 1 9 16 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 01',
+ 'name': 'id-ct',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 1): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-receipt (1 2 840 113549 1 9 16 1 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 02',
+ 'name': 'id-ct-receipt',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 2): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-authData (1 2 840 113549 1 9 16 1 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 03',
+ 'name': 'id-ct-authData',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 2)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 3): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-publishCert (1 2 840 113549 1 9 16 1 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 04',
+ 'name': 'id-ct-publishCert',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 3)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 4): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-TSTInfo (1 2 840 113549 1 9 16 1 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 05',
+ 'name': 'id-ct-TSTInfo',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 4)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 5): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-TDTInfo (1 2 840 113549 1 9 16 1 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 06',
+ 'name': 'id-ct-TDTInfo',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 5)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 6): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-contentInfo (1 2 840 113549 1 9 16 1 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 07',
+ 'name': 'id-ct-contentInfo',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 6)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 7): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-DVCSRequestData (1 2 840 113549 1 9 16 1 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 08',
+ 'name': 'id-ct-DVCSRequestData',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 7)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 8): {'comment': 'S/MIME Content Types (1 2 840 113549 1 9 16 1)',
+ 'description': 'id-ct-DVCSResponseData (1 2 840 113549 1 9 16 1 8)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 01 07',
+ 'name': 'id-ct-DVCSResponseData',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 8)},
+ (1, 2, 840, 113549, 1, 9, 16, 1, 9): {'comment': 'id-sMIME (1 2 840 113549 1 9 16)',
+ 'description': 'id-ct-compressedData (1 2 840 113549 1 9 16 1 9)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 10 02',
+ 'name': 'id-ct-compressedData',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 1,
+ 9)},
+ (1, 2, 840, 113549, 1, 9, 16, 2): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa (1 2 840 113549 1 9 16 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 01',
+ 'name': 'id-aa',
+ 'oid': (1, 2, 840, 113549, 1, 9, 16, 2)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 1): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-receiptRequest (1 2 840 113549 1 9 16 2 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 02',
+ 'name': 'id-aa-receiptRequest',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 2): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-securityLabel (1 2 840 113549 1 9 16 2 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 03',
+ 'name': 'id-aa-securityLabel',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 2)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 3): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-mlExpandHistory (1 2 840 113549 1 9 16 2 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 04',
+ 'name': 'id-aa-mlExpandHistory',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 3)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 4): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-contentHint (1 2 840 113549 1 9 16 2 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 05',
+ 'name': 'id-aa-contentHint',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 4)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 5): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2). Obsolete',
+ 'description': 'id-aa-msgSigDigest (1 2 840 113549 1 9 16 2 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 06',
+ 'name': 'id-aa-msgSigDigest',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 5)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 6): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-encapContentType (1 2 840 113549 1 9 16 2 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 07',
+ 'name': 'id-aa-encapContentType',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 6)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 7): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2). Obsolete',
+ 'description': 'id-aa-contentIdentifier (1 2 840 113549 1 9 16 2 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 08',
+ 'name': 'id-aa-contentIdentifier',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 7)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 8): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-macValue (1 2 840 113549 1 9 16 2 8)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 09',
+ 'name': 'id-aa-macValue',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 8)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 9): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-equivalentLabels (1 2 840 113549 1 9 16 2 9)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0A',
+ 'name': 'id-aa-equivalentLabels',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 9)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 10): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-contentReference (1 2 840 113549 1 9 16 2 10)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0B',
+ 'name': 'id-aa-contentReference',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 10)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 11): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-encrypKeyPref (1 2 840 113549 1 9 16 2 11)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0C',
+ 'name': 'id-aa-encrypKeyPref',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 11)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 12): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-signingCertificate (1 2 840 113549 1 9 16 2 12)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0D',
+ 'name': 'id-aa-signingCertificate',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 12)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 13): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-smimeEncryptCerts (1 2 840 113549 1 9 16 2 13)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0E',
+ 'name': 'id-aa-smimeEncryptCerts',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 13)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 14): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-timeStampToken (1 2 840 113549 1 9 16 2 14)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 0F',
+ 'name': 'id-aa-timeStampToken',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 14)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 15): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-sigPolicyId (1 2 840 113549 1 9 16 2 15)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 10',
+ 'name': 'id-aa-ets-sigPolicyId',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 15)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 16): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-commitmentType (1 2 840 113549 1 9 16 2 16)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 11',
+ 'name': 'id-aa-ets-commitmentType',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 16)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 17): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-signerLocation (1 2 840 113549 1 9 16 2 17)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 12',
+ 'name': 'id-aa-ets-signerLocation',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 17)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 18): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-signerAttr (1 2 840 113549 1 9 16 2 18)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 13',
+ 'name': 'id-aa-ets-signerAttr',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 18)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 19): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-otherSigCert (1 2 840 113549 1 9 16 2 19)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 14',
+ 'name': 'id-aa-ets-otherSigCert',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 19)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 20): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-contentTimestamp (1 2 840 113549 1 9 16 2 20)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 15',
+ 'name': 'id-aa-ets-contentTimestamp',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 20)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 21): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-CertificateRefs (1 2 840 113549 1 9 16 2 21)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 16',
+ 'name': 'id-aa-ets-CertificateRefs',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 21)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 22): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-RevocationRefs (1 2 840 113549 1 9 16 2 22)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 17',
+ 'name': 'id-aa-ets-RevocationRefs',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 22)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 23): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-certValues (1 2 840 113549 1 9 16 2 23)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 18',
+ 'name': 'id-aa-ets-certValues',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 23)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 24): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-revocationValues (1 2 840 113549 1 9 16 2 24)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 19',
+ 'name': 'id-aa-ets-revocationValues',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 24)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 25): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-escTimeStamp (1 2 840 113549 1 9 16 2 25)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1A',
+ 'name': 'id-aa-ets-escTimeStamp',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 25)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 26): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-certCRLTimestamp (1 2 840 113549 1 9 16 2 26)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1B',
+ 'name': 'id-aa-ets-certCRLTimestamp',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 26)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 27): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-ets-archiveTimeStamp (1 2 840 113549 1 9 16 2 27)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1C',
+ 'name': 'id-aa-ets-archiveTimeStamp',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 27)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 28): {'comment': 'S/MIME Authenticated Attributes (1 2 840 113549 1 9 16 2)',
+ 'description': 'id-aa-signatureType (1 2 840 113549 1 9 16 2 28)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 02 1D',
+ 'name': 'id-aa-signatureType',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 28)},
+ (1, 2, 840, 113549, 1, 9, 16, 2, 29): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-aa-dvcs-dvc (1 2 840 113549 1 9 16 2 29)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 01',
+ 'name': 'id-aa-dvcs-dvc',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 2,
+ 29)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 1): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-alg-ESDHwith3DES (1 2 840 113549 1 9 16 3 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 02',
+ 'name': 'id-alg-ESDHwith3DES',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 2): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-alg-ESDHwithRC2 (1 2 840 113549 1 9 16 3 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 03',
+ 'name': 'id-alg-ESDHwithRC2',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 2)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 3): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3). Obsolete',
+ 'description': 'id-alg-3DESwrap (1 2 840 113549 1 9 16 3 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 04',
+ 'name': 'id-alg-3DESwrap',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 3)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 4): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-RC2wrap (1 2 840 113549 1 9 16 3 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 05',
+ 'name': 'id-alg-RC2wrap',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 4)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 5): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-ESDH (1 2 840 113549 1 9 16 3 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 06',
+ 'name': 'id-alg-ESDH',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 5)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 6): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-CMS3DESwrap (1 2 840 113549 1 9 16 3 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 07',
+ 'name': 'id-alg-CMS3DESwrap',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 6)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 7): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-CMSRC2wrap (1 2 840 113549 1 9 16 3 7)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 08',
+ 'name': 'id-alg-CMSRC2wrap',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 7)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 8): {'comment': 'S/MIME Algorithms (1 2 840 113549 1 9 16 3)',
+ 'description': 'id-alg-zlib (1 2 840 113549 1 9 16 3 8)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 03 09',
+ 'name': 'id-alg-zlib',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 8)},
+ (1, 2, 840, 113549, 1, 9, 16, 3, 9): {'comment': 'S/MIME Certificate Distribution (1 2 840 113549 1 9 16 4)',
+ 'description': 'id-alg-PWRI-KEK (1 2 840 113549 1 9 16 3 9)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 04 01',
+ 'name': 'id-alg-PWRI-KEK',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 3,
+ 9)},
+ (1, 2, 840, 113549, 1, 9, 16, 4, 1): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 5)',
+ 'description': 'id-cd-ldap (1 2 840 113549 1 9 16 4 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 05 01',
+ 'name': 'id-cd-ldap',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 4,
+ 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 5, 1): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 5)',
+ 'description': 'id-spq-ets-sqt-uri (1 2 840 113549 1 9 16 5 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 05 02',
+ 'name': 'id-spq-ets-sqt-uri',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 5,
+ 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 5, 2): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-spq-ets-sqt-unotice (1 2 840 113549 1 9 16 5 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 01',
+ 'name': 'id-spq-ets-sqt-unotice',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 5,
+ 2)},
+ (1, 2, 840, 113549, 1, 9, 16, 6, 1): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfOrigin (1 2 840 113549 1 9 16 6 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 02',
+ 'name': 'id-cti-ets-proofOfOrigin',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 6,
+ 1)},
+ (1, 2, 840, 113549, 1, 9, 16, 6, 2): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfReceipt (1 2 840 113549 1 9 16 6 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 03',
+ 'name': 'id-cti-ets-proofOfReceipt',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 6,
+ 2)},
+ (1, 2, 840, 113549, 1, 9, 16, 6, 3): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfDelivery (1 2 840 113549 1 9 16 6 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 04',
+ 'name': 'id-cti-ets-proofOfDelivery',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 6,
+ 3)},
+ (1, 2, 840, 113549, 1, 9, 16, 6, 4): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfSender (1 2 840 113549 1 9 16 6 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 05',
+ 'name': 'id-cti-ets-proofOfSender',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 6,
+ 4)},
+ (1, 2, 840, 113549, 1, 9, 16, 6, 5): {'comment': 'S/MIME Signature Policy Qualifier (1 2 840 113549 1 9 16 6)',
+ 'description': 'id-cti-ets-proofOfApproval (1 2 840 113549 1 9 16 6 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 09 10 06 06',
+ 'name': 'id-cti-ets-proofOfApproval',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 6,
+ 5)},
+ (1, 2, 840, 113549, 1, 9, 16, 6, 6): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'id-cti-ets-proofOfCreation (1 2 840 113549 1 9 16 6 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 14',
+ 'name': 'id-cti-ets-proofOfCreation',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 9,
+ 16,
+ 6,
+ 6)},
+ (1, 2, 840, 113549, 1, 9, 20): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'friendlyName (for PKCS #12) (1 2 840 113549 1 9 20)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 15',
+ 'name': 'friendlyName',
+ 'oid': (1, 2, 840, 113549, 1, 9, 20)},
+ (1, 2, 840, 113549, 1, 9, 21): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'localKeyID (for PKCS #12) (1 2 840 113549 1 9 21)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 16',
+ 'name': 'localKeyID',
+ 'oid': (1, 2, 840, 113549, 1, 9, 21)},
+ (1, 2, 840, 113549, 1, 9, 22): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'certTypes (for PKCS #12) (1 2 840 113549 1 9 22)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 16 01',
+ 'name': 'certTypes',
+ 'oid': (1, 2, 840, 113549, 1, 9, 22)},
+ (1, 2, 840, 113549, 1, 9, 22, 1): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'x509Certificate (for PKCS #12) (1 2 840 113549 1 9 22 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 16 02',
+ 'name': 'x509Certificate',
+ 'oid': (1, 2, 840, 113549, 1, 9, 22, 1)},
+ (1, 2, 840, 113549, 1, 9, 22, 2): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'sdsiCertificate (for PKCS #12) (1 2 840 113549 1 9 22 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 09 17',
+ 'name': 'sdsiCertificate',
+ 'oid': (1, 2, 840, 113549, 1, 9, 22, 2)},
+ (1, 2, 840, 113549, 1, 9, 23): {'comment': 'PKCS #9 (1 2 840 113549 1 9)',
+ 'description': 'crlTypes (for PKCS #12) (1 2 840 113549 1 9 23)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 09 17 01',
+ 'name': 'crlTypes',
+ 'oid': (1, 2, 840, 113549, 1, 9, 23)},
+ (1, 2, 840, 113549, 1, 12): {'comment': 'This OID was formerly assigned as PKCS #12 modeID',
+ 'description': 'pkcs-12 (1 2 840 113549 1 12)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0C 01',
+ 'name': 'pkcs-12',
+ 'oid': (1, 2, 840, 113549, 1, 12)},
+ (1, 2, 840, 113549, 1, 12, 1): {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 1). This OID was formerly assigned as pkcs-12-OfflineTransportMode',
+ 'description': 'pkcs-12-PbeIds (1 2 840 113549 1 12 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 01',
+ 'name': 'pkcs-12-PbeIds',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1)},
+ (1, 2, 840, 113549, 1, 12, 1, 1): {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 2). This OID was formerly assigned as pkcs-12-OnlineTransportMode',
+ 'description': 'pbeWithSHAAnd128BitRC4 (1 2 840 113549 1 12 1 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 02',
+ 'name': 'pbeWithSHAAnd128BitRC4',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 1)},
+ (1, 2, 840, 113549, 1, 12, 1, 2): {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd40BitRC4 (1 2 840 113549 1 12 1 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 03',
+ 'name': 'pbeWithSHAAnd40BitRC4',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 2)},
+ (1, 2, 840, 113549, 1, 12, 1, 3): {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd3-KeyTripleDES-CBC (1 2 840 113549 1 12 1 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 04',
+ 'name': 'pbeWithSHAAnd3-KeyTripleDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 3)},
+ (1, 2, 840, 113549, 1, 12, 1, 4): {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd2-KeyTripleDES-CBC (1 2 840 113549 1 12 1 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 05',
+ 'name': 'pbeWithSHAAnd2-KeyTripleDES-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 4)},
+ (1, 2, 840, 113549, 1, 12, 1, 5): {'comment': 'PKCS #12 PbeIds (1 2 840 113549 1 12 3)',
+ 'description': 'pbeWithSHAAnd128BitRC2-CBC (1 2 840 113549 1 12 1 5)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 01 06',
+ 'name': 'pbeWithSHAAnd128BitRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 5)},
+ (1, 2, 840, 113549, 1, 12, 1, 6): {'comment': 'Deprecated',
+ 'description': 'pbeWithSHAAnd40BitRC2-CBC (1 2 840 113549 1 12 1 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0C 02',
+ 'name': 'pbeWithSHAAnd40BitRC2-CBC',
+ 'oid': (1, 2, 840, 113549, 1, 12, 1, 6)},
+ (1, 2, 840, 113549, 1, 12, 2): {'comment': 'PKCS #12 ESPVKID (1 2 840 113549 1 12 2). Deprecated, use (1 2 840 113549 1 12 3 5) instead',
+ 'description': 'pkcs-12-ESPVKID (1 2 840 113549 1 12 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 02 01',
+ 'name': 'pkcs-12-ESPVKID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 2)},
+ (1, 2, 840, 113549, 1, 12, 3): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-BagIds (1 2 840 113549 1 12 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 01',
+ 'name': 'pkcs-12-BagIds',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3)},
+ (1, 2, 840, 113549, 1, 12, 3, 1): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-keyBagId (1 2 840 113549 1 12 3 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 02',
+ 'name': 'pkcs-12-keyBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 1)},
+ (1, 2, 840, 113549, 1, 12, 3, 2): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-certAndCRLBagId (1 2 840 113549 1 12 3 2)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 03',
+ 'name': 'pkcs-12-certAndCRLBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 2)},
+ (1, 2, 840, 113549, 1, 12, 3, 3): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-secretBagId (1 2 840 113549 1 12 3 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 04',
+ 'name': 'pkcs-12-secretBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 3)},
+ (1, 2, 840, 113549, 1, 12, 3, 4): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 3)',
+ 'description': 'pkcs-12-safeContentsId (1 2 840 113549 1 12 3 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 03 05',
+ 'name': 'pkcs-12-safeContentsId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 4)},
+ (1, 2, 840, 113549, 1, 12, 3, 5): {'comment': 'Deprecated',
+ 'description': 'pkcs-12-pkcs-8ShroudedKeyBagId (1 2 840 113549 1 12 3 5)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0C 04',
+ 'name': 'pkcs-12-pkcs-8ShroudedKeyBagId',
+ 'oid': (1, 2, 840, 113549, 1, 12, 3, 5)},
+ (1, 2, 840, 113549, 1, 12, 4): {'comment': 'PKCS #12 CertBagID (1 2 840 113549 1 12 4). This OID was formerly assigned as pkcs-12-X509CertCRLBag',
+ 'description': 'pkcs-12-CertBagID (1 2 840 113549 1 12 4)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 04 01',
+ 'name': 'pkcs-12-CertBagID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 4)},
+ (1, 2, 840, 113549, 1, 12, 4, 1): {'comment': 'PKCS #12 CertBagID (1 2 840 113549 1 12 4). This OID was formerly assigned as pkcs-12-SDSICertBag',
+ 'description': 'pkcs-12-X509CertCRLBagID (1 2 840 113549 1 12 4 1)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 04 02',
+ 'name': 'pkcs-12-X509CertCRLBagID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 4, 1)},
+ (1, 2, 840, 113549, 1, 12, 5): {'comment': 'PKCS #12 OID (1 2 840 113549 1 12 5). Deprecated, use the partially compatible (1 2 840 113549 1 12 1) OIDs instead',
+ 'description': 'pkcs-12-OID (1 2 840 113549 1 12 5)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0C 05 01',
+ 'name': 'pkcs-12-OID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5)},
+ (1, 2, 840, 113549, 1, 12, 5, 1): {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 1) instead',
+ 'description': 'pkcs-12-PBEID (1 2 840 113549 1 12 5 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 01',
+ 'name': 'pkcs-12-PBEID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5, 1)},
+ (1, 2, 840, 113549, 1, 12, 5, 1, 1): {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 2) instead',
+ 'description': 'pkcs-12-PBEWithSha1And128BitRC4 (1 2 840 113549 1 12 5 1 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 02',
+ 'name': 'pkcs-12-PBEWithSha1And128BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 1)},
+ (1, 2, 840, 113549, 1, 12, 5, 1, 2): {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). 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-PBEWithSha1And40BitRC4 (1 2 840 113549 1 12 5 1 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 03',
+ 'name': 'pkcs-12-PBEWithSha1And40BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 2)},
+ (1, 2, 840, 113549, 1, 12, 5, 1, 3): {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 5) instead',
+ 'description': 'pkcs-12-PBEWithSha1AndTripleDESCBC (1 2 840 113549 1 12 5 1 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 04',
+ 'name': 'pkcs-12-PBEWithSha1AndTripleDESCBC',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 3)},
+ (1, 2, 840, 113549, 1, 12, 5, 1, 4): {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). Deprecated, use (1 2 840 113549 1 12 1 6) instead',
+ 'description': 'pkcs-12-PBEWithSha1And128BitRC2CBC (1 2 840 113549 1 12 5 1 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 05',
+ 'name': 'pkcs-12-PBEWithSha1And128BitRC2CBC',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 4)},
+ (1, 2, 840, 113549, 1, 12, 5, 1, 5): {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). 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-PBEWithSha1And40BitRC2CBC (1 2 840 113549 1 12 5 1 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 06',
+ 'name': 'pkcs-12-PBEWithSha1And40BitRC2CBC',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 5)},
+ (1, 2, 840, 113549, 1, 12, 5, 1, 6): {'comment': 'PKCS #12 OID PBEID (1 2 840 113549 1 12 5 1). 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-PBEWithSha1AndRC4 (1 2 840 113549 1 12 5 1 6)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 01 07',
+ 'name': 'pkcs-12-PBEWithSha1AndRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 1,
+ 6)},
+ (1, 2, 840, 113549, 1, 12, 5, 2): {'comment': 'PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 02 01',
+ 'name': 'pkcs-12-EnvelopingID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5, 2)},
+ (1, 2, 840, 113549, 1, 12, 5, 2, 1): {'comment': 'PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-RSAEncryptionWith128BitRC4 (1 2 840 113549 1 12 5 2 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 02 02',
+ 'name': 'pkcs-12-RSAEncryptionWith128BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 2,
+ 1)},
+ (1, 2, 840, 113549, 1, 12, 5, 2, 2): {'comment': 'PKCS #12 OID EnvelopingID (1 2 840 113549 1 12 5 2). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-RSAEncryptionWith40BitRC4 (1 2 840 113549 1 12 5 2 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 02 03',
+ 'name': 'pkcs-12-RSAEncryptionWith40BitRC4',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 5,
+ 2,
+ 2)},
+ (1, 2, 840, 113549, 1, 12, 5, 3): {'comment': 'PKCS #12 OID SignatureID (1 2 840 113549 1 12 5 3). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'description': 'pkcs-12-SignatureID (1 2 840 113549 1 12 5 3). Deprecated, use the conventional PKCS #1 OIDs instead',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 05 03 01',
+ 'name': 'pkcs-12-SignatureID',
+ 'oid': (1, 2, 840, 113549, 1, 12, 5, 3)},
+ (1, 2, 840, 113549, 1, 12, 10, 1): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12BadIds (1 2 840 113549 1 12 10 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 01',
+ 'name': 'pkcs-12BadIds',
+ 'oid': (1, 2, 840, 113549, 1, 12, 10, 1)},
+ (1, 2, 840, 113549, 1, 12, 10, 1, 1): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-keyBag (1 2 840 113549 1 12 10 1 1)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 02',
+ 'name': 'pkcs-12-keyBag',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 10,
+ 1,
+ 1)},
+ (1, 2, 840, 113549, 1, 12, 10, 1, 2): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-pkcs-8ShroudedKeyBag (1 2 840 113549 1 12 10 1 2)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 03',
+ 'name': 'pkcs-12-pkcs-8ShroudedKeyBag',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 10,
+ 1,
+ 2)},
+ (1, 2, 840, 113549, 1, 12, 10, 1, 3): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-certBag (1 2 840 113549 1 12 10 1 3)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 04',
+ 'name': 'pkcs-12-certBag',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 10,
+ 1,
+ 3)},
+ (1, 2, 840, 113549, 1, 12, 10, 1, 4): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-crlBag (1 2 840 113549 1 12 10 1 4)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 05',
+ 'name': 'pkcs-12-crlBag',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 10,
+ 1,
+ 4)},
+ (1, 2, 840, 113549, 1, 12, 10, 1, 5): {'comment': 'PKCS #12 BagIds (1 2 840 113549 1 12 10 1)',
+ 'description': 'pkcs-12-secretBag (1 2 840 113549 1 12 10 1 5)',
+ 'hexoid': '06 0B 2A 86 48 86 F7 0D 01 0C 0A 01 06',
+ 'name': 'pkcs-12-secretBag',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 10,
+ 1,
+ 5)},
+ (1, 2, 840, 113549, 1, 12, 10, 1, 6): {'comment': 'PKCS #15',
+ 'description': 'pkcs-12-safeContentsBag (1 2 840 113549 1 12 10 1 6)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0F 01',
+ 'name': 'pkcs-12-safeContentsBag',
+ 'oid': (1,
+ 2,
+ 840,
+ 113549,
+ 1,
+ 12,
+ 10,
+ 1,
+ 6)},
+ (1, 2, 840, 113549, 1, 15, 1): {'comment': 'PKCS #15',
+ 'description': 'pkcs15modules (1 2 840 113549 1 15 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0F 02',
+ 'name': 'pkcs15modules',
+ 'oid': (1, 2, 840, 113549, 1, 15, 1)},
+ (1, 2, 840, 113549, 1, 15, 2): {'comment': 'PKCS #15',
+ 'description': 'pkcs15attributes (1 2 840 113549 1 15 2)',
+ 'hexoid': '06 09 2A 86 48 86 F7 0D 01 0F 03',
+ 'name': 'pkcs15attributes',
+ 'oid': (1, 2, 840, 113549, 1, 15, 2)},
+ (1, 2, 840, 113549, 1, 15, 3): {'comment': 'PKCS #15 content type',
+ 'description': 'pkcs15contentType (1 2 840 113549 1 15 3)',
+ 'hexoid': '06 0A 2A 86 48 86 F7 0D 01 0F 03 01',
+ 'name': 'pkcs15contentType',
+ 'oid': (1, 2, 840, 113549, 1, 15, 3)},
+ (1, 2, 840, 113549, 2): {'comment': 'RSADSI digestAlgorithm (1 2 840 113549 2)',
+ 'description': 'digestAlgorithm (1 2 840 113549 2)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 02 02',
+ 'name': 'digestAlgorithm',
+ 'oid': (1, 2, 840, 113549, 2)},
+ (1, 2, 840, 113549, 2, 2): {'comment': 'RSADSI digestAlgorithm (1 2 840 113549 2)',
+ 'description': 'md2 (1 2 840 113549 2 2)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 02 07',
+ 'name': 'md2',
+ 'oid': (1, 2, 840, 113549, 2, 2)},
+ (1, 2, 840, 113549, 3): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'encryptionAlgorithm (1 2 840 113549 3)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 02',
+ 'name': 'encryptionAlgorithm',
+ 'oid': (1, 2, 840, 113549, 3)},
+ (1, 2, 840, 113549, 3, 2): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc2CBC (1 2 840 113549 3 2)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 03',
+ 'name': 'rc2CBC',
+ 'oid': (1, 2, 840, 113549, 3, 2)},
+ (1, 2, 840, 113549, 3, 3): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc2ECB (1 2 840 113549 3 3)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 04',
+ 'name': 'rc2ECB',
+ 'oid': (1, 2, 840, 113549, 3, 3)},
+ (1, 2, 840, 113549, 3, 4): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc4 (1 2 840 113549 3 4)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 05',
+ 'name': 'rc4',
+ 'oid': (1, 2, 840, 113549, 3, 4)},
+ (1, 2, 840, 113549, 3, 5): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc4WithMAC (1 2 840 113549 3 5)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 06',
+ 'name': 'rc4WithMAC',
+ 'oid': (1, 2, 840, 113549, 3, 5)},
+ (1, 2, 840, 113549, 3, 6): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'desx-CBC (1 2 840 113549 3 6)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 07',
+ 'name': 'desx-CBC',
+ 'oid': (1, 2, 840, 113549, 3, 6)},
+ (1, 2, 840, 113549, 3, 7): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'des-EDE3-CBC (1 2 840 113549 3 7)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 08',
+ 'name': 'des-EDE3-CBC',
+ 'oid': (1, 2, 840, 113549, 3, 7)},
+ (1, 2, 840, 113549, 3, 8): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3)',
+ 'description': 'rc5CBC (1 2 840 113549 3 8)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 09',
+ 'name': 'rc5CBC',
+ 'oid': (1, 2, 840, 113549, 3, 8)},
+ (1, 2, 840, 113549, 3, 9): {'comment': 'RSADSI encryptionAlgorithm (1 2 840 113549 3). Formerly called CDMFCBCPad',
+ 'description': 'rc5-CBCPad (1 2 840 113549 3 9)',
+ 'hexoid': '06 08 2A 86 48 86 F7 0D 03 0A',
+ 'name': 'rc5-CBCPad',
+ 'oid': (1, 2, 840, 113549, 3, 9)},
+ (1, 2, 840, 113549, 3, 10): {'comment': 'Identrus',
+ 'description': 'desCDMF (1 2 840 113549 3 10)',
+ 'hexoid': '06 09 2A 86 48 86 FA 65 01 06 01',
+ 'name': 'desCDMF',
+ 'oid': (1, 2, 840, 113549, 3, 10)},
+ (1, 2, 840, 113556, 1, 2, 241): {'comment': 'Microsoft',
+ 'description': 'deliveryMechanism (1 2 840 113556 1 2 241)',
+ 'hexoid': '06 08 2A 86 48 86 F7 14 04 03',
+ 'name': 'deliveryMechanism',
+ 'oid': (1, 2, 840, 113556, 1, 2, 241)},
+ (1, 2, 840, 113556, 1, 3, 0): {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'site-Addressing (1 2 840 113556 1 3 00)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 0D',
+ 'name': 'site-Addressing',
+ 'oid': (1, 2, 840, 113556, 1, 3, 0)},
+ (1, 2, 840, 113556, 1, 3, 13): {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'classSchema (1 2 840 113556 1 3 13)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 0E',
+ 'name': 'classSchema',
+ 'oid': (1, 2, 840, 113556, 1, 3, 13)},
+ (1, 2, 840, 113556, 1, 3, 14): {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'attributeSchema (1 2 840 113556 1 3 14)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 11',
+ 'name': 'attributeSchema',
+ 'oid': (1, 2, 840, 113556, 1, 3, 14)},
+ (1, 2, 840, 113556, 1, 3, 22): {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'mailbox (1 2 840 113556 1 3 22)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 17',
+ 'name': 'mailbox',
+ 'oid': (1, 2, 840, 113556, 1, 3, 22)},
+ (1, 2, 840, 113556, 1, 3, 23): {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'container (1 2 840 113556 1 3 23)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 2E',
+ 'name': 'container',
+ 'oid': (1, 2, 840, 113556, 1, 3, 23)},
+ (1, 2, 840, 113556, 1, 3, 46): {'comment': 'Microsoft Exchange Server - attribute',
+ 'description': 'mailRecipient (1 2 840 113556 1 3 46)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 02 81 71',
+ 'name': 'mailRecipient',
+ 'oid': (1, 2, 840, 113556, 1, 3, 46)},
+ (1, 2, 840, 113556, 1, 3, 174): {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'mailbox-Agent (1 2 840 113556 1 3 174)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 16',
+ 'name': 'mailbox-Agent',
+ 'oid': (1, 2, 840, 113556, 1, 3, 174)},
+ (1, 2, 840, 113556, 4, 3): {'comment': 'Microsoft',
+ 'description': 'microsoftExcel (1 2 840 113556 4 3)',
+ 'hexoid': '06 08 2A 86 48 86 F7 14 04 04',
+ 'name': 'microsoftExcel',
+ 'oid': (1, 2, 840, 113556, 4, 3)},
+ (1, 2, 840, 113556, 4, 4): {'comment': 'Microsoft',
+ 'description': 'titledWithOID (1 2 840 113556 4 4)',
+ 'hexoid': '06 08 2A 86 48 86 F7 14 04 05',
+ 'name': 'titledWithOID',
+ 'oid': (1, 2, 840, 113556, 4, 4)},
+ (1, 2, 840, 113556, 4, 5): {'comment': 'Microsoft code signing',
+ 'description': 'microsoftPowerPoint (1 2 840 113556 4 5)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 04',
+ 'name': 'microsoftPowerPoint',
+ 'oid': (1, 2, 840, 113556, 4, 5)},
+ (1, 2, 840, 114021, 1, 6, 1): {'comment': 'Identrus',
+ 'description': 'Identrus unknown policyIdentifier (1 2 840 114021 1 6 1)',
+ 'hexoid': '06 08 2A 86 48 86 FA 65 04 01',
+ 'name': 'Identrus unknown policyIdentifier',
+ 'oid': (1, 2, 840, 114021, 1, 6, 1)},
+ (1, 2, 840, 114021, 4, 1): {'comment': 'Ascom Systech',
+ 'description': 'identrusOCSP (1 2 840 114021 4 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 81 3C 07 01 01',
+ 'name': 'identrusOCSP',
+ 'oid': (1, 2, 840, 114021, 4, 1)},
+ (1, 3, 6, 1, 4, 1, 188, 7, 1, 1): {'comment': 'Microsoft Exchange Server - object class',
+ 'description': 'ascom (1 3 6 1 4 1 188 7 1 1)',
+ 'hexoid': '06 09 2A 86 48 86 F7 14 01 03 00',
+ 'name': 'ascom',
+ 'oid': (1, 3, 6, 1, 4, 1, 188, 7, 1, 1)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 4): {'comment': 'Microsoft code signing. Also known as policyLink',
+ 'description': 'spcIndirectDataContext (1 3 6 1 4 1 311 2 1 4)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0A',
+ 'name': 'spcIndirectDataContext',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 4)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 10): {'comment': 'Microsoft code signing',
+ 'description': 'spcAgencyInfo (1 3 6 1 4 1 311 2 1 10)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0B',
+ 'name': 'spcAgencyInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 10)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 11): {'comment': 'Microsoft code signing',
+ 'description': 'spcStatementType (1 3 6 1 4 1 311 2 1 11)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0C',
+ 'name': 'spcStatementType',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 11)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 12): {'comment': 'Microsoft',
+ 'description': 'spcSpOpusInfo (1 3 6 1 4 1 311 2 1 12)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0E',
+ 'name': 'spcSpOpusInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 12)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 14): {'comment': 'Microsoft code signing',
+ 'description': 'certReqExtensions (1 3 6 1 4 1 311 2 1 14)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 0F',
+ 'name': 'certReqExtensions',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 14)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 15): {'comment': 'Microsoft code signing. Also known as "glue extension"',
+ 'description': 'spcPelmageData (1 3 6 1 4 1 311 2 1 15)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 14',
+ 'name': 'spcPelmageData',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 15)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 20): {'comment': 'Microsoft',
+ 'description': 'spcLink (type 1) (1 3 6 1 4 1 311 2 1 20)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 15',
+ 'name': 'spcLink',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 20)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 21): {'comment': 'Microsoft',
+ 'description': 'individualCodeSigning (1 3 6 1 4 1 311 2 1 21)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 16',
+ 'name': 'individualCodeSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 21)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 22): {'comment': 'Microsoft code signing',
+ 'description': 'commercialCodeSigning (1 3 6 1 4 1 311 2 1 22)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 1A',
+ 'name': 'commercialCodeSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 22)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 26): {'comment': 'Microsoft code signing',
+ 'description': 'spcMinimalCriteriaInfo (1 3 6 1 4 1 311 2 1 26)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 02 01 1B',
+ 'name': 'spcMinimalCriteriaInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 26)},
+ (1, 3, 6, 1, 4, 1, 311, 2, 1, 27): {'comment': 'Microsoft code signing',
+ 'description': 'spcFinancialCriteriaInfo (1 3 6 1 4 1 311 2 1 27)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 03 02 01',
+ 'name': 'spcFinancialCriteriaInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 2, 1, 27)},
+ (1, 3, 6, 1, 4, 1, 311, 3, 2, 1): {'comment': 'Microsoft PKCS #7 contentType',
+ 'description': 'timestampCountersignature (1 3 6 1 4 1 311 3 2 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 82 37 0A 01',
+ 'name': 'timestampCountersignature',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 3, 2, 1)},
+ (1, 3, 6, 1, 4, 1, 311, 10, 1): {'comment': 'Microsoft',
+ 'description': 'certTrustList (1 3 6 1 4 1 311 10 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 82 37 0A 02',
+ 'name': 'certTrustList',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 1)},
+ (1, 3, 6, 1, 4, 1, 311, 10, 2): {'comment': 'Microsoft enhanced key usage',
+ 'description': 'nextUpdateLocation (1 3 6 1 4 1 311 10 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 03 01',
+ 'name': 'nextUpdateLocation',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 2)},
+ (1, 3, 6, 1, 4, 1, 311, 10, 3, 1): {'comment': 'Microsoft enhanced key usage',
+ 'description': 'certTrustListSigning (1 3 6 1 4 1 311 10 3 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 03 02',
+ 'name': 'certTrustListSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 3, 1)},
+ (1, 3, 6, 1, 4, 1, 311, 10, 3, 2): {'comment': 'Microsoft enhanced key usage',
+ 'description': 'timeStampSigning (1 3 6 1 4 1 311 10 3 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 03 04',
+ 'name': 'timeStampSigning',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 3, 2)},
+ (1, 3, 6, 1, 4, 1, 311, 10, 3, 4): {'comment': 'Microsoft attribute',
+ 'description': 'encryptedFileSystem (1 3 6 1 4 1 311 10 3 4)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0A 04 01',
+ 'name': 'encryptedFileSystem',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 3, 4)},
+ (1, 3, 6, 1, 4, 1, 311, 10, 4, 1): {'comment': 'Microsoft attribute',
+ 'description': 'yesnoTrustAttr (1 3 6 1 4 1 311 10 4 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0D 02 02',
+ 'name': 'yesnoTrustAttr',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 10, 4, 1)},
+ (1, 3, 6, 1, 4, 1, 311, 13, 2, 2): {'comment': 'Microsoft attribute',
+ 'description': 'enrolmentCSP (1 3 6 1 4 1 311 13 2 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 0D 02 03',
+ 'name': 'enrolmentCSP',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 13, 2, 2)},
+ (1, 3, 6, 1, 4, 1, 311, 13, 2, 3): {'comment': 'Microsoft attribute',
+ 'description': 'osVersion (1 3 6 1 4 1 311 13 2 3)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 10 04',
+ 'name': 'osVersion',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 13, 2, 3)},
+ (1, 3, 6, 1, 4, 1, 311, 16, 4): {'comment': 'Microsoft attribute',
+ 'description': 'microsoftRecipientInfo (1 3 6 1 4 1 311 16 4)',
+ 'hexoid': '06 09 2B 06 01 04 01 82 37 15 01',
+ 'name': 'microsoftRecipientInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 16, 4)},
+ (1, 3, 6, 1, 4, 1, 311, 21, 1): {'comment': 'Microsoft attribute',
+ 'description': 'cAKeyCertIndexPair (1 3 6 1 4 1 311 21 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 82 37 58 02 01',
+ 'name': 'cAKeyCertIndexPair',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 21, 1)},
+ (1, 3, 6, 1, 4, 1, 311, 88, 2, 1): {'comment': 'UNINETT PCA',
+ 'description': 'originalFilename (1 3 6 1 4 1 311 88 2 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 92 7C 0A 01 01',
+ 'name': 'originalFilename',
+ 'oid': (1, 3, 6, 1, 4, 1, 311, 88, 2, 1)},
+ (1, 3, 6, 1, 4, 1, 2428, 10, 1, 1): {'comment': 'ICE-TEL CA',
+ 'description': 'UNINETT policyIdentifier (1 3 6 1 4 1 2428 10 1 1)',
+ 'hexoid': '06 08 2B 06 01 04 01 95 18 0A',
+ 'name': 'UNINETT policyIdentifier',
+ 'oid': (1,
+ 3,
+ 6,
+ 1,
+ 4,
+ 1,
+ 2428,
+ 10,
+ 1,
+ 1)},
+ (1, 3, 6, 1, 4, 1, 2712, 10): {'comment': 'ICE-TEL CA policy',
+ 'description': 'ICE-TEL policyIdentifier (1 3 6 1 4 1 2712 10)',
+ 'hexoid': '06 0A 2B 06 01 04 01 95 62 01 01 01',
+ 'name': 'ICE-TEL policyIdentifier',
+ 'oid': (1, 3, 6, 1, 4, 1, 2712, 10)},
+ (1, 3, 6, 1, 4, 1, 2786, 1, 1, 1): {'comment': 'cryptlib encryption algorithm',
+ 'description': 'ICE-TEL Italian policyIdentifier (1 3 6 1 4 1 2786 1 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 01',
+ 'name': 'ICE-TEL Italian policyIdentifier',
+ 'oid': (1, 3, 6, 1, 4, 1, 2786, 1, 1, 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 1, 1, 1): {'comment': 'cryptlib encryption algorithm',
+ 'description': 'blowfishECB (1 3 6 1 4 1 3029 1 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 02',
+ 'name': 'blowfishECB',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 1, 1, 2): {'comment': 'cryptlib encryption algorithm',
+ 'description': 'blowfishCBC (1 3 6 1 4 1 3029 1 1 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 03',
+ 'name': 'blowfishCBC',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 2)},
+ (1, 3, 6, 1, 4, 1, 3029, 1, 1, 3): {'comment': 'cryptlib encryption algorithm',
+ 'description': 'blowfishCFB (1 3 6 1 4 1 3029 1 1 3)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 01 04',
+ 'name': 'blowfishCFB',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 3)},
+ (1, 3, 6, 1, 4, 1, 3029, 1, 1, 4): {'comment': 'cryptlib public-key algorithm',
+ 'description': 'blowfishOFB (1 3 6 1 4 1 3029 1 1 4)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 01 02 01',
+ 'name': 'blowfishOFB',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 1, 4)},
+ (1, 3, 6, 1, 4, 1, 3029, 1, 2, 1): {'comment': 'cryptlib public-key algorithm',
+ 'description': 'elgamal (1 3 6 1 4 1 3029 1 2 1)',
+ 'hexoid': '06 0B 2B 06 01 04 01 97 55 01 02 01 01',
+ 'name': 'elgamal',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 1, 2, 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 1, 2, 1, 1): {'comment': 'cryptlib public-key algorithm',
+ 'description': 'elgamalWithSHA-1 (1 3 6 1 4 1 3029 1 2 1 1)',
+ 'hexoid': '06 0B 2B 06 01 04 01 97 55 01 02 01 02',
+ 'name': 'elgamalWithSHA-1',
+ 'oid': (1,
+ 3,
+ 6,
+ 1,
+ 4,
+ 1,
+ 3029,
+ 1,
+ 2,
+ 1,
+ 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 1, 2, 1, 2): {'comment': 'cryptlib attribute type',
+ 'description': 'elgamalWithRIPEMD-160 (1 3 6 1 4 1 3029 1 2 1 2)',
+ 'hexoid': '06 09 2B 06 01 04 01 97 55 03 01',
+ 'name': 'elgamalWithRIPEMD-160',
+ 'oid': (1,
+ 3,
+ 6,
+ 1,
+ 4,
+ 1,
+ 3029,
+ 1,
+ 2,
+ 1,
+ 2)},
+ (1, 3, 6, 1, 4, 1, 3029, 3, 1): {'comment': 'cryptlib PKIX fix attribute',
+ 'description': 'cryptlibPKIXFix (1 3 6 1 4 1 3029 3 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 03 01 01',
+ 'name': 'cryptlibPKIXFix',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 3, 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 3, 1, 1): {'comment': 'cryptlib attribute type',
+ 'description': 'cryptlibPresenceCheck (1 3 6 1 4 1 3029 3 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 01',
+ 'name': 'cryptlibPresenceCheck',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 3, 1, 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 4, 1): {'comment': 'cryptlib content type',
+ 'description': 'cryptlibContent (1 3 6 1 4 1 3029 4 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 01',
+ 'name': 'cryptlibContent',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 4, 1, 1): {'comment': 'cryptlib content type',
+ 'description': 'cryptlibConfigData (1 3 6 1 4 1 3029 4 1 1)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 02',
+ 'name': 'cryptlibConfigData',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1, 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 4, 1, 2): {'comment': 'cryptlib content type',
+ 'description': 'cryptlibUserIndex (1 3 6 1 4 1 3029 4 1 2)',
+ 'hexoid': '06 0A 2B 06 01 04 01 97 55 04 01 03',
+ 'name': 'cryptlibUserIndex',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1, 2)},
+ (1, 3, 6, 1, 4, 1, 3029, 4, 1, 3): {'comment': 'cryptlib special MPEG-of-cat OID',
+ 'description': 'cryptlibUserInfo (1 3 6 1 4 1 3029 4 1 3)',
+ 'hexoid': '06 0B 2B 06 01 04 01 97 55 2A D7 24 01',
+ 'name': 'cryptlibUserInfo',
+ 'oid': (1, 3, 6, 1, 4, 1, 3029, 4, 1, 3)},
+ (1, 3, 6, 1, 4, 1, 3029, 42, 11172, 1): {'comment': 'cryptlib certificate policy',
+ 'description': 'mpeg-1 (1 3 6 1 4 1 3029 42 11172 1)',
+ 'hexoid': '06 0C 2B 06 01 04 01 97 55 58 59 5A 5A 59',
+ 'name': 'mpeg-1',
+ 'oid': (1,
+ 3,
+ 6,
+ 1,
+ 4,
+ 1,
+ 3029,
+ 42,
+ 11172,
+ 1)},
+ (1, 3, 6, 1, 4, 1, 3029, 88, 89, 90, 90, 89): {'comment': 'enterprise',
+ 'description': 'xYZZY policyIdentifier (1 3 6 1 4 1 3029 88 89 90 90 89)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60',
+ 'name': 'xYZZY policyIdentifier',
+ 'oid': (1,
+ 3,
+ 6,
+ 1,
+ 4,
+ 1,
+ 3029,
+ 88,
+ 89,
+ 90,
+ 90,
+ 89)},
+ (1, 3, 6, 1, 4, 1, 5472): {'comment': 'timeproof',
+ 'description': 'timeproof (1 3 6 1 4 1 5472)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01',
+ 'name': 'timeproof',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472)},
+ (1, 3, 6, 1, 4, 1, 5472, 1): {'comment': 'timeproof TSS',
+ 'description': 'tss (1 3 6 1 4 1 5472 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01 01',
+ 'name': 'tss',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472, 1)},
+ (1, 3, 6, 1, 4, 1, 5472, 1, 1): {'comment': 'timeproof TSS',
+ 'description': 'tss80 (1 3 6 1 4 1 5472 1 1)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01 01',
+ 'name': 'tss80',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472, 1, 1)},
+ (1, 3, 6, 1, 4, 1, 5472, 1, 2): {'comment': 'timeproof TSS',
+ 'description': 'tss380 (1 3 6 1 4 1 5472 1 2)',
+ 'hexoid': '06 09 2B 06 01 04 01 AA 60 01 01',
+ 'name': 'tss380',
+ 'oid': (1, 3, 6, 1, 4, 1, 5472, 1, 2)},
+ (1, 3, 6, 1, 5, 5, 7): {'comment': 'PKIX',
+ 'description': 'pkix (1 3 6 1 5 5 7)',
+ 'hexoid': '06 06 2B 06 01 05 05 07',
+ 'name': 'pkix',
+ 'oid': (1, 3, 6, 1, 5, 5, 7)},
+ (1, 3, 6, 1, 5, 5, 7, 0, 12): {'comment': 'PKIX',
+ 'description': 'attributeCert (1 3 6 1 5 5 7 0 12)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 01',
+ 'name': 'attributeCert',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 0, 12)},
+ (1, 3, 6, 1, 5, 5, 7, 1): {'comment': 'PKIX private extension',
+ 'description': 'privateExtension (1 3 6 1 5 5 7 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 01',
+ 'name': 'privateExtension',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 1): {'comment': 'PKIX private extension',
+ 'description': 'authorityInfoAccess (1 3 6 1 5 5 7 1 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 04',
+ 'name': 'authorityInfoAccess',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 4): {'comment': 'PKIX private extension',
+ 'description': 'acAuditIdentity (1 3 6 1 5 5 7 1 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 05',
+ 'name': 'acAuditIdentity',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 5): {'comment': 'PKIX private extension',
+ 'description': 'acTargeting (1 3 6 1 5 5 7 1 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 06',
+ 'name': 'acTargeting',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 6): {'comment': 'PKIX private extension',
+ 'description': 'acAaControls (1 3 6 1 5 5 7 1 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 07',
+ 'name': 'acAaControls',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 7): {'comment': 'PKIX private extension',
+ 'description': 'sbgp-ipAddrBlock (1 3 6 1 5 5 7 1 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 08',
+ 'name': 'sbgp-ipAddrBlock',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 7)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 8): {'comment': 'PKIX private extension',
+ 'description': 'sbgp-autonomousSysNum (1 3 6 1 5 5 7 1 8)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 09',
+ 'name': 'sbgp-autonomousSysNum',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 8)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 9): {'comment': 'PKIX private extension',
+ 'description': 'sbgp-routerIdentifier (1 3 6 1 5 5 7 1 9)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 0A',
+ 'name': 'sbgp-routerIdentifier',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 9)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 10): {'comment': 'PKIX private extension',
+ 'description': 'acProxying (1 3 6 1 5 5 7 1 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 01 0B',
+ 'name': 'acProxying',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 10)},
+ (1, 3, 6, 1, 5, 5, 7, 1, 11): {'comment': 'PKIX',
+ 'description': 'subjectInfoAccess (1 3 6 1 5 5 7 1 11)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 02',
+ 'name': 'subjectInfoAccess',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 1, 11)},
+ (1, 3, 6, 1, 5, 5, 7, 2): {'comment': 'PKIX policy qualifier',
+ 'description': 'policyQualifierIds (1 3 6 1 5 5 7 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 02 01',
+ 'name': 'policyQualifierIds',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 2, 1): {'comment': 'PKIX policy qualifier',
+ 'description': 'cps (1 3 6 1 5 5 7 2 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 02 02',
+ 'name': 'cps',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 2, 2): {'comment': 'PKIX policy qualifier',
+ 'description': 'unotice (1 3 6 1 5 5 7 2 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 02 03',
+ 'name': 'unotice',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 2, 3): {'comment': 'PKIX',
+ 'description': 'textNotice (1 3 6 1 5 5 7 2 3)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 03',
+ 'name': 'textNotice',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 2, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 3): {'comment': 'PKIX key purpose',
+ 'description': 'keyPurpose (1 3 6 1 5 5 7 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 01',
+ 'name': 'keyPurpose',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 1): {'comment': 'PKIX key purpose',
+ 'description': 'serverAuth (1 3 6 1 5 5 7 3 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 02',
+ 'name': 'serverAuth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 2): {'comment': 'PKIX key purpose',
+ 'description': 'clientAuth (1 3 6 1 5 5 7 3 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 03',
+ 'name': 'clientAuth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 3): {'comment': 'PKIX key purpose',
+ 'description': 'codeSigning (1 3 6 1 5 5 7 3 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 04',
+ 'name': 'codeSigning',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 4): {'comment': 'PKIX key purpose',
+ 'description': 'emailProtection (1 3 6 1 5 5 7 3 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 05',
+ 'name': 'emailProtection',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 5): {'comment': 'PKIX key purpose',
+ 'description': 'ipsecEndSystem (1 3 6 1 5 5 7 3 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 06',
+ 'name': 'ipsecEndSystem',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 6): {'comment': 'PKIX key purpose',
+ 'description': 'ipsecTunnel (1 3 6 1 5 5 7 3 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 07',
+ 'name': 'ipsecTunnel',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 7): {'comment': 'PKIX key purpose',
+ 'description': 'ipsecUser (1 3 6 1 5 5 7 3 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 09',
+ 'name': 'ipsecUser',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 7)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 9): {'comment': 'PKIX key purpose',
+ 'description': 'ocspSigning (1 3 6 1 5 5 7 3 9)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 0A',
+ 'name': 'ocspSigning',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 9)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 10): {'comment': 'PKIX key purpose',
+ 'description': 'dvcs (1 3 6 1 5 5 7 3 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 03 0B',
+ 'name': 'dvcs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 10)},
+ (1, 3, 6, 1, 5, 5, 7, 3, 11): {'comment': 'PKIX',
+ 'description': 'sbgpCertAAServerAuth (1 3 6 1 5 5 7 3 11)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 04',
+ 'name': 'sbgpCertAAServerAuth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 3, 11)},
+ (1, 3, 6, 1, 5, 5, 7, 4): {'comment': 'PKIX CMP information',
+ 'description': 'cmpInformationTypes (1 3 6 1 5 5 7 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 01',
+ 'name': 'cmpInformationTypes',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 1): {'comment': 'PKIX CMP information',
+ 'description': 'caProtEncCert (1 3 6 1 5 5 7 4 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 02',
+ 'name': 'caProtEncCert',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 2): {'comment': 'PKIX CMP information',
+ 'description': 'signKeyPairTypes (1 3 6 1 5 5 7 4 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 03',
+ 'name': 'signKeyPairTypes',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 3): {'comment': 'PKIX CMP information',
+ 'description': 'encKeyPairTypes (1 3 6 1 5 5 7 4 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 04',
+ 'name': 'encKeyPairTypes',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 4): {'comment': 'PKIX CMP information',
+ 'description': 'preferredSymmAlg (1 3 6 1 5 5 7 4 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 05',
+ 'name': 'preferredSymmAlg',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 5): {'comment': 'PKIX CMP information',
+ 'description': 'caKeyUpdateInfo (1 3 6 1 5 5 7 4 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 06',
+ 'name': 'caKeyUpdateInfo',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 6): {'comment': 'PKIX CMP information',
+ 'description': 'currentCRL (1 3 6 1 5 5 7 4 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 07',
+ 'name': 'currentCRL',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 7): {'comment': 'PKIX CMP information',
+ 'description': 'unsupportedOIDs (1 3 6 1 5 5 7 4 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0A',
+ 'name': 'unsupportedOIDs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 7)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 10): {'comment': 'PKIX CMP information',
+ 'description': 'keyPairParamReq (1 3 6 1 5 5 7 4 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0B',
+ 'name': 'keyPairParamReq',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 10)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 11): {'comment': 'PKIX CMP information',
+ 'description': 'keyPairParamRep (1 3 6 1 5 5 7 4 11)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0C',
+ 'name': 'keyPairParamRep',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 11)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 12): {'comment': 'PKIX CMP information',
+ 'description': 'revPassphrase (1 3 6 1 5 5 7 4 12)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0D',
+ 'name': 'revPassphrase',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 12)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 13): {'comment': 'PKIX CMP information',
+ 'description': 'implicitConfirm (1 3 6 1 5 5 7 4 13)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0E',
+ 'name': 'implicitConfirm',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 13)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 14): {'comment': 'PKIX CMP information',
+ 'description': 'confirmWaitTime (1 3 6 1 5 5 7 4 14)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 0F',
+ 'name': 'confirmWaitTime',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 14)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 15): {'comment': 'PKIX CMP information',
+ 'description': 'origPKIMessage (1 3 6 1 5 5 7 4 15)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 04 10',
+ 'name': 'origPKIMessage',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 15)},
+ (1, 3, 6, 1, 5, 5, 7, 4, 16): {'comment': 'PKIX',
+ 'description': 'suppLangTags (1 3 6 1 5 5 7 4 16)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 05',
+ 'name': 'suppLangTags',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 4, 16)},
+ (1, 3, 6, 1, 5, 5, 7, 5): {'comment': 'PKIX CRMF registration',
+ 'description': 'crmfRegistration (1 3 6 1 5 5 7 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 05 01',
+ 'name': 'crmfRegistration',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1): {'comment': 'PKIX CRMF registration control',
+ 'description': 'regCtrl (1 3 6 1 5 5 7 5 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 01',
+ 'name': 'regCtrl',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 1): {'comment': 'PKIX CRMF registration control',
+ 'description': 'regToken (1 3 6 1 5 5 7 5 1 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 02',
+ 'name': 'regToken',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 2): {'comment': 'PKIX CRMF registration control',
+ 'description': 'authenticator (1 3 6 1 5 5 7 5 1 2)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 03',
+ 'name': 'authenticator',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 3): {'comment': 'PKIX CRMF registration control',
+ 'description': 'pkiPublicationInfo (1 3 6 1 5 5 7 5 1 3)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 04',
+ 'name': 'pkiPublicationInfo',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 4): {'comment': 'PKIX CRMF registration control',
+ 'description': 'pkiArchiveOptions (1 3 6 1 5 5 7 5 1 4)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 05',
+ 'name': 'pkiArchiveOptions',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 5): {'comment': 'PKIX CRMF registration control',
+ 'description': 'oldCertID (1 3 6 1 5 5 7 5 1 5)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 06',
+ 'name': 'oldCertID',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 6): {'comment': 'PKIX CRMF registration control',
+ 'description': 'protocolEncrKey (1 3 6 1 5 5 7 5 1 6)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 07',
+ 'name': 'protocolEncrKey',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 7): {'comment': 'PKIX CRMF registration control',
+ 'description': 'altCertTemplate(1 3 6 1 5 5 7 5 1 7)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 01 08',
+ 'name': 'altCertTemplate',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 7)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 1, 8): {'comment': 'PKIX CRMF registration',
+ 'description': 'wtlsTemplate (1 3 6 1 5 5 7 5 1 8)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 05 02',
+ 'name': 'wtlsTemplate',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 1, 8)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 2): {'comment': 'PKIX CRMF registration control',
+ 'description': '(1 3 6 1 5 5 7 5 2)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 02 01',
+ 'name': '',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 2, 1): {'comment': 'PKIX CRMF registration control',
+ 'description': 'utf8Pairs (1 3 6 1 5 5 7 5 2 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 05 02 02',
+ 'name': 'utf8Pairs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 2, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 5, 2, 2): {'comment': 'PKIX',
+ 'description': 'certReq (1 3 6 1 5 5 7 5 2 2)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 06',
+ 'name': 'certReq',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 5, 2, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 6): {'comment': 'PKIX algorithm',
+ 'description': 'algorithms (1 3 6 1 5 5 7 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 01',
+ 'name': 'algorithms',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 6, 1): {'comment': 'PKIX algorithm',
+ 'description': 'des40 (1 3 6 1 5 5 7 6 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 02',
+ 'name': 'des40',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 6, 2): {'comment': 'PKIX algorithm',
+ 'description': 'noSignature (1 3 6 1 5 5 7 6 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 03',
+ 'name': 'noSignature',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 6, 3): {'comment': 'PKIX algorithm',
+ 'description': 'dh-sig-hmac-sha1 (1 3 6 1 5 5 7 6 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 06 04',
+ 'name': 'dh-sig-hmac-sha1',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 6, 4): {'comment': 'PKIX',
+ 'description': 'dh-pop (1 3 6 1 5 5 7 6 4)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 07',
+ 'name': 'dh-pop',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 6, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 7): {'comment': 'PKIX',
+ 'description': 'cmcControls (1 3 6 1 5 5 7 7)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 08',
+ 'name': 'cmcControls',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 7)},
+ (1, 3, 6, 1, 5, 5, 7, 8): {'comment': 'PKIX other name',
+ 'description': 'otherNames (1 3 6 1 5 5 7 8)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 08 01',
+ 'name': 'otherNames',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 8)},
+ (1, 3, 6, 1, 5, 5, 7, 8, 1): {'comment': 'PKIX other name',
+ 'description': 'personalData (1 3 6 1 5 5 7 8 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 08 02',
+ 'name': 'personalData',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 8, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 8, 2): {'comment': 'PKIX personal data',
+ 'description': 'userGroup (1 3 6 1 5 5 7 8 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 01',
+ 'name': 'userGroup',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 8, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 9, 1): {'comment': 'PKIX personal data',
+ 'description': 'dateOfBirth (1 3 6 1 5 5 7 9 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 02',
+ 'name': 'dateOfBirth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 9, 2): {'comment': 'PKIX personal data',
+ 'description': 'placeOfBirth (1 3 6 1 5 5 7 9 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 03',
+ 'name': 'placeOfBirth',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 9, 3): {'comment': 'PKIX personal data',
+ 'description': 'pseudonym (1 3 6 1 5 5 7 9 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 04',
+ 'name': 'pseudonym',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 9, 4): {'comment': 'PKIX personal data',
+ 'description': 'gender (1 3 6 1 5 5 7 9 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 05',
+ 'name': 'gender',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 9, 5): {'comment': 'PKIX personal data',
+ 'description': 'countryOfCitizenship (1 3 6 1 5 5 7 9 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 09 06',
+ 'name': 'countryOfCitizenship',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 9, 6): {'comment': 'PKIX',
+ 'description': 'countryOfResidence (1 3 6 1 5 5 7 9 6)',
+ 'hexoid': '06 07 2B 06 01 05 05 07 0A',
+ 'name': 'countryOfResidence',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 9, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 10): {'comment': 'PKIX attribute certificate extension',
+ 'description': 'attributeCertificate (1 3 6 1 5 5 7 10)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 01',
+ 'name': 'attributeCertificate',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10)},
+ (1, 3, 6, 1, 5, 5, 7, 10, 1): {'comment': 'PKIX attribute certificate extension',
+ 'description': 'authenticationInfo (1 3 6 1 5 5 7 10 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 02',
+ 'name': 'authenticationInfo',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 10, 2): {'comment': 'PKIX attribute certificate extension',
+ 'description': 'accessIdentity (1 3 6 1 5 5 7 10 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 03',
+ 'name': 'accessIdentity',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 10, 3): {'comment': 'PKIX attribute certificate extension',
+ 'description': 'chargingIdentity (1 3 6 1 5 5 7 10 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 04',
+ 'name': 'chargingIdentity',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 10, 4): {'comment': 'PKIX attribute certificate extension',
+ 'description': 'group (1 3 6 1 5 5 7 10 4)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 05',
+ 'name': 'group',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 10, 5): {'comment': 'PKIX attribute certificate extension',
+ 'description': 'role (1 3 6 1 5 5 7 10 5)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 0A 06',
+ 'name': 'role',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 10, 6): {'comment': 'PKIX',
+ 'description': 'encAttrs (1 3 6 1 5 5 7 10 6)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 30 01',
+ 'name': 'encAttrs',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 10, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1): {'comment': 'OCSP',
+ 'description': 'ocsp (1 3 6 1 5 5 7 48 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 01',
+ 'name': 'ocsp',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1, 1): {'comment': 'OCSP',
+ 'description': 'ocspBasic (1 3 6 1 5 5 7 48 1 1)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 02',
+ 'name': 'ocspBasic',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 1)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1, 2): {'comment': 'OCSP',
+ 'description': 'ocspNonce (1 3 6 1 5 5 7 48 1 2)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 03',
+ 'name': 'ocspNonce',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1, 3): {'comment': 'OCSP',
+ 'description': 'ocspCRL (1 3 6 1 5 5 7 48 1 3)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 04',
+ 'name': 'ocspCRL',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 3)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1, 4): {'comment': 'OCSP',
+ 'description': 'ocspResponse (1 3 6 1 5 5 7 48 1 4)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 05',
+ 'name': 'ocspResponse',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 4)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1, 5): {'comment': 'OCSP',
+ 'description': 'ocspNoCheck (1 3 6 1 5 5 7 48 1 5)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 06',
+ 'name': 'ocspNoCheck',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 5)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1, 6): {'comment': 'OCSP',
+ 'description': 'ocspArchiveCutoff (1 3 6 1 5 5 7 48 1 6)',
+ 'hexoid': '06 09 2B 06 01 05 05 07 30 01 07',
+ 'name': 'ocspArchiveCutoff',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 6)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 1, 7): {'comment': 'PKIX authority info access descriptor',
+ 'description': 'ocspServiceLocator (1 3 6 1 5 5 7 48 1 7)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 30 02',
+ 'name': 'ocspServiceLocator',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 1, 7)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 2): {'comment': 'PKIX authority info access descriptor',
+ 'description': 'caIssuers (1 3 6 1 5 5 7 48 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 07 30 03',
+ 'name': 'caIssuers',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 2)},
+ (1, 3, 6, 1, 5, 5, 7, 48, 3): {'comment': 'ISAKMP HMAC algorithm',
+ 'description': 'timeStamping (1 3 6 1 5 5 7 48 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 01 01',
+ 'name': 'timeStamping',
+ 'oid': (1, 3, 6, 1, 5, 5, 7, 48, 3)},
+ (1, 3, 6, 1, 5, 5, 8, 1, 1): {'comment': 'ISAKMP HMAC algorithm',
+ 'description': 'hmacMD5 (1 3 6 1 5 5 8 1 1)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 01 02',
+ 'name': 'hmacMD5',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 1, 1)},
+ (1, 3, 6, 1, 5, 5, 8, 1, 2): {'comment': 'ISAKMP HMAC algorithm',
+ 'description': 'hmacSHA (1 3 6 1 5 5 8 1 2)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 01 03',
+ 'name': 'hmacSHA',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 1, 2)},
+ (1, 3, 6, 1, 5, 5, 8, 1, 3): {'comment': 'IKE ???',
+ 'description': 'hmacTiger (1 3 6 1 5 5 8 1 3)',
+ 'hexoid': '06 08 2B 06 01 05 05 08 02 02',
+ 'name': 'hmacTiger',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 1, 3)},
+ (1, 3, 6, 1, 5, 5, 8, 2, 2): {'comment': 'DASS algorithm',
+ 'description': 'iKEIntermediate (1 3 6 1 5 5 8 2 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 01',
+ 'name': 'iKEIntermediate',
+ 'oid': (1, 3, 6, 1, 5, 5, 8, 2, 2)},
+ (1, 3, 12, 2, 1011, 7, 1): {'comment': 'DASS encryption algorithm',
+ 'description': 'decEncryptionAlgorithm (1 3 12 2 1011 7 1)',
+ 'hexoid': '06 08 2B 0C 02 87 73 07 01 02',
+ 'name': 'decEncryptionAlgorithm',
+ 'oid': (1, 3, 12, 2, 1011, 7, 1)},
+ (1, 3, 12, 2, 1011, 7, 1, 2): {'comment': 'DASS algorithm',
+ 'description': 'decDEA (1 3 12 2 1011 7 1 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 02',
+ 'name': 'decDEA',
+ 'oid': (1, 3, 12, 2, 1011, 7, 1, 2)},
+ (1, 3, 12, 2, 1011, 7, 2): {'comment': 'DASS hash algorithm',
+ 'description': 'decHashAlgorithm (1 3 12 2 1011 7 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 02 01',
+ 'name': 'decHashAlgorithm',
+ 'oid': (1, 3, 12, 2, 1011, 7, 2)},
+ (1, 3, 12, 2, 1011, 7, 2, 1): {'comment': 'DASS hash algorithm',
+ 'description': 'decMD2 (1 3 12 2 1011 7 2 1)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 02 02',
+ 'name': 'decMD2',
+ 'oid': (1, 3, 12, 2, 1011, 7, 2, 1)},
+ (1, 3, 12, 2, 1011, 7, 2, 2): {'comment': 'DASS algorithm',
+ 'description': 'decMD4 (1 3 12 2 1011 7 2 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03',
+ 'name': 'decMD4',
+ 'oid': (1, 3, 12, 2, 1011, 7, 2, 2)},
+ (1, 3, 12, 2, 1011, 7, 3): {'comment': 'DASS signature algorithm',
+ 'description': 'decSignatureAlgorithm (1 3 12 2 1011 7 3)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03 01',
+ 'name': 'decSignatureAlgorithm',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3)},
+ (1, 3, 12, 2, 1011, 7, 3, 1): {'comment': 'DASS signature algorithm',
+ 'description': 'decMD2withRSA (1 3 12 2 1011 7 3 1)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03 02',
+ 'name': 'decMD2withRSA',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3, 1)},
+ (1, 3, 12, 2, 1011, 7, 3, 2): {'comment': 'DASS signature algorithm',
+ 'description': 'decMD4withRSA (1 3 12 2 1011 7 3 2)',
+ 'hexoid': '06 07 2B 0C 02 87 73 07 03 03',
+ 'name': 'decMD4withRSA',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3, 2)},
+ (1, 3, 12, 2, 1011, 7, 3, 3): {'comment': 'X.509. Unsure about this OID',
+ 'description': 'decDEAMAC (1 3 12 2 1011 7 3 3)',
+ 'hexoid': '06 06 2B 0E 03 02 01 01',
+ 'name': 'decDEAMAC',
+ 'oid': (1, 3, 12, 2, 1011, 7, 3, 3)},
+ (1, 3, 14, 3, 2, 1, 1): {'comment': 'Oddball OIW OID',
+ 'description': 'rsa (1 3 14 3 2 1 1)',
+ 'hexoid': '06 05 2B 0E 03 02 02',
+ 'name': 'rsa',
+ 'oid': (1, 3, 14, 3, 2, 1, 1)},
+ (1, 3, 14, 3, 2, 2): {'comment': 'Oddball OIW OID',
+ 'description': 'md4WitRSA (1 3 14 3 2 2)',
+ 'hexoid': '06 05 2B 0E 03 02 03',
+ 'name': 'md4WitRSA',
+ 'oid': (1, 3, 14, 3, 2, 2)},
+ (1, 3, 14, 3, 2, 2, 1): {'comment': 'X.509. Deprecated',
+ 'description': 'sqmod-N (1 3 14 3 2 2 1)',
+ 'hexoid': '06 06 2B 0E 03 02 03 01',
+ 'name': 'sqmod-N',
+ 'oid': (1, 3, 14, 3, 2, 2, 1)},
+ (1, 3, 14, 3, 2, 3): {'comment': 'Oddball OIW OID',
+ 'description': 'md5WithRSA (1 3 14 3 2 3)',
+ 'hexoid': '06 05 2B 0E 03 02 04',
+ 'name': 'md5WithRSA',
+ 'oid': (1, 3, 14, 3, 2, 3)},
+ (1, 3, 14, 3, 2, 4): {'comment': 'X.509. Deprecated',
+ 'description': 'md4WithRSAEncryption (1 3 14 3 2 4)',
+ 'hexoid': '06 06 2B 0E 03 02 02 01',
+ 'name': 'md4WithRSAEncryption',
+ 'oid': (1, 3, 14, 3, 2, 4)},
+ (1, 3, 14, 3, 2, 10): {'comment': 'ISO 9796-2, also X9.31 Part 1',
+ 'description': 'desMAC (1 3 14 3 2 10)',
+ 'hexoid': '06 05 2B 0E 03 02 0B',
+ 'name': 'desMAC',
+ 'oid': (1, 3, 14, 3, 2, 10)},
+ (1, 3, 14, 3, 2, 11): {'comment': 'Oddball OIW OID. Incorrectly used by JDK 1.1 in place of (1 3 14 3 2 27)',
+ 'description': 'rsaSignature (1 3 14 3 2 11)',
+ 'hexoid': '06 05 2B 0E 03 02 0D',
+ 'name': 'rsaSignature',
+ 'oid': (1, 3, 14, 3, 2, 11)},
+ (1, 3, 14, 3, 2, 13): {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'dsaWithSHA (1 3 14 3 2 13)',
+ 'hexoid': '06 05 2B 0E 03 02 0E',
+ 'name': 'dsaWithSHA',
+ 'oid': (1, 3, 14, 3, 2, 13)},
+ (1, 3, 14, 3, 2, 14): {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'mdc2WithRSASignature (1 3 14 3 2 14)',
+ 'hexoid': '06 05 2B 0E 03 02 0F',
+ 'name': 'mdc2WithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 14)},
+ (1, 3, 14, 3, 2, 15): {'comment': 'Oddball OIW OID. Deprecated, use a plain DH OID instead',
+ 'description': 'shaWithRSASignature (1 3 14 3 2 15)',
+ 'hexoid': '06 05 2B 0E 03 02 10',
+ 'name': 'shaWithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 15)},
+ (1, 3, 14, 3, 2, 16): {'comment': 'Oddball OIW OID. Mode is ECB',
+ 'description': 'dhWithCommonModulus (1 3 14 3 2 16)',
+ 'hexoid': '06 05 2B 0E 03 02 11',
+ 'name': 'dhWithCommonModulus',
+ 'oid': (1, 3, 14, 3, 2, 16)},
+ (1, 3, 14, 3, 2, 17): {'comment': 'Oddball OIW OID',
+ 'description': 'desEDE (1 3 14 3 2 17)',
+ 'hexoid': '06 05 2B 0E 03 02 12',
+ 'name': 'desEDE',
+ 'oid': (1, 3, 14, 3, 2, 17)},
+ (1, 3, 14, 3, 2, 18): {'comment': 'Oddball OIW OID, DES-based hash, planned for X9.31 Part 2',
+ 'description': 'sha (1 3 14 3 2 18)',
+ 'hexoid': '06 05 2B 0E 03 02 13',
+ 'name': 'sha',
+ 'oid': (1, 3, 14, 3, 2, 18)},
+ (1, 3, 14, 3, 2, 19): {'comment': 'Oddball OIW OID. Deprecated, use a plain DSA OID instead',
+ 'description': 'mdc-2 (1 3 14 3 2 19)',
+ 'hexoid': '06 05 2B 0E 03 02 14',
+ 'name': 'mdc-2',
+ 'oid': (1, 3, 14, 3, 2, 19)},
+ (1, 3, 14, 3, 2, 20): {'comment': 'Oddball OIW OID. Deprecated, use a plain dsaWithSHA OID instead',
+ 'description': 'dsaCommon (1 3 14 3 2 20)',
+ 'hexoid': '06 05 2B 0E 03 02 15',
+ 'name': 'dsaCommon',
+ 'oid': (1, 3, 14, 3, 2, 20)},
+ (1, 3, 14, 3, 2, 21): {'comment': 'Oddball OIW OID',
+ 'description': 'dsaCommonWithSHA (1 3 14 3 2 21)',
+ 'hexoid': '06 05 2B 0E 03 02 16',
+ 'name': 'dsaCommonWithSHA',
+ 'oid': (1, 3, 14, 3, 2, 21)},
+ (1, 3, 14, 3, 2, 22): {'comment': 'Oddball OIW OID',
+ 'description': 'rsaKeyTransport (1 3 14 3 2 22)',
+ 'hexoid': '06 05 2B 0E 03 02 17',
+ 'name': 'rsaKeyTransport',
+ 'oid': (1, 3, 14, 3, 2, 22)},
+ (1, 3, 14, 3, 2, 23): {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'keyed-hash-seal (1 3 14 3 2 23)',
+ 'hexoid': '06 05 2B 0E 03 02 18',
+ 'name': 'keyed-hash-seal',
+ 'oid': (1, 3, 14, 3, 2, 23)},
+ (1, 3, 14, 3, 2, 24): {'comment': 'Oddball OIW OID using 9796-2 padding rules',
+ 'description': 'md2WithRSASignature (1 3 14 3 2 24)',
+ 'hexoid': '06 05 2B 0E 03 02 19',
+ 'name': 'md2WithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 24)},
+ (1, 3, 14, 3, 2, 25): {'comment': 'OIW',
+ 'description': 'md5WithRSASignature (1 3 14 3 2 25)',
+ 'hexoid': '06 05 2B 0E 03 02 1A',
+ 'name': 'md5WithRSASignature',
+ 'oid': (1, 3, 14, 3, 2, 25)},
+ (1, 3, 14, 3, 2, 26): {'comment': 'OIW. This OID may also be assigned as ripemd-160',
+ 'description': 'sha1 (1 3 14 3 2 26)',
+ 'hexoid': '06 05 2B 0E 03 02 1B',
+ 'name': 'sha1',
+ 'oid': (1, 3, 14, 3, 2, 26)},
+ (1, 3, 14, 3, 2, 27): {'comment': 'OIW',
+ 'description': 'dsaWithSHA1 (1 3 14 3 2 27)',
+ 'hexoid': '06 05 2B 0E 03 02 1C',
+ 'name': 'dsaWithSHA1',
+ 'oid': (1, 3, 14, 3, 2, 27)},
+ (1, 3, 14, 3, 2, 28): {'comment': 'Oddball OIW OID',
+ 'description': 'dsaWithCommonSHA1 (1 3 14 3 2 28)',
+ 'hexoid': '06 05 2B 0E 03 02 1D',
+ 'name': 'dsaWithCommonSHA1',
+ 'oid': (1, 3, 14, 3, 2, 28)},
+ (1, 3, 14, 3, 2, 29): {'comment': 'Oddball OIW OID',
+ 'description': 'sha-1WithRSAEncryption (1 3 14 3 2 29)',
+ 'hexoid': '06 05 2B 0E 03 03 01',
+ 'name': 'sha-1WithRSAEncryption',
+ 'oid': (1, 3, 14, 3, 2, 29)},
+ (1, 3, 14, 3, 3, 1): {'comment': 'Unsure about this OID',
+ 'description': 'simple-strong-auth-mechanism (1 3 14 3 3 1)',
+ 'hexoid': '06 06 2B 0E 07 02 01 01',
+ 'name': 'simple-strong-auth-mechanism',
+ 'oid': (1, 3, 14, 3, 3, 1)},
+ (1, 3, 14, 7, 2, 1, 1): {'comment': 'Unsure about this OID',
+ 'description': 'ElGamal (1 3 14 7 2 1 1)',
+ 'hexoid': '06 06 2B 0E 07 02 03 01',
+ 'name': 'ElGamal',
+ 'oid': (1, 3, 14, 7, 2, 1, 1)},
+ (1, 3, 14, 7, 2, 3, 1): {'comment': 'Unsure about this OID',
+ 'description': 'md2WithRSA (1 3 14 7 2 3 1)',
+ 'hexoid': '06 06 2B 0E 07 02 03 02',
+ 'name': 'md2WithRSA',
+ 'oid': (1, 3, 14, 7, 2, 3, 1)},
+ (1, 3, 14, 7, 2, 3, 2): {'comment': 'Teletrust document',
+ 'description': 'md2WithElGamal (1 3 14 7 2 3 2)',
+ 'hexoid': '06 03 2B 24 01',
+ 'name': 'md2WithElGamal',
+ 'oid': (1, 3, 14, 7, 2, 3, 2)},
+ (1, 3, 36, 1): {'comment': 'Teletrust document',
+ 'description': 'document (1 3 36 1)',
+ 'hexoid': '06 04 2B 24 01 01',
+ 'name': 'document',
+ 'oid': (1, 3, 36, 1)},
+ (1, 3, 36, 1, 1): {'comment': 'Teletrust document',
+ 'description': 'finalVersion (1 3 36 1 1)',
+ 'hexoid': '06 04 2B 24 01 02',
+ 'name': 'finalVersion',
+ 'oid': (1, 3, 36, 1, 1)},
+ (1, 3, 36, 1, 2): {'comment': 'Teletrust sio',
+ 'description': 'draft (1 3 36 1 2)',
+ 'hexoid': '06 03 2B 24 02',
+ 'name': 'draft',
+ 'oid': (1, 3, 36, 1, 2)},
+ (1, 3, 36, 2): {'comment': 'Teletrust sio',
+ 'description': 'sio (1 3 36 2)',
+ 'hexoid': '06 04 2B 24 02 01',
+ 'name': 'sio',
+ 'oid': (1, 3, 36, 2)},
+ (1, 3, 36, 2, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'sedu (1 3 36 2 1)',
+ 'hexoid': '06 06 2B 24 03 01 01 01',
+ 'name': 'sedu',
+ 'oid': (1, 3, 36, 2, 1)},
+ (1, 3, 36, 3, 1, 1, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desECB_pad (1 3 36 3 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 01 01 01',
+ 'name': 'desECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 1, 1)},
+ (1, 3, 36, 3, 1, 1, 1, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desECB_ISOpad (1 3 36 3 1 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 01 02 01',
+ 'name': 'desECB_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 1, 1, 1)},
+ (1, 3, 36, 3, 1, 1, 2, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desCBC_pad (1 3 36 3 1 1 2 1)',
+ 'hexoid': '06 08 2B 24 03 01 01 02 01 01',
+ 'name': 'desCBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 1, 2, 1)},
+ (1, 3, 36, 3, 1, 1, 2, 1, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'desCBC_ISOpad (1 3 36 3 1 1 2 1 1)',
+ 'hexoid': '06 05 2B 24 03 01 03',
+ 'name': 'desCBC_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 1, 2, 1, 1)},
+ (1, 3, 36, 3, 1, 2, 1, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaECB_pad (1 3 36 3 1 2 1 1)',
+ 'hexoid': '06 08 2B 24 03 01 02 01 01 01',
+ 'name': 'ideaECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 2, 1, 1)},
+ (1, 3, 36, 3, 1, 2, 1, 1, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaECB_ISOpad (1 3 36 3 1 2 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 02 02 01',
+ 'name': 'ideaECB_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 2, 1, 1, 1)},
+ (1, 3, 36, 3, 1, 2, 2, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaCBC_pad (1 3 36 3 1 2 2 1)',
+ 'hexoid': '06 08 2B 24 03 01 02 02 01 01',
+ 'name': 'ideaCBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 2, 2, 1)},
+ (1, 3, 36, 3, 1, 2, 2, 1, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'ideaCBC_ISOpad (1 3 36 3 1 2 2 1 1)',
+ 'hexoid': '06 08 2B 24 03 01 04 84 00 11',
+ 'name': 'ideaCBC_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 2, 2, 1, 1)},
+ (1, 3, 36, 3, 1, 3): {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3 (1 3 36 3 1 3)',
+ 'hexoid': '06 07 2B 24 03 01 03 01 01',
+ 'name': 'des_3',
+ 'oid': (1, 3, 36, 3, 1, 3)},
+ (1, 3, 36, 3, 1, 3, 1, 1): {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3ECB_pad (1 3 36 3 1 3 1 1)',
+ 'hexoid': '06 08 2B 24 03 01 03 01 01 01',
+ 'name': 'des_3ECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 3, 1, 1)},
+ (1, 3, 36, 3, 1, 3, 1, 1, 1): {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3ECB_ISOpad (1 3 36 3 1 3 1 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 03 02 01',
+ 'name': 'des_3ECB_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 3, 1, 1, 1)},
+ (1, 3, 36, 3, 1, 3, 2, 1): {'comment': 'Teletrust encryption algorithm. EDE triple DES',
+ 'description': 'des_3CBC_pad (1 3 36 3 1 3 2 1)',
+ 'hexoid': '06 08 2B 24 03 01 03 02 01 01',
+ 'name': 'des_3CBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 3, 2, 1)},
+ (1, 3, 36, 3, 1, 3, 2, 1, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'des_3CBC_ISOpad (1 3 36 3 1 3 2 1 1)',
+ 'hexoid': '06 07 2B 24 03 01 02 01 01',
+ 'name': 'des_3CBC_ISOpad',
+ 'oid': (1, 3, 36, 3, 1, 3, 2, 1, 1)},
+ (1, 3, 36, 3, 1, 4, 512, 17): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'rsaEncryptionWithlmod512expe17 (1 3 36 3 1 4 512 17)',
+ 'hexoid': '06 05 2B 24 03 01 05',
+ 'name': 'rsaEncryptionWithlmod512expe17',
+ 'oid': (1, 3, 36, 3, 1, 4, 512, 17)},
+ (1, 3, 36, 3, 1, 5): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'bsi-1 (1 3 36 3 1 5)',
+ 'hexoid': '06 06 2B 24 03 01 05 01',
+ 'name': 'bsi-1',
+ 'oid': (1, 3, 36, 3, 1, 5)},
+ (1, 3, 36, 3, 1, 5, 1): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'bsi_1ECB_pad (1 3 36 3 1 5 1)',
+ 'hexoid': '06 06 2B 24 03 01 05 02',
+ 'name': 'bsi_1ECB_pad',
+ 'oid': (1, 3, 36, 3, 1, 5, 1)},
+ (1, 3, 36, 3, 1, 5, 2): {'comment': 'Teletrust encryption algorithm',
+ 'description': 'bsi_1CBC_pad (1 3 36 3 1 5 2)',
+ 'hexoid': '06 07 2B 24 03 01 05 02 01',
+ 'name': 'bsi_1CBC_pad',
+ 'oid': (1, 3, 36, 3, 1, 5, 2)},
+ (1, 3, 36, 3, 1, 5, 2, 1): {'comment': 'Teletrust algorithm',
+ 'description': 'bsi_1CBC_PEMpad (1 3 36 3 1 5 2 1)',
+ 'hexoid': '06 04 2B 24 03 02',
+ 'name': 'bsi_1CBC_PEMpad',
+ 'oid': (1, 3, 36, 3, 1, 5, 2, 1)},
+ (1, 3, 36, 3, 2): {'comment': 'Teletrust hash algorithm',
+ 'description': 'hashAlgorithm (1 3 36 3 2)',
+ 'hexoid': '06 05 2B 24 03 02 03',
+ 'name': 'hashAlgorithm',
+ 'oid': (1, 3, 36, 3, 2)},
+ (1, 3, 36, 3, 2, 3): {'comment': 'Teletrust hash algorithm',
+ 'description': 'ripemd256 (1 3 36 3 2 3)',
+ 'hexoid': '06 05 2B 24 03 02 04',
+ 'name': 'ripemd256',
+ 'oid': (1, 3, 36, 3, 2, 3)},
+ (1, 3, 36, 3, 2, 4): {'comment': 'Teletrust hash algorithm',
+ 'description': 'mdc2singleLength (1 3 36 3 2 4)',
+ 'hexoid': '06 05 2B 24 03 02 05',
+ 'name': 'mdc2singleLength',
+ 'oid': (1, 3, 36, 3, 2, 4)},
+ (1, 3, 36, 3, 2, 5): {'comment': 'Teletrust algorithm',
+ 'description': 'mdc2doubleLength (1 3 36 3 2 5)',
+ 'hexoid': '06 04 2B 24 03 03',
+ 'name': 'mdc2doubleLength',
+ 'oid': (1, 3, 36, 3, 2, 5)},
+ (1, 3, 36, 3, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'signatureAlgorithm (1 3 36 3 3)',
+ 'hexoid': '06 06 2B 24 03 03 01 01',
+ 'name': 'signatureAlgorithm',
+ 'oid': (1, 3, 36, 3, 3)},
+ (1, 3, 36, 3, 3, 1, 1): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1 (1 3 36 3 3 1 1)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 02',
+ 'name': 'rsaSignatureWithsha1',
+ 'oid': (1, 3, 36, 3, 3, 1, 1)},
+ (1, 3, 36, 3, 3, 1, 1, 512, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l2 (1 3 36 3 3 1 1 512 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 02',
+ 'name': 'rsaSignatureWithsha1_l512_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 2)},
+ (1, 3, 36, 3, 3, 1, 1, 512, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l3 (1 3 36 3 3 1 1 512 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 03',
+ 'name': 'rsaSignatureWithsha1_l512_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 3)},
+ (1, 3, 36, 3, 3, 1, 1, 512, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l5 (1 3 36 3 3 1 1 512 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 05',
+ 'name': 'rsaSignatureWithsha1_l512_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 5)},
+ (1, 3, 36, 3, 3, 1, 1, 512, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l9 (1 3 36 3 3 1 1 512 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 09',
+ 'name': 'rsaSignatureWithsha1_l512_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 9)},
+ (1, 3, 36, 3, 3, 1, 1, 512, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l512_l11 (1 3 36 3 3 1 1 512 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 85 00 11',
+ 'name': 'rsaSignatureWithsha1_l512_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 512, 11)},
+ (1, 3, 36, 3, 3, 1, 1, 640, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l2 (1 3 36 3 3 1 1 640 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 02',
+ 'name': 'rsaSignatureWithsha1_l640_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 2)},
+ (1, 3, 36, 3, 3, 1, 1, 640, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l3 (1 3 36 3 3 1 1 640 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 03',
+ 'name': 'rsaSignatureWithsha1_l640_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 3)},
+ (1, 3, 36, 3, 3, 1, 1, 640, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l5 (1 3 36 3 3 1 1 640 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 05',
+ 'name': 'rsaSignatureWithsha1_l640_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 5)},
+ (1, 3, 36, 3, 3, 1, 1, 640, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l9 (1 3 36 3 3 1 1 640 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 09',
+ 'name': 'rsaSignatureWithsha1_l640_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 9)},
+ (1, 3, 36, 3, 3, 1, 1, 640, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l640_l11 (1 3 36 3 3 1 1 640 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 86 00 11',
+ 'name': 'rsaSignatureWithsha1_l640_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 640, 11)},
+ (1, 3, 36, 3, 3, 1, 1, 768, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l2 (1 3 36 3 3 1 1 768 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 02',
+ 'name': 'rsaSignatureWithsha1_l768_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 2)},
+ (1, 3, 36, 3, 3, 1, 1, 768, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l3 (1 3 36 3 3 1 1 768 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 03',
+ 'name': 'rsaSignatureWithsha1_l768_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 3)},
+ (1, 3, 36, 3, 3, 1, 1, 768, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l5 (1 3 36 3 3 1 1 768 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 05',
+ 'name': 'rsaSignatureWithsha1_l768_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 5)},
+ (1, 3, 36, 3, 3, 1, 1, 768, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l9 (1 3 36 3 3 1 1 768 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 09',
+ 'name': 'rsaSignatureWithsha1_l768_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 9)},
+ (1, 3, 36, 3, 3, 1, 1, 768, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l768_l11 (1 3 36 3 3 1 1 768 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 87 00 11',
+ 'name': 'rsaSignatureWithsha1_l768_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 768, 11)},
+ (1, 3, 36, 3, 3, 1, 1, 892, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l2 (1 3 36 3 3 1 1 892 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 02',
+ 'name': 'rsaSignatureWithsha1_l896_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 892, 2)},
+ (1, 3, 36, 3, 3, 1, 1, 896, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l3 (1 3 36 3 3 1 1 896 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 03',
+ 'name': 'rsaSignatureWithsha1_l896_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 3)},
+ (1, 3, 36, 3, 3, 1, 1, 896, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l5 (1 3 36 3 3 1 1 896 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 05',
+ 'name': 'rsaSignatureWithsha1_l896_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 5)},
+ (1, 3, 36, 3, 3, 1, 1, 896, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l9 (1 3 36 3 3 1 1 896 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 09',
+ 'name': 'rsaSignatureWithsha1_l896_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 9)},
+ (1, 3, 36, 3, 3, 1, 1, 896, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l896_l11 (1 3 36 3 3 1 1 896 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 88 00 11',
+ 'name': 'rsaSignatureWithsha1_l896_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 896, 11)},
+ (1, 3, 36, 3, 3, 1, 1, 1024, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l2 (1 3 36 3 3 1 1 1024 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 03',
+ 'name': 'rsaSignatureWithsha1_l1024_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 2)},
+ (1, 3, 36, 3, 3, 1, 1, 1024, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l3 (1 3 36 3 3 1 1 1024 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 05',
+ 'name': 'rsaSignatureWithsha1_l1024_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 3)},
+ (1, 3, 36, 3, 3, 1, 1, 1024, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l5 (1 3 36 3 3 1 1 1024 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 09',
+ 'name': 'rsaSignatureWithsha1_l1024_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 5)},
+ (1, 3, 36, 3, 3, 1, 1, 1024, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l9 (1 3 36 3 3 1 1 1024 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 01 84 00 11',
+ 'name': 'rsaSignatureWithsha1_l1024_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 9)},
+ (1, 3, 36, 3, 3, 1, 1, 1024, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithsha1_l1024_l11 (1 3 36 3 3 1 1 1024 11)',
+ 'hexoid': '06 06 2B 24 03 03 01 02',
+ 'name': 'rsaSignatureWithsha1_l1024_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 1, 1024, 11)},
+ (1, 3, 36, 3, 3, 1, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160 (1 3 36 3 3 1 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 02',
+ 'name': 'rsaSignatureWithripemd160',
+ 'oid': (1, 3, 36, 3, 3, 1, 2)},
+ (1, 3, 36, 3, 3, 1, 2, 512, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l2 (1 3 36 3 3 1 2 512 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 02',
+ 'name': 'rsaSignatureWithripemd160_l512_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 2)},
+ (1, 3, 36, 3, 3, 1, 2, 512, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l3 (1 3 36 3 3 1 2 512 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 03',
+ 'name': 'rsaSignatureWithripemd160_l512_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 3)},
+ (1, 3, 36, 3, 3, 1, 2, 512, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l5 (1 3 36 3 3 1 2 512 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 05',
+ 'name': 'rsaSignatureWithripemd160_l512_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 5)},
+ (1, 3, 36, 3, 3, 1, 2, 512, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l9 (1 3 36 3 3 1 2 512 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 09',
+ 'name': 'rsaSignatureWithripemd160_l512_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 9)},
+ (1, 3, 36, 3, 3, 1, 2, 512, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l512_l11 (1 3 36 3 3 1 2 512 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 85 00 11',
+ 'name': 'rsaSignatureWithripemd160_l512_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 512, 11)},
+ (1, 3, 36, 3, 3, 1, 2, 640, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l2 (1 3 36 3 3 1 2 640 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 02',
+ 'name': 'rsaSignatureWithripemd160_l640_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 2)},
+ (1, 3, 36, 3, 3, 1, 2, 640, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l3 (1 3 36 3 3 1 2 640 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 03',
+ 'name': 'rsaSignatureWithripemd160_l640_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 3)},
+ (1, 3, 36, 3, 3, 1, 2, 640, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l5 (1 3 36 3 3 1 2 640 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 05',
+ 'name': 'rsaSignatureWithripemd160_l640_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 5)},
+ (1, 3, 36, 3, 3, 1, 2, 640, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l9 (1 3 36 3 3 1 2 640 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 09',
+ 'name': 'rsaSignatureWithripemd160_l640_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 9)},
+ (1, 3, 36, 3, 3, 1, 2, 640, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l640_l11 (1 3 36 3 3 1 2 640 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 86 00 11',
+ 'name': 'rsaSignatureWithripemd160_l640_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 640, 11)},
+ (1, 3, 36, 3, 3, 1, 2, 768, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l2 (1 3 36 3 3 1 2 768 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 02',
+ 'name': 'rsaSignatureWithripemd160_l768_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 2)},
+ (1, 3, 36, 3, 3, 1, 2, 768, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l3 (1 3 36 3 3 1 2 768 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 03',
+ 'name': 'rsaSignatureWithripemd160_l768_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 3)},
+ (1, 3, 36, 3, 3, 1, 2, 768, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l5 (1 3 36 3 3 1 2 768 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 05',
+ 'name': 'rsaSignatureWithripemd160_l768_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 5)},
+ (1, 3, 36, 3, 3, 1, 2, 768, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l9 (1 3 36 3 3 1 2 768 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 09',
+ 'name': 'rsaSignatureWithripemd160_l768_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 9)},
+ (1, 3, 36, 3, 3, 1, 2, 768, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l768_l11 (1 3 36 3 3 1 2 768 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 87 00 11',
+ 'name': 'rsaSignatureWithripemd160_l768_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 768, 11)},
+ (1, 3, 36, 3, 3, 1, 2, 892, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l2 (1 3 36 3 3 1 2 892 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 02',
+ 'name': 'rsaSignatureWithripemd160_l896_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 892, 2)},
+ (1, 3, 36, 3, 3, 1, 2, 896, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l3 (1 3 36 3 3 1 2 896 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 03',
+ 'name': 'rsaSignatureWithripemd160_l896_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 896, 3)},
+ (1, 3, 36, 3, 3, 1, 2, 896, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l5 (1 3 36 3 3 1 2 896 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 05',
+ 'name': 'rsaSignatureWithripemd160_l896_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 896, 5)},
+ (1, 3, 36, 3, 3, 1, 2, 896, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l9 (1 3 36 3 3 1 2 896 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 09',
+ 'name': 'rsaSignatureWithripemd160_l896_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 896, 9)},
+ (1, 3, 36, 3, 3, 1, 2, 896, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l896_l11 (1 3 36 3 3 1 2 896 11)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 88 00 11',
+ 'name': 'rsaSignatureWithripemd160_l896_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 896, 11)},
+ (1, 3, 36, 3, 3, 1, 2, 1024, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l2 (1 3 36 3 3 1 2 1024 2)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 03',
+ 'name': 'rsaSignatureWithripemd160_l1024_l2',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 1024, 2)},
+ (1, 3, 36, 3, 3, 1, 2, 1024, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l3 (1 3 36 3 3 1 2 1024 3)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 05',
+ 'name': 'rsaSignatureWithripemd160_l1024_l3',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 1024, 3)},
+ (1, 3, 36, 3, 3, 1, 2, 1024, 5): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l5 (1 3 36 3 3 1 2 1024 5)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 09',
+ 'name': 'rsaSignatureWithripemd160_l1024_l5',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 1024, 5)},
+ (1, 3, 36, 3, 3, 1, 2, 1024, 9): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l9 (1 3 36 3 3 1 2 1024 9)',
+ 'hexoid': '06 09 2B 24 03 03 01 02 84 00 11',
+ 'name': 'rsaSignatureWithripemd160_l1024_l9',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 1024, 9)},
+ (1, 3, 36, 3, 3, 1, 2, 1024, 11): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithripemd160_l1024_l11 (1 3 36 3 3 1 2 1024 11)',
+ 'hexoid': '06 06 2B 24 03 03 01 03',
+ 'name': 'rsaSignatureWithripemd160_l1024_l11',
+ 'oid': (1, 3, 36, 3, 3, 1, 2, 1024, 11)},
+ (1, 3, 36, 3, 3, 1, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithrimpemd128 (1 3 36 3 3 1 3)',
+ 'hexoid': '06 06 2B 24 03 03 01 04',
+ 'name': 'rsaSignatureWithrimpemd128',
+ 'oid': (1, 3, 36, 3, 3, 1, 3)},
+ (1, 3, 36, 3, 3, 1, 4): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaSignatureWithrimpemd256 (1 3 36 3 3 1 4)',
+ 'hexoid': '06 05 2B 24 03 03 02',
+ 'name': 'rsaSignatureWithrimpemd256',
+ 'oid': (1, 3, 36, 3, 3, 1, 4)},
+ (1, 3, 36, 3, 3, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSign (1 3 36 3 3 2)',
+ 'hexoid': '06 06 2B 24 03 03 02 01',
+ 'name': 'ecsieSign',
+ 'oid': (1, 3, 36, 3, 3, 2)},
+ (1, 3, 36, 3, 3, 2, 1): {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSignWithsha1 (1 3 36 3 3 2 1)',
+ 'hexoid': '06 06 2B 24 03 03 02 02',
+ 'name': 'ecsieSignWithsha1',
+ 'oid': (1, 3, 36, 3, 3, 2, 1)},
+ (1, 3, 36, 3, 3, 2, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSignWithripemd160 (1 3 36 3 3 2 2)',
+ 'hexoid': '06 06 2B 24 03 03 02 03',
+ 'name': 'ecsieSignWithripemd160',
+ 'oid': (1, 3, 36, 3, 3, 2, 2)},
+ (1, 3, 36, 3, 3, 2, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'ecsieSignWithmd2 (1 3 36 3 3 2 3)',
+ 'hexoid': '06 06 2B 24 03 03 02 04',
+ 'name': 'ecsieSignWithmd2',
+ 'oid': (1, 3, 36, 3, 3, 2, 3)},
+ (1, 3, 36, 3, 3, 2, 4): {'comment': 'Teletrust algorithm',
+ 'description': 'ecsieSignWithmd5 (1 3 36 3 3 2 4)',
+ 'hexoid': '06 04 2B 24 03 04',
+ 'name': 'ecsieSignWithmd5',
+ 'oid': (1, 3, 36, 3, 3, 2, 4)},
+ (1, 3, 36, 3, 4): {'comment': 'Teletrust signature scheme',
+ 'description': 'signatureScheme (1 3 36 3 4)',
+ 'hexoid': '06 05 2B 24 03 04 01',
+ 'name': 'signatureScheme',
+ 'oid': (1, 3, 36, 3, 4)},
+ (1, 3, 36, 3, 4, 1): {'comment': 'Teletrust signature scheme',
+ 'description': 'sigS_ISO9796-1 (1 3 36 3 4 1)',
+ 'hexoid': '06 05 2B 24 03 04 02',
+ 'name': 'sigS_ISO9796-1',
+ 'oid': (1, 3, 36, 3, 4, 1)},
+ (1, 3, 36, 3, 4, 2): {'comment': 'Teletrust signature scheme. Unsure what this is supposed to be',
+ 'description': 'sigS_ISO9796-2 (1 3 36 3 4 2)',
+ 'hexoid': '06 05 2B 24 03 04 02 01',
+ 'name': 'sigS_ISO9796-2',
+ 'oid': (1, 3, 36, 3, 4, 2)},
+ (1, 3, 36, 3, 4, 2, 1): {'comment': 'Teletrust signature scheme. Unsure what this is supposed to be',
+ 'description': 'sigS_ISO9796-2Withred (1 3 36 3 4 2 1)',
+ 'hexoid': '06 06 2B 24 03 04 02 02',
+ 'name': 'sigS_ISO9796-2Withred',
+ 'oid': (1, 3, 36, 3, 4, 2, 1)},
+ (1, 3, 36, 3, 4, 2, 2): {'comment': 'Teletrust signature scheme. 9796-2 with random number in padding field',
+ 'description': 'sigS_ISO9796-2Withrsa (1 3 36 3 4 2 2)',
+ 'hexoid': '06 06 2B 24 03 04 02 03',
+ 'name': 'sigS_ISO9796-2Withrsa',
+ 'oid': (1, 3, 36, 3, 4, 2, 2)},
+ (1, 3, 36, 3, 4, 2, 3): {'comment': 'Teletrust API',
+ 'description': 'sigS_ISO9796-2Withrnd (1 3 36 3 4 2 3)',
+ 'hexoid': '06 03 2B 24 06',
+ 'name': 'sigS_ISO9796-2Withrnd',
+ 'oid': (1, 3, 36, 3, 4, 2, 3)},
+ (1, 3, 36, 6): {'comment': 'Teletrust API',
+ 'description': 'api (1 3 36 6)',
+ 'hexoid': '06 04 2B 24 06 01',
+ 'name': 'api',
+ 'oid': (1, 3, 36, 6)},
+ (1, 3, 36, 6, 1): {'comment': 'Teletrust API',
+ 'description': 'manufacturer-specific_api (1 3 36 6 1)',
+ 'hexoid': '06 05 2B 24 06 01 01',
+ 'name': 'manufacturer-specific_api',
+ 'oid': (1, 3, 36, 6, 1)},
+ (1, 3, 36, 6, 1, 1): {'comment': 'Teletrust API',
+ 'description': 'utimaco-api (1 3 36 6 1 1)',
+ 'hexoid': '06 04 2B 24 06 02',
+ 'name': 'utimaco-api',
+ 'oid': (1, 3, 36, 6, 1, 1)},
+ (1, 3, 36, 6, 2): {'comment': 'Teletrust key management',
+ 'description': 'functionality-specific_api (1 3 36 6 2)',
+ 'hexoid': '06 03 2B 24 07',
+ 'name': 'functionality-specific_api',
+ 'oid': (1, 3, 36, 6, 2)},
+ (1, 3, 36, 7): {'comment': 'Teletrust key management',
+ 'description': 'keymgmnt (1 3 36 7)',
+ 'hexoid': '06 04 2B 24 07 01',
+ 'name': 'keymgmnt',
+ 'oid': (1, 3, 36, 7)},
+ (1, 3, 36, 7, 1): {'comment': 'Teletrust key management',
+ 'description': 'keyagree (1 3 36 7 1)',
+ 'hexoid': '06 05 2B 24 07 01 01',
+ 'name': 'keyagree',
+ 'oid': (1, 3, 36, 7, 1)},
+ (1, 3, 36, 7, 1, 1): {'comment': 'Teletrust key management',
+ 'description': 'bsiPKE (1 3 36 7 1 1)',
+ 'hexoid': '06 04 2B 24 07 02',
+ 'name': 'bsiPKE',
+ 'oid': (1, 3, 36, 7, 1, 1)},
+ (1, 3, 36, 7, 2): {'comment': 'Teletrust key management. 9796-2 with key stored in hash field',
+ 'description': 'keytrans (1 3 36 7 2)',
+ 'hexoid': '06 05 2B 24 07 02 01',
+ 'name': 'keytrans',
+ 'oid': (1, 3, 36, 7, 2)},
+ (1, 3, 36, 7, 2, 1): {'comment': 'Teletrust policy',
+ 'description': 'encISO9796-2Withrsa (1 3 36 7 2 1)',
+ 'hexoid': '06 05 2B 24 08 01 01',
+ 'name': 'encISO9796-2Withrsa',
+ 'oid': (1, 3, 36, 7, 2, 1)},
+ (1, 3, 36, 8, 1, 1): {'comment': 'Teletrust extended key usage',
+ 'description': 'Teletrust SigiSigConform policyIdentifier (1 3 36 8 1 1)',
+ 'hexoid': '06 05 2B 24 08 02 01',
+ 'name': 'Teletrust SigiSigConform policyIdentifier',
+ 'oid': (1, 3, 36, 8, 1, 1)},
+ (1, 3, 36, 8, 2, 1): {'comment': 'Teletrust attribute',
+ 'description': 'directoryService (1 3 36 8 2 1)',
+ 'hexoid': '06 05 2B 24 08 03 01',
+ 'name': 'directoryService',
+ 'oid': (1, 3, 36, 8, 2, 1)},
+ (1, 3, 36, 8, 3, 1): {'comment': 'Teletrust attribute',
+ 'description': 'dateOfCertGen (1 3 36 8 3 1)',
+ 'hexoid': '06 05 2B 24 08 03 02',
+ 'name': 'dateOfCertGen',
+ 'oid': (1, 3, 36, 8, 3, 1)},
+ (1, 3, 36, 8, 3, 2): {'comment': 'Teletrust attribute',
+ 'description': 'procuration (1 3 36 8 3 2)',
+ 'hexoid': '06 05 2B 24 08 03 03',
+ 'name': 'procuration',
+ 'oid': (1, 3, 36, 8, 3, 2)},
+ (1, 3, 36, 8, 3, 3): {'comment': 'Teletrust attribute',
+ 'description': 'admission (1 3 36 8 3 3)',
+ 'hexoid': '06 05 2B 24 08 03 04',
+ 'name': 'admission',
+ 'oid': (1, 3, 36, 8, 3, 3)},
+ (1, 3, 36, 8, 3, 4): {'comment': 'Teletrust attribute',
+ 'description': 'monetaryLimit (1 3 36 8 3 4)',
+ 'hexoid': '06 05 2B 24 08 03 05',
+ 'name': 'monetaryLimit',
+ 'oid': (1, 3, 36, 8, 3, 4)},
+ (1, 3, 36, 8, 3, 5): {'comment': 'Teletrust attribute',
+ 'description': 'declarationOfMajority (1 3 36 8 3 5)',
+ 'hexoid': '06 05 2B 24 08 03 06',
+ 'name': 'declarationOfMajority',
+ 'oid': (1, 3, 36, 8, 3, 5)},
+ (1, 3, 36, 8, 3, 6): {'comment': 'Teletrust attribute',
+ 'description': 'integratedCircuitCardSerialNumber (1 3 36 8 3 6)',
+ 'hexoid': '06 05 2B 24 08 03 07',
+ 'name': 'integratedCircuitCardSerialNumber',
+ 'oid': (1, 3, 36, 8, 3, 6)},
+ (1, 3, 36, 8, 3, 7): {'comment': 'Teletrust attribute',
+ 'description': 'pKReference (1 3 36 8 3 7)',
+ 'hexoid': '06 05 2B 24 08 03 09',
+ 'name': 'pKReference',
+ 'oid': (1, 3, 36, 8, 3, 7)},
+ (1, 3, 36, 8, 3, 9): {'comment': 'Teletrust attribute',
+ 'description': 'retrieveIfAllowed (1 3 36 8 3 9)',
+ 'hexoid': '06 05 2B 24 08 03 0A',
+ 'name': 'retrieveIfAllowed',
+ 'oid': (1, 3, 36, 8, 3, 9)},
+ (1, 3, 36, 8, 3, 10): {'comment': 'Teletrust attribute',
+ 'description': 'requestedCertificate (1 3 36 8 3 10)',
+ 'hexoid': '06 05 2B 24 08 03 0B',
+ 'name': 'requestedCertificate',
+ 'oid': (1, 3, 36, 8, 3, 10)},
+ (1, 3, 36, 8, 3, 11): {'comment': 'Teletrust attribute',
+ 'description': 'namingAuthorities (1 3 36 8 3 11)',
+ 'hexoid': '06 05 2B 24 08 03 0C',
+ 'name': 'namingAuthorities',
+ 'oid': (1, 3, 36, 8, 3, 11)},
+ (1, 3, 36, 8, 3, 12): {'comment': 'Teletrust attribute',
+ 'description': 'certInDirSince (1 3 36 8 3 12)',
+ 'hexoid': '06 05 2B 24 08 03 0D',
+ 'name': 'certInDirSince',
+ 'oid': (1, 3, 36, 8, 3, 12)},
+ (1, 3, 36, 8, 3, 13): {'comment': 'Teletrust attribute certificate attribute',
+ 'description': 'certHash (1 3 36 8 3 13)',
+ 'hexoid': '06 05 2B 24 08 04 08',
+ 'name': 'certHash',
+ 'oid': (1, 3, 36, 8, 3, 13)},
+ (1, 3, 36, 8, 4, 8): {'comment': 'Teletrust signature algorithm',
+ 'description': 'restriction (1 3 36 8 4 8)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 01',
+ 'name': 'restriction',
+ 'oid': (1, 3, 36, 8, 4, 8)},
+ (1, 3, 36, 8, 5, 1, 1, 1): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaIndicateSHA1 (1 3 36 8 5 1 1 1)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 02',
+ 'name': 'rsaIndicateSHA1',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 1)},
+ (1, 3, 36, 8, 5, 1, 1, 2): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaIndicateRIPEMD160 (1 3 36 8 5 1 1 2)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 03',
+ 'name': 'rsaIndicateRIPEMD160',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 2)},
+ (1, 3, 36, 8, 5, 1, 1, 3): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaWithSHA1 (1 3 36 8 5 1 1 3)',
+ 'hexoid': '06 07 2B 24 08 05 01 01 04',
+ 'name': 'rsaWithSHA1',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 3)},
+ (1, 3, 36, 8, 5, 1, 1, 4): {'comment': 'Teletrust signature algorithm',
+ 'description': 'rsaWithRIPEMD160 (1 3 36 8 5 1 1 4)',
+ 'hexoid': '06 07 2B 24 08 05 01 02 01',
+ 'name': 'rsaWithRIPEMD160',
+ 'oid': (1, 3, 36, 8, 5, 1, 1, 4)},
+ (1, 3, 36, 8, 5, 1, 2, 1): {'comment': 'Teletrust signature algorithm',
+ 'description': 'dsaExtended (1 3 36 8 5 1 2 1)',
+ 'hexoid': '06 07 2B 24 08 05 01 02 02',
+ 'name': 'dsaExtended',
+ 'oid': (1, 3, 36, 8, 5, 1, 2, 1)},
+ (1, 3, 36, 8, 5, 1, 2, 2): {'comment': 'Teletrust signature attributes',
+ 'description': 'dsaWithRIPEMD160 (1 3 36 8 5 1 2 2)',
+ 'hexoid': '06 05 2B 24 08 06 02',
+ 'name': 'dsaWithRIPEMD160',
+ 'oid': (1, 3, 36, 8, 5, 1, 2, 2)},
+ (1, 3, 36, 8, 6, 2): {'comment': 'Teletrust signature attributes',
+ 'description': 'certRef (1 3 36 8 6 2)',
+ 'hexoid': '06 05 2B 24 08 06 03',
+ 'name': 'certRef',
+ 'oid': (1, 3, 36, 8, 6, 2)},
+ (1, 3, 36, 8, 6, 3): {'comment': 'Teletrust signature attributes',
+ 'description': 'attrCert (1 3 36 8 6 3)',
+ 'hexoid': '06 05 2B 24 08 06 04',
+ 'name': 'attrCert',
+ 'oid': (1, 3, 36, 8, 6, 3)},
+ (1, 3, 36, 8, 6, 4): {'comment': 'Teletrust signature attributes',
+ 'description': 'attrRef (1 3 36 8 6 4)',
+ 'hexoid': '06 05 2B 24 08 06 05',
+ 'name': 'attrRef',
+ 'oid': (1, 3, 36, 8, 6, 4)},
+ (1, 3, 36, 8, 6, 5): {'comment': 'Teletrust signature attributes',
+ 'description': 'fileName (1 3 36 8 6 5)',
+ 'hexoid': '06 05 2B 24 08 06 06',
+ 'name': 'fileName',
+ 'oid': (1, 3, 36, 8, 6, 5)},
+ (1, 3, 36, 8, 6, 6): {'comment': 'Teletrust signature attributes',
+ 'description': 'storageTime (1 3 36 8 6 6)',
+ 'hexoid': '06 05 2B 24 08 06 07',
+ 'name': 'storageTime',
+ 'oid': (1, 3, 36, 8, 6, 6)},
+ (1, 3, 36, 8, 6, 7): {'comment': 'Teletrust signature attributes',
+ 'description': 'fileSize (1 3 36 8 6 7)',
+ 'hexoid': '06 05 2B 24 08 06 08',
+ 'name': 'fileSize',
+ 'oid': (1, 3, 36, 8, 6, 7)},
+ (1, 3, 36, 8, 6, 8): {'comment': 'Teletrust signature attributes',
+ 'description': 'location (1 3 36 8 6 8)',
+ 'hexoid': '06 05 2B 24 08 06 09',
+ 'name': 'location',
+ 'oid': (1, 3, 36, 8, 6, 8)},
+ (1, 3, 36, 8, 6, 9): {'comment': 'Teletrust signature attributes',
+ 'description': 'sigNumber (1 3 36 8 6 9)',
+ 'hexoid': '06 05 2B 24 08 06 0A',
+ 'name': 'sigNumber',
+ 'oid': (1, 3, 36, 8, 6, 9)},
+ (1, 3, 36, 8, 6, 10): {'comment': 'Teletrust presentation types',
+ 'description': 'autoGen (1 3 36 8 6 10)',
+ 'hexoid': '06 06 2B 24 08 07 01 01',
+ 'name': 'autoGen',
+ 'oid': (1, 3, 36, 8, 6, 10)},
+ (1, 3, 36, 8, 7, 1, 1): {'comment': 'Teletrust presentation types',
+ 'description': 'ptAdobeILL (1 3 36 8 7 1 1)',
+ 'hexoid': '06 06 2B 24 08 07 01 02',
+ 'name': 'ptAdobeILL',
+ 'oid': (1, 3, 36, 8, 7, 1, 1)},
+ (1, 3, 36, 8, 7, 1, 2): {'comment': 'Teletrust presentation types',
+ 'description': 'ptAmiPro (1 3 36 8 7 1 2)',
+ 'hexoid': '06 06 2B 24 08 07 01 03',
+ 'name': 'ptAmiPro',
+ 'oid': (1, 3, 36, 8, 7, 1, 2)},
+ (1, 3, 36, 8, 7, 1, 3): {'comment': 'Teletrust presentation types',
+ 'description': 'ptAutoCAD (1 3 36 8 7 1 3)',
+ 'hexoid': '06 06 2B 24 08 07 01 04',
+ 'name': 'ptAutoCAD',
+ 'oid': (1, 3, 36, 8, 7, 1, 3)},
+ (1, 3, 36, 8, 7, 1, 4): {'comment': 'Teletrust presentation types',
+ 'description': 'ptBinary (1 3 36 8 7 1 4)',
+ 'hexoid': '06 06 2B 24 08 07 01 05',
+ 'name': 'ptBinary',
+ 'oid': (1, 3, 36, 8, 7, 1, 4)},
+ (1, 3, 36, 8, 7, 1, 5): {'comment': 'Teletrust presentation types',
+ 'description': 'ptBMP (1 3 36 8 7 1 5)',
+ 'hexoid': '06 06 2B 24 08 07 01 06',
+ 'name': 'ptBMP',
+ 'oid': (1, 3, 36, 8, 7, 1, 5)},
+ (1, 3, 36, 8, 7, 1, 6): {'comment': 'Teletrust presentation types',
+ 'description': 'ptCGM (1 3 36 8 7 1 6)',
+ 'hexoid': '06 06 2B 24 08 07 01 07',
+ 'name': 'ptCGM',
+ 'oid': (1, 3, 36, 8, 7, 1, 6)},
+ (1, 3, 36, 8, 7, 1, 7): {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelCRT (1 3 36 8 7 1 7)',
+ 'hexoid': '06 06 2B 24 08 07 01 08',
+ 'name': 'ptCorelCRT',
+ 'oid': (1, 3, 36, 8, 7, 1, 7)},
+ (1, 3, 36, 8, 7, 1, 8): {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelDRW (1 3 36 8 7 1 8)',
+ 'hexoid': '06 06 2B 24 08 07 01 09',
+ 'name': 'ptCorelDRW',
+ 'oid': (1, 3, 36, 8, 7, 1, 8)},
+ (1, 3, 36, 8, 7, 1, 9): {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelEXC (1 3 36 8 7 1 9)',
+ 'hexoid': '06 06 2B 24 08 07 01 0A',
+ 'name': 'ptCorelEXC',
+ 'oid': (1, 3, 36, 8, 7, 1, 9)},
+ (1, 3, 36, 8, 7, 1, 10): {'comment': 'Teletrust presentation types',
+ 'description': 'ptCorelPHT (1 3 36 8 7 1 10)',
+ 'hexoid': '06 06 2B 24 08 07 01 0B',
+ 'name': 'ptCorelPHT',
+ 'oid': (1, 3, 36, 8, 7, 1, 10)},
+ (1, 3, 36, 8, 7, 1, 11): {'comment': 'Teletrust presentation types',
+ 'description': 'ptDraw (1 3 36 8 7 1 11)',
+ 'hexoid': '06 06 2B 24 08 07 01 0C',
+ 'name': 'ptDraw',
+ 'oid': (1, 3, 36, 8, 7, 1, 11)},
+ (1, 3, 36, 8, 7, 1, 12): {'comment': 'Teletrust presentation types',
+ 'description': 'ptDVI (1 3 36 8 7 1 12)',
+ 'hexoid': '06 06 2B 24 08 07 01 0D',
+ 'name': 'ptDVI',
+ 'oid': (1, 3, 36, 8, 7, 1, 12)},
+ (1, 3, 36, 8, 7, 1, 13): {'comment': 'Teletrust presentation types',
+ 'description': 'ptEPS (1 3 36 8 7 1 13)',
+ 'hexoid': '06 06 2B 24 08 07 01 0E',
+ 'name': 'ptEPS',
+ 'oid': (1, 3, 36, 8, 7, 1, 13)},
+ (1, 3, 36, 8, 7, 1, 14): {'comment': 'Teletrust presentation types',
+ 'description': 'ptExcel (1 3 36 8 7 1 14)',
+ 'hexoid': '06 06 2B 24 08 07 01 0F',
+ 'name': 'ptExcel',
+ 'oid': (1, 3, 36, 8, 7, 1, 14)},
+ (1, 3, 36, 8, 7, 1, 15): {'comment': 'Teletrust presentation types',
+ 'description': 'ptGEM (1 3 36 8 7 1 15)',
+ 'hexoid': '06 06 2B 24 08 07 01 10',
+ 'name': 'ptGEM',
+ 'oid': (1, 3, 36, 8, 7, 1, 15)},
+ (1, 3, 36, 8, 7, 1, 16): {'comment': 'Teletrust presentation types',
+ 'description': 'ptGIF (1 3 36 8 7 1 16)',
+ 'hexoid': '06 06 2B 24 08 07 01 11',
+ 'name': 'ptGIF',
+ 'oid': (1, 3, 36, 8, 7, 1, 16)},
+ (1, 3, 36, 8, 7, 1, 17): {'comment': 'Teletrust presentation types',
+ 'description': 'ptHPGL (1 3 36 8 7 1 17)',
+ 'hexoid': '06 06 2B 24 08 07 01 12',
+ 'name': 'ptHPGL',
+ 'oid': (1, 3, 36, 8, 7, 1, 17)},
+ (1, 3, 36, 8, 7, 1, 18): {'comment': 'Teletrust presentation types',
+ 'description': 'ptJPEG (1 3 36 8 7 1 18)',
+ 'hexoid': '06 06 2B 24 08 07 01 13',
+ 'name': 'ptJPEG',
+ 'oid': (1, 3, 36, 8, 7, 1, 18)},
+ (1, 3, 36, 8, 7, 1, 19): {'comment': 'Teletrust presentation types',
+ 'description': 'ptKodak (1 3 36 8 7 1 19)',
+ 'hexoid': '06 06 2B 24 08 07 01 14',
+ 'name': 'ptKodak',
+ 'oid': (1, 3, 36, 8, 7, 1, 19)},
+ (1, 3, 36, 8, 7, 1, 20): {'comment': 'Teletrust presentation types',
+ 'description': 'ptLaTeX (1 3 36 8 7 1 20)',
+ 'hexoid': '06 06 2B 24 08 07 01 15',
+ 'name': 'ptLaTeX',
+ 'oid': (1, 3, 36, 8, 7, 1, 20)},
+ (1, 3, 36, 8, 7, 1, 21): {'comment': 'Teletrust presentation types',
+ 'description': 'ptLotus (1 3 36 8 7 1 21)',
+ 'hexoid': '06 06 2B 24 08 07 01 16',
+ 'name': 'ptLotus',
+ 'oid': (1, 3, 36, 8, 7, 1, 21)},
+ (1, 3, 36, 8, 7, 1, 22): {'comment': 'Teletrust presentation types',
+ 'description': 'ptLotusPIC (1 3 36 8 7 1 22)',
+ 'hexoid': '06 06 2B 24 08 07 01 17',
+ 'name': 'ptLotusPIC',
+ 'oid': (1, 3, 36, 8, 7, 1, 22)},
+ (1, 3, 36, 8, 7, 1, 23): {'comment': 'Teletrust presentation types',
+ 'description': 'ptMacPICT (1 3 36 8 7 1 23)',
+ 'hexoid': '06 06 2B 24 08 07 01 18',
+ 'name': 'ptMacPICT',
+ 'oid': (1, 3, 36, 8, 7, 1, 23)},
+ (1, 3, 36, 8, 7, 1, 24): {'comment': 'Teletrust presentation types',
+ 'description': 'ptMacWord (1 3 36 8 7 1 24)',
+ 'hexoid': '06 06 2B 24 08 07 01 19',
+ 'name': 'ptMacWord',
+ 'oid': (1, 3, 36, 8, 7, 1, 24)},
+ (1, 3, 36, 8, 7, 1, 25): {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWfD (1 3 36 8 7 1 25)',
+ 'hexoid': '06 06 2B 24 08 07 01 1A',
+ 'name': 'ptMSWfD',
+ 'oid': (1, 3, 36, 8, 7, 1, 25)},
+ (1, 3, 36, 8, 7, 1, 26): {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord (1 3 36 8 7 1 26)',
+ 'hexoid': '06 06 2B 24 08 07 01 1B',
+ 'name': 'ptMSWord',
+ 'oid': (1, 3, 36, 8, 7, 1, 26)},
+ (1, 3, 36, 8, 7, 1, 27): {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord2 (1 3 36 8 7 1 27)',
+ 'hexoid': '06 06 2B 24 08 07 01 1C',
+ 'name': 'ptMSWord2',
+ 'oid': (1, 3, 36, 8, 7, 1, 27)},
+ (1, 3, 36, 8, 7, 1, 28): {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord6 (1 3 36 8 7 1 28)',
+ 'hexoid': '06 06 2B 24 08 07 01 1D',
+ 'name': 'ptMSWord6',
+ 'oid': (1, 3, 36, 8, 7, 1, 28)},
+ (1, 3, 36, 8, 7, 1, 29): {'comment': 'Teletrust presentation types',
+ 'description': 'ptMSWord8 (1 3 36 8 7 1 29)',
+ 'hexoid': '06 06 2B 24 08 07 01 1E',
+ 'name': 'ptMSWord8',
+ 'oid': (1, 3, 36, 8, 7, 1, 29)},
+ (1, 3, 36, 8, 7, 1, 30): {'comment': 'Teletrust presentation types',
+ 'description': 'ptPDF (1 3 36 8 7 1 30)',
+ 'hexoid': '06 06 2B 24 08 07 01 1F',
+ 'name': 'ptPDF',
+ 'oid': (1, 3, 36, 8, 7, 1, 30)},
+ (1, 3, 36, 8, 7, 1, 31): {'comment': 'Teletrust presentation types',
+ 'description': 'ptPIF (1 3 36 8 7 1 31)',
+ 'hexoid': '06 06 2B 24 08 07 01 20',
+ 'name': 'ptPIF',
+ 'oid': (1, 3, 36, 8, 7, 1, 31)},
+ (1, 3, 36, 8, 7, 1, 32): {'comment': 'Teletrust presentation types',
+ 'description': 'ptPostscript (1 3 36 8 7 1 32)',
+ 'hexoid': '06 06 2B 24 08 07 01 21',
+ 'name': 'ptPostscript',
+ 'oid': (1, 3, 36, 8, 7, 1, 32)},
+ (1, 3, 36, 8, 7, 1, 33): {'comment': 'Teletrust presentation types',
+ 'description': 'ptRTF (1 3 36 8 7 1 33)',
+ 'hexoid': '06 06 2B 24 08 07 01 22',
+ 'name': 'ptRTF',
+ 'oid': (1, 3, 36, 8, 7, 1, 33)},
+ (1, 3, 36, 8, 7, 1, 34): {'comment': 'Teletrust presentation types',
+ 'description': 'ptSCITEX (1 3 36 8 7 1 34)',
+ 'hexoid': '06 06 2B 24 08 07 01 23',
+ 'name': 'ptSCITEX',
+ 'oid': (1, 3, 36, 8, 7, 1, 34)},
+ (1, 3, 36, 8, 7, 1, 35): {'comment': 'Teletrust presentation types',
+ 'description': 'ptTAR (1 3 36 8 7 1 35)',
+ 'hexoid': '06 06 2B 24 08 07 01 24',
+ 'name': 'ptTAR',
+ 'oid': (1, 3, 36, 8, 7, 1, 35)},
+ (1, 3, 36, 8, 7, 1, 36): {'comment': 'Teletrust presentation types',
+ 'description': 'ptTarga (1 3 36 8 7 1 36)',
+ 'hexoid': '06 06 2B 24 08 07 01 25',
+ 'name': 'ptTarga',
+ 'oid': (1, 3, 36, 8, 7, 1, 36)},
+ (1, 3, 36, 8, 7, 1, 37): {'comment': 'Teletrust presentation types',
+ 'description': 'ptTeX (1 3 36 8 7 1 37)',
+ 'hexoid': '06 06 2B 24 08 07 01 26',
+ 'name': 'ptTeX',
+ 'oid': (1, 3, 36, 8, 7, 1, 37)},
+ (1, 3, 36, 8, 7, 1, 38): {'comment': 'Teletrust presentation types',
+ 'description': 'ptText (1 3 36 8 7 1 38)',
+ 'hexoid': '06 06 2B 24 08 07 01 27',
+ 'name': 'ptText',
+ 'oid': (1, 3, 36, 8, 7, 1, 38)},
+ (1, 3, 36, 8, 7, 1, 39): {'comment': 'Teletrust presentation types',
+ 'description': 'ptTIFF (1 3 36 8 7 1 39)',
+ 'hexoid': '06 06 2B 24 08 07 01 28',
+ 'name': 'ptTIFF',
+ 'oid': (1, 3, 36, 8, 7, 1, 39)},
+ (1, 3, 36, 8, 7, 1, 40): {'comment': 'Teletrust presentation types',
+ 'description': 'ptTIFF-FC (1 3 36 8 7 1 40)',
+ 'hexoid': '06 06 2B 24 08 07 01 29',
+ 'name': 'ptTIFF-FC',
+ 'oid': (1, 3, 36, 8, 7, 1, 40)},
+ (1, 3, 36, 8, 7, 1, 41): {'comment': 'Teletrust presentation types',
+ 'description': 'ptUID (1 3 36 8 7 1 41)',
+ 'hexoid': '06 06 2B 24 08 07 01 2A',
+ 'name': 'ptUID',
+ 'oid': (1, 3, 36, 8, 7, 1, 41)},
+ (1, 3, 36, 8, 7, 1, 42): {'comment': 'Teletrust presentation types',
+ 'description': 'ptUUEncode (1 3 36 8 7 1 42)',
+ 'hexoid': '06 06 2B 24 08 07 01 2B',
+ 'name': 'ptUUEncode',
+ 'oid': (1, 3, 36, 8, 7, 1, 42)},
+ (1, 3, 36, 8, 7, 1, 43): {'comment': 'Teletrust presentation types',
+ 'description': 'ptWMF (1 3 36 8 7 1 43)',
+ 'hexoid': '06 06 2B 24 08 07 01 2C',
+ 'name': 'ptWMF',
+ 'oid': (1, 3, 36, 8, 7, 1, 43)},
+ (1, 3, 36, 8, 7, 1, 44): {'comment': 'Teletrust presentation types',
+ 'description': 'ptWordPerfect (1 3 36 8 7 1 44)',
+ 'hexoid': '06 06 2B 24 08 07 01 2D',
+ 'name': 'ptWordPerfect',
+ 'oid': (1, 3, 36, 8, 7, 1, 44)},
+ (1, 3, 36, 8, 7, 1, 45): {'comment': 'Thawte',
+ 'description': 'ptWPGrph (1 3 36 8 7 1 45)',
+ 'hexoid': '06 04 2B 65 01 04',
+ 'name': 'ptWPGrph',
+ 'oid': (1, 3, 36, 8, 7, 1, 45)},
+ (1, 3, 101, 1, 4): {'comment': 'Thawte certificate extension',
+ 'description': 'thawte-ce (1 3 101 1 4)',
+ 'hexoid': '06 05 2B 65 01 04 01',
+ 'name': 'thawte-ce',
+ 'oid': (1, 3, 101, 1, 4)},
+ (1, 3, 101, 1, 4, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'strongExtranet (1 3 101 1 4 1)',
+ 'hexoid': '06 03 55 04 00',
+ 'name': 'strongExtranet',
+ 'oid': (1, 3, 101, 1, 4, 1)},
+ (2, 5, 4, 0): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'objectClass (2 5 4 0)',
+ 'hexoid': '06 03 55 04 01',
+ 'name': 'objectClass',
+ 'oid': (2, 5, 4, 0)},
+ (2, 5, 4, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'aliasedEntryName (2 5 4 1)',
+ 'hexoid': '06 03 55 04 02',
+ 'name': 'aliasedEntryName',
+ 'oid': (2, 5, 4, 1)},
+ (2, 5, 4, 2): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'knowledgeInformation (2 5 4 2)',
+ 'hexoid': '06 03 55 04 03',
+ 'name': 'knowledgeInformation',
+ 'oid': (2, 5, 4, 2)},
+ (2, 5, 4, 3): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'commonName (2 5 4 3)',
+ 'hexoid': '06 03 55 04 04',
+ 'name': 'commonName',
+ 'oid': (2, 5, 4, 3)},
+ (2, 5, 4, 4): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'surname (2 5 4 4)',
+ 'hexoid': '06 03 55 04 05',
+ 'name': 'surname',
+ 'oid': (2, 5, 4, 4)},
+ (2, 5, 4, 5): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'serialNumber (2 5 4 5)',
+ 'hexoid': '06 03 55 04 06',
+ 'name': 'serialNumber',
+ 'oid': (2, 5, 4, 5)},
+ (2, 5, 4, 6): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'countryName (2 5 4 6)',
+ 'hexoid': '06 03 55 04 07',
+ 'name': 'countryName',
+ 'oid': (2, 5, 4, 6)},
+ (2, 5, 4, 7): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'localityName (2 5 4 7)',
+ 'hexoid': '06 04 55 04 07 01',
+ 'name': 'localityName',
+ 'oid': (2, 5, 4, 7)},
+ (2, 5, 4, 7, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveLocalityName (2 5 4 7 1)',
+ 'hexoid': '06 03 55 04 08',
+ 'name': 'collectiveLocalityName',
+ 'oid': (2, 5, 4, 7, 1)},
+ (2, 5, 4, 8): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'stateOrProvinceName (2 5 4 8)',
+ 'hexoid': '06 04 55 04 08 01',
+ 'name': 'stateOrProvinceName',
+ 'oid': (2, 5, 4, 8)},
+ (2, 5, 4, 8, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveStateOrProvinceName (2 5 4 8 1)',
+ 'hexoid': '06 03 55 04 09',
+ 'name': 'collectiveStateOrProvinceName',
+ 'oid': (2, 5, 4, 8, 1)},
+ (2, 5, 4, 9): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'streetAddress (2 5 4 9)',
+ 'hexoid': '06 04 55 04 09 01',
+ 'name': 'streetAddress',
+ 'oid': (2, 5, 4, 9)},
+ (2, 5, 4, 9, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveStreetAddress (2 5 4 9 1)',
+ 'hexoid': '06 03 55 04 0A',
+ 'name': 'collectiveStreetAddress',
+ 'oid': (2, 5, 4, 9, 1)},
+ (2, 5, 4, 10): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'organizationName (2 5 4 10)',
+ 'hexoid': '06 04 55 04 0A 01',
+ 'name': 'organizationName',
+ 'oid': (2, 5, 4, 10)},
+ (2, 5, 4, 10, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveOrganizationName (2 5 4 10 1)',
+ 'hexoid': '06 03 55 04 0B',
+ 'name': 'collectiveOrganizationName',
+ 'oid': (2, 5, 4, 10, 1)},
+ (2, 5, 4, 11): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'organizationalUnitName (2 5 4 11)',
+ 'hexoid': '06 04 55 04 0B 01',
+ 'name': 'organizationalUnitName',
+ 'oid': (2, 5, 4, 11)},
+ (2, 5, 4, 11, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveOrganizationalUnitName (2 5 4 11 1)',
+ 'hexoid': '06 03 55 04 0C',
+ 'name': 'collectiveOrganizationalUnitName',
+ 'oid': (2, 5, 4, 11, 1)},
+ (2, 5, 4, 12): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'title (2 5 4 12)',
+ 'hexoid': '06 03 55 04 0D',
+ 'name': 'title',
+ 'oid': (2, 5, 4, 12)},
+ (2, 5, 4, 13): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'description (2 5 4 13)',
+ 'hexoid': '06 03 55 04 0E',
+ 'name': 'description',
+ 'oid': (2, 5, 4, 13)},
+ (2, 5, 4, 14): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'searchGuide (2 5 4 14)',
+ 'hexoid': '06 03 55 04 0F',
+ 'name': 'searchGuide',
+ 'oid': (2, 5, 4, 14)},
+ (2, 5, 4, 15): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'businessCategory (2 5 4 15)',
+ 'hexoid': '06 03 55 04 10',
+ 'name': 'businessCategory',
+ 'oid': (2, 5, 4, 15)},
+ (2, 5, 4, 16): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'postalAddress (2 5 4 16)',
+ 'hexoid': '06 04 55 04 10 01',
+ 'name': 'postalAddress',
+ 'oid': (2, 5, 4, 16)},
+ (2, 5, 4, 16, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePostalAddress (2 5 4 16 1)',
+ 'hexoid': '06 03 55 04 11',
+ 'name': 'collectivePostalAddress',
+ 'oid': (2, 5, 4, 16, 1)},
+ (2, 5, 4, 17): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'postalCode (2 5 4 17)',
+ 'hexoid': '06 04 55 04 11 01',
+ 'name': 'postalCode',
+ 'oid': (2, 5, 4, 17)},
+ (2, 5, 4, 17, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePostalCode (2 5 4 17 1)',
+ 'hexoid': '06 03 55 04 12',
+ 'name': 'collectivePostalCode',
+ 'oid': (2, 5, 4, 17, 1)},
+ (2, 5, 4, 18): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'postOfficeBox (2 5 4 18)',
+ 'hexoid': '06 04 55 04 12 01',
+ 'name': 'postOfficeBox',
+ 'oid': (2, 5, 4, 18)},
+ (2, 5, 4, 18, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePostOfficeBox (2 5 4 18 1)',
+ 'hexoid': '06 03 55 04 13',
+ 'name': 'collectivePostOfficeBox',
+ 'oid': (2, 5, 4, 18, 1)},
+ (2, 5, 4, 19): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'physicalDeliveryOfficeName (2 5 4 19)',
+ 'hexoid': '06 04 55 04 13 01',
+ 'name': 'physicalDeliveryOfficeName',
+ 'oid': (2, 5, 4, 19)},
+ (2, 5, 4, 19, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectivePhysicalDeliveryOfficeName (2 5 4 19 1)',
+ 'hexoid': '06 03 55 04 14',
+ 'name': 'collectivePhysicalDeliveryOfficeName',
+ 'oid': (2, 5, 4, 19, 1)},
+ (2, 5, 4, 20): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'telephoneNumber (2 5 4 20)',
+ 'hexoid': '06 04 55 04 14 01',
+ 'name': 'telephoneNumber',
+ 'oid': (2, 5, 4, 20)},
+ (2, 5, 4, 20, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveTelephoneNumber (2 5 4 20 1)',
+ 'hexoid': '06 03 55 04 15',
+ 'name': 'collectiveTelephoneNumber',
+ 'oid': (2, 5, 4, 20, 1)},
+ (2, 5, 4, 21): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'telexNumber (2 5 4 21)',
+ 'hexoid': '06 04 55 04 15 01',
+ 'name': 'telexNumber',
+ 'oid': (2, 5, 4, 21)},
+ (2, 5, 4, 21, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveTelexNumber (2 5 4 21 1)',
+ 'hexoid': '06 03 55 04 16',
+ 'name': 'collectiveTelexNumber',
+ 'oid': (2, 5, 4, 21, 1)},
+ (2, 5, 4, 22): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'teletexTerminalIdentifier (2 5 4 22)',
+ 'hexoid': '06 04 55 04 16 01',
+ 'name': 'teletexTerminalIdentifier',
+ 'oid': (2, 5, 4, 22)},
+ (2, 5, 4, 22, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveTeletexTerminalIdentifier (2 5 4 22 1)',
+ 'hexoid': '06 03 55 04 17',
+ 'name': 'collectiveTeletexTerminalIdentifier',
+ 'oid': (2, 5, 4, 22, 1)},
+ (2, 5, 4, 23): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'facsimileTelephoneNumber (2 5 4 23)',
+ 'hexoid': '06 04 55 04 17 01',
+ 'name': 'facsimileTelephoneNumber',
+ 'oid': (2, 5, 4, 23)},
+ (2, 5, 4, 23, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveFacsimileTelephoneNumber (2 5 4 23 1)',
+ 'hexoid': '06 03 55 04 18',
+ 'name': 'collectiveFacsimileTelephoneNumber',
+ 'oid': (2, 5, 4, 23, 1)},
+ (2, 5, 4, 24): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'x121Address (2 5 4 24)',
+ 'hexoid': '06 03 55 04 19',
+ 'name': 'x121Address',
+ 'oid': (2, 5, 4, 24)},
+ (2, 5, 4, 25): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'internationalISDNNumber (2 5 4 25)',
+ 'hexoid': '06 04 55 04 19 01',
+ 'name': 'internationalISDNNumber',
+ 'oid': (2, 5, 4, 25)},
+ (2, 5, 4, 25, 1): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'collectiveInternationalISDNNumber (2 5 4 25 1)',
+ 'hexoid': '06 03 55 04 1A',
+ 'name': 'collectiveInternationalISDNNumber',
+ 'oid': (2, 5, 4, 25, 1)},
+ (2, 5, 4, 26): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'registeredAddress (2 5 4 26)',
+ 'hexoid': '06 03 55 04 1B',
+ 'name': 'registeredAddress',
+ 'oid': (2, 5, 4, 26)},
+ (2, 5, 4, 27): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'destinationIndicator (2 5 4 27)',
+ 'hexoid': '06 03 55 04 1C',
+ 'name': 'destinationIndicator',
+ 'oid': (2, 5, 4, 27)},
+ (2, 5, 4, 28): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'preferredDeliveryMehtod (2 5 4 28)',
+ 'hexoid': '06 03 55 04 1D',
+ 'name': 'preferredDeliveryMehtod',
+ 'oid': (2, 5, 4, 28)},
+ (2, 5, 4, 29): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'presentationAddress (2 5 4 29)',
+ 'hexoid': '06 03 55 04 1E',
+ 'name': 'presentationAddress',
+ 'oid': (2, 5, 4, 29)},
+ (2, 5, 4, 30): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'supportedApplicationContext (2 5 4 30)',
+ 'hexoid': '06 03 55 04 1F',
+ 'name': 'supportedApplicationContext',
+ 'oid': (2, 5, 4, 30)},
+ (2, 5, 4, 31): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'member (2 5 4 31)',
+ 'hexoid': '06 03 55 04 20',
+ 'name': 'member',
+ 'oid': (2, 5, 4, 31)},
+ (2, 5, 4, 32): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'owner (2 5 4 32)',
+ 'hexoid': '06 03 55 04 21',
+ 'name': 'owner',
+ 'oid': (2, 5, 4, 32)},
+ (2, 5, 4, 33): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'roleOccupant (2 5 4 33)',
+ 'hexoid': '06 03 55 04 22',
+ 'name': 'roleOccupant',
+ 'oid': (2, 5, 4, 33)},
+ (2, 5, 4, 34): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'seeAlso (2 5 4 34)',
+ 'hexoid': '06 03 55 04 23',
+ 'name': 'seeAlso',
+ 'oid': (2, 5, 4, 34)},
+ (2, 5, 4, 35): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'userPassword (2 5 4 35)',
+ 'hexoid': '06 03 55 04 24',
+ 'name': 'userPassword',
+ 'oid': (2, 5, 4, 35)},
+ (2, 5, 4, 36): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'userCertificate (2 5 4 36)',
+ 'hexoid': '06 03 55 04 25',
+ 'name': 'userCertificate',
+ 'oid': (2, 5, 4, 36)},
+ (2, 5, 4, 37): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'caCertificate (2 5 4 37)',
+ 'hexoid': '06 03 55 04 26',
+ 'name': 'caCertificate',
+ 'oid': (2, 5, 4, 37)},
+ (2, 5, 4, 38): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'authorityRevocationList (2 5 4 38)',
+ 'hexoid': '06 03 55 04 27',
+ 'name': 'authorityRevocationList',
+ 'oid': (2, 5, 4, 38)},
+ (2, 5, 4, 39): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'certificateRevocationList (2 5 4 39)',
+ 'hexoid': '06 03 55 04 28',
+ 'name': 'certificateRevocationList',
+ 'oid': (2, 5, 4, 39)},
+ (2, 5, 4, 40): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'crossCertificatePair (2 5 4 40)',
+ 'hexoid': '06 03 55 04 29',
+ 'name': 'crossCertificatePair',
+ 'oid': (2, 5, 4, 40)},
+ (2, 5, 4, 41): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'name (2 5 4 41)',
+ 'hexoid': '06 03 55 04 2A',
+ 'name': 'name',
+ 'oid': (2, 5, 4, 41)},
+ (2, 5, 4, 42): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'givenName (2 5 4 42)',
+ 'hexoid': '06 03 55 04 2B',
+ 'name': 'givenName',
+ 'oid': (2, 5, 4, 42)},
+ (2, 5, 4, 43): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'initials (2 5 4 43)',
+ 'hexoid': '06 03 55 04 2C',
+ 'name': 'initials',
+ 'oid': (2, 5, 4, 43)},
+ (2, 5, 4, 44): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'generationQualifier (2 5 4 44)',
+ 'hexoid': '06 03 55 04 2D',
+ 'name': 'generationQualifier',
+ 'oid': (2, 5, 4, 44)},
+ (2, 5, 4, 45): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'uniqueIdentifier (2 5 4 45)',
+ 'hexoid': '06 03 55 04 2E',
+ 'name': 'uniqueIdentifier',
+ 'oid': (2, 5, 4, 45)},
+ (2, 5, 4, 46): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'dnQualifier (2 5 4 46)',
+ 'hexoid': '06 03 55 04 2F',
+ 'name': 'dnQualifier',
+ 'oid': (2, 5, 4, 46)},
+ (2, 5, 4, 47): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'enhancedSearchGuide (2 5 4 47)',
+ 'hexoid': '06 03 55 04 30',
+ 'name': 'enhancedSearchGuide',
+ 'oid': (2, 5, 4, 47)},
+ (2, 5, 4, 48): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'protocolInformation (2 5 4 48)',
+ 'hexoid': '06 03 55 04 31',
+ 'name': 'protocolInformation',
+ 'oid': (2, 5, 4, 48)},
+ (2, 5, 4, 49): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'distinguishedName (2 5 4 49)',
+ 'hexoid': '06 03 55 04 32',
+ 'name': 'distinguishedName',
+ 'oid': (2, 5, 4, 49)},
+ (2, 5, 4, 50): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'uniqueMember (2 5 4 50)',
+ 'hexoid': '06 03 55 04 33',
+ 'name': 'uniqueMember',
+ 'oid': (2, 5, 4, 50)},
+ (2, 5, 4, 51): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'houseIdentifier (2 5 4 51)',
+ 'hexoid': '06 03 55 04 34',
+ 'name': 'houseIdentifier',
+ 'oid': (2, 5, 4, 51)},
+ (2, 5, 4, 52): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'supportedAlgorithms (2 5 4 52)',
+ 'hexoid': '06 03 55 04 35',
+ 'name': 'supportedAlgorithms',
+ 'oid': (2, 5, 4, 52)},
+ (2, 5, 4, 53): {'comment': 'X.520 id-at (2 5 4)',
+ 'description': 'deltaRevocationList (2 5 4 53)',
+ 'hexoid': '06 03 55 04 36',
+ 'name': 'deltaRevocationList',
+ 'oid': (2, 5, 4, 53)},
+ (2, 5, 4, 55): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'clearance (2 5 4 55)',
+ 'hexoid': '06 03 55 06 00',
+ 'name': 'clearance',
+ 'oid': (2, 5, 4, 55)},
+ (2, 5, 6, 0): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'top (2 5 6 0)',
+ 'hexoid': '06 03 55 06 01',
+ 'name': 'top',
+ 'oid': (2, 5, 6, 0)},
+ (2, 5, 6, 1): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'alias (2 5 6 1)',
+ 'hexoid': '06 03 55 06 02',
+ 'name': 'alias',
+ 'oid': (2, 5, 6, 1)},
+ (2, 5, 6, 2): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'country (2 5 6 2)',
+ 'hexoid': '06 03 55 06 03',
+ 'name': 'country',
+ 'oid': (2, 5, 6, 2)},
+ (2, 5, 6, 3): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'locality (2 5 6 3)',
+ 'hexoid': '06 03 55 06 04',
+ 'name': 'locality',
+ 'oid': (2, 5, 6, 3)},
+ (2, 5, 6, 4): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organization (2 5 6 4)',
+ 'hexoid': '06 03 55 06 05',
+ 'name': 'organization',
+ 'oid': (2, 5, 6, 4)},
+ (2, 5, 6, 5): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organizationalUnit (2 5 6 5)',
+ 'hexoid': '06 03 55 06 06',
+ 'name': 'organizationalUnit',
+ 'oid': (2, 5, 6, 5)},
+ (2, 5, 6, 6): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'person (2 5 6 6)',
+ 'hexoid': '06 03 55 06 07',
+ 'name': 'person',
+ 'oid': (2, 5, 6, 6)},
+ (2, 5, 6, 7): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organizationalPerson (2 5 6 7)',
+ 'hexoid': '06 03 55 06 08',
+ 'name': 'organizationalPerson',
+ 'oid': (2, 5, 6, 7)},
+ (2, 5, 6, 8): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'organizationalRole (2 5 6 8)',
+ 'hexoid': '06 03 55 06 09',
+ 'name': 'organizationalRole',
+ 'oid': (2, 5, 6, 8)},
+ (2, 5, 6, 9): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'groupOfNames (2 5 6 9)',
+ 'hexoid': '06 03 55 06 0A',
+ 'name': 'groupOfNames',
+ 'oid': (2, 5, 6, 9)},
+ (2, 5, 6, 10): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'residentialPerson (2 5 6 10)',
+ 'hexoid': '06 03 55 06 0B',
+ 'name': 'residentialPerson',
+ 'oid': (2, 5, 6, 10)},
+ (2, 5, 6, 11): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'applicationProcess (2 5 6 11)',
+ 'hexoid': '06 03 55 06 0C',
+ 'name': 'applicationProcess',
+ 'oid': (2, 5, 6, 11)},
+ (2, 5, 6, 12): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'applicationEntity (2 5 6 12)',
+ 'hexoid': '06 03 55 06 0D',
+ 'name': 'applicationEntity',
+ 'oid': (2, 5, 6, 12)},
+ (2, 5, 6, 13): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'dSA (2 5 6 13)',
+ 'hexoid': '06 03 55 06 0E',
+ 'name': 'dSA',
+ 'oid': (2, 5, 6, 13)},
+ (2, 5, 6, 14): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'device (2 5 6 14)',
+ 'hexoid': '06 03 55 06 0F',
+ 'name': 'device',
+ 'oid': (2, 5, 6, 14)},
+ (2, 5, 6, 15): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'strongAuthenticationUser (2 5 6 15)',
+ 'hexoid': '06 03 55 06 10',
+ 'name': 'strongAuthenticationUser',
+ 'oid': (2, 5, 6, 15)},
+ (2, 5, 6, 16): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'certificateAuthority (2 5 6 16)',
+ 'hexoid': '06 03 55 06 11',
+ 'name': 'certificateAuthority',
+ 'oid': (2, 5, 6, 16)},
+ (2, 5, 6, 17): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'groupOfUniqueNames (2 5 6 17)',
+ 'hexoid': '06 03 55 06 15',
+ 'name': 'groupOfUniqueNames',
+ 'oid': (2, 5, 6, 17)},
+ (2, 5, 6, 21): {'comment': 'X.520 objectClass (2 5 6)',
+ 'description': 'pkiUser (2 5 6 21)',
+ 'hexoid': '06 03 55 06 16',
+ 'name': 'pkiUser',
+ 'oid': (2, 5, 6, 21)},
+ (2, 5, 8, 1): {'comment': 'X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead',
+ 'description': 'X.500-Alg-Encryption (2 5 8 1)',
+ 'hexoid': '06 03 55 1D 02',
+ 'name': 'X.500-Alg-Encryption',
+ 'oid': (2, 5, 8, 1)},
+ (2, 5, 29, 2): {'comment': 'X.509 id-ce (2 5 29). Obsolete, use keyUsage/extKeyUsage instead',
+ 'description': 'keyAttributes (2 5 29 2)',
+ 'hexoid': '06 03 55 1D 04',
+ 'name': 'keyAttributes',
+ 'oid': (2, 5, 29, 2)},
+ (2, 5, 29, 4): {'comment': 'X.509 id-ce (2 5 29). Deprecated, use (2 5 29 33) instead',
+ 'description': 'keyUsageRestriction (2 5 29 4)',
+ 'hexoid': '06 03 55 1D 05',
+ 'name': 'keyUsageRestriction',
+ 'oid': (2, 5, 29, 4)},
+ (2, 5, 29, 5): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'policyMapping (2 5 29 5)',
+ 'hexoid': '06 03 55 1D 09',
+ 'name': 'policyMapping',
+ 'oid': (2, 5, 29, 5)},
+ (2, 5, 29, 9): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'subjectDirectoryAttributes (2 5 29 9)',
+ 'hexoid': '06 03 55 1D 0E',
+ 'name': 'subjectDirectoryAttributes',
+ 'oid': (2, 5, 29, 9)},
+ (2, 5, 29, 14): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'subjectKeyIdentifier (2 5 29 14)',
+ 'hexoid': '06 03 55 1D 0F',
+ 'name': 'subjectKeyIdentifier',
+ 'oid': (2, 5, 29, 14)},
+ (2, 5, 29, 15): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'keyUsage (2 5 29 15)',
+ 'hexoid': '06 03 55 1D 10',
+ 'name': 'keyUsage',
+ 'oid': (2, 5, 29, 15)},
+ (2, 5, 29, 16): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'privateKeyUsagePeriod (2 5 29 16)',
+ 'hexoid': '06 03 55 1D 11',
+ 'name': 'privateKeyUsagePeriod',
+ 'oid': (2, 5, 29, 16)},
+ (2, 5, 29, 17): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'subjectAltName (2 5 29 17)',
+ 'hexoid': '06 03 55 1D 12',
+ 'name': 'subjectAltName',
+ 'oid': (2, 5, 29, 17)},
+ (2, 5, 29, 18): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'issuerAltName (2 5 29 18)',
+ 'hexoid': '06 03 55 1D 13',
+ 'name': 'issuerAltName',
+ 'oid': (2, 5, 29, 18)},
+ (2, 5, 29, 19): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'basicConstraints (2 5 29 19)',
+ 'hexoid': '06 03 55 1D 14',
+ 'name': 'basicConstraints',
+ 'oid': (2, 5, 29, 19)},
+ (2, 5, 29, 20): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'cRLNumber (2 5 29 20)',
+ 'hexoid': '06 03 55 1D 15',
+ 'name': 'cRLNumber',
+ 'oid': (2, 5, 29, 20)},
+ (2, 5, 29, 21): {'comment': 'X.509 id-ce (2 5 29). Deprecated, alternative OID uncertain',
+ 'description': 'cRLReason (2 5 29 21)',
+ 'hexoid': '06 03 55 1D 16',
+ 'name': 'cRLReason',
+ 'oid': (2, 5, 29, 21)},
+ (2, 5, 29, 22): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'expirationDate (2 5 29 22)',
+ 'hexoid': '06 03 55 1D 17',
+ 'name': 'expirationDate',
+ 'oid': (2, 5, 29, 22)},
+ (2, 5, 29, 23): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'instructionCode (2 5 29 23)',
+ 'hexoid': '06 03 55 1D 18',
+ 'name': 'instructionCode',
+ 'oid': (2, 5, 29, 23)},
+ (2, 5, 29, 24): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'invalidityDate (2 5 29 24)',
+ 'hexoid': '06 03 55 1D 1B',
+ 'name': 'invalidityDate',
+ 'oid': (2, 5, 29, 24)},
+ (2, 5, 29, 27): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'deltaCRLIndicator (2 5 29 27)',
+ 'hexoid': '06 03 55 1D 1C',
+ 'name': 'deltaCRLIndicator',
+ 'oid': (2, 5, 29, 27)},
+ (2, 5, 29, 28): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'issuingDistributionPoint (2 5 29 28)',
+ 'hexoid': '06 03 55 1D 1D',
+ 'name': 'issuingDistributionPoint',
+ 'oid': (2, 5, 29, 28)},
+ (2, 5, 29, 29): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'certificateIssuer (2 5 29 29)',
+ 'hexoid': '06 03 55 1D 1E',
+ 'name': 'certificateIssuer',
+ 'oid': (2, 5, 29, 29)},
+ (2, 5, 29, 30): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'nameConstraints (2 5 29 30)',
+ 'hexoid': '06 03 55 1D 1F',
+ 'name': 'nameConstraints',
+ 'oid': (2, 5, 29, 30)},
+ (2, 5, 29, 31): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'cRLDistributionPoints (2 5 29 31)',
+ 'hexoid': '06 03 55 1D 20',
+ 'name': 'cRLDistributionPoints',
+ 'oid': (2, 5, 29, 31)},
+ (2, 5, 29, 32): {'comment': 'X.509 certificatePolicies (2 5 29 32)',
+ 'description': 'certificatePolicies (2 5 29 32)',
+ 'hexoid': '06 04 55 1D 20 00',
+ 'name': 'certificatePolicies',
+ 'oid': (2, 5, 29, 32)},
+ (2, 5, 29, 32, 0): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'AnyPolicy policyIdentifier (2 5 29 32 0)',
+ 'hexoid': '06 03 55 1D 21',
+ 'name': 'AnyPolicy policyIdentifier',
+ 'oid': (2, 5, 29, 32, 0)},
+ (2, 5, 29, 33): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'policyMappings (2 5 29 33)',
+ 'hexoid': '06 03 55 1D 23',
+ 'name': 'policyMappings',
+ 'oid': (2, 5, 29, 33)},
+ (2, 5, 29, 35): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'authorityKeyIdentifier (2 5 29 35)',
+ 'hexoid': '06 03 55 1D 24',
+ 'name': 'authorityKeyIdentifier',
+ 'oid': (2, 5, 29, 35)},
+ (2, 5, 29, 36): {'comment': 'X.509 id-ce (2 5 29)',
+ 'description': 'policyConstraints (2 5 29 36)',
+ 'hexoid': '06 03 55 1D 25',
+ 'name': 'policyConstraints',
+ 'oid': (2, 5, 29, 36)},
+ (2, 5, 29, 37): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'extKeyUsage (2 5 29 37)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 01',
+ 'name': 'extKeyUsage',
+ 'oid': (2, 5, 29, 37)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 1): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicSignatureAlgorithm, this OID is better known as dsaWithSHA-1.',
+ 'description': 'sdnsSignatureAlgorithm (2 16 840 1 101 2 1 1 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 02',
+ 'name': 'sdnsSignatureAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 2): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaSignatureAlgorithm (2 16 840 1 101 2 1 1 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 03',
+ 'name': 'fortezzaSignatureAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 2)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 3): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicConfidentialityAlgorithm',
+ 'description': 'sdnsConfidentialityAlgorithm (2 16 840 1 101 2 1 1 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 04',
+ 'name': 'sdnsConfidentialityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 3)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 4): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaConfidentialityAlgorithm (2 16 840 1 101 2 1 1 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 05',
+ 'name': 'fortezzaConfidentialityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 4)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 5): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicIntegrityAlgorithm',
+ 'description': 'sdnsIntegrityAlgorithm (2 16 840 1 101 2 1 1 5)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 06',
+ 'name': 'sdnsIntegrityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 5)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 6): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaIntegrityAlgorithm (2 16 840 1 101 2 1 1 6)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 07',
+ 'name': 'fortezzaIntegrityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 6)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 7): {'comment': 'SDN.700 INFOSEC algorithms. Formerly know as mosaicTokenProtectionAlgorithm',
+ 'description': 'sdnsTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 7)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 08',
+ 'name': 'sdnsTokenProtectionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 7)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 8): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaTokenProtectionAlgorithm (2 16 840 1 101 2 1 1 8)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 09',
+ 'name': 'fortezzaTokenProtectionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 8)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 9): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyManagementAlgorithm',
+ 'description': 'sdnsKeyManagementAlgorithm (2 16 840 1 101 2 1 1 9)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0A',
+ 'name': 'sdnsKeyManagementAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 9)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 10): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaKeyManagementAlgorithm (2 16 840 1 101 2 1 1 10)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0B',
+ 'name': 'fortezzaKeyManagementAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 10)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 11): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandSigAlgorithm',
+ 'description': 'sdnsKMandSigAlgorithm (2 16 840 1 101 2 1 1 11)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0C',
+ 'name': 'sdnsKMandSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 11)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 12): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaKMandSigAlgorithm (2 16 840 1 101 2 1 1 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0D',
+ 'name': 'fortezzaKMandSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 12)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 13): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteASignatureAlgorithm (2 16 840 1 101 2 1 1 13)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0E',
+ 'name': 'suiteASignatureAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 13)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 14): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteAConfidentialityAlgorithm (2 16 840 1 101 2 1 1 14)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 0F',
+ 'name': 'suiteAConfidentialityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 14)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 15): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteAIntegrityAlgorithm (2 16 840 1 101 2 1 1 15)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 10',
+ 'name': 'suiteAIntegrityAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 15)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 16): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteATokenProtectionAlgorithm (2 16 840 1 101 2 1 1 16)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 11',
+ 'name': 'suiteATokenProtectionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 16)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 17): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'suiteAKeyManagementAlgorithm (2 16 840 1 101 2 1 1 17)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 12',
+ 'name': 'suiteAKeyManagementAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 17)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 18): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedSigAlgorithm',
+ 'description': 'suiteAKMandSigAlgorithm (2 16 840 1 101 2 1 1 18)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 13',
+ 'name': 'suiteAKMandSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 18)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 19): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandUpdSigAlgorithms',
+ 'description': 'fortezzaUpdatedSigAlgorithm (2 16 840 1 101 2 1 1 19)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 14',
+ 'name': 'fortezzaUpdatedSigAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 19)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 20): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedIntegAlgorithm',
+ 'description': 'fortezzaKMandUpdSigAlgorithms (2 16 840 1 101 2 1 1 20)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 15',
+ 'name': 'fortezzaKMandUpdSigAlgorithms',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 20)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 21): {'comment': 'SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyEncryptionAlgorithm',
+ 'description': 'fortezzaUpdatedIntegAlgorithm (2 16 840 1 101 2 1 1 21)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 16',
+ 'name': 'fortezzaUpdatedIntegAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 21)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 22): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'keyExchangeAlgorithm (2 16 840 1 101 2 1 1 22)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 17',
+ 'name': 'keyExchangeAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 22)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 23): {'comment': 'SDN.700 INFOSEC algorithms',
+ 'description': 'fortezzaWrap80Algorithm (2 16 840 1 101 2 1 1 23)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 01 18',
+ 'name': 'fortezzaWrap80Algorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 23)},
+ (2, 16, 840, 1, 101, 2, 1, 1, 24): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'kEAKeyEncryptionAlgorithm (2 16 840 1 101 2 1 1 24)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 01',
+ 'name': 'kEAKeyEncryptionAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 1, 24)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 1): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'rfc822MessageFormat (2 16 840 1 101 2 1 2 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 02',
+ 'name': 'rfc822MessageFormat',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 2): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'emptyContent (2 16 840 1 101 2 1 2 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 03',
+ 'name': 'emptyContent',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 2)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 3): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'cspContentType (2 16 840 1 101 2 1 2 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 2A',
+ 'name': 'cspContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 3)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 42): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspRev3ContentType (2 16 840 1 101 2 1 2 42)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 30',
+ 'name': 'mspRev3ContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 42)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 48): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspContentType (2 16 840 1 101 2 1 2 48)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 31',
+ 'name': 'mspContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 48)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 49): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspRekeyAgentProtocol (2 16 840 1 101 2 1 2 49)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 32',
+ 'name': 'mspRekeyAgentProtocol',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 49)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 50): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspMMP (2 16 840 1 101 2 1 2 50)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 42',
+ 'name': 'mspMMP',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 50)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 66): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspRev3-1ContentType (2 16 840 1 101 2 1 2 66)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 48',
+ 'name': 'mspRev3-1ContentType',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 66)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 72): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'forwardedMSPMessageBodyPart (2 16 840 1 101 2 1 2 72)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 49',
+ 'name': 'forwardedMSPMessageBodyPart',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 72)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 73): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'mspForwardedMessageParameters (2 16 840 1 101 2 1 2 73)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 50',
+ 'name': 'mspForwardedMessageParameters',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 73)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 74): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'forwardedCSPMsgBodyPart (2 16 840 1 101 2 1 2 74)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 51',
+ 'name': 'forwardedCSPMsgBodyPart',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 74)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 75): {'comment': 'SDN.700 INFOSEC format',
+ 'description': 'cspForwardedMessageParameters (2 16 840 1 101 2 1 2 75)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 02 52',
+ 'name': 'cspForwardedMessageParameters',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 75)},
+ (2, 16, 840, 1, 101, 2, 1, 2, 76): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'mspMMP2 (2 16 840 1 101 2 1 2 76)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 01',
+ 'name': 'mspMMP2',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 2, 76)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 1): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'sdnsSecurityPolicy (2 16 840 1 101 2 1 3 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 02',
+ 'name': 'sdnsSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 2): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'sdnsPRBAC (2 16 840 1 101 2 1 3 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 03',
+ 'name': 'sdnsPRBAC',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 2)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 3): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'mosaicPRBAC (2 16 840 1 101 2 1 3 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0A',
+ 'name': 'mosaicPRBAC',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 3)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siSecurityPolicy (2 16 840 1 101 2 1 3 10)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 00',
+ 'name': 'siSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 10)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 0): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siNASP (2 16 840 1 101 2 1 3 10 0)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 01',
+ 'name': 'siNASP',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 1): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siELCO (2 16 840 1 101 2 1 3 10 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 02',
+ 'name': 'siELCO',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 1)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 2): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siTK (2 16 840 1 101 2 1 3 10 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 03',
+ 'name': 'siTK',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 2)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 3): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siDSAP (2 16 840 1 101 2 1 3 10 3)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 04',
+ 'name': 'siDSAP',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 3)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 4): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siSSSS (2 16 840 1 101 2 1 3 10 4)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 05',
+ 'name': 'siSSSS',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 4)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 5): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siDNASP (2 16 840 1 101 2 1 3 10 5)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 06',
+ 'name': 'siDNASP',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 5)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 6): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siBYEMAN (2 16 840 1 101 2 1 3 10 6)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 07',
+ 'name': 'siBYEMAN',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 6)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 7): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-US (2 16 840 1 101 2 1 3 10 7)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 08',
+ 'name': 'siREL-US',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 7)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 8): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-AUS (2 16 840 1 101 2 1 3 10 8)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 09',
+ 'name': 'siREL-AUS',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 8)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 9): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-CAN (2 16 840 1 101 2 1 3 10 9)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 0A',
+ 'name': 'siREL-CAN',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 9)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 10): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL_UK (2 16 840 1 101 2 1 3 10 10)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 0B',
+ 'name': 'siREL_UK',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 10)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 11): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'siREL-NZ (2 16 840 1 101 2 1 3 10 11)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0A 0C',
+ 'name': 'siREL-NZ',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 11)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 10, 12): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'siGeneric (2 16 840 1 101 2 1 3 10 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0B',
+ 'name': 'siGeneric',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 10,
+ 12)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 11): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'genser (2 16 840 1 101 2 1 3 11)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 00',
+ 'name': 'genser',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 11)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 11, 0): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'genserNations (2 16 840 1 101 2 1 3 11 0)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 01',
+ 'name': 'genserNations',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 11,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 11, 1): {'comment': 'SDN.700 INFOSEC policy (obsolete)',
+ 'description': 'genserComsec (2 16 840 1 101 2 1 3 11 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 02',
+ 'name': 'genserComsec',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 11,
+ 1)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 11, 2): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'genserAcquisition (2 16 840 1 101 2 1 3 11 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0B 03',
+ 'name': 'genserAcquisition',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 11,
+ 2)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 11, 3): {'comment': 'SDN.700 INFOSEC GENSER policy',
+ 'description': 'genserSecurityCategories (2 16 840 1 101 2 1 3 11 3)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0B 03 00',
+ 'name': 'genserSecurityCategories',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 11,
+ 3)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 11, 3, 0): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'genserTagSetName (2 16 840 1 101 2 1 3 11 3 0)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0C',
+ 'name': 'genserTagSetName',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 11,
+ 3,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 12): {'comment': 'SDN.700 INFOSEC policy',
+ 'description': 'defaultSecurityPolicy (2 16 840 1 101 2 1 3 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 03 0D',
+ 'name': 'defaultSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 12)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 13): {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoMarkings (2 16 840 1 101 2 1 3 13)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 03 0D 00',
+ 'name': 'capcoMarkings',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 3, 13)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 13, 0): {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoSecurityCategories (2 16 840 1 101 2 1 3 13 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 01',
+ 'name': 'capcoSecurityCategories',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 13,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 1): {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoTagSetName1 (2 16 840 1 101 2 1 3 13 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 02',
+ 'name': 'capcoTagSetName1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 13,
+ 0,
+ 1)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 2): {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoTagSetName2 (2 16 840 1 101 2 1 3 13 0 2)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 03',
+ 'name': 'capcoTagSetName2',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 13,
+ 0,
+ 2)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 3): {'comment': 'SDN.700 INFOSEC policy CAPCO markings',
+ 'description': 'capcoTagSetName3 (2 16 840 1 101 2 1 3 13 0 3)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 03 0D 00 04',
+ 'name': 'capcoTagSetName3',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 13,
+ 0,
+ 3)},
+ (2, 16, 840, 1, 101, 2, 1, 3, 13, 0, 4): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'capcoTagSetName4 (2 16 840 1 101 2 1 3 13 0 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 01',
+ 'name': 'capcoTagSetName4',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 3,
+ 13,
+ 0,
+ 4)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 1): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsKeyManagementCertificate (2 16 840 1 101 2 1 5 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 02',
+ 'name': 'sdnsKeyManagementCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 2): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsUserSignatureCertificate (2 16 840 1 101 2 1 5 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 03',
+ 'name': 'sdnsUserSignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 2)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 3): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsKMandSigCertificate (2 16 840 1 101 2 1 5 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 04',
+ 'name': 'sdnsKMandSigCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 3)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 4): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaKeyManagementCertificate (2 16 840 1 101 2 1 5 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 05',
+ 'name': 'fortezzaKeyManagementCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 4)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 5): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaKMandSigCertificate (2 16 840 1 101 2 1 5 5)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 06',
+ 'name': 'fortezzaKMandSigCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 5)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 6): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaUserSignatureCertificate (2 16 840 1 101 2 1 5 6)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 07',
+ 'name': 'fortezzaUserSignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 6)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 7): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'fortezzaCASignatureCertificate (2 16 840 1 101 2 1 5 7)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 08',
+ 'name': 'fortezzaCASignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 7)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 8): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsCASignatureCertificate (2 16 840 1 101 2 1 5 8)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0A',
+ 'name': 'sdnsCASignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 8)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 10): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'auxiliaryVector (2 16 840 1 101 2 1 5 10)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0B',
+ 'name': 'auxiliaryVector',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 10)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 11): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mlReceiptPolicy (2 16 840 1 101 2 1 5 11)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0C',
+ 'name': 'mlReceiptPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 11)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 12): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mlMembership (2 16 840 1 101 2 1 5 12)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0D',
+ 'name': 'mlMembership',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 12)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 13): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mlAdministrators (2 16 840 1 101 2 1 5 13)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 0E',
+ 'name': 'mlAdministrators',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 13)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 14): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'alid (2 16 840 1 101 2 1 5 14)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 14',
+ 'name': 'alid',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 14)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 20): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'janUKMs (2 16 840 1 101 2 1 5 20)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 15',
+ 'name': 'janUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 20)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 21): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'febUKMs (2 16 840 1 101 2 1 5 21)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 16',
+ 'name': 'febUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 21)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 22): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'marUKMs (2 16 840 1 101 2 1 5 22)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 17',
+ 'name': 'marUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 22)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 23): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'aprUKMs (2 16 840 1 101 2 1 5 23)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 18',
+ 'name': 'aprUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 23)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 24): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'mayUKMs (2 16 840 1 101 2 1 5 24)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 19',
+ 'name': 'mayUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 24)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 25): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'junUKMs (2 16 840 1 101 2 1 5 25)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1A',
+ 'name': 'junUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 25)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 26): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'julUKMs (2 16 840 1 101 2 1 5 26)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1B',
+ 'name': 'julUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 26)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 27): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'augUKMs (2 16 840 1 101 2 1 5 27)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1C',
+ 'name': 'augUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 27)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 28): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'sepUKMs (2 16 840 1 101 2 1 5 28)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1D',
+ 'name': 'sepUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 28)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 29): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'octUKMs (2 16 840 1 101 2 1 5 29)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1E',
+ 'name': 'octUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 29)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 30): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'novUKMs (2 16 840 1 101 2 1 5 30)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 1F',
+ 'name': 'novUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 30)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 31): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'decUKMs (2 16 840 1 101 2 1 5 31)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 28',
+ 'name': 'decUKMs',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 31)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 40): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'metaSDNSckl (2 16 840 1 101 2 1 5 40)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 29',
+ 'name': 'metaSDNSckl',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 40)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 41): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'sdnsCKL (2 16 840 1 101 2 1 5 41)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2A',
+ 'name': 'sdnsCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 41)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 42): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'metaSDNSsignatureCKL (2 16 840 1 101 2 1 5 42)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2B',
+ 'name': 'metaSDNSsignatureCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 42)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 43): {'comment': 'SDN.700 INFOSEC attributes (superseded)',
+ 'description': 'sdnsSignatureCKL (2 16 840 1 101 2 1 5 43)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2D',
+ 'name': 'sdnsSignatureCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 43)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 45): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'fortezzaCertificateRevocationList (2 16 840 1 101 2 1 5 45)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2E',
+ 'name': 'fortezzaCertificateRevocationList',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 45)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 46): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'fortezzaCKL (2 16 840 1 101 2 1 5 46)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 2F',
+ 'name': 'fortezzaCKL',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 46)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 47): {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'alExemptedAddressProcessor (2 16 840 1 101 2 1 5 47)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 30',
+ 'name': 'alExemptedAddressProcessor',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 47)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 48): {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'guard (2 16 840 1 101 2 1 5 48)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 31',
+ 'name': 'guard',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 48)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 49): {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'algorithmsSupported (2 16 840 1 101 2 1 5 49)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 32',
+ 'name': 'algorithmsSupported',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 49)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 50): {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'suiteAKeyManagementCertificate (2 16 840 1 101 2 1 5 50)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 33',
+ 'name': 'suiteAKeyManagementCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 50)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 51): {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'suiteAKMandSigCertificate (2 16 840 1 101 2 1 5 51)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 34',
+ 'name': 'suiteAKMandSigCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 51)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 52): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'suiteAUserSignatureCertificate (2 16 840 1 101 2 1 5 52)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 35',
+ 'name': 'suiteAUserSignatureCertificate',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 52)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 53): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'prbacInfo (2 16 840 1 101 2 1 5 53)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 36',
+ 'name': 'prbacInfo',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 53)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 54): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'prbacCAConstraints (2 16 840 1 101 2 1 5 54)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 37',
+ 'name': 'prbacCAConstraints',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 54)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 55): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'sigOrKMPrivileges (2 16 840 1 101 2 1 5 55)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 38',
+ 'name': 'sigOrKMPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 55)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 56): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'commPrivileges (2 16 840 1 101 2 1 5 56)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 39',
+ 'name': 'commPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 56)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 57): {'comment': 'SDN.700 INFOSEC attributes (obsolete)',
+ 'description': 'labeledAttribute (2 16 840 1 101 2 1 5 57)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 3A',
+ 'name': 'labeledAttribute',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 57)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 58): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'policyInformationFile (2 16 840 1 101 2 1 5 58)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 3B',
+ 'name': 'policyInformationFile',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 58)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 59): {'comment': 'SDN.700 INFOSEC attributes',
+ 'description': 'secPolicyInformationFile (2 16 840 1 101 2 1 5 59)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 05 3C',
+ 'name': 'secPolicyInformationFile',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 59)},
+ (2, 16, 840, 1, 101, 2, 1, 5, 60): {'comment': 'SDN.700 INFOSEC extensions',
+ 'description': 'cAClearanceConstraint (2 16 840 1 101 2 1 5 60)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 07 01',
+ 'name': 'cAClearanceConstraint',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 5, 60)},
+ (2, 16, 840, 1, 101, 2, 1, 7, 1): {'comment': 'SDN.700 INFOSEC extensions',
+ 'description': 'cspExtns (2 16 840 1 101 2 1 7 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 07 01 00',
+ 'name': 'cspExtns',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 7, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 7, 1, 0): {'comment': 'SDN.700 INFOSEC security category',
+ 'description': 'cspCsExtn (2 16 840 1 101 2 1 7 1 0)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 08 01',
+ 'name': 'cspCsExtn',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 7,
+ 1,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 8, 1): {'comment': 'SDN.700 INFOSEC security category',
+ 'description': 'mISSISecurityCategories (2 16 840 1 101 2 1 8 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 08 02',
+ 'name': 'mISSISecurityCategories',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 8, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 8, 2): {'comment': 'SDN.700 INFOSEC privileges',
+ 'description': 'standardSecurityLabelPrivileges (2 16 840 1 101 2 1 8 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0A 01',
+ 'name': 'standardSecurityLabelPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 8, 2)},
+ (2, 16, 840, 1, 101, 2, 1, 10, 1): {'comment': 'SDN.700 INFOSEC privileges',
+ 'description': 'sigPrivileges (2 16 840 1 101 2 1 10 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0A 02',
+ 'name': 'sigPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 10, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 10, 2): {'comment': 'SDN.700 INFOSEC privileges',
+ 'description': 'kmPrivileges (2 16 840 1 101 2 1 10 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0A 03',
+ 'name': 'kmPrivileges',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 10, 2)},
+ (2, 16, 840, 1, 101, 2, 1, 10, 3): {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'namedTagSetPrivilege (2 16 840 1 101 2 1 10 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 01',
+ 'name': 'namedTagSetPrivilege',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 10, 3)},
+ (2, 16, 840, 1, 101, 2, 1, 11, 1): {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'ukDemo (2 16 840 1 101 2 1 11 1)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 02',
+ 'name': 'ukDemo',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 1)},
+ (2, 16, 840, 1, 101, 2, 1, 11, 2): {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usDODClass2 (2 16 840 1 101 2 1 11 2)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 03',
+ 'name': 'usDODClass2',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 2)},
+ (2, 16, 840, 1, 101, 2, 1, 11, 3): {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usMediumPilot (2 16 840 1 101 2 1 11 3)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 04',
+ 'name': 'usMediumPilot',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 3)},
+ (2, 16, 840, 1, 101, 2, 1, 11, 4): {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usDODClass4 (2 16 840 1 101 2 1 11 4)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 05',
+ 'name': 'usDODClass4',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 4)},
+ (2, 16, 840, 1, 101, 2, 1, 11, 5): {'comment': 'SDN.700 INFOSEC certificate policy',
+ 'description': 'usDODClass3 (2 16 840 1 101 2 1 11 5)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0B 06',
+ 'name': 'usDODClass3',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 5)},
+ (2, 16, 840, 1, 101, 2, 1, 11, 6): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'usDODClass5 (2 16 840 1 101 2 1 11 6)',
+ 'hexoid': '06 09 60 86 48 01 65 02 01 0C 00',
+ 'name': 'usDODClass5',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 11, 6)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'testSecurityPolicy (2 16 840 1 101 2 1 12 0)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 00 01',
+ 'name': 'testSecurityPolicy',
+ 'oid': (2, 16, 840, 1, 101, 2, 1, 12, 0)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 1): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1 (2 16 840 1 101 2 1 12 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00',
+ 'name': 'tsp1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 1)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1SecurityCategories (2 16 840 1 101 2 1 12 0 1 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00 00',
+ 'name': 'tsp1SecurityCategories',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 1,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0, 0): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1TagSetZero (2 16 840 1 101 2 1 12 0 1 0 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00 01',
+ 'name': 'tsp1TagSetZero',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 1,
+ 0,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0, 1): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1TagSetOne (2 16 840 1 101 2 1 12 0 1 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 01 00 02',
+ 'name': 'tsp1TagSetOne',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 1,
+ 0,
+ 1)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 1, 0, 2): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp1TagSetTwo (2 16 840 1 101 2 1 12 0 1 0 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 00 02',
+ 'name': 'tsp1TagSetTwo',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 1,
+ 0,
+ 2)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 2): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2 (2 16 840 1 101 2 1 12 0 2)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00',
+ 'name': 'tsp2',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 2)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2SecurityCategories (2 16 840 1 101 2 1 12 0 2 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00 00',
+ 'name': 'tsp2SecurityCategories',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 2,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0, 0): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2TagSetZero (2 16 840 1 101 2 1 12 0 2 0 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00 01',
+ 'name': 'tsp2TagSetZero',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 2,
+ 0,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0, 1): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2TagSetOne (2 16 840 1 101 2 1 12 0 2 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 02 00 02',
+ 'name': 'tsp2TagSetOne',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 2,
+ 0,
+ 1)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 2, 0, 2): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'tsp2TagSetTwo (2 16 840 1 101 2 1 12 0 2 0 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 00 03',
+ 'name': 'tsp2TagSetTwo',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 2,
+ 0,
+ 2)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 3): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafka (2 16 840 1 101 2 1 12 0 3)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00',
+ 'name': 'kafka',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 3)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaSecurityCategories (2 16 840 1 101 2 1 12 0 3 0)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00 01',
+ 'name': 'kafkaSecurityCategories',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 3,
+ 0)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0, 1): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaTagSetName1 (2 16 840 1 101 2 1 12 0 3 0 1)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00 02',
+ 'name': 'kafkaTagSetName1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 3,
+ 0,
+ 1)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0, 2): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaTagSetName2 (2 16 840 1 101 2 1 12 0 3 0 2)',
+ 'hexoid': '06 0B 60 86 48 01 65 02 01 0C 00 03 00 03',
+ 'name': 'kafkaTagSetName2',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 3,
+ 0,
+ 2)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 0, 3, 0, 3): {'comment': 'SDN.700 INFOSEC test objects',
+ 'description': 'kafkaTagSetName3 (2 16 840 1 101 2 1 12 0 3 0 3)',
+ 'hexoid': '06 0A 60 86 48 01 65 02 01 0C 01 01',
+ 'name': 'kafkaTagSetName3',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 0,
+ 3,
+ 0,
+ 3)},
+ (2, 16, 840, 1, 101, 2, 1, 12, 1, 1): {'comment': 'CSOR GAK',
+ 'description': 'tcp1 (2 16 840 1 101 2 1 12 1 1)',
+ 'hexoid': '06 07 60 86 48 01 65 03 01',
+ 'name': 'tcp1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 2,
+ 1,
+ 12,
+ 1,
+ 1)},
+ (2, 16, 840, 1, 101, 3, 1): {'comment': 'CSOR GAK policy',
+ 'description': 'slabel (2 16 840 1 101 3 1)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 01',
+ 'name': 'slabel',
+ 'oid': (2, 16, 840, 1, 101, 3, 1)},
+ (2, 16, 840, 1, 101, 3, 2, 1): {'comment': 'Federal Bridge CA Policy',
+ 'description': 'GAK policyIdentifier (2 16 840 1 101 3 2 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 01',
+ 'name': 'GAK policyIdentifier',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 1)},
+ (2, 16, 840, 1, 101, 3, 2, 1, 3, 1): {'comment': 'Federal Bridge CA Policy',
+ 'description': 'FBCA-Rudimentary policyIdentifier (2 16 840 1 101 3 2 1 3 1)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 02',
+ 'name': 'FBCA-Rudimentary policyIdentifier',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 3,
+ 2,
+ 1,
+ 3,
+ 1)},
+ (2, 16, 840, 1, 101, 3, 2, 1, 3, 2): {'comment': 'Federal Bridge CA Policy',
+ 'description': 'FBCA-Basic policyIdentifier (2 16 840 1 101 3 2 1 3 2)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 03',
+ 'name': 'FBCA-Basic policyIdentifier',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 3,
+ 2,
+ 1,
+ 3,
+ 2)},
+ (2, 16, 840, 1, 101, 3, 2, 1, 3, 3): {'comment': 'Federal Bridge CA Policy',
+ 'description': 'FBCA-Medium policyIdentifier (2 16 840 1 101 3 2 1 3 3)',
+ 'hexoid': '06 0A 60 86 48 01 65 03 02 01 03 04',
+ 'name': 'FBCA-Medium policyIdentifier',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 3,
+ 2,
+ 1,
+ 3,
+ 3)},
+ (2, 16, 840, 1, 101, 3, 2, 1, 3, 4): {'comment': 'CSOR GAK extended key usage',
+ 'description': 'FBCA-High policyIdentifier (2 16 840 1 101 3 2 1 3 4)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 02',
+ 'name': 'FBCA-High policyIdentifier',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 101,
+ 3,
+ 2,
+ 1,
+ 3,
+ 4)},
+ (2, 16, 840, 1, 101, 3, 2, 2): {'comment': 'CSOR GAK extended key usage',
+ 'description': 'GAK (2 16 840 1 101 3 2 2)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 02 01',
+ 'name': 'GAK',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 2)},
+ (2, 16, 840, 1, 101, 3, 2, 2, 1): {'comment': 'CSOR GAK extensions',
+ 'description': 'kRAKey (2 16 840 1 101 3 2 2 1)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 03',
+ 'name': 'kRAKey',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 2, 1)},
+ (2, 16, 840, 1, 101, 3, 2, 3): {'comment': 'CSOR GAK extensions',
+ 'description': 'extensions (2 16 840 1 101 3 2 3)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 03 01',
+ 'name': 'extensions',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3)},
+ (2, 16, 840, 1, 101, 3, 2, 3, 1): {'comment': 'CSOR GAK extensions',
+ 'description': 'kRTechnique (2 16 840 1 101 3 2 3 1)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 03 02',
+ 'name': 'kRTechnique',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3, 1)},
+ (2, 16, 840, 1, 101, 3, 2, 3, 2): {'comment': 'CSOR GAK extensions',
+ 'description': 'kRecoveryCapable (2 16 840 1 101 3 2 3 2)',
+ 'hexoid': '06 09 60 86 48 01 65 03 02 03 03',
+ 'name': 'kRecoveryCapable',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3, 2)},
+ (2, 16, 840, 1, 101, 3, 2, 3, 3): {'comment': 'CSOR GAK',
+ 'description': 'kR (2 16 840 1 101 3 2 3 3)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 04',
+ 'name': 'kR',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 3, 3)},
+ (2, 16, 840, 1, 101, 3, 2, 4): {'comment': 'CSOR GAK',
+ 'description': 'keyrecoveryschemes (2 16 840 1 101 3 2 4)',
+ 'hexoid': '06 08 60 86 48 01 65 03 02 05',
+ 'name': 'keyrecoveryschemes',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 4)},
+ (2, 16, 840, 1, 101, 3, 2, 5): {'comment': 'CSOR GAK',
+ 'description': 'krapola (2 16 840 1 101 3 2 5)',
+ 'hexoid': '06 07 60 86 48 01 65 03 03',
+ 'name': 'krapola',
+ 'oid': (2, 16, 840, 1, 101, 3, 2, 5)},
+ (2, 16, 840, 1, 101, 3, 3): {'comment': 'NIST Algorithm',
+ 'description': 'arpa (2 16 840 1 101 3 3)',
+ 'hexoid': '06 07 60 86 48 01 65 03 04',
+ 'name': 'arpa',
+ 'oid': (2, 16, 840, 1, 101, 3, 3)},
+ (2, 16, 840, 1, 101, 3, 4): {'comment': 'NIST Algorithm',
+ 'description': 'nistAlgorithm (2 16 840 1 101 3 4)',
+ 'hexoid': '06 08 60 86 48 01 65 03 04 01',
+ 'name': 'nistAlgorithm',
+ 'oid': (2, 16, 840, 1, 101, 3, 4)},
+ (2, 16, 840, 1, 101, 3, 4, 1): {'comment': 'NIST Algorithm',
+ 'description': 'aes (2 16 840 1 101 3 4 1)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 01',
+ 'name': 'aes',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 1): {'comment': 'NIST Algorithm',
+ 'description': 'aes128-ECB (2 16 840 1 101 3 4 1 1)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 02',
+ 'name': 'aes128-ECB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 1)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 2): {'comment': 'NIST Algorithm',
+ 'description': 'aes128-CBC (2 16 840 1 101 3 4 1 2)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 03',
+ 'name': 'aes128-CBC',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 2)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 3): {'comment': 'NIST Algorithm',
+ 'description': 'aes128-OFB (2 16 840 1 101 3 4 1 3)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 04',
+ 'name': 'aes128-OFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 3)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 4): {'comment': 'NIST Algorithm',
+ 'description': 'aes128-CFB (2 16 840 1 101 3 4 1 4)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 15',
+ 'name': 'aes128-CFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 4)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 21): {'comment': 'NIST Algorithm',
+ 'description': 'aes192-ECB (2 16 840 1 101 3 4 1 21)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 16',
+ 'name': 'aes192-ECB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 21)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 22): {'comment': 'NIST Algorithm',
+ 'description': 'aes192-CBC (2 16 840 1 101 3 4 1 22)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 17',
+ 'name': 'aes192-CBC',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 22)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 23): {'comment': 'NIST Algorithm',
+ 'description': 'aes192-OFB (2 16 840 1 101 3 4 1 23)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 18',
+ 'name': 'aes192-OFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 23)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 24): {'comment': 'NIST Algorithm',
+ 'description': 'aes192-CFB (2 16 840 1 101 3 4 1 24)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 29',
+ 'name': 'aes192-CFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 24)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 41): {'comment': 'NIST Algorithm',
+ 'description': 'aes256-ECB (2 16 840 1 101 3 4 1 41)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 2A',
+ 'name': 'aes256-ECB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 41)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 42): {'comment': 'NIST Algorithm',
+ 'description': 'aes256-CBC (2 16 840 1 101 3 4 1 42)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 2B',
+ 'name': 'aes256-CBC',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 42)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 43): {'comment': 'NIST Algorithm',
+ 'description': 'aes256-OFB (2 16 840 1 101 3 4 1 43)',
+ 'hexoid': '06 09 60 86 48 01 65 03 04 01 2C',
+ 'name': 'aes256-OFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 43)},
+ (2, 16, 840, 1, 101, 3, 4, 1, 44): {'comment': 'Novell',
+ 'description': 'aes256-CFB (2 16 840 1 101 3 4 1 44)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 37 01 02 08',
+ 'name': 'aes256-CFB',
+ 'oid': (2, 16, 840, 1, 101, 3, 4, 1, 44)},
+ (2, 16, 840, 1, 113719, 1, 2, 8): {'comment': 'Novell encryption algorithm',
+ 'description': 'novellAlgorithm (2 16 840 1 113719 1 2 8)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 16',
+ 'name': 'novellAlgorithm',
+ 'oid': (2, 16, 840, 1, 113719, 1, 2, 8)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 22): {'comment': 'Novell encryption algorithm',
+ 'description': 'desCbcIV8 (2 16 840 1 113719 1 2 8 22)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 17',
+ 'name': 'desCbcIV8',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 22)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 23): {'comment': 'Novell encryption algorithm',
+ 'description': 'desCbcPadIV8 (2 16 840 1 113719 1 2 8 23)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 18',
+ 'name': 'desCbcPadIV8',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 23)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 24): {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE2CbcIV8 (2 16 840 1 113719 1 2 8 24)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 19',
+ 'name': 'desEDE2CbcIV8',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 24)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 25): {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE2CbcPadIV8 (2 16 840 1 113719 1 2 8 25)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1A',
+ 'name': 'desEDE2CbcPadIV8',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 25)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 26): {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE3CbcIV8 (2 16 840 1 113719 1 2 8 26)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1B',
+ 'name': 'desEDE3CbcIV8',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 26)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 27): {'comment': 'Novell encryption algorithm',
+ 'description': 'desEDE3CbcPadIV8 (2 16 840 1 113719 1 2 8 27)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1C',
+ 'name': 'desEDE3CbcPadIV8',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 27)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 28): {'comment': 'Novell signature algorithm',
+ 'description': 'rc5CbcPad (2 16 840 1 113719 1 2 8 28)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1D',
+ 'name': 'rc5CbcPad',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 28)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 29): {'comment': 'Novell signature algorithm',
+ 'description': 'md2WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 29)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1E',
+ 'name': 'md2WithRSAEncryptionBSafe1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 29)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 30): {'comment': 'Novell signature algorithm',
+ 'description': 'md5WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 30)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 1F',
+ 'name': 'md5WithRSAEncryptionBSafe1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 30)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 31): {'comment': 'Novell digest algorithm',
+ 'description': 'sha1WithRSAEncryptionBSafe1 (2 16 840 1 113719 1 2 8 31)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 20',
+ 'name': 'sha1WithRSAEncryptionBSafe1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 31)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 32): {'comment': 'Novell digest algorithm',
+ 'description': 'LMDigest (2 16 840 1 113719 1 2 8 32)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 28',
+ 'name': 'LMDigest',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 32)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 40): {'comment': 'Novell digest algorithm',
+ 'description': 'MD2 (2 16 840 1 113719 1 2 8 40)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 32',
+ 'name': 'MD2',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 40)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 50): {'comment': 'Novell signature algorithm',
+ 'description': 'MD5 (2 16 840 1 113719 1 2 8 50)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 33',
+ 'name': 'MD5',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 50)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 51): {'comment': 'Novell signature algorithm',
+ 'description': 'IKEhmacWithSHA1-RSA (2 16 840 1 113719 1 2 8 51)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 34',
+ 'name': 'IKEhmacWithSHA1-RSA',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 51)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 52): {'comment': 'Novell encryption algorithm',
+ 'description': 'IKEhmacWithMD5-RSA (2 16 840 1 113719 1 2 8 52)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 45',
+ 'name': 'IKEhmacWithMD5-RSA',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 52)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 69): {'comment': 'Novell digest algorithm',
+ 'description': 'rc2CbcPad (2 16 840 1 113719 1 2 8 69)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 52',
+ 'name': 'rc2CbcPad',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 69)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 82): {'comment': 'Novell encryption algorithm',
+ 'description': 'SHA-1 (2 16 840 1 113719 1 2 8 82)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 5C',
+ 'name': 'SHA-1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 82)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 92): {'comment': 'Novell digest algorithm',
+ 'description': 'rc2BSafe1Cbc (2 16 840 1 113719 1 2 8 92)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 5F',
+ 'name': 'rc2BSafe1Cbc',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 92)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 95): {'comment': 'Novell keyed hash',
+ 'description': 'MD4 (2 16 840 1 113719 1 2 8 95)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 81 02',
+ 'name': 'MD4',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 95)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 130): {'comment': 'Novell encryption algorithm',
+ 'description': 'MD4Packet (2 16 840 1 113719 1 2 8 130)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 37 01 02 08 81 03',
+ 'name': 'MD4Packet',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 130)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 131): {'comment': 'Novell encryption algorithm',
+ 'description': 'rsaEncryptionBsafe1 (2 16 840 1 113719 1 2 8 131)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 37 01 02 08 81 04',
+ 'name': 'rsaEncryptionBsafe1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 131)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 132): {'comment': 'Novell encryption algorithm',
+ 'description': 'NWPassword (2 16 840 1 113719 1 2 8 132)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 02 08 81 05',
+ 'name': 'NWPassword',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 132)},
+ (2, 16, 840, 1, 113719, 1, 2, 8, 133): {'comment': 'Novell',
+ 'description': 'novellObfuscate-1 (2 16 840 1 113719 1 2 8 133)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 37 01 09',
+ 'name': 'novellObfuscate-1',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 2,
+ 8,
+ 133)},
+ (2, 16, 840, 1, 113719, 1, 9): {'comment': 'Novell PKI',
+ 'description': 'pki (2 16 840 1 113719 1 9)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 37 01 09 04',
+ 'name': 'pki',
+ 'oid': (2, 16, 840, 1, 113719, 1, 9)},
+ (2, 16, 840, 1, 113719, 1, 9, 4): {'comment': 'Novell PKI attribute type',
+ 'description': 'pkiAttributeType (2 16 840 1 113719 1 9 4)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 09 04 01',
+ 'name': 'pkiAttributeType',
+ 'oid': (2, 16, 840, 1, 113719, 1, 9, 4)},
+ (2, 16, 840, 1, 113719, 1, 9, 4, 1): {'comment': 'Novell PKI attribute type',
+ 'description': 'securityAttributes (2 16 840 1 113719 1 9 4 1)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 37 01 09 04 02',
+ 'name': 'securityAttributes',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 9,
+ 4,
+ 1)},
+ (2, 16, 840, 1, 113719, 1, 9, 4, 2): {'comment': 'Netscape',
+ 'description': 'relianceLimit (2 16 840 1 113719 1 9 4 2)',
+ 'hexoid': '06 08 60 86 48 01 86 F8 42 01',
+ 'name': 'relianceLimit',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113719,
+ 1,
+ 9,
+ 4,
+ 2)},
+ (2, 16, 840, 1, 113730, 1): {'comment': 'Netscape certificate extension',
+ 'description': 'cert-extension (2 16 840 1 113730 1)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 01',
+ 'name': 'cert-extension',
+ 'oid': (2, 16, 840, 1, 113730, 1)},
+ (2, 16, 840, 1, 113730, 1, 1): {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-cert-type (2 16 840 1 113730 1 1)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 02',
+ 'name': 'netscape-cert-type',
+ 'oid': (2, 16, 840, 1, 113730, 1, 1)},
+ (2, 16, 840, 1, 113730, 1, 2): {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-base-url (2 16 840 1 113730 1 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 03',
+ 'name': 'netscape-base-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 2)},
+ (2, 16, 840, 1, 113730, 1, 3): {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-revocation-url (2 16 840 1 113730 1 3)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 04',
+ 'name': 'netscape-revocation-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 3)},
+ (2, 16, 840, 1, 113730, 1, 4): {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-ca-revocation-url (2 16 840 1 113730 1 4)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 07',
+ 'name': 'netscape-ca-revocation-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 4)},
+ (2, 16, 840, 1, 113730, 1, 7): {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-cert-renewal-url (2 16 840 1 113730 1 7)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 08',
+ 'name': 'netscape-cert-renewal-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 7)},
+ (2, 16, 840, 1, 113730, 1, 8): {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-ca-policy-url (2 16 840 1 113730 1 8)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 09',
+ 'name': 'netscape-ca-policy-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 8)},
+ (2, 16, 840, 1, 113730, 1, 9): {'comment': 'Netscape certificate extension',
+ 'description': 'HomePage-url (2 16 840 1 113730 1 9)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0A',
+ 'name': 'HomePage-url',
+ 'oid': (2, 16, 840, 1, 113730, 1, 9)},
+ (2, 16, 840, 1, 113730, 1, 10): {'comment': 'Netscape certificate extension',
+ 'description': 'EntityLogo (2 16 840 1 113730 1 10)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0B',
+ 'name': 'EntityLogo',
+ 'oid': (2, 16, 840, 1, 113730, 1, 10)},
+ (2, 16, 840, 1, 113730, 1, 11): {'comment': 'Netscape certificate extension',
+ 'description': 'UserPicture (2 16 840 1 113730 1 11)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0C',
+ 'name': 'UserPicture',
+ 'oid': (2, 16, 840, 1, 113730, 1, 11)},
+ (2, 16, 840, 1, 113730, 1, 12): {'comment': 'Netscape certificate extension',
+ 'description': 'netscape-ssl-server-name (2 16 840 1 113730 1 12)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 01 0D',
+ 'name': 'netscape-ssl-server-name',
+ 'oid': (2, 16, 840, 1, 113730, 1, 12)},
+ (2, 16, 840, 1, 113730, 1, 13): {'comment': 'Netscape',
+ 'description': 'netscape-comment (2 16 840 1 113730 1 13)',
+ 'hexoid': '06 08 60 86 48 01 86 F8 42 02',
+ 'name': 'netscape-comment',
+ 'oid': (2, 16, 840, 1, 113730, 1, 13)},
+ (2, 16, 840, 1, 113730, 2): {'comment': 'Netscape data type',
+ 'description': 'data-type (2 16 840 1 113730 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 01',
+ 'name': 'data-type',
+ 'oid': (2, 16, 840, 1, 113730, 2)},
+ (2, 16, 840, 1, 113730, 2, 1): {'comment': 'Netscape data type',
+ 'description': 'dataGIF (2 16 840 1 113730 2 1)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 02',
+ 'name': 'dataGIF',
+ 'oid': (2, 16, 840, 1, 113730, 2, 1)},
+ (2, 16, 840, 1, 113730, 2, 2): {'comment': 'Netscape data type',
+ 'description': 'dataJPEG (2 16 840 1 113730 2 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 03',
+ 'name': 'dataJPEG',
+ 'oid': (2, 16, 840, 1, 113730, 2, 2)},
+ (2, 16, 840, 1, 113730, 2, 3): {'comment': 'Netscape data type',
+ 'description': 'dataURL (2 16 840 1 113730 2 3)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 04',
+ 'name': 'dataURL',
+ 'oid': (2, 16, 840, 1, 113730, 2, 3)},
+ (2, 16, 840, 1, 113730, 2, 4): {'comment': 'Netscape data type',
+ 'description': 'dataHTML (2 16 840 1 113730 2 4)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 05',
+ 'name': 'dataHTML',
+ 'oid': (2, 16, 840, 1, 113730, 2, 4)},
+ (2, 16, 840, 1, 113730, 2, 5): {'comment': 'Netscape certificate extension',
+ 'description': 'certSequence (2 16 840 1 113730 2 5)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 02 06',
+ 'name': 'certSequence',
+ 'oid': (2, 16, 840, 1, 113730, 2, 5)},
+ (2, 16, 840, 1, 113730, 2, 6): {'comment': 'Netscape',
+ 'description': 'certURL (2 16 840 1 113730 2 6)',
+ 'hexoid': '06 08 60 86 48 01 86 F8 42 03',
+ 'name': 'certURL',
+ 'oid': (2, 16, 840, 1, 113730, 2, 6)},
+ (2, 16, 840, 1, 113730, 3): {'comment': 'Netscape directory',
+ 'description': 'directory (2 16 840 1 113730 3)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 03 01',
+ 'name': 'directory',
+ 'oid': (2, 16, 840, 1, 113730, 3)},
+ (2, 16, 840, 1, 113730, 3, 1): {'comment': 'Netscape LDAP definitions',
+ 'description': 'ldapDefinitions (2 16 840 1 113730 3 1)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 01',
+ 'name': 'ldapDefinitions',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1)},
+ (2, 16, 840, 1, 113730, 3, 1, 1): {'comment': 'Netscape LDAP definitions',
+ 'description': 'carLicense (2 16 840 1 113730 3 1 1)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 02',
+ 'name': 'carLicense',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 1)},
+ (2, 16, 840, 1, 113730, 3, 1, 2): {'comment': 'Netscape LDAP definitions',
+ 'description': 'departmentNumber (2 16 840 1 113730 3 1 2)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 03',
+ 'name': 'departmentNumber',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 2)},
+ (2, 16, 840, 1, 113730, 3, 1, 3): {'comment': 'Netscape LDAP definitions',
+ 'description': 'employeeNumber (2 16 840 1 113730 3 1 3)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 01 04',
+ 'name': 'employeeNumber',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 3)},
+ (2, 16, 840, 1, 113730, 3, 1, 4): {'comment': 'Netscape LDAP definitions',
+ 'description': 'employeeType (2 16 840 1 113730 3 1 4)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 42 03 02 02',
+ 'name': 'employeeType',
+ 'oid': (2, 16, 840, 1, 113730, 3, 1, 4)},
+ (2, 16, 840, 1, 113730, 3, 2, 2): {'comment': 'Netscape',
+ 'description': 'inetOrgPerson (2 16 840 1 113730 3 2 2)',
+ 'hexoid': '06 09 60 86 48 01 86 F8 42 04 01',
+ 'name': 'inetOrgPerson',
+ 'oid': (2, 16, 840, 1, 113730, 3, 2, 2)},
+ (2, 16, 840, 1, 113730, 4, 1): {'comment': 'Verisign',
+ 'description': 'serverGatedCrypto (2 16 840 1 113730 4 1)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 06 03',
+ 'name': 'serverGatedCrypto',
+ 'oid': (2, 16, 840, 1, 113730, 4, 1)},
+ (2, 16, 840, 1, 113733, 1, 6, 3): {'comment': 'Verisign',
+ 'description': 'verisignCZAG (2 16 840 1 113733 1 6 3)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 06 06',
+ 'name': 'verisignCZAG',
+ 'oid': (2, 16, 840, 1, 113733, 1, 6, 3)},
+ (2, 16, 840, 1, 113733, 1, 6, 6): {'comment': 'Verisign',
+ 'description': 'verisignInBox (2 16 840 1 113733 1 6 6)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 06 0D',
+ 'name': 'verisignInBox',
+ 'oid': (2, 16, 840, 1, 113733, 1, 6, 6)},
+ (2, 16, 840, 1, 113733, 1, 6, 13): {'comment': 'Verisign',
+ 'description': 'Unknown Verisign VPN extension (2 16 840 1 113733 1 6 13)',
+ 'hexoid': '06 0B 60 86 48 01 86 F8 45 01 07 01 01',
+ 'name': 'Unknown Verisign VPN extension',
+ 'oid': (2, 16, 840, 1, 113733, 1, 6, 13)},
+ (2, 16, 840, 1, 113733, 1, 7, 1, 1): {'comment': 'Verisign (obsolete)',
+ 'description': 'Verisign policyIdentifier (2 16 840 1 113733 1 7 1 1)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 45 01 07 01 01 01',
+ 'name': 'Verisign policyIdentifier',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113733,
+ 1,
+ 7,
+ 1,
+ 1)},
+ (2, 16, 840, 1, 113733, 1, 7, 1, 1, 1): {'comment': 'Verisign (obsolete)',
+ 'description': 'verisignCPSv1notice (2 16 840 1 113733 1 7 1 1 1)',
+ 'hexoid': '06 0C 60 86 48 01 86 F8 45 01 07 01 01 02',
+ 'name': 'verisignCPSv1notice',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113733,
+ 1,
+ 7,
+ 1,
+ 1,
+ 1)},
+ (2, 16, 840, 1, 113733, 1, 7, 1, 1, 2): {'comment': 'Verisign',
+ 'description': 'verisignCPSv1nsi (2 16 840 1 113733 1 7 1 1 2)',
+ 'hexoid': '06 0A 60 86 48 01 86 F8 45 01 08 01',
+ 'name': 'verisignCPSv1nsi',
+ 'oid': (2,
+ 16,
+ 840,
+ 1,
+ 113733,
+ 1,
+ 7,
+ 1,
+ 1,
+ 2)},
+ (2, 16, 840, 1, 113733, 1, 8, 1): {'comment': 'SET contentType',
+ 'description': 'Verisign SGC CA? (2 16 840 1 113733 1 8 1)',
+ 'hexoid': '06 04 67 2A 00 00',
+ 'name': 'Verisign SGC CA?',
+ 'oid': (2, 16, 840, 1, 113733, 1, 8, 1)},
+ (2, 23, 42, 0, 0): {'comment': 'SET contentType',
+ 'description': 'PANData (2 23 42 0 0)',
+ 'hexoid': '06 04 67 2A 00 01',
+ 'name': 'PANData',
+ 'oid': (2, 23, 42, 0, 0)},
+ (2, 23, 42, 0, 1): {'comment': 'SET contentType',
+ 'description': 'PANToken (2 23 42 0 1)',
+ 'hexoid': '06 04 67 2A 00 02',
+ 'name': 'PANToken',
+ 'oid': (2, 23, 42, 0, 1)},
+ (2, 23, 42, 0, 2): {'comment': 'SET',
+ 'description': 'PANOnly (2 23 42 0 2)',
+ 'hexoid': '06 03 67 2A 01',
+ 'name': 'PANOnly',
+ 'oid': (2, 23, 42, 0, 2)},
+ (2, 23, 42, 1): {'comment': 'SET',
+ 'description': 'msgExt (2 23 42 1)',
+ 'hexoid': '06 03 67 2A 02',
+ 'name': 'msgExt',
+ 'oid': (2, 23, 42, 1)},
+ (2, 23, 42, 2): {'comment': 'SET field',
+ 'description': 'field (2 23 42 2)',
+ 'hexoid': '06 04 67 2A 02 00',
+ 'name': 'field',
+ 'oid': (2, 23, 42, 2)},
+ (2, 23, 42, 2, 0): {'comment': 'SET field',
+ 'description': 'fullName (2 23 42 2 0)',
+ 'hexoid': '06 04 67 2A 02 02',
+ 'name': 'fullName',
+ 'oid': (2, 23, 42, 2, 0)},
+ (2, 23, 42, 2, 2): {'comment': 'SET field',
+ 'description': 'familyName (2 23 42 2 2)',
+ 'hexoid': '06 04 67 2A 02 03',
+ 'name': 'familyName',
+ 'oid': (2, 23, 42, 2, 2)},
+ (2, 23, 42, 2, 3): {'comment': 'SET field',
+ 'description': 'birthFamilyName (2 23 42 2 3)',
+ 'hexoid': '06 04 67 2A 02 04',
+ 'name': 'birthFamilyName',
+ 'oid': (2, 23, 42, 2, 3)},
+ (2, 23, 42, 2, 4): {'comment': 'SET field',
+ 'description': 'placeName (2 23 42 2 4)',
+ 'hexoid': '06 04 67 2A 02 05',
+ 'name': 'placeName',
+ 'oid': (2, 23, 42, 2, 4)},
+ (2, 23, 42, 2, 5): {'comment': 'SET field',
+ 'description': 'identificationNumber (2 23 42 2 5)',
+ 'hexoid': '06 04 67 2A 02 06',
+ 'name': 'identificationNumber',
+ 'oid': (2, 23, 42, 2, 5)},
+ (2, 23, 42, 2, 6): {'comment': 'SET field',
+ 'description': 'month (2 23 42 2 6)',
+ 'hexoid': '06 04 67 2A 02 07',
+ 'name': 'month',
+ 'oid': (2, 23, 42, 2, 6)},
+ (2, 23, 42, 2, 7): {'comment': 'SET field',
+ 'description': 'date (2 23 42 2 7)',
+ 'hexoid': '06 04 67 2A 02 08',
+ 'name': 'date',
+ 'oid': (2, 23, 42, 2, 7)},
+ (2, 23, 42, 2, 7, 11): {'comment': 'SET field',
+ 'description': 'accountNumber (2 23 42 2 7 11)',
+ 'hexoid': '06 04 67 2A 02 0C',
+ 'name': 'accountNumber',
+ 'oid': (2, 23, 42, 2, 7, 11)},
+ (2, 23, 42, 2, 7, 12): {'comment': 'SET',
+ 'description': 'passPhrase (2 23 42 2 7 12)',
+ 'hexoid': '06 03 67 2A 03',
+ 'name': 'passPhrase',
+ 'oid': (2, 23, 42, 2, 7, 12)},
+ (2, 23, 42, 2, 8): {'comment': 'SET field',
+ 'description': 'address (2 23 42 2 8)',
+ 'hexoid': '06 04 67 2A 02 09',
+ 'name': 'address',
+ 'oid': (2, 23, 42, 2, 8)},
+ (2, 23, 42, 2, 9): {'comment': 'SET field',
+ 'description': 'telephone (2 23 42 2 9)',
+ 'hexoid': '06 04 67 2A 02 0A',
+ 'name': 'telephone',
+ 'oid': (2, 23, 42, 2, 9)},
+ (2, 23, 42, 2, 10): {'comment': 'SET field',
+ 'description': 'amount (2 23 42 2 10)',
+ 'hexoid': '06 04 67 2A 02 0B',
+ 'name': 'amount',
+ 'oid': (2, 23, 42, 2, 10)},
+ (2, 23, 42, 3): {'comment': 'SET attribute',
+ 'description': 'attribute (2 23 42 3)',
+ 'hexoid': '06 04 67 2A 03 00',
+ 'name': 'attribute',
+ 'oid': (2, 23, 42, 3)},
+ (2, 23, 42, 3, 0): {'comment': 'SET cert attribute',
+ 'description': 'cert (2 23 42 3 0)',
+ 'hexoid': '06 05 67 2A 03 00 00',
+ 'name': 'cert',
+ 'oid': (2, 23, 42, 3, 0)},
+ (2, 23, 42, 3, 0, 0): {'comment': 'SET cert attribute',
+ 'description': 'rootKeyThumb (2 23 42 3 0 0)',
+ 'hexoid': '06 05 67 2A 03 00 01',
+ 'name': 'rootKeyThumb',
+ 'oid': (2, 23, 42, 3, 0, 0)},
+ (2, 23, 42, 3, 0, 1): {'comment': 'SET',
+ 'description': 'additionalPolicy (2 23 42 3 0 1)',
+ 'hexoid': '06 03 67 2A 04',
+ 'name': 'additionalPolicy',
+ 'oid': (2, 23, 42, 3, 0, 1)},
+ (2, 23, 42, 4): {'comment': 'SET',
+ 'description': 'algorithm (2 23 42 4)',
+ 'hexoid': '06 03 67 2A 05',
+ 'name': 'algorithm',
+ 'oid': (2, 23, 42, 4)},
+ (2, 23, 42, 5): {'comment': 'SET policy',
+ 'description': 'policy (2 23 42 5)',
+ 'hexoid': '06 04 67 2A 05 00',
+ 'name': 'policy',
+ 'oid': (2, 23, 42, 5)},
+ (2, 23, 42, 5, 0): {'comment': 'SET',
+ 'description': 'root (2 23 42 5 0)',
+ 'hexoid': '06 03 67 2A 06',
+ 'name': 'root',
+ 'oid': (2, 23, 42, 5, 0)},
+ (2, 23, 42, 6): {'comment': 'SET',
+ 'description': 'module (2 23 42 6)',
+ 'hexoid': '06 03 67 2A 07',
+ 'name': 'module',
+ 'oid': (2, 23, 42, 6)},
+ (2, 23, 42, 7): {'comment': 'SET cert extension',
+ 'description': 'certExt (2 23 42 7)',
+ 'hexoid': '06 04 67 2A 07 00',
+ 'name': 'certExt',
+ 'oid': (2, 23, 42, 7)},
+ (2, 23, 42, 7, 0): {'comment': 'SET cert extension',
+ 'description': 'hashedRootKey (2 23 42 7 0)',
+ 'hexoid': '06 04 67 2A 07 01',
+ 'name': 'hashedRootKey',
+ 'oid': (2, 23, 42, 7, 0)},
+ (2, 23, 42, 7, 1): {'comment': 'SET cert extension',
+ 'description': 'certificateType (2 23 42 7 1)',
+ 'hexoid': '06 04 67 2A 07 02',
+ 'name': 'certificateType',
+ 'oid': (2, 23, 42, 7, 1)},
+ (2, 23, 42, 7, 2): {'comment': 'SET cert extension',
+ 'description': 'merchantData (2 23 42 7 2)',
+ 'hexoid': '06 04 67 2A 07 03',
+ 'name': 'merchantData',
+ 'oid': (2, 23, 42, 7, 2)},
+ (2, 23, 42, 7, 3): {'comment': 'SET cert extension',
+ 'description': 'cardCertRequired (2 23 42 7 3)',
+ 'hexoid': '06 04 67 2A 07 04',
+ 'name': 'cardCertRequired',
+ 'oid': (2, 23, 42, 7, 3)},
+ (2, 23, 42, 7, 4): {'comment': 'SET cert extension',
+ 'description': 'tunneling (2 23 42 7 4)',
+ 'hexoid': '06 04 67 2A 07 05',
+ 'name': 'tunneling',
+ 'oid': (2, 23, 42, 7, 4)},
+ (2, 23, 42, 7, 5): {'comment': 'SET cert extension',
+ 'description': 'setExtensions (2 23 42 7 5)',
+ 'hexoid': '06 04 67 2A 07 06',
+ 'name': 'setExtensions',
+ 'oid': (2, 23, 42, 7, 5)},
+ (2, 23, 42, 7, 6): {'comment': 'SET',
+ 'description': 'setQualifier (2 23 42 7 6)',
+ 'hexoid': '06 03 67 2A 08',
+ 'name': 'setQualifier',
+ 'oid': (2, 23, 42, 7, 6)},
+ (2, 23, 42, 8): {'comment': 'SET brand',
+ 'description': 'brand (2 23 42 8)',
+ 'hexoid': '06 04 67 2A 08 01',
+ 'name': 'brand',
+ 'oid': (2, 23, 42, 8)},
+ (2, 23, 42, 8, 1): {'comment': 'SET brand',
+ 'description': 'IATA-ATA (2 23 42 8 1)',
+ 'hexoid': '06 04 67 2A 08 04',
+ 'name': 'IATA-ATA',
+ 'oid': (2, 23, 42, 8, 1)},
+ (2, 23, 42, 8, 4): {'comment': 'SET brand',
+ 'description': 'VISA (2 23 42 8 4)',
+ 'hexoid': '06 04 67 2A 08 05',
+ 'name': 'VISA',
+ 'oid': (2, 23, 42, 8, 4)},
+ (2, 23, 42, 8, 5): {'comment': 'SET brand',
+ 'description': 'MasterCard (2 23 42 8 5)',
+ 'hexoid': '06 04 67 2A 08 1E',
+ 'name': 'MasterCard',
+ 'oid': (2, 23, 42, 8, 5)},
+ (2, 23, 42, 8, 30): {'comment': 'SET brand',
+ 'description': 'Diners (2 23 42 8 30)',
+ 'hexoid': '06 04 67 2A 08 22',
+ 'name': 'Diners',
+ 'oid': (2, 23, 42, 8, 30)},
+ (2, 23, 42, 8, 34): {'comment': 'SET brand',
+ 'description': 'AmericanExpress (2 23 42 8 34)',
+ 'hexoid': '06 05 67 2A 08 AE 7B',
+ 'name': 'AmericanExpress',
+ 'oid': (2, 23, 42, 8, 34)},
+ (2, 23, 42, 8, 6011): {'comment': 'SET',
+ 'description': 'Novus (2 23 42 8 6011)',
+ 'hexoid': '06 03 67 2A 09',
+ 'name': 'Novus',
+ 'oid': (2, 23, 42, 8, 6011)},
+ (2, 23, 42, 9): {'comment': 'SET vendor',
+ 'description': 'vendor (2 23 42 9)',
+ 'hexoid': '06 04 67 2A 09 00',
+ 'name': 'vendor',
+ 'oid': (2, 23, 42, 9)},
+ (2, 23, 42, 9, 0): {'comment': 'SET vendor',
+ 'description': 'GlobeSet (2 23 42 9 0)',
+ 'hexoid': '06 04 67 2A 09 01',
+ 'name': 'GlobeSet',
+ 'oid': (2, 23, 42, 9, 0)},
+ (2, 23, 42, 9, 1): {'comment': 'SET vendor',
+ 'description': 'IBM (2 23 42 9 1)',
+ 'hexoid': '06 04 67 2A 09 02',
+ 'name': 'IBM',
+ 'oid': (2, 23, 42, 9, 1)},
+ (2, 23, 42, 9, 2): {'comment': 'SET vendor',
+ 'description': 'CyberCash (2 23 42 9 2)',
+ 'hexoid': '06 04 67 2A 09 03',
+ 'name': 'CyberCash',
+ 'oid': (2, 23, 42, 9, 2)},
+ (2, 23, 42, 9, 3): {'comment': 'SET vendor',
+ 'description': 'Terisa (2 23 42 9 3)',
+ 'hexoid': '06 04 67 2A 09 04',
+ 'name': 'Terisa',
+ 'oid': (2, 23, 42, 9, 3)},
+ (2, 23, 42, 9, 4): {'comment': 'SET vendor',
+ 'description': 'RSADSI (2 23 42 9 4)',
+ 'hexoid': '06 04 67 2A 09 05',
+ 'name': 'RSADSI',
+ 'oid': (2, 23, 42, 9, 4)},
+ (2, 23, 42, 9, 5): {'comment': 'SET vendor',
+ 'description': 'VeriFone (2 23 42 9 5)',
+ 'hexoid': '06 04 67 2A 09 06',
+ 'name': 'VeriFone',
+ 'oid': (2, 23, 42, 9, 5)},
+ (2, 23, 42, 9, 6): {'comment': 'SET vendor',
+ 'description': 'TrinTech (2 23 42 9 6)',
+ 'hexoid': '06 04 67 2A 09 07',
+ 'name': 'TrinTech',
+ 'oid': (2, 23, 42, 9, 6)},
+ (2, 23, 42, 9, 7): {'comment': 'SET vendor',
+ 'description': 'BankGate (2 23 42 9 7)',
+ 'hexoid': '06 04 67 2A 09 08',
+ 'name': 'BankGate',
+ 'oid': (2, 23, 42, 9, 7)},
+ (2, 23, 42, 9, 8): {'comment': 'SET vendor',
+ 'description': 'GTE (2 23 42 9 8)',
+ 'hexoid': '06 04 67 2A 09 09',
+ 'name': 'GTE',
+ 'oid': (2, 23, 42, 9, 8)},
+ (2, 23, 42, 9, 9): {'comment': 'SET vendor',
+ 'description': 'CompuSource (2 23 42 9 9)',
+ 'hexoid': '06 04 67 2A 09 0A',
+ 'name': 'CompuSource',
+ 'oid': (2, 23, 42, 9, 9)},
+ (2, 23, 42, 9, 10): {'comment': 'SET vendor',
+ 'description': 'Griffin (2 23 42 9 10)',
+ 'hexoid': '06 04 67 2A 09 0B',
+ 'name': 'Griffin',
+ 'oid': (2, 23, 42, 9, 10)},
+ (2, 23, 42, 9, 11): {'comment': 'SET vendor',
+ 'description': 'Certicom (2 23 42 9 11)',
+ 'hexoid': '06 04 67 2A 09 0C',
+ 'name': 'Certicom',
+ 'oid': (2, 23, 42, 9, 11)},
+ (2, 23, 42, 9, 12): {'comment': 'SET vendor',
+ 'description': 'OSS (2 23 42 9 12)',
+ 'hexoid': '06 04 67 2A 09 0D',
+ 'name': 'OSS',
+ 'oid': (2, 23, 42, 9, 12)},
+ (2, 23, 42, 9, 13): {'comment': 'SET vendor',
+ 'description': 'TenthMountain (2 23 42 9 13)',
+ 'hexoid': '06 04 67 2A 09 0E',
+ 'name': 'TenthMountain',
+ 'oid': (2, 23, 42, 9, 13)},
+ (2, 23, 42, 9, 14): {'comment': 'SET vendor',
+ 'description': 'Antares (2 23 42 9 14)',
+ 'hexoid': '06 04 67 2A 09 0F',
+ 'name': 'Antares',
+ 'oid': (2, 23, 42, 9, 14)},
+ (2, 23, 42, 9, 15): {'comment': 'SET vendor',
+ 'description': 'ECC (2 23 42 9 15)',
+ 'hexoid': '06 04 67 2A 09 10',
+ 'name': 'ECC',
+ 'oid': (2, 23, 42, 9, 15)},
+ (2, 23, 42, 9, 16): {'comment': 'SET vendor',
+ 'description': 'Maithean (2 23 42 9 16)',
+ 'hexoid': '06 04 67 2A 09 11',
+ 'name': 'Maithean',
+ 'oid': (2, 23, 42, 9, 16)},
+ (2, 23, 42, 9, 17): {'comment': 'SET vendor',
+ 'description': 'Netscape (2 23 42 9 17)',
+ 'hexoid': '06 04 67 2A 09 12',
+ 'name': 'Netscape',
+ 'oid': (2, 23, 42, 9, 17)},
+ (2, 23, 42, 9, 18): {'comment': 'SET vendor',
+ 'description': 'Verisign (2 23 42 9 18)',
+ 'hexoid': '06 04 67 2A 09 13',
+ 'name': 'Verisign',
+ 'oid': (2, 23, 42, 9, 18)},
+ (2, 23, 42, 9, 19): {'comment': 'SET vendor',
+ 'description': 'BlueMoney (2 23 42 9 19)',
+ 'hexoid': '06 04 67 2A 09 14',
+ 'name': 'BlueMoney',
+ 'oid': (2, 23, 42, 9, 19)},
+ (2, 23, 42, 9, 20): {'comment': 'SET vendor',
+ 'description': 'Lacerte (2 23 42 9 20)',
+ 'hexoid': '06 04 67 2A 09 15',
+ 'name': 'Lacerte',
+ 'oid': (2, 23, 42, 9, 20)},
+ (2, 23, 42, 9, 21): {'comment': 'SET vendor',
+ 'description': 'Fujitsu (2 23 42 9 21)',
+ 'hexoid': '06 04 67 2A 09 16',
+ 'name': 'Fujitsu',
+ 'oid': (2, 23, 42, 9, 21)},
+ (2, 23, 42, 9, 22): {'comment': 'SET vendor',
+ 'description': 'eLab (2 23 42 9 22)',
+ 'hexoid': '06 04 67 2A 09 17',
+ 'name': 'eLab',
+ 'oid': (2, 23, 42, 9, 22)},
+ (2, 23, 42, 9, 23): {'comment': 'SET vendor',
+ 'description': 'Entrust (2 23 42 9 23)',
+ 'hexoid': '06 04 67 2A 09 18',
+ 'name': 'Entrust',
+ 'oid': (2, 23, 42, 9, 23)},
+ (2, 23, 42, 9, 24): {'comment': 'SET vendor',
+ 'description': 'VIAnet (2 23 42 9 24)',
+ 'hexoid': '06 04 67 2A 09 19',
+ 'name': 'VIAnet',
+ 'oid': (2, 23, 42, 9, 24)},
+ (2, 23, 42, 9, 25): {'comment': 'SET vendor',
+ 'description': 'III (2 23 42 9 25)',
+ 'hexoid': '06 04 67 2A 09 1A',
+ 'name': 'III',
+ 'oid': (2, 23, 42, 9, 25)},
+ (2, 23, 42, 9, 26): {'comment': 'SET vendor',
+ 'description': 'OpenMarket (2 23 42 9 26)',
+ 'hexoid': '06 04 67 2A 09 1B',
+ 'name': 'OpenMarket',
+ 'oid': (2, 23, 42, 9, 26)},
+ (2, 23, 42, 9, 27): {'comment': 'SET vendor',
+ 'description': 'Lexem (2 23 42 9 27)',
+ 'hexoid': '06 04 67 2A 09 1C',
+ 'name': 'Lexem',
+ 'oid': (2, 23, 42, 9, 27)},
+ (2, 23, 42, 9, 28): {'comment': 'SET vendor',
+ 'description': 'Intertrader (2 23 42 9 28)',
+ 'hexoid': '06 04 67 2A 09 1D',
+ 'name': 'Intertrader',
+ 'oid': (2, 23, 42, 9, 28)},
+ (2, 23, 42, 9, 29): {'comment': 'SET vendor',
+ 'description': 'Persimmon (2 23 42 9 29)',
+ 'hexoid': '06 04 67 2A 09 1E',
+ 'name': 'Persimmon',
+ 'oid': (2, 23, 42, 9, 29)},
+ (2, 23, 42, 9, 30): {'comment': 'SET vendor',
+ 'description': 'NABLE (2 23 42 9 30)',
+ 'hexoid': '06 04 67 2A 09 1F',
+ 'name': 'NABLE',
+ 'oid': (2, 23, 42, 9, 30)},
+ (2, 23, 42, 9, 31): {'comment': 'SET vendor',
+ 'description': 'espace-net (2 23 42 9 31)',
+ 'hexoid': '06 04 67 2A 09 20',
+ 'name': 'espace-net',
+ 'oid': (2, 23, 42, 9, 31)},
+ (2, 23, 42, 9, 32): {'comment': 'SET vendor',
+ 'description': 'Hitachi (2 23 42 9 32)',
+ 'hexoid': '06 04 67 2A 09 21',
+ 'name': 'Hitachi',
+ 'oid': (2, 23, 42, 9, 32)},
+ (2, 23, 42, 9, 33): {'comment': 'SET vendor',
+ 'description': 'Microsoft (2 23 42 9 33)',
+ 'hexoid': '06 04 67 2A 09 22',
+ 'name': 'Microsoft',
+ 'oid': (2, 23, 42, 9, 33)},
+ (2, 23, 42, 9, 34): {'comment': 'SET vendor',
+ 'description': 'NEC (2 23 42 9 34)',
+ 'hexoid': '06 04 67 2A 09 23',
+ 'name': 'NEC',
+ 'oid': (2, 23, 42, 9, 34)},
+ (2, 23, 42, 9, 35): {'comment': 'SET vendor',
+ 'description': 'Mitsubishi (2 23 42 9 35)',
+ 'hexoid': '06 04 67 2A 09 24',
+ 'name': 'Mitsubishi',
+ 'oid': (2, 23, 42, 9, 35)},
+ (2, 23, 42, 9, 36): {'comment': 'SET vendor',
+ 'description': 'NCR (2 23 42 9 36)',
+ 'hexoid': '06 04 67 2A 09 25',
+ 'name': 'NCR',
+ 'oid': (2, 23, 42, 9, 36)},
+ (2, 23, 42, 9, 37): {'comment': 'SET vendor',
+ 'description': 'e-COMM (2 23 42 9 37)',
+ 'hexoid': '06 04 67 2A 09 26',
+ 'name': 'e-COMM',
+ 'oid': (2, 23, 42, 9, 37)},
+ (2, 23, 42, 9, 38): {'comment': 'SET',
+ 'description': 'Gemplus (2 23 42 9 38)',
+ 'hexoid': '06 03 67 2A 0A',
+ 'name': 'Gemplus',
+ 'oid': (2, 23, 42, 9, 38)},
+ (2, 23, 42, 10): {'comment': 'SET national',
+ 'description': 'national (2 23 42 10)',
+ 'hexoid': '06 05 67 2A 0A E2 00',
+ 'name': 'national',
+ 'oid': (2, 23, 42, 10)},
+ (2, 23, 42, 10, 392): {'comment': 'SET. Deprecated, use (2 23 42 7 0) instead',
+ 'description': 'Japan (2 23 42 10 392)',
+ 'hexoid': '06 04 86 8D 6F 63',
+ 'name': 'Japan',
+ 'oid': (2, 23, 42, 10, 392)}}
diff --git a/pow/POW-0.7/lib/_simpledb.py b/pow/POW-0.7/lib/_simpledb.py
new file mode 100755
index 00000000..ed5d20fa
--- /dev/null
+++ b/pow/POW-0.7/lib/_simpledb.py
@@ -0,0 +1,55 @@
+#*****************************************************************************#
+#* *#
+#* 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:
+ 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
new file mode 100755
index 00000000..9d2b7ca5
--- /dev/null
+++ b/pow/POW-0.7/lib/pkix.py
@@ -0,0 +1,1685 @@
+#*****************************************************************************#
+#* *#
+#* 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, POW, _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
+
+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)
+
+class DirectoryString(Choice):
+ def __init__(self, optional=0, default=''):
+ choices = { 'teletexString' : T61String(),
+ 'printableString' : PrintableString(),
+ 'universalString' : UniversalString(),
+ 'bmpString' : BmpString(),
+ 'utf8String' : Utf8String() }
+
+ 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()
+
+ _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):
+ signatureMap = { POW.MD2_DIGEST : (1, 2, 840, 113549, 1, 1, 2), # md2WithRSAEncryption
+ POW.MD5_DIGEST : (1, 2, 840, 113549, 1, 1, 4), # md5WithRSAEncryption
+ POW.SHA_DIGEST : (1, 3, 14, 3, 2, 15), # shaWithRSAEncryption
+ POW.SHA1_DIGEST : (1, 2, 840, 113549, 1, 1, 5), # sha1withRSAEncryption
+ POW.RIPEMD160_DIGEST : (1, 2, 840, 113549, 1, 1, 6) } # ripemd160WithRSAEncryption
+
+ self.tbs.subjectPublicKeyInfo.set( (((1, 2, 840, 113549, 1, 1, 1), None), rsa.derWrite(POW.RSA_PUBLIC_KEY) ) )
+ self.tbs.signature.set( [signatureMap[digestType], None] )
+ digest = POW.Digest(digestType)
+ digest.update( self.tbs.toString() )
+ signedText = rsa.sign( digest.digest(), digestType )
+ self.signatureAlgorithm.set( [signatureMap[digestType], 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):
+ signatureMap = { (1, 2, 840, 113549, 1, 1, 2) : POW.MD2_DIGEST, # md2WithRSAEncryption
+ (1, 2, 840, 113549, 1, 1, 4) : POW.MD5_DIGEST, # md5WithRSAEncryption
+ (1, 3, 14, 3, 2, 15) : POW.SHA_DIGEST, # shaWithRSAEncryption
+ (1, 2, 840, 113549, 1, 1, 5) : POW.SHA1_DIGEST, # sha1withRSAEncryption
+ (1, 2, 840, 113549, 1, 1, 6) : POW.RIPEMD160_DIGEST } # ripemd160WithRSAEncryption
+
+ digestOid = self.signatureAlgorithm.get()[0]
+ digestType = signatureMap[digestOid]
+
+ digest = POW.Digest(digestType)
+ digest.update( self.tbs.toString() )
+ return rsa.verify( self.signatureValue.get(), digest.digest(), digestType )
+
+#---------- 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()
+
+ _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):
+ signatureMap = { POW.MD2_DIGEST : (1, 2, 840, 113549, 1, 1, 2), # md2WithRSAEncryption
+ POW.MD5_DIGEST : (1, 2, 840, 113549, 1, 1, 4), # md5WithRSAEncryption
+ POW.SHA_DIGEST : (1, 3, 14, 3, 2, 15), # shaWithRSAEncryption
+ POW.SHA1_DIGEST : (1, 2, 840, 113549, 1, 1, 5), # sha1withRSAEncryption
+ POW.RIPEMD160_DIGEST : (1, 2, 840, 113549, 1, 1, 6) } # ripemd160WithRSAEncryption
+
+ self.tbs.signature.set( [signatureMap[digestType], None] )
+ digest = POW.Digest(digestType)
+ digest.update( self.tbs.toString() )
+ signedText = rsa.sign( digest.digest(), digestType )
+ self.signatureAlgorithm.set( [signatureMap[digestType], 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):
+ signatureMap = { (1, 2, 840, 113549, 1, 1, 2) : POW.MD2_DIGEST, # md2WithRSAEncryption
+ (1, 2, 840, 113549, 1, 1, 4) : POW.MD5_DIGEST, # md5WithRSAEncryption
+ (1, 3, 14, 3, 2, 15) : POW.SHA_DIGEST, # shaWithRSAEncryption
+ (1, 2, 840, 113549, 1, 1, 5) : POW.SHA1_DIGEST, # sha1withRSAEncryption
+ (1, 2, 840, 113549, 1, 1, 6) : POW.RIPEMD160_DIGEST } # ripemd160WithRSAEncryption
+
+ digestOid = self.signatureAlgorithm.get()[0]
+ digestType = signatureMap[digestOid]
+
+ digest = POW.Digest(digestType)
+ digest.update( self.tbs.toString() )
+ return rsa.verify( self.signature.get(), digest.digest(), digestType )
+
+#---------- CRL ----------#
+#---------- 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 ----------#
+#---------- 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
+
+#---------- X509 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,
+ }
+# Missing -- fix later
+# extendedKeyUsage
+# privateKeyUsagePeriod
+# policyMappings
+# nameConstraints
+# policyConstraints
+# subjectDirectoryAttributes
+# authorityInfoAccess
+# instructionCode
+# issuingDistrobutionPoint
+
+ def __init__(self, optional=0, default=''):
+ self.extnID = Oid()
+ self.critical = Boolean(0, 'AQEA\n')
+ 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, 'unkown 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' % oid
+ else:
+ return (name, 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' % name
+ else:
+ return (oid, critical, ())
+
+ return (oid, critical, value)
+
+
diff --git a/pow/POW-0.7/setup.py b/pow/POW-0.7/setup.py
new file mode 100644
index 00000000..13fc34dd
--- /dev/null
+++ b/pow/POW-0.7/setup.py
@@ -0,0 +1,38 @@
+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')
+
+if sys.platform == 'win32':
+ library_dirs = [ os.path.join(sys.prefix, 'bin') ]
+ libraries = [ 'ssleay32', 'libeay32' ]
+else:
+ library_dirs = [ os.path.join(sys.prefix, 'lib') ]
+ libraries = [ 'ssl', 'crypto' ]
+
+include_dirs = [os.path.join(sys.prefix, 'include')]
+
+setup(name='POW',
+ version='0.7',
+ description='Python OpenSSL Wrappers',
+ author='Peter Shannon',
+ author_email='peter_shannon@yahoo.com',
+ licence='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 )
+ ])
+
+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
new file mode 100755
index 00000000..a2070df5
--- /dev/null
+++ b/pow/POW-0.7/test/test.py
@@ -0,0 +1,2128 @@
+#!/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 ---------------#
diff --git a/pow/README b/pow/README
new file mode 100644
index 00000000..f40f9b34
--- /dev/null
+++ b/pow/README
@@ -0,0 +1,22 @@
+$Id$
+
+This is a hacked version of the Python OpenSSL Wrappers (POW) package.
+At some point I'll package up the changes and send them to the package
+maintainer (if I can find him), but I want my changes under version
+control while I'm hacking.
+
+POW is a nice package, although it appears not to have gotten much
+attention recently. It's really two separate packages, one of which
+uses a few facilities from the other:
+
+- POW itself is a Python extension module linked against OpenSSL.
+ This (or some equivilent package like M2Crypto) is necessary if one
+ wants to use the various crypto algorithms.
+
+- POW.pkix is a pure-Python module that builds on the base POW module
+ to support X509v3 extensions. This, to me, is the most interesting
+ thing about POW: it's the only X.509 package for Python I've seen
+ that has a reasonably complete mapping of X.509v3 into native Python
+ datatypes (M2Crypto, by comparision, only supports the text
+ representations provided by the extension drivers in the OpenSSL
+ libraries -- POW supports those too, but they're not as useful).